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 불필요로 성능 향상)
'Study > Memory, SSD, RAM' 카테고리의 다른 글
| FTL (Flash Translation Layer) Section Mapping, Block Mapping (0) | 2026.01.20 |
|---|---|
| 캐시 (Write Back vs Write Through) (0) | 2026.01.19 |
| 페이지와 페이징 (Paging & TLB), Thrashing (0) | 2026.01.19 |
| 가상 메모리 (Virtual Memory), MMU, SWAP (0) | 2026.01.19 |
| 메모리 계층구조, 캐시 메모리vs가상 메모리 (0) | 2026.01.19 |