Methods and systems for using predictive cache statistics in a storage system

US9830269B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9830269-B2
Application numberUS-201414445354-A
CountryUS
Kind codeB2
Filing dateJul 29, 2014
Priority dateJul 29, 2014
Publication dateNov 28, 2017
Grant dateNov 28, 2017

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.

Method and systems for a storage system are provided. Simulated cache blocks of a cache system are tracked using cache metadata while performing a workload having a plurality of storage operations. The cache metadata is segmented, each segment corresponding to a cache size. Predictive statistics are determined for each cache size using a corresponding segment of the cache metadata. The predictive statistics are used to determine an amount of data that is written for each cache size within certain duration. The process then determines if each cache size provides an endurance level after executing a certain number of write operations, where the endurance level indicates a desired life-cycle for each cache size.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: tracking a first amount of data written to simulated cache blocks of a cache system using cache metadata while performing a workload having a plurality of storage operations during a sample period, wherein the cache metadata is segmented, each segment corresponding to a different one of a plurality of cache sizes for each of a plurality of cache devices; extrapolating, from the first amount of data tracked for each segment of the cache metadata, a respective second amount of data to be written for each segment within a duration; determining a number of write operations supported by each of the plurality of cache devices for the duration in which the second amount of data is to be written; determining a minimum cache size for each of the plurality of cache devices to write the respective second amount of data for each segment, based on the number of write operations supported by that cache device and a desired life cycle for that cache device; and selecting at least one of the plurality of cache devices for performing storage operations within the cache system, based at least in part on the minimum cache size determined for each cache device. 2. The method of claim 1 , wherein the cache metadata uses a segment identifier for tracking each segment of the cache metadata. 3. The method of claim 1 , wherein a storage controller tracks the simulated cache blocks of the cache system using the cache metadata. 4. The method of claim 3 , wherein the simulated cache blocks of the cache system are tracked using a least recently used cache tracking mechanism. 5. The method of claim 3 , wherein the simulated cache blocks of the cache system are tracked using a most recently used cache tracking mechanism. 6. The method of claim 1 , further comprising: notifying a user as to whether or not the desired life cycle for each of the plurality of cache devices is achievable based on the number of write operations supported by each cache device. 7. The method of claim 1 , wherein the cache system includes a solid state cache system that operates as a secondary cache system. 8. A non-transitory machine readable medium having stored thereon instructions for performing a method comprising machine executable code which when executed by at least one machine, causes the machine to: track a first amount of data written to simulated cache blocks of a cache system using cache metadata while performing a workload having a plurality of storage operations during a sample period, wherein the cache metadata is segmented, each segment corresponding to a different one of a plurality of cache sizes for each of a plurality of cache devices; extrapolate, from the first amount of data tracked for each segment of the cache metadata, a respective second amount of data to be written for each segment within a duration; determine a number of write operations supported by each of the plurality of cache devices for the duration in which the second amount of data is to be written; determining a minimum cache size for each of the plurality of cache devices to write the respective second amount of data for each segment, based on the number of write operations supported by that cache device and a desired life cycle for that cache device; and select at least one of the plurality of cache devices for performing storage operations within the cache system, based at least in part on the minimum cache size determined for each cache device. 9. The storage medium of claim 8 , wherein the cache metadata uses a segment identifier for tracking each segment of the cache metadata. 10. The storage medium of claim 8 , wherein a storage controller tracks the simulated cache blocks of the cache system using the cache metadata. 11. The storage medium of claim 10 , wherein the simulated cache blocks of the cache system are tracked using a least recently used cache tracking mechanism. 12. The storage medium of claim 10 , wherein the simulated cache blocks of the cache system are tracked using a most recently used cache tracking mechanism. 13. The storage medium of claim 8 , the machine executable code further causing the machine to notify a user as to whether or not the desired life cycle for each of the plurality of cache devices is achievable based on the number of write operations supported by each cache device. 14. The storage medium of claim 8 , wherein the cache system includes a solid state cache system that operates as a secondary cache system. 15. A computing device comprising: a memory containing machine readable medium comprising machine executable code having stored thereon instructions for performing a method of simulating a cache system; a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to: track a first amount of data written to simulated cache blocks of the cache system using cache metadata while performing a workload having a plurality of storage operations during a sample period, wherein the cache metadata is segmented, each segment corresponding to a different one of a plurality of cache sizes for each of a plurality of cache devices; extrapolate, from the first amount of data tracked for each segment of the cache metadata, a respective second amount of data to be written for each segment within a duration; and determine a number of write operations supported by each of the plurality of cache devices for the duration in which the second amount of data is to be written; determining a minimum cache size for each of the plurality of cache devices to write the respective second amount of data for each segment, based on the number of write operations supported by that cache device and a desired life cycle for that cache device; and select at least one of the plurality of cache devices for performing storage operations within the cache system, based at least in part on the minimum cache size determined for each cache device. 16. The system of claim 15 , wherein the cache metadata uses a segment identifier for tracking each segment of the cache metadata. 17. The system of claim 15 , wherein the simulated blocks of the cache system are tracked using cache metadata. 18. The system of claim 17 , wherein the simulated cache blocks of the cache system are tracked using a most recently used cache tracking mechanism. 19. The system of claim 15 , wherein a user is notified as to whether or not the desired life cycle for each of the plurality of cache devices is achievable based on the number of write operations supported by each cache device. 20. The system of claim 15 , wherein the cache system includes a solid state cache system that operates as a secondary cache system.

Assignees

Inventors

Classifications

  • Space efficiency improvement · CPC title

  • for peripheral storage systems, e.g. disk cache · CPC title

  • Reconfiguration of cache memory · CPC title

  • In storage network, e.g. network attached cache · CPC title

  • Reliability improvement, data loss prevention, degraded operation etc · 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 US9830269B2 cover?
Method and systems for a storage system are provided. Simulated cache blocks of a cache system are tracked using cache metadata while performing a workload having a plurality of storage operations. The cache metadata is segmented, each segment corresponding to a cache size. Predictive statistics are determined for each cache size using a corresponding segment of the cache metadata. The predicti…
Who is the assignee on this patent?
Netapp Inc, Netapp Inc
What technology area does this patent fall under?
Primary CPC classification G06F12/0866. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 28 2017 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).