TCP Segmentation Offload Engine Using Hybrid Pointer and Data Manipulation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing bandwidth and limited processing resources in host processors pose a challenge for efficient TCP/IP data packet segmentation, as current methods rely heavily on host processor resources, leading to processing bottlenecks.

Innovation Solution

A hardware-based TCP segmentation offload engine that breaks large TCP/IP data packets into smaller segments using a hybrid approach of manipulating memory pointers and actual packet data, offloading the segmentation task from the host processor.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If segmentation is performed by the host processor, then processing flexibility and adaptability are maintained, but processing resources are consumed and bottlenecks occur

Engineering Contradiction:
Improveprocessing throughputVSAvoidhost processor resource consumption
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the segmentation function from the host processor and implements it in a dedicated network device. The host processor generates descriptors containing segmentation parameters, while the network device performs the actual segmentation operation, separating the segmentation task from general-purpose processing resources.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces descriptors as an intermediary data structure that carries segmentation parameters from the host processor to the network device. These descriptors enable the host processor to communicate segmentation requirements without directly performing the segmentation operation, facilitating resource-efficient offloading.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If a hardware-based TSO engine is used, then processing resources are improved and throughput increases, but device complexity and implementation cost increase

Engineering Contradiction:
Improvesegmentation processing speedVSAvoidhardware engine complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the segmentation process into distinct operational phases: descriptor generation by the host processor, descriptor transmission to the network device, pseudo-descriptor generation, memory access based on pseudo-descriptors, and TCP segment construction. This segmentation enables modular hardware implementation and efficient resource utilization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transforms segmentation parameters from the original descriptor format into pseudo-descriptors that are optimized for hardware processing. This parameter transformation enables the hardware-based TSO engine to efficiently access memory and construct segments without requiring complex real-time calculations.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8990422B1TCP segmentation offload (TSO) using a hybrid approach of manipulating memory pointers and actual packet data
Publication Date: 2015.03.24 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US8990422B1 patent drawing
  • US8990422B1 patent drawing
  • US8990422B1 patent drawing

AI summary

Systems, apparatusses, and methods are disclosed for transmission control protocol (TCP) segmentation offload (TSO). A hardware TSO engine is capable of handling segmentation of data packets and consequent header field mutation of hundreds of flows simultaneously. The TSO engine generates data pointers in order to “cut up” the payload data of a data packet, thereby creating multiple TCP segments. Once the data of the data packet has been fetched, the TSO engine “packs” the potentially-scattered chunks of data into TCP segments, and recalculates each TCP segment's internet protocol (IP) length, IP identification (ID), IP checksum, TCP sequence number, and TCP checksum, as well as modifies the TCP flags. The TSO engine is able to rapidly switch contexts, and share the control logic amongst all flows.