IP Library Granted Patent US 8,116,311
Granted Patent B1
US 8,116,311 · App. 12/615,152 · Granted Feb 14, 2012

Method and system for tag arbitration in switches

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,116,311
App. No.
12/615,152
Granted
Feb 14, 2012
Kind
B1
Abstract

Method and system for a switch element is provided. The method includes (a) receiving a portion of a packet at a port of the switch element; (b) generating a tag based on an estimated packet size obtained from the portion of the packet; (c) sending the tag with the estimated packet size to a transmit segment of the port; (d) selecting a request from among a plurality of pending requests for processing the packet associated with the tag; (e) receiving an actual packet size for the packet in step (a); (f) determining if the actual packet size is different from the estimated packet size; and (g) adjusting an arbitration weight used for selecting the request in step (d), if the actual packet size is different from the estimated packet size.

Claims (37)

1. A method for a switch element, comprising:

(a) receiving a portion of a packet at a port of the switch element;

(b) generating a tag based on an estimated packet size obtained from the portion of the packet;

(c) sending the tag with the estimated packet size to a transmit segment of the port;

(d) selecting a request from among a plurality of pending requests for processing the packet associated with the tag;

(e) receiving an actual packet size for the packet in step (a);

(f) determining if the actual packet size is different from the estimated packet size; and

(g) adjusting an arbitration weight used for selecting the request in step (d), if the actual packet size is different from the estimated packet size.

2. The method of claim 1 , wherein the estimated packet size is obtained from a field of a packet header for the received packet.

3. The method of claim 1 , wherein an arbitration module arbitrates between the plurality of requests and selects the tag based on the estimated packet size.

4. The method of claim 3 , wherein a control signal is generated to either add or subtract a value from the arbitration weight, based on a difference between the estimated packet size and the actual packet size.

5. The method of claim 3 , wherein the arbitration module uses the adjusted arbitration weight for arbitrating between requests that are pending after the arbitration weight is adjusted.

6. The method of claim 1 , wherein the packet is an InfiniBand packet.

7. The method of claim 1 , wherein the packet is a non-InfiniBand packet.

8. The method of claim 1 , wherein the tag is selected if credit is available at a destination for the received packet.

9. A switch element, comprising:

(a) a receive segment at a port for receiving a portion of a packet, generating a tag based on an estimated packet size obtained from the portion of the packet; and sending the tag with the estimated packet size to a transmit segment of the port;

(b) an arbitration module for selecting a request from among a plurality of pending requests for processing the packet associated with the tag; and

(c) logic for determining if an actual packet size is different from the estimated packet size; and generating a control signal for adjusting an arbitration weight used for selecting the request, if the actual packet size is different from the estimated packet size.

10. The switch element of claim 9 , wherein the estimated packet size is obtained from a field of a packet header for the received packet.

11. The switch element of claim 9 , wherein based on a difference between the estimated packet size and the actual packet size, a value is added or subtracted from the arbitration weight.

12. The switch element of claim 9 , wherein the arbitration module uses the adjusted arbitration weight for arbitrating between requests that are pending after the arbitration weight is adjusted.

13. The switch element of claim 9 , wherein the packet is an InfiniBand packet.

14. The switch element of claim 9 , wherein the packet is a non-InfiniBand packet.

15. The switch element of claim 9 , wherein the tag is selected if credit is available at a destination for the received packet.

16. A method for a switch element, comprising:

(a) receiving a portion of a packet at a receive segment of a port of the switch element;

(b) generating a tag based on an estimated packet size obtained from the portion of the packet; wherein the receive segment generates the tag;

(c) sending the tag with the estimated packet size to a transmit segment of the port; wherein the receive segment sends the tag to the transmit segment;

(d) selecting a request from among a plurality of pending requests for processing the packet associated with the tag; wherein an arbitration module selects the tag from among the plurality of pending requests;

(e) receiving an actual packet size for the packet in step (a);

(f) determining if the actual packet size is different from the estimated packet size; and

(g) adjusting an arbitration weight used for selecting the request in step (d), if the actual packet size is different from the estimated packet size.

17. The method of claim 16 , wherein the estimated packet size is obtained from a field of a packet header for the received packet.

18. The method of claim 16 , wherein a control signal is generated to either add or subtract a value from the arbitration weight, based on a difference between the estimated packet size and the actual packet size.

19. The method of claim 1 , wherein the packet is an InfiniBand packet.

20. The method of claim 1 , wherein the packet is a non-InfiniBand packet.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053179/0320 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2020
From: CAVIUM, LLC
To: CAVIUM INTERNATIONAL
Reel/Frame 051948/0807 →
CHANGE OF NAME Recorded Oct 8, 2018
From: CAVIUM, INC.
To: CAVIUM, LLC
Reel/Frame 047205/0953 →
RELEASE OF SECURITY INTEREST Recorded Jul 6, 2018
From: JP MORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: CAVIUM, INC; CAVIUM NETWORKS LLC; QLOGIC CORPORATION
Reel/Frame 046496/0001 →
MERGER Recorded Oct 18, 2017
From: QLOGIC CORPORATION
To: CAVIUM, INC.
Reel/Frame 044812/0504 →
SECURITY AGREEMENT Recorded Mar 1, 2017
From: QLOGIC CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 041854/0119 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2009
From: KUNZ, JAMES A.; OWEN, MARK A.
To: QLOGIC, CORPORATION
Reel/Frame 023492/0296 →