정전에서 지속 가능한 읽기 및 쓰기 캐시 장치 및 방법
APPARATUS AND A METHOD FOR PERSISTENT WRITE CACHE
특허 요약
본 발명은 정전에서 지속 가능한 읽기 및 쓰기 캐시 장치 및 방법에 관한 것으로서, 고속 저장 장치와 저속 저장장치가 혼합된 하이브리드 저장 시스템에 있어서 고속 저장 장치를 캐시 장치로서 이용하여 데이터 읽기 쓰기 성능을 향상시키고, 정전이 발생하더라도 일관성 있는 데이터가 지속 가능하도록 하는 정전에서 지속 가능한 읽기 및 쓰기 캐시 장치 및 방법에 관한 것이다. 본 발명에 따른 정전에서 지속 가능한 읽기 및 쓰기 캐시 장치는 메타데이터의 무결성 여부와 두 개의 메타데이터 영역에 저장된 메타데이터의 버전 정보를 제공하는 메타정보부; 상기 메타데이터의 일관성을 유지하기 위해, 다수의 저장장치를 구성하는 다수의 고속 및 저속세그먼트들 중 각 저속 세그먼트들의 사용 빈도 및 캐싱 유무에 대한 정보를 제공하는 사용빈도표 저장부; 상기 다수의 저장장치를 구성하는 세그먼트들 중 각 고속 세그먼트가 어느 저속 세그먼트를 캐싱하고 있는지에 대한 정보를 제공하는 주소사상표 저장부; 및 상기 주소사상표에 반영되지 못한 신규 캐싱정보를 제공하는 로그부; 를 포함하는 것을 특징으로 한다.
청구항
번호청구항
1

메타데이터의 무결성 여부와 두 개의 메타데이터 영역에 저장된 메타데이터의 버전 정보를 제공하는 메타정보부;상기 메타데이터의 일관성을 유지하기 위해, 다수의 저장장치를 구성하는 다수의 고속 및 저속세그먼트들 중 각 저속 세그먼트들의 사용 빈도 및 캐싱 유무에 대한 정보를 제공하는 사용빈도표 저장부;상기 다수의 저장장치를 구성하는 세그먼트들 중 각 고속 세그먼트가 어느 저속 세그먼트를 캐싱하고 있는지에 대한 정보를 제공하는 주소사상표 저장부; 및상기 주소사상표 저장부 반영되지 못한 신규 캐싱정보를 제공하는 로그부; 를 포함하는 것을 특징으로 하는 정전에서 지속 가능한 읽기 및 쓰기 캐시 장치.

2

제 1항에 있어서, 상기 메타정보부는,상기 메타데이터 영역에 저장된 메타데이터가 필요 또는 불필요한 데이터인지 알 수 있게 해주는 식별 정보를 저장하는 ID;상기 두 개의 메타데이터 영역 중 어느 메타데이터 영역에 저장된 메타데이터가 최신인지를 나타내 는 버전; 및상기 메타데이터 저장 시 불완전 상태로 중단되었을 경우 상기 메타데이터의 무결성 여부를 검사하기 위해 사용되는 해쉬; 를 포함하는 것을 특징으로 하는 정전에서 지속 가능한 읽기 및 쓰기 캐시 장치.

3

제 1항에 있어서, 상기 사용빈도표 저장부는,상기 각 저속 세그먼트의 개수에 대응하는 수만큼 다수의 사용빈도항목으로 구성되는 것을 특징으로 하는 정전에서 지속 가능한 읽기 및 쓰기 캐시 장치.

4

제 3항에 있어서, 상기 사용빈도항목은, 상기 각 저속 세그먼트 중 최근에 사용된 저속 세그먼트를 가리키는 사용빈도값; 및상기 저속 세그먼트가 상기 고속 세그먼트들 중 어느 하나에 매핑되었는지를 가리키는 캐시비트; 를 포함하는 것을 특징으로 하는 정전에서 지속 가능한 읽기 및 쓰기 캐시 장치.

5

