WO2019227456A1 - Evenodd code constructing method - Google Patents

Evenodd code constructing method Download PDF

Info

Publication number
WO2019227456A1
WO2019227456A1 PCT/CN2018/089493 CN2018089493W WO2019227456A1 WO 2019227456 A1 WO2019227456 A1 WO 2019227456A1 CN 2018089493 W CN2018089493 W CN 2018089493W WO 2019227456 A1 WO2019227456 A1 WO 2019227456A1
Authority
WO
WIPO (PCT)
Prior art keywords
evenodd
code
columns
column
check
Prior art date
Application number
PCT/CN2018/089493
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 东莞理工学院
Priority to CN201880000729.5A priority Critical patent/CN109496298A/en
Priority to PCT/CN2018/089493 priority patent/WO2019227456A1/en
Publication of WO2019227456A1 publication Critical patent/WO2019227456A1/en

Links

Images

Classifications

    • 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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems

Definitions

  • the invention belongs to the technical improvement field of encoding and decoding algorithms, and particularly relates to a method for constructing an EVENODD code.
  • Array codes have been widely used in storage systems, such as using redundant arrays of inexpensive disks (RAID) [1] to improve data reliability.
  • RAID-6 array code uses two independent disks to store parity codes, and can tolerate any two disk failures.
  • the array code is actually the maximum distance separable code (MDS). That is, the original information bits can be decoded by taking any k columns; that is, it can accommodate any n-k columns to fail. (Note that the MDS attribute here is measured by column weights, not Hamming weights) where the number of rows r depends on the structure of the array code.
  • update complexity i.e., the average number of check bit updates affected by a single change in information bits.
  • update complexity affects the performance of lowercase updates, and is a key indicator of storage applications (such as databases) with intensive update workloads. Therefore, it is of great significance to design an array code with as low update complexity as possible.
  • EVENODD code [2] and RDP code [3] are representative of array codes that can correct the failure of two disks.
  • Other binary MDS array codes are X-code [4], Liberation code [5], H-code [6], C-code [7], HV code [8], and Short code [9].
  • the EVENODD code is designed in [10] to have a good algebraic structure that can expand more check columns. Therefore, in this study, we focused on extending the EVENODD code to improve its performance.
  • the purpose of the present invention is to provide a method for constructing an EVENODD code, which aims to solve the technical problems of complicated encoding and decoding and high update complexity.
  • a method for constructing an EVENODD code includes the following steps:
  • a further technical solution of the present invention is: characterized in that the EVENODD + (m, k) is an MDS array code when m is an odd integer and all factors except m are mutually prime with k.
  • a further technical solution of the present invention is that the encoding, decoding, and updating complexity of the EVENODD + (m, k) code are respectively
  • the new EVENODD + code structure effectively reduces the update complexity and the difficulty of encoding and decoding; the expansion structure that can accommodate more check columns and the design of an effective repair algorithm for column failure situations.
  • FIG. 1 is a flowchart of a method for constructing an EVENODD code according to an embodiment of the present invention.
  • the method for constructing an EVENODD code provided by the present invention includes the following steps:
  • the EVENODD code stores a original information bit and a check bit by constructing a (p-1) ⁇ (k + 2) matrix, where p is prime and p ⁇ k.
  • the first k columns of the array code are information columns, and the last two columns are check columns 1.
  • the check bit b i, k in column k is calculated by the following formula:
  • check bit b i, k + 1 in column k + 1 is calculated by the following formula:
  • EVENODD + code which is an extended structure of the EVENODD code.
  • the EVENODD + code belongs to the MDS code and has the same error tolerance of 2 as the EVENODD code. In special cases, it can be reduced to EVENODD code.
  • EVENODD + codes have lower encoding, decoding, and update complexity than EVENODD codes, and the update complexity of EVENODD + codes is gradually optimized.
  • the design principle of the EVENODD + code is as follows. In the original EVENODD code, b p-1, k + 1 is added to each check bit in the k + 1th column, so that the update complexity is sub-optimized. Therefore, the main idea of the EVENODD + code is to retain the MDS attribute, but avoid adding a special bit to each check bit in the k + 1th column. This helps the EVENODD + code to reduce update complexity.
  • EVENODD code refers to the simplified version of the original EVENODD code in [2]. We obtain this code by deleting p-k information columns from the original (p-1) ⁇ (p + 2) EVENODD code. .
  • EVENODD + (m, k) the matrix defined in the above equation.
  • EVENODD + (m, k) code the number of bits in each column in the EVENODD + (m, k) code is more flexible, that is, m is an odd integer that satisfies Theorem 1 (see Section 3), and p is a prime number in EVENODD.
  • the check bits on the k + 1th column in the two codes are different.
  • EVENODD + (m, k) we only add b m-1, k + 1 to the first on the k + 1th column Above parity bits, and in the EVENODD code, b p-1, k + 1 will be added to all parity bits on column k + 1.
  • the above two differences enable the EVENODD + (m, k) code to achieve progressively optimal update complexity and lower encoding and decoding complexity than the EVENODD code.
  • EVENODD + (m, k) code can be simplified to EVENODD code.
  • Table I shows an example of the EVENODD + (9,3) code, where b 8,4 is added to the first two check bits in the fourth column.
  • Theorem 1 The EVENODD + (m, k) code is an MDS array code if and only if m is an odd integer (all divisors except 1 are greater than k-1).
  • the EVENODD + (m, k) code is an MDS array code.
  • k (m-1) information bits can be reconstructed after any two columns fail. Reconstruction can be divided into 3 cases: (i) decoding from all information columns (ii) decoding from any k-1 information columns and a check column (iii) from any k-2 information columns and two Decode in parity column.
  • the information bits b i (gf) + m-1, f and b i (gf) + m-1, g can be iteratively decoded in the following cases:
  • equation (7) holds. Therefore, when m is odd (all divisors of m are greater than k-1 except 1), we can decode all information bits for the fth and gth columns.
  • Theorem 2 Theorem 2.
  • the encoding, decoding, and updating complexity of the EVENODD + (m, k) code are
  • the normalized coding complexity is defined as the ratio of the coding complexity to the number of information bits
  • the normalized decoding complexity is defined as the ratio of the decoding complexity to the number of information bits.
  • the update complexity of the EVENODD + (m, k) code is If m >> k, then the update complexity is close to the optimal value Therefore, when m is much larger than k, the update complexity is gradually optimized.
  • the example in [11] has the best update complexity, it does not give a method of how to decode the information bits when two coded columns fail. At the same time, the example in [11] has more check columns.
  • the generalization is not necessarily the MDS code.
  • EVENODD + (m, k) code which is a new structure of the EVENODD code, which has progressively optimal update complexity, and the encoding and decoding complexity is also slightly lower than the EVENODD code.
  • our main The idea is to add b m-1, k + 1 to the front only in the second check column
  • b p-1, k + 1 is added to all the check bits of the second check column. So far, we will also study the capacity to accommodate more check columns. The design of extended construction and effective repair algorithm for column failure.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Error Detection And Correction (AREA)

Abstract

