Electrical computers and digital processing systems: memory – Storage accessing and control – Hierarchical memories
Reexamination Certificate
1999-08-04
2001-08-21
Nguyen, Hiep T. (Department: 2187)
Electrical computers and digital processing systems: memory
Storage accessing and control
Hierarchical memories
C711S121000, C711S122000, C711S136000, C711S144000, C711S145000, C711S146000
Reexamination Certificate
active
06279086
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Technical Field
The present invention relates in general to data storage management in data processing systems and in particular to coherency state and LRU position information maintained for data storage management. Still more particularly, the present invention relates to altering cache coherency states and/or LRU positions in response to related data access and cast out or deallocate operations in a data processing system.
2. Description of the Related Art
High performance data processing systems typically include a number of levels of caching between the processor(s) and system memory to improve performance, reducing latency in data access operations. When utilized, multiple cache levels are typically employed in progressively larger sizes with a trade off to progressively longer access latencies. Smaller, faster caches are employed at levels within the storage hierarchy closer to the processor or processors, while larger, slower caches are employed at levels closer to system memory. Smaller amounts of data are maintained in upper cache levels, but may be accessed faster.
Within such systems, when data access operations frequently give rise to a need to make space for the subject data. For example, when retrieving data from lower storage levels such as system memory or lower level caches, a cache may need to overwrite other data already within the cache because no further unused space is available for the retrieved data. A replacement policy—typically a least-recently-used (LRU) replacement policy—is employed to decide which cache location(s) should be utilized to store the new data.
Often the cache location (commonly referred to as a “victim”) to be overwritten contains only data which is invalid or otherwise unusable from the perspective of a memory coherency model being employed, or for which valid copies are concurrently stored in other devices within the system storage hierarchy. In such cases, the new data may be simply written to the cache location without regard to preserving the existing data at that location.
At other times, however, the cache location selected to received the new data contains modified data, or data which is otherwise unique or special within the storage hierarchy. In such instances, the replacement of data within a selected cache location (a process often referred to as “updating” the cache) requires that any modified data associated with the cache location selected by the replacement policy be written back to lower levels of the storage hierarchy for preservation. The process of writing modified data from a victim to system memory or a lower cache level is generally called a cast out or eviction.
When a cache initiates a data access operation—for instance, in response to a cache miss for a READ operation originating with a processor—typically the cache will initiate a data access operation (READ or WRITE) on a bus coupling the cache to lower storage levels. If the replacement policy requires that a modified cache line be overwritten, compelling a cast out for coherency purposes, the cache will also initiate the cast out bus operation.
Even when the selected victim contains data which is neither unique nor special within the storage hierarchy (i.e. invalid data), an operation to lower levels of the storage hierarchy may still be required. For instance, the cache organization may be “inclusive,” meaning that logically vertical in-line caches contain a common data set. “Precise” inclusivity requires that lower level caches include at least all cache lines contained within a vertically in-line, higher level cache, although the lower level cache may include additional cache lines as well. Imprecise or “pseudo-precise” inclusivity relaxes this requirement, but still seeks to have as much of the data within the higher level cache copied within the lower level cache as possible within constraints imposed by bandwidth utilization tradeoffs. Within an inclusive, hierarchical cache system, even if the cache line to be replaced is in a coherency state (e.g., “shared”) indicating that the data may be simple discarded without writing it to lower level storage, an operation to the lower level storage may be required to update inclusivity information. The storage device within which the cache line is to be overwritten (or “deallocated” and replaced) initiates an operation notifying lower level, in-line storage devices of the deallocation, so that the lower level devices may update internal inclusivity information associated with the cache line. This requires an operation in addition to the data access operation necessitating replacement of the cache line.
The data access and cast out/deallocate bus operations represent opportunities for global data storage management. In particular, the coherency state and LRU position of the cast out or deallocate victim in horizontal storage devices may be updated based on the change in the storage device initiating the data access and cast out/deallocate operations. However, due to the disjoint nature of the related operations in the prior art, such opportunities are not generally exploited. Additionally, a lack of sufficient information from other horizontal storage devices may prevent exploitation of data storage management opportunities in related data access and replacement operations.
It would be desirable, therefore, to take advantage of data storage management opportunities represented by related data access and cast out or deallocate bus operations. It would further be advantageous to support alteration of coherency state and/or LRU position information for cast out or deallocate victims in horizontal storage devices.
SUMMARY OF THE INVENTION
It is therefore one object of the present invention to provide improved data storage management in data processing systems.
It is another object of the present invention to provide improved management of coherency state and LRU position information maintained for data storage.
It is yet another object of the present invention to provide alteration of cache coherency states and LRU positions in response to related data access and cast out or deallocate operations in a data processing system.
The foregoing objects are achieved as is now described. Upon snooping a combined data access and cast out/deallocate operation initiating by a horizontal storage device, snoop logic determines, from LRU position information appended to the combined response to the combined operation, whether the coherency state and/or LRU position of the victim may be upgraded within the subject storage device. If so, the coherency state or LRU position is upgraded to improve global data storage management. For instance, a cache line within a snooping storage device may be altered to assume the coherency state of the victim within the storage device initiating the combined operation to improve data storage management under a given replacement policy.
The above as well as additional objects, features, and advantages of the present invention will become apparent in the following detailed written description.
REFERENCES:
patent: 5636355 (1997-06-01), Rammakrishnan et al.
patent: 6023747 (2000-02-01), Dodson
Texas Instruments Incorporated, TMS32010 User's Guide, 1983, 3 pages.
Lebeck, A. R., Sohi, G. S.;Request Combining in Multiprocessors with Arbitrary Interconnection Networks,IEEE Digital Library, vol. 5, Issue 11, Nov. 1994.
Handy, Jim;The Cache Memory Book;Academy Press, Inc.; 1993; pp. 77-82.
Arimilli Ravi Kumar
Dodson John Steven
Guthrie Guy Lynn
Joyner Jody B.
Lewis Jerry Don
Bracewell & Patterson L.L.P.
International Business Machines - Corporation
Nguyen Hiep T.
Salys Casimer K.
LandOfFree
Multiprocessor system bus with combined snoop responses... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Multiprocessor system bus with combined snoop responses..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Multiprocessor system bus with combined snoop responses... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2491414