WO2018171111A1 - Multi-fault tolerance mds array code encoding and repair method - Google Patents

Multi-fault tolerance mds array code encoding and repair method Download PDF

Info

Publication number
WO2018171111A1
WO2018171111A1 PCT/CN2017/097669 CN2017097669W WO2018171111A1 WO 2018171111 A1 WO2018171111 A1 WO 2018171111A1 CN 2017097669 W CN2017097669 W CN 2017097669W WO 2018171111 A1 WO2018171111 A1 WO 2018171111A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
column
bits
parity
code
Prior art date
Application number
PCT/CN2017/097669
Other languages
French (fr)
Chinese (zh)
Inventor
侯韩旭
李柏晴
韩永祥
Original Assignee
东莞理工学院
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 东莞理工学院 filed Critical 东莞理工学院
Publication of WO2018171111A1 publication Critical patent/WO2018171111A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • 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]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/02Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word
    • H03M7/04Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word the radix thereof being two

Definitions

  • the present invention relates to the field of data processing, and in particular, to a multi-fault-tolerant MDS array code encoding and repair method.
  • the binary maximum distance separable (MDS) array code is a special erasure code that achieves fault tolerance with minimal storage redundancy and low computational complexity.
  • the binary array code is composed of an array of k+r columns, each column having L bits, wherein for the k+r columns, the k column information column stores information bits, and the r column parity column stores redundancy The remaining position.
  • the L bits in each column are stored in the same storage node. If any k in the k+r column is sufficient to reconstruct all of the k-column information columns, then such a code can be referred to as an MDS (ie, it can tolerate any r-column failure).
  • the repair bandwidth is defined as the number of download bits in the repair operation. Minimizing repair bandwidth is critical to speeding up repair operations and minimizing fragile windows, especially in distributed storage systems where network transport often becomes a bottleneck.
  • the repair problem was first elaborated and studied by Dimakis et al. [5] based on the information flow diagram. As stated in [5], the minimum repair bandwidth is subject to minimum storage redundancy, also known as the Minimum Memory Regeneration (MSR) point, which is calculated as follows:
  • the present invention provides a multi-fault-tolerant MDS array code encoding and repairing method, which solves the problem that the prior art cannot combine optimal repair and higher fault tolerance.
  • a multi-fault-tolerant MDS array code coding is designed and manufactured, and the component thereof is a C(k, 3, p) code, and the data block is divided into k(p-1) ⁇ .
  • the information column is represented by a polynomial, and each corresponding information column is a data polynomial, and the corresponding three parity columns form an encoded polynomial, and the data polynomial and the encoded polynomial form a column vector [s 1 (x), s 2 (x), ..., s k+3 (x)].
  • the product of G is calculated, where G is the matrix of the kxk unit matrix I and a kx3 matrix
  • the kx(k+3) composed of P generates a matrix.
  • the C(k,3,p) code is such that a systematic linear code is penetrated within R p ⁇ .
  • the invention also provides a method for repairing a multi-fault-tolerant MDS array code, comprising the steps of: obtaining an information column that has failed; if the information column has failed Then fix the information bits s l,f by the first parity, where l mod 2 f ⁇ 0,1,2,...2 f-1 -1 ⁇ , otherwise repaired by the second parity Information bits s l,f , where l mod 2 f ⁇ 2 f-1 , 2 f-1 +1,2 f-1 +2,...,2 f -1 ⁇ ; if the information column has failed
  • the information bits s l,f are fixed by the first parity, where l mod 2 f ⁇ 0,1,2,...,2 f-1 -1 ⁇ , otherwise, pass the third parity To fix the information bits s l,f , where l mod 2 f ⁇ 2 f-1 , 2 f-1 +1,2 f-1 +2,...,2 f -1 ⁇ .
  • the information column that has failed The repaired broadband is (p-1)((k+2)2 k-3 -2 kf-2 ).
  • the parity sets of the second parity column and the third parity column are not corresponding to those columns of information in a straight line in the array, but correspond to those columns of information in a broken line;
  • the number of lines is divisible by 2 k-2 .
  • the invention has the beneficial effects that the fault tolerance of the system is improved; the computational complexity of the codec process is lower, and the repair of the broadband is greatly reduced.
  • FIG. 1 is a schematic diagram of an embodiment of a memory code used in a three parity check column of the present invention.
  • a multi-fault-tolerant MDS array code coding the component of which is a C(k,3,p) code, which divides the data block into k(p-1) ⁇ information bits and encodes to generate 3(p-1) ⁇ redundancy.
  • the information column is represented by a polynomial, and each corresponding information column is a data polynomial, and the corresponding three parity columns form a coded polynomial, and the data polynomial and the coded polynomial form a column vector [s 1 (x), s 2 (x),...,s k+3 (x)].
  • the product of G is calculated, where G is kx (k) consisting of a kxk unit matrix I and a kx3 coding matrix P +3) Generate a matrix.
  • the C(k,3,p) code is a systematic linear code penetrating into R p ⁇ .
  • the invention also provides a method for repairing a multi-fault-tolerant MDS array code, comprising the steps of: obtaining an information column that has failed; if the information column has failed Then fix the information bits s l,f by the first parity, where l mod 2 f ⁇ 0,1,2,...2 f-1 -1 ⁇ , otherwise repaired by the second parity Information bits s l,f , where l mod 2 f ⁇ 2 f-1 , 2 f-1 +1,2 f-1 +2,...,2 f -1 ⁇ ; if the information column has failed
  • the information bits s l,f are fixed by the first parity, where l mod 2 f ⁇ 0,1,2,...,2 f-1 -1 ⁇ , otherwise, pass the third parity To fix the information bits s l,f , where l mod 2 f ⁇ 2 f-1 , 2 f-1 +1,2 f-1 +2,...,2 f -1 ⁇ .
  • the repaired broadband is (p-1) ((k+2) 2 k-3 -2 kf-2 ).
  • the parity sets of the second parity column and the third parity column do not correspond to those columns of information in a line in the array, but correspond to those columns of information in a line; the number of rows of the array is 2 k-2 Divisible.
  • the multi-fault-tolerant MDS array code is constructed as follows:
  • the polynomial of k + 3) is called a coding polynomial.
  • the algorithm embodied in [S 1 (x), s 2 (x),..., s k+3 (x)] [s 1 (x), s 2 (x),...,s
  • the product of k (x)] ⁇ G is calculated.
  • the kx(k+3) generation matrix G is composed of a kxk unit matrix I and a kx3 coding matrix P,
  • the variable x represents the cyclic right shift operator on the polynomial. This is critical to reducing the repair bandwidth for a column failure.
  • the proposed code is represented as C(k,3,p). Please note that extra bits are not stored on disk; they are for convenience only.
  • the encoding matrix for this example is
  • the encoding process can be described in the form of a polynomial as follows. Given k(p-1) ⁇ information bits, ⁇ extra bits are appended for each (p-1) ⁇ information bit and form a message vector [s 1 (x), s 2 (x),...,s k (x)].
  • the number of times of storage is 0 to the term coefficient in the (p-1) ⁇ -1 polynomial.
  • the proposed array code can be viewed as a systematic linear code that operates within Rp ⁇ .
  • a progressive optimal repair of information failure in one embodiment, will show how to repair the bits stored in information column f by accessing bits from k-1 other columns of information and 2 parity columns.
  • extra bits can be calculated by (2).
  • the bit elements of column i are represented as p ⁇ bits s 0,i , s 1,i ,...,s p ⁇ -1,i .
  • the parity set is formally defined as follows.
  • Definition 1 For 0 ⁇ l ⁇ p ⁇ -1, define the first parity set of the first column, the second column, and the third column as
  • parity set Includes multiple information bits that can be used to generate redundant bits When it is said that one information bit is repaired by a parity column, this means that in addition to the erased bits, the redundant bits of the parity column and all the information bits in the parity column are accessed.
  • the first column is erased.
  • the eight bits stored in the second information column can be downloaded by downloading six bits from the first information column and from the third information column, the fourth information column, the first parity column, and the second parity column.
  • the four bits in each column are restored.
  • a total of 22 bits were downloaded during the repair process.
  • the third column of information and the last column of information can be reconstructed by accessing 22 bits and 20 bits from 5 columns, respectively.
  • Theorem 3 When At the time, the information column f obtained by Algorithm 1 repairs the bandwidth as
  • the parity set of the first parity column in the proposed code is the same as the parity set of the first parity column in RDP and EVENODD.
  • the key difference between the proposed code and the existing binary MDS array code is the construction of the second and third parity columns.
  • the parity sets of the second and third parity columns in the proposed code do not correspond to those bits that are straight in the array, but rather to those bits that are in a broken line.
  • the number of rows in the array in the proposed code can be divisible by 2 k-2 . These two properties are critical to reducing the repair bandwidth.