제 1항에 있어서, 상기 주소사상표 저장부는,상기 각 저속 세그먼트의 개수에 대응하는 수만큼 다수의 주소사상항목으로 구성되고, 상기 주소사상항목은 캐시된 저속 세그먼트 주소를 보유하는 것을 특징으로 하는 정전에서 지속 가능한 읽기 및 쓰기 캐시 장치.

6

제 1항에 있어서, 상기 로그부는 다수개의 섹터로 구분되고,상기 섹터는 메타데이터의 버전 정보를 포함하는 메타버전;상기 섹터에 저장된 데이터에 오류가 있는지 검사하기 위해 사용되는 해쉬;상기 각 고속 세그먼트 주소가 특정 저속 세그먼트 주소로 캐싱되었으나, 기존 주소사상표 저장부에 반영 여부를 나타내는 캐시갱신항목; 및상기 다수개의 섹터 중 어느 한 섹터 내 상기 캐시갱신항목의 개수를 가리키는 항목개수;를 포함하는 것을 특징으로 하는 정전에서 지속 가능한 읽기 및 쓰기 캐시 장치.

7

사용빈도값이 사용빈도 기준값 이상인 저속 세그먼트, 즉 핫 세그먼트의 주 메모리상 사용빈도값의 변경을 금지하는 단계;상기 핫 세그먼트의 개수와 고속 세그먼트의 개수를 비교하는 단계;상기 비교 결과 핫 세그먼트의 개수가 상기 고속 세그먼트의 개수 이하일 경우, 캐시시계의 시작 값을 0으로 설정하는 단계;상기 캐시시계의 개수와 상기 저속 세그먼트의 개수를 비교하는 단계;상기 비교 결과 상기 캐시시계의 개수가 상기 저속 세그먼트의 개수 이하일 경우, 상기 캐시시계가 가리키는 상기 저속 세그먼트가 핫 세그먼트이면서 캐싱되지 않았는지를 검사하는 단계;상기 검사 결과 상기 저속 세그먼트가 캐싱되지 않았다면, 퇴출시킬 다음 고속 세그먼트로 퇴출시계를 이동시키는 단계;상기 이동된 퇴출시계가 가리키는 고속 세그먼트에 저장된 데이터를 고속 저장장치에서 퇴출시키는 단계;현재의 퇴출시계 값은 고속 세그먼트 주소로, 현재의 캐시시계값은 저속 세그먼트 주소로 하는 캐시갱신항목을 로그에 추가하는 단계; 및상기 캐시시계가 가리키는 저속 세그먼트를 상기 퇴출시계가 가리키는 고속 세그먼트로 캐싱하는 단계; 를 포함하는 것을 특징으로 하는 정전에서 지속 가능한 읽기 및 쓰기 캐시 방법.

8

제 7항에 있어서,상기 핫 세그먼트의 개수와 고속 세그먼트의 개수를 비교하는 단계 이후에,상기 비교 결과 상기 핫 세그먼트의 개수가 상기 고속 세그먼트의 개수를 초과할 경우, 주 메모리의 모든 사용빈도값에 감쇠상수를 곱하고 상기 곱해진 결과로 사용빈도값으로 재저장하는 단계; 를 더 포함하는 것을 특징으로 하는 정전에서 지속 가능한 읽기 및 쓰기 캐시 방법.

9

제 7항에 있어서,상기 캐시시계의 개수와 상기 저속 세그먼트의 개수를 비교하는 단계 이후에,상기 비교 결과 상기 캐시시계의 개수가 상기 저속 세그먼트의 개수를 초과할 경우, 주 메모리의 모든 사용빈도값에 대해서 변경 금지를 해제하는 단계; 를 더 포함하는 것을 특징으로 하는 정전에서 지속 가능한 읽기 및 쓰기 캐시 방법.

10

