US 12,314,569 B2
Stream data management in storage device using defragmentation
Leeladhar Agarwal, Fremont, CA (US); Dhanunjaya Rao Gorrle, Fremont, CA (US); and Iva Majeticova, Superior, CO (US)
Assigned to SANDISK TECHNOLOGIES, INC., Milpitas, CA (US)
Filed by Western Digital Technologies, Inc., San Jose, CA (US)
Filed on Jul. 14, 2023, as Appl. No. 18/352,964.
Claims priority of provisional application 63/432,675, filed on Dec. 14, 2022.
Prior Publication US 2024/0201859 A1, Jun. 20, 2024
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/0613 (2013.01) [G06F 3/0659 (2013.01); G06F 3/0679 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A data storage device, comprising:
a host interface for coupling the data storage device to a host system;
a device memory; and
a controller configured to:
receive a stream of data from the host system via the host interface, wherein the stream of data corresponds to a plurality of logical block addresses;
write the stream of data to one or more data blocks in the device memory, each data block comprising a respective plurality of super word lines, each super word line comprising a respective plurality of word lines, each word line corresponding to at least one logical block address;
generate a table for storing the plurality of logical block addresses;
receive an update to one or more logical block addresses of the one or more data blocks; and
in response to receiving the update:
defragment at least one data block of the one or more data blocks, based on the one or more logical block addresses; and
write data for one or more super word lines of the at least one data block to a new data block in the device memory, based on the table,
wherein the controller is configured to:
receive a plurality of streams of data from the host system, each stream of data corresponding to a respective plurality of logical block addresses;
generate a plurality of tables, each table corresponding to a respective stream of data, each table configured to store the respective plurality of logical block addresses; and
in response to receiving the update, select the table from the plurality of tables based on the one or more logical block addresses.