IP Library Granted Patent US 9,729,459
Granted Patent B2
US 9,729,459 · App. 13/686,312 · Granted Aug 8, 2017

System and method for credit-based link level 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 9,729,459
App. No.
13/686,312
Granted
Aug 8, 2017
Kind
B2
Abstract

A system and method for credit-based link level flow control. In one embodiment, a byte-based flow control mechanism is based on a sender effectively maintaining a buffer state at the receiver. In maintaining a buffer state at the receiver, the sender is provided with information regarding byte expansion at the receiver. This byte-expansion information can be used by the sender to identify the amount of additional storage needed by the receiver when storing a packet transmitted by the sender in the receiver's packet buffer.

Claims (31)

1. A method, comprising:

receiving, by a first link partner from a second link partner, byte expansion information regarding byte expansion performed at the second link partner when the second link partner stores a packet received from the first link partner;

transmitting a first packet from the first link partner to the second link partner; and

adjusting, by the first link partner, a credit counter in the first link partner by an amount that corresponds to a first number of bytes in the transmitted first packet plus a second number of bytes determined using the byte expansion information received from the second link partner, the second number of bytes indicating an amount of additional storage for the second link partner to store the transmitted first packet.

2. The method of claim 1 , further comprising negotiating a number of bits used by the credit counter.

3. The method of claim 1 , wherein the negotiation comprises negotiating using Data Center Bridging exchange (DCBX).

4. The method of claim 1 , further comprising determining, by the first link partner, whether to transmit the first packet based on a value of the credit counter.

5. The method of claim 4 , wherein the determining comprises determining whether a value of the credit counter indicates that the second link partner has an amount of space greater than a number of bytes associated with a next packet to be transmitted.

6. The method of claim 1 , further comprising adjusting a value of the credit counter based on a synchronization packet received by the first link partner from the second link partner, the synchronization packet enabling the first link partner to synchronize a value of the credit counter with a second credit counter in the second link partner.

7. The method of claim 1 , further comprising transmitting a synchronization packet from the first link partner to the second link partner, the synchronization packet including a value of the credit counter.

8. The method of claim 1 , wherein the credit counter is a circular counter.

9. A method, comprising:

transmitting, by a first link partner to a second link partner, information regarding byte expansion performed by the first link partner;

receiving, by the first link partner, a packet from the second link partner;

storing in a buffer, by the first link partner, a byte-expanded packet expanded based on the received packet; and

adjusting, by the first link partner, a credit counter based on a number of bytes of the byte-expanded packet, wherein the number of bytes of the byte-expanded packet includes a first number of bytes of the received packet and a second number of bytes indicating an amount of additional storage for the second link partner to store the received packet.

10. The method of claim 9 , further comprising negotiating a number of bits used by the credit counter.

11. The method of claim 10 , wherein the negotiation comprises negotiating using Data Center Bridging eXchange (DCBX).

12. The method of claim 9 , further comprising transmitting a self-synchronization packet from the first link partner to the second link partner, the self-synchronization packet including a value of the credit counter.

13. The method of claim 9 , wherein the credit counter is a circular counter.

14. A system comprising:

a first network device configured to:

receive, from a second network device, byte expansion information regarding byte expansion performed at the second network device when the second network device stores a packet received from the first network device;

transmit a first packet from the first network device to the second network device; and

adjust a credit counter in the first network device by an amount that corresponds to a first number of bytes in the transmitted first packet plus a second number of bytes determined using the byte expansion information received from the second network device, the second number of bytes indicating an amount of additional storage for the second network device to store the transmitted first packet.

15. The system of claim 14 , wherein the first network device is further configured to negotiate a number of bits used by the credit counter.

16. The system of claim 15 , wherein the first network device is further configured to negotiate the number of bits used by the credit counter using Data Center Bridging eXchange (DCBX).

17. The system of claim 14 , wherein the first network device is further configured to determine whether to transmit the packet based on a value of the credit counter.

18. The system of claim 17 , wherein the determining further comprises the first network device configured to determine whether a value of the credit counter indicates that the second network device has an amount of space greater than a number of bytes associated with a next packet to be transmitted.

19. The system of claim 14 , wherein the first network device is further configured to adjust a value of the credit counter based on a synchronization packet received by the first network device from the second network device, the synchronization packet enabling the first network device to synchronize a value of the credit counter with a second credit counter in the second network device.

20. The system of claim 14 , wherein the first network device is further configured to transmit a synchronization packet from the first network device to the second network device, said synchronization packet including a value of the credit counter.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 047422 FRAME: 0464. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 6, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048883/0702 →
MERGER Recorded Oct 5, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047422/0464 →
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 Nov 27, 2012
From: HENDEL, ARIEL; KISHORE, K. R.
To: BROADCOM CORPORATION
Reel/Frame 029357/0278 →