WO2020029418A1 - Method for constructing repair binary code generator matrix and repair method - Google Patents

Method for constructing repair binary code generator matrix and repair method Download PDF

Info

Publication number
WO2020029418A1
WO2020029418A1 PCT/CN2018/110067 CN2018110067W WO2020029418A1 WO 2020029418 A1 WO2020029418 A1 WO 2020029418A1 CN 2018110067 W CN2018110067 W CN 2018110067W WO 2020029418 A1 WO2020029418 A1 WO 2020029418A1
Authority
WO
WIPO (PCT)
Prior art keywords
bits
repair
column
binary code
matrix
Prior art date
Application number
PCT/CN2018/110067
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 WO2020029418A1 publication Critical patent/WO2020029418A1/en

Links

Images

Classifications

    • 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
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/154Error and erasure correction, e.g. by using the error and erasure locator or Forney polynomial

Definitions

  • the invention belongs to the field of digital processing technology improvement, and particularly relates to a method for repairing a binary code generation matrix construction method and a repair method.
  • Binary Maximum Distance Separable (MDS) array coding is a special erasure code that can achieve minimal storage redundancy and low computation Complexity tolerance.
  • the binary array code consists of k + r columns, each of which has L bits.
  • k information columns store information bits r parity columns store redundant bits.
  • Each The L bits in the columns are all stored in the same storage node. We use the disk as a column or a storage node and an entry in the array as a bit.
  • MDS code When a node fails, the corresponding column of the array code is considered Is an erasure if any k in the k + r column can reconstruct all k information columns (ie: it can tolerate any column where r fails), such an encoding is called an MDS code.
  • the faulty node When a node fails in a distributed storage system, the faulty node should be repaired by downloading fragments from the d healthy node, where k ⁇ d ⁇ k + r-1. Minimizing the repair bandwidth is defined as downloading during the repair process The number of bits is crucial for speeding up the repair operation and minimizing the window of vulnerabilities, especially in distributed storage, where network transmission is the bottleneck.
  • the repair problem is formulated by Dimakis et al. [8] based on the concept of information flow graphs
  • the minimum repair bandwidth of the minimum storage redundancy is stated in [8], also known as the minimum storage regeneration (MSR) point, which is expressed by the following formula:
  • a traditional method is to download all the bits from any surviving column to regenerate the bits in the faulty column. Therefore, the total number of bits used to repair the faulty column is k times the number of faulty bits.
  • this paper proposes a new method for designing binary MDS array coding by selecting a suitable generator matrix. This method can tolerate r ⁇ 3 disk failures. We show that when d is large enough, the minimum repair bandwidth (1) for any single information column failure can be achieved progressively. By using the quotient loop of the loop structure and choosing a carefully designed coding matrix, our structure minimizes the repair Bandwidth so that bits accessed during the repair operation cross as much as possible.
  • the repair bandwidth of most existing binary MDS array codes [2], [3], [5], [6] is suboptimal.
  • the proposed code is the first binary MDS array code, which has a progressive optimal repair bandwidth and has a fault tolerance of greater than 2.
  • the key differences between the proposed code and existing binary MDS array codes are as follows. First, with existing structures, such as [2], [3], [5], [6], the redundant bits in the check column (except the first check column) are specified by the array The correspondence of polygonal lines is generated. Secondly, in the proposed code, the number of rows of the array is an exponential function of k.
  • An object of the present invention is to provide a method for constructing a repair binary code generation matrix and a repair method, which aim to solve the above technical problems.
  • the present invention is implemented as such, a method for constructing a repair binary code generation matrix
  • the index of the element of the i-th row and j-th column in (2: ⁇ ) is a multiple of ⁇ i-1 of the j-th column of the first row, where
  • a further technical solution of the present invention is that the extra bits calculated for the information bits in the repair binary code generating matrix construction method do not need to be stored and are used to calculate redundant bits.
  • Another object of the present invention is to provide a repair method for repairing a binary code generation matrix.
  • the repair method for repairing a binary code generation matrix includes: The first check column Each check set is defined as follows Where 2 ⁇ j ⁇ d-k + 1,
  • a further technical solution of the present invention is: And Bit Checksum set that can be the first checksum Repair, need to download (p-1) ⁇ k-3 bits respectively from the remaining k-1 information columns Where i ⁇ ⁇ 1, 2, ..., f-1, f + 1, ..., k ⁇ and And download (p-1) ⁇ k-3 redundant bits from the first check column A total of (p-1) ⁇ k-3 bits need to be downloaded.
  • a further technical solution of the present invention is that the parity check set of the first parity check column in the repairing method for repairing a binary code generation matrix is the same as the first parity column of the RDP and the even parity.
  • a further technical solution of the present invention is that the parity bits of other parity columns in the repair method for repairing a binary code generation matrix are not bits corresponding to a straight line in the array, but bits corresponding to a polygon line,
  • the number of lines in the proposed encoding can be divisible by ⁇ k-2 .
  • the beneficial effect of the invention is that the product matrix structure of the regenerative code still works under the quotient ring, the calculation complexity is low, and the repair bandwidth is reduced with a greater fault tolerance.
  • FIG. 1 is a diagram illustrating an example of storage encoding of three check columns according to an embodiment of the present invention.
  • k information polynomials and r coded polynomials as row vectors as follows
  • the proposed coding can be described as a check matrix H (k + r) ⁇ r .
  • R p ⁇ represent the ring
  • h (x) is called a check polynomial in C p ⁇ .
  • Theorem 1 satisfies (2) if and only if the coefficient si (x) of the polynomial is in C p ⁇ .
  • Lemma 2 Rings R p ⁇ and Are isomorphic.
  • mapping ⁇ is a ring homomorphism and bijection because it has an inverse function ⁇ (a (x), b (x)), where
  • Lemma 3 Ring C p ⁇ and Are isomorphic.
  • the encoding process can be described by the following polynomial operation. Given k (p-1) ⁇ information bits, by (3), add ⁇ extra bits for each (p-1) ⁇ information bits and form C p ⁇ K data polynomials. After obtaining a vector (4) by selecting a specific encoding matrix or check matrix, store the coefficients in the polynomial from 0 to (p-1) ⁇ -1, and store The target coefficients are discarded.
  • the proposed array code can be regarded as a systematic linear code on C p ⁇ .
  • Figure 1 shows an example of storage encoding for the three check columns.
  • the bits in the solid line frame are used to repair the information bits s 0,1 , s 2,1 , s 4,1 , s 6,1.
  • the bits in the dashed box are used to repair the information bits s 1,1 , s 3,1 , s 5,1 , s 7,1 .
  • the encoding matrix for this example is:
  • Example 1 is illustrated in Figure 1. Note that the extra bits calculated from the information bits need not be stored and are used to calculate redundant bits.
  • the first column is erased to access the information 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 , And reconstruct s 0,1 by s 0,2 + s 0,3 + s 0,4 + (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 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 ).
  • 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 4, 2 + s 2, 3 + s 6, 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 ).
  • bits s 0,2 , s 1,2 , s 4,2 , s 5,2 can be passed through Calculations to reconstruct.
  • s 0, 2 s 0, 1 + s 0, 3 + s 0, 4 + (s 0, 1 + s 0, 2 + s 0, 3 + s 0, 4 )
  • s 1, 2 s 1, 1 + s 1, 3 + s 1, 4 + (s 1, 1 + s 1, 2 + s 1, 3 + s 1, 4 )
  • s 4, 2 s 4, 1 + s 4, 3 + s 4, 4 + (s 4, 1 + s 4, 2 + s 4, 3 + s 4, 4 )
  • s 5, 2 s 5, 1 + s 5, 3 + s 5, 4 + (s 5, 1 + s 5, 2 + s 5, 3 + s 5, 4 ).
  • bits s 2,2 , s 3,2 , s 6,2 , and s 7,2 can be reconstructed by the following calculations.
  • 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 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, 2 + 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 ).
  • the results show that by downloading 6 bits from the first information column and 4 bits from the third information column, the fourth information column, the first check column and the second check column, the second can be restored. 8 bits in each information column. A total of 22 bits of data were downloaded during the repair process. It can be verified that, for the example shown in FIG. 1, the third information column and the last information column can be reconstructed by downloading 22 bits and 20 bits from 5 columns, respectively.
  • Algorithm 1 The key idea in Algorithm 1 is that for each erased information column, the parity sets accessed have a large intersection, resulting in a small number of accesses. And, obviously, if we want to ensure the properties and effective repair of MDS, then choosing the encoding vector is crucial. The next theorem shows that the repair bandwidth of an information column is progressively optimal.
  • the parity set of the first parity column is the same as the first parity column in RDP and even odd.
  • the key difference between the proposed encoding and existing binary MDS array codes is the construction of other parity columns.
  • the parity bits of other parity columns are not the bits corresponding to the straight lines in the array, but the bits corresponding to the polygonal lines. .
  • the number of lines in the proposed encoding can be divisible by ⁇ k-2 .

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)

Abstract

Provided is a method for constructing a repair binary code generator matrix applicable to the field of improving digital processing techniques. The method for constructing a repair binary code generator matrix comprises: denoting a constructed code with C 1(k, r, d, p), where η = d - k + 1, k ≥ 3, r ≥ 3 is an odd number, d = k + (r - 1)/2 and τ = (d - k + 1) k-2, a constructing matrix is denoted by P k × r and a calculation formula thereof expressed as formula (I). A regenerated code product matrix structure still works in a quotient ring, the computational complexity is low, and repair bandwidth is reduced with greater fault tolerance.

Description

