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 PDF

Info

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
Application number
CN202010086345.9A
Other languages
Chinese (zh)
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.)
Shanghai V&g Information Technology Co ltd
Original Assignee
Shanghai V&g Information Technology Co ltd
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 Shanghai V&g Information Technology Co ltd filed Critical Shanghai V&g Information Technology Co ltd
Priority to CN202010086345.9A priority Critical patent/CN111446971A/en
Publication of CN111446971A publication Critical patent/CN111446971A/en
Pending legal-status Critical Current

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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/1154Low-density parity-check convolutional codes [LDPC-CC]

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

Self-adaptive low-density parity check code coding method based on shared submatrix
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:
Figure BDA0002382186670000021
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:
Figure BDA0002382186670000022
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:
Figure BDA0002382186670000023
wherein I2kRepresenting a bit stream having an information length of 2 KB.
Further, the specific encoding rule in the step (7) is as follows:
Figure BDA0002382186670000031
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:
Figure BDA0002382186670000041
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:
Figure BDA0002382186670000042
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.
Figure BDA0002382186670000051
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.
Figure BDA0002382186670000052
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.
2. The method according to claim 1, wherein the check matrix in step (1) is in the form of:
Figure FDA0002382186660000011
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.
3. The method as claimed in claim 1, wherein the check matrix with information length of 4KB constructed in step (2) is:
Figure FDA0002382186660000021
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.
5. The method according to claim 1, wherein the specific encoding rule in step (5) is:
Figure FDA0002382186660000022
wherein I2kRepresenting a bit stream having an information length of 2 KB.
6. The method for encoding adaptive low density parity check code based on shared submatrix as claimed in claim 1, wherein the specific encoding rule in step (7) is:
Figure FDA0002382186660000023
wherein I4kRepresenting a bit stream with an information length of 4 KB.
CN202010086345.9A 2020-02-11 2020-02-11 Self-adaptive low-density parity check code coding method based on shared submatrix Pending CN111446971A (en)

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 (1)

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

Citations (11)

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

Patent Citations (11)

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

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

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
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
KR20180010447A (en) Controller, semiconductor memory system and operating method thereof
US9236886B1 (en) Universal and reconfigurable QC-LDPC encoder
CN111446971A (en) Self-adaptive low-density parity check code coding method based on shared submatrix
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
CN107959502B (en) LDPC coding method
US10951238B1 (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
CN110971240A (en) Decoder design method and memory controller
CN108170554B (en) NAND data coding method and device

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