In-Memory Computing Engine for Low-Delay Matrix-Vector Multiplication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computing architectures face inefficiencies in energy and delay due to the separation of memory and compute operations, particularly in large-scale matrix-vector multiplications common in machine learning and artificial intelligence, where accessing data from memory dominates energy and delay costs.

Innovation Solution

An in-memory computing architecture that integrates a reshaping buffer, a compute-in-memory array, analog-to-digital converter circuitry, and control circuitry to perform multi-bit computing operations using single-bit internal circuits, enabling bit-parallel/bit-serial operations and efficient analog-to-digital conversion, thereby reducing energy and delay costs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is accessed from memory for large-scale matrix-vector multiplications, then computation can be performed, but energy consumption and delay increase significantly

Engineering Contradiction:
Improvecomputation throughputVSAvoidenergy consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent merges memory and compute operations by implementing in-memory computing where matrix elements are stored in the memory array and vector elements are broadcast in parallel fashion over the memory array, enabling compute operations within memory bit-cells to provide results as charge using voltage-to-charge conversion via a capacitor

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces a reshaping buffer as an intermediary component that reshapes a sequence of received data words to form massively parallel bit-wise input signals, and uses ADC circuitry as an intermediary to convert the parallel bit-wise input signals and accumulation signals into multi-bit output words

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If data is accessed from memory for large-scale matrix-vector multiplications, then computation can be performed, but delay increases significantly

Engineering Contradiction:
Improvecomputation throughputVSAvoidaccess delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent merges memory and compute operations by implementing in-memory computing where matrix elements are stored in the memory array and vector elements are broadcast in parallel fashion over the memory array, enabling compute operations within memory bit-cells to provide results as charge using voltage-to-charge conversion via a capacitor

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent enables continuous computation by performing matrix-vector multiplication operations directly within the memory array without data movement, where bit-cell circuits involve appropriate switching of a local capacitor in a given bit-cell, where that local capacitor is also appropriately coupled to other bit-cell capacitors, to yield an aggregated compute result across the coupled bit-cells

Inventive Principle:
Principle #20Continuity of useful action

3Use of energy by moving object

If single-bit internal circuits are used for in-memory computing, then energy efficiency is improved, but computing precision is limited

Engineering Contradiction:
Improveenergy efficiencyVSAvoidcomputing precision
Core Design Contradiction:
Use of energy by moving objectVSMeasurement precision

Solution Approach 1:

The patent changes the parameter representation by using ADC circuitry to convert parallel bit-wise input signals and accumulation signals into multi-bit output words, allowing single-bit internal circuits to achieve multi-bit computing precision through analog-to-digital conversion

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent substitutes digital bit-wise operations with analog voltage-to-charge conversion operations in the memory bit-cells, where compute operations within memory bit-cells provide their results as charge, typically using voltage-to-charge conversion via a capacitor

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

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 enables highly efficient linear algebra computations by amortizing memory access energy and delay, supporting large-dimensional operations with controlled quantization noise, and improving signal-to-quantization noise ratio, making it suitable for broad applications in machine learning and artificial intelligence.

Implementation Method 1

compute operations within memory bit-cells provide their results as charge, typically using voltage-to-charge conversion via a capacitor

Methodology Applied
Scientific EffectCapacitance: Capacitance

Implementation Method 2

bit-cell circuits involve appropriate switching of a local capacitor in a given bit-cell, where that local capacitor is also appropriately coupled to other bit-cell capacitors, to yield an aggregated compute result across the coupled bit-cells

Methodology Applied
Scientific EffectCharge transfer: Conduction (electrical)

Data Source

PatentUS11669446B2Configurable in memory computing engine, platform, bit cells and layouts therefore
Publication Date: 2023.06.06 THE TRUSTEES OF PRINCETON UNIV
  • US11669446B2 patent drawing
  • US11669446B2 patent drawing
  • US11669446B2 patent drawing

AI summary

Various embodiments comprise systems, methods, architectures, mechanisms or apparatus for providing programmable or pre-programmed in-memory computing operations.