Multi-Tier Analog In-Memory Computing With Shared Converters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computing systems face inefficiencies in data shuffling between processing elements and memory, particularly for data-heavy workloads like deep neural networks, leading to high overhead and communication costs.

Innovation Solution

A multi-tier analog in-memory computing (AIMC) system with stacked tiers of resistive memory devices and shared digital-to-analog and analog-to-digital converters, utilizing a programmable logic controller to perform matrix vector multiplications in-situ, allowing for efficient handling of large matrices without external data access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is shuffled between processing elements and memory in conventional computing systems, then computation can be performed, but time and energy cost increase significantly

Engineering Contradiction:
Improvecomputing efficiencyVSAvoiddata shuffling time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent merges memory and processing functions into a single integrated structure where resistive memory devices serve both as storage elements and computation elements. The crossbar array integrates weight storage (in conductance values) and matrix-vector multiplication functionality, eliminating the need for separate memory and processing units and thus removing data shuffling between them.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent transitions from conventional planar computing architecture to a three-dimensional stacked crossbar architecture with multiple tiers. This vertical stacking enables simultaneous access to multiple weight matrices from different tiers, allowing parallel computation operations and reducing the time required for data access and processing.

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

2Productivity

If multiple tiers are stacked to handle large matrices, then processing capacity increases, but device complexity increases

Engineering Contradiction:
Improvematrix processing capacityVSAvoidmulti-tier structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The shared DAC and ADC units serve multiple tiers simultaneously, performing universal functions for the entire multi-tier system. The DAC converts digital input vectors to analog voltages for all tiers, while the ADC converts analog current outputs from all tiers back to digital values. This multi-functional approach reduces the number of separate components needed and simplifies the overall system architecture.

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

Solution Approach 2:

The programmable logic controller acts as an intermediary that manages the complex interactions between multiple tiers, DAC, ADC, and external interfaces. It coordinates the operation of shared resources, handles data routing between tiers, and manages the computation workflow, thereby reducing the complexity burden on the hardware structure itself.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If shared converters are used across multiple tiles, then resource utilization improves, but access overhead increases

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidconverter access time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The shared DAC and ADC units operate continuously without idle periods by processing inputs from multiple tiers in sequence. The programmable logic controller ensures that the converters are constantly engaged in conversion operations, eliminating wait states and maximizing the utilization of these critical resources throughout the computation process.

Inventive Principle:
Principle #20Continuity of useful action

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

The system reduces computing time and resource usage by performing matrix vector multiplications in-situ, minimizing the need for external memory access and enhancing processing efficiency for large datasets.

Implementation Method 1

A crossbar of resistive memory devices, including a plurality of columns, is on each tier. The crossbar is configured to encode a matrix of weights.

Methodology Applied
Scientific EffectElectrical Resistance: Electrical Resistance

Implementation Method 2

A digital to analog convert (DAC) is coupled to the periphery of the first tile. The DAC is configured to encode an input vector to voltage pulses applied on the crossbar.

Methodology Applied
Scientific EffectDigital-to-Analog Conversion:

Implementation Method 3

The ADC is configured to measure an induced current on each column of the crossbar and digitize the induced current into a digital value.

Methodology Applied
Scientific EffectElectrical Conduction: Conduction (electrical)

Implementation Method 4

By encoding the Matrix parameters in the conductance of memory elements and applying voltage pulses encoding the Vector, we can exploit Ohm's and Kirchoff's laws to calculate dot products by measuring the produced currents.

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

Implementation Method 5

The first result and the second result are accumulated into an accumulated digital value of the first tile, represented as a counter value in a register of the ADC.

Methodology Applied
Scientific EffectSignal Integration:

Data Source

PatentUS20250217440A1Multi-tier analog in-memory computing device
Publication Date: 2025.07.03 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20250217440A1 patent drawing
  • US20250217440A1 patent drawing
  • US20250217440A1 patent drawing

AI summary

An analog in-memory computing (AIMC) system includes a plurality of tiles. A plurality of vertically stacked tiers are present on each tile. Each tier comprises a crossbar of resistive memory devices, configured to encode a matrix of weights. A digital to analog convert (DAC) is shared by the plurality of tiles. The DAC is configured to encode an input vector to voltage pulses applied on the crossbar. An analog to digital converter (ADC) is shared by the plurality of tiles, and includes a register of counters. The ADC is configured to measure an induced current on each column of the crossbar and digitize the induced current into a digital value. A programmable logic controller is configured to: control the ADC to retain integration values between integrations performed for each tier. An accumulation of partial integration results is performed in-situ of the tile.