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;
- and
- performing a first flush of the first portion to storage media and performing a separate second flush of the second portion to the storage media,
- wherein flushing the first portion to the storage media is in response to the first portion storing data having a size reaching a first threshold, and
- wherein flushing the second portion to the storage media is in response to the second portion storing data having a size reaching a second threshold.
The method of claim S, wherein the throttling the first flush throttles the first flush to a bandwidth based on an average rate of receipt of write access requests.
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;
- and
- perform a first flush of the first portion to storage media and perform a separate second flush of the second portion to the storage media,
- wherein flushing the first portion to the storage media is in response to the first portion storing data having a size reaching a first threshold, and
- wherein flushing the second portion to the storage media is in response to the second portion storing data having a size reaching a second threshold.
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;
- and
- performing a first flush of the first portion to storage media and performing a separate second flush of the second portion to the storage media.
- wherein flushing the first portion to the storage media is in response to the first portion storing data having a size reaching a first threshold, and
- wherein flushing the second portion to the storage media is in response to the second portion storing data having a size reaching a second threshold.
Dependencies are inferred from the claim text.