(57)【要約】      （修正有）【課題】リード動作中にテープメディアからの読み出しを止めるバックヒッチ発生頻度を減らす方法を提供する。【解決手段】テープドライブ１０は、テープ２０から圧縮されたデータと圧縮率のメタデータを読み出す。Buffer上に存在し、まだ転送していなデータの圧縮率を計測し、Host転送レート（２）を補正する。将来の転送レートの変化を用いているため、平均転送レートとの乖離率の最大値を抑えたHost転送レート（２）が計算可能となり、テープドライブのバッファがFullにならないようにできる。【選択図】図１
2015210836.tif 000002
【特許請求の範囲】
【請求項１】
ホストとテープドライブとの間のHost転送レートを、そのテープドライブとテープとの間のMedia転送レートに、適合させる方法であって、
テープドライブのバッファに存在し、未だ転送していないデータの圧縮率を計測するステップと、
計測された圧縮率に基づいて、将来のHost転送レートの変化を予測するステップと、
予測された変化に基づいて、Host 転送レートをMedia転送レートに適合させるステップとを有する、
方法。
【請求項２】
前記予測するステップが、さらに、
直近に計測された圧縮率を加味したものに基づいたものである、
請求項１に記載の方法。
【請求項３】
前記予測するステップが、さらに、
過去に実際に長時間転送されたデータの転送レートを加味したものに基づいたものである、
請求項２に記載の方法。
【請求項４】
前記予測するステップが、さらに、
過去に実際に長時間転送されたデータの転送レートの平均（平均転送レート）との乖離率を小さくすることに基づいている、
請求項３に記載の方法。
【請求項５】
さらに、
テープにデータを書き込む際に、一定量のデータ毎に、圧縮率をメタデータとしてデータとともにテープに書き込むステップと、
テープからデータを読み出す際に、（データを転送する前に）テープからバッファに、そのメタデータを読み込むステップと、
を有する、
請求項１〜４のいずれかに記載の方法。
【請求項６】
ホストについてのHost転送レートを、テープについてのMedia転送レートに、適合させるテープドライブであって、
テープドライブのバッファに存在し、未だ転送していないデータの圧縮率を計測し、
計測された圧縮率に基づいて、将来のHost転送レートの変化を予測し、
予測された変化に基づいて、Host 転送レートをMedia転送レートに適合させる、
テープドライブ。
【請求項７】
前記予測することが、さらに、
直近に計測された圧縮率を加味したものに基づいたものである、
請求項６に記載のテープドライブ。
【請求項８】
前記予測することが、さらに、
過去に実際に長時間転送されたデータの転送レートを加味したものに基づいたものである、
請求項７に記載のテープドライブ。
【請求項９】
前記予測することが、さらに、
過去に実際に長時間転送されたデータの転送レートの平均（平均転送レート）との乖離率を小さくすることに基づいている、
請求項８に記載のテープドライブ。
【請求項１０】
さらに、
テープにデータを書き込む際に、一定量のデータ毎に、圧縮率をメタデータとしてデータとともにテープに書き込み、
テープからデータを読み出す際に、（データを転送する前に）テープからバッファに、そのメタデータを読み込む、
請求項６〜９のいずれかに記載のテープドライブ。
【請求項１１】
請求項１〜５の何れかに記載の方法をコンピュータに実行させる、
プログラム。
【請求項１２】
ホストとテープドライブとの間のHost転送レートを、そのテープドライブとテープとの間のMedia転送レートに適合させることができるように、圧縮率のデータが内部のテープに書き込まれている、テープカートリッジであって、
そのテープには、あるテープドライブのバッファに存在し、未だ転送していないデータの圧縮率を計測した結果がメタデータとして書き込まれていて、
そのテープカートリッジがそのテープドライブに搭載された状態において、そのテープドライブがその圧縮率のデータをテープから読み出すことができるように構成されていて、
そのテープドライブが、その読み出された圧縮率のデータを利用することによって、将来のHost転送レートの変化を予測し、予測された変化に基づいて、Host 転送レートをMedia転送レートに適合させることができるように構成されている、
テープカートリッジ。
【請求項１３】
前記予測することが、さらに、
直近に計測された圧縮率を加味したものに基づいたものである、
請求項１２に記載のテープカートリッジ。
【請求項１４】
前記予測することが、さらに、
過去に実際に長時間転送されたデータの転送レートを加味したものに基づいたものである、
請求項１３に記載のテープカートリッジ。
【請求項１５】
前記予測することが、さらに、
過去に実際に長時間転送されたデータの転送レートの平均（平均転送レート）との乖離率を小さくすることに基づいている、
請求項１４に記載のテープカートリッジ。
【請求項１６】
ホストとシーケンシャルアクセスデバイスとの間のHost転送レートを、そのシーケンシャルアクセスデバイスとシーケンシャルメディアとの間のMedia転送レートに、適合させる方法であって、
シーケンシャルアクセスデバイスのバッファに存在し、未だ転送していないデータの圧縮率を計測するステップと、
計測された圧縮率に基づいて、将来のHost転送レートの変化を予測するステップと、
予測された変化に基づいて、Host 転送レートをMedia転送レートに適合させるステップとを有する、
方法。
【請求項１７】
ホストについてのHost転送レートを、シーケンシャルメディアについてのMedia転送レートに、適合させるシーケンシャルアクセスデバイスであって、
シーケンシャルアクセスデバイスのバッファに存在し、未だ転送していないデータの圧縮率を計測し、
計測された圧縮率に基づいて、将来のHost転送レートの変化を予測し、
予測された変化に基づいて、Host 転送レートをMedia転送レートに適合させる、
シーケンシャルアクセスデバイス。
【請求項１８】
ホストとシーケンシャルアクセスデバイスとの間のHost転送レートを、そのシーケンシャルアクセスデバイスとシーケンシャルメディアとの間のMedia転送レートに適合させることができるように、圧縮率のデータが内部のシーケンシャルメディアに書き込まれている、メディアカートリッジであって、
そのシーケンシャルメディアには、あるシーケンシャルアクセスデバイスのバッファに存在し、未だ転送していないデータの圧縮率を計測した結果がメタデータとして書き込まれていて、
そのメディアカートリッジがそのシーケンシャルアクセスデバイスに搭載された状態において、そのシーケンシャルアクセスデバイスがその圧縮率のデータをシーケンシャルメディアから読み出すことができるように構成されていて、
そのシーケンシャルアクセスデバイスが、その読み出された圧縮率のデータを利用することによって、将来のHost転送レートの変化を予測し、予測された変化に基づいて、Host 転送レートをMedia転送レートに適合させることができるように構成されている、
メディアカートリッジ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シーケンシャルアクセスデバイスの読み書きに伴って、ホスト転送レートに予測される変化に適合させる技術に関するものである。
【０００２】
より具体的には、ホストとテープドライブとの間のホスト(Host)転送レートを、そのテープドライブとテープとの間のメディア(Media)転送レートに、適合させる技術に関するものである。
【背景技術】
【０００３】
テープまたはテープメディアは、通常、データがシーケンシャルに記録される、シーケンシャルメディアである。
【０００４】
テープドライブは、そのテープまたはテープメディアに対してアクセスする、代表的なシーケンシャルアクセスデバイスである。
【０００５】
図１は、テープドライブのRead時のデータの流れを示すブロック図である。
【０００６】
テープドライブ(Tape Drive)１０によって、テープ(Tape)２０のデータの読み書きがなされる。
【０００７】
テープドライブ１０によって読み取られたデータは、ホスト(Host)３０へと転送される。
【０００８】
図２は、本発明に関連するファイルシステムの構成例を示す図である。
【０００９】
図２の（Ａ）（Ｂ）に示すように、テ−プドライブ１０は、テープカートリッジ２０を挿入（マウント）されるように、着脱可能に搭載できるように構成される。
【００１０】
図３は、本発明に関連するテープドライブの構成例を示す図である。
【００１１】
テ−プドライブ１０は、ホスト３０から送られた複数のデータ（ユ−ザデータ）を、固定長のデータセット（DS）単位で、テ−プ記録として書込み（Write)、及び、テ−プ記録から読取り（Read）する。
【００１２】
DSは、複数のデータの集まりであり、固定長のフォ−マット構造を有するテ−プに対して書込む単位である。
【００１３】
テ−プドライブ１０は、バッファ１２と、読み書きチャネル１３と、ヘッド１４と、モ−タ１５と、テ−プ２３を巻きつけるリ−ル２２と、を含む。
【００１４】
テ−プドライブ１０は、モ−タ１５として、２個のモ−タを設けてよい。
【００１５】
テープカートリッジ２０は、メディアカートリッジとして、リ−ル２１に巻かれたテ−プ２３を含む。
【００１６】
モ−タ１５は、リ−ル２１、２２を回転させる。
【００１７】
テ−プ２３は、リ−ル２１、２２の回転に伴い、リ−ル２１からリ−ル２２の方向へ、又は、そのバック方向である、リ−ル２２からリ−ル２１の方向へ、テープの長手方向に移動する。
【００１８】
テ−プ２３は、磁気テ−プ以外のテ−プメディアである、シーケンシャルメディアであってもよい。
【００１９】
ヘッド１４は、テ−プ２３が長手方向に移動するとき、テ−プ２３に対して情報を書き込んだり、テ−プ２３から情報を読出したりする。
【００２０】
テ−プドライブ１０は、また、読取り制御（コントローラ）１６と、ヘッド位置制御システム１７と、モ−タドライバ１８と、を含む。
【００２１】
読取り制御１６は、テ−プドライブ１０の全体を制御する。
【００２２】
読取り制御１６は、ホスト３０から受取ったコマンドに従って、データのテ−プ２３への書込みや、テ−プ２３からの読取りを制御する。
【００２３】
読取り制御１６は、また、ヘッド位置制御システム１７やモ−タドライバ１８を制御し、バックヒッチ動作を行う。
【００２４】
読み書きチャネル１３を介して渡されたデータはＤＳ単位として、ヘッド１４によりテ−プ２３に書込まれる。
【００２５】
ホスト３０は、書き込み／読取りデータのためのコマンド（Write、Read）をテープドライブ１０に発行する。
【００２６】
また、ホスト３０は、可変長のデータの位置を指定するコマンド（Locate、Space）をテ−プドライブ１０に発行する。
【００２７】
バッファ１２は、テ−プ２３に書き込むべきデータやテ−プ２３から読出されたデータを蓄積するメモリである。
【００２８】
バッファ１２は、例えば、ＤＲＡＭ（Dynamic  Random  Access  Memory）によって構成することができる。
【００２９】
バッファ１２は、複数の固定長のセグメントからなる。
【００３０】
各セグメントは、テ−プ２３に対する読み書きの単位であるデータセット（DS）を格納する。
【００３１】
１つのデータセットは、ホスト３０から送られる複数のデータを含むこともある。
【００３２】
図１に説明を戻すと、ヘッド１４（Read/Write Head）から読み出されたデータは、テバッファ１２などのメモリー(Drive Buffer Memory)に一時的に保管される。
【００３３】
読み出されたデータは、圧縮/解凍エンジン(Compress/Decompress Engine)によって、圧縮データが解凍され、ホストインターフェイス(Host I/F)を通じて、ホスト(Host)へ転送される。
【００３４】
テープドライブでは、ドライブ上のメモリーへ転送されるデータレート (Media転送レート)と、ドライブからホストへ転送されるデータレート(Host転送レート)とを、可能な限り同じ転送レートの値になるようにテープ速度を選ぶ。
【００３５】
テープ速度によって、Media転送レートが決定される。
【００３６】
Read中であれば、（Host転送レート=（２） > Media転送レート=（３））の場合、ドライブ内部のバッファ(Drive Buffer Memory)は一杯になってしまう。
【００３７】
バッファが一杯になると、テープメディアから読み出したデータを一時的に保管できなくなるため、バックヒッチを行ってテープを一旦とめる。
【００３８】
再度、バッファに空きスペースができたら、テープからデータをバッファに転送する。
【００３９】
テープドライブでは、一時的にテープを止める（バックヒッチを行う）と、例えば、約３秒のオーバヘッドがかかる。
【００４０】
そのため、Read中であれば、バッファが一杯にならないように、Host転送レートとMedia転送レートとが一致するように試みる。
【００４１】
実際の運用環境では、ホストとドライブとの間のSystem側の様々な理由によって、Host転送レートは逐次変化する。
【００４２】
例え、ホストが一定速度でデータを読み出し続けたとしても(すなわち、Network転送レート=（１）が一定であっても）、テープドライブが扱っているデータは圧縮されているため、圧縮率によってドライブが計測するHost転送レート（（２））は変化する。
【００４３】
例えば、50MBの非圧縮データと、50MBの50%に圧縮されたデータをテープドライブが交互に読み出す場合のデータ転送について場合を考える。
【００４４】
ここで、Network転送レートは100MB/secで一定、であると仮定する。
【００４５】
（１）の、Network転送レート=100MB/secである。
【００４６】
（３）は、Media転送レートである。
【００４７】
バックヒッチが起きないようにするためには、バッファのIn/Outの転送レートを同程度に保つため、（２）Host転送レートと（３）とが同程度になるように、Media転送レート（３）をコントロールする。
【００４８】
Network転送レートが100MB/secで、圧縮率が50%のデータであれば、Host転送レートは、50MB/secである。
【００４９】
一方、非圧縮のデータであれば、Network転送レート=Host転送レート=100MB/secとなる。
【００５０】
ここで、簡単のために、Host転送レートの計測方法として、
【００５１】
転送レートA : 10MBのデータ転送が実施される都度、過去10MB分の平均転送レート
【００５２】
転送レートB : 転送レートAの過去３つ分の平均転送レート
【００５３】
転送レートC : 250MB分のデータ転送が完了した後に計測した平均転送レート
【００５４】
という計測方法とする。
【００５５】
転送レートCは、結果としてどのような平均転送レートであったかを後で計算した結果であり（Real Timeで計測した値ではないため）、テープ速度の制御には使えない。
【００５６】
よって、過去の履歴を用いた転送レートBを用いてテープ速度を制御するものとする。
【００５７】
ここでは、計算を単純にするため、簡単な平均を使ったが、実際にはFIR filter等を使って、直近のHost転送レートを得て、テープ速度を制御している。
【００５８】
図４は、転送レートAと、転送レートBとの遷移を示す図である。
【００５９】
例えば、130MB分のデータの転送が完了したときのホスト転送レートB=100[MB/sec]である。
【００６０】
この時点で、60MB/secに相当するテープ速度（Media転送レート)を使用していたとすると、
【００６１】
a) このまま60MB/secのMedia転送レートを維持する。
【００６２】
→ また転送レートが低くなればよいが、今後も100MB/secの転送レートが続けば100-60=40MB/sec分のボトルネックがMedia転送レートに発生し続ける
【００６３】
b) もしくは、一時的にMedia転送レートをとめてバックヒッチをして、テープを速く動かしなおして ( 100MB/secのMedia転送レートに変更して）動かす。
【００６４】
→ バックヒッチを行うためには、一時的にMedia転送が止まる。そのため、すぐに転送レートが低くなるようなケースでは、むやみにテープ速度を変更すべきではない。
【００６５】
というa)またはb) のどちらかに選択するかの判断が必要となってくる。
【００６６】
転送レートA、もしくは転送レートBを用いていても将来のことは分からないので、現状は過去の履歴のみを用いて（一定期間以上、100MB/secの状態が続いていれば）、今後も100MB/secの転送レートが続きそうだと仮定し、b)を選択するなどが考えられる。
【００６７】
結果として、130MB分の転送が完了した時点で、b)を選択したことでは良い結果を得られない。
【００６８】
なぜなら、また転送レートが低くなるため、わざわざPenaltyを払い（バックヒッチを行い）テープ速度を速くするメリットはないためである。
【００６９】
しかしながら、130MB分の転送が完了した時点で、過去の履歴からは転送レートが遅くなるかどうかの判断ができないため、b)を選択してしまう。
【００７０】
つまり、この問題を回避するためには、過去の履歴だけではなく、新しい何かしらの情報を用いて、将来の予測をし、将来のHost転送レートの予測精度を上げることが重要となってくる。
【００７１】
特許文献１〜５においては、このような観点からの予測アプローチは見ることができない。
【００７２】
本発明の構成は、「（Media転送レート＜ホスト転送レート）になっている場合には、まだホストに送られていないがドライブのBuffer上にこれから転送されるであろうデータが存在していることに着目し、これらのデータの圧縮率を用いて、Host転送レートに対する予測の精度を上げること。テープドライブなど、シーケンシャルアクセスデバイスに対して、Buffer上に存在し、まだ転送していないデータの圧縮率を計測し、Host転送レートを補正する構成。」というものであるが、特許文献１〜５には、本発明の構成要素である各々の要素が、各々の特許文献に断片的に開示されるに留まっている。
【００７３】
特許文献６〜１０は、参考事例にすぎない
【００７４】
特許文献１１は、過去に同一の出願人が特許出願して特許されたものである。
【００７５】
特許文献１１は、テープドライブとホスト間の転送レートが簡潔的に遅くなる場合に平均転送レートの計算方法を改善したものである。
【００７６】
この特許文献１１に対して、本発明は、バッファ内に存在するまだ転送していないデータの圧縮率を用いて転送レートの計算の精度を向上しようとしているのであり、特許文献１１とは解決する手段や解き方が異なるものである。
【先行技術文献】
【特許文献】
【００７７】
【特許文献１】特開２０００−１２３４７３
【特許文献２】特開２０１３−９３０８４
【特許文献３】特開平６−１４９７１７
【特許文献４】特開２０１２−１５０６６３
【特許文献５】特許第３７２６２８４号（国際公開ＷＯ１９９５／０２６５５２）
【特許文献６】特公平７−２１７８６
【特許文献７】特開平５−１９７５０２
【特許文献８】特開２００２−２１５５１６
【特許文献９】特開２００４−２２７６７６
【特許文献１０】特開平７−２１０３２４
【特許文献１１】特許第４８６６４１２号  （出願人整理番号  ＪＰ９−２００８−０２１９）  （公開番号  :  特開２０１０−１１３７３９）  （出願番号  :  特願２００８−２８１９８５）
【発明の概要】
【発明が解決しようとする課題】
【００７８】
本発明の目的は、( Media転送レート < Host転送レート )になっている場合には、まだホストに送られていないがドライブのBuffer上にこれから転送されるであろうデータが存在していることに着目し、これらのデータの圧縮率を用いて、Host転送レートに対する予測の精度をあげることにある。
【課題を解決するための手段】
【００７９】
本発明においては、テープドライブなど、シーケンシャルアクセスデバイスに対して、Buffer上に存在し、まだ転送していなデータの圧縮率を計測し、Host転送レートを補正する。
【発明の効果】
【００８０】
圧縮率により発生するHost転送レートの変化を吸収したHost転送レートを用いてテープ速度（Media転送レート）をコントロールできるようになるため、不必要にバックヒッチを発生させる頻度を減らすことができる。
【００８１】
将来の転送レートの変化を用いているため、従来手法よりも平均転送レートとの乖離率の最大値を抑えたHost転送レートが計算可能となる。
【００８２】
テープドライブのバッファがFullになってバックヒッチが発生する頻度が減る。
【００８３】
精度のあがったHost転送レートを用いることで、不必要にテープをとめて、早いテープ速度を選択しようとはしなくなることが期待される。
【図面の簡単な説明】
【００８４】
【図１】図１は、テープドライブのRead時のデータの流れを示すブロック図である。
【図２】図２は、本発明に関連するファイルシステムの構成例を示す図である。
【図３】図３は、本発明に関連するテープドライブの構成例を示す図である。
【図４】図４は、転送レートAと、転送レートBとの遷移を示す図である。
【図５】図５は、各転送レートの比較を示す図である。
【図６】図６は、各乖離率の比較を示す図である。
【発明を実施するための形態】
【００８５】
従来法は、以下の転送レートA（直近の瞬間的な転送レート）、もしくは転送レートB（過去の履歴を考慮した転送レート）を用いていた。
【００８６】
転送レートA : X[MB]のデータ転送が実施される都度、過去X[MB]分の平均転送レート
【００８７】
転送レートB : 転送レートAの過去n個分の平均転送レート
【００８８】
転送レートC : 全てのデータ転送完了した後に計測した平均転送レート
【００８９】
長時間転送した結果計測された転送レートCとの「  乖離率[%] = 転送レートX - 転送レートC/転送レートC）*100  」が大きくなった場合に、テープドライブのバッファが一杯になってバックヒッチを起こしたり、メディア転送レートを変えようとして必ずしも必要ではないバックヒッチが発生してしまったり、メディア転送レートが遅いままになってしまってホスト転送レートに追従できない、といった現象を引き起こす。
【００９０】
よって、転送レートCとの乖離率が小さいようなHost転送レートを計測できるようにすることが課題を解決することになる。
【００９１】
本発明では、新たに転送レートDとして、以下のような転送レートを計測する方法を提案する。
【００９２】
転送レートD = 転送レートB * ( 今後ホストに転送するYMB分の圧縮率 / 直近のXMBの圧縮率 )
【００９３】
今後転送するYMB分の圧縮率は、テープにデータを書き込んだ際に、一定量毎（例えば１０MB毎）に圧縮率をメタデータとしてデータとともテープに書き込んでおき、テープからデータを読み出した際にテープドライブはデータ転送前に使用できるものとする。
【００９４】
テープからデータをバッファに読み込んだ時点で使用可能とすればよい。
【００９５】
図５は、各転送レートの比較を示す図である。
【００９６】
図６は、各乖離率の比較を示す図である。
【００９７】
以下、X=10MB, n=3, Y=50MBとする。
【００９８】
本発明においては、過去の履歴＋将来の圧縮率の変化を考慮しているため、転送レートDは転送レートCとの乖離率が他の転送レートと比べて小さくなる。
【００９９】
そのため、メディア転送レートの制御に使うため有用な乖離率の小さい転送レートの測定が可能となる。
【０１００】
ここまでの説明にあたっては、転送レートBとして簡単な計測モデルを使用した。
【０１０１】
しかし、過去の履歴だけを用いたどのような方法であっても、転送レートDのように将来の圧縮率の変化を加味することで、長時間の転送レートとの乖離率を低下することが可能となり、テープ速度の選択に用いる転送レートとしてよりよいものを計測することが可能となる。
【符号の説明】
【０１０２】
１０  テープドライブ
２０  テープ  または  テープメディア
３０  ホスト
【図１】
2015210836.tif 000003
【図２】
2015210836.tif 000004
【図３】
2015210836.tif 000005
【図４】
2015210836.tif 000006
【図５】
2015210836.tif 000007
【図６】
2015210836.tif 000008