Memristive Dot Product Engine Nulling Amplifier

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Memristive crossbar arrays face challenges in achieving high resolution dot product calculations due to varying resistances among memristors, leading to low resolution output values.

Innovation Solution

Incorporating a nulling amplifier in the memristive dot product engine to determine a reference output based on reference vector signals and an operating output based on operating vector signals, allowing for subtraction and generation of a higher resolution array output by accounting for the varied resistances.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a memristive crossbar array is used for dot product calculation, then computation speed is improved, but output resolution deteriorates due to varying resistances among memristors

Engineering Contradiction:
Improvecomputation speedVSAvoidoutput resolution
Core Design Contradiction:
SpeedVSMeasurement precision

Solution Approach 1:

A nulling amplifier is introduced as an intermediary component between the memristive crossbar array and the output. The amplifier measures the actual output current, compares it with an expected current based on reference voltages, and generates a nulling signal to compensate for resistance variations. This intermediary mechanism enables high-speed parallel computation while maintaining high output resolution by actively correcting for device variability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The nulling amplifier implements a feedback mechanism where the actual output current from the crossbar array is continuously monitored and compared with a reference value. The difference signal is fed back to adjust the computation, compensating for resistance variations in real-time. This feedback loop maintains measurement precision without sacrificing the parallel computation speed advantage of the crossbar architecture.

Inventive Principle:
Principle #23Feedback

2Measurement precision

If nulling amplifier is added to improve output resolution, then measurement precision is improved, but device complexity increases

Engineering Contradiction:
Improveoutput resolutionVSAvoidcircuit complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The nulling amplifier is designed to perform multiple functions: it measures the output current, generates the nulling signal for compensation, and provides the reference current for comparison. By consolidating these functions into a single multi-functional component, the circuit complexity increase is minimized while achieving high output resolution. The amplifier leverages the existing crossbar array structure and voltages rather than requiring entirely separate measurement and compensation circuits.

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

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 results in a more accurate and higher resolution dot product calculation, improving the signal-to-noise ratio and bit resolution of the output.

Implementation Method 1

varying resistances among memristors, leading to low resolution output values

Methodology Applied
Scientific EffectElectrical Resistance: Electrical Resistance

Data Source

PatentEP3221864B1Memristive dot product engine with a nulling amplifier
Publication Date: 2019.09.18 HEWLETT PACKARD ENTERPRISE DEV LP
  • EP3221864B1 patent drawingFigure 1
  • EP3221864B1 patent drawingFigure 2
  • EP3221864B1 patent drawingFigure 3

AI summary

A method of obtaining a dot product using a memristive dot product engine with a nulling amplifier includes applying a number of programming voltages to a number of row lines within a memristive crossbar array to change the resistance values of a corresponding number of memristors located at intersections between the row lines and a number of column lines. The method also includes applying a number of reference voltages to the number of the row lines and applying a number of operating voltages to the number of the row lines. The operating voltages represent a corresponding number of vector values. The method also includes determining an array output based on a reference output and an operating output collected from the number of column lines.