NVMe磁盘阵列数据处理方法、装置、设备及存储介质制造方法及图纸

技术编号:36358057 阅读:53 留言:0更新日期:2023-01-14 18:14
本申请公开了一种NVMe磁盘阵列数据处理方法、装置、设备及存储介质,获取对基于Raid方法搭建目标NVMe磁盘阵列进行操作的目标NVMe命令;提取目标NVMe命令中的Raid参数信息;解析目标NVMe命令的类型;若目标NVMe命令为读写命令,则基于Raid参数信息将目标NVMe命令转换为对应的Raid命令,以使Raid执行引擎基于Raid命令对目标NVMe磁盘阵列进行数据读写;若目标NVMe命令为非读写命令,则基于Raid参数信息将目标NVMe命令转换为对应的异常命令,以使目标NVMe磁盘阵列的CPU基于异常命令对目标NVMe磁盘阵列进行数据处理;提高了NVMe磁盘阵列的数据处理效率。据处理效率。据处理效率。

【技术实现步骤摘要】
NVMe磁盘阵列数据处理方法、装置、设备及存储介质


[0001]本申请涉及存储
,更具体地说,涉及NVMe磁盘阵列数据处理方法、装置、设备及存储介质。

技术介绍

[0002]近年来随着存储技术的高速发展,NVMe(Non Volatile Memory Express,非易失性内存接口规范)设备的使用场景已经越来越广泛。NVMe是一种非易失性内存主机控制器接口规范,该标准协议具有低延时、高并发以及低功耗的特性,是一种高性能、高可扩展的存储协议,用于连接主机和内存子系统。为了进一步提高NVMe磁盘数据的存储性能和可靠性,一般将多个独立的NVMe磁盘组成在一起形成一个大的磁盘系统,即Raid(Redundant Array of Independent Disks,独立磁盘冗余阵列)组独立磁盘冗余阵列。
[0003]常见的Raid组等级包括Raid0、Raid1、Raid5、Raid6、Raid10等。Raid0可以提供非常高的执行性能,基本的读写操作是单块磁盘的N倍(N为组成Raid0的磁盘数)。Raid1在写数据时,将同一份数据无差别的分别写到工作磁盘和镜像磁盘,具有比Raid0更好的可靠性。Raid5是把数据和相对应的奇偶校验信息分别存储于不同的磁盘上,兼顾了存储性能、数据安全和存储成本。Raid6每个数据块有两个校验保护信息,因此数据的可靠性更高。Raid10兼备了Raid 1和Raid 0的优点,从Raid1来看,相当于写双份数据,起到了数据保障的作用,从Raid0来看,数据可分为N(N为组成Raid0的磁盘数)份并发的读写,保障了数据的读写效率。
[0004]虽然可以借助Raid来保证NVMe磁盘阵列的读写效率,但是在NVMe磁盘阵列中依然使用NVMe命令读写命令进行数据处理,由于NVMe命令与NVMe磁盘阵列的匹配度较差,使得NVMe磁盘阵列的数据处理效率较慢。
[0005]综上所述,如何基于NVMe命令快速对NVMe磁盘阵列进行数据处理便是目前本领域技术人员亟待解决的问题。

技术实现思路

