Software Upgrade Recovery via Address Line Modification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional software upgrade processes in consumer electronics are prone to failures due to unreliable quality assurance and transient technologies, leading to potential device malfunction and the need for costly replacements, especially in mass deployments.
Innovation Solution
A robust software upgrade method that involves storing a backup software component in a separate memory segment and modifying address lines to access this segment if the primary upgrade fails, using a watchdog timer and address modifier logic to ensure recovery and successful boot-up.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a new software image is written into flash memory during upgrade, then the software is updated to newer version, but unexpected system failure may corrupt the boot code segment and render the device non-operational
Solution Approach 1:
The flash memory is divided into distinct segments: a first segment for storing the new software image and a second segment for storing the backup boot code. This segmentation allows the system to isolate the upgrade process from the critical boot code, preventing corruption of essential system functions during software updates.
Solution Approach 2:
The backup boot code is prepared and stored in the second memory segment before the upgrade process begins. This preliminary action ensures that a valid boot code is already in place and can be immediately accessed if the upgrade fails, eliminating the need for complex post-failure recovery procedures.
2Ease of repair
If the instruction at reset vector is corrupted, then the computing device cannot complete reboot sequence and remains in undefined state, but replacing all failed units is costly and burdensome
Solution Approach 1:
The address modifier logic acts as an intermediary between the reset vector and the memory segments. When a failure is detected, this logic automatically modifies the address lines to redirect the system to the backup boot code in the second segment, providing a seamless recovery mechanism without requiring manual intervention or unit replacement.
Solution Approach 2:
The system dynamically changes the address line parameters based on the upgrade outcome. If the upgrade succeeds, the address lines point to the new software image; if it fails, the address modifier logic alters these parameters to point to the backup boot code, enabling automatic recovery based on the upgrade status.
3Productivity
If mass deployment of computing devices is performed, then market penetration increases, but the burden of replacing failed units significantly increases for sellers
Solution Approach 1:
The system incorporates a backup boot code and address modifier logic as a protective cushion before deployment failures can occur. This preemptive measure ensures that even in mass deployment scenarios where failures may happen, each device has built-in protection that prevents complete failure, thereby reducing the burden of replacements while maintaining high deployment speed.
Data Source
AI summary
A method and system for upgrading a software component in a computing device are disclosed. Specifically, one embodiment of the present invention sets forth a method, which includes the steps of storing a first software component in a first memory segment, maintaining a second software component in a second memory segment, wherein the second software component enables the computing device to boot up, and modifying at least one of a plurality of address lines to access the second memory segment after exiting a reset condition, if the execution of the first software component fails to satisfy a predetermined test condition.


