Pseudo Lockstep Execution for Silent Data Corruption Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing CPU cores lack robust error detection mechanisms to identify Silent Data Corruption (SDC) errors, which can result from technology node shrinkage, unreliable transistors, and insufficient burn-in testing.

Innovation Solution

Implementing a pseudo-lockstep error detection mechanism where a primary core and a secondary core execute the same instruction segment, with a line eviction synchronizer ensuring cache line comparison for exact matches, thereby detecting errors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional error checking mechanisms are implemented in CPU cores, then detection capability for some errors is improved, but the mechanisms are not robust enough to detect SDC errors and may cause performance overhead

Engineering Contradiction:
Improveerror detection capabilityVSAvoiderror checking mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent uses a secondary core that copies the execution of the primary core to detect SDC errors. The secondary core executes the same instructions and data as the primary core, allowing comparison of results to identify silent data corruption without requiring complex checking mechanisms within each core

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent introduces a result comparator as an intermediary component that compares the outputs of the primary and secondary cores. This mediator detects discrepancies indicating SDC errors without requiring complex error checking logic within the CPU cores themselves

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If multiple cores execute the same instructions for error detection, then SDC detection capability is improved, but synchronization of cache lines becomes complex

Engineering Contradiction:
ImproveSDC detection capabilityVSAvoidcache synchronization complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent employs a line eviction synchronizer that uses feedback from cache line eviction events to coordinate between the primary and secondary cores. When the primary core evicts a cache line, the synchronizer triggers the secondary core to evict the corresponding cache line, ensuring synchronization without complex advance coordination

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent establishes preliminary correspondence between cache lines of the primary and secondary cores before eviction. The eviction table pre-associates cache line indices from both cores, so when eviction occurs, the corresponding lines are already identified and can be compared immediately without complex runtime synchronization

Inventive Principle:
Principle #10Preliminary action

3Reliability

If cores run in error detection mode continuously, then error detection reliability is improved, but productivity is reduced due to redundant execution

Engineering Contradiction:
Improveerror detection reliabilityVSAvoidcomputational efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements partial error detection by using the secondary core only for executing instructions and comparing results, while relying on the primary core for actual productive work. The secondary core performs excessive execution of the same instructions purely for detection purposes, accepting the redundancy as necessary for SDC detection

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent makes the secondary core multi-functional by using it both for error detection (comparing results with primary core) and for potential productive work. The same core infrastructure serves dual purposes: detecting SDC errors through result comparison and contributing to computational output when configured appropriately

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

Data Source

PatentUS12306759B2Pseudo lock-step execution across CPU cores
Publication Date: 2025.05.20 GOOGLE LLC
  • US12306759B2 patent drawing
  • US12306759B2 patent drawing
  • US12306759B2 patent drawing

AI summary

The present disclosure provides for automatically detecting errors, such as SDC, in a multi-core computing environment. For example, cores may run in an error detection mode, in which multiple cores repeat the same execution of instructions and the results are compared. Based on the results, it may be determined whether one of the cores is failing.