Abstract

The present invention relates to the field of data processing, and provides a multi-fault tolerance MDS array code encoding, a component thereof being a C(k,3,p) code, expressing data blocks as k(p-1)τ information bits and encoding to generate 3(p-1)τ redundant bits, (p-1)τ being a positive integer, τ=2k-2, p being a prime number, k≥3, τ extra bits being added to each (p-1)τ information bit to form a message vector. The advantageous effects of the present invention are: the fault tolerance of a system is improved; the calculation complexity of encoding and decoding is relatively low, and a repair bandwidth is thereby significantly reduced.

Description

多容错性的MDS阵列码编码以及修复方法Multi-faulty MDS array code encoding and repair method 【技术领域】[Technical Field]
本发明涉及数据处理领域,尤其涉及一种多容错性的MDS阵列码编码以及修复方法。The present invention relates to the field of data processing, and in particular, to a multi-fault-tolerant MDS array code encoding and repair method.
【背景技术】【Background technique】
现代分布式存储系统利用纠删码来维持数据可用性,以避免存储节点的失效。二进制最大距离可分(MDS)阵列码是一种特殊的纠删码,其凭借最小存储冗余和较低计算复杂度实现容错性。具体来说,二进制阵列码由k+r列的阵列组成,每列具有L位,对于所述的k+r列,其中的k列信息列存储信息位,而r列奇偶校验列存储冗余位。每列中的L位存储在相同的存储节点中。如果k+r列中的任何k足以重建所有的k列信息列,那么这种码就可以称之为MDS(即其可容许任何r列失效)。二进制MDS阵列码的例子包括:X码[1]和RDP码[2],两者均为双容错型(即r=2);还有STAR码[3]、普遍化的RDP码[4]以及TIP码,三者都是三容错型(即r=3)。Modern distributed storage systems use erasure codes to maintain data availability to avoid failure of storage nodes. The binary maximum distance separable (MDS) array code is a special erasure code that achieves fault tolerance with minimal storage redundancy and low computational complexity. Specifically, the binary array code is composed of an array of k+r columns, each column having L bits, wherein for the k+r columns, the k column information column stores information bits, and the r column parity column stores redundancy The remaining position. The L bits in each column are stored in the same storage node. If any k in the k+r column is sufficient to reconstruct all of the k-column information columns, then such a code can be referred to as an MDS (ie, it can tolerate any r-column failure). Examples of binary MDS array codes include: X code [1] and RDP code [2], both of which are double fault tolerant (ie, r = 2); and STAR code [3], generalized RDP code [4] And TIP code, all three are three fault-tolerant (ie r = 3).
当分布式存储系统中的一个节点失效时,应该通过从未失效节点d下载位元来修复失效的列,其中k≤d≤k+r-1。将修复带宽定义为修复运算中的下载位数。尽可能降低修复带宽对于加快修复运算和最小化脆弱之窗至关重要,尤其在网络传输常常成为瓶颈的分布式存储系统中更是如此。修复问题由Dimakis等人[5]基于信息流图首次阐述和研究。如[5]中所阐述,最小修复带宽受制于最小存储冗余,其也被称为最小存储再生(MSR)点,其计算公式如下:When a node in a distributed storage system fails, the failed column should be repaired by downloading the bit from the unfailed node d, where k ≤ d ≤ k + r-1. The repair bandwidth is defined as the number of download bits in the repair operation. Minimizing repair bandwidth is critical to speeding up repair operations and minimizing fragile windows, especially in distributed storage systems where network transport often becomes a bottleneck. The repair problem was first elaborated and studied by Dimakis et al. [5] based on the information flow diagram. As stated in [5], the minimum repair bandwidth is subject to minimum storage redundancy, also known as the Minimum Memory Regeneration (MSR) point, which is calculated as follows:
Figure PCTCN2017097669-appb-000001
Figure PCTCN2017097669-appb-000001
此时d=k+1。虽然在足够大的有限域中最小修复带宽是可实现的[5]、[6],但如何构造实现最小修复带宽的二进制MDS阵列码依然是一个极富挑战性的问题。 At this time d=k+1. Although it is achievable to minimize the bandwidth in a sufficiently large finite field [5], [6], how to construct a binary MDS array code that achieves the minimum repair bandwidth is still a very challenging problem.
目前已有不少研究着眼于减少二进制MDS阵列码中的单个失效列的修复带宽。有些方法将RDP码[7]和X码[8]的磁盘读取尽可能降至最小,但其修复带宽只能算是次优,依然比(1)中的最小值要大50%。MDR码[9]、[10]和ButterFly码[11]为二进制MDS阵列码,其实现了最优修复,但它们只提供双容错性(即r=2)。如何构造兼具最优修复和更高容错性(即r>2)的二进制MDS阵列码依然是一个尚待解决的问题。此类构造将会有利于维持现实中故障频发之分布式存储系统中的数据可用性。A number of studies have focused on reducing the repair bandwidth of a single failed column in a binary MDS array code. Some methods minimize the disk reading of RDP code [7] and X code [8], but the repair bandwidth is only suboptimal, still 50% larger than the minimum value in (1). The MDR codes [9], [10], and ButterFly codes [11] are binary MDS array codes that implement optimal repair, but they only provide double fault tolerance (ie, r = 2). How to construct a binary MDS array code with optimal repair and higher fault tolerance (ie r>2) is still a problem to be solved. Such a configuration would be beneficial to maintain data availability in a distributed storage system with frequent failures.
【发明内容】[Summary of the Invention]
为了解决现有技术中的问题,本发明提供了一种多容错性的MDS阵列码编码以及修复方法,解决现有技术中无法兼具最优修复和更高容错性的问题。In order to solve the problems in the prior art, the present invention provides a multi-fault-tolerant MDS array code encoding and repairing method, which solves the problem that the prior art cannot combine optimal repair and higher fault tolerance.
本发明是通过以下技术方案实现的:设计、制造了一种多容错性的MDS阵列码编码,其组成部分为C(k,3,p)码,将数据块分成k(p-1)τ信息位并编码产生3(p-1)τ个冗余位,(p-1)τ为正整数,τ=2k-2,p为素数,k≥3,信息位表示为
Figure PCTCN2017097669-appb-000002
冗余位表示为
Figure PCTCN2017097669-appb-000003
其中j为k+1、k+2和k+3,i=1,2,…,k;每个(p-1)τ信息位附加τ额外位并形成消息向量。
The invention is realized by the following technical solutions: a multi-fault-tolerant MDS array code coding is designed and manufactured, and the component thereof is a C(k, 3, p) code, and the data block is divided into k(p-1)τ. The information bits are coded to produce 3(p-1)τ redundant bits, (p-1)τ is a positive integer, τ=2 k-2 , p is a prime number, k≥3, and the information bits are expressed as
Figure PCTCN2017097669-appb-000002
Redundant bits are expressed as
Figure PCTCN2017097669-appb-000003
Where j is k+1, k+2, and k+3, i=1, 2,...,k; each (p-1)τ information bit is appended with τ extra bits and forms a message vector.
作为本发明的进一步改进:将信息列通过多项式进行表示,对应的每一信息列为数据多项式,其对应的三个奇偶校验列形成已编码多项式,数据多项式和已编码多项式形成列向量[s1(x),s2(x),…,sk+3(x)]。As a further improvement of the present invention, the information column is represented by a polynomial, and each corresponding information column is a data polynomial, and the corresponding three parity columns form an encoded polynomial, and the data polynomial and the encoded polynomial form a column vector [s 1 (x), s 2 (x), ..., s k+3 (x)].
作为本发明的进一步改进:所述列向量通过R:=F2[x]/(1+x)中所体现的算法取[s1(x),s2(x),…,sk+3(x)]=[s1(x),s2(x),…,sk(x)].G的积来进行计算,其中G为由kxk单位矩阵I和一个kx3编码矩阵P所组成的kx(k+3)生成矩阵。As a further improvement of the present invention, the column vector takes [s 1 (x), s 2 (x), ..., s by the algorithm embodied in R :=F 2 [x]/(1+x ) k+3 (x)]=[s 1 (x), s 2 (x),...,s k (x)]. The product of G is calculated, where G is the matrix of the kxk unit matrix I and a kx3 matrix The kx(k+3) composed of P generates a matrix.
作为本发明的进一步改进:C(k,3,p)码为在R内穿入一个系统化线性码。As a further improvement of the invention: the C(k,3,p) code is such that a systematic linear code is penetrated within R .
本发明同时提供了一种多容错性的MDS阵列码的修复方法,包括如下步骤:获取已经失效的信息列;若已经失效的信息列
Figure PCTCN2017097669-appb-000004
则通过第一奇偶校验来修复信息位sl,f,其中l mod 2f∈{0,1,2,...2f-1-1},否则通过第二个奇偶校验来修复信息位sl,f,其中l mod 2f∈{2f-1,2f-1+1,2f-1+2,...,2f-1};若已经失效的信息列
Figure PCTCN2017097669-appb-000005
通过第一个奇偶校验来修复信息位sl,f,其中l mod 2f∈{0,1,2,...,2f-1-1},否则,通过第三个奇偶校验来修复信息位sl,f,其中l mod 2f∈{2f-1,2f-1+1,2f-1+2,...,2f-1}。
The invention also provides a method for repairing a multi-fault-tolerant MDS array code, comprising the steps of: obtaining an information column that has failed; if the information column has failed
Figure PCTCN2017097669-appb-000004
Then fix the information bits s l,f by the first parity, where l mod 2 f ∈{0,1,2,...2 f-1 -1}, otherwise repaired by the second parity Information bits s l,f , where l mod 2 f ∈{2 f-1 , 2 f-1 +1,2 f-1 +2,...,2 f -1}; if the information column has failed
Figure PCTCN2017097669-appb-000005
The information bits s l,f are fixed by the first parity, where l mod 2 f ∈{0,1,2,...,2 f-1 -1}, otherwise, pass the third parity To fix the information bits s l,f , where l mod 2 f ∈{2 f-1 , 2 f-1 +1,2 f-1 +2,...,2 f -1}.
作为本发明的进一步改进:已经失效的信息列
Figure PCTCN2017097669-appb-000006
的修复宽带为 (p-1)((k+2)2k-3-2k-f-2)。
As a further improvement of the present invention: the information column that has failed
Figure PCTCN2017097669-appb-000006
The repaired broadband is (p-1)((k+2)2 k-3 -2 kf-2 ).
作为本发明的进一步改进:第二奇偶校验列和第三奇偶校验列的奇偶校验集不是对应于阵列中呈直线的那些信息列,而是对应于呈折线的那些信息列;阵列的行数被2k-2整除。As a further improvement of the present invention, the parity sets of the second parity column and the third parity column are not corresponding to those columns of information in a straight line in the array, but correspond to those columns of information in a broken line; The number of lines is divisible by 2 k-2 .
本发明的有益效果是:提高了系统的容错性;编解码过程的计算复杂度更低,极大的减少了修复宽带。The invention has the beneficial effects that the fault tolerance of the system is improved; the computational complexity of the codec process is lower, and the repair of the broadband is greatly reduced.
【附图说明】[Description of the Drawings]
图1为本发明三奇偶校验列所用存储码的实施例示意图。1 is a schematic diagram of an embodiment of a memory code used in a three parity check column of the present invention.
【具体实施方式】【detailed description】
下面结合附图说明及具体实施方式对本发明进一步说明。The invention will now be further described with reference to the drawings and specific embodiments.
缩略语和关键术语定义Abbreviations and definitions of key terms
MDS   Maximum Distance Separable   最大距离可分离MDS Maximum Distance Separable Maximum Distance Separable
RDP   Row-Diagonal Parity   行对角线校验RDP Row-Diagonal Parity line diagonal check
一种多容错性的MDS阵列码编码,其组成部分为C(k,3,p)码,将数据块分成k(p-1)τ信息位并编码产生3(p-1)τ个冗余位,(p-1)τ为正整数,τ=2k-2,p为素数,k≥3,信息位表示为
Figure PCTCN2017097669-appb-000007
冗余位表示为
Figure PCTCN2017097669-appb-000008
其中j为k+1、k+2和k+3,i=1,2,…,k;每个(p-1)τ信息位附加τ额外位并形成消息向量。
A multi-fault-tolerant MDS array code coding, the component of which is a C(k,3,p) code, which divides the data block into k(p-1)τ information bits and encodes to generate 3(p-1)τ redundancy. The remaining bits, (p-1)τ is a positive integer, τ=2 k-2 , p is a prime number, k≥3, and the information bits are expressed as
Figure PCTCN2017097669-appb-000007
Redundant bits are expressed as
Figure PCTCN2017097669-appb-000008
Where j is k+1, k+2, and k+3, i=1, 2,...,k; each (p-1)τ information bit is appended with τ extra bits and forms a message vector.
将信息列通过多项式进行表示,对应的每一信息列为数据多项式,其对应的三个奇偶校验列形成已编码多项式,数据多项式和已编码多项式形成列向量[s1(x),s2(x),…,sk+3(x)]。The information column is represented by a polynomial, and each corresponding information column is a data polynomial, and the corresponding three parity columns form a coded polynomial, and the data polynomial and the coded polynomial form a column vector [s 1 (x), s 2 (x),...,s k+3 (x)].
所述列向量通过R:=F2[x]/(1+x)中所体现的算法取[s1(x),s2(x),…,sk+3(x)]=[s1(x),s2(x),…,sk(x)].G的积来进行计算,其中G为由kxk单位矩阵I和一个kx3编码矩阵P所组成的kx(k+3)生成矩阵。The column vector takes [s 1 (x), s 2 (x), ..., s k+3 (x)] by the algorithm embodied in R :=F 2 [x]/(1+x ) =[s 1 (x), s 2 (x),...,s k (x)]. The product of G is calculated, where G is kx (k) consisting of a kxk unit matrix I and a kx3 coding matrix P +3) Generate a matrix.
C(k,3,p)码为在R内穿入一个系统化线性码。The C(k,3,p) code is a systematic linear code penetrating into R .
本发明同时提供了一种多容错性的MDS阵列码的修复方法,包括如下步骤:获取已经失效的信息列;若已经失效的信息列
Figure PCTCN2017097669-appb-000009
则通过第一奇偶校验来修复信息位sl,f,其中l mod 2f∈{0,1,2,...2f-1-1},否则通过第二个奇偶校验来修复信 息位sl,f,其中l mod 2f∈{2f-1,2f-1+1,2f-1+2,...,2f-1};若已经失效的信息列
Figure PCTCN2017097669-appb-000010
通过第一个奇偶校验来修复信息位sl,f,其中l mod 2f∈{0,1,2,...,2f-1-1},否则,通过第三个奇偶校验来修复信息位sl,f,其中l mod 2f∈{2f-1,2f-1+1,2f-1+2,...,2f-1}。
The invention also provides a method for repairing a multi-fault-tolerant MDS array code, comprising the steps of: obtaining an information column that has failed; if the information column has failed
Figure PCTCN2017097669-appb-000009
Then fix the information bits s l,f by the first parity, where l mod 2 f ∈{0,1,2,...2 f-1 -1}, otherwise repaired by the second parity Information bits s l,f , where l mod 2 f ∈{2 f-1 , 2 f-1 +1,2 f-1 +2,...,2 f -1}; if the information column has failed
Figure PCTCN2017097669-appb-000010
The information bits s l,f are fixed by the first parity, where l mod 2 f ∈{0,1,2,...,2 f-1 -1}, otherwise, pass the third parity To fix the information bits s l,f , where l mod 2 f ∈{2 f-1 , 2 f-1 +1,2 f-1 +2,...,2 f -1}.
已经失效的信息列
Figure PCTCN2017097669-appb-000011
的修复宽带为(p-1)((k+2)2k-3-2k-f-2)。
Information column that has expired
Figure PCTCN2017097669-appb-000011
The repaired broadband is (p-1) ((k+2) 2 k-3 -2 kf-2 ).
第二奇偶校验列和第三奇偶校验列的奇偶校验集不是对应于阵列中呈直线的那些信息列,而是对应于呈折线的那些信息列;阵列的行数被2k-2整除。The parity sets of the second parity column and the third parity column do not correspond to those columns of information in a line in the array, but correspond to those columns of information in a line; the number of rows of the array is 2 k-2 Divisible.
在一实施例中,多容错性的MDS阵列码的构造如下:In an embodiment, the multi-fault-tolerant MDS array code is constructed as follows:
令k≥3且L=(p-1)τ为正整数,其中τ=2k-2,而p为素数且2为Zp域中的基元。考虑一个文档大小为k(p-1)τ比特,由信息位
Figure PCTCN2017097669-appb-000012
表示(i=1,2,…,k),其可用于生成3(p-1)τ冗余位
Figure PCTCN2017097669-appb-000013
Figure PCTCN2017097669-appb-000014
Let k ≥ 3 and L = (p-1) τ be positive integers, where τ = 2 k-2 , and p is a prime number and 2 is a primitive in the Z p domain. Consider a document size of k(p-1) τ bits, by information bits
Figure PCTCN2017097669-appb-000012
Represents (i = 1, 2, ..., k), which can be used to generate 3 (p-1) τ redundant bits
Figure PCTCN2017097669-appb-000013
Figure PCTCN2017097669-appb-000014
对于l=1,2,…,k+3及μ=0,1,…τ-1,定义如下速记表示法:For l = 1, 2, ..., k + 3 and μ = 0, 1, ... τ-1, the following shorthand notation is defined:
Figure PCTCN2017097669-appb-000015
Figure PCTCN2017097669-appb-000015
Figure PCTCN2017097669-appb-000016
为额外比特,其与
Figure PCTCN2017097669-appb-000017
相关。例如,当p=3,k=4及τ=4时,
Figure PCTCN2017097669-appb-000018
的额外位为
Weigh
Figure PCTCN2017097669-appb-000016
For extra bits,
Figure PCTCN2017097669-appb-000017
Related. For example, when p=3, k=4, and τ=4,
Figure PCTCN2017097669-appb-000018
Extra bit is
Figure PCTCN2017097669-appb-000019
Figure PCTCN2017097669-appb-000019
对于l=1,2,…,k+3,通过环F2[x]上的多项式sl(x)将列l中的比特
Figure PCTCN2017097669-appb-000020
Figure PCTCN2017097669-appb-000021
与τ额外比特
Figure PCTCN2017097669-appb-000022
共同表达为多项式sl(x):
For l = 1, 2, ..., k + 3, the bits in column l are passed through the polynomial s l (x) on the ring F 2 [x]
Figure PCTCN2017097669-appb-000020
Figure PCTCN2017097669-appb-000021
Extra bit with τ
Figure PCTCN2017097669-appb-000022
Co-expressed as a polynomial s l (x):
Figure PCTCN2017097669-appb-000023
Figure PCTCN2017097669-appb-000023
对应于第i信息列(i=1,2,…,k)的多项式si(x)被称为数据多项式,对应于j-k奇偶校验列(j=k+1,.k+2,.k+3)的多项式被称为编码多项式。The polynomial s i (x) corresponding to the i-th information column (i = 1, 2, ..., k) is called a data polynomial, corresponding to the jk parity column (j = k + 1, .k + 2,. The polynomial of k + 3) is called a coding polynomial.
将k个数据多项式和3个编码多项式写为列向量Write k data polynomials and 3 coding polynomials as column vectors
[s1(x),s2(x),...,sk+3(x)],     (3)[s 1 (x), s 2 (x),...,s k+3 (x)], (3)
其可通过利用
Figure PCTCN2017097669-appb-000024
中所体现的算法取[s1(x),s2(x),...,sk+3(x)]=[s1(x),s2(x),...,sk(x)]·G的积来进行计算。kx(k+3)生成矩阵G由kxk单位矩阵I和一个kx3编码矩阵P所组成,
It can be utilized
Figure PCTCN2017097669-appb-000024
The algorithm embodied in [S 1 (x), s 2 (x),..., s k+3 (x)]=[s 1 (x), s 2 (x),...,s The product of k (x)]·G is calculated. The kx(k+3) generation matrix G is composed of a kxk unit matrix I and a kx3 coding matrix P,
Figure PCTCN2017097669-appb-000025
Figure PCTCN2017097669-appb-000025
在环R中,变量x代表多项式上的循环右移运算符。这对于减小一个信息列失效的修复带宽而言至关重要。所提出的代码表示为C(k,3,p)。请注意不会将额外比特存储在磁盘上;它们仅用于表示的方便性。考虑k=4且p=3这样一个示例,32个信息比特由s0,i,s1,i,...,s7,i来表示,其中i=1,2,3,4。该示例的编码矩阵为In the ring R , the variable x represents the cyclic right shift operator on the polynomial. This is critical to reducing the repair bandwidth for a column failure. The proposed code is represented as C(k,3,p). Please note that extra bits are not stored on disk; they are for convenience only. Consider an example where k=4 and p=3, 32 information bits are represented by s 0,i , s 1,i ,...,s 7, i , where i=1, 2, 3, 4. The encoding matrix for this example is
Figure PCTCN2017097669-appb-000026
Figure PCTCN2017097669-appb-000026
该示例在图1中进行了阐明,其中字体加粗的比特元为额外位。This example is illustrated in Figure 1, where the bolded bit elements are extra bits.
编码过程可用如下多项式的形式来描述。给定k(p-1)τ信息比特,为每个(p-1)τ信息比特附加τ额外位,并形成消息向量[s1(x),s2(x),...,sk(x)]。The encoding process can be described in the form of a polynomial as follows. Given k(p-1)τ information bits, τ extra bits are appended for each (p-1)τ information bit and form a message vector [s 1 (x), s 2 (x),...,s k (x)].
在获得(3)中的向量后,存储次数为0到(p-1)τ-1多项式中的项系数。所提出的阵列码可被看作为在Rpτ内运算的一个系统线性码。After obtaining the vector in (3), the number of times of storage is 0 to the term coefficient in the (p-1) τ-1 polynomial. The proposed array code can be viewed as a systematic linear code that operates within Rpτ.
一次信息失效的渐进最优修复,在一实施例中,将会展示如何通过访问来自k-1个其它信息列以及2个奇偶校验列的位元来修复存储在信息列f中的比特s0,f,s1,f,...,s(p-1)τ-1,f且具有渐进最优修复带宽,其中1≤f≤k。请记住可以由(2)计算额外比特。为了表示的方便性,将列i的比特元表示为pτ位s0,i,s1,i,...,spτ-1,i。在给出修复算法之前,正式将奇偶校验集作如下定义。A progressive optimal repair of information failure, in one embodiment, will show how to repair the bits stored in information column f by accessing bits from k-1 other columns of information and 2 parity columns. 0, f , s 1, f , ..., s (p-1) τ -1, f and have a progressive optimal repair bandwidth, where 1 ≤ f ≤ k. Remember that extra bits can be calculated by (2). For convenience of representation, the bit elements of column i are represented as pτ bits s 0,i , s 1,i ,...,s pτ-1,i . Before the repair algorithm is given, the parity set is formally defined as follows.
定义1.对于0≤l≤pτ-1,将第一列、第二列和第三列的第l个奇偶校验集分别定义为 Definition 1. For 0 ≤ l ≤ pτ-1, define the first parity set of the first column, the second column, and the third column as
Figure PCTCN2017097669-appb-000027
Figure PCTCN2017097669-appb-000027
Figure PCTCN2017097669-appb-000028
Figure PCTCN2017097669-appb-000029
Figure PCTCN2017097669-appb-000028
with
Figure PCTCN2017097669-appb-000029
请注意定义1及全文中的所有指数取模为pτ。由定义1,奇偶校验集
Figure PCTCN2017097669-appb-000030
包括多个信息比特,其可用于生成冗余位
Figure PCTCN2017097669-appb-000031
当说一个信息比特由一个奇偶校验列所修复时,这意味着除了已擦除比特以外,访问了奇偶校验列的冗余位以及该奇偶校验列中的所有信息比特。考虑图1中给出的示例。假定第一列被擦除。人们可以访问位比特s0,2,s0,3,s0,4以及冗余比特s0,1+s0,2+s0,3+s0,4以通过s0,2+s0,3+s0,4+(s0,1+s0,2+s0,3+s0,4)来重建s0,1
Please note that all indices in definition 1 and in the full text are modulo pτ. By definition 1, parity set
Figure PCTCN2017097669-appb-000030
Includes multiple information bits that can be used to generate redundant bits
Figure PCTCN2017097669-appb-000031
When it is said that one information bit is repaired by a parity column, this means that in addition to the erased bits, the redundant bits of the parity column and all the information bits in the parity column are accessed. Consider the example given in Figure 1. Assume that the first column is erased. One can access the bit bits s 0,2 , s 0,3 , s 0,4 and the redundant bits s 0,1 +s 0,2 +s 0,3 +s 0,4 to pass s 0,2 +s 0,3 +s 0,4 +(s 0,1 +s 0,2 +s 0,3 +s 0,4 ) to reconstruct s 0,1 .
Figure PCTCN2017097669-appb-000032
Figure PCTCN2017097669-appb-000032
Figure PCTCN2017097669-appb-000033
Figure PCTCN2017097669-appb-000033
修复算法在算法1中做了陈述。来再次考虑图1所给出的示例,以详细阐述修复过程。在该示例中,k=5,d=5且τ=4。假设第一信息列(即节点1)失效,也就是说f=1。依照算法1中的第2、3步,可以通过第一个奇偶校验列来修复比特
Figure PCTCN2017097669-appb-000034
其中
Figure PCTCN2017097669-appb-000035
且0≤l≤7。更具体地说,比特s0,1,s2,1,s4,1,s6,1由s0,1=s0,2+s0,3+s0,4+(s0,1+s0,2+s0,3+s0,4)s2,1=s2,2+s2,3+s2,4+(s2,1+s2,2+s2,3+s2,4)s4,1=s4,2+s4,3+s4,4+(s4,1+s4,2+s4,3+s4,4)s6,1=s6,2+s6,3+s6,4+(s6,1+s6,2+s6,3+s6,4)重建。
The repair algorithm is stated in Algorithm 1. Consider again the example given in Figure 1 to elaborate on the repair process. In this example, k=5, d=5 and τ=4. Assume that the first column of information (ie, node 1) fails, that is, f=1. According to steps 2 and 3 in Algorithm 1, the bit can be repaired by the first parity column.
Figure PCTCN2017097669-appb-000034
among them
Figure PCTCN2017097669-appb-000035
And 0 ≤ l ≤ 7. More specifically, the bits s 0,1 , s 2,1 , s 4,1 , s 6,1 are from s 0,1 =s 0,2 +s 0,3 +s 0,4 +(s 0, 1 +s 0,2 +s 0,3 +s 0,4 )s 2,1 =s 2,2 +s 2,3 +s 2,4 +(s 2,1 +s 2,2 +s 2 ,3 +s 2,4 )s 4,1 =s 4,2 +s 4,3 +s 4,4 +(s 4,1 +s 4,2 +s 4,3 +s 4,4 )s 6,1 =s 6,2 +s 6,3 +s 6,4 +(s 6,1 +s 6,2 +s 6,3 +s 6,4 ) reconstruction.
由于f=1∈{1,2},其它信息比特
Figure PCTCN2017097669-appb-000036
由第二奇偶校验列修复,其中
Figure PCTCN2017097669-appb-000037
且0≤l≤7。
Since f=1∈{1,2}, other information bits
Figure PCTCN2017097669-appb-000036
Repaired by the second parity column, where
Figure PCTCN2017097669-appb-000037
And 0 ≤ l ≤ 7.
因此,比特s1,1,s3,1,s5,1,s7,1由s1,1=s0,2+s10,3+s2,4+(s1,1+s0,2+s10,3+s2,4)s3,1=s2,2+s0,3+s4,4+(s3,1+s2,2+s0,3+s4,4)s5,1=s4,2+s2,3+s6,4+(s5,1+s10,2+s8,3+s0,4)s7,1=s6,2+s4,3+s8,4+(s11,1+s10,2+s8,3+s0,4)+(s3,1+s2,2+s0,3+s4,4)重建。Therefore, the bits s 1,1 , s 3,1 , s 5,1 , s 7,1 are s 1,1 =s 0,2 +s 10,3 +s 2,4 +(s 1,1 +s 0,2 +s 10,3 +s 2,4 )s 3,1 =s 2,2 +s 0,3 +s 4,4 +(s 3,1 +s 2,2 +s 0,3 + s 4,4 )s 5,1 =s 4,2 +s 2,3 +s 6,4 +(s 5,1 +s 10,2 +s 8,3 +s 0,4 )s 7,1 =s 6,2 +s 4,3 +s 8,4 +(s 11,1 +s 10,2 +s 8,3 +s 0,4 )+(s 3,1 +s 2,2 +s 0,3 +s 4,4 ) Reconstruction.
因为可以通过s6,3+s2,3计算s10,3以及通过s4,4+s0,4计算s8,4,所以无需下载比特s10,3和s8,4。因此,认为需要从三个信息列以及两个奇偶校验列的每一列下载四个比特。要修复第一信息列的比特总共需要从五列下载20个位元。也就是说,用于修复的数据列的比特只有一半受到了访问。在图1中,实线框内的比特会被下载,以修复信息比特s0,1,s2,1,s4,1,s6,1,并且虚线框内的位元会被用来修复信息比特s1,1,s3,1,s5,1,s7,1。假设第二信息列(即节点2)失效,也就是说f=2。依照算法1中的第2、3步,可以通过
Figure PCTCN2017097669-appb-000038
修复比特s0,2,s1,2,s4,2,s5,2
Since s 10,3 can be calculated by s 6,3 +s 2,3 and s 8,4 is calculated by s 4,4 +s 0,4 , there is no need to download bits s 10,3 and s 8,4 . Therefore, it is considered necessary to download four bits from each of the three columns of information and two columns of parity. To repair the bits of the first information column, a total of 20 bits need to be downloaded from five columns. That is, only half of the bits of the data column used for repair are accessed. In Figure 1, the bits in the solid line box are downloaded to fix the information bits s 0,1 , s 2,1 , s 4,1 , s 6,1 and the bits in the dashed box are used. Fix the information bits s 1,1 , s 3,1 , s 5,1 , s 7,1 . Assume that the second column of information (ie, node 2) fails, that is, f=2. According to steps 2 and 3 in Algorithm 1, you can pass
Figure PCTCN2017097669-appb-000038
Repair bits s 0,2 , s 1,2 , s 4,2 , s 5,2 .
类似地,可以通过 s2,2=s3,1+s0,3+s4,4+(s3,1+s2,2+s0,3+s4,4)s3,2=s4,1+s1,3+s5,4+(s4,1+s3,2+s1,3+s5,4)s6,2=s7,1+s4,3+s0,4+s4,4+(s11,1+s10,2+s8,3+s0,4)+(s3,1+s2,3+s0,3+s4,4)s7,2=s0,1+s4,1+s5,3+s1,4+s5,4+(s0,1+s11,2+s9,3+s1,4)+(s4,1+s3,2+s1,3+s5,4).修复比特s2,2,s3,2,s6,2,s7,2Similarly, it can pass s 2,2 =s 3,1 +s 0,3 +s 4,4 +(s 3,1 +s 2,2 +s 0,3 +s 4,4 )s 3,2 =s 4,1 +s 1,3 +s 5,4 +(s 4,1 +s 3,2 +s 1,3 +s 5,4 )s 6,2 =s 7,1 +s 4, 3 +s 0,4 +s 4,4 +(s 11,1 +s 10,2 +s 8,3 +s 0,4 )+(s 3,1 +s 2,3 +s 0,3 + s 4,4 )s 7,2 =s 0,1 +s 4,1 +s 5,3 +s 1,4 +s 5,4 +(s 0,1 +s 11,2 +s 9,3 +s 1,4 )+(s 4,1 +s 3,2 +s 1,3 +s 5,4 ). Repair bits s 2,2 ,s 3,2 ,s 6,2 ,s 7,2 .
因此,存储在第二信息列中的八个比特可通过下载来自第一信息列的六个比特和来自第三信息列、第四信息列、第一奇偶校验列以及第二奇偶校验列中每一列的四个比特予以恢复。修复过程中总共下载了22个比特。对于图1中所给出的代码,第三信息列和最后信息列可分别通过访问来自5列的22个比特和20个比特予以重建。Therefore, the eight bits stored in the second information column can be downloaded by downloading six bits from the first information column and from the third information column, the fourth information column, the first parity column, and the second parity column. The four bits in each column are restored. A total of 22 bits were downloaded during the repair process. For the code given in Figure 1, the third column of information and the last column of information can be reconstructed by accessing 22 bits and 20 bits from 5 columns, respectively.
定理3:当
Figure PCTCN2017097669-appb-000039
时,由算法1得出的信息列f修复带宽为
Theorem 3: When
Figure PCTCN2017097669-appb-000039
At the time, the information column f obtained by Algorithm 1 repairs the bandwidth as
(p-1)((k+2)2k-3-2k-f-2)。(p-1) ((k+2) 2 k-3 -2 kf-2 ).
证明:按照算法1,比特
Figure PCTCN2017097669-appb-000040
通过第一奇偶校验列的奇偶校验集
Figure PCTCN2017097669-appb-000041
进行修复,其中l mod 2f∈{0,1,2,...,2f-1-1}且
Figure PCTCN2017097669-appb-000042
因此,需要从剩余k-1个信息列的每一列来访问(p-1)τ/2个位元
Figure PCTCN2017097669-appb-000043
其中i∈{1,2,...,f-1,f+1,...,k}且l mod 2f∈{0,1,2,...,2f-1-1},并且从第一奇偶校验列下载(p-1)τ/2个冗余比特
Figure PCTCN2017097669-appb-000044
其中l mod 2i∈{0,1,2,...,2i-1-1}。由此得出,有k(p-1)τ/2个位元需要下载。
Proof: according to algorithm 1, bit
Figure PCTCN2017097669-appb-000040
Through the parity set of the first parity column
Figure PCTCN2017097669-appb-000041
Repair, where l mod 2 f ∈{0,1,2,...,2 f-1 -1} and
Figure PCTCN2017097669-appb-000042
Therefore, it is necessary to access (p-1)τ/2 bits from each column of the remaining k-1 information columns.
Figure PCTCN2017097669-appb-000043
Where i∈{1,2,...,f-1,f+1,...,k} and l mod 2 f ∈{0,1,2,...,2 f-1 -1} And download (p-1)τ/2 redundant bits from the first parity column
Figure PCTCN2017097669-appb-000044
Where l mod 2 i ∈ {0,1,2,..., 2i-1 -1}. It follows that there are k(p-1)τ/2 bits that need to be downloaded.
对于l mod 2f∈{2f-1,2f-1+1,2f-1+2,...,2f-1},位元
Figure PCTCN2017097669-appb-000045
通过
Figure PCTCN2017097669-appb-000046
进行修复。请记住
Figure PCTCN2017097669-appb-000047
因此需要访问(p-1)τ/2个冗余位
Figure PCTCN2017097669-appb-000048
For l mod 2 f ∈{2 f-1 , 2 f-1 +1,2 f-1 +2,...,2 f -1}, bit
Figure PCTCN2017097669-appb-000045
by
Figure PCTCN2017097669-appb-000046
Make a repair. please remember
Figure PCTCN2017097669-appb-000047
Therefore, you need to access (p-1)τ/2 redundant bits.
Figure PCTCN2017097669-appb-000048
对于i∈{1,2,...,f-1}的列i,需要(p-1)τ/2位
Figure PCTCN2017097669-appb-000049
其中l mod 2f的全部值位于集{0,1,...,2f-1-2i-1-1,2f-2i-1,2f-2i-1+1,...,2f-1}之中。而对于i∈{f+1,f+2,...,k}的列i,需要(p-1)τ/2位
Figure PCTCN2017097669-appb-000050
其中l mod 2f∈{0,1,2,...,2f-1-1}。
For column i of i ∈ {1, 2, ..., f-1}, (p-1) τ / 2 bits are required
Figure PCTCN2017097669-appb-000049
Where all values of l mod 2f are located in the set {0,1,...,2 f-1 -2 i-1 -1,2 f -2 i-1 ,2 f -2 i-1 +1,.. ., 2 f -1}. For column i of i∈{f+1,f+2,...,k}, (p-1)τ/2 bits are required.
Figure PCTCN2017097669-appb-000050
Where l mod 2 f ∈ {0,1,2,...,2 f-1 -1}.
请注意,在修复过程中,位元
Figure PCTCN2017097669-appb-000051
(其中l mod 2f∈{0,1,2,...,2f-1-1}且
Figure PCTCN2017097669-appb-000052
)已经通过第一奇偶校验列下载。因而,只需要从第二奇偶校验列下载(p-1)τ/2个冗余位,以及从列i下载(p-1)2k+i-f-3个位元,其中i=1,2,...,f-1。
Please note that during the repair process, the bit
Figure PCTCN2017097669-appb-000051
(where l mod 2 f ∈{0,1,2,...,2 f-1 -1} and
Figure PCTCN2017097669-appb-000052
) has been downloaded through the first parity column. Thus, it is only necessary to download (p-1)τ/2 redundant bits from the second parity column and download (p-1) 2 k+if-3 bits from column i, where i=1, 2,...,f-1.
可以算出修复信息列f需要从k+2列下载的位元总数为It can be calculated that the total number of bits that need to be downloaded from the k+2 column for the repair information column f is
Figure PCTCN2017097669-appb-000053
Figure PCTCN2017097669-appb-000053
Figure PCTCN2017097669-appb-000054
时,根据算法1,信息列k+1-f的修复带宽与列f的修复带宽相同。因此,只考虑
Figure PCTCN2017097669-appb-000055
的情形。按照定理3,当f增大时,修复带宽随之增 大。当f=1时,修复带宽为
Figure PCTCN2017097669-appb-000056
这样就在(1)中获得了最优值。即便对于
Figure PCTCN2017097669-appb-000057
的最坏情形,修复带宽为(p-1)((k+2)2k-3-2k-[k/2]-2)<(p-1)(k+2)2k-3,这严格的低于(1)中值的
Figure PCTCN2017097669-appb-000058
倍。
when
Figure PCTCN2017097669-appb-000054
According to Algorithm 1, the repair bandwidth of the information column k+1-f is the same as the repair bandwidth of the column f. Therefore, only consider
Figure PCTCN2017097669-appb-000055
The situation. According to Theorem 3, as f increases, the repair bandwidth increases. When f=1, the repair bandwidth is
Figure PCTCN2017097669-appb-000056
Thus, the optimal value is obtained in (1). Even for
Figure PCTCN2017097669-appb-000057
In the worst case scenario, the repair bandwidth is (p-1)((k+2)2 k-3 -2 k-[k/2]-2 )<(p-1)(k+2)2 k-3 , which is strictly below the median of (1)
Figure PCTCN2017097669-appb-000058
Times.
因此,当k足够大时,任何一个信息失效的修复带宽可渐进地在(1)中获得最优修复。Therefore, when k is large enough, the repair bandwidth of any one information failure can be gradually optimized in (1).
应当指出的是,所提出代码中第一奇偶校验列的奇偶校验集与RDP和EVENODD中第一奇偶校验列的奇偶校验集相同。所提出的代码与现有的二进制MDS阵列码之间的关键区别在于第二和第三奇偶校验列的构造。首先,所提出的代码中的第二和第三奇偶校验列的奇偶校验集不是对应于阵列中呈直线的那些位元,而是对应于呈折线的那些位元。其次,所提出代码中阵列的行数可以被2k-2整除。这两个性质对于减少修复带宽至关重要。It should be noted that the parity set of the first parity column in the proposed code is the same as the parity set of the first parity column in RDP and EVENODD. The key difference between the proposed code and the existing binary MDS array code is the construction of the second and third parity columns. First, the parity sets of the second and third parity columns in the proposed code do not correspond to those bits that are straight in the array, but rather to those bits that are in a broken line. Second, the number of rows in the array in the proposed code can be divisible by 2 k-2 . These two properties are critical to reducing the repair bandwidth.
参考文献references
[1]L.Xu和J.Bruck,“X码:具有最优编码的MDS阵列码”IEEE信息理论会报,1999年第45卷第1期第272–276页。[1] L. Xu and J. Bruck, "X Code: MDS Array Code with Optimal Coding" IEEE Information Theory Conference, Vol. 45, No. 1, 1999, pp. 272-276.
[2]P.Corbett、B.English、A.Goel、T.Grcanac,S.Kleiman、J.Leong和S.Sankar,“用于双磁盘失效校正的行-对角线奇偶校验”,第3届USENIX会议文档及存储技术论文集,2004年第1–14页。[2] P. Corbett, B. English, A. Goel, T. Grcanac, S. Kleiman, J. Leong, and S. Sankar, "Line-Diagonal Parity for Dual Disk Failure Correction", Section 3rd USENIX Conference Document and Storage Technology Proceedings, 2004, pp. 1–14.
[3]C.Huang和L.Xu,“STAR:一种用于校正三重存储节点失效的有效编码方案”,IEEE计算机会报,2008年第57卷第7期第889–901页。[3] C. Huang and L. Xu, “STAR: An Effective Coding Scheme for Correcting Failure of Triple Storage Nodes”, IEEE Computer Report, Vol. 57, No. 7, 2008, pp. 889–901.
[4]M.Blaum,“一系列具有最小编码运算数的MDS阵列码”,IEEE信息理论国际研讨会,2006年第2784–2788页。[4] M. Blaum, “A series of MDS array codes with minimum coding operands”, IEEE International Symposium on Information Theory, 2006, 2784–2788.
[5]A.Dimakis、P.Godfrey、Y.Wu、M.Wainwright和K.Ramchandran,“用于分布式存储系统的网络编码”,IEEE信息理论会报,2010年9月第56卷第9期第4539–4551页。[5] A. Dimakis, P. Godfrey, Y. Wu, M. Wainwright, and K. Ramchanandran, "Network Coding for Distributed Storage Systems," IEEE Information Theory Conference, September 2010, Volume 56, Section 9. Issues 4539–4551.
[6]I.Tamo,Z.Wang和J.Bruck,“曲折码:具有最优重建的MDS阵列码”IEEE信息理论会报,2013年第59卷第3期第1597–1616页。[6] I. Tamo, Z. Wang and J. Bruck, “Zigzag: MDS Array Code with Optimal Reconstruction” IEEE Information Theory Conference, Vol. 59, No. 3, 2013, pp. 1597–1616.
[7]L.Xiang、Y.Xu、J.Lui和Q.Chang,“RDP编码存储系统中单磁盘失效的最优修复”ACM SIGMETRICS性能评估版,2010年ACM第38卷第1期第119–130页。[7] L. Xiang, Y.Xu, J. Lui, and Q. Chang, “Optimal Repair of Single Disk Failure in RDP Coded Storage Systems” ACM SIGMETRICS Performance Evaluation Edition, 2010 ACM Vol. 38, No. 1, No. 119 –130 pages.
[8]S.Xu、R.Li、P.P.Lee、Y.Zhu、L.Xiang、Y.Xu和J.Lui,“用于X码基平行存储系统的单磁盘失效恢复”IEEE计算机会报,2014年第6卷第4期第 995–1007页。[8]S.Xu, R.Li, PLelei, Y.Zhu, L.Xiang, Y.Xu, and J.Lui, "Single Disk Failure Recovery for X Code Base Parallel Storage Systems" IEEE Computer Report, Volume 6, Issue 4, 2014 995–1007 pages.
[9]Y.Wang、X.Yin、和X.Wang,“MDR编码:一种具有最优重建和编码方式的RAID-6编码类别”IEEE通讯选定区域期刊,2013年第32卷第5期第1008–1018页。[9] Y. Wang, X.Yin, and X. Wang, "MDR Coding: A RAID-6 Coding Class with Optimal Reconstruction and Coding Modes" IEEE Communications Selected Region Journal, Vol. 32, No. 5, 2013 Issues 1008–1018.
[10]——,“两种具有最优修复的双奇偶校验MDS阵列码新类别”,IEEE通讯快报,2016年第20卷第7期第1293–1296页。[10] --, "Two new categories of double parity MDS array codes with optimal repair", IEEE Communications Letters, Vol. 20, No. 7, 2016, pp. 1293–1296.
[11]L.Pamies-Juarez、F.Blagojevic、R.Mateescu,C.Gyuot、E.E.Gad和Z.Bandic,“打破束缚:MSR编码的真实修复性能”第14届USENIX文档及存储技术会议(FAST 16),2016年第81–94页。[11] L. Pamies-Juarez, F. Blagojevic, R. Mateescu, C. Gyuot, EEGad, and Z. Bandic, “Breaking the Bound: The Real Repair Performance of MSR Coding” 14th USENIX Document and Storage Technology Conference (FAST 16), 2016, pp. 81–94.
[12]K.W.Shum、H.Hou、M.Chen、H.Xu和H.Li,“在二进制循环码中重新生成代码”,IEEE信息理论研讨会论文集,2014年7月檀香山,第1046–1050页。[12] KWShum, H.Hou, M. Chen, H.Xu, and H.Li, “Regenerating Code in Binary Cyclic Codes”, IEEE Information Theory Symposium Proceedings, Honolulu, July 2014, 1046 – 1050 pages.
[13]H.Hou、K.W.Shum、M.Chen和H.Li,“校正多重磁盘失效的新型MDS阵列码”,全球通讯会议,2015年第2369–2374页。[13] H. Hou, K.W. Shum, M. Chen, and H. Li, "New MDS Array Codes for Multiple Disk Failures", Global Communications Conference, 2015, pp. 2369–2374.
[14]——,“BASIC代码:用于分布式存储系统的低复杂度再生代码”IEEE信息理论会报,2016年第62卷第6期第3053–3069页。[14]-, "BASIC Code: Low Complexity Reproduction Code for Distributed Storage Systems" IEEE Information Theory Conference, Vol. 62, No. 6, 2016, pp. 3053–369.
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。 The above is a further detailed description of the present invention in connection with the specific preferred embodiments, and the specific embodiments of the present invention are not limited to the description. It will be apparent to those skilled in the art that the present invention may be made without departing from the spirit and scope of the invention.

Claims (7)

  1. 一种多容错性的MDS阵列码编码,其特征在于:其组成部分为C(k,3,p)码,将数据块表示成k(p-1)τ信息位并编码产生3(p-1)τ个冗余位,(p-1)τ为正整数,τ=2k-2,p为素数,k≥3,信息位表示为s0,i,s1,i,...,s(p-1)τ-1,
    Figure PCTCN2017097669-appb-100001
    冗余位表示为s0,j,s1,j,...,s(p-1)τ-1,
    Figure PCTCN2017097669-appb-100002
    其中j为k+1、k+2和k+3,i=1,2,…,k;每个(p-1)τ信息位附加τ额外位并形成消息向量。
    A multi-fault-tolerant MDS array code coding, characterized in that the component is a C(k, 3, p) code, and the data block is represented as a k(p-1)τ information bit and encoded to generate 3 (p- 1) τ redundant bits, (p-1) τ is a positive integer, τ = 2 k-2 , p is a prime number, k ≥ 3, information bits are represented as s 0,i , s 1,i ,... , s (p-1)τ-1 ,
    Figure PCTCN2017097669-appb-100001
    Redundant bits are denoted as s 0,j , s 1,j ,...,s (p-1)τ-1 ,
    Figure PCTCN2017097669-appb-100002
    Where j is k+1, k+2, and k+3, i=1, 2,...,k; each (p-1)τ information bit is appended with τ extra bits and forms a message vector.
  2. 根据权利要求1所述的多容错性的MDS阵列码编码,其特征在于:将信息列通过多项式进行表示,对应的每一信息列为数据多项式,其对应的三个奇偶校验列形成已编码多项式,数据多项式和已编码多项式形成列向量[s1(x),s2(x),…,sk+3(x)]。The multi-fault-tolerant MDS array code encoding according to claim 1, wherein the information column is represented by a polynomial, and each corresponding information column is a data polynomial, and the corresponding three parity columns form an encoded code. The polynomial, the data polynomial and the coded polynomial form the column vector [s 1 (x), s 2 (x), ..., s k+3 (x)].
  3. 根据权利要求1所述的多容错性的MDS阵列码编码,其特征在于:所述列向量通过R:=F2[x]/(1+x)中所体现的算法取[s1(x),s2(x),…,sk+3(x)]=[s1(x),s2(x),…,sk(x)].G的积来进行计算,其中G为由k x k单位矩阵I和一个k x 3编码矩阵P所组成的k x (k+3)生成矩阵。The multi-fault-tolerant MDS array code encoding according to claim 1, wherein said column vector is obtained by an algorithm embodied in R :=F 2 [x]/(1+x ) [s 1 (x), s 2 (x),...,s k+3 (x)]=[s 1 (x), s 2 (x),...,s k (x)]. Where G is a kx (k+3) generation matrix composed of a kxk unit matrix I and a kx 3 coding matrix P.
  4. 根据权利要求1所述的多容错性的MDS阵列码编码,其特征在于:C(k,3,p)码为在R内穿入一个系统化线性码。The multi-fault-tolerant MDS array code encoding according to claim 1, wherein the C(k,3,p) code is a systemized linear code penetrating within R .
  5. 一种多容错性的MDS阵列码的修复方法,其特征在于:包括如下步骤:获取已经失效的信息列;若已经失效的信息列
    Figure PCTCN2017097669-appb-100003
    则通过第一奇偶校验来修复信息位sl,f,其中l mod 2f∈{0,1,2,...2f-1-1},否则通过第二个奇偶校验来修复信息位sl,f,其中l mod 2f∈{2f-1,2f-1+1,2f-1+2,...,2f-1};若已经失效的信息列
    Figure PCTCN2017097669-appb-100004
    通过第一个奇偶校验来修复信息位sl,f,其中l mod 2f∈{0,1,2,...,2f-1-1},否则,通过第三个奇偶校验来修复信息位sl,f,其中l mod2f∈{2f-1,2f-1+1,2f-1+2,...,2f-1}。
    A method for repairing a multi-faulty MDS array code, comprising: the steps of: obtaining an information column that has failed; if the information column has failed
    Figure PCTCN2017097669-appb-100003
    Then fix the information bits s l,f by the first parity, where l mod 2 f ∈{0,1,2,...2 f-1 -1}, otherwise repaired by the second parity Information bits s l,f , where l mod 2 f ∈{2 f-1 , 2 f-1 +1,2 f-1 +2,...,2 f -1}; if the information column has failed
    Figure PCTCN2017097669-appb-100004
    The information bits s l,f are fixed by the first parity, where l mod 2 f ∈{0,1,2,...,2 f-1 -1}, otherwise, pass the third parity To fix the information bits s l,f , where l mod2 f ∈{2 f-1 , 2 f-1 +1,2 f-1 +2,...,2 f -1}.
  6. 根据权利要求5所述的修复方法,其特征在于:已经失效的信息列
    Figure PCTCN2017097669-appb-100005
    的修复宽带为(p-1)((k+2)2k-3-2k-f-2)。
    The repairing method according to claim 5, characterized in that the information column has failed
    Figure PCTCN2017097669-appb-100005
    The repaired broadband is (p-1) ((k+2) 2 k-3 -2 kf-2 ).
  7. 根据权利要求5所述的修复方法,其特征在于:第二奇偶校验列和第三奇偶校验列的奇偶校验集不是对应于阵列中呈直线的那些信息列,而是对应于呈折线的那些信息列;阵列的行数被2k-2整除。 The repairing method according to claim 5, wherein the parity sets of the second parity column and the third parity column do not correspond to those columns of the line in the array, but correspond to the dotted line Those columns of information; the number of rows in the array is divisible by 2 k-2 .
