An Efficient Implementation of B-Tree Using Lazy Update on Flash Memory

플래시 메모리 상에서 지연 갱신을 이용한 B-트리의 효율적인 구현

  • Kim, Bo-Kyeong (Dept. of Computer Science and Engineering, Hanyang University) ;
  • Yoo, Min-Hee (Dept. of Computer Science and Engineering, Hanyang University) ;
  • Lee, Dong-Ho (Dept. of Computer Science and Engineering, Hanyang University)
  • 김보경 (한양대학교 컴퓨터공학과) ;
  • 유민희 (한양대학교 컴퓨터공학과) ;
  • 이동호 (한양대학교 컴퓨터공학과)
  • Published : 2011.06.29

Abstract

플래시 메모리 기반의 저장 시스템은 빠른 접근 속도, 작고 가벼운 특성, 저전력 소모 등의 이유로 하드 디스크를 대체하는 저장 매체로 주목 받고 있다. 플래시 메모리는 하드 디스크와 다르게 읽기 쓰기 소거 연산이 필요하며 수혈 단위와 수혈 시간 이 비대칭적이다. 또한 제자리 갱신이 불가능하기 때문에 가장 느린 소거 동작을 선행하여 갱신 연산을 수행한다. 기존 호스트 시스템은 읽기 쓰기 연산 만을 수행하기 때문에 플래시 메모리를 바로 사용하기 위해서는 별도의 소프트웨어 중간 계층인 플래시 전환 계층이 필요하다. 그러나 디스크 기반의 B-트리를 플래시 전환 계층 위에서 인덱스로 사용하면 B-트리 특성상 제자리 갱신이 빈번하게 발생하기 때문에 성능 저하가 발생한다. 따라서 플래시 메모리 특성을 고려한 새로운 인덱스 구조가 필요하게 되었다. 플래시 메모리 전용의 인덱스 ${\mu}$-트리와 LSB-트리가 제안 되었지만, ${\mu}$-트리는 페이지 관리의 비효율성, LSB-트리는 임시 노드 관리 추가 비용의 문제점을 가지고 있다. 본 논문에서 ${\mu}$-트리와 LSB 트리의 문제점을 해결하기 위하여 지연 갱신을 이용한 B-트리를 제안한다. 제안하는 인덱스는 변경이 일어나는 노드를 메모리에 적재시켜 데이터 삽입 시 노드 갱신을 지연시키고 노드 분할 없이 데이터의 순차 삽입을 처리하여 검색 및 쓰기 성능을 향상시킨다. 본 논문에서는 관련 연구인 ${\mu}$-트리와 LSB-트리를 수식을 통하여 제안하는 인덱스 구조의 우수성을 보인다.

Keywords

Acknowledgement

Supported by : 한국연구재단