[0006]本申请的目的是提供一种NVMe磁盘阵列数据处理方法,其能在一定程度上解决如何基于NVMe命令快速对NVMe磁盘阵列进行数据处理的技术问题。本申请还提供了一种NVMe磁盘阵列数据处理装置、设备及计算机可读存储介质。
[0007]为了实现上述目的,本申请提供如下技术方案:一种NVMe磁盘阵列数据处理方法,包括:获取对目标NVMe磁盘阵列进行操作的目标NVMe命令,所述目标NVMe磁盘阵列基于Raid方法搭建;提取所述目标NVMe命令中的Raid参数信息;解析所述目标NVMe命令的类型;若所述目标NVMe命令为读写命令,则基于所述Raid参数信息将所述目标NVMe命令
转换为对应的Raid命令,以使Raid执行引擎基于所述Raid命令对所述目标NVMe磁盘阵列进行数据读写;若所述目标NVMe命令为非读写命令,则基于所述Raid参数信息将所述目标NVMe命令转换为对应的异常命令,以使所述目标NVMe磁盘阵列的CPU基于所述异常命令对所述目标NVMe磁盘阵列进行数据处理。
[0008]优选的,所述基于所述Raid参数信息将所述目标NVMe命令转换为对应的Raid命令,包括:对所述Raid参数信息进行解析,得到执行引擎参数;基于所述执行引擎参数生成目标微指令序列;对所述目标微指令序列进行封装,得到所述Raid命令。
[0009]优选的,所述对所述Raid参数信息进行解析,得到执行引擎参数,包括:对所述Raid参数信息进行分析,得到第一类参数;对所述第一类参数进行计算,得到第二类参数;将所述第一类参数和所述第二类参数作为所述执行引擎参数。
[0010]优选的,所述基于所述执行引擎参数生成目标微指令序列,包括:基于所述执行引擎参数生成对应的条带微指令;对所述条带微指令进行排序,得到原始微指令序列;对所述原始微指令序列进行优化,得到所述目标微指令序列。
[0011]优选的,所述基于所述执行引擎参数生成对应的条带微指令,包括:按照预设的微指令数据格式对所述执行引擎参数进行转换,得到对应的所述条带微指令;其中,所述微指令数据格式包括微指令特征区和微指令参数区;所述微指令特征区中的参数包括所述条带微指令在所述目标微指令序列中的位置、所述条带微指令的执行方式、所述条带微指令的所述Raid执行引擎、所述条带微指令的调试模式、所述条带微指令的大小、所述条带微指令的执行状态;所述微指令参数区中参数包括基于所述条带微指令的所述Raid执行引擎的功能确定的参数。
[0012]优选的,所述对所述条带微指令进行排序,得到原始微指令序列,包括:基于预设的微指令序列模板对所述条带微指令进行排序,得到所述原始微指令序列;其中,所述微指令序列模板用于根据操作场景定义对应的微指令序列,以及根据所述操作场景定义确定的微指令参数。
[0013]优选的,所述对所述原始微指令序列进行优化,得到所述目标微指令序列,包括:提取所述原始微指令序列中指令处理对象的特征;基于所述指令处理对象的特征,删除所述原始微指令序列中当前不使用的微指令,得到所述目标微指令序列。
[0014]优选的,所述对所述原始微指令序列进行优化,得到所述目标微指令序列,包括:基于所述目标NVMe命令对所述原始微指令序列中的参数重新赋值,得到所述目标微指令序列。
[0015]优选的,所述对所述目标微指令序列进行封装,得到所述Raid命令,包括:
按照预设的Raid命令格式对所述目标微指令序列进行封装,得到所述Raid命令;其中,所述Raid命令格式包括命令特征区、原始NVMe命令区、引擎通用参数区和微指令序列区;所述命令特征区用于存储命令长度、类型、生成时间、操作模式、命令异常类型;所述原始NVMe命令区用于存储所述目标NVMe命令;所述引擎通用参数区用于存储在所述Raid命令的执行过程中、所述Raid执行引擎间的交互信息;所述微指令序列区用于存储所述目标微指令序列。
[0016]优选的,所述基于所述Raid参数信息将所述目标NVMe命令转换为对应的异常命令,包括:按照预设的Raid命令格式,基于所述Raid参数信息将所述目标NVMe命令转换为对应的所述异常命令;其中,所述Raid命令格式包括命令特征区、原始NVMe命令区、引擎通用参数区和微指令序列区;所述命令特征区用于存储命令长度、类型、生成时间、操作模式、命令异常类型;所述原始NVMe命令区用于存储所述目标NVMe命令;所述引擎通用参数区与所述微指令序列区为空。
[0017]优选的,所述提取所述目标NVMe命令中的Raid参数信息,包括:提取所述目标NVMe命令中的所述Raid参数信息,所述Raid参数信息包括Namespace信息、Raid组信息和盘组信息。
[0018]优选的,所述基于所述Raid参数信息将所述目标NVMe命令转换为对应的Raid命令之后,还包括:基于静态映射的方式存储所述Raid命令;基于异步事件的方式本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种NVMe磁盘阵列数据处理方法,其特征在于,包括:获取对目标NVMe磁盘阵列进行操作的目标NVMe命令,所述目标NVMe磁盘阵列基于Raid方法搭建;提取所述目标NVMe命令中的Raid参数信息;解析所述目标NVMe命令的类型;若所述目标NVMe命令为读写命令,则基于所述Raid参数信息将所述目标NVMe命令转换为对应的Raid命令,以使Raid执行引擎基于所述Raid命令对所述目标NVMe磁盘阵列进行数据读写;若所述目标NVMe命令为非读写命令,则基于所述Raid参数信息将所述目标NVMe命令转换为对应的异常命令,以使所述目标NVMe磁盘阵列的CPU基于所述异常命令对所述目标NVMe磁盘阵列进行数据处理。2.根据权利要求1所述的方法,其特征在于,所述基于所述Raid参数信息将所述目标NVMe命令转换为对应的Raid命令,包括:对所述Raid参数信息进行解析,得到执行引擎参数;基于所述执行引擎参数生成目标微指令序列;对所述目标微指令序列进行封装,得到所述Raid命令。3.根据权利要求2所述的方法,其特征在于,所述对所述Raid参数信息进行解析,得到执行引擎参数,包括:对所述Raid参数信息进行分析,得到第一类参数;对所述第一类参数进行计算,得到第二类参数;将所述第一类参数和所述第二类参数作为所述执行引擎参数。4.根据权利要求2所述的方法,其特征在于,所述基于所述执行引擎参数生成目标微指令序列,包括:基于所述执行引擎参数生成对应的条带微指令;对所述条带微指令进行排序,得到原始微指令序列;对所述原始微指令序列进行优化,得到所述目标微指令序列。5.根据权利要求4所述的方法,其特征在于,所述基于所述执行引擎参数生成对应的条带微指令,包括:按照预设的微指令数据格式对所述执行引擎参数进行转换,得到对应的所述条带微指令;其中,所述微指令数据格式包括微指令特征区和微指令参数区;所述微指令特征区中的参数包括所述条带微指令在所述目标微指令序列中的位置、所述条带微指令的执行方式、所述条带微指令的所述Raid执行引擎、所述条带微指令的调试模式、所述条带微指令的大小、所述条带微指令的执行状态;所述微指令参数区中参数包括基于所述条带微指令的所述Raid执行引擎的功能确定的参数。6.根据权利要求4所述的方法,其特征在于,所述对所述条带微指令进行排序,得到原始微指令序列,包括:基于预设的微指令序列模板对所述条带微指令进行排序,得到所述原始微指令序列;其中,所述微指令序列模板用于根据操作场景定义对应的微指令序列,以及根据所述
操作场景定义确定的微指令参数。7.根据权利要求4所述的方法,其特征在于,所述对所述原始微指令序列进行优化,得到所述目标微指令序列,包括:提取所述原始微指令序列中指令处理对象的特征;基于所述指令处理对象的特征,删除所述原始微指令序列中当前不使用的微指令,得到所述目标微指令序列。8.根据权利要求4所述的方法,其特征在于,所述对所述原始微指令序列进行优化,得到所述目标微指令序列,包括:基于所述目标NVMe命令对所述原始微指令序列中的参数重新赋值,得到所述目标微指令序列。9.根据权利要求2所述的方法,其特征在于,所述对所述目标微指令序列进行封装,得到所述Raid命令,包括:按照预设的Raid命令格式对所述目标微指令序列进行封装,得到所述Raid命令;其中,所述Raid命令格式包括命令特征区、原始NVMe命令区、引擎通用参数区和微指令序列区;所述命令特征区用于存储命令长度、类型、生成时间、操作模式、命令异常类型;所述原始NVMe命令区用于存储所述目标NVMe命令;所述引擎通用参数区用于存储在所述Raid命令的执行过程中、所述Raid执行引擎间的交互信息;所述微指令序列区用于存储所述目标微指令序列。10.根据权利要求1所述的方法,其特征在于,所述基于所述Raid参数信息将所述目标NVMe命令转...

【专利技术属性】
技术研发人员:闫鑫巨新刚王江李树青李幸远孙华锦
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1