Skip to content
C.W.K.
Stream
Lesson 05 of 05 · published

Where Modular Strikes Back

~13 min · convergence, cxl, ucie, socamm, batch-throughput, modularity, vendor-claim

Level 0Spec-Sheet Skimmer
0 XP0/91 lessons0/19 achievements
0/100 XP to next level100 XP to go0% complete
"The edge went integrated; the data centre is going modular again — pooled, shared, replaceable. Both are right, because the referee's line runs between them."

Memory Comes Off the Package Again

Every lesson in this track watched memory move onto the package. At server scale it is moving off. NVIDIA's Vera CPU pairs LPDDR5X with "SOCAMM, detachable, field-replaceable modules" for "up to 1.5 TB of memory" at "up to 1.2 terabytes per second"; Micron has its 192 GB SOCAMM2 in high-volume production and a 256 GB part announced, and Samsung describes the form factor as enabling "easy memory upgrades or replacements without any mainboard modification". The rate the module gives up is small and stated: JEDEC's SOCAMM2 reaches "up to 9.6Gb/s per pin where platform signal integrity allows", against the 10.7 Gbps SK hynix samples for soldered LPDDR6, while the laptop-class LPCAMM2 ships at 8,533 MT/s and Micron notes it "requires a new type of socket, which also adds cost". The code block ranks them: every module is a step down the per-pin rate for a step up in replaceability, and a server with a terabyte and a half of it can afford the step. A 1,024-bit bus on a Studio cannot — the OEM lesson's fan-out is the reason — and that is the line: modular memory wins where capacity is measured in terabytes and the bus is spread across a board, integrated memory wins where the bus is wide and the board is a laptop.

Pooling, Sharing, Chiplets

Two standards push modularity into the memory itself. CXL, over PCIe-class links, "allows for pooling" in version 2.0 — memory in a box that several hosts draw on — and in 3.0 "in addition to memory pooling, we introduce the concept of memory sharing": one region, many hosts, at fabric latency. That is the interface lesson's price paid on purpose, because the thing bought is a memory that belongs to no single machine. UCIe standardizes "the interconnect between chiplets within a package", so the package itself becomes modular — dies from different vendors behind one link, a consortium formed in 2022 by Intel, AMD, Arm, Qualcomm, Samsung, TSMC and the cloud companies. Apple's UltraFusion is the proprietary version of the same idea, two dies as one chip; the difference is who is allowed to supply the second die. Both standards say the same thing as the referee: once a boundary's performance is good enough, the industry standardizes the boundary and competes across it.

Throughput, the Half the Pool Never Wins

The last place modular strikes back is not a standard but a workload. The physics track's batch lesson measured the Mac serving 32 streams at seven times its single-stream rate; the rival track priced why a card does better — batch turns decode into compute, and tensor cores win compute fifty to one. A rack of cards with HBM behind NVLink, serving thousands of users, is the modular world at its best: small fast memories, wide links, work spread across them, memory pooled over CXL for the parts that do not need to be fast. The pool wins the single stream on a model that does not fit a card; the rack wins every stream at once on the models that do. The household is a single stream in a room, which is why its fleet is Macs — and it uses the cloud, on the rack's side of the line, for the voices and the frontier models where quality wins, which is the fleet track's cloud-by-choice lesson. Modular did not lose to unified. The line between them moved, and this quest has spent eleven tracks locating it.

Code

modular_memory.py — memory form factors, top rates as stated, and what each buys·python
#!/usr/bin/env python3
"""Where modular strikes back: memory that comes off the package again. The form factors,
their top per-pin rates as the vendors state them, and what each gives up or gets back.
The soldered rate is the ceiling every module trades against."""
forms = [  # form factor, placement, top rate as stated, capacity as stated, who, what it buys
    ("LPDDR5X soldered (Apple, AMD, Qualcomm, NVIDIA GB10)", "on/next to package", "10.7 Gbps (SK hynix LPDDR6 16Gb sample); 9,600 MT/s shipping (Apple M5)", "up to 512 GB (Apple)", "the rate and the width; nothing replaceable"),
    ("SOCAMM2 (JEDEC; Micron, Samsung)",       "module, server",   "up to 9.6 Gb/s per pin 'where platform signal integrity allows'", "48–256 GB per module (Micron); 192 GB in high-volume production", "field-replaceable LPDDR at near-soldered rate"),
    ("NVIDIA Vera CPU on SOCAMM",              "module, server",   "up to 1.2 TB/s aggregate", "up to 1.5 TB", "'detachable, field-replaceable modules' at a pool's aggregate bandwidth"),
    ("LPCAMM2 (JEDEC CAMM2; Micron, Crucial)", "module, laptop",   "up to 9,600 Mbps (Micron); 8,533 MT/s shipping (Crucial)", "16–64 GB", "a laptop with LPDDR you can replace; 'requires a new type of socket, which also adds cost'"),
    ("DDR5 SO-DIMM (Intel Panther Lake)",      "module, laptop",   "DDR5-7200", "module-limited", "the classic socket, the lowest rate"),
    ("CXL 2.0 / 3.0 attached memory",          "over the fabric",  "PCIe-class links; 'memory pooling' (2.0) and 'memory sharing' (3.0)", "rack-scale", "memory as a shared resource across hosts, at fabric latency"),
    ("UCIe chiplets",                          "inside the package", "die-to-die standard, 'the interconnect between chiplets within a package'", "—", "a modular package: mix vendors' dies behind one interconnect"),
]
for ff, place, rate, cap, buys in forms:
    print(f"{ff}\n    where: {place}\n    rate:  {rate}\n    size:  {cap}\n    buys:  {buys}\n")
print("Ranking by top per-pin rate: soldered LPDDR5X/6 > SOCAMM2 > LPCAMM2 > DDR5 SO-DIMM. Every module is a step down the rate for a step up in replaceability.")

# Ranking by top per-pin rate: soldered LPDDR5X/6 > SOCAMM2 > LPCAMM2 > DDR5 SO-DIMM.

External links

Exercise

Write the referee's line for yourself: the largest model you run, the number of concurrent streams, and whether the machine sits in a room with people. Then list which of your jobs are on the integrated side (a pool in the room) and which you already buy from the modular side (a rack somewhere). Put the split on the card; it is the quest's answer to 'Mac or NVIDIA', and it is per job.
Hint
Most households land with inference on the pool and frontier quality from the rack. If you find every job on one side, check the batch and training rows again — they are the ones people misplace.

Progress

Progress is local-only — sign in to sync across devices.
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.