Compute Unit BIST Instances for Silent Data Corruption Detection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Computer chips, such as system-on-chips, multi-chip modules, or accelerators, contain subtle defects like voids, cracking, resistive metal shorts, or transistor voltage shifts that are difficult to detect during testing, leading to data computation errors and potential larger issues in product usability.
Innovation Solution
A built-in self-testing (BIST) controller is used to generate random strings of bits, provide them to compute units, receive results, compress them into signatures, and compare with expected signatures to detect defects in compute units like matrix multiplication units (MXUs) or vector processing units (VPUs).
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional testing methods are used to detect defects in compute units, then the testing process is simple to implement, but subtle defects like voids, cracking, resistive metal shorts, or transistor voltage shifts cannot be detected
Solution Approach 1:
The BIST controller enables the compute unit to test itself by generating test input data, processing it through the compute unit, and comparing the output against expected results. This self-testing mechanism detects subtle defects without requiring external testing equipment, thereby improving reliability while avoiding the complexity of external test systems.
Solution Approach 2:
The BIST controller performs testing operations before the compute unit is deployed or during idle periods. Test patterns are generated and applied in advance to detect potential defects early, preventing faulty units from being deployed and causing issues in production environments.
2Measurement precision
If multiple instances of BIST controller are used to test high-bandwidth compute units, then testing accuracy is improved, but device complexity increases
Solution Approach 1:
The BIST controller is divided into multiple independent instances, with each instance responsible for testing a specific portion of the compute unit's output. This segmentation allows parallel testing of different data streams, improving measurement precision by covering the entire high-bandwidth output without requiring a single overly complex testing mechanism.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Aspects of the disclosure are directed to built-in self-testing instances for detecting defects in a compute unit of a computer chip. Each instance can correspond to a calculation portion of the compute unit, such as data column of a matrix multiplication unit. The instances can include data generators for generating random bits, data shapers for customizing the random bits, and data compactors for generating signatures to determine if the compute unit is outputting the correct results. The instances can account for potentially massive data bandwidth of the compute unit since each instance can perform independent testing for respective calculation portions of the compute unit.