全文概览文章深入分析NVMe技术的发展现状、市场趋势以及未来规划。

首先,介绍自NVMe 2.0规范发布以来,企业级SSD出货量的增长情况,并预测了未来几年内不同接口类型的硬盘出货量变化。详细列出了消费级和企业级NVMe SSD的出货量数据,突显了NVMe技术在消费者和企业市场的普及与增长。概述NVMe技术标准更新历程,包括新批准的技术提案和已经标准化的规格,展示了NVMe生态系统不断演进的技术栈。还提到了NVMe技术在安全性、可扩展性、服务质量等方面的增强特性,以及对未来技术发展的展望,如支持新兴技术和提高系统可靠性

企业级固态硬盘(SSD)容量出货情况从2020年到2027年,企业级SSD的出货容量整体呈上升趋势。其中:

SAS接口的出货量则较少,且相对平稳,显示出较为稳定的需求PCIe/NVMe接口的出货量逐步上升,预计到2027年将占据较大的市场份额SATA接口的出货量逐渐减少左侧的图表中,显示了按容量出货的PCIe SSD,其中OEM(原始设备制造商)和Channel(渠道)出货量分别用不同的蓝色条形图表示。可以看出,从2021年到2028年,出货量呈逐年上升趋势,尤其是在2027年和2028年,出货量出现显著增长。

右侧的图表中,展示了按单位数出货的PCIe SSD,同样分为OEM和Channel的出货量。左侧和右侧的趋势相似,显示出PCIe SSD在未来几年内,尤其到2027年和2028年,预计出货量将大幅增加。

区分 NVMe 和 PCIe

理解NVMe协议:

NVMe(Non-Volatile Memory Express)是一种高性能、高带宽、低延迟的存储协议,专门为固态硬盘(SSD)设计,特别是在使用基于非易失性存储器(如NAND闪存)作为存储介质的情况下。它是通过与主机和存储设备之间的连接接口来优化数据传输,以最大化现代存储介质的性能。

NVMe协议的关键优势是其低延迟和高带宽,因为它能够减少存储设备与计算机之间的通信瓶颈,从而为存储设备提供更快速的数据访问。这使得它比传统的SATA和SAS协议更适用于高性能计算(HPC)、云计算、大数据分析等要求高速存储的应用场景。

NVMe的发展基础:

NVMe协议的诞生,源自于对更高效、低延迟存储协议的需求。传统的硬盘驱动器(HDD)使用SATA(Serial ATA)和SAS(Serial Attached SCSI)接口,这些接口设计主要是为了机械硬盘(HDD)设计的,并不能充分利用固态硬盘(SSD)的速度优势。SSD相比HDD提供了更快的存取速度,因此需要一种新的协议来打破存储性能的瓶颈。

NVMe协议是为了充分发挥闪存(如NAND)性能而设计的,它直接利用了现代计算机主板上提供的PCI Express(PCIe)接口。PCIe本身提供了高速的数据通道,可以直接与主板的CPU进行通信,从而避免了传统接口的延迟。

NVMe与PCIe的关系:

NVMe协议和PCIe之间的关系密切。PCIe(Peripheral Component Interconnect Express)是计算机主板上常用的高速连接接口,它用于连接各种硬件设备,包括显卡、网络卡、存储控制器等。PCIe提供高速的数据传输通道,具有极低的延迟,是现代计算机存储设备的理想连接方式。

NVMe协议正是为了充分利用PCIe的高带宽和低延迟特性而开发的。换句话说,NVMe是一种存储协议,专门为通过PCIe接口连接的SSD设计。与传统的SATA或SAS相比,NVMe使用PCIe接口的优势,能够大幅提升数据传输速度,并且具有更高的并发性。

NVMe+PCIe:

性能和延迟:

PCIe提供了高速的数据传输通道,而NVMe协议则通过优化存储设备的操作,使得固态硬盘能够充分利用PCIe接口的优势,实现更低的延迟和更高的吞吐量。因此,当谈到高性能存储时,NVMe和PCIe是同时出现的。NVMe依赖于PCIe:

NVMe协议是专门为PCIe设计的存储协议,它利用了PCIe接口的并行性和带宽,使得数据在存储设备和主机之间传输时效率更高。这意味着,NVMe SSD通常需要PCIe插槽才能正常工作。广泛的应用:

随着技术的发展,NVMe协议逐渐成为高性能存储的主流标准,而PCIe接口广泛应用于各种现代计算机和服务器中。两者结合,为存储设备提供了无与伦比的速度和效率。图表列出了NVMe的最新规范,并将它们划分为四个主要类别。每个类别下有不同的规范,其中有三项是新发布的规范,另外八项则是已经更新的版本。这些规范涉及基础规范、命令集规范、传输规范以及其他相关规范,分别对应不同的技术需求和应用场景。

NVMe的不同规范,分为四个主要部分:

