Tile-Based Check Values for GPU Data Integrity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current GPU subsystems in safety-critical applications, such as automotive ADAS, face challenges in ensuring data content integrity due to transient or permanent failures, lack of error correcting code (ECC) memory, and absence of built-in runtime diagnostics, which can lead to undetected errors and safety hazards.
Innovation Solution
The GPU subsystem performs the same graphics operation twice to generate two images, producing data integrity check values for each portion, and compares these values to detect operational faults, allowing for concurrent and online testing without entering a dedicated test mode, thereby ensuring data integrity and detecting faults in hardware components and buses.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the GPU subsystem performs graphics processing operations to generate image data for display, then the productivity and functionality of the system is improved, but the risk of transient or permanent hardware failures introducing errors into the output data increases
Solution Approach 1:
The patent applies preliminary action by performing a first graphics processing operation to generate initial image data before performing a second graphics processing operation. This preliminary processing allows the system to establish a reference dataset that can be compared against subsequent processing results to detect errors introduced by hardware failures.
Solution Approach 2:
The patent implements copying by performing the same graphics processing operation twice - once to generate first image data and again to generate second image data. By creating duplicate processing results through repeated operations, the system can compare the copies to identify errors introduced during processing, thereby maintaining data integrity while preserving productivity.
2Reliability
If traditional error detection methods such as ECC memory or built-in runtime diagnostics are implemented, then the reliability and fault detection capability is improved, but the device complexity and silicon area increase
Solution Approach 1:
The patent applies self-service by using the GPU subsystem's own processing capability to perform error detection. Instead of relying on separate ECC memory or dedicated diagnostic hardware, the system uses its primary graphics processing unit to execute duplicate operations and compare results, thereby achieving fault detection without additional hardware complexity.
Solution Approach 2:
The patent implements universality by making the GPU subsystem perform multiple functions - both primary graphics processing and error detection through duplicate operations. The same processing unit that generates image data also detects errors by comparing results from repeated operations, eliminating the need for specialized error detection hardware and reducing overall device complexity.
3Reliability
If the GPU subsystem performs duplicate graphics processing operations to detect errors, then the reliability and error detection capability is improved, but the processing time and energy consumption increase
Solution Approach 1:
The patent applies periodic action by performing graphics processing operations in repeated cycles - executing the same operation multiple times with periodic comparison of results. This periodic execution pattern allows error detection to be integrated into the normal processing flow rather than requiring separate dedicated test periods, thereby minimizing time loss while maintaining detection accuracy.
Data Source
AI summary
A graphics processing unit (GPU) of a GPU subsystem of a computing device processes graphics data to produce a plurality of portions of a first image, and to produce a plurality of portions of a second image. The GPU generates a plurality of data integrity check values associated with the plurality of portions of the first image, and a plurality of data integrity check values associated with the plurality of portions of the second image. The GPU determines whether each of the plurality of portions of the second image matches a corresponding portion of the first image. The GPU determines, prior to producing every portion of the second image, whether an operational fault has occurred in the GPU subsystem based at least in part the determination of whether each of the plurality of portions of the second image matches a corresponding portion of the first image.


