Dynamic UMA-NUMA Memory Partitioning for Workload-Adaptive Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional SoC designs face challenges in balancing memory access latency, power consumption, and memory management complexity due to the fixed choice between UMA and NUMA architectures, which are suboptimal for varying workloads.

Innovation Solution

A dynamically configurable memory architecture that partitions memory into UMA and NUMA regions with a software-adjustable boundary point, allowing dynamic adjustment based on workload parameters to optimize performance and power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If UMA architecture is used, then memory management complexity is reduced, but memory access latency increases and power consumption increases

Engineering Contradiction:
Improvememory management complexityVSAvoidmemory access latency
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The memory system is segmented into multiple memory regions, with each region managed by a separate memory controller that can be independently configured as UMA or NUMA. This allows different segments to use different architectures optimized for their specific workload requirements, resolving the contradiction by enabling low-latency NUMA access where needed while maintaining simple UMA management where applicable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The memory architecture employs dynamic configuration where memory regions can be switched between UMA and NUMA modes based on runtime workload characteristics. The system monitors access patterns and dynamically adjusts the memory management mode, allowing it to adapt to changing requirements and optimize both latency and management complexity under different operating conditions.

Inventive Principle:
Principle #15Dynamics

2Device complexity

If UMA architecture is used, then memory management complexity is reduced, but power consumption increases

Engineering Contradiction:
Improvememory management complexityVSAvoidpower consumption
Core Design Contradiction:
Device complexityVSUse of energy by stationary object

Solution Approach 1:

The memory system is divided into multiple regions with independent memory controllers that can be configured as UMA or NUMA. This segmentation allows power-efficient NUMA architecture to be applied to specific memory regions with high access frequency, while other regions use simpler UMA management, thereby reducing overall power consumption without sacrificing management simplicity where NUMA is not required.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically changes the memory management parameters (UMA/NUMA configuration) based on workload characteristics and power requirements. By adjusting the configuration mode according to real-time conditions, the system optimizes the balance between management complexity and power consumption, selecting the appropriate architecture for each memory region based on its access patterns and importance.

Inventive Principle:
Principle #35Parameter changes

3Loss of time

If NUMA architecture is used, then memory access latency is reduced, but memory management complexity increases

Engineering Contradiction:
Improvememory access latencyVSAvoidmemory management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The memory system is segmented into multiple regions, each with its own memory controller that can be independently configured. This allows NUMA architecture to be applied only to specific memory regions where low latency is critical, while other regions use simpler UMA management, thereby achieving low-latency access where needed without incurring the full overhead of NUMA management across the entire system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different memory regions are assigned different management architectures based on their specific requirements. Regions with high access frequency and performance-critical workloads use NUMA for low latency, while regions with less demanding requirements use UMA for simplicity. This local optimization resolves the contradiction by applying complexity only where it provides necessary performance benefits.

Inventive Principle:
Principle #3Local quality

4Device complexity

If fixed memory architecture is used, then design simplicity is maintained, but adaptability to varying workloads decreases

Engineering Contradiction:
Improvedesign simplicityVSAvoidadaptability to workload changes
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The memory architecture implements dynamic configurability where each memory region can be switched between UMA and NUMA modes based on runtime workload characteristics. The system monitors access patterns, latency requirements, and power consumption, then dynamically adjusts the configuration to match current demands, thereby achieving high adaptability while maintaining relatively simple design through modular memory controllers.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The memory system is designed with universal memory controllers that can operate in multiple modes (UMA and NUMA). Each controller is capable of performing both simple UMA management and complex NUMA management, allowing the same hardware infrastructure to adapt to different workload requirements without requiring separate dedicated controllers for each architecture type.

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

Data Source

PatentEP4682700A1Configurable memory architecture
Publication Date: 2026.01.21 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP4682700A1 patent drawingFigure 1~2
  • EP4682700A1 patent drawingFigure 3~4
  • EP4682700A1 patent drawingFigure 5A~5E

AI summary

The description relates to dynamic memory management. One example includes an assembly that entails processing elements and memory. A dynamic UMA/NUMA configuration module is configured to facilitate managing a first region of the memory based upon a Uniform Memory Access (UMA) architecture and a second region of the memory based upon a Non-Uniform Memory Access (NUMA) architecture. The dynamic UMA/NUMA configuration module is configured to dynamically adjust ratios of the memory in the first region and the second region based upon workload changes on the processing elements.