Abstract
Since flash memory cannot be overwritten, 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 count 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 ad cold block though the performance of processing is hight 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 shows that its performance is 30% better than cost benefit algorithm with separation of cold block and hot block its wear-leveling is about a third of that in standard deviation.
플래시 메모리는 디스크와는 달리 덮어쓰기가 불가능하므로, 새로운 데이터는 새로운 영역에 갱신이 된다. 데이터가 빈번히 변경되면 새로운 영역을 확보하기 위해 가비지 컬렉션을 통하여 데이터를 지우게 되는데, 이때 지움(erase) 연산을 수행 할 수 있는 회수가 플래시 메모리의 특성에 의해 일정 회수로 제한을 받게 되므로 플래시 메모리의 모든 블록은 고르게 쓰여지고 지워져야 한다. 그러나 지역 접근성을 가지는 데이터를 Cost-benefit 방법으로 처리하면 성능은 좋으나 wear-leveling은 매우 나빠지는 문제점이 있다. 본 논문에서는 wear-leveling을 개선하기 위해 멀티 뱅크에서 하나의 뱅크는 cold 데이터를 다른 뱅크는 hot 데이터를 할당하고, 시간이 흐름에 따라 일정주기로 cold 뱅크와 hot 뱅크를 교환하는 CB-MB(Cost Benefit between Multi Bank) 방법을 제안하고 성능을 평가하였다. CB-MB방법은 hot 데이터와 cold 데이터를 블록단위로 분리하여 관리하는 Cost-benefit방법에 비해 성능에 있어 30% 성능향상을 보이고 wear-leveling측면에서 1/3이하로 표준편차를 줄였다.