CN111585581B - Coding method based on binary domain operation and supporting any code distance - Google Patents
Coding method based on binary domain operation and supporting any code distance Download PDFInfo
- Publication number
- CN111585581B CN111585581B CN202010407334.6A CN202010407334A CN111585581B CN 111585581 B CN111585581 B CN 111585581B CN 202010407334 A CN202010407334 A CN 202010407334A CN 111585581 B CN111585581 B CN 111585581B
- Authority
- CN
- China
- Prior art keywords
- original data
- data blocks
- stripe
- block
- blocks
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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/1515—Reed-Solomon codes
Abstract
The invention discloses a coding method based on binary domain operation and supporting any code distance, which comprises the following steps: s1, acquiring coding scheme data; s2, partitioning original data into blocks; s3, carrying out stripe processing on all original data blocks; s4, arraying the original data blocks in the strip; s5, acquiring a value corresponding to the original data block in the array; s6, acquiring a row and column number set; s7, acquiring a k-dimensional vector corresponding to each row and column number set; s8, acquiring a matrix Q; s9, obtaining all verification data corresponding to the strip S10 and obtaining a verification block corresponding to the strip; s11, respectively storing the original data block and the check block of the stripe to different storage nodes to complete the encoding of the stripe; and S12, repeating the steps S4 to S11 until all the strips are coded. The invention can freely determine the code distance and avoid complex operation based on high-order multivariate finite field.
Description
Technical Field
The invention relates to the field of data storage, in particular to an encoding method based on binary domain operation and supporting any code distance.
Background
The growth in enormous amounts of information makes it more challenging today to design a large data storage system. Statistically, the amount of information generated in the world is increasing at a rate of 30% per year. The vast amount of information translates into a huge demand for large, low-cost storage systems. With the ever-increasing size of storage systems, due to economic cost considerations, a large number of systems use thousands or even hundreds of thousands of inexpensive and low-reliability disks to hold a large amount of data, resulting in a high probability of disk failure, which has a great impact on the reliability and data availability of large storage systems. However, one of the basic requirements for building large storage systems is: reliability and availability of data is ensured even in the event of a disk failure.
In order to meet the requirements of users on a mass storage system with high reliability and easy access, erasure code redundancy technology is applied to a distributed storage system for improving the reliability of the storage system. Erasure coding techniques are used to store cold data, can tolerate three or more disk failures with low storage overhead, and a common erasure coding method in distributed storage systems is based on Reed-Solomon (RS, reed-Solomon) codes. The RS erasure code is used as one of classic erasure code algorithms, the algorithm is mature, the use is wide, the flexibility is very good, the fault-tolerant capability can be designed according to requirements, the coding scheme is flexible, and the erasure code algorithm achieves the optimal storage efficiency theoretically. However, the RS code is calculated over Galois Field (GF, "Galois Field" or "finite Field"), and the operation based on the high-order multivariate finite Field is a complicated calculation operation in the mathematical Field, and the calculation time complexity is high.
Disclosure of Invention
Aiming at the defects in the prior art, the coding method based on binary domain operation and supporting any code distance provided by the invention solves the problem of high operation complexity based on a high-order multivariate finite field.
In order to achieve the purpose of the invention, the invention adopts the technical scheme that:
an encoding method based on binary domain operation and supporting any code distance is provided, which comprises the following steps:
s1, acquiring the length k of original data and the minimum Hamming distance d in a coding scheme;
s2, partitioning the original data according to the set data block size BlockSize to obtain BlockNum original data blocks;
s3, carrying out stripe division processing on all original data blocks to divide the k original data blocks into one stripe so as to obtain stripe strips;
s4, for any stripe, putting k original data blocks of the stripe into a p multiplied by p array in sequence; wherein k = p × p;
s5, according to a formula D i (r, c) = (r + i × c) mod p obtaining corresponding value D of original data block in the r-th row and c-th column in the array when constant i takes different values i (r, c); where mod represents a modulo operation; i is more than or equal to 0 and less than or equal to d-2; r, c is not less than 0<p;
S6, for each value of the constant i, corresponding D is taken i Putting row and column numbers of an array where original data blocks with the same (r, c) value are positioned into the same set to obtain p x (d-1) row and column number sets;
s7, generating a k-dimensional all-zero vector for each row and column number set, acquiring block numbers of all original data blocks in the row and column number set, setting elements with the same positions as the block numbers in the k-dimensional all-zero vector as 1, and obtaining p x (d-1) k-dimensional vectors corresponding to each row and column number set;
s8, forming a matrix Q of k multiplied by p multiplied by (d-1) by all the k-dimensional vectors according to the sequence;
s9, for any stripe, forming a matrix U of 1 xk by the q-th byte data of k original data blocks q Will matrix U q Taking the product result of the matrix Q and the binary field as the Q-th check data in the strip, and traversing each byte data to obtain all check data corresponding to the strip; wherein each check data contains p × (d-1) elements;
s10, sequentially sequencing elements located at the same position in each piece of check data to obtain p x (d-1) check blocks corresponding to the strip;
s11, taking the sum of the original data block and the check block corresponding to the strip as the coding length n of the strip, and respectively storing k original data blocks and p x (d-1) check blocks of the strip on n different storage nodes to finish the coding of the strip;
and S12, repeating the steps S4 to S11 until all the strips are coded.
Further, the specific method of step S2 is:
partitioning the original data according to the set data block size BlockSize to obtain BlockNum original data blocks, judging whether the last original data block is smaller than the BlockSize, if so, filling zero at the tail of the original data block to enable the size of the original data block to be BlockSize, and otherwise, directly entering the step S3.
Further, the specific method of step S3 is:
dividing all original data blocks into a stripe according to k original data blocks to perform stripe processing, judging whether the last stripe is less than k data blocks, if so, filling all-zero data blocks to enable the last stripe to reach the k data blocks, and otherwise, directly entering the step S4.
Further, in step S7, the method for acquiring the block number of the original data block includes:
according to the formula:
j s =r s ×p+c s
obtaining a block number j of an original data block s (ii) a Wherein (r) s ,c s ) Is the position of the original data block s in the array.
The invention has the beneficial effects that: the invention provides a method which can freely determine the minimum Hamming distance, has flexible coding scheme, codes based on binary domain operation, has lower computation time complexity and better coding performance compared with the traditional operation based on high-order multivariate finite field supporting any coding scheme, and can improve the disk I/O efficiency to a great extent based on the flat storage of data block granularity.
Drawings
FIG. 1 is a schematic flow diagram of the present invention;
FIG. 2 is a diagram illustrating a first stripe of the embodiment including 9 original data blocks;
FIG. 3 is a schematic diagram of 9 original data blocks arranged in a3 × 3 array in sequence;
FIG. 4 is a diagram illustrating a value D corresponding to each data block when the constant i takes different values in the embodiment i (r, c) schematic;
FIG. 5 is a diagram of the first byte of data of all the original data blocks in the first stripe;
fig. 6 is a diagram of the first slice after it is fully encoded.
Detailed Description
The following description of the embodiments of the present invention is provided to facilitate the understanding of the present invention by those skilled in the art, but it should be understood that the present invention is not limited to the scope of the embodiments, and it will be apparent to those skilled in the art that various changes may be made without departing from the spirit and scope of the invention as defined and defined by the appended claims, and all changes that can be made by the invention using the inventive concept are intended to be protected.
As shown in fig. 1, the encoding method based on binary domain operation and supporting any code distance includes the following steps:
s1, acquiring the length k of original data and the minimum Hamming distance d in a coding scheme;
s2, partitioning the original data according to the set data block size BlockSize to obtain BlockNum original data blocks;
s3, carrying out stripe division processing on all original data blocks to divide the k original data blocks into one stripe so as to obtain stripe strips;
s4, for any stripe, putting k original data blocks of the stripe into a p multiplied by p array in sequence; wherein k = p × p;
s5, according to a formula D i (r, c) = (r + i × c) mod p to obtain the corresponding value D of the original data block in the r-th row and the c-th column in the array when the constant i takes different values i (r, c); where mod represents a modulo operation; i is more than or equal to 0 and less than or equal to d-2; r is more than or equal to 0 and c<p;
S6, for each value of the constant i, corresponding D is calculated i Putting the row and column numbers of the array where the original data blocks with the same (r, c) value are in the same set to obtain p x (d-1) row and column number setsCombining;
s7, generating a k-dimensional all-zero vector for each row and column number set, acquiring block numbers of all original data blocks in the row and column number set, setting elements with the same positions as the block numbers in the k-dimensional all-zero vector as 1, and obtaining p x (d-1) k-dimensional vectors corresponding to each row and column number set;
s8, forming a matrix Q of k multiplied by p multiplied by (d-1) by all the k dimensional vectors according to the sequence;
s9, for any stripe, forming a matrix U of 1 x k by the q-th byte data of k original data blocks q Will matrix U q Taking the product result of the matrix Q and the binary field as the Q-th check data in the strip, and traversing each byte data to obtain all check data corresponding to the strip; wherein each check data contains p × (d-1) elements;
s10, sequentially sequencing elements located at the same position in each piece of verification data to obtain p x (d-1) verification blocks corresponding to the strip;
s11, taking the sum of the original data block and the check block corresponding to the strip as the coding length n of the strip, and respectively storing k original data blocks and p x (d-1) check blocks of the strip on n different storage nodes to finish the coding of the strip;
and S12, repeating the steps S4 to S11 until all the strips are coded.
The specific method of the step S2 is as follows: partitioning the original data according to the set data block size BlockSize to obtain BlockNum original data blocks, judging whether the last original data block is smaller than the BlockSize, if so, filling zero at the tail of the original data block to enable the size of the original data block to be BlockSize, and otherwise, directly entering the step S3.
The specific method of the step S3 comprises the following steps: dividing all original data blocks into a stripe according to k original data blocks to perform stripe processing, judging whether the last stripe is less than k data blocks, if so, filling all-zero data blocks to enable the last stripe to reach the k data blocks, and otherwise, directly entering the step S4.
In step S7, the method for acquiring the block number of the original data block includes: according to the formula:
j s =r s ×p+c s
obtaining the block number j of the original data block s (ii) a Wherein (r) s ,c s ) Is the position of the original data block s in the array.
The specific method of the step S2 is as follows: partitioning the original data according to the set data block size BlockSize to obtain BlockNum original data blocks, judging whether the last original data block is smaller than the BlockSize, if so, filling zero at the tail of the original data block to enable the size of the original data block to be BlockSize, and otherwise, directly entering the step S3.
The specific method of the step S3 is as follows: dividing all original data blocks into a stripe according to k original data blocks to perform stripe division processing, judging whether the last stripe is less than k data blocks, if so, filling all-zero data blocks to enable the data blocks to reach the k data blocks, and otherwise, directly entering the step S4.
In one embodiment of the invention, it is determined that the original data length k =9 and the minimum hamming distance d =4 in the coding scheme, then p =3. If the size of the file to be stored (original data) is 18KB and the size of the data block is set to 1KB, the original data is divided into 18 original data blocks, and 9 original data blocks are divided into one stripe, so as to obtain 2 stripes.
As shown in fig. 2,9 original data blocks (data 0, data1, data2, data3, data4, data5, data6, data7 and data8, respectively) in the first stripe are read, and the 9 original data blocks are sequentially laid out in a3 × 3 array as shown in fig. 3, where the values of r and c include 0,1 and 2. The method according to step S5 can obtain the value D corresponding to each data block when the constant i takes different values as shown in fig. 4 i (r, c). Corresponding D according to the method of step S6 and step S7 i Putting the row and column numbers of the array where the original data blocks with the same (r, c) value are in the same set to obtain the following 9 row and column number sets 0 ~set 8 ) And a corresponding k-dimensional vector (V) 0 ~V 8 ):
Adopting the method of the step S8 to form a matrix Q of k multiplied by p multiplied by (d-1) by all the k dimensional vectors according to the sequence:
by adopting the method of step S9, taking the first byte data as an example, a1 × 9 matrix U as shown in fig. 5 can be obtained 1 = (1,2,6,2,8,6,2,2,0), will matrix U 1 The result of the multiplication of the matrix Q in the binary field is used as the Q-th check data in the stripe, and finally all the check data C = (5, 12,0,5,0,12,9, 6) corresponding to the stripe are obtained. In a matrix U 1 Taking the first column of data in the sum matrix Q as an example, the matrix U 1 The multiplication process of the matrix Q on the binary domain is specifically as follows: <xnotran> 1 × 1+2 × 1+6 × 1+2 × 0+8 × 0+6 × 0+2 × 0+2 × 0+0 × 0=1^2^6^0^0^0^0^0^0=5; </xnotran> The symbol ^ represents the XOR operation, namely the number subjected to the XOR operation is represented as a binary number, the XOR operation is carried out on the binary number, the binary number obtained after the XOR operation is converted into a decimal number, and therefore the numbers 1,2 and 6 are subjected to the XOR operation to obtain the number 5.
And acquiring byte check data corresponding to each byte data in each original data block by adopting the same processing method as the first byte data, and further acquiring all check data corresponding to the strip. And sequentially performing row-column sequencing on the elements at the same position in each check data to obtain 9 check blocks corresponding to the strip, for example, sequentially performing row-column sequencing on the first element in each check data, and taking the result of the row-column sequencing as the first check block. After the 9 original data blocks are sequentially sequenced, the 9 Check blocks (Check 0-Check 8) are sequentially sequenced, and the encoding result of the strip as shown in fig. 6 can be obtained. And respectively storing 18 data blocks (9 original data blocks and 9 check blocks) corresponding to the stripe to 18 different storage nodes, so as to complete the encoding of the stripe. And (4) coding the original data by adopting the same method to code the rest strips, namely (18, 9, 4) coding scheme.
In summary, the invention provides a method which can freely determine the minimum hamming distance, the coding scheme is flexible, the method carries out coding based on binary domain operation, the complexity of the calculation time is lower compared with the traditional operation based on high-order multivariate finite field supporting any coding scheme, the method has better coding performance, and the method can improve the I/O efficiency of the disk to a great extent based on the flat storage of the granularity of the data block.
Claims (4)
1. An encoding method based on binary domain operation and supporting any code distance is characterized by comprising the following steps:
s1, acquiring the length k of original data and the minimum Hamming distance d in a coding scheme;
s2, partitioning the original data according to a set data block size BlockSize to obtain BlockNum original data blocks;
s3, carrying out stripe processing on all original data blocks to enable k original data blocks to be divided into one stripe, and obtaining stripe number of stripes;
s4, for any stripe, putting k original data blocks of the stripe into a p multiplied by p array in sequence; wherein k = p × p;
s5, according to a formula D i (r, c) = (r + i × c) modp to obtain the corresponding value D of the original data block in the r-th row and the c-th column in the array when the constant i takes different values i (r, c); where mod represents a modulo operation; i is more than or equal to 0 and less than or equal to d-2; r is more than or equal to 0 and c<p;
S6, for each value of the constant i, corresponding D is calculated i (r, c) putting the row and column numbers of the array where the original data blocks with the same value are positioned into the same set to obtain p x (d-1) row and column number sets;
s7, generating a k-dimensional all-zero vector for each row and column number set, acquiring block numbers of all original data blocks in the row and column number set, setting elements with the same positions as the block numbers in the k-dimensional all-zero vector as 1, and obtaining p x (d-1) k-dimensional vectors corresponding to each row and column number set;
s8, forming a matrix Q of k multiplied by p multiplied by (d-1) by all the k dimensional vectors according to the sequence;
s9, for any stripe, forming a matrix U of 1 x k by the q-th byte data of k original data blocks q Will matrix U q Taking the product result of the matrix Q and the binary field as the Q-th check data in the strip, and traversing each byte of data to obtain all check data corresponding to the strip; wherein each check data contains p × (d-1) elements;
s10, sequentially sequencing elements located at the same position in each piece of verification data to obtain p x (d-1) verification blocks corresponding to the strip;
s11, taking the sum of the original data block and the check block corresponding to the strip as the coding length n of the strip, and respectively storing k original data blocks and p x (d-1) check blocks of the strip on n different storage nodes to finish the coding of the strip;
and S12, repeating the step S4 to the step S11 until all the stripes are coded.
2. The binary field operation-based coding method supporting any code distance according to claim 1, wherein the specific method in step S2 is:
partitioning the original data according to the set data block size BlockSize to obtain BlockNum original data blocks, judging whether the last original data block is smaller than the BlockSize, if so, filling zero at the tail of the original data block to enable the size of the original data block to be BlockSize, and otherwise, directly entering the step S3.
3. The binary field operation-based coding method supporting any code distance according to claim 1, wherein the specific method of step S3 is:
dividing all original data blocks into a stripe according to k original data blocks to perform stripe division processing, judging whether the last stripe is less than k data blocks, if so, filling all-zero data blocks to enable the data blocks to reach the k data blocks, and otherwise, directly entering the step S4.
4. The binary field operation-based coding method supporting any code distance according to claim 1, wherein the method for obtaining the block number of the original data block in step S7 is:
according to the formula:
j s =r s ×p+c s
obtaining a block number j of an original data block s (ii) a Wherein (r) s ,c s ) Is the position of the original data block s in the array.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010407334.6A CN111585581B (en) | 2020-05-14 | 2020-05-14 | Coding method based on binary domain operation and supporting any code distance |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010407334.6A CN111585581B (en) | 2020-05-14 | 2020-05-14 | Coding method based on binary domain operation and supporting any code distance |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111585581A CN111585581A (en) | 2020-08-25 |
CN111585581B true CN111585581B (en) | 2023-04-07 |
Family
ID=72125030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010407334.6A Active CN111585581B (en) | 2020-05-14 | 2020-05-14 | Coding method based on binary domain operation and supporting any code distance |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111585581B (en) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103546750A (en) * | 2013-10-22 | 2014-01-29 | 中国人民解放军重庆通信学院 | H.264 video encryption method based on region of interest |
CN103650462A (en) * | 2012-04-27 | 2014-03-19 | 北京大学深圳研究生院 | Coding, decoding and data repairing method based on homomorphic self-repairing code and storage system thereof |
WO2015140253A1 (en) * | 2014-03-20 | 2015-09-24 | Technische Universität Kaiserslautern | Method and device for an error correction of transmitted data |
CN109257049A (en) * | 2018-08-09 | 2019-01-22 | 东莞理工学院 | A kind of building method and restorative procedure for repairing binary array code check matrix |
CN110457161A (en) * | 2019-07-26 | 2019-11-15 | 成都信息工程大学 | A kind of efficiently highly reliable big data storage system, method, computer program |
CN110750382A (en) * | 2019-09-18 | 2020-02-04 | 华中科技大学 | Minimum storage regeneration code coding method and system for improving data repair performance |
CN110780813A (en) * | 2019-10-09 | 2020-02-11 | 北京理工大学珠海学院 | Distributed storage system based on subspace codes in binary domain |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7380191B2 (en) * | 2005-02-09 | 2008-05-27 | International Business Machines Corporation | ABIST data compression and serialization for memory built-in self test of SRAM with redundancy |
US7831895B2 (en) * | 2006-07-25 | 2010-11-09 | Communications Coding Corporation | Universal error control coding system for digital communication and data storage systems |
US9722637B2 (en) * | 2013-03-26 | 2017-08-01 | Peking University Shenzhen Graduate School | Construction of MBR (minimum bandwidth regenerating) codes and a method to repair the storage nodes |
WO2016058262A1 (en) * | 2014-12-16 | 2016-04-21 | 深圳赛思鹏科技发展有限公司 | Data codec method based on binary reed-solomon code |
US20200081778A1 (en) * | 2018-09-11 | 2020-03-12 | Goke Us Research Laboratory | Distributed storage system, method and apparatus |
-
2020
- 2020-05-14 CN CN202010407334.6A patent/CN111585581B/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103650462A (en) * | 2012-04-27 | 2014-03-19 | 北京大学深圳研究生院 | Coding, decoding and data repairing method based on homomorphic self-repairing code and storage system thereof |
CN103546750A (en) * | 2013-10-22 | 2014-01-29 | 中国人民解放军重庆通信学院 | H.264 video encryption method based on region of interest |
WO2015140253A1 (en) * | 2014-03-20 | 2015-09-24 | Technische Universität Kaiserslautern | Method and device for an error correction of transmitted data |
CN109257049A (en) * | 2018-08-09 | 2019-01-22 | 东莞理工学院 | A kind of building method and restorative procedure for repairing binary array code check matrix |
CN110457161A (en) * | 2019-07-26 | 2019-11-15 | 成都信息工程大学 | A kind of efficiently highly reliable big data storage system, method, computer program |
CN110750382A (en) * | 2019-09-18 | 2020-02-04 | 华中科技大学 | Minimum storage regeneration code coding method and system for improving data repair performance |
CN110780813A (en) * | 2019-10-09 | 2020-02-11 | 北京理工大学珠海学院 | Distributed storage system based on subspace codes in binary domain |
Non-Patent Citations (4)
Title |
---|
Dariusz Czysz等.Low-Power Test Data Application in EDT Environment Through Decompressor Freeze.《IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems》.2008,第27卷(第7期),1278-1290. * |
Zhenbin Ye等.A Preliminary Study on Distance Selection in Probabilistic Memetic Framework for Capacitated Arc Routing Problem.《2016 IEEE Congress on Evolutionary Computation (CEC)》.2016,1687-1694. * |
唐聃等.一类多容错的阵列纠删码.《中国科学:信息科学》.2016,第45卷 (第4 期),523-538. * |
陈亮 .随机二元扩展码:一种适用于分布式存储系统的编码.《计算机学报》 .2017,第40卷(第9期),1687-1694. * |
Also Published As
Publication number | Publication date |
---|---|
CN111585581A (en) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10146618B2 (en) | Distributed data storage with reduced storage overhead using reduced-dependency erasure codes | |
US9600365B2 (en) | Local erasure codes for data storage | |
CA2225771C (en) | Method for storing parity and rebuilding the data contents of failed disks in an external storage subsystem and apparatus therefor | |
US11531593B2 (en) | Data encoding, decoding and recovering method for a distributed storage system | |
US9405623B2 (en) | Method of, and apparatus for, layout rectification of erasure encoded storage systems | |
US8522125B1 (en) | System and method for efficient horizontal maximum distance separable raid | |
US10425106B2 (en) | Balanced Reed-Solomon codes | |
WO2023151290A1 (en) | Data encoding method and apparatus, device, and medium | |
CN114281270A (en) | Data storage method, system, equipment and medium | |
Ivanichkina et al. | Mathematical methods and models of improving data storage reliability including those based on finite field theory | |
CN105811996A (en) | Data processing method and system based on quasi-cyclic LDCP | |
CN111585581B (en) | Coding method based on binary domain operation and supporting any code distance | |
CN104932836B (en) | A kind of three disk fault-tolerant encodings and coding/decoding method for improving single write performance | |
CN111585582B (en) | Coding method based on array operation and freely determined code distance | |
Huang et al. | An improved decoding algorithm for generalized RDP codes | |
WO2017041232A1 (en) | Encoding and decoding framework for binary cyclic code | |
CN112000509B (en) | Erasure code encoding method, system and device based on vector instruction | |
Cassuto et al. | Low-complexity array codes for random and clustered 4-erasures | |
US9236890B1 (en) | Decoding a super-code using joint decoding of underlying component codes | |
CN104866386A (en) | Encoding and decoding method with optimal update cost | |
Silberstein et al. | Optimal fractional repetition codes | |
Wu et al. | A single failure correction accelerated RAID-6 code | |
Lv et al. | Binary MDS Array Codes with Flexible Array Dimensions and Their Fast Encoding | |
CN110928725B (en) | Matrix representation-based multiple permutation code construction and decoding method in flash memory | |
CN117609488B (en) | Method and device for searching small-weight code words, computer storage medium and terminal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |