BIOS Backup Variable Recovery for NVRAM Corruption

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Corruption of non-volatile read access memory (NVRAM) associated with BIOS can lead to no power or no power-on/self-test (POST) failures in information handling systems, primarily due to changes in NVRAM variable definitions across BIOS revisions and single bit failures in SPI flash memory chips.

Innovation Solution

An information handling system that includes a processor and BIOS, which upon occurrence of a predetermined number of POST failures, reads backup variables for critical boot variables and writes their values to replace the corrupted ones, attempting to reboot the system with these backup values, and if that fails, restores the variables to default values to ensure system boot-up.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If BIOS revisions update NVRAM variable definitions to add or subtract fields, then BIOS functionality is improved, but NVRAM alignment changes cause corruption in subsequent fields

Engineering Contradiction:
ImproveBIOS functionalityVSAvoidNVRAM data integrity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent applies preliminary action by creating and storing backup variables in advance before NVRAM corruption occurs. The backup variables are maintained in a backup NVRAM area, allowing the system to restore corrupted variables without manual intervention when alignment changes or bit failures occur.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements copying by creating duplicate copies of critical NVRAM variables in a separate backup storage area. This copy mechanism allows the system to replace corrupted variables with their intact backups, resolving the reliability issue while maintaining adaptability to BIOS updates.

Inventive Principle:
Principle #26Copying

2Duration of action of stationary object

If SPI flash memory chips are used to implement NVRAM, then non-volatile storage is achieved, but single bit failures cause NVRAM variable corruption

Engineering Contradiction:
Improvedata retentionVSAvoidbit stability
Core Design Contradiction:
Duration of action of stationary objectVSReliability

Solution Approach 1:

The patent applies beforehand cushioning by pre-positioning backup variables in a protected backup NVRAM area before any corruption occurs. This cushioning mechanism ensures that when single bit failures happen in the primary NVRAM, the system has pre-prepared backup values to restore from, preventing boot failures.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Reliability

If NVRAM variables are restored to default values, then system boot-up is ensured, but user-customized settings are lost

Engineering Contradiction:
Improvesystem bootabilityVSAvoiduser settings
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent extracts only the critical boot variables into a separate backup NVRAM area, leaving user settings in the main NVRAM intact. This selective extraction allows the system to restore only the necessary boot variables from backup while preserving user-customized settings, avoiding complete loss of information.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11599436B2Systems and methods for repairing corruption to BIOS boot critical memory variables
Publication Date: 2023.03.07 DELL PROD LP
  • US11599436B2 patent drawing
  • US11599436B2 patent drawing
  • US11599436B2 patent drawing

AI summary

An information handling system may include a processor and a basic input/output system (BIOS) comprising a program of instructions executable on the processor, the basic input/output system configured to, upon occurrence of a predetermined number of failures to complete a power-on/self-test (POST) of the information handling system: for each particular critical boot variable of the BIOS stored in a memory associated with the BIOS, read a backup variable for the particular critical boot variable, if available, and write a value of the backup variable as the critical boot variable; and attempt to reboot the information handling system with values of the backup variables used for the critical boot variables.