JP6089856B2 - 仮想テープ装置、テープ制御装置、およびテープ制御方法 - Google Patents
仮想テープ装置、テープ制御装置、およびテープ制御方法 Download PDFInfo
- Publication number
- JP6089856B2 JP6089856B2 JP2013064010A JP2013064010A JP6089856B2 JP 6089856 B2 JP6089856 B2 JP 6089856B2 JP 2013064010 A JP2013064010 A JP 2013064010A JP 2013064010 A JP2013064010 A JP 2013064010A JP 6089856 B2 JP6089856 B2 JP 6089856B2
- Authority
- JP
- Japan
- Prior art keywords
- tape
- block
- bid
- control unit
- error
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0727—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0686—Libraries, e.g. tape libraries, jukebox
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Library & Information Science (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
Description
Header 1 Block(HDR1):ファイル名、更新日などが記述された80バイトのブロック
Header 2 Block(HDR2):レコード形式、ブロック長などが記述された80バイトのブロック
Data Block(D1,…,DN):データが記述された可変調のブロック
Tape Mark Block(TM):ファイルの区切りを示すマークブロック
End of File 1 Block(EOF1):ファイル名、更新日などが記述された80バイトのブロック
End of File 2 Block(EOF2):レコード形式、ブロック長などが書かれている80バイトのブロック
End of Data Block(EOD):テープボリュームの最後を示すマークブロック。
磁気テープ装置は、磁気テープのデータの読み書きを行う場合、BIDを用いて読み書きを行うブロックの位置を磁気テープ上から検出する。
図1の上部はテープボリュームのブロックを示し、下部は各ブロックに付加されるBIDを示す。
シングルファイルのテープフォーマットでは、先頭にVOLが配置され、次にFile-1の各ブロック(HDR1,HDR2,TM,D1,D2,…,DN,TM,EOF1,EOF2,TM)が配置され、最後にTMとEODが配置されている。
図2の上部はテープボリュームのブロックを示し、下部は各ブロックに付加されるBIDを示す。
マルチファイルのテープフォーマットでは、先頭にVOLが配置され、次にFile-1の各ブロック(HDR1,HDR2,TM,D1,D2,…,DN,TM,EOF1,EOF2,TM)が配置され、File-1の最後のTMの後ろにFile-2の各ブロック(HDR1,HDR2,TM,D1,D2,…,DN,TM,EOF1,EOF2,TM)が配置され、最後にTMとEODが配置されている。
(1)137GBの超えるテープボリュームを仮想テープ装置の36トラックテープフォーマットでコピーすると複数巻のテープに分かれてしまう。
(2)仮想テープ装置でExport(仮想ボリュームを実テープに出力し、仮想テープ装置外に取り出す処理)すると、大容量(例えば、800GB以上)の実テープに最大137GBのデータしか出力されず、大容量のテープの記憶領域を有効に活用できない。
(3)従来の36トラックテープを制御するOSを使用して、OSの管理できる容量を超えた位置(137GBを超えた領域)で書き込みエラーが発生した場合、エラーが発生した位置が特定できないため、ホストからのデータリカバリができない。
前記仮想テープ装置は、記憶部と、識別子制御部と、第1の制御部と、第2の制御部と、を備える。
前記識別子制御部は、前記テープボリュームのブロック毎に番号が増加する第1の識別番号と、前記テープボリュームの先頭ブロックの次のブロック、ファイルの区切りを示すテープマーク、および前記テープマークの次のブロックのみで番号が増加する第2の識別番号とを、前記テープボリュームの各ブロックに付加する。
前記第2の制御部は、前記テープボリュームと前記第1の識別番号を前記テープライブラリ装置に書き込み、前記第1の識別番号を用いて前記テープライブラリ装置を制御する。
前記テープ制御装置は、バッファと、識別子制御部と、第1の制御部と、第2の制御部と、を備える。
前記識別子制御部は、前記テープボリュームのブロック毎に番号が増加する第1の識別番号と、前記テープボリュームの先頭ブロックの次のブロック、ファイルの区切りを示すテープマーク、および前記テープマークの次のブロックのみで番号が増加する第2の識別番号とを、前記テープボリュームの各ブロックに付加する。
前記第2の制御部は、前記テープボリュームと前記第1の識別番号を前記テープライブラリ装置に書き込み、前記第1の識別番号を用いて前記テープライブラリ装置を制御する。
最初に、第1および第2の実施の形態で使用する新しいBID(以下、F-BIDと呼ぶ)の更新ルールについて説明する。
一方、実施の形態のF-BIDは、テープボリュームの先頭のブロック(VOL)に0を付加し、テープボリュームの先頭のブロックの次のブロック、テープマーク、およびテープマークの次のブロックのみで番号が1増加する。
図3の上段はシングルファイルのテープフォーマット、中段はBID、下段はF-BIDを示す。
シングルファイルのテープフォーマットおよびBIDについては、図1と同様であるので説明は省略する。
すなわち、VOLにF-BID=0、HDR1とHDR2にF-BID=1、HDR2の後ろのTMにF-BID=2、Data BlockにF-BID=3、Data Blockの後ろのTMにF-BID=4、EOF1とEOF2にF-BID=5、EOF2の後ろのTMにF-BID=6、TMの後ろのTMにF-BID=7、EODにF-BID=8がそれぞれ付加されている。
図4の上段はマルチファイルのテープフォーマット、中段はBID、下段はF-BIDを示す。
マルチファイルのテープフォーマットおよびBIDについては、図2と同様であるので説明は省略する。
すなわち、VOLにF-BID=0が付加されている。また、File-1に関して、HDR1とHDR2にF-BID=1、HDR2の後ろのTMにF-BID=2、Data BlockにF-BID=3、Data Blockの後ろのTMにF-BID=4、EOF1とEOF2にF-BID=5、EOF2の後ろのTMにF-BID=6がそれぞれ付加されている。File-2に関して、HDR1とHDR2にF-BID=7、HDR2の後ろのTMにF-BID=8、Data BlockにF-BID=9、Data Blockの後ろのTMにF-BID=10、EOF1とEOF2にF-BID=11、EOF2の後ろのTMにF-BID=12がそれぞれ付加されている。また、File-2の最後のTMの後ろのTMにF-BID=13、EODにF-BID=14がそれぞれ付加されている。
第1の実施の形態では、仮想テープ装置を用いた形態について説明する。
第1の実施の形態のシステム101は、ホスト(上位装置)201、仮想テープ装置301、およびテープライブラリ(実テープ装置)401を備える。
メモリ331は、ホストIFドライバ332、データバッファ333、ディスクアレイドライバ334、F-BID/BID制御プログラム335、およびロボット制御ドライバ336を有する。
データバッファ333は、テープボリューム392のデータをディスクアレイ装置391に書き込む前にデータを一時的に格納する領域である。
ディスクアレイドライバ334は、ディスアレイ装置391を制御するプログラムである。
FCカード341は、ファイバチャネルにより他の装置と接続するインタフェースカードである。FCカード341−1は、ホスト201と接続する。FCカード341−2は、ディスクアレイ装置391およびテープライブラリ401と接続する。
CPU361は、ディスクアレイ制御部362、テープドライブ制御部364、およびID制御部365を備える。
メモリ371は、ディスクアレイドライバ372、データバッファ373、テープドライブドライバ374、およびF-BID/BID制御プログラム375を有する。
ディスクアレイドライバ372は、ディスアレイ装置391を制御するプログラムである。
テープドライブドライバ374は、ドライブ413を制御し、テープドライブ401とのデータの送受信を制御するプログラムである。
ディスクアレイ装置391は、テープボリューム392および管理テーブル353を格納する。
テープボリューム392の形式は、例えば、図3や図4に示すような標準化されたテープフォーマットである。テープボリューム392は、複数のブロックと各ブロックに付加されたBIDおよびF-BIDを含んでいる。
テープライブラリ401は、ロボット411、磁気テープ412−i(i=1〜3)、およびドライブ413を備える。
磁気テープ412は、データを記録する記録媒体である。
ドライブ413は、ドライブ413にセットされた磁気テープ412に対するデータの読み書きを行う。ドライブ413は、磁気テープ412から読み出したデータをFCカードに送信、およびFCカードから受信したデータを磁気テープ412に書き込む。
管理テーブル393は、項目として、ブロックの種類、Type Code、Block Size、Data、BID、およびF-BIDを有する。管理テーブルには、ブロックの種類、Type Code、Block Size、Data、BID、およびF-BIDが対応付けられて記載されている。
Type Codeは、ブロックの種類を示すコードである。
Block Sizeは、ブロックのサイズを示す。
Dataは、ブロックの種類、例えば、ホストから貰ったデータ、または制御装置(例えば仮想テープ装置)で作成したデータを示す情報である。
F-BIDは、F-BIDの番号である。
ここで、第1の実施の形態のシステム101で用いられるRead BID(RBID)コマンドおよびLocateコマンドについて説明する。
第1の実施の形態において、仮想テープ装置301がホスト201からRead BIDコマンドを受信すると、チャネルBIDとデバイスBIDを含むBID情報をホスト201に応答する。
Locateコマンドは、読み書きを行うドライブのテープヘッドを指定された位置に位置付けるためのコマンドである。
これにより、仮想ドライブは、F-BID=5のブロックから書き込みまたは読み込みを行う。
図7では、ホスト201がボリューム名がVOLAAAのテープボリューム(以下、単にVOLAAAと表記する)を書き込みまたは更新する場合について述べる。
ステップS502において、ホスト201は、ICP311からの通知をチェックし、VOLAAAがマウントされた通知を受信した場合、制御はステップS503に進む。
ステップS504のファイル更新では、テープボリュームは図4に示すような2ファイルのマルチテープフォーマットであり、File-2を更新する場合について述べる。
ステップS506において、ホスト201は、HDR1を書き込むWriteコマンド(Write(HDR1))を発行する。
ステップS507において、ホスト201は、HDR2を書き込むWriteコマンド(Write(HDR2))を発行する。
ステップS508において、ホスト201は、TMを書き込むWrite Tape Markコマンドを発行する。
ステップS511において、ホスト201は、TMを書き込むWrite Tape Markコマンドを発行する。
ステップS512において、ホスト201は、EOF1を書き込むWriteコマンド(Write(EOF1))を発行する。
ステップS513において、ホスト201は、EOF2を書き込むWriteコマンド(Write(EOF2))を発行する。
ステップS514において、ホスト201は、TMを書き込むWrite Tape Markコマンドを発行する。
ステップS516において、ホスト201は、TMを書き込むWrite Tape Markコマンドおよびアンロードを行うUnloadコマンドをICP311に送信し、ジョブを終了する。
図8では、図7で述べた処理をホスト201が実行した場合の仮想テープ装置のライト処理および更新処理について説明する。
ここでは、ICP311がボリューム名がVOLAAAのテープボリュームをマウントするマウントコマンドを受信したとする。
ステップS604において、ディスクアレイ制御部324は、Locate(9)コマンドを受信し、ディスクアレイ装置391からVOLAAAを読み出し、F-BID=9のブロックにテープヘッドを位置付ける。尚、該テープヘッドは、VOLAAAの読み書きに使用するディスクアレイ装置391上に仮想的に設けられたドライブ(仮想ドライブ)のテープヘッドである。
ステップS605において、ID制御部325は、VOLを書き込むWriteコマンド(Write(VOL))を受信し、VOLにBIDおよびF-BIDを付加する。ディスクアレイ制御部324は、VOLをディスクアレイ装置391に書き込む。図3および4に示すようにVOLには、BID=0、F-BID=0が付加される。
ステップS618において、ID制御部325は、Unloadコマンドを受信し、EODにBIDおよびF-BIDを付加する。ディスクアレイ制御部324は、EODをディスクアレイ装置391に書き込む。図3に示すようにシングルファイルテープフォーマットの場合には、BID=n+6、F-BID=8が付加され、図4に示すようにマルチファイルテープフォーマットの場合には、BID=m+6、F-BID=14が付加される。
ステップS620において、テープドライブ制御部364は、テープライブラリ401の磁気テープ412にVOLAAAを書き込む。詳細には、テープドライブ制御部364は、VOLAAAの各ブロックと各ブロックに付加されているBIDを磁気テープ412に書き込む。テープドライブ制御部364は、F-BIDについては磁気テープ412に書き込まない。尚、BIDは、ディスクアレイ装置391に格納されているものを使用しても良いし、磁気テープ412への書き込み時にID制御部365がBIDを各ブロックに付加しても良い。
初めに、ディスクアレイ制御部324のディスアレイ装置391へのテープボリュームの書き込み処理の詳細について説明する。
ID制御部325は、データバッファ333のテープボリュームの各ブロックにBIDおよびF-BIDを付加する。
図9は、書き込みエラー検出前および書き込みエラー検出時のデータバッファのF-BIDを示す図である。
データバッファ333には、VOLからDM-1までのブロックが格納され、図9の上部に示すようなF-BIDが付加されているとする。図9の上部に示すように、Data Block(D1〜DM-1)には、F-BID=3が付加されている。
ID制御部325は、エラーが発生したブロックからブロックごとにF-BIDを1増加するようにデータバッファ333のF-BIDを更新する。
F-BID=4〜6のブロック(DM-3〜DM-1)は、ディスクアレイ装置391に書き込まれていないため、これらは未書き込みデータ(ブロック)である。
ここでは、ホスト201は、ディスクアレイ装置391上に設けられた仮想ドライブ#0を用いてボリューム名がVOLAAAのテープボリュームを書き込む場合について説明する。
ステップS702において、ホスト201は、ICP311からの通知をチェックし、VOLAAAが仮想ドライブ#0にマウントされた通知を受信した場合、制御はステップS703に進む。
ステップS704において、ホスト201は、HDR1を書き込むWriteコマンド(Write(HDR1))を発行する。
ステップS705において、ホスト201は、HDR2を書き込むWriteコマンド(Write(HDR2))を発行する。
ステップS706において、ホスト201は、TMを書き込むWrite Tape Markコマンドを発行する。
ステップS709において、仮想ドライブ#0でエラーが発生した場合、制御はステップS710に進み、エラーが発生しなかった場合、制御はステップS711に進む。またエラーが発生した場合、ホスト201は、Writeコマンドの発行を中断する。
ステップS712において、ホスト201は、EOF1を書き込むWriteコマンド(Write(EOF1))を発行する。
ステップS713において、ホスト201は、EOF2を書き込むWriteコマンド(Write(EOF2))を発行する。
ステップS714において、ホスト201は、TMを書き込むWrite Tape Markコマンドを発行する。
ステップS716において、ホスト201は、TMを書き込むWrite Tape Markコマンドおよびアンロードを行うUnloadコマンドをICP311に送信し、ジョブを終了する。
図11は、図10のステップS710に対応する。
ここでは、書き込みエラーが発生し、図9に示すようにF-BIDが更新された場合について述べる。
仮想テープ装置301は、Read Bufferコマンドを受け取ると、仮想テープ装置301のデータバッファ333に存在する未書き込みデータ(すなわち、ディスクアレイ装置393に未書き込みであるデータ)をF-BIDの大きい方から順に1ブロック分のデータをホスト201に送信する。
ステップS725において、ホスト201は、VOLAAAを仮想ドライブ#0からアンマウントするUnloadコマンドを仮想テープ装置301に発行する。
ステップS727において、ホスト201は、VOLAAAを別の仮想ドライブ#1にマウントするマウントコマンドをICP311に送信する。
ステップS729において、ホスト201は、記憶したエラーブロック位置(F-BID=4)を元に、仮想ドライブ#1のテープヘッドをエラーブロック位置に位置付けるLocateコマンド(Locate(4))を発行する。
図12は、ホスト201が図11のエラーリカバリ処理を行ったときの仮想テープ装置301の処理を示す。
それにより、図9の下部に示すようなF-BIDが付加されたテープボリュームのデータがデータバッファ333に格納されている。
ステップS801において、ディスクアレイ制御部324は、センスコマンドを受信し、ディスクアレイ391に未書き込みのデータ(すなわち、F=BID=4〜6のブロック)のサイズの合計(未書き込みデータ量)を算出する。ディスクアレイ制御部324は、センス情報として未書き込みデータ量および詳細エラー情報(書き込みエラー)をホスト201に通知する。
ステップS805において、ディスクアレイ制御部324は、VOLAAAを仮想ドライブ#0からアンマウントする。
ステップS807において、ディスクアレイ制御部324は、VOLAAAを仮想ドライブ#1にマウントし、VOLAAAが仮想ドライブ#1にマウントされたことをホスト201に通知する。
図13の右から3列目はエラー無し時のF-BIDを示し、右から2列目はエラー発生時のF-BIDを示し、右から1列目はエラーリカバリ後のF-BIDを示す。
図13の右から2列目に示すように、エラー発生時には、エラーブロックとその後の未書き込みブロックは、ブロック毎にF-BIDの番号が増加する。
第2の実施の形態では、テープ制御装置を用いた形態について説明する。
図14は、第2の実施の形態に係るシステムの構成図である。
第2の実施の形態のシステム1101は、ホスト(上位装置)1201、テープ制御装置1301、およびテープライブラリ(実テープ装置)1401を備える。
ホスト1201とテープ制御装置1301、テープ制御装置1301とテープライブラリ1401は、それぞれ光ケーブルを介して接続されている。
テープ制御装置1301は、ホストインタフェース制御部1311、フォーマッタ制御部1351、およびデータバッファ1391を備える。
ホストインタフェース制御部1311は、CPU1321、メモリ1331、ホストIF制御回路1341、データバッファ制御回路1342、およびロボットIF制御回路1343を備える。
CPU1321は、ホストIF制御部1322、データバッファ制御部1324、ID制御部1325、およびロボットIF制御部1326を備える。
メモリ1331は、ホストIFプログラム1332、データバッファプログラム1334、F-BID/BID制御プログラム1335、およびロボット制御プログラム1336を有する。
データバッファプログラム1334は、データバッファ制御回路1342を制御し、データバッファ1391のデータの読み書きを制御するプログラムである。
ホストIF制御回路1341は、ホスト1201とのデータの送受信を制御する。
データバッファ制御回路1342は、データバッファ1391のデータの読み書きを制御する。
フォーマッタ制御部1351は、CPU1361、メモリ1371、およびデータバッファ制御回路1381、およびドライブIF制御回路1382を備える。
CPU1361は、データバッファ制御部1362、ドライブIF制御部1364、およびID制御部1365を備える。
メモリ1371は、データバッファ制御プログラム1372、ドライブIF制御プログラム1374、およびF-BID/BID制御プログラム1375を有する。
ドライブIF制御プログラム1374は、ドライブIF制御回路1382を制御し、テープドライブ1401とのデータの送受信を制御するプログラムである。
ドライブIF制御回路1382は、ドライブ1413を制御し、テープドライブ1401とのデータの送受信を制御する。
データバッファ1391は、テープボリューム1392および管理テーブル1393を格納する。
ロボット1411は、ロボットIF制御部1326により制御され、読み書きを行う対象の磁気テープ1412をドライブ1413にセットする。
ドライブ1413は、ドライブ1413にセットされた磁気テープ1412に対するデータの読み書きを行う。ドライブ1413は、磁気テープ1412から読み出したデータをドライブIF制御回路1382に送信、およびドライブIF制御回路1382から受信したデータを磁気テープ1412に書き込む。
ここで、第2の実施の形態のシステム1101で用いられるRead BID(RBID)コマンドおよびLocateコマンドについて説明する。
第2の実施の形態において、テープ制御装置1301がホスト201からRead BIDコマンドを受信すると、チャネルBIDとデバイスBIDを含むBID情報をホスト1201に応答する。
Locateコマンドは、読み書きを行うドライブのテープヘッドを指定された位置に位置付けるためのコマンドである。
これにより、ドライブ1413は、F-BID=5に対応するBIDのブロックから書き込みまたは読み込みを行う。
図15では、ホスト1201がボリューム名がVOLAAAのテープボリューム(以下、単にVOLAAAと表記する)を書き込みまたは更新する場合について述べる。
ステップS1502において、ホスト1201は、ホストインタフェース制御部1311からの通知をチェックし、VOLAAAがマウントされた通知を受信した場合、制御はステップS1503に進む。
ステップS1504において、ホスト1201は、ファイル更新ジョブを開始し、更新するファイルのData Blockの先頭のブロックへテープヘッドを位置付けるコマンドをホストインタフェース制御部1311に発行する。詳細には、ホスト1201は、以前に記憶したF-BID情報を参照し、更新するファイルのData Blockの先頭のブロック(F-BID=9)へテープヘッドを位置付けるため、Locate(9)コマンドをホストインタフェース制御部1311に発行する。図4に示すように、File-2のData Blockの先頭のブロックのF-BIDは9であるので、ホスト1201はLocate(9)コマンドを発行している。
ステップS1506において、ホスト1201は、HDR1を書き込むWriteコマンド(Write(HDR1))を発行する。
ステップS1507において、ホスト1201は、HDR2を書き込むWriteコマンド(Write(HDR2))を発行する。
ステップS1508において、ホスト1201は、TMを書き込むWrite Tape Markコマンドを発行する。
ステップS1512において、ホスト1201は、EOF1を書き込むWriteコマンド(Write(EOF1))を発行する。
ステップS1513において、ホスト1201は、EOF2を書き込むWriteコマンド(Write(EOF2))を発行する。
ステップS1514において、ホスト1201は、TMを書き込むWrite Tape Markコマンドを発行する。
図16では、図15で述べた処理をホスト201が実行した場合のテープ制御装置301のライト処理および更新処理について説明する。
ここでは、ホストインタフェース制御部1311がボリューム名がVOLAAAのテープボリュームをマウントするマウントコマンドを受信したとする。
ステップS1604において、ホストIF制御部1322は、Locate(9)コマンドを受信する。ドライブIF制御部1364は、管理テーブル1393を参照し、F-BID=9のブロックのうちの先頭のブロックに対応するBID=n+8を取得し、ドライブ1412のテープヘッドをBID=n+8に位置付ける。
ステップS1605において、ID制御部1325は、VOLを書き込むWriteコマンド(Write(VOL))を受信し、VOLにBIDおよびF-BIDを付加する。データバッファ制御部1324は、VOLをデータバッファ1391に書き込む。図3および4に示すようにVOLには、BID=0、F-BID=0が付加される。
ステップS1622において、ID制御部325は、Unloadコマンドを受信し、EODにBIDおよびF-BIDを付加する。データバッファ制御部1324は、EODをデータバッファ1391に書き込む。図3に示すようにシングルファイルテープフォーマットの場合には、BID=n+6、F-BID=8が付加され、図4に示すようにマルチファイルテープフォーマットの場合には、BID=m+6、F-BID=14が付加される。ドライブIF制御部1364は、EOD、さらにEODに付加されているBIDを磁気テープ1412に書き込む。尚、磁気テープ1412に書き込むBIDは、データバッファ1391に格納されているBIDを使用しても良いし、テープライブラリ1401への書き込み時にID制御部1365がBIDを各ブロックに付加しても良い。尚、ドライブIF制御部1364は、F-BIDについては、磁気テープ1412に書き込まない。磁気テープ1412へのEODの書き込み後、ドライブIF制御部1364は、VOLAAAをアンマウントする。
図17は、書き込みエラー検出前および書き込みエラー検出時のデータバッファのF-BIDを示す図である。
データバッファ1391には、VOLからDM-1までのブロックが格納され、図17の上部に示すようなF-BIDが付加されているとする。図17の上部に示すように、Data Block(D1〜DM-1)には、F-BID=3が付加されている。
ID制御部1325は、エラーが発生したブロックからブロックごとにF-BIDを1増加するようにデータバッファ1391のF-BIDを更新する。
F-BID=4〜6のブロック(DM-3〜DM-1)は、ディスクアレイ装置391に書き込まれていないため、これらは未書き込みデータ(ブロック)である。
ここでは、テープライブラリ1401のドライブ1413は複数あり(ドライブ#0、ドライブ#1)、ホスト1201は、複数のドライブ1413のうちのドライブ#0を用いてボリューム名がVOLAAAのテープボリュームを書き込む場合について説明する。
ステップS1702において、ホスト1201は、テープ制御装置1301からの通知をチェックし、VOLAAAがドライブ#0にマウントされた通知を受信した場合、制御はステップS1703に進む。
ステップS1704において、ホスト1201は、HDR1を書き込むWriteコマンド(Write(HDR1))を発行する。
ステップS1705において、ホスト1201は、HDR2を書き込むWriteコマンド(Write(HDR2))を発行する。
ステップS1706において、ホスト1201は、TMを書き込むWrite Tape Markコマンドを発行する。
ステップS1709において、ドライブ#0でエラーが発生した場合、制御はステップS1710に進み、エラーが発生しなかった場合、制御はステップS1711に進む。またエラーが発生した場合、ホスト1201は、Writeコマンドの発行を中断する。
ステップS1712において、ホスト1201は、EOF1を書き込むWriteコマンド(Write(EOF1))を発行する。
ステップS1713において、ホスト1201は、EOF2を書き込むWriteコマンド(Write(EOF2))を発行する。
ステップS1714において、ホスト1201は、TMを書き込むWrite Tape Markコマンドを発行する。
図19は、図18のステップS1710に対応する。
ここでは、書き込みエラーが発生し、図17に示すようにデータバッファ1391のF-BIDが更新された場合について述べる。すなわち、F-BID=4〜6のブロックは、テープライブラリ1401に書き込まれていない未書き込みデータである。
テープ制御装置1301は、Read Bufferコマンドを受け取ると、テープ制御装置1301のデータバッファ1391に存在する未書き込みデータ(すなわち、テープライブラリ1401に未書き込みであるデータ)をF-BIDの大きい方から順に1ブロック分のデータをホスト1201に送信する。
ステップS1725において、ホスト1201は、VOLAAAをドライブ#0からアンマウントするUnloadコマンドをテープ制御装置1301に発行する。
ステップS1727において、ホスト1201は、VOLAAAを別のドライブ#1にマウントするマウントコマンドをテープ制御装置1301に送信する。
ステップS1729において、ホスト1201は、記憶したエラーブロック位置(F-BID=4)を元に、ドライブ#1のテープヘッドをエラーブロック位置に位置付けるLocateコマンド(Locate(4))を発行する。
図20は、ホスト1201が図19のエラーリカバリ処理を行ったときのテープ制御装置1301の処理を示す。
先ず、テープ制御装置1301のデータバッファ1391には、図17の上部に示すようにF-BIDが付加されたテープボリュームのデータが格納されている。
それにより、図17の下部に示すようなF-BIDが付加されたテープボリュームのデータがデータバッファ1391に格納されている。
ステップS1801において、データバッファ制御部1324は、センスコマンドを受信し、テープライブラリ1401に未書き込みのデータ(すなわち、F=BID=4〜6のブロック)のサイズの合計(未書き込みデータ量)を算出する。データバッファ制御部1324は、センス情報として未書き込みデータ量および詳細エラー情報(書き込みエラー)をホスト1201に通知する。
ステップS1805において、ドライブIF制御部1364は、VOLAAAをドライブ#0からアンマウントする。
ステップS1806において、テープ制御装置1301がドライブ#1へのVOLAAAのマウントコマンドを受信した場合、制御はステップS1807に進む。
ステップS1807において、ドライブIF制御部1364は、VOLAAAをドライブ#1にマウントし、VOLAAAがドライブ#1にマウントされたことをホスト1201に通知する。
第2の実施の形態のシステムによれば、36トラックテープを制御するOS(F-BID22ビット制御)を使用して、22ビットのBIDを用いたOSが管理できる容量を超えた位置(137GBを超えた領域)で書き込みエラーが発生した場合、エラーしたブロック位置およびそれに続く未書き込みブロック位置が特定でき、エラーリカバリが可能となる。
201 ホスト
301 仮想テープ装置
311 ICP
321 CPU
322 ホストIF制御部
324 ディスクアレイ制御部
325 ID制御部
326 ロボット制御部
331 メモリ
332 ホストIFドライバ
333 データバッファ
334 ディスクアレイドライバ
335 F-BID/BID制御プログラム
336 ロボット制御ドライバ
341 FCカード
351 IDP
361 CPU
362 ディスクアレイ制御部
364 テープドライブ制御部
365 ID制御部
371 メモリ
372 ディスクアレイドライバ
373 データバッファ
374 テープドライバ
375 F-BID/BID制御プログラム
381 FCカード
391 ディスクアレイ装置
392 テープボリューム
393 管理テーブル
401 テープライブラリ
411 ロボット
412 磁気テープ
413 ドライブ
1101 システム
1201 ホスト
1301 テープ制御装置
1311 ホストインタフェース制御部
1321 CPU
1322 ホストIF制御部
1324 データバッファ制御部
1325 ID制御部
1326 ロボット制御部
1331 メモリ
1332 ホストIFプログラム
1334 データバッファ制御プログラム
1335 F-BID/BID制御プログラム
1336 ロボットIF制御プログラム
1341 ホストIF制御回路
1342 データバッファ制御回路
1351 フォーマット制御部
1361 CPU
1362 データバッファ制御部
1364 ドライブIF制御部
1365 ID制御部
1371 メモリ
1372 データバッファ制御プログラム
1374 ドライブIF制御プログラム
1375 F-BID/BID制御プログラム
1381 データバッファ制御回路
1382 ドライブIF制御回路
1391 データバッファ
1392 テープボリューム
1393 管理テーブル
1401 テープライブラリ
1411 ロボット
1412 磁気テープ
1413 ドライブ
Claims (8)
- 上位装置および磁気テープを有するテープライブラリ装置と接続し、仮想的なテープ装置のテープボリュームを格納する仮想テープ装置であって、
複数のブロックを含む前記テープボリュームを格納する記憶部と、
前記テープボリュームのブロック毎に番号が増加する第1の識別番号と、前記テープボリュームの先頭ブロックの次のブロック、ファイルの区切りを示すテープマーク、および前記テープマークの次のブロックのみで番号が増加する第2の識別番号とを、前記テープボリュームの各ブロックに付加する識別子制御部と、
前記仮想テープ装置と前記上位装置との間で、前記第2の識別番号を用いて前記記憶部に格納される前記テープボリュームの読み書きを制御する第1の制御部と、
前記テープボリュームと前記第1の識別番号を前記テープライブラリ装置に書き込み、前記第1の識別番号を用いて前記テープライブラリ装置を制御する第2の制御部と、
を備える仮想テープ装置。 - 前記テープボリュームを格納するバッファをさらに備え、
前記第1の制御部は、前記テープボリュームを前記記憶部に格納する前に、前記バッファに前記テープボリュームを格納し、
前記識別子制御部は、前記バッファの前記テープボリュームの各ブロックに前記第1の識別番号および前記第2の識別番号を付加し、前記第1の制御部が前記記憶部に前記テープボリュームを書き込む際にエラーが発生した場合、前記バッファの前記エラーが発生したブロックおよび該エラーが発生したブロック以降のブロックの前記第2の識別番号をブロック毎に番号が増加するように更新することを特徴とする請求項1記載の仮想テープ装置。 - 前記第1の制御部は、
前記バッファの前記エラーが発生したブロックおよび該エラーが発生したブロック以降のブロックを前記上位装置に送信し、
前記上位装置から前記エラーが発生したブロックおよび該エラーが発生したブロック以降のブロックを受信し、
受信した前記エラーが発生したブロックおよび該エラーが発生したブロック以降のブロックを前記バッファに格納し、
前記識別子制御部は、前記エラーが発生したブロックおよび該エラーが発生したブロック以降のブロックに、前記エラーが発生する前に付加されていた前記第2の識別番号と同じ番号の前記第2の識別番号を前記エラーが発生したブロックおよび該エラーが発生したブロック以降のブロックに付加することを特徴とする請求項2記載の仮想テープ装置。 - 上位装置および磁気テープを有するテープライブラリ装置と接続し、仮想的なテープ装置のテープボリュームを格納する仮想テープ装置が実行するテープ制御方法であって、
複数のブロックを含む前記テープボリュームを格納し、
前記テープボリュームのブロック毎に番号が増加する第1の識別番号と、前記テープボリュームの先頭ブロックの次のブロック、ファイルの区切りを示すテープマーク、および前記テープマークの次のブロックのみで番号が増加する第2の識別番号とを、前記テープボリュームの各ブロックに付加し、
前記仮想テープ装置と前記上位装置との間で、前記第2の識別番号を用いて前記テープボリュームの読み書きを制御し、
前記テープボリュームと前記第1の識別番号を前記テープライブラリ装置に書き込む、
処理を備えるテープ制御方法。 - 上位装置および磁気テープを有するテープライブラリ装置と接続し、テープボリュームを格納するテープ制御装置であって、
複数のブロックを含む前記テープボリュームを格納するバッファと、
前記テープボリュームのブロック毎に番号が増加する第1の識別番号と、前記テープボリュームの先頭ブロックの次のブロック、ファイルの区切りを示すテープマーク、および前記テープマークの次のブロックのみで番号が増加する第2の識別番号とを、前記テープボリュームの各ブロックに付加する識別子制御部と、
前記テープ制御装置と前記上位装置との間で、前記第2の識別番号を用いて前記バッファに格納される前記テープボリュームの読み書きを制御する第1の制御部と、
前記テープボリュームと前記第1の識別番号を前記テープライブラリ装置に書き込み、前記第1の識別番号を用いて前記テープライブラリ装置を制御する第2の制御部と、
を備えるテープ制御装置。 - 前記識別子制御部は、前記第2の制御部が前記テープライブラリ装置に前記テープボリュームを書き込む際にエラーが発生した場合、前記エラーが発生したブロックおよび該エラーが発生したブロック以降のブロックの前記第2の識別番号をブロック毎に番号が増加するように更新することを特徴とする請求項5記載のテープ制御装置。
- 前記第1の制御部は、
前記バッファの前記エラーが発生したブロックおよび該エラーが発生したブロック以降のブロックを前記上位装置に送信し、
前記上位装置から前記エラーが発生したブロックおよび該エラーが発生したブロック以降のブロックを受信し、
受信した前記エラーが発生したブロックおよび該エラーが発生したブロック以降のブロックを前記バッファに格納し、
前記識別子制御部は、前記エラーが発生したブロックおよび該エラーが発生したブロック以降のブロックに、前記エラーが発生する前に付加されていた前記第2の識別番号と同じ番号の前記第2の識別番号を前記エラーが発生したブロックおよび該エラーが発生したブロック以降のブロックに付加することを特徴とする請求項6記載のテープ制御装置。 - 上位装置および磁気テープを有するテープライブラリ装置と接続し、テープボリュームを格納するテープ制御装置が実行するテープ制御方法であって、
複数のブロックを含む前記テープボリュームを格納し、
前記テープボリュームのブロック毎に番号が増加する第1の識別番号と、前記テープボリュームの先頭ブロックの次のブロック、ファイルの区切りを示すテープマーク、および前記テープマークの次のブロックのみで番号が増加する第2の識別番号とを、前記テープボリュームの各ブロックに付加し、
前記テープ制御装置と前記上位装置との間で、前記第2の識別番号を用いて前記テープボリュームの読み書きを制御し、
前記テープボリュームと前記第1の識別番号を前記テープライブラリ装置に書き込む、
処理を備えるテープ制御方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013064010A JP6089856B2 (ja) | 2013-03-26 | 2013-03-26 | 仮想テープ装置、テープ制御装置、およびテープ制御方法 |
US14/205,503 US20140298084A1 (en) | 2013-03-26 | 2014-03-12 | Virtual tape device, tape control device, and tape control method |
EP14160114.6A EP2784658A1 (en) | 2013-03-26 | 2014-03-14 | Virtual tape device, tape control device, and tape control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013064010A JP6089856B2 (ja) | 2013-03-26 | 2013-03-26 | 仮想テープ装置、テープ制御装置、およびテープ制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014191412A JP2014191412A (ja) | 2014-10-06 |
JP6089856B2 true JP6089856B2 (ja) | 2017-03-08 |
Family
ID=50488972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013064010A Expired - Fee Related JP6089856B2 (ja) | 2013-03-26 | 2013-03-26 | 仮想テープ装置、テープ制御装置、およびテープ制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20140298084A1 (ja) |
EP (1) | EP2784658A1 (ja) |
JP (1) | JP6089856B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015005089A (ja) * | 2013-06-20 | 2015-01-08 | 富士通株式会社 | ストレージシステム、制御装置および制御方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05241736A (ja) | 1992-02-28 | 1993-09-21 | Fujitsu Ltd | 磁気テープ記憶装置のファイル制御方法 |
US5450250A (en) | 1992-02-28 | 1995-09-12 | E-Systems, Inc. | Method for transparently marking the location of data files on recording media |
JP2840511B2 (ja) * | 1992-12-10 | 1998-12-24 | 富士通株式会社 | 磁気テープ装置を用いたサブシステムのエラー回復処理装置及び方法 |
CA2244626A1 (en) * | 1998-07-31 | 2000-01-31 | Kom Inc. | A hardware and software system |
US6339810B1 (en) * | 2000-01-11 | 2002-01-15 | International Business Machines Corporation | Serial data storage system with automatically adjusted data protection to implement worm media with limited overwrite allowing write appending |
US6834324B1 (en) * | 2000-04-10 | 2004-12-21 | Storage Technology Corporation | System and method for virtual tape volumes |
JP3456530B2 (ja) * | 2000-08-01 | 2003-10-14 | 日本電気株式会社 | 磁気テープ処理装置 |
US6868487B2 (en) * | 2001-10-01 | 2005-03-15 | International Business Machines Corporation | Data storage device and method for storing information using alternate information storage architectures |
US7761284B2 (en) * | 2004-08-30 | 2010-07-20 | Overland Storage, Inc. | Tape emulating disk based storage system and method with automatically resized emulated tape capacity |
US20070136517A1 (en) * | 2005-11-29 | 2007-06-14 | Quantum Corporation | Use of directory revision number to validate directory |
JP2008083845A (ja) * | 2006-09-26 | 2008-04-10 | Hitachi Ltd | ストレージ装置及びストレージシステム並びにデータ読出し方法 |
JP5435143B2 (ja) * | 2010-10-01 | 2014-03-05 | 富士通株式会社 | ドライブ制御装置、ドライブ制御方法およびストレージ装置 |
-
2013
- 2013-03-26 JP JP2013064010A patent/JP6089856B2/ja not_active Expired - Fee Related
-
2014
- 2014-03-12 US US14/205,503 patent/US20140298084A1/en not_active Abandoned
- 2014-03-14 EP EP14160114.6A patent/EP2784658A1/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
JP2014191412A (ja) | 2014-10-06 |
EP2784658A1 (en) | 2014-10-01 |
US20140298084A1 (en) | 2014-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5089591B2 (ja) | 順次アクセス・データ・ストレージ・サブシステム内で検索操作を実行するためのシステムおよび方法 | |
EP2165262B1 (en) | Storage subsystem with configurable buffer | |
US6871255B2 (en) | Heterogeneous computer system, heterogeneous input/output system and data back-up method for the systems | |
US7685374B2 (en) | Multi-interface and multi-bus structured solid-state storage subsystem | |
CN1326026C (zh) | 将数据净荷从第一扇区格式转换成第二扇区格式的系统和方法 | |
JP5014784B2 (ja) | 複数のストレージ装置タイプをサポートするネットワーク接続ストレージシステム、装置、および方法 | |
US7444469B2 (en) | Storing information regarding operation of an automated data storage library to memory and to a reserved cartridge | |
JP2009507304A5 (ja) | ||
US20100049924A1 (en) | Offsite management using disk based tape library and vault system | |
US8549243B2 (en) | Regeneration of deleted data | |
JP2000207137A (ja) | 情報記憶装置 | |
US20060047894A1 (en) | Data recording apparatus, and data recording control method and program | |
US8856436B2 (en) | Locating host data records on a physical stacked volume | |
JP6089856B2 (ja) | 仮想テープ装置、テープ制御装置、およびテープ制御方法 | |
US20030225966A1 (en) | Serverless network data storage operation managed by peripheral device | |
JP4452269B2 (ja) | データ書込みパフォーマンスが改善されたテープ記録装置、及びそのデータ書込み制御方法 | |
JP2014071487A (ja) | ファイル記録装置、フィルシステム管理方法およびチェンジャドライブ | |
JP4732218B2 (ja) | 再生装置 | |
WO2014059800A1 (zh) | 数据交互方法及装置 | |
JPWO2017090517A1 (ja) | ソフトウェアストレージユニット、バックアップ方法、およびバックアップ制御プログラムが記録された記録媒体 | |
JP4285202B2 (ja) | 複合計算機システムおよび複合i/oシステム | |
JP5621246B2 (ja) | ディスクエンクロージャ及びストレージシステムの制御方法 | |
JP4075790B2 (ja) | 複合計算機システムおよび複合i/oシステム | |
JP2005038290A (ja) | ディスク制御装置及びディスク制御装置の制御方法 | |
KR20150139107A (ko) | 광 디스크 기반 아카이브 시스템에서 데이터 관리 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20151106 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160930 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161004 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161202 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170110 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170123 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6089856 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |