Boot Program Verification Parallel Firmware Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing secure boot and automatic recovery functions in image forming apparatuses require double verification time due to the need to verify both the main and backup programs, which increases boot time and reduces user-friendliness.

Innovation Solution

An information processing apparatus with a non-volatile storage unit that stores a boot program and a backup program, featuring a first verification unit for validating the backup program and a second verification unit for validating firmware, where the first verification unit operates during the time the second verification unit is validating the firmware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If verification processing is performed on both main program and backup program before booting, then system reliability is improved through automatic recovery function, but boot time increases due to doubled verification time

Engineering Contradiction:
Improvesystem reliabilityVSAvoidboot time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The backup program is verified in advance during firmware verification period, before it is needed for potential recovery. This preliminary verification stores the validation result, so that when recovery is needed, the backup program can be immediately used without performing verification processing at that moment, thus reducing boot time while maintaining reliability

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If backup program verification is performed only after main program verification fails, then verification time is reduced, but system robustness is compromised as backup program validity is not confirmed in advance

Engineering Contradiction:
Improveverification timeVSAvoidsystem robustness
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The verification process continues usefully by validating the backup program during the firmware verification period. This continuous useful action ensures the backup program's validity is confirmed in advance, improving system robustness. The verification doesn't add extra time because it utilizes the existing firmware verification period, maintaining efficiency while enhancing reliability

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If two types of programs (main and backup) are held for automatic recovery function, then system reliability is improved, but device complexity increases due to dual program management

Engineering Contradiction:
Improveautomatic recovery functionVSAvoidprogram management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The verification of the backup program is merged with the firmware verification process. Both verifications are performed during the same time period using the same verification unit, combining two verification tasks into one continuous process. This reduces the overall verification time while maintaining the reliability benefits of having a verified backup program available for automatic recovery

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS12282559B2Information processing apparatus and control method for information processing apparatus
Publication Date: 2025.04.22 CANON KK
  • US12282559B2 patent drawing
  • US12282559B2 patent drawing
  • US12282559B2 patent drawing

AI summary

In the configuration of the related art, a verification system for detecting bit corruption is booted while verifying a main program, so that a secure boot function and an automatic recovery function cannot be implemented. According to various embodiments of the present disclosure, an information processing apparatus including a non-volatile storage unit configured to store a boot program for booting a system and a backup program for the boot program includes a first verification unit configured to verify whether the backup program is valid, and a second verification unit configured to verify whether firmware for controlling a predetermined member is valid, wherein the first verification unit verifies whether the backup program is valid during a period in which the second verification unit verifies whether the firmware is valid.