EFFICIENT MANAGEMENT OF PAGE RETIREMENT IN NON-VOLATILE MEMORY UTILIZING PAGE RETIREMENT CLASSES
First Claim
1. A method in a data storage system including a non-volatile memory array controlled by a controller, wherein the non-volatile memory array includes a plurality of blocks each including a plurality of physical pages, the method comprising:
- the controller implementing a plurality of nested page retirement classes each defined by a respective one of a plurality of different nested subsets of page indices of physical pages within the plurality of blocks that are to be considered retired from use;
for each block among the plurality of blocks, the controller updating an indication of a page retirement class to which the block belongs in response to detection of a retirement-causing error in a data page stored in a physical page of the block; and
the controller forming block stripes for storing data from selected ones of the plurality of blocks identified in ready-to-use queues based on the page retirement classes of the blocks.
1 Assignment
0 Petitions
Accused Products
Abstract
In at least one embodiment, a non-volatile memory array including a plurality of blocks each including a plurality of physical pages is controlled by a controller. The controller implements a plurality of nested page retirement classes each defined by a respective one of a plurality of different nested subsets of page indices of physical pages within the plurality of blocks that are to be considered retired from use. For each block among the plurality of blocks, the controller updating an indication of a page retirement class to which the block belongs in response to detection of a retirement-causing error in a data page stored in a physical page of the block. The controller forms block stripes for storing data from the plurality of blocks based on the page retirement classes of the blocks.
-
Citations
19 Claims
-
1. A method in a data storage system including a non-volatile memory array controlled by a controller, wherein the non-volatile memory array includes a plurality of blocks each including a plurality of physical pages, the method comprising:
-
the controller implementing a plurality of nested page retirement classes each defined by a respective one of a plurality of different nested subsets of page indices of physical pages within the plurality of blocks that are to be considered retired from use; for each block among the plurality of blocks, the controller updating an indication of a page retirement class to which the block belongs in response to detection of a retirement-causing error in a data page stored in a physical page of the block; and the controller forming block stripes for storing data from selected ones of the plurality of blocks identified in ready-to-use queues based on the page retirement classes of the blocks. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A data storage system, comprising:
a controller configured to be coupled to a non-volatile memory array including a plurality of blocks each including a plurality of physical pages, wherein the controller implements a plurality of nested page retirement classes each defined by a respective one of a plurality of different nested subsets of page indices of physical pages within the plurality of blocks that are to be considered retired from use, and wherein the controller, for each block among the plurality of blocks, updates an indication of a page retirement class to which the block belongs in response to detection of a retirement-causing error in a data page stored in a physical page of the block, and wherein the controller forms block stripes for storing data from selected ones of the plurality of blocks identified in ready-to-use queues based on the page retirement classes of the blocks. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
14. A computer program product, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a controller for a non-volatile memory array including a plurality of blocks each including a plurality of physical pages, to cause the controller to perform:
-
implementing a plurality of nested page retirement classes each defined by a respective one of a plurality of different nested subsets of page indices of physical pages within the plurality of blocks that are to be considered retired from use; for each block among the plurality of blocks, updating an indication of a page retirement class to which the block belongs in response to detection of a retirement-causing error in a data page stored in a physical page of the block; and forming block stripes for storing data from selected ones of the plurality of blocks identified in ready-to-use queues based on the page retirement classes of the blocks. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification