Home Knowledge Base CXL (Compute Express Link) Memory

CXL (Compute Express Link) Memory is the open standard interconnect protocol that enables cache-coherent memory expansion and sharing across CPUs, GPUs, and memory devices — allowing servers to attach additional memory pools beyond the directly-attached DDR, with CXL memory appearing as regular system memory to applications, addressing the growing gap between compute capacity and memory capacity in AI inference, in-memory databases, and HPC workloads where memory is the primary bottleneck.

Why CXL

CXL Protocol Types

TypeProtocolPurposeExample
CXL.ioPCIe-compatibleDevice discovery, configurationAll CXL devices
CXL.cacheCache coherenceDevice caches host memorySmart NICs, accelerators
CXL.memMemory accessHost accesses device memoryMemory expanders

CXL Device Types

TypeCXL ProtocolsUse Case
Type 1CXL.io + CXL.cacheAccelerators that cache host memory
Type 2CXL.io + CXL.cache + CXL.memGPUs, FPGAs with own memory
Type 3CXL.io + CXL.memMemory expanders (pure memory)

CXL Memory Expander (Type 3)

<svg viewBox="0 0 569 207" xmlns="http://www.w3.org/2000/svg" style="max-width:100%;height:auto" role="img"><rect x="0" y="0" width="569" height="207" rx="12" fill="#0d1117"/><g font-family="ui-monospace,SFMono-Regular,Menlo,Consolas,&quot;Liberation Mono&quot;,monospace" font-size="14"><text xml:space="preserve" x="20" y="31.7"><tspan fill="#c9d1d9"> CPU </tspan><tspan fill="#6e7681">←──</tspan><tspan fill="#c9d1d9">DDR5</tspan><tspan fill="#6e7681">──→</tspan><tspan fill="#c9d1d9"> [Local DRAM: 512 GB]</tspan></text><text xml:space="preserve" x="20" y="50.7"><tspan fill="#c9d1d9">  |</tspan></text><text xml:space="preserve" x="20" y="69.7"><tspan fill="#c9d1d9">  </tspan><tspan fill="#6e7681">├──</tspan><tspan fill="#c9d1d9">CXL 2.0</tspan><tspan fill="#6e7681">──→</tspan><tspan fill="#c9d1d9"> [CXL Memory Expander: 1 TB]</tspan></text><text xml:space="preserve" x="20" y="88.7"><tspan fill="#c9d1d9">  |</tspan></text><text xml:space="preserve" x="20" y="107.7"><tspan fill="#c9d1d9">  </tspan><tspan fill="#6e7681">└──</tspan><tspan fill="#c9d1d9">CXL 2.0</tspan><tspan fill="#6e7681">──→</tspan><tspan fill="#c9d1d9"> [CXL Memory Expander: 1 TB]</tspan></text><text xml:space="preserve" x="20" y="126.7"></text><text xml:space="preserve" x="20" y="145.7"><tspan fill="#c9d1d9"> Total: 2.5 TB addressable memory</tspan></text><text xml:space="preserve" x="20" y="164.7"><tspan fill="#c9d1d9">  - Local DDR: ~80 ns latency, ~400 GB/s BW</tspan></text><text xml:space="preserve" x="20" y="183.7"><tspan fill="#c9d1d9">  - CXL memory: ~150-200 ns latency, ~64-128 GB/s BW per device</tspan></text></g></svg>

CXL Memory Pooling (CXL 2.0+)

  [Server 1] [Server 2] [Server 3]
      \          |          /
       \         |         /
      [CXL Switch / Fabric]
       /    |    |    \    \
   [Mem 1][Mem 2][Mem 3][Mem 4][Mem 5]

Latency and Bandwidth

Memory TypeLatencyBandwidth (per channel)
DDR5 (local)70-90 ns~50 GB/s per channel
CXL 1.1 (direct attach)150-250 ns~32 GB/s (PCIe 5.0 x8)
CXL 2.0 (through switch)200-350 ns~32 GB/s
Remote NUMA (2-socket)120-180 ns~200 GB/s

CXL for AI/ML

CXL memory is the most significant server architecture evolution since NUMA — by breaking the tight coupling between CPUs and their directly-attached DRAM, CXL enables flexible memory composition that can adapt to workload demands, addressing the memory capacity wall that is increasingly the bottleneck for AI inference and in-memory data processing at scales where adding more DDR channels is physically impossible.

cxl memorycompute express linkmemory expansioncxl devicememory pooling cxl

Explore 500+ Semiconductor & AI Topics

From EUV lithography to CUDA optimization — search the full knowledge base or chat with our AI assistant.