PIM Computing System DMA Offloading via Buffer Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing PIM computing systems face challenges in processing large-capacity memory requests without incurring cache hierarchy-related overhead, and current solutions require complex changes to the DMA engine design.

Innovation Solution

A PIM computing system that utilizes a DMA engine to offload PIM computations by storing descriptors for PIM transactions in DRAM, including opcode information in spare bit fields, allowing the system to process large-capacity memory requests without altering the DMA engine design.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If the design of the PIM computing system or DMA engine is changed to eliminate cache-related overhead, then cache-related overhead is reduced, but device complexity and implementation difficulty increase

Engineering Contradiction:
Improvecache-related overheadVSAvoidDMA engine design complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The patent introduces a buffer memory as an intermediary component between the cache hierarchy and the PIM device. This buffer temporarily stores data during PIM computations, acting as a mediator that allows the DMA engine to operate without requiring complex design changes to eliminate cache-related overhead. The buffer absorbs the complexity of cache management while enabling efficient PIM operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the memory system into distinct components: cache memory, buffer memory, and PIM device. This segmentation allows each component to operate independently with optimized functions, reducing the need for complex interactions and design changes in the DMA engine while minimizing cache-related overhead.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If standard memory requests are used for PIM computation, then ease of operation is maintained, but cache hierarchy limitations cause overhead

Engineering Contradiction:
ImprovePIM computation operationVSAvoidcache-related overhead
Core Design Contradiction:
Ease of operationVSLoss of energy

Solution Approach 1:

The buffer memory serves as an intermediary that enables standard memory requests to be used for PIM computation without incurring cache-related overhead. By placing data in the buffer before PIM operations, the system maintains ease of operation with standard requests while the buffer isolates the PIM device from cache hierarchy limitations.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If large-capacity memory requests are processed through the cache hierarchy, then productivity is maintained, but cache-related overhead increases

Engineering Contradiction:
ImprovePIM computation processing capacityVSAvoidcache-related overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent extracts data from the cache hierarchy and places it directly into the buffer memory for PIM computations. This extraction eliminates the need for large-capacity memory requests to traverse the cache hierarchy, maintaining productivity while removing cache-related overhead. The buffer acts as a direct interface between the PIM device and external memory sources.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS12307093B2PIM computing system and PIM computation offloading method thereof
Publication Date: 2025.05.20 SK HYNIX INC
  • US12307093B2 patent drawing
  • US12307093B2 patent drawing
  • US12307093B2 patent drawing

AI summary

A Processing-In-Memory (PIM) computing system and a PIM computation offloading method thereof perform PIM computation offloading using a DMA engine. The DMA engine is configured to process a transaction by respectively performing descriptor requests and PIM requests for one or more descriptors stored in a memory, in response to a memory request of a CPU. The memory includes a PIM unit and a memory array, which memory array may be a DRAM. In response to the PIM requests, the PIM unit performs PIM operations using information included in data provided to the DMA engine in response to the descriptor requests.