KR20100075727A - Device and method for migration of data recorded in recording medium - Google Patents

Device and method for migration of data recorded in recording medium Download PDF

Info

Publication number
KR20100075727A
KR20100075727A KR1020090115072A KR20090115072A KR20100075727A KR 20100075727 A KR20100075727 A KR 20100075727A KR 1020090115072 A KR1020090115072 A KR 1020090115072A KR 20090115072 A KR20090115072 A KR 20090115072A KR 20100075727 A KR20100075727 A KR 20100075727A
Authority
KR
South Korea
Prior art keywords
data
recording medium
tape
information
read
Prior art date
Application number
KR1020090115072A
Other languages
Korean (ko)
Other versions
KR101171439B1 (en
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/en
Application granted granted Critical
Publication of KR101171439B1 publication Critical patent/KR101171439B1/en

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PURPOSE: A transport unit of data recorded in a recording medium for improving access performance by performing data transfer is provided to improve access performance about groups of metadata by considering real access frequency. CONSTITUTION: An acquisition unit(64) acquires first information and second information about each data piece recorded in a first recording medium. The first information indicates the read frequency of the data from the first recording medium after recording data on the first recording medium. The second information indicates the times in which data is read from the first recording medium. A tracking unit(65) traces an access frequency about data. A decision unit determines the archival location of data in the second recording medium.

Description

기록 매체에 기록된 데이터의 이동 장치 및 방법{DEVICE AND METHOD FOR MIGRATION OF DATA RECORDED IN RECORDING MEDIUM}A device and method for moving data recorded on a recording medium {DEVICE AND METHOD FOR MIGRATION OF DATA RECORDED IN RECORDING MEDIUM}

본 발명은 기록 매체에 기록된 데이터의 이동 장치 및 방법에 관한 것이다. 특히, 본 발명은 기록 매체에 기록된 데이터의 그 기록 매체 또는 다른 기록 매체로의 이동을 지원하는 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and a method for moving data recorded on a recording medium. In particular, the present invention relates to an apparatus and method for supporting the movement of data recorded on a recording medium to the recording medium or another recording medium.

예컨대 한 매체에 기록된 데이터는 그 매체 또는 매체 구동 장치가 그 수명이 다하기 때문에 종종 다른 매체로 이동된다. 또한, 다른 매체로의 데이터 이동은 동작상의 이유로, 예컨대 보다 비용 효율적인 매체로의 전환을 위해 수행될 수도 있다.For example, data recorded on one medium is often moved to another medium because the medium or the medium driving device reaches its end of life. In addition, data movement to other media may be performed for operational reasons, for example, to switch to a more cost effective medium.

이러한 데이터 이동에서는, 빈번하게 액세스되는 데이터는 성능 면에서 유리한 위치에 기록되는 것이 바람직하다. 이는 예컨대 복수의 데이터 조각들(pieces of data)이 데이터 오브젝트(data object)와 같은 단일 데이터 그룹으로서 액세스되는 경우 성능 면에서 가장 불리한 위치에 기록된 데이터 조각은 데이터 그룹에 대한 전체적인 액세스 성능에 영향을 줄 수 있기 때문이다.In this data movement, frequently accessed data is preferably recorded in a position that is advantageous in terms of performance. This means that, for example, if a plurality of pieces of data are accessed as a single data group, such as a data object, the pieces of data recorded in the most unfavorable position in terms of performance will affect the overall access performance of the data group. Because I can give.

한 매체에 기록된 데이터의 그 매체 또는 다른 매체로의 이동을 위해, 데이 터에 대한 액세스 빈도를 고려하여 성능을 향상시키는 공지된 기술이 존재한다(예컨대, 특허 문헌 1 내지 3 참조)For the movement of data recorded on one medium to that medium or another medium, there are known techniques for improving performance in consideration of the frequency of access to data (see, for example, Patent Documents 1 to 3).

특허 문헌 1은 빈번하게 액세스되는 논리적 볼륨(logical volume)이 장시간 전원공급 모드에서 RAID 그룹에 배열되고, 덜 빈번하게 액세스되는 논리적 불륨은 제1 단시간 전원공급 모드(short-time energization mode)에서 RAID 그룹에 배열되며, 가장 덜 빈번하게 액세스되는 논리적 볼륨은 제2 단시간 전원공급 모드에서 RAID 그룹에 배열되도록 재배열 계획이 마련된 기술을 공개한다.Patent Document 1 discloses that a frequently accessed logical volume is arranged in a RAID group in a long time power supply mode, and a less frequently accessed logical volume is a RAID group in a first short-time energization mode. And the least frequently accessed logical volume discloses a technique in which the rearrangement plan is arranged to be arranged in a RAID group in a second short-time power supply mode.

특허 문헌 2는 복수의 블록들을 포함하는 각각의 파일에 대한 액세스 빈도를 저장하고, 서로 연관되어 미리 결정된 값 정도의 빈도로 액세스되는 복수의 파일들을 단일 그룹으로서 추출하며, 추출된 파일들 각각에서의 각각의 블록의 데이터를 광 디스크로부터 판독하고, 판독된 데이터 조각들을 광 디스크의 연속된 블록들 또는 인접 블록들에 순차적으로 기록하는 기술을 공개한다.Patent document 2 stores an access frequency for each file including a plurality of blocks, extracts a plurality of files that are accessed at a frequency of a predetermined value associated with each other as a single group, and in each of the extracted files Disclosed is a technique for reading the data of each block from an optical disc and sequentially writing the read data pieces into successive blocks or adjacent blocks of the optical disc.

특허 문헌 3은 메모리를 테이프 카세트의 카트리지에 제공하고, 각각의 파티션에 대한 액세스 빈도에 관한 정보를 메모리에 기록하는 기술을 공개한다. 테이프를 복사하기 위해서는, 액세스 빈도에 관한 정보를 판독하고, 데이터 조각들을 테이프의 시작 부분부터 액세스 빈도의 하향 순서로 기록한다.Patent document 3 discloses a technique for providing a memory to a cartridge of a tape cassette and recording information on the frequency of access to each partition in the memory. To copy a tape, information about the frequency of access is read and data pieces are written in descending order of access frequency from the beginning of the tape.

[특허 문헌 1][Patent Document 1]

일본 특허 출원 제2007-164650 호Japanese Patent Application No. 2007-164650

[특허 문헌 2][Patent Document 2]

일본 특허 출원 제8-263335 호Japanese Patent Application No. 8-263335

[특허 문헌 3][Patent Document 3]

일본 특허 출원 제11-31376 호Japanese Patent Application No. 11-31376

특허 문헌 1 내지 3에 따라, 액세스 빈도는 복수의 데이터 조각들을 포함하는 데이터 그룹(예컨대, 논리적 볼륨, 파일, 또는 파티션)에 대해 기록된다. 데이터 그룹은 장시간 동안 존재한 데이터 및 단지 최근에 생성된 데이터를 포함할 수 있다. 서로 다른 시간에 생성된 데이터 조각들의 경우, 액세스 빈도를 시간축을 참조하여 결정할 때는 실제 액세스 빈도를 얻을 수 없다. 그러므로, 특허 문헌 1 내지 3에 공개된 기술들은 데이터 이동시 실제 액세스 빈도를 고려함으로써 성능을 형상시키는 것이 불가능하다는 단점이 있다.According to Patent Documents 1 to 3, the access frequency is recorded for a data group (e.g., logical volume, file, or partition) containing a plurality of data pieces. The data group may include data that has existed for a long time and only recently generated data. For data fragments created at different times, the actual access frequency cannot be obtained when determining the access frequency with reference to the time base. Therefore, the techniques disclosed in Patent Documents 1 to 3 have the disadvantage that it is impossible to shape the performance by considering the actual access frequency in data movement.

따라서, 본 발명의 목적은 시간축을 이용하지 않고 실제 액세스 빈도를 데이터 이동시 고려하여 성능을 향상시키는 것이다.Accordingly, an object of the present invention is to improve performance by considering the actual access frequency when moving data without using the time base.

상기한 목적을 달성하기 위해, 본 발명은 제1 기록 매체에 기록된 데이터 조각들의 제2 기록 매체로의 이동을 지원하는 장치를 제공한다. 이 장치는 상기 제1 기록 매체에 기록된 데이터 조각들 각각에 대해, 상기 데이터 조각이 상기 제1 기록 매체에 기록된 후 상기 제1 기록 매체로부터 어떤 데이터가 판독된 횟수를 나타내는 제1 정보 및 상기 데이터 조각이 상기 제1 기록 매체로부터 판독된 횟수를 나타내는 제2 정보를 획득하는 획득 유닛; 상기 획득 유닛에 의해 획득된 상기 제1 정보 및 제2 정보를 이용하여 상기 데이터 조각에 대한 액세스 빈도를 추적하는 추적 유닛; 및 상기 추적 유닛에 의해 추적된 액세스 빈도에 기초하여 상기 제2 기록 매체 내의 상기 데이터 조각의 기록 위치를 결정하는 결정 유닛을 포함한다.In order to achieve the above object, the present invention provides an apparatus for supporting movement of pieces of data recorded on a first recording medium to a second recording medium. The apparatus further comprises: for each of the pieces of data recorded on the first recording medium, first information indicating the number of times any data has been read from the first recording medium after the pieces of data have been recorded on the first recording medium and the An acquiring unit for acquiring second information indicating the number of times a piece of data has been read from the first recording medium; A tracking unit for tracking the frequency of access to the data pieces using the first information and the second information obtained by the acquiring unit; And a determining unit that determines a recording position of the data piece in the second recording medium based on the access frequency tracked by the tracking unit.

상기 장치는 특정 데이터가 상기 제1 기록 매체로부터 판독되었을 때, 상기 데이터 조각에 대한 제1 정보 및 상기 특정 데이터에 대한 제2 정보를 갱신하는 갱신 유닛을 더 포함할 수 있다. 이 경우에, 상기 특정 데이터는 주 데이터 및 상기 주 데이터에 관한 부가 정보인 메타데이터를 포함할 수 있다. 상기 갱신 유닛은 상기 주 데이터와 상기 메타데이터 중 적어도 하나가 상기 제1 기록 매체로부터 판독되었을 때 상기 특정 데이터가 판독된 것으로 결정할 수 있다.The apparatus may further include an updating unit for updating the first information for the piece of data and the second information for the specific data when specific data has been read from the first recording medium. In this case, the specific data may include main data and metadata that is additional information about the main data. The updating unit may determine that the specific data has been read when at least one of the main data and the metadata has been read from the first recording medium.

상기 제1 정보는 상기 데이터 조각이 상기 제1 기록 매체에 기록된 후 상기 제1 기록 매체가 기억 유닛에 장착된 횟수를 나타냄으로써 상기 데이터 조각이 상기 제1 기록 매체에 기록된 후 상기 제1 기록 매체로부터 어떤 데이터가 판독된 횟수를 나타낼 수 있다.The first information indicates the number of times the first recording medium is mounted on the storage unit after the data piece has been recorded on the first recording medium, so that the first recording after the data piece has been recorded on the first recording medium It can indicate the number of times any data has been read from the medium.

상기 추적 유닛은 상기 제2 정보로 나타낸 횟수와 상기 제1 정보로 나타낸 횟수의 비를 액세스 빈도로서 추적할 수 있다. 대안으로, 상기 추적 유닛은 상기 제1 정보로 나타낸 횟수가 미리 결정된 범위 내인 데이터에 대해서만 상기 제2 정보를 이용하여 상기 액세스 빈도를 추적할 수 있다.The tracking unit can track the ratio of the number of times indicated by the second information and the number of times indicated by the first information as the access frequency. Alternatively, the tracking unit may track the access frequency using the second information only for data whose number of times indicated by the first information is within a predetermined range.

상기 제2 정보는 상기 데이터 조각의 판독 히스토리를 나타내는 정보이고, 상기 히스토리는 복수의 비트값들로 표현될 수 있다. 상기 제1 기록 매체로부터 어떤 데이터가 판독된 M 횟수 중, 상기 데이터 조각이 판독된 횟수는 상기 복수의 비트값들 중 N 비트값들로 표현될 수 있고, N은 M보다 작다.The second information is information representing a read history of the data piece, and the history may be represented by a plurality of bit values. Of the number of times M which data has been read from the first recording medium, the number of times the data piece has been read may be represented by N bit values of the plurality of bit values, where N is less than 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 단부에 더 가깝다.The determining unit is further configured to determine the data in the second recording medium such that frequently accessed data is recorded at the first recording position in the second recording medium and less frequently accessed data is recorded at the second recording position in the second recording medium. The recording position of the piece can be determined, and the second recording position is a position where a time required for reading data from the second recording medium is longer than that at the first recording position. In this case, the second recording medium may be a tape medium in which data is read in the direction from the first end to the second end of the tape medium, wherein the second recording position is the first recording position at the second end. It may be closer to the second end than closer to. Alternatively, the second recording medium may be a tape medium in which data is read in the direction from the first end to the second end of the tape medium, wherein the tape medium divides the tape medium in at least one position in the longitudinal direction. Thereby having a plurality of regions formed; The first recording position is a position in a first region of the plurality of regions, the second recording position is a position in a second region of the plurality of regions, and the second region is the first region is the second end portion. Closer to the second end than closer to.

본 발명은 또한 기록 매체에서의 데이터 조각들의 재배열을 지원하는 장치를 제공한다. 이 장치는 상기 기록 매체에 기록된 데이터 조각들 각각에 대해, 상기 데이터 조각이 상기 기록 매체에 기록된 후 상기 기록 매체로부터 어떤 데이터가 판독된 횟수를 나타내는 제1 정보 및 상기 데이터 조각이 상기 기록 매체로부터 판독된 횟수를 나타내는 제2 정보를 획득하는 획득 유닛; 상기 획득 유닛에 의해 획 득된 상기 제1 정보 및 제2 정보를 이용하여 상기 데이터 조각에 대한 액세스 빈도를 추적하는 추적 유닛; 및 상기 추적 유닛에 의해 추적된 액세스 빈도에 기초하여 상기 기록 매체 내의 상기 데이터 조각의 기록 위치를 결정하는 결정 유닛을 포함한다.The present invention also provides an apparatus for supporting rearrangement of pieces of data in a recording medium. The apparatus includes, for each of the pieces of data recorded on the recording medium, first information indicating the number of times any data is read from the recording medium after the pieces of data have been recorded on the recording medium and the data pieces being recorded on the recording medium. An acquiring unit for acquiring second information indicating the number of times read from the; A tracking unit for tracking the frequency of access to the pieces of data using the first information and the second information acquired by the acquiring unit; And a determining unit that determines the recording position of the piece of data in the recording medium based on the access frequency tracked by the tracking unit.

본 발명은 또한 제1 테이프 매체에 기록된 데이터 조각들을 제2 테이프 매체로 이동시키는 장치를 포함한다. 이 장치는 상기 제1 테이프 매체에 기록되고 주 데이터와 상기 주 데이터와 연관된 정보를 나타내는 메타데이터를 포함하는 데이터 조각들 각각에 대해, 상기 데이터 조각이 상기 제1 테이프 매체에 기록된 후 어떤 데이터를 판독하기 위해 상기 제1 테이프 매체가 테이프 드라이브에 장착된 횟수를 나타내는 제1 정보 및 상기 데이터 조각이 상기 제1 테이프 매체로부터 판독된 횟수를 나타내는 제2 정보를 획득하는 획득 유닛; 상기 획득 유닛에 의해 획득된 상기 제2 정보가 나타내는 횟수와 상기 제1 정보가 나타내는 횟수의 비를, 상기 데이터 조각에 대한 액세스 빈도로서, 추적하는 추적 유닛; 및 상기 데이터 조각을 상기 추적 유닛에 의해 추적된 액세스 빈도의 하향 순서로 상기 제2 테이프 매체에 기록하는 기록 유닛을 포함한다.The invention also includes an apparatus for moving pieces of data recorded on a first tape medium to a second tape medium. The apparatus is adapted for each piece of data recorded on the first tape medium and including metadata indicative of main data and information associated with the main data, which data is to be written after the piece of data is written to the first tape medium. An acquiring unit for acquiring first information indicating the number of times the first tape medium has been mounted in the tape drive for reading and second information indicating the number of times the piece of data has been read from the first tape medium; A tracking unit that tracks a ratio of the number of times indicated by the second information obtained by the acquiring unit and the number of times indicated by the first information as an access frequency for the data piece; And a recording unit for recording the piece of data on the second tape medium in descending order of the access frequency tracked by the tracking unit.

또한, 본 발명은 제1 기록 매체에 기록된 데이터 조각들의 제2 기록 매체로의 이동을 지원하는 방법을 제공한다. 이 방법은 상기 제1 기록 매체에 기록된 데이터 조각들 각각에 대해, 상기 데이터 조각이 상기 제1 기록 매체에 기록된 후 상기 제1 기록 매체로부터 어떤 데이터가 판독된 횟수를 나타내는 제1 정보 및 상기 데이터 조각이 상기 제1 기록 매체로부터 판독된 횟수를 나타내는 제2 정보를 획득 하는 단계; 상기 획득된 상기 제1 정보 및 상기 획득된 제2 정보를 이용하여 상기 데이터 조각에 대한 액세스 빈도를 추적하는 단계; 및 상기 추적된 액세스 빈도에 기초하여 상기 제2 기록 매체 내의 상기 데이터 조각의 기록 위치를 결정하는 단계를 포함한다.The present invention also provides a method for supporting movement of pieces of data recorded on a first recording medium to a second recording medium. The method includes for each of the pieces of data recorded on the first recording medium, first information indicating the number of times any data has been read from the first recording medium after the pieces of data have been recorded on the first recording medium and the Obtaining second information indicative of the number of times a piece of data has been read from the first recording medium; Tracking the frequency of access to the pieces of data using the obtained first information and the obtained second information; And determining a recording position of the piece of data in the second recording medium based on the tracked access frequency.

또한, 본 발명은 컴퓨터가, 제1 기록 매체에 기록된 데이터 조각들의 제2 기록 매체로의 이동을 지원하는 장치로서 기능을 하게 하는 프로그램 제품을 포함한다. 이 장치는 상기 제1 기록 매체에 기록된 데이터 조각들 각각에 대해, 상기 데이터 조각이 상기 제1 기록 매체에 기록된 후 상기 제1 기록 매체로부터 어떤 데이터가 판독된 횟수를 나타내는 제1 정보 및 상기 데이터 조각이 상기 제1 기록 매체로부터 판독된 횟수를 나타내는 제2 정보를 획득하는 획득 유닛; 상기 획득 유닛에 의해 획득된 상기 제1 정보 및 제2 정보를 이용하여 상기 데이터 조각에 대한 액세스 빈도를 추적하는 추적 유닛; 및 상기 추적 유닛에 의해 추적된 액세스 빈도에 기초하여 상기 제2 기록 매체 내의 상기 데이터 조각의 기록 위치를 결정하는 결정 유닛을 포함한다.The invention also includes a program product for causing a computer to function as an apparatus for supporting movement of pieces of data recorded on a first recording medium to a second recording medium. The apparatus further comprises: for each of the pieces of data recorded on the first recording medium, first information indicating the number of times any data has been read from the first recording medium after the pieces of data have been recorded on the first recording medium and the An acquiring unit for acquiring second information indicating the number of times a piece of data has been read from the first recording medium; A tracking unit for tracking the frequency of access to the data pieces using the first information and the second information obtained by the acquiring unit; And a determining unit that determines a recording position of the data piece in the second recording medium based on the access frequency tracked by the tracking unit.

본 발명은 시간축을 이용하지 않고 실제 액세스 빈도를 데이터 이동시 고려하여 성능을 향상시키는 것을 가능하게 한다.The present invention makes it possible to improve performance by taking into account the actual access frequency in data movement without using the time base.

이하, 본 발명을 실시하기 위한 최선의 방법(이하, "실시예"라고 함)에 대해 첨부 도면을 참조하여 상세히 설명한다. 본 발명은 어떤 타입의 기록 매체에라도 적용 가능하지만, 여기서는 테이프 매체(이하 간단히 "테이프"라고 함)를 예로서 설명한다. 이는 요즘에는 계속 증가하는 많은 양의 데이터를 고속 기억 장치에 저장하는 것이 어려워져, 테이프 드라이브와 같은 저속 기억 장치에 저장된 데이터 조각들도 액세스 빈도에 기초하여 배열되는 것이 중요하기 때문이다. Best Mode for Carrying Out the Invention The best method for carrying out the present invention (hereinafter referred to as "embodiment") will now be described in detail with reference to the accompanying drawings. Although the present invention is applicable to any type of recording medium, a tape medium (hereinafter simply referred to as "tape") will be described as an example. This is because it is nowadays difficult to store ever-increasing amounts of data in high speed storage devices, and it is important that the pieces of data stored in low speed storage devices such as tape drives are also arranged based on the access frequency.

먼저, 본 발명이 적용되는 디지털 데이터 보관 장치(이하, 간단히 "보관 장치"라고 함)에 대해 설명한다.First, a digital data storage device (hereinafter, simply referred to as a "storage device") to which the present invention is applied will be described.

도 1은 본 실시예가 적용되는 보관 장치(100)의 예시적인 구성을 예시한다.1 illustrates an exemplary configuration of a storage device 100 to which the present embodiment is applied.

예시된 바와 같이, 보관 장치(100)는 테이프 드라이브(tape drive; 10), 제어 메커니즘(control mechanism; 30), 액세서(accessor; 40), 및 카트리지 슬롯(cartridge slot; 50)을 포함한다.As illustrated, the storage device 100 includes a tape drive 10, a control mechanism 30, an accessor 40, and a 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)는 자기 테이프 이외의 테이프 매체일 수 있다.The tape drive 10 includes a host interface (hereinafter referred to as "host I / F") 11, a buffer 12, a channel 13, a write head 14a, a read head 14b, and a motor 15. ). The tape drive 10 further includes a controller 16, a head position control system 17, and a motor driver 18. A tape cartridge 20 (hereinafter simply referred to as "cartridge") 20 that can be inserted and loaded into the tape drive 10 is also illustrated in FIG. 1. The cartridge 20 comprises a tape 23 wound on reels 21, 22. As the reels 21 and 22 rotate, the tape 23 moves longitudinally from the reels 21 to the reels 22 or from the reels 22 to the reels 21. Although the magnetic tape is described as an example of the tape 23, the tape 23 may be a tape medium other than the magnetic tape.

