Memristive Dot-Product Engine With Redundant Columns for Error Correction

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

VSEngineering 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

Engineering Contradiction:
Improvecomputation reliabilityVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If encoding circuits are added to generate redundancy symbols, then error detection capability is improved, but device complexity increases

Engineering Contradiction:
Improveerror detection capabilityVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

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

3Reliability

If more columns are added to the matrix for redundancy, then error correction capability is improved, but area of the crossbar array increases

Engineering Contradiction:
Improveerror correction capabilityVSAvoidarea of the crossbar array
Core Design Contradiction:
ReliabilityVSArea of stationary object

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.

Inventive Principle:
Principle #3Local quality

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

Methodology Applied
Scientific EffectConductance: Electrical Resistance

Data Source

PatentUS11061766B2Fault-tolerant dot product engine
Publication Date: 2021.07.13 HEWLETT PACKARD ENTERPRISE DEV LP
  • US11061766B2 patent drawing
  • US11061766B2 patent drawing
  • US11061766B2 patent drawing

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.