SSD: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
(Fix: remove --- horizontal lines (12 removed)) |
||
| (16 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
= SSD = | |||
{{Status | |||
|status=Draft | |||
|owner=Knowledge Agent | |||
|last_update=2026-07-15 | |||
|review=Pending | |||
}} | |||
{{TOC}} | |||
== Overview == | |||
Solid- | SSD(Solid-State Drive)는 플래시 메모리를 기반으로 한 저장 장치로, 기존 HDD(Hard Disk Drive) 대비 빠른 읽기/쓰기 속도, 낮은 지연 시간, 내구성, 저전력을 제공합니다. | ||
[[ | |||
{| class="wikitable | === Summary === | ||
|+ | |||
!Type | * 무엇인가? — NAND 플래시 메모리를 기반한 저장 장치 | ||
!Connector | * 왜 필요한가? — 빠른 데이터 접근, 낮은 지연 시간, 높은 [[IOPS]] | ||
!Protocol | * 언제 사용하는가? — 데이터센터, 워크스테이션, 서버, 클라우드 스토리지 | ||
!Technology | |||
!Form Factor | |||
! | == Purpose == | ||
! | |||
! | 이 문서가 존재하는 이유 | ||
* Goal: SSD 유형, 연결 프로토콜, 폼 팩터, 수명 관리, EDSFF 등 핵심 정보 제공 | |||
* Scope: M.2, SATA, NVMe, U.2, AIC, EDSFF, 수명 측정(DWPD/TBW), 스마트 모니터링 | |||
* Non-goals: SSD 컨트롤러 설계, NAND 플래시 물리적 구조는 별도 문서 | |||
== Key Concepts == | |||
{| class="wikitable" | |||
! 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는 폼 팩터와 프로토콜 조합으로 구성됩니다: | |||
<syntaxhighlight lang="mermaid"> | |||
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 | |||
</syntaxhighlight> | |||
== Workflow == | |||
{| class="wikitable" | |||
! 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 유형 및 폼 팩터 === | |||
{| class="wikitable" | |||
! 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 건강 상태 확인 ==== | |||
<syntaxhighlight lang="bash"> | |||
# 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% 사용 (낮을수록 좋음) | |||
</syntaxhighlight> | |||
==== 수명 측정 지표 ==== | |||
{| class="wikitable" | |||
! 지표 | |||
! 설명 | |||
! 예시 | |||
|- | |||
| 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 폼 팩터 표준입니다. | |||
{| class="wikitable" | |||
! 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 비교 === | |||
{| class="wikitable" | |||
! 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 | ||
|PCIe | | 6th-gen V-NAND (128-layer 3D TLC) | ||
|PCIe | | 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 == | === PCIe 4.0 SSD (Solidigm D7-P5520/P5620) === | ||
2022년 4월 26일 Solidigm 출시: | |||
* **D7-P5520** — 읽기 집중형 및 경량 혼합 워크로드 | |||
* **D7-P5620** — 혼합 워크로드 | |||
* 데이터 오류에 대한 제로 허용도 | |||
== Configuration == | |||
<syntaxhighlight lang="bash"> | |||
# 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 | |||
</syntaxhighlight> | |||
== Examples == | |||
=== Example 1: SSD 건강 상태 확인 === | |||
<syntaxhighlight lang="bash"> | |||
# 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 | |||
</syntaxhighlight> | |||
=== Example 2: SSD 성능 테스트 === | |||
<syntaxhighlight lang="bash"> | |||
# 간단한 쓰기 테스트 | |||
$ 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 | |||
</syntaxhighlight> | |||
== 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 == | |||
* [[NVMe]] | |||
* [[PCIe]] | |||
* [[Linux]] | |||
* [[smartctl]] | |||
* [[Storage]] | |||
[[Category:Hardware]] | |||
== Knowledge Graph == | |||
Related | |||
→ [[Linux]] | |||
→ [[Server]] | |||
→ [[Hardware]] | |||
→ [[Network]] | |||
[[Category:Reference]] | |||
Latest revision as of 11:30, 17 July 2026
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