CN105808170A - 一种能够以最小磁盘读写修复单磁盘错误的raid6编码方法 - Google Patents

一种能够以最小磁盘读写修复单磁盘错误的raid6编码方法 Download PDF

Info

Publication number
CN105808170A
CN105808170A CN201610165050.4A CN201610165050A CN105808170A CN 105808170 A CN105808170 A CN 105808170A CN 201610165050 A CN201610165050 A CN 201610165050A CN 105808170 A CN105808170 A CN 105808170A
Authority
CN
China
Prior art keywords
disk
data
row
subscript
failure
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610165050.4A
Other languages
English (en)
Other versions
CN105808170B (zh
Inventor
王艳
陈宇斌
张爱萍
石红芹
王长征
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
East China Jiaotong University
Original Assignee
East China Jiaotong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by East China Jiaotong University filed Critical East China Jiaotong University
Priority to CN201610165050.4A priority Critical patent/CN105808170B/zh
Publication of CN105808170A publication Critical patent/CN105808170A/zh
Application granted granted Critical
Publication of CN105808170B publication Critical patent/CN105808170B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

一种能够以最小磁盘读写修复单磁盘错误的RAID6编码方法,包括编码方案和单个磁盘失效的修复方案。所述编码方案指的是冗余节点所存储的校验数据生成方法,由构造编码矩阵获得。所述单个磁盘失效的修复方案是,若失效盘为第k+2个盘,则读取前k个盘存储的数据并按照编码方案重新计算生成校验数据;若失效盘为除第k+2个盘以外的其它盘,则只需从剩余的k+1个盘各读取其所存储数据的一半,汇总后编码生成原失效盘所存储的数据。本发明可以较快的重构出失效磁盘上所存储的数据,并且在热修复时,对系统中其他应用的不利影响降到最低。

Description

一种能够以最小磁盘读写修复单磁盘错误的RAID6编码方法
技术领域
本发明涉及一种能够以最小磁盘读写修复单磁盘错误的RAID6编码方法,属于编码论中的纠删码技术领域。
背景技术
信息社会中数据量的爆炸式增长对大容量可靠存储提出了更高的要求。为此,存储系统一方面不断提高单个磁盘的容量,一方面通过磁盘阵列或者分布式存储的形式将多个磁盘整合起来提供大容量的可靠存储服务。由于应用了大量的廉价磁盘,磁盘失效的情况经常发生。为保障数据可靠性,系统需要存储一定的冗余数据,以便能够在某些磁盘失效的情况下仍然可以恢复出所存储的信息。每当有磁盘失效时,系统需要在一个替代磁盘上重构失效磁盘上存储的数据。这一过程称为数据修复过程。本发明设计一类新的编码来优化数据修复过程的性能。
本发明涉及二元有限域上的阵列码。这类编码将存储的数据抽象为一个m行n列的阵列,阵列中的每个元素为一个比特,即二元有限域上的一个元素。实际应用中阵列的元素可以为等长的比特序列(通常称为一个数据块)。每个存储节点存储阵列中的一列,因而n即存储节点的个数。对于能够容忍两个磁盘失效的二容错阵列码,阵列中的前k=n-2列存储未编码的原始数据,第k+1列和k+2列存储冗余数据。存储原始数据的列(节点)通常称为系统盘,冗余数据的列(节点)通常称为校验盘,校验盘中的每个元素都由系统盘中若干个原始数据元素经过异或运算所得,即奇偶校验和。RAID-6系统是这类编码的一个典型应用场景。通常RAID-6编码中第k+1列中的每个元素由系统盘中(即前k列中)位于同一行的元素经过异或运算所得,因而又称为行校验。RAID-6系统规范并未限定第k+2列冗余数据的生成方法。
当有单个存储节点失效时,传统阵列码的修复方法是:如果失效的节点为校验盘,则根据编码的定义再次通过系统盘上的数据生成冗余数据;如果失效的节点为系统盘,则利用剩余的k-1个系统盘与一个校验盘恢复失效节点上存储的数据。这两种情况都需要从k个盘中总共读取m*k个元素来进行数据修复,消耗了大量的磁盘读写(I/O)资源。近年来有学者针对已有的RAID-6编码设计了特别的修复算法,允许从剩余的k+1个可用磁盘中读取数据,充分利用两个校验盘中的校验数据,使得修复单个磁盘时平均所需读取的数据量降低了约25%。
发明内容
本发明的目的是,为了在单个磁盘失效时,能够及时高效地恢复损坏磁盘上所存储的数据,本发明提出一种能够以最小磁盘读写修复单磁盘错误的RAID6编码方法。
本发明的技术方案主要包括编码方案和单个磁盘错误修复方案两个部分。
所述编码方案指的是冗余节点所存储的校验数据生成方法,由构造编码矩阵获得:
RAID6阵列由k+2个逻辑盘构成,其中前k个盘存储原始数据a1,a2,…,ak,其中ai表示第i个盘存储的数据,在运算中看作含有m个元素的列向量;第k+1个盘存储原始数据的行校验;第k+2个盘存储的校验数据通过以下步骤得出:
构造m行m列的编码矩阵A1,A2,…,Ak
计算ak+2=A1a1+A2a2+…+Akak作为第k+2个盘所存储的数据,计算中涉及的运算为二元有限域上的运算。
所述编码矩阵A1,A2,…,Ak按照如下方法构造:
对于任意给定的参数k>1,采用以下算法构造编码矩阵:
第1步:令i←2;
第2步:若i=k,则输出矩阵A1,A2,…,Ak,其中Aj=Bj+Bk+1,j=1,2,…,k;否则进行下一步;
第3步:对于j=1,2,…,i,令然后令 其中0,I分别为2i-1行2i-1列的0矩阵和单位矩阵;
第4步:令i←i+1,转到第2步。
以参数k=3为例,第二个校验盘中数据的编码方案如下:
a 5 , 1 a 5 , 2 a 5 , 3 a 5 , 4 = 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 a 1 , 1 a 1 , 2 a 1 , 3 a 1 , 4 + 0 1 0 0 1 0 0 0 1 0 0 1 0 1 1 0 a 2 , 1 a 2 , 2 a 2 , 3 a 2 , 4 + 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 a 3.1 a 3 , 2 a 3 , 3 a 3 , 4
即a5,1=a1,1+a2,2+a3,3;a5,2=a1,1+a1,2+a2,1+a3,4;a5,3=a1,1+a1,3+a2,1+a2,4+a3,1;a5,4=a1,2+a1,3+a1,4+a2,2+a2,3+a3,2
所述编码方案更新一个数据块所需要的平均XOR次数为(k+7)/4次,其中k为编码系统中的系统盘个数。
所述编码方案生成最后一个校验盘所需要的平均XOR次数为次。
所述单个磁盘失效的修复方案,是当第k+2个盘失效时,读取前k个盘存储的数据并按照编码方案重新生成第二个校验盘存储的数据。
设系统中共有n(n>3)个磁盘,其中有k=n-2个系统盘,令m=2k-1,将待存储的原始数据划分为等长的mk个数据块,每个系统盘中存储m个数据块的原始数据。令ai,j表示第i个盘中存储的第j个数据块。将每个盘中存储的数据看作长度为m的列向量并记为ai=(ai,1,ai,2,…,ai,m)T,这里上标T表示矩阵转置。第一个校验盘采用行校验编码,即ak+1=a1+a2+…+ak。这里加法为异或运算。第二个校验盘的数据可以表示为ak+2=A1a1+A2a2+…+Akak,其中A1,A2,…,Ak为m行m列的矩阵,其中的元素都取自二元有限域。我们通过给出矩阵A1,A2,…,Ak的构造方法来给出第二个校验盘的编码方案。
所述单个磁盘失效时的修复方案:
当需要修复的是第k+2个盘(即第二个校验盘)时,需要读取所有的原始数据块,即读取前k个盘存储的数据并按照编码方案重新生成第二个校验盘存储的数据。
当需要修复的是第i(i<k+2)个盘时,要读取的数据量比传统编码减少约50%,按如下步骤进行修复:
第1步:构造下标集合Ri:若i=k+1,令Ri={2k-2+1,2k-2+2,2k-2+3,…,2k-1};若1<i<k+1,令Ri={(j-1)2i-1+1,(j-1)2i-1+2,(j-1)2i-1+3,…,(j-1)2i-1+2i-2|j=1,2,…,2k-i};若i=1,则通过下列步骤构造R1:
第1.1步:令集合R1←{2},j=2;
第1.2步:若j=k,输出R1;否则进行下一步(1.3步);
第1.3步:令R1←R1∪{x+2j-1|x∈{1,2,...,2j-1}\R1};
第1.4步:令j←j+1;转第1.2步。
第2步:若i>1,读取未失效盘中由下标集Ri指定的数据块,例如若Ri={1,2,5,6},则对于每一个未失效盘aj,读取其中第1、2、5、6个数据块aj,1,aj,2,aj,5,aj,6。若i=1,读取第2至k+1个盘中由下标集R1指定的数据块,读取第k+2个盘中由下标集指定的数据块。将第j个盘中由下标集Ri指定的若干数据块看作一个列向量,并记为aj|Ri。利用行校验修复失效盘中由下标集Ri指定的数据块,即ai|Ri=a1|Ri+a2|Ri+…+ai-1|Ri+ai+1|Ri+…+ak+1|Ri
第3步:构造矩阵其中0,I分别为2k-2行2k-2列的0矩阵和单位矩阵;对于下标i<k+1,构造矩阵Bi=Ai+Bk+1
第4步:将失效盘中下标不在Ri中的数据块看作一个列向量并记为x。对于任意下标构成的集合P、Q,令Bj|P,Q表示矩阵Bj中行下标属于P,列下标属于Q的元素构成的子矩阵。
当i>1时,令D表示矩阵Bi中行下标属于Ri且列下标不属于Ri的元素构成的子矩阵,根据本编码的构造方法,失效盘中下标不在Ri中的全部数据块x可以通过求解以下方程得出:
a k + 2 | R i = D x + B 1 | R i , R i a 1 | R i + B 2 | R i , R i a 2 | R i + ... + B k + 1 | R i , R i a k + 1 | R i
当i=1时,根据本编码的构造方法,失效盘中下标不在Ri中的全部数据块x可以通过求解以下方程得出:
a k + 2 | R 1 &OverBar; = B 1 | R 1 &OverBar; , R 1 &OverBar; x + B 1 | R 1 &OverBar; , R 1 a 1 | R 1 + B 2 | R 1 &OverBar; , R 1 a 2 | R 1 + ... + B k + 1 | R 1 &OverBar; , R 1 a k + 1 | R 1
以k=3情况下,第一个磁盘失效的情况为例:计算出R1={2,3},因此读取数据块{aj,2,aj,3|j=2,3,4}及数据块a5,1,a5,4,利用行校验修复数据块a1,2,a1,3,(例如a1,2=a2,2+a3,2+a4,2),对于数据块a1,1,a1,4,根据构造方法有以下方程成立:
a 5 , 1 a 5 , 4 = 1 0 0 1 a 1 , 1 a 1 , 4 + 0 0 0 1 a 1 , 2 a 1 , 3 + 1 0 0 1 a 2 , 2 a 2 , 3 + 0 1 0 0 a 3 , 2 a 3 , 3 + 0 0 1 0 a 4 , 2 a 4 , 3
从而可以按如下方式修复数据块a1,1,a1,4
a1,1=a5,1+a2,2+a3,3
a1,4=a5,4+a1,3+a2,3+a4,2
本发明与现有技术比较的有益效果是,当单个系统盘或行校验盘失效时,本发明在未失效盘中读取的数据量总计为M(k+1)/2,而传统的编码及修复方案所需读取的数据量为Mk,这里M为单个磁盘的容量。当k较大时,本发明对磁盘读写的占用减少了约50%,从而可以较快的重构出失效磁盘上所存储的数据,并且在热修复时,对系统中其他应用的不利影响降到最低。
附图说明
图1是本发明方法框图;
图2是校验数据计算方法的示意图,以k=3为例;
图3是修复单个失效磁盘方法的示意图,以k=3为例;
图中图号:D1~D3为数据盘,D4、D5为校验盘。D4为行校验,其数据块由D1、D2、D3中位于同一行的数据块进行异或运算生成。图2中数据块上的标号给出了D5中数据块的计算方式:D5中的数据块由1~4编号,编号为i的数据块由D1~D4中含有编号i的数据块进行异或运算生成,即含有同一编号的数据块全体构成一个校验集,同一校验集中的数据块异或运算之和为0。从而校验集中的任一数据块可由此校验集中的其他数据块进行异或运算求得。例如D5中的第一个数据块由D1中的第1个数据块、D2中的第2个数据块和D3中的第3个数据块进行异或运算所得。本图中所标示的D5中数据的计算方法利用了行校验盘中的数据块。
修复磁盘D1所需读取的数据块由图3(a)中的阴影标出。D1中的第2、3个数据块通过行校验修复,D1中的第1个数据块利用标号1的校验集进行修复,D1中的第4个数据块利用标号4的校验集进行修复。
修复磁盘D2所需读取的数据块由图3(b)中的阴影标出。D2中的第1、3个数据块通过行校验修复,D2中的第2个数据块利用标号1的校验集进行修复,D2中的第4个数据块利用标号3的校验集进行修复。
修复磁盘D3所需读取的数据块由图3(c)中的阴影标出。D3中的第1、2个数据块通过行校验修复,D3中的第3个数据块利用标号1的校验集进行修复,D3中的第4个数据块利用标号2的校验集进行修复。
修复磁盘D4所需读取的数据块由图3(d)中的阴影标出。D4中的第3、4个数据块通过行校验修复,D4中的第1个数据块利用标号3的校验集进行修复,D4中的第2个数据块利用标号4的校验集进行修复。
具体实施方式
本发明具体实施方式如图1所示。
本发明方法的实现对硬件环境的要求为可以并行读写的多磁盘存储系统,如磁盘阵列或分布式存储系统。
本发明的实现需要与文件系统及磁盘驱动紧密结合:向下需要磁盘驱动提供读写接口,向上为文件系统提供可靠存储服务。本发明能够以硬RAID卡或软RAID卡的形式实现。本发明对语言工具没有特别要求,C语言、C++语言、Java语言等都能实现。对操作系统平台也没有特别要求,MicrosoftWindows系统、各种Linux系统、Mac系统等都可以做为操作系统运行平台。
在实现时,本发明中涉及的一个数据块通常可设定为一次磁盘读写的最小单元,如一个4KB大小的page。为了平衡多个磁盘间的负载,通常需要与传统的RAID轮转技术相结合。将一个磁盘阵列划分为多个条带(stripe),每个条带由各个磁盘中一块相同大小的存储空间组成,每个磁盘在不同条带中的身份(校验盘/系统盘)进行轮转循环。
在实现中,不需要每次编码操作或修复操作都按照说明中给出的算法进行矩阵的乘法、求逆等运算操作。可以通过预先计算得出每个校验数据块所涉及的原始数据块,以及每个磁盘失效时的具体修复方案,然后以硬编码的形式写入代码。
以k=3的情况为例,每个ai,j(i=1,2,…,5;j=1,2,…,4)可为一个4KB大小的数据块,表示一个给定的条带中,第i个盘存储的第j个数据块,第4个盘为行校验,第5个盘(即第二个校验盘)存储的数据块为a5,1=a1,1+a2,2+a3,3;a5,2=a1,1+a1,2+a2,1+a3,4;a5,3=a1,1+a1,3+a2,1+a2,4+a3,1;a5,4=a1,2+a1,3+a1,4+a2,2+a2,3+a3,2。这里的加法运算都为二元有限域上的加法运算,即按位异或运算。
当第一个磁盘失效时,读取数据块{aj,2,aj,3|j=2,3,4}及数据块a5,1,a5,4,利用行校验修复数据块a1,2,a1,3,(例如a1,2=a2,2+a3,2+a4,2),数据块a1,1,a1,4按如下方式修复:a1,1=a5,1+a2,2+a3,3;a1,4=a5,4+a1,3+a2,3+a4,2
当第二个磁盘失效时,读取数据块{aj,1,aj,3|j=1,3,4,5},利用行校验修复数据块a2,1,a2,3,,数据块a2,2,a2,4按如下方式修复:a2,2=a1,1+a3,3+a5,1;a2,4=a1,3+a4,1+a5,3
当第三个磁盘失效时,读取数据块{aj,1,aj,2|j=1,2,4,5},利用行校验修复数据块a3,1,a3,2,,数据块a3,3,a3,4按如下方式修复:a3,3=a1,1+a2,2+a5,1;a3,4=a1,1+a1,2+a2,1+a5,2
当第四个磁盘失效时,读取数据块{aj,3,aj,4|j=1,2,3,5},利用行校验修复数据块a4,3,a4,4,,数据块a4,1,a4,2按如下方式修复:a4,1=a2,4+a5,3;a4,2=a1,3+a1,4+a2,3+a5,4
当第五个磁盘失效时,读取前三个盘的数据按照编码方式重新生成失效的校验数据块。

Claims (5)

1.一种能够以最小磁盘读写修复单磁盘错误的RAID6编码方法,其特征在于,所述编码方法包括编码方案和单个磁盘失效的修复方案:
1)所述编码方案指的是冗余节点所存储的校验数据生成方法,由构造编码矩阵获得:
RAID6阵列由k+2个逻辑盘构成,其中前k个盘存储原始数据a1,a2,…,ak,其中ai表示第i个盘存储的数据,在运算中看作含有m个元素的列向量;第k+1个盘存储原始数据的行校验;第k+2个盘存储的校验数据通过以下步骤得出:
构造m行m列的编码矩阵A1,A2,…,Ak
计算ak+2=A1a1+A2a2+…+Akak作为第k+2个盘所存储的数据,计算中涉及的运算为二元有限域上的运算;
2)所述单个磁盘失效的修复方案是,若失效盘为第k+2个盘,则读取前k个盘存储的数据并按照编码方案重新计算生成校验数据;若失效盘为除第k+2个盘以外的其它盘,则只需从剩余的k+1个盘各读取其所存储数据的一半,汇总后编码生成原失效盘所存储的数据,在汇总传输前无需对读取的内容进行编码运算;当需要修复第i个盘时,i<k+2,要读取的数据量比传统编码减少约50%。
2.根据权利要求1所述一种能够以最小磁盘读写修复单磁盘错误的RAID6编码方法,其特征在于,所述编码矩阵A1,A2,…,Ak按照如下方法构造:
对于任意给定的参数k>1,采用以下算法构造编码矩阵:
第1步:令
第2步:若i=k,则输出矩阵A1,A2,…,Ak,其中Aj=Bj+Bk+1,j=1,2,…,k;否则进行下一步;
第3步:对于j=1,2,…,i,令然后令 其中0,I分别为2i-1行2i-1列的0矩阵和单位矩阵;
第4步:令i←i+1,转到第2步。
3.根据权利要求1所述一种能够以最小磁盘读写修复单磁盘错误的RAID6编码方法,其特征在于,所述需要修复第i个盘的修复步骤为:
第1步:构造下标集合Ri:若i=k+1,令Ri={2k-2+1,2k-2+2,2k-2+3,…,2k-1};若1<i<k+1,令Ri={(j-1)2i-1+1,(j-1)2i-1+2,(j-1)2i-1+3,…,(j-1)2i-1+2i-2|j=1,2,…,2k-i};若i=1,则通过下列步骤构造R1:
第1.1步:令集合R1←{2},j=2;
第1.2步:若j=k,输出R1;否则进行下一步(1.3步);
第1.3步:令R1←R1∪{x+2j-1|x∈{1,2,…,2j-1}\R1};
第1.4步:令j←j+1;转第1.2步;
第2步:若i>1,读取未失效盘中由下标集Ri指定的数据块,例如若Ri={1,2,5,6},则对于每一个未失效盘aj,读取其中第1、2、5、6个数据块aj,1,aj,2,aj,5,aj,6;若i=1,读取第2至k+1个盘中由下标集R1指定的数据块,读取第k+2个盘中由下标集指定的数据块;将第j个盘中由下标集Ri指定的若干数据块看作一个列向量,并记为aj|Ri;利用行校验修复失效盘中由下标集Ri指定的数据块,即ai|Ri=a1|Ri+a2|Ri+…+ai-1|Ri+ai+1|Ri+…+ak+1|Ri
第3步:构造矩阵其中0,I分别为2k-2行2k-2列的0矩阵和单位矩阵;对于下标i<k+1,构造矩阵Bi=Ai+Bk+1
第4步:将失效盘中下标不在Ri中的数据块看作一个列向量并记为x;对于任意下标构成的集合P、Q,令Bj|P,Q表示矩阵Bj中行下标属于P,列下标属于Q的元素构成的子矩阵;
当i>1时,令D表示矩阵Bi中行下标属于Ri且列下标不属于Ri的元素构成的子矩阵,根据本编码的构造方法,失效盘中下标不在Ri中的全部数据块x可以通过求解以下方程得出:
a k + 2 | R i = D x + B 1 | R i , R i a 1 | R i + B 2 | R i , R i a 2 | R i + ... + B k + 1 | R i , R i a k + 1 | R i
当i=1时,根据本编码的构造方法,失效盘中下标不在Ri中的全部数据块x可以通过求解以下方程得出:
a k + 2 | R 1 &OverBar; = B 1 | R 1 &OverBar; , R 1 &OverBar; x + B 1 | R 1 &OverBar; , R 1 a 1 | R 1 + B 2 | R 1 &OverBar; , R 1 a 2 | R 1 + ... + B k + 1 | R 1 &OverBar; , R 1 a k + 1 | R 1 .
4.根据权利要求1所述一种能够以最小磁盘读写修复单磁盘错误的RAID6编码方法,其特征在于,所述编码方案更新一个数据块所需要的平均XOR次数为(k+7)/4次,其中k为编码系统中的系统盘个数。
5.根据权利要求1所述一种能够以最小磁盘读写修复单磁盘错误的RAID6编码方法,其特征在于,所述编码方案生成最后一个校验盘所需要的平均XOR次数为次。
CN201610165050.4A 2016-03-22 2016-03-22 一种能够修复单磁盘错误的raid6编码方法 Expired - Fee Related CN105808170B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610165050.4A CN105808170B (zh) 2016-03-22 2016-03-22 一种能够修复单磁盘错误的raid6编码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610165050.4A CN105808170B (zh) 2016-03-22 2016-03-22 一种能够修复单磁盘错误的raid6编码方法

