【技术实现步骤摘要】
一种RAID6编码及基于该编码的数据恢复方法
[0001]本专利技术属于计算机存储和恢复
,具体是一种RAID6编码及基于该编码的数据恢复方法。
技术介绍
[0002]随着信息时代的快速发展,数据呈现爆炸性增长,组成存储系统的单个磁盘的容量、磁盘的数目都在不断增加,但是重构性能的提升速度远远小于磁盘容量和数目的增加速度,导致存储系统频繁出现故障,因此只能容忍单盘故障的存储系统已经不能满足人们需求。磁盘故障会导致数据暂时不可用,严重时会导致数据丢失,因此研究如何提高存储系统的容错能力和重构性能对于保障数据的可靠性和可用性具有重大研究意义。
[0003]RAID6编码能容任意双盘失效。MDS编码是RAID6编码众多实现形式中的一种。MDS编码的主要缺点为校验链的长度较长,取决于磁盘个数,生成校验元素时开销较大。根据校验元素的分布特点,MDS编码分为水平编码和垂直编码。在水平编码中,存储水平校验元素和对角校验元素的磁盘分别命名为P盘和Q盘。已有的MDS编码方案有:RDP编码、EVENODD编码、P编码、X编码、N编码 ...
【技术保护点】
【技术特征摘要】
1.一种RAID6编码,其特征在于,该编码是LM编码;所述LM编码包括LM编码的结构、元素分布和校验元素生成方式;LM编码的结构是:LM编码结构用Code
‑
LM(A,B)表示,A为条带单元集的个数,B为每个条带单元集中的列数同时也是每个条带单元集中包含的条带单元的个数,B+1为每个条带单元集中的行数同时也是每个条带单元中包含的元素的个数;A为大于等于2的正整数,B+1为大于等于5的质数;使用二元组(s,c)表示一个条带单元,该条带单元所在的条带单元集的序号为s,该条带单元在序号为s的条带单元集中的列号为c;使用三元组(s,r,c)表示一个元素,该元素所处的条带单元集的序号为s,该元素在序号为s的条带单元集中的行号为r,该元素在序号为s的条带单元集中的列号为c;s的取值范围是0≤s≤A
‑
1,r的取值范围是0≤r≤B,c的取值范围是0≤c≤B
‑
1;元素分布是:元素包括校验元素与数据元素构成;校验元素包括组内水平校验元素与水平对角校验元素;对于任意元素(s,r,c),当r+c=B
‑
1时该元素为组内水平校验元素,当r=B时该元素为水平对角校验元素;其余元素为数据元素;校验元素生成方式是:组内水平校验元素的生成方法有两种:方法一、由属于同一条带单元集中同一行的数据元素异或得到,如式(1)所示;方法二、由序号为<s
‑
1>
A
的条带单元集中一组对角线上的元素异或得到,如式(2)所示;式(1)中,r+c=B
‑
1,符号Σ表示异或运算,&表示逻辑与,i表示该元素所在条带单元在对应条带单元集中的列号,0≤i≤B
‑
1且i≠c;式(2)中,r+c=B
‑
1,<r
‑
1>
B+1
表示r
‑
1对B+1取模,<s
‑
1>
A
表示s
‑
1对A取模,<B
‑2‑
i>
B+1
表示B
‑2‑
i对B+1取模,<i+2+c>
B+1
表示i+2+c对B+1取模;0≤i≤B且i≠<r
‑
1>
B+1
;水平对角校验元素的生成方法有两种:方法一、由同一条带单元集中的一组对角线上数据元素与序号为<s+1>
A
的条带单元集中的一行数据元素异或得到,如式(3)所示;方法二、由同一条带单元集中的一组对角线的数据元素与序号为<s+1>
A
的条带单元集的组内水平校验元素(<s+1>
A
,B
‑1‑
c,c)异或得到,如式(4)所示:c,c)异或得到,如式(4)所示:式(3)中,r=B,符号和Σ均表示异或运算,j表示该元素所在条带单元在对应条带单元集中的列号;<i+c+1>
B+1
表示i+c+1对B+1取模,<s+1>
A
表示s+1对A取模;0≤i≤B
‑
1且i≠
B
‑1‑
c;1≤j≤B
‑
1且j≠c;式(4)中,r=B,<i+c+1>
B+1
表示i+c+1对B+1取模,<s+1>
A
表示s+1对A取模;0≤i≤B
‑
1且i≠B
‑1‑
c。2.一种磁盘故障时基于权利要求1所述的LM编码的数据恢复方法,其特征在于,该方法根据不同的故障情况分别采用相应的过程进行重构;数据元素的恢复公式如式(5)
‑
(7)所示:式(5)中,<s
‑
1>
A
表示s
‑
1对A求模,<B+j>
B+1
表示B+j对B+1求模,<B
‑1‑
j
‑
r>
B+1
表示B
‑1‑
j
‑
r对B+1求模;0≤i≤B
‑
1且i≠c且i≠B
‑1‑
r,1≤j≤B且j≠B
‑
r;式(6)中,<s+1>
A
表示s+1对A求模,<r+c
‑
i>
B+1
表示r+c
‑
i对B+1求模,<c+r+1>
B+1
表示c+r+1对B+1求模;0≤i≤B且i≠r且i≠<r+c+1>
B+1
;式(7)中,<s+1>
A
表示s+1对A求模,<r+c
‑
i>
B+1
表示r+c
‑
i对B+1求模,<c+r+1>
B+1
表示c+r+1对B+1求模;0≤i≤B且i≠r且i≠<r+c+1>
B+1
,0≤j≤B
‑
1且j≠<r+c+1>
B+1
;情况一、任意形式的单盘故障;设失效的条带单元为(s,c),其重构过程如下:遍历条带单元(s,c)中的每一个元素;如果该元素(s,r,c)满足r=B,则该元素为水平对角校验元素,使用式(4)或式(3)重构该元素;如果该元素(s,r,c)满足r+c=B
‑
1,则该元素为组内水平校验元素,使用式(1)或式(2)重构该元素;如果该元素(s,r,c)满足r≠B且r+c≠B
‑
1,则该元素为数据元素,使用式(1)、式(5)、式(6)或式(7)重构该元素;所有元素遍历完后,结束此过程;情况二、双盘故障且两个故障磁盘在同一个条带单元集中;设失效的两个条带单元为(s,c1)和(s,c2),其重构过程如下:确定丢失条带单元(s,c1)上的独立校验元素(s,B
‑1‑
c1,c1),并使用式(2)重构独立校
验元素;同时确定丢失条带单元(s,c1)上的独立数据元素(s,B
‑1‑
c2,c1),并使用式(5)重构独立数据元素;再对以独立数据元素(s,B
‑1‑
c2,c1)为起点的恢复序列中的元素进行重构:找到与(s,B
‑1‑
c2,c1)处于同一对角线的丢失元素(s,r3,c3),使用式(6)或式(7)重构;找到与(s,r3,c3)处于同一行的丢失元素(s,r4,c4),使用式(1)或式(5)重构;找到与(s,r4,c4)处于同一对角线的丢失元素(s,r5,c5),使用式(6)或式(7)重构;找到与(s,r5,c5)处于同一行的丢失元素(s,r6,c6),使用式(1)或式(5)重构;重复上述过程,直至终点元素即水平对角校验元素(s,B,c2)被恢复,对该恢复序列中的元素的重构过程结束;确定丢失条带单元(s,c2)上的独立校验元素(s,B
‑1‑
c2,c2),并使用式(2)重构独立校验元素;同时确定丢失条带单元(s,c2)上的独立数据元素(s,B
‑1‑
c1,c2),并使用式(5)重构独立数据元素;再对以独立数据元素(s,B
‑1‑
c1,c2)为起点的恢复序列中的元素进行重构:找到与(s,B
‑1‑
c1,c2)处于同一对角线的丢失元素(s,r7,c7),使用式(6)或式(7)重构;找到与(s,r7,c7)处于同一行的丢失元素(s,r8,c8),使用式(1)或式(5)重构;找到与(s,r8,c8)处于同一对角线的丢失元素(s,r9,c9),使用式(6)或式(7)重构;找到与(s,r9,c9)处于同一行的丢失元素(s,r0,c0),使用式(1)或式(5)重构;重复上述过程,直至终点元素即水平对角校验元素(s,B,c1)被恢复,对该恢复序列中的元素的重构过程结束;情况三、双盘故障且两个故障磁盘在距离为1的两个条带单元集中;当条带单元集个数A=2时:设失效的两个条带单元为(s1,c1)和(s2,c2),<s1+1>
A
=s2,<s2+1>
A
=s1,其重构过程如下:遍历条带单元(s1,c1)中的每一个元素,如果该元素(s1,r1,c1)满足r1=B,则该元素为水平对角校验元素;再当c1=c2时使用式(3)重构该元素,当c1≠c2时使用式(4)重构该元素;如果该元素(s1,r1,c1)满足r1+c1=B
‑
1,则该元素为组内水平校验元素,使用式(1)重构该元素;如果该元素(s1,r1,c1)满足r1≠B且r1+c1≠B
‑
1,该元素为数据元素,再当c2≠<r1+c1+1>
B+1
时使用式(1)或式(6)重构该元素,当c2=<r1+c1+1>
B+1
时使用式(1)或式(7)重构该元素;所有元素遍历完后,结束此过程;遍历条带单元(s2,c2)中的每一个元素,如果该元素(s2,r2,c2)满足r2=B,则该元素为水平对角校验元素;再当c1=c2时使用式(3)重构该元素,当c1≠c2时使用式(4)重构该元素;如果该元素(s2,r2,c2)满足r2+c2=B
‑
1,则该元素为组内水平校验元素,使用式(1)重构该元素;如果该元素(s2,r2,c2)满足r2≠B且r2+c2≠B
‑
1,则该元素为数据元素,再当c1≠<r2+c2+1>
B+1
时使用式(1)或式(6)重构该元素,当c1=<r2+c2+1>
B+1
时使用式(1)或式(7)重构该元素;所有元素遍历完后,结束此过程;当条带单元集个数A>2时:设失效的两个条带单元为(s1,c1)和(s2,c2),<s1+1>
A
=s2,其重构过程如下:遍历条带单元(s1,c1)中的每一个元素,如果该元素(s1,r1,c1)满足r1=B,则该元素为水平对角校验元素;再当c1=c2时使用式(3)重构该元素,当c1≠c2时使用式(4)重构该元素;如果该元素(s1,r1,c1)满足r1+c1=B
‑
1,则该元素为组内水平校验元素,使用式(1)或式(...
【专利技术属性】
技术研发人员:刘靖宇,牛秋霞,李萧言,李浩鹏,武优西,李娟,
申请(专利权)人:河北工业大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。