NVMe-oF协议的设计目标是使远程NVMe设备能够以接近本地NVMe的性能被访问。在传统网络存储系统中,例如iSCSI或NFS,数据传输需要经过复杂的网络协议栈处理,并且存在较多的数据复制和上下文切换操作,从而导致较高的访问延迟。相比之下,NVMe-oF通过保持NVMe命令结构不变,并在高速网络上传输NVMe命令,使远程访问能够保持较低的协议开销。
NVMe-oF的第一个设计目标是降低远程访问延迟。NVMe协议本身具有较低的命令处理开销,而NVMe-oF通过轻量级协议封装和高性能网络传输机制,使远程NVMe访问的额外延迟通常控制在数微秒范围内。
第二个设计目标是保持NVMe协议的队列模型。NVMe-oF沿用了NVMe协议中的Submission Queue与Completion Queue机制,使主机能够通过相同的命令提交方式访问远程设备。这样可以保证NVMe-oF在软件层面与本地NVMe设备具有一致的接口,从而减少系统修改成本。
第三个设计目标是支持高并发访问。NVMe-oF继承了NVMe的多队列并行模型,使多个CPU核心能够同时提交I/O请求。此外,NVMe-oF还支持多个Initiator同时访问同一个Target,从而实现存储资源共享。
最后,NVMe-oF需要具备良好的扩展能力。在数据中心环境中,存储系统往往需要支持数百甚至数千个计算节点同时访问,因此NVMe-oF协议在设计时需要保证其能够在大规模网络环境中稳定运行。
B站已给出之前的相关性能演示视频,如想进一步了解,请搜索B站用户:专注与守望