Tracking and utilizing second level map index for recycling of solid state drive blocks
First Claim
1. A recycling method for a solid state drive, the method comprising:
- selecting a logical block for recycle, the logical block including a plurality of pages across a plurality of flash dies;
retrieving an address map index record associated with the logical block selected for recycle;
for each particular address map index stored in the address map index record, performing the steps of;
retrieving a set of address map entries referenced by the particular address map index;
processing each of the plurality of pages included in the logical block and determining whether any page of the plurality of pages included in the logical block is referenced by the set of address map entries; and
in response to determining that at least one page of the plurality of pages included in the logical block is referenced by the set of address map entries, writing said at least one page to a different logical block; and
erasing the plurality of pages in the logical block.
5 Assignments
0 Petitions
Accused Products
Abstract
A recycling method for a solid state drive is disclosed. The method includes selecting a logical block for recycle wherein the logical block includes a plurality of pages across a plurality of flash dies. The method also includes retrieving an address map index record associated with the logical block selected for recycle. For each particular address map index stored in the address map index record, the recycling method retrieves a set of address map entries referenced by the particular address map index, determines whether any page in the logical block is referenced by the set of address map entries, and if at least one page in the logical block is referenced by the set of address map entries, the method writes the at least one page to a different logical block. The method further includes erasing the plurality of pages in the logical block.
-
Citations
20 Claims
-
1. A recycling method for a solid state drive, the method comprising:
-
selecting a logical block for recycle, the logical block including a plurality of pages across a plurality of flash dies; retrieving an address map index record associated with the logical block selected for recycle; for each particular address map index stored in the address map index record, performing the steps of; retrieving a set of address map entries referenced by the particular address map index; processing each of the plurality of pages included in the logical block and determining whether any page of the plurality of pages included in the logical block is referenced by the set of address map entries; and in response to determining that at least one page of the plurality of pages included in the logical block is referenced by the set of address map entries, writing said at least one page to a different logical block; and erasing the plurality of pages in the logical block. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A recycling method for a solid state drive, the solid state drive utilizing a two level map for tracking logical address to physical address mapping, the method comprising:
-
selecting a logical block for recycle, the logical block including a plurality of pages across a plurality of flash dies; retrieving a second level map (SLM) index record associated with the logical block selected for recycle; for each particular SLM index stored in the SLM index record, performing the steps of; retrieving a SLM page referenced by the particular SLM index; processing each of the plurality of pages included in the logical block and determining whether any page of the plurality of pages included in the logical block is referenced by map entries in the SLM page; and in response to determining that at least one page of the plurality of pages included in the logical block is referenced by the map entries in the SLM page, writing said at least one page to a different logical block; and erasing the plurality of pages in the logical block. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A solid state drive, comprising:
-
a plurality of flash dies, each of the plurality of flash dies including a plurality of blocks, each of the plurality of blocks further including a plurality of pages for providing data storage; and a controller for managing a recycle operation for the solid state drive, wherein the recycle operation is performed in units of logical blocks, wherein each logical block includes a plurality of pages across at least a subset of the plurality of flash dies, and wherein upon receiving a recycle request, the controller is configured to; select a logical block for recycle; retrieve an address map index record associated with the logical block selected for recycle; for each particular address map index stored in the address map index record, perform the steps of; retrieve a set of address map entries referenced by the particular address map index; process each of the plurality of pages included in the logical block and determine whether any page of the plurality of pages included in the logical block is referenced by the set of address map entries; and in response to at least one page of the plurality of pages included in the logical block being referenced by the set of address map entries, write said at least one page to a different logical block; and erase the plurality of pages in the logical block. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification