JP2017049817A - Storage device and control program - Google Patents

Storage device and control program Download PDF

Info

Publication number
JP2017049817A
JP2017049817A JP2015172715A JP2015172715A JP2017049817A JP 2017049817 A JP2017049817 A JP 2017049817A JP 2015172715 A JP2015172715 A JP 2015172715A JP 2015172715 A JP2015172715 A JP 2015172715A JP 2017049817 A JP2017049817 A JP 2017049817A
Authority
JP
Japan
Prior art keywords
block number
recording medium
control unit
drive
access
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2015172715A
Other languages
Japanese (ja)
Inventor
芳明 越智
Yoshiaki Ochi
芳明 越智
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015172715A priority Critical patent/JP2017049817A/en
Publication of JP2017049817A publication Critical patent/JP2017049817A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To properly resume access to a recording medium.SOLUTION: Drives 1a, 1b can store a cartridge 3, and can access a recording medium 3a with a block number larger than an upper limit of a block number by a bit number managed by an information processor 2. When the drive 1a performs write to a block number larger than the upper limit in the recording medium 3a, a control part 1c stores management information showing that the write is performed in a memory 3b. The control part 1c executes access to the recording medium 3a on the basis of the management information stored in the memory 3b.SELECTED DRAWING: Figure 1

Description

本発明はストレージ装置および制御プログラムに関する。   The present invention relates to a storage apparatus and a control program.

コンピュータなどの情報処理装置で扱われるデータを、情報処理装置の外部に取り出せる記録媒体に記録するストレージ装置が利用されている。例えば、データを書込んだ記録媒体を保管し、当該データのバックアップとして利用できる。記録媒体には、磁気テープ媒体や光ディスク媒体などがある。記録媒体は、取扱いの便利のためカートリッジ(cartridge)と呼ばれるケースに収納されていることが多い。記録媒体に記録可能なデータ量は、記録媒体自体の容量の他、情報処理装置で実行される記録処理用のソフトウェアの仕様により制限されることがある。   Storage devices that record data handled by an information processing apparatus such as a computer on a recording medium that can be taken out of the information processing apparatus are used. For example, a recording medium in which data is written can be stored and used as a backup of the data. Examples of the recording medium include a magnetic tape medium and an optical disk medium. The recording medium is often stored in a case called a cartridge for convenience of handling. The amount of data that can be recorded on the recording medium may be limited by the specifications of the recording processing software executed by the information processing apparatus in addition to the capacity of the recording medium itself.

ところで、ストレージ装置では動作異常により、記録媒体に対するデータの書込みや読出しのアクセスでエラーが発生することがある。そこで、仮にアクセスエラーが発生してもアクセスを続行可能にする方法が考えられている。   By the way, in a storage device, an error may occur in data write / read access to a recording medium due to an abnormal operation. Therefore, a method has been considered that allows access to continue even if an access error occurs.

例えば、磁気テープ媒体へのデータの書込みに対して、動的デバイス再配置(DDR:Dynamic Device Reconfiguration)と呼ばれるリカバリ方法が提案されている。DDRでは、磁気テープ媒体へのデータの書込み中に磁気テープ装置でエラーが発生すると、磁気テープ装置がエラー発生時の書込み位置を示すブロック番号を上位装置に報告する。そして、例えば、オペレータなどにより正常なドライブに磁気テープ媒体が移されると、上位装置は、移し先のドライブを用いて、報告されたブロック番号を起点に、未書込みのデータを磁気テープ媒体に追記する。   For example, a recovery method called dynamic device reconfiguration (DDR) has been proposed for writing data to a magnetic tape medium. In DDR, when an error occurs in the magnetic tape device while data is being written to the magnetic tape medium, the magnetic tape device reports the block number indicating the write position at the time of the error to the host device. For example, when the magnetic tape medium is moved to a normal drive by an operator or the like, the higher-level device appends unwritten data to the magnetic tape medium using the reported block number as the starting point using the destination drive. To do.

この提案では、磁気テープ装置が、上位装置で管理可能なブロック番号よりも大きなブロック番号にデータを書込むことも考えられている。すると、上位装置側のソフトウェアの仕様により、磁気テープ媒体の全ての記憶領域を上位装置側で認識できなくても、磁気テープ媒体の利用可能な容量を増やせる。DDR時は、磁気テープ装置が、自身で管理する複数のブロック番号を、上位装置側で管理可能な1つのブロック番号に対応付ける。磁気テープ装置は、エラー発生時、上位装置側で管理可能な範囲内のブロック番号を上位装置に報告する。これにより、DDR時の上位装置側への影響を抑えてDDRを行える。   In this proposal, it is also considered that the magnetic tape device writes data in a block number larger than the block number manageable by the host device. Then, the usable capacity of the magnetic tape medium can be increased even if all the storage areas of the magnetic tape medium cannot be recognized by the upper apparatus side due to the software specification of the upper apparatus side. At the time of DDR, the magnetic tape device associates a plurality of block numbers managed by itself with one block number that can be managed by the host device. When an error occurs, the magnetic tape device reports block numbers within a range that can be managed by the host device to the host device. Thereby, it is possible to perform DDR while suppressing the influence on the host device side during DDR.

なお、テープ状の記録媒体と半導体メモリをカセットに備え、カセットに収められたテープに記録した情報に関する情報(記録プログラム名や検索のためのアドレス番号など)をカセットが備える半導体メモリに記録する提案がある。   Proposal that the cassette has a tape-shaped recording medium and a semiconductor memory, and information (information such as recording program name and address number for searching) recorded on the tape stored in the cassette is recorded in the semiconductor memory provided in the cassette There is.

国際公開第2012/042661号International Publication No. 2012/042661 特開平5−258528号公報JP-A-5-258528

上記提案のように、例えば、ストレージ装置が、上位装置で管理可能なブロック番号よりも大きなブロック番号にデータを書込むことで、上位装置のソフトウェアに起因する記録媒体の使用容量の制限を緩和し得る。このとき、上記のように、ストレージ装置が、ストレージ装置で管理可能な複数のブロック番号を、上位装置で管理可能な1つのブロック番号に対応付けることで、DDRを行うことが考えられる。しかし、この方法では、ストレージ装置側で保持するブロック番号の対応関係に依存することになり、当該対応関係を保持していないストレージ装置ではDDRによる記録媒体へのアクセス再開を適切に行えない。そこで、ストレージ装置側で保持する情報に依存せずに、記録媒体へのアクセス再開を適切に実行可能にする仕組みをどのようにして実現するかが問題となる。   As described above, for example, the storage device writes data to a block number that is larger than the block number that can be managed by the host device, thereby relaxing the restriction on the usage capacity of the recording medium caused by the software of the host device. obtain. At this time, as described above, the storage apparatus may perform DDR by associating a plurality of block numbers that can be managed by the storage apparatus with one block number that can be managed by the host apparatus. However, this method depends on the correspondence relationship between the block numbers held on the storage device side, and the storage device that does not hold the correspondence relationship cannot properly resume the access to the recording medium by DDR. Therefore, there is a problem of how to realize a mechanism that can appropriately resume the access to the recording medium without depending on the information held on the storage device side.

1つの側面では、本発明は、記録媒体に対するアクセス再開を適切に行えるストレージ装置および制御プログラムを提供することを目的とする。   In one aspect, an object of the present invention is to provide a storage apparatus and a control program that can appropriately resume access to a recording medium.

1つの態様では、記録媒体に対するアクセス先の位置を示すブロック番号を所定のビット数で管理する情報処理装置と接続されるストレージ装置が提供される。このストレージ制御装置は、ドライブと制御部とを有する。ドライブは、記録媒体と当該記録媒体とは異なるメモリとを備えたカートリッジを収納可能であり、当該ビット数によるブロック番号の上限よりも大きなブロック番号により記録媒体にアクセス可能である。制御部は、ドライブにより記録媒体に対して上限よりも大きなブロック番号への書込みを行うと、当該書込みが行われたことを示す管理情報をメモリに格納し、メモリに記憶された管理情報に基づいて、記録媒体のアクセスを実行する。   In one aspect, a storage apparatus connected to an information processing apparatus that manages a block number indicating a position of an access destination for a recording medium with a predetermined number of bits is provided. This storage control device has a drive and a control unit. The drive can store a cartridge including a recording medium and a memory different from the recording medium, and can access the recording medium with a block number larger than the upper limit of the block number according to the number of bits. When writing to the block number larger than the upper limit for the recording medium by the drive, the control unit stores management information indicating that the writing has been performed in the memory, and based on the management information stored in the memory The recording medium is accessed.

また、1つの態様では、コンピュータによって実行される制御プログラムが提供される。この制御プログラムは、記録媒体に対するアクセス先の位置を示すブロック番号を所定のビット数で管理する情報処理装置と接続されるストレージ装置が備えるコンピュータに、記録媒体と当該記録媒体とは異なるメモリとを備えたカートリッジを収納可能であり当該ビット数によるブロック番号の上限よりも大きなブロック番号により記録媒体にアクセス可能なドライブにより記録媒体に対して上限よりも大きなブロック番号への書込みを行うと、当該書込みが行われたことを示す管理情報をメモリに格納し、メモリに記憶された管理情報に基づいて、記録媒体のアクセスを実行する、処理を実行させる。   In one aspect, a control program executed by a computer is provided. The control program stores a recording medium and a memory different from the recording medium in a computer included in a storage apparatus connected to an information processing apparatus that manages a block number indicating a position of an access destination for the recording medium with a predetermined number of bits. If writing to a block number larger than the upper limit is performed on the recording medium by a drive that can store the cartridge provided and can access the recording medium by a block number larger than the upper limit of the block number by the number of bits, the writing The management information indicating that the recording has been performed is stored in the memory, and based on the management information stored in the memory, the process of accessing the recording medium is executed.

1つの側面では、記録媒体に対するアクセス再開を適切に行える。   In one aspect, it is possible to appropriately resume access to the recording medium.

第1の実施の形態のストレージ装置を示す図である。It is a figure which shows the storage apparatus of 1st Embodiment. 第2の実施の形態の情報処理システムの例を示す図である。It is a figure which shows the example of the information processing system of 2nd Embodiment. テープ装置のハードウェア例を示す図である。It is a figure which shows the hardware example of a tape apparatus. サーバのハードウェア例を示す図である。It is a figure which shows the hardware example of a server. テープ装置の機能例を示す図である。It is a figure which shows the function example of a tape apparatus. DDRに用いられるコマンドのパラメータ例を示す図である。It is a figure which shows the parameter example of the command used for DDR. アクセス可能なブロック番号の上限の例を示す図である。It is a figure which shows the example of the upper limit of the block number which can be accessed. モード管理テーブルの例を示す図である。It is a figure which shows the example of a mode management table. CMに格納される情報の例を示す図である。It is a figure which shows the example of the information stored in CM. モード報告処理の例を示すフローチャートである。It is a flowchart which shows the example of a mode report process. 書込み時ブロック番号管理処理の例を示すフローチャートである。It is a flowchart which shows the example of a block number management process at the time of writing. 読出し時ブロック番号管理処理の例を示すフローチャートである。It is a flowchart which shows the example of the block number management process at the time of reading. エラー時ブロック番号報告処理の例を示すフローチャートである。It is a flowchart which shows the example of an error time block number report process. カートリッジ確認処理の例を示す図である。FIG. 10 is a diagram illustrating an example of cartridge confirmation processing. 位置付け処理の例を示す図である。It is a figure which shows the example of the positioning process. EX36TRKモードでの書込み時のシーケンス例を示す図である。It is a figure which shows the example of a sequence at the time of the writing in EX36TRK mode. DDRの他の例を示す図である。It is a figure which shows the other example of DDR.

以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態のストレージ装置を示す図である。ストレージ装置1は、情報処理装置2に接続されている。ストレージ装置1は、情報処理装置2とネットワークを介して接続されてもよい。ストレージ装置1には、カートリッジ3を収納可能である。カートリッジ3は、記録媒体3aおよびメモリ3bを有する。
Hereinafter, the present embodiment will be described with reference to the drawings.
[First Embodiment]
FIG. 1 illustrates a storage apparatus according to the first embodiment. The storage device 1 is connected to the information processing device 2. The storage device 1 may be connected to the information processing device 2 via a network. The storage device 1 can store the cartridge 3. The cartridge 3 has a recording medium 3a and a memory 3b.

ストレージ装置1は、情報処理装置2による指示に応じて、記録媒体3aに対するアクセス(データの書込みやデータの読出し)を行う。記録媒体3aは、例えば、磁気テープ媒体である。例えば、情報処理装置2の処理に用いられるデータを記録媒体3aに記録しておくことで、記録したデータを業務データのバックアップとして利用できる。メモリ3bは、例えば、フラッシュメモリなどの書き換え可能な不揮発性の記憶装置である。メモリ3bは、カートリッジ3に備えられているため、カートリッジメモリと呼ばれることもある。   In response to an instruction from the information processing device 2, the storage device 1 accesses the recording medium 3a (data writing or data reading). The recording medium 3a is, for example, a magnetic tape medium. For example, by recording data used for processing of the information processing apparatus 2 in the recording medium 3a, the recorded data can be used as a backup of business data. The memory 3b is a rewritable nonvolatile storage device such as a flash memory, for example. Since the memory 3b is provided in the cartridge 3, it may be called a cartridge memory.

ここで、情報処理装置2は、記録媒体3aに対するアクセス先の位置を示すブロック番号を第1のビット数で管理する。説明を容易化するため、一例として、第1のビット数を4とする。すると、管理可能なブロック番号の範囲は、“0b0000”から“0b1111”まで(すなわち、“0”から“7”まで)となる。ここで、プレフィクス“0b”は後続の数値または数値列が2進数表記であることを示す(プレフィクスがない場合は10進数表記である)。例えば、1ブロック番号当たりに記録可能なデータのサイズ(ブロックサイズ)は32KB(キロバイト)である。この場合、情報処理装置2によって認識可能な記録媒体3aの総記憶容量は、32KB×8=256KBである。   Here, the information processing apparatus 2 manages the block number indicating the position of the access destination for the recording medium 3a with the first number of bits. For ease of explanation, the first number of bits is assumed to be 4 as an example. Then, the manageable block number range is from “0b0000” to “0b1111” (that is, from “0” to “7”). Here, the prefix “0b” indicates that the subsequent numerical value or numerical value sequence is expressed in binary (when there is no prefix, it is expressed in decimal). For example, the size of data that can be recorded per block number (block size) is 32 KB (kilobytes). In this case, the total storage capacity of the recording medium 3a that can be recognized by the information processing apparatus 2 is 32 KB × 8 = 256 KB.

ストレージ装置1は、ドライブ1a,1bおよび制御部1cを有する。ドライブ1a,1bは、カートリッジ3を収納可能である。ドライブ1aを第1のドライブ、ドライブ1bを第2のドライブということもできる。例えば、ドライブ1aは、カートリッジ3が収納されると、記録媒体3aに対するアクセスが可能となる。ドライブ1a,1bは、第1のビット数よりも大きな第2のビット数で表わされるブロック番号により、記録媒体3aに対するアクセスを行える。すなわち、ドライブ1a,1bでは、情報処理装置2で管理されるブロック番号の範囲の上限を超えたブロック番号により、記録媒体3aのアクセス位置を特定できる。   The storage device 1 includes drives 1a and 1b and a control unit 1c. The drives 1 a and 1 b can store the cartridge 3. The drive 1a can also be called a first drive, and the drive 1b can be called a second drive. For example, the drive 1a can access the recording medium 3a when the cartridge 3 is accommodated. The drives 1a and 1b can access the recording medium 3a with a block number represented by a second bit number larger than the first bit number. That is, in the drives 1a and 1b, the access position of the recording medium 3a can be specified by the block number exceeding the upper limit of the block number range managed by the information processing apparatus 2.

例えば、第2のビット数を6とする。すると、管理可能なブロック番号の範囲は、“0b000000”から“0b111111”(すなわち、“0”から“31”)までとなる。上記のようにブロックサイズが32KBのとき、ドライブ1a,1bによって記録媒体3aに記録可能なサイズは、32KB×32=1024KBである。すなわち、ストレージ装置1は、記録媒体3aに対し、情報処理装置2によって認識可能な領域(256KB分の領域)よりも大きな領域(1024KB分の領域)を扱える。   For example, the second number of bits is 6. Then, the manageable block number range is from “0b000000” to “0b111111” (ie, “0” to “31”). As described above, when the block size is 32 KB, the size that can be recorded on the recording medium 3 a by the drives 1 a and 1 b is 32 KB × 32 = 1024 KB. That is, the storage device 1 can handle a larger area (1024 KB area) than the area recognizable by the information processing apparatus 2 (256 KB area) for the recording medium 3a.

制御部1cは、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などを含み得る。制御部1cはプログラムを実行するプロセッサであってもよい。ここでいう「プロセッサ」には、複数のプロセッサの集合(マルチプロセッサ)も含まれ得る。   The controller 1c may include a CPU (Central Processing Unit), a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), and the like. The control unit 1c may be a processor that executes a program. As used herein, the “processor” may include a set of multiple processors (multiprocessor).

