Imprecise snooping based invalidation mechanism
First Claim
1. A method for providing directed system response to an invalidation miss at a local processor cache of a data processing system having a plurality of processors, said method comprising:
- providing directional bits for a cache line of a cache directory of said local processor cache;
in response to a snoop of an operation that causes a coherency state of said cache line in said local processor cache to go invalid, setting a value of said directional bits to indicate a processor identifier (ID) associated with an origination processor that issued said operation.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, system, and processor cache configuration that enables efficient retrieval of valid data in response to an invalidate cache miss at a local processor cache. A cache directory is enhanced by appending a set of directional bits in addition to the coherency state bits and the address tag. The directional bits provide information that includes the processor cache identification (ID) and routing method. The processor cache ID indicates which processor operation resulted in the cache line of the local processor changing to the invalidate (I) coherency state. The processor operation may be issued by a local processor or by a processor from another group or node of processors if the multiprocessor system comprises multiple nodes of processors. The routing method indicates what transmission method to utilize to forward a request for the cache line. The request may be forwarded to a local system bus or directly to another processor group via a switch or broadcast mechanism. Processor/Cache directory logic is provided to set and interpret the values of the directional bits and provide responses depending on the values of the bits.
-
Citations
27 Claims
-
1. A method for providing directed system response to an invalidation miss at a local processor cache of a data processing system having a plurality of processors, said method comprising:
-
providing directional bits for a cache line of a cache directory of said local processor cache;
in response to a snoop of an operation that causes a coherency state of said cache line in said local processor cache to go invalid, setting a value of said directional bits to indicate a processor identifier (ID) associated with an origination processor that issued said operation. - View Dependent Claims (2)
-
-
3. The method of claim 3, wherein said directional bits includes at least one source bit that is utilized to stored said processor ID and at least one route bit that is utilized to indicate a transfer method for forwarding said request for said cache line, wherein said forwarding step further comprises:
responsive to a request for said cache line by an associated local processor, immediately forwarding said request to said origination processor via a transfer mechanism indicated by said at least one route bit. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10)
-
11. A multiprocessor data processing system that provides directed addressing of cache intervention in response to an invalidate, comprising:
-
a plurality of processors, each processor having an associated cache that supports intervention;
logic associated with a cache directory of at least one local processor cache that;
responsive to a snoop of an operation that invalidates a cache line of said local processor cache, updates a directory entry of said cache line to include a processor identifier (ID) of the origination processor, which issued said operation; and
responsive to a later request from a local processor to access said cache line, immediately forwards said request to a processor indicated by said processor ID, whereby said request is forwarded to said origination processor. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
19. A memory subsystem of a multiprocessor data processing system comprising:
-
a memory;
a plurality of caches associated with processors of said multiprocessor data processing system that comprise cache lines in which data is stored;
a plurality of cache directories each affiliated with a particular one of said plurality of caches, wherein each entry of said cache directory includes a coherency state for each cache line within said particular cache, an address tag, and directional bits, which indicates an origination processor whose cache contains a valid copy of data when said coherency state of said cache line is the invalidate state, wherein an operation that caused said cache line to be invalidated was issued by the origination processor; and
logic, responsive to a receipt of a request for said cache line, for forwarding a request for said cache line from an associated local processor to an origination processor indicated by said directional bits.
-
Specification