Predictive cache system
First Claim
1. A data processing system including a predictive cache memory subsystem comprising:
- a cache memory for storing objects retrieved from secondary memory;
pattern memory storing object access patterns generated from prior accesses of the data processing system processing in a like context;
a prefetcher responsive to a current access pattern during operation of the data processing system for predicting, from like object access patterns stored in pattern memory, accesses to objects and for prefetching predicted objects to store the predicted objects in cache memory.
3 Assignments
0 Petitions
Accused Products
Abstract
Prefetches to a cache memory subsystem are made from predictions which are based on access patterns stored by context. An access pattern is generated from prior accesses of a data processing system processing in a like context. During a training sequence, an actual trace of memory accesses is processed to generate unit patterns which serve in making future predictions and to identify statistics such as pattern accuracy for each unit pattern. In a replacement list, prefetched objects are included at the head of the list. Within a prefetch, objects are listed by order of expected time of access, with alternatives at predicted times of access. When an object is used, it is moved to the head of the list and any prefetched alternatives to that object, indicated by like time marks, are moved to the tail of the list. Alternatives may be listed according to degree of match of a current access pattern and a stored access pattern and by prior accuracy of the unit pattern. A server includes a demand access queue which preempts fetches of objects identified by a prefetch queue.
359 Citations
41 Claims
-
1. A data processing system including a predictive cache memory subsystem comprising:
-
a cache memory for storing objects retrieved from secondary memory; pattern memory storing object access patterns generated from prior accesses of the data processing system processing in a like context; a prefetcher responsive to a current access pattern during operation of the data processing system for predicting, from like object access patterns stored in pattern memory, accesses to objects and for prefetching predicted objects to store the predicted objects in cache memory. - 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. A data processing system including a predictive cache memory subsystem comprising:
-
a cache memory for storing objects retrieved from secondary memory; pattern memory storing separate sets of object access patterns generated from prior accesses of the data processing system processing in different contexts; a prefetcher responsive to a current access pattern during operation of the data processing system for predicting, from like object access patterns stored in pattern memory, accesses to objects and for prefetching predicted objects to store the predicted objects in cache memory, the prefetcher comparing the time of access order of a current access pattern to a sample length of patterns to form a prediction from a remaining length of selected patterns, the remaining length of the selected patterns being dynamically controlled to increase the efficiency of prediction, predictions being made from combinations of access patterns stored in pattern memory; and a trainer for generating access patterns stored in pattern memory from traces of accesses recorded during processing of the data processing system, the trainer generating statistical information for the stored accessed patterns including accuracy of prediction and deleting patterns of insufficient accuracy from pattern memory. - View Dependent Claims (29)
-
-
30. A method of cache memory management comprising:
-
generating access patterns from traces of object accesses recorded during processing of a data processing system in a context; storing the access patterns; monitoring a current access pattern during operation of the data processing system and predicting, from stored object access patterns from a like context, accesses to objects; and prefetching predicted objects and storing the predicted objects in cache memory. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41)
-
Specification