IP Library Granted Patent US 10,761,733
Granted Patent B2
US 10,761,733 · App. 15/441,068 · Granted Sep 1, 2020

Storage device that writes data from a host during garbage collection

Inventor: Shinichi Kanno (Ota Tokyo, JP)
Assignee: Toshiba Memory Corporation
G06F3/061G06F3/065G06F3/068G06F3/0656G06F3/0679G06F12/0246G06F12/0253G06F12/10G06F2212/7201G06F2212/7204G06F2212/7205G06F2212/7206
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,761,733
App. No.
15/441,068
Granted
Sep 1, 2020
Kind
B2
Abstract

A memory system includes a controller, a buffer, and a nonvolatile memory including a plurality of blocks, wherein each of the blocks includes a plurality of pages and each of the pages includes a plurality of unit data portions. The controller is configured to carry out garbage collection by reading data from one or more pages of a target block of the garbage collection and selectively copying valid unit data portions included in the read data to another block, count a number of invalid unit data portions included in the read data, and accept, in the buffer, unit data portions from a host as write data, up to a number determined based on the counted number, during the garbage collection.

Claims (45)

1. A storage device that is configured to perform read and write operations based on read and write commands output from a host, comprising:

a controller;

a buffer that comprises a volatile memory; and

a nonvolatile memory including a plurality of blocks, wherein each of the blocks includes a plurality of pages, wherein:

the controller is configured to:

associate one or more blocks of the nonvolatile memory with a first namespace such that data associated with the first namespace are selectively stored therein;

associate other one or more blocks of the nonvolatile memory with a second namespace such that data associated with the second namespace are selectively stored therein;

carry out garbage collection by reading data from one or more pages of a target block of the garbage collection and selectively copying valid data included in the read data to another block,

determine during the garbage collection an amount of invalid data included in the read data, and

receive, in the buffer during the garbage collection, first write data from the host up to a first size which depends on the determined amount of invalid data;

wherein the garbage collection and the determining of the amount are carried out independently with respect to each of the first and second namespaces, and

wherein third write data associated with the first namespace and fourth write data associated with the second namespace are received in the buffer up to a maximum amount which is determined based on a sum of the determined amount for the first namespace and the determined amount for the second namespace.

2. The storage device according to claim 1 , wherein

the controller is further configured to decrease the sum of the determined amounts by an amount of the first write data received in the buffer, during the garbage collection.

3. The storage device according to claim 1 , wherein

the controller reads the data from the target block of the garbage collection until the valid data included in the read data amount to a size of one page, and then receive the first write data from the host up to the sum of the determined amounts.

4. The storage device according to claim 1 , wherein

the controller is further configured to count a number of non-written portions in a block in which second write data in the buffer is to be written, and accept, in the buffer, the second write data from the host, up to an amount corresponding to the counted number of non-written portions, while the garbage collection is not carried out.

5. The storage device according to claim 1 , wherein

the controller is further configured to start the garbage collection upon determining that a number of free blocks in which no valid data are stored is less than a threshold.

6. The storage device according to claim 1 , wherein

the controller is further configured to map the target block for the garbage collection as a free block in which no valid data are stored after the valid data in all pages of the target block are copied.

7. The storage device according to claim 1 , wherein

the garbage collection, the determining of the amount, and the receiving of the first write data from the host are carried out independently with respect to each of the first and second namespaces.

8. A method of operating a storage device including a buffer that comprises a volatile memory, and a nonvolatile memory including a plurality of blocks, the storage device configured to perform read and write operations based on read and write commands output from a host, wherein each of the blocks includes a plurality of pages, the method comprising:

associating one or more blocks of the nonvolatile memory with a first namespace such that data associated with the first namespace are selectively stored therein;

associating other one or more blocks of the nonvolatile memory with a second namespace such that data associated with the second namespace are selectively stored therein;

carrying out garbage collection by reading data from one or more pages of a target block of the garbage collection and selectively copying valid data included in the read data to another block;

determining during the garbage collection an amount of invalid data included in the read data; and

receiving, in the buffer during the garbage collection, first write data from the host up to a first size which depends on the determined amount of invalid data,

wherein the garbage collection and the determining of the amount are carried out independently with respect to each of the first and second namespaces, and

wherein third write data associated with the first namespace and fourth write data associated with the second namespace are received in the buffer, up to a maximum amount which is determined based on a sum of the determined amount for the first namespace and the determined amount for the second namespace.

9. The method according to claim 8 , further comprising:

decreasing the sum of the determined amounts by an amount of the first write data received in the buffer, during the garbage collection.

10. The method according to claim 8 , wherein

the data are read from the target block of the garbage collection until the valid data included in the read data amount to a size of one page, and then the first write data from the host up to the sum of the determined amounts are received in the buffer.

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

during a write operation during which the garbage collection is not carried out, counting a number of non-written portions in a block in which second write data in the buffer is to be written, and receiving, in the buffer, the second write data from the host, up to an amount corresponding to the counted number of non-written portions.

12. The method according to claim 8 , wherein

the garbage collection is started upon determining that a number of free blocks in which no valid data are stored is less than a threshold.

13. The method according to claim 8 , further comprising:

mapping the target block for the garbage collection as a free block in which no valid data are stored after the valid data in all pages of the target block are copied.

14. The method according to claim 8 ,

wherein

the garbage collection, the determining of the amount, and the receiving of the first write data from the host are carried out independently with respect to each of the first and second namespaces.

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 Mar 27, 2017
From: KANNO, SHINICHI
To: KABUSHIKI KAISHA TOSHIBA
Reel/Frame 041755/0766 →
Priority Claims (1)
JP 2016-185477 · Sep 23, 2016 · national
Continuity (1)
Related Publication 20180088805A1 · Mar 29, 2018