NAND-based storage device with partitioned nonvolatile write buffer
AssigneeSK Hynix NAND Product Solutions Corp.
InventorsMichal Wysoczanski, Kapil Karkra, Piotr Wysocki, Anand S. Ramalingam
Life of this patent
Estimating the term…
Abstract
A storage system includes a NAND storage media and a nonvolatile storage media as a write buffer for the NAND storage media. The write buffer is partitioned, where the partitions are to buffer write data based on a classification of a received write request. Write requests are placed in the write buffer partition with other write requests of the same classification. The partitions have a size at least equal to the size of an erase unit of the NAND storage media. The write buffer flushes a partition once it has an amount of write data equal to the size of the erase unit.
Claims20
A method comprising:
- buffering first data in a first portion of memory based on a first expected frequency of modification of the first data;
- buffering second data in a second portion of the memory based on a second expected frequency of modification of the second data, wherein the second expected frequency is different from the first expected frequency;
- determining that the first portion stores data having a size that reaches a first threshold;
- in response to determining that the first portion stores data having the size that reaches the first threshold, performing a first flush of the first portion to storage media;
- determining that the second portion stores data having a size that reaches a second threshold;
- and
- in response to determining that the second portion stores data having the size that reaches the second threshold, performing a separate second flush of the second portion to the storage media.
A system comprising:
- memory;
- and
- a hardware processor coupled to the memory and configured to at least:
- buffer first data in a first portion of memory based on a first expected frequency of modification of the first data;
- buffer second data in a second portion of the memory based on a second expected frequency of modification of the second data, wherein the second expected frequency is different from the first expected frequency;
- determine that the first portion stores data having a size that reaches a first threshold;
- in response to determining that the first portion stores data having the size that reaches the first threshold, perform a first flush of the first portion to storage media;
- determine that the second portion stores data having a size that reaches a second threshold;
- and
- in response to determining that the second portion stores data having the size that reaches the second threshold, perform a separate second flush of the second portion to the storage media.
A non-transitory computer-readable medium containing computer executable instructions that, when executed by a processor, cause the processor to perform a method of buffering write data, the method comprising:
- buffering first data in a first portion of memory based on a first expected frequency of modification of the first data;
- buffering second data in a second portion of the memory based on a second expected frequency of modification of the second data, wherein the second expected frequency is different from the first expected frequency;
- determining that the first portion stores data having a size that reaches a first threshold;
- in response to determining that the first portion stores data having the size that reaches the first threshold, performing a first flush of the first portion to storage media;
- determining that the second portion stores data having a size that reaches a second threshold;
- and
- in response to determining that the second portion stores data having the size that reaches the second threshold, performing a separate second flush of the second portion to the storage media.
Dependencies are inferred from the claim text.