BIOS Firmware Error Correction via ECC and Decompression
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Nonvolatile memory in information handling systems can become corrupted due to physical degradation or malicious attacks, rendering the BIOS firmware unusable and causing the system to become unbootable, which is undesirable.
Innovation Solution
A method is introduced that uses error correction codes (ECC) to identify and correct error bits in the BIOS firmware stored on nonvolatile memory, allowing for automatic correction and decompression of the firmware, even after booting, to prevent unbootable conditions by continuously monitoring for errors and recording error bits for faster checking and correction.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If BIOS firmware is stored in compressed form on nonvolatile memory, then storage space is optimized, but the firmware may become corrupted and unbootable due to physical degradation or malicious attacks
Solution Approach 1:
The patent applies preliminary action by pre-calculating and storing error correction data (ECC) and decompression data alongside the compressed BIOS firmware in nonvolatile memory. This preparation ensures that when the system boots, the embedded controller can immediately attempt correction and decompression without delay, resolving the contradiction by proactively preparing correction mechanisms that maintain firmware integrity while preserving storage efficiency.
Solution Approach 2:
The patent introduces an intermediary mechanism - the embedded controller - that acts as a mediator between the compressed BIOS firmware and the system boot process. The embedded controller performs error correction and decompression operations, serving as an intermediary layer that protects the firmware integrity while enabling efficient storage utilization. This intermediary resolves the contradiction by adding a protective function without significantly increasing storage requirements.
2Reliability
If error correction codes (ECC) are used to correct error bits in BIOS firmware, then firmware integrity is maintained, but processing time increases during boot
Solution Approach 1:
The patent applies preliminary action by pre-calculating and storing the expected error correction data (ECC) alongside the compressed BIOS firmware in nonvolatile memory. During boot, the embedded controller retrieves this pre-computed ECC data and applies it immediately, avoiding time-consuming error detection and correction calculations. This resolves the contradiction by preparing correction mechanisms in advance, maintaining firmware integrity while minimizing boot time overhead.
Solution Approach 2:
The patent uses copying by creating and storing a copy of the error correction data (ECC) alongside the compressed BIOS firmware. This pre-computed ECC copy is stored in nonvolatile memory and readily available during boot, eliminating the need for real-time error analysis. The copying mechanism resolves the contradiction by making correction data immediately accessible, maintaining reliability without processing delays.
3Reliability
If the embedded controller continuously monitors BIOS firmware for errors after booting, then system reliability is improved, but energy consumption increases
Solution Approach 1:
The patent applies periodic action by implementing error monitoring at specific intervals - during system boot and at scheduled checkpoints during operation - rather than continuous monitoring. The embedded controller checks firmware integrity using the stored ECC data at these periodic moments, maintaining system reliability while minimizing energy consumption by keeping the monitoring function dormant between checkpoints.
Solution Approach 2:
The patent implements self-service by designing the monitoring system to use pre-stored ECC data and simple comparison operations that require minimal processing power. The embedded controller autonomously performs error checks using the previously prepared correction data, enabling reliable monitoring with minimal energy expenditure. This self-service approach resolves the contradiction by making the monitoring function inherently energy-efficient.
Data Source
AI summary
A method for automatic correction of nonvolatile memory in information handling systems includes storing ECC data for a compressed BIOS firmware. The ECC data are used to identify and correct error bits in the compressed BIOS firmware. The discovered error bits are recorded in the nonvolatile memory and accessed for a faster correction method for the compressed BIOS firmware than using the ECC data on subsequent attempts.


