Study/Memory, SSD, RAM

FTL 상세 구조

로버트 E.O. 스피드왜건 2026. 1. 20. 14:33

FTL의 개요

기존 HDD와 호환을 유지하면서 동작해야함

 

FTL의 정의

Block과 Page 기반의 SSD가 Sector 기반의 PC와 OS에 대응하기 위한 변환 계층

SSD와 파일시스템(OS) 사이에 위치

SSD를 HDD처럼 블럭(Block)  장치로 변환해주는 S/W

 

FTL의 구조 및 설명

SW OS File System, Block Device Driver -
FTL STL(Sector Translation Layer) Mapping, 가비지 컬렉션, 웨어 레벨링
BML(Block Management Layer) Bad Block 관리, Error Handling
- LLD(Low Level Driver) Flash Interface
SSD SSD, NAND Flash Device 컨트롤러, DRAM, I/O 인터페이스

 

 

FTL의 핵심 기술

1. Wear Leveling - 수명 연장

블럭당 기록 횟수를 균등하게 배분

웨어 레벨링

 

2. Garbage Collection - 삭제 효율화

미사용/사용 page 분류 ( == 디스크 조각모음 Hot/Cold Data 분류하여 Block 단위로 Erase)

 

가비지 컬렉션

 

3. Over provisioning - 여유 공간 제공

비어 있는 여유 공간이 부족시에 웨어레벨링, 가비지컬렉션이 제대로 수행되지 못함

여유 공간이 적어 특정 page들만 혹사당하는 문제를 극복하기 위한 여유공간 확보

 

4. NCQ(Native Command Queuing) - 여러 명령 동시 처리

한번에 여러 개의 Read/Write 명령 처리

 

5. TRIM - 선 삭제 동일

OS의 파일 삭제는 실제로 지우는 것이 아닌 파일 시스템과의 연결만 끊고 디스크에 파일은 그대로 존재함

OS에서 삭제한 파일들을 OS의 도움을 받아 파악 후 SSD 상에서 실제로 지우는 명령어

SSD 기록시 Erase할 필요가 없기 때문에 성능 향상 (미리 Erase해 둠으로써 Write 동작시 Erase 불필요로 성능 향상)