Method and system for providing direct data placement support
First Claim
1. A method for reducing the overhead associated with the direct placement of packet data incoming to a network adapter over a network connection;
- said method comprising;
a. receiving a header portion of at least one packet at said network adapter;
b. extracting and processing, via logic implemented in hardware, upper layer protocol (ULP) parameter values from said header portion of said at least one packet;
c. storing in software data structure, said ULP parameters values extracted from header portion of at least one packet; and
d. directly placing packet data received in a payload portion of said at least one packet;
said placement based on said stored ULP parameters values.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for reducing the overhead associated with direct data placement is provided. Processing time overhead is reduced by implementing packet-processing logic in hardware. Storage space overhead is reduced by combining results of hardware-based packet-processing logic with ULP software support; parameters relevant to direct data placement are extracted during packet-processing and provided to a control structure instantiation. Subsequently, payload data received at a network adapter is directly placed in memory in accordance with parameters previously stored in a control structure. Additionally, packet-processing in hardware reduces interrupt overhead by issuing system interrupts in conjunction with packet boundaries. In this manner, wire-speed direct data placement is approached, zero copy is achieved, and per byte overhead is reduced with respect to the amount of data transferred over an individual network connection. Movement of ULP data between application-layer program memories is thereby accelerated without a fully offloaded TCP protocol stack implementation.
-
Citations
20 Claims
-
1. A method for reducing the overhead associated with the direct placement of packet data incoming to a network adapter over a network connection;
- said method comprising;
a. receiving a header portion of at least one packet at said network adapter;
b. extracting and processing, via logic implemented in hardware, upper layer protocol (ULP) parameter values from said header portion of said at least one packet;
c. storing in software data structure, said ULP parameters values extracted from header portion of at least one packet; and
d. directly placing packet data received in a payload portion of said at least one packet;
said placement based on said stored ULP parameters values. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
- said method comprising;
-
9. A system for reducing the overhead associated with the direct placement of packet data incoming to a network adapter over a network connection;
- said system comprising;
a. hardware receiving a header portion of at least one packet incoming to said network adapter;
said hardware extracting and processing upper layer protocol (ULP) parameter values from said header portion of at least one packet;
b. software storing said ULP parameters values extracted from said header portion of at least one packet; and
c. direct data placement of packet data received in a payload portion of said at least one packet;
said placement based on said stored ULP parameters values. - View Dependent Claims (10, 11, 12)
- said system comprising;
-
13. An article of manufacture comprising a computer usable medium having computer readable program code embodied therein which implements a reduction of the overhead associated with the direct placement of packet data incoming to a network adapter over a network connection;
- said medium comprising of modules for;
a. receiving a header portion of at least one packet at said network adapter;
b. extracting and processing, via logic implemented in hardware, upper layer protocol (ULP) parameter values from said header portion of said at least one packet;
c. storing in memory accessible by software, said ULP parameters values extracted from header portion of said at least one packet; and
d. directly placing packet data received in a payload portion of said at least one packet;
said placement based on said stored ULP parameter values. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
- said medium comprising of modules for;
Specification