358 0

로그 기반 FTL의 합병 연산을 줄이기 위한 로그블록 무효화 기법의 설계 및 구현

Title
로그 기반 FTL의 합병 연산을 줄이기 위한 로그블록 무효화 기법의 설계 및 구현
Other Titles
Design and Implementation of a Log Block Invalidation Scheme to Reduce Merge Operation on a Log-based FTL
Author
김주영
Alternative Author(s)
Kim, Juyoung
Advisor(s)
송용호
Issue Date
2009-02
Publisher
한양대학교
Degree
Master
Abstract
근래 낸드 플래시 메모리의 사용이 급격히 증가함에 따라 낸드 플래시를 일반적인 섹터 단위 저장장치로 변환시키기 위한 FTL(Flash Translation Layer) 계층의 성능 개선의 중요성이 부각되었다. 최근에는 낸드 플래시의 덮어쓰기 연산이 불가능한 점을 보완하기 위하여 로그 버퍼의 개념을 도입한 FTL이 제안되었다. 로그 기반의 FTL은 일정 낸드 플래시 블록(Block)을 쓰기 버퍼로 할당함으로써 덮어쓰기를 구현하며, 과량의 덮어쓰기 연산으로 인해 로그 블록에 여유 공간이 없을 경우 원본 데이터가 존재하는 블록과의 합병(Merge)를 수행하게 된다. 이 때 로그 블록과 원본 블록의 유효한 페이지를 새로운 블록에 복사하고 기존 블록을 삭제한다. 그런데 낸드 플래시를 사용하는 어플리케이션의 특성에 따라 FTL은 잦은 덮어쓰기를 발생시킬 수 있으며 이로 인해 잦은 합병연산에 의한 페이지의 복사와 블록의 삭제가 자주 발생하게 된다. 이럴 경우 낸드 플래시가 매우 낮은 성능의 쓰기 및 삭제 연산을 수행하므로, 성능상의 저하가 발생하며 이러한 현상이 지속될 경우 블록의 삭제 횟수가 증가하여 전체 낸드 플래시의 수명을 저하시킬 수 있다. 이러한 문제를 해결하기 위하여 본 논문에서는 로그 기반의 FTL에서 합병연산이 요청될 때, 로그 버퍼 내부의 유효한 페이지를 로그 버퍼로 다시 복사하는 방법을 통하여 합병연산을 줄이는 로그블록 무효화(LBI: Log Block Invalidation)기법을 제안하였다. 이를 통해 원본 블록과의 합병 연산을 줄임으로써 합병 연산 시 수행되는 유효한 페이지의 복사 및 블록 삭제를 줄일 수 있었다. 제안된 기법의 최대 효과를 얻기 위하여 일반적인 합병연산 시 소모되는 비용과 로그블록 무효화를 사용할 시 예상되는 비용을 수식을 통하여 예측하여 적용하였다. 또한 로그 기반의 FTL중 하나인 완전연관섹터변환 기법(FAST: Fully Associative Sector Translation)에 본 논문에서 제안하는 기법을 적용한 FTL의 시뮬레이터를 C++ 언어로 제작하였다. 시뮬레이터는 실제 운영체제상에서 발생한 Disk I/O를 추출한 Trace를 기반으로 구동된다. Disk I/O Trace의 추출을 위하여 범용적으로 사용되는 디스크 성능 평가 프로그램인 Sandra와 ATTO, 사용자가 정의한 Disk I/O, 그리고 데이터베이스에 대한 성능 평가 프로그램인 TPC-C가 사용되었다. 실험 결과 덮어쓰기 어플리케이션의 특성에 따라 임의로그블록의 사용빈도가 낮은 경우 로그페이지의 반복적인 복사로 인해 성능이 다소 감소하는 현상을 보였으나, 임의로그블록에 지역성이 높은 쓰기 연산이 발생할 경우 삭제 연산을 약 9.6%, 쓰기 연산을 약 5.25% 까지 감소시킬 수 있었다. 또한 데이터베이스를 대상으로 한 실제 어플리케이션의 경우 삭제 연산을 약 3.8%, 쓰기 연산을 약 2.6% 까지 감소시킬 수 있었다.; The preference of flash memory as high density non-volatile storage has increased radically, thus improving the performance of FTL(Flash Translation Layer) has become a significant issue. Recently, A log-based FTL is proposed in order to overcome an impracticable overwrite problem of the flash memory. Log-base FTL allocates some blocks into a log buffer and emulates overwrite operation by writing to the log buffer instead of the original page. However, log-based FTL frequently incur merge operations when processing lots of modify requests that are of small size and have high locality. Merge operation needs valid page coping and original block erasing, so that it leads to low performance and durability of flash memory device. In this paper, I propose a merge reduction scheme called LBI(Log Block Invalidation) that copies valid log pages to a log block. This scheme could reduce page copy count and block erase count by log block erasing without consideration of data block. In order to verify efficiency of LBI scheme, A FAST (Fully Associative Sector Translation) algorithm was implemented on our trace driven simulator. I also simulated several traces such as widely used disk benchmark programs, user specified disk traffic generator, DBMS benchmark program. By simulations, performance improved when using LBI scheme except the cases of disk benchmark trace. LBI scheme could reduce total erase and write count up to 9.6% and 5.25% in a trace which has write operation with high locality. In case of DBMS trace, total erase count and write count could be reduced up to 3.8% and 2.6%.
URI
https://repository.hanyang.ac.kr/handle/20.500.11754/144805http://hanyang.dcollection.net/common/orgView/200000411064
Appears in Collections:
GRADUATE SCHOOL[S](대학원) > ELECTRONICS AND COMPUTER ENGINEERING(전자컴퓨터통신공학과) > Theses (Master)
Files in This Item:
There are no files associated with this item.
Export
RIS (EndNote)
XLS (Excel)
XML


qrcode

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

BROWSE