SSD 구조와 동작 원리: NAND 플래시 저장장치의 성능과 수명 관리

SSD의 NAND 플래시 구조, 읽기·쓰기·삭제 방식과 FTL, 웨어 레벨링, TRIM 등 성능 및 수명 관리 기술을 정리한다.

2026-08-14 · 최초 발행 2025-12-30

I/O 병목이 SSD를 필요하게 만든 배경

지난 30년 동안 CPU 성능은 570배, HDD 성능은 20배 향상했다. 두 발전 속도의 격차는 28.5배이며, CPU와 메모리가 빨라져도 스토리지가 따라오지 못하면 전체 시스템의 I/O가 병목이 된다.

이 병목은 애플리케이션 로딩 지연, 데이터베이스 쿼리 성능 저하, 가상 머신 부팅 지연, 시스템 응답성 저하로 이어진다. 회전하는 플래터와 움직이는 헤드에 의존하는 HDD의 구조가 그 배경이다.

HDD는 탐색 시간과 회전 지연이 각각 수 ms이고, 전송 속도는 100-200 MB/s, 랜덤 접근 IOPS는 100-200 수준이다. 충격에 약하고 소음·전력 소비·발열도 발생한다.

NAND 플래시를 저장 매체로 쓰는 방식

SSD(Solid State Drive)는 NAND 플래시와 DRAM 같은 초고속 반도체 메모리로 구성한 대용량 저장장치다. 기계적 부품 없이 동작하며, SATA나 NVMe처럼 HDD와 같은 인터페이스를 통해 호스트에 연결할 수 있다.

전원이 꺼져도 데이터를 유지하므로 ROM과 같은 비휘발성을 갖지만, 블록 단위 삭제와 페이지 단위 쓰기가 가능하다는 점이 다르다. 다만 P/E Cycle에 따라 쓰기 횟수에는 제한이 있다.

성능, 신뢰성, 운영 비용의 차이

SSD는 탐색 시간이 거의 0이고 회전 지연이 없으며, 접근 시간은 0.1 ms 미만이다. SATA SSD는 500-600 MB/s, PCIe 3.0/4.0 기반 NVMe SSD는 3000-7000 MB/s의 전송 속도를 제공한다. HDD 대비 10-70배 수준이며, 랜덤 읽기는 100,000 IOPS 이상, 랜덤 쓰기는 80,000 IOPS 이상으로 HDD보다 500-1000배 높다.

기계 부품이 없어서 낙하와 진동에 비교적 안정적이며 모바일 환경에도 적합하다. 데이터 오류는 ECC(Error Correction Code), Bad Block Management, Wear Leveling으로 다룬다. 셀 타입에 따른 P/E Cycle은 3,000-100,000회, TBW(Total Bytes Written)는 수백 TB ~ 수 PB이고 일반 사용자의 수명은 5-10년 이상이다.

전력은 HDD의 1/3 ~ 1/2 수준이라 발열과 냉각 비용을 줄일 수 있다. M.2와 U.2 같은 소형 폼팩터는 공간 효율에도 영향을 준다. 기계 부품이 없으므로 무소음으로 동작해 사무실과 스튜디오 환경에도 맞는다.

컨트롤러가 주소와 플래시를 관리하는 구조

호스트 인터페이스는 시스템과 SSD 사이에서 명령과 데이터를 전달한다. SATA는 600 MB/s, PCIe 기반 NVMe는 수 GB/s를 제공하며, U.2는 Enterprise SSD에, M.2는 소형 폼팩터에 쓰인다.

SSD 컨트롤러는 펌웨어를 실행하며 장치 전반을 제어한다. 논리 주소와 물리 주소를 연결하는 FTL(Flash Translation Layer), Wear Leveling, Garbage Collection, Bad Block Management, ECC가 이 계층에서 처리된다.

