CPC G06F 3/0658 (2013.01) [G06F 3/064 (2013.01); G06F 3/0683 (2013.01); G06F 3/0604 (2013.01)] | 17 Claims |
1. A data storage device, comprising:
a nonvolatile memory to store data;
a second memory to store a logical-to-physical (L2P) table and a subfile mapping table; and
a controller coupled to the nonvolatile memory and the second memory and configured to:
in response to a host command to write a large data file to the nonvolatile memory, segregate the large data file into a plurality of subfiles, the large data file having a file size larger than a first fixed size, each subfile of the plurality of subfiles having a respective size smaller than or equal to the first fixed size;
store a first mapping of the plurality of subfiles in the subfile mapping table, the first mapping including, for each subfile of the plurality of subfiles, a respective word-line physical address;
cause the plurality of subfiles to be written to the nonvolatile memory based on the first mapping; and
access the L2P table and the subfile mapping table to control a memory operation on the large data file in the nonvolatile memory,
wherein, in response to a sequence of host read-modify-write (RMW) commands, the controller is further configured to:
generate a copy of one or more implicated subfiles of the plurality of subfiles in a data buffer;
apply subfile updates corresponding to the sequence of host RMW commands to the copy; and
in response to re-allocation of the data buffer, cause relocation of the one or more implicated subfiles in the nonvolatile memory.
|