Hardware Multi-threaded TCP Offload Engine Architecture

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software-based TCP processing is inefficient for high-bandwidth networks, leading to CPU overload and inability to handle increasing Ethernet bandwidth due to redundant data copies, memory access latency, and inefficient instruction execution.

Innovation Solution

A hardware-based multi-threaded TCP offload engine (TOE) architecture that minimizes data copies, optimizes memory access, and executes instructions efficiently by using a dedicated processing engine with a scheduler, cache, and DMA controller to handle TCP input and output processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If software-based TCP processing is used, then implementation flexibility is maintained, but processing speed and throughput deteriorate at high bandwidths

Engineering Contradiction:
ImproveTCP processing throughputVSAvoidCPU processing burden
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent replaces software-based TCP processing with a hardware-based TCP offload engine that implements TCP processing functions in dedicated hardware circuitry. This substitution of mechanical/software processing with hardware processing enables wire-speed TCP processing at 10 Gbps and beyond, eliminating the CPU burden while maintaining processing flexibility through configurable hardware logic.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent extracts TCP processing functions from the general-purpose CPU and implements them in a dedicated TCP offload engine. This extraction separates the heavy TCP processing workload from the CPU, allowing the CPU to focus on other tasks while the offload engine handles TCP packet processing independently at line rate.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If dedicated CPU processing is allocated for TCP, then processing reliability is improved, but system resource utilization deteriorates

Engineering Contradiction:
ImproveTCP processing guaranteeVSAvoidOverall system throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts TCP processing functions from the general-purpose CPU and implements them in a dedicated TCP offload engine. This extraction separates the heavy TCP processing workload from the CPU, allowing the CPU to focus on other tasks while the offload engine handles TCP packet processing independently at line rate.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The TCP offload engine provides dedicated TCP processing capabilities while freeing the CPU to perform multiple other functions. The offload engine can handle various TCP operations including packet processing, acknowledgment generation, and flow control, enabling the system to maintain reliable TCP processing while improving overall system resource utilization and throughput.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If more CPU processing power is increased, then TCP processing capability is improved, but cost and power consumption deteriorate

Engineering Contradiction:
ImproveTCP processing capacityVSAvoidCPU power consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent replaces software-based TCP processing with a hardware-based TCP offload engine that implements TCP processing functions in dedicated hardware circuitry. This substitution of mechanical/software processing with hardware processing enables wire-speed TCP processing at 10 Gbps and beyond, eliminating the CPU burden while maintaining processing flexibility through configurable hardware logic.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The TCP offload engine is a self-contained hardware device that independently performs TCP processing without requiring CPU intervention. It autonomously handles packet processing, maintains connection state, and generates acknowledgments, thereby eliminating the need for high-power CPU processing and reducing overall system power consumption.

Inventive Principle:
Principle #25Self-service

4Speed

If general-purpose processors are used, then system versatility is maintained, but processing speed deteriorates at increasing bandwidths

Engineering Contradiction:
ImprovePacket processing speedVSAvoidProcessor flexibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent replaces software-based TCP processing with a hardware-based TCP offload engine that implements TCP processing functions in dedicated hardware circuitry. This substitution of mechanical/software processing with hardware processing enables wire-speed TCP processing at 10 Gbps and beyond, eliminating the CPU burden while maintaining processing flexibility through configurable hardware logic.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS7668165B2Hardware-based multi-threading for packet processing
Publication Date: 2010.02.23 TAHOE RES LTD
  • US7668165B2 patent drawing
  • US7668165B2 patent drawing
  • US7668165B2 patent drawing

AI summary

Methods and apparatus for processing transmission control protocol (TCP) packets using hardware-based multi-threading techniques. Inbound and outbound TCP packet are processed using a multi-threaded TCP offload engine (TOE). The TOE includes an execution core comprising a processing engine, a scheduler, an on-chip cache, a host memory interface, a host interface, and a network interface controller (NIC) interface. In one embodiment, the TOE is embodied as a memory controller hub (MCH) component of a platform chipset. The TOE may further include an integrated direct memory access (DMA) controller, or the DMA controller may be embodied as separate circuitry on the MCH. In one embodiment, inbound packets are queued in an input buffer, the headers are provided to the scheduler, and the scheduler arbitrates thread execution on the processing engine. Concurrently, DMA payload data transfers are queued and asynchronously performed in a manner that hides memory latencies. In one embodiment, the technique can process typical-size TCP packets at 10 Gbps or greater line speeds.