IP Library Granted Patent US 10,712,977
Granted Patent B2
US 10,712,977 · App. 16/005,567 · Granted Jul 14, 2020

Storage device writing data on the basis of stream

Inventors: Daisuke Hashimoto (Cupertino, CA); Shinichi Kanno (Ota Tokyo, JP)
Assignee: TOSHIBA MEMORY CORPORATION
G06F3/0679G06F3/061G06F3/064G06F3/0611G06F3/0616G06F3/0643G06F3/0659G06F12/02G06F12/0246G06F2212/1016G06F2212/1036G06F2212/7201G06F2212/7205G06F2212/7208
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,712,977
App. No.
16/005,567
Granted
Jul 14, 2020
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 (48)

1. A storage device, comprising:

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

a controller configured to

associate the first physical block of the non-volatile semiconductor memory device with a first stream ID, and in response to receiving a first command including the first stream ID, transmit information about capacity of unwritten space in the first physical block, and

in response to receiving a second command including the first stream ID after transmitting the information about the capacity of unwritten space in the first physical block, remap the second physical block of the non-volatile semiconductor memory device, which is currently associated with no stream ID, as a new input block for storing data associated with the first stream ID,

wherein the first command is not a command to access the non-volatile semiconductor memory device, and the second command is not a command to access the non-volatile semiconductor memory device.

2. The storage device according to claim 1 , wherein

the controller is configured to erase all data in the second physical block before the second 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 first 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 first 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

the second command includes a size of write data associated with the first stream ID, and the second physical block has a capacity equal to or greater than the size.

10. The storage device according to claim 1 , wherein

the controller is further configured to receive a write command including the first 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 second physical block.

11. A storage device, comprising:

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

a controller configured to

associate the first physical block of the non-volatile semiconductor memory device with a first stream ID, and in response to receiving a first command including the first stream ID, transmit information about capacity of unwritten space in the first physical block, and

in response to receiving a second command including the first stream ID after transmitting the information about the capacity of unwritten space in the first physical block, remap the second physical block of the non-volatile semiconductor memory device, which is currently associated with no stream ID, before the second physical block is written to, as a new input block for storing data associated with the first stream ID,

wherein the first command is not a command to access the non-volatile semiconductor memory device, and the second command is not a command to access the non-volatile semiconductor memory device.

12. The storage device according to claim 11 , wherein

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

13. The storage device according to claim 11 , wherein

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

14. The storage device according to claim 13 , 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.

15. The storage device according to claim 11 , 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.

16. The storage device according to claim 15 , 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.

17. The storage device according to claim 15 , 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 first stream ID.

18. The storage device according to claim 15 , wherein

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

19. The storage device according to claim 11 , wherein

the second command includes a size of write data associated with the first stream ID, and the second physical block has a capacity equal to or greater than the size.

20. The storage device according to claim 11 , wherein

the controller is further configured to receive a write command including the first 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 second physical block.

Assignments (3)
CHANGE OF NAME AND ADDRESS Recorded Jan 22, 2021
From: K.K. PANGEA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 055669/0401 →
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 →
Continuity (3)
Continuation 15015047 · Feb 3, 2016
Provisional Application 62142937 · Apr 3, 2015
Related Publication 20180357016A1 · Dec 13, 2018