Base Specification(基础规范)NVMe Base Specification 2.1(新规范)Command Set Specifications(命令集规范)NVMe NVM Command Set Specification 1.1(更新规范)NVMe Zoned Namespace Command Set Specification 1.2(更新规范)NVMe Key Value Command Set Specification 1.1(更新规范)Subsystem Local Memory Command Set Specification 1.0(新规范)Computational Programs Command Set Specification 1.0(新规范)Transport Specifications(传输规范)NVMe over PCIe Transport Specification 1.1(更新规范)NVMe over RDMA Transport Specification 1.1(更新规范)NVMe over TCP Transport Specification 1.1(更新规范)Other Specifications(其他规范)NVMe Management Interface Specification 2.0(更新规范)NVMe Boot Specification 1.1(新规范)图表详细列出了NVMe规范中新添加的特性和增强功能,包括网络优化、安全性提升、数据迁移支持、新兴技术和管理功能。

主要的增强内容涉及到如计算存储、灵活的数据放置、基于密钥的输入输出控制、以及支持更高版本TLS 1.3的安全协议增强等。这些新特性和增强使NVMe的使用场景更加广泛,并提高了其在数据管理、虚拟化和存储方面的能力。

NVMe Boot 规范新 NVMe Express Boot 规范该规范定义了从NVMe技术启动的结构和指南。尽管规范涵盖了所有传输方式,但当前的规范仅描述了适用于NVMe/TCP技术的机制。近期增强功能标准化了在NBFT(网络启动固件表)中显示的UUID格式。增加了对IPv4/IPv6 DHCP标识符的支持。改进了常见子系统连接失败的错误代码。图示:

图示展示了 NVMe-oF 主机和设备的结构。在主机端,包含了操作系统(OS)、引导加载程序(Bootloader)、启动软件(Boot SW)、NBFT以及适配器(Adapter);在设备端,展示了命名空间(Namespace)、块I/O(Block I/O)以及适配器(Adapter)。

新增特性NVMe-oF™ 自动发现通过允许主机定位NVMe®/TCP发现控制器,简化了主机的配置过程。集中式发现控制器使得发现信息可以从单一的发现服务中整合并提取。集中式发现控制器(CDC)一种发现控制器,报告由直接发现控制器和主机注册的发现信息。直接发现控制器(DDC)一种能够或用于将发现信息注册到CDC的发现控制器。Fabric Zoning(网络区域化)ZoneGroup 是由CDC强制执行的一组访问控制规则。同一Zone内的成员可以相互通信。直接发现控制器可能通过推送或拉取注册方式将Fabric Zoning配置信息提供给CDC。图示: 图示展示了ZoneDB,包括ZoneDBConfig和ZoneDBActive。每个ZoneDB中包含多个ZoneGroup(如ZoneGroup#1,ZoneGroup#2等)。

实时迁移功能提供的构建模块:提供了一些构建模块,使得系统能够实现将主机从一个NVMe子系统迁移到另一个NVMe子系统的能力。迁移步骤:

Pre-Copy Phase(预复制阶段)主机操作:请求控制器跟踪已附加命名空间的LBA(逻辑块地址)变化(脏LBA)。迁移已附加命名空间的分配LBA。迁移脏LBA。Stop-and-Copy Phase(暂停并复制阶段)主机操作:请求控制器暂停,导致所有命令完成。迁移任何剩余的脏LBA。Post-Copy Phase(后复制阶段)主机操作:迁移控制器状态。恢复迁移后的控制器。Note

关于数据实时迁移的场景需求和问题意识,Samsung 在其 SSD产品技术报道中曾有过介绍,详见:Samsung:支持在线迁移的SSD

资源弹性管理定义一个标准框架:用于动态构建、配置和提供从“基础”NVMe子系统中导出的NVMe子系统,基础NVMe子系统包括了底层物理资源。新管理命令:创建和管理导出的NVMe子系统。管理导出的命名空间(Exported Namespaces)。管理导出的端口(Exported Ports)。管理主机访问:使用“允许主机列表(Allowed Host List)”来管理主机对导出NVMe子系统的访问权限。图示: 图示展示了底层NVMe子系统和导出NVMe子系统的关系。每个导出NVMe子系统通过端口和命名空间进行连接,允许通过物理资源(例如命名空间)对底层子系统进行管理和访问。

Note

不专业的理解,该框架能够实现子系统类似API接口的快速挂载,从而能将资源灵活分配给有需要的子系统。

NVMe 协议功能路线图图清晰地展示了NVMe协议在未来几年的发展规划。它列出了各个功能的时间节点,包括已经认证的功能、计划中的功能以及正在发展的新规范。随着时间的推移,NVMe协议将持续改进,新增支持CXL、量子安全、QoS等功能,以适应不断增长的技术需求。

小结NVMe技术的采用:

NVMe技术的采用持续增长,并成功地在客户端、云计算、人工智能(AI)和企业存储领域统一了一个共同的架构。系统使用NVMe架构:

系统正在构建,使用NVMe架构作为底层存储技术。相关应用包括:手机、平板电脑、笔记本、台式机、存储阵列、数据中心、汽车等。NVMe技术社区:

一个专门的NVMe技术社区在维护现有规范的同时,开发新的创新:75个新的技术提案已授权80个技术提案已批准22个批准的ECN(工程变更通知)NVMe的起源与发展:

NVMe最初作为简短而简单的PCIe SSD规范开始,并已经发展成支持所有主要传输、多个命令集的近十个规范,标准化了存储的许多方面:技术提案在批准时公开。规范更新只是将自上次规范更新以来批准的技术提案进行汇总。