説明

ファイルシステム

【課題】 複数のファイルシステムが共有する記録媒体上の領域をファイルシステム毎にパーティション分割することなく、或る1つのファイルシステムに生じる空き領域を他ファイルシステムからも有効に使用できるようにする。
【解決手段】 記録媒体を管理して前記記録媒体に対して直接的にデータの記録・再生を行う下位ファイルシステムと、この下位ファイルシステムを、仮想的な1つの記録媒体として扱う複数の上位ファイルシステムとを備える。また。この上位ファイルシステムは、前記記憶媒体への記録・読出操作を、下位ファイルシステムのファイル管理手段によって管理される複数のファイルへの記録・読出操作に変換する変換手段を備えている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はファイルシステムに係り、特に、MPEG2トランスポートストリーム形式を採用したデジタル放送で扱われるデータや、MPEG2プログラムストリーム形式を備えたディスクメディアで扱われるデータ等の、情報量の大きいデータを、リアルタイムで処理する録画再生装置のためのファイルシステムに関する。
【背景技術】
【0002】
近年、高性能なCPU、メモリ、大容量記録媒体等の情報処理機器が低価格で入手できるようになってきている。また、デジタル放送や、DVD、BDといった様々な機器の規格が規定され、大容量のデジタルAVデータを処理できるマルチメディア機器が数多く商品化されてきている。
【0003】
このようなデジタル化されたAVデータを、記録媒体に書き込んだり、読み出したりする際に、ファイルシステムと呼ばれる管理装置が用いられている。この装置では、記録媒体内の領域に関し、どの領域が使用中であるか、または未使用であるかといった事柄や、どの領域がどのファイルに属するかなどといった事柄を把握して記録媒体の領域管理を行っている。
【0004】
一般的なファイルシステムでは、後述する領域管理テーブルと、未使用領域管理テーブルと、ファイル管理テーブルの3種類のテーブルを用いて、記録媒体の領域管理を行う。
【0005】
この領域管理テーブルは、記録媒体の領域を或る定められたサイズ毎のブロックに分割し、各ブロックがいずれかのデータを格納する領域として使用されているかを示すものである。なお、この管理テーブルは、記録媒体に記録されており、その記録媒体上から読み出されてワーキングメモリ上で操作される。
【0006】
図12は、従来の一般的なファイルシステムにおける領域管理テーブルの1例を示すものである。
【0007】
同図に示すように、従来の領域管理テーブルでは、そのブロックが使用されているか否かを示す「使用フラグ」を有するのみであり、記録媒体上で構成されるファイルのいずれに属するかという情報は有さないことが多い。なお、図12で示す領域管理テーブルでは、論理ブロック10〜13と、論理ブロック20〜24とが、いずれかのファイルで使用中であり、その他の論理ブロックは未使用であることが示されている。
【0008】
従来の一般的なファイルシステムでは、図12に示すような領域管理テーブルを操作する手段として、領域管理手段を備えている。
【0009】
一方、従来の一般的なファイルシステムはファイル管理テーブルも備えているが、このテーブルは、各ファイル毎に構成されるテーブルである。
【0010】
図13は、従来の一般的なファイルシステムにおけるファイル管理テーブルの1例を示すものである。
【0011】
同図に示すファイル管理テーブルは、前記領域管理テーブル(図12)の「使用フラグ」で、使用中であることが示されている領域のうち、どの領域が、どのファイルに、どの順で属するかを示すためのテーブルである。
【0012】
このファイル管理テーブルは、メモリ上で操作され、記録媒体上で記録・読出しがなされる。例えば、図13で示すファイル管理テーブルでは、先頭から4ブロックの情報は、領域管理テーブル上の論理ブロック10〜論理ブロック13までの領域を示し、次の5ブロックの情報は、論理ブロック20〜論理ブロック24までの領域を示している。仮に、1論理ブロック=512Kバイトであった場合は、領域上で先頭から3Mバイトの位置は、3M〔バイト〕÷512K〔バイト〕=6であるために、記録媒体上では、論理ブロック22に位置することが分かる。
【0013】
一般的なファイルシステムでは、このファイル管理テーブルを操作する手段として、ファイル管理手段を備えている。未使用領域のファイル管理テーブルは、上記領域管理テーブルで未使用と判定された領域を検索し易いように、リストされたテーブルであり、メモリ上で構成されることが多い。
【0014】
図14は、図12,13に対応した未使用領域管理テーブルの1例を示すものである。
【0015】
同図に示す未使用領域は、論理ブロック0〜論理ブロック9と、論理ブロック14〜論理ブロック19と、論理ブロック25〜論理ブロック29までの領域であるが、これらの領域は、いずれのファイルからも使用されていない領域であり、各領域を連続した領域として、その先頭論理ブロックと、論理ブロック数を記したリストにより管理する。具体的には、(先頭、ブロック数)=(0,10)、(14,6)、(25,5)の3つのリストとして管理する。
【0016】
一般的なファイルシステムでは、この未使用領域管理テーブルを操作する手段として、未使用領域管理手段を備えている。これらの管理手段は、一般的ではあるが、ファイルシステム毎に管理方法に相違があり、それぞれの用途に応じて異なるファイルシステムを利用することが多い。異なるファイルシステムをアクセスするには、特別な手法が必要となるからである。
【0017】
そのため、異なるファイルシステムを1つの記録媒体上で共存させる方法として、パーティッションに分けて管理する手法がとられる。
【0018】
この手法は、記録媒体上にファイルシステム毎の領域範囲を予め決めておくものであり、例えば、PCの世界では、WINDOWS(登録商標)のファイルシステムとUNIX(登録商標)のファイルシステムとを1つの記録媒体上で共存させる場合に用いられている。
【0019】
しかし、この従来の手法では、ファイルシステム毎の領域が予め分割されてしまうために、片方のファイルシステム上に空きがあったとしても、他のファイルシステムでは、その領域を利用できない。
【0020】
そこで、特許文献1(特開2001−243096号公報)では、記録媒体を複数の領域に分割し、その領域毎に、領域の未使用領域に、ダミーデータを書き込み、当該ダミーデータには特定のアプリケーションまたは特定のファイルしか上書きできないように構成することによって、複数の領域分割やサイズ変更を容易にしようとする提案がなされている。
【特許文献1】特開2001−243096号公報
【発明の開示】
【発明が解決しようとする課題】
【0021】
ところで、従来のファイルシステムは、前述のとおり、異なるファイルシステムを1つの記録媒体上で共存させる方法として、パーティッションに分けて管理する手法がとられるが、ファイルシステム毎の領域が予め分割されてしまうために、片方のファイルシステム上に空きがあったとしても、他のファイルシステムでは、その領域を利用できないといった問題点があった。
【0022】
また、一般に、ファイルシステムが異なれば、その管理方法も異なるために、記録媒体上の各領域が、異なるファイルシステムによって構成される場合には、一方の未使用領域を他のファイルシステムによって利用することは不可能であるといった問題点があった。
【0023】
なお、前述の特許文献1の方法では、未使用領域は、ダミーデータ書き込みのために使用されているので、このダミーデータが開放されない限りは、他のファイルシステムによって、使用することはできない。
【0024】
このため、本発明は、複数のファイルシステムが記憶媒体を共有するシステムにおいて、この記録媒体をパーティション分割することなく、或る任意の1つのファイルシステムで不使用となった領域を、他のファイルシステムのファイルに割り当てることができる録画再生装置のためのファイルシステムを提供することを目的とするものである。
【課題を解決するための手段】
【0025】
上記課題を解決するために、本発明に係るファイルシステムは、以下の特徴を備えている。
【0026】
第1の本発明は、少なくとも、記録媒体と、前記記録媒体上のファイルデータの記録・再生を行う記録・再生制御手段を有する複数のファイルシステムとを備えたファイルシステムにおいて、前記記録媒体を管理して前記記録媒体に対して直接的にデータの記録・再生を行う記録・再生制御手段を備えた下位ファイルシステムと、前記下位ファイルシステムを、仮想的な1つの記録媒体として扱う複数の上位ファイルシステムとを備えたことを特徴とする。
【0027】
ここで、前記下位ファイルシステムは、記録媒体を複数の論理ブロックに区切られた領域として管理する第1の領域管理手段と、記録媒体上に記録されたファイルを管理する第1のファイル管理手段と、いずれのファイルにも属さない領域を管理する未使用領域管理手段とを備え、前記上位ファイルシステムは、前記記憶媒体への記録・読出操作を、前記下位ファイルシステムの前記第1のファイル管理手段によって管理される複数のファイルへの記録・読出操作に変換する変換手段を備えたことを特徴としている。
【0028】
また、前記下位ファイルシステムにおける前記第1のファイル管理手段は、自己が管理するテーブルを、自己の各々のファイルに割り当てられた論理ブロックの先頭ブロック番号と、連続ブロック数とを記録したリストによって管理し、前記ファイルの各々のファイル領域の中間に未割り当てのブロックが存在することを許容することを特徴としている。
【0029】
また、前記上位ファイルシステムは、前記下位ファイルシステムを仮想的な1つの記録媒体と見なす自己のイメージによってファイル領域を管理する第2の領域管理手段及び第2のファイル管理手段を備え、前記記憶媒体への記録・読出操作を、前記第2の領域管理手段及び前記第1のファイル管理手段に反映させる手段を備えたことを特徴としている。
【0030】
さらに、前記下位ファイルシステムにおける前記第1のファイル管理手段は、自己が管理する各ファイル毎に、ファイルデータ領域の先頭からの論理ブロック番号、論理ブロック数、及びその領域が使用可能であるか否かを示す無効フラグを記録したリストテーブルを備えたことを特徴としている。
【0031】
また、第2の本発明は、少なくとも、記録媒体と、前記記録媒体上のファイルデータの記録・再生を行う記録・再生制御手段を有する複数のファイルシステムとを備えたファイルシステムにおいて、第1の領域管理手段と第1のファイル管理手段により前記記録媒体を管理すると共に前記記憶媒体に対して直接的にデータの記録・再生を行う記録・再生制御手段を備えた下位ファイルシステムと、第2の領域管理手段と第2のファイル管理手段とを備えて、前記下位ファイルシステムを、仮想的な1つの記録媒体として扱う複数の上位ファイルシステムと、前記複数の上位ファイルシステムと前記下位ファイルシステムとの間に介在し、前記複数の上位ファイルシステムからの前記下位ファイルシステムへの操作を調停するファイルシステム調停処理手段とを備えたことを特徴とする。
【0032】
ここで、前記ファイルシステム調停処理手段は、前記上位ファイルシステムからの実行命令に含まれる優先度に基づいて、前記下位ファイルシステムへの操作の優先度を制御することを特徴としている。
【0033】
また、前記第1の発明及び前記第2の発明では、前記上位ファイルシステムが、前記第2の領域管理手段が保持する領域管理テーブルに記録された情報と、前記第1のファイル管理手段が保持するファイル管理テーブルに記録された情報とを比較することにより、前記両者間の不一致を検出する比較手段を備えていることを特徴としている。
【0034】
また、前記第1の発明及び前記第2の発明では、前記上位ファイルシステムが、前記比較手段によって、前記第2の領域管理手段が保持する領域管理テーブルに記録された情報と、前記第1のファイル管理手段が保持するファイル管理テーブルに記録された情報とに不一致が検出された場合に、前記各テーブルを整合化する手段を備えていることを特徴としている。
【0035】
さらに、第1と第2の本発明では、前記第1のファイル管理手段が備えるファイル領域管理テーブルに記録された情報を、前記記憶媒体のファイル領域に記録することを特徴としている。
【発明の効果】
【0036】
以上説明したように、本発明のファイルシステムによれば、システム構成を、少なくとも2つ以上の上位ファイルシステムと、下位ファイルシステムとに分離する構成としたので、記録媒体へのアクセス方法が異なる複数の上位ファイルシステムを、1つの記録媒体上で共存させると共に、任意の1つの上位ファイルシステムで不要になった領域を、他の上位ファイルシステムで再使用することができるファイルシステムを提供することができる。
【0037】
また、上位ファイルシステム上のファイルに対する操作を、下位ファイルシステムの複数のファイルに対する操作へ変換する変換手段を設けたので、上位ファイルシステム上に領域管理テーブルと未使用領域管理テーブルを持つ必要がなくなるために、複数の上位ファイルシステム間で未使用領域を共有することが可能となる。
【0038】
また、上位ファイルシステムに対する操作を、下位ファイルシステム上の複数のファイルに対する操作へ変換する変換手段を設けたので、上位ファイルシステムは、下位ファイルシステム上のファイルを、あたかも記録媒体であるかのように操作することができる。また、上位ファイルシステム内の領域管理テーブル内で、領域の開放や登録があった場合には、該当する領域である下位ファイルシステムのファイルを消去、作成することによって、複数の上位ファイルシステム間で、記録媒体上の未使用領域を共有することができる。
【0039】
また、上位ファイルシステムが、下位ファイルシステムに属するファイルを、仮想的な記録媒体として管理することで、上位ファイルシステム上に領域管理テーブルとファイル管理テーブルとを保持する構成を残しつつ、複数の上位ファイルシステム間で、下位ファイルシステムの未使用領域を共有することができる。
【0040】
また、下位ファイルシステムで管理されるファイルを示すファイル管理テーブルは、ファイル毎のファイル領域の先頭からの論理ブロック番号、論理ブロック数、及びその領域が使用可能であるか否かを示す無効フラグを記録したリストテーブルを管理し、また、適宜参照することによって、例えば、ファイル領域の中間に領域の存在しない中抜け構造のファイルを作成することが可能となり、上位ファイルシステムが、下位ファイルシステムに属するファイルを仮想的な記録媒体として操作する場合、例えば、この仮想的な記録媒体上から領域を開放する際に、ファイル内に記録された領域管理テーブルやファイル管理テーブルを書き換えることなく、領域を開放することができる。
【0041】
また、本発明のファイルシステムによれば、複数の上位ファイルシステムからの下位ファイルシステムに対する操作を調停するファイルシステム調停処理手段を設けたので、例えば、一方の上位ファイルシステムがリアルタイム性を必要とするAVデータのアクセスであり、他方の上位ファイルシステムがPCデータ(即ち、リトライしても正しく読むことが必要なデータ)へのアクセスであった場合に、この調停処理手段による調停により、AVデータのアクセスの方を優先することができるファイルシステムを提供することができる。
【0042】
また、下位ファイルシステム上で利用している上位ファイルシステムの領域を上位ファイルシステム上で管理される領域管理テーブルと、下位ファイルシステム上で管理されるファイル管理テーブルを比較することによって、ファイルシステム操作中に停電などの理由により、電源がOFFになった場合にファイルシステム間の齟齬を検出することができる。
【0043】
また、下位ファイルシステム上で利用している上位ファイルシステムの領域を、上位ファイルシステム上で管理する領域管理テーブルと、下位ファイルシステム上で管理するファイル管理テーブルとを比較して、両者が一致しなかった場合に、整合化する手段を設けたので、例えば、ファイルシステムを操作中に、停電などの理由により、上位ファイルシステムと下位ファイルシステムの使用領域との間に齟齬が生じても、常にこの齟齬を復旧させることができる。
【0044】
さらに、下位ファイルシステムで管理する前記第1のファイル管理テーブルを、ファイルデータ領域の先頭からの論理ブロック番号、論理ブロック数、及びその領域が使用可能であるか否かを示す無効フラグを記録したリストテーブルの形式として、これを記録媒体に書き込むことによって、例えば、電源のON/OFF等によってCPUの記憶領域から消失することがないので、複数の上位ファイルシステムで、記録媒体上の未使用領域を安定して共有できるファイルシステムを実現することができる。
【発明を実施するための最良の形態】
【0045】
〔概要説明〕
以下、本発明のファイルシステムの実施形態を〔第1の実施形態〕〜〔第4の実施形態〕の順に説明するが、その前に、本発明のファイルシステムの概要を説明する。
【0046】
本発明のファイルシステムでは、全体を上位ファイルシステムと下位ファイルシステムという多階層構造で構成し、上位ファイルシステムでは、第2のファイル管理手段と第2の領域管理手段とを備えて、主としてファイル領域管理テーブルの管理を行い、下位ファイルシステムでは、第1のファイル管理手段と第1の領域管理手段とを備えて、主として領域管理テーブルの管理と、未使用領域管理テーブルとの管理を行う。
【0047】
上位ファイルシステムは、各々異なる特徴を有する2つ以上のファイルシステムで構成される。
【0048】
この上位ファイルシステムでは、自己が保持するAPI(アプリケーション・インターフェース)を介して、ファイル作成やファイルへの書き込みといったファイル領域管理テーブルの拡張、編集などのファイル領域管理テーブルの部分削除、及びファイルの消去などの操作がなされる。
【0049】
また、この上位ファイルシステムは、領域を確保する必要が出た場合、下位ファイルシステムで領域を確保できるか否かを検証する。領域確保ができた場合には、内部のファイル領域管理テーブルを変更し、APIを介して、アプリケーションにその旨を返す。
【0050】
また、上位ファイルシステムは、領域を開放する必要が出た場合は、上位ファイルシステム内のファイル領域管理テーブルを変更し、下位ファイルシステムに領域を返す。
【0051】
この場合は、上位ファイルシステムの実現方法として、上位ファイルシステム上の1ファイルを下位ファイルシステム上の複数ファイルに変換する方法が考えられる。
【0052】
さらに、この場合、上位ファイルシステムの1つの実現方法として、下位ファイルシステムの複数のファイルを、あたかも1つの記録領域であるかのように操作する方法が可能である。
【0053】
図11は、上位ファイルシステム(ファイルシステムA,B)上のファイルと、下位ファイルシステム上のファイルとの対応関係を示す説明図である。
【0054】
上位ファイルシステムAのファイル(ファイルA1)は、例えば、図11に示すように、下位ファイルシステム上の複数ファイル(ファイルC1、ファイルC2)に変換される。
【0055】
図11に示す上位ファイルシステムAは、下位ファイルシステムのファイルを操作する仮想ファイルシステムであり、上位ファイルシステムに対する操作は、仮想ファイルシステム上で下位ファイルシステムへの操作に変換される。
【0056】
上位ファイルシステムで操作されるファイルA1は、下位ファイルシステムでは複数のファイルに分割され、即ち、ファイルC1、ファイルC2にマッピングされる。ファイルA1に対する操作は、上位ファイルシステムAによって変換されるファイルC1、ファイルC2のいずれかのファイルに対する操作に変換される。
【0057】
例えば、ファイルA1の消去の操作は、仮想ファイルシステムA上で、下位ファイルシステムのファイルC1とファイルC2の消去の操作に変換される。
【0058】
このような方法によれば、上位ファイルシステムでのファイル操作は、全て下位ファイルシステムへの操作に変換され、記録媒体上の領域の使用、未使用は、下位ファイルシステムによって管理されるために、ファイルA1の消去後に、他の上位ファイルシステムが、この消去で生じた空き領域を確保することが可能となる。
【0059】
また、上位ファイルシステムのもう1つの実現方法として、下位ファイルシステムの複数ファイルの記録領域を連結することにより、あたかも1つの記録領域であるかのように操作することが可能である。
【0060】
例えば、図11に示す上位ファイルシステムBの記録領域は、下位ファイルシステムの1つの仮想的な記録媒体として扱われる。以下、この仮想的な記録媒体を「記録媒体イメージファイル」と呼称する。
【0061】
そして、上位ファイルシステムBは、領域管理と、ファイル管理とを行うことができるファイルシステムであって、「記録媒体イメージファイル」上で、下位ファイルシステム上のファイルを操作することになる。
【0062】
すなわち、上位ファイルシステムBにおける記録媒体上への操作は、全て下位ファイルシステム上のファイルへの操作に変換される。
【0063】
今、1例として、上位ファイルシステムBが、下位ファイルシステムをHDDのような仮想的な記録媒体としてアクセスする場合について説明する。
【0064】
上位ファイルシステムBでのアクセスは、全てHDDセクタへのアクセスである。HDDのセクタは一般的に1セクタ=512バイトである。上位ファイルシステムBでは、このHDDへのアクセスを記録媒体イメージファイルに対する操作に変換する。
【0065】
上位ファイルシステムBで、HDD上へのセクタへの読み書きが必要になった場合に、上位ファイルシステムBは、これを下位ファイルシステム上のファイルに対する読み書きに変換する。例えば、上位ファイルシステムBの記録媒体イメージファイルのセクタxに対する読み書きは、下位ファイルシステムのファイルの先頭から512×xバイト目からの読み書きに変換される。これによって、下位ファイルシステム上のファイルを、あたかもHDDのような記録媒体であるかのように操作することができる。
【0066】
但し、この方法では、記録媒体イメージファイル内の途中の領域が、上位ファイルシステムにとっては、不要になった場合に、それを下位ファイルシステムの未使用領域として利用することができない。
【0067】
そのため、本発明では、下記の2通りの方法を用いてこれを解決する。
【0068】
その1つ目は、下位ファイルシステム上に構成される記録媒体イメージファイルを固定長の複数のファイルとして構成する方法であり、他の1つは、下位ファイルシステム上に中抜けファイルの概念を適用する方法である。
【0069】
まず、上位ファイルシステムが操作する記録媒体イメージファイルを下位ファイルシステム上に存在する固定長の複数のファイルとして構成する方法について説明する。
【0070】
図2に示すファイル0〜3及びファイル8〜12は、各々が512Kバイトの大きさで区切られた下位ファイルシステム上のファイルであり、各々のファイルには、ファイル領域の先頭からどの位置に該当するかを示すIDが付与されている。図2に示すように、この複数のファイルは、記録媒体イメージファイルの領域(イメージされる仮想的な領域)の先頭から0バイト目を先頭バイトとする2Mバイトの4ブロックと、前記領域の先頭から4Mバイト目を先頭バイトとする2.5Mバイトの5ブロックとで構成されている。
【0071】
例えば、ファイル0は、上位ファイルシステムから見た記録媒体イメージファイルの領域の先頭から0バイト目を先頭バイトとする512Kバイトを構成し、ファイル10は、前記データ領域の先頭から4.5Mバイト目を先頭バイトとする512Kバイトを構成する。ファイル4からファイル7は存在しないファイルである。
【0072】
上位ファイルシステムは、これらのファイルを、あたかも記録媒体であるかのようにアクセスする。このため、上位ファイルシステムは、記録媒体イメージファイル内に、上位ファイルシステムが管理する領域管理テーブルと、ファイル管理テーブルとを構成し、それ以外の領域を上位ファイルシステムが管理する論理ブロックとして管理する。上位ファイルシステムは、これらのデータを、前記領域の先頭からのセクタオフセットをアドレス換算してアクセスする。
【0073】
例えば、前記領域の先頭から4095セクタ目をアクセスする場合は、記録媒体イメージファイル上の4095×512=2096640バイト目であり、これは下位ファイルシステム上のファイル3の511Kバイト目に該当する。
【0074】
下位ファイルシステム上に対応するファイルが存在しない場合は、上位ファイルシステムから見て、その領域が未割り当てであることを示している。例えば、記録媒体イメージファイルの領域上で2Mバイト目からの2Mバイトは上位ファイルシステムにとって、領域が確保されていないことを示している。このような領域に対しては、書き込みのみが可能である。但し、書き込みの前に、下位ファイルシステムによるファイルの作成が必要となる。また、下位ファイルシステムは、ファイル中で領域の存在しない箇所への書き込み要求があった場合は、領域の確保を行って、その箇所への書き込みを行う。
【0075】
また、上位ファイルシステムから下位ファイルシステムの特定領域を開放したい場合、上位ファイルシステムから開放したい領域のファイルが指定され、下位ファイルシステムでは、そのファイルを消去する。このとき、削除されたファイルよりも大きい番号を持ったファイルは前詰めしない。これは、下位ファイルシステム上のファイルは、その先頭からの位置が、上位ファイルシステムでの領域管理であるセクタに対応しているためである。
【0076】
以下に、下位ファイルシステム上に中抜けファイルの概念を用いる方法について説明する。
【0077】
図5は、中抜けファイルの概念を説明するための説明図である。
【0078】
同図に示すファイルは、論理ブロックが512Kバイト毎に区切られた下位ファイルシステム上のファイルであり、先頭から0バイト目以上の2Mバイトの4ブロックと、先頭から4Mバイト目以上の2.5Mバイトの5ブロックが確保されたファイルである。このファイルでは、先頭から2Mバイト以上〜4Mバイト目未満の2Mバイトは、領域が確保されていない領域である。この領域に対しては、書き込みのみが可能であるが、書き込みの前には、下位ファイルシステムによる領域の確保が必要となる。領域の確保は、上位ファイルシステムよって、予め下位ファイルシステムに対する領域の確保指示がなされることによって行うことができる。
【0079】
下位ファイルシステムは、ファイル中で領域の存在しない箇所への書き込み指示があった場合は、領域の確保を行ってから、前記箇所への書き込みを行う。また、上位ファイルシステムが、下位ファイルシステムの特定領域を開放したい場合、上位ファイルシステムから、下位ファイルシステムに対して、開放したい領域のオフセットとサイズとが指定されるので、下位ファイルシステムでは、この指定された領域を下位ファイルシステム上のファイル管理領域から削除し、未使用領域管理テーブルへ該当領域を登録する。このとき、下位ファイルシステムは、削除された領域よりも後ろの領域を前詰せずにファイル管理領域を更新する。この処置は、前述したとおりである。すなわち、下位ファイルシステム上のファイルは、その先頭からのオフセットアドレスが、上位ファイルシステムでの領域管理であるセクタに対応するため、オフセットがずれた場合には、上位ファイルシステムの領域管理テーブルを書き換える必要が生じてしまうためである。
【0080】
下位ファイルシステム上のファイル管理で、中抜けファイルを用いることにより、上位ファイルシステムとのインタフェースを、記録媒体のイメージとして保持することができるので、上位ファイルシステムにおける領域管理やファイル管理といった制御を流用して、他の上位ファイルシステムとの記録媒体の共有が可能となる。
【0081】
また、本発明では、上位ファイルシステムの領域管理テーブルと、下位ファイルシステムのファイル管理テーブルとを比較照合するために、電源On/Off時に操作されるフラグを設け、このフラグの論理値に応じて、上位ファイルシステムによって、両者の管理テーブルの不一致(齟齬)の検出及びその復旧が行われる。
【0082】
なお、このフラグは、電源Onの時に、ファイルシステム全体が正しく起動した際に、FALSEに設定され、電源Offの時に、ファイルシステム全体に対する全ての操作が正常に終了したときにTRUEに設定される。
【0083】
一般に、記録媒体に対する操作は、その操作が一定時間内に終了すること(即ち、リアルタイム性)が要求されるAVデータの読み書きと、多少アクセス時間が遅くなっても、正確性が要求される通常データの読み書きとに大別される。特に、AVデータの読み書き時は、そのアクセス量が大容量であるため、要求を伝達してから一定時間以内に処理が終了しない場合に、AVデータをバッファリングするためのバッファのメモリ量が大量に必要となる。
【0084】
しかしながら、ファイルシステムに対して、通常データの読み書きが多く要求されている場合には、AVデータのためのバッファが破綻することも考えられる。特に、上位ファイルシステムが複数あった場合には、例えば、一方の上位ファイルシステムからはAVデータの読み書きを要求され、他方の上位ファイルシステムからは、通常データの読み書きを要求される場合が考えられる。この問題を解決するために、ファイルシステム調停手段を設けることによって、一方の上位ファイルシステムが通常データへの読み書きを要求している場合であっても、他方の上位ファイルシステムによるAVデータの読み書きを行うことができるようにしている。
【0085】
以下、本発明のサブタイトルの最良の実施形態について、〔第1の実施形態〕〜〔第4の実施形態〕の順に図面を参照して詳細に説明する。
〔第1の実施形態〕
図1は、本発明の第1の実施形態に係るファイルシステムの全体構成を示す構成図である。
【0086】
同図において、本実施形態に係るファイルシステムは、記録処理部A(101)と、再生処理部A(102)と、記録処理部A(101)及び再生処理部A(102)に接続された上位ファイルシステムA(103)と、記録処理部B(104)と、再生処理部B(105)と、記録処理部B(104)及び再生処理部B(105)に接続された上位ファイルシステムB(106)と、上位ファイルシステムA(103)及び上位ファイルシステムB(106)を上位ファイルシステムとする下位ファイルシステム107と、再生処理部A(102)及び再生処理部B(105)からの映像音声データ出力を表示するための表示処理部108と、下位ファイルシステム107が操作する実記憶媒体の記録媒体109と、を備えて構成される。
【0087】
この実施形態では、記録処理部A(101)及び再生処理部A(102)と、記録処理部B(104)及び再生処理部B(105)とは、記録方式が異なる2系統の記録再生処理部であるものとする。例えば、一方は、デジタル放送チューナーを通じて、MPEG2−TS(トランスポートストリーム)の形式で記録再生を行い、他方は、MPEG2エンコーダを用いて、アナログ放送をMPEG2−PS(プログラムストリーム)の形式で記録再生を行うものであってもよい。
【0088】
ちなみに、デジタル放送をMPEG2−TS形式のまま記録することには、IEEE1394接続を通じて、D−VHS機器へコピーしたり、記録媒体から再生するときにも多重化されているデータ放送などを閲覧できるといったメリットがある。MPEG2−PS形式は、DVDで採用されている記録形式でもあるので、再エンコーディング無しで、DVDへコピーできるといったメリットがある。
【0089】
なお、本実施形態では、記録処理部A(101)、再生処理部A(102)、及び上位ファイルシステムA(103)は、MPEG2−TSを処理し、記録処理部B(104)、再生処理部B(105)、及び上位ファイルシステムB(106)は、MPEG2−PSを処理するものとし、また、記録媒体109は、HDD(ハードディスク)であるものとする。
【0090】
記録処理部A(101)は、デジタル放送から得られたMPEG2−TSを、上位ファイルシステムA(103)を介して、記録媒体109に記録する。上位ファイルシステムA(103)は、下位ファイルシステム107を介して、共有の記録媒体109に記録する。
【0091】
再生処理部A(102)は、記録処理部A(101)で記録されたMPEG2−TSストリームからなる記録データを、上位ファイルシステムA(103)を介して、記録媒体109より読み出し、復号化して、表示処理部108に映像データを送出する。
【0092】
記録処理部B(104)は、アナログ放送から得られた映像音声データを、MPEG2でエンコードし、MPEG2−PS形式に変換して、上位ファイルシステムB(106)を介して、記録媒体109に記録する。上位ファイルシステムB(106)は、下位ファイルシステム107を介して、共有の記録媒体109に記録する。
【0093】
再生処理部(B105)は、記録処理部B(104)で記録されたMPEG2−PSストリームからなる記録データを、上位ファイルシステムB(106)を介して、記録媒体109より読み出し、復号化して、表示処理部108に映像データを送出する。
【0094】
表示処理部(108)は、再生処理部A(102)または再生処理部B(105)によって復号化された映像音声データを表示する。
【0095】
図2は、本発明の第1の実施形態に係るファイルシステムにおける上位ファイルシステムの記録媒体イメージと下位ファイルシステムのファイルとの対応関係を示す領域マップである。
【0096】
上位ファイルシステムA(103)は、下位ファイルシステム107の複数のファイルを、あたかも1つの記録媒体であるかのようにアクセスする。上位ファイルシステムA(103)は、第1のファイル管理手段と第1の領域管理手段とを備え、この記録媒体イメージファイル上に、領域管理テーブル(第2の領域管理テーブル)、ファイル管理テーブル、及び論理ブロックを構成する。
【0097】
以下、本実施形態では、上位ファイルシステムA(103)について、その詳細を説明する(なお、上位ファイルシステムB(106)についての詳細は、後述の第2の実施形態で説明する)。
【0098】
ここでは、上位ファイルシステムA(103)での論理ブロックの単位と、記録媒体イメージファイルを構成する下位ファイルシステムの1ファイルの大きさを512Kバイトとする。また、記録媒体イメージファイルは、1セクタ=512バイトであるものとする。
【0099】
図2に示すように、上位ファイルシステムA(103)(図1)は、自己の領域管理テーブルとファイル管理テーブルとを、記録媒体イメージファイルの0セクタ目から4095セクタ目までの間の領域に格納している。これらの情報は、実際には下位ファイルシステム上のファイルに格納されており、記録媒体イメージファイルのセクタxに対する操作は、(1)式によって、下位ファイルシステム上のファイルとそのオフセットに置換される。
ファイル番号y=(x×512)÷(512×1024) AND
ファイルy内のオフセットバイト=MOD((x×512)),(512×1024))
………(1)
但し、(1)式で、MOD(A,B)は、AをBで割った余りを示す。また、ファイル番号yは、下位ファイルのどのファイルに相当するかを示す指標であり、FILE0008のように、ファイル名に固定桁の10進数を割り当てるなどで、ファイル番号yを下位ファイルシステム107のファイルに対応付けることができる。また、ファイルy内のオフセットバイトは、対応づけられたファイルの先頭からのオフセットである。以下、これらを具体例で説明する。
【0100】
例えば、上位ファイルシステムA103上でのセクタ8193は、ファイル番号y=(8193×512)÷(512×1024)=8であり、先頭からMOD(8913×512、512×1024)=512バイト目になる。
【0101】
次に、上位ファイルシステム上に存在するファイルを削除する場合の処理を1例により説明する。
【0102】
図3は、本発明の第1の実施形態に係るファイルシステムにおいて、上位ファイルシステム上に存在するファイルを削除する場合の処理の1例を示すフローチャートである。
【0103】
同図において、まず、APIなどによってアプリケーションから上位ファイルシステムA(103)上のファイルの削除が指示される(ステップS501)。なお、この削除対象のファイルの識別は、ファイル名や、ファイルに対応付けられた識別子(ID)などを用いて行われる。
【0104】
次に、上位ファイルシステムA(103)は、この識別子に対応するファイルのファイル管理テーブルを検索し、ファイル管理テーブルを取得する(ステップS502)。
【0105】
次に、上位ファイルシステムA(103)は、ファイル管理テーブル内で、指定された削除対象のファイルが使用している全ての論理ブロックに対し(ステップS503)、領域管理テーブル上の使用フラグを未使用状態にする(ステップS504)。
【0106】
その後、上記更新したファイル管理テーブルを、記録媒体イメージファイルのものとして、記録媒体イメージファイルに書き込む(ステップS505)。また、更新後の領域管理テーブルを、記録媒体イメージファイルのものとして、記録媒体イメージファイルに書き込む(ステップS506)。なお、この領域管理テーブル内のファイル番号及びファイル内オフセットは、(1)式によって下位ファイルシステム107上の記憶領域に変換されたものである。
【0107】
最後に、上位ファイルシステムA(103)は、未使用になった論理ブロックが下位ファイルシステム107上の1ファイル分が全て上位ファイルシステムA103の領域管理テーブル上で未使用になった場合に限り、該当するファイルを削除する(ステップS507)。
【0108】
次に、上位ファイルシステムA(103)上のファイルに対して記録する場合の処理について図4を参照して説明する。
【0109】
図4は、本発明の第1の実施形態に係るファイルシステムにおいて、上位ファイルシステム上のファイルに対してデータを記録する場合の処理の1例を示すフローチャートである。
【0110】
まず、APIなどによってアプリケーションから上位ファイルシステムA103内のファイルへのデータ記録が指示される(ステップS601)。なお、この記録処理の対象となるファイルの識別は、ファイル名や、ファイルに対応付けられた識別子(ID)などを用いて行う。
【0111】
上位ファイルシステムA(103)は、この識別子に対応する上位ファイルシステムA(103)内のファイルのファイル管理テーブルを取得する(ステップS602)。
【0112】
次に、上位ファイルシステムA(103)は、該当ファイルに対するデータを書き込みする位置に論理ブロックが割り当てられているか否かを検証し(ステップS603)、前記位置に論理ブロックが割り当てられていない場合は、ステップS609に移る。また、前記位置に論理ブロックが割り当てられている場合は、ステップS604に進む。
【0113】
ステップS604では、上位ファイルシステムA(103)は、自己の領域管理テーブル上で使用フラグOFFの論理ブロックを検索する。
【0114】
検索された論理ブロックに該当する領域は、記録媒体イメージファイル上でも領域が存在しない場合がある。そのため、下位ファイルシステム107上にこの論理ブロックに対応するファイルが既に存在するか否かを検証する(ステップS605)。存在しない場合は、その論理ブロックは、上位ファイルシステムA(103)に割り当てられていないことになる。このため、この場合は、下位ファイルシステム107上の未使用領域を上位ファイルシステムA(103)に割り当てる必要があるので、下位ファイルシステム107のAPIを用いて、該当するファイル番号を持ったファイルを作成する(ステップS606)。このとき、ファイル作成と同時に、512Kバイトの領域を該当ファイルに割り当てる。
【0115】
また、前記論理ブロックに対応するファイルが既に下位ファイルシステム107に割り当られていると判定された場合は、上位ファイルシステムA(103)の領域管理テーブルの当該論理ブロックの使用フラグをONにし(ステップS607)、当該ファイルのファイル管理テーブルに、この論理ブロックを登録する(ステップS608)。このとき、図3に示す処理と同様に、更新されたファイル管理テーブルや領域管理テーブルを、仮想記録媒体として下位ファイルシステム上のファイルに書き戻してもよい。
【0116】
ステップS609では、ファイルに論理ブロックが割り当てられていると判定された場合、上位ファイルシステムA(103)は、仮想記録媒体として、下位ファイルシステムの当該ファイルへの書き込みを行う。
【0117】
〔第2の実施形態〕
本発明の第2の実施形態に係るファイルシステムの構成は、本発明の第1の実施形態に係るファイルシステムの構成と同じであるが、本発明の第1の実施形態に係るファイルシステムでは、上位ファイルシステムの記録媒体イメージと下位ファイルシステムのファイルとに対応関係が存在するのに比べて、本実施形態に係るファイルシステムでは、上位ファイルシステムの記録媒体イメージと下位ファイルシステムのファイルデータとに対応関係が存在する。また、下位ファイルシステム上のファイル管理テーブルに無効フラグが用意される。
【0118】
図5は、本発明の第2の実施形態に係るファイルシステムにおける上位ファイルシステムの記録媒体イメージと下位ファイルシステムのファイルデータとの対応関係を示す領域マップである。
【0119】
同図に示す記録媒体イメージファイル(ここではディスクイメージ)は、下位ファイルシステム上の1ファイルによって構成される仮想の記録媒体イメージである。上位ファイルシステムB106は、記録媒体イメージファイル上に、その領域管理テーブル、ファイル管理テーブル、及び上位ファイルシステムで使用する論理ブロックを構成する。
【0120】
この記録媒体イメージファイルに対応する下位ファイルシステム上のファイル領域は、領域が割り当てられている区間と、割り当てられていない区間(中抜け区間)とが存在する。
【0121】
図6は、下位ファイルシステムのファイル管理テーブルに付加された無効フラグを示す領域マップであり、図6(a)はその第1の構成、図6(b)はその第2の構成を示すものである。
【0122】
図6(a)に示すように、下位ファイルシステムのファイル管理テーブルは、無効フラグと、先頭論理ブロック番号と、論理ブロック数のリストとを備える。
【0123】
前記先頭論理ブロック番号は、当該論理ブロックに対応する領域が、実際の記録媒体上のどの領域(何ブロック目の領域)から記録されているかを示す値である。また、前記論理ブロック数は、先の先頭論理ブロック番号から連続して何ブロックが当該ファイルに割り当てられている領域であるかを示す値である。無効フラグは、領域が割り当てられている区間であるか否かを示すフラグである。ファイルの途中に、領域の割り当てられていない区間が存在する場合は、ファイル管理テーブルの前記リスト内の該当位置に、割り当てられていない区間の長さを示す論理ブロック数と共に、この無効フラグを立てて挿入する。
【0124】
図6(a)は、図5で示したファイルのファイル管理テーブルであり、1論理ブロックの大きさは、512Kバイトとしている。
【0125】
図6(a)では、無効フラグ=0、先頭論理ブロック番号=10、論理ブロック数=4で示すテーブルが、図4で示す先頭から0バイト目以上の2Mバイトの領域を示す。また、無効フラグ=0、先頭論理ブロック番号=20、論理ブロック数=5で示すテーブルが、図4で示す先頭から4Mバイト目以上の2.5Mバイトの領域を示す。図4では、先頭から2Mバイト目以上の2Mバイトが未割り当てである。この未割り当ての領域を示すテーブルとして、無効フラグ=1、論理ブロック数=4で示す。
【0126】
このファイル管理テーブルの各領域は、その領域よりも前に存在する領域の論理ブロック数の和によって、ファイル先頭からのオフセットが決定する。例えば、先頭から4Mバイト目以上の2.5Mバイトの領域は、ファイル管理テーブルの先頭から(4+4)論理ブロック=8×512Kバイト=4Mバイトの位置に存在している。
【0127】
図6(b)は、無効フラグの代わりに、先頭論理ブロック番号に無効値を入れることによって、図6(a)と同等の機能を実現している。この場合、先頭論理ブロック番号に−1を挿入することによって、ファイル管理テーブルの該当領域が、当該ファイルに未割り当ての領域であることが示される。
【0128】
〔第3の実施形態〕
図7は、本発明の第3の実施形態に係るファイルシステムの全体構成を示す構成図である。
【0129】
同図において、本実施形態に係るファイルシステムは、記録処理部A(201)と、再生処理部A(202)と、記録処理部A(201)及び再生処理部A(202)に接続された上位ファイルシステムA(203)と、記録処理部B(204)と、再生処理部B(205)と、記録処理部B(204)及び再生処理部B(205)に接続された上位ファイルシステムB(206)と、上位ファイルシステムA(203)及び上位ファイルシステムB(206)とに接続されたファイルシステム調停処理部210と、ファイルシステム調停処理部210と接続され、上位ファイルシステムA(203)及び上位ファイルシステムB(206)とを上位ファイルシステムとする下位ファイルシステム207と、再生処理部A(202)及び再生処理部B(205)からの映像音声データ出力を表示するための表示処理部208と、下位ファイルシステム207が操作する実記録媒体の記録媒体209と、を備えて構成される。
【0130】
記録処理部A(201)、再生処理部A(202)は、第1の実施形態で述べた記録処理部A(101)、再生処理部A(102)と同様の処理を行う処理部であり、記録処理部B(204)、再生処理部B(205)は、記録処理部B(104)、再生処理部B(105)と同様の処理を行う処理部であり、表示処理部208は、表示処理部108と同様の表示を行う装置である。
【0131】
上位ファイルシステムA(203)は、上位ファイルシステムA(103)と同様の処理を行うファイルシステムであるが、下位ファイルシステム207を直接操作せず、ファイルシステム調停処理部210を介して操作を行う。
【0132】
上位ファイルシステムB(203)は、上位ファイルシステムB(103)と同様の処理を行うファイルシステムであるが、下位ファイルシステム207を直接操作せず、ファイルシステム調停処理部210を介して操作を行う。
【0133】
ファイルシステム調停処理部210は、上位ファイルシステムA(203)と、上位ファイルシステムB(206)から指示された下位ファイルシステム207への命令を行う処理部である。
【0134】
図8は、本発明の第3の実施形態に係るファイルシステムのファイルシステム調停処理部の1構成例を示す構成図である。
【0135】
同図に示すファイルシステム調停処理部210は、メッセージ受信部801と、制御部802と、下位ファイルシステム実行部803と、メッセージ格納部804とを備えて構成される。
【0136】
なお、この他に、図示は省略するが、上位ファイルシステムA(203)、及び上位ファイルシステムB(206)へ要求された処理の結果を応答する送信部を備えている。
【0137】
メッセージ受信部801は、上位ファイルシステムA(203)、及び上位ファイルシステムB(206)からの要求を受信するための受信部である。また、メッセージ受信部801は、下位ファイルシステム207の実行が終了した場合の通知メッセージも受信する。メッセージ受信部801によって受信するメッセージには、下位ファイルシステム207のどの命令を実行するかを示すデータと、その命令の優先順位を示すデータと、どの上位ファイルシステムから指示されたメッセージかを示すデータとが含まれる。下位ファイルシステム実行部803は、上位ファイルシステムA(203)や上位ファイルシステムB(206)によって指示された下位ファイルシステム207への命令を実際に行う処理部であり、制御部802からの指示の下で実行される。
【0138】
メッセージ格納部804は、メッセージ受信部801によって受信された下位ファイルシステム207への操作要求のうち、処理の優先順位の低い要求を一時格納するための管理領域であり、制御部802によって制御される。
【0139】
制御部802はファイルシステム調停処理部210の全体を制御する処理部である。
【0140】
次に、ファイルシステム調停処理部210の動作を説明する。
【0141】
図9は、本発明の第3の実施形態に係るファイルシステムのファイルシステム調停処理部の動作を示すフローチャートである。
【0142】
以下、図7,8を参照しながら、図9に示すフローチャートを使用して、最初に、ファイルシステム調停処理部210における通常の処理(通常の優先度の処理)を行う時、若しくは下位ファイルシステム207への命令実行中に、より優先度の低い命令を受信した場合の動作を説明する。
【0143】
まず、ファイルシステム調停処理部210は、上位ファイルシステムA(203)や上位ファイルシステムB(206)からの下位ファイルシステム207へのアクセス要求を待つ(ステップS701)。
【0144】
次に、ファイルシステム調停処理部210の制御部802は、メッセージ受信部801に受信したメッセージが、前記上位ファイルシステムのいずれかからのアクセス要求であったか否かを検証し(ステップS702)、受信したメッセージが前記上位ファイルシステムのいずれかからのアクセス要求であった場合にはステップS703に進み、受信したメッセージが前記上位ファイルシステムのいずれのアクセス要求でもない(ここでは、実行終了の通知とする)場合は、ステップS708に移る。
【0145】
ステップS703では、制御部802が、既に受信したメッセージによって下位ファイルシステム207の実行を行っているか否かを検証し、下位ファイルシステム207が実行中の場合はステップS705に進み、下位ファイルシステム207が実行中でない場合はステップS704に移る。
【0146】
ステップS704では、制御部802の制御の下に、下位ファイルシステム実行部803が、受信メッセージに対応した下位ファイルシステム207の命令を実行して、ステップS701に戻る(ステップS701では、上位ファイルシステムA(203)や上位ファイルシステムB(206)からの次のアクセス要求、若しくは実行した下位ファイルシステム207の実行終了を待つ)。
【0147】
ステップS705では、制御部802が、実行中のアクセス要求よりも優先度の高いアクセス要求であるか否かを検証するが、ここでは、前述のとおり、通常の優先度のアクセス要求であるか、若しくは下位ファイルシステム207への命令実行中に、より優先度の低い命令を受信した場合であるので、ステップS706に移る。
【0148】
ステップS706では、制御部802が、受信したメッセージを、メッセージ格納部804に格納し、ステップS701に戻る(ステップS701では、上位ファイルシステムA(203)や上位ファイルシステムB(206)からの次のアクセス要求、若しくは実行した下位ファイルシステム207の実行終了を待つ)。
【0149】
ステップS708では、命令を要求した上位ファイルシステムに対して、図示しない送信部から、実行が終了したことを通知する。その後、メッセージ格納部804内に保留中の命令が存在するか否かを検証し(ステップS709)、保留中の命令が存在する場合はステップS710に進み、保留中の命令が存在しない場合はステップS701に戻る(ステップS701では、上位ファイルシステムA(203)や上位ファイルシステムB(206)からの次のアクセス要求、若しくは実行した下位ファイルシステム207の実行終了を待つ)。
【0150】
ステップS710では、メッセージ格納部804内に保留中の命令のうち、最優先メッセージを取得してステップS704に移る。
【0151】
次に、下位ファイルシステム207への命令実行中に、より優先度の高い命令を受信した場合の動作について説明する。
【0152】
この場合の動作は、ステップS705までは前述の通常の処理と同じであるが、ステップS705の判定結果が前述の処理とは異なるので、以下では、ステップS705以降の処理について説明する。
【0153】
ステップS705では、制御部802が、今回受信したメッセージと現在実行中の命令との優先度を比較するが、この場合は、今回受信したメッセージの優先度の方が高いので、ステップS707に進む。
【0154】
ステップS707では、下位ファイルシステム実行部803が、現在実行中の下位ファイルシステムの命令を中断させ、また、制御部802が、この中断した命令を保留命令として、メッセージ格納部804に格納し(ステップS707)、その後、前述のステップS704に進む。
【0155】
前述の一度中断されたメッセージは、優先度の高い命令の実行終了時に実行する。なお、ステップS701において、下位ファイルシステム207からの命令の実行終了の応答を受信した場合、その後のステップS702における検証により前述のステップS708に移る(命令を発行した上位ファイルシステムに対して通知される)。
【0156】
〔第4の実施形態〕
本発明の第4の実施形態に係るファイルシステムの全体構成は、本発明の第1の実施形態に係るファイルシステムの全体構成(図1)と同じであるが、下位ファイルシステム107(図1)には、電源のOn/Off時に論理値が操作される遮断フラグ(図示は省略)を備える。この遮断フラグは、電源Onの時に、ファイルシステム全体が正しく起動した際に、下位ファイルシステム107によってFALSEに設定され、電源Offの時に、ファイルシステム全体に対する全ての操作が正常に終了したときに下位ファイルシステム107によってTRUEに設定される。
【0157】
上位ファイルシステム(上位ファイルシステムA(103)と下位ファイルシステムB(106)とのいずれか)は、この遮断フラグの論理値を参照して、上位ファイルシステムA(103)と下位ファイルシステムB(106)との間の齟齬を検出する動作を行うかどうかを判定する。
【0158】
図10は、本発明の第4の実施形態に係るファイルシステムにおいて、下位ファイルシステムとの齟齬を検出し、ファイルシステム間の齟齬を整合化する場合の動作例を示すフローチャートである。
【0159】
以下、図1を参照しながら、図10に示すフローチャートを使用して、下位ファイルシステム107との齟齬を検出し、ファイルシステム間の齟齬を整合化する場合の動作例を説明する。
【0160】
まず、上位ファイルシステム(上位ファイルシステムA(103)と下位ファイルシステムB(106)とのいずれか)は、電源がONにされたときに、前述の遮断フラグの論理値を取得する(ステップS1401)。
【0161】
次に、前記上位ファイルシステムは、この遮断フラグの論理値を検証し(ステップS1402)、この遮断フラグの論理値がTRUEの場合は、正しく電源が落ちたものとして、直ちに処理を終了するが、この遮断フラグの論理値かFALSEの場合は、前記上位ファイルシステムと下位ファイルシステム107間に齟齬が存在する可能性があるので、ステップS1403に進む。
【0162】
ステップS1403では、前記上位ファイルシステムは、自己の領域管理テーブルを取得する。
【0163】
次に、前記上位ファイルシステムは、自己の記録媒体イメージファイルに対応する下位ファイルシステム107上のファイル管理テーブルを取得する(ステップS1404)。
【0164】
次に、前記上位ファイルシステムは、この2つのテーブルの領域を比較する(ステップS1405)。
【0165】
引き続き、前記上位ファイルシステムは、上記比較結果を検証し(ステップS1406)、領域が一致した場合は直ちに処理を終了する。また、領域が一致しなかった場合は自己と下位ファイルシステム107との間に齟齬が存在するものとして、2つのテーブルを整合化するために各々のテーブルで無駄に確保されている領域を解放し(ステップS1407)、処理を終了する。
【0166】
なお、本発明に係るファイルシステムの各構成要素の処理の少なくとも一部をコンピュータ制御により実行するものとし、かつ、上記処理を、少なくとも図3,4,9,10のフローチャートで示した手順によりコンピュータに実行せしめるプログラムは、半導体メモリを始め、CD−ROMや磁気テープなどのコンピュータ読み取り可能な記録媒体に格納して配付してもよい。そして、少なくともマイクロコンピュータ,パーソナルコンピュータ,汎用コンピュータを範疇に含むコンピュータが、上記の記録媒体から上記プログラムを読み出して、実行するものとしてもよい。
【図面の簡単な説明】
【0167】
【図1】本発明の第1の実施形態に係るファイルシステムの全体構成を示す構成図である。
【図2】本発明の第1の実施形態に係るファイルシステムにおける上位ファイルシステムの記録媒体イメージと下位ファイルシステムのファイルとの対応関係を示す領域マップである。
【図3】本発明の第1の実施形態に係るファイルシステムにおいて、上位ファイルシステム上に存在するファイルを削除する場合の処理の1例を示すフローチャートである。
【図4】本発明の第1の実施形態に係るファイルシステムにおいて、上位ファイルシステム上のファイルに対してデータを記録する場合の処理の1例を示すフローチャートである。
【図5】中抜けファイルの概念を説明するための説明図である。
【図6】下位ファイルシステムのファイル管理テーブルに付加された無効フラグを示す領域マップであり、(a)はその第1の構成、(b)はその第2の構成を示すものである。
【図7】本発明の第3の実施形態に係るファイルシステムの全体構成を示す構成図である。
【図8】本発明の第3の実施形態に係るファイルシステムのファイルシステム調停処理部の1構成例を示す構成図である。
【図9】本発明の第3の実施形態に係るファイルシステムのファイルシステム調停処理部の動作を示すフローチャートである。
【図10】本発明の第4の実施形態に係るファイルシステムにおいて、下位ファイルシステムとの齟齬を検出し、ファイルシステム間の齟齬を整合化する場合の動作例を示すフローチャートである。
【図11】上位ファイルシステム上のファイルと、下位ファイルシステム上のファイルとの対応関係を示す説明図である。
【図12】従来の一般的なファイルシステムにおける領域管理テーブルの1例を示すものである。
【図13】従来の一般的なファイルシステムが備える領域管理テーブルである。
【図14】図12,13に対応した未使用領域管理テーブルの1例を示すものである。
【符号の説明】
【0168】
101,201 記録処理部A
102,202 再生処理部A
103,203 上位ファイルシステムA
104,204 記録処理部B
105,205 再生処理部B
106,206 上位ファイルシステムB
107,207 下位ファイルシステム
108,208 表示処理部
109,209 記録媒体
210 ファイルシステム調停処理部
801 メッセージ受信部
802 制御部
803 下位ファイルシステム実行部
804 メッセージ格納部

