Figure: the competitive landscape for KV-cache offloading, in four bands plus an industry timeline. Commercial hardware available today: Samsung CMM-D up to 512 gigabytes per module and CMM-B up to 16 terabytes per box at about 60 gigabytes per second and roughly 600 nanoseconds loaded; the XConn Apollo 256-lane CXL switch with MemVerge GISMO and about 100 terabyte pool demos; the Astera Labs Leo smart memory controller; and Marvell Structera near-memory compute. Emerging software frameworks and academic papers place cache policy in the serving framework, the GPU model runtime, or the host CPU. Where cache policy lives today, in four cards: the serving framework, meaning vLLM, SGLang with RadixAttention, NVIDIA Dynamo and LMCache; the model runtime, meaning H2O, SnapKV, Scissorhands, PyramidKV, Quest, Ada-KV and HeadKV; the host CPU, meaning FlexGen, InfiniGen and Mooncake; and the CXL device, meaning Astera Leo, Marvell Structera and Samsung CMM. None of them does attention-aware retention in controller firmware. The combination proposed here is four parts: 640 GQA-matched queues, EMA score tracking, a RoPE prefetch window of P minus W to P plus W, and policy execution in CXL endpoint firmware below the serving framework. Two things about that combination have been corrected. First, the scoring function is not novel: a decayed-frequency score is LRFU, published by Lee and colleagues at SIGMETRICS in 1999, and alpha is its documented knob between LRU and LFU behaviour, so the claim has to rest on placement and on the protocol, not on the score. Second, the alpha of 0.2 previously quoted here was never validated; the simulated optimum is alpha of about 0.05, giving 55.96 percent at a 32 gibibyte budget against LRU at 36.85 percent, which is plus 19.1 percentage points, while at the specified alpha the margin over LRU is only plus 2.5 to plus 5.8 points rather than the plus 25 previously claimed. The modelled 97 percent HBM hit rate and the 16 concurrent users at 128K context on one B200 that this figure used to promise are both retracted. There is no single hit rate: the corrected simulation gives 8.5 to 91.6 percent depending on HBM budget, policy and workload, and at a 32 gibibyte budget LRU gives 38.34, LFU 16.09, EMA alpha 0.15 gives 44.18 and EMA alpha 0.01 gives 35.91. Those values are provisional rather than settled, because a single data-structure defect in Revision 1 of the simulator inverted four of five findings. The 16 times user capacity was downstream of the 97 percent and is withdrawn outright with no replacement claim, and the 36 percent CapEx reduction that priced a configuration justified by it is withdrawn too, with no new cost figure offered. What survives is the capacity arithmetic, which never depended on a hit rate: 320 kibibytes per token, 2.50 gibibytes at 8K, 40.0 gibibytes at 128K, and a single-sequence crossover against the weights at about 427,000 tokens. The timeline runs 2022 to 2026, colour-coded green for hardware, amber for software, purple for research and blue for standards.
External literature
Vendor specification
Simulated (provisional)
Analytical model
KV-Cache Offloading: Competitive Landscape
Where KV-cache policy lives today, and the narrow slice this work adds
Hardware
CMM-D / CMM-B
Samsung
CMM-D: up to 512 GB / module
CMM-B: up to 16 TB / box
~60 GB/s (box)
~600 ns loaded
CXL Type-3 memory expansion: an E3.S DDR5 module (CMM-D) and a rack-level pooled box (CMM-B). Media management, RAS and interleaving live in the controller.
Where policy lives: Host/OS tiering decides placement; the device exposes capacity, not an attention-aware cache policy
Hardware
Apollo CXL Switch + GISMO
XConn + MemVerge
256-lane CXL switch
~100 TB pool demos
Multi-host
Switched CXL memory pooling with MemVerge GISMO; demonstrated as a KV-cache tier under NVIDIA Dynamo.
Where policy lives: Pool allocation in switch + host software; eviction is block/prefix-level, not per-head
Hardware
Leo (P-/E-Series)
Astera Labs
CXL smart memory controller
DDR5 expansion + pooling
COSMOS telemetry
Astera's CXL memory line: Leo controller, Scorpio switch, Aries retimer, Taurus smart cable. Leo adds on-controller media management, RAS, security and fleet telemetry.
Where policy lives: Controller logic exists, but it is memory-management logic — it has no view of attention scores or KV-head structure
Hardware
Structera
Marvell
CXL near-memory compute
Arm cores on device
Expansion + pooling
CXL device family that puts general-purpose compute next to the DRAM, which is why "no CXL device has on-controller logic" is not a claim this document makes.
Where policy lives: Compute is available on-device, but is applied to general workloads — no published KV-cache eviction policy
Software
vLLM + LMCache
UC Berkeley / Open Source
PagedAttention
CPU offload
Prefix caching
Block-level KV management with PagedAttention and prefix reuse; LMCache adds CPU/SSD tiers.
Where policy lives: Serving framework, block granularity — above the kernel, not in the device
Software
SGLang / RadixAttention
Open Source
Radix-tree prefix cache
Automatic KV reuse
Hierarchical tiers
Keeps a radix tree over prompt prefixes so shared prefixes are matched and reused automatically, with LRU eviction over the tree.
Where policy lives: Scheduler, prefix granularity — reuse across requests, not selection within a context
Software
Dynamo
NVIDIA
Disaggregated serving
KV-aware routing
Tiered KV offload
Distributed inference framework with a KV-cache manager that routes requests to workers already holding the relevant blocks and offloads cold blocks to host memory or storage.
Where policy lives: Cluster control plane, block granularity — placement and routing, not per-head retention
Software
Mooncake
Moonshot AI
Disaggregated prefill/decode
Global KV store
Distributed KV cache pooled across CPU DRAM + SSD, moved over the network.
Where policy lives: Cluster store; transfers are network-mediated rather than load/store
Software
FlexGen · InfiniGen
Stanford · SNU (OSDI '24)
GPU/CPU/SSD offload
Speculative KV prefetch
FlexGen schedules offload for throughput; InfiniGen speculates which KV entries the next layer will need and prefetches them from host memory.
Where policy lives: Host CPU, over a driver-mediated PCIe path (µs-scale per transfer)
Paper
PNM-KV
arXiv:2511.00321 — November 2025
CXL + processing-near-memory
1M tokens
Steady-token selection
Offloads token page selection to a PNM accelerator behind CXL — the closest published work to putting KV-cache decisions on the memory device.
Difference: Token-page granularity on custom PNM silicon; no per-head EMA state, no RoPE-informed prefetch
Paper
H2O · SnapKV · Scissorhands · PyramidKV · Quest
H2O: arXiv:2306.14048 (2023)
Attention-score eviction
Heavy hitters
Query-aware selection
Attention-score-based KV eviction and selection is established prior art. This document does not claim to have invented it.
Where policy lives: Inside the model runtime on the GPU, with the full attention matrix in hand
Paper
Ada-KV · HeadKV
Ada-KV: arXiv:2407.11550 (2024)
Per-head budgets
Head-type awareness
Retrieval/induction heads
Allocating a different cache budget per attention head is likewise established prior art, and is the direct antecedent of the per-head tracking used here.
Where policy lives: Framework-level budget allocation, recomputed per request on the GPU
🧩
In the serving framework
vLLM, SGLang/RadixAttention, NVIDIA Dynamo, LMCache: block- and prefix-level admission, reuse and eviction, decided above the kernel.
📊
In the model runtime
H2O, SnapKV, Scissorhands, PyramidKV, Quest, Ada-KV, HeadKV: attention-score eviction and per-head budgets, executed on the GPU.
🖥
On the host CPU
FlexGen, InfiniGen, Mooncake: offload and speculative prefetch driven by host software over a driver-mediated PCIe path.
🔌
On the CXL device
Astera Leo (smart memory controller), Marvell Structera (near-memory compute), Samsung CMM: real on-device logic — for media, pooling and general compute, not for attention-aware retention.
🔍
The narrow claim this work makes
Each ingredient below exists in prior art. What we have not identified is a publicly documented system that executes per-head EMA scoring with RoPE-informed prefetch inside CXL controller firmware, below the serving framework. The contribution is that combination and its placement — not the individual mechanisms. If such a system is published, this claim should be withdrawn.
The scoring function is not the contribution — it is LRFU
A decayed-frequency score of the form used here is LRFU (Lee et al., SIGMETRICS 1999) —
established prior art — and α is its documented LRU↔LFU knob: large α behaves like recency, small α
like frequency. Stating the contribution at the level of the score would be claiming a 1999 result. Stated at the
right level, the claim is a protocol one: make KV state and its control metadata a single migratable object,
with identity-keyed policy state that survives the round trip between tiers. Host owns policy; device owns
mechanism. In simulation that persistence is worth more than the choice of policy — at a 32 GiB budget it is
+34.15 pts for LFU and +24.85 pts for EMA α = 0.01 — and it is testable with
no CXL hardware. Whether the controller must be on the device remains open.
GQA-Aware Architecture
640 queues matching Llama-70B's KV-head × layer structure
EMA Score Tracking
Per-position attention smoothing for stable eviction signals. The simulated optimum is
α ≈ 0.05 — 55.96% at 32 GiB against LRU's 36.85%,
+19.1 pts. The α = 0.2 previously quoted here was
never validated, and this score is LRFU, not a new mechanism.
RoPE Prefetch Window
Locality-aware [P-W, P+W] prefetch exploiting position encoding
CXL Controller Placement
Policy executes in endpoint firmware, below the serving framework
Industry Timeline
2022
Samsung CMM-D prototype
CXL 3.0 specification
2023
vLLM PagedAttention
Intel Sapphire Rapids (CXL 1.1)
H2O attention-score eviction
CXL 3.1 specification
2024
Samsung CMM-B (16 TB box)
Astera Labs Leo controllers
SGLang / RadixAttention
SnapKV · Quest · InfiniGen
2025
NVIDIA Dynamo KV manager
XConn + MemVerge GISMO pooling
Marvell Structera near-memory compute
Ada-KV / HeadKV per-head budgets
PNM-KV (arXiv:2511.00321, Nov 2025)
2026
CXL 3.x switching broadens
KV offload becomes a standard serving-stack tier
This work: per-head EMA + RoPE prefetch in endpoint firmware (analytical model)
A CXL-Native Placement for Known KV-Cache Techniques
Established attention-aware eviction and per-head budgeting, moved below the serving framework
into endpoint firmware — without custom silicon. The 97% HBM hit rate and the 16 concurrent users at 128K that
used to be promised here are retracted. There is no single hit rate: the corrected simulation gives
8.5–91.6% depending on HBM budget, policy and workload (at 32 GiB: LRU 38.34, LFU 16.09,
EMA α = 0.15 44.18, EMA α = 0.01 35.91), and those values are provisional, not settled. The 16× was downstream of the
97% and is withdrawn outright; the 36% CapEx reduction priced a configuration justified by it and is withdrawn with
it, with no replacement cost figure. What stands is the capacity arithmetic, which never depended on a hit rate:
320 KiB/token, 2.50 GiB at 8K, 40.0 GiB at 128K, single-sequence
crossover with the weights at ≈ 427,000 tokens.
Per-head granularity
Attention-weighted eviction
RoPE-aware prefetch
Controller-resident logic
Evidence labels: third-party capabilities are vendor specifications or published claims;
prior-art mechanisms are external literature; capacity sizing is an analytical model
over stated inputs; hit rates and policy margins are simulated (provisional) — Revision 2 of
kv_tiering_sim_v2.py, 2–3 seeds, no Belady bound, no bandwidth or queueing model, no hardware
validation, and provisional rather than settled because a single data-structure defect in Revision 1 inverted four of
five findings. The only measured data in this package is on a DGX Spark (GB10, 19 Aug 2026): achieved
streaming bandwidth 236.5 GB/s = 87% of the 273 GB/s spec, which retires the ~50% effective-bandwidth haircut earlier
drafts applied. No CXL hardware was measured. The 97% hit rate, the 16× user capacity, the 65×
access-latency headline and all cost figures including the 36% CapEx reduction are retracted — see
RETRACTIONS.