IP Library Granted Patent US 7,525,983
Granted Patent B2
US 7,525,983 · App. 10/894,827 · Granted Apr 28, 2009

Method and system for selecting virtual lanes in fibre channel 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 7,525,983
App. No.
10/894,827
Granted
Apr 28, 2009
Kind
B2
Abstract

A method for assigning virtual lanes (VL) in a fibre channel switch is provided. The fibre channel switch element includes a virtual lane cache that can compare incoming frame parameters based on which virtual lanes may be assigned; and a register to store parameters used for virtual lane assignment. The method includes, determining if VL assignment is to be based on an incoming frame parameter or a programmed value; determining if an incoming frame is a preferred frame; and assigning a preferred routing priority if the incoming frame is designated as a preferred frame. The method also includes, determining if a fabric topology is known; and assigning virtual lanes based on a known fabric topology.

Claims (39)

1. A method for assigning virtual lanes (VL) in a fibre channel switch having a plurality of ports, comprising:

(a) receiving an incoming frame at a port from among the plurality of ports; wherein each of the plurality of ports include a receive segment to receive the incoming frame and a transmit segment for transmitting the incoming frame;

(b) determining if a destination identifier and a source identifier in a frame header for the incoming frame matches a destination identifier value and a source identifier value stored at the port receiving the incoming frame;

(c) if there is no match in step (b), then assigning a virtual lane based on a frame parameter within the frame header;

(d) if there is a match in step (b) then assigning a virtual lane based on a parameter from a virtual lane cache; and

(f) if there is a match in step (b), determining if an indicator for indicating that the received frame is a preferred frame is set; and

(g) if the indicator in step (f) is set, then assigning a virtual lane with a preferred routing priority.

2. Th method of claim 1 , wherein VL assignment criteria varies for the plurality of ports of the fibre channel switch element.

3. The method of claim 1 , wherein different links coupled to the plurality of ports of the fibre channel switch element have different VL assignment criteria.

4. The method of claim 3 , wherein each end of a link has different VL assignment criteria.

5. The method of claim 1 , wherein in VL assignment is performed for one or more of N_Ports and loop port.

6. The method of claim 1 , wherein in step (c) one or more of a destination identifier (D_ID), a source identifier (S_ID), an originator identifier (OX_ID), and a virtual storage area network identifier (VSAN_ID) is used for assigning a virtual lane.

7. The method of claim 1 , wherein a bit in a control register is set to indicate if the received incoming frame is a preferred frame.

8. A system for assigning virtual lanes in a fibre channel switch having a plurality of ports, comprising:

a receive segment at a port from among the plurality of ports, for receiving an incoming frame; and

a virtual lane cache that compares frame parameters in the incoming frame header with parameters stored at the port; and if there is a match, then assigns the virtual lanes base on parameters stored within a register; and if there is no match, then assigns the virtual lanes based on frame parameters included within the incoming frame header;

wherin the virtual lane cache includes a control word register and a port pair register and their values are used for virtual lane assignment.

9. A system for assigning virtual lanes in a fibre channel switch having a plurality of ports, comprising:

a receive segment at a port from among the plurality of ports, for receiving an incoming frame; and

a virtual lane cache that compares frame parameters in the incoming frame header with parameters stored at the port; and if there is a match, then assigns the virtual lanes based on parameters stored within a register; and if there is no match, then assigns the virtual lanes based on frame parameters included within the incoming frame header;

wherein the virtual lane cache includes a control word register and a port pair register and their values are used for virtual lane assignment; and wherein the virtual lane cache includes logic for comparing incoming frame parameters with values stored in the port pair word register.

10. A system for assigning virtual lanes in a fibre channel switch having a plurality of ports, comprising:

a receive segment at a port from among the plurality of ports, for receiving an incoming frame; and

a virtual lane cache that compares frame parameters in the incoming frame header with parameters stored at the port; and if there is a match, then assigns the virtual lanes based on parameters stored within a register; and if there is no match, then assigns the virtual lanes based on frame parameters included within the incoming frame header;

wherein one or more of destination identifier (D_ID), a source identifier (S_ID), an originator identifier (OX_ID), and a virtual storage area network identifier (VSAN_ID) is used for assigning a virtual lane.

11. A method for assigning virtual lanes (VL) in a fibre channel switch having a plurality of ports, comprising:

(a) receiving an incoming frame at a port from among the plurality of ports; wherein each of the plurality of ports include a receive segment to receive the incoming frame and a transmit segment for transmitting the incoming frame;

(b) determining if a destination identifier and source identifier in a frame header for the incoming frame matches a destination identifier value and a source identifier value stored at the port receiving the incoming frame;

(c) if there is no match in step (b), then assigning a virtual lane has based on a frame parameter within the frame header;

(d) if there is a match in step (b), then assigning a virtual lane based on a parameter stored a the port, and

if there is a match in step (b) determining if an indicator for indicating that the received frame is a preferred frame is set; and

if the indicator is set, then assigning a virtual lane with a preferred routing priority.

12. The method of claim 11 , wherein a bit in a control register is set to indicate if the received incoming frame is a preferred frame.

13. A method for assigning virtual lanes (VL) in a fibre channel switch having a plurality of ports, comprising:

a) receiving an incoming frame at a port from among the plurality of ports: wherein each of the plurality of ports include a receive segment to receive the incoming frame and a transmit segment for transmitting the incoming frame;

b) determining if a destination identifier and a source identifier in a frame header for the incoming frame matches a destination identifier value and a source identifier value stored at the port receiving the incoming frame;

(c) if there is no match in step (b), then assigning a virtual lane based on a frame parameter within the frame header;

(d)if there is a match in step (b), then assigning a virtual lane based on a parameter stored at the port;

wherein in step (c), one or more of a destination identifier (D_D), a source identifier (S_ID), an originator identifier (OX_ID), and a virtual storage area network identifier (VSAN_ID) is used for assigning a virtual lane.

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 Jul 20, 2004
From: DROPPS, FRANK R.; ROSS, EDWARD C.; GUSTAFSON, WILLIAM J.
To: QLOGIC CORPORATION
Reel/Frame 015617/0120 →