CN109086000A - 一种raid存储系统中的三容错数据布局方法 - Google Patents

一种raid存储系统中的三容错数据布局方法 Download PDF

Info

Publication number
CN109086000A
CN109086000A CN201810652340.0A CN201810652340A CN109086000A CN 109086000 A CN109086000 A CN 109086000A CN 201810652340 A CN201810652340 A CN 201810652340A CN 109086000 A CN109086000 A CN 109086000A
Authority
CN
China
Prior art keywords
disk
data
redundant
source data
storage system
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
CN201810652340.0A
Other languages
English (en)
Other versions
CN109086000B (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.)
Zhejiang University of Technology ZJUT
Original Assignee
Zhejiang University of Technology ZJUT
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 Zhejiang University of Technology ZJUT filed Critical Zhejiang University of Technology ZJUT
Priority to CN201810652340.0A priority Critical patent/CN109086000B/zh
Publication of CN109086000A publication Critical patent/CN109086000A/zh
Application granted granted Critical
Publication of CN109086000B publication Critical patent/CN109086000B/zh
Active 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • 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)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

一种RAID存储系统中的三容错数据布局方法,把磁盘阵列中的磁盘分为源数据磁盘和冗余数据磁盘,将源数据磁盘中的原始数据按照水平、斜率为‑1和斜率为1的三个不同方向进行编码运算得到3组冗余数据,分别存储于3个冗余数据磁盘中。在源数据磁盘和冗余数据磁盘构成的磁盘阵列中,当任意3个磁盘同时失效时,可以根据有效磁盘中的数据通过解码算法得到丢失的数据,从而保障了数据的可靠性。本发明的编码和解码运算均采用简单的异或运算,在编码复杂度、解码复杂度和更新复杂度方面和已有的一些三容错纠删码相比有所下降。

Description

