| 번호 | 청구항 |
|---|---|
| 1 | 외부로부터의 데이터 입력 요청에 기초하여 하나 이상의 키-값들을 기 정의된 단위 공간에 기록하는 메모리;상기 메모리로부터 수신한 데이터를 스토리지에 저장하는 제어부; 및복수의 존을 포함하는 스토리지를 포함하고,상기 제어부는, 상기 메모리로부터 수신한 하나 이상의 키-값들을 기 정의된 형태의 파일로 상기 스토리지에 저장하는 플러시(Flush) 작업 및 상기 스토리지 내 하나의 레벨에 존재하는 복수의 파일을 합병하여 다른 레벨에 하나의 파일로 기록하는 집약(Compaction) 작업을 수행하되, 상기 복수의 존 중 적어도 일부 존을 플러시 존(Flush zone)으로, 상기 플러시 존을 제외한 나머지 존 중 적어도 일부 존을 집약 존(Compaction zone)으로 구별하여, 상기 플러시 존을 이용하여 상기 플러시 작업을 수행하고 상기 집약 존을 이용하여 상기 집약 작업을 수행함에 따라 레벨 0 집약 작업이 플러시 존과 첫 번째 레벨의 집약 존 사이에서 수행되도록 하며, 상기 레벨 0 집약 작업이 수행될 시점에서 상기 플러시 작업이 수행되지 않는 플러시 존을 이용하여 집약 존 사이에서 상기 레벨 0 집약 작업을 수행하도록 하는, 키-값 스토어 파일 저장 장치. |
| 2 | 청구항 1항에 있어서,상기 스토리지는,복수의 채널을 통해 상기 제어부와 연결되며, 상기 복수의 채널별로 할당된 복수의 존을 포함하고,상기 제어부는,상기 플러시 존에 할당된 채널과 상기 집약 존에 할당된 채널이 상이하도록 상기 플러시 존과 상기 집약 존을 구별하는, 키-값 스토어 파일 저장 장치. |
| 3 | 청구항 1항에 있어서,상기 플러시 존은,존 내부에 가용 용량이 존재하는 활성 플러시 존(Active flush zone) 및 존 내부에 가용 용량이 존재하지 않는 불변 플러시 존(Immutable flush zone)을 포함하고,상기 제어부는,상기 플러시 존에 저장된 복수의 파일을 합병하여 상기 집약 존에 하나의 파일로 기록하는 레벨 0 집약 작업을 수행할 경우, 상기 불변 플러시 존에 저장된 복수의 파일을 대상으로 상기 레벨 0 집약 작업을 수행하는, 키-값 스토어 파일 저장 장치. |
| 4 | 청구항 1항에 있어서,상기 제어부는,로그 구조 병합 트리(LSM-Tree; Log Structured Merge-Tree) 자료 구조에 기초하여 키-값에 대한 저장을 수행하는, 키-값 스토어 파일 저장 장치. |
| 5 | 청구항 4항에 있어서,상기 단위 공간은, 기 설정된 크기의 멤테이블(Memtable)이고,상기 파일은, 기 설정된 크기의 SSTable 파일인, 키-값 스토어 파일 저장 장치. |
| 6 | 청구항 4항에 있어서,상기 제어부는,상기 LSM-Tree 자료 구조에 따라 상기 복수의 존을 다층 레벨로 구성하고, 상기 파일 각각의 핫-콜드 특성에 따라 상기 파일 각각에 레벨 정보를 입력하고, 상기 파일 각각을 상기 레벨 정보와 매칭되는 레벨의 존에 저장하는, 키-값 스토어 파일 저장 장치. |
| 7 | 청구항 6항에 있어서,상기 레벨 정보는,상기 파일 각각의 액세스 빈도 및 업데이트 빈도 중 적어도 하나에 기초하여 결정되는, 키-값 스토어 파일 저장 장치. |
| 8 | 메모리에서, 외부로부터의 데이터 입력 요청에 기초하여 하나 이상의 키-값들을 기 정의된 단위 공간에 기록하는 단계;제어부에서, 스토리지에 포함된 복수의 존 중 적어도 일부 존을 플러시 존(Flush zone)으로, 상기 플러시 존을 제외한 나머지 존 중 적어도 일부 존을 집약 존(Compaction zone)으로 구별하는 단계;상기 제어부에서, 상기 플러시 존을 이용하여, 상기 메모리로부터 수신한 하나 이상의 키-값들을 기 정의된 형태의 파일로 상기 스토리지에 저장하는 플러시(Flush) 작업을 수행하는 단계; 및상기 제어부에서, 상기 집약 존을 이용하여, 상기 스토리지 내 하나의 레벨에 존재하는 복수의 파일을 합병하여 다른 레벨에 하나의 파일로 기록하는 집약(Compaction) 작업을 수행함에 따라 레벨 0 집약 작업이 플러시 존과 첫 번째 레벨의 집약 존 사이에서 수행되도록 하며, 상기 레벨 0 집약 작업이 수행될 시점에서 상기 플러시 작업이 수행되지 않는 플러시 존을 이용하여 집약 존 사이에서 상기 레벨 0 집약 작업을 수행하는 단계를 포함하는, 키-값 스토어 파일 저장 방법. |
| 9 | 청구항 8항에 있어서,상기 스토리지는,복수의 채널을 통해 상기 제어부와 연결되며, 상기 복수의 채널별로 할당된 복수의 존을 포함하고,상기 구별하는 단계는,상기 플러시 존에 할당된 채널과 상기 집약 존에 할당된 채널이 상이하도록 상기 플러시 존과 상기 집약 존을 구별하는, 키-값 스토어 파일 저장 방법. |
| 10 | 청구항 8항에 있어서,상기 플러시 존은,존 내부에 가용 용량이 존재하는 활성 플러시 존(Active flush zone) 및 존 내부에 가용 용량이 존재하지 않는 불변 플러시 존(Immutable flush zone)을 포함하고,상기 집약 작업을 수행하는 단계는,상기 플러시 존에 저장된 복수의 파일을 합병하여 상기 집약 존에 하나의 파일로 기록하는 레벨 0 집약 작업을 수행할 경우, 상기 불변 플러시 존에 저장된 복수의 파일을 대상으로 상기 레벨 0 집약 작업을 수행하는, 키-값 스토어 파일 저장 방법. |
| 11 | 청구항 8항에 있어서,상기 제어부는,로그 구조 병합 트리(LSM-Tree; Log Structured Merge-Tree) 자료 구조에 기초하여 키-값에 대한 저장을 수행하는, 키-값 스토어 파일 저장 방법. |
| 12 | 청구항 11항에 있어서,상기 단위 공간은, 기 설정된 크기의 멤테이블(Memtable)이고,상기 파일은, 기 설정된 크기의 SSTable 파일인, 키-값 스토어 파일 저장 방법. |
| 13 | 청구항 11항에 있어서,상기 제어부는,상기 LSM-Tree 자료 구조에 따라 상기 복수의 존을 다층 레벨로 구성하고, 상기 파일 각각의 핫-콜드 특성에 따라 상기 파일 각각에 레벨 정보를 입력하고, 상기 파일 각각을 상기 레벨 정보와 매칭되는 레벨의 존에 저장하는, 키-값 스토어 파일 저장 방법. |
| 14 | 청구항 13항에 있어서,상기 레벨 정보는,상기 파일 각각의 액세스 빈도 및 업데이트 빈도 중 적어도 하나에 기초하여 결정되는, 키-값 스토어 파일 저장 방법. |