IP Library Granted Patent US 11,036,628
Granted Patent B2
US 11,036,628 · App. 16/588,438 · Granted Jun 15, 2021

Storage system having a host directly manage physical data locations of storage device

Inventor: Daisuke Hashimoto (Cupertino, CA)
Assignee: TOSHIBA MEMORY CORPORATION
G06F12/0246G06F3/0643G06F3/0638G06F11/1456G06F2212/1028G06F2212/1044G06F2212/7201G06F2212/7208Y02D10/00
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,036,628
App. No.
16/588,438
Granted
Jun 15, 2021
Kind
B2
Abstract

A storage system includes a host including a processor and a memory unit, and a storage device including a controller and a non-volatile memory unit. The processor is configured to output a write command, write data, and size information of the write data, to the storage device, the write command that is output not including a write address. The controller is configured to determine a physical write location of the non-volatile memory unit in which the write data are to be written, based on the write command and the size information, write the write data in the physical write location of the non-volatile memory unit, and output the physical write location to the host. The processor is further configured generate, in the memory unit, mapping information between an identifier of the write data and the physical write location.

Claims (59)

1. A storage system, comprising:

a host including a processor and a memory including a submission queue; and

a storage device including a controller and a non-volatile memory, wherein

the processor is configured to carry out a host-managed garbage collection by determining a target physical location of the non-volatile memory to be subjected to the host-managed garbage collection, and then through a copy operation followed by a delete operation,

during the copy operation in the host-managed garbage collection,

the processor of the host posts a copy command including the target physical location and size information of data to be copied to the submission queue, and then

the controller of the storage device fetches the copy command from the submission queue, determines a destination physical location of the non-volatile memory to which the data are to be copied based on the copy command and the size information, and copies the data stored in the target physical location to the destination physical location without transferring the data to the host, and during the delete operation in the host-managed garbage collection,

the processor of the host posts a delete command including the target physical location to the submission queue, and then

the controller of the storage device fetches the delete command from the submission queue, and specifies storage space at the target physical deletion location of the non-volatile memory as free.

2. The storage system according to claim 1 , wherein

the memory of the host further includes a completion queue, and

during the copy operation in the host-managed garbage collection, the controller of the storage device cause a copy completion notification to be posted to the completion queue, and

the processor of the host posts the delete command to the submission queue after the copy completion notification is posted to the completion queue.

3. The storage system according to claim 2 , wherein

the copy command includes an operation identifier of the copy operation, and

the processor of the host is further configured to generate mapping information between an identifier of the copied data associated with the operation identifier and the destination physical location upon the copy completion notification being posted to the completion queue.

4. The storage system according to claim 3 , wherein during the delete operation in the host-managed garbage collection, the processor of the host invalidates mapping information between the identifier of the copied data and the target physical location, and then posts the delete command to the submission queue.

5. The storage system according to claim 2 , wherein during the delete operation in the host-managed garbage collection, the controller of the storage device cause a delete completion notification to be posted to the completion queue.

6. The storage system according to claim 1 , wherein

the controller of the storage device is further configured to manage a block mapping table that specifies an identifier of each of a plurality of memory blocks in the non-volatile memory in association with a current categorization of the memory block, and

the controller of the storage device determines, as the destination physical location, a physical location in a memory block that is currently categorized as an input block that accepts new data, based on the block mapping table.

7. The storage system according to claim 6 , wherein the controller of the storage device is further configured to recategorize a free block that includes no valid data as the active block when no active block to store the data to be copied is mapped in the block mapping table.

8. The storage system according to claim 6 , wherein the processor of the host determines, as the target physical location, a physical location in a memory block that is currently categorized as an active block that includes valid data and invalid data, based on the block mapping table and a ratio of an amount of the valid data with respect to an amount of the invalid data in the active block.

9. The storage system according to claim 8 , wherein

the plurality of memory blocks in the non-volatile memory includes a first plurality of memory blocks associated with a first stream and a second plurality of memory blocks associated with a second stream, and

