JP2010537309A - ハードディスクドライブ・ファイルシステムのデータ破損を防止する方法及びシステム - Google Patents

ハードディスクドライブ・ファイルシステムのデータ破損を防止する方法及びシステム Download PDF

Info

Publication number
JP2010537309A
JP2010537309A JP2010521837A JP2010521837A JP2010537309A JP 2010537309 A JP2010537309 A JP 2010537309A JP 2010521837 A JP2010521837 A JP 2010521837A JP 2010521837 A JP2010521837 A JP 2010521837A JP 2010537309 A JP2010537309 A JP 2010537309A
Authority
JP
Japan
Prior art keywords
data
writing
critical data
cache
storage medium
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2010521837A
Other languages
English (en)
Other versions
JP2010537309A5 (ja
Inventor
コースター,ウィリアム・チャールズ
ダイソン,ジョン・スペンサー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of JP2010537309A publication Critical patent/JP2010537309A/ja
Publication of JP2010537309A5 publication Critical patent/JP2010537309A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本原理は、ジャーナリングファイルシステムをキャッシュシステムと統合することによって記憶装置上でのデータ破損を防止する方法及び装置を提供する。ファイルシステムのインテグリティに影響を及ぼしやすいデータに関してジャーナルの正確性を確保するため、本原理の一態様に従った方法は、そのようなデータを記憶装置のメインプラッタに書き込むときにキャッシュを迂回すること(412)を含む。また、データの読み出し及び書き込みにおける全体的な効率性を確保するため、本原理の一態様に従った方法は、ファイルシステムのインテグリティへの悪影響が比較的小さいデータを、プラッタに書き込むこと(428)に加えてキャッシュに書き込むこと(420)を含む。故に、本原理の態様は、キャッシュシステムをジャーナリングファイルシステムと有利に統合し、ファイルシステムの堅牢なインテグリティと効率的な読み出し及び書き込み機構との双方を提供する。

Description

本原理は、概して記憶装置上でのデータ書き込みに関し、より具体的には記憶装置ファイルシステムのデータ破損を防止する方法及びシステムに関する。
データ記憶に関する一般的な問題は、記憶媒体上のファイルシステムの部分のデータ破損である。データ破損はしばしば、記憶装置上でのデータ書き込み処理の中断の結果であり、このような中断は例えば電源断の結果として起こり得る。データ破損を回避する1つの手法は、例えばハードディスクドライブ等の記憶媒体への変更が行われるのに先立って、その変更の記録を取り得るジャーナリング(journaling)ファイルシステムを採用することを含む。故に、電源断が生じても、ジャーナリング(記録付け)された変更が“再生”され、すなわち実行され、実際のデータ構造をジャーナリングされた変更に一致させ得る。ジャーナリングされた動作が電源断のために不完全であり、且つそれを始めることが記憶媒体上のデータ構造を破損させるであろう場合、その動作は単に再生されない。従って、ジャーナリングファイルシステムは、電源断に際して生じ得る不完全な書き込みを補正することによって、記憶媒体上でのデータ破損を防止し得る。
データの記憶及び読み出しに関する他の1つの関心事は効率を含む。例えば、記憶装置に対してデータの書き込み及び読み出しを行うとき、可能な限り少ない量のリソースを用いることが望ましいことがしばしばである。これらの関心事を解決するため、典型的に、記憶媒体の比較的小さい部分を有するキャッシュシステムが用いられる。このようなキャッシュサイズにより、キャッシュからのデータの読み出しは、しばしば、記憶媒体のメインプラッタ(platter)からのデータの読み出しより遙かに高速である。多くのキャッシュシステムにおいて、データは、記憶媒体のメインプラッタにデータを書き込むことに先立って、キャッシュに書き込まれる。また、プラッタへのデータの書き込みは、書き込みを実行する元々のコマンドの順序とは異なる順序で行われることがある。キャッシュシステムは一般的に、書き込み処理中の記憶媒体の走査を最小化するようにプラッタにデータを書き込む。キャッシュシステムにおけるプラッタへの書き込み順序は、書き込みコマンドが発せられた順序よりむしろ、記憶媒体上での書き込み位置に依存する傾向にある。
故に、キャッシュシステムの性質により、ジャーナリングファイルシステムはしばしば、キャッシュシステムの動作を停止させることを必要とする。データ構造の破損を回避し、電源断の後にデータ構造を適切に復元するため、ジャーナリングファイルシステムは、元々の書き込みコマンドと一致する順序で記憶媒体のプラッタにデータを書き込むことに頼っている。従って、データ破損を回避するためのジャーナリングの観点と、データの効率的な読み出し及び書き込みを実現するためのキャッシュの特徴とを併せ持つファイルシステムが望まれる。
本原理は、ジャーナリングファイルシステムをキャッシュシステムと統合するための方法及びシステムを提供しようとするものである。
本原理の一態様に従って、ジャーナリングファイルシステムは、ジャーナリングの側面とキャッシュ機能との双方を利用する。ジャーナリングファイルシステムは、書き込まれるデータの種類に応じて、キャッシュを用いるべきかを動的に決定し得る。例えば、ファイルシステムは、“クリティカル”書き込みと“非クリティカル”書き込みとを区別し得る。クリティカル書き込みに関連するデータの破損は、非クリティカル書き込みに関連するデータの破損より、比較的大きい損傷をファイルシステムに与える傾向にある。本原理の一態様は、クリティカル書き込みの場合にキャッシュを迂回することでファイルシステムのインテグリティを確保することによって、キャッシュ機能を含むようにジャーナリングファイルシステムを最適化することを含む。斯くして、本原理の態様は、ジャーナリング機能及びキャッシュ機能の双方の利益を、典型的にそれらの相互作用に伴う悪影響を最小限にしながら提供し得る。
本原理の一実施形態は、ジャーナリングファイルシステムとキャッシュシステムとの双方を用いて、記憶装置上でのファイルシステムの破損を防止するように記憶装置にデータを書き込む方法を含む。当該方法は:データ書き込みをジャーナリングすること;該データがクリティカルであるかを決定すること;該データがクリティカルであるとの決定を受けて、クリティカルデータを記憶装置のプラッタに書き込むためのコマンドを生成すること;及び該クリティカルデータを記憶装置のプラッタに書き込むことを有する。このとき、クリティカルデータのプラッタへの書き込みは、該クリティカルデータに関してジャーナリングされる記憶装置の状態が正確であることを保証するよう、キャッシュへの書き込みを迂回する。
本原理の他の一実施形態は、記憶装置上でのファイルシステムの破損を防止するように記憶装置にデータを書き込むシステムを含む。当該システムは:記憶装置のメインプラッタ;キャッシュ;記憶装置への変更のログを含むジャーナル;ジャーナル及びメインプラッタにデータを書き込むためのコマンドを生成するように構成されたファイルシステムであって、コマンドは、データがクリティカルデータであるとの決定を受けて生成されるクリティカルデータ書き込みコマンドを含む、ファイルシステム;及びクリティカルデータ書き込みコマンドに従ってクリティカルデータを記憶装置のメインプラッタに書き込むように構成された記憶装置制御モジュールであり、クリティカルデータのプラッタへの書き込みは、クリティカルデータに関してジャーナリングされる記憶装置の状態が正確であることを保証するよう、キャッシュへの書き込みを迂回する、記憶装置制御モジュールを有する。
1つ以上の実施形態の詳細が添付の図面及び以下の記載にて説明される。例え1つの特定の手法で記載されたとしても、実施形態は様々に構成あるいは適応され得ることは明らかである。例えば、一実施形態は、方法として実行されてもよいし、一組の処理を実行するように構成された装置、又は一組の処理を実行するための命令を格納した装置として具現化されてもよい。他の態様及び特徴が、以下の詳細な説明を図面及び特許請求の範囲とともに検討することによって明らかになるであろう。
本発明は、例えばPVRにおいて等、圧縮デジタルビデオコンテンツの正確且つ適時の記録を必要とするビデオ記録環境にて有利に使用され得る。
本原理による教示は、以下の詳細な説明を添付の図面とともに検討することによって容易に理解される。
本原理の態様に従ったビデオ録画再生装置(PVR)の典型的な一実施形態を示すブロック図である。 本原理の態様に従った、ファイルシステムの破損を防止するように記憶装置にデータを書き込むシステムの典型的な一実施形態を示すブロック図である。 本原理の態様に従った、記憶装置上でのデータ破損を防止する際に用いられるファイルシステム処理の典型的な一実施形態を示すフロー図である。 本原理の態様に従った、データ書き込み方法において用いられる典型的な記憶装置コマンド処理ルーティンを示すフロー図である。 本原理の態様に従った、破損セクタを修復するためにジャーナリングファイルシステムを利用する方法の典型的な一実施形態を示すフロー図である。 理解されるように、図面は本原理の概念を説明するためのものであり、必ずしも本原理を示す唯一の取り得る構成というわけではない。理解を容易にするため、複数の図に共通する同一の要素を指し示すために、可能な限り同一の参照符号を用いる。
本原理は、記憶媒体にデータを書き込むためのシステム及び方法を提供する。上述のように、記憶媒体へのデータ書き込みに関する一般的な問題はデータ構造の破損である。データ破損の1つの深刻な形態には、記憶媒体上のセクタへのデータ書き込み処理の中断時に発生する書き継ぎ(write-splice)が含まれる。中断は、電源の故障、プロセッサのフリーズ、又は書き込み処理の完了を阻止するその他の事象の結果として生じ得る。書き継ぎは、セクタの先頭に新たなデータが書き込まれ且つ該セクタの末尾に古いチェックサム(セクタ内にエラーがないことを確認するために用いられるセクタ内の全てのビットの和)を有する古いデータが残存しているセクタによって特徴付けられ得る。書き継ぎエラーは検出されることもあるし検出されないこともあり、例え検出されたとしても、書き継ぎを補正するために記憶媒体の再フォーマットを必要とすることで、全ての記録データの喪失をもたらし得る。ハードディスクドライブシステムにおいて、書き継ぎエラーは、しばしばエラーコードを返すこともできないマウント故障又はファイルシステム容量のハンギングを引き起こし得る。従って、書き継ぎエラーは一般に全ての記録データの喪失をもたらすので、それを回避するために幾つかの手法が開発されてきた。
書き継ぎを解決するための手法には、同期書き込み法、書き込み順序を変更するもの、及び様々な形態のジャーナリングが含まれる。上述のように、ジャーナリングは、記憶媒体プラッタへの変更が行われる前に、それら変更の記録を取ることを伴い得る。変更のジャーナルは、データを書き込むのと同一の記憶媒体に含められることもあるし、全く異なる記憶媒体に含められることもある。多くのジャーナリングファイルシステムにおいて、ジャーナルは、データが最終的に書き込まれるのと同一の記憶媒体上のリングバッファに格納される。電源の故障又はプロセッサのフリーズ等の結果として書き込み処理が中断すると、システムの復元を実行するために、変更のジャーナルが参照され得る。例えば、中断されたプラッタへの書き込みを完了することによって書き継ぎを補正するために、ジャーナルが再生され得る。また、ジャーナル自体への書き込みが中断され、不完全である場合、ジャーナリングされた変更は再生されず、メインプラッタのデータ構造のインテグリティは同様に損傷されない。
書き込み処理の中断の後にファイルシステムの復元を可能にするため、変更のジャーナルは記憶媒体上のファイルシステムの状態を正確に反映すべきである。具体的には、ジャーナルはメインプラッタに書き込みが実行された順序、及び/又は書き込みが行われた時間を正確に含むべきである。復元はジャーナル内に記録された変更を再生することを必要とするので、ジャーナリングファイルシステムは記憶装置の記録状態が正確であることに依存し、変更を再生することに先立って、ジャーナリングファイルシステムは特定の書き込みが実行されたこと又は実行されなかったことをジャーナルに基づいて推定する。故に、ジャーナルに記録された書き込みの順序及び/又は書き込みの実行が完了した時間が不正確な場合、ジャーナリングされた変更の再生は、書き継ぎエラーに関する問題と同様の問題を招くデータ破損をもたらし得る。
従って、上述のように、多くのジャーナリングファイルシステムはキャッシュシステムの無効化を必要とする。キャッシュシステムはしばしば、上述のように、書き込み処理を実行するときに記憶媒体上の領域同士の間の距離が大きくなることを回避するために、書き込みコマンドの順序に一致しないように書き込み処理の順序を変更する。故に、書き込み処理はしばしば、マウント又はその他の書き込み手段が効率的に記憶媒体を走査するように、データを書き込むセクタの位置に従って順序付けられる。また、現行のハードディスクドライブ・ファームウェアにおいては、例えハードディスクプラッタへのデータの書き込みが完了していなくても、ハードディスクキャッシュにデータを書き込むと、書き込み処理の完了状態が返される。キャッシュシステムのこれらの特徴は、ジャーナリングファイルシステムの正確なジャーナルへの依存性のため、書き込み処理の中断から復元するジャーナリングファイルシステムの能力を妨害し得る。
本原理の態様は、ジャーナリング機能によって可能にされるシステム復元能力に加えて読み出し及び書き込みの効率性を提供するようキャッシュを統合したジャーナリングファイルシステムを含む。ここでは本原理の実施形態をビデオ録画再生装置(personal video recorder;PVR)に関して説明するが、理解されるように、本原理の態様はPVR用途に限定されるものではない。
ここでは、幾つもの図を通して同様の参照符号が同様あるいは同一の要素を指し示す図面を参照する。先ず、図1を参照して、本原理の態様を実現する典型的な一例に係るPVR100を説明する。PVR100はプロセッサ116及び記憶媒体124を含み得る。記憶媒体124は、これに限られないが、ハードディスクドライブとすることができ、ジャーナルデータと、データ書き込みコマンドに従って書き込まれるデータとの双方を格納するために使用され得る。しかしながら、上述のように、他の実施形態においては、ジャーナルデータは、書き込みコマンドに従ってデータが書き込まれる記憶媒体とは完全に別個の記憶機構に格納されてもよい。中央処理ユニット116は、例えば、ブロードコム社(Broadcom(登録商標))から市販されているBCM7078C2チップを有し得る。BCM7078C2チップは、300MHzの64ビットCPUを内蔵した2チャンネルHDビデオ/オーディオ/グラフィックス・デジタルビデオ録画再生チップであり、デジタルビデオ録画再生装置に用いられる一般的なプロセッサである。
本原理の一実施形態において、衛星技術回路を介して受信したMPEG−4圧縮フォーマットのオーディオ/ビデオデータパケットは、ストリーム112によってCPU116に伝送され得る。例えば、チューナ104が適当な周波数に同調してデータパケットを受信し得る。さらに、復調器108が同期的にチューナからの出力信号を復調し、オーディオ/ビデオデータパケットをストリーム112によってCPU116に供給し得る。その後、復号器120を用いることによってオーディオ/ビデオデータは伸張され得る。復号器120は、やはりブロードコム社から市販されているBCM7411COデコーダとしてもよい。BCM7411COデコーダはMPEG−4ビデオストリームに対応している。しかしながら、理解されるように、オーディオ/ビデオデータは、例えばMPEG−2といった技術的に知られた如何なるフォーマットであってもよく、また、例えばケーブルテレビジョン伝送などのその他の手段によって受信されてもよい。CPU116は、好適なソフトウェア及びハードウェアによって構成されることができ、オーディオ/ビデオデータストリームにてオーディオ/ビジュアルデータを受信すると、後述の方法の段階群を実行する。
例えばパーソナルコンピュータ等の標準的な計算装置とは異なる一部のPVRの態様は、例えば、オーディオ/ビデオデータの読み出し及び書き込みに関して一定の時間的制約を含んでいる。そのようなPVRシステム、又は一定の時間的制約の下で動作する何らかのその他のシステムが、一定の時間内にトランザクションを完了しない場合、PVRはプレゼンテーションの次の部分に移行し、未完了のトランザクションに関する情報は喪失あるいは廃棄され得る。この制約は、プレゼンテーションの可能な限り多くを適時に表示することが望ましいことによるものである。故に、オーディオ又はビデオのデータが過度に遅く到着するとき、PVR録画再生システムが正常に動作しなくなることを防止するため、該データは廃棄される。従って、一定の時間的制約の下で動作する例えばPVR等のシステムにおいては、情報の喪失を防止するために、キャッシュによって提供されるデータの迅速な読み出しが望まれる。
標準的な計算装置とは異なる一部のPVRの他の一観点は、PVRは一般的に、ユーザが電気プラグをコンセントから抜くこと又は停電を受けて電源切断されるとき、適切なオペレーションシステム・シャットダウンシーケンスを実行しないことである。標準的な計算装置においては、ハードディスクドライブは一般的に、シャットダウンのためのコマンドを与えられるので、キャッシュからプラッタへデータを流す(フラッシュする)のに十分な時間が与えられ、また、読み出し/書き込みヘッドが安全区域で停止することが可能になり、これらは何れもデータ破損及びデータ喪失を防止する。様々なPVR設計は、初期電源異常(early power fail)ルーティンを設けることによって突然の電源切断問題を解決してきた。EPFルーティンは、電源断の後にPVRシステム内に残存する電流を利用する。この電流は、およそ10ms−40msにわたってPVRを動作させ続けることを可能にし得る。この残存電流を用いて、一部のEPFルーティンは、キャッシュをフラッシュし且つ制御されたヘッド停止を実行することを試みる。一般的に、このようなEPFルーティンはしばしば、残存電流の消失前にキャッシュのフラッシュを完了することに失敗する。故に、電力が消失するとき、一般的にこれらのEPFルーティンはメインプラッタにデータを書き込むようPVRドライブに指示し、それにより、書き継ぎエラー、データ喪失、及び非制御的なヘッド停止がもたらされる。
本原理の一態様に従って、EPFルーティンに、現時のセクタ書き込み(システムが書き込みを行うとき)を完了し、キャッシュ内の如何なる更なるデータをも廃棄し、そして制御されたヘッド停止を実行する特別なシャットダウンコマンドシーケンスが組み込まれる。書き継ぎエラーよりはデータの喪失の方が好ましいことがしばしばある。上述のように、書き継ぎエラーはしばしば、ディスクの再フォーマットを要求し、全ての記録データの喪失を伴う。また、PVRは、例えばパーソナルコンピュータ等の一部の標準的な計算装置より、ユーザデータの喪失に対して高い許容度を有する。PVRのユーザデータは通常、オーディオ/ビデオプレゼンテーションデータを有し、少数フレームの喪失は一般的に、プレゼンテーション全体には最小限の影響しか及ぼさない。
EPFルーティンは書き継ぎエラーを低減し得るものであるが、EPFルーティンを用いても、ファイルシステムの破損は完全には防止されない。本発明の他の一態様によれば、キャッシュシステムと統合されたジャーナリングファイルシステムを用いて、データ破損が防止され、且つ読み出し及び書き込みの効率性が提供され得る。上述のように、ジャーナリングファイルシステムは一般的にキャッシュシステムと相性が悪い。本原理の一態様に従ったジャーナリングファイルシステムは、より十分に後述するクリティカル(critical)データと非クリティカル(non-critical)データとを区別することによって、この相性の悪さを克服する。クリティカルデータは、破損された場合にファイルシステムのインテグリティに直接的に影響を及ぼす傾向にあり且つファイルシステムの動作を無能化してしまう可能性を有するデータとして特徴付けられ得る。また、クリティカルデータはユーザ及び/又はシステムパラメータによってアクセスされ且つ変更され、然るべく調整され得る。非クリティカルデータは、その破損がシステムのインテグリティに対して比較的危害が少ないデータを含み得る。本原理の一態様によれば、クリティカルデータをメインプラッタに書き込むとき、キャッシュは迂回される。この態様は、クリティカルデータをプラッタに書き込む順序がプラッタへの複数の書き込みのジャーナリングされた書き込み順序に一致するため、クリティカルデータに関するジャーナリングされたシステム状態が正確であることを保証する。故に、書き込み処理の中断を受けてジャーナルが再生されるとき、ファイルシステムは上述の正確なジャーナルを参照することによって適切な復元を行い、それによりクリティカルデータに関するデータ破損を防止し得る。
非クリティカルデータを書き込むことに関しては、本原理の他の一態様に従って、読み出し及び書き込みの効率性を実現するためにキャッシュが使用される。より十分に後述するように、非クリティカルデータの破損の影響が比較的危害の小さいものであるため、キャッシュの使用により生じる如何なる潜在的な破損の悪影響も最小になる。さらに、より十分に後述するように、非クリティカルデータの書き込みは、メインプラッタへの全書き込みのうちの実質的に大きい部分を有する。故に、クリティカルデータを書き込むときにキャッシュを迂回することの、全体としてのシステムの書き込み効率への影響は、比較的小さい。従って、本原理の態様は、キャッシュシステムをジャーナリングファイルシステムと有利に統合し、ファイルシステムの堅牢なインテグリティと効率的な読み出し及び書き込みの機構との双方を提供する。
図2を参照して、本原理の態様に従った一典型例に係るシステム200を提示する。システム200は、ファイルシステム制御モジュール204とコマンド生成器208とを有するジャーナリングファイルシステム202を含んでいる。ファイルシステム制御モジュール204は、記憶媒体に格納されたファイルシステム202内のデータの編成の受信及び制御を行い得る。また、ファイルシステム制御モジュール204は、コマンド生成器208を用いて、ジャーナル216、キャッシュ220及びメインプラッタ224のうちの何れか1つにデータを書き込むためのコマンドを生成する。ジャーナル216、キャッシュ220及びメインプラッタ224は、同一の記憶装置に含まれていてもよいし、異なる複数の記憶装置に含まれていてもよい。システム200はまた、記憶装置上でデータ書き込みコマンドを処理し、実行する記憶装置制御モジュール212を含んでいる。ここで紹介した図2のシステム要素については、本原理の態様の方法の実施形態を参照して、より十分に後述する。
なお、図面に示した様々な要素の機能は、専用ハードウェアを使用することのほかに、適当なソフトウェアと連係してソフトウェアを実行することが可能なハードウェアを使用することによっても実現され得る。プロセッサによって実現されるとき、機能は、単一の専用プロセッサによって、単一の共有プロセッサによって、あるいは、一部が共有されてもよい複数の個別のプロセッサによって実現され得る。また、用語“プロセッサ”又は“コントローラ”の明示的な使用は、ソフトウェアを実行することが可能なハードウェアのみを意味すると解されるべきでなく、限定することなく、デジタル信号プロセッサ(“DSP”)ハードウェア、ソフトウェアを格納する読み出し専用メモリ(“ROM”)、ランダムアクセスメモリ(“RAM”)、及び不揮発性記憶装置をも暗に含み得る。また、発明の原理、態様及び実施形態、並びにその特定の実施例を記載するここでの全ての記述は、その構造的な均等物及び機能的な均等物の何れをも包含するものである。さらに、そのような均等物は、現在既知の均等物と将来開発される均等物(すなわち、構造に拘わらず、同一の機能を実行するような何らかの開発される要素)との双方を含むものである。
故に、例えば、当業者に認識されるように、ここで提示するブロック図は、発明の原理を具現化する例示的なシステム要素及び/又は回路の概念図を表すものである。同様に、認識されるように、何れのフローチャート、フロー図、状態遷移図、擬似コード、及びこれらの類するものも、コンピュータ読み取り可能媒体内に実質的に表され、そして、コンピュータ又はプロセッサが明示的に示されていようとなかろうと、コンピュータ又はプロセッサによって実行され得る様々な処理を表すものである。
引き続き図2を参照しながら図3を参照し、本原理の態様に従ったデータ書き込み方法にて用いられる典型的なジャーナリングファイルシステム処理の実施形態を説明する。ジャーナリングファイルシステム処理方法300は、ステップ304にて、データを受信することによって開始し得る。データは、図1のPVRシステムに関連して上述したように、例えばMPEG−4フォーマットの、パケットとしてファイルシステム202によって受信され得る。続いて、ステップ308にて、データはファイルシステム202で処理され得る。このとき、ファイルシステム制御モジュール204は、データが、例えばハードディスクドライブを有し得る記憶装置のメインプラッタ224に書き込まれることを決定し得る。その後、ステップ312にて、このデータのメタデータがファイルシステム制御モジュール204によって生成され得る。
方法300はまた、記憶装置のプラッタへの変更を、ジャーナル又はログ216内に記録(ジャーナリング)することを有していてもよい。例えば、ファイルシステム制御モジュール204は、コマンド生成器208を用いて、記憶装置への変更をジャーナリングするためのコマンドを生成してもよい。変更はメインプラッタ224にデータを書き込むことを含んでいてもよく、ステップ316にて、メインプラッタ書き込みに関するデータ書き込みコマンドがログ又はジャーナル216内にジャーナリングされてもよい。記憶装置制御モジュール212は、ファイルシステム202から受信したコマンドに従ってジャーナルに書き込むことによって、プラッタ書き込みコマンドをジャーナリングし得る。また、上述のように、ジャーナル又はログ216は、記憶装置のリングバッファに格納されてもよいし、全く別の記憶媒体に格納されてもよい。さらに、特定の実施形態において、ジャーナル216は書き込まれるべき実際のデータを含んでいてもよい。
データ書き込みコマンドをジャーナリングすると、本原理の態様に従って、ステップ320にて、ファイルシステム制御モジュール212は、該データ書き込みコマンドがクリティカルデータ又は非クリティカルデータの何れを書き込むものに相当するかを決定する。非クリティカルデータは、例えばオーディオ−ビデオデータ、テキスト、及び他のアプリケーション情報など、ユーザファイルを含み得る。上述のように、オーディオ−ビデオデータやその他のユーザデータの喪失は、しばしば、PVRシステムにおいて最小限の悪影響を有するのみである。クリティカルデータはメタデータを含み得る。メタデータは、ユーザデータファイルの発見や、内部保全(すなわち、オーディオデータ及びビデオデータではなくファイルシステムの状態又は維持を対象にするデータ)のためにファイルシステム自体が用いる隠し情報又は非隠し情報の何れかを含み得る。
データ書き込みコマンドがクリティカルデータに対応していると決定された場合、ステップ324にて、本原理の態様に従ったコマンド生成器208はクリティカルデータ書き込みコマンドを生成する。同様に、データ書き込みコマンドが非クリティカルデータに対応していると決定された場合、ステップ328にて、本原理の態様に従ったコマンド生成器208は非クリティカルデータ書き込みコマンドを生成する。クリティカルデータ書き込みコマンド及び非クリティカルデータ書き込みコマンドについては、記憶装置コマンド処理の実施形態の説明に関連して、より十分に後述する。
引き続き図2を参照しながら図4を参照し、本原理の態様に従ったデータ書き込み方法にて用いられる典型的な記憶装置コマンド処理ルーティン400を説明する。記憶装置コマンド処理ルーティンは、ステップ414にて、記憶装置制御モジュール212がコマンド生成器208からのコマンドを受信することによって開始し得る。そして、ステップ408にて、記憶装置制御モジュール212は、該コマンドがクリティカルデータ又は非クリティカルデータの何れを書き込むためのコマンドであるかを決定する。データ書き込みコマンドがクリティカルデータを書き込むためのコマンドであると決定されると、ステップ412にて、記憶装置制御モジュール212は、キャッシュ220への書き込みを迂回して、直接的にクリティカルデータをプラッタ224に書き込む。上述のように、キャッシュ220を迂回することは、ジャーナリングされた記憶装置状態がクリティカルデータに関して正確であることを保証する。例えば、クリティカルデータのプラッタへの直接的な書き込みは、プラッタへの複数の書き込みの書き込み順序が、プラッタへの複数の書き込みのジャーナリングされた書き込み順序と一致することを確実にし得る。
クリティカルデータをプラッタ224に書き込んだ後、ステップ416にて、記憶装置制御モジュール212はジャーナリングファイルシステム202に、書き込み完了を指し示すもの(以下、書き込み完了指示)を提供する。書き込み完了指示は、データがプラッタに書き込まれた時間をジャーナリングファイルシステム202が正確に反映していることを保証する。正確なジャーナルは、上述のように、ファイルシステム202がデータ書き込み処理の中断から適切に復元されることを可能にする。また、キャッシュ220を迂回することは、より多くのキャッシュ空間をユーザデータに提供し、ひいては、上述のようにデータのより効率的な読み出しを可能にするという更なる利点を含む。また、本原理の他の一態様によれば、システム200は必要に応じて、データの効率的な読み出しを可能にするために、クリティカルデータをプラッタ224に書き込んだ後に該クリティカルデータをキャッシュに書き込んでもよい。例えば、ファイルシステム制御モジュール204は、コマンド生成器208を用いて、クリティカルデータがプラッタ224に書き込まれた後に該クリティカルデータをキャッシュ220に書き込むためのコマンドを発し得る。そして、記憶装置制御モジュール212は、該クリティカルデータをメインプラッタ224に書き込んだ後に、該クリティカルデータをキャッシュ220に書き込む。
データ書き込みコマンドが非クリティカルデータを書き込むためのコマンドであると決定されると、ステップ420にて、記憶装置制御モジュール212は非クリティカルデータをキャッシュ220に書き込む。その後、キャッシュされたデータに対応する書き込み処理に関してプラッタ224の準備が整ったことがステップ424にて決定された後、ステップ428にて、記憶装置制御モジュール212は非クリティカルデータを記憶装置のメインプラッタ224に書き込む。上述のように、キャッシュを用いるとき、プラッタに書き込まれるデータはしばしば、書き込みの効率性を提供するために、元々の書き込みコマンドと一致しない順序で書き込まれる。また、上述のように、キャッシュの小さいサイズのために、データはキャッシュから比較的高速に読み出され得る。データをプラッタ224に書き込んだ後、ステップ416にて、記憶装置制御モジュール212はジャーナリングファイルシステム202に書き込み完了指示を提供する。方法300及び400は、ファイルシステムによって新たなデータ又は異なるデータが受信されたとき、必要に応じて繰り返される。
上述のように、ジャーナリングファイルシステムは、記憶装置上でのデータの破損を防止するために用いられ得る。ジャーナリングファイルシステムの一態様は、書き込み処理の中断の結果として損傷された破損セクタを修復するために記録を取られた(ロギングされた)コマンドを再生することを含む。引き続き図2を参照しながら図5を参照し、本原理の一態様に従ったジャーナリングファイルシステム202を用いることによって少なくとも1つの破損セクタを修復する方法500を説明する。この方法は、電源異常後に、ステップ504にて、プロセッサとデータを書き込む記憶媒体とを起動することによって開始し得る。しかしながら、この方法は、例えば、プロセッサのフリーズ又は書き込み中断のその他の原因の後の通常処理の復旧を受けて開始してもよい。中断及び通常処理の再開の後、ステップ508にて、ファイルシステム制御モジュール204はコマンドのジャーナル216にアクセスする。その後、ステップ512にて、ファイルシステム制御モジュール204は、ジャーナル216内のロギングされたコマンドを再生すべきかを決定する。上述のように、ロギングされたコマンドは、中断されたプラッタへの書き込みを完了するために再生される。ファイルシステムは、プラッタへの書き込みが中断されたことを決定した後、ステップ516にて、ジャーナリングされたコマンドを実行する。例えば、ファイルシステム制御モジュール204は、プラッタへの書き込みが中断されたとの決定を受け、コマンド生成器208を用いて、ジャーナル216内にロギングされたコマンドと一致するコマンドを生成し得る。加えて、記憶装置制御モジュール212は、データをメインプラッタ224に書き込むこと又はジャーナル216と一致する何らかのその他の変更を加えることによってコマンドを実行する。ファイルシステム制御モジュール204が、プラッタへの書き込み処理ではなく、ジャーナルへの書き込み処理が中断されたことを決定した場合、ステップ520にて、ジャーナリングされたコマンドは廃棄される。上述のように、ジャーナリングファイルシステムをこのように用いることにより、メインプラッタのデータ構造のインテグリティが保証される。理解されるように、方法300、400及び500はシステム200を参照して説明されたが、これらの方法は本原理の他の態様に従った他の手段によって実行されてもよい。
本原理の態様に従ったジャーナリングファイルシステムのキャッシュシステムとの統合は、ファイルシステムの堅牢なインテグリティと効率的な読み出し及び書き込み機構との双方を提供する。上述のように、ジャーナリングファイルシステムにおけるクリティカルデータ書き込みに関してキャッシュを迂回することは、該データの破損を防止する。例えばメタデータ等のクリティカルデータの破損は、非クリティカル書き込みに関連するデータの破損より、比較的大きいダメージをファイルシステムに与える傾向にある。上述のように、メタデータは、ユーザデータを発見するためや内部保全を実行するためにファイルシステムが利用する情報を含んでおり、その破損はユーザデータの破損と比較して大きい悪影響を有する。データがクリティカルなものであるか非クリティカルなものであるかがプロセッサによって決定され、その決定は、例えばビデオ録画システム等のシステムの特定のアプリケーションに基づいてプログラムされ得る。ユーザデータの破損は一般的に、破損されたユーザデータの部分に限られるが、メタデータの破損は、破損されたメタデータに加えて、データのその他の部分にも悪影響を及ぼし得る。故に、キャッシュの使用の結果としてユーザデータの破損が生じ得るものの、その悪影響は最小限である。従って、本原理の態様に従ったジャーナリングファイルシステムは、キャッシュの利用に拘わらず、ファイルシステムの破損に対する堅牢な保護を提供する。
また、本原理の利点は、PVRシステムにおいて特に明白である。PVRシステムにおいては、例えば符号化、暗号化されたオーディオ/ビデオ情報などの非クリティカルデータの破損は、クリティカルデータの破損より遙かに小さい害しか及ぼさない傾向にある。オーディオ/ビジュアル情報を含む記憶媒体の損傷セクタは、プレゼンテーションにおいて小さい異常として現れるのみであるが、破損されたメタデータはファイルシステム自体を無能化する一層大きい可能性を有する傾向にある。
ファイルシステムの破損に対する実質的な保護を提供することに加えて、本原理の態様は、非クリティカルデータに対するキャッシュの使用によって、効率的な読み出し及び書き込み能力をも提供する。例えばメタデータ等のクリティカルデータは典型的に、全てのデータ書き込み処理のうちの約10%未満を有するのみであるが、例えばユーザデータ等の非クリティカルデータは典型的に、全てのデータ書き込み処理のうちの約90%より多くを有する。故に、クリティカルデータは書き込みのうちの比較的小さい容量を有するのみであるので、クリティカルデータの書き込みの場合にキャッシュを迂回することは、キャッシュによって提供される読み出し及び書き込みに対して小さい影響を有するのみである。従って、本原理の態様は、ファイルシステムの堅牢なインテグリティと効率的な読み出し及び書き込み機構との双方を提供するように、キャッシュシステムをジャーナリングファイルシステムと有利に統合する。
上述の本原理の態様を実現するために用いられ得るジャーナリングファイルシステムは、例えば、XFS及びEXT3FSを含み得る。PVRアプリケーションに関するXFS等のファイルシステムの有利な特徴は、オーディオ−ビジュアルデータの多重ストリームの効率的な書き込みを提供することができることを含む。XFS等のファイルシステムは、比較的大きい部分内で記憶空間が割り当てられる“リアルタイム”パーティション機能を有し、アプリケーションに複雑性を加えることなく記憶装置のスループットのほぼ100%が実現される。対照的に、デスクトップ・時分割ファイルシステムは、一般的に、書き込まれる通りにファイルの記憶空間の小さい部分を割り当てるため、比較的乏しいスループットで部分最適的にインターリーブされたストリームをもたらす。
また、本原理の態様を実現するために使用され得るプログラムインタフェース仕様はATA7を含む。ATA7は、自己監視・分析・報告技術(Self-Monitoring,Analysis,and Reporting Technology;SMART)機能、強制ユニットアクセス(Forced Unit Access;FUA)機能、及び時限コマンドを有し、これらの各々はPVRにとりわけ適合し得る。例えば、SMART機能は、記憶装置の動作状態を決定すること、記憶装置の温度監視のためにファイルシステムによって使用され得る。また、SMART機能はハードディスクドライブ記憶装置における目先のディスクドライブ故障を予測するために使用されてもよい。
FUAコマンドは、キャッシングが有効にされた場合であってもコマンドの完了前に装置媒体に、あるいは装置媒体からユニットデータが転送されることを確実にする。故に、FUAコマンドは、キャッシュを迂回する、あるいはほぼ迂回する書き込み要求を実現する。本原理の態様に従ったジャーナリングファイルシステムは、FUAコマンドを用いて、より重要性の低いデータの書き込みに目につく影響を及ぼすことなくクリティカルデータを首尾良く書き込むことができる可能性を高めてもよい。例えば、FUAコマンドは、より重要性の低いデータに伝統的な書き込みコマンドを用い続けながら、本原理の態様に従って例えばファイルシステムのメタデータ等のクリティカルデータのプラッタへの直接的な書き込みを実行するために用いられてもよい。
また、ATA7に含まれる時限コマンドのセットが、PVRシステムの一定の時間的制約を設けるために用いられてもよい。上述のように、PVRシステムは、PVRが一定時間内にトランザクションを完了しない場合に情報が喪失あるいは廃棄されるという一定の時間的制約の下で動作している。例えばパーソナルコンピュータ等の一部の標準的な計算装置に含まれる記憶媒体は、入力/出力エラー又はディスク面エラーに遭遇すると、時間を要するデータ読み出し・書き込みリトライを何度も実行する。このようなシステムをPVR装置に用いることは、単一のセクタにのみエラーが存在するかもしれない場合に、マルチメディアストリームをひどく乱す可能性がある。ATA7の時限コマンドは、一定の時間制約を課して、このようなリトライを該時間制約内で断念させ得る。上述のように、PVRシステムはプレゼンテーションのうちの可能な限り多くを適時に表示しようとする。従って、エラーを含んだセクタ内又はセクタの小集合内のデータを省くことの悪影響は無視することができ、しばしば、オーディオビデオプレゼンテーションの表示中に実際に感知できない程度である。
上述の実施形態の特徴及び態様は様々な用途に適用され得る。用途には、例えば、標準的な計算装置、携帯情報端末、MP3プレイヤ、ビデオファイルプレイヤ及びその他の装置上でのデータ破損の防止が含まれる。しかしながら、ここで説明した特徴及び態様はその他の応用分野にも適応されてもよく、従って、その他の用途も可能であり且つ想定される。また、データは、光ファイバケーブル、ユニバーサル・シリアル・バス(USB)ケーブル、小型コンピュータ用周辺機器インターフェース(SCSI)ケーブル、電話回線、デジタル加入者回線(DSL)、衛星接続、ライン・オブ・サイト接続及びセル式接続上で、本原理の態様に従った装置によって送受信され得る。
ここで説明した実施形態は、例えば、方法若しくはプロセス、装置、又はソフトウェアプログラムにて実施され得る。例え単一形態の実施形態の文脈においてのみ説明(例えば、方法としてのみ説明)されているとしても、説明された特徴の実現法は、その他の形態(例えば、装置又はプログラム)にて実現されてもよい。装置は、例えば、適切なハードウェア、ソフトウェア及びファームウェアにて実現され得る。方法は、例えば、コンピュータ、マイクロプロセッサ、集積回路、又はプログラム可能論理装置などを含む概して処理装置と呼ぶプロセッサなどの装置にて実現され得る。処理装置はまた、例えばコンピュータ、セル式電話、携帯情報端末(“PDA”)等の通信装置、及びエンドユーザ間での情報通信を容易にするその他の装置を含む。
ここで説明した様々な処理及び機能の実施形態は、特には例えばデータの送信及び受信に関連する機器又は用途である、多様な機器又は用途にて具現化され得る。機器の例には、ビデオコーダ、ビデオデコーダ、ビデオコーデック、ウェブサーバ、セットトップボックス、ノート型コンピュータ、パーソナルコンピュータ及びその他の通信装置が含まれる。明らかなことには、機器は移動式であってもよく、更には移動車両に搭載されていてもよい。
また、方法は、プロセッサによって実行される命令によって実施されてもよく、そのような命令は、プロセッサが読み取り可能な媒体、例えば集積回路、ソフトウェア担体、又はハードディスク、コンパクトディスク、ランダムアクセスメモリ(“RAM”)、若しくは読み出し専用メモリ(“ROM”)等のその他の記憶装置に格納されていてもよい。命令は、プロセッサが読み取り可能な媒体として有形に具現化されたアプリケーションプログラムを形成してもよい。明らかなことには、プロセッサは、例えば処理を実行するための命令などを有するプロセッサが読み取り可能な媒体を含んでいてもよい。
当業者に明白であるように、実施形態はまた、例えば格納あるいは送信され得る情報を担持するようにフォーマットされた信号を生成してもよい。情報は、例えば、方法を実行するための命令、又は上述の実施形態の1つによって生成されたデータを含み得る。そのような信号は、例えば、電磁波(例えば、スペクトルの無線周波数部分を用いる)として、あるいはベースバンド信号としてフォーマットされ得る。フォーマットを行うことは、例えば、データストリームを符号化すること、符号化されたストリームをパケット化すること、及びパケット化されたストリームで搬送波を変調することを含み得る。信号が搬送する情報は、例えば、アナログ情報又はデジタル情報とし得る。信号は、知られているように、多様な有線リンク又は無線リンク上で伝送され得る。
多数の実施形態を説明してきた。そうは言うものの、理解されるように、様々な変更が為され得る。例えば、他の実施形態を作り出すように、相異なる複数の実施形態の要素が組み合わされ、補充され、変更され、あるいは除去されてもよい。また、当業者に理解されるように、他の構造及び処理が開示されたものに代用されてもよく、その結果得られる実施形態が、開示された実施形態と少なくとも実質的に同一の結果を達成するように、少なくとも実質的に同じようにして、少なくとも実質的に同一の機能を果たすようになる。従って、これら及びその他の実施形態は以下の請求項の範囲内である。

Claims (20)

  1. ジャーナリングファイルシステムとキャッシュシステムとの双方を用いて記憶装置にデータを書き込む方法であって:
    記憶媒体にデータを書き込むためのコマンドを受信する段階;
    前記コマンドに応答してデータ書き込みをジャーナリングする段階;
    前記データがクリティカルデータであるかを決定する段階;及び
    前記データがクリティカルデータであるとの決定を受けて、前記データを前記記憶媒体に書き込むときにキャッシュへの書き込みを迂回することにより、前記クリティカルデータに関して、ジャーナリングされた前記記憶装置の状態が正確であることを保証する段階;
    を有する方法。
  2. 前記データが非クリティカルデータであるとの決定を受けて、前記データを前記キャッシュに書き込み、且つ前記データを前記記憶媒体に書き込む段階、
    を更に有する請求項1に記載の方法。
  3. クリティカルデータをプラッタに書き込んだとき、該クリティカルデータが前記記憶媒体に書き込まれた時間を前記ジャーナリングファイルシステムが反映することを確実にするため、書き込み完了指示をジャーナリングする段階、
    を更に有する請求項1に記載の方法。
  4. クリティカルデータはファイルシステムの管理を対象とするデータに相当し、非クリティカルデータは圧縮されたオーディオ/ビデオデータに相当する、請求項1に記載の方法。
  5. クリティカルデータはメタデータを含む、請求項4に記載の方法。
  6. ビデオ録画再生装置内で前記の段階群が実行される、請求項4に記載の方法。
  7. クリティカルデータの前記記憶媒体への書き込みを完了した後に、該クリティカルデータを前記キャッシュに書き込む段階、
    を更に有する請求項1に記載の方法。
  8. 書き込み処理の中断の後、ジャーナリングされたコマンドを実行して前記記憶装置の少なくとも1つの破損セクタを修復する段階、
    を更に有する請求項1に記載の方法。
  9. 記憶装置にデータを書き込むシステムであって:
    記憶媒体に書き込まれるデータを含むキャッシュ;
    変更のログを含むジャーナル;及び
    前記記憶媒体にデータを書き込むためのコマンドを受信し、前記データがクリティカルデータであるかを決定し、前記データがクリティカルデータである場合、該クリティカルデータが前記記憶媒体に書き込まれるときに前記キャッシュを迂回することによって前記記憶媒体への前記データの書き込みを制御することで、該クリティカルデータに関して、ジャーナリングされた前記記憶装置の状態が正確であることを保証するように構成された記憶装置制御プロセッサ;
    を有するシステム。
  10. 前記記憶装置制御プロセッサは更に、非クリティカルデータを前記キャッシュに書き込み、且つ非クリティカルデータを前記記憶媒体に書き込むように構成されている、
    請求項9に記載のシステム。
  11. 前記記憶装置制御プロセッサは更に、クリティカルデータを前記記憶媒体に書き込んだとき、該クリティカルデータが前記記憶媒体に書き込まれた時間をジャーナリングファイルシステムが正確に反映することを確実にするため、書き込み完了指示をジャーナリングするように構成されている、
    請求項9に記載のシステム。
  12. クリティカルデータはファイルシステムの管理を対象とするデータに相当し、非クリティカルデータは圧縮されたオーディオ/ビデオデータに相当する、請求項9に記載のシステム。
  13. 前記クリティカルデータはメタデータを有する、請求項9に記載のシステム。
  14. ビデオ録画再生装置内に含まれた請求項9に記載のシステム。
  15. 前記記憶装置制御プロセッサは更に、クリティカルデータの前記記憶媒体への書き込みの完了後に、該クリティカルデータを前記キャッシュに書き込むように構成されている、
    請求項9に記載のシステム。
  16. 前記記憶装置制御プロセッサは更に、ファイルシステムコマンドに従って、書き込み処理の中断の後、ジャーナリングされたコマンドを実行して前記記憶媒体の少なくとも1つの破損セクタを修復するように構成されている、
    請求項9に記載のシステム。
  17. 記憶媒体;
    プログラム信号を提供するデジタルビデオ信号源;
    前記プログラム信号を処理し、圧縮された信号を提供する手段;
    前記圧縮されたオーディオ/ビデオ信号を前記記憶媒体に記録する手段;
    前記記憶媒体に書き込まれるデータを格納するキャッシュ;
    変更のログを格納するジャーナル;及び
    前記記憶媒体にデータを書き込むためのコマンドを受信し、該データがクリティカルデータであるかを決定し、該データがクリティカルデータである場合、該クリティカルデータが前記記憶媒体に書き込まれるときに前記キャッシュを迂回することによって前記記憶媒体への該データの書き込みを制御することで、該クリティカルデータに関して、ジャーナリングされた前記記憶装置の状態が正確であることを保証するように構成されたプロセッサであり、前記クリティカルデータはファイルシステムの管理を対象とするデータに相当し、非クリティカルデータはオーディオ/ビデオ信号に相当する、プロセッサ;
    を有するデジタルビデオ記録装置。
  18. 前記キャッシュ及び前記ジャーナルは前記記憶媒体上に保管される、請求項17に記載の装置。
  19. 前記プロセッサは、クリティカルデータの前記記憶媒体への書き込みを完了した後に、該クリティカルデータを前記キャッシュに書き込むように構成されている、請求項17に記載の装置。
  20. 前記クリティカルデータはメタデータを有する、請求項17に記載の装置。
JP2010521837A 2007-08-21 2008-02-19 ハードディスクドライブ・ファイルシステムのデータ破損を防止する方法及びシステム Pending JP2010537309A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US96560407P 2007-08-21 2007-08-21
PCT/US2008/002168 WO2009025684A1 (en) 2007-08-21 2008-02-19 Method and system for preventing corruption of hard disk drive file system

Publications (2)

Publication Number Publication Date
JP2010537309A true JP2010537309A (ja) 2010-12-02
JP2010537309A5 JP2010537309A5 (ja) 2011-04-07

Family

ID=39540389

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010521837A Pending JP2010537309A (ja) 2007-08-21 2008-02-19 ハードディスクドライブ・ファイルシステムのデータ破損を防止する方法及びシステム

Country Status (7)

Country Link
US (1) US20100153347A1 (ja)
EP (1) EP2191359A1 (ja)
JP (1) JP2010537309A (ja)
KR (1) KR20100057655A (ja)
CN (1) CN101815983A (ja)
BR (1) BRPI0815679A2 (ja)
WO (1) WO2009025684A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101681278A (zh) * 2007-03-23 2010-03-24 汤姆森许可贸易公司 用于防止存储介质中错误的系统和方法
US8521972B1 (en) 2010-06-30 2013-08-27 Western Digital Technologies, Inc. System and method for optimizing garbage collection in data storage
US9189392B1 (en) 2011-06-30 2015-11-17 Western Digital Technologies, Inc. Opportunistic defragmentation during garbage collection
AU2012336009A1 (en) * 2011-11-07 2014-05-22 Deb Ip Limited Method for determining hand hygiene compliance
US8819375B1 (en) 2011-11-30 2014-08-26 Western Digital Technologies, Inc. Method for selective defragmentation in a data storage device
US8788778B1 (en) 2012-06-04 2014-07-22 Western Digital Technologies, Inc. Garbage collection based on the inactivity level of stored data
US9069682B1 (en) * 2012-06-29 2015-06-30 Emc Corporation Accelerating file system recovery by storing file system metadata on fast persistent storage during file system recovery
JP7292872B2 (ja) * 2018-12-25 2023-06-19 キヤノン株式会社 情報処理装置および情報処理装置の制御方法
US11360699B1 (en) 2019-08-30 2022-06-14 Veritas Technologies Llc Method and system for improved write performance in erasure-coded storage systems
US11379153B2 (en) * 2020-07-23 2022-07-05 Micron Technology, Inc. Storage traffic pattern detection in memory devices
US11385806B1 (en) * 2020-12-20 2022-07-12 Veritas Technologies Llc Methods and systems for efficient erasure-coded storage systems

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6219947A (ja) * 1985-06-28 1987-01-28 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 周辺記憶サブシステム初期化時間短縮装置
JP2002222118A (ja) * 2001-01-26 2002-08-09 Mitsubishi Electric Corp ディスクキャッシュシステム
JP2004062869A (ja) * 2002-06-06 2004-02-26 Internatl Business Mach Corp <Ibm> コンピュータ・システムでのトランザクションの選択的キャッシングの方法および装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5253275A (en) * 1991-01-07 1993-10-12 H. Lee Browne Audio and video transmission and receiving system
JP3062050B2 (ja) * 1995-07-21 2000-07-10 インターナショナル・ビジネス・マシーンズ・コーポレ−ション ディスク駆動制御方法及び装置
JP4095152B2 (ja) * 1998-03-09 2008-06-04 キヤノン株式会社 画像管理装置およびその方法、画像管理システム、記憶媒体
US6678787B2 (en) * 2000-12-21 2004-01-13 International Business Machines Corporation DASD-free non-volatile updates
US6922754B2 (en) * 2002-12-09 2005-07-26 Infabric Technologies, Inc. Data-aware data flow manager
JP2005309550A (ja) * 2004-04-19 2005-11-04 Hitachi Ltd リモートコピー方法及びリモートコピーシステム
US7565661B2 (en) * 2004-05-10 2009-07-21 Siew Yong Sim-Tang Method and system for real-time event journaling to provide enterprise data services
EP2186092A1 (en) * 2007-08-22 2010-05-19 Thomson Licensing Hard disk sector/track remapping for transparent wear leveling
US7873619B1 (en) * 2008-03-31 2011-01-18 Emc Corporation Managing metadata

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6219947A (ja) * 1985-06-28 1987-01-28 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 周辺記憶サブシステム初期化時間短縮装置
JP2002222118A (ja) * 2001-01-26 2002-08-09 Mitsubishi Electric Corp ディスクキャッシュシステム
JP2004062869A (ja) * 2002-06-06 2004-02-26 Internatl Business Mach Corp <Ibm> コンピュータ・システムでのトランザクションの選択的キャッシングの方法および装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6012065258; 村田雄、花岡健介、菅谷 みどり: 第7回 64bitファイルシステム XFSの実装 , 20040824, [online],ITmedia Inc. *

Also Published As

Publication number Publication date
US20100153347A1 (en) 2010-06-17
WO2009025684A1 (en) 2009-02-26
BRPI0815679A2 (pt) 2015-02-18
KR20100057655A (ko) 2010-05-31
EP2191359A1 (en) 2010-06-02
CN101815983A (zh) 2010-08-25

Similar Documents

Publication Publication Date Title
JP2010537309A (ja) ハードディスクドライブ・ファイルシステムのデータ破損を防止する方法及びシステム
US7912994B2 (en) Reducing connection time for mass storage class peripheral by internally prefetching file data into local cache in response to connection to host
JP5503539B2 (ja) 損傷したハードディスクのファイルシステムを修復する方法およびシステム
US20140013068A1 (en) Information processing apparatus, storage system, and write control method
US9501492B2 (en) Combination journaling/non-journaling file system
KR20090019593A (ko) 이씨씨 제어 회로 및 그것을 포함하는 멀티채널 메모리시스템
KR20020064142A (ko) 향상된 청각 및 시각 데이터 전송을 위한 디스크 드라이브
JP5037734B2 (ja) データの保護方法とシステム、記憶デバイス及び記憶デバイスコントローラ
US20070168603A1 (en) Information recording apparatus and control method thereof
US8014093B2 (en) Hard disk sector/track remapping for transparent wear leveling
JP2010522406A (ja) 記憶媒体における誤りを防止するシステム及び方法
CN112115076A (zh) 使用者数据的加解密装置及方法
US20130332420A1 (en) Data management apparatus and method for surveillance system
US20130205071A1 (en) Compressed cache storage acceleration
US20090185762A1 (en) Data structure for image file
US8811133B2 (en) Writing system, writing device, and writing method
WO2011001470A1 (ja) データ記録装置、およびオーディオシステム
EP1460543B1 (en) Method and apparatus of error processing according to data types
TW201516659A (zh) 內部磁碟資料壓縮的系統與方法
US20080065825A1 (en) Optical storage device and data storage method thereof
JP5585930B2 (ja) ディスクアレイ装置、及びデータ制御方法
US20200043526A1 (en) Shingled magnetic recording storage system
JP2008065950A (ja) 信号処理回路
TW202044037A (zh) 對儲存裝置進行管理的方法、相關儲存裝置以及硬碟外接盒

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110217

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121218

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130611