NVMe Host IP之指令信息收发设计1

1. 指令信息收发模块

该模块主要实现发送提交指令以及接收完成信息的功能。模块端口基于AXI总线,实现SSD控制器作为主设备,而本模块作为从设备的连接关系。同时,为了发挥AXI总线读写通道分离的特性,模块将设计两个控制逻辑来分别控制指令发送操作和信息接收操作,实现两种操作的并行执行,从而提高效率。指令信息收发模块的结构如图1所示。
在这里插入图片描述
本NVMe控制器设计中,Endpoint端的SSD控制器与Host端NVMe控制器交互通过指令信息收发模块的AXI Full总线接口Slave端口实现,实现提交指令的发送以及完成信息的接收。提交队列中的待执行提交指令经模块AXI总线接口的读通道读取,而SSD端返回的完成信息则通过AXI总线写通道写入NVMe控制器中。其中,读地址通道的ARADDR指向提交队列中等待读取的指令存储地址,而写地址通道的awaddr信号则指向当前所传入的完成信息存放位置。根据NVMe协议规范可知,一条完整的提交指令格式为64字节,即512位,但由于所设计的模块AXI总线接口读数据通道的数据位宽为128位,所以提交指令的发送将通过AXI总线突发方式实现,将完整的提交指令拆分为4个部分,依次放至AXI读数据通道中完成突发操作。而NVMe协议所规范的完成信息格式则为128位,因此,相比于需要使用突发模式才能实现发送的提交指令,完成信息的接收过程无需进行突发操作便可完成。同时,考虑到AXI总线读写通道的分离特性,实际运行过程中,提交指令的发送和完成信息的接收两个操作可同时进行,所以模块将通过发送和接收两个状态机分别实现指令收发控制流程。
NVMe host IP 效果见 视频demo (B站 搜 NVMe IP):
https://search.bilibili.com/all?keyword=nvme%20ip&from_source=nav_search_new

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值