KR101171439B1 - 기록 매체에 기록된 데이터의 이동 장치 및 방법 - Google Patents

기록 매체에 기록된 데이터의 이동 장치 및 방법 Download PDF

Info

Publication number
KR101171439B1
KR101171439B1 KR1020090115072A KR20090115072A KR101171439B1 KR 101171439 B1 KR101171439 B1 KR 101171439B1 KR 1020090115072 A KR1020090115072 A KR 1020090115072A KR 20090115072 A KR20090115072 A KR 20090115072A KR 101171439 B1 KR101171439 B1 KR 101171439B1
Authority
KR
South Korea
Prior art keywords
data
tape
recording medium
information
read
Prior art date
Application number
KR1020090115072A
Other languages
English (en)
Other versions
KR20100075727A (ko
Inventor
카즈히로 오제키
시노부 후지하라
히로시 이타가키
타케시 이시모토
Original Assignee
인터내셔널 비지네스 머신즈 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20100075727A publication Critical patent/KR20100075727A/ko
Application granted granted Critical
Publication of KR101171439B1 publication Critical patent/KR101171439B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data

Abstract

본 발명의 목적은 데이터 이동시 실제 액세스 빈도를 고려하여 성능을 향상시키는 것이다.
테이프 드라이브(10)의 제어기(16)에서, 명령 처리 유닛(61)이 데이터를 판독하라는 판독 명령을 수신하면, 채널 입/출력 유닛(63)은 테이프로부터 데이터를 판독한다. 다음에, 테이프 상의 각각의 데이터에 대해, 판독 장착 동작들의 횟수를 나타내는 Ram-count가 보유된다. 동시에, 판독된 데이터에 대해, 데이터가 판독된 횟수를 나타내는 히스토리인 Dm-readfreq가 보유된다. 데이터 이동을 위해, CM 입/출력 유닛(64)은 Ram-count 및 Dm-readfreq를 판독한다. 액세스 빈도를 결정하기 위해, 빈도 계산 유닛(65)은 예컨대 Dm-readfreq로 나타낸 횟수와 Ram-count로 나타낸 횟수의 비를 계산한다. 다음에, 이동 제어 유닛(66)은 버퍼 관리 유닛(62) 등을 제어하여, 소스 테이프로부터 판독된 데이터 조각들이 액세스 빈도의 하향 빈도로 목적지 테이프 상에 기록되도록 한다.
테이프 드라이브, 제어기, 채널 입/출력 유닛, 데이터 이동, 액세스 빈도

Description

기록 매체에 기록된 데이터의 이동 장치 및 방법{DEVICE AND METHOD FOR MIGRATION OF DATA RECORDED IN RECORDING MEDIUM}
본 발명은 기록 매체에 기록된 데이터의 이동 장치 및 방법에 관한 것이다. 특히, 본 발명은 기록 매체에 기록된 데이터의 그 기록 매체 또는 다른 기록 매체로의 이동을 지원하는 장치 및 방법에 관한 것이다.
예컨대 한 매체에 기록된 데이터는 그 매체 또는 매체 구동 장치가 그 수명이 다하기 때문에 종종 다른 매체로 이동된다. 또한, 다른 매체로의 데이터 이동은 동작상의 이유로, 예컨대 보다 비용 효율적인 매체로의 전환을 위해 수행될 수도 있다.
이러한 데이터 이동에서는, 빈번하게 액세스되는 데이터는 성능 면에서 유리한 위치에 기록되는 것이 바람직하다. 이는 예컨대 복수의 데이터 조각들(pieces of data)이 데이터 오브젝트(data object)와 같은 단일 데이터 그룹으로서 액세스되는 경우 성능 면에서 가장 불리한 위치에 기록된 데이터 조각은 데이터 그룹에 대한 전체적인 액세스 성능에 영향을 줄 수 있기 때문이다.
한 매체에 기록된 데이터의 그 매체 또는 다른 매체로의 이동을 위해, 데이 터에 대한 액세스 빈도를 고려하여 성능을 향상시키는 공지된 기술이 존재한다(예컨대, 특허 문헌 1 내지 3 참조)
특허 문헌 1은 빈번하게 액세스되는 논리적 볼륨(logical volume)이 장시간 전원공급 모드에서 RAID 그룹에 배열되고, 덜 빈번하게 액세스되는 논리적 불륨은 제1 단시간 전원공급 모드(short-time energization mode)에서 RAID 그룹에 배열되며, 가장 덜 빈번하게 액세스되는 논리적 볼륨은 제2 단시간 전원공급 모드에서 RAID 그룹에 배열되도록 재배열 계획이 마련된 기술을 공개한다.
특허 문헌 2는 복수의 블록들을 포함하는 각각의 파일에 대한 액세스 빈도를 저장하고, 서로 연관되어 미리 결정된 값 정도의 빈도로 액세스되는 복수의 파일들을 단일 그룹으로서 추출하며, 추출된 파일들 각각에서의 각각의 블록의 데이터를 광 디스크로부터 판독하고, 판독된 데이터 조각들을 광 디스크의 연속된 블록들 또는 인접 블록들에 순차적으로 기록하는 기술을 공개한다.
특허 문헌 3은 메모리를 테이프 카세트의 카트리지에 제공하고, 각각의 파티션에 대한 액세스 빈도에 관한 정보를 메모리에 기록하는 기술을 공개한다. 테이프를 복사하기 위해서는, 액세스 빈도에 관한 정보를 판독하고, 데이터 조각들을 테이프의 시작 부분부터 액세스 빈도의 하향 순서로 기록한다.
[특허 문헌 1]
일본 특허 출원 제2007-164650 호
[특허 문헌 2]
일본 특허 출원 제8-263335 호
[특허 문헌 3]
일본 특허 출원 제11-31376 호
특허 문헌 1 내지 3에 따라, 액세스 빈도는 복수의 데이터 조각들을 포함하는 데이터 그룹(예컨대, 논리적 볼륨, 파일, 또는 파티션)에 대해 기록된다. 데이터 그룹은 장시간 동안 존재한 데이터 및 단지 최근에 생성된 데이터를 포함할 수 있다. 서로 다른 시간에 생성된 데이터 조각들의 경우, 액세스 빈도를 시간축을 참조하여 결정할 때는 실제 액세스 빈도를 얻을 수 없다. 그러므로, 특허 문헌 1 내지 3에 공개된 기술들은 데이터 이동시 실제 액세스 빈도를 고려함으로써 성능을 형상시키는 것이 불가능하다는 단점이 있다.
따라서, 본 발명의 목적은 시간축을 이용하지 않고 실제 액세스 빈도를 데이터 이동시 고려하여 성능을 향상시키는 것이다.
상기한 목적을 달성하기 위해, 본 발명은 제1 기록 매체에 기록된 데이터 조각들의 제2 기록 매체로의 이동을 지원하는 장치를 제공한다. 이 장치는 상기 제1 기록 매체에 기록된 데이터 조각들 각각에 대해, 상기 데이터 조각이 상기 제1 기록 매체에 기록된 후 상기 제1 기록 매체로부터 어떤 데이터가 판독된 횟수를 나타내는 제1 정보 및 상기 데이터 조각이 상기 제1 기록 매체로부터 판독된 횟수를 나타내는 제2 정보를 획득하는 획득 유닛; 상기 획득 유닛에 의해 획득된 상기 제1 정보 및 제2 정보를 이용하여 상기 데이터 조각에 대한 액세스 빈도를 추적하는 추적 유닛; 및 상기 추적 유닛에 의해 추적된 액세스 빈도에 기초하여 상기 제2 기록 매체 내의 상기 데이터 조각의 기록 위치를 결정하는 결정 유닛을 포함한다.
상기 장치는 특정 데이터가 상기 제1 기록 매체로부터 판독되었을 때, 상기 데이터 조각에 대한 제1 정보 및 상기 특정 데이터에 대한 제2 정보를 갱신하는 갱신 유닛을 더 포함할 수 있다. 이 경우에, 상기 특정 데이터는 주 데이터 및 상기 주 데이터에 관한 부가 정보인 메타데이터를 포함할 수 있다. 상기 갱신 유닛은 상기 주 데이터와 상기 메타데이터 중 적어도 하나가 상기 제1 기록 매체로부터 판독되었을 때 상기 특정 데이터가 판독된 것으로 결정할 수 있다.
상기 제1 정보는 상기 데이터 조각이 상기 제1 기록 매체에 기록된 후 상기 제1 기록 매체가 기억 유닛에 장착된 횟수를 나타냄으로써 상기 데이터 조각이 상기 제1 기록 매체에 기록된 후 상기 제1 기록 매체로부터 어떤 데이터가 판독된 횟수를 나타낼 수 있다.
상기 추적 유닛은 상기 제2 정보로 나타낸 횟수와 상기 제1 정보로 나타낸 횟수의 비를 액세스 빈도로서 추적할 수 있다. 대안으로, 상기 추적 유닛은 상기 제1 정보로 나타낸 횟수가 미리 결정된 범위 내인 데이터에 대해서만 상기 제2 정보를 이용하여 상기 액세스 빈도를 추적할 수 있다.
상기 제2 정보는 상기 데이터 조각의 판독 히스토리를 나타내는 정보이고, 상기 히스토리는 복수의 비트값들로 표현될 수 있다. 상기 제1 기록 매체로부터 어떤 데이터가 판독된 M 횟수 중, 상기 데이터 조각이 판독된 횟수는 상기 복수의 비트값들 중 N 비트값들로 표현될 수 있고, N은 M보다 작다.
상기 결정 유닛은 빈번하게 액세스되는 데이터가 상기 제2 기록 매체 내의 제1 기록 위치에 기록되고 덜 빈번하게 액세스되는 데이터는 상기 제2 기록 매체 내의 제2 기록 위치에 기록되도록 상기 제2 기록 매체 내의 데이터 조각의 기록 위치를 결정할 수 있고, 상기 제2 기록 위치는 상기 제2 기록 매체로부터 데이터를 판독하는데 요구되는 시간이 상기 제1 기록 위치에서의 것보다 긴 위치이다. 이 경우에, 상기 제2 기록 매체는 데이터가 테이프 매체의 제1 단부로부터 제2 단부로의 방향으로 판독되는 테이프 매체일 수 있고, 상기 제2 기록 위치는 상기 제1 기록 위치가 상기 제2 단부에 가까운 것보다 상기 제2 단부에 더 가까울 수 있다. 대안으로, 상기 제2 기록 매체는 데이터가 테이프 매체의 제1 단부로부터 제2 단부로의 방향으로 판독되는 테이프 매체일 수 있고, 상기 테이프 매체는 상기 테이프 매체를 적어도 하나의 위치에서 길이 방향으로 분할함으로써 형성된 복수의 영역을 가지며; 상기 제1 기록 위치는 상기 복수의 영역 중 제1 영역 내의 위치이고, 상기 제2 기록 위치는 상기 복수의 영역 중 제2 영역 내의 위치이며, 상기 제2 영역은 상기 제1 영역이 상기 제2 단부에 가까운 것보다 상기 제2 단부에 더 가깝다.
본 발명은 또한 기록 매체에서의 데이터 조각들의 재배열을 지원하는 장치를 제공한다. 이 장치는 상기 기록 매체에 기록된 데이터 조각들 각각에 대해, 상기 데이터 조각이 상기 기록 매체에 기록된 후 상기 기록 매체로부터 어떤 데이터가 판독된 횟수를 나타내는 제1 정보 및 상기 데이터 조각이 상기 기록 매체로부터 판독된 횟수를 나타내는 제2 정보를 획득하는 획득 유닛; 상기 획득 유닛에 의해 획 득된 상기 제1 정보 및 제2 정보를 이용하여 상기 데이터 조각에 대한 액세스 빈도를 추적하는 추적 유닛; 및 상기 추적 유닛에 의해 추적된 액세스 빈도에 기초하여 상기 기록 매체 내의 상기 데이터 조각의 기록 위치를 결정하는 결정 유닛을 포함한다.
본 발명은 또한 제1 테이프 매체에 기록된 데이터 조각들을 제2 테이프 매체로 이동시키는 장치를 포함한다. 이 장치는 상기 제1 테이프 매체에 기록되고 주 데이터와 상기 주 데이터와 연관된 정보를 나타내는 메타데이터를 포함하는 데이터 조각들 각각에 대해, 상기 데이터 조각이 상기 제1 테이프 매체에 기록된 후 어떤 데이터를 판독하기 위해 상기 제1 테이프 매체가 테이프 드라이브에 장착된 횟수를 나타내는 제1 정보 및 상기 데이터 조각이 상기 제1 테이프 매체로부터 판독된 횟수를 나타내는 제2 정보를 획득하는 획득 유닛; 상기 획득 유닛에 의해 획득된 상기 제2 정보가 나타내는 횟수와 상기 제1 정보가 나타내는 횟수의 비를, 상기 데이터 조각에 대한 액세스 빈도로서, 추적하는 추적 유닛; 및 상기 데이터 조각을 상기 추적 유닛에 의해 추적된 액세스 빈도의 하향 순서로 상기 제2 테이프 매체에 기록하는 기록 유닛을 포함한다.
또한, 본 발명은 제1 기록 매체에 기록된 데이터 조각들의 제2 기록 매체로의 이동을 지원하는 방법을 제공한다. 이 방법은 상기 제1 기록 매체에 기록된 데이터 조각들 각각에 대해, 상기 데이터 조각이 상기 제1 기록 매체에 기록된 후 상기 제1 기록 매체로부터 어떤 데이터가 판독된 횟수를 나타내는 제1 정보 및 상기 데이터 조각이 상기 제1 기록 매체로부터 판독된 횟수를 나타내는 제2 정보를 획득 하는 단계; 상기 획득된 상기 제1 정보 및 상기 획득된 제2 정보를 이용하여 상기 데이터 조각에 대한 액세스 빈도를 추적하는 단계; 및 상기 추적된 액세스 빈도에 기초하여 상기 제2 기록 매체 내의 상기 데이터 조각의 기록 위치를 결정하는 단계를 포함한다.
또한, 본 발명은 컴퓨터가, 제1 기록 매체에 기록된 데이터 조각들의 제2 기록 매체로의 이동을 지원하는 장치로서 기능을 하게 하는 프로그램 제품을 포함한다. 이 장치는 상기 제1 기록 매체에 기록된 데이터 조각들 각각에 대해, 상기 데이터 조각이 상기 제1 기록 매체에 기록된 후 상기 제1 기록 매체로부터 어떤 데이터가 판독된 횟수를 나타내는 제1 정보 및 상기 데이터 조각이 상기 제1 기록 매체로부터 판독된 횟수를 나타내는 제2 정보를 획득하는 획득 유닛; 상기 획득 유닛에 의해 획득된 상기 제1 정보 및 제2 정보를 이용하여 상기 데이터 조각에 대한 액세스 빈도를 추적하는 추적 유닛; 및 상기 추적 유닛에 의해 추적된 액세스 빈도에 기초하여 상기 제2 기록 매체 내의 상기 데이터 조각의 기록 위치를 결정하는 결정 유닛을 포함한다.
본 발명은 시간축을 이용하지 않고 실제 액세스 빈도를 데이터 이동시 고려하여 성능을 향상시키는 것을 가능하게 한다.
이하, 본 발명을 실시하기 위한 최선의 방법(이하, "실시예"라고 함)에 대해 첨부 도면을 참조하여 상세히 설명한다. 본 발명은 어떤 타입의 기록 매체에라도 적용 가능하지만, 여기서는 테이프 매체(이하 간단히 "테이프"라고 함)를 예로서 설명한다. 이는 요즘에는 계속 증가하는 많은 양의 데이터를 고속 기억 장치에 저장하는 것이 어려워져, 테이프 드라이브와 같은 저속 기억 장치에 저장된 데이터 조각들도 액세스 빈도에 기초하여 배열되는 것이 중요하기 때문이다.
먼저, 본 발명이 적용되는 디지털 데이터 보관 장치(이하, 간단히 "보관 장치"라고 함)에 대해 설명한다.
도 1은 본 실시예가 적용되는 보관 장치(100)의 예시적인 구성을 예시한다.
예시된 바와 같이, 보관 장치(100)는 테이프 드라이브(tape drive; 10), 제어 메커니즘(control mechanism; 30), 액세서(accessor; 40), 및 카트리지 슬롯(cartridge slot; 50)을 포함한다.
테이프 드라이브(10)는 호스트 인터페이스(이하, "호스트 I/F"라고 함)(11), 버퍼(12), 채널(13), 기록 헤드(14a), 판독 헤드(14b), 및 모터(15)를 포함한다. 테이프 드라이브(10)는 제어기(16), 헤드 위치 제어 시스템(17), 및 모터 구동기(18)를 더 포함한다. 테이프 드라이브(10)에 삽입 및 로딩될 수 있는 테이프 카트리지(이하, 간단히 "카트리지"라고 함)(20)가 또한 도 1에 예시되어 있다. 카트리지(20)는 릴(21, 22)에 감긴 테이프(23)를 포함한다. 릴(21, 22)이 회전함에 따라, 테이프(23)는 릴(21)에서부터 릴(22)로 또는 릴(22)에서부터 릴(21)로 길이방향으로 이동한다. 자기 테이프가 테이프(23)의 일예로서 설명되지만, 테이프(23)는 자기 테이프 이외의 테이프 매체일 수 있다.
카트리지(20)는 카트리지 메모리(24)를 더 포함한다. 예컨대, 카트리지 메 모리(24)는 데이터가 테이프(23)에 기록되는 법에 관한 정보를 기록한다. 데이터에 대한 고속 액세스는 예컨대 무접촉 방식의 RF 인터페이스를 통해, 테이프(23)에 기록된 데이터의 인덱스 및 테이프(23)를 사용하는 법을 체크함으로써 실현될 수 있다. 카트리지 메모리(24)에 대한 액세스를 가능하게 하는 RF 인터페이스와 같은 인터페이스가 도 1에 카트리지 메모리 인터페이스(이하, "CM I/F"라고 함)(19)로서 예시되어 있다.
호스트 I/F(11)는 제어 메커니즘(30)을 통해 호스트(200)와 통신한다. 예컨대, 호스트(200)로부터, 호스트 I/F(11)는 테이프(23)에 데이터를 기록하라는 명령(제1 명령), 테이프(23)를 원하는 위치로 이동시키라는 명령(제2 명령), 및 테이프(23)로부터 데이터를 판독하라는 명령(제3 명령)을 수신한다. 예컨대, 호스트 I/F(11)는 SCSI를 통신 규격으로서 이용한다. SCSI에서, 제1 명령은 기록 명령에 대응하고, 제2 명령은 찾기 명령(Locate command) 또는 스페이스 명령(Space command)에 대응하며, 제3 명령은 판독 명령에 대응한다. 호스트 I/F(11)는 이러한 명령에 대응하는 프로세싱이 성공적으로 이루어졌는지를 나타내는 응답을 호스트(200)에 제공한다.
버퍼(12)는 테이프(23)에 기록될 데이터 및 테이프(23)로부터 판독된 데이터를 저장하는 메모리이다. 예컨대, 버퍼(12)는 동적 랜덤 액세스 메모리(DRAM)이다. 버퍼(12)는 복수의 버퍼 세그먼트(buffer segment)를 가진다. 버퍼 세그먼트 각각은 테이프(23)에 대한 데이터의 판독 및 기록 단위인 데이터 세트를 저장한다.
채널(13)은 테이프(23)에 기록될 데이터를 기록 헤드(14a)에 전송하고 테이 프(23)로부터 판독된 데이터를 기록 헤드(14b)로부터 수신하는 데 사용되는 통신 채널이다.
테이프(23)가 그 길이 방향으로 이동하면, 기록 헤드(14a)는 정보를 테이프(23)에 기록하고, 판독 헤드(14b)는 테이프(23)로부터 정보를 판독한다.
모터(15)는 릴(21, 22)을 회전시킨다. 모터(15)는 도 1에서 단일의 직사각형으로 표현되어 있지만, 각각의 릴(21, 22)에 두 모터(15)를 제공하는 것이 바람직하다.
제어기(16)는 테이프 드라이브(10)의 전체 동작을 제어한다. 예컨대, 호스트 I/F(11)에 의해 수신되는 명령에 따라, 제어기(16)는 테이프(23)에 대한 데이터의 기록 또는 판독을 제어한다. 제어기(16)는 또한 헤드 위치 제어 시스템(17) 및 모터 구동기(18)를 제어한다.
헤드 위치 제어 시스템(17)은 기록 헤드(14a) 및 판독 헤드(14b)가 하나 이상의 원하는 랩(wrap)을 추적할 수 있도록 제어를 수행하는 시스템이다. 여기서, 용어 "랩(wrap)"은 테이프(23) 상의 트랙 그룹을 말한다. 랩의 전환이 필요한 경우, 기록 헤드(14a)와 판독 헤드(14b) 간의 전기적 전환을 수행하는 것이 필요하다. 이러한 전환 제어는 헤드 위치 제어 시스템(17)에 의해 수행된다.
모터 구동기(18)는 모터(15)를 구동한다. 두 모터(15)가 위에서 설명된 바와 같이 제공될 때, 2개의 모터 구동기(18)들이 그에 따라 제공된다.
제어 메커니즘(30)은 호스트(200)로부터의 명령에 따라 액세서(40) 및 테이프 드라이브(10)를 제어하는 메커니즘이다. 제어 메커니즘(30)은 액세서(40)에게 호스트(200)에 의해 지정된 데이터가 카트리지(20)에 대해 판독 또는 기록되도록 테이프 드라이브(10)에 카트리지(20)를 로딩하도록 지시한다. 또한, 제어 메커니즘(30)은 테이프 드라이브(10)에게 호스트(200)에 의해 지정된 데이터를 액세스(40)에 의해 로딩된 카트리지(20)에 대해 판독 또는 기록하도록 지시한다.
제어 메커니즘(30)의 제어 하에서, 액세서(40)는 카트리지 슬롯(50)으로부터 카트리지(20)를 꺼내 카트리지(20)를 테이프 드라이브(10)에 로딩한다.
카트리지 슬롯(50)은 판독 동작 및 기록 동작이 수행되지 않는 카트리지(20)를 적재하기 위한 장소이다. 도 1에서는 카트리지 슬롯(50)이 단일의 직사각형으로 표현되어 있지만, 실제로는 복수의 카트리지를 적재하기 위한 복수의 슬롯이 존재한다.
도 1에는 하나의 테이프 드라이브(10)만이 도시되어 있지만, 테이프 드라이브(10)는 복수로 제공될 수 있다. 이 경우에, 액세서(40)에게 테이프 드라이브(10)들 중 하나에 카트리지(20)를 로딩하라고 지시하기 위해, 제어 메커니즘(30)은 판독 명령 또는 기록 명령의 목적지인 테이프 드라이브(10)에 관한 식별 정보를 액세서(40)에 전송한다. 도 1은 하나의 카트리지(20)만이 로딩될 수 있는 테이프 드라이브(10)를 예시하나, 테이프 드라이브(10)는 복수의 카트리지(20)가 로딩될 수 있는 테이프 드라이브일 수 있다.
테이프 드라이브(10)에 의한 테이프(23) 상에 기록된 데이터에 대한 액세스의 성능은 테이프(23)상의 기록 위치에 따라 크게 달라진다. 그러므로, 데이터에 대한 액세스 빈도를 고려하지 않고 데이터를 테이프(23)로 이동시키면, 빈번하게 액세스되는 데이터에 대한 액세스 속도가 감소될 수 있다. 결과적으로, 데이터 액세스 성능이 저하될 수 있다.
요즘에, 테이프 드라이브(10)는 사진 데이터, 비디오 데이터 등의 보관 장치로서 사용되곤 한다. 그러므로, 데이터(주 데이터) 자체뿐만 아니라, 주 데이터에 관한 부가 정보의 역할을 하는 메타데이터가 장시간 동작 저장될 데이터로서 중요해지고 있다. 예컨대, 사진 데이터에 대한 메타데이터는 사진을 찍은 장소, 날짜, 시간, 촬영자 이름, 사진 장비, 기록 포맷, 파일 명, 파일 크기와 같은 정보를 제공할 수 있다. 메타데이터는 데이터와 밀접하게 연관되며, 따라서 데이터와 함께 취급되곤 한다. 그러므로, 데이터가 테이프(23) 상에 보관 데이터로서 저장되고 데이터에 대한 메타데이터가 동일한 테이프(23) 상에 저장될 때, 데이터와 메타데이터가 적절히 배열되지 않는 한 액세스 성능은 저하될 것이다.
그러므로, 본 실시예에서, 서로 연관되어 테이프(23) 상에 기록된 데이터 조각들에 대한 액세스 빈도가 기록되어 데이터 이동을 수행하는데 이용된다. 따라서, 데이터 이동시, 데이터 및 메타데이터의 그룹들에 대한 액세스 성능에 적절한 배열이 실현된다.
구체적으로, 다음의 구성이 채택된다.
데이터 및 메타데이터는 dm-id에 의해 서로 연관된다. 데이터 또는 메타데이터가 액세스될 때마다, 액세스 히소토리가 dm-id에 대응하는 액세스 카운터 변수(이하, 간단히 "카운터"라고 함) 그룹에 기록된다. 순차 액세스 기록 매체인 테이프의 특성 때문에, 액세스 히스토리는 시간 축을 참조하지 않고 테이프(23)가 데 이터의 판독을 위해 장착된 횟수를 참조하여 카운터 그룹에 기록된다. 테이프(23)의 휴대성을 위해, 카운터 그룹은 테이프(23)에 부착된 반도체 메모리에 기록된다.
액세스 히스토리가 위에서 설명된 바와 같이 기록된 후 기록 매체(A)로부터 기록 매체(B)로의 데이터 이동을 위해, 기록 매체(A)에서 dm-id에 의해 서로 연관된 데이터 및 메타데이터에 대한 액세스 빈도는 카운터 그룹에 기초한 정책에 따라 계산된다. 다음에, 보다 양호한 액세스 성능을 위해, 데이터 및 메타데이터 조각들이 액세스 빈도의 하향 순서로 기록 매체(B) 상에 재배열된다. 여기서 채택된 재배열법은 연관된 데이터 및 메타데이터의 세트들을 테이프(23)에 테이프(23)의 시작 부분부터 순차적으로 기록하는 것이다. 따라서, 테이프(23)의 시작 부분으로부터 순차적으로 데이터 및 메타데이터의 세트들을 판독함에 있어 액세스 성능이 향상된다.
이하, 상기 동작을 실현하는 구성에 대해 상세히 설명한다.
먼저, 데이터와 메타데이터 간의 연관성에 대해 설명한다.
도 2는 데이터가 어떻게 메타데이터와 연관되는지에 대해 개략적으로 예시한다.
도 2(a)에 예시된 바와 같이, 호스트(200)는 식별 번호 dm-id를 데이터 및 메타데이터에 할당함으로써 데이터와 메타데이터 간의 연관성을 먼저 생성한다. 다음에, 호스트(200)는 데이터를 데이터 포트를 통해 제어 메커니즘(30)에 전달하고, 메타데이터를 메타데이터 포트를 통해 제어 메커니즘(30)에 전달한다.
제어 메커니즘(30)에서, 데이터 포트를 통해 전달된 정보는 데이터로서 취급 되며, ID 발생 유닛(31)이 d-id를 발생하여 이 데이터에 할당한다. 여기서, d-id는 데이터를 식별하기 위한 식별 번호이고, 적어도 보관 장치(100)가 동작하는 환경에서 고유한 값이다. 또한, 제어 메커니즘(30)에서, 메타데이터 포트를 통해 전달되는 정보는 메타데이터로서 취급되며, ID 발생 유닛(31)이 m-id를 발생하여 이 메타데이터에 할당한다. 여기서, m-id는 메타데이터를 식별하기 위한 식별 번호이고, 적어도 보관 장치(100)가 동작하는 환경에서 고유한 값이다. 데이터 및 메타데이터가 제어 메커니즘(30)에 임시적으로 별개로 전달될 때에도, 데이터와 메타데이터 간의 관계는 보관 장치(100) 내에서 dm-id에 의해 설정될 수 있다.
따라서, dm-id에 기초한 데이터와 메타데이터 간의 관계가 제어 메커니즘(30)에 의해 데이터베이스(DB; 32)에 dm-a 테이블(이하, 간단히 "dm-a"라고 함)로서 기록된다. 도 2(b)는 dm-a의 포맷을 예시한다. 도 2(b)의 예에서 하나의 데이터 조각이 하나의 메타데이터와 연관되지만, 데이터와 메타데이터는 M과 N의 비로 존재할 수 있으며, 여기서 M과 N은 자연수이다.
부가적으로, 보관 장치(100)에서의 데이터와 메타데이터의 기록 위치들은 데이터와 메타데이터의 각각에 대해, 제어 메커니즘(30)에 의해 dm-l 테이블(이하, 간단히 "dm-l"라고 함)로서 기록된다. 도 2(c)는 dm-l의 포맷을 예시한다. 복수의 기억 공간들이 보관 장치(100)에 구현되고, 데이터 및 메타데이터의 복수의 복사본들이 복수의 저장 공간들에 존재하는 경우, 복사본들의 수만큼의 엔트리들이 dm-l에 등록된다. 도 2(c)에서, 엔트리들은 위치-1 및 위치-2로 나타낸다.
이하, 데이터와 메타데이터 간의 연관성에 대해 일 예를 이용하여 설명한다.
도 3은 데이터와 메타데이터 간의 연관성의 일예를 예시한다.
도 3(a)는 d-id로 식별되는 데이터와 m-id로 식별되는 메타데이터가 dm-id에 의해 식별되는 관계를 가지며 매체 명 "A001"를 가진 기록 매체에 기록된 상태를 나타낸다. 구체적으로, d-id "d3"에 의해 식별되는 데이터 조각과 m-id "m4", m-id "m6" 및 m-id "m8"에 의해 식별되는 메타데이터 조각들 각각은 dm-id "dm03"에 의해 식별되고 기록되는 관계를 가지며, d-id "d1"에 의해 식별되는 데이터 조각과 m-id "m1" 및 m-id "m7"에 의해 식별되는 메타데이터 조각들 각각은 dm-id "dm01"에 의해 식별되고 기록되는 관계를 가지며, d-id "d2"에 의해 식별되는 데이터 조각과 m-id "m5"에 의해 식별되는 메타데이터 조각은 dm-id "dm02"에 의해 식별되고 기록되는 관계를 가지며, d-id "d5"에 의해 식별되는 데이터 조각과 m-id "m9"에 의해 식별되는 메타데이터 조각은 dm-id "dm04"에 의해 식별되고 기록되는 관계를 가진다. 본 명세서에서, dm-id에 의해 서로 연관된 데이터와 메타데이터 간의 조합을 이제 "DM"이라고 한다.
도 3(b)는 dm-id "dm03"를 가진 DM의 식별자들(d-id 및 m-id)이 dm-a에 열거되는 법을 예시한다.
데이터와 메타데이터는 기록 준비 완료시 테이프(23)에 기록되므로, 데이터와 메타데이터의 조각들을 테이프(23)에 기록하는 순서는 특유하게 결정되는 것은 아니다.
그러므로, 데이터와 메타데이터 간의 관계가 dm-id에 의해 논리적으로 설정되더라도, 테이프(23) 상에서의 데이터와 메타데이터의 조각들의 기록 위치들은 물 리적으로 분산될 수 있다.
도 4는 테이프(23) 상에 분산 기록된 데이터와 메타데이터의 조각들의 일 예를 예시한다. 예시된 바와 같이, 복수의 랩이 테이프(23) 상에 존재한다. 도 4에서, 각각의 속이 빈 화살표는 데이터와 메타데이터가 테이프(23)에 기록되는 방향을 나타내고, 각각의 속이 찬 화살표는 테이프(23)의 주행 방향이 역전됨을 나타낸다.
먼저, m-id "m6"을 가진 메타데이터, d-id "d3"을 가진 데이터, m-id "m1"을 가진 메타데이터, d-id "d1"를 가진 데이터, m-id "m4"를 가진 메타데이터는 순방향으로 랩 #0에 기록된다. 다음에, m-id "m5"를 가진 메타데이터와 d-id "d2"를 가진 데이터는 역 방향으로 랩 #1에 기록된다. 다음에, m-id "m7"를 가진 메타데이터, m-id "m9"를 가진 메타데이터, d-id "d5"를 가진 데이터, m-id "m8"를 가진 메타데이터는 다시 순방향으로 랩 #2에 기록된다.
즉, 도 3(a)에 예시된 것과 같은 데이터 및 메타데이터의 조각들의 그룹들이 주어진 기록 매체에 저장되는 경우에도, 그 조각들이 테이프(23)로 이동되면, 조각들은 데이터와 메타데이터가 서로 어떻게 연관되는지에 관계없이 배열될 수 있다. 이 경우에, dm-id를 가진 DM은 테이프(23)의 위치 결정이 복수 회 수행되지 않는 한 판독될 수 없으므로, 액세스 성능은 테이프(23)의 위치 결정을 수행함으로써 저하되게 된다.
본 실시예에서, 기록된 데이터와 메타데이터는 이동시 액세스 빈도에 기초하여 재배열된다.
여기서, 각각의 DM에 대해 다음의 3개의 카운터들이 정의된다.
(1) 판독 액세스 장착 카운터(Ram-count)
Ram-count는 각 dm-id에 대해 정의된 카운터이다. Ram-count는 dm-id에 의해 서로 연관된 데이터와 메타데이터의 조각들이 테이프(23)에 기록된 후 데이터 판독을 위해 테이프(23)가 장착된 횟수를 보유한다. 본 실시예는 테이프(23)로부터 데이터를 판독하는 것이 필요하게 될 때마다 데이터가 기록된 테이프(23)가 테이프 드라이브(10)에 장착된다는 가정에 기초한다. 이하, 판독을 위해 테이프(23)를 장착하는 것을 "판독 장착 동작(read mount operation)"이라고 한다.
위에서 설명된 Ram-count의 정의에서, 가장 큰 Ram-count를 가진 dm-id는 테이프(23)에 가장 덜 최근에 기록된 데이터와 메타데이터를 연관시키는 것이다. 각각의 dm-id에 할당된 Ram-count는 어떤 데이터 및 메타데이터가 비교적 새로운 것이고 또는 오래된 것인지를 보여주며, 또한 판독을 위해 데이터와 메타데이터에 액세스할 확률을 보여준다. 이 카운터의 랩핑(wrapping)을 방지하기 위해, 카운터는 큰 값을 보유하도록 정의될 필요가 있다. 카운터는 랩핑되면 0으로 리셋된다.
(2) 판독 빈도 카운터(Dm-readfreq)
Dm-readfreq는 또한 각각의 dm-id에 대해 정의된 카운터이다. Dm-readfreq는 판독 장착 동작이 Ram-count에 의해 나타낸 횟수만큼 수행되는 동안에 dm-id에 의해 서로 연관된 데이터 및 메타데이터가 판독되는 것을 어느 정도 나타내는 히스토리를 보유한다. Dm-readfreq는 데이터 및 메타데이터 중 어느 하나가 판독될 때 갱신된다.
예컨대, Dm-count의 최대값은 16이며, 즉 Dm-count는 과거 16 회의 판독 장착 동작 동안의 히스토리만을 보유한다. 이 경우에, Dm-readfreq의 각 비트가 dm-id를 가진 데이터 또는 메타데이터가 판독되었는지의 여부를 나타낼 때, Dm-readfreq는 16 비트로 표현된다.
그러나, 1회의 판독 장착 동작에 1 비트가 할당되는 경우, 예컨대 과거 256회의 판독 장착 동작들의 히스토리로부터 액세스 빈도를 측정하는 것이 요구될 때, 32 바이트(256 비트) 메모리 영역을 준비하는 것이 필요하다.
따라서, 복수의 판독 장착 동작들을 1 비트로 나타내는 방법에 관해 설명한다.
예컨대, 8회의 판독 장착 동작이 1비트로 표현되면, 4 바이트(256 비트/8=32비트)의 메모리 영역만이 필요하다. 이 방법은 dm-readfreq 뿐만 아니라 dm 액세스 카운터(후술됨)의 사용을 포함한다. dm 액세스 카운터는 과거의 8회의 판독 장착 동작으로부터 dm-id를 가진 데이터가 판독된 횟수를 보유한다.
그러나, 이 방법의 경우, 카운터는 과거 8회의 판독 장착 동작에서 dm-id가 단지 한번만 판독될 때에도 1을 나타낸다. 이는 dm-id를 가진 데이터가 과거 8회의 판독 장착 동작에서 1회 판독되었는지 아니면 8회 판독되었는지는 모름을 의미한다.
다음에, 복수의 판독 장착 동작을 복수의 비트로 표현하는 법에 대해 설명한다.
예컨대, 8회의 판독 장착 동작이 2비트로 표현될 때, 8 바이트(=256비트 /8x2=32 비트x2)의 메모리 영역이 필요하다. 이 방법은 또한 Dm-readfreq의 이용뿐만 아니라, 과거 8회의 판독 장착 동작에서 dm-id를 가진 데이터가 판독된 횟수를 보유하는 dm 액세스 카운터(후술됨)의 이용을 포함한다.
이 방법에서, 예컨대, 액세스 빈도는 다음과 같이 2 비트로 표현된다:
"00": 액세스 없음
"01": 1 내지 2회
"10": 3 내지 5 회
"11": 6 내지 8회
이들 정의는 빈도 계산 정책에 따라 달라질 수 있다.
(3) Dm 액세스 카운터(Dm-count)
Dm-count는 Dm-readfreq에서 한 단위로서의 N(<M) 비트로 표현된 M 회의 판독 장착 동작들에서 dm-id를 가진 DM이 판독된 횟수를 보유하는 카운터이다.
예컨대, 과거 8회의 판독 장착 동작이 한 단위로 함께 그룹화될 때, dm-id를 가진 데이터가 모든 과거 8 회의 판독 장착 동작 각각에서 판독되면, Dm-count는 8를 나타낸다. dm-id를 가진 데이터가 2회 판독되면, Dm-count는 2를 나타낸다.
테이프(23)의 8회의 판독 장착 동작과 같은 한 단위의 판독 장착 동작들 후에, Dm-count는 0으로 리셋된다. 여기서, Ram-count는 한 단위로 함께 그룹화된 8회의 판독 장착 동작을 카운트하는데 사용된다. 즉, Dm-count는 판독 장착 동작들의 개수가 8의 배수에 도달한 후에 0으로 리셋된다.
위에서 설명된 3개의 카운터들을 사용하여, 아래에 열거된 것과 같은 정보가 얻어질 수 있다:
1. 테이프(23)의 과거 X 회 판독 장착 동작에서 타겟 dm-id를 가진 DM를 판독한 빈도;
2. 타켓 dm-id를 가진 DM이 판독된 횟수;
3. 테이프(23)의 과거 X 회 판독 장착 동작에서 타겟 dm-id를 가진 DM이 판독된 횟수에 기초하여 계산된 액세스 확률.
4. X 회 판독 장착 동작에서의 액세스 성향, 즉 데이터가 최근에 빈번하게 액세스되었는지 아니면 과거에 빈번하게 액세스되었는지의 여부.
전형적으로, 데이터에 대한 액세스 빈도는 시간축을 참조하여 결정된다. 그러나, 테이프와 같은 제거가능 기록 매체가 기록 장치로부터 배출되거나 기록 장치에서 테이프에 대한 액세스가 없는 경우에, 얼마간 "시간은 정지한다". 그러므로, 본 실시예에서, 데이터에 대한 액세스 빈도는 시간축을 고려하지 않고 테이프가 데이터 판독을 위해 장착된 횟수에 기초하여 결정된다.
위에서 설명된 3개의 카운터의 크기를 정의하는 인자들은 다음과 같다:
1. 타켓팅될 과거 판독 장착 동작의 수.
2. 얼마나 많은 판독 장착 동작들이 얼마나 많은 비트수에 의해 표현되는지.
예컨대, 위에서 설명된 바와 같이, 과거 256 회의 판독 장착 동작들이 액세스 빈도를 측정하기 위해 타겟으로 사용되는 경우에, Ram-count는 1 바이트로 표현된다.
8회의 판독 장착 동작들이 하나의 단위로 함께 그룹화되고 2비트로 표현되는 경우에, dm-readfreq는 8 바이트로 표현되고, dm-count는 4비트로 표현된다.
도 5는 위에서 설명된 경우에서의 3개의 카운터를 예시한다.
3개의 카운터가 각각의 dm-id를 위해 제공되므로, dm-id가 또한 도 5에 예시되어 있다.
dm-id에 할당된 비트 수는 위에서 지정되지 않았으므로, dm-id는 간단히 하나의 직사각형으로 표현됨에 주의한다.
반면에, 3개의 카운터 각각에 할당된 비트수가 지정되므로, 1 비트는 하나의 좁은 직사각형과 연관되어 그 직사각형에 의해 표현된다. 구체적으로, 8 비트 메모리 영역을 요구하는 Ram-count는 8개의 직사각형으로 표현된다. 4비트 메모리 영역을 요구하는 Dm-count는 4개의 직사각형에 의해 표현되며, 4개의 직사각형은 8개의 직사각형 중 4개의 직사각형을 쉐이딩(shading)함으로써 표현된다. 쉐이딩은 4개의 직사각형에 의해 표현된 4비트가 사용되지 않음을 나타낸다. 64 비트 메모리 영역을 요구하는 Dm-readfreq는 64개의 직사각형에 의해 표현된다. 특히, Dm-readfreq에서, 8회의 판독 장착 동작은 한 단위로서 함께 그룹화되고 2 비트로 표현된다. 이와 같이, 도 5는 Dm-readfreq의 우측 끝의 2비트로 표현되는 의미를 보여준다.
다음에, 3개의 카운터들의 값들이 dm 액세스 카운터 테이블에 각각의 dm-id에 대해 저장된다.
도 6은 dm 액세스 카운터 테이블의 일예를 예시한다.
도 6에서, Ram-count 열은 215회의 판독 장착 동작이 dm-id "dm01"를 가진 DM이 기록된 후에 수행되었고, 24 회의 판독 장착 동작이 dm-id "dm02"를 가진 DM이 기록된 후 수행되었으며, 13 회의 판독 장착 동작이 dm-id "dm03"를 가진 DM이 기록된 후 수행되었으며, 156 회의 판독 장착 동작이 dm-id "dm04"를 가진 DM이 기록된 후 수행되었으며, 79 회의 판독 장착 동작이 dm-id "dm05"를 가진 DM이 기록된 후 수행되었음을 보여준다.
또한 도 6에서, Dm-count 열은 dm-id "dm01"를 가진 DM 및 dm-id "dm02"를 가진 DM이 과거 8회의 판독 장착 동작에서 판독된 적이 없고, dm-id "dm03"를 가진 DM이 과거 8회의 판독 장착 동작에서 4회 판독되었고, dm-id "dm04"를 가진 DM이 과거 8회의 판독 장착 동작에서 1회 판독되었으며, dm-id "dm05"를 가진 DM이 과거 8회의 판독 장착 동작에서 7회 판독되었음을 보여준다. 위에서 설명된 횟수는 각각의 dm-id에 대해 Dm-readfreq의 우측 끝의 2 비트로 반영된다.
도 6의 Dm-readfreq 열에서, DM의 판독은 8 비트로 표현된다. DM이 8회의 판독 장착 동작에서 판독된 횟수가 2 비트로 표현되므로, 25 내지 32 회 판독 장착 동작에서 DM이 판독된 횟수가 도 6에 도시되어 있다. 각각의 비트 스트링의 좌측의 일련의 도트 "....."는 비트값들이 생략됨을 나타낸다. Ram-count가 24를 나타내는 dm-id "dm02"의 경우, Dm-readfreq를 표현하는데 6비트면 충분하다. 유사하게, Ram-count가 13을 나타내는 dm-id "dm03"의 경우, Dm-readfreq를 표현하는데 4비트면 충분하다. 그러나, 이들 두 경우에, Dm-readfreq는 좌측에 0으로 채워진 8 비트로 표현된다.
다음에, 3개의 카운터의 갱신에 대해 일 예를 참조하여 설명한다.
도 7은 테이프 트라이브(10)가 기록 명령 또는 판독 명령을 수신할 때 카트리지(20)에 적재된 각 카운터가 갱신되는 법을 예시한다. 상기 설명에서는 언급되지 않았지만, 총 판독 카운터가 또한 도 7에 예시되어 있다. 총 판독 카운터는 각각의 dm-id이 아닌 각각의 테이프(23)에 대한 카운터이며, 테이프(23)가 판독을 위해 장착될 때 갱신된다. 도 7에서, Dm-readfreq는 생략된다. 도 7에서, D1 내지 D3 각각은 DM의 일반화된 표현인 데이터를 나타낸다.
도 7의 A에 예시된 바와 같이, D1에 대한 기록 명령이 수신될 때, 총 판독 카운터는 0을 나타낸다. D1용의 Ram-count 및 Dm-count가 생성되지만, 그들의 값은 모두 0이다.
다음에, 도 7의 B에 예시된 바와 같이, D1에 대한 판독 명령이 수신될 때, 총 판독 카운터는 1로 갱신된다. D1용의 Ram-count 및 Dm-count도 또한 1로 갱신된다.
다음에, 도 7의 C에 예시된 바와 같이, D1에 대한 판독 명령이 수신될 때, 총 판독 카운터는 2로 갱신된다. D1용의 Ram-count 및 Dm-count도 또한 1로 갱신된다.
도 7의 D에 예시된 바와 같이, D2에 대한 기록 명령이 수신될 때, 총 판독 카운터는 2를 유지한다. D1용의 Ram-count 및 Dm-count는 또한 2를 유지한다. D2용의 Ram-count 및 Dm-count가 생성되지만, 그들의 값은 0이다.
다음에, 도 7의 E에 예시된 바와 같이, D1에 대한 판독 명령이 수신될 때, 총 판독 카운터는 3으로 갱신된다. D1용의 Ram-count는 또한 3으로 갱신된다. D1 용의 Dm-count는 또한 3로 갱신되는데, 이는 D1이 판독되었기 때문이다. 반면에, D2용의 Ram-count는 1로 갱신되나, D2용의 Dm-count는 0을 유지하는데, 이는 D2가 판독되지 않았기 때문이다.
다음에, 도 7의 F에 예시된 바와 같이, D2에 대한 판독 명령이 수신될 때, 총 판독 카운터는 4로 갱신된다. 반면에, D1용의 Ram-count는 4로 갱신되나, D1용의 Dm-count는 3을 유지하는데, 이는 D1이 판독되지 않았기 때문이다. D2용의 Ram-count는 2로 갱신된다. D2용의 Dm-count는 1로 갱신되는데, 이는 D2가 판독되었기 때문이다.
다음에, 기록 명령 또는 판독 명령이 도 7의 G, H, 및 I에 예시된 바와 같이 수신될 때, 총 판독 카운터뿐만 아니라, D1, D2, D3에 대한 Ram-count 및 Rd-count는 위에서 설명된 방식과 동일한 방식으로 갱신된다.
다음에, 데이터 및 메타데이터가 다른 테이프(23)로 이동될 때 액세스 빈도에 기초하여 수행되는 재배열에 대해 설명한다.
테이프(23) 상의 데이터 및 메타데이터가 다른 테이프(23)로 (또는 소tm 테이프(23) 자체로) 이동되는 경우, 도 6의 dm 액세스 카운터 테이블에 도시된 액세스 빈도의 하향 순서로 dm-id에 대응하는 데이터 및 메타데이터가 테이프(23) 상에 액세스 수행 면에서 유리한 위치들에 기록된다.
액세스 빈도를 결정하는 가장 기본적인 방법은 Dm-count/총 판독 카운터를 계산하는 것이다(이하, 이 결정 방법을 "기본 방법"이라고 한다). 그러나, 이 기본 방법이 액세스 빈도를 결정할 때 사용되는 경우에, 결과는 DM이 테이프(23)에 기록된 시간에 따라 달라진다. 예컨대, 테이프(23)에 먼저 기록된 DM은 Ram-count가 100에 도달한 후 테이프(23)에 기록된 DM과 간단히 비교될 수는 없다.
그러므로, 본 실시예는 액세스 빈도를 결정하는 다음의 방법들을 채택한다.
(제1 결정 방법)
제1 결정 방법은 Dm-count/Ram-count를 계산함으로써 DM에 대한 상대적인 액세스 빈도를 결정하는 방법이다.
제1 결정 방법에 대해 도 6에 예시된 예를 참조하여 설명한다. 여기서는, 0들이 Dm-readfreq의 생략된 부분 "....."의 비트값으로서 존재한다고 가정한다.
기본 방법이 사용되고, 총 판독 카운터가 250을 나타내는 경우, "dm01"를 가진 DM에 대한 액세스 빈도는 0.02 (=5/250)이고, "dm02"를 가진 DM에 대한 액세스 빈도는 0이며, "dm03"을 가진 DM에 대한 액세스 빈도는 0.012(=3/250)이고, "dm04"를 가진 DM에 대한 액세스 빈도는 0.016(=4/250)이며, "dm05"를 가진 DM에 대한 액세스 빈도는 0.016(=4/250)이다. 즉, 액세스 빈도의 하향 순서는 dm01, dm05, dm04, dm03, dm02이다. 결과적인 값들이 동일하면, 보다 최근에 액세스된 DM은 보다 빈번하게 액세스된 DM인 것으로 정의된다.
반면에, 제1 결정 방법이 사용되는 경우, "dm01"를 가진 DM에 대한 액세스 빈도는 0.023 (=5/215)이고, "dm02"를 가진 DM에 대한 액세스 빈도는 0이며, "dm03"을 가진 DM에 대한 액세스 빈도는 0.231(=3/13)이고, "dm04"를 가진 DM에 대한 액세스 빈도는 0.026(=4/156)이고, "dm05"를 가진 DM에 대한 액세스 빈도는 0.051(=4/79)이다. 즉, 액세스 빈도의 하향 순서는 dm03, dm05, dm04, dm01, dm02 이다. 이 순서는 기본 방법에 의해 얻어진 순서와는 다르다.
(제2 결정 방법)
제2 결정 방법은 각각의 DM에 대해 보유된 Ram-count가 액세스 빈도를, 계산될 DM를 선택하기 위한 기준으로서 사용하는 방법이다.
예컨대, 최근에 기록된 DM은 액세스 빈도가 계산될 DM들로부터 제거될 수 있다. 구체적으로, 예컨대, 3 이하인 Ram-count를 가진 DM이 제거될 수 있다.
대안으로, 특정 시간 기간 동안에, 예컨대 과거 제x 내지 제y 판독 장착 동작으로부터 DM이 얼마나 빈번하게 액세스되었는지를 측정하는 것이 요구될 수 있다. 이 경우에, 예컨대, 액세스 빈도가 계산될 DM은 100 내지 70 범위의 Ram-count를 가진 DM들에 한정된다. 다음에, 각각의 DM이 제100 판독 장착 동작에서부터 제70 판독 장착 동작까지의 기간에 액세스된 횟수는 Dm-readfreq로부터 계산된다. 결과적인 횟수들을 비교함으로써, DM의 대응 부분들이 액세스 빈도의 하향 순서로 배열될 수 있다.
위에서 설명된 제1 결정 방법에서 고려된 Ram-count의 범위는 액세스 빈도가 계산될 타겟들을 제한하기 위한 미리 결정된 범위의 일 예이다.
액세스 빈도가 위에서 설명된 바와 같이 계산되는 경우, 테이프 드라이브(10)는 액세스 빈도에 기초하여 한 테이프로부터 다른 테이프로 데이터를 이동시킨다.
도 8은 데이터 이동 후 데이터 및 메타데이터를 테이프(23) 상에 배열하는 법의 일예를 예시한다. 도 4의 경우에서와 같이, 복수의 랩이 테이프(23) 상에 존 재한다. 또한, 각각의 속이 빈 화살표는 데이터 및 메타데이터가 테이프(23)에 기록되는 방향을 나타내고, 각각의 속이 찬 화살표는 테이프(23)의 주행 방향이 역전됨을 나타낸다. 이 예에서, 액세스 빈도의 하향 순서는 다음과 같다: dm02, dm03, dm01, dm04.
먼저, dm-id "dm02"를 가진 DM의 메타데이터 및 데이터는 랩 #0에 이 순서로 순방향 기록된다. 다음에, dm-id "dm03"을 가진 DM의 메타데이터 및 데이터는 랩 #1에 이 순서로 순방향 기록된다. 다음에, dm-id "dm01"을 가진 DM의 메타데이터는 랩 #1에 역방향으로 기록된다. 다음에, dm-id "dm04"를 가진 DM의 메타데이터 및 데이터는 이 순서로 랩 #2에 순방향 기록된다.
즉, 데이터 이동 후, 도 4의 경우와는 달리, 데이터 및 메타데이터는 도 3에 예시된 논리적 연관성에 기초하여 기록된다. 그러므로, 데이터 및 메타데이터가 테이프(23)로부터 순차적으로 판독되는 경우, 테이프(23)의 불필요한 위치 결정을 수행할 필요가 없어 향상된 액세스 성능이 달성될 수 있다.
위에서 설명된 데이터 이동 방법에서, 데이터 조각들은 본 실시예에서 계산된 액세스 빈도에 따라 배열된다. 그러므로, 실제로 빈번하게 액세스되는 데이터를 액세스하는데 필요한 시간은 감소될 수 있다.
또한, 이동 전에 테이프(23) 상에 분산 방식으로 배열된 데이터 및 메타데이터는 일정한 규칙에 따라(본 실시에서, 순차적으로) 배열되므로, 데이터 및 메타데이터에 대한 액세스 성능은 향상될 수 있다.
많은 양의 데이터를 저장하기 위한 계층형 기억 장치를 구현하는 방법으로 서, 디지털 데이터를 저장하는 보관 시스템은 테이프(23)를 제2 또는 제3 기억 장치로 사용하는 방법을 채택할 수 있다. 이는 실제로 액세스되는, 보관되나 빈번하게 액세스된 데이터가 존재한다는 가정에 기초한다. 본 실시예는 또한 이러한 데이터에 대한 향상된 액세스 성능에 기여한다.
위에서 설명된 예에서, 이동 소스의 역할을 하는 테이프(23)(이하, "소스 테이프(23)"라고 함) 상에 분산 배열된 데이터 및 메타데이터는 각각의 dm-id에 대해 함께 그룹화되어, 이동 목적지의 역할을 하는 테이프(23)(이하, "목적지 테이프(23)"라고 함) 상에 순차적으로 저장된다. 그러나, 목적지 테이프(23) 상에 배열하는 방법은 이에 한정되지 않는다.
이제 다른 배열 방법에 대해 설명한다. 여기서 설명될 배열 방법에서, 데이터는 테이프 매체의 특성 상 테이프(23) 상에 재배열된다. 구체적으로, 이 배열 방법에서, 빈번하게 액세스되는 데이터는 테이프(23)가 장착된 후 쉽게 액세스 가능한 위치에 배열된다.
테이프 기억 장치의 특성들은 데이터 판독 준비로서 수행되는 다음의 동작들을 포함한다.
1. 기억 장치에 카트리지를 장착한다.
2. 테이프(23)의 시작 부분을 기억 장치의 헤드의 위치까지 조절하며, 시작 부분은 판독될 데이터가 저장된 위치이다.
즉, 카트리지의 장착 직후, 기억 장치의 헤드가 테이프(23)의 시작 부분에 위치된다. 그러므로, 테이프(23)의 시작 부분 가까이에 위치된 데이터에 대한 액 세스 속도는 테이프(23)의 끝 부분 가까이에 위치된 데이터에 대한 액세스 속도보다 빠르다. 이는 데이터가 테이프(23)의 끝 부분 가까이에 기록될 때 테이프(23)를 이동시켜 테이프(23)의 위치 결정을 수행할 필요가 있기 때문이다.
도 9(a)는 개방 선형 테이프(linear tape-open; LTO) 규격에 기초한 테이프(23)에 대한 데이터의 정상적인 판독 및 기록을 예시한다.
먼저, 화살표(201)로 나타낸 바와 같이 랩 #1에 대해 데이터를 우측으로 판독 또는 기록한 후, 테이프(23)의 주행 방향은 화살표(202)로 나타낸 바와 같이 역전된다. 다음에, 랩 #1에 대해 좌측으로 데이터를 좌측으로 판독 또는 기록한 후, 테이프(23)의 주행 방향은 화살표(203)로 나타낸 바와 같이 역전된다. 다음에, 랩 #2에 대해 우측으로 데이터를 판독 또는 기록한 후, 테이프(23)의 주행 방향은 화살표(204)로 나타낸 바와 같이 역전된다. 마지막으로, 화살표(205)로 나타낸 바와 같이 데이터는 랩 #55에 대해 좌측으로 판독 또는 기록된다.
이와 같이, LTO에서, 헤드는 테이프(23) 상에 정의된 랩으로 불리는 복수의 데이터 기억 영역 상에서, 테이프(23)의 시작 부분으로부터 끝 부분까지 왕복하면서 데이터를 테이프(23)에 대해 판독 또는 기록한다. 데이터 조각들이 순차적으로 테이프(23)에 대해 판독 또는 기록될 때, 헤드는 위에서 설명된 바와 같이 랩 상에서 왕복한다. 그러나, 헤드가 한 랩으로부터 다른 랩으로의 전환을 위해 테이프(23)의 폭을 가로질러 이동하는 기계적 동작이 짧은 시간에 완료된다. 그러므로, 이 LTO 포맷에서도, 테이프(23)의 시작 부분 가까이에 위치된 데이터는 테이프(23)의 끝 부분 가까이에 위치된 데이터보다 빠르게 액세스될 수 있다.
따라서, 빈번하게 액세스되는 데이터는 테이프(23)의 시작 부분 가까이에 배열되고 덜 빈번하게 액세스되는 데이터는 테이프(23)의 끝 부분 가까이에 배열되는 것이 바람직하다. 여기서, 테이프(23)의 시작 부분은 제1 단부의 일예이고, 테이프(23)의 끝 부분은 제2 단부의 일예이다.
일부 테이프 기억 장치들은 분할(segmentation)이라고 하는 기능을 구현한다. 분할은 테이프(23)를 복수의 세그먼트로 분할하고, 데이터를 제1 세그먼트에서부터 시작해서 테이프에 순차적으로 기록하는 방법이다. 여기서, 세그먼트는 테이프(23)를 길이 방향으로 적어도 한 위치에서 분할함으로써 형성되는 예시적인 영역이다.
도 9(b)는 분할을 사용하여 수행되는 데이터의 판독 및 기록을 예시한다.
먼저, 화살표(211)로 나타낸 바와 같이 랩 #0의 세그먼트 #1에 대해 데이터를 우측으로 판독하거나 기록한 후에, 테이프(23)의 주행 방향은 화살표(212)로 나타낸 바와 같이 역전된다. 다음에, 랩 #1의 세그먼트 #1에 대해 좌측으로 판독하거나 기록한 후에, 테이프(23)의 주행 방향은 화살표(213)로 나타낸 바와 같이 역전된다. 다음에, 랩 #2의 세그먼트 #1에 대해 데이터를 우측으로 판독하거나 기록한 후에, 테이프(23)의 주행 방향은 화살표(214)로 나타낸 바와 같이 역전된다. 다음에, 화살표(215)로 나타낸 바와 같이, 데이터는 랩 #55의 세그먼트 #1에 대해 좌측으로 판독하거나 기록된다.
다음에, 화살표(220)로 나타낸 바와 같이, 헤드의 위치는 랩 #0의 세그먼트 #2로 이동한다. 다음에, 화살표(221)로 나타낸 바와 같이 랩 #0의 세그먼트 #2에 대해 데이터를 우측으로 판독 또는 기록한 후에, 테이프(23)의 주행 방향은 화살표(222)로 나타낸 바와 같이 역전된다. 다음에, 랩 #1의 세그먼트 #2에 대해 좌측으로 판독 또는 기록한 후에, 테이프(23)의 주행 방향은 화살표(223)로 나타낸 바와 같이 역전된다. 다음에, 랩 #2의 세그먼트 #2에 대해 데이터를 우측으로 판독 또는 기록한 후에, 테이프(23)의 주행 방향은 화살표(224)로 나타낸 바와 같이 역전된다. 다음에, 화살표(225)로 나타낸 바와 같이, 데이터는 랩 #55의 세그먼트 #2에 대해 데이터를 좌측으로 판독 또는 기록된다.
위에서 설명된 바와 같이, 세그먼트 #1에 대한 액세스 속도는 세그먼트 #2에 대한 액세스 속도보다 빠르다. 3 개 이상의 세그먼트들이 존재할 때, 테이프(23)의 시작 부분에 더 가까운 세그먼트에 대한 액세스 속도는 일반적으로 테이프(23)의 끝 부분에 더 가까운 세그먼트에 대한 액세스 속도보다 빠르다.
그러므로, 데이터가 위에서 설명된 특성을 이용하여 테이프(23)로 이동될 때, 빈번하게 액세스되는 데이터 및 메타데이터는 테이프(23)의 시작 부분에 더 가까운 세그먼트에 배열되고, 덜 빈번하게 액세스되는 데이터 및 메타데이터는 테이프(23)의 끝 부분에 더 가까운 세그먼트에 배열되는 것이 바람직하다. 여기서, 테이프(23)의 시작 부분에 더 가까운 세그먼트는 제1 단부의 일예이고, 테이프(23)의 끝 부분에 더 가까운 세그먼트는 제2 단부의 일예이다.
도 10은 분할을 이용하여 수행되는 데이터 이동 후에 테이프(23) 상에 배열된 데이터 및 메타데이터의 일 예이다. 도 4의 경우에서와 같이, 복수의 랩이 테이프(23) 상에 존재한다. 또한, 각각의 속이 빈 화살표는 데이터 및 메타데이터가 테이프(23)에 기록되는 방향을 나타내고, 각각의 속이 찬 화살표는 테이프(23)의 주행 방향이 역전됨을 나타낸다. 이 예에서, 액세스 빈도의 하향 순서는 다음과 같다: dm02, dm03, dm01, dm04.
먼저, dm-id "dm02"를 가진 DM의 메타데이터 및 데이터는 이 순서로 랩 #0의 세그먼트 #1에 순방향 기록된다. 다음에, dm-id "dm02"를 가진 DM의 데이터의 나머지 부분은 랩 #1의 세그먼트 #1에 역방향 기록된다. 다음에, dm-id "dm03"을 가진 DM의 메타데이터 및 데이터는 랩 #2의 세그먼트 #1에 이 순서로 순방향 기록된다. dm-id "dm03"를 가진 데이터의 추가적인 부분이 존재한다면, 그 추가적인 부분이 랩 #3의 세그먼트 #1(도시되지 않음)에 기록된다.
다음에, dm-id "dm01"를 가진 DM의 메타데이터 및 데이터는 랩 #0의 세그먼트 #2에 이 순서로 순방향으로 기록된다. 다음에, dm-id "dm04"를 가진 DM의 메타데이터 및 데이터는 랩 #1의 세그먼트 #2에 이 순서로 역 방향으로 기록된다.
즉, 데이터 이동 후에, 도 4의 경우와는 달리, 데이터 및 메타데이터는 도 3에 예시된 논리적 연관성에 기초하여 기록된다. 그러므로, 데이터 및 메타데이터가 테이프(23)로부터 순차적으로 판독될 때, 불필요한 테이프(23)의 위치 결정을 수행할 필요가 없어 향상된 액세스 성능이 달성될 수 있다.
여기서는 하나의 목적지 테이프(23)만이 존재하지만, 복수의 테이프(23)가 데이터 이동의 목적지의 역할을 할 수 있다. 후자의 경우에, 제1 목적지 테이프(23)의 세그먼트 #1가 먼저 사용된다. 제1 목적지 테이프(23)의 세그먼트 #1가 고갈된 후에, 제2 목적지 테이프(23)의 세그먼트 #1이 사용된다. 제2 목적지 테이 프(23)의 세그먼트 #1이 고갈된 후에, 제3 목적지 테이프(23)의 세그먼트 #1이 사용된다. 이 프로세스는 모든 목적지 테이프(23)의 세그먼트 #1이 고갈될 때까지 반복된다. 모든 목적지 테이프(23)의 세그먼트 #1이 고갈된 후에, 제1 목적지 테이프(23)의 세그먼트 #2 및 후속하는 목적지 테이프(23)의 세그먼트들이 순차적으로 사용될 수 있다.
이와 같이, 복수의 목적지 테이프(23)들을 위에서 설명된 바와 같이 준비함으로써, 보다 큰 메모리 공간을 제공하고, 높은 액세스 성능을 가진 세그먼트 #1에 기록될 수 있는 데이터 및 메타데이터의 양을 증가시키는 것이 가능하다. 이는 짧은 시간에 액세스될 수 있는 데이터 및 메타데이터의 양이 증가됨을 의미한다.
또한, 이 방법의 경우, 목적지 테이프(23)들의 수 및 세그먼트들을 정의하는 방식을 변경함으로써, 목적지 테이프(23) 상의 데이터를 액세스하는 빈도에 따라 적절한 메모리 공간을 제공하는 것이 가능하다. 예컨대, 적은 양의 빈번하게 액세스되는 데이터만이 존재될 때, 제1 세그먼트는 테이프(23)의 시작 부분 가까이에 위치되도록 정의될 수 있다. 많은 양의 빈번하게 액세스되는 데이터가 존재할 때에는, 목적지 테이프(23)들의 수가 증가될 수 있고, 또는 제1 세그먼트는 필요한 경우 크게 정의될 수 있다. 액세스 주파수가 달라지는 경우, 세그먼트들의 수를 증가시키는 것이 가능할 수 있어, 데이터 조각들이 액세스 빈도에 기초하여 함께 그룹화되어 적절한 세그먼트들에 기록될 수 있다.
위에서 설명된 데이터 이동 방법에서, 본 실시예에서 계산된 액세스 빈도에 따라 데이터 조각들이 배열된다. 그러므로, 실제로 빈번하게 액세스되는 개별 데 이터 조각들에 대한 액세스 성능을 향상시키는 것이 가능하다.
많은 양의 데이터를 저장하는 계층형 기억 장치를 구현하는 방법으로서, 디지털 데이터를 저장하는 보관 시스템이 테이프(23)를 제2 또는 제3 기억 장치로서 이용하는 법을 채택할 수 있다. 이는 실제로 액세스되는, 보관되나 빈번하게 액세스되는 데이터가 존재한다는 가정에 기초한다. 이러한 보관된 데이터가 개별적으로 액세스되는 상황 하에서, 본 실시예는 또한 과거에 빈번하게 액세스되는 데이터에 대한 향상된 액세스 성능에 기여한다.
데이터 및 메타데이터를 판독함에 있어 액세스 성능에 기초하는 데이터 및 메타데이터 배열 방법에 대해 설명한다. 그러나, 데이터 및 메타데이터를 판독함에 있어 액세스 성능에 기초하지 않은 배열 방법이 채택될 수도 있다.
다음에, 위에서 설명된 동작을 수행하는 테이프 드라이브(10)에 대해 상세히 설명한다. 여기서, dm 액세스 카운터 테이블이 카트리지 메모리(24)에 저장된다. 도 1은 하나의 카트리지(20)만이 로딩될 수 있는 테이프 드라이브(10)를 예시한다. 그러나, 후술되는 예에서는, 두 카트리지(20)가 로딩될 수 있는 테이프 드라이브(10)가 사용된다. 이 경우에, 데이터가 한 테이프 드라이브(10) 내에서 한 카트리지(20)로부터 다른 카트리지로 이동될 수 있으므로, 카트리지(20)를 대체할 필요가 없다.
도 11은 테이프 드라이브(10)의 제어기(16)의 예시적 기능 구성을 예시한 블록도이다.
예시된 바와 같이, 제어기(16)는 명령 처리 유닛(61), 버퍼 관리 유닛(62), 채널 입/출력 유닛(63), 카트리지 메모리 입/출력 유닛(이하, "CM 입/출력 유닛"이라고 함)(64), 빈도 계산 유닛(65), 이동 제어 유닛(66), 헤드 위치 관리 유닛(67), 및 테이프 주행 관리 유닛(68)을 포함한다.
명령 처리 유닛(61)은 호스트 I/F(11)로부터 명령을 수신한다. 명령의 예로는, 버퍼(12)에 데이터를 저장하라는 기록 명령, 버퍼(12)에 저장된 데이터를 테이프(23)에 기록하라는 동기화 명령, 및 테이프(23)로부터 데이터를 판독하라는 판독 명령을 들 수 있다.
명령 처리 유닛(61)이 기록명령을 수신하면, 버퍼 관리 유닛(62)은 버퍼(12)에 데이터를 준비한다. 명령 처리 유닛(61)이 동기화 명령을 수신하면, 버퍼 관리 유닛(62)은 버퍼(12)로부터 데이터를 판독하고, 데이터를 채널 입/출력 유닛(63)에 출력한다. 명령 처리 유닛(61)이 판독 명령을 수신하는 경우, 버퍼(12)에 대응 데이터가 존재하지 않으면, 버퍼 관리 유닛(62)은 채널 입/출력 유닛(63)에게 대응 데이터를 판독할 것을 지시한다. 버퍼(12)에 대응 데이터가 존재하면, 버퍼 관리 유닛(62)은 명령 처리 유닛(61)을 통해 대응 데이터를 호스트(200)에 제공한다.
채널 입/출력 유닛(63)은 버퍼 관리 유닛(62)에 의해 버퍼(12)로부터 판독된 데이터를 채널(13)에 출력한다. 또한, 채널 입/출력 유닛(63)은 채널(13)로부터 수신된 데이터를 버퍼 관리 유닛(62)에 출력한다.
CM 입/출력 유닛(64)은 CM I/F(19)를 통해, 카트리지 메모리(24)에 저장된 dm 액세스 빈도 카운터 테이블에 정보를 기록하고, dm 액세스 카운터 테이블로부터 CM IF(19)를 통해 정보를 판독한다. 본 실시예에서, CM 입/출력 유닛(64)은 각각 의 데이터가 제1 기록 매체에 기록된 후에 제1 기록 매체로부터 어떤 데이터가 판독된 횟수를 나타내는 제1 정보, 및 제1 기록 매체로부터 데이터가 판독된 횟수를 나타내는 제2 정보를 획득하는 획득 유닛의 일 예로서, 그리고 또한 제1 정보 및 제2 정보를 갱신하는 갱신 유닛의 일예로서 제공된다.
CM 입/출력 유닛(64)에 의해 판독된 정보에 기초하여, 빈도 계산 유닛(65)은 각각의 DM에 대한 액세스 빈도를 계산한다. 본 실시예에서, 빈도 계산 유닛(65)은 각각의 데이터에 대한 액세스 빈도를 추적하는 추적 유닛의 일예로서 제공된다.
이동 제어 유닛(66)은 빈도 계산 유닛(65)에 의해 계산된 액세스 빈도에 기초하여 데이터 이동을 제어한다. 즉, 이동 제어 유닛(66)은 버퍼 관리 유닛(62)에게 액세스 빈도의 하향 순서로 소소 테이프(23)로부터 데이터 및 메타데이터의 조각들을 판독하고 데이터 및 메타데이터의 조각들을 목적지 테이프(23)에 기록할 것을 지시한다. 이와 같이, 데이터 및 메타데이터의 조각들은 액세스 빈도의 하향 순서로 목적지 테이프(23)에 순차 기록된다. 이는 이동 제어 유닛(66)이 목적지 테이프(23) 상에서 데이터 및 메타데이터 각각의 조각들의 위치를 결정함을 의미한다. 즉, 본 실시예에서, 이동 제어 유닛(66)은 제2 기록 매체 내의 각각의 데이터의 기록 위치를 결정하는 결정 유닛의 일예로서 제공된다.
헤드 위치 관리 유닛(67)은 테이프(23)의 폭 방향으로 테이프(23)에 상대적인 기록 헤드(14a) 및 판독 헤드(14b)의 위치를 오프셋하기 위한 신호를 헤드 위치 제어 시스템(17)에 출력한다. 또한, 헤드 위치 관리 유닛(67)은 테이프(23)의 폭 방향에서 기록 헤드(14a) 및 판독 헤드(14b)의 현재 위치에 관한 정보를 획득한다.
테이프 주행 관리 유닛(68)은 테이프(23)를 순방향으로 주행시키는 신호 및 테이프(23)를 역 방향으로 주행시키는 신호를 모터 구동기(18)에 출력한다.
다음에, 본 실시예에서 테이프 드라이브(10)의 동작에 대해 상세히 설명한다.
먼저, 기록 명령이 호스트(200)로부터 전송될 때 테이프 드라이브(10)가 동작하는 법에 관해 설명한다.
호스트(200)는 데이터를 메타데이터와 연관시키는 dm-id를 가진 기록 명령을 보관 장치(100)에 전송한다. 보관 장치(100)에서는, 제어 메커니즘(30)이 데이터를 식별하는 d-id 및 메타데이터를 식별하는 m-id를 발생하고, d-id를 m-id와 연관시켜 dm-a로서 등록한다. 대안으로, 제어 메커니즘(30)은 데이터 및 메타데이터가 기록될 카트리지(20)를 결정하고, d-id 및 m-id를 카트리지(20)와 연관시켜 dm-l로서 등록하며, 액세서(40)에게 테이프 드라이브(10)에 카트리지(20)를 로딩시킬 것을 지시한다. 다음에, 제어 메커니즘(30)은 dm-id, d-id, m-id, 데이터 및 메타데이터와 함께 기록 명령을 테이프 드라이브(10)에 전송한다. 따라서, 테이프 드라이브(10)의 동작이 시작된다.
도 12는 테이프 드라이브(10)의 제어기(16)에 의해 여기서 수행되는 예시적인 동작을 예시하는 플로 차트이다.
제어기(16)에서, 먼저, 명령 처리 유닛(61)은 호스트 I/F(11)를 통해 dm-id, d-id, m-id, 데이터 및 메타데이터와 함께 기록 명령을 수신한다(단계 S601). 다 음에, dm-id, d-id, m-id, 데이터 및 메타데이터는 버퍼 관리 유닛(62)에 전달되고, 버퍼 관리 유닛(62)에 의해 버퍼(12)에 저장된다.
다음에, 제어기(16)는 데이터 및 메타데이터를 테이프 드라이브(10)에 로딩된 카트리지(20) 내의 테이프(23)에 기록한다(단계 S602).
구체적으로, 버퍼 관리 유닛(62)으로부터의 명령에 따라, 헤드 위치 관리 유닛(67)은 기록 헤드(14a)의 위치를 테이프(23)의 폭 방향으로 조절하도록 헤드 위치 제어 시스템(17)을 제어한다. 또한, 버퍼 관리 유닛(62)로부터의 명령에 따라, 테이프 주행 관리 유닛(68)은 테이프(23)를 주행시키도록 모터 구동기(18)를 제어한다. 동시에, 버퍼 관리 유닛(62)은 버퍼(12)로부터 데이터 및 메타데이터를 판독하여 데이터 및 메타데이터를 채널 입/출력 유닛(63)에 전달하고, 채널 입/출력 유닛(63)은 채널(13)을 통해 데이터 및 메타데이터를 기록 헤드(14a)에 출력한다.
채널 입/출력 유닛(63)은 채널(13)을 통해 서보 헤드로부터 테이프(23)의 길이 방향에서의 데이터 및 메타데이터의 기록 위치에 관한 정보를 수신한다. 헤드 위치 관리 유닛(67)은 헤드 위치 제어 시스템(17)으로부터 테이프(23)의 폭 방향에서의 데이터 및 메타데이터의 기록 위치에 관한 정보를 수신한다. 이들 기록 위치에 관한 정보는 버퍼 관리 유닛(62)에 전달되고, 버퍼 관리 유닛(62)은 버퍼(12)로부터 판독된 d-id 및 m-id와 이들 기록 위치에 관한 정보를 CM 입/출력 유닛(64)에 출력한다. 다음에, CM 입/출력 유닛(64)은 d-id와 데이터의 기록 위치 간의 대응 관계에 관한 정보 및 m-id와 메타데이터의 기록 위치 간의 대응 관계에 관한 정보를 카트리지 메모리(24)에 CM I/F(19)를 통해 기록한다. 이에 따라, d-id를 키로 사용하여 데이터를 판독하고 m-id를 키로 사용하여 메타데이터를 판독할 수 있다.
다음에, 카트리지 메모리(24)에 저장된 dm 액세스 카운터 테이블에서, 제어기(16)는 dm-id에 대응하는 엔트리를 생성한다(단계 S603).
구체적으로, 버퍼 관리 유닛(62)은 버퍼(12)로부터 dm-id를 판독하여 CM 입/출력 유닛(64)에 전달하고, CM 입/출력 유닛(64)은 CM I/F(19)를 통해 dm-id를 포함한 레코드를 카트리지 메모리(24)에 기록한다.
다음에, 판독 명령이 호스트(200)로부터 전송될 때 테이프 드라이브(10)가 동작하는 법에 관해 설명한다. 여기서, 데이터 및 메타데이터를 판독하기 위한 요청이 호스트(200)로부터 수신될 때마다, 데이터 및 메타데이터가 판독될 카트리지(20)가 테이프 드라이브(10)에 장착된다.
호스트(200)는 dm-id과 함께 판독 명령을 보관 장치(100)에 전송한다. 보관 장치(100)에서, dm-a에 기초하여, 제어 메커니즘(30)이 dm-id에 의해 서로 연관된 d-id 및 m-id를 식별한다. 또한, dm-l에 기초하여, 제어 메커니즘(30)은 d-id 및 m-id와 연관된 카트리지(20)를 식별한다. 제어 메커니즘(30)은 액세서(40)에게 테이프 드라이브(10)에 식별된 카트리지(20)를 로딩할 것을 지시한다. 다음에, 메커니즘(30)은 dm-id, d-id, 및 m-id와 함께 판독 명령을 테이프 드라이브(10)에 전송한다. 따라서, 테이프 드라이브(10)의 동작이 시작된다.
도 13은 테이프 드라이브(10)의 제어기(16)에 의해 여기서 수행되는 예시적인 동작을 예시하는 플로 차트이다.
제어기(16)에서, 먼저, 명령 처리 유닛(61)은 호스트 I/F(11)를 통해 dm-id, d-id, 및 m-id와 함께 판독 명령을 수신한다(단계 S621). 다음에, dm-id, d-id, 및 m-id는 버퍼 관리 유닛(62)에 전달된다.
다음에, 제어기(16)는 d-id에 대응하는 데이터 및 m-id에 대응하는 메타데이터를 테이프 드라이브(10)에 로딩된 카트리지(20)의 테이프(23)로부터 판독한다(단계 S622).
구체적으로, 버퍼 관리 유닛(62)으로부터의 명령에 따라, 헤드 위치 관리 유닛(67)은 테이프(23)의 폭 방향에서 판독 헤드(14b)의 위치를 조절하도록 헤드 위치 제어 시스템(17)을 제어한다. 또한, 버퍼 관리 유닛(62)으로부터의 명령에 따라, 테이프 주행 관리 유닛(68)은 테이프(23)를 주행시키도록 모터 구동기(18)를 제어한다.
동시에, 채널 입/출력 유닛(63)은 채널(13)을 통해, 판독 헤드(14b)에 의해 판독된 데이터 및 메타데이터를 획득하고, 획득된 데이터 및 메타데이터를 버퍼 관리 유닛(62)에 전달하며, 버퍼 관리 유닛(62)은 데이터 및 메타데이터를 버퍼(12)에 저장한다. 다음에, 버퍼(12)에 저장된 데이터 및 메타데이터는 호스트(200)에 전송된다.
다음에, 제어기(16)는 카트리지 메모리(24)에 저장된 dm 액세스 카운터 테이블을 갱신한다. 갱신 프로세스는 CM 입/출력 유닛(64)이 CM I/F(19)를 통해 카트리지 메모리(24)로부터 CM 입/출력 유닛(64)의 메모리 영역으로 dm 액세스 카운터 테이블을 판독할 때 시작된다.
갱신 프로세스에서는, 먼저, CM 입/출력 유닛(64)은 dm 액세스 카운터 테이 블로부터 하나의 레코드를 판독한다(단계 S623). 다음에, CM 입/출력 유닛(64)은 판독 레코드에 포함된 Ram-count가 8의 배수인지를 결정한다(단계 S624). Ram-count가 8의 배수이면, 이 판독 장착 동작은 한 단위로서 수행되는 8회의 판독 장착 동작의 새로운 세트의 시작 부분이다. 다음에, CM 입/출력 유닛(64)은 Dm-count를 리셋시키기 위해 Dm-count에 0을 할당하고, "00"을 Dm-readfreq의 우측 끝에 추가한다(단계 S625). 반면에, Ram-count가 8의 배수가 아니면, 프로세스는 다음 단계로 진행한다.
다음에, CM 입/출력 유닛(64)은 판독된 레코드에 포함된 Ram-count에 1을 추가한다(단계 S626). 다음에, CM 입/출력 유닛(64)은 판독된 레코드에 포함된 dm-id가 판독 명령에 의해 지정된 dm-id와 일치하는지를 결정한다(단계 S627). 판독된 레코드에 포함된 dm-id가 판독 명령에 의해 지정된 것과 일치하면, CM 입/출력 유닛(64)은 1을 Dm-count에 추가하고, 추가 결과에 따라 Dm-readfreq의 우측 끝의 2 비트를 갱신한다(단계 S628). 예컨대, Dm-count의 값과 Dm-readfreq의 2비트 간의 관계가 도 5에 도시된 것과 같다. 이 경우에, 1을 추가함으로써 획득된 Dm-count가 0이면, Dm-readfreq의 우측 끝의 2 비트는 "00"로 갱신되고, 1을 추가함으로써 획득된 Dm-count가 1 또는 2이면, Dm-readfreq의 우측 끝의 2 비트는 "01"로 갱신되며, 1을 추가함으로써 획득된 Dm-count가 3 내지 5 중 어느 하나이면, Dm-readfreq의 우측 끝의 2 비트는 "10"로 갱신되며, 1을 추가함으로써 획득된 Dm-count가 6 내지 8 중 어느 하나이면, Dm-readfreq의 우측 끝의 2 비트는 "11"로 갱신된다. Dm-readfreq가 Dm-count의 값에 따라 갱신되는 규칙은 프로그램에 직접 코딩될 수 있고, 또는 프로그램이 테이블을 참조함으로써 규칙을 획득할 수 있도록 프로그램의 외부 테이블에 정의될 수도 있다.
다음에, CM 입/출력 유닛(64)은 dm 액세스 카운터 테이블로부터 판독된 레코드가 마지막 레코드인지를 결정한다(단계 S629). 레코드가 마지막 레코드가 아니면, 단계 S623 내지 S628은 다음 레코드에 대해 반복된다. 레코드가 마지막 레코드이면 프로세스는 종료된다.
다음에, dm 액세스 카운터 테이블이 위에서 설명된 바와 같이 갱신된 어떤 시점에서, 테이프 드라이브(10)는 데이터 이동을 위한 프로세싱을 수행한다.
도 14는 테이프 드라이브(10)의 제어기(16)에 의해 여기서 수행되는 예시적인 동작을 예시하는 플로 차트이다. 다음의 설명은 도 10에 예시된 방식과 같은 방식으로 목적지 테이프(23) 상에 데이터 및 메타데이터 조각들이 배열된다는 가정에 기초로 한다.
테이프 드라이브(10)에서, 먼저, CM 입/출력 유닛(64)은 CM I/F(19)를 통해 카트리지 메모리(24)로부터 dm 액세스 카운터 테이블을 판독하고, dm 액세스 카운터 테이블을 빈도 계산 유닛(65)에 전달한다(단계 S641).
빈도 계산 유닛(65)은 위에서 설명된 제1 또는 제2 결정 방법을 이용하여 각각의 dm-id에 대한 액세스 빈도를 계산하고, 액세스 빈도의 하향 순서로 dm 액세스 카운터 테이블에서 레코드들을 재배열하며, 재배열 후 dm 액세스 카운터 테이블을 이동 제어 유닛(66)에 전달한다(단계 S642).
따라서, 이동 제어 유닛(66)은 데이터를 한 테이프(23)로부터 다른 테이 프(23)로 이동시킨다.
즉, 이동 제어 유닛(66)은 재배열 후 dm 액세스 카운터 테이블로부터 하나의 레코드를 판독하고, 판독된 레코드를 버퍼 관리 유닛(62)에 전달한다(단계 S643). 버퍼 관리 유닛(62)은 소스 테이프(23)로부터, 판독된 레코드에 포함된 dm-id에 대응하는 데이터 및 메타데이터를 판독한다(단계 S644).
구체적으로, 버퍼 관리 유닛(62)으로부터의 명령에 따라, 헤드 위치 관리 유닛(67)은 테이프(23)의 폭 방향에서 판독 헤드(14b)의 위치를 조절하도록 헤드 위치 제어 시스템(17)을 제어한다. 또한, 버퍼 관리 유닛(62)으로부터의 명령에 따라, 테이프 주행 관리 유닛(68)은 테이프(23)를 주행시키도록 모터 구동기(18)를 제어한다. 동시에, 채널 입/출력 유닛(63)은 판독 헤드(14b)에 의해 판독된 데이터 및 메타데이터를 채널(13)을 통해 획득하고, 획득된 데이터 및 메타데이터를 버퍼 관리 유닛(62)에 전달하며, 버퍼 관리 유닛(62)은 데이터 및 메타데이터를 버퍼(12)에 저장한다. dm-id에 대응하는 데이터 및 메타데이터를 판독하는 키로서 사용되는 d-id 및 m-id는 예컨대 제어 메커니즘(30)을 참조함으로써 식별될 수 있음에 주의한다.
다음에, 버퍼 관리 유닛(62)은 데이터 및 메타데이터가 목적지 테이프(23) 상의 현재 랩에 기록될 수 있는지를 결정한다(단계 S645). 구체적으로, 채널 입/출력 유닛(63)은 채널(13)을 통해 서보 헤드로부터 테이프(23)의 길이 방향에서의 데이터 및 메타데이터의 기록 위치에 관한 정보를 수신하므로, 버퍼 관리 유닛(62)은 채널 입/출력 유닛(63)에 의해 수신되는 정보에 기초하여 이 결정을 행한다.
버퍼 관리 유닛(62)이 데이터 및 메타데이터가 현재 랩에 기록될 수 있다고 결정하면, 데이터 및 메타데이터는 목적지 테이프(23)에 기록된다(단계 S649).
구체적으로, 버퍼 관리 유닛(62)으로부터의 명령에 따라, 헤드 위치 관리 유닛(67)은 테이프(23)의 폭 방향에서의 기록 헤드(14a)의 위치를 조절하도록 헤드 위치 제어 시스템(17)을 제어한다. 또한, 버퍼 관리 유닛(62)으로부터의 명령에 따라, 테이프 주행 관리 유닛(68)은 테이프(23)를 주행시키도록 모터 구동기(18)를 제어한다. 동시에, 버퍼 관리 유닛(62)은 버퍼(12)로부터 데이터 및 메타데이터를 판독하고, 데이터 및 메타데이터를 채널 입/출력 유닛(63)에 전달하고, 채널 입/출력 유닛(63)은 데이터 및 메타데이터를 채널(13)을 통해 기록 헤드(14a)에 출력한다.
반면에, 데이터 및 메타데이터가 현재 랩에 기록될 수 없다고 결정되면, 현재 랩이 마지막 랩인지를 결정한다(단계 S646). 구체적으로, 헤드 위치 관리 유닛(67)은 테이프(23)의 폭 방향에서의 데이터 및 메타데이터의 기록 위치에 관한 정보를 헤드 위치 제어 시스템(17)으로부터 수신하므로, 버퍼 관리 유닛(62)은 헤드 위치 관리 유닛(67)에 의해 수신된 정보에 기초하여 이 결정을 행한다.
현재 랩이 마지막 랩이 아니면, 랩은 다른 랩으로 전환되고(단계 S647), 데이터 및 메타데이터는 목적지 테이프(23)에 기록된다(단계 S649). 랩의 전환은 헤드 위치 관리 유닛(67)의 제어 하에서 헤드 위치 제어 시스템(17)에 의해 행해진다.
현재 랩이 마지막 랩이면, 랩은 다음 세그먼트의 랩 #1로 전환되고(단계 S648), 데이터 및 메타데이터는 목적지 테이프(23)에 기록된다(단계 S649). 세그먼트의 전환은 테이프 주행 관리 유닛(68)의 제어 하에서 모터 구동기(18)에 의해 행해지고, 랩의 전환은 헤드 위치 관리 유닛(67)의 제어 하에서 헤드 위치 제어 시스템(17)에 의해 행해진다.
다음에, 이동 제어 유닛(66)은 dm 액세스 카운터 테이블로부터 판독된 레코드가 마지막 레코드인지를 결정한다(단계 S650). 레코드가 마지막 레코드가 아니면, 단계 S643 내지 S649가 다음 레코드에 대해 반복된다. 레코드가 마지막 레코드이면 프로세스는 종료된다.
위에서 설명된 예시적인 동작에서, 데이터 이동은 두 카트리지(20)가 동시에 로딩될 수 있는 테이프 드라이브(10)에서 수행됨으로써, 한 카트리지(20)를 다른 카트리지로 대체할 필요가 없다. 대안으로, 이러한 데이터 이동의 제어는 제어 메커니즘(30)에 의해 수행될 수 있다. 이 경우에, 제어 메커니즘(30)은 데이터 이동을 수행하도록 테이프 드라이브(10)를 제어할 수 있으며, 두 테이프 드라이브(10)는 각각 하나의 카트리지(20)만을 수용할 수 있다.
본 발명은 하드웨어만으로, 또는 소프트웨어만으로, 또는 하드웨어와 소프트웨어로 실현될 수 있다. 본 발명은 컴퓨터, 데이터 처리 시스템, 및 컴퓨터 시스템으로서 구현될 수 있다. 컴퓨터 프로그램은 컴퓨터 판독가능 매체에 저장되어 제어될 수 있다. 매체는 전자 매체, 자기 매체, 광학 매체, 전자기 매체, 적외선 매체, 또는 반도체 시스템(또는 장치 또는 기기), 또는 전파 매체일 수 있다. 컴퓨터 판독 가능 매체의 예로는, 반도체 또는 고체 메모리, 자기 테이프, 제거가능 컴퓨터 디스켓, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 단단한 자기 디스크, 및 광학 디스크를 들 수 있다. 광학 디스크의 현재 예로는, CD-ROM(compact-disk read-only memory), CD-R/W(compact disk-read/write), 및 DVD(digital versatile disk)를 들 수 있다.
본 발명은 상기한 실시예들을 이용하여 설명되었지만, 본 발명의 기술적 범위는 이에 한정되지 않는다. 본 발명의 취지 및 범위를 벗어나지 않고 각종 수정예 및 대안들이 채택될 수 있음은 당업자에게 명백하다.
도 1은 본 발명의 일 실시예가 적용되는 보관 장치의 구성을 예시한 블록도.
도 2(a) 내지 도 2(c)는 본 발명의 일 실시예에 따라 dm-id, d-id, m-id의 연관성을 설명하기 위한 도면.
도 3(a) 및 도 3(b)는 본 발명의 일 실시예에 따라 dm-id, d-id, m-id의 연관성의 일 예를 나타낸 도면.
도 4는 본 발명의 일 실시예에서 데이터 및 메타데이터의 조각들이 데이터 이동 전에 테이프 상에 분산 배열된 상태를 예시한 도면.
도 5는 본 발명의 일 실시예에서 사용되는 카운터들을 설명하기 위한 도면.
도 6은 본 발명의 일 실시예에서 사용되는 dm 액세스 카운터 테이블의 일 예를 예시한 도면.
도 7은 본 발명의 일 실시예에서 카운터들의 갱신을 설명하기 위한 도면.
도 8은 본 발명의 일 실시예에 따라 데이터 이동 후 액세스 빈도의 하향 순서로 데이터 및 메타데이터의 조각들이 테이프 상에 배열된 상태를 예시한 도면.
도 9(a) 및 도 9(b)는 테이프의 쉽게 액세스가능한 부분과 쉽게 액세스가능하지 않은 부분을 설명하기 위한 도면.
도 10은 본 발명의 일 실시예에서 데이터 이동 후 액세스 빈도의 하향 순서로 데이터 및 메타데이터의 조각들이 테이프 상에 배열된 수정된 상태를 예시한 도면.
도 11은 본 발명의 일 실시예에 따라 제어기의 예시적인 기능 구성을 예시한 블록도.
도 12는 본 발명의 일 실시예에 따라 기록 명령이 수신될 때 제어기에 의해 수행되는 예시적인 동작을 예시한 플로 차트.
도 13은 본 발명의 일 실시예에 따라 판독 명령이 수신될 때 제어기에 의해 수행되는 예시적인 동작을 예시한 플로 차트.
도 14는 본 발명의 일 실시예에 따라 데이터 이동 후 제어기에 의해 수행되는 예시적인 동작을 예시한 플로 차트.
* 도면의 주요 부분에 대한 부호의 설명
10: 테이프 드라이브
11: 호스트 I/F
12: 버퍼
13: 채널
14a: 기록 헤드
14b: 판독 헤드
15: 모터
16: 제어기
17: 헤드 위치 제어 시스템
18: 모터 구동기
19: CM I/F
20: 카트리지
30: 제어 메커니즘
40: 액세서
50: 카트리지 슬롯
100: 보관 장치
200: 호스트

Claims (10)

  1. 제1 기록 매체에 기록된 데이터 조각들의 제2 기록 매체로의 이동을 지원하는 장치로서,
    상기 제1 기록 매체에 기록된 데이터 조각들 각각에 대해, 상기 데이터 조각이 상기 제1 기록 매체에 기록된 후 데이터 판독을 위해 상기 제1 기록 매체가 기억 유닛에 장착된 횟수를 나타내는 제1 정보 및 상기 데이터 조각이 상기 제1 기록 매체로부터 판독된 횟수를 나타내는 제2 정보를 획득하는 획득 유닛;
    상기 획득 유닛에 의해 획득된 상기 제1 정보 및 제2 정보를 이용하여 상기 데이터 조각에 대한 액세스 빈도를 추적하는 추적 유닛; 및
    상기 추적 유닛에 의해 추적된 액세스 빈도에 기초하여 상기 제2 기록 매체 내의 상기 데이터 조각의 기록 위치를 결정하는 결정 유닛;을 포함하고,
    상기 추적 유닛은,
    i)상기 제2 정보로 나타낸 횟수와 상기 제1 정보로 나타낸 횟수의 비를 액세스 빈도로서 추적하거나, ii)상기 제1 정보로 나타낸 횟수가 미리 결정된 범위 내인 데이터에 대해서만 상기 제2 정보를 이용하여 상기 액세스 빈도를 추적하는 것인,
    장치.
  2. 제1 항에 있어서,
    특정 데이터가 상기 제1 기록 매체로부터 판독되었을 때, 상기 데이터 조각에 대한 제1 정보 및 상기 특정 데이터에 대한 제2 정보를 갱신하는 갱신 유닛을 더 포함하는 장치.
  3. 제1 항에 있어서,
    상기 제1 정보는 상기 데이터 조각이 상기 제1 기록 매체에 기록된 후 상기 제1 기록 매체가 기억 유닛에 장착된 횟수를 나타냄으로써 상기 데이터 조각이 상기 제1 기록 매체에 기록된 후 상기 제1 기록 매체로부터 어떤 데이터가 판독된 횟수를 나타내는 장치.
  4. 삭제
  5. 삭제
  6. 제1 항에 있어서,
    상기 결정 유닛은 빈번하게 액세스되는 데이터가 상기 제2 기록 매체 내의 제1 기록 위치에 기록되고 덜 빈번하게 액세스되는 데이터는 상기 제2 기록 매체 내의 제2 기록 위치에 기록되도록 상기 제2 기록 매체 내의 데이터 조각의 기록 위치를 결정하며, 상기 제2 기록 위치는 상기 제2 기록 매체로부터 데이터를 판독하는데 요구되는 시간이 상기 제1 기록 위치에서의 것보다 긴 위치인 장치.
  7. 기록 매체에서의 데이터 조각들의 재배열을 지원하는 장치로서,
    상기 기록 매체에 기록된 데이터 조각들 각각에 대해, 상기 데이터 조각이 상기 기록 매체에 기록된 후 데이터 판독을 위해 상기 기록 매체가 기억 유닛에 장착된 횟수를 나타내는 제1 정보 및 상기 데이터 조각이 상기 기록 매체로부터 판독된 횟수를 나타내는 제2 정보를 획득하는 획득 유닛;
    상기 획득 유닛에 의해 획득된 상기 제1 정보 및 제2 정보를 이용하여 상기 데이터 조각에 대한 액세스 빈도를 추적하는 추적 유닛; 및
    상기 추적 유닛에 의해 추적된 액세스 빈도에 기초하여 상기 기록 매체 내의 상기 데이터 조각의 기록 위치를 결정하는 결정 유닛;을 포함하고,
    상기 추적 유닛은,
    i)상기 제2 정보로 나타낸 횟수와 상기 제1 정보로 나타낸 횟수의 비를 액세스 빈도로서 추적하거나, ii)상기 제1 정보로 나타낸 횟수가 미리 결정된 범위 내인 데이터에 대해서만 상기 제2 정보를 이용하여 상기 액세스 빈도를 추적하는 것인,
    장치.
  8. 제1 테이프 매체에 기록된 데이터 조각들을 제2 테이프 매체로 이동시키는 장치로서,
    상기 제1 테이프 매체에 기록되고 주 데이터와 상기 주 데이터와 연관된 정보를 나타내는 메타데이터를 포함하는 데이터 조각들 각각에 대해, 상기 데이터 조각이 상기 제1 테이프 매체에 기록된 후 어떤 데이터를 판독하기 위해 상기 제1 테이프 매체가 테이프 드라이브에 장착된 횟수를 나타내는 제1 정보 및 상기 데이터 조각이 상기 제1 테이프 매체로부터 판독된 횟수를 나타내는 제2 정보를 획득하는 획득 유닛;
    상기 획득 유닛에 의해 획득된 상기 제2 정보가 나타내는 횟수와 상기 제1 정보가 나타내는 횟수의 비를 상기 데이터 조각에 대한 액세스 빈도로서 추적하는 추적 유닛; 및
    상기 데이터 조각을 상기 추적 유닛에 의해 추적된 액세스 빈도의 하향 순서로 상기 제2 테이프 매체에 기록하는 기록 유닛을 포함하는 장치.
  9. 제1 기록 매체에 기록된 데이터 조각들의 제2 기록 매체로의 이동을 지원하는 방법으로서,
    상기 제1 기록 매체에 기록된 데이터 조각들 각각에 대해, 상기 데이터 조각이 상기 제1 기록 매체에 기록된 후 데이터 판독을 위해 상기 제1 기록 매체가 기억 유닛에 장착된 횟수를 나타내는 제1 정보 및 상기 데이터 조각이 상기 제1 기록 매체로부터 판독된 횟수를 나타내는 제2 정보를 획득하는 단계;
    상기 획득된 상기 제1 정보 및 상기 획득된 제2 정보를 이용하여 상기 데이터 조각에 대한 액세스 빈도를 추적하는 단계; 및
    상기 추적된 액세스 빈도에 기초하여 상기 제2 기록 매체 내의 상기 데이터 조각의 기록 위치를 결정하는 단계;를 포함하고,
    상기 액세스 빈도를 추적하는 단계는,
    i)상기 제2 정보로 나타낸 횟수와 상기 제1 정보로 나타낸 횟수의 비를 액세스 빈도로서 추적하거나, ii)상기 제1 정보로 나타낸 횟수가 미리 결정된 범위 내인 데이터에 대해서만 상기 제2 정보를 이용하여 상기 액세스 빈도를 추적하는 것인,
    방법.
  10. 컴퓨터로 하여금 제1 기록 매체에 기록된 데이터 조각들의 제2 기록 매체로의 이동을 지원하는 장치로서 기능을 하게 하는 컴퓨터 판독가능 매체에 있어서,
    상기 장치는,
    상기 제1 기록 매체에 기록된 데이터 조각들 각각에 대해, 상기 데이터 조각이 상기 제1 기록 매체에 기록된 후 데이터 판독을 위해 상기 제1 기록 매체가 기억 유닛에 장착된 횟수를 나타내는 제1 정보 및 상기 데이터 조각이 상기 제1 기록 매체로부터 판독된 횟수를 나타내는 제2 정보를 획득하는 획득 유닛;
    상기 획득 유닛에 의해 획득된 상기 제1 정보 및 제2 정보를 이용하여 상기 데이터 조각에 대한 액세스 빈도를 추적하는 추적 유닛; 및
    상기 추적 유닛에 의해 추적된 액세스 빈도에 기초하여 상기 제2 기록 매체 내의 상기 데이터 조각의 기록 위치를 결정하는 결정 유닛;을 포함하고,
    상기 추적 유닛은,
    i)상기 제2 정보로 나타낸 횟수와 상기 제1 정보로 나타낸 횟수의 비를 액세스 빈도로서 추적하거나, ii)상기 제1 정보로 나타낸 횟수가 미리 결정된 범위 내인 데이터에 대해서만 상기 제2 정보를 이용하여 상기 액세스 빈도를 추적하는 것인,
    컴퓨터 판독가능 매체.
