SSD를 읽는 네 축 — Form Factor, Interface, Protocol, NAND
M.2·2.5인치 같은 형태, SATA·PCIe 같은 연결 인터페이스, AHCI·NVMe 같은 명령 프로토콜, TLC·QLC 같은 NAND 셀 특성을 서로 다른 축으로 분리해 SSD 스펙을 읽는 방법을 정리한다.
SSD 제품명에서는 M.2, PCIe 4.0, NVMe, TLC 같은 단어가 한 줄에 섞여 나온다. 이들을 모두 “SSD 종류”라고 보면 관계가 꼬인다.
먼저 서로 다른 분류축으로 나눈다.
1
2
3
4
5
6
7
8
9
10
11
물리적 형태(Form Factor)
→ M.2 / 2.5-inch / Add-in Card / EDSFF 등
Host와 연결되는 Interface / Transport
→ SATA / PCIe 등
Host가 Storage와 대화하는 Protocol / Command Set
→ AHCI / NVMe 등
실제 데이터를 저장하는 NAND 특성
→ SLC / MLC / TLC / QLC 등
즉:
1
M.2 = NVMe
도 아니고:
1
NVMe = SSD의 물리적 모양
도 아니다.
1. 전체 구조
일반적인 Client SSD 하나를 단순화하면:
1
2
3
4
5
6
7
8
9
10
11
Application / OS
↓
Storage Driver
↓ Protocol
AHCI 또는 NVMe
↓ Interface
SATA 또는 PCIe
↓
SSD Controller
↓
NAND Flash
그리고 이 전체 부품이:
1
2
3
M.2
2.5-inch
AIC
같은 물리적 Form Factor 안에 들어간다.
Form Factor는 모양, Interface는 연결 통로, Protocol은 통신 규약, NAND는 저장 매체의 성질이라고 잡으면 된다.
2. Form Factor — SSD의 물리적인 형태
Form Factor는 크기·형상·Connector 같은 물리적 제약을 정의한다.
M.2
M.2는 얇은 카드 형태의 규격이다.
예를 들어 2280은 대략:
1
2
22 mm 폭
80 mm 길이
를 뜻한다.
중요한 점은 M.2 자체가 NVMe를 뜻하지 않는다는 것이다. SNIA 자료에서도 M.2는 PCIe뿐 아니라 SATA 같은 interface를 지원하는 form factor로 설명한다.
1
2
3
4
5
6
7
8
9
M.2 SATA SSD
→ Form Factor: M.2
→ Interface: SATA
→ Protocol: SATA/AHCI 계열
M.2 NVMe SSD
→ Form Factor: M.2
→ Interface: PCIe
→ Protocol: NVMe
따라서 M.2 slot이 있다고 아무 M.2 SSD나 호환된다고 단정하면 안 된다. Mainboard가 해당 key/interface를 지원하는지 확인해야 한다.
2.5-inch
소비자 시장에서는 2.5-inch SATA SSD가 익숙하지만 2.5-inch = SATA도 절대 규칙은 아니다.
Enterprise에서는 U.2 같은 2.5-inch NVMe/PCIe SSD도 사용된다.
1
2
3
2.5-inch SATA
2.5-inch SAS
2.5-inch NVMe(U.2 계열)
처럼 같은 외형 계열 안에서도 interface/protocol이 달라질 수 있다.
3. Interface — 데이터가 이동하는 연결 경로
SATA
SATA III는 6 Gb/s link를 사용한다. Encoding과 protocol overhead 때문에 실제 SATA SSD의 순차 전송은 흔히 500 MB/s대에서 한계가 보인다.
SATA는 HDD 시대부터 이어진 호환성이 강점이다.
PCI Express
PCIe는 lane 단위의 고속 serial interconnect다. NVMe SSD는 일반적으로 PCIe lane을 통해 host와 통신한다.
PCIe 세대가 올라가면 lane당 대역폭도 증가한다.
1
2
3
4
5
PCIe Generation ↑
↓
한 Lane의 전송 능력 ↑
↓
x4 SSD의 최대 Link Bandwidth ↑
다만 SSD 성능이 PCIe 이론 대역폭과 항상 같지는 않다. Controller, NAND, thermal throttling, workload 등이 함께 제한한다.
또 “NVMe SSD는 CPU에 직접 연결된다”고 일반화하면 안 된다. 플랫폼에 따라 CPU lane을 쓸 수도 있고 chipset을 거칠 수도 있다.
4. Protocol — Host와 SSD가 명령을 주고받는 규칙
AHCI
AHCI는 SATA storage controller를 위한 host interface로 HDD 중심 시대의 요구를 배경으로 설계됐다.
SATA SSD도 AHCI 생태계 위에서 동작할 수 있어 호환성은 좋지만, 매우 높은 병렬성을 가진 flash storage를 위해 처음부터 설계된 구조는 아니다.
NVMe
NVMe(NVM Express)는 non-volatile memory를 위해 설계된 protocol family다.
대표적인 특징은 다수의 queue와 깊은 command queue를 활용할 수 있는 병렬 구조다.
1
2
3
4
5
6
7
CPU / I/O Workload
├─ Queue 1
├─ Queue 2
├─ Queue 3
└─ ...
↓
NVMe SSD
NVMe 공식 자료는 최대 65,535개의 I/O queue와 queue당 최대 65,535 command를 지원하는 architecture를 설명한다.
하지만 실제 OS·driver·device가 항상 최대 숫자를 그대로 사용하는 것은 아니다. 핵심은 숫자 암기가 아니라 AHCI보다 높은 병렬성과 낮은 protocol overhead를 목표로 설계됐다는 것이다.
그리고 NVMe는 현재 PCIe-attached SSD만을 뜻하는 좁은 단어로도 많이 쓰이지만, specification 자체는 NVMe over Fabrics처럼 TCP/RDMA 등의 transport도 포함한다.
5. 흔히 보는 조합
| Form Factor | Interface | Protocol | 흔한 표현 |
|---|---|---|---|
| 2.5-inch | SATA | AHCI/SATA | SATA SSD |
| M.2 | SATA | AHCI/SATA | M.2 SATA SSD |
| M.2 | PCIe | NVMe | M.2 NVMe SSD |
| 2.5-inch U.2 | PCIe | NVMe | U.2 NVMe SSD |
| Add-in Card | PCIe | NVMe | PCIe NVMe AIC |
이 표의 목적은 모든 SSD를 나열하는 것이 아니라 각 이름이 어느 축을 말하는지 분리하는 것이다.
6. NAND Flash — 데이터를 저장하는 셀의 밀도
SSD controller 아래 실제 데이터는 NAND Flash에 저장된다.
한 memory cell에 몇 bit를 표현하는지에 따라 다음처럼 부른다.
| 이름 | Cell당 Bit | 표현해야 하는 상태 수 |
|---|---|---|
| SLC | 1 | 2 |
| MLC | 2 | 4 |
| TLC | 3 | 8 |
| QLC | 4 | 16 |
Cell 하나에 더 많은 bit를 담으면 저장 밀도와 cost 효율을 높일 수 있지만, 더 많은 voltage state를 구분해야 한다.
일반적으로 같은 NAND 세대·조건에서 bit/cell이 늘어날수록:
1
2
3
4
5
6
Density ↑
Cost per bit ↓
반면
Program/Erase 부담 ↑
Latency / Endurance Trade-off ↑
라는 경향이 생긴다.
실제 제품의 수명과 속도는 NAND 유형 하나뿐 아니라 controller, over-provisioning, firmware, capacity, workload에 크게 좌우된다.
따라서:
1
2
TLC = 무조건 빠름
QLC = 무조건 나쁨
처럼 단정하지 않는다.
7. SLC Cache — TLC/QLC 일부를 빠른 쓰기 영역처럼 사용한다
많은 consumer TLC/QLC SSD는 일부 NAND를 SLC처럼 적은 bit 상태만 사용해 빠른 write buffer 역할을 하게 만든다.
1
2
3
4
5
Host Write
↓
Pseudo-SLC Cache
↓ Background Fold
TLC / QLC 영역
짧은 burst write는 빠르게 끝날 수 있지만 cache가 차면 native NAND write 성능에 가까워져 속도가 떨어질 수 있다.
Cache 크기는 fixed일 수도 있고 여유 공간에 따라 dynamic하게 달라질 수도 있다.
그래서 benchmark의 짧은 sequential write 숫자 하나만 보고 장시간 sustained write 성능을 판단하면 안 된다.
8. DRAM과 HMB는 NAND 유형과 또 다른 축이다
SSD의 DRAM cache 유무도 TLC/QLC와 별개의 설계 선택이다.
1
2
3
4
5
6
NAND Type
→ TLC / QLC
Controller Metadata Cache
→ Dedicated DRAM
→ DRAM-less + HMB 등
QLC = DRAM-less, TLC = DRAM 탑재처럼 묶을 수 없다.
DRAM-less NVMe SSD 중에는 HMB(Host Memory Buffer)를 사용해 host memory 일부를 metadata cache로 활용하는 제품도 있다.
따라서 제품을 고를 때는 NAND type 외에도 controller, DRAM/HMB, cache 정책, capacity별 specification을 함께 본다.
9. 왜 NVMe SSD가 SATA SSD보다 빠른가
큰 구조에서는 세 가지가 합쳐진다.
1
2
3
4
5
6
7
더 넓은 PCIe Link Bandwidth
+
Flash에 맞는 NVMe Queue Architecture
+
SSD Controller / NAND의 높은 병렬성
↓
높은 Throughput + 낮은 Latency + 높은 IOPS 가능
즉 “M.2라서 빠른 것”이 아니다. M.2 SATA 제품은 SATA 한계 안에서 동작한다.
10. SSD 스펙을 읽는 순서
제품 이름이:
1
M.2 2280 PCIe 4.0 x4 NVMe TLC 2TB
라면 다음처럼 읽는다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
M.2 2280
→ 물리 Form Factor
PCIe 4.0 x4
→ Host Interface / Link
NVMe
→ Storage Protocol
TLC
→ NAND Cell 특성
2TB
→ Capacity
그다음 실제 선택에서는:
1
2
3
4
5
6
7
8
Mainboard 호환성
Controller
NAND
DRAM/HMB
Sustained 성능
TBW / Warranty
Thermal 특성
가격
을 추가로 확인한다.
정리
SSD를 이해할 때 가장 중요한 것은 최신 제품명 암기가 아니다.
1
2
3
4
5
6
7
8
9
10
11
Form Factor
→ 어떻게 생겼나?
Interface
→ 어떤 통로로 연결되나?
Protocol
→ 어떤 명령 체계로 통신하나?
NAND
→ 데이터를 어떤 memory cell 특성으로 저장하나?
이 네 축을 분리하면 M.2, PCIe, NVMe, TLC가 서로 경쟁하는 용어가 아니라 하나의 SSD를 서로 다른 관점에서 설명하는 용어로 보인다.