非易失性内存标准(NVMe) 规范正在被重新制定。
在保证前几代产品能够向后兼容的同时,NVMe 2.0 能够在日益多样化的设备环境下进行更快、更简单的开发,甚至包括硬盘驱动器(HDD)。NVM Express总裁Amber Huffman 表示:重新构建 NVMe 就是为了应对未来存储的更高需求。NVMe还支持独立开发的命令集,例如分区命名空间 (ZNS) 和键值 (KV),并支持与NVMe和NVMe-of Is Ready to Go the Distance通用的各种底层传输协议。
NVMe从最初的工作组发展成为一个完善的组织机构,负责维护一个规范库,该规范库包含多个文档(例如基本规范、命令集、传输以及管理接口规范)。NVMe 设备生态系统涵盖了企业级和客户端固态硬盘 (SSD)、可移动存储卡、计算加速器和硬盘驱动器 (HDD)。
NVMe 2.0经过了多次更新后,ZNS 规范现可为分区存储设备提供接口,并通过将数据与SSD物理介质匹配,使SSD和主机能够协作放置数据。这有助于提高设备整体性能并降低成本,同时还增加了主机能搭载的存储容量。技术工作组(Technical Work Group)的主席Peter Onufry表示:随着新命令集的添加, NVM会需要不同类型的命名空间。NVMe 2.0中的ZNS功能则搭载了一个可支持多个命令集的架构。
三星电子最近推出了采用ZNS技术的新型企业级固态硬盘(SSD),该硬盘最大程度提升了用户容量,并延长了存储服务器、数据中心和云环境的使用寿命。由于 ZNS 允许根据数据的使用情况和访问频率对数据进行分组,并将它们按顺序存储在 SSD内的独立区域中,因此这样做可以降低驱动器的写入放大系数 (WAF)。据三星称,写入操作的次数越少,SSD的效率越高,使用寿命也越长(可比传统SSD长四倍),因此该SSD将成为服务器基础设施更可持续、更环保的选择。
图1: NVMe 2.0在简化基本规范的同时还剔除了一些功能,更为简洁和清晰。(图片来源:NVM Express)
NVMe 2.0 中的Endurance Group Management 功能可以进一步延长SSD的使用寿命。该功能通过公开SSD的存取粒度并对其加以控制,使媒体能够被配置到 Endurance Group 中。Onufry 表示:“Endurance Group Management 的作用是让您可以创建多个NVM池,然后从这些池中创建命名空间”。例如,NAND 存储块就可以放置在SLC(单层单元存储)或TCL(三层单元存储)模式中。
KV命令集是NVMe 2.0 的另一个重要功能,它在对NVMe SSD控制器上的数据进行访问时,使用的是密钥而不是块地址。这使应用能够使用键值对(KV pairs)直接与驱动器通信,并消除键和逻辑块之间不必要的转换表。
NVMe 2.0 通过功能升级、管理容量、以及其它增强功能(例如从驱动器中提取可靠信息)来支持HDD。Onufry 表示:“当我们创造 NVMe时,我们其实想要针对的是NVM。不仅仅是 NAND,我们从未想过人们会想要将硬盘与NVMe连接。”他说,随着SCSI(小型计算机系统接口)被 PCIe(总线和接口标准)或 NVMe取代,我们需要一种能够继续兼容硬盘驱动器的方法。
Huffman表示:“NVMe 2.0中这样那样的功能看起来非常繁杂,所以为了简单起见,我们对它的基本规范进行了重构,让它不至于变得太过于复杂,这样在进行修改时,我们就不用担心是否会影响到设备的其它部分。如果你关心的是KV或者Endurance Group,你也可以只选择与之相关的部分。”
图2: 三星电子最近推出了新的企业级 SSD,该SSD使用了 NVMe 2.0 规范中的 ZNS 功能。(图片来源:三星)
Huffman说,重构的一部分是去除传输和命令等元素。这说明 PCIe(周边设备高速连接标准)不再是唯一能搭载 TCP(传输控制协议)和 RDMA(远程直接数据存取)的传输方式。就像当初只有块命令集时,添加了KV的命令集也是如此。将这些规范抽取出来能够让用户构建他们想要的设备。与此同时,NVMe-oF于2016年5月被首次单独推出,现在它已成为了基本规范的一部分。
Onufry 表示,从基本规范中剔除不必要部分可以实现持续创新,并使构建设备的用户更专注于他们在意的功能,而不必担心对其他功能造成影响。他说,即使某一项功能没有完全实现,整个NVMe规范也不会被拖累。“我们正努力实现彻底的分区。”
(参考原文:NVMe Gets Refactored)
责编:Amy Guan
本文为《电子工程专辑》2021年8月刊杂志文章,版权所有,禁止转载。点击申请免费杂志订阅