XDuser

专注于NVMe IP, NVMe包括RDMA,NVMe Host ,NVMe OF。期待与你相约。

NVMe IP高速传输却不依赖XDMA设计之二

应答模块的具体任务是接收来自PCIe链路上的设备的TLP请求,并响应请求。由于基于PCIe协议的NVMe数据传输只使用PCIe协议的存储器读请求TLP和存储器写请求TLP,应答模块分别针对两种TLP设置处理引擎来提高并行性和处理速度。

NVMe IP高速传输却不依赖XDMA设计之一

选用XDMA做NVMe IP的关键传输模块,可以加速IP的设计,但是XDMA对于开发者来说,还是不方便,原因是它就象一个黑匣子,调试也非一番周折,尤其是后面PCIe4.0升级。因此决定直接采用PCIe设计,虽然要费一番周折,但是目前看,还是...

NVMe开发基础之PCIe下

PCIe的事务层连接了PCIe设备核心与PCIe链路,这里主要基于PCIe事务层进行详细讨论与分析。 PCIe 设备具有和PCI设备相同的配置空间头类型,此外使用PCIe拓展配置空间 管理PCIe总线。PCI配置空间头分为Type0和Type1两种类型,Type0类型配置空间 头在PCIe总线中用于EP,Type1类型配置空间头用于Switch中的虚拟PCI桥。

NVMe IP开发基础之PCIe上

PCIe 体系结构常见的PCIe总线系统结构主要包含三种设备,分别是根复合体(RootComplex,RC)、Switch 和终端设备(EndPoint,EP)。

NVMe协议之AXI总线

NVMe需要用AXI总线进行高速传输。这里,AXI总线是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)协议中的重要组成部分,主要面向高性能、高带宽、低延时的片内互连需求。AXI...

NVMe协议分析

NVM Express(NVMe)是一种高性能、可扩展的接口协议,用于通过PCI express(PCIe)总线,实现主机软件与NVM设备之间的通信。目前,由于NVMe SSD相比于SATA SSD具有更高的吞吐量、更快的访问速度和...

NVMe控制器之接口转换模块设计

接口转换模块负责完成AXI4接口与控制器内部的自定义接口之间的转换工作。 由于AXI4接口协议的实现会占用大量的逻辑资源,为了节约资源,控制器内部的接口信号均采用逻辑简单的自定义接

NVMe控制器之完成信息解析设计

完成信息解析模块用于解析NVMe命令执行完成后返回的信息。该模块首先提取完成信息中的Status Field字段和ID号。通过检查Status Field字段,判断NVMe命令是否成功执行。若命令成功执行,则释放对应ID号的SQ中的缓存空间...

NVMe控制器之队列管理

队列管理模块是整个NVMe Host控制器的核心模块,该模块实现了提交队列与完成队列的管理,多队列请求的仲裁判决等功能。队列管理模块中含有数据选择单元、SQ、CQ、和仲裁器等模块。其中Admin SQ与IO SQ的内部结构一致,包含状态机、...

NVMe控制器之指令控制设计

指令控制模块由一个指令信息缓存, 一个指令组装状态机和一个 ID 池组成。 指令信息缓存中存放着由系统控制模块写入的待处理指令信息; 指令组装状态机获取缓存的指令信息, 将其组装成提交队列条目写入提交队列中; ID 池则用于存放可使用的指令...

NVME控制器架构设计

NVMe 控制模块负责实现用户请求事务与 NVMe 事务的转换、 NVMe 命令提交与完成机制、 PRP 寻址机制。 在 NoP 逻辑加速引擎中, 用户通过配置系统控制模块的相关寄存器来发送 DMA 或队列管理请求, NVMe 控制...

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版本,但是...

高速存储传输系统之数据缓存控制器设计2

流程控制模块的框图如图1所示,该模块主要由寄存器、读状态机、写状态机和命令生成模块组成。

高速存储传输系统之数据缓存控制器设计1

数据缓存控制器主要实现了对大量突发数据的缓存、AXI4接口与AXI4-Stream接口之间的转换和NVMe命令的生成等功能。

基于FPGA的NVMe over PCIe逻辑加速引擎之PCIe加速模块设计(下)

TLP读处理设计对于存储器读请求 TLP, 使用 Non-Posted 方式传输, 即在接收到读请求后, 不仅要进行处理, 还需要通过 axis_cc 总线返回 CplD, 这一过程由读处理模块执行, 读处理模块的结构如图2 所示。