NVMe IP高速传输却不依赖XDMA设计之十:PCIe初始化状态机设计
PCIe配置初始化状态机实现PCIe设备枚举和配置空间初始化过程,在完成链路训练后,使用DFS(深度优先搜索)算法枚举PCIe总线上的设备,完成PCIe总线域的地址分配和设备的初始化。PCIe配置初始化是PCIe总线正常进行数据传输的前提,...
发表于 7/27/2025 5:37:58 PM
阅读(1117)
NVMe IP高速传输却不依赖XDMA设计之九:系统初始化
直接采用PCIe实现NVMe功能,它的系统初始化流程主要分为链路训练、PCIe 初始化和 NVMe 初始化, 分别实现 PCIe链路连接、 PCIe 设备枚举配置和 NVMe 设备配置功能。 其中链路训练由 PCIE 集成块实现, 初始化模...
发表于 7/26/2025 3:03:33 PM
阅读(1110)
RDMA over RoCE V2设计2:IP整体框图
设计IP需要考虑如下因素:1)基于 IBTA 1.5 协议规范,支持 RoCE v2 标准协议传输,同时支持 ARP协议和 ICMP 协议。2)基于 Xilinx CMAC 集成块进行开发并独立设计 UDP/IP 协议栈。一方面,CMAC ...
发表于 7/15/2025 10:04:17 AM
阅读(1250)
RDMA over 为什么要设计CE V2设计1:
一)设计目标:RDMA技术采用无感传输机制,消除传统网络传输中需要CPU介入下的多重数据复制与内核参与环节,实现直接跨主机内存访问的机制。其设计目标为优化分布式环境下的数据传输效率,降低CPU负载。RoCEv2基于标准网络的以太网、网络层和...
发表于 7/15/2025 10:01:41 AM
阅读(947)
NVMe IP高速传输却不依赖XDMA设计之八
性能监测单元负责监测 NVMe over PCIe 逻辑加速引擎的运行状态和统计信息, 包括复位后运行时间信息、 NVMe 指令数量统计信息、 数据操作数量统计信息、 IOPS 性能统计信息、 指令延迟统计信息等。 这些信息存储在性能监测单...
发表于 7/2/2025 6:02:04 PM
阅读(889)
NVMe IP高速传输却不依赖XDMA设计之七
DMA 控制单元负责控制 DMA 传输事务, 该单元承担了 DMA 事务到 NVMe 事务的转换任务, 使用户对数据传输事务的控制更加简单快捷。 DMA 控制功能由 DMA寄存器组实现。DMA 寄存器组包含 DMA 操作寄存器、 DMA 长...
发表于 7/2/2025 6:00:02 PM
阅读(929)
NVMe IP高速传输却不依赖XDMA设计之六
队列控制单元负责控制 NVMe 队列的创建、 删除等管理功能, 通过队列控制单元能够根据工作场景调整在运行的 NVMe 队列数量, 从而直接影响数据传输性能。队列控制功能由队列控制寄存器和队列操作状态寄存器实现。队列控制寄存器用于提供队列操...
发表于 7/1/2025 11:12:59 AM
阅读(843)
NVMe IP高速传输却不依赖XDMA设计之五
通过PCIe直接进行高速数据读写,首先需要实现对PCIe的初始化控制,该控制单元负责控制初始化进程和获取初始化状态。 对于初学者而言,初始化进程比较复杂,在初始化过程中可能由于 PCIe 链路或 NVMe 设备的不确定性导致初始化失败, 通...
发表于 7/1/2025 11:08:24 AM
阅读(944)
NVMe IP高速传输却不依赖XDMA设计之四
系统控制模块负责实现 NVMe over PCI 逻辑加速引擎的控制功能, 其结构如图 1 所示。 用户通过系统控制模块实现对初始化功能、 队列管理功能、 DMA 功能等主要功能的控制, 同时逻辑加速引擎的工作状态也通过此模块反馈给用户。 ...
发表于 6/29/2025 5:36:59 PM
阅读(1088)
NVMe IP高速传输却不依赖XDMA设计之三
结合目前应用需求,以及前面基础分析,确定IP应具有如下特色:(1) 通用性前端数据采集系统基于 FPGA 开发。 一方面, 设备类型多, 使用的 FPGA型号各不相同, 需要实现的设计能够在多种类型 FPGA 上的工作; 另一方面, 为了降...
发表于 6/29/2025 5:33:38 PM
阅读(1067)
RDMA简介1之RDMA开发必要性
远程直接内存访问技术(RDMA)是一种专为远距离网络通信设计的技术,其通常通过光纤进行设备间连接,提供高通量、低延迟、远距离的零拷贝网络数据传输。基于融合以太网的远程直接内存访问(RoCE)提供了一种基于以太网的RDMA技术实现方法。因此,RoCE v2协议是数据采集系统拓展传输方式的最佳选择。
发表于 6/3/2025 2:59:57 PM
阅读(1084)
NVMe IP高速传输却不依赖XDMA设计之二
应答模块的具体任务是接收来自PCIe链路上的设备的TLP请求,并响应请求。由于基于PCIe协议的NVMe数据传输只使用PCIe协议的存储器读请求TLP和存储器写请求TLP,应答模块分别针对两种TLP设置处理引擎来提高并行性和处理速度。
发表于 5/25/2025 10:15:29 AM
阅读(654)
NVMe IP高速传输却不依赖XDMA设计之一
选用XDMA做NVMe IP的关键传输模块,可以加速IP的设计,但是XDMA对于开发者来说,还是不方便,原因是它就象一个黑匣子,调试也非一番周折,尤其是后面PCIe4.0升级。因此决定直接采用PCIe设计,虽然要费一番周折,但是目前看,还是...
发表于 5/24/2025 5:22:36 PM
阅读(1205)
NVMe协议之AXI总线
NVMe需要用AXI总线进行高速传输。这里,AXI总线是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)协议中的重要组成部分,主要面向高性能、高带宽、低延时的片内互连需求。AXI...
发表于 5/17/2025 11:50:43 AM
阅读(683)
NVMe协议分析
NVM Express(NVMe)是一种高性能、可扩展的接口协议,用于通过PCI express(PCIe)总线,实现主机软件与NVM设备之间的通信。目前,由于NVMe SSD相比于SATA SSD具有更高的吞吐量、更快的访问速度和...
发表于 5/14/2025 11:43:49 PM
阅读(1916)

