Near-Memory Compute Elements Broadcast Command for Irregular Memory Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing approaches for processing workloads with irregular memory accesses using Processing In Memory (PIM) techniques consume more command bus bandwidth due to the need for separate PIM commands for each memory bank, which limits performance and increases costs.
Innovation Solution
The use of near-memory compute elements that temporarily store address information for memory operations in local storage, allowing a single broadcast memory command to perform operations across multiple memory elements using bank-specific address information.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If separate PIM commands are issued to each memory bank for irregular accesses, then memory operations can be performed with bank-specific address information, but command bus bandwidth consumption increases
Solution Approach 1:
The patent merges separate PIM commands for multiple banks into a single broadcast PIM command. The memory controller issues one command that is broadcast to multiple memory banks simultaneously, reducing command bus bandwidth consumption while maintaining the ability to handle irregular memory accesses with bank-specific address information
Solution Approach 2:
The broadcast PIM command structure is designed to be universal, capable of addressing multiple memory banks with different address information through a single command. The command includes fields for bank identifiers and address information that can be customized for each target bank, enabling one command to serve multiple functions
2Productivity
If broadcast PIM commands are issued to multiple target banks in parallel, then performance improves for regular accesses, but the solution requires tighter coupling between addressing logic and memory logic
Solution Approach 1:
The patent segments the address information and bank identification into separate fields within the broadcast command structure. This allows the memory controller to independently specify target banks and their corresponding address information, reducing the coupling complexity while maintaining parallel processing capability for regular accesses
3Quantity of substance
If coarse-grained PIM commands are used to reduce command bus bandwidth, then fewer commands are required, but read-write turnarounds and overhead in DRAM increase
Solution Approach 1:
The patent uses partial action by issuing broadcast PIM commands only when multiple banks need to be accessed in parallel, rather than forcing all operations into coarse-grained commands. This selective approach reduces command bus bandwidth consumption for irregular accesses while avoiding excessive read-write turnarounds by maintaining fine-grained control when needed
Data Source
AI summary
Near-memory compute elements perform memory operations and temporarily store at least a portion of address information for the memory operations in local storage. A broadcast memory command is then issued to the near-memory compute elements that causes the near-memory compute elements to perform a subsequent memory operation using their respective address information stored in the local storage. This allows a single broadcast memory command to be used to perform memory operations across multiple memory elements, such as DRAM banks, using bank-specific address information. In one implementation, the approach is used to process workloads with irregular updates to memory while consuming less command bus bandwidth than conventional approaches. Implementations include using conditional flags to selectively designate address information in local storage that is to be processed with the broadcast memory command.


