NIC Data Reformat Offload for CPU and Bandwidth Bottlenecks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data reformat operations in networking devices, particularly at CPUs, are inefficient due to resource constraints and high memory bandwidth consumption, leading to bottlenecks and CPU surges, especially when dealing with large data structures or small data elements.

Innovation Solution

Offloading data reformat operations to network devices such as NICs, which include a data reformat unit that performs the operation using dedicated circuitry, allowing for efficient data reformatting with a single read and write, and enabling scalability by performing transformations like endianity conversion without requiring changes at the application level.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data reformat operation is performed at CPU, then data reformatting can be accomplished, but CPU resources are occupied and cannot perform other tasks

Engineering Contradiction:
Improvedata reformat operation completionVSAvoidCPU resource availability
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent extracts the data reformat operation from the CPU by implementing a dedicated reformat engine within the network device. This separation allows the CPU to focus on higher-level tasks while the reformat engine handles data transformation, resolving the resource occupation conflict.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The network device acts as an intermediary between the data source and destination, performing data reformatting operations during data transmission. This mediator approach eliminates the need for CPU involvement in reformatting while maintaining data flow efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If data reformat operation is performed at CPU, then data layout can be changed, but memory bandwidth is consumed for reading and writing data

Engineering Contradiction:
Improvedata layout transformationVSAvoidmemory bandwidth consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent merges the data reformat operation with the existing data transmission path in the network device. By combining these operations, data is reformatted during transmission without requiring separate read/write cycles to memory, thus reducing memory bandwidth consumption.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The reformat engine performs data layout transformation in advance during the data transmission process, before the data reaches its final destination. This preliminary action eliminates the need for subsequent memory access operations that would consume additional bandwidth.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If existing NIC maps memory region to arbitrary physical locations, then flexibility is achieved, but complex element location description is required and multiple PCIe reads are needed

Engineering Contradiction:
Improvememory mapping flexibilityVSAvoidelement location description complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent replaces the software-based memory mapping approach with a hardware-based reformat engine that directly accesses contiguous memory regions. This substitution eliminates the need for complex location descriptions and multiple PCIe reads by performing reformatting at the hardware level with simple linear addressing.

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

Data Source

PatentUS20230409327A1Data reformat operation
Publication Date: 2023.12.21 MELLANOX TECHNOLOGIES LTD(IL)
  • US20230409327A1 patent drawing
  • US20230409327A1 patent drawing
  • US20230409327A1 patent drawing

AI summary

Devices, methods, and systems are provided. In one example, a device is described to include circuitry that collects data received from a data source, references a descriptor that describes a data reformat operation to perform on the data received from the data source, reformats the data received from the data source according to the data reformat operation, and provides the reformatted data to the data target via the second device interface.