TrendForce

TrendForce

Breaking the Memory Bottleneck Part 1: How CXL Unlocks the Memory Capacity KV Cache Needs

Deep dive into different approaches from Enfabrica, Penguin Solutions, Marvell, and Meta

TrendForce's avatar
TrendForce
Jul 24, 2026
∙ Paid

For most of the AI buildout, the scarce resource was compute. In 2026, the binding constraint has shifted to memory, and the pressure point is KV Cache, the working memory of inference. Its footprint grows with every extra token of context and every additional user in the batch, and in the first half of 2026, surging KV Cache demand coupled with limited memory supply resulted in severe memory bottlenecks.

Chipmakers, CSPs, and infrastructure vendors are now converging on the problem from opposite ends. Part 1 of this series looks at capacity expansion: how CXL technology and KV Cache offloading are creating a new tier in the memory hierarchy, and which companies are positioned along the way. Part 2 looks at footprint compression, where attention mechanism improvements and KV Cache quantization shrink how much room the KV Cache needs in the first place.

Why KV Cache becomes the bottleneck

If you read our previous article on AI memory, you will recall that the KV Cache is a dedicated memory space used during inference to store the KV (Key-Value) vectors generated in the prefill phase. By reading from the KV Cache instead of recalculating those vectors at every decode step, AI models dramatically improve inference efficiency.

From Training to Inference: A Paradigm Shift in the Memory Hierarchy

From Training to Inference: A Paradigm Shift in the Memory Hierarchy

TrendForce
·
Jul 22
Read full story
TrendForce diagram explaining LLM KV Cache mechanism during Prefill and Decode stages in AI inference workflow.

The catch is that the KV Cache is dynamically allocated. Its memory footprint scales with both the context window and the batch size:

Total Size of KV Cache (Bytes) = 2 × layers × KV heads × head dimension × sequence length × batch × precision (Bytes)

Consider Llama 3 70B loaded in FP16 without GQA (using standard MHA). The model weights occupy roughly 140GiB, so early on, most of the available memory capacity is used to store the weights. But as the context window scales (assuming batch size of 1), the KV Cache consumes 160GiB at 64K, already exceeding the memory capacity required for the model weights. At 128K, it swells to 320GiB, roughly 2.3 times the size of the model weights. KV Cache becomes the primary driver of memory exhaustion.

Behind the paywall, we dig into capacity expansion solutions designed to resolve the KV Cache bottleneck:

  • The mechanics behind CXL

  • Enfabrica’s EMFASYS

  • Penguin Solutions’ MemoryAI KV Cache Server

  • Marvell’s Structera S

  • Meta’s Vistara and MemServer

Related report: Overcoming the Memory Bottleneck: CXL Expansion and KV Cache Compression Innovations

This post is for paid subscribers

Already a paid subscriber? Sign in
© 2026 TrendForce · Publisher Terms
Substack · Privacy ∙ Terms ∙ Collection notice
Start your SubstackGet the app
Substack is the home for great culture