Thin-Provisioned Disaggregated Memory Paging Controller

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data centers face inefficiencies due to resource stranding, where compute nodes are underutilized, leading to wasted memory resources, as the average memory consumption is often below the native memory capacity.

Innovation Solution

A thin-provisioned multi-node computer system with a disaggregated memory pool and a pooled memory controller, which assigns memory segments to compute nodes, identifies cold segments with low usage, and pages them out to an expanded bulk memory device, freeing up memory for other nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If memory capacity is thinly provisioned relative to compute nodes, then memory utilization efficiency is improved, but memory access speed and availability deteriorate

Engineering Contradiction:
Improvememory utilization efficiencyVSAvoidmemory access speed
Core Design Contradiction:
Loss of energyVSSpeed

Solution Approach 1:

The memory pool is divided into multiple memory segments that can be dynamically assigned to different compute nodes. This segmentation allows the system to efficiently manage limited memory resources by allocating specific segments to nodes that need them, improving overall utilization while maintaining organized access patterns that preserve speed characteristics.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical memory architecture with two levels: a fast but limited memory pool and a slower but expanded bulk memory device. This dimensional addition allows the system to provide both high-speed access for active data and large-capacity storage for less frequently accessed data, resolving the contradiction between speed and capacity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Quantity of substance

If more memory segments are assigned to compute nodes, then memory availability is improved, but resource stranding and waste increase

Engineering Contradiction:
Improvememory availabilityVSAvoidresource waste
Core Design Contradiction:
Quantity of substanceVSLoss of substance

Solution Approach 1:

The memory assignment system is made dynamic through continuous monitoring of usage characteristics. Memory segments are not permanently assigned but are instead allocated and released based on real-time需求的变化. This dynamic approach allows the system to provide high memory availability when needed while automatically releasing segments when not in use, preventing resource stranding and waste.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements feedback mechanisms by monitoring usage characteristics of memory segments and using this information to make intelligent allocation decisions. The pooled memory controller continuously assesses which segments are cold (low usage) and which are hot (high usage), and adjusts assignments accordingly, ensuring optimal utilization without waste.

Inventive Principle:
Principle #23Feedback

3Quantity of substance

If cold segments are identified and paged out to bulk memory, then memory pool pressure is reduced, but system complexity increases

Engineering Contradiction:
Improvememory pool capacityVSAvoidmemory management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The pooled memory controller serves as an intermediary between compute nodes and the memory pool, centralizing the complexity of cold segment identification and paging operations. This mediator handles the monitoring of usage characteristics, identification of cold segments, and coordination with bulk memory devices, isolating the complexity from the compute nodes and presenting a simplified interface to them.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12242376B2Paging in thin-provisioned disaggregated memory
Publication Date: 2025.03.04 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12242376B2 patent drawing
  • US12242376B2 patent drawing
  • US12242376B2 patent drawing

AI summary

Disclosed herein is a thin-provisioned multi-node computer system with a disaggregated memory pool and a pooled memory controller. The disaggregated memory pool is configured to make a shared memory capacity available to each of a plurality of compute nodes, such memory capacity being thinly provisioned relative to the plurality of compute nodes. The pooled memory controller is configured to assign a plurality of memory segments of the disaggregated memory pool to the plurality of compute nodes; identify a subset of the plurality of segments as cold segments, such identification being based on determining that a usage characteristic for each such cold segment is below a threshold; and page one or more of the cold segments out to an expanded bulk memory device, thereby freeing one or more assigned memory segments of the disaggregated memory pool.