1 |
1
복수의 비휘발성 블록들을 포함하는 데이터베이스와,
상기 블록들 각각에 대하여 데이터 저장 공간 및 로그 저장 공간을 할당하고, 상기 데이터 저장 공간에 저장된 원본 데이터에 대한 업데이트 요구가 있을 때, 상기 원본 데이터가 저장된 상기 데이터 저장 공간과 동일한 블록 내의 상기 로그 저장 공간에 변화 기록을 저장하되, 상기 로그 저장 공간이 부족하면 상기 원본 데이터에 대응되는 로그 저장 공간에 저장된 변화기록들을 상기 원본 데이터에 적용 및 합병하여 새 버전의 데이터를 생성하고, 생성된 새 버전의 데이터를 다른 블록의 데이터 저장 공간에 저장하는 데이터베이스 관리부
를 포함하는 플래시메모리 기반 데이터베이스 관리 시스템
|
2 |
2
제 1항에 있어서,
상기 데이터베이스 관리부는 상기 생성한 새 버전의 데이터를 상기 다른 블록의 데이터 저장 공간에 저장할 때, 이전 블록의 데이터 저장 공간에서 상기 원본 데이터는 더티(dirty)상태로 전환하는 것을 특징으로 하는 플래시메모리 기반 데이터베이스 관리 시스템
|
3 |
3
제 2항에 있어서,
상기 다른 블록은 사용중인 블록들 중에서 빈 데이터 저장 공간이 있는 블록 또는 사용 중이 아닌 블록인 것을 특징으로 하는 플래시메모리 기반 데이터베이스 관리 시스템
|
4 |
4
제 2항에 있어서,
상기 데이터베이스 관리부는 상기 다른 블록의 데이터 저장 공간에 상기 새 버전의 데이터를 저장한 이후에, 상기 이전 블록의 데이터 저장 공간에 저장된 다른 원본 데이터들 중 하나의 원본 데이터에 대한 업데이트 요구가 발생하면, 해당하는 원본 데이터에 대응되는 상기 이전 블록의 로그 저장 공간에 저장된 변화기록들을 상기 하나의 원본 데이터에 적용 및 합병하여 제2의 새 버전의 데이터를 생성하고, 생성된 제2의 새 버전의 데이터를 상기 다른 블록의 데이터 저장 공간에 저장하고, 이전 블록의 데이터 저장 공간에서 상기 하나의 원본 데이터는 더티(dirty)상태로 전환하는 것을 특징으로 하는 플래시메모리 기반 데이터베이스 관리 시스템
|
5 |
5
제 4항에 있어서,
상기 데이터베이스 관리부는 상기 이전 블록의 데이터 저장 공간에 더티(dirty) 상태로 전환된 원본 데이터의 수가 일정 개수 이상이면 해당 블록을 소거하는 것을 특징으로 하는 플래시메모리 기반 데이터베이스 관리 시스템
|
6 |
6
제 4항에 있어서,
상기 데이터베이스 관리부는 상기 새 버전의 데이터에 대한 업데이트 요구 발생 시, 상기 새 버전의 데이터는 그대로 유지하고 상기 새 버전의 데이터에 관련된 변화 기록을 상기 새 버전의 데이터가 저장된 데이터 저장 공간과 동일한 블록 내의 로그 저장 공간에 저장하는 것을 특징으로 하는 플래시메모리 기반 데이터베이스 관리 시스템
|
7 |
7
제 1항에 있어서,
상기 데이터베이스 관리 시스템은
상기 원본 데이터 가운데 연산 장치에 의해 엑세스된 원본 데이터를 인 메모리(in-memory) 데이터로 저장하는 데이터베이스 버퍼;
상기 인 메모리 데이터에 대한 상기 연산 장치의 업데이트 요구가 있으면 상기 인 메모리 데이터를 업데이트하여 상기 데이터베이스 버퍼에 저장하고, 상기 업데이트된 인 메모리 데이터에 관한 업데이트 기록을 상기 데이터베이스 버퍼의 다른 부분에 저장하는 버퍼 관리부
를 더 포함하는 것을 특징으로 하는 플래시메모리 기반 데이터베이스 관리 시스템
|
8 |
8
임의의 블록 내의 데이터 저장 공간에 저장된 원본 데이터에 대한 업데이트 요구가 발생하면, 해당 원본 데이터가 저장된 데이터 저장 공간과 동일한 블록 내의 로그 저장 공간에서 오버플로우(overflow)가 발생하는지를 판단하는 제1단계;
상기 로그 저장 공간에서 오버플로우가 발생하면, 업데이트가 요구된 원본 데이터에 대응하는 모든 변화 기록들을 상기 원본 데이터에 적용 및 합병하여 새 버전의 데이터를 생성하는 제2단계;
상기 생성된 새 버전의 데이터를 다른 블록의 데이터 저장 공간에 저장하는 제3단계
를 포함하는 페이지 합병 방법
|
9 |
9
제 8항에 있어서, 상기 제1단계에서
상기 오버플로우가 발생하지 않으면, 상기 업데이트가 요구된 원본 데이터는 그대로 유지하고 상기 원본 데이터에 해당하는 변화 기록을 상기 원본 데이터가 저장된 데이터 저장 공간과 동일한 블록 내의 로그 저장 공간에 저장하는 것을 특징으로 하는 페이지 합병 방법
|
10 |
10
제 8항에 있어서, 상기 제3단계는,
사용중인 블록들 중에서 상기 새 버전의 데이터를 저장할 수 있는 빈 데이터 저장 공간이 있는지를 판단하는 단계와,
빈 데이터 저장 공간이 있는 사용중인 블록이 있으면 해당 블록의 데이터 저장 공간에 상기 새 버전의 데이터를 저장하고, 빈 데이터 저장 공간이 없으면 사용되고 있지 않은 빈 블록의 데이터 저장 공간에 상기 새 버전의 데이터를 저장하는 단계
를 포함하는 페이지 합병 방법
|
11 |
11
제 8항에 있어서, 상기 제3단계 이후,
상기 다른 블록에 저장된 새로운 버전의 데이터와 대응되는 이전 블록의 원본 데이터는 더 이상 사용하지 않는 더티(dirty) 상태로 전환하는 것을 특징으로 하는 페이지 합병 방법
|
12 |
12
제 11항에 있어서, 상기 제3단계 이후,
상기 이전 블록의 데이터 저장 공간에 저장된 다른 원본 데이터들 중 하나의 원본 데이터에 대한 업데이트 요구가 발생하면, 해당하는 원본 데이터에 대응되는 상기 이전 블록의 로그 저장 공간에 저장된 변화기록들을 상기 하나의 원본 데이터에 적용 및 합병하여 제2의 새 버전의 데이터를 생성하고, 생성된 제2의 새 버전의 데이터를 상기 다른 블록의 데이터 저장 공간에 저장한 후, 이전 블록의 데이터 저장 공간에서 상기 하나의 원본 데이터는 더티(dirty) 상태로 전환하는 것을 특징으로 하는 페이지 합병 방법
|
13 |
13
제 12항에 있어서,
상기 이전 블록의 데이터 저장 공간에 더티(dirty) 상태로 전환된 원본 데이터의 수가 일정 개수 이상이면 해당 블록을 소거하는 것을 특징으로 하는 페이지 합병 방법
|
14 |
14
제 11항에 있어서, 상기 제3단계 이후,
상기 다른 블록의 데이터 저장 공간에 저장된 상기 새 버전의 데이터에 대한 업데이트 요구가 발생하면, 상기 새 버전의 데이터는 그대로 유지하고 상기 새 버전의 데이터에 관련된 변화 기록을 상기 새 버전의 데이터가 저장된 데이터 저장 공간과 동일한 블록 내의 로그 저장 공간에 저장하는 것을 특징으로 하는 페이지 합병 방법
|