制御部1cは、ドライブ1aまたはドライブ1bに収納されたカートリッジ3の記録媒体3aに対する、情報処理装置2によるアクセスを制御する。例えば、通常、制御部1cは、記録媒体3aのアクセス位置が、第1のビット数の上限のブロック番号に相当する位置に達すると、ブロック番号が上限に達した旨を情報処理装置2に報告し、アクセスを中止させる。ただし、ドライブ1a,1bは、第1のビット数の上限のブロック番号よりも大きなブロック番号によりアクセス位置を特定可能である。このため、制御部1cは、ブロック番号が第1のビット数の上限のブロック番号に達しても、情報処理装置2に上記報告を行わずにアクセスを継続させる。本例では、制御部1cは、ブロック番号“0b1111”に相当する位置に達してもブロック番号の上限に達した旨の報告を情報処理装置2に対して行わず、ブロック番号“0b111111”に達した時点で上限に達した旨の報告を行う。すると、記録媒体3aに対し、第1のビット数の上限のブロック番号よりも大きなブロック番号に対応する位置にも位置付け可能となる。このため、記録媒体3aの利用可能な記憶容量に対し、情報処理装置2のソフトウェアで管理可能なブロック数が要因となる制限を緩和できる。   The control unit 1c controls access by the information processing apparatus 2 to the recording medium 3a of the cartridge 3 stored in the drive 1a or the drive 1b. For example, normally, when the access position of the recording medium 3a reaches a position corresponding to the upper limit block number of the first bit number, the control unit 1c reports to the information processing apparatus 2 that the block number has reached the upper limit. And stop access. However, the drives 1a and 1b can specify the access position by a block number larger than the upper limit block number of the first bit number. For this reason, even if the block number reaches the upper limit block number of the first number of bits, the control unit 1c causes the information processing apparatus 2 to continue access without performing the above report. In this example, the control unit 1c does not report to the information processing device 2 that the upper limit of the block number has been reached even if the position corresponding to the block number “0b1111” is reached, and reaches the block number “0b111111”. Report that the upper limit has been reached. Then, it is possible to position the recording medium 3a at a position corresponding to a block number larger than the upper limit block number of the first bit number. For this reason, the restriction caused by the number of blocks that can be managed by the software of the information processing apparatus 2 can be relaxed with respect to the available storage capacity of the recording medium 3a.

ところが、この場合、情報処理装置2で認識可能なブロック番号の上限を超えたブロック番号にアクセスしているタイミングでエラーが発生し得る。例えば、ドライブ1aが備える記録媒体3aに対する読み書き用のヘッドやテープのキズなどがエラー原因となり得る。DDRなどのリカバリ処理において、情報処理装置2で認識可能なブロック番号の上限を超えたブロック番号が報告されても、情報処理装置2は当該ブロック番号を適切に認識できない。このため、制御部1cは、次のようにリカバリ処理を行う。まず、ドライブ1aにカートリッジ3を収納しているとき、記録媒体3aに対するアクセスでエラーが発生すると、制御部1cは、図1(A)に示す処理を行う。   However, in this case, an error may occur at the timing when the block number exceeding the upper limit of the block number that can be recognized by the information processing apparatus 2 is accessed. For example, a head for reading / writing with respect to the recording medium 3a included in the drive 1a or a scratch on the tape may cause an error. In a recovery process such as DDR, even if a block number exceeding the upper limit of a block number that can be recognized by the information processing apparatus 2 is reported, the information processing apparatus 2 cannot properly recognize the block number. For this reason, the control part 1c performs a recovery process as follows. First, when the cartridge 3 is stored in the drive 1a, if an error occurs when accessing the recording medium 3a, the control unit 1c performs the processing shown in FIG.

まず、制御部1cは、ドライブ1aを用いて記録媒体3aに対して書込みを行う際、記録媒体3aに対して第1のビット数の上限よりも大きなブロック番号への書込みを行うと、当該書込みが行われたことを示す管理情報をメモリ3bに格納する。管理情報は、情報処理装置2の管理上限のブロック番号よりも大きなブロック番号への書込みが行われたことを示すフラグであるということもできる。   First, when writing to the recording medium 3a using the drive 1a, the controller 1c writes to the recording medium 3a to a block number larger than the upper limit of the first number of bits. Is stored in the memory 3b. It can also be said that the management information is a flag indicating that writing to a block number larger than the management upper limit block number of the information processing apparatus 2 has been performed.

その後、ドライブ1aは、ドライブ1aによる記録媒体3aへのアクセス中に、アクセスエラーが発生すると、エラーが発生したことを制御部1cに通知する。制御部1cは、第1のビット数によるブロック番号の上限よりも大きな第1のブロック番号(エラー時のブロック番号)に対するアクセスでエラーが発生したことを検出する(図1(A)(1))。例えば、第1のブロック番号は“0b111010”である。図1では、ブロック番号を“BLK(BLocK)”と略記している(図1ではBLKの値を2進数で表記している)。制御部1cは、第1のブロック番号“0b111010”を、ドライブ1aから取得可能である(図1(A)(2))。   Thereafter, when an access error occurs during access to the recording medium 3a by the drive 1a, the drive 1a notifies the control unit 1c that the error has occurred. The control unit 1c detects that an error has occurred in access to the first block number (block number at the time of error) that is larger than the upper limit of the block number by the first number of bits (FIGS. 1A and 1). ). For example, the first block number is “0b11110”. In FIG. 1, the block number is abbreviated as “BLK (BLocK)” (in FIG. 1, the value of BLK is expressed in binary). The control unit 1c can acquire the first block number “0b11110” from the drive 1a (FIGS. 1A and 2).

制御部1cは、第1のビット数で表わされる第2のブロック番号を第1のブロック番号から生成して情報処理装置2に送信する。例えば、制御部1cは、第1のビット数“4”
で表わされる第2のブロック番号“0b1010”を、第1のブロック番号“0b111010”から生成する。より具体的には、制御部1cは、第1のブロック番号“0b111010”の下位4ビット(第1のビット数分)を抽出して、第2のブロック番号“0b1010”とする。制御部1cは、第2のブロック番号“0b1010”を情報処理装置2に送信する(図1(A)(3))。制御部1cは、エラー発生の報告後、情報処理装置2から要求されたタイミングで第2のブロック番号を情報処理装置2に送信してもよいし、エラーが発生した旨の報告とともに、第2のブロック番号を情報処理装置2に送信してもよい。
The control unit 1c generates a second block number represented by the first number of bits from the first block number and transmits the second block number to the information processing device 2. For example, the control unit 1c uses the first bit number “4”.
Is generated from the first block number “0b11110”. More specifically, the control unit 1c extracts the lower 4 bits (for the first number of bits) of the first block number “0b1111010” and sets it as the second block number “0b1010”. The control unit 1c transmits the second block number “0b1010” to the information processing apparatus 2 (FIGS. 1A and 3). The control unit 1c may transmit the second block number to the information processing device 2 at a timing requested from the information processing device 2 after reporting the occurrence of the error, or may send the second block number together with the report that the error has occurred. May be transmitted to the information processing apparatus 2.

制御部1cは、第1のビット数と第1のブロック番号とに応じたオフセット値をメモリ3bに格納する(当該オフセット値を管理情報に含めてもよい)。例えば、制御部1cは、オフセット値“0b110000”をメモリ3bに格納する。より具体的には、制御部1cは、第1のブロック番号“0b111010”の上位2ビット(第1のビット数を除いた上位ビット数分)を取得し、下位4ビットを全て“0”にすることで、オフセット値“0b110000”を生成し、メモリ3bに格納する(図1(A)(4))。図1では、オフセット値を“Offset”と表記している。図1では、オフセット値を2進数で表記している。なお、図1(A)(3)および図1(A)(4)の各ステップの順序は逆でもよいし並列に行われてもよい。   The control unit 1c stores the offset value corresponding to the first bit number and the first block number in the memory 3b (the offset value may be included in the management information). For example, the control unit 1c stores the offset value “0b110000” in the memory 3b. More specifically, the control unit 1c acquires the upper 2 bits of the first block number “0b1111010” (the number of upper bits excluding the first bit number), and sets all the lower 4 bits to “0”. As a result, the offset value “0b110000” is generated and stored in the memory 3b (FIGS. 1A and 4). In FIG. 1, the offset value is expressed as “Offset”. In FIG. 1, the offset value is expressed in binary. In addition, the order of each step of FIG. 1 (A) (3) and FIG. 1 (A) (4) may be reversed, and may be performed in parallel.

その後、カートリッジ3が、ドライブ1aからドライブ1bに移し替えられる。移し替えは、例えば、システムの管理者によって行われてもよいし、ロボットによって行われてもよい。情報処理装置2は、制御部1cからのエラー時のブロック番号の報告を受け付けたことを契機に、カートリッジ3のドライブ1aからドライブ1bへの移し替えを、管理者に報知したり、カートリッジ移動用のロボットに指示したりしてもよい。また、ドライブ1bは、ドライブ1aをストレージ装置1から取り除いて、ドライブ1aが設けられていたスロットに新たに設置されたドライブでもよい。その後、制御部1cは、図1(B)に示す処理を行う。   Thereafter, the cartridge 3 is transferred from the drive 1a to the drive 1b. The transfer may be performed by a system administrator or a robot, for example. The information processing device 2 notifies the administrator of the transfer of the cartridge 3 from the drive 1a to the drive 1b, or receives the cartridge movement, when receiving the report of the block number at the time of error from the control unit 1c. You may give instructions to other robots. The drive 1b may be a drive newly installed in the slot in which the drive 1a is provided after the drive 1a is removed from the storage device 1. Thereafter, the control unit 1c performs the process shown in FIG.

制御部1cは、カートリッジ3がドライブ1bに移し替えられたことを検出すると、その旨を情報処理装置2に報告する。情報処理装置2は当該報告に対して、記録媒体3aのアクセス再開位置を示す第2のブロック番号(上記の例では“1010”)を制御部1cに通知する。制御部1cは、第2のブロック番号を情報処理装置2から受信する(図1(B)(5))。   When detecting that the cartridge 3 has been transferred to the drive 1b, the control unit 1c reports that fact to the information processing device 2. In response to the report, the information processing apparatus 2 notifies the control unit 1c of the second block number (“1010” in the above example) indicating the access resume position of the recording medium 3a. The control unit 1c receives the second block number from the information processing device 2 (FIGS. 1B and 5).

制御部1cは、メモリ3bに記憶された管理情報を検出する。これにより、制御部1cは、記録媒体3aには、情報処理装置2により管理される第1のビット数の上限よりも大きなブロック番号によりデータの書込みが行われていることを確認できる。そして、制御部1cは、メモリ3bに記憶されたオフセット値を取得する。例えば、メモリ3bに記憶されたオフセット値は“0b110000”である(図1(B)(6))。制御部1cは、第2のブロック番号とオフセット値とに基づいて、第1のブロック番号をドライブ1bに出力する。例えば、制御部1cは、第2のブロック番号とオフセット値とのOR演算を行うことで、第1のブロック番号を生成する。より具体的には、第2のブロック番号が“0b1010”であり、オフセット値が“0b110000”である場合、制御部1cは、各ビットの同じ桁同士のORをとることで、第1のブロック番号“0b111010”を生成する。当該第1のブロック番号を復元する処理は、情報処理装置2から取得した第2のブロック番号をオフセット値(いわば補正値)により補正することで、第1のブロック番号を生成する処理であるということもできる。制御部1cは、生成した第1のブロック番号“0b111010”をドライブ1bに出力する(図1(B)(7))。   The control unit 1c detects management information stored in the memory 3b. Thereby, the control part 1c can confirm that the data is written in the recording medium 3a by the block number larger than the upper limit of the first number of bits managed by the information processing apparatus 2. And the control part 1c acquires the offset value memorize | stored in the memory 3b. For example, the offset value stored in the memory 3b is “0b110000” (FIGS. 1B and 6). The control unit 1c outputs the first block number to the drive 1b based on the second block number and the offset value. For example, the control unit 1c generates the first block number by performing an OR operation between the second block number and the offset value. More specifically, when the second block number is “0b1010” and the offset value is “0b110000”, the control unit 1c takes the first block by ORing the same digits of each bit. The number “0b1111010” is generated. The process of restoring the first block number is a process of generating the first block number by correcting the second block number acquired from the information processing device 2 with an offset value (so-called correction value). You can also. The control unit 1c outputs the generated first block number “0b1111010” to the drive 1b (FIGS. 1B and 7).

すると、ドライブ1bは、第1のブロック番号“0b111010”によって記録媒体3aに対する位置付けを行える。第1のブロック番号“0b111010”は、エラー時にアクセスしていたブロック番号である。すなわち、エラー時にアクセスしていたブロック番号を直接指定して、アクセスを再開できることになる。例えば、情報処理装置2は、エラーが発生したタイミングにおけるデータから、アクセスを再開するようストレージ装置1に指示する。すると、ストレージ装置1は、第1のブロック番号に相当する位置からアクセスを再開する(図1(B)(8))。   Then, the drive 1b can be positioned with respect to the recording medium 3a by the first block number “0b1111010”. The first block number “0b1111010” is the block number accessed at the time of the error. That is, the access can be resumed by directly specifying the block number accessed at the time of the error. For example, the information processing apparatus 2 instructs the storage apparatus 1 to resume access from data at the timing when an error occurs. Then, the storage apparatus 1 resumes access from the position corresponding to the first block number (FIGS. 1B and 8).

このように、ストレージ装置1によれば、カートリッジ3をドライブ1aからドライブ1bに移し替えた後に、メモリ3bに記録された情報を基に記録媒体3aのアクセス再開位置を適切に決定できる。ストレージ装置1は、カートリッジ3が備えるメモリ3bに、アクセス再開時のブロック番号の決定に利用される情報を記録する。このため、カートリッジ3を移動させることで、アクセス再開時のブロック位置決定用の情報も移動させることができる。これにより、ストレージ装置側で保持する情報に依存せずに、ブロック番号の決定を適切に行える。   Thus, according to the storage apparatus 1, after the cartridge 3 is transferred from the drive 1a to the drive 1b, the access resuming position of the recording medium 3a can be appropriately determined based on the information recorded in the memory 3b. The storage device 1 records information used to determine a block number when resuming access in the memory 3b included in the cartridge 3. For this reason, by moving the cartridge 3, the information for determining the block position when the access is resumed can also be moved. This makes it possible to appropriately determine the block number without depending on the information held on the storage device side.

また、第1の実施の形態の方法では、アクセス再開時に、第1のブロック番号(エラー時のブロック番号)を復元でき、アクセスを再開するブロック番号を直接指定できる。このため、DDRなどのリカバリ処理を効率的に行える。例えば、ストレージ装置が、自身で管理する複数のブロック番号を、上位装置側で管理可能な1つのブロック番号に対応付ける方法も考えられるが、この方法では、アクセスを再開するブロック番号を直接指定できないことがあるからである。具体的には、実際の書込みを行わずに正常書込みしたことを上位装置(例えば、情報処理装置2)に報告するといった非効率的なアクセス(いわゆる「空書き」)が、アクセス再開時に発生し得る。他方、第1の実施の形態の方法によれば、アクセス再開時のブロック番号を直接指定でき、「空書き」のような非効率的なアクセスを行わずに済む。   In the method according to the first embodiment, when the access is resumed, the first block number (block number at the time of error) can be restored, and the block number at which the access is resumed can be directly designated. For this reason, recovery processing such as DDR can be performed efficiently. For example, a method in which the storage device associates a plurality of block numbers managed by itself with a single block number that can be managed by the host device side is also conceivable. However, this method cannot directly specify a block number for resuming access. Because there is. Specifically, an inefficient access (so-called “empty writing”) such as reporting to the higher-level device (for example, the information processing device 2) that the data has been normally written without actually writing occurs when the access is resumed. obtain. On the other hand, according to the method of the first embodiment, the block number at the time of resuming access can be directly specified, and inefficient access such as “blank writing” is not required.

ここで、メモリ3bに記録されるオフセット値は、“0”であることが明らかな下位4ビットを含まない値でもよい。例えば、図1(A)(4)において、上記のオフセット値“0b110000”に代えて、オフセット値“0b11”のみをメモリ3bに格納してもよい。この場合、制御部1cは、カートリッジ3がドライブ1bに移された後、オフセット値“0b11”に下位4ビットを付加した値と、情報処理装置2から取得したブロック番号“0b1010”とのOR演算により、第1のブロック番号“0b111010”を復元し得る。このようにして、メモリ3bの記憶容量を節約することもできる。   Here, the offset value recorded in the memory 3b may be a value that does not include the lower 4 bits that are clearly “0”. For example, in FIG. 1 (A) (4), instead of the offset value “0b110000”, only the offset value “0b11” may be stored in the memory 3b. In this case, after the cartridge 3 is moved to the drive 1b, the control unit 1c performs an OR operation between the value obtained by adding the lower 4 bits to the offset value “0b11” and the block number “0b1010” acquired from the information processing device 2. Thus, the first block number “0b11110” can be restored. In this way, the storage capacity of the memory 3b can be saved.

なお、第1の実施の形態の例では、メモリ3bをカートリッジ3に設けて、オフセット値の格納用としたが、ストレージ装置1が備えるメモリ(図1では図示を省略)にオフセット値を格納してもよい。その場合、当該メモリは不揮発性メモリでもよいし揮発性メモリでもよい。ただし、不揮発性メモリとすることが好ましい。停電などによりストレージ装置1が電源オフになる可能性もあり、その場合にもオフセット値を保持可能だからである。   In the example of the first embodiment, the memory 3b is provided in the cartridge 3 to store the offset value. However, the offset value is stored in a memory (not shown in FIG. 1) provided in the storage device 1. May be. In that case, the memory may be a nonvolatile memory or a volatile memory. However, a nonvolatile memory is preferable. This is because there is a possibility that the storage apparatus 1 is powered off due to a power failure or the like, and in this case, the offset value can be held.

