説明

テープ記録装置のデータ書込みを制御する装置、方法及びプログラム

【課題】テープ媒体からのデータ読み出し時やデータ追記時の位置合わせのパフォーマンスを改善するための技術を提供する。
【解決手段】制御装置は、テープ媒体をその長手方向に往復走行させてデータを記録するテープドライブのデータ書込みを制御する。この制御装置は、テープドライブのヘッドのテープ媒体上の現在位置を取得する取得部と、取得したヘッドの現在位置がテープ媒体上の所定の範囲内にあるか否か判定する判定部と、ヘッドの現在位置が所定の範囲内にないとの判定に応答して、ダミーのデータを生成する生成部と、ヘッドのテープ媒体上の現在位置が所定の範囲内となるまで、テープ媒体にダミーのデータを書き込むよう指示する書込み指示部とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、テープ媒体をその長手方向に往復走行させてデータを記録するテープ記録装置に関し、特に、テープ媒体からのデータ読み出し時やデータ追記時のテープ記録装置のヘッドのテープ媒体に対する位置合わせのパフォーマンスを改善するための技術に関する。
【背景技術】
【0002】
記録、再生媒体には、フレキシブルディスク、磁気ドラム、ハードディスク及び磁気テープが挙げられるが、磁気テープはデータの記憶容量が大きく、価格も安いため、データのバックアップ用をはじめとしてその役割を担うところが大きい。また近年は、テープドライブは、エネルギー消費の効率の高さからグリーン・ストレージとしても期待されている。
【0003】
しかしながら、データの読出し又は書込みのパフォーマンスとなると、テープドライブはハードディスクドライブに著しく劣る。これは、テープドライブはハードディスクドライブに匹敵する転送速度を持つものの、シーケンシャルアクセスに対応するテープドライブは、ランダム・アクセスに対応するハードディスク・ドライよりもヘッドの磁気テープに対する位置合わせに時間を要するためである。
【0004】
位置合わせによる時間のロスをなくす従来技術として、例えば特許文献1がある。特許文献1は、上位装置からの転送データを一旦データバッファに格納した後磁気テープに書き込む磁気テープ記憶装置において、書込み時において一時的にデータバッファが空になった場合に、ダミーデータを磁気テープに書き込ませ、その結果テープ走行を停止することなく書込み動作を継続することで書込途中でのポジショニング処理時間を不要にする技術を開示する。
【特許文献1】特開平4−286017号
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1の技術は、データ書込み途中でのポジショニング処理時間を問題としており、当該技術をもってしても、データ読み出し時や、データ追記時における位置合わせの問題は依然として残る。即ち、特許文献1の技術は、テープ走行を継続させることでポジショニング処理そのものをなくすものであるところ、データ読み出し時や、データ追記時において位置合わせ処理は必須であり、特許文献1の技術を、データ読み出し時やデータ追記時における位置合わせに適用することは不可能である。
【0006】
そこで本発明は、上記の課題を解決することができる、テープ記録装置のデータ書込みを制御する装置、方法及びプログラムを提供することを目的とする。即ち、本発明は、データ読み出し時やデータの追記時における位置合わせに要する時間を短縮することにより、データの読出し又は書込みのパフォーマンスを向上することを目的とする。
【課題を解決するための手段】
【0007】
上記の目的を達成する本発明は、次のようなテープ媒体をその長手方向に往復走行させてデータを記録するテープ記録装置のデータ書込みを制御する制御装置によって実現される。
この制御装置は、テープ記録装置のヘッドのテープ媒体上の現在位置を取得する取得部と、取得したヘッドの現在位置がテープ媒体上の所定の範囲内であるか否か判定する判定部と、取得したヘッドの現在位置が所定の範囲内にないとの判定に応答して、ダミーのデータを生成する生成部と、ヘッドのテープ媒体上の現在位置が所定の範囲内となるまで、テープ媒体にダミーを書き込むよう指示する書込み指示部とを備える。
【0008】
好適には、テープ媒体は、該テープ媒体の長手方向に沿って配列された複数のバンドを有し、上記所定の範囲はいずれかのバンドの先頭近傍である。ここでバンドの先頭近傍は、位置合わせにかかる時間としてテープ記録装置に許容される許容時間によって厳密に定義される。即ち、先頭近傍とは、テープ媒体上のデータの書込み可能な領域の先頭位置から、テープ媒体を許容時間走行させた場合に書込みヘッドのテープ媒体上の現在位置が移動する間の領域である。
【0009】
また好適には、上記生成部は、所定サイズのダミーを生成する。そして、上記書込み指示部は、ヘッドのテープ媒体上の現在位置が所定の範囲内にあるとの判定を得るまで、上記判定部と上記生成部にそれぞれの処理を繰り返すよう指示する。
【0010】
また好適には、上記生成部は、取得したヘッドのテープ媒体上の現在位置とテープ媒体の走行方向とに基づいて、ヘッドのテープ媒体上の現在位置が所定の範囲内となるまでに必要なダミーのサイズを算出する。そして上記生成部は、算出したサイズのダミーのデータを生成する。
【0011】
また好適には、上記制御装置は、テープ記録装置のアイドル状態を検出するアイドル状態検出部と、アイドル状態の検出に応答して、既に書き込まれたデータの最後尾にヘッドが位置するようテープ媒体の走行を指示する走行指示部とを更に含む。そして上記取得部は、テープ媒体の走行終了に応答して、ヘッドのテープ媒体上の現在位置を取得する。
【0012】
また、上記の目的を達成する本発明は、テープ媒体をその長手方向に往復走行させてデータを記録するテープ記録装置によって実現される。
このテープ記録装置は、テープ媒体へデータを書き込むテープドライブと、テープドライブのデータ書込みを制御する制御部と、ネットワークを介してホスト装置と通信する通信部とを含む。そして、上記制御部は、通信部におけるホスト装置からの特殊コマンドの受信に応答して、テープ記録装置のテープ媒体上のヘッドの現在位置を取得する取得部と、取得したヘッドの現在位置がテープ媒体上の所定の範囲内にあるか否か判定する判定部と、取得したヘッドの現在位置が所定の範囲内にないとの判定に応答して、ダミーのデータを生成する生成部と、ヘッドのテープ媒体上の現在位置が所定の範囲内となるまで、テープ媒体にダミーを書き込むよう指示する書込み指示部とを備える。
【0013】
また、上記の目的を達成する本発明は、テープ媒体をその長手方向に往復走行させてデータを記録するテープ記録装置にネットワークを介して接続するホスト装置によって実現される。
このホスト装置は、テープ記録装置と通信する通信部と、通信部を介してテープ記録装置へヘッドの移動コマンド及び書込みコマンドを送信し、データの書込みを指示する第1指示部と、テープ媒体へのデータの書込みを制御する制御部とを含む。そして、上記制御部は、第1指示部からテープ媒体の走行によるヘッドのテープ媒体上の現在位置の移動終了の通知又はデータ書込み終了の通知を受け取ることに応答して、通信部を介してテープ記録装置のヘッドのテープ媒体上の現在位置を問合せる位置問合せ部と、通信部を介してテープ記録装置から受信したヘッドの現在位置がテープ媒体上の所定の範囲内にあるか否か判定する判定部と、受信したヘッドの現在位置が所定の範囲内にないとの判定に応答して、ダミーのデータを生成する生成部と、ヘッドのテープ媒体上の現在位置が所定の範囲内となるまで、テープ媒体にダミーを書き込むよう、通信部を介してテープ記録装置に指示する第2指示部とを備える。
【0014】
以上、テープ媒体をその長手方向に往復走行させてデータを記録するテープ記録装置のデータ書込みを制御する制御装置及びそのような制御装置を含むテープ記録装置又はホスト装置として本発明を説明したが、本発明は、そのような装置において実行される、データ書込みを制御する制御方法、制御プログラムまたは制御プログラムを格納した記憶媒体として把握することもできる。
【発明の効果】
【0015】
本発明によれば、ダミーのデータを用いることにより、テープ媒体へ書き込まれたデータの最後尾や、データ上書き位置が、必ずテープ媒体のデータ書込み可能な領域の先頭付近にくるように調整されるので、データ読み出し時やデータ追記時における位置合わせの時間が短縮され、位置合わせのパフォーマンスが格段に向上する。
【発明を実施するための最良の形態】
【0016】
以下、本発明を実施するための最良の形態を図面に基づいて詳細に説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。なお、実施の形態の説明の全体を通じて同じ要素には同じ番号を付している。
【0017】
以下では、LTO(Linear Tape Open)規格のテープ記録装置を例に本発明を説明するが、本発明の適用はLTO規格のテープ記録装置や当該テープ記録装置に接続するホスト装置に限られない。本発明は、テープ媒体をその長手方向に往復走行させてデータを記録するテープ記録装置であればどのようなテープ記録装置に対してもその効果を奏する。なお、LTO 規格とは、Hewlett−Packard社、IBM 社、Seagate社(現在の、Quantum社)の3社が共同で開発したオープンフォーマットの規格である。
【0018】
本発明の説明に入る前に、まず図1を参照して、LTO規格に従うテープ媒体の記録領域の構成と、データ書込み方法とを説明する。テープ媒体10は、図1(a)に示すように、BOT(Beginning Of Tape)からEOT(End Of Tape)へのテープ媒体10の長手方向に沿って配置された複数のバンド15を有する。そして、複数のバンド15のそれぞれの両側には、データの書込み位置を制御するためのサーボトラック20が長手方向に沿って設けられている。
【0019】
バンド15は、図1(b)に示すように、テープ媒体10の長手方向に沿って配列された複数のデータトラック25を有する。データトラック25におけるテープ媒体10の短手方向の幅は、テープ記録装置によって一度にデータが書き込まれる幅である。データトラック25は、テープ媒体10の長手方向に沿って複数のブロック30を有する。そして、ブロック30は、複数のDataSet(DS)を有し、DSは、データの書き込み単位であるデータユニットの一例であるCQ(Co d e w o r d Q u a d s)を複数有する。例えば、全てのCQ が正常に書き込まれた場合、DSは64個のCQで構成される。
【0020】
このような記録領域の構成を採用するテープ媒体10に対し、LTO規格に従うテープ記録装置は、テープ媒体10の先頭から順にデータを書き込んでいく。但し実際は、図1(c)に示すように、データはテープ媒体10の先頭BOT(図1(c)のLP2に相当)から書き込まれるのでなく、その少し後ろのLP3と呼ばれる位置より書き込まれる。
【0021】
テープ媒体10に初めてデータを書き込む場合、テープ記録装置は、図1(c)の参照番号40より示される位置、即ちデータバンド0のLP3付近からLP4へ向かってデータを書き始める。テープ媒体10の終わりまでデータを書き込むと、テープ記録装置は、図1(c)において矢印で示されるように、テープ走行の向きをLP4からLP3へ向かう方向へ変更し、データの書込みを続ける。新たにデータを追記する場合、テープ記録装置は、テープ媒体10に最後に書かれたデータの隣の位置からデータを書き込んでいく。
【0022】
このように、シーケンシャル・アクセス・デバイスであるテープ記録装置は、テープ媒体10の長手方向に往復走行してデータを順次記録していくので、最初に書き込んだデータを除く他のデータの先頭はテープ媒体10上の任意の位置となる。そのため、データの読出し、追記といった場合に、読み出すデータの先頭の位置や次のデータの書込み位置が必ずしもテープ媒体10の先頭にあるとは限らず、先頭にない場合はテープ媒体10を目的の位置まで走行させる必要があり、位置合わせに時間がかかる。
【0023】
そこで本発明は、テープ媒体10に書き込むデータの最後尾やデータの上書き位置が、必ずテープ媒体10の先頭付近にくるように、ダミーのデータを用いてデータの書込み位置を調整する。その結果、テープ媒体10に書き込まれるデータの先頭の位置が常にテープ媒体10の先頭付近となることが保証され、データの読出し時やデータの追記時における位置合わせの時間が短縮される。
【0024】
本発明は、テープ媒体10をその長手方向に往復走行させてデータを記録するテープ記録装置100、及び該テープ装置100にネットワーク200を介して接続するホスト装置300のいずれにも実装することが可能である。テープ記録装置100とホスト装置300を含むシステム全体を図2に示す。テープ記録装置100とホスト装置300とは、SCSI(Small Computer System Interface)インターフェース、LAN(Local Area Network)等のネットワーク200を介して接続される。また、テープ記録装置100とホスト装置300とは、専用線またはインターネット等のネットワーク200を介して接続されてもよい。あるいは、テープ記録装置100は、SCSIインターフェース、LAN等の通信インターフェースによってパーソナルコンピュータ等の情報処理装置に接続され、情報処理装置を介してホスト装置300に接続されてもよい。
【0025】
(第1実施形態)最初に、本発明をホスト装置300に適用する場合について説明する。図3は、本発明の実施の形態が適用されるホスト装置300のハードウェア構成の一例を示す。ホスト装置300は、ホストコントローラ310により相互に接続されるCPU305、RAM315、グラフィックコントローラ320及び表示装置325を含むCPU周辺部と、入出力コントローラ330によりホストコントローラ310に接続される通信インターフェース345、ハードディスクドライブ335、及びCD−ROMドライブ340を含む入出力部と、入出力コントローラ330に接続されるスーパーI/Oコントローラ350及びスーパーI/Oコントローラ350に接続されるフレキシブルディスクドライブ355、フラッシュROM360、ならびにキーボードマウスコントローラ365を有するレガシー入出力部とを備える。
【0026】
ホストコントローラ310は、RAM315と、高い転送レートでRAM315をアクセスするCPU305及びグラフィックコントローラ320を接続する。CPU305は、ハードディスクドライブ335に格納されたプログラムに基づいて動作し、各部の制御を行う。本発明に係る、テープ媒体の長手方向に往復走行してデータを記録するテープ記録装置100のデータ書込みを制御する制御プログラムは、ハードディスクドライブ335に格納され、RAM315を用いてCPU305により実行される。
【0027】
上記制御プログラムは、ホスト装置300を、テープ媒体10に書き込まれるデータの最後尾やデータ上書き位置がテープ媒体10の先頭付近に必ずくるように、ダミーのデータを用いてテープ記録装置100のデータ書込みを制御する制御部として機能させる。その詳細な内容や動作は、図4乃至図5を参照して後述する。グラフィックコントローラ320は、CPU305等がRAM315内に設けたフレームバッファ上に生成する画像データを取得し、表示装置325上に表示させる。これに代えて、グラフィックコントローラ320は、CPU305等が生成する画像データを格納するフレームバッファを内部に含んでもよい。
【0028】
入出力コントローラ330は、比較的高速な入出力装置である通信インターフェース345、ハードディスクドライブ335、及びCD−ROMドライブ340をホストコントローラ310と接続する。通信インターフェース345は、通信アダプタ(イーサネット(登録商標)・カードやトークンリング・カード)等を介してネットワークに接続し、テープ記録装置100等の外部装置と通信する。CD−ROMドライブ340は、CD−ROMからプログラムまたはデータを読み取り、RAM315を介してCPU305に提供する。
【0029】
また、入出力コントローラ330には、フレキシブルディスクドライブ355やキーボードマウスコントローラ365等の比較的低速な入出力装置と、フラッシュROM360とが接続される。フラッシュROM360は、ホスト装置300の起動時にCPU305が実行するブートプログラムや、ホスト装置300のハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ365は、フレキシブルディスクからプログラムまたはデータを読み取り、RAM315を介してCPU305に提供する。スーパーI/Oコントローラ350は、フレキシブルディスクや、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。
【0030】
図4は、本発明の実施の形態に係るホスト装置300の機能構成の一例を示す。本発明の実施の形態に係るホスト装置300は、第1指示部400と、制御部410とを含み、制御部410は、位置問合せ部420と、判定部430と、生成部440と、第2指示部450とを含む。
【0031】
第1指示部400は、通信部345(図2参照)を介してテープ記録装置100へ該テープ記録装置100のヘッドの移動コマンド及び書込みコマンドを送信し、データの書込みを指示する。テープ媒体10に既に書き込まれたデータの途中からデータの上書きを行う場合、第1指示部400は、テープ記録装置100から移動コマンドに対する応答を受信すると、当該通知を後述する制御部410の位置問合せ部420に渡す。なお、テープ記録装置100のヘッドの移動コマンドとは、テープ媒体10に既に書き込まれたデータの途中から上書きを行う場合に、テープ媒体10を走行させてテープ記録装置100のヘッドが上書き開始位置に位置するよう指示するコマンドである。第1指示部400はまた、テープ記録装置100から書込みコマンドに対する応答を受信すると、続けてテープ記録装置100へ書き込むべきデータを送信する。そして、通信部345を介してテープ記録装置100からデータ書込み完了の通知を受信すると、第1指示部400はまた、当該通知を後述する制御部410の位置問合せ部420に渡す。
【0032】
制御部410は、テープ媒体10に書き込まれるデータの終わりの位置やデータ上書き位置が必ずテープ媒体10の先頭付近にくるように、ダミーのデータを用いてテープ記録装置100のデータ書込みを制御する。該制御は、位置問合せ部420、判定部430、生成部440、第2指示部450の各処理部の処理によりなされる。
【0033】
位置問合せ部420は、第1指示部400から、テープ媒体10の走行によるヘッドの現在位置の移動終了の通知又はデータ書込み終了の通知を受け取ることに応答して、通信部345を介してテープ記録装置100に、該テープ記録装置100のヘッドのテープ媒体10上の現在位置を問合せる。ホスト装置300とテープ記録装置100との間の通信がSCSIプロトコルに従ってなされる場合、ヘッドのテープ媒体10上の現在位置の問合せにはReadPositionコマンドを利用できる。LTO規格のテープ媒体10には7.2mm毎に物理的な現在位置を示すためのマークが付けられており、テープ媒体10を動かす場合には常にこのマークが参照される。位置問合せ部420は、ReadPositionコマンドをテープ記録装置100に送信することで、このマークに基づく位置を応答として受信できる。
【0034】
判定部430は、通信部345を介してテープ記録装置100から受信したヘッドのテープ媒体10上の現在位置が、テープ媒体10上の所定の範囲内にあるか否か判定する。ここで所定の範囲とは、テープ媒体10のデータ書込み領域の先頭近傍であり、LTO規格のテープ媒体10の場合いずれかのバンドの先頭近傍、即ち図1(c)に示すLP3近傍である。この先頭近傍は、位置合わせにかかる時間としてテープ記録装置100に許容される許容時間によって厳密に定義される。即ち、先頭近傍とは、テープ媒体10上のデータの書込み可能な領域の先頭位置から、テープ媒体10を許容時間走行させた場合にヘッドがテープ媒体10上を移動する間の領域である。なお、所定の範囲に関する情報は、予めホスト装置300に格納されるものとする。一例として所定の範囲に関する情報は、上述した7.2mm毎に設けられたマークに基づく所定の範囲の開始位置と終了位置であり、判定部430は、取得されたテープ媒体10上の現在位置が開始位置と終了位置の間の値であるかどうかを判定する。
【0035】
生成部440は、取得したヘッドのテープ媒体10上の現在位置が所定の範囲内にないとの判定部430による判定に応答して、ダミーのデータを生成する。生成するデータはどのようなものであってもよいが、データの読出し時においてダミーのデータであることが分かるようにすることが必要である。例えば、ホスト装置300において通常は使用されない特定のパターンを繰り返すことでダミーのデータを生成することも可能である。
【0036】
より好ましくは、生成部440は、ダミーのデータの生成についてログをとり、当該ログを保持する。一例としてログは、何番目のレコードから何番目のレコードはダミーのデータであるというような情報であってよい。なお、レコードは、ホスト装置300におけるデータの書込み及び読出しの単位である。ログを参照することにより、ホスト装置300は、ダミーのデータのテープ記録装置100からの読出しそのものを避けることが可能となる。
【0037】
第2指示部450は、ヘッドのテープ媒体10上の現在位置が所定の範囲内となるまで、生成されたダミーのデータを、取得された現在位置から現在のテープ媒体10の走行方向にテープ媒体10に書き込むよう、通信部345を介してテープ記録装置100に指示する。一例として、生成部440は、所定サイズのダミーを生成する。そして第2指示部450は、判定部430がヘッドのテープ媒体10上の現在位置が所定の範囲内にあると判定するまで、判定部430と生成部440にそれぞれの処理を繰り返すよう指示する。なお、所定のサイズは、一例として上述したDSに相当するサイズであってよい。
【0038】
次に図5のフローチャートを参照して、本実施形態に係るホスト装置300の動作を説明する。図5に示すフローチャートは、データを書き込むためにホスト装置300がヘッドの移動コマンド又は書込みコマンドをテープ記録装置100へ送信したところから開始する。まず図5のステップ100において、ホスト装置300は、テープ記録装置100からテープ媒体10の走行によるヘッドの現在位置の移動終了の通知又はデータ書込み終了の通知を受信する。ここで、移動終了の通知を次のステップ110へのトリガーとするか、又はデータ書込み終了の通知を次のステップ110へのトリガーとするかは、ホスト装置300が、テープ媒体10に既に書き込まれたデータの途中からデータを上書きするのか、又はテープ媒体10に既に書き込まれたデータの最後尾に続けてデータを追記するのかによって決まる。
【0039】
即ち、データの上書きを行う場合、ホスト装置300は、テープ媒体10の走行によるヘッドの現在位置の移動終了の通知の受信に応答して、ヘッドのテープ媒体10上の現在位置をテープ記録装置100に問い合わせ(ステップ110)、データの書込みコマンドをテープ記録装置100へ送信する前にステップ120乃至ステップ140の一連の処理を行う。一方、データの追記を行う場合、ホスト装置300は、データ書込み終了の通知の受信に応答して、ヘッドのテープ媒体10上の現在位置をテープ記録装置100に問い合わせる(ステップ110)。
【0040】
ホスト装置300は、テープ記録装置100からヘッドのテープ媒体10上の現在位置を受信すると、該ヘッドの現在位置がテープ媒体10上の所定の範囲内、例えばLP3近傍にあるか否か判定する(ステップ120)。LP3近傍にあると判定した場合(ステップ120:YES)、処理は終了する。
【0041】
一方、LP3近傍にないと判定した場合(ステップ120:NO)、処理はステップ130へ進み、ホスト装置300は所定のサイズのダミーのデータを生成する。そしてホスト装置300は、生成したダミーのデータをテープ媒体10に書き込むようテープ記録装置100に指示する(ステップ140)。ステップ140の後処理はステップ120へ戻り、ホスト装置300は、ヘッドがテープ媒体10上の現在位置が所定の範囲内となるまで、即ちステップ120においてYESとの判定結果がでるまで、ステップ120乃至ステップ140の処理を繰り返す。
【0042】
以上のように、データを上書きする場合、ホスト装置300は、テープ記録装置100がテープ媒体10を走行させることにより、そのヘッドがデータ書込み位置に位置するようになった後かつデータ書込みコマンドをテープ記録装置100へ送信する前に、テープ記録装置100のヘッドのテープ媒体10上の現在位置を確認する。そして、上書き位置がテープ媒体のデータ書込み領域の先頭近傍にない場合、ホスト装置300は、ヘッドのテープ媒体10上の現在位置が先頭近傍となるまでダミーのデータを書き込むようテープ記録装置100に指示する。
【0043】
また、データを追記する場合、ホスト装置300は、テープ記録装置100がデータの書込みを終了した時点でヘッドのテープ媒体10上の現在位置を確認する。そして、書き込まれたデータの最後尾がテープ媒体10のデータ書込み領域の先頭近傍にない場合、ホスト装置300は、ヘッドのテープ媒体10上の現在位置が先頭近傍となるまでダミーのデータを書き込むようテープ記録装置100に指示する。
【0044】
結果として、上記いずれの場合にも、テープ媒体10に書き込まれるデータの先頭の位置がテープ媒体10の先頭付近となることが保証され、データの読出し時及びデータの追記時における位置合わせの時間が短縮される。
【0045】
なお上記構成に代えて、データを途中から上書きするかデータの最後尾から追記するかにかかわらず常に、テープ記録装置100がテープ媒体10を走行させることにより、そのヘッドがデータ書込み位置に位置するようになった後かつデータ書込みコマンドをテープ記録装置100へ送信する前に、テープ記録装置100のヘッドのテープ媒体10上の現在位置を確認する構成を採用してもよい。この場合は、データの読出し時における位置合わせの時間が短縮される。
【0046】
(第2実施形態)次に本発明をテープ記録装置100に適用する場合について説明する。図6は、本発明の実施の形態が適用されるテープ記憶装置100のハードウェア構成の一例を示す。このテープ記憶装置100は、インターフェース110と、バッ1ファ120と、記録チャネル130と、読書きヘッド140と、制御部150と、位置決め部160と、モータドライバ170と、モータ180とを含む。
【0047】
通信インターフェース110は、ネットワークを介してホスト装置300との通信を行う。例えばインターフェース110は、ホスト装置300から、テープ媒体10へのデータの書き込みを指示する書込みコマンドを受信する。またインターフェース110は、ホスト装置300から、テープ媒体10からのデータ読出しを指示する読出しコマンドを受信する。
【0048】
バッファ120は、テープ媒体10に書き込むべきデータ、また、テープ媒体から読み出したデータを一時的に蓄積するメモリである。例えばバッファ120は、DRAM(Dynamic Random Access Memory)によって構成される。記録チャネル130は、バッファ120に蓄積されたデータをテープ媒体10に書き出すため、またはテープ媒体10から読み出されたデータをバッファ120に一時的に蓄積するために用いられる通信経路である。
【0049】
読書きヘッド140は、データ読書き素子を有し、テープ媒体10へのデータの書込み及びテープ媒体10からのデータの読出しを行う。本実施形態に係る読書きヘッド140はまたサーボ読取り素子を有し、テープ媒体10に設けられたサーボトラックから信号を読み取る。位置決め部160は、テープ媒体10の短手方向(幅方向)に読書きヘッド140の移動を指示する。モータドライバ170は、モータ180を駆動する。
【0050】
制御部150は、テープ記録装置100の全体の制御を行う。すなわち、制御部150は、インターフェースで受信したコマンドに従って、データのテープ媒体10への書き込み及びテープ媒体10からのデータの読出しを制御する。また、制御部150は、読取られたサーボドラックの信号に従って位置決め部160を制御する。更に制御部150は、位置決め部160及びモータドライバ170を介してモータの動作を制御する。なお、モータドライバ170は制御部150に直接接続されてもよい。なお、記録チャネル130、読書きヘッド140、位置決め部160、モータドライバ170及びモータ180を以下ではまとめてテープドライブ190という。
【0051】
上記機能に加えて、本発明の実施形態に係る制御部150は、テープ媒体10に書き込まれるデータの最後尾やデータ上書き位置がテープ媒体10の先頭付近に必ずくるように、ダミーのデータを用いてデータ書込み位置を制御する。当該機能の詳細については図7乃至図9を参照して後述する。このような制御部150は図示しないCPU、RAM、ROMにより実現される。ここでROMは、テープ記憶装置100の起動時にCPUが実行するブートプログラムや、本発明の実施形態に係る制御プログラムを含む、起動後に制御部150に上述した機能を提供させるためのプログラムを格納する。そして、CPUはこれらのプログラムを、RAMを用いて実行する。
【0052】
図7は、本発明の実施の形態に係るテープ記録装置100の制御部150の機能構成の一例を示す。上述したように本発明の実施の形態に係る制御部150は、ダミーのデータを用いて、テープ媒体10に書き込まれるデータの最後尾やデータ上書き位置がテープ媒体10の先頭付近に必ずくるようにデータの書込み位置を制御する。そのような制御部150は、アイドル状態検出部500と、走行指示部510と、位置取得部520と、判定部530と、生成部540と、書込指示部550とを含む。
【0053】
アイドル状態検出部500は、テープ記録装置100のアイドル状態を検出する。ここでアイドル状態とは、テープ記録装置100がデータの書込み及び読出しなどの動作を行っていない状態をいう。アイドル状態の具体的な検出方法は、例えば、バッファ120が一定期間空である状態や、ホストから一定期間コマンドを受信しない状態を検出することにより行ってよい。アイドル状態検出部500は、アイドル状態を検出すると、該検出を後述する走行指示部510に知らせる。
【0054】
走行指示部510は、アイドル状態の検出に応答して、テープ媒体10の走行を指示して、既に書き込まれたデータの最後尾にヘッド140(図6参照)が位置するようにする。
【0055】
位置取得部520は、通信インターフェース110(図6参照)がホスト装置300から特殊コマンドを受信することに応答して、テープ記録装置100のヘッド140のテープ媒体10上の現在位置を取得する。位置取得部520による現在位置の取得は、第1実施形態において上述したように、テープ媒体10に予め付けられた物理的な現在位置を示すためのマークを読み取ることによりなされる。ここで特殊コマンドとは、読み出し時の位置合わせを迅速に行いたいデータをテープ媒体10に書き込む場合に、ホスト装置300が、次の2つのいずれかのタイミングでテープ記録装置100に対して発行するコマンドである。即ち、(1)テープ記録装置100に対するデータ書込み直後。(2)テープ記録装置100に対するデータ書込み直前。
【0056】
特殊コマンドの実装には、例えば、ホスト装置300とテープ記録装置100との間の通信がSCSIプロトコルに従ってなされる場合、Vendor Specificと呼ばれる領域を利用してもよい。Writeコマンドでは、Byte5のBit7、6がVendor Specific領域として用意されている。また、Send Diagnosticコマンドに新たなIDを用意し、特殊コマンドとして利用することも可能である。更には、全く新しいコマンドとして特殊コマンドを実装してもよく、実装方法に制限はない。
【0057】
特殊コマンドを受信したテープ記録装置100は、位置取得部520、判定部530、生成部540、書込指示部550の各処理により、書き込もうとするデータの先頭がテープ媒体10の先頭にくるように必要な処理を行う。これに代えて又はこれに加えて、位置取得部520は、上述したアイドル状態の検出に基づくテープ媒体10の走行終了に応答して、ヘッド140の現在位置を取得してもよい。この場合、ホスト装置300からみたテープ記録装置100の書込みのパフォーマンスに影響がでない。なお、上述した第1実施形態において、アイドル状態検出部500の機能をホスト装置300に設けることも可能である。
【0058】
判定部530は、ヘッド140の現在位置がテープ媒体10上の所定の範囲内にあるか否か判定する。ここで所定の範囲については、第1実施形態で上述したので説明は省略する。なお、第2実施形態においては、所定の範囲はテープ記録装置100に予め格納されるものとする。
【0059】
生成部540は、ヘッド140のテープ媒体10上の現在位置が所定の範囲内にないとの判定に応答して、ダミーのデータを生成する。生成するダミーのデータはどのようなものでもよいが、ダミーであることがデータ読出し時に分かるように、生成部540はダミーのデータにマークをつける。最初に上述したDSには、データ領域とData Set Information Table(DSIT)の2つの領域がある。データ領域は、その名の通りデータが記録される領域であり、DSITは、データ領域の内容が記載される領域である。
【0060】
そこで、一例として生成部540は、DSのデータ領域の先頭にEND Markerと呼ばれる情報を書き込み、当該DSがダミーのデータであることを示す。END Markerは、該マーク以降に記載されるDS内のデータがパディングされたものであることを示すものとして一般に利用されるマークである。
【0061】
これに代えて、生成部540は、DSITに含まれるData Set FlagsのBit1を利用してもよい。Data Set FlagsのBit1が立っている場合、テープ記録装置100は、該DSは直前のDSを上書きしたものであると理解する。従って、生成部540は、テープ媒体10に最後に書き込まれたDSを、その上記Bit1を立てたままとすることで、ダミーのデータとして使用することができる。書き込まれたダミーのデータは、Bit1が立っていることから読出し時には直前のDSと同じデータであると理解される。ホスト装置300への同じデータの繰り返し送信は避けられるため、結果としてダミーのデータは読み出し時に無視される。
【0062】
また、生成するダミーのデータのサイズは、例えばDS1つなどの、所定のサイズであってよい。この場合、後述する書込み指示部550は、第1実施形態の第2指示部450の説明で述べたように、判定部530と生成部540にそれぞれの処理を繰り返すよう指示する。これに代えて、生成部540は、位置取得部520によって取得されたヘッド140のテープ媒体10上の現在位置とテープ媒体10の走行方向とに基づいて、ヘッド140の現在位置がテープ媒体10の所定の範囲内となるまで必要なダミーのデータのサイズを算出し、算出したサイズのダミーのデータを生成してもよい。
【0063】
ここで、図8を参照して、生成部540による、ダミーデータのサイズの算出方法を説明する。図8においてX軸は、テープ媒体10の長手方向に平行な軸であり、例えば7.2mm単位で目盛りが刻まれているものとする。また所定の範囲は計算が単純になるようここではLP3の1点とする。まず図8(a)に示すように、取得されたヘッド140のテープ媒体上の現在位置がC1で、かつテープ媒体10の走行方向がLP3からLP4へ向かう方向であったとする。この場合、ヘッド140のテープ媒体10上の現在位置がLP3からLP4へ向かう方向に沿って移動しC1からLP3となるためには、図8(a)に斜線で示す部分に相当するダミーデータが必要となる。即ちダミーデータのサイズLはL=(L2−C1)+ (L2−L1)である。
【0064】
一方図8(b)に示すように、取得されたヘッド140のテープ媒体10上の現在位置がC2で、かつテープ媒体10の走行方向がLP4からLP3へ向かう方向であったとする。この場合、ヘッド140のテープ媒体10上の現在位置がLP4からLP3へ向かう方向に沿って移動しC2からLP3となるためには、図8(b)に斜線で示す部分に相当するダミーデータが必要となる。即ち求めるべきダミーデータのサイズLはL=C2−L1である。
【0065】
書込み指示部550は、ヘッド140のテープ媒体10上の現在位置が所定の範囲内となるまで、取得された現在位置から現在のテープ媒体10の走行方向にダミーのデータをテープ媒体10に書き込むよう指示する。上述したように、生成部540が所定のサイズのダミーを生成する場合、書込み指示部550は、所定サイズのダミーデータをテープ媒体10に書き込んではヘッド140が所定の範囲内にあるか判定するよう判定部530に指示する。また、生成部540が、ヘッド140がテープ媒体上の現在位置が所定の範囲内となるまで必要なダミーのデータのサイズを算出し、算出したサイズのダミーのデータを生成する場合は、書込み指示部550は、単に生成されたダミーのデータの書込みを指示する。
【0066】
次に図9のフローチャートを参照して、本実施形態に係るテープ記録装置100の動作を説明する。テープ記録装置100は、そのアイドル状態又はホスト装置300からの特殊コマンド受信の検出に応答して(ステップ200)、ヘッド140のテープ媒体10上の現在位置を取得する。本実施例では、テープ記録装置100は、ヘッド140のテープ媒体10上の現在位置と合わせて現在のテープ媒体10の走行方向も取得する。
【0067】
次にテープ記録装置100は、取得したヘッド140の現在位置が、テープ媒体10上の所定の範囲内、例えばLP3近傍にあるか否か判定する(ステップ220)。LP3近傍にあると判定した場合(ステップ220:YES)、処理は終了する。
【0068】
一方、LP3近傍にないと判定した場合(ステップ220:NO)、処理はステップ230へ進み、テープ記録装置100は、ヘッド140のテープ媒体10上の現在位置が所定の範囲内となるまで必要なダミーのデータのサイズを算出し、算出したサイズのダミーのデータを生成する。最後にテープ記録装置100は、生成したダミーのデータをテープ媒体10に書き込むよう指示する(ステップ240)。そして処理は終了する。
【0069】
以上のように、本発明は、テープ媒体10をその長手方向に往復走行させてデータを記録するテープ記録装置100、及び該テープ装置100にネットワーク200を介して接続するホスト装置300のいずれにも実装することが可能である。テープ記録装置100に本発明を実装する場合、ダミーデータの書込みにおけるパフォーマンスの点でメリットがある。ホスト装置300に本発明を実装する場合、どのようなテープドライブでも本発明の適用による効果が得られるという柔軟性のメリットがある。
【0070】
以上、実施形態を用いて本発明の説明をしたが、本発明の技術範囲は上記実施形態に記載の範囲には限定されない。例えば上記実施形態では、テープ媒体10に書き込むデータの最後尾やデータの上書き位置を調整するかしないかの判断基準であった所定の範囲は、位置合わせにかかる時間としてテープ記憶装置100に許容される許容時間によって定義されるとした。しかしながら、テープ媒体10に書き込むことができるデータの容量を重視する場合、更なる判断基準を追加してもよい。例えば、ダミーデータを書き込むことによるテープ媒体10の容量への影響を10%未満に抑えたいというような場合も考えられる。この場合、テープ媒体10に既に書き込まれたデータの総量と、ダミーデータの総量とを比較し、ダミーデータの総量がデータの総量の10%を超えたときにはダミーデータの書込みを行わないという構成を更に追加してもよい。
【0071】
他の方法として、ダミーのデータの書込みを、テープ媒体10の走行方向がLP4からLP3へ向かう場合に限定し、そのサイズはテープ媒体10の全長の20%とし、かつダミーのデータの書込みは、LP4からLP3へ向かう間に一度のみとする構成を採用してもよい。更には、位置合わせのパフォーマンスとテープ媒体10の容量とのバランスを考慮して、所定の範囲を単純に、テープ媒体10の先頭からLP3とLP4との中間までの範囲とすることも可能である。このように、上記の実施形態に、種々の変更または改良を加えることが可能であることが当業者に明らかである。従って、そのような変更または改良を加えた形態も当然に本発明の技術的範囲に含まれる。
【図面の簡単な説明】
【0072】
【図1】(a)LTO規格に従うテープ媒体の記録領域の構成の一例を示す図である。(b)LTO規格に従うテープ媒体の記録領域の構成の一例を示す図である。(c)LTO規格に従うテープ媒体へのデータ書込み方式を示す図である。
【図2】本実施形態に係るテープ読出装置100とホスト装置300を含むシステムの一例を示す図である。
【図3】本実施形態に係るホスト装置300のハードウェア構成の一例を示す図である。
【図4】本実施形態に係るホスト装置300の機能構成の一例を示す図である。
【図5】本実施形態に係るホスト装置300における、データ書込みの制御処理の流れを示すフローチャートである。
【図6】本実施形態に係るテープ読出装置100のハードウェア構成の一例を示す図である。
【図7】本実施形態に係るテープ読出装置100の機能構成の一例を示す図である。
【図8】(a)テープ媒体10に途中までデータが書かれた状態を示す図である。(b)テープ媒体10に途中までデータが書かれた状態を示す図である。
【図9】本実施形態に係るテープ記録装置100における、データ書込みの制御処理の流れを示すフローチャートである。

