Memory system and method for controlling nonvolatile memory
Abstract
According to one embodiment, a memory system includes a nonvolatile memory including a plurality of nonvolatile memory dies, and a controller. The controller classifies the nonvolatile memory dies into a plurality of physical sets such that each of the nonvolatile memory dies belongs to only one physical set. The controller creates a plurality of storage regions which share each of the physical sets and each of which spans the physical sets. The controller sets one of the physical sets to a first mode for permitting a write operation and a read operation, and sets each of the other physical sets to a second mode for permitting a read operation and inhibiting a write operation.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A memory system connectable to a host, the memory system comprising:
a nonvolatile memory including a plurality of nonvolatile memory dies; and
a controller electrically connected to the nonvolatile memory and configured to:
classify the nonvolatile memory dies into a plurality of physical sets such that each of the nonvolatile memory dies belongs to only one physical set;
create a plurality of storage regions which share each of the physical sets and each of which spans the physical sets;
set one of the physical sets to a first mode for permitting a write operation and a read operation, and set each of the other physical sets to a second mode for permitting a read operation and inhibiting a write operation;
write data from the host to a write destination block allocated from a group of free blocks of the physical set currently set in the first mode in response to a write request including a parameter specifying one of the storage regions from the host,
read data to be read from one of the storage regions in response to a read request including a parameter specifying one of the storage regions from the host; and
change the physical set in the first mode to the second mode and further change one of the other physical sets in the second mode to the first mode such that all the physical sets are set to the first mode in turns.
2. The memory system of claim 1 , wherein the controller is configured to:
store, in a first read cache, valid data stored in a first physical set to be subsequently set to the first mode; and
read data of the first physical set specified by a read request from the host from the first read cache while the first physical set is in the first mode.
3. The memory system of claim 2 , wherein the controller is configured to:
store, in a second read cache, valid data stored in a second physical set to be set to the first mode subsequently to the first physical set while the first physical set is in the first mode, and
read data of the second physical set specified by a read request from the host from the second read cache while the second physical set is in the first mode.
4. The memory system of claim 2 , wherein the first read cache is implemented in a random access memory in the memory system.
5. The memory system of claim 3 , wherein the first read cache and the second read cache are implemented in a random access memory in the memory system.
6. The memory system of claim 1 , wherein the controller is configured to:
copy all valid data stored in a first physical set to be subsequently set to the first mode to the physical set currently set in the first mode;
read first data from the first physical set when a read request for reading the first data of the first physical set is issued from the host during the operation for copying all the valid data; and
perform an erase operation to the first physical set after the operation for copying all the valid data is completed, change the physical set currently set in the first mode to the second mode and further change the first physical set subjected to the erase operation to the first mode such that all the physical sets are set to the first mode in turns.
7. The memory system of claim 1 , wherein the controller is configured to:
allocate a plurality of copy destination blocks corresponding to the storage regions from a group of free blocks of the physical set currently set in the first mode;
specify a block which belongs to the physical set currently set in the first mode and which stores a plurality of types of data corresponding to the storage regions; and
perform garbage collection for copying a plurality of valid data portions stored in the specified block and corresponding to the storage regions to the copy destination blocks, respectively.
8. The memory system of claim 1 , wherein the controller is configured to:
allocate a plurality of copy destination blocks corresponding to the storage regions from a group of free blocks of the physical set currently set in the first mode; and
perform garbage collection for copying a plurality of valid data portions corresponding to the storage regions to the copy destination blocks from another physical set currently set in the second mode and having the number of rewrites greater than the number of rewrites of the physical set currently set in the first mode.
9. A method of controlling a nonvolatile memory including a plurality of nonvolatile memory dies, the method comprising:
classifying the nonvolatile memory dies into a plurality of physical sets such that each of the nonvolatile memory dies belongs to only one physical set;
creating a plurality of storage regions which share each of the physical sets and each of which spans the physical sets;
setting one of the physical sets to a first mode for permitting a write operation and a read operation, and setting each of the other physical sets to a second mode for permitting a read operation and inhibiting a write operation;
writing data from a host to a write destination block allocated from a group of free blocks of the physical set currently set in the first mode in response to a write request including a parameter specifying one of the storage regions from the host;
reading data to be read from one of the storage regions in response to a read request including a parameter specifying one of the storage regions from the host; and
changing the physical set currently set in the first mode to the second mode and further changing one of the other physical sets currently set in the second mode to the first mode such that all the physical sets are set to the first mode in turns.
10. The method of claim 9 , further comprising:
storing, in a first read cache, valid data stored in a first physical set to be subsequently set to the first mode; and
reading data of the first physical set specified by a read request from the host from the first read cache while the first physical set is in the first mode.
11. The control method of claim 9 , further comprising:
copying all valid data stored in a first physical set to be subsequently set to the first mode to the physical set currently set in the first mode;
reading first data from the first physical set when a read request for reading the first data of the first physical set is issued from the host during the operation for copying all the valid data; and performing an erase operation to the first physical set after the operation for copying all the valid data is complied, changing the physical set currently set in the first mode to the second mode and further changing the first physical set subjected to the erase operation to the first mode such that all the physical sets are set to the first mode in turns.Join the waitlist — get patent alerts
Track US10338839B2 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.