Computational Memory Programming Through Iterative Conductance Adaptation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing in-memory computing technologies face challenges in achieving accurate matrix-vector multiplication due to the stochastic switching behavior of memristive devices, leading to computational imprecision.

Innovation Solution

An iterative process is employed to adapt the conductance values of memristive devices in a computational memory based on measured results, using machine learning or multivariate linear regression to minimize errors until an accuracy condition is met, thereby improving the representation of matrix elements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If memristive devices are used for in-memory computing, then high density and low power consumption are achieved, but computational precision deteriorates due to stochastic switching behavior

Engineering Contradiction:
Improvepower consumptionVSAvoidcomputational precision
Core Design Contradiction:
Use of energy by moving objectVSMeasurement precision

Solution Approach 1:

The patent implements an iterative feedback process where the computational memory performs computation tasks using stored elements, measures the results, and adapts the stored elements based on measurement errors. This closed-loop feedback mechanism continuously refines the conductance values to compensate for stochastic behavior, thereby maintaining computational precision while utilizing the energy-efficient memristive devices.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent dynamically adjusts the conductance parameters of memristive devices through iterative adaptation. By changing the physical state (conductance value) of the devices based on measured computational errors, the system compensates for stochastic switching variations and achieves precise matrix-vector multiplication results.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If iterative adaptation process is applied to improve accuracy, then computational precision is improved, but processing time increases

Engineering Contradiction:
Improvecomputational accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs partial adaptation by selectively updating only those conductance values that contribute most to computational error, rather than uniformly adjusting all elements. This approach achieves sufficient accuracy with fewer iterative steps, reducing the time penalty associated with iterative refinement.

Inventive Principle:
Principle #16Partial or excessive action

3Manufacturing precision

If conductance values are adapted iteratively, then representation accuracy of matrix elements is improved, but device complexity increases

Engineering Contradiction:
Improverepresentation accuracyVSAvoidprogramming complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The computational memory performs self-adaptation by using its own computational results to guide the adjustment of its stored elements. The system measures its own computational errors and autonomously adjusts conductance values without requiring external calibration equipment or complex programming infrastructure, thereby reducing overall system complexity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12417124B2Programming elements onto a computational memory
Publication Date: 2025.09.16 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US12417124B2 patent drawing
  • US12417124B2 patent drawing
  • US12417124B2 patent drawing

AI summary

Provided is a method, device, and computer program product for programming a set of first elements onto a computational memory. The computational memory allows for performing a computation task from a set of second elements that encode the set of first elements in the computational memory, respectively. The method includes performing the computation task by the computational memory using the set of second elements and adapting at least part of the set of second elements in the computational memory based on a measured result of the computation task, until the measured result of the computation task fulfils an accuracy condition.