NVMe协议命令处理方法与装置制造方法及图纸

技术编号:24707773 阅读:54 留言:0更新日期:2020-06-30 23:56
公开了NVMe协议命令处理方法与装置。所公开的实施例提供了在终端设备中处理NVMe协议命令的方法、装置及系统,在处理NVMe协议命令的过程中,一个NVMe协议命令对应于一个命令ID,一个命令ID对应于一个缓存区域,第一控制器通过第一队列和第三队列,将处理NVMe协议命令所需的指令发送至第二控制器,第二控制器通过第二队列和第四队列,将处理NVMe协议命令所需的指令发送至第一控制器,第一控制器和第二控制器根据所述命令ID,从所述命令ID对应的缓存区域获取处理NVMe协议命令所需的信息,从而实现终端设备中处理NVMe协议命令。

【技术实现步骤摘要】
NVMe协议命令处理方法与装置
本专利技术涉及信息处理
,特别是涉及NVMe协议命令处理方法。
技术介绍
主机与终端设备之间基于队列进行数据交换,如图10所示。主机创建提交队列和完成队列,主机将进行数据交换所需的命令填充至提交队列。终端设备从提交队列中获取命令,并对根据该命令的内容进行处理,将对该命令的处理结果填充至完成队列。主机从完成队列中获取该命令的处理结果,该命令处理完成。目前,主机与终端设备之间按照上述过程实现数据交换时,由高速非易失存储(Non-VolatileMemoryExpress,NVMe)协议规定了主机填充至提交队列的命令,以及所采用的数据结构。但是,NVMe协议中并未规定终端设备如何处理NVMe协议规定的命令。
技术实现思路
本专利技术解决的技术问题在于提供一种NVMe协议命令处理方法、装置及系统,从而创造性的提供了终端设备处理NVMe协议命令的实现方案。为此,本专利技术解决技术问题的技术方案是:本专利技术实施例提供一种NVMe协议命令处理方法,包括:<br>第一控制器从主本文档来自技高网...

【技术保护点】
1.一种NVMe协议命令处理方法,其特征在于,包括:/n响应于要处理来自主机的NVMe协议命令,将所述NVMe协议命令存储至第一命令ID所对应的缓存区域,将所述第一命令ID填充至第一队列;/n响应于收到来自第二队列的第二命令ID,根据第二命令ID获取数据传输信息;根据所述数据传输信息发起所述主机与终端设备之间的数据传输;/n响应于数据传输完成,将所述第二命令ID填充至第三队列;/n响应于收到来自第四队列的第三命令ID,根据所述第三命令ID获取NVMe协议命令完成信息并发送给所述主机。/n

【技术特征摘要】
1.一种NVMe协议命令处理方法,其特征在于,包括:
响应于要处理来自主机的NVMe协议命令,将所述NVMe协议命令存储至第一命令ID所对应的缓存区域,将所述第一命令ID填充至第一队列;
响应于收到来自第二队列的第二命令ID,根据第二命令ID获取数据传输信息;根据所述数据传输信息发起所述主机与终端设备之间的数据传输;
响应于数据传输完成,将所述第二命令ID填充至第三队列;
响应于收到来自第四队列的第三命令ID,根据所述第三命令ID获取NVMe协议命令完成信息并发送给所述主机。


2.如权利要求1所述的方法,其特征在于,所述方法还包括:
申请命令ID,若申请命令ID成功,从主机获取要处理的NVMe协议命令;以及若申请命令ID失败,再次申请命令ID。


3.如权利要求1或2所述的方法,其特征在于,
命令ID对应多个缓存区域,分别用于存储NVMe协议命令、数据传输信息与NVMe协议命令完成信息;以及
根据所述第三命令ID获取NVMe协议命令完成信息是从与所述第三命令ID对应的缓存区域中获取NVMe协议命令完成信息;根据第二命令ID获取数据传输信息是从与所述第二命令ID对应的缓存区域中获取数据传输信息。


4.一种NVMe协议命令处理方法,其特征在于,包括:
响应于收到来自第一队列的第一命令ID,根据第一命令ID获取第一NVMe协议命令,处理所述第一NVMe协议命令以将第一数据传输信息存储至所述第一命令ID所对应的缓存区域,并将第一命令ID填充至第二队列;
响应于收到来自第三队列的第二命令ID,根据所述第二命令ID判断第二NVMe协议命令是否处理完成;在所述第二NVMe协议命令处理完成时,生成第二NVMe协议命令完成信息,将所述第二NVMe协议命令完成信息存储至所述第二命令ID所对应的缓存区域,并将第二命令ID填充至第四队列。


5.如权利要求4所述的方法,其特征在于,所述方法还包括:
判断所述第二NVMe协议命令是否处理完成,在所述第二NVMe协议命令处理未完成时,将第二数据传输信息存储至所述第二命令ID所对应的缓存区域,并将第二命令ID填充至第二队列。


6.如权利要求4或5所述的方法,其特征在于,响应于收到来自第三队列的第二命令ID,所述方法还包括:更新所述第二NVMe协议命令,以指示所述第二NVMe协议命令的处理进度。


7.一种NVMe协议命令处理方法,其特征在于,包括:
第一控制器响应于要处理来自主机的第一NVMe协议命令,申请命令ID并得到第一命令ID,将所述NVMe协议命令存储至所述第一命令ID所对应的缓存区域,将所述第一命令ID填充至第一队列;
第二控制器响应于收到来自第一队列的第一命令ID,根据第一命令ID获取第一NVMe协议命令,处理所述第一NVMe协议命令以将第一数据传输信息存储至所述第一命令ID所对应的缓存区域,并将第一命令ID填充至第二队列;
所述第一控制器响应于收到来自第二队列的第一命令ID,根据第一命令ID获取数据传输信息,根据所述数据传输信息发起所述主机与终端设备之间的数据传输;响应于数据传输完成,将所述第一命令ID填充至第三队列;
所述第二控制器响应于收到来自第三队列的第一命令ID,根据所述第一命令ID判断第一NVMe协议命令是否处理完成;在所述第一NVMe协议命令处理完成时,生成第一NVMe协议命令完成信息,将所述第一NVMe协议命令完成信息存储至所述第一命令ID所对应的缓存区域,并...

【专利技术属性】
技术研发人员:汤峰
申请(专利权)人:北京忆芯科技有限公司
类型:发明
国别省市:北京;11

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

1