BIOS Firmware Error Correction via ECC and Decompression

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

VSEngineering 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

Engineering Contradiction:
Improvestorage spaceVSAvoidfirmware integrity
Core Design Contradiction:
Quantity of substanceVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvefirmware integrityVSAvoidboot time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #26Copying

3Reliability

If the embedded controller continuously monitors BIOS firmware for errors after booting, then system reliability is improved, but energy consumption increases

Engineering Contradiction:
Improvesystem operational statusVSAvoidenergy consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

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.

Inventive Principle:
Principle #19Periodic action

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10108485B2Method for automatic correction of nonvolatile memory in information handling systems
Publication Date: 2018.10.23 DELL PROD LP
  • US10108485B2 patent drawing
  • US10108485B2 patent drawing
  • US10108485B2 patent drawing

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.