The present invention is applicable to the field of improvements of codec algorithm technology, and provides an EVENODD code constructing method. An EVENODD code is a binary array code used for correcting a fault condition of two disks in RAID-6, and has asymptotically optimized coding and decoding complexities. However, the updating complexity of the EVENODD code is sub-optimal. Proposed is a new binary MDS array code construction, i.e. an EVENODD+ code, so that the encoding, decoding and updating complexities of the EVENODD+ code are lower than those of the EVENODD code. Furthermore, the updating complexity of the EVENODD+ code can reach asymptotic optimization.

Description

一种EVENODD码的构造方法Method for constructing EVENODD code 技术领域Technical field
本发明属于编解码算法技术改进领域,尤其涉及一种EVENODD码的构造方法。The invention belongs to the technical improvement field of encoding and decoding algorithms, and particularly relates to a method for constructing an EVENODD code.
背景技术Background technique
阵列码已经广泛应用于存储系统中,如使用廉价磁盘冗余阵列(RAID) [1]以提高数据可靠性。其中,RAID-6阵列码使用独立两个磁盘存储奇偶校验码,并且能容纳任意两个磁盘故障。 Array codes have been widely used in storage systems, such as using redundant arrays of inexpensive disks (RAID) [1] to improve data reliability. Among them, the RAID-6 array code uses two independent disks to store parity codes, and can tolerate any two disk failures.
假设一个大小为r×n的二进制阵列码,其中数组中的每个条目存储一个比特数据。阵列码的n列中,前k列称为信息列,对应为k个信息比特,剩余的n-k列称为校验列,对应为n-k个校验比特。实际上阵列码是最大距离可分码(MDS)。即取任意k列就能解码出原始信息比特;也就是说,可以容纳任意n-k列失效。(注意这里的MDS属性是通过列权来衡量的,而不是汉明重量)其中行数r取决于阵列码的结构。除了MDS属性以外,其他一些重要的性能指标,如编码复杂度(即构造校验比特所需的XOR次数),解码复杂度(即从存活的编码比特中恢复失效信息比特所需的XOR次数)和更新复杂度(即受单个信息比特变化影响的校验比特更新的平均个数)。其中,更新复杂度影响小写更新的性能,并且是具有密集型更新工作负载的存储应用程序(如数据库)的关键指标。所以设计出尽可能低更新复杂度的阵列码具有重大意义。Assume a binary array code of size r × n, where each entry in the array stores one bit of data. Among the n columns of the array code, the first k columns are called information columns, corresponding to k information bits, and the remaining n-k columns are called check columns, corresponding to n-k check bits. The array code is actually the maximum distance separable code (MDS). That is, the original information bits can be decoded by taking any k columns; that is, it can accommodate any n-k columns to fail. (Note that the MDS attribute here is measured by column weights, not Hamming weights) where the number of rows r depends on the structure of the array code. In addition to MDS attributes, some other important performance indicators, such as encoding complexity (i.e., the number of XORs required to construct the check bit), decoding complexity (i.e., the number of XORs required to recover invalid information bits from the surviving encoded bits) And update complexity (ie, the average number of check bit updates affected by a single change in information bits). Among them, update complexity affects the performance of lowercase updates, and is a key indicator of storage applications (such as databases) with intensive update workloads. Therefore, it is of great significance to design an array code with as low update complexity as possible.
以往文献中有许多二进制MDS阵列码的构造方法。EVENODD码[2] 和RDP码[3]是能纠正两磁盘失效的阵列码的代表。其他二进制MDS阵列码有如X-code[4],Liberation code[5],H-code[6],C-code[7],HV code[8]和Short code[9]。EVENODD码在[10]中被设计出良好的能扩展出更多校验列的代数结构。因此,在这项研究中,我们专注于扩展EVENODD码以提高其性能。There are many methods for constructing binary MDS array codes in the previous literature. EVENODD code [2] and RDP code [3] are representative of array codes that can correct the failure of two disks. Other binary MDS array codes are X-code [4], Liberation code [5], H-code [6], C-code [7], HV code [8], and Short code [9]. The EVENODD code is designed in [10] to have a good algebraic structure that can expand more check columns. Therefore, in this study, we focused on extending the EVENODD code to improve its performance.
发明内容Summary of the Invention
本发明的目的在于提供一种EVENODD码的构造方法,旨在解决编解码复杂、更新复杂度高的技术问题。The purpose of the present invention is to provide a method for constructing an EVENODD code, which aims to solve the technical problems of complicated encoding and decoding and high update complexity.
本发明是这样实现的,一种EVENODD码的构造方法,所述EVENODD码的构造方法包括以下步骤:The present invention is implemented in this way. A method for constructing an EVENODD code includes the following steps:
S1、在(m-1)×(k+2)的EVENODD+码的中,第j个信息列的第i个信息比特为b i,j,其中i=0,1,…,m-2,j=0,1,…,k-1。令b m-1,j=0,其中j=0,1,…,k-1,第k列即第一个校验列由以下公式计算为:
Figure PCTCN2018089493-appb-000001
取0≤i≤m-2,第k+1列即第二个校验列由以下公式计算为:
S1. In the EVENODD + code of (m-1) × (k + 2), the i-th information bit of the j-th information column is b i, j , where i = 0,1, ..., m-2, j = 0,1, ..., k-1. Let b m-1, j = 0, where j = 0,1, ..., k-1, the k-th column or the first check column is calculated by the following formula:
Figure PCTCN2018089493-appb-000001
Take 0≤i≤m-2, the k + 1th column, that is, the second check column is calculated as
Figure PCTCN2018089493-appb-000002
将上述方程的矩阵表示为EVENODD+(m,k);m≥k;m表示每列存储比特个数减一;k表示信息列个数;j表示列的标号;i表示行的标号。
Figure PCTCN2018089493-appb-000002
The matrix of the above equation is expressed as EVENODD + (m, k); m≥k; m represents the number of stored bits in each column minus one; k represents the number of information columns; j represents the number of columns; i represents the number of rows.
本发明的进一步技术方案是:所述EVENODD+(m,k)中具有两个校验列,在(m-1)×(k+2)的阵列码中令j=0,1,…,k-1,前j列称为信息列,存储信息比特,令j=k,k+1,后j列称为校验列,存储校验比特。A further technical solution of the present invention is: the EVENODD + (m, k) has two check columns, and j = 0,1, ..., k -1, the first j column is called the information column, and the information bits are stored. Let j = k, k + 1, and the last j column is called the check column, and the check bits are stored.
本发明的进一步技术方案是:其特征在于,所述EVENODD+(m,k)在m是一个奇整数且m除1之外的所有因子均与k互素时是MDS阵列码。A further technical solution of the present invention is: characterized in that the EVENODD + (m, k) is an MDS array code when m is an odd integer and all factors except m are mutually prime with k.
本发明的进一步技术方案是:所述EVENODD+(m,k)码的编、解码和更新复杂度分别为
Figure PCTCN2018089493-appb-000003
Figure PCTCN2018089493-appb-000004
A further technical solution of the present invention is that the encoding, decoding, and updating complexity of the EVENODD + (m, k) code are respectively
Figure PCTCN2018089493-appb-000003
Figure PCTCN2018089493-appb-000004
本发明的有益效果是:新的EVENODD+码结构有效的降低了更新复杂度和编解码的难度;能容纳更多校验列的扩展构造和针对列失效情况的有效的修复算法的设计。The beneficial effects of the present invention are: the new EVENODD + code structure effectively reduces the update complexity and the difficulty of encoding and decoding; the expansion structure that can accommodate more check columns and the design of an effective repair algorithm for column failure situations.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
图1是本发明实施例提供的EVENODD码的构造方法流程图。FIG. 1 is a flowchart of a method for constructing an EVENODD code according to an embodiment of the present invention.
具体实施方式Detailed ways
如图1所示,本发明提供的EVENODD码的构造方法,所述EVENODD码的构造方法包括以下步骤:As shown in FIG. 1, the method for constructing an EVENODD code provided by the present invention includes the following steps:
S1、在(m-1)×(k+2)的EVENODD+码的中,第j个信息列的第i个信息比特为b i,j,其中i=0,1,…,m-2,j=0,1,…,k-1。令b m-1,j=0,其中j=0,1,…,k-1,第k列即第一个校验列由以下公式计算为:
Figure PCTCN2018089493-appb-000005
取0≤i≤m-2,第k+1列即第二个校验列由以下公式计算为:
S1. In the EVENODD + code of (m-1) × (k + 2), the i-th information bit of the j-th information column is b i, j , where i = 0,1, ..., m-2, j = 0,1, ..., k-1. Let b m-1, j = 0, where j = 0,1, ..., k-1, the k-th column or the first check column is calculated by the following formula:
Figure PCTCN2018089493-appb-000005
Taking 0≤i≤m-2, the k + 1th column, that is, the second check column, is calculated by the following formula:
Figure PCTCN2018089493-appb-000006
将上述方程的矩阵 表示为EVENODD+(m,k);m≥k;m表示每列存储比特个数减一;k表示信息列个数;j表示列的标号;i表示行的标号。
Figure PCTCN2018089493-appb-000006
The matrix of the above equation is expressed as EVENODD + (m, k); m≥k; m represents the number of stored bits in each column minus one; k represents the number of information columns; j represents the number of columns; i represents the number of rows.
EVENODD码通过构建一个(p-1)×(k+2)的矩阵来存储原始信息比特和校验比特,其中p为素数且p≥k。阵列码的前k列为信息列,最后两列为校验列1。令i=0,1,…,p-2,j=0,1,…,k+1,b i,j表示为矩阵中第j信息列的第i个比特。第k列中的校验比特b i,k通过以下公式计算: The EVENODD code stores a original information bit and a check bit by constructing a (p-1) × (k + 2) matrix, where p is prime and p≥k. The first k columns of the array code are information columns, and the last two columns are check columns 1. Let i = 0,1, ..., p-2, j = 0,1, ..., k + 1, b i, j be represented as the i-th bit of the j-th information column in the matrix. The check bit b i, k in column k is calculated by the following formula:
Figure PCTCN2018089493-appb-000007
Figure PCTCN2018089493-appb-000007
第k+1列中的校验比特b i,k+1通过以下公式计算: The check bit b i, k + 1 in column k + 1 is calculated by the following formula:
Figure PCTCN2018089493-appb-000008
Figure PCTCN2018089493-appb-000008
当j=0,1,…,k-1时,b p-1,j=0,同时
Figure PCTCN2018089493-appb-000009
注意:上述的下标是以模p为单位。计算得到EVENODD码的编码复杂度为(p-1)(2k-1)-1,这是最优的情况[2]。但是,EVENODD码的更新复杂度为
Figure PCTCN2018089493-appb-000010
这是次优的情况。(注意:具有2个校验比特的二进制MDS阵列码的最优更新复杂度为
Figure PCTCN2018089493-appb-000011
)。
When j = 0,1, ..., k-1, b p-1, j = 0, meanwhile
Figure PCTCN2018089493-appb-000009
Note: The above subscripts are in units of modulo p. The calculated complexity of the EVENODD code is (p-1) (2k-1) -1, which is the optimal case [2]. However, the update complexity of the EVENODD code is
Figure PCTCN2018089493-appb-000010
This is a suboptimal situation. (Note: The optimal update complexity of a binary MDS array code with 2 check bits is
Figure PCTCN2018089493-appb-000011
).
现在,我们设计出EVENODD+码,它是EVENODD码的扩展结构。EVENODD+码属于MDS码且拥有与EVENODD码相同的容错率为2的能力。在特殊情况下,它也可化简为EVENODD码。经过实验证明EVENODD+码相比于EVENODD码具有更低的编解码、更新复杂度,而 且EVENODD+码的更新复杂度是渐进最优化的。EVENODD+码的设计原理如下。在原始的EVENODD码中,b p-1,k+1被添加到第k+1列中的每个校验比特,从而使得更新复杂度为次优化。因此,EVENODD+码的主要思路是保留MDS属性,但避免在第k+1列中的每个校验比特中加入一个特殊比特。这有助于EVENODD+码降低了更新复杂度。 Now, we have designed the EVENODD + code, which is an extended structure of the EVENODD code. The EVENODD + code belongs to the MDS code and has the same error tolerance of 2 as the EVENODD code. In special cases, it can be reduced to EVENODD code. Experiments show that EVENODD + codes have lower encoding, decoding, and update complexity than EVENODD codes, and the update complexity of EVENODD + codes is gradually optimized. The design principle of the EVENODD + code is as follows. In the original EVENODD code, b p-1, k + 1 is added to each check bit in the k + 1th column, so that the update complexity is sub-optimized. Therefore, the main idea of the EVENODD + code is to retain the MDS attribute, but avoid adding a special bit to each check bit in the k + 1th column. This helps the EVENODD + code to reduce update complexity.
注意,这里EVENODD码的定义是指[2]中原始EVENODD码的简化版代码,我们通过从原始(p-1)×(p+2)的EVENODD码中删除p–k个信息列获得这个码。原始的EVENODD代码可以看作是当k=p的简化版EVENODD码的特例。Note that the definition of the EVENODD code here refers to the simplified version of the original EVENODD code in [2]. We obtain this code by deleting p-k information columns from the original (p-1) × (p + 2) EVENODD code. . The original EVENODD code can be regarded as a special case of the simplified EVENODD code when k = p.
表格I:EVENODD+(9,3)(注:b 8,4=b 7,1+b 6,2) Form I: EVENODD + (9,3) (Note: b 8,4 = b 7,1 + b 6,2 )
b 0,0 b 0,0 b 0,1 b 0,1 b 0,2 b 0, 2 b 0,0+b 0,1+b 0,2 b 0,0 + b 0,1 + b 0,2 b 0,0+b 7,2+b 8,4 b 0,0 + b 7,2 + b 8,4
b 1,0 b 1,0 b 1,1 b 1,1 b 1,2 b 1, 2 b 1,0+b 1,1+b 1,2 b 1,0 + b 1,1 + b 1,2 b 1,0+b 0,1+b 8,4 b 1,0 + b 0,1 + b 8,4
b 2,0 b 2,0 b 2,1 b 2,1 b 2,2 b 2, 2 b 2,0+b 2,1+b 2,2 b 2,0 + b 2,1 + b 2,2 b 2,0+b 1,1+b 0,2 b 2,0 + b 1,1 + b 0,2
b 3,0 b 3,0 b 3,1 b 3,1 b 3,2 b 3, 2 b 3,0+b 3,1+b 3,2 b 3,0 + b 3,1 + b 3,2 b 3,0+b 2,1+b 1,2 b 3,0 + b 2,1 + b 1,2
b 4,0 b 4,0 b 4,1 b 4,1 b 4,2 b 4, 2 b 4,0+b 4,1+b 4,2 b 4,0 + b 4,1 + b 4,2 b 4,0+b 3,1+b 2,2 b 4,0 + b 3,1 + b 2,2
b 5,0 b 5,0 b 5,1 b 5,1 b 5,2 b 5, 2 b 5,0+b 5,1+b 5,2 b 5,0 + b 5,1 + b 5,2 b 5,0+b 4,1+b 3,2 b 5,0 + b 4,1 + b 3,2
b 6,0 b 6,0 b 6,1 b 6,1 b 6,2 b 6, 2 b 6,0+b 6,1+b 6,2 b 6,0 + b 6,1 + b 6,2 b 6,0+b 5,1+b 4,2 b 6,0 + b 5,1 + b 4,2
b 7,0 b 7,0 b 7,1 b 7,1 b 7,2 b 7, 2 b 7,0+b 7,1+b 7,2 b 7,0 + b 7,1 + b 7,2 b 7,0+b 6,1+b 5,2 b 7,0 + b 6,1 + b 5,2
EVENODD+的新结构New structure of EVENODD +
我们现在提出EVENODD+码(具有两个校验列)。给定一个奇整数m≥k,接下来我们定义一个大小为(m-1)×(k+2)的阵列码。令j=0,1,…,k-1,前j列称为信息列,存储信息比特,即b 0,j,b 1,j,…,b m-2,j。令 j=k,k+1,后j列称为校验列,存储校验比特,即b 0,j,b 1,j,…,b m-2,jWe now propose the EVENODD + code (with two check columns). Given an odd integer m≥k, next we define an array code of size (m-1) × (k + 2). Let j = 0,1, ..., k-1, the first j columns are called information columns, and store the information bits, namely b 0, j , b 1, j , ..., b m-2, j . Let j = k, k + 1, and the next j columns are called check columns, which store check bits, that is, b 0, j , b 1, j , ..., b m-2, j .
注:下标除非另有说明,否则在整篇论文中均为取模m为单位。Note: Unless otherwise specified, the modulo m is taken as the unit throughout the paper.
给定大小为(m-1)×k的信息阵列b i,j,其中i=0,1,…,m-2和j=0,1,…,k-1。我们假设b m-1,j=0,令j=0,1,…,k-1。第k列由以下公式计算:
Figure PCTCN2018089493-appb-000012
取0≤i≤m-2  (1)
An information array b i, j of size (m-1) × k is given, where i = 0,1, ..., m-2 and j = 0,1, ..., k-1. We assume b m-1, j = 0, and let j = 0,1, ..., k-1. Column k is calculated by the following formula:
Figure PCTCN2018089493-appb-000012
Take 0≤i≤m-2 (1)
第k+1列由以下公式计算:Column k + 1 is calculated by the following formula:
Figure PCTCN2018089493-appb-000013
Figure PCTCN2018089493-appb-000013
注:
Figure PCTCN2018089493-appb-000014
我们将上述方程中定义的矩阵表示为EVENODD+(m,k)。EVENODD+(m,k)码和原始的EVENODD码的主要区别有两点。第一,在EVENODD+(m,k)码中每一列的比特数更加灵活,即m是一个满足定理1(见第三节)的奇整数,而p是EVENODD中的素数。第二,两个码中的第k+1列上的校验比特是不同的。在EVENODD+(m,k)中,我们只将b m-1,k+1添加到第k+1列上的前
Figure PCTCN2018089493-appb-000015
个校验比特上面,而在EVENODD码中b p-1,k+1将会被添加到第k+1列上所有的校验比特。以上两个差异使EVENODD+(m,k)码比EVENODD码能达到渐进最佳更新复杂度和更低的编、解码复杂度。当m=p=k时,EVENODD+(m,k)码可以简化为EVENODD码。表格I表明了:EVENODD+(9,3)码的一个例子,其中b 8,4被添加到第4列中的头两个校验比特中。
Note:
Figure PCTCN2018089493-appb-000014
We denote the matrix defined in the above equation as EVENODD + (m, k). There are two main differences between the EVENODD + (m, k) code and the original EVENODD code. First, the number of bits in each column in the EVENODD + (m, k) code is more flexible, that is, m is an odd integer that satisfies Theorem 1 (see Section 3), and p is a prime number in EVENODD. Second, the check bits on the k + 1th column in the two codes are different. In EVENODD + (m, k), we only add b m-1, k + 1 to the first on the k + 1th column
Figure PCTCN2018089493-appb-000015
Above parity bits, and in the EVENODD code, b p-1, k + 1 will be added to all parity bits on column k + 1. The above two differences enable the EVENODD + (m, k) code to achieve progressively optimal update complexity and lower encoding and decoding complexity than the EVENODD code. When m = p = k, EVENODD + (m, k) code can be simplified to EVENODD code. Table I shows an example of the EVENODD + (9,3) code, where b 8,4 is added to the first two check bits in the fourth column.
MDS属性MDS attributes
将证明定理1中EVENODD+(m,k)码的MDS属性,同时也给出了能纠 正任意两列失效情况的解码方法。The MDS attribute of EVENODD + (m, k) code in Theorem 1 will be proved, and a decoding method that can correct the failure of any two columns is also given.
定理1.EVENODD+(m,k)码“当且仅当”m是一个奇整数(除了1之外的所有除数都大于k-1)时是MDS阵列码。Theorem 1. The EVENODD + (m, k) code is an MDS array code if and only if m is an odd integer (all divisors except 1 are greater than k-1).
证明:“当”。我们注意到当m是一个奇整数时(除了1之外的所有除数都大于k-1),EVENODD+(m,k)码是MDS阵列码。换句话说即任意两列失效后可以都重建出k(m-1)个信息比特。重建可分为3种情况:(i)从所有的信息列中解码(ii)从任意k-1个信息列和一个校验列中解码(iii)从任意k-2个信息列和两个校验列中解码。Proof: "When". We notice that when m is an odd integer (all divisors except 1 are greater than k-1), the EVENODD + (m, k) code is an MDS array code. In other words, k (m-1) information bits can be reconstructed after any two columns fail. Reconstruction can be divided into 3 cases: (i) decoding from all information columns (ii) decoding from any k-1 information columns and a check column (iii) from any k-2 information columns and two Decode in parity column.
首先讨论(i),我们可以直接从k个信息列中获得k(m-1)个信息比特。其次讨论(ii),首先我们假设第f列和第k+1列失效,其中0≤f≤k-1。我们可以通过以下公式(1)恢复第f列的信息比特:First discussing (i), we can directly obtain k (m-1) information bits from k information columns. The second discussion (ii), first we assume that the f and k + 1 columns are invalid, where 0≤f≤k-1. We can recover the information bits of column f by the following formula (1):
b i,k+(b i,0+b i,1+…+b i,f-1+b i,f+1+…+b i,k-1)=b i,f取i=0,1,…,m-2。然后,我们假设第f列和第k列失效,其中0≤f≤k-1.取
Figure PCTCN2018089493-appb-000016
时,b i-f,f可以通过以下公式恢复:
b i, k + (b i, 0 + b i, 1 + ... + b i, f-1 + b i, f + 1 + ... + b i, k-1 ) = b i, f takes i = 0 , 1, ..., m-2. Then, we assume that the f-th and k-th columns fail, where 0≤f≤k-1.
Figure PCTCN2018089493-appb-000016
, B if, f can be recovered by the following formula:
Figure PCTCN2018089493-appb-000017
Figure PCTCN2018089493-appb-000017
上面的第一个等式来自公式(2)。如果f=0,其他的信息比特b i,0可以通过以下公式修复:
Figure PCTCN2018089493-appb-000018
Figure PCTCN2018089493-appb-000019
The first equation above is from formula (2). If f = 0, the other information bits b i, 0 can be repaired by the following formula:
Figure PCTCN2018089493-appb-000018
Figure PCTCN2018089493-appb-000019
上面第一个等式来自公式(2),取
Figure PCTCN2018089493-appb-000020
除此以外,如果f≥1,我们可以设
Figure PCTCN2018089493-appb-000021
则b m-f-1,f可以通过以下公 式恢复:
The first equation above is from formula (2), taking
Figure PCTCN2018089493-appb-000020
In addition, if f≥1, we can set
Figure PCTCN2018089493-appb-000021
Then b mf-1, f can be recovered by the following formula:
Figure PCTCN2018089493-appb-000022
Figure PCTCN2018089493-appb-000022
上面的第一个等式来自公式(2),最后一个等式来自b m-1,f=0。现在,b m-f-1,f已经计算出来,我们可以修复b i-f,f如下: The first equation above comes from formula (2), and the last equation comes from b m-1, f = 0. Now that b mf-1, f has been calculated, we can fix b if, f as follows:
Figure PCTCN2018089493-appb-000023
Figure PCTCN2018089493-appb-000023
Figure PCTCN2018089493-appb-000024
因此我们可以通过第二种方式恢复第f列。
take
Figure PCTCN2018089493-appb-000024
So we can restore the f-th column in the second way.
最后,讨论(iii)。在不失一般性的前提下,我们假设两个失效的信息列分别是f和g,其中0≤f≤g≤k-1。当我们想解码出第f、g列时,我们首先通过将第k和k+1列的所有校验比特相加得到b m-1,k+1。方法如下: Finally, discuss (iii). Without loss of generality, we assume that the two failed information columns are f and g, where 0≤f≤g≤k-1. When we want to decode the fth and gth columns, we first obtain b m-1, k + 1 by adding all the check bits in the kth and k + 1th columns. Methods as below:
Figure PCTCN2018089493-appb-000025
Figure PCTCN2018089493-appb-000026
Figure PCTCN2018089493-appb-000025
Figure PCTCN2018089493-appb-000026
Figure PCTCN2018089493-appb-000027
Figure PCTCN2018089493-appb-000027
Figure PCTCN2018089493-appb-000028
Figure PCTCN2018089493-appb-000028
m-1,k+1          (5)m-1, k + 1 (5)
在上面的等式中,(3)来自(1)和(2);(4)来自b m-1,j=0,取j=0,1,…,k-1;(5)来自{-j,1-j,…,m-1-j}={0,1,…,m-1}mod m,当
Figure PCTCN2018089493-appb-000029
Figure PCTCN2018089493-appb-000030
我们让b i,k+1-b m-1,k+1同时让b′ i,k+1=b i,k+1,而取
Figure PCTCN2018089493-appb-000031
In the above equation, (3) comes from (1) and (2); (4) comes from b m-1, j = 0, taking j = 0,1, ..., k-1; (5) comes from { -j, 1-j,…, m-1-j} = {0,1,…, m-1} mod m, when
Figure PCTCN2018089493-appb-000029
Figure PCTCN2018089493-appb-000030
We let b i, k + 1 -b m-1, k + 1 and let b ′ i, k + 1 = b i, k + 1 , and take
Figure PCTCN2018089493-appb-000031
最后我们通过公式(2)可以得到:Finally, we can get through formula (2):
Figure PCTCN2018089493-appb-000032
Figure PCTCN2018089493-appb-000032
取i=0,1,…,m-1。接着,我们取i=0,1,…,m-1,从b′ i,k+1和b i,k中减去存活的k-2个信息列的(k-2)(m-1)个信息比特,然后得到如下2m个比特: Take i = 0,1, ..., m-1. Next, we take i = 0,1, ..., m-1, and subtract (k-2) (m-1) of the surviving k-2 information columns from b ′ i, k + 1 and b i, k ) Information bits, and then get the following 2m bits:
b i,f+b i,g和b g-f+i,f+b i,g取i=0,1,…,m-1      (6) b i, f + b i, g and b g-f + i, f + b i, g take i = 0,1, ..., m-1 (6)
回顾之前,b m-1,f=b m-1,g=0,我们可推导出: Before reviewing, b m-1, f = b m-1, g = 0, we can deduce:
Figure PCTCN2018089493-appb-000033
Figure PCTCN2018089493-appb-000033
然后我们计算b 2(g-f)+m-1,f和b 2(g-f)+m-1,g如下: Then we calculate b 2 (gf) + m-1, f and b 2 (gf) + m-1, g as follows:
当i=0,1,…,m-1,信息比特b i(g-f)+m-1,f和b i(g-f)+m-1,g可以通过下列情况迭代解码: When i = 0,1, ..., m-1, the information bits b i (gf) + m-1, f and b i (gf) + m-1, g can be iteratively decoded in the following cases:
{m-1+i(g-f)mod m|1≤i≤m-1}={0,…,m-2}          (7){m-1 + i (g-f) mod m | 1≤i≤m-1} = {0,…, m-2} (7)
其中,1≤g-f≤k-1而且m的所有除数除了1都大于k-1,这时我们可以得到gcd(g-f,m)=1。首先我们证明当i≠j时,(m-1+i(g-f))mod m≠(m-1+j(g-f))mod m。如果当1≤i≤j≤m-1时(m-1+i(g-f))mod m=(m-1+j(g-f))mod m,则存在整数l使得(m-1)+j(g-f)=lm+m-1+i(g-f)Among them, 1≤g-f≤k-1 and all divisors of m except k are greater than k-1, then we can get gcd (g-f, m) = 1. First we prove that when i ≠ j, (m-1 + i (g-f)) mod m ≠ (m-1 + j (g-f)) mod m. If (m-1 + i (gf)) mod m = (m-1 + j (gf)) mod m when 1≤i≤j≤m-1, then there is an integer l such that (m-1) + j (gf) = lm + m-1 + i (gf)
上述等式可以化简为:The above equation can be reduced to:
(j-i)(g-f)=lm(j-i) (g-f) = lm
由于gcd(g-f,m)=1,所以我们得到(j-i)|m。但是,这是不可能的,因为1≤i≤j≤m-2。同样,我们可以证明,对于1≤i≤m-1,Since gcd (g-f, m) = 1, we get (j-i) | m. However, this is impossible because 1≤i≤j≤m-2. Similarly, we can prove that for 1≤i≤m-1,
m-1+i(g-f)mod m≠m-1m-1 + i (g-f) mod m ≠ m-1
因此,等式(7)成立。所以,当m是奇数时(m的所有除数除了1都大于k-1),我们可以对第f和g列解码出所有的信息比特。Therefore, equation (7) holds. Therefore, when m is odd (all divisors of m are greater than k-1 except 1), we can decode all information bits for the fth and gth columns.
“当且仅当”。如果EVENODD+(m,k)码是MDS码,那么我们可以从任意k列中恢复所有的信息比特。考虑到我们希望从其他k-2个信息列 和2个校验列中恢复第f和g列信息列的情况。通过上述(iii)的相同程序,如果等式(7)成立,我们恢复第f和g列信息列的所有信息比特。由于只有gcd(g-f,m)=1时公式(7)才成立,m的所有除数除了1都大于k-1。这就完成了证明。"If and only if." If the EVENODD + (m, k) code is an MDS code, then we can recover all the information bits from any k columns. Consider that we want to recover the f- and g-th information columns from the other k-2 information columns and 2 check columns. Through the same procedure of (iii) above, if equation (7) holds, we restore all the information bits of the f and g columns of information columns. Since formula (7) holds only when gcd (g-f, m) = 1, all divisors of m except k are greater than k-1. This completes the proof.
我们通过表格I中m=9,k=3的例子在展示(iii)的重建方法。假设第f和g信息列失效,其中1≤f≤g≤2。我们可以将第3、4列的所有校验比特求和来计算b 8,4We show the reconstruction method of (iii) through the example of m = 9 and k = 3 in Table I. Suppose the f and g information columns are invalid, where 1≤f≤g≤2. We can sum all check bits in columns 3 and 4 to calculate b 8,4 :
Figure PCTCN2018089493-appb-000035
Figure PCTCN2018089493-appb-000035
在b 0,4和b 1,4中减去b 8,4后我们可以得到18个下列比特:b i,3=b i,0+b i,1+b i,2和b′ i,4=b i,0+b (i-1)mod 9,1+b (i-2)mod 9,2,其中i=0,1,…,8。然后从b i,3和b′ i,4中减去b i,l,其中i=0,1,…,8。当l={0,1,2}\{g,f}时得到18个下列比特: After subtracting b 8,4 from b 0,4 and b 1,4 , we can get 18 of the following bits: b i, 3 = b i, 0 + b i, 1 + b i, 2 and b ′ i, 4 = b i, 0 + b (i-1) mod 9,1 + b (i-2) mod 9,2 , where i = 0,1, ..., 8. Then subtract b i, l from b i, 3 and b ′ i, 4 , where i = 0,1, ..., 8. When l = {0,1,2} \ {g, f}, 18 following bits are obtained:
b i,f+b i,g和b (g-f+i)mod 9,f+b i,g i=0,1,…,8. b i, f + b i, g and b (g-f + i) mod 9, f + b i, g i = 0,1, ..., 8.
当b 8,f=b 8,g=0时,我们可以得到b (g-f+i)mod 9,f=b (g-f+i)mod 9,f+b 8,g,和b (g-f+i)mod 9,g=b (g-f+i)mod 9,f+(b (g-f+i)mod 9,f+b (g-f+i)mod 9,g)其他信息比特可以迭代地恢复。 When b 8, f = b 8, g = 0, we can get b (g-f + i) mod 9, f = b (g-f + i) mod 9, f + b 8, g , and b (g-f + i) mod 9, g = b (g-f + i) mod 9, f + (b (g-f + i) mod 9, f + b (g-f + i) mod 9, g ) Other information bits can be recovered iteratively.
我们注意到定理1中证明的第三种情况,通过公式(3)将所有2(m-1)个校验比特求和得到b m-1,k+1的计算过程是关键点。根据公式(3),如果在第k+1列(包含b m-1,k+1)中有偶数个校验比特,则我们总能计算得到b m-1,k+1。这也是我们为啥把b m-1,k+1添加到第k+1列前
Figure PCTCN2018089493-appb-000036
个校验比特的原因之一。但 是为了确保任意k-1个信息列和第k+1列能恢复出所有的信息比特,第k+1列(包含b m-1,k+1)中校验比特的数量不应少于
Figure PCTCN2018089493-appb-000037
个。
We notice the third case proved in Theorem 1. The calculation process of b m-1, k + 1 by summing all 2 (m-1) check bits by formula (3) is the key point. According to formula (3), if there is an even number of check bits in the k + 1th column (including b m-1, k + 1 ), we can always calculate b m-1, k + 1 . This is why we added b m-1, k + 1 before the k + 1th column
Figure PCTCN2018089493-appb-000036
One of the reasons for the check bit. But in order to ensure that any k-1 information column and k + 1 column can recover all the information bits, the number of check bits in the k + 1 column (including b m-1, k + 1 ) should not be less than
Figure PCTCN2018089493-appb-000037
Each.
复杂度分析Complexity analysis
下面的定理给出了EVENODD+(m,k)码的编、解码和更新复杂度。注意:我们只考虑当2个数据块失效时的解码复杂度。The following theorem gives the complexity of encoding, decoding and updating of EVENODD + (m, k) code. Note: We only consider the decoding complexity when 2 data blocks fail.
定理2.EVENODD+(m,k)码的编、解码和更新复杂度分别为Theorem 2. The encoding, decoding, and updating complexity of the EVENODD + (m, k) code are
Figure PCTCN2018089493-appb-000038
Figure PCTCN2018089493-appb-000038
Figure PCTCN2018089493-appb-000039
Figure PCTCN2018089493-appb-000039
证明:首先,考虑编码复杂度。根据公式(1),计算第k列需要进行(k-1)(m-1)次异或运算。根据公式(2),计算第k+1列需要进行(k-1)(m-1)+k-2次异或运算。因此,编码复杂度为2km-2m-k。Proof: First, consider the coding complexity. According to formula (1), calculation of the k-th column requires (k-1) (m-1) XOR operations. According to formula (2), calculation of the k + 1th column requires (k-1) (m-1) + k-2 XOR operations. Therefore, the coding complexity is 2km-2m-k.
然后考虑两数据块失效的解码复杂度。解码过程在定理1的证明中已经给出。首先,我们通过公式(5)计算b m-1,k+1需要2m-3次异或运算。然后通过公式(6)计算需要
Figure PCTCN2018089493-appb-000040
次异或运算。最后我们恢复失效的2(m-1)个信息比特需要2m-3次异或运算。因此,解码复杂度为
Figure PCTCN2018089493-appb-000041
Then consider the decoding complexity of two data block failures. The decoding process has been given in the proof of Theorem 1. First, we need 2m-3 XOR operations to calculate b m-1, k + 1 through formula (5). Then calculate the need by formula (6)
Figure PCTCN2018089493-appb-000040
XOR operation. Finally, we need 2m-3 XOR operations to recover the invalid 2 (m-1) information bits. Therefore, the decoding complexity is
Figure PCTCN2018089493-appb-000041
最后,考虑更新复杂度。如果一个信息比特发生改变,我们平均需要更新第k列的一个校验比特和第k+1列的
Figure PCTCN2018089493-appb-000042
个校验比特。因此,更新复杂度为
Figure PCTCN2018089493-appb-000043
Finally, consider update complexity. If an information bit changes, we need to update a parity bit in the kth column and the
Figure PCTCN2018089493-appb-000042
Parity bits. Therefore, the update complexity is
Figure PCTCN2018089493-appb-000043
将归一化的编码复杂度定义为编码复杂度与信息比特数的比率,而归一化解码复杂度则定义为解码复杂度与信息比特数量的比率。通过定理2,可以得到EVENODD+(m,k)码的归一化编码复杂度为The normalized coding complexity is defined as the ratio of the coding complexity to the number of information bits, and the normalized decoding complexity is defined as the ratio of the decoding complexity to the number of information bits. By Theorem 2, we can get the normalized encoding complexity of EVENODD + (m, k) codes as
Figure PCTCN2018089493-appb-000044
而EVENODD码的归一化编码复杂度为
Figure PCTCN2018089493-appb-000045
因此,当m=p>k时,EVENODD+(m,k)码的归一化编码复杂度略小于EVENODD码。
Figure PCTCN2018089493-appb-000044
The normalized encoding complexity of the EVENODD code is
Figure PCTCN2018089493-appb-000045
Therefore, when m = p> k, the normalized encoding complexity of the EVENODD + (m, k) code is slightly less than the EVENODD code.
根据定理2,EVENODD+(m,k)码的归一化解码复杂度为
Figure PCTCN2018089493-appb-000046
而EVENODD码的则为
Figure PCTCN2018089493-appb-000047
因此,当m=p>k时,EVENODD+(m,k)码的归一化解码复杂度略小于EVENODD码。
According to Theorem 2, the normalized decoding complexity of the EVENODD + (m, k) code is
Figure PCTCN2018089493-appb-000046
The EVENODD code is
Figure PCTCN2018089493-appb-000047
Therefore, when m = p> k, the normalized decoding complexity of the EVENODD + (m, k) code is slightly less than the EVENODD code.
根据定理2,EVENODD+(m,k)码的更新复杂度为
Figure PCTCN2018089493-appb-000048
Figure PCTCN2018089493-appb-000049
如果m>>k,那么更新复杂度接近最优值为
Figure PCTCN2018089493-appb-000050
因此当m远大于k时,更新复杂度渐进最优化。EVENODD码的更新复杂度为
Figure PCTCN2018089493-appb-000051
当m=p>k时EVENODD码的更新复杂度要严格大于EVENODD+(m,k)码。表格II给出了EVENODD码和EVENODD+(m,k)码的更新复杂度和文献[11]中的例子(k=7,m=p(取值范围为7~53))。我们发现当m>7时,EVENODD+(m,k)码的更新复杂度比EVENODD码更低,而且这个优势随m的增大变得更加明显。由于m=49时不是素数,我们没有在表格II中的EVENODD码和文献[11]给出结果。
According to Theorem 2, the update complexity of the EVENODD + (m, k) code is
Figure PCTCN2018089493-appb-000048
Figure PCTCN2018089493-appb-000049
If m >> k, then the update complexity is close to the optimal value
Figure PCTCN2018089493-appb-000050
Therefore, when m is much larger than k, the update complexity is gradually optimized. The update complexity of the EVENODD code is
Figure PCTCN2018089493-appb-000051
When m = p> k, the update complexity of the EVENODD code is strictly greater than the EVENODD + (m, k) code. Table II gives the update complexity of the EVENODD code and the EVENODD + (m, k) code and the example in [11] (k = 7, m = p (value range: 7-53)). We find that when m> 7, the update complexity of EVENODD + (m, k) codes is lower than that of EVENODD codes, and this advantage becomes more obvious as m increases. Since m = 49 is not a prime number, we have not given the EVENODD code in Table II and the results given in [11].
表格II:EVENODD码、EVENODD+(m,k7)码和文献[11]中的例子的 更新复杂度Table II: EVENODD code, EVENODD + (m, k7) code and the update complexity of the examples in [11]
mm EVENODDEVENODD EVENODD+(m,k)EVENODD + (m, k) [11]例子[11] Examples
77 2.71432.7143 2.71432.7143 2.14292.1429
1111 2.77142.7714 2.42862.4286 2.08572.0857
1313 2.78572.7857 2.35712.3571 2.07142.0714
1717 2.80352.8035 2.26892.2689 2.05362.0536
1919 2.80952.8095 2.23812.2381 2.04762.0476
23twenty three 2.81822.8182 2.19482.1948 2.03902.0390
2929 2.82652.8265 2.15312.1531 2.03062.0306
3131 2.82292.8229 2.14292.1429 2.02862.0286
3737 2.83332.8333 2.11902.1190 2.02382.0238
4141 2.83572.8357 2.10712.1071 2.02142.0214
4343 2.83672.8367 2.10202.1020 2.02042.0204
4747 2.83852.8385 2.09322.0932 2.01862.0186
4949 n/an / a 2.08932.0893 n/an / a
5353 2.84072.8407 2.08242.0824 2.01652.0165
尽管[11]中的例子具有最佳的更新复杂度,但是没有给出当两个编码列失效时怎样解码出信息比特的方法.同时,[11]中的例子中具有更多校验列的一般化也不一定是MDS码。Although the example in [11] has the best update complexity, it does not give a method of how to decode the information bits when two coded columns fail. At the same time, the example in [11] has more check columns. The generalization is not necessarily the MDS code.
我们提出了EVENODD+(m,k)码,这是EVENODD码的新构造,具有渐进最优的更新复杂度,而编、解码复杂度也略低EVENODD码.在降低复杂度的方向上我们的主要思路是只在第二个校验列中将b m-1,k+1添加到前
Figure PCTCN2018089493-appb-000052
个检验比特,而在传统的EVENODD码中则是将b p-1,k+1添加到第二个 校验列的所有校验比特中.至此,我们也将研究能容纳更多校验列的扩展构造和针对列失效情况的有效的修复算法的设计。
We propose the EVENODD + (m, k) code, which is a new structure of the EVENODD code, which has progressively optimal update complexity, and the encoding and decoding complexity is also slightly lower than the EVENODD code. In the direction of reducing complexity, our main The idea is to add b m-1, k + 1 to the front only in the second check column
Figure PCTCN2018089493-appb-000052
In the traditional EVENODD code, b p-1, k + 1 is added to all the check bits of the second check column. So far, we will also study the capacity to accommodate more check columns. The design of extended construction and effective repair algorithm for column failure.
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。The above description is only the preferred embodiments of the present invention and is not intended to limit the present invention. Any modification, equivalent replacement, and improvement made within the spirit and principle of the present invention shall be included in the protection of the present invention. Within range.

