In-Memory Computing Memristive Crossbar Kernel Approximation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional machine learning systems rely on digital processors for kernel operations, leading to inefficiencies in computation speed and energy usage, particularly in performing matrix-vector multiplication operations.

Innovation Solution

In-memory computing (IMC) using memristive devices in an analog crossbar architecture approximates kernel functions by determining probability distributions, sampling weights, programming memristive devices, and performing matrix-vector multiplication operations, followed by digital post-processing to compute dot products.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If digital processors are used for kernel operations, then computation accuracy is maintained, but computation speed is slow and energy consumption is high

Engineering Contradiction:
Improvecomputation speedVSAvoidenergy consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The patent replaces digital processing operations with analog computing operations using memristive devices. Matrix-vector multiplication is performed analogously by applying input voltages to the crossbar array and measuring output currents, eliminating the need for digital computation cycles and significantly reducing energy consumption while improving speed.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent changes the computational paradigm from digital to analog by utilizing the continuous conductance states of memristive devices.Weights are represented as continuous conductance values in the crossbar array, enabling parallel analog computation that is both faster and more energy-efficient than sequential digital processing.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If analog crossbar architecture is used for matrix-vector multiplication, then computation speed increases and energy consumption decreases, but device precision and weight programming accuracy are affected

Engineering Contradiction:
Improvecomputation throughputVSAvoidweight programming accuracy
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The patent employs feedback mechanisms where the digital processing unit measures output currents from the analog crossbar, converts them to digital values, and uses this information to adjust and refine weight programming. This closed-loop feedback enables precise weight control despite analog device variations.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent performs preliminary digital processing to generate ideal weight values and input vectors before analog computation. Probability distributions are sampled digitally, and weights are pre-calculated using random projection methods, ensuring that the analog crossbar receives precisely prepared data for efficient computation.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If memristive devices are programmed with sampled weights, then kernel function approximation is achieved, but device variability and conductance precision are compromised

Engineering Contradiction:
Improvekernel function approximation capabilityVSAvoidconductance measurement accuracy
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The patent introduces an intermediary digital processing unit that acts as a bridge between the analog crossbar and the computational algorithm. This intermediary performs digital-to-analog conversion, measures analog output currents, converts measurements back to digital values, and applies correction algorithms, thereby compensating for analog device variability and maintaining computational precision.

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 significantly speeds up kernel operations and reduces energy consumption by leveraging analog processing for matrix-vector multiplications, offering substantial performance gains and improved energy efficiency in machine learning algorithms.

Implementation Method 1

performing two matrix-vector multiplication operations on a first analog input and a second analog input using the programmed crossbar

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

Implementation Method 2

performing two matrix-vector multiplication operations on a first analog input and a second analog input using the programmed crossbar

Methodology Applied
Scientific EffectKirchhoff's Current Law:

Implementation Method 3

programming, using a digital processing unit, memristive devices of an analog crossbar based on the sampled weights, where each memristive device of the analog crossbar is configured to represent a corresponding weight

Methodology Applied
Scientific EffectElectrical Resistance: Electrical Resistance

Data Source

PatentUS20240127009A1In-memory computing for approximating kernel functions
Publication Date: 2024.04.18 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20240127009A1 patent drawing
  • US20240127009A1 patent drawing
  • US20240127009A1 patent drawing

AI summary

A probability distribution corresponding to the kernel function is determined and weights are sampled from the determined probability distribution corresponding to the given kernel function. Memristive devices of an analog crossbar are programmed based on the sampled weights, where each memristive device of the analog crossbar is configured to represent a corresponding weight. Two matrix-vector multiplication operations are performed on an analog input x and an analog input y using the programmed crossbar and a dot product is computed on results of the matrix-vector multiplication operations.