(57)【要約】      （修正有）【課題】ホストからの間欠的な複数の読取り要求に対して、ホスト転送のパフォーマンスを劣化させないテープドライブの最適なテープ速度の選択方法を提供する。【解決手段】所定のホスト転送速度でホスト転送されるデータを一時保管するバッファと、バッファに一時保管されるデータを記録するテープと、テープに記録されたデータを読取りバッファに順次保管する読取りヘッドと、ドライブ転送速度がホスト転送速度と一致するようにテープを駆動させる読取制御手段とを備え、ホスト転送に続くホスト転送休止時において、バッファに蓄積されたデータの量を測定し、バッファが蓄積データにより一杯になったと判断した場合に、ドライブ転送速度がホスト転送速度より小さい値となるようにテープ速度を選択する。ホスト転送とホスト転送休止の時間を含めてホスト転送速度を換算して、ドライブ転送速度を換算ホスト転送速度と一致するように、テープ速度を選択する。【選択図】図６
2010113739.tif 000002
【特許請求の範囲】
【請求項１】
データ転送が一時的に停止するような間隔（ホスト転送休止）を伴って、ホストから複数の読取り要求が発行された場合に、データをホストに転送（ホスト転送）するテープドライブであって、  
所定のホスト転送速度で前記ホスト転送されるデータを、一時保管するバッファと、
前記バッファに一時保管されるデータを記録するテープと、
前記テープに記録されたデータを読取り、前記データを前記バッファに順次保管する読取りヘッドと、
ドライブ転送速度が前記ホスト転送速度と一致するようにテープ速度を設定し、前記テープ速度で前記テープを駆動させる読取制御手段とを備え、
前記読取制御手段は、前記ホスト転送に続くホスト転送休止時において、前記バッファに蓄積されたデータの量を測定し、前記バッファが蓄積データにより一杯になったと判断した場合に、前記ドライブ転送速度が前記ホスト転送速度より小さい値となるように前記テープ速度を選択する、
テープドライブ。
【請求項２】
前記読取制御手段は、前記バッファが蓄積データより一杯になった場合に前記テープがバックヒッチ動作を行うように駆動させる請求項１に記載のテープドライブ。
【請求項３】
前記読取制御手段は、前記ホスト転送とそれに続く前記ホスト転送休止の時間を含めて前記ホスト転送速度を換算して、前記ドライブ転送速度が前記換算ホスト転送速度と一致するように、前記テープ速度を選択する請求項２記載のテープドライブ。
【請求項４】
前記読取制御手段は、前記ホスト転送速度を測定し前記ドライブ転送速度を前記ホスト転送速度と一致するようにテープ速度を設定し、
前記ホスト転送休止においてバックヒッチの時間を測定して、第１のバックヒッチと次の第２のバックヒッチとの時間間隔及び前記時間間隔でのデータ転送量を測定し、
前記時間間隔及び前記データ転送量に基づいて前記ホスト転送速度を換算して、前記ドライブ転送速度が前記換算ホスト転送速度と一致するように、前記テープ速度を選択する請求項２記載のテープドライブ。
【請求項５】
ホストと、
前記ホストに接続された請求項１〜４の何れか１項記載のテープドライブと、
を備えるテープドライブ記録システム。
【請求項６】
前記ホストは、データ転送が一時的に停止するようなホスト転送休止を伴って読取り要求を前記テープドライブに発行する、請求項５記載のシステム。
【請求項７】
所定のホスト転送速度でホスト転送されるデータを一時保管するバッファと、前記バッファに一時保管されるデータを記録するテープと、前記テープに記録されたデータを読取り、前記データを前記バッファに順次保管する読取りヘッドと、ドライブ転送速度が前記ホスト転送速度と一致するようにテープ速度を設定し、前記テープ速度で前記テープを駆動させる読取制御手段とを備えるテープドライブにおいて、データ転送が一時的に停止するような間隔（ホスト転送休止）を伴って、ホストから複数の読取り要求が発行された場合に、前記データを前記ホストに転送（ホスト転送）のために最適なテ−プ速度を選択する方法であって、
ドライブ転送速度が前記ホスト転送速度と一致するようにテープ速度を設定するステップと、
前記ホスト転送に続くホスト転送休止時において、前記バッファに蓄積されたデータの量を測定するステップと、
前記バッファがデータにより一杯になったかを判断するステップと、
前記ドライブ転送速度が前記ホスト転送速度より小さい値となるように前記テープ速度を選択するステップと、を備える方法。
【請求項８】
前記テープ速度を選択するステップは、
前記ホスト転送及びそれに続く前記ホスト転送休止の時間を測定するステップと、
前記ホスト転送と前記ホスト転送休止とを含めて前記ホスト転送速度を換算するステップと、
前記ドライブ転送速度が前記換算ホスト転送速度と一致するように、前記テープ速度を選択するステップと、
含む請求項７記載の方法。
【請求項９】
前記テープ速度を選択するステップは、
特定の前記ホスト転送速度を測定するステップと、
前記ドライブ転送速度が前記測定されたホスト転送速度と一致するようにテープ速度を設定するステップと、
第１のバックヒッチと次の第２のバックヒッチとの時間間隔及び前記時間間隔でのデータ転送量を測定するステップと、
前記時間間隔及び前記データ転送量に基づいて前記ホスト転送速度を換算するステップと、
前記ドライブ転送速度が前記換算ホスト転送速度と一致するように、前記テープ速度を選択するステップと、を含む請求項７記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上位装置（例えば、ホスト）からの複数データの間欠的な読取り要求に対して、ホストへの転送パフォーマンスを劣化させない磁気テープ記録装置（テープドライブ又はドライブ）及びそのデータ読取りの際の最適なテープ速度の選択方法に関する。
【背景技術】
【０００２】
本発明は、ＬＴＯ（Ｌｉｎｅａｒ  Ｔａｐｅ  Ｏｐｅｎ）に準拠したテープドライブ又はエンタープライズ向け独自の大型テープドライブ（ＩＢＭ３５９２など）などシーケンシャル・データ記録装置に適用される。
【０００３】
これらテープドライブの動作において、記録容量の無駄を小さくするために、テープの長手方向に書込まれるデータの間隔を最小限にする必要がある。また、テープから読取られたデータの直後から次のデータを読む必要がある。このシーケンシャル書き込み／読取りのために、テープの走行速度を減速して一旦停止した後、逆方向に巻戻す。この巻戻しにより、ヘッドは書き込む／読取るテープ位置まで戻り、次のデータを書く／読むモータ操作を行う。一連のテープの巻戻しのためのモータ駆動動作をバックヒッチ（Ｂａｃｋｈｉｔｃｈ：２〜３秒必要）という。
【０００４】
テープドライブにおいて、データ読取り時に、ホスト転送速度（ドライブ内部のバッファメモリからホストへのデータ転送速度）に対してドライブ転送速度（テープからドライブ内部のバッファメモリへのデータ転送速度）が大きい場合に、テープからの読取りデータによりバッファが一杯になる場合がある。この場合、テープから読み出された後続のデータは、バッファに書き込む余地がないために、その後続のデータの読取り準備のためにバックヒッチ動作を行う。このバックヒッチ動作が、ホスト転送の遅さに対して更なるオーバーヘッドとなる。
【０００５】
特許文献１は、バックヒッチによるテープモーションの影響により、データ転送のパフォーマンスへの影響を避けるため、ホストの転送速度に応じてテープの速度（テープ速度）を変更する技術を示す。テープ速度を調整することにより、テープの記録密度との関係から、ドライブの書込み／読取りのためのデータ転送速度が一意に決定される。
【０００６】
例えば、データ読取り時であれば、ホスト転送速度が、ドライブ転送速度に比べて遅い場合、テープから読み出したデータはドライブ内部のバッファに蓄積されていく。テープから読み出されたデータによってバッファ内が一杯になった時点で、これ以上テープ上からデータを読み出してもドライブ内のバッファに転送できなくなる。その際に、ドライブはバックヒッチを発生させて、最後に読んだデータの直後へ移動を始める。この間ホストはデータを読み続けており、ドライブはバッファ内に蓄積されたデータをホストに送り続けている。
【０００７】
バックヒッチの完了までに、もしバッファ内のデータがなくなると、ホスト側はバックヒッチの完了後、続きのデ−タがドライブのバッファに送られてくるのを待つ。このバックヒッチの時間が、ホスト転送速度に大きく影響を与える。そのため、ドライブ転送速度がホスト転送速度と可能な限り一致するように調整する必要がある(特許文献１)。
【０００８】
一般的に、ホスト転送速度をドライブ内部で測定し、その測定結果に応じてテ−プの速度を調節している。一定の速度でホストがデ−タの読出しを続けていれば、容易に単位時間当たりのホストの転送速度を測定することが可能である。しかし、特許文献１は、メディア側のエラ−速度を考慮して、テ−プの速度を調整して、ホスト側の転送速度（ホスト転送速度）が大きく変化するようなケ−スに対応するものではない。
【０００９】
どの時点での単位時間でホスト転送速度を測定するかによって測定結果が異なるため、テ−プの速度決定が困難となる。また、将来にわたって、ホストがどのようにデータを読み出してくるかは不明なので、最適な単位時間を決定することも困難である。
【００１０】
特許文献２は、バッファオーバーラン、バッファーアンダーランを防ぐために、バッファ内の状態やホストからの転送速度に応じてシ−ムレスにテ−プ速度を変更する手法を示す。この手法は、ホスト側の転送速度が細かく変化する場合にバックヒッチの発生頻度を低下させる手法である。しかし、ホスト転送速度は大きく変化し、複数のデータ転送が間欠的に継続する場合では十分な効果は得られない。常にホスト側の転送速度とドライブの読み書き転送速度を同期しようとしているため、ホスト転送速度が大きく変化する場合（例えば、一時的にホスト側の転送が休止する場合）に対して、過敏に反応してしまい、バックヒッチが発生してしまう。
【００１１】
【特許文献１】特開２００６−３１８５７１号公報
【特許文献２】特表２００２−５２８８３５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
従来の手法では、間欠的、即ち時間間隔（「ホスト転送休止」と言う）を伴い、複数の読取り要求をホストから受ける場合にバックヒッチ発生によるオーバーヘッドを小さくできない。
【００１３】
本発明は、ホストからの間欠的な複数の読取り要求に対して、ホストへの転送パフォーマンスを劣化させない最適なテープ速度を選択可能なテープドライブ、テープドライブ記録システム、及び、その最適なテープ速度の選択方法を提供する。
【００１４】
本発明は、ホスト転送が間欠的な場合に、テ−プ速度を最適に保ち、バックヒッチの影響を低減したテ−プ速度の選択可能なテープドライブ、テープドライブ記録システム、及び、その最適なテープ速度の選択方法を提供する。
【課題を解決するための手段】
【００１５】
上記の目的を達成する本発明は、データ転送が一時的に停止するような間隔（ホスト転送休止）を伴って、ホストから複数の読取り要求が発行された場合に、データを前記ホストに転送（ホスト転送）する以下のテープドライブによって実現される。このテープドライブは、所定のホスト転送速度でホスト転送されるデータを、一時保管するバッファと、バッファに一時保管されるデータを記録するテープと、テープに記録されたデータを読取り、データを前記バッファに順次保管する読取りヘッドと、ドライブ転送速度がホスト転送速度と一致するようにテープ速度を設定し、テープ速度でテープを駆動させる読取制御手段とを備え、この読取制御手段は、ホスト転送に続くホスト転送休止時において、バッファに蓄積されたデータの量を測定し、バッファが蓄積データにより一杯になったと判断した場合に、ドライブ転送速度がホスト転送速度より小さい値となるように前記テープ速度を選択することを特徴とする。
【００１６】
このテープドライブの特徴は、その読取制御手段が、バッファが蓄積データより一杯になった場合に、テープがバックヒッチ動作を行うように駆動させることである。
【００１７】
このドライブの特徴は、その読取制御手段が、ホスト転送とそれに続くホスト転送休止の時間を含めてホスト転送速度を換算して、ドライブ転送速度が換算ホスト転送速度と一致するように、テープ速度を選択することである。
【００１８】
このテープドライブの特徴は、その読取制御手段が、ホスト転送速度を測定しドライブ転送速度をホスト転送速度と一致するようにテープ速度を設定し、ホスト転送休止においてバックヒッチの時間を測定して、第１のバックヒッチと次の第２のバックヒッチとの時間間隔及びその時間間隔でのデータ転送量を測定し、その時間間隔及びそのデータ転送量に基づいて前記ホスト転送速度を換算して、ドライブ転送速度が換算ホスト転送速度と一致するように、テープ速度を選択することである。
【００１９】
また、上記の目的を達成する本発明は、ホストと上記テープドライブとを備えるテープドライブ記録システムによって実現される。
【００２０】
このテープドライブ記録システムの特徴は、ホストがそのホストで起動するアプリケーションにより、データ転送が一時的に停止するような間隔（ホスト転送休止）を伴って読取り要求を発することである。
【００２１】
更に、上記の目的を達成する本発明は、所定のホスト転送速度でホスト転送されるデータを一時保管するバッファと、バッファに一時保管されるデータを記録するテープと、テープに記録されたデータを読取り、データをバッファに順次保管する読取りヘッドと、ドライブ転送速度がホスト転送速度と連動するようにテープ速度を設定し、テープ速度でテープを駆動させる読取制御手段とを備えるテープドライブにおいて、データ転送が一時的に停止するような間隔（ホスト転送休止）を伴って、ホストから複数の読取り要求が発行された場合に、前記データを前記ホストに転送（ホスト転送）のために最適なテ−プ速度を選択する以下の方法によって実現される。この方法は、ドライブ転送速度がホスト転送速度と一致するようにテープ速度を設定するステップと、ホスト転送に続くホスト転送休止時において、バッファに蓄積されたデータの量を測定するステップと、バッファがデータにより一杯になったと判断するステップと、ドライブ転送速度がホスト転送速度より小さい値となるようにテープ速度を選択するステップとを備えることを特徴とする。
【００２２】
この方法の特徴は、テープ速度を選択するステップが、特定のホスト転送及びそれに続くホスト転送休止の時間を測定するステップと、ホスト転送及びホスト転送休止の時間に基づいてホスト転送速度を換算するステップと、ドライブ転送速度が換算ホスト転送速度と一致するように、テープ速度を選択するステップと含むことである。
【００２３】
この方法の特徴は、テープ速度を選択するステップが、ホスト転送速度を測定するステップと、ドライブ転送速度をホスト転送速度と一致するようにテープ速度を設定するステップと、第１のバックヒッチと後続の第２のバックヒッチとの時間間隔及びその時間間隔でのデータ転送量を測定するステップと、その時間間隔及びそのデータ転送量に基づいてホスト転送速度を換算するステップと、ドライブ転送速度が換算ホスト転送速度と一致するように、テープ速度を選択するステップと、を含むことである。
【発明の効果】
【００２４】
以上のように構成された本発明によれば、ホストからの複数の転送要求が間欠的である場合に、テ−プの速度を最適に保ちバックヒッチの影響を低減したテ−プ速度の選択が可能となる。
また、まだホストに送っていないバッファ内部のデータ量をモニタ−することで、一時的にホストの転送速度が速くなって誤ってテ−プの速度を速くすることを防ぐことが可能となる。
【発明を実施するための最良の形態】
【００２５】
以下において、ホストからテープドライブへ、時間間隔（ホスト転送休止）を伴う複数の読取り要求（Ｒｅａｄコマンド）の場合についての実施形態（実施例）を主に説明する。
【００２６】
本発明のテ−プ速度の選択方法は、単位時間当たりのホスト転送速度から最適なテープ速度を選ぶだけでなく、バッファが一杯になって発生するバックヒッチ間の時間間隔も考慮してテ−プ速度を計算する。本発明は、次の３点が主なポイントである。
１．単位時間当たりのホストの転送速度を測定するだけでなく、ホスト転送休止の時間を含めてホスト転送速度を計算し直す。また、バッファが一杯になって発生するバックヒッチ間の時間間隔（ホスト転送休止及びオーバーヘッドなどの時間）から、ホスト転送速度を計算し直す。計算し直された値（「換算ホスト転送速度」と呼ぶ）にドライブ転送速度が一致するように最適なテ−プ速度を選ぶ。
２．一時的にホスト転送速度がテ−プからデータを読み出すテ−プ転送速度よりも著しく速くなっていても、テ−プ速度を速くしない。ホスト転送の間に介在するホスト転送休止の時間も考慮してホスト転送速度を計算し直すと、換算された値は一時的なホスト転送速度より小さくなるからである。
３．長期的に、ホストの転送速度が、テ−プからデータを読み出すテ−プ転送速度よりも著しく速くなった場合には、テ−プの速度を速くする。ホスト転送休止無しに連続的に長いデータをホストに転送する場合である。また、ホスト転送休止が介在してもその休止の時間が短時間の場合のホスト転送の場合である。これらの場合は、従来の方式通り、ドライブ転送速度をホスト転送速度に一致するように、テープ速度を調整する。
【００２７】
第1の実施例として、ホスト転送速度Ｈとホスト転送休止とを含む時間に基づいて換算ホスト転送速度Ｈ*の計算する方法を説明する。実環境ではホスト転送速度は大きく変化し、複数のデータ転送が間欠的に継続する場合が多い。例えば、１６０MB/secで３２０MB分だけホストがデータを読み出して（「ホスト転送」と言う）、１秒程データを読み出さない（ホスト転送休止）・・・ということを繰り返す場合がある。この場合、１６０MB/secで読み出している区間だけでホストの転送速度を計測すると１６０MB/secである。一方、１秒のホスト転送休止の時間を加えると、ホスト転送速度は３２０/(  ３２０/１６０＋１)  ＝１０６MB/secとなる。テ−プ速度としては、１６０MB/secではなく、１０６MB/secを基準に考えないと、バッファが一杯になってバックヒッチが発生してしまう。仮に、ホスト転送速度を見かけの１６０MB/secではなく、ホスト転送休止時間を加えるとすると、換算ホスト転送速度は１０６MB/secとなる。ドライブ転送速度がこの換算ホスト転送速度に一致するようにテープ転送速度を選択すると、長期的にホスト転送のパフォーマンスに対してバックヒッチの影響を最小にできる。
【００２８】
図１は、本実施形態が適用されるテ−プドライブ１０の構成例を示した図である。テ−プドライブ１０は、ホスト３０から送られた複数のデータ（ユ−ザデータ）を固定長のデータセット（ＤＳ）単位でテ−プ記録への書込み（Ｗｒｉｔｅ)及び読取り（Ｒｅａｄ）する流れを説明する。ＤＳは複数のデータの集まりであり、固定長のフォ−マット構造を有するテ−プに書込む単位である。
【００２９】
テ−プドライブ１０は、バッファ１２と、読み書きチャネル１３と、ヘッド１４と、モ−タ１５と、テ−プ２３を巻きつけるリ−ル２２とを含む。また、読取り制御（コントローラ）１６と、ヘッド位置制御システム１７と、モ−タドライバ１８とを含む。モ−タ１５は、２個のモ−タを設けてよい。更に、テ−プドライブ１０は、テープカートリッジ２０を着脱可能に搭載する。
【００３０】
テープカートリッジ２０は、リ−ル２１に巻かれたテ−プ２３を含む。テ−プ２３は、リ−ル２１、２２の回転に伴い、リ−ル２１からリ−ル２２の方向へ、又は、リ−ル２２からリ−ル２１の方向へ、長手方向に移動する。テ−プ２３は、磁気テ−プ以外のテ−プでもよい。ヘッド１４は、テ−プ２３が長手方向に移動するとき、テ−プ２３に対して情報を書き込んだり、テ−プ２３から情報を読出したりする。モ−タ１５は、リ−ル２１、２２を回転させる。
【００３１】
読取り制御１６は、テ−プドライブ１０の全体を制御する。ホスト３０から受取ったコマンドに従って、データのテ−プ２３への書込みやテ−プ２３からの読取りを制御する。また、ヘッド位置制御システム１７やモ−タドライバ１８を制御し、バックヒッチ動作を行う。読み書きチャネル１３を介して渡されたデータはＤＳ単位として、ヘッド１４によりテ−プ２３に書込まれる。
【００３２】
通信規格としてＳＣＳＩを用いるの場合、ホスト３０は、書き込み／読取りデータのためのコマンド（Ｗｒｉｔｅ、Ｒｅａｄ）をテープドライブ１０に発行する。また、ホスト３０は、可変長のデータの位置を指定するコマンド（Ｌｏｃａｔｅ、Ｓｐａｃｅ）をテ−プドライブ１０に発行する。
【００３３】
バッファ１２は、テ−プ２３に書き込むべきデータやテ−プ２３から読出されたデータを蓄積するメモリである。例えば、ＤＲＡＭ（Dynamic  Random  Access  Memory）によって構成される。また、バッファ１２は、複数の固定長のセグメントからなる。各セグメントは、テ−プ２３に対する読み書きの単位であるデータセット（ＤＳ）を格納する。１つのデータセットは、ホスト３０から送られる複数のデータを含む。
【００３４】
図２は、テ−プドライブ１０がホスト３０からデータ読取り要求を受取った後、テ−プからデータを読取り、バッファ１２、ホスト・インタ−フェイスを介してホストにデータを送り出す流れを示す。ホスト３０は、最大のホスト転送速度Ｈ（１６０MB/sec）でデータを受取ることができる。テープドライブ１０の読取り制御は、テ−プ２３からバッファ１２へドライブ転送速度Ｍ（４０／８０／１２０／１６０MB/sec）で送ることができる。ホスト転送速度Ｈは、バッファ１２からの単位時間当たりのデータの排出量を測定することにより、決定される。ドライブ転送速度Ｍは、バッファ１２への単位時間当たりのデータの流入量を測定することにより、決定される。ドライブ転送速度は、テ−プ速度とテ−プの記録密度で一意に計算されるため、テ−プ速度の調整によりドライブ転送速度Ｍを決定できる。
【００３５】
読取り要求では、テ−プ２３からバッファ１２へのドライブ転送速度より、バッファ１２からホスト３０へのホスト転送速度が遅い場合に、ドライブ１０にバックヒッチ動作が発生する。テ−プ２３から読取られたデータが蓄積されてバッファ１２が一杯になった場合に、後続のデータを更にデ−タに蓄積することはできない。シ−ケンシャルに記録されたデ−タを読取るには、バッファ１２からデ−タが読み出されてホスト３０に転送されて、バッファ１２に空き領域がなければならない。そのために、テ−プ２３から読取られたデータの直後のテ−プ位置に読取りヘッド１４を位置づけなければならない。その位置づけには、バックヒッチ動作のため一定の時間（２〜３秒）を要する。
【００３６】
図３は、デ−タＡ，Ｂ，Ｃ・・についてホストからの複数の読取り要求（Ｒｅａｄコマンド）を受けたテ−プドライブが、ホストに転送したデ−タ量を示す。一般的な使用態様では、ホストのアプリケ−ションはドライブに、ある程度のホスト転送休止をおいて複数の読取り要求を発行する。
【００３７】
ホスト転送速度Ｈの測定を初期のホスト転送（Ｒｅａｄ［Ａ］）の時に限定すると、その時のホスト転送速度Ｈに一致させてドライブ転送速度ＭＡを選択することになる。その後一時的にホスト側の転送が止まると（ホスト転送休止）、ドライブ転送速度ＭＡでテ−プから読み出したデ−タ量とドライブがホストへ転送したデ−タ量との差分がバッファのサイズＸを超える。蓄積データがバッファサイズＸに至ると、バックヒッチが発生する。
【００３８】
ホスト転送（Ｒｅａｄ［Ａ］）のドライブ転送速度をＭAより小さいＭBとすると、ホスト転送休止時においてバッファに蓄積されるデータがそのサイズＸに至ることはない。バッファに空きがある状態で次のホスト転送（Ｒｅａｄ［Ｂ］）が始まることができるため、ドライブ転送速度には、バックヒッチが発生しないＭＢが最適な速度になる。
【００３９】
図４は、ホストから複数の読取り要求を受取ったテ−プドライブが、バックヒッチ動作によりホスト転送にオーバーヘッドを生じさせることを示す。バックヒッチのテープモーション中、バッファ内にあるデ−タをホストに転送し続けることは可能である。しかし、バッファ分のデ−タを転送した後は、バックヒッチの完了を待たなければ、次のデ−タをホストに転送することができない。そのため、バックヒッチの完了をホストが待った分がオーバーヘッドとなり、全体としてのホスト転送は遅くなる。
【００４０】
図５は、ホスト転送休止をおいて、ホストからの複数の読取り要求を受取ったテ−プドライブが、バックヒッチ動作によりホスト転送にオーバーヘッドを生じさせることを示す。従来方式によりドライブ転送速度Ｍが特定のホスト転送速度Ｈに一致するようにテープ速度を調整する場合、ホスト転送のパフォーマンスにオーバーヘッドが生じる。従って、ホスト転送休止を伴うホストからの複数の読取り要求に対してテ−プ速度を選択する場合、ホスト転送速度Ｈを換算し直した値Ｈ*に置換える必要がある。
【００４１】
通常、ホストのアプリケ−ションは、複数の個別のデ−タを順次テ−プドライブから読み出して、データ毎に加工処理することが多い。上記のように一連のデ−タ（Ａ，Ｂ，Ｃ，Ｄ、Ｅ・・・・）を間欠的に読取る要求（Read［Ａ］,Read［Ｂ］，Read［Ｃ］,Read［Ｄ］，・・・）を発行する。テ−プ速度を初期のデ−タＡのためのホスト転送速度Ｈと連動させると、ホスト転送休止時に続いてバックヒッチに起因するオーバーヘッドを生じる。
【００４２】
読取り制御は、ホスト転送速度Ｈに基づいて設定したテープ速度においてバックヒッチ発生するということは、Ｈの値を大きく見積もりすぎであると判断する。同様に、後続の一連のホスト転送休止において、従来方式によるドライブ転送速度Ｍを選択では、バックヒッチ動作に起因するオーバーヘッドが生じる。
【００４３】
本発明では、このオーバーヘッドを避けるために、連続する２つのバックヒッチ間の時間間隔Ｔｙ（ｔ#m+1−ｔ#m）に基づいて、ホスト転送速度Ｈを換算しなおす。換算ホスト転送速度Ｈ*を後続のホスト転送の際のドライブ転送速度Ｍの調整のために利用する。ドライブ転送速度Ｍが換算転送速度Ｈ*と一致するようにテープ速度を選択すると、ホスト転送休止時においてバックヒッチ発生によるオーバーヘッドを回避できる。換算ホスト転送速度Ｈ*は、デ−タＡ，Ｂ，Ｃ，・・・のホスト転送時のそれぞれのホスト転送速度Ｈより小さな値となるように選ばれる。
【００４４】
図６は、複数の読取り要求を受取ったテ−プドライブが換算ホスト転送速度Ｈ*にドライブ転送速度Ｍを一致させた場合、ホスト転送休止時にバックヒッチを生じさせない概念図を示す。読取り要求の間にホスト転送休止が介在する場合に、見かけのホスト転送速度を低く見積もってテープ速度を選択すると、バックヒッチの発生を回避できる。各ホスト転送休止時においてバッファがデ−タＡ，Ｂ，Ｃ、・・・・により一杯となる前に、後続のデータをホスト転送できるからである。
【００４５】
本発明の別の実施例として、テ−プドライブの読取り制御に実装する具体的内容を示す。本実装の読取り制御に組み込まれるドライブ転送速度Ｍの選択手順を、図５及び図６を参照しながら説明する。この実施例は、バッファが一杯になって発生するバックヒッチ間の時間間隔（ホスト転送休止及びオーバーヘッドなどの時間）から、換算ホスト転送速度を与える方法である。この実施例の説明のため、Ｘ，Ｂ，Ｈ，Ｍを次のように定義する。
バッファサイズ:Ｘ[MB]、
バッファ蓄積速度：バッファにデ−タがたまっていく速度:Ｂ[MB/sec]、
ホスト転送速度：ドライブからホストへデ−タが転送される転送速度:Ｈ[MB/sec]、
ドライブ転送速度：ドライブがテープからデータを読み出す転送速度:Ｍ[MB/sec]とする。
【００４６】
ホストからの読み出し要求をスムーズに行うために、ドライブ転送速度ＭがＭ＞Ｈを満たすようにテープ速度を選択する。Ｍ＞Ｈであるならば、バッファにデータが残っている状態が続き、ホスト転送を待たせることはない。しかし、従来手法では、実際はホスト転送とドライブ転送の連動性を高めるために、ドライブ転送速度Ｍはホスト転送速度Ｈに対して少し大きい程度がよい。より具体的には、テープ動作のバックヒッチを回避するために、ドライブ転送速度Ｍをホスト転送速度Ｈにほぼ一致するように（Ｍ≒Ｈ）、テープ速度を与える。バッファ蓄積速度Ｂは、Ｂ＝Ｍ−Ｈで計算される。よって、理論上、バッファが一杯になるまでの時間Ｔxは、Ｔx＝Ｘ／Ｂで与えられる。
【００４７】
図５では、従来方式によりドライブ転送速度Ｍを決定すると、時間ｔ#mでバックヒッチが発生し、次にバックヒッチが時間をｔ#m+1で発生することがと示される。各時間ｔ#m、ｔ#m+1において、ドライブが計測したホスト転送速度Ｈ、ドライブ転送速度Ｍを下記のように定義する。
時間ｔ#mで計測したホスト転送速度をＨ#m[MB]及びドライブ転送速度Ｍ#m[MB]、
時間ｔ#m+1で計測したホスト転送速度をＨ#m+1[MB]及びドライブ転送速度Ｍ#m+1[MB]、
第１のバックヒッチの発生から次の第２のバックヒッチの発生までの時間間隔Ｔy＝ｔ#m+1−ｔ#mと、その時間間隔Ｔyにおいてテ−プから読取られたデ−タ量Ｄ[MB]を取得する。例えば図５は、１００のデータセット（ＤＳ）を読取りデータ量Ｄとして与えている。
【００４８】
時間ｔ#mのときに、計測したＨ#mが最適なＨ#m＜Ｍ#mのスピ−ドを選択したとすれば、理論的なバックヒッチの時間間隔Ｔxは、Ｔx＝Ｘ／(Ｍ#m−Ｈ#m)である。一方、実測されたバックヒッチの時間間隔ＴｙがＴy＜Ｔxであれば、時間ｔ#mで選択したドライブ転送速度M#mの選択において参照したホストの転送速度Ｈ#mは、実際よりも速すぎた事がわかる。図６に示すように、ホスト転送休止とオーバーヘッドの時間を含んで、ホストの転送速度を計算し直した値Ｈ*（＝Ｄ／Ｔy）を換算ホスト転送速度とすると、バックヒッチ発生を少なくできる。長期的なホスト転送の観点から、バックヒッチを削減できる分ホスト転送のパフォーマンス劣化を避けられる。
【００４９】
バックヒッチ発生とテープ速度の選択の観点から、上述のＴy＜Ｔxの技術的意味について説明する。理論上のバックヒッチ時間Ｔxは、Ｔx＝Ｘ／（Ｍ−Ｈ）で決定される。ホスト読取り要求がスムーズに処理されるように、ドライブ転送速度Ｍはホスト転送速度Ｈに対して多少大きくすべきである。しかしながら、バッファがデータで一杯になることによりバックヒッチが生じるのを避けるために、従来手法では、ドライブ転送速度ＭはＭ≒Ｈ（一時点のホスト転送速度Ｈ）と選択される。そうすると理想的なバックヒッチ発生の時間間隔Ｔxは大きくなる。言い換えれば理想的にはバックヒッチが発生しないようにＭをＨとほぼ一致させている。実際の隣接バックヒッチ発生の時間間隔Ｔｙの評価Ｔｙ＜Ｔｘにより、次のバックヒッチが早く発生していること示す。読取り制御が現在選んでいるドライブ転送速度Ｍは、実際は速すぎるホスト転送速度Ｈに基づいていることがわかる。特定時点ｔ#m、ｔ#m+1でのホスト転送速度Ｈ#m、Ｈ#m+1には、ホスト転送休止やバックヒッチに起因するオーバーヘッドの時間が考慮されていない。
【００５０】
よって、Ｔy＜Ｔxであれば、ドライブ転送速度Ｍを決めるのに、ホスト転送の時間に更にホスト転送休止とバックヒッチ動作によるオーバーヘッドの時間を含んだ時間Ｔyに基づいて計算された換算ホスト転送速度Ｈ*を使うことを考える。
【００５１】
なお、バックヒッチ開始時間ｔ#mと、その次のバックヒッチ開始時間ｔ#m+1間との間だけで判断すると単純にホスト側の転送速度が変わっただけかもしれない。一定期間同じような事（バックヒッチ発生）が繰り返し測定された場合に、バックヒッチ間の時間間隔Ｔyから計算されたテ−プ速度を選択する。
【００５２】
バックヒッチの間隔Ｔyから計算されたテ−プ速度を選択した後、単位時間当たりのホストの転送速度Ｈが一時的に速くなることがある。このホスト転送に対して、現在のテ−プの速度Ｍは遅く、もう少し速いドライブ転送速度を選択した方がよいように単位時間当たりの転送速度の観点からは見える。
【００５３】
この場合に、単位時間当たりのホスト転送速度Ｈを基に再度ドライブ転送速度Ｍを速くしてしまっては、再度バックヒッチが発生してしまう。結果として、最適なホスト転送速度を提供することができない。よって、バックヒッチの間隔Ｔyから計算されたドライブ転送速度Ｍを選択した後にも、長期的な観点で、現在のテ−プの速度がホストの転送速度に適していると判断できなければならない。
【００５４】
一方、実際にホスト転送速度Ｈが長期間にわたって速くなっており、テ−プ速度を速くする必要がある場合には、ドライブ転送速度Ｍを速くする必要もある。そのために、バッファ内部の状態をモニタ−することで、長期的にホスト転送速度Ｈに適しているかを判断する。
【００５５】
例えば、ホストの転送速度Ｈが、ドライブがテ−プから読み出す転送速度Ｍに比べて速い状況が続いているのであれば、テ−プから読み出されたデ−タは、バッファからすぐにホスト側へ転送される。この場合、バッファ内には、ホストにまだ転送していないデ−タ量は非常に少ない状況が続く。このような状況であれば、長期的にホストの転送速度が速くなったと判断し、テ−プ速度をあげる。しかし、ホストにまだ転送していないデ−タ量が、バッファ内で増えたり減ったりした状況が続いていれば、現在のドライブ転送速度Ｍは、ホスト転送速度Ｈに適していると判断し、テ−プの速度を速くしない。
【００５６】
この読取り制御の実装において、バッファが一杯になったときの、次のドライブ転送速度Ｍの選択方法について説明する。まず、図５に示すように、従来方式により、ドライブ速度Ｍを選択して、実際のバックヒッチ開始時ｔ#ｍ，ｔ#m+1，ｔ#ｍ+2，・・・を測定しておく。  
バックヒッチ間の実際の時間ＴyはＴy＝ｔ#m+1−ｔ#m、バックヒッチ間の理想的な時間ＴxはＴx＝Ｘ／(Ｍ#m−Ｈ#m)で与えられる。
【００５７】
読取り制御１６は、時間的に連続する２つのバックヒッチの時間間隔Ｔxが、Ｔx＜Ｔyである場合は、バックヒッチの間隔Ｔyに基づいてテ−プ速度（ドライブ転送速度Ｍ）を決定する。即ち、読取り制御は、ドライブ転送速度Ｍが換算ホスト転送速度Ｈ*＝Ｄ／Ｔyと一致させるようにテープ速度を選択する。Ｔx≧Ｔyの場合は、単位時間当たりのホスト転送速度Ｈにドライブ転送速度Ｍが一致する（Ｍ＝Ｈ）ようにテープ速度を選択する。
【００５８】
なお、この実施例は例示にすぎず、本発明はこの実施例に限定されない。例えば、読取り制御は、連続する複数のバックヒッチ時間から複数のＴｙを測定して、複数の連続する換算ホスト転送速度Ｈ*#m、Ｈ*#ｍ+1、Ｈ*#ｍ+2、・・・を計算する。これらの平均を最終的な換算ホスト転送速度Ｈ*として、この値Ｈ*に基づいて後続のホスト転送のためにテープ速度を調整することも可能である。更に、これら複数の換算ホスト転送速度Ｈ*#m、Ｈ*#ｍ+1、Ｈ*#ｍ+2、・・・のそれぞれに重み付けをして合算して、最終的な換算ホスト転送速度Ｈ*として利用して、最適なテ−プ速度の選択を可能にすることもできる。
【００５９】
以上の実施例により、テ−プドライブが複数のデ−タを間欠的に複数のホストから読取コマンドを受取った場合に、そのホスト読取り要求に続くホスト転送休止時間を考慮してホスト転送速度Ｈを換算して値Ｈ*を与える。その値Ｈ*にドライブ転送速度Ｍを連動させるようにテープ速度を選択する。この換算ホスト転送速度Ｈ*に基づいてドライブ転送速度Ｍを選択すると、後続のホスト転送休止時においてバッファを一杯にすることは少なくなる。つまりテ−プドライブは、バッファが一杯になることはないので、後続の読取りデ−タのテ−プ位置に位置づけるためにバックヒッチをさせる必要はない。これら本発明の実施例は、テープドライブのホスト転送においてオーバーヘッドを少なくできる有利な効果を有する。
【００６０】
今回の例は、Ｒｅａｄ時について限定して記述してあるが、本手法はホストからの書込み要求（Ｗｒｉｔｅ）についても同様の手法をとることができる。ホスト読取り要求（Read）時のバックヒッチの発生条件は、バッファが一杯になった場合であるが、Ｗｒｉｔｅ時のバックヒッチの発生条件はバッファが空になった場合である。
【図面の簡単な説明】
【００６１】
【図１】一般的なテ−プドライブの構成図を示す。
【図２】テ−プドライブがホストからデータ読取り要求を受取った後、テ−プからデータを読取り、バッファ、ホスト・インタ−フェイスを介してホストにデータを送り出す流れを示す。
【図３】複数デ−タについてホストからの複数の読取り要求を受けたテ−プドライブが、ホストに転送したデ−タ量を示す。
【図４】複数デ−タについてホストからの複数の読取り要求を受取ったテ−プドライブが、バックヒッチ動作によりホスト転送にオーバーヘッドを生じさせることを示す。
【図５】ホスト転送休止をおいて、ホストからの複数の読取り要求を受取ったテ−プドライブが、バックヒッチ動作によりホスト転送にオーバーヘッドを生じさせることを示す。
【図６】ホスト転送休止をおいて、ホストからの複数の読取り要求を受取ったテ−プドライブが、バックヒッチを生じさせない概念図を示す。
【符号の説明】
【００６２】
１０…テ−プドライブ、
１２…バッファ（ＤＲＡＭ）、
１３…読み書きチャネル、
１４…ヘッド、
１５…モ−タ、
１６…読取り制御（コントロ−ラ）、
１７…ヘッド位置制御システム、
１８…モ−タドライバ、
２０…カ−トリッジ、
２１，２２…リ−ル、
２３…テ−プ
３０…ホスト
【図１】
2010113739.tif 000003
【図２】
2010113739.tif 000004
【図３】
2010113739.tif 000005
【図４】
2010113739.tif 000006
【図５】
2010113739.tif 000007
【図６】
2010113739.tif 000008