Transient Error Correction in Spatial Fabric Architectures

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Spatial fabric architectures like FPGAs and CGRAs face challenges in correcting transient errors due to the lack of distinction between canonical and speculative states, and traditional error correction methods like N-modular redundancy are costly in terms of hardware overhead.

Innovation Solution

The proposed solution involves inferring a corrected state from a corrupted state by replaying architectural execution using portions of the corrupted state, utilizing latent state within the system to recreate the valid state without significant additional hardware overhead, and optimizing buffer configurations for improved recoverability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If N-modular redundancy is used to correct transient errors, then error correction capability is improved, but hardware area increases significantly

Engineering Contradiction:
Improveerror correction capabilityVSAvoidhardware area
Core Design Contradiction:
ReliabilityVSArea of stationary object

Solution Approach 1:

The patent creates a logical copy of the computational state by capturing and storing state information (register values, configuration data) that can be used to replay computations. Instead of physically replicating hardware components N times as in N-modular redundancy, the system uses software-based state copying and replay mechanisms to achieve error correction with minimal additional hardware overhead.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent performs preliminary actions by capturing and storing the computational state (register files, configuration parameters, intermediate results) before errors can propagate. This state capture mechanism allows the system to rewind and replay computations from a known good state, preventing the need for redundant hardware while maintaining error correction capability.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If computational state is captured for error recovery, then error correction is enabled, but system complexity increases

Engineering Contradiction:
Improveerror correctionVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent makes existing hardware components multi-functional by having them serve both their primary computational function and error recovery function. For example, register files store both active computational data and recovery state information; configuration memory holds both operational parameters and restoration data. This eliminates the need for separate dedicated recovery hardware, reducing overall system complexity.

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

Solution Approach 2:

The system performs self-service error recovery by automatically capturing its own state, detecting errors, and replaying computations without external intervention. The computational device uses its existing resources (registers, memory, control logic) to autonomously recover from transient errors, minimizing the need for additional complex control mechanisms.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20230124832A1Concept for Handling Transient Errors
Publication Date: 2023.04.20 INTEL CORP
  • US20230124832A1 patent drawing
  • US20230124832A1 patent drawing
  • US20230124832A1 patent drawing

AI summary

Examples relate to a concept for handling transient errors. An apparatus for correcting transient errors in a computational device comprises interface circuitry, machine-readable instructions and processing circuitry for executing the machine-readable instructions to obtain a signal indicating that a transient error has been detected in the computational device, the computational device being configured to perform computations using processing elements and connections between the processing elements, extract a state of the computational device, the state comprising at least one of present and previous values transmitted via the connections between the processing elements and state contained within the one or more processing elements, compute a corrected state of the computational device based on the state extracted from the computational device, and configure a computational device with the corrected state.