Flash Memory Boot Block Integrity Verification and Repair
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computer startup systems are vulnerable to flash memory damage, leading to non-bootable conditions due to the complexity and cost of dual flash memory setups, and the risk of damage from unlocking write-protection during updates.
Innovation Solution
A computer startup detecting system that includes a control center microchip, embedded controller, and flash memory with protected blocks, where the system checks code integrity before powering on the CPU, uses backup codes to repair damaged blocks, and manages write-protection to prevent data loss and reduce costs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If two flash memories are employed (one normal and one backup), then the reliability of computer startup is improved, but the device complexity and cost increase
Solution Approach 1:
The flash memory is segmented into a protected block and a non-protected block. The protected block contains critical boot codes that are write-protected to prevent damage, while the non-protected block can be updated. This segmentation allows the system to maintain reliability without requiring dual flash memories, as the protected portion ensures bootability even if the non-protected portion fails.
Solution Approach 2:
The system performs preliminary verification of code integrity in the protected block before attempting to execute boot codes. This preliminary check ensures that the critical boot section is intact and functional, preventing startup failures without needing a backup flash memory. The verification process checks for proper formatting and integrity of the boot codes before execution.
2Ease of manufacture
If write-protection of the protected block is unlocked during flash memory update, then the ease of manufacture and update is improved, but the risk of damaging the protected block increases
Solution Approach 1:
The write-protection status of the protected block is dynamically adjusted based on the update process. During a flash memory update, the system temporarily unlocks the protected block to allow writing of new codes. After the update is successfully completed and verified, the write-protection is immediately re-enabled. This dynamic approach allows updates while minimizing the time window for potential damage.
Solution Approach 2:
The system implements feedback mechanisms to monitor the update process and the integrity of the protected block. Before unlocking write-protection, the system verifies the current state and prepares for the update. After updating, it verifies the integrity of the written data and re-applies write-protection only when confirmed successful. This feedback loop prevents damage by aborting the process if errors are detected.
3Reliability
If code integrity verification is performed before CPU power-on, then the reliability of startup is improved, but the time required for initialization increases
Solution Approach 1:
The system performs code integrity verification as a preliminary action during the power-on self-test (POST) phase, before the CPU is fully activated. This verification checks the protected block for proper formatting and integrity of boot codes. By performing this check early in the initialization sequence, the system ensures reliable startup while minimizing the time impact on the main CPU operations, as the verification is conducted during the mandatory POST period.
Data Source
AI summary
An arrangement to guarantee boot up of a computer includes a control center microchip with BIOS boot block and BIOS program, and a flash memory divided into a first protected block, a main block, and a second protected block. In the computer, an embedded controller (EC) with stored modules is electrically connected to the flash memory and the control center microchip. The modules include a determining module to check that the code of the first protected block is identical with the code of the second protected block and a recovery module able to reinstate correct code from the second protected block into the first protected block if required. A method applied to the disclosed computer startup detection system is also disclosed.


