XDuser

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

RDMA简介6之RoCE v2连接管理

RoCE v2协议的队列在创建时就已确定连接类型,共有两种工作模式:主要分为两种工作模式:有连接模式和无连接模式。在有连接模式下,支持可靠连接(RC)和不可靠连接(UC)两种传输类型;而无连接模式则仅支持不可靠数据包(UD)传输类型。

RDMA简介5之RoCE V2队列分析

在RoCE v2协议中,RoCE v2队列是数据传输的最底层控制机制,其由工作队列(WQ)和完成队列(CQ)共同组成。其中工作队列采用双向通道设计,包含用于存储即将发送数据的发送队列(SQ)和用于存储已接收到的数据的接收队列(RQ),二者共...

RDMA简介4之RocE V2简析

RoCE v2原语在RoCE v2协议中,应用程序并不直接与网卡接口相关联,开发者使用RDMA原语进行应用程序的开发。RDMA原语分为单边(one-side)语义和双边(two-side)语义,其中,WRITE、READ、ATOMIC为单...

RDMA简介3之四种子协议对比

RDMA协议共有四种子协议,分别为InfiniBand、iWARP、RoCE v1和RoCE v2协议。这四种协议使用统一的RDMA API,但在具体的网络层级实现上有所不同,如图1所示,接下来将分别介绍这四种子协议。图1 ...

RDMA简介2之技术优势

随着数据中心对于网络带宽和延迟的要求日益增长,传统的TCP/IP网络已无法满足性能要求,RDMA网络则凭借其高带宽、低延时的特性脱颖而出。相较于传统TCP/IP协议,RDMA具有零拷贝、不需要CPU接入、消息基于事务等特点 。RDMA协议与...

RDMA简介1之RDMA开发必要性

远程直接内存访问技术(RDMA)是一种专为远距离网络通信设计的技术,其通常通过光纤进行设备间连接,提供高通量、低延迟、远距离的零拷贝网络数据传输。基于融合以太网的远程直接内存访问(RoCE)提供了一种基于以太网的RDMA技术实现方法。因此,RoCE v2协议是数据采集系统拓展传输方式的最佳选择。

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的内部结构一致,包含状态机、...