一种RAID存储系统中的三容错数据布局方法
技术领域
本发明涉及到数据存储领域,是一种磁盘阵列(Redundant Arrays ofIndependent Disks,RAID)中提高数据可靠性的数据布局方法。
背景技术
随着网络技术的飞速发展,数据存储成为了网络信息领域中至关重要的技术。伴随着数据量的不断增大,存储系统的规模也越来越大,为解决庞大数据量的存储问题,美国加州大学伯克利分校的D.A.Patterson教授在1988年提出了一种基于多磁盘冗余的存储系统,即RAID存储系统。与传统的单磁盘存储系统相比,RAID存储系统具有以下优势:(1)大幅度提高了系统的存储容量;(2)提高了系统输入/输出的请求处理能力;(3)通过数据的分布式存储技术、数据的并行访问技术以及信息冗余技术,提高系统中数据的可靠性。但是随着存储系统的规模变大,各种各样的不确定因素往往会造成不可预知的系统错误,从而导致数据的丢失,因此数据的可靠性会随之下降。
为提高RAID存储系统中数据的可靠性,在数据存储的过程中需采用具有容错性的数据布局方案。在RAID存储系统中,容错技术大致可以分为镜像容错技术和纠删码容错技术。镜像容错技术又称为多副本技术,就是把数据复制出多个副本,将这些副本分别存储于不同的磁盘中,以实现冗余备份。这种方法不涉及专门的编码和重构算法,容错性能较好,但是存储利用率极低,假设存放N个副本时,磁盘利用率仅有1/N,尤其当系统规模很大时,镜像容错技术带来额外存储空间的开销很大,导致存储成本非常高。纠删码容错技术主要是利用纠删码算法将原始的数据进行编码得到冗余,并将原始数据和冗余数据一并存储起来,以达到容错的目的。其基本思想是将α块原始数据通过一定的编码计算,得到β块冗余数据。对于这α+β块数据,当其中任意的β块数据丢失时,均可以通过对应的重构算法恢复出丢失的数据。纠删码容错技术和镜像容错技术相比,具有冗余度低、磁盘利用率高等优点。
因此在RAID存储系统中,基于纠删码的数据布局方案对于保障数据的可靠性具有重要的意义。在众多纠删码方案中,如奇偶(EVENODD)码、行对角奇偶(Row-diagonalParity,RDP)码、循环低密度MDS阵列(Cyclic lowest-density MDS array,C)码、混合MDS阵列(Hybrid MDS Array,H)码、水平对角奇偶(Horizontal-Diagonal Parity,HDP)码、B码,它们只有在失效的磁盘数目小于或等于2的情况下,才能有效得恢复出丢失的数据,因此这些方案的容错性为2,即最多容忍2个磁盘同时失效。
发明内容
为了克服现有RAID存储系统中数据可靠性较低的不足,本发明提出了一种容错性为3的纠删码数据布局方案,在任意3个磁盘同时失效的情况下都可以恢复出丢失的数据,从而提高了RAID存储系统中数据的可靠性。该发明中涉及到的纠删码和已有的一些容错性为3的纠删码相比,如星(STAR)码、(Extending EVENODD,EEOD)码,具有更低的编码复杂度、解码复杂度和更新复杂度。
本发明为了解决上述技术问题,采用如下的技术方案:
一种RAID存储系统中的三容错数据布局方法,纠删码是一种最大距离可分(Maximum Distance Separable,MDS)阵列码,命名为交叉奇偶校验(Cross Parity Check,CPC)码。在该方案下,将RAID存储系统中的磁盘分为两类:源数据磁盘和冗余数据磁盘。其中源数据磁盘存储的是原始数据块,冗余数据磁盘存储的是原始数据通过编码运算后得到的冗余数据块;
为保证CPC码的MDS特性,设源数据磁盘的数量为m,m须为素数,通过对源数据磁盘中的数据沿水平、斜率为-1和斜率为1三个不同方向进行编码运算,得到3组冗余数据,分别存储在冗余数据磁盘中。在编码运算过程中,假设源数据磁盘中的原始数据块构成了一个(m-1)×m的编码矩阵,其中(m-1)表示每个磁盘中存储了(m-1)个数据块,m表示有m个磁盘,上述编码矩阵也可视为在源数据磁盘组成的阵列中,共有(m-1)行数据,每一行包含了m列数据,若某行某列中未存储数据则可用数据符号“0”来表示,对每一个磁盘以及磁盘阵列中的每一行都标记索引值,磁盘的索引从0开始标记,如磁盘阵列中的第一个磁盘记为Dsik(0),第m个磁盘记为Disk(m-1);行数的索引也从0开始标记,第1行记为Line(0),第(m-1)行,记为Line(m-2)。用ai,j(0≤i≤m-2,0≤j≤m+1)表示在第j个磁盘中第i行的数据元素,<x>m表示运算x模m,例如<7>5=2,<--3>5=2。假设编码矩阵在第(m-1)行后面存在一行全为符号“0”的假想行,即am-1,j=0,0≤j≤m-1,根据以上相关说明,编码的运算如下所示:
水平方向编码的运算公式:
斜率为-1方向编码的运算公式:
斜率为1方向编码的运算公式:
通过编码运算得到3组冗余数据并将它们分别存储于3个冗余数据磁盘中,从而源数据磁盘和冗余数据磁盘共同构成了一个完整的容错性为3的存储系统。
进一步,该存储系统中,在任意3个磁盘同时失效的情况下,都可以通过解码运算恢复出丢失的数据,设失效磁盘为Disk(a)、Disk(b)、Disk(c),解码运算可分为4类情况:(1)仅源数据磁盘失效,其中又可分为对称情况和非对称情况,对称情况为b-a=c-b,非对称情况为b-a≠c-b;(2)两个源数据磁盘和一个冗余数据磁盘共同失效;(3)一个源数据磁盘和两个冗余数据磁盘共同失效(4)仅冗余数据磁盘失效。根据不同的情况,实行不同的解码运算。
本发明的有益效果主要表现在:(1)编码和解码运算都采用简单的异或运算,降低了计算复杂度;(2)保证了MDS特性,可取得较优的存储效率和冗余率;(3)RAID存储系统的容错性达到了3,提高了系统中数据的可靠性。
附图说明
图1是水平方向编码示意图。
图2是斜率为-1方向编码示意图。
图3是斜率为1方向编码示意图。
图4是仅源数据磁盘失效对称情况下的解码示意图。
图5是仅源数据磁盘失效非对称情况下的解码示意图。
图6是两个源数据磁盘加Disk(m)失效的解码示意图
图7是编码复杂度比较图
图8是解码复杂度比较图
图9是更新复杂度比较图
具体实施方式
下面结合附图和实施例对本发明做详细描述。
参照图1~图9,一种RAID存储系统中的三容错数据布局方法,纠删码是一种最大距离可分(MaximumDistance Separable,MDS)阵列码,命名为交叉奇偶校验(Cross ParityCheck,CPC)码。在该方案下,将RAID存储系统中的磁盘分为两类:源数据磁盘和冗余数据磁盘。其中源数据磁盘存储的是原始数据块,冗余数据磁盘存储的是原始数据通过编码运算后得到的冗余数据块;
为保证CPC码的MDS特性,设源数据磁盘的数量为m,m须为素数,通过对源数据磁盘中的数据沿水平、斜率为-1和斜率为1三个不同方向进行编码运算,得到3组冗余数据,分别存储在冗余数据磁盘中。在编码运算过程中,假设源数据磁盘中的原始数据块构成了一个(m-1)×m的编码矩阵,其中(m-1)表示每个磁盘中存储了(m-1)个数据块,m表示有m个磁盘,上述编码矩阵也可视为在源数据磁盘组成的阵列中,共有(m-1)行数据,每一行包含了m列数据,若某行某列中未存储数据则可用数据符号“0”来表示,对每一个磁盘以及磁盘阵列中的每一行都标记索引值,磁盘的索引从0开始标记,如磁盘阵列中的第一个磁盘记为Dsik(0),第m个磁盘记为Disk(m-1);行数的索引也从0开始标记,第1行记为Line(0),第(m-1)行,记为Line(m-2)。用ai,j(0≤i≤m-2,0≤j≤m+1)表示在第j个磁盘中第i行的数据元素,<x>m表示运算x模m,例如<7>5=2,<-3>5=2。假设编码矩阵在第(m-1)行后面存在一行全为符号“0”的假想行,即am-1,j=0,0≤j≤m-1,根据以上相关说明,编码的运算如下所示:
水平方向编码的运算公式:
斜率为-1方向编码的运算公式:
斜率为1方向编码的运算公式:
通过编码运算得到3组冗余数据并将它们分别存储于3个冗余数据磁盘中,从而源数据磁盘和冗余数据磁盘共同构成了一个完整的容错性为3的存储系统。
进一步,该存储系统中,在任意3个磁盘同时失效的情况下,都可以通过解码运算恢复出丢失的数据,设失效磁盘为Disk(a)、Disk(b)、Disk(c),解码运算可分为4类情况:(1)仅源数据磁盘失效,其中又可分为对称情况和非对称情况,对称情况为b-a=c-b,非对称情况为b-a≠c-b;(2)两个源数据磁盘和一个冗余数据磁盘共同失效;(3)一个源数据磁盘和两个冗余数据磁盘共同失效(4)仅冗余数据磁盘失效。根据不同的情况,实行不同的解码运算。
参照图1至图3以及公式(1)(2)(3)可以得到3组冗余数据,分别存储于Disk(m),Disk(m+1)和Disk(m+2)中。当Disk(0)至Disk(m+2)中的任意3个磁盘失效时,都可以通过解码运算恢复出失效磁盘中的数据。
本发明的核心是解码运算,Disk(0)至Disk(m-1)是源数据磁盘,Disk(m)至Disk(m+2)是冗余数据磁盘,根据失效磁盘的不同位置,将解码运算分为四种情况:仅源数据磁盘失效、两个源数据磁盘和一个冗余数据磁盘共同失效、一个源数据磁盘和两个冗余数据磁盘共同失效、仅冗余数据磁盘失效。假设失效磁盘为Disk(a)、Disk(b)和Disk(c),其中a<b<c。
1.仅源数据磁盘失效
在仅源数据磁盘失效的情况下,又分为对称情况和非对称情况。令h=b-a,k=c-b,若h=k则为对称情况,h≠k则为非对称情况。在两种不同的情况下,其各自解码运算的主要思想是相似的,都是先恢复出Disk(b)中的数据,然后再恢复出Disk(a)和Disk(c)中的数据。下面先说明Disk(b)的数据恢复方案,为了方便描述,用具体实例来说明解码的实施过程。由源数据磁盘和冗余数据磁盘构成的整个RAID存储系统可以视为一个(m-1)×(m+3)的矩阵,即在这个系统中共有(m+3)个磁盘,存储了(m-1)行数据。假设m=5,a=1,b=2,c=3,即磁盘1、2、3失效,参照图4,空白列表示失效的磁盘,最后一行为假想行,全用符号“0”来表示,图中用阴影表示。先定义相关概念:
第(m+1)列算子:
第(m+2)列算子:
第(m+3)列算子:
交叉算子:
当i=0时,先求在图4中用斜率为-1的短线标注;在图4中用斜率为1的短线标注。为了简略表述,其中涉及到假想行中的数据不予标注。根据式(9),
所以 图4中用圆圈标注。定义根据交叉算子解得一组数据异或对的运算,称为一次有效运算。同理根据不同的交叉算子Ci,a,可以计算出 综上可得一共进行4次有效运算,然后逐一求得a2,2、a0,2、a3,2、a1,2,从而恢复出Disk(b)中的数据。解码运算的思路大致如下:
for i in[0,m-2]:
figure out Ci,a
figure out#根据相关的第(m+1)列算子,即ci,0#end
for i in[0,m-2]:
figure out
work out
end
在非对称情况下,Disk(b)的数据恢复策略和对称情况下类似,同样根据交叉算子和第(m+1)列算子,依次恢复出Disk(b)中的所有数据。与对称情况相比,不同点在于非对称情况下的一次有效运算需要多个交叉算子。可以用下式来解得一次有效运算中所需的交叉算子的个数ld
<h+ldk>m=00≤h,k<m (13)
在一次有效运算中,交叉算子满足条件:后一个交叉算子由前一个交叉算子向下平移k个单位所得,其中一个单位表示数据阵列的一行。同样可用具体实例直观的描述在非对称情况下数据恢复的算法,参照图5。设m=5,a=1,b=2,c=4,计算可得c=4,k=2,ld=2,取第一个交叉算子为C0,1,下平移2个单位得到第二个交叉算子C2,1,从而得到一次有效运算所需的所有交叉算子。根据这两个交叉算子可得: (斜率为-1的线段标记),(斜率为1的线段标记),(斜率为-1的虚线线段标记),(斜率为1的虚线线段标记)。
所以根据第(m+1)列算了 可得同理可得 然后逐一求得Disk(b)中的数据。解码运算的思路如下:
input:a,b,c
figure out h,k,ld
for i in[0,m-2]:
figure out#根据相应的第(m+1)列算子,即
#
end
work out ai,b one by one
2两个源数据磁盘和一个冗余数据磁盘共同失效,过程如下:
2.1当a<m,b<m,c=m时,
定义水平特征值
定义斜1对角算子
进一步化简可得:
定义斜-1对角算子
同理可得:
先根据交叉算子得出Disk(m)中的数据,将三磁盘失效的解码问题简化为双磁盘失效的解码问题。Disk(m)中数据的解码方案如下。
重新定义交叉算子:
参照图6,m=5,a=0,b=2,c=5,令i=0, 即为斜率为1的线段所标记的数据的异或和,即为斜率为-1的线段所标记的数据的异或和。又根据水平特征值计算可得 结合 可得同理可得从而可以解得磁盘c的全部数据。解码运算的思路如下:
for i in[0,m-2]:
figure out Hi,a
figure out
end
for i in[0,m-2]:
figure out
work out
end
在上述仅源数据磁盘失效、失效磁盘为a<m,b<m,c=m这两类情况下,都是先恢复出其中一个磁盘中的数据,将问题简化为双磁盘失效的问题。当其中一个磁盘的数据已恢复时,可以根据下面所述的a<m,b<m,c=m+1或a<m,b<m,c=m+2情况下的解码算法恢复出其余两个失效磁盘中的数据,从而解得全部的失效数据。
2.2 a<m,b<m,c=m+1时
定义水平算子
同时利用水平算子和斜1对角算子凭借下列步骤恢复磁盘a和b的数据。
1)设δ←<-(b-a)-1>m,对于任意0≤t≤m-1都有am-1,t=0
2)让以及
3)设δ←<δ-(b-a)>m。如果δ=m-1则停止循环,如果δ≠m-1则回到第二步。
经过上述步骤可求得磁盘a,b的数据,从而根据公式(2)可得磁盘c的数据。
2.3 a<m,b<m,c=m+2时
和前一种情况类似,利用水平算子和斜-1对角算子根据以下步骤恢复磁盘a和b的数据。
1)设δ←<(b-a)-1>m,对于任意0≤t≤m-1都有am-1,t=0
2)让以及
3)设δ←<δ+(b-a)>m。如果δ=m-1则停止循环,如果δ≠m-1则回到第二步。
经过上述步骤可求得磁盘a,b的数据,从而根据公式(3)可得磁盘c的数据。
3一个源数据磁盘和两个冗余数据磁盘共同失效,过程如下:
3.1当a<m,b=m,c=m+1时
其中a=0时,根据公式:
可得磁盘a中的所有数据,然后根据公式(1)(2)可得磁盘b,c的所有数据。
当a≠0时,用下列步骤先解得Disk(a)中的数据
1)求出0≤l≤m-2且l≠m-1-a
令z=<l+a>m,0≤l≤m-2且l≠m-1-a
2)求出0≤l≤m-2且l≠<m-1-2a>m
3)求出0≤l≤m-2且l≠m-1-a
重新定义水平算子xh
重定义斜-1算子x-1
定义冗余校验子T:
定义双斜算子X:
根据以上可得:
从而解得磁盘a中的所有数据,然后根据公式(1)(2)可得磁盘b,c中的所有数据。
3.2 a<m,b=m,c=m+2
该情况下的解码运算与a<m,b=m,c=m+1时类似,不予详细描述。
3.2 a<m,b=m+1,c=m+2
根据公式:
可解得Disk(a)中的数据,然后根据公式(1)(2)可解得磁盘b,c中的数据。
4.仅冗余数据磁盘失效
该情况下,解码运算即为编码运算,可以根据公式(1)(2)(3)解得失效磁盘a,b,c中的所有数据。
综上,在RAID存储系统中本发明可以恢复任意3个失效磁盘中的数据,该方案的容错性为3。
此外还进行了编码复杂度、解码复杂度和更新复杂度分析。在编码和解码运算中用每比特所需的异或运算作为编码复杂度和解码复杂度的标准。更新复杂度即指小写性能,当一次输入数据远远小于或等于一个数据单元时,叫做小写。在存储系统中进行小写操作,即对源数据磁盘中的某个数据单元进行修改时,那么与此数据单元对应的校验数据单元也需要随之修改,也就是(read modify write,RMW)操作。这里将一次RMW操作中每比特所需的异或运算次数作为更新复杂度。参照图7至图9,本发明提出的CPC码与已有三容错码相比,如STAR码和EEOD码,具有更低的编码复杂度,解码复杂度和更新复杂度。

