Out-of-Order Register Error Correction for Speculative State Commit

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current error detection and correction schemes in processors are inadequate for handling both speculative and committed register states, as they require different levels of robustness and efficiency, particularly in managing transient and persistent errors within processor registers.

Innovation Solution

A processor design that employs a less robust error protection scheme for speculative register files and a more robust scheme for committed register files, with a check circuit and control unit to detect errors and reexecute instructions as necessary, ensuring transparent error correction and monitoring.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a robust error protection scheme is applied to speculative register files, then error detection capability is improved, but hardware complexity and latency increase

Engineering Contradiction:
Improveerror detection capabilityVSAvoidhardware complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies different error protection schemes to different register files based on their specific requirements. The speculative register file uses a lighter error protection scheme (first error protection scheme) while the committed register file uses a more robust scheme (second error protection scheme). This local differentiation optimizes the balance between error detection capability and hardware complexity for each component's specific function.

Inventive Principle:
Principle #3Local quality

2Reliability

If a robust error protection scheme is applied to speculative register files, then error detection capability is improved, but execution latency increases

Engineering Contradiction:
Improveerror detection capabilityVSAvoidexecution latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements local quality by tailoring the error protection scheme to the specific needs of each register file. The speculative register file, which requires faster access for out-of-order execution, uses a less robust but faster error protection scheme. The committed register file, which stores final results, uses a more robust scheme. This resolves the latency contradiction by optimizing error protection timing and intensity to match the operational characteristics of each register stage.

Inventive Principle:
Principle #3Local quality

3Reliability

If error protection schemes are applied to both speculative and committed register states, then system reliability is improved, but hardware complexity increases

Engineering Contradiction:
Improvesystem reliabilityVSAvoidhardware complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies local quality by implementing differentiated error protection strategies for different register files. The first error protection scheme for speculative register files and the second error protection scheme for committed register files are optimized for their respective functions, reducing overall hardware complexity compared to applying a uniform robust scheme throughout.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent uses partial action by applying error protection selectively to different register files rather than uniformly to all registers. The degree of error protection is adjusted according to the criticality and function of each register file, implementing just enough protection where needed while minimizing unnecessary hardware overhead in less critical areas.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8078942B2Register error correction of speculative data in an out-of-order processor
Publication Date: 2011.12.13 ORACLE AMERICAN INC
  • US8078942B2 patent drawing
  • US8078942B2 patent drawing
  • US8078942B2 patent drawing

AI summary

In one embodiment, a processor comprises a first register file configured to store speculative register state, a second register file configured to store committed register state, a check circuit and a control unit. The first register file is protected by a first error protection scheme and the second register file is protected by a second error protection scheme. A check circuit is coupled to receive a value and corresponding one or more check bits read from the first register file to be committed to the second register file in response to the processor selecting a first instruction to be committed. The check circuit is configured to detect an error in the value responsive to the value and the check bits. Coupled to the check circuit, the control unit is configured to cause reexecution of the first instruction responsive to the error detected by the check circuit.