(57)【特許請求の範囲】
【請求項１】
ホストからテープ媒体に書込まれた映像データに含まれる複数のレコードをシーケンシャルに読み出す磁気テープ装置であって、
前記複数のレコードは、前記テープ媒体への書込み単位のデータセットに１又は２以上が含まれ、前記データセットの境界がレコードの境界と一致するように所定のサイズを与えられ、前記データセットの先頭に特定の前記レコードの先頭が来るよう位置合わせすることを特徴とし、
前記磁気テープ装置の読み出し制御は、
（１）ホストから、映像データを読み出す映像特殊モードを受取ることと、
（２）前記テープ媒体からシーケンシャルに前記データセットに含まれる前記レコードをバッファのセグメントに読出すことと、
（３）前記データセットの読出しの際にＣ２エラーが生じない場合に、前記データセットに含まれる前記レコードを送ることと、
（４）前記データセットの読出しの際にＣ２エラーが生じた場合に、前記映像特殊モードに基づいて所定のエラー回復処理をスキップし、
（ａ）前記Ｃ２エラーのデータセットについての属性情報（ＤＳＩＴ）が読み出し可能であることを確認し、
（ｂ）前記ＤＳＩＴを読み出し可能な場合に、前記Ｃ２エラーのデータセットに含まれる前記レコードのホストの送付をスキップし、
（ｃ）前記Ｃ２エラーのデータセットに対して、前記ＤＳＩＴに基づいて前記Ｃ２エラーのデータセットに含まれているスキップするレコードの数（スキップ・レコード数）を前記ＤＳＩＴから取得してホストに通知すること、を含む磁気テープ装置。
【請求項２】
前記ＤＳＩＴを読み出し可能な場合に、更に、
（ｄ）前記Ｃ２エラーのデータセットを保管した前記バッファのセグメントの先頭位置にＣ２エラー・フラグを保管し、前記フラグをホストに通知することを含む請求項１に記載の磁気テープ装置。
【請求項３】
前記ＤＳＩＴを読み出し可能な場合に、更に、
（ｅ）前記取得されたスキップ・レコード数を考慮して、前記レコードに次の正しいレコード番号セットし、後続の前記データセットからシーケンシャルに後続の前記レコードを読み出すことを含む請求項２に記載の磁気テープ装置。
【請求項４】
ホストのファイルシステムは、前記通知されたスキップ・レコード数に対応したサイズのダミーのデータをホストのアプリケーシに受け渡す、請求項１又は２に記載の磁気テープ装置。
【請求項５】
ホストのファイルシステムは、前記スキップされたレコード後の受け取るレコードについて前記算定されたスキップ・レコード数に基づいてレコード番号を割り当てる請求項１又は４に記載の磁気テープ装置。
【請求項６】
（ｆ）前記ＤＳＩＴを読み出し可能でない場合に、映像データの転送を停止するために、前記Ｃ２エラーであることをホストに報告することを、含む請求項１に記載の磁気テープ装置。
【請求項７】
前記映像特殊モードに基づく所定のエラー回復処理をスキップは、映像データの遅延を許容出来る範囲で前記エラー回復処理を実行する、請求項１に記載の磁気テープ装置。
【請求項８】
ホストのファイルシステムが、前記所定のサイズを、前記レコードが保管される前記バッファの各セグメントの終端でレコードの終端と一致するよう決定し、前データセットの終端と特定の前記レコードの終端が一致するように前記テープ媒体に書込まれることを特徴とする請求項１に記載の磁気テープ装置。
【請求項９】
ホストから磁気テープ装置のテープ媒体に書込まれた映像データに含まれる複数のレコードをシーケンシャルに読み出す方法であって、
前記複数のレコードは、前記テープ媒体への書込み単位のデータセットに１又は２以上が含まれ、前記データセットの境界がレコードの境界と一致するように所定のサイズを与えられ、前記データセットの先頭に特定の前記レコードの先頭が来るよう位置合わせすることを特徴とし、
（１）ホストから、映像データを読み出す映像特殊モードを受取ることと、
（２）前記テープ媒体からシーケンシャルに前記データセットに含まれる前記レコードをバッファのセグメントに読出すことと、
（３）前記データセットの読出しの際にＣ２エラーが生じない場合に、前記データセットに含まれる前記レコードを送ることと、
（４）前記データセットの読出しの際にＣ２エラーが生じた場合に、前記映像特殊モードに基づいて所定のエラー回復処理をスキップし、
（ａ）前記Ｃ２エラーのデータセットについての属性情報（ＤＳＩＴ）が読み出し可能であることを確認し、
（ｂ）前記ＤＳＩＴを読み出し可能な場合に、前記Ｃ２エラーのデータセットに含まれる前記レコードのホストの送付をスキップし、
（ｃ）前記Ｃ２エラーのデータセットに対して、前記ＤＳＩＴに基づいて前記Ｃ２エラーのデータセットに含まれているスキップするレコード数（スキップ・レコード数）を前記ＤＳＩＴから取得してホストに通知すること、含む書込み方法。
【請求項１０】
ホストから磁気テープ装置のテープ媒体に書込まれた映像データに含まれる複数のレコードをシーケンシャルに読み出すプログラムであって、
前記複数のレコードは、前記テープ媒体への書込み単位のデータセットに１又は２以上が含まれ、前記データセットの境界がレコードの境界と一致するように所定のサイズを与えられ、前記データセットの先頭に特定の前記レコードの先頭が来るよう位置合わせすることを特徴とし、
（１）ホストから、映像データを読み出す映像特殊モードを受取ることと、
（２）前記テープ媒体からシーケンシャルに前記データセットに含まれる前記レコードをバッファのセグメントに読出すことと、
（３）前記データセットの読出しの際にＣ２エラーが生じない場合に、前記データセットに含まれる前記レコードを送ることと、
（４）前記データセットの読出しの際にＣ２エラーが生じた場合に、前記映像特殊モードに基づいて所定のエラー回復処理をスキップし、
（ａ）前記Ｃ２エラーのデータセットについての属性情報（ＤＳＩＴ）が読み出し可能であることを確認し、
（ｂ）前記ＤＳＩＴを読み出し可能な場合に、前記Ｃ２エラーのデータセットに含まれる前記レコードのホストの送付をスキップし、
（ｃ）前記Ｃ２エラーのデータセットに対して、前記ＤＳＩＴに基づいて前記Ｃ２エラーのデータセットに含まれているスキップするレコード数（スキップ・レコード数）を前記ＤＳＩＴから取得してホストに通知すること、を前記磁気テープ装置に実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テープ媒体（テープ、メディア）上に映像データを含む複数レコードを書込みおよび読み出す磁気テープ装置（テープドライブ）、方法、およびプログラムを提供する。詳細には、本発明は、テープドライブに含まれるテープに保存された映像データを読み出して、映像アプリケーションが中断の少ない映像を再生可能にすることに関する。
【背景技術】
【０００２】
ＬＴＦＳ（Linear TapeFile System）は、テープ上のデータをファイル形式で扱うことができるファイルシステムである。ＬＴＦＳの用途のひとつとして、テープ上に映像データを保存しテープから直接映像データを読み出して再生する方法がある。この時問題となるのが、テープからデータを読み出す際に、何らかの不具合により読み出しが行えなかった時である。
【０００３】
ＬＴＯ規格および大型(IBM TSシリーズ)のテープドライブは、データの整合性をビット単位で保証している。ドライブの読み書きの過程において、データの整合性をチェックする機能がいくつかある。書き込みデータと読み出しデータが１ビットでも異なれば、データをドライブからホストに送らない仕組みが採用されている。テープから読み出したデータのエラーチェックが通らない場合、データをホストに転送しない。エラー回復処理のためＥＲＰ（Error Recovery Procedure)を行いチェックが通るまで試行を繰り返し、最終的にはチェックが通らない場合はエラーとなる。
【０００４】
ＥＲＰによりテープからデータが読み出せる場合も多いが、映像データを直接再生しているケースでＥＲＰが発生した場合、ＥＲＰ実行中は映像データの再生が中断してしまう。また、ＥＲＰを実行してもエラーが回復しなかった場合は、映像データの再生は停止してしまう。
【０００５】
しかし、映像データのような類のデータでは、ビット単位の保証を必ずしも必要としない用途が考えられる。通常のテレビに見られる人工衛星経由での画像の乱れなど、ユーザに容認される範囲での場合もある。高精細な映像再生より早く全体の映像データの再生することを要求する用途はある。これら用途では、映像の「乱れ」や「飛び」よりも、画像を中断・停止させたくない、という要望がある。しかしながら現行のＬＴＦＳがサポートするテープドライブではこのような使用方法を提供していない。
【０００６】
特許文献１は、読み出したデータにエラーが発生した箇所をスキップし、有効データのみをホストに転送し、スキップした箇所にダミーデータを入れて、アプリケーションに送る技術を示す。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１０−２２５１９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、引用文献１は、データセットの先頭とレコードの先頭とを一致させて書き込み、できる限りコマ落ちを少なくしつつ全体の映像データを途切れなく送ることは想定していない。
【０００９】
従って、本発明は、テープ媒体に映像データを含む複数レコードを書込みおよび読み出すテープドライブ、方法、およびプログラムを提供することを目的とする。
特に、本発明の目的は、テープドライブでは読み出し制御のファームウェアおよびホストではテープドライブ用のファイルシステム、ＬＴＦＳを提供することである。
【課題を解決するための手段】
【００１０】
かかる目的のもと、本発明は、ホストからテープ媒体に書込まれた映像データに含まれる複数のレコードをシーケンシャルに読み出す磁気テープ装置である。この装置は、前記複数のレコードが、前記テープ媒体への書込み単位のデータセットに１又は２以上が含まれ、前記データセットの境界がレコードの境界と一致するように所定のサイズ（固定長）を与えられ、前記データセットの先頭に特定の前記レコードの先頭が来るよう位置合わせすることを特徴とし、前記磁気テープ装置の読み出し制御は、
（１）ホストから、映像データを読み出す映像特殊モードを受取ることと、
（２）前記テープ媒体からシーケンシャルに前記データセットに含まれる前記レコードをバッファのセグメントに読出すことと、
（３）前記データセットの読出しの際にＣ２エラーが生じない場合に、前記データセットに含まれる前記レコードを送ることと、
（４）前記データセットの読出しの際にＣ２エラーが生じた場合に、前記映像特殊モードに基づいて所定のエラー回復処理をスキップし、
（ａ）前記Ｃ２エラーのデータセットについての属性情報（ＤＳＩＴ）が読み出し可能であることを確認し、
（ｂ）前記ＤＳＩＴを読み出し可能な場合に、前記Ｃ２エラーのデータセットに含まれる前記レコードのホストの送付をスキップし、
（ｃ）前記Ｃ２エラーのデータセットに対して、前記ＤＳＩＴに基づいて前記Ｃ２エラーのデータセットに含まれているスキップするレコード数（スキップ・レコード数）を前記ＤＳＩＴから取得してホストに通知することを含む。
【００１１】
また、この装置は、前記ＤＳＩＴを読み出し可能な場合に、更に、（ｄ）前記Ｃ２エラーのデータセットを保管した前記バッファのセグメントの先頭位置にＣ２エラーフラグ（ＥｎｄＭａｒｋｅｒ）を保管し、前記フラグをホストに通知することを特徴とする。
【００１２】
また、この装置は、前記ＤＳＩＴを読み出し可能な場合に、更に、（ｅ）前記取得されたスキップ・レコード数を考慮して、前記レコードに次の正しいレコード番号セットし、後続の前記データセットからシーケンシャルに後続の前記レコードを読み出すことを特徴とする。
【００１３】
また、この装置は、ホストのファイルシステムが、前記通知されたスキップ・レコード数に対応したサイズのダミーのデータをホストのアプリケーシに受け渡すことを特徴とする。
【００１４】
また、この装置は、ホストのファイルシステムが、前記スキップされたレコード後の受け取るレコードについて前記算定されたスキップ・レコード数に基づいてレコード番号を割り当てることを特徴とする。
【００１５】
また、この装置は、（ｆ）前記ＤＳＩＴを読み出し可能でない場合に、映像データの転送を停止するために、前記Ｃ２エラーであることをホストに報告することを含むことを特徴とする。
【００１６】
また、この装置は、前記映像特殊モードに基づく所定のエラー回復処理をスキップは、映像データの遅延を許容出来る範囲で前記エラー回復処理を実行することを特徴とする。
【００１７】
また、この装置は、ホストのファイルシステムが、前記所定のサイズを、前記レコードが保管される前記バッファの各セグメントの終端でレコードの終端と一致するよう決定し、前データセットの終端と特定の前記レコードの終端が一致するように前記テープ媒体に書込まれることを特徴とする。
【００１８】
また、かかる目的のもと、本発明は、ホストから磁気テープ装置のテープ媒体に書込まれた映像データに含まれる複数のレコードをシーケンシャルに読み出す方法である。
この方法は、前記複数のレコードは、前記テープ媒体への書込み単位のデータセットに１又は２以上が含まれ、前記データセットの境界がレコードの境界と一致するように所定のサイズ（固定長）を与えられ、前記データセットの先頭に特定の前記レコードの先頭が来るよう位置合わせすることを特徴とし、
（１）ホストから、映像データを読み出す映像特殊モードを受取ることと、
（２）前記テープ媒体からシーケンシャルに前記データセットに含まれる前記レコードをバッファのセグメントに読出すことと、
（３）前記データセットの読出しの際にＣ２エラーが生じない場合に、前記データセットに含まれる前記レコードを送ることと、
（４）前記データセットの読出しの際にＣ２エラーが生じた場合に、前記映像特殊モードに基づいて所定のエラー回復処理をスキップし、
（ａ）前記Ｃ２エラーのデータセットについての属性情報（ＤＳＩＴ）が読み出し可能であることを確認し、
（ｂ）前記ＤＳＩＴを読み出し可能な場合に、前記Ｃ２エラーのデータセットに含まれる前記レコードのホストの送付をスキップし、
（ｃ）前記Ｃ２エラーのデータセットに対して、前記ＤＳＩＴに基づいて前記Ｃ２エラー・フラグのデータセットに含まれているスキップするレコード数（スキップ・レコード数）を前記ＤＳＩＴから取得してホストに通知することを含む。
【００１９】
また、かかる目的のもと、本発明は、ホストから磁気テープ装置のテープ媒体に書込まれた映像データに含まれる複数のレコードをシーケンシャルに読み出すプログラムである。このプログラムは、前記複数のレコードは、前記テープ媒体への書込み単位のデータセットに１又は２以上が含まれ、前記データセットの境界がレコードの境界と一致するように所定のサイズ（固定長）を与えられ、前記データセットの先頭に特定の前記レコードの先頭が来るよう位置合わせすることを特徴とし、
（１）ホストから、映像データを読み出す映像特殊モードを受取ることと、
（２）前記テープ媒体からシーケンシャルに前記データセットに含まれる前記レコードをバッファのセグメントに読出すことと、
（３）前記データセットの読出しの際にＣ２エラーが生じない場合に、前記データセットに含まれる前記レコードを送ることと、
（４）前記データセットの読出しの際にＣ２エラーが生じた場合に、前記映像特殊モードに基づいて所定のエラー回復処理をスキップし、
（ａ）前記Ｃ２エラーのデータセットについての属性情報（ＤＳＩＴ）が読み出し可能であることを確認し、
（ｂ）前記ＤＳＩＴを読み出し可能な場合に、前記Ｃ２エラーのデータセットに含まれる前記レコードのホストの送付をスキップし、
（ｃ）前記Ｃ２エラーのデータセットに対して、前記ＤＳＩＴに基づいて前記Ｃ２エラー・フラグのデータセットに含まれているスキップするレコード数（スキップ・レコード数）を前記ＤＳＩＴから取得してホストに通知すること、を前記磁気テープ装置に実行させる。
【発明の効果】
【００２０】
上述の本発明を適用する磁気テープ装置では、映像データの再生の際に、映像データの完全復元性よりも早い映像データの転送、即ち再生を優先できる。
【図面の簡単な説明】
【００２１】
【図１】本発明の実施例が適用されるテープドライブ（磁気テープ装置）のハードウェア構成の一例を示す。
【図２】ドライブ内の扱われるデータの単位を示す
【図３】データセットの模式図を示す。
【図４】テープドライブの典型的なひとつのデータセットの読み出し処理のフローチャートを示す。
【図５】データセットの区切りと特定のレコードの区切りが一致するようにする書き込むことを示す。
【図６】データセットN+3の読み出しの際にＣ２エラー発生時の状況を示す。
【図７】本発明の読み出し時のフローチャートを示す。
【図８】図７の処理を行った場合の、ドライブバッファ上でのデータの流れを示す。
【図９】区切り位置を一致させない場合の模式図を示す。
【図１０】ドライブ−ホスト間、およびホスト内でのＬＴＦＳ−映像アプリケーション間データ転送時の処理を示す。
【図１１】この処理をＬＴＦＳ側から見た場合の、本発明の読み出し方法の詳細のフローチャートを示す。
【発明を実施するための形態】
【００２２】
テープドライブにおいて、ホストからの映像データをレコード単位で書き込み、および、特殊なモードで読み出す方法の実施の形態（実施例）を説明する。
本発明の書込み方法の内容は、データの書き込み時、データセットの先頭とレコードの先頭とを一致させて書き込む。本発明の読み出し方法の内容は、データを読み出すときは、エラーが発生した箇所をスキップし、有効データのみをホストに転送する。また、データをスキップする際、スキップした箇所にダミーデータを入れて、アプリケーションに送る。なお、本発明は、ＳＣＳＩコマンドなどのレベルでテープ媒体のデータをシーケンシャルに読み出す際の特殊モードを提供する。
【００２３】
図１は、本発明の実施例が適用されるテープドライブ（磁気テープ装置）のハードウェア構成の一例を示す。
このテープ記憶装置１００は、通信Ｉ／Ｆ（インターファース）１１０と、バッファ１２０と、記録チャネル１３０と、読書きヘッド１４０と、制御部１５０と、位置決め部１６０と、モータドライバ１７０と、モータ１８０とを含む。
【００２４】
インターフェース１１０は、ネットワークを介してホスト装置３００との通信を行う。例えばインターフェース１１０は、ホスト装置３００から、メディア１０へのデータの書込みを指示する書込みコマンドを受信する。またインターフェース１１０は、ホスト装置３００から、メディア１０からのデータ読出しを指示する読出しコマンドを受信する。インターファース１１０は、書込みデータの圧縮および読み出しデータの非圧縮を行う機能を有し、実際のデータに対してメディアへの記憶容量を約２倍近く高めている。同じデータ、例えばゼロデータ続くと書込みデータの圧縮率が高まりメディアの記憶容量の節約となる。
【００２５】
テ−プドライブ１００は、ホスト３００から送られた複数のレコードで構築されるデータセット（ＤａｔａＳｅｔ；ＤＳと言う）単位でテープカートリッジ１０への読み書きを行う。ホスト３００は、ファイルシステムはファイルを指定して、また、ＳＣＳＩコマンドはレコードを指定して、テープドライブに書込み／読み出し要求（Ｗｒｉｔｅ／Ｒｅａｄ）を送る。ＤＳは、レコードの一部または複数のレコードを含む。
【００２６】
各ＤＳは、データセットに関する管理情報を含む。ユーザデータはレコード単位で管理され、その管理情報はデータセット情報テーブル（ＤＳＩＴ：Data Set Information Table）に含まれる。ＤＳＩＴは、そのＤＳに含まれるレコード数およびFile Marker（ＦＭ）数、更にはメディア先頭から書かれた累積レコード数および累積ＦＭ数、を含む。
【００２７】
バッファ１２０は、メディア１０に書込むべきデータ、また、メディアから読み出したデータを一時的に蓄積するメモリである。例えばバッファ１２０は、ＤＲＡＭ(Dynamic Random Access Memory）によって構成される。記録チャネル１３０は、バッファ１２０に蓄積されたデータをメディア１０に書き出すため、またはメディア１０から読み出されたデータをバッファ１２０に一時的に蓄積するために用いられる通信経路である。
【００２８】
読書きヘッド１４０は、データ読書き素子を有し、メディア１０へのデータの書込み及びメディア１０からのデータの読出しを行う。本実施形態に係る読書きヘッド１４０はまたサーボ読取り素子を有し、メディア１０に設けられたサーボトラックから信号を読み取る。位置決め部１６０は、メディア１０の短手方向（幅方向）に読書きヘッド１４０の移動を指示する。モータドライバ１７０は、モータ１８０を駆動する。
【００２９】
テ−プドライブ１００は、ホスト３００から受取ったコマンドに従って、データのテ−プへの書込みやテ−プからの読出しをする。テ−プドライブ１００は、バッファ、読み書きチャネル、ヘッド、モ−タ、テ−プを巻きつけるリ−ルと、読み書き制御と、ヘッド位置制御システムと、モ−タドライバとを含む。テ−プドライブは、テープカートリッジを着脱可能にて搭載する。テ−プは、リ−ルの回転に伴い、長手方向に移動する。ヘッドは、テープの長手方向に移動してデータを書き込んだり、テ−プからデータを読出したりする。また、テープカートリッジ１０はカートリッジメモリ（ＣＭ：Cartridge Memory）と呼ばれる非接触不揮発性メモリを備える。テープカートリッジ１０に搭載されたＣＭは、テープドライブ１００により非接触的に読み書きされる。ＣＭはカートリッジ属性を保管する。テープドライブは、読出し及び書込み時に、ＣＭからカートリッジ属性を取り出して最適な読み書きができるようにする。
【００３０】
制御部１５０は、テープ記録装置１００の全体の制御を行う。制御部１５０は、インターフェースで受信したコマンドに従って、データのメディア１０への書込み及びメディア１０からのデータの読出しを制御する。また、制御部１５０は、読取られたサーボドラックの信号に従って位置決め部１６０を制御する。更に制御部１５０は、位置決め部１６０及びモータドライバ１７０を介してモータの動作を制御する。なお、モータドライバ１７０は制御部１５０に直接接続されてもよい。
【００３１】
図２は、ドライブ内の扱われるデータの単位を示す。
ドライブバッファはセグメントに区分され、各セグメント内にデータセットが構築される。本発明の理解のため、ドライブ内でのテープドライブのデータ処理について説明する。テープドライブでは、データはテープ上にデータセットと呼ばれる固定長単位で書かれている。データセットはテープから読み出された後、一旦ドライブバッファに書き込まれさまざまな処理がなされた後に、ホストに転送される。ドライブバッファはセグメントと呼ばれる単位のリングバッファになっており、テープのデータセットとバッファのセグメントは１対１対応である。一方、ストとドライブ間のデータの単位はレコードとよばれ、レコードの長さは固定長・可変長のどちらも用いられる。データセットの大きさはＬＴＯ第５世代で約３MBであり、レコード長がそれよりも小さい場合はひとつのデータセットに複数のレコードが存在することになる。なお、セグメントは実線で区分され、レコードは点線で区分されている。
【００３２】
図３は、データセットの模式図を示す。
ひとつのデータセットは、６４のサブデータセットに分けられる。それぞれのサブ・データセットはＣ１およびＣ２と呼ばれる符号訂正処理用のエリアを持つ。また最後のサブ・データセットには、このデータセットに関する管理情報（ＤＳＩＴ)を保存するエリアが存在する。
【００３３】
図４は、テープドライブの典型的なひとつのデータセットの読み出し処理のフローチャートを示す。読み出しの際にテープドライブにおけるＣ２符号訂正エラーの処理が実行され、完全なデータを読み出しことを保証している（４２０，４３０，４６０，４８０）。テープドライブにおける、Ｃ２符合訂正エラー（以降Ｃ２エラー）と、テープドライブのデータ読み出し処理の関係について述べておく。なお後述する本発明の読み出し方法では、映像データの読み出す特殊モードにおいてＣ２エラーのデータセットの読み出しのＥＲＰ処理を停止又はその処理を緩和する。
【００３４】
プロセスごとにエラーチェックは行われるが、特にＣ２エラーになった場合、通常ドライブはＥＲＰを実施しＣ２処理が通るまで、テープからの読み出しとＣ２チェックを繰り返す。ＥＲＰによりＣ２チェックが通ればデータはホストに転送されるが、結果的にエラーになった場合は処理が停止する（４７０）。Ｃ２エラーの状況は、特にテープおよびドライブの劣化が進むと見受けられるエラーであり、他のエラーと比較して多く発生する。逆の言い方をすれば、劣化したテープに保管された映像データに関しては、読み出せなくなるリスクが高くなるということである。
【００３５】
図５は、データセットの区切りと特定のレコードの区切りが一致するようにする書き込むことを示す。本発明では、映像データを構成する各レコードはテープ媒体へず次のような書込みがされている必要がある。レコード０，３，６，９はその開始位置がデータセット内でオフセット０になるように書き込まれる。なお、バッファ１２０は固定長のセグメントに区切られたデータ内容が、テープ上でデータセットとして記録される。点線は、レコード間の区切りを示す。実線は、データセット間の区切りを示す。ドライブにデータを書き込むときには、データセットの先頭がレコードの先頭と一致するように書き込む。
【００３６】
また、実際のテープドライブでこの書き込み方をするためには、以下のような考慮点が必要である。
・ホストからドライブへ書き込む時のレコード長を決定する際、実際のデータセット上のレコードにはハードウェアに必要な付加情報およびＣＲＣなどのエラー検出情報が付加されるので、これらの点を考慮する必要がある。
・レコード長は固定長で送る。可変長ではデータセットの区切りとレコードの区切りの位置合わせは困難だからである。
・圧縮機能は使用しない。圧縮機能使用時では圧縮レコードの長さが変動するためデータセットの区切りと圧縮データの区切り位置合わせは困難だからである。
【００３７】
図６は、データセットN+3の読み出しの際にＣ２エラー発生時の状況を示す。図２で示すデータセット単位で書き込んだデータの一部が、読み出し時にＣ２エラーが発生した場合、通常のドライブバッファ上では図５のようなデータ配置になっている。管理情報（ＤＳＩＴ)取得中のデータセットN+2もすぐにホストへデータ転送が可能になる。次のデータセットN+3はＣ２エラーによりＥＲＰ中のため、そこでデータの転送が中断してしまう。ＥＲＰは秒単位の処理であり、長いときは分単位で処理が行われるため、データを映像として再生している場合映像が長い時間中断されている状態になる。
【００３８】
図７は、本発明の読み出し時のフローチャートを示す。
本発明の読み出し方法は、次の２の構成からなっている。
１．Ｃ２エラー領域をスキップする。
２．スキップした領域にダミーデータを埋め込む。
まず、１のＣ２エラー領域をスキップする場合について説明する。
読み出し時に、ドライブファームウェア（読み出し制御を含む制御部１５０）により、ステップ（１）（７４０）およびステップ（２）（７６０）を行う。
【００３９】
ステップ（１）において、Ｃ２エラーになったデータから、ＤＳＩＴが取得可能かどうかを判断する。先に述べたように、ＤＳＩＴは最後のサブデータセットに保管されており、Ｃ２の訂正はサブデータセットごとに行われるので、他のユーザデータエリアでＣ２エラーが発生したとしても、ＤＳＩＴの情報は取得できる可能性が高い。ＤＳＩＴが取得できるのであれば、ＥＲＰによる他のユーザデータへの再試行は行わず、次に進む。ＤＳＩＴの取得のみを目的として、ＤＳＩＴ以外の箇所のＣ２エラーを無視できるのであれば、Ｃ２エラーとして最終的にドライブが停止してしまう割合は単純計算で1/６４にすることができる。
【００４０】
ステップ（２）において次にＣ２エラーが起こったデータセットの先頭に、Ｃ２エラー・フラグとしてEndmarkerを書き込む。Endmarkerは、ドライブがハンドルする特殊処理用のマークであり、Endmarkerの位置でデータの転送を一時中断することができる。次のデータ転送開始ポイントはファームウェアが指定するが、ここでは次のデータセットの先頭からにしておく。Ｃ２エラーのデータセットにEndmarkerを書き込み、次のデータセットの先頭から転送を再開させることで、Ｃ２エラーになったデータをスキップしてデータを転送できるようにする。これらの処理は通常のテープドライブのデータ転送とは異なる処理のため、この処理が必要な場合はあらかじめホスト側、即ちＬＴＦＳ側からこのモードで動作する映像特殊モードとしてドライブに設定しておく。
【００４１】
図８は、図７の処理を行った場合の、ドライブバッファ上でのデータの流れを示す。
●ドライブファームウェアは、エラーが発生したデータセットの先頭にEndmarkerを書き込み、エラーが発生した以降のデータセットを通常通り読み出しておく。
この時、図７においてエラーが発生した以降のデータセットN+4が、データセットN+2に続くデータであることを保証するためには、Ｃ２エラーになったデータセットのＤＳＩＴの内容を知っている必要がある。Ｃ２エラーが連続する場合も考えられるので、エラーになったデータセットをいくつまで許容するかは、ドライブ側にその閾値を伝えドライブ側で処理するか、ＬＴＦＳ側でハンドリングするかはどちらでもよい。
●ドライブでは、バッファのデータをホストに転送する過程において、このEndmarkerが存在した箇所でデータ転送を一時中断する。
通常、ドライブからホストへのデータ転送はハードウェアにより連続転送がなされている。しかし、現状のハードウェアでは、Ｃ２エラーになったデータはホストに送り出す際の整合性チェックが通らないため、読み出しエラーとなり、この時データ転送は完全に停止してしまう。これを行うことでエラーが存在したエリアをホストに転送しようとするのを避けることができる。
●Endmarkerの出現によりホストに転送するデータをスキップするわけだが、次に送るデータのポイント先は、正しく読み出せたデーセットの先頭からになる。
レコードの区切りとデータセットの区切りとを一致させることで、データセットの先頭からという条件のみで転送開始位置を特定することが可能である。
【００４２】
図９は区切り位置を一致させない場合の模式図を示す。
データセットとレコードの区切りを一致させないで書き込まれた複数のレコードを読み出す場合の不利益について説明する。ホストから可変長のレコードをテープドライブが受け取っても、技術的にはデータセットとレコードの区切りを一致させなくても、特定の位置にEndmarkerなどを付してＣ２エラーのデータセットをスキップして転送を続けることは可能である。しかし、データセットの区切りとレコードの区切りとを一致させる本発明とは以下の相違がある。Ｃ２エラーのデータセットN+3の先端の区切りと終端の区切りとにレコードｍ＋８の後半部分とレコードｍ＋１１の前半部分が跨る。レコードｍ＋８の前半部分は読み出しエラーのないデータセットN+2に含まれるが、そのレコードの後半部分はＣ２エラーのデータセットN+3に含まれるため、レコードｍ＋８はエラーと見なされる。レコードｍ＋１１の後半部分は読み出しエラーのないデータセットN+4に含まれるが、そのレコードの前半部分はＣ２エラーのデータセットN+3に含まれるため、レコードｍ＋１１もエラーと見なされる。ＤＳＩＴからではレコードｍ＋８について、有効な前半部分とデータセットN+3によりエラーとされる無効な後半部分の区分位置の正確な区別は不可能である。同様に、レコードｍ＋１１についてデータセットN+3によりエラーとされる無効な前半部分とエラーの有効な後半部分の区分位置の正確な区別は不可能である。２つのレコードがデータセットの先端および後端の区分に跨る場合には、図９からわかるように、Ｃ２エラーのデータセットN+3より大きな、レコードｍ＋８〜ｍ＋１１の映像データをスキップとする扱いとなる不利益が生じる。この態様では、Ｃ２エラーのデータセットのＥＲＰをスキップして、最小限の映像データのコマ落ちを許容しつつ全体の映像データの視聴を優先させる課題解決にならない。例えば、１つのデータセットの両端の区切りに跨るレコードがかなり大きい場合に映像データのコマ落ちが許容範囲を超えて不利益が大きくなる。
【００４３】
次に、２のスキップしたレコードのデータ領域にダミーデータを埋め込む点について説明する。スキップしたデータにダミーデータを入れる必要がある。ＬＴＦＳを経由してデータを読み出すアプリケーションは、読み出したいデータの長さを指定しているので、スキップしたデータに対してもデータ長は維持した形式でアプリケーションにデータを渡す必要がある。スキップして飛ばしたデータ域の欠落を防ぐ必要があるため、ＬＴＦＳではスキップしたデータ領域にダミーデータを入れてアプリケーションに返すようにする。ドライブ内でダミーデータを埋め込んでＬＴＦＳにダミーデータ込みで渡す方法も技術的に可能ではあるが、実装面ではＬＴＦＳで行うほうが現実的である。
【００４４】
図１０は、ドライブ−ホスト間、およびホスト内でのＬＴＦＳ−映像アプリケーション間データ転送時の処理を示す。
ホストから特殊モードで映像データのレコードを読み出すためのリクエストを行う（１０１０）。特殊モードは、テープドライブ（ドライブ）に所定のＥＲＰの読み出しエラーをスキップする動作などを要求する。ドライブは、有効に読まれたデータセットに含まれるレコードm+8までの連続するデータをホストに転送する（１０２０）。ＬＴＦＳは受け取ったレコードm+8までの連続データを映像アプリケーションに送る（１０２５）。Ｃ２エラーのデータセットをバッファ内の対応するセグメントの先頭にＥｎｄｍａｒｋｅｒを付される。ドライブは、セグメントの先頭のＥｎｄｍａｒｋｅｒが存在することを検知して、Ｃ２エラーのデータセットをスキップする（１０３０）。ステップ（１０３０）は明示していなが、本発明の特殊モードである場合、Ｃ２エラーのデータセットについてＤＳＩＴを読み出しである場合を想定する。ＤＳＩＴはスキップしないデータセットに含まれるレコード数を保持している。ドライブは、ＤＳＩＴから確保したレコード数をホストに通知する。ホスト内でＬＴＦＳは、通知されたレコード数からスキップされたレコード番号およびレコード数を判定できる。ＬＴＦＳは、スキップしたレコードに対応するダミーデータを生成し、映像アプリケーションにおくる（１０３５）。
ドライブは、有効なデータセットに含まれる後続のレコードｍ＋１２から連続データをホストに送る（１０４０）。ホスト内でＬＴＦＳは、後続のレコードm+12からの連続データを映像アプリケーションに送る（１０４５）。
【００４５】
また、図１１は、この処理をＬＴＦＳ側から見た場合の、本発明の読み出し方法の詳細のフローチャートを示す。一連のステップ（１１１０，１１２０，１１３０，１１４０，１１８０）はドライブ−ホスト間での処理を示す。ステップ（１１７０，１１９５）はホスト内でのＬＴＦＳ−アプリケーション間での処理に相当する。
【００４６】
本発明の読み出し方法を典型的な映像アプリケーションに適応した場合で評価する。ハイビジョンビデオカメラのビットレートが２５Mbps程度とすると３．１２５MB/sである。一方ＬＴＯ５のデータセットひとつ分が約３MBであることから、データセットひとつのスキップで約1秒の中断となる。これまで、ＥＲＰ等で数秒から分単位の中断、もしくは結果的に転送中止となっていたことを鑑みると、１秒程度のコマ落ちをダミーデータで置き換えは体感的には許容されるものである。
【００４７】
以上より、本発明のテープドライブは、テープに保存された映像データを読み出して、ホストの映像アプリケーションが中断の少ない映像の再生を保証する。本発明の読み出し方法はハードウェアの変更を行っていないが、ハードウェアに若干の変更を行うことなどで、レコードとデータセットの区切りを合わせなくても対応が可能な処理ができる。レコードとデータセットの区切りを合わせる必要があるのは、スキップした後のデータ転送の開始位置を特定するためである。Ｃ２エラーになったデータセットからＤＳＩＴだけを読み出すことが可能であれば、次のデータセットの転送開始位置を特定できる。現行のテープドライブでも、ＤＳＩＴ情報のみ読み取り可能であれば処理は行える。ＤＳＩＴの読み取りをできるだけ確実に行うために、ＤＳＩＴを複数個所に持つなどの対応を行うと確率が高くなる。その場合ハードウェアの変更を必要とする。なお、本発明を実施の形態（実施例）を用いて説明したが、本発明の範囲は上記実施例には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
【符号の説明】
【００４８】
１０…テープカートリッジ（メディア、テープ）、
１００…テープドライブ、
１１０…通信Ｉ／Ｆ（インターフェース）、
１２０…バッファ（ドライブバッファ）、
１３０…記録チャネル、
１４０…ヘッド、
１８０…モータ、
１５０…制御部（コントローラ、読み書き制御を含む）、
１７０…モータドライバ、
３００…ホスト
【図１】
0005932731.tif 000002
【図２】
0005932731.tif 000003
【図３】
0005932731.tif 000004
【図４】
0005932731.tif 000005
【図５】
0005932731.tif 000006
【図６】
0005932731.tif 000007
【図７】
0005932731.tif 000008
【図８】
0005932731.tif 000009
【図９】
0005932731.tif 000010
【図１０】
0005932731.tif 000011
【図１１】
0005932731.tif 000012