(57)【要約】【課題】データエラー検出は、媒体に書込まれるべきデータおよびそのデータの第１のデジタル署名を第１のバッファに格納することを含む。【解決手段】第１のデジタル署名が、第１のバッファから読出されたデータの第２のデジタル署名と一致する場合、第１のバッファから読出されたデータの圧縮形式がＦＩＦＯに格納される。第１のデジタル署名が圧縮データの復元された形式の第３のデジタル署名と一致する場合、圧縮データの復元された形式と、圧縮データの復元された形式の第１のＣ１  ＥＣＣのＣ２  ＥＣＣと、第１のＣ１  ＥＣＣおよびＣ２  ＥＣＣの第２のＣ１  ＥＣＣを含む１つ以上のＣ１  ＥＣＣとが第２のバッファに格納される。１つ以上のＣ１  ＥＣＣが、データから計算された対応するＣ１  ＥＣＣおよび第２のバッファから読出されたＣ１  ＥＣＣと一致する場合、ならびに第２のバッファから読出され、媒体に書込まれたデータのＣ１  ＥＣＣが、媒体から読み戻された対応するデータのＣ１  ＥＣＣと一致する場合、成功が表示される。【選択図】図３
2007052901.tif 000002
【特許請求の範囲】
【請求項１】
データエラー検出のための方法であって、
媒体に書込まれるべきデータおよび前記データの第１のデジタル署名を第１のバッファに格納することと、
前記第１のデジタル署名が、前記第１のバッファから読出されたデータの第２のデジタル署名と一致する場合、前記第１のバッファから読出されたデータの圧縮形式をＦＩＦＯに格納することと、
前記第１のデジタル署名が、前記圧縮データの復元された形式の第３のデジタル署名と一致する場合、前記圧縮データの前記復元された形式と、前記圧縮データの前記復元された形式の第１のＣ１  ＥＣＣのＣ２  ＥＣＣと、前記第１のＣ１  ＥＣＣおよび前記Ｃ２
ＥＣＣの第２のＣ１  ＥＣＣを含む１つ以上のＣ１  ＥＣＣとを第２のバッファに格納することと、
前記１つ以上のＣ１  ＥＣＣが、データから計算された対応するＣ１  ＥＣＣおよび前記第２のバッファから読出されたＣ１  ＥＣＣと一致する場合、前記第２のバッファから読出され、媒体に書込まれた前記データのＣ１  ＥＣＣが前記媒体から読み戻された対応するデータのＣ１  ＥＣＣと一致する場合に書込の成功を表示することとを含む、方法。
【請求項２】
前記デジタル署名は周期的冗長検査（ＣＲＣ）を含む、請求項１に記載の方法。
【請求項３】
前記デジタル署名はチェックサムを含む、請求項１に記載の方法。
【請求項４】
前記デジタル署名はハッシュコードを含む、請求項１に記載の方法。
【請求項５】
前記第１のバッファ、前記第２のバッファおよび前記ＦＩＦＯの２つ以上は、単一のメモリの別個の部分を含む、請求項１に記載の方法。
【請求項６】
前記媒体はシリアル媒体を含む、請求項１に記載の方法。
【請求項７】
前記シリアル媒体はシリアルテープ媒体を含む、請求項６に記載の方法。
【請求項８】
前記シリアルテープ媒体はシリアル磁気テープ媒体を含む、請求項７に記載の方法。
【請求項９】
前記第１のデジタル署名が、前記第１のバッファから読出されたデータの前記第２のデジタル署名と一致しない場合にエラーを表示することをさらに含む、請求項１に記載の方法。
【請求項１０】
前記第１のデジタル署名が、前記圧縮データの前記復元された形式の第３のデジタル署名と一致しない場合、または前記１つ以上のＣ１  ＥＣＣが、前記データから計算された前記対応するＣ１  ＥＣＣおよび前記第２のバッファから読出されたＣ１  ＥＣＣと一致しない場合にエラーを表示することをさらに含む、請求項１に記載の方法。
【請求項１１】
データエラー検出のための方法を実行するために機械によって実行可能な命令のプログラムを実施する、機械によって読出可能なプログラム記憶装置であって、前記方法は、
媒体に書込まれるべきデータおよび前記データの第１のデジタル署名を第１のバッファに格納することと、
前記第１のデジタル署名が、前記第１のバッファから読出されたデータの第２のデジタル署名と一致する場合、前記第１のバッファから読出されたデータの圧縮形式をＦＩＦＯに格納することと、
前記第１のデジタル署名が、前記圧縮データの復元された形式の第３のデジタル署名と
一致する場合、前記圧縮データの前記復元された形式と、前記圧縮データの前記復元された形式の第１のＣ１  ＥＣＣのＣ２  ＥＣＣと、前記第１のＣ１  ＥＣＣおよび前記Ｃ２
ＥＣＣの第２のＣ１  ＥＣＣを含む１つ以上のＣ１  ＥＣＣとを第２のバッファに格納することと、
前記１つ以上のＣ１  ＥＣＣが、データから計算された対応するＣ１  ＥＣＣおよび前記第２のバッファから読出されたＣ１  ＥＣＣと一致する場合、前記第２のバッファから読出され、媒体に書込まれた前記データのＣ１  ＥＣＣが前記媒体から読み戻された対応するデータのＣ１  ＥＣＣと一致する場合に書込の成功を表示することとを含む、プログラム記憶装置。
【請求項１２】
前記デジタル署名は周期的冗長検査（ＣＲＣ）を含む、請求項１１に記載のプログラム記憶装置。
【請求項１３】
前記デジタル署名はチェックサムを含む、請求項１１に記載のプログラム記憶装置。
【請求項１４】
前記デジタル署名はハッシュコードを含む、請求項１１に記載のプログラム記憶装置。
【請求項１５】
前記第１のバッファ、前記第２のバッファおよび前記ＦＩＦＯの２つ以上は、単一のメモリの別個の部分を含む、請求項１１に記載のプログラム記憶装置。
【請求項１６】
前記媒体はシリアル媒体を含む、請求項１１に記載のプログラム記憶装置。
【請求項１７】
前記シリアル媒体はシリアルテープ媒体を含む、請求項１６に記載のプログラム記憶装置。
【請求項１８】
前記シリアルテープ媒体はシリアル磁気テープ媒体を含む、請求項１７に記載のプログラム記憶装置。
【請求項１９】
前記方法は、前記第１のデジタル署名が、前記第１のバッファから読出されたデータの前記第２のデジタル署名と一致しない場合にエラーを表示することをさらに含む、請求項１１に記載のプログラム記憶装置。
【請求項２０】
前記方法は、前記第１のデジタル署名が、前記圧縮データの前記復元された形式の第３のデジタル署名と一致しない場合、または前記１つ以上のＣ１  ＥＣＣが、前記データから計算された前記対応するＣ１  ＥＣＣおよび前記第２のバッファから読出されたＣ１  ＥＣＣと一致しない場合にエラーを表示することをさらに含む、請求項１１に記載のプログラム記憶装置。
【請求項２１】
データエラー検出のための装置であって、
媒体に書込まれるべきデータおよび前記データの第１のデジタル署名を第１のバッファに格納するための手段と、
前記第１のデジタル署名が、前記第１のバッファから読出されたデータの第２のデジタル署名と一致する場合、前記第１のバッファから読出されたデータの圧縮形式をＦＩＦＯに格納するための手段と、
前記第１のデジタル署名が、前記圧縮データの復元された形式の第３のデジタル署名と一致する場合、前記圧縮データの前記復元された形式と、前記圧縮データの前記復元された形式の第１のＣ１  ＥＣＣのＣ２  ＥＣＣと、前記第１のＣ１  ＥＣＣおよび前記Ｃ２
ＥＣＣの第２のＣ１  ＥＣＣを含む１つ以上のＣ１  ＥＣＣとを第２のバッファに格納するための手段と、
前記１つ以上のＣ１  ＥＣＣが、データから計算された対応するＣ１  ＥＣＣおよび前
記第２のバッファから読出されたＣ１  ＥＣＣと一致する場合、前記第２のバッファから読出され、媒体に書込まれた前記データのＣ１  ＥＣＣが前記媒体から読み戻された対応するデータのＣ１  ＥＣＣと一致する場合に書込の成功を表示するための手段とを含む、装置。
【請求項２２】
前記デジタル署名は周期的冗長検査（ＣＲＣ）を含む、請求項２１に記載の装置。
【請求項２３】
前記デジタル署名はチェックサムを含む、請求項２１に記載の装置。
【請求項２４】
前記デジタル署名はハッシュコードを含む、請求項２１に記載の装置。
【請求項２５】
前記第１のバッファ、前記第２のバッファおよび前記ＦＩＦＯの２つ以上は、単一のメモリの別個の部分を含む、請求項２１に記載の装置。
【請求項２６】
前記媒体はシリアル媒体を含む、請求項２１に記載の装置。
【請求項２７】
前記シリアル媒体はシリアルテープ媒体を含む、請求項２６に記載の装置。
【請求項２８】
前記シリアルテープ媒体はシリアル磁気テープ媒体を含む、請求項２７に記載の装置。
【請求項２９】
前記第１のデジタル署名が、前記第１のバッファから読出されたデータの前記第２のデジタル署名と一致しない場合にエラーを表示するための手段をさらに含む、請求項２１に記載の装置。
【請求項３０】
前記第１のデジタル署名が、前記圧縮データの前記復元された形式の第３のデジタル署名と一致しない場合、または前記１つ以上のＣ１  ＥＣＣが、前記データから計算された前記対応するＣ１  ＥＣＣおよび前記第２のバッファから読出されたＣ１  ＥＣＣと一致しない場合にエラーを表示するための手段をさらに含む、請求項２１に記載の装置。
【請求項３１】
データエラー検出のための装置であって、
媒体に書込まれるべきデータおよび前記データの第１のデジタル署名を第１のバッファに格納するために適合されるホストインターフェイスと、
データプロセッサとを含み、前記データプロセッサは、
前記第１のデジタル署名が、前記第１のバッファから読出されたデータの第２のデジタル署名と一致する場合に、前記第１のバッファから読出されたデータの圧縮形式をＦＩＦＯに格納し、
前記第１のデジタル署名が、前記圧縮データの復元された形式の第３のデジタル署名と一致する場合に、前記圧縮データの前記復元された形式と、前記圧縮データの前記復元された形式の第１のＣ１  ＥＣＣのＣ２  ＥＣＣと、前記第１のＣ１  ＥＣＣおよび前記Ｃ２  ＥＣＣの第２のＣ１  ＥＣＣを含む１つ以上のＣ１  ＥＣＣとを第２のバッファに格納するために適合され、前記装置は、さらに、
媒体フォーマッタを含み、前記媒体フォーマッタは、前記１つ以上のＣ１  ＥＣＣが、データから計算された対応するＣ１  ＥＣＣおよび前記第２のバッファから読出されたＣ１  ＥＣＣと一致する場合、前記第２のバッファから読出され、媒体に書込まれた前記データのＣ１  ＥＣＣが、前記媒体から読み戻された対応するデータのＣ１  ＥＣＣと一致する場合に書込の成功を表示するために適合される、装置。
【請求項３２】
前記デジタル署名は周期的冗長検査（ＣＲＣ）を含む、請求項３１に記載の装置。
【請求項３３】
前記デジタル署名はチェックサムを含む、請求項３１に記載の装置。
【請求項３４】
前記デジタル署名はハッシュコードを含む、請求項３１に記載の装置。
【請求項３５】
前記第１のバッファ、前記第２のバッファおよび前記ＦＩＦＯの２つ以上は、単一のメモリの別個の部分を含む、請求項３１に記載の装置。
【請求項３６】
前記媒体はシリアル媒体を含む、請求項３１に記載の装置。
【請求項３７】
前記シリアル媒体はシリアルテープ媒体を含む、請求項３６に記載の装置。
【請求項３８】
前記シリアルテープ媒体はシリアル磁気テープ媒体を含む、請求項３７に記載の装置。
【請求項３９】
前記データプロセッサは、前記第１のデジタル署名が、前記第１のバッファから読出されたデータの前記第２のデジタル署名と一致しない場合にエラーを表示するためにさらに適合される、請求項３１に記載の装置。
【請求項４０】
前記装置は、前記第１のデジタル署名が前記圧縮データの前記復元された形式の第３のデジタル署名と一致しない場合、または前記１つ以上のＣ１  ＥＣＣが、前記データから計算された前記対応するＣ１  ＥＣＣおよび前記第２のバッファから読出されたＣ１  ＥＣＣと一致しない場合にエラーを表示するためにさらに適合される、請求項３１に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の分野
この発明はコンピュータサイエンスの分野に関する。より詳細には、この発明は媒体書込中のデータエラー検出に関する。
【背景技術】
【０００２】
発明の背景
磁気テープ記録の分野では、テープ媒体記録機構は典型的には、テープ媒体に記録されるようにデータを準備するさまざまな段階の間に発生するデータエラーを検出しない。これらの段階のうちの２つは、データ処理およびＥＣＣパリティ生成である。したがって、１つ以上のこれらの段階の間にエラーが発生する場合、テープ媒体からデータを回復する試みがその後なされるときに、回復されたデータは典型的には破損していることが判明するか、またはエラーが検出されないままである。回復されたデータが破損していることが判明した場合、データ回復を要求したホストにデータは戻されない。そして、エラーが検出されないままである場合、不正確なデータがホストに戻される。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
したがって、テープ媒体に記録されるようにデータを準備するさまざまな段階の間に発生するエラーに対して改良されたデータエラー検出をもたらす解決策の必要性が当該技術分野に存在する。
【課題を解決するための手段】
【０００４】
発明の概要
データエラー検出は、媒体に書込まれるべきデータおよびそのデータの第１のデジタル署名を第１のバッファに格納することを含む。第１のデジタル署名が、第１のバッファから読出されたデータの第２のデジタル署名と一致する場合、第１のバッファから読出されたデータの圧縮形式がＦＩＦＯに格納される。第１のデジタル署名が圧縮データの復元された形式の第３のデジタル署名と一致する場合、圧縮データの復元された形式と、圧縮データの復元された形式の第１のＣ１  ＥＣＣのＣ２  ＥＣＣと、第１のＣ１  ＥＣＣおよびＣ２  ＥＣＣの第２のＣ１  ＥＣＣを含む１つ以上のＣ１  ＥＣＣとが第２のバッファに格納される。１つ以上のＣ１  ＥＣＣが、データから計算された対応するＣ１  ＥＣＣおよび第２のバッファから読出されたＣ１  ＥＣＣと一致する場合、ならびに第２のバッファから読出され、媒体に書込まれたデータのＣ１  ＥＣＣが、媒体から読み戻された対応するデータのＣ１  ＥＣＣと一致する場合、成功が表示される。
【発明を実施するための最良の形態】
【０００５】
本明細書に組入れられ、本明細書の一部を構成する添付の図面は、この発明の１つ以上の実施例を示し、詳細な説明とともにこの発明の原理および実現例を説明する役割を果たす。
【０００６】
詳細な説明
この発明の実施例は、媒体書込中のデータエラー検出のためのシステムおよび方法の文脈で本明細書に記載される。この発明の以下の詳細な説明は単に例示的なものであり、限定的であるように意図されるものでは決してないことを当業者は認識する。この発明の他
の実施例は、この開示の利点を有する当業者に容易に提案される。添付の図面に示されるこの発明の実現例が以下で詳細に参照される。同一または同様の部分を参照するために、図面および以下の詳細な説明全体にわたって同一の参照表示が使用される。
【０００７】
明確にするために、本明細書に記載される実現例の定型化した特徴のすべてが示され、記載されているわけではない。もちろん、いかなるこのような実際の実現例の開発においても、アプリケーションに関連した制約およびビジネスに関連した制約の遵守などの開発者の具体的な目標を達成するために、実現例に特有の多くの決定がなされなければならず、このような具体的な目標は実現例ごとにおよび開発者ごとに異なることが理解される。さらに、このような開発活動は、複雑で時間を要するものであるかもしれないが、それにもかかわらずこの開示の利点を有する当業者にとっては工学技術についての普通の仕事であろうということが理解される。
【０００８】
この発明の１つの実施例に従って、構成要素、プロセスステップおよび／またはデータ構造は、オペレーティングシステム（ＯＳ）、コンピューティングプラットフォーム、ファームウェア、コンピュータプログラム、コンピュータ言語および／または汎用機械のさまざまなタイプを使用して実現されてもよい。この方法は、プログラムされたプロセス実行として処理回路で実行されることができる。処理回路は、プロセッサおよびオペレーティングシステムの多くの組合せまたはスタンドアローンの装置の形態を取り得る。プロセスは、このようなハードウェア、ハードウェア単体またはそれらの任意の組合せによって実行される命令として実現され得る。ソフトウェアは機械によって読出可能なプログラム記憶装置に格納されてもよい。
【０００９】
さらに、ハードワイヤード装置、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）および結合プログラム可能論理回路（ＣＰＬＤ）を含むフィールドプログラマブル論理回路（ＦＰＬＤ）、特定用途向け集積回路（ＡＳＩＣ）などの汎用性のより少ない性質を有する装置も、本明細書に開示されるこの発明の概念の範囲および精神から逸脱することなく使用され得ることを当業者は認識する。
【００１０】
この発明の１つの実施例に従って、この方法は、カリフォルニア州サンタクララ（Santa Clara）のサンマイクロシステムズ社（Sun Microsystems, Inc.）から入手可能なソラリス（Solaris）（登録商標）、ワシントン州レッドモンド（Redmond）のマイクロソフト社（Microsoft Corporation）から入手可能なマイクロソフト（登録商標）ウインドウズ（登録商標）ＸＰおよびウインドウズ（登録商標）２０００、もしくはいくつかの製造業者から入手可能なリナックス（Linux）などのユニックスオペレーティングシステムのさまざまなバージョンなどのＯＳを実行するパーソナルコンピュータ、ワークステーションコンピュータ、メインフレームコンピュータ、または高性能サーバなどのデータ処理コンピュータで実現されてもよい。この方法は、さらに、ワシントン州レッドモンドのマイクロソフト社から入手可能なウインドウズ（登録商標）ＣＥ、英国ロンドンのシンビアン社（Symbian Ltd）から入手可能なシンビアンＯＳ（登録商標）、カリフォルニア州サニーベイル（Sunnyvale）のパームソース社（PalmSource, Inc.）から入手可能なパーム（Palm）ＯＳ（登録商標）、およびさまざまな埋込式リナックスオペレーティングシステムなどのＯＳを実行するモバイル機器で実現されてもよい。埋込式リナックスオペレーティングシステムは、カリフォルニア州サニーベイルのモンタビスタソフトウェア社（Monta Vista Software, Inc.）およびニューメキシコ州ソコロ（Socorro）のＦＳＭラボ社（FSMLabs, Inc.）を含む製造業者から入手可能である。この方法は、さらに、複数のプロセッサシステムで、または入力装置、出力装置、ディスプレイ、ポインティングデバイス、メモリ、記憶装置、プロセッサへおよびプロセッサからデータを転送するための媒体インターフェイスなどのさまざまな周辺装置を含むコンピューティング環境で実現されてもよい。さらに、このようなコンピュータシステムまたはコンピューティング環境は、局所的にま
たはインターネット上でネットワーク接続されてもよい。
【００１１】
この発明の文脈において、「ネットワーク」という用語は、ローカルエリアネットワーク、広域ネットワーク、インターネット、ケーブルテレビシステム、電話システム、無線電気通信システム、光ファイバネットワーク、ＡＴＭネットワーク、フレームリレーネットワーク、衛星通信システムなどを含む。このようなネットワークは当該技術分野において周知であり、その結果、本明細書でさらに説明されることはない。
【００１２】
この発明の文脈において、「デジタル署名」という用語は、バイトの格納または伝送されたシーケンスにおいて１つ以上のエラーを検出するためのアルゴリズムを適用した結果のデジタル表現を表わす。デジタル署名は、一例として、周期的冗長検査（ＣＲＣ）、チェックサムまたはハッシュコードを含んでもよい。
【００１３】
この発明の文脈において、「エラー訂正コード」（Error Correction Code）（ＥＣＣ）という用語は、バイトの格納または伝送されたシーケンスにおいて１つ以上のエラーを検出および訂正するためのアルゴリズムを適用した結果のデジタル表現を表わす。
【００１４】
この発明の文脈において、「先入れ先出し」（ＦＩＦＯ）という用語は、最も長い時間格納されたデータが最初に検索される記憶機構を表わす。ＦＩＦＯは、ハードウェア、ソフトウェア、ファームウェアまたはそれらの組合せで実現されてもよい。
【００１５】
図１は、この発明の局面を実現するのに好適なコンピュータシステム１００のブロック図を示す。図１に示されるように、コンピュータシステム１００は、中央処理装置１０４、システムメモリ１０６（典型的にはＲＡＭ）、入力／出力（Ｉ／Ｏ）コントローラ１０８、ディスプレイアダプタ１１２を介するディスプレイスクリーン１１０などの外部装置、シリアルポート１１４および１１６、キーボード１１８、固定ディスクドライブ１２０、フロッピー（登録商標）ディスク１２４を受取るように機能するフロッピー（登録商標）ディスクドライブ１２２、ＣＤ−ＲＯＭ１２８を受取るように機能するＣＤ−ＲＯＭプレーヤ１２６、ならびにテープ媒体１４０を受取るように機能するテープドライブ１３８などの主なサブシステムを相互接続するバス１０２を含む。シリアルポート１１４を介して接続されるポインティングデバイス１３０（たとえば、マウス）およびシリアルポート１１６を介して接続されるモデム１３２などの多くの他の装置が接続され得る。モデム１３２は、電話リンクを介してリモートサーバへの直接的な接続をもたらしてもよく、またはＰＯＰ（接続拠点）（point of presence）を介してインターネットへの直接的な接続をもたらしてもよい。代替的には、ネットワークインターフェイスアダプタ１３４は、当業者に公知の任意の有線または無線ネットワークインターフェイスシステム（たとえば、インフィニバンド（Infiniband）、イーサネット（登録商標）、ｘＤＳＬ、アップルトーク（登録商標）、ＩＥＥＥ８０２．１１、およびブルートゥース（登録商標））を使用して、ローカルエリアネットワークまたは広域ネットワークとインターフェイスを取るために使用されてもよい。
【００１６】
多くの他の装置またはサブシステム（図示せず）が同様の態様で接続されてもよい。さらに、以下に記載されるように、図１に示される装置のすべてがこの発明を実施するために存在する必要はない。さらに、装置およびサブシステムは、図１に示されるものとは異なる方法で相互接続されてもよい。図１に示されるものなどのコンピュータシステムの動作は当該技術分野において容易に公知であり、この説明を過度に複雑にしないように本願では詳細に記載されない。この発明を実現するためのコードは、システムメモリ１０６に操作可能に配置される場合もあれば、固定ディスク１２０、フロッピー（登録商標）ディスク１２４、ＣＤ−ＲＯＭ１２８、サムドライブ１３６またはテープ媒体１４０などの記憶媒体に格納される場合もある。
【００１７】
ここで図２を参照して、この発明の１つの実施例に従う、媒体書込中のデータエラー検出のための装置を示すブロック図が提示される。図２に示されるように、媒体記憶装置２９４は、データプロセッサ２００、ホストデータインターフェイス２９２、媒体フォーマッタ２２０、Ｃ２  ＥＣＣ発生器２４２、第１のバッファ２３８および第２のバッファ２４０を含む。
【００１８】
ホストデータインターフェイス２９２は、ホスト、つまり図１に示される中央処理装置１０４によって制御されるコンピュータシステム１００からデータを受取り、受取られたデータおよび受取られたデータのデジタル署名の両方を第１のバッファ２３８に格納するように適合される。この発明の１つの実施例に従って、ホストデータインターフェイス２９２はダイレクトメモリアクセス（ＤＭＡ）インターフェイスを含む。
【００１９】
データプロセッサ２００は、第１のバッファ２３８からデータを受取り、第１のバッファ２３８から読出されたデータの中のエラーまたはデータ圧縮アルゴリズムの適用のその結果を検出するためにレコードレベルのデジタル署名チェックを使用するように適合される。データプロセッサ２００は、さらに、データ（２８４、２８２、２７８、２７６、２７４、２７２、２７０）、データのＣ１  ＥＣＣ（２５０、２５４、２５６、２６０）、およびＣ２  ＥＣＣデータのＣ１  ＥＣＣ（２６４、２６６）を第２のバッファ２４０に格納するように適合される。この発明の１つの実施例に従って、データ（２５０、２５４、２５６、２６０）プラスＣ１  ＥＣＣ（２５０、２５４、２５６、２６０、２６４、２６６）は、第２のバッファ２４０において記憶場所の列の状態で編成される。
【００２０】
データプロセッサ２００は、デジタル署名チェッカ２０２、データ圧縮器２０４、データ伸張器２１２、ＦＩＦＯ２０８およびＣ１  ＥＣＣ発生器２１８を含む。デジタル署名チェッカ２０２は、第１のバッファ２３８からデータ２８６およびデジタル署名２８０を受取り、第１のバッファ２３８から読出されたデータの第２のデジタル署名を計算するように適合される。デジタル署名チェッカ２０２は、さらに、第１のデジタル署名が第２のデジタル署名と一致する場合、第１のバッファ２３８からのデータを圧縮し、圧縮データをＦＩＦＯ２０８に格納し、ＦＩＦＯ２０８に格納されたデータを復元し、ＦＩＦＯ２０８からの復元されたデータの第３のデジタル署名を計算するように適合される。第１のデジタル署名および第２のデジタル署名が一致しない場合、または第１のデジタル署名および第３のデジタル署名が一致しない場合、エラーが表示される。
【００２１】
引き続き図２を参照して、Ｃ１  ＥＣＣ発生器２１８は、ＦＩＦＯ２０８からデータを受取り、ＦＩＦＯ２０８からのデータのＣ１  ＥＣＣを計算し、ＦＩＦＯ２０８からのデータおよび計算されたＥ１  ＥＣＣを第２のバッファ２４０に格納し、Ｃ２  ＥＣＣのＣ１  ＥＣＣを計算および格納するように適合される。
【００２２】
Ｃ２  ＥＣＣ発生器２４２は、Ｃ１  ＥＣＣのＣ２  ＥＣＣを計算し、それを第２のバッファ２０４に格納するように適合される。この発明の１つの実施例に従って、データプロセッサ２００はＣ２  ＥＣＣ発生器２４２を含む。この発明の別の実施例に従って、媒体フォーマッタ２２０はＣ２  ＥＣＣ発生器２４２を含む。
【００２３】
媒体フォーマッタ２２０は、Ｃ１  ＥＣＣチェッカ２２６、書込装置２２８、Ｃ１  ＥＣＣチェッカ２３０および読出装置２３２を含む。Ｃ１  ＥＣＣチェッカ２２６は、データ、Ｃ２  ＥＣＣおよびＣ１  ＥＣＣを第２のバッファ２４０から受取り、データのＣ１
ＥＣＣおよびＣ２  ＥＣＣを計算するように適合される。媒体フォーマッタ２２０は、さらに、計算されたＣ１  ＥＣＣが、第２のバッファ２４０から読出されたＣ１  ＥＣＣと一致するかどうかを判断するように適合される。媒体フォーマッタ２２０は、さらに、
一致が発見されない場合にエラーを表示するように適合される。媒体フォーマッタは、さらに、一致が存在する場合に、データを媒体に書込み、媒体からデータを読み戻し、媒体から読み戻されたデータのＣ１  ＥＣＣを計算するように適合される。媒体フォーマッタ２２０は、さらに、計算されたＣ１  ＥＣＣが、データが媒体に書込まれる前に計算されたＣ１  ＥＣＣと一致しない場合にエラーを表示するように適合される。
【００２４】
多くの他の装置またはサブシステム（図示せず）が同様の態様で接続されてもよい。さらに、以下に記載されるように、図２に示される装置のすべてがこの発明を実施するために存在する必要はない。さらに、装置およびサブシステムは、図２に示されるものとは異なる方法で相互接続されてもよい。
【００２５】
この発明の１つの実施例に従って、媒体はシリアル媒体を含む。この発明の別の実施例に従って、媒体はシリアルテープ媒体を含む。この発明の別の実施例に従って、媒体はシリアル磁気テープ媒体を含む。
【００２６】
この発明の別の実施例に従って、第１のバッファ２３８、第２のバッファ２４０およびＦＩＦＯ２０８の１つ以上は、単一のメモリの別個の部分を含む。
【００２７】
ここで図３を参照して、この発明の１つの実施例に従う、媒体書込中のデータエラー検出のための方法を示すハイレベルフロー図が提示される。図３に示されるプロセスは、図２の媒体記憶装置２９４によって実行されてもよい。さらに、図３に示されるプロセスは、ハードウェア、ソフトウェア、ファームウェアまたはそれらの組合せで実現されてもよい。３００において、媒体に書込まれるべきデータおよびそのデータの第１のデジタル署名が第１のバッファに格納される。３０５において、第１のデジタル署名が、第１のバッファから読出されたデータの第２のデジタル署名と一致するかどうかに関して判断がなされる。一致が存在しない場合、３５０においてエラーが表示される。一致が存在する場合、３１０において、第１のバッファからのデータが圧縮され、ＦＩＦＯに格納される。３１５において、第１のデジタル署名が、ＦＩＦＯから読み戻され復元されたデータの第３のデジタル署名と一致するかどうかに関して判断がなされる。一致が存在しない場合、３５０においてエラーが表示される。一致が存在する場合、３２０において、ＦＩＦＯから読出されたデータのＣ１  ＥＣＣと、Ｃ１  ＥＣＣのＣ２  ＥＣＣと、Ｃ２  ＥＣＣのＣ１  ＥＣＣとが第２のバッファに格納される。３２５において、データのＣ１  ＥＣＣおよび第２のバッファから読出されたＣ２  ＥＣＣが計算される。３３０において、計算されたＣ１  ＥＣＣが、第２のバッファから読出されたＣ１  ＥＣＣと一致するかどうかに関して判断がなされる。一致が存在しない場合、３５０においてエラーが表示される。一致が存在する場合、３００において、媒体に書込まれるべき次のデータの処理が継続し得る。
【００２８】
ここで図４を参照して、この発明の１つの実施例に従う、媒体書込中のデータエラー検出のための方法を示すローレベルフロー図が提示される。図４は図３をより詳しくしたものである。図４に示されるプロセスは、図２の媒体記憶装置２９４によって実行されてもよい。さらに、図４に示されるプロセスは、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せで実現されてもよい。４００において、媒体に書込まれるべきデータが受取られる。４０２において、受取られたデータの第１のデジタル署名が計算される。４０４において、受取られたデータおよび第１のデジタル署名が第１のバッファに格納される。
【００２９】
引き続き図４を参照して、４０６において、データおよび第１のデジタル署名が第１のバッファから受取られる。４０８において、第１のバッファからのデータの第２のデジタル署名が計算される。４１０において、第２のデジタル署名が第１のデジタル署名と一致
するかどうかに関して判断がなされる。一致が存在しない場合、４４６においてエラーが表示される。一致が存在する場合、４１２において、第１のバッファからのデータが圧縮される。４１４において、圧縮データがＦＩＦＯに格納される。４１６において、ＦＩＦＯに格納されたデータが復元される。４１８において、復元されたデータの第３のデジタル署名が計算される。４２０において、第３のデジタル署名が第１のデジタル署名と一致するかどうかに関して判断がなされる。一致が存在しない場合、４４６においてエラーが表示される。一致が存在する場合、４４２において処理が継続する。
【００３０】
引き続き図４を参照して、４２２において、ＦＩＦＯからのデータが受取られる。４２４において、ＦＩＦＯから読出されたデータのＣ１  ＥＣＣが計算される。４２６において、ＦＩＦＯからのデータおよびＣ１  ＥＣＣが第２のバッファに格納される。４２８において、Ｃ１  ＥＣＣのＣ２  ＥＣＣが計算され、次いで第２のバッファに格納される。４３０において、Ｃ２  ＥＣＣのＣ１  ＥＣＣが計算され、次いで第２のバッファに格納される。
【００３１】
引き続き図４を参照して、４３２において、データ、Ｃ２  ＥＣＣおよびＣ１  ＥＣＣが第２のバッファから受取られる。４３４において、第２のバッファからのデータのＣ１
ＥＣＣおよびＣ２  ＥＣＣが計算される。４３６において、計算されたＣ１  ＥＣＣが第２のバッファからのＣ１  ＥＣＣと一致するかどうかに関して判断がなされる。一致が存在しない場合、４４８においてエラーが表示される。一致が存在する場合、４３８において、データが媒体に書込まれる。４４０において、データが媒体から読み戻される。４４２において、媒体から読み戻されたデータのＣ１  ＥＣＣが計算される。４４４において、媒体から読み戻されたデータの計算されたＣ１  ＥＣＣが、書込動作の前に計算されたＣ１  ＥＣＣと一致するかどうかに関して判断がなされる。一致が存在しない場合、４４８においてエラーが表示される。一致が存在する場合、データは無事に媒体に書込まれている。４００において、次のデータの処理が継続する。
【００３２】
上に示されたように、この発明の実施例は線形のＣＲＣ／ＥＣＣコードを使用するため、Ｃ２  ＥＣＣバイトのＣ１はＣ１  ＥＣＣバイトのＣ２と同一である。データが第２のバッファ２４０に入れられるときにＣ１を計算し、データおよびＣ１の両方にわたってＣ２を計算し、次いでデータおよびＣ２  ＥＣＣの両方の「列」のＣ１をチェックすることによって、第２のバッファ２４０の中のデータのいずれかが破損している場合、またはＣ２  ＥＣＣプロセスにおいてエラーが存在した場合にエラーが検出される。
【００３３】
この発明の実施例および適用例が示され、記載されてきたが、本明細書におけるこの発明の概念から逸脱することなく、上述のものよりも多くの修正が可能であることが、この開示の利点を有する当業者に明らかであろう。したがって、この発明は特許請求の範囲の精神以外に限定されるべきではない。
【図面の簡単な説明】
【００３４】
【図１】この発明の局面を実現するのに好適なコンピュータシステムを示すブロック図である。
【図２】この発明の１つの実施例に従う、媒体書込中のデータエラー検出のための装置を示すブロック図である。
【図３】この発明の１つの実施例に従う、媒体書込中のデータエラー検出のための方法を示すハイレベルフロー図である。
【図４】この発明の１つの実施例に従う、媒体書込中のデータエラー検出のための方法を示すローレベルフロー図である。
【符号の説明】
【００３５】
２０８  ＦＩＦＯ
２３８  第１のバッファ
２４０  第２のバッファ
【図１】
2007052901.tif 000003
【図２】
2007052901.tif 000004
【図３】
2007052901.tif 000005
【図４】
2007052901.tif 000006
【手続補正書】
【提出日】平成18年11月28日(2006.11.28)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
引き続き図２を参照して、Ｃ１  ＥＣＣ発生器２１８は、ＦＩＦＯ２０８からデータを受取り、ＦＩＦＯ２０８からのデータのＣ１  ＥＣＣを計算し、ＦＩＦＯ２０８からのデータおよび計算されたＣ１  ＥＣＣを第２のバッファ２４０に格納し、Ｃ２  ＥＣＣのＣ１  ＥＣＣを計算および格納するように適合される。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】変更
【補正の内容】
【００２２】
Ｃ２  ＥＣＣ発生器２４２は、Ｃ１  ＥＣＣのＣ２  ＥＣＣを計算し、それを第２のバッファ２４０に格納するように適合される。この発明の１つの実施例に従って、データプロセッサ２００はＣ２  ＥＣＣ発生器２４２を含む。この発明の別の実施例に従って、媒体フォーマッタ２２０はＣ２  ＥＣＣ発生器２４２を含む。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
引き続き図４を参照して、４０６において、データおよび第１のデジタル署名が第１のバッファから受取られる。４０８において、第１のバッファからのデータの第２のデジタル署名が計算される。４１０において、第２のデジタル署名が第１のデジタル署名と一致するかどうかに関して判断がなされる。一致が存在しない場合、４４６においてエラーが表示される。一致が存在する場合、４１２において、第１のバッファからのデータが圧縮される。４１４において、圧縮データがＦＩＦＯに格納される。４１６において、ＦＩＦＯに格納されたデータが復元される。４１８において、復元されたデータの第３のデジタル署名が計算される。４２０において、第３のデジタル署名が第１のデジタル署名と一致するかどうかに関して判断がなされる。一致が存在しない場合、４４６においてエラーが表示される。一致が存在する場合、４２２において処理が継続する。
【外国語明細書】
2007052901000001.pdf