CPC G06F 3/0656 (2013.01) [G06F 3/064 (2013.01); G06F 3/0604 (2013.01); G06F 3/0631 (2013.01); G06F 3/0659 (2013.01); G06F 3/0679 (2013.01)] | 21 Claims |
1. A storage system comprising:
a memory; and
a controller configured to:
create a write buffer allocated from single-level cell (SLC) blocks in the memory;
inform a host, that the storage system supports a dedicated delayed flush command;
receive, from the host, the dedicated delayed flush command, which specifies a threshold indicating how much data can be stored in the write buffer before flushing at least some data stored in the write buffer to multi-level cell (MLC) blocks in the memory;
determine whether an amount of data stored in the write buffer exceeds the threshold; and
in response to determining that the amount of data stored in the write buffer exceeds the threshold, flush enough data from the write buffer to the MLC blocks in the memory so that the amount of data stored in the write buffer does not exceed the threshold.
|