NVMe over fabric (NVMe- of)
NVMe over fabric,也被称为NVMe- of和non-volatile memory express over fabric,是一种协议规范,设计用于通过网络结构将主机连接到存储NVMe协议。
该协议旨在使数据在主机和目标之间传输固态存储网络上的设备或系统——通过基于NVMe消息的命令完成。数据传输可以通过以太网、光纤通道(FC)或InfiniBand等方法进行传输。
NVM Express Inc.是一家非盈利组织,于2011年3月1日发布了NVMe规范的1.0版。随后,在2016年6月5日,该组织发布了NVMe-oF规范的1.0版。NVMe 1.3版本随后于2017年5月发布。此更新增加了增强安全性、资源共享和固态驱动器(固态硬盘)耐力。
NVM Express组织估计90%的NVMe- of协议与NVMe协议相同,NVMe协议是为通过计算机的外围组件互连Express (PCIe)公共汽车。
供应商正在开发一个成熟的企业生态系统,支持通过fabric端到端NVMe,包括服务器操作系统、服务器虚拟机监控程序此外,存储区域网络(SAN)交换机供应商(不限于Cisco Systems Inc.和Mellanox Technologies)正试图将32 Gbps(Gbps)FC定位为NVMe闪存的逻辑结构。
自从NVMe-oF最初开发以来,已经有了多种协议的实现,例如使用远程直接内存访问的NVMe-oF (RDMA)、FC或传输控制协议/互联网协议(TCP / IP).
NVMe在面料上的使用
尽管NVMe oF仍然是一项相对较新的技术,但它已被广泛应用于网络体系结构中。使用NVMe oF可以帮助提供最先进的存储协议,以充分利用当今的SSD。该协议还可以帮助弥合直连存储之间的差距(达斯)和SAN,使组织能够支持需要高吞吐量和低延迟.
NVMe最初的部署是在服务器上使用DAS, NVMe闪存卡取代传统的ssd作为存储介质。与现有的全闪存存储相比,这种安排提供了很有前景的高性能增益,但它也有其缺点。NVMe需要添加第三方软件工具进行优化书写耐力和数据服务。瓶颈一直存在于存储控制器级别的NVMe阵列中。
NVMe-oF的其他用例包括优化实时分析,以及在人工智能(人工智能)和机器学习。
NVMe-oF的使用是该技术发展的一个相对较新的阶段,为集成本地端到端数据管理的齿条级闪存系统的到来铺平了道路。主流采用的速度将取决于NVMe生态系统的跨栈开发有多快。
NVMe优于面料的好处
基于nvme的存储驱动器的优点包括:
- 低延迟;
- 额外的并行请求;
- 提高整体性能;
- 减少服务器端操作系统存储堆栈的长度;
- 存储阵列性能的改进;
- 从串行连接SCSI(SAS)/串行高级技术连接转变为更快的终端解决方案(萨塔)驱动器到NVMe ssd;和
- 不同场景的各种实现类型。
NVMe优于面料的技术特点
一些技术特点NVMe-oF包括以下内容:
- 高速;
- 低延迟网络;
- 基于信用的流量控制;
- 能够扩展到数千个其他设备;
- fabric的多路径支持,使NVMe主机启动器和存储目标之间能够同时有多条路径;和
- fabric的多主机支持,可以同时从多个主机和存储子系统发送和接收命令。
NVMe over fabric vs. NVMe:关键区别
NVMe是小型计算机系统接口(SCSI)主机与外部目标存储设备或系统之间连接和传输数据的标准。NVMe是为使用更快的媒体而设计的,比如ssd和基于后闪存的技术。与为旋转介质开发的SCSI和SATA协议相比,NVMe标准将访问时间提高了几个数量级。
NVMe支持64,000个队列,每个队列都有一个队列深度多达64000条命令。所有的输入/输出(I/O)命令,以及随后的响应,都在同一个处理器核心上操作,将多核处理器组合成一个高水平的并行性。不需要I/O锁定,因为每个应用程序线程都有一个专用队列。
基于nvme的设备使用PCIe串行扩展插槽传输数据,这意味着不需要专门的硬件控制器路由网络存储流量。使用NVMe,基于主机的PCIe SSD能够更高效地将数据传输到存储目标或子系统。
NVMe和基于fabric的NVMe之间的主要区别之一是用于发送和接收命令或响应的传输映射机制。NVMe-oF是一种基于消息的主机与目标存储设备通信模型。本地NVMe将通过PCIe接口协议将命令和响应映射到主机中的共享内存。
虽然NVMe反映了PCIe Gen 3的性能特征,但它缺少一个本地消息传递层来引导远程主机和阵列中的NVMe ssd之间的通信。NVMe-oF是业界对开发消息传递层的响应。
使用RDMA的fabric上的NVME
使用RDMA的nvme是由NVM Express组织的一个技术子组定义的。可用的映射包括RDMA over Converged Ethernet (RoCE)和Internet Wide Area RDMA Protocol (iWARP) for Ethernet和InfiniBand。
RDMA是两台计算机之间的一种内存到内存的传输机制。数据从一个存储器发送地址空间转到另一个,无需调用操作系统或处理器。结果是更低的开销和更快的访问和响应时间,延迟通常以微秒(μs)为单位。
NVMe作为通过结构跨RDMA移动存储流量的协议。该协议为计算服务器和存储提供了一种通用语言,用于就数据传输进行通信。
使用RDMA的fabric上的NVMe本质上需要实现一个新的存储网络来提高性能。代价就减少了可伸缩性与FC协议相比。
使用光纤通道的fabric上的NVMe
使用光纤通道的fabric的NVMe (FC-NVMe)由国际信息技术标准委员会(INCITS)的T11委员会开发。FC支持在其上映射其他协议,如NVMe、SCSI和IBM专有的光纤连接(Fibre Connection, Ficon),以便在主机和目标存储设备之间发送数据和命令。
FC NVMe和Gen 6 FC可以共存于同一基础设施中,使数据中心能够避免叉车升级。
客户使用固件升级现有FC网络交换机,前提是提供主机总线适配器(hba)支持16 Gbps或32 Gbps FC和NVMe的功能存储目标。
FC协议支持访问共享NVMe flash,但是在将封装的SCSI命令解释和转换为NVMe命令时,性能会受到影响。光纤通道行业协会(FCIA)正在帮助推动向后兼容FC-NVMe实现的标准,使单个FC-NVMe适配器能够支持基于scsi的磁盘、传统的ssd和pcie连接的NVMe flash卡。
使用TCP/IP的结构上的NVMe
关于的NVMe的最新发展之一包括使用TCP/IP的NVMe的开发。的NVMe现在可以支持TCP传输绑定.通过TCP的NVMe可以跨标准以太网网络使用NVMe- of。使用NVMe-oF TCP/IP也不需要进行配置更改或实现任何特殊设备。由于传输绑定可以在任何以太网网络或internet上使用,因此在实现任何附加设备和配置时通常涉及的挑战就被消除了。
TCP是一个被广泛接受的标准,用于在网络上交换数据时建立和维护网络通信。TCP将与IP一起工作,因为这两个协议一起使用方便了互联网和私有网络的通信。NVMe-oF中的TCP传输绑定定义了如何封装和交付主机和非易失性内存子系统之间的数据。
TCP绑定还将定义队列、胶囊和数据的映射方式,支持主机和控制器的NVMe之间通过IP网络进行TCP通信。
对于希望利用其以太网基础设施的组织来说,使用TCP/IP的nvme是一个很好的选择。这也将使开发人员能够将NVMe技术从因特网SCSI(iSCSI).例如,如果一个组织不想处理在使用RDMA实现fabric上的NVMe所包含的任何潜在麻烦,那么可以利用在Linux内核上使用TCP/IP的NVMe。
分析公司Demartek创始人兼总裁丹尼斯•马丁解释了NVMe和NVMe在fabric中的角色。
存储行业对NVMe和NVMe- of的支持
建立存储供应商创业公司也在市场中争得一席之地。全flash NVMe和NVMe- of存储产品包括:
- 数据直接网络(DDN)Flashscale;
- Datrium DVX混合系统;
- Kaminario K2.N;
- NetApp光纤连接存储(FAS)阵列,包括具有NVMe SSD连接的闪存缓存;
- 纯存储FlashArray//X;以及
- Tegile IntelliFlash(2017年被西部数据公司收购,2019年出售给DDN)。
2017年12月,IBM预览了InfiniBand配置的NVMe,该NVMe集成了其Power9系统和FlashSystem V9000,这是一款专门用于接收大量数据的认知工作负载的产品。
2017年,惠普企业推出了HPE持久内存服务器端闪使用ProLiant Gen9服务器和nvme兼容的Persistent Memory PCIe ssd存储。
Dell EMC是首批将全闪存NVMe产品推向市场的存储供应商之一。DSSD D5阵列由戴尔PowerEdge服务器和专有NVMe通过PCIe网状网络构建而成。由于销量不佳,该产品在2017年被搁置。
一些初创公司也推出了NVMe全闪存阵列:
- Apeiron数据系统使用NVMe驱动器作为媒体,并在现场可编程门阵列(fpga)中存储数据服务,而不是连接到存储阵列的服务器。
- E8存储(于2019年被亚马逊收购)使用其软件将E8-D24 NVMe闪存阵列的快照复制到附加的品牌计算服务器上,该设计旨在减少阵列的管理开销。
- Excelero软件定义的存储可以在任何标准服务器上运行。
- 曼格斯托MX6300 NVMe- of阵列基于Dell EMC PowerEdge,配备品牌NVMe PCIe卡。
- 展馆数据系统使用商品网络接口卡构建品牌Pavilion存储阵列(网卡)、PCIe交换机和处理器。Pavilion的4U设备包含20个存储控制器和40个以太网端口,通过内部PCIe交换机网络连接到72个NVMe ssd。
- Vexata Inc .)提供VX-100和Vexata Active Data Fabric分布式软件。该厂商的以太网连接NVMe阵列包括一个前端控制器、一个基于fpga的直通路由器和管理I/O调度和元数据的数据节点。
芯片制造商、网络供应商为市场做好准备
2017年,计算机硬件供应商在fabric技术上开辟了NVMe的新领域。网络供应商正在等待存储供应商迎头赶上,开始销售基于nvme - of的阵列。
光纤交换机的竞争对手Brocade和Cisco都推出了32gbps的Gen 6 FC设备,支持NVMe闪存流量,包括FC-NVMe fabric功能。同样加入竞争的还有Cavium,它为NVMe-oF刷新了QLogic Gen 6 FC和FastLinQ以太网适配器。
Marvell推出了其88SS1093 NVMe SSD控制器,其先进设计将其低密度奇偶校验技术用于三电平单元(薄层色谱) NAND闪存设备运行在多层单元(MLC)NAND。
Mellanox Technologies基于其BlueField片上系统开发了存储参考体系结构的NVMe(SoC)可编程处理器。与超聚合基础设施(HCI)类似,BlueField将计算、网络、安全、存储和虚拟化工具集成到单个设备中。
Microsemi公司与American megtrends (AMI)合作开发了NVMe-oF参考体系结构。该系统将Microsemi Switchtec PCIe交换机集成到运行AMI Fabric Management Firmware的Intel Rack Scale Design (RSD)分解的可组合基础设施硬件中。
在驱动器制造商中,英特尔公司(Intel Corp.)以基于3D nand的双端口NVMe ssd和英特尔Optane NVMe驱动器领先三维X点由英特尔和芯片制造商Micron technology,Inc.开发的内存技术。英特尔声称Optane NVMe驱动器的速度大约是其速度的八倍NAND闪存-基于NVMe PCIe SSD。
美光推出了其9200系列NVMe ssd,并将业务扩展到存储领域,推出了美光加速解决方案NVMe参考架构和基于美光SolidScale NVMe- of的设备。
希捷科技推出了Nytro 5000M.2 NVMe SSD并开始对64tb的NVMe扩展卡进行采样。