また、カートリッジ3のメモリ3bにオフセット値を格納すれば、ストレージ装置1以外の他のストレージ装置が備えるドライブにカートリッジ3を移し替えて、メモリ3bに格納されたオフセット値を基に、当該他のストレージ装置によりリカバリ処理を行える。例えば、ストレージ装置が備えるドライブが1つである場合にも、カートリッジ3を他のストレージ装置のドライブに移し替えることで、DDRを効率的に実行可能となる。   Further, if the offset value is stored in the memory 3b of the cartridge 3, the cartridge 3 is transferred to a drive provided in another storage device other than the storage device 1, and the other value is determined based on the offset value stored in the memory 3b. Recovery processing can be performed by the storage device. For example, even when the storage apparatus has one drive, DDR can be efficiently executed by transferring the cartridge 3 to a drive of another storage apparatus.

[第2の実施の形態]
図2は、第2の実施の形態の情報処理システムの例を示す図である。第2の実施の形態の情報処理システムは、テープ装置100,100aおよびサーバ200を含む。テープ装置100,100aは、サーバ200に接続されている。サーバ200は、ネットワーク10に接続されている。ネットワーク10は、例えばLAN(Local Area Network)である。
[Second Embodiment]
FIG. 2 is a diagram illustrating an example of an information processing system according to the second embodiment. The information processing system according to the second embodiment includes tape devices 100 and 100a and a server 200. The tape devices 100 and 100a are connected to the server 200. The server 200 is connected to the network 10. The network 10 is, for example, a LAN (Local Area Network).

テープ装置100,100aは、カートリッジ300に収められた記録媒体にデータを書込むストレージ装置である。テープ装置100,100aは、筐体内部にカートリッジ300を複数個格納できる、ライブラリ装置やチェンジャ装置などと呼ばれるものでもよい。テープ装置100,100aは、第1の実施の形態のストレージ装置1の一例である。   The tape devices 100 and 100 a are storage devices that write data to a recording medium stored in the cartridge 300. The tape devices 100 and 100a may be called a library device or a changer device that can store a plurality of cartridges 300 in a housing. The tape devices 100 and 100a are an example of the storage device 1 according to the first embodiment.

カートリッジ300は、磁気テープ310およびカートリッジメモリ(CM:Cartridge Memory)320を有する。磁気テープ310は、磁気テープ媒体である。磁気テープ310は、CM320と比較して記憶領域のサイズが大きく、大量のデータを格納可能である。磁気テープ310には、シーケンシャルアクセスによりデータの書込みや読出しが行われる。磁気テープ310には、例えば、サーバ200が扱うデータのバックアップが格納される。CM320は、半導体メモリである。CM320は、DDR処理に用いられるデータを記憶する。カートリッジ300は、第1の実施の形態のカートリッジ3の一例である。ここで、カートリッジ300は、LTO(Linear Tape-Open、登録商標)規格に準拠したメディアである。テープ装置100,100aは、LTO型のカートリッジ300(カートリッジ内の磁気テープ310)に対するデータの書込みや読出しを行える。LTO型の磁気テープ310では、例えば、数百GB〜数TBの記憶容量を利用できる。一方、CM320は、磁気テープ310と比べると記憶容量は小さい。   The cartridge 300 includes a magnetic tape 310 and a cartridge memory (CM: Cartridge Memory) 320. The magnetic tape 310 is a magnetic tape medium. The magnetic tape 310 has a larger storage area size than the CM 320 and can store a large amount of data. Data is written to and read from the magnetic tape 310 by sequential access. For example, a backup of data handled by the server 200 is stored in the magnetic tape 310. CM 320 is a semiconductor memory. The CM 320 stores data used for DDR processing. The cartridge 300 is an example of the cartridge 3 according to the first embodiment. Here, the cartridge 300 is a medium compliant with the LTO (Linear Tape-Open, registered trademark) standard. The tape devices 100 and 100a can write and read data to and from the LTO type cartridge 300 (the magnetic tape 310 in the cartridge). In the LTO type magnetic tape 310, for example, a storage capacity of several hundred GB to several TB can be used. On the other hand, the CM 320 has a smaller storage capacity than the magnetic tape 310.

サーバ200は、他のサーバ装置やクライアント装置など(図示を省略)に所定の業務サービスを提供するサーバコンピュータである。サーバ200は、テープ装置100,100aを用いて、サーバ200の処理に用いられる業務データのバックアップを行う。ここで、サーバ200はDDRの機能を備えている。サーバ200は、端末装置からの入力に対して処理を実行するホストコンピュータと呼ばれるものでもよい。サーバ200は、第1の実施の形態の情報処理装置2の一例である。   The server 200 is a server computer that provides a predetermined business service to other server devices or client devices (not shown). The server 200 uses the tape devices 100 and 100a to back up business data used for the processing of the server 200. Here, the server 200 has a DDR function. The server 200 may be called a host computer that executes processing for input from a terminal device. The server 200 is an example of the information processing apparatus 2 according to the first embodiment.

ここで、サーバ200の磁気テープ310に対するアクセス方法には、磁気テープ310に対してアクセスするトラック数に応じて複数のモードが存在する。例えば、18トラック(TRK:TRacK)モード、36TRKモードおよび128TRKモードがある。各モードで、サーバ200がDDR処理に利用できるブロック番号の範囲が異なる。   Here, the access method for the magnetic tape 310 of the server 200 has a plurality of modes depending on the number of tracks accessed to the magnetic tape 310. For example, there are an 18 track (TRK: TRacK) mode, a 36 TRK mode, and a 128 TRK mode. In each mode, the range of block numbers that the server 200 can use for DDR processing is different.

例えば、18TRKモードおよび36TRKモードでは、サーバ200は、ブロック番号を22ビットで管理する。この場合、サーバ200は、222個(約400万)のブロック番号を管理可能である。例えば、1ブロックサイズは、32KBなので、22ビットで表わされるブロック番号によって利用可能な磁気テープ媒体の総サイズは、およそ128GB(=32KB×400万)である。18TRKモードで利用される磁気テープ媒体には、例えば、OPEN型のものがある。OPEN型の磁気テープ媒体のテープ1巻当たりの容量は1.2GB程度なので、ブロック番号を22ビットで管理できれば十分である。同様に、36TRKモードで利用される磁気テープ媒体には、例えば、CMT(Cartridge Magnetic Tape)型のものがある。CMT型の磁気テープ媒体のテープ1巻当たりの容量は2.4GB程度なので、ブロック番号を22ビットで管理できれば十分である。 For example, in the 18 TRK mode and the 36 TRK mode, the server 200 manages the block number with 22 bits. In this case, the server 200 can manage 222 (about 4 million) block numbers. For example, since one block size is 32 KB, the total size of the magnetic tape medium that can be used by a block number represented by 22 bits is approximately 128 GB (= 32 KB × 4 million). An example of the magnetic tape medium used in the 18TRK mode is an OPEN type. Since the capacity per tape of the OPEN type magnetic tape medium is about 1.2 GB, it is sufficient to manage the block number with 22 bits. Similarly, a magnetic tape medium used in the 36TRK mode includes, for example, a CMT (Cartridge Magnetic Tape) type. Since the capacity per tape of the CMT type magnetic tape medium is about 2.4 GB, it is sufficient to manage the block number with 22 bits.

一方、近年では、磁気テープ媒体として前述のLTO型のものが利用されることが多い。LTOには複数の世代(LTO1〜LTO5など)があり、世代によっては、1巻当たりの容量が200GB〜1.6TB(テラバイト)まで書込み可能となっている。ところが、1ブロックサイズが32KBであるとき、ブロック番号を22ビットで管理していると、128GBまでしか利用できない。そこで、LTOへのアクセスには、通常、前述の128TRKモードが用いられる。128TRKモードでは、ブロック番号が32ビットで管理される。この場合、232個(約4億)のブロック番号を管理可能である。32ビットで表わされるブロック番号によって利用可能な磁気テープ媒体の総サイズは、128TB(=32KB×4億)となり、LTO型の磁気テープ媒体の総容量をフルに利用できることになる。 On the other hand, in recent years, the above-mentioned LTO type is often used as a magnetic tape medium. The LTO has a plurality of generations (LTO1 to LTO5, etc.), and depending on the generation, the capacity per volume can be written up to 200 GB to 1.6 TB (terabyte). However, when the block size is 32 KB and the block number is managed with 22 bits, only 128 GB can be used. Therefore, the above-described 128 TRK mode is usually used for accessing the LTO. In the 128 TRK mode, the block number is managed with 32 bits. In this case, it is manageable the block number of 2 to 32 (about 400 million). The total size of the magnetic tape medium that can be used by the block number represented by 32 bits is 128 TB (= 32 KB × 400 million), and the total capacity of the LTO type magnetic tape medium can be fully utilized.

ここで、テープ装置100,100aがLTO型の磁気テープ媒体への書込みをサポートしているにも関わらず、サーバ200側のOS(Operating System)やドライバなどのソフトウェアが18TRK/36TRKモードに対応しているが128TRKモードに対応していないことがある。例えば、既存のサーバ200を使用し続けながら、テープ装置を新型のテープ装置100にリプレースすることもあるからである(テープ装置100aも同様)。この場合、テープ装置100は、サーバ200に合わせて18TRKモードまたは36TRKモードの動作をエミュレートし、LTO型の磁気テープ媒体への書込みを可能とする。   Here, even though the tape devices 100 and 100a support writing to the LTO type magnetic tape medium, the OS (Operating System) on the server 200 side and software such as a driver are compatible with the 18TRK / 36TRK mode. However, it may not support 128 TRK mode. For example, the tape device may be replaced with the new tape device 100 while continuing to use the existing server 200 (the same applies to the tape device 100a). In this case, the tape device 100 emulates the operation of the 18TRK mode or the 36TRK mode according to the server 200, and enables writing to the LTO type magnetic tape medium.

18TRK/36TRKモードでは、磁気テープ310のアクセス先のブロック番号が22ビットで管理可能な上限以上になると、サーバ200によるDDR処理で使用されるブロック番号上限を超えることになる。このため、テープ装置100は、上記エミュレート処理において、アクセス先のブロック番号が22ビットで表わされる上限以上になると、論理EOT(End Of Tape)エラーをサーバ200に報告し、それ以上のアクセスを抑止することになる。   In the 18TRK / 36TRK mode, when the access destination block number of the magnetic tape 310 exceeds the upper limit manageable by 22 bits, the block number upper limit used in the DDR processing by the server 200 is exceeded. Therefore, the tape device 100 reports a logical EOT (End Of Tape) error to the server 200 when the block number of the access destination exceeds the upper limit represented by 22 bits in the above emulation processing, and performs further access. Will be deterred.

しかし、この場合、LTOでは232以上のブロック番号を扱えるにも関わらず、222以上のブロック番号を利用できないことになる。すると、磁気テープ310の容量をフルに利用することができない。第2の実施の形態の例では、サーバ200は128TRKモードに対応していない。そこで、テープ装置100,100aは、サーバ200が128TRKモードに対応していない場合でも、DDR処理への影響を抑えて、磁気テープ310の容量をフルに利用可能とする機能を提供する。 However, in this case, despite the handle LTO in 2 32 or more block number it will not be available to 2 22 or more block number. Then, the capacity of the magnetic tape 310 cannot be fully utilized. In the example of the second embodiment, the server 200 does not support the 128 TRK mode. Therefore, the tape devices 100 and 100a provide a function of making the capacity of the magnetic tape 310 fully usable while suppressing the influence on the DDR processing even when the server 200 does not support the 128 TRK mode.

図3は、テープ装置のハードウェア例を示す図である。テープ装置100は、プロセッサ101、RAM102、不揮発性メモリ(NVRAM:Non-Volatile Random Access Memory)103、接続インタフェース104およびドライブ105,106を有する。各ユニットがテープ装置100のバスに接続されている。テープ装置100aもテープ装置100と同様のハードウェアにより実現できる。   FIG. 3 is a diagram illustrating a hardware example of the tape device. The tape device 100 includes a processor 101, a RAM 102, a nonvolatile memory (NVRAM: Non-Volatile Random Access Memory) 103, a connection interface 104, and drives 105 and 106. Each unit is connected to the bus of the tape device 100. The tape device 100a can also be realized by the same hardware as the tape device 100.

プロセッサ101は、テープ装置100の情報処理を制御するプロセッサである。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU、DSP、ASICまたはFPGAなどである。プロセッサ101は、CPU、DSP、ASIC、FPGAなどのうちの2以上の要素の組み合わせであってもよい。   The processor 101 is a processor that controls information processing of the tape device 100. The processor 101 may be a multiprocessor. The processor 101 is, for example, a CPU, DSP, ASIC, or FPGA. The processor 101 may be a combination of two or more elements of CPU, DSP, ASIC, FPGA, and the like.

RAM102は、プロセッサ101が実行するファームウェアのプログラムや、各種データを一時的に記憶する揮発性メモリである。RAM102は、磁気テープ310やCM320に格納するデータを一時的に保持するバッファとして利用されることもある。   The RAM 102 is a volatile memory that temporarily stores firmware programs executed by the processor 101 and various data. The RAM 102 may be used as a buffer that temporarily holds data stored in the magnetic tape 310 or the CM 320.

NVRAM103は、プロセッサ101が実行するファームウェアのプログラムを記憶する。NVRAM103は、プロセッサ101が実行する処理に用いられるデータを記憶する。   The NVRAM 103 stores a firmware program executed by the processor 101. The NVRAM 103 stores data used for processing executed by the processor 101.

接続インタフェース104は、サーバ200と所定のケーブルを介して接続される通信用のインタフェースである。接続インタフェース104としては、例えば、SAS(Serial Attached SCSI、SCSIはSmall Computer System Interfaceの略)や、OCLINK(Optical Channel LINK、登録商標)などを用いることができる。   The connection interface 104 is a communication interface connected to the server 200 via a predetermined cable. As the connection interface 104, for example, SAS (Serial Attached SCSI, SCSI is an abbreviation for Small Computer System Interface), OCLINK (Optical Channel LINK, registered trademark), or the like can be used.

ドライブ105,106は、カートリッジ300を収納可能である。ドライブ105は、プロセッサ101の命令にしたがって、収納されたカートリッジ300に対するデータの書込み/読出しを行う。ドライブ105は、テープ記録部105aおよびメモリ記録部105bを有する。テープ記録部105aは、磁気テープ310に対するデータの書込み/読出しを行う。メモリ記録部105bは、CM320に対するデータの書込み/読出しを行う。ドライブ106は、テープ記録部106aおよびメモリ記録部106bを有する。テープ記録部106aの機能は、テープ記録部105aと同様である。メモリ記録部106bの機能は、メモリ記録部105bと同様である。   The drives 105 and 106 can store the cartridge 300. The drive 105 writes / reads data to / from the stored cartridge 300 in accordance with instructions from the processor 101. The drive 105 includes a tape recording unit 105a and a memory recording unit 105b. The tape recording unit 105a writes / reads data to / from the magnetic tape 310. The memory recording unit 105b writes / reads data to / from the CM 320. The drive 106 includes a tape recording unit 106a and a memory recording unit 106b. The function of the tape recording unit 106a is the same as that of the tape recording unit 105a. The function of the memory recording unit 106b is the same as that of the memory recording unit 105b.

ここで、テープ記録部105a,106aそれぞれは、磁気テープ310に対するデータの書込み/読出しを行うための磁気ヘッドを備えている。テープ記録部105a,106aは、磁気テープ310のあるブロック番号に対応する位置にアクセスする際、磁気ヘッドが、磁気テープ310の該当位置に配置されるよう磁気テープ310を巻き取るなどして移動させる。このように、磁気ヘッドに対して磁気テープ310の位置を合わせる処理を「磁気テープ310の位置付け」または単に「位置付け」と称することがある。   Here, each of the tape recording units 105 a and 106 a includes a magnetic head for writing / reading data to / from the magnetic tape 310. When the tape recording units 105 a and 106 a access a position corresponding to a certain block number of the magnetic tape 310, the magnetic head moves the magnetic tape 310 so that the magnetic head is disposed at the corresponding position of the magnetic tape 310. . As described above, the process of aligning the position of the magnetic tape 310 with respect to the magnetic head may be referred to as “positioning of the magnetic tape 310” or simply “positioning”.

図4は、サーバのハードウェア例を示す図である。サーバ200は、プロセッサ201、RAM202、HDD(Hard Disk Drive)203、接続インタフェース204、画像信号処理部205、入力信号処理部206、媒体リーダ207および通信インタフェース208を有する。各ユニットはサーバ200のバスに接続されている。   FIG. 4 is a diagram illustrating a hardware example of the server. The server 200 includes a processor 201, a RAM 202, an HDD (Hard Disk Drive) 203, a connection interface 204, an image signal processing unit 205, an input signal processing unit 206, a medium reader 207, and a communication interface 208. Each unit is connected to the bus of the server 200.

プロセッサ201は、サーバ200の情報処理を制御する。プロセッサ201は、マルチプロセッサであってもよい。プロセッサ201は、例えばCPU、DSP、ASICまたはFPGAなどである。プロセッサ201は、CPU、DSP、ASIC、FPGAなどのうちの2以上の要素の組み合わせであってもよい。   The processor 201 controls information processing of the server 200. The processor 201 may be a multiprocessor. The processor 201 is, for example, a CPU, DSP, ASIC, or FPGA. The processor 201 may be a combination of two or more elements among CPU, DSP, ASIC, FPGA, and the like.

RAM202は、サーバ200の主記憶装置である。RAM202は、プロセッサ201に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM202は、プロセッサ201による処理に用いる各種データを記憶する。   The RAM 202 is a main storage device of the server 200. The RAM 202 temporarily stores at least part of an OS program and application programs to be executed by the processor 201. The RAM 202 stores various data used for processing by the processor 201.

HDD203は、サーバ200の補助記憶装置である。HDD203は、内蔵した磁気ディスクに対して、磁気的にデータの書込みおよび読出しを行う。HDD203は、OSのプログラム、アプリケーションプログラム、および各種データを記憶する。サーバ200は、フラッシュメモリやSSDなどの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。   The HDD 203 is an auxiliary storage device of the server 200. The HDD 203 magnetically writes data to and reads data from a built-in magnetic disk. The HDD 203 stores an OS program, application programs, and various data. The server 200 may include other types of auxiliary storage devices such as a flash memory and an SSD, and may include a plurality of auxiliary storage devices.

接続インタフェース204は、テープ装置100,100aと所定のケーブルを介して接続される通信用のインタフェースである。
画像信号処理部205は、プロセッサ201からの命令に従って、サーバ200に接続されたディスプレイ11に画像を出力する。ディスプレイ11としては、CRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイなどを用いることができる。
The connection interface 204 is a communication interface connected to the tape devices 100 and 100a via a predetermined cable.
The image signal processing unit 205 outputs an image to the display 11 connected to the server 200 in accordance with an instruction from the processor 201. As the display 11, a CRT (Cathode Ray Tube) display, a liquid crystal display, or the like can be used.

入力信号処理部206は、サーバ200に接続された入力デバイス12から入力信号を取得し、プロセッサ201に出力する。入力デバイス12としては、例えば、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。   The input signal processing unit 206 acquires an input signal from the input device 12 connected to the server 200 and outputs it to the processor 201. As the input device 12, for example, a pointing device such as a mouse or a touch panel, a keyboard, or the like can be used.

媒体リーダ207は、記録媒体13に記録されたプログラムやデータを読み取る装置である。記録媒体13として、例えば、フレキシブルディスク(FD:Flexible Disk)やHDDなどの磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光ディスク、光磁気ディスク(MO:Magneto-Optical disk)を使用できる。また、記録媒体13として、例えば、フラッシュメモリカードなどの不揮発性の半導体メモリを使用することもできる。媒体リーダ207は、例えば、プロセッサ201からの命令に従って、記録媒体13から読み取ったプログラムやデータをRAM202またはHDD203に格納する。   The medium reader 207 is a device that reads programs and data recorded on the recording medium 13. As the recording medium 13, for example, a magnetic disk such as a flexible disk (FD) or an HDD, an optical disk such as a CD (Compact Disc) or a DVD (Digital Versatile Disc), or a magneto-optical disk (MO) is used. Can be used. Further, as the recording medium 13, for example, a non-volatile semiconductor memory such as a flash memory card can be used. For example, the medium reader 207 stores the program and data read from the recording medium 13 in the RAM 202 or the HDD 203 in accordance with an instruction from the processor 201.

通信インタフェース208は、ネットワーク10を介して他のコンピュータと通信を行う。通信インタフェース208は、有線通信インタフェースでもよいし、無線通信インタフェースでもよい。   The communication interface 208 communicates with other computers via the network 10. The communication interface 208 may be a wired communication interface or a wireless communication interface.

図5は、テープ装置の機能例を示す図である。テープ装置100は、RW(Read / Write)制御部110および記憶部120を有する。RW制御部110は、RAM102に格納されたプログラムをプロセッサ101が実行することで実現される。記憶部120は、RAM102やNVRAM103上に確保された記憶領域により実現される。   FIG. 5 is a diagram illustrating an example of functions of the tape device. The tape device 100 includes an RW (Read / Write) control unit 110 and a storage unit 120. The RW control unit 110 is realized by the processor 101 executing a program stored in the RAM 102. The storage unit 120 is realized by a storage area secured on the RAM 102 or the NVRAM 103.

RW制御部110は、ドライブ105,106によるデータの書込みや読出しの実行を制御する。例えば、ドライブ105にカートリッジ300が収納されている場合、RW制御部110は、サーバ200から書込み指示されたデータを、カートリッジ300の磁気テープ310に書込む。また、RW制御部110は、サーバ200から読出し指示されたデータを、カートリッジ300の磁気テープ310から読出し、サーバ200に提供する。   The RW control unit 110 controls the writing and reading of data by the drives 105 and 106. For example, when the cartridge 300 is stored in the drive 105, the RW control unit 110 writes the data instructed by the server 200 to the magnetic tape 310 of the cartridge 300. Further, the RW control unit 110 reads the data instructed to be read from the server 200 from the magnetic tape 310 of the cartridge 300 and provides it to the server 200.

RW制御部110は、ドライブ105またはドライブ106において、あるブロック番号に対するアクセス時にアクセスエラーが発生すると、エラー発生をサーバ200に通知する。その後、RW制御部110は、アクセス時のブロック番号の通知指令をサーバ200から受け付けると、該当のブロック番号をサーバ200に報告する。ただし、RW制御部110は、アクセスエラーの発生したブロック番号が、サーバ200が管理するブロック番号の上限(222)以上である場合、当該ブロック番号から22ビット長のブロック番号を生成して、サーバ200に報告する。RW制御部110は、生成した22ビット長のブロック番号に対する元のブロック番号のオフセット値をCM320に格納する。 When an access error occurs in the drive 105 or the drive 106 when accessing a certain block number, the RW control unit 110 notifies the server 200 of the error occurrence. After that, when receiving a block number notification instruction at the time of access from the server 200, the RW control unit 110 reports the corresponding block number to the server 200. However, if the block number in which the access error has occurred is equal to or greater than the upper limit (2 22 ) of the block number managed by the server 200, the RW control unit 110 generates a 22-bit block number from the block number, Report to server 200. The RW control unit 110 stores the offset value of the original block number with respect to the generated 22-bit block number in the CM 320.

RW制御部110は、その後、正常なドライブ(ドライブ105でエラーが発生した場合、ドライブ106)にカートリッジ300が移されたことを検出すると、エラー時に報告した22ビット長のブロック番号をサーバ200から取得する。当該22ビット長のブロック番号とCM320に記憶されたオフセット値とを基に、磁気テープ310へのアクセス再開位置を決定する。   Thereafter, when the RW control unit 110 detects that the cartridge 300 has been moved to a normal drive (the drive 106 if an error occurs in the drive 105), the 22-bit block number reported at the time of the error is received from the server 200. get. Based on the 22-bit block number and the offset value stored in the CM 320, an access resumption position to the magnetic tape 310 is determined.

記憶部120は、RW制御部110による処理に用いられる情報を記憶する。記憶部120は、RW制御部110がサーバ200から受信した書込み対象のデータや、磁気テープ310から読出したデータを一時的に記憶するバッファとして用いられることもある。   The storage unit 120 stores information used for processing by the RW control unit 110. The storage unit 120 may be used as a buffer that temporarily stores data to be written received by the RW control unit 110 from the server 200 and data read from the magnetic tape 310.

上記の説明では、テープ装置100の機能について説明したが、テープ装置100aも同様の機能を有する。DDR処理はテープ装置100,100aを跨いで実行されることもある(例えば、テープ装置100でのアクセスでエラーが発生した場合、テープ装置100aを用いて当該アクセスをリカバリするなど)。   In the above description, the function of the tape device 100 has been described, but the tape device 100a also has the same function. The DDR process may be executed across the tape devices 100 and 100a (for example, when an error occurs in access by the tape device 100, the access is recovered using the tape device 100a).

サーバ200は、DDR処理部210および記憶部220を有する。DDR処理部210は、RAM202に記憶されたプログラムをプロセッサ201が実行することで実現される。記憶部220は、RAM202またはHDD203上に確保された記憶領域により実現される。   The server 200 includes a DDR processing unit 210 and a storage unit 220. The DDR processing unit 210 is realized by the processor 201 executing a program stored in the RAM 202. The storage unit 220 is realized by a storage area secured on the RAM 202 or the HDD 203.

DDR処理部210は、DDR処理を制御する。具体的には、テープ装置100で、ドライブ105に収納されたカートリッジ300の磁気テープ310にアクセス中、アクセスエラーが発生したとする。すると、DDR処理部210は、テープ装置100からアクセスエラーの通知とともに、エラー時のブロック番号をテープ装置100から受信する。DDR処理部210は、カートリッジ300をドライブ106に移し替えるようオペレータに報知する。例えば、DDR処理部210は、カートリッジ300の移し替えを促すメッセージをディスプレイ11に表示させることで、当該報知を行ってもよい。または、DDR処理部210は、オペレータが利用する端末装置に当該メッセージを送信してもよいし、サーバ200に接続されたスピーカから音声により当該メッセージを報知してもよい。   The DDR processing unit 210 controls DDR processing. Specifically, it is assumed that an access error occurs while the tape device 100 is accessing the magnetic tape 310 of the cartridge 300 accommodated in the drive 105. Then, the DDR processing unit 210 receives a block number at the time of error from the tape device 100 together with an access error notification from the tape device 100. The DDR processing unit 210 notifies the operator to transfer the cartridge 300 to the drive 106. For example, the DDR processing unit 210 may perform the notification by causing the display 11 to display a message that prompts the transfer of the cartridge 300. Alternatively, the DDR processing unit 210 may transmit the message to a terminal device used by the operator, or may notify the message by voice from a speaker connected to the server 200.

その後、DDR処理部210は、カートリッジ300がドライブ106に移し替えられた旨の通知をテープ装置100から受け付ける。DDR処理部210は、エラー時に報告を受けたブロック番号とともに、当該ブロック番号に対応する位置からアクセスを再開するようテープ装置100に指示する。   Thereafter, the DDR processing unit 210 receives a notification from the tape device 100 that the cartridge 300 has been transferred to the drive 106. The DDR processing unit 210 instructs the tape device 100 to resume access from the position corresponding to the block number, together with the block number that received the report at the time of the error.

記憶部220は、DDR処理部210による処理に用いられる情報を記憶する。例えば、記憶部220は、テープ装置100から受信したエラー時のブロック番号の情報を記憶する。   The storage unit 220 stores information used for processing by the DDR processing unit 210. For example, the storage unit 220 stores block number information at the time of error received from the tape device 100.

図6は、DDRに用いられるコマンドのパラメータ例を示す図である。DDRでは、主に2種類のコマンドが利用される。第1のコマンドは、“RDBID(ReaD Block ID)”である。IDはIDentifierの略である。“BID”はブロック番号を示す。RDBIDコマンドは、テープ装置100からサーバ200へアクセスエラーが通知された後に、サーバ200によってテープ装置100に対して発行されるコマンドであり、エラー時のブロック番号の通知を指示するコマンドである。第2のコマンドは、“LOCATE”である。LOCATEコマンドは、サーバ200によりテープ装置100に対して発行されるコマンドであり、アクセス再開時の磁気テープ310の位置をテープ装置100に指示するコマンドである。   FIG. 6 is a diagram illustrating a parameter example of a command used for DDR. In DDR, two types of commands are mainly used. The first command is “RDBID (ReaD Block ID)”. ID is an abbreviation for IDentifier. “BID” indicates a block number. The RDBID command is a command issued to the tape device 100 by the server 200 after an access error is notified from the tape device 100 to the server 200, and is a command for instructing notification of a block number at the time of an error. The second command is “LOCATE”. The LOCATE command is a command issued to the tape device 100 by the server 200, and is a command for instructing the tape device 100 on the position of the magnetic tape 310 when access is resumed.

RDBIDコマンドおよびLOCATEコマンドの何れも、パラメータとして、ブロック番号が指定される。図6(A)は、RDBIDコマンドにおいてブロック番号を指定するパラメータで使用されるビット数を示している。18TRKモードおよび36TRKモードでは、RDBIDコマンドでブロック番号の指定に使用されるビット数は22である(図6(A)の0番目〜21番目のビットが対応)。一方、128TRKモードでは、RDBIDコマンドでブロック番号の指定に使用されるビット数は32である(図6(A)の0番目〜31番目のビットが対応)。   Both the RDBID command and the LOCATE command specify a block number as a parameter. FIG. 6A shows the number of bits used in a parameter for specifying a block number in the RDBID command. In the 18TRK mode and the 36TRK mode, the number of bits used for specifying the block number in the RDBID command is 22 (corresponding to the 0th to 21st bits in FIG. 6A). On the other hand, in the 128 TRK mode, the number of bits used to specify a block number in the RDBID command is 32 (corresponding to the 0th to 31st bits in FIG. 6A).

図6(B)は、LOCATEコマンドにおいてブロック番号を指定するパラメータで使用されるビット数を示している。18TRKおよび36TRKモードでは、LOCATEコマンドでブロック番号の指定に使用されるビット数は22である(図6(B)の0番目〜21番目のビットが対応)。一方、128TRKモードでは、LOCATEコマンドでブロック番号の指定に使用されるビット数は32である(図6(B)の0番目〜31番目のビットが対応)。   FIG. 6B shows the number of bits used in a parameter for specifying a block number in the LOCATE command. In the 18TRK and 36TRK modes, the number of bits used to specify the block number in the LOCATE command is 22 (corresponding to the 0th to 21st bits in FIG. 6B). On the other hand, in the 128 TRK mode, the number of bits used to specify the block number by the LOCATE command is 32 (corresponding to the 0th to 31st bits in FIG. 6B).

図7は、アクセス可能なブロック番号の上限の例を示す図である。図7では、磁気テープ310の論理的な記憶領域を1つの帯で模式的に表わしている。LTO型の磁気テープ310の記憶領域の先頭(BOT:Beginning Of Tape)のブロック番号は“0”である。終端(EOT)のブロック番号は“232−1”である。ブロック番号“0”の位置には、磁気テープ310を識別するVOL ID(VOLume ID)が書込まれる。以降のブロックにユーザデータがシーケンシャルに書込まれる。ブロックサイズは32KBである。 FIG. 7 is a diagram illustrating an example of the upper limit of accessible block numbers. In FIG. 7, the logical storage area of the magnetic tape 310 is schematically represented by one band. The block number of the beginning (BOT: Beginning Of Tape) of the storage area of the LTO type magnetic tape 310 is “0”. The block number of the end (EOT) is “2 32 −1”. At the position of the block number “0”, a VOL ID (VOLume ID) for identifying the magnetic tape 310 is written. User data is sequentially written in subsequent blocks. The block size is 32KB.

例えば、36TRKモードでは、前述のようにブロック番号は22ビットで管理されるので、ブロック番号の最大値は222−1である。一方、128TRKモードでは、前述のようにブロック番号は32ビットで管理されるので、ブロック番号の最大値は232−1である。 For example, in the 36TRK mode, since the block number is managed with 22 bits as described above, the maximum value of the block number is 2 22 -1. On the other hand, in the 128 TRK mode, since the block number is managed with 32 bits as described above, the maximum value of the block number is 2 32 -1.

36TRKモードをサポートするが128TRKモードをサポートしていないサーバ200からも磁気テープ310の記憶領域をフルに利用可能とするために、テープ装置100の動作モードとして、EX36TRKモード(拡張36TRKモード)を新たに設ける。EX36TRKモードは、テープ装置100があたかも36TRKモードで磁気テープ310にアクセスしているようにサーバ200に認識させるが、テープ装置100内では磁気テープ310に対して128TRKモード相当でアクセスを行うモードである。EX36TRKモードでは、ブロック番号が222に達しても、テープ装置100は、サーバ200へ論理EOTエラーを報告しない。そして、テープ装置100は、EX36TRKモードでは、128TRKモードと同様、32ビットで表わされるブロック番号により位置付けする。このため、EX36TRKモードでは、128TRKモードと同様に磁気テープ310の記憶領域をフルに利用できる。 The EX36TRK mode (extended 36TRK mode) has been newly added as an operation mode of the tape device 100 in order to make the storage area of the magnetic tape 310 fully available even from the server 200 that supports the 36TRK mode but not the 128TRK mode. Provided. In the EX36TRK mode, the server 200 recognizes that the tape device 100 is accessing the magnetic tape 310 in the 36TRK mode, but in the tape device 100, the magnetic tape 310 is accessed in a manner equivalent to the 128TRK mode. . In the EX36TRK mode, the tape device 100 does not report a logical EOT error to the server 200 even if the block number reaches 222 . Then, in the EX36TRK mode, the tape device 100 is positioned by a block number represented by 32 bits as in the 128TRK mode. For this reason, in the EX36TRK mode, the storage area of the magnetic tape 310 can be fully utilized as in the 128TRK mode.

図8は、モード管理テーブルの例を示す図である。モード管理テーブル121は、記憶部120に格納される。モード管理テーブル121は、テープ装置動作区分、動作モード、SNS I/O(SeNSe Input / Output)コマンドおよびブロック管理ビット数の項目を含む。   FIG. 8 is a diagram illustrating an example of the mode management table. The mode management table 121 is stored in the storage unit 120. The mode management table 121 includes items of tape device operation classification, operation mode, SNS I / O (SeNSe Input / Output) command, and block management bit number.