카트리지(20)는 카트리지 메모리(24)를 더 포함한다. 예컨대, 카트리지 메 모리(24)는 데이터가 테이프(23)에 기록되는 법에 관한 정보를 기록한다. 데이터에 대한 고속 액세스는 예컨대 무접촉 방식의 RF 인터페이스를 통해, 테이프(23)에 기록된 데이터의 인덱스 및 테이프(23)를 사용하는 법을 체크함으로써 실현될 수 있다. 카트리지 메모리(24)에 대한 액세스를 가능하게 하는 RF 인터페이스와 같은 인터페이스가 도 1에 카트리지 메모리 인터페이스(이하, "CM I/F"라고 함)(19)로서 예시되어 있다.The cartridge 20 further includes a cartridge memory 24. For example, the cartridge memory 24 records information on how data is recorded on the tape 23. High-speed access to data can be realized by checking the index of the data recorded on the tape 23 and how to use the tape 23, for example via a contactless RF interface. An interface such as an RF interface that enables access to the cartridge memory 24 is illustrated in FIG. 1 as a cartridge memory interface (hereinafter referred to as "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)에 제공한다.The host I / F 11 communicates with the host 200 via the control mechanism 30. For example, from the host 200, the host I / F 11 sends a command to write data to the tape 23 (first command), a command to move the tape 23 to a desired position (second command), And a command (third command) to read data from the tape 23. For example, the host I / F 11 uses SCSI as a communication standard. In SCSI, a first command corresponds to a write command, a second command corresponds to a locate command or a space command, and a third command corresponds to a read command. The host I / F 11 provides the host 200 with a response indicating whether the processing corresponding to this command was successful.

버퍼(12)는 테이프(23)에 기록될 데이터 및 테이프(23)로부터 판독된 데이터를 저장하는 메모리이다. 예컨대, 버퍼(12)는 동적 랜덤 액세스 메모리(DRAM)이다. 버퍼(12)는 복수의 버퍼 세그먼트(buffer segment)를 가진다. 버퍼 세그먼트 각각은 테이프(23)에 대한 데이터의 판독 및 기록 단위인 데이터 세트를 저장한다.The buffer 12 is a memory that stores data to be written on the tape 23 and data read from the tape 23. For example, the buffer 12 is dynamic random access memory (DRAM). The buffer 12 has a plurality of buffer segments. Each buffer segment stores a data set that is a unit of reading and writing data to and from the tape 23.

채널(13)은 테이프(23)에 기록될 데이터를 기록 헤드(14a)에 전송하고 테이 프(23)로부터 판독된 데이터를 기록 헤드(14b)로부터 수신하는 데 사용되는 통신 채널이다. The channel 13 is a communication channel used to transmit data to be recorded on the tape 23 to the recording head 14a and to receive data read from the tape 23 from the recording head 14b.

테이프(23)가 그 길이 방향으로 이동하면, 기록 헤드(14a)는 정보를 테이프(23)에 기록하고, 판독 헤드(14b)는 테이프(23)로부터 정보를 판독한다.When the tape 23 moves in the longitudinal direction, the recording head 14a writes the information to the tape 23, and the readhead 14b reads the information from the tape 23. As shown in FIG.

모터(15)는 릴(21, 22)을 회전시킨다. 모터(15)는 도 1에서 단일의 직사각형으로 표현되어 있지만, 각각의 릴(21, 22)에 두 모터(15)를 제공하는 것이 바람직하다.The motor 15 rotates the reels 21 and 22. The motor 15 is represented by a single rectangle in FIG. 1, but it is preferred to provide two motors 15 on each reel 21, 22.

제어기(16)는 테이프 드라이브(10)의 전체 동작을 제어한다. 예컨대, 호스트 I/F(11)에 의해 수신되는 명령에 따라, 제어기(16)는 테이프(23)에 대한 데이터의 기록 또는 판독을 제어한다. 제어기(16)는 또한 헤드 위치 제어 시스템(17) 및 모터 구동기(18)를 제어한다.The controller 16 controls the overall operation of the tape drive 10. For example, in accordance with a command received by the host I / F 11, the controller 16 controls the writing or reading of data to and from the tape 23. The controller 16 also controls the head position control system 17 and the motor driver 18.

헤드 위치 제어 시스템(17)은 기록 헤드(14a) 및 판독 헤드(14b)가 하나 이상의 원하는 랩(wrap)을 추적할 수 있도록 제어를 수행하는 시스템이다. 여기서, 용어 "랩(wrap)"은 테이프(23) 상의 트랙 그룹을 말한다. 랩의 전환이 필요한 경우, 기록 헤드(14a)와 판독 헤드(14b) 간의 전기적 전환을 수행하는 것이 필요하다. 이러한 전환 제어는 헤드 위치 제어 시스템(17)에 의해 수행된다.The head position control system 17 is a system that performs control so that the recording head 14a and the read head 14b can track one or more desired wraps. Here, the term "wrap" refers to a group of tracks on the tape 23. If a change in the lap is required, it is necessary to perform an electric switch between the recording head 14a and the read head 14b. This switching control is performed by the head position control system 17.

모터 구동기(18)는 모터(15)를 구동한다. 두 모터(15)가 위에서 설명된 바와 같이 제공될 때, 2개의 모터 구동기(18)들이 그에 따라 제공된다.The motor driver 18 drives the motor 15. When two motors 15 are provided as described above, two motor drivers 18 are provided accordingly.

제어 메커니즘(30)은 호스트(200)로부터의 명령에 따라 액세서(40) 및 테이프 드라이브(10)를 제어하는 메커니즘이다. 제어 메커니즘(30)은 액세서(40)에게 호스트(200)에 의해 지정된 데이터가 카트리지(20)에 대해 판독 또는 기록되도록 테이프 드라이브(10)에 카트리지(20)를 로딩하도록 지시한다. 또한, 제어 메커니즘(30)은 테이프 드라이브(10)에게 호스트(200)에 의해 지정된 데이터를 액세스(40)에 의해 로딩된 카트리지(20)에 대해 판독 또는 기록하도록 지시한다.The control mechanism 30 is a mechanism for controlling the accessor 40 and the tape drive 10 in accordance with commands from the host 200. The control mechanism 30 instructs the accessor 40 to load the cartridge 20 into the tape drive 10 such that the data designated by the host 200 is read or written to the cartridge 20. In addition, the control mechanism 30 instructs the tape drive 10 to read or write data designated by the host 200 to the cartridge 20 loaded by the access 40.

제어 메커니즘(30)의 제어 하에서, 액세서(40)는 카트리지 슬롯(50)으로부터 카트리지(20)를 꺼내 카트리지(20)를 테이프 드라이브(10)에 로딩한다.Under the control of the control mechanism 30, the accessor 40 takes the cartridge 20 out of the cartridge slot 50 and loads the cartridge 20 into the tape drive 10.

카트리지 슬롯(50)은 판독 동작 및 기록 동작이 수행되지 않는 카트리지(20)를 적재하기 위한 장소이다. 도 1에서는 카트리지 슬롯(50)이 단일의 직사각형으로 표현되어 있지만, 실제로는 복수의 카트리지를 적재하기 위한 복수의 슬롯이 존재한다.The cartridge slot 50 is a place for loading a cartridge 20 in which a read operation and a write operation are not performed. Although the cartridge slot 50 is represented by a single rectangle in FIG. 1, there are actually a plurality of slots for loading a plurality of cartridges.

도 1에는 하나의 테이프 드라이브(10)만이 도시되어 있지만, 테이프 드라이브(10)는 복수로 제공될 수 있다. 이 경우에, 액세서(40)에게 테이프 드라이브(10)들 중 하나에 카트리지(20)를 로딩하라고 지시하기 위해, 제어 메커니즘(30)은 판독 명령 또는 기록 명령의 목적지인 테이프 드라이브(10)에 관한 식별 정보를 액세서(40)에 전송한다. 도 1은 하나의 카트리지(20)만이 로딩될 수 있는 테이프 드라이브(10)를 예시하나, 테이프 드라이브(10)는 복수의 카트리지(20)가 로딩될 수 있는 테이프 드라이브일 수 있다.Although only one tape drive 10 is shown in FIG. 1, a plurality of tape drives 10 may be provided. In this case, in order to instruct the accessor 40 to load the cartridge 20 into one of the tape drives 10, the control mechanism 30 relates to the tape drive 10 that is the destination of the read command or the write command. The identification information is transmitted to the accessor 40. 1 illustrates a tape drive 10 in which only one cartridge 20 may be loaded, but the tape drive 10 may be a tape drive in which a plurality of cartridges 20 may be loaded.

테이프 드라이브(10)에 의한 테이프(23) 상에 기록된 데이터에 대한 액세스의 성능은 테이프(23)상의 기록 위치에 따라 크게 달라진다. 그러므로, 데이터에 대한 액세스 빈도를 고려하지 않고 데이터를 테이프(23)로 이동시키면, 빈번하게 액세스되는 데이터에 대한 액세스 속도가 감소될 수 있다. 결과적으로, 데이터 액세스 성능이 저하될 수 있다.The performance of access to data recorded on the tape 23 by the tape drive 10 greatly depends on the recording position on the tape 23. Therefore, moving the data to the tape 23 without considering the frequency of access to the data can reduce the speed of access to frequently accessed data. As a result, data access performance may be degraded.

요즘에, 테이프 드라이브(10)는 사진 데이터, 비디오 데이터 등의 보관 장치로서 사용되곤 한다. 그러므로, 데이터(주 데이터) 자체뿐만 아니라, 주 데이터에 관한 부가 정보의 역할을 하는 메타데이터가 장시간 동작 저장될 데이터로서 중요해지고 있다. 예컨대, 사진 데이터에 대한 메타데이터는 사진을 찍은 장소, 날짜, 시간, 촬영자 이름, 사진 장비, 기록 포맷, 파일 명, 파일 크기와 같은 정보를 제공할 수 있다. 메타데이터는 데이터와 밀접하게 연관되며, 따라서 데이터와 함께 취급되곤 한다. 그러므로, 데이터가 테이프(23) 상에 보관 데이터로서 저장되고 데이터에 대한 메타데이터가 동일한 테이프(23) 상에 저장될 때, 데이터와 메타데이터가 적절히 배열되지 않는 한 액세스 성능은 저하될 것이다.Nowadays, the tape drive 10 is used as a storage device for picture data, video data and the like. Therefore, not only the data (main data) itself, but also metadata serving as additional information about the main data are becoming important as data to be stored for a long time operation. For example, the metadata for the photo data may provide information such as the place where the photo was taken, the date, the time, the photographer's name, the photographic equipment, the recording format, the file name, and the file size. Metadata is closely related to data and is therefore often treated with data. Therefore, when data is stored as archive data on the tape 23 and metadata for the data is stored on the same tape 23, access performance will be degraded unless the data and metadata are properly arranged.

그러므로, 본 실시예에서, 서로 연관되어 테이프(23) 상에 기록된 데이터 조각들에 대한 액세스 빈도가 기록되어 데이터 이동을 수행하는데 이용된다. 따라서, 데이터 이동시, 데이터 및 메타데이터의 그룹들에 대한 액세스 성능에 적절한 배열이 실현된다.Therefore, in this embodiment, the frequency of access to the pieces of data recorded on the tape 23 in association with each other is recorded and used to perform data movement. Thus, upon data movement, an arrangement suitable for access performance to groups of data and metadata is realized.

구체적으로, 다음의 구성이 채택된다.Specifically, the following configuration is adopted.

데이터 및 메타데이터는 dm-id에 의해 서로 연관된다. 데이터 또는 메타데이터가 액세스될 때마다, 액세스 히소토리가 dm-id에 대응하는 액세스 카운터 변수(이하, 간단히 "카운터"라고 함) 그룹에 기록된다. 순차 액세스 기록 매체인 테이프의 특성 때문에, 액세스 히스토리는 시간 축을 참조하지 않고 테이프(23)가 데 이터의 판독을 위해 장착된 횟수를 참조하여 카운터 그룹에 기록된다. 테이프(23)의 휴대성을 위해, 카운터 그룹은 테이프(23)에 부착된 반도체 메모리에 기록된다.Data and metadata are associated with each other by dm-id. Each time data or metadata is accessed, an access history is written to a group of access counter variables (hereinafter simply referred to as "counters") corresponding to dm-id. Because of the characteristics of the tape, which is a sequential access recording medium, the access history is recorded in the counter group with reference to the number of times the tape 23 has been mounted for reading data without referring to the time axis. For portability of the tape 23, the counter group is written to a semiconductor memory attached to the tape 23.

액세스 히스토리가 위에서 설명된 바와 같이 기록된 후 기록 매체(A)로부터 기록 매체(B)로의 데이터 이동을 위해, 기록 매체(A)에서 dm-id에 의해 서로 연관된 데이터 및 메타데이터에 대한 액세스 빈도는 카운터 그룹에 기초한 정책에 따라 계산된다. 다음에, 보다 양호한 액세스 성능을 위해, 데이터 및 메타데이터 조각들이 액세스 빈도의 하향 순서로 기록 매체(B) 상에 재배열된다. 여기서 채택된 재배열법은 연관된 데이터 및 메타데이터의 세트들을 테이프(23)에 테이프(23)의 시작 부분부터 순차적으로 기록하는 것이다. 따라서, 테이프(23)의 시작 부분으로부터 순차적으로 데이터 및 메타데이터의 세트들을 판독함에 있어 액세스 성능이 향상된다.For data movement from the recording medium A to the recording medium B after the access history is recorded as described above, the access frequency for the data and metadata associated with each other by dm-id in the recording medium A is It is calculated according to the policy based on the counter group. Next, for better access performance, the data and metadata pieces are rearranged on the recording medium B in descending order of the access frequency. The rearrangement method adopted here is to record the sets of associated data and metadata sequentially on the tape 23 from the beginning of the tape 23. Thus, access performance is improved in reading the sets of data and metadata sequentially from the beginning of the tape 23.

이하, 상기 동작을 실현하는 구성에 대해 상세히 설명한다.Hereinafter, a configuration for realizing the above operation will be described in detail.

먼저, 데이터와 메타데이터 간의 연관성에 대해 설명한다.First, the association between data and metadata will be described.

도 2는 데이터가 어떻게 메타데이터와 연관되는지에 대해 개략적으로 예시한다.2 schematically illustrates how data is associated with metadata.

도 2(a)에 예시된 바와 같이, 호스트(200)는 식별 번호 dm-id를 데이터 및 메타데이터에 할당함으로써 데이터와 메타데이터 간의 연관성을 먼저 생성한다. 다음에, 호스트(200)는 데이터를 데이터 포트를 통해 제어 메커니즘(30)에 전달하고, 메타데이터를 메타데이터 포트를 통해 제어 메커니즘(30)에 전달한다.As illustrated in FIG. 2A, the host 200 first creates an association between data and metadata by assigning an identification number dm-id to the data and metadata. The host 200 then passes data to the control mechanism 30 through the data port and metadata to the control mechanism 30 through the metadata port.

제어 메커니즘(30)에서, 데이터 포트를 통해 전달된 정보는 데이터로서 취급 되며, ID 발생 유닛(31)이 d-id를 발생하여 이 데이터에 할당한다. 여기서, d-id는 데이터를 식별하기 위한 식별 번호이고, 적어도 보관 장치(100)가 동작하는 환경에서 고유한 값이다. 또한, 제어 메커니즘(30)에서, 메타데이터 포트를 통해 전달되는 정보는 메타데이터로서 취급되며, ID 발생 유닛(31)이 m-id를 발생하여 이 메타데이터에 할당한다. 여기서, m-id는 메타데이터를 식별하기 위한 식별 번호이고, 적어도 보관 장치(100)가 동작하는 환경에서 고유한 값이다. 데이터 및 메타데이터가 제어 메커니즘(30)에 임시적으로 별개로 전달될 때에도, 데이터와 메타데이터 간의 관계는 보관 장치(100) 내에서 dm-id에 의해 설정될 수 있다.In the control mechanism 30, the information transmitted through the data port is treated as data, and the ID generating unit 31 generates d-id and assigns it to this data. Here, the d-id is an identification number for identifying data and is at least a value unique in an environment in which the storage device 100 operates. In addition, in the control mechanism 30, the information delivered through the metadata port is treated as metadata, and the ID generating unit 31 generates m-id and assigns it to this metadata. Here, the m-id is an identification number for identifying the metadata and is at least a value unique in an environment in which the storage device 100 operates. Even when data and metadata are temporarily transferred separately to the control mechanism 30, the relationship between the data and the metadata may be established by dm-id within the storage device 100.

따라서, dm-id에 기초한 데이터와 메타데이터 간의 관계가 제어 메커니즘(30)에 의해 데이터베이스(DB; 32)에 dm-a 테이블(이하, 간단히 "dm-a"라고 함)로서 기록된다. 도 2(b)는 dm-a의 포맷을 예시한다. 도 2(b)의 예에서 하나의 데이터 조각이 하나의 메타데이터와 연관되지만, 데이터와 메타데이터는 M과 N의 비로 존재할 수 있으며, 여기서 M과 N은 자연수이다.Therefore, the relationship between the data based on the dm-id and the metadata is recorded by the control mechanism 30 as a dm-a table (hereinafter simply referred to as "dm-a") in the database (DB) 32. 2 (b) illustrates the format of dm-a. In the example of FIG. 2 (b), one piece of data is associated with one metadata, but the data and metadata may exist in a ratio of M and N, where M and N are natural numbers.

부가적으로, 보관 장치(100)에서의 데이터와 메타데이터의 기록 위치들은 데이터와 메타데이터의 각각에 대해, 제어 메커니즘(30)에 의해 dm-l 테이블(이하, 간단히 "dm-l"라고 함)로서 기록된다. 도 2(c)는 dm-l의 포맷을 예시한다. 복수의 기억 공간들이 보관 장치(100)에 구현되고, 데이터 및 메타데이터의 복수의 복사본들이 복수의 저장 공간들에 존재하는 경우, 복사본들의 수만큼의 엔트리들이 dm-l에 등록된다. 도 2(c)에서, 엔트리들은 위치-1 및 위치-2로 나타낸다.In addition, the recording positions of the data and the metadata in the storage device 100 are referred to as dm-l tables (hereinafter simply “dm-l”) by the control mechanism 30 for each of the data and the metadata. ) Is recorded. 2 (c) illustrates the format of dm-1. When a plurality of storage spaces are implemented in the storage device 100 and a plurality of copies of data and metadata exist in the plurality of storage spaces, as many entries as the number of copies are registered in dm-l. In Fig. 2 (c), entries are represented by position-1 and position-2.

