Fault Tolerant CRC Verification Using Segmented Hardware and Software

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for verifying data integrity in safety-related computer systems are inefficient, particularly for large data sets, as they consume a significant portion of runtime, and existing hardware engines cannot provide the necessary safety-level CRC calculations, making devices nearly useless for real applications.

Innovation Solution

A method involving the generation of initial values on a safety-related execution environment, calculation of CRC reference values, and periodic verification using a non-safety-related hardware engine, with specified actions upon discrepancies, ensuring fault-tolerant data integrity verification.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If CRC calculations are performed using safety-related software on the execution environment, then safety-level verification is ensured, but the calculation time becomes excessively long, consuming 75% of runtime for large data sets

Engineering Contradiction:
Improvesafety-level verificationVSAvoidintegrity check runtime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides the CRC verification process into two segments: a fast hardware-based CRC calculation for initial verification and a slower safety-related software-based CRC calculation for final safety-level verification. This segmentation allows the system to use the hardware engine for quick checks while reserving the safety-critical verification for the software component, thereby reducing the time consumed by safety verification while maintaining safety standards.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a non-safety-related hardware CRC engine as an intermediary component that performs preliminary CRC calculations. This hardware engine acts as a mediator between the data integrity check requirement and the safety verification requirement, providing fast computation that can be used to pre-verify data before the final safety-critical verification step.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If a non-safety-related hardware CRC engine is used for calculations, then computation speed increases, but the safety-level guarantee is compromised

Engineering Contradiction:
ImproveCRC calculation speedVSAvoidsafety-level guarantee
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the verification function by assigning different roles to different components: the non-safety-related hardware CRC engine handles high-speed calculations for large data sets, while the safety-related software performs the final safety-level verification. This segmentation allows each component to operate in its optimal performance zone without compromising the other's strengths.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by using the hardware CRC engine for only the preliminary verification step rather than the complete verification process. The hardware engine performs a partial verification function (speed-optimized CRC calculation) that is supplemented by the safety-related software's comprehensive verification, ensuring that safety guarantees are maintained while still benefiting from the hardware's computational speed.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If periodic integrity checks are performed every 20 ms, then data integrity is continuously verified, but the device runtime is consumed, making it almost useless for real applications

Engineering Contradiction:
Improvedata integrity verificationVSAvoideffective runtime for applications
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the integrity verification process into a fast hardware-based component and a slower safety software-based component. By using the hardware CRC engine for the periodic checks, the system can maintain continuous integrity verification (every 20 ms) without the excessive time consumption associated with purely software-based verification, thereby preserving effective runtime for real applications.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses a copying approach by creating a hardware-based CRC calculation that mirrors the functionality of the software-based CRC calculation but with significantly improved performance characteristics. This hardware copy of the CRC function allows the system to perform integrity checks at the required frequency without the runtime penalty of repeated software calculations.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10963334B2Method and computer system for fault tolerant data integrity verification of safety-related data
Publication Date: 2021.03.30 TTTECH AUTO AG
  • US10963334B2 patent drawing
  • US10963334B2 patent drawing
  • US10963334B2 patent drawing

AI summary

A method for fault tolerant data integrity verification of safety-related data in a safety-related computer system is disclosed. The method includes a) randomly generating a set of at least two or more initial values; b) calculating, for each of the initial values, one specific CRC reference value, wherein each specific CRC reference value is calculated jointly from the safety-related data to be verified and the initial value associated with the specific CRC reference value; c) storing the pairs of initial value and associated specific CRC reference value; and d) following the steps a)-c), d1) randomly choosing an initial value out of the set of initial values generated in step a), d2) the non-safety-related hardware-engine calculating a CRC value jointly from the randomly chosen initial value and the safety-related data to be verified, and d3) comparing the calculated CRC value from step d2) to the reference CRC value.