IP Library Granted Patent US 11,669,269
Granted Patent B2
US 11,669,269 · App. 17/223,094 · Granted Jun 6, 2023

Memory system and method for controlling nonvolatile memory

Inventor: Shinichi Kanno (Ota, JP)
Assignee: Kioxia Corporation
G06F3/0656G06F3/0604G06F3/0659G06F3/0679
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,669,269
App. No.
17/223,094
Granted
Jun 6, 2023
Kind
B2
Abstract

According to one embodiment, a memory system stores write data received from a host to a shared write buffer for write destination blocks, acquires first write data for plural pages from the shared write buffer, and writes the first write data to a first write destination block by a first-step write operation. When receiving write data from the host in a state in which an empty region does not exist in the shared write buffer, the memory system discards write data in the shared write buffer in which the first-step write operation has been finished. In a case where the first write data do not exist in the shared write buffer when a second-step write operation of the first write data is to be executed, the memory system transmits a request to acquire the first write data to the host.

Claims (75)

1. A memory system connectable to a host, the host including a data buffer, the memory system comprising:

a nonvolatile memory including a plurality of blocks, the plurality of blocks including a first block and a second block, each of the plurality of blocks including a plurality of word lines, the plurality of word lines including at least a first word line, each of the plurality of word lines connecting a plurality of memory cells;

a write buffer; and

a controller electrically connected to the nonvolatile memory and configured to execute a multi-step write operation for writing data having a first size to the plurality of memory cells connected to one word line such that data of plural bits is stored per memory cell, wherein

the first size corresponds to a size of plural pages, a size of one page corresponding to the number of the plurality of memory cells connected to the one word line,

the multi-step write operation includes a first-step write operation and a second-step write operation,

the first-step write operation includes an operation for transferring the data having the first size to the nonvolatile memory and an operation for programming the transferred data to the plurality of memory cells connected to the one word line to set a threshold voltage distribution of each of the plurality of memory cells,

the second-step write operation includes an operation for transferring the data having the first size to the nonvolatile memory again and an operation for programming the transferred data to the plurality of memory cells connected to the one word line to adjust the threshold voltage distribution of each of the plurality of memory cells, wherein

the controller is further configured to:

transfer first data having the first size from the data buffer of the host to the write buffer;

transfer the first data from the write buffer to the nonvolatile memory to execute the first-step write operation for the first data on the plurality of memory cells connected to the first word line of the first block;

transfer second data having the first size from the data buffer of the host to the write buffer;

transfer the second data from the write buffer to the nonvolatile memory to execute the first-step write operation for the second data on the plurality of memory cells connected to the first word line of the second block;

in a case where the first data is not stored in the write buffer, transfer the first data from the data buffer of the host to the write buffer again; and

transfer the first data from the write buffer to the nonvolatile memory to execute the second-step write operation for the first data on the plurality of memory cells connected to the first word line of the first block.

2. The memory system of claim 1 , wherein

in a case where data of a first number of bits is stored per memory cell, the first size corresponds to a size obtained by multiplying the first number by the size of one page.

3. The memory system of claim 1 , wherein

the controller is configured to execute the second-step write operation for the one word line after the first-step write operation is finished for one or more word lines subsequent to the one word line.

4. The memory system of claim 1 , wherein

the controller is further configured to:

in a case where the write buffer that stores the first data includes no available space for storing the second data, discard the first data from the write buffer before transferring the second data from the data buffer of the host to the write buffer.

5. The memory system of claim 1 , wherein

the data buffer of the host includes a plurality of regions respectively corresponding to the plurality of blocks, the plurality of regions including a first region and a second region, and

the controller is configured to:

transfer the first data from the first region of the data buffer to the write buffer by transmitting a request to the host, the first region corresponding to the first block; and

transfer the second data from the second region of the data buffer to the write buffer by transmitting another request to the host, the second region corresponding to the second block.

6. The memory system of claim 1 , wherein

the controller is configured to:

in a case where the first data is stored in the write buffer to execute the second-step write operation for the first data on the plurality of memory cells connected to the first word line of the first block, transfer the first data from the write buffer to the nonvolatile memory without transferring the first data from the data buffer of the host to the write buffer again.

7. The memory system of claim 1 , wherein

the controller is further configured to:

discard the first data from the write buffer when the second-step write operation for the first data is finished.

8. The memory system of claim 1 , wherein

the controller is further configured to:

in a case where the write buffer includes no available space for storing third data, discard oldest data from the write buffer, among data in the write buffer for which the first-step write operation has been finished.