이하, 데이터와 메타데이터 간의 연관성에 대해 일 예를 이용하여 설명한다.Hereinafter, the association between data and metadata will be described using an example.

도 3은 데이터와 메타데이터 간의 연관성의 일예를 예시한다. 3 illustrates an example of an association between data and metadata.

도 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"이라고 한다. Fig. 3 (a) shows a state in which data identified by d-id and metadata identified by m-id have a relationship identified by dm-id and are recorded on a recording medium having a medium name " A001 ". Specifically, each of the data fragments identified by d-id "d3" and the metadata fragments identified by m-id "m4", m-id "m6" and m-id "m8" are each dm-id ". each piece of data identified by d-id " d1 " and pieces of metadata identified by m-id " m1 " and m-id " m7 " The data fragment identified by d-id "d2" and the metadata fragment identified by m-id "m5" have a relationship identified and recorded by id "dm01" and identified by dm-id "dm02". And a data fragment identified by d-id "d5" and a metadata fragment identified by m-id "m9" have a relationship identified and recorded by dm-id "dm04". In the present specification, the combination between data and metadata associated with each other by dm-id is now referred to as "DM".

도 3(b)는 dm-id "dm03"를 가진 DM의 식별자들(d-id 및 m-id)이 dm-a에 열거되는 법을 예시한다.3 (b) illustrates how the identifiers d-id and m-id of the DM with dm-id “dm03” are listed in dm-a.

데이터와 메타데이터는 기록 준비 완료시 테이프(23)에 기록되므로, 데이터와 메타데이터의 조각들을 테이프(23)에 기록하는 순서는 특유하게 결정되는 것은 아니다.Since data and metadata are recorded on the tape 23 at the time of preparation for recording, the order of recording pieces of data and metadata on the tape 23 is not uniquely determined.

그러므로, 데이터와 메타데이터 간의 관계가 dm-id에 의해 논리적으로 설정되더라도, 테이프(23) 상에서의 데이터와 메타데이터의 조각들의 기록 위치들은 물 리적으로 분산될 수 있다.Therefore, even if the relationship between data and metadata is logically set by dm-id, the recording positions of pieces of data and metadata on the tape 23 can be physically distributed.

도 4는 테이프(23) 상에 분산 기록된 데이터와 메타데이터의 조각들의 일 예를 예시한다. 예시된 바와 같이, 복수의 랩이 테이프(23) 상에 존재한다. 도 4에서, 각각의 속이 빈 화살표는 데이터와 메타데이터가 테이프(23)에 기록되는 방향을 나타내고, 각각의 속이 찬 화살표는 테이프(23)의 주행 방향이 역전됨을 나타낸다. 4 illustrates an example of pieces of data and metadata distributed and recorded on the tape 23. As illustrated, a plurality of wraps are present on the tape 23. In Fig. 4, each hollow arrow indicates the direction in which data and metadata are recorded on the tape 23, and each hollow arrow indicates that the running direction of the tape 23 is reversed.

먼저, 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에 기록된다.First, metadata with m-id "m6", data with d-id "d3", metadata with m-id "m1", data with d-id "d1", m-id "m4" Metadata with is written to Lab # 0 in the forward direction. Next, the metadata with m-id "m5" and the data with d-id "d2" are recorded in lap # 1 in the reverse direction. Next, metadata with m-id "m7", metadata with m-id "m9", data with d-id "d5", and metadata with m-id "m8" are again wrapped forward. Recorded in # 2.

즉, 도 3(a)에 예시된 것과 같은 데이터 및 메타데이터의 조각들의 그룹들이 주어진 기록 매체에 저장되는 경우에도, 그 조각들이 테이프(23)로 이동되면, 조각들은 데이터와 메타데이터가 서로 어떻게 연관되는지에 관계없이 배열될 수 있다. 이 경우에, dm-id를 가진 DM은 테이프(23)의 위치 결정이 복수 회 수행되지 않는 한 판독될 수 없으므로, 액세스 성능은 테이프(23)의 위치 결정을 수행함으로써 저하되게 된다.In other words, even when groups of pieces of data and metadata as illustrated in FIG. Can be arranged regardless of whether they are related. In this case, the DM with the dm-id cannot be read unless the positioning of the tape 23 is performed a plurality of times, so that the access performance is degraded by performing the positioning of the tape 23.

본 실시예에서, 기록된 데이터와 메타데이터는 이동시 액세스 빈도에 기초하여 재배열된다.In this embodiment, the recorded data and metadata are rearranged based on the access frequency in movement.

여기서, 각각의 DM에 대해 다음의 3개의 카운터들이 정의된다.Here, the following three counters are defined for each DM.

(1) 판독 액세스 장착 카운터(Ram-count)(1) Ram-count with read access

Ram-count는 각 dm-id에 대해 정의된 카운터이다. Ram-count는 dm-id에 의해 서로 연관된 데이터와 메타데이터의 조각들이 테이프(23)에 기록된 후 데이터 판독을 위해 테이프(23)가 장착된 횟수를 보유한다. 본 실시예는 테이프(23)로부터 데이터를 판독하는 것이 필요하게 될 때마다 데이터가 기록된 테이프(23)가 테이프 드라이브(10)에 장착된다는 가정에 기초한다. 이하, 판독을 위해 테이프(23)를 장착하는 것을 "판독 장착 동작(read mount operation)"이라고 한다.Ram-count is a counter defined for each dm-id. Ram-count holds the number of times the tape 23 has been mounted for data reading after pieces of data and metadata associated with each other by dm-id have been written to the tape 23. This embodiment is based on the assumption that whenever a data need to be read from the tape 23 becomes necessary, the tape 23 on which the data is recorded is mounted in the tape drive 10. Hereinafter, mounting the tape 23 for reading is referred to as "read mount operation".

위에서 설명된 Ram-count의 정의에서, 가장 큰 Ram-count를 가진 dm-id는 테이프(23)에 가장 덜 최근에 기록된 데이터와 메타데이터를 연관시키는 것이다. 각각의 dm-id에 할당된 Ram-count는 어떤 데이터 및 메타데이터가 비교적 새로운 것이고 또는 오래된 것인지를 보여주며, 또한 판독을 위해 데이터와 메타데이터에 액세스할 확률을 보여준다. 이 카운터의 랩핑(wrapping)을 방지하기 위해, 카운터는 큰 값을 보유하도록 정의될 필요가 있다. 카운터는 랩핑되면 0으로 리셋된다.In the definition of Ram-count described above, the dm-id with the largest Ram-count is to associate the metadata with the least recently recorded data on the tape 23. The Ram-count assigned to each dm-id shows which data and metadata are relatively new or old, and also shows the probability of accessing the data and metadata for reading. In order to prevent the wrapping of this counter, the counter needs to be defined to hold a large value. The counter resets to zero when wrapped.

(2) 판독 빈도 카운터(Dm-readfreq)(2) read frequency counter (Dm-readfreq)

Dm-readfreq는 또한 각각의 dm-id에 대해 정의된 카운터이다. Dm-readfreq는 판독 장착 동작이 Ram-count에 의해 나타낸 횟수만큼 수행되는 동안에 dm-id에 의해 서로 연관된 데이터 및 메타데이터가 판독되는 것을 어느 정도 나타내는 히스토리를 보유한다. Dm-readfreq는 데이터 및 메타데이터 중 어느 하나가 판독될 때 갱신된다.Dm-readfreq is also a counter defined for each dm-id. Dm-readfreq holds a history indicating to some extent that data and metadata associated with each other are read by dm-id while the read mount operation is performed the number of times indicated by Ram-count. Dm-readfreq is updated when either data or metadata is read.

예컨대, Dm-count의 최대값은 16이며, 즉 Dm-count는 과거 16 회의 판독 장착 동작 동안의 히스토리만을 보유한다. 이 경우에, Dm-readfreq의 각 비트가 dm-id를 가진 데이터 또는 메타데이터가 판독되었는지의 여부를 나타낼 때, Dm-readfreq는 16 비트로 표현된다.For example, the maximum value of Dm-count is 16, i.e., Dm-count holds only the history for the past 16 read mount operations. In this case, Dm-readfreq is represented by 16 bits when each bit of Dm-readfreq indicates whether data or metadata with dm-id has been read.

그러나, 1회의 판독 장착 동작에 1 비트가 할당되는 경우, 예컨대 과거 256회의 판독 장착 동작들의 히스토리로부터 액세스 빈도를 측정하는 것이 요구될 때, 32 바이트(256 비트) 메모리 영역을 준비하는 것이 필요하다. However, if one bit is allocated to one read mount operation, for example, when it is required to measure the access frequency from the history of past 256 read mount operations, it is necessary to prepare a 32 byte (256 bit) memory area.

따라서, 복수의 판독 장착 동작들을 1 비트로 나타내는 방법에 관해 설명한다.Thus, a description will be given of a method of representing a plurality of read mounting operations in one bit.

예컨대, 8회의 판독 장착 동작이 1비트로 표현되면, 4 바이트(256 비트/8=32비트)의 메모리 영역만이 필요하다. 이 방법은 dm-readfreq 뿐만 아니라 dm 액세스 카운터(후술됨)의 사용을 포함한다. dm 액세스 카운터는 과거의 8회의 판독 장착 동작으로부터 dm-id를 가진 데이터가 판독된 횟수를 보유한다.For example, if eight read mount operations are represented by one bit, only four bytes (256 bits / 8 = 32 bits) of memory area are required. This method involves the use of the dm access counter (described below) as well as dm-readfreq. The dm access counter holds the number of times data with dm-id has been read from the past eight read mount operations.

그러나, 이 방법의 경우, 카운터는 과거 8회의 판독 장착 동작에서 dm-id가 단지 한번만 판독될 때에도 1을 나타낸다. 이는 dm-id를 가진 데이터가 과거 8회의 판독 장착 동작에서 1회 판독되었는지 아니면 8회 판독되었는지는 모름을 의미한다.However, for this method, the counter indicates 1 even when the dm-id is read only once in the past eight read mount operations. This means that data with dm-id has not been read once or eight times in the past eight read mount operations.

다음에, 복수의 판독 장착 동작을 복수의 비트로 표현하는 법에 대해 설명한다.Next, a method of expressing a plurality of read mounting operations with a plurality of bits will be described.

예컨대, 8회의 판독 장착 동작이 2비트로 표현될 때, 8 바이트(=256비트 /8x2=32 비트x2)의 메모리 영역이 필요하다. 이 방법은 또한 Dm-readfreq의 이용뿐만 아니라, 과거 8회의 판독 장착 동작에서 dm-id를 가진 데이터가 판독된 횟수를 보유하는 dm 액세스 카운터(후술됨)의 이용을 포함한다. For example, when eight read mount operations are represented by two bits, a memory area of eight bytes (= 256 bits / 8x2 = 32 bits x2) is required. This method also includes the use of Dm-readfreq, as well as the use of a dm access counter (described below) that holds the number of times data with dm-id has been read in the past eight read mount operations.

이 방법에서, 예컨대, 액세스 빈도는 다음과 같이 2 비트로 표현된다:In this method, for example, the access frequency is expressed in 2 bits as follows:

"00": 액세스 없음"00": no access

"01": 1 내지 2회"01": 1 to 2 times

"10": 3 내지 5 회"10": 3 to 5 times

"11": 6 내지 8회"11": 6 to 8 times

이들 정의는 빈도 계산 정책에 따라 달라질 수 있다.These definitions may vary depending on the frequency calculation policy.

(3) Dm 액세스 카운터(Dm-count)(3) Dm Access Counter (Dm-count)

Dm-count는 Dm-readfreq에서 한 단위로서의 N(<M) 비트로 표현된 M 회의 판독 장착 동작들에서 dm-id를 가진 DM이 판독된 횟수를 보유하는 카운터이다.Dm-count is a counter that holds the number of times the DM with dm-id has been read in M read-read operations, expressed as N (<M) bits as a unit in Dm-readfreq.

예컨대, 과거 8회의 판독 장착 동작이 한 단위로 함께 그룹화될 때, dm-id를 가진 데이터가 모든 과거 8 회의 판독 장착 동작 각각에서 판독되면, Dm-count는 8를 나타낸다. dm-id를 가진 데이터가 2회 판독되면, Dm-count는 2를 나타낸다.For example, when the past eight read mount operations are grouped together as a unit, if the data with dm-id is read in each of all the past eight read mount operations, Dm-count represents eight. If data with dm-id is read twice, Dm-count represents two.

테이프(23)의 8회의 판독 장착 동작과 같은 한 단위의 판독 장착 동작들 후에, Dm-count는 0으로 리셋된다. 여기서, Ram-count는 한 단위로 함께 그룹화된 8회의 판독 장착 동작을 카운트하는데 사용된다. 즉, Dm-count는 판독 장착 동작들의 개수가 8의 배수에 도달한 후에 0으로 리셋된다.After a unit of read mount operations such as eight read mount operations of the tape 23, Dm-count is reset to zero. Here, Ram-count is used to count 8 read mount operations grouped together as a unit. That is, Dm-count is reset to zero after the number of read mount operations reaches a multiple of eight.

위에서 설명된 3개의 카운터들을 사용하여, 아래에 열거된 것과 같은 정보가 얻어질 수 있다:Using the three counters described above, information as listed below can be obtained:

1. 테이프(23)의 과거 X 회 판독 장착 동작에서 타겟 dm-id를 가진 DM를 판독한 빈도;1. the frequency with which the DM with the target dm-id was read in past X read mount operations of the tape 23;

2. 타켓 dm-id를 가진 DM이 판독된 횟수;2. The number of times a DM with the target dm-id has been read;

3. 테이프(23)의 과거 X 회 판독 장착 동작에서 타겟 dm-id를 가진 DM이 판독된 횟수에 기초하여 계산된 액세스 확률.3. The access probability calculated based on the number of times the DM with the target dm-id was read in past X read mount operations of the tape 23.

4. X 회 판독 장착 동작에서의 액세스 성향, 즉 데이터가 최근에 빈번하게 액세스되었는지 아니면 과거에 빈번하게 액세스되었는지의 여부.4. The propensity of access in X read-read operations, i.e., whether the data has been accessed recently or frequently in the past.

