Zero Differential Update Block Size Selection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing technologies face challenges in performing zero differential updates due to limited storage space in terminal devices, which prevents the storage of zero differential update packages, leading to potential system failures during updates.
Innovation Solution
A method that selects an optimal block size from a set of block sizes for zero differential updating by calculating cyclic redundancy check codes and determining the update size, allowing for the storage and transmission of only necessary data blocks, thereby enabling zero differential updates within the available storage space.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a zero differential update package is transmitted to the terminal device, then the system can be updated to the new version, but the terminal device cannot store the update package due to limited FOTA partition space
Solution Approach 1:
The update package is segmented into multiple blocks of data. Instead of transmitting the entire update package at once, the system divides it into smaller blocks and transmits them sequentially. This segmentation allows the update process to proceed with limited storage space, as only one block needs to be stored at a time rather than the complete update package.
Solution Approach 2:
The system performs preliminary verification by calculating and comparing CRC check codes of data blocks before committing to the full update. This preliminary action allows the terminal device to verify update integrity incrementally, ensuring update success while managing storage constraints by validating each block as it is received and processed.
2Loss of energy
If differential update is performed to save bandwidth and storage space, then transmission efficiency is improved, but the update cannot proceed if original data is damaged due to power failure or bad block
Solution Approach 1:
The system implements feedback through CRC check code verification at multiple stages. After receiving each data block during the update process, the terminal device calculates its CRC check code and compares it with the expected value. This feedback mechanism detects data corruption early, allowing the system to request retransmission of specific corrupted blocks rather than failing the entire update, thus improving reliability while maintaining bandwidth efficiency.
Solution Approach 2:
The system performs preliminary verification by calculating and comparing CRC check codes of data blocks before committing to the full update. This preliminary action allows the terminal device to verify update integrity incrementally, ensuring update success while managing storage constraints by validating each block as it is received and processed.
3Reliability
If the entire update package is transmitted for zero differential update, then the system can be updated even with data damage, but the transmission time and bandwidth consumption increase significantly
Solution Approach 1:
The update package is segmented into multiple blocks of data. Instead of transmitting the entire update package at once, the system divides it into smaller blocks and transmits them sequentially. This segmentation allows the update process to proceed with limited storage space, as only one block needs to be stored at a time rather than the complete update package.
Solution Approach 2:
The system extracts and transmits only the necessary data blocks that differ from the current version, identified through CRC check code comparison. By extracting only the essential update blocks rather than transmitting the complete update package, the system reduces transmission time and bandwidth consumption while maintaining the ability to perform zero differential updates when needed.
Data Source
Figure 1~2
Figure 3
Figure 4
AI summary
Provided in the present invention are a zero differential upgrade method, a non-volatile storage medium and an electronic device. The method comprises: acquiring, from a server, check code information about data blocks corresponding to each block length in a block length set of a target version; determining a target block length from the block length set according to the check code information, wherein the total length of the data blocks to be updated corresponding to the target block length satisfies a target block length required for upgrading a storage space; acquiring, from the server, a zero differential upgrade package of the target version corresponding to the target block length, and performing zero differential upgrade on the version to be upgraded.