Memory Pool Partitioning via Firmware Intermediary
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In computer systems with multiple computing nodes, efficiently allocating memory resources while minimizing costs and implementation complexities, as existing sharing mechanisms often require specialized hardware or software.
Innovation Solution
A memory-sharing and partitioning mechanism that allows computing nodes to share physical memories through a high-speed interconnection network, using firmware to partition a global memory pool in a software-transparent manner, enabling dynamic allocation and heterogeneous memory usage without requiring operating system intervention.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If specialized hardware or software mechanisms are used to share memory resources among multiple computing nodes, then memory sharing capability is improved, but device complexity and implementation complexity increase
Solution Approach 1:
The patent introduces a memory management unit (MMU) as an intermediary component that handles memory allocation and mapping between computing nodes and the shared memory pool. The MMU translates virtual addresses to physical addresses and manages memory partitions, eliminating the need for complex specialized hardware while enabling efficient memory sharing through standardized interface mechanisms.
Solution Approach 2:
The patent implements a universal memory interface that allows different types of computing nodes (CPUs, GPUs, FPGAs) to access the shared memory pool through a common protocol. This multi-functional interface design enables the same memory sharing mechanism to serve multiple purposes and different node types, reducing implementation complexity while maintaining versatility.
2Productivity
If more physical memory is allocated to computing nodes, then system performance is improved, but system cost increases
Solution Approach 1:
The patent merges the memory resources of multiple computing nodes into a single shared memory pool, allowing dynamic allocation and sharing of physical memory across nodes. This consolidation enables the system to achieve higher overall performance by utilizing the aggregate memory capacity of all nodes rather than having each node require its own dedicated memory, thereby reducing total memory cost while improving system-wide productivity.
Solution Approach 2:
The patent implements dynamic memory allocation where the memory pool is partitioned and allocated to computing nodes based on real-time workload demands. The system can dynamically adjust the amount of memory assigned to each node, allowing memory resources to be flexibly reallocated from idle nodes to active nodes, thus optimizing performance while minimizing the total memory capacity required and reducing costs.
3Ease of manufacture
If memory is statically allocated to each computing node, then implementation simplicity is improved, but memory usage efficiency deteriorates
Solution Approach 1:
The patent segments the shared memory pool into multiple partitions that can be dynamically assigned to different computing nodes. This segmentation allows the system to maintain simple implementation through a standardized partitioning mechanism while improving memory usage efficiency by enabling flexible reallocation of memory segments based on actual workload requirements, preventing both waste and starvation of memory resources.
Data Source
AI summary
To share a memory pool that includes at least one physical memory in at least one of plural computing nodes of a system, firmware in management infrastructure of the system is used to partition the memory pool into memory spaces allocated to corresponding ones of at least some of the computing nodes. The firmware maps portions of the at least one physical memory to the memory spaces, where at least one of the memory spaces includes a physical memory portion from another one of the computing nodes.