Claims (2)

1.一种RAID存储系统中的三容错数据布局方法,其特征在于,纠删码是一种最大距离可分阵列码,命名为交叉奇偶校验码,在该方案下,将RAID存储系统中的磁盘分为两类:源数据磁盘和冗余数据磁盘;其中源数据磁盘存储的是原始数据块,冗余数据磁盘存储的是原始数据通过编码运算后得到的冗余数据块;
为保证CPC码的MDS特性,设源数据磁盘的数量为m,m须为素数,通过对源数据磁盘中的数据沿水平、斜率为-1和斜率为1三个不同方向进行编码运算,得到3组冗余数据,分别存储在冗余数据磁盘中;在编码运算过程中,假设源数据磁盘中的原始数据块构成了一个(m-1)×m的编码矩阵,其中(m-1)表示每个磁盘中存储了(m-1)个数据块,m表示有m个磁盘,上述编码矩阵也可视为在源数据磁盘组成的阵列中,共有(m-1)行数据,每一行包含了m列数据,若某行某列中未存储数据则可用数据符号“0”来表示,对每一个磁盘以及磁盘阵列中的每一行都标记索引值,磁盘的索引从0开始标记,如磁盘阵列中的第一个磁盘记为Dsik(0),第m个磁盘记为Disk(m-1);行数的索引也从0开始标记,第1行记为Line(0),第(m-1)行,记为Line(m-2),用ai,j(0≤i≤m-2,0≤j≤m+1)表示在第j个磁盘中第i行的数据元素,<x>m表示运算x模m,例如<7>5=2,<-3>5=2,假设编码矩阵在第(m-1)行后面存在一行全为符号“0”的假想行,即am-1,j=0,0≤j≤m-1,根据以上相关说明,编码的运算如下所示:
水平方向编码的运算公式:
斜率为-1方向编码的运算公式:
斜率为1方向编码的运算公式:
通过编码运算得到3组冗余数据并将它们分别存储于3个冗余数据磁盘中,从而源数据磁盘和冗余数据磁盘共同构成了一个完整的容错性为3的存储系统。
2.如权利要求1所述的一种RAID存储系统中的三容错数据布局方法,其特征在于,纠该存储系统中,在任意3个磁盘同时失效的情况下,都可以通过解码运算恢复出丢失的数据,设失效磁盘为Disk(a)、Disk(b)、Disk(c),解码运算可分为4类情况:(1)仅源数据磁盘失效,其中又可分为对称情况和非对称情况,对称情况为b-a=c-b,非对称情况为b-a≠c-b;(2)两个源数据磁盘和一个冗余数据磁盘共同失效;(3)一个源数据磁盘和两个冗余数据磁盘共同失效(4)仅冗余数据磁盘失效,根据不同的情况,实行不同的解码运算。
CN201810652340.0A 2018-06-22 2018-06-22 一种raid存储系统中的三容错数据布局方法 Active CN109086000B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810652340.0A CN109086000B (zh) 2018-06-22 2018-06-22 一种raid存储系统中的三容错数据布局方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810652340.0A CN109086000B (zh) 2018-06-22 2018-06-22 一种raid存储系统中的三容错数据布局方法

