Flash Memory Boot Block Integrity Verification and Repair

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecomputer startup reliabilityVSAvoidflash memory system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improveflash memory update capabilityVSAvoidprotected block integrity
Core Design Contradiction:
Ease of manufactureVSReliability

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #23Feedback

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

Engineering Contradiction:
Improvestartup reliabilityVSAvoidinitialization time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11250929B2System for detecting computer startup and method of system
Publication Date: 2022.02.15 HONG FU JIN PRECISION IND (WUHAN) CO LTD
  • US11250929B2 patent drawing
  • US11250929B2 patent drawing
  • US11250929B2 patent drawing

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.