(57)【要約】      （修正有）【課題】ＬＴＯなどのテープドライブでは、シーケンシャルなデータセットを４ｍ以内に書くことを定めている。この４ｍルール違反を回避するためのバックヒッチ動作を行わない書込み読取り方法を提供する。【解決手段】テープ媒体５５０の長さ方向の４ｍの間に少なくとも１のデータセットを記録する書込み読取り制御方法は、ホストから送られた様々なサイズの複数のブロック５１０を、一定サイズのセグメント５２０で分割されたバッファ５００に順次蓄積するステップと、前記セグメント５２０が少なくとも１つの前記ブロック５１０により準備された場合に、前記セグメントの内容をデータセットとしてテープ媒体に書込み、前記テープ媒体が４ｍを移動する間に次のセグメント５２０が準備されない場合に４ｍ内にＮｕｌｌデータセットを前記テープ媒体に書込みステップと、前記データセットを前記バッファ５００のセグメントに読取るステップとを備える。【選択図】  図４
2007095231.tif 000002
【特許請求の範囲】
【請求項１】
テープ媒体の長さ方向の所定の距離の間に少なくとも１のデータを記録するための書込み読取り制御方法であって、
可変長の複数のブロックを、固定長のセグメントで分割されたバッファに順次蓄積するステップと、
前記セグメントが少なくとも１つのブロックにより準備された場合に前記セグメントの内容をデータセットとしてテープ媒体に書込み、前記テープ媒体が所定の距離を移動する間に次のセグメントが少なくとも１つのブロックにより準備されない場合に前記所定の距離内にダミーのデータセットを前記テープ媒体に書込むステップと、
ホストからのブロックの読取り要求に応じて前記ブロックを含むデータセットを前記テープ媒体から前記バッファのセグメントに読取り、前記セグメントの内の前記ダミーのデータセットのデータ転送を無効にする前記ブロックを読取るステップと、
を備える書込み読取り制御方法。
【請求項２】
前記読取るステップは、前記ホストから読取り要求のブロックを、前記セグメント内の前記ブロックの区切りで判断することを特徴とする請求項１記載の方法。
【請求項３】
前記ブロックを順次蓄積するステップは、ホストから転送された前記ブロックはその区切りを基準に圧縮がされている、該ブロックを前記セグメントに蓄積することを特徴とする請求項１に記載の方法。
【請求項４】
前記書込むステップは、前記準備されたセグメントを書込むか否かを、前記セグメント内にブロックの区切れの存在の有無により判断することを特徴とする請求項１記載の方法。
【請求項５】
前記書込むステップは、前記ダミーのデータセットの存在により生じる前記ブロックの非連続を、前記ブロックの一部を含むデータセットを重複して書くことにより回避することを特徴とする請求項１、２又は３記載の方法。
【請求項６】
前記読取りステップは、前記ブロックの連続性を確保できるように、前記ダミーのデータセット、前記重複されるデータセット、及び前記重複するデータセットのデータ転送を選択的に無効にすることを特徴とする請求項５記載の方法。
【請求項７】
前記書込みステップは、前記次のセグメントが準備され、該次のセグメント内にブロックの前記区切れを有する場合に、前記次のセグメントをデータセットとして前記テープ媒体に書込むことを特徴とする請求項１、２、又は３記載の方法。
【請求項８】
前記書込むステップは、前記次のセグメントの直前の準備されたセグメントが前記区切れを有さない場合に、前記直前の準備されたセグメントの前記区切れを有する前記次のセグメントと同時に前記テープ媒体に書込むことを特徴とする請求項１、２、又は３記載の方法。
【請求項９】
前記書込むステップは、準備されかつ区切れを有する前記次のセグメントを書込む場合、前記テープ媒体に書かれた前記ダミーのデータセットの直前のデータセットと同じものを重複データセットとして、前記ダミーのデータセットの直後に介在させて前記次のセグメントまでのデータセットを同時に前記テープ媒体に書くことを特徴とする請求項７又は８記載の方法。
【請求項１０】
前記ダミーデータセット及び前記重複データセットは無効化フラグを有し、
前記読取りステップは、前記無効化フラグを有する前記データセットが前記バッファのセグメントに読取られた場合、前記無効化フラグを有する前記データセットに対応するセグメントの直前のセグメントのデータ転送を無効にすることを特徴とする請求項９記載の方法。
【請求項１１】
前記読取りステップは、前記無効化フラグを有するダミーのデータセットに対応するセグメントの直前のセグメントが有する複数の前記区切り内で選択された区切り以降のデータ転送を無効にすることを特徴とする請求項１０記載の方法。
【請求項１２】
前記読取りステップは、前記重複データセットの無効化フラグが前記ダミーデータセットに対応するセグメントから前記直前のセグメントの前記選択された区切りと同じ重複データセットのセグメントの区切りまでのデータ転送を無効にすることを特徴とする請求項１１記載の方法。
【請求項１３】
前記ダミーデータセットは無効化フラグを有し、
前記読取りステップは、前記ダミーのデータセットの無効化フラグにより前記ダミーのデータセットの直後のデータセットが該ダミーのデータセットの直前のデータセットに対する重複データセットであることを識別し、前記直前のデータセットと前記直後のデータセットとの共通する前記区切りの間のデータ転送を無効にすることを特徴とする請求項９記載の方法。
【請求項１４】
前記読取りステップは、前記ブロックが少なくとも２つのセグメントに跨り、前記セグメントの間に前記ダミーのデータセグメントが存在する場合は、前記ダミーのデータセグメントの直前及び直後のセグメントにおいて共通する前記区切の間のデータ転送を無効にする請求項９記載の方法。
【請求項１５】
前記書込み読取り制御方法が更にＲＡＢＦ機能を有する場合であって、
前記書込みステップは、前記バッファのセグメントから前記データセットを前記テープ媒体のＡＢＦラップに書込む際に、前記ダミーのデータセットを書くことにより前記所定距離ルール違反に起因するバックヒッチを回避することを特徴とする請求項１、２又は３記載の方法。
【請求項１６】
前記読取りステップは、前記ＡＢＦラップに書かれたデータセットを前記バッファのセグメントを経由して通常ラップにリライトする場合に適用され、
前記リライトは、前記ダミーのデータセグメントの前記通常ラップへの書込みを無効してブロックで完全に充填されたデータセットのみを前記通常ラップに書く込むことを特徴とする請求項１５記載の方法。
【請求項１７】
前記書込みステップは、前記テープ媒体の移動距離をタイマーにより計測し又はテープ位置情報により検出し、前記移動距離が前記所定の距離を超えそうな場合前記ダミーのデータセットを書込むことを特徴とする請求項１記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
ＬＴＯなどのテープドライブでは、シーケンシャルなデータをテープから読ことを考えて４ｍ以内にデータセットを書くことを定めている。本発明は、テープ媒体の長さ方向の決められた４ｍの間に少なくとも１のデータセットを記録するテープ記録装置のテープへのデータ書込み読取り制御方法に関する。
【０００２】
具体的には、本発明は、ＬＴＯ（Ｌｉｎｅａｒ  Ｔａｐｅ  Ｏｐｅｎ：非特許文献１）に準拠したテープドライブにおいて、書き込み時においてテープの所定の長さ（例えば４ｍ）違反を回避するためのバックヒッチ（Ｂａｃｋｈｉｔｃｈ）動作を防止するために、ダミーのデータ又はデータセットとして例えば空白のデータ又はデータセット（以下Ｎｕｌｌデータ又はＮｕｌｌデータセット）を所定の長さ以内に書込み、読取りの際ダミーのデータのホスト転送を無効化する方法に関する。
【背景技術】
【０００３】
図１は、一般的なテープドライブ１００の構成図を示す。テープドライブ１００は、インタフェース１１０と、バッファ１２０と、記録チャネル１３０、テープ１４ａと、ヘッド１４ｂと、リール１４ｃ、１４ｄと、カートリッジ１４ｅと、モータ１５０と、コントローラ１６０と、ヘッド位置制御システム１７０と、モータドライバ１８５とを含む。インタフェース１１０は、ホスト１０５と通信を行う。インターフェース１１０は、ホスト１０５からバッファ１２０へ転送されるデータの書込みを指示するコマンド、バッファ１２０のデータをテープ１４ａへの書込みを指示するコマンドを受け取る。例えばインターフェース１１０の通信の規格がＳＣＳＩの場合、前者のコマンドはＷｒｉｔｅコマンドに相当する。また、後者のコマンド(同期要求（Ｓｙｎｃ）)は、Ｗｒｉｔｅ  Ｆｉｌｅｍａｒｋ(ＷｒｉｔｅＦＭ)コマンドに相当する。
【０００４】
バッファ１２０は、テープ１４ａに書き込むべきデータを蓄積するメモリである。このバッファ１２０は、固定長のセグメント５２０（図２）で区切られる。ひとつのセグメント５２０は、テープ１４ａ，５５０上のひとつのデータセット５６０（図２）に対応する。データセット５６０は、Ｃ１パリティとＣ２パリティとからなる積符号が付加されたデータ構造である。データセットは、その属性情報としてそれが含む複数のブロックの区切れ情報などのをＤＳＩＴ（Ｄａｔａ  Ｓｅｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔａｂｌｅ）に含む。バッファ１２０は、最後のセグメントまでデータを受け取り次は再び最初のセグメントからデータを受け取りはじめるという意味でリングバッファと呼ばれる。データは、任意の長さでホスト１０５からドライブに転送される。また、固定長のデータをホストが転送したとしてもデータ圧縮が行われる場合には、データの長さがブロックごとに異なる。これらの転送データは、順次バッファ１２０のセグメントに順次蓄積される。ここで、ホスト１０５から転送されるデータ単位をレコード又はブロックと呼ぶ。記録チャネル１３０は、いろいろな大きさのブロックで充填されたセグメントのデータを、データセットとしてテープ媒体に書込む通信経路である。バッファ１２０に蓄積されたデータは、セグメント毎にデータセット５６０として（図２）、テープ媒体に書込まれる。書込みのタイミングは、セグメントがブロックにより完全に充填された場合と、ホストからの同期要求に応じてセグメントのデータ未充填エリアにデータパディング（ｐａｄｄｉｎｇ）により充填した場合とである。この書込み動作のタイミングをバッファフラッシュ（ＢｕｆｆｅｒＦｌｕｓｈ）という。この明細書では、セグメントがデータにより充填されるこれら２の場合を、セグメントが“準備”されたとも表現する。
【０００５】
テープ１４ａは、データの記録手段としてのテープ媒体である。記録チャネル１３０を介して渡されたデータ（ブロック５１０（図２））をデータセットとしてヘッド１４ｂによりテープ１４ａに書込まれる。テープ１４ａは、リール１４ｃ及び１４ｄに巻かれ、これらの回転に伴い、リール１４ｃからリール１４ｄの方向へ、又は、その反対の方向へ、縦方向に移動する。カートリッジ１４ｅは、テープ１４ａが巻きつけてあるリール１４ｃを収容する容器である。１４ｅと同じカートリッジにより、リール１４ｄを収容するものを設けてもよい。モータ１５０は、リール１４ｃ及び１４ｄを回転させる。
【０００６】
コントローラ１６０は、テープドライブ１００の全体を制御する。コントローラ１６０は、ホスト１０５からインタフェース１１０で受け付けたコマンドに従って、データのテープ１４ａへの書込み読取りを制御する。また、コントローラは、ヘッド位置制御システム１７０やモータドライバ１８５の制御も行う。ヘッド位置制御システム１７０は、所望の１つ又は複数のラップを追跡する。ヘッド１４ｂは、トラックを切り換える必要が生じると、ヘッド位置制御システム１７０が、ヘッド１４ｂを電気的に切り換えの制御を行う。モータドライバ１８５は、直接コントローラ１６０に接続されていてもよい。
【０００７】
テープ１４ａを停止させずに次の同期要求を行った場合、先行する同期要求により書き込まれたデータと、その次の同期要求にて書き込まれたデータとの間に、長い記録領域の無駄が存在する。テープドライブ動作において、記録容量の無駄を小さくするために、テープ媒体の長手方向に書込まれるデータセットの間隔を最小限にする必要がある。テープ媒体に書込まれたデータセットの直後から次のデータが書込まれるように、テープ媒体の走行速度を減速して一旦停止し後逆方向に逆戻して、書き込むべき位置まで戻り、次のデータを書くという書込みモータ操作をする。一連のモータ１５０駆動操作をバックヒッチ（Ｂａｃｋｈｉｔｃｈ）という。ドライブ１００は、現在のテープの位置をテープ上の位置情報を検出することより認識する。また、そのテープの位置は、テープの移動速度をタイマーで計測することで認識可能である。この動作のために、約３秒の余計な時間を費やす。この時間のバックヒッチ動作の頻発が、テープドライブの同期要求の間に多くの時間を費やし、ホストからの転送データの書込みパフォーマンスを劣化させる原因となる。  
【０００８】
このような同期要求間のバックヒッチを回避するため、ＩＢＭ３５９２など大型テープドライブでは、ＩＢＭの独自技術としてＲＡＢＦ（Ｒｅｃｕｒｓｉｖｅ  Ａｃｃｍｕｌａｔｉｎｇ  ＢａｃｋｈｉｔｃｈｌｅｓｓＦｌｕｓｈ：図６に基づき後述する）という書込み方式（特許文献１及び特許文献２）を採用している。ＢＦ（Ｂａｃｋｈｉｔｃｈｌｅｓｓ  Ｆｌｕｓｈ）とは文字通りバックヒッチ動作を発生させない書き込みを意味する。ＲＡＢＦ方式の書込みでは、各同期要求に対してテープドライブはバックヒッチのための約３秒という時間ロスは生じない。
【０００９】
【非特許文献１】Ｕｌｔｒｉｕｍ  Ｇｅｎｅｒａｔｉｏｎ３  １６−Ｃｈａｎｎｅｌ    Ｆｏｒｍａｔ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｄｏｃｕｍｅｎｔ  Ｕ−３１６
【特許文献１】米国特許第６８５６４７９号明細書
【特許文献２】米国特許第６８６５０４３号明細書
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、ＬＴＯ規格（非特許文献１）では、シーケンシャル・データをテープから読む場合にデータの読出し基準を明確にすることを考えて、テープ上には少なくとも１つのデータセットを４ｍ以内に書かねばならないというルールがある。ＬＴＯテープドライブは、通常、書き込み時に４ｍルール違反が起きそうな場合、バックヒッチによりテープの巻き戻し動作を行い４ｍ以内にデータセットを書くようにしている。ＲＡＢＦ方式を採用するテープドライブにおいても同様に、４ｍルール違反が生じる場合、ＡＢＦ書込みにおいてもバックヒッチを行う。ＲＡＢＦ動作においても、このバックヒッチの間に同期要求を受けた場合に、バックヒッチの影響を受けて書込みパフォーマンスが劣化する余地が未だ存在する。
【００１１】
また、ＲＡＢＦ方式を利用しない場合においても、一定時間内にホストからデータバックアップが完了できるように、多少記憶容量を犠牲にしても、バックヒッチが無く書込みを行う書込み制御方法を提供する必要がある。
【００１２】
一方、４ｍルール違反を回避するために意味の無いデータセットを書込みだけでは、ブロックに非連続が生じる。ブロックの非連続は、ホストからの読取り要求の際、圧縮データがＮｕｌｌデータセットにより分割されるために元のブロックを復元できないという問題が生じる。
【００１３】
本発明の第１の目的は、所定の距離（例えば４ｍ）ルール違反のバックヒッチ動作を回避し、データ書込みパフォーマンスを優先させるテープドライブの書込み読取り制御方法を提供することである。
また、本発明の第２の目的は、ＲＡＢＦ書込みにおいて所定の距離（例えば４ｍ）ルール違反を回避して、書込みパフォーマンスを向上させるテープドライブの書込み読取り制御方法を提供することである。
【００１４】
更に、本発明の第３の目的は、１つのブロックの間にＮｕｌｌデータセットが介在したとしても、その１のブロックを回復できる書込み読取り制御方法を提供することである。
【課題を解決するための手段】
【００１５】
かかる目的のもと、本発明は、テープ媒体の長さ方向の所定の距離の間に少なくとも１のデータを記録するための書込み読取り制御方法である。この方法は、可変長の複数のブロックを、固定長のセグメントで分割されたバッファに順次蓄積するステップと、そのセグメントが少なくとも１つのブロックにより準備された場合にそのセグメントの内容をデータセットとしてテープ媒体に書込み、そのテープ媒体が所定の距離を移動する間に次のセグメントが少なくとも１つのブロックにより準備されない場合に所定の距離内にダミーのデータセットをテープ媒体に書込むステップと、ホストからのブロックの読取り要求に応じてそのブロックを含むデータセットをテープ媒体からバッファのセグメントに読取り、セグメントの内ダミーのデータセットのデータ転送を無効にするそのブロックを読取るステップとを備える。
また、本発明の方法において、読取るステップは、ホストから読取り要求のブロックを、セグメント内のブロックの区切りで判断することを特徴とする。
また、本発明の方法において、ブロックを順次蓄積するステップは、ホストから転送されたブロックはその区切りを基準に圧縮がされている、該ブロックをセグメントに蓄積することを特徴とする。
また、本発明の方法において、書込むステップは、準備されたセグメントを書込むか否かを前記セグメント内にブロックの区切れの存在の有無により判断することを特徴とする。
【００１６】
本発明の方法において、書込むステップは、ダミーのデータセットの存在により生じるブロックの非連続を、前記ブロックの一部を含むデータセットを重複して書くことにより回避することを特徴とする。
また、本発明の方法において、読取りステップは、ブロックの連続性を確保できるように、ダミーのデータセット、重複されるデータセット、及び重複するデータセットのデータ転送を選択的に無効にすることを特徴とする。
【００１７】
本発明の方法において、書込みステップは、次のセグメントが準備され、該次のセグメント内にブロックの区切れを有する場合に、その次のセグメントをデータセットとしてテープ媒体に書込むことを特徴とする。
また、本発明の方法において、書込むステップは、次のセグメントの直前の準備されたセグメントが区切れを有さない場合に、その直前の準備されたセグメントの区切れを有するその次のセグメントと同時にテープ媒体に書込むことを特徴とする。
また、本発明の方法において、書込むステップは、準備されかつ区切れを有する次のセグメントを書込む場合、テープ媒体に書かれたダミーのデータセットの直前のデータセットと同じものを重複データセットとして、ダミーのデータセットの直後に介在させて次のセグメントまでのデータセットを同時に前記テープ媒体に書くことを特徴とする。
【００１８】
本発明の方法において、ダミーデータセット及び重複データセットは無効化フラグを有し、読取りステップは、無効化フラグを有するデータセットがバッファのセグメントに読取られた場合、無効化フラグを有するデータセットに対応するセグメントの直前のセグメントのデータ転送を無効にすることを特徴とする。
また、本発明の方法において、読取りステップは、無効化フラグを有するダミーのデータセットに対応するセグメントの直前のセグメントが有する複数の区切り内で選択された区切り以降のデータ転送を無効にすることを特徴とする。
また、本発明の方法において、読取りステップは、重複データセットの無効化フラグがダミーのデータセットに対応するセグメントから直前のセグメントの選択された区切りと同じ重複データセットのセグメントの区切りまでのデータ転送を無効にすることを特徴とする。
【００１９】
本発明の方法において、ダミーのデータセットは無効化フラグを有し、読取りステップは、ダミーのデータセットの無効化フラグによりダミーデータセットの直後のデータセットが該ダミーの直前のデータセットに対する重複データセットであることを識別し、その直前のデータセットとその直後のデータセットとの共通する区切りの間のデータ転送を無効にする。
また、本発明の方法において、読取りステップは、ブロックが少なくとも２つのセグメントに跨り、セグメントの間にダミーのデータセグメントが存在する場合は、ダミーのデータセグメントの直前及び直後のセグメントにおいて共通する区切の間のデータ転送を無効にする。
【００２０】
本発明の方法において、書込み読取り制御方法が更にＲＡＢＦ機能を有する場合であって、書込みステップは、バッファのセグメントからデータセットをテープ媒体のＡＢＦラップに書込む際に、ダミーのデータセットを書くことにより所定距離ルール違反に起因するバックヒッチを回避することを特徴とする。
また、本発明の方法において、読取りステップは、ＡＢＦラップに書かれたデータセットをバッファのセグメントを経由して通常ラップにリライトする場合に適用され、リライトは、ダミーのデータセグメントの通常ラップへの書込みを無効してブロックで完全に充填されたデータセットのみを前記通常ラップに書く込むことを特徴とする。
【００２１】
本発明の方法において、書込みステップは、テープ媒体の移動距離をタイマーにより計測し又はテープ位置情報により検出し、移動距離が所定の距離を超えそうな場合に前記ダミーのデータセットを書込むことを特徴とする。
【発明の効果】
【００２２】
本発明よれば、ＲＡＢＦ方式なしの場合で、書込みパフォーマンスを優先したテープドライブの提供が可能となる。また、本発明によれば、ＲＡＢＦ方式においても４ｍルール違反を回避できるためバックヒッチを生ぜず書込みパフォーマンスと記憶容量の最大化を確保できる。更に本発明によれば、４ｍルール違反回避のバックヒッチを行わずにテープ媒体に書かれたデータセットから元のブロックを復元できる。
【発明を実施するための最良の形態】
【００２３】
図２、テープドライブにおいて、リングバッファ５００に蓄積され、セグメント５２０毎にテープ５５０に書込まれる態様を示す。ホストから転送されたレコード（ブロック）５１０は様々なサイズを有し、リングバッファ５００に順次蓄積される。テープドライブの読込み書込み制御１６０（図１）は、例えば各ブロック５１０をその区切りＥＯＲ（Ｅｎｄ  ｏｆ  Ｒｅｃｏｒｄ）７００・７１０により識別する。リングバッファ５００に蓄積された一連のブロック５１０は、セグメント５２０を単位としてデータセット５６０を生成してテープ５５０に書込まれる。例えば、ブロック５１０のサイズは、ＬＴＯドライブにおいて最大１６Ｍバイト、エンタープライズ・ドライブ（３５９２）において最大２Ｍバイトまでの任意の大きさである。セグメント５２０のサイズは、第３世代ＬＴＯにおいて約２Ｍバイト、エンタープライズ系において約５００Ｋバイトの、固定長である。１のレコード５１０がセグメント５２０の区切りにより分割されて、２又はそれ以上の複数のデータセット５６０に分割されてテープに記録される場合が多い。セグメント５２０は、ブロック５１０により充填（準備）される毎に１つのデータセット５６０として、ヘッド５８０に対して一定速度で移動しているテープ５５０に順次書込まれる。１つのブロック５１０が隣接するデータセット５６０に分割されてテープ５５０に書込まれることは、通常のテープドライブの書込み態様である。１つのブロックが、斜線のようにセグメントの境界により分割されること自体は問題ではない。
【００２４】
セグメント５２０がホストからブロック５１０（斜線を付したブロック５１０後のブロック）の転送を待ち完全に充填（準備）されない場合が多い。そのセグメント５２０に対応するデータセット５６０の準備ができないために、一定速度で移動するテープ５５０はヘッド５８０に対して記録域を無駄にして移動して、４ｍルールに違反する。この４ｍルール違反を回避するために、バックヒッチを行いテープを巻き戻し、次のデータセットを４ｍ以内に書く処理が行われる。バックヒッチが頻発すると書き込みパフォーマンスが極端に悪化する。そこで、本発明では、４ｍを超えそうになった時には、Ｎｕｌｌデータセットを書き込む方法を提示する。Ｎｕｌｌデータセットを４ｍ以内に書き込むことで、バックヒッチを回避でき書込みパフォーマンスの低下を防ぐことができる。
【００２５】
図３は、セグメント５２０からデータセット５６０を、Ｎｕｌｌデータセットを介在させながら従来のシーケンシャルに書込む態様を示す。また、図３は、従来のテープドライブのシーケンシャルの読取り方法によりテープ５５０からＮｕｌｌデータセットを含む一連のデータセット５６０をリングバッファ５００に読取る態様を示す。従来のシーケンシャルな書込み読取り制御方法では、Ｎｕｌｌデータセットを含む一連のデータセットを読取り時に、１つのブロック５１０がＮｕｌｌデータセグメント５２０の介在により非連続となる。このブロックの非連続性は、読取り時に元のブロックを回復できないという問題を生じさせる。
【００２６】
特に、この読取り時のブロックの非連続性の問題は、圧縮データを展開する使用態様では、元のブロックを回復できない致命的な問題を生じさせる。書込み読取り制御１６０は、ホスト転送のデータをブロックの区切り７００、７１０により識別する。テープの大記録容量化を図る場合、この区切りをＳｅｔ／Ｒｅｓｅｔの基準として、各ブロックをオン・ザ・フライ（ｏｎ  ｔｈｅ  ｆｌｙ：図１のインターフェース１１０）でデータを圧縮し、また、その展開を行てもよい。ブロックは圧縮されている場合、読取り制御は、１つのブロックの途中にＮｕｌｌデータが介在しても、書込み読取り制御１６０は、ブロック５２０の区切り７００、７１０のみでそのブロックを認識するために、Ｎｕｌｌデータを無効にして正確なデータ展開はできない問題が生じる。
【００２７】
そこで、図４では、斜線のブロック５１０の途中に本発明の書込みによりＮｕｌｌデータセットを介在させる際に、読取り時にブロック５１０の非連続なホスト転送が生じないように、Ｎｕｌｌデータセットの新しい書込み方法を実施例を示す。その方法は、Ｎｕｌｌデータセットを書き込んだ後は、Ｎｕｌｌデータセットの直前に書込んだデータセット９を重複データセットとしてＮｕｌｌデータセットの直後に書く込書込む。Ｎｕｌｌデータセットの直前に書かれるデータセット９は、斜線を付したブロック５１０の前半部分を含む。Ｎｕｌｌデータセット及びその直後の重複データセット９は、ブロック５１０の非連続を回避するために書かれた特別なデータセットであることを識別するフラグの属性を有する。このフラグは、重複するブロック及び余計なデータをホストが読まないようにするために使用される。不要なブロック及びデータを送らないという意味で、無効化フラグと呼ぶ。この無効化フラグは、Ｎｕｌｌデータセット及びその直後の重複データセット９のＤＳＩＴに含まれてもよい。
【００２８】
図４から明らかなように、この本発明の書込み方法は、テープ５５０に左からデータセット８、データセット９、Ｎｕｌｌデータセット、重複データセット９、データセット１０の順にテープ５５０に書込んでいる。この一連の書込みデータセットにおいて、Ｎｕｌｌデータセット及び重複するデータセット９の属性である無効化フラグを利用して、余計なブロック等のホスト転送を無効化してブロックの非連続の問題を解消する読取り方法について説明する。読取り時のバッファ５００のセグメントを参照すると、太線の矢印が示すように、Ｎｕｌｌデータセグメントとその直後の重複するセグメント９とが挿入されたとしても、ブロック（斜線）の非連続な転送は生じない。無効化フラグの機能は、そのフラグを付されたセグメントの直前のセグメント（Ｎｕｌｌデータセグメントに対してはセグメント９；重複セグメント９に対してはＮｕｌｌデータセグメント）の区切りＡＰ７００を起点として、その起点と共通する重複セグメント９の区切りＡＰ７００までのデータ転送を無効にする。また、無効化フラグを使用して、最初のＥＯＲ、即ちＡＰ７００に限定されず、直前のセグメント９及びその重複セグメント９に共通する選択されたＥＯＲ７１０の間のデータ転送を無効にしてもよい。
【００２９】
図５は、１つの斜線のブロック５１０が３つのセグメント５２０に含まれる場合のテープ５５０での書込み・読取り制御方法を示す。図５の書込み時のバッファ５００は、１つの斜線のブロックが例えばセグメント８、９、１０に跨る。書き込み読取り制御は、ブロックの区切り７００、７１０を指標として、ホストとバッファ５００との間のデータ転送を行う。そのため、読込み書込み制御は、転送すべきブロック５１０を後のセグメント８の最後のＥＯＲ７１０からセグメント１０の最初のＥＯＲ（ＡＰ７００）までのデータ（斜線部分）であると識別する。中間のセグメント９は、１つのブロック５１０のデータのみを含むためブロック区切り７００又は７１０を含まない。
【００３０】
図５は、図４の実施例と同様に、斜線のブロックを含む最後のセグメント１０のＡＰ７００の後にブロックがホストから転送されない場合又は転送が遅いために待ち状態の場合、セグメント１０の充填（準備）がされない。セグメント１０が充填（準備）されないと、ヘッドに対してテープ５５０が４ｍを超えて１つのデータセットも書かれない、という４ｍルール違反を生じる。この４ｍ違反を回避するために、セグメント８と９の間に、Ｎｕｌｌデータセットを書込む。図４の態様と異なる点は、既に充填（準備）されているセグメント９はＮｕｌｌデータセットの直前には書込まれず、セグメント１０が準備できた場合に同時にテープ５５０に書込む。書込み制御１６０は、ＡＰ７００のないセグメントとを書き込む場合、その次のセグメントがＡＰ７００を有し、かつブロックにより充填（準備）されている場合に、これら２つのセグメントを同時に書き込むアーキテクチャである。この書込みセグメントのアーキテクチャは、３より大きなセグメントに跨るブロックに対しても同様である。
【００３１】
図４と同様に、図５の３つのセグメントに跨る場合は、Ｎｕｌｌデータセットの直前に書込んだセグメント８を、Ｎｕｌｌデータセットの直後に重複データセット８として、セグメント９及びセグメント１０を書込むと同時に書込む。このようにＮｕｌｌデータのセグメントの後にセグメント８、９、１０を連続して書くことにより、ブロックの非連続を回避する読取りが可能となる。図５の読取り時のバッファ５００が示すように、１つのブロック（斜線）が、書込み時のバッファ５００と同様に、データ連続性を示している。図４の読取り時と同様に、ブロックの非連続の読取りを避けるために、Ｎｕｌｌデータセット及びその直後の重複データセット８は、無効化フラグの属性を有する。例えば、ドライブ１００の読取り制御１６０は、Ｎｕｌｌデータセット及びデータセット８の有する無効化フラグにより、直前のセグメント８のＡＰ７００からのブロックの転送を無効にすべきことを認識する。後の重複するデータセット８の無効化フラグは、その直前のＮｕｌｌセグメントの全体と、重複するセグメント８のＡＰ７００までのデータ転送を無効化する。図５の太線の矢印の示す重複ブロックの転送がされず、１つのブロック（斜線）が分離されずに転送されるため、データ展開において正しいブロックの復元が可能となる。  
【００３２】
図４及び図５に例示した本発明の書込み読取り制御方法は、Ｎｕｌｌデータセットとその直後の重複データセットとに無効化フラグを持たせているが、単にＮｕｌｌデータセットのみが無効化フラグを有する場合であってもよい。１つの無効化フラグによりＮｕｌｌデータセグメントの存在を識別して、前後には重複する同じユーザのデータセグメントが存在することを書込み読取り制御は認識できる。Ｎｕｌｌデータセグメントを含む前後のセグメントの共通する区切り７００、７１０の間のデータ転送を無効化する読取り方法によっても、上述の２つの無効化フラグを用いる場合と実質同様にブロックの復元が可能となる。つまり、図４及び図５おける本発明の書込み読込み制御方法は、単なる例示にすぎない。また、本発明の書込み方法は、Ｎｕｌｌデータセット及びその直後の重複データセットの介在を考慮した書込みに限定されるものではない。更に、本発明の読取り方法は、本発明の書込み方法により書込まれたＮｕｌｌデータセット及びその直後の重複データセットを無効化フラグにより、ブロックの連続性を担保する読取り方法に限定されない。例えば、バッファへのアクセスがバイト単位で可能な場合も含まれる。シーケンシャルにデータセットを読取りデータをホストに転送の際、１ブロックの途中に介在したＮｕｌｌデータセットを無効にする読取りにより、ブロックの連続性の確保が可能である。本発明の内容は、テープ上のデータ間の距離を一定以下に保つために発生するバックヒッチを回避するために、書込まれた余計なデータを無視して、元のブロックを復元できるのであれば、上記の実施例に限定されず様々な具体的な書込み読取り制御方法を含む。
【００３３】
ＲＡＢＦ方式においても４ｍルール違反のバックヒッチの書込みがＡＢＦラップにおける書込みにおいて存在することから、これら実施態様をその方式に適用する価値は高い。先ず、図６を用いて従来のＲＡＢＦ書込み方式の説明をする。この方式は、複数のトラックのバンド１４５を一時記憶のラップ１８０（ＡＢＦラップ）と、通常ラップ１６５とに使い分けて書込む方法である。１つのヘッド１４ｂは、例えば８、１６などの書込み読取りチャネルを有する。ここでラップとは、複数(例えば、８、１６)のトラックの１つのまとまりで、１のヘッド１４ｂが同時に読み書きする単位である。ＡＢＦラップ１８０（トラック１４、１５）に対して、ホストから転送されたブロックは先ず最初にバックヒッチを行うことなく書込みが行なわれる。通常ラップ１６５は、記憶容量を無駄にすることなく、データセットが書込まれるトラック1〜１３で構成される。テープドライブが、同期要求を受けた際に、バッファ内のデータを、テープ媒体の走行を継続させたままバックヒッチを行わずに、ＡＢＦラップ１８０に書く。ＡＢＦラップに書かれたデータセットをバッファ５００を経由して、通常ラップ１６５に書き戻す即ちリライト（Ｒｅｗｒｉｔｅ）する。各データセット（ＤＳ、ＤＳ＋１、ＤＳ＋２、・・・）は、先行する斜線のブロックに対して新たに斜線のブロックを逐次付加するように各データセットを同期要求の間隔において書き込む。これらデータセットの書込みは、バックヒッチを行わないバッファフラッシュ(Ｂａｃｋｈｉｔｃｈｌｅｓｓ  Ｆｌｕｓｈ)である。各データセットの矢印は、書込み読取り制御がバッファをアクセスするポインタを示す。データセットＤＳ＋３、ＤＳ＋７、ＤＳ＋１１、ＤＳ＋１５、ＤＳ＋１９は、ブロックで充填（準備）されたデータセットＰ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５である。これら準備されたデータセットＰ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５は、一定のタイミングで通常ラップ１６５（トラック１，２，３，・・・，１３)にリライト動作を反復的に(Ｒｅｃｕｒｓｉｖｅ）行う。このリライト動作により、完全にブロックで充填（準備）されたデータセットＰ１〜Ｐ５が通常ラップ１６５に、記憶容量を無駄にせずに書かれる。このＲＡＢＦ方式を採用するテープドライブは、４ｍ違反回避のためのバックヒッチを除き、一連の同期要求に備えてバックヒッチの必要がため書込みパフォーマンス向上も実現できる。
【００３４】
本発明の書込み方法を、ＲＡＢＦ技術を利用した書込みにも適用することにより、テープ大容量化を実現しつつ、完全な書込みパフォーマンスの向上が実現できる。具体的には、通常ラップにリライトする前にＡＢＦラップ１８０（一時記録トラック：１４，１５）への書込みおいても所定の距離（４ｍ）ルール違反のバックヒッチは生じる。本発明の書込み方法により、４ｍルール違反のバックヒッチが生じないためＢａｃｋｈｉｔｃｈｌｅｓｓ書き込みの完全化が図れる有利な効果を有する。また、本発明の読取り制御は、ＡＢＦラップ１８０に書かれたデータセットをバッファのセグメントを経由して通常ラップ１６５にリライトする場合に適用され、そのリライトは、ダミーのデータセグメントの通常ラップ１６５への書込みを無効して、ブロックで完全に充填されたデータセットＰ１，Ｐ２，Ｐ３，Ｐ４，Ｐ５のみを通常ラップ１６５に書く込むことを特徴とする。本発明の書込み読込み制御をＲＡＢＦ方式に適用することにより、記憶容量の最大化を維持しつつ、バックヒッチの介在を完全に排除できるため書込みパフォーマンスの最大化を達成できる効果がある。
【図面の簡単な説明】
【００３５】
【図１】一般的なテープドライブの構成図である。
【図２】本発明の書込み制御方法の実施例を示す。
【図３】本発明の書込み制御方法を適用した場合の読取り時の問題点を示す。
【図４】本発明の１つのブロックが２つのセグメントに跨る場合の書込み読取り              制御方法を説明する。
【図５】本発明の１つのブロックが３つ又はそれ以上のセグメントに跨る場合の              書込み読取り制御方法を説明する。
【図６】本発明の書込み読取り方法が適用される、ＲＡＢＦ技術の概念図を示す。
【符号の説明】
【００３６】
１００…テープドライブ、１０５…ホスト、１１０…インタフェース、１２０…バッファ、
１３０…記録チャネル、１４ａ…テープ、１４ｂ…ヘッド、１４ｃ，１４ｄ…リール、１４ｅ…カートリッジ、１５０…モータ、１６０…コントローラ，書込み読取り制御、１７０…ヘッド位置制御システム、１８５…モータドライバ、２００・・・テープ、２２０・・・ヘッド、２４０・・・ラップ、５６０・・・データセット、１６５…通常ラップ、１８０…ＡＢＦラップ、５００…バッファ、５５０…テープ、５１０…ブロック、５２０…セグメント、７００…ＡＰ／ＥＯＲ、７１０…ＥＯＲ、５６０…データセット、５８０…ヘッド、
【図１】
2007095231.tif 000003
【図２】
2007095231.tif 000004
【図３】
2007095231.tif 000005
【図４】
2007095231.tif 000006
【図５】
2007095231.tif 000007
【図６】
2007095231.tif 000008
【手続補正書】
【提出日】平成18年9月11日(2006.9.11)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００４
【補正方法】変更
【補正の内容】
【０００４】
バッファ１２０は、テープ１４ａに書き込むべきデータを蓄積するメモリである。このバッファ１２０は、固定長のセグメント５２０（図２）で区切られる。ひとつのセグメント５２０は、テープ１４ａ，５５０上のひとつのデータセット５６０（図２）に対応する。データセット５６０は、Ｃ１パリティとＣ２パリティとからなる積符号が付加されたデータ構造である。データセットは、その属性情報としてそれが含む複数のブロックの区切れ情報などをＤＳＩＴ（Ｄａｔａ  Ｓｅｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔａｂｌｅ）に含む。バッファ１２０は、最後のセグメントまでデータを受け取り次は再び最初のセグメントからデータを受け取りはじめるという意味でリングバッファと呼ばれる。データは、任意の長さでホスト１０５からドライブに転送される。また、固定長のデータをホストが転送したとしてもデータ圧縮が行われる場合には、データの長さがブロックごとに異なる。これらの転送データは、順次バッファ１２０のセグメントに順次蓄積される。ここで、ホスト１０５から転送されるデータ単位をレコード又はブロックと呼ぶ。記録チャネル１３０は、いろいろな大きさのブロックで充填されたセグメントのデータを、データセットとしてテープ媒体に書込む通信経路である。バッファ１２０に蓄積されたデータは、セグメント毎にデータセット５６０として（図２）、テープ媒体に書込まれる。書込みのタイミングは、セグメントがブロックにより完全に充填された場合と、ホストからの同期要求に応じてセグメントのデータ未充填エリアにデータパディング（ｐａｄｄｉｎｇ）により充填した場合とである。この書込み動作のタイミングをバッファフラッシュ（ＢｕｆｆｅｒＦｌｕｓｈ）という。この明細書では、セグメントがデータにより充填されるこれら２の場合を、セグメントが“準備”されたとも表現する。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
テープ１４ａを停止させずに次の同期要求を行った場合、先行する同期要求により書き込まれたデータと、その次の同期要求にて書き込まれたデータとの間に、長い記録領域の無駄が存在する。テープドライブ動作において、記録容量の無駄を小さくするために、テープ媒体の長手方向に書込まれるデータセットの間隔を最小限にする必要がある。テープ媒体に書込まれたデータセットの直後から次のデータが書込まれるように、テープ媒体の走行速度を減速して一旦停止した後に逆方向に戻して、書き込むべき位置まで戻り、次のデータを書くという書込みモータ操作をする。一連のモータ１５０駆動操作をバックヒッチ（Ｂａｃｋｈｉｔｃｈ）という。ドライブ１００は、現在のテープの位置をテープ上の位置情報を検出することより認識する。また、そのテープの位置は、テープの移動速度をタイマーで計測することで認識可能である。この動作のために、約３秒の余計な時間を費やす。この時間のバックヒッチ動作の頻発が、テープドライブの同期要求の間に多くの時間を費やし、ホストからの転送データの書込みパフォーマンスを劣化させる原因となる。  
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
このような同期要求間のバックヒッチを回避するため、ＩＢＭ３５９２など大型テープドライブでは、ＩＢＭの独自技術としてＲＡＢＦ（Ｒｅｃｕｒｓｉｖｅ  Ａｃｃｍｕｌａｔｉｎｇ  ＢａｃｋｈｉｔｃｈｌｅｓｓＦｌｕｓｈ：図６に基づき後述する）という書込み方式（特許文献１及び特許文献２）を採用している。ＢＦ（Ｂａｃｋｈｉｔｃｈｌｅｓｓ  Ｆｌｕｓｈ）とは文字通りバックヒッチ動作を発生させない書き込みを意味する。ＲＡＢＦ方式の書込みでは、各同期要求に対してテープドライブはバックヒッチのための約３秒という時間ロスを生じない。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
一方、４ｍルール違反を回避するために意味の無いデータセットを書込むだけでは、ブロックに非連続が生じる。ブロックの非連続は、ホストからの読取り要求の際、圧縮データがＮｕｌｌデータセットにより分割されるために元のブロックを復元できないという問題が生じる。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００３２
【補正方法】変更
【補正の内容】
【００３２】
図４及び図５に例示した本発明の書込み読取り制御方法は、Ｎｕｌｌデータセットとその直後の重複データセットとに無効化フラグを持たせているが、単にＮｕｌｌデータセットのみが無効化フラグを有する場合であってもよい。１つの無効化フラグによりＮｕｌｌデータセグメントの存在を識別して、前後には重複する同じユーザのデータセグメントが存在することを書込み読取り制御は認識できる。Ｎｕｌｌデータセグメントを含む前後のセグメントの共通する区切り７００、７１０の間のデータ転送を無効化する読取り方法によっても、上述の２つの無効化フラグを用いる場合と実質同様にブロックの復元が可能となる。つまり、図４及び図５おける本発明の書込み読込み制御方法は、単なる例示にすぎない。また、本発明の書込み方法は、Ｎｕｌｌデータセット及びその直後の重複データセットの介在を考慮した書込みに限定されるものではない。更に、本発明の読取り方法は、本発明の書込み方法により書込まれたＮｕｌｌデータセット及びその直後の重複データセットを無効化フラグにより、ブロックの連続性を担保する読取り方法に限定されない。例えば、バッファへのアクセスがバイト単位で可能な場合も含まれる。シーケンシャルに読取りデータをホストに転送する際、１ブロックの途中に介在したＮｕｌｌデータセットを無効にする読取りにより、ブロックの連続性の確保が可能である。本発明の内容は、テープ上のデータ間の距離を一定以下に保つために発生するバックヒッチを回避するために、書込まれた余計なデータを無視して、元のブロックを復元できるのであれば、上記の実施例に限定されず様々な具体的な書込み読取り制御方法を含む。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００３３
【補正方法】変更
【補正の内容】
【００３３】
ＲＡＢＦ方式においても４ｍルール違反のバックヒッチの書込みがＡＢＦラップにおける書込みにおいて存在することから、これら実施態様をその方式に適用する価値は高い。先ず、図６を用いて従来のＲＡＢＦ書込み方式の説明をする。この方式は、複数のトラックのバンド１４５を一時記憶のラップ１８０（ＡＢＦラップ）と、通常ラップ１６５とに使い分けて書込む方法である。１つのヘッド１４ｂは、例えば８、１６などの書込み読取りチャネルを有する。ここでラップとは、複数(例えば、８、１６)のトラックの１つのまとまりで、１のヘッド１４ｂが同時に読み書きする単位である。ＡＢＦラップ１８０（トラック１４、１５）に対して、ホストから転送されたブロックは先ず最初にバックヒッチを行うことなく書込みが行なわれる。通常ラップ１６５は、記憶容量を無駄にすることなく、データセットが書込まれるトラック1〜１３で構成される。テープドライブが、同期要求を受けた際に、バッファ内のデータを、テープ媒体の走行を継続させたままバックヒッチを行わずに、ＡＢＦラップ１８０に書く。ＡＢＦラップに書かれたデータセットをバッファ５００を経由して、通常ラップ１６５に書き戻す即ちリライト（Ｒｅｗｒｉｔｅ）する。各データセット（ＤＳ、ＤＳ＋１、ＤＳ＋２、・・・）は、先行する斜線のブロックに対して新たに斜線のブロックを逐次付加するように各データセットを同期要求の間隔において書き込む。これらデータセットの書込みは、バックヒッチを行わないバッファフラッシュ(Ｂａｃｋｈｉｔｃｈｌｅｓｓ  Ｆｌｕｓｈ)である。各データセットの矢印は、書込み読取り制御がバッファをアクセスするポインタを示す。データセットＤＳ＋３、ＤＳ＋７、ＤＳ＋１１、ＤＳ＋１５、ＤＳ＋１９は、ブロックで充填（準備）されたデータセットＰ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５である。これら準備されたデータセットＰ１、Ｐ２、Ｐ３、Ｐ４、Ｐ５は、一定のタイミングで通常ラップ１６５（トラック１，２，３，・・・，１３)にリライト動作を反復的に(Ｒｅｃｕｒｓｉｖｅ）行う。このリライト動作により、完全にブロックで充填（準備）されたデータセットＰ１〜Ｐ５が通常ラップ１６５に、記憶容量を無駄にせずに書かれる。このＲＡＢＦ方式を採用するテープドライブは、４ｍ違反回避のためのバックヒッチを除き、一連の同期要求に備えてバックヒッチの必要がないため書込みパフォーマンス向上も実現できる。