IP Library Granted Patent US 7,181,544
Granted Patent B2
US 7,181,544 · App. 10/234,492 · Granted Feb 20, 2007

Network protocol engine

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 7,181,544
App. No.
10/234,492
Granted
Feb 20, 2007
Kind
B2
Abstract

Packet processing techniques that can be used, for example, by a network protocol off-load engine. For example, the techniques may be used in an engine that performs transmission control protocol (TCP) operations for received packets for a host.

Claims (46)

1. A Transmission Control Protocol (TCP) off-load system, the system comprising:

a first interface circuitry to

receive at least a portion of an Internet Protocol packet encapsulating a TCP segment; and

extract data from the at least a portion of the Internet Protocol packet including, at least, the Internet Protocol source address, the Internet Protocol destination address, the source port, and the destination port;

wherein the first interface circuitry is clocked at a first clock signal having a first frequency;

a second interface to a host processor; and

an off-load system processor to process the TCP segment for the host processor, the off-load system processor to, at least, generate a TCP acknowledgement (ACK) message for the received TCP segment and to transmit a payload of the TCP segment to the host processor via the second interface, the off-load system processor clocked at a second clock signal having a second frequency different than the first frequency wherein the second frequency is determined based on packet size.

2. The system of claim 1 , wherein the second frequency comprises a higher frequency than the first frequency.

3. The system of claim 1 , wherein the off-load system processor comprises an off-load system processor to perform at least one of the following operations: maintain a TCP state machine for different connections and determine TCP window for different connections.

4. The system of claim 1 , wherein the second interface comprises an interface to a Peripheral Component Interface (PCI) bus that connects the system to the host processor.

5. The system of claim 1 , wherein the second frequency comprises a frequency selected based on a number of instructions to be executed by the off-load system processor for a packet.

6. The system of claim 1 , wherein the second frequency is determined based on one or more packet characteristics.

7. The system of claim 1 , further comprising a content-addressable memory to store identifiers for different connections.

8. The system of claim 7 , further comprising a memory to store connection context data, the memory coupled to the content-addressable memory.

9. The system of claim 1 , wherein the first interface receives packet data received via a medium access control (MAC) device.

10. The system of claim 1 , wherein the off-load system processor comprises an arithmetic logic unit and a memory storing instructions for execution.

11. The system of claim 10 , wherein the instructions comprise instructions to process the TCP segment in accordance with the TCP protocol.

12. The system of claim 10 , wherein the instructions comprise instructions from a micro-code instruction set that includes at least one instruction to access connection data.

13. The system of claim 10 , wherein the instructions comprise instructions from a micro-code instruction set that includes at least one instruction specifying a content-addressable memory operation.

14. The system of claim 1 , wherein the first frequency comprises a frequency selected to process a network connection receiving data at a rate of ten gigabits per second.

15. The system of claim 1 , where in the processing logic further comprises at least one content-addressable memory to track received out-of-order data packets.

16. The off-load system of claim 1 , wherein the second frequency is an integral multiple of the first frequency.

17. The off-load system of claim 1 , wherein the first interface comprises an interface to perform a lookup based on the extracted data in a content-addressable memory that stores data indicating whether a Transmission Control Block (TCB) associated with the packet is stored by the off-load system.

18. A system, the system comprising:

at least one host processor;

an Ethernet medium access control (MAC) device providing a network connection at a connection speed;

a Transmission Control Protocol (TCP) off-load engine coupled to the MAC device and the at least one host processor to perform TCP operations for the at least one host processor, the network protocol off-load engine comprising:

an interface to a Peripheral Component Interconnect (PCI) bus connecting the network protocol off-load engine and the at least one host processor; circuitry to:

receive at least a portion of an Internet Protocol packet encapsulating a TCP segment from the MAC device and

extract data from the at least a portion of the Internet Protocol packet including, at least, the Internet Protocol source address, the Internet Protocol destination address, the source port, and the destination port;

wherein the circuitry is clocked by a first clock signal at a first frequency, the first frequency corresponding to the connection speed; and

an off-load engine processor to at least, generate a TCP acknowledgement (ACK) message for the received TCP segment and to transmit a payload of the TCP segment to the host processor via the interface to the PCI bus;

wherein the off-load engine processor is clocked by a second clock signal at a second frequency different than the first frequency wherein the second frequency is determined based packet size.

19. The system of claim 18 , wherein second frequency comprises a frequency based on one or more characteristics of at least one packet.

20. The system of claim 18 , wherein the system comprises:

a first set of at least one content-addressable memory to store data associated with different network connections; and

a second set of at least one content-addressable memory to track packets received out-of-order.

21. The system of claim 18 , wherein the interface to a PCI bus comprises an interface to a PCI-X bus.

22. A method of off-loading Transmission Control Protocol operations from a host processor, the method comprising:

receiving at least a portion of a an Internet Protocol packet encapsulating a TCP segment at circuitry clocked by a first clock signal having a first frequency;

extracting data at the circuitry clocked by the first clock signal from the at least a portion of the Internet Protocol packet including, at least, the Internet Protocol source address, the Internet Protocol destination address, the source port, and the destination port; and

processing the TCP segment at processing circuitry comprising an off-load processor to, at least, generate a TCP acknowledgement (ACK) message for the received TCP segment and to transmit a payload of the TCP segment to the host processor via a second interface the off-load processor being clocked by a source of a second clock signal having a second frequency different than the first frequency wherein the second frequency is determined based on packet size.

23. The method of claim 22 , wherein the processor to transmit the TCP segment payload to the host processor via a second interface comprises a processor to transmit the TCP segment payload to the host processor via a Peripheral Component Interconnect (PCI) bus.

24. The method of claim 22 , further comprising determining the second frequency.

25. The method of claim 22 , further comprising, at the circuitry clocked by a first clock signal, accessing a content-addressable memory to retrieve an identifier for a connection of the packet.

26. The method of claim 22 , further comprising accessing a content-addressable memory to track packets received out-of-order.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2022
From: INTEL CORPORATION
To: TAHOE RESEARCH, LTD.
Reel/Frame 061175/0176 →