(57)【要約】ファイルシステム及び特にリアルタイムのファイルシステムにおいて、データをディスクに完全に書き込むことはできないことがある。それにもかかわらず、ディスクに書き込まれたデータはしばしば、例えばＭＰＥＧストリームの場合には依然として有効である。メタデータを供給するファイルシステムにおいて、ファイルの不良部分にマーキングをすることは、アプリケーションがアプリケーション特有のエラー訂正又はエラー隠蔽を行うことを可能にする。フィルタドライバを使用することにより、このファイルシステムはこのエラー処理を用いて拡張することができ、これによりこの機能を全てのアプリケーションに対し利用可能にする。
2005516304.tif 000002
【特許請求の範囲】
【請求項１】
データを処理する方法であって、データがデータ記憶媒体に記録され、誤り記録データに関する物理情報が識別される方法において、ファイルシステムにおいてデータを処理するために、前記誤り記録データに関する論理情報がデータの記録中又は直後にファイルシステム層において識別及び登録されることを特徴とする方法。
【請求項２】
前記処理はデータをリアルタイムで処理するのに適合されていることを特徴とする請求項１に記載の方法。
【請求項３】
前記誤り記録データに関する識別された物理データは、データの記録中又は直後にファイルシステム層に登録されることを特徴とする請求項１又は２に記載の方法。
【請求項４】
既定される制限時間のために記録されなかった如何なるデータも誤り記録データと識別されることを特徴とする請求項１、２又は３に記載の方法。
【請求項５】
最新の記録データストリームに含まれる前記誤り記録データは、データの記録中又は直後にファイルシステム層において登録されることを特徴とする請求項１、２、３又は４に記載の方法。
【請求項６】
前記論理情報は、
ファイルの前記誤り記録データ、
最新の記録された前記データストリームの少なくとも一部、
ファイルの誤り記録データのソフトウェア識別子マーク、及び
特に論理アドレス空間及び／又は範囲を例えば論理アロケーション単位又はバイトに基づいて前記ファイルの不良又は誤り領域と識別するファイルにおける誤り記録データの位置、
からなるグループから選択される項目を１つ以上含むことを特徴とする請求項１乃至５の何れか一項に記載の方法。
【請求項７】
前記ファイルシステム層における前記論理情報は、特にアプリケーションプログラミングインタフェース又はドライバにより、アプリケーション層、ホストシステム層又は他の上位層と通信することを特徴とする請求項１乃至６の何れか一項に記載の方法。
【請求項８】
前記処理はデータ記憶媒体におけるデータの記録及び復元を有することを特徴とする請求項１乃至７の何れか一項に記載の方法。
【請求項９】
誤り記録データに関する論理情報は、前記データの復元中、前記誤り記録データを適切に取り出すために利用されることを特徴とする請求項１乃至８の何れか一項に記載の方法。
【請求項１０】
データの復元は、データの読み返し及びデータの背景的修復からなるグループから選択される項目を１つ以上含むことを特徴とする請求項１乃至９の何れか一項に記載の方法。
【請求項１１】
前記論理情報は前記誤り記録データを取り出すために利用され、前記情報は、誤り記録データの修復、誤り記録データの追加の送信、前記論理情報の記憶及び前記誤り記録データの後での修復、誤り記録データの特にＭＰＥＧデータとの置換からなるグループから選択される項目を１つ以上含むことを特徴とする請求項１乃至１０の何れか一項に記載の方法。
【請求項１２】
データ記憶媒体及びファイルシステムを有するデータ記憶システムにおいて、前記データの記録中又は直後にファイルシステム層において誤り記録データの論理情報を識別及び登録するためのフィルタドライバをさらに有することを特徴とするデータ記憶システム。
【請求項１３】
前記データ記憶システムはさらに、前記ファイルシステム層、特に管理層に含まれる登録手段を有することを特徴とする請求項１２に記載のデータ記憶システム。
【請求項１４】
アプリケーション層及び前記ファイルシステム層と前記アプリケーション層との間において誤り記録データを通信するための通信手段、特にアプリケーションプログラミングインタフェース又はデバイスドライバをさらに有する請求項１２又は１３に記載のデータ記憶システム。
【請求項１５】
ファイルシステム層及びフィルタドライバを有するファイルシステムであって、前記データの記録中又は直後に前記ファイルシステム層において誤り記録データに関する論理情報を識別及び登録するためのコンピュータ読み取り可能媒体上に記憶可能であるファイルシステム。
【請求項１６】
ソフトウェアのコード部分を有するコンピュータシステムにより読み取り可能である媒体に記憶可能であるコンピュータプログラムにおいて、前記コンピュータプログラムが前記コンピュータシステムにおいて実施される場合、前記コード部分が請求項１乃至１５の何れか一項に記載の方法を実施させるコンピュータプログラム。
【請求項１７】
請求項１２、１３又は１４に記載のデータ記憶システムを有する、オーディオビジュアル情報を復元する装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを処理する方法に関する。この方法においてデータはデータ記憶媒体において記録され、誤り記録データに関する物理情報が識別される。本発明はさらに、データ記憶媒体及びファイルシステムを有するデータ記憶システム、ファイルシステム、及びコンピュータプログラムにも関する。
【背景技術】
【０００２】
伝統的なデータ志向型のファイルシステムは、最大のデータ保全を目標としていて、適切に実施されるまで各命令の終了を遅らせる。このような手段はハードディスクドライバ又はファイルシステムにより行われる。一般的に、“幾らかのデータが失われる”ことは、“全てのデータが失われる”ことに等しい。この選択は、ディスクに用いられる両方のファイルシステム形式及びアプリケーションとファイルシステムとが通信するためのＡＰＩ(application programming interface)において見ることができる。この取り組みは動作システムの現代の需要、特にデータのストリーミングを扱うシステムを動作させるのにはあまり適していない。
【０００３】
特に、伝統的なデータ志向型のファイルシステムは、リアルタイムの要求が無く、最大のデータ保全を目標とする概説された取り組みが特に高い処理性能及び効率を要求するデータのストリーミングには適していない。特にデータはある時間制限内に処理されるべきである。ＭＰＥＧ符号化されたビデオのようなマルチメディアストリームを記録する、それに利用されるハードディスク又はディスクによる装置は、これらデータをディスクに書き込んだり、それらデータを読み返したりするためのリアルタイムファイルシステムを必要としている。以下の“ディスク”と言う用語において、全種類のディスクはデータ記憶媒体として使用可能である。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
リアルタイムファイルシステムは全てのデータを遅れずに書き込むことを試みているが、例えばディスクの問題により時々上手くいかないことがある。これらは、データの書き込みが遅すぎる、又は書き込まれていない幾らかのデータを廃棄するという２つの見解がある。最初の見解は通常、記録するためのバッファのオーバーフローが原因であり、これがかなりのデータの損失となる。第２の見解はデータの損失が低いまま維持される。特に、データを送信するための制限時間の規制及び適切なスケジューラを有するハードディスクと組み合わせて、この方式はデータの損失を少なくとも低く保つであろう。
【０００５】
データ、特にオーディオ／ビデオストリーム（Ａ／Ｖストリーム）をハードディスクドライブシステムに規制時間の下で書き込む方式は、既定の制限時間内にデータが記憶されるように適合される。その後、ハードディスクドライブシステムが書き込みエラーを検出する。さらに、時間を規制するために、データがディスクに完全に書き込まれない。これは、ディスクに記憶されるストリームにおけるデータが不明確であることを意味している。これは特に、ディスク上にあるものを不明確にするが、殆どの場合、古いデータである。これらの場合の全ては、このようなデータが“誤り”データと呼ばれる。
【０００６】
ハードディスクの物理的なエラーは、アロケーション及びリアロケーション(re-allocation)方式に関する従来技術から知られる不良管理方法に従って処理され、これは時々ハードディスク上の誤りセクタに対するスキップ及びスリップ方式と呼ばれる。すなわち、このような方式は、ディスク上の誤りブロック又は位置のような誤りデータの物理情報に関する手段を単に供給するだけであり、この手段はハードディスクドライブシステム自体に関連し、制限される。述べられた不良管理方法において、エラーがハードディスクドライブの不良セクタに書き込まれるように最初にスケジュール化したデータをハードディスクドライブの空間領域に書き込むことにより隠蔽又は訂正されてよい。これにより、不良セクタはスキップされ、上記不良セクタに書き込まれるように最初にスケジュール化したデータはハードディスク上の空間領域に書き込まれる。特に、データトランスポートヘッドは通常トラックスイッチングを行わなければならないか、又は物理ブロックアドレスの最初にスケジュール化したシーケンスから読み取ることが少なくともできないので、不良管理用の物理情報に関するこのような従来の方式は余計な時間がかかってしまう。
【０００７】
欧州特許公開公報EP0880136にデータ復元装置が開示されてあり、データを復元する際、復元手段はハードディスクドライブにおいて、既にレジスタに記憶されたエラー情報に基づいて記録媒体からデータを復元している。このような方法は、誤りデータがデータを復元している間にしか示されないので、誤りデータへのアクセスを防ぐ又は適時に示すことができない。これは性能の低下を引き起こし、データの復元中に余計な時間がかかってします。さらに、エラー情報は記録媒体からデータを復元する間しか生成されない。
【０００８】
欧州特許公開公報EP0953977において、記録ステップにおいてアロケーション領域に不備がある場合、記録データの大きさをアプリケーション層に通知する。上記大きさの情報はハードディスクドライブの物理情報だけに関する。
【０００９】
ハードディスクの不良ブロック又はセクタは、ハードディスクドライブの未記録エリアに記録している間に生じる。欧州特許公開公報EP0953977において、従来のファイル不良管理は、ハードディスクドライブ上の不良ブロックの再読み込み又は再書き込みを防ぐために、このハードディスクドライブの空間領域におけるブロックに不良ブロックの置換を示す情報を供給するのに利用される。このような方式は、ハードディスクドライブ層又は他のデータ記憶装置層のようなデータ処理システムの最下位層内の物理エラー管理情報に単に頼る。例えば、物理情報は不良ブロックをディスクドライブの空間領域におけるブロックと置換することを示すことに頼っている。
【００１０】
上記方式は、再生するためにデータが必要とされるときに読み取るまで、エラーの検出を待っていることに未だ頼っている。ハードディスクドライブシステムは、ハードディスクドライブの不良セクタに対するリアロケーション、再マッピング又はスキップ及びスリップ方法に頼る不良管理方式によりエラーを回復するように試みる。これは、ハードディスクドライブシステムのエラー回復システムがし尽くされる前に通常は数秒かかる。このような回復方式に対する時間規制は、データの読み取りに関し設けられる。次いで、データを回復するために失敗した労力による時間の損失が制限されるが、依然として時間が失われる。
【００１１】
他の問題は、データを書き込まないことにより、何らかの古いデータが新しいストリームの一部としてディスク上に保存されることである。このようにして、内部のハードディスクエラー訂正コード情報が有効となり、パケットの読み取り中のハードディスクによる訂正であるとみなされる。これが深刻な復号エラーとなる。
【００１２】
特に、欧州特許公開公報EP0953977が教えていることは、アプリケーション層に物理不良情報を通知することに頼っていることである。これにより、上記アプリケーションを不活性にした後又はコンピュータシステムをシャットダウンした後に何らかの方法でアプリケーション層及びデータ記憶システムの他の層に対する上記物理不良情報が失われる。アプリケーションの初期化中に読み取られ、可能であれば実行されるべきファイル内の上記情報を記憶することが可能である。しかしながら、これが時間の遅れを引き起こし、納得のいく又は好ましい解決法ではない。データシステムの最下位層における物理不良情報に頼るだけにより、正確且つ早期の不良管理が行われそうにはない。
【００１３】
ここで本発明の出る幕であり、本発明の目的は、データを処理する方法、データ記憶システム、ファイルシステム及びコンピュータプログラムを識別することである。このコンピュータプログラムは、誤りデータをさらに効果的に、特に適時及び正確に明確化することが可能であり、さらにコンピュータシステムをシャットダウンした後、又はコンピュータシステムにおけるアプリケーションの不活性後においても誤りデータの情報を一時的に利用可能にさせることである。
【００１４】
この方法に関して、本目的はデータを処理する方法により解決される。この方法において、データはデータ記憶媒体に記録され、誤り記録データの物理情報が識別される。本発明によれば、ファイルシステムにおいてデータを処理するために、これら誤り記録データ上の論理情報が識別され、データの記録中又は直後にファイルシステムにおいて登録される。
【課題を解決するための手段】
【００１５】
本発明は、データ記憶媒体及びファイルシステムを有するデータ記憶システムにも関する。ここで本発明によれば、前記システムは、データの記録中又は直後に前記ファイルシステムにおいて誤り記録データの論理情報を登録するためのフィルタドライバをさらに有する。
【００１６】
さらに、本発明はコンピュータ読み取り可能媒体に記憶可能なファイルシステムにも関する。ここで本発明によれば、誤り記録データを識別するフィルタドライバ及びデータの記録中又は直後に誤り記録データの論理情報を登録するファイルシステムが設けられる。
【００１７】
さらに、本発明は、コンピュータプログラムがコンピュータシステム上で実行されるときに行われるような方法を実施させるソフトウェアのコード部分を有するコンピュータシステムにより読み取り可能である媒体に記憶可能であるコンピュータプログラムに関する。
【００１８】
データ記憶媒体及びコンピュータ読み取り可能媒体は、データをそれら媒体に記憶するのに適した如何なる種類の媒体でもよい。特に、ディスクドライバに含まれる光学ディスク又はディスクドライブに含まれる磁気ディスクは、提案する方法及び装置に関し適している。このアプリケーションにおいて称されるディスクドライブ又はディスクは、全ての種類のディスク及びディスクドライブ、又はデータの記憶に適したディスク、特に光学ディスク及び磁気ディスクを有することを意味する。
【００１９】
本発明の主要な考えは、ファイルシステム層がファイルの不良部分の正確な情報を与えることが可能であり、不良情報を一時的に利用可能にすることが可能であり、上記情報を適時、すなわち不良検出の初期の段階、特にいいのはデータの読み取り前に登録することが可能であるシステム層であるために、ファイルシステム層内において不良管理方式を実施することである。
【００２０】
論理情報はデータのファイルに直接関係する如何なるデータの情報も有している。このような情報は、ファイルの最小のアロケーション可能単位、論理アロケーション単位で与えられる。ファイルシステムにおけるファイルの論理アロケーション単位が使用される若しくはオフセットとなるか、又はファイルのバイト情報、若しくは不良であるファイルの一部をマークすることが可能である如何なる他の論理情報かである。このような論理情報はファイル内部のスポットをマーキングすることが可能であり、これはソフトウェアマーカの如何なる種類のものでよい。さらに上記情報を登録することは、上記情報を今後のアプリケーションに対し利用可能となり続けることを許容する。この情報は持続的に記憶されてよく、少なくとも一時的に利用可能である、すなわちアプリケーションを実行している間及びアプリケーションが不活性となった後でも利用可能である。特に、この情報はコンピュータシステムをシャットダウンした後でさえも永久に利用可能である。
【００２１】
情報は通知されるだけでなく、登録もされる。このような情報は、アプリケーション又はコンピュータシステムの再起動が行われる場合、シャットダウンする前と同じ問題に直面しないとを確信するファイルシステム層においても登録される。登録したために、情報を取り出す又は不良データを復元するための情報は、今後のアプリケーションに対しても利用可能であり続ける。さらに、論理情報に関しては、不良であるファイルの部分を正確にマーキングすることを可能にする。ファイルに対する書き込み動作を行っている間は、書き込みの実施は、ディスクに不良と書き込まれないファイルの部分をマーキングすることである。
【００２２】
様々な利点が達成される。提案される方式は、大部分のデータがデータの損失が殆ど無しにディスク上に置かれ、これらデータの失敗した部分のファイルにおける位置が分かっていることを保証する。これは、再生中にその場で(on the fly)又はファイルを修復する背景処理としてアプリケーション特有のエラー訂正又はエラー隠蔽を利用することが可能である。提案する方法はデータの損失を低く保っている。特に、アプリケーション特有のエラー処理のために、知覚的データの損失さえも低くなる。例えばオーディオ／ビデオ情報の読み出し又は再生時のエラー訂正のための如何なる追加の処理が殆ど必要とされない。ファイルが修復された場合、再生中に如何なる他の処理も必要ない。これにより、再生時の時間損失が低いまま保たれる。
【００２３】
本発明の他の継続的に開発される構成は従属する請求項に略述されている。
【００２４】
提案した方法に関し、データを有利に処理することは、データのリアルタイム処理に適応される。この場合、提案したようなデータ記憶システム又はファイルシステムはリアルタイムのファイルシステムを有するのに適応する。記録中にリアルタイムのファイルシステムが全てのデータをディスクに遅れずに書き込むことができない場合、例えばＭＰＥＧデータが慣例的に失われ、これら失ったデータを再び取り出す補助はない。提案する方法によれば、リアルタイムのファイルシステムは失われたデータのファイル位置を登録することが可能である。このような論理情報がリアルタイムのファイルシステムの層に登録される。この提案する方式は、如何なるアプリケーションにも応用可能であり、さらに識別のＭＰＥＧの知識を持たないアプリケーションにも応用可能である。
【００２５】
誤り記録データの他の追加の物理情報は、データの記録中又は直後に識別され、ファイルシステムに登録されてもよい。これは処理効率を高める。
【００２６】
既定の時間規制により記録されない如何なるデータも誤り記録データとして識別される。これにより、古いデータは無くなり、これは依然として適切となり、必要であれば取り出せる。これは、データの取り出し及び再生を改善することを可能にする。有利には、最新の記録データストリームに含まれる誤りデータが記録される。
【００２７】
論理情報はファイルに関する仮想的なもの（バーチャル）として、特にファイル自身の誤り記録データ、最新の記録されたデータストリームの少なくとも一部、ファイルの誤り記録データのソフトウェア識別子マーカ、特にアドレス空間及び／又は範囲を識別するファイルにおける誤り記録データの位置の中の１つ以上に関して割り当てられる如何なるデータも含む。このような情報は、ファイルの不良又は誤り領域を規定する論理アロケーション単位、バイト又はオフセットに関して与えられる。
【００２８】
ファイルシステム層における論理情報は、如何なる通信手段によってアプリケーション層、ホストシステム又は他の上位層へ通信される。特に、ＡＰＩ(application programming interface)が利用される。さらに、デバイスドライバも使用される。
【００２９】
データ処理は有利にはデータ記憶媒体においてデータを記録及び復元することを含む。特に、誤り記録データの論理情報が従来の方法でデータの復元中に誤り記録データに対応するデータを取り出すように利用される。これはアプリケーションに適応する如何なるやり方で実行されてよい。特に、アプリケーション用のＡＰＩは、ファイルの不良である部分を取り出すことが可能である。ファイルはこれら不良部分を考慮するＡＰＩを介してのみ、好ましくは如何なる取り出されない不良部分に関して通知することにより読み取られる。この誤りデータは適切に隠蔽、適合又は訂正され、取り出される対応するデータを構成する。
【００３０】
原則として、復元は以下にあるような、データの読み返し及び更にデータの背景修復の中から少なくとも１つ以上を含んでいる。論理情報は、適切なやり方で前記誤り記録データに対応するデータを取り出すように有利に利用される。これは、以下ような誤り記録データの修復、誤り記録データ又は対応するデータの追加の送信、論理情報の記憶及び誤り記録データの後での修復(later-on-repair)、誤り記録データの置換の中から１つ以上を含む。
【００３１】
特に、リアルタイムのアプリケーションに対し、上記データはＭＰＥＧデータである。好ましい構成において、前記アプリケーションは、ＭＰＥＧストリームにより構成される転送パケットにおける転送エラー指標ビットが設けられるＭＰＥＧパケットを用いて、後にファイルの誤り位置を再書き込みする。これは、有効なＭＰＥＧストリームを用いて完璧に書かれたファイルを作り出し、これが再生用に直接用いられる。
【００３２】
さらに、再生中にリアルタイムのファイルシステムは、データが不完全又はおそらくは不良であると通知する場合、アプリケーションは再生品質を向上させるために、影響を受けたＭＰＥＧパケット内にエラービットを設ける。このような手段は上述した従来技術から知られる問題のような復号問題を回避するのに特に有用である。
【００３３】
提案されるデータ記憶システム又はファイルシステムに関し、このデータ記憶システムの構成はさらに、データの記録中又は直後に誤り記録データの論理情報を識別及び登録するためのフィルタドライバを有する。有利なことに、さらにこのファイルシステムは、ファイルシステム層に含まれる登録手段を有する。これは有利には管理層又はフィルタドライバでもよい。さらに、登録手段がファイルシステム層の頂部にあることも可能であり、これによりファイルシステムの機能が拡張する。
【００３４】
ファイルシステム層とアプリケーションとの間において誤り記録データ又はこのデータの情報を通信するために、データ記憶システムの改良される構成はさらに、アプリケーション層及び通信手段を有する。有利には、アプリケーションプログラミングインタフェースは、通信手段として使用される。さらに他の可能性として、アプリケーションとファイルシステム層との間に置かれるデバイスドライバは通信手段として使用されてよい。デバイスドライバは通常動作システムとハードウェアユニットとの間に置かれ、この可能性のために、ファイルシステム層とアプリケーションとの間に置かれることを意味している。さらに、追加のＡＰＩはフィルタドライバにより利用可能となる。上記可能であるフィルタドライバ又はデバイスドライバはドライバと呼ばれる。
【００３５】
提案する方式のシステムに関し、フィルタドライバは特定のエラー処理のアプリケーションに対しても有利に使用される。フィルタドライバは、現代の動作システムにおいて、ファイルシステムの機能を拡張する他の層として、ファイルシステムの頂部に置かれる。このようなアプリケーション特有のフィルタドライバを追加することにより、全てのアプリケーションは実行中(on the fly)にエラー隠蔽及びエラー訂正から利益を得る。そうでなければ、各アプリケーションは、自分自身のエラー処理を行う必要がある。論理情報データは、提案される実施例、例えばアプリケーションソフトウェアにおける上位層に利用可能である。従来技術において、物理情報は実施例のデバイス層に残されるべきである。提案される方式において、論理情報データの上位層への利用可能性は、データストリームが開始する前にエラー情報を利用可能にすることができる。これら上位層は上位層自身が誤りパケットを処理する方法を求めている。従来のシステムにおいて、書き込みエラーは、書き込み命令が与えられ、アプリケーションの観点から終了した後の長い時間にのみ上位層に送られる。この理由は、書き込み命令において、データがキャッシュに入れられ、その後書き込まれるからである。しかしながら、ハードディスクドライブへの即座の書き込みは、有利には利用可能にすべき提案する方式で要求され、ファイルシステム層に識別及び登録される。このような利用可能性はキャッシュをフラッシング(flushing)することにより実施される。これにより、エラーメッセージが無理やり出される。
【００３６】
本発明の好ましい実施例は添付する図を参照して説明される。これら実施例は好ましい実施例の詳細な記述を繋ぎ合わせて発明の概念を明瞭にするための例を示すことを意味する。
【発明を実施するための最良の形態】
【００３７】
図１は提案する好ましい種類のファイルシステム２を使用して、ＩＤＥドライバ３を介してハードディスク４にアクセスするアプリケーション１を備える実行可能な層状（レイヤ状）のアーキテクチャを示す。データシステムは物理アドレス空間に依拠する下位層部分５を有する。さらに上位層部分６は論理アドレス空間に依拠する。通常はファイルシステムにおいて行われる物理アドレスから論理アドレスへの変換７は、ライン８にまたがって設けられるべきである。
【００３８】
書き込み中にエラーメッセージを処理し、書き込み中にエラー及び／又はエラー回復情報を記憶するために、特に２つの実施例が提案される。
１．ファイルシステムの層又はそれより上の層においてエラーをメタデータに登録することにより記憶中に前記エラーを記録する。
【００３９】
再生時に、データが取り出され、対応するメタデータがチェックされる。このメタデータが誤りデータを示す場合、この部分はディスクから取り出されない。この場合又はディスクのアクセスがエラーとなる場合、２つのオプションが提案される。
ａ）トランスポートストリーム(TS: transport stream)パケットのヘッダ部に転送エラー指標（ＴＥｉ）ビットを設けることにより前記ストリームを“修復”する。これは、ＴＥｉビットを設けるだけ又は全てのパケットヘッダを初期化してＴＥｉビットを設けることにより行われ得る。第１の場合、このＴＥｉビットはパケットの読み取り時に（補間器／デコーダにより）直接チェックされなければならない。第２の場合、ヘッダが適正な形式であるため、これは必要無い。
ｂ）（例えば追加の内部リンクにより又はシステムが少なくとも２つの装置を有する場合はファイヤワイヤ(firewire)又はＵＳＢにより）前記ストリームの外側に余分なパラメタを送る。
２．ホストによる申し出に応じてＨＤＤシステムにおける全てのデータを記録／記憶し、メモリ内の誤り位置を管理し続ける。空き時間(idle time)に、ディスク上の不良部分を例えば補間により又はＴＳパケット転送エラービットを設けることにより修復する。
【００４０】
図２は、ファイルを備えるファイルシステム２が論理アドレス空間６からライン８を越えてハードディスクの物理アドレス空間５へマッピング及び変換される方法を示す。実施例はセクタ＃４において、その第１の論理アロケーション単位が始まり、４つの物理セクタの大きさである論理アロケーション単位を持つファイルシステム２を示す。これは第１の論理アロケーション単位の開始位置と同じく任意の番号でも勿論よい。この実施例において、物理セクタは５１２バイトの大きさであると仮定される。これは勿論任意の番号でもよいし、実際にはこれは特定のハードディスクに依存している。あるハードディスクセクタが例えば５１２バイトを含んでいて、そうするとアロケーション単位の大きさは２０４８バイトである。この実施例において、ファイルは論理アロケーション単位＃２４９、すなわちセクタ＃９９９で始まる。セクタ＃１００５が不良である場合、これはバイト＃３０７２からバイト＃３５８４が不良であるとマークされなければならないことを意味している。この実施例において、ファイルは＃２４９番目のアロケーション単位からアロケーション単位＃２５２まで記憶されている。これは、ファイルがファイルシステムアロケーション空間から４つの論理アロケーション単位を消費することを意味する。この実施例において、物理セクタ＃１００５は不良であり、このセクタは論理アロケーション単位＃２５０に割り当てられた３番目のセクタである。
【００４１】
ファイルはアプリケーションによりそれの最初のバイトからそれの最後のバイトまでアドレッシングされる。このアプリケーションは論理アロケーション単位又は物理セクタの知識は持っていない。このファイルは４つのアロケーション単位の大きさであるため、このファイルのバイトはバイト＃０からバイト＃８１９１にアドレッシングされている。セクタ＃１００５は、このファイルにおいて７番目のセクタであり、それ故に、バイト＃３０７２はバイト＃３５８４まで誤りデータを含むかもしれない最初のバイトである。これらバイトは、何らかのやり方で、記憶されるファイルシステム管理データにおける不良をマークする。さらに、これらのバイトはアプリケーション層における不良もマークする。
【００４２】
前記アプリケーションがファイルからの読み取りを試みる場合、ファイルシステムはこれらバイトが読み取られずに、エラー位置及び範囲がアプリケーションに伝達されると確信する。この情報を追加のＡＰＩ機能を介してアプリケーションへ予め供給することも可能である。
【００４３】
例えばこの情報は、ファイルシステム管理データの何処かに記憶される。このデータを要求するアプリケーションは、従来技術によりセクタ＃１００５が不良であると通知される代わりに、バイト＃３０７２からバイト＃３５８４が提案する方法より誤りデータをおそらくは含んでいると通知される。有利なことに、これはアプリケーションがＡＰＩを介してデータも要求する前、例えばファイルシステムがこのとき同じ情報を戻す機能“get_file_errors”を供給する前に行われる。
【００４４】
図３は、ファイルシステム２の代わりに実施されるようなリアルタイムのファイルシステム２ａを示すさらに高度なアーキテクチャを示す。このファイルシステム２ａは２つのＡＰＩ１０及び１１を持つ。第１のＡＰＩ１０は、開く(open)、閉じる(close)、読み出す(read)、書き込む(write)、探す(seek)等のような通常のファイルアクセス機能を供給するベストエフォート型のＰＣのようなファイルアクセス用である。そして、第２のＡＰＩ１１はstart_stream、stop_stream、pause_stream等のようなリアルタイムのストリームとしてファイルにアクセスする機能を備えるリアルタイムのストリームとしてファイルを処理するためである。リアルタイムファイルシステム２ａ内のファイルシステムがリクエストを作り、これらリクエストをハードディスクに直接ではなく、ハードディスクリクエストスケジューラ９に送出する。このスケジューラ９はリクエストの型式（ベストエフォート型又はリアルタイム型）を決めて、リアルタイムのリクエストが常にこのリクエストの期限日内に果たされるようなリクエストを命じる。リアルタイムのリクエストは大体高い優先順位となっている。スケジューラ９は多くの先進的なオーダリング(ordering)技術を持っている。
【００４５】
図３は、提案する方式の基本的な考えがハードディスク４上にリアルタイムのファイルを記憶するという概念に依存しないことを示す。これまでに記憶された如何なるファイルもリアルタイムのファイルとして扱うことが可能である。非リアルタイムＡＰＩ１０は読み出す又は書き込むためにファイルを開くのに使用される。加えて、リアルタイムのインタフェース機能１１、９は、開いたファイルをストリームに接続するのに使用される。そこで、書き込むためにファイルを開き、アプリケーション１によりstart_streamが呼び出される場合、ファイルシステム又は付加的若しくは代替的なアプリケーションは、アンダーフローからバッファを守るためにリアルタイムでデータを供給しなければならない。読み出すためにファイルが開かれる場合、アプリケーション１はオーバーフローからバッファを守るために、バッファを読み出し続けなければならない。好ましくは、これらはファイルシステムに対しては義務であり、アプリケーションに対しては義務ではない。好ましい実施例において、書き込むためにファイルを開く場合、アプリケーションはバッファのストリーミング装置により発生するようなデータを供給する一方、ファイルシステムはオーバーフローからバッファを守るために、データをリアルタイムでディスクに記憶しなければならない。読み取るためにファイルを開く場合、ファイルシステムはオーバーフローからバッファを守るために、ディスクからバッファへデータを読み出し続けなければならない。制限時間の規制に関し、ホストは特定の命令のための制限時間をハードディスクに供給する。このハードディスクは次いで所与の制限時間内にできるだけ多くのデータを記憶又は取り出すように試みなければならない。図３の好ましい実施例において、ＨＤＤスケジューラ９はＨＤＤ命令のための制限時間を通常は計算している。
【００４６】
特に、ＭＰＥＧデータを取り出している間、リアルタイムのシステムにより起こるエラーを隠蔽(concealment)する場合、リアルタイムのファイルシステムは、全てのデータを取り出すのに十分な時間が無い場合に不完全又は不正確なデータとして戻すことができる。ＭＰＥＧトランスポートストリームにおいて、転送中に訂正不可能なエラーを示すように設定されるＴＥｉ(transport_error_indicator)ビットが各パケットに定義される。デコーダはこの情報を使用し、再生品質を向上させる。transport_packetの例は以下に示される。
【表１】
2005516304.tif 000003
トランスポートストリームパケット層における領域の意味定義は以下のようである。
【００４７】
sync_byteは、その値が’0100 0111’(0x47)である固定８ビット領域である。例えばＰＩＤのような他の規則的に起こる領域のための値を選択する際のSync_byteのエミュレーション(emulation)は避けるべきである。
【００４８】
ＴＥｉ(transport_error_indicator)は１ビットのフラグである。’1’に設定される場合、これは少なくとも１つの訂正不可能なビットのエラーが関連するトランスポートストリームパケットに存在することを示している。このビットは、トランスポート層の外にあるエンティティにより’1’に設定される。’1’に設定される場合、このビットは誤っているビット値が訂正されるまで’0’にリセットされない。
【００４９】
Payload_unit_Start_indicatorは１ビットのフラグであり、これは特定のパケット又はデータを坦持するトランスポートストリームパケット用の規範的な意味を持つ。
【００５０】
トランスポートストリームパケットのペイロード(payload)が特定の種類のパケットデータを含む場合、payload_unit_start_indicatorは、以下の意義を有する。’1’はトランスポートストリームパケットのペイロードがこのパケットの最初のバイトで始まることを示し、’0’はこのトランスポートストリームにおいてパケットが始まらないことを示している。このpayload_unit_start_indicatorが’1’に設定される場合、特定の種類の１つの又は唯一のパケットがこのトランスポートストリームパケットで始まる。これは、特定のstream_typeのストリームを供給するのにも利用される。
【００５１】
このトランスポートストリームパケットのペイロードが特定の種類のデータを含む場合、payload_unit_start_indicatorは以下の意義を持つ。トランスポートストリームパケットが特定のデータ部分の最初のバイトを坦持する場合、payload_unit_start_indicator値は、’1’となり、これはトランスポートストリームパケットのペイロードの最初のバイトがponter_fieldを坦持することを示している。トランスポートストリームパケットが特定のデータ部分の最初のバイトを坦持していない場合、payload_unit_start_indicator値は’0’となり、これはペイロードにponter_fieldが存在しないことを示している。これは他の特定のstream_typeのストリームを供給するのにも利用される。
【００５２】
空パケット(null packet)に対し、payload_unit_start_indicatorは’0’に設定される。
【００５３】
本発明は以下のように要約される。
ファイルシステム及び特にリアルタイムのファイルシステムにおいて、データをディスクに完全に書き込むことはできないことがある。それにもかかわらず、ディスクに書き込まれたデータはしばしば、例えばＭＰＥＧストリームの場合には依然として有効である。メタデータを供給するファイルシステムにおいて、ファイルの不良部分にマーキングをすることは、アプリケーションがアプリケーション特有のエラー訂正又はエラー隠蔽を行うことを可能にする。フィルタドライバを使用することにより、このファイルシステムはこのエラー処理を用いて拡張されることができ、これによりこの機能を全てのアプリケーションに対し利用可能にする。
【００５４】
本発明の好ましい実施例とみなされるものを示し、説明しているが、勿論、形状又は細部における様々な変形及び変化が本発明の意図から外れること無く容易に行われると理解されたい。これにより、本発明は、ここに示され、記載された正確な形状又は細部に限定されないし、請求項に記載される本発明の全てとは言えない如何なるものにも限定されないことを意図する。
【図面の簡単な説明】
【００５５】
【図１】物理アドレス空間に関する上位層部分と、論理アドレス空間に関する下位層部分とを有するデータシステム方式。
【図２】物理アドレス空間を論理アドレス空間のユニットに変換した実施例。
【図３】リアルタイムのアプリケーションに適合される図１に説明されるようなシステム。
【図１】
2005516304.tif 000004
【図２】
2005516304.tif 000005
【図３】
2005516304.tif 000006
【国際調査報告】
2005516304.tif 000007
2005516304.tif 000008