CPC G06F 3/0634 (2013.01) [G06F 3/0604 (2013.01); G06F 3/061 (2013.01); G06F 3/0619 (2013.01); G06F 3/0659 (2013.01); G06F 3/0679 (2013.01); G06F 12/0253 (2013.01); G06F 12/10 (2013.01); G06F 2212/1044 (2013.01); G06F 2212/657 (2013.01)] | 20 Claims |
1. A controller for a memory system connectable to a host, the memory system including a nonvolatile memory, the nonvolatile memory including a plurality of memory cells, the controller comprising:
an interface circuit configured to communicate with the host; and
a first circuit configured to write data to the nonvolatile memory in either a first mode or a second mode, a number of bits of data written in a memory cell in the second mode being larger than a number of bits of data written in a memory cell in the first mode, wherein
the first circuit is further configured to:
determine a size of a first region of the nonvolatile memory for writing data in the first mode, based on a ratio of (A) a total number of logical addresses mapped to physical addresses of the nonvolatile memory to (B) an entire logical address space of the memory system;
write first data, which is received from the host, into the first region in the first mode;
upon a size of an available area in the first region being smaller than a first threshold, determine to write the first data stored in the first region into a second region of the nonvolatile memory in the second mode; and
write the first data stored in the first region into the second region of the nonvolatile memory in the second mode.
|