Error Detector Block Placement for Soft Error Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing soft error detection and recovery schemes in computing devices, such as Swift-R, are inadequate in protecting critical instructions and introduce significant performance overhead due to frequent voting operations, which can lead to undetected errors and vulnerability windows.
Innovation Solution
A method that embeds an error detector block after critical instructions in the executable program to detect soft errors and invoke a diagnosis routine, allowing for concurrent protection and reduced overhead, thereby enhancing error coverage and eliminating vulnerable intervals.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If frequent voting operations are performed in forward recovery schemes, then error detection coverage is improved, but performance overhead increases significantly
Solution Approach 1:
The patent implements periodic error detection by placing error detector blocks only after critical instructions rather than performing continuous voting operations. This periodic checking approach maintains error detection coverage for critical operations while significantly reducing the performance overhead associated with frequent voting operations in all instructions.
Solution Approach 2:
The patent applies error detection mechanisms selectively to critical instructions (memory write and control flow instructions) rather than uniformly to all instructions. This local application of error detection ensures high reliability for critical operations while minimizing the overall performance overhead by excluding non-critical instructions from frequent voting operations.
2Reliability
If always-on voting is performed before critical instructions, then error detection is continuous, but vulnerable intervals are created during instruction execution
Solution Approach 1:
The patent performs error detection in advance by placing error detector blocks immediately after critical instructions execute. This preliminary detection approach ensures that errors are detected before they can propagate to subsequent operations, eliminating vulnerable intervals while maintaining continuous error detection coverage for critical instructions.
Solution Approach 2:
The patent implements feedback mechanisms through error detector blocks that continuously monitor the execution state after critical instructions. These feedback loops detect errors as they occur and trigger appropriate recovery actions, eliminating vulnerable intervals by ensuring real-time error detection and response without interrupting the execution flow.
3Speed
If critical instructions are executed only once, then execution speed is improved, but error vulnerability increases
Solution Approach 1:
The patent performs error detection in advance by placing error detector blocks immediately after critical instructions execute. This preliminary detection approach ensures that errors are detected before they can propagate to subsequent operations, eliminating vulnerable intervals while maintaining continuous error detection coverage for critical instructions.
Solution Approach 2:
The patent implements feedback mechanisms through error detector blocks that continuously monitor the execution state after critical instructions. These feedback loops detect errors as they occur and trigger appropriate recovery actions, eliminating vulnerable intervals by ensuring real-time error detection and response without interrupting the execution flow.
Data Source
AI summary
A method for detecting and recovery from a soft error in a computing device is provided. In examples discussed herein, the method can be performed to detect soft errors that may occur during execution of a predefined critical instruction(s) and/or has been propagated in the computing device prior to the execution of the predefined critical instruction(s). Specifically, a software compiler may be used to embed an error detector block(s) after the predefined critical instruction(s). In this regard, the error detector block(s) can be executed after the predefined critical instruction(s) to detect the soft error. Accordingly, it may be possible to invoke a diagnosis routine to determine severity of the detected soft error and take appropriate action against the detected soft error. As such, it may be possible to protect the execution of the predefined critical instruction(s) concurrent to eliminating vulnerable voting intervals and reducing soft error detection overhead.


