Memory system controlling nonvolatile memory
Abstract
According to one embodiment, a controller of a memory system performs a first operation a plurality of times for each of a plurality of first blocks. The first operation includes a write operation for writing data in a first write mode for writing m-bit data per memory cell and a data erase operation. While a second block is not a defective block, the controller performs a second operation a plurality of times for the second block. The second operation includes a write operation for writing data in a second write mode for writing n-bit data per memory cell and a data erase operation. When the second block is a defective block, the controller selects a first block from the plurality of first blocks, and writes second write data to the selected first block in the second write mode.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method of controlling a nonvolatile memory, the nonvolatile memory including a plurality of blocks, each of the plurality of blocks being a unit for a data erase operation, the plurality of blocks including a plurality of first blocks and at least one second block, the method comprising:
performing a first operation a plurality of times for each of the plurality of first blocks, the first operation including a write operation for writing data in a first write mode for writing m-bit data per memory cell and a data erase operation; and
while the second block is not a defective block, performing a second operation a plurality of times for the second block, the second operation including a write operation for writing data in a second write mode for writing n-bit data per memory cell and a data erase operation, wherein
m is an integer greater than or equal to two, and n is an integer greater than or equal to one and less than or equal to m,
the write operation of the second operation includes an operation for writing, in response to receiving a first request from a host, first write data to the second block, the first write data being data among write data associated with one or more write requests received from the host for one first block of the plurality of first blocks and having not been transferred to a buffer, the first request being a request for causing a state of the one first block to transition from a first state of being allocated as a write destination block in which writing of data is possible to a second state in which writing of data is suspended, and
the method further comprises:
when the second block is a defective block, in response to receiving a second request from the host, selecting a first block from the plurality of first blocks, and writing second write data to the selected first block in the second write mode, the second write data being data among write data associated with one or more write requests received from the host for one first block of the plurality of first blocks and having not been transferred to the buffer, the second request being a request for causing a state of the one first block to transition from the first state to the second state.
2. The method of claim 1 , wherein
the at least one second block comprises a plurality of second blocks, and
the method further comprises:
allocating the plurality of second blocks as a nonvolatile buffer;
performing the second operation a plurality of times for each of the plurality of second blocks allocated as the nonvolatile buffer; and
when a number of available blocks included in the plurality of second blocks is less than a threshold as a number of defective blocks included in the plurality of second blocks is increased, selecting a first block from the plurality of first blocks, and allocating the selected first block to the nonvolatile buffer.
3. The method of claim 1 , further comprising:
when the selected first block is entirely filled with data written in the second write mode, in response to receiving a third request from the host, selecting another first block from the plurality of first blocks and writing third write data to the selected another block in the second write mode, the third write data being data among write data associated with one or more write requests received from the host for one first block of the plurality of first blocks and having not been transferred to the buffer, the third request being a request for causing a state of the one first block to transition from the first state to the second state.
4. The method of claim 1 , further comprising:
in response to receiving, from the host, one or more first write requests for writing data to a first write destination block allocated from the plurality of first blocks, transferring first write data associated with the one or more first write requests from a write buffer of the host to the buffer, and writing the first write data transferred to the buffer to the first write destination block in the first write mode; and
in response to receiving, from the host, one or more second write requests for writing data to a second write destination block allocated from the plurality of first blocks, transferring second write data associated with the one or more second write requests from the write buffer of the host to the buffer, and writing the second write data transferred to the buffer to the second write destination block in the first write mode.
5. The method of claim 4 , wherein
the write buffer of the host is a nonvolatile write buffer.
6. The method of claim 1 , wherein
each of the plurality of blocks included in the nonvolatile memory includes a plurality of pages,
the first write mode is a write mode in which data written in one page of the plurality of pages of each block do not become readable from the one page by writing the data only to the one page but become readable from the one page after data are written to one or more pages subsequent to the one page, and
the second write mode is a write mode in which data written in one page of the plurality of pages of each block become readable from the one page by writing the data only to the one page.
7. The method of claim 6 , further comprising:
obtaining, from the buffer, third write data among the write data associated with the received write requests for the one first block specified in the first request, the third write data being data which have not become readable from the one first block specified in the first request, and writing the first write data to the second block in the second write mode together with the third write data.
8. The method of claim 1 , further comprising:
in response to receiving, from the host, a write request for writing data to the one first block which has transitioned to the second state:
causing a state of the one first block to transition from the second state to the first state; and
reading the first write data written in the second block from the second block, and storing the read first write data in the buffer.
9. The method of claim 1 , further comprising:
classifying write requests received from the host into a first group including one or more first write requests for writing data to a first write destination block allocated from the plurality of first blocks and a second group including one or more second write requests for writing data to a second write destination block allocated from the plurality of first blocks;
when a total size of write data associated with the first write requests belonging to the first group has reached a minimum write size of the first write destination block, transferring write data having the minimum write size and associated with the first write requests, from a write buffer of the host to the buffer; and
when a total size of write data associated with the second write requests belonging to the second group has reached a minimum write size of the second write destination block, transferring write data having the minimum size and associated with the second write request, from the write buffer of the host to the buffer.
10. A method of controlling a nonvolatile memory, the nonvolatile memory including a plurality of first storage regions and a second storage region, each of the plurality of first storage regions and the second storage region including a memory cell, the method comprising:
in response to receiving, from a host, one or more first write requests for writing data to a first write destination storage region allocated from the plurality of first storage regions, transferring write data associated with the received one or more first write requests, from a write buffer of the host to a buffer, and writing the write data transferred to the buffer to the first write destination storage region in a first write mode for writing m-bit data per memory cell;
in response to receiving, from the host, one or more second write requests for writing data to a second write destination storage region allocated from the plurality of first storage regions, transferring write data associated with the received one or more second write requests, from the write buffer of the host to the buffer, and writing the write data transferred to the buffer to the second write destination storage region in the first write mode; and
in response to receiving, from the host, a first request for causing a state of one first storage region of the first storage regions to transition from a first state of being allocated as a write destination storage region in which writing of data is possible to a second state in which writing of data is suspended:
obtaining, from the write buffer of the host, first write data among write data associated with the received write requests for the first storage region specified by the first request, the first write data being data which have not been transferred to the buffer;
writing the first write data to the second storage region shared by the first storage regions in a second write mode for writing n-bit data per memory cell; and
causing the state of the first storage region specified by the first request to transition from the first state to the second state, wherein
m is an integer greater than or equal to two, and n is an integer greater than or equal to one and less than or equal to m.
11. The method of claim 10 , wherein
the nonvolatile memory includes a plurality of blocks each including a plurality of pages,
the first write mode is a write mode in which data written in one page of the plurality of pages of a block allocated to each first storage region do not become readable from the one page by writing the data only to the one page but become readable from the one page after data are written to one or more pages subsequent to the one page, and
the method further comprises:
obtaining, from the buffer, first write data which have not become readable from the block allocated to the first storage region specified by the first request, and writing the write data which have not been transferred to the second storage region in the second write mode together with the first write data.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.