Crossbar Analog Computing With Redundant Columns for Error Correction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Analog computing devices based on crossbar arrays face inaccuracies due to programming errors and noise, leading to computational inaccuracies, especially when junctions become shorted or non-programmable, which existing error correction methods fail to adequately address, particularly for small imprecisions and outlying errors.
Innovation Solution
A fault-tolerant analog computing device is designed with a crossbar array where a subset of columns are programmed with continuous analog target matrix values for error detection and correction, using a redundant matrix structure and encoder/decoder circuitry to identify and correct outlying errors exceeding a threshold, while tolerating small imprecisions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If error correction encoding and decoding is applied to detect and correct computational errors in analog dot product computing, then computational accuracy is improved, but device complexity increases due to additional encoder/decoder circuitry and redundant matrix structures
Solution Approach 1:
The computing device is segmented into distinct functional components: the crossbar array for dot product computation, encoder circuitry for error correction encoding, and decoder circuitry for error detection and correction. This segmentation allows each component to be optimized independently while working together to achieve fault-tolerant computing.
Solution Approach 2:
Error correction encoding is performed preliminarily on the input data before it enters the crossbar array for computation. This preliminary encoding prepares the data with redundant information that enables subsequent error detection and correction without requiring changes to the core computing architecture.
2Speed
If a crossbar array is used for analog dot product computing, then computing speed is improved, but manufacturing precision deteriorates due to programming errors and noise in analog components
Solution Approach 1:
The decoder circuitry provides feedback by detecting computational errors in the output of the crossbar array and correcting them. This feedback mechanism compensates for the inherent imprecision in analog computing, allowing the system to maintain high speed while achieving accurate results through error correction.
Solution Approach 2:
The patent converts the harmful effect of analog noise and programming errors into a benefit by using error correction coding. The redundant information introduced by encoding allows the system to detect and correct errors that arise from analog imperfections, effectively turning the vulnerability of analog computing into an opportunity for enhanced reliability through fault-tolerant design.
3Reliability
If redundant matrix values are programmed into the crossbar array for error detection and correction, then reliability is improved, but loss of information increases due to additional memory locations required
Solution Approach 1:
The patent changes the parameter of matrix values from pure computational data to encoded data that includes redundancy. By transforming the representation of matrix values through error correction encoding, the system achieves improved reliability while managing the trade-off with information density through efficient coding schemes.
Data Source
AI summary
A fault-tolerant analog computing device includes a crossbar array having a number l rows and a number n columns intersecting the l rows to form l×n memory locations. The l rows of the crossbar array receive an input signal as a vector of length l. The n columns output an output signal as a vector of length n that is a dot product of the input signal and the matrix values defined in the l×n memory locations. Each memory location is programmed with a matrix value. A first set of k columns of the n columns is programmed with continuous analog target matrix values with which the input signal is to be multiplied, where k<n. A second set of m columns of the n columns is programmed with continuous analog matrix values for detecting an error in the output signal that exceeds a threshold error value, where m<n.


