EMERGING BAD BLOCK DETECTION
First Claim
1. A method of monitoring a block of a non-volatile integrated circuit memory device, the method comprising:
- decoding error correction codes to determine whether or not a page of data of the block of the memory device was read with at least one error; and
maintaining a history of errors for the block of the memory device corresponding to the page that was read at least when the page was read with at least one error, wherein the history of errors is used to indicate whether or not to retire the block early.
8 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.
-
Citations
23 Claims
-
1. A method of monitoring a block of a non-volatile integrated circuit memory device, the method comprising:
-
decoding error correction codes to determine whether or not a page of data of the block of the memory device was read with at least one error; and maintaining a history of errors for the block of the memory device corresponding to the page that was read at least when the page was read with at least one error, wherein the history of errors is used to indicate whether or not to retire the block early. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method of managing blocks for a non-volatile integrated circuit memory device, the method comprising:
-
receiving a command to erase a block of memory or write to a page of the block of memory; and disabling an erase or write based at least in part on a history of errors associated with read operations for one or more pages of the block. - View Dependent Claims (13, 14, 15)
-
-
16. A method of accessing a page of data from a non-volatile integrated circuit memory device, the method comprising:
-
requesting a read of the page of data from the memory device; inspecting error correction codes (ECC) associated with the page; and providing a status to an operating system that indicates that the page of data was read correctly regardless of whether or not the page of data included any uncorrectable errors. - View Dependent Claims (17, 18, 19, 20, 21)
-
-
22. A method of maintaining one or more indications for indicating that a block of a non-volatile integrated circuit memory device, the method comprising:
preventing further erasing or reprogramming of the block at least partially in response to at least one of; determining that an error detected as part of at least one read operation performed with respect to at least one page of the block of memory is not correctable via decoding of an error correction code;
ordetermining that a history of errors collected for the blocks of the memory device indicates that at least one error has occurred during a prior read operation for the block.
-
23. An apparatus for monitoring a block of a non-volatile integrated circuit memory device, the apparatus comprising:
-
a module configured to decode error correction codes to determine whether or not a page of data of the block of the memory device was read with at least one error; and a module configured to maintain a history of errors for the block of the memory device corresponding to the page that was read at least when the page was read with at least one error, wherein the history of errors is used to indicate whether or not to retire the block early.
-
Specification