전형적으로, 데이터에 대한 액세스 빈도는 시간축을 참조하여 결정된다. 그러나, 테이프와 같은 제거가능 기록 매체가 기록 장치로부터 배출되거나 기록 장치에서 테이프에 대한 액세스가 없는 경우에, 얼마간 "시간은 정지한다". 그러므로, 본 실시예에서, 데이터에 대한 액세스 빈도는 시간축을 고려하지 않고 테이프가 데이터 판독을 위해 장착된 횟수에 기초하여 결정된다.Typically, the frequency of access to data is determined with reference to the time base. However, if a removable recording medium such as a tape is ejected from the recording apparatus or there is no access to the tape in the recording apparatus, some "time stops". Therefore, in this embodiment, the frequency of access to the data is determined based on the number of times the tape has been mounted for data reading without considering the time base.

위에서 설명된 3개의 카운터의 크기를 정의하는 인자들은 다음과 같다:The factors that define the size of the three counters described above are:

1. 타켓팅될 과거 판독 장착 동작의 수. 1. The number of past read mounting operations to be targeted.

2. 얼마나 많은 판독 장착 동작들이 얼마나 많은 비트수에 의해 표현되는지.2. How many read mount operations are represented by how many bits.

예컨대, 위에서 설명된 바와 같이, 과거 256 회의 판독 장착 동작들이 액세스 빈도를 측정하기 위해 타겟으로 사용되는 경우에, Ram-count는 1 바이트로 표현된다.For example, as described above, when past 256 read mount operations are used as a target to measure the frequency of access, the Ram-count is represented by 1 byte.

8회의 판독 장착 동작들이 하나의 단위로 함께 그룹화되고 2비트로 표현되는 경우에, dm-readfreq는 8 바이트로 표현되고, dm-count는 4비트로 표현된다.When eight read mount operations are grouped together in one unit and represented by two bits, dm-readfreq is represented by eight bytes and dm-count is represented by four bits.

도 5는 위에서 설명된 경우에서의 3개의 카운터를 예시한다.5 illustrates three counters in the case described above.

3개의 카운터가 각각의 dm-id를 위해 제공되므로, dm-id가 또한 도 5에 예시되어 있다.Since three counters are provided for each dm-id, the dm-id is also illustrated in FIG.

dm-id에 할당된 비트 수는 위에서 지정되지 않았으므로, dm-id는 간단히 하나의 직사각형으로 표현됨에 주의한다.Note that the number of bits allocated to dm-id is not specified above, so dm-id is simply represented as a rectangle.

반면에, 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비트로 표현되는 의미를 보여준다.On the other hand, since the number of bits assigned to each of the three counters is specified, one bit is associated with one narrow rectangle and represented by that rectangle. Specifically, Ram-count requiring an 8-bit memory area is represented by eight rectangles. Dm-count, which requires a 4-bit memory area, is represented by four rectangles, and four rectangles are represented by shading four of the eight rectangles. Shading indicates that 4 bits represented by 4 rectangles are not used. Dm-readfreq, which requires a 64-bit memory area, is represented by 64 rectangles. In particular, in Dm-readfreq, eight read mount operations are grouped together as one unit and represented by two bits. Thus, FIG. 5 shows the meaning represented by 2 bits of the right end of Dm-readfreq.

다음에, 3개의 카운터들의 값들이 dm 액세스 카운터 테이블에 각각의 dm-id에 대해 저장된다.Next, the values of the three counters are stored for each dm-id in the dm access counter table.

도 6은 dm 액세스 카운터 테이블의 일예를 예시한다.6 illustrates an example of a dm access counter table.

도 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이 기록된 후 수행되었음을 보여준다.In FIG. 6, the Ram-count column was performed after 215 read mount operations were recorded with a DM with dm-id "dm01", and after 24 read mount operations were recorded with a DM with dm-id "dm02". 13 read mount operations were performed after the DM with dm-id "dm03" was recorded, 156 read mount operations were performed after the DM with dm-id "dm04" was recorded, and 79 reads It shows that the mounting operation was performed after the DM with the dm-id "dm05" was recorded.

또한 도 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 비트로 반영된다.Also in FIG. 6, the Dm-count column shows that a DM with dm-id "dm01" and a DM with dm-id "dm02" have never been read in the past eight read mount operations, and have a dm-id "dm03". The DM has been read four times in the past eight read mount operations, the DM with the dm-id "dm04" has been read once in the past eight read mount operations, and the DM with the dm-id "dm05" has read the past eight times. It is read 7 times in the mounting operation. The number of times described above is reflected in the two bits of the right end of Dm-readfreq for each dm-id.

도 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 비트로 표현된다.In the Dm-readfreq column of Fig. 6, the read of the DM is represented by 8 bits. Since the number of times the DM has been read in eight read mount operations is represented by 2 bits, the number of times the DM has been read in 25 to 32 read mount operations is shown in FIG. A series of dots "....." to the left of each bit string indicate that the bit values are omitted. For dm-id "dm02", where ram-count represents 24, 6 bits are sufficient to represent Dm-readfreq. Similarly, for dm-id " dm03 " where Ram-count represents 13, 4 bits are sufficient to represent Dm-readfreq. However, in these two cases, Dm-readfreq is represented by 8 bits filled with zeros on the left.

다음에, 3개의 카운터의 갱신에 대해 일 예를 참조하여 설명한다.Next, the update of three counters is demonstrated with reference to an example.

도 7은 테이프 트라이브(10)가 기록 명령 또는 판독 명령을 수신할 때 카트리지(20)에 적재된 각 카운터가 갱신되는 법을 예시한다. 상기 설명에서는 언급되지 않았지만, 총 판독 카운터가 또한 도 7에 예시되어 있다. 총 판독 카운터는 각각의 dm-id이 아닌 각각의 테이프(23)에 대한 카운터이며, 테이프(23)가 판독을 위해 장착될 때 갱신된다. 도 7에서, Dm-readfreq는 생략된다. 도 7에서, D1 내지 D3 각각은 DM의 일반화된 표현인 데이터를 나타낸다.FIG. 7 illustrates how each counter loaded in the cartridge 20 is updated when the tape tribe 10 receives a write command or a read command. Although not mentioned in the above description, the total read counter is also illustrated in FIG. 7. The total read counter is a counter for each tape 23 rather than each dm-id and is updated when the tape 23 is mounted for reading. In FIG. 7, Dm-readfreq is omitted. In FIG. 7, each of D1 to D3 represents data that is a generalized representation of DM.

도 7의 A에 예시된 바와 같이, D1에 대한 기록 명령이 수신될 때, 총 판독 카운터는 0을 나타낸다. D1용의 Ram-count 및 Dm-count가 생성되지만, 그들의 값은 모두 0이다. As illustrated in FIG. 7A, when the write command for D1 is received, the total read counter indicates zero. Ram-count and Dm-count for D1 are generated, but their values are all zero.

다음에, 도 7의 B에 예시된 바와 같이, D1에 대한 판독 명령이 수신될 때, 총 판독 카운터는 1로 갱신된다. D1용의 Ram-count 및 Dm-count도 또한 1로 갱신된다.Next, as illustrated in FIG. 7B, when the read command for D1 is received, the total read counter is updated to one. Ram-count and Dm-count for D1 are also updated to one.

다음에, 도 7의 C에 예시된 바와 같이, D1에 대한 판독 명령이 수신될 때, 총 판독 카운터는 2로 갱신된다. D1용의 Ram-count 및 Dm-count도 또한 1로 갱신된다.Next, as illustrated in FIG. 7C, when a read command for D1 is received, the total read counter is updated to two. Ram-count and Dm-count for D1 are also updated to one.

도 7의 D에 예시된 바와 같이, D2에 대한 기록 명령이 수신될 때, 총 판독 카운터는 2를 유지한다. D1용의 Ram-count 및 Dm-count는 또한 2를 유지한다. D2용의 Ram-count 및 Dm-count가 생성되지만, 그들의 값은 0이다.As illustrated in D of FIG. 7, when a write command for D2 is received, the total read counter remains two. Ram-count and Dm-count for D1 also hold 2. Ram-count and Dm-count for D2 are generated, but their values are zero.

다음에, 도 7의 E에 예시된 바와 같이, D1에 대한 판독 명령이 수신될 때, 총 판독 카운터는 3으로 갱신된다. D1용의 Ram-count는 또한 3으로 갱신된다. D1 용의 Dm-count는 또한 3로 갱신되는데, 이는 D1이 판독되었기 때문이다. 반면에, D2용의 Ram-count는 1로 갱신되나, D2용의 Dm-count는 0을 유지하는데, 이는 D2가 판독되지 않았기 때문이다. Next, as illustrated in E of FIG. 7, when a read command for D1 is received, the total read counter is updated to three. Ram-count for D1 is also updated to three. Dm-count for D1 is also updated to 3 because D1 has been read. On the other hand, the Ram-count for D2 is updated to 1, but the Dm-count for D2 remains 0, because D2 has not been read.

다음에, 도 7의 F에 예시된 바와 같이, D2에 대한 판독 명령이 수신될 때, 총 판독 카운터는 4로 갱신된다. 반면에, D1용의 Ram-count는 4로 갱신되나, D1용의 Dm-count는 3을 유지하는데, 이는 D1이 판독되지 않았기 때문이다. D2용의 Ram-count는 2로 갱신된다. D2용의 Dm-count는 1로 갱신되는데, 이는 D2가 판독되었기 때문이다. Next, as illustrated in F of FIG. 7, when a read command for D2 is received, the total read counter is updated to four. On the other hand, the Ram-count for D1 is updated to 4, but the Dm-count for D1 remains 3 because D1 has not been read. Ram-count for D2 is updated to 2. Dm-count for D2 is updated to 1 because D2 has been read.

다음에, 기록 명령 또는 판독 명령이 도 7의 G, H, 및 I에 예시된 바와 같이 수신될 때, 총 판독 카운터뿐만 아니라, D1, D2, D3에 대한 Ram-count 및 Rd-count는 위에서 설명된 방식과 동일한 방식으로 갱신된다.Next, when a write command or a read command is received as illustrated in G, H, and I of FIG. 7, the Ram-count and Rd-count for D1, D2, D3, as well as the total read counter, are described above. It is updated in the same way as it was.

다음에, 데이터 및 메타데이터가 다른 테이프(23)로 이동될 때 액세스 빈도에 기초하여 수행되는 재배열에 대해 설명한다.Next, the rearrangement performed based on the access frequency when the data and the metadata are moved to the other tape 23 will be described.

테이프(23) 상의 데이터 및 메타데이터가 다른 테이프(23)로 (또는 소tm 테이프(23) 자체로) 이동되는 경우, 도 6의 dm 액세스 카운터 테이블에 도시된 액세스 빈도의 하향 순서로 dm-id에 대응하는 데이터 및 메타데이터가 테이프(23) 상에 액세스 수행 면에서 유리한 위치들에 기록된다.If data and metadata on the tape 23 are moved to another tape 23 (or the small tm tape 23 itself), the dm-id in descending order of access frequency shown in the dm access counter table of FIG. 6. The data and the metadata corresponding to are recorded on the tape 23 at advantageous positions in terms of performing access.

액세스 빈도를 결정하는 가장 기본적인 방법은 Dm-count/총 판독 카운터를 계산하는 것이다(이하, 이 결정 방법을 "기본 방법"이라고 한다). 그러나, 이 기본 방법이 액세스 빈도를 결정할 때 사용되는 경우에, 결과는 DM이 테이프(23)에 기록된 시간에 따라 달라진다. 예컨대, 테이프(23)에 먼저 기록된 DM은 Ram-count가 100에 도달한 후 테이프(23)에 기록된 DM과 간단히 비교될 수는 없다.The most basic method of determining the access frequency is to calculate the Dm-count / total read counter (hereinafter, this determination method is referred to as the "basic method"). However, if this basic method is used when determining the frequency of access, the result depends on the time when the DM was recorded on the tape 23. For example, the DM recorded first on the tape 23 cannot be simply compared with the DM recorded on the tape 23 after the Ram-count reaches 100.

그러므로, 본 실시예는 액세스 빈도를 결정하는 다음의 방법들을 채택한다.Therefore, this embodiment adopts the following methods of determining the access frequency.

(제1 결정 방법)(First decision method)

제1 결정 방법은 Dm-count/Ram-count를 계산함으로써 DM에 대한 상대적인 액세스 빈도를 결정하는 방법이다.The first determination method is a method of determining the relative frequency of access to the DM by calculating Dm-count / Ram-count.

제1 결정 방법에 대해 도 6에 예시된 예를 참조하여 설명한다. 여기서는, 0들이 Dm-readfreq의 생략된 부분 "....."의 비트값으로서 존재한다고 가정한다.The first determination method will be described with reference to the example illustrated in FIG. 6. Here, it is assumed that zeros exist as bit values of the omitted portion "....." of 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인 것으로 정의된다.If the default method is used and the total read counter indicates 250, then the access frequency for DM with "dm01" is 0.02 (= 5/250), the access frequency for DM with "dm02" is 0, and "dm03 The access frequency for DM with "is 0.012 (= 3/250), the access frequency for DM with" dm04 "is 0.016 (= 4/250), and the access frequency for DM with" dm05 "is 0.016 (= 4/250). That is, the descending order of access frequencies is dm01, dm05, dm04, dm03, and dm02. If the resulting values are the same, the more recently accessed DM is defined to be the more frequently accessed 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 이다. 이 순서는 기본 방법에 의해 얻어진 순서와는 다르다.On the other hand, when the first determination method is used, the access frequency for the DM with "dm01" is 0.023 (= 5/215), the access frequency for the DM with "dm02" is 0, and "dm03" The access frequency for the DM with 0.231 (= 3/13), the access frequency for the DM with "dm04" is 0.026 (= 4/156), and the access frequency for the DM with "dm05" is 0.051 (= 4/79). That is, the descending order of access frequencies is dm03, dm05, dm04, dm01, and dm02. This order is different from the order obtained by the basic method.

(제2 결정 방법)(Second decision method)

제2 결정 방법은 각각의 DM에 대해 보유된 Ram-count가 액세스 빈도를, 계산될 DM를 선택하기 위한 기준으로서 사용하는 방법이다.The second determination method is a method in which the Ram-count retained for each DM uses the access frequency as a criterion for selecting a DM to be calculated.

예컨대, 최근에 기록된 DM은 액세스 빈도가 계산될 DM들로부터 제거될 수 있다. 구체적으로, 예컨대, 3 이하인 Ram-count를 가진 DM이 제거될 수 있다.For example, a recently recorded DM can be removed from DMs for which the frequency of access is to be calculated. Specifically, for example, DM having a Ram-count of 3 or less can be eliminated.

대안으로, 특정 시간 기간 동안에, 예컨대 과거 제x 내지 제y 판독 장착 동작으로부터 DM이 얼마나 빈번하게 액세스되었는지를 측정하는 것이 요구될 수 있다. 이 경우에, 예컨대, 액세스 빈도가 계산될 DM은 100 내지 70 범위의 Ram-count를 가진 DM들에 한정된다. 다음에, 각각의 DM이 제100 판독 장착 동작에서부터 제70 판독 장착 동작까지의 기간에 액세스된 횟수는 Dm-readfreq로부터 계산된다. 결과적인 횟수들을 비교함으로써, DM의 대응 부분들이 액세스 빈도의 하향 순서로 배열될 수 있다.Alternatively, it may be desired to measure how frequently the DM has been accessed during a particular time period, such as from the past x-y th read mounting operation. In this case, for example, the DM whose access frequency is to be calculated is limited to DMs having a Ram-count in the range of 100 to 70. Next, the number of times each DM has been accessed in the period from the 100th read mount operation to the 70th read mount operation is calculated from Dm-readfreq. By comparing the resulting times, the corresponding portions of the DM can be arranged in descending order of access frequency.

위에서 설명된 제1 결정 방법에서 고려된 Ram-count의 범위는 액세스 빈도가 계산될 타겟들을 제한하기 위한 미리 결정된 범위의 일 예이다.The range of Ram-counts considered in the first determination method described above is an example of a predetermined range for limiting targets for which the access frequency is to be calculated.

액세스 빈도가 위에서 설명된 바와 같이 계산되는 경우, 테이프 드라이브(10)는 액세스 빈도에 기초하여 한 테이프로부터 다른 테이프로 데이터를 이동시킨다. When the access frequency is calculated as described above, the tape drive 10 moves data from one tape to another based on the access frequency.

도 8은 데이터 이동 후 데이터 및 메타데이터를 테이프(23) 상에 배열하는 법의 일예를 예시한다. 도 4의 경우에서와 같이, 복수의 랩이 테이프(23) 상에 존 재한다. 또한, 각각의 속이 빈 화살표는 데이터 및 메타데이터가 테이프(23)에 기록되는 방향을 나타내고, 각각의 속이 찬 화살표는 테이프(23)의 주행 방향이 역전됨을 나타낸다. 이 예에서, 액세스 빈도의 하향 순서는 다음과 같다: dm02, dm03, dm01, dm04. 8 illustrates an example of how to arrange data and metadata on the tape 23 after data movement. As in the case of FIG. 4, a plurality of wraps are present on the tape 23. Further, each hollow arrow indicates the direction in which data and metadata are recorded on the tape 23, and each hollow arrow indicates that the running direction of the tape 23 is reversed. In this example, the descending order of access frequencies is as follows: dm02, dm03, dm01, dm04.

먼저, dm-id "dm02"를 가진 DM의 메타데이터 및 데이터는 랩 #0에 이 순서로 순방향 기록된다. 다음에, dm-id "dm03"을 가진 DM의 메타데이터 및 데이터는 랩 #1에 이 순서로 순방향 기록된다. 다음에, dm-id "dm01"을 가진 DM의 메타데이터는 랩 #1에 역방향으로 기록된다. 다음에, dm-id "dm04"를 가진 DM의 메타데이터 및 데이터는 이 순서로 랩 #2에 순방향 기록된다.First, the metadata and data of the DM with the dm-id "dm02" are written to Lab # 0 in this order forward. Next, the metadata and data of the DM having the dm-id " dm03 " are written to Lab # 1 forward in this order. Next, the metadata of the DM having the dm-id " dm01 " is recorded in reverse in Lab # 1. Next, the metadata and data of the DM having the dm-id "dm04" are written to Lab # 2 in this order forward.

