1 |
1
비휘발성 메모리의 인덱스 구조 관리 방법에 있어서,상기 비휘발성 메모리에 포함된 하나 이상의 버켓들 각각에 저장된 데이터의 중복 비율을 산출하는 단계;상기 산출된 데이터의 중복 비율에 기초하여 상기 하나 이상의 버켓들 각각의 플래그를 결정하는 단계; 및상기 결정된 플래그를 이용하여 상기 하나 이상의 버켓들에 대한 연산을 수행하는 단계를 포함하되,상기 플래그를 결정하는 단계는,상기 하나 이상의 버켓들 각각에 저장된 데이터가 최근에 얼마나 자주 사용되고 있는지를 나타내기 위한 지표로서 상기 산출된 데이터의 중복 비율을 이용하고, 각 버켓의 상기 산출된 중복 비율이 제1 임계값 이하인 경우 제1 플래그, 제1 임계값 초과 및 제2 임계값 이하인 경우 제2 플래그, 제2 임계값 초과인 경우 제3 플래그로 상기 각 버켓의 플래그를 결정하는 단계를 포함하는 인덱스 구조 관리 방법
|
2 |
2
제1항에 있어서,상기 하나 이상의 버켓들에 대한 연산을 수행하는 단계는,상기 결정된 플래그에 따라서 상기 하나 이상의 버켓들에 저장된 레코드를 정방향 탐색 또는 역방향 탐색하는 단계를 포함하는 인덱스 구조 관리 방법
|
3 |
3
비휘발성 메모리의 인덱스 구조 관리 방법에 있어서,상기 비휘발성 메모리에 포함된 하나 이상의 버켓들 각각에 저장된 데이터의 중복 비율을 산출하는 단계;상기 산출된 데이터의 중복 비율에 기초하여 상기 하나 이상의 버켓들 각각의 플래그를 결정하는 단계; 및상기 결정된 플래그를 이용하여 상기 하나 이상의 버켓들에 대한 연산을 수행하는 단계를 포함하되,상기 하나 이상의 버켓들에 대한 연산을 수행하는 단계는,삽입이 요청된 해시 키 값에 대응하는 해시 인덱스를 가진 버켓에 레코드를 삽입 또는 삭제하는 연산 단계를 포함하며, 상기 삽입하는 연산은 상기 결정된 플래그에 따라서 덮어 쓰기 또는 로깅 방식일 수 있고, 상기 삭제하는 연산은 상기 버켓의 플래그에 따라 즉시 삭제 또는 로깅 방식일 수 있는 것을 특징으로 하는 인덱스 구조 관리 방법
|
4 |
4
비휘발성 메모리의 인덱스 구조 관리 방법에 있어서,상기 비휘발성 메모리에 포함된 하나 이상의 버켓들 각각에 저장된 데이터의 중복 비율을 산출하는 단계;상기 산출된 데이터의 중복 비율에 기초하여 상기 하나 이상의 버켓들 각각의 플래그를 결정하는 단계; 및상기 결정된 플래그를 이용하여 상기 하나 이상의 버켓들에 대한 연산을 수행하는 단계를 포함하되,상기 하나 이상의 버켓들에 대한 연산을 수행하는 단계는,삽입이 요청된 해시 키 값에 대응하는 인덱스를 가진 버켓 내에 빈 슬롯이 없다면, 상기 결정된 플래그에 따라서 상기 버켓에 오버플로우 버켓을 차등하여 할당하는 단계를 포함하는 인덱스 구조 관리 방법
|
5 |
5
제4항에 있어서,상기 하나 이상의 버켓들에 대한 연산을 수행하는 단계는,상기 오버플로우 버켓까지 빈 슬롯이 없다면 상기 결정된 플래그에 따라서 상기 버켓의 합병 또는 분할하는 연산 단계를 포함하는 인덱스 구조 관리 방법
|
6 |
6
제5항에 있어서,상기 합병 또는 분할하는 연산을 수행하기 전에,상기 비휘발성 메모리에 포함된 하나 이상의 버켓들 각각에 저장된 데이터의 중복 비율을 갱신하는 단계;상기 갱신된 중복 비율에 기초하여 상기 하나 이상의 버켓들 각각의 플래그를 갱신하는 단계를 더 포함하는 인덱스 구조 관리 방법
|
7 |
7
삭제
|
8 |
8
하나 이상의 버켓들을 저장하는 비휘발성 메모리; 및 상기 하나 이상의 버켓들을 제어하는 제어부를 포함하는 메모리 저장 장치에 있어서,상기 제어부는 상기 하나 이상의 버켓들 중 각 버켓에 저장되어 있는 데이터의 중복 비율을 산출하는 산출부;상기 산출된 데이터 중복 비율에 따라 상기 하나 이상의 버켓들 각각의 플래그를 결정하는 플래그 결정부;상기 결정된 플래그를 기초로 하여 레코드 삭제, 삽입 또는 탐색 연산을 하는 레코드 연산부; 및상기 플래그를 기초로 하여 상기 하나 이상의 버켓들에 관한 연산을 하는 버켓 연산부를 포함하되,상기 플래그 결정부는상기 하나 이상의 버켓들 각각에 저장된 데이터가 최근에 얼마나 자주 사용되고 있는지를 나타내기 위한 지표로서, 상기 산출된 데이터 중복 비율을 이용하고, 각 버켓의 상기 산출된 중복 비율이 제1 임계값 이하인 경우 제1 플래그, 제1 임계값 초과 및 제2 임계값 이하인 경우 제2 플래그, 제2 임계값 초과인 경우 제3 플래그로 상기 각 버켓의 플래그를 결정하는 메모리 저장 장치
|
9 |
9
제8항에 있어서,상기 레코드 연산부는,상기 결정된 플래그에 따라서 상기 하나 이상의 버켓들에 저장된 레코드를 정방향 탐색 또는 역방향 탐색 연산을 하는, 메모리 저장 장치
|
10 |
10
하나 이상의 버켓들을 저장하는 비휘발성 메모리; 및 상기 하나 이상의 버켓들을 제어하는 제어부를 포함하는 메모리 저장 장치에 있어서,상기 제어부는 상기 하나 이상의 버켓들 중 각 버켓에 저장되어 있는 데이터의 중복 비율을 산출하는 산출부;상기 산출된 데이터 중복 비율에 따라 상기 하나 이상의 버켓들 각각의 플래그를 결정하는 플래그 결정부;상기 결정된 플래그를 기초로 하여 레코드 삭제, 삽입 또는 탐색 연산을 하는 레코드 연산부; 및상기 플래그를 기초로 하여 상기 하나 이상의 버켓들에 관한 연산을 하는 버켓 연산부를 포함하되,상기 레코드 연산부는,삽입이 요청된 해시 키 값에 대응하는 해시 인덱스를 가진 버켓에 레코드를 삽입 또는 삭제하는 연산을 하며, 상기 삽입하는 연산은 상기 결정된 플래그에 따라서 덮어 쓰기 또는 로깅 방식일 수 있고, 상기 삭제하는 연산은 상기 버켓의 플래그에 따라 즉시 삭제 또는 로깅 방식일 수 있는 메모리 저장 장치
|
11 |
11
하나 이상의 버켓들을 저장하는 비휘발성 메모리; 및 상기 하나 이상의 버켓들을 제어하는 제어부를 포함하는 메모리 저장 장치에 있어서,상기 제어부는 상기 하나 이상의 버켓들 중 각 버켓에 저장되어 있는 데이터의 중복 비율을 산출하는 산출부;상기 산출된 데이터 중복 비율에 따라 상기 하나 이상의 버켓들 각각의 플래그를 결정하는 플래그 결정부;상기 결정된 플래그를 기초로 하여 레코드 삭제, 삽입 또는 탐색 연산을 하는 레코드 연산부; 및상기 플래그를 기초로 하여 상기 하나 이상의 버켓들에 관한 연산을 하는 버켓 연산부를 포함하되,상기 버켓 연산부는,삽입이 요청된 해시 키 값에 대응하는 인덱스를 가진 버켓 내에 빈 슬롯이 없다면, 레코드를 저장하기 위하여 오버플로우 버켓을 상기 결정된 플래그에 따라서 차등하여 상기 하나 이상의 버켓들에 할당하는, 메모리 저장 장치
|
12 |
12
제11항에 있어서,상기 버켓 연산부는,상기 삽입 요청에 대하여 상기 해시 키 값에 대응하는 인덱스를 가진 버켓에 할당된 오버플로우 버켓에도 빈 슬롯이 없다면, 상기 결정된 플래그에 따라서 상기 버켓의 합병 또는 분할 연산을 하는, 메모리 저장 장치
|
13 |
13
제12항에 있어서,상기 합병 또는 분할하는 연산을 수행하기 전에,상기 산출부는 상기 하나 이상의 버켓들 각각에 저장된 데이터의 중복 비율을 갱신하고,상기 플래그 결정부는 상기 갱신된 중복 비율에 기초하여 상기 하나 이상의 버켓들 각각의 플래그를 갱신하는, 메모리 저장 장치
|
14 |
14
삭제
|