IP Library Granted Patent US 9,325,637
Granted Patent B2
US 9,325,637 · App. 13/611,252 · Granted Apr 26, 2016

System for performing distributed data cut-through

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 9,325,637
App. No.
13/611,252
Granted
Apr 26, 2016
Kind
B2
Abstract

A system for transferring data includes an egress node including an egress port, and an ingress node configured to receive a data segment of a data packet destined for the egress port. The data packet is associated with a packet priority level. The ingress node is configured to receive an egress statement vector from the egress node indicating whether the egress port is or is not flow controlled for data associated with the packet priority level. The ingress node is configured to determine whether the egress port is available to receive the data segment from the ingress node before other data segments of the data packet are received at the ingress node based on the egress statement vector.

Claims (38)

1. A system for transferring data, comprising:

an egress node including an egress port;

an ingress node configured to receive a data segment of a data packet destined for the egress port, the data packet associated with a packet priority level;

where the ingress node is configured to receive an egress statement vector from the egress node, the egress statement vector indicates whether the egress port is or is not flow controlled for data associated with the packet priority level; and

where the ingress node is configured to determine whether the egress port is available to receive the data segment from the ingress node before other data segments of the data packet are received at the ingress node based on the egress statement vector and based on a comparison of the packet priority level with an egress entry of the egress statement vector corresponding to the packet priority level.

2. The system of claim 1 , where the egress port is not available to receive the data segment from the ingress node before the other data segments of the data packet are received at the ingress node when the egress statement vector indicates that the egress port is flow controlled for data associated with the packet priority level.

3. The system of claim 1 , where the egress port is available to receive the data segment from the ingress node before the other data segments of the data packet are received at the ingress node when the egress statement vector indicates that the egress port is not flow controlled for data associated with the packet priority level.

4. The system of claim 1 , where the ingress node is configured to store the data segment in a memory in communication with the ingress node when the egress statement vector indicates that the egress port is flow controlled for data associated with the packet priority level.

5. The system of claim 1 , where the ingress node is configured to bypass memory and transmit the data segment directly to the egress port when the egress statement vector indicates that the egress port is not flow controlled for data associated with the packet priority level.

6. The system of claim 1 , where the egress statement vector includes a first entry indicating that the egress port is flow controlled for data associated with a first priority level, and a second entry indicating that the egress port is not flow controlled for data associated with a second priority level; and

where the packet priority level is the first priority level or the second priority level.

7. The system of claim 1 , where the ingress node is configured to receive an ingress statement vector from a second ingress node, the ingress statement vector indicating whether the second ingress node includes data associated with the packet priority level for the egress port.

8. The system of claim 7 , where the determination further includes:

comparison of the packet priority level with an ingress entry of the ingress statement vector corresponding to the packet priority level.

9. The system of claim 1 , where the egress statement vector from the egress node further indicates a level of congestion at the egress port.

10. A method for transferring data, comprising:

receiving, at a receiving ingress node, a data segment of a data packet destined for an egress port of an egress node, the data packet associated with a packet priority level;

identifying, at the receiving ingress node, an egress statement vector from the egress node, the egress statement vector indicating whether the egress port is or is not flow controlled for data associated with the packet priority level; and

storing the data segment in a memory until all data segments of the data packet have been received at the receiving ingress node when the egress statement vector indicates that the egress port is flow controlled for data associated with the packet priority level.

11. The method of claim 10 , further comprising receiving, at the receiving ingress node, an ingress statement vector indicating whether an non-receiving ingress node includes data associated with the packet priority level for the egress port.

12. The method of claim 11 , further comprising determining, at the receiving ingress node, whether the receiving ingress node is available to transfer the data segment to the egress port before other data segments of the data packet are received at the receiving ingress node, the determination based on the egress statement vector and the ingress statement vector.

13. The method of claim 12 , further comprising transferring the data segment to the egress port before other data segments of the data packet are received at the receiving ingress node when the egress statement vector indicates that the egress port is not flow controlled for the packet priority level and the ingress statement vector indicates that the non-receiving ingress node does not have data associated with the packet priority level for the egress port.

14. The method of claim 12 , further comprising storing the data segment until all other data segments of the data packet are received at the receiving ingress node when the ingress statement vector indicates that the non-receiving ingress node has data associated with the packet priority level for the egress port.

15. An ingress node of a system, comprising:

an ingress port;

a memory in communication with the ingress port, the ingress port configured to receive a data segment of a data packet destined for an egress port of an egress node, the data segment associated with a packet priority level;

a controller in communication with the memory and the ingress port, the controller operable to receive an egress statement vector from the egress node indicating whether the egress port is flow controlled for data associated with a first priority level and whether the egress port is flow controlled for data associated with a second priority level, wherein the egress port being flow controlled indicates availability of the egress port to receive the data segment without the data segment being stored in memory; and

the controller operable to determine, based on the packet priority level and the egress statement vector, whether the egress port is available to receive the data segment from the ingress node without first storing the data segment in memory.

16. The ingress node of claim 15 , where the memory comprises:

a first queue configured to store data associated with the first priority level when the egress port is flow controlled for data associated with the first priority level; and

a second queue configured to store data associated with the second priority level when the egress port is flow controlled for data associated with the second priority level.

17. The ingress node of claim 15 , where the controller is further operable to instruct the ingress port to bypass the memory and transmit the data segment directly to the egress port when the egress port is available.

18. The ingress node of claim 15 , where the controller is further operable to store the data segment in the memory when the egress port is not available.

19. The ingress node of claim 15 , where the controller is further operable to:

identify the packet priority level as the first priority level or the second priority level; and

determine the egress port is available based on an entry in the egress statement vector corresponding to the identified packet priority level, the entry indicating the egress port is flow controlled for data associated with the identified packet priority level.

20. The ingress node of claim 15 , where the packet priority level may be one of a set of priority levels, the set of priority levels including the first priority level and the second priority level; and

where the egress statement vector includes a set of entries indicating whether the egress port is flow controlled for data associated with each of the priority levels.

Assignments (7)
CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT NUMBER 9,385,856 TO 9,385,756 PREVIOUSLY RECORDED AT REEL: 47349 FRAME: 001. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 22, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 051144/0648 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE PREVIOUSLY RECORDED ON REEL 047229 FRAME 0408. ASSIGNOR(S) HEREBY CONFIRMS THE THE EFFECTIVE DATE IS 09/05/2018. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047349/0001 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047229/0408 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2012
From: MATTHEWS, BRAD
To: BROADCOM CORPORATION
Reel/Frame 028943/0062 →