즉, 데이터 이동 후, 도 4의 경우와는 달리, 데이터 및 메타데이터는 도 3에 예시된 논리적 연관성에 기초하여 기록된다. 그러므로, 데이터 및 메타데이터가 테이프(23)로부터 순차적으로 판독되는 경우, 테이프(23)의 불필요한 위치 결정을 수행할 필요가 없어 향상된 액세스 성능이 달성될 수 있다.That is, after data movement, unlike in the case of FIG. 4, data and metadata are recorded based on the logical association illustrated in FIG. Therefore, when data and metadata are read sequentially from the tape 23, there is no need to perform unnecessary positioning of the tape 23 and improved access performance can be achieved.

위에서 설명된 데이터 이동 방법에서, 데이터 조각들은 본 실시예에서 계산된 액세스 빈도에 따라 배열된다. 그러므로, 실제로 빈번하게 액세스되는 데이터를 액세스하는데 필요한 시간은 감소될 수 있다.In the data movement method described above, the data pieces are arranged in accordance with the access frequency calculated in this embodiment. Therefore, the time required to access data that is frequently accessed in practice can be reduced.

또한, 이동 전에 테이프(23) 상에 분산 방식으로 배열된 데이터 및 메타데이터는 일정한 규칙에 따라(본 실시에서, 순차적으로) 배열되므로, 데이터 및 메타데이터에 대한 액세스 성능은 향상될 수 있다.In addition, since data and metadata arranged in a distributed manner on the tape 23 before moving are arranged according to a predetermined rule (in this embodiment, sequentially), access performance to the data and metadata can be improved.

많은 양의 데이터를 저장하기 위한 계층형 기억 장치를 구현하는 방법으로 서, 디지털 데이터를 저장하는 보관 시스템은 테이프(23)를 제2 또는 제3 기억 장치로 사용하는 방법을 채택할 수 있다. 이는 실제로 액세스되는, 보관되나 빈번하게 액세스된 데이터가 존재한다는 가정에 기초한다. 본 실시예는 또한 이러한 데이터에 대한 향상된 액세스 성능에 기여한다.As a method of implementing a hierarchical storage device for storing a large amount of data, a storage system for storing digital data may adopt a method of using the tape 23 as a second or third storage device. This is based on the assumption that there is actually stored but frequently accessed data that is accessed. This embodiment also contributes to improved access performance for such data.

위에서 설명된 예에서, 이동 소스의 역할을 하는 테이프(23)(이하, "소스 테이프(23)"라고 함) 상에 분산 배열된 데이터 및 메타데이터는 각각의 dm-id에 대해 함께 그룹화되어, 이동 목적지의 역할을 하는 테이프(23)(이하, "목적지 테이프(23)"라고 함) 상에 순차적으로 저장된다. 그러나, 목적지 테이프(23) 상에 배열하는 방법은 이에 한정되지 않는다.In the example described above, data and metadata distributedly arranged on a tape 23 (hereinafter referred to as "source tape 23") serving as a moving source are grouped together for each dm-id, It is sequentially stored on the tape 23 (hereinafter referred to as "destination tape 23") serving as a moving destination. However, the method of arranging on the destination tape 23 is not limited to this.

이제 다른 배열 방법에 대해 설명한다. 여기서 설명될 배열 방법에서, 데이터는 테이프 매체의 특성 상 테이프(23) 상에 재배열된다. 구체적으로, 이 배열 방법에서, 빈번하게 액세스되는 데이터는 테이프(23)가 장착된 후 쉽게 액세스 가능한 위치에 배열된다.Now let's talk about another arrangement. In the arrangement method to be described herein, the data is rearranged on the tape 23 due to the characteristics of the tape medium. Specifically, in this arrangement method, frequently accessed data is arranged in an easily accessible position after the tape 23 is mounted.

테이프 기억 장치의 특성들은 데이터 판독 준비로서 수행되는 다음의 동작들을 포함한다.Characteristics of the tape storage device include the following operations performed as a data readiness preparation.

1. 기억 장치에 카트리지를 장착한다.1. Insert the cartridge into the storage unit.

2. 테이프(23)의 시작 부분을 기억 장치의 헤드의 위치까지 조절하며, 시작 부분은 판독될 데이터가 저장된 위치이다.2. Adjust the beginning of the tape 23 to the position of the head of the storage device, where the beginning is the position where the data to be read is stored.

즉, 카트리지의 장착 직후, 기억 장치의 헤드가 테이프(23)의 시작 부분에 위치된다. 그러므로, 테이프(23)의 시작 부분 가까이에 위치된 데이터에 대한 액 세스 속도는 테이프(23)의 끝 부분 가까이에 위치된 데이터에 대한 액세스 속도보다 빠르다. 이는 데이터가 테이프(23)의 끝 부분 가까이에 기록될 때 테이프(23)를 이동시켜 테이프(23)의 위치 결정을 수행할 필요가 있기 때문이다.That is, immediately after mounting of the cartridge, the head of the storage device is located at the beginning of the tape 23. Therefore, the access speed for data located near the beginning of the tape 23 is faster than the access speed for data located near the end of the tape 23. This is because it is necessary to move the tape 23 to perform positioning of the tape 23 when data is recorded near the end of the tape 23.

도 9(a)는 개방 선형 테이프(linear tape-open; LTO) 규격에 기초한 테이프(23)에 대한 데이터의 정상적인 판독 및 기록을 예시한다. 9 (a) illustrates a normal reading and writing of data for tape 23 based on an open linear tape-open (LTO) standard.

먼저, 화살표(201)로 나타낸 바와 같이 랩 #1에 대해 데이터를 우측으로 판독 또는 기록한 후, 테이프(23)의 주행 방향은 화살표(202)로 나타낸 바와 같이 역전된다. 다음에, 랩 #1에 대해 좌측으로 데이터를 좌측으로 판독 또는 기록한 후, 테이프(23)의 주행 방향은 화살표(203)로 나타낸 바와 같이 역전된다. 다음에, 랩 #2에 대해 우측으로 데이터를 판독 또는 기록한 후, 테이프(23)의 주행 방향은 화살표(204)로 나타낸 바와 같이 역전된다. 마지막으로, 화살표(205)로 나타낸 바와 같이 데이터는 랩 #55에 대해 좌측으로 판독 또는 기록된다. First, after reading or writing data to the right with respect to the lap # 1 as indicated by the arrow 201, the running direction of the tape 23 is reversed as indicated by the arrow 202. Next, after reading or writing data left to lap # 1 to the left, the running direction of the tape 23 is reversed as indicated by the arrow 203. Next, after reading or writing data to the right with respect to the lap # 2, the running direction of the tape 23 is reversed as indicated by the arrow 204. Finally, as indicated by arrow 205, data is read or written to left for lap # 55.

이와 같이, LTO에서, 헤드는 테이프(23) 상에 정의된 랩으로 불리는 복수의 데이터 기억 영역 상에서, 테이프(23)의 시작 부분으로부터 끝 부분까지 왕복하면서 데이터를 테이프(23)에 대해 판독 또는 기록한다. 데이터 조각들이 순차적으로 테이프(23)에 대해 판독 또는 기록될 때, 헤드는 위에서 설명된 바와 같이 랩 상에서 왕복한다. 그러나, 헤드가 한 랩으로부터 다른 랩으로의 전환을 위해 테이프(23)의 폭을 가로질러 이동하는 기계적 동작이 짧은 시간에 완료된다. 그러므로, 이 LTO 포맷에서도, 테이프(23)의 시작 부분 가까이에 위치된 데이터는 테이프(23)의 끝 부분 가까이에 위치된 데이터보다 빠르게 액세스될 수 있다.As such, in the LTO, the head reads or writes data to and from the tape 23 while reciprocating from the beginning to the end of the tape 23 on a plurality of data storage areas called wraps defined on the tape 23. do. When the data pieces are read or written sequentially to the tape 23, the head reciprocates on the lap as described above. However, the mechanical operation in which the head moves across the width of the tape 23 for the transition from one wrap to another is completed in a short time. Therefore, even in this LTO format, data located near the beginning of the tape 23 can be accessed faster than data located near the end of the tape 23.

따라서, 빈번하게 액세스되는 데이터는 테이프(23)의 시작 부분 가까이에 배열되고 덜 빈번하게 액세스되는 데이터는 테이프(23)의 끝 부분 가까이에 배열되는 것이 바람직하다. 여기서, 테이프(23)의 시작 부분은 제1 단부의 일예이고, 테이프(23)의 끝 부분은 제2 단부의 일예이다.Thus, data that is frequently accessed is arranged near the beginning of the tape 23 and data that is less frequently accessed is preferably arranged near the end of the tape 23. Here, the start of the tape 23 is an example of the first end, and the end of the tape 23 is an example of the second end.

일부 테이프 기억 장치들은 분할(segmentation)이라고 하는 기능을 구현한다. 분할은 테이프(23)를 복수의 세그먼트로 분할하고, 데이터를 제1 세그먼트에서부터 시작해서 테이프에 순차적으로 기록하는 방법이다. 여기서, 세그먼트는 테이프(23)를 길이 방향으로 적어도 한 위치에서 분할함으로써 형성되는 예시적인 영역이다.Some tape storage devices implement a function called segmentation. The division is a method of dividing the tape 23 into a plurality of segments and sequentially recording data on the tape starting from the first segment. Here, the segment is an exemplary area formed by dividing the tape 23 at at least one position in the longitudinal direction.

도 9(b)는 분할을 사용하여 수행되는 데이터의 판독 및 기록을 예시한다.9 (b) illustrates the reading and writing of data performed using partitioning.

먼저, 화살표(211)로 나타낸 바와 같이 랩 #0의 세그먼트 #1에 대해 데이터를 우측으로 판독하거나 기록한 후에, 테이프(23)의 주행 방향은 화살표(212)로 나타낸 바와 같이 역전된다. 다음에, 랩 #1의 세그먼트 #1에 대해 좌측으로 판독하거나 기록한 후에, 테이프(23)의 주행 방향은 화살표(213)로 나타낸 바와 같이 역전된다. 다음에, 랩 #2의 세그먼트 #1에 대해 데이터를 우측으로 판독하거나 기록한 후에, 테이프(23)의 주행 방향은 화살표(214)로 나타낸 바와 같이 역전된다. 다음에, 화살표(215)로 나타낸 바와 같이, 데이터는 랩 #55의 세그먼트 #1에 대해 좌측으로 판독하거나 기록된다.First, after reading or writing data to the right for segment # 1 of lap # 0 as indicated by arrow 211, the running direction of tape 23 is reversed as indicated by arrow 212. FIG. Next, after reading or writing to the left for segment # 1 of lap # 1, the running direction of the tape 23 is reversed as indicated by arrow 213. Next, after reading or writing the data to the right for segment # 1 of lap # 2, the running direction of the tape 23 is reversed as indicated by arrow 214. Next, as indicated by arrow 215, data is read or written to left for segment # 1 of lap # 55.

다음에, 화살표(220)로 나타낸 바와 같이, 헤드의 위치는 랩 #0의 세그먼트 #2로 이동한다. 다음에, 화살표(221)로 나타낸 바와 같이 랩 #0의 세그먼트 #2에 대해 데이터를 우측으로 판독 또는 기록한 후에, 테이프(23)의 주행 방향은 화살표(222)로 나타낸 바와 같이 역전된다. 다음에, 랩 #1의 세그먼트 #2에 대해 좌측으로 판독 또는 기록한 후에, 테이프(23)의 주행 방향은 화살표(223)로 나타낸 바와 같이 역전된다. 다음에, 랩 #2의 세그먼트 #2에 대해 데이터를 우측으로 판독 또는 기록한 후에, 테이프(23)의 주행 방향은 화살표(224)로 나타낸 바와 같이 역전된다. 다음에, 화살표(225)로 나타낸 바와 같이, 데이터는 랩 #55의 세그먼트 #2에 대해 데이터를 좌측으로 판독 또는 기록된다.Next, as indicated by arrow 220, the position of the head moves to segment # 2 of lap # 0. Next, after reading or writing data to the right for segment # 2 of lap # 0, as indicated by arrow 221, the running direction of tape 23 is reversed, as indicated by arrow 222. FIG. Next, after reading or writing to the left for segment # 2 of lap # 1, the running direction of the tape 23 is reversed as indicated by arrow 223. Next, after reading or writing data to the right of segment # 2 of lap # 2, the running direction of the tape 23 is reversed as indicated by arrow 224. Next, as indicated by arrow 225, the data is read or written to the left for segment # 2 of lap # 55.

위에서 설명된 바와 같이, 세그먼트 #1에 대한 액세스 속도는 세그먼트 #2에 대한 액세스 속도보다 빠르다. 3 개 이상의 세그먼트들이 존재할 때, 테이프(23)의 시작 부분에 더 가까운 세그먼트에 대한 액세스 속도는 일반적으로 테이프(23)의 끝 부분에 더 가까운 세그먼트에 대한 액세스 속도보다 빠르다.As described above, the access speed for segment # 1 is faster than the access speed for segment # 2. When there are three or more segments, the access speed for the segment closer to the beginning of the tape 23 is generally faster than the access speed for the segment closer to the end of the tape 23.

그러므로, 데이터가 위에서 설명된 특성을 이용하여 테이프(23)로 이동될 때, 빈번하게 액세스되는 데이터 및 메타데이터는 테이프(23)의 시작 부분에 더 가까운 세그먼트에 배열되고, 덜 빈번하게 액세스되는 데이터 및 메타데이터는 테이프(23)의 끝 부분에 더 가까운 세그먼트에 배열되는 것이 바람직하다. 여기서, 테이프(23)의 시작 부분에 더 가까운 세그먼트는 제1 단부의 일예이고, 테이프(23)의 끝 부분에 더 가까운 세그먼트는 제2 단부의 일예이다.Therefore, when data is moved to tape 23 using the characteristics described above, frequently accessed data and metadata are arranged in segments closer to the beginning of tape 23, and less frequently accessed data. And the metadata is preferably arranged in a segment closer to the end of the tape 23. Here, the segment closer to the beginning of the tape 23 is an example of the first end, and the segment closer to the end of the tape 23 is an example of the second end.

도 10은 분할을 이용하여 수행되는 데이터 이동 후에 테이프(23) 상에 배열된 데이터 및 메타데이터의 일 예이다. 도 4의 경우에서와 같이, 복수의 랩이 테이프(23) 상에 존재한다. 또한, 각각의 속이 빈 화살표는 데이터 및 메타데이터가 테이프(23)에 기록되는 방향을 나타내고, 각각의 속이 찬 화살표는 테이프(23)의 주행 방향이 역전됨을 나타낸다. 이 예에서, 액세스 빈도의 하향 순서는 다음과 같다: dm02, dm03, dm01, dm04.FIG. 10 is an example of data and metadata arranged on the tape 23 after data movement performed using division. As in the case of FIG. 4, a plurality of wraps are present on the tape 23. Further, each hollow arrow indicates the direction in which data and metadata are recorded on the tape 23, and each hollow arrow indicates that the running direction of the tape 23 is reversed. In this example, the descending order of access frequencies is as follows: 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(도시되지 않음)에 기록된다.First, the metadata and data of the DM with the dm-id "dm02" are written to segment # 1 of lap # 0 in this order forward. Next, the rest of the data of the DM with the dm-id " dm02 " is recorded backward in segment # 1 of lap # 1. Next, the metadata and data of the DM having the dm-id "dm03" are recorded in this order forward in segment # 1 of the lab # 2. If there is an additional part of the data with dm-id "dm03", that additional part is recorded in segment # 1 (not shown) of lap # 3.

다음에, dm-id "dm01"를 가진 DM의 메타데이터 및 데이터는 랩 #0의 세그먼트 #2에 이 순서로 순방향으로 기록된다. 다음에, dm-id "dm04"를 가진 DM의 메타데이터 및 데이터는 랩 #1의 세그먼트 #2에 이 순서로 역 방향으로 기록된다.Next, the metadata and data of the DM having the dm-id " dm01 " are recorded in this order forward in segment # 2 of lap # 0. Next, the metadata and data of the DM having the dm-id " dm04 " are written in reverse order in this order to segment # 2 of lap # 1.

즉, 데이터 이동 후에, 도 4의 경우와는 달리, 데이터 및 메타데이터는 도 3에 예시된 논리적 연관성에 기초하여 기록된다. 그러므로, 데이터 및 메타데이터가 테이프(23)로부터 순차적으로 판독될 때, 불필요한 테이프(23)의 위치 결정을 수행할 필요가 없어 향상된 액세스 성능이 달성될 수 있다.That is, after data movement, unlike in the case of FIG. 4, data and metadata are recorded based on the logical associations illustrated in FIG. Therefore, when data and metadata are read sequentially from the tape 23, there is no need to perform unnecessary positioning of the tape 23 and improved access performance can be achieved.

여기서는 하나의 목적지 테이프(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)의 세그먼트들이 순차적으로 사용될 수 있다.Although only one destination tape 23 exists here, a plurality of tapes 23 can serve as a destination of data movement. In the latter case, segment # 1 of the first destination tape 23 is used first. After segment # 1 of the first destination tape 23 is exhausted, segment # 1 of the second destination tape 23 is used. After segment # 1 of the second destination tape 23 is exhausted, segment # 1 of the third destination tape 23 is used. This process is repeated until segment # 1 of all destination tapes 23 is exhausted. After segment # 1 of all destination tapes 23 are exhausted, segment # 2 of first destination tape 23 and subsequent segments of destination tape 23 may be used sequentially.

이와 같이, 복수의 목적지 테이프(23)들을 위에서 설명된 바와 같이 준비함으로써, 보다 큰 메모리 공간을 제공하고, 높은 액세스 성능을 가진 세그먼트 #1에 기록될 수 있는 데이터 및 메타데이터의 양을 증가시키는 것이 가능하다. 이는 짧은 시간에 액세스될 수 있는 데이터 및 메타데이터의 양이 증가됨을 의미한다.As such, by preparing the plurality of destination tapes 23 as described above, it is possible to provide more memory space and increase the amount of data and metadata that can be written to segment # 1 with high access performance. It is possible. This means that the amount of data and metadata that can be accessed in a short time is increased.

