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 PDF

Info

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
Application number
CN202010407334.6A
Other languages
Chinese (zh)
Other versions
CN111585581A (en
Inventor
唐聃
耿微
何磊
刘敦龙
曾琼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu University of Information Technology
Original Assignee
Chengdu University of Information Technology
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 Chengdu University of Information Technology filed Critical Chengdu University of Information Technology
Priority to CN202010407334.6A priority Critical patent/CN111585581B/en
Publication of CN111585581A publication Critical patent/CN111585581A/en
Application granted granted Critical
Publication of CN111585581B publication Critical patent/CN111585581B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/1515Reed-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

Coding method based on binary domain operation and supporting any code distance
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 ):
Figure BDA0002491841260000061
Figure BDA0002491841260000071
Figure BDA0002491841260000072
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:
Figure BDA0002491841260000073
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.
CN202010407334.6A 2020-05-14 2020-05-14 Coding method based on binary domain operation and supporting any code distance Active CN111585581B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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