Modular Memory Pool Control With Cross-Zone Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computing systems face challenges in efficiently managing memory pools due to increased memory requirements and complexity, leading to latency issues and inflexible memory allocation.
Innovation Solution
A modular cooperative-memory architecture with a memory device controller that includes multiple control circuits managing separate memory zones, allowing for dynamic allocation and donation of memory units across zones to meet performance targets, and supporting heterogeneous memory types.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a single centralized memory controller manages all memory zones, then device complexity is reduced, but memory allocation flexibility and performance optimization are worsened
Solution Approach 1:
The memory controller is divided into multiple independent control circuits, each managing a specific memory zone. This segmentation allows each control circuit to independently allocate memory units within its zone, providing flexibility and optimization capabilities while maintaining manageable complexity through modular design.
2Ease of operation
If memory units are allocated strictly within their own memory zone, then allocation simplicity is improved, but memory pool utilization efficiency is worsened
Solution Approach 1:
A memory manager acts as an intermediary between control circuits and memory zones. It receives allocation requests, determines optimal memory units across different zones, and coordinates the allocation process. This enables efficient cross-zone memory utilization while maintaining a simplified allocation interface for requesting entities.
3Speed
If memory allocation is performed locally without coordination between control circuits, then allocation speed is improved, but overall system performance is worsened
Solution Approach 1:
Control circuits provide feedback information about available memory units and allocation status to the memory manager. This feedback mechanism enables coordinated allocation decisions that optimize system performance while maintaining fast response times through efficient information exchange between control circuits.
4Device complexity
If heterogeneous memory types are not supported, then device complexity is reduced, but adaptability to different performance requirements is worsened
Solution Approach 1:
Different memory zones can be configured with different memory types (e.g., HBM, GDDR, DDR) depending on the specific performance requirements of applications. Each control circuit manages its zone's memory units with appropriate local optimization, enabling heterogeneous memory support while maintaining manageable complexity through standardized control interfaces.
Data Source
Figure 1
Figure 2
Figure 3A~3C
AI summary
Provided is a system and method for memory pool management, the method including receiving, by a first control circuit of a memory device controller, a first request to create a first logical memory space, the first control circuit being associated with a first memory zone, based on determining that a first memory unit, at a first physical address range of the first memory zone is available, allocating the first memory unit to the first logical memory space, based on determining that a second memory unit of the first memory zone is occupied, sending a memory-donation request to a second control circuit of the memory device controller, the second control circuit being associated with a second memory zone, and based on determining that a third memory unit of the second memory zone is available, allocating the third memory unit to the first logical memory space.