IP Library Granted Patent US 8,503,238
Granted Patent B1
US 8,503,238 · App. 13/188,250 · Granted Aug 6, 2013

Error recovery for flash memory

Inventors: Yingquan Wu (Santa Clara, CA); Marcus Marrow (Santa Clara, CA)
Assignee: SK hynix memory solutions inc.
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,503,238
App. No.
13/188,250
Granted
Aug 6, 2013
Kind
B1
Abstract

A system for error recovery for flash memory comprises a receiver and an interface. The receiver is configured to receive a portion of data. The receiver is further configured to identify a logical type of the portion of data. The receiver is further configured to adjust a threshold for error recovery of the portion of data based at least in part on the logical type. The receiver is further configured to read the portion of data using the adjusted threshold. The interface is coupled to the receiver.

Claims (45)

1. A system for error recovery for flash memory, comprising:

a receiver configured to:

receive an indication associated with an error-correcting code (ECC) decoding failure related to data stored on a page of flash memory;

identify a logical type of the page, including by determining a bit type associated with the page;

adjust a threshold based at least in part on the logical type, including by:

in the event it is determined the bit type associated with the page is a most significant bit (MSB), adjusting one or more MSB read thresholds; and

in the event it is determined the bit type associated with the page is a least significant bit (LSB), adjusting one or more LSB read thresholds; and

read the page using the adjusted threshold, including by:

in the event it is determined the bit type associated with the page is a MSB, reading the page using the one or more adjusted MSB read thresholds; and

in the event it is determined the bit type associated with the page is a LSB, reading the page using the one or more adjusted LSB read thresholds; and

an interface coupled to the receiver.

2. A system as recited in claim 1 , wherein the threshold is adjusted iteratively.

3. A system as recited in claim 1 , wherein the receiver is configured to adjust the threshold based at least in part on statistical information associated with a distribution of a threshold level.

4. A system as recited in claim 3 , wherein statistical information comprises one or more of the following: a fraction of bit flips, a mean, and a standard deviation.

5. A system as recited in claim 4 , wherein a mean and a standard deviation are determined based at least in part on a Q-function.

6. A system as recited in claim 3 , wherein the distribution is modeled using a Gaussian distribution.

7. A system as recited in claim 1 , wherein the adjusted threshold is determined based at least in part on error correction capability and a codeword length.

8. A system as recited in claim 1 , wherein the receiver is configured to adjust further based at least in part on (1) a first value associated with one or more flipped bits associated with a first adjusted read threshold and (2) a second value associated with one or more flipped bits associated with a second adjusted read threshold.

9. A system as recited in claim 8 , wherein the first value and the second value include a fraction of flipped bits.

10. A system as recited in claim 8 , wherein the receiver is further configured to adjust by comparing (1) a ratio of the first value and the second value and (2) one or more thresholds in order to determine which one of a plurality of ranges the ratio falls into, wherein the receiver is configured to adjust further based at least in part on which one of the plurality of ranges the ratio falls into.

11. A method for error recovery for flash memory, comprising:

receiving an indication associated with an error-correcting code (ECC) decoding failure related to data stored on a page of flash memory;

identifying a logical type of the page, including by determining a bit type associated with the page;

using a processor to adjust a threshold based at least in part on the logical type, including by:

in the event it is determined the bit type associated with the page is a most significant bit (MSB), adjusting one or more MSB read thresholds; and

in the event it is determined the bit type associated with the page is a least significant bit (LSB), adjusting one or more LSB read thresholds; and

reading the page using the adjusted threshold, including by:

in the event it is determined the bit type associated with the page is a MSB, reading the page using the one or more adjusted MSB read thresholds; and

in the event it is determined the bit type associated with the page is a LSB, reading the page using the one or more adjusted LSB read thresholds.

12. A method as recited in claim 11 , wherein adjusting the threshold is based at least in part on statistical information associated with a distribution of a threshold level.

13. A method as recited in claim 11 , wherein adjusting is further based at least in part on (1) a first value associated with one or more flipped bits associated with a first adjusted read threshold and (2) a second value associated with one or more flipped bits associated with a second adjusted read threshold.

14. A method as recited in claim 13 , wherein the first value and the second value include a fraction of flipped bits.

15. A method as recited in claim 13 , wherein adjusting further includes comparing (1) a ratio of the first value and the second value and (2) one or more thresholds in order to determine which one of a plurality of ranges the ratio falls into, wherein the receiver is configured to adjust further based at least in part on which one of the plurality of ranges the ratio falls into.

16. A computer program product for error recovery for flash memory, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving an indication associated with an error-correcting code (ECC) decoding failure related to data stored on a page of flash memory;

identifying a logical type of the page, including by determining a bit type associated with the page;

adjusting a threshold based at least in part on the logical type, including by:

in the event it is determined the bit type associated with the page is a most significant bit (MSB), adjusting one or more MSB read thresholds; and

in the event it is determined the bit type associated with the page is a least significant bit (LSB), adjusting one or more LSB read thresholds; and

reading the page using the adjusted threshold, including by:

in the event it is determined the bit type associated with the page is a MSB, reading the page using the one or more adjusted MSB read thresholds; and

in the event it is determined the bit type associated with the page is a LSB, reading the page using the one or more adjusted LSB read thresholds.

17. A computer program product as recited in claim 16 , wherein the computer instructions for adjusting further include computer instructions for adjusting further based at least in part on (1) a first value associated with one or more flipped bits associated with a first adjusted read threshold and (2) a second value associated with one or more flipped bits associated with a second adjusted read threshold.

18. A computer program product as recited in claim 17 , wherein the first value and the second value include a fraction of flipped bits.

19. A computer program product as recited in claim 17 , wherein the computer instructions for adjusting further include computer instructions for comparing (1) a ratio of the first value and the second value and (2) one or more thresholds in order to determine which one of a plurality of ranges the ratio falls into, wherein the receiver is configured to adjust further based at least in part on which one of the plurality of ranges the ratio falls into.

Assignments (2)
CHANGE OF NAME Recorded Feb 27, 2013
From: LINK_A_MEDIA DEVICES CORPORATION
To: SK HYNIX MEMORY SOLUTIONS INC.
Reel/Frame 029891/0111 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2011
From: WU, YINGQUAN; MARROW, MARCUS
To: LINK_A_MEDIA DEVICES CORPORATION
Reel/Frame 026905/0830 →
Continuity (4)
Provisional Application 61400092 · Jul 21, 2010
Provisional Application 61400116 · Jul 21, 2010
Provisional Application 61374780 · Aug 18, 2010
Provisional Application 61374783 · Aug 18, 2010