제 7항에 있어서,상기 캐시시계가 가리키는 상기 저속 세그먼트가 핫 세그먼트이면서 캐싱되지 않았는지를 검사하는 단계 이후에,상기 검사 결과 상기 저속 세그먼트가 캐싱되었다면, 상기 캐시시계를 가리키는 방향을 한단계 이동시키는 단계; 를 더 포함하는 것을 특징으로 하는 정전에서 지속 가능한 읽기 및 쓰기 캐시 방법.

11

제 7항에 있어서,상기 고속 세그먼트에 저장된 데이터를 고속 저장장치에서 퇴출시키는 단계는,퇴출 저속 세그먼트들은 주소사상표의 퇴출시계 중 n번째 주소사상항목이 되고, 퇴출 저속 세그먼트의 캐시비는 0, 저속-고속 사상트리에서 상기 퇴출 저속 세그먼트를 제거하는 단계; 를 포함하는 것을 특징으로 하는 정전에서 지속 가능한 읽기 및 쓰기 캐시 방법.

12

제 7항에 있어서,상기 퇴출시계가 가리키는 고속 세그먼트로 캐싱하는 단계는,주 메모리의 주소사상표의 퇴출시계중 n번째 주소사상항목에 캐시시계를 대입하고 상기 캐시시계가 가리키는 저속 세그먼트의 캐시비트를 1로 설정하며, 상기 캐시시계가 가리키는 상기 저속 세그먼트의 데이터를 상기 퇴출시계가 가리키는 고속세그먼트로 복사 및 저속-고속 사상 트리에서 상기 캐시시계가 가리키는 저속 세그먼트를 상기 퇴출시계가 가리키는 고속 세그먼트로 캐싱하는 정보를 추가하는 단계; 를 포함하는 것을 특징으로 하는 정전에서 지속 가능한 읽기 및 쓰기 캐시 방법.

13

저속 저장장치의 두 개의 메타데이터 영역에 저장된 메타데이터 중에서 최신 버전에 해당하는 메타데이터를 주 메모리의 메타데이터로 복사하는 단계;상기 주 메모리의 주소사상표 저장부의 모든 주소사상항목 중 n번째 주소사상항목의 저속 세그먼트 주소 m을 이용하여, 저속-고속 사상 트리에 m번째 저속 세그먼트 주소에서 n번째 고속 세그먼트 주소로의 사상정보를 추가하는 단계;로그에 저장된 각 캐시갱신항목에 대해서 상기 고속 세그먼트에서 상기 저속 세그먼트가 캐싱되었다는 메타데이터 정보를 주 메모리의 메인 메타데이터와 저속-고속 사상트리에 추가하는 단계; 및메타정보의 버전을 1증가시키고, 상기 주 모메리의 메타데이터를 다른 메타데이터 영역의 메타데이터에 저장하는 단계; 를 포함하는 것을 특징으로 하는 정전에서 지속 가능한 읽기 및 쓰기 캐시 방법.

14

제 13항에 있어서,상기 저속-고속 사상트리에 추가하는 단계는,마지막 캐시갱신항목이 가리키는 사상정보는 상기 주 메모리의 메타데이터에서 제거하는 단계; 를 포함하는 것을 특징으로 하는 정전에서 지속 가능한 읽기 및 쓰기 캐시 방법.

15

제 13항에 있어서,상기 메타데이터 정보를 주 메모리의 메인 메타데이터와 저속-고속 사상트리에 추가하는 단계는,상기 로그의 각 캐시갱신항목에 대해서, 옛 저속 세그먼트를 주소사상표 저장부의 고속 세그먼트 n번째 주소사상항목이라고 하면, 옛 저속 세그먼트가 가리키는 저속세그먼트의 캐시비트에 0을 대입하고, 주소사상표의 고속세그먼트주소 n번째 항목에 저속세그먼트주소를 대입하며, 그 저속세그먼트주소 가리키는 저속세그먼트의 캐시비트에 1을 대입하여 저속-고속 사상 트리에 저속세그먼트주소에서 고속세그먼트주소로 캐싱하는 정보 삽입하는 단계; 를 포함하는 것을 특징으로 하는 정전에서 지속 가능한 읽기 및 쓰기 캐시 방법.