NVMe是什么:NVMe是一种Host与SSD之间通讯的协议,它在协议栈中隶属高层。

NVMe制定了Host与SSD之间通讯的命令,以及命令如何执行的。

NVMe有两种命令,一种叫Admin Command,用以Host管理和控制SSD;另外一种就是I/O Command,用以Host和SSD之间数据的传输。下面是NVMe1.2支持的命令列表:

NVMe支持的Admin Command:

NVMe支持的I/O Command:

跟ATA spec中定义的命令相比,NVMe的命令个数少了很多,完全是为SSD量身定制的。大家现在别纠结于具体的命令,了解一下就好。

NVMe有三种队列命令:Submission Queue (SQ),Completion Queue(CQ)和Doorbell Register (DB)。 SQ和CQ位于Host的内存中,DB则位于SSD的控制器内部。如下图所示:

SQ位于Host内存中,Host要发送命令时,先把准备好的命令放在SQ中,然后通知SSD来取;CQ也是位于Host内存中,一个命令执行完成,成功或失败,SSD总会往CQ中写入命令完成状态。DB则是在Host发送命令时,不是直接往SSD中发送命令的,而是把命令准备好放在自己的内存中,Host就是通过写SSD端的DB寄存器来告知SSD命令已经处理完毕,可以前来检阅。流程如下图所示:

①Host写命令到SQ;

②Host写DB,通知SSD取指;

③SSD收到通知,于是从SQ中取指;

④SSD执行指令;

⑤指令执行完成,SSD往CQ中写指令执行结果;

⑥然后SSD发短信通知Host指令完成;

⑦收到短信,Host处理CQ,查看指令完成状态;

⑧Host处理完CQ中的指令执行结果通过DB回复SSD:指令执行结果已处理。

NVME协议解读(一)相关推荐

  1. NVME协议解读(四)

    NVMe详解(四) 5. NVMe协议定义的命令 5.0 命令执行过程 5.1 命令分类 5.2 命令通用格式 5.3Admin 指令 5.4 NVM指令 6 控制器结构 6.1 命令执行过程 6.2 ...

  2. NVME协议解读(三)

    NVMe协议详解(三) 4.内存数据结构 4.1 SQ与CQ的详细定义 4.1.1 空队列 4.1.2 满队列 4.1.3 队列性质 4.2 仲裁机制 4.2.1 RR 带有优先权的RR 4.2.3 ...

  3. 群联固态硬盘修复工具_固态硬盘掉速修复小教程,SATA和NVMe协议通用

    不做云评测,只聊真体验,大家好,我是肉包爸爸. 近日,被我拿来做高速移动硬盘的一块海力士PC401 1T固态硬盘出现严重掉速,格式化后故障依旧. 由于硬盘盒接口为USB3.1 Gen2,所以理论速度被 ...

  4. 3gpp协议_3GPP都在干什么(16)?:3GPP中网络切片原理及协议解读

    本文归属于<3GPP在干什么>系列.全文71页PPT.(此系列是春天工作室一大IP(品牌),主要是协议解读.标准化进展梳理,新技术跟踪等). 今年我们会投入较多的时间和精力,重点研究和跟踪 ...

  5. NVMe 协议详解(一)

    NVMe 协议详解 1. 综述 1.1名词解释 1.1.1 Namespace 1.1.2 Fused Operations 1.1.3 指令执行顺序 1.1.4 写单元的原子性 1.1.5 元数据 ...

  6. 【协议】NVMe over RoCE 初探 SATA接口(AHCI协议)、PCIe 接口(NVMe 协议)

    简略 详细 RDMA RDMA网络配置 硬/软件信息 RDMA驱动安装 验证RDMA连通性 NVMe Initiator 和 target 配置 target 端配置 initiator 端配置 配置 ...

  7. CANopen协议解读

    CANopen协议解读 一.协议标准 二.CANopen报文说明 三.CANopen协议内容 1. ID的理解 2. NMT (1) 节点状态 (2) 节点状态控制 (3) 节点心跳报文 一.协议标准 ...

  8. NVMe-MI协议解读

    众所周知,在一个存储系统中,将设备管理与业务分离是一个良好的设计,比如在Nvme协议中就有一个Admin命令集,与IO命令分开.为了能够更规范合理得对NVMe SSD进行管理,NVMe-MI协议应运而 ...

  9. 【协议】NVMe over RoCE 初探 SATA、PCIe 接口和AHCI、NVMe 协议

    原文:NVMe over RoCE 初探 - 知乎 常见的 SSD 主要分为 SATA和 PCIe 接口,其接口协议对应着 AHCI.NVMe 协议.相比于最原始的 ATA 协议,AHCI 有 2 个 ...

最新文章

  1. 在VS中用正则表达式查找或替换
  2. Face Model Compression by Distilling Knowledge from Neurons 论文理解
  3. 赚到!4个Python初学者必学的Numpy小技巧
  4. iOS项目预处理器环境变量设置
  5. RedHat系列软件管理(第二版) --源码包安装
  6. Synopsys Mentor Candence
  7. cad在哪里设置图幅大小_CAD新建图纸怎么设置视图范围太小?
  8. 老子【道德经】全文翻译(全81章)
  9. 植被物候参数遥感研究进展(好文分享)
  10. sumif单列求和_求和、单条件求和、多条件求和、隔列求和等实用技巧解读
  11. 计算机技能大赛备赛计划,技能大赛计划.doc
  12. python爬取qq音乐歌词风变编程_爬取QQ音乐歌词
  13. 脱颖而出:为您的独立游戏扩大客户群 游戏运营
  14. 中南大学青年志愿者协会电脑维修部
  15. LOL如何拯救小学生
  16. 【手把手】JavaWeb 入门级项目实战 -- 文章发布系统 (第六节)
  17. 【资讯】德勤在香港成立区块链实验室
  18. python应用程序无法正常启动0x00000ba_应用程序无法正常启动0xc000012d?怎么解决?...
  19. linux查询服务器cpu核数_查看linux服务器CPU数量
  20. 网易邮箱支持手机收发邮件的服务器,手机如何使用IMAP服务收发网易的邮件

热门文章

  1. 桁架工业机器人编程_工业机器人应用与编程
  2. 气体在线监测仪——排水管井内的有害气体监测
  3. BigDecimal加减乘(cheng)除BigDecimal[]数组比较大小
  4. 与兄弟连的不期而遇似早已缘定——是什么促使我来兄弟连
  5. 最长递增子序列(信封嵌套问题)
  6. 绝对路径,相对路径,和根路径
  7. iphone开发小记
  8. chrome 浏览器语言切换
  9. 约瑟夫环算法(JAVA)
  10. 计算机毕业论文人事管理系统,计算机人事管理系统毕业论文设计.doc