MCU Memory Remapping for OTA Update Reliability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing Over-The-Air (OTA) update process for Micro Control Units (MCUs) is complicated by the need for signature-based version control and requires two writing processes of the application code, increasing startup time and risking data leakage or tampering.
Innovation Solution
An electronic processing device and memory control method that updates application code without signature-based version control, eliminating the need for loader code and reducing the number of writing processes by remapping the base address from a first memory block to a second memory block upon successful writing, allowing a single reboot to execute the updated code.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If signature-based version control and two writing processes are used for OTA updates, then the reliability of code updates is improved, but the device complexity and startup time increase
Solution Approach 1:
The patent extracts and eliminates the signature verification step from the traditional OTA update process. By removing the signature-based version control mechanism, the system simplifies the update workflow while maintaining reliability through alternative means (direct writing to execution memory followed by reboot). This directly addresses the contradiction by reducing complexity without sacrificing update integrity.
Solution Approach 2:
The patent performs the code writing operation directly to the execution memory block before reboot, rather than using a two-stage writing process with loader code. This preliminary action approach writes the updated code directly to the active bank, then triggers a reboot to execute the new code, eliminating the need for complex loader verification and reducing overall update complexity.
2Reliability
If two writing processes and loader code are used for OTA updates, then the reliability of code verification is improved, but the startup time increases
Solution Approach 1:
The system performs the complete code write operation to the execution memory block in a single preliminary action before reboot. This eliminates the need for a second writing process and loader code execution, thereby reducing startup time while maintaining verification reliability through the direct write-reboot-execute sequence.
Solution Approach 2:
The patent extracts and removes the loader code component from the update process. By eliminating the loader, the system avoids the additional verification steps and time delays associated with signature checking and staged code loading, achieving faster startup while maintaining update reliability through the simplified direct-write approach.
3Manufacturing precision
If application code is read out from memory during writing processes, then the completeness of code update is improved, but the risk of data leakage or tampering increases
Solution Approach 1:
The patent extracts and eliminates the code read-out step from the memory during the writing process. By writing the updated code directly to the execution memory block without reading out the existing code first, the system ensures complete updates while minimizing the risk of data leakage or tampering that would occur during read operations.
Solution Approach 2:
The system uses a disposable approach where the updated code is written directly to the active memory bank and then the system reboots to execute it. This single-pass write operation without read-back verification eliminates the security vulnerability of exposing code during read operations, while the reboot ensures the new code is properly loaded and executed.
Data Source
AI summary
An electronic processing device including a memory and a Micro Control Unit (MCU) is provided. The memory includes a first memory block and a second memory block. The MCU executes first program code stored in the first memory block to write an update program code into the second memory block, and remaps a base address for a reboot of the electronic processing device from the first memory block to the second memory block in response to successfully writing the update program code into the second memory block. After that, the MCU triggers the reboot of the electronic processing device to execute the update program code stored in the second memory block.


