Managing the B-Tree Efficiently using Write Pattern Conversion on NAND Flash Memory

낸드 플래시 메모리상에서 쓰기 패턴 변환을 이용한 효율적인 B-트리 관리

  • Published : 2007.06.25

Abstract

플래시 메모리는 하드디스크와 다른 물리적 특성을 가지고 있다. 대표적으로 덮어쓰기가 되지 않고 데이터를 읽고 쓰는 단위와 지우는 단위가 서로 다르다. 이러한 물리적 제약을 소프트웨어적으로 보완해주기 위해서 플래시 메모리를 사용하는 시스템에서는 대부분 Flash Translation Layer (FTL)을 사용한다. 지금까지 FTL 알고리즘의 대부분이 임의 쓰기 패턴보다 순차 쓰기 패턴에 훨씬 더 효율적으로 작용한다. 그러나 B-트리와 같은 자료구조에서는 일반적으로 순차 쓰기 패턴 보다는 임의 쓰기 패턴이 발생된다. 따라서 플래시 메모리상에서 B-트리를 관리할 경우 FTL에 비효율적인 쓰기 패턴을 생성하게 된다. 본 논문에서는 플래시 메모리상에서 B-트리와 같은 자료구조를 효율적으로 저장 관리하기 위한 새로운 방식을 제안한다. 새로운 방식은 B-트리에서 발생되는 임의 쓰기를 플래시 메모리상의 버퍼를 이용하여 FTL에 효율적인 순차 쓰기를 발생시킨다. 실험 결과, 본 논문에서 제안하는 방식은 기존의 방식보다 플래시 메모리에서 발생되는 쓰기 및 블록소거 연산 횟수를 60%이상 감소시킨다.

Keywords