Providing cache coherency in an extended multiple processor environment
First Claim
Patent Images
1. A system for maintaining cache coherency in multiprocessor environment, the system comprising:
- a first multiprocessor assembly comprising at least two processors, each processor having local cache to store at least one cache line;
a first coherency director (CD) comprising a first intermediate home agent (IHA) and a first intermediate cache agent (ICA), wherein the CD is coupled to the first multiprocessor assembly;
a first remote directory coupled to the CD, wherein the remote directory stores cache location information;
a first memory providing cache data to the first processor assembly;
wherein the first multiprocessor assembly, the first CD, the first remote directory, and the first memory comprise a first cell;
a second cell having a second multiprocessor assembly, a second CD, a second remote directory, and a second memory, wherein the second CD comprises a second IHA and a second ICA; and
interconnections between the first IHA and the second ICA and between the second IHA and the first ICA, wherein requests and responses for cache information are communicated between the first cell and the second cell such that the first IHA of the first cell requests cache information from the second ICA of the second cell and the second IHA of the second cell requests cache information from the first ICA of the first cell.
4 Assignments
0 Petitions
Accused Products
Abstract
A method and system for scaling upwards a multiprocessor cache coherency scheme includes at least two cells. Each cell containing a multiple processor assembly, a cache coherency director, and a system controller. The cache coherency director include an intermediate home agent (IHA) and an intermediate cache agent (ICA). An IHA in one cell communicates with an ICA in another cell to arbitrate the availability of lines of cache that are requested by a processor in one of the cells. A protocol that includes request retries avoids system lockups is used as the basis for inter-cell cache coherency communication.
35 Citations
16 Claims
-
1. A system for maintaining cache coherency in multiprocessor environment, the system comprising:
-
a first multiprocessor assembly comprising at least two processors, each processor having local cache to store at least one cache line;
a first coherency director (CD) comprising a first intermediate home agent (IHA) and a first intermediate cache agent (ICA), wherein the CD is coupled to the first multiprocessor assembly;
a first remote directory coupled to the CD, wherein the remote directory stores cache location information;
a first memory providing cache data to the first processor assembly;
wherein the first multiprocessor assembly, the first CD, the first remote directory, and the first memory comprise a first cell;
a second cell having a second multiprocessor assembly, a second CD, a second remote directory, and a second memory, wherein the second CD comprises a second IHA and a second ICA; and
interconnections between the first IHA and the second ICA and between the second IHA and the first ICA, wherein requests and responses for cache information are communicated between the first cell and the second cell such that the first IHA of the first cell requests cache information from the second ICA of the second cell and the second IHA of the second cell requests cache information from the first ICA of the first cell. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of obtaining a line of cache in a cache coherent multiprocessor system comprising at least two cells of multiprocessor assemblies, the method comprising:
-
requesting a line of cache from a first processor in a first multiprocessor assembly in a first cell, the request being sent to an intermediate home agent (IHA) of the first cell;
reading a location of the requested line of cache from a remote directory in the first cell;
sending the request for the line of cache from the IHA of the first cell to an intermediate cache agent (ICA) of a second cell;
transferring the request for the line of cache from the ICA of the second cell to the IHA of the second cell;
snooping the processors of the second cell for the requested line of cache, wherein processors in the second cell respond to the request by returning status to the IHA of the second cell;
making the line of cache available for use;
sending response information from the second cell to the first cell where the ICA of the second cell communicates with the IHA of the first cell;
receiving the requested cache information by the first cell and transferring the information to the first processor of the first cell, whereby the line of cache information is available to fill the request of the first processor in the first cell. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16)
-
Specification