Multi-node computer system implementing memory-correctable speculative proxy transactions
First Claim
1. A system, comprising:
- a node including an active device, an interface, a memory, and an address network coupling the active device, the interface, and the memory;
an inter-node network configured to communicate coherency messages between the node and an additional node, wherein the additional node is configured to send on the inter-node network a coherency message requesting an access right to a coherency unit;
wherein the interface is configured to receive the coherency message via the inter-node network and to responsively send a proxy address packet on the address network;
wherein in response to receiving the proxy address packet, the memory 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 if the global access state is not a modified state; and
send an additional proxy address packet on the address network if the global access state is the modified state.
2 Assignments
0 Petitions
Accused Products
Abstract
A node includes several devices including a memory, an active device, and an interface configured to send and receive coherency messages on an inter-node network coupling the node to another node, as well as an address network that communicates address packets between the devices. In response to receiving a coherency message that requests an access right to a coherency unit, the interface sends a proxy packet on the address network. In response to the proxy packet, the memory sends the interface data corresponding to the coherency unit and an indication of the global access state of the coherency unit within the node if the global access state is not the modified state. Otherwise, the memory sends an additional proxy packet on the address network. If the active device is the owner of the coherency unit, the active device ignores the proxy packet and responds to the additional proxy packet.
-
Citations
30 Claims
-
1. A system, comprising:
-
a node including an active device, an interface, a memory, and an address network coupling the active device, the interface, and the memory;
an inter-node network configured to communicate coherency messages between the node and an additional node, wherein the additional node is configured to send on the inter-node network a coherency message requesting an access right to a coherency unit;
wherein the interface is configured to receive the coherency message via the inter-node network and to responsively send a proxy address packet on the address network;
wherein in response to receiving the proxy address packet, the memory 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 if the global access state is not a modified state; and
send an additional proxy address packet on the address network if the global access state is the modified state. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A node for use in a multi-node system, the node comprising:
-
a plurality of devices including a memory, an active device, 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 configured to communicate address packets between the plurality of devices;
wherein in response to receiving a coherency message on the inter-node network requesting an access right to a coherency unit, the interface is configured to send a proxy address packet on the address network;
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 a global access state of the coherency unit in the node if the global access state is not a modified state and to send an additional proxy address packet on the address network if the global access state is the modified state. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A method for use in 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 included 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 packet on an address network included in the node;
in response to receiving the proxy packet from the address network, a memory included in the node;
providing the interface with data corresponding to the coherency unit and an indication of a global access state of the coherency unit within the node if the global access state is not a modified state; and
sending an additional proxy packet on the address network if the global access state is the modified state. - View Dependent Claims (17, 18, 19, 20)
-
-
21. A system, comprising:
-
means for communicating coherency messages between a plurality of nodes;
a node of the plurality of nodes, wherein the node includes a plurality of devices and means for communicating address packets between the plurality of devices, wherein the plurality of devices includes an active device, a memory, and a means for sending and receiving coherency messages on the means for communicating coherency messages;
an additional node of 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 via the means for communicating coherency messages, the means for sending and receiving coherency messages is configured to send a proxy address packet to the memory on the 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 the maximum allowable access right of the plurality of devices to the coherency unit if the maximum allowable access right is not write access; and
sending an additional proxy address packet on the means for communicating address packets if the maximum allowable access right is write access.
-
-
22. 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 send a different type of proxy address packet on the address network if the global access state of the coherency unit is a modified global access state. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30)
-
Specification