Systems and methods of address-aware garbage collection
AssigneeSanDisk Technologies LLC
InventorsAmir Shaharabany, Alon Marcu, Hadas Oshinsky
Life of this patent
Estimating the term…
Abstract
A method includes determining a first logical block address (LBA) range of a first set of data units of a first candidate block of the memory. The method also includes determining a second LBA range of a second set of data units of a relocation block of the memory. The method also includes determining that the first LBA range matches the second LBA range. The method further includes relocating first valid data of the first candidate block to the relocation block of the memory in response to determining that the first LBA range matches the second LBA range, where the first LBA range corresponds to multiple LBAs.
Claims20
A method comprising:
- at a data storage device that includes a controller and a memory, performing:
- initiating a garbage collection procedure based on allocating a plurality of logical block address (LBA) ranges in a logical address space associated with a relocation block of the memory;
- after initiating the garbage collection procedure, determining a first LBA range of a first set of data units stored at a first candidate block of the memory;
- determining a second LBA range of a second set of data units of the relocation block, wherein the second LBA range is included in the plurality of LBA ranges;
- determining that the first LBA range matches the second LBA range;
- and
- relocating first valid data of the first candidate block to the relocation block in response to determining that the first LBA range matches the second LBA range, wherein the first LBA range corresponds to multiple LBAs.
A data storage device comprising:
- a controller;
- and
- a memory coupled to the controller, wherein the controller is configured to:
- initiate a garbage collection procedure based on allocating a plurality of logical block address (LBA) ranges in a logical address space associated with a relocation block of the memory;
- after initiating the garbage collection procedure, determine a first LBA range of a first set of data units stored at a first candidate block of the memory;
- determine a second LBA range of a second set of data units of the relocation block, wherein the second LBA range is included in the plurality of LBA ranges;
- determine that the first LBA range matches the second LBA range;
- and
- relocate first valid data of the first candidate block to the relocation block in response to determining that the first LBA range matches the second LBA range, wherein the first LBA range corresponds to multiple LBAs.
A method comprising:
- at a data storage device that includes a controller and a memory, performing:
- determining a logical block address (LBA) range of each of a plurality of sets of data units stored at each of a plurality of blocks of the memory;
- identifying a first block of the plurality of blocks and a second block of the plurality of blocks, the first block and the second block including more data units that are associated with at least one particular LBA range than other blocks of the plurality of blocks;
- and
- relocating valid data from the first block to the second block responsive to at least one LBA range associated with the first block matching at least one LBA range associated with the second block.
A data storage device comprising:
- means for storing information;
- means for controlling the means for storing, wherein the means for controlling is configured to:
- initiate a garbage collection procedure based on allocating a plurality of logical block address (LBA) ranges in a logical address space associated with a relocation block of the means for storing;
- after initiating the garbage collection procedure, determine a first LBA range of a first set of data units stored at a first candidate block of the means for storing;
- determine a second LBA range of a second set of data units of the relocation block, wherein the second LBA range is included in the plurality of LBA ranges;
- determine that the first LBA range matches the second LBA range;
- and
- relocate first valid data of the first candidate block to the relocation block in response to determining that the first LBA range matches the second LBA range, wherein the first LBA range corresponds to multiple LBAs.
Dependencies are inferred from the claim text.