Disaggregated Memory Communication Using Ownership-Based Shared Rings

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing systems with disaggregated memory, maintaining cache coherence becomes challenging when a large number of hosts are connected, leading to inefficiencies and network performance issues due to the need for costly cache flushes and out-of-band messaging.

Innovation Solution

A communication protocol using circular buffers and descriptor ownership to manage data ownership between processors, allowing them to write to shared disaggregated memory without requiring cache coherence, thereby reducing the need for out-of-band messaging and improving scalability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If cache coherence protocols are used to ensure data consistency across multiple CPUs accessing disaggregated memory, then data consistency is maintained, but system complexity and communication overhead increase significantly

Engineering Contradiction:
Improvedata consistencyVSAvoidcache coherence protocol complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the cache coherence requirement by implementing a polling-based ownership model where processors explicitly query ownership status before accessing memory. This removes the need for complex distributed cache coherence protocols while maintaining data consistency through explicit ownership tracking and polling mechanisms.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces an intermediary ownership indicator mechanism that mediates access between multiple processors and disaggregated memory. Instead of direct cache coherence protocols, processors poll ownership indicators to determine who should access the memory, acting as an intermediary control layer that simplifies the interaction model.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If out-of-band messaging is used to coordinate turn-based writing to disaggregated memory, then data corruption is prevented, but network performance deteriorates due to increased latency and bandwidth consumption

Engineering Contradiction:
Improvedata integrityVSAvoidcommunication latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent merges the ownership coordination function into the existing memory access fabric by implementing polling mechanisms that utilize the same communication infrastructure. Instead of separate out-of-band messaging channels, ownership status is queried through the existing memory fabric, combining coordination and data transfer functions to reduce latency and network overhead.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If frequent cache flushes are performed to maintain consistency in non-cache-coherent systems, then data consistency is maintained, but system performance decreases due to costly flush operations

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs preliminary actions by having processors poll ownership status before memory access operations. This proactive checking prevents inconsistent access patterns that would require costly cache flushes, as processors only access memory when they have confirmed ownership, eliminating the need for frequent consistency maintenance operations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20260050396A1Communication using non-cache-coherent disaggregated memory
Publication Date: 2026.02.19 VMWARE INC
  • US20260050396A1 patent drawing
  • US20260050396A1 patent drawing
  • US20260050396A1 patent drawing

AI summary

Processor-to-processor communication is provided by using a non-cache-coherent disaggregated memory. The communication between a first processor and a second processor uses a pipe with three circular buffers (rings): a first ring at a first memory of a first computer that includes the first processor, a second ring at a second memory of a second computer that includes the second processor, and a third (shared) ring at the disaggregated memory that is shared by the first and second processors. The first processor uses the pipe to write a descriptor (containing the data and an ownership value) to the shared ring, and the second processor performs a polling process to determine if the ownership value corresponds to the second processor so that the second processor can act on (e.g., copy and modify) the data in the descriptor.