Electronic system with memory control mechanism and method of operation thereof
US-2015363312-A1 · Dec 17, 2015 · US
US2016011979A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2016011979-A1 |
| Application number | US-201414326420-A |
| Country | US |
| Kind code | A1 |
| Filing date | Jul 8, 2014 |
| Priority date | Jul 8, 2014 |
| Publication date | Jan 14, 2016 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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 .
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.