Claims (4)

  1. 一种EVENODD+码的构造方法,其特征在于,所述EVENODD+码的构造方法包括以下步骤:A method for constructing an EVENODD + code, wherein the method for constructing the EVENODD + code includes the following steps:
    S1、在(m-1)×(k+2)的EVENODD+码的中,第j个信息列的第i个信息比特为b i,j,其中i=0,1,…,m-2,j=0,1,…,k-1。令b m;1,j=0,其中j=0,1,…,k-1,第k列即第一个校验列由以下公式计算为:
    Figure PCTCN2018089493-appb-100001
    取0≤i≤m-2,第k+1列即第二个校验列由以下公式计算为:
    S1. In the EVENODD + code of (m-1) × (k + 2), the i-th information bit of the j-th information column is b i, j , where i = 0,1, ..., m-2, j = 0,1, ..., k-1. Let b m; 1, j = 0, where j = 0,1, ..., k-1, and the k-th column or the first check column is calculated as:
    Figure PCTCN2018089493-appb-100001
    Taking 0≤i≤m-2, the k + 1th column, that is, the second check column, is calculated by the following formula:
    Figure PCTCN2018089493-appb-100002
    将上述方程的矩阵表示为EVENODD+(m,k);m≥k;m表示每列存储比特个数减一;k表示信息列个数;j表示列的标号;i表示行的标号。
    Figure PCTCN2018089493-appb-100002
    The matrix of the above equation is expressed as EVENODD + (m, k); m≥k; m represents the number of stored bits in each column minus one; k represents the number of information columns; j represents the number of columns; i represents the number of rows.
  2. 根据权利要求1所述的EVENODD+码的构造方法,其特征在于,所述EVENODD+(m,k)中具有两个校验列,在(m-1)×(k+2)的阵列码中令j=0,1,…,k-1,前j列称为信息列,存储信息比特,令j=k,k+1,后j列称为校验列,存储校验比特。The method for constructing an EVENODD + code according to claim 1, characterized in that the EVENODD + (m, k) has two check columns, and is commanded in an array code of (m-1) × (k + 2) j = 0,1, ..., k-1, the first j columns are called information columns, and the information bits are stored. Let j = k, k + 1, and the last j columns are called check columns, and the check bits are stored.
  3. 根据权利要求2所述的EVENODD+码的构造方法,其特征在于,所述EVENODD+(m,k)在m是一个奇整数且m除1之外的所有因子均与k互素时是MDS阵列码。The method for constructing an EVENODD + code according to claim 2, wherein the EVENODD + (m, k) is an MDS array code when m is an odd integer and all factors except m are mutually prime with k. .
  4. 根据权利要求3所述的EVENODD+码的构造方法,其特征在于,所述EVENODD+(m,k)码的编、解码和更新复杂度分别为2km-2m-k,
    Figure PCTCN2018089493-appb-100003
    The method for constructing an EVENODD + code according to claim 3, wherein the complexity of encoding, decoding and updating of the EVENODD + (m, k) code is 2km-2m-k,
    Figure PCTCN2018089493-appb-100003
