| CPC G06F 3/0619 (2013.01) [G06F 3/0647 (2013.01); G06F 3/0673 (2013.01); G06F 11/076 (2013.01)] | 19 Claims |

|
1. A data storage device comprising:
a memory; and
a processor coupled with the memory and configured to perform as part of a garbage collection operation:
determine whether data stored in a source block in the memory has been read by a host more than a threshold number of times;
in response to determining that the data has been read by the host more than the threshold number of times, move the data to a first destination block;
in response to determining that the data has not been read by the host more than the threshold number of times, determine whether the data is from a host write;
in response to determining that the data is from the host write, move the data to a second destination block, wherein the second destination block is less likely to be accessed within a time period than the first destination block;
in response to determining that the data is not from a host write, determine whether the data is from a warm block;
in response to determining that the data is from a warm block, move the data to a third destination block, wherein the third destination block is less likely to be accessed within the time period than the second destination block; and
in response to determining that the data is not from a warm block, move the data to a fourth destination block, wherein the fourth destination block is less likely to be accessed within the time period than the third destination block.
|