In-Memory Compute Data Placement for HBM Timing Overheads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current High Bandwidth Memory (HBM) architectures for graphics processing units (GPUs) lack efficient data placement strategies for in-memory compute operations, leading to suboptimal performance due to high DRAM timing overheads.

Innovation Solution

The implementation of a memory module with integrated in-memory compute (IMC) capabilities, where a memory controller determines optimal data layouts (such as 1OP, SR, and DR) to supply operands to DRAM banks, enabling efficient ALU operations within the IMC module.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If in-memory compute operations are implemented in HBM architecture, then computational performance is improved, but DRAM timing overheads increase

Engineering Contradiction:
Improvecomputational performanceVSAvoidDRAM timing overheads
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The memory controller pre-determines optimal data layouts (1OP, SR, DR) and pre-positions operands in DRAM banks before ALU operations are needed. This preliminary data placement preparation eliminates timing overheads by ensuring data is ready in the correct locations when computations start, rather than attempting to optimize during the computation process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system segments data into different layouts (1OP, SR, DR) based on the specific computational requirements. By dividing the data management process into distinct layout strategies and using multiple DRAM banks independently, the system can optimize for different computational patterns without affecting other operations, thereby reducing overall timing overheads.

Inventive Principle:
Principle #1Segmentation

2Productivity

If multiple data layouts are supported for in-memory compute, then computational efficiency is improved, but device complexity increases

Engineering Contradiction:
Improvecomputational efficiencyVSAvoiddata layout management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The memory controller is designed with multi-functionality to handle multiple data layouts (1OP, SR, DR) using the same hardware resources. This universal approach allows a single controller to optimize for different computational patterns without requiring separate dedicated hardware for each layout type, thereby managing complexity while maintaining high computational efficiency.

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

Solution Approach 2:

The system changes parameters such as data placement locations, access patterns, and buffer configurations based on the required computational operation. By dynamically adjusting these parameters rather than redesigning the hardware for each operation type, the system achieves high efficiency for multiple layouts while keeping the physical device structure relatively simple.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If operands are supplied directly to IMC modules without optimized data placement, then device simplicity is maintained, but computational performance deteriorates

Engineering Contradiction:
Improvedata placement mechanism simplicityVSAvoidcomputational performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The memory controller performs preliminary data placement actions by determining optimal layouts and positioning operands in DRAM banks before they are needed for computation. This simple yet effective preliminary organization of data eliminates the need for complex real-time data management during computation, achieving high performance without complicating the overall system architecture.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20250190216A1Systems and methods for data placement for in-memory-compute
Publication Date: 2025.06.12 SAMSUNG ELECTRONICS CO LTD
  • US20250190216A1 patent drawing
  • US20250190216A1 patent drawing
  • US20250190216A1 patent drawing

AI summary

According to one embodiment, a memory module includes: a memory die including a dynamic random access memory (DRAM) banks, each including: an array of DRAM cells arranged in pages; a row buffer to store values of one of the pages; an input/output (IO) module; and an in-memory compute (IMC) module including: an arithmetic logic unit (ALU) to receive operands from the row buffer or the IO module and to compute an output based on the operands and one of a plurality of ALU operations; and a result register to store the output of the ALU; and a controller to: receive, from a host processor, operands and an instruction; determine, based on the instruction, a data layout; supply the operands to the DRAM banks in accordance with the data layout; and control an IMC module to perform one of the ALU operations on the operands in accordance with the instruction.SPL