WO2018072294A1 - Method for constructing check matrix and method for constructing horizontal array erasure code - Google Patents

Method for constructing check matrix and method for constructing horizontal array erasure code Download PDF

Info

Publication number
WO2018072294A1
WO2018072294A1 PCT/CN2016/110613 CN2016110613W WO2018072294A1 WO 2018072294 A1 WO2018072294 A1 WO 2018072294A1 CN 2016110613 W CN2016110613 W CN 2016110613W WO 2018072294 A1 WO2018072294 A1 WO 2018072294A1
Authority
WO
WIPO (PCT)
Prior art keywords
matrix
erasure code
check
horizontal array
constructing
Prior art date
Application number
PCT/CN2016/110613
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 WO2018072294A1 publication Critical patent/WO2018072294A1/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/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • 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

Definitions

  • the invention belongs to the technical field of computer information storage, in particular to a method for constructing a check matrix and a method for constructing a horizontal array erasure code.
  • RAID disk groups built with high storage density.
  • the reconstruction process takes a long time, often taking a day or more; especially in production systems, the reconstruction time is longer.
  • the possibility of failure of the second disk and the third disk that make up the RAID group is greatly increased; during the reconstruction process, one disk failure significantly increases the access load of other disks. The probability of causing other disk failures to increase dramatically increases the availability of the storage system.
  • erasure code For traditional data redundancy protection technology in large-capacity disk storage systems Insufficient, a more efficient data redundancy technology, the erasure code, appears in mass storage systems characterized by distributed, large-scale, and large-capacity disk storage.
  • the erasure code originated from the field of communication transmission, and is now gradually appearing in large-scale storage systems, especially distributed storage environments, for data redundancy protection.
  • the basic idea of erasure code technology is to divide a piece of data into k-block original data, and obtain m-block redundant data based on k-block original data redundancy calculation.
  • the storage system can recover the original k block data through the reconstruction algorithm, and the erasure code redundancy protection technology solves the problem that the traditional redundancy protection technology is not suitable for distribution.
  • the problem of producing a storage system is not limited to:
  • the method based on the erasure code has the advantages of low redundancy and high disk utilization.
  • the diversity of mass storage systems and the large-scale storage capacity requirements can better adapt to the distributed storage application environment. Therefore, in the case of the storage system, in the case of determining the size of the storage block and the desired fault tolerance, it is important to construct the erasure code.
  • a new matrix H composed of a unit matrix I r of f*t order and a matrix P on a line is a check matrix of the horizontal array erasure code:
  • each column vector of the sub-matrix P of the check matrix H of the horizontal array erasure code corresponds to one data element of the horizontal array erasure code, and each unit matrix I r
  • each row of the check matrix H of the horizontal array erasure code represents a check equation, that is, the symbol binary exclusive OR of the "1" corresponding horizontal array erasure code in the row Is 0.
  • I r ], where r f*t, Ir is an element matrix of r order, r is the number of check elements in the code .
  • Each row of the check matrix H represents a check equation which indicates that the binary exclusive OR of the symbols of the horizontal array erasure code corresponding to "1" in the row is "0". Therefore, the standard form of the check matrix H of the present invention also reflects which information elements are determined by the check elements.
  • the r rows of the check matrix H represent r check equations, and also represent the code words of the code determined by H. There are r check elements in it.
  • the horizontal array erasure code For the horizontal array erasure code, once the check matrix is determined, the horizontal array erasure code can be determined; and the array code is also a kind of linear block code, that is, through the check matrix, most of the properties of the corresponding array code can be Analysis shows.
  • the method described above first constructs a check matrix using a basic cyclic matrix, and then determines a corresponding horizontal array erasure code from the check matrix.
  • the invention constructs a corresponding check matrix according to the preset fault tolerance quantity and storage efficiency, and then constructs a horizontal array erasure code through the check matrix, and the beneficial effects are as follows: (1) The construction method described in the method is simple to implement, It can construct an array erasure code with theoretically unrestricted fault tolerance, and it is not necessary to satisfy strong constraints when constructing. (2) Using the check matrix constructed by this method, the horizontal array erasure code is obtained. The binary operation is used in the compilation operation, which has extremely high computational efficiency, and the method is simple and easy to implement. (3) After the horizontal array erasure code is determined, the update cost and the repair cost are fixed constants. As the size of the system expands or the capacity for fault tolerance increases. In summary, the method of the present invention can improve the reliability of the storage system, and is suitable for a case where the amount of data of the company or the institution is large and the data stability is high.
  • FIG. 1 is a schematic diagram of elements of a horizontal array erasure code according to the present invention.
  • FIG. 2 is a schematic diagram of elements of a 3*4 horizontal array erasure code according to the present invention.
  • FIG. 3 is a correspondence diagram of a horizontal array erasure code element of the 3*4 of the present invention and its check matrix.
  • any one of the horizontal array erasure codes or only the data elements are stored, or only the check elements are stored, there is no case where there are data elements and check elements in one column.
  • all of the portions that store data elements are referred to as data array portions, and all portions that store check elements are referred to as check array portions.
  • the symbol d i represents the i-th data element, all data element numbers are arranged in row priority from 1 in the data array portion;
  • the symbol c j represents the j-th check element, and all check elements
  • the sequence numbers are ranked first in column in the check array section with column priority.
  • i and j are positive integers, and 1 ⁇ i ⁇ m ⁇ n, 1 ⁇ j ⁇ m ⁇ k.
  • Each column vector of the matrix P corresponds to one data element of the horizontal array erasure code
  • each column vector of the identity matrix Ir corresponds to one check element.
  • one column corresponds to one storage node. When a node fails, it means that all the elements on the corresponding column of the node are invalid or become unknown.
  • check matrix H of the horizontal array erasure code is as follows:
  • the check matrix H can obviously be divided into two sub-matrices, P and I, where I is a third-order identity matrix I 3 , and P is a sub-matrix after the H matrix is removed from I 3 , as shown in FIG. 3 .
  • I is a third-order identity matrix I 3
  • P is a sub-matrix after the H matrix is removed from I 3 , as shown in FIG. 3 .
  • each column vector of the sub-matrix P of the check matrix H of the horizontal array erasure code corresponds to the horizontal array erasure code a data element, and each column vector of the identity matrix Ir corresponds to a check element; each row of the check matrix H of the horizontal array erasure code represents a check equation, that is, a corresponding level of "1" in the row
  • the symbol binary exclusive OR of the array erasure code is 0.
  • This check matrix H is suitable for use in an array memory system of 2 rows and 3 columns. Horizontal array The relationship between the data elements of the erasure code, the check elements and the columns in the check matrix can be obtained by linear equations (2) of the linear relationship between the check elements and the data elements in the array code system:
  • the element array structure of the horizontal array erasure code is as follows:
  • the horizontal array erasure code determined by the check matrix H is suitable for an array of 2 rows and 6 columns of array storage systems.
  • the linear equations of the linear relationship between the check elements and the data elements in the array code system can be obtained (3) Show:
  • the element array structure of the horizontal array erasure code is as follows:
  • the basic basic cyclic matrix has seven different basic columns, namely I, I 1 , ..., I 6 , where I is a 7-order identity matrix; therefore, three 7-order unit matrices are arranged in a column to form a matrix T 1 as follows Shown as follows:
  • T 2 The 7-step cycle external matrix, in addition to six other I substantially distinct columns I 1, I 2, ising, I 6, in row major order are combined into a matrix, denoted as T 2; T 2 row matrix There are (3-1) sub-matrices on the column, and the column contains 3 sub-matrices, as shown below:
  • the check matrix is analyzed, wherein the P matrix has 3 columns, so the storage array has 3 rows, that is, the storage array has a block size of 3; the cyclic matrix has 7th order, so it can be determined that the data array portion of the storage array has 7 columns;
  • the I matrix in the matrix is a 21-order identity matrix, which corresponds to 21 check elements, that is, the check array portion of the memory array also has 7 columns.
  • the linear relationship between the elements in the horizontal array erasure code is also determined, as shown by the linear equations (4):
  • the element array structure of the horizontal array erasure code is as follows:

Landscapes

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

Abstract

A method for constructing a check matrix and a method for constructing a horizontal array erasure code. A check matrix H of a horizontal array erasure code may be expressed in a standard form: H=[P|Ir]; each row of the check matrix H represents a check equation, which indicates that the binary XOR sum of code elements of a horizontal array erasure code corresponding to "1" in the row is "0". The method for constructing a check matrix of a horizontal array erasure code is capable of constructing a corresponding check matrix of a horizontal erasable code according to a preset fault-tolerant quantity and storage efficiency, and then constructing a corresponding horizontal array erasure code. The construction method is simple to implement, and capable of constructing an array code having a theoretically unrestricted fault tolerance capability; moreover, no strict constraint condition needs to be satisfied during construction, and the operational efficiency is very high; after the array code is determined, the update cost and the restoration cost are fixed constants and will not increase with the expansion of the scale of the system or the improvement of the fault tolerance capability.

Description

一种校验矩阵的构造方法及水平阵列纠删码的构造方法Method for constructing check matrix and construction method of horizontal array erasure code 技术领域Technical field
本发明属于计算机信息存储技术领域,具体是一种校验矩阵的构造方法及水平阵列纠删码的构造方法。The invention belongs to the technical field of computer information storage, in particular to a method for constructing a check matrix and a method for constructing a horizontal array erasure code.
背景技术Background technique
随着网络和服务器的迅速成长,数据的容量越来越大,数据的重要性和安全性也更加得到重视。为了应对由数据量的快速增长而带来的数据存储可靠性问题,海量存储系统必须能够提供安全的存储服务、以及持续的在线运行和高效、可靠的容错机制;同时也为了提高数据访问的并发效率和降低成本,通常有效的做法是使用多个存储节点共同构建一个存储系统,该存储系统通常是基于网络的分布式存储系统,其雏形可以追溯到集中式的RAID(Redundant Array of Inexpensive Disk,廉价冗余磁盘阵列)系统。With the rapid growth of networks and servers, the capacity of data is increasing, and the importance and security of data is also being taken more seriously. In order to cope with the problem of data storage reliability caused by the rapid growth of data volume, mass storage systems must be able to provide secure storage services, as well as continuous online operation and efficient and reliable fault tolerance mechanism. At the same time, in order to improve the concurrency of data access. Efficiency and cost reduction, it is usually effective to build a storage system using multiple storage nodes. The storage system is usually a network-based distributed storage system, and its prototype can be traced back to the centralized RAID (Redundant Array of Inexpensive Disk). Cheap redundant disk array) system.
采用高存储密度构建的RAID磁盘组,出现磁盘故障需要修正TB级别的数据时重建过程需要的时间较长,常常需要一天或者更长的时间;特别是在生产系统中,重建时间更长。在长时间重建大容量存储内容时,组成RAID组的第二个磁盘、第三个磁盘出现故障的可能性会大大增加;在重建过程中,一个磁盘故障明显加大了其它磁盘的访问负载,使得其它磁盘故障出现的概率急剧增加,较大的影响了存储系统的可用性。RAID disk groups built with high storage density. When a disk failure needs to be corrected for terabytes of data, the reconstruction process takes a long time, often taking a day or more; especially in production systems, the reconstruction time is longer. When rebuilding large-capacity storage content for a long time, the possibility of failure of the second disk and the third disk that make up the RAID group is greatly increased; during the reconstruction process, one disk failure significantly increases the access load of other disks. The probability of causing other disk failures to increase dramatically increases the availability of the storage system.
针对传统数据冗余保护技术在大容量磁盘存储系统中所表现出的 不足,以分布式、大规模、大容量磁盘存储为特点的海量存储系统中出现了一种更加高效的数据冗余技术——纠删码。纠删码起源于通信传输领域,目前逐渐出现在大规模存储系统中,特别是分布式存储环境,用于实现数据的冗余保护。纠删码技术基本思想是将一份数据划分为k块原始的数据,基于k块原始数据冗余计算获得m块冗余数据。对于这k+m块数据,其中任意的m块元素出错时,存储系统均可以通过重构算法恢复出原来的k块数据,纠删码冗余保护技术解决了传统冗余保护技术不适于分布式生产存储系统的问题。For traditional data redundancy protection technology in large-capacity disk storage systems Insufficient, a more efficient data redundancy technology, the erasure code, appears in mass storage systems characterized by distributed, large-scale, and large-capacity disk storage. The erasure code originated from the field of communication transmission, and is now gradually appearing in large-scale storage systems, especially distributed storage environments, for data redundancy protection. The basic idea of erasure code technology is to divide a piece of data into k-block original data, and obtain m-block redundant data based on k-block original data redundancy calculation. For the k+m block data, when any m block element error occurs, the storage system can recover the original k block data through the reconstruction algorithm, and the erasure code redundancy protection technology solves the problem that the traditional redundancy protection technology is not suitable for distribution. The problem of producing a storage system.
基于纠删码的方法与传统的镜像、副本技术相比,具有冗余度低、磁盘利用率高等优点。针对云计算、大数据业务对海量存储系统的多样性、大规模存储容量需求,能够较好的适应分布式存储应用环境。因此,在存储系统中,确定存储条块尺寸和期望的容错能力的情况下,构造纠删码具有重要意义。Compared with the traditional mirroring and copying technology, the method based on the erasure code has the advantages of low redundancy and high disk utilization. For the cloud computing and big data services, the diversity of mass storage systems and the large-scale storage capacity requirements can better adapt to the distributed storage application environment. Therefore, in the case of the storage system, in the case of determining the size of the storage block and the desired fault tolerance, it is important to construct the erasure code.
发明内容Summary of the invention
本发明的目的是,提供适用于在确定的存储条块尺寸和期望的容错能力的预设条件下的一种水平阵列纠删码的校验矩阵的构造方法,及得出相应的水平阵列纠删码的构造方法。It is an object of the present invention to provide a method for constructing a check matrix of a horizontal array erasure code suitable for a predetermined storage block size and a desired fault tolerance, and to obtain a corresponding horizontal array correction The construction method of the code deletion.
为实现上述目的,本发明所述水平阵列纠删码校验矩阵的构造方法的具体技术方案为:所述校验矩阵对应的存储阵列具有m行,容错能力为f,其中m和f为正整数;设I,I1,I2,…In-1均为n阶基本循环矩阵D的循环矩阵基本列,其中I=In为单位矩阵;所述方法的具体步骤为:To achieve the above objective, the specific technical solution of the method for constructing the horizontal array erasure code check matrix of the present invention is: the memory array corresponding to the check matrix has m rows, and the fault tolerance is f, wherein m and f are positive An integer; let I, I 1 , I 2 , ... I n-1 are the basic columns of the cyclic matrix of the n- th order basic circulant matrix D, where I = I n is a unit matrix; the specific steps of the method are:
S1:将f个t阶循环矩阵的基本列I排成一列,构成的矩阵记作T1S1: The basic columns I of the f t-th order cyclic matrices are arranged in a column, and the matrix formed is denoted as T 1 ;
其中t为正整数,t=f*(m-1)+1;Where t is a positive integer, t=f*(m-1)+1;
S2:将t阶循环矩阵中除I外的另外f*(m-1)个相异基本列I1,I2,……,If* (m-1),以行优先的顺序组合成一个矩阵,记作T2;矩阵T2行上有(m-1)个子矩阵,列上包含f个子矩阵;S2: The other f*(m-1) distinct basic columns I 1 , I 2 , . . . , I f* (m-1) other than I in the t-order cyclic matrix are combined in a row-first order. a matrix, denoted as T 2 ; there are (m-1) sub-matrices on the matrix T 2 row, and f sub-matrices on the column;
S3:将T1、T2两个矩阵在行上进行拼接,记作P=[T1|T2];S3: splicing two matrices T 1 and T 2 on a line, denoted as P=[T 1 |T 2 ];
S4:将f*t阶的单位矩阵Ir,与矩阵P在行上进行拼接组合构成的新矩阵H,即是水平阵列纠删码的校验矩阵:S4: A new matrix H composed of a unit matrix I r of f*t order and a matrix P on a line is a check matrix of the horizontal array erasure code:
Figure PCTCN2016110613-appb-000001
Figure PCTCN2016110613-appb-000001
利用以上方法所得出的一种水平阵列纠删码的构造方法,所述水平阵列纠删码的所有数据元素序号在数据阵列部分中以行优先进行排列,所有校验元素序号在校验阵列部分中以列优先进行排列,其特征在于:所述水平阵列纠删码的校验矩阵H的子矩阵P的每一个列向量对应水平阵列纠删码的一个数据元素,而单位矩阵Ir的每一个列向量对应一个校验元素;所述水平阵列纠删码的校验矩阵H每一行代表一个校验方程,即该行中“1”相对应水平阵列纠删码的码元二进制异或和为0。Using a method for constructing a horizontal array erasure code obtained by the above method, all data element numbers of the horizontal array erasure code are arranged in a row priority in the data array portion, and all check element numbers are in the check array portion. The column is preferentially arranged, wherein each column vector of the sub-matrix P of the check matrix H of the horizontal array erasure code corresponds to one data element of the horizontal array erasure code, and each unit matrix I r One column vector corresponds to one check element; each row of the check matrix H of the horizontal array erasure code represents a check equation, that is, the symbol binary exclusive OR of the "1" corresponding horizontal array erasure code in the row Is 0.
本发明所述的校验矩阵H可表示为标准形式:H=[P|Ir],其中r=f*t,Ir为r阶的单位矩阵,r为编码中校验元素的个数。校验矩阵H的每一行都代表了一个校验方程,它表示该行中“1”相对应的水平阵列纠删码的码元的二进制异或和为“0”。因此,本发明所述校验矩阵H的标准形式还反映了校验元由哪些信息元决定,校验矩阵H的r行代表了r个校验方程,也表示由H决定的码的码字中有r个校验元。 The check matrix H according to the present invention can be expressed as a standard form: H=[P|I r ], where r=f*t, Ir is an element matrix of r order, r is the number of check elements in the code . Each row of the check matrix H represents a check equation which indicates that the binary exclusive OR of the symbols of the horizontal array erasure code corresponding to "1" in the row is "0". Therefore, the standard form of the check matrix H of the present invention also reflects which information elements are determined by the check elements. The r rows of the check matrix H represent r check equations, and also represent the code words of the code determined by H. There are r check elements in it.
对于水平阵列纠删码,校验矩阵一旦确定,水平阵列纠删码就可以被确定;而阵列码也是一类线性分组码,即通过校验矩阵,其对应的阵列码的大部分性质均可以分析得出。以上所述的方法是先利用基本循环矩阵构建出校验矩阵,再由校验矩阵确定出对应的水平阵列纠删码。For the horizontal array erasure code, once the check matrix is determined, the horizontal array erasure code can be determined; and the array code is also a kind of linear block code, that is, through the check matrix, most of the properties of the corresponding array code can be Analysis shows. The method described above first constructs a check matrix using a basic cyclic matrix, and then determines a corresponding horizontal array erasure code from the check matrix.
本发明根据预设的容错数量和存储效率构造出相应的校验矩阵,进而通过校验矩阵构造出水平阵列纠删码,其有益效果是:(1)本方法所述的构造方法实现简单,能构造出容错能力在理论上不受限制的阵列纠删码,且构造时也无需满足很强的约束条件;(2)使用本方法构造出的校验矩阵,得出水平阵列纠删码的编译运算时均使用二进制的异或运算,具有极高的运算效率,且方法简洁易于程序实现;(3)在水平阵列纠删码确定后,其更新代价和修复代价为一个固定常量,不会随着系统规模的扩大或容错能力的提高而增加。总之,本发明所述方法能够提高存储系统的可靠性,适于公司或机构等数据量大且对数据稳定性要求高的情况。The invention constructs a corresponding check matrix according to the preset fault tolerance quantity and storage efficiency, and then constructs a horizontal array erasure code through the check matrix, and the beneficial effects are as follows: (1) The construction method described in the method is simple to implement, It can construct an array erasure code with theoretically unrestricted fault tolerance, and it is not necessary to satisfy strong constraints when constructing. (2) Using the check matrix constructed by this method, the horizontal array erasure code is obtained. The binary operation is used in the compilation operation, which has extremely high computational efficiency, and the method is simple and easy to implement. (3) After the horizontal array erasure code is determined, the update cost and the repair cost are fixed constants. As the size of the system expands or the capacity for fault tolerance increases. In summary, the method of the present invention can improve the reliability of the storage system, and is suitable for a case where the amount of data of the company or the institution is large and the data stability is high.
附图说明DRAWINGS
附图用来提供对本发明的进一步理解,并不构成对本发明的限制。The drawings are intended to provide a further understanding of the invention and are not intended to limit the invention.
图1为本发明所述水平阵列纠删码的元素示意图。1 is a schematic diagram of elements of a horizontal array erasure code according to the present invention.
图2为本发明3*4的水平阵列纠删码的元素示意图。2 is a schematic diagram of elements of a 3*4 horizontal array erasure code according to the present invention.
图3为本发明3*4的水平阵列纠删码元素与其校验矩阵的对应关系。FIG. 3 is a correspondence diagram of a horizontal array erasure code element of the 3*4 of the present invention and its check matrix.
具体实施方式detailed description
下面结合实施例,对本发明的实施作进一步的描述。 The implementation of the present invention will be further described below in conjunction with the embodiments.
在水平阵列纠删码中的任意一列,或者仅存储数据元素,或者仅存储校验元素,不会存在一列上即有数据元素又有校验元素的情况。存储阵列中,全部存储数据元素的部分称为数据阵列部分,而全部存储校验元素的部分称为校验阵列部分。如图1所示,符号di表示第i个数据元素,所有数据元素序号在数据阵列部分中从1开始以行优先进行排列;符号cj表示第j个校验元素,而所有校验元素序号在校验阵列部分中从1开始以列优先进行排列。其中,i和j为正整数,且1≤i≤m·n,1≤j≤m·k。In any one of the horizontal array erasure codes, or only the data elements are stored, or only the check elements are stored, there is no case where there are data elements and check elements in one column. In the storage array, all of the portions that store data elements are referred to as data array portions, and all portions that store check elements are referred to as check array portions. As shown in FIG. 1, the symbol d i represents the i-th data element, all data element numbers are arranged in row priority from 1 in the data array portion; the symbol c j represents the j-th check element, and all check elements The sequence numbers are ranked first in column in the check array section with column priority. Where i and j are positive integers, and 1 ≤ i ≤ m·n, 1 ≤ j ≤ m·k.
水平阵列纠删码与其校验矩阵的对应关系:本发明所述的校验矩阵H可表示为标准形式:H=[P|Ir],Ir为r阶的单位矩阵,r为编码中校验元素的个数。矩阵P的每一个列向量对应水平阵列纠删码的一个数据元素,而单位矩阵Ir的每一个列向量对应一个校验元素。通常,在阵列式存储系统中,一列即对应一个存储节点,当有某个节点失效时即意味着该节点对应的列上的元素全部失效或变为未知状态。The corresponding relationship between the horizontal array erasure code and its check matrix: the check matrix H of the present invention can be expressed as a standard form: H=[P|I r ], Ir is an element matrix of r order, and r is in the code The number of check elements. Each column vector of the matrix P corresponds to one data element of the horizontal array erasure code, and each column vector of the identity matrix Ir corresponds to one check element. Generally, in an array storage system, one column corresponds to one storage node. When a node fails, it means that all the elements on the corresponding column of the node are invalid or become unknown.
例如,假设一个尺寸为3*4的存储阵列,其中的前3列用于原始数据存储,最后1列存储计算产生的校验数据,如图2所示。设三个校验元和一个数据元的校验关系为如下方程组(1):For example, suppose a storage array of size 3*4, with the first 3 columns for raw data storage and the last column for storing calculated check data, as shown in Figure 2. Let the check relationship of three check elements and one data element be the following equation group (1):
Figure PCTCN2016110613-appb-000002
Figure PCTCN2016110613-appb-000002
则该水平阵列纠删码的校验矩阵H如下所示:Then the check matrix H of the horizontal array erasure code is as follows:
Figure PCTCN2016110613-appb-000003
Figure PCTCN2016110613-appb-000003
该例中,校验矩阵H显然也可以划分为P和I两个子矩阵,其中的I为三阶单位矩阵I3,P为H矩阵去除I3后的子矩阵,如图3所示出本校 验矩阵各列与水平阵列纠删码元素的对应关系。In this example, the check matrix H can obviously be divided into two sub-matrices, P and I, where I is a third-order identity matrix I 3 , and P is a sub-matrix after the H matrix is removed from I 3 , as shown in FIG. 3 . The correspondence between the columns of the check matrix and the horizontal array erasure code elements.
实施例一 Embodiment 1
要求构造一个容错能力f=1的水平阵列纠删码,且水平阵列纠删码的条块尺寸m为2。在此条件下构造校验矩阵的步骤如下:It is required to construct a horizontal array erasure code with a fault tolerance of f=1, and the block size m of the horizontal array erasure code is 2. The steps to construct the check matrix under this condition are as follows:
S1:将1个t阶循环矩阵的基本列I排成一列,构成的矩阵记作T1;其中t=1*(2-1)+1=2;2阶基本循环矩阵有2个不同的基本列,分别为I,I1,其中I为2阶单位矩阵;因此将1个2阶单位矩阵排成一列而形成矩阵T1:T1=(I)S1: The basic column I of one t-th order cyclic matrix is arranged in a column, and the formed matrix is denoted as T 1 ; wherein t=1*(2-1)+1=2; the second-order basic cyclic matrix has two different The basic columns are I, I 1 , where I is a 2nd order identity matrix; therefore, a 2nd order identity matrix is arranged in a column to form a matrix T 1 : T 1 = (I)
S2:将2阶循环矩阵中除I外的另外1个相异基本列I1,以行优先的顺序组合成一个矩阵,记作T2;矩阵T2行上有(2-1)个子矩阵,列上包含1个子矩阵,如下所示:T2=I1 S2: Combine another dissimilar basic column I 1 other than I in the second-order cyclic matrix into a matrix in a row-first order, denoted as T 2 ; and (2-1) sub-matrices on the matrix T 2 row The column contains 1 submatrix as follows: T 2 = I 1
S3:将T1、T2两个矩阵在行上进行拼接,得到矩阵P如下:S3: splicing the two matrices T 1 and T 2 on the line, and obtaining the matrix P as follows:
P=(T1|T2)=(I|I1)P=(T 1 |T 2 )=(I|I 1 )
S4:将1*2阶的单位矩阵I2,与矩阵P在行上进行拼接组合构成如下所示的新矩阵H,即是阵列纠删码的校验矩阵:S4: Combining the unit matrix I 2 of the 1*2 order with the matrix P on the line to form a new matrix H as shown below, that is, a check matrix of the array erasure code:
Figure PCTCN2016110613-appb-000004
Figure PCTCN2016110613-appb-000004
至此,校验矩阵H被确定,而相应的阵列纠删码也可被确定下来:所述水平阵列纠删码的校验矩阵H的子矩阵P的每一个列向量对应水平阵列纠删码的一个数据元素,而单位矩阵Ir的每一个列向量对应一个校验元素;所述水平阵列纠删码的校验矩阵H每一行代表一个校验方程,即该行中“1”相对应水平阵列纠删码的码元二进制异或和为0。At this point, the check matrix H is determined, and the corresponding array erasure code can also be determined: each column vector of the sub-matrix P of the check matrix H of the horizontal array erasure code corresponds to the horizontal array erasure code a data element, and each column vector of the identity matrix Ir corresponds to a check element; each row of the check matrix H of the horizontal array erasure code represents a check equation, that is, a corresponding level of "1" in the row The symbol binary exclusive OR of the array erasure code is 0.
本校验矩阵H适用在2行3列的阵列式存储系统中。根据水平阵列 纠删码的数据元素、校验元素与其校验矩阵中各列的关系,可得出在该阵列码体系下,各校验元素和数据元素的线性关系线性方程组(2)所示:This check matrix H is suitable for use in an array memory system of 2 rows and 3 columns. Horizontal array The relationship between the data elements of the erasure code, the check elements and the columns in the check matrix can be obtained by linear equations (2) of the linear relationship between the check elements and the data elements in the array code system:
Figure PCTCN2016110613-appb-000005
Figure PCTCN2016110613-appb-000005
该水平阵列纠删码的元素阵列结构如下:The element array structure of the horizontal array erasure code is as follows:
Figure PCTCN2016110613-appb-000006
Figure PCTCN2016110613-appb-000006
实施例二 Embodiment 2
要求构造一个容错能力f=2的阵列纠删码,且条块尺寸m也为2。在此条件下构造校验矩阵的步骤如下:It is required to construct an array erasure code with a fault tolerance of f=2, and the block size m is also 2. The steps to construct the check matrix under this condition are as follows:
S1:将2个t阶循环矩阵的基本列I排成一列,构成的矩阵记作T1;其中t=2*(2-1)+1=3;3阶基本循环矩阵有3个不同的基本列,分别为I,I1,I2,其中I为3阶单位矩阵;因此将2个3阶单位矩阵排成一列而形成矩阵T1,如下所示:
Figure PCTCN2016110613-appb-000007
S1: The basic columns I of the two t-th order cyclic matrices are arranged in a column, and the formed matrix is denoted as T 1 ; wherein t=2*(2-1)+1=3; the third-order basic cyclic matrix has three different The basic columns are I, I 1 , I 2 , where I is a 3rd order identity matrix; therefore, two 3rd order identity matrices are arranged in a column to form a matrix T 1 as follows:
Figure PCTCN2016110613-appb-000007
S2:将3阶循环矩阵中除I外的另外2个相异基本列I1,I2,以行优先的顺序组合成一个矩阵,记作T2;矩阵T2行上有(2-1)个子矩阵,列上包含2个子矩阵,如下所示:
Figure PCTCN2016110613-appb-000008
S2: The third-order matrix except the I cycle outside the other two substantially distinct columns I 1, I 2, in row major order are combined into a matrix, denoted as T 2; with a (2-1 rows on the matrix T 2 ) Submatrices with 2 submatrices on the column, as shown below:
Figure PCTCN2016110613-appb-000008
S3:将T1、T2两个矩阵在行上进行拼接,得到矩阵P如下:S3: splicing the two matrices T 1 and T 2 on the line, and obtaining the matrix P as follows:
Figure PCTCN2016110613-appb-000009
Figure PCTCN2016110613-appb-000009
S4:将2*3阶的单位矩阵Ir,与矩阵P在行上进行拼接组合构成如下所示的新矩阵H,即是阵列纠删码的校验矩阵: S4: Combining the 2*3 order identity matrix I r with the matrix P on the line to form a new matrix H as shown below, that is, a check matrix of the array erasure code:
Figure PCTCN2016110613-appb-000010
Figure PCTCN2016110613-appb-000010
显然,该校验矩阵H确定的水平阵列纠删码适用于2行6列的阵列式存储系统中,在这样的存储阵列中有3列用于存储数据元素而另外3列存储校验元素。根据水平阵列纠删码的数据元素、校验元素与其校验矩阵中各列的关系,可得出在该阵列码体系下,各校验元素和数据元素的线性关系线性方程组(3)所示:Obviously, the horizontal array erasure code determined by the check matrix H is suitable for an array of 2 rows and 6 columns of array storage systems. In such a memory array, there are 3 columns for storing data elements and another 3 columns for storing check elements. According to the relationship between the data elements of the horizontal array erasure code, the check elements and the columns in the check matrix, the linear equations of the linear relationship between the check elements and the data elements in the array code system can be obtained (3) Show:
Figure PCTCN2016110613-appb-000011
Figure PCTCN2016110613-appb-000011
该水平阵列纠删码的元素阵列结构如下:The element array structure of the horizontal array erasure code is as follows:
Figure PCTCN2016110613-appb-000012
Figure PCTCN2016110613-appb-000012
实施例三Embodiment 3
要求构造一个容错能力f=3的阵列纠删码,且条块尺寸m也为3。在此条件下构造校验矩阵的步骤如下:It is required to construct an array erasure code with a fault tolerance of f=3, and the block size m is also 3. The steps to construct the check matrix under this condition are as follows:
S1:将3个t阶循环矩阵的基本列I排成一列,构成的矩阵记作T1;其中t=3*(3-1)+1=7;在此例中采用t=7,7阶基本循环矩阵有7个不同的基本列,分别为I,I1,…,I6,其中I为7阶单位矩阵;因此将3个7阶单位矩阵排成一列而形成矩阵T1,如下所示: S1: The basic columns I of the three t-th order cyclic matrices are arranged in a row, and the formed matrix is denoted as T 1 ; where t=3*(3-1)+1=7; in this example, t=7,7 is used. The basic basic cyclic matrix has seven different basic columns, namely I, I 1 , ..., I 6 , where I is a 7-order identity matrix; therefore, three 7-order unit matrices are arranged in a column to form a matrix T 1 as follows Shown as follows:
Figure PCTCN2016110613-appb-000013
Figure PCTCN2016110613-appb-000013
S2:将7阶循环矩阵中除I外的另外6个相异基本列I1,I2,……,I6,以行优先的顺序组合成一个矩阵,记作T2;矩阵T2行上有(3-1)个子矩阵,列上包含3个子矩阵,如下所示:S2: The 7-step cycle external matrix, in addition to six other I substantially distinct columns I 1, I 2, ......, I 6, in row major order are combined into a matrix, denoted as T 2; T 2 row matrix There are (3-1) sub-matrices on the column, and the column contains 3 sub-matrices, as shown below:
Figure PCTCN2016110613-appb-000014
Figure PCTCN2016110613-appb-000014
S3:将T1、T2两个矩阵在行上进行拼接,得到矩阵P如下:S3: splicing the two matrices T 1 and T 2 on the line, and obtaining the matrix P as follows:
Figure PCTCN2016110613-appb-000015
Figure PCTCN2016110613-appb-000015
S4:将3*7阶的单位矩阵I21,与矩阵P在行上进行拼接组合构成如下所示的新矩阵H,即是阵列纠删码的校验矩阵:S4: Combining the 3*7-order unit matrix I 21 with the matrix P on the line to form a new matrix H as shown below, that is, a check matrix of the array erasure code:
Figure PCTCN2016110613-appb-000016
Figure PCTCN2016110613-appb-000016
分析该校验矩阵,其中P矩阵有3列,因此存储阵列有3行,即存储阵列的条块尺寸为3;循环矩阵为7阶,因此可以确定存储阵列的数据阵列部分有7列;校验矩阵中的I矩阵为21阶的单位矩阵,这对应了21个校验元素,即存储阵列的校验阵列部分也有7列。此外,在该校验矩阵确定时,水平阵列纠删码中各元素之间的线性关系也就被确定了,如线性方程组(4)所示: The check matrix is analyzed, wherein the P matrix has 3 columns, so the storage array has 3 rows, that is, the storage array has a block size of 3; the cyclic matrix has 7th order, so it can be determined that the data array portion of the storage array has 7 columns; The I matrix in the matrix is a 21-order identity matrix, which corresponds to 21 check elements, that is, the check array portion of the memory array also has 7 columns. In addition, when the check matrix is determined, the linear relationship between the elements in the horizontal array erasure code is also determined, as shown by the linear equations (4):
Figure PCTCN2016110613-appb-000017
Figure PCTCN2016110613-appb-000017
该水平阵列纠删码的元素阵列结构如下:The element array structure of the horizontal array erasure code is as follows:
Figure PCTCN2016110613-appb-000018
Figure PCTCN2016110613-appb-000018
以上结合对本发明进行了示例性描述,显然本发明具体实现并不受上述方式的限制,只要采用了本发明的方法构思和技术方案进行的各种非实质性的改进,或未经改进将本发明的构思和技术方案直接应用于其它场合的,均在本发明的保护范围之内。 The present invention has been described in connection with the embodiments of the present invention, and it is obvious that the invention is not limited by the above-described manner, as long as various insubstantial improvements made by the method concept and technical solution of the present invention are adopted, or the present invention is not improved. The concept and technical solution of the invention are directly applicable to other occasions, and are all within the scope of the invention.

