一种NVMe命令的处理方法、装置及可读存储介质制造方法及图纸

技术编号:32873635 阅读:12 留言:0更新日期:2022-04-02 12:04
本发明专利技术公开了一种NVMe命令的处理方法、装置及可读存储介质,方法包括:创建admin配置信息管理表;接收主机发送的NVMe命令,并对所述NVMe命令进行识别;若是所述NVMe命令为admin命令,则获取所述admin命令的操作类型并基于所述操作类型和所述admin配置信息管理表对所述admin命令进行处理。通过本发明专利技术的方案,解决了NVMe命令中admin控制流和IO数据流强耦合问题,提高了主机与固态硬盘的数据传输速率。提高了主机与固态硬盘的数据传输速率。提高了主机与固态硬盘的数据传输速率。

【技术实现步骤摘要】
一种NVMe命令的处理方法、装置及可读存储介质


[0001]本专利技术涉及数据处理
,尤其涉及一种NVMe命令的处理方法、装置及可读存储介质。

技术介绍

[0002]近年来随着存储技术的高速发展,NVMe设备的使用场景已经越来越广泛。从居民生活领域来看,越来越多的PC机、移动硬盘等已经在大规模使用NVMe协议SSD(Solid State Disk,固态硬盘);从工业生产领域来看,越来越多的企业级用户开始采用以PCIe+NVMe的组合方式,实现高速、安全的存储。由此可见,NVMe技术的普及已经是大势所趋,致力于提高用户使用体验,引领潮流发展。现阶段NVMe协议的使用,大部分情况下都是直连NVMe固态硬盘,admin控制流和IO数据流处于混合处理状态,并未进行分流,其典型流程如下:常规操作下,根据NVMe协议约束,主机侧需要执行某种操作时,会按照如下策略执行:1、首先,主机写命令到SQ;2、主机Doorbell寄存器通知SSD取指令;3、NVMe SSD控制器收到通知后,到SQ队列取指令;4、SSD执行指令;5、指令执行完成后,SSD往CQ中写指令执行结果;6、SSD发中断通知主机去检查CQ中的返回结果;7、主机CQ指令处理完成后通过Doorbell寄存器回复SSD,更新CQ Head Doorbell。然而,上述业务流程中,我们已经知悉admin命令实际上属于NVMe协议的控制流,主要在上针对NVMe SSD配置、管理、特性设置、特性获取等功能,并不直接参与IO操作;而实际业务流程中,NVMe IO命令流实际上才是真正的主流业务,相反admin配置流在初始上电过程交互频繁,在系统初始上电阶段,主机需要与磁盘交互过程,此时主机为了与各个磁盘建立“通路”,会大量出现以下场景,比如:频繁下发各类重复设置命令、各种反复查询命令、异常命令等场景,由此可知,把admin控制流和IO数据流在主机与硬盘的交互过程中,尤其是在复杂业务场景下混合处理并不是最佳策略。

技术实现思路

