Network Interface Controller Segmentation Offload

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network communication protocols face inefficiencies in segmenting large data units for transmission, leading to potential network delays and overhead, especially when using protocols like TCP or RDMA, due to the need for retransmitting entire packets in case of errors and the inability to handle long packets effectively.

Innovation Solution

A network interface controller (NIC) is configured to generate metadata for segmenting large data units into multiple packets, using a generic protocol-agnostic approach that allows for easy adaptation to various transmission communication protocols, including TCP and RDMA, by rewriting header templates to comply with specific protocol rules, thereby enabling efficient segmentation offload without requiring extensive changes to the NIC's protocol-specific processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If segmentation is carried out at the transport layer using TCP or UDP protocols, then reliable transmission and network compatibility are improved, but transmission overhead and processing complexity increase

Engineering Contradiction:
Improvetransmission reliabilityVSAvoidprocessing complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a NIC with protocol-agnostic segmentation functionality as an intermediary between the host CPU and the transport layer protocols. The NIC generates metadata describing segments and rewrites header templates to comply with specific protocol rules, mediating between the data unit and protocol-specific processing without requiring the host CPU to handle protocol details directly.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent applies segmentation by dividing a large data unit into multiple smaller segments for transmission. The NIC creates metadata describing each segment and rewrites header templates to generate protocol-compliant headers for each segment, enabling efficient segmentation offload while maintaining protocol compatibility.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If a NIC supports segmentation offload for multiple protocols, then protocol versatility is improved, but device complexity and configuration difficulty increase

Engineering Contradiction:
Improveprotocol versatilityVSAvoidconfiguration difficulty
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal NIC architecture with protocol-agnostic segmentation functionality that can handle multiple transport layer protocols (TCP, UDP, RDMA, etc.). The NIC uses a common metadata generation and header template rewriting mechanism that adapts to different protocols without requiring separate processing paths, enabling multi-protocol support while maintaining manageable complexity.

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

Solution Approach 2:

The patent changes parameters dynamically based on the target protocol. The NIC rewrites header templates by modifying header fields according to protocol-specific rules defined in data structures. This allows the same segmentation engine to produce protocol-compliant output for different protocols by changing only the header rewriting parameters, not the core segmentation logic.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If long packets are transmitted over slow network links, then transmission efficiency is improved, but network performance and throughput deteriorate due to link utilization issues

Engineering Contradiction:
Improvetransmission efficiencyVSAvoidnetwork performance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies segmentation to divide large data units into smaller segments that can be transmitted more efficiently over network links. By creating multiple smaller packets from a single large data unit, the system improves link utilization and allows better interleaving of multiple transmissions, enhancing overall network performance while maintaining high productivity through batch processing.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11146667B2Configurable segmentation offload
Publication Date: 2021.10.12 CISCO TECHNOLOGY INC
  • US11146667B2 patent drawing
  • US11146667B2 patent drawing
  • US11146667B2 patent drawing

AI summary

This disclosure describes techniques for a network interface controller (NIC) to communicate over a network according to a specified transmission communication protocol. The NIC receives, from a host processor, an indication of a data unit and an indication of a header template. The NIC generates, independent of the specified transmission communication protocol, metadata for transmitting a segment of the data unit over a network. The NIC generates, at last partly using the metadata, header fields that comply with the specified transmission communication protocol. The NIC processes the header template and the header fields to generate a packet header, and the NIC transmits, over the network, a packet including the packet header and the segment of the data unit.