Dual Memory Firmware Update for Closed Storage Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing IC card firmware update methods often result in incomplete updates, leading to card failure and inconvenience, as the updated application may lack necessary code, and require resetting to initial settings when updates fail.

Innovation Solution

A method for updating firmware in closed storage devices with two memories, where one memory remains locked with the old version as a boot loader, allowing transactions to continue even if the new version application has bugs, and automatically switching back to the old version if the new update fails, ensuring continuous functionality.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the memory updates the application using the new version firmware image file, then the application can be improved with new features and bug fixes, but the IC card may fail if the update is incomplete or the new version has bugs

Engineering Contradiction:
Improveapplication functionalityVSAvoidcard usability
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The memory is divided into two separate memory units (first memory and second memory) that can store different versions of the application independently. This segmentation allows the system to maintain both old and new versions simultaneously, enabling fallback to the old version if the new version fails, thus resolving the contradiction between updating for improvement and maintaining reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the state parameter of the memory by introducing a locked state. When one memory is being updated, it is locked to prevent execution, while the other memory remains unlocked and executable. This parameter change ensures that the card can always execute from a valid memory, preventing failure even when updates are in progress or fail.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If the update process is performed, then the application can be updated to a newer version, but the card may require resetting to initial settings if the update fails

Engineering Contradiction:
Improveapplication versionVSAvoiduser convenience
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The system performs preliminary actions by preparing two memory units before the update process. One memory is locked and contains the old version, while the other is unlocked and receives the new version. This preliminary setup ensures that if the update fails, the system can immediately switch to the old version without requiring resetting, thus maintaining user convenience while enabling version updates.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The bootstrap loader acts as an intermediary that manages the execution between the first and second memories. It determines which memory to execute based on the locked/unlocked state, enabling seamless switching between versions without user intervention or resetting, thereby resolving the contradiction between adaptability and ease of operation.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If two memories are provided for alternate updating, then continuous transaction capability is maintained, but the device complexity increases

Engineering Contradiction:
Improvetransaction continuityVSAvoidmemory structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Both the first and second memories are designed with identical structure and functionality, each capable of storing and executing the application. This universality means that either memory can serve as the active execution memory, simplifying the overall design despite having two memories. The bootstrap loader universally manages both memories using the same locked/unlocked state mechanism, reducing control complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system uses a simple binary state parameter (locked/unlocked) to manage the two memories. This parameter change approach provides a clear, unambiguous mechanism for controlling which memory is active, reducing the complexity of memory management despite having dual memories. The locked state clearly indicates update-in-progress or invalidation, while unlocked indicates executable status.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10459714B2Method of updating firmware of closed storage device
Publication Date: 2019.10.29 COOLBITX LTD(GB)
  • US10459714B2 patent drawing
  • US10459714B2 patent drawing
  • US10459714B2 patent drawing

AI summary

A method of updating firmware of closed storage device includes the steps of connecting an electronic device to a closed storage device having built-in first and second memories and bootstrap loader, and the first memory storing a first application that is set by the bootstrap loader as a default boot loader; the electronic device downloading a second application having a different version from the first application and setting the first memory to a locked state; the electronic device transmitting the second application to the second memory via the bootstrap loader and the second memory is updated when the second application is written thereinto; and the bootstrap loader setting the second application as the boot loader. The two applications of different versions in the closed storage device are updated alternately, and the old application can still be used as the boot loader when the update of the other application has failed.