CPC G06F 3/0659 (2013.01) [G06F 3/0619 (2013.01); G06F 3/0688 (2013.01)] | 20 Claims |
1. A data storage device, comprising:
one or more memories comprising one or more staging memory areas and one or more destination memory areas, the one or more staging memory areas being of a staging memory type, and the one or more destination memory areas being of a destination memory type that is different from the staging memory type, wherein the staging and destination memory types provide different capacity and different performance characteristics, and wherein the one or more destination memory areas include a plurality of memory regions;
a host interface for coupling the data storage device to a host system; and
a controller configured to:
receive a plurality of data from the host system;
write the plurality of data initially to the one or more staging memory areas;
receive a region full indication for a first memory region of the plurality of memory regions;
in response to receiving the region full indication, add a first entry corresponding to the first memory region to a double linked list;
select, using a region selection randomization method, a second entry corresponding to a second memory region of the plurality of memory regions, from the double linked list; and
fold a second data of the plurality of data to the second memory region,
wherein the plurality of data includes a first data and the second data, and
wherein the first data is associated with the first memory region of the plurality of memory regions, and the second data is associated with the second memory region of the plurality of memory region.
|