Apparatus, system, and method for destaging cached data

US9519540B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9519540-B2
Application numberUS-201213357465-A
CountryUS
Kind codeB2
Filing dateJan 24, 2012
Priority dateDec 6, 2007
Publication dateDec 13, 2016
Grant dateDec 13, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

An apparatus, system, and method are disclosed for satisfying storage requests while destaging cached data. A monitor module samples a destage rate for a nonvolatile solid-state cache, a total cache write rate for the cache, and a dirtied data rate. The dirtied data rate comprises a rate at which write operations increase an amount of dirty data in the cache. A target module determines a target cache write rate for the cache based on the destage rate, the total cache write rate, and the dirtied data rate to target a destage write ratio. The destage write ratio comprises a predetermined ratio between the dirtied data rate and the destage rate. A rate enforcement module enforces the target cache write rate such that the total cache write rate satisfies the target cache write rate.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for satisfying storage requests while destaging cached data, the method comprising: sampling a destage rate for a nonvolatile solid-state cache, a total cache write rate for the cache, and a dirtied data rate, the destage rate comprising a rate at which dirty data is destaged from the cache, the total cache write rate comprising a total amount of data written to the cache in response to user write requests, the total cache write rate further comprising a dirty write hit rate and a clean write hit rate, the dirty write hit rate comprising a rate at which cache writes invalidate dirty data in the cache, the clean write hit rate comprising a rate at which cache writes invalidate previously destaged clean data in the cache, the dirtied data rate comprising a rate at which write operations increase an amount of dirty data in the cache; determining a target cache write rate for the cache based on the destage rate, the total cache write rate, and the dirtied data rate to target a destage write ratio, the destage write ratio comprising a predetermined ratio between the dirtied data rate and the destage rate; and enforcing the target cache write rate such that the total cache write rate satisfies the target cache write rate. 2. The method of claim 1 , further comprising, sampling a total user read rate and a total backing store read rate for the cache; determining a target user read rate based on the destage rate, the total user read rate, and the total backing store read rate to target a destage read ratio, the destage read ratio comprising a predetermined ratio between the total backing store read rate and the destage rate; and enforcing the target user read rate such that the total user read rate satisfies the target user read rate. 3. The method of claim 2 , wherein the target user read rate comprises a product of the destage read ratio; the destage rate divided by the backing store read rate; and the total user read rate. 4. The method of claim 2 , wherein a difference in magnitude of the destage read ratio relative to the destage write ratio is selected based on relative priorities of read operations and write operations during destaging of the cache. 5. The method of claim 1 , wherein the target cache write rate exceeds the destage rate for the cache in response to at least a portion of the total cache write rate for the cache comprising updates to dirty data in the cache that do not increase the amount of dirty data in the cache. 6. The method of claim 1 , further comprising triggering a write rate enforcement operation in response to a data flush operation for the cache, the write rate enforcement operation comprising the sampling, determining, and enforcing steps. 7. The method of claim 6 , further comprising servicing write requests at or below the target cache write rate during the data flush operation. 8. The method of claim 6 , further comprising adjusting the destage write ratio over time such that the target cache write rate satisfies a minimum write rate threshold as the dirtied data rate increases during the data flush operation. 9. The method of claim 6 , further comprising selecting the destage write ratio such that the data flush operation completes within a predetermined flush operation window. 10. The method of claim 6 , further comprising, quiescing write operations for the cache to complete the data flush operation in response to the amount of dirty data in the cache falling below a completion threshold; transitioning the cache from a write-back mode to one of a write-through mode and a write-around mode in response to completing the data flush operation; and resuming servicing of write operations using a backing store of the cache in response to transitioning the cache from the write-back mode. 11. The method of claim 10 , further comprising, performing a maintenance operation on the backing store of the cache in response to completing the data flush operation; and transitioning the cache back to the write-back mode in response to completing the maintenance operation. 12. The method of claim 1 , further comprising triggering a write rate enforcement operation during normal runtime of the cache in response to the amount of dirty data in the cache failing to satisfy a dirty data threshold, the write rate enforcement operation comprising the sampling, determining, and enforcing steps. 13. The method of claim 1 , wherein the target cache write rate comprises a product of the destage write ratio; the destage rate divided by the dirtied data rate; and the total cache write rate. 14. The method of claim 1 , wherein enforcing the target cache write rate comprises quiescing write operations for the cache in response to the total cache write rate exceeding the target cache write rate. 15. The method of claim 1 , further comprising repeating sampling the destage rate, the total cache write rate, and the dirtied data rate and determining the target cache write rate for each of a plurality of sampling periods, wherein enforcing the target cache write rate comprises enforcing, during one sampling period, the target cache write rate determined for a previous sampling period. 16. The method of claim 1 , wherein the destage write ratio is defined by a user and represents a predetermined priority between servicing write requests and destaging data from the cache. 17. An apparatus for satisfying storage requests while destaging cached data, the apparatus comprising: a monitor module that samples a destage rate for a nonvolatile solid-state cache, a total cache write rate for the cache, and a dirtied data rate, the destage rate comprising a rate at which dirty data is destaged from the cache, the total cache write rate comprising a total amount of data written to the cache in response to user write requests, the total cache write rate further comprising a dirty write hit rate and a clean write hit rate, the dirty write hit rate comprising a rate at which cache writes invalidate dirty data in the cache, the clean write hit rate comprising a rate at which cache writes invalidate previously destaged clean data in the cache, the dirtied data rate comprising a rate at which write operations increase an amount of dirty data in the cache; a target module that determines a target cache write rate for the cache based on the destage rate, the total cache write rate, and the dirtied data rate to target a destage write ratio, the destage write ratio comprising a predetermined ratio between the dirtied data rate and the destage rate; and a rate enforcement module that enforces the target cache write rate such that the total cache write rate satisfies the target cache write rate. 18. The apparatus of claim 17 , wherein, the monitor module samples a total user read rate and a total backing store read rate for the cache; the target module determines a target user read rate based on the destage rate, the total user read rate, and the total backing store read rate to target a destage read ratio, the destage read ratio comprising a predetermined ratio between the total backing store read rate and the destage rate; and the rate enforcement module enforces the target user read rate such that the total user read rate satisfies the target user read rate. 19. A system for satisfying storage requests while destaging cached data, the system comprising: a nonvolatile solid-state cache; a backing store for the nonvolatile solid-state cache; a cache controller for the nonvolatile solid-state cache, the cache

Assignees

Inventors

Classifications

  • Non-volatile memory · CPC title

  • Complex or three-dimensional-arrangements; Stepped or dual mother boards · CPC title

  • with centralised control, e.g. polling · CPC title

  • Hybrid, i.e. RAID systems with parity comprising a mix of RAID types · CPC title

  • for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9519540B2 cover?
An apparatus, system, and method are disclosed for satisfying storage requests while destaging cached data. A monitor module samples a destage rate for a nonvolatile solid-state cache, a total cache write rate for the cache, and a dirtied data rate. The dirtied data rate comprises a rate at which write operations increase an amount of dirty data in the cache. A target module determines a target…
Who is the assignee on this patent?
Atkisson David, Ludwig Jonathan, Sandisk Technologies Llc
What technology area does this patent fall under?
Primary CPC classification G06F11/108. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 13 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).