RUN-TIME TESTING OF MEMORY LOCATIONS IN A NON-VOLATILE MEMORY
First Claim
1. A method of managing a non-volatile memory, wherein the non-volatile memory comprises at least one die having a plurality of blocks, the method comprising:
- detecting an error event indicative of a systematic failure of a die of the non-volatile memory;
responsive to the detecting, selecting at least one unused block in the die;
performing a run-time test on the selected at least one unused block; and
managing the die of the non-volatile memory based on results of the run-time test.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods are disclosed for performing run-time tests on a non-volatile memory (“NVM”), such as flash memory. The run-time tests may be tests that are performed on the NVM while the NVM can be operated by an end user (as opposed to during a manufacturing phase). In some embodiments, a controller for the NVM may detect an error event that may be indicative of a systemic failure of a die of the NVM. The controller may then select one or more blocks in the die to test, which may be dies that are currently not being used to store user data. The controller may post process the results of the test to determine whether there is a systemic failure, such as a column failure, and may treat the systemic failure if there is one.
27 Citations
22 Claims
-
1. A method of managing a non-volatile memory, wherein the non-volatile memory comprises at least one die having a plurality of blocks, the method comprising:
-
detecting an error event indicative of a systematic failure of a die of the non-volatile memory; responsive to the detecting, selecting at least one unused block in the die; performing a run-time test on the selected at least one unused block; and managing the die of the non-volatile memory based on results of the run-time test. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A memory system, comprising:
-
a non-volatile memory comprising a plurality of dies, wherein each of the dies comprises a plurality of blocks; a controller configured to; select one of the dies to perform a test, wherein the selected die comprises a first plurality of unused blocks and a second plurality of blocks programmed with user data; choose at least one of the unused blocks in the selected die; and perform the test on the chosen blocks. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A method of identifying a cause of run-time errors in a first block of a non-volatile memory, the method comprising:
-
performing garbage collection on the first block to free the first block for a run-time test; selecting a second block for the run-time test, wherein the second block is on the same die as the first block; performing run-time tests on the first and second blocks; and comparing results of testing the first block to results of testing the second block to determine whether the errors of the first block are die-wide or block-specific. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
Specification