Error-tolerant Memory System for Machine Learning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Resistive memories used in machine learning devices have higher fault and defect rates compared to non-resistive types, which can affect the performance and reliability of machine learning systems.

Innovation Solution

An error-tolerant memory system that employs error detection codes to monitor and notify a host when a threshold number of errors is reached, allowing for continued operation until the threshold is exceeded, thereby enabling the use of high-performance resistive memories while minimizing user-noticeable impacts on results.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If error correction techniques are applied continuously to resistive memory, then system reliability is improved, but power usage and computational complexity increase

Engineering Contradiction:
Improvesystem reliabilityVSAvoidpower usage
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system performs preliminary error detection using error detection codes (EDC) continuously in the background. When errors are detected, the system prepares error correction actions only when necessary, rather than continuously applying correction mechanisms. This preliminary detection with conditional correction reduces unnecessary power consumption while maintaining reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The error correction mechanism is made dynamic by introducing a threshold parameter. The system transitions from static continuous error correction to dynamic conditional correction based on the detected error count. When the error count exceeds the threshold, error correction is activated; otherwise, the system operates with error detection only, optimizing the balance between reliability and power usage.

Inventive Principle:
Principle #15Dynamics

2Reliability

If error correction techniques are applied continuously to resistive memory, then system reliability is improved, but computational complexity increases

Engineering Contradiction:
Improvesystem reliabilityVSAvoidcomputational complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary error detection using error detection codes (EDC) continuously in the background. When errors are detected, the system prepares error correction actions only when necessary, rather than continuously applying correction mechanisms. This preliminary detection with conditional correction reduces unnecessary power consumption while maintaining reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The error correction mechanism is made dynamic by introducing a threshold parameter. The system transitions from static continuous error correction to dynamic conditional correction based on the detected error count. When the error count exceeds the threshold, error correction is activated; otherwise, the system operates with error detection only, optimizing the balance between reliability and power usage.

Inventive Principle:
Principle #15Dynamics

3Productivity

If resistive memory is used in machine learning devices, then performance and energy efficiency are improved, but fault and defect rates increase

Engineering Contradiction:
ImproveperformanceVSAvoidfault rate
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system implements a feedback mechanism where error detection codes continuously monitor memory integrity and provide feedback about error conditions. This feedback loop enables the system to adapt its behavior based on actual error rates, allowing resistive memory to operate at high performance while managing fault rates through informed error correction decisions.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system changes the operational parameters of error management by introducing a configurable error threshold. This parameter allows the system to adjust the balance between performance and reliability based on the specific workload and memory conditions, enabling resistive memory to achieve high productivity while maintaining acceptable reliability through parameter-based error tolerance.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12066890B2Error-tolerant memory system for machine learning systems
Publication Date: 2024.08.20 ADVANCED MICRO DEVICES INC
  • US12066890B2 patent drawing
  • US12066890B2 patent drawing
  • US12066890B2 patent drawing

AI summary

A memory system uses error detection codes to detect when errors have occurred in a region of memory. A count of the number of errors is kept and a notification is output in response to the number of errors satisfying a threshold value. The notification is an indication to a host (e.g., a program accessing or managing a machine learning system) that the threshold number of errors have been detected in the region of memory. As long as the number of errors that have been detected in the region of memory remains under the threshold number no notification need be output to the host.