Mobile Terminal Software Upgrade via Partition Table Revision
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing FOTA mechanism in mobile terminals is unable to handle situations where the memory partition table needs to be revised due to software version upgrades or changes, leading to potential corruption of metadata and failure in file operations, which prevents seamless software upgrades.
Innovation Solution
A software upgrade method that locates and compares partition tables between new and old software versions, generates a backup list, and creates a differential upgrade package to re-partition the mobile terminal memory, ensuring that backup data is saved on an SD card and written correctly, even if the partition table changes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If the existing FOTA mechanism is used for software upgrades, then the upgrade process is simple and user-friendly, but it cannot handle situations where the memory partition table needs to be revised
Solution Approach 1:
The system dynamically adapts the upgrade mechanism based on partition table changes. When partition tables are revised, the system automatically switches from standard FOTA to a specialized upgrade mode that handles partition reconfiguration, allowing the system to maintain simplicity for normal upgrades while gaining adaptability for special cases.
Solution Approach 2:
A partition table comparison module acts as an intermediary between the FOTA mechanism and the upgrade process. This intermediary detects partition table changes and coordinates the backup, repartitioning, and data migration operations, bridging the gap between simple FOTA and complex partition revision requirements.
2Productivity
If the partition table is revised during software upgrade, then the software can be updated to the latest version, but the metadata in filesystem type partitions may be corrupted
Solution Approach 1:
The system performs preliminary backup of all partition data to the SD card before repartitioning operations. This advance preparation ensures that even if metadata corruption occurs during the upgrade, the original data can be restored, thus maintaining both update capability and data integrity.
Solution Approach 2:
The system creates a safety buffer by copying critical data to external storage (SD card) before performing risky repartitioning operations. This cushioning mechanism protects against potential metadata corruption, ensuring that the upgrade process can proceed without permanently damaging the filesystem integrity.
3Stability of the object's composition
If the partition table is kept unchanged, then the original data structure is preserved, but software development becomes more difficult and users cannot receive the latest version
Solution Approach 1:
The system creates a copy of the partition table configuration in the upgrade package, allowing the new software version to define its required partition structure independently. This copying mechanism enables developers to modify partition tables for new features without being constrained by the original structure, thus improving development efficiency while maintaining the ability to preserve stable partitions if needed.
4Reliability
If backup data is saved during partition table revision, then data can be preserved, but the SD card space must be sufficient to store all backup data
Solution Approach 1:
The system applies different backup strategies to different partition types based on their characteristics. Filesystem type partitions with metadata are backed up with full path and attribute information, while raw data type partitions are handled differently. This localized approach optimizes backup efficiency and reduces unnecessary SD card space consumption.
Solution Approach 2:
The system dynamically adjusts backup parameters such as compression level and storage format based on the partition type and available SD card space. By changing these parameters, the system can preserve data reliability while adapting to varying storage capacity constraints.
Data Source
AI summary
A software upgrade method and system for a mobile terminal includes locating partition tables of a new version of software and an old version of software, generating a corresponding backup list, scanning all files of the new version of software, generating a differential upgrade package that comprises a partition table of the new version of software and the backup list, saving backup data, to be backed up in the mobile terminal, into a SD card according to the backup list, re-partitioning a mobile terminal memory according to the partition table of the new version of software in the differential upgrade package, correspondingly writing the backup data on the SD card into the partition, decompressing the differential upgrade package to obtain a corresponding differentiating file, generating corresponding new version files according to the differentiating file and the old version files in the mobile terminal, and writing into the mobile terminal.


