Ryotta's Basic

NVM
🔬 NVM 검증완료

NVM Interface Analysis

NVM (Non-Volatile Memory) 인터페이스 분석

NVMe · CXL.mem · HBM-PIM · Storage Class Memory · Compute Express Link · Processing-In-Memory

0. 개요

NVM(Non-Volatile Memory) 인터페이스는 비휘발성 메모리와 호스트 간의 통신 방식을 정의하는 표준 및 프로토콜입니다. 기존 NAND 플래시는 NVMe(Non-Volatile Memory Express)를 통해 PCIe 기반 고속 인터페이스를 제공하며, CXL(Compute Express Link)은 메모리 확장과 캐시 일관성을 위한 차세대 인터커넥트로 부상했습니다. HBM-PIM(High Bandwidth Memory Processing-In-Memory)은 메모리 내부에서 연산을 수행하여 데이터 병목을 해결하는 혁신적 기술입니다.

본 문서는 NVMe의 명령 집합 아키텍처와 발전, CXL.mem의 메모리 프로토콜 동작, HBM-PIM의 처리-인-메모리 구조를 비교 분석하고, 각 기술의 특성과 적용 영역을 정리합니다.

1. 핵심 개념

개념 의미 왜 중요한가
NVMe 비휘발성 메모리 전용 고속 인터페이스 사양 SSD의 산업 표준으로 낮은 레이턴시와 높은 병렬성을 제공합니다
CXL.mem Compute Express Link의 메모리 접근 프로토콜 CPU가 디바이스 메모리에 캐시 일관성 있게 접근할 수 있게 합니다
HBM-PIM HBM에 연산 능력을 통합한 기술 메모리 내부에서 데이터를 처리하여 이동 오버헤드를 줄입니다
Computational Storage SSD 내부에서 연산을 수행하는 기술 NVMe 2.0에서 추가된 명령 집합으로 데이터 이동을 최소화합니다
Memory Pooling 여러 호스트가 메모리를 공유/할당하는 기술 CXL 2.0+에서 지원하며 리소스 활용도를 높입니다
TSV Through-Silicon Via, 실리콘 관통 전극 3D 적층 메모리의 핵심 패키징 기술입니다

2. NVMe (Non-Volatile Memory Express)

2.1 NVMe 사양 발전

NVMe는 2013년 1.0e 사양으로 시작하여 지속적으로 발전해 왔습니다:

버전 연도 주요 특징
1.0e 2013 최초 사양, PCIe 기반 NVMe 인터페이스 정의
1.2 2014 Multi-Queue, Namespace 관리, HMB(Host Memory Buffer) 추가
1.3 2017 Namespace 공유, 예약, 우선순위 기능 추가
1.4 2019 IO Determinism, Namespace Write Protect, Persistent Event Log 추가
2.0 2021 ZNS, KV, Computational Programs Command Set 등 명령 집합 아키텍처 재설계
2.1 2024 Live Migration, Key Per I/O, NVMe-MI High Availability 추가
2.3 2025 PCIe Exported NVM Subsystem Migration, Computational Storage Feature

2.2 Command Set 아키텍처

NVMe 2.0부터 명령 집합 아키텍처가 재설계되어 다양한 작업 특성에 맞는 Command Set을 지원합니다:

Command Set 용도
NVM Command Set 기존 NAND Flash 표준 명령 집합
KV Command Set Key-Value 직접 저장
ZNS Command Set Zoned Namespaces, 쓰기 증폭 최소화
Computational Programs Command Set SSD 내부 연산 (Computational Storage)
SLM Command Set Solid State Memory

2.3 NVMe vs AHCI 비교

특성 AHCI NVMe
최대 큐 깊이 1개 큐, 32개 명령 65,535개 큐, 65,536개 명령
레지스터 접근 비캐시 6-9회/명령 2회/명령
인터럽트 단일 인터럽트 최대 2,048개 MSI-X 인터럽트
병렬성 동기화 잠금 필요 잠금 불필요
4KB 명령 효율 2번의 직렬화된 DRAM fetch 64바이트 fetch 1회

NVMe는 AHCI 대비 최대 6배 높은 IOPS와 낮은 레이턴시를 제공하며, 풀 디플렉스 데이터 전송을 지원합니다.

NVMe 호스트 소프트웨어는 Submission Queue에 명령을 적재하고 Doorbell 레지스터를 갱신한 뒤, 디바이스가 Completion Queue에 결과를 기록하면 MSI-X 인터럽트 또는 polling으로 완료를 회수합니다. 이 구조는 레지스터 접근 횟수와 락 경합을 줄여 다중 코어 환경에서 SSD 병렬성을 직접 활용하기 좋습니다.

NVMe Command Set 아키텍처

그림 1. NVMe Command Set 아키텍처 및 트랜스포트 계층

