System and method for determining sequential cache data access in progress
First Claim
1. A cache management system including a cache manager, for monitoring and controlling contents of cache memory, said cache management system comprising:
- a timer for providing a time indication;
a cache indexer, responsive to said time indication, for maintaining a cache index of data elements which are stored in said cache memory, 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 sequential data access indicator, responsive to detection of a plurality of sequential data elements stored in said cache memory, to a user selectable sequential data access indicator threshold value, and to a comparison of time indication 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 is effecting a sequential data access.
1 Assignment
0 Petitions
Accused Products
Abstract
A dynamic cache management system and method monitors and controls the contents of cache memory coupled to at least one host and at least one data storage device. A cache indexer maintains a current index of data elements which are stored in cache memory along with a time indication which relates to each data elements use in the cache. A sequential data access indicator, responsive to the cache index, to the time indication associated with each data element and to a user selectable data access threshold, determines that a sequential data access is in progress for a given process and provides an indication of the same. The system and method allocate a micro-cache memory to any process performing a sequential data access. In response to the indication of a sequential data access in progress and to a user selectable maximum number of data elements to be prefetched, a data retrieval requestor requests retrieval of up to the selected maximum number of data elements from a data storage device. A user selectable number of sequential data elements determines when previously used micro-cache memory locations will be overwritten.
-
Citations
46 Claims
-
1. A cache management system including a cache manager, for monitoring and controlling contents of cache memory, said cache management system comprising:
-
a timer for providing a time indication; a cache indexer, responsive to said time indication, for maintaining a cache index of data elements which are stored in said cache memory, 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 sequential data access indicator, responsive to detection of a plurality of sequential data elements stored in said cache memory, to a user selectable sequential data access indicator threshold value, and to a comparison of time indication 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 is effecting a sequential data access. - 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)
-
-
33. A cache management system including a cache manager, for monitoring and controlling contents of cache memory coupled to at least one host and to at least one data storage device, said cache management system comprising:
-
a time indicator, for providing a signal including a time indication; a cache indicator, for providing a signal including a time indication; a cache indexer, for maintaining a cache index of data elements which are stored on said at least one data storage system, said cache index of data elements including a time indication associated with each data element index in said cache index by said cache indexer; a data retrieval requestor, responsive to said indication that at least one process executing on said at least one host is effecting a sequential data access and to a user selectable value of a predetermined number of data elements to be prefetched, for requesting retrieval from said at least one data storage device of up to a number of data elements equal to the value of said user selectable predetermined number of data elements to be prefetched; and a cache data replacer, responsive to a user selectable value of a predetermined maximum number of sequential data elements to be stored in said cache memory for use by said at least one process effecting a sequential data access, and to said data retrieval requestor requesting retrieval of a data element, for requesting replacement of a least recently used sequential data element stored in said cache memory in excess of the value of said predetermined maximum number to be stored for use by said at least one process upon each retrieval of a data element in excess of said predetermined maximum number currently stored in said cache memory for use by said at least one process; and a sequential data access indicator, responsive to detection of a plurality of sequential data elements retrieved from said at least one data storage device and stored in said cache memory, and to a user selectable sequential data access indicator threshold value, and to a comparison of 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 a dynamic cache management system adjuster, responsive to said indication that at least one process executing on said at least one host is effecting a sequential data access, for dynamically adjusting at least the values of said user selectable sequential data access indicator threshold and said user selectable predetermined number of data elements to be prefetched.
-
-
34. A cache management method, for monitoring and controlling contents of cache memory coupled to at least one host and to at least one data storage device, said cache management method comprising:
-
establishing and maintaining in said cache memory, a current index of at least the contents of said cache memory, said index including at least a time indication associated with each data element indexed and contained in said cache memory; establishing an alterable, sequential data access indicator threshold value, for providing a predetermined minimum number of data elements stored in said cache memory indicating an occurrence of a sequential data access in progress by at least one process executing on said at least one host; reading said current index of the contents of said cache memory including said time indication associated with each data element indexed and contained in said cache memory; determining that at least one sequential data access is in progress by said at least one process in response to;
reading said current index of the contents of said cache memory;
to said time indication associated with each data element indexed and contained in said cache memory; and
to said sequential data access indicator threshold value;establishing a first alterable value corresponding to a predetermined number of data elements to be prefetched from said at least one data storage device; requesting retrieval and storage in said cache memory of a number of data elements equal to said alterable established value in response to the determination of a sequential data access in progress; establishing a second alterable value corresponding to a predetermined maximum number of sequential data elements to be concurrently stored in said cache memory; and requesting replacement of at least one least recently used sequential data element stored in said cache memory in excess of said predetermined maximum number of sequential data elements to be previously stored in said cache memory for used by said at least one process in response to said established second alterable value of predetermined maximum number of sequential data elements to be stored in said cache memory. - View Dependent Claims (35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46)
-
Specification