【特許請求の範囲】
【請求項1】
少なくとも、記録媒体と、前記記録媒体上のファイルデータの記録・再生を行う記録・再生制御手段を有する複数のファイルシステムとを備えたファイルシステムにおいて、
前記記録媒体を管理して前記記録媒体に対して直接的にデータの記録・再生を行う記録・再生制御手段を備えた下位ファイルシステムと、
前記下位ファイルシステムを、仮想的な1つの記録媒体として扱う複数の上位ファイルシステムと、
を備えたことを特徴とするファイルシステム。
【請求項2】
前記下位ファイルシステムは、記録媒体を複数の論理ブロックに区切られた領域として管理する第1の領域管理手段と、記録媒体上に記録されたファイルを管理する第1のファイル管理手段と、いずれのファイルにも属さない領域を管理する未使用領域管理手段とを備え、
前記上位ファイルシステムは、前記記憶媒体への記録・読出操作を、前記下位ファイルシステムの前記第1のファイル管理手段によって管理される複数のファイルへの記録・読出操作に変換する変換手段を備えたことを特徴とする請求項1に記載のファイルシステム。
【請求項3】
前記下位ファイルシステムにおける前記第1のファイル管理手段は、自己が管理するテーブルを、自己の各々のファイルに割り当てられた論理ブロックの先頭ブロック番号と、連続ブロック数とを記録したリストによって管理し、前記ファイルの各々のファイル領域の中間に未割り当てのブロックが存在することを許容することを特徴とする請求項2に記載のファイルシステム。
【請求項4】
前記上位ファイルシステムは、前記下位ファイルシステムを仮想的な1つの記録媒体と見なす自己のイメージによってファイル領域を管理する第2の領域管理手段及び第2のファイル管理手段を備え、
前記記憶媒体への記録・読出操作を、前記第1の領域管理手段及び前記第1のファイル管理手段に反映させる手段を備えたことを特徴とする請求項1乃至3のいずれか1項に記載のファイルシステム。
【請求項5】
前記下位ファイルシステムにおける前記第1のファイル管理手段は、自己が管理する各ファイル毎に、ファイルデータ領域の先頭からの論理ブロック番号、論理ブロック数、及びその領域が使用可能であるか否かを示す無効フラグを記録したリストテーブルを備えたことを特徴とする請求項1乃至4のいずれか1項に記載のファイルシステム。
【請求項6】
少なくとも、記録媒体と、前記記録媒体上のファイルデータの記録・再生を行う記録・再生制御手段を有する複数のファイルシステムとを備えたファイルシステムにおいて、
第1の領域管理手段と第1のファイル管理手段により前記記録媒体を管理すると共に前記記録媒体に対して直接的にデータの記録・再生を行う記録・再生制御手段を備えた下位ファイルシステムと、
第1の領域管理手段と第1のファイル管理手段とを備えて、前記下位ファイルシステムを、仮想的な1つの記録媒体として扱う複数の上位ファイルシステムと、
前記複数の上位ファイルシステムと前記下位ファイルシステムとの間に介在し、前記複数の上位ファイルシステムからの前記下位ファイルシステムへの操作を調停するファイルシステム調停処理手段と、
を備えたことを特徴とするファイルシステム。
【請求項7】
前記ファイルシステム調停処理手段は、前記上位ファイルシステムからの実行命令に含まれる優先度に基づいて、前記下位ファイルシステムへの操作の優先度を制御することを特徴とする請求項7に記載のファイルシステム。
【請求項8】
前記上位ファイルシステムは、前記第2の領域管理手段が保持する領域管理テーブルに記録された情報と、前記第1のファイル管理手段が保持するファイル管理テーブルに記録された情報とを比較することにより、前記両者間の不一致を検出する比較手段を備えたことを特徴とする請求項1乃至8のいずれか1項に記載のファイルシステム。
【請求項9】
前記上位ファイルシステムは、前記比較手段によって、前記第2の領域管理手段が保持する領域管理テーブルに記録された情報と、前記第1のファイル管理手段が保持するファイル管理テーブルに記録された情報とに不一致が検出された場合に、前記各テーブルを整合化する手段を備えたことを特徴とする請求項1乃至8のいずれか1項に記載のファイルシステム。
【請求項10】
前記請求項1乃至9のいずれか1項に記載の前記第1のファイル管理手段が備えるファイル領域管理テーブルに記録された情報を、前記記憶媒体のファイル領域に記録することを特徴とするファイルシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2006−201953(P2006−201953A)
【公開日】平成18年8月3日(2006.8.3)
【国際特許分類】
【出願番号】特願2005−11748(P2005−11748)
【出願日】平成17年1月19日(2005.1.19)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】