검색 상세

플래시 메모리를 위한 효율적인 B+ 트리 저장 알고리즘

An Efficient B+ Tree Storing Algorithm for Flash Memory

초록/요약

플래시 메모리는 임베디드 시스템에서 필요한 특성을 고루 가진 저장장치로써, 최근 가장 주목을 받고 있다. 따라서 기존의 장치에서 개발된 저장 기법들을 플래시 메모리 상에서 적용하려는 시도가 많이 이루어지고 있다. 특히 현재 B+트리는 하드디스크 기반의 DBMS (Database Management System)에서 가장 많이 쓰이는 인덱싱 기법 중의 하나이며, 플래시 메모리로 적용될 수 있다. 하지만, B+트리는 빈번한 입력과 삭제가 발생하는데, 덮어쓰기(overwrite)가 가능한 하드디스크와 달리 그렇지 않은 플래시 메모리에서는 성능저하가 발생하게 된다. 이러한 성능저하를 최소화 할 수 있는 FTL (Flash Translation Layer) 계층에서 관리가 필요하다. 본 논문에서는 FTL 계층 상위 단계에서 B+트리의 노드 삽입과 삭제에서 발생하는 플래시 메모리 쓰기 지우기 연산을 최소하고, 노드와 페이지의 관계를 1 : 2로 하는 생성원리를 이용한 저장시점을 기술하도록 한다. 따라서 쓰기 지우기 연산을 효율적으로 관리함으로써, 하드디스크와 동일한 성능을 나타내는 플래시 기반의 B+트리 저장 방법을 제안한다.

more

목차

1. 서 론 1

2. 플래시 메모리와 B+ 트리의 특징 및 용어정리 2
󰋼 2.1. 플래시 메모리의 특징 2
󰋼 2.2. B+ 트리의 특징 및 용어정리 3

3. 문제 인식과 관련 연구 4
󰋼 3.1. 문제 인식 4
󰋼 3.2. 관련 연구 4
󰋼 3.2.1 유보버퍼 4
󰋼 3.2.2 쓰기 패턴 변화 5
󰋼 3.2.3 로그 기반 관리 기법 6
󰋼 3.2.4 고정 페이지 레이아웃 7

4. BLUF (B+ Tree Layer Using Formation) 8
󰋼 4.1. PR-버퍼(Pre-Record Buffer) 8
󰋼 4.2. 생성원리에 따른 저장 9
󰋼 4.3. 중간 노드 테이블 10
󰋼 4.4. 버킷 노드 10

5. BLUF 알고리즘 12
󰋼 5.1. 삽입 연산 12
󰋼 5.2. 읽기 연산 13
󰋼 5.3. 지우기 연산 14
6. 성능 평가 방법 및 평가 결과 14
󰋼 6.1. 성능 평가 방법 14
󰋼 6.2. 성능 평가 결과 15
7. 결론 16

8. 참고문헌 17


그림 & 표 차례

󰋼 그림 1 B+트리 구조 3
󰋼 그림 2 노드(Node) 구성요소 3
󰋼 그림 3 BFTL 5
󰋼 그림 4 LBS 트리 예제 6
󰋼 그림 5 μ-트리 예제 8
󰋼 그림 6 3,8,15,6,5가 입력되는 상황 9
󰋼 그림 7 3,8,15,6,5가 입력되는 경우 10
󰋼 그림 8 2,10,12,1,20,11이 계속해서 입력되는 경우 11
󰋼 그림 9 Bucket Node 사용 12
󰋼 그림 10 알고리즘별 전체 수행 시간 15
󰋼 그림 11 알고리즘별 쓰기 횟수 15
󰋼 그림 12 PR-버퍼 크기에 따른 16

󰋼 표 1 하드 디스크와 NAND 플래시 메모리 속도 비교[1] 2
󰋼 표 2 삽입 연산 알고리즘 12
󰋼 표 3 읽기 연산 알고리즘 13
󰋼 표 4 실험 환경 14

more