XIP Firmware Update Address Remapping Across Memory Partitions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Firmware update processes in Execute-in-Place (XIP) systems face challenges due to processing power, memory space, and network bandwidth constraints, particularly when dealing with multiple memory partitions.
Innovation Solution
A method and system that identifies the boot partition in an XIP system, redirects processors to execute instructions from the determined boot partition, stores a firmware update file in the non-boot partition, and sets the non-boot partition as the boot partition upon system restart, utilizing address remapping to handle firmware updates efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If firmware update files are directly downloaded to non-volatile memory in XIP systems, then the system can execute firmware directly from memory, but the system faces constraints in processing power, memory space, and network bandwidth
Solution Approach 1:
The memory is divided into multiple partitions (first partition and second partition), allowing the system to manage firmware updates by selecting which partition to write to based on the current boot partition. This segmentation enables parallel storage of old and new firmware versions without interfering with each other, reducing the complexity of memory management during updates.
Solution Approach 2:
The system determines the boot partition before performing the firmware update and pre-calculates the target partition for the update file. By identifying the current boot partition and determining the appropriate target partition in advance, the system avoids complex runtime decisions during the actual firmware writing process, simplifying the update mechanism.
2Reliability
If multiple memory partitions are used for firmware storage, then system robustness is enhanced, but storage requirements and bandwidth usage increase
Solution Approach 1:
The firmware update mechanism is designed to be universal across different partition configurations. A single firmware update file can be used regardless of which partition is currently booting, as the system dynamically determines the target partition based on the current boot partition. This multi-functionality reduces the need for multiple specialized update files, thereby reducing overall storage requirements while maintaining system robustness through partition redundancy.
3Adaptability or versatility
If firmware update files are stored for each partition, then partition-specific updates are possible, but server storage requirements and bandwidth usage increase
Solution Approach 1:
Instead of storing separate firmware update files for each partition, the system uses a single firmware update file that can be copied to the appropriate target partition based on the current boot partition. The update mechanism copies the same firmware image to different partitions depending on the update context, eliminating the need for multiple partition-specific update files and thereby reducing server storage requirements and bandwidth consumption.
Data Source
AI summary
A system and method for firmware updates on Execute-in-Place (XIP) devices with multiple memory partitions is disclosed. Firmware files include instructions coded to one of the partitions, while another partition runs the active firmware. An address remapping technique redirects the fetching addresses in the instructions to the partition storing the active firmware, so the instructions may be executed properly when the firmware files are installed in either partition. As a consequence, the firmware update file only requires one version, instead of multiple versions for multiple partitions, and this simplifies the firmware update process, such as compatibility verification and version control, saves memory space on the server, and reduces bandwidth usage.


