一种计算RAID校验盘位置的方法和装置制造方法及图纸

技术编号:32857305 阅读:18 留言:0更新日期:2022-03-30 19:30
本发明专利技术提供了一种计算RAID校验盘位置的方法和装置,该方法包括:获取RAID中的条带大小的信息、数据的逻辑地址、数据所在的盘号、数据盘数量和RAID总盘的数量;基于数据的逻辑地址和条带大小的信息计算当前条带号;基于当前条带号和数据盘数量计算当前条带在盘中的偏移;基于当前条带在盘中的偏移、RAID总盘的数量、数据所在的盘号和数据盘数量计算主条带号;基于主条带号、数据盘数量和RAID总盘的数量计算当前数据的逻辑地址对应的校验盘在RAID阵列中的位置。通过使用本发明专利技术的方案,能够在进行RAID操作时,计算出RAID5或者RAID6的校验盘的位置。校验盘的位置。校验盘的位置。

【技术实现步骤摘要】
一种计算RAID校验盘位置的方法和装置


[0001]本专利技术涉及计算机领域,并且更具体地涉及一种计算RAID校验盘位置的方法和装置。

技术介绍

[0002]RAID(Redundant Arrays of Independent Disks,磁盘阵列)技术作为高性能、高可靠的存储技术,已经得到了非常广泛的应用。RAID主要利用数据条带、镜像和数据校验技术来获取高性能、可靠性、容错能力和扩展性,根据运用或组合运用这三种技术的策略和架构,可以把RAID分为不同的等级,以满足不同数据应用的需求。
[0003]RAID每一个等级代表一种实现方法和技术,等级之间并无高低之分。在实际应用中,应当根据用户的数据应用特点,综合考虑可用性、性能和成本来选择合适的RAID等级,以及具体的实现方式。
[0004]在RAID计算中,除了校验算法外,还有一个比较重要的算法,就是写任何数据盘时,如何计算校验盘位置,由于RAID厂家实际存储的方式不一样,也衍生除了很多不同的计算方法。

技术实现思路

