Microcontroller Flash Memory Error Handling via Context Backup

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Microcontrollers face issues with uncorrectable errors in Flash memory, leading to loop-wise restarting and system instability, particularly in automotive vehicles, where uncorrectable errors in Flash memory result in engine control malfunction and non-restartability without technical intervention.

Innovation Solution

A method that systematically activates and deactivates a specific error detection and handling strategy during Flash memory reads, backing up the microcontroller's low-level context before reading and restoring it if an exception occurs, thereby avoiding unnecessary restarts and identifying corrupted memory areas.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the microcontroller raises an exception when reading an uncorrectable error in Flash memory, then the error is detected, but the microcontroller restarts and loses low-level context parameters

Engineering Contradiction:
Improveerror detection capabilityVSAvoidlow-level context parameters
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent applies preliminary action by backing up the low-level context parameters (register states, stack pointer, address registers) to a data structure in RAM before attempting to read from Flash memory. This preparation ensures that if an uncorrectable error occurs and causes a restart, the context information is preserved and can be restored, preventing loss of critical system state information.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If the microcontroller implements a reading interface to read data in Flash memory, then data access is enabled, but uncorrectable errors cause loop-wise restarting

Engineering Contradiction:
Improvedata access capabilityVSAvoidsystem stability
Core Design Contradiction:
Ease of operationVSStability of the object's composition

Solution Approach 1:

The patent implements beforehand cushioning by creating a protective mechanism that backs up the low-level context before Flash memory operations. This cushioning prepares the system in advance to handle uncorrectable errors gracefully, preventing the harmful effect of loop-wise restarting by ensuring context preservation and enabling stable recovery without system instability.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Reliability

If the exception handler restarts the microcontroller when an uncorrectable error occurs, then the error is handled according to prior art, but the corrupted memory area cannot be identified and the system becomes non-restartable

Engineering Contradiction:
Improveerror handling procedureVSAvoidcorrupted memory area identification
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent applies feedback by having the exception handler check the backup data structure to determine whether the read operation that caused the exception targeted a corrupted area of Flash memory. This feedback mechanism enables identification of the specific corrupted memory location, providing valuable diagnostic information and allowing the system to distinguish between recoverable and non-recoverable errors, thereby improving both error handling and detection capability.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10628269B2Method for detecting an uncorrectable error in a non-volatile memory of a microcontroller
Publication Date: 2020.04.21 SCHAEFFLER TECHNOLOGIES AG & CO KG
  • US10628269B2 patent drawing

AI summary

A method for detecting and managing an uncorrectable error in a non-volatile memory of a microcontroller, the microcontroller having a read interface, an exception manager, and a set of internal registers and execution parameters that form a low-level context of the microcontroller. The method provides for backing up the low-level context of the microcontroller, as well as restoring the context in the event that an exception is raised during an attempt to read data from the non-volatile memory, provided that a specific strategy for detecting and managing an uncorrectable error is activated.