Flow control apparatus and method for a computer interconnect using adaptive credits and flow control tags
First Claim
1. A flow control apparatus for an adaptive packet-switched computer interconnect having a plurality of adaptive packet switches, comprising:
- (A) a packet relationship tag associated with each packet in the computer interconnect, wherein packets having a common relationship are associated with the same packet relationship tag;
(B) a control circuit in any one of the adaptive packet switches, the control circuit comprising (I) a content addressable memory (CAM) in any one of the adaptive packet switches, wherein the CAM stores the packet relationship tag of a stalled packet stored in a buffer in that packet switch, and (II) a comparator circuit that compares the packet relationship tag of an incoming packet with the packet relationship tag of the stalled packet stored in the CAM to determine if the packet relationship tag of the incoming packet matches the packet relationship tag of the stalled packet, wherein the control circuit causes that packet switch to refuse to accept the incoming packet when the comparator circuit matches the packet relationship tag of the incoming packet with that of the stalled packet stored in that buffer in that packet switch to constrain that packet switch from storing any additional packets having a common relationship with the stalled packet until the stalled packet is forwarded from the packet switch.
3 Assignments
0 Petitions
Accused Products
Abstract
A flow control mechanism for packet-switched computer interconnect relates a packet in the interconnect to another packet in the interconnect by one or more various means. A packet is deemed stalled if it is stuck inside a switch packet buffer waiting to be forwarded due to unavailability of appropriate output ports. When an incoming packet begins to arrive, the switch checks to see if its internal packet buffers already contain a related packet that is currently stalled. If so, the switch immediately rejects the incoming packet. The incoming packet is only accepted if there are no related packets stalled inside the receiver. A switch may simultaneously contain several related packets that are in the process of being forwarded, but it may never contain more than one stalled packet. Adaptive routing is also limited by the assignment of adaptivity credits to each packet.
68 Citations
7 Claims
-
1. A flow control apparatus for an adaptive packet-switched computer interconnect having a plurality of adaptive packet switches, comprising:
-
(A) a packet relationship tag associated with each packet in the computer interconnect, wherein packets having a common relationship are associated with the same packet relationship tag; (B) a control circuit in any one of the adaptive packet switches, the control circuit comprising (I) a content addressable memory (CAM) in any one of the adaptive packet switches, wherein the CAM stores the packet relationship tag of a stalled packet stored in a buffer in that packet switch, and (II) a comparator circuit that compares the packet relationship tag of an incoming packet with the packet relationship tag of the stalled packet stored in the CAM to determine if the packet relationship tag of the incoming packet matches the packet relationship tag of the stalled packet, wherein the control circuit causes that packet switch to refuse to accept the incoming packet when the comparator circuit matches the packet relationship tag of the incoming packet with that of the stalled packet stored in that buffer in that packet switch to constrain that packet switch from storing any additional packets having a common relationship with the stalled packet until the stalled packet is forwarded from the packet switch. - View Dependent Claims (2, 3, 4)
-
-
5. A method of controlling packet flow in an adaptive packet switched computer interconnect that includes a plurality of adaptive packet switches, comprising the steps of:
-
(A) associating a packet relationship tag to each packet in the computer interconnect, wherein packets of a common relationship are associated with the same packet relationship tag; (B) providing a control circuit comprising (I) a content addressable memory (CAM) in any one of the adaptive packet switches, and (II) a comparator circuit; (C) storing in the CAM the packet relationship tag of a stalled packet stored in a buffer in the adaptive packet switch having the CAM; (D) comparing with the comparator circuit the packet relationship tag of an incoming packet received in the adaptive packet switch having the CAM with the packet relationship tag of the stalled packet stored in that packet switch; and (E) the control circuit causing that packet switch to refuse to accept the incoming packet into that packet switch when the comparator circuit matches the packet relationship tag of the incoming packet with that of the stalled packet stored in that buffer in that packet switch to constrain that packet switch from storing any additional packets having a common relationship with the stalled packet until the stalled packet is forwarded from the packet switch. - View Dependent Claims (6, 7)
-
Specification