Storage device that writes data from a host during garbage collection
AssigneeToshiba Memory Corporation
InventorShinichi Kanno
Life of this patent
Estimating the term…
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.
Claims14
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.
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.
Dependencies are inferred from the claim text.