Virtual Memory Controller for Seamless OTA Update Switching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems face challenges in efficiently managing over-the-air updates and recovery from update errors for application software stored in non-volatile memory, particularly in maintaining system integrity and ensuring seamless execution without data loss.
Innovation Solution
A system that stores multiple application images in non-volatile memory with offset data and an active image identifier, using a virtual memory controller to modify addresses based on active image offsets, allowing for seamless switching between images during updates and maintaining system stability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If two copies of application software are stored in non-volatile memory for over-the-air updates and error recovery, then system reliability is improved, but memory space consumption increases
Solution Approach 1:
The patent implements a universal address space design where both application image copies (first and second images) are mapped to the same virtual address range. The virtual memory controller dynamically redirects address translations based on an active image identifier, allowing the system to switch between images without requiring separate address spaces. This multi-functional approach enables single address space to serve multiple image storage purposes, improving reliability through redundancy while optimizing memory utilization.
2Speed
If application software is executed in place from non-volatile memory during system initialization, then memory access speed is improved, but system adaptability for updates deteriorates
Solution Approach 1:
The patent performs preliminary actions by pre-configuring the virtual memory controller with offset values and establishing the active image identifier before execution begins. During system initialization, the correct image is already positioned in the address space with proper offset translations configured, enabling immediate execute-in-place operation without runtime copying. This preliminary setup maintains fast access speed while preserving adaptability, as the virtual memory controller can subsequently switch between pre-positioned images during updates.
3Adaptability or versatility
If virtual addressing with offset modification is implemented to enable image switching, then system flexibility for updates is improved, but address translation complexity increases
Solution Approach 1:
The patent introduces a virtual memory controller as an intermediary component between the processor and non-volatile memory. This controller handles all address translation operations by modifying virtual addresses with stored offsets and redirecting accesses based on the active image identifier. The intermediary absorbs the complexity of address translation, keeping the processor architecture simple while enabling flexible image switching and updates through centralized control in the virtual memory controller.
Data Source
AI summary
One or more computing devices, systems, and/or methods are provided. In an example, a method comprises storing a first application image and a second application image in an application image memory, designating the first application image as active, receiving a first address for accessing the application image memory from a processor, modifying the first address based on a first offset between a base starting address of the first application image and a starting physical address of the first application image in the application image memory to generate a second address, and accessing the application image memory using the second address.