一种修复二进制码生成矩阵构造方法及修复方法Construction method and repair method for repairing binary code generation matrix 技术领域Technical field
本发明属于数字处理技术改进领域,尤其涉及一种修复二进制码生成矩阵构造方法及修复方法。The invention belongs to the field of digital processing technology improvement, and particularly relates to a method for repairing a binary code generation matrix construction method and a repair method.
背景技术Background technique
现代分布式存储系统部署擦除代码来维护数据可用性,以防止存储节点的故障.二进制最大距离可分(MDS)阵列编码是一种特殊的擦除码,它可以实现最小存储冗余和低计算复杂度的容错.特别地,二进制数组代码由k+r列组成,每个列中都有L位.在k+r列中,k信息列存储信息位r奇偶列存储冗余位.每个列中的L位都存储在相同的存储节点中.我们将磁盘作为一个列或一个存储节点,并将数组中的一个条目作为一个比特.当一个节点发生故障时,数组代码的相应列被认为是一个擦除如果k+r列中的任何k都可以重构所有k信息列(即:它可以容忍任何r失败的列),这样的编码称作MDS码.二进制MDS阵列码的示例包括双容错代码(即r=2)如x-code[2],RDP码[3]和EVENODD码[4],以及三重容错码(即r=3)如:STAR码[5],广义RDP码[6],和TIP码[7]。Modern distributed storage systems deploy erasure codes to maintain data availability to prevent storage node failures. Binary Maximum Distance Separable (MDS) array coding is a special erasure code that can achieve minimal storage redundancy and low computation Complexity tolerance. In particular, the binary array code consists of k + r columns, each of which has L bits. In k + r columns, k information columns store information bits r parity columns store redundant bits. Each The L bits in the columns are all stored in the same storage node. We use the disk as a column or a storage node and an entry in the array as a bit. When a node fails, the corresponding column of the array code is considered Is an erasure if any k in the k + r column can reconstruct all k information columns (ie: it can tolerate any column where r fails), such an encoding is called an MDS code. Examples of binary MDS array codes include double Fault-tolerant codes (ie r = 2) such as x-code [2], RDP codes [3] and EVENODD codes [4], and triple fault-tolerant codes (ie r = 3) such as: STAR code [5], generalized RDP code [ 6], and TIP code [7].
当一个节点在分布式存储系统中出现故障时,应该通过从d健康节点中下载片段来修复故障节点,其中k≤d≤k+r-1.最小化修复带宽,定义为在修复过程中下载的比特数量,对于加快修复操作和最小化漏洞的窗口是至关重要的,特别是在分布式存储中,网络传输是瓶颈.修复问题是由Dimakis等人[8]基于信息流动图的概念制定的.最小存储冗余的最小修复带宽在[8]中进行了陈述,也称为最小存储再生(MSR)点,是由下式表示:When a node fails in a distributed storage system, the faulty node should be repaired by downloading fragments from the d healthy node, where k≤d≤k + r-1. Minimizing the repair bandwidth is defined as downloading during the repair process The number of bits is crucial for speeding up the repair operation and minimizing the window of vulnerabilities, especially in distributed storage, where network transmission is the bottleneck. The repair problem is formulated by Dimakis et al. [8] based on the concept of information flow graphs The minimum repair bandwidth of the minimum storage redundancy is stated in [8], also known as the minimum storage regeneration (MSR) point, which is expressed by the following formula:
Figure PCTCN2018110067-appb-000001
Figure PCTCN2018110067-appb-000001
虽然最小的修复带宽是可以达到的,在一个足够大的有限域上,但是如何构造二进制的MDS阵列码来实现最小的修复带宽仍然是一个挑战。Although the minimum repair bandwidth is achievable over a sufficiently large finite field, how to construct a binary MDS array code to achieve the minimum repair bandwidth is still a challenge.
一种传统的方法是从任何k幸存的列中下载所有的位元来重新生成故障列中的位元.因此,用于修复故障列的比特数的总数是故障位的k倍.在二进制MDS阵列代码中,有研究减少了单个失败列的修复带宽.一些方法最小化了RDP代码[10]的磁盘读取和d=k+1的x-code[11],但是它们的修复带宽是次优的,比d=k+1时(1)的最小值大50%.MDR码[12],[13]和ButterFly码 [14],[15]是二进制的MDS阵列编码,达到最优修复;然而,它们只提供了双重容错(即r=2).如何用最优修复和更好的容错(即r>2)来构造二进制MDS阵列码仍然是一个开放的问题.这样的结构将有利于在故障易发的分布式存储系统中维护数据可用性。A traditional method is to download all the bits from any surviving column to regenerate the bits in the faulty column. Therefore, the total number of bits used to repair the faulty column is k times the number of faulty bits. In binary MDS In the array code, some studies have reduced the repair bandwidth of a single failed column. Some methods minimize the disk read of the RDP code [10] and x-code [11] with d = k + 1, but their repair bandwidth is second Optimal, 50% larger than the minimum value of (1) when d = k + 1. MDR codes [12], [13] and ButterFly codes [14], [15] are binary MDS array codes to achieve optimal repair However, they only provide double fault tolerance (ie r = 2). How to construct binary MDS array codes with optimal repair and better fault tolerance (ie r> 2) is still an open question. Such a structure would have Conducive to maintaining data availability in fault-prone distributed storage systems.
基于专利【二进制阵列码编码框架】,本文通过选取合适的生成矩阵,提出了一种新的设计二进制MDS阵列编码的方法,该方法可以容忍r≥3个磁盘故障。我们表明,当d足够大时,对于任何单个信息列故障的最小修复带宽(1)都可以渐进地实现.通过利用循环结构的商环和选择精心设计的编码矩阵,我们的结构最小化了修复带宽,这样在修复操作中访问的位元就会尽可能多地交叉。Based on the patent [Binary Array Code Coding Framework], this paper proposes a new method for designing binary MDS array coding by selecting a suitable generator matrix. This method can tolerate r≥3 disk failures. We show that when d is large enough, the minimum repair bandwidth (1) for any single information column failure can be achieved progressively. By using the quotient loop of the loop structure and choosing a carefully designed coding matrix, our structure minimizes the repair Bandwidth so that bits accessed during the repair operation cross as much as possible.
大多数现有的二进制MDS阵列编码[2]、[3]、[5]、[6]的修复带宽是次优的。一些构造[12-15]的二进制MDS阵列码,具有最佳的修复带宽,只关注双容错(即r=2)。据我们所知,所提出的代码是第一个二进制的MDS阵列码,它具有渐进的最优修复带宽,并且具有大于2的容错能力。所提议的代码和现有的二进制MDS阵列码之间的关键区别如下。首先,与现有的结构,如[2]、[3]、[5]、[6],在校验列中(除了第一个校验列)的冗余位是通过对数组中特定的多边形线的对应来生成的.其次,在提议的代码中,数组的行数是k的指数函数。这两个属性对于减少修复带宽是非常重要的。双容错最优修复结构的[12-15]与建议结构之间的区别在于,采用了循环结构的商环,而[12-15]则没有采用。通过利用商环,我们可以选择设计良好的编码矩阵(校验矩阵),并以更大的容错度来达到最优的修复带宽。The repair bandwidth of most existing binary MDS array codes [2], [3], [5], [6] is suboptimal. Some binary MDS array codes constructed in [12-15] have the best repair bandwidth and only focus on double fault tolerance (ie r = 2). As far as we know, the proposed code is the first binary MDS array code, which has a progressive optimal repair bandwidth and has a fault tolerance of greater than 2. The key differences between the proposed code and existing binary MDS array codes are as follows. First, with existing structures, such as [2], [3], [5], [6], the redundant bits in the check column (except the first check column) are specified by the array The correspondence of polygonal lines is generated. Secondly, in the proposed code, the number of rows of the array is an exponential function of k. These two attributes are very important to reduce the repair bandwidth. The difference between [12-15] and the proposed structure of the double fault-tolerant optimal repair structure is that a quotient loop with a circular structure is used, while [12-15] does not. By using the quotient ring, we can choose a well-designed coding matrix (check matrix), and achieve an optimal repair bandwidth with greater fault tolerance.
之前的研究[16]、[17]也利用类似的技术来减少再生码的计算复杂度.在本研究中,我们证明当τ(稍后介绍的一个参数)足够大且满足某些条件时,我们可以找到一些二元MDS阵列编码的结构,从而可以得到最优的修复。[16]、[17]的环可以看作是所提出的环在τ=1时的特殊情况。此外,[16]、[17]和这篇论文的主要结果是不同的。结果表明,在商环内,功能修复再生码的存 储与修复带宽之间的基本权衡曲线在商环中也可以实现,而现有的再生码的产品矩阵结构仍在商环下工作,计算复杂度较低.在本文中,我们使用一个更一般的环来构造一个新的二进制MDS阵列码,通过选择设计良好的生成矩阵来构造一个渐进的最优修复带宽。虽然提出了二进制数组MDS码和结构的高数据率MSR编码[9],[18]-[24]都是基于矩阵构建生成器或校验矩阵,提出的编码在二进制中构建,编码矩阵或校验矩阵在具有循环结构的环中选择。Previous studies [16], [17] also used similar techniques to reduce the computational complexity of regenerative codes. In this study, we proved that when τ (a parameter introduced later) is large enough and meets certain conditions, We can find some binary MDS array coding structures, which can get the optimal repair. The rings of [16] and [17] can be regarded as special cases of the proposed ring when τ = 1. In addition, the main results of [16], [17] and this paper are different. The results show that in the commercial ring, the basic trade-off curve between the storage and repair bandwidth of functional repair regeneration codes can also be realized in the commercial ring, while the existing product matrix structure of the recycled code still works under the commercial ring, and the calculation is complicated The degree is low. In this paper, we use a more general ring to construct a new binary MDS array code, and choose a well-designed generator matrix to construct a progressive optimal repair bandwidth. Although high data rate MSR codes of binary array MDS codes and structures are proposed [9], [18]-[24] are based on matrix construction generators or check matrices, the proposed codes are constructed in binary, coding matrix or calibration The trial matrix is selected in a ring with a cyclic structure.
发明内容Summary of the invention
本发明的目的在于提供一种修复二进制码生成矩阵构造方法及修复方法,旨在解决上述的技术问题。An object of the present invention is to provide a method for constructing a repair binary code generation matrix and a repair method, which aim to solve the above technical problems.
本发明是这样实现的,一种修复二进制码生成矩阵构造方法,所述修复二进制码生成矩阵构造方法包括:设构造码c 1(k,r,d,p),其中η=d-k+1,k≥3,r≥3是一个奇数,d=k+(r-1)/2和τ=(d-k+1) k-2,构造矩阵P k×r;其计算公式: The present invention is implemented as such, a method for constructing a repair binary code generation matrix, the method for constructing a repair binary code generation matrix includes: setting a construction code c 1 (k, r, d, p), where η = d-k + 1, k≥3, r≥3 is an odd number, d = k + (r-1) / 2 and τ = (d-k + 1) k-2 , construct the matrix P k × r ; its calculation formula:
Figure PCTCN2018110067-appb-000002
Figure PCTCN2018110067-appb-000002
本发明的进一步技术方案是:对于j=k+1,k+2,…,k+r,每一个编码多项式s j(x)都在环C 中;让(i:j)={i,i+1,…,j}并根据列索引(i:j)生成P k×r的子矩阵P k×r(i:j),在P k×r中,子矩阵P k×r(η+1:2η-1)可由子矩阵P k×r(2:η)旋转180度得到,P k×r(2:η)中的最后一行是全为1的向量,并且P k×r(2:η)中第i行j列的元素的指数是第一行第j列的η i-1的倍数,其中i=2,3,…,k-1和j=1,2,…,d-k。 A further technical solution of the present invention is: for j = k + 1, k + 2, ..., k + r, each coding polynomial s j (x) is in the ring C ; let (i: j) = {i , i + 1, ..., j } according to the column index (i: j) matrix P k × r generated P k × r sub (i: j), the P k × r, the sub-matrix P k × r ( η + 1: 2η-1) can be obtained by rotating the sub-matrix P k × r (2: η) 180 degrees, and the last row in P k × r (2: η) is a vector of all 1, and P k × r The index of the element of the i-th row and j-th column in (2: η) is a multiple of η i-1 of the j-th column of the first row, where i = 2, 3, ..., k-1 and j = 1, 2, ... , Dk.
本发明的进一步技术方案是:所述修复二进制码生成矩阵构造方法中信息位计算的额外位不需要存储,且用来计算冗余位。A further technical solution of the present invention is that the extra bits calculated for the information bits in the repair binary code generating matrix construction method do not need to be stored and are used to calculate redundant bits.
本发明的另一目的在于提供一种修复二进制码生成矩阵修复方法,所述修复二进制码生成矩阵修复方法包括:对于
Figure PCTCN2018110067-appb-000003
Figure PCTCN2018110067-appb-000004
第j个校验列的第
Figure PCTCN2018110067-appb-000005
个校验集合分别定义如下
Figure PCTCN2018110067-appb-000006
Figure PCTCN2018110067-appb-000007
其中2≤j≤d-k+1,
Another object of the present invention is to provide a repair method for repairing a binary code generation matrix. The repair method for repairing a binary code generation matrix includes:
Figure PCTCN2018110067-appb-000003
Figure PCTCN2018110067-appb-000004
The first check column
Figure PCTCN2018110067-appb-000005
Each check set is defined as follows
Figure PCTCN2018110067-appb-000006
Figure PCTCN2018110067-appb-000007
Where 2≤j≤d-k + 1,
Figure PCTCN2018110067-appb-000008
,其中d-k+2≤j≤r;假设第f个信息列失效,如果
Figure PCTCN2018110067-appb-000009
Figure PCTCN2018110067-appb-000010
比特
Figure PCTCN2018110067-appb-000011
用第一个校验列修复;有因t=1,2,…,d-k,其
Figure PCTCN2018110067-appb-000012
比特
Figure PCTCN2018110067-appb-000013
用第d-k-t+2个校验列修复;如果
Figure PCTCN2018110067-appb-000014
Figure PCTCN2018110067-appb-000015
比特
Figure PCTCN2018110067-appb-000016
用第一个校验列修复,有因t=1,2,…,d-k,其
Figure PCTCN2018110067-appb-000017
,比特
Figure PCTCN2018110067-appb-000018
用第d-k+t+1个校验列修复。
Figure PCTCN2018110067-appb-000008
Where d-k + 2≤j≤r; assuming the fth information column is invalid, if
Figure PCTCN2018110067-appb-000009
because
Figure PCTCN2018110067-appb-000010
Bit
Figure PCTCN2018110067-appb-000011
Repair with the first check column; there are factors t = 1, 2, ..., dk, which
Figure PCTCN2018110067-appb-000012
Bit
Figure PCTCN2018110067-appb-000013
Repair with dk-t + 2 check column; if
Figure PCTCN2018110067-appb-000014
because
Figure PCTCN2018110067-appb-000015
Bit
Figure PCTCN2018110067-appb-000016
Repaired with the first check column, because t = 1, 2, ..., dk, which
Figure PCTCN2018110067-appb-000017
, Bit
Figure PCTCN2018110067-appb-000018
Repair with the d-k + t + 1 check column.
本发明的进一步技术方案是:对
Figure PCTCN2018110067-appb-000019
Figure PCTCN2018110067-appb-000020
比特
Figure PCTCN2018110067-appb-000021
可被第一个校验列的校验集合
Figure PCTCN2018110067-appb-000022
修复,需要从剩余k-1个信息列分别下载(p-1)η k-3个比特
Figure PCTCN2018110067-appb-000023
其中i∈{1,2,...,f-1,f+1,...,k}且
Figure PCTCN2018110067-appb-000024
并从第一个校验列中下载(p-1)η k-3个冗余比特
Figure PCTCN2018110067-appb-000025
Figure PCTCN2018110067-appb-000026
共有(p-1)η k-3个比特需要下载。
A further technical solution of the present invention is:
Figure PCTCN2018110067-appb-000019
And
Figure PCTCN2018110067-appb-000020
Bit
Figure PCTCN2018110067-appb-000021
Checksum set that can be the first checksum
Figure PCTCN2018110067-appb-000022
Repair, need to download (p-1) η k-3 bits respectively from the remaining k-1 information columns
Figure PCTCN2018110067-appb-000023
Where i ∈ {1, 2, ..., f-1, f + 1, ..., k} and
Figure PCTCN2018110067-appb-000024
And download (p-1) η k-3 redundant bits from the first check column
Figure PCTCN2018110067-appb-000025
Figure PCTCN2018110067-appb-000026
A total of (p-1) η k-3 bits need to be downloaded.
本发明的进一步技术方案是:所述修复二进制码生成矩阵修复方法中第一个奇偶校验列的奇偶校验集与RDP和偶数奇中的第一个奇偶列相同。A further technical solution of the present invention is that the parity check set of the first parity check column in the repairing method for repairing a binary code generation matrix is the same as the first parity column of the RDP and the even parity.
本发明的进一步技术方案是:所述修复二进制码生成矩阵修复方法中其他奇偶校验列的奇偶校验位不是与数组中的直线相对应的位元,而是对应于多边形线的位元,在被提出的编码中的行数可以被η k-2整除。 A further technical solution of the present invention is that the parity bits of other parity columns in the repair method for repairing a binary code generation matrix are not bits corresponding to a straight line in the array, but bits corresponding to a polygon line, The number of lines in the proposed encoding can be divisible by η k-2 .
本发明的有益效果是:再生码的产品矩阵结构仍在商环下工作,计算复杂度较低,以更大的容错度减少修复带宽。The beneficial effect of the invention is that the product matrix structure of the regenerative code still works under the quotient ring, the calculation complexity is low, and the repair bandwidth is reduced with a greater fault tolerance.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
图1是本发明实施例提供的三个校验列的存储编码示例图。FIG. 1 is a diagram illustrating an example of storage encoding of three check columns according to an embodiment of the present invention.
具体实施方式detailed description
考虑一个具有k≥2个信息列和r≥3个校验列的二进制MDS阵列码。该阵列码的每一列都存储L=(p-1)τ位元,其中p是一个素数,这样2是有限域
Figure PCTCN2018110067-appb-000027
中的一个原始元素,τ的值稍后将指定。考虑一个大小为k(p-1)τ的文件,用信息比特
Figure PCTCN2018110067-appb-000028
Figure PCTCN2018110067-appb-000029
来表示。这些信息比特可以用来生成r(p-1)τ个校验比特
Figure PCTCN2018110067-appb-000030
位元s 0,i,s 1,i,…,s (p-1)τ-1,i(i=1,2,...,k)存储在第i个信息列中,(p-1)τ个位元s 0,j,s 1,j,…,s (p-1)τ-1,j(j=k+1,k+2,…,k+r)存储在第j-k个校验列中。
Consider a binary MDS array code with k≥2 information columns and r≥3 check columns. Each column of the array code stores L = (p-1) τ bits, where p is a prime number, so 2 is a finite field
Figure PCTCN2018110067-appb-000027
One of the original elements, the value of τ will be specified later. Consider a file of size k (p-1) τ, using information bits
Figure PCTCN2018110067-appb-000028
Figure PCTCN2018110067-appb-000029
To represent. These information bits can be used to generate r (p-1) τ check bits
Figure PCTCN2018110067-appb-000030
Bits s 0, i , s1 , i , ..., s (p-1) τ-1, i (i = 1,2, ..., k) are stored in the i-th information column, (p- 1) τ bits s 0, j , s 1, j , ..., s (p-1) τ-1, j (j = k + 1, k + 2, ..., k + r) are stored in jkth Check columns.
对i=1,2,...,k和μ=0,1,...,τ-1,我们定义下面的简短表示法:For i = 1, 2, ..., k and μ = 0,1, ..., τ-1, we define the following short notation:
Figure PCTCN2018110067-appb-000031
Figure PCTCN2018110067-appb-000031
我们把s (p-1)τ+μ,i称为s μ,i,s τ+μ,i,…,s (p-2)τ+μ,i的额外比特。例如,当p=3,k=4,和τ=4,时,s 0+μ,i,s 4+μ,i的额外比特是s 8+μ,i=s 0+μ,i+s 4+μ,i。对于j=k+1,k+2,…,k+r,τ个额外比特s (p-1)τ,j,s (p-1)τ+1,j,...,s pτ-1,j将加在第j-k个校验列后。后面将会很明显,第j-k个校验列的冗余位元s (p-1)τ+μ,j将满足(2)对j=k+1,k+2,…,k+r和μ=0,1,...,τ-1。 We call s (p-1) τ + μ, i as s μ, i , s τ + μ, i , ..., s (p-2) τ + μ, i extra bits. For example, when p = 3, k = 4, and τ = 4, s 0 + μ, i , s 4 + μ, and the extra bits of i are s 8 + μ, i = s 0 + μ, i + s 4 + μ, i . For j = k + 1, k + 2, ..., k + r, τ extra bits s (p-1) τ, j , s (p-1) τ + 1, j , ..., s pτ- 1, j will be added after the jkth check column. It will be obvious later that the redundant bits s (p-1) τ + μ of the jkth check column , j will satisfy (2) for j = k + 1, k + 2, ..., k + r and μ = 0, 1, ..., τ-1.
对于
Figure PCTCN2018110067-appb-000032
我们用一个在环
Figure PCTCN2018110067-appb-000033
上的多项式
Figure PCTCN2018110067-appb-000034
来表示第
Figure PCTCN2018110067-appb-000035
列中的比特
Figure PCTCN2018110067-appb-000036
和τ个额外比特
Figure PCTCN2018110067-appb-000037
例如
for
Figure PCTCN2018110067-appb-000032
We use one in the ring
Figure PCTCN2018110067-appb-000033
Polynomial
Figure PCTCN2018110067-appb-000034
To represent the
Figure PCTCN2018110067-appb-000035
Bits in column
Figure PCTCN2018110067-appb-000036
And τ extra bits
Figure PCTCN2018110067-appb-000037
E.g
Figure PCTCN2018110067-appb-000038
Figure PCTCN2018110067-appb-000038
把对应于第i(i=1,2,...,k)个信息列的多项式s i(x)叫做信息多项式;把对应于第j-k个校验列的多项式s j(x)(j=k+1,k+2,…,k+r)叫做编码多项式。我们把k个信息多项式和r个编码多项式写成如下的行向量 The polynomial s i (x) corresponding to the i (i = 1, 2, ..., k) information column is called an information polynomial; the polynomial s j (x) (j) corresponding to the jk-th check column is called = K + 1, k + 2, ..., k + r) are called coding polynomials. We write k information polynomials and r coded polynomials as row vectors as follows
[s 1(x),s 2(x),…,s k+r(x)]     (4) [s 1 (x), s 2 (x), ..., s k + r (x)] (4)
该向量可以通过在环
Figure PCTCN2018110067-appb-000039
上的运算得到,计算公式如下:
This vector can be passed in the ring
Figure PCTCN2018110067-appb-000039
Based on the calculation above, the calculation formula is as follows:
[s 1(x),s 2(x),…,s k+r(x)]=[s 1(x),s 2(x),…,s k(x)]·G k×(k+r)  (5) [s 1 (x), s 2 (x), ..., s k + r (x)] = [s 1 (x), s 2 (x), ..., s k (x)] · G k × ( k + r) (5)
其中k×(k+r)的生成矩阵G由k×k的单位矩阵I和k×r的编码矩阵P构成,计算如下:G k×(k+r)=[I k×k P k×r]    (6) The k × (k + r) generation matrix G is composed of a k × k identity matrix I and a k × r coding matrix P, and is calculated as follows: G k × (k + r) = [I k × k P k × r ] (6)
所提出的编码可以描述为一个校验矩阵H (k+r)×r。考虑(4),我们有 The proposed coding can be described as a check matrix H (k + r) × r . Considering (4), we have
[s 1(x),s 2(x),…,s k(x)]·H (k+r)×r=0   (7) [s 1 (x), s 2 (x), ..., s k (x)] · H (k + r) × r = 0 (7)
用R 表示环
Figure PCTCN2018110067-appb-000040
R 中的一个元素a(x)可以表示成a(x)=a pτ-1x pτ-1+…+a 1x+a 0,其系数是有限域
Figure PCTCN2018110067-appb-000041
中的元素。加法是通常的逐项加法,乘法是用通过模x +1来执行的。在R 中,乘以x可以被解释为循环移位.这对于减少一个列故障的修复带宽是至关重要的。请注意,我们不需要将额外的位存储在磁盘上,它们只用于标记的方便性。
Let R represent the ring
Figure PCTCN2018110067-appb-000040
An element a (x) in R can be expressed as a (x) = a pτ-1 x pτ-1 + ... + a 1 x + a 0 , and its coefficient is a finite field
Figure PCTCN2018110067-appb-000041
Element. Addition is the usual item-by-item addition, and multiplication is performed by modulo x +1. In R , multiplying by x can be interpreted as a cyclic shift. This is critical to reducing the repair bandwidth of a column failure. Please note that we do not need to store extra bits on disk, they are only used for convenience of labeling.
考虑由R 中具有因子x τ+1的多项式构成的R 的子环C Consider a neutron by the RR pτ factor x τ +1 polynomial ring configuration C pτ,
C ={a(x)(1+x τ)mod(1+x (pτ)|a(x)∈R }  (8) C = (a (x) (1 + x τ ) mod (1 + x (pτ) a (x) ∈ R ) (8)
事实上,C 是理想的,因为
Figure PCTCN2018110067-appb-000042
我们可以验证h(x)=x (p-1)τ+x (p-2)τ+…+x τ+1和C 中任意多项式的乘积为0。h(x)被成为C 中的校验多项式。C 中的乘法性质是e(x)=1+h(x)=x (p-1)τ+x (p-2)τ+…+x τ=(1+x τ)(x (p-2)τ+…+x +x τ),
In fact, C is ideal because
Figure PCTCN2018110067-appb-000042
We can verify that the product of any polynomial in h (x) = x (p-1) τ + x (p-2) τ + ... + x τ +1 and C is 0. h (x) is called a check polynomial in C . The multiplication property in C is e (x) = 1 + h (x) = x (p-1) τ + x (p-2) τ + ... + x τ = (1 + x τ ) (x (p -2) τ + ... + x + x τ ),
由于
Figure PCTCN2018110067-appb-000043
due to
Figure PCTCN2018110067-appb-000043
e(x)b(x)=(1+h(x))b(x)=b(x)mod(1+x )  (9) e (x) b (x) = (1 + h (x)) b (x) = b (x) mod (1 + x ) (9)
定理1当且仅当多项式的系数s i(x)在C 中时才满足(2)。 Theorem 1 satisfies (2) if and only if the coefficient si (x) of the polynomial is in C .
证明:假设多项式的系数s i(x)满足(2),通过调整s i(x)得, Proof: Assume that the coefficient s i (x) of the polynomial satisfies (2). By adjusting s i (x),
Figure PCTCN2018110067-appb-000044
Figure PCTCN2018110067-appb-000044
这种化简是为了证明对于i=0,1,…,p-2和j=0,1,…,τ-1,x iτ+j+x (p-1)τ+j是x τ+1的倍数。这是由于x iτ+j+x (p-1)τ+j=x iτ+j(1+x (p-i-1)τ)=x iτ+j(1+x τ)(1+x τ+x +…+x (p-i-2)τ)这便证明了多项式系数s i(x)是在环C 中的。 This simplification is to prove that for i = 0, 1, ..., p-2 and j = 0, 1, ..., τ-1, x iτ + j + x (p-1) τ + j is x τ + Multiple of 1. This is because x iτ + j + x (p-1) τ + j = x iτ + j (1 + x (pi-1) τ ) = x iτ + j (1 + x τ ) (1 + x τ + x + ... + x (pi-2) τ ) This proves that the polynomial coefficient si (x) is in the ring C .
相反,假设
Figure PCTCN2018110067-appb-000045
在环C 中。根据(8),s i(x)可以被写成
Instead, suppose
Figure PCTCN2018110067-appb-000045
In the ring C . According to (8), s i (x) can be written as
s i(x)=a(x)(1+x τ)mod(1+x τp) s i (x) = a (x) (1 + x τ ) mod (1 + x τp )
=(a 0+a (p-1)τ)+(a 1+a (p-1)τ+1)x+…+(a pτ-1+a (p-1)τ-1)x pτ-1= (A 0 + a (p-1) τ ) + (a 1 + a (p-1) τ + 1 ) x + ... + (a pτ-1 + a (p-1) τ-1 ) x pτ- 1 .
因此,对于μ=0,1,…,τ-1,可以得到Therefore, for μ = 0,1, ..., τ-1, we can get
s μ,i=α μ(p-1)τ+μ,s τ+μ,i=α τ+μμ,…,s (p-1)τ+μ,i=α (p-1)τ+μ(p-2)τ+μ,我们可以验证 s μ, i = α μ + α (p-1) τ + μ , s τ + μ, i = α τ + μ + α μ , ..., s (p-1) τ + μ, i = α (p -1) τ + μ + α (p-2) τ + μ , we can verify
s μ,i+s τ+μ,i+…+s (p-2)τ+μ,i=(α μ(p-1)τ+μ)+(α τ+μμ)+…+(α (p-2)τ+μ(p-3)τ+μ) s μ, i + s τ + μ, i + ... + s (p-2) τ + μ, i = (α μ + α (p-1) τ + μ ) + (α τ + μ + α μ ) +… + (Α (p-2) τ + μ + α (p-3) τ + μ )
=α (p-1)τ+μ(p-2)τ+μ=s (p-1)τ+μ,i= Α (p-1) τ + μ + α (p-2) τ + μ = s (p-1) τ + μ, i ,
因此,多项式的系数s i(x)满足(2)。 Therefore, the coefficient si (x) of the polynomial satisfies (2).
由于存在两个多项式1和x τ+x +…+x (p-2)τ,因此等式 Since there are two polynomials 1 and x τ + x + ... + x (p-2) τ , the equation
(1+x τ)(x τ+x +…+x (p-2)τ)+1·h(x)=1 (1 + x τ ) (x τ + x + ... + x (p-2) τ ) + 1 · h (x) = 1
在限域
Figure PCTCN2018110067-appb-000046
中是成立的,1+x 可被分解成两个互素因子 1+x τ和h(x)的乘积。在下一个引理中将说明环R
Figure PCTCN2018110067-appb-000047
是同构的。
In the bounds
Figure PCTCN2018110067-appb-000046
It is true that 1 + x can be decomposed into the product of two coprime factors 1 + x τ and h (x). In the next lemma the rings R and
Figure PCTCN2018110067-appb-000047
Are isomorphic.
引理2:环R
Figure PCTCN2018110067-appb-000048
是同构的。
Lemma 2: Rings R and
Figure PCTCN2018110067-appb-000048
Are isomorphic.
证明我们需要在R
Figure PCTCN2018110067-appb-000049
中找到一种同构。甚至,我们可以通过定义θ(f(x)):=(f(x)modx τ+1,f(x)modh(x))设置一种同构:
Prove that we need between R and
Figure PCTCN2018110067-appb-000049
An isomorphism was found in. Furthermore, we can set a homomorphism by defining θ (f (x)): = (f (x) modx τ +1, f (x) modh (x)):
Figure PCTCN2018110067-appb-000050
Figure PCTCN2018110067-appb-000050
映射θ是一个环同态和双射,因为它有一个逆函数φ(a(x),b(x)),其中The mapping θ is a ring homomorphism and bijection because it has an inverse function φ (a (x), b (x)), where
φ(a(x),b(x))=[a(x)h(x)+b(x)e(x)]modx +1。 φ (a (x), b (x)) = [a (x) h (x) + b (x) e (x)] modx +1.
下面将说明
Figure PCTCN2018110067-appb-000051
是环R 的恒等映射。
Will be explained below
Figure PCTCN2018110067-appb-000051
Is the identity map of the ring R .
对于任意多项式f(x)∈R ,存在两个多项式g 1(x),g 2(x)∈R ,因此 For any polynomial f (x) ∈ R , there are two polynomials g 1 (x) and g 2 (x) ∈ R , so
f(x)=g 1(x)(1+x τ)+f(x)mod(1+x τ),f(x)=g 2(x)h(x)+f(x)modh(x). f (x) = g 1 (x) (1 + x τ ) + f (x) mod (1 + x τ ), f (x) = g 2 (x) h (x) + f (x) modh ( x).
那么我们可以有Then we can have
φ(θ(f(x)))=[h(x)(f(x)mod(1+x τ))+e(x)(f(x)modh(x))]modx +1 φ (θ (f (x))) = (h (x) (f (x) mod (1 + x τ )) + e (x) (f (x) modh (x))) modx +1
=[h(x)(f(x)-g 1(x)(1+x τ))+(1+h(x))(f(x)-g 2(x)h(x))]modx +1 = [H (x) (f (x) -g 1 (x) (1 + x τ )) + (1 + h (x)) (f (x) -g 2 (x) h (x))] modx +1
=[h(x)(f(x)-h(x)g 1(x)(1+x τ))+f(x)+f(x)h(x)-e(x)g 2(x)h(x)]modx +1 = (H (x) (f (x) -h (x) g 1 (x) (1 + x τ )) + f (x) + f (x) h (x) -e (x) g 2 ( x) h (x)] modx +1
=[f(x)-h(x)g 1(x)(1+x τ)-e(x)g 2(x)h(x)]modx +1 = [F (x) -h (x) g 1 (x) (1 + x τ ) -e (x) g 2 (x) h (x)) modx +1
=[f(x)-(1+x τ)(x τ+x +…+x (p-2)τ)g 2(x)h(x)]modx +1 = [F (x)-(1 + x τ ) (x τ + x + ... + x (p-2) τ ) g 2 (x) h (x)) modx +1
=f(x).= F (x).
这样
Figure PCTCN2018110067-appb-000052
便是环R 的恒等映射,并且引理证明完毕。
such
Figure PCTCN2018110067-appb-000052
This is the identity mapping of the ring R , and the lemma proves.
通过引理2,我们有环C
Figure PCTCN2018110067-appb-000053
是同构的,这将在下一个引理中给出。
By Lemma 2, we have the loops C and
Figure PCTCN2018110067-appb-000053
Is isomorphic, which will be given in the next lemma.
引理3:环C
Figure PCTCN2018110067-appb-000054
是同构的。
Lemma 3: Ring C and
Figure PCTCN2018110067-appb-000054
Are isomorphic.
例如,当p=5和τ=2时,C 10
Figure PCTCN2018110067-appb-000055
是同构的,并且1+x 8在环C 10中可以映射为:
For example, when p = 5 and τ = 2, C 10 and
Figure PCTCN2018110067-appb-000055
Are isomorphic, 1 + x 8 and the ring 10 can be mapped to the C:
1+x 8mod(1+x 2+x 4+x 6+x 8)=x 2+x 4+x 61 + x 8 mod (1 + x 2 + x 4 + x 6 + x 8 ) = x 2 + x 4 + x 6 .
如果我们将函数φ应用在x 2+x 4+x 6上,我们可以恢复; If we apply the function φ to x 2 + x 4 + x 6 , we can recover;
φ(0,x 2+x 4+x 6)=(x 2+x 4+x 6)(x 2+x 4+x 6+x 8)=1+x 8mod(1+x 10)。 φ (0, x 2 + x 4 + x 6 ) = (x 2 + x 4 + x 6 ) (x 2 + x 4 + x 6 + x 8 ) = 1 + x 8 mod (1 + x 10 ).
当τ=1时,C p在[16][17]中进行了讨论,并应用到一种具有低复杂度的再生码中。注意,当且仅当2是
Figure PCTCN2018110067-appb-000056
中的素元及τ=p i(i为非负整数)时[25],C 和有限域
Figure PCTCN2018110067-appb-000057
同构。
When τ = 1, C p is discussed in [16] [17] and applied to a regenerative code with low complexity. Note that if and only if 2 is
Figure PCTCN2018110067-appb-000056
Prime element in τ and τ = p i (i is a non-negative integer) [25], C and finite field
Figure PCTCN2018110067-appb-000057
Isomorphism.
在引入所提出的阵列码的显式构造结构前,我们需要对e(x)-逆进行定义。Before introducing the explicit structure of the proposed array code, we need to define e (x) -inverse.
定义1:如果多项式f(x)∈R 有一个多项式
Figure PCTCN2018110067-appb-000058
使得
Figure PCTCN2018110067-appb-000059
那么多项式
Figure PCTCN2018110067-appb-000060
便称为多项式f(x)的e(x)-逆.在下一个引理中我们将说明1+x b在环R 中是可以e(x)-逆的。
Definition 1: If the polynomial f (x) ∈ R has a polynomial
Figure PCTCN2018110067-appb-000058
Make
Figure PCTCN2018110067-appb-000059
Then polynomial
Figure PCTCN2018110067-appb-000060
It is called the e (x) -inverse of the polynomial f (x). In the next lemma we will show that 1 + x b is e (x) -invertible in the ring R .
引理4:让b(1≤b≤pτ)为一个整数,b和p的最大公约数为gcd(b,p)=1,gcd(b,τ)=α。1+x b在环R 中的e(x)-逆是
Figure PCTCN2018110067-appb-000061
Lemma 4: Let b (1≤b≤pτ) be an integer, and the greatest common divisor of b and p is gcd (b, p) = 1, gcd (b, τ) = α. The e (x) -inverse of 1 + x b in the ring R is
Figure PCTCN2018110067-appb-000061
证明:在环R 中,我们可以验证 Proof: In the ring R , we can verify
Figure PCTCN2018110067-appb-000062
Figure PCTCN2018110067-appb-000062
它被简化是为了证明上面的方程等于e(x),例如,It was simplified to prove that the above equation is equal to e (x), for example,
Figure PCTCN2018110067-appb-000063
Figure PCTCN2018110067-appb-000063
考虑一种整数模pτ的环,将其表示为
Figure PCTCN2018110067-appb-000064
Figure PCTCN2018110067-appb-000065
中,有一个集合
Figure PCTCN2018110067-appb-000066
Consider a ring of integer modulus pτ and express it as
Figure PCTCN2018110067-appb-000064
in
Figure PCTCN2018110067-appb-000065
In there is a collection
Figure PCTCN2018110067-appb-000066
现在对于i∈{1,2,…,p-1},我们考虑
Figure PCTCN2018110067-appb-000067
因此,
Figure PCTCN2018110067-appb-000068
Now for i ∈ {1, 2, ..., p-1}, we consider
Figure PCTCN2018110067-appb-000067
therefore,
Figure PCTCN2018110067-appb-000068
接下来对于i≠j∈{1,2,…,p-1},我们想要证明τib/a≠jτb/a modpτ。Next, for i ≠ j∈ {1, 2, ..., p-1}, we want to prove τib / a ≠ jτb / a modpτ.
假设iτb/a modpτ=jτb/a modpτ,这样便存在一个整数
Figure PCTCN2018110067-appb-000069
使得
Figure PCTCN2018110067-appb-000070
Suppose iτb / a modpτ = jτb / a modpτ, so there is an integer
Figure PCTCN2018110067-appb-000069
Make
Figure PCTCN2018110067-appb-000070
上面的式子可以进一步被化简为The above formula can be further reduced to
Figure PCTCN2018110067-appb-000071
Figure PCTCN2018110067-appb-000071
因为gcd(b,p)=1,gcd(b/a,p)=1,因此我们有 p|(i-j)。然而由于1≤j≤i≤p-1,这是不可能的。同样,我们证明当1≤i≤p-1时iτb/a modpτ≠0。Since gcd (b, p) = 1 and gcd (b / a, p) = 1, we have p | (i-j). However, this is impossible because 1≤j≤i≤p-1. Similarly, we prove that iτb / a modpτ ≠ 0 when 1≤i≤p-1.
因此,我们可以得到So we can get
(τb/a,2τb/a,…,(p-1)τb/a)≡(τ,2τ,…,(p-1)τ)m0dpτ.所以(11)成立。(τb / a, 2τb / a, ..., (p-1) τb / a) = (τ, 2τ, ..., (p-1) τ) m0dpτ. So (11) holds.
通过引理1,对于i=1,2,…k,我们有s i(x)∈C 。用f(x)表示生成矩阵或校验矩阵中的任何一项。如果
Figure PCTCN2018110067-appb-000072
便可以用(f(x)e(x)mod(1+x ))∈C 来替代f(x)而不会改变结果。这是由于1≤i≤k时,s i(x)e(x)=s i(x)mod(1+x )。因此,在用(f(x)e(x)mod(1+x ))∈C 替代了生成矩阵或校验矩阵中的所有f(x)后,我们有了等效的生成矩阵或校验矩阵,这样(4)中的编码多项式可以通过(5)或(7)在环C 上计算得到.
By Lemma 1, for i = 1, 2, ... k, we have s i (x) ∈ C pτ . Let f (x) be any of the generation or check matrix. in case
Figure PCTCN2018110067-appb-000072
Then (f (x) e (x) mod (1 + x )) ∈ C pτ can be used instead of f (x) without changing the result. This is because when 1i ≦ k, s i (x) e (x) = s i (x) mod (1 + x ). Therefore, after replacing all f (x) in the generator matrix or check matrix with (f (x) e (x) mod (1 + x )) ∈ C pτ , we have the equivalent generator matrix or Check the matrix so that the encoding polynomial in (4) can be calculated on the ring C by (5) or (7).
编码过程可以用如下多项式操作来描述.给定k(p-1)τ个信息位,通过(3),为每(p-1)τ个信息位附加τ个额外位,并形成属于C 的k个数据多项式.在通过选择某种特定的编码矩阵或检查矩阵得到向量(4)后,将多项式中下标在0到(p-1)τ-1的系数存储起来,并将其余下标的系数丢掉。提出的阵列码可以被看作C 上的一种系统线性码。 The encoding process can be described by the following polynomial operation. Given k (p-1) τ information bits, by (3), add τ extra bits for each (p-1) τ information bits and form C K data polynomials. After obtaining a vector (4) by selecting a specific encoding matrix or check matrix, store the coefficients in the polynomial from 0 to (p-1) τ-1, and store The target coefficients are discarded. The proposed array code can be regarded as a systematic linear code on C .
本文的目的是寻找合适的编码矩阵P k×r,使之对应的编码是MDS编码,而单次故障的修复带宽是渐近最优的。在本节的其余部分,我们将给出二元MDS数组代码的编码矩阵构造方法。我们提出的二进制阵列码的修复带宽对于任何单个信息列故障都是渐近最优的。 The purpose of this paper is to find a suitable coding matrix P k × r so that the corresponding coding is MDS coding, and the repair bandwidth of a single fault is asymptotically optimal. In the rest of this section, we will give the encoding matrix construction method for binary MDS array codes. The repair bandwidth of our proposed binary array code is asymptotically optimal for any single information column failure.
A编码矩阵构造方法A coding matrix construction method
构造码用c 1(k,r,d,p)来表示,构造矩阵P k×r如(12),其中η=d-k+1,k≥3,r≥3是一个奇数,d=k+(r-1)/2和τ=(d-k+1) k-2The construction code is represented by c 1 (k, r, d, p), and the construction matrix P k × r is as (12), where η = d-k + 1, k≥3, r≥3 is an odd number, and d = k + (r-1) / 2 and τ = (d-k + 1) k-2 .
Figure PCTCN2018110067-appb-000073
Figure PCTCN2018110067-appb-000073
因为每一个数据多项式都在环C 中且环C 是理想的,我们有如下引理。 Because each data polynomial is in the ring C and the ring C is ideal, we have the following lemma.
图1三个校验列的存储编码示例,当第一列信息失效时,实线框中的比特用来修复信息比特s 0,1,s 2,1,s 4,1,s 6,1,虚线框中的比特用于修复信息比特s 1,1,s 3,1,s 5,1,s 7,1Figure 1 shows an example of storage encoding for the three check columns. When the first column of information is invalid, the bits in the solid line frame are used to repair the information bits s 0,1 , s 2,1 , s 4,1 , s 6,1. The bits in the dashed box are used to repair the information bits s 1,1 , s 3,1 , s 5,1 , s 7,1 .
引理5:对于j=k+1,k+2,…,k+r,每一个编码多项式s j(x)都在环C 中。 Lemma 5: For j = k + 1, k + 2, ..., k + r, each coded polynomial s j (x) is in the ring C .
根据引理1,5,如果把(2)中的i用j代替,编码多项式的系便数满足(2)。让(i:j)={i,i+1,…,j}并根据列索引(i:j)生成P k×r的子矩阵P k×r(i:j)。在P k×r中,子矩阵P k×r(η+1:2η-1)可由子矩阵 P k×r(2:η)旋转180度得到。P k×r(2:η)中的最后一行是全为1的向量,并且P k×r(2:η)中第i行j列的元素的指数是第一行第j列的η i-1的倍数,其中i=2,3,…,k-1和j=1,2,…,d-k。 According to Lemma 1,5, if i is replaced by j in (2), the coefficients of the coding polynomial satisfy (2). Let (i: j) = {i, i + 1, ..., j} and generate a Pk × r sub-matrix Pk × r (i: j) based on the column index (i: j). In P k × r , the sub-matrix P k × r (η + 1: 2η-1) can be obtained by rotating the sub-matrix P k × r (2: η) by 180 degrees. The last row in P k × r (2: η) is a vector of all 1, and the index of the element in the i-th row and j-th column in P k × r (2: η) is η i in the first row and j-th column Multiples of -1 , where i = 2, 3, ..., k-1 and j = 1, 2, ..., dk.
例1:考虑k=4,p=3,r=3。因此d=4+1=5,τ=4,这32个信息比特用s 0,i,s 1,i,...,s 7,i(i=1,2,3,4)表示。这个例子的编码矩阵是: Example 1: Consider k = 4, p = 3, and r = 3. Therefore, d = 4 + 1 = 5, τ = 4, the 32 information bits are represented by s 0, i , s 1, i , ..., s 7, i (i = 1, 2, 3, 4). The encoding matrix for this example is:
Figure PCTCN2018110067-appb-000074
Figure PCTCN2018110067-appb-000074
例1在图1中进行了说明.注意,由信息位计算的额外位不需要被存储,并且被用来计算冗余位。Example 1 is illustrated in Figure 1. Note that the extra bits calculated from the information bits need not be stored and are used to calculate redundant bits.
B第二个构造:校验矩阵B second construction: check matrix
4高效修复单列故障4 Efficiently repair single row faults
在本节中,我们将展示如何在本文提出的二进制阵列码中恢复存储在任何信息列或任何列中的位,并具有渐进最优的修复带宽。In this section, we will show how to recover the bits stored in any information column or any column in the binary array code proposed in this paper, with progressively optimal repair bandwidth.
在这个子节中,我们总是假设列f被擦除,f可以是1到k的任何值.我们希望通过从k-1个其他信息列和d-k+1个的校验列中获取位元来恢复信息列f中存储的位元s 0,f,s 1,f,…,s (p-1)τ-1,f,并得到渐进最优的修复带宽.回想一下,我们可以通过(2)来计算额外的位。为了方便起见,本节中我们将列i中的pτ位看作s 0,i,s 1,i,…,s pτ-1,i。在给出修复算法之前,我们正式定义了如下的奇偶校验集。 In this subsection, we always assume that column f is erased, and f can be any value from 1 to k. We want to obtain it from k-1 other information columns and d-k + 1 check columns Bits to recover the bits s 0, f , s 1, f , ..., s (p-1) τ-1, f stored in the information column f, and get the progressively optimal repair bandwidth. Recall that we can Calculate the extra bits by (2). For convenience, in this section we will treat the pτ bit in column i as s 0, i , s 1, i , ..., s pτ-1, i . Before giving the repair algorithm, we formally define the following parity set.
定义2:对于
Figure PCTCN2018110067-appb-000075
第j个校验 列的第
Figure PCTCN2018110067-appb-000076
个校验集合分别定义如下
Figure PCTCN2018110067-appb-000077
Definition 2: For
Figure PCTCN2018110067-appb-000075
The first check column
Figure PCTCN2018110067-appb-000076
Each check set is defined as follows
Figure PCTCN2018110067-appb-000077
Figure PCTCN2018110067-appb-000078
,其中2≤j≤d-k+1,
Figure PCTCN2018110067-appb-000078
, Where 2≤j≤d-k + 1,
Figure PCTCN2018110067-appb-000079
,其中d-k+2≤j≤r。
Figure PCTCN2018110067-appb-000079
, Where d-k + 2≤j≤r.
注意,在定义2和整个论文中,所有的索引都是从定义2中提取的,奇偶校验集
Figure PCTCN2018110067-appb-000080
是由用来产生冗余位
Figure PCTCN2018110067-appb-000081
的信息位组成的。当我们说一个信息位被一个奇偶列修复时,它意味着我们访问等值列的冗余位,以及这个奇偶校验位中的所有信息位,除了被擦除的位。考虑图1中的例子。假设第一个列被擦除可以访问信息比特s 0,2,s 0,3,s 0,4和冗余比特s 0,1+s 0,2+s 0,3+s 0,4,并通过s 0,2+s 0,3+s 0,4+(s 0,1+s 0,2+s 0,3+s 0,4)来重建s 0,1.
Note that in Definition 2 and throughout the paper, all indexes are extracted from Definition 2, the parity set
Figure PCTCN2018110067-appb-000080
Is used to generate redundant bits
Figure PCTCN2018110067-appb-000081
Consisting of information bits. When we say that an information bit is repaired by a parity column, it means that we access the redundant bits of the equivalence column, and all the information bits in this parity bit, except for the bits that are erased. Consider the example in Figure 1. Suppose the first column is erased to access the information 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 , And reconstruct s 0,1 by s 0,2 + s 0,3 + s 0,4 + (s 0,1 + s 0,2 + s 0,3 + s 0,4 ).
Figure PCTCN2018110067-appb-000082
Figure PCTCN2018110067-appb-000082
Figure PCTCN2018110067-appb-000083
Figure PCTCN2018110067-appb-000083
修复算法在算法1中进行了说明.我们再次用图1给出的例子来详细说明修复过程.在这个例子中,k=4,d=5和τ=4。假设第一个信息列(即节点1,f=1)失败。通过算法1中的步骤2和步骤3,我们可以通过第一个校验列来修复
Figure PCTCN2018110067-appb-000084
其中
Figure PCTCN2018110067-appb-000085
更具体地说,比特s 0,1,s 2,1,s 4,1,s 6,1可以通过下面的计算来重建。
The repair algorithm is described in Algorithm 1. We use the example given in Figure 1 to illustrate the repair process in detail. In this example, k = 4, d = 5, and τ = 4. Suppose the first information column (ie, node 1, f = 1) fails. Through step 2 and step 3 in algorithm 1, we can repair by the first check column
Figure PCTCN2018110067-appb-000084
among them
Figure PCTCN2018110067-appb-000085
More specifically, the bits s 0,1 , s 2,1 , s 4,1 , s 6,1 can be reconstructed by the following calculations.
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 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 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 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). s 6,1 = s 6, 2 + s 6, 3 + s 6, 4 + (s 6, 1 + s 6, 2 + s 6, 3 + s 6, 4 ).
当f=1∈{1,2}时,剩余的比特位
Figure PCTCN2018110067-appb-000086
(其中
Figure PCTCN2018110067-appb-000087
Figure PCTCN2018110067-appb-000088
)由第二个校验列修复。因此,比特s 1,1,s 3,1,s 5,1,s 7,1可以通过下面的计算来重建。
When f = 1 ∈ {1, 2}, the remaining bits
Figure PCTCN2018110067-appb-000086
(among them
Figure PCTCN2018110067-appb-000087
And
Figure PCTCN2018110067-appb-000088
) Repaired by the second check column. Therefore, the bits s 1,1 , s 3,1 , s 5,1 , s 7,1 can be reconstructed by the following calculations.
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 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 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 4,2+s 2,3+s 6,4) s 5,1 = s 4, 2 + s 2, 3 + s 6, 4 + (s 5, 1 + s 4, 2 + s 2, 3 + s 6, 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). 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 ).
因为我们可以用s 6,3+s 2,3和s 4,4+s 0,4来分别计算s 10,3、s 8,4,所以我们不需要下载这两个比特。因此,我们只需要从三个信息列和两个校验列中分别下载四个比特,总共20个比特来修复第一个信息列。即,只有需下载这五列总数据量中的一半数据。在图1中,实线框中的比特被下载以修复信息比特s 0,1,s 2,1,s 4,1,s 6,1,虚线框中的比特被用来修复信息比特s 1,1,s 3,1,s 5,1,s 7,1Because we can use s 6,3 + s 2,3 and s 4,4 + s 0,4 to calculate s 10,3 , s 8,4 respectively , we do not need to download these two bits. Therefore, we only need to download four bits from three information columns and two check columns, a total of 20 bits to repair the first information column. That is, only half of the total data in the five columns needs to be downloaded. In FIG. 1, the bits in the solid line box are downloaded to repair the information bits s 0,1 , s 2,1 , s 4,1 , s 6,1 , and the bits in the dotted box are used to repair the information bit s 1 , 1 , s 3,1 , s 5,1 , s 7,1 .
假设第二个信息列(即节点2,f=2)失效.通过算法1中的步骤2和3,比特s 0,2,s 1,2,s 4,2,s 5,2可以通过下面的计算来重建。 Suppose the second information column (ie node 2, f = 2) is invalid. By steps 2 and 3 in algorithm 1, bits s 0,2 , s 1,2 , s 4,2 , s 5,2 can be passed through Calculations to reconstruct.
s 0,2=s 0,1+s 0,3+s 0,4+(s 0,1+s 0,2+s 0,3+s 0,4) s 0, 2 = s 0, 1 + s 0, 3 + s 0, 4 + (s 0, 1 + s 0, 2 + s 0, 3 + s 0, 4 )
s 1,2=s 1,1+s 1,3+s 1,4+(s 1,1+s 1,2+s 1,3+s 1,4) s 1, 2 = s 1, 1 + s 1, 3 + s 1, 4 + (s 1, 1 + s 1, 2 + s 1, 3 + s 1, 4 )
s 4,2=s 4,1+s 4,3+s 4,4+(s 4,1+s 4,2+s 4,3+s 4,4) s 4, 2 = s 4, 1 + s 4, 3 + s 4, 4 + (s 4, 1 + s 4, 2 + s 4, 3 + s 4, 4 )
s 5,2=s 5,1+s 5,3+s 5,4+(s 5,1+s 5,2+s 5,3+s 5,4). s 5, 2 = s 5, 1 + s 5, 3 + s 5, 4 + (s 5, 1 + s 5, 2 + s 5, 3 + s 5, 4 ).
同样,比特s 2,2,s 3,2,s 6,2,s 7,2可以通过下面的计算来重建。 Similarly, the bits s 2,2 , s 3,2 , s 6,2 , and s 7,2 can be reconstructed by the following calculations.
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 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 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,2+s 0,3+s 4,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, 2 + 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). 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 ).
结果显示,通过从第一个信息列中下载6比特和从第三个信息列,第四个信息列,第一个验列和第二个校验列分别下载4比特,便可以恢复第二个信息列中的8个比特。修复过程中共下载了22个比特数据。可以验证,对于图1给出的例子,可以通过分别下载来自5列的22个比特和20个比特来重建第三个信息列和最后一个信息列。The results show that by downloading 6 bits from the first information column and 4 bits from the third information column, the fourth information column, the first check column and the second check column, the second can be restored. 8 bits in each information column. A total of 22 bits of data were downloaded during the repair process. It can be verified that, for the example shown in FIG. 1, the third information column and the last information column can be reconstructed by downloading 22 bits and 20 bits from 5 columns, respectively.
算法1中的关键思想是,对于每个擦除的信息列,访问的奇偶集有一个很大的交集,导致少量的访问。而且,很明显,如果我们想要确保MDS的属性和有效的修复,那么选择编码向量是至关重要的。下一个定理表明,一个信息列的修复带宽是渐进最优的。The key idea in Algorithm 1 is that for each erased information column, the parity sets accessed have a large intersection, resulting in a small number of accesses. And, obviously, if we want to ensure the properties and effective repair of MDS, then choosing the encoding vector is crucial. The next theorem shows that the repair bandwidth of an information column is progressively optimal.
定理11:当
Figure PCTCN2018110067-appb-000089
时,由算法1知第f个信息列的修复带宽是(p-1)((d+1)η k-3k-f-2)   (26)
Theorem 11: When
Figure PCTCN2018110067-appb-000089
At the time, algorithm 1 knows that the repair bandwidth of the f-th information column is (p-1) ((d + 1) η k-3kf-2 ) (26)
证明:通过算法1,对
Figure PCTCN2018110067-appb-000090
Figure PCTCN2018110067-appb-000091
比特
Figure PCTCN2018110067-appb-000092
可被第一个校验列的校验集合
Figure PCTCN2018110067-appb-000093
修复。因此,我们需要从剩余k-1个信息列分别下载(p-1)η k-3个比特
Figure PCTCN2018110067-appb-000094
其中i∈{1,2,...,f-1,f+1,...,k}且
Figure PCTCN2018110067-appb-000095
并从第一个校验列中下载(p-1)η k-3个冗余比特
Figure PCTCN2018110067-appb-000096
因此,共有(p-1)η k-3个比特需要下载.
Proof: Through Algorithm 1,
Figure PCTCN2018110067-appb-000090
And
Figure PCTCN2018110067-appb-000091
Bit
Figure PCTCN2018110067-appb-000092
Checksum set that can be the first checksum
Figure PCTCN2018110067-appb-000093
repair. Therefore, we need to download (p-1) η k-3 bits from the remaining k-1 information columns respectively
Figure PCTCN2018110067-appb-000094
Where i ∈ {1, 2, ..., f-1, f + 1, ..., k} and
Figure PCTCN2018110067-appb-000095
And download (p-1) η k-3 redundant bits from the first check column
Figure PCTCN2018110067-appb-000096
Therefore, a total of (p-1) η k-3 bits need to be downloaded.
对于t=1,2,…,d-k,
Figure PCTCN2018110067-appb-000097
比特
Figure PCTCN2018110067-appb-000098
可被校验集合
Figure PCTCN2018110067-appb-000099
修复,其中δ=d-k-t+1。因为
Figure PCTCN2018110067-appb-000100
For t = 1, 2, ..., dk,
Figure PCTCN2018110067-appb-000097
Bit
Figure PCTCN2018110067-appb-000098
Checkable set
Figure PCTCN2018110067-appb-000099
Repair where δ = dk-t + 1. because
Figure PCTCN2018110067-appb-000100
所以我们需要从校验列δ+1获取(p-1)η k-3个冗余比特
Figure PCTCN2018110067-appb-000101
对于列i∈{1,2,…,f-1},及对于
Figure PCTCN2018110067-appb-000102
在集合{0,1,…,η f-1-δη i-1-1,η f-δη i-1,η f-δη i-1+1,…,η f-1}
So we need to get (p-1) η k-3 redundant bits from the check column δ + 1
Figure PCTCN2018110067-appb-000101
For column i ∈ {1,2, ..., f-1}, and for
Figure PCTCN2018110067-appb-000102
In the set {0, 1, ..., η f-1 -δη i-1 -1, η f -δη i-1 , η f -δη i-1 +1, ..., η f -1}
中的所有值,需要(p-1)η k-3个比特
Figure PCTCN2018110067-appb-000103
而对于列i∈{f+1,f+2,…,k},及对于
Figure PCTCN2018110067-appb-000104
在集合{0,1,2,...,η f-1-1}中的所有值,需要(p-1)η k-3个比特
Figure PCTCN2018110067-appb-000105
All values in, require (p-1) η k-3 bits
Figure PCTCN2018110067-appb-000103
And for the column i ∈ {f + 1, f + 2, ..., k}, and for
Figure PCTCN2018110067-appb-000104
All values in the set {0,1,2, ..., η f-1 -1} require (p-1) η k-3 bits
Figure PCTCN2018110067-appb-000105
注意,对于
Figure PCTCN2018110067-appb-000106
Figure PCTCN2018110067-appb-000107
的比特
Figure PCTCN2018110067-appb-000108
在修复中已经被第一个校验列下载了,因此只需要从列δ+1(δ=1,2,…,d-k)下载(d-k)(p-1)η k-3个冗余位、从列i(i=1,2,…,f-1)下载(d-k)(p-1)η k+i-f-3个比特位。
Note that for
Figure PCTCN2018110067-appb-000106
with
Figure PCTCN2018110067-appb-000107
Bits
Figure PCTCN2018110067-appb-000108
In the repair, it has been downloaded by the first check column, so only the column δ + 1 (δ = 1, 2, ..., dk) needs to be downloaded (dk) (p-1) η k-3 redundant bits Download (dk) (p-1) η k + if-3 bits from column i (i = 1, 2, ..., f-1).
我们可以计算从d=k+(r-1)/2列中来修复信息列f下载的比特数是We can calculate the number of bits downloaded from the d = k + (r-1) / 2 column to repair the information column f.
Figure PCTCN2018110067-appb-000109
Figure PCTCN2018110067-appb-000109
Figure PCTCN2018110067-appb-000110
根据(12)中的编码矩阵和算法1,列k+1-f的修复带宽与列f相同。因此,我们只考虑
Figure PCTCN2018110067-appb-000111
的情况。根据定理11,当f增加时,修复带宽会增加。当f=1时,修复带宽是d(p-1)η k-3,它达到了(1)的最佳值。即使在
Figure PCTCN2018110067-appb-000112
最坏的情况下,修复带宽是
Figure PCTCN2018110067-appb-000113
when
Figure PCTCN2018110067-appb-000110
According to the coding matrix and algorithm 1 in (12), the repair bandwidth of column k + 1-f is the same as that of column f. So we only consider
Figure PCTCN2018110067-appb-000111
Case. According to Theorem 11, as f increases, the repair bandwidth increases. When f = 1, the repair bandwidth is d (p-1) η k-3 , which reaches the optimal value of (1). Even though
Figure PCTCN2018110067-appb-000112
In the worst case, the repair bandwidth is
Figure PCTCN2018110067-appb-000113
它严格小于(1)中的值(d+1)/d倍。因此,任何一个信息故障的修复带宽都可以达到(1)渐近的最优修复。It is strictly smaller than the value (d + 1) / d times in (1). Therefore, the repair bandwidth of any information fault can reach (1) asymptotic optimal repair.
应该注意的是,在提出的编码中,第一个奇偶校验列的奇偶校验集与RDP和偶数奇中的第一个奇偶列相同。所提出的编码和现有的二进制MDS阵列码之间的关键区别是其他奇偶列的构造。首先,与现有的二进制MDS阵列码相比,在提出的编码中,其他奇偶校验列的奇偶校验位不是与数组中的直线相对应的位元,而是对应于多边形线的位元。其次,被提出的编码中的行数可以被η k-2整除,这两个属性对于减少修复带宽是非常重要的。 It should be noted that, in the proposed encoding, the parity set of the first parity column is the same as the first parity column in RDP and even odd. The key difference between the proposed encoding and existing binary MDS array codes is the construction of other parity columns. First, compared with the existing binary MDS array codes, in the proposed coding, the parity bits of other parity columns are not the bits corresponding to the straight lines in the array, but the bits corresponding to the polygonal lines. . Second, the number of lines in the proposed encoding can be divisible by η k-2 . These two attributes are very important to reduce the repair bandwidth.
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。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 (7)

  1. 一种修复二进制码生成矩阵构造方法,其特征在于,所述修复二进制码生成矩阵构造方法包括:设构造码c 1(k,r,d,p),其中η=d-k+1,k≥3,r≥3是一个奇数,d=k+(r-1)/2和τ=(d-k+1) k-2,构造矩阵P k×r;其计算公式: A method for constructing a repair binary code generation matrix, characterized in that the method for constructing a repair binary code generation matrix includes: setting a construction code c 1 (k, r, d, p), where η = d-k + 1, k ≥3, r≥3 is an odd number, d = k + (r-1) / 2 and τ = (d-k + 1) k-2 , construct the matrix P k × r ; its calculation formula:
    Figure PCTCN2018110067-appb-100001
    Figure PCTCN2018110067-appb-100001
  2. 根据权利要求1所述的修复二进制码生成矩阵构造方法,其特征在于,对于j=k+1,k+2,…,k+r,每一个编码多项式s j(x)都在环C 中;让(i:j)={i,i+1,…,j}并根据列索引(i:j)生成P k×r的子矩阵P k×r(i:j),在P k×r中,子矩阵P k×r(η+1:2η-1)可由子矩阵P k×r(2:η)旋转180度得到,P k×r(2:η)中的最后一行是全为1的向量,并且P k×r(2:η)中第i行j列的元素的指数是第一行第j列的η i-1的倍数,其中i=2,3,…,k-1和j=1,2,…,d-k。 The method for constructing a repaired binary code generation matrix according to claim 1, wherein, for j = k + 1, k + 2, ..., k + r, each coding polynomial s j (x) is in a ring C Let (i: j) = {i, i + 1, ..., j} and generate a Pk × r sub-matrix Pk × r (i: j) based on the column index (i: j), where Pk In × r , the sub-matrix P k × r (η + 1: 2η-1) can be obtained by rotating the sub-matrix P k × r (2: η) by 180 degrees. The last row in P k × r (2: η) is A vector that is all 1, and the index of the element in the i-th row and j-th column in P k × r (2: η) is a multiple of η i-1 in the j-th row of the first row, where i = 2, 3, ..., k-1 and j = 1, 2, ..., dk.
  3. 根据权利要求1所述的修复二进制码生成矩阵构造方法,其特征在于,所述修复二进制码生成矩阵构造方法中信息位计算的额外位不需要存储,且用来计算冗余位。The method for constructing a repair binary code generation matrix according to claim 1, wherein the extra bits calculated by the information bits in the method for constructing a repair binary code generation matrix do not need to be stored and are used to calculate redundant bits.
  4. 一种修复二进制码生成矩阵修复方法,其特征在于,所述修复二进制码生成矩阵修复方法包括:对于0≤l≤pτ-1,j=1,2,…,r,第j个校验列的第l个校验集合分别定义如下P l,1={s l,1,s l,2,...,s l,k},
    Figure PCTCN2018110067-appb-100002
    其中2≤j≤d-k+1,
    Figure PCTCN2018110067-appb-100003
    其中d-k+2≤j≤r;假设第f个信息列失效,如果
    Figure PCTCN2018110067-appb-100004
    因lmodη f∈{0,1,2,...,η f-1-1},比特s l,f用第一个校验列修复;有因t=1,2,…,d-k,其lmodη f∈{tη f-1,tη f-1+1,...,(t+1)η f-1-1},比特s l,f用第d-k-t+2个校验列修复;如果
    Figure PCTCN2018110067-appb-100005
    因lmodη k+1-f∈{0,1,2,…,η k-f-1},比特s l,f用第一个校验列修复,有因t=1,2,…,d-k,其lmodη k+1-f∈{tη k-f,tη k-f+1,…,(t+1)η k-f-1} ,比特s l,f用第d-k+t+1个校验列修复。
    A repair method for repairing a binary code generation matrix, characterized in that the repair method for repairing a binary code generation matrix includes: for 0≤l≤pτ-1, j = 1, 2, ..., r, the j-th check column The l-th check set is defined as P l, 1 = {s l, 1 , sl, 2 , ..., sl, k },
    Figure PCTCN2018110067-appb-100002
    Where 2≤j≤d-k + 1,
    Figure PCTCN2018110067-appb-100003
    Where d-k + 2≤j≤r; assuming the fth information column is invalid, if
    Figure PCTCN2018110067-appb-100004
    Because lmodη f ∈ {0,1,2, ..., η f-1 -1}, bits s l, f are repaired with the first check column; there are factors t = 1,2, ..., dk, which lmodη f ∈ {tη f-1 , tη f-1 +1, ..., (t + 1) η f-1 -1}, bits s l, f are repaired with dk-t + 2 ;in case
    Figure PCTCN2018110067-appb-100005
    Since lmodη k + 1-f ∈ {0, 1, 2, ..., η kf -1}, bits s l, f are repaired with the first check column. There are factors t = 1, 2, ..., dk, which lmodη k + 1-f ∈ {tη kf , tη kf +1, ..., (t + 1) η kf -1}, and bits s l, f are repaired with the d-k + t + 1th check column.
  5. 根据权利要求4所述的修复二进制码生成矩阵修复方法,其特征在于,对lmodη f∈{0,1,2,...,η f-1-1}且l<(p-1)τ,比特s l,f可被第一个校验列的校验集合P l,1修复,需要从剩余k-1个信息列分别下载(p-1)η k-3个比特s l,f,其中i∈{1,2,...,f-1,f+1,...,k}且lmodη f∈{0,1,2,...,η f-1-1},并从第一个校验列中下载(p-1)η k-3个冗余比特s l,k+1lmodη f∈{0,1,2,…,η f-1-1},共有(p-1)η k-3个比特需要下载。 The repairing method for repairing a binary code generation matrix according to claim 4, characterized in that lmodη f ∈ {0, 1, 2, ..., η f-1 -1} and l <(p-1) τ The bits s l, f can be repaired by the check set P l, 1 of the first check column, and (p-1) η k-3 bits s l, f need to be downloaded from the remaining k-1 information columns, respectively . , Where i ∈ {1, 2, ..., f-1, f + 1, ..., k} and lmodη f ∈ {0, 1, 2, ..., η f-1 -1}, And download (p-1) η k-3 redundant bits s l, k + 1 lmodη f ∈ {0,1,2, ..., η f-1 -1} from the first check column, a total of (p-1) η k-3 bits need to be downloaded.
  6. 根据权利要求4所述的修复二进制码生成矩阵修复方法,其特征在于,所述修复二进制码生成矩阵修复方法中第一个奇偶校验列的奇偶校验集与RDP和偶数奇中的第一个奇偶列相同。The repair binary code generation matrix repair method according to claim 4, wherein the parity check set of the first parity column and the first of the RDP and even odd in the repair binary code generation matrix repair method The parity columns are the same.
  7. 根据权利要求4所述的修复二进制码生成矩阵修复方法,其特征在于,所述修复二进制码生成矩阵修复方法中其他奇偶校验列的奇偶校验位不是与数组中的直线相对应的位元,而是对应于多边形线的位元,在被提出的编码中的行数可以被η k-2整除。 The repair method for repairing a binary code generation matrix according to claim 4, wherein the parity bits of other parity columns in the repair method for repairing a binary code generation matrix are not bits corresponding to straight lines in the array , But the bit corresponding to the polygon line, the number of lines in the proposed encoding can be divisible by η k-2 .
