Method and system for link fabric error detection and message flow control
First Claim
1. A digital data system comprisinga link that carries message packets,a first node sending a plurality of message packets to a second node on the link as a sequence of message packets, with each message packet being sent from the first node with a sequence identifier, and each message packet comprising an initial portion comprising an error code,the second node (i) inspecting the error code for each packet received on the link to detect an error condition, and (ii) returning a control symbol along with the sequence identifier of the received packet to the first node based on the result of that inspection,the second node returning the control symbol to the first node before the entire message packet has arrived at the second node, andthe first node responding to the control symbol to control the further transmission of message packets to the second node over the linkwherein the second node returns a packet-not-accepted control symbol to the first node indicating receipt on the link of a message packet that is out of sequenceand wherein the first node responds to the packet-not-accepted control symbol by re-sending a portion of the sequence of message packets.
25 Assignments
0 Petitions
Accused Products
Abstract
A digital data system employs multiple error protection mechanisms on messages that pass along a link interconnect fabric from one node or device to another node or device. The nodes may be end points (such as processor or storage units), or may be intermediate devices or branch points (such as routers or switches in the interconnect fabric). The interconnect fabric comprises a set of one or more routers, switches, electrical, optical, electroptical or other links along which messages are passed. Messages are packets having a defined format including, e.g., a header portion, typically with source and target addresses, and codes indicating message-type or other information, followed by one or more data or other fields. A first node (“sending” node) of a digital data system as described sends a data transmission comprising one or more message packets to a second node (“receiving” node) over a link of a fabric as described above. The receiving node returns a control symbol to the sending node for each packet received on the link. The sender uses information in that symbol to control the further transmission of message packets to receiver over the link.
-
Citations
6 Claims
-
1. A digital data system comprising
a link that carries message packets, a first node sending a plurality of message packets to a second node on the link as a sequence of message packets, with each message packet being sent from the first node with a sequence identifier, and each message packet comprising an initial portion comprising an error code, the second node (i) inspecting the error code for each packet received on the link to detect an error condition, and (ii) returning a control symbol along with the sequence identifier of the received packet to the first node based on the result of that inspection, the second node returning the control symbol to the first node before the entire message packet has arrived at the second node, and the first node responding to the control symbol to control the further transmission of message packets to the second node over the link wherein the second node returns a packet-not-accepted control symbol to the first node indicating receipt on the link of a message packet that is out of sequence and wherein the first node responds to the packet-not-accepted control symbol by re-sending a portion of the sequence of message packets.
-
3. A digital data system comprising:
-
first and second nodes connected by a first link, the first node sending a plurality of message packets to the second node over the first link, each message packet including a header portion and a further portion, the header portion including an error code, the second node checking the error code and sending a valid message packet to a further node over a further link, at least a part of the header portion being a changeable part that may change as the message packet passes from the first link to the further link, and at least a part of the message packet being an invariant part that does not change, whereby the error code need not to be recalculated when the message packet passes to the further link, whereby corruption of the header portion of the packet is detected before the second node has received the entire packet, and without reference to the further portion of the packet, and wherein the second node returning a control symbol to the first node before the entire message packet has arrived at the second node. - View Dependent Claims (4)
-
-
5. A digital system comprising:
-
first and second nodes connected by a first link, the first node sending a data from a buffer as a transmission sequence of one or more messages message packets to the second node over the first link, each message packet including a sequence identifier in an initial portion of the message packet, the second node checking the initial portion to identify a faulty message reception, and communicating said sequence identifier to the first node with a control symbol indicating whether reception was proper such that the first node may respond to the control symbol by clearing the buffer or retransmitting at least a portion of the transmission sequence, whereby corruption of the initial portion is detected without reference to a subsequent portion of the packet, and wherein the second node returning the control symbol to the first node before the entire message packet has arrived at the second node.
-
-
6. A digital data system comprising:
-
first and second nodes connected by a first link, the first node sending a plurality of message packets to the second node over the first link with each message packet being sent from the first node with a sequence identifier, and each message packet comprising an initial portion comprising an error code, the second node sending the message packets to a further node over a further link, the second node (i) inspecting the error code for each message packet received on the link to detect and error condition, and (ii) returning a control symbol to the first node for each packet received therefrom the first link along with the sequence identifier of the received message packet based on the result of that inspection, the second node returning the control symbol to the first node before the entire message packet has arrived at the second node, the first node responding to the control symbol to control the further transmission of the message packets to the second node over the first link, such that transmission of data packets from the first node to the further node proceeds efficiently.
-
Specification