一文读懂NVMe、NVMe-OF和NVMe over RDMA,别傻傻分不清楚

一文读懂NVMe、NVMe-OF和NVMe over RDMA,别傻傻分不清楚

在现代数据中心和高性能计算领域,存储技术的发展迅速,几项与存储相关的技术也随之成为热点话题,其中包括NVMe、NVMe-oF(NVMe over Fabrics)和RDMA(Remote Direct Memory Access)。并且你是否会经常会听到“NVMe”、“NVMe-OF”、“NVMe over RDMA”、NVMe over Fabric等这些术语傻傻分不清呢?今天就来简单梳理一下。

什么是NVMe?NVMe,全称“Non-Volatile Memory Express”,是一种专为基于闪存的固态硬盘(SSD)设计的高速存储协议。相对于传统的SATA接口,NVMe直接连接到CPU的PCIe通道,极大地提高了数据传输速度和降低了延迟。

这个解释非常的官方,其实NVMe不仅仅代指是一个协议,它是一个标准、一个接口、一个协议、一个规格、一个硬盘类型。

早在2009年Intel开始着手寻找传统SATA的替代方案。因为SATA作为串行接口,采用AHCI规范,其已经成为制约SSD速度的瓶颈。

NVMe标准相比于SATA有不少优势:

特性SATA(AHCI)NVMe命令队列单一命令队列,32个命令深度最多64,000个队列,每个队列64,000条命令通信延迟每条命令读取寄存器4次,总计约8000个CPU循环,约2.5微秒延迟精简调用方式,不需频繁寄存器操作,延迟为AHCI的一半或更低数据传输接口SATA III(最高6Gbps)原生PCIe(如PCIe 3.0 x4,PCIe 4.0 x4等),带宽更高多核处理支持对多核处理支持有限可同时从多核处理器接受命令和优先处理请求功耗管理基本功耗管理自动功耗状态切换和动态能耗管理,更高效的闲置功耗控制并行处理能力处理能力较低大幅提升的并行处理能力适用场景传统存储需求和少数高性能计算应用高性能计算、数据中心、企业级和重负载应用NVMe标准由NVM Express, Inc.(https:///)组织负责开发和推广。NVM Express, Inc.主要致力于推动和发展NVMe(Non-Volatile Memory Express)标准及其生态系统。目前NVMe的主要标准有这么几个:

NVMe Base Specification:定义一个基础标准化的协议,用于主机软件(比如操作系统)与各种非易失性内存子系统(如SSD等)进行交互。这些传输方式包括通过内存和消息来进行数据交换。NVMe-MI Specification:一个可选的管理接口规范,这个接口可以用于对NVMe子系统进行额外的管理和控制,比如设备监控、日志记录等功能。NVMe I/O Command Set Specification:扩展了基本规范,例如特定的命令、状态代码和数据结构,这些扩展在基础协议之上增加了功能,使之更加完善和具体。NVMe Transport Specification:定义了如何将基础协议应用于不同的传输介质(如PCIe、CXL、RDMA等)。这是数据中心技术NVMe关于网络性能优化经常讨论和提及的技术,所以NVMe-OF,NVMe Over RDMA等等都是指的传输层Transport这一层的技术。NVMe SSD: 本地存储NVMe 作为一种本地存储接口,通过利用PCIe总线实现高性能、高并发的闪存存储。但是本地 NVMe SSD 通常限于一个单独的服务器或计算节点。而且使用PCIe因为BDF的限制,最多也就支持255个设备。

随着数据存储需求的增加,单一服务器的存储容量和处理能力在面对未来海量数据存储的业务是明显满足不了要求的。所以向SAN网络发展是必然。

不过回过来想想PCIe何尝不是一种网络呢?PCIe有EndPoint、有PCIe Switch从微观上来讲也是计算机内部的互联网络。也应该有种叫法是NVMe Over PCIe!

感兴趣参考:PCIe:架构

NVMe-oF:远端存储NVMe-OF,即“NVMe over Fabrics”,是对NVMe协议的扩展,它目的是将NVMe的优势扩展到远程存储系统。它允许通过网络来访问NVMe存储设备,使得高速存储可以被远程系统所使用。Fabric代表一种通用网络,既然提到网络了,那网络传输通信协议又分为很多种:

1. NVMe over Fibre Channel (FC-NVMe)Fibre Channel (FC): 使用传统的FC进行数据传输。FC-NVMe 继承了 FC网络的高可靠性、低延迟和高带宽特性,适用于已有FC存储区域网络(SAN)的企业,可以无缝升级到 NVMe 技术。2. NVMe over RDMA (Remote Direct Memory Access)RDMA 技术允许计算机通过网络直接访问远程计算机的内存,减少了数据传输所需的 CPU 参与,从而实现极低延迟和高带宽传输。RDMA也是一种技术代名词,它具体的实现协议又可以分为:

InfiniBand (IB): 这是高性能计算(HPC)中常用的一种 RDMA 网络协议,凭借其极低的延迟和高带宽特点,广泛应用于需要高效数据传输的计算环境。

RDMA over Converged Ethernet (RoCE): RoCE 是一种在标准以太网上实现 RDMA 技术的协议。它分为两个版本:

RoCE v1: 需要对网络进行专门配置以支持 RDMA,通常用于受控的数据中心环境。RoCE v2: 通过标准的 IP 路由技术,使得 RDMA 技术可以在更为广泛的以太网环境中使用。iWARP (Internet Wide Area RDMA Protocol): iWARP 是另一种基于 TCP 的 RDMA 协议,可以在广域网环境中使用,支持长距离传输。其优势在于能够在现有的 TCP/IP 网络基础设施上部署,无需额外的配置和硬件。详情参考:RDMA(1)概述:三分天下还是独领风骚?

所以当我们看到有些说法比如:NVME Over RoCE,NVMe Over iWARP这NVME支持RDMA的说法也就不奇怪了。

3. NVMe over TCPTCP (Transmission Control Protocol): NVMe over TCP 是直接在传统的 TCP/IP 网络上运行 NVMe 协议。虽然在性能和延迟上可能不如 RDMA,但其优点在于广泛的兼容性和灵活的部署方式,适用于希望利用现有网络基础设施实现快速存储访问的应用场景。4. 其他新兴协议(未来可能支持)NVMe-oF 的标准和实现还在不断发展中,未来可能还会支持更多新兴的网络通信协议,以进一步增强其灵活性和性能。比如现在也比较热的CXL作为NVMe的传输协议。

关于每种NVMe Over的传输协议都有对于的Spec介绍,感兴趣可以了解一下https:///specifications/

NVMe的出现为存储技术带来了革命性的变化。凭借其高速传输、低延迟和高并行性的优势,NVMe SSD不仅提高了个人计算机的性能,也在数据中心和企业应用中发挥了重要作用。固态硬盘的大潮已至,NVMe作为其中的佼佼者,正不断刷新我们对数据存储速度的认知。

相关文章

beat365倍率 华为nova5pro能续航多久?华为nova5 Pro 续航实测
beat365倍率 E4A(易安卓)学习——第一个APP

E4A(易安卓)学习——第一个APP

🗓️ 10-09 👁️ 510
beat365倍率 为国军退出武汉告全国国民书中华文库
365500 寻宝者的战果:破碎海滩虫语者宝箱刷新点的详解
365bet亚洲真人 自制减肥酵素的做法与步骤

自制减肥酵素的做法与步骤

🗓️ 09-03 👁️ 519
beat365倍率 巴西队遭重创!主力前锋受伤,赛后落泪,伤病对比:世界杯悬了