CN111446971A - Self-adaptive low-density parity check code coding method based on shared submatrix - Google Patents
Self-adaptive low-density parity check code coding method based on shared submatrix Download PDFInfo
- Publication number
- CN111446971A CN111446971A CN202010086345.9A CN202010086345A CN111446971A CN 111446971 A CN111446971 A CN 111446971A CN 202010086345 A CN202010086345 A CN 202010086345A CN 111446971 A CN111446971 A CN 111446971A
- Authority
- CN
- China
- Prior art keywords
- information length
- matrix
- shared
- check matrix
- dpc
- 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.)
- Pending
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/11—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 using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/1154—Low-density parity-check convolutional codes [LDPC-CC]
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
The invention discloses a coding method of an adaptive low-density parity check code based on a shared sub-matrix, which is characterized in that L DPC (binary parity check) error correcting codes with different code word lengths need to construct check matrixes with different sizes, and hardware cost and complexity are increased.
Description
Technical Field
The invention belongs to the technical field of solid-state disk storage, and particularly relates to a self-adaptive low-density parity check code encoding method based on a shared sub-matrix.
Background
Flash memory has the advantages of non-volatility, large capacity and the like and is widely used as storage equipment for computers, smart phones and the like. Especially for three-dimensional (3D) stacked flash memory, it has become the mainstream mass storage device at present.
In order to improve the data storage reliability, low-Density Parity Check (L ow Density Parity Check, L DPC for short) is widely used for a 3D stacked flash memory as a mainstream error correction code.
However, in the existing variable length L DPC encoding process, different check matrices are used for encoding, which increases the encoding complexity and hardware implementation overhead.
Disclosure of Invention
In view of the above drawbacks and needs of the prior art, the present invention provides a method for encoding adaptive low density parity check codes based on shared sub-matrices, which is to first construct a check matrix with an information length of 2KB according to the change of the programmable erasure cycle of a flash memory block, and then encode the check matrix with the constructed 2 KB. When the programmable erasing period of the flash memory block exceeds a certain threshold value, a check matrix with the information length of 4KB is constructed, and in the construction process, the check matrix with the information length of 2KB is used as a sub-matrix to carry out row and column expansion so as to construct the check matrix with the information length of 4 KB. The constructed 4KB check matrix contains a 2KB shared sub-matrix, and in the coding process, different check matrices can be adaptively selected for coding according to the change of the flash memory blocks, so that the hardware implementation complexity is reduced, the performance of the flash memory system is improved, and the hardware overhead brought by coding is saved. The specific technical scheme is as follows:
a self-adaptive low-density parity check code coding method based on a shared submatrix is applied to a flash memory system and comprises the following steps:
(1) randomly generating L DPC check matrix Q with information length of 2KB by adopting computer search algorithmm×n;
(2) The constructed L DPC check matrix with the information length of 2KB is used as a shared sub-matrix to construct a L DPC check matrix with the information length of 4KB, the specific construction rule is to expand the row and column of the shared sub-matrix, and the expansion rule is to randomly generate a sum sub-matrix QijMatrices of the same size containing only 0 or 1 elements;
(3) the upper host sends a sequential write command to the flash memory controller, and the controller judges whether the programmable erase-write cycle exceeds a threshold value according to the recorded number of the programmable erase-write cycle times of the flash memory block;
(4) if the programmable erasing cycle number is less than the threshold value;
(5) using the information length 2KB as an error correction unit, and selecting a check matrix with the information length 2KB to perform L DPC operation;
(6) if the programmable erasing cycle number is larger than the threshold value;
(7) the information length of 4KB is taken as an error correction unit, and a check matrix with the information length of 4KB is selected for carrying out L DPC operation.
Further, the check matrix form in the step (1) is:
wherein Q isij(i is more than or equal to 1 and less than or equal to m, j is more than or equal to 1 and less than or equal to n) is a quasi-cyclic check submatrix only containing 0 and 1 elements.
Further, the check matrix with the information length of 4KB constructed in the step (2) is:
further, in the step (3), the programmable erase/write cycle threshold of the flash block is 7000 times.
Further, the specific encoding rule in the step (5) is as follows:wherein I2kRepresenting a bit stream having an information length of 2 KB.
Further, the specific encoding rule in the step (7) is as follows:wherein I4kRepresenting a bit stream with an information length of 4 KB.
In general, compared with the prior art, the technical scheme provided by the invention can achieve the following beneficial effects:
(1) the method of the invention can reduce hardware overhead and complexity brought by L DPC coding.
(2) The invention can adaptively select different check matrixes to code according to the change of the programmable erasing period of the flash memory block, thereby maximally improving the performance of the flash memory system and reducing the space use expense.
(3) The matrix construction rule of the invention is simple and easy to realize by hardware.
Drawings
Fig. 1 is a structural diagram of a design of an adaptive ldpc coding method based on a shared submatrix according to the present invention.
FIG. 2 is a flowchart of an adaptive LDPC code encoding method based on a shared submatrix according to the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention. In addition, the technical features involved in the embodiments of the present invention described below may be combined with each other as long as they do not conflict with each other.
The design structure of the invention is shown in fig. 1, when the programmable erasing period of the flash memory block is less than the given threshold, firstly constructing the check matrix with the information length of 2KB, and then carrying out L DPC encoding operation by taking the information length of 2KB as the error correction unit, when the programmable erasing period of the flash memory block is greater than the given threshold, carrying out row-column expansion by taking the check matrix with the information length of 2KB as the shared sub-matrix, constructing the check matrix with the information length of 4KB, and carrying out encoding operation by taking 4KB as the error correction unit.
The invention can adaptively select proper information length as a correction unit according to the change of the programmable erasing period of the flash memory block, maximally save the storage space, improve the performance of the flash memory system and reduce the complexity and the expense of hardware realization.
As shown in fig. 2, the present invention relates to a method for encoding adaptive low density parity check codes based on a shared submatrix, which is applied in a flash memory system and includes the following steps:
(1) randomly generating L DPC check matrix Q with information length of 2KB by adopting computer search algorithmm×nSpecifically, the check matrix is in the form:
wherein Q isij(i is more than or equal to 1 and less than or equal to m, j is more than or equal to 1 and less than or equal to n) is a quasi-cyclic check submatrix only containing 0 and 1 elements.
The method has the advantages that: firstly, the check matrix with the information length of 2KB is constructed, so that the coding and decoding efficiency is improved and the space overhead is reduced when the flash memory has fewer programmable erasing periods.
(2) The constructed L DPC check matrix with the information length of 2KB is used as a shared sub-matrix to construct a L DPC check matrix with the information length of 4KB, the specific construction rule is to expand the row and column of the shared sub-matrix, and the expansion rule is to randomly generate a sum sub-matrix QijMatrices of the same size containing only 0 or 1 elements. Specifically, the constructed check matrix with the information length of 4KB is:
the advantage of this step is that the constructed information length is 2KB and 4KB to construct L DPC check matrix, which accords with the current flash memory error correction requirement, and 2KB and 4KB are widely used in each large flash memory system as the main stream error correction unit.
(3) The upper layer host sends a sequential write command to the flash memory controller, and the controller judges whether the programmable erase-write cycle exceeds a threshold value according to the recorded number of the programmable erase-write cycle times of the flash memory block. Specifically, the programmable erase cycle threshold of the flash block is 7000 times.
The method has the advantages that: according to the change of the programmable erasing cycle times of the flash memory, a proper error correction unit can be adaptively selected for coding.
(4) If the number of programmable erase cycles is less than the threshold 7000.
(5) Using information length 2KB as error correction unit, and selecting check matrix with information length 2KB to make L DPC coding operation.Wherein I2kRepresenting a bit stream having an information length of 2 KB.
The method has the advantages that: when the programmable erasing cycle number is smaller than a certain threshold, 2KB is selected as an error correction unit, which is beneficial to saving the storage space and improving the coding efficiency and the system performance.
(6) If the number of programmable erase cycles is greater than the threshold 7000.
(7) Using information length 4KB as error correction unit, and selecting check matrix with information length 4KB to make L DPC coding operation.Wherein I4kRepresenting a bit stream with an information length of 4 KB.
The method has the advantages that when the programmable erasing cycle number is larger than a certain threshold value, 4KB is selected as an error correction unit, the decoding error correction capability can be improved, the calling of L DPC soft decision decoding is reduced, and the use of a soft decision level and the decoding reading delay are favorably reduced.
It will be understood by those skilled in the art that the foregoing is only a preferred embodiment of the present invention, and is not intended to limit the invention, and that any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the scope of the present invention.
Claims (6)
1. A method for coding adaptive low density parity check codes based on a shared submatrix, which is applied to a flash memory system, and is characterized by comprising the following steps:
(1) randomly generating L DPC check matrix Q with information length of 2KB by adopting computer search algorithmm×n;
(2) The constructed L DPC check matrix with the information length of 2KB is used as a shared sub-matrix to construct a L DPC check matrix with the information length of 4KB, the specific construction rule is to expand the row and column of the shared sub-matrix, and the expansion rule is to randomly generate a sum sub-matrix QijMatrices of the same size containing only 0 or 1 elements;
(3) the upper host sends a sequential write command to the flash memory controller, and the controller judges whether the programmable erase-write cycle exceeds a threshold value according to the recorded number of the programmable erase-write cycle times of the flash memory block;
(4) if the programmable erasing cycle number is less than the threshold value;
(5) using the information length 2KB as an error correction unit, and selecting a check matrix with the information length 2KB to perform L DPC operation;
(6) if the programmable erasing cycle number is larger than the threshold value;
(7) the information length of 4KB is taken as an error correction unit, and a check matrix with the information length of 4KB is selected for carrying out L DPC operation.
4. the adaptive low density parity check code encoding method based on shared submatrix of claim 1, wherein in step (3), the programmable erasure cycle threshold of the flash memory block is set to 7000 times.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010086345.9A CN111446971A (en) | 2020-02-11 | 2020-02-11 | Self-adaptive low-density parity check code coding method based on shared submatrix |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010086345.9A CN111446971A (en) | 2020-02-11 | 2020-02-11 | Self-adaptive low-density parity check code coding method based on shared submatrix |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111446971A true CN111446971A (en) | 2020-07-24 |
Family
ID=71648795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010086345.9A Pending CN111446971A (en) | 2020-02-11 | 2020-02-11 | Self-adaptive low-density parity check code coding method based on shared submatrix |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111446971A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115499017A (en) * | 2022-11-14 | 2022-12-20 | 北京得瑞领新科技有限公司 | Flash memory coding and decoding method and device, medium and solid state disk |
WO2024149302A1 (en) * | 2023-01-11 | 2024-07-18 | 杭州阿里云飞天信息技术有限公司 | Coding method and decoding method, coder and decoder, and chip, hard disk and communication system |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070022354A1 (en) * | 2003-10-14 | 2007-01-25 | Samsung Electronics Co., Ltd. | Method for encoding low-density parity check code |
CN101141133A (en) * | 2007-10-23 | 2008-03-12 | 北京邮电大学 | Method of encoding structured low density check code |
US20090164762A1 (en) * | 2007-12-20 | 2009-06-25 | Microsoft Corporation | Optimizing xor-based codes |
US20120198302A1 (en) * | 2011-01-28 | 2012-08-02 | Infineon Technologies Ag | Device and Method for Error Correction and Protection Against Data Corruption |
CN105207680A (en) * | 2014-06-20 | 2015-12-30 | 北京邮电大学 | Method for constructing quasi-cyclic LDPC code based on finite field primitive elements |
CN107733440A (en) * | 2016-08-12 | 2018-02-23 | 中兴通讯股份有限公司 | Polygon type structure LDPC processing method and processing devices |
CN108683423A (en) * | 2018-05-16 | 2018-10-19 | 广东工业大学 | LDPC code dynamic serial scheduling decoding algorithm and device under a kind of multi-level flash channel |
CN109491829A (en) * | 2018-10-19 | 2019-03-19 | 福州大学 | Nand flash memory control system based on adaptive protograph LDPC code |
CN109739682A (en) * | 2018-12-21 | 2019-05-10 | 山东华芯半导体有限公司 | Applied to the adaptive polar code error-correcting code system and method in flash controller |
CN109887537A (en) * | 2019-01-29 | 2019-06-14 | 华中科技大学 | A kind of LDPC code interpretation method of threshold voltage drift perception |
CN109947694A (en) * | 2019-04-04 | 2019-06-28 | 上海威固信息技术股份有限公司 | A kind of Reconfigurable Computation storage fusion flash memory control system |
-
2020
- 2020-02-11 CN CN202010086345.9A patent/CN111446971A/en active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070022354A1 (en) * | 2003-10-14 | 2007-01-25 | Samsung Electronics Co., Ltd. | Method for encoding low-density parity check code |
CN101141133A (en) * | 2007-10-23 | 2008-03-12 | 北京邮电大学 | Method of encoding structured low density check code |
US20090164762A1 (en) * | 2007-12-20 | 2009-06-25 | Microsoft Corporation | Optimizing xor-based codes |
US20120198302A1 (en) * | 2011-01-28 | 2012-08-02 | Infineon Technologies Ag | Device and Method for Error Correction and Protection Against Data Corruption |
CN105207680A (en) * | 2014-06-20 | 2015-12-30 | 北京邮电大学 | Method for constructing quasi-cyclic LDPC code based on finite field primitive elements |
CN107733440A (en) * | 2016-08-12 | 2018-02-23 | 中兴通讯股份有限公司 | Polygon type structure LDPC processing method and processing devices |
CN108683423A (en) * | 2018-05-16 | 2018-10-19 | 广东工业大学 | LDPC code dynamic serial scheduling decoding algorithm and device under a kind of multi-level flash channel |
CN109491829A (en) * | 2018-10-19 | 2019-03-19 | 福州大学 | Nand flash memory control system based on adaptive protograph LDPC code |
CN109739682A (en) * | 2018-12-21 | 2019-05-10 | 山东华芯半导体有限公司 | Applied to the adaptive polar code error-correcting code system and method in flash controller |
CN109887537A (en) * | 2019-01-29 | 2019-06-14 | 华中科技大学 | A kind of LDPC code interpretation method of threshold voltage drift perception |
CN109947694A (en) * | 2019-04-04 | 2019-06-28 | 上海威固信息技术股份有限公司 | A kind of Reconfigurable Computation storage fusion flash memory control system |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115499017A (en) * | 2022-11-14 | 2022-12-20 | 北京得瑞领新科技有限公司 | Flash memory coding and decoding method and device, medium and solid state disk |
WO2024149302A1 (en) * | 2023-01-11 | 2024-07-18 | 杭州阿里云飞天信息技术有限公司 | Coding method and decoding method, coder and decoder, and chip, hard disk and communication system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9819361B2 (en) | List decoding method for polar code and memory system using the same | |
US10191804B2 (en) | Updating reliability data | |
KR101508890B1 (en) | Apparatuses and methods of operating for memory endurance | |
KR102275717B1 (en) | Flash memory system and operating method thereof | |
TWI602188B (en) | Method for performing data management in memory device, and associated memory device and controller thereof | |
US11309916B2 (en) | Error correction circuit and memory controller having the same | |
CN107634764B (en) | Decoder and memory controller using low density parity check code | |
JP2010205328A (en) | Semiconductor memory device | |
KR102543059B1 (en) | Method of decoding low density parity check (LDPC) code, decoder and system performing the same | |
CN107608818B (en) | Decoding method, memory storage device and memory control circuit unit | |
CN111061592B (en) | Universal Nand Flash bit reversal error correction method | |
KR102666852B1 (en) | Controller, semiconductor memory system and operating method thereof | |
CN111446971A (en) | Self-adaptive low-density parity check code coding method based on shared submatrix | |
KR102628009B1 (en) | Memory system for partial page compression | |
CN111294061B (en) | Decoding soft decision delay reduction method for original bit error rate perception | |
KR101913900B1 (en) | Decoder having early decoding termination detection | |
US10289348B2 (en) | Tapered variable node memory | |
CA2918136A1 (en) | High sum-rate write-once memory | |
CN110071726B (en) | Construction method of joint LDPC code in multi-layer unit flash memory and decoding device thereof | |
US11886738B2 (en) | Memory system and memory control method | |
CN110971240A (en) | Decoder design method and memory controller | |
CN107959502B (en) | LDPC coding method | |
US20210058097A1 (en) | Memory system and method for controlling non-volatile memory | |
TW201839775A (en) | Method for performing data management in memory device, and associated memory device and controller thereof | |
KR102513782B1 (en) | Controller and operating method thereof |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200724 |
|
RJ01 | Rejection of invention patent application after publication |