Network interface device that can offload data transfer processing for a TCP connection from a host CPU
First Claim
1. A network interface device for a host computer, the network interface device comprising:
- an application specific integrated circuit (ASIC) to process a Transmission Control Protocol (TCP) connection, including hardware to update a plurality of variables having values that represent a state of the TCP connection for the host, the TCP connection being at least in part identified by an Internet Protocol (IP) address and TCP port of the host and an IP address and TCP port of a remote host; and
a mechanism to transfer the state of the TCP connection from the network interface device to the host computer, the mechanism including a data structure representing the state.
3 Assignments
0 Petitions
Accused Products
Abstract
An intelligent network interface card (INIC) or communication processing device (CPD) works with a host computer for data communication. The device provides a fast-path that avoids protocol processing for most messages, greatly accelerating data transfer and offloading time-intensive processing tasks from the host CPU. The host retains a fallback processing capability for messages that do not fit fast-path criteria, with the device providing assistance such as validation even for slow-path messages, and messages being selected for either fast-path or slow-path processing. A context for a connection is defined that allows the device to move data, free of headers, directly to or from a destination or source in the host. The context can be passed back to the host for message processing by the host. The device contains specialized hardware circuits that are much faster at their specific tasks than a general purpose CPU. A preferred embodiment includes a trio of pipelined processors devoted to transmit, receive and utility processing, providing full duplex communication for four Fast Ethernet nodes.
-
Citations
24 Claims
-
1. A network interface device for a host computer, the network interface device comprising:
-
an application specific integrated circuit (ASIC) to process a Transmission Control Protocol (TCP) connection, including hardware to update a plurality of variables having values that represent a state of the TCP connection for the host, the TCP connection being at least in part identified by an Internet Protocol (IP) address and TCP port of the host and an IP address and TCP port of a remote host; and a mechanism to transfer the state of the TCP connection from the network interface device to the host computer, the mechanism including a data structure representing the state. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A network interface device for a host computer, the network interface device comprising:
-
a microprocessor running instructions to maintain a Transmission Control Protocol (TCP) connection including a plurality of variables having values that represent a state of the TCP connection for the host, the TCP connection being at least in part identified by an Internet Protocol (IP) address and TCP port of the host and an IP address and TCP port of a remote host; and a mechanism controlled by the microprocessor to transfer the state of the TCP connection from the network interface device to the host computer. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A network interface device for a host computer, the network interface device comprising:
-
a microprocessor; and a computer-readable medium storing code that is executable on the microprocessor to maintain a Transmission Control Protocol (TCP) connection including a plurality of variables having values that represent a state of the TCP connection for the host, the TCP connection being at least in part identified by an Internet Protocol (IP) address and TCP port of the host and an IP address and TCP port of a remote host, the code including at least one instruction to transfer a data structure including the state of the TCP connection from the network interface device to the host computer. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
Specification