Processing-in-Memory Pseudo-Channel Allocation for Parallel Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing processing in memory (PIM) operations are inefficient due to the lack of effective methods for parallel processing and resource sharing among multiple pseudo channels, leading to serial execution and reduced processing speed.
Innovation Solution
A method and system that determines idle pseudo channels for processing in memory (PIM) operations, allocates data and instructions to target PC sets, allowing parallel execution and resource sharing among these channels, using control logic to manage and distribute tasks efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If PIM operations are executed sequentially on single pseudo channels, then resource conflicts are avoided, but processing speed and system performance deteriorate
Solution Approach 1:
The memory system is segmented into multiple independent pseudo channels (PC0-PC7), each capable of autonomous PIM operations. This segmentation enables parallel execution of multiple PIM instructions simultaneously across different channels, thereby increasing processing speed without requiring complex centralized arbitration for resource allocation.
Solution Approach 2:
Each pseudo channel is equipped with independent control logic that autonomously manages its own operation state, idle status, and instruction execution. The control logic monitors channel availability and automatically selects idle channels for PIM operations, eliminating the need for complex external resource management and enabling fast channel allocation.
2Productivity
If multiple PIM operations are executed in parallel across pseudo channels, then productivity increases, but resource coordination and task distribution complexity increases
Solution Approach 1:
The system dynamically adapts the number of active pseudo channels based on workload requirements. The control logic can activate any combination of available channels (from 1 to 8) depending on the number of PIM instructions to be executed, optimizing resource utilization without requiring fixed complex coordination mechanisms for all possible channel combinations.
Solution Approach 2:
The control logic pre-establishes the operational framework for all pseudo channels, including their idle state monitoring and instruction assignment capabilities. This preliminary configuration enables channels to immediately begin parallel PIM operations when instructions are provided, without requiring complex runtime negotiation or coordination protocols.
3Reliability
If pseudo channels remain idle waiting for previous operations to complete, then resource conflicts are avoided, but loss of time increases
Solution Approach 1:
The control logic continuously monitors the idle state of all pseudo channels and immediately assigns new PIM instructions to any channel that becomes available, eliminating idle waiting time. This continuous operation ensures that processing can proceed without interruption as long as there are available channels and instructions to execute, maximizing system utilization while maintaining operational reliability.
Data Source
AI summary
A method includes determining a candidate pseudo channel (PC) to which a processing in memory (PIM) instruction is assignable among a plurality of PCs based on an idle state of a PC, determining a target PC set based on the candidate PC, and allocating data and the PIM instruction to the target PC set, for the target PC set, wherein one or more target PCs included in the target PC set perform a PIM operation in parallel based on the data and the PIM instruction.


