IP Library Granted Patent US 8,842,696
Granted Patent B1
US 8,842,696 · App. 13/165,479 · Granted Sep 23, 2014

Guaranteed rate port scheduler

Inventor: Ozair Usmani (San Jose, CA)
Assignee: Netlogic Microsystems, Inc.
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 8,842,696
App. No.
13/165,479
Granted
Sep 23, 2014
Kind
B1
Abstract

A guaranteed rate port scheduler (GRPS) is used for serving multiple destination ports simultaneously without under-runs, even if the total bandwidth of the ports is more than the bandwidth capability of the device. Certain network protocols, such as Ethernet, do not allow “gaps” (called under-runs) to occur between bits of a packet on the wire. If a network device is transmitting packets to several such ports at the same time and the combined bandwidth of these ports is more than the device can source, under-runs begin to occur within the transmitted packets. The disclosed GRPS solves this problem by: (a) the GRPS serves only as many destination ports at a given time as can be “handled”, and (b) the GRPS fairly selects new destination ports to serve after every end-of-frame data packet transmission by effectively “de-rating” the statistical bandwidth of each destination port in proportion to the diminished capacity of the device.

Claims (31)

1. A method for operating a guaranteed rate port scheduler (GRPS) operating in conjunction with a device, the method comprising:

comparing total bandwidth for a plurality of transmit ports to an available bandwidth of a transmit bus, wherein the transmit bus is connected to the plurality of transmit ports and to the GRPS;

selecting a subset of the plurality of transmit ports to use for transmission of at least one data packet if the total bandwidth for the plurality of transmit ports is greater than the available bandwidth of the transmit bus;

de-rating a bandwidth of each of the subset of the transmit ports such that a total bandwidth of the subset of the transmit ports is less than the available bandwidth of the transmit bus; and

transmitting, by each of the subset of the transmit ports in accordance with its de-rated bandwidth, a portion of the at least one data packet.

2. The method of claim 1 , wherein the device is a processor.

3. The method of claim 1 , wherein the subset of the transmit ports is one of the plurality of transmit ports.

4. The method of claim 1 , wherein the subset of the transmit ports is at least two of the plurality of transmit ports.

5. The method of claim 1 , wherein the de-rating the subset of the transmit ports comprises not transmitting on the subset of transmit ports for a time y after a time x, where the time x is equal to a time it takes to transmit the at least one data packet, and wherein the time y is equal to (the time x/(a percentage of a maximum operating frequency of the device/100)) times (1−(the percentage of the maximum operating frequency of the device/100)).

6. The method of claim 5 , wherein the percentage of the maximum operating frequency is selected by specifying a frequency for operation of the device.

7. The method of claim 1 , wherein the method further comprises selecting bit rates for each of the subset of transmit ports in accordance with its de-rated bandwidth.

8. The method of claim 1 , further comprising selecting a percentage of a maximum operating frequency for the device.

9. The method of claim 1 , wherein the de-rating comprises introducing idle times to the plurality of transmit ports.

10. The method of claim 9 , wherein a throughput of the plurality of transmit ports matches, on average, the available bandwidth of the transmit bus.

11. A system comprising:

a guaranteed rate port scheduler (GRPS);

a device to operate in conjunction with the GRPS;

a plurality of transmit ports; and

a transmit bus connected to the plurality of transmit ports and the GRPS; wherein the GRPS is configured to:

compare total bandwidth for the plurality of transmit ports to an available bandwidth of the transmit bus, and if the total bandwidth for the plurality of transmit ports is greater than the available bandwidth of the transmit bus,

select a subset of the plurality of transmit ports to use for transmission of at least one data packet,

de-rate a bandwidth of each of the subset of the transmit ports such that a total bandwidth of the subset of the transmit ports is less than the available bandwidth of the transmit bus, and

transmit, by each of the subset of the transmit ports in accordance with its de-rated bandwidth, a portion of the at least one data packet.

12. The system of claim 11 , wherein the device is a processor.

13. The system of claim 11 , wherein the subset of the transmit ports is one of the plurality of transmit ports.

14. The system of claim 11 , wherein the subset of the transmit ports is at least two of the plurality of transmit ports.

15. The system of claim 11 , wherein a time x is equal to a time it takes to transmit the at least one data packet.

16. The system of claim 15 , wherein the GRPS does not transmit on the subset of the transmit ports for a time y after the time x, and wherein the time y is a function of the time x and a percentage of the maximum operating frequency for the device.

17. The system of claim 16 , wherein the time y is equal to (the time x/(the percentage of the maximum operating frequency/100)) times (1−(the percentage of the maximum operating frequency/100)).

18. The system of claim 11 , wherein the percentage of the maximum operating frequency is selected by specifying a frequency for operation of the device.

19. The system of claim 11 , wherein the GRPS is further configured to select bit rates for each of the transmit ports, in accordance with its de-rated bandwidth.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE ERROR IN RECORDING THE MERGER IN THE INCORRECT US PATENT NO. 8,876,094 PREVIOUSLY RECORDED ON REEL 047351 FRAME 0384. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 8, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 049248/0558 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF THE MERGER PREVIOUSLY RECORDED AT REEL: 047230 FRAME: 0910. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047351/0384 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047230/0910 →
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 →
CHANGE OF NAME Recorded Apr 16, 2015
From: NETLOGIC MICROSYSTEMS, INC.
To: NETLOGIC I LLC
Reel/Frame 035443/0824 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2015
From: NETLOGIC I LLC
To: BROADCOM CORPORATION
Reel/Frame 035443/0763 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2011
From: USMANI, OZAIR
To: NETLOGIC MICROSYSTEMS, INC.
Reel/Frame 026774/0825 →