Claims
- 1. A node comprising:
a first agent, a second agent, and a third agent, all coupled to an interconnect; wherein the first agent is configured to initiate a transaction on the interconnect to transfer a coherency block to the second agent; and wherein the third agent is configured to transmit the coherency block on the interconnect during a data portion of the transaction instead of the first agent responsive to a state of the coherency block in the third agent.
- 2. The node as recited in claim 1 wherein the coherency block is a remote coherency block.
- 3. The node as recited in claim 2 wherein the first agent is designated to retain a state of the remote coherency block within the node.
- 4. The node as recited in claim 3 wherein the first agent comprises a cache, and wherein the cache is configured to initiate the transaction in response to evicting the remote coherency block.
- 5. The node as recited in claim 4 wherein the cache is configured to initiate a different transaction in response to evicting a local coherency block.
- 6. The node as recited in claim 2 wherein the second agent is responsible for maintaining internode coherency within the node.
- 7. The node as recited in claim 1 wherein the third agent is configured to signal the first agent during a response portion of the transaction to indicate that the third agent is to transmit the coherency block during the data portion.
- 8. The node as recited in claim 1 wherein the third agent is configured to transmit the coherency block if the state of the coherency block in the third agent is modified.
- 9. The node as recited in claim 1 wherein the first agent is configured to transmit the coherency block on the interconnect during the data portion of the transaction responsive to the third agent not having the state of the coherency block that causes the third agent to transmit the coherency block.
- 10. The node as recited in claim 1 wherein the third agent is configured to snoop the transaction from the interconnect and is configured to detect the state of the coherency block in response to snooping.
- 11. A method comprising:
a first agent initiating a transaction on an interconnect to transfer a coherency block to a second agent; a third agent transmitting the coherency block on the interconnect during a data portion of the transaction instead of the first agent responsive to a state of the coherency block in the third agent.
- 12. The method as recited in claim 11 wherein the coherency block is a remote coherency block.
- 13. The method as recited in claim 12 wherein the first agent is designated to retain a state of the remote coherency block within the node, and wherein the first agent comprises a cache, the method further comprising the cache evicting the remote coherent block, and wherein the first agent initiating the transaction is in response to the evicting the remote coherency block.
- 14. The method as recited in claim 13 further comprising the cache initiating a different transaction in response to evicting a local coherency block.
- 15. The method as recited in claim 12 wherein the second agent is responsible for maintaining internode coherency within the node.
- 16. The method as recited in claim 11 wherein the state of the coherency block in the third agent is modified.
- 17. The method as recited in claim 11 further comprising the first agent transmitting the coherency block on the interconnect during the data portion of the transaction responsive to the state in the third agent not causing the third agent to transmit the coherency block.
- 18. The method as recited in claim 11 further comprising the third agent snooping the transaction from the interconnect, wherein the third agent transmitting the coherency block is responsive to the snooping.
- 19. A node comprising:
an interconnect; and a cache coupled to the interconnect, wherein the cache is configured to evict a cache block stored therein, and wherein the cache is configured to initiate a first transaction to transfer the cache block on the interconnect responsive to the cache block being a local cache block, and wherein the cache is configured to initiate a second transaction to transfer the cache block on the interconnect responsive to the cache block being a remote cache block, and wherein the second transaction is different from the first transaction.
- 20. The node as recited in claim 19 further comprising a memory bridge coupled to the interconnect and responsible for internode coherency within the node, wherein the memory bridge is configured to receive the second transaction and to transfer the cache block to another node.
- 21. The node as recited in claim 20 further comprising a memory controller coupled to the interconnect and configured to receive the first transaction, wherein the memory controller is configured to transfer the cache block to a memory to which the memory controller is configured to be coupled.
- 22. The node as recited in claim 19 further comprising an agent coupled to the interconnect, wherein the agent is configured to transmit the cache block in a data portion of the second transaction instead of the cache responsive to the agent having a modified copy of the cache block.
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 |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
10270028 |
Oct 2002 |
US |
Child |
10413916 |
Apr 2003 |
US |