Compute-in-Memory Memory Array for Neural Network MAC Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The bottleneck in machine learning applications is the slower data transfer between processors and memory devices, which limits computational throughput and increases energy consumption in massively parallel neural network computations.

Innovation Solution

A compute-in-memory (CIM) device using a memory array with bit cells arranged in rows and columns to perform multiply-and-accumulate (MAC) operations, where read word lines provide input activations and read-bit lines receive multiplication products, enabling in-memory computation with reduced data movement and energy consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is transferred between processor and memory devices for computation, then computation can be performed using standard architecture, but data transfer speed becomes a bottleneck limiting computational throughput

Engineering Contradiction:
Improvecomputational throughputVSAvoiddata transfer speed
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The patent merges the memory array and computation logic into a unified compute-in-memory device. The memory array performs MAC operations directly within the memory structure by utilizing the natural floating behavior of bit cells during read operations, eliminating the need for separate processor-memory data transfer and significantly improving computational throughput.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces read word lines and read bit lines as intermediary elements that facilitate in-memory computation. These lines serve dual purposes: traditional memory read operations and computation operations, acting as mediators between stored data and processing logic without requiring external data transfer.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If data is transferred between processor and memory devices, then computation can be performed, but energy consumption increases due to repeated data movement

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

Solution Approach 1:

The patent combines memory storage and computation functions into a single integrated structure. By performing MAC operations within the memory array using the existing read word lines and read bit lines, the system eliminates energy-consuming data transfer between separate memory and processor components.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The memory array performs computation operations on its own stored data without requiring external processor intervention. The bit cells naturally float during read operations, and this floating behavior is harnessed to perform multiplication and accumulation operations directly within the memory structure, making the memory self-sufficient for computation.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If fixed number of filters are used in memory array, then hardware design is simplified, but flexibility for different neural network configurations is reduced

Engineering Contradiction:
Improveflexibility for different neural network configurationsVSAvoidhardware design complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a dynamic filter configuration system where the number of active filters can be programmatically adjusted. Control logic selectively activates or deactivates specific columns of bit cells based on the required neural network configuration, allowing the same hardware to adapt to different numbers of filters without physical reconfiguration.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The memory array is designed with universal functionality to support variable filter configurations. The same read word lines and read bit lines can be used regardless of how many filters are active, and the control logic can dynamically reconfigure the array to accommodate different neural network requirements, making the hardware universally applicable to multiple configurations.

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

Data Source

PatentUS12106822B2Memory array with programmable number of filters
Publication Date: 2024.10.01 MEDIATEK SINGAPORE PTE LTD
  • US12106822B2 patent drawing
  • US12106822B2 patent drawing
  • US12106822B2 patent drawing

AI summary

Aspects of the present disclosure are directed to devices and methods for performing MAC operations using a memory array as a compute-in-memory (CIM) device that can enable higher computational throughput, higher performance and lower energy consumption compared to computation using a processor outside of a memory array. In some embodiments, an activation architecture is provided using a bit cell array arranged in rows and columns to store charges that represent a weight value in a weight matrix. A read word line (RWL) may be repurposed to provide the input activation value to bit cells within a row of bit cells, while a read-bit line (RBL) is configured to receive multiplication products from bit cells arranged in a column. Some embodiments provide multiple sub-arrays or tiles of bit cell arrays.