1 |
1
클라우드 스토리지 서비스를 제공하는 스토리지 서버에 의해 수행되는 데이터 중복 제거 방법에 있어서,쓰기 요청이 발생한 경우, 후보 프로세서 코어의 사용량을 모니터링하는 단계;상기 사용량에 따라서, 상기 후보 프로세서 코어 중에서, 쓰기 요청된 데이터에 대한 중복 제거를 수행할 프로세서 코어를 선택하는 단계; 및상기 선택된 프로세서 코어를 이용하여, 상기 중복 제거를 수행하는 단계를 포함하며,상기 중복 제거를 수행하는 단계는상기 쓰기 요청된 데이터가 스토리지에 저장된 이후, 상기 쓰기 요청된 데이터의 중복 저장 여부를 판단하는 단계; 및상기 판단 결과에 따라서, 상기 중복 제거를 수행하는 단계를 포함하며,상기 중복 저장 여부를 판단하는 단계는상기 쓰기 요청된 데이터를 미리 설정된 크기의 청크로 분할하는 단계;상기 청크 각각에 대한 해시값을 계산하는 단계; 및상기 스토리지에 저장된 데이터에 대한 해시값 및 저장 주소값이 기록된 중복 제거 테이블에, 상기 청크에 대한 해시값이 포함되어 있는지 여부를 확인하는 단계를 포함하며,상기 중복 제거를 수행하는 단계는, 중복 저장된 상기 청크에 대한 중복 저장 정보를, 상기 중복 제거 테이블에 기록하고, 상기 중복 저장 정보를 이용해 상기 중복 저장된 청크의 저장 위치를 확인하여, 상기 중복 저장된 청크를 삭제하며,상기 중복 저장 정보는, 상기 중복 저장된 청크의 해시값, 저장 주소값 및 중복 저장 여부에 대한 플래그값을 포함하며,상기 후보 프로세서 코어는, 사용자 영역에 구현된 스토리지 인터페이스 드라이버에 의해 사용중인 프로세서 코어인데이터 중복 제거 방법
|
2 |
2
삭제
|
3 |
3
제 1항에 있어서,상기 스토리지 인터페이스 드라이버는SPDK인데이터 중복 제거 방법
|
4 |
4
제 1항에 있어서,상기 프로세서 코어를 선택하는 단계는상기 후보 프로세서 코어 중에서, 상기 사용량이 최소인 프로세서 코어를, 상기 중복 제거를 수행할 프로세서 코어로 선택하는데이터 중복 제거 방법
|
5 |
5
삭제
|
6 |
6
삭제
|
7 |
7
삭제
|
8 |
8
클라우드 스토리지 서비스를 제공하는 스토리지 서버에 의해 수행되는 데이터 중복 제거 방법에 있어서,쓰기 요청이 발생한 경우, 상기 쓰기 요청에 대한 제1스레드를 생성하는 단계;후보 프로세서 코어의 사용량을 모니터링하여, 상기 후보 프로세서 코어 중에서, 쓰기 요청된 데이터에 대한 중복 제거를 수행할 프로세서 코어를 선택하는 단계; 상기 선택된 프로세서 코어에 처리되며, 상기 쓰기 요청된 데이터에 대한 중복 제거 수행을 위한 제2스레드를 생성하는 단계;상기 쓰기 요청된 데이터가 스토리지에 저장된 이후, 상기 쓰기 요청된 데이터의 중복 저장 여부를 판단하는 단계; 및상기 판단 결과에 따라서, 상기 쓰기 요청된 데이터에 대한 중복 제거를 수행하는 단계를 포함하며,상기 후보 프로세서 코어는, 사용자 영역에 구현된 스토리지 인터페이스 드라이버에 의해 사용중인 프로세서 코어이며,상기 중복 저장 여부를 판단하는 단계는상기 쓰기 요청된 데이터를 미리 설정된 크기의 청크로 분할하는 단계;상기 청크 각각에 대한 해시값을 계산하는 단계; 및상기 스토리지에 저장된 데이터에 대한 해시값 및 저장 주소값이 기록된 중복 제거 테이블에, 상기 청크에 대한 해시값이 포함되어 있는지 여부를 확인하는 단계를 포함하며,상기 중복 제거를 수행하는 단계는, 중복 저장된 상기 청크에 대한 중복 저장 정보를, 상기 중복 제거 테이블에 기록하고, 상기 중복 저장 정보를 이용해 상기 중복 저장된 청크의 저장 위치를 확인하여, 상기 중복 저장된 청크를 삭제하며,상기 중복 저장 정보는, 상기 중복 저장된 청크의 해시값, 저장 주소값 및 중복 저장 여부에 대한 플래그값을 포함하는데이터 중복 제거 방법
|
9 |
9
삭제
|
10 |
10
제 8항에 있어서,상기 스토리지 인터페이스 드라이버는SPDK인데이터 중복 제거 방법
|
11 |
11
제 8항에 있어서,상기 중복 제거를 수행할 프로세서 코어를 선택하는 단계는상기 후보 프로세서 코어 중에서, 상기 사용량이 최소인 프로세서 코어를, 상기 중복 제거를 수행할 프로세서 코어로 선택하는데이터 중복 제거 방법
|
12 |
12
삭제
|
13 |
13
삭제
|
14 |
14
삭제
|
15 |
15
스토리지;메모리; 및상기 메모리와 전기적으로 연결된 적어도 하나의 멀티코어 프로세서를 포함하며,상기 멀티코어 프로세서는포그라운드 이벤트인 상기 스토리지에 대한 쓰기 요청이 발생한 경우, 후보 프로세서 코어의 사용량을 모니터링하며,상기 사용량에 따라서, 상기 후보 프로세서 코어 중에서, 쓰기 요청된 데이터에 대한 중복 제거를 수행할 프로세서 코어를 선택하며,상기 쓰기 요청된 데이터를 미리 설정된 크기의 청크로 분할하고, 상기 청크 각각에 대한 해시값을 계산하고, 상기 스토리지에 저장된 데이터에 대한 해시값 및 저장 주소값이 기록된 중복 제거 테이블에, 상기 청크에 대한 해시값이 포함되어 있는지 여부를 확인하여, 상기 쓰기 요청된 데이터의 중복 저장 여부를 판단하며,중복 저장된 상기 청크에 대한 중복 저장 정보를, 상기 중복 제거 테이블에 기록하며, 상기 쓰기 요청된 데이터가 상기 스토리지에 저장된 이후, 상기 중복 저장 정보를 이용해 상기 중복 저장된 청크의 저장 위치를 확인하여, 상기 중복 저장된 청크를 삭제하며,상기 중복 저장 정보는, 상기 중복 저장된 청크의 해시값, 저장 주소값 및 중복 저장 여부에 대한 플래그값을 포함하며,백그라운드 이벤트인 상기 중복 제거는상기 선택된 프로세서 코어에 할당된 스레드를 통해 수행되며,상기 후보 프로세서 코어는, 사용자 영역에 구현된 스토리지 인터페이스 드라이버에 의해 사용중인 프로세서 코어인데이터 중복 제거를 수행하는 스토리지 서버
|
16 |
16
삭제
|
17 |
17
제 15항에 있어서,상기 스토리지 인터페이스 드라이버는SPDK인데이터 중복 제거를 수행하는 스토리지 서버
|
18 |
18
제 17항에 있어서,상기 멀티코어 프로세서는상기 후보 프로세서 코어 중에서, 상기 사용량이 최소인 프로세서 코어를, 상기 중복 제거를 수행할 프로세서 코어로 선택하는데이터 중복 제거를 수행하는 스토리지 서버
|
19 |
19
삭제
|