System and method for maintaining memory coherency in a computer system having multiple system buses
First Claim
Patent Images
1. A coherency filter comprising:
- a cycle encoder coupled to a set of tag controllers and to a rules table, the cycle encoder to determine a bus transaction type;
a tag memory array coupled to the cycle encoder, the tag memory array to record a coherency status of data values existing in a plurality of processors coupled to multiple buses; and
an invalidation queue coupled to the cycle encoder and to the tag memory array, the invalidation queue to store entries which are expelled from the tag memory array;
wherein the cycle encoder monitors transactions on a first bus and selectively inhibits cross-bus transactions to a second bus based on transaction type and corresponding rules retrieved from the rules table.
2 Assignments
0 Petitions
Accused Products
Abstract
A cache-coherent, multiple-bus, multiprocessing system and method interconnects multiple system buses and an I/O bus to a shared main memory and efficiently maintains cache coherency while minimizing the impact to latency and total bandwidth within the system. The system provides coherency filters which coordinate bus-to-bus communications in such a way as to maintain cache memory coherency with a small amount of cross-bus traffic. In addition, the system provides a multiported pool of memory cells which interconnect the multiple buses.
75 Citations
9 Claims
-
1. A coherency filter comprising:
-
a cycle encoder coupled to a set of tag controllers and to a rules table, the cycle encoder to determine a bus transaction type;
a tag memory array coupled to the cycle encoder, the tag memory array to record a coherency status of data values existing in a plurality of processors coupled to multiple buses; and
an invalidation queue coupled to the cycle encoder and to the tag memory array, the invalidation queue to store entries which are expelled from the tag memory array;
wherein the cycle encoder monitors transactions on a first bus and selectively inhibits cross-bus transactions to a second bus based on transaction type and corresponding rules retrieved from the rules table. - View Dependent Claims (2, 3, 4, 5)
a control logic to evaluate the bus transaction type information and remote coherency status bits obtained from the cycle encoder, the control logic further to perform snoop actions; and
a memory coupled to the control logic, the memory to store a truth table to maintain types of cross-bus transactions and local bus transactions to be executed to ensure cache coherency.
-
-
6. A method comprising:
-
monitoring transactions on a first bus which access a cache line in a main memory;
storing an address corresponding to the cache line;
determining a bus transaction type;
recording a coherency status of the cache line;
determining whether a cross-bus transaction to a second bus is necessary, based at least in part on a type of bus transaction and coherency status data;
expelling a cache line address when the cross-bus transaction is necessary; and
storing an expelled cache line. - View Dependent Claims (7, 8, 9)
-
Specification