NVM Express® (NVMe®) 接口允许主机软件与非易失性内存子系统进行通信。它定义了协议并提高了 PCIe NVMe SSD 的性能。
2021 年 6 月, NVMe 2.0发布,标准化一些额外的功能和改进,特别是对于数据中心。但最显着的变化是“重构”,NVM Express对原有的NVMe1.4、NVMe-MI和NVMe-oF进行了重构,使最新的NVMe规范更具可扩展性和可扩展性。
NVMe 2.0重构
最新 NVMe 重构的规模是该版本编号为 2.0 而不是 1.5 的原因。 NVMe 2.0 中包含的重构可以更快、更简单地开发 NVMe 解决方案,以支持日益多样化的 NVMe 设备环境。
以前的版本包括 NVMe 1.4 基本规范、NVMe-MI 和 NVMe-Of 规范。然而,最新的NVMe 2.0规范库包含四组规范,总共八个文档:
1. NVMe基础规范
• NVMe 基础规范
2. 每个命令集单独的规范
• NVM 命令集规范
• 分区命名空间命令集规范
• 键值命令集规范
3. 模块化传输映射层
• PCIe 传输规范
• RDMA 传输规范
• TCP 传输规范
4.NVMe管理接口
• NVMe-MI
NVMe 2.0 中的重构包括集成 NVMe 和 NVMe over Fabrics (NVMe-oF) 规范,以及为每个命令集和每个传输映射层创建单独的规范。例如,PCIe 已分解为一种传输规范。
NVMe 2.0 的主要功能
除了重构和发布以前规范中隐藏的技术提案外,NVMe 2.0 系列规范还包括四个关键功能。
分区命名空间 (ZNS)
此功能提供了允许 NVMe SSD 和主机协作进行数据放置的接口。它可以将数据与SSD的物理介质对齐,从而提高整体性能并增加可以暴露给主机的容量。更重要的是,ZNS 显着改善了写放大。也就是说,使用ZNS可以延长NVMe SSD的使用寿命。
分区命名空间命令集规范定义了 ZNS SSD 的操作方式。 ZNS SSD 的三个重要运行特性是:
1. 分区命名空间被划分为一组大小相等的区域,这些区域是连续的、不重叠的逻辑块地址范围。
2. 区域内的写入必须是连续的,并且从“写入指针”的位置开始。
3. 每个区域必须先擦除后才能重写。
键值命令集
2000年代末后非结构化数据的爆发推动了非关系数据库的发展。键值数据库是一种非关系型数据库,使用简单的键值方法来存储数据。键和值都可以是任何东西。这种类型的数据库是高度分布式的,并且允许水平扩展,其规模是其他类型的数据库无法实现的。然而,在键值数据库中可能需要将数据组织成日志结构合并树(LSMT)。除了原始数据写入之外,此操作还涉及更多的写入周期,并导致 SSD 的使用寿命缩短。
NVMe-KV就是为了解决这个问题而开发的。它允许使用密钥而不是逻辑块地址访问 NVMe SSD 命名空间上的数据。 NVMe-KV 命令集提供了在非易失性介质上存储相应值的密钥,然后通过指定相应的密钥从介质中检索该值。通过遵循 SNIA 定义的 NVMe-KV 命令集和键值存储 API 规范,KV SSD 允许用户访问键值数据,而无需在键和逻辑块之间添加昂贵且耗时的额外转换表 [4] 。
NVMe 耐力组管理
NVMe 耐力组管理允许将介质配置为耐力组和 NVM 集。这可以实现对 SSD 的访问粒度并改进控制。
Endurance Group 和 NVM 集首次在 NVMe 1.4 中引入,但客户配置它们的能力有限。配置要么需要在驱动器的固件中进行硬编码,要么使用供应商特定的命令进行处理。 NVMe 2.0为用户提供了分配Endurance Group和NVM集的机制。有了更多的可配置参数,NVM子系统可以更加灵活地隔离不同用户在共享驱动器或阵列上的I/O性能影响和磨损均衡操作。
下图显示了 NVMe 存储实体层次结构:
1. NVM子系统包含域
2. 域包含耐力组
3. 耐力组包含 NVM 组
4. NVM集包含命名空间
5. 命名空间包含逻辑块数组
NVMe 2.0 现在支持 HDD(旋转介质)
尽管SATA规范已经12年没有更新,但硬盘仍然无法接近SATA接口的理论带宽(600MB/s)。因此,我们预计 NVMe 2.0 的旋转介质支持不会为 HDD 的性能带来立竿见影的好处。 NVMe 支持旋转介质的关键原因是提高整体系统的可组合性。高度可组合的系统提供可以选择并以各种组合方式组装的组件,以满足特定的用户需求。此功能将使数据中心和企业环境受益。
NVMe 2.0较1.4有显着改进
从NVMe 2.0的新特性来看,很明显NVMe现在正在关注企业和数据中心的需求。结果一点也不令人意外。正如 IDC 研究副总裁 Jeff Janukowicz 所言:“NVMe 技术是 SSD 的领先接口,预计到 2024 年,全球企业级 SSD 总体容量将以 43% 的复合年增长率增长。NVMe 架构专为未来 SSD 发展而设计,随着我们进入推动数字化转型的超大规模和企业计算的新时代。”
本文使用的资源:
1、图1、2、6: NVM快递
2、图3: 区域存储
3、图4: 东北大学工程学院
4 图。 5: NVM快递