Back to results
US 6,212,602 B1Granted
Cache tag caching
AssigneeSun Microsystems, Inc.
InventorsThomas M. Wicki, Meera Kasinathan, Ricky C. Hetherington
Life of this patent
Estimating the term…
Abstract
A cache memory system having a cache and a cache tag. A cache tag cache is provided to store a subset of the most recently or frequently used cache tags. The cache tag cache is accessed during tag inquires in a manner similar to conventional cache tag inquires. Hits in the cache tag cache have a lower access latency than the tag lookups that miss and require access to the cache tag.
Claims7
A multi-level cache system comprising:
- a first-level cache comprising a first-level cache tag store, a first-level data store having a plurality of data storage lines for storing data, and a first-level cache controller, the first-level cache controller implementing a replacement algorithm whereby data stored in data storage lines of the first-level data store is selected for replacement, the first level cache residing on a first silicon chip;
- a second-level cache comprising a second-level cache tag store, a second-level cache tag cache, a second-level cache controller, and a second-level data store, the second level cache residing on the first silicon chip;
- and
- a third level cache comprising a third-level cache tag store, a third-level data store and a third-level cache controller, the third level cache being coupled to the second-level cache tag cache and residing on a second silicon chip;
- wherein a line of the second level cache tag cache is updated with tag data from a first-level tag location of the first-level cache tag store when the first-level cache controller selects a data storage line of the first-level data store for replacement;
- and
- wherein the tag data from a first-level tag location is associated with the data storage line of the first-level data store selected for replacement.
4 more elements
A computer system comprising:
- a processor;
- a main memory;
- a multi-level cache system further comprising:
- a first-level cache comprising a first-level cache tag store, a first-level data store having a plurality of data storage lines for storing data, and a first-level cache controller, the first-level cache controller implementing a replacement algorithm whereby data stored in data storage lines of the first-level data store is selected for replacement, the first level cache residing on a first silicon chip;
- a second-level cache comprising a second-level cache tag store, a second-level cache tag cache, a second-level cache controller, and a second-level data store, the second level cache residing on the first silicon chip;
- and
- a third level cache comprising a third-level cache tag store, a third-level data store and a third-level cache controller, the third level cache being coupled to the second-level cache tag cache and residing on a second silicon chip;
- wherein a line of the second level cache tag cache is updated with tag data from the first level cache tag store when the first-level cache controller selects data storage lines of the first-level data store for replacement.
5 more elements
A method of caching data in a data processing system having a main memory, said method comprising:
- providing a first-level cache comprising a first-level cache tag store, a first-level data store, and a first-level cache controller on a first silicon chip;
- providing a second-level cache comprising a second-level cache tag store, a second-level cache, cache tag cache, a second-level cache controller, and a second-level data store on the first silicon chip;
- providing a third level cache comprising a third-level cache tag store, a third-level data store and a third-level cache controller, the third level cache being coupled to the second-level cache tag cache and residing on a second silicon chip;
- determining if requested data is present in the first or second-level data store based upon a read-request address from a processor of the data processing system and information read from the first or second-level cache tag store;
- evicting data as necessary from the data storage line of the first or second-level cache to make room for the requested data;
- if the requested data is not in the first or second-level data store, fetching a tag from a store of a group consisting of the second-level cache tag cache and the third-level cache tag store to determine if the requested data is in the third-level cache;
- if the requested data is not in the first or second-level data store, and the requested data is found to be in the third-level cache, fetching the requested data to the processor of the data processing system and to a data storage line of the first or second-level cache;
- if the requested data is not in the first or second-level data store, and if the requested data is found not to be in the third-level cache, fetching the requested data from a store other than the third-level cache to the processor of the data processing system and to a data storage line of the first or second-level cache;
- and
- if data is evicted from the data storage line, copying a tag of the first or second-level cache corresponding to the evicted data to the cache tag cache of the second-level cache.
7 more elements
Dependencies are inferred from the claim text.