NVMe IP高速传输却不依赖XDMA设计之六
队列控制单元负责控制 NVMe 队列的创建、 删除等管理功能, 通过队列控制单元能够根据工作场景调整在运行的 NVMe 队列数量, 从而直接影响数据传输性能。队列控制功能由队列控制寄存器和队列操作状态寄存器实现。队列控制寄存器用于提供队列操...
发表于 7/1/2025 11:12:59 AM
阅读(842)
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)
NVMe IP高速传输却不依赖XDMA设计之二
应答模块的具体任务是接收来自PCIe链路上的设备的TLP请求,并响应请求。由于基于PCIe协议的NVMe数据传输只使用PCIe协议的存储器读请求TLP和存储器写请求TLP,应答模块分别针对两种TLP设置处理引擎来提高并行性和处理速度。
发表于 5/25/2025 10:15:29 AM
阅读(654)
NVMe开发基础之PCIe下
PCIe的事务层连接了PCIe设备核心与PCIe链路,这里主要基于PCIe事务层进行详细讨论与分析。 PCIe 设备具有和PCI设备相同的配置空间头类型,此外使用PCIe拓展配置空间 管理PCIe总线。PCI配置空间头分为Type0和Type1两种类型,Type0类型配置空间 头在PCIe总线中用于EP,Type1类型配置空间头用于Switch中的虚拟PCI桥。
发表于 5/18/2025 12:05:18 AM
阅读(1090)
NVMe IP开发基础之PCIe上
PCIe 体系结构常见的PCIe总线系统结构主要包含三种设备,分别是根复合体(RootComplex,RC)、Switch 和终端设备(EndPoint,EP)。
发表于 5/17/2025 2:50:22 PM
阅读(903)
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)
NVMe控制器之完成信息解析设计
完成信息解析模块用于解析NVMe命令执行完成后返回的信息。该模块首先提取完成信息中的Status Field字段和ID号。通过检查Status Field字段,判断NVMe命令是否成功执行。若命令成功执行,则释放对应ID号的SQ中的缓存空间...
发表于 5/3/2025 4:08:06 PM
阅读(899)
NVME控制器架构设计
NVMe 控制模块负责实现用户请求事务与 NVMe 事务的转换、 NVMe 命令提交与完成机制、 PRP 寻址机制。 在 NoP 逻辑加速引擎中, 用户通过配置系统控制模块的相关寄存器来发送 DMA 或队列管理请求, NVMe 控制...
发表于 4/24/2025 10:41:41 AM
阅读(1176)
NVMe IP over PCIe4.0:摆脱XDMA,实现超高速!
1 基于PCIe4.0,兼容PCIe3.0等 开发基于PCIe3.0的NVMe Host IP已多年了,一些公司提出目前PCIe4.0已普遍,能不能提供基于PCIe4.0的NVMe IP。虽然NVMe IP不区分PCIe版本,但是...
发表于 4/16/2025 8:28:58 AM
阅读(977)
三个月开发NVMe IP不是梦
一. 开发NVME Host IP难在哪?1)协议复杂性:NVMe协议相对复杂,过程调试不尽如意。2)开发周期长:即使有xilinx开发板,但是采用开发板上机调试,首先是编译时间长,增加调试时间;其次是不清楚如何排查问题,种种原因导致目前开...
发表于 12/6/2024 3:39:58 PM
阅读(1778)