3. CXL.mem (Compute Express Link Memory Protocol)

3.1 CXL 개요와 프로토콜

CXL은 고성능 데이터 센터를 위한 CPU-디바이스 및 CPU-메모리 간 고속 인터커넥트 개방 표준입니다. PCIe 5.0/6.0 기반 PHY를 사용하며, 세 가지 서브 프로토콜로 구성됩니다:

프로토콜 기능
CXL.io PCIe 기반 I/O 프로토콜 (설정, 링크 초기화, DMA 등)
CXL.cache 호스트-디바이스 간 캐시 일관성 프로토콜
CXL.mem 호스트 CPU가 디바이스 연결 메모리에 캐시 일관성 있게 접근

3.2 CXL 사양 버전

버전 기반 PCIe 대역폭 (x16) 주요 특징
1.0/1.1 PCIe 5.0 (32 GT/s) 63 GB/s 캐시 일관성 프로토콜
2.0 PCIe 5.0 63 GB/s 스위칭, 메모리 풀링, 장치 무결성
3.0 PCIe 6.0 (64 GT/s) 121 GB/s 멀티레벨 스위칭, P2P DMA, 메모리 공유
4.0 PCIe 7.0 (128 GT/s) 242 GB/s 대역폭 2배, 번들 포트, 향상된 RAS

3.3 CXL 디바이스 타입

타입 프로토콜 용도
Type 1 CXL.io + CXL.cache 로컬 메모리 없는 가속기 (SmartNIC 등)
Type 2 CXL.io + CXL.cache + CXL.mem GPU, ASIC, FPGA 가속기
Type 3 CXL.io + CXL.mem 메모리 확장 모듈, 퍼시스턴트 메모리

3.4 DDR5 vs CXL.mem 비교

특성 DDR5 DIMM CXL.mem NVMe
인터페이스 DDR5 PCIe 기반 PCIe 기반
캐시 일관성 기본 제공 CXL.cache로 제공 없음
레이턴시 ~20ns ~200ns ~10μs
메모리 풀링 불가 가능 불가
최대 용량/소켓 제한적 TB급 확장 가능 TB급

CXL.mem은 DDR5보다 높은 레이턴시를 가지지만, 메모리 풀링과 캐시 일관성 지원으로 데이터 센터 아키텍처에 유연성을 제공합니다.

CXL.mem 경로에서는 CPU가 로드/스토어를 발행해도 장치 메모리가 단순 블록 스토리지처럼 보이지 않고 시스템 메모리 주소 공간의 일부처럼 동작합니다. 이때 CXL.io는 초기화와 관리, CXL.cache는 가속기와 호스트 간 일관성 유지, CXL.mem은 실제 메모리 read/write 트랜잭션을 맡으므로 운영체제의 메모리 hotplug, NUMA 정책, RAS 기능과 함께 검토해야 합니다.

CXL 프로토콜 스택

그림 2. CXL 프로토콜 스택 및 디바이스 타입

4. HBM-PIM (High Bandwidth Memory Processing-In-Memory)

4.1 HBM 세대별 사양

세대 데이터 속도 대역폭 적층 최대 용량
HBM 1.0 Gbps 128 GB/s 4-Hi 4GB
HBM2 2.0 Gbps 256 GB/s 8-Hi 8GB
HBM2E 3.6 Gbps 461 GB/s 12-Hi 24GB
HBM3 6.4 Gbps 819 GB/s 16-Hi 48GB
HBM3E 9.8 Gbps 1,229 GB/s 16-Hi 48GB
HBM4 8.0 Gbps 2,048 GB/s 16-Hi 64GB

4.2 HBM-PIM 동작 원리

HBM-PIM은 각 메모리 뱅크 내부에 DRAM 최적화된 AI 엔진을 탑재하여, 기존 HBM의 3D 적층 구조에 메모리 내부에서 연산을 수행하는 PIM(Processing-In-Memory) 기술을 통합합니다.

핵심 구조:
- TSV(Through-Silicon Via)를 통한 3D 적층
- 각 뱅크 내 AI 엔진 탑재
- 메모리 컨트롤러와의 넓은 인터페이스 (1024비트~2048비트)
- 병렬 처리를 위한 분산 인터페이스 아키텍처

4.3 기존 HBM vs HBM-PIM 비교

특성 기존 HBM HBM-PIM
연산 위치 CPU/GPU에서 처리 메모리 내부에서 처리
데이터 이동 메모리→CPU→메모리 메모리 내부에서 직접 처리
에너지 소비 높음 70% 이상 절감
시스템 성능 기준 2배 향상
하드웨어 변경 기존 시스템 변경 불필요 기존 시스템 변경 불필요

HBM-PIM은 데이터를 메모리에서 CPU/GPU로 이동하지 않고 메모리 내부에서 직접 처리하므로, 데이터 병목 현상을 효과적으로 해결합니다.

