Embedded Low-Level OS Memory Isolation for Fast App Switching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing embedded electronic systems face challenges in managing multiple applications independently and optimizing memory usage, particularly in terms of data security and efficient allocation of volatile and non-volatile memory resources.

Innovation Solution

An embedded electronic system with a low-level operating system that manages volatile memory allocation for multiple high-level operating systems, ensuring data isolation and efficient use by reserving portions for different applications, transferring data between volatile and non-volatile memory as needed, and allowing high-level systems to access a virtual image of the memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If high-level operating systems directly manage physical memories, then memory management flexibility is improved, but application switching speed deteriorates and memory allocation efficiency worsens

Engineering Contradiction:
Improvememory management flexibilityVSAvoidapplication switching speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

A low-level operating system is introduced as an intermediary between high-level operating systems and physical memory. The low-level OS manages the actual memory allocation and virtualization, while high-level OSs interact with virtual memory interfaces. This mediator enables fast application switching by pre-managing memory pages and allowing seamless transitions without direct high-level OS intervention in physical memory management.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Memory management is segmented into two layers: virtual memory management handled by high-level operating systems for flexibility, and physical memory management handled by the low-level operating system for efficiency. This segmentation allows each layer to operate independently with optimized strategies - virtual memory can be freely allocated while physical memory uses efficient page-based management for rapid switching.

Inventive Principle:
Principle #1Segmentation

2Speed

If volatile memory is fully allocated to active applications, then execution speed is improved, but memory availability for other applications deteriorates

Engineering Contradiction:
Improveexecution speedVSAvoidmemory availability
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The memory allocation system dynamically adjusts volatile memory distribution based on application state. Active applications receive full volatile memory allocation for maximum execution speed, while standby applications maintain minimal allocations. The low-level OS continuously monitors and reallocates memory pages between active and standby applications, ensuring both speed for running apps and availability for switching to other apps when needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Memory pages for standby applications are pre-loaded and kept in a ready state with minimal volatile memory allocation. When an application needs to switch to standby mode, its memory is already prepared and can be quickly activated without full allocation, thus maintaining execution speed for active apps while preserving memory availability for future switches.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If data is transferred between volatile and non-volatile memory during application switching, then memory optimization is improved, but switching time increases

Engineering Contradiction:
Improvememory usage optimizationVSAvoidapplication switching time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

Instead of transferring all application data between volatile and non-volatile memory during switching, only essential memory pages are transferred or retained. The low-level OS identifies and keeps only critical pages in volatile memory for standby applications, while less critical data remains in non-volatile memory. This partial action approach optimizes memory usage while minimizing switching time by avoiding complete data transfers.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

Different quality levels of memory retention are applied to different data segments. Critical application data maintains high-quality volatile memory presence for fast access, while non-critical data uses lower-quality non-volatile storage. This local quality differentiation allows optimization of memory usage for each data type while maintaining acceptable switching performance by keeping only essential data in fast memory.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20250335577A1Embedded electronic system with low-level operating system
Publication Date: 2025.10.30 STMICROELECTRONICS SRL
  • US20250335577A1 patent drawing
  • US20250335577A1 patent drawing
  • US20250335577A1 patent drawing

AI summary

An embedded electronic system includes a volatile memory and a processor configured to execute a low-level operating system that manages allocation of areas of the volatile memory to a plurality of high-level operating systems. Each high-level operating system executes one or more applications. The system is configured so that execution data of one or a plurality of tasks of a first application are partly transferred, by the low-level operating system, from the volatile memory to a non-volatile memory when the execution of the task of the first application is interrupted by the execution of a task of a second application. The system is also configured so that the applications of any one of the high-level operating systems do not have access to the areas of the volatile memory allocated to the applications of all the other high-level operating systems.