the input block and the active block are both associated with the first stream.

10. The storage system according to claim 1 , wherein

the non-volatile memory includes a first memory chip and a second memory chip, and

the target physical location is a physical location in the first memory chip, and the destination physical location is a physical location in the second memory chip.

11. A method of carrying out a host-managed garbage collection in a storage system including a host having a write buffer and a submission queue, and a storage device having a non-volatile memory, comprising, during the host-managed garbage collection:

determining, by the host, a target physical location of the non-volatile memory to be subjected to the host-managed garbage collection;

after said determining, carrying out a copy operation including:

posting, in the host, a copy command including the target physical location and size information of data to be copied to the submission queue;

fetching, by the storage device, the copy command from the submission queue;

determining, by the storage device, a destination physical location of the non-volatile memory to which the data are to be copied based on the copy command and the size information; and

copying, by the storage device, the data stored in the target physical location to the destination physical location without transferring the data to the host; and

after the copy operation, carrying out a delete operation including:

posting, in the host, a delete command including the target physical location to the submission queue;

fetching, by the storage device, the delete command from the submission queue; and

specifying storage space at the target physical deletion location of the non-volatile memory as free.

12. The method according to claim 11 , wherein

the host further includes a completion queue, and

the copy operation further includes posting, from the storage device, a copy completion notification to the completion queue, wherein the delete command is posted to the submission queue after the copy completion notification is posted to the completion queue.

13. The method according to claim 12 , wherein

the copy command includes an operation identifier of the copy operation, and

the copy operation further includes generating, by the host, mapping information between an identifier of the copied data associated with the operation identifier and the destination physical location upon the copy completion notification being posted to the completion queue.

14. The method according to claim 13 , wherein the delete operation further includes invalidating, by the host, mapping information between the identifier of the copied data and the target physical location, wherein the delete command is posted to the submission queue after said invalidating.

15. The method according to claim 12 , wherein the delete operation further includes posting, from the storage device, a delete completion notification to the completion queue.

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

managing a block mapping table that specifies an identifier of each of a plurality of memory blocks in the non-volatile memory in association with a current categorization of the memory block, wherein

a physical location in a memory block that is currently categorized as an input block that accepts new data is determined as the destination physical location, based on the block mapping table.

17. The method according to claim 16 , wherein the copy operation further includes recategorizing, by the storage device, a free block that includes no valid data as the active block when no active block to store the data to be copied is mapped in the block mapping table.

18. The method according to claim 16 , wherein a physical location in a memory block that is currently categorized as an active block that includes valid data and invalid data is determined as the target physical location, based on the block mapping table and a ratio of an amount of the valid data with respect to an amount of the invalid data in the active block.

19. The method according to claim 18 , wherein

the plurality of memory blocks in the non-volatile memory includes a first plurality of memory blocks associated with a first stream and a second plurality of memory blocks associated with a second stream, and

the input block and the active block are both associated with the first stream.

20. The method according to claim 11 , wherein

the non-volatile memory includes a first memory chip and a second memory chip, and

the target physical location is a physical location in the first memory chip, and the destination physical location is a physical location in the second memory chip.

Assignments (3)
CHANGE OF NAME AND ADDRESS Recorded Feb 4, 2022
From: K.K PANGEA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 058957/0124 →
CHANGE OF NAME AND ADDRESS Recorded Jan 31, 2022
From: TOSHIBA MEMORY CORPORATION
To: KIOXIA CORPORATION
Reel/Frame 058905/0582 →
MERGER Recorded Jan 31, 2022
From: TOSHIBA MEMORY CORPORATION
To: K.K PANGEA
Reel/Frame 058946/0675 →
Cited By (11)
US 12,292,827 US 12,298,902 US 12,360,892 US 12,436,706 US 12,499,040 US 12,504,899 US 12,541,451 US 12,572,468 US 12,619,380 US 12,645,397 US 12,711,057