9. The memory system of claim 1 , wherein

the controller is further configured to:

in a case where the write buffer includes no available space for storing third data, discard least recently used data from the write buffer, among data in the write buffer for which the first-step write operation has been finished.

10. The memory system of claim 1 , wherein

the write buffer is implemented with a random-access memory.

11. A method of controlling writing data in a memory system by executing a multi-step write operation, the memory system including a nonvolatile memory and a write buffer, the nonvolatile memory including a plurality of blocks, the plurality of blocks including a first block and a second block, each of the plurality of blocks including a plurality of word lines, the plurality of word lines including at least a first word line, each of the plurality of word lines connecting a plurality of memory cells, the multi-step write operation being an operation for writing data having a first size to the plurality of memory cells connected to one word line such that data of plural bits is stored per memory cell,

the first size corresponding to a size of plural pages, a size of one page corresponding to the number of the plurality of memory cells connected to the one word line,

the multi-step write operation including a first-step write operation and a second-step write operation,

the first-step write operation including an operation for transferring the data having the first size to the nonvolatile memory and an operation for programming the transferred data to the plurality of memory cells connected to the one word line to set a threshold voltage distribution of each of the plurality of memory cells,

the second-step write operation including an operation for transferring the data having the first size to the nonvolatile memory again and an operation for programming the transferred data to the plurality of memory cells connected to the one word line to adjust the threshold voltage distribution of each of the plurality of memory cells,

the method comprising:

transferring first data having the first size from a data buffer of a host to the write buffer;

transferring the first data from the write buffer to the nonvolatile memory to execute the first-step write operation for the first data on the plurality of memory cells connected to the first word line of the first block;

transferring second data having the first size from the data buffer of the host to the write buffer;

transferring the second data from the write buffer to the nonvolatile memory to execute the first-step write operation for the second data on the plurality of memory cells connected to the first word line of the second block;

in a case where the first data is not stored in the write buffer, transferring the first data from the data buffer of the host to the write buffer again; and

transferring the first data from the write buffer to the nonvolatile memory to execute the second-step write operation for the first data on the plurality of memory cells connected to the first word line of the first block.

12. The method of claim 11 , wherein

in a case where data of a first number of bits is stored per memory cell, the first size corresponds to a size obtained by multiplying the first number by the size of one page.

13. The method of claim 11 , wherein

the second-step write operation for the one word line is executed after the first-step write operation is finished for one or more word lines subsequent to the one word line.

14. The method of claim 11 , further comprising:

in a case where the write buffer that stores the first data includes no available space for storing the second data, discarding the first data from the write buffer before transferring the second data from the data buffer of the host to the write buffer.

15. The method of claim 11 , wherein

the data buffer of the host includes a plurality of regions respectively corresponding to the plurality of blocks, the plurality of regions including a first region and a second region, and

the transferring the first data from the data buffer to the write buffer includes:

transferring the first data from the first region of the data buffer to the write buffer by transmitting a request to the host, the first region corresponding to the first block; and

the transferring the second data from the data buffer to the write buffer includes:

transfer the second data from the second region of the data buffer to the write buffer by transmitting another request to the host, the second region corresponding to the second block.

16. The method of claim 11 , wherein

in a case where the first data is stored in the write buffer to execute the second-step write operation for the first data on the plurality of memory cells connected to the first word line of the first block, the first data is transferred from the write buffer to the nonvolatile memory without transferring the first data from the data buffer of the host to the write buffer again.

17. The method of claim 11 , further comprising:

discarding the first data from the write buffer when the second-step write operation for the first data is finished.

18. The method of claim 11 , further comprising:

in a case where the write buffer includes no available space for storing third data, discarding oldest data from the write buffer, among data in the write buffer for which the first-step write operation has been finished.

19. The method of claim 11 , further comprising:

in a case where the write buffer includes no available space for storing third data, discarding least recently used data from the write buffer, among data in the write buffer for which the first-step write operation has been finished.

20. The method of claim 11 , wherein

the write buffer is implemented with a random-access memory.

Assignments (1)
CHANGE OF NAME Recorded Jan 11, 2022
From: TOSHIBA MEMORY CORPORATION
To: KIOXIA CORPORATION
Reel/Frame 058725/0932 →
Priority Claims (1)
JP JP2018-078422 · Apr 16, 2018 · national
Continuity (2)
Continuation 16126038 · Sep 10, 2018
Related Publication 20210223986A1 · Jul 22, 2021