Dual-Processor Boot Program Verification for Faster Startup
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing image forming apparatuses face inefficiencies in program verification during startup, leading to potential damage or invalidation of backup programs due to irregular verification and the need for double verification, which increases startup time and reduces system robustness.
Innovation Solution
An information processing apparatus with a nonvolatile memory storing a selection program and verification programs for randomly selecting and verifying a boot program, using a first and second processor to execute and verify the selected program, ensuring valid program execution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If both the main program and backup program are verified at each startup, then the reliability of program execution is improved, but the startup time increases
Solution Approach 1:
The backup program is verified in advance during the startup process before the main program execution begins. The verification unit verifies the backup program's validity and stores the verification result in non-volatile memory, so that when the main program needs to restore the backup program, the verification result is already available, eliminating the need for re-verification and reducing startup time.
Solution Approach 2:
The system uses feedback from the verification process to optimize future operations. The verification result of the backup program is stored in non-volatile memory and reused in subsequent startups. The control unit checks the stored verification result to determine whether the backup program needs to be verified again, creating a feedback loop that reduces redundant verification operations and improves startup efficiency.
2Loss of time
If the backup program is verified only when restoration is necessary, then the startup time is reduced, but the reliability of the backup program decreases
Solution Approach 1:
The backup program is verified in advance during the startup process before the main program execution begins. The verification unit verifies the backup program's validity and stores the verification result in non-volatile memory, so that when the main program needs to restore the backup program, the verification result is already available, eliminating the need for re-verification and reducing startup time.
Solution Approach 2:
The verification of the backup program is performed continuously during the startup process rather than only when restoration is needed. This continuous verification ensures that the backup program remains valid and ready for restoration, while the verification result is cached in non-volatile memory to avoid repeated verification operations.
3Ease of operation
If a temporary bootloader is used when update processing is not completed, then the system can start up, but the backup program may be invalid or damaged
Solution Approach 1:
The verification unit verifies the backup program's validity and stores the verification result in non-volatile memory before the main program execution begins. This preliminary verification ensures that even if the system uses a temporary bootloader due to incomplete update processing, the backup program remains valid and can be reliably restored when needed.
Solution Approach 2:
The verification unit acts as an intermediary between the bootloader and the backup program. It performs verification of the backup program and stores the result in non-volatile memory, serving as a mediator that ensures the backup program's validity regardless of whether the system uses the main bootloader or a temporary bootloader due to update processing status.
Data Source
AI summary
A second processor verifies validity of at least a first boot program using a verification program, and a first processor executes a selection program to select a boot program verified as valid by the second processor, and executes the selected program.


