Time-Grid Buffering for Deterministic Multi-Unit Data Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data processing systems for applications like autonomous driving and robotic systems face complexity due to high data volumes and stringent safety requirements, leading to challenges in efficient data transfer and deterministic communication between processing modules with non-coherent memory access.

Innovation Solution

A method utilizing a time grid with predetermined repetition rates for data processing tasks, buffer memories for storing output data, and synchronization functions to ensure coherent memory access and deterministic communication, allowing for copy-free data transfer between data processing units.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data processing modules operate in parallel with non-coherent memory access, then processing speed and productivity are improved, but communication complexity and data transfer overhead increase

Engineering Contradiction:
Improveprocessing speedVSAvoidcommunication complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system is segmented into multiple data processing modules (first data processing unit, second data processing unit) that can operate independently in parallel. Each module has its own non-coherent memory access capabilities, allowing simultaneous data processing without interfering with each other's memory operations, thus maintaining high productivity while managing complexity through modular architecture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A buffer memory serves as an intermediary between data processing modules with non-coherent memory access. The buffer temporarily stores data exchanged between modules, enabling efficient data transfer without requiring complex synchronization protocols. This intermediary mechanism simplifies communication while maintaining parallel processing capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If copy-free data transfer is implemented between data processing units, then data transfer efficiency is improved, but ensuring data consistency and availability becomes more difficult

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

Data is preliminarily stored in buffer memories before being transferred between data processing units. This preliminary storage ensures that data is readily available when needed by downstream processing units, enabling copy-free direct memory access while maintaining data consistency. The buffer acts as a pre-prepared data repository that eliminates the need for copying while ensuring reliability.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If buffer memories are used for storing output data, then data availability for subsequent processing is improved, but memory resource requirements increase

Engineering Contradiction:
Improvedata availabilityVSAvoidmemory resource
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The buffer memory serves multiple functions: it stores output data from first data processing units, provides input data to second data processing units, and enables copy-free data transfer between modules. This multi-functional use of the buffer maximizes data availability while optimizing memory resource utilization, as the same buffer serves multiple data exchange purposes rather than requiring dedicated storage for each function.

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

Data Source

PatentUS20240199070A1Method for operating a data processing system
Publication Date: 2024.06.20 ROBERT BOSCH GMBH
  • US20240199070A1 patent drawing
  • US20240199070A1 patent drawing
  • US20240199070A1 patent drawing

AI summary

A method for operating a data processing system for processing data. The data processing system is set up for the repeated execution of a plurality of data processing tasks. The method including: a) executing the individual data processing tasks at their relevant repetition rate in a time grid on one of the data processing units of the data processing system; b) outputting output data by the individual data processing tasks into respectively provided memory areas of the buffer memory, which are associated with the clock pulse of the grid, wherein output data generated by data processing tasks on second data processing units are transmitted after output via the data transmission interfaces into memory areas of the buffer memory on first data processing units; and c) reading in input data by the individual data processing tasks from respectively provided memory areas of the buffer memory.