Endurance enhancement scheme using memory re-evaluation
First Claim
1. An apparatus, comprising:
- non-volatile memory configured to store data; and
a controller and logic integrated with and/or executable by the controller, the logic being configured to;
determine, by the controller, that at least one block of the non-volatile memory and/or portion of a block of the non-volatile memory meets a retirement condition;
re-evaluate, by the controller, the at least one block and/or the portion of a block to determine whether to retire the at least one block and/or the portion of a block;
indicate, by the controller, that the at least one block and/or the portion of a block remains usable when a result of the re-evaluation is not to retire the block; and
indicate, by the controller, that the at least one block and/or the portion of a block is retired when the result of the re-evaluation is to retire the block,wherein the re-evaluating includes;
assigning the at least one block and/or the portion of a block into a delay queue for at least a dwell time and/or a read delay,performing one or more erase operations on the at least one block and/or the portion of a block,writing data to the at least one block and/or the portion of a block,performing a calibration of the at least one block and/or the portion of a block, andperforming a read sweep on the at least one block and/or the portion of a block,wherein performing the calibration includes determining an optimal threshold voltage shift value for each of the at least one block and/or the portion of a block.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus, according to one embodiment, includes non-volatile memory configured to store data, and a controller and logic integrated with and/or executable by the controller, the logic being configured to: determine, by the controller, that at least one block of the non-volatile memory and/or portion of a block of the non-volatile memory meets a retirement condition, re-evaluate, by the controller, the at least one block and/or the portion of a block to determine whether to retire the at least one block and/or the portion of a block, indicate, by the controller, that the at least one block and/or the portion of a block remains usable when a result of the re-evaluation is not to retire the block, and indicate, by the controller, that the at least one block and/or the portion of a block is retired when the result of the re-evaluation is to retire the block.
-
Citations
17 Claims
-
1. An apparatus, comprising:
-
non-volatile memory configured to store data; and a controller and logic integrated with and/or executable by the controller, the logic being configured to; determine, by the controller, that at least one block of the non-volatile memory and/or portion of a block of the non-volatile memory meets a retirement condition; re-evaluate, by the controller, the at least one block and/or the portion of a block to determine whether to retire the at least one block and/or the portion of a block; indicate, by the controller, that the at least one block and/or the portion of a block remains usable when a result of the re-evaluation is not to retire the block; and indicate, by the controller, that the at least one block and/or the portion of a block is retired when the result of the re-evaluation is to retire the block, wherein the re-evaluating includes; assigning the at least one block and/or the portion of a block into a delay queue for at least a dwell time and/or a read delay, performing one or more erase operations on the at least one block and/or the portion of a block, writing data to the at least one block and/or the portion of a block, performing a calibration of the at least one block and/or the portion of a block, and performing a read sweep on the at least one block and/or the portion of a block, wherein performing the calibration includes determining an optimal threshold voltage shift value for each of the at least one block and/or the portion of a block. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-implemented method, comprising:
-
determining, by a computer, that at least one block of a non-volatile memory and/or portion of a block of the non-volatile memory meets a retirement condition; re-evaluating, by the computer, that the at least one block and/or the portion of a block to determine whether to retire the at least one block and/or the portion of a block; indicating, by the computer, that the at least one block and/or the portion of a block remains usable when a result of the re-evaluation is not to retire the block; and indicating, by the computer, that the at least one block and/or the portion of a block is retired when the result of the re-evaluation is to retire the block, wherein the re-evaluating includes; assigning the at least one block and/or the portion of a block into a delay queue for at least a dwell time and/or a read delay; performing one or more erase operations on the at least one block and/or the portion of a block; writing data to the at least one block and/or the portion of a block; performing a calibration of the at least one block and/or the portion of a block; and performing a read sweep on the at least one block and/or the portion of a block, wherein performing the calibration includes determining an optimal threshold voltage shift value for each of the at least one block and/or the portion of a block. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions readable and/or executable by a controller to cause the controller to:
-
determine, by the controller, that at least one block of a non-volatile memory and/or portion of a block of the non-volatile memory meets a retirement condition; re-evaluate, by the controller, the at least one block and/or the portion of a block to determine whether to retire the at least one block and/or the portion of a block; indicate, by the controller, that the at least one block and/or the portion of a block remains usable when a result of the re-evaluation is not to retire the block; and indicate, by the controller, that the at least one block and/or the portion of a block is retired when the result of the re-evaluation is to retire the block, wherein the re-evaluating includes at least one of; assigning the at least one block and/or the portion of a block into a delay queue for at least a dwell time and/or a read delay; performing one or more erase operations on the at least one block and/or the portion of a block; writing data to the at least one block and/or the portion of a block; performing a calibration of the at least one block and/or the portion of a block; and performing a read sweep on the at least one block and/or the portion of a block. - View Dependent Claims (16, 17)
-
Specification