[0005]有鉴于此,本专利技术实施例的目的在于提出一种计算RAID校验盘位置的方法和装置,通过使用本专利技术的技术方案,能够在进行RAID操作时,计算出RAID5或者RAID6的校验盘的位置。
[0006]基于上述目的,本专利技术的实施例的一个方面提供了一种计算RAID校验盘位置的方法,包括以下步骤:
[0007]获取RAID中的条带大小的信息、数据的逻辑地址、数据所在的盘号、数据盘数量和RAID总盘的数量;
[0008]基于数据的逻辑地址和条带大小的信息计算当前条带号;
[0009]基于当前条带号和数据盘数量计算当前条带在盘中的偏移;
[0010]基于当前条带在盘中的偏移、RAID总盘的数量、数据所在的盘号和数据盘数量计算主条带号;
[0011]基于主条带号、数据盘数量和RAID总盘的数量计算当前数据的逻辑地址对应的校验盘在RAID阵列中的位置。
[0012]根据本专利技术的一个实施例,基于数据的逻辑地址和条带大小的信息计算当前条带号包括:
[0013]使用公式:当前条带号=数据的逻辑地址/条带大小的信息计算当前条带号。
[0014]根据本专利技术的一个实施例,基于当前条带号和数据盘数量计算当前条带在盘中的偏移包括:
[0015]使用公式:当前条带在盘中的偏移=当前条带号%数据盘数量计算当前条带在盘
中的偏移。
[0016]根据本专利技术的一个实施例,基于当前条带在盘中的偏移、RAID总盘的数量、数据所在的盘号和数据盘数量计算主条带号包括:
[0017]使用公式:主条带号=(当前条带在盘中的偏移*RAID总盘的数量+数据所在的盘号)/数据盘数量计算主条带号。
[0018]根据本专利技术的一个实施例,基于主条带号、数据盘数量和RAID总盘的数量计算当前数据的逻辑地址对应的校验盘在RAID阵列中的位置包括:
[0019]使用公式:当前数据的逻辑地址对应的校验盘在RAID阵列中的位置=(RAID总盘的数量

(RAID总盘的数量*数据盘数量

(主条带号+1)*数据盘数量)%RAID总盘的数量)%RAID总盘的数量计算当前数据的逻辑地址对应的校验盘在RAID阵列中的位置。
[0020]本专利技术的实施例的另一个方面,还提供了一种计算RAID校验盘位置的装置,装置包括:
[0021]获取模块,获取模块配置为获取RAID中的条带大小的信息、数据的逻辑地址、数据所在的盘号、数据盘数量和RAID总盘的数量;
[0022]第一计算模块,第一计算模块配置为基于数据的逻辑地址和条带大小的信息计算当前条带号;
[0023]第二计算模块,第二计算模块配置为基于当前条带号和数据盘数量计算当前条带在盘中的偏移;
[0024]第三计算模块,第三计算模块配置为基于当前条带在盘中的偏移、RAID总盘的数量、数据所在的盘号和数据盘数量计算主条带号;
[0025]第四计算模块,第四计算模块配置为基于主条带号、数据盘数量和RAID总盘的数量计算当前数据的逻辑地址对应的校验盘在RAID阵列中的位置。
[0026]根据本专利技术的一个实施例,第一计算模块还配置为:
[0027]使用公式:当前条带号=数据的逻辑地址/条带大小的信息计算当前条带号。
[0028]根据本专利技术的一个实施例,第二计算模块还配置为:
[0029]使用公式:当前条带在盘中的偏移=当前条带号%数据盘数量计算当前条带在盘中的偏移。
[0030]根据本专利技术的一个实施例,第三计算模块还配置为:
[0031]使用公式:主条带号=(当前条带在盘中的偏移*RAID总盘的数量+数据所在的盘号)/数据盘数量计算主条带号。
[0032]根据本专利技术的一个实施例,第四计算模块还配置为:
[0033]使用公式:当前数据的逻辑地址对应的校验盘在RAID阵列中的位置=(RAID总盘的数量

(RAID总盘的数量*数据盘数量

(主条带号+1)*数据盘数量)%RAID总盘的数量)%RAID总盘的数量计算当前数据的逻辑地址对应的校验盘在RAID阵列中的位置。
[0034]本专利技术的实施例的另一个方面,还提供了一种计算机设备,该计算机设备包括:
[0035]至少一个处理器;以及
[0036]存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行时实现上述任意一项方法的步骤。
[0037]本专利技术的实施例的另一个方面,还提供了一种计算机可读存储介质,计算机可读
存储介质存储有计算机程序,计算机程序被处理器执行时实现上述任意一项方法的步骤。
[0038]本专利技术具有以下有益技术效果:本专利技术实施例提供的计算RAID校验盘位置的方法,通过获取RAID中的条带大小的信息、数据的逻辑地址、数据所在的盘号、数据盘数量和RAID总盘的数量;基于数据的逻辑地址和条带大小的信息计算当前条带号;基于当前条带号和数据盘数量计算当前条带在盘中的偏移;基于当前条带在盘中的偏移、RAID总盘的数量、数据所在的盘号和数据盘数量计算主条带号;基于主条带号、数据盘数量和RAID总盘的数量计算当前数据的逻辑地址对应的校验盘在RAID阵列中的位置的技术方案,能够在进行RAID操作时,计算出RAID5或者RAID6的校验盘的位置。
附图说明
[0039]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
[0040]图1为根据本专利技术一个实施例的计算RAID校验盘位置的方法的示意性流程图;
[0041]图2为根据本专利技术一个实施例的RAID5的示意图;<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种计算RAID校验盘位置的方法,其特征在于,包括以下步骤:获取RAID中的条带大小的信息、数据的逻辑地址、数据所在的盘号、数据盘数量和RAID总盘的数量;基于数据的逻辑地址和条带大小的信息计算当前条带号;基于当前条带号和数据盘数量计算当前条带在盘中的偏移;基于当前条带在盘中的偏移、RAID总盘的数量、数据所在的盘号和数据盘数量计算主条带号;基于主条带号、数据盘数量和RAID总盘的数量计算当前数据的逻辑地址对应的校验盘在RAID阵列中的位置。2.根据权利要求1所述的方法,其特征在于,基于数据的逻辑地址和条带大小的信息计算当前条带号包括:使用公式:当前条带号=数据的逻辑地址/条带大小的信息计算当前条带号。3.根据权利要求1所述的方法,其特征在于,基于当前条带号和数据盘数量计算当前条带在盘中的偏移包括:使用公式:当前条带在盘中的偏移=当前条带号%数据盘数量计算当前条带在盘中的偏移。4.根据权利要求1所述的方法,其特征在于,基于当前条带在盘中的偏移、RAID总盘的数量、数据所在的盘号和数据盘数量计算主条带号包括:使用公式:主条带号=(当前条带在盘中的偏移*RAID总盘的数量+数据所在的盘号)/数据盘数量计算主条带号。5.根据权利要求1所述的方法,其特征在于,基于主条带号、数据盘数量和RAID总盘的数量计算当前数据的逻辑地址对应的校验盘在RAID阵列中的位置包括:使用公式:当前数据的逻辑地址对应的校验盘在RAID阵列中的位置=(RAID总盘的数量

(RAID总盘的数量*数据盘数量

(主条带号+1)*数据盘数量)%RAID总盘的数量)%RAID总盘的数量计算当前数据的逻辑地址对应的校验盘在RAID阵列中的位置。...

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

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

1