토픽 58 / 111·메모리 계층 (Memory Hierarchy)
웨어 레벨링 (Wear Leveling)
웨어 레벨링 (Wear Leveling)
NAND 플래시 셀의 제한된 P/E(Program/Erase) 사이클을 모든 블록에 균등하게 분배하여 특정 블록의 조기 마모를 방지하고 SSD 전체 수명을 연장하는 FTL 기법
목적: 블록 간 소거 횟수 균등화, SSD 수명 극대화, 조기 고장 방지
특징: FTL 펌웨어 레벨 구현, 동적/정적 방식, P/E 카운터 관리
동적 웨어 레벨링 (Dynamic Wear Leveling)
- •새로운 쓰기 시 소거 횟수가 가장 적은 빈(Free) 블록을 선택하여 기록
- •장점: 구현 단순, 오버헤드 낮음
- •단점: 자주 갱신되지 않는 콜드 데이터가 특정 블록에 고정 → 해당 블록은 소거되지 않아 다른 블록만 집중 소모
정적 웨어 레벨링 (Static Wear Leveling)
- •콜드 데이터(장기간 변경 없는 블록)를 소거 횟수 높은 블록으로 주기적 이동
- •원래 블록(소거 횟수 낮음)을 해제하여 핫 데이터 기록에 활용
- •장점: 모든 블록의 소거 횟수를 진정으로 균등화, 수명 20~40% 추가 연장
- •단점: 백그라운드 데이터 이동 오버헤드, 쓰기 증폭(Write Amplification) 증가
수명 연장 효과
- •Wear Leveling 없음: 일부 블록만 집중 소모 → 조기 고장
- •동적만 적용: 핫 블록 분산, 콜드 블록 편중 잔존
- •동적+정적 적용: 전 블록 균등 소모 → 이론적 최대 수명 달성
비교: 동적(쓰기시 선택/단순/콜드편중) vs 정적(주기적 이동/균등/오버헤드)
연관: FTL, SSD, Garbage Collection, NAND 플래시, P/E 사이클, 쓰기 증폭