Memory Pool Partitioning via Firmware Intermediary

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvememory sharing capabilityVSAvoidimplementation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Productivity

If more physical memory is allocated to computing nodes, then system performance is improved, but system cost increases

Engineering Contradiction:
Improvesystem performanceVSAvoidmemory cost
Core Design Contradiction:
ProductivityVSQuantity of substance

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #15Dynamics

3Ease of manufacture

If memory is statically allocated to each computing node, then implementation simplicity is improved, but memory usage efficiency deteriorates

Engineering Contradiction:
Improveimplementation simplicityVSAvoidmemory usage efficiency
Core Design Contradiction:
Ease of manufactureVSLoss of energy

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.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8082400B1Partitioning a memory pool among plural computing nodes
Publication Date: 2011.12.20 HEWLETT PACKARD ENTERPRISE DEV LP
  • US8082400B1 patent drawing
  • US8082400B1 patent drawing
  • US8082400B1 patent drawing

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.