Fault Tolerant Multi-Threaded Processor for Real-Time Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Real-time fault tolerant systems, such as those in critical applications like control systems for cars, planes, and financial systems, face challenges in quickly identifying and resolving errors due to the limitations of existing fault tolerant processor designs that often rely on multiple cores or voting systems, which can be inefficient in terms of space and power consumption.

Innovation Solution

A fault tolerant multi-threaded processor design that uses temporal and/or spatial separation of instructions across two or more threads, where each instruction is fetched, decoded, and executed by multiple threads, with comparison hardware logic to quickly identify mismatches and raise errors, thereby allowing for rapid error detection and resolution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple cores or voting systems are used for fault tolerance, then reliability is improved, but device complexity and power consumption increase

Engineering Contradiction:
Improvefault toleranceVSAvoidprocessor structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The processor is segmented into multiple threads that can execute instructions independently. Each thread maintains separate register files and instruction streams, allowing the system to detect faults by comparing results from different thread executions of the same instruction, thereby achieving fault tolerance without requiring multiple complete processor cores

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The processor design allows threads to share common execution resources such as execution units and memory interfaces while maintaining separate architectural state. This multi-functionality enables the same hardware resources to serve multiple threads, reducing overall device complexity compared to having separate cores for each thread while still providing fault detection capabilities

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

2Reliability

If multiple cores or voting systems are used for fault tolerance, then reliability is improved, but power consumption increases

Engineering Contradiction:
Improvefault toleranceVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by stationary object

Solution Approach 1:

Multiple threads are merged into a single processor context, sharing execution units, caches, and other hardware resources. The fault tolerance mechanism reuses the same execution pipeline for multiple threads rather than duplicating entire core structures, significantly reducing power consumption while maintaining the ability to detect and respond to faults through result comparison

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If errors are detected using traditional fault tolerant methods, then reliability is maintained, but error detection speed is insufficient for real-time systems

Engineering Contradiction:
Improveerror detectionVSAvoiderror detection time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The processor maintains continuous execution of multiple threads through the same pipeline, with fault detection occurring as a continuous side effect of normal execution. Comparison logic continuously monitors results from parallel thread executions, enabling real-time error detection without interrupting the flow of useful computational work

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The system implements feedback through comparison logic that continuously compares results from different thread executions. When a mismatch is detected, the feedback mechanism triggers immediate error handling procedures, ensuring rapid error detection and response in real-time systems

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10423417B2Fault tolerant processor for real-time systems
Publication Date: 2019.09.24 MIPS TECH INC
  • US10423417B2 patent drawing
  • US10423417B2 patent drawing
  • US10423417B2 patent drawing

AI summary

A fault tolerant multi-threaded processor uses the temporal and/or spatial separation of instructions running in two or more different threads. An instruction is fetched, decoded and executed by each of two or more threads to generate a result for each of the two or more threads. These results are then compared using comparison hardware logic and if there is a mismatch between the results obtained, then an error or event is raised. The comparison is performed on an instruction by instruction basis so that errors are identified (and hence can be resolved) quickly.