(57)【特許請求の範囲】
【請求項１】
パーソナルビデオレコーディング（ＰＶＲ）システムにおいて記憶媒体を制御するための方法であって、
データ書込みコマンドを受信するステップと、
前記データ書込みコマンドに従って前記記憶媒体にデータを書き込むステップと、
前記書き込みに応答して、直近で書き込みが行われたセクタを識別するセクタＩＤリスト内に、前記記憶媒体のセクタに対応する識別子を記憶するステップと、
前記書き込みの中断に応答して、前記識別子を取り出すステップであって、該取り出すステップは、前記リストを取り出すことをさらに含む、前記取り出すステップと、
前記識別子に対応する前記セクタがエラーを含むかどうかを判定するステップと、
前記セクタ内の前記エラーを訂正するステップであって、前記取り出すステップ、前記判定するステップ、および前記訂正するステップは、記憶媒体レベルでファイルシステムとは独立に実行される、前記訂正するステップと、
前記リストに従って、直近でデータが書き込まれた前記セクタから始めて時系列順に、複数の識別子に対応する複数のセクタを検査して、該複数のセクタのうちのいずれかがエラーを含むかどうかを判定するステップと、
を備える、前記方法。
【請求項２】
前記取り出すステップは、起動動作後に実行される、請求項１に記載の方法。
【請求項３】
取り出された前記識別子は、前記取り出すステップの前に直近で書き込み動作が実行されたセクタに対応する、請求項１に記載の方法。
【請求項４】
前記識別子は、前記データが書き込まれる前記記憶媒体内の位置とは別個の所定の位置に記憶される、請求項１に記載の方法。
【請求項５】
前記識別子は、前記記憶媒体の不揮発性メモリ上のリングバッファに記憶される、請求項４に記載の方法。
【請求項６】
パーソナルビデオレコーディング（ＰＶＲ）システム内の記憶媒体上のファイルシステムを修復するためのシステムであって、
記憶媒体と、
データが直近で書き込まれた記憶媒体のセクタを識別するセクタＩＤリストと、
データ書込みコマンドを受信し、
前記データ書込みコマンドを受信することに応答して前記記憶媒体のセクタに対応するセクタ識別子を前記リストに記憶し、
前記データ書込みコマンドに従って前記セクタにデータを書き込む
ように構成されたプロセッサと、
書込み動作の中断に応答して前記セクタ識別子を取り出し、
前記セクタがエラーを含むかどうかを判定し、
前記セクタ内のエラーを訂正する
ように構成され、前記取り出すこと、前記判定すること、および前記訂正することを、記憶媒体レベルでファイルシステムとは独立に実行する、修復モジュールと
を備え、
前記修復モジュールは、前記リストを取り出すようにさらに構成され、前記修復モジュールは、前記リストに従って、データが直近で書き込まれた前記セクタから始めて時系列順に、複数のセクタ識別子に対応する複数のセクタを検査して、該複数のセクタのうちのいずれかがエラーを含むかどうかを判定する、前記システム。
【請求項７】
前記修復モジュールは、起動動作の後に前記セクタ識別子を取り出すようにさらに構成される、請求項６に記載のシステム。
【請求項８】
取り出された前記セクタ識別子は、該セクタ識別子を取り出す前に直近で書き込み動作が実行されたセクタに対応する、請求項６に記載のシステム。
【請求項９】
前記セクタ識別子は、前記データが書き込まれる前記記憶媒体内の位置とは別の所定の位置に記憶される、請求項６に記載のシステム。
【請求項１０】
前記セクタ識別子は、前記記憶媒体の不揮発性メモリ上のリングバッファに記憶される、請求項９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本原理は、一般に、データストレージに関し、より具体的には、記憶装置上の損傷したファイルシステムを修復するための方法およびシステムに関する。
【背景技術】
【０００２】
記憶装置上の損傷したファイルシステムを修復することに関連する一般的な問題は、公知の修復方法が、しばしば処理速度が遅く、かなりの量のリソースを消費することである。ファイルシステムを修復するための公知の方法は、損傷したセクタを識別して修復するために、記憶機構全体をスキャンすることに依存する。例えば、図１は、停電の結果として破損したハードディスクドライブ上のファイルシステムを修復するための従来技術の方法を示す。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
このシナリオにおけるセクタの破損は、典型的に、ディスクドライブのセクタ上の書込み動作の中断から生じる。ステップ１０４において停電の後にコンピューティングシステムが起動（boot up）すると、修復ユーティリティは、欠陥セクタがないかハードディスクドライブをスキャンし始める。スキャンは、ステップ１０８において各セクタを検査して、セクタのいずれかがエラーを含むかどうかをステップ１１２において判定することを備える。セクタがエラーを含むと判定すると、修復ユーティリティは、ステップ１１６においてエラーを訂正し、最後のセクタに到達するまで、すべてのセクタをスキャンしてエラーを修復し続ける。このプロセスは、大きな記憶装置上で完了するためには、しばしば数分から数時間を必要とする。
【課題を解決するための手段】
【０００４】
本原理の一態様によれば、記憶装置上の損傷したセクタを修復するのに必要な時間を、エラーがないか記憶装置全体をスキャンする必要性を回避することにより低減することができる。本原理の諸態様は、破損する可能性が最も高い記憶装置のセクタまたは部分に対応するセクタ識別子を記憶することを含む。該識別子を利用して、記憶装置上のエラーを対象とする検索を行うことができる。
【０００５】
本原理の一実装は、書込み動作の中断の結果として損傷した記憶媒体上のファイルシステムを修復するための方法を含み、該方法は、書込みデータコマンドを受信することと、上記書込みデータコマンドを受信することに応答して、記憶媒体のセクタに対応するセクタ識別子を、直近に（most recently）書込みが行われたセクタを識別するセクタＩＤリストに記憶することと、上記書込みデータコマンドに従ってデータを上記セクタに書き込むことと、上記セクタ識別子を取り出すことと、上記セクタがエラーを含むかどうかを判定することと、上記セクタ内のエラーを訂正することを含み、上記取り出すことと、判定することと、訂正することは、ファイルシステムに関係なく実行される。
【０００６】
本原理の別の実装は、書込み動作の中断の結果として損傷した記憶媒体上のファイルシステムを修復するためのシステムを含み、該システムは、記憶媒体と、データが直近で書き込まれた記憶媒体のセクタを識別するセクタＩＤリストと、書込みデータコマンドを受信し、上記書込みデータコマンドを受信することに応答して記憶媒体のセクタに対応するセクタ識別子を上記リストに記憶し、および上記書込みデータコマンドに従って上記セクタにデータを書き込むように構成されたコマンドプロセッサと、上記識別子を取り出し、上記セクタがエラーを含むかどうかを判定し、および上記セクタ内のエラーを訂正するように構成された修復モジュール（repair module）を備え、上記取り出し、上記判定と、上記訂正がファイルシステムと関係なく実行される。
【０００７】
１つまたは複数の実装の詳細を添付の図面および以下の説明で述べる。ある特定の手法に関して説明される場合であっても、様々な手法で実装を構成し、または具現化することができることは明らかである。例えば、前述のように、一実装を方法として実施することができ、あるいは動作のセットを実行するように構成された装置、または動作のセットを実行するための命令を記憶した装置として具現化することもできる。他の態様および特徴は、添付の図面および特許請求の範囲と併せて考察される以下の詳細な説明から明らかになるであろう。
【０００８】
本原理の教示は、添付の図面と併せて以下の詳細な説明を考察することにより容易に理解されうる。
【図面の簡単な説明】
【０００９】
【図１】記憶媒体の破損したセクタを修復するための従来技術の方法を示すフロー図である。
【図２】記憶装置上の損傷したファイルシステムを修復するための例示的システムを示すブロック図である。
【図３】データが直近に書き込まれたセクタに対応するセクタ識別子のリストを作成するための例示的方法を示す流れ図である。
【図４】セクタ識別子リストを利用して、破損したセクタを対象とする検索を行い、損傷したセクタに含まれるエラーを訂正するための例示的方法を示すフロー図である。
【図５】セクタ識別子リストを利用して、破損したセクタを対象とする検索を行い、損傷したセクタに含まれるエラーを訂正するように構成された、例示的パーソナルビデオレコーダシステムを示すブロック図である。
【発明を実施するための形態】
【００１０】
図面は、本発明の概念を例示するためのものであり、必ずしも本発明の原理を例示するための唯一の可能な構成ではないことを理解されたい。理解を容易にするために、可能な場合、同一の参照数字を使用して図面において共通する同一の要素を示す。
【００１１】
本原理は、記憶装置上の損傷したファイルシステムを修復するための方法およびシステムを提供する。本原理の一態様は、直近でデータが書き込まれたセクタの位置を提供するセクタ識別子を記憶することを含む。識別子は、例えば停電の結果とし起こり得る、書込み動作の中断時に破損したセクタを修復する際に有用である。したがって、記憶装置の大部分をランダムにスキャンする代わりに、本原理の諸態様を利用してどのセクタが損傷したかを迅速に判定することができる。これらの態様を利用する本原理の一部の実装に関する詳細な説明を、以下で図面を参照しながら提供する。
【００１２】
図面に示されている様々な要素の機能は、専用ハードウェア、ならびに適切なソフトウェアに関連してソフトウェアを実行することができるハードウェアの使用によって提供されうることに留意されたい。プロセッサによって提供されるとき、上記機能を、単一の専用プロセッサによって、単一の共有プロセッサによって、または、その一部が共有可能な複数の個々のプロセッサによって提供することができる。さらに、用語「プロセッサ」または「コントローラ」の明示的な使用は、ソフトウェアを実行することが可能なハードウェアを排他的に指すものと解釈されるべきではなく、これらには限られないがデジタル信号プロセッサ（「ＤＳＰ」）ハードウェア、ソフトウェアを記憶するための読出し専用メモリ（「ＲＯＭ」）、ランダムアクセスメモリ（「ＲＡＭ」）、および不揮発性ストレージを暗示的に含むことができる。さらに、本明細書において本原理の原理、態様、および実装、ならびに本原理の特定の例示を説明するすべての記述は、それらの構造的および機能的両方の均等物を包含するものとする。さらに、そのような均等物は、現在知られている均等物だけでなく、将来開発される均等物（すなわち、構造に関わらず同じ機能を実行する、開発される全ての要素）をも含むものとする。
【００１３】
したがって、例えば、本出願において提示されるブロック図は、本発明の原理を実装する例示的システムの構成要素および／または回路に関する概念図を表していることが当業者には理解されるであろう。同様に、全てのフローチャート、フロー図、状態遷移図、擬似コードなども、コンピュータ読取可能媒体において実質的に表されることがあり、従ってコンピュータまたはプロセッサが明示的に示されているか否かに関わらずコンピュータまたはプロセッサによって実行されうる、様々なプロセスを表すことが理解されるであろう。
【００１４】
次に、同様の参照数字が図全体にわたって類似または同一の要素を識別する図面を詳細に参照するが、まず図２を参照すると、本原理の一態様による例示的システム２００は、書込み動作の中断の結果として損傷した記憶媒体上のファイルシステムを修復する際に利用されうる。システム２００は、記憶媒体２１６に対するデータ書込みを制御するように構成された制御ユニット２０４を含むことができる。制御ユニット２０４は、記憶媒体２１６に対する書込みコマンドを受信して実行する、コマンドプロセッサ２０８を含むことができる。さらに、コマンドプロセッサ２０８はまた、下記でさらに十分に説明される本原理の諸態様に従って、セクタ識別子（ＩＤ）をセクタ識別子（ＩＤ）リスト２２０に書き込む。セクタＩＤリスト２２０は、記憶装置のうち直近にデータが書き込まれた部分を指定する、セクタを識別するセクタＩＤのリストを含むことができる。さらに、リスト２２０は、記憶媒体２２０の中にあるように図示されているが、完全に別個の記憶機構上に配置されてもよい。修復モジュール２１２は、以下で図３および図４を参照しながらさらに十分に説明される本原理の諸態様に従ってエラーを発見し修復するためにセクタ識別子リスト２２０を利用することができる。
【００１５】
図２を続けて参照しながら図３を参照すると、書込み動作の中断の結果として損傷した記憶装置上のファイルシステムを修復する際に利用される本原理の一態様による一例示的方法３００が例示されている。そのような中断の原因には、停電、プロセッサフリーズなどがある。図３は、データが直近で書き込まれたセクタに対応するセクタ識別子のリストを作成する（compile）ための方法を示す。
【００１６】
本方法は、ステップ３０４においてコマンドを受信することによって開始する。例えば、記憶媒体に対する読出しおよび書込みを制御することができる制御ユニット２０４が、コマンドを受信することができる。コマンドを受信すると、本原理の一態様によるコマンドプロセッサ２０８は、ステップ３０８において、該コマンドが記憶媒体内のセクタにデータを書き込む命令であるかどうかを判定する。コマンドがセクタ書込みコマンドでない場合は、ステップ２２０において通常の処理が続けられる。しかし、コマンドがセクタ書込みコマンドであると判定された場合は、コマンドプロセッサ２０８は、次いでステップ３１２において、該書込みコマンドに従ってデータが書き込まれるべきセクタに対応するセクタ識別子（ＩＤ）を、セクタＩＤリスト２２０に記憶する。セクタＩＤは、データを書き込むべきセクタの位置、または記憶媒体の部分を識別する任意のタグとすることができる。さらに、セクタＩＤリスト２２０を、データが書き込まれるべきセクタとは別の位置に記憶することができる。例えば、セクタＩＤリスト２２０を、専用セクタ（dedicated sector）または少容量の不揮発性ＲＡＭに記憶することができる。さらに、セクタＩＤリスト２２０の記憶位置は、データが書き込まれるべき記憶媒体と同じ記憶媒体上とすることもでき、あるいは完全に別個の記憶装置上とすることもできる。
【００１７】
セクタＩＤを記憶すると、コマンドプロセッサ２０８はステップ３１６で、セクタ書込みコマンドに従って、記憶したセクタＩＤに対応するセクタにデータを書き込む。その後、ステップ２２０において通常の処理が続き、プロセスは、システムに課された全ての追加の書込みコマンドに従って必要に応じて繰り返される。図３に示されている実装では、セクタＩＤが記憶された後にデータが記憶媒体２１６に書き込まれるが、他の実装では、セクタＩＤは書込み動作と同時に記憶されてもよい。さらに、セクタＩＤリスト２２０は、前述のように、直近にデータが書き込まれた複数のセクタを識別する複数のセクタＩＤを備えることができることを理解されたい。例えば、リストは、時系列で（chronological order）データが書き込まれた最後のいくつかのセクタを記載することができる。セクタＩＤリスト２２０に記憶されるセクタＩＤの数は、設計上の選択に応じて、単一のセクタＩＤとすることも、複数のセクタＩＤとすることもできる。一実装では、セクタＩＤのリスト２２０を、所定の数のセクタＩＤを組み込んだリングバッファ（ring buffer）に記憶することもできる。リングバッファは、例えば、７つのセクタＩＤに対応する７つの要素を含むことができる。リングバッファがフルとなっている場合は、リングバッファに新しいセクタＩＤが記憶されるたびに最も古いセクタＩＤが上書きされる。前述のように、プロセスは繰り返され、リストは、新しい書込みコマンドが導入されるたびに絶えず更新される。
【００１８】
前述のように、記憶媒体上のセクタは、該セクタにおける書込み動作の中断のために破損する可能性があり、このような書込み動作の中断は、停電、プロセッサのフリーズ、または書込み動作の正常終了を妨げる他の任意のイベントの結果生じうる。作成されたセクタＩＤリスト２２０を利用して、上記中断の結果として破損した可能性があるセクタを迅速に識別することができる。上記で論じられたように、作成されたセクタＩＤリスト２２０を利用することは、記憶媒体の大部分をスキャンする必要をなくし、それによって、記憶媒体上のファイルシステムを修復するために必要とされる時間を大幅に低減することができる。図４は、前述の作成されたセクタＩＤリスト２２０を利用してファイルシステムを修復する方法を図示している。
【００１９】
図２を続けて参照しながら図４を参照すると、方法４００は、停電による書込み動作の中断の結果生じているエラーを訂正するために利用されうる。したがって、プロセスを、ステップ４０４において、プロセッサ、およびデータが書き込まれた記憶媒体を起動することによって開始することができる。しかし、本方法は、例えば、プロセッサフリーズ、またはいずれかの他の原因の書込み中断の後の通常な処理の復旧（restoration）時に開始することもある。正常な処理の中断および再開（resumption）の後に、ステップ４０８において、修復モジュール２１２は、リングバッファ、専用セクタ、またはリストを記憶するのに利用される任意の他の手段のコンテンツを照会（クエリ）することにより、セクタＩＤリスト２２０を取り出す。前述のように、セクタＩＤリスト２２０は、該取り出すステップの前に直近でデータが書き込まれたセクタに対応する、単一のセクタＩＤまたは複数のセクタＩＤを含む。
【００２０】
リストを取り出した後に、修復モジュール２１２は、ステップ４１２において、セクタＩＤリスト２２０のセクタＩＤに対応するセクタを検査する。セクタの検査時に、修復モジュール２１２は、ステップ４１６において、該セクタがエラーを含むかどうかを判定する。セクタがエラーを含まない場合、修復モジュール２１２は、次いでステップ４２４で検査されたセクタが最後のセクタではないと判定すると、ステップ４１２でセクタＩＤリスト２２０において識別された次のセクタを検査する。しかし、セクタがエラーを有すると判定された場合は、修復モジュール２１２は、ステップ４２０でエラーを訂正し、ステップ４２４で検査されたセクタが最後のセクタではないと判定すると、ステップ４１２でセクタＩＤリスト２２０において識別された次のセクタを検査する。その後、必要な場合は、ステップ４２０で次のセクタが訂正され、プロセスは、リストで識別された最後のセクタに到達するまで続く。
【００２１】
本原理の一実装では、エラーは、例えばセクタにすべてゼロを書き込むことにより、セクタ内のデータをすべて上書きすることによって訂正される。前述のように、多くのエラーは、セクタに対する書込み動作の中断の結果生じる。そのような中断に共通する影響は、新しいデータがセクタの先頭に書き込まれ、古いチェックサムを有する古いデータがセクタの末尾に残る、ライトスプライス（ｗｒｉｔｅ−ｓｐｌｉｃｅ）である。チェックサムは、セクタ内のビットの合計であり、セクタ内にエラーがないことを検証するのに利用される。多くのファイルシステムでは、チェックサムがセクタ内のデータに一致しない場合、そのセクタは「読出し不可能」とみなされる。例えばＸＦＳ修復プログラム、すなわちｘｆｓ＿ｒｅｐａｉｒなどのファイルシステム修復プログラムは、すべてのセクタが読出し可能であるか、またはプログラムが失敗することを必要とする。セクタ内のデータを上書きすることによるエラーの訂正により、チェックサムは確実にデータに一致し、それによってファイルシステム修復プログラムが、システム回復（recovery）ルーチンを成功裏に実行することが可能になる。そのような場合、エラーを有するセクタを上書きすることによってデータの一部分が削除された場合であっても、ファイルシステムユーティリティは、セクタ上の該データを読み出すことができ、少なくともシステム回復ルーチンを実行することができる。このようにして、本発明は、ファイルシステムとは独立に動作する、すなわち、本発明は、システム回復がファイルシステムレベルで試みられる前に、指定されたセクタ内に含まれるエラーを訂正する。
【００２２】
本原理の他の態様によれば、修復モジュール２１２は、セクタＩＤリスト２２０内に提供されている、直近で書き込みが行われたセクタから始まる時系列順で、セクタを検査することができる。したがって、リストを利用することにより、いくつかのセクタの中において対象の検索を実行して、書込み中断が生じたときにどのセクタが書き込まれていたかを判定することができる。さらに、損傷セクタの検索および修復は、以前の公知の方法によって大きな記憶媒体内の損傷したセクタの修復に必要とされていた数分から数時間とは対照的に、数秒以内に完了することができる。
【００２３】
前述の本原理の諸態様による方法のさらなる有益な特徴は、この方法を、装置のファイルおよびデータを記憶および編成する装置のメインファイルシステムの外部で、記憶媒体レベルで実装することが可能なことにある。例えば、図３のステップ３０４で受信される書込みコマンドは、ファイルシステムによって生成されてよく、これに応答してセクタ識別子が記憶媒体レベルで記憶される。さらに、図４の修復ステップ４０８〜４２４を、ファイルシステム修復プログラムを実行する前に、記憶媒体レベルで実行することもできる。この態様は、ファイルシステム修復プログラムに関連する問題を回避することができる。上記で論じたように、例えばＸＦＳ修復プログラム、ｘｆｓ＿ｒｅｐａｉｒなどの一部のファイルシステム修復プログラムは、すべてのセクタが読出し可能になるか、プログラムが失敗することを必要とする。本原理の諸態様による修復プロセスは、ファイルシステム修復プログラムを実行する前に行うことができるので、ファイルシステム修復プログラムは、訂正されたセクタを適切に読み出して、システムの回復を成功裏に実行することができる。この場合にも、本発明は、ファイルシステムおよびファイルシステム修復プログラムと独立にエラーを訂正することができる。
【００２４】
前述の本原理の諸態様による方法を、読出しおよび書込みなどのコマンドが一定の時間間隔内に実行される処理システムに適用することもできる。例えば、一定時間の制約下で動作するシステムには、パーソナルビデオレコーダがある。パーソナルビデオレコーダシステムでは、オーディオ／ビデオストリーム情報の読出しおよび書込みは、一定の時間間隔内に完了される。システムが一定の時間間隔内にトランザクションを完了しない場合、パーソナルビデオレコーダ（ＰＶＲ）は、プレゼンテーションの次の部分に進み、未完了のトランザクションに関連する情報は失われるか、廃棄されることがある。この制約は、できるだけ多くのプレゼンテーションを適時に表示することが望ましいことに起因するものである。したがって、オーディオデータまたはビデオデータは、その到着が遅すぎるときは、ＰＶＲの記録再生システムが破損するのを防止するために廃棄される。
【００２５】
書込み動作の中断が生じ、データのセクタが破損される状況では、しばしば、セクタ内のデータは、前述の一定の時間制約の結果として廃棄される。例えば、停電後にＰＶＲシステムが起動すると、直近に書き込まれたオーディオ／ビデオデータは、該データが一定の時間間隔内に適切に読み出されない可能性があるので、廃棄される可能性がある。多数のＰＶＲシステムは、それらの記憶媒体内の損傷したファイルシステムを修復するためのプロセスを組み込んでさえいない。これらのＰＶＲシステム上のソフトウェアは、通常は該記憶装置を不揮発性メモリとして扱い、一度書き込まれたデータが、ほぼ即時的な読出しにいつでも利用可能であると考える。このことの１つの理由は、ＰＶＲシステムがしばしば最小限のオペレーティングリソースを使用するように設計されていることである。前述の修復方法は、比較的少量のメモリを必要とし、比較的大量のリソースを消費する回復プログラムを利用する傾向があるファイルシステムとは独立に実施されうる。
【００２６】
さらに、ファイルシステムを修復するための以前の公知の方法は、ＰＶＲに適用されたとしても、いずれかの修復動作が一定の時間制約内に完了されない可能性が高いので、ファイルシステムはしばしば、そのようなオーディオ／ビデオデータの廃棄を回避できないであろう。それとは対照的に、本原理を利用すると、セクタをＰＶＲシステムによって課された一定時間間隔内に迅速に識別し、修復することができ、そうでなければ一定の時間制約のために廃棄されたであろう情報を保持することができる。前述のように、本原理の態様にかかる修復方法は、ファイルシステムとは独立に実装され、非常に少ないリソースのみを必要とするため、破損したセクタを迅速に訂正することが可能になる。
【００２７】
図５は、本原理の諸態様にかかるパーソナルビデオレコーダ５００の説明としての例を示すブロック図である。ＰＶＲ５００は、プロセッサ５１６および記憶媒体５２４を含むことができる。記憶媒体５２４は、ハードディスクドライブとすることができ、該記憶媒体５２４を利用して、セクタＩＤリスト２２０と、書込みデータコマンドに従って書き込まれるべきデータの両方を記憶することができる。しかし、前述のように、他の実装では、セクタＩＤリスト２２０を、書込みコマンドに従ってデータが書き込まれる記憶媒体とは完全に別個の記憶機構に記憶することもできる。中央処理装置５１６は、例えば、３００ＭＨｚ  ６４ビットＣＰＵを組み込んだデュアルチャネルＨＤビデオ／オーディオ／グラフィックスおよびパーソナルビデオレコーディングチップであるＢｒｏａｄｃｏｍ（登録商標）から市販されているＢＣＭ  ７０３８  Ｃ２チップを備えてよい。ＢＣＭ  ７０３８  Ｃ２は、パーソナルビデオレコーダで利用される一般的なプロセッサである。
【００２８】
本原理の一実装では、衛星技術回路を介して受信されたＭＰＥＧ−４圧縮フォーマットのオーディオ／ビデオデータパケットを、ストリーム５１２を経由してＣＰＵ５１６に伝送することができる。例えば、チューナ５０４は、適切な周波数にチューニングし、データパケットを受信することができる。さらに、復調器５０８は、チューナからの出力信号を同期的に復調し、ストリーム５１２を通じてオーディオ／ビデオデータパケットをＣＰＵ５１６に提供することができる。その後、オーディオ／ビデオデータは、デコーダ５２０を利用することによって圧縮解除（解凍）されるが、ここで該デコーダ５２０は、Ｂｒｏａｄｃｏｍ（登録商標）から同様に市販されているＢＣＭ  ７４１１  ＣＯデコーダを備えることができる。ＢＣＭ  ７４１１  ＣＯデコーダは、ＭＰＥＧ−４ビデオストリームと互換性がある。しかし、オーディオ／ビデオデータは、例えばＭＰＥＧ−２など、当技術分野で知られている任意のフォーマットのものとすることができ、例えば、ケーブルテレビ伝送を介するなど、他の手段によって受信することもできることを理解されたい。オーディオ／ビデオデータストリーム内のオーディオ／ビジュアルデータを受信すると、ＣＰＵ５１６は、適切なソフトウェアおよびハードウェアを介して、前述の方法のステップを実装するように構成される。
【００２９】
電力がＰＶＲから除去されるとき、進行中の書込みサイクルを完了するためには有限量の時間しか利用できないことも理解されたい。電力除去の間は、書き込まれた媒体データを含むセクタの破損を完全に回避するために、ＰＶＲは、そのシステム構成要素を適切にシャットダウンするべきである。しかし、記憶媒体５２４は、典型的に、コンピュータの使用のために最適化されているので、シャットダウンシーケンスを予測することができない。したがって、データは、シャットダウンシーケンスが課されているにもかかわらず、そのセクタに書き込まれ続けることになる。その結果として、あるポイントにおけるセクタは、通常の電源を切る動作のために必然的に部分的書込み状態のままにされることになる。例えば、停電およびプロセッサフリーズなどの書込み中断の他の一般的な原因によるもの加えて、通常のシャットダウンシーケンスの結果として生じるセクタ破損を、前述の本原理の諸態様にかかる方法を適用することにより訂正することができる。ＣＰＵ５１６は、電力の除去の後に起動すると、または任意の他のタイプの書込み中断の後に通常の処理動作が回復すると、記憶されているセクタＩＤリストを利用することによって前述の本原理の諸態様にかかる記憶媒体の修復方法を実行するように構成されうる。上記で論じたように、記憶機構内の破損したセクタを、ＰＶＲによって課された時間制約内に発見し、修復することができる。したがって、そうでなければＰＶＲで破棄されたであろうデータは、本原理の修復方法を実施するように適合されたプロセッサを利用することにより保持される。
【００３０】
説明された実装の特徴および態様を、様々な用途に適用することができる。用途には、例えば、パーソナルコンピュータおよびウェブサーバ、または、記憶装置上の損傷したファイルシステムの修復時間の低減が望ましい任意の他の用途が含まれる。しかし、本明細書で説明された特徴および態様を、他の応用分野に適合することもでき、したがって、他の応用も可能であり予想される。さらに、無線周波数衛星装置およびケーブル装置以外のプロトコルおよび通信媒体を使用することもできる。例えば、光ファイバケーブル、ユニバーサルシリアルバス（ＵＳＢ）ケーブル、スモールコンピュータシステムインターフェース（ＳＣＳＩ）ケーブル、電話回線、デジタル加入者回線／ループ（ＤＳＬ）回線、ラインオブサイト接続、およびセルラ接続を介して（および、それらに関連するプロトコルを使用して）、データを送受信することができる。
【００３１】
本明細書で説明された実装形態は、例えば、方法もしくはプロセス、装置、またはソフトウェアプログラムで実装されてもよい。単一の実装の形態のコンテキストにおいてのみ論じられている場合であっても（例えば、方法としてのみ論じられている場合であっても）、論じられた特徴の実装を、他の形態（例えば、装置またはプログラム）において実施することもできる。装置は、例えば、適切なハードウェア、ソフトウェア、およびファームウェアで実施されうる。方法は、例えば、コンピュータ、マイクロプロセッサ、集積回路、またはプログラマブルロジックデバイスを含め、一般に処理装置を表す、例えばプロセッサなどの装置で実施されうる。処理装置は、例えばコンピュータ、携帯電話、携帯情報端末（「ＰＤＡ」）、および、エンドユーザ間の情報の通信を容易にする他の装置などの通信装置も含む。
【００３２】
本明細書で説明された様々なプロセスおよび特徴の実装は、様々な異なる装置またはアプリケーション、特に、例えばデータストレージに関連する装置またはアプリケーションで具現化されうる。装置の例には、ビデオコーダ、ビデオデコーダ、ビデオコーデック、ウェブサーバ、セットトップボックス、ラップトップ、パーソナルコンピュータ、および他の記憶装置がある。明らかなように、装置は、可動性のものとすることができ、さらには移動車両（mobile vehicle）に設置することもできる。
【００３３】
さらに、方法を、プロセッサによって実行される命令によって実施することができ、そのような命令を、例えば、集積回路、ソフトウェアキャリア、または、例えばハードディスク、コンパクトディスケット、ランダムアクセスメモリ（「ＲＡＭ」）、または読み取り専用メモリ（「ＲＯＭ」）などの他の記憶装置など、プロセッサ読取可能媒体上に記録することができる。これらの命令は、プロセッサ読取可能媒体上で明白に具現化されるアプリケーションプログラムを形成することができる。明らかなように、プロセッサは、例えばプロセスを実行するための命令を有するプロセッサ読取可能媒体を含んでよい。
【００３４】
当業者には明らかなように、実装は、例えば記憶され、または伝送される情報を搬送するようにフォーマットされた信号を生成することもできる。情報は、例えば、方法を実行するための命令、または説明された実装のいずれか１つによって生成されたデータを含んでよい。そのような信号は例えば、（例えば、スペクトルの無線周波数部分を使用する）電磁波として、またはベースバンド信号としてフォーマットされてよい。フォーマットすることには、例えば、データストリームをエンコードすること、エンコードされたストリームをパケット化すること、およびパケット化されたストリームで搬送波を変調することが含まれうる。信号が担持する情報は、例えばアナログまたはデジタル情報とすることができる。信号は、知られているように、様々な異なる有線リンクまたは無線リンクを介して伝送される。
【００３５】
多くの実装を説明してきた。それにもかかわらず、様々な変更を行うこともできることは理解されるであろう。例えば、異なる実装の要素を結合、追加、変更、または除去して、他の実装を生成することができる。さらに、他の構造およびプロセスを、開示された構造およびプロセスの代わりに用いることもでき、その結果得られる実装は、少なくとも実質的に同じ機能を少なくとも実質的に同じ方法で実行して、開示された実装と少なくとも実質的に同じ結果を達成するであろうことが、当業者には理解されよう。したがって、これらのおよび他の実装が、添付の特許請求の範囲の範囲内にある。
【図１】
0005503539.tif 000002
【図２】
0005503539.tif 000003
【図３】
0005503539.tif 000004
【図４】
0005503539.tif 000005
【図５】
0005503539.tif 000006