NVME-oF IP 设计18 :如何进行多模块并行协同设计2

续上一篇,在RDMA连接建立完成后,Initiator可发起NVMe-oF命令请求。本文系统采用基于RDMA Send + RDMA Read的命令执行机制,其具体流程如图3所示。

图3 NVMe-oF建链流程

(1)NVMe-oF Request发送

Initiator通过RDMA Send操作向Target发送NVMe-oF Request Capsule,其中包含NVMe命令信息(如读写类型、逻辑块地址LBA、数据长度等)以及本端数据缓冲区的远程地址与RKey信息。

(2)Target发起 RDMA Read

Target接收到NVMe-oF Request后,解析Capsule内容,提取数据缓冲区的远程地址与RKey。随后,Target中的NVMe-oF模块向RDMA模块发送RDMA Read指令,从Initiator内存中读取Submission Queue Entry(SQE)或数据负载内容。该方式避免了额外的数据拷贝,实现零拷贝传输。

(3)Initiator返回Read Response

在RDMA Read操作过程中,Initiator作为被动方返回RDMA Read Response,将指定内存区域的数据传输至Target。本阶段数据直接写入Target本地内存缓冲区。

(4)Target执行NVMe-oF命令

NVMe-oF模块在获得完整的SQE及数据内容后,在NVMe-oF控制器内创建虚拟队列。

(5)CQE封装与发送

NVMe-oF模块解析SQE信息后,将完成指令NVMe-oF Completion Capsule写入本地缓冲区,并通过RMDA模块将RDMA Send操作发送至Initiator。至此,一次NVMe-oF命令交互完成。

B站已给出之前的相关性能演示视频,如想进一步了解,请搜索B站用户:专注与守望

https://www.bilibili.com/video/BV1f6mbBeEiH/?spm_id_from=333.337.search-card.all.click\&vd_source=c355545d27a44fe96188b7caefeda6e7

https://www.bilibili.com/video/BV1og3e6XEHR/?spm_id_from=333.337.search-card.all.click\&vd_source=c355545d27a44fe96188b7caefeda6e7

相关推荐
QZ1665609515912 小时前
金融数据流转监测排行:从看见到拦截的距离
网络·安全·网络安全·金融
zxanz114 小时前
SSL 证书申请下来快吗?
网络·网络协议·ssl
false_or_true14 小时前
一次由 tcp_tw_recycle 引发的“灵异”故障排查:基于双网闸架构的踩坑记
网络·tcp/ip·架构
爱写代码的倒霉蛋14 小时前
我用book-to-skill把尹圣雨的《TCP/IP网络编程》做成了知识库(适合快速入门网络编程)
网络·网络编程·知识库
..过云雨14 小时前
19.【网络】多路转接poll、epoll、Reactor反应堆 - 修正版
网络
Raas10015 小时前
MAI Gateway(魔芋企业级AI网关)功能全解:AI网关能做Prompt注入防护吗?一文看懂AI网关能力矩阵(v1.2.0)
网络·人工智能·gateway·prompt·mai gateway·企业级ai网关·企业级产品
Lzg_na15 小时前
DHCP 作用、原理、机制和报文格式详解
网络
发量惊人的中年网工16 小时前
SD-WAN 组网方案怎么选?跨地域与多分支企业的选型指南(含成本对比)
服务器·网络·数据库
星恒讯工业路由器16 小时前
从5G-A到6G:工业通信网络的技术演进与产业落地
网络·物联网·5g·智能路由器·工业路由器·工业物联网·5g-a
砚凝霜16 小时前
【软考信息安全】第二十一章 网络设备安全概述与安全机制
网络·安全