CN105353974B - 一种适用于磁盘阵列及分布式存储系统的二容错编码方法 - Google Patents
一种适用于磁盘阵列及分布式存储系统的二容错编码方法 Download PDFInfo
- Publication number
- CN105353974B CN105353974B CN201510641173.6A CN201510641173A CN105353974B CN 105353974 B CN105353974 B CN 105353974B CN 201510641173 A CN201510641173 A CN 201510641173A CN 105353974 B CN105353974 B CN 105353974B
- Authority
- CN
- China
- Prior art keywords
- disk
- data
- row
- subscript
- matrix
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Abstract
一种适用于磁盘阵列及分布式存储系统的二容错编码方法,对于任意给定的k个同样大小的存储有原始数据的节点,本发明编码生成两个冗余节点上的校验数据,使得这k+2个数据节点中任意两个损坏的情况下仍能够恢复全部原始数据。当单个数据节点损坏时,系统需要从其他数据节点读取数据并编码再生成损坏数据节点所存储的数据。本发明的主要特点为:除最后一个冗余节点失效的情况外,修复单个数据节点过程中每一个正常工作的数据节点仅需读取所存储数据块的一半,并且在传输前无需对读取的内容进行编码运算。
Description
技术领域
本发明涉及一种适用于磁盘阵列及分布式存储系统的二容错编码方法,属于编码论中的纠删码技术领域。
背景技术
信息社会中数据量的爆炸式增长对大容量可靠存储提出了更高的要求。为此,存储系统一方面不断提高单个磁盘的容量,一方面通过磁盘阵列或者分布式存储的形式将多个磁盘整合起来提供大容量的可靠存储服务。由于应用了大量的廉价磁盘,磁盘失效的情况经常发生。为保障数据可靠性,系统需要存储一定的冗余数据,以便能够在某些磁盘失效的情况下仍然可以恢复出所存储的信息。每当有磁盘失效时,系统需要在一个替代磁盘上重构失效磁盘上存储的数据。这一过程称为数据修复过程。
二元有限域上的阵列码,这类编码将存储的数据抽象为一个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%。
发明内容
本发明的目的是,为了在单个磁盘失效时,能够及时高效地恢复损坏磁盘上所存储的数据,本发明提出一种适用于磁盘阵列及分布式存储系统的二容错编码方法。
本发明的技术方案适用于磁盘阵列及分布式存储系统的二容错编码方法包括编码方案和单个磁盘错误修复方案。所述方法除最后一个冗余节点失效的情况外,修复单个数据节点过程中每一个正常工作的数据节点仅需读取所存储数据块的一半,并且在传输前无需对读取的内容进行编码运算;所述方法将一个磁盘阵列划分为多个条带,每个条带由各个磁盘中一块相同大小的存储空间组成,每个磁盘在不同条带中的校验盘与系统盘进行轮转循环。
所述编码方案包括冗余节点所存储的校验数据生成和构造编码矩阵。
所述冗余节点所存储的校验数据生成方法为,设系统中共有n个磁盘,其中有k=n-2个系统盘,令m=2k,将待存储的原始数据划分为等长的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,采用以下算法构造编码矩阵:
第1步:令i←1;
第2步:若i=k,则输出矩阵A1,A2,…,Ak;否则进行下一步;
第3步:令对于j=1,2,…,i,令本步骤中0,I分别为2i行2i列的0矩阵和单位矩阵;
第4步:令i←i+1,转到第2步。
所述单个磁盘失效的修复方案为:
当第k+2个盘,即第二个校验盘失效时,读取前k个盘存储的数据并按照编码方案重新生成第二个校验盘存储的数据;
当第i(i<k+2)个盘失效时,按如下步骤进行修复:
第1步:构造下标集合Ri:若i=k+1,令Ri={2k-1+1,2k-1+2,…,2k};若i<k+1,令Ri={(j-1)2i+1,(j-1)2i+2,…,(j-1)2i+2i-1|j=1,2,…,2k-i};
第2步:读取未失效盘中由下标集Ri指定的数据块,例如若Ri={1,2,5,6},则对于每一个未失效盘aj,读取其中第1、2、5、6个数据块aj,1,aj,2,aj,5,aj,6;将第j个盘中由下标集Ri指定的若干数据块看作一个列向量,并记为aj|Ri;利用行校验修复失效盘中由下标集Ri指定的数据块,即ai|Ri=a1|Ri+a2|Ri+…+ai-1|Ri+ai+1|Ri+…+ak+1|Ri;
第3步:构造矩阵其中0,I分别为2k-1行2k-1列的0矩阵和单位矩阵;对于下标i<k,构造矩阵Bi=Ai+Bk+1;
第4步:将失效盘中下标不在Ri中的数据块看作一个列向量并记为x;令Bj|Ri表示矩阵Bj中行下标和列下标都属于Ri的元素构成的子矩阵,令D表示矩阵Bi中行下标属于Ri且列下标不属于Ri的元素构成的子矩阵,根据本编码的构造方法,失效盘中下标不在Ri中的全部数据块x可以通过求解以下方程得出:
ak+2|Ri=Dx+B1|Ria1|Ri+B2|Ria2|Ri+…+Bk+1|Riak+1|Ri。
本发明方法的实现对硬件环境的要求为可以并行读写的多磁盘存储系统,如磁盘阵列或分布式存储系统。本发明的实现需要与文件系统及磁盘驱动紧密结合:向下需要磁盘驱动提供读写接口,向上为文件系统提供可靠存储服务。本发明能够以硬RAID卡或软RAID卡的形式实现。本发明对语言工具没有特别要求,C语言、C++语言、Java语言等都能实现。对操作系统平台也没有特别要求,Microsoft Windows系统、各种Linux系统、Mac系统等都可以作为操作系统运行平台。
本发明在实现时,所涉及的一个数据块通常可设定为一次磁盘读写的最小单元,如一个4KB大小的page。为了平衡多个磁盘间的负载,通常需要与传统的RAID轮转技术相结合。将一个磁盘阵列划分为多个条带(stripe),每个条带由各个磁盘中一块相同大小的存储空间组成,每个磁盘在不同条带中的身份(校验盘/系统盘)进行轮转循环。
在实现中,不需要每次编码操作或修复操作都按照说明中给出的算法进行矩阵的乘法、求逆等运算操作。可以通过预先计算得出每个校验数据块所涉及的原始数据块,以及每个磁盘失效时的具体修复方案,然后以硬编码的形式写入代码。
本发明与现有技术比较的有益效果是,当单个系统盘或行校验盘失效时,本发明在未失效盘中读取的数据量总计为M(k+1)/2,而传统的编码及修复方案所需读取的数据量为Mk,这里M为单个磁盘的容量。当k较大时,本发明对修复单个磁盘时所需读取的数据量降低约50%,从而可以较快的重构出失效磁盘上所存储的数据,并且在热修复时,对系统中其他应用的不利影响降到最低。
附图说明
图1是校验数据计算方法的示意图,以k=3为例;
图2是修复单个失效磁盘方法的示意图,以k=3、第一个磁盘失效为例;
图中图号:D1~D3为数据盘,D4、D5为校验盘。D4为行校验,其数据块由D1、D2、D3中位于同一行的数据块进行异或运算生成。图1中数据块上的标号给出了D5中数据块的计算方式:D5中的数据块由1~8编号,编号为i的数据块由D1~D4中含有编号i的数据块进行异或运算生成,即含有同一编号的数据块全体构成一个校验集,同一校验集中的数据块异或运算之和为0。从而校验集中的任一数据块可由此校验集中的其他数据块进行异或运算求得。例如D5中的第一个数据块由D1中的第2个数据块、D2中的第3个数据块和D3中的第5个数据块进行异或运算所得。图1中所标示的D5中数据的计算方法利用了行校验盘中的数据块。
修复磁盘D1时所需读取的数据块由图2中的阴影标出。D1中的第1、3、5、7个数据块通过行校验修复,D1中的第2个数据块利用标号1的校验集进行修复,D1中的第4个数据块利用标号3的校验集进行修复,D1中的第6个数据块利用标号5的校验集进行修复,D1中第8个数据块利用标号7的校验集进行修复。
具体实施方式
本实施例以参数k=3为例,第二个校验盘中数据的编码方案如下:
即a5,1=a1,2+a2,3+a3,5;a5,2=a1,1+a2,4+a3,6;a5,3=a1,1+a1,4+a2,1+a3,7;a5,4=a1,2+a1,3+a2,2+a3,8;a5,5=a1,1+a1,6+a2,1+a2,7+a3,1;a5,6=a1,2+a1,5+a2,2+a2,8+a3,2;a5,7=a1,3+a1,5+a1,8+a2,3+a2,5+a3,3;a5,8=a1,4+a1,6+a1,7+a2,4+a2,6+a3,4。
单个磁盘失效时的修复方案:
当需要修复的是第k+2个盘(即第二个校验盘)时,需要读取所有的原始数据块,即读取前k个盘存储的数据并按照编码方案重新生成第二个校验盘存储的数据。
当需要修复的是第i(i<k+2)个盘时,要读取的数据量比传统编码减少约50%,需要从未失效盘的第i个磁盘读取的数据块下标集合Ri按如下方法构造:若i=k+1,令Ri={2k-1+1,2k-1+2,…,2k};若i<k+1,令Ri={(j-1)2i+1,(j-1)2i+2,…,(j-1)2i+2i-1|j=1,2,…,2k-i}。
读取未失效盘中由下标集Ri指定的数据块,例如若Ri={1,2,5,6},则对于每一个未失效盘aj,读取其中第1、2、5、6个数据块aj,1,aj,2,aj,5,aj,6。将第j个盘中由下标集Ri指定的若干数据块看作一个列向量,并记为aj|Ri。利用行校验修复失效盘中由下标集Ri指定的数据块,即ai|Ri=a1|Ri+a2|Ri+…+ai-1|Ri+ai+1|Ri+…+ak+1|Ri。
接下来修复失效盘中下标不在Ri中的数据块,将这些数据块看作一个列向量并记为x。构造矩阵其中0,I分别为2k-1行2k-1列的0矩阵和单位矩阵;对于下标i<k,构造矩阵Bi=Ai+Bk+1。令Bj|Ri表示矩阵Bj中行下标和列下标都属于Ri的元素构成的子矩阵,令D表示矩阵Bi中行下标属于Ri且列下标不属于Ri的元素构成的子矩阵,根据本编码的构造方法,失效盘中下标不在Ri中的全部数据块x可以通过求解以下方程得出:
ak+2|Ri=Dx+B1|Ria1|Ri+B2|Ria2|Ri+…+Bk+1|Riak+1|Ri
以k=3情况下,第一个磁盘失效的情况为例:读取数据块{aj,1,aj,3,aj,5,aj,7|j=2,3,4,5},利用行校验修复数据块a1,1,a1,3,a1,5,a1,7(例如a1,1=a2,1+a3,1+a4,1),对于数据块a1,2,a1,4,a1,6,a1,8,根据构造方法有以下方程成立:
从而可以按如下方式修复数据块a1,2,a1,4,a1,6,a1,8:
a1,2=a5,1+a2,3+a3,5;
a1,4=a5,3+a1,1+a2,1+a3,7;
a1,6=a5,5+a2,7+a4,1;
a1,8=a5,7+a1,5+a2,5+a4,3。
Claims (1)
1.一种适用于磁盘阵列及分布式存储系统的二容错编码方法,其特征在于:所述方法包括编码方案和单个磁盘错误修复方案;所述方法除最后一个冗余节点失效的情况外,修复单个数据节点过程中每一个正常工作的数据节点仅需读取所存储数据块的一半,并且在传输前无需对读取的内容进行编码运算;所述方法将一个磁盘阵列划分为多个条带,每个条带由各个磁盘中一块相同大小的存储空间组成,每个磁盘在不同条带中的校验盘与系统盘进行轮转循环;
所述编码方案包括冗余节点所存储的校验数据生成和构造编码矩阵;
冗余节点所存储的校验数据生成方法为,设系统中共有n个磁盘,其中有k=n-2个系统盘,令m=2k,将待存储的原始数据划分为等长的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,采用以下算法构造编码矩阵:
第1步:令i←1;
第2步:若i=k,则输出矩阵A1,A2,…,Ak;否则进行下一步;
第3步:令对于j=1,2,…,i,令本步骤中0,I分别为2i行2i列的0矩阵和单位矩阵;
第4步:令i←i+1,转到第2步;
所述单个磁盘失效的修复方案为:
当第k+2个盘,即第二个校验盘失效时,读取前k个盘存储的数据并按照编码方案重新生成第二个校验盘存储的数据;
当第i(i<k+2)个盘失效时,按如下步骤进行修复:
第1步:构造下标集合Ri:若i=k+1,令Ri={2k-1+1,2k-1+2,…,2k};若i<k+1,令Ri={(j-1)2i+1,(j-1)2i+2,…,(j-1)2i+2i-1|j=1,2,…,2k-i};
第2步:读取未失效盘中由下标集Ri指定的数据块,若Ri={1,2,5,6},则对于每一个未失效盘aj,读取其中第1、2、5、6个数据块aj,1,aj,2,aj,5,aj,6;将第j个盘中由下标集Ri指定的若干数据块看作一个列向量,并记为aj|Ri;利用行校验修复失效盘中由下标集Ri指定的数据块,即ai|Ri=a1|Ri+a2|Ri+…+ai-1|Ri+ai+1|Ri+…+ak+1|Ri;
第3步:构造矩阵其中0,I分别为2k-1行2k-1列的0矩阵和单位矩阵;对于下标i<k,构造矩阵Bi=Ai+Bk+1;
第4步:将失效盘中下标不在Ri中的数据块看作一个列向量并记为x;令Bj|Ri表示矩阵Bj中行下标和列下标都属于Ri的元素构成的子矩阵,令D表示矩阵Bi中行下标属于Ri且列下标不属于Ri的元素构成的子矩阵,根据本编码的构造方法,失效盘中下标不在Ri中的全部数据块x可以通过求解以下方程得出:
ak+2|Ri=Dx+B1|Ri a1|Ri+B2|Ri a2|Ri+…+Bk+1|Ri ak+1|Ri。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510641173.6A CN105353974B (zh) | 2015-10-08 | 2015-10-08 | 一种适用于磁盘阵列及分布式存储系统的二容错编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510641173.6A CN105353974B (zh) | 2015-10-08 | 2015-10-08 | 一种适用于磁盘阵列及分布式存储系统的二容错编码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105353974A CN105353974A (zh) | 2016-02-24 |
CN105353974B true CN105353974B (zh) | 2018-02-02 |
Family
ID=55329953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510641173.6A Expired - Fee Related CN105353974B (zh) | 2015-10-08 | 2015-10-08 | 一种适用于磁盘阵列及分布式存储系统的二容错编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105353974B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107168817B (zh) * | 2016-03-07 | 2020-05-08 | 华为技术有限公司 | 应用于存储阵列的数据修复方法与装置及存储设备 |
CN105808170B (zh) * | 2016-03-22 | 2018-06-26 | 华东交通大学 | 一种能够修复单磁盘错误的raid6编码方法 |
CN108595988A (zh) * | 2018-04-27 | 2018-09-28 | 成都信息工程大学 | 一种可同时加密并容错的硬盘 |
CN109086000B (zh) * | 2018-06-22 | 2021-08-03 | 浙江工业大学 | 一种raid存储系统中的三容错数据布局方法 |
CN109358980B (zh) * | 2018-09-25 | 2022-03-01 | 华东交通大学 | 一种对数据更新和单磁盘错误修复友好的raid6编码方法 |
CN111143108B (zh) * | 2019-12-09 | 2023-05-02 | 成都信息工程大学 | 一种降低阵列码Xcode修复的编译码方法及装置 |
CN111679793B (zh) * | 2020-06-16 | 2023-03-14 | 成都信息工程大学 | 一种基于star码的单盘故障快速恢复方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103688515A (zh) * | 2013-03-26 | 2014-03-26 | 北京大学深圳研究生院 | 一种最小带宽再生码的编码和存储节点修复方法 |
CN103761171A (zh) * | 2014-02-11 | 2014-04-30 | 中国科学院成都生物研究所 | 一种针对二进制编码冗余存储系统的低带宽数据重构方法 |
CN104461781A (zh) * | 2014-12-01 | 2015-03-25 | 华中科技大学 | 一种基于纠删码的数据块重建方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7519629B2 (en) * | 2004-09-30 | 2009-04-14 | International Business Machines Corporation | System and method for tolerating multiple storage device failures in a storage system with constrained parity in-degree |
-
2015
- 2015-10-08 CN CN201510641173.6A patent/CN105353974B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103688515A (zh) * | 2013-03-26 | 2014-03-26 | 北京大学深圳研究生院 | 一种最小带宽再生码的编码和存储节点修复方法 |
CN103761171A (zh) * | 2014-02-11 | 2014-04-30 | 中国科学院成都生物研究所 | 一种针对二进制编码冗余存储系统的低带宽数据重构方法 |
CN104461781A (zh) * | 2014-12-01 | 2015-03-25 | 华中科技大学 | 一种基于纠删码的数据块重建方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105353974A (zh) | 2016-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105353974B (zh) | 一种适用于磁盘阵列及分布式存储系统的二容错编码方法 | |
CN105808170B (zh) | 一种能够修复单磁盘错误的raid6编码方法 | |
US9552258B2 (en) | Method and system for storing data in raid memory devices | |
CN103793182B (zh) | 用于可扩展存储保护的系统和方法 | |
US7934120B2 (en) | Storing data redundantly | |
US5862158A (en) | Efficient method for providing fault tolerance against double device failures in multiple device systems | |
US7925927B2 (en) | Simulator for determining data loss in a fault tolerant system | |
US8166370B1 (en) | Efficient RAID ECC controller for RAID systems | |
CN109358980B (zh) | 一种对数据更新和单磁盘错误修复友好的raid6编码方法 | |
US20120260125A1 (en) | Multi-disk fault-tolerant system, method for generating a check block, and method for recovering a data block | |
US7263629B2 (en) | Uniform and symmetric double failure correcting technique for protecting against two disk failures in a disk array | |
US20120198195A1 (en) | Data storage system and method | |
CN106484559A (zh) | 一种校验矩阵的构造方法及水平阵列纠删码的构造方法 | |
CN106874140B (zh) | 数据存储方法及装置 | |
CN112000512B (zh) | 一种数据修复方法及相关装置 | |
US7870464B2 (en) | System and method for recovery of data for a lost sector in a storage system | |
CN111078460A (zh) | 一种快速纠删码计算方法 | |
CN109086000A (zh) | 一种raid存储系统中的三容错数据布局方法 | |
CN114281270A (zh) | 一种数据存储方法、系统、设备以及介质 | |
CN112181707B (zh) | 分布式存储数据恢复调度方法、系统、设备及存储介质 | |
JP4756704B2 (ja) | データ・ストレージ・アレイ | |
US6792391B1 (en) | Method and system for three disk fault tolerance in a disk array | |
CN106911793B (zh) | I/o优化的分布式存储数据修复方法 | |
US7093159B1 (en) | Method and system for four disk fault tolerance in a disk array | |
US7062604B1 (en) | Method and system for five-disk fault tolerance in a disk array |
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 |
Granted publication date: 20180202 Termination date: 20181008 |
|
CF01 | Termination of patent right due to non-payment of annual fee |