Publications (2)

Publication Number Publication Date
CN109086000A true CN109086000A (zh) 2018-12-25
CN109086000B CN109086000B (zh) 2021-08-03

Family

ID=64840205

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810652340.0A Active CN109086000B (zh) 2018-06-22 2018-06-22 一种raid存储系统中的三容错数据布局方法

Country Status (1)

Country Link
CN (1) CN109086000B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111679793A (zh) * 2020-06-16 2020-09-18 成都信息工程大学 一种基于star码的单盘故障快速恢复方法
CN114333917A (zh) * 2021-12-30 2022-04-12 山东云海国创云计算装备产业创新中心有限公司 基于rdp纠删算法的数据纠错方法、装置、设备及介质
CN114415983A (zh) * 2022-03-30 2022-04-29 苏州浪潮智能科技有限公司 一种raid编解码方法、装置、设备及可读存储介质
WO2024001494A1 (zh) * 2022-06-29 2024-01-04 京东方科技集团股份有限公司 一种数据存储的方法、单节点服务器及设备
US11893270B2 (en) 2021-11-12 2024-02-06 Samsung Electronics Co., Ltd. Storage device, and host-storage system including the storage device

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050015694A1 (en) * 2003-07-14 2005-01-20 International Business Machines Corporation Autonomic parity exchange
CN101339524A (zh) * 2008-05-22 2009-01-07 清华大学 大规模磁盘阵列存储系统的磁盘容错方法
US20140006850A1 (en) * 2012-06-29 2014-01-02 Emc Corporation Redundant disk encoding via erasure decoding
US20140331083A1 (en) * 2012-12-29 2014-11-06 Emc Corporation Polar codes for efficient encoding and decoding in redundant disk arrays
CN104850468A (zh) * 2015-05-31 2015-08-19 上海交通大学 基于校验矩阵的纠删码解码方法
CN104932836A (zh) * 2015-05-31 2015-09-23 上海交通大学 一种提高单写性能的三盘容错编码和解码方法
CN105353974A (zh) * 2015-10-08 2016-02-24 华东交通大学 一种适用于磁盘阵列及分布式存储系统的二容错编码方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050015694A1 (en) * 2003-07-14 2005-01-20 International Business Machines Corporation Autonomic parity exchange
CN101339524A (zh) * 2008-05-22 2009-01-07 清华大学 大规模磁盘阵列存储系统的磁盘容错方法
US20140006850A1 (en) * 2012-06-29 2014-01-02 Emc Corporation Redundant disk encoding via erasure decoding
US20140331083A1 (en) * 2012-12-29 2014-11-06 Emc Corporation Polar codes for efficient encoding and decoding in redundant disk arrays
CN104850468A (zh) * 2015-05-31 2015-08-19 上海交通大学 基于校验矩阵的纠删码解码方法
CN104932836A (zh) * 2015-05-31 2015-09-23 上海交通大学 一种提高单写性能的三盘容错编码和解码方法
CN105353974A (zh) * 2015-10-08 2016-02-24 华东交通大学 一种适用于磁盘阵列及分布式存储系统的二容错编码方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
万武南,杨威,陈运: ""一种新的3容错扩展RAID码"", 《北京邮电大学学报》 *
万武南,王拓,索望: ""一种三容错数据布局"", 《电子与信息学报》 *
刘卫平,蔡皖东: ""基于奇偶校验的三容错数据布局研究"", 《计算机应用》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111679793A (zh) * 2020-06-16 2020-09-18 成都信息工程大学 一种基于star码的单盘故障快速恢复方法
CN111679793B (zh) * 2020-06-16 2023-03-14 成都信息工程大学 一种基于star码的单盘故障快速恢复方法
US11893270B2 (en) 2021-11-12 2024-02-06 Samsung Electronics Co., Ltd. Storage device, and host-storage system including the storage device
CN114333917A (zh) * 2021-12-30 2022-04-12 山东云海国创云计算装备产业创新中心有限公司 基于rdp纠删算法的数据纠错方法、装置、设备及介质
CN114333917B (zh) * 2021-12-30 2023-11-03 山东云海国创云计算装备产业创新中心有限公司 基于rdp纠删算法的数据纠错方法、装置、设备及介质
CN114415983A (zh) * 2022-03-30 2022-04-29 苏州浪潮智能科技有限公司 一种raid编解码方法、装置、设备及可读存储介质
CN114415983B (zh) * 2022-03-30 2022-06-07 苏州浪潮智能科技有限公司 一种raid编解码方法、装置、设备及可读存储介质
WO2024001494A1 (zh) * 2022-06-29 2024-01-04 京东方科技集团股份有限公司 一种数据存储的方法、单节点服务器及设备

