SRAM Multi-Cell Operations for High-Speed In-Memory Computing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The bus connection between CPUs and memory arrays acts as a bottleneck in data processing, particularly in big data and machine learning applications, due to the mismatch between CPU speed increases and bus speed improvements, leading to inefficient data reading and writing operations.

Innovation Solution

A multi-memory cell operator with a non-destructive memory array, activation unit, and multiple column decoder that enables concurrent multi-cell operations by activating multiple cells in a column to generate Boolean function outputs, precharging bit lines, and performing in-memory calculations, allowing for simultaneous reading and writing across multiple columns.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If traditional single-cell memory operations are used, then the memory array structure remains simple, but the data processing speed is limited by bus bottleneck

Engineering Contradiction:
Improvedata processing speedVSAvoidmemory operation complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The memory array is segmented into multiple independently operable columns, each capable of simultaneous read/write operations. This segmentation allows parallel data access across multiple columns, effectively increasing data processing speed without requiring complex inter-column coordination logic.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The memory cells are designed to perform multiple functions: traditional storage, Boolean logic operations (AND, OR, NOT), and arithmetic operations (addition, subtraction). This multi-functionality eliminates the need for separate logic circuits, increasing processing speed while maintaining relatively simple memory structure.

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

2Productivity

If multiple cells are activated simultaneously for parallel operations, then computation throughput increases, but bit line interference and operation reliability decrease

Engineering Contradiction:
Improvecomputation throughputVSAvoidoperation reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

Different columns are assigned different operational modes (read, write, compute) based on local requirements. Each column can be independently configured, allowing simultaneous operations without mutual interference. This local differentiation maintains high reliability while enabling parallel throughput.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

Control logic acts as an intermediary that coordinates column selections and operation types. This intermediary ensures that simultaneous operations in different columns do not interfere with each other, maintaining reliability while maximizing computational throughput through parallel execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of time

If in-memory computations are performed, then data movement between memory and CPU is reduced, but energy consumption during computation increases

Engineering Contradiction:
Improvedata transfer timeVSAvoidcomputation energy consumption
Core Design Contradiction:
Loss of timeVSUse of energy by moving object

Solution Approach 1:

Storage and computation functions are merged within the same memory array structure. Boolean logic and arithmetic operations are performed directly on stored data using the memory cells themselves, eliminating data transfer to external logic units. This reduces data transfer time while keeping computation energy consumption low by utilizing the existing memory cell transistors.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9558812B2SRAM multi-cell operations
Publication Date: 2017.01.31 GSI TECHNOLOGY INC
  • US9558812B2 patent drawing
  • US9558812B2 patent drawing
  • US9558812B2 patent drawing

AI summary

A multi-memory cell operator includes a non-destructive memory array, an activation unit and a multiple column decoder. The non-destructive memory array has first and second bit lines per column. The activation unit activates at least two cells in a column of the memory array at the same time thereby to generate multiple Boolean function outputs of the data and of complementary data of the at least two cells on the first bit line and different multiple Boolean function outputs of the data and of the complementary data on the second bit line. The multiple column decoder at least activates the first and second bit lines of multiple selected columns for reading or writing. The multiple column decoder also includes a write unit to write the output of the first bit line, the second bit line or both bit lines of the selected columns into the memory array.