PCT/CN2018/110067 2018-08-09 2018-10-12 Method for constructing repair binary code generator matrix and repair method WO2020029418A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810905992.0 2018-08-09
CN201810905992.0A CN109257050A (en) 2018-08-09 2018-08-09 A kind of reparation binary code generator matrix building method and restorative procedure

Publications (1)

Publication Number Publication Date
WO2020029418A1 true WO2020029418A1 (en) 2020-02-13

Family

ID=65050097

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/110067 WO2020029418A1 (en) 2018-08-09 2018-10-12 Method for constructing repair binary code generator matrix and repair method

Country Status (2)

Country Link
CN (1) CN109257050A (en)
WO (1) WO2020029418A1 (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
CN110750382B (en) * 2019-09-18 2020-10-30 华中科技大学 Minimum storage regeneration code coding method and system for improving data repair performance
CN113641531A (en) * 2021-07-27 2021-11-12 东莞理工学院 STAR code encoding method and decoding method thereof

Citations (1)

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

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2675069A1 (en) * 2012-06-15 2013-12-18 Alcatel Lucent Method for encoding with GLDPC codes based on reed-solomon component codes
CN107395207B (en) * 2017-07-12 2019-11-22 紫晟科技(深圳)有限公司 The MDS array code of more fault-tolerances encodes and restorative procedure

Patent Citations (1)

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

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HOU, H. ET AL.: "BASIC Regenerating Code: Binary Addition and Shift for Exact Repair", 2013 IEEE INTERNATIONAL SYMPOSIUM ON INFORMATION THEORY, 12 July 2013 (2013-07-12), pages 1621 - 1625, XP032496864, DOI: 10.1109/ISIT.2013.6620501 *
HOU, H. ET AL.: "Construction of Exact-BASIC Codes for Distributed Storage Systems at the MSR Point", 2013 IEEE INTERNATIONAL CONFERENCE ON BIG DATA, 9 October 2013 (2013-10-09), pages 33 - 38, XP032535107, DOI: 10.1109/BigData.2013.6691659 *
HOU, H. ET AL.: "Triple-Fault-Tolerant Binary MDS Array Codes with Asymptotically Optimal Repair", 2017 IEEE INTERNATIONAL SYMPOSIUM ON INFORMATION THEORY (ISIT, 30 June 2017 (2017-06-30), pages 839 - 843, XP033140160, ISSN: 2157-8117, DOI: 10.1109/ISIT.2017.8006646 *

Also Published As

Publication number Publication date
CN109257050A (en) 2019-01-22

Similar Documents

Publication Publication Date Title
Huang et al. Binary linear locally repairable codes
US10146618B2 (en) Distributed data storage with reduced storage overhead using reduced-dependency erasure codes
Tamo et al. Zigzag codes: MDS array codes with optimal rebuilding
WO2018171111A1 (en) Multi-fault tolerance mds array code encoding and repair method
CN109643258B (en) Multi-node repair using high-rate minimal storage erase code
US20210271557A1 (en) Data encoding, decoding and recovering method for a distributed storage system
WO2020029418A1 (en) Method for constructing repair binary code generator matrix and repair method
Gad et al. Repair-optimal MDS array codes over GF (2)
WO2018072294A1 (en) Method for constructing check matrix and method for constructing horizontal array erasure code
US10425106B2 (en) Balanced Reed-Solomon codes
Hou et al. A new design of binary MDS array codes with asymptotically weak-optimal repair
CN105356892B (en) The method and system of network code
Shahabinejad et al. A class of binary locally repairable codes
Hou et al. Triple-fault-tolerant binary MDS array codes with asymptotically optimal repair
CN108762978B (en) Grouping construction method of local part repeated cyclic code
Hou et al. A new construction of EVENODD codes with lower computational complexity
CN113258936B (en) Dual coding construction method based on cyclic shift
WO2020029423A1 (en) Construction method and repair method for repairing binary array code check matrix
WO2019227456A1 (en) Evenodd code constructing method
WO2020029417A1 (en) Method for encoding and framing binary mds array code
Darmawan et al. Low-depth random Clifford circuits for quantum coding against Pauli noise using a tensor-network decoder
WO2018029212A1 (en) Regenerating locally repairable codes for distributed storage systems
Yang et al. Hierarchical coding to enable scalability and flexibility in heterogeneous cloud storage
Chen et al. A new Zigzag MDS code with optimal encoding and efficient decoding
WO2017041232A1 (en) Encoding and decoding framework for binary cyclic code

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

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

Country of ref document: EP

Kind code of ref document: A1