Multi-thread Processor Error Detection via Data Compare Engine
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Microprocessors in critical applications face challenges in detecting and correcting errors in real-time to prevent system failures due to transient and permanent faults, which can lead to catastrophic malfunctions.
Innovation Solution
A multi-thread processor architecture with two processors executing multiple threads each, utilizing data compare engines to detect errors by comparing outputs across threads and correcting them by selectively replacing faulty data, thereby ensuring timely error detection and correction.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multiple threads execute the same instruction simultaneously on multiple processors, then error detection capability is improved, but device complexity increases
Solution Approach 1:
The system divides the processing workload into multiple independent threads that execute the same instruction simultaneously on different processors. Each thread operates independently but produces comparable results, allowing error detection through result comparison without requiring complex inter-thread communication or coordination mechanisms.
Solution Approach 2:
The system creates multiple copies of the same instruction execution across different processors and threads. By executing identical operations in parallel and comparing the results, the system can detect errors in any single execution without requiring the copies to share state or communicate, simplifying the overall architecture.
2Measurement precision
If data comparison is performed across multiple threads to detect errors, then measurement precision is improved, but loss of time increases
Solution Approach 1:
The system performs data comparison at specific periodic intervals rather than continuously. By comparing results after a predetermined number of instruction executions or at designated checkpoint moments, the system achieves error detection without the overhead of constant comparison operations, reducing time loss while maintaining detection precision.
3Reliability
If error correction is implemented by replacing faulty data, then reliability is improved, but device complexity increases
Solution Approach 1:
The system implements self-service error correction where the multiple thread executions inherently provide the correction mechanism. When an error is detected in one thread through comparison, the correct data from another thread automatically replaces the faulty data without requiring external intervention or complex correction logic, as the system already possesses the correct value through parallel execution.
Data Source
AI summary
A system for detecting errors and correcting errors in a multi-thread processor is disclosed. The multi-thread processor includes a first processor and a second processor. First processor executes a first thread and a second thread. Second processor executes a third thread and fourth thread. An instruction execution is initiated in all four threads. Output of the instruction execution from all four threads are compared for a match by a data compare engine to detect an error in execution of the instruction. When output of the instruction execution from one of the four threads does not match, an error in execution is detected and the output is replaced by one of the other three threads whose output does match. When output of the instruction execution by two or more threads does not match, error is detected, but not corrected.