【特許請求の範囲】
【請求項1】
テープ媒体をその長手方向に往復走行させてデータを記録するテープ記録装置のデータ書込みを制御する制御装置であって、
前記テープ記録装置のヘッドの前記テープ媒体上の現在位置を取得する取得部と、
取得した前記ヘッドの現在位置が前記テープ媒体上の所定の範囲内であるか否か判定する判定部と、
取得した前記ヘッドの前記現在位置が前記所定の範囲内にないとの判定に応答して、ダミーのデータを生成する生成部と、
前記ヘッドの前記テープ媒体上の前記現在位置が前記所定の範囲内となるまで、前記テープ媒体に前記ダミーのデータを書き込むよう指示する書込み指示部と
を含む、制御装置。
【請求項2】
前記テープ媒体は、該テープ媒体の長手方向に沿って配列された複数のバンドを有し、前記所定の範囲はいずれかの前記バンドの先頭近傍である、請求項1に記載の制御装置。
【請求項3】
前記生成部は、所定サイズのダミーを生成し、前記書込み指示部は、前記ヘッドの前記テープ媒体上の前記現在位置が前記所定の範囲内にあるとの判定を得るまで、前記判定部と前記生成部にそれぞれの処理を繰り返すよう指示する、請求項1に記載の制御装置。
【請求項4】
前記生成部は、取得した前記ヘッドの前記現在位置と前記テープ媒体の走行方向とに基づいて、前記ヘッドの前記テープ媒体上の前記現在位置が前記所定の範囲内となるまでに必要なダミーのデータのサイズを算出し、算出したサイズのダミーのデータを生成する、請求項1に記載の制御装置。
【請求項5】
前記制御装置は、前記テープ記録装置のアイドル状態を検出するアイドル状態検出部と、アイドル状態の検出に応答して、既に書き込まれたデータの最後尾に前記ヘッドが位置するよう前記テープ媒体の走行を指示する走行指示部とを更に含み、前記取得部は、前記テープ媒体の走行終了に応答して、前記ヘッドの前記テープ媒体上の前記現在位置を取得する、請求項1に記載の制御装置。
【請求項6】
テープ媒体をその長手方向に往復走行させてデータを記録するテープ記録装置であって、
前記テープ媒体へデータを書き込むテープドライブと、
前記テープドライブのデータ書込みを制御する制御部と、
ネットワークを介してホスト装置と通信する通信部とを含み、
前記制御部は、
前記通信部における前記ホスト装置からの特殊コマンドの受信に応答して、前記テープ記録装置のヘッドの前記テープ媒体上の現在位置を取得する取得部と、
取得した前記ヘッドの前記現在位置が前記テープ媒体上の所定の範囲内であるか否か判定する判定部と、
取得した前記ヘッドの前記現在位置が前記所定の範囲内にないとの判定に応答して、ダミーのデータを生成する生成部と、
前記ヘッドの前記テープ媒体上の前記現在位置が前記所定の範囲内となるまで、前記テープ媒体に前記ダミーのデータを書き込むよう指示する書込み指示部とを含む、テープ記録装置。
【請求項7】
テープ媒体をその長手方向に往復走行させてデータを記録するテープ記録装置にネットワークを介して接続するホスト装置であって、
前記テープ記録装置と通信する通信部と、
前記通信部を介して前記テープ記録装置へ該テープ記録装置のヘッドの移動コマンド及び書込みコマンドを送信し、データの書込みを指示する第1指示部と、
前記テープ媒体へのデータの書込みを制御する制御部とを含み、
前記制御部は、
前記第1指示部から前記テープ媒体の走行によるヘッドの前記テープ媒体上の現在位置の移動終了の通知又はデータ書込み終了の通知を受け取ることに応答して、前記通信部を介して前記テープ記録装置のヘッドの前記テープ媒体上の前記現在位置を問合せる位置問合せ部と、
前記通信部を介して前記テープ記録装置から受信した前記ヘッドの前記現在位置が前記テープ媒体上の所定の範囲内にあるか否か判定する判定部と、
前記ヘッドの前記現在位置が前記所定の範囲内にないとの判定に応答して、ダミーのデータを生成する生成部と、
前記ヘッドの前記テープ媒体上の前記現在位置が前記所定の範囲内となるまで、前記テープ媒体に前記ダミーのデータを書き込むよう、前記通信部を介して前記テープ記録装置に指示する第2指示部を含む、ホスト装置。
【請求項8】
テープ媒体をその長手方向に往復走行させてデータを記録するテープ記録装置のデータ書込みを制御する制御方法であって、
前記テープ記録装置のヘッドの前記テープ媒体上の現在位置を取得するステップと、
取得した前記ヘッドの前記現在位置が前記テープ媒体上の所定の範囲内であるか否か判定するステップと、
前記ヘッドの前記現在位置が前記所定の範囲内にないとの判定に応答して、ダミーのデータを生成するステップと、
前記ヘッドの前記テープ媒体上の前記現在位置が前記所定の範囲内となるまで、前記テープ媒体に前記ダミーのデータを書き込むよう指示するステップと
を含む、制御方法。
【請求項9】
テープ媒体をその長手方向に往復走行させてデータを記録するテープ記録装置のデータ書込みを制御する制御プログラムであって、該プログラムは、ネットワークを介してホスト装置に接続する前記テープ記録装置に、
前記ホスト装置からの特殊コマンドの受信に応答して、前記テープ記録装置のヘッドの前記テープ媒体上の現在位置を取得するステップと、
取得した前記ヘッドの前記現在位置が前記テープ媒体上の所定の範囲内であるか否か判定するステップと、
前記ヘッドの前記現在位置が前記所定の範囲内にないとの判定に応答して、ダミーのデータを生成するステップと、
前記ヘッドの前記テープ媒体上の前記現在位置が前記所定の範囲内となるまで、前記テープ媒体に前記ダミーのデータを書き込むよう指示するステップと
を実行させる、制御プログラム。
【請求項10】
テープ媒体をその長手方向に往復走行させてデータを記録するテープ記録装置のデータ書込みを制御する制御プログラムであって、該プログラムは、前記テープ記録装置にネットワークを介して接続するホスト装置に、
前記テープ記録装置から前記テープ媒体の走行によるヘッドの現在位置の移動終了の通知又はデータ書込み終了の通知の受信後、前記テープ記録装置のヘッドの前記テープ媒体上の前記現在位置を問合せるステップと、
前記テープ記録装置から受信した前記ヘッドの前記現在位置が前記テープ媒体上の所定の範囲内であるか否か判定するステップと、
前記ヘッドの前記現在位置が前記所定の範囲内にないとの判定に応答して、ダミーのデータを生成するステップと、
前記ヘッドの前記テープ媒体上の前記現在位置が前記所定の範囲内となるまで、前記テープ媒体に前記ダミーのデータを書き込むよう、前記テープ記録装置に指示するステップと
を実行させる、制御プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2009−99207(P2009−99207A)
【公開日】平成21年5月7日(2009.5.7)
【国際特許分類】
【出願番号】特願2007−269995(P2007−269995)
【出願日】平成19年10月17日(2007.10.17)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【Fターム(参考)】