NVME-oF IP 设计16 : 适于高速网络存储系统的IP设计2

IP使用离不开应用需求,本博客以某项目为例,介绍本IP应用。

续上文:

表1 网络传输系统的具体性能指标

为满足以上需求,该系用采用一种基于 NVMe over Fabrics(NVMe-oF)的网络化高性能存储系统。系统整体架构如图1所示,按照功能划分可分为网络接口层、网络协议层、存储层及内存管理层四个部分。其中,核心功能由RDMA IP模块、NVMe-oF模块以及NVMe Host Controller(NVMe HC)模块协同完成。

图1 NVMe-oF网络传输系统架构图

系统采用分层解耦设计思想,将网络传输逻辑与存储协议控制逻辑分离,实现数据路径与控制路径的结构化组织。在保证高带宽数据吞吐能力的同时,兼顾系统的扩展性与可维护性。

RDMA IP模块位于网络协议层,主要负责实现基于RoCEv2协议的数据传输功能。该模块完成以太网帧解析、UDP/IP封装解析以及RDMA传输语义处理,是系统实现100 Gbps高速数据传输的基础模块。在接收方向,RDMA IP模块对来自Host PC的RoCEv2报文进行解析,提取基础传输头(Base Transport Header,BTH)、远程地址头(RDMA Extended Transport Header,RETH)等协议字段,根据队列对(QP)信息完成数据分发,将有效负载写入本地DDR缓冲区或转发至NVMe-oF控制器模块。在发送方向,RDMA IP模块负责将NVMe-oF控制器封装完成的应答数据进行RoCEv2协议组包,通过RDMA Write或Send操作回写至Initiator的内存区域。该模块仅承担网络层数据封装与传输任务,不参与NVMe协议语义解析,从而实现网络协议与存储协议的解耦。

NVMe-oF 控制器模块位于系统存储控制层的核心位置,主要负责 NVMe-oF 协议的语义解析与命令转译。该模块承担系统的控制路径逻辑,是连接 RDMA IP 与 NVMe Host Controller 的关键桥梁。在命令接收阶段,NVMe-oF 控制器解析 RDMA IP 模块传递的 NVMe-oF Capsule 数据结构,提取其中的 Submission Queue Entry(SQE)信息,并对命令字段进行合法性校验。随后,模块将 NVMe-oF 命令转译为标准 NVMe 命令格式,并分配唯一标识符(Unique ID)以建立 NVMe-oF 队列与物理 NVMe 队列之间的映射关系。在命令完成阶段,NVMe-oF 控制器根据 NVMe Host Controller 返回的 Completion Queue Entry(CQE)信息,通过 UID 机制恢复原始 NVMe-oF 队列上下文,并重新封装为 NVMe-oF Completion Capsule,最终通过 RDMA IP 模块发送至 Initiator。该模块主要承担控制流处理任务,同时也是后续动态队列绑定机制实现的核心位置。

NVMe Host Controller(NVMe HC)模块负责与本地 NVMe SSD 进行直接交互。该模块通过 PCIe Hard IP 实现与 SSD 的高速连接,完成标准 NVMe 协议的命令提交与完成管理。具体而言,NVMe HC 模块负责维护 Submission Queue(SQ)与 Completion Queue(CQ),通过 Doorbell 机制触发命令提交,并通过 PCIe 传输层数据包(TLP)完成数据读写操作。同时,模块实现 DMA 数据搬运与状态管理功能,确保数据在本地 DDR 与 SSD 之间高效传输。该模块是系统实现物理数据访问的执行单元,其性能直接决定了系统的本地存储吞吐能力。

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

相关推荐
博客zhu虎康1 天前
实现局域网P2P通信:内网发送消息
网络·网络协议·p2p
xixingzhe22 天前
AI 对话打字机效果:SSE 和 HTTP 的区别与适用场景
网络·网络协议·http
叼烟扛炮2 天前
Linux 学习笔记(五十一):数据链路层与 ARP 协议——局域网寻址与黑客骗局
linux·网络·网络协议·php·tcpdump
沫璃染墨3 天前
从零入门计算机网络系列(十四):TCP报文与字节流本质——从数据封装到报文边界
linux·服务器·网络·网络协议·tcp/ip·tcp
byte轻骑兵3 天前
【LMP】规范精讲[13]: 参数的户口本、公钥的集装箱与出厂的兜底值
人工智能·网络协议·人机交互·lmp·蓝牙链路管理
流浪0013 天前
计算机网络篇17:传输层——TCP 超时重传、三次握手与四次挥手,TIME_WAIT 为什么要等 2MSL
网络协议·tcp/ip·计算机网络·三次握手·四次挥手·超时重传
AI 编程助手GPT3 天前
curl 返回成功就能收文件?用本地 HTTP 验证错误页与超时
网络·网络协议·http
流浪0013 天前
计算机网络篇16:传输层——TCP 报头属性字段:16 位窗口大小撑起流量控制,六个标志位标识报文类型
网络协议·tcp/ip·计算机网络·urg紧急指针·tcp报头
Jongkhurun4 天前
以太网的最小帧长为什么是 64 字节:从 CSMA/CD 冲突窗口推导 64 Byte
网络协议
honsor4 天前
SNMP 读取以太网温湿度传感器数据,监控平台对接实操
物联网·网络协议·tcp/ip