Block-Wise Software Update for Memory-Constrained Field Apparatus

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing field apparatuses face challenges in updating software due to insufficient free space in non-volatile and working memories, leading to incomplete or failed update processing, particularly in devices with small memory capacities.

Innovation Solution

The update assistance device divides update software into blocks smaller than or equal to the available free space of the working memory and supplies it on a block-by-block basis, ensuring each block is within the memory capacity, and instructs the CPU to perform partial updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If update software is transferred as a whole to working memory, then update processing can be completed efficiently, but insufficient free space in working memory prevents the update from being executed

Engineering Contradiction:
Improveupdate processing efficiencyVSAvoidfree space in working memory
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The update software is divided into multiple blocks, where each block is smaller than or equal to the free space of the working memory. The update is performed by sequentially transferring and executing these blocks one by one, rather than requiring the entire update software to fit in memory simultaneously. This segmentation enables successful updates in devices with limited memory capacity.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If update software is divided into small blocks, then updates can be performed in devices with limited memory, but the update process becomes more complex and time-consuming

Engineering Contradiction:
Improvecompatibility with small memory devicesVSAvoidupdate process complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

A block management table is introduced as an intermediary data structure to manage the divided update blocks. This table stores information about each block (such as block number, size, and transfer status) and enables systematic control of the block-by-block update process. The intermediary structure simplifies the complexity by providing organized management of the segmented update data.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If the entire update software is transferred at once, then the update process is simple and fast, but the process fails when memory capacity is insufficient

Engineering Contradiction:
Improveupdate success rateVSAvoidfree space in working memory
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The update software is divided into multiple blocks, where each block is smaller than or equal to the free space of the working memory. The update is performed by sequentially transferring and executing these blocks one by one, rather than requiring the entire update software to fit in memory simultaneously. This segmentation enables successful updates in devices with limited memory capacity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Before the actual update execution, the system performs preliminary actions including dividing the update software into blocks, creating a block management table, and preparing the update environment. These preliminary steps ensure that the subsequent update process can proceed reliably even in memory-constrained environments.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP4621562A1Update assistance device, update assistance method, update assistance program, and field apparatus
Publication Date: 2025.09.24 YOKOGAWA ELECTRIC CORP
  • EP4621562A1 patent drawingFigure 1
  • EP4621562A1 patent drawingFigure 2
  • EP4621562A1 patent drawingFigure 3

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.