IP Library Granted Patent US 8,923,322
Granted Patent B2
US 8,923,322 · App. 12/337,467 · Granted Dec 30, 2014

Stateless fibre channel sequence acceleration for fibre channel traffic over Ethernet

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,923,322
App. No.
12/337,467
Granted
Dec 30, 2014
Kind
B2
Abstract

A method for offloading Fiber Channel transmit data in an I/O operation. The transmit data includes Fiber Channel sequences, each Fiber Channel sequence includes multiple frames. The method includes generating a single transmit sequence request descriptor for transmitting all of the plurality of frames; creating an Ethernet header, a FCoE encapsulation header, and a Fiber Channel header for each frame in response to information in the transmit sequence request descriptor; creating start of frame and end of frame delimiters; inserting data into each frame; computing Fiber Channel CRC and Ethernet FCS for each frame; and transmitting the plurality of frames over a network. In each of the plurality of frames, the Ethernet header precedes the FCoE encapsulation header, which precedes the Fiber Channel header, which precedes the data. The data is followed by the Fiber Channel CRC, which is followed by the Ethernet FCS.

Claims (32)

1. A method for offloading Fibre Channel transmit data in an input/output (I/O) operation, the transmit data comprising at least one Fibre Channel sequence, each of the at least one Fibre Channel sequence comprising a plurality of frames, the method comprising:

receiving, by a Fibre Channel over Ethernet (FCoE) encapsulation module, a single request for all of the plurality of frames of the at least one Fibre Channel sequence, wherein the single request comprises the at least one Fibre Channel sequence and information for the transmission of the at least one Fibre Channel sequence;

encapsulating all of the plurality of frames of the at least one Fibre Channel sequence to generate a plurality of FCoE frames;

generating, by a Fibre Channel sequence offload interface, a single transmit sequence request descriptor for transmitting the plurality of FCoE frames associated with the at least one Fibre Channel sequence, wherein the transmit sequence request descriptor comprises one or more of a total transmit size of the I/O operation, a sequence size of the at least one Fibre Channel sequence, a frame size of each of the plurality of frames, a start of frame delimiter and an end of frame delimiter;

creating an Ethernet header for each of the plurality of FCoE frames in response to information in the transmit sequence request descriptor;

creating a Fibre Channel over Ethernet (FCoE) encapsulation header for each of the plurality of FCoE frames in response to information in the transmit sequence request descriptor;

creating a Fibre Channel header for each of the plurality of FCoE frames in response to the information in the transmit sequence request descriptor;

creating start of frame and end of frame delimiters in response to information in the transmit sequence request descriptor;

computing Fibre Channel Cyclic Redundancy Checksum (CRC) and Ethernet frame sequence (FCS) for each of the plurality of FCoE frames; and

transmitting the plurality of FCoE frames over a network.

2. The method of claim 1 , wherein the transmit sequence request descriptor comprises Ethernet header information and Fibre Channel header information.

3. The method of claim 2 , wherein the Ethernet header is created in response to the Ethernet header information in the transmit sequence request descriptor.

4. The method of claim 2 , wherein the Fibre Channel header is created in response to the Fibre Channel header information in the transmit sequence request descriptor.

5. The method of claim 2 , wherein the start of frame and end of frame delimiters are created in response to the start of frame delimiter information and the end of frame delimiter information, respectively.

6. The method of claim 1 further comprising inserting padding in at least one of the plurality of FCoE frames.

7. The method of claim 1 , wherein the information for the transmission of the at least one Fibre Channel sequence comprises a specification of the amount of data to be transmitted.

8. The method of claim 1 , wherein the information for the transmission of the at least one Fibre Channel sequence comprises a specification of the number of sequences to be transmitted.

9. A network interface for performing transmit sequence offloading in a Fibre Channel over Ethernet (FCoE) input/output (I/O) operation, the I/O operation involving transmitting at least one data sequence over a network, the at least one data sequence comprising a plurality of data frames, the network interface comprising:

an FCoE encapsulation module that receives a single request for all of the plurality of the frames of the at least one data sequence, wherein the single request comprises the at least one Fibre Channel sequence and information for the transmission of the at least one Fibre Channel sequence, the FCoE encapsulation module being operable to encapsulate all of the plurality of frames of the at least one Fibre Channel sequence to generate a plurality of FCoE frames;

a Fibre Channel sequence offload interface that generates a single transmit request descriptor for transmitting the plurality of FCoE frames associated with the at least one data sequence, wherein the transmit sequence request descriptor comprises one or more of a total transmit size of the I/O operation, a sequence size of the at least one Fibre Channel sequence, a frame size of each of the plurality of frames, a start of frame delimiter and an end of frame delimiter; and

a Fibre Channel transmit sequence offload module operable to separate the plurality of FCoE frames and operable to modify each of the plurality of data frames in response to information in the transmit sequence request descriptor,

the Fibre Channel transmit sequence offload module in communication with the Fibre Channel sequence offload interface.

10. The network interface of claim 9 further comprising an Ethernet Network Interface Card (NIC) adapted to transmit and receive FCoE communication, the Ethernet NIC in communication with the Fibre Channel transmit sequence offload module.

11. The network interface of claim 10 wherein the Fibre Channel transmit sequence offload module is a part of the Ethernet NIC.

12. The network interface of claim 10 further comprising a L2 NIC driver adapted to process non-FCoE frames, the Level 2 (L2) NIC driver in communication with the Ethernet NIC.

13. The network interface of claim 12 wherein the Fibre Channel sequence offload interface is combined with the L2 NIC driver.

14. The network interface of claim 12 further comprising a TCP/IP stack adapted to process TCP/IP frames, the TCP/IP stack in communication with the L2 NIC Driver.

15. The network interface of claim 9 wherein the network interface is a converged network adapter (CNA) adapted to transmit and receive both FCoE and non-FCoE communications.

16. The network interface of claim 9 , wherein the FCoE encapsulation module is adapted to encapsulate a Fibre Channel frame with an Ethernet frame, the FCoE encapsulation module in communication with the Fibre Channel sequence offload interface.

17. The network interface of claim 16 further comprising a Fibre Channel driver and a Small Computer System Interface (SCSI) stack, the Fibre Channel driver in communication with the Fibre Channel encapsulation module, the SCSI stack in communication with the Fibre Channel driver, wherein the SCSI initiates the I/O operation.

18. The network interface of claim 9 , wherein the information for the transmission of the at least one Fibre Channel sequence comprises a specification of the amount of data to be transmitted.

19. The network interface of claim 9 , wherein the information for the transmission of the at least one Fibre Channel sequence comprises a specification of the number of sequences to be transmitted.

Assignments (7)
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: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041710/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037808/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2015
From: EMULEX CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 036942/0213 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2014
From: EMULEX DESIGN AND MANUFACTURING CORPORATION
To: EMULEX CORPORATION
Reel/Frame 032087/0842 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2008
From: BHIDE, PARAG DATTATRAYA; YU, GLENN CHIH; SUBRAMANIYAM, RAHUL KORIVI
To: EMULEX DESIGN & MANUFACTURING CORPORATION
Reel/Frame 022005/0118 →