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)
NVMe 现状扫盲
SSD优势与机械硬盘(Hard Disk Driver, HDD)相比,基于Flash的SSD具有更快的数据随机访问速度、更快的传输速率和更低的功耗优势,已经被广泛应用于各种计算领域和存储系统。SSD最初遵循为HDD设计的现有主机接口协议...
发表于 6/2/2025 11:45:55 PM
阅读(697)
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开发基础之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控制器之接口转换模块设计
接口转换模块负责完成AXI4接口与控制器内部的自定义接口之间的转换工作。 由于AXI4接口协议的实现会占用大量的逻辑资源,为了节约资源,控制器内部的接口信号均采用逻辑简单的自定义接
发表于 5/10/2025 2:29:37 PM
阅读(781)
NVMe控制器之完成信息解析设计
完成信息解析模块用于解析NVMe命令执行完成后返回的信息。该模块首先提取完成信息中的Status Field字段和ID号。通过检查Status Field字段,判断NVMe命令是否成功执行。若命令成功执行,则释放对应ID号的SQ中的缓存空间...
发表于 5/3/2025 4:08:06 PM
阅读(899)
NVMe控制器之队列管理
队列管理模块是整个NVMe Host控制器的核心模块,该模块实现了提交队列与完成队列的管理,多队列请求的仲裁判决等功能。队列管理模块中含有数据选择单元、SQ、CQ、和仲裁器等模块。其中Admin SQ与IO SQ的内部结构一致,包含状态机、...
发表于 5/3/2025 4:05:53 PM
阅读(1069)

