Software Lock Step for Asymmetrical SoC Safety

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

There is a need for a software-based lock step solution for end user application software on System on Chip (SoC) with dual asymmetrical CPUs that were not designed with hardware-built lock step schemes, as existing hardware solutions are not applicable and standard software solutions are not available.

Innovation Solution

A software architecture that partitions the application software into startup and runtime components, with a second runtime software executing on a less capable processing unit, allowing for comparison of outputs to detect failures and implement a software-based lock step scheme with minimal modification to the original software, leveraging the asymmetrical characteristics of the CPUs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a hardware-based lock step scheme is implemented, then reliability is improved, but device complexity increases and adaptability decreases for SoCs not designed with hardware lock step

Engineering Contradiction:
Improvefailure detection capabilityVSAvoidcompatibility with existing SoC
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent replaces hardware-based lock step mechanisms with a software-based implementation. The software lock step scheme uses virtual machine monitors and software-based comparison logic to achieve failure detection without requiring hardware modifications, thus maintaining compatibility with existing SoC architectures while providing reliability benefits.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The software-based lock step solution provides universal applicability across different SoC architectures. By implementing the lock step functionality through software rather than hardware, the solution can be deployed on various existing SoC platforms without requiring specific hardware features, making it adaptable to both asymmetrical and symmetrical processor configurations.

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

2Adaptability or versatility

If a software-based lock step solution is implemented on asymmetrical CPUs, then adaptability is improved, but device complexity increases due to multiple runtime software versions

Engineering Contradiction:
Improvecompatibility with asymmetrical SoCVSAvoidsoftware architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the software architecture into distinct components: a first runtime software executing on the first processing unit, a second runtime software executing on the second processing unit, and a virtual machine monitor that coordinates between them. This segmentation allows each component to be optimized independently for its specific processor while maintaining overall system coherence through the virtual machine monitor.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The virtual machine monitor serves as an intermediary layer between the two runtime software versions and the hardware processors. It manages the execution context switching, handles communication between the different runtime environments, and coordinates the lock step comparison operations, thereby simplifying the overall system architecture despite the presence of multiple software versions.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If two runtime software versions are executed for lock step comparison, then reliability is improved through failure detection, but productivity decreases due to additional execution overhead

Engineering Contradiction:
Improvefailure detection accuracyVSAvoidexecution speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements periodic lock step comparison at defined checkpoints during execution rather than continuous comparison. The virtual machine monitor periodically suspends execution, compares the state of both runtime software instances, and resumes execution. This periodic approach maintains reliability through regular verification while minimizing the performance overhead by limiting comparison frequency to critical checkpoints.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The system performs partial lock step comparison by selectively comparing only critical state variables and registers at each checkpoint rather than the entire system state. This partial comparison approach provides sufficient reliability for safety-critical functions while reducing the computational overhead and execution time penalty compared to full state comparison.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS20240330153A1Method for monitoring the execution of an application software implementing a safety function
Publication Date: 2024.10.03 STMICROELECTRONICS INT NV
  • US20240330153A1 patent drawing
  • US20240330153A1 patent drawing
  • US20240330153A1 patent drawing

AI summary

Method for monitoring the execution of an application software implementing a safety function, comprising implementing a software-based lock step on a dual asymmetrical processing units structure, the processing units structure including a first processing unit and a second processing unit having, due to the asymmetry, a different hardware structure and/or lower computations capability with respect to the first processing unit. A first runtime software is executed on the first processor while a second runtime software being a potentially modified version of the first runtime software and having the same behavior as that of the first runtime software, is executed on the second processor.