Claims (2)

  1. 一种校验矩阵的构造方法,所述校验矩阵对应的存储阵列具有m行,容错能力为f,其中m和f为正整数;设I,I1,I2,…In-1均为n阶基本循环矩阵D的循环矩阵基本列,其中I=In为单位矩阵;所述方法的特征在于:所述方法的具体步骤为:A method of construction of a parity check matrix, the parity check matrix corresponding to the memory array has m rows, fault tolerance is f, wherein m and f are positive integers; set I, I 1, I 2, ... I n-1 are The basic matrix of the cyclic matrix of the n-th order basic cyclic matrix D, wherein I=I n is a unit matrix; the method is characterized in that: the specific steps of the method are:
    S1:将f个t阶循环矩阵的基本列I排成一列,构成的矩阵记作T1;其中t为正整数,t=f*(m-1)+1;S1: The basic columns I of the f t-th order cyclic matrices are arranged in a column, and the formed matrix is denoted by T 1 ; wherein t is a positive integer, t=f*(m-1)+1;
    S2:将t阶循环矩阵中除I外的另外f*(m-1)个相异基本列I1,I2,……,If* (m-1),以行优先的顺序组合成一个矩阵,记作T2;矩阵T2行上有(m-1)个子矩阵,列上包含f个子矩阵;S2: The other f*(m-1) distinct basic columns I 1 , I 2 , . . . , I f* (m-1) other than I in the t-order cyclic matrix are combined in a row-first order. a matrix, denoted as T 2 ; there are (m-1) sub-matrices on the matrix T 2 row, and f sub-matrices on the column;
    S3:将T1、T2两个矩阵在行上进行拼接,记作P=[T1|T2];S3: splicing two matrices T 1 and T 2 on a line, denoted as P=[T 1 |T 2 ];
    S4:将f*t阶的单位矩阵Ir,与矩阵P在行上进行拼接组合构成的新矩阵H,即是水平阵列纠删码的校验矩阵:S4: A new matrix H composed of a unit matrix I r of f*t order and a matrix P on a line is a check matrix of the horizontal array erasure code:
    Figure PCTCN2016110613-appb-100001
    Figure PCTCN2016110613-appb-100001
  2. 利用权利要求1所述的一种水平阵列纠删码的构造方法,所述水平阵列纠删码的所有数据元素序号在数据阵列部分中以行优先进行排列,所有校验元素序号在校验阵列部分中以列优先进行排列,其特征在于:所述水平阵列纠删码的校验矩阵H的子矩阵P的每一个列向量对应水平阵列纠删码的一个数据元素,而单位矩阵Ir的每一个列向量对应一个校验元素;所述水平阵列纠删码的校验矩阵H每一行代表一个校验方程,即该行中“1”相对应水平阵列纠删码的码元二进制异或和为0。 With the method for constructing a horizontal array erasure code according to claim 1, all data element numbers of the horizontal array erasure code are arranged in a row priority in the data array portion, and all check element numbers are in the check array. The column is preferentially arranged in a portion, wherein each column vector of the sub-matrix P of the parity check matrix H of the horizontal array erasure code corresponds to one data element of the horizontal array erasure code, and the unit matrix I r Each column vector corresponds to one check element; each row of the check matrix H of the horizontal array erasure code represents a check equation, that is, a symbol binary exclusive OR of a horizontal array erasure code corresponding to "1" in the row And is 0.