Publications (2)

Publication Number Publication Date
CN105808170A true CN105808170A (zh) 2016-07-27
CN105808170B CN105808170B (zh) 2018-06-26

Family

ID=56454604

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610165050.4A Expired - Fee Related CN105808170B (zh) 2016-03-22 2016-03-22 一种能够修复单磁盘错误的raid6编码方法

Country Status (1)

Country Link
CN (1) CN105808170B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106788455A (zh) * 2016-11-29 2017-05-31 陕西尚品信息科技有限公司 一种基于包的最优局部可修复系统码的构造方法
CN108491740A (zh) * 2018-02-01 2018-09-04 珠海全志科技股份有限公司 一种tf卡性能实时监测方法
CN109358980A (zh) * 2018-09-25 2019-02-19 华东交通大学 一种对数据更新和单磁盘错误修复友好的raid6编码方法
CN109408274A (zh) * 2018-10-10 2019-03-01 东莞市友才网络科技有限公司 阵列码编码与修复方法、装置、计算机设备及存储介质
CN109460185A (zh) * 2018-10-29 2019-03-12 锐捷网络股份有限公司 组建分块组ckg的方法、装置、虚拟存储池及存储介质
CN115565598A (zh) * 2022-09-30 2023-01-03 中国科学院空间应用工程与技术中心 Raid阵列磁盘暂时失效的数据存储与修复方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060074995A1 (en) * 2004-09-30 2006-04-06 International Business Machines Corporation System and method for tolerating multiple storage device failures in a storage system with constrained parity in-degree
CN103688515A (zh) * 2013-03-26 2014-03-26 北京大学深圳研究生院 一种最小带宽再生码的编码和存储节点修复方法
CN104461781A (zh) * 2014-12-01 2015-03-25 华中科技大学 一种基于纠删码的数据块重建方法
CN105353974A (zh) * 2015-10-08 2016-02-24 华东交通大学 一种适用于磁盘阵列及分布式存储系统的二容错编码方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060074995A1 (en) * 2004-09-30 2006-04-06 International Business Machines Corporation System and method for tolerating multiple storage device failures in a storage system with constrained parity in-degree
CN103688515A (zh) * 2013-03-26 2014-03-26 北京大学深圳研究生院 一种最小带宽再生码的编码和存储节点修复方法
CN104461781A (zh) * 2014-12-01 2015-03-25 华中科技大学 一种基于纠删码的数据块重建方法
CN105353974A (zh) * 2015-10-08 2016-02-24 华东交通大学 一种适用于磁盘阵列及分布式存储系统的二容错编码方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106788455A (zh) * 2016-11-29 2017-05-31 陕西尚品信息科技有限公司 一种基于包的最优局部可修复系统码的构造方法
CN106788455B (zh) * 2016-11-29 2019-11-22 陕西尚品信息科技有限公司 一种基于包的最优局部可修复系统码的构造方法
CN108491740A (zh) * 2018-02-01 2018-09-04 珠海全志科技股份有限公司 一种tf卡性能实时监测方法
CN109358980A (zh) * 2018-09-25 2019-02-19 华东交通大学 一种对数据更新和单磁盘错误修复友好的raid6编码方法
CN109358980B (zh) * 2018-09-25 2022-03-01 华东交通大学 一种对数据更新和单磁盘错误修复友好的raid6编码方法
CN109408274A (zh) * 2018-10-10 2019-03-01 东莞市友才网络科技有限公司 阵列码编码与修复方法、装置、计算机设备及存储介质
CN109460185A (zh) * 2018-10-29 2019-03-12 锐捷网络股份有限公司 组建分块组ckg的方法、装置、虚拟存储池及存储介质
CN109460185B (zh) * 2018-10-29 2022-03-18 锐捷网络股份有限公司 组建分块组ckg的方法、装置、虚拟存储池及存储介质
CN115565598A (zh) * 2022-09-30 2023-01-03 中国科学院空间应用工程与技术中心 Raid阵列磁盘暂时失效的数据存储与修复方法及系统

