説明

データ書込みパフォーマンスが改善されたテープ記録装置、及びそのデータ書込み制御方法

【課題】同期要求を不要とすることにより書込みパフォーマンスが改善された、テープ記録装置、そのテープ記録装置の書込み制御、及び、その書込み制御方法を提供する。
【解決手段】外部のホストから複数のファイルの書込み命令を受けた場合に複数のファイルをシーケンシャルに記録するテープ記録装置であって、複数のファイルを一時的に保管するバッファと、複数のファイルを記録するテープと、バッファに保管された複数のファイルをテープに書込む書込み手段と、バッファに保管された複数のファイルの各々をテープにシーケンシャルに書込むことを制御する書込み制御手段とを備え、書込み制御手段は、外部のホストから、シーケンシャルに書込まれる複数のファイルの区切り位置を指定する命令(区切り位置指定コマンド)を受けた場合に、指定された区切り位置を記憶する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、磁気テープ記録装置(以下テープドライブ)の書込み速度を改善することに関する。詳しくは、本発明は、書込みパフォーマンスが改善されたテープ記録装置、及びその書込み制御方法に関する。
【背景技術】
【0002】
図1は、テープ記録システムの形態の例として、テープアーカイブシステム(「テープバックアップシステム」とも言う)の構成200を示す。コンピュータ(ホスト、サーバまたはPC)210に接続されたテープドライブに着脱可能に搭載されたテープ・カートリッジ240(以下「テープ」とも言う)には、ハードディスク(HDD)220に記録されたデータを保存(Archiving)する。テープ・カートリッジ240は、HDD、CD、DVD及びDRAMなど他の記録媒体に比べて、安価に、かつ、長期の間高度な信頼性を保証する。
【0003】
図2は、一般的なテープドライブ100の構成図を示す。
図2により、一般的なテープドライブのデータの書込み方法を説明する。
テープドライブ100は、バッファ120と、記録チャネル130と、ヘッド14bと、テープ及びカートリッジ14a,14eと、モータ150と、データ書込み制御装置(コントローラ160、ヘッド位置制御システム170)と、モータドライバ185とを含む。コントローラ160は、インターフェース110を介して、ホスト105からバッファ120にデータ(またはレコードとも言う)の書込みを指示する書込みコマンド、バッファ120のデータをテープ14aへの書込みを指示する同期コマンドを受け取る。 例えばインターフェース110の通信の規格がSCSIの場合、ホスト105からのデータまたはレコードの書込みコマンドは、WRITEコマンドである。同期コマンドは、バッファ120に一時的に保管(準備)されたファイルをテープに書込みされたことを確認するために、WRITE FILEMARKS 0(以下「WRITE FM0」と省略する)コマンドである。
【0004】
コントローラ160は、テープドライブ100の全体を制御する。コントローラ160は、ホスト105から受け付けたコマンドに従って、データのテープ14aへの書込み読取りを制御する。また、コントローラ160は、ヘッド位置制御システム170やモータドライバ185の制御も行う。
【0005】
記録チャネル130を介して渡されたレコードをヘッド14bによりテープ14aに書込む。テープ14aは、リール14c及び14dに巻かれ、これらの回転に伴い、リール14cからリール14dの方向へ、又は、その反対の方向へ、長手方向に移動する。カートリッジ14eは、テープ14aが巻きつけてあるリール14cを収容する容器である。14eと同じカートリッジにより、リール14dを収容するものを設けてもよい。モータ150は、リール14c及び14dを回転させる。
【0006】
ホスト105は、WRITEコマンドによりバッファ120に一時保管された複数のレコードの固まりをファイルとして確実にテープに書込まれたことを確認したい。その確認のために、テープドライブに同期要求(Flush)を行なう。ホスト105から書込まれたレコードは、バッファ120に一時保管され、WRITE FM0のコマンドにより同期要求(Flush)され、バッファからテープにレコード書込みが確実に行なわれる。通常の利用では、同期要求は、先行する複数のレコードのWRITEコマンドがされた後に、発行される。
【0007】
図3(3−1)は、テープドライブ内におけるバッファ410(図2の120)からテープ420(図2の14a)への3つのファイルの従来の同期要求による書込み制御方法を示す。図3(3−2)は、テープ420への3つのファイルの同期操作のタイミング・チャート(図3(3−2))を示す。
【0008】
一般的なテープドライブの書込み制御方法では、ホストから一連のレコード(点線に区別される)がバッファ410に書込まれ一時保管されたレコードが一定量に達したときに、テープドライブの速さでテープに書込まれている。テープドライブは、シーケンシャル書込み読出し特性を有しているため、バッファ410にある程度の量のレコードが保管されると、ホストからのWRITEコマンド及び同期コマンドとは無関係に、テープ420への書き出しが開始する。
【0009】
図3の(3−1)では、テープドライブに着脱可能に搭載されたテープ420に3つのファイルA,B,Cを書込むために同期要求を発行する。ホストのアプリケーションは、意味のある複数のレコードの固まりとして、ファイルA、B、Cを意味あるものとして区別している。ホストのアプリケーションは、テープ420に確実に書込まれたことを確認するために、(1)(2)(3)の区切りの時点おいて、同期要求(WRITE FM0:このコマンドを受けるとテープドライブはFlush動作を実行する)を発行する。
【0010】
テープドライブは、各ファイルA,B,Cのそれぞれについての同期要求を受けると、同期要求により指定されたファイルA,B,Cがテープに書込まれたことをホストのアプリケーションに通知する。例えば、ファイルAの同期を完了すれば、ホストのアプリケーションは次のファイルBについてWRITEコマンドを実行してバッファ420にファイルBを一時保管する。
【0011】
図3の(3−2)のタイミング・チャートは、テープ420への3つのファイルA,B,Cの同期操作の完了と同時にバックヒッチ(Backhitch)が伴うことを示す。例えば、ファイルAにいての同期の完了に続いてファイルBについて同期要求する場合において、テープドライブではバックヒッチが介在するため、ファイルBの同期操作の開始が遅れる。つまり、複数ファイルの全てに同期要求をする場合、全体として書込みパフォーマンスが大きく低下する。
【0012】
ファイルAのテープ420への書込み完了後も、テープ420は書込みヘッドに対してテープは前進している。テープ420を停止させずに次のファイルBの同期要求を行った場合、先行する同期要求によりテープ書込まれているファイルAと、書込まれるファイルBとの間に長い記録領域の無駄が生じる。テープドライブは、この記録容量の無駄を小さくするために、バックヒッチ操作によりテープ媒体の長手方向に書込まれるファイル(レコード)の間隔を最小限にしている。
【0013】
バックヒッチは、テープ媒体の走行速度を減速して、一旦停止し、反転して直前に書込まれたファイルの終端部を越えて減速して再び停止し、順方向に加速して、書込むべき位置まで戻り前回のファイルの終端に至る、モータ駆動の操作によって実行される。IBM製テープドライブ(LTO、3592等)では、同期要求ごとに生じるテープドライブのバックヒッチ操作に約2.5〜3秒かかる。多くの同期要求を伴うデータのテープ書込みは、バックヒッチ操作を頻発させて、ホストからの転送データの書込みパフォーマンスを劣化させる原因となる。
【0014】
図3の(3−2)は、1つのファイルの大きさによるが、そのファイルのテープの書込み速度は数10m秒程度であることを示す。1つのバックヒッチ操作は、1つの書込み時間に書込みファイルのテープへの書込み速度と比べて2桁以上大きな時間(3秒程度)を付加する。テープドライブは、ファイルAについての同期完了とともに、バックヒッチ操作を行う必要あるため、次のファイルBをバッファ410に保管できたとしてもテープへの書込みを受付けることはできない。図3の(3−2)は、ファイルBはバッファ410に準備されているとしても、実質的にバックヒッチ(2〜3秒)の間、テープ420に書込むことを待たされることを示している。
【0015】
図3のファイルA,B,Cに対してそれぞれ3回の同期要求される場合、3回のバックヒッチにより最大9秒程度の書込みパフォーマンスの低下を生じさせる。仮に100個のファイルを書き出すためには、同期操作のためだけに、本来データを書き出すために必要な時間に加えて少なくとも300秒程度の余分な書込み時間を必要とする。
【0016】
図4は、同期操作(即ちバックヒッチ)にかかる時間を出来るだけ減らすため、複数のファイルをまとめて同期操作を行う書込みシーケンス(j−1)〜(j−4)を示す。この書込みシーケンスは、従来の書込みシーケンスのようにアプリケーションにとって意味のあるファイル1,2,3ごとに同期要求を行なわない。テープドライブ530のバッファに全てのファイル1、2、3が書込まれた段階で、最終的にアプリケーションが1回のみ同期要求(Flush)を発行する書込み方法である。
【0017】
(j−1):コンピュータ210に常駐しているバックアップアプリケーション520は、HDD510(図1の220)に記録されている3つのFile1,2,3を、テープドライブ530(図1の230)のテープ(図1の240)に書込む最初の様子を示す。以下(j−2)〜(j−4)おいては、3つのfileが記録されているHDDは共通であるので省略されている。
(j−2):バックアップアプリケーション520が、複数のWRITEコマンドにより、File1、File2、File3をテープドライブ530のバッファに保管している。
(j−3):バックアップアプリケーション520は、バッファに保管された3つのFile1、File2、File3に対して、WRITE FM0によりテープドライブに1回の同期要求(Flush)をする。
(j−4):バックアップアプリケーションに意味のある3つのFileのテープ書込みに対して、1回の同期要求のみが行なわれた後の態様を示す。
この書込み方法では、1回のバックヒッチの時間ロスのみに制限できる。この書込み方法は、書込みパフォーマンスの低下を最低限に抑えることができる点で、前述の書込み方法のパフォーマンスの問題を改善している。
【0018】
この書込み制御方法の問題点は、まとめて同期を行うため、個々のファイル単位でみると、最後にテープドライブに対して書き出したファイル以外は、同期の応答が遅くなる。最初にテープドライブに対して書き出しを行ったファイルも、最後のファイルの書き出し後の同期完了後までは、テープに確実に書き出されたこと保障できない。
また、File1、File2、File3のどれかのテープへの書込み途中で同期操作のエラーを検出した場合、テープドライブは、どのファイルの書き出しで失敗したかをアプリケーションに対して通知できない。書き出しを指示したファイル群(File1、File2、File3)の全てについて、書き直しを行う必要がある。バックアップアプリケーションからすれば、再書込みの際最初から書き始める必要があるために、この書込み制御方法を用いても、依然として書込みパフォーマンスの低下要因を排除することができない。
【0019】
特許文献1は、ホストから同期要求コマンドに対して、応答パフォーマンスの遅延(バックヒッチ操作の時間)を除くために、ホストからテープに書込むデータを一時的に不揮発性記憶に書込み、直ぐコマンド完了を返す技術を提供する。この技術は、同期書込みのパフォーマンスの低下を抑え、書込みパフォーマンスを改善することを課題としている。この技術は、ホストからの同期要求に対して、新たなコマンド"Deferred Sync"により既にテープへの書込みが終わっている可能性が高いデータに対して応答を返す。データが実際にテープに書込みが終了していなければ、その終了まで待つ技術であり、完全には同期を減らしていない。また、Deferred Sync Logic及び不揮発性メモリを備えるコントローラ装置を必要とする点で、テープドライブを安価に利用する技術ではない。
【0020】
【特許文献1】米国特許第6,839,801号明細書
【発明の開示】
【発明が解決しようとする課題】
【0021】
上記の通り、特許文献1の書込み制御は、パフォーマンスの低下の原因となる同期操作を削減している点で書込みパフォーマンスの向上に寄与する。しかし、テープドライブにおいて複数のファイルの同期要求無くテープ書込みを行う場合、どのファイル区切り位置まで確実にテープに書込みできたかの特定が不可能である。
【0022】
そこで、本発明は、同期要求を不要とすることにより書込み速度が改善された、テープ記録装置、そのテープ記録装置の書込み制御、及び、その書込み制御方法を提供することを目的とする。
【0023】
具体的には、本発明のテープドライブに2つの新たなコマンド(以下「新コマンド」)を受け付ける機能を実装する。1つは、シーケンシャルに書込まれる複数のファイルの区切り位置をテープドライブに教える区切り位置指定命令(以下「区切り位置指定コマンド」)である。2つめは、どのファイルの区切り位置までテープに書き終わっているかをホストが確認できるテープ書込み位置確認命令(以下「書込み位置確認コマンド」)である。2つの新コマンドは対として使われるものである。
【課題を解決するための手段】
【0024】
かかる目的のもと、本発明は、外部のホストから複数のファイルの書込み命令を受けた場合にその複数のファイルをシーケンシャルに記録するテープ記録装置である。この装置は、複数のファイルを一時的に保管するバッファと、複数のファイルを記録するテープと、バッファに保管された複数のファイルを前記テープに書込む書込み手段と、バッファに保管された複数のファイルの各々を前記テープにシーケンシャルに書込むことを制御する書込み制御手段とを備え、その書込み制御手段は、外部のホストから、シーケンシャルに書込まれる複数のファイルの区切り位置を指定する命令(区切り位置指定コマンド)を受けた場合に、指定された区切り位置を記憶することを特徴とする。
また、本発明の装置において、書込み制御手段は、複数の前記位置指定コマンドをシーケンシャルに受けた場合において、外部のホストから、指定された区切り位置までファイルをテープに書込み済みかを確認する命令(書込み位置確認コマンド)を受けた場合に、区切り位置までテープに書込み済みか否かの情報を外部のホストに通知することを特徴とする。
【0025】
かかる目的のもと、本発明は、ホストに接続されテープ記録装置とを備え、そのテープ記録装置は、ホストが発行した複数ファイルの書込み命令、及び、ファイルの区切り位置について区切り位置指定コマンドを受付けるテープ記録システムである。
また、本発明のシステムにおいて、その書込み制御手段は、複数の位置指定コマンドをシーケンシャルに受けた場合、そのコマンドを受取った順番を、指定された区切り位置として記憶することを特徴とする。
また、本発明のシステムにおいて、書込み制御手段は、複数の位置指定コマンドをシーケンシャルに受けている場合において、ホストから、指定された区切り位置までファイルをテープに書込み済みかを確認する命令(書込み位置確認コマンド)を受けた場合に、区切り位置までテープに書込み済みか否かの情報をホストに通知することを特徴とする。
また、本発明のシステムにおいて、書込み制御手段は、書込み位置確認コマンドに対して、指定された区切り位置までテープに書込み済みか否かの情報として、最後にテープに書込まれた指定された区切り位置を示す順番を、外部のホストに通知することを特徴とする。
また、本発明のシステムにおいて、書込み制御手段は、書込み位置確認コマンドに対して、指定させた区切り位置までテープに書込み済みか否かの情報として、最後にテープに書込まれた指定された区切り位置を示す順番の最後のコマンドにより指定された区切り位置の最後の順番からの相対値を、外部のホストに通知することを特徴とする。
また、本発明のシステムにおいて、書込み制御手段は、複数の位置指定コマンドの数がM(自然数)個であって、最後にテープに書込まれた区切り位置が順番N(自然数でN<M)である場合、指定された区切り位置の最後の順番がMであり、相対位置としてN−Mをホストに通知することを特徴とする。
【0026】
かかる目的のもと、本発明は、複数のファイルの書込み命令を受けた場合に複数のファイルをシーケンシャルにテープに記録するテープ記録装置のための書込み制御手段である。この書込み制御手段は、書込まれる複数のファイルの区切り位置を指定する命令(区切り位置指定コマンド)を受けた場合に、指定された区切り位置を記憶する書込み制御手段である。
また、本発明の制御手段において、区切り位置指定コマンドを受けている場合において、指定された区切り位置までファイルをテープに書込み済みかを確認する命令(書込み位置確認コマンド)を受けた場合に、区切り位置までテープに書込み済みか否かの情報を記憶することを特徴とする。
【0027】
かかる目的のもと、本発明は、外部のホストから複数のファイルの書込み命令を受けた場合に複数のファイルをシーケンシャルに記録するテープ記録装置のための書込み制御方法である。この書込み制御方法は、複数のファイルをバッファに一時的に保管するステップと、複数のファイルをテープに記録するステップと、バッファに保管された複数のファイルを書込み手段によりテープに書込むステップと、バッファに保管された複数のファイルの各々をテープにシーケンシャルに書込むステップと、外部のホストから、シーケンシャルに書込まれる複数のファイルの区切り位置を指定する命令(区切り位置指定コマンド)を受けた場合に、指定された区切り位置を記憶するステップと、を備える。
また、本発明の制御方法は、更に、外部のホストから、指定された区切り位置にまでファイルがテープに書込み済みかを確認する命令(書込み区切り位置確認コマンド)を受けた場合に、区切り位置までのファイルについてテープに書込み済みか否かの情報を外部のホストに通知するステップを備えることを特徴とする。
【発明の効果】
【0028】
本発明によれば、テープドライブは、ホストから新コマンドの発行を受け、どのファイルの区切り位置までがテープに書込み済であるかをホストに通知することにより同期要求を不要にできるため、複数ファイルの書込みパフォーマンスの改善が図れる。
【発明を実施するための最良の形態】
【0029】
以下、添付図面を参照して、本発明を実施するための最良の形態(以下、実施形態)について詳細に説明するが、以下の実施形態は特許請求の範囲にかかる発明に限定するものではない。
以下の説明において、“ファイル区切り位置”、“ファイルの区切り位置”とは、ホストのアプリケーションが指定するファイルの区切り位置をいう。これら“位置”は、テープドライブ内のバッファに保管されているファイルのバッファのアドレスを意味するものでないことを注意されたい。各ファイルは、ホストから書込まれる複数のレコードをアプリケーション(ホスト)が区切ったものである。テープドライブは、単に複数のレコードをシーケンシャルに書込みを行うに過ぎず、テープドライブ自身が各ファイルを区別して書く込みことはできない。
【0030】
ホストのアプリケーションは、アプリケーションにとって意味あるレコードの集まりをファイルとして管理する。アプリケーションは、複数レコードを書くことのより、ファイルをテープに書こうとするが、テープライブ自身はファイルを認識できない。従って、本発明では、アプリケーションからの新コマンドによって、テープドライブは、ファイルの区切り位置を知る。
本発明の新コマンドには、2つの主要機能(例えば「第1の新コマンド」「第2のコマンド」という)がある。
1.第1の新コマンドは、アプリケーションにより、複数レコードの書込みの際にファイル(レコードの集まり)の区切り位置(「ファイル区切り位置」)において、順次発行され、テープドライブにファイル区切り位置を教える。テープドライブは、第1の新コマンドを受取った順番の数を、それぞれのファイル区切り位置を記憶させる。
2.第2の新コマンドは、アプリケーションにより、第1のコマンドにより指定されたどのファイルの区切り位置までテープに書込みが終わっているかを知るために、発行される。テープドライブは、複数の第1の新コマンドにより区切りが記憶されている場合テープに書き終わっている最後のファイルの区切り位置(テープ書込み区切り位置)の情報をアプリケーション(ホスト)に返す。テープドライブの書込み操作は、テープにはシーケンシャル書込み方式で行う。このシーケンシャル特性のため、事前に複数の第1の新コマンドにより複数の区切り位置が指定され、各々の区切り位置までテープ書込み区切り位置が存在しても、テープドライブは、最後のテープ書込み区切り位置のみをホストに通知すれば十分である。
【0031】
例えば、テープドライブに、第1の新コマンドにより複数のファイルの区切り位置が指定された場合、バッファ受取り済みの「ファイル区切り位置」からN回前に記憶した区切り位置までがテープに書込みが終わっている場合を考える。つまりバッファ受取り済みの「ファイル区切り位置」からN−1回前に記憶したファイルの区切り位置まではまだテープに書込まれていない。この場合、ホストから第2の新コマンドを受取ったテープドライブは、「テープ書込み済みファイル区切り位置」として「バッファ受取り済みファイル区切り位置」からの相対位置Nをホストに返す。仮に、最後のファイルのテープへの書込みが終了している場合、「テープ書込み済みファイル区切り位置」は「バッファ受取り済みファイル区切り位置」は同じである。この場合、テープドライブは、第2の新コマンドに対して、「テープ書込み済みファイル区切り位置」を「テープ受取り済みファイル区切り位置」からの相対位置0としてホストに返す。
【0032】
また、テープドライブは、テープの媒体不良などによるPermanent error(永久エラー)を検出した場合は、直後の新コマンドに対してCHECK CONDITIONステータスを返す。テープドライブが、ホストから複数レコードをWRITEされ、ファイルの区切りをテープドライブに教えるためにファイル区切り位置を指定した第1の新コマンドを受取っている。テープドライブは、ホストから第2の新コマンドを受取ると、その都度指定した区切り位置の内テープ書込みが確実に終っている「テープ書込み済みファイル区切り位置」をホストに返す。ホストのアプリケーションは、第2の新コマンドを発行することにより、確実にファイル書込みが終わっているテープ書込み済み「ファイル区切り位置」Nの次のファイルの区切り位置から再書込みを行えばよいことがわかる。
【0033】
図5は、テープドライブでのデータ書込み制御方法の本発明の一実施形態を示す。図5は、ホストのアプリケーションからWRITEコマンドにより書込まれた複数レコード(点線で区分される)がバッファ410に保管され、テープ420に書込まれた態様を示す。本発明の書込み制御は、図3の同期要求のコマンドWRITE FM0の代わりに、新コマンドが、アプリケーションにとって意味あるファイルA,B,Cの区切り(1)(2)(3)のタイミングで発行せれる。テープドライブは、バッファ410に保管された複数のファイルA,B,Cの区切り位置(1)(2)(3)を、ドライブが新コマンドを受取った順番(シーケンスNo.:1、2、3)により記憶して管理する。テープドライブは、指定された区切り位置(1)(2)(3)までのファイルA,B,Cがテープに書込み済みであるかを、「テープ書込み区切り位置」を指定する順番(1,2,3)をホストに通知する。ファイルA,B,Cの区切り位置(1)(2)(3)をドライブが把握できるバッファ410の管理番号(例えばアドレス、ブロック、セグメント)で記憶してもよい。しかし、テープドライブはシーケンシャル書込み方式であるので、アプリケーションはファイルをA,B,Cの書込む順番を把握していれば十分であり、アプリケーションにとってはバッファのアドレスなどの詳細な値は不要である。ただし、テープドライブでは、新コマンドを受取った順番の他に、または順番と併せて、ファイル位置をバッファの位置(例えばバッファのアドレスNo.バッファのセグメントNoまたはブロックNo.)により、管理及び記憶してもよい。
【0034】
本発明の書込み制御は、バッファ410からテープ420への書込みは、ホストのアプリケーションからの同期要求するのではない。ドライブは自己のタイミングでテープ書込みできるという意味で「非同期」書込みがされる。本発明の書込み制御は、通常のテープドライブのテープへのシーケンシャル書込みのドライブタイミングにまかされ、極力書込みパフォーマンスの低下を回避できる。テープドライブは、バッファ410に保管されたファイル(レコード)を、自己の書込み速さによりシーケンシャルにテープに書き始めている。アプリケーションは、各WRITEコマンドと独立して新コマンドを発行する。テープドライブは、新コマンドにより区切り位置を指定されたファイルA,B,及びCがテープに書込まれているかの情報を保持し、その情報をアプリケーションに通知する。
【0035】
図5は、(1)(2)(3)の時点おいて、新コマンドは、それぞれファイルA,B,Cの区切りをテープドライブに指定して、指定された区切り位置までのファイルがテープに書込まれているかを確認する命令(テープ書込み位置確認コマンドの機能)である。(3)においてアプリケーションから発行された新コマンドが、ファイルCを指定したテープ書込み確認命令であるとすると、その時点においてファイルCがテープ420に書込まれていなければその事実を通知する。この新コマンドに対して、ファイルAは書き終っているがファイルB、Cが書き終っていない場合は、新コマンドに対してファイルCに対するファイルAの相対位置として−2を返してもよい。アプリケーションは、この相対位置−2を知ることにより、指定されたファイルA,B,Cのうち最後のファイルCの位置からの相対位置−2のファイルAまでがテープ書込み済みであることを知ることができる。
【0036】
この実施例態様では、新コマンドは、第1の新コマンド(区切り位置指定コマンド)と第2コマンド(書込み位置確認コマンド)の両方の機能を有する。新コマンドは、シーケンシャルに書こまれるファイルの区切り位置をテープドライブに教える(第1の新コマンドの機能)と同時に、それ以前に別の新コマンドにより指定された区切り位置のどこまでがテープに書込まれているかの情報をホストに通知する(第2のコマンド)、を行う。既に説明したように、2つの機能を異なるコマンドにより実行することは可能である。第1の新コマンドによりファイル区切り位置を指定し、第2の新コマンドにより、それまで区切指定されたどのファイルの区切り位置までがテープに書込まれているかの通知を受けることも、本発明の範囲に含まれる。
【0037】
以上、本発明の実施形態のテープドライブなどのシーケンシャル記録装置におけるテープへの書込み制御方法を開示した。
本発明によれば、新コマンドをホストから受けた場合に、テープドライブは、指定されたファイルがテープに書込み済み否かを通知することにより複数のファイルの書込みに対して同期要求(バックヒッチ操作)を不要とできるため、書込みパフォーマンスの改善が図られる。
また、本発明によれば、新コマンドにより書込みエラーに対してテープ書込み済みファイルの区切り位置確認ができることにより、書込み未完了のファイルからテープ再書き直しが可能であるため、書込みエラー処理のパフォーマンスを改善できる。
更に、本発明によれば、新コマンドにより、その都度バックヒッチ操作を伴わず各ファイルの書込み確認ができるため、アプリケーションは、テープに書込み済みのファイルについて後続のファイルのテープ書込み確認を待つことなく、ファイル加工を並列して実行できるため、ホストを含めた全体として、テープドライブの書込みパフォーマンスを改善できる。
【0038】
以上の実施形態に、種々の変更または改良を加えることが可能であることが当業者に明らかである。そのような変更または改良を加えた形態も当然に本発明の技術的範囲に含まれる。
【図面の簡単な説明】
【0039】
【図1】テープドライブの形態の例として、データアーカイブシステムの構成200を示す。
【図2】一般的なテープドライブの構成図である。
【図3】テープドライブにおいてバッファ410からテープ420への従来の書込み方法を示す。
【図4】同期操作(即ちバックヒッチ)にかかる時間を減らすため、複数のファイルをまとめて同期操作を行う書込みシーケンス(j−1)〜(j−4)を示す。
【図5】本発明の一実施形態を示す。
【符号の説明】
【0040】
100…テープドライブ、
105…ホスト、
110…インターフェース、
120…バッファ、
130…記録チャネル、
14a…テープ、14b…ヘッド、14c,14d…リール、
14e…カートリッジ、
150…モータ、
160…コントローラ,書込み読取り制御、
170…ヘッド位置制御システム、
185…モータドライバ、
200・・・テープアーカイブシステム、
210…コンピュータ
220・・・ハードディスク、

