[发明专利]一种RAID6编码及基于该编码的数据恢复方法有效
申请号: | 202110240251.7 | 申请日: | 2021-03-04 |
公开(公告)号: | CN112905387B | 公开(公告)日: | 2022-05-24 |
发明(设计)人: | 刘靖宇;牛秋霞;李萧言;李浩鹏;武优西;李娟 | 申请(专利权)人: | 河北工业大学 |
主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F15/78 |
代理公司: | 天津翰林知识产权代理事务所(普通合伙) 12210 | 代理人: | 王瑞 |
地址: | 300130 天津市红桥区*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 raid6 编码 基于 数据 恢复 方法 | ||
1.一种磁盘故障时基于RAID6编码的数据恢复方法,其特征在于,该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-1A的条带单元集中一组对角线上的元素异或得到,如式(2)所示;
式(1)中,r+c=B-1,符号Σ表示异或运算,表示逻辑与,i表示该元素所在条带单元在对应条带单元集中的列号,0≤i≤B-1且i≠c;
式(2)中,r+c=B-1,r-1B+1表示r-1对B+1取模,s-1A表示s-1对A取模,B-2-iB+1表示B-2-i对B+1取模,i+2+cB+1表示i+2+c对B+1取模;0≤i≤B且i≠r-1B+1;
水平对角校验元素的生成方法有两种:方法一、由同一条带单元集中的一组对角线上数据元素与序号为s+1A的条带单元集中的一行数据元素异或得到,如式(3)所示;方法二、由同一条带单元集中的一组对角线的数据元素与序号为s+1A的条带单元集的组内水平校验元素(s+1A,B-1-c,c)异或得到,如式(4)所示:
式(3)中,r=B,符号和Σ均表示异或运算,j表示该元素所在条带单元在对应条带单元集中的列号;i+c+1B+1表示i+c+1对B+1取模,s+1A表示s+1对A取模;0≤i≤B-1且i≠B-1-c;1≤j≤B-1且j≠c;
式(4)中,r=B,i+c+1B+1表示i+c+1对B+1取模,s+1A表示s+1对A取模;0≤i≤B-1且i≠B-1-c;
该方法根据不同的故障情况分别采用相应的过程进行重构;
数据元素的恢复公式如式(5)-(7)所示:
式(5)中,s-1A表示s-1对A求模,B+jB+1表示B+j对B+1求模,B-1-j-rB+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+1A表示s+1对A求模,r+c-iB+1表示r+c-i对B+1求模,c+r+1B+1表示c+r+1对B+1求模;0≤i≤B且i≠r且i≠r+c+1B+1;
式(7)中,s+1A表示s+1对A求模,r+c-iB+1表示r+c-i对B+1求模,c+r+1B+1表示c+r+1对B+1求模;0≤i≤B且i≠r且i≠r+c+1B+1,0≤j≤B-1且j≠r+c+1B+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+1A=s2,s2+1A=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+1B+1时使用式(1)或式(6)重构该元素,当c2=r1+c1+1B+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+1B+1时使用式(1)或式(6)重构该元素,当c1=r2+c2+1B+1时使用式(1)或式(7)重构该元素;所有元素遍历完后,结束此过程;
当条带单元集个数A2时:设失效的两个条带单元为(s1,c1)和(s2,c2),s1+1A=s2,其重构过程如下:
遍历条带单元(s1,c1)中的每一个元素,如果该元素(s1,r1,c1)满足r1=B,则该元素为水平对角校验元素;再当c1=c2时使用式(3)重构该元素,当c1≠c2时使用式(4)重构该元素;如果该元素(s1,r1,c1)满足r1+c1=B-1,则该元素为组内水平校验元素,使用式(1)或式(2)重构该元素;如果该元素(s1,r1,c1)满足r1≠B且r1+c1≠B-1,该元素为数据元素,再当c2≠r1+c1+1B+1时使用式(1)、式(5)或式(6)重构该元素,当c2=r1+c1+1B+1时使用式(1)、式(5)或式(7)重构该元素;所有元素遍历完后,结束此过程;
遍历条带单元(s2,c2)中的每一个元素,如果该元素(s2,r2,c2)满足r2=B,则该元素为水平对角校验元素,使用式(3)或式(4)重构该元素;如果该元素(s2,r2,c2)满足r2+c2=B-1,则该元素为组内水平校验元素,使用式(1)重构该元素;如果该元素(s2,r2,c2)满足r2≠B且r2+c2≠B-1,则该元素为数据元素,使用式(1)、式(6)或式(7)重构该元素;所有元素遍历完后,结束此过程;
情况四、双盘故障且两个故障磁盘在距离不小于2的两个条带单元集中,此时条带单元集的数目不小于4;
设失效的两个条带单元为(s1,c1)和(s2,c2),其重构过程如下:
遍历条带单元(s1,c1)中的每一个元素,如果该元素(s1,r1,c1)满足r1=B,则该元素为水平对角校验元素,使用式(4)或式(3)重构该元素;如果该元素(s1,r1,c1)满足r1+c1=B-1,则该元素为组内水平校验元素,使用式(1)或式(2)重构该元素;如果该元素(s1,r1,c1)满足r1≠B且r1+c1≠B-1,则该元素为数据元素,使用式(1)、式(5)、式(6)或式(7)重构该元素;所有元素遍历完后,结束此过程;
遍历条带单元(s2,c2)中的每一个元素,如果该元素(s2,r2,c2)满足r2=B,则该元素为水平对角校验元素,使用式(4)或式(3)重构该元素;如果该元素(s2,r2,c2)满足r2+c2=B-1,则该元素为组内水平校验元素,使用式(1)或式(2)重构该元素;如果该元素(s2,r2,c2)满足r2≠B且r2+c2≠B-1,则该元素为数据元素,使用式(1)、式(5)、式(6)或式(7)重构该元素;所有元素遍历完后,结束此过程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于河北工业大学,未经河北工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110240251.7/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置