Interleaved Memory Allocation for Processing-in-Memory Efficiency
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Loss of time
If component pages are interleaved across different banks, then row open/close operations are reduced, but memory allocation complexity increases
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.
Data Source
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.


