Hardware Interfaces
PCIe, NVMe, DDR, CXL, HBM, UCIe, UALink
HBM·GDDR 심화
hbm
HBM과 GDDR 분기점 분석 — Bandwidth·Capacity·Cost 트레이드오프
HBM과 GDDR의 분기점 — bandwidth·capacity·cost의 트레이드오프와 시장 분할.
HBM 3D 스택 구조 분해 — TSV·Microbump·Base Die의 역할
Base die + DRAM die stack — 3D 메모리의 구성요소와 TSV·microbump의 역할.
HBM2·HBM2E·HBM3·HBM3E 세대 비교 — JEDEC 표준 진화 흐름
세대별 bandwidth·capacity·signaling — JEDEC 표준의 진화 흐름.
GDDR6·GDDR6X·GDDR7 분석 — PAM 신호로 32 Gbps 도달한 경로
고속 그래픽 메모리 — clock·PAM 신호의 진화로 32 Gbps에 도달한 경로.
메모리 대역폭 병목 분석 — Theoretical vs Achievable·Roofline·Memory Wall
Theoretical vs achievable — 메모리 대역폭의 실제와 roofline·memory wall.
HBM 열 설계와 전력 관리 — Stack 열 부하·Refresh Cost·냉각 솔루션
HBM stack의 열 부하·power state·refresh의 cost와 냉각 솔루션.
HBM 메모리 컨트롤러 분석 — Bank·Row·Column·Address Mapping·Scheduling
Bank·row·column·command — 컨트롤러가 보는 HBM과 scheduling·address mapping.
NPU·GPU에서의 HBM 활용 — Weight·Activation·KV Cache 배치 분석
Weight·activation·KV cache — HBM 자리잡기와 시리즈 마무리.
CXL.mem 분석 — HBM·GDDR·DDR 다음의 메모리 계층
CXL.mem이 메모리 계층에 끼어드는 자리 — on-package HBM과 DRAM DIMM 사이의 새 tier.
CXL.mem 프로토콜 분해 — 왕복 횟수가 만드는 지연, 링크가 만드는 대역폭
Ch 9의 지연·대역폭 수치가 왜 그렇게 나오는지 — 왕복 횟수로 본 지연 예산, 링크에 묶인 대역폭, credit 고갈이 만드는 throughput 절벽, interleave granularity의 유불리.
CXL Type 1·2·3 디바이스 분류 — 이 중 무엇이 나에게 메모리인가
CXL 세 유형을 메모리 계층 관점에서 다시 읽습니다. 어떤 유형이 호스트 용량을 늘려 주고, 어떤 유형이 늘려 주지 않는지, NUMA와 대역폭에서 무엇이 달라지는지.
메모리 풀링과 데이터센터 토폴로지 — 용량을 서버 밖에서 빌리는 일
on-package HBM의 용량 상한 밖을 CXL 풀이 맡는 방식 — 빌린 용량의 지연 값, hot/cold 구분이라는 전제, 서버당 고정 구성에서 풀 조달로의 전환.
PCIe Deep Dive
pcie
Ch 1: PCIe Fundamentals — 계층 구조와 토폴로지
PCIe 아키텍처의 기초 — point-to-point 직렬 링크, 3-Layer 모델, Root Complex·Switch·Endpoint 토폴로지, Gen 1부터 7.0까지의 진화.
Ch 2: TLP — Transaction Layer Packet
PCIe의 기본 packet인 TLP — 3/4 DW header·5 가족·split transaction·라우팅 3 방식·Producer-Consumer ordering.
Ch 3: Configuration Space — 4 KB ECAM·Capability Linked List
PCIe Configuration Space — 256 byte PCI 영역 + 4 KB Extended·Type 0/1 header·Capability chain·ECAM 메모리 매핑.
Ch 4: BAR & MMIO — Device 자원의 호스트 주소 매핑
Base Address Register — Memory·I/O·64-bit·Prefetchable·size 결정·ReBAR·SR-IOV VF BAR.
Ch 5: Interrupts — INTx·MSI·MSI-X·Interrupt Remapping
PCIe 인터럽트 메커니즘 3가지 — Legacy INTx·MSI 32 vector·MSI-X 2048 vector·IOMMU Interrupt Remapping.
Ch 6: Power Management — D-state·L-state·ASPM
PCIe 전력 관리 — Device D0~D3·Link L0~L3·ASPM·L1 substates·CLKREQ·PME 흐름.
Ch 7: Error Handling — Correctable·Uncorrectable·AER·DPC
PCIe 에러 분류·계층별 처리·AER capability·DPC containment·Linux 복구 callback.
Ch 8: Data Link Layer — DLLP·ACK/NAK·Flow Control·FLIT Mode
PCIe DLL — ACK/NAK·replay buffer·credit-based flow control·LCRC·Gen 6+ FLIT mode.
Ch 9: Physical Layer — LTSSM·Equalization·SerDes
PCIe Physical Layer — LTSSM 11 state·link training timeline·4-phase equalization·TS1/TS2·SKP·encoding 진화.
Ch 10: Linux PCI Basics — Enumeration·Driver Model·sysfs
Linux kernel의 PCIe — boot enumeration·struct pci_dev·driver matching·probe/remove·sysfs entry·ACPI 통합.
Ch 11: DMA·IOMMU — Coherent·Streaming·ATS·PRI·PASID·IOMMUFD
Linux DMA API — coherent·streaming·scatter-gather·IOMMU mapping·ATS·PRI·PASID·SVM·IOMMUFD.
Ch 12: Virtualization I — Pass-through·SR-IOV·VFIO·DPDK·SPDK
PCIe hardware virtualization — SR-IOV PF/VF·VFIO container/group/device·DPDK·SPDK·ACS·FLR.
Ch 13: Virtualization II — vIOMMU·Scalable IOV·VirtIO·IDE·TDISP
Guest 측 vIOMMU·Intel S-IOV·VirtIO·vDPA·live migration·Confidential I/O (IDE·TDISP·CMA-SPDM).
Ch 14: Linux Operations — Hot-plug·AER Recovery·DPC·ARI
PCIe 운영 — pciehp surprise·orderly hot-plug·AER recovery callback chain·DPC integration·ARI 256+ function·EEH.
Ch 15: Tools — lspci·setpci·pcimem·protocol analyzer
PCIe 디버깅 도구 — lspci 전체 옵션·setpci raw access·pcimem BAR R/W·protocol analyzer·debugfs.
Ch 16: Troubleshooting — 실무 시나리오북
Device not visible·link training fail·downgrade·CE storm·hang·ACS group·hot-plug·성능 미달·lane reversal·power budget.
Ch 17: Performance — Bandwidth·Latency·Tuning
PCIe 성능 — theoretical vs effective BW·MaxPayload·MaxReadReq·latency breakdown·NUMA·P2P·ASPM 영향·tuning.
Ch 18: Register Maps — Config Space·Capability 비트 reference
PCIe register reference — Type 0/1 header·PCIe Cap·AER·MSI·MSI-X·SR-IOV·ACS·LTR의 주요 비트 layout.
Ch 19: 고급 기능 — Lane Margining·10-bit Tag·TPH·ACS·L0p
코어 동작 너머의 PCIe spec 기능들 — Lane Margining(신호 마진 측정)·10-bit Tag(outstanding 확장)·TPH(캐시 주입 힌트)·ACS(격리)·L0p(부분폭 저전력)을 실무 관점에서 정리합니다.
CXL 4.0 Internals
cxl
Ch 1: CXL의 자리와 진화 — 1.1에서 4.0까지
CXL이 푸는 문제, 세대별 진화, 4.0의 핵심 변경 (128 GT/s·Bundled Port).
Ch 2: System Architecture — Type 1·2·3·MLD·MH-MLD
CXL 디바이스 분류와 multi-LD·multi-head 구조.
Ch 3: 메모리 일관성 모델 — HDM-DB·HDM-D·Bias·BISnp
Host-managed Device Memory 두 종류와 일관성 메커니즘.
Ch 4: Pooling·GFAM·Fabric — Multi-host 메모리 공유
CXL 2.0 pooling, CXL 3.x fabric, GFAM (Global Fabric Attached Memory).
Ch 5: CXL 4.0의 핵심 새 기능 — 128 GT/s·Bundled Port
PCIe 7.0 기반 128 GT/s, Bundled Port·Streamlined Port의 동기와 효과.
Ch 6: CXL.io — PCIe와의 차이·DOE·DVSEC
CXL.io 프로토콜의 PCIe 호환성과 CXL 고유 확장.
Ch 7: CXL.cache — D2H·H2D 흐름과 coherency state
디바이스가 호스트 메모리를 캐시하는 프로토콜.
Ch 8: CXL.mem — M2S·S2M·HDM Decoder
호스트가 디바이스 메모리를 load/store하는 프로토콜.
Ch 9: Flit Format — 68B vs 256B vs Latency-Optimized
Flit 단위 구조의 세대 별 변화.
Ch 10: ARB/MUX — 세 프로토콜의 PHY 다중화
같은 PHY에 CXL.io·CXL.cache·CXL.mem을 시분할로 흘리는 layer.
Ch 11: Linux drivers/cxl/ 분석 — Mainline kernel CXL 구현
Linux 6.x의 CXL subsystem 코드 구조와 probe 흐름.
Ch 12: QEMU CXL 에뮬레이션 — 노트북에서 CXL 개발
QEMU 8.0+의 CXL Type 3 에뮬레이션과 드라이버 검증 워크플로.
Ch 13: Switching·Fabric Manager — 2.0 pooling에서 3.x fabric까지
CXL switch의 진화와 Fabric Manager의 역할.
Ch 14: Security — IDE·SPDM·TSP·CXL TEE
CXL 보안 메커니즘 4종의 위치와 관계.
Ch 15: RAS·Performance·Compliance — 운용·검증의 마지막 단계
Reliability·Availability·Serviceability, 성능 고려사항, Compliance Testing.