テープ装置動作区分の項目には、テープ装置の動作区分を示す情報が登録される。動作モードの項目には、テープ装置の動作モードを示す情報が登録される。SNS I/Oコマンドの項目には、動作モードに応じたSNS I/Oコマンドに対する応答コードが登録される。ここで、SNS I/Oコマンドは、サーバ200により発行されるコマンドであり、テープ装置100の動作区分を確認するためのコマンドである。テープ装置100は、SNS I/Oコマンドに対して、テープ装置100で現在利用している動作モードに応じた応答コードを、サーバ200に応答することで、テープ装置100の動作区分をサーバ200に報告する。ブロック管理ビット数の項目には、ブロック番号の管理に用いるビット数が登録される。   Information indicating the operation category of the tape device is registered in the item of the tape device operation category. Information indicating the operation mode of the tape device is registered in the operation mode item. In the SNS I / O command item, a response code for the SNS I / O command corresponding to the operation mode is registered. Here, the SNS I / O command is a command issued by the server 200 and a command for confirming the operation classification of the tape device 100. In response to the SNS I / O command, the tape device 100 responds to the server 200 with a response code corresponding to the operation mode currently used by the tape device 100, thereby setting the operation classification of the tape device 100 to the server 200. Report. In the item of block management bit number, the number of bits used for block number management is registered.

例えば、モード管理テーブル121には、テープ装置動作区分が“CMT型”、動作モードが“36TRK”、SNS I/Oコマンドが“FF17E236647036”、ブロック管理ビット数が“22”という情報が登録される。   For example, information indicating that the tape device operation classification is “CMT type”, the operation mode is “36TRK”, the SNS I / O command is “FF17E236647036”, and the number of block management bits is “22” is registered in the mode management table 121. .

これは、テープ装置100の動作区分が“CMT型”であり、動作モードが36TRKモードであるとき、サーバ200に“CMT型(36TRKモード)”であることを通知するために、SNS I/Oコマンドの応答コード“FF17E236647036”を報告することを示す。また、36TRKモードでは、ブロック番号の管理に利用可能なビット数が22ビットであることを示す。   This is because when the operation classification of the tape device 100 is “CMT type” and the operation mode is 36TRK mode, the SNS I / O is notified to notify the server 200 that it is “CMT type (36TRK mode)”. Indicates that the command response code “FF17E236647036” is to be reported. In the 36TRK mode, the number of bits available for block number management is 22 bits.

また、例えば、モード管理テーブル121には、テープ装置動作区分が“LTO型”、動作モードが“EX36TRK”、SNS I/Oコマンドが“FF17E236647036”、ブロック管理ビット数が“32”という情報が登録される。   Further, for example, in the mode management table 121, information that the tape device operation classification is “LTO type”, the operation mode is “EX36TRK”, the SNS I / O command is “FF17E236647036”, and the number of block management bits is “32”. Is done.

これは、テープ装置100の動作区分が“LTO型”であり、動作モードがEX36TRKモードであるとき、サーバ200に“LTO型”ではなく“CMT型(36TRKモード)”であることを通知するために、SNS I/Oコマンドの応答コード“FF17E236647036”(36TRKモードの応答コード)を報告することを示す。この報告は、テープ装置100の動作区分が“CMT型”である旨を、サーバ200に認識させるためである。また、EX36TRKモードでは、ブロック番号の管理に利用可能なビット数が32ビットであることを示す。   This is because when the operation classification of the tape device 100 is “LTO type” and the operation mode is EX36TRK mode, the server 200 is notified of “CMT type (36TRK mode)” instead of “LTO type”. The SNS I / O command response code “FF17E236647036” (36TRK mode response code) is reported. This report is for making the server 200 recognize that the operation classification of the tape device 100 is “CMT type”. In the EX36TRK mode, the number of bits that can be used for block number management is 32 bits.

図9は、CMに格納される情報の例を示す図である。CM320には、EX36TRK使用フラグ321(図9(A))およびオフセット値322(図9(B))が格納される。EX36TRK使用フラグ321は、磁気テープ310に対するアクセスにEX36TRKモードが用いられており、かつ、36TRKモードのブロック番号の上限を超えたブロック番号でアクセスが行われた場合に“true”が設定される管理情報である。磁気テープ310に対するアクセスにEX36TRKモードが用いられていない場合、または、アクセス先のブロック番号が36TRKモードのブロック番号の上限を超えていない場合、EX36TRK使用フラグ321は、“false”が設定される。磁気テープ310に対するアクセスにEX36TRKモードが用いられておらず、かつ、アクセス先のブロック番号が36TRKモードのブロック番号の上限を超えていない場合も、EX36TRK使用フラグ321は、“false”が設定される。EX36TRK使用フラグ321は、磁気テープ310に対するアクセス先のブロック番号が22ビットの上限を超えていることを示す管理情報であるということもできる。   FIG. 9 is a diagram illustrating an example of information stored in the CM. The CM 320 stores an EX36TRK use flag 321 (FIG. 9A) and an offset value 322 (FIG. 9B). The EX36TRK use flag 321 is a management in which “true” is set when the EX36TRK mode is used for access to the magnetic tape 310 and access is performed with a block number exceeding the upper limit of the block number of the 36TRK mode. Information. When the EX36TRK mode is not used for access to the magnetic tape 310, or when the block number of the access destination does not exceed the upper limit of the block number of the 36TRK mode, the EX36TRK use flag 321 is set to “false”. Even if the EX36TRK mode is not used for accessing the magnetic tape 310 and the access destination block number does not exceed the upper limit of the block number of the 36TRK mode, the EX36TRK use flag 321 is set to “false”. . It can also be said that the EX36TRK use flag 321 is management information indicating that the block number of the access destination for the magnetic tape 310 exceeds the upper limit of 22 bits.

オフセット値322は、磁気テープ310に対するアクセスエラー時に、RW制御部110によって生成されるオフセット値である。オフセット値322は、エラー時においてアクセスされていた32ビットのブロック番号の下位22ビット分が除去された上位10ビットである。オフセット値322は、当該32ビットのブロック番号の下位22ビットを除去せずに、下位22ビットを全て“0”とした値でもよい(ただし、下位22ビット分を除去した方が、CM320の記憶領域を節約できる)。   The offset value 322 is an offset value generated by the RW control unit 110 when an access error occurs on the magnetic tape 310. The offset value 322 is the upper 10 bits from which the lower 22 bits of the 32-bit block number accessed at the time of error are removed. The offset value 322 may be a value in which the lower 22 bits are all set to “0” without removing the lower 22 bits of the 32-bit block number. Saves space).

例えば、磁気テープ310のブロック番号“0xA0000100”でアクセスエラーが発生したとする(プレフィクス“0x”は後続の数値または数値列が16進数表記であることを示す)。ブロック番号“0xA0000100”は、22ビットで管理可能な上限のブロック番号を超えている。この場合、例えば、上位10ビット“0b1010000000”がオフセット値322としてCM320に記録される(図9のオフセット値は2進数表記である)。オフセット値322とEX36TRK使用フラグ321との両方を含む情報を管理情報と考えてもよい。   For example, it is assumed that an access error has occurred at the block number “0xA0000100” of the magnetic tape 310 (the prefix “0x” indicates that the subsequent numerical value or numerical value string is expressed in hexadecimal). The block number “0xA0000100” exceeds the upper limit block number that can be managed by 22 bits. In this case, for example, the upper 10 bits “0b1010000000” are recorded in the CM 320 as the offset value 322 (the offset value in FIG. 9 is expressed in binary). Information including both the offset value 322 and the EX36TRK use flag 321 may be considered as management information.

次に、以上のような構成のテープ装置100における処理手順を説明する。ここで、テープ装置100には、予め何れの動作モードとするかが(サーバ200側の動作モードと整合した動作モードが)システム管理者によって予め設定されている。例えば、NVRAM103に、予め設定された動作モードの情報が格納される。   Next, a processing procedure in the tape device 100 configured as described above will be described. Here, in the tape device 100, which operation mode is set in advance (an operation mode consistent with the operation mode on the server 200 side) is set in advance by the system administrator. For example, information on a preset operation mode is stored in the NVRAM 103.

図10は、モード報告処理の例を示すフローチャートである。以下、図10に示す処理をステップ番号に沿って説明する。
(S11)RW制御部110は、モード確認コマンド(SNS I/Oコマンド)をサーバ200から受信する。RW制御部110は、NVRAM103を参照して、テープ装置100に設定されている動作モードを取得する。RW制御部110は、取得した動作モードを基に、以下のステップS12,S14,S16,S18の判定を行う。
FIG. 10 is a flowchart illustrating an example of mode report processing. In the following, the process illustrated in FIG. 10 will be described in order of step number.
(S11) The RW control unit 110 receives a mode confirmation command (SNS I / O command) from the server 200. The RW control unit 110 refers to the NVRAM 103 and acquires the operation mode set in the tape device 100. The RW control unit 110 performs the following determinations in steps S12, S14, S16, and S18 based on the acquired operation mode.

(S12)RW制御部110は、設定された動作モードが18TRKモードであるか否かを判定する。18TRKモードである場合、処理をステップS13に進める。18TRKモードでない場合、処理をステップS14に進める。   (S12) The RW control unit 110 determines whether or not the set operation mode is the 18TRK mode. If it is the 18TRK mode, the process proceeds to step S13. If not 18TRK mode, the process proceeds to step S14.

(S13)RW制御部110は、18TRKモードであることを示す応答コード“FF175118647018”をサーバ200に報告する。そして、処理を終了する。動作モードに対して報告すべき応答コードは、モード管理テーブル121から取得可能である。サーバ200は、応答コードから、サーバ200の動作モードがテープ装置100の動作モードと一致していることを確認する。その上で、サーバ200は、テープ装置100に収納されたカートリッジ300へのアクセスを行うことになる(他のモードでも同様)。   (S13) The RW control unit 110 reports a response code “FF175118647018” indicating the 18TRK mode to the server 200. Then, the process ends. The response code to be reported for the operation mode can be acquired from the mode management table 121. The server 200 confirms from the response code that the operation mode of the server 200 matches the operation mode of the tape device 100. In addition, the server 200 accesses the cartridge 300 stored in the tape device 100 (the same applies to other modes).

(S14)RW制御部110は、36TRKモードであるか否かを判定する。36TRKモードである場合、処理をステップS15に進める。36TRKモードでない場合、処理をステップS16に進める。   (S14) The RW control unit 110 determines whether or not the 36TRK mode is set. If it is 36TRK mode, the process proceeds to step S15. If not in the 36TRK mode, the process proceeds to step S16.

(S15)RW制御部110は、36TRKモードであることを示す応答コード“FF17E236647036”をサーバ200に報告する。そして、処理を終了する。
(S16)RW制御部110は、EX36TRKモードであるか否かを判定する。EX36TRKモードである場合、処理をステップS17に進める。EX36TRKモードでない場合、処理をステップS18に進める。
(S15) The RW control unit 110 reports to the server 200 a response code “FF17E236647036” indicating that it is in the 36TRK mode. Then, the process ends.
(S16) The RW control unit 110 determines whether or not the EX36TRK mode is set. If it is in the EX36TRK mode, the process proceeds to step S17. If not in the EX36TRK mode, the process proceeds to step S18.

(S17)RW制御部110は、36TRKモードであることを示す応答コード“FF17E236647036”をサーバ200に報告する。そして、処理を終了する。
(S18)RW制御部110は、128TRKモードであるか否かを判定する。128TRKモードである場合、処理をステップS19に進める。128TRKモードでない場合、処理をステップS20に進める。
(S17) The RW control unit 110 reports to the server 200 a response code “FF17E236647036” indicating that it is in the 36TRK mode. Then, the process ends.
(S18) The RW control unit 110 determines whether or not the 128 TRK mode is set. If it is the 128 TRK mode, the process proceeds to step S19. If not 128TRK mode, the process proceeds to step S20.

(S19)RW制御部110は、128TRKモードであることを示す応答コード“FF17E27F64837F”をサーバ200に報告する。そして、処理を終了する。
(S20)RW制御部110は、モードアンマッチエラーをサーバ200に報告する。何れのモードも設定されておらず、モードを確認できなかったからである。
(S19) The RW control unit 110 reports a response code “FF17E27F64837F” indicating the 128 TRK mode to the server 200. Then, the process ends.
(S20) The RW control unit 110 reports a mode unmatch error to the server 200. This is because no mode is set and the mode cannot be confirmed.

このようにして、サーバ200は、テープ装置100のモードを確認する。特に、テープ装置100は、EX36TRKモードが設定されている場合、36TRKモードであることをサーバ200に報告する。なお、サーバ200は、報告を受けた動作モードが、サーバ200の動作モードと一致しない場合には、システム管理者にエラーを通知してもよい。   In this way, the server 200 confirms the mode of the tape device 100. In particular, when the EX36TRK mode is set, the tape device 100 reports to the server 200 that the 36TRK mode is set. Note that the server 200 may notify the system administrator of an error when the received operation mode does not match the operation mode of the server 200.

図11は、書込み時ブロック番号管理処理の例を示すフローチャートである。以下、図11に示す処理をステップ番号に沿って説明する。以下の手順は、ドライブ105またはドライブ106を用いた磁気テープ310へのデータ書込み時(データはブロック番号の昇順にシーケンシャルに書込まれる)、ブロック番号がインクリメントされるたびに実行される。   FIG. 11 is a flowchart illustrating an example of a block number management process at the time of writing. In the following, the process illustrated in FIG. 11 will be described in order of step number. The following procedure is executed each time the block number is incremented when data is written to the magnetic tape 310 using the drive 105 or the drive 106 (data is written sequentially in ascending order of the block number).

(S21)RW制御部110は、テープ装置100の動作モードが18TRKまたは36TRKモードの何れかであるか否かを判定する。18TRKまたは36TRKモードの何れかである場合、処理をステップS22に進める。18TRKまたは36TRKモードの何れでもない場合、処理をステップS24に進める。   (S21) The RW control unit 110 determines whether the operation mode of the tape device 100 is either 18TRK or 36TRK mode. If it is either 18TRK or 36TRK mode, the process proceeds to step S22. If neither the 18TRK mode nor the 36TRK mode is selected, the process proceeds to step S24.

(S22)RW制御部110は、書込み対象のブロック番号(書込みブロック番号)が222以上であるか否かを判定する。222以上の場合、処理をステップS23に進める。222以上でない場合、処理を終了する(18TRKまたは36TRKモードでの書込みが継続される)。 (S22) The RW control unit 110 determines whether or not the block number to be written (write block number) is 222 or more. In the case of 222 or more, the process proceeds to step S23. If it is not 22 or more, the processing is terminated (writing in 18TRK or 36TRK mode is continued).

(S23)RW制御部110は、論理EOT検出エラーをサーバ200に報告する。そして、処理を終了する。論理EOT検出エラーの報告後、書込み処理は中断されることになる。   (S23) The RW control unit 110 reports a logical EOT detection error to the server 200. Then, the process ends. After reporting the logical EOT detection error, the write process will be interrupted.

(S24)RW制御部110は、テープ装置100の動作モードが128TRKまたはEX36TRKモードの何れかであるか否かを判定する。128TRKまたはEX36TRKモードの何れかである場合、処理をステップS26に進める。128TRKまたはEX36TRKモードの何れでもない場合、処理をステップS25に進める。   (S24) The RW control unit 110 determines whether or not the operation mode of the tape device 100 is either the 128TRK mode or the EX36TRK mode. If it is either 128TRK or EX36TRK mode, the process proceeds to step S26. If neither the 128TRK mode nor the EX36TRK mode is selected, the process proceeds to step S25.

(S25)RW制御部110は、モードアンマッチエラーをサーバ200に報告する。そして、処理を終了する。モードアンマッチエラーの報告後、書込み処理は中断されることになる。   (S25) The RW control unit 110 reports a mode unmatch error to the server 200. Then, the process ends. After the mode unmatch error is reported, the writing process is interrupted.

(S26)RW制御部110は、書込みブロック番号が232以上であるか否かを判定する。232以上である場合、処理をステップS27に進める。232以上でない場合、処理をステップS28に進める。 (S26) The RW control unit 110 determines whether the write block number is 2 32 or more. If it is 2 32 or more, the process proceeds to step S27. If it is not 2 32 or more, the process proceeds to step S28.

(S27)RW制御部110は、論理EOT検出エラーをサーバ200に報告する。そして、処理を終了する。論理EOT検出エラーの報告後、書込み処理は中断されることになる。   (S27) The RW control unit 110 reports a logical EOT detection error to the server 200. Then, the process ends. After reporting the logical EOT detection error, the write process will be interrupted.

(S28)RW制御部110は、テープ装置100の動作モードがEX36TRKモードであるか否かを判定する。EX36TRKモードである場合、処理をステップS29に進める。EX36TRKモードでない場合、処理を終了する。なお、EX36TRKモードでない場合は、128TRKモードであるということになる(128TRKモードでの書込みが継続される)。   (S28) The RW control unit 110 determines whether or not the operation mode of the tape device 100 is the EX36TRK mode. If it is in the EX36TRK mode, the process proceeds to step S29. If it is not in the EX36TRK mode, the process is terminated. If it is not in the EX36TRK mode, it means that it is in the 128TRK mode (writing in the 128TRK mode is continued).

(S29)RW制御部110は、書込みブロック番号が222以上であるか否かを判定する。222以上の場合、処理をステップS30に進める。222以上でない場合、処理をステップS31に進める。 (S29) The RW control unit 110 determines whether the write block number is 222 or more. In the case of 222 or more, the process proceeds to step S30. If not 22 or greater, the process proceeds to step S31.

