Program Flow Monitoring for Deterministic Firmware Safety Checks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Automotive radar systems require strict adherence to the intended sequence of program instructions to ensure safety, but existing methods are costly and challenging to implement due to hardware complexity and potential deviations caused by errors or interference.

Innovation Solution

A program flow monitoring system using a PFM unit that generates an error-checking value based on code values executed by a processor, comparing it to an expected return value to determine if instructions were executed in the intended sequence, with the PFM unit designed to higher safety standards than the processor.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If processors are designed to meet higher safety standards (ISO 26262), then reliability of instruction sequence execution is improved, but device complexity and manufacturing cost increase

Engineering Contradiction:
Improveinstruction sequence execution reliabilityVSAvoidprocessor design complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system separates the safety monitoring function from the main processor by introducing an independent PFM unit. The processor handles normal computation while the PFM unit independently verifies instruction sequence integrity, dividing the safety assurance task into dedicated monitoring components rather than requiring the entire processor to meet highest safety standards.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The PFM unit acts as an intermediary between the processor and the safety verification process. It receives code values from the processor, independently generates error-checking values, and compares them against expected values, serving as a mediator that verifies processor output without requiring the processor itself to be redesigned to higher safety standards.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If safety monitoring units are employed to perform tests on radar components, then safety monitoring capability is improved, but device complexity and cost increase

Engineering Contradiction:
Improvesafety monitoring capabilityVSAvoidsystem component complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The PFM unit serves multiple functions: it monitors instruction sequence execution, generates error-checking values, and can detect various types of errors including hardware errors, electromagnetic radiation effects, and malicious interference. This multi-functional approach consolidates safety monitoring capabilities into a single versatile component rather than requiring separate specialized units for each monitoring task.

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

Solution Approach 2:

The processor outputs code values that are automatically fed into the PFM unit for verification. The system performs self-monitoring where the processor's own execution trace is continuously verified by the PFM unit without requiring external monitoring equipment, enabling the system to monitor itself.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10536168B2Program flow monitoring for deterministic firmware functions
Publication Date: 2020.01.14 INFINEON TECHNOLOGIES AG
  • US10536168B2 patent drawing
  • US10536168B2 patent drawing
  • US10536168B2 patent drawing

AI summary

The present disclosure relates to a safety system having a memory unit configured to store a series of executable instructions. In some embodiments, the executable instructions are grouped into code parts, and each code part is assigned a predefined code value. A processor is configured to execute the series of executable instructions, and to output the predefined code values respectively as the code parts are executed. A program flow monitoring (PFM) unit is configured to respectively receive the predefined code values from the processor, such that the PFM unit generates an error-checking value from the predefined code values. A verification unit is configured to compare the error-checking value to an expected return value to determine whether the series of executable instructions executed properly.