1 |
1
호스트의 운영체제가, 제1트랜잭션이 커밋 되기 이전에 가비지 콜렉션을 시작하고 상기 제1트랜잭션을 중단하는 단계;상기 운영체제가, 상기 가비지 콜렉션에 의해 선택된 희생 블록의 데이터를 대상 블록으로 마이그레이션하는 가비지 콜렉션 실행단계; 및상기 운영체제가, 상기 가비지 콜렉션이 종료되면 상기 제1트랜잭션을 재개하는 단계;를 포함하며,만일 상기 희생 블록의 데이터가 상기 중단된 제1트랜잭션에 의해 페이지 캐시에 피닝 되어 스토리지에 저장된 제1데이터의 올드 데이터라면, 상기 마이그레이션은 쉐도우 페이지 캐시를 이용하여 실행되며,상기 쉐도우 페이지 캐시는 상기 페이지 캐시와는 구분되는 다른 캐시인, 가비지 콜렉션 방법
|
2 |
2
제1항에 있어서,상기 가비지 콜렉션 실행단계는,상기 운영체제가, 상기 희생 블록의 데이터를 상기 쉐도우 페이지 캐시를 이용하여 상기 대상 블록으로 마이그레이션 하는 단계;를 포함하는,가비지 콜렉션 방법
|
3 |
3
제1항에 있어서,상기 가비지 콜렉션 실행단계는,상기 마이그레이션 하는 단계 이후에, 상기 운영체제가, 상기 스토리지에 저장되어 있는 상기 희생 블록의 파일 매핑정보를 상기 쉐도우 페이지 캐시에 캐싱하는 단계;상기 운영체제가, 상기 쉐도우 페이지 캐시에 캐싱된 상기 파일 매핑정보를 상기 대상 블록의 위치를 갖는 파일 매핑정보로 갱신하는 단계; 및상기 운영체제가, 상기 쉐도우 페이지 캐시에 저장된 상기 갱신된 파일 매핑정보를 상기 스토리지에게 플러시 하는 단계;를 포함하는,가비지 콜렉션 방법
|
4 |
4
제3항에 있어서,만일 상기 희생 블록의 데이터가 상기 중단된 제1트랜잭션에 의해 페이지 캐시에 피닝된 상기 제1데이터의 올드 데이터라면,상기 가비지 콜렉션 실행단계는, 상기 운영체제가, 상기 갱신된 파일 매핑정보를 페이지 캐시에 피닝 하는 단계를 더 포함하는,가비지 콜렉션 방법
|
5 |
5
제1항에 있어서,상기 가비지 콜렉션에 의해 선택된 희생 블록의 데이터가 상기 중단된 제1트랜잭션에 의해 스토리지에 저장된 상기 제1데이터의 올드 데이터라면, 상기 제1트랜잭션이 중단되기 이전에, 상기 운영체제가, 어플리케이션에 의해 지정된 상기 제1데이터를 상기 페이지 캐시의 제1페이지에 피닝 하는 단계;상기 운영체제가, 상기 어플리케이션에 의해 지정된 제2데이터를 피닝 할 공간이 상기 페이지 캐시에 존재하는지 판단하며, 상기 페이지 캐시에 상기 제2데이터를 피닝 할 공간이 없다고 판단되면, 상기 제1데이터를 상기 스토리지에 저장하고, 상기 제1페이지에 상기 제2데이터를 피닝 하는 단계;를 더 포함하는,가비지 콜렉션 방법
|
6 |
6
제1항에 있어서, 상기 운영체제의 파일시스템은 로그 구조 파일시스템인, 가비지 콜렉션 방법
|
7 |
7
제1항에 있어서, 상기 가비지 콜렉션은 상기 호스트와 구분되는 별도의 스토리지에 대하여 실행되는 것이며,상기 희생 블록 및 상기 대상 블록은 상기 가비지 콜렉션에 의해 선택된 상기 스토리지 내에 존재하는 블록들인, 가비지 콜렉션 방법
|
8 |
8
메모리; 및 운영체제를 실행하는 처리부;를 포함하는 호스트로서,상기 운영체제가, 제1트랜잭션이 커밋 되기 이전에 가비지 콜렉션을 시작하고 상기 제1트랜잭션을 중단하는 단계;상기 가비지 콜렉션에 의해 선택된 희생 블록의 데이터를 대상 블록으로 마이그레이션하는 가비지 콜렉션 실행단계; 및상기 가비지 콜렉션이 종료되면 상기 제1트랜잭션을 재개하는 단계;를 실행하도록 되어 있고,만일 상기 희생 블록의 데이터가 상기 중단된 제1트랜잭션에 의해 페이지 캐시에 피닝 되어 스토리지에 저장된 제1데이터(ex: A')의 올드 데이터(ex: A)라면, 상기 마이그레이션은 쉐도우 페이지 캐시를 이용하여 실행되며,상기 쉐도우 페이지 캐시는 상기 페이지 캐시와는 구분되는 다른 캐시인, 호스트
|
9 |
9
제8항에 있어서,상기 가비지 콜렉션 실행단계는,상기 운영체제가, 상기 희생 블록의 데이터를 상기 쉐도우 페이지 캐시를 이용하여 상기 대상 블록으로 마이그레이션하는 단계;를 포함하는,호스트
|
10 |
10
제8항에 있어서,상기 가비지 콜렉션 실행단계는,상기 운영체제가, 상기 스토리지에 저장되어 있는 상기 희생 블록의 파일 매핑정보를 상기 쉐도우 페이지 캐시에 캐싱하는 단계;상기 운영체제가, 상기 쉐도우 페이지 캐시에 캐싱된 상기 파일 매핑정보를 상기 대상 블록의 위치를 갖는 파일 매핑정보로 갱신하는 단계; 및상기 운영체제가, 상기 쉐도우 페이지 캐시에 저장된 상기 갱신된 파일 매핑정보를 상기 스토리지에게 플러시 하는 단계;를 포함하는,호스트
|
11 |
11
제10항에 있어서,만일 상기 희생 블록의 데이터가 상기 중단된 제1트랜잭션에 의해 페이지 캐시에 피닝된 상기 제1데이터의 올드 데이터라면,상기 가비지 콜렉션 실행단계는, 상기 운영체제가, 상기 갱신된 파일정보를 페이지 캐시에 피닝 하는 단계를 더 포함하는,호스트
|
12 |
12
제8항에 있어서,상기 가비지 콜렉션에 의해 선택된 희생 블록의 데이터가 상기 중단된 제1트랜잭션에 의해 스토리지에 저장된 상기 제1데이터의 올드 데이터라면, 상기 제1트랜잭션이 중단되기 이전에, 상기 운영체제가, 어플리케이션에 의해 지정된 상기 제1데이터를 상기 페이지 캐시의 제1페이지에 피닝 하는 단계; 및상기 어플리케이션에 의해 지정된 제2데이터를 피닝 할 공간이 상기 페이지 캐시에 존재하는지 판단하며, 상기 페이지 캐시에 상기 제2데이터를 피닝 할 공간이 없다고 판단되면, 상기 제1데이터를 상기 스토리지에 저장하고, 상기 제1페이지에 상기 제2데이터를 피닝 하는 단계;를 더 실행하도록 되어 있는,호스트
|
13 |
13
제7항에 있어서, 상기 쉐도우 페이지 캐시 및 상기 페이지 캐시는 상기 메모리에 포함된 것이며, 상기 메모리를 상기 운영체제가 관리하는 휘발성 메모리인, 호스트
|
14 |
14
호스트의 운영체제로 하여금,제1트랜잭션이 커밋 되기 이전에 가비지 콜렉션을 시작하고 상기 제1트랜잭션을 중단하는 단계;상기 가비지 콜렉션에 의해 선택된 희생 블록의 데이터를 대상 블록으로 마이그레이션하는 가비지 콜렉션 실행단계; 및상기 가비지 콜렉션이 종료되면 상기 제1트랜잭션을 재개하는 단계;를 실행하도록 하는 명령어들을 포함하는 소프트웨어 프로그램이 기록된,컴퓨터로 읽을 수 있는 비휘발성 저장매체
|
15 |
15
제14항에 있어서,상기 가비지 콜렉션 실행단계는,상기 운영체제가, 상기 스토리지에 저장되어 있는 상기 희생 블록의 파일 매핑정보를 상기 쉐도우 페이지 캐시에 캐싱하는 단계;상기 운영체제가, 상기 쉐도우 페이지 캐시에 캐싱된 상기 파일 매핑정보를 상기 대상 블록의 위치를 갖는 파일 매핑정보로 갱신하는 단계; 및상기 운영체제가, 상기 쉐도우 페이지 캐시에 저장된 상기 갱신된 파일 매핑정보를 상기 스토리지에게 플러시 하는 단계;를 포함하는,컴퓨터로 읽을 수 있는 비휘발성 저장매체
|