完成信息解析模块用于解析NVMe命令执行完成后返回的信息。该模块首先提取完成信息中的Status Field字段和ID号。通过检查Status Field字段,判断NVMe命令是否成功执行。若命令成功执行,则释放对应ID号的SQ中的缓存空间,以便新的NVMe提交命令使用。若命令执行失败,则将Error信号被拉高,并将该ID号反馈给队列管理模块,以便重新发送该命令。
为了提升系统传输效率,将NVMe命令执行流程中的中断步骤取消,不通过中断的方式来通知Host检查完成信息,而是利用硬件电路的并行特点,实时对完成信息进行检测。并通过添加一级寄存器来提高效率,可以不间断的接收完成信息,其工作流程为:
(1)接收128bit的完成信息,并将Status Field字段、ID字段、SQ Head Pointer字段和CQ Tail Pointer字段提取出来;
(2)判断Status Field字段的值是否为000000000000000b,若是则将done信号拉高,同时将ID字段传输至队列管理模块,否则将Error信号拉高。
审核编辑 黄宇
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
FPGA
+关注
关注
1664文章
22571浏览量
640736 -
控制器
+关注
关注
114文章
17915浏览量
195809 -
nvme
+关注
关注
0文章
304浏览量
23952
发布评论请先 登录
相关推荐
热点推荐
TPS53015 Buck控制器评估模块:设计与测试全解析
TPS53015 Buck控制器评估模块:设计与测试全解析 在电子工程师的日常工作中,评估模块是验证和开发电源解决方案的重要工具。今天,我们来深入探讨德州仪器(Texas Instru
TPS5124 Buck控制器评估模块:设计与应用全解析
TPS5124 Buck控制器评估模块:设计与应用全解析 在电子设计领域,电源管理模块的性能直接影响着整个系统的稳定性和效率。TPS5124 Buck
NVMe高速传输之摆脱XDMA设计50:主要功能测试结果与分析2 nvmePCIe高速存储
。
2) NVMe初始化
NVMe初始化是通过PCIe总线与控制器进行配置和通信的过程,它主要包括硬件加电、链路训练、队列配置及命令协商等,下面给出相关测试图。
启动 NVMe
发表于 12-01 09:32
NVMe高速传输之摆脱XDMA设计44:工程设计考量?
运行过程和测试结果。 NoPHAE 模块为课题设计的 NoP 逻辑加速引擎, ctrl_axi 控制总线接口连接到CPU, data_axi数据传输总线连接到MIG控制器与DDR对接, PCIe接口
发表于 11-12 09:52
NVMe高速传输之摆脱XDMA设计37:队列管理功能验证与分析1
。 测试点与对应测试步骤如表 1所示。
表 1 队列管理功能验证步骤
(1) 创建队列功能测试结果
测试步骤 1、 2 关键信号波形如图1 所示。 在配置队列控制寄存器后, 队列管理模块根据创建
发表于 10-13 11:17
NVMe高速传输之摆脱XDMA设计30: NVMe 设备模型设计
设备则需要开启至少 8KB 的 BAR0 空间, BAR0 地址空间中存放 NVMe 设备寄存器组, 其中包含了初始化过程中需要使用的控制器功能寄存器、
发表于 09-29 09:31
NVMe高速传输之摆脱XDMA设计20: PCIe应答模块设计
应答模块的具体任务是接收来自PCIe链路上的设备的TLP请求,并响应请求。由于基于PCIe协议的NVMe数据传输只使用PCIe协议的存储器读请求TLP和存储器写请求TLP,应答
发表于 08-12 16:04
NVMe高速传输之摆脱XDMA设计17:PCIe加速模块设计
axis请求方请求接口信号(axis_rq),以及解析axis请求方完成接口信号(axis_rc);应答模块负责接收axis完成方请求接口信号(axis_cq),将请求内容转化为AXI
发表于 08-07 18:57
NVMe高速传输之摆脱XDMA设计14: PCIe应答模块设计
应答模块的具体任务是接收来自PCIe链路上的设备的TLP请求,并响应请求。由于基于PCIe协议的NVMe数据传输只使用PCIe协议的存储器读请求TLP和存储器写请求TLP,应答
发表于 08-04 16:44
NVMe高速传输之摆脱XDMA设计九:队列管理模块设计(上)
初始化时按照队列深度依次连续分配,而门铃头指针则由完成队列管理单元更新。当指令控制模块需要向某一个提交队列写入提交条目时,提交队列管理单元首先读取所选则队列的表单信息,根据起始偏移地址
发表于 07-27 17:41
NVMe高速传输之摆脱XDMA设计之十:NVMe初始化状态机设计
DISABLE_CC状态。
RD_CAP:读控制器功能寄存器状态。该状态下读取NVMe设备的控制器功能寄存器,获取其中的Memory Pag
发表于 07-05 22:03
NVMe IP高速传输摆脱XDMA设计之四:系统控制模块设计
系统控制模块负责实现 NVMe over PCI 逻辑加速引擎的控制功能, 其结构如图 1 所示。 用户通过系统控制
发表于 06-29 18:07
NVMe协议研究扫盲
协议栈的执行流程密切相关。NVMe Host端的命令需要经过文件系统层、块设备层、驱动层等多个层次的处理,同时NVMe协议栈中的队列设计、乱序执行、完成信息检查等流程也十分复杂,加之嵌
发表于 06-02 23:28
NVMe控制器之完成信息解析模块
评论