플래시 메모리는 그동안에 많이 사용되던 자기 디스크를 대체할만한 많은 장점이 있어 현재 여러 분야에서 다양한 형태로 많이 사용되고 있다.
그러나 한편으로는 플래시 메모리는 일반 저장 매체와는 다른 특성을 가지고 있어 이에 알맞은 관리 시스템을 필요로 한다.
특히 낸드 플래시 메모리(NAND flash memory)는 높은 집적도를 가지고 있고 삭제 연산 과정이 빨라 대용량의 저장에 주로 사용되지만, 데이터를 기록하기 전에 해당 블록이 반드시 삭제되어 있어야만 하는 특징(erase-before-write)이 있어 주로 메모리의 데이터를 읽는 작업 보다는 메모리의 쓰기 작업에 대한 관리를 통해 플래시 메모리의 성능을 향상시킬 수 있다..
플래시 메모리의 특성 상 메모리의 각 블록은 약 만 번에서 10만 번의 쓰기 횟수를 가지는데 메모리 블록이 고르게 사용되지 못하고 일부분이 한계치 이상 삭제되었을 경우 플래시 메모리에 심각한 성능 저하를 일으킨다. 이러한 현상을 방지하기 위에 각 블록에 걸쳐 쓰기 및 삭제 횟수를 골고루 유지하게 하는 마모도 평준화사(wear leveling) 기술이 필요하고 이를 통해 플래시 메모리의 수명을 향상 시킬 수 있다.
플래시 메모리의 마모도 평준화 기술은 일반적인 파일시스템을 지원하기 위한 중간 계층인 FTL 계층에서 이루어지는데 효과적인 블록의 마모도 평준화 기술이 되기 위해서는 여러 가지 요인을 고려해야 한다. 교체해야할 희생 블록의 선정 및 적절한 크기 설정, 유효 데이터의 이동 방법, 교체의 최적 시점 등이 바로 그것이다.
본 논문에서는 이미 성능의 한계점에 도달한 블록의 교환 정책을 통한 기존의 블록 마모 평준화 기법들과는 달리 플래시 메모리의 지역성에 기반하여 블록의 쓰기 패턴을 통한 작업 집합 추출, 이를 기반으로 마모도 평준화에 기여하는 기법을 제안한다.
대부분의 플래시 메모리에 기록되는 데이터들은 특정 영역이 많이 사용되는 특징을 가지고 있다. 제안하는 기법은 이러한 특성을 활용하여 많이 사용되는 블록의 패턴을 분류해 낸 뒤, 이를 앞으로 사용될 블록에 대한 정보로 이용하는 방식이다.
제안하는 방법을 통해 블록의 전체적인 쓰기 횟수에 대한 표준 편차가 줄어듦을 확인하였고 이를 통해 블록의 소거 횟수를 감소시켜 플래시 메모리의 마모도 평준화에 기여할 수 있었다.