NVMe协议官网

发展历程

最初的NVMe是为了替代AHCI

由下图可看出,2.0协议是对于原有协议进行拆分、合并,如NVMeoF被拆解到了两部分(绿色块),还增加了许多新的指令集(灰色部分)

最终的2.0b版本协议整体架构如下

架构图


0. NVMe 2.0 b标准 base

参考

2022年1月发布的最新的 NVMe 2.0 b 协议标准

定义了寄存器级别的主机软件与NVM子系统之间交换信息的接口,是2.0协议的核心

定义了(admin)管理指令集

其余为附加标准,包括

1. NVMe Command Set Specifications

2.0之前都是混在一起的指令集,其中包括IO命令、IO控制器应达到的标准以及admin命令实现起来的表现形式

Admin Command:Host管理和控制SSD
I/O Command:Host和SSD之间数据的传输

现在为了适配于不同的设备而将命令集分割开来,其中admin的命令集有一部分去了base标准,另一部分在各自的指令集里面。

这些指令集包括

(1 NVM Command Set specification (1.0 b)

定义了适用于块设备(主要是PCIe)的IO 命令集

(2 Zoned Namespaces (ZNS) Command Set specification (1.1 b)

适用于ZNS设备,基于ZNS标准做的命令集。

ZNS设备会划分为一个个只能顺序写入的Zone,这些Zone会在7种状态之间切换

(3 Key Value Command Set specification (1.1 b)

适用于KV设备的指令集

键值存储存储非结构化的数据,使用而非块地址访问NVMe SSD上的数据

2.NVMe Transport Specifications

传输层的协议,以前NVMe是针对于PCIe传输层设计的,现在扩展了并融合了NVMeoF,分为3类:

(1 NVMe over PCIe Transport Specification 1.0b

这基本就是原来的PCIe传输协议


(2 NVM Express RDMA Transport Specification 1.0a

指定了光纤上远端内存访问的标准,无需OS、CPU参与

(3 NVM Express TCP Transport Specification 1.0b

这个传输协议使得NVM设备数据能够包在TCP报文里,像电脑上普通应用的数据一样在现有的网络中传输

传输的基本单元是NVMe/TCP PDUs(NVMe/TCP Protocol Data Units )

一个TCP报文可以装多个PDU,也可以装一个PDU的一部分

3.NVMe-MI Specification

目前为NVMe-MI 1.2b
NVMe MI是什么

协议中一些概念的理解

域 (NameSpace)

NameSpace是什么
个人理解就是对于设备的一种上层抽象,可以方便地分割设备,为上层提供单个设备的多种访问方式

NVM子系统

NVMe传输模型

基于消息or基于内存

NVMe控制器

2.0协议的一些特点

可以在设备上使用多个指令集,比如一个SSD,在划分好NameSpace后,可以同时用作为PCIe、ZNS以KV存储设备访问

其它参考资料

理解NVMe2.0

SSDFANs的NVMe解读 以及 NVMe SSD测试

简单说说NVMe 2.0协议相关推荐

  1. OpenID Connect:OAuth 2.0协议之上的简单身份层

    OpenID Connect是什么?OpenID Connect(目前版本是1.0)是OAuth 2.0协议(可参考本人此篇:OAuth 2.0 / RCF6749 协议解读)之上的简单身份层,用 A ...

  2. [元带你学NVMe协议] NVME 2.0 新技术解决了什么痛点? 会带来哪些变革?

    声明 主页:元存储的博客_CSDN博客 依公开知识及经验整理,如有误请留言. 个人辛苦整理,付费内容,禁止转载. 文章目录 前言 1. 为什么需要 NVME 2.0? 2. NVME 应用领域 2.1 ...

  3. Oauth2.0协议 http://www.php20.com/forum.php?mod=viewthreadtid=28 (出处: 码农之家)

    概要      OAuth2.0是OAuth协议的下一版本,但不向后兼容OAuth 1.0即完全废止了OAuth1.0. OAuth 2.0关注客户端开发者的简易性.要么通过组织在资源拥有者和HTTP ...

  4. 互联网API开放平台安全设计-基于OAuth2.0协议方式

    基于OAuth2.0协议方式 什么是OAuth OAuth: OAuth(开放授权)是一个开放标准,允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方网站 ...

  5. oauth2.0协议流程_正确的工作流程:我应该使用哪个OAuth 2.0流程?

    oauth2.0协议流程 什么是OAuth 2.0 OAuth 2.0是一个已被广泛采用的委托授权框架,已经存在了很多年,并且似乎已经存在. 如果您不熟悉OAuth 2.0的基本概念,可以使用 川崎孝 ...

  6. 深入理解OAuth2.0协议

    1. 引言 如果你开车去酒店赴宴,你经常会苦于找不到停车位而耽误很多时间.是否有好办法可以避免这个问题呢?有的,听说有一些豪车的车主就不担心这个问题.豪车一般配备两种钥匙:主钥匙和泊车钥匙.当你到酒店 ...

  7. 最近在学OAuth2.0协议,给大家分享一下

    1. 引言 如果你开车去酒店赴宴,你经常会苦于找不到停车位而耽误很多时间.是否有好办法可以避免这个问题呢?有的,听说有一些豪车的车主就不担心这个问题.豪车一般配备两种钥匙:主钥匙和泊车钥匙.当你到酒店 ...

  8. OpenFlow1.0协议解析

    *注:此笔记为在学习OpenFlow协议时的个人总结,如需转载麻烦表明出处,并附上连接(http://blog.csdn.net/sherkyoung/article/details/39159601 ...

  9. Zynq7000 USB2.0协议解析及USB控制器详解

    USB 2.0规范及控制器 文章目录 USB 2.0规范及控制器 USB2.0 Univerasl Serial Bus USB Host USB总线 接口标准 总线信号 USB拓扑结构 数据流模型 ...

最新文章

  1. 微软免费图书《Introducing Microsoft LINQ》翻译Chapter2.1:C# 3.0 特性(对象初始化表达式\匿名类型\查询表达式)...
  2. 执行上下文(Exection Contexts)
  3. python display update用不了能用filp_疯狂的Pygame——使用python写游戏(yuyu版)——基础讲解部分——第一章...
  4. apt-mirror is already running(已运行)错误解决方案
  5. linux 内网怎么安装git环境_linux 安装go环境
  6. 模拟退火法-TSP问题
  7. java工作笔记020---Java中的关键字 transient
  8. 大数据预测分析是否对企业有影响
  9. JAVA 阶乘 n!
  10. H3C AC:短信认证配置
  11. java broken pipe_java Broken pipe 几种原因
  12. 5G 理论峰值速率是怎么计算的?
  13. noi题库c语言 1.5答案,NOIP2004提高组复赛试题答案c语言版
  14. 海信A5 pro 测评
  15. 计算机二级操作题相关笔记
  16. 【教程】笔记本装Win10+Deepin双系统|详细
  17. 自举电路工作原理和自举电阻和电容的选取
  18. 东北林业大学计算机科学与技术考研,2021年东北林业大学计算机科学与技术(081200)硕士研究生招生信息_考研招生计划和招生人数 - 学途吧...
  19. 双对数坐标系与双y轴坐标系下绘图
  20. union翻译成中文_union什么意思(union翻译成中文)

热门文章

  1. 西安电子科技大学李锦峰教授 计算机,李锦峰医生预约挂号-出诊时间-西安交通大学口腔医院(西安交大口腔医院)口腔颌面外科 - 名医汇...
  2. AVB源码学习(三):AVB2.0 Init阶段安全启动流程
  3. 现代通信原理6.2:单边带(SSB)调制
  4. LoRa模块网络组成和架构原理是怎样的?
  5. 前端基础入门学习线路之CSS渐变色效果的实现方法
  6. 也说说家养猿类养成套路
  7. 内地网络概念股席卷香江
  8. React 入门:JSX
  9. Android 本地网络小说爬虫,基于 jsoup 及 xpath,都是精髓
  10. 前端JS常用工具方法