플래시 메모리 - 8. 고급 주제 (추가 학습) (8.1 SSD 내부 구조와 성능 최적화)

2025. 2. 23. 16:42정보기술/하드웨어

8.1 SSD 내부 구조와 성능 최적화

SSD(Solid-State Drive)는 NAND 플래시 메모리, DRAM 캐시, 컨트롤러, 인터페이스 등의 주요 구성 요소로 이루어진 고속 저장 장치이다.
SSD의 성능을 최적화하고 장기적으로 안정적인 동작을 유지하기 위해서는 DRAM 캐시의 활용, TRIM 명령어 실행, 데이터 관리 방식을 이해하는 것이 중요하다.


8.1.1 DRAM 캐시의 역할

① DRAM 캐시란?

  • DRAM 캐시는 SSD 내부에 포함된 고속 휘발성 메모리(Dynamic RAM)로, SSD 컨트롤러가 데이터를 신속하게 처리할 수 있도록 도와주는 역할을 함.
  • 일반적으로 SSD 컨트롤러가 NAND 플래시에 직접 데이터를 기록하는 대신, DRAM 캐시에 데이터를 먼저 저장한 후 최적화하여 기록.
  • 이를 통해 쓰기 속도를 높이고, 플래시 메모리의 마모를 줄이며, 성능을 안정적으로 유지할 수 있음.

② DRAM 캐시의 주요 기능

쓰기 성능 향상 → SSD가 데이터를 바로 NAND에 쓰지 않고 DRAM에 저장 후 일정량을 모아 쓰므로 속도 향상.
읽기 속도 개선 → 자주 접근하는 데이터(파일 시스템 테이블, 인덱스)를 DRAM에 캐싱하여 읽기 속도 향상.
내구성 증가 → NAND 플래시에 대한 불필요한 쓰기를 줄여 SSD 수명 연장.

📌 DRAM 캐시가 있는 SSD vs 없는 SSD 비교

SSD 유형 DRAM 캐시 성능  가격  내구성
DRAM 캐시 SSD 있음 빠름 비쌈 높음
DRAM-less SSD 없음 중간 저렴 낮음
HMB(Host Memory Buffer) SSD 시스템 RAM 사용 보통 중간 중간

③ DRAM 캐시가 없는 SSD(DRAM-less SSD)의 단점

랜덤 쓰기 성능 저하 → 작은 파일을 여러 개 쓰는 작업에서 성능 저하 발생.
수명 감소 → NAND 플래시에 직접 기록이 많아지므로 P/E 사이클이 빠르게 소모됨.
일부 저가형 SSD에서 사용 → 가격을 낮추기 위해 DRAM 캐시를 제거한 모델이 많음.

④ DRAM 캐시와 HMB(Host Memory Buffer)의 차이점

  • HMB는 DRAM이 없는 SSD에서 시스템 메모리(RAM)의 일부를 빌려 캐시 역할을 수행하는 기술.
  • DRAM 캐시보다는 성능이 낮지만, 일반적인 DRAM-less SSD보다는 성능이 개선됨.

📌 DRAM 캐시 vs HMB vs DRAM-less 비교

유형  캐시 위치 성능  가격
DRAM 캐시 SSD SSD 내부 DRAM 최고 비쌈
HMB SSD 시스템 RAM 활용 보통 중간
DRAM-less SSD 없음 낮음 저렴

고성능이 필요한 경우 DRAM 캐시가 있는 SSD를 선택하는 것이 유리함.


8.1.2 TRIM 명령어와 성능 유지

① TRIM 명령어란?

  • TRIM은 SSD에서 불필요한 데이터를 미리 삭제하여 성능 저하를 방지하는 기능.
  • HDD는 덮어쓰기가 가능하지만, SSD는 데이터를 덮어쓸 수 없으며 쓰기 전에 블록을 삭제(Erase)해야 함.
  • TRIM 명령어를 사용하면 운영체제가 더 이상 사용하지 않는 데이터 블록을 SSD 컨트롤러에 알려주어, 가비지 컬렉션(GC, Garbage Collection)이 원활하게 이루어지도록 함.

② TRIM이 필요한 이유

불필요한 데이터 미리 삭제 → 새로운 데이터를 기록할 때 삭제 작업이 필요 없으므로 속도 저하 방지.
쓰기 속도 유지 → SSD가 여유 공간을 확보하여 쓰기 성능을 일정하게 유지.
수명 연장 → NAND 플래시의 불필요한 쓰기를 줄여 SSD 수명을 늘림.

③ TRIM이 동작하는 방식

  1. 운영체제가 삭제된 데이터 블록을 TRIM 명령어를 통해 SSD 컨트롤러에 전달.
  2. SSD 컨트롤러는 해당 블록을 "사용되지 않는 공간"으로 표시.
  3. 가비지 컬렉션(GC)이 실행될 때 해당 블록을 미리 삭제하여 새로운 데이터를 바로 기록 가능하도록 준비.

📌 TRIM 적용 전/후 비교

상태  TRIM 미적용 TRIM 적용
파일 삭제 시 논리적으로 삭제됨(실제 데이터는 남아 있음) 블록이 즉시 삭제됨
새로운 데이터 쓰기 시 기존 데이터 삭제 후 기록(느림) 바로 기록 가능(빠름)
SSD 성능 점점 느려짐 일정한 성능 유지

TRIM이 활성화된 SSD는 성능이 지속적으로 유지됨.


④ TRIM 활성화 및 확인 방법 (Windows, Linux)

📌 Windows에서 TRIM 활성화 확인 및 설정

  1. TRIM 활성화 여부 확인
fsutil behavior query DisableDeleteNotify

출력 결과:

  • DisableDeleteNotify = 0 → TRIM 활성화됨 ✅
  • DisableDeleteNotify = 1 → TRIM 비활성화됨 ❌
  1. TRIM 활성화 명령어
fsutil behavior set DisableDeleteNotify 0

📌 Linux에서 TRIM 활성화 확인 및 설정

  1. TRIM 지원 여부 확인
lsblk --discard
  1. 수동 TRIM 실행 (fstrim 명령어)
sudo fstrim -v /
  1. 자동 TRIM 설정 (fstab 수정)
UUID=XXXX-XXXX-XXXX-XXXX / ext4 defaults,discard 0 1

TRIM이 활성화되면 SSD의 성능이 지속적으로 유지되며, 불필요한 데이터 삭제로 쓰기 속도가 향상됨.


정리

  • DRAM 캐시
    • SSD의 성능을 높이고 내구성을 증가시키는 역할.
    • DRAM 캐시가 없는 SSD(DRAM-less SSD)는 성능이 낮고 수명이 짧음.
    • HMB(Host Memory Buffer)는 시스템 RAM을 활용하여 일부 DRAM 캐시 역할 수행.
  • TRIM 명령어
    • SSD에서 삭제된 데이터를 미리 정리하여 성능 저하를 방지.
    • 불필요한 데이터 블록을 미리 제거하여 쓰기 속도를 유지.
    • Windows 및 Linux에서 TRIM 활성화 여부 확인 가능.

DRAM 캐시가 있는 SSD 선택 + TRIM 활성화 = 지속적인 고성능 유지 및 SSD 수명 연장.