SSD
Jump to navigation
Jump to search
SSD
Overview
SSD(Solid-State Drive)는 플래시 메모리를 기반으로 한 저장 장치로, 기존 HDD(Hard Disk Drive) 대비 빠른 읽기/쓰기 속도, 낮은 지연 시간, 내구성, 저전력을 제공합니다.
Summary
- 무엇인가? — NAND 플래시 메모리를 기반한 저장 장치
- 왜 필요한가? — 빠른 데이터 접근, 낮은 지연 시간, 높은 IOPS
- 언제 사용하는가? — 데이터센터, 워크스테이션, 서버, 클라우드 스토리지
Purpose
이 문서가 존재하는 이유
- Goal: SSD 유형, 연결 프로토콜, 폼 팩터, 수명 관리, EDSFF 등 핵심 정보 제공
- Scope: M.2, SATA, NVMe, U.2, AIC, EDSFF, 수명 측정(DWPD/TBW), 스마트 모니터링
- Non-goals: SSD 컨트롤러 설계, NAND 플래시 물리적 구조는 별도 문서
Key Concepts
| Concept | Description | Related |
|---|---|---|
| NVMe | Non-Volatile Memory Express — SSD 전용 프로토콜 | SSD |
| M.2 | 소형 폼 팩터 (2280, 22110 등) | SSD |
| U.2 (SFF-8639) | 2.5" 서버용 SSD 커넥터 | SSD |
| EDSFF | Enterprise and Data Center SSD Form Factor | SSD |
| DWPD | Drive Writes Per Day — 수명 지표 | SSD |
| TBW | Terabytes Written — 누적 쓰기 용량 | SSD |
| smartctl | SSD 건강 상태 모니터링 도구 | SSD |
| ZNS | Zoned Namespaces — NVMe 2.0 기능 | SSD |
Architecture
SSD는 폼 팩터와 프로토콜 조합으로 구성됩니다:
graph TD
A[SSD] --> B[M.2 SATA]
A --> C[M.2 NVMe]
A --> D[2.5" SATA]
A --> E[2.5" U.2]
A --> F[PCIe AIC]
A --> G[EDSFF E3.S]
A --> H[EDSFF E3.L]
B --> I[SATA Protocol]
C --> J[PCIe + NVMe]
D --> I
E --> K[PCIe/SAS/SATA]
F --> J
G --> J
H --> J
Workflow
| Stage | Input | Output |
|---|---|---|
| Selection | Workload requirements | SSD type/form factor |
| Installation | SSD + Motherboard/Backplane | System boot |
| Monitoring | smartctl / NVMe CLI | Health status |
| Replacement | Worn out SSD | New SSD installation |
Detailed Explanation
SSD 유형 및 폼 팩터
| Type | Connector | Protocol | Technology | Form Factor | Bandwidth |
|---|---|---|---|---|---|
| M.2 SATA SSD | M.2 | SATA | SATA | M.2 (2280, 1630, 3030) | 0.6 GB/s |
| M.2 NVMe SSD | M.2 | PCIe | NVMe | M.2 | 8 GB/s |
| 2.5" SATA SSD | SATA | SATA | SATA | 2.5" | 0.6 GB/s |
| 2.5" U.2 SSD | U.2 (SFF-8639) | PCIe/SAS/SATA | NVMe | 2.5" | 8 GB/s |
| PCIe AIC SSD | PCIe | PCIe | NVMe | PCIe AIC | 8 GB/s |
NVMe 2.0 주요 기능
NVMe 2.0은 2021년 6월 3일 출시되었으며, 1.4 대비significant한 개선입니다.
- **Zoned Namespaces (ZNS)** — 호스트와 SSD 간 데이터 배치 협업. 물리적 미디어 정렬로 성능 향상 및 용량 증가. Write Amplification 개선으로 수명 연장.
- **NVMe-KV** — 키-값 데이터 접근. 논리 블록 주소 대신 키로 데이터 접근. 번역 테이블 오버헤드 제거.
- **NVMe Endurance Group Management** — 공유 드라이브에서 사용자별 I/O 성능 격리 및 웨어 레벨링.
SSD 수명 (Wear Out)
NAND 플래시는 쓰기 횟수 제한이 있습니다. 일반적으로 읽기는 수명에 영향을 주지 않습니다.
Linux에서 SSD 건강 상태 확인
# smartmontools 설치
$ apt-get install smartmontools
# SATA SSD 건강 상태 확인
$ smartctl -a /dev/sda | grep Media_Wearout_Indicator
# Media_Wearout_Indicator: 100 → 100% 수명 남음
# NVMe SSD 건강 상태 확인
$ smartctl -a /dev/nvme0
# Percentage Used: 5% → 5% 사용 (낮을수록 좋음)
수명 측정 지표
| 지표 | 설명 | 예시 |
|---|---|---|
| DWPD | Drive Writes Per Day — 하루에 드라이브 용량을 몇 번 쓸 수 있는지 | 1 DWPD = 하루 1회 전체 쓰기 |
| TBW | Terabytes Written — 수명 동안 쓸 수 있는 총 바이트 | 365 TBW = 365 TB 누적 쓰기 |
- 계산 예시:**
- 200GB 드라이브, 5년 보증, 1 DWPD → 200GB × 365 × 5 = 365 TBW
- 200GB 드라이브, 5년 보증, 10 DWPD → 2TB/일 × 365 × 5 = 3,650 TBW (3.65 PBW)
- DWPD vs TBW 차이:**
- DWPD는 드라이브 용량에 의존
- TBW는 절대 값 (용량 독립)
- 변환: DWPD × 용량 × 보증연수 × 365 = TBW
EDSFF (Enterprise and Data Center SSD Form Factor)
데이터센터용 SSD 폼 팩터 표준입니다.
| Variation | Height | Length | Thickness |
|---|---|---|---|
| E3.S | 76mm | 112.75mm | 7.5mm |
| E3.S 2T | 76mm | 112.75mm | 16.8mm |
| E3.L | 76mm | 142.2mm | 7.5mm |
| E3.L 2T | 76mm | 142.2mm | 16.8mm |
※ Samsung PM983은 NGSFF(M.3/NF1) 폼 팩터로 EDSFF와 경쟁.
Samsung PM9A3 vs PM983 비교
| Metric | PM9A3 (PCIe Gen4) | PM983 (PCIe Gen3) | Performance Gain |
|---|---|---|---|
| Sequential Read (4KB QD32) | 6,500 MB/s | 3,500 MB/s | 86% |
| Random Read IOPS (4KB QD1) | 70,000 IOPS | 45,000 IOPS | 56% |
| Random Write IOPS (4KB QD32) | 180,000 IOPS | 85,000 IOPS | 112% |
| Latency (Read/Write) | 85μs / 12μs | 110μs / 22μs | 23% / 45% faster |
| NAND Technology | 6th-gen V-NAND (128-layer 3D TLC) | 5th-gen V-NAND (96-layer 3D TLC) | — |
| Interface | PCIe Gen4 x4 | PCIe Gen3 x4 | — |
| Controller | Samsung Elpis (8-channel) | Samsung Phoenix (8-channel) | — |
| Form Factors | U.2, M.2, E1.S | U.2, M.2 | — |
| Capacity Range | 960GB – 7.68TB | 960GB – 3.84TB | — |
PCIe 4.0 SSD (Solidigm D7-P5520/P5620)
2022년 4월 26일 Solidigm 출시:
- **D7-P5520** — 읽기 집중형 및 경량 혼합 워크로드
- **D7-P5620** — 혼합 워크로드
- 데이터 오류에 대한 제로 허용도
Configuration
# SSD 정보 확인
$ smartctl -a /dev/sda
$ smartctl -a /dev/nvme0
# NVMe 정보 확인
$ nvme list
$ nvme smart-log /dev/nvme0
# SSD 성능 테스트
$ dd if=/dev/zero of=/tmp/test bs=1M count=1024 conv=fdatasync
$ fio --name=test --filename=/tmp/fio.test --size=1G --bs=4k --iodepth=64 --ioengine=libaio --direct=1 --rw=randread
Examples
Example 1: SSD 건강 상태 확인
# SATA SSD
$ smartctl -a /dev/sda | grep -E "Media_Wearout|Percentage|Temperature"
# NVMe SSD
$ smartctl -a /dev/nvme0 | grep -E "Percentage Used|Temperature|Data_Reads|Data_Writes"
# 전체 NVMe 디바이스 목록
$ nvme list
Example 2: SSD 성능 테스트
# 간단한 쓰기 테스트
$ dd if=/dev/zero of=/tmp/test bs=1M count=1024 conv=fdatasync
# fio를 사용한 상세 벤치마크
$ fio --name=rand-read --filename=/tmp/fio.test --size=1G --bs=4k --iodepth=64 --ioengine=libaio --direct=1 --rw=randread --numjobs=4
Best Practices
- NVMe SSD 사용 (SATA 대신) — 높은 대역폭 및 낮은 지연 시간
- TRIM 지원 확인 — 성능 유지 및 수명 연장
- 정기적인 smartctl 모니터링 — 수명 예측
- EDSFF 폼 팩터 고려 — 데이터센터 확장성
- DWPD/TBW 비교 — 워크로드에 맞는 SSD 선택
- NVMe 2.0 ZNS 활용 — 쓰기 증폭 감소 및 수명 연장
- SSD 교체 시기 예측 — Percentage Used 80% 이상 시 교체 고려
Limitations
- NAND 플래시 쓰기 횟수 제한 (수명 존재)
- SSD 성능은 온도 영향을 받음 (과열 시 스로틀링)
- EDSFF 마더보드/백플레인 필요 (구형 시스템 호환 안됨)
- NVMe SSD는 SATA 호환 안됨 (프로토콜 다름)
- 데이터 복구 어려움 (HDD 대비)
References
- https://phisonblog.com/key-features-available-with-nvme-2-0-ssd-2/
- https://nvmexpress.org/specifications/
- https://en.wikipedia.org/wiki/Enterprise_and_Data_Center_Standard_Form_Factor
- https://www.compuram.biz/documents/datasheet/Samsung_PM9A3-m2.pdf
Related Pages
Knowledge Graph
Related