Embedded System Non-Volatile Memory Application Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing embedded electronic systems face challenges in efficiently managing multiple applications and storing their data in memory, leading to potential reliability issues and inefficiencies.

Innovation Solution

The proposed solution involves an embedded system with a non-volatile memory area that stores first instructions distinct from the operating system, which execute to store applications in non-volatile memory at startup. These instructions can include personalization and configuration settings, allowing applications to generate addresses for data storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple applications are stored in the same memory area without dedicated management instructions, then memory usage is simple, but data storage efficiency and reliability deteriorate due to potential conflicts and lack of organization

Engineering Contradiction:
Improvesystem reliabilityVSAvoidmemory management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The first instructions are executed at system startup to pre-allocate and organize memory areas for multiple applications before they run. This preliminary action ensures that each application has its designated storage space, preventing conflicts and improving reliability without requiring complex runtime management mechanisms

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The memory is divided into separate areas for different applications through the execution of first instructions. Each application receives its own dedicated memory segment, which isolates them from each other and prevents data conflicts, thereby improving system reliability while maintaining manageable complexity through structured organization

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If applications generate their own storage addresses dynamically, then memory flexibility improves, but the risk of address conflicts and storage errors increases

Engineering Contradiction:
Improvememory allocation flexibilityVSAvoiddata storage reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The first instructions act as an intermediary layer between the applications and the memory system. They receive memory allocation requests from applications, manage address generation centrally, and assign unique addresses to each application. This intermediary approach maintains flexibility for applications to request memory dynamically while ensuring reliability through centralized address management that prevents conflicts

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If all application data is stored in volatile memory without persistent storage, then system speed improves, but data loss occurs upon system restart

Engineering Contradiction:
Improvedata access speedVSAvoiddata persistence
Core Design Contradiction:
SpeedVSLoss of information

Solution Approach 1:

Critical data and configuration information are extracted from volatile memory and stored in non-volatile memory through the first instructions executed at startup. This separation allows frequently accessed data to remain in fast volatile memory while essential information is persisted in non-volatile storage, maintaining system speed for operational data while preventing loss of critical information across restarts

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS12217057B2Embedded system
Publication Date: 2025.02.04 STMICROELECTRONICS BELGIUM
  • US12217057B2 patent drawing
  • US12217057B2 patent drawing
  • US12217057B2 patent drawing

AI summary

Embedded systems and methods of reading or writing data or instructions of at least one application in a non-volatile memory are disclosed. A method includes reading or writing data or instructions of at least one application in a non-volatile memory of an embedded system. The data or instructions transit through a memory area and are interpreted by a distinct program of an operating system of the embedded system.