Also Published As

Publication number Publication date
CN109086000B (zh) 2021-08-03

Similar Documents

Publication Publication Date Title
CN109086000A (zh) 一种raid存储系统中的三容错数据布局方法
EP3504623B1 (en) Multiple node repair using high rate minimum storage regeneration erasure code
CN107395207B (zh) 多容错性的mds阵列码编码以及修复方法
Xiang et al. Optimal recovery of single disk failure in RDP code storage systems
CN111149093B (zh) 分布式存储系统的数据编码、解码及修复方法
US9600365B2 (en) Local erasure codes for data storage
Baek et al. Reliability and performance of hierarchical RAID with multiple controllers
US7386757B2 (en) Method and apparatus for enabling high-reliability storage of distributed data on a plurality of independent storage devices
CN107656832A (zh) 一种低数据重建开销的纠删码方法
CN105353974B (zh) 一种适用于磁盘阵列及分布式存储系统的二容错编码方法
CN108228382B (zh) 一种针对evenodd码单盘故障的数据恢复方法
US20120198195A1 (en) Data storage system and method
CN106484559A (zh) 一种校验矩阵的构造方法及水平阵列纠删码的构造方法
CN109358980B (zh) 一种对数据更新和单磁盘错误修复友好的raid6编码方法
US7549112B2 (en) Unique response for puncture drive media error
CN108762978B (zh) 一种局部部分重复循环码的分组构造方法
CN116501553B (zh) 数据恢复方法、装置、系统、电子设备及存储介质
CN105808170A (zh) 一种能够以最小磁盘读写修复单磁盘错误的raid6编码方法
CN111459710B (zh) 感知热度与风险的纠删码内存恢复方法、设备及内存系统
CN110837436A (zh) 有限域上高效纠删码轻量化自动解码方法、智能终端模块
CN107665152A (zh) 一类纠删码的译码方法
Li et al. Relieving both storage and recovery burdens in big data clusters with R-STAIR codes
CN111224747A (zh) 可降低修复带宽和磁盘读取开销的编码方法及其修复方法
CN110781024A (zh) 对称部分重复码的矩阵构造方法及故障节点修复方法
CN112256478B (zh) 一种单磁盘故障的修复方法、系统、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant