BIOS Update via Shared Memory Bypassing Faulty Initialization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing BIOS update methods require normal initialization of USB storage before updating BIOS data, making it difficult to update BIOS when the initialization process fails due to faulty BIOS data.
Innovation Solution
An information processing system with a shared memory capable of memory-mapped I/O, allowing BIOS data to be written and read, and a processor that can execute BIOS code to perform an update determination procedure, updating BIOS data from shared memory even when initialization is faulty, using an update setting to determine whether to proceed with a BIOS update or boot loader call.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If BIOS data are updated using a tool other than the system, then BIOS data can be updated even when faulty, but additional tools and time are required
Solution Approach 1:
The BIOS update function is integrated into the system itself, allowing the system to perform self-updating without requiring external tools. The update setting retaining means enables the system to automatically determine and execute updates based on stored update settings, eliminating the need for external ROM writers or other updating tools.
2Ease of operation
If BIOS data are updated using the system, then update work is simplified, but update cannot proceed when initialization fails due to faulty BIOS data
Solution Approach 1:
The update setting is retained in advance in the update setting retaining means before initialization occurs. This allows the system to bypass faulty initialization processes by directly executing the predetermined update procedure based on the pre-stored update setting, without requiring successful completion of the faulty initialization steps.
3Adaptability or versatility
If USB storage initialization is required before BIOS update, then update process is standardized, but update cannot proceed when initialization is faulty
Solution Approach 1:
The update procedure is segmented into distinct steps: acquiring the update setting from the update setting retaining means, determining whether to execute the update procedure, and then executing either the update or boot loader call based on the determination. This segmentation allows the system to bypass faulty initialization steps and proceed directly to the essential update operation.
4Reliability
If backup BIOS is stored in fixed memory area, then system can start when BIOS on flash memory is broken, but backup BIOS cannot be updated
Solution Approach 1:
The system dynamically switches between the flash memory area and fixed memory area based on the state of the BIOS. The BIOS can be updated in the flash memory area when functional, and the system can switch to use the backup BIOS in the fixed memory area when the flash BIOS is broken, providing both update capability and reliability.
5Reliability
If switch selects backup BIOS when start fails, then system can normally start, but cannot update BIOS data
Solution Approach 1:
The system uses feedback from the BIOS execution status to control the switching between flash memory area and fixed memory area. When the BIOS in the flash memory area executes successfully, the system continues to use it and can perform updates. When execution fails, the system switches to the backup BIOS in the fixed memory area, ensuring continuous operation while maintaining update capability through the integrated update setting retaining means.
Data Source
AI summary
An information processing device includes: a BIOS flash ROM that is connected to a shared memory having an alternative BIOS written therein and being accessible using a MMIO, and that stores a currently used BIOS; a processor that can execute the currently used BIOS immediately after resetting; and a retaining means for retaining a setting indicating whether updating of the currently used BIOS is possible. The BIOS includes: a procedure for executing determination as to whether updating is possible after initialization necessary for executing the determination; a procedure for executing initialization necessary for updating the currently used BIOS to the alternative BIOS read from the shared memory, if updating is possible; a procedure for executing updating if updating is possible; a procedure for executing initialization necessary for operating the information processing device if updating is impossible; and a procedure for calling a boot loader if updating is impossible.


