SYSTEMS AND METHODS FOR RETRIEVING DATA
First Claim
1. A method comprising:
- updating a count at least partially in response to determining that an error was detected in a page of data read from a block of memory cells;
resetting the count upon power up of a device that includes the block of memory cells; and
indicating the block for retirement in response to the count reaching a threshold value.
7 Assignments
0 Petitions
Accused Products
Abstract
Apparatus and methods, such as those that read data from non-volatile integrated circuit memory devices, such as NAND flash. For example, disclosed techniques can be embodied in a device driver of an operating system. Errors are tracked during read operations. If sufficient errors are observed during read operations, the block is then retired when it is requested to be erased or a page of the block is to be written. One embodiment is a technique to recover data from uncorrectable errors. For example, a read mode can be changed to a more reliable read mode to attempt to recover data. One embodiment further returns data from the memory device regardless of whether the data was correctable by decoding of error correction code data or not.
41 Citations
52 Claims
-
1. A method comprising:
-
updating a count at least partially in response to determining that an error was detected in a page of data read from a block of memory cells; resetting the count upon power up of a device that includes the block of memory cells; and indicating the block for retirement in response to the count reaching a threshold value. - View Dependent Claims (2, 3, 4)
-
-
5. A method comprising:
-
maintaining at least a partial history of errors during read operations for a block of memory cells, wherein maintaining comprises using a counter to maintain the at least a partial history; providing an indication of the reliability of the block responsive to the at least a partial history; and resetting the counter upon power up of a device including the block of memory cells. - View Dependent Claims (6, 7, 8, 9)
-
-
10. A method comprising:
-
if an error is detected for a page of data read from a block of memory cells, determining whether the error is correctable; and if the error is not correctable, indicating that the block of memory cells should be retired. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A method comprising:
-
if an error is detected for a page of data read from a block of memory cells, determining whether the error is correctable; if the error is correctable, determining an extent to which the error is corrected; and if the extent is greater than a threshold, indicating that the block of memory cells should be retired. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22)
-
-
23. A method comprising:
-
if an error is detected for a page of data read from a block of memory cells, determining whether the error is correctable; if the error is correctable, determining an extent to which the error is corrected; and if the extent is not greater than a threshold, updating a history of errors encountered while reading pages of data from the block of memory cells. - View Dependent Claims (24, 25, 26, 27)
-
-
28. A device driver configured to configured to perform a method comprising:
-
maintaining at least a partial history of errors during read operations for a block of memory cells, wherein maintaining comprises using a counter to maintain the at least a partial history; providing an indication of the reliability of the block responsive to the at least a partial history; and resetting the counter upon power up of a device including the block of memory cells. - View Dependent Claims (29, 30)
-
-
31. A device driver configured to configured to perform a method comprising:
-
if an error is detected for a page of data read from a block of memory cells, determining whether the error is correctable; and if the error is not correctable, indicating that the block of memory cells should be retired.
-
-
32. A device driver configured to configured to perform a method comprising:
-
if an error is detected for a page of data read from a block of memory cells, determining whether the error is correctable; if the error is correctable, determining an extent to which the error is corrected; and if the extent is greater than a threshold, indicating that the block of memory cells should be retired.
-
-
33. A device driver configured to configured to perform a method comprising:
-
if an error is detected for a page of data read from a block of memory cells, determining whether the error is correctable; if the error is correctable, determining an extent to which the error is corrected; and if the extent is not greater than a threshold, updating a history of errors encountered while reading pages of data from the block of memory cells.
-
-
34. A method comprising:
-
retrieving an error history associated with a block of memory cells; determining whether the block of memory cells is reliable responsive to the error history; and if the block is determined to be reliable, instructing a device to perform a requested operation on the block of memory cells. - View Dependent Claims (35, 36, 37, 38, 39, 40, 41)
-
-
42. A device driver configured to configured to perform a method comprising:
-
retrieving an error history associated with a block of memory cells; determining whether the block of memory cells is reliable responsive to the error history; and if the block is determined to be reliable, instructing a device to perform a requested operation on the block of memory cells. - View Dependent Claims (43, 44)
-
-
45. A method of recovering data, the method comprising:
-
changing a mode of a read of a page of data from a device; requesting a read of the page of data from the device, wherein the device provides the page of data responsive thereto; if the page of data provided by the device includes an error, determining whether the page of data provided by the device is correctable; and if the page of data provided by the device is not correctable, changing the mode of the read to a different mode. - View Dependent Claims (46, 47, 48, 49)
-
-
50. A device driver configured to configured to perform a method comprising:
-
changing a mode of a read of a page of data from a device; requesting a read of the page of data from the device, wherein the device provides the page of data responsive thereto; if the page of data provided by the device includes an error, determining whether the page of data provided by the device is correctable; and if the page of data provided by the device is not correctable, changing the mode of the read to a different mode. - View Dependent Claims (51, 52)
-
Specification