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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing 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
Description
본 발명은 기록 매체에 기록된 데이터의 이동 장치 및 방법에 관한 것이다. 특히, 본 발명은 기록 매체에 기록된 데이터의 그 기록 매체 또는 다른 기록 매체로의 이동을 지원하는 장치 및 방법에 관한 것이다.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,
특허 문헌 1은 빈번하게 액세스되는 논리적 볼륨(logical volume)이 장시간 전원공급 모드에서 RAID 그룹에 배열되고, 덜 빈번하게 액세스되는 논리적 불륨은 제1 단시간 전원공급 모드(short-time energization mode)에서 RAID 그룹에 배열되며, 가장 덜 빈번하게 액세스되는 논리적 볼륨은 제2 단시간 전원공급 모드에서 RAID 그룹에 배열되도록 재배열 계획이 마련된 기술을 공개한다.
특허 문헌 2는 복수의 블록들을 포함하는 각각의 파일에 대한 액세스 빈도를 저장하고, 서로 연관되어 미리 결정된 값 정도의 빈도로 액세스되는 복수의 파일들을 단일 그룹으로서 추출하며, 추출된 파일들 각각에서의 각각의 블록의 데이터를 광 디스크로부터 판독하고, 판독된 데이터 조각들을 광 디스크의 연속된 블록들 또는 인접 블록들에 순차적으로 기록하는 기술을 공개한다.
특허 문헌 3은 메모리를 테이프 카세트의 카트리지에 제공하고, 각각의 파티션에 대한 액세스 빈도에 관한 정보를 메모리에 기록하는 기술을 공개한다. 테이프를 복사하기 위해서는, 액세스 빈도에 관한 정보를 판독하고, 데이터 조각들을 테이프의 시작 부분부터 액세스 빈도의 하향 순서로 기록한다.
[특허 문헌 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
따라서, 본 발명의 목적은 시간축을 이용하지 않고 실제 액세스 빈도를 데이터 이동시 고려하여 성능을 향상시키는 것이다.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
예시된 바와 같이, 보관 장치(100)는 테이프 드라이브(tape drive; 10), 제어 메커니즘(control mechanism; 30), 액세서(accessor; 40), 및 카트리지 슬롯(cartridge slot; 50)을 포함한다.As illustrated, the
테이프 드라이브(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
카트리지(20)는 카트리지 메모리(24)를 더 포함한다. 예컨대, 카트리지 메 모리(24)는 데이터가 테이프(23)에 기록되는 법에 관한 정보를 기록한다. 데이터에 대한 고속 액세스는 예컨대 무접촉 방식의 RF 인터페이스를 통해, 테이프(23)에 기록된 데이터의 인덱스 및 테이프(23)를 사용하는 법을 체크함으로써 실현될 수 있다. 카트리지 메모리(24)에 대한 액세스를 가능하게 하는 RF 인터페이스와 같은 인터페이스가 도 1에 카트리지 메모리 인터페이스(이하, "CM I/F"라고 함)(19)로서 예시되어 있다.The
호스트 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 /
버퍼(12)는 테이프(23)에 기록될 데이터 및 테이프(23)로부터 판독된 데이터를 저장하는 메모리이다. 예컨대, 버퍼(12)는 동적 랜덤 액세스 메모리(DRAM)이다. 버퍼(12)는 복수의 버퍼 세그먼트(buffer segment)를 가진다. 버퍼 세그먼트 각각은 테이프(23)에 대한 데이터의 판독 및 기록 단위인 데이터 세트를 저장한다.The
채널(13)은 테이프(23)에 기록될 데이터를 기록 헤드(14a)에 전송하고 테이 프(23)로부터 판독된 데이터를 기록 헤드(14b)로부터 수신하는 데 사용되는 통신 채널이다. The
테이프(23)가 그 길이 방향으로 이동하면, 기록 헤드(14a)는 정보를 테이프(23)에 기록하고, 판독 헤드(14b)는 테이프(23)로부터 정보를 판독한다.When the
모터(15)는 릴(21, 22)을 회전시킨다. 모터(15)는 도 1에서 단일의 직사각형으로 표현되어 있지만, 각각의 릴(21, 22)에 두 모터(15)를 제공하는 것이 바람직하다.The
제어기(16)는 테이프 드라이브(10)의 전체 동작을 제어한다. 예컨대, 호스트 I/F(11)에 의해 수신되는 명령에 따라, 제어기(16)는 테이프(23)에 대한 데이터의 기록 또는 판독을 제어한다. 제어기(16)는 또한 헤드 위치 제어 시스템(17) 및 모터 구동기(18)를 제어한다.The
헤드 위치 제어 시스템(17)은 기록 헤드(14a) 및 판독 헤드(14b)가 하나 이상의 원하는 랩(wrap)을 추적할 수 있도록 제어를 수행하는 시스템이다. 여기서, 용어 "랩(wrap)"은 테이프(23) 상의 트랙 그룹을 말한다. 랩의 전환이 필요한 경우, 기록 헤드(14a)와 판독 헤드(14b) 간의 전기적 전환을 수행하는 것이 필요하다. 이러한 전환 제어는 헤드 위치 제어 시스템(17)에 의해 수행된다.The head
모터 구동기(18)는 모터(15)를 구동한다. 두 모터(15)가 위에서 설명된 바와 같이 제공될 때, 2개의 모터 구동기(18)들이 그에 따라 제공된다.The
제어 메커니즘(30)은 호스트(200)로부터의 명령에 따라 액세서(40) 및 테이프 드라이브(10)를 제어하는 메커니즘이다. 제어 메커니즘(30)은 액세서(40)에게 호스트(200)에 의해 지정된 데이터가 카트리지(20)에 대해 판독 또는 기록되도록 테이프 드라이브(10)에 카트리지(20)를 로딩하도록 지시한다. 또한, 제어 메커니즘(30)은 테이프 드라이브(10)에게 호스트(200)에 의해 지정된 데이터를 액세스(40)에 의해 로딩된 카트리지(20)에 대해 판독 또는 기록하도록 지시한다.The
제어 메커니즘(30)의 제어 하에서, 액세서(40)는 카트리지 슬롯(50)으로부터 카트리지(20)를 꺼내 카트리지(20)를 테이프 드라이브(10)에 로딩한다.Under the control of the
카트리지 슬롯(50)은 판독 동작 및 기록 동작이 수행되지 않는 카트리지(20)를 적재하기 위한 장소이다. 도 1에서는 카트리지 슬롯(50)이 단일의 직사각형으로 표현되어 있지만, 실제로는 복수의 카트리지를 적재하기 위한 복수의 슬롯이 존재한다.The
도 1에는 하나의 테이프 드라이브(10)만이 도시되어 있지만, 테이프 드라이브(10)는 복수로 제공될 수 있다. 이 경우에, 액세서(40)에게 테이프 드라이브(10)들 중 하나에 카트리지(20)를 로딩하라고 지시하기 위해, 제어 메커니즘(30)은 판독 명령 또는 기록 명령의 목적지인 테이프 드라이브(10)에 관한 식별 정보를 액세서(40)에 전송한다. 도 1은 하나의 카트리지(20)만이 로딩될 수 있는 테이프 드라이브(10)를 예시하나, 테이프 드라이브(10)는 복수의 카트리지(20)가 로딩될 수 있는 테이프 드라이브일 수 있다.Although only one
테이프 드라이브(10)에 의한 테이프(23) 상에 기록된 데이터에 대한 액세스의 성능은 테이프(23)상의 기록 위치에 따라 크게 달라진다. 그러므로, 데이터에 대한 액세스 빈도를 고려하지 않고 데이터를 테이프(23)로 이동시키면, 빈번하게 액세스되는 데이터에 대한 액세스 속도가 감소될 수 있다. 결과적으로, 데이터 액세스 성능이 저하될 수 있다.The performance of access to data recorded on the
요즘에, 테이프 드라이브(10)는 사진 데이터, 비디오 데이터 등의 보관 장치로서 사용되곤 한다. 그러므로, 데이터(주 데이터) 자체뿐만 아니라, 주 데이터에 관한 부가 정보의 역할을 하는 메타데이터가 장시간 동작 저장될 데이터로서 중요해지고 있다. 예컨대, 사진 데이터에 대한 메타데이터는 사진을 찍은 장소, 날짜, 시간, 촬영자 이름, 사진 장비, 기록 포맷, 파일 명, 파일 크기와 같은 정보를 제공할 수 있다. 메타데이터는 데이터와 밀접하게 연관되며, 따라서 데이터와 함께 취급되곤 한다. 그러므로, 데이터가 테이프(23) 상에 보관 데이터로서 저장되고 데이터에 대한 메타데이터가 동일한 테이프(23) 상에 저장될 때, 데이터와 메타데이터가 적절히 배열되지 않는 한 액세스 성능은 저하될 것이다.Nowadays, the
그러므로, 본 실시예에서, 서로 연관되어 테이프(23) 상에 기록된 데이터 조각들에 대한 액세스 빈도가 기록되어 데이터 이동을 수행하는데 이용된다. 따라서, 데이터 이동시, 데이터 및 메타데이터의 그룹들에 대한 액세스 성능에 적절한 배열이 실현된다.Therefore, in this embodiment, the frequency of access to the pieces of data recorded on the
구체적으로, 다음의 구성이 채택된다.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
액세스 히스토리가 위에서 설명된 바와 같이 기록된 후 기록 매체(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
이하, 상기 동작을 실현하는 구성에 대해 상세히 설명한다.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
제어 메커니즘(30)에서, 데이터 포트를 통해 전달된 정보는 데이터로서 취급 되며, ID 발생 유닛(31)이 d-id를 발생하여 이 데이터에 할당한다. 여기서, d-id는 데이터를 식별하기 위한 식별 번호이고, 적어도 보관 장치(100)가 동작하는 환경에서 고유한 값이다. 또한, 제어 메커니즘(30)에서, 메타데이터 포트를 통해 전달되는 정보는 메타데이터로서 취급되며, ID 발생 유닛(31)이 m-id를 발생하여 이 메타데이터에 할당한다. 여기서, m-id는 메타데이터를 식별하기 위한 식별 번호이고, 적어도 보관 장치(100)가 동작하는 환경에서 고유한 값이다. 데이터 및 메타데이터가 제어 메커니즘(30)에 임시적으로 별개로 전달될 때에도, 데이터와 메타데이터 간의 관계는 보관 장치(100) 내에서 dm-id에 의해 설정될 수 있다.In the
따라서, 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
부가적으로, 보관 장치(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
이하, 데이터와 메타데이터 간의 연관성에 대해 일 예를 이용하여 설명한다.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
그러므로, 데이터와 메타데이터 간의 관계가 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
도 4는 테이프(23) 상에 분산 기록된 데이터와 메타데이터의 조각들의 일 예를 예시한다. 예시된 바와 같이, 복수의 랩이 테이프(23) 상에 존재한다. 도 4에서, 각각의 속이 빈 화살표는 데이터와 메타데이터가 테이프(23)에 기록되는 방향을 나타내고, 각각의 속이 찬 화살표는 테이프(23)의 주행 방향이 역전됨을 나타낸다. 4 illustrates an example of pieces of data and metadata distributed and recorded on the
먼저, 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
즉, 도 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
본 실시예에서, 기록된 데이터와 메타데이터는 이동시 액세스 빈도에 기초하여 재배열된다.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
위에서 설명된 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
(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
위에서 설명된 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
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
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
도 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
테이프(23) 상의 데이터 및 메타데이터가 다른 테이프(23)로 (또는 소tm 테이프(23) 자체로) 이동되는 경우, 도 6의 dm 액세스 카운터 테이블에 도시된 액세스 빈도의 하향 순서로 dm-id에 대응하는 데이터 및 메타데이터가 테이프(23) 상에 액세스 수행 면에서 유리한 위치들에 기록된다.If data and metadata on the
액세스 빈도를 결정하는 가장 기본적인 방법은 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
그러므로, 본 실시예는 액세스 빈도를 결정하는 다음의 방법들을 채택한다.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
도 8은 데이터 이동 후 데이터 및 메타데이터를 테이프(23) 상에 배열하는 법의 일예를 예시한다. 도 4의 경우에서와 같이, 복수의 랩이 테이프(23) 상에 존 재한다. 또한, 각각의 속이 빈 화살표는 데이터 및 메타데이터가 테이프(23)에 기록되는 방향을 나타내고, 각각의 속이 찬 화살표는 테이프(23)의 주행 방향이 역전됨을 나타낸다. 이 예에서, 액세스 빈도의 하향 순서는 다음과 같다: dm02, dm03, dm01, dm04. 8 illustrates an example of how to arrange data and metadata on the
먼저, 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
즉, 데이터 이동 후, 도 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
위에서 설명된 데이터 이동 방법에서, 데이터 조각들은 본 실시예에서 계산된 액세스 빈도에 따라 배열된다. 그러므로, 실제로 빈번하게 액세스되는 데이터를 액세스하는데 필요한 시간은 감소될 수 있다.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
많은 양의 데이터를 저장하기 위한 계층형 기억 장치를 구현하는 방법으로 서, 디지털 데이터를 저장하는 보관 시스템은 테이프(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
위에서 설명된 예에서, 이동 소스의 역할을 하는 테이프(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 "
이제 다른 배열 방법에 대해 설명한다. 여기서 설명될 배열 방법에서, 데이터는 테이프 매체의 특성 상 테이프(23) 상에 재배열된다. 구체적으로, 이 배열 방법에서, 빈번하게 액세스되는 데이터는 테이프(23)가 장착된 후 쉽게 액세스 가능한 위치에 배열된다.Now let's talk about another arrangement. In the arrangement method to be described herein, the data is rearranged on the
테이프 기억 장치의 특성들은 데이터 판독 준비로서 수행되는 다음의 동작들을 포함한다.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
즉, 카트리지의 장착 직후, 기억 장치의 헤드가 테이프(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
도 9(a)는 개방 선형 테이프(linear tape-open; LTO) 규격에 기초한 테이프(23)에 대한 데이터의 정상적인 판독 및 기록을 예시한다. 9 (a) illustrates a normal reading and writing of data for
먼저, 화살표(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
이와 같이, LTO에서, 헤드는 테이프(23) 상에 정의된 랩으로 불리는 복수의 데이터 기억 영역 상에서, 테이프(23)의 시작 부분으로부터 끝 부분까지 왕복하면서 데이터를 테이프(23)에 대해 판독 또는 기록한다. 데이터 조각들이 순차적으로 테이프(23)에 대해 판독 또는 기록될 때, 헤드는 위에서 설명된 바와 같이 랩 상에서 왕복한다. 그러나, 헤드가 한 랩으로부터 다른 랩으로의 전환을 위해 테이프(23)의 폭을 가로질러 이동하는 기계적 동작이 짧은 시간에 완료된다. 그러므로, 이 LTO 포맷에서도, 테이프(23)의 시작 부분 가까이에 위치된 데이터는 테이프(23)의 끝 부분 가까이에 위치된 데이터보다 빠르게 액세스될 수 있다.As such, in the LTO, the head reads or writes data to and from the
따라서, 빈번하게 액세스되는 데이터는 테이프(23)의 시작 부분 가까이에 배열되고 덜 빈번하게 액세스되는 데이터는 테이프(23)의 끝 부분 가까이에 배열되는 것이 바람직하다. 여기서, 테이프(23)의 시작 부분은 제1 단부의 일예이고, 테이프(23)의 끝 부분은 제2 단부의 일예이다.Thus, data that is frequently accessed is arranged near the beginning of the
일부 테이프 기억 장치들은 분할(segmentation)이라고 하는 기능을 구현한다. 분할은 테이프(23)를 복수의 세그먼트로 분할하고, 데이터를 제1 세그먼트에서부터 시작해서 테이프에 순차적으로 기록하는 방법이다. 여기서, 세그먼트는 테이프(23)를 길이 방향으로 적어도 한 위치에서 분할함으로써 형성되는 예시적인 영역이다.Some tape storage devices implement a function called segmentation. The division is a method of dividing the
도 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
다음에, 화살표(220)로 나타낸 바와 같이, 헤드의 위치는 랩 #0의 세그먼트 #2로 이동한다. 다음에, 화살표(221)로 나타낸 바와 같이 랩 #0의 세그먼트 #2에 대해 데이터를 우측으로 판독 또는 기록한 후에, 테이프(23)의 주행 방향은 화살표(222)로 나타낸 바와 같이 역전된다. 다음에, 랩 #1의 세그먼트 #2에 대해 좌측으로 판독 또는 기록한 후에, 테이프(23)의 주행 방향은 화살표(223)로 나타낸 바와 같이 역전된다. 다음에, 랩 #2의 세그먼트 #2에 대해 데이터를 우측으로 판독 또는 기록한 후에, 테이프(23)의 주행 방향은 화살표(224)로 나타낸 바와 같이 역전된다. 다음에, 화살표(225)로 나타낸 바와 같이, 데이터는 랩 #55의 세그먼트 #2에 대해 데이터를 좌측으로 판독 또는 기록된다.Next, as indicated by
위에서 설명된 바와 같이, 세그먼트 #1에 대한 액세스 속도는 세그먼트 #2에 대한 액세스 속도보다 빠르다. 3 개 이상의 세그먼트들이 존재할 때, 테이프(23)의 시작 부분에 더 가까운 세그먼트에 대한 액세스 속도는 일반적으로 테이프(23)의 끝 부분에 더 가까운 세그먼트에 대한 액세스 속도보다 빠르다.As described above, the access speed for
그러므로, 데이터가 위에서 설명된 특성을 이용하여 테이프(23)로 이동될 때, 빈번하게 액세스되는 데이터 및 메타데이터는 테이프(23)의 시작 부분에 더 가까운 세그먼트에 배열되고, 덜 빈번하게 액세스되는 데이터 및 메타데이터는 테이프(23)의 끝 부분에 더 가까운 세그먼트에 배열되는 것이 바람직하다. 여기서, 테이프(23)의 시작 부분에 더 가까운 세그먼트는 제1 단부의 일예이고, 테이프(23)의 끝 부분에 더 가까운 세그먼트는 제2 단부의 일예이다.Therefore, when data is moved to
도 10은 분할을 이용하여 수행되는 데이터 이동 후에 테이프(23) 상에 배열된 데이터 및 메타데이터의 일 예이다. 도 4의 경우에서와 같이, 복수의 랩이 테이프(23) 상에 존재한다. 또한, 각각의 속이 빈 화살표는 데이터 및 메타데이터가 테이프(23)에 기록되는 방향을 나타내고, 각각의 속이 찬 화살표는 테이프(23)의 주행 방향이 역전됨을 나타낸다. 이 예에서, 액세스 빈도의 하향 순서는 다음과 같다: dm02, dm03, dm01, dm04.FIG. 10 is an example of data and metadata arranged on the
먼저, 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
다음에, 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
즉, 데이터 이동 후에, 도 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
여기서는 하나의 목적지 테이프(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
이와 같이, 복수의 목적지 테이프(23)들을 위에서 설명된 바와 같이 준비함으로써, 보다 큰 메모리 공간을 제공하고, 높은 액세스 성능을 가진 세그먼트 #1에 기록될 수 있는 데이터 및 메타데이터의 양을 증가시키는 것이 가능하다. 이는 짧은 시간에 액세스될 수 있는 데이터 및 메타데이터의 양이 증가됨을 의미한다.As such, by preparing the plurality of
또한, 이 방법의 경우, 목적지 테이프(23)들의 수 및 세그먼트들을 정의하는 방식을 변경함으로써, 목적지 테이프(23) 상의 데이터를 액세스하는 빈도에 따라 적절한 메모리 공간을 제공하는 것이 가능하다. 예컨대, 적은 양의 빈번하게 액세스되는 데이터만이 존재될 때, 제1 세그먼트는 테이프(23)의 시작 부분 가까이에 위치되도록 정의될 수 있다. 많은 양의 빈번하게 액세스되는 데이터가 존재할 때에는, 목적지 테이프(23)들의 수가 증가될 수 있고, 또는 제1 세그먼트는 필요한 경우 크게 정의될 수 있다. 액세스 주파수가 달라지는 경우, 세그먼트들의 수를 증가시키는 것이 가능할 수 있어, 데이터 조각들이 액세스 빈도에 기초하여 함께 그룹화되어 적절한 세그먼트들에 기록될 수 있다.Also in the case of this method, by changing the number of
위에서 설명된 데이터 이동 방법에서, 본 실시예에서 계산된 액세스 빈도에 따라 데이터 조각들이 배열된다. 그러므로, 실제로 빈번하게 액세스되는 개별 데 이터 조각들에 대한 액세스 성능을 향상시키는 것이 가능하다. 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
데이터 및 메타데이터를 판독함에 있어 액세스 성능에 기초하는 데이터 및 메타데이터 배열 방법에 대해 설명한다. 그러나, 데이터 및 메타데이터를 판독함에 있어 액세스 성능에 기초하지 않은 배열 방법이 채택될 수도 있다.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
도 11은 테이프 드라이브(10)의 제어기(16)의 예시적 기능 구성을 예시한 블록도이다.11 is a block diagram illustrating an exemplary functional configuration of the
예시된 바와 같이, 제어기(16)는 명령 처리 유닛(61), 버퍼 관리 유닛(62), 채널 입/출력 유닛(63), 카트리지 메모리 입/출력 유닛(이하, "CM 입/출력 유닛"이라고 함)(64), 빈도 계산 유닛(65), 이동 제어 유닛(66), 헤드 위치 관리 유닛(67), 및 테이프 주행 관리 유닛(68)을 포함한다. As illustrated, the
명령 처리 유닛(61)은 호스트 I/F(11)로부터 명령을 수신한다. 명령의 예로는, 버퍼(12)에 데이터를 저장하라는 기록 명령, 버퍼(12)에 저장된 데이터를 테이프(23)에 기록하라는 동기화 명령, 및 테이프(23)로부터 데이터를 판독하라는 판독 명령을 들 수 있다.The
명령 처리 유닛(61)이 기록명령을 수신하면, 버퍼 관리 유닛(62)은 버퍼(12)에 데이터를 준비한다. 명령 처리 유닛(61)이 동기화 명령을 수신하면, 버퍼 관리 유닛(62)은 버퍼(12)로부터 데이터를 판독하고, 데이터를 채널 입/출력 유닛(63)에 출력한다. 명령 처리 유닛(61)이 판독 명령을 수신하는 경우, 버퍼(12)에 대응 데이터가 존재하지 않으면, 버퍼 관리 유닛(62)은 채널 입/출력 유닛(63)에게 대응 데이터를 판독할 것을 지시한다. 버퍼(12)에 대응 데이터가 존재하면, 버퍼 관리 유닛(62)은 명령 처리 유닛(61)을 통해 대응 데이터를 호스트(200)에 제공한다.When the
채널 입/출력 유닛(63)은 버퍼 관리 유닛(62)에 의해 버퍼(12)로부터 판독된 데이터를 채널(13)에 출력한다. 또한, 채널 입/출력 유닛(63)은 채널(13)로부터 수신된 데이터를 버퍼 관리 유닛(62)에 출력한다.The channel input / output unit 63 outputs the data read from the
CM 입/출력 유닛(64)은 CM I/F(19)를 통해, 카트리지 메모리(24)에 저장된 dm 액세스 빈도 카운터 테이블에 정보를 기록하고, dm 액세스 카운터 테이블로부터 CM IF(19)를 통해 정보를 판독한다. 본 실시예에서, CM 입/출력 유닛(64)은 각각 의 데이터가 제1 기록 매체에 기록된 후에 제1 기록 매체로부터 어떤 데이터가 판독된 횟수를 나타내는 제1 정보, 및 제1 기록 매체로부터 데이터가 판독된 횟수를 나타내는 제2 정보를 획득하는 획득 유닛의 일 예로서, 그리고 또한 제1 정보 및 제2 정보를 갱신하는 갱신 유닛의 일예로서 제공된다.The CM input /
CM 입/출력 유닛(64)에 의해 판독된 정보에 기초하여, 빈도 계산 유닛(65)은 각각의 DM에 대한 액세스 빈도를 계산한다. 본 실시예에서, 빈도 계산 유닛(65)은 각각의 데이터에 대한 액세스 빈도를 추적하는 추적 유닛의 일예로서 제공된다.Based on the information read by the CM input /
이동 제어 유닛(66)은 빈도 계산 유닛(65)에 의해 계산된 액세스 빈도에 기초하여 데이터 이동을 제어한다. 즉, 이동 제어 유닛(66)은 버퍼 관리 유닛(62)에게 액세스 빈도의 하향 순서로 소소 테이프(23)로부터 데이터 및 메타데이터의 조각들을 판독하고 데이터 및 메타데이터의 조각들을 목적지 테이프(23)에 기록할 것을 지시한다. 이와 같이, 데이터 및 메타데이터의 조각들은 액세스 빈도의 하향 순서로 목적지 테이프(23)에 순차 기록된다. 이는 이동 제어 유닛(66)이 목적지 테이프(23) 상에서 데이터 및 메타데이터 각각의 조각들의 위치를 결정함을 의미한다. 즉, 본 실시예에서, 이동 제어 유닛(66)은 제2 기록 매체 내의 각각의 데이터의 기록 위치를 결정하는 결정 유닛의 일예로서 제공된다.The
헤드 위치 관리 유닛(67)은 테이프(23)의 폭 방향으로 테이프(23)에 상대적인 기록 헤드(14a) 및 판독 헤드(14b)의 위치를 오프셋하기 위한 신호를 헤드 위치 제어 시스템(17)에 출력한다. 또한, 헤드 위치 관리 유닛(67)은 테이프(23)의 폭 방향에서 기록 헤드(14a) 및 판독 헤드(14b)의 현재 위치에 관한 정보를 획득한다. The head
테이프 주행 관리 유닛(68)은 테이프(23)를 순방향으로 주행시키는 신호 및 테이프(23)를 역 방향으로 주행시키는 신호를 모터 구동기(18)에 출력한다.The tape travel management unit 68 outputs a signal for driving the
다음에, 본 실시예에서 테이프 드라이브(10)의 동작에 대해 상세히 설명한다.Next, the operation of the
먼저, 기록 명령이 호스트(200)로부터 전송될 때 테이프 드라이브(10)가 동작하는 법에 관해 설명한다.First, a description will be given of how the
호스트(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
도 12는 테이프 드라이브(10)의 제어기(16)에 의해 여기서 수행되는 예시적인 동작을 예시하는 플로 차트이다.12 is a flow chart illustrating exemplary operations performed here by the
제어기(16)에서, 먼저, 명령 처리 유닛(61)은 호스트 I/F(11)를 통해 dm-id, d-id, m-id, 데이터 및 메타데이터와 함께 기록 명령을 수신한다(단계 S601). 다 음에, dm-id, d-id, m-id, 데이터 및 메타데이터는 버퍼 관리 유닛(62)에 전달되고, 버퍼 관리 유닛(62)에 의해 버퍼(12)에 저장된다.In the
다음에, 제어기(16)는 데이터 및 메타데이터를 테이프 드라이브(10)에 로딩된 카트리지(20) 내의 테이프(23)에 기록한다(단계 S602).Next, the
구체적으로, 버퍼 관리 유닛(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
채널 입/출력 유닛(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
다음에, 카트리지 메모리(24)에 저장된 dm 액세스 카운터 테이블에서, 제어기(16)는 dm-id에 대응하는 엔트리를 생성한다(단계 S603).Next, in the dm access counter table stored in the
구체적으로, 버퍼 관리 유닛(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
다음에, 판독 명령이 호스트(200)로부터 전송될 때 테이프 드라이브(10)가 동작하는 법에 관해 설명한다. 여기서, 데이터 및 메타데이터를 판독하기 위한 요청이 호스트(200)로부터 수신될 때마다, 데이터 및 메타데이터가 판독될 카트리지(20)가 테이프 드라이브(10)에 장착된다.Next, a description will be given of how the
호스트(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
도 13은 테이프 드라이브(10)의 제어기(16)에 의해 여기서 수행되는 예시적인 동작을 예시하는 플로 차트이다.13 is a flowchart illustrating an example operation performed here by the
제어기(16)에서, 먼저, 명령 처리 유닛(61)은 호스트 I/F(11)를 통해 dm-id, d-id, 및 m-id와 함께 판독 명령을 수신한다(단계 S621). 다음에, dm-id, d-id, 및 m-id는 버퍼 관리 유닛(62)에 전달된다.In the
다음에, 제어기(16)는 d-id에 대응하는 데이터 및 m-id에 대응하는 메타데이터를 테이프 드라이브(10)에 로딩된 카트리지(20)의 테이프(23)로부터 판독한다(단계 S622).Next, the
구체적으로, 버퍼 관리 유닛(62)으로부터의 명령에 따라, 헤드 위치 관리 유닛(67)은 테이프(23)의 폭 방향에서 판독 헤드(14b)의 위치를 조절하도록 헤드 위치 제어 시스템(17)을 제어한다. 또한, 버퍼 관리 유닛(62)으로부터의 명령에 따라, 테이프 주행 관리 유닛(68)은 테이프(23)를 주행시키도록 모터 구동기(18)를 제어한다.Specifically, in accordance with an instruction from the buffer management unit 62, the head
동시에, 채널 입/출력 유닛(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
다음에, 제어기(16)는 카트리지 메모리(24)에 저장된 dm 액세스 카운터 테이블을 갱신한다. 갱신 프로세스는 CM 입/출력 유닛(64)이 CM I/F(19)를 통해 카트리지 메모리(24)로부터 CM 입/출력 유닛(64)의 메모리 영역으로 dm 액세스 카운터 테이블을 판독할 때 시작된다.The
갱신 프로세스에서는, 먼저, 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 /
다음에, 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 /
다음에, CM 입/출력 유닛(64)은 dm 액세스 카운터 테이블로부터 판독된 레코드가 마지막 레코드인지를 결정한다(단계 S629). 레코드가 마지막 레코드가 아니면, 단계 S623 내지 S628은 다음 레코드에 대해 반복된다. 레코드가 마지막 레코드이면 프로세스는 종료된다.Next, the CM input /
다음에, dm 액세스 카운터 테이블이 위에서 설명된 바와 같이 갱신된 어떤 시점에서, 테이프 드라이브(10)는 데이터 이동을 위한 프로세싱을 수행한다.Next, at some point when the dm access counter table is updated as described above, the
도 14는 테이프 드라이브(10)의 제어기(16)에 의해 여기서 수행되는 예시적인 동작을 예시하는 플로 차트이다. 다음의 설명은 도 10에 예시된 방식과 같은 방식으로 목적지 테이프(23) 상에 데이터 및 메타데이터 조각들이 배열된다는 가정에 기초로 한다.14 is a flowchart illustrating an example operation performed here by the
테이프 드라이브(10)에서, 먼저, CM 입/출력 유닛(64)은 CM I/F(19)를 통해 카트리지 메모리(24)로부터 dm 액세스 카운터 테이블을 판독하고, dm 액세스 카운터 테이블을 빈도 계산 유닛(65)에 전달한다(단계 S641).In the
빈도 계산 유닛(65)은 위에서 설명된 제1 또는 제2 결정 방법을 이용하여 각각의 dm-id에 대한 액세스 빈도를 계산하고, 액세스 빈도의 하향 순서로 dm 액세스 카운터 테이블에서 레코드들을 재배열하며, 재배열 후 dm 액세스 카운터 테이블을 이동 제어 유닛(66)에 전달한다(단계 S642).The
따라서, 이동 제어 유닛(66)은 데이터를 한 테이프(23)로부터 다른 테이 프(23)로 이동시킨다.Thus, the
즉, 이동 제어 유닛(66)은 재배열 후 dm 액세스 카운터 테이블로부터 하나의 레코드를 판독하고, 판독된 레코드를 버퍼 관리 유닛(62)에 전달한다(단계 S643). 버퍼 관리 유닛(62)은 소스 테이프(23)로부터, 판독된 레코드에 포함된 dm-id에 대응하는 데이터 및 메타데이터를 판독한다(단계 S644).That is, the
구체적으로, 버퍼 관리 유닛(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
다음에, 버퍼 관리 유닛(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
버퍼 관리 유닛(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
반면에, 데이터 및 메타데이터가 현재 랩에 기록될 수 없다고 결정되면, 현재 랩이 마지막 랩인지를 결정한다(단계 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
현재 랩이 마지막 랩이 아니면, 랩은 다른 랩으로 전환되고(단계 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
현재 랩이 마지막 랩이면, 랩은 다음 세그먼트의 랩 #1로 전환되고(단계 S648), 데이터 및 메타데이터는 목적지 테이프(23)에 기록된다(단계 S649). 세그먼트의 전환은 테이프 주행 관리 유닛(68)의 제어 하에서 모터 구동기(18)에 의해 행해지고, 랩의 전환은 헤드 위치 관리 유닛(67)의 제어 하에서 헤드 위치 제어 시스템(17)에 의해 행해진다.If the current lap is the last lap, the lap is switched to
다음에, 이동 제어 유닛(66)은 dm 액세스 카운터 테이블로부터 판독된 레코드가 마지막 레코드인지를 결정한다(단계 S650). 레코드가 마지막 레코드가 아니면, 단계 S643 내지 S649가 다음 레코드에 대해 반복된다. 레코드가 마지막 레코드이면 프로세스는 종료된다.Next, the
위에서 설명된 예시적인 동작에서, 데이터 이동은 두 카트리지(20)가 동시에 로딩될 수 있는 테이프 드라이브(10)에서 수행됨으로써, 한 카트리지(20)를 다른 카트리지로 대체할 필요가 없다. 대안으로, 이러한 데이터 이동의 제어는 제어 메커니즘(30)에 의해 수행될 수 있다. 이 경우에, 제어 메커니즘(30)은 데이터 이동을 수행하도록 테이프 드라이브(10)를 제어할 수 있으며, 두 테이프 드라이브(10)는 각각 하나의 카트리지(20)만을 수용할 수 있다.In the exemplary operation described above, data movement is performed in a
본 발명은 하드웨어만으로, 또는 소프트웨어만으로, 또는 하드웨어와 소프트웨어로 실현될 수 있다. 본 발명은 컴퓨터, 데이터 처리 시스템, 및 컴퓨터 시스템으로서 구현될 수 있다. 컴퓨터 프로그램은 컴퓨터 판독가능 매체에 저장되어 제어될 수 있다. 매체는 전자 매체, 자기 매체, 광학 매체, 전자기 매체, 적외선 매체, 또는 반도체 시스템(또는 장치 또는 기기), 또는 전파 매체일 수 있다. 컴퓨터 판독 가능 매체의 예로는, 반도체 또는 고체 메모리, 자기 테이프, 제거가능 컴퓨터 디스켓, 랜덤 액세스 메모리(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)
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)
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)
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 |
-
2008
- 2008-12-25 JP JP2008329430A patent/JP5106377B2/en not_active Expired - Fee Related
-
2009
- 2009-11-26 KR KR1020090115072A patent/KR101171439B1/en active IP Right Grant
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 |