Abstract
We propose a new way of managing flash memory space for flash memory-specific file system based on log-structured file system. Flash memory has attractive features such as non-volatility, and fast I/O speed, but it also suffers from inability to update in place and limited usage cycles. These drawbacks require many changes to conventional storage (file) management techniques. Our focus is on lowering cleaning cost and evenly utilizing flash memory cells while maintaining a balance between the two often-conflicting goals. The proposed cleaning method performs well especially when storage utilization and the degree of locality are high. The cleaning efficiency is enhanced by dynamically separating cold data and non-cold data. The second goal, cycle-leveling is achieved to the degree where the maximum difference between erase cycles is below the error range of the hardware. Simulation results show that the proposed method has significant benefit over naxve methods: maximum of 35% reduction in cleaning cost with even spreading writes across segments.
본 논문은 로그파일시스템의 원리를 바탕으로 플래시메모리 저장시스템에 적합한 플래시메모리 공간 관리 방법을 제안한다. 플래시메모리는 비휘발성, 빠른 입출력 속도 등의 장점을 지니고 있지만, 제자리 덮어쓰기(in-place update)가 불가능하고 메모리 셀에 대한 쓰기(write) 횟수가 제한되는 단점이 있다. 이러한 특성은 플래시메모리를 저장 매체로 사용할 때 기존의 저장 매체 관리 방법과는 다른 방법을 요구하게 된다. 본 논문은 자유 공간유지를 위해 필요한 클리닝 메커니즘의 연산 비용을 낮추면서 동시에 저장공간이 전체적으로 균등하게 사용될 수 있도록 하는 사이클 평준화 기법을 제안한다. 제안된 방법은 특히 메모리 활용도와 로컬리티가 높을 때 좋은 성능을 보인다. 클리닝 메커니즘은 자주 접근되지 않는 COLD데이타를 그렇지 않은 데이타와 격리시킴으로써 그 효율이 향상되었으며, 사이클 평준화는 사용 횟수간의 최대 차이가 하드웨어적인 오차를 벗어나지 않는 수준까지 이루었다. 실험을 통해 제안된 방법은 비교 기준으로 삼은 직관적 방법(greedy policy)에 비해 사이클 평준화가 잘 이루어진 상태에서 최대 35%정도의 클리닝 비용 절감 효과를 보였다.