FTL의 정의
Flash Memory와 File System 사이에 위치하여 Flash Memory를 Disk Device처럼 사용 가능하게 하는 계층
FTL의 필요성
1. File System 호환 - FAT16/32, NTFS, UDF등의 파일시스템 호환
2. I/O 동작 수행 - PC에서 Disk로 보내는 I/O명령을 수행
FTL의 위치 및 동작 구조의 설명
| 상위Layer | PC (Host System) | Flash Memory Read&Write |
| ↕ | File System | FAT/16/32, NTFS, UDF |
| FTL | File System 호환 | |
| Device Driver | Flash Memory 기능 제어 | |
| 하위Layer | Flash Memory | NAND / NOR |
Flash Memory를 저장장치로 사용할 경우 기존 파일 시스템 구조에서 FTL을 두어 파일시스템과 Flash Memory간 Mapping시켜주는 역할

1. Sector 6번 요청 (Logical Sector Number)
2. FTL Mapping Table 참조 (0번 Block, 2번 Page)
3. 논리주소 6의 위치 참조 -> 물리 주소 획득(Physical Sector Number)
4. Flash Memory의 해당 Block 및 Page주소 접근
5. Flash Memory에서의 Data 전송

1. LPA(Logical Page Adress) 5번에 데이터 작성 -> LBN(Logical Block Number) 1과 Offset 1로 분리
2. FTL Block Mapping Table 참조 / but LBN 1번에 이미 PBN 0번이 매핑되어있는 상황
3. 새 물리 블록인 PBN 2번 할당 받음.
4. Offset이 1이므로 PBN2, 2번째 칸에 page 5' 작성
5. PBN 0에 있단 나머지 데이터(4, 6, 7)을 PBN 2 동일 위치로 그대로 Block copy (실제로는 RAM버퍼 활용으로 4번 카피, 5' 작성, 6, 7카피 순서로 적용)
6. FTL Table 갱신 (0->2)
Sector Mapping VS Block Mapping
| 구분 | Sector Mapping | Block Mapping |
| 개념 | Read, Write 단위인 Sector단위 | Erase단위인 Block으로 Mapping |
| 장점 | Sector Update시 매핑 table 정보만 변경, Erase 연산 최소화 | Mapping Table의 크기가 작음 |
| 단점 | Mapping table 크기가 커질 수 있음 | Mapping 정보와 일치해야 되기 때문에 성능 저하 발생 |
'Study > Memory, SSD, RAM' 카테고리의 다른 글
| FTL 상세 구조 (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 |