0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

NVMe控制器之完成信息解析模块

高速传输与存储 来源:高速传输与存储 作者:高速传输与存储 2025-05-03 15:58 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

完成信息解析模块用于解析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
    的头像 发表于 04-24 13:15 205次阅读

    TPS5124 Buck控制器评估模块:设计与应用全解析

    TPS5124 Buck控制器评估模块:设计与应用全解析 在电子设计领域,电源管理模块的性能直接影响着整个系统的稳定性和效率。TPS5124 Buck
    的头像 发表于 04-24 10:40 225次阅读

    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高速传输摆脱XDMA设计七:系统初始化

    完成后, 可以进入 NVMe 初始化状态, NVMe 初始化也由用户通过系统控制模块启动。 当 NVMe
    发表于 07-04 09:14

    NVMe IP高速传输摆脱XDMA设计四:系统控制模块设计

    系统控制模块负责实现 NVMe over PCI 逻辑加速引擎的控制功能, 其结构如图 1 所示。 用户通过系统控制
    发表于 06-29 18:07

    NVMe IP高速传输却不依赖XDMA设计四:系统控制模块

    系统控制模块负责实现 NVMe over PCI 逻辑加速引擎的控制功能, 其结构如图 1 所示。 用户通过系统控制
    的头像 发表于 06-29 17:52 665次阅读
    <b class='flag-5'>NVMe</b> IP高速传输却不依赖XDMA设计<b class='flag-5'>之</b>四:系统<b class='flag-5'>控制</b><b class='flag-5'>模块</b>

    NVMe协议研究扫盲

    协议栈的执行流程密切相关。NVMe Host端的命令需要经过文件系统层、块设备层、驱动层等多个层次的处理,同时NVMe协议栈中的队列设计、乱序执行、完成信息检查等流程也十分复杂,加之嵌
    发表于 06-02 23:28