NVMeSSD磁盘管理的软硬引擎切换方法、终端及存储介质技术

技术编号:36539651 阅读:23 留言:0更新日期:2023-02-01 16:34
本发明专利技术涉及存储技术领域,具体涉及NVMe SSD磁盘管理的软硬引擎切换方法、终端及存储介质。该方法包括:S10、主机向RAID控制卡发出的IO请求;S20、主机接口管理引擎对IO请求进行预处理,将预处理后的数据发送给IO工作队列管理引擎;S30、IO工作队列管理引擎根据接收的数据以IO方式进行任务派发,若NVMe IOP HW引擎在位状态正常,则派发给NVMe IOP HW引擎完成落盘操作,否则,IO工作队列管理引擎派发给NVMe IOP SW引擎执行落盘操作,并由NVMe IOP SW引擎完成对硬件引擎的异常恢复和记录。本发明专利技术采用“硬件NVMe IOP引擎为主,软件NVMe IOP引擎为辅,软硬件引擎快速软切换”的软硬件引擎协同工作的方法,从而达成以硬件IOP为主引擎保障高IOPS,以软件IOP引擎作为安全备份。以软件IOP引擎作为安全备份。以软件IOP引擎作为安全备份。

【技术实现步骤摘要】
NVMe SSD磁盘管理的软硬引擎切换方法、终端及存储介质


[0001]本专利技术涉及存储
,尤其涉及NVMe SSD磁盘管理的软硬引擎切换方法、终端及存储介质。

技术介绍

[0002]近年来随着现代数据中心业务量的与日俱增,大型服务器上运行和存储的数据急剧增多,同时,对数据存储速度的要求也越来越高;在此背景下,单个物理盘从容量和安全性上也慢慢不足以支持大型系统的业务,故需要将多个硬盘以特定方式组合起来当做逻辑硬盘来使用,RAID技术的工程应用就此发端。
[0003]从广义技术上讲,RAID常见的使用方式主要有两种:
[0004]一是软件RAID,即操作系统的软RAID,没有独立硬件和接口,需要占用一定的系统资源(如CPU资源等),并且容易受到操作系统稳定性影响,成本较低,但是性能也相对较差;
[0005]二是硬件RAID卡,即独立的RAID卡,其内部有独立的硬件引擎(如IO处理引擎)和各种缓存资源,各个引擎负责特定的任务,原则上不需要占用其他硬件资源,成本比较高,但是性能也比较好。
[0006]综上可知,软件RAID卡容易性能受限,而硬件RAID卡过去大部分支持的是各类HDD(如SAS HDD、SATA HDD),对SSD尤其是NVMe SSD的研究较少,且支持能力非常有限。
[0007]即使市场上现有支持NVMe SSD的硬件RAID控制卡的各类产品中,也只是由RAID卡的硬件引擎单独来支撑NVMe IO的落盘需求。虽然落盘性能上有明显提升,但是由此也带来较大潜在风险,比如在复杂工况下,如高温、潮湿、震动、电磁干扰等恶劣条件下,硬件引擎也可能出现偶发短暂卡顿、故障甚至宕机,此时在传统硬件RAID卡中,硬件引擎既无备份方案也无法自恢复,主机IO数据必然丢失,对此用户显然无法容忍;另外,从商业角度分析,也存在硬RAID卡中定义快慢盘,提供不同速率服务的需求。
[0008]由此可见,使用传统的NVMe硬件RAID卡,单独由硬件引擎来支撑NVMe IO的落盘需求,在上述问题场景中,都无法有效解决上述性能问题和安全问题,存在硬件引擎异常、丢失数据且无法自恢复的潜在风险。

技术实现思路

