IP Library Granted Patent US 8,665,650
Granted Patent B2
US 8,665,650 · App. 13/397,434 · Granted Mar 4, 2014

Reliability metrics management for soft decoding

Inventor: Xueshi Yang (Cupertino, CA)
Assignee: Marvell World Trade Ltd.
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,665,650
App. No.
13/397,434
Granted
Mar 4, 2014
Kind
B2
Abstract

Embodiments provide a method for reading a target memory sector of a memory. The method comprises, based on read data corresponding to a plurality of memory sectors of the memory, estimating first one or more reference voltages and, using the first one or more reference voltages, performing a first read operation on the target memory sector. The method further comprises determining an error correcting code (ECC) decoding failure of the first read operation and, in response to determining the ECC decoding failure of the first read operation and based on read data corresponding to the target memory sector, updating the estimate of the first one or more reference voltages to generate second one or more reference voltages. The method also comprises using the second one or more reference voltages, performing a second read operation on the target memory sector.

Claims (56)

1. A method for reading a target memory sector of a memory, the method comprising:

based on read data corresponding to a plurality of memory sectors of the memory, estimating (i) first one or more reference voltages, and (ii) a first set of log-likelihood ratios (LLRs) corresponding to the first one or more reference voltages, wherein an LLR is an indication of a confidence for each data bit read from a memory cell for a given range of reference voltages;

using the first one or more reference voltages, performing a first read operation on the target memory sector;

determining an error correcting code (ECC) decoding failure of the first read operation while ECC decoding results of the first read operation using the first set of LLRs;

in response to determining the ECC decoding failure of the first read operation and based on read data corresponding to the target memory sector, (i) updating the estimate of the first one or more reference voltages to generate second one or more reference voltages, and (ii) updating the estimate of the first set of LLRs to generate a second set of LLRs; and

using the second one or more reference voltages, performing a second read operation on the target memory sector, wherein performing the second read operation further comprises ECC decoding the results of the second read operation using the second set of LLRs.

2. The method of claim 1 wherein estimating the first one or more reference voltages and estimating the first set of LLRs further comprises:

receiving read data corresponding to a first subset of the plurality of memory sectors;

subsequent to receiving the read data corresponding to the first subset and based on the read data corresponding to the first subset, estimating a third one or more reference voltages to estimate third one or more reference voltages and a third set of LLRs to form estimated third set of LLRs; and

based on receiving new read data corresponding to one or more of the plurality of memory sectors, adaptively updating the estimated third one or more reference voltages and the estimated third set of LLRs to generate the first one or more reference voltages and the first set of LLRs, respectively.

3. The method of claim 2 , wherein estimating the third one or more reference voltages and the third set of LLRs occurs subsequent to an initialization of the memory.

4. The method of claim 2 , wherein:

data in the target memory sector, that is to be read, were written during a first time period; and

the new read data corresponding to the one or more of the plurality of memory sectors were also written during or near the first time period.

5. The method of claim 1 , wherein updating the estimate of the first one or more reference voltages and updating the estimate of the first set of LLRs further comprises:

in response to determining the ECC decoding failure of the first read operation, performing a plurality of read operations on the target memory sector to generate current read data corresponding to the target memory sector; and

based on the current read data corresponding to the target memory sector, updating the estimate of the first one or more reference voltages to generate the second one or more reference voltages and the estimate of the first set of LLRs to generate the second set of LLRs.

6. The method of claim 1 , wherein updating the estimate of the first one or more reference voltages and updating the estimate of the first set of LLRs further comprises:

receiving the read data corresponding to the target memory sector; and

based on the read data corresponding to the target memory sector, updating the estimate of the first one or more reference voltages to generate the second one or more reference voltages and the estimate of the first set of LLRs to generate the second set of LLRs.

7. The method of claim 1 , further comprising:

based upon failing to successfully ECC decode a result of the second read operation using the second set of LLRs, determining a second ECC decoding failure of the second read operation.

8. The method of claim 7 , further comprising:

in response to determining the second ECC decoding failure of the second read operation, ECC decoding the results of the second read operation using a third set of LLRs.

9. The method of claim 8 , further comprising:

repeating ECC decoding the results of the second read operation using different sets of LLRs, until one or more of the following occurs: the ECC decoding is successful, the ECC decoding is repeated for a threshold number of times, and the repeated ECC decoding is performed for at least a threshold duration of time.

