| CPC G06F 3/0659 (2013.01) [G06F 3/0604 (2013.01); G06F 3/0673 (2013.01)] | 20 Claims |

|
1. A data storage device comprising:
a non-volatile memory; and
a processor coupled with the non-volatile memory and configured to:
store, in a cache, data from a plurality of applications in a host to be written in the non-volatile memory, wherein each data is associated with a respective identifier;
receive, from the host, a flush command comprising a first identifier; and
in response to receiving the flush command comprising the first identifier:
select, from a command queue, only write command(s) that are associated with the first identifier;
store data associated with the selected write command(s) in the cache; and
flush, from the cache to the non-volatile memory, only data that is associated with the first identifier, wherein the data that is flushed to the non-volatile memory comprises data stored in the cache both before and after the flush command was received.
|