NVMe 2.0 SSD 的主要功能

分区名称空间、关键值、Endurance 组管理

作者 | 2021 年 8 月 9 日 | 全部, 企业

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快递

 

 

 

常见问题 (FAQ):

NVMe 2.0 与 NVMe 1.4 有何不同?

NVMe 2.0 引入了模块化重构,将命令集和传输层分离,从而更易于集成和扩展。它还带来了关键的企业级功能,例如分区命名空间支持、键值存储和动态 Endurance Group 配置。, 提供更好的资源隔离和系统可组合性。

区域命名空间 (ZNS) 如何提高 SSD 性能和耐用性?

ZNS 将数据与物理介质布局对齐,最大限度地减少写入放大。数据必须在区域内按顺序写入,并且区域在重复使用前必须擦除。, 减少内部开销、提高性能并显著延长驱动器寿命,使其成为写入密集型工作负载的理想选择。

为什么键值 (KV) 存储与 NVMe 2.0 相关?

KV 存储支持基于键的直接访问,无需传统的块地址转换,解决了非结构化数据处理效率低下的问题。这对于 NoSQL 数据库以及性能和 SSD 寿命至关重要的大规模、低延迟环境尤其有利。

Endurance Group Management 提供了哪些 NVMe 1.4 所没有的功能?

尽管 NVMe 1.4引入了配置的概念 依赖于供应商. NVMe 2.0 对其进行了标准化,允许用户动态创建和管理耐久性组和 NVM 集。这增强了多租户 SSD 的性能、磨损隔离以及在不同工作负载下的驱动器使用寿命。

NVMe 2.0 如何与 AI 和机器学习工作负载保持一致?

NVMe 2.0 支持细粒度存储控制、低延迟访问(通过 KV)和优化的耐久性, 所有这些对于产生高吞吐量、混合读/写工作负载的AI/ML环境都至关重要。分区存储和直接密钥访问还可以简化数据预处理流程。

加速创新的基础™

zh_CN简体中文