또한, 이 방법의 경우, 목적지 테이프(23)들의 수 및 세그먼트들을 정의하는 방식을 변경함으로써, 목적지 테이프(23) 상의 데이터를 액세스하는 빈도에 따라 적절한 메모리 공간을 제공하는 것이 가능하다. 예컨대, 적은 양의 빈번하게 액세스되는 데이터만이 존재될 때, 제1 세그먼트는 테이프(23)의 시작 부분 가까이에 위치되도록 정의될 수 있다. 많은 양의 빈번하게 액세스되는 데이터가 존재할 때에는, 목적지 테이프(23)들의 수가 증가될 수 있고, 또는 제1 세그먼트는 필요한 경우 크게 정의될 수 있다. 액세스 주파수가 달라지는 경우, 세그먼트들의 수를 증가시키는 것이 가능할 수 있어, 데이터 조각들이 액세스 빈도에 기초하여 함께 그룹화되어 적절한 세그먼트들에 기록될 수 있다.Also in the case of this method, by changing the number of destination tapes 23 and the manner of defining segments, it is possible to provide appropriate memory space depending on the frequency of accessing data on the destination tapes 23. For example, when only a small amount of frequently accessed data is present, the first segment may be defined to be located near the beginning of the tape 23. When there is a large amount of frequently accessed data, the number of destination tapes 23 can be increased, or the first segment can be largely defined if necessary. If the access frequency varies, it may be possible to increase the number of segments so that data pieces can be grouped together based on the access frequency and written to the appropriate segments.

위에서 설명된 데이터 이동 방법에서, 본 실시예에서 계산된 액세스 빈도에 따라 데이터 조각들이 배열된다. 그러므로, 실제로 빈번하게 액세스되는 개별 데 이터 조각들에 대한 액세스 성능을 향상시키는 것이 가능하다. In the data movement method described above, the data pieces are arranged in accordance with the access frequency calculated in this embodiment. Therefore, it is possible to improve access performance for individual pieces of data that are frequently accessed in practice.

많은 양의 데이터를 저장하는 계층형 기억 장치를 구현하는 방법으로서, 디지털 데이터를 저장하는 보관 시스템이 테이프(23)를 제2 또는 제3 기억 장치로서 이용하는 법을 채택할 수 있다. 이는 실제로 액세스되는, 보관되나 빈번하게 액세스되는 데이터가 존재한다는 가정에 기초한다. 이러한 보관된 데이터가 개별적으로 액세스되는 상황 하에서, 본 실시예는 또한 과거에 빈번하게 액세스되는 데이터에 대한 향상된 액세스 성능에 기여한다.As a method of implementing a hierarchical storage device for storing a large amount of data, a storage system for storing digital data may adopt a method of using the tape 23 as a second or third storage device. This is based on the assumption that there is data that is actually accessed, archived but frequently accessed. Under circumstances in which such archived data is accessed individually, the present embodiment also contributes to improved access performance for data that is frequently accessed in the past.

데이터 및 메타데이터를 판독함에 있어 액세스 성능에 기초하는 데이터 및 메타데이터 배열 방법에 대해 설명한다. 그러나, 데이터 및 메타데이터를 판독함에 있어 액세스 성능에 기초하지 않은 배열 방법이 채택될 수도 있다.A data and metadata arrangement method based on access performance in reading data and metadata will be described. However, an arrangement method that is not based on access performance in reading data and metadata may be adopted.

다음에, 위에서 설명된 동작을 수행하는 테이프 드라이브(10)에 대해 상세히 설명한다. 여기서, dm 액세스 카운터 테이블이 카트리지 메모리(24)에 저장된다. 도 1은 하나의 카트리지(20)만이 로딩될 수 있는 테이프 드라이브(10)를 예시한다. 그러나, 후술되는 예에서는, 두 카트리지(20)가 로딩될 수 있는 테이프 드라이브(10)가 사용된다. 이 경우에, 데이터가 한 테이프 드라이브(10) 내에서 한 카트리지(20)로부터 다른 카트리지로 이동될 수 있으므로, 카트리지(20)를 대체할 필요가 없다.Next, the tape drive 10 that performs the operation described above will be described in detail. Here, the dm access counter table is stored in the cartridge memory 24. 1 illustrates a tape drive 10 in which only one cartridge 20 can be loaded. However, in the example described below, a tape drive 10 is used in which two cartridges 20 can be loaded. In this case, since data can be moved from one cartridge 20 to another within one tape drive 10, there is no need to replace the cartridge 20.

도 11은 테이프 드라이브(10)의 제어기(16)의 예시적 기능 구성을 예시한 블록도이다.11 is a block diagram illustrating an exemplary functional configuration of the controller 16 of the tape drive 10.

예시된 바와 같이, 제어기(16)는 명령 처리 유닛(61), 버퍼 관리 유닛(62), 채널 입/출력 유닛(63), 카트리지 메모리 입/출력 유닛(이하, "CM 입/출력 유닛"이라고 함)(64), 빈도 계산 유닛(65), 이동 제어 유닛(66), 헤드 위치 관리 유닛(67), 및 테이프 주행 관리 유닛(68)을 포함한다. As illustrated, the controller 16 is referred to as the command processing unit 61, the buffer management unit 62, the channel input / output unit 63, the cartridge memory input / output unit (hereinafter referred to as "CM input / output unit"). (64), the frequency calculating unit 65, the movement control unit 66, the head position management unit 67, and the tape travel management unit 68.

명령 처리 유닛(61)은 호스트 I/F(11)로부터 명령을 수신한다. 명령의 예로는, 버퍼(12)에 데이터를 저장하라는 기록 명령, 버퍼(12)에 저장된 데이터를 테이프(23)에 기록하라는 동기화 명령, 및 테이프(23)로부터 데이터를 판독하라는 판독 명령을 들 수 있다.The command processing unit 61 receives a command from the host I / F 11. Examples of the command include a write command to store data in the buffer 12, a synchronization command to write data stored in the buffer 12 to the tape 23, and a read command to read data from the tape 23. have.

명령 처리 유닛(61)이 기록명령을 수신하면, 버퍼 관리 유닛(62)은 버퍼(12)에 데이터를 준비한다. 명령 처리 유닛(61)이 동기화 명령을 수신하면, 버퍼 관리 유닛(62)은 버퍼(12)로부터 데이터를 판독하고, 데이터를 채널 입/출력 유닛(63)에 출력한다. 명령 처리 유닛(61)이 판독 명령을 수신하는 경우, 버퍼(12)에 대응 데이터가 존재하지 않으면, 버퍼 관리 유닛(62)은 채널 입/출력 유닛(63)에게 대응 데이터를 판독할 것을 지시한다. 버퍼(12)에 대응 데이터가 존재하면, 버퍼 관리 유닛(62)은 명령 처리 유닛(61)을 통해 대응 데이터를 호스트(200)에 제공한다.When the command processing unit 61 receives the recording command, the buffer management unit 62 prepares data in the buffer 12. When the command processing unit 61 receives the synchronization command, the buffer management unit 62 reads data from the buffer 12 and outputs the data to the channel input / output unit 63. When the instruction processing unit 61 receives a read command, if no corresponding data exists in the buffer 12, the buffer management unit 62 instructs the channel input / output unit 63 to read the corresponding data. . If the corresponding data exists in the buffer 12, the buffer management unit 62 provides the corresponding data to the host 200 via the command processing unit 61.

채널 입/출력 유닛(63)은 버퍼 관리 유닛(62)에 의해 버퍼(12)로부터 판독된 데이터를 채널(13)에 출력한다. 또한, 채널 입/출력 유닛(63)은 채널(13)로부터 수신된 데이터를 버퍼 관리 유닛(62)에 출력한다.The channel input / output unit 63 outputs the data read from the buffer 12 by the buffer management unit 62 to the channel 13. In addition, the channel input / output unit 63 outputs the data received from the channel 13 to the buffer management unit 62.

CM 입/출력 유닛(64)은 CM I/F(19)를 통해, 카트리지 메모리(24)에 저장된 dm 액세스 빈도 카운터 테이블에 정보를 기록하고, dm 액세스 카운터 테이블로부터 CM IF(19)를 통해 정보를 판독한다. 본 실시예에서, CM 입/출력 유닛(64)은 각각 의 데이터가 제1 기록 매체에 기록된 후에 제1 기록 매체로부터 어떤 데이터가 판독된 횟수를 나타내는 제1 정보, 및 제1 기록 매체로부터 데이터가 판독된 횟수를 나타내는 제2 정보를 획득하는 획득 유닛의 일 예로서, 그리고 또한 제1 정보 및 제2 정보를 갱신하는 갱신 유닛의 일예로서 제공된다.The CM input / output unit 64 writes the information to the dm access frequency counter table stored in the cartridge memory 24 via the CM I / F 19 and from the dm access counter table to the information via the CM IF 19. Read it. In this embodiment, the CM input / output unit 64 includes first information indicating the number of times any data has been read from the first recording medium after each data has been recorded on the first recording medium, and data from the first recording medium. Is provided as an example of the acquiring unit for acquiring the second information indicating the number of times that is read, and also as an example of the updating unit for updating the first information and the second information.

CM 입/출력 유닛(64)에 의해 판독된 정보에 기초하여, 빈도 계산 유닛(65)은 각각의 DM에 대한 액세스 빈도를 계산한다. 본 실시예에서, 빈도 계산 유닛(65)은 각각의 데이터에 대한 액세스 빈도를 추적하는 추적 유닛의 일예로서 제공된다.Based on the information read by the CM input / output unit 64, the frequency calculating unit 65 calculates the access frequency for each DM. In this embodiment, the frequency calculating unit 65 is provided as an example of the tracking unit that tracks the frequency of access to each data.

이동 제어 유닛(66)은 빈도 계산 유닛(65)에 의해 계산된 액세스 빈도에 기초하여 데이터 이동을 제어한다. 즉, 이동 제어 유닛(66)은 버퍼 관리 유닛(62)에게 액세스 빈도의 하향 순서로 소소 테이프(23)로부터 데이터 및 메타데이터의 조각들을 판독하고 데이터 및 메타데이터의 조각들을 목적지 테이프(23)에 기록할 것을 지시한다. 이와 같이, 데이터 및 메타데이터의 조각들은 액세스 빈도의 하향 순서로 목적지 테이프(23)에 순차 기록된다. 이는 이동 제어 유닛(66)이 목적지 테이프(23) 상에서 데이터 및 메타데이터 각각의 조각들의 위치를 결정함을 의미한다. 즉, 본 실시예에서, 이동 제어 유닛(66)은 제2 기록 매체 내의 각각의 데이터의 기록 위치를 결정하는 결정 유닛의 일예로서 제공된다.The movement control unit 66 controls the data movement based on the access frequency calculated by the frequency calculating unit 65. That is, the movement control unit 66 reads the pieces of data and metadata from the source tape 23 in the descending order of the access frequency to the buffer management unit 62 and transfers the pieces of data and metadata to the destination tape 23. Instruct them to record. As such, pieces of data and metadata are sequentially recorded on the destination tape 23 in descending order of access frequency. This means that the movement control unit 66 determines the location of the pieces of data and metadata respectively on the destination tape 23. That is, in this embodiment, the movement control unit 66 is provided as an example of the determination unit that determines the recording position of each data in the second recording medium.

헤드 위치 관리 유닛(67)은 테이프(23)의 폭 방향으로 테이프(23)에 상대적인 기록 헤드(14a) 및 판독 헤드(14b)의 위치를 오프셋하기 위한 신호를 헤드 위치 제어 시스템(17)에 출력한다. 또한, 헤드 위치 관리 유닛(67)은 테이프(23)의 폭 방향에서 기록 헤드(14a) 및 판독 헤드(14b)의 현재 위치에 관한 정보를 획득한다. The head position management unit 67 outputs a signal to the head position control system 17 to offset the positions of the recording head 14a and the read head 14b relative to the tape 23 in the width direction of the tape 23. do. In addition, the head position management unit 67 acquires information about the current positions of the recording head 14a and the reading head 14b in the width direction of the tape 23.

테이프 주행 관리 유닛(68)은 테이프(23)를 순방향으로 주행시키는 신호 및 테이프(23)를 역 방향으로 주행시키는 신호를 모터 구동기(18)에 출력한다.The tape travel management unit 68 outputs a signal for driving the tape 23 in the forward direction and a signal for driving the tape 23 in the reverse direction to the motor driver 18.

다음에, 본 실시예에서 테이프 드라이브(10)의 동작에 대해 상세히 설명한다.Next, the operation of the tape drive 10 in this embodiment will be described in detail.

먼저, 기록 명령이 호스트(200)로부터 전송될 때 테이프 드라이브(10)가 동작하는 법에 관해 설명한다.First, a description will be given of how the tape drive 10 operates when a write command is transmitted from the host 200.

호스트(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)의 동작이 시작된다.The host 200 transmits a recording command with dm-id that associates the data with the metadata to the storage device 100. In the storage device 100, the control mechanism 30 generates a d-id identifying data and an m-id identifying metadata, and registers the d-id as dm-a in association with the m-id. Alternatively, the control mechanism 30 determines the cartridge 20 to which data and metadata are to be recorded, registers d-id and m-id with the cartridge 20 as dm-l and accessor 40 Instructs the tape drive 10 to load the cartridge 20. The control mechanism 30 then sends a write command to the tape drive 10 along with the dm-id, d-id, m-id, data and metadata. Thus, the operation of the tape drive 10 is started.

도 12는 테이프 드라이브(10)의 제어기(16)에 의해 여기서 수행되는 예시적인 동작을 예시하는 플로 차트이다.12 is a flow chart illustrating exemplary operations performed here by the controller 16 of the tape drive 10.

제어기(16)에서, 먼저, 명령 처리 유닛(61)은 호스트 I/F(11)를 통해 dm-id, d-id, m-id, 데이터 및 메타데이터와 함께 기록 명령을 수신한다(단계 S601). 다 음에, dm-id, d-id, m-id, 데이터 및 메타데이터는 버퍼 관리 유닛(62)에 전달되고, 버퍼 관리 유닛(62)에 의해 버퍼(12)에 저장된다.In the controller 16, first, the command processing unit 61 receives a write command together with dm-id, d-id, m-id, data and metadata through the host I / F 11 (step S601). ). Next, the dm-id, d-id, m-id, data and metadata are delivered to the buffer management unit 62 and stored in the buffer 12 by the buffer management unit 62.

다음에, 제어기(16)는 데이터 및 메타데이터를 테이프 드라이브(10)에 로딩된 카트리지(20) 내의 테이프(23)에 기록한다(단계 S602).Next, the controller 16 writes data and metadata to the tape 23 in the cartridge 20 loaded in the tape drive 10 (step S602).

구체적으로, 버퍼 관리 유닛(62)으로부터의 명령에 따라, 헤드 위치 관리 유닛(67)은 기록 헤드(14a)의 위치를 테이프(23)의 폭 방향으로 조절하도록 헤드 위치 제어 시스템(17)을 제어한다. 또한, 버퍼 관리 유닛(62)로부터의 명령에 따라, 테이프 주행 관리 유닛(68)은 테이프(23)를 주행시키도록 모터 구동기(18)를 제어한다. 동시에, 버퍼 관리 유닛(62)은 버퍼(12)로부터 데이터 및 메타데이터를 판독하여 데이터 및 메타데이터를 채널 입/출력 유닛(63)에 전달하고, 채널 입/출력 유닛(63)은 채널(13)을 통해 데이터 및 메타데이터를 기록 헤드(14a)에 출력한다.Specifically, in accordance with an instruction from the buffer management unit 62, the head position management unit 67 controls the head position control system 17 to adjust the position of the recording head 14a in the width direction of the tape 23. do. In addition, in response to an instruction from the buffer management unit 62, the tape travel management unit 68 controls the motor driver 18 to drive the tape 23. At the same time, the buffer management unit 62 reads data and metadata from the buffer 12 and transfers the data and metadata to the channel input / output unit 63, and the channel input / output unit 63 is connected to the channel 13. The data and the metadata are output to the recording head 14a via the &quot;

채널 입/출력 유닛(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를 키로 사용하여 메타데이터를 판독할 수 있다. The channel input / output unit 63 receives information regarding the recording position of data and metadata in the longitudinal direction of the tape 23 from the servo head via the channel 13. The head position management unit 67 receives information about the recording position of data and metadata in the width direction of the tape 23 from the head position control system 17. The information about these recording positions is transmitted to the buffer management unit 62, and the buffer management unit 62 inputs / outputs d-id and m-id read out from the buffer 12 and information about these recording positions. Output to unit 64. Next, the CM input / output unit 64 transmits information on the correspondence relationship between the d-id and the recording position of the data and the information on the correspondence relation between the m-id and the recording position of the metadata to the cartridge memory 24. Record via I / F 19. Accordingly, data can be read using d-id as a key and metadata can be read using m-id as a key.

다음에, 카트리지 메모리(24)에 저장된 dm 액세스 카운터 테이블에서, 제어기(16)는 dm-id에 대응하는 엔트리를 생성한다(단계 S603).Next, in the dm access counter table stored in the cartridge memory 24, the controller 16 generates an entry corresponding to dm-id (step S603).

구체적으로, 버퍼 관리 유닛(62)은 버퍼(12)로부터 dm-id를 판독하여 CM 입/출력 유닛(64)에 전달하고, CM 입/출력 유닛(64)은 CM I/F(19)를 통해 dm-id를 포함한 레코드를 카트리지 메모리(24)에 기록한다.Specifically, the buffer management unit 62 reads the dm-id from the buffer 12 and delivers it to the CM input / output unit 64, and the CM input / output unit 64 sends the CM I / F 19. The record containing the dm-id is written to the cartridge memory 24 through the recording medium.

다음에, 판독 명령이 호스트(200)로부터 전송될 때 테이프 드라이브(10)가 동작하는 법에 관해 설명한다. 여기서, 데이터 및 메타데이터를 판독하기 위한 요청이 호스트(200)로부터 수신될 때마다, 데이터 및 메타데이터가 판독될 카트리지(20)가 테이프 드라이브(10)에 장착된다.Next, a description will be given of how the tape drive 10 operates when a read command is sent from the host 200. Here, whenever a request to read data and metadata is received from the host 200, a cartridge 20 in which the data and metadata are to be read is mounted in the tape drive 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)의 동작이 시작된다.The host 200 transmits a read command to the storage device 100 together with the dm-id. In the storage device 100, based on dm-a, the control mechanism 30 identifies the d-id and m-id associated with each other by dm-id. Also based on dm-l, control mechanism 30 identifies cartridge 20 associated with d-id and m-id. The control mechanism 30 instructs the accessor 40 to load the cartridge 20 identified in the tape drive 10. The mechanism 30 then sends a read command to the tape drive 10 along with the dm-id, d-id, and m-id. Thus, the operation of the tape drive 10 is started.

도 13은 테이프 드라이브(10)의 제어기(16)에 의해 여기서 수행되는 예시적인 동작을 예시하는 플로 차트이다.13 is a flowchart illustrating an example operation performed here by the controller 16 of the tape drive 10.