KR1020090115072A 2008-12-25 2009-11-26 기록 매체에 기록된 데이터의 이동 장치 및 방법 KR101171439B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008329430A JP5106377B2 (ja) 2008-12-25 2008-12-25 記録媒体に記録されたデータの移行のための装置及び方法
JPJP-P-2008-329430 2008-12-25

Publications (2)

Publication Number Publication Date
KR20100075727A KR20100075727A (ko) 2010-07-05
KR101171439B1 true KR101171439B1 (ko) 2012-08-09

Family

ID=42571630

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090115072A KR101171439B1 (ko) 2008-12-25 2009-11-26 기록 매체에 기록된 데이터의 이동 장치 및 방법

Country Status (2)

Country Link
JP (1) JP5106377B2 (ko)
KR (1) KR101171439B1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5618813B2 (ja) * 2010-12-24 2014-11-05 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 記憶装置、記録媒体、およびデータの長期保存方法
US8493823B1 (en) * 2012-10-31 2013-07-23 Oracle International Corporation Variable data transfer rate optical tape drive system and method
JP6070371B2 (ja) * 2013-03-29 2017-02-01 富士通株式会社 データ配置プログラム、及び情報処理装置
JP5932877B2 (ja) 2014-04-15 2016-06-08 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation テープメディアへファイルを書き込む所要時間の低減
JP5991701B2 (ja) 2014-10-28 2016-09-14 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ストレージ管理方法、ストレージ管理システム、コンピュータ・システムおよびプログラム
JP6075571B2 (ja) 2014-10-31 2017-02-08 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 階層型ストレージ・システムでのファイルの移動方法
JP6463103B2 (ja) 2014-12-02 2019-01-30 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 複数のファイルを書込む方法、テープ装置システム、及びプログラム
EP4033488A4 (en) * 2019-09-17 2022-11-16 FUJIFILM Corporation RECORDING DEVICE, RECORDING METHOD, RECORDING PROGRAM, AND MAGNETIC TAPE
JP2021144663A (ja) 2020-03-13 2021-09-24 富士通株式会社 ストレージシステム、移行元のストレージ装置および移行先のストレージ装置
JPWO2022195984A1 (ko) * 2021-03-18 2022-09-22
JPWO2022195985A1 (ko) * 2021-03-18 2022-09-22

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1131376A (ja) * 1997-07-09 1999-02-02 Sony Corp 情報記録再生装置及び方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0969028A (ja) * 1995-08-31 1997-03-11 Hitachi Ltd 磁気テープカートリッジ制御方式
JPH11306690A (ja) * 1998-04-20 1999-11-05 Aiwa Co Ltd 信号記録方法とテープ状記録媒体処理装置およびテープ状記録媒体
JP2006293981A (ja) * 2005-03-18 2006-10-26 Hitachi Ltd データベース格納方法、および、データベース格納システム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1131376A (ja) * 1997-07-09 1999-02-02 Sony Corp 情報記録再生装置及び方法

Also Published As

Publication number Publication date
JP2010152603A (ja) 2010-07-08
JP5106377B2 (ja) 2012-12-26
KR20100075727A (ko) 2010-07-05

Similar Documents

Publication Publication Date Title
KR101171439B1 (ko) 기록 매체에 기록된 데이터의 이동 장치 및 방법
US10915244B2 (en) Reading and writing via file system for tape recording system
JP5480163B2 (ja) 記録媒体に記録されたデータを読み出す装置及び方法
US8009541B2 (en) Device, method, and computer program product for data migration
KR100603157B1 (ko) 디지털데이터기록방법및디지털데이터기록매체
JP5999650B2 (ja) テープ上の複数のレコード群の読み出し順序を検索する方法、プログラム
US6937411B2 (en) Method, system, program, and storage cartridge for storing data in a storage medium
US10282098B2 (en) Writing data spanning plurality of tape cartridges
US9852756B2 (en) Method of managing, writing, and reading file on tape
US10394470B2 (en) Method for backing up data on tape
US7143232B2 (en) Method, system, and program for maintaining a directory for data written to a storage medium
US6950257B1 (en) Writing to magnetic tape with backhitchless backspacing and data set invalidation
US20140247515A1 (en) Tape drive buffer utilization
US6985325B2 (en) Updateable centralized data position information storage system
JP2001283563A (ja) 記録再生装置
JP2001283575A (ja) 記録再生装置
JP2001282596A (ja) ファイル管理方法、ファイル管理装置
KR20030075528A (ko) 광 디스크 기록 재생기의 메모리 운용 방법 및 장치
JP2001283574A (ja) 記録再生装置
JP2001283573A (ja) 記録装置、記録方法

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150626

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160628

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170704

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180711

Year of fee payment: 7