Cache coherency method and apparatus for a multiple path interconnection network
First Claim
1. An apparatus for maintaining data coherency is a system having multiple independent paths interconnecting multiple processors, each of said processors having a respective cache memory associated therewith from a plurality of cache memories, each of said cache memories having data from a main memory stored into corresponding addresses thereof, comprising:
- a plurality of cache monitors connected to and associated with a first cache memory of said plurality of cache memories, each of said plurality of cache monitors that are connected to and associated with said first cache memory stores cache tag information corresponding to addresses of data stored in said first cache memory;
each of said plurality of cache monitors that are connected to and associated with said first cache memory monitoring a respective independent path of said multiple independent paths for any access to said plurality of cache memories which would render data stored in said first cache memory non-coherent; and
means for providing a control signal indicating that data stored in said first cache memory in non-coherent if any such access is detected on any of said multiple independent paths.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for providing coherency for cache data in a multiple processor system with the processors distributed among multiple independent data paths. The apparatus includes a set of cache monitors, sometimes called snoopers, associated with each cache memory. There are the same number of monitors as there are independent data paths. Thus, each cache stores cache tags that correspond to its currently encached data into each of the monitors of the set associated therewith. Thus, each cache has an monitor associated therewith which monitors each of the multiple paths for an operation at an address that corresponds to data stored in its cache. If such an access is detected by one of the set of monitors, the monitor notifies its cache so that appropriate action will be taken to ensure cache data coherency.
-
Citations
16 Claims
-
1. An apparatus for maintaining data coherency is a system having multiple independent paths interconnecting multiple processors, each of said processors having a respective cache memory associated therewith from a plurality of cache memories, each of said cache memories having data from a main memory stored into corresponding addresses thereof, comprising:
-
a plurality of cache monitors connected to and associated with a first cache memory of said plurality of cache memories, each of said plurality of cache monitors that are connected to and associated with said first cache memory stores cache tag information corresponding to addresses of data stored in said first cache memory; each of said plurality of cache monitors that are connected to and associated with said first cache memory monitoring a respective independent path of said multiple independent paths for any access to said plurality of cache memories which would render data stored in said first cache memory non-coherent; and means for providing a control signal indicating that data stored in said first cache memory in non-coherent if any such access is detected on any of said multiple independent paths.
-
-
2. An electronic data processing apparatus, comprising:
-
a plurality of processors; a plurality of caches, each of said plurality of caches is connected to and associated with a respective processor of said plurality of processors; an interconnect network having a plurality of independent paths, said plurality of processors is distributed among said independent paths with each processor and its respective cache connecting to one of said plurality of independent paths; a main memory connected to said plurality of independent paths; and a plurality of activity monitors each of said plurality of activity monitors uniquely connecting one of said plurality of caches to one of said plurality of independent paths of the interconnect network; whereby if any of the plurality of processors performs an access to a data address from its respective cache, the access will also be transmitted on its independent path and the activity monitors that are connected to its independent path will each compare the accessed data address with address data of information stored in each activity monitor'"'"'s cache and each activity monitor will inform its respective cache if the access affects data stored therein. - View Dependent Claims (15)
-
-
3. An electronic data processing apparatus, comprising:
-
a plurality of processors; a plurality of caches, each of said plurality of caches is connected to and associated with a respective processor of said plurality of processors; a plurality of interconnect buses, said plurality of processors is divided among said interconnect buses with each processor and its respective cache connecting to one of said plurality of interconnect buses; a main memory connected to said plurality of interconnect buses, each of said plurality of processors may address any location in said main memory by the interconnect bus of the plurality of interconnect buses that it is connected to; and a plurality of activity monitors which is equal in number to a product of a number of caches times a number of interconnect buses, each of said plurality of activity monitors uniquely connects one of said plurality of caches to one of said plurality of interconnect buses; whereby if any of the plurality of processors performs an access to a data address from its respective cache, the access will also be transmitted to the interconnect bus connected to the processor performing the data access and the activity monitors that are connected to the interconnect bus of the processor performing the data access will compare the accessed address with its stored information and inform its respective caches if the access affects data stored in its respective cache. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 16)
-
-
11. A method of maintaining data coherency in a system having multiple independent paths interconnecting multiple processors, each of said processors having a respective cache memory associated therewith, comprising the steps of:
-
storing data from a main memory into a corresponding address of a first of said cache memories that is connected to one of said multiple independent paths; storing cache tag information in each of a plurality of cache monitors that are connected to and associated with said first cache memory; monitoring said multiple independent paths for any access to said cache memories that would render data stored in said first cache non-coherent; and transmitting a control signal to said system that data stored in said first cache is non-coherent if any such access is detected on any of said multiple independent paths. - View Dependent Claims (12, 13, 14)
-
Specification