TOE NIC Direct Data Placement to User Buffer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computer systems face significant network processing overhead due to CPU occupation by network message processing, leading to reduced availability for other data processing tasks, as high data transfer rates overwhelm the host CPU and require extensive processing in the kernel layer, particularly in the TCP/IP stack, resulting in inefficient system performance.

Innovation Solution

Implementing direct data placement of network message data from a network interface card (NIC) to a user buffer, utilizing a TCP Offload Engine (TOE) capable NIC and a ULP handler to process and strip headers, allowing direct writing of message data to a designated memory location in the user buffer without intermediate copying through the kernel buffer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If high data transfer rates are implemented through modern NICs, then network throughput is improved, but CPU processing capacity is overwhelmed

Engineering Contradiction:
Improvenetwork throughputVSAvoidCPU processing capacity
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent extracts the TCP/IP protocol processing function from the CPU kernel and relocates it to a dedicated TOE device. The TOE handles TCP segmentation, reassembly, and protocol header processing independently, removing this computationally intensive workload from the CPU. This allows the CPU to focus on application processing while the TOE manages network protocol operations, resolving the contradiction between high network throughput and CPU processing capacity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces an intermediary mechanism (the TOE device with its own processing engine) between the NIC and the CPU kernel. This intermediary handles the complex TCP/IP processing tasks that would otherwise burden the CPU, acting as a buffer that enables high-speed network data transfer without overwhelming the central processing unit.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If conventional kernel layer processing is used for network messages, then protocol decoding is achieved, but network processing overhead increases

Engineering Contradiction:
Improveprotocol decoding capabilityVSAvoidnetwork processing overhead
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent replaces the software-based kernel layer protocol processing with a hardware-based TOE engine. The TOE device performs TCP/IP protocol decoding, header stripping, and data reassembly using dedicated hardware circuits and processing logic, significantly faster than software execution. This substitution eliminates the time-consuming kernel processing overhead while maintaining full protocol decoding capability.

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

3Productivity

If direct data placement is implemented from NIC to user buffer, then CPU availability is improved, but system complexity increases

Engineering Contradiction:
ImproveCPU availabilityVSAvoiddata placement mechanism
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The TOE device serves as an intelligent intermediary that manages the direct data placement from NIC to user buffer. It handles the complexity of determining the correct destination buffer, performing the actual data transfer, and managing memory operations autonomously. This relieves the CPU from involvement in data copying operations while the TOE's internal complexity handles the placement logic, resolving the contradiction between CPU availability and system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7523179B1System and method for conducting direct data placement (DDP) using a TOE (TCP offload engine) capable network interface card
Publication Date: 2009.04.21 ORACLE AMERICAN INC
  • US7523179B1 patent drawing
  • US7523179B1 patent drawing
  • US7523179B1 patent drawing

AI summary

Techniques, systems, and apparatus for conducting direct data placement of network message data to a final destination in a user buffer are disclosed. Generally, the invention is configured to conduct direct data copying from a NIC memory to a final destination user buffer location without any intermediate copying to a kernel buffer. The invention includes a method that involves receiving network delivered messages by a NIC of a local computer. The message is stored in the memory of the NIC. The headers are stripped from the message and processed. A ULP handler of the local computer is invoked to process the ULP header of the network message. Using information obtained from the processed ULP header, suitable memory locations in a user buffer are identified and designated for saving associated message data. The message data is then directly placed from the NIC memory to the designated memory location in the user buffer without intermediate copy steps like DMA.