IP Library › Granted Patent US 12,124,735
Granted Patent B2
US 12,124,735 · App. 18/333,962 · Granted Oct 22, 2024

System and method of writing to nonvolatile memory using write buffers

Inventors: Shinichi Kanno (Ota, JP); Hideki Yoshida (Yokohama, JP); Naoki Esaka (Kawasaki, JP)
Assignee: KIOXIA CORPORATION
G06F3/0656G06F3/0604G06F3/0679G06F12/0804
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 12,124,735
App. No.
18/333,962
Granted
Oct 22, 2024
Kind
B2
Abstract

According to one embodiment, a memory system receives from a host a first write request including a first block identifier designating a first write destination block to which first write data is to be written. The memory system acquires the first write data from a write buffer temporarily holding write data corresponding to each of the write requests, and writes the first write data to a write destination page in the first write destination block. The memory system releases a region in the write buffer, storing data which is made readable from the first write destination block by writing the first write data to the write destination page. The data made readable is a data of a page in the first write destination block preceding the write destination page.

Claims (72)

1. A memory system connectable to a host, comprising:

a nonvolatile memory including a plurality of blocks, each of the plurality of blocks being a unit of a data erase operation, each of the plurality of blocks including a plurality of word lines, each of the plurality of word lines connecting a plurality of memory cells; and

a controller electrically connected to the nonvolatile memory and configured to:

in response to receiving, from the host, a first write command that includes a first identifier,

acquire first data from a write buffer,

determine, based on the first identifier, a first block from among the plurality of blocks,

write the first data to a first memory cell connected to a first word line or the first block, and

in response to detecting that a first operation is not required to be executed for a threshold time period since the first data is written to the first memory cell, the first operation being an operation to write second data to a second memory cell connected to a second word line of the first block, the second word line being different from the first word line, write dummy data to the second memory cell.

2. The memory system according to claim 1 , wherein

the controller is further configured to:

write data to a memory cell of the nonvolatile memory using a multi-stage programming that includes at least a first-stage programming and a second-stage programming,

write the first data to the first memory cell using the first-stage programming, and

after writing the dummy data to the second memory cell using the first-stage programming, write the first data again to the first memory cell using the second-stage programming.

3. The memory system according to claim 2 , wherein

the controller is further configured to:

transfer the first data from the write buffer to the nonvolatile memory to write the first data to the first memory cell using the first-stage programming,

not transfer the dummy data from the write buffer, and

transfer the first data again from the write buffer to the nonvolatile memory to write the first data to the first memory cell using the second-stage programming.

4. The memory system according to claim 2 , wherein

the first data is not correctly read from the first memory cell after the first data is written thereto using the first-stage programming before the first data is written again thereto using the second-stage programming, and the first data is correctly read from the first memory cell after the first data is written thereto using the second-stage programming, wherein

the controller is further configured to:

keep the first data in a region of the write buffer, without releasing the region, after the first data is written to the first memory cell using the first-stage programming, and

after the first data is written again to the first memory cell using the second-stage programing, release the region of the write buffer.

5. The memory system according to claim 1 , wherein

the controller is further configured to:

in response to receiving a first control command from the host, assign the first block from the plurality of blocks for the host and notify the host of an identifier of the first block, and

write the first data to the first memory cell of the first block in response to receiving the first write command from the host that includes the first identifier.

6. The memory system according to claim 1 , wherein

the controller is further configured to:

assign the first block from the plurality of blocks in response to receiving a second write command from the host that does not include the first identifier.

7. The memory system according to claim 1 , further comprising:

a volatile memory, wherein

the write buffer is implemented in the volatile memory.

8. The memory system according to claim 1 , wherein

the write buffer is implemented in a memory of the host.

9. The memory system according to claim 8 , wherein

the controller is further configured to:

keep the first data in a region of the write buffer, without releasing the region, after the first data is written to the first memory cell at least until the dummy data is written to the second memory cell, and

after the dummy data is written to the second memory cell, request the host to release the region of the write buffer.

10. A method of controlling a nonvolatile memory, the nonvolatile memory including a plurality of blocks, each of the plurality of blocks being a unit of a data erase operation, each of the plurality of blocks including a plurality of word lines, each of the plurality of word lines connecting a plurality of memory cells, the method comprising:

in response to receiving, from a host, a first write command that includes a first identifier,

acquiring first data from a write buffer;

determining, based on the first identifier, a first block from among the plurality of blocks;

writing the first data to a first memory cell connected to a first word line of the first block; and

in response to detecting that a first operation is not required to be executed for a threshold time period since the first data is written to the first memory cell, the first operation being an operation to write second data to a second memory cell connected to a second word line of the first block, the second word line being different from the first word line, writing dummy data to the second memory cell.

11. The method according to claim 10 , wherein

data is written to a memory cell of the nonvolatile memory using a multi-stage programming that includes at least a first-stage programming and a second-stage programming,

the first data is written to the first memory cell using the first-stage programming, and

after the dummy data is written to the second memory cell using the first-stage programming, the first data is written again to the first memory cell using the second-stage programming.

12. The method according to claim 11 , further comprising:

transferring the first data from the write buffer to the nonvolatile memory to write the first data to the first memory cell using the first-stage programming;

not transferring the dummy data from the write buffer; and

transferring the first data again from the write buffer to the nonvolatile memory to write the first data to the first memory cell using the second-stage programming.

13. The method according to claim 11 , wherein

the first data is not correctly read from the first memory cell after the first data is written thereto using the first-stage programming before the first data is written again thereto using the second-stage programming, and the first data is correctly read from the first memory cell after the first data is written thereto using the second-stage programming, and

the method further comprises:

keeping the first data in a region of the write buffer, without releasing the region, after the first data is written to the first memory cell using the first-stage programming; and

after the first data is written again to the first memory cell using the second-stage programming, releasing the region of the write buffer.

14. The method according to claim 10 , further comprising:

in response to receiving a first control command from the host, assigning the first block from the plurality of blocks for the host and notifying the host of an identifier of the first block; and

writing the first data to the first memory cell of the first block in response to receiving the first write command from the host that includes the first identifier.

15. The method according to claim 10 , further comprising:

assigning the first block from the plurality of blocks in response to receiving a second write command from the host that does not include the first identifier.

16. The method according to claim 10 , wherein

the nonvolatile memory is implemented in a memory system,

the memory system further includes a volatile memory, and

the write buffer is implemented in the volatile memory.

17. The method according to claim 10 , wherein

the write buffer is implemented in a memory of the host.

18. The method according to claim 17 , further comprising:

keeping the first data in a region of the write buffer, without releasing the region, after the first data is written to the first memory cell at least until the dummy data is written to the second memory cell; and

after the dummy data is written to the second memory cell, requesting the host to release the region of the write buffer.

Priority Claims (1)
JP 2018-014794 · Jan 31, 2018 · national
Continuity (4)
Continuation 17523415 · Nov 10, 2021
Continuation 16803106 · Feb 27, 2020
Continuation 16126054 · Sep 10, 2018
Related Publication 20230325112A1 · Oct 12, 2023
Cited By (1)
US 12,675,235