제어기(16)에서, 먼저, 명령 처리 유닛(61)은 호스트 I/F(11)를 통해 dm-id, d-id, 및 m-id와 함께 판독 명령을 수신한다(단계 S621). 다음에, dm-id, d-id, 및 m-id는 버퍼 관리 유닛(62)에 전달된다.In the controller 16, first, the command processing unit 61 receives a read command together with dm-id, d-id, and m-id via the host I / F 11 (step S621). Next, dm-id, d-id, and m-id are passed to the buffer management unit 62.

다음에, 제어기(16)는 d-id에 대응하는 데이터 및 m-id에 대응하는 메타데이터를 테이프 드라이브(10)에 로딩된 카트리지(20)의 테이프(23)로부터 판독한다(단계 S622).Next, the controller 16 reads the data corresponding to the d-id and the metadata corresponding to the m-id from the tape 23 of the cartridge 20 loaded in the tape drive 10 (step S622).

구체적으로, 버퍼 관리 유닛(62)으로부터의 명령에 따라, 헤드 위치 관리 유닛(67)은 테이프(23)의 폭 방향에서 판독 헤드(14b)의 위치를 조절하도록 헤드 위치 제어 시스템(17)을 제어한다. 또한, 버퍼 관리 유닛(62)으로부터의 명령에 따라, 테이프 주행 관리 유닛(68)은 테이프(23)를 주행시키도록 모터 구동기(18)를 제어한다.Specifically, in accordance with an instruction from the buffer management unit 62, the head position management unit 67 controls the head position control system 17 to adjust the position of the read head 14b in the width direction of the tape 23. do. In addition, in response to an instruction from the buffer management unit 62, the tape travel management unit 68 controls the motor driver 18 to drive the tape 23.

동시에, 채널 입/출력 유닛(63)은 채널(13)을 통해, 판독 헤드(14b)에 의해 판독된 데이터 및 메타데이터를 획득하고, 획득된 데이터 및 메타데이터를 버퍼 관리 유닛(62)에 전달하며, 버퍼 관리 유닛(62)은 데이터 및 메타데이터를 버퍼(12)에 저장한다. 다음에, 버퍼(12)에 저장된 데이터 및 메타데이터는 호스트(200)에 전송된다.At the same time, the channel input / output unit 63 acquires the data and metadata read by the read head 14b via the channel 13, and transfers the obtained data and metadata to the buffer management unit 62. The buffer management unit 62 stores data and metadata in the buffer 12. Next, the data and metadata stored in the buffer 12 are transmitted to the host 200.

다음에, 제어기(16)는 카트리지 메모리(24)에 저장된 dm 액세스 카운터 테이블을 갱신한다. 갱신 프로세스는 CM 입/출력 유닛(64)이 CM I/F(19)를 통해 카트리지 메모리(24)로부터 CM 입/출력 유닛(64)의 메모리 영역으로 dm 액세스 카운터 테이블을 판독할 때 시작된다.The controller 16 then updates the dm access counter table stored in the cartridge memory 24. The update process begins when the CM input / output unit 64 reads the dm access counter table from the cartridge memory 24 through the CM I / F 19 into the memory area of the CM input / output unit 64.

갱신 프로세스에서는, 먼저, 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의 배수가 아니면, 프로세스는 다음 단계로 진행한다.In the update process, first, the CM input / output unit 64 reads one record from the dm access counter table (step S623). Next, the CM input / output unit 64 determines whether the Ram-count included in the read record is a multiple of eight (step S624). If Ram-count is a multiple of eight, this read mount operation is the beginning of a new set of eight read mount operations performed as a unit. Next, the CM input / output unit 64 assigns 0 to Dm-count to reset Dm-count, and adds "00" to the right end of Dm-readfreq (step S625). On the other hand, if Ram-count is not a multiple of 8, the process goes to the next step.

다음에, 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의 값에 따라 갱신되는 규칙은 프로그램에 직접 코딩될 수 있고, 또는 프로그램이 테이블을 참조함으로써 규칙을 획득할 수 있도록 프로그램의 외부 테이블에 정의될 수도 있다.Next, the CM input / output unit 64 adds 1 to the Ram-count included in the read record (step S626). Next, the CM input / output unit 64 determines whether the dm-id included in the read record matches the dm-id specified by the read command (step S627). If the dm-id contained in the read record matches that specified by the read command, the CM input / output unit 64 adds 1 to Dm-count, and according to the addition result, two bits at the right end of Dm-readfreq. Is updated (step S628). For example, the relationship between the value of Dm-count and two bits of Dm-readfreq is as shown in FIG. In this case, if Dm-count obtained by adding 1 is 0, 2 bits of the right end of Dm-readfreq are updated to "00", and if Dm-count obtained by adding 1 is 1 or 2, Dm The two bits at the right end of -readfreq are updated to "01", and if the Dm-count obtained by adding 1 is any of 3 to 5, the two bits at the right end of Dm-readfreq are updated to "10". If the Dm-count obtained by adding 1, is any one of 6 to 8, the two bits of the right end of Dm-readfreq are updated to "11". Rules in which Dm-readfreq is updated according to the value of Dm-count may be coded directly in the program, or may be defined in an external table of the program so that the program can obtain the rules by referencing the table.

다음에, CM 입/출력 유닛(64)은 dm 액세스 카운터 테이블로부터 판독된 레코드가 마지막 레코드인지를 결정한다(단계 S629). 레코드가 마지막 레코드가 아니면, 단계 S623 내지 S628은 다음 레코드에 대해 반복된다. 레코드가 마지막 레코드이면 프로세스는 종료된다.Next, the CM input / output unit 64 determines whether the record read from the dm access counter table is the last record (step S629). If the record is not the last record, steps S623 to S628 are repeated for the next record. If the record is the last record, the process ends.

다음에, dm 액세스 카운터 테이블이 위에서 설명된 바와 같이 갱신된 어떤 시점에서, 테이프 드라이브(10)는 데이터 이동을 위한 프로세싱을 수행한다.Next, at some point when the dm access counter table is updated as described above, the tape drive 10 performs processing for data movement.

도 14는 테이프 드라이브(10)의 제어기(16)에 의해 여기서 수행되는 예시적인 동작을 예시하는 플로 차트이다. 다음의 설명은 도 10에 예시된 방식과 같은 방식으로 목적지 테이프(23) 상에 데이터 및 메타데이터 조각들이 배열된다는 가정에 기초로 한다.14 is a flowchart illustrating an example operation performed here by the controller 16 of the tape drive 10. The following description is based on the assumption that data and metadata pieces are arranged on the destination tape 23 in the same manner as illustrated in FIG. 10.

테이프 드라이브(10)에서, 먼저, CM 입/출력 유닛(64)은 CM I/F(19)를 통해 카트리지 메모리(24)로부터 dm 액세스 카운터 테이블을 판독하고, dm 액세스 카운터 테이블을 빈도 계산 유닛(65)에 전달한다(단계 S641).In the tape drive 10, first, the CM input / output unit 64 reads the dm access counter table from the cartridge memory 24 via the CM I / F 19, and stores the dm access counter table in the frequency calculation unit ( 65) (step S641).

빈도 계산 유닛(65)은 위에서 설명된 제1 또는 제2 결정 방법을 이용하여 각각의 dm-id에 대한 액세스 빈도를 계산하고, 액세스 빈도의 하향 순서로 dm 액세스 카운터 테이블에서 레코드들을 재배열하며, 재배열 후 dm 액세스 카운터 테이블을 이동 제어 유닛(66)에 전달한다(단계 S642).The frequency calculating unit 65 calculates the access frequency for each dm-id using the first or second determination method described above, rearranges the records in the dm access counter table in descending order of access frequency, After the rearrangement, the dm access counter table is transferred to the movement control unit 66 (step S642).

따라서, 이동 제어 유닛(66)은 데이터를 한 테이프(23)로부터 다른 테이 프(23)로 이동시킨다.Thus, the movement control unit 66 moves the data from one tape 23 to the other tape 23.

즉, 이동 제어 유닛(66)은 재배열 후 dm 액세스 카운터 테이블로부터 하나의 레코드를 판독하고, 판독된 레코드를 버퍼 관리 유닛(62)에 전달한다(단계 S643). 버퍼 관리 유닛(62)은 소스 테이프(23)로부터, 판독된 레코드에 포함된 dm-id에 대응하는 데이터 및 메타데이터를 판독한다(단계 S644).That is, the movement control unit 66 reads out one record from the dm access counter table after rearrangement, and transfers the read record to the buffer management unit 62 (step S643). The buffer management unit 62 reads out data and metadata corresponding to the dm-id included in the read record from the source tape 23 (step S644).

구체적으로, 버퍼 관리 유닛(62)으로부터의 명령에 따라, 헤드 위치 관리 유닛(67)은 테이프(23)의 폭 방향에서 판독 헤드(14b)의 위치를 조절하도록 헤드 위치 제어 시스템(17)을 제어한다. 또한, 버퍼 관리 유닛(62)으로부터의 명령에 따라, 테이프 주행 관리 유닛(68)은 테이프(23)를 주행시키도록 모터 구동기(18)를 제어한다. 동시에, 채널 입/출력 유닛(63)은 판독 헤드(14b)에 의해 판독된 데이터 및 메타데이터를 채널(13)을 통해 획득하고, 획득된 데이터 및 메타데이터를 버퍼 관리 유닛(62)에 전달하며, 버퍼 관리 유닛(62)은 데이터 및 메타데이터를 버퍼(12)에 저장한다. dm-id에 대응하는 데이터 및 메타데이터를 판독하는 키로서 사용되는 d-id 및 m-id는 예컨대 제어 메커니즘(30)을 참조함으로써 식별될 수 있음에 주의한다.Specifically, in accordance with an instruction from the buffer management unit 62, the head position management unit 67 controls the head position control system 17 to adjust the position of the read head 14b in the width direction of the tape 23. do. In addition, in response to an instruction from the buffer management unit 62, the tape travel management unit 68 controls the motor driver 18 to drive the tape 23. At the same time, the channel input / output unit 63 acquires the data and metadata read by the read head 14b through the channel 13, and transfers the obtained data and metadata to the buffer management unit 62. The buffer management unit 62 stores data and metadata in the buffer 12. Note that the d-id and m-id used as keys for reading the data and metadata corresponding to the dm-id can be identified, for example, by referring to the control mechanism 30.

다음에, 버퍼 관리 유닛(62)은 데이터 및 메타데이터가 목적지 테이프(23) 상의 현재 랩에 기록될 수 있는지를 결정한다(단계 S645). 구체적으로, 채널 입/출력 유닛(63)은 채널(13)을 통해 서보 헤드로부터 테이프(23)의 길이 방향에서의 데이터 및 메타데이터의 기록 위치에 관한 정보를 수신하므로, 버퍼 관리 유닛(62)은 채널 입/출력 유닛(63)에 의해 수신되는 정보에 기초하여 이 결정을 행한다.Next, the buffer management unit 62 determines whether data and metadata can be recorded in the current lap on the destination tape 23 (step S645). Specifically, the channel input / output unit 63 receives the information regarding the recording position of the data and the metadata in the longitudinal direction of the tape 23 from the servo head via the channel 13, and thus the buffer management unit 62. Makes this determination based on the information received by the channel input / output unit 63.

버퍼 관리 유닛(62)이 데이터 및 메타데이터가 현재 랩에 기록될 수 있다고 결정하면, 데이터 및 메타데이터는 목적지 테이프(23)에 기록된다(단계 S649).If the buffer management unit 62 determines that data and metadata can be recorded in the current lap, the data and metadata are recorded on the destination tape 23 (step S649).

구체적으로, 버퍼 관리 유닛(62)으로부터의 명령에 따라, 헤드 위치 관리 유닛(67)은 테이프(23)의 폭 방향에서의 기록 헤드(14a)의 위치를 조절하도록 헤드 위치 제어 시스템(17)을 제어한다. 또한, 버퍼 관리 유닛(62)으로부터의 명령에 따라, 테이프 주행 관리 유닛(68)은 테이프(23)를 주행시키도록 모터 구동기(18)를 제어한다. 동시에, 버퍼 관리 유닛(62)은 버퍼(12)로부터 데이터 및 메타데이터를 판독하고, 데이터 및 메타데이터를 채널 입/출력 유닛(63)에 전달하고, 채널 입/출력 유닛(63)은 데이터 및 메타데이터를 채널(13)을 통해 기록 헤드(14a)에 출력한다.Specifically, in accordance with an instruction from the buffer management unit 62, the head position management unit 67 adjusts the head position control system 17 to adjust the position of the recording head 14a in the width direction of the tape 23. To control. In addition, in response to an instruction from the buffer management unit 62, the tape travel management unit 68 controls the motor driver 18 to drive the tape 23. At the same time, the buffer management unit 62 reads data and metadata from the buffer 12, transfers the data and metadata to the channel input / output unit 63, and the channel input / output unit 63 stores the data and the metadata. The metadata is output to the recording head 14a via the channel 13.

반면에, 데이터 및 메타데이터가 현재 랩에 기록될 수 없다고 결정되면, 현재 랩이 마지막 랩인지를 결정한다(단계 S646). 구체적으로, 헤드 위치 관리 유닛(67)은 테이프(23)의 폭 방향에서의 데이터 및 메타데이터의 기록 위치에 관한 정보를 헤드 위치 제어 시스템(17)으로부터 수신하므로, 버퍼 관리 유닛(62)은 헤드 위치 관리 유닛(67)에 의해 수신된 정보에 기초하여 이 결정을 행한다.On the other hand, if it is determined that data and metadata cannot be recorded in the current lap, it is determined whether the current lap is the last lap (step S646). Specifically, since the head position management unit 67 receives information about the recording position of data and metadata in the width direction of the tape 23 from the head position control system 17, the buffer management unit 62 is the head. This determination is made based on the information received by the position management unit 67.

현재 랩이 마지막 랩이 아니면, 랩은 다른 랩으로 전환되고(단계 S647), 데이터 및 메타데이터는 목적지 테이프(23)에 기록된다(단계 S649). 랩의 전환은 헤드 위치 관리 유닛(67)의 제어 하에서 헤드 위치 제어 시스템(17)에 의해 행해진다.If the current lap is not the last lap, the lap is switched to another lap (step S647), and data and metadata are recorded on the destination tape 23 (step S649). The switching of the lap is performed by the head position control system 17 under the control of the head position management unit 67.

현재 랩이 마지막 랩이면, 랩은 다음 세그먼트의 랩 #1로 전환되고(단계 S648), 데이터 및 메타데이터는 목적지 테이프(23)에 기록된다(단계 S649). 세그먼트의 전환은 테이프 주행 관리 유닛(68)의 제어 하에서 모터 구동기(18)에 의해 행해지고, 랩의 전환은 헤드 위치 관리 유닛(67)의 제어 하에서 헤드 위치 제어 시스템(17)에 의해 행해진다.If the current lap is the last lap, the lap is switched to lap # 1 of the next segment (step S648), and data and metadata are recorded on the destination tape 23 (step S649). The switching of the segments is performed by the motor driver 18 under the control of the tape travel management unit 68, and the switching of the lap is performed by the head position control system 17 under the control of the head position management unit 67.

다음에, 이동 제어 유닛(66)은 dm 액세스 카운터 테이블로부터 판독된 레코드가 마지막 레코드인지를 결정한다(단계 S650). 레코드가 마지막 레코드가 아니면, 단계 S643 내지 S649가 다음 레코드에 대해 반복된다. 레코드가 마지막 레코드이면 프로세스는 종료된다.Next, the movement control unit 66 determines whether the record read from the dm access counter table is the last record (step S650). If the record is not the last record, steps S643 to S649 are repeated for the next record. If the record is the last record, the process ends.

위에서 설명된 예시적인 동작에서, 데이터 이동은 두 카트리지(20)가 동시에 로딩될 수 있는 테이프 드라이브(10)에서 수행됨으로써, 한 카트리지(20)를 다른 카트리지로 대체할 필요가 없다. 대안으로, 이러한 데이터 이동의 제어는 제어 메커니즘(30)에 의해 수행될 수 있다. 이 경우에, 제어 메커니즘(30)은 데이터 이동을 수행하도록 테이프 드라이브(10)를 제어할 수 있으며, 두 테이프 드라이브(10)는 각각 하나의 카트리지(20)만을 수용할 수 있다.In the exemplary operation described above, data movement is performed in a tape drive 10 in which two cartridges 20 can be loaded simultaneously, thereby eliminating the need to replace one cartridge 20 with another. Alternatively, control of this data movement can be performed by the control mechanism 30. In this case, the control mechanism 30 can control the tape drive 10 to perform data movement, and the two tape drives 10 can each accommodate only one cartridge 20.

본 발명은 하드웨어만으로, 또는 소프트웨어만으로, 또는 하드웨어와 소프트웨어로 실현될 수 있다. 본 발명은 컴퓨터, 데이터 처리 시스템, 및 컴퓨터 시스템으로서 구현될 수 있다. 컴퓨터 프로그램은 컴퓨터 판독가능 매체에 저장되어 제어될 수 있다. 매체는 전자 매체, 자기 매체, 광학 매체, 전자기 매체, 적외선 매체, 또는 반도체 시스템(또는 장치 또는 기기), 또는 전파 매체일 수 있다. 컴퓨터 판독 가능 매체의 예로는, 반도체 또는 고체 메모리, 자기 테이프, 제거가능 컴퓨터 디스켓, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 단단한 자기 디스크, 및 광학 디스크를 들 수 있다. 광학 디스크의 현재 예로는, CD-ROM(compact-disk read-only memory), CD-R/W(compact disk-read/write), 및 DVD(digital versatile disk)를 들 수 있다.The present invention can be realized only in hardware, only in software, or in hardware and software. The invention can be implemented as a computer, a data processing system, and a computer system. The computer program can be stored and controlled in a computer readable medium. The medium may be an electronic medium, a magnetic medium, an optical medium, an electromagnetic medium, an infrared medium, or a semiconductor system (or apparatus or device), or a propagation medium. Examples of computer readable media include semiconductor or solid state memory, magnetic tape, removable computer diskettes, random access memory (RAM), read-only memory (ROM), rigid magnetic disks, and optical disks. Current examples of optical disks include compact-disk read-only memory (CD-ROM), compact disk-read / write (CD-R / W), and digital versatile disk (DVD).