10. A memory system comprising:

a memory comprising a target sector;

a read module;

an estimation module configured to, based on read data corresponding to a plurality of memory sectors of the memory, estimate (i) first one or more reference voltages, and (ii) a first set of log-likelihood ratios (LLRs) corresponding to the first one or more reference voltages, wherein an LLR is an indication of a confidence for a given range of reference voltages; and

a decoder module,

wherein the read module is configured to perform, using the first one or more reference voltages, a first read operation on a target memory sector of the memory,

wherein the decoder module is configured to determine an error correcting code (ECC) failure of the first read operation while decoding results of the first read operation using the first set of LLRs,

wherein in response to the decoder module determining the ECC failure of the first read operation and based on read data corresponding to the target memory sector, the estimation module is further configured to (i) update the estimate of the first one or more reference voltages to generate a second one or more reference voltages, and (ii) update the estimate of the first set of LLRs to generate a second set of LLRs, and

wherein using the second one or more reference voltages, the read module is further configured to perform a second read operation on the target memory sector,

wherein using the second set of LLRs, the decoder module is further configured to ECC decode results of the second read operation.

11. The memory system of claim 10 , wherein the estimation module is further configured to:

receive read data corresponding to a first subset of the plurality of memory sectors;

subsequent to receiving the read data corresponding to the first subset and based on the read data corresponding to the first subset, estimate a third one or more reference voltages to form estimated third one or more reference voltages and a third set of LLRs to form estimated third set of LLRs; and

based on receiving new read data corresponding to one or more of the plurality of memory sectors, adaptively update the estimated third one or more reference voltages and the estimated third set of LLRs to generate the first one or more reference voltages and the first set of LLRs, respectively.

12. The memory system of claim 11 , wherein:

data in the target memory sector, that is to be read, were written during a first time period; and

the new read data corresponding to the one or more of the plurality of memory sectors were also written during or near the first time period.

13. The memory system of claim 10 , wherein:

in response to determining the failure of the first read operation, the read module is further configured to perform a plurality of read operations on the target memory sector to generate current read data corresponding to the target memory sector; and

based on the current read data corresponding to the target memory sector, the estimation module is further configured to update the estimate of the first one or more reference voltages to generate the second one or more reference voltages and the estimate of the first set of LLRs to generate the second set of LLRs.

14. The memory system of claim 10 , wherein:

the estimation module is configured to receive previous read data corresponding to the target memory sector, wherein the previous read data corresponding to the target memory sector are from previous read operations on the target memory sector; and

based on the previous read data corresponding to the target memory sector, the estimation module is configured to update the estimate of the first one or more reference voltages to generate the second one or more reference voltages and the estimate of the first set of LLRs to generate a second set of LLRs.

15. The memory system of claim 10 , wherein the decoder module is further configured to ECC decode a result of the second read operation using the second set of LLRs.

16. The memory system of claim 10 , wherein:

if ECC decoding the result of the second read operation using the second set of LLRs fails, the decoder module is further configured to ECC decode the results of the second read operation using a third set of LLRs.

17. The memory system of claim 10 , wherein:

the decoder module is further configured to repeat ECC decoding the results of the second read operation using different of sets of LLRs, until one or more of the following occurs:

the ECC decoding is successful, the ECC decoding is repeated for a threshold number of times, and the repeated ECC decoding is performed for at least a threshold duration of time.

18. The memory system of claim 10 , wherein the memory is one of an electrically-erasable programmable read-only memory (EEPROM) and a flash memory.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2012
From: YANG, XUESHI
To: MARVELL SEMICONDUCTOR, INC.
Reel/Frame 027800/0286 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2012
From: MARVELL SEMICONDUCTOR, INC.
To: MARVELL INTERNATIONAL LTD.
Reel/Frame 027800/0303 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2012
From: MARVELL INTERNATIONAL LTD.
To: MARVELL WORLD TRADE LTD.
Reel/Frame 027800/0347 →
LICENSE Recorded Mar 2, 2012
From: MARVELL WORLD TRADE LTD.
To: MARVELL INTERNATIONAL LTD.
Reel/Frame 027800/0375 →
Continuity (2)
Provisional Application 61444534 · Feb 18, 2011
Related Publication 20120213001A1 · Aug 23, 2012