(S30)RW制御部110は、EX36TRK使用フラグ321を“true”に設定する。そして、処理を終了する(EX36TRKモード(128TRKモード相当)での書込みが継続される)。   (S30) The RW control unit 110 sets the EX36TRK use flag 321 to “true”. Then, the processing is terminated (writing in the EX36TRK mode (corresponding to the 128TRK mode) is continued).

(S31)RW制御部110は、EX36TRK使用フラグ321を“false”に設定する。そして、処理を終了する(EX36TRKモード(128TRKモード相当)での書込みが継続される)。   (S31) The RW control unit 110 sets the EX36TRK use flag 321 to “false”. Then, the processing is terminated (writing in the EX36TRK mode (corresponding to the 128TRK mode) is continued).

なお、複数のブロック番号に対してシーケンシャルに連続して書込みを行う場合には、ステップS21,S24,S28のモード確認は1度実行すれば2回目以降は実行しなくてもよい(2回目以降も判定結果は同じになるため)。その場合、RW制御部110は、1回目に実行した手順と同じ手順で、ブロック番号の判定を行うことになる(例えば、1回目にステップS21でYesであった場合、2回目以降はステップS21の判定を行うまでもなくステップS22の判定によりブロック番号の判定を行う)。また、RW制御部110は、2回目以降、設定済のフラグ内容から変更がない場合はステップS30,S31をスキップしてよい(例えば、既に“true”が設定されている場合に上書きして“true”を設定せずにスキップしてよい)。   Note that when sequential writing is sequentially performed on a plurality of block numbers, the mode check in steps S21, S24, and S28 may be executed once and then not executed after the second (after the second time). Because the judgment result will be the same). In that case, the RW control unit 110 determines the block number in the same procedure as the procedure executed for the first time (for example, if Yes in step S21 for the first time, step S21 for the second and subsequent times). The block number is determined based on the determination in step S22 without needing to be determined). Further, the RW control unit 110 may skip steps S30 and S31 if there is no change from the contents of the set flag after the second time (for example, overwriting when “true” is already set, “ You may skip without setting "true").

図12は、読出し時ブロック番号管理処理の例を示すフローチャートである。以下、図12に示す処理をステップ番号に沿って説明する。以下の手順は、ドライブ105またはドライブ106を用いた磁気テープ310からのデータ読出し時(データはブロック番号の昇順にシーケンシャルに読出される)、ブロック番号がインクリメントされるたびに実行される。   FIG. 12 is a flowchart illustrating an example of a block number management process at the time of reading. In the following, the process illustrated in FIG. 12 will be described in order of step number. The following procedure is executed each time the block number is incremented when data is read from the magnetic tape 310 using the drive 105 or the drive 106 (data is read sequentially in ascending order of the block number).

(S41)RW制御部110は、テープ装置100の動作モードが18TRKまたは36TRKモードの何れかであるか否かを判定する。18TRKまたは36TRKモードの何れかである場合、処理をステップS42に進める。18TRKまたは36TRKモードの何れでもない場合、処理をステップS44に進める。   (S41) The RW control unit 110 determines whether the operation mode of the tape device 100 is either 18TRK or 36TRK mode. If it is either 18TRK or 36TRK mode, the process proceeds to step S42. If it is not in 18TRK or 36TRK mode, the process proceeds to step S44.

(S42)RW制御部110は、読出し対象のブロック番号(読出しブロック番号)が222以上であるか否かを判定する。222以上の場合、処理をステップS43に進める。222以上でない場合、処理を終了する(18TRKまたは36TRKモードでの読出しが継続される)。 (S42) The RW control unit 110 determines whether the block number to be read (read block number) is 222 or more. In the case of 222 or more, the process proceeds to step S43. If not 22 or more, the process ends (reading in 18TRK or 36TRK mode is continued).

(S43)RW制御部110は、論理EOT検出エラーをサーバ200に報告する。そして、処理を終了する。論理EOT検出エラーの報告後、読出し処理は中断されることになる。   (S43) The RW control unit 110 reports a logical EOT detection error to the server 200. Then, the process ends. After reporting a logical EOT detection error, the read process will be interrupted.

(S44)RW制御部110は、テープ装置100の動作モードが128TRKまたはEX36TRKモードの何れかであるか否かを判定する。128TRKまたはEX36TRKモードの何れかである場合、処理をステップS46に進める。128TRKまたはEX36TRKモードの何れでもない場合、処理をステップS45に進める。   (S44) The RW control unit 110 determines whether or not the operation mode of the tape device 100 is either the 128TRK mode or the EX36TRK mode. If it is either 128TRK or EX36TRK mode, the process proceeds to step S46. If neither the 128TRK mode nor the EX36TRK mode is selected, the process proceeds to step S45.

(S45)RW制御部110は、モードアンマッチエラーをサーバ200に報告する。そして、処理を終了する。モードアンマッチエラーの報告後、読出し処理は中断されることになる。   (S45) The RW control unit 110 reports a mode unmatch error to the server 200. Then, the process ends. After reporting the mode unmatch error, the reading process will be interrupted.

(S46)RW制御部110は、読出しブロック番号が232以上であるか否かを判定する。232以上である場合、処理をステップS47に進める。232以上でない場合、処理を終了する(128TRKモードまたはEX36TRKモード(128TRKモード相当)での読出しが継続される)。 (S46) The RW control unit 110 determines whether the read block number is 2 32 or more. If it is 2 32 or more, the process proceeds to step S47. If it is not equal to or greater than 32 , the process ends (reading in 128 TRK mode or EX36 TRK mode (corresponding to 128 TRK mode) is continued).

(S47)RW制御部110は、論理EOT検出エラーをサーバ200に報告する。そして、処理を終了する。論理EOT検出エラーの報告後、読出し処理は中断されることになる。   (S47) The RW control unit 110 reports a logical EOT detection error to the server 200. Then, the process ends. After reporting a logical EOT detection error, the read process will be interrupted.

なお、複数のブロック番号に対してシーケンシャルに連続して読出しを行う場合には、ステップS41,S44のモード確認は1度実行すれば2回目以降は実行しなくてもよい(2回目以降も判定結果は同じになるため)。その場合、RW制御部110は、1回目に実行した手順と同じ手順で、ブロック番号の判定を行うことになる(例えば、1回目にステップS41でYesであった場合、2回目以降はステップS41の判定を行うまでもなくステップS42の判定によりブロック番号の判定を行う)。   Note that when sequential reading is sequentially performed on a plurality of block numbers, the mode confirmation in steps S41 and S44 may be performed once and then not performed after the second time (the second and subsequent times are also determined). Because the result will be the same). In that case, the RW control unit 110 determines the block number in the same procedure as the procedure executed for the first time (for example, if Yes in step S41 for the first time, the step S41 for the second and subsequent times). The block number is determined based on the determination in step S42 without having to perform the determination).

図13は、エラー時ブロック番号報告処理の例を示すフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。
(S51)RW制御部110は、ドライブ105に収納されたカートリッジ300の磁気テープ310に対するアクセスでエラーが発生したことを検出する。RW制御部110は、エラー発生をサーバ200に報告する。このとき、カートリッジ300の磁気テープ310に格納されたVOL IDもサーバ200に報告する。報告されたVOL IDは、サーバ200によって保持される。その後、RW制御部110は、RDBIDコマンドをサーバ200から受信する。
FIG. 13 is a flowchart illustrating an example of an error block number reporting process. In the following, the process illustrated in FIG. 13 will be described in order of step number.
(S51) The RW control unit 110 detects that an error has occurred in accessing the magnetic tape 310 of the cartridge 300 accommodated in the drive 105. The RW control unit 110 reports an error occurrence to the server 200. At this time, the VOL ID stored in the magnetic tape 310 of the cartridge 300 is also reported to the server 200. The reported VOL ID is held by the server 200. Thereafter, the RW control unit 110 receives an RDBID command from the server 200.

(S52)RW制御部110は、アクセスエラーが発生したタイミングにおけるアクセス先のブロック番号(エラー時ブロック番号)をドライブ105から取得する。
(S53)RW制御部110は、ドライブ105にマウントされているカートリッジ300のCM320から、EXT36TRK使用フラグ321を取得する。
(S52) The RW control unit 110 acquires from the drive 105 the block number of the access destination at the timing when the access error occurs (block number at the time of error).
(S53) The RW control unit 110 acquires the EXT36TRK use flag 321 from the CM 320 of the cartridge 300 mounted on the drive 105.

(S54)RW制御部110は、EXT36TRK使用フラグ321が“true”であるか否かを判定する。“true”である場合、処理をステップS55に進める。“true”でない(すなわち、“false”である)場合、処理をステップS57に進める。EXT36TRK使用フラグ321が“true”の場合、EXT36TRKモードが用いられており、エラー時ブロック番号が、22ビットで表わされるブロック番号の上限を超過していることになる。一方、EXT36TRK使用フラグ321が“false”の場合、EXT36TRKモードが用いられていない、あるいは、EXT36TRKモードが用いられているがエラー時ブロック番号が22ビットで表わされるブロック番号の上限以下であることになる。   (S54) The RW control unit 110 determines whether or not the EXT36TRK use flag 321 is “true”. If it is “true”, the process proceeds to step S55. If it is not “true” (that is, “false”), the process proceeds to step S57. When the EXT36TRK use flag 321 is “true”, the EXT36TRK mode is used, and the error block number exceeds the upper limit of the block number represented by 22 bits. On the other hand, when the EXT36TRK use flag 321 is “false”, the EXT36TRK mode is not used, or the EXT36TRK mode is used but the block number at the time of error is below the upper limit of the block number represented by 22 bits. Become.

(S55)RW制御部110は、エラー時ブロック番号の下位22ビットを除去した上位10ビット(オフセット値)をCM320に記録する。例えば、エラー時ブロック番号が“0b10100000000000000000000100000000”の場合、オフセット値322は、“0b1010000000”である。   (S55) The RW control unit 110 records the upper 10 bits (offset value) obtained by removing the lower 22 bits of the error block number in the CM 320. For example, when the error block number is “0b10100000000000000000000100000000”, the offset value 322 is “0b1010000000”.

(S56)RW制御部110は、エラー時ブロック番号の下位22ビット(ダミーのブロック番号)をサーバ200(ホスト)に報告する。例えば、ステップS55のエラー時ブロック番号に対して、サーバ200に報告されるダミーのブロック番号は、“0b0000000000000100000000”である。そして、処理を終了する。   (S56) The RW control unit 110 reports the lower 22 bits (dummy block number) of the block number at the time of error to the server 200 (host). For example, the dummy block number reported to the server 200 for the error block number in step S55 is “0b0000000000000100000000”. Then, the process ends.

(S57)RW制御部110は、エラー時ブロック番号をサーバ200(ホスト)に報告する。この場合、サーバ200では、エラー時ブロック番号として下位22ビットのみが認識される(上位10ビットは全て“0”なので、サーバ200側で当該上位10ビットが破棄されても問題ない)。そして、処理を終了する。   (S57) The RW control unit 110 reports the error block number to the server 200 (host). In this case, the server 200 recognizes only the lower 22 bits as the block number at the time of error (since the upper 10 bits are all “0”, there is no problem even if the upper 10 bits are discarded on the server 200 side). Then, the process ends.

サーバ200は、RDBIDコマンドに対してエラー時ブロック番号をテープ装置100から取得すると、カートリッジ300を別のドライブに移すようオペレータに報知する。オペレータは、ドライブ105からドライブ106へカートリッジ300を移し替える。   When the server 200 acquires the error block number from the tape device 100 in response to the RDBID command, the server 200 notifies the operator to move the cartridge 300 to another drive. The operator transfers the cartridge 300 from the drive 105 to the drive 106.

図14は、カートリッジ確認処理の例を示す図である。以下、図14に示す処理をステップ番号に沿って説明する。
(S61)RW制御部110は、ドライブ106(他ドライブ)に収納されたカートリッジ300をマウントする。これにより、ドライブ106を用いた磁気テープ310およびCM320へのアクセスが可能となる。RW制御部110は、カートリッジ300がドライブ106にマウントされたことをサーバ200に通知する。
FIG. 14 is a diagram illustrating an example of the cartridge confirmation process. In the following, the process illustrated in FIG. 14 will be described in order of step number.
(S61) The RW control unit 110 mounts the cartridge 300 stored in the drive 106 (another drive). As a result, access to the magnetic tape 310 and the CM 320 using the drive 106 becomes possible. The RW control unit 110 notifies the server 200 that the cartridge 300 is mounted on the drive 106.

(S62)RW制御部110は、サーバ200からVOL IDの報告指示を受け付ける。RW制御部110は、磁気テープ310に格納されたVOL IDを取得して、サーバ200に報告する。   (S62) The RW control unit 110 receives a VOL ID report instruction from the server 200. The RW control unit 110 acquires the VOL ID stored in the magnetic tape 310 and reports it to the server 200.

サーバ200は、ドライブ106にマウントされたカートリッジ300が、ドライブ105でアクセスエラーになったものと同一であることをVOL IDにより判断する。例えば、サーバ200は、エラー発生時にテープ装置100からカートリッジ300のVOL IDを取得し、保持している(図13のステップS51)。このため、サーバ200は、保持されているVOL IDと、ステップS62で取得したVOL IDとが一致していれば、ドライブ106にマウントされたカートリッジ300がDDR対象のものであると判断できる。一方、両方のVOL IDが一致していなければ、ドライブ106にマウントされたカートリッジ300はDDR対象ではないということになる。   The server 200 determines from the VOL ID that the cartridge 300 mounted on the drive 106 is the same as the cartridge that has caused the access error in the drive 105. For example, the server 200 acquires and holds the VOL ID of the cartridge 300 from the tape device 100 when an error occurs (step S51 in FIG. 13). Therefore, the server 200 can determine that the cartridge 300 mounted on the drive 106 is a DDR target if the held VOL ID matches the VOL ID acquired in step S62. On the other hand, if both VOL IDs do not match, the cartridge 300 mounted on the drive 106 is not a DDR target.

サーバ200は、ドライブ106にマウントされたカートリッジ300がDDR対象のものであると判断すると、LOCATEコマンドを用いて、磁気テープ310に対するアクセス再開を行うブロック番号を、テープ装置100に通知する。テープ装置100は、LOCATEコマンドで指定されたブロック番号を基に、磁気テープ310の位置付けを行う。   When the server 200 determines that the cartridge 300 mounted on the drive 106 is a DDR target, the server 200 notifies the tape device 100 of a block number for resuming access to the magnetic tape 310 using a LOCATE command. The tape device 100 positions the magnetic tape 310 based on the block number specified by the LOCATE command.

図15は、位置付け処理の例を示す図である。以下、図15に示す処理をステップ番号に沿って説明する。
(S71)RW制御部110は、サーバ200(ホスト)からブロック番号を指定したLOCATEコマンドを受信する。RW制御部110は、サーバ200から受信したブロック番号を記憶部120に記録する。
FIG. 15 is a diagram illustrating an example of the positioning process. In the following, the process illustrated in FIG. 15 will be described in order of step number.
(S71) The RW control unit 110 receives a LOCATE command specifying a block number from the server 200 (host). The RW control unit 110 records the block number received from the server 200 in the storage unit 120.

(S72)RW制御部110は、ドライブ106にマウントされているカートリッジ300のCM320から、EXT36TRK使用フラグ321を取得する。
(S73)RW制御部110は、EXT36TRK使用フラグ321が“true”であるか否かを判定する。“true”である場合、処理をステップS74に進める。“true”でない(すなわち、“false”である)場合、処理をステップS80に進める。
(S72) The RW control unit 110 acquires the EXT36TRK use flag 321 from the CM 320 of the cartridge 300 mounted on the drive 106.
(S73) The RW control unit 110 determines whether or not the EXT36TRK use flag 321 is “true”. If it is “true”, the process proceeds to step S74. If it is not “true” (that is, “false”), the process proceeds to step S80.

(S74)RW制御部110は、テープ装置100(自テープ装置)の動作モードが、EXT36TRKモードであるか否かを判定する。EXT36TRKモードである場合、処理をステップS77に進める。EXT36TRKモードでない場合、処理をステップS75に進める。   (S74) The RW control unit 110 determines whether or not the operation mode of the tape device 100 (self tape device) is the EXT36TRK mode. If it is in the EXT36TRK mode, the process proceeds to step S77. If not in the EXT36TRK mode, the process proceeds to step S75.

(S75)RW制御部110は、テープ装置100(自テープ装置)の動作モードが、18TRKまたは36TRKモードであるか否かを判定する。18TRKまたは36TRKモードである場合、処理をステップS76に進める。18TRKまたは36TRKモードでない場合(すなわち、128TRKモードの場合)、処理をステップS77に進める。128TRKモードの場合にステップS77へ進める理由は、128TRKモードであれば、EX36TRKモードの全ブロック番号での位置付けが可能だからである。   (S75) The RW control unit 110 determines whether the operation mode of the tape device 100 (self tape device) is the 18TRK or 36TRK mode. If it is 18TRK or 36TRK mode, the process proceeds to step S76. If it is not the 18TRK or 36TRK mode (that is, the 128TRK mode), the process proceeds to step S77. The reason for proceeding to step S77 in the 128 TRK mode is that, in the 128 TRK mode, positioning with all block numbers in the EX36TRK mode is possible.