PCT/CN2017/097669 2017-07-12 2017-08-16 Multi-fault tolerance mds array code encoding and repair method WO2018171111A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710566011.XA CN107395207B (en) 2017-07-12 2017-07-12 The MDS array code of more fault-tolerances encodes and restorative procedure
CN201710566011.X 2017-07-12

Publications (1)

Publication Number Publication Date
WO2018171111A1 true WO2018171111A1 (en) 2018-09-27

Family

ID=60339499

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/097669 WO2018171111A1 (en) 2017-07-12 2017-08-16 Multi-fault tolerance mds array code encoding and repair method

Country Status (2)

Country Link
CN (1) CN107395207B (en)
WO (1) WO2018171111A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11038533B2 (en) 2019-04-25 2021-06-15 International Business Machines Corporation Expansion for generalized EVENODD codes

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109257050A (en) * 2018-08-09 2019-01-22 东莞理工学院 A kind of reparation binary code generator matrix building method and restorative procedure
CN109062725A (en) * 2018-08-09 2018-12-21 东莞理工学院 A kind of coding framework method of binary system MDS array code
CN109257049B (en) * 2018-08-09 2020-11-06 东莞理工学院 Construction method for repairing binary array code check matrix and repairing method
CN110289864A (en) * 2019-08-01 2019-09-27 东莞理工学院 The optimal reparation access transform method and device of binary system MDS array code
CN110532128B (en) * 2019-08-16 2021-04-20 西安交通大学 Erasure code coding and data reconstruction method for reducing data updating cost
CN110750382B (en) * 2019-09-18 2020-10-30 华中科技大学 Minimum storage regeneration code coding method and system for improving data repair performance
CN110704232B (en) * 2019-10-10 2023-03-14 广东工业大学 Method, device and equipment for repairing failed node in distributed system
CN111143108B (en) * 2019-12-09 2023-05-02 成都信息工程大学 Coding and decoding method and device for reducing array code Xcode repair
CN111988437B (en) * 2020-09-15 2023-03-24 东莞理工学院 Universal Expanded-Blaum-Roth code encoding method and decoding method thereof
CN113641531A (en) * 2021-07-27 2021-11-12 东莞理工学院 STAR code encoding method and decoding method thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100153822A1 (en) * 2008-12-15 2010-06-17 Microsoft Corporation Constructing Forward Error Correction Codes
CN102624866A (en) * 2012-01-13 2012-08-01 北京大学深圳研究生院 Data storage method, data storage device and distributed network storage system
WO2016058289A1 (en) * 2015-01-20 2016-04-21 北京大学深圳研究生院 Mds erasure code capable of repairing multiple node failures

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100153822A1 (en) * 2008-12-15 2010-06-17 Microsoft Corporation Constructing Forward Error Correction Codes
CN102624866A (en) * 2012-01-13 2012-08-01 北京大学深圳研究生院 Data storage method, data storage device and distributed network storage system
WO2016058289A1 (en) * 2015-01-20 2016-04-21 北京大学深圳研究生院 Mds erasure code capable of repairing multiple node failures

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YONGJUN: "the research about the encoding and repair mechanism based on erasure code in the distributed storage system", 15 May 2017 (2017-05-15) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11038533B2 (en) 2019-04-25 2021-06-15 International Business Machines Corporation Expansion for generalized EVENODD codes

Also Published As

Publication number Publication date
CN107395207A (en) 2017-11-24
CN107395207B (en) 2019-11-22

Similar Documents

Publication Publication Date Title
WO2018171111A1 (en) Multi-fault tolerance mds array code encoding and repair method
US11233643B1 (en) Distributed data storage system data decoding and decryption
US10740183B1 (en) Recovering failed devices in distributed data centers
US9432341B2 (en) Securing data in a dispersed storage network
US9110819B2 (en) Adjusting data dispersal in a dispersed storage network
US9270298B2 (en) Selecting storage units to rebuild an encoded data slice
Blaum et al. Partial-MDS codes and their application to RAID type of architectures
US8744071B2 (en) Dispersed data storage system data encryption and encoding
US9154298B2 (en) Securely storing data in a dispersed storage network
US9170884B2 (en) Utilizing cached encoded data slices in a dispersed storage network
WO2020047707A1 (en) Data coding, decoding and repairing method for distributed storage system
US20150356305A1 (en) Secure data access in a dispersed storage network
US20050102548A1 (en) Method and apparatus for enabling high-reliability storage of distributed data on a plurality of independent storage devices
US20140195875A1 (en) Achieving storage compliance in a dispersed storage network
Hou et al. Binary MDS array codes with optimal repair
Gad et al. Repair-optimal MDS array codes over GF (2)
Hou et al. Triple-fault-tolerant binary MDS array codes with asymptotically optimal repair
Hou et al. A new construction of EVENODD codes with lower computational complexity
WO2020029418A1 (en) Method for constructing repair binary code generator matrix and repair method
Hou et al. STAR+ codes: Triple-fault-tolerant codes with asymptotically optimal updates and efficient encoding/decoding
US20240095124A1 (en) Storing Data Objects in a Storage Network with Multiple Memory Types
Malluhi et al. Coding for high availability of a distributed-parallel storage system
Balaji et al. On partial maximally-recoverable and maximally-recoverable codes
Chen et al. A new Zigzag MDS code with optimal encoding and efficient decoding
Yang et al. Hierarchical coding to enable scalability and flexibility in heterogeneous cloud storage

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17902421

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17902421

Country of ref document: EP

Kind code of ref document: A1