비휘발성 메모리의 PCM+ 트리 데이터베이스화 방법
Database method for PCM+ tree of non-volatile memory
특허 요약
발명의 실시예에 따른 비휘발성 메모리의 PCM+ 트리 데이터베이스화 방법은 노드를 제1 영역과 제2 영역으로 나누는 단계; 및 상기 노드에 특정 키(key) 값을 추가(insert), 검색(retrieve) 및 삭제(delete) 중 어느 하나를 선택하여 수행하는 단계;를 포함하고, 상기 키 값을 추가하는 단계는 상기 노드의 제2 영역이 풀(full) 상태인지를 판단하여 상기 노드의 제2 영역이 풀 상태가 아닐 경우 상기 제2 영역에 해당 키 값을 추가하고, 상기 노드의 제2영역이 풀 상태일 경우, 둘 이상의 노드로 레코드 정보를 분리하여 기록한다.
청구항
번호청구항
1

비휘발성 메모리 데이터베이스화 방법에 있어서,노드를 제1 영역과 제2 영역으로 나누는 단계; 및상기 노드에 특정 키(key) 값을 이용하여 추가(insert), 검색(retrieve) 및 삭제(delete) 중 어느 하나를 수행하는 단계;를 포함하고,상기 수행하는 단계에 있어 상기 추가(insert)를 수행하는 경우,상기 노드의 제2 영역이 풀(full) 상태인지를 판단하여 상기 노드의 제2 영역이 풀 상태가 아닐 경우 상기 제2 영역에 해당 키 값을 추가하고, 상기 노드의 제2영역이 풀 상태일 경우, 레코드 정보를 분리하여 새로운 둘 이상의 노드에 각각 기록하는 것을 특징으로 하며상기 새로운 둘 이상의 노드에 각각 기록하는 것은 제2 영역이 풀 상태인 노드의 분리 지점을 선정하고 상기 분리 지점에 따라 상기 제2 영역이 풀 상태인 노드의 모든 레코드를 분할하여 상기 새로운 둘 이상의 노드로 각각 동시에 이동시킴으로써 이루어지는 것을 특징으로 하는 비휘발성 메모리의 PCM+ 트리 데이터베이스화 방법.

2

제1 항에 있어서,상기 새로운 둘 이상의 노드에 기록되는 키 값을 오름차순 또는 내림차순으로 정렬하는 것을 특징으로 하는 비휘발성 메모리의 PCM+ 트리 데이터베이스화 방법.

3

제1 항에 있어서, 상기 노드가 리프 노드인경우, 상기 리프 노드의 크기를 상기 리프 노드와 연결되는 비 리프 노드의 n(자연수)배로 형성된 노드,인 것을 특징으로 하는 비휘발성 메모리의 PCM+ 트리 데이터베이스화 방법.

4

제1 항 또는 제3 항에 있어서,상기 수행하는 단계에 있어 상기 삭제(delete)를 수행하는 경우, 삭제로 인하여 상기 노드에 기록된 데이터 수가 상기 노드의 최대 필 팩터의 절반에 미달되더라도 다른 노드와 병합하지 않는 것을 특징으로 하는 비휘발성 메모리의 PCM+ 트리 데이터베이스화 방법.

5

제1 항에 있어서,상기 수행하는 단계에 있어 상기 추가(insert)를 수행하거나 상기 삭제(delete)를 수행하는 경우, 키 값의 추가, 삭제로 인하여 변경되는 레코드를 전부 포함시키는 최소크기로 바운딩 박스를 형성하는 단계; 및 리프 노드 레코드의 MBR 값을 비교하고 루트 노드의 MBR 값을 계산하여 상기 계산된 값을 루트 노드에 기록하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리의 PCM+ 트리 데이터베이스화 방법.

6

비휘발성 메모리의 트리 데이터베이스화 방법으로서,상기 비휘발성 메모리는적어도 하나의 비-리프 노드; 및상기 비-리프 노드와 연관되어 데이터 객체를 저장하고, 가변적으로 상기 비-리프 노드의 사이즈의 N배의 크기를 가지는, 적어도 하나의 리프 노드(N은 자연수)를 포함하고,대상 리프 노드가 가득 찬 경우 적어도 하나 이상의 새로운 데이터 객체가 삽입되면, 새로운 둘 이상의 리프 노드를 생성하는 단계; 상기 대상 리프 노드의 데이터 객체들를 분할 인덱스 지점을 기준으로 분할하는 단계; 및분할된 데이터 객체들을 상기 생성된 리프 노드 각각에 한번에 재배열하는 단계를 포함하는,비휘발성 메모리의 트리 데이터 베이스화 방법.

7

제6 항에 있어서, 상기 분할하는 단계는삽입되는 데이터 객체의 수에 따라 상기 분할 인덱스 지점이 설정되는 것인,비휘발성 메모리의 트리 데이터 베이스화 방법.

8

제6 항에 있어서, 상기 리프 노드를 생성하는 단계는최소한의 쓰기 횟수를 가진 비어있는 노드를 생성하는 것인,비휘발성 메모리의 트리 데이터 베이스화 방법.

9

제6 항에 있어서, 상기 비-리프 노드에 저장되는 적어도 하나의 데이터 객체는 상기 비-리프 노드에 연결된 상기 리프 노드 내에 저장된 데이터 객체들의 바운딩 박스의 포인트 값을 저장하는 것인,비휘발성 메모리의 트리 데이터 베이스화 방법.

10

제9 항에 있어서, 상기 바운딩 박스는상기 리프 노드 내에 저장된 데이터 객체들을 전부 포함시키는 최소 크기로 형성되는 것인, 비휘발성 메모리의 트리 데이터 베이스화 방법.

11

제9 항에 있어서, 상기 바운딩 박스의 포인트 값은상기 리프 노드의 MBR(Master Boot Record) 인, 비휘발성 메모리의 트리 데이터 베이스화 방법.

12

제11 항에 있어서,상기 재배열 단계 종료 후에상기 비-리프 노드에 저장된 각각의 MBR을 한번에 업데이트하는 단계를 더 포함하는 것인,비휘발성 메모리의 트리 데이터 베이스화 방법.

13

제6 항에 있어서, 상기 트리 데이터베이스화 방법은상기 리프 노드 내 데이터 객체가 최소 채우기 비율값(fill factor) 이하 개수인 경우, 다른 리프 노드와 병합하지 않는 것인,비휘발성 메모리의 트리 데이터 베이스화 방법.

14

제13 항에 있어서, 적어도 하나 이상의 새로운 데이터 객체가 삽입되는 경우 상기 병합하지 않은 리프 노드에 삽입되는 것인, 비휘발성 메모리의 트리 데이터 베이스화 방법.

15

제6 항에 있어서, 상기 비휘발성 메모리는상 변화 메모리(Phase Change Memory)인, 비휘발성 메모리의 트리 데이터 베이스화 방법.