(S76)RW制御部110は、磁気テープ310の位置付けを行えない旨(位置付け不可)をサーバ200に報告する。そして、処理を終了する。この場合、テープ装置100では、DDR処理を続行することができないことになる。   (S76) The RW control unit 110 reports to the server 200 that the magnetic tape 310 cannot be positioned (cannot be positioned). Then, the process ends. In this case, the tape device 100 cannot continue the DDR process.

(S77)RW制御部110は、サーバ200(ホスト)から受信したブロック番号とCM320に格納されたオフセット値322とをOR演算する。ここで、オフセット値322は、エラー時ブロック番号の上位10ビットを抽出し、下位22ビットを除去したものである。このため、RW制御部110は、オフセット値322の下位に22ビット分の“0”を加えた値と、サーバ200から取得したブロック番号とをOR演算する。より具体的には、オフセット値322が“0b1010000000”である場合、まず、下位に22ビット分の“0”を加えたOR演算用のオフセット値“0b10100000000000000000000000000000”を生成する。そして、サーバ200から取得したブロック番号“0b0000000000000100000000”の各桁と上記OR演算用のオフセット値の各桁とのORをとる。その結果、RW制御部110は、エラー時ブロック番号“0b10100000000000000000000100000000”を得る。   (S77) The RW control unit 110 performs an OR operation on the block number received from the server 200 (host) and the offset value 322 stored in the CM 320. Here, the offset value 322 is obtained by extracting the upper 10 bits of the error block number and removing the lower 22 bits. Therefore, the RW control unit 110 performs an OR operation on the value obtained by adding “0” for 22 bits to the lower order of the offset value 322 and the block number acquired from the server 200. More specifically, when the offset value 322 is “0b1010000000”, first, an offset value “0b10100000000000000000000000000” for 22 bits of “0” is added to the lower order. Then, an OR is performed between each digit of the block number “0b0000000000000100000000” acquired from the server 200 and each digit of the offset value for the OR operation. As a result, the RW control unit 110 obtains the error block number “0b10100000000000000000000100000000”.

(S78)RW制御部110は、CM320に記録されたオフセット値322をクリアする。その結果、オフセット値322は設定なしとなる。
(S79)RW制御部110は、ステップS77のOR演算で求めたブロック番号(エラー時ブロック番号)でドライブ106に位置付けを指示する。これにより、ドライブ106の磁気ヘッドが、磁気テープ310の当該エラー時ブロック番号に対応する位置に配置される。そして、処理を終了する。
(S78) The RW control unit 110 clears the offset value 322 recorded in the CM 320. As a result, the offset value 322 is not set.
(S79) The RW control unit 110 instructs the drive 106 to position with the block number (block number at the time of error) obtained by the OR operation in step S77. As a result, the magnetic head of the drive 106 is arranged at a position corresponding to the error block number of the magnetic tape 310. Then, the process ends.

(S80)RW制御部110は、サーバ200(ホスト)から受信したブロック番号でドライブ106に位置付けを指示する。EXT36TRK使用フラグが“false”の場合、サーバ200から受信したブロック番号はエラー時ブロック番号(より正確には、エラー時ブロック番号の下位22ビット)に一致するためである(32ビットのうち上位10ビットは全て“0”としてよい)。これにより、ドライブ106の磁気ヘッドが、磁気テープ310の当該エラー時ブロック番号に対応する位置に配置される。   (S80) The RW control unit 110 instructs the drive 106 to position with the block number received from the server 200 (host). This is because when the EXT36TRK use flag is “false”, the block number received from the server 200 matches the error block number (more precisely, the lower 22 bits of the error block number) (the upper 10 of 32 bits). All bits may be “0”). As a result, the magnetic head of the drive 106 is arranged at a position corresponding to the error block number of the magnetic tape 310.

なお、ステップS74,S75,S76は、テープ装置100とは異なるテープ装置で、22ビットのブロック番号上限を超えてアクセスされた磁気テープ310が、DDRのためにテープ装置100に収納された場合を想定したモード確認処理である。22ビットより大きなブロック番号にアクセスされた磁気テープ310は、移動先のテープ装置の動作モードがEXT36TRKモードまたは128TRKモードの場合は、移動先のテープ装置により正しく位置付け可能である。一方、移動先のテープ装置が18TRKモードまたは36TRKモードの場合は、22ビットより大きなブロック番号を利用できないので、位置付け不可となる。後者の場合、仮に、サーバ200から指定されたブロック番号からアクセス再開してしまうと、適切でないブロック番号のデータが上書きされたり、読出されたりするおそれがある。そこで、RW制御部110は、ステップS76で位置付け不可をサーバ200に報告し、このような不具合が起こらないよう制御する。   Steps S74, S75, and S76 are cases in which the magnetic tape 310 accessed beyond the upper limit of the 22-bit block number is stored in the tape device 100 for DDR in a tape device different from the tape device 100. This is an assumed mode confirmation process. The magnetic tape 310 accessed with a block number larger than 22 bits can be correctly positioned by the destination tape device when the operation mode of the destination tape device is the EXT36TRK mode or the 128TRK mode. On the other hand, when the destination tape device is in the 18TRK mode or the 36TRK mode, a block number larger than 22 bits cannot be used, so that it cannot be positioned. In the latter case, if access is resumed from the block number designated by the server 200, data of an inappropriate block number may be overwritten or read out. Accordingly, the RW control unit 110 reports that the positioning is impossible to the server 200 in step S76 and performs control so that such a problem does not occur.

ただし、テープ装置100のみを用いてDDRを行う場合でも、ドライブ105からカートリッジ300を取出した後、テープ装置100のモードがEX36TRKモードから、36TRKモードに変更され、その後にカートリッジ300がドライブ106に移されることも考えられる。このようなケースを考慮すると、ステップS74,S75,S76の処理は、テープ装置100のみを用いてDDRを行う場合にも上記不具合を回避する上でも有用である。   However, even when DDR is performed using only the tape device 100, after the cartridge 300 is removed from the drive 105, the mode of the tape device 100 is changed from the EX36TRK mode to the 36TRK mode, and then the cartridge 300 is moved to the drive 106. It can also be considered. In consideration of such a case, the processes in steps S74, S75, and S76 are useful for avoiding the above-described problem even when performing DDR using only the tape device 100.

次に、以上の手順によるテープ装置100とサーバ200との間のEX36TRKモードでの処理の流れの具体例を説明する。下記では、一例として、カートリッジ300の磁気テープ310に対するデータの書込みを行う場合を説明する。   Next, a specific example of the processing flow in the EX36TRK mode between the tape device 100 and the server 200 according to the above procedure will be described. Hereinafter, as an example, a case where data is written to the magnetic tape 310 of the cartridge 300 will be described.

図16は、EX36TRKモードでの書込み時のシーケンス例を示す図である。以下、図16に示す処理をステップ番号に沿って説明する。
(ST1)サーバ200は、テープ装置100に対して書込み対象のデータとともに書込みコマンドを送信する。RW制御部110は、サーバ200から書込みコマンドおよび書込み対象のデータを受信する。RW制御部110は、受信した書込みコマンドに応じて、ドライブ105に収納されたカートリッジ300の磁気テープ310に対するデータの書込みを開始する。データの書込みは、ブロック番号の昇順にシーケンシャルに行われる。例えば、RW制御部110は書込み対象のデータをサーバ200から継続的に受信して記憶部120に格納し、記憶部120からデータを取得して磁気テープ310へ書込む。
FIG. 16 is a diagram showing a sequence example at the time of writing in the EX36TRK mode. In the following, the process illustrated in FIG. 16 will be described in order of step number.
(ST1) The server 200 transmits a write command to the tape device 100 together with data to be written. The RW control unit 110 receives a write command and write target data from the server 200. The RW control unit 110 starts writing data to the magnetic tape 310 of the cartridge 300 housed in the drive 105 in accordance with the received write command. Data is written sequentially in ascending order of block numbers. For example, the RW control unit 110 continuously receives data to be written from the server 200 and stores it in the storage unit 120, acquires the data from the storage unit 120, and writes the data to the magnetic tape 310.

(ST2)RW制御部110は、(図16ではBLK番号と表記)が22ビットで表わされる上限よりも大きなブロック番号に対応する位置にデータを書込む。
(ST3)RW制御部110は、EX36TRK使用フラグ321を“true”に設定する。
(ST2) The RW control unit 110 writes data at a position corresponding to a block number larger than the upper limit represented by 22 bits (indicated as BLK number in FIG. 16).
(ST3) The RW control unit 110 sets the EX36TRK use flag 321 to “true”.

(ST4)RW制御部110は、ドライブ105で書込みエラーが発生したことを検出する。
(ST5)RW制御部110は、書込みエラーが発生したことをサーバ200に通知する。RW制御部110は、書込みエラーとともに、磁気テープ310に格納されたVOL IDをサーバ200に通知してもよい。サーバ200は、書込みエラー通知を受信する。サーバ200は、書込み対象のデータのうち、何れの部分でエラーが発生したかを示す情報を記憶部220に記録する。サーバ200は、DDRにより書込みを再開する際に、当該情報で示されるデータ部分から、書込みを再開する。
(ST4) The RW control unit 110 detects that a write error has occurred in the drive 105.
(ST5) The RW control unit 110 notifies the server 200 that a write error has occurred. The RW control unit 110 may notify the server 200 of the VOL ID stored in the magnetic tape 310 together with the write error. The server 200 receives a write error notification. The server 200 records information indicating in which part of the data to be written an error has occurred in the storage unit 220. When the server 200 resumes writing by DDR, the server 200 resumes writing from the data portion indicated by the information.

(ST6)サーバ200は、テープ装置100に対してRDBIDコマンドを送信する。テープ装置100は、RDBIDコマンドを受信する。
(ST7)RW制御部110は、32ビットで表わされるエラー時ブロック番号をドライブ105から取得する。
(ST6) The server 200 transmits an RDBID command to the tape device 100. The tape device 100 receives the RDBID command.
(ST7) The RW control unit 110 acquires from the drive 105 an error block number represented by 32 bits.

(ST8)RW制御部110は、エラー時ブロック番号から上位10ビットを抽出し、当該上位10ビットをオフセット値322として、カートリッジ300のCM320に記録する。   (ST8) The RW control unit 110 extracts the upper 10 bits from the block number at the time of error, and records the upper 10 bits as the offset value 322 in the CM 320 of the cartridge 300.

(ST9)RW制御部110は、エラー時ブロック番号から下位22ビットを抽出し、当該下位22ビット(ダミーのブロック番号)をサーバ200に報告する。サーバ200は、カートリッジ300をドライブ105から他のドライブに移し替えるようオペレータに報知する。   (ST9) The RW control unit 110 extracts the lower 22 bits from the block number at the time of error, and reports the lower 22 bits (dummy block number) to the server 200. The server 200 notifies the operator to transfer the cartridge 300 from the drive 105 to another drive.

(ST10)カートリッジ300が、ドライブ105からドライブ106に移し替えられる。ドライブ105からカートリッジ300を取出す際、RW制御部110は、ドライブ105によるカートリッジ300のアンマウント処理を行う。また、ドライブ106にカートリッジ300を収納した際、RW制御部110は、ドライブ106によるカートリッジ300のマウント処理を行う。RW制御部110は、ドライブ106によるカートリッジ300のマウント処理を完了したことをサーバ200に通知する。   (ST10) The cartridge 300 is transferred from the drive 105 to the drive 106. When taking out the cartridge 300 from the drive 105, the RW control unit 110 performs an unmount process of the cartridge 300 by the drive 105. Further, when the cartridge 300 is stored in the drive 106, the RW control unit 110 performs the mounting process of the cartridge 300 by the drive 106. The RW control unit 110 notifies the server 200 that the mounting process of the cartridge 300 by the drive 106 has been completed.

(ST11)RW制御部110は、磁気テープ310に格納されたVOL IDをドライブ106から取得する。
(ST12)RW制御部110は、サーバ200と通信して、カートリッジ300がドライブ105から移し替えられたものであることを相互に確認する。具体的には、エラー時においてサーバ200に報告されたVOL IDと、ドライブ106に移し替えられたカートリッジ300から取得されたVOL IDと、が一致することを確認する。
(ST11) The RW control unit 110 acquires the VOL ID stored in the magnetic tape 310 from the drive 106.
(ST12) The RW control unit 110 communicates with the server 200 to mutually confirm that the cartridge 300 has been transferred from the drive 105. Specifically, it is confirmed that the VOL ID reported to the server 200 at the time of the error matches the VOL ID acquired from the cartridge 300 transferred to the drive 106.

(ST13)サーバ200は、テープ装置100に対してLOCATEコマンドを送信する。LOCATEコマンドは、ステップST9で受け付けた22ビットで表わされるブロック番号の指定を含む。RW制御部110は、LOCATEコマンドを受信する。   (ST13) The server 200 transmits a LOCATE command to the tape device 100. The LOCATE command includes designation of a block number represented by 22 bits received in step ST9. The RW control unit 110 receives the LOCATE command.

(ST14)RW制御部110は、カートリッジ300のCM320に格納されたオフセット値322をドライブ106から取得する。
(ST15)RW制御部110は、ステップST13で取得したブロック番号(サーバ200に報告されたダミーのブロック番号)と、ステップST14で取得したオフセット値とを基に、エラー時ブロック番号(32ビット)を生成する。
(ST14) The RW control unit 110 acquires the offset value 322 stored in the CM 320 of the cartridge 300 from the drive 106.
(ST15) The RW control unit 110, based on the block number acquired in step ST13 (dummy block number reported to the server 200) and the offset value acquired in step ST14, the error block number (32 bits) Is generated.

(ST16)RW制御部110は、ステップST15で生成した32ビットのエラー時ブロック番号を指定して、磁気テープ310の位置付けをドライブ106に指示する。
(ST17)RW制御部110は、位置付け完了をサーバ200に報告する。サーバ200は、位置付け完了の報告を受信する。
(ST16) The RW control unit 110 designates the 32-bit error block number generated in step ST15 and instructs the drive 106 to position the magnetic tape 310.
(ST17) The RW control unit 110 reports positioning completion to the server 200. Server 200 receives the positioning completion report.

(ST18)サーバ200は、テープ装置100に対して書込み対象のデータとともに書込みコマンドを送信する。ここで、サーバ200は、エラーにより書込みが中断されたデータ箇所から、テープ装置100に送信すればよい。例えば、ステップST5で示したように、サーバ200は、エラーにより書込みが中断された箇所を記憶部220に記録しておけば、本ステップST18において、記憶部220に記憶された情報により書込みが中断されたデータ箇所を特定できる。RW制御部110は、サーバ200から書込みコマンドおよび書込み対象のデータを受信する。   (ST18) The server 200 transmits a write command to the tape device 100 together with data to be written. Here, the server 200 may transmit to the tape device 100 from the data location where writing was interrupted due to an error. For example, as shown in step ST5, if the server 200 records the location where writing was interrupted due to an error in the storage unit 220, the writing is interrupted due to the information stored in the storage unit 220 in step ST18. Can be identified. The RW control unit 110 receives a write command and write target data from the server 200.

(ST19)RW制御部110は、書込みコマンドに応じて、磁気テープ310に対し、エラー時ブロック番号に対応する位置から、データの書込みを再開する。
このように、テープ装置100によれば、磁気テープ310をドライブ105からドライブ106に移し替えた後に、磁気テープ310に対するアクセス再開位置を適切に決定できる。このため、ドライブ106において磁気テープ310に対する非効率的なアクセス(例えば、実際の書込みを行わずに正常書込みしたことをサーバ200に報告する「空書き」処理など)を行わずに済む。よって、LTO型の磁気テープ310の記憶領域をフルに利用可能としながら、DDRによるリカバリ処理を効率的に行えるようになる。
(ST19) The RW control unit 110 resumes data writing to the magnetic tape 310 from the position corresponding to the error block number in response to the write command.
As described above, according to the tape device 100, after the magnetic tape 310 is transferred from the drive 105 to the drive 106, an access resuming position for the magnetic tape 310 can be appropriately determined. Therefore, the drive 106 does not need to perform inefficient access to the magnetic tape 310 (for example, “blank writing” processing for reporting to the server 200 that normal writing has been performed without actually writing). Therefore, the recovery process by DDR can be efficiently performed while the storage area of the LTO type magnetic tape 310 can be fully utilized.

図17は、DDRの他の例を示す図である。前述のように、サーバ200には、テープ装置100に加えて、テープ装置100aも接続されている。この場合、テープ装置100,100aは、上記と同様に、EX36TRKモードでのDDR処理を行える。具体的には、テープ装置100にカートリッジ300を収納して、磁気テープ310にアクセスしている際に、アクセスエラーが発生した場合を考える。このとき、エラー時ブロック番号が22ビットの上限を超えていると、カートリッジ300のCM320には、EX36TRK使用フラグ321(“true”)およびオフセット値322が格納されることになる。   FIG. 17 is a diagram illustrating another example of the DDR. As described above, in addition to the tape device 100, the tape device 100a is also connected to the server 200. In this case, the tape devices 100 and 100a can perform DDR processing in the EX36TRK mode, as described above. Specifically, a case where an access error occurs when the cartridge 300 is stored in the tape device 100 and the magnetic tape 310 is accessed will be considered. At this time, if the block number at the time of error exceeds the upper limit of 22 bits, an EX36TRK use flag 321 (“true”) and an offset value 322 are stored in the CM 320 of the cartridge 300.

