Error-tolerant Memory System for Machine Learning
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If error correction techniques are applied continuously to resistive memory, then system reliability is improved, but computational complexity increases
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.
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.
3Productivity
If resistive memory is used in machine learning devices, then performance and energy efficiency are improved, but fault and defect rates increase
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.
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.
Data Source
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.


