Claims
- 1. A system, comprising:
an inter-node network configured to communicate coherency messages; a node coupled to the inter-node network and including a plurality of devices and an address network configured to convey address packets between the plurality of devices, wherein the plurality of devices includes an active device, a memory subsystem, and an interface configured to send and receive coherency messages on the inter-node network; an additional node coupled to the inter-node network and configured to send on the inter-node network a coherency message requesting an access right to a coherency unit; wherein in response to receiving the coherency message via the inter-node network, the interface is configured to send a proxy address packet on the address network; wherein if the active device is an owner of the coherency unit, the active device is configured to ignore the proxy address packet; wherein in response to the proxy address packet, the memory subsystem is configured to provide the interface with data corresponding to the coherency unit and an indication of a global access state of the coherency unit in the node.
- 2. The system of claim 1, wherein the additional node includes an additional plurality of devices and an additional address network configured to convey address packets between the additional plurality of devices, wherein the additional plurality of devices includes an additional active device and an additional interface configured to send and receive coherency messages on the inter-node network, wherein the additional interface is configured to send the coherency message on the inter-node network in response to the active device sending a packet requesting an access right to the coherency unit on the additional address network.
- 3. The system of claim 2, wherein the coherency message requests a read access right to the first coherency unit, wherein the proxy address packet is a proxy memory read packet.
- 4. The system of claim 3, wherein if the indication provided by the memory subsystem indicates that the global access state of the coherency unit in the node is a modified state, the interface is configured to responsively send a proxy read-to-share-modified address packet on the address network.
- 5. The system of claim 4, wherein if the active device is the owner of the coherency unit, the active device is configured to send data corresponding to the coherency unit to the interface in response to receipt of the proxy-read-to-share-modified packet.
- 6. The system of claim 5, wherein if the active device is the owner of the coherency unit, the active device is configured to transition an ownership responsibility for the coherency unit upon receipt of the proxy read-to-share-modified packet.
- 7. The system of claim 2, wherein the coherency message requests a write access right to the coherency unit, wherein the proxy address packet is a proxy read-to-own packet.
- 8. The system of claim 7, wherein the plurality of devices includes an other active device, wherein if the other active device has a read access right to the coherency unit, the other active device is configured to transition the read access right to an invalid access right upon receipt of the proxy read-to-own packet.
- 9. The system of claim 7, wherein if the indication provided by the memory subsystem indicates that the global access state of the coherency unit in the node is a modified state, the interface is configured to responsively send a proxy read-to-own-modified address packet on the address network.
- 10. The system of claim 9, wherein if the active device is the owner of the coherency unit, the active device is configured to transition an ownership responsibility for the coherency unit upon receipt of the proxy read-to-own-modified packet and to send data corresponding to the coherency unit to the interface in response to receipt of the proxy-read-to-own-modified packet, wherein the active device transitions an access right to the coherency unit upon sending the data.
- 11. The system of claim 2, wherein the address network is configured to convey the proxy address packet from the interface to a directory in point-to-point mode.
- 12. The system of claim 2, wherein the address network is configured to convey the proxy address packet from the interface to the plurality of devices in broadcast mode.
- 13. A node for use in a multi-node system, the node comprising:
a plurality of devices including a memory, an active device including a cache, and an interface configured to send and receive coherency messages on an inter-node network coupling nodes in the multi-node system; an address network coupled to the plurality of devices and configured to communicate address packets between the plurality of devices; wherein in response to receiving a coherency message requesting an access right to a coherency unit on the inter-node network, the interface is configured to send a proxy address packet on the address network; wherein if the active device is an owner of the coherency unit, the active device is configured to ignore the proxy address packet; wherein in response to the proxy address packet, the memory is configured to provide the interface with data corresponding to the coherency unit and an indication of the global access state of the coherency unit in the node.
- 14. The node of claim 13, wherein the coherency message requests a read access right to the coherency unit, wherein the proxy address packet is a proxy memory-read address packet.
- 15 The node of claim 14, wherein if the indication provided by the memory indicates that the global access state of the coherency unit in the node is a modified state, the interface is configured to send a proxy read-to-share-modified address packet on the address network.
- 16. The node of claim 15, wherein if the active device is the owner of the coherency unit, the active device is configured to send data corresponding to the coherency unit to the interface in response to receipt of the proxy read-to-share-modified packet.
- 17. The node of claim 15, wherein if the active device is the owner of the coherency unit, the active device is configured to transition an ownership responsibility for the coherency unit upon receipt of the proxy-read-to-share-modified packet.
- 18. The node of claim 14, wherein if the indication provided by the memory indicates that the global access state of the coherency unit in the node is a shared state, the interface is configured to communicate the data corresponding to the coherency unit on the inter-node network.
- 19. The node of claim 13, wherein the coherency message requests a write access right to the coherency unit, wherein in response to the proxy address packet, the memory is configured to update the global access state of the coherency unit in the node.
- 20. The node of claim 13, wherein the coherency message requests a write access right to the coherency unit, wherein the proxy address packet is a proxy read-to-own packet.
- 21. The node of claim 20, wherein the plurality of devices includes an other active device, wherein if the other active device has a read access right to the coherency unit, the other active device is configured to transition the read access right to an invalid access right upon receipt of the proxy read-to-own packet.
- 22. The node of claim 20, wherein if the indication provided by the memory indicates that the global access state of the coherency unit in the node is a modified state, the interface is configured to send a proxy read-to-own-modified address packet on the address network.
- 23. The node of claim 22, wherein if the active device is the owner of the coherency unit, the active device is configured to transition an ownership responsibility for the coherency unit upon receipt of the proxy read-to-own-modified packet and to send data corresponding to the coherency unit to the interface in response to receipt of the proxy read-to-own-modified packet, wherein the active device transitions an access right to the coherency unit upon sending the data.
- 24. The node of claim 13, wherein the address network is configured to convey the proxy address packet from the interface to a directory in the node in point-to-point mode.
- 25. The node of claim 13, wherein the address network is configured to convey the proxy address packet from the interface to the plurality of devices in broadcast mode.
- 26. The node of claim 13, wherein the interface includes a global access state cache indicating the global access states of a plurality of recently accessed coherency units in the node.
- 27. The node of claim 26, wherein the interface is configured to check the global access state cache for the global access state of the coherency unit in the node, wherein if the global access state of the coherency unit in the node is not included in the global access state cache, the interface is configured to send the proxy address packet to the memory.
- 28. A method for use within a multi-node system, wherein the multi-node system includes a node and an additional node coupled by an inter-node network configured to transmit coherency messages between the node and the additional node, the method comprising:
an interface in the node receiving a coherency message on the inter-node network from the additional node, wherein the coherency message requests an access right to a coherency unit; in response to said receiving, the interface sending a proxy address packet on an address network included in the node to a memory included in the node, wherein the address network conveys address packets between the memory, the interface, and an active device; in response to receiving the proxy address packet, the memory sending the interface data corresponding to the coherency unit and an indication of a global access state of the coherency unit in the node; and the active device ignoring the proxy address packet, wherein the active device is an owner of the coherency unit.
- 29. The method of claim 28, wherein the coherency message requests a read access right to the coherency unit, wherein the proxy address packet is a proxy memory read packet.
- 30. The method of claim 29, further comprising:
if the global access state is a shared state, the interface sending an additional coherency message on the inter-node network in response to receiving the data corresponding to the coherency unit and the indication, wherein the additional coherency message includes the data corresponding to the coherency unit.
- 31. The method of claim 30, further comprising the interface sending a proxy read-to-share-modified packet on the address network in response to receiving the indication if the global access state is the modified state.
- 32. The method of claim 31, further comprising the active device sending data corresponding to the coherency unit to the interface in response to receipt of the proxy read-to-share-modified packet.
- 33. The method of claim 31, further comprising the active device transitioning an ownership responsibility for the coherency unit upon receipt of the proxy read-to-share-modified packet.
- 34. The method of claim 28, wherein the coherency message requests a write access right to the coherency unit, wherein the proxy address packet is a proxy read-to-own packet.
- 35. The method of claim 34, further comprising another active device included in the node transitioning a read access right to the coherency unit to an invalid access right upon receipt of the proxy read-to-own packet.
- 36. The method of claim 34, further comprising the interface sending a proxy read-to-own-modified address packet on the address network if the indication provided by the memory indicates that the global access state of the coherency unit in the node is a modified state.
- 37. The method of claim 36, further comprising the active device transitioning an ownership responsibility for the coherency unit upon receipt of the proxy-read-to-own-modified packet, sending data corresponding to the coherency unit to the interface in response to receipt of the proxy-read-to-own-modified packet, and transitioning an access right to the coherency unit upon sending the data.
- 38. The method of claim 28, further comprising the address network conveying the proxy address packet from the interface to a directory in point-to-point mode.
- 39. The method of claim 28, further comprising the address network conveying the proxy address packet from the interface in broadcast mode.
- 40. A system, comprising:
a node including a plurality of devices and an address network configured to convey address packets between the plurality of devices, wherein the plurality of devices includes an active device, a memory subsystem, and an interface to an inter-node network; an additional node coupled to send the node a coherency message requesting an access right to a coherency unit via the inter-node network; wherein in response to receiving the coherency message via the inter-node network, the interface is configured to send one of a plurality of types of proxy address packet on the address network dependent on a global access state of the coherency unit in the node, wherein if the interface does not have an indication of the global access state of the coherency unit in the node, the interface is configured to speculatively send a type of proxy address packet associated with a shared global access state; wherein if the active device is an owner of the coherency unit, the active device is configured to ignore the type of proxy address packet; wherein in response to the type of proxy address packet, the memory subsystem is configured to provide the interface with data corresponding to the coherency unit and an indication of a global access state of the coherency unit in the node.
- 41. The system of claim 40, wherein the coherency message requests a read access right to the first coherency unit, wherein the type of proxy address packet is a proxy memory read packet.
- 42. The system of claim 41, wherein if the indication provided by the memory subsystem indicates that the global access state of the coherency unit in the node is a modified state and thus that the type of proxy address packet is incorrect for the global access state of the coherency unit in the node, the interface is configured to responsively send a proxy read-to-share-modified address packet on the address network.
- 43. The system of claim 42, wherein if the active device is the owner of the coherency unit, the active device is configured to send data corresponding to the coherency unit to the interface in response to receipt of the proxy-read-to-share-modified packet.
- 44. The system of claim 43, wherein if the active device is the owner of the coherency unit, the active device is configured to transition an ownership responsibility for the coherency unit upon receipt of the proxy read-to-share-modified packet.
- 45. The system of claim 40, wherein the coherency message requests a write access right to the coherency unit, wherein the type of proxy address packet is a proxy read-to-own packet.
- 46. The system of claim 45, wherein the plurality of devices includes an other active device, wherein if the other active device has a read access right to the coherency unit, the other active device is configured to transition the read access right to an invalid access right upon receipt of the proxy read-to-own packet.
- 47. The system of claim 46, wherein if the indication provided by the memory subsystem indicates that the global access state of the coherency unit in the node is a modified state and thus that the type of proxy address packet is incorrect for the global access state of the coherency unit in the node, the interface is configured to responsively send a proxy read-to-own-modified address packet on the address network.
- 48. The system of claim 47, wherein if the active device is the owner of the coherency unit, the active device is configured to transition an ownership responsibility for the coherency unit upon receipt of the proxy read-to-own-modified packet and to send data corresponding to the coherency unit to the interface in response to receipt of the proxy-read-to-own-modified packet, wherein the active device transitions an access right to the coherency unit upon sending the data.
- 49. A system, comprising:
means for communicating coherency messages between a plurality of nodes; a node included in the plurality of nodes, wherein the node includes an active device, a memory, a means for sending and receiving coherency messages on the means for communicating coherency messages, and a means for communicating address packets between the active device, the memory, and the means for sending and receiving coherency messages; an additional node included in the plurality of nodes, wherein the additional node is configured to send a coherency message requesting an access right to a coherency unit on the means for communicating coherency messages; wherein in response to receiving the coherency message on the means for communicating coherency messages, the means for sending and receiving coherency messages is configured to send a proxy address packet on the first means for communicating address packets; wherein the memory is configured to respond to the proxy address packet by sending the means for sending and receiving coherency messages data corresponding to the coherency unit and an indication of a maximum allowable access right to the first coherency unit of any device included in the node; wherein if the active device is an owner of the coherency unit, the active device is configured to ignore the proxy address packet.
PRIORITY INFORMATION
[0001] This application claims priority to U.S. provisional application Ser. No. 60/461,987, entitled “MULTI-NODE COMPUTER SYSTEM IMPLEMENTING SPECULATIVE PROXY TRANSACTIONS”, filed Apr. 11, 2003.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60461987 |
Apr 2003 |
US |