HomeCXL CourseDay 1
DAY 1 · PHASE 1 — FOUNDATIONS

What is CXL?
The Memory Wall & Coherent Interconnect

By EcrioniX · Updated July 2026

Compute Express Link (CXL) is the most consequential data-center interconnect to emerge in years — and the reason "memory disaggregation" appears in nearly every AI-infrastructure discussion today. Day 1 explains the problem it solves, what makes it fundamentally different from PCIe, and the vocabulary you'll need for the rest of the course.

Start With the Problem: Two Kinds of Memory Pain

Modern servers suffer from two distinct, expensive memory problems at the same time:

🧩
Stranded MemoryDRAM that's installed and paid for, but unusable because its CPU has already scheduled all its cores elsewhere
🧠
The Memory WallLarge AI models limited more by memory capacity and bandwidth than by raw compute — the CPU/GPU can compute faster than it can be fed

The stranding problem is bigger than most people expect. Published data-center studies find that when about 75% of CPU cores are scheduled to VMs, an average of ~6% of total memory is stranded — installed but unreachable — and that figure rises to as much as 25% as VM and container density climbs. In a large fleet, that's an enormous amount of DRAM being paid for and delivering nothing.

Stranded-memory figures per published data-center memory-utilization research.

The Root Cause: Memory Is Bolted to One CPU

Both problems share the same underlying cause. In a conventional server, DRAM lives in DIMM slots wired directly to a specific CPU socket. That memory is captive — it can only ever serve the cores on that one socket. A neighboring socket that's desperate for more memory cannot borrow it; a socket whose cores are all busy cannot lend its idle memory out. Memory capacity is a fixed, non-transferable quantity bolted to each CPU.

CXL's core idea is to break that rigidity: make memory a shared, coherent resource reachable over a link, instead of a fixed amount hard-wired to one processor.

What CXL Actually Is

CXL (Compute Express Link) is an open, cache-coherent interconnect standard that runs on top of the PCIe physical layer. Two parts of that sentence matter enormously:

Coherence — The One Concept That Makes CXL Different

Plain PCIe moves blocks of data between a host and a device, but the two sides have no shared, hardware-maintained understanding of memory state. If a CPU and a PCIe device both have copies of the same data, keeping them consistent is entirely the software's problem — usually solved by expensive explicit copies and flushes.

Cache coherence changes this: the hardware itself tracks who holds a copy of each piece of memory and ensures everyone sees a consistent value. When one side modifies shared data, the coherence protocol makes sure the other side won't read a stale copy. This is exactly the guarantee that lets memory attached to a device behave, to software running on the CPU, almost like the CPU's own local DRAM — no manual copying, no explicit synchronization, just normal memory loads and stores.

The one-sentence summary: PCIe lets a device and a host exchange data; CXL lets them coherently share memory. That difference — coherence — is what turns an I/O bus into a memory fabric.

The Three Sub-Protocols

CXL isn't one protocol but three, multiplexed over the same link. Which ones a device uses defines what it can do:

Sub-ProtocolDirectionWhat It Does
CXL.ioBothConfiguration, discovery, enumeration, register access, DMA — functionally similar to PCIe. Every CXL device must support it; it's the mandatory baseline.
CXL.cacheDevice caches host memoryLets an accelerator coherently cache the host's memory, so it can operate on shared data without constant round-trips back to the CPU.
CXL.memHost accesses device memoryLets the CPU read and write memory physically attached to a device — the foundation of memory expanders, pooling, and disaggregation.

You'll spend all of Day 3 on these three in detail. For now, the key intuition: CXL.cache is about a device reaching into host memory, while CXL.mem is about the host reaching into device memory — opposite directions, different use cases.

The Three Device Types

Combine the sub-protocols in different ways and you get the three CXL device types — the classification you'll see constantly in any CXL discussion:

TypeSub-ProtocolsExample
Type 1CXL.io + CXL.cacheAn accelerator or SmartNIC with a cache but no host-attached memory of its own
Type 2CXL.io + CXL.cache + CXL.memAn accelerator (e.g. GPU) with its own directly-attached memory that stays coherent with the host
Type 3CXL.io + CXL.memA memory expander — presents DRAM or persistent memory to the CPU. The workhorse of memory expansion and pooling.

Notice Type 3 deliberately omits CXL.cache: a pure memory expander has nothing to cache from the host — its whole job is to be memory the host reaches into via CXL.mem. This is the device type most CXL memory-pooling and disaggregation deployments are built around.

Why CXL Rides PCIe — and the Speed Ladder

Because CXL uses the PCIe physical layer, each CXL generation advances in lockstep with a PCIe generation. This is a preview of Day 2, but worth seeing now:

CXL VersionPCIe BaseSignaling Rate
CXL 1.1 / 2.0PCIe 5.032 GT/s
CXL 3.0 / 3.1PCIe 6.064 GT/s (PAM4)
CXL 4.0 (Nov 2025)PCIe 7.0128 GT/s

Reusing PCIe's physical layer was a deliberate strategic choice: it let CXL inherit a mature, high-volume electrical ecosystem instead of inventing a new one, which is a large part of why CXL went from specification to real silicon so quickly.

🎯 Day 1 Key Takeaways

Frequently Asked Questions

What is CXL in simple terms?
CXL (Compute Express Link) is an open, cache-coherent interconnect that runs on the PCIe physical layer and lets CPUs, accelerators, and memory devices share memory coherently across a link. It makes memory attached to a device usable by the CPU almost as if it were the CPU's own DRAM.
What is the memory wall?
The memory wall is the growing gap between how fast processors can compute and how much memory capacity and bandwidth they can access. Large AI models in particular are limited more by memory than by raw compute — CXL addresses this by expanding, pooling, and disaggregating memory beyond a single CPU's DIMM slots.
What is stranded memory?
Stranded memory is DRAM that is physically installed and paid for but cannot be used, because the CPU it's attached to has already allocated all its cores to workloads. Studies show an average of about 6% of data-center memory is stranded, rising to as much as 25% at high VM or container density. CXL pooling lets that otherwise-wasted memory be reallocated where it's needed.
How is CXL different from PCIe?
CXL uses the same physical layer as PCIe, but adds cache-coherent protocols (CXL.cache and CXL.mem) on top. Plain PCIe moves data between a host and device without any shared, hardware-maintained view of memory state; CXL's coherence lets host and device agree on memory state in hardware, which is what makes coherent memory sharing possible.
What are the three CXL sub-protocols and device types?
The three sub-protocols are CXL.io (configuration and I/O), CXL.cache (device coherently caches host memory), and CXL.mem (host accesses device-attached memory). The three device types are Type 1 (accelerator with cache, no local memory), Type 2 (accelerator with coherent local memory), and Type 3 (memory expander).