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 ๋ณ๋ ฌ์ฑ์ ์ง์ ํ์ฉํ๊ธฐ ์ข์ต๋๋ค.
๊ทธ๋ฆผ 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 ๊ธฐ๋ฅ๊ณผ ํจ๊ป ๊ฒํ ํด์ผ ํฉ๋๋ค.
๊ทธ๋ฆผ 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 ๋ช ๋ น ๊ฒฝ๋ก๋ฅผ ์ธ์งํ์ง ๋ชปํ๋ฉด ๊ธฐ๋ ์ด๋์ด ์ค์ด๋ค ์ ์์ต๋๋ค.
๊ทธ๋ฆผ 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 ์ํฌ๋ก๋์ ๋ฐ์ดํฐ ๋ณ๋ชฉ์ ํด๊ฒฐํ๋ ํ์ ์ ๊ธฐ์ ์ ๋๋ค. ์ด ๊ธฐ์ ๋ค์ ํฅํ ๋ฐ์ดํฐ ์ผํฐ์ ๊ณ ์ฑ๋ฅ ์ปดํจํ ์์คํ ์ ํต์ฌ ์ธํฐํ์ด์ค๋ก ์๋ฆฌ์ก์ ๊ฒ์ ๋๋ค.