SRAM은 매핑 테이블 캐시와 컨트롤러 작업용 고속 버퍼로 쓰인다. 매우 빠르지만 용량은 수 MB이고 휘발성이다. DRAM은 FTL 매핑 테이블과 읽기·쓰기 캐시를 저장하며, SRAM보다 느리지만 수 GB까지 더 큰 용량을 제공한다. 고성능 SSD에는 필수 구성 요소이며, DRAM-less SSD는 DRAM 없이 HMB(Host Memory Buffer)를 활용하는 저가형으로 성능이 다소 낮다.

Flash Controller는 NAND 플래시의 읽기·쓰기·삭제 명령을 직접 실행하고 ECC 인코딩과 디코딩을 담당한다. 4-8채널을 이용해 플래시에 병렬 접근함으로써 성능을 높인다.

실제 데이터는 여러 칩으로 이뤄진 NAND 플래시 메모리에 저장된다. 셀은 저장 비트 수에 따라 다음과 같이 나뉜다.

셀 타입 저장 비트 특성
SLC (Single Level Cell) 1비트 고속, 고수명, 고가
MLC (Multi Level Cell) 2비트 중속, 중수명, 중가
TLC (Triple Level Cell) 3비트 저속, 저수명, 저가
QLC (Quad Level Cell) 4비트 최저속, 최저수명, 최저가

읽기·쓰기·삭제가 서로 다른 단위로 동작한다

읽기 요청이 들어오면 컨트롤러는 FTL을 이용해 논리 주소를 물리 주소로 변환한다. Flash Controller가 해당 페이지를 읽고, ECC로 오류를 검사·정정한 뒤 데이터를 호스트로 보낸다. 읽기는 0.1 ms 미만으로 매우 빠르며, 순차 읽기가 랜덤 읽기보다 빠르다.

쓰기에서는 호스트가 보낸 데이터가 먼저 DRAM 버퍼에 임시 저장된다. FTL이 빈 페이지를 할당하고 ECC 인코딩을 수행한 뒤 Flash Controller가 페이지에 기록한다. NAND 플래시는 덮어쓰기를 지원하지 않으므로, 기존 데이터를 변경하려면 먼저 Erase가 필요하다.

삭제는 페이지가 아니라 블록 단위로 이뤄진다. 페이지 크기는 4-16 KB이고 블록은 128-256 페이지, 즉 512 KB - 4 MB로 구성된다. 작은 데이터를 수정해도 블록 전체의 삭제와 데이터 이동·재기록이 필요할 수 있으며, 이 과정에서 실제 쓰기량이 증가하는 현상이 Write Amplification이다. Garbage Collection은 유효하지 않은 페이지를 정리해 공간을 확보하며 백그라운드에서 실행된다.

HDD와 비교할 때 확인할 항목

구분 SSD HDD
저장 매체 NAND 플래시 (반도체) 자기 디스크 (기계)
접근 시간 < 0.1 ms 5-10 ms
순차 읽기 500-7000 MB/s 100-200 MB/s
랜덤 IOPS 100,000+ 100-200
내구성 충격에 강함 충격에 약함
소음 무소음 소음 발생
전력 낮음 (2-4W) 높음 (6-10W)
발열 낮음 높음
수명 P/E Cycle 제한 기계적 마모
용량당 가격 높음 낮음
최대 용량 수 TB ~ 수십 TB 수십 TB

플래시의 제약을 다루는 관리 기술

FTL은 논리 주소를 물리 주소로 매핑해 덮어쓰기 불가능 문제를 감추고 블록 관리를 수행한다. Wear Leveling은 모든 블록을 균등하게 사용하도록 해 수명을 연장하며, Static Wear Leveling과 Dynamic Wear Leveling이 있다.

TRIM은 운영체제가 삭제된 블록을 SSD에 알리는 기능이다. Garbage Collection의 효율을 높이고 성능 유지에 관여한다. Over-Provisioning은 7-28%의 여유 공간을 확보해 Wear Leveling과 Garbage Collection 효율, 수명을 높인다.

ECC는 데이터 오류를 검출하고 정정한다. LDPC(Low-Density Parity-Check)도 이 범주에 속하며, 저장장치의 신뢰성을 높이는 역할을 한다.

SSDNAND 플래시저장장치운영체제FTL