存储协议走向NVMe

时间:2022-10-02 10:22:22

存储协议走向NVMe

NVMe(Non-Volatile Memory Express)是一个专门针对闪存等固态存储介质及PCIe特性而制定的一个非易失性存储器接口标准,最早的标准于2011年。具体的协议规范内容制定与完善由NVMe工作组主导,思科, 戴尔、EMC、HGST、英特尔、美光、微软、NetApp、Oracle、Microsemi、三星、闪迪、希捷是该工作组的13个主要成员。

数据经济发展让越来越多的企业开始重视从各类数据中挖掘价值。这样一个大的商业环境推动并加快了存储介质的演进,而每一代主流存储介质又与其相关的技术和产品融合起来形成一个存储时代。离我们最近的就是磁盘造就的磁盘时代,至今大量的磁盘仍然装在电脑和服务器上。

磁盘及其主宰的存储时代

磁盘时代以磁盘特性为起点衍生出了一个完整的生态。首先是一整套存储协议。SCSI、SAS、SATA、FC等协议都是磁盘时代的产物,这些协议规定了磁盘与RAID卡等组件、存储系统与数据中心其他组成部分的通信规范是整个存储系统高效稳定运行的基石。

其次是RAID(Redundant Arrays of Independent Disks,RAID)。RAID是一种典型的以容量和成本换取系统性能和可靠性的技术。对于企业数据中心而言,系统性能和可靠性是至关重要的,RAID虽然没能从根本上消除磁盘的系统瓶颈,但已经让存储系统在性能、成本和可靠性上找到了一个企业能够接受的平衡。最后磁盘还成就了DAS、SAN、NAS这样的存储阵列产品,网络存储技术得到了几十年的充足发展。

在磁盘时代,LSI(已被Avago收购)、希捷、英特尔、博科、EMC、NetApp等厂商构建了完整的生态,承担了全球绝大多数数据存储工作,同时也由此获取了巨大的利润。但是闪存的出现,使得磁盘时代不可避免地走向衰落。

闪存为代表的固态存储优势全面凸显

从介质演进的角度讲,以闪存为代表的固态存储介质超越磁盘成为主流已毫无悬念。可以从两个方面佐证这一观点,首先是性能,闪存没有寻道延时,所以性能上比磁盘有着质的提高,当下15000转 SAS 12Gb/s接口的磁盘持续读带宽最高可接近250MB/s ,而一块SATA接口的SSD读带宽可以轻松超过500MB/s 。

其次是存储密度,闪存在存储密度上的突破使得磁盘彻底失去了优势。当下一块3.5英寸磁盘可以做到10TB,然而主流大容量SSD已经与之接近。另一方面,3D-NAND和校验算法等技术不断发展为SSD容量实现质的突破创造了条件,当下三星、东芝均向64层堆叠提升,单颗NAND芯片容量将从256Gb提高到512Gb。

在Flash Memory Summit2016上,已经有闪存厂商展示了32TB和64TB企业级 SSD新品,这意味着同样一块2.5英寸的硬盘,闪存可以做到磁盘的三倍容量。值得一提的是,64TB并非固态硬盘上限,不仅是3D-NAND,相变存储、英特尔联手美光研发的3D-Xpoint等材料都有可能推动固态硬盘容量达到一个新的层次。

最后是成本,对于企业来讲,高性能、高密度只有配合整体成本的降低才有价值。很长时间里,每GB成本过高阻碍着SSD的推广,但是如今企业开始更多地从数据中心整体的功耗、占地、散热,以及系统性能等方面区推广,SSD的优势就非常明显了。随着闪存工艺的提升、3D-NAND技术的发展,SSD每GB成本将低于主流硬盘成本,届时SSD将迎来自己的存储时代。

闪存为下一个存储时代的到来奠定了基础,接下来就是存储协议和标准体系的建立。回顾磁盘时代,SATA和SAS接口是主流,但是SATA发展到6.0Gb/s就已经终结,SAS的带宽走到12Gb/s也很难再进行下去,但是闪存的性能潜力远不止这个水平。

从私有协议到nvme标准化的PCIe SSD

