SSD의 핵심기술 FTL(Flash Translation Layer)

    1. SSD의 핵심기술 FTL의 개요


    가. FTL(Flash Translation Layer)의 개념

    플래시 메모리와 파일시스템 사이에 위치하면서, 플래시 메모리를 디스크처럼 사용할 수 있게 해주는 사상(Mapping) 기술


    나. FTL의 필요성

    • 플래시 메모리 섹터들의 최대 지우기 횟수의 유한한 결점을 보완하는 역할
    • DISK I/O를 플래시 메모리에서 동작할 수 있도록 지원
    • NAND 플래시 한계 : 쓰기보다 지우기가 느린 특성


    2. FTL의 계층 구조 및 구성요소, 핵심기술


    가. FTL의 계층 구조

    FTL은, File System과 NAND Flash Device 사이에서 Mapping 수행


    GC와 Wear Leveling을 포함하는 구성도



    나. FTL의 구성요소


    1) STL(Sector Translation Layer)

    • Address Mapping, Garbage Collection, Wear Leveling 등 담당
    • Address Mapping : 파일 시스템으로부터 논리적 주소를 NAND Flash Memory의 물리적 주소로 연결

    2) BML(Bad-Block Management Layer)

    • 무효화된 페이지를 많이 가지고 있는 블록을 선택후, 유효 페이지를 다른 블록에 복사하여 블록을 삭제하여 재사용 해주는 기법

    3) LLD(Low Level Driver)

    • NAND Flash를 사용하기 위한 Driver


    다. FTL의 핵심기술


    1) Wear Leveling

    • 블록당 Writer 횟수를 모니터 하여, 균등하게 분배
    • 특정 블록에만 Write 되는 것을 방지하여, 수명연장

    2) Garbage Collection

    • 블록을 실제로 삭제하지 않고, 표기 후 적절한 시점에 일괄 삭제 처리하는 기술
    • Java의 GC와 유사한 기술, 삭제 효율화

    3) Over Provisioning

    • Wear Leveling, GC를 작업하기 위한 여유공간


    3. FTL의 매핑방식


    1) Sector Mapping 

    • read, write 단위인 섹터 단위로 사상테이블 생성
    • 장점 : upate 시, 정보만 변경한 data를 쓸 수 있음. erase 연산 최소화
    • 단점 : 사상테이블 크기가 커질 수 있음

    2) Block Mapping
    • Erase 단위인 블록 단위로 사상테이블 생성
    • 장점 : 사상테이블의 크기 최소화 가능
    • 단점 : 같은 논리 주소에 쓰기 연산이 많이 요청되는 경우 성능저하

    3) Hybrid Mapping 

    • Sector와 Block을 혼합한 기법
    • 장점 : Sector와 Block의 장점 혼합
    • 단점 : 구현의 복잡한 문제 존재


    댓글

    Designed by JB FACTORY