Application aware cache management
AssigneeEMC IP Holding Company LLC
InventorsJai P. Gahlot, Shiv S. Kumar
Life of this patent
Estimating the term…
Abstract
Methods, apparatus, and processor-readable storage media for application aware cache management are provided herein. An example computer-implemented method includes maintaining a data structure comprising at least one entry indicative of an importance of at least one of a plurality of applications associated with a storage system; and controlling whether or not a particular data item requested by one of the plurality of applications is cached in a cache memory of the storage system based at least in part on the at least one entry of the data structure.
Claims20
A computer-implemented method comprising:
- maintaining a data structure for a plurality of data items currently stored in a cache memory of a storage system, wherein, for each respective data item, the data structure comprises:
- (i) an eviction parameter value corresponding to a cache eviction algorithm, (ii) a priority value indicative of an importance of at least one of a plurality of applications associated with the storage system, and (iii) an adjusted eviction parameter value of the respective data item that is computed based at least in part on the eviction parameter value and the priority value;
- retrieving a particular data item requested by one of the plurality of applications from one of the cache memory and a second memory of the storage system;
- in response to retrieving the particular data item from the cache memory:
- (i) updating the eviction parameter value, in the data structure, corresponding to the particular data item;
- and (ii) when the priority value of the application requesting the particular data item is higher than the priority value currently maintained for the particular data item, changing the priority value in the data structure to the priority value of the application requesting the particular data item and updating the adjusted eviction parameter value, in the data structure, corresponding to the particular data item to a default value incremented by the priority value of the application requesting the particular data item;
- and
- controlling whether or not the particular data item is cached in the cache memory of the storage system based at least in part on the adjusted eviction parameter values of the data structure;
- wherein the method is performed by at least one processing device comprising a hardware processor.
A non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes the at least one processing device:
- to maintain a data structure for a plurality of data items currently stored in a cache memory of a storage system, wherein, for each respective data item, the data structure comprises:
- (i) an eviction parameter value corresponding to a cache eviction algorithm, (ii) a priority value indicative of an importance of at least one of a plurality of applications associated with the storage system, and (iii) an adjusted eviction parameter value of the respective data item that is computed based at least in part on the eviction parameter value and the priority value;
- to retrieve a particular data item requested by one of the plurality of applications from one of the cache memory and a second memory of the storage system;
- in response to retrieving the particular data item from the cache memory:
- (i) to update the eviction parameter value, in the data structure, corresponding to the particular data item;
- and (ii) when the priority value of the application requesting the particular data item is higher than the priority value currently maintained for the particular data item, to change the priority value in the data structure to the priority value of the application requesting the particular data item and to update the adjusted eviction parameter value, in the data structure, corresponding to the particular data item to a default value incremented by the priority value of the application requesting the particular data item;
- and
- to control whether or not the particular data item is cached in the cache memory of the storage system based at least in part on the adjusted eviction parameter values of the data structure.
An apparatus comprising:
- at least one processing device comprising a processor coupled to a memory;
- the at least one processing device being configured:
- to maintain a data structure for a plurality of data items currently stored in a cache memory of a storage system, wherein, for each respective data item, the data structure comprises:
- (i) an eviction parameter value corresponding to a cache eviction algorithm, (ii) a priority value indicative of an importance of at least one of a plurality of applications associated with the storage system, and (iii) an adjusted eviction parameter value of the respective data item that is computed based at least in part on the eviction parameter value and the priority value;
- to retrieve a particular data item requested by one of the plurality of applications from one of the cache memory and a second memory of the storage system;
- in response to retrieving the particular data item from the cache memory:
- (i) to update the eviction parameter value, in the data structure, corresponding to the particular data item;
- and (ii) when the priority value of the application requesting the particular data item is higher than the priority value currently maintained for the particular data item, to change the priority value in the data structure to the priority value of the application requesting the particular data item and to update the adjusted eviction parameter value, in the data structure, corresponding to the particular data item to a default value incremented by the priority value of the application requesting the particular data item;
- and
- to control whether or not the particular data item is cached in the cache memory of the storage system based at least in part on the adjusted eviction parameter values of the data structure.
Dependencies are inferred from the claim text.