TCP Segmentation Offload Coprocessor for Server on Chip

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for TCP segmentation either burden system processors with high overhead or require expensive hardware like network interface cards (NICs), leading to inefficient data transmission and CPU utilization.

Innovation Solution

A server on a chip architecture that uses a coprocessor to segment large TCP segments into smaller packets based on maximum transmission unit size, reducing the number of packets processed by system CPUs and eliminating the need for NICs by performing segmentation 'in-house' on the chip.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If segmentation is performed completely in software using system CPU, then the system can communicate over network, but the system processors cannot perform other tasks during segmentation leading to low productivity

Engineering Contradiction:
Improvenetwork communication capabilityVSAvoidsystem processor utilization
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent introduces a network processor as an intermediary component between the system CPU and network interface. The network processor handles TCP segmentation operations, acting as a mediator that offloads this specific function from the system CPU. This allows the system CPU to maintain network communication capability while freeing itself to perform other tasks, thus resolving the contradiction between ease of operation and productivity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If hardware devices like NICs are used to perform segmentation, then segmentation efficiency is improved, but physical space is consumed and cost increases

Engineering Contradiction:
Improvesegmentation efficiencyVSAvoidphysical hardware requirements
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The network processor is designed as a multi-functional component that can perform TCP segmentation while also handling other network processing tasks. Rather than requiring a dedicated NIC for each function, the network processor provides universal network processing capabilities, including segmentation, packet routing, and protocol handling. This reduces physical hardware requirements while maintaining segmentation efficiency.

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

Solution Approach 2:

The patent merges the segmentation function with the network processing unit, combining what would traditionally be separate hardware components (NIC and segmentation logic) into a single integrated network processor. This consolidation eliminates the need for separate NIC hardware while maintaining the efficiency benefits of hardware-based segmentation, thus reducing device complexity while preserving productivity.

Inventive Principle:
Principle #5Merging (Combining)

3Ease of operation

If system CPU performs segmentation using TCP/IP stack, then data can be transmitted, but the number of packets processed increases leading to high overhead

Engineering Contradiction:
Improvedata transmission capabilityVSAvoidprocessing overhead
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The network processor serves as an intermediary that handles the time-consuming segmentation operations, preventing the system CPU from being bogged down by high packet processing overhead. By offloading segmentation to the network processor, the system maintains data transmission capability while significantly reducing the time loss associated with CPU processing overhead.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10972390B2TCP segmentation offload in a server on a chip
Publication Date: 2021.04.06 AMPERE COMPUTING LLC
  • US10972390B2 patent drawing
  • US10972390B2 patent drawing
  • US10972390B2 patent drawing

AI summary

A system and method are provided for performing transmission control protocol segmentation on a server on a chip using coprocessors on the server chip. A system processor manages the TCP/IP stack and prepares a large (64 KB) single chunk of data to be sent out via a network interface on the server on a chip. The system software processes this and calls the interface device driver to send the packet out. The device driver, instead of sending the packet out directly on the interface, calls a coprocessor interface and delivers some metadata about the chunk of data to the interface. The coprocessor segments the chunk of data into a maximum transmission unit size associated with the network interface and increments a sequential number field in the header information of each packet before sending the segments to the network interface.