Accelerating garbage collection of flushed logical erase blocks in non-volatile memory
First Claim
1. A method of garbage collection in a non-volatile memory, the method comprising:
- a controller of the non-volatile memory tracking identifiers of closed logical erase blocks (LEBs) of non-volatile memory for which programming has closed until after the LEBs are erased, wherein the tracking includes tracking a first subset of the closed LEBs that are ineligible for selection for garbage collection and tracking a different second subset of the closed LEBs that are eligible for selection for garbage collection;
the controller continuously migrating closed LEBs from the first subset to the second subset over time;
in response to closing a particular LEB, the controller placing an identifier of the particular LEB into one of the first and second subsets selected based on a first amount of dummy data programmed into the closed LEBs tracked in the first subset; and
thereafter, in response to selection of the particular LEB for garbage collection, the controller performing garbage collection on the particular LEB.
1 Assignment
0 Petitions
Accused Products
Abstract
A controller of a non-volatile memory tracks identifiers of logical erase blocks (LEBs) for which programming has closed. A first subset of the closed LEBs tracks LEBs that are ineligible for selection for garbage collection, and a second subset of the closed LEBs tracks LEBs that are eligible for selection for garbage collection. The controller continuously migrates closed LEBs from the first subset to the second subset over time. In response to closing a particular LEB, the controller places an identifier of the particular LEB into one of the first and second subsets selected based on a first amount of dummy data programmed into the closed LEBs tracked in the first subset. Thereafter, in response to selection of the particular LEB for garbage collection, the controller performs garbage collection on the particular LEB.
-
Citations
20 Claims
-
1. A method of garbage collection in a non-volatile memory, the method comprising:
-
a controller of the non-volatile memory tracking identifiers of closed logical erase blocks (LEBs) of non-volatile memory for which programming has closed until after the LEBs are erased, wherein the tracking includes tracking a first subset of the closed LEBs that are ineligible for selection for garbage collection and tracking a different second subset of the closed LEBs that are eligible for selection for garbage collection; the controller continuously migrating closed LEBs from the first subset to the second subset over time; in response to closing a particular LEB, the controller placing an identifier of the particular LEB into one of the first and second subsets selected based on a first amount of dummy data programmed into the closed LEBs tracked in the first subset; and thereafter, in response to selection of the particular LEB for garbage collection, the controller performing garbage collection on the particular LEB. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A data storage system, comprising:
a controller for a non-volatile memory, wherein the controller is configured to perform; the controller tracking identifiers of closed logical erase blocks (LEBs) of the non-volatile memory for which programming has closed until after the LEBs are erased, wherein the tracking includes tracking a first subset of the closed LEBs that are ineligible for selection for garbage collection and tracking a different second subset of the closed LEBs that are eligible for selection for garbage collection; the controller continuously migrating closed LEBs from the first subset to the second subset over time; in response to closing a particular LEB, the controller placing an identifier of the particular LEB into one of the first and second subsets selected based on a first amount of dummy data programmed into the closed LEBs tracked in the first subset; and thereafter, in response to selection of the particular LEB for garbage collection, the controller performing garbage collection on the particular LEB. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
16. A computer program product, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions being executable by a controller of a non-volatile memory to cause the controller to perform:
-
a controller of the non-volatile memory tracking identifiers of closed logical erase blocks (LEBs) of non-volatile memory for which programming has closed until after the LEBs are erased, wherein the tracking includes tracking a first subset of the closed LEBs that are ineligible for selection for garbage collection and tracking a different second subset of the closed LEBs that are eligible for selection for garbage collection; the controller continuously migrating closed LEBs from the first subset to the second subset over time; in response to closing a particular LEB, the controller placing an identifier of the particular LEB into one of the first and second subsets selected based on a first amount of dummy data programmed into the closed LEBs tracked in the first subset; and thereafter, in response to selection of the particular LEB for garbage collection, the controller performing garbage collection on the particular LEB. - View Dependent Claims (17, 18, 19, 20)
-
Specification