一种NVMe协议管理命令处理的硬件卸载方法技术

技术编号:24090657 阅读:105 留言:0更新日期:2020-05-09 07:55
本发明专利技术涉及一种NVMe协议管理命令处理的硬件卸载方法,其中,包括:将硬件逻辑分为命令接收模块、命令分析模块以及命令处理模块;命令接收模块接收来自PCIe IP核的NVMe管理命令,接收到的命令存储在本地缓存命令FIFO中;命令分析模块检测该FIFO的空标志,如果该FIFO不为空,则读取该FIFO中的命令,读取完成之后,提取管理命令中的操作码,并参照NVMe协议,识别出不同的NVMe管理命令,交由命令处理模块进行处理;命令处理模块接收来自命令分析模块中分析的指令,针对不同指令处理不同的NVMe管理命令。本发明专利技术可以提高NVMe管理命令的响应处理时间,能够提高大容量固态盘的能效比。

A hardware unloading method for nvme protocol management command processing

【技术实现步骤摘要】
一种NVMe协议管理命令处理的硬件卸载方法
本专利技术涉及高能效固态存储领域,特别涉及NVMe协议管理命令处理的硬件卸载方法。
技术介绍
现有固态盘控制器通常采用CPU与专用电路协同处理主机下发的NVMe管理命令,其处理流程在命令分析阶段有所不同,专用电路收到NVMe管理命令之后,CPU检测标志位,通过片上总线从专用电路中读取NVMe管理命令,读取完之后,在CPU上对这些命令进行分析,针对不同命令,给专用电路下发不同的处理命令,处理这些管理命令。固态盘控制器CPU与专用电路交互一次需要消耗多个时钟周期,每个提交命令有64字节,总线位宽32位,需要消耗16次交互,总的交互时间已经达到us级,再加上CPU对NVMe管理命令的分析处理,时间消耗较大;而且固态盘控制器的CPU任务较多,需要不断巡检专用硬件电路中命令有无的标志位,消耗CPU的处理资源,不利于固态盘提高性能。
技术实现思路
本专利技术涉及一种NVMe协议管理命令处理的硬件卸载方法,用于解决NVMe管理命令处理占用CPU资源,同时提高NVMe管理命令的响应速度的问本文档来自技高网...

【技术保护点】
1.一种NVMe协议管理命令处理的硬件卸载方法,其特征在于,包括:/n将硬件逻辑分为命令接收模块、命令分析模块以及命令处理模块;/n命令接收模块接收来自PCIe IP核的NVMe管理命令,接收到的命令存储在本地缓存命令FIFO中;命令分析模块检测该FIFO的空标志,如果该FIFO不为空,则读取该FIFO中的命令,读取完成之后,提取管理命令中的操作码,并参照NVMe协议,识别出不同的NVMe管理命令,交由命令处理模块进行处理;命令处理模块接收来自命令分析模块中分析的指令,针对不同指令处理不同的NVMe管理命令。/n

【技术特征摘要】
1.一种NVMe协议管理命令处理的硬件卸载方法,其特征在于,包括:
将硬件逻辑分为命令接收模块、命令分析模块以及命令处理模块;
命令接收模块接收来自PCIeIP核的NVMe管理命令,接收到的命令存储在本地缓存命令FIFO中;命令分析模块检测该FIFO的空标志,如果该FIFO不为空,则读取该FIFO中的命令,读取完成之后,提取管理命令中的操作码,并参照NVMe协议,识别出不同的NVMe管理命令,交由命令处理模块进行处理;命令处理模块接收来自命令分析模块中分析的指令,针对不同指令处理不同的NVMe管理命令。


2.如权利要求1所述的NVMe协议管理命令处理的硬件卸载方法,其特征在于,命令分析模块采用状态机的方式实现,由6个状态描述,分别是空闲状态、读取缓存命令FIFO状态、提取操作码状态、判断命令状态、发送识别命令状态和发送其他指令状态。


3.如权利要求1所述的NVMe协议管理命令处理的硬件卸载方法,其特征在于,
在空闲状态下,检测命令接收模块中缓存命令FIFO的空标志,如果该FIFO为空,则表示没有收到NVMe管理命令,状态保持在空闲状态;当缓存命令FIFO不为空,则表示有NVMe管理命令待处理,状态跳转到读取FIFO状态;
在读取缓存命令FIFO状态下,读取NVMe管理命令,缓存命令FIFO位宽为128位,该状态持续至读取一次提交命令的时间,然后状态跳转到提取操作码状态;
在提取操作码状态,提取NVMe管理提交命令中的操作码,提取完成之后,状态跳转到判断命令状态;
在判断命令状态下,判断NVMe管理命令是否为识别命令,如果为识别命令,则状态跳转到发送识别命令状态;如果不是识别命令,则状态跳转到发送其他指令状态;
在发送识别命令状态下,向命令处理模块发送操作码和PCIe地址,发送完成之后,状态跳转到空闲状态;
在发送其他指令状态下,向命令处理模块发送其他指令,该其他指令中包含操作码等信息,发送完成之后,状态跳转到空闲状态。


4.如权利要求1所述的NVMe协议管理命令处理的硬件卸载方法,其特征在于,命令处理模块采用状态机的方式实现,由10个状态描述,分别是空闲状态、提取有效数据状态、判断命令类型状态、ROM读状态、PCIe请求状态、等待PCIe应答状态、PCIe写数据状态、判断命令是否完成状态、命令完成状态和写寄存器状态。


5.如权利要求1所述的NVMe协议管理命令处理的硬件卸载方法,其特征在于,
在空闲状态下...

【专利技术属性】
技术研发人员:冯志华裴可安东博万星李艳婷原晋杰梁书铭余仲
申请(专利权)人:北京计算机技术及应用研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1