IP Library Granted Patent US 9,996,302
Granted Patent B2
US 9,996,302 · App. 15/015,047 · Granted Jun 12, 2018

Storage device writing data on the basis of stream

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 9,996,302
App. No.
15/015,047
Granted
Jun 12, 2018
Kind
B2
Abstract

A storage device includes a non-volatile semiconductor memory device including a plurality of physical blocks, and a controller configured to associate one of the physical blocks with a stream ID, receive a first command including the stream ID, and in response thereto, transmit information on capacity of unwritten space in the physical block associated with the stream ID.

Claims (40)

1. A storage device, comprising:

a non-volatile semiconductor memory device including a plurality of physical blocks; and

a controller configured to associate one of the physical blocks with a stream ID, receive a first command including the stream ID, and in response thereto, transmit information on capacity of unwritten space in the physical block associated with the stream ID, wherein

when the controller receives a second command including the stream ID after the first command, the controller is further configured to remap a physical block that is currently associated with no stream ID, as a new input block for storing data associated with the stream ID, and

the second command is a command different from a write command and different from a read command.

2. The storage device according to claim 1 , wherein

the controller is configured to erase all data in the physical block before the physical block is remapped as the new input block.

3. The storage device according to claim 1 , wherein

the controller is further configured to receive a write command including the stream ID, and write data, and in response thereto, write the write data into the new input block.

4. The storage device according to claim 3 , wherein

the controller is further configured to write a portion of the write data in a physical block different from the new input block, when capacity of the new input block is smaller than a size of the write data.

5. The storage device according to claim 1 , wherein

the controller is further configured to, in response to the second command, remap a physical block that is currently mapped as an input block, as a pending input block into which no data are written as long as mapping as the pending input block is maintained.

6. The storage device according to claim 5 , wherein

the controller is further configured to remap the pending input block as another new input block for storing a portion of the write data, when the new input block becomes full.

7. The storage device according to claim 5 , wherein

the controller is further configured to remap the pending input block as a second input block for storing data that are not associated with the stream ID.

8. The storage device according to claim 5 , wherein

the controller is further configured to write dummy data into the currently-mapped input block before being remapped as the pending block.

9. The storage device according to claim 1 , wherein

when the second command includes a size of write data associated with the stream ID, a physical block having capacity equal to or greater than the size is remapped as the new input block.

10. The storage device according to claim 1 , wherein

the controller is further configured to receive a write command including the stream ID, and write data, and when the controller receives the write command next to the first command, write the write data into the unwritten space in the physical block.

11. A computing device comprising a processing unit programmed to carry out a method of issuing commands to store write data in a storage device having a non-volatile semiconductor memory device including a plurality of physical blocks, said method comprising:

issuing a first command including a stream ID;

in response to the first command, receiving information on capacity of unwritten space in a physical block, which is currently mapped as an input block for storing data associated with the stream ID;

if a size of the write data is greater than the capacity, issuing a second command including the stream ID to remap a physical block that is associated with no stream ID as a new input block for the stream ID, wherein the second command is a command different from a write command and different from a read command; and

if the size of the write data is not greater than the capacity, issuing the write command including the stream ID to write the write data into the currently-mapped input block.

12. The computing device according to claim 11 , wherein said method further comprises:

if the size of the write data is greater than the capacity, issuing also the write command including the stream ID to write the write data into the new input block.

13. The computing device according to claim 11 , wherein

the second command also causes all data in the physical block to be erased, before the physical block is remapped as the new input block.

14. The computing device according to claim 11 , wherein

the second command also causes the currently-mapped input block to be remapped as a pending input block into which no data are written as long as mapping as the pending input block is maintained.

15. The computing device according to claim 14 , wherein

the second command also causes the pending input block to be remapped as another new input block for storing a portion of the write data, when the new input block becomes full.

16. The computing device according to claim 14 , wherein

the second command also causes the pending input block to be remapped as a second input block for storing data that are not associated with the stream ID.

17. The computing device according to claim 14 , wherein

the second command also causes dummy data to be written into the currently-mapped input block, before being remapped as the pending input block.

Assignments (5)
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 Jul 14, 2017
From: KABUSHIKI KAISHA TOSHIBA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 043194/0647 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 31, 2016
From: HASHIMOTO, DAISUKE; KANNO, SHINICHI
To: KABUSHIKI KAISHA TOSHIBA
Reel/Frame 038751/0859 →