[0009]为了解决上述现有技术中存在的技术问题,本专利技术提供了一种NVMe SSD磁盘管理的软硬引擎切换方法、终端及存储介质。
[0010]为实现上述目的,本专利技术实施例提供了如下的技术方案:
[0011]第一方面,在本专利技术提供的一个实施例中,提供了NVMe SSD磁盘管理的软硬引擎切换方法,该方法包括以下步骤:
[0012]S10、主机向RAID控制卡发出的IO请求;
[0013]S20、主机接口管理引擎对IO请求进行预处理,将预处理后的数据发送给IO工作队列管理引擎;
[0014]S30、IO工作队列管理引擎根据接收的数据以IO方式进行任务派发,若NVMe IOP HW引擎在位状态正常,则派发给NVMe IOP HW引擎完成落盘操作,否则,IO工作队列管理引擎派发给NVMe IOP SW引擎执行落盘操作,并由NVMe IOP SW引擎完成对硬件引擎的异常恢复和记录。
[0015]作为本专利技术的进一步方案,所述落盘操作,其具体为按照NVMe标准协议组织SQE下发给磁盘并接收CQE。
[0016]作为本专利技术的进一步方案,系统配置NVMe IOP HW引擎的引擎号系统定义为engine0,其对应管理的磁盘称为Disk0;NVMe IOP SW引擎的引擎号系统定义为engine1,其对应管理的磁盘为Disk1。
[0017]作为本专利技术的进一步方案,还包括当NVMe IOP HW引擎管理磁盘时,则执行下述策略:
[0018]在NVMe IOP SW中创建Disk0的CQ和SQ,更改系统配置,把处理Disk0IO任务的引擎号由engine0改为engine1,后续对Disk0的IO操作就会分发给engine1;
[0019]系统根据引擎故障分析,关闭对应盘channel,清除相关资源;
[0020]重新打开channel,NVMe IOP Disk0对应的本地Vcode寄存器执行+1操作;
[0021]后续NVMe IOP HW引擎收到关于Disk0的IO任务,则无需处理。
[0022]作为本专利技术的进一步方案,步骤S30、还包括当NVMe IOP HW引擎有空余资源,且NVMe IOP SW引擎所属的磁盘有提速需求时,则亦可反向执行软切换流程,由NVMe IOP HW引擎接管原本NVMe IOP SW引擎管理的磁盘。
[0023]作为本专利技术的进一步方案,当NVMe IOP SW引擎下挂磁盘有提速需求时,则发起软切换流程,执行下述策略:
[0024]系统通知在NVMe IOP HW中创建Disk0的CQ和SQ,更改系统配置,把处理Disk0 IO任务的引擎号为engine0;
[0025]由NVMe IOP SW引擎流程关闭该原始Ch,清除相关资源;
[0026]Disk0对应的本地Vcode寄存器执行+1操作;
[0027]此后NVMe IOP SW引擎收到关于Disk1的IO任务,则无需处理。
[0028]作为本专利技术的进一步方案,所述发起软切换流程启动需要满足下述条件:
[0029]硬件IOP引擎支持接管多余磁盘;
[0030]同时,软件IOP引擎所属磁盘有提速需求;
[0031]系统为需求来源的磁盘发起软切换流程。
[0032]作为本专利技术的进一步方案,当NVMe IOP HW引擎出现故障,无法再正常给Disk0下发IO命令时,则此时就需要NVMe IOP SW引擎接管Disk0,此后由NVMe IOP SW引擎接收Disk0的相关IO需求。
[0033]第二方面,在本专利技术提供的又一个实施例中,提供了一种终端,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器加载并执行所述计算机程序时实现NVMe SSD磁盘管理的软硬引擎切换方法的步骤。
[0034]第三方面,在本专利技术提供的再一个实施例中,提供了一种存储介质,存储有计算机程序,所述计算机程序被处理器加载并执行时实现所述NVMe SSD磁盘管理的软硬引擎切换方法的步骤。
[0035]本专利技术提供的技术方案,具有如下有益效果:
[0036]本专利技术提供的NVMe SSD磁盘管理的软硬引擎切换方法、终端及存储介质,NVMe IOP HW引擎作为主引擎,NVMe IOP SW引擎作为辅引擎,二者执行快速软切换的策略。正常工作流程中,RAID控制卡首先收到来自主机的IO请求,然后经过主机接口管理引擎的预处理,再由IO工作队列管理引擎以IO任务派发的方式,若NVMe IOP HW引擎在位状态正常,则优先派发给NVMe IOP HW引擎完成落盘操作;否则,IO工作队列管理引擎派发给NVMe IOP SW引擎执行落盘操作,并由NVMe IOP SW引擎完成对硬件引擎的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种NVMe SSD磁盘管理的软硬引擎切换方法,其特征在于,该方法包括:S10、主机向RAID控制卡发出的IO请求;S20、主机接口管理引擎对IO请求进行预处理,将预处理后的数据发送给IO工作队列管理引擎;S30、IO工作队列管理引擎根据接收的数据以IO方式进行任务派发,若NVMe IOP HW引擎在位状态正常,则派发给NVMe IOP HW引擎完成落盘操作,否则,IO工作队列管理引擎派发给NVMe IOP SW引擎执行落盘操作,并由NVMe IOP SW引擎完成对硬件引擎的异常恢复和记录。2.如权利要求1所述的NVMe SSD磁盘管理的软硬引擎切换方法,其特征在于,所述落盘操作,其具体为按照NVMe标准协议组织SQE下发给磁盘并接收CQE。3.如权利要求1所述的NVMe SSD磁盘管理的软硬引擎切换方法,其特征在于,初始上电状态下,系统配置NVMe IOP HW引擎的引擎号系统定义为engine0,其对应管理的磁盘称为Disk0;NVMe IOP SW引擎的引擎号系统定义为engine1,其对应管理的磁盘为Disk1。4.如权利要求3所述的NVMe SSD磁盘管理的软硬引擎切换方法,其特征在于,还包括当NVMe IOP HW引擎管理磁盘时,则执行下述策略:在NVMe IOP SW中创建Disk0的CQ和SQ,更改系统配置,把处理Disk0 IO任务的引擎号由engine0改为engine1,后续对Disk0的IO操作就会分发给engine1;系统根据引擎故障分析,关闭对应盘channel,清除相关资源;重新打开channel,NVMe IOP Disk0对应的本地Vcode寄存器执行+1操作;后续NVMe IOP HW引擎收到关于Disk0的IO任务,则无需处理。5.如权利要求3所述的NVMe SSD磁盘管理的软硬引擎切换方法,其特征在于,步骤S30...

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

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

1