NVMe over Fabrics 概况

NVMe over Fabrics 技术特征

跨网络传输NVMe命令需要特殊的考虑,而不仅仅是针对本地存储内存。例如,为了远距离传输NVMe协议,理想的底层网络或fabric技术将具有以下特性:

  • 可靠的、基于可信的流程控制和交付机制。这种流控制允许网络或Fabric进行自身限流,提供了可靠的连接,可以保证在硬件级别进行传输,而不需要由于拥塞而丢弃帧或包。对FC,InfiniBand和PCI Express传输来说,基于可信的流量控制是天然具备的。
  • 一个最优化的客户端。客户机软件应该能够直接向fabric发送和接收本机NVMe命令,而不需要使用SCSI之类的翻译层。
  • 一个低延迟的fabric。fabric本身应该优化为低延迟。包括交换在内,fabric的端到端延迟不应超过10µs。
  • 减少延迟和CPU利用率适配器或接口卡。适配器应该能够为应用程序注册直接内存区域,以便将传输的数据直接传递到硬件fabric适配器。
  • Fabric扩展。这种fabric应该能够扩展到成千上万个或更多的设备。
  • 多主机支持。fabric应该能够支持多个主机同时主动发送和接收命令。这也适用于多个存储子系统。
  • 多端口支持。主机服务器和存储系统应该能够同时支持多个端口。
  • 多路径支持。fabric应该能够同时支持任何NVMe主机initiator和任何NVMe存储target之间的多个路径。

独立I/O队列的最大数量(64K)和这些NVMe I/O队列固有的并行性可以很好地用于上述结构类型。每个64K I/O队列都可以同时支持64K个命令,这使得它能够在非常大的fabric中实现。此外,NVMe命令集中只有很少数量的命令使得在各种fabric环境中实现相对简单。

本地NVMe和NVMe over Fabrics之间的差异

大约90%的基于fabric的NVMe协议与本地NVMe协议相同。这包括NVMe名称空间、I/O和管理命令、寄存器和属性、电源状态、异步事件、保留等。主要的区别在以下四个方面,见下表。

这些差异主要是NVMe产品的开发人员感兴趣的,因为他们的设备驱动程序需要正确处理本地NVMe设备和远程NVMe设备。其中一些项,例如标识符,可以公开给最终用户,以帮助识别特定应用程序的特定NVMe设备。发现机制设计用于处理多种类型的传输。

NVMe传输分布图

在本地NVMe实现中,NVMe命令和响应通过PCIe接口映射到主机中的共享内存。然而,fabric是建立在发送和接收消息的概念之上的,端点之间没有共享内存。NVMe fabric消息传输被设计为使用包含一个或多个NVMe命令或应答的capsule,将NVMe命令和应答封装到基于消息的系统中。capsule或capsule与数据的组合独立于特定的fabric技术,并通过所需的fabric技术发送和接收。

对于fabric上的NVMe,使用常规的NVMe提交队列和完成队列维护整个NVMe多队列模型,但封装在基于消息的传输之上。NVMe I/O队列对(提交和完成)是为多核cpu设计的,这种低延迟的高效设计在NVMe over Fabrics中得到了保持。

当通过fabric设备向NVMe发送复杂消息时,capsule允许将多个小消息作为一个消息发送,这提高了传输效率并减少了延迟。capsule要么是提交队列条目,要么是与一定数量的数据、元数据或聚散列表(SGLs)相结合的完成队列条目。这些元素的内容与本地NVMe协议相同,但是capsule使用将它们打包在一起的方式以提高效率。

学习地址:Dpdk/网络协议栈/vpp/OvS/DDos/NFV/虚拟化/高性能专家(免费订阅,永久学习)

【文章福利】需要更多DPDK/SPDK学习资料加群793599096(资料包括C/C++,Linux,golang技术,内核,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK,大厂面试题 等)可以自行添加学习交流群点击这里噢~
————————————————

 

NVMe Qualified Name (NQN)

存储网络结构的关键优点之一是用于跨越所有设备保持相容性的与生俱来的智能。在本例中,NVMe over Fabrics使用耳熟能详的【qualified naming】授权命名寻址约定。

NVMe Qualified Name(NQN)用于识别远程NVMe存储目标。它类似于iSCSI限定名(IQN)。关于NVMe限定名的更多详细信息在NVMe基本规范的第7.9节中进行了描述,可以在http://www.nvmexpress.org/speciations/中找到。

总结

NVMe over Fabrics准备扩展低延迟高效的NVMe块存储协议,以提供大规模的远程存储共享。NVMe over Fabrics在不同的fabric类型之间维护NVMe协议的体系结构和软件一致性,发挥NVMe的优点,而不管存储target中使用的fabric类型或非易失存储类型如何。未来几年对这个行业来说将是非常激动人心的!

转自https://www.cnblogs.com/JamesLi/p/11511082.html

SH8440D cli% showinventory -svc ID -Name-- ----Model---- --Serial-- Nodes Master 0x265A0 SH8440D HPE_3PAR 8440 4C10332437 2 0 --------------------------------------------------------- -----------------------Node Inventory-------------------- --------------------------------------------------------- ---------------------------------------------------------------------------Nodes--------------------------------------------------------------------------- Node ----Name---- -Manufacturer- ---Assem_Part--- --Assem_Serial-- -Saleable_Serial- --Saleable_PN--- ----Spare_PN---- -------Model_Name------- -Assem_Rev- 0 4C10332437-0 FXN H6Y97-63001 PFLKQB5LMDI08T 4C10332437 H6Z07B 792654-001 HP_3PAR 8440 004* 1 4C10332437-1 FXN H6Y97-63001 PFLKQB5LMDI019 4C10332437 H6Z07B 792654-001 HP_3PAR 8440 004* --------------------PCI Cards-------------------- Node Slot Type -Manufacturer- -Model-- --Serial-- 0 0 FC EMULEX LPE16002 -- 0 1 SAS LSI 9300-2P Onboard 0 2 FC EMULEX LPE16004 MYT01288WN 0 3 Eth Intel e1000e Onboard 1 0 FC EMULEX LPE16002 -- 1 1 SAS LSI 9300-2P Onboard 1 2 FC EMULEX LPE16004 MYT01288YB 1 3 Eth Intel e1000e Onboard --------------------------------------CPUs-------------------------------------- Node CPU -Manufacturer- ---------------------Model--------------------- -Serial- 0 0 GenuineIntel 62 (Intel(R) Xeon(R) CPU E5-2470 v2 @ 2.40GHz) -- 0 1 GenuineIntel 62 (Intel(R) Xeon(R) CPU E5-2470 v2 @ 2.40GHz) -- 0 2 GenuineIntel 62 (Intel(R) Xeon(R) CPU E5-2470 v2 @ 2.40GHz) -- 0 3 GenuineIntel 62 (Intel(R) Xeon(R) CPU E5-2470 v2 @ 2.40GHz) -- 0 4 GenuineIntel 62 (Intel(R) Xeon(R) CPU E5-2470 v2 @ 2.40GHz) -- 0 5 GenuineIntel 62 (Intel(R) Xeon(R) CP
最新发布
03-15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值