Interleaved Memory Allocation for Processing-in-Memory Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Processing-in-memory operations face significant overhead due to the need for frequent row opening and closing in memory banks, which hampers computational efficiency.

Innovation Solution

A memory allocation method that interleaves component pages across data structure operands within the same row or across different banks of a memory module, reducing the number of row open/close operations required for processing-in-memory operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If processing-in-memory operations are performed, then computational efficiency is improved through reduced data transfer, but significant overhead is incurred due to frequent row opening and closing in memory banks

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidrow open/close overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments memory pages into multiple component pages and interleaves them across different memory banks. This segmentation allows simultaneous access to multiple components during PIM operations, reducing the need for sequential row open/close operations and thereby decreasing overhead while maintaining computational efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of memory organization by interleaving component pages across multiple banks along the bank dimension. This multi-dimensional allocation strategy transforms the traditional single-bank row access pattern into a parallel multi-bank access pattern, reducing row open/close overhead through spatial distribution.

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

2Loss of time

If component pages are interleaved across different banks, then row open/close operations are reduced, but memory allocation complexity increases

Engineering Contradiction:
Improverow open/close overheadVSAvoidmemory allocation complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent performs preliminary interleaved allocation of component pages across banks during memory page allocation, before PIM operations are executed. This advance organization of memory resources establishes an optimal access pattern that reduces row open/close overhead during actual computation, while the complexity is managed through systematic allocation rules.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11900161B2Memory allocation for processing-in-memory operations
Publication Date: 2024.02.13 ADVANCED MICRO DEVICES INC
  • US11900161B2 patent drawing
  • US11900161B2 patent drawing
  • US11900161B2 patent drawing

AI summary

Memory allocation for processing-in-memory operations, including: receiving, by an allocation module, a memory allocation request indicating a plurality of data structure operands for a processing-in-memory operation; determining a memory allocation pattern for the plurality of data structure operands, wherein the memory allocation pattern interleaves a plurality of component pages of a memory page across the plurality of data structure operands; and allocating the memory page based on the determined memory allocation pattern.