Memristor Crossbar ECC Using Unused Rows for Analog Precision

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveerror detection and correction capabilityVSAvoidcomputational overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #25Self-service

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If fixed error correction is applied to all computational stages, then reliability is improved, but energy consumption and area usage increase

Engineering Contradiction:
Improvecomputational accuracyVSAvoidenergy consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If full error correction is applied to all data, then precision is maintained, but computational efficiency decreases

Engineering Contradiction:
Improvedata precisionVSAvoidcomputational efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

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.

Inventive Principle:
Principle #16Partial or excessive action

4Speed

If analog computational models are used, then computational speed is improved, but susceptibility to noise-induced corruption increases

Engineering Contradiction:
Improvecomputational speedVSAvoidnoise-induced corruption
Core Design Contradiction:
SpeedVSObject-affected harmful factors

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Methodology Applied
Scientific EffectOhm's Law: Ohm's Law

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

Methodology Applied
Scientific EffectKirchhoff's Law:

Implementation Method 3

Memory elements may include a memristor and a transistor in series to store an input voltage and/or current value

Methodology Applied
Scientific EffectMemristance:

Data Source

PatentUS10452472B1Tunable and dynamically adjustable error correction for memristor crossbars
Publication Date: 2019.10.22 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10452472B1 patent drawing
  • US10452472B1 patent drawing
  • US10452472B1 patent drawing

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.