플래시 파일시스템에서 wear-leveling 개선을 위한 블록 할당 정책

A Block Allocation Policy to Enhance Wear-leveling in a Flash File System

  • 발행 : 2007.10.26

초록

디스크에서는 데이터가 변경되면 해당 영역에 겹쳐 쓰기를 수행하나 플래시 메모리에서는 겹쳐 쓰기가 수행되지 않아 데이터가 변경될 때 새로운 영역에 데이터를 갱신한다. 따라서 이전의 데이터는 쓸모없는 데이터가 되기 때문에 가비지 컬렉션을 통해 지움 연산을 수행하여 새로운 영역을 확보하게 된다. 지움(erase) 연산을 수행할 수 있는 회수가 플래시 메모리의 특성에 의해 일정 회수로 제한을 받게 되므로 플래시 메모리의 모든 블록은 고르게 쓰여 지고 지워져야 한다. 본 논문은 지역성을 가지는 접근에서 wear-leveling을 개선하기 위한 방법으로 hot 데이터와 cold 데이터를 서로 다른 뱅크에 저장하고 시간이 흐름에 따라 일정주기로 cold 뱅크와 hot 뱅크를 교환하는 CB-MB(Cost Benefit between Multi Bank) 방법을 제안하고 성능을 평가하였다. CB-MB는 uniform한 작업부하에 대해서는 다른 방법들과 유사한 성능을 보이는 반면 접근 지역성을 가지는 작업부하에 대해서는 상대적으로 월등한 성능을 제공하는 것으로 분석되었다.

While disk can be overwritten on updating data, because flash memory can not be overwritten on updating data, new data are updated in new area. If data are frequently updated, garbage collection, which is achieved by erasing blocks, should be performed to reclaim new area. Hence, because the number of erase operations is limited due to characteristics of flash memory, every block should be evenly written and erased. However, if data with access locality are processed by cost benefit algorithm with separation of hot block and cold block, though the performance of processing is high, wear-leveling is not even. In this paper, we propose CB-MB (Cost Benefit between Multi Bank) algorithm in which hot data are allocated in one bank and cold data in another bank, and in which role of hot bank and cold bank is exchanged every period. CB-MB showed that its performance was similar to that of others for uniform workload, however, the method provides much better performance than that of others for workload of access locality.

키워드