1 |
1
공유 데이터 저장소를 관리하는 방법에 있어서,(a) 쓰기 요청된 데이터를 하나 이상의 데이터 조각으로 분할하는 단계;(b) 상기 분할된 각 데이터 조각을 제 1 해시 테이블을 이용한 제 1차 중복 검사를 통해 사본 없음과 사본 존재 가능으로 분류한 후, 상기 분류된 데이터 조각을 각각 상기 공유 데이터 저장소의 해당 구획에 저장하는 단계;(c) 상기 공유 데이터 저장소에 대한 읽기 또는 쓰기 요청이 없을 때, 제 2 해시 테이블을 이용한 제 2차 중복 검사를 통해, 상기 (b) 단계에서 사본 존재 가능으로 분류된 데이터 조각 중에서 사본이 존재하는 데이터 조각을 선별하는 단계; 및(d) 상기 공유 데이터 저장소에 대한 읽기 또는 쓰기 요청이 없을 때, 상기 (c) 단계에서 상기 사본이 존재하는 것으로 확인된 데이터 조각을 제거하는 단계를 포함하되,상기 제 1 해시 테이블은 상기 공유 데이터 저장소에 저장되어 있는 데이터 조각에 대하여 다 대 일로 대응하는 제 1 키를 저장하고,상기 제 2 해시 테이블은 상기 공유 데이터 저장소에 저장되어 있는 데이터 조각에 대하여 일 대 일로 대응하는 제 2 키를 저장하며,상기 제 1차 중복 검사에 사용되는 해시 방법은 상기 제 2차 중복 검사에 사용되는 해시 방법보다 충돌 확률이 높지만 해시 값 생성 속도가 빠른 것인 공유 데이터 저장소 관리 방법
|
2 |
2
제 1 항에 있어서,상기 공유 데이터 저장소는 하나 또는 다수의 저장소로 구성되며, 둘 이상의 기기에 분산 배치될 수 있는 것인 공유 데이터 저장소 관리 방법
|
3 |
3
제 1 항에 있어서,상기 공유 데이터 저장소는 플래시 메모리 자체 또는 플래시 메모리를 사용한 저장 매체이며, 상기 데이터 조각은 고정 크기를 갖는 페이지 단위로 분할되는 것인 공유 데이터 저장소 관리 방법
|
4 |
4
제 1 항에 있어서,상기 (b) 단계는(b1) 상기 각 분할된 데이터 조각을 제 1차 해시하여, 상기 제 1 해시 테이블에 상기 제 1차 해시 결과와 일치하는 상기 제 1 키(key)가 존재하는지 검색하는 단계; 및(b2) 상기 제 1 키가 존재하지 않는 데이터 조각은 사본 없음으로 분류하고, 상기 제 1 키가 존재하는 데이터 조각은 사본 존재 가능으로 분류하는 단계;를 포함하는 공유 데이터 저장소 관리 방법
|
5 |
5
제 1 항에 있어서,상기 (c) 단계는(c1) 상기 사본 존재 가능으로 분류된 데이터 조각을 제 2차 해시하여, 상기 제 2 해시 테이블에 상기 제 2차 해시 결과와 일치하는 상기 제 2 키가 존재하는지 검색하는 단계; 및(c2) 상기 제 2 키가 존재하지 않는 데이터 조각은 사본 없음으로 확인하고, 상기 제 2 키가 존재하는 데이터 조각은 사본 존재함으로 확인하는 단계; 및(c3) 상기 사본 존재함으로 확인된 데이터 조각에 대해 공유 정보를 갱신하고 가비지 컬렉션 대상으로 설정하는 단계;를 포함하는 공유 데이터 저장소 관리 방법
|
6 |
6
제 1 항에 있어서,상기 제 1차 중복 검사에 사용되는 해시 방법은 상기 제 2차 중복 검사에 사용되는 해시 방법보다 적은 수의 비트로 해시 값을 생성하는 것인 공유 데이터 저장소 관리 방법
|
7 |
7
제 6 항에 있어서,상기 제 1차 해시 방법은 16비트 또는 32비트 CRC이고, 상기 제 2차 해시 방법은 SHA-1 또는 MD5인 공유 데이터 저장소 관리 방법
|
8 |
8
플래시 메모리 가비지 컬렉션 방법에 있어서,(a) 유일한 데이터 페이지와 사본 존재 가능으로 판단된 데이터 페이지를 서로 다른 구획에 나누어 저장하는 단계;(b) 상기 사본 존재 가능으로 판단된 데이터 페이지 중에서 사본이 있는 데이터 페이지를 가비지 컬렉션 대상으로 설정하는 단계; 및(c) 가비지 컬렉션을 수행하는 단계를 포함하되,상기 (a) 단계는 제 1 해시 테이블을 이용한 제 1차 해시를 통해 상기 유일한 데이터 페이지를 선별하고,상기 (b) 단계는 제 2 해시 테이블을 이용한 제 2차 해시를 통해 상기 사본이 있는 데이터 페이지를 선별하며,상기 제 1 해시 테이블은 상기 데이터 페이지에 대하여 다 대 일로 대응하는 제 1 키를 저장하고, 상기 제 1 키가 검색되지 않은 데이터 페이지를 상기 유일한 데이터 페이지로 선별하며,상기 제 2 해시 테이블은 상기 데이터 페이지에 대하여 일 대 일로 대응되는 제 2 키를 저장하고, 상기 제 2 키에 기초하여 상기 사본이 있는 데이터 페이지를 선별하며,상기 제 1차 해시는 상기 제 2차 해시보다 충돌 확률이 높지만 해시 값 생성 속도가 빠른 것인 가비지 컬렉션 방법
|
9 |
9
제 8 항에 있어서,상기 (b) 단계 및 또는 상기 (c) 단계는 상기 플래시 메모리가 유휴 상태에 있을 때 수행되는 것인 가비지 컬렉션 방법
|
10 |
10
공유 데이터 저장소 관리 장치에 있어서,상기 공유 데이터 저장소에 대한 접근 요청을 수신하고, 상기 공유 데이터 저장소를 제어하여 상기 접근 요청을 수행하는 저장소 제어부;가비지 컬렉션(Garbage Collection)을 수행하여 상기 공유 데이터 저장소에 저장된 데이터 조각의 유효성을 보장하는 데이터 유효성 관리부;상기 공유 데이터 저장소에 저장되어 있는 기존 데이터 조각들에 대해 다 대 일로 대응되는 제 1 키를 저장하고 있어, 상기 제 1 키가 검색되지 않는 데이터 조각은 상기 공유 데이터 저장소에 존재하지 않음을 보장하는 제 1 해시 테이블;상기 공유 데이터 저장소에 저장되어 있는 기존 데이터 조각들에 대해 일 대 일로 대응되는 제 2 키를 저장하고 있어, 상기 제 2 키로 상기 기존 데이터 조각을 식별하는 제 2 해시 테이블; 및상기 저장소 제어부가 쓰기 요청된 데이터 조각을 저장하기 전에, 상기 제 1 해시 테이블을 참조하여, 상기 쓰기 요청된 데이터 조각 중 상기 기존 데이터 조각과 중복 가능성이 있는 데이터 조각을 선별하고, 상기 공유 데이터 저장소에 대한 읽기 또는 쓰기 요청이 없을 때, 상기 데이터 유효성 관리부가 가비지 컬렉션을 수행하기 전에, 상기 제 2 해시 테이블을 참조하여, 상기 선별된 데이터 조각 중 상기 기존 데이터 조각과 중복된 데이터를 식별하여, 상기 중복된 데이터를 상기 데이터 유효성 관리부에 의해 제거되어야 할 조각으로 설정함으로써, 상기 공유 데이터 저장소에 저장된 데이터 조각의 유일성을 보장하는 데이터 유일성 관리부를 포함하되,상기 공유 데이터 저장소 제어부는 상기 데이터 유일성 관리부에 의해 상기 중복 가능성이 있는 데이터로 선별된 데이터 조각을 독립된 구획에 저장하는 것인 공유 데이터 저장소 관리 장치
|
11 |
11
제 10 항에 있어서,상기 공유 데이터 저장소는 하나 또는 다수의 저장소로 구성되며, 둘 이상의 기기에 분산 배치될 수 있는 것인 공유 데이터 저장소 관리 장치
|
12 |
12
제 10 항에 있어서,상기 공유 데이터 저장소는 플래시 메모리 자체 또는 플래시 메모리를 사용한 저장 매체이며, 상기 데이터 조각은 고정 크기를 갖는 페이지 단위로 분할되는 것인 공유 데이터 저장소 관리 장치
|
13 |
13
제 10 항에 있어서,상기 제 1 해시 테이블에 사용되는 해시 방법은 상기 제 2 해시 테이블에 사용되는 해시 방법보다 충돌 확률이 높지만 해시 값 생성 속도가 빠른 것인 공유 데이터 저장소 관리 장치
|
14 |
14
제 10 항에 있어서,상기 제 1 해시 테이블에 사용되는 해시 방법은 상기 제 2 해시 테이블에 사용되는 해시 방법보다 적은 수의 비트로 해시 값을 생성하는 것인 공유 데이터 저장소 관리 장치
|