Data processing system and method for efficient L3 cache directory management
First Claim
1. A method for cache management in a data processing system, wherein the data processing system includes a memory hierarchy including at least an upper memory cache and a lower memory cache, the method comprising:
- comparing a first coherency data related to cache data indicated in the lower memory cache to second coherency data related to the cache data indicated in the upper memory cache;
determining a coherency state of the cache data in the lower memory cache in response to the comparison of the first coherency data and the second coherency data; and
replacing a coherency value associated with the cache data within the lower memory cache with the determined coherency state.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and method for cache management in a data processing system having a memory hierarchy of upper memory and lower memory cache. A lower memory cache controller accesses a coherency state table to determine replacement policies of coherency states for cache lines present in the lower memory cache when receiving a cast-in request from one of the upper memory caches. The coherency state table implements a replacement policy that retains the more valuable cache coherency state information between the upper and lower memory caches for a particular cache line contained in both levels of memory at the time of cast-out from the upper memory cache.
23 Citations
30 Claims
-
1. A method for cache management in a data processing system, wherein the data processing system includes a memory hierarchy including at least an upper memory cache and a lower memory cache, the method comprising:
-
comparing a first coherency data related to cache data indicated in the lower memory cache to second coherency data related to the cache data indicated in the upper memory cache;
determining a coherency state of the cache data in the lower memory cache in response to the comparison of the first coherency data and the second coherency data; and
replacing a coherency value associated with the cache data within the lower memory cache with the determined coherency state. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
13. A cache coherent data processing system, comprising:
-
a plurality of processing units each having at least an associated upper cache memory;
a lower cache memory associated with the plurality of processing units;
a memory controller that is coupled to and controls access to the lower cache memory;
wherein the lower cache memory includes;
a plurality of storage locations for storing a memory block of data, wherein each of the plurality of storage locations is sized to store a sub-block of data;
metadata storage for storing metadata describing the memory block; and
wherein the memory controller overwrites at least a portion of the metadata in the metadata storage associated with a particular sub-block of data with a coherency state determined as a function of;
(1) first coherency metadata related to the particular sub-block indicated in the metadata storage, and (2) second coherency metadata related to the particular sub-block of data indicated in the upper memory cache.
-
-
23. A cache memory for a cache coherent data processing system including a hierarchy of cache memory devices, said cache memory comprising:
-
a cache controller;
a data array including a data storage location for caching a memory block;
a cache directory including;
a tag field for storing an address tag in association with said memory block;
a coherency state field associated with said tag field and said data storage location, wherein said coherency state field has a plurality of possible coherency states;
wherein said cache controller sets a coherency state of the coherency state field as a function of a received coherency state for the memory block and a current coherency state for the memory block in the coherency state field. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30)
-
Specification