GPU Memory Instruction Fault Checking via Master-Slave Requests

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Graphics Processing Units (GPUs) face challenges in fault tolerance, particularly in preventing Silent Data Corruption (SDC) in GPGPU code, where traditional fault detection mechanisms like ECC incur significant area overhead, and there is a need for a low-cost fault detection mechanism to protect both on-chip memories and logic, especially in power-efficient designs and critical market segments.

Innovation Solution

A system and method that converts slave requests to dummy operations, modifies the memory arbiter to issue N master and N slave global operations per cycle, uses slave requests for error checking, and employs parity information to verify master and slave operations and data, ensuring error detection and correction through redundant multithreading techniques like Inter-WaveFront and Inter-Compute Unit RMT.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional fault detection mechanisms such as ECC are used, then fault detection capability is improved, but area overhead increases significantly

Engineering Contradiction:
Improvefault detection capabilityVSAvoidarea overhead
Core Design Contradiction:
ReliabilityVSArea of stationary object

Solution Approach 1:

The patent implements fault detection by creating a redundant copy of the memory operation through master-slave instruction pairs. The slave instruction executes the same memory operation as the master instruction, and the results are compared to detect faults. This copying approach provides fault detection capability without requiring traditional ECC overhead, as the redundancy is achieved through instruction-level replication rather than bit-level checksums.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system uses the GPU's own existing computational resources (ALUs, memory interfaces) to perform the fault detection function. By utilizing the slave instruction execution and result comparison within the existing architecture, the system achieves fault detection without adding dedicated ECC hardware, thereby avoiding significant area overhead while maintaining reliability.

Inventive Principle:
Principle #25Self-service

2Reliability

If fault protection mechanisms are added to protect on-chip memories and logic, then reliability is improved, but device complexity increases

Engineering Contradiction:
Improvefault protection capabilityVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The master and slave instructions serve multiple functions: the master instruction performs the primary computation while the slave instruction simultaneously serves as both a computational unit and a fault detection reference. The comparison logic reuses existing data paths and ALU outputs, making the fault protection mechanism integrated into the normal execution flow rather than a separate additive layer, thus avoiding excessive complexity.

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

3Reliability

If slave requests are converted to dummy operations for error checking, then fault detection is improved, but memory bandwidth utilization decreases

Engineering Contradiction:
Improveerror detection capabilityVSAvoidmemory bandwidth utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent merges the fault detection function with the existing memory request handling infrastructure. Slave requests are processed through the same memory arbitration and issue logic as master requests, utilizing existing data paths and comparison units. The dummy operation conversion is implemented at the instruction scheduling level, allowing the memory subsystem to handle both master and slave requests efficiently without requiring dedicated error-checking memory paths, thereby minimizing impact on bandwidth utilization.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11726868B2System and method for protecting GPU memory instructions against faults
Publication Date: 2023.08.15 ADVANCED MICRO DEVICES INC
  • US11726868B2 patent drawing
  • US11726868B2 patent drawing
  • US11726868B2 patent drawing

AI summary

A system and method for protecting memory instructions against faults are described. The system and method include converting the slave instructions to dummy operations, modifying memory arbiter to issue up to N master and N slave global/shared memory instructions per cycle, sending master memory requests to memory system, using slave requests for error checking, entering master requests to the GM/LM FIFO, storing slave requests in a register, and comparing the entered master requests with the stored slave requests.