CPC G06F 3/064 (2013.01) [G06F 3/0607 (2013.01); G06F 3/0656 (2013.01); G06F 3/0679 (2013.01)] | 20 Claims |
1. A memory system comprising:
a volatile memory;
a nonvolatile memory including a plurality of blocks; and
a controller configured to:
set a first group of the blocks to be in a writable state;
generate in the volatile memory a first list associated with the first group of blocks;
with respect to each of one or more write commands received from a host connected to the memory system, determine whether write data corresponding to the write command is to be stored in the first group of blocks;
with respect to each write command corresponding to write data that are determined to be stored in the first group of blocks,
add an entry to the first list, the entry including a first address of the host in which the corresponding write data is stored and a second address of the volatile memory in which the corresponding write data is to be temporarily stored;
receive the corresponding write data from the first address of the host and store the corresponding write data in the second address of the volatile memory; and
write the corresponding write data stored at the second address of the volatile memory into the first group of blocks;
upon the first group of blocks being fully written, set the first group of blocks to be in a non-writable state and dissociate the first list from the first group of blocks; and
with respect to said each write command corresponding to the write data that are determined to be stored in the first group of blocks, delete the entry from the first list when the corresponding write data has been written into the first group of blocks, wherein
the controller is further configured to, in adding each entry to the first list:
add the first address to the first list;
determine whether a write operation is ready to be performed based on information stored in the first list; and
upon determining that the write operation is ready to be performed, add the second address to the first list in association with the first address.
|