xianuser 发表于 2025-9-9 08:35

NVMe高速传输之摆脱XDMA设计19: PCIe应答模块设计

​应答模块的具体任务是接收来自PCIe链路上的设备的TLP请求,并响应请求。由于基于PCIe协议的NVMe数据传输只使用PCIe协议的存储器读请求TLP和存储器写请求TLP,应答模块也分别针对两种TLP设置处理引擎来提高并行性和处理速度。
对于存储器写请求TLP,该类型的TLP使用Posted方式传输,即不需要返回完成报文,因此只需要接收并做处理,这一过程由写处理模块来执行,写处理模块的结构如图1所示。
​https://i-blog.csdnimg.cn/direct/633f29ee4e464610afae337195d833df.pngdata:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==​编辑​
图1   TLP写处理模块结构图当axis_cq总线中出现数据流传输时,应答模块首先对传输的TLP报头的类型字段进行解析,如果为存储器写请求则由写处理模块进一步解析。写处理模块提取出TLP报头的地址字段、长度字段等,然后将数据字段写入数据缓存中。提取出的地址字段用于进行地址映射,在NVMe协议中,设备端的请求写分为两种,分别是写完成队列和写数据,因此地址映射的定向对应为队列管理模块的完成条目处理单元和数据传输AXI总线的写通道。完成条目的字段长度为128比特,因此无需进行数据缓存,跟随地址映射发送到队列管理模块。AXI Master驱动负责将解析的字段与缓存的数据组成AXI写传输事务发送到AXI写通道,实现数据的写传输。
B站已给出相关性能的视频,如想进一步了解,请搜索B站用户:专注与守望
链接:https://space.bilibili.com/585132944/dynamic?spm_id_from=333.1365.list.card_title.click

页: [1]
查看完整版本: NVMe高速传输之摆脱XDMA设计19: PCIe应答模块设计