Methods and apparatus for providing cache state information
First Claim
Patent Images
1. A computer system, comprising:
- a request cluster including a first plurality of nodes and a request cache coherence controller, the first plurality of nodes having a first plurality of processors and a first plurality of caches associated with the first plurality of processors, the request cache coherence controller associated with a remote data cache, wherein the remote data cache includes data in memory lines of remote clusters, wherein data is written to the remote data cache in a pending state after the cache coherence controller receives a write back from one of the first plurality of processors;
a home cluster including a second plurality of processors and a request cache coherence controller, the second plurality of processors interconnected in a point-to-point architecture.
11 Assignments
0 Petitions
Accused Products
Abstract
According to the present invention, methods and apparatus are provided for increasing the efficiency of data access in a multiple processor, multiple cluster system. Mechanisms for allowing a variety of transactions to complete locally are implemented by providing remote data caches associated with the various clusters in the system. The remote data caches receive data and state information for memory lines held in remote clusters. State information is provided to the remote data cache using various mechanisms including a coherence directory and augmented source done messages.
-
Citations
37 Claims
-
1. A computer system, comprising:
-
a request cluster including a first plurality of nodes and a request cache coherence controller, the first plurality of nodes having a first plurality of processors and a first plurality of caches associated with the first plurality of processors, the request cache coherence controller associated with a remote data cache, wherein the remote data cache includes data in memory lines of remote clusters, wherein data is written to the remote data cache in a pending state after the cache coherence controller receives a write back from one of the first plurality of processors; a home cluster including a second plurality of processors and a request cache coherence controller, the second plurality of processors interconnected in a point-to-point architecture. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for maintaining coherency, the method comprising:
-
receiving a write back at a request cache coherence controller from a request cluster processor, the write back associated with a memory line evicted from a cache corresponding to the request cluster processor; writing data associated with the memory line into a remote data cache, wherein the remote data cache includes data in memory lines in the address space of remote clusters; receiving information indicating whether the memory line was held in a modified or owned state. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A computer system, comprising:
-
a request cluster including a first plurality of nodes and a request cache coherence controller, the first plurality of nodes having a first plurality of processors and a first plurality of caches associated with the first plurality of processors, the request cache coherence controller associated with a remote data cache, wherein the remote data cache includes data in memory lines of remote clusters; a home cluster including a second plurality of processors and a request cache coherence controller, the second plurality of processors interconnected in a point-to-point architecture; wherein the first plurality of processors are operable to send information to the request cache coherence controller indicating whether a cache line is owned or modified in order to modify an entry in the remote data cache. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A computer system, comprising:
-
means for receiving a write back at a request cache coherence controller from a request cluster processor, the write back associated with a memory line evicted from a cache corresponding to the request cluster processor; means for writing data associated with the memory line into a remote data cache, wherein the remote data cache includes data in memory lines in the address space of remote clusters; means for receiving information indicating whether the memory line was held in a modified or owned state. - View Dependent Claims (33, 34, 35, 36, 37)
-
Specification