PCT/CN2016/110613 2016-10-17 2016-12-18 Method for constructing check matrix and method for constructing horizontal array erasure code WO2018072294A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610901905.5A CN106484559B (en) 2016-10-17 2016-10-17 A kind of building method of check matrix and the building method of horizontal array correcting and eleting codes
CN2016109019055 2016-10-17

Publications (1)

Publication Number Publication Date
WO2018072294A1 true WO2018072294A1 (en) 2018-04-26

Family

ID=58269593

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/110613 WO2018072294A1 (en) 2016-10-17 2016-12-18 Method for constructing check matrix and method for constructing horizontal array erasure code

Country Status (2)

Country Link
CN (1) CN106484559B (en)
WO (1) WO2018072294A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110990188A (en) * 2019-11-19 2020-04-10 长安大学 Construction method of partial repetition code based on Hadamard matrix
CN111711456A (en) * 2020-05-21 2020-09-25 成都信息工程大学 Threshold matrix construction method, system, storage medium, program, and storage system

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110431531B (en) * 2017-03-16 2020-11-03 华为技术有限公司 Storage controller, data processing chip and data processing method
CN107665152B (en) * 2017-07-02 2020-10-16 成都信息工程大学 Decoding method of erasure code
CN109130558A (en) * 2018-07-25 2019-01-04 福州市联奇智能科技有限公司 A kind of more chapters intelligence selection automatic stamping machine device people based on big data
CN111404554B (en) * 2019-09-29 2023-09-01 杭州海康威视系统技术有限公司 Method and device for generating coding matrix of erasure codes and electronic equipment
CN110837436B (en) * 2019-11-05 2023-10-13 成都信息工程大学 Method for automatically decoding erasure codes in lightweight manner on finite field and intelligent terminal module
CN111158946B (en) * 2019-12-09 2023-07-18 成都信息工程大学 Coding method and device for reducing repair of array code Xcode
CN113258938B (en) * 2021-06-03 2021-10-08 成都信息工程大学 Construction method for rapidly repairing erasure codes in single-node fault

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929742A (en) * 2012-10-29 2013-02-13 无锡江南计算技术研究所 Single particle fault-tolerance method for any bit width storage interface of 18 particles
CN104850468A (en) * 2015-05-31 2015-08-19 上海交通大学 Check matrix based erasure code decoding method
CN104881253A (en) * 2015-05-25 2015-09-02 东莞天意电子有限公司 Array erasure coding method free of error correction parameter limitation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102929742A (en) * 2012-10-29 2013-02-13 无锡江南计算技术研究所 Single particle fault-tolerance method for any bit width storage interface of 18 particles
CN104881253A (en) * 2015-05-25 2015-09-02 东莞天意电子有限公司 Array erasure coding method free of error correction parameter limitation
CN104850468A (en) * 2015-05-31 2015-08-19 上海交通大学 Check matrix based erasure code decoding method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110990188A (en) * 2019-11-19 2020-04-10 长安大学 Construction method of partial repetition code based on Hadamard matrix
CN110990188B (en) * 2019-11-19 2023-03-24 长安大学 Construction method of partial repetition code based on Hadamard matrix
CN111711456A (en) * 2020-05-21 2020-09-25 成都信息工程大学 Threshold matrix construction method, system, storage medium, program, and storage system

