1 |
1
RAID(redundant array of independent disks)에서 패리티 데이터(parity data)를 유지하기 위한 방법으로서,RAID 제어 모듈에서, 상기 RAID로의 데이터의 유닛을 기록하기 위한 요청을 수신하는 단계 - 상기 RAID는 데이터의 현재 유닛과 연관된 데이터 저장 부분을 가지고, 상기 RAID는 현재 패리티 데이터와 연관된 패리티 데이터 저장 부분을 가짐 - ;상기 RAID로의 상기 데이터의 유닛을 기록하기 위한 상기 요청에 응답하여,상기 데이터의 유닛 및 상기 데이터의 현재 유닛 사이의 제1 XOR(exclusive-or) 동작에 적어도 부분적으로 기초하여 일시적 데이터를 결정하는 단계;상기 일시적 데이터 및 상기 현재 패리티 데이터 사이의 제2 XOR 동작에 적어도 부분적으로 기초하여 새로운 패리티 데이터를 결정하는 단계;상기 새로운 패리티 데이터의 임의의 하나 이상의 부분이 상기 현재 패리티 데이터의 하나 이상의 부분의 중복인지 결정하도록 상기 새로운 패리티 데이터를 중복 제거(de-duplicating)하는 단계; 및상기 새로운 패리티 데이터를 중복 제거하는 단계 이전에 상기 새로운 패리티 데이터를 청킹(chunking)하는 단계를 포함하고,상기 새로운 패리티 데이터를 중복 제거하는 단계는, 상기 새로운 패리티 데이터의 각각의 청크에 대하여, 상기 청크에 대응하는 제1 해시 값을 결정하는 단계; 상기 제1 해시 값을 해시 테이블(hash table)에 저장된 제2 해시 값에 비교하는 단계 - 상기 해시 테이블에 저장된 상기 제2 해시 값은 상기 현재 패리티 데이터의 청크에 대응함 - ; 및 상기 비교에 기초하여, 상기 청크를 상기 현재 패리티 데이터의 하나 이상의 청크의 중복이 아닌 것으로 식별하는 단계 를 포함하고,상기 해시 테이블은 상기 현재 패리티 데이터의 각각의 청크에 대한 지표(indicator)를 포함하고, 상기 지표는 상기 RAID의 상기 패리티 데이터 저장 부분에서 상기 청크의 위치와 연관되며,상기 새로운 패리티 데이터를 중복 제거하는 단계는, 상기 비교에 기초하여, 상기 현재 패리티 데이터의 하나 이상의 청크의 중복인 상기 새로운 패리티 데이터의 하나 이상의 청크를 식별하는 단계; 상기 현재 패리티 데이터의 하나 이상의 청크의 중복이 아니라고 식별된 상기 새로운 패리티 데이터의 상기 하나 이상의 청크에 대한 상기 해시 테이블에서 상기 제1 해시 값을 업데이트하는 단계; 및 상기 현재 패리티 데이터의 하나 이상의 청크의 중복이라고 식별된 상기 새로운 패리티 데이터의 상기 하나 이상의 청크에 대한 상기 해시 테이블에서 상기 지표를 업데이트하는 단계 를 더 포함하며,상기 해시 테이블에서 상기 지표를 업데이트하는 단계는 상기 현재 패리티 데이터의 하나 이상의 청크의 중복이 아니라고 식별된 상기 새로운 패리티 데이터의 상기 청크를 상기 RAID의 상기 패리티 데이터 저장 부분으로 기록하는 단계에 적어도 부분적으로 기초하는, 방법
|
2 |
2
제1항에 있어서,중복이 아니라고 결정된 상기 새로운 패리티 데이터의 부분을 상기 RAID의 상기 패리티 데이터 저장 부분으로 기록하는 단계를 더 포함하는 방법
|
3 |
3
삭제
|
4 |
4
제1항에 있어서,상기 RAID의 상기 데이터 저장 부분 내 데이터는 페이지(page)로 구조화되고, 상기 새로운 패리티 데이터는 상기 페이지 중 하나와 실질적으로 유사한 제1 크기를 가지며, 상기 새로운 패리티 데이터를 청킹하는 단계는 상기 새로운 패리티 데이터를 하나 이상의 청크(chunk)로 나누는 단계를 포함하고, 각각의 청크는 상기 제1 크기와 동일하거나 더 적은 제2 크기를 가지는, 방법
|
5 |
5
제4항에 있어서,상기 새로운 패리티 데이터를 하나 이상의 청크로 나누는 단계는 상기 제2 크기가 4 킬로바이트(kilobyte)이도록 상기 새로운 패리티 데이터를 나누는 단계를 포함하는, 방법
|
6 |
6
제1항에 있어서,상기 새로운 패리티 데이터를 중복 제거하는 단계는,상기 새로운 패리티 데이터에 대응하는 제1 해시 값을 결정하는 단계;상기 제1 해시 값을 제2 해시 값에 비교하는 단계 - 상기 제2 해시 값은 상기 현재 패리티 데이터에 대응함 - ; 및상기 제2 해시 값에 대한 상기 제1 해시 값의 비교에 기초하여, 상기 현재 패리티 데이터의 부분의 중복인 상기 새로운 패리티 데이터의 부분을 식별하는 단계를 포함하는, 방법
|
7 |
7
삭제
|
8 |
8
제1항에 있어서,상기 새로운 패리티 데이터를 중복 제거하는 단계는 상기 새로운 패리티 데이터의 각각의 청크에 대하여, 상기 현재 패리티 데이터의 상기 하나 이상의 청크의 중복이 아니라고 식별된 상기 청크를 상기 RAID의 상기 패리티 데이터 저장 부분으로 기록하는 단계를 더 포함하는, 방법
|
9 |
9
삭제
|
10 |
10
하나 이상의 프로세서에 의한 실행에 응답하여, RAID의 RAID 제어 모듈이, 상기 RAID로 데이터의 특정 유닛을 기록하기 위한 요청에 응답하여, 상기 데이터의 특정 유닛과 데이터의 제1 유닛 사이의 제1 XOR 동작에 적어도 부분적으로 기초하여 일시적 데이터를 결정하는 것 - 상기 RAID는 상기 데이터의 제1 유닛과 연관된 데이터 저장 부분을 가지고, 상기 RAID는 제1 패리티 데이터와 연관된 패리티 데이터 저장 부분을 가짐 - ;상기 일시적 데이터와 상기 제1 패리티 데이터 사이의 제2 XOR 동작에 적어도 부분적으로 기초하여 제2 패리티 데이터를 결정하는 것; 상기 제2 패리티 데이터의 임의의 부분이 상기 제1 패리티 데이터의 부분의 중복인지 결정하도록 상기 제2 패리티 데이터를 중복 제거하는 것; 상기 제2 패리티 데이터의 부분을 포함하는 제2 패리티 데이터 청크를 복수의 제1 패리티 데이터 청크와 비교하는 것 - 각각의 제1 패리티 데이터 청크는 상기 제1 패리티 데이터의 부분을 포함함 -;상기 비교에 기초하여 상기 제2 패리티 데이터 청크가 상기 복수의 제1 패리티 데이터 청크 중 임의의 것의 중복인지 결정하는 것; 상기 제2 패리티 데이터 청크가 제1 패리티 데이터 청크의 중복인 것에 응답하여, 상기 제1 패리티 데이터 청크의 상기 RAID의 상기 패리티 데이터 저장 부분에서 위치를 식별하는 것 및 상기 위치를 상기 제2 패리티 데이터 청크에 할당하는 것; 그리고상기 제2 패리티 데이터 청크가 상기 복수의 제1 패리티 데이터 청크 중 임의의 것의 중복이 아닌 것에 응답하여, 상기 RAID의 상기 패리티 데이터 저장 부분에서 새로운 위치를 상기 제2 패리티 데이터 청크에 할당하는 것을 동작적으로 가능하게 하는 저장된 명령어를 가지는 기계 판독 가능 비일시적 저장 매체
|
11 |
11
제10항에 있어서,상기 저장된 명령어는 상기 하나 이상의 프로세서에 의한 실행에 응답하여, 상기 RAID 제어 모듈이 상기 제1 패리티 데이터의 부분의 중복이 아니라고 결정된 상기 제2 패리티 데이터의 부분을 기록하는 것을 동작적으로 더 가능하게 하는 것인, 기계 판독 가능 비일시적 저장 매체
|
12 |
12
제10항에 있어서,상기 저장된 명령어는 상기 하나 이상의 프로세서에 의한 실행에 응답하여, 상기 RAID 제어 모듈이 상기 제2 패리티 데이터의 중복 제거 이전에 상기 제2 패리티 데이터를 청킹하는 것을 동작적으로 더 가능하게 하는 것인, 기계 판독 가능 비일시적 저장 매체
|
13 |
13
제12항에 있어서,상기 RAID의 상기 데이터 저장 부분 내 데이터는 페이지로 구조화되고,상기 제2 패리티 데이터는 상기 페이지 중 하나와 실질적으로 유사한 제1 크기를 가지며, 상기 RAID 제어 모듈이 상기 제2 패리티 데이터를 청킹하는 것을 동작적으로 가능하게 하는 상기 저장된 명령어는, 상기 하나 이상의 프로세서에 의한 실행에 응답하여, 상기 RAID 제어 모듈이 상기 제2 패리티 데이터를 하나 이상의 청크로 나누는 것을 동작적으로 가능하게 하는 명령어를 포함하고, 각각의 청크는 상기 제1 크기와 동일하거나 더 적은 제2 크기를 가지는 것인, 기계 판독 가능 비일시적 저장 매체
|
14 |
14
제13항에 있어서,상기 RAID 제어 모듈이 상기 제2 패리티 데이터를 나누는 것을 동작적으로 가능하게 하는 상기 저장된 명령어는, 상기 하나 이상의 프로세서에 의한 실행에 응답하여, 상기 RAID 제어 모듈이 상기 제2 크기가 4 킬로바이트이도록 상기 제2 패리티 데이터를 하나 이상의 청크로 나누는 것을 동작적으로 가능하게 하는 명령어를 포함하는 것인, 기계 판독 가능 비일시적 저장 매체
|
15 |
15
제10항에 있어서,상기 RAID 제어 모듈이 상기 제2 패리티 데이터를 중복 제거하는 것을 동작적으로 가능하게 하는 상기 저장된 명령어는, 상기 하나 이상의 프로세서에 의한 실행에 응답하여, 상기 RAID 제어 모듈이,상기 제2 패리티 데이터에 대응하는 제1 해시 값을 결정하는 것;상기 제1 해시 값을 제2 해시 값에 비교하는 것 - 상기 제2 해시 값은 상기 제1 패리티 데이터에 대응함 - ; 및상기 비교에 기초하여, 상기 제1 패리티 데이터의 부분의 중복인 상기 제2 패리티 데이터의 부분을 식별하는 것을 동작적으로 가능하게 하는 명령어를 포함하는 것인, 기계 판독 가능 비일시적 저장 매체
|
16 |
16
삭제
|
17 |
17
제10항에 있어서,상기 저장된 명령어는 상기 하나 이상의 프로세서에 의한 실행에 응답하여, 상기 RAID 제어 모듈이,상기 제2 패리티 데이터 청크를 복수의 상이한 제2 패리티 데이터 청크와 비교하는 것 - 각각의 상이한 제2 패리티 데이터 청크는 상기 제2 패리티 데이터의 다른 부분을 포함함 -;상기 복수의 상이한 제2 패리티 데이터 청크와 상기 제2 패리티 데이터 청크의 상기 비교에 기초하여 상기 제2 패리티 데이터 청크가 상기 복수의 상이한 제2 패리티 데이터 청크 중 임의의 것의 중복인지 결정하는 것; 상기 제2 패리티 데이터 청크가 상기 복수의 상이한 제2 패리티 데이터 청크 중 상이한 제2 패리티 데이터 청크의 중복인 것에 응답하여, 상기 RAID의 상기 패리티 데이터 저장 부분에서 동일한 위치를 상기 제2 패리티 데이터 청크 및 상기 상이한 제2 패리티 데이터 청크에 할당하는 것; 및 상기 제2 패리티 데이터 청크가 상기 복수의 상이한 제2 패리티 데이터 청크 중 임의의 것의 중복이 아닌 것에 응답하여, 상기 RAID의 상기 패리티 데이터 저장 부분에서 상이한 위치를 상기 제2 패리티 데이터 청크 및 상기 복수의 상이한 제2 패리티 데이터 청크에 할당하는 것을 동작적으로 더 가능하게 하는 것인, 기계 판독 가능 비일시적 저장 매체
|
18 |
18
제10항에 있어서,상기 저장된 명령어는 상기 하나 이상의 프로세서에 의한 실행에 응답하여, 상기 RAID 제어 모듈이 제3 패리티 데이터를 상기 새로운 위치에 할당되고 상기 제2 패리티 데이터 청크를 포함하는 상기 RAID의 상기 패리티 데이터 저장 부분으로 기록하는 것을 동작적으로 더 가능하게 하는 것인, 기계 판독 가능 비일시적 저장 매체
|
19 |
19
데이터의 현재 유닛과 연관된 데이터 저장 부분 및 현재 패리티 데이터와 연관된 패리티 데이터 저장 부분을 가지는 RAID; 및상기 RAID에 통신적으로 결합된 RAID 제어 모듈을 포함하고, 상기 RAID 제어 모듈은,상기 RAID로 데이터의 유닛을 기록하기 위한 요청을 수신하도록 구성된 데이터 입력/출력(I/O) 모듈; 및상기 데이터의 유닛을 기록하기 위한 상기 요청에 응답하여, 일시적 패리티 데이터를 식별하도록 상기 데이터의 유닛과 상기 현재 패리티 데이터를 비교하고, 새로운 패리티 데이터를 식별하도록 상기 일시적 패리티 데이터를 상기 현재 패리티 데이터와 비교하고, 상기 새로운 패리티 데이터를 복수의 새로운 패리티 데이터 청크로 나누고, 복수의 제1 해시 값 각각을 상기 새로운 패리티 데이터 청크 중 상이한 것과 연관시키고 복수의 제2 해시 값 각각을 상기 현재 패리티 데이터의 청크 중 상이한 것과 연관시키는 해시 테이블을 구축하고, 상기 복수의 제1 해시 값과 상기 복수의 제2 해시 값의 비교에 기초하여 적어도 상기 데이터의 유닛의 제1 부분을 포함하는 상기 새로운 패리티 데이터의 중복이 아닌 청크를 식별하며, 그리고 상기 해시 테이블에서, 상기 RAID의 상기 패리티 데이터 저장 부분에서 새로운 위치에 대한 새로운 위치 포인터를 상기 새로운 패리티 데이터의 상기 중복이 아닌 청크의 식별자와 연관시켜서 상기 해시 테이블을 업데이트하도록 구성된 패리티 데이터 유지 모듈을 포함하는 시스템
|
20 |
20
제19항에 있어서,상기 패리티 데이터 유지 모듈은 상기 복수의 제1 해시 값과 상기 복수의 제2 해시 값의 상기 비교에 기초하여 적어도 상기 데이터의 유닛의 제2 부분을 포함하는 상기 새로운 패리티 데이터의 중복인 청크를 식별하도록 더 구성된 것인, 시스템
|
21 |
21
제19항에 있어서,상기 데이터 I/O 모듈은 상기 새로운 패리티 데이터의 상기 중복이 아닌 청크를 상기 RAID의 상기 패리티 데이터 저장 부분으로 기록하도록 더 구성되는 것인, 시스템
|
22 |
22
삭제
|
23 |
23
데이터의 현재 유닛과 연관된 데이터 저장 부분 및 현재 패리티 데이터와 연관된 패리티 데이터 저장 부분을 가지는 RAID; 및상기 RAID에 통신적으로 결합된 RAID 제어 모듈을 포함하고, 상기 RAID 제어 모듈은,상기 RAID로 데이터의 유닛을 기록하기 위한 요청을 수신하도록 구성된 데이터 입력/출력(I/O) 모듈; 및상기 데이터의 유닛을 기록하기 위한 상기 요청에 응답하여, 일시적 패리티 데이터를 식별하도록 상기 데이터의 유닛을 상기 현재 패리티 데이터와 비교하고, 새로운 패리티 데이터를 식별하도록 상기 일시적 패리티 데이터를 상기 현재 패리티 데이터와 비교하고, 상기 새로운 패리티 데이터를 복수의 새로운 패리티 데이터 청크로 나누고, 복수의 제1 해시 값 각각을 상기 새로운 패리티 데이터 청크 중 상이한 것과 연관시키고 복수의 제2 해시 값 각각을 상기 현재 패리티 데이터의 청크 중 상이한 것과 연관시키는 해시 테이블을 구축하고, 그리고 상기 복수의 제1 해시 값과 상기 복수의 제2 해시 값의 비교에 기초하여 적어도 상기 데이터의 유닛의 제1 부분을 포함하는 상기 새로운 패리티 데이터의 중복이 아닌 청크를 식별하도록 구성된 패리티 데이터 유지 모듈을 포함하고,상기 패리티 데이터 유지 모듈은 상기 복수의 제1 해시 값과 상기 복수의 제2 해시 값의 상기 비교에 기초하여 적어도 상기 데이터의 유닛의 제2 부분을 포함하는 상기 새로운 패리티 데이터의 중복인 청크를 식별하며, 그리고 상기 해시 테이블에서, 상기 RAID의 상기 패리티 데이터 저장 부분에서 현재 위치에 대한 현재 위치 포인터를 상기 새로운 패리티 데이터의 상기 중복인 청크의 식별자와 연관시켜서 상기 해시 테이블을 업데이트하도록 더 구성되고, 상기 현재 위치 포인터는 상기 복수의 제2 해시 값 중 제2 해시 값과 연관되는 것인, 시스템
|
24 |
24
제19항에 있어서,상기 패리티 데이터 유지 모듈은 상기 복수의 제1 해시 값 각각과 상기 복수의 제1 해시 값 중 다른 것의 비교에 기초하여, 상기 데이터의 유닛의 상기 제1 부분, 상기 데이터의 유닛의 제2 부분 및 상기 데이터의 유닛의 제3 부분 중 둘 이상을 포함하는 상기 새로운 패리티 데이터의 중복인 청크를 식별하도록 더 구성되는 것인, 시스템
|
25 |
25
데이터의 현재 유닛과 연관된 데이터 저장 부분 및 현재 패리티 데이터와 연관된 패리티 데이터 저장 부분을 가지는 RAID; 및상기 RAID에 통신적으로 결합된 RAID 제어 모듈을 포함하고, 상기 RAID 제어 모듈은,상기 RAID로 데이터의 유닛을 기록하기 위한 요청을 수신하도록 구성된 데이터 입력/출력(I/O) 모듈; 및상기 데이터의 유닛을 기록하기 위한 상기 요청에 응답하여, 일시적 패리티 데이터를 식별하도록 상기 데이터의 유닛을 상기 현재 패리티 데이터와 비교하고, 새로운 패리티 데이터를 식별하도록 상기 일시적 패리티 데이터를 상기 현재 패리티 데이터와 비교하고, 상기 새로운 패리티 데이터를 복수의 새로운 패리티 데이터 청크로 나누고, 복수의 제1 해시 값 각각을 상기 새로운 패리티 데이터 청크 중 상이한 것과 연관시키고 복수의 제2 해시 값 각각을 상기 현재 패리티 데이터의 청크 중 상이한 것과 연관시키는 해시 테이블을 구축하고, 그리고 상기 복수의 제1 해시 값과 상기 복수의 제2 해시 값의 비교에 기초하여 적어도 상기 데이터의 유닛의 제1 부분을 포함하는 상기 새로운 패리티 데이터의 중복이 아닌 청크를 식별하도록 구성된 패리티 데이터 유지 모듈을 포함하고,상기 패리티 데이터 유지 모듈은 상기 복수의 제1 해시 값 각각과 상기 복수의 제1 해시 값 중 다른 것의 비교에 기초하여, 상기 데이터의 유닛의 상기 제1 부분, 상기 데이터의 유닛의 제2 부분 및 상기 데이터의 유닛의 제3 부분 중 둘 이상을 포함하는 상기 새로운 패리티 데이터의 중복인 청크를 식별하며, 상기 해시 테이블에서, 상기 RAID의 상기 패리티 데이터 저장 부분에서 동일한 위치에 대한 동일한 위치 포인터를 상기 새로운 패리티 데이터의 상기 중복인 청크의 각각의 식별자와 연관시켜서 상기 해시 테이블을 업데이트하도록 더 구성되는 것인, 시스템
|
26 |
26
제19항에 있어서,상기 패리티 데이터 유지 모듈은 상기 업데이트된 해시 테이블에 기초하여 상기 RAID의 상기 패리티 데이터 저장 부분을 업데이트하도록 더 구성되는 것인, 시스템
|
27 |
27
제23항에 있어서,상기 패리티 데이터 유지 모듈은 상기 업데이트된 해시 테이블에 기초하여 상기 RAID의 상기 패리티 데이터 저장 부분을 업데이트하도록 더 구성되는 것인, 시스템
|
28 |
28
삭제
|