Static Output-Data Memory Allocation for Microcontroller Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing dynamic storage management methods are too complex for microcontrollers, leading to increased run times due to memory allocation latencies, while static allocation methods inefficiently utilize memory resources.

Innovation Solution

A method for static allocation and assignment of information to memory areas, involving a one-time analysis to assign output data from multiple functions to fixed memory areas, allowing simultaneous processing and reducing memory requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If dynamic storage management is used, then memory allocation efficiency is improved, but system complexity increases making it unsuitable for microcontrollers

Engineering Contradiction:
Improvememory allocation efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The memory is divided into multiple fixed segments (stacks) during compilation, each assigned to specific functions or data types. This segmentation allows the system to achieve efficient memory management without complex runtime allocation algorithms, as the division is predetermined and static.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Memory allocation is performed in advance during the compilation phase rather than at runtime. The compiler analyzes the program and assigns memory segments beforehand, eliminating the need for complex runtime memory management algorithms and reducing system complexity while maintaining efficiency.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If static memory allocation is used, then system complexity is reduced, but memory utilization efficiency deteriorates due to inability to relocate data

Engineering Contradiction:
Improvesystem complexityVSAvoidmemory utilization efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

While maintaining static allocation structure for simplicity, the system introduces dynamic-like behavior through segmented stacks that can be independently managed. Each segment acts as a separate stack with its own allocation and deallocation, allowing flexible memory usage within the static framework without requiring full dynamic allocation complexity.

Inventive Principle:
Principle #15Dynamics

3Productivity

If data is relocated to optimize memory usage, then memory utilization improves, but execution time increases due to relocation latencies

Engineering Contradiction:
Improvememory utilizationVSAvoidexecution time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

All memory placement decisions are made during compilation rather than at runtime. Data is assigned to specific memory segments in advance, eliminating relocation operations during execution. This preliminary action ensures both optimal memory utilization and minimal execution time by avoiding runtime data movement.

Inventive Principle:
Principle #10Preliminary action

4Speed

If more data is kept in working memory, then processing speed improves, but memory requirements increase

Engineering Contradiction:
Improveprocessing speedVSAvoidmemory requirements
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The working memory is segmented into multiple independent stacks, each optimized for specific data types or functions. This segmentation allows the system to keep frequently accessed data in appropriate memory segments while maintaining overall memory efficiency, achieving fast processing without excessive memory requirements.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20250258768A1Method for static allocation and assignment of information to memory areas, information technology system and vehicle
Publication Date: 2025.08.14 MERCEDES BENZ GROUP AG
  • US20250258768A1 patent drawing
  • US20250258768A1 patent drawing

AI summary

A method for static allocation of information to memory areas of a processor-external memory of an information technology system is provided. A one-time analysis process of the information technology system checks which output data of the functions are processed simultaneously by the processor during an execution iteration and assigns the output data to fixed memory areas, During an execution iteration, the information technology system in the standard operation writes a first item of output data into the fixed memory areas assigned to it and leaves same in the fixed memory area at least until the function requiring the first item of output data has been processed by the processor and writes a second item of output data into the same fixed memory area to replace the first item of output data, before the function which requires the second item of output data is processed by the processor.