Also Published As

Publication number Publication date
CN105808170B (zh) 2018-06-26

Similar Documents

Publication Publication Date Title
CN105353974B (zh) 一种适用于磁盘阵列及分布式存储系统的二容错编码方法
CN105808170A (zh) 一种能够以最小磁盘读写修复单磁盘错误的raid6编码方法
CN103688515B (zh) 一种最小带宽再生码的编码和存储节点修复方法
CN103392172B (zh) 纠正存储阵列中的擦除
CN104052576B (zh) 一种云存储下基于纠错码的数据恢复方法
EP1828899B1 (en) Method and system for syndrome generation and data recovery
US8489916B2 (en) Multi-disk fault-tolerant system, method for generating a check block, and method for recovering a data block
CN111078460B (zh) 一种快速纠删码计算方法
CN109358980B (zh) 一种对数据更新和单磁盘错误修复友好的raid6编码方法
CN106874140B (zh) 数据存储方法及装置
CN106484559A (zh) 一种校验矩阵的构造方法及水平阵列纠删码的构造方法
CN112000512B (zh) 一种数据修复方法及相关装置
US7870464B2 (en) System and method for recovery of data for a lost sector in a storage system
CN109086000B (zh) 一种raid存储系统中的三容错数据布局方法
CN114816837B (zh) 一种纠删码融合方法、系统、电子设备及存储介质
CN102843212A (zh) 编解码处理方法及装置
CN104516679A (zh) 一种raid数据处理方法及装置
CN103151078A (zh) 一种存储器检错纠错码生成方法
US20070006019A1 (en) Data storage system
CN106911793B (zh) I/o优化的分布式存储数据修复方法
CN115993941A (zh) 分布式数据存储纠错方法及系统
CN104866386A (zh) 具有最优更新代价的编码及解码方法
CN104881253A (zh) 一种纠错参数无限制的阵列纠删码方法
CN115269258A (zh) 一种数据恢复的方法和系统
CN112000509B (zh) 一种基于向量指令的纠删码编码方法、系统及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180626