Resistive Memory Matrix Multiplication via Orthogonal Vectors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computation methods are inefficient and energy-intensive due to the need to move data from memory devices to processors for processing, which limits speed and energy efficiency in performing operations like matrix multiplication.

Innovation Solution

Analog memory devices are used to perform parallel computation by storing matrix values in resistive memory elements and applying input vectors to these devices, which output resulting vectors representing matrix multiplications, with matched filters extracting specific results from these outputs, allowing for simultaneous processing of multiple vectors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is moved from memory devices to processors for computation, then computation can be performed, but speed and energy efficiency are limited

Engineering Contradiction:
Improvecomputation speedVSAvoidenergy efficiency
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The patent merges storage and computation functions by implementing in-memory computing where analog memory devices perform matrix multiplication operations directly at their location. This eliminates the data movement bottleneck between memory and processor, achieving both speed improvement and energy efficiency by performing computation where data resides without transferring it to separate processing units.

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If sequential processing is used for multiple vectors, then computation can be completed, but processing time increases

Engineering Contradiction:
Improveprocessing throughputVSAvoidprocessing time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the computation task by representing multiple input vectors as orthogonal components and processing them simultaneously through parallel matched filters. Each matched filter handles one orthogonal vector independently, allowing the system to compute multiple vector-matrix multiplications in parallel rather than sequentially, thereby reducing total processing time and increasing throughput.

Inventive Principle:
Principle #1Segmentation

3Productivity

If multiple vectors are processed simultaneously, then productivity increases, but system complexity increases

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidsystem architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent changes the mathematical representation of input vectors from arbitrary forms to orthogonal representations. This parameter transformation enables simultaneous processing of multiple vectors through a single matrix multiplication operation followed by simple projection onto orthogonal bases via matched filters. The orthogonality property simplifies the extraction of individual vector results from the combined output, managing system complexity while achieving high productivity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20240338214A1Parallel computation on input vectors by orthogonal representation
Publication Date: 2024.10.10 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20240338214A1 patent drawing
  • US20240338214A1 patent drawing
  • US20240338214A1 patent drawing

AI summary

An array of resistive memory elements can be configured to store a plurality of values representing elements of a matrix. The array of resistive memory elements can be further configured to, responsive to an input vector being provided to the resistive memory elements, output a resulting vector representing a matrix multiplication of the matrix and the input vector, where the input vector includes a summation of a plurality of orthogonal vectors. A plurality of matched filters can be connected to outputs of the resistive memory elements, where each of the plurality of matched filters is configured to extract from the resulting vector a matrix multiplication result corresponding to a matrix multiplication of the matrix with one of the orthogonal vectors for which the respective matched filter is matched.