【特許請求の範囲】
【請求項1】
外部のホストから複数のファイルの書込み命令を受けた場合に前記複数のファイルをシーケンシャルに記録するテープ記録装置であって、
前記複数のファイルを一時的に保管するバッファと、
前記複数のファイルを記録するテープと、
前記バッファに保管された複数のファイルを前記テープに書込む書込み手段と、
前記バッファに保管された複数のファイルの各々を前記テープにシーケンシャルに書込むことを制御する書込み制御手段とを備え、
前記書込み制御手段は、外部のホストから、シーケンシャルに書込まれる前記複数のファイルの区切り位置を指定する命令(区切り位置指定コマンド)を受けた場合に、前記指定された区切り位置を記憶する、テープ記録装置。
【請求項2】
前記書込み制御手段は、複数の前記位置指定コマンドをシーケンシャルに受けた場合、前記指定された区切り位置として、前記コマンドを受取った順番を記憶する請求項1記載のテープ記録装置。
【請求項3】
前記書込み制御手段は、複数の前記位置指定コマンドをシーケンシャルに受けた場合において、外部のホストから、前記指定された区切り位置まで前記ファイルを前記テープに書込み済みかを確認する命令(書込み位置確認コマンド)を受けた場合に、前記区切り位置まで前記テープに書込み済みか否かの情報を外部のホストに通知する、請求項1に記載のテープ記録装置。
【請求項4】
前記書込み制御手段は、前記書込み位置確認コマンドに対して、前記指定された区切り位置まで前記テープに書込み済みか否かの情報として、最後に前記テープに書込まれた前記指定された区切り位置を示す順番を、外部のホストに通知する請求項3に記載のテープ記録装置。
【請求項5】
前記書込み制御手段は、前記書込み位置確認コマンドに対して、前記指定させた区切り位置まで前記テープに書込み済みか否かの情報として、最後に前記テープに書込まれた前記指定された区切り位置を示す順番の最後の前記コマンドにより指定された区切り位置の最後の順番からの相対値を、外部のホストに通知する請求項3に記載のテープ記録装置。
【請求項6】
前記書込み制御手段は、複数の前記位置指定コマンドの数がM(自然数)個であって、最後にテープに書込まれた区切り位置が順番N(自然数でN<M)である場合、前記指定された区切り位置の最後の順番がMであり、前記相対位置としてN−Mを外部のホストに通知する請求項5記載のテープ記録装置。
【請求項7】
ホストと、
前記ホストに接続され請求項1項記載のテープ記録装置とを備え、
前記テープ記録装置は、前記ホストが発行した前記複数ファイルの書込み命令、及び、前記ファイルの区切り位置について複数の区切り位置指定コマンドを受付けるテープ記録システム。
【請求項8】
前記書込み制御手段は、複数の前記位置指定コマンドをシーケンシャルに受けた場合、前記コマンドを受取った順番を、前記指定された区切り位置として記憶する請求項7記載のテープ記録システム。
【請求項9】
前記書込み制御手段は、前記複数の前記位置指定コマンドをシーケンシャルに受けている場合において、前記ホストから、前記指定された区切り位置まで前記ファイルを前記テープに書込み済みかを確認する命令(書込み位置確認コマンド)を受けた場合に、前記区切り位置まで前記テープに書込み済みか否かの情報を前記ホストに通知する、請求項7に記載のテープ記録システム。
【請求項10】
前記書込み制御手段は、前記書込み位置確認コマンドに対して、前記指定された区切り位置まで前記テープに書込み済みか否かの情報として、最後に前記テープに書込まれた前記指定された区切り位置を示す順番を、外部の前記ホストに通知する請求項9に記載のテープ記録システム。
【請求項11】
前記書込み制御手段は、前記書込み位置確認コマンドに対して、前記指定させた区切り位置まで前記テープに書込み済みか否かの情報として、最後に前記テープに書込まれた前記指定された区切り位置を示す順番の最後の前記コマンドにより指定された区切り位置の最後の順番からの相対値を、外部のホストに通知する請求項9に記載のテープ記録システム。
【請求項12】
前記書込み制御手段は、複数の前記位置指定コマンドの数がM(自然数)個であって、最後にテープに書込まれた区切り位置が順番N(自然数でN<M)である場合、前記指定された区切り位置の最後の順番がMであり、前記相対位置としてN−Mを前記ホストに通知する請求項11記載のテープ記録システム。
【請求項13】
前記テープは、前記テープ記録装置に着脱可能な請求項7〜12にいずれか1項記載のテープ記憶システム
【請求項14】
複数のファイルの書込み命令を受けた場合に前記複数のファイルをシーケンシャルにテープに記録するテープ記録装置のための書込み制御手段であって、
前記書込まれる複数のファイルの区切り位置を指定する命令(区切り位置指定コマンド)を受けた場合に、前記指定された区切り位置を記憶する、書込み制御手段。
【請求項15】
前記区切り位置指定コマンドを受けている場合において、前記指定された区切り位置まで前記ファイルを前記テープに書込み済みかを確認する命令(書込み位置確認コマンド)を受けた場合に、前記区切り位置まで前記テープに書込み済みか否かの情報を記憶する、
請求項14に記載の書込み制御手段。
【請求項16】
外部のホストから複数のファイルの書込み命令を受けた場合に前記複数のファイルをシーケンシャルに記録するテープ記録装置のための書込み制御方法であって、
前記複数のファイルをバッファに一時的に保管するステップと、
前記複数のファイルをテープに記録するステップと、
前記バッファに保管された複数のファイルを書込み手段により前記テープに書込むステップと、
前記バッファに保管された複数のファイルの各々を前記テープにシーケンシャルに書込むステップと、
外部のホストから、シーケンシャルに書込まれる前記複数のファイルの区切り位置を指定する命令(区切り位置指定コマンド)を受けた場合に、前記指定された区切り位置を記憶するステップと、
を備える書込み制御方法。
【請求項17】
更に、外部のホストから、前記指定された区切り位置にまでファイルが前記テープに書込み済みかを確認する命令(書込み区切り位置確認コマンド)を受けた場合に、前記区切り位置までのファイルについて前記テープに書込み済みか否かの情報を外部のホストに通知するステップを備える請求項16記載の書込み制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2008−146760(P2008−146760A)
【公開日】平成20年6月26日(2008.6.26)
【国際特許分類】
【出願番号】特願2006−333777(P2006−333777)
【出願日】平成18年12月11日(2006.12.11)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【Fターム(参考)】