IP Library Granted Patent US 7,106,742
Granted Patent B1
US 7,106,742 · App. 09/758,798 · Granted Sep 12, 2006

Method and system for link fabric error detection and message flow control

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,106,742
App. No.
09/758,798
Granted
Sep 12, 2006
Kind
B1
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.

Claims (33)

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.

2. A digital data system according to claim 1 , wherein the first node queries the second node for an identifier of a message packet in the sequence with which to begin resending.

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.

4. A digital data system according to claim 3 , wherein the changeable part includes a sequence identifier, and the second node compares the changeable part of a message packet with an expected sequence identifier to detect an error.

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.

Assignments (17)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 037486 FRAME 0517. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Dec 10, 2019
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 053547/0421 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT THE APPLICATION NO. FROM 13,883,290 TO 13,833,290 PREVIOUSLY RECORDED ON REEL 041703 FRAME 0536. ASSIGNOR(S) HEREBY CONFIRMS THE THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS.. Recorded Feb 20, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: SHENZHEN XINGUODU TECHNOLOGY CO., LTD.
Reel/Frame 048734/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENTS 8108266 AND 8062324 AND REPLACE THEM WITH 6108266 AND 8060324 PREVIOUSLY RECORDED ON REEL 037518 FRAME 0292. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Feb 1, 2017
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 041703/0536 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE LISTED CHANGE OF NAME SHOULD BE MERGER AND CHANGE PREVIOUSLY RECORDED AT REEL: 040652 FRAME: 0180. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME. Recorded Jan 12, 2017
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 041354/0148 →
CHANGE OF NAME Recorded Nov 8, 2016
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 040652/0180 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
CHANGE OF NAME Recorded Apr 6, 2016
From: MERCURY COMPUTER SYSTEMS, INC.
To: MERCURY SYSTEMS, INC.
Reel/Frame 038362/0488 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 13, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037518/0292 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 12, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037486/0517 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0553 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037354/0225 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0143 →
SECURITY AGREEMENT Recorded Nov 6, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 031591/0266 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Oct 12, 2012
From: SILICON VALLEY BANK
To: MERCURY COMPUTER SYSTEMS, INC.
Reel/Frame 029119/0355 →