Zero-Copy Packet Processing via Header-Payload Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face bandwidth issues and performance degradation due to the need to transfer and store all packets in the DPU memory, leading to memory overload and inefficient data transfer in peripheral devices.

Innovation Solution

Storing packet headers in the DPU memory while corresponding payloads remain in the host memory, using descriptors to match processed headers with payloads, allowing efficient processing and retrieval without overwhelming the DPU memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If all packets are transferred and stored in the DPU memory, then complete packet processing is enabled, but memory overload and performance degradation occur

Engineering Contradiction:
Improvepacket processing capabilityVSAvoidmemory load
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The packet is divided into two segments: headers are transferred to and stored in DPU memory, while payloads remain in host memory. This segmentation allows the DPU to process headers without loading entire packets, reducing memory load while maintaining processing capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The payload portion of each packet is extracted from the DPU memory transfer and kept in host memory. Only the essential header information is extracted and transferred to the DPU, reducing the quantity of data stored in DPU memory while enabling complete packet processing through descriptor-based retrieval.

Inventive Principle:
Principle #2Taking out (Extraction)

2Device complexity

If all packets are transferred to DPU memory, then processing is simplified, but data transfer efficiency decreases

Engineering Contradiction:
Improveprocessing complexityVSAvoiddata transfer efficiency
Core Design Contradiction:
Device complexityVSLoss of energy

Solution Approach 1:

By segmenting packets into headers and payloads, the system transfers only headers to the DPU, reducing data transfer volume and improving efficiency. The descriptors enable efficient retrieval of payloads from host memory without requiring full packet transfers.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Descriptors act as intermediaries between the DPU and host memory, enabling the DPU to efficiently retrieve payloads without direct access to host memory. This intermediary mechanism maintains processing simplicity while optimizing data transfer efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If complete packets are stored in DPU memory, then packet processing is complete, but memory bandwidth is consumed

Engineering Contradiction:
Improvepacket processing completenessVSAvoidmemory bandwidth usage
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The packet processing is segmented into two phases: header processing in DPU memory and payload retrieval from host memory using descriptors. This ensures complete packet processing while minimizing memory bandwidth consumption by avoiding transfer of payload data to the DPU.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The payload extraction and retention in host memory eliminates unnecessary data movement, ensuring complete packet processing is maintained through descriptor-based access while significantly reducing memory bandwidth usage compared to transferring complete packets.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentEP4716182A2Zero-copy processing
Publication Date: 2026.03.25 MELLANOX TECHNOLOGIES LTD(IL)
  • EP4716182A2 patent drawingFigure 1
  • EP4716182A2 patent drawingFigure 2
  • EP4716182A2 patent drawingFigure 3

AI summary

In one embodiment, a system includes a peripheral device including a memory access interface to receive from a host device headers of packets, while corresponding payloads of the packets are stored in a host memory of the host device, and descriptors being indicative of respective locations in the host memory at which the corresponding payloads are stored, a data processing unit memory to store the received headers and the descriptors without the payloads of the packets, and a data processing unit to process the received headers, wherein the peripheral device is configured, upon completion of the processing of the received headers by the data processing unit, to fetch the payloads of the packets over the memory access interface from the respective locations in the host memory responsively to respective ones of the descriptors, and packet processing circuitry to receive the headers and payloads of the packets, and process the packets.