Firmware Error Injection Interface for Microprocessor Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Microprocessor systems face challenges in testing software error handlers due to the difficulty in injecting hardware errors without specialized and costly hardware tools, and existing error injection interfaces vary across processor revisions, requiring extensive re-coding of software.

Innovation Solution

A software interface is defined between operating system and application software and processor/platform firmware to inquire about and task error injection capabilities, allowing for the injection of hardware errors without detailed knowledge of the error injection interface, using a query mode and injection command mode with error hierarchy levels to support various error types.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If specialized hardware tools are used for error injection, then error injection capability is achieved, but cost and device complexity increase significantly

Engineering Contradiction:
Improveerror handler testing capabilityVSAvoidhardware tool complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces firmware as an intermediary layer between the software error handler and the hardware error injection interface. The firmware exposes a standardized error injection interface that abstracts the complex hardware details, allowing software to test error handlers through a simplified interface without directly interacting with the complex hardware error injection mechanisms.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a software-based emulation of hardware error injection through firmware. Instead of requiring physical hardware error injection tools, the system emulates error injection capabilities in firmware, which can be controlled through standard software interfaces. This emulation approach maintains the functional capability while eliminating the need for expensive specialized hardware.

Inventive Principle:
Principle #26Copying

2Measurement precision

If error injection interface is customized for each processor revision, then error injection accuracy is improved, but software re-coding requirements increase

Engineering Contradiction:
Improveerror injection accuracyVSAvoidsoftware development effort
Core Design Contradiction:
Measurement precisionVSEase of manufacture

Solution Approach 1:

The patent implements a universal error injection interface through firmware that works across multiple processor revisions. The firmware layer provides a standardized interface that can accommodate different hardware configurations without requiring software re-coding. This universal interface maintains error injection accuracy for each processor revision while eliminating the need for software customization.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent uses parameter changes in the firmware to adapt the error injection interface to different processor revisions. Instead of changing the software interface, the firmware adjusts its internal parameters and behavior based on the specific processor revision, allowing the same software to work correctly across different hardware versions.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If hardware error injection is implemented, then error handler testing is enabled, but cost of specialized hardware increases

Engineering Contradiction:
Improveerror detection and testing capabilityVSAvoidspecialized hardware cost
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent replaces the mechanical/hardware-based error injection system with a firmware-based software emulation. Instead of using physical hardware error injection tools, the system uses firmware that can be programmed to simulate error conditions. This substitution eliminates the need for expensive specialized hardware while maintaining the ability to test error handlers reliably.

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

Solution Approach 2:

The patent creates a software-based copy of the hardware error injection functionality through firmware. The firmware emulates the behavior of hardware error injection mechanisms, providing the same functional capability without requiring the actual specialized hardware. This emulation approach significantly reduces cost while maintaining testing capability.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS7587639B2System and method for error injection using a flexible program interface field
Publication Date: 2009.09.08 INTEL CORP
  • US7587639B2 patent drawing
  • US7587639B2 patent drawing
  • US7587639B2 patent drawing

AI summary

A system and method for injecting hardware errors into a microprocessor system is described. In one embodiment, a software interface between system software and system firmware is established. Software test and debug for software error handlers may thus be supported. The software interface may support both a query mode call and a seed mode call. When a query mode call is issued, it may request whether or not the system firmware and hardware support the injection of a specified kind of error. A return from this call may be used to make a list of supported errors for injection. When a seed mode call is issued, the corresponding error may be injected into the hardware.