Multi-tier file storage management using file access and cache profile information

US2016011979A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016011979-A1
Application numberUS-201414326420-A
CountryUS
Kind codeA1
Filing dateJul 8, 2014
Priority dateJul 8, 2014
Publication dateJan 14, 2016
Grant date

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.

In one embodiment, a method for managing data includes determining that a cache access count for a given data block is greater than an average cache access count, receiving a list of active applications accessing the given data block with an anticipated access count for each active application, receiving a list of applications that are anticipated to access the given data block within a time window with an anticipated future access count for each anticipated application, determining that a block application access weight is greater than a block application access threshold, determining that a cache profile weight for the given data block is greater than zero, and sending the cache profile weight to a file system. Other systems, methods, and computer program products are described according to more embodiments.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method for managing data, the method comprising: determining that a cache access count for a given data block is greater than an average cache access count for a plurality of data blocks; receiving a list of active applications accessing the given data block with an anticipated access count for each active application contingent upon the cache access count being greater than the average cache access count; receiving a list of applications that are anticipated to access the given data block within a time window with an anticipated future access count for each anticipated application contingent upon the cache access count being greater than the average cache access count; determining that a block application access weight is greater than a block application access threshold contingent upon the cache access count being greater than the average cache access count; determining that a cache profile weight for the given data block is greater than zero contingent upon the block application access weight being greater than the block application access threshold; and sending the cache profile weight to a file system contingent upon the cache profile weight being greater than zero. 2 . The method as recited in claim 1 , wherein the cache profile weight is sent to a multi-tier monitoring module of the file system by storing bits that represent a value of the cache profile weight in one or more reserved bits of an I/O Command Descriptor Block (CDB) when an access request for the given data block is for medium synchronization purposes. 3 . The method as recited in claim 1 , wherein the cache profile weight is sent to a multi-tier monitoring module of the file system via a cache profile command when an access request for the given data block is for cache eviction purposes and the given data block is not dirty. 4 . The method as recited in claim 1 , further comprising calculating the block application access weight contingent upon the cache access count being greater than the average cache access count, wherein the block application access weight is based on the anticipated access counts for all of the active applications and the anticipated future access counts for all of the anticipated applications. 5 . The method as recited in claim 1 , further comprising calculating the cache profile weight contingent upon the block application access weight being greater than the block application access threshold, wherein the cache profile weight is based on a cache access count for the given data block, an average cache access count for the plurality of data blocks, the block application access weight, a difference between a last access time when the given data block is accessed and a current time when an access request for the given data block is for cache eviction, and a frequency of storage medium data synchronization for the given data block. 6 . The method as recited in claim 1 , wherein the determining that the cache access count for the given data block is greater than the average cache access count for the plurality of data blocks is performed in response to a cache block eviction request and/or a medium synchronization request for the given data block. 7 . The method as recited in claim 1 , further comprising determining a storage tier in the file system to store the given data block based at least in part on the cache profile weight. 8 . The method as recited in claim 1 , wherein data blocks having a higher extent cache profile weight are preferentially stored to a higher storage tier as compared to data blocks having a lower extent cache profile weight, wherein the higher storage tier comprises faster access memory in comparison with a lower storage tier. 9 . A system, comprising a processor and logic integrated with and/or executable by the processor, the logic being configured to: determine a cache profile weight for a given data block upon receiving a request to evict the given data block from cache; and determine a storage tier to store the given data block based on at least one of: an extent cache profile weight of an extent comprising the given data block, and a heat count for the given data block. 10 . The system as recited in claim 9 , wherein the logic is further configured to maintain a heatmap monitoring table, the heatmap monitoring table comprising a plurality of entries storing an extent number for each extent, a starting block number for each extent, an ending block number for each extent, an access count for each extent, and an extent cache profile weight for each extent. 11 . The system as recited in claim 10 , wherein the logic is further configured to calculate the extent cache profile weight for each extent, wherein the extent cache profile weight for a given extent equals a sum of cache profile weights for all data blocks in the given extent. 12 . The system as recited in claim 11 , wherein the logic is further configured to calculate the cache profile weight for all data blocks in the given extent, wherein the cache profile weight for a given data block in the given extent is based on a cache access count for the given data block, an average cache access count for all data blocks in the given extent, a block application access weight, and a difference between a last access time when the given data block is accessed and a current time. 13 . The system as recited in claim 9 , wherein the logic is further configured to preferentially store data blocks having a higher extent cache profile weight to a higher storage tier as compared to data blocks having a lower extent cache profile weight, wherein the higher storage tier comprises faster access memory in comparison with a lower storage tier. 14 . A computer program product for managing data, the computer program product comprising a computer readable storage medium having program code embodied therewith, the program code being readable and/or executable by a processor to cause the processor to: determine, by the processor, that a cache access count for a given data block is greater than an average cache access count for a plurality of data blocks; receive, by the processor, a list of active applications accessing the given data block with an anticipated access count for each active application contingent upon the cache access count being greater than the average cache access count; receive, by the processor, a list of applications that are anticipated to access the given data block within a time window with an anticipated future access count for each anticipated application contingent upon the cache access count being greater than the average cache access count; determine, by the processor, that a block application access weight is greater than a block application access threshold contingent upon the cache access count being greater than the average cache access count; determine, by the processor, that a cache profile weight for the given data block is greater than zero contingent upon the block application access weight being greater than the block application access threshold; and send, by the processor, the cache profile weight to a file system contingent upon the cache profile weight being greater than zero. 15 . The computer program product as recited in claim 14 , wherein the cache profile weight is sent to a multi-tier monitoring module of the file system by storing bits that represent a value of the cache profile weight in one or more reserved bits of an I/O Command Descriptor Block (CDB) when an access request for the given data block is for medium synchronization purposes. 16 .

Assignees

Inventors

Classifications

  • Allocation or management of cache space · CPC title

  • Monitoring storage devices or systems · CPC title

  • Data buffering arrangements · CPC title

  • Management of blocks · CPC title

  • Saving storage space on storage systems · 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 US2016011979A1 cover?
In one embodiment, a method for managing data includes determining that a cache access count for a given data block is greater than an average cache access count, receiving a list of active applications accessing the given data block with an anticipated access count for each active application, receiving a list of applications that are anticipated to access the given data block within a time wi…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F12/0871. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Jan 14 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). 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).