IP Library Granted Patent US 9,588,920
Granted Patent B1
US 9,588,920 · App. 14/193,658 · Granted Mar 7, 2017

Method and system for port trunking

Inventors: Sanjaya Anand (Coto De Caza, CA); Kathy K. Caballero (Huntington Beach, CA)
Assignee: QLOGIC, Corporation
G06F13/36G06F13/14
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,588,920
App. No.
14/193,658
Granted
Mar 7, 2017
Kind
B1
Abstract

Methods and systems for sending and receiving information in a network are provided. The method includes configuring a port trunk as a PCI-Express function by an adapter, where the port trunk includes a plurality of network links that couple an adapter port to a port of another device; configuring the port of the other device for using the port trunk for sending and receiving information to and from the adapter port; transferring data by the adapter port on a same link for a write operation belonging to a same transaction for writing the data at a storage location; and receiving a confirmation for completing the write operation from the port of the other device after the data is written at the storage location, where the port of the other devices also uses a same link for sending information to the adapter port for the same transaction.

Claims (45)

1. A machine implemented method, comprising:

configuring a port trunk as a PCI-Express function managed by an adapter interfacing with a computing device via a PCI-Express link using direct memory access (DMA) operations, where the port trunk includes a plurality of network links that couple an adapter port to a port of another device via the plurality of network links for sending and receiving information using a network protocol;

enabling the configured port trunk for the adapter by setting a parameter at a storage location at the adapter;

transmitting a message by the adapter port using the network protocol to the port of the other device to determine that the other device supports communication using the port trunk;

negotiating by the adapter port with the port of the other device for configuring the port of the other device for using the port trunk for sending and receiving information to and from the adapter port using the network protocol;

storing at the adapter negotiated port trunk configuration information with a number of network links of the port trunk and port identification information for the adapter port and the port of the other device;

retrieving a write request from the computing device by the adapter via a DMA operation using the PCI-Express link to write data for an exchange at a storage location accessible via the other device using the network protocol;

selecting a link by the adapter from the plurality of network links of the port trunk for transmitting data for the write request;

transferring data in response to the write request by the adapter port on the selected link from among the plurality of network links for a write operation belonging to a same sequence of the exchange for writing the data at the storage location; wherein the selected link is used by the adapter to track an order in which data for the same sequence is transmitted to the other device; and

receiving a confirmation for completing the write operation from the port of the other device after the data is written at the storage location, where the port of the other device also uses a same link from among the plurality of network links for sending information to the adapter port for the same sequence using the network protocol.

2. The method of claim 1 , wherein the other device is a fabric switch coupled to the adapter port.

3. The method of claim 1 , wherein the other port uses a different link than the link used by the adapter port.

4. The method of claim 1 , wherein the same sequence is part of an Exchange for writing the data at the storage location.

5. The method of claim 1 , wherein the adapter is a Fibre Channel host bus adapter.

6. The method of claim 1 , wherein the adapter is a Fibre Channel over Ethernet adapter.

7. The method of claim 1 , wherein the network protocol is Ethernet.

8. A non-transitory, machine readable storage medium storing executable instructions, which when executed by a machine, causes the machine to perform a method, the method comprising:

configuring a port trunk as a PCI-Express function managed by an adapter interfacing with a computing device via a PCI-Express link using direct memory access (DMA) operations, where the port trunk includes a plurality of network links that couple an adapter port to a port of another device via the plurality of network links for sending and receiving information using a network protocol;

enabling the configured port trunk for the adapter by setting a parameter at a storage location at the adapter;

transmitting a message by the adapter port using the network protocol to the port of the other device to determine that the other device supports communication using the port trunk;

negotiating by the adapter port with the port of the other device for configuring the port of the other device for using the port trunk for sending and receiving information to and from the adapter port using the network protocol;

storing at the adapter negotiated port trunk configuration information with a number of network links of the port trunk and port identification information for the adapter port and the port of the other device;

retrieving a write request from the computing device by the adapter via a DMA operation using the PCI-Express link to write data for an exchange at a storage location accessible via the other device using the network protocol;

selecting a link by the adapter from the plurality of network links of the port trunk for transmitting data for the write request;

transferring data in response to the write request by the adapter port on the selected link from among the plurality of network links for a write operation belonging to a same sequence of the exchange for writing the data at the storage location; wherein the selected link is used by the adapter to track an order in which data for the same sequence is transmitted to the other device; and

receiving a confirmation for completing the write operation from the port of the other device after the data is written at the storage location, where the port of the other device also uses a same link from among the plurality of network links for sending information to the adapter port for the same sequence using the network protocol.

9. The storage medium of claim 8 , wherein the other device is a fabric switch coupled to the adapter port.

10. The storage medium of claim 8 , wherein the other port uses a different link than the link used by the adapter port.

11. The storage medium of claim 8 , wherein the same sequence is part of an Exchange for writing the data at the storage location.

12. The storage medium of claim 8 , wherein the adapter is a Fibre Channel host bus adapter.

13. The storage medium of claim 8 , wherein the adapter is a Fibre Channel over Ethernet adapter.

14. The storage medium of claim 8 , wherein the network protocol is Ethernet.

15. A system, comprising:

an adapter interfacing with a computing device via a PCI-Express link using direct memory access (DMA) operations, having a port coupled to a port of another device using a plurality of links for sending and receiving information using a network protocol, the plurality of links configured to operate within a port trunk that is managed by the adapter as a PCI-Express function;

wherein the port trunk is enabled by setting a parameter at a storage location at the adapter and the adapter transmits a message via the adapter port using the network protocol to the port of the other device to determine that the other device supports communication using the port trunk;

wherein the adapter port negotiates with the port of the other device for configuring the port of the other device for using the port trunk for sending and receiving information to and from the adapter port using the network protocol;

wherein the adapter stores negotiated port trunk configuration information with a number of network links of the port trunk and port identification information for the adapter port and the port of the other device;

wherein the adapter retrieves a write request from the computing device via a DMA operation using the PCI-Express link to write data for an exchange at a storage location accessible via the other device using the network protocol; selects a link from the plurality of network links of the port trunk for transmitting data for the write request; transfers data in response to the write request on the selected link from among the plurality of network links for a write operation belonging to a same sequence of the exchange for writing the data at the storage location;

wherein the selected link is used by the adapter to track an order in which data for the same sequence is transmitted to the other device; and

wherein the adapter receives a confirmation for completing the write operation from the port of the other device after the data is written at the storage location, where the port of the other device also uses a same link from among the plurality of network links for sending information to the adapter port for the same sequence using the network protocol.

16. The system of claim 15 , wherein the other device is a fabric switch coupled to the adapter port.

17. The system of claim 15 , wherein the other port uses a different link than the link used by the adapter port.

18. The system of claim 15 , wherein the same sequence is part of an Exchange for writing the data at the storage location.

19. The system of claim 15 , wherein the adapter is a Fibre Channel host bus adapter or a Fibre Channel over Ethernet adapter.

20. The system of claim 15 , wherein the network protocol is Ethernet.

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 Feb 28, 2014
From: ANAND, SANJAYA; CABALLERO, KATHY K.
To: QLOGIC, CORPORATION
Reel/Frame 032325/0048 →