Response virtual channel for handling all responses
AssigneeAdvanced Micro Devices, Inc.
InventorsJames B. Keller, Derrick R. Meyer
Life of this patent
Estimating the term…
Loading patent…
AssigneeAdvanced Micro Devices, Inc.
InventorsJames B. Keller, Derrick R. Meyer
Estimating the term…
A computer system employs virtual channels and allocates different resources to the virtual channels. Packets which do not have logical/protocol-related conflicts are grouped into a virtual channel. Accordingly, logical conflicts occur between packets in separate virtual channels. The packets within a virtual channel may share resources (and hence experience resource conflicts), but the packets within different virtual channels may not share resources. Since packets which may experience resource conflicts do not experience logical conflicts, and since packets which may experience logical conflicts do not experience resource conflicts, deadlock-free operation may be achieved. Additionally, nodes within the computer system may be configured to preallocate resources to process response packets. Some response packets may have logical conflicts with other response packets, and hence would normally not be allocable to the same virtual channel. However, by preallocating response-processing resources, response packets are accepted by the destination node. Thus, any resource conflicts which may occur are temporary (as the response packets which make forward progress are processable). Viewed in another way, response packets may be logically independent if the destination node is capable of processing the response packets upon receipt. Accordingly, a response virtual channel is formed to which each response packet belongs.
A method for routing packets among a plurality of nodes in a computer system, the method comprising:
A computer system comprising:
A computer system comprising:
A node comprising:
A node configured to implement a plurality of virtual channels for communicating with other nodes, wherein the plurality of virtual channels comprise at least a response virtual channel, a first virtual channel, and a second virtual channel and wherein the node comprising comprises circuitry that is configured to transmit response packets only in the response virtual channel, the response packets generated by the node in response to packets in any of the plurality of virtual channels that are defined to cause a response packet, wherein at least one packet assigned to the first virtual channel is defined to cause a response packet and at least one packet assigned to the second virtual channel is defined to cause a response packet.
A computer system comprising a plurality of nodes configured to communicate using a plurality of virtual channels, wherein the plurality of virtual channels comprise at least a response virtual channel, a first virtual channel, and a second virtual channel, and wherein a first node of the plurality of nodes is configured to transmit response packets only in the response virtual channel, the response packets generated by the first node in response to receiving packets from other ones of the plurality of nodes in any of the plurality of virtual channels, the response packets generated by the first node in response to packets that are defined to cause a response packet, wherein at least one packet assigned to the first virtual channel is defined to cause a response packet and at least one packet assigned to the second virtual channel is defined to cause a response packet.
Dependencies are inferred from the claim text.