すると、テープ装置100aが備えるドライブにカートリッジ300を移し替えることで、テープ装置100aは、EX36TRK使用フラグ321およびオフセット値322をCM320から取得できる。このため、テープ装置100aは、CM320から取得したEX36TRK使用フラグ321およびオフセット値322を基に、図15の手順を実行できる(図16の手順のステップST11以降の処理を、テープ装置100aによって実行する)。このように、EX36TRK使用フラグ321およびオフセット値322をCM320に格納することで、複数のテープ装置を用いてDDRを実行できる。例えば、テープ装置100,100aが備えるドライブが1つの場合にも複数のテープ装置を用いてDDRを実行できる。   Then, the tape device 100a can acquire the EX36TRK use flag 321 and the offset value 322 from the CM 320 by transferring the cartridge 300 to the drive included in the tape device 100a. Therefore, the tape device 100a can execute the procedure in FIG. 15 based on the EX36TRK use flag 321 and the offset value 322 acquired from the CM 320 (the processing after step ST11 in the procedure in FIG. 16 is executed by the tape device 100a. ). In this way, by storing the EX36TRK use flag 321 and the offset value 322 in the CM 320, DDR can be executed using a plurality of tape devices. For example, even when the tape devices 100 and 100a have one drive, DDR can be executed using a plurality of tape devices.

ところで、例えば、上記のようにストレージ装置(例えば、テープ装置100)が、上位装置(例えば、サーバ200)で管理可能なブロック番号よりも大きなブロック番号にデータを書込むことで、上位装置のソフトウェアに起因する磁気テープの使用容量制限を緩和し得る。このとき、ストレージ装置が、ストレージ装置で管理可能な複数のブロック番号を、上位装置で管理可能な1つのブロック番号に対応付けることで、DDRなどのリカバリ処理を行うことが考えられる(この方法を「比較例の方法」と称する)。しかし、比較例の方法では、カートリッジ300を正常なドライブに移し替えた後の磁気テープ310へのアクセスの再開が問題となる。   By the way, for example, as described above, the storage device (for example, the tape device 100) writes data to a block number larger than the block number that can be managed by the higher-level device (for example, the server 200). It is possible to relax the usage capacity limitation of the magnetic tape due to the above. At this time, it is conceivable that the storage apparatus performs recovery processing such as DDR by associating a plurality of block numbers that can be managed by the storage apparatus with one block number that can be managed by the host apparatus (this method is referred to as “ Referred to as “Comparative Method”). However, in the method of the comparative example, resumption of access to the magnetic tape 310 after the cartridge 300 is transferred to a normal drive becomes a problem.

例えば、ストレージ装置が管理する連続するブロック番号“A1”、“A2”、“A3”(A1<A2<A3)を、上位装置が管理するブロック番号“B1”に対応付け、エラー時にブロック番号“B1”を上位装置に報告することを考える。この場合、例えば、ストレージ装置は、カートリッジ300の移し替え後、上位装置から指定されるブロック番号“B1”に対し、ストレージ装置が管理するブロック番号“A1”、“A2”、“A3”の先頭の“A1”を、アクセス再開位置と決定する。ところが、例えばエラー発生前にブロック番号“A1”、“A2”へ正常にアクセスした後、ブロック番号“A3”へのアクセスでエラーが発生することもある。ブロック番号“B1”が上位装置から指定されただけでは、正常なドライブに移し替えた後に、エラー時のブロック番号“A3”に直接位置付けすることはできない。   For example, the consecutive block numbers “A1”, “A2”, “A3” (A1 <A2 <A3) managed by the storage device are associated with the block number “B1” managed by the host device, and the block number “ Consider reporting B1 ″ to the host device. In this case, for example, after the transfer of the cartridge 300, the storage apparatus starts the block numbers “A1”, “A2”, and “A3” managed by the storage apparatus with respect to the block number “B1” specified by the upper apparatus. "A1" is determined as the access resuming position. However, for example, after the block numbers “A1” and “A2” are normally accessed before the error occurs, an error may occur when accessing the block number “A3”. If the block number “B1” is simply designated by the host device, it cannot be positioned directly at the block number “A3” at the time of error after the drive is transferred to a normal drive.

そこで、カートリッジ300が正常なドライブに移し替えられた後、ストレージ装置は、上位装置から指定されたブロック番号“B1”に対し、まず、ブロック番号“A1”に位置付けすることになる。その後、ストレージ装置は、正常にアクセス済のブロック番号“A1”、“A2”へのアクセスを、再度疑似的に行って(例えば、実際の書込みを行わずに正常書込みしたことを上位装置に報告するなどの「空書き」処理)、アクセスを再開するブロック番号“A3”に到達する。このように、比較例の方法では、カートリッジ300を正常なドライブに移し替えた後に磁気テープ310に対して「空書き」のような非効率的なアクセスが発生するおそれがある。   Therefore, after the cartridge 300 is transferred to a normal drive, the storage apparatus first positions the block number “A1” with respect to the block number “B1” designated by the host apparatus. After that, the storage device performs pseudo access again to the block numbers “A1” and “A2” that have been normally accessed (for example, reports to the host device that normal writing has been performed without actually writing). The “blank writing” process such as the above) reaches the block number “A3” where the access is resumed. As described above, in the method of the comparative example, after the cartridge 300 is transferred to a normal drive, inefficient access such as “empty writing” may occur on the magnetic tape 310.

他方、第2の実施の形態の方法によれば、カートリッジ300を正常なドライブに移し替えた後、CM320に記録されたオフセット値により、サーバ200から指示されるブロック番号を補正して、エラー時のブロック番号に直接位置付けできる。このため、「空書き」のような非効率的なアクセスの発生を抑制できる。   On the other hand, according to the method of the second embodiment, after the cartridge 300 is transferred to a normal drive, the block number indicated by the server 200 is corrected based on the offset value recorded in the CM 320, and an error is detected. Can be positioned directly on the block number. For this reason, generation | occurrence | production of inefficient access like "empty writing" can be suppressed.

また、第2の実施の形態の方法によれば、カートリッジ300が備えるCM320にEXT36使用フラグ321やオフセット値322を記録する。このため、カートリッジ300を正常なドライブに移し替えさえすれば、移し替え先のストレージ装置によりCM320に記録された情報を基に、アクセス再開位置を適切に特定してDDR処理を継続できる。   Further, according to the method of the second embodiment, the EXT 36 use flag 321 and the offset value 322 are recorded in the CM 320 provided in the cartridge 300. Therefore, as long as the cartridge 300 is transferred to a normal drive, the DDR process can be continued by appropriately specifying the access resuming position based on the information recorded in the CM 320 by the transfer destination storage apparatus.

なお、第1の実施の形態の情報処理は、制御部1cとして用いられるプロセッサにプログラムを実行させることで実現できる。また、第2の実施の形態の情報処理は、プロセッサ101にプログラムを実行させることで実現できる。テープ装置100は、プロセッサ101およびRAM102を含むコンピュータを備えていると考えることができる。プログラムは、コンピュータ読み取り可能な記録媒体13に記録できる。   Note that the information processing of the first embodiment can be realized by causing a processor used as the control unit 1c to execute a program. The information processing according to the second embodiment can be realized by causing the processor 101 to execute a program. The tape device 100 can be considered to include a computer including a processor 101 and a RAM 102. The program can be recorded on a computer-readable recording medium 13.

例えば、プログラムを記録した記録媒体13を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体13に記録されたプログラムまたは他のコンピュータから受信したプログラムを、RAM102やNVRAM103などの記憶装置に格納し(インストールし)、当該記憶装置からプログラムを読み込んで実行してもよい。例えば、テープ装置100が備えるコンピュータは、サーバ200が記録媒体13またはネットワーク10を介して取得したプログラムを、サーバ200から取得して、RAM102やNVRAM103などの記憶装置に格納してもよい。   For example, the program can be distributed by distributing the recording medium 13 on which the program is recorded. Alternatively, the program may be stored in another computer and distributed via a network. For example, the computer stores (installs) a program recorded in the recording medium 13 or a program received from another computer in a storage device such as the RAM 102 or the NVRAM 103, and reads and executes the program from the storage device. Good. For example, the computer included in the tape device 100 may acquire the program acquired by the server 200 via the recording medium 13 or the network 10 from the server 200 and store it in a storage device such as the RAM 102 or the NVRAM 103.

1 ストレージ装置
1a,1b ドライブ
1c 制御部
2 情報処理装置
3 カートリッジ
3a 記録媒体
3b メモリ
DESCRIPTION OF SYMBOLS 1 Storage apparatus 1a, 1b Drive 1c Control part 2 Information processing apparatus 3 Cartridge 3a Recording medium 3b Memory

Claims (9)

記録媒体に対するアクセス先の位置を示すブロック番号を所定のビット数で管理する情報処理装置と接続されるストレージ装置であって、
前記記録媒体と前記記録媒体とは異なるメモリとを備えたカートリッジを収納可能であり、前記ビット数によるブロック番号の上限よりも大きなブロック番号により前記記録媒体にアクセス可能なドライブと、
前記ドライブにより前記記録媒体に対して前記上限よりも大きなブロック番号への書込みを行うと、当該書込みが行われたことを示す管理情報を前記メモリに格納し、
前記メモリに記憶された前記管理情報に基づいて、前記記録媒体の前記アクセスを実行する、制御部と、
を有するストレージ装置。
A storage device connected to an information processing device that manages a block number indicating a position of an access destination for a recording medium with a predetermined number of bits,
A drive capable of storing a cartridge including the recording medium and a memory different from the recording medium, and accessible to the recording medium by a block number larger than an upper limit of a block number by the number of bits;
When writing to the block number larger than the upper limit for the recording medium by the drive, management information indicating that the writing has been performed is stored in the memory,
A control unit that executes the access to the recording medium based on the management information stored in the memory;
A storage device.
前記ドライブを複数有し、
前記制御部は、第1のドライブによる前記記録媒体に対するアクセスでエラーが発生すると、前記ビット数とエラー時のブロック番号とに応じたオフセット値を前記メモリに格納し、前記カートリッジが第2のドライブに移された後、前記メモリに記憶された前記管理情報を検出すると、前記メモリに記憶された前記オフセット値に基づいて、前記記録媒体の前記アクセスを再開するブロック番号を前記第2のドライブに出力する、
請求項1記載のストレージ装置。
A plurality of the drives;
When an error occurs in access to the recording medium by the first drive, the control unit stores an offset value corresponding to the number of bits and a block number at the time of error in the memory, and the cartridge is in the second drive. When the management information stored in the memory is detected, the block number for restarting the access to the recording medium is assigned to the second drive based on the offset value stored in the memory. Output,
The storage apparatus according to claim 1.
前記制御部は、前記上限よりも大きな第1のブロック番号に対するアクセスでエラーが発生すると、前記ビット数で表わされる第2のブロック番号を前記第1のブロック番号から生成し、前記情報処理装置に送信する、請求項2記載のストレージ装置。   When an error occurs in an access to a first block number larger than the upper limit, the control unit generates a second block number represented by the number of bits from the first block number, and sends it to the information processing apparatus. The storage apparatus according to claim 2, which transmits. 前記制御部は、前記カートリッジが前記第2のドライブに移された後、前記第2のブロック番号を前記情報処理装置から受信すると、前記第2のブロック番号と前記メモリに記憶された前記オフセット値とに基づいて、前記第1のブロック番号を生成し、前記第2のドライブに出力する、請求項3記載のストレージ装置。   When the controller receives the second block number from the information processing apparatus after the cartridge is moved to the second drive, the control unit receives the second block number and the offset value stored in the memory. The storage apparatus according to claim 3, wherein the first block number is generated based on the data and output to the second drive. 前記制御部は、前記第2のドライブに前記カートリッジが移された後、前記メモリに記憶された前記管理情報を検出すると、自ストレージ装置が前記上限を超えたブロック番号を管理可能なモードで動作しているか否かの確認に応じて、前記情報処理装置による前記記録媒体へのアクセスの再開を受け付け可能であるか否かを判定する、請求項2乃至4の何れか1つに記載のストレージ装置。   When the control unit detects the management information stored in the memory after the cartridge is moved to the second drive, the control unit operates in a mode in which the own storage device can manage the block number exceeding the upper limit. The storage according to any one of claims 2 to 4, wherein it is determined whether or not resumption of access to the recording medium by the information processing apparatus can be accepted in response to confirmation of whether or not apparatus. 前記制御部は、前記管理情報を前記メモリに格納した後、前記記録媒体に対するアクセスでエラーが発生すると、前記ビット数とエラー時のブロック番号とに応じたオフセット値を前記メモリに格納する、請求項1記載のストレージ装置。   The control unit stores, in the memory, an offset value corresponding to the number of bits and a block number at the time of error when an error occurs in access to the recording medium after storing the management information in the memory. Item 4. The storage device according to Item 1. 前記制御部は、他のストレージ装置による前記記録媒体に対するアクセスでエラーが発生して前記カートリッジが前記ドライブに移された後、前記記録媒体の前記管理情報が前記メモリに記録されていることを検出すると、前記メモリに記憶されたオフセット値に基づいて、前記記録媒体の前記アクセスを再開するブロック番号を前記ドライブに出力する、請求項1記載のストレージ装置。   The control unit detects that the management information of the recording medium is recorded in the memory after an error occurs in access to the recording medium by another storage device and the cartridge is moved to the drive. The storage apparatus according to claim 1, wherein a block number for resuming the access to the recording medium is output to the drive based on the offset value stored in the memory. 前記制御部は、前記情報処理装置からの動作モードの問い合わせに対し、前記記録媒体に対するアクセス先のブロック番号が前記上限に達したときにエラーを報告するモードであることを応答し、その後、前記ドライブによる前記記録媒体に対するアクセス先のブロック番号が前記上限に達しても前記エラーを報告せずに、前記上限を超えたブロック番号に対するアクセスを継続する、請求項1記載のストレージ装置。   The control unit responds to the inquiry about the operation mode from the information processing apparatus that it is a mode for reporting an error when the access destination block number for the recording medium reaches the upper limit, The storage apparatus according to claim 1, wherein even if a block number of an access destination for the recording medium by a drive reaches the upper limit, the storage apparatus continues to access the block number exceeding the upper limit without reporting the error. 記録媒体に対するアクセス先の位置を示すブロック番号を所定のビット数で管理する情報処理装置と接続されるストレージ装置が備えるコンピュータに、
前記記録媒体と前記記録媒体とは異なるメモリとを備えたカートリッジを収納可能であり前記ビット数によるブロック番号の上限よりも大きなブロック番号により前記記録媒体にアクセス可能なドライブにより前記記録媒体に対して前記上限よりも大きなブロック番号への書込みを行うと、当該書込みが行われたことを示す管理情報を前記メモリに格納し、
前記メモリに記憶された前記管理情報に基づいて、前記記録媒体の前記アクセスを実行する、
処理を実行させる制御プログラム。
A computer provided in a storage device connected to an information processing device that manages a block number indicating a position of an access destination for a recording medium with a predetermined number of bits
The recording medium and a cartridge having a memory different from the recording medium can be stored, and the recording medium can be accessed by the drive that can access the recording medium by a block number larger than the upper limit of the block number by the bit number When writing to a block number larger than the upper limit, management information indicating that the writing has been performed is stored in the memory,
Performing the access to the recording medium based on the management information stored in the memory;
A control program that executes processing.
JP2015172715A 2015-09-02 2015-09-02 Storage device and control program Pending JP2017049817A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015172715A JP2017049817A (en) 2015-09-02 2015-09-02 Storage device and control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015172715A JP2017049817A (en) 2015-09-02 2015-09-02 Storage device and control program

Publications (1)

Publication Number Publication Date
JP2017049817A true JP2017049817A (en) 2017-03-09

Family

ID=58279778

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015172715A Pending JP2017049817A (en) 2015-09-02 2015-09-02 Storage device and control program

Country Status (1)

Country Link
JP (1) JP2017049817A (en)

Similar Documents

Publication Publication Date Title
EP0332210B1 (en) Backup control method and system in data processing system
JP4843604B2 (en) Method and system for obtaining data storage device specific information from data storage device
KR100962883B1 (en) Method, system, and program for migrating source data to target data
US9448943B2 (en) Partial volume access in a physical stacked volume
JP2006134064A (en) Storage control apparatus and method for detecting writing error in storage medium
JP2016149051A (en) Storage control device, storage control program, and storage control method
US11868625B2 (en) Alert tracking in storage
JP2009175824A (en) Memory controller for mainframe, and virtualization method for mainframe volume
US10009574B2 (en) Transferring multiple records including video data to/from host
US8856436B2 (en) Locating host data records on a physical stacked volume
JP2012032962A (en) Buffer management device, storage device having the same, and buffer management method
US8811133B2 (en) Writing system, writing device, and writing method
US7657719B2 (en) Controller for a copy operation between a host computer and hard disks, a control method thereof, and a recording medium storing a program for executing the control method
JP2017049817A (en) Storage device and control program
JP2014071917A (en) File recorder, file system management method, file recovery method and change drive
US8037268B2 (en) Storage system and operation method thereof
JP2001160268A (en) Substitution processing method for recording medium and device
JP2006085243A (en) Transfer control device
JPH08161123A (en) Disk array device
JP4285202B2 (en) Compound computer system and compound I / O system
JPS6013360A (en) Storage device
JP4075790B2 (en) Compound computer system and compound I / O system
JPWO2012042661A1 (en) Drive control device, drive control method, and storage device
JP2006277355A (en) Path switching system and method for backup system
JPH04111030A (en) Information recorder