PCT/CN2018/089493 2018-06-01 2018-06-01 Evenodd code constructing method WO2019227456A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201880000729.5A CN109496298A (en) 2018-06-01 2018-06-01 A kind of building method of EVENODD code
PCT/CN2018/089493 WO2019227456A1 (en) 2018-06-01 2018-06-01 Evenodd code constructing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/089493 WO2019227456A1 (en) 2018-06-01 2018-06-01 Evenodd code constructing method

Publications (1)

Publication Number Publication Date
WO2019227456A1 true WO2019227456A1 (en) 2019-12-05

Family

ID=65713812

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/089493 WO2019227456A1 (en) 2018-06-01 2018-06-01 Evenodd code constructing method

Country Status (2)

Country Link
CN (1) CN109496298A (en)
WO (1) WO2019227456A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110289864A (en) * 2019-08-01 2019-09-27 东莞理工学院 The optimal reparation access transform method and device of binary system MDS array code
CN113452479B (en) * 2021-06-08 2023-01-24 东莞理工学院 Encoding method and decoding method of EVENODD code
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
CN1801105A (en) * 2004-11-24 2006-07-12 国际商业机器公司 System and method for tolerating multiple storage device failures in a storage system using horizontal and vertical parity layouts
CN1902592A (en) * 2003-07-14 2007-01-24 国际商业机器公司 Data storage array
CN104850468A (en) * 2015-05-31 2015-08-19 上海交通大学 Check matrix based erasure code decoding method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107086870B (en) * 2017-03-16 2019-10-22 东莞理工学院 Repair the MDS array code coding and coding/decoding method of more piece point failure

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1902592A (en) * 2003-07-14 2007-01-24 国际商业机器公司 Data storage array
CN1801105A (en) * 2004-11-24 2006-07-12 国际商业机器公司 System and method for tolerating multiple storage device failures in a storage system using horizontal and vertical parity layouts
CN104850468A (en) * 2015-05-31 2015-08-19 上海交通大学 Check matrix based erasure code decoding method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SUN, DONGDONG: "Optimization of parity update and failure recovery for fault-tolerant storage system", no. 1, 15 January 2018 (2018-01-15), ISSN: 1674-0246 *

