Offload Engine Host Interface via Segmented Data Structures

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Processing TCP/IP traffic requires significant host resources, leading to CPU cycle overload, which can be alleviated by using TCP offload engines (TOEs) but requires efficient communication and data management mechanisms between the host and the TOE.

Innovation Solution

Implementing per-processor and per-connection data structures, along with a direct memory access (DMA) mechanism, to facilitate communication and data transfer between the host and the TOE, enabling efficient offloading of TCP/IP processing and managing data buffers to reduce host overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If TCP offload engines are used to process network traffic, then host processing overhead is reduced, but communication complexity between host and TOE increases

Engineering Contradiction:
Improvehost processing overheadVSAvoidcommunication complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments communication between host and TOE into distinct channels: per-connection data structures for connection-specific data, per-processor data structures for control signals, event queues for asynchronous notifications, and request queues for command transmission. This segmentation allows each component to handle specific tasks independently, reducing overall communication complexity while maintaining high offloading efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces intermediary data structures and queues that mediate between host and TOE. The per-processor data structures act as intermediaries for control signals, event queues serve as intermediaries for asynchronous notifications, and request queues function as intermediaries for command transmission. These intermediaries simplify the interaction protocol and reduce direct communication complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If per-connection data structures are maintained in host memory, then data access speed improves, but memory consumption increases

Engineering Contradiction:
Improvedata access speedVSAvoidmemory consumption
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent applies local quality by maintaining per-connection data structures only in host memory for connections that require host intervention, while using shared memory regions and registers for common connection state information. This selective placement optimizes data access speed for active connections while minimizing overall memory consumption by avoiding redundant data structures for all connections.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements universality through shared memory regions and register files that serve multiple connections simultaneously. Common connection state information, control signals, and event notifications are stored in shared structures that can be accessed by any connection, eliminating the need for separate dedicated memory for each connection and reducing total memory requirements.

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

3Productivity

If DMA mechanism is used for data transfer, then data transfer efficiency improves, but control mechanism complexity increases

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidcontrol mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements self-service by enabling the TOE to autonomously manage data transfers using DMA. The TOE independently allocates buffers, initiates transfers, and manages ownership transitions without requiring continuous host intervention. Control signals are posted to the TOE through simplified request queues, allowing the TOE to self-manage its data transfer operations while the host maintains minimal control for coordination.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7647436B1Method and apparatus to interface an offload engine network interface with a host machine
Publication Date: 2010.01.12 ORACLE AMERICAN INC
  • US7647436B1 patent drawing
  • US7647436B1 patent drawing
  • US7647436B1 patent drawing

AI summary

A system that includes a host including at least one per-connection data structure and at least one per-processor data structure, wherein the at least one per-connection data structure is associated with a connection, and an offload engine operatively connected to the host. The engine includes offload engine connection registers and functionality to update the at least one per-connection data structures in the host, wherein the offload engine is configured to send and receive network data on the connection, wherein the host and the offload engine communicate using the at least one per-processor data structure, and wherein the offload engine communicates a status of the connection to the host using the offload engine connection registers.