Memristor Dot Product Engine With Sign Encoding for Lower ADC Overhead

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing machine learning architectures, particularly convolutional neural networks (CNNs) and deep neural networks (DNNs), face inefficiencies in dot product operations due to high overheads from Analog-to-Digital Converters (ADCs) in memristor dot product engines, which hinder computation efficiency and energy consumption.

Innovation Solution

A data encoding technique that reduces ADC precision by one bit, allowing for increased ADC accuracy, and leveraging memristor crossbar arrays to perform in-situ analog dot product computations, thereby reducing the overhead of ADCs and enhancing computation efficiency through parallelism.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If ADC precision is increased to maintain computation accuracy, then measurement precision is improved, but device complexity and energy consumption increase

Engineering Contradiction:
ImproveADC precisionVSAvoidADC overhead
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the weight values into two parts: a magnitude component stored in the memristor array and a sign component stored separately in a sign bit array. This segmentation allows the ADC to process only the magnitude information with reduced precision requirements, while the sign information is handled separately through digital logic operations, thereby reducing ADC overhead and complexity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a sign bit array as an intermediary structure that stores the polarity information of weight values separately from the magnitude information. This intermediary allows the system to decouple the sign handling from the ADC processing, enabling the ADC to operate at lower precision while maintaining overall computation accuracy through subsequent digital sign operations

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If ADC precision is increased to maintain computation accuracy, then measurement precision is improved, but use of energy increases

Engineering Contradiction:
ImproveADC precisionVSAvoidADC energy consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

By segmenting weight representation into magnitude and sign components, the patent enables the ADC to process only magnitude information at reduced precision, significantly lowering the energy consumption of ADC operations while maintaining computational accuracy through separate sign bit handling

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the parameter representation by storing weights in a segmented format where only the magnitude portion requires high-precision ADC conversion, while the sign portion is handled through low-power digital logic, thereby reducing overall energy consumption of the dot product engine

Inventive Principle:
Principle #35Parameter changes

3Productivity

If memristor array height is increased to store more weight data, then productivity is improved, but device complexity increases

Engineering Contradiction:
Improvecomputation throughputVSAvoidmemristor array structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the weight storage function across two separate structures: the memristor array stores magnitude information while a sign bit array stores polarity information. This segmentation allows the memristor array to be optimized for analog computation without the complexity of storing full precision signed values, enabling increased array height for higher productivity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds a new dimension to weight storage by introducing the sign bit array as a separate storage dimension. This allows the system to increase memristor array height for higher computation throughput while maintaining manageable complexity by distributing storage requirements across multiple dimensions rather than increasing complexity within a single structure

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

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 two-fold increase in memristor array height or one more bit per cell without losing precision, significantly reducing ADC overhead and energy consumption, leading to improved computation efficiency and increased parallelism in dot product operations.

Implementation Method 1

perform a dot product operation on the input vector and a stored vector stored in the memory array, and output an analog signal representing a result of the dot product operation

Methodology Applied
Scientific EffectAnalog computation: Ohm's Law

Data Source

PatentEP3289477B1Dot product engine with negation indicator
Publication Date: 2021.08.25 HEWLETT PACKARD ENTERPRISE DEV LP
  • EP3289477B1 patent drawingFigure 1
  • EP3289477B1 patent drawingFigure 2
  • EP3289477B1 patent drawingFigure 3

AI summary

Examples disclosed herein include a dot product engine, which includes a resistive memory array to receive an input vector, perform a dot product operation on the input vector and a stored vector stored in the memory array, and output an analog signal representing a result of the dot product operation. The dot product engine includes a stored negation indicator to indicate whether elements of the stored vector have been negated, and a digital circuit to generate a digital dot product result value based on the analog signal and the stored negation indicator.