Data Refresh for Analog Non-Volatile Memory in Deep Learning Neural Networks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In artificial neural networks, flash memory cells used in non-volatile memory arrays face data drift issues due to temperature changes and process variations, leading to incorrect data over time, which is not addressed by conventional flash memory devices designed for fewer possible value states.
Innovation Solution
A data refresh method and apparatus are developed to detect and correct data drift in flash memory cells by sampling memory cells, calculating differences between stored levels, and re-tuning cells to their target values, ensuring accurate storage of weight values in non-volatile memory arrays used in vector-by-matrix multiplication arrays.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If flash memory cells store more possible value states (N=16, 32, 64) to increase computational precision in neural networks, then the precision of weight representation is improved, but data drift and corruption increase over time due to temperature changes and process variations
Solution Approach 1:
The patent applies preliminary action by performing data refresh operations before data corruption becomes critical. The system periodically reads stored weight values, detects drift from target values, and reprograms cells to restore accurate values, preventing data corruption before it affects neural network operations.
Solution Approach 2:
The patent implements feedback by continuously monitoring stored weight values against target values and using this information to trigger refresh operations. The system reads current cell values, compares them with expected target values, and reprograms cells that have drifted, creating a closed-loop control system that maintains data accuracy.
2Ease of operation
If conventional flash memory devices are used without refresh mechanisms to simplify device operation, then ease of operation is improved, but data accuracy deteriorates over time due to data drift
Solution Approach 1:
The patent applies self-service by enabling the memory system to automatically detect and correct its own data drift without external intervention. The refresh controller autonomously monitors weight values, identifies drifted cells, and reprograms them, allowing the system to maintain accuracy through self-diagnosis and self-correction.
Solution Approach 2:
The patent implements periodic action by performing refresh operations at regular intervals rather than continuously. The system periodically selects subsets of memory cells for refresh, balancing the need to maintain data accuracy with the desire to minimize overhead and preserve operational simplicity.
3Reliability
If data refresh operations are performed continuously to maintain data accuracy, then data retention reliability is improved, but energy consumption and operational complexity increase
Solution Approach 1:
The patent applies partial action by refreshing only a subset of memory cells at any given time rather than continuously refreshing all cells. The refresh controller selectively identifies and refreshes only those cells that exhibit data drift, reducing unnecessary refresh operations and associated energy consumption while maintaining overall data accuracy.
Solution Approach 2:
The patent implements multi-functionality by designing the refresh mechanism to serve multiple purposes: detecting data drift, triggering refresh operations, managing refresh timing, and selecting cells for refresh. This universal refresh controller handles various aspects of data maintenance, reducing the need for separate dedicated circuits and minimizing overall system complexity.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Numerous embodiments of a data refresh method and apparatus for use with a vector-by- matrix multiplication (VMM) array in an artificial neural network are disclosed. Various embodiments of a data drift detector suitable for detecting data drift in flash memory cells within the VMM array are disclosed.