一种raid多校验方法技术

技术编号:38861906 阅读:9 留言:0更新日期:2023-09-17 10:03
本发明专利技术公开了一种raid多校验方法,包括获取raid的一个条带上的所有数据块;当一个条带上存在两个校验块时,采用如下方式生成各校验块的校验码。本raid多校验方法在一个条带有多个校验码时,一个校验码生成的系数是另一个校验码生成系数的倒序,如果用硬件来实现,只需要一套逻辑实现,减少硬件成本,如果用软件实现,只需要一个算法,减少算法的开发。减少算法的开发。减少算法的开发。

【技术实现步骤摘要】
一种raid多校验方法


[0001]本专利技术属于独立磁盘冗余阵列领域,具体涉及一种raid多校验方法。

技术介绍

[0002]在现代存储领域,为了提高存储数据的可靠性和改善存储系统的输入、输出性能,人们设计了多种数据存储方案,这些数据存储方案通常是各种类型的独立磁盘冗余阵列(Redundant Arrays of Independent Disks,RAID)。通过使用特定的硬件或软件,RAID把多个物理存储设备如磁盘,联合起来,形成一个统一的逻辑存储设备。
[0003]比较常用的RAID有RAID 0、RAID 1、RAID 5、RAID 6、RAID 10等。其中RAID 0不具有冗余能力,RAID 1只是对磁盘做了镜像,其它3种阵列分别由多个磁盘组成,它们以条带的方式向阵列中的磁盘写数据,校验数据存放在阵列中的各个磁盘上。RAID 5的每个条带含有1个校验块,支持任意损坏其中一个磁盘、通过其它磁盘上的校验块来重建数据;RAID 6的每个条带含有2个校验块,支持任意损坏其中两个磁盘、通过其它磁盘上的校验块来恢复数据;RAID TP的每个条带含有3个校验块,支持任意损坏其中三个磁盘、通过其它磁盘上的校验块来恢复数据。
[0004]现存的技术是对一个条带上的数据块进行校验码编码时,校验码生成的方程的系数不能成比例:
[0005]d1+d2+d3+d4+

+dn=p
[0006]k1*d1+k2*d2+k3*d3+k4*d4

+kn*dn=qr/>[0007]m1*d1+m2*d2+m3*d3+m4*d4

+mn*dn=g
[0008]其中,d1、d2、d3

dn一个条带上所有数据块的值,q、g分别表示校验码,k1、k2、k3

kn是校验码q生成时的系数,m1、m2、m3

mn是校验码g生成时的系数,两个方程式的系数不能成比例,即k1/m1≠k2/m2≠k3/m3

≠kn/mn,如果用硬件来实现,会需要两套逻辑实现,增加硬件成本,如果用软件实现,也需要两个算法,增加算法的开发。

技术实现思路

[0009]本专利技术的目的在于针对解决
技术介绍
中提出的问题,提出一种raid多校验方法。
[0010]为实现上述目的,本专利技术所采取的技术方案为:
[0011]本专利技术提出的一种raid多校验方法,包括:
[0012]获取raid的一个条带上的所有数据块;
[0013]当一个条带上存在两个校验块时,采用如下方式生成各校验块的校验码:
[0014]k1*d1+k2*d2+k3*d3+

+kn*dn=q
[0015]kn*d1+k(n

1)*d2+k(n

2)*d3+

+k1*dn=g
[0016]其中,d1、d2、d3

dn一个条带上数据块的值,q、g分别表示校验码,k1、k2、k3

kn是校验码q生成时的系数,kn、k(n

1)、k(n

2)

k1是校验码g生成时的系数。
[0017]优选地,当一个带上存在三个校验块时,采用如下方式生成各校验块的校验码:
[0018]d1+d2+d3

+dm=p
[0019]k1*d1+k2*d2+k3*d3+k4*d4

+kn*dm=q
[0020]kn*d1+k(n

1)*d2+k(n

2)*d3+

+k1*dm=g
[0021]其中,p表示校验码。
[0022]优选地,生成各校验码的系数采用伽罗华域有限循环域生成。
[0023]优选地,对于raid 6,在一个条带有两个数据块时,生成校验码p、q:
[0024]d1+d2=p
[0025]d1+2*d2=q。
[0026]优选地,对于raid tp,生成校验码p、q、g:
[0027]d1+d2+d3

+dn=p
[0028]k1*d1+k2*d2+k3*d3+k4*d4

+kn*dn=q
[0029]kn*d1+k(n

1)*d2+k(n

2)*d3+

+k1*dn=g。
[0030]与现有技术相比,本专利技术的有益效果为:
[0031]本raid多校验方法在一个条带有多个校验码时,一个校验码生成的系数是另一个校验码生成系数的倒序,如果用硬件来实现,只需要一套逻辑实现,减少硬件成本,如果用软件实现,只需要一个算法,减少算法的开发。
附图说明
[0032]图1为本专利技术伽罗华域的算法产生的值。
具体实施方式
[0033]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0034]需要说明的是,当组件被称为与另一个组件“连接”时,它可以直接与另一个组件连接或者也可以存在居中的组件。除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的
的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是在于限制本申请。
[0035]一种raid多校验方法,包括:
[0036]获取raid的一个条带上的所有数据块;
[0037]当一个条带上存在两个校验块时,采用如下方式生成各校验块的校验码:
[0038]k1*d1+k2*d2+k3*d3+

+kn*dm=q
[0039]kn*d1+k(n

1)*d2+k(n

2)*d3+

+k1*dm=g
[0040]其中,d1、d2、d3

dm一个条带上数据块的值,q、g分别表示校验码,k1、k2、k3

kn是校验码q生成时的系数,kn、k(n

1)、k(n

2)

k1是校验码g生成时的系数。
[0041]在一个实施例中,当一个带上存在三个校验块时,采用如下方式生成各校验块的校验码:
[0042]d1+d2+d3

+dm=p
[0043]k1*d1+k2*d2+k3*d3+k4*d4

+kn*dm=q
[0044]kn*d1+本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种raid多校验方法,其特征在于:所述raid多校验方法,包括:获取raid的一个条带上的所有数据块;当一个条带上存在两个校验块时,采用如下方式生成各校验块的校验码:k1*d1+k2*d2+k3*d3+

+kn*dn=qkn*d1+k(n

1)*d2+k(n

2)*d3+

+k1*dn=g其中,d1、d2、d3

dn一个条带上数据块的值,q、g分别表示校验码,k1、k2、k3

kn是校验码q生成时的系数,kn、k(n

1)、k(n

2)

k1是校验码g生成时的系数。2.如权利要求1所述的raid多校验方法,其特征在于:当一个带上存在三个校验块时,采用如下方式生成各校验块的校验码:d1+d2+d3

+dm=pk1*d1+k...

【专利技术属性】
技术研发人员:李学强胡志成李志铎孙涛
申请(专利权)人:中国电子科技集团公司第五十二研究所
类型:发明
国别省市:

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

1