IP Library Granted Patent US 11,269,766
Granted Patent B2
US 11,269,766 · App. 16/995,029 · Granted Mar 8, 2022

Controller for controlling non-volatile semiconductor memory and method of controlling non-volatile semiconductor memory

Inventors: Kazuhiro Fukutomi (Tokyo, JP); Kenichiro Yoshii (Tokyo, JP); Shinichi Kanno (Tokyo, JP); Shigehiro Asano (Tokyo, JP)
Assignee: KIOXIA CORPORATION
G06F12/0246G06F3/061G06F3/064G06F3/0631G06F3/0659G06F3/0679G06F12/00G06F12/16G06F3/0608G06F3/0611G06F3/0638G06F3/0644G06F3/0665G06F3/0688G06F2212/1016G06F2212/214G06F2212/7202G06F2212/7205
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,269,766
App. No.
16/995,029
Granted
Mar 8, 2022
Kind
B2
Abstract

According to one embodiment, a write instructing unit instructs a data access unit to write, in a storage area of a data storage unit indicated by a first physical address, write object data, instructs a management information access unit to update address conversion information, and instructs a first access unit to update the first physical address. A compaction unit extracts a physical address of compaction object data, instructs the data access unit to read the compaction object data stored in a storage area of the data storage unit indicated by the physical address, instructs the data access unit to write the compaction object data in a storage area of the data storage unit indicated by a second physical address, instructs the management information access unit to update the address conversion information, and instructs a second access unit to update the second physical address.

Claims (36)

1. A controller for controlling a nonvolatile semiconductor memory comprising a plurality of blocks, the blocks including one or more first blocks, a plurality of second blocks that differ from the first blocks, and a third block, each of the blocks being a unit of an erase operation of the nonvolatile semiconductor memory, the controller being configured to:

receive a write request from a host device, the write request designating a size of first data;

perform a first operation of writing the first data to the first blocks in response to the write request; and

perform a second operation of copying second data stored in the second blocks to the third block that stores no valid data and treating the second blocks as free blocks, wherein

the second data has been written in the second blocks before receiving the write request, and

the controller is configured to perform at least a part of the second operation during a period of time starting from the receiving of the write request and ending at a completion of the first operation of writing the first data.

2. The controller of claim 1 , wherein the completion of the first operation of writing the first data is delayed due to the at least part of the second operation.

3. The controller of claim 1 , wherein the controller is configured to start the second operation before the receiving the write request.

4. The controller of claim 1 , wherein the controller is configured to use first information indicative of a position of writing the first data in the first blocks and second information indicative of a position of writing the second data in the third block.

5. The controller of claim 1 , wherein, in response to the write request from the host device, the controller is configured to perform the first operation of writing the first data to the first blocks and the second operation to the second blocks for a future write request in parallel.

6. The controller of claim 1 , wherein, in response to another write request including another data from the host device, the controller is configured to perform the first operation of writing the another data to the second blocks.

7. The controller of claim 1 , wherein the controller is configured to manage address conversion information and receive a write request from a host device,

the address conversion information includes a physical address of the nonvolatile semiconductor memory and a logical address in association with each other, and

the write request designates a first logical address of the first data.

8. The controller of claim 7 , wherein

the first operation of writing the first data to the first blocks includes writing the first data to a first physical address in the first blocks, and

in the second operation, the controller is configured to change the physical address corresponding to a second logical address in the address conversion information from a second physical address to a third physical address, the second logical address being a logical address of a part of the second data, the second physical address being a physical address of the part of the second data in the second blocks, the third physical address being a physical address of the part of the second data in the third block.

9. A method of controlling a nonvolatile semiconductor memory comprising a plurality of blocks, the blocks including one or more first blocks, a plurality of second blocks that differ from the first blocks, and a third block, each of the blocks being a unit of an erase operation of the nonvolatile semiconductor memory, the method comprising:

receiving a write request from a host device, the write request designating a size of first data,

performing a first operation of writing the first data to the first blocks in response to the write request;

performing a second operation of copying second data stored in the second blocks to the third block that stores no valid data and treating the second blocks as free blocks; and

performing at least a part of the second operation during a period of time starting from the receiving of the write request and ending at a completion of the first operation of writing the first data, wherein the second data has been written in the second blocks before receiving of the write request.

10. The method of claim 9 , wherein the completion of the first operation of writing the first data is delayed due to the at least part of the second operation.

11. The method of claim 9 , wherein the second operation is started before the receiving the write request.

12. The method of claim 9 , further comprising:

using first information indicative of a position of writing the first data in the first blocks and second information indicative of a position of writing the second data in the third block.

13. The method of claim 9 , wherein, in response to the write request from the host device, the first operation of writing the first data to the first blocks and the second operation to the second blocks for future write request are performed in parallel.

14. The method of claim 9 , further comprising:

performing, in response to another write request including another data from the host device, the first operation of writing the another data to the second blocks.

15. The method of claim 9 , further comprising:

managing address conversion information and receiving a write request from a host device, wherein

the address conversion information includes a physical address of the nonvolatile semiconductor memory and a logical address in association with each other, and

the write request designates a first logical address of the first data.

16. The method of claim 15 , wherein

the first operation of writing the first data to the first blocks includes writing the first data to a first physical address in the first blocks,

the method further comprises changing, in the second operation, the physical address corresponding to a second logical address in the address conversion information from a second physical address to a third physical address, the second logical address being a logical address of a part of the second data, the second physical address being a physical address of the part of the second data in the second blocks, the third physical address being a physical address of the part of the second data in the third block.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Jan 21, 2022
From: TOSHIBA MEMORY CORPORATION; K.K. PANGEA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 058805/0696 →
CHANGE OF NAME Recorded Jan 21, 2022
From: TOSHIBA MEMORY CORPORATION
To: KIOXIA CORPORATION
Reel/Frame 058805/0801 →