~11 min · homework, dram-density, lpddr6, stacking, roadmap, vendor-claim
Level 0스펙 시트 훑는 사람
0 XP0/91 lessons0/19 achievements
0/100 XP to next level100 XP to go0% complete
"풀은 다이가 자랄 때 자라. 다이는 메모리 벤더의 달력에서 자라고, 애플은 남들처럼 그걸 읽을 뿐 앞당길 수 없어."
512는 어디서 오나
채널 열여섯, 메모리 패키지 열여섯, 배선 레슨의 추론. 그리고 패키지마다 32 GB면 512. 패키지 하나에 32기가바이트는 2025년에 LPDDR5X가 쌓을 수 있던 것이야. 마이크론은 128 GB 모듈을 "four placements of 16-die stacks"로 서술하고, 그건 16기가비트 다이를 열여섯 단 쌓은 스택당 32 GB야. 삼성은 2024년에 "single package capacity of mobile DRAM up to 32-gigabytes"를 냈어. 그러니 Studio의 512는 애플이 메뉴에서 고른 숫자가 아니야. 존재하던 가장 큰 LPDDR 패키지에 버스가 닿을 수 있는 패키지 수를 곱한 거야. M5 Ultra는 1년 반 뒤 더 빠른 버스로 같은 512를 출하해. 그사이 패키지가 안 자랐으니까.
1 TB는 어디서 오나
코드 블록이 다음 다이의 곱셈을 해. 2026년 3월 마이크론은 256 GB 서버 모듈로 "industry's first monolithic 32Gb LPDDR5X die"를 발표했어. 32기가비트 다이 열여섯 단이면 패키지당 64 GB고, 패키지 열여섯이면 같은 채널 열여섯 위에서 채널당 같은 대역폭으로 1 TB야. M5 Ultra의 1.2 TB/s에서의 1테라바이트, 기가바이트당 1.2 GB/s, 다시 풀의 법칙. 그 너머로 JEDEC의 LPDDR6 로드맵은 "allows more die per package and higher memory capacities per component and per channel"하는 더 넓은 24비트 서브채널과 컴포넌트당 "512GB density on the horizon"을 서술해. 그 밀도면 같은 패키지 열여섯이 LPDDR6의 10.7기가비트 이상 핀 속도에서 수 테라바이트를 담을 거야. 그 날짜 중 어느 것도 애플 것이 아니야. 마이크론, 삼성, SK하이닉스, 표준 기구의 것이고, 맥의 상한은 남는 길이가 없는 버스 위에 패키지를 검증하는 데 걸리는 만큼 뒤에서 따라가.
이 집의 읽기
이 레슨이 애플에 내는 숙제는 작아. 이미 그걸 의미 있게 만들 만큼 넓은 버스 위에서 더 밀도 높은 다이에 먼저 닿을 것. 설계 문제가 아니야. 첫 레슨이 적어 뒀듯 벤더의 생산 능력이 라이벌의 랙이 사는 고마진 메모리 쪽으로 옮겨 간 시장에서의 조달과 검증 문제야. 독트린에서 온 이 집의 입장은 같은 달력을 구매자 쪽에서 읽어. 풀의 상한은 다이가 오를 때 오르고, 다이는 로드맵에 오고, 그때까지 이전 세대 중고가 정직한 가격 척도야. 이전 세대의 512 GB Studio 둘이 새것 하나보다 기가바이트당 절반 가격에 더 많이 담고, 새 기계가 이기는 유일한 축은 단일 스트림 디코드 상한이야. 독트린은 그걸 기한을 정해 기다리기라고 불러. 기한은 공개돼 있는 메모리 벤더의 2026–2027 다이 일정이고, 다음 트랙은 그 기다림에 대한 거야.
Code
density.py — 패키지당 다이, 버스당 패키지, 그리고 다음 다이 위의 1테라바이트·python
#!/usr/bin/env python3
"""Density arrives on a roadmap. A pool's capacity is packages x dies per package x bits
per die. Vendor die and stack figures; the package count on a Mac is this quest's inference
from the channel fit (16 channels on an Ultra), not an Apple statement."""
packages = 16 # one LPDDR package per 64-bit channel, inferred
for label, gbit_per_die, dies in [("LPDDR5X 16Gb dies, 16-high (Micron's 128 GB module uses four such stacks)", 16, 16),
("LPDDR5X 32Gb monolithic die, 16-high (Micron, 2026-03)", 32, 16),
("LPDDR6 roadmap: '512GB density on the horizon' per component (JEDEC reprint, 2026-05)", None, None)]:
if gbit_per_die:
per_pkg = gbit_per_die * dies / 8
print(f"{label}\n {per_pkg:.0f} GB per package x {packages} = {per_pkg*packages:.0f} GB on an Ultra-class bus")
else:
print(f"{label}\n a per-component density that would put multiple terabytes on the same 16 packages")
print("\nthe 512 GB Studio is 32 GB per package x 16 (inferred); 1 TB on the same bus is the next die or the next stack height, on the memory vendors' calendar, not Apple's.")