IP Library Granted Patent US 8,935,595
Granted Patent B2
US 8,935,595 · App. 13/583,617 · Granted Jan 13, 2015

LDPC erasure decoding for flash memories

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,935,595
App. No.
13/583,617
Granted
Jan 13, 2015
Kind
B2
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.

Claims (40)

1. 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.

2. The method of claim 1 wherein the flash memory comprises Single-Level Cell (SLC) technology flash memory, the initial reads are one in number, the additional reads are two in number, and each of the additional reads is at a respective read voltage.

3. The method of claim 2 further comprising providing respective voltage specifiers for each of the additional reads.

4. The method of claim 3 wherein at least one of the voltage specifiers is one of an explicit voltage level, an identifier of one of a plurality of predetermined voltage levels, and a unique identification of one of a plurality of read request types.

5. The method of claim 1 wherein the flash memory comprises Multi-Level Cell (MLC) technology flash memory.

6. The method of claim 1 wherein the receiving is compatible with one or more of a plurality of interface standards, the interface standards comprising

a Serial Advanced Technology Attachment (SATA) interface standard,

a Serial Attached Small Computer System Interface (SAS) interface standard,

a Peripheral Component Interconnect express (PCIe) interface standard,

a Fibre Channel interface standard, and

an Ethernet interface standard.

7. The method of claim 1 wherein the requesting initial reads and the requesting additional reads are via a controller, the controller and the flash memory are comprised in a storage sub-system implemented as one of a plurality of non-volatile storage component types, and the non-volatile storage component types comprise

a Universal Serial Bus (USB) storage component type,

a Compact Flash (CF) storage component type,

a MultiMediaCard (MMC) storage component type,

a Secure Digital (SD) storage component type,

a Memory Stick storage component type, and

an xD-picture card storage component type.

8. 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.

9. The system of claim 8 wherein the flash memory comprises Single-Level Cell (SLC) technology flash memory, the initial reads are one in number, the additional reads are two in number, and each of the additional reads is at a respective read voltage.

10. The system of claim 9 wherein the controller is further enabled to provide respective voltage specifiers for each of the additional reads.

11. The system of claim 10 wherein at least one of the voltage specifiers is one of an explicit voltage level, an identifier of one of a plurality of predetermined voltage levels, and a unique identification of one of a plurality of read request types.

12. The system of claim 8 wherein the flash memory comprises Multi-Level Cell (MLC) technology flash memory.

13. The system of claim 8 wherein the controller and the flash memory are comprised in a storage sub-system implemented as one of a plurality of non-volatile storage component types, and the non-volatile storage component types comprise

a Universal Serial Bus (USB) storage component type,

a Compact Flash (CF) storage component type,

a MultiMediaCard (MMC) storage component type,

a Secure Digital (SD) storage component type,

a Memory Stick storage component type, and

an xD-picture card storage component type.

Assignments (4)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2015
From: LSI CORPORATION
To: SEAGATE TECHNOLOGY LLC
Reel/Frame 034771/0571 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS INCLUDED IN SECURITY INTEREST PREVIOUSLY RECORDED AT REEL/FRAME (032856/0031) Recorded Nov 6, 2014
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 034177/0257 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →