Compiler Safety Mechanism for Multi-Core Data Integrity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In safety-critical systems like automotive and industrial applications, existing technologies face challenges in ensuring data integrity across multiple processor cores, which can lead to malfunctions and accidents due to improper deployment of safety systems caused by data corruption, especially when cores operate out of phase or with different clock sources.

Innovation Solution

A method utilizing multiple independent processor cores to compare critical variables through a queued comparator, allowing cores to operate out of phase and reducing overhead, where critical sections of code are marked and checked for equality, triggering corrective actions if discrepancies are detected, and implementing compiler-generated checking code to ensure safety compliance and system health.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple processor cores operate out of phase with independent clock sources, then system flexibility and redundancy are improved, but timing synchronization and data integrity become more difficult to maintain

Engineering Contradiction:
Improvesystem flexibilityVSAvoiddata integrity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system divides the safety-critical code execution into separate segments handled by multiple independent processor cores, each operating with its own clock source. The segmentation allows cores to execute independently while a comparator mechanism ensures data integrity by comparing results from each core segment.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A comparator mechanism acts as an intermediary between the independent processor cores, receiving results from each core and verifying their equality. This intermediary component enables cores to operate independently with different clock sources while maintaining data integrity through comparison.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If traditional safety checking mechanisms are implemented, then data integrity is improved, but system overhead and complexity increase

Engineering Contradiction:
Improvedata integrityVSAvoidsystem overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system creates copies of the safety-critical code to execute on multiple independent processor cores simultaneously. This copying approach enables safety checking through comparison of results from different copies, reducing the need for complex inter-core communication and synchronization mechanisms.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The same safety-critical code is executed on multiple processor cores, ensuring homogeneous processing of critical functions. This homogeneity allows for straightforward comparison of results to verify data integrity, simplifying the safety checking mechanism while maintaining reliability.

Inventive Principle:
Principle #33Homogeneity

3Loss of time

If lockstep execution is used, then timing synchronization is improved, but system flexibility and independence of cores are reduced

Engineering Contradiction:
Improvetiming synchronizationVSAvoidcore independence
Core Design Contradiction:
Loss of timeVSAdaptability or versatility

Solution Approach 1:

The system performs preliminary actions by executing safety-critical code on multiple independent cores before comparison is needed. Each core independently processes the code with its own timing, and results are compared afterward, eliminating the need for continuous lockstep synchronization while maintaining safety.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of continuous lockstep execution, the system uses periodic comparison of results from independent cores. The cores operate independently with their own clock sources, and the comparator periodically checks for equality of results, providing timing flexibility while maintaining data integrity through periodic verification.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS8935679B2Compiler optimized safety mechanism
Publication Date: 2015.01.13 NXP USA INC
  • US8935679B2 patent drawing
  • US8935679B2 patent drawing
  • US8935679B2 patent drawing

AI summary

An approach is provided in which a set of common instructions are each executed by at least two processor cores. Each of the processor cores queues values resulting from at least one of the common instructions (a critical section). The queued values are compared by a queued comparator. An exception is issued in response to the comparison revealing unequal values having been queued by the processor cores.