Ethernet Controller Direct Data Streaming via Descriptors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High bandwidth streaming in Ethernet systems consumes significant CPU resources due to data copying, limiting the use of smaller and cheaper CPU cores and increasing power consumption, as well as requiring higher throughput on interconnects and memory.

Innovation Solution

The implementation of an optimized driver software architecture and hardware architecture that allows the Ethernet controller to directly stream data from the source/sink, reducing the CPU's involvement in data copying by using descriptors to initiate read/write transactions, enabling the Ethernet MAC to fetch data autonomously without CPU intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is copied by the CPU during high bandwidth streaming, then data can be transferred between kernel and user space with memory protection, but CPU resources are significantly consumed and power consumption increases

Engineering Contradiction:
Improvememory protectionVSAvoidCPU resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts the data copying function from the CPU to dedicated hardware components (DMA controller and memory management unit). The DMA controller handles payload buffer management and data transfer, while the MMU handles address translation and memory protection, allowing the CPU to focus on higher-level tasks without being burdened by high-bandwidth data copying operations

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces intermediary hardware components (DMA controller and MMU) that mediate between the CPU, memory, and I/O devices. These intermediaries handle the complex tasks of data copying, address translation, and memory protection, enabling efficient high-bandwidth streaming without overloading the CPU

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If data is copied multiple times through system RAM, then data can be accessed by different components, but throughput requirements on interconnects and memory increase

Engineering Contradiction:
Improvedata accessibilityVSAvoidinterconnect throughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the data transfer path into separate dedicated channels: payload data flows through the AXI interconnect to the streaming peripheral, while descriptor data flows through a separate path to the Ethernet controller. This segmentation eliminates the need for multiple copies of the same data to traverse the same interconnect, reducing throughput requirements while maintaining accessibility

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the data access model from sequential copying through system RAM to direct parallel access from source and sink buffers. The Ethernet controller can directly read payload data from the streaming peripheral's buffer without it first being copied to system RAM, adding a direct access dimension to the data flow architecture

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Ease of manufacture

If the CPU copies data to system RAM buffers, then data can be prepared for Ethernet transmission, but the system requires higher performance and more expensive CPU cores

Engineering Contradiction:
ImproveCPU costVSAvoidstreaming bandwidth
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent implements self-service architecture where the Ethernet controller and streaming peripheral autonomously manage their own data buffers and descriptors without CPU intervention. The DMA controller automatically transfers data between buffers, and the MMU automatically translates addresses, allowing the system to achieve high streaming bandwidth with a smaller, less expensive CPU core

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP2736220B1Method and apparatus for network streaming
Publication Date: 2019.10.23 NXP USA INC
  • EP2736220B1 patent drawingFigure 1
  • EP2736220B1 patent drawingFigure 2
  • EP2736220B1 patent drawingFigure 3

AI summary

A method of data streaming in a streaming system (200) that comprises a processor (202) and a controller (204) operably coupled to a streaming peripheral (214) via a shared interconnect (206) is described. The method comprises at the controller, receiving at least one descriptor that points to at least one header data element in memory and at least one payload buffer element in the streaming peripheral (214); reading the at least one descriptor (211) by the controller (204); fetching by the controller the at least one header data element from memory and the at least one payload element from the payload buffer (212) in the streaming peripheral (214) referred to by the descriptor (211).