1 |
1
전자 장치에 있어서,시작 데이터와 길이로 표현되는 범위 데이터인 익스텐트(extent)의 데이터에 대한 해시 값을 저장하는 해시 버킷을 포함하는 해시 파일 및 상기 익스텐트를 저장하는 데이터베이스; 및상기 데이터베이스를 제어하는 프로세서를 포함하고,상기 프로세서는,상기 익스텐트의 데이터에 대응되는 이진 트리를 이용하여 상기 익스텐트를 서브 익스텐트들로 분할하고,상기 서브 익스텐트들 각각의 시작 데이터에 대한 해시 값을 상기 해시 파일의 상기 해시 버킷에 저장하는, 전자 장치
|
2 |
2
제1항에 있어서,상기 프로세서는,서브 익스텐트들로 분할시킬 대상 익스텐트를 결정하고,상기 대상 익스텐트의 시작 데이터 및 상기 대상 익스텐트의 길이에 기초하여 서브 익스텐트의 시작 데이터 및 상기 서브 익스텐트의 길이를 결정하는, 전자 장치
|
3 |
3
제2항에 있어서,상기 대상 익스텐트는,상기 익스텐트에서 분할된 서브 익스텐트들을 제외한 나머지 익스텐트인, 전자 장치
|
4 |
4
제3항에 있어서,상기 프로세서는,상기 대상 익스텐트의 시작 데이터가 홀수인지 여부를 결정하고,상기 대상 익스텐트의 시작 데이터가 홀수인 경우, 상기 서브 익스텐트의 길이를 1로 결정하는, 전자 장치
|
5 |
5
제4항에 있어서,상기 프로세서는, 상기 대상 익스텐트의 시작 데이터가 홀수가 아닌 경우, 상기 대상 익스텐트의 시작 데이터가 0인지 여부를 결정하고,상기 대상 익스텐트의 시작 데이터가 0인 경우, 상기 대상 익스텐트의 길이를 넘지 않는 최대 2의 거듭 제곱을 상기 서브 익스텐트의 길이로 결정하는, 전자 장치
|
6 |
6
제5항에 있어서,상기 프로세서는,상기 대상 익스텐트의 시작 데이터가 0이 아닌 경우, 상기 대상 익스텐트의 시작 데이터의 비트 값의 후행 제로 비트들(trailing zero bits)의 수에 대응되는 후보 이진 트리의 높이를 결정하고,상기 대상 익스텐트에 대해 결정된 후보 이진 트리의 높이에 기초하여 후보 서브 익스텐트 길이를 결정하고,상기 후보 서브 익스텐트 길이와 상기 대상 익스텐트의 길이 중 작은 길이를 넘지 않는 최대 2의 거듭 제곱을 상기 서브 익스텐트의 길이로 결정하는, 전자 장치
|
7 |
7
제6항에 있어서,상기 프로세서는,1의 비트 값을 왼쪽으로 상기 후보 이진 트리의 높이만큼 쉬프트한 값을 상기 후보 서브 익스텐트의 길이로 결정하는, 전자 장치
|
8 |
8
제1항에 있어서,상기 데이터베이스에 저장된 데이터를 읽을 경우, 상기 프로세서는,타겟 데이터를 결정하고,상기 타겟 데이터를 포함하는 타겟 서브 익스텐트를 검색하는, 전자 장치
|
9 |
9
제8항에 있어서,상기 프로세서는,상기 타겟 서브 익스텐트 내에서 상기 타겟 데이터를 검색하는, 전자 장치
|
10 |
10
제9항에 있어서,상기 프로세서는,상기 타겟 데이터에 대응되는 키 데이터를 결정하고,상기 해시 파일에서 상기 키 데이터에 대응되는 해시 버킷이 상기 타겟 서브 익스텐트에 대한 해시 값을 저장하는 타겟 해시 버킷인지 여부를 결정하고,상기 키 데이터에 대응되는 해시 버킷이 상기 타겟 해시 버킷이 아닌 경우, 상기 키 데이터의 비트 값의 가장 낮은 자리수의 1을 0으로 대체하고,상기 대체된 키 데이터의 비트 값에 대응되는 해시 버킷이 상기 타겟 해시 버킷인지 여부를 결정하는, 전자 장치
|
11 |
11
범위 데이터 저장 방법에 있어서,시작 데이터와 길이로 표현되는 범위 데이터인 익스텐트(extent)의 데이터에 대응되는 이진 트리를 이용하여 상기 익스텐트를 서브 익스텐트들로 분할하는 동작; 및상기 서브 익스텐트들 각각의 시작 데이터에 대한 해시 값을 해시 파일의 해시 버킷에 저장하는 동작을 포함하는, 범위 데이터 저장 방법
|
12 |
12
제11항에 있어서,상기 분할하는 동작은,서브 익스텐트들로 분할시킬 대상 익스텐트를 결정하는 동작; 및상기 대상 익스텐트의 시작 데이터 및 상기 대상 익스텐트의 길이에 기초하여 서브 익스텐트의 시작 데이터 및 상기 서브 익스텐트의 길이를 결정하는 동작을 포함하는, 범위 데이터 저장 방법
|
13 |
13
제12항에 있어서,상기 대상 익스텐트는,상기 익스텐트에서 분할된 서브 익스텐트들을 제외한 나머지 익스텐트인, 범위 데이터 저장 방법
|
14 |
14
제13항에 있어서,상기 분할하는 동작은,상기 대상 익스텐트의 시작 데이터가 홀수인지 여부를 결정하는 동작; 및상기 대상 익스텐트의 시작 데이터가 홀수인 경우, 상기 서브 익스텐트의 길이를 1로 결정하는 동작을 더 포함하는, 범위 데이터 저장 방법
|
15 |
15
제14항에 있어서,상기 분할하는 동작은,상기 대상 익스텐트의 시작 데이터가 홀수가 아닌 경우, 상기 대상 익스텐트의 시작 데이터가 0인지 여부를 결정하는 동작; 및상기 대상 익스텐트의 시작 데이터가 0인 경우, 상기 대상 익스텐트의 길이를 넘지 않는 최대 2의 거듭 제곱을 상기 서브 익스텐트의 길이로 결정하는 동작을 더 포함하는, 범위 데이터 저장 방법
|
16 |
16
제15항에 있어서,상기 분할하는 동작은,상기 대상 익스텐트의 시작 데이터가 0이 아닌 경우, 상기 대상 익스텐트의 시작 데이터의 비트 값의 후행 제로 비트들(trailing zero bits)의 수에 대응되는 이진 트리의 높이를 결정하는 동작;상기 대상 익스텐트에 대해 결정된 이진 트리의 높이에 기초하여 후보 서브 익스텐트 길이를 결정하는 동작; 및상기 후보 서브 익스텐트 길이와 상기 대상 익스텐트의 길이 중 작은 길이를 넘지 않는 최대 2의 거듭 제곱을 상기 서브 익스텐트의 길이로 결정하는 동작을 더 포함하는, 범위 데이터 저장 방법
|
17 |
17
제16항에 있어서,상기 후보 서브 익스텐트의 길이를 결정하는 동작은,1의 비트 값을 왼쪽으로 상기 이진 트리의 높이만큼 쉬프트한 값을 상기 후보 서브 익스텐트의 길이로 결정하는 동작을 포함하는, 범위 데이터 저장 방법
|
18 |
18
제11항에 있어서,타겟 데이터를 결정하는 동작; 및상기 타겟 데이터를 포함하는 타겟 서브 익스텐트를 검색하는 동작을 더 포함하는, 범위 데이터 저장 방법
|
19 |
19
제18항에 있어서,상기 타겟 서브 익스텐트 내에서 상기 타겟 데이터를 검색하는 동작을 더 포함하는, 범위 데이터 저장 방법
|
20 |
20
제11항 내지 제19항 중 어느 한 항의 방법을 실행하는 컴퓨터 프로그램을 저장하는 컴퓨터 판독가능 기록매체
|