System and method for receiving iSCSI protocol data units
First Claim
Patent Images
1. An Internet small computer system interface (iSCSI) method for storing a state of a data list, comprising:
- receiving a protocol data unit including an iSCSI protocol data unit;
identifying a data list describing how data in the protocol data unit is to be stored in memory;
storing the data in the protocol data unit in the memory;
storing a state of the data list, where the state of the data list is used in conjunction with storage of data in a subsequent protocol data unit; and
extracting and storing information from a header portion of the protocol data unit in a control block;
wherein the information stored in the control block is utilized for identifying the data list for use in conjunction with the subsequent protocol data unit such that a plurality of related protocol data units are stored using a single data list.
6 Assignments
0 Petitions
Accused Products
Abstract
An Internet small computer system interface (iSCSI) system, method and associated data structure are provided for receiving data in protocol data units. After a protocol data unit is received, a data list is identified that describes how the data contained in the protocol data unit is to be stored (i.e. placed, saved, etc.) in memory (i.e. application memory). Further stored is a state of the data list. To this end, the state of the data list is used in conjunction with the storage of data from a subsequent protocol data unit.
271 Citations
27 Claims
-
1. An Internet small computer system interface (iSCSI) method for storing a state of a data list, comprising:
-
receiving a protocol data unit including an iSCSI protocol data unit; identifying a data list describing how data in the protocol data unit is to be stored in memory; storing the data in the protocol data unit in the memory; storing a state of the data list, where the state of the data list is used in conjunction with storage of data in a subsequent protocol data unit; and extracting and storing information from a header portion of the protocol data unit in a control block; wherein the information stored in the control block is utilized for identifying the data list for use in conjunction with the subsequent protocol data unit such that a plurality of related protocol data units are stored using a single data list. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method for storing a state of a data list, comprising:
-
receiving an Internet small computer system interface (iSCSI) protocol data unit; identifying a data list describing how data in the protocol data unit is to be stored in memory; storing the data in the protocol data unit in the memory; storing a state of the data list, where the state of the data list is used in conjunction with storage of data in a subsequent protocol data unit; and extracting information from a header portion of the protocol data unit and storing the information in a control block; wherein the information stored in the control block is utilized fox identifying the data list for use in conjunction with the subsequent protocol data unit such that a plurality of related protocol data units are stored using a single data list.
-
-
21. A transport offload engine sub-system, comprising:
-
a transport offload engine in communication with a processor and a network, the transport offload engine for identifying a data list describing how data in a received Internet small computer system interface (iSCSI) protocol data unit is to be stored in memory, and storing a state of the data list; wherein the state of the data list is used in conjunction with storage of data in a subsequent protocol data unit; wherein information is extracted from a header portion of the protocol data unit and stored in a control block; wherein the information stored in the control block is utilized for identifying the data list for use in conjunction with the subsequent protocol data unit such that a plurality of related protocol data units are stored using a single data list.
-
-
22. A system, comprising:
-
a processor; a transport offload engine in communication with the processor and a network via a bus, the transport offload engine for identifying a data list describing how data in a received Internet small computer system interface (iSCSI) protocol data unit is to be stored in memory, and storing a state of the data list; wherein the state of the data list is used in conjunction with storage of data in a subsequent protocol data unit; wherein information is extracted from a header portion of the protocol data unit and stored in a control block, wherein the information stored in the control block is utilized for identifying the data list for use in conjunction with the subsequent protocol data unit such that a plurality of related protocol data units are stored using a single data list.
-
-
23. A data list data structure embodied on a computer readable medium, comprising:
-
a data list object for describing how data in a received Internet small computer system interface (iSCSI) protocol data unit is to be stored in memory; wherein the data list object has stored associated therewith a state of the data list object that is used by a transport offload engine during storage of data in a subsequent protocol data unit; wherein information is extracted from a header portion of the protocol data unit and stored in a control block; wherein the information stored in the control block is utilized for identifying the data list object for use in conjunction with the subsequent protocol data unit such that a plurality of related protocol data units are stored using a single data list object.
-
-
24. A method for use in association with a transport offload engine, comprising:
-
receiving an Internet small computer system interface (iSCSI) protocol data unit, the protocol data unit including a header portion and a data portion; extracting information from the header portion of the protocol data unit, the information including a tag; determining whether to store data in the protocol data unit using a buffer or a data list based on the information; if it is determined that the data in the protocol data unit is to be stored using the buffer; storing the header portion of the protocol data unit in the buffer, and sending a status message to a processor; and if it is determined that the data in the protocol data unit is to be stored using the data list; identifying the data list based on the information, the data list describing how the data in the protocol data unit is to be stored in memory, identifying a state of the data list, storing the data in segments of the protocol data unit in the memory based on the state, repeating the storing until all of the data in the segments of the protocol data unit are stored, and if all of the data in the segments of the protocol data unit are stored, storing the state of the data list; wherein the state of the data list is used in conjunction with the storage of data in a subsequent protocol data unit; wherein the information from the header portion of the protocol data unit is stored in a control block; wherein the information stored in the control block is utilized for identifying the data list for use in conjunction with the subsequent protocol data unit such that a plurality of related protocol data units are stored using a single data list. - View Dependent Claims (25, 26)
-
-
27. An Internet small computer system interface (iSCSI) method, comprising:
-
receiving a protocol data unit including an iSCSI protocol data unit; storing at least a portion of the protocol data unit in memory; storing a state, where the state is used in conjunction with handling of a subsequent protocol data unit; and extracting information from a header portion of the protocol data unit and storing the information in a control block; wherein the information stored in the control block is utilized for identifying a data list for use in conjunction with the subsequent protocol data unit such that a plurality of related protocol data units are stored using a single data list.
-
Specification