Also Published As

Publication number Publication date
CN109496298A (en) 2019-03-19

Similar Documents

Publication Publication Date Title
WO2018171111A1 (en) Multi-fault tolerance mds array code encoding and repair method
US8359524B2 (en) Parallel reed-solomon RAID (RS-RAID) architecture, device, and method
Hou et al. Binary MDS array codes with optimal repair
WO2018166078A1 (en) Mds array code encoding and decoding method for repairing failure of multiple nodes
WO2019227456A1 (en) Evenodd code constructing method
US20210271557A1 (en) Data encoding, decoding and recovering method for a distributed storage system
WO2018072294A1 (en) Method for constructing check matrix and method for constructing horizontal array erasure code
WO2016058289A1 (en) Mds erasure code capable of repairing multiple node failures
Hou et al. A new construction of EVENODD codes with lower computational complexity
CN109086000B (en) Three-fault-tolerant data layout method in RAID storage system
CN109358980B (en) RAID6 encoding method friendly to data updating and single-disk error recovery
Hou et al. Triple-fault-tolerant binary MDS array codes with asymptotically optimal repair
Fu et al. Extended EVENODD+ codes with asymptotically optimal updates and efficient encoding/decoding
Hou et al. New MDS array code correcting multiple disk failures
WO2020029418A1 (en) Method for constructing repair binary code generator matrix and repair method
US10678662B2 (en) Computing system with data protection mechanism with soft information and method of operation thereof
TWI627834B (en) Raid decoding system for performing built in self-test
Blaum et al. Expanded Blaum–Roth codes with efficient encoding and decoding algorithms
Chen et al. A new Zigzag MDS code with optimal encoding and efficient decoding
KR101716305B1 (en) RAID 6 system and data decoding method using thereof
WO2017041232A1 (en) Encoding and decoding framework for binary cyclic code
US10387254B2 (en) Bose-chaudhuri-hocquenchem (BCH) encoding and decoding tailored for redundant array of inexpensive disks (RAID)
WO2020029423A1 (en) Construction method and repair method for repairing binary array code check matrix
Kumar et al. A family of erasure correcting codes with low repair bandwidth and low repair complexity
Huang et al. Optimal encoding and decoding algorithms for the raid-6 liberation codes

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: 18920832

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: 18920832

Country of ref document: EP

Kind code of ref document: A1