CPC G06F 3/0647 (2013.01) [G06F 3/064 (2013.01); G06F 3/0607 (2013.01); G06F 3/0679 (2013.01); G06F 12/0253 (2013.01); G06F 2212/7205 (2013.01)] | 15 Claims |
1. A data storage device, comprising:
a host interface for coupling the data storage device to a host system;
a device memory for handling write commands having a different write granularity than write commands received from the host system; and
a controller configured to:
receive a host write command from the host interface;
translate a logical block address for the host write command to a physical address on the device memory, wherein the physical address corresponds to a plurality of indirection units; and
in accordance with a determination that the physical address does not correspond to an aligned address, process a read-modify-write operation for one or more indirection units of the plurality of indirection units during a relocation, in accordance with a determination that a relocation block has an overlapping indirection unit with the one or more indirection units,
wherein when the relocation corresponds to a garbage collection for migrating blocks in order to free space on the device memory, the controller is configured to perform one or more operations, and wherein the one or more operations comprise subtracting a number of minimal addressable units of memory of overlapped indirection units from a valid count of a victim block during the garbage collection.
|