Compressed NVM OTA Swapping for Smaller Backup Memory
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional over-the-air (OTA) update solutions for microcontrollers require a doubling of non-volatile memory (NVM) size, leading to design constraints and performance drawbacks such as lengthy downtimes, high data bandwidth requirements, and limited backup capabilities, which hinder efficient update and maintenance operations.
Innovation Solution
A system and method that uses a smaller backup NVM to store compressed OTA code, leveraging lossless compression and decompression engines to swap blocks between the main and backup NVMs, reducing the backup NVM size to 50% of the main NVM without increasing downtime, by hiding compression/decompression time within the write time of the NVM memory.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional OTA solutions are used to store uncompressed backup code, then backup capability is provided, but NVM size must be doubled
Solution Approach 1:
The patent applies compression parameter changes to the backup code stored in NVM. By compressing the backup code before storage, the patent reduces the amount of memory required while maintaining the ability to restore the original code. This directly addresses the contradiction by changing the physical state (compressed vs uncompressed) of the stored data.
Solution Approach 2:
The patent creates a compressed copy of the backup code rather than storing the full uncompressed version. This compressed copy contains all necessary information to restore the original code but occupies less space, thereby providing backup capability with reduced NVM size requirements.
2Quantity of substance
If compression/decompression operations are performed during OTA updates, then NVM size is reduced, but processing time increases
Solution Approach 1:
The patent performs compression of the backup code in advance during the update process, before the actual code switch is needed. This preliminary compression action allows the compressed data to be ready for storage, and when an update is needed, the system can quickly decompress and switch codes without prolonged downtime.
Solution Approach 2:
The patent maintains continuous operation by performing compression during periods when the system can tolerate processing (such as during initial update setup) rather than during critical code switching moments. The useful action of compression is continuously available but strategically timed to minimize impact on system availability.
3Adaptability or versatility
If larger NVM is allocated for OTA updates, then update capability is provided, but computing resources are wasted
Solution Approach 1:
The patent changes the compression parameter of the stored code from uncompressed to compressed format. This allows the same NVM capacity to store more code variants, providing better update capability without requiring additional memory resources or increasing device complexity.
Data Source
AI summary
A software update architecture, system, apparatus, and methodology are provided for performing block-based swapping of OTA software stored as a plurality of compressed blocks in a first, smaller NVM with the system software stored as a plurality of decompressed blocks in a second, larger NVM by using a first decompressor circuit and first scratch memory to sequentially decompress each compressed code block of OTA software for storage in decompressed form as updated system software in the second, larger NVM while using a first compressor circuit and second scratch memory to sequentially compress each decompressed code block of system software for storage in compressed form as backup system software in the first, smaller NVM.