본 발명은 상기한 실시예들을 이용하여 설명되었지만, 본 발명의 기술적 범위는 이에 한정되지 않는다. 본 발명의 취지 및 범위를 벗어나지 않고 각종 수정예 및 대안들이 채택될 수 있음은 당업자에게 명백하다. Although the present invention has been described using the above embodiments, the technical scope of the present invention is not limited thereto. It will be apparent to those skilled in the art that various modifications and alternatives may be employed without departing from the spirit and scope of the invention.

도 1은 본 발명의 일 실시예가 적용되는 보관 장치의 구성을 예시한 블록도.1 is a block diagram illustrating a configuration of a storage device to which an embodiment of the present invention is applied.

도 2(a) 내지 도 2(c)는 본 발명의 일 실시예에 따라 dm-id, d-id, m-id의 연관성을 설명하기 위한 도면.2 (a) to 2 (c) is a view for explaining the association of dm-id, d-id, m-id in accordance with an embodiment of the present invention.

도 3(a) 및 도 3(b)는 본 발명의 일 실시예에 따라 dm-id, d-id, m-id의 연관성의 일 예를 나타낸 도면.3 (a) and 3 (b) is a view showing an example of the association of dm-id, d-id, m-id in accordance with an embodiment of the present invention.

도 4는 본 발명의 일 실시예에서 데이터 및 메타데이터의 조각들이 데이터 이동 전에 테이프 상에 분산 배열된 상태를 예시한 도면.4 illustrates a state in which pieces of data and metadata are arranged distributed on a tape prior to data movement in one embodiment of the present invention.

도 5는 본 발명의 일 실시예에서 사용되는 카운터들을 설명하기 위한 도면.5 is a diagram for explaining counters used in one embodiment of the present invention;

도 6은 본 발명의 일 실시예에서 사용되는 dm 액세스 카운터 테이블의 일 예를 예시한 도면.6 illustrates an example of a dm access counter table used in an embodiment of the present invention.

도 7은 본 발명의 일 실시예에서 카운터들의 갱신을 설명하기 위한 도면.7 is a diagram for explaining updating of counters in one embodiment of the present invention;

도 8은 본 발명의 일 실시예에 따라 데이터 이동 후 액세스 빈도의 하향 순서로 데이터 및 메타데이터의 조각들이 테이프 상에 배열된 상태를 예시한 도면.8 illustrates a state in which pieces of data and metadata are arranged on a tape in descending order of access frequency after data movement in accordance with one embodiment of the present invention.

도 9(a) 및 도 9(b)는 테이프의 쉽게 액세스가능한 부분과 쉽게 액세스가능하지 않은 부분을 설명하기 위한 도면.9 (a) and 9 (b) are diagrams for explaining easily accessible portions and not readily accessible portions of a tape;

도 10은 본 발명의 일 실시예에서 데이터 이동 후 액세스 빈도의 하향 순서로 데이터 및 메타데이터의 조각들이 테이프 상에 배열된 수정된 상태를 예시한 도면.FIG. 10 illustrates a modified state in which pieces of data and metadata are arranged on a tape in descending order of access frequency after data movement in one embodiment of the present invention. FIG.

도 11은 본 발명의 일 실시예에 따라 제어기의 예시적인 기능 구성을 예시한 블록도.11 is a block diagram illustrating an exemplary functional configuration of a controller in accordance with an embodiment of the present invention.

도 12는 본 발명의 일 실시예에 따라 기록 명령이 수신될 때 제어기에 의해 수행되는 예시적인 동작을 예시한 플로 차트.12 is a flowchart illustrating an exemplary operation performed by a controller when a write command is received in accordance with one embodiment of the present invention.

도 13은 본 발명의 일 실시예에 따라 판독 명령이 수신될 때 제어기에 의해 수행되는 예시적인 동작을 예시한 플로 차트.FIG. 13 is a flow chart illustrating exemplary operations performed by a controller when a read command is received in accordance with one embodiment of the present invention. FIG.

도 14는 본 발명의 일 실시예에 따라 데이터 이동 후 제어기에 의해 수행되는 예시적인 동작을 예시한 플로 차트.14 is a flow chart illustrating exemplary operations performed by a controller after moving data in accordance with one embodiment of the present invention.

* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings

10: 테이프 드라이브10: tape drive

11: 호스트 I/F11: host I / F

12: 버퍼12: buffer

13: 채널13: channel

14a: 기록 헤드14a: recording head

14b: 판독 헤드14b: readhead

15: 모터15: motor

16: 제어기16: controller

17: 헤드 위치 제어 시스템17: head position control system

18: 모터 구동기18: motor driver

19: CM I/F19: CM I / F

20: 카트리지20: cartridge

30: 제어 메커니즘30: control mechanism

40: 액세서40: Accessor

50: 카트리지 슬롯50: cartridge slot

100: 보관 장치100: storage device

200: 호스트200: host

Claims (10)

제1 기록 매체에 기록된 데이터 조각들의 제2 기록 매체로의 이동을 지원하는 장치로서, An apparatus for supporting movement of pieces of data recorded on a first recording medium to a second recording medium, the apparatus comprising: 상기 제1 기록 매체에 기록된 데이터 조각들 각각에 대해, 상기 데이터 조각이 상기 제1 기록 매체에 기록된 후 상기 제1 기록 매체로부터 어떤 데이터가 판독된 횟수를 나타내는 제1 정보 및 상기 데이터 조각이 상기 제1 기록 매체로부터 판독된 횟수를 나타내는 제2 정보를 획득하는 획득 유닛;For each of the pieces of data recorded on the first recording medium, the first piece of information and the data pieces indicating the number of times any data is read from the first recording medium after the pieces of data have been recorded on the first recording medium. An acquisition unit for acquiring second information indicating the number of times of reading from the first recording medium; 상기 획득 유닛에 의해 획득된 상기 제1 정보 및 제2 정보를 이용하여 상기 데이터 조각에 대한 액세스 빈도를 추적하는 추적 유닛; 및A tracking unit for tracking the frequency of access to the data pieces using the first information and the second information obtained by the acquiring unit; And 상기 추적 유닛에 의해 추적된 액세스 빈도에 기초하여 상기 제2 기록 매체 내의 상기 데이터 조각의 기록 위치를 결정하는 결정 유닛을 포함하는 장치.And a determining unit for determining a recording position of the piece of data in the second recording medium based on the access frequency tracked by the tracking unit. 제1 항에 있어서,According to claim 1, 특정 데이터가 상기 제1 기록 매체로부터 판독되었을 때, 상기 데이터 조각에 대한 제1 정보 및 상기 특정 데이터에 대한 제2 정보를 갱신하는 갱신 유닛을 더 포함하는 장치.And an updating unit for updating the first information for the piece of data and the second information for the specific data when specific data has been read from the first recording medium. 제1 항에 있어서,According to claim 1, 상기 제1 정보는 상기 데이터 조각이 상기 제1 기록 매체에 기록된 후 상기 제1 기록 매체가 기억 유닛에 장착된 횟수를 나타냄으로써 상기 데이터 조각이 상기 제1 기록 매체에 기록된 후 상기 제1 기록 매체로부터 어떤 데이터가 판독된 횟수를 나타내는 장치.The first information indicates the number of times the first recording medium is mounted on the storage unit after the data piece has been recorded on the first recording medium, so that the first recording after the data piece has been recorded on the first recording medium Device indicating the number of times certain data has been read from the medium. 제1 항에 있어서,According to claim 1, 상기 추적 유닛은 상기 제2 정보로 나타낸 횟수와 상기 제1 정보로 나타낸 횟수의 비를 액세스 빈도로서 추적하는 장치.And the tracking unit tracks the ratio of the number of times indicated by the second information and the number of times indicated by the first information as an access frequency. 제1 항에 있어서,According to claim 1, 상기 추적 유닛은 상기 제1 정보로 나타낸 횟수가 미리 결정된 범위 내인 데이터에 대해서만 상기 제2 정보를 이용하여 상기 액세스 빈도를 추적하는 장치.And the tracking unit tracks the access frequency using the second information only for data whose number of times indicated by the first information is within a predetermined range. 제1 항에 있어서,According to claim 1, 상기 결정 유닛은 빈번하게 액세스되는 데이터가 상기 제2 기록 매체 내의 제1 기록 위치에 기록되고 덜 빈번하게 액세스되는 데이터는 상기 제2 기록 매체 내의 제2 기록 위치에 기록되도록 상기 제2 기록 매체 내의 데이터 조각의 기록 위치를 결정하며, 상기 제2 기록 위치는 상기 제2 기록 매체로부터 데이터를 판독하는데 요구되는 시간이 상기 제1 기록 위치에서의 것보다 긴 위치인 장치.The determining unit is further configured to determine the data in the second recording medium such that frequently accessed data is recorded at the first recording position in the second recording medium and less frequently accessed data is recorded at the second recording position in the second recording medium. Determine a recording position of the piece, wherein the second recording position is a position where a time required for reading data from the second recording medium is longer than at the first recording position. 기록 매체에서의 데이터 조각들의 재배열을 지원하는 장치로서,An apparatus for supporting rearrangement of pieces of data in a recording medium, 상기 기록 매체에 기록된 데이터 조각들 각각에 대해, 상기 데이터 조각이 상기 기록 매체에 기록된 후 상기 기록 매체로부터 어떤 데이터가 판독된 횟수를 나타내는 제1 정보 및 상기 데이터 조각이 상기 기록 매체로부터 판독된 횟수를 나타내는 제2 정보를 획득하는 획득 유닛;For each of the pieces of data recorded on the recording medium, first information indicating the number of times any data has been read from the recording medium after the data pieces have been recorded on the recording medium and the data pieces read from the recording medium. An acquiring unit for acquiring second information indicating the number of times; 상기 획득 유닛에 의해 획득된 상기 제1 정보 및 제2 정보를 이용하여 상기 데이터 조각에 대한 액세스 빈도를 추적하는 추적 유닛; 및A tracking unit for tracking the frequency of access to the data pieces using the first information and the second information obtained by the acquiring unit; And 상기 추적 유닛에 의해 추적된 액세스 빈도에 기초하여 상기 기록 매체 내의 상기 데이터 조각의 기록 위치를 결정하는 결정 유닛을 포함하는 장치.And a determining unit for determining the recording position of the piece of data in the recording medium based on the access frequency tracked by the tracking unit. 제1 테이프 매체에 기록된 데이터 조각들을 제2 테이프 매체로 이동시키는 장치로서, An apparatus for moving pieces of data recorded on a first tape medium to a second tape medium, 상기 제1 테이프 매체에 기록되고 주 데이터와 상기 주 데이터와 연관된 정보를 나타내는 메타데이터를 포함하는 데이터 조각들 각각에 대해, 상기 데이터 조각이 상기 제1 테이프 매체에 기록된 후 어떤 데이터를 판독하기 위해 상기 제1 테이프 매체가 테이프 드라이브에 장착된 횟수를 나타내는 제1 정보 및 상기 데이터 조각이 상기 제1 테이프 매체로부터 판독된 횟수를 나타내는 제2 정보를 획득하는 획득 유닛;For each of the pieces of data recorded on the first tape medium and including metadata indicative of the main data and information associated with the main data, for reading some data after the data piece has been written to the first tape medium An acquisition unit for acquiring first information indicating the number of times the first tape medium has been mounted in the tape drive and second information indicating the number of times the data piece has been read from the first tape medium; 상기 획득 유닛에 의해 획득된 상기 제2 정보가 나타내는 횟수와 상기 제1 정보가 나타내는 횟수의 비를 상기 데이터 조각에 대한 액세스 빈도로서 추적하는 추적 유닛; 및A tracking unit that tracks the ratio of the number of times indicated by the second information obtained by the acquiring unit and the number of times indicated by the first information as an access frequency for the data piece; And 상기 데이터 조각을 상기 추적 유닛에 의해 추적된 액세스 빈도의 하향 순서로 상기 제2 테이프 매체에 기록하는 기록 유닛을 포함하는 장치.And a recording unit for writing the pieces of data to the second tape medium in descending order of the access frequencies tracked by the tracking unit. 제1 기록 매체에 기록된 데이터 조각들의 제2 기록 매체로의 이동을 지원하는 방법으로서, A method of supporting movement of pieces of data recorded on a first recording medium to a second recording medium, the method comprising: 상기 제1 기록 매체에 기록된 데이터 조각들 각각에 대해, 상기 데이터 조각이 상기 제1 기록 매체에 기록된 후 상기 제1 기록 매체로부터 어떤 데이터가 판독된 횟수를 나타내는 제1 정보 및 상기 데이터 조각이 상기 제1 기록 매체로부터 판독된 횟수를 나타내는 제2 정보를 획득하는 단계;For each of the pieces of data recorded on the first recording medium, the first piece of information and the data pieces indicating the number of times any data has been read from the first recording medium after the pieces of data have been recorded on the first recording medium. Acquiring second information indicating the number of times of reading from the first recording medium; 상기 획득된 상기 제1 정보 및 상기 획득된 제2 정보를 이용하여 상기 데이터 조각에 대한 액세스 빈도를 추적하는 단계; 및Tracking the frequency of access to the pieces of data using the obtained first information and the obtained second information; And 상기 추적된 액세스 빈도에 기초하여 상기 제2 기록 매체 내의 상기 데이터 조각의 기록 위치를 결정하는 단계를 포함하는 방법.Determining a recording position of the piece of data in the second recording medium based on the tracked access frequency. 컴퓨터가, 제1 기록 매체에 기록된 데이터 조각들의 제2 기록 매체로의 이동을 지원하는 장치로서 기능을 하게 하는 프로그램 제품으로서, A program product for causing a computer to function as an apparatus for supporting movement of pieces of data recorded on a first recording medium to a second recording medium, 상기 장치는,The apparatus comprises: 상기 제1 기록 매체에 기록된 데이터 조각들 각각에 대해, 상기 데이터 조각이 상기 제1 기록 매체에 기록된 후 상기 제1 기록 매체로부터 어떤 데이터가 판독된 횟수를 나타내는 제1 정보 및 상기 데이터 조각이 상기 제1 기록 매체로부터 판 독된 횟수를 나타내는 제2 정보를 획득하는 획득 유닛;For each of the pieces of data recorded on the first recording medium, the first piece of information and the data pieces indicating the number of times any data has been read from the first recording medium after the pieces of data have been recorded on the first recording medium. An acquiring unit for acquiring second information indicating the number of times of reading from the first recording medium; 상기 획득 유닛에 의해 획득된 상기 제1 정보 및 제2 정보를 이용하여 상기 데이터 조각에 대한 액세스 빈도를 추적하는 추적 유닛; 및A tracking unit for tracking the frequency of access to the data pieces using the first information and the second information obtained by the acquiring unit; And 상기 추적 유닛에 의해 추적된 액세스 빈도에 기초하여 상기 제2 기록 매체 내의 상기 데이터 조각의 기록 위치를 결정하는 결정 유닛을 포함하는 프로그램 제품.And a determining unit for determining a recording position of the piece of data in the second recording medium based on the access frequency tracked by the tracking unit.
KR1020090115072A 2008-12-25 2009-11-26 Device and method for migration of data recorded in recording medium KR101171439B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008329430A JP5106377B2 (en) 2008-12-25 2008-12-25 Apparatus and method for migrating data recorded on a recording medium
JPJP-P-2008-329430 2008-12-25

Publications (2)

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

Family

ID=42571630

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090115072A KR101171439B1 (en) 2008-12-25 2009-11-26 Device and method for migration of data recorded in recording medium

Country Status (2)

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

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5618813B2 (en) * 2010-12-24 2014-11-05 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Storage device, recording medium, and data long-term storage method
US8493823B1 (en) * 2012-10-31 2013-07-23 Oracle International Corporation Variable data transfer rate optical tape drive system and method
JP6070371B2 (en) * 2013-03-29 2017-02-01 富士通株式会社 Data arrangement program and information processing apparatus
JP5932877B2 (en) 2014-04-15 2016-06-08 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Reduce the time required to write files to tape media
JP5991701B2 (en) 2014-10-28 2016-09-14 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Storage management method, storage management system, computer system, and program
JP6075571B2 (en) * 2014-10-31 2017-02-08 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation How to move files in a tiered storage system
JP6463103B2 (en) 2014-12-02 2019-01-30 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Method for writing a plurality of files, tape device system, and program
WO2021054243A1 (en) 2019-09-17 2021-03-25 富士フイルム株式会社 Recording device, recording method, recording program, and magnetic tape
JP2021144663A (en) 2020-03-13 2021-09-24 富士通株式会社 Storage system, storage device as migration source, and storage device as migration destination
JPWO2022195985A1 (en) * 2021-03-18 2022-09-22
JPWO2022195984A1 (en) * 2021-03-18 2022-09-22

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0969028A (en) * 1995-08-31 1997-03-11 Hitachi Ltd Magnetic tape cartridge control system
JPH1131376A (en) * 1997-07-09 1999-02-02 Sony Corp Information recording and reproducing device and its method
JPH11306690A (en) * 1998-04-20 1999-11-05 Aiwa Co Ltd Signal recording method, tape recording medium processing device, and tape recording medium
JP2006293981A (en) * 2005-03-18 2006-10-26 Hitachi Ltd Database storing method, and database storing system

Also Published As

Publication number Publication date
JP2010152603A (en) 2010-07-08
JP5106377B2 (en) 2012-12-26
KR101171439B1 (en) 2012-08-09

Similar Documents

Publication Publication Date Title
KR101171439B1 (en) Device and method for migration of data recorded in recording medium
US8009541B2 (en) Device, method, and computer program product for data migration
US10915244B2 (en) Reading and writing via file system for tape recording system
JP5480163B2 (en) Apparatus and method for reading data recorded on recording medium
KR100603157B1 (en) Digital data recording method and digital data recording medium
JP5999650B2 (en) Method and program for retrieving the reading order of a plurality of record groups on a tape
US10282098B2 (en) Writing data spanning plurality of tape cartridges
US9852756B2 (en) Method of managing, writing, and reading file on tape
US20030026021A1 (en) Method, system, program, and storage cartridge for storing data in a storage medium
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
US20140247515A1 (en) Tape drive buffer utilization
US6985325B2 (en) Updateable centralized data position information storage system
JP2001283563A (en) Recording and reproducing device
JP2001283575A (en) Recording and reproducing device
JPH01307983A (en) Digital data recording and reproducing device
JP2001282596A (en) Method and device for managing file
JP2001283574A (en) Recording and reproducing device
JP2001283573A (en) Recording device and recording method

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