Method and apparatus for transaction tag assignment and maintenance in a distributed symmetric multiprocessor system
First Claim
1. A method of maintaining cache coherency in a multiprocessor system comprising a plurality of master devices and a plurality of node controllers, wherein a node controller organizes a subset of one or more of the plurality of master devices into a node, and a plurality of bidirectional master device buses, wherein a master device bus connects one or more master devices within a node to a port of the node controller, the method comprising the steps of:
- broadcasting a transaction to the plurality of master devices;
receiving a response for the broadcast transaction from a master device in the plurality of master devices, wherein the response indicates a subsequent transaction to be generated by the master device in response to the broadcast transaction; and
notifying a node controller for the master device of the subsequent transaction to be generated by the master device.
1 Assignment
0 Petitions
Accused Products
Abstract
A distributed system structure for a large-way, symmetric multiprocessor system using a bus-based cache-coherence protocol is provided. The distributed system structure contains an address switch, multiple memory subsystems, and multiple master devices, either processors, I/O agents, or coherent memory adapters, organized into a set of nodes supported by a node controller. The node controller receives transactions from a master device, communicates with a master device as another master device or as a slave device, and queues transactions received from a master device. Since the achievement of coherency is distributed in time and space, the node controller helps to maintain cache coherency. A transaction tag format for a standard bus protocol is expanded to ensure unique transaction tags are maintained throughout the system. A sideband signal is used for intervention and Reruns to preserve transaction tags at the node controller in certain circumstances.
114 Citations
42 Claims
-
1. A method of maintaining cache coherency in a multiprocessor system comprising a plurality of master devices and a plurality of node controllers, wherein a node controller organizes a subset of one or more of the plurality of master devices into a node, and a plurality of bidirectional master device buses, wherein a master device bus connects one or more master devices within a node to a port of the node controller, the method comprising the steps of:
-
broadcasting a transaction to the plurality of master devices;
receiving a response for the broadcast transaction from a master device in the plurality of master devices, wherein the response indicates a subsequent transaction to be generated by the master device in response to the broadcast transaction; and
notifying a node controller for the master device of the subsequent transaction to be generated by the master device. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An apparatus for maintaining cache coherency in a multiprocessor system comprising a plurality of master devices and a plurality of node controllers, wherein a node controller organizes a subset of one or more of the plurality of master devices into a node, and a plurality of bidirectional master device buses, wherein a master device bus connects one or more master devices within a node to a port of the node controller, the apparatus comprising:
-
broadcasting means for broadcasting a transaction to the plurality of master devices;
first receiving means for receiving a response for the broadcast transaction from a master device in the plurality of master devices, wherein the response indicates a subsequent transaction to be generated by the master device in response to the broadcast transaction; and
notifying means for notifying a node controller for the master device of the subsequent transaction to be generated by the master device. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A computer program product in a computer-readable medium for using in a multiprocessor system for maintaining cache coherency, the multiprocessor system comprising a plurality of master devices and a plurality of node controllers, wherein a node controller organizes a subset of one or more of the plurality of master devices into a node, and a plurality of bidirectional master device buses, wherein a master device bus connects one or more master devices within a node to a port of the node controller, the computer program product comprising:
-
instructions for broadcasting a transaction to the plurality of master devices;
instructions for receiving a response for the broadcast transaction from a master device in the plurality of master devices, wherein the response indicates a subsequent transaction to be generated by the master device in response to the broadcast transaction; and
instructions for notifying a node controller for the master device of the subsequent transaction to be generated by the master device. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A method of maintaining cache coherency in a multiprocessor system, the method comprising the steps of:
-
receiving a first transaction from a master device, wherein the first transaction comprises a port-bus tag;
translating the port-bus tag for the first transaction to a system-level tag; and
registering the first transaction in an entry in a first transaction registry. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. An apparatus for maintaining cache coherency in a multiprocessor system, the apparatus comprising:
-
first receiving means for receiving a first transaction from a master device, wherein the first transaction comprises a port-bus tag;
first translating means for translating the port-bus tag for the first transaction to a system-level tag; and
first registering means for registering the first transaction in an entry in a first transaction registry. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. A computer program product in a computer-readable medium for use in a multiprocessor system for maintaining cache coherency in the multiprocessor system, the computer program product comprising:
-
instructions for receiving a first transaction from a master device, wherein the first transaction comprises a port-bus tag;
instructions for translating the port-bus tag for the first transaction to a system-level tag; and
instructions for registering the first transaction in an entry in a first transaction registry. - View Dependent Claims (35, 36, 37, 38, 39, 40, 41, 42)
-
Specification