LDPC Erasure Decoding for Flash Memories
First Claim
1. A system comprising:
- a means for requesting, in response to receiving a request for data stored at a particular location in a flash memory, one or more initial reads at the particular location;
a means for detecting, in response to completing the initial reads, an uncorrectable error via a hard-decision based Low Density Parity Check (LDPC) decoding based on results of the initial reads;
a means for requesting, in response to the means for detecting, one or more additional reads at the particular location; and
a means for performing, in response to completing the additional reads, an erasure-decision LDPC decoding based on respective results of the additional reads.
6 Assignments
0 Petitions
Accused Products
Abstract
A Solid-State Disk (SSD) controller uses LDPC decoding to enable flash memory accesses with improved latency and/or error correction capabilities. With SLC flash memory having a BER less than a predetermined value, the SSD controller uses a 1-bit read (single read) hard-decision LDPC decoder to access the flash memory. If the hard-decision LDPC decoder detects an uncorrectable error, then the SSD controller uses a 1.5-bit read (two reads) erasure-decision LDPC decoder to access the flash memory. With flash memory having a raw BER between two other predetermined values, the SSD controller omits the use of the hard-decision LDPC decoder and uses only the erasure-decision LDPC decoder to access the flash memory. Variations of the SSD controller similarly access MLC flash memory. Some SSD controllers dynamically switch between hard-decision and erasure-based decoders based on dynamic decoder selection criteria.
-
Citations
20 Claims
-
1. A system comprising:
-
a means for requesting, in response to receiving a request for data stored at a particular location in a flash memory, one or more initial reads at the particular location; a means for detecting, in response to completing the initial reads, an uncorrectable error via a hard-decision based Low Density Parity Check (LDPC) decoding based on results of the initial reads; a means for requesting, in response to the means for detecting, one or more additional reads at the particular location; and a means for performing, in response to completing the additional reads, an erasure-decision LDPC decoding based on respective results of the additional reads. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method comprising:
-
requesting, in response to receiving a request for data stored at a particular location in a flash memory, one or more initial reads at the particular location; detecting, in response to completing the initial reads, an uncorrectable error via a hard-decision based Low Density Parity Check (LDPC) decoding based on results of the initial reads; requesting, in response to the detecting, one or more additional reads at the particular location; and performing, in response to completing the additional reads, an erasure-decision LDPC decoding based on respective results of the additional reads. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system comprising:
-
an interface; and a controller enabled to request, in response to receiving a request via the interface for data stored at a particular location in a flash memory, one or more initial reads at the particular location; detect, in response to completing the initial reads, an uncorrectable error via a hard-decision based Low Density Parity Check (LDPC) decoding based on results of the initial reads; request, in response to the detection, one or more additional reads at the particular location; and perform, in response to completing the additional reads, an erasure-decision LDPC decoding based on respective results of the additional reads. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification