CXL.mem-to-CXL.cache Translation for Direct Host Communication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The CXL Specification (Revision 3.1) lacks support for direct host-to-host communication using CXL.cache or CXL.mem protocols, hindering the development of fully disaggregated memory-centric architectures where multiple hosts can share and access disaggregated memory resources over their native CXL interfaces.

Innovation Solution

Implementing a Resource Provisioning Unit (RPU) to translate between CXL.mem and CXL.cache write transactions, enabling different hosts to communicate using native memory and cache semantics, allowing for flexible data sharing and memory access models.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the CXL Specification (Revision 3.1) is used for memory access, then memory pooling and sharing capabilities are provided, but direct host-to-host communication using CXL.cache or CXL.mem protocols is not supported

Engineering Contradiction:
Improvehost-to-host communication capabilityVSAvoidprotocol translation complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary device (CXL Type 2 or Type 3 device) that acts as a protocol translator between hosts using different CXL protocols. This intermediary receives CXL.mem transactions from one host, translates them into CXL.cache transactions, and forwards them to the target host, thereby enabling host-to-host communication without requiring both hosts to support the same protocol natively.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If CXL.mem protocol is used for memory access, then memory pooling is enabled, but cache-coherent access to shared memory between hosts is limited

Engineering Contradiction:
Improvememory access model flexibilityVSAvoidcache coherence
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent changes the protocol parameters (from CXL.mem to CXL.cache) during translation while maintaining the essential memory access semantics. The translation process preserves cache coherence by mapping CXL.mem memory access patterns into equivalent CXL.cache operations, ensuring that cache coherence requirements are met despite the protocol transformation.

Inventive Principle:
Principle #35Parameter changes

3Speed

If legacy IO-fabric solutions like PCIe are used, then broad compatibility is achieved, but high-speed communication and memory disaggregation potential are not fully exploited

Engineering Contradiction:
Improvecommunication speedVSAvoidinterconnect architecture complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent creates a universal translation layer that enables multiple CXL protocol types (CXL.mem, CXL.cache) to interoperate through a common intermediary. This multi-functional approach allows the system to support both memory pooling (CXL.mem) and cache-coherent access (CXL.cache) through the same infrastructure, maximizing the utility of the CXL fabric without requiring separate dedicated paths for each protocol type.

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

Data Source

PatentUS12373372B2Translating between CXL.mem and CXL.cache write transactions
Publication Date: 2025.07.29 HYATT GAYA OPAL MS
  • US12373372B2 patent drawing
  • US12373372B2 patent drawing
  • US12373372B2 patent drawing

AI summary

Embodiments for communicating between first and second hosts according to CXL.mem and CXL.cache protocols. A computer translates a CXL.mem M2S RwD with a Tag, received by a CXL Type 2 or Type 3 device (EP1) from the first host, to a CXL.cache D2H Req with a CQID. A CXL Type 1 or Type 2 device (EP2) sends the D2H Req to the second host, and receives a CXL.cache H2D Rsp with the CQID and a UQID. EP1 sends a CXL.mem S2M NDR with the Tag to the first host, and EP2 sends a CXL.cache D2H Data message with the UQID to the second host. Optionally, EP1 receives and terminates CXL.io/PCIe Configuration Request TLPs from the first host, the M2S RwD further includes a first physical address and Data, and the D2H Req further includes a second physical address.