다만 HBM-PIM이 모든 범용 워크로드를 대체하는 것은 아닙니다. 은행별 병렬성이 높은 벡터/행렬 계열 연산에 특히 유리하며, 연산 종류가 제한적이거나 기존 소프트웨어 스택이 PIM 명령 경로를 인지하지 못하면 기대 이득이 줄어들 수 있습니다.

HBM-PIM 아키텍처

그림 3. HBM-PIM 구조 및 데이터 흐름

5. 인터페이스 특성 비교

5.1 기술별 비교

기술 주요 용도 대역폭 레이턴시 캐시 일관성 메모리 풀링
NVMe 스토리지 (SSD) ~7 GB/s (x4) ~10μs 없음 없음
CXL.mem 메모리 확장 ~121 GB/s (x16) ~200ns 있음 가능
HBM-PIM 고성능 컴퓨팅 ~1.2 TB/s ~20ns N/A N/A

5.2 인터페이스 관점 비교

항목 NVMe CXL.mem HBM-PIM
소프트웨어 모델 블록 장치, 큐 기반 명령 load/store 메모리 확장 전용 런타임 또는 라이브러리 연동
데이터 배치 단위 LBA, namespace, zone cache line, page, memory region bank, pseudo-channel, tile
일관성 도메인 호스트가 별도 flush/sync 관리 CPU 메모리 계층과 캐시 일관성 연동 메모리 내부 연산 중심, 전통적 CPU 캐시 일관성과는 별도
영속성 의미 전원 차단 후 데이터 유지가 핵심 DRAM 확장 또는 persistent memory 장치에 따라 달라짐 기본적으로 고대역폭 작업 메모리 가속 관점
대표 병목 PCIe 대역폭, FTL, queue 조정 스위치 hop, 메모리 레이턴시, OS 정책 열, 적층 수율, 프로그래밍 제약

5.3 적용 분야

기술 주요 적용 분야
NVMe 데이터 센터 스토리지, 클라이언트 SSD, 엔터프라이즈 스토리지
CXL.mem 메모리 풀링, 인메모리 데이터베이스, 가속기 통합
HBM-PIM AI/ML 트레이닝, HPC, 그래픽스, 네트워크 장비

6. 장단점

6.1 NVMe

구분 내용
장점 낮은 레이턴시, 높은 병렬성, 다양한 폼팩터 지원 (M.2, U.2, AIC, EDSFF), 표준화된 드라이버
한계 기존 SATA 시스템과의 호환성 문제, 높은 구현 비용

6.2 CXL.mem

구분 내용
장점 캐시 일관성 유지, 메모리 풀링으로 리소스 활용도 향상, 기존 PCIe 인프라 활용 가능, 비휘발성 메모리 지원
한계 DDR 대비 높은 레이턴시 (~200ns), 생태계 구축 초기 단계, 소프트웨어 지원 제한 (Linux 6.5+)

6.3 HBM-PIM

구분 내용
장점 기존 시스템 변경 없이 2배 성능 향상, 에너지 소비 70% 이상 절감, 데이터 병목 해결, AI/ML 워크로드 최적화
한계 복잡한 3D 패키징 기술 필요, 높은 제조 비용, 기존 소프트웨어 호환성 문제, 열 관리 어려움

7. 관련 기술과 참고 문헌

NVMe 인터페이스는 NVMe Architecture 문서에서 상세히 다루고 있으며, CXL 기술은 CXL Version Comparison에서 버전별 비교를 확인할 수 있습니다. HBM 관련 기술은 HBM Generation Comparison에서 세대별 사양을 비교할 수 있습니다.

  • NVM Express, Inc. - https://nvmexpress.org
  • CXL Consortium - https://computeexpresslink.org
  • JEDEC - High Bandwidth Memory Standards
  • Samsung Semiconductor - HBM-PIM 기술 발표 (2021년 2월)
  • Linux CXL subsystem 문서 및 drivers/cxl/ 구현
  • Wikipedia - NVM Express, Compute Express Link, High Bandwidth Memory

8. 핵심 정리

NVMe, CXL.mem, HBM-PIM은 각각 스토리지, 메모리 확장, 고성능 컴퓨팅 영역에서 NVM 인터페이스의 발전을 대표합니다. NVMe는 SSD의 산업 표준으로 명령 집합 아키텍처를 지속 발전시키고 있으며, CXL.mem은 메모리 풀링과 캐시 일관성을 통해 데이터 센터 아키텍처에 유연성을 제공합니다. HBM-PIM은 메모리 내 연산을 통해 AI/ML 워크로드의 데이터 병목을 해결하는 혁신적 기술입니다. 이 기술들은 향후 데이터 센터와 고성능 컴퓨팅 시스템의 핵심 인터페이스로 자리잡을 것입니다.