Also Published As

Publication number Publication date
CN106484559B (en) 2018-12-18
CN106484559A (en) 2017-03-08

Similar Documents

Publication Publication Date Title
WO2018072294A1 (en) Method for constructing check matrix and method for constructing horizontal array erasure code
Greenan et al. Flat XOR-based erasure codes in storage systems: Constructions, efficient recovery, and tradeoffs
Prakash et al. Optimal linear codes with a local-error-correction property
CN104052576B (en) Data recovery method based on error correcting codes in cloud storage
Sasidharan et al. A high-rate MSR code with polynomial sub-packetization level
Das et al. A scalable decoder micro-architecture for fault-tolerant quantum computing
US20140310571A1 (en) Local Erasure Codes for Data Storage
WO2016058289A1 (en) Mds erasure code capable of repairing multiple node failures
CN111078460B (en) Fast erasure code calculation method
US8522125B1 (en) System and method for efficient horizontal maximum distance separable raid
CN105356968B (en) The method and system of network code based on cyclic permutation matrices
US10521304B1 (en) Multidimensional RAID
CN107395207A (en) The MDS array codes coding and restorative procedure of more fault-tolerances
CN105703782B (en) A kind of network coding method and system based on incremental shift matrix
CN109358980B (en) RAID6 encoding method friendly to data updating and single-disk error recovery
Yang et al. Fault-tolerant distributed logistic regression using unreliable components
Hou et al. A generalization of array codes with local properties and efficient encoding/decoding
JP6260193B2 (en) Storage system and storage program
WO2020029418A1 (en) Method for constructing repair binary code generator matrix and repair method
Balaji et al. On partial maximally-recoverable and maximally-recoverable codes
Hou et al. Multi-layer transformed MDS codes with optimal repair access and low sub-packetization
WO2019227456A1 (en) Evenodd code constructing method
CN107665152B (en) Decoding method of erasure code
WO2020029423A1 (en) Construction method and repair method for repairing binary array code check matrix
Fu et al. Extended EVENODD+ codes with asymptotically optimal updates and efficient encoding/decoding

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

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

Country of ref document: EP

Kind code of ref document: A1