[0003]有鉴于此,本专利技术提出了一种NVMe命令的处理方法、装置及可读存储介质,解决了现有技术中NVMe命令存在的admin控制流和IO数据流强耦合问题;在“上游”层级将admin控制流和IO数据流去耦合,从而加速完成主机与固态硬盘的交互过程,提高了主机与固态硬盘的交互速率以及数据传输速率,提高了存储系统的上电配置效率,尤其是在复杂架构下主机与固态硬盘的交互速率提升更加明显。
[0004]基于上述目的,本专利技术实施例的一方面提供了一种NVMe命令的处理方法,具体包括如下步骤:
[0005]创建admin配置信息管理表;
[0006]接收主机发送的NVMe命令,并对所述NVMe命令进行识别;
[0007]若是所述NVMe命令为admin命令,则获取所述admin命令的操作类型并基于所述操作类型和所述admin配置信息管理表对所述admin命令进行处理。
[0008]在一些实施方式中,基于所述操作类型和所述admin配置信息管理表对所述admin
命令进行处理包括:
[0009]若是所述操作类型为set类命令,则获取所述set类命令中的参数信息,将所述参数信息与所述admin配置信息管理表中对应的参数信息进行对比;
[0010]若是所述参数信息与所述对应的参数信息一致,则将执行结果返回给所述主机。
[0011]在一些实施方式中,方法进一步包括:若所述参数信息与所述对应的参数信息不一致,则将所述参数信息更新到所述admin配置信息管理表,并驱动固态硬盘执行所述命令。
[0012]在一些实施方式中,基于所述操作类型和所述admin配置信息管理表对所述admin命令进行处理还包括:
[0013]若是所述操作类型为get类命令,则获取所述get类命令的命令类型,并根据所述命令类型对所述get类命令进行处理。
[0014]在一些实施方式中,方法进一步包括:将admin命令的命令类型定义为一类命令和二类命令;
[0015]根据所述命令类型对所述get类命令进行处理包括:
[0016]若是所述命令类型是所述一类命令,则从固态硬盘获取所述一类命令对应的一类参数,并将所述对应的一类参数通过完成队列返回给主机。
[0017]在一些实施方式中,根据所述命令类型对所述get类命令进行处理还包括:
[0018]若是所述命令类型是所述二类命令,则从所述admin配置信息管理表获取所述二类命令对应的二类参数,并将所述对应的二类参数通过完成队列返回给主机。
[0019]在一些实施方式中,方法进一步包括:若是所述NVMe命令为IO命令,则通过透传通道透传所述IO命令到固态硬盘以通过所述固态硬盘执行所述IO命令。
[0020]在一些实施方式中,方法进一步包括:创建异常命令记录表;
[0021]若是所述NVMe命令为异常命令,则将异常命令信息记录到所述异常命令记录表。
[0022]本专利技术实施例的另一方面,还提供了一种NVMe命令的处理装置,包括:
[0023]创建模块,所述创建模块配置为创建admin配置信息管理表;
[0024]命令识别模块,所述命令识别模块配置为接收主机发送的NVMe命令,并对所述NVMe命令进行识别;
[0025]admin模块,所述admin模块配置为若是所述NVMe命令为admin命令,则获取所述admin命令的操作类型并基于所述操作类型和所述admin配置信息管理表对所述admin命令进行处理。
[0026]本专利技术实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。
[0027]本专利技术至少具有以下有益技术效果:通过预先创建admin配置信息管理表用于存储固态硬盘的参数信息,在主机与固态硬盘交互时,若是识别出NVMe命令为admin命令后,通过admin配置信息管理表将主机需要的信息快速提供给主机,不必再从硬盘获取,缩短了数据传输路径,提高了数据传输效率,尤其提高了交互频繁的复杂场景下的数据传输效率;若是识别出NVMe命令为IO命令后,则通过透传通道将IO命令直接传输到固态硬盘,保证了主机与固态硬盘的数据传输效率;若是识别出NVMe命令为异常命令,则将异常命令记录到异常命令记录表以便于后续追踪错误。
附图说明
[0028]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
[0029]图1为本专利技术提供的NVMe命令的处理方法的一实施例的框图;
[0030]图2为本专利技术提供的NVMe命令的处理装置的一实施例的示意图;
[0031]图3为本专利技术提供的计算机可读存储介质的一实施例的结构示意图本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种NVMe命令的处理方法,其特征在于,包括:创建admin配置信息管理表;接收主机发送的NVMe命令,并对所述NVMe命令进行识别;若是所述NVMe命令为admin命令,则获取所述admin命令的操作类型并基于所述操作类型和所述admin配置信息管理表对所述admin命令进行处理。2.根据权利要求1所述的方法,其特征在于,基于所述操作类型和所述admin配置信息管理表对所述admin命令进行处理包括:若是所述操作类型为set类命令,则获取所述set类命令中的参数信息,将所述参数信息与所述admin配置信息管理表中对应的参数信息进行对比;若是所述参数信息与所述对应的参数信息一致,则将执行结果返回给所述主机。3.根据权利要求2所述的方法,其特征在于,进一步包括:若所述参数信息与所述对应的参数信息不一致,则将所述参数信息更新到所述admin配置信息管理表,并驱动固态硬盘执行所述命令。4.根据权利要求2所述的方法,其特征在于,基于所述操作类型和所述admin配置信息管理表对所述admin命令进行处理还包括:若是所述操作类型为get类命令,则获取所述get类命令的命令类型,并根据所述命令类型对所述get类命令进行处理。5.根据权利要求4所述的方法,其特征在于,进一步包括:将admin命令的命令类型定义为一类命令和二类命令;根据所述命令类型对所述get类命令进行处理包括:若是所述命令类型是所述一类命令,则从...

【专利技术属性】
技术研发人员:汪勋徐江波母文道崔健
申请(专利权)人:山东云海国创云计算装备产业创新中心有限公司
类型:发明
国别省市:

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

1