Memory-Fit Software Update Assistance for Field Apparatuses
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Field apparatuses with limited memory capacity face challenges in updating software due to insufficient free space in both non-volatile and working memories, preventing successful download and execution of update software.
Innovation Solution
The update assistance device divides update software into blocks and supplies them to the working memory on a block-by-block basis, ensuring each block fits within the available free space, and monitors the update process to prevent supplying the next block until the previous one is completed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If update software is downloaded to non-volatile memory and executed from there, then the update can be performed without additional memory, but the free space in non-volatile memory must be sufficient to store the entire update software
Solution Approach 1:
The update software is divided into multiple blocks that can be separately transferred and stored in non-volatile memory. Each block is small enough to fit within the available free space, allowing the update process to proceed in stages rather than requiring the entire update software to be available at once.
Solution Approach 2:
The system checks the free space in non-volatile memory before initiating the update process. If sufficient space is available, update blocks are transferred and stored in advance. The CPU then executes updates by loading blocks from non-volatile memory into working memory as needed, rather than requiring all update data to be pre-loaded.
2Speed
If update software is transferred to working memory for execution, then execution speed is improved, but the free space in working memory must be sufficient to hold the entire update software
Solution Approach 1:
The update software is segmented into multiple blocks that are transferred to working memory in smaller portions. Each block is sized to fit within the available working memory free space, allowing the system to maintain faster execution speeds by loading only necessary segments into high-speed memory rather than requiring the entire update to reside there simultaneously.
Solution Approach 2:
Update blocks are preliminarily transferred to non-volatile memory in advance. During execution, the CPU loads individual blocks from non-volatile memory into working memory as needed, maintaining execution speed while avoiding the need to pre-allocate large working memory space for the entire update software.
3Reliability
If the update software is divided into multiple blocks and transferred sequentially, then updates can succeed with limited memory space, but the update process time increases due to multiple transfer operations
Solution Approach 1:
The update software is divided into blocks optimized for reliable transfer over communication networks. Each block includes error checking and can be independently verified, ensuring that even if one block fails to transfer correctly, only that specific block needs to be retransmitted rather than the entire update software.
Solution Approach 2:
The system performs preliminary checks of available memory space before initiating updates. Update blocks are transferred and stored in non-volatile memory in advance, with verification at each step. This preliminary preparation ensures reliable updates while minimizing actual execution time by having blocks ready before they are needed.
Data Source
AI summary
There is provided an update assistance device including: an update software storage unit which stores update software for updating target software that is executed in a target device; a division unit which divides the update software into a plurality of blocks such that each block is smaller than or equal to a free space of a working memory which is used as a work region for updating the target software; and a supply unit which supplies the update software to the working memory on a block-by-block basis.


