Non-volatile memory controller with error correction (ECC) tuning via error statistics collection

US9407294B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9407294-B2
Application numberUS-201414325244-A
CountryUS
Kind codeB2
Filing dateJul 7, 2014
Priority dateJul 7, 2014
Publication dateAug 2, 2016
Grant dateAug 2, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A non-volatile memory controller for a solid state drive includes a soft-decision LDPC decoder. The soft-decision LDPC decoder includes a probability generation module. A processor reads collected statistics collated from decoded frames and tunes the performance of the soft-decision LDPC decoder performance. Additional parameters may also be taken into account, such as the scramble seed and the type of non-volatile memory. An asymmetry in errors may also be detected and provided to a hard-decision LDPC decoder to adjust its performance.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of decoding non-volatile memory pages of a non-volatile memory, comprising: collating error statistics in a decoded output of a soft-decision Low Density Parity Check (LDPC) decoder utilizing a probability to decode the non-volatile memory pages, the probability based on a set of soft-decision read values; and updating, based on the error statistics, a probability lookup table (LUT) used to determine, from the set of soft-decision read values, the probability of a bit in the non-volatile memory page having a particular binary value. 2. The method of claim 1 , wherein the collating and updating is performed to adapt to aging related changes in multi-level cell threshold voltage distributions of the non-volatile memory. 3. The of claim 2 , wherein the collating and updating is performed periodically over a lifetime of the non-volatile memory. 4. The method of claim 1 , wherein the probability LUT is updated based on the collated error statistics and a set of parameters for the non-volatile memory pages being decoded that includes at least one of a type of page, a scramble seed type, and whether hard or soft information is read from the non-volatile memory. 5. The method of claim 1 , wherein the soft-decision LDPC decoder performs (2 N −1) (2 to the power N, minus 1) soft read decision reads, the results of which are encoded as N soft-decision read values R 0 , R 1 , . . . R N-1 , to determine a bit value and the probability LUT maps a composite read value R N-1 . . . R 1 R 0 to a probability value that the bit has a value of zero or one. 6. The method of claim 1 , wherein for each of the set of soft-decision read values, error statistics are collated on a number of times that a bit is correctly decoded to a binary zero and a number of times that a bit is correctly decoded to a binary one. 7. The method of claim 6 , wherein error statistics are collated for at least one frame that passes through the soft-decision LDPC decoder and are used to dynamically update the probability LUT for subsequent frames. 8. The method of claim 6 , further comprising determining asymmetry errors in the error statistics. 9. The method of claim 8 , further comprising providing asymmetry information to a hard-decision LDPC decoder to adjust a bit flipping voting decision in response to the determined asymmetry. 10. The method of claim 1 , wherein the non-volatile memory is a NAND flash memory. 11. The method of claim 1 , wherein the probability is provided by a probability generation module. 12. In a Low Density Parity Check (LDPC) decoder of a non-volatile memory controller, a method of decoding non-volatile memory pages of a non-volatile memory, comprising: providing information to a soft-decision LDPC decoder to decode the non-volatile memory pages, the information relating a measured set of soft-decision read values to a probability that a bit value has a value of zero or one; collating error statistics in the decoded output of the soft-decision LDPC decoder; and updating based on the error statistics, the probability of the bit having a value of zero or one for the measured set of soft-decision read values. 13. The method of claim 12 further updating the probability based on the collated error statistics and a set of parameters for non-volatile memory pages being decoded that includes at least one of a type of memory page, a scramble seed type, and whether hard or soft information is read from the non-volatile memory. 14. The method of claim 13 , wherein the for each of the set of soft-decision read values, error statistics are collated on a number of times that a bit is correctly decoded to a binary zero and a number of times that a bit is correctly decoded to a binary one. 15. The method of claim 14 , wherein error statistics are collated for at least one frame that passes through the soft-decision LDPC decoder and the updates are used to dynamically tune a probability LUT for subsequent frames. 16. The method of claim 14 , further comprising determining asymmetry errors in the error statistics and providing asymmetry information to a hard-decision LDPC decoder to adjust a bit flipping voting decision in response to the determined asymmetry. 17. The method of claim 12 , wherein the information is provided by a probability generation module. 18. A solid state storage device, comprising: a non-volatile memory controller to store data in a non-volatile memory via a plurality of channels, wherein the stored data is encoded using a low density parity check code; a flash controller including a soft-decision Low Density Parity Check (LDPC) decoder to decode encoded data received from the non-volatile memory via respective channels of the plurality of channels; and the non-volatile memory controller collating error statistics in a decoded output of the soft-decision LDPC decoder to adjust a relationship between a set of soft-decision read values to a probability, the probability used by the soft-decision LDPC decoder to decode the encoded data. 19. The solid state storage device of claim 18 , further comprising a hard-decision LDPC decoder wherein asymmetries in the monitored error statistics are used to adjust a bit flipping algorithm. 20. The solid state storage device of claim 18 , wherein the non-volatile memory controller includes a statistics collation module collating error statistics in the output of the soft-decision LDPC decoder. 21. The solid state storage device of claim 18 , wherein the probability is defined by a probability lookup table (LUT). 22. The solid state storage device of claim 21 , wherein probability LUT probabilities are determined based on a set of parameters for a non-volatile memory page and updates based on the statistics in the decoded output of the soft-decision LDPC decoder. 23. The solid state storage device of claim 22 , wherein the set of parameters comprises adjustable parameters for at least one of type of non-volatile memory page, scramble seed type, hard or soft information read from the non-volatile memory. 24. The solid state storage device of claim 22 , wherein the non-volatile memory is a NAND flash memory. 25. The solid state storage device of claim 18 , wherein the probability is provided by a probability generation module. 26. A method of decoding non-volatile memory pages of a non-volatile memory, comprising: collating error statistics in a decoded output of a soft-decision Low Density Parity Check (LDPC) decoder utilizing a probability to decode the non-volatile memory pages, the probability relating a set of soft-decision read values to a particular value; determining asymmetries in the collated error statistics of the soft-decision LDPC decoder; and utilizing the determined asymmetries to adjust a bit flipping voting decision of a hard-decision LDPC decoder. 27. The method of claim 26 , wherein the probability is provided by a probability generation module. 28. A solid state storage device, comprising: a non-volatile memory controller to store data in a non-volatile memory via a plurality of channels, wherein the stored data is encoded using a low density parity check code; a flash controller including a soft-decision Low Density Parity Check (LDPC) decoder to decode encoded data received from the non-volatile memory via respective channels of the plurality of channels; and the non-volatile me

Assignees

Inventors

Classifications

  • Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes · CPC title

  • using codes or arrangements adapted for a specific type of error (G06F11/1048 takes precedence) · CPC title

  • by updating bit probabilities or hard decisions in an iterative fashion for convergence to a final decoding result · CPC title

  • Adaptation to the number of estimated errors or to the channel state · CPC title

  • Online error correction · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9407294B2 cover?
A non-volatile memory controller for a solid state drive includes a soft-decision LDPC decoder. The soft-decision LDPC decoder includes a probability generation module. A processor reads collected statistics collated from decoded frames and tunes the performance of the soft-decision LDPC decoder performance. Additional parameters may also be taken into account, such as the scramble seed and the…
Who is the assignee on this patent?
Ocz Storage Solutions Inc, Toshiba Kk
What technology area does this patent fall under?
Primary CPC classification H03M13/3715. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Aug 02 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).