Memristor Crossbar ECC Using Unused Rows for Analog Precision
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional error-correcting code (ECC) techniques for digital computation are not applicable to analog computational models, and existing ECC methods for analog systems are costly and inefficient, lacking dynamic adjustment capabilities to match varying precision requirements in different computational stages.
Innovation Solution
A memristive dot-product system with a dynamically tunable ECC method that utilizes a crossbar array with memristors and transistors, where unused rows and columns are used for in situ error correction, allowing for adjustable error correction based on application-specific requirements, reducing overhead and improving computational efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional ECC techniques are applied to analog computational models, then error detection and correction capability is improved, but device complexity and overhead increase significantly
Solution Approach 1:
The system uses the computational resources of the analog device itself to perform error correction operations. The crossbar array computes both the primary calculation results and the syndrome values for error detection and correction using the same hardware infrastructure, eliminating the need for separate dedicated ECC circuitry and reducing overall device complexity.
Solution Approach 2:
The crossbar array is designed to perform multiple functions: it simultaneously executes the primary matrix multiplication operation and the error correction calculations. The same memristor crossbar structure that performs dot-product operations is also utilized to compute syndrome values and correct errors, making the hardware universal and reducing overhead.
2Reliability
If fixed error correction is applied to all computational stages, then reliability is improved, but energy consumption and area usage increase
Solution Approach 1:
The error correction capability is made dynamic and adjustable rather than fixed. The system can adaptively enable or disable error correction operations based on the specific computational stage, data characteristics, and reliability requirements, allowing energy consumption to be optimized by applying error correction only when and where it is truly needed.
Solution Approach 2:
The system allows changing the error correction parameters dynamically. By adjusting the level of error correction applied based on computational requirements, the system can optimize the trade-off between reliability and energy consumption, applying stronger correction only when necessary and using minimal or no correction when data is already reliable.
3Measurement precision
If full error correction is applied to all data, then precision is maintained, but computational efficiency decreases
Solution Approach 1:
Instead of applying full error correction uniformly to all data, the system applies partial error correction only to the extent necessary. By using the analog computational capability to quickly assess error conditions and apply correction only where needed, the system maintains precision while avoiding the computational overhead of exhaustive error correction on all data points.
4Speed
If analog computational models are used, then computational speed is improved, but susceptibility to noise-induced corruption increases
Solution Approach 1:
The system introduces an intermediary error correction layer that operates within the analog computational framework. This intermediary mechanism uses syndrome computation and correction operations to detect and correct noise-induced corruptions while preserving the speed advantages of analog computing, effectively mediating between the fast analog computation and the need for noise resilience.
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
This approach enhances the accuracy and efficiency of analog computations by dynamically adjusting error correction levels, minimizing area and power usage while maintaining precision, and allowing for varying error correction degrees across different computational stages.
Implementation Method 1
Ohm's Law and Kirchoff's Law may be used in calculations to determine values representative of the dot-product as read from outputs of the crossbar
Implementation Method 2
Ohm's Law and Kirchoff's Law may be used in calculations to determine values representative of the dot-product as read from outputs of the crossbar
Implementation Method 3
Memory elements may include a memristor and a transistor in series to store an input voltage and/or current value
Data Source
AI summary
A dot-product engine (DPE) implemented on an integrated circuit as a crossbar array (CA) includes memory elements comprising a memristor and a transistor in series. A crossbar with N rows, M columns may have N×M memory elements. A vector input for N voltage inputs to the CA and a vector output for M voltage outputs from the CA. An analog-to-digital converter (ADC) and/or a digital-to-analog converter (DAC) may be coupled to each input/output register. Values representing a first matrix may be stored in the CA. Voltages/currents representing a second matrix may be applied to the crossbar. Ohm's Law and Kirchoff's Law may be used to determine values representing the dot-product as read from the crossbar. A portion of the crossbar may perform Error-correcting Codes (ECC) concurrently with calculating the dot-product results. ECC codes may be used to only indicate detection of errors, or for both detection and correction of results.


