Diagnostic Program Execution Before BIOS Initialization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing diagnostic methods for apparatuses, such as those based on X86 architecture, face limitations in accuracy due to simple output information when using the 0x80 port and are unable to function properly when faults occur in memory or PCI/PCIE devices, as they require operational systems or BIOS startup stages, rendering diagnostic functions inaccessible.

Innovation Solution

A method and system that determine whether to enter a diagnostic mode after system startup, executing a diagnostic program to perform an accurate diagnosis, and continuing with a normal BIOS or EFI startup if not in diagnostic mode, with the diagnostic program being independent of the BIOS or EFI and loaded prior to startup to diagnose memory or PCI/PCIE errors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a special diagnostic program is operated in the operating system or BIOS startup stage, then diagnostic information can be obtained, but diagnostic functions cannot be realized when faults occur in memory or PCI/PCIE devices

Engineering Contradiction:
Improvediagnostic information accuracyVSAvoiddiagnostic function availability
Core Design Contradiction:
Measurement precisionVSReliability

Solution Approach 1:

The patent applies preliminary action by loading the diagnostic program into the cache memory before the BIOS startup process begins. This ensures that the diagnostic program is ready to execute even if memory or PCI/PCIE devices fail during normal startup, allowing diagnostics to be performed on hardware components before they are fully initialized and potentially detected as faulty.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses the cache memory as an intermediary to store and execute the diagnostic program independently of the main system memory and PCI/PCIE devices. This intermediary approach allows the diagnostic function to operate without relying on the very components being tested, resolving the contradiction between obtaining diagnostic information and maintaining diagnostic availability when those components fail.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If a debug program is added into the BIOS and debug information is output to the 0x80 port, then the system can perform basic diagnosis, but the output information is too simple to make accurate fault judgment

Engineering Contradiction:
Improvediagnostic operation simplicityVSAvoidfault judgment accuracy
Core Design Contradiction:
Ease of operationVSMeasurement precision

Solution Approach 1:

The patent replaces the simple 0x80 port output mechanism with a more sophisticated information output system that utilizes the display device (VGA) for detailed diagnostic information. By substituting the limited serial port output with graphical display output, the system maintains ease of operation while dramatically improving the precision and detail of fault judgment capability.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent transitions from one-dimensional text output via the 0x80 serial port to two-dimensional graphical output through the display device. This dimensional change allows for much richer diagnostic information presentation, including visual indicators, detailed error codes, and comprehensive system state information, thereby improving fault judgment accuracy without complicating the user interface.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Loss of information

If devices such as memory and VGA are initialized before diagnostic mode is entered, then detailed information can be displayed after diagnosis, but diagnostic functions cannot be realized when these devices have faults

Engineering Contradiction:
Improvediagnostic information completenessVSAvoiddiagnostic function availability
Core Design Contradiction:
Loss of informationVSReliability

Solution Approach 1:

The patent implements preliminary action by loading the diagnostic program into the CPU cache before the BIOS initialization process begins. This timing ensures that the diagnostic program is available in a protected memory location independent of the system memory and VGA devices, allowing diagnostics to be executed even when these devices are faulty, while still enabling detailed information display when they function properly.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8719644B2Method and system for diagnosing apparatus
Publication Date: 2014.05.06 HUAWEI TECH CO LTD
  • US8719644B2 patent drawing
  • US8719644B2 patent drawing
  • US8719644B2 patent drawing

AI summary

A method and a system for diagnosing an apparatus are provided. The method for diagnosing the apparatus includes: determining whether the apparatus is to enter a diagnostic mode after a system is started; performing a diagnosis of the apparatus by executing a diagnostic proge apparatus is determined to enter the diagnostic mode; and performing a normal BIOS or EFI startup when the apparatus is determined not to enter the diagnostic mode. An accurate diagnosis of the apparatus can be realized by firstly determining whether the apparatus is to enter a diagnostic mode after a system is started, if yes, then the apparatus entering the diagnostic mode, and if not, then the apparatus performing a normal BIOS or EFI startup. Moreover, in case of a memory or PCI/PCIE bus error in the apparatus, since the diagnostic program is loaded prior to the BIOS startup, the fault can be diagnosed.