IP Library Granted Patent US 10,185,512
Granted Patent B2
US 10,185,512 · App. 15/596,500 · Granted Jan 22, 2019

Storage device that secures a block for a stream or namespace and system having the storage device

Inventors: Daisuke Hashimoto (Cupertino, CA); Shinichi Kanno (Ota Tokyo, JP)
Assignee: Toshiba Memory Corporation
G06F3/064G06F3/061G06F3/0608G06F3/0659G06F3/0688G06F12/0253G06F17/30G06F17/30218
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 10,185,512
App. No.
15/596,500
Granted
Jan 22, 2019
Kind
B2
Abstract

A storage device includes a nonvolatile semiconductor memory device including a plurality of physical blocks and a memory controller. The memory controller is configured to associate one or more physical blocks to each of a plurality of stream IDs, execute a first command containing a first stream ID received from a host, by storing write data included in the write IO in the one or more physical blocks associated with the first stream ID, and execute a second command containing a second stream ID received from the host, by selecting a first physical block that includes valid data and invalid data, transfer the valid data stored in the first physical block to a second physical block, and associate the first physical block from which the valid data has been transferred, with the second stream ID.

Claims (43)

1. A storage device, comprising:

a nonvolatile semiconductor memory device including a plurality of physical blocks; and

a memory controller configured to:

associate one or more physical blocks with a first stream ID and one or more physical blocks with a second stream ID, such that the one or more physical blocks associated with the first stream ID are reserved for data associated with the first stream ID, and that the one or more physical blocks associated with the second stream ID are reserved for data associated with the second stream ID,

carry out garbage collection with respect to a target physical block in response to a command including the first stream ID, and

associate the target physical block that has undergone the garbage collection with the first stream ID, such that the target physical block is reserved for data associated with the first stream ID.

2. The storage device according to claim 1 , wherein

after the target physical block has undergone the garbage collection and before the target physical block is subjected to a write operation, the memory controller performs an erase operation on the target physical block.

3. The storage device according to claim 1 , wherein

after the target physical block is associated with the first stream ID, the target physical block is not used for writing data associated with a stream ID other than the first stream ID.

4. The storage device according to claim 1 , wherein the target physical block is not associated with the first stream ID at the time the command is received.

5. The storage device according to claim 4 , wherein the memory controller is configured to associate a destination physical block of the garbage collection with a stream ID with which the target physical block was associated at the time the command was received.

6. The storage device according to claim 1 , wherein the command includes a data size, and the memory controller is configured to select at least one physical block, including the target physical block, on which to perform the garbage collection based on the data size, in response to the command.

7. The storage device according to claim 6 , wherein the command further includes a time limit, and the memory controller is configured to terminate the garbage collection when an elapsed time from start of execution of the command exceeds the time limit.

8. A storage device, comprising:

a nonvolatile semiconductor memory device including a plurality of physical blocks; and

a memory controller configured to:

associate a first namespace ID with a first logical address space, and a second name space ID with a second logical address space different from the first logical address space,

carry out garbage collection with respect to a target physical block in response to a command including the first namespace ID, and

associate the target physical block that has undergone the garbage collection with the first namespace ID, such that the target physical block is reserved for data associated with the first namespace ID.

9. The storage device according to claim 8 , wherein

after the target physical block has undergone the garbage collection and before the target physical block is subjected to a write operation, the memory controller performs an erase operation on the target physical block.

10. The storage device according to claim 8 , wherein

after the target physical block is associated with the first namespace ID, the target physical block is not used for writing data associated with a namespace ID other than the first namespace ID.

11. The storage device according to claim 8 , wherein the target physical block is not associated with the first namespace ID at the time the command is received.

12. The storage device according to claim 11 , wherein the memory controller is configured to associate a destination physical block of the garbage collection with a namespace ID with which the target physical block was associated at the time the command was received, in response to the command.

13. The storage device according to claim 8 , wherein the command includes a data size, and the memory controller is configured to select at least one physical block, including the target physical block, on which to perform the garbage collection, based on the data size, in response to the command.

14. The storage device according to claim 13 , wherein the command further includes a time limit, and the memory controller is configured to terminate the garbage collection when an elapsed time from start of execution of the command exceeds the time limit.

15. A computing device connectable to a nonvolatile semiconductor memory device including a plurality of physical blocks, comprising:

a controller configured to control the nonvolatile semiconductor memory device by sending commands including:

a first command that causes the nonvolatile semiconductor memory device to associate one or more physical blocks with a first ID, such that the one or more physical blocks associated with the first ID are reserved for data associated with the first ID,

a second command that causes the nonvolatile semiconductor memory device to associate one or more physical blocks with a second ID, such that the one or more physical blocks associated with the second ID are reserved for data associated with the second ID, and

a third command that causes the nonvolatile semiconductor memory device to carry out garbage collection with respect to a target physical block and associate the target physical block that has undergone the garbage collection with the first ID, such that the target physical block is reserved for data associated with the first ID.

16. The computing device according to claim 15 , wherein

the target physical block is not associated with the first ID at the time the third command is received.

17. The computing device according to claim 15 , wherein

the third command includes a data size, and causes the nonvolatile semiconductor memory device to select at least one physical block, including the target physical block, on which to perform the garbage collection based on the data size.

18. The computing device according to claim 17 , wherein

the third command further includes a threshold value, and causes the nonvolatile semiconductor memory device to start the garbage collection upon a period of time during which the nonvolatile semiconductor memory device is idle exceeds the threshold value.

19. The computing device according to claim 17 , wherein

the third command further includes a time limit, and causes the nonvolatile semiconductor memory device to terminate the garbage collection when an elapsed time from start of execution of the third command exceeds the time limit.

20. The computing device according to claim 15 , wherein each of the first ID and the second ID is a stream ID.

21. The computing device according to claim 15 , wherein each of the first ID and the second ID is a namespace ID.

Assignments (4)
MERGER Recorded Jan 22, 2021
From: TOSHIBA MEMORY CORPORATION
To: K.K. PANGEA
Reel/Frame 055659/0471 →
CHANGE OF NAME AND ADDRESS Recorded Jan 22, 2021
From: TOSHIBA MEMORY CORPORATION
To: KIOXIA CORPORATION
Reel/Frame 055669/0001 →
CHANGE OF NAME AND ADDRESS Recorded Jan 22, 2021
From: K.K. PANGEA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 055669/0401 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 7, 2017
From: KABUSHIKI KAISHA TOSHIBA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 043221/0723 →
Continuity (3)
Continuation 14836391 · Aug 26, 2015
Provisional Application 62152372 · Apr 24, 2015
Related Publication 20170315730A1 · Nov 2, 2017
Cited By (2)
US 12,260,084 US 12,704,960