Claims
- 1. A node comprising:
an interconnect; circuitry coupled to the interconnect and configured to initiate a transaction on the interconnect, the transaction addressing a block; and a control circuit coupled to provide a response to the transaction on the interconnect, the response indicative of a state of the block in one or more other nodes, and wherein the control circuit is configured to cause the transaction to become globally visible to the one or more other nodes dependent on the state in the one or more nodes, and wherein the control circuit is configured, using one or more communication lines separate from lines used to initiate transactions, to transmit an indication of the transaction on the interconnect responsive to the transaction becoming globally visible, and wherein a transfer of data on the interconnect for the transaction is delayed, responsive to the response from the control circuit, until the indication is transmitted by the control circuit.
- 2. The node as recited in claim 1 wherein the transaction becomes globally visible by the control circuit transmitting probes to one or more other nodes that have a copy of the block and receiving probe acknowledgements from the one or more other nodes, the node further comprising a probe buffer configured to store the probes for transmission to the one or more other nodes.
- 3. The node as recited in claim 2 wherein the control circuit is configured to store the indication of the transaction in the probe buffer.
- 4. The node as recited in claim 1 wherein the indication of the transaction comprises a transaction identifier generated by the circuitry.
- 5. The node as recited in claim 4 wherein the one or more communication lines comprises a bus defined to carry the transaction identifier from the control circuit to a data source for the transaction, wherein the control circuit is configured to transmit the transaction identifier on the bus.
- 6. The node as recited in claim 5 wherein the data source comprises the circuitry, and wherein the transaction is a write transaction.
- 7. The node as recited in claim 5 wherein the data source comprises a memory controller configured to couple to a memory containing the block, wherein the transaction is a read transaction, and wherein the memory controller is configured to transfer the data for the transaction responsive to receiving the transaction identifier.
- 8. The node as recited in claim 1 wherein the block is provided independent of the indication if the response indicates that no action is required to make the transaction globally visible to the one or more other nodes.
- 9. A node comprising:
an interconnect; an agent coupled to the interconnect and configured to initiate a transaction on the interconnect; and a memory bridge coupled to the interconnect, wherein the memory bridge is responsible for internode coherency within the node, and wherein the memory bridge is configured to transmit a response to the transaction on the interconnect indicative of the state of a block addressed by the transaction in one or more other nodes, and wherein the memory bridge is configured to transmit an indication of the transaction, using one or more communication lines of the interconnect separate from lines used to initiate transactions, responsive to ensuring that the transaction is globally visible to the one or more other nodes, and wherein a transfer of data for the transaction is delayed until the memory bridge transmits the indication.
- 10. The node as recited in claim 9 wherein the transaction is a read transaction, the node further comprising a memory controller coupled to the one or more communication lines to receive the indication, wherein the memory controller is configured to delay the transfer of data until receiving the indication.
- 11. The node as recited in claim 10 wherein the read transaction is a read exclusive transaction.
- 12. The node as recited in claim 10 wherein the memory controller is configured to delay the data transfer responsive to a shared response from the memory bridge.
- 13. The node as recited in claim 9 wherein the transaction is a write transaction, and wherein the agent is coupled to the one or more communication lines to receive the indication from the memory bridge, and wherein the agent is configured to delay the transfer of data until receiving the indication.
- 14. The node as recited in claim 13 wherein the agent is configured to delay the transfer of data responsive to a shared or exclusive response from the memory bridge.
- 15. The node as recited in claim 9 wherein the agent comprises a packet direct memory access (DMA) circuit coupled to receive packet data from one or more packet interfaces, and wherein the write transaction stores the packet data to memory.
- 16. The node as recited in claim 9 wherein the agent comprises an input/output (I/O) bridge configured to perform transactions for the interconnect on behalf of one or more I/O interfaces.
- 17. A method comprising:
transmitting a response to a transaction initiated on an interconnect in a node, the response indicative of a state of a block addressed by the transaction in one or more other nodes; transmitting an indication of the transaction on one or more communication lines of the interconnect responsive to the transaction becoming globally visible to the one or more other nodes, the one or more communication lines separate from lines used for initiating transactions on the interconnect; and delaying a transfer of data for the transaction until the transmitting of the indication responsive dependent on the response to the transaction.
- 18. The method as recited in claim 17 wherein the indication comprises a transaction identifier assigned by an initiator of the transaction.
- 19. The method as recited in claim 17 wherein, if the state of the block in one or more other nodes does not require communication by the node to the other nodes to make the transaction globally visible, the transfer of data is independent of the transmitting of the indication.
- 20. The method as recited in claim 17 wherein the transaction becomes globally visible by the node transmitting one or more probes to the one or more other nodes and receiving one or more acknowledgements of the probes from the one or more other nodes.
Parent Case Info
[0001] This application claims benefit of priority to U.S. Provisional Patent Application Serial No. 60/380,740, filed May 15, 2002. This application is a continuation in part of U.S. patent application Ser. No. 10/270,028, filed on Oct. 11, 2002.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60380740 |
May 2002 |
US |
Continuations (1)
|
Number |
Date |
Country |
Parent |
10270028 |
Oct 2002 |
US |
Child |
10414363 |
Apr 2003 |
US |