Resistive Memory Crossbar for Matrix-Vector Multiplication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current Von Neumann architecture is inefficient for performing accurate and efficient matrix-vector computations in cognitive computing, particularly due to the separation of computing and memory units, which hinders the performance of cognitive computers.

Innovation Solution

A device using a memory crossbar array with programmable resistive elements and a signal generator to perform matrix-vector multiplications, where the resistive elements' conductance values are programmed and read out to facilitate efficient matrix-vector operations, allowing for fast, low-power, and scalable computations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If Von Neumann architecture is used with separated computing and memory units, then memory can be implemented with standard technologies, but computational efficiency for matrix-vector operations deteriorates due to data shuttling requirements

Engineering Contradiction:
Improvememory implementationVSAvoidcomputational efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent merges memory and computing functions by implementing in-memory matrix-vector multiplication using a crossbar array of resistive memory elements. The matrix elements are stored as conductance values in the crossbar array, enabling direct computation without data transfer to separate processing units, thus resolving the contradiction between ease of memory implementation and computational efficiency.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent replaces the mechanical data shuttling process of Von Neumann architecture with a parallel electrical computation system. Electrical signals are applied across the crossbar array to simultaneously compute multiple multiplication operations through Kirchhoff's laws, substituting sequential mechanical data transfer with parallel electrical computation.

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

2Device complexity

If sequential programming of resistive elements is used, then control complexity is reduced, but programming time and device scalability deteriorate

Engineering Contradiction:
Improvecontrol complexityVSAvoidprogramming time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent segments the control of resistive elements by introducing selection lines that divide the crossbar array into independently controllable sections. This allows parallel programming of multiple resistive elements simultaneously while maintaining manageable control complexity through structured selection mechanisms, resolving the contradiction between control simplicity and programming speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dynamic selection capabilities through controllable selection lines that can be activated or deactivated based on programming requirements. This dynamic control enables flexible parallel programming of multiple elements without requiring complex static control circuits, balancing control complexity with programming throughput.

Inventive Principle:
Principle #15Dynamics

3Productivity

If parallel programming of multiple resistive elements is implemented, then programming speed improves, but control circuit complexity and selection scheme difficulty increase

Engineering Contradiction:
Improveprogramming speedVSAvoidcontrol circuit complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements universal selection lines that serve multiple functions: they can select individual resistive elements, groups of elements, or entire rows/columns for parallel programming. This multi-functionality enables high programming speed through parallel operations while avoiding the need for separate complex control circuits for each selection scenario.

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

Solution Approach 2:

The patent uses identical selection line structures across different parts of the crossbar array, creating a modular control system. This copying of control structures simplifies the overall control circuit design while enabling parallel programming of multiple elements, as the same control mechanism can be applied throughout the array without requiring unique complex control logic for each region.

Inventive Principle:
Principle #26Copying

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

Enables fast, low-power, and scalable matrix-vector multiplications, reducing complexity and power consumption compared to conventional approaches, and can be generalized for matrix-matrix and vector-vector multiplications, addressing the inefficiencies of the Von Neumann architecture.

Implementation Method 1

Each junction comprises a programmable resistive element and an access element. The signal generator is configured to apply programming signals to the resistive elements to program conductance values

Methodology Applied
Scientific EffectResistive switching: Electrical Resistance

Implementation Method 2

A matrix may be considered as array of vectors. Hence a matrix-vector multiplication can be generalized to a matrix-matrix multiplication and to a vector-vector multiplication

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

Data Source

PatentUS20200013462A1Resistive memory device for matrix-vector multiplications
Publication Date: 2020.01.09 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20200013462A1 patent drawing
  • US20200013462A1 patent drawing
  • US20200013462A1 patent drawing

AI summary

A matrix-vector multiplication device includes a memory crossbar array with row lines, column lines, and junctions. Each junction comprises a programmable resistive element and an access element. A signal generator is configured to apply programming signals to the resistive elements to program conductance values for the matrix-vector multiplication and a readout circuit is configured to apply read voltages to the row lines and to read out current values of the column lines. Control circuitry is configured to control the signal generator and the readout circuit and to select, via the access terminals, a plurality of resistive elements in parallel according to a predefined selection scheme which applies the signals and/or the read voltages in parallel to resistive elements which do not share the same row and column line and applies the programming signals and/or the read voltages to at most one resistive element per row line and column line.