IP Library Granted Patent US 8,225,004
Granted Patent B1
US 8,225,004 · App. 12/751,955 · Granted Jul 17, 2012

Method and system for processing network and storage data

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,225,004
App. No.
12/751,955
Granted
Jul 17, 2012
Kind
B1
Abstract

Method and system for transmitting data using a network protocol and a storage protocol via an adapter is provided. The method includes receiving an input output control block (IOCB) from a host system for transferring data stored in a host system memory; acquiring data from the host system memory; copying a header template in a local memory of the adapter, wherein the header template is created by a driver executed by the host system; creating a header for the network protocol and a header for the storage protocol; wherein a first module for the adapter creates the network protocol packet header and the first modules uses an assist module to create the storage protocol packet header; and creating a packet to transfer a portion of the acquired data, wherein a packet size is based on a payload size for the storage.

Claims (34)

1. A method for transmitting data using a network protocol and a storage protocol via an adapter, comprising:

receiving an input output control block (IOCB) from a host system for transferring data stored in a host system memory, wherein the adapter receives the IOCB and determines if an offload operation is to be performed;

acquiring data from the host system memory, wherein the adapter acquires the data from the host system based on a memory address embedded in the IOCB;

copying a header template in a local memory of the adapter, wherein the header template is created by a driver executed by the host system;

creating a header for the network protocol and a header for the storage protocol;

wherein a first module for the adapter creates the network protocol packet header and the first module uses an assist module to create the storage protocol packet header;

creating a packet to transfer a portion of the acquired data, wherein a packet size is based on a payload size for the storage; and

transmitting data packets until a sequence offload is complete.

2. The method of claim 1 , further comprising:

decrementing a data monitoring counter every time a packet is sent.

3. The method of claim 2 , further comprising:

sending data packets until the data monitoring counter indicates that all the packets have been transmitted.

4. The method of claim 1 , wherein the adapter is a Fibre Channel over Ethernet (FCOE) adapter.

5. The method of claim 4 , wherein the network protocol is Ethernet and the storage protocol is Fibre Channel.

6. The method of claim 4 , wherein the first module is an Ethernet core and the assist module is a Fibre Channel assist module.

7. The method of claim 4 , wherein the adapter creates FCOE packets that are transmitted over an Ethernet network link.

8. The method of claim 1 , wherein the data monitoring counter is maintained by the adapter.

9. A system for transmitting data using a network protocol and a storage protocol, comprising:

a driver executed in a host system creates a header template for each sequence for transferring the data and partially executes functions related to the storage protocol; and

an adapter coupled to the host system and a network link, the adapter (a) copies the data and the header template from a host system memory to a local adapter memory; (b) creates a header for the network protocol using a network processing module and a header for the storage protocol using a storage assist module, (c) creates individual packets whose size are limited by a payload size indicated by an input and output control block received from the host system; and (d) transmits the packets to a destination via a network interface using the network link.

10. The system of claim 9 , wherein the adapter maintains a data monitoring counter, which is decremented every time a packet is sent via a network link and data packets are sent until the data monitoring counter indicates that all the packets have been transmitted.

11. The system of claim 9 , wherein the adapter is a Fibre Channel over Ethernet (FCOE) adapter.

12. The system of claim 11 , wherein the network protocol is Ethernet and the storage protocol is Fibre Channel.

13. The system of claim 11 , wherein the first module is an Ethernet core and the assist module is a Fibre Channel assist module.

14. The system of claim 11 , wherein the adapter creates FCOE packets that are transmitted over an Ethernet network link.

15. An adapter for transmitting data using a network protocol and a storage protocol, comprising:

an interface for communicating with a host system that executes a driver for creating a header template for each sequence for transferring the data and the driver partially executes functions related to the storage protocol;

a core module that copies the data and the header template from a host system memory to a local adapter memory; and creates a header for the network protocol; and

a storage protocol assist module that creates a header for the storage protocol and interfaces with the core module; wherein the core module creates individual packets whose size are limited by a payload size indicated by an input and output control block received from the host system; and transmits the packets to a destination via a network interface using a network link.

16. The adapter of claim 15 , wherein a data monitoring counter maintained by the adapter is decremented every time a packet is sent via the network link and data packets are sent until the data monitoring counter indicates that all the packets have been transmitted.

17. The adapter of claim 15 , wherein the adapter is a Fibre Channel over Ethernet (FCOE) adapter.

18. The adapter of claim 17 , wherein the network protocol is Ethernet and the storage protocol is Fibre Channel.

19. The adapter of claim 17 , wherein the core module is an Ethernet core and the assist module is a Fibre Channel assist module.

20. The adapter of claim 17 , wherein the adapter creates FCOE packets that are transmitted over an Ethernet network link.

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 Jun 15, 2016
From: ROHDE, DEREK
To: QLOGIC, CORPORATION
Reel/Frame 038923/0381 →