2007年,Fusion-io(现已被闪迪收购)了一款ioDrivePCIe SSD,这款产品采用PCIex4接口,单卡可达到10万IOPS,读写带宽分别能达到800MB/s和600MB/s。这样的性能是其他SAS/SATA接口的磁盘和SSD所不能相比的。Fusion-io的ioDrive为闪存指明了方向,PCIe带宽足够高,能够充分挖掘闪存的性能。在之后的几年中,PCIe SSD厂商虽然逐年增多,但是缺乏统一的标准,这为服务器厂商和客户都带来了不小的维护成本,整个生态需要一系列的标准进行约束,在这样的背景下,NVMe应运而生。NVMe(Non-Volatile Memory Express)是一个专门针对闪存等固态存储介质及PCIe特性而制定的一个非易失性存储器接口标准,最早的标准于2011年。具体的协议规范内容制定与完善由NVMe工作组主导,思科、 戴尔、EMC、HGST、英特尔、美光、微软、NetApp、Oracle、Microsemi、三星、闪迪、希捷是该工作组的13个主要成员。

NVMe优势体现在两个方面,首先是性能。NVMe充分缩短了存储协议的路径,路径短意味着更低的延迟和更高的效率。此外NVMe支持65535个IO队列,每个队列的深度可达到64k(AHCI仅有一个队列,最大深度为32),可以说NVMe一方面通过协议瘦身的方式提高了性能,另一方面NVMe能够充分利用多核CPU的优势进一步提高系统的IO处理能力。在实测性能上,NVMe的优势将充分体现。

Memblaze支持NVMe标准的PBlaze4 PCIe SSD随机读/(4KB) IOPS可以达到70万/17万 ,同时读写延迟达到95μs /17μs,读/写带宽 (128KB)可以达到2.8 GB/s / 2.3 GB/s。而上文提到的15000转SAS磁盘除了读写带宽低以外, IOPS仅能达到200左右,可以说NVMe SSD性能上相对磁盘在所有性能参数上都有几十到几千倍的提升。

其次NVMe是当前闪存领域最高效、应用最广泛的PCIe SSD接口标准。标准化好处对于厂商来说可以降低研发难度,使得PCIe SSD厂商及服务器、虚拟化、操作系统等厂商更为高效地协同工作。对于客户来讲,NVMe SSD无需安装新的驱动即可使用,后期的维护成本也较早期非标准化PCIe SSD有着质的降低。

围绕NVMe造就完整的下一代非易失存储接口生态

NVMe本身高效灵活,对未来固态存储介质在性能等方面的发展做了充分准备,成为下一代主流存储接口规范已经没有悬念。但是这并不意味着针对NVMe无事可做,事实上,作为一个积累不到十年的标准,NVMe还有很多工作要做。

NVMe 1.2.1及更早的版本都定位在借助PCIe接口实现主机软件与非易失性存储设备的通信(也可以说是NVMe over PCIe),今年6月,NVMe工作组了NVMe over Fabrics 1.0版,NVMe over Fabrics协议定义了使用各种通用的网络传输层协议(比如以太网、Fiber Channel),来实现NVMe功能的方式。在协议中所指的传输层包括了RDMA、Fiber Channel、PCIe Fabrics等实现方式。

依据具体的传输层不同,又有不同的传输层绑定协议去具体规范每一种互联网络所具体需要实现的传输转换层实现,这是NVMe设备在数据中心实现大规模部署的一个里程碑式协议。

与NVMe一样,NVMe over Fabrics同样与当下一些比较前沿的技术和理念有非常深的结合,比如RDMA。设计之初,NVMe over Farbrics就已经对Infiniband、iWarp和RoCE三大RDMA技术方向做了充分准备,并将RDMA作为一个重要开发方向,所以在NVMe over Fabrics 1.0没有的时候,Mellanox等厂商就已经开始在一些国际会议上演示基于RDMA的NVMe over Fabrics方案了。

不论是协议本身,还是NVMe和NVMe over Fabrics试图统一服务器前后端协议标准,并将整个数据中心的IO延时降到最低。随着非易失性介质从闪存向3D XPoint及相变存储等材料转变、存储接口从PCIe向DIMM等接口转变,NVMe和NVMe over Fabrics都要做出相应的调整和优化,达到与时俱进的效果。从更高层次来说,NVMe和NVMe over Fabrics取得成功的关键在于一个健全高效的生态环境。

NVMe工作组13家厂商均是服务器、芯片、软件、闪存等领域的领导者,工作组的成员也吸收了越来越多的成员加入,这对于NVMe的成功起到了决定性的作用,目前还有遍布于数据中心各个领域超过60家公司及组织成为其会员。虽然还只是一个发展不到十年的标准,但是NVMe已经具备了成长为下一代存储接口标准体系的所有条件,在固态存储介质高速发展的基础上迎来自己的存储时代已是可以预见的事。

上一篇:电子白板为初中数学教学添浓墨重彩一笔 下一篇:北大青鸟:为UI设计师绘制蓝图