Memory system and method for controlling nonvolatile memory
AssigneeToshiba Memory Corporation
InventorsShinichi Kanno, Hideki Yoshida, Naoki Esaka, Hiroshi Nishimura
Life of this patent
Estimating the term…
Abstract
According to one embodiment, a memory system includes a nonvolatile memory and a controller. The controller acquires, from a host, write data having the same first size as a data write unit of the nonvolatile memory and obtained by dividing write data associated with one write command having a first identifier indicating a first write destination block in a plurality of write destination blocks into a plurality of write data or combining write data associated with two or more write commands having the first identifier. The controller writes the acquired write data having the first size to the first write destination block by a first write operation.
Claims20
A memory system connectable to a host, the memory system comprising:
- a nonvolatile memory including a plurality of blocks;
- and
- a controller electrically connected to the nonvolatile memory and configured to:
- in response to receiving a plurality of write commands each including a first identifier indicating a first block among the plurality of blocks, acquire, from the host, first write data having a first size by combining a plurality pieces of write data each associated with the plurality of write commands, the first size being a size of a unit for writing data into the first block;
- write the acquired first write data having the first size to the first block;
- in a case that one write command among the plurality of write commands designates a second size of write data, the second size being lamer than the first size, acquire, from the host, second write data having the first size by dividing the write data having the second size;
- and
- write the acquired second write data having the first size to the first block.
A memory system connectable to a host, the memory system comprising:
- a nonvolatile memory including a plurality of blocks;
- and
- a controller electrically connected to the nonvolatile memory and configured to manage a plurality of write destination blocks allocated from the blocks, and execute a multi-step write operation including at least a first write operation step and a second write operation step and involving transferring same data to the nonvolatile memory multiple times, wherein
- the controller is configured to:
- receive, from the host, write commands each designating a location on a memory of the host where write data to be written exists, a length of the write data, and an identifier indicating a block where the write data is to be written;
- after receiving one or more write commands having a first identifier indicating a first write destination block in the write destination blocks, acquire write data having the same first size as a write unit of the nonvolatile memory and obtained by dividing write data associated with one write command in the write commands having the first identifier into a plurality of write data or combining write data associated with two or more write commands in the write commands having the first identifier, from the host;
- store a plurality of write data each having the first size acquired from the host in a buffer in the memory system;
- acquire first write data to be written subsequently to the first write destination block from the buffer and write the first write data to the first write destination block by the first write operation step;
- when a free region for storing the write data acquired from the host does not exist in the buffer, discard one of the write data in the buffer in which the first write operation step is finished and secure the free region in the buffer;
- and
- when the first write data does not exist in the buffer at a point of time when the second write operation step of the first write data is to be executed, acquire the first write data from the host.
A memory system connectable to a host, the host including a buffer, the memory system comprising:
- a nonvolatile memory including a plurality of blocks, a first block among the plurality of blocks including a first word line and a second word line, a data write operation to the nonvolatile memory being performed in a unit of a first size;
- and
- a controller electrically connected to the nonvolatile memory and configured to:
- in response to receiving a plurality of write commands each including a first identifier indicating the first block and each requesting to write data whose size is smaller than the first size,
- transfer first write data from the buffer of the host to the nonvolatile memory, a size of the first write data being equal to the first size, the first write data including a first plurality pieces of write data, the first plurality pieces of write data being associated with at least two of the plurality of write commands;
- instruct the nonvolatile memory to write the first write data into memory cells connected to the first word line;
- transfer second write data from the buffer of the host to the nonvolatile memory, a size of the second write data being equal to the first size, the second write data including a second plurality of pieces of write data, the second plurality of pieces of write data being associated with at least two of the plurality of write commands;
- instruct the nonvolatile memory to write the second write data into memory cells connected to the second word line;
- transfer the first write data from the buffer of the host to the nonvolatile memory again;
- and
- instruct the nonvolatile memory to write the first write data into the memory cells connected to the first word line again.
Dependencies are inferred from the claim text.