[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN109660263B - LDPC code decoding method suitable for MLC NAND flash memory - Google Patents

LDPC code decoding method suitable for MLC NAND flash memory Download PDF

Info

Publication number
CN109660263B
CN109660263B CN201811401607.5A CN201811401607A CN109660263B CN 109660263 B CN109660263 B CN 109660263B CN 201811401607 A CN201811401607 A CN 201811401607A CN 109660263 B CN109660263 B CN 109660263B
Authority
CN
China
Prior art keywords
decoding
data
threshold voltage
decoded
voltage range
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
CN201811401607.5A
Other languages
Chinese (zh)
Other versions
CN109660263A (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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and 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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201811401607.5A priority Critical patent/CN109660263B/en
Publication of CN109660263A publication Critical patent/CN109660263A/en
Application granted granted Critical
Publication of CN109660263B publication Critical patent/CN109660263B/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/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/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1125Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using different domains for check node and bit node processing, wherein the different domains include probabilities, likelihood ratios, likelihood differences, log-likelihood ratios or log-likelihood difference pairs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Read Only Memory (AREA)

Abstract

The invention discloses an LDPC code decoding method suitable for MLC NAND flash memory, which comprises the following steps: (1) determining the type of the page to which the data to be decoded belongs, and if the type of the page is a low page, turning to the step (2); otherwise, switching to the step (3); (2) decoding LDPC codes of the data to be decoded and storing decoding results; ending the decoding; (3) obtaining decoded low-page data in the same unit, and determining the threshold voltage range of the memory unit according to the obtained low-page data and the data to be decoded; calculating a log-likelihood ratio from the determined threshold voltage range; performing LDPC code decoding on data to be decoded by taking the calculated log-likelihood ratio as decoding input; and finishing decoding. The invention can improve the decoding success rate and reduce the decoding iteration times, thereby achieving the purposes of reducing the decoding delay and improving the reading performance of the flash memory.

Description

LDPC code decoding method suitable for MLC NAND flash memory
Technical Field
The invention belongs to the technical field of computer storage error correction, and particularly relates to an LDPC code decoding method suitable for an MLC NAND flash memory.
Background
The NAND flash memory is a nonvolatile storage medium, and has become a mainstream application in the storage field based on the advantages of high storage density, low unit cost, high read-write speed and the like. However, with the reduction of the flash memory process size and the increase of the storage density, the bit error rate of the NAND flash memory is continuously increased, and compared with the conventional BCH code, the LDPC code still has a strong error correction capability under high noise, so the LDPC code is more and more widely applied to the NAND flash memory. However, the LDPC code causes additional read/write delay in reading and writing data, thereby degrading the performance of the NAND flash memory.
In the mlc nand flash memory, a memory cell stores two bits of data, which belong to different data pages, i.e., upper and lower pages, respectively, the memory cell is divided into four states according to the magnitude of the threshold voltage of the memory cell, and the four states are encoded as corresponding data "11", "10", "00" and "01" with the lower page data on the left and the upper page data on the right. The peripheral circuit needs to determine the data stored in the memory cell by means of a series of read reference voltages, and the data in the memory cell can be determined by comparing the storage threshold voltage with the read reference voltage. After the memory cells in the flash memory are interfered by noise, the threshold voltage changes, and the threshold voltage distributions of two adjacent states overlap, so that errors occur in the read data.
As shown in fig. 1, the voltage values VERF1, VREF2 and VREF3 represented by solid lines are default read reference voltages, and the voltage values represented by dashed lines are changeable read reference voltages. The existing LDPC code decoding method is shown in fig. 2, a threshold voltage range can be obtained by using three default read reference voltages, and LDPC hard decision decoding can be used after data is read out. If the threshold voltage distributions of adjacent states overlap, erroneous data is read. If the LDPC hard decision decoding fails, the read reference voltage should be changed to obtain a more accurate threshold voltage range, and correct data is obtained by using soft decision decoding. After the soft-decision decoding fails, the reading reference voltage can be further changed, and the next round of soft-decision decoding is carried out until all available reading reference voltages are used and the reading reference voltage can not be changed any more.
In the decoding process of the LDPC code, it is necessary to determine a corresponding threshold voltage range according to read data, and then calculate a Log-Likelihood Ratio (LLR) as a decoding input according to the determined threshold voltage range, where the smaller the determined threshold voltage range is, the more accurate the obtained decoding input is, the higher the decoding efficiency of the LDPC code is. However, to obtain a smaller threshold voltage range, the read reference voltage needs to be changed many times, resulting in an increased read delay in the decoding process of the LDPC code.
Disclosure of Invention
In view of the defects and the improved requirements of the prior art, the invention provides a decoding method of an LDPC code suitable for an MLC NAND flash memory, and aims to reduce the decoding delay of the LDPC code in the MLC NAND flash memory so as to improve the performance of the flash memory.
In order to achieve the above object, the present invention provides an LDPC code decoding method suitable for MLC NAND flash memory, comprising the steps of:
(1) determining the type of the page to which the data to be decoded belongs, and if the type of the page is a low page, turning to the step (2); otherwise, turning to the step (3);
(2) decoding LDPC codes of the data to be decoded and storing decoding results; ending the decoding;
(3) acquiring low-page data after decoding in the same unit, and decoding LDPC codes for the data to be decoded according to the low-page data; and ending the decoding.
Although the two-bit data belonging to the same memory unit belong to different pages, errors generated after noise interference have certain relevance, and due to the characteristic of coding, the original error rate of a low page is lower than that of a high page, so the decoding success rate of the low page is higher than that of the high page, and the decoding of the low page is prior to that of the high page in the decoding process. In the invention, when the high-page data is decoded, the low-page decoding information of the same unit is used for assisting the decoding of the high-page data, the threshold voltage range can be narrowed according to the relevance between the high-page data and the low-page data, and more accurate decoding input is obtained, so that the decoding success rate is improved, the decoding iteration times are reduced, and the purposes of reducing decoding delay and improving the reading performance of the flash memory are achieved.
Further, the step (3) comprises:
determining the threshold voltage range of the memory cell according to the low page data and the data to be decoded;
calculating a log-likelihood ratio from the threshold voltage range;
and decoding the LDPC code of the data to be decoded by taking the log-likelihood ratio as decoding input.
Further, if the low page data is "1" and there is no inversion before and after decoding, and the data to be decoded is "1", the threshold voltage range is (∞, VREF 1), and the log-likelihood ratio is:
Figure GDA0003139024740000031
if the low page data is "1" and there is no inversion before and after decoding, and the data to be decoded is "0", the threshold voltage range is (VREF1, VREF2], and the log-likelihood ratio is:
Figure GDA0003139024740000032
if the low page data is "0" and there is no inversion before and after decoding, and the data to be decoded is "1", the threshold voltage range is (VREF3, ∞ ], and the log-likelihood ratio is:
Figure GDA0003139024740000033
if the low page data is "0" and there is no inversion before and after decoding, and the data to be decoded is "0", the threshold voltage range is (VREF2, VREF3], and the log-likelihood ratio is:
Figure GDA0003139024740000034
if the low page data is inverted before and after decoding, the log-likelihood ratio is:
LLR(MSB)=LLRMAX;
wherein, ER, P1, P2 and P3 are respectively corresponding memory cell states when the memory cells store data of '11', '10', '00' and '01', VREF1, VREF2 and VREF3 are all default reading reference voltages, VREF1 < VREF2 < VREF3, P1 < VREF2 < VREF3(S)(x) The probability that the state of a memory cell is S before the data to be decoded is in error when the threshold voltage is x is represented, S belongs to { ER, P1, P2, P3}, and LLRMAX represents a constant larger than 50.
For the data of the upper page in the memory cell, if the read data is 1, it is possible to determine that the threshold voltage range is (∞, VREF1] (VREF3, + ∞), if the read data is 0, it is possible to determine that the threshold voltage range is (VREF1, VREF 3), the threshold voltage range determined only from the data of the upper page is large, and it is possible to further determine that the threshold voltage range is any one of (∞, VREF 1), (VREF1, VREF 2), (VREF2, 3), and (VREF3, + ∞) from the value of the data of the lower page in the same cell, thereby reducing the threshold voltage range and obtaining more accurate decoding input.
For a code word, if a bit is inverted before and after decoding, the threshold voltage state of the memory cell in which the bit is located is shifted, which results in an error in reading data. Since the threshold voltage state shifts to the adjacent state by more than one shift, and the codes of the adjacent states of the threshold voltage are gray codes with only one bit difference, if a bit of the memory cell is inverted due to the shift of the threshold voltage state to the adjacent state, the data of the other bit of the same cell is not changed. Since the low page data error occurs in the overlapping region of P1 and P2, if the memory cell flips before and after decoding the low page data, indicating a low page data read error, the threshold voltage is in the P1 or P2 state. And the upper page data of the P1 and P2 states are both 0, so that the same unit of upper page data has a high probability of 0, and the LLR can be set to a large value LLRMAX.
Generally speaking, through the above technical solutions contemplated by the present invention, compared with the prior art, when decoding high-page data, the threshold voltage range of the memory cell is determined by combining decoded low-page data in the same cell, so that the determined threshold voltage range can be effectively reduced, and more accurate decoding input can be provided, thereby improving the decoding success rate, reducing the decoding iteration times, and achieving the purposes of reducing decoding delay and improving the flash memory reading performance.
Drawings
FIG. 1 is a diagram illustrating the distribution of threshold voltages of memory cells in a conventional MLC NAND flash memory;
FIG. 2 is a diagram illustrating a decoding method of an LDPC code according to the prior art;
FIG. 3 is a flowchart of an LDPC decoding method for an MLC NAND flash according to an embodiment of the present invention;
FIG. 4 is a schematic diagram of a decoding input calculation region according to an embodiment of the present invention;
fig. 5 shows the test results of the decoding test performed by the conventional decoding method and the decoding method provided by 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 do not 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.
Before describing the technical solution of the present invention in detail, a brief description will be given to the calculation of the log-likelihood ratio LLR as the decoding input. The probability that the log-likelihood ratio corresponds to data of 0 and the probability that the corresponding data of 1The ratio is then logarithmically scaled, assuming the threshold voltage range of the memory cell is (VREF1, V)1,2]The calculation formulas of the log-likelihood ratio llr (lsb) of the lower page data and the log-likelihood ratio llr (msb) of the upper page data are respectively:
Figure GDA0003139024740000061
the calculation of the LLR is based on the threshold voltage range of the memory cell, and the smaller the read threshold voltage range is, the more accurate the obtained LLR is, and the higher the decoding efficiency of the LDPC code is. However, to obtain a smaller threshold voltage range, the read reference voltage needs to be changed many times, resulting in an increased read delay in the decoding process of the LDPC code.
The invention provides an LDPC code decoding method suitable for an MLC NAND flash memory, which has the overall thought that the relevance between high-page data and low-page data in the same memory cell and the characteristic that the original error rate of the low-page data is lower than that of the high-page data are utilized, when the high-page data is decoded, the threshold voltage range of the memory cell is determined by combining the low-page data in the same memory cell, so that the threshold voltage range is reduced, more accurate decoding input is provided, the decoding success rate is improved, the decoding iteration times are reduced, and the purposes of reducing decoding delay and improving the reading performance of the flash memory are achieved.
The LDPC code decoding method applicable to the MLC NAND flash memory provided by the invention comprises the following steps as shown in FIG. 3:
(1) determining the type of the page to which the data to be decoded belongs, and if the type of the page is a low page, turning to the step (2); otherwise, turning to the step (3);
(2) decoding LDPC codes of the data to be decoded and storing decoding results; ending the decoding;
(3) acquiring low-page data after decoding in the same unit, and decoding LDPC codes for the data to be decoded according to the low-page data; ending the decoding;
in an optional embodiment, step (3) specifically includes:
determining the threshold voltage range of the memory cell according to the low page data and the data to be decoded;
calculating a log-likelihood ratio from the threshold voltage range;
decoding LDPC codes of data to be decoded by taking the log-likelihood ratio as decoding input;
the method for determining the threshold voltage range and calculating the log-likelihood ratio according to the specific values of the high page data (namely the data to be decoded) and the low page data comprises the following steps:
if the low page data is "1" and there is no inversion before and after decoding, and the data to be decoded is "1", the threshold voltage range is (— infinity, VREF1], and the log-likelihood ratio is:
Figure GDA0003139024740000071
if the low page data is "1" and there is no inversion before and after decoding, and the data to be decoded is "0", the threshold voltage range is (VREF1, VREF2], and the log-likelihood ratio is:
Figure GDA0003139024740000072
if the low page data is "0" and there is no inversion before and after decoding, and the data to be decoded is "1", the threshold voltage range is (VREF3, ∞ ], and the log-likelihood ratio is:
Figure GDA0003139024740000073
if the low page data is "0" and there is no inversion before and after decoding, and the data to be decoded is "0", the threshold voltage range is (VREF2, VREF3], and the log-likelihood ratio is:
Figure GDA0003139024740000074
if the low page data is inverted before and after decoding, the log-likelihood ratio is:
LLR(MSB)=LLRMAX;
wherein, ER, P1, P2 and P3 are respectively corresponding memory cell states when the memory cells store data of '11', '10', '00' and '01', VREF1, VREF2 and VREF3 are all default reading reference voltages, VREF1 < VREF2 < VREF3, P1 < VREF2 < VREF3(S)(x) The probability that the state of a memory cell is S before the data to be decoded is in error when the threshold voltage is x is represented, S belongs to { ER, P1, P2, P3}, and LLRMAX represents a constant larger than 50.
As shown in fig. 4, for the high page data in the memory cell, if the read data is 1, the threshold voltage range can be determined to be (∞, VREF1] (VREF3, + ∞), if the read data is 0, the threshold voltage range can be determined to be (VREF1, VREF 3), the threshold voltage range determined only from the high page data is larger, and according to the value of the low page data in the same cell, the threshold voltage range can be further determined to be either (∞, VREF1], (VREF1, VREF2], (VREF2, VREF 3) or (VREF3, + ∞), thereby reducing the threshold voltage range and obtaining more accurate decoding input;
for a code word, if a bit is inverted before and after decoding, the threshold voltage state of the memory cell where the bit is located is shifted, so that read data errors are caused; because the threshold voltage state shifts to the adjacent state in a plurality of shifts, and the codes of the adjacent states of the threshold voltage are Gray codes with only one bit difference, if the threshold voltage state shifts to the adjacent state to cause a certain bit of the memory unit to be overturned, the other bit of data of the same unit is unchanged; since the low page data error occurs in the overlapping region of P1 and P2, if the memory cell flips before and after decoding the low page data, the low page data read error is indicated, and the threshold voltage is in a P1 or P2 state; and the high page data of the P1 and P2 states are both 0, so that the high page data of the same unit has a very high probability of 0, and the LLR can be set to a very large value LLRMAX, and in the above embodiment, the value range of LLRMAX is greater than 50.
In the invention, when the high-page data is decoded, the low-page decoding information of the same unit is used for assisting the decoding of the high-page data, the threshold voltage range can be narrowed according to the relevance between the high-page data and the low-page data, and more accurate decoding input is obtained, so that the decoding success rate is improved, the decoding iteration times are reduced, and the purposes of reducing decoding delay and improving the reading performance of the flash memory are achieved.
Based on a Flash Memory error model and parameters in the 'expanding Memory Device Wear-Out Dynamics to Improve NAND Flash Memory System Performance', a traditional LDPC code decoding method (namely decoding without auxiliary information) and the LDPC code decoding method (namely decoding with auxiliary information) suitable for the MLC NAND Flash Memory provided by the invention are respectively adopted for decoding test, the code length of the LDPC code is set to be 9216, the information length is 8192, the code rate is 88.9%, and the maximum decoding iteration number is 50. The erasing Period (PE) of the test sample is 2000-5000 times, the program interference frequency is 0-3 times, the retention time is 1 month to 10 years, and the error rate of the flash memory is 10-3To 10-2A rank. Specific test samples are shown in table 1, for example, and the decoding success rate of the decoding test performed on the test samples shown in table 1 by using two decoding methods and the high page error rate of the decoding method using the auxiliary information are shown in fig. 5.
TABLE 1 test sample
Numbering PE Number of CCI interference Retention time High page data error rate
1 2000 1 6 years old 8.55E-03
2 5000 1 1 month 8.74E-03
3 2000 1 7 years old 9.26E-03
4 2000 1 8 years old 9.74E-03
5 3000 2 2 years old 9.75E-03
6 3000 3 For 3 years 9.97E-03
7 2000 0 For 3 years 1.02E-02
8 3000 1 1 year 1.04E-02
9 2000 1 9 years old 1.05E-02
10 2000 1 For 10 years 1.09E-02
11 4000 3 1 year 1.16E-02
12 2000 0 4 years old 1.20E-02
13 3000 2 For 3 years 1.20E-02
14 3000 3 5 years old 1.21E-02
15 3000 3 6 years old 1.28E-02
16 2000 0 5 years old 1.34E-02
17 3000 3 7 years old 1.36E-02
18 4000 2 1 year 1.40E-02
19 5000 0 1 month 1.41E-02
According to the test results shown in fig. 5, compared with the traditional LDPC code decoding method, the LDPC code decoding method applicable to the MLC NAND flash memory provided by the present invention improves a decoding success rate by 49% at most, reduces decoding iteration times by 40%, and can effectively reduce decoding delay.
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 (2)

1. An LDPC code decoding method suitable for MLC NAND flash memory is characterized by comprising the following steps:
(1) determining the type of the page to which the data to be decoded belongs, and if the type of the page is a low page, turning to the step (2); otherwise, turning to the step (3);
(2) decoding the data to be decoded by using the LDPC code, and storing a decoding result; ending the decoding;
(3) obtaining low-page data after decoding in the same unit, and performing LDPC code decoding on the data to be decoded according to the low-page data; ending the decoding;
the step (3) comprises the following steps:
if the low page data is turned over before and after decoding, calculating a log-likelihood ratio as follows: llr (msb) LLRMAX; otherwise, determining a threshold voltage range of a storage unit according to the low-page data and the data to be decoded, and calculating a log-likelihood ratio according to the threshold voltage range;
performing LDPC code decoding on the data to be decoded by taking the log-likelihood ratio as decoding input;
determining a threshold voltage range of a memory cell according to the low page data and the data to be decoded, comprising:
if the low page data is "1" and there is no inversion before and after decoding, and the data to be decoded is "1", the threshold voltage range is (— ∞, VREF1 ];
if the low page data is "1" and is not flipped before and after decoding, and the data to be decoded is "0", the threshold voltage range is (VREF1, VREF2 ];
if the lower page data is "0" and is not flipped before and after decoding, and the data to be decoded is "1", the threshold voltage range is (VREF3, ∞ ];
if the low page data is '0' and is not flipped before and after decoding, and the data to be decoded is '0', the threshold voltage range is (VREF2, VREF3 ];
where LLRMAX denotes a constant greater than 50, and the corresponding threshold voltages rise in sequence when the memory cells store data "11", "10", "00", and "01"; VREF1, VREF2 and VREF3 are all default read reference voltages, and VREF1 < VREF2 < VREF 3.
2. The LDPC code decoding method for MLC NAND flash memory according to claim 1,
when the threshold voltage range is (— ∞, VREF1], the log-likelihood ratio is:
Figure FDA0003489092310000021
when the threshold voltage range is (VREF1, VREF 2), the log-likelihood ratio is:
Figure FDA0003489092310000022
when the threshold voltage range is (VREF3, ∞), the log-likelihood ratio is:
Figure FDA0003489092310000023
when the threshold voltage range is (VREF2, VREF 3), the log-likelihood ratio is:
Figure FDA0003489092310000024
wherein, ER, P1, P2 and P3 are the corresponding memory cell states when the memory cell stores data "11", "10", "00" and "01", respectively, P(S)(x) And the probability that the state of the memory cell is S before the error occurs to the data to be decoded when the threshold voltage is x is represented, and the S belongs to { ER, P1, P2 and P3 }.
CN201811401607.5A 2018-11-22 2018-11-22 LDPC code decoding method suitable for MLC NAND flash memory Active CN109660263B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811401607.5A CN109660263B (en) 2018-11-22 2018-11-22 LDPC code decoding method suitable for MLC NAND flash memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811401607.5A CN109660263B (en) 2018-11-22 2018-11-22 LDPC code decoding method suitable for MLC NAND flash memory

Publications (2)

Publication Number Publication Date
CN109660263A CN109660263A (en) 2019-04-19
CN109660263B true CN109660263B (en) 2022-07-05

Family

ID=66112286

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811401607.5A Active CN109660263B (en) 2018-11-22 2018-11-22 LDPC code decoding method suitable for MLC NAND flash memory

Country Status (1)

Country Link
CN (1) CN109660263B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110752850B (en) * 2019-08-27 2023-04-07 广东工业大学 Method for quickly iterating LDPC code of MLC flash memory chip
CN111611101B (en) * 2020-04-22 2023-09-29 珠海妙存科技有限公司 Method and device for adjusting flash memory read data throughput rate
CN114047887B (en) * 2022-01-13 2022-04-22 苏州浪潮智能科技有限公司 Method, device and medium for improving success rate of data reading

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102655021A (en) * 2011-03-02 2012-09-05 株式会社东芝 Semiconductor memory device and decoding method
CN103888148A (en) * 2014-03-20 2014-06-25 山东华芯半导体有限公司 LDPC hard decision decoding method for dynamic threshold value bit-flipping
CN103917964A (en) * 2011-11-02 2014-07-09 国立大学法人东京大学 Memory controller and data storage device
CN104835535A (en) * 2015-05-15 2015-08-12 华中科技大学 Solid disc self-adaptive error correction method and system
US9142323B1 (en) * 2011-03-01 2015-09-22 Sk Hynix Memory Solutions Inc. Hardware acceleration of DSP error recovery for flash memory
US9294132B1 (en) * 2011-11-21 2016-03-22 Proton Digital Systems, Inc. Dual-stage data decoding for non-volatile memories
CN105679364A (en) * 2014-12-08 2016-06-15 桑迪士克技术有限公司 Rewritable multibit non-volatile memory with soft decode optimization
CN106294197A (en) * 2016-08-05 2017-01-04 华中科技大学 A kind of page frame replacement method towards nand flash memory
CN106371943A (en) * 2016-09-06 2017-02-01 华中科技大学 LDPC (low density parity check) decoding optimization method based on flash programming interference error perception
CN106504796A (en) * 2016-10-28 2017-03-15 东南大学 A kind of polarization code error correction scheme being applied on nand flash memory
CN106575522A (en) * 2014-08-20 2017-04-19 桑迪士克科技有限责任公司 Storage module and method for using healing effects of quarantine process
CN107294542A (en) * 2017-05-23 2017-10-24 南京邮电大学 Volume, interpretation method based on double-deck LDPC code in MLC flash
CN107395214A (en) * 2017-07-12 2017-11-24 华中科技大学 A kind of method that LDPC decoding latencies are reduced based on Hash memory pages error property
CN107608818A (en) * 2016-07-12 2018-01-19 大心电子股份有限公司 Coding/decoding method, memory storage apparatus and memorizer control circuit unit
US10061640B1 (en) * 2013-03-12 2018-08-28 Western Digital Technologies, Inc. Soft-decision input generation for data storage systems

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7966546B2 (en) * 2007-03-31 2011-06-21 Sandisk Technologies Inc. Non-volatile memory with soft bit data transmission for error correction control
US9337865B2 (en) * 2012-05-04 2016-05-10 Seagate Technology Llc Log-likelihood ratio (LLR) dampening in low-density parity-check (LDPC) decoders
US10395754B2 (en) * 2016-03-21 2019-08-27 Nandext Srl Method for decoding bits in a solid state drive, and related solid state drive
CN106160753B (en) * 2016-06-23 2020-01-10 湖南大学 Weight multi-bit flipping LDPC decoding method suitable for SSD
CN107590021B (en) * 2017-08-22 2020-01-03 华中科技大学 Encoder and decoder for reducing error rate of flash memory and encoding and decoding methods

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9142323B1 (en) * 2011-03-01 2015-09-22 Sk Hynix Memory Solutions Inc. Hardware acceleration of DSP error recovery for flash memory
CN102655021A (en) * 2011-03-02 2012-09-05 株式会社东芝 Semiconductor memory device and decoding method
CN103917964A (en) * 2011-11-02 2014-07-09 国立大学法人东京大学 Memory controller and data storage device
US9294132B1 (en) * 2011-11-21 2016-03-22 Proton Digital Systems, Inc. Dual-stage data decoding for non-volatile memories
US10061640B1 (en) * 2013-03-12 2018-08-28 Western Digital Technologies, Inc. Soft-decision input generation for data storage systems
CN103888148A (en) * 2014-03-20 2014-06-25 山东华芯半导体有限公司 LDPC hard decision decoding method for dynamic threshold value bit-flipping
CN106575522A (en) * 2014-08-20 2017-04-19 桑迪士克科技有限责任公司 Storage module and method for using healing effects of quarantine process
CN105679364A (en) * 2014-12-08 2016-06-15 桑迪士克技术有限公司 Rewritable multibit non-volatile memory with soft decode optimization
CN104835535A (en) * 2015-05-15 2015-08-12 华中科技大学 Solid disc self-adaptive error correction method and system
CN107608818A (en) * 2016-07-12 2018-01-19 大心电子股份有限公司 Coding/decoding method, memory storage apparatus and memorizer control circuit unit
CN106294197A (en) * 2016-08-05 2017-01-04 华中科技大学 A kind of page frame replacement method towards nand flash memory
CN106371943A (en) * 2016-09-06 2017-02-01 华中科技大学 LDPC (low density parity check) decoding optimization method based on flash programming interference error perception
CN106504796A (en) * 2016-10-28 2017-03-15 东南大学 A kind of polarization code error correction scheme being applied on nand flash memory
CN107294542A (en) * 2017-05-23 2017-10-24 南京邮电大学 Volume, interpretation method based on double-deck LDPC code in MLC flash
CN107395214A (en) * 2017-07-12 2017-11-24 华中科技大学 A kind of method that LDPC decoding latencies are reduced based on Hash memory pages error property

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Low-Complexity Detection and Decoding Scheme for LDPC-Coded MLC NAND Flash Memory;Xusheng Lin 等;《中国通信》;20180615;第15卷(第06期);58-67 *
Performance of the modified SRBI-MLGD algorithm for LDPC codes in MLC NAND flash memory;Jiaying Wen 等;《2015 10th International Conference on Information, Communications and Signal Processing (ICICS)》;20160428;1-5 *
RBER Aware Multi-Sensing for Improving Read Performance of 3D MLC NAND Flash Memory;Meng Zhang 等;《IEEE Access》;20181001;第6卷;61934-61947 *
Using Disturbance Compensation and Data Clustering (DC)2 to Improve Reliability and Performance of 3D MLC Flash Memory;Yazhi Feng 等;《2017 IEEE International Conference on Computer Design (ICCD)》;20171123;565-572 *
动态内存分配器研究综述;刘翔 等;《计算机学报》;20180418;第41卷(第10期);2359-2378 *

Also Published As

Publication number Publication date
CN109660263A (en) 2019-04-19

Similar Documents

Publication Publication Date Title
US8576625B1 (en) Decoder parameter estimation using multiple memory reads
US10838810B2 (en) Systems and methods for inter-cell interference mitigation in a flash memory
CN101601094B (en) Reading memory cells using multiple thresholds
CN102132350B (en) Methods and apparatus for soft demapping and intercell interference mitigation in flash memories
KR101981355B1 (en) Soft information generation for memory systems
US8429501B2 (en) Memory storage device, memory controller thereof, and method thereof for generating log likelihood ratio
US8149623B2 (en) Controller and non-volatile semiconductor memory device
US10510405B2 (en) Soft information module
US20130185598A1 (en) Multi-tier detection and decoding in flash memories
US8990668B2 (en) Decoding data stored in solid-state memory
US9984752B2 (en) Memory system and data encoding and decoding method to mitigate inter-cell interference
CN109660263B (en) LDPC code decoding method suitable for MLC NAND flash memory
CN106935260A (en) The method for reading data and system of flash memory
CN106981308B (en) Application method for accurately acquiring LLR information
US9082480B2 (en) Detection and decoding in flash memories with error correlations for a plurality of bits within a sliding window
CN107863128A (en) A kind of multi-level flash cell error correction method, system, device and readable storage medium storing program for executing
US9292377B2 (en) Detection and decoding in flash memories using correlation of neighboring bits and probability based reliability values
US11024391B1 (en) System and method for estimating uninformed log-likelihood ratio (LLR) for NAND flash memories
CN109032514B (en) Data reading method, device and equipment and readable storage medium
US10607709B1 (en) System and method for efficient read-flow by inter-cell interference decoupling for NAND flash memories
US10614897B1 (en) System and method for high performance sequential read by decoupling of inter-cell interference for NAND flash memories
CN110111829B (en) Method, device and medium for correcting flash memory channel
US11923028B2 (en) Reference voltage adjustment based on post-decoding and pre-decoding state information
US11973516B2 (en) Soft decoding correctable page assisted LLR estimation
CN118711637A (en) Entropy-based TLC type NAND flash memory double-non-uniform sensing level placement 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
GR01 Patent grant
GR01 Patent grant