1 |
1
하나 이상의 프로세서에 의하여 수행되는 비휘발성 메모리를 이용한 로깅 방법에 있어서,데이터베이스에 저장된 페이지를 휘발성 메모리로 불러오는 단계;상기 휘발성 메모리로 불러온 상기 페이지의 일부 데이터가 변경된 더티 페이지(dirty page)의 발생 여부를 체크하는 단계;상기 더티 페이지의 변경된 부분에 대한 정보를 비휘발성 메모리에 로깅(logging)하는 단계; 및상기 비휘발성 메모리에 상기 로깅된 정보에 기초하여 상기 데이터베이스에 저장된 페이지를 수정하는 단계를 포함하고,상기 더티 페이지의 발생 여부를 체크하는 단계는,상기 페이지의 자유 공간(free space)을 기준으로 상기 페이지를 윗부분과 아랫부분으로 나누어 상기 윗부분과 상기 아랫부분에 대하여 변경된 데이터를 체크하는 단계를 포함하는 비휘발성 메모리를 이용한 로깅 방법
|
2 |
2
삭제
|
3 |
3
제1항에 있어서,상기 윗부분은 셀 포인터(cell pointer)에 대한 정보를 포함하고,상기 아랫부분은 셀 컨텐츠(cell content)에 대한 정보를 포함하는비휘발성 메모리를 이용한 로깅 방법
|
4 |
4
제1항에 있어서,상기 더티 페이지의 변경된 부분에 대한 정보를 비휘발성 메모리에 로깅하는 단계는,상기 더티 페이지에서 상기 변경된 데이터의 위치를 로깅하는 단계; 및 상기 변경된 데이터를 로깅하는 단계를 포함하는비휘발성 메모리를 이용한 로깅 방법
|
5 |
5
제4항에 있어서,상기 더티 페이지에서 상기 변경된 데이터의 위치를 로깅하는 단계는,상기 더티 페이지의 윗부분에서 변경된 데이터의 시작 위치와 상기 시작 위치로부터 변경된 부분의 제1 크기 및 상기 아랫부분에서 변경된 데이터의 시작 위치와 상기 시작 위치로부터 변경된 부분의 제2 크기를 로깅하는 단계를 포함하는비휘발성 메모리를 이용한 로깅 방법
|
6 |
6
제5항에 있어서,상기 변경된 데이터를 로깅하는 단계는,상기 제1 크기 및 상기 제2 크기를 합하여 상기 변경된 데이터를 로깅할 영역을 할당하는 단계를 포함하는비휘발성 메모리를 이용한 로깅 방법
|
7 |
7
제1항에 있어서,상기 더티 페이지에 대한 정보를 비휘발성 메모리에 로깅하는 단계는,상기 더티 페이지에 대한 정보를 바이트 단위로 로깅하는비휘발성 메모리를 이용한 로깅 방법
|
8 |
8
제1항에 있어서,상기 더티 페이지에 대한 정보를 비휘발성 메모리에 로깅하는 단계는,커널 공간으로부터 상기 비휘발성 메모리로 8KBytes 이상의 동적 메모리 블럭을 할당하는 단계; 및상기 동적 메모리 블럭에 상기 더티 페이지에 대한 정보를 로깅하는 단계를 포함하는 비휘발성 메모리를 이용한 로깅 방법
|
9 |
9
제1항에 있어서,상기 더티 페이지에 대한 정보를 비휘발성 메모리에 로깅하는 단계는,커널 공간으로부터 상기 비휘발성 메모리로 동적 메모리 블럭을 할당하는 단계;상기 동적 메모리 블럭에 대하여 상기 동적 메모리 블럭의 주소가 저장되지 않은 상태임을 나타내는 플래그를 인덱싱하는 단계; 및 상기 동적 메모리 블럭에 상기 더티 페이지에 대한 정보를 로깅하는 경우 상기 동적 메모리 블럭의 주소를 상기 비휘발성 메모리에 저장하고, 상기 동적 메모리 블럭에 대하여 상기 동적 메모리 블럭의 주소가 저장된 상태임을 나타내는 플래그를 인덱싱하는 단계를 포함하는비휘발성 메모리를 이용한 로깅 방법
|
10 |
10
제1항에 있어서,상기 더티 페이지에 대한 정보를 비휘발성 메모리에 로깅하는 단계는,메모리 쓰기 연산을 연속 수행하여 상기 더티 페이지에 대한 정보를 캐시에 불러오는 단계;메모리 베리어 연산(memory barrier instruction)을 수행하는 단계; 및 캐시 라인 플러시(cache line flush) 연산을 연속 수행하여 상기 더티 페이지에 대한 정보를 상기 비휘발성 메모리에 로깅하는 단계를 포함하는 비휘발성 메모리를 이용한 로깅 방법
|
11 |
11
제1항에 있어서,상기 더티 페이지에 대한 정보를 비휘발성 메모리에 로깅하는 단계는,메모리 쓰기 연산을 연속 수행하여 상기 더티 페이지에 대한 정보를 캐시에 불러오는 단계;메모리 베리어 연산(memory barrier instruction)을 수행하는 단계; 및 상기 캐시에 불러온 상기 더티 페이지에 대한 정보에 대해 체크섬 바이트(checksum byte) 연산을 수행하여 구해진 상기 더티 페이지에 대한 정보의 크기를 상기 비휘발성 메모리에 로깅하는 단계를 포함하고,상기 데이터베이스에 저장된 페이지를 수정하는 단계는,상기 비휘발성 메모리에 저장된 상기 더티 페이지에 대한 정보의 크기와 상기 체크섬 바이트 연산에 의해 구해진 상기 더티 페이지에 대한 정보의 데이터 크기가 같은 경우 상기 로깅된 정보에 기초하여 상기 데이터베이스에 저장된 페이지를 수정하는 단계를 포함하는비휘발성 메모리를 이용한 로깅 방법
|
12 |
12
삭제
|
13 |
13
제1항, 제3항 내지 제11항 중 어느 한 항에 따른 방법을 프로세서가 수행하도록 하는 컴퓨터 판독 가능 기록매체에 저장된 컴퓨터 프로그램
|
14 |
14
제1항, 제3항 내지 제11항 중 어느 한 항에 따른 방법을 프로세서가 수행하게 하는 명령어를 포함하는 프로그램이 기록된 컴퓨터 판독 가능 기록매체
|