Dynamic Memory Reconfiguration for Multi-Channel Page Interleaving
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional multi-channel memory systems utilize a fixed number of channels for data interleaving, which may not optimally accommodate varying data access patterns, leading to potential inefficiencies and increased latency.
Innovation Solution
Implementing a dynamic memory reconfiguration method that selectively allocates memory pages across configurable subsets of channels based on a mode of allocation, allowing for both unified and non-uniform memory architectures, thereby optimizing data access by partitioning memory usage according to specific data types.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a fixed number of channels are used for memory interleaving, then the memory system structure is simple and stable, but the system cannot adapt to varying data access patterns leading to increased latency and reduced efficiency
Solution Approach 1:
The patent implements dynamic memory channel allocation where the number of channels used for interleaving is not fixed but can be adjusted based on workload characteristics. The system dynamically configures memory channels into different groups (first group and second group) and adjusts the interleaving depth and channel assignment according to real-time access patterns, transforming the static memory architecture into a dynamic one that adapts to varying computational demands.
Solution Approach 2:
The patent divides the memory channels into multiple groups (first group of channels and second group of channels) that can be independently configured and allocated to different memory pools. This segmentation allows the system to allocate specific channel groups to different processing contexts or memory regions, enabling flexible adaptation to various access patterns while maintaining manageable complexity through organized channel grouping.
2Loss of time
If memory pages are allocated across all channels, then bandwidth utilization is maximized, but latency increases due to interference between different memory pools
Solution Approach 1:
The patent segments memory channels into distinct groups that can be allocated to different memory pools, allowing simultaneous operations on different channels without interference. By dividing channels into first and second groups and assigning them to different memory pools based on access patterns, the system reduces cross-traffic interference and latency while maintaining overall throughput through parallel channel utilization.
Solution Approach 2:
The patent applies different channel allocation strategies to different memory pools based on their specific access characteristics. Rather than uniformly allocating all channels to all memory pools, the system assigns specific channel groups to specific memory pools according to their workload requirements, optimizing local access performance for each pool while maintaining global productivity through coordinated multi-pool operation.
3Ease of operation
If unified memory architecture is used for multiple processing units, then resource sharing is improved, but memory access conflicts and latency increase
Solution Approach 1:
The patent divides memory channels into separate groups that can be allocated to different processing units or memory pools, creating a hybrid architecture that combines unified and distributed memory characteristics. This segmentation allows processing units to share access to the overall memory system while having dedicated channel groups that reduce contention and transfer times, balancing resource sharing efficiency with access speed.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A processing system including a parallel processing unit selectively allocating pages of memory for interleaving across configurable subsets of channels based on a mode of allocation. In some embodiments, in a first mode, a page of memory is allocated to and interleaved across a plurality of channels, and in a second mode, a page of memory is allocated to and interleaved across a subset of the plurality of channels.