System and method for determining when and what position in cache memory to store data elements utilizing least and last accessed data replacement method
First Claim
1. A cache management system including a cache manager, for monitoring and controlling contents of a cache memory coupled to at least one longer term data storage device, said cache management system comprising:
- said cache memory including a first cache memory section, for storing data elements awaiting writing to said at least one longer term data storage device, and a second cache memory section for storing data elements which have been written to said at least one longer term data storage device, said data elements stored in said second cache memory section including a last recently used data element and a least recently used data element, said last recently used data element moveable, over time, in said second cache memory section to become said least recently used data element;
a time indicator, for providing a time indication signal;
a cache indexer, responsive to said time indication signal, for maintaining a cache index of data elements which are stored in at least said first and second cache memory sections, said cache index of data elements including a time indication associated with each data element indexed in said cache index by said cache indexer; and
a cache manager for placing data elements into and removing data elements from said first and second cache memory sections, said cache manager responsive to at least one data element stored in said first cache memory section and written to said at least one longer term data storage device, and responsive to said time indication associated with each data element stored in said cache and indexed in said cache index by said cache indexer, for determining an average period of time that elapses between at least one data element being inserted into said second cache memory section as a last recently used data element, and said at least one data element inserted into said second cache memory section as a last recently used data element being removed from said second cache memory section as said least recently used data element, and for determining a period of time that said at least one data element was stored in said first cache memory section, for comparing said average period of time that elapses with said period of time said at least one data element was stored in said second cache memory section, for placing said at least one data element into said second cache memory section as a last recently used data element if said period of time is less than said average period of time that elapses, and for placing said at least one data element into said second cache memory section as a least recently used data element if said period of time is greater than said average period of time that elapses.
1 Assignment
0 Petitions
Accused Products
Abstract
A cache management system and method monitors and controls the contents of cache memory. Cache memory is organized into at least a first section for storing data waiting to be written to a longer term data storage device, and a second section for storing data elements which have been written to the longer term data storage device. A time indication provider provides a time indication signal to a cache indexer, for maintaining a cache index representing data elements which are stored in cache as well as an indication that a data element must be written to a longer term data storage device. A cache manager is responsible for placing data elements into and removing data elements from the cache memory. The cache manager determimes the amount of time that the data element has been stored in cache as well as the average period of time that elapses between a data element being inserted in cache and being removed from cache. Based on a comparison of the average period of time a data element spends in cache, and the amount of time a data element spends in cache, and the amount of time that the element has been stored in cache, the cache manager determines whether to place the data element in the top of the cache, to allow the data element to remain in cache a longer period of time, or at the bottom of the cache which will cause the data element to be removed from cache more quickly.
52 Citations
33 Claims
-
1. A cache management system including a cache manager, for monitoring and controlling contents of a cache memory coupled to at least one longer term data storage device, said cache management system comprising:
-
said cache memory including a first cache memory section, for storing data elements awaiting writing to said at least one longer term data storage device, and a second cache memory section for storing data elements which have been written to said at least one longer term data storage device, said data elements stored in said second cache memory section including a last recently used data element and a least recently used data element, said last recently used data element moveable, over time, in said second cache memory section to become said least recently used data element; a time indicator, for providing a time indication signal; a cache indexer, responsive to said time indication signal, for maintaining a cache index of data elements which are stored in at least said first and second cache memory sections, said cache index of data elements including a time indication associated with each data element indexed in said cache index by said cache indexer; and a cache manager for placing data elements into and removing data elements from said first and second cache memory sections, said cache manager responsive to at least one data element stored in said first cache memory section and written to said at least one longer term data storage device, and responsive to said time indication associated with each data element stored in said cache and indexed in said cache index by said cache indexer, for determining an average period of time that elapses between at least one data element being inserted into said second cache memory section as a last recently used data element, and said at least one data element inserted into said second cache memory section as a last recently used data element being removed from said second cache memory section as said least recently used data element, and for determining a period of time that said at least one data element was stored in said first cache memory section, for comparing said average period of time that elapses with said period of time said at least one data element was stored in said second cache memory section, for placing said at least one data element into said second cache memory section as a last recently used data element if said period of time is less than said average period of time that elapses, and for placing said at least one data element into said second cache memory section as a least recently used data element if said period of time is greater than said average period of time that elapses. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A cache management system including a cache manager, for monitoring and controlling contents of a cache memory coupled to at least one longer term data storage device, said cache management system comprising:
-
said cache memory including a first cache memory section, for storing data elements awaiting writing to said at least one longer term data storage device, and a second cache memory section for storing data elements which have been written to said at least one longer term data storage device, said data elements stored in said second cache memory section including a last recently used data element and a least recently used data element, said last recently used data element moveable, over time, in said second cache memory section to become said least recently used data element; a time indicator, for providing a time indication signal; a cache indexer, responsive to said time indication signal, for maintaining a cache index of data elements which are stored in at least said first and second cache memory sections, said cache index of data elements including a time indication associated with each data element indexed in said cache index by said cache indexer, said cache index including a data element access counter providing an indication of a number of times said data element has been read while stored in said first cache memory section; a sequential data access indicator, responsive to said cache index, for detecting a plurality of sequential data elements stored in said cache memory, and responsive to said detection of a plurality of sequential data elements stored in cache memory, to a user selectable sequential data access indicator threshold value, and to a comparison of said time indications associated with at least first and second sequential data elements of said plurality of detected sequential data elements, for providing an indication that at least one process executing on said at least one host is effecting a sequential data access; and said cache manager for placing data elements into and removing data elements from said first and second cache memory sections, said cache manager responsive to at least one data element stored in said first cache memory section and written to said at least one longer term data storage device, and responsive to said indication of said number of times said data element has been read while stored in said first memory section included in said cache index, for determining a number of times the data element has been accessed while stored in said first cache memory section, and if said number of times said data element has been accessed is greater than one, for placing said at least one data element into said second cache memory section as a least recently used element.
-
-
33. A cache management method, for monitoring and controlling contents of a cache memory coupled to at least one host and to at least one data storage device, said cache management method comprising:
-
providing said cache memory including a first cache memory section, for storing data elements awaiting writing to said at least one longer term data storage device, and a second cache memory section for storing data elements which have been written to said at least one longer term data storage device, said data elements stored in said second cache memory section including a last recently used data element and a least recently used data element, said last recently used data element moveable, over time, in said second cache memory section to become said least recently used data element; providing a time indicator, for providing a time indication signal; providing a cache indexer, responsive to said time indication signal, for maintaining a cache index of data elements which are stored in at least said first and second cache memory sections, said cache index of data elements including a time indication associated with each data element indexed in said cache index by said cache indexer; providing a cache manager, responsive to said time indication associated with each data element stored in said cache and indexed in said cache index by said cache indexer, said cache manager determining an average period of time that elapses between at least one data element being inserted into said second cache memory section as a last recently used data element, and said at least one data element inserted into said second cache memory section as a last recently used data element being removed from said second cache memory section as said least recently used data element; determining a period of time that said at least one data element was stored in said first cache memory section; comparing said average period of time that elapses with said period of time said at least one data element was stored in said first cache memory section; placing said at least one data element into said second cache memory section as a last recently used data element if said period of time is less than said average period of time that elapses; and placing said at least one data element into said second cache memory section as a least recently used data element if said period of time is greater than said average period of time that elapses.
-
Specification