Dynamic Binary Translation for Transient Fault Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software-only approaches to transient fault detection require access to source code and modifications to the compilation process, making them impractical for many applications, and they often result in significant performance degradation.

Innovation Solution

A method and apparatus that utilize dynamic binary translation to transform code by inserting reliability instructions into binary code using a just-in-time compiler, which duplicates critical instructions and validates data before storage, allowing for transient fault detection without hardware modifications and offering customizable reliability and performance trade-offs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If static compilation techniques are used for fault detection, then reliability is improved, but ease of operation deteriorates due to requiring source code access and compilation process modifications

Engineering Contradiction:
Improvefault detection capabilityVSAvoidapplication deployment simplicity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent replaces the mechanical process of static compilation (requiring source code access and compilation modifications) with a runtime binary translation system. The just-in-time compiler dynamically translates and instruments binary code during execution, eliminating the need for source code access and pre-compilation steps, thus improving ease of operation while maintaining fault detection capability.

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

2Reliability

If comprehensive fault detection is implemented, then reliability is improved, but productivity deteriorates due to significant performance degradation

Engineering Contradiction:
Improveapplication reliabilityVSAvoidapplication execution speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements selective fault detection by allowing users to specify which code regions require monitoring. The system performs comprehensive validation only on user-designated critical regions rather than uniformly across the entire application, reducing the performance overhead while maintaining reliability for the most important parts of the system.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system dynamically adjusts the level of fault detection based on runtime conditions and user specifications. The just-in-time compiler can adaptively apply instrumentation to different code regions based on their criticality, allowing the system to optimize the balance between reliability and performance during execution rather than using a fixed comprehensive approach.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8291394B2Method and apparatus for detecting transient faults via dynamic binary translation
Publication Date: 2012.10.16 INTEL CORP
  • US8291394B2 patent drawing
  • US8291394B2 patent drawing
  • US8291394B2 patent drawing

AI summary

A method for detecting transient fault includes translating binary code to an intermediate language code. An instruction of interest in the intermediate language code is identified. Reliability instructions are inserted in the intermediate language code to validate values from the instruction of interest. The intermediate language code is translated to binary code. Other embodiments are described and claimed.