Memristive Dot-Product Engine With Redundant Columns for Error Correction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Inaccuracies and noise in memristive crossbar arrays used for vector-matrix computations can lead to errors in dot product calculations due to programming inaccuracies and faults such as shorted or non-programmable junctions, affecting the accuracy of computations.
Innovation Solution
A fault-tolerant Dot-Product Engine (FT-DPE) is introduced, which adds redundancy to the memristive crossbar array by encoding additional columns in the matrix to detect and correct errors, using an encoder circuit to generate redundancy symbols and a decoder circuit to correct errors in the output vector, ensuring accurate computations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If redundancy is added to the memristive crossbar array for error detection and correction, then computation reliability is improved, but device complexity increases
Solution Approach 1:
The matrix is segmented into data columns and parity columns, with the crossbar array divided into functional sections for computation and error detection. This segmentation allows reliability improvement through redundancy while managing complexity by organizing the added components in a structured manner.
Solution Approach 2:
Parity bits are pre-computed and stored in the crossbar array before the actual dot product computation. This preliminary action enables error detection and correction during computation without requiring additional complexity during the critical computation phase, as the redundancy is already in place.
2Reliability
If encoding circuits are added to generate redundancy symbols, then error detection capability is improved, but device complexity increases
Solution Approach 1:
The encoding circuit functionality is merged with the crossbar array structure itself. The same memristive devices and interconnects used for computation are also utilized for generating and storing parity information, eliminating the need for separate encoding hardware and reducing overall device complexity.
Solution Approach 2:
The crossbar array is designed to serve multiple functions: it performs both the primary dot product computation and the generation/storage of error detection codes using the same hardware resources. This multi-functionality improves error detection capability without proportionally increasing device complexity.
3Reliability
If more columns are added to the matrix for redundancy, then error correction capability is improved, but area of the crossbar array increases
Solution Approach 1:
Rather than uniformly increasing the entire crossbar array size, the redundancy is localized to specific parity columns and rows. This local quality approach allows error correction capability to be improved in specific regions without proportionally increasing the total area, as the redundancy is concentrated where needed for error detection and correction.
Applied Scientific Principles
This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.
Function Achieved in This Case
The FT-DPE enhances the reliability and accuracy of vector-matrix multiplications by enabling efficient error detection and correction, ensuring faster and more energy-efficient processing while maintaining computation reliability.
Implementation Method 1
An input voltage signal along each row of the crossbar array is weighted by the conductance of the memristive devices in each column and accumulated as the current output from each column to form a dot product
Data Source
AI summary
Examples disclosed herein relate to a fault-tolerant dot product engine. The fault-tolerant dot product engine has a crossbar array having a number l of row lines and a number n of column lines intersecting the row lines to form l×n memory locations, with each memory location having a programmable memristive element and defining a matrix value. A number l of digital-to-analog converters are coupled to the row lines of the crossbar array to receive an input signal and a number n of analog-to-digital converters are coupled to the column lines of the crossbar array to generate an output signal. The output signal is a dot product of the input signal and the matrix values in the crossbar array, wherein a number m<n of the n column lines in the crossbar array are programmed with matrix values used to detect errors in the output signal.


