[go: up one dir, main page]

JP4480592B2 - ファイルシステム - Google Patents

ファイルシステム Download PDF

Info

Publication number
JP4480592B2
JP4480592B2 JP2005011748A JP2005011748A JP4480592B2 JP 4480592 B2 JP4480592 B2 JP 4480592B2 JP 2005011748 A JP2005011748 A JP 2005011748A JP 2005011748 A JP2005011748 A JP 2005011748A JP 4480592 B2 JP4480592 B2 JP 4480592B2
Authority
JP
Japan
Prior art keywords
file
file system
area
recording medium
management table
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.)
Expired - Fee Related
Application number
JP2005011748A
Other languages
English (en)
Other versions
JP2006201953A (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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP2005011748A priority Critical patent/JP4480592B2/ja
Publication of JP2006201953A publication Critical patent/JP2006201953A/ja
Application granted granted Critical
Publication of JP4480592B2 publication Critical patent/JP4480592B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)

Description

本発明はファイルシステムに係り、特に、MPEG2トランスポートストリーム形式を採用したデジタル放送で扱われるデータや、MPEG2プログラムストリーム形式を備えたディスクメディアで扱われるデータ等の、情報量の大きいデータを、リアルタイムで処理する録画再生装置のためのファイルシステムに関する。
近年、高性能なCPU、メモリ、大容量記録媒体等の情報処理機器が低価格で入手できるようになってきている。また、デジタル放送や、DVD、BDといった様々な機器の規格が規定され、大容量のデジタルAVデータを処理できるマルチメディア機器が数多く商品化されてきている。
このようなデジタル化されたAVデータを、記録媒体に書き込んだり、読み出したりする際に、ファイルシステムと呼ばれる管理装置が用いられている。この装置では、記録媒体内の領域に関し、どの領域が使用中であるか、または未使用であるかといった事柄や、どの領域がどのファイルに属するかなどといった事柄を把握して記録媒体の領域管理を行っている。
一般的なファイルシステムでは、後述する領域管理テーブルと、未使用領域管理テーブルと、ファイル管理テーブルの3種類のテーブルを用いて、記録媒体の領域管理を行う。
この領域管理テーブルは、記録媒体の領域を或る定められたサイズ毎のブロックに分割し、各ブロックがいずれかのデータを格納する領域として使用されているかを示すものである。なお、この管理テーブルは、記録媒体に記録されており、その記録媒体上から読み出されてワーキングメモリ上で操作される。
図12は、従来の一般的なファイルシステムにおける領域管理テーブルの1例を示すものである。
同図に示すように、従来の領域管理テーブルでは、そのブロックが使用されているか否かを示す「使用フラグ」を有するのみであり、記録媒体上で構成されるファイルのいずれに属するかという情報は有さないことが多い。なお、図12で示す領域管理テーブルでは、論理ブロック10〜13と、論理ブロック20〜24とが、いずれかのファイルで使用中であり、その他の論理ブロックは未使用であることが示されている。
従来の一般的なファイルシステムでは、図12に示すような領域管理テーブルを操作する手段として、領域管理手段を備えている。
一方、従来の一般的なファイルシステムはファイル管理テーブルも備えているが、このテーブルは、各ファイル毎に構成されるテーブルである。
図13は、従来の一般的なファイルシステムにおけるファイル管理テーブルの1例を示すものである。
同図に示すファイル管理テーブルは、前記領域管理テーブル(図12)の「使用フラグ」で、使用中であることが示されている領域のうち、どの領域が、どのファイルに、どの順で属するかを示すためのテーブルである。
このファイル管理テーブルは、メモリ上で操作され、記録媒体上で記録・読出しがなされる。例えば、図13で示すファイル管理テーブルでは、先頭から4ブロックの情報は、領域管理テーブル上の論理ブロック10〜論理ブロック13までの領域を示し、次の5ブロックの情報は、論理ブロック20〜論理ブロック24までの領域を示している。仮に、1論理ブロック=512Kバイトであった場合は、領域上で先頭から3Mバイトの位置は、3M〔バイト〕÷512K〔バイト〕=6であるために、記録媒体上では、論理ブロック22に位置することが分かる。
一般的なファイルシステムでは、このファイル管理テーブルを操作する手段として、ファイル管理手段を備えている。未使用領域管理テーブルは、上記領域管理テーブルで未使用と判定された領域を検索し易いように、リストされたテーブルであり、メモリ上で構成されることが多い。
図14は、図12,13に対応した未使用領域管理テーブルの1例を示すものである。
同図に示す未使用領域は、論理ブロック0〜論理ブロック9と、論理ブロック14〜論理ブロック19と、論理ブロック25〜論理ブロック29までの領域であるが、これらの領域は、いずれのファイルからも使用されていない領域であり、各領域を連続した領域として、その先頭論理ブロックと、論理ブロック数を記したリストにより管理する。具体的には、(先頭、ブロック数)=(0,10)、(14,6)、(25,5)の3つのリストとして管理する。
一般的なファイルシステムでは、この未使用領域管理テーブルを操作する手段として、未使用領域管理手段を備えている。これらの管理手段は、一般的ではあるが、ファイルシステム毎に管理方法に相違があり、それぞれの用途に応じて異なるファイルシステムを利用することが多い。異なるファイルシステムをアクセスするには、特別な手法が必要となるからである。
そのため、異なるファイルシステムを1つの記録媒体上で共存させる方法として、パーティッションに分けて管理する手法がとられる。
この手法は、記録媒体上にファイルシステム毎の領域範囲を予め決めておくものであり、例えば、PCの世界では、WINDOWS(登録商標)のファイルシステムとUNIX(登録商標)のファイルシステムとを1つの記録媒体上で共存させる場合に用いられている。
しかし、この従来の手法では、ファイルシステム毎の領域が予め分割されてしまうために、片方のファイルシステム上に空きがあったとしても、他のファイルシステムでは、その領域を利用できない。
そこで、特許文献1(特開2001−243096号公報)では、記録媒体を複数の領域に分割し、その領域毎に、領域の未使用領域に、ダミーデータを書き込み、当該ダミーデータには特定のアプリケーションまたは特定のファイルしか上書きできないように構成することによって、複数の領域分割やサイズ変更を容易にしようとする提案がなされている。
特開2001−243096号公報
ところで、従来のファイルシステムは、前述のとおり、異なるファイルシステムを1つの記録媒体上で共存させる方法として、パーティッションに分けて管理する手法がとられるが、ファイルシステム毎の領域が予め分割されてしまうために、片方のファイルシステム上に空きがあったとしても、他のファイルシステムでは、その領域を利用できないといった問題点があった。
また、一般に、ファイルシステムが異なれば、その管理方法も異なるために、記録媒体上の各領域が、異なるファイルシステムによって構成される場合には、一方の未使用領域を他のファイルシステムによって利用することは不可能であるといった問題点があった。
なお、前述の特許文献1の方法では、未使用領域は、ダミーデータ書き込みのために使用されているので、このダミーデータが開放されない限りは、他のファイルシステムによって、使用することはできない。
このため、本発明は、複数のファイルシステムが記憶媒体を共有するシステムにおいて、この記録媒体をパーティション分割することなく、或る任意の1つのファイルシステムで不使用となった領域を、他のファイルシステムのファイルに割り当てることができる録画再生装置のためのファイルシステムを提供することを目的とするものである。
上記課題を解決するために、本発明に係るファイルシステムは、以下の特徴を備えている。
発明は、少なくとも、記録媒体と、前記記録媒体上のファイルデータの記録・再生を行う記録・再生制御手段を有する複数のファイルシステムとを備えたファイルシステムにおいて、
前記記録媒体を管理して前記記録媒体に対して直接的にデータの記録・再生を行う下位ファイルシステムと、前記下位ファイルシステムを、仮想的な1つの記録媒体として扱う複数の上位ファイルシステムと、を備え
前記下位ファイルシステムは、前記記録媒体を複数の論理ブロックに区切り、該論理ブロックがデータを格納する領域として使用していることを示す情報を格納する第1の領域管理テーブルを管理する第1の領域管理手段と、前記記録媒体上の使用されている領域に記録されたファイルに関する情報を格納する第1のファイル管理テーブルを管理する第1のファイル管理手段と、前記論理ブロックがデータを格納する領域として未使用であることを示す情報を格納する未使用領域管理テーブルを管理する未使用領域管理手段と、前記第1の領域管理テーブル、前記第1のファイル管理テーブル及び前記未使用領域管理テーブルの情報に基づいて前記記録媒体に対して直接的にデータの記録・再生を行う記録・再生制御手段と、を備え、
前記上位ファイルシステムは、前記下位ファイルシステムを仮想的な1つの記録媒体と見なして、該仮想的記録媒体を複数の論理ブロックに区切り、該論理ブロックがデータを格納する領域として使用していることを示す情報を格納する第2の領域管理テーブルを管理する第2の領域管理手段と、前記仮想的記録媒体上の使用されている領域に記録されたファイルに関する情報を格納する第2のファイル管理テーブルを管理する第2のファイル管理手段と、前記仮想的記憶媒体へのファイルの記録・読出操作を、前記下位ファイルシステムによる前記記憶媒体へのファイルの記録・読出操作に変換する変換手段と、前記第2の領域管理テーブルに記録された論理ブロックの領域情報と、前記第1のファイル管理テーブルに記録されたファイルの領域情報とを比較することにより、前記両領域間の不一致を検出する比較手段と、を備え、前記比較手段によって、前記両領域に不一致が検出された場合に、前記両テーブルで不一致の部分の領域を開放して整合化することを特徴とする。
また、本発明は、少なくとも、記録媒体と、前記記録媒体上のファイルデータの記録・再生を行う記録・再生制御手段を有する複数のファイルシステムとを備えたファイルシステムにおいて、
前記記録媒体を管理して前記記録媒体に対して直接的にデータの記録・再生を行う下位ファイルシステムと、前記下位ファイルシステムを、仮想的な1つの記録媒体として扱う複数の上位ファイルシステムと、前記複数の上位ファイルシステムと前記下位ファイルシステムとの間に介在し、前記複数の上位ファイルシステムからの前記下位ファイルシステムへの操作の調停するファイルシステム調停処理手段と、を備え、
前記下位ファイルシステムは、前記記録媒体を複数の論理ブロックに区切り、該論理ブロックがデータを格納する領域として使用していることを示す情報を格納する第1の領域管理テーブルを管理する第1の領域管理手段と、前記記録媒体上の使用されている領域に記録されたファイルに関する情報を格納する第1のファイル管理テーブルを管理する第1のファイル管理手段と、前記論理ブロックがデータを格納する領域として未使用であることを示す情報を格納する未使用領域管理テーブルを管理する未使用領域管理手段と、前記第1の領域管理テーブル、前記第1のファイル管理テーブル及び前記未使用領域管理テーブルの情報に基づいて前記記録媒体に対して直接的にデータの記録・再生を行う記録・再生制御手段と、を備え、
前記上位ファイルシステムは、前記下位ファイルシステムを仮想的な1つの記録媒体と見なして、該仮想的記録媒体を複数の論理ブロックに区切り、該論理ブロックがデータを格納する領域として使用していることを示す情報を格納する第2の領域管理テーブルを管理する第2の領域管理手段と、前記仮想的記録媒体上の使用されている領域に記録されたファイルに関する情報を格納する第2のファイル管理テーブルを管理する第2のファイル管理手段と、前記仮想的記憶媒体へのファイルの記録・読出操作を、前記下位ファイルシステムによる前記記憶媒体へのファイルの記録・読出操作に変換する変換手段と、前記仮想的記憶媒体への記録・読出操作を、前記下位ファイルシステムの前記第1のファイル管理手段によって管理される複数のファイルへの記録・読出操作に変換する変換手段と、を備え、
前記ファイルシステム調停処理手段は、前記上位ファイルシステムからの実行命令があった場合に、前記下位ファイルシステムが実行中でなければ、前記上位ファイルシステムからの実行命令を前記下位ファイルシステムに実行させ、前記下位ファイルシステムが実行中であれば、前記上位ファイルシステムからの実行命令に含まれる優先度に基づいて、実行中の実行命令に含まれる優先度と、新たな実行命令に含まれる優先度とを比較して、優先度が高い方を前記下位ファイルシステムに実行させ、優先度の低い方の実行命令を一旦記憶し、優先度の高い方の実行が終了後に、優先度の低い方の実行命令を実行することを特徴とする
また、前記第1のファイル管理テーブルは、前記記録媒体に記録された各ファイルに割り当てられた論理ブロックの先頭ブロック番号と、連続ブロック数とを格納し、前記ファイルの各々のファイル領域の中間に未割り当てのブロックが存在する場合があることを特徴としている。
さらに、前記第1のファイル管理テーブルは、前記記録媒体に記録された各ファイル毎に、ファイルデータ領域の先頭からの論理ブロック番号、論理ブロック数、及びその領域が使用可能であるか否かを示す無効フラグを記録したことを特徴としている。
さらに、前記第1のファイル管理手段が備える前記第1のファイル領域管理テーブルに記録された情報を、前記記憶媒体のファイル領域に記録することを特徴としている。
以上説明したように、本発明のファイルシステムによれば、システム構成を、少なくとも2つ以上の上位ファイルシステムと、下位ファイルシステムとに分離する構成としたので、記録媒体へのアクセス方法が異なる複数の上位ファイルシステムを、1つの記録媒体上で共存させると共に、任意の1つの上位ファイルシステムで不要になった領域を、他の上位ファイルシステムで再使用することができるファイルシステムを提供することができる。
また、上位ファイルシステム上のファイルに対する操作を、下位ファイルシステムの複数のファイルに対する操作へ変換する変換手段を設けたので、上位ファイルシステム上に領域管理テーブルと未使用領域管理テーブルを持つ必要がなくなるために、複数の上位ファイルシステム間で未使用領域を共有することが可能となる。
また、上位ファイルシステムに対する操作を、下位ファイルシステム上の複数のファイルに対する操作へ変換する変換手段を設けたので、上位ファイルシステムは、下位ファイルシステム上のファイルを、あたかも記録媒体であるかのように操作することができる。また、上位ファイルシステム内の領域管理テーブル内で、領域の開放や登録があった場合には、該当する領域である下位ファイルシステムのファイルを消去、作成することによって、複数の上位ファイルシステム間で、記録媒体上の未使用領域を共有することができる。
また、上位ファイルシステムが、下位ファイルシステムに属するファイルを、仮想的な記録媒体として管理することで、上位ファイルシステム上に領域管理テーブルとファイル管理テーブルとを保持する構成を残しつつ、複数の上位ファイルシステム間で、下位ファイルシステムの未使用領域を共有することができる。
また、下位ファイルシステムで管理されるファイルを示すファイル管理テーブルは、ファイル毎のファイル領域の先頭からの論理ブロック番号、論理ブロック数、及びその領域が使用可能であるか否かを示す無効フラグを記録したリストテーブルを管理し、また、適宜参照することによって、例えば、ファイル領域の中間に領域の存在しない中抜け構造のファイルを作成することが可能となり、上位ファイルシステムが、下位ファイルシステムに属するファイルを仮想的な記録媒体として操作する場合、例えば、この仮想的な記録媒体上から領域を開放する際に、ファイル内に記録された領域管理テーブルやファイル管理テーブルを書き換えることなく、領域を開放することができる。
また、本発明のファイルシステムによれば、複数の上位ファイルシステムからの下位ファイルシステムに対する操作を調停するファイルシステム調停処理手段を設けたので、例えば、一方の上位ファイルシステムがリアルタイム性を必要とするAVデータのアクセスであり、他方の上位ファイルシステムがPCデータ(即ち、リトライしても正しく読むことが必要なデータ)へのアクセスであった場合に、この調停処理手段による調停により、AVデータのアクセスの方を優先することができるファイルシステムを提供することができる。
また、下位ファイルシステム上で利用している上位ファイルシステムの領域を上位ファイルシステム上で管理される領域管理テーブルと、下位ファイルシステム上で管理されるファイル管理テーブルを比較することによって、ファイルシステム操作中に停電などの理由により、電源がOFFになった場合にファイルシステム間の齟齬を検出することができる。
また、下位ファイルシステム上で利用している上位ファイルシステムの領域を、上位ファイルシステム上で管理する領域管理テーブルと、下位ファイルシステム上で管理するファイル管理テーブルとを比較して、両者が一致しなかった場合に、整合化する手段を設けたので、例えば、ファイルシステムを操作中に、停電などの理由により、上位ファイルシステムと下位ファイルシステムの使用領域との間に齟齬が生じても、常にこの齟齬を復旧させることができる。
さらに、下位ファイルシステムで管理する前記第1のファイル管理テーブルを、ファイルデータ領域の先頭からの論理ブロック番号、論理ブロック数、及びその領域が使用可能であるか否かを示す無効フラグを記録したリストテーブルの形式として、これを記録媒体に書き込むことによって、例えば、電源のON/OFF等によってCPUの記憶領域から消失することがないので、複数の上位ファイルシステムで、記録媒体上の未使用領域を安定して共有できるファイルシステムを実現することができる。
〔概要説明〕
以下、本発明のファイルシステムの実施形態を〔第1の実施形態〕〜〔第4の実施形態〕の順に説明するが、その前に、本発明のファイルシステムの概要を説明する。
本発明のファイルシステムでは、全体を上位ファイルシステムと下位ファイルシステムという多階層構造で構成し、上位ファイルシステムでは、第2のファイル管理手段と第2の領域管理手段とを備えて、主として上位ファイルシステム内のファイル管理テーブルと領域管理テーブルの管理を行い、下位ファイルシステムでは、第1のファイル管理手段と第1の領域管理手段と未使用領域管理手段とを備えて、主として下位ファイルシステム内ファイル管理テーブルと、領域管理テーブルの管理と、未使用領域管理テーブルの管理を行う。
上位ファイルシステムは、各々異なる特徴を有する2つ以上のファイルシステムで構成される。
この上位ファイルシステムでは、自己が保持するAPI(アプリケーション・インターフェース)を介して、ファイル作成やファイルへの書き込みといった内部のファイル管理テーブルと領域管理テーブルの拡張、編集などのファイル領域管理テーブルの部分削除、及びファイルの消去などの操作がなされる。
また、この上位ファイルシステムは、領域を確保する必要が出た場合、下位ファイルシステムで領域を確保できるか否かを検証する。領域確保ができた場合には、内部のファイル管理テーブルと領域管理テーブルを変更し、APIを介して、アプリケーションにその旨を返す。
また、上位ファイルシステムは、領域を開放する必要が出た場合は、上位ファイルシステム内のファイル管理テーブルと領域管理テーブルを変更し、下位ファイルシステムに領域を返す。
この場合は、上位ファイルシステムの実現方法として、上位ファイルシステム上の1ファイルを下位ファイルシステム上の複数ファイルに変換する方法が考えられる。
さらに、この場合、上位ファイルシステムの1つの実現方法として、下位ファイルシステムの複数のファイルを、あたかも1つの記録領域であるかのように操作する方法が可能である。
図11は、上位ファイルシステム(ファイルシステムA,B)上のファイルと、下位ファイルシステム上のファイルとの対応関係を示す説明図である。
上位ファイルシステムAのファイル(ファイルA1)は、例えば、図11に示すように、下位ファイルシステム上の複数ファイル(ファイルC1、ファイルC2)に変換される。
図11に示す上位ファイルシステムAは、下位ファイルシステムのファイルを操作する仮想ファイルシステムであり、上位ファイルシステムに対する操作は、仮想ファイルシステム上で下位ファイルシステムへの操作に変換される。
上位ファイルシステムで操作されるファイルA1は、下位ファイルシステムでは複数のファイルに分割され、即ち、ファイルC1、ファイルC2にマッピングされる。ファイルA1に対する操作は、上位ファイルシステムAによって変換されるファイルC1、ファイルC2のいずれかのファイルに対する操作に変換される。
例えば、ファイルA1の消去の操作は、仮想ファイルシステムA上で、下位ファイルシステムのファイルC1とファイルC2の消去の操作に変換される。
このような方法によれば、上位ファイルシステムでのファイル操作は、全て下位ファイルシステムへの操作に変換され、記録媒体上の領域の使用、未使用は、下位ファイルシステムによって管理されるために、ファイルA1の消去後に、他の上位ファイルシステムが、この消去で生じた空き領域を確保することが可能となる。
また、上位ファイルシステムのもう1つの実現方法として、下位ファイルシステムの複数ファイルの記録領域を連結することにより、あたかも1つの記録領域であるかのように操作することが可能である。
例えば、図11に示す上位ファイルシステムBの記録領域は、下位ファイルシステムの1つの仮想的な記録媒体として扱われる。以下、この仮想的な記録媒体を「記録媒体イメージファイル」と呼称する。
そして、上位ファイルシステムBは、領域管理と、ファイル管理とを行うことができるファイルシステムであって、「記録媒体イメージファイル」上で、下位ファイルシステム上のファイルを操作することになる。
すなわち、上位ファイルシステムBにおける記録媒体上への操作は、全て下位ファイルシステム上のファイルへの操作に変換される。
今、1例として、上位ファイルシステムBが、下位ファイルシステムをHDDのような仮想的な記録媒体としてアクセスする場合について説明する。
上位ファイルシステムBでのアクセスは、全てHDDセクタへのアクセスである。HDDのセクタは一般的に1セクタ=512バイトである。上位ファイルシステムBでは、このHDDへのアクセスを記録媒体イメージファイルに対する操作に変換する。
上位ファイルシステムBで、HDD上へのセクタへの読み書きが必要になった場合に、上位ファイルシステムBは、これを下位ファイルシステム上のファイルに対する読み書きに変換する。例えば、上位ファイルシステムBの記録媒体イメージファイルのセクタxに対する読み書きは、下位ファイルシステムのファイルの先頭から512×xバイト目からの読み書きに変換される。これによって、下位ファイルシステム上のファイルを、あたかもHDDのような記録媒体であるかのように操作することができる。
但し、この方法では、記録媒体イメージファイル内の途中の領域が、上位ファイルシステムにとっては、不要になった場合に、それを下位ファイルシステムの未使用領域として利用することができない。
そのため、本発明では、下記の2通りの方法を用いてこれを解決する。
その1つ目は、下位ファイルシステム上に構成される記録媒体イメージファイルを固定長の複数のファイルとして構成する方法であり、他の1つは、下位ファイルシステム上に中抜けファイルの概念を適用する方法である。
まず、上位ファイルシステムが操作する記録媒体イメージファイルを下位ファイルシステム上に存在する固定長の複数のファイルとして構成する方法について説明する。
図2に示すファイル0〜3及びファイル8〜12は、各々が512Kバイトの大きさで区切られた下位ファイルシステム上のファイルであり、各々のファイルには、ファイル領域の先頭からどの位置に該当するかを示すIDが付与されている。図2に示すように、この複数のファイルは、記録媒体イメージファイルの領域(イメージされる仮想的な領域)の先頭から0バイト目を先頭バイトとする2Mバイトの4ブロックと、前記領域の先頭から4Mバイト目を先頭バイトとする2.5Mバイトの5ブロックとで構成されている。
例えば、ファイル0は、上位ファイルシステムから見た記録媒体イメージファイルの領域の先頭から0バイト目を先頭バイトとする512Kバイトを構成し、ファイル10は、前記データ領域の先頭から4.5Mバイト目を先頭バイトとする512Kバイトを構成する。ファイル4からファイル7は存在しないファイルである。
上位ファイルシステムは、これらのファイルを、あたかも記録媒体であるかのようにアクセスする。このため、上位ファイルシステムは、記録媒体イメージファイル内に、上位ファイルシステムが管理する領域管理テーブルと、ファイル管理テーブルとを構成し、それ以外の領域を上位ファイルシステムが管理する論理ブロックとして管理する。上位ファイルシステムは、これらのデータを、前記領域の先頭からのセクタオフセットをアドレス換算してアクセスする。
例えば、前記領域の先頭から4095セクタ目をアクセスする場合は、記録媒体イメージファイル上の4095×512=2096640バイト目であり、これは下位ファイルシステム上のファイル3の511Kバイト目に該当する。
下位ファイルシステム上に対応するファイルが存在しない場合は、上位ファイルシステムから見て、その領域が未割り当てであることを示している。例えば、記録媒体イメージファイルの領域上で2Mバイト目からの2Mバイトは上位ファイルシステムにとって、領域が確保されていないことを示している。このような領域に対しては、書き込みのみが可能である。但し、書き込みの前に、下位ファイルシステムによるファイルの作成が必要となる。また、下位ファイルシステムは、ファイル中で領域の存在しない箇所への書き込み要求があった場合は、領域の確保を行って、その箇所への書き込みを行う。
また、上位ファイルシステムから下位ファイルシステムの特定領域を開放したい場合、上位ファイルシステムから開放したい領域のファイルが指定され、下位ファイルシステムでは、そのファイルを消去する。このとき、削除されたファイルよりも大きい番号を持ったファイルは前詰めしない。これは、下位ファイルシステム上のファイルは、その先頭からの位置が、上位ファイルシステムでの領域管理であるセクタに対応しているためである。
以下に、下位ファイルシステム上に中抜けファイルの概念を用いる方法について説明する。
図5は、中抜けファイルの概念を説明するための説明図である。
同図に示すファイルは、論理ブロックが512Kバイト毎に区切られた下位ファイルシステム上のファイルであり、先頭から0バイト目以上の2Mバイトの4ブロックと、先頭から4Mバイト目以上の2.5Mバイトの5ブロックが確保されたファイルである。このファイルでは、先頭から2Mバイト以上〜4Mバイト目未満の2Mバイトは、領域が確保されていない領域である。この領域に対しては、書き込みのみが可能であるが、書き込みの前には、下位ファイルシステムによる領域の確保が必要となる。領域の確保は、上位ファイルシステムよって、予め下位ファイルシステムに対する領域の確保指示がなされることによって行うことができる。
下位ファイルシステムは、ファイル中で領域の存在しない箇所への書き込み指示があった場合は、領域の確保を行ってから、前記箇所への書き込みを行う。また、上位ファイルシステムが、下位ファイルシステムの特定領域を開放したい場合、上位ファイルシステムから、下位ファイルシステムに対して、開放したい領域のオフセットとサイズとが指定されるので、下位ファイルシステムでは、この指定された領域を下位ファイルシステム上のファイル管理領域から削除し、未使用領域管理テーブルへ該当領域を登録する。このとき、下位ファイルシステムは、削除された領域よりも後ろの領域を前詰せずにファイル管理領域を更新する。この処置は、前述したとおりである。すなわち、下位ファイルシステム上のファイルは、その先頭からのオフセットアドレスが、上位ファイルシステムでの領域管理であるセクタに対応するため、オフセットがずれた場合には、上位ファイルシステムの領域管理テーブルを書き換える必要が生じてしまうためである。
下位ファイルシステム上のファイル管理で、中抜けファイルを用いることにより、上位ファイルシステムとのインタフェースを、記録媒体のイメージとして保持することができるので、上位ファイルシステムにおける領域管理やファイル管理といった制御を流用して、他の上位ファイルシステムとの記録媒体の共有が可能となる。
また、本発明では、上位ファイルシステムの領域管理テーブルと、下位ファイルシステムのファイル管理テーブルとを比較照合するために、電源On/Off時に操作されるフラグを設け、このフラグの論理値に応じて、上位ファイルシステムによって、両者の管理テーブルの不一致(齟齬)の検出及びその復旧が行われる。
なお、このフラグは、電源Onの時に、ファイルシステム全体が正しく起動した際に、FALSEに設定され、電源Offの時に、ファイルシステム全体に対する全ての操作が正常に終了したときにTRUEに設定される。
一般に、記録媒体に対する操作は、その操作が一定時間内に終了すること(即ち、リアルタイム性)が要求されるAVデータの読み書きと、多少アクセス時間が遅くなっても、正確性が要求される通常データの読み書きとに大別される。特に、AVデータの読み書き時は、そのアクセス量が大容量であるため、要求を伝達してから一定時間以内に処理が終了しない場合に、AVデータをバッファリングするためのバッファのメモリ量が大量に必要となる。
しかしながら、ファイルシステムに対して、通常データの読み書きが多く要求されている場合には、AVデータのためのバッファが破綻することも考えられる。特に、上位ファイルシステムが複数あった場合には、例えば、一方の上位ファイルシステムからはAVデータの読み書きを要求され、他方の上位ファイルシステムからは、通常データの読み書きを要求される場合が考えられる。この問題を解決するために、ファイルシステム調停手段を設けることによって、一方の上位ファイルシステムが通常データへの読み書きを要求している場合であっても、他方の上位ファイルシステムによるAVデータの読み書きを行うことができるようにしている。
以下、本発明のサブタイトルの最良の実施形態について、〔第1の実施形態〕〜〔第4の実施形態〕の順に図面を参照して詳細に説明する。
〔第1の実施形態〕
図1は、本発明の第1の実施形態に係るファイルシステムの全体構成を示す構成図である。
同図において、本実施形態に係るファイルシステムは、記録処理部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と、を備えて構成される。
この実施形態では、記録処理部A(101)及び再生処理部A(102)と、記録処理部B(104)及び再生処理部B(105)とは、記録方式が異なる2系統の記録再生処理部であるものとする。例えば、一方は、デジタル放送チューナーを通じて、MPEG2−TS(トランスポートストリーム)の形式で記録再生を行い、他方は、MPEG2エンコーダを用いて、アナログ放送をMPEG2−PS(プログラムストリーム)の形式で記録再生を行うものであってもよい。
ちなみに、デジタル放送をMPEG2−TS形式のまま記録することには、IEEE1394接続を通じて、D−VHS機器へコピーしたり、記録媒体から再生するときにも多重化されているデータ放送などを閲覧できるといったメリットがある。MPEG2−PS形式は、DVDで採用されている記録形式でもあるので、再エンコーディング無しで、DVDへコピーできるといったメリットがある。
なお、本実施形態では、記録処理部A(101)、再生処理部A(102)、及び上位ファイルシステムA(103)は、MPEG2−TSを処理し、記録処理部B(104)、再生処理部B(105)、及び上位ファイルシステムB(106)は、MPEG2−PSを処理するものとし、また、記録媒体109は、HDD(ハードディスク)であるものとする。
記録処理部A(101)は、デジタル放送から得られたMPEG2−TSを、上位ファイルシステムA(103)を介して、記録媒体109に記録する。上位ファイルシステムA(103)は、下位ファイルシステム107を介して、共有の記録媒体109に記録する。
再生処理部A(102)は、記録処理部A(101)で記録されたMPEG2−TSストリームからなる記録データを、上位ファイルシステムA(103)を介して、記録媒体109より読み出し、復号化して、表示処理部108に映像データを送出する。
記録処理部B(104)は、アナログ放送から得られた映像音声データを、MPEG2でエンコードし、MPEG2−PS形式に変換して、上位ファイルシステムB(106)を介して、記録媒体109に記録する。上位ファイルシステムB(106)は、下位ファイルシステム107を介して、共有の記録媒体109に記録する。
再生処理部(B105)は、記録処理部B(104)で記録されたMPEG2−PSストリームからなる記録データを、上位ファイルシステムB(106)を介して、記録媒体109より読み出し、復号化して、表示処理部108に映像データを送出する。
表示処理部(108)は、再生処理部A(102)または再生処理部B(105)によって復号化された映像音声データを表示する。
図2は、本発明の第1の実施形態に係るファイルシステムにおける上位ファイルシステムの記録媒体イメージと下位ファイルシステムのファイルとの対応関係を示す領域マップである。
上位ファイルシステムA(103)は、下位ファイルシステム107の複数のファイルを、あたかも1つの記録媒体であるかのようにアクセスする。上位ファイルシステムA(103)は、第のファイル管理手段と第の領域管理手段とを備え、この記録媒体イメージファイル上に、領域管理テーブル(第2の領域管理テーブル)、ファイル管理テーブル、及び論理ブロックを構成する。
以下、本実施形態では、上位ファイルシステムA(103)について、その詳細を説明する(なお、上位ファイルシステムB(106)についての詳細は、後述の第2の実施形態で説明する)。
ここでは、上位ファイルシステムA(103)での論理ブロックの単位と、記録媒体イメージファイルを構成する下位ファイルシステムの1ファイルの大きさを512Kバイトとする。また、記録媒体イメージファイルは、1セクタ=512バイトであるものとする。
図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内のオフセットバイトは、対応づけられたファイルの先頭からのオフセットである。以下、これらを具体例で説明する。
例えば、上位ファイルシステムA103上でのセクタ8193は、ファイル番号y=(8193×512)÷(512×1024)=8であり、先頭からMOD(8913×512、512×1024)=512バイト目になる。
次に、上位ファイルシステム上に存在するファイルを削除する場合の処理を1例により説明する。
図3は、本発明の第1の実施形態に係るファイルシステムにおいて、上位ファイルシステム上に存在するファイルを削除する場合の処理の1例を示すフローチャートである。
同図において、まず、APIなどによってアプリケーションから上位ファイルシステムA(103)上のファイルの削除が指示される(ステップS501)。なお、この削除対象のファイルの識別は、ファイル名や、ファイルに対応付けられた識別子(ID)などを用いて行われる。
次に、上位ファイルシステムA(103)は、この識別子に対応するファイルのファイル管理テーブルを検索し、ファイル管理テーブルを取得する(ステップS502)。
次に、上位ファイルシステムA(103)は、ファイル管理テーブル内で、指定された削除対象のファイルが使用している全ての論理ブロックに対し(ステップS503)、領域管理テーブル上の使用フラグを未使用状態にする(ステップS504)。
その後、上記更新したファイル管理テーブルを、記録媒体イメージファイルのものとして、記録媒体イメージファイルに書き込む(ステップS505)。また、更新後の領域管理テーブルを、記録媒体イメージファイルのものとして、記録媒体イメージファイルに書き込む(ステップS506)。なお、この領域管理テーブル内のファイル番号及びファイル内オフセットは、(1)式によって下位ファイルシステム107上の記憶領域に変換されたものである。
最後に、上位ファイルシステムA(103)は、未使用になった論理ブロックが下位ファイルシステム107上の1ファイル分が全て上位ファイルシステムA103の領域管理テーブル上で未使用になった場合に限り、該当するファイルを削除する(ステップS507)。
次に、上位ファイルシステムA(103)上のファイルに対して記録する場合の処理について図4を参照して説明する。
図4は、本発明の第1の実施形態に係るファイルシステムにおいて、上位ファイルシステム上のファイルに対してデータを記録する場合の処理の1例を示すフローチャートである。
まず、APIなどによってアプリケーションから上位ファイルシステムA103内のファイルへのデータ記録が指示される(ステップS601)。なお、この記録処理の対象となるファイルの識別は、ファイル名や、ファイルに対応付けられた識別子(ID)などを用いて行う。
上位ファイルシステムA(103)は、この識別子に対応する上位ファイルシステムA(103)内のファイルのファイル管理テーブルを取得する(ステップS602)。
次に、上位ファイルシステムA(103)は、該当ファイルに対するデータを書き込みする位置に論理ブロックが割り当てられているか否かを検証し(ステップS603)、前記位置に論理ブロックが割り当てられていない場合は、ステップS609に移る。また、前記位置に論理ブロックが割り当てられている場合は、ステップS604に進む。
ステップS604では、上位ファイルシステムA(103)は、自己の領域管理テーブル上で使用フラグOFFの論理ブロックを検索する。
検索された論理ブロックに該当する領域は、記録媒体イメージファイル上でも領域が存在しない場合がある。そのため、下位ファイルシステム107上にこの論理ブロックに対応するファイルが既に存在するか否かを検証する(ステップS605)。存在しない場合は、その論理ブロックは、上位ファイルシステムA(103)に割り当てられていないことになる。このため、この場合は、下位ファイルシステム107上の未使用領域を上位ファイルシステムA(103)に割り当てる必要があるので、下位ファイルシステム107のAPIを用いて、該当するファイル番号を持ったファイルを作成する(ステップS606)。このとき、ファイル作成と同時に、512Kバイトの領域を該当ファイルに割り当てる。
また、前記論理ブロックに対応するファイルが既に下位ファイルシステム107に割り当られていると判定された場合は、上位ファイルシステムA(103)の領域管理テーブルの当該論理ブロックの使用フラグをONにし(ステップS607)、当該ファイルのファイル管理テーブルに、この論理ブロックを登録する(ステップS608)。このとき、図3に示す処理と同様に、更新されたファイル管理テーブルや領域管理テーブルを、仮想記録媒体として下位ファイルシステム上のファイルに書き戻してもよい。
ステップS609では、ファイルに論理ブロックが割り当てられていると判定された場合、上位ファイルシステムA(103)は、仮想記録媒体として、下位ファイルシステムの当該ファイルへの書き込みを行う。
〔第2の実施形態〕
本発明の第2の実施形態に係るファイルシステムの構成は、本発明の第1の実施形態に係るファイルシステムの構成と同じであるが、本発明の第1の実施形態に係るファイルシステムでは、上位ファイルシステムの記録媒体イメージと下位ファイルシステムのファイルとに対応関係が存在するのに比べて、本実施形態に係るファイルシステムでは、上位ファイルシステムの記録媒体イメージと下位ファイルシステムのファイルデータとに対応関係が存在する。また、下位ファイルシステム上のファイル管理テーブルに無効フラグが用意される。
図5は、本発明の第2の実施形態に係るファイルシステムにおける上位ファイルシステムの記録媒体イメージと下位ファイルシステムのファイルデータとの対応関係を示す領域マップである。
同図に示す記録媒体イメージファイル(ここではディスクイメージ)は、下位ファイルシステム上の1ファイルによって構成される仮想の記録媒体イメージである。上位ファイルシステムB106は、記録媒体イメージファイル上に、その領域管理テーブル、ファイル管理テーブル、及び上位ファイルシステムで使用する論理ブロックを構成する。
この記録媒体イメージファイルに対応する下位ファイルシステム上のファイル領域は、領域が割り当てられている区間と、割り当てられていない区間(中抜け区間)とが存在する。
図6は、下位ファイルシステムのファイル管理テーブルに付加された無効フラグを示す領域マップであり、図6(a)はその第1の構成、図6(b)はその第2の構成を示すものである。
図6(a)に示すように、下位ファイルシステムのファイル管理テーブルは、無効フラグと、先頭論理ブロック番号と、論理ブロック数のリストとを備える。
前記先頭論理ブロック番号は、当該論理ブロックに対応する領域が、実際の記録媒体上のどの領域(何ブロック目の領域)から記録されているかを示す値である。また、前記論理ブロック数は、先の先頭論理ブロック番号から連続して何ブロックが当該ファイルに割り当てられている領域であるかを示す値である。無効フラグは、領域が割り当てられている区間であるか否かを示すフラグである。ファイルの途中に、領域の割り当てられていない区間が存在する場合は、ファイル管理テーブルの前記リスト内の該当位置に、割り当てられていない区間の長さを示す論理ブロック数と共に、この無効フラグを立てて挿入する。
図6(a)は、図5で示したファイルのファイル管理テーブルであり、1論理ブロックの大きさは、512Kバイトとしている。
図6(a)では、無効フラグ=0、先頭論理ブロック番号=10、論理ブロック数=4で示すテーブルが、図4で示す先頭から0バイト目以上の2Mバイトの領域を示す。また、無効フラグ=0、先頭論理ブロック番号=20、論理ブロック数=5で示すテーブルが、図4で示す先頭から4Mバイト目以上の2.5Mバイトの領域を示す。図4では、先頭から2Mバイト目以上の2Mバイトが未割り当てである。この未割り当ての領域を示すテーブルとして、無効フラグ=1、論理ブロック数=4で示す。
このファイル管理テーブルの各領域は、その領域よりも前に存在する領域の論理ブロック数の和によって、ファイル先頭からのオフセットが決定する。例えば、先頭から4Mバイト目以上の2.5Mバイトの領域は、ファイル管理テーブルの先頭から(4+4)論理ブロック=8×512Kバイト=4Mバイトの位置に存在している。
図6(b)は、無効フラグの代わりに、先頭論理ブロック番号に無効値を入れることによって、図6(a)と同等の機能を実現している。この場合、先頭論理ブロック番号に−1を挿入することによって、ファイル管理テーブルの該当領域が、当該ファイルに未割り当ての領域であることが示される。
〔第3の実施形態〕
図7は、本発明の第3の実施形態に係るファイルシステムの全体構成を示す構成図である。
同図において、本実施形態に係るファイルシステムは、記録処理部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と、を備えて構成される。
記録処理部A(201)、再生処理部A(202)は、第1の実施形態で述べた記録処理部A(101)、再生処理部A(102)と同様の処理を行う処理部であり、記録処理部B(204)、再生処理部B(205)は、記録処理部B(104)、再生処理部B(105)と同様の処理を行う処理部であり、表示処理部208は、表示処理部108と同様の表示を行う装置である。
上位ファイルシステムA(203)は、上位ファイルシステムA(103)と同様の処理を行うファイルシステムであるが、下位ファイルシステム207を直接操作せず、ファイルシステム調停処理部210を介して操作を行う。
上位ファイルシステムB(203)は、上位ファイルシステムB(103)と同様の処理を行うファイルシステムであるが、下位ファイルシステム207を直接操作せず、ファイルシステム調停処理部210を介して操作を行う。
ファイルシステム調停処理部210は、上位ファイルシステムA(203)と、上位ファイルシステムB(206)から指示された下位ファイルシステム207への命令を行う処理部である。
図8は、本発明の第3の実施形態に係るファイルシステムのファイルシステム調停処理部の1構成例を示す構成図である。
同図に示すファイルシステム調停処理部210は、メッセージ受信部801と、制御部802と、下位ファイルシステム実行部803と、メッセージ格納部804とを備えて構成される。
なお、この他に、図示は省略するが、上位ファイルシステムA(203)、及び上位ファイルシステムB(206)へ要求された処理の結果を応答する送信部を備えている。
メッセージ受信部801は、上位ファイルシステムA(203)、及び上位ファイルシステムB(206)からの要求を受信するための受信部である。また、メッセージ受信部801は、下位ファイルシステム207の実行が終了した場合の通知メッセージも受信する。メッセージ受信部801によって受信するメッセージには、下位ファイルシステム207のどの命令を実行するかを示すデータと、その命令の優先順位を示すデータと、どの上位ファイルシステムから指示されたメッセージかを示すデータとが含まれる。下位ファイルシステム実行部803は、上位ファイルシステムA(203)や上位ファイルシステムB(206)によって指示された下位ファイルシステム207への命令を実際に行う処理部であり、制御部802からの指示の下で実行される。
メッセージ格納部804は、メッセージ受信部801によって受信された下位ファイルシステム207への操作要求のうち、処理の優先順位の低い要求を一時格納するための管理領域であり、制御部802によって制御される。
制御部802はファイルシステム調停処理部210の全体を制御する処理部である。
次に、ファイルシステム調停処理部210の動作を説明する。
図9は、本発明の第3の実施形態に係るファイルシステムのファイルシステム調停処理部の動作を示すフローチャートである。
以下、図7,8を参照しながら、図9に示すフローチャートを使用して、最初に、ファイルシステム調停処理部210における通常の処理(通常の優先度の処理)を行う時、若しくは下位ファイルシステム207への命令実行中に、より優先度の低い命令を受信した場合の動作を説明する。
まず、ファイルシステム調停処理部210は、上位ファイルシステムA(203)や上位ファイルシステムB(206)からの下位ファイルシステム207へのアクセス要求を待つ(ステップS701)。
次に、ファイルシステム調停処理部210の制御部802は、メッセージ受信部801に受信したメッセージが、前記上位ファイルシステムのいずれかからのアクセス要求であったか否かを検証し(ステップS702)、受信したメッセージが前記上位ファイルシステムのいずれかからのアクセス要求であった場合にはステップS703に進み、受信したメッセージが前記上位ファイルシステムのいずれのアクセス要求でもない(ここでは、実行終了の通知とする)場合は、ステップS708に移る。
ステップS703では、制御部802が、既に受信したメッセージによって下位ファイルシステム207の実行を行っているか否かを検証し、下位ファイルシステム207が実行中の場合はステップS705に進み、下位ファイルシステム207が実行中でない場合はステップS704に移る。
ステップS704では、制御部802の制御の下に、下位ファイルシステム実行部803が、受信メッセージに対応した下位ファイルシステム207の命令を実行して、ステップS701に戻る(ステップS701では、上位ファイルシステムA(203)や上位ファイルシステムB(206)からの次のアクセス要求、若しくは実行した下位ファイルシステム207の実行終了を待つ)。
ステップS705では、制御部802が、実行中のアクセス要求よりも優先度の高いアクセス要求であるか否かを検証するが、ここでは、前述のとおり、通常の優先度のアクセス要求であるか、若しくは下位ファイルシステム207への命令実行中に、より優先度の低い命令を受信した場合であるので、ステップS706に移る。
ステップS706では、制御部802が、受信したメッセージを、メッセージ格納部804に格納し、ステップS701に戻る(ステップS701では、上位ファイルシステムA(203)や上位ファイルシステムB(206)からの次のアクセス要求、若しくは実行した下位ファイルシステム207の実行終了を待つ)。
ステップS708では、命令を要求した上位ファイルシステムに対して、図示しない送信部から、実行が終了したことを通知する。その後、メッセージ格納部804内に保留中の命令が存在するか否かを検証し(ステップS709)、保留中の命令が存在する場合はステップS710に進み、保留中の命令が存在しない場合はステップS701に戻る(ステップS701では、上位ファイルシステムA(203)や上位ファイルシステムB(206)からの次のアクセス要求、若しくは実行した下位ファイルシステム207の実行終了を待つ)。
ステップS710では、メッセージ格納部804内に保留中の命令のうち、最優先メッセージを取得してステップS704に移る。
次に、下位ファイルシステム207への命令実行中に、より優先度の高い命令を受信した場合の動作について説明する。
この場合の動作は、ステップS705までは前述の通常の処理と同じであるが、ステップS705の判定結果が前述の処理とは異なるので、以下では、ステップS705以降の処理について説明する。
ステップS705では、制御部802が、今回受信したメッセージと現在実行中の命令との優先度を比較するが、この場合は、今回受信したメッセージの優先度の方が高いので、ステップS707に進む。
ステップS707では、下位ファイルシステム実行部803が、現在実行中の下位ファイルシステムの命令を中断させ、また、制御部802が、この中断した命令を保留命令として、メッセージ格納部804に格納し(ステップS707)、その後、前述のステップS704に進む。
前述の一度中断されたメッセージは、優先度の高い命令の実行終了時に実行する。なお、ステップS701において、下位ファイルシステム207からの命令の実行終了の応答を受信した場合、その後のステップS702における検証により前述のステップS708に移る(命令を発行した上位ファイルシステムに対して通知される)。
〔第4の実施形態〕
本発明の第4の実施形態に係るファイルシステムの全体構成は、本発明の第1の実施形態に係るファイルシステムの全体構成(図1)と同じであるが、下位ファイルシステム107(図1)には、電源のOn/Off時に論理値が操作される遮断フラグ(図示は省略)を備える。この遮断フラグは、電源Onの時に、ファイルシステム全体が正しく起動した際に、下位ファイルシステム107によってFALSEに設定され、電源Offの時に、ファイルシステム全体に対する全ての操作が正常に終了したときに下位ファイルシステム107によってTRUEに設定される。
上位ファイルシステム(上位ファイルシステムA(103)と下位ファイルシステムB(106)とのいずれか)は、この遮断フラグの論理値を参照して、上位ファイルシステムA(103)と下位ファイルシステムB(106)との間の齟齬を検出する動作を行うかどうかを判定する。
図10は、本発明の第4の実施形態に係るファイルシステムにおいて、下位ファイルシステムとの齟齬を検出し、ファイルシステム間の齟齬を整合化する場合の動作例を示すフローチャートである。
以下、図1を参照しながら、図10に示すフローチャートを使用して、下位ファイルシステム107との齟齬を検出し、ファイルシステム間の齟齬を整合化する場合の動作例を説明する。
まず、上位ファイルシステム(上位ファイルシステムA(103)と下位ファイルシステムB(106)とのいずれか)は、電源がONにされたときに、前述の遮断フラグの論理値を取得する(ステップS1401)。
次に、前記上位ファイルシステムは、この遮断フラグの論理値を検証し(ステップS1402)、この遮断フラグの論理値がTRUEの場合は、正しく電源が落ちたものとして、直ちに処理を終了するが、この遮断フラグの論理値かFALSEの場合は、前記上位ファイルシステムと下位ファイルシステム107間に齟齬が存在する可能性があるので、ステップS1403に進む。
ステップS1403では、前記上位ファイルシステムは、自己の領域管理テーブルを取得する。
次に、前記上位ファイルシステムは、自己の記録媒体イメージファイルに対応する下位ファイルシステム107上のファイル管理テーブルを取得する(ステップS1404)。
次に、前記上位ファイルシステムは、この2つのテーブルの領域を比較する(ステップS1405)。
引き続き、前記上位ファイルシステムは、上記比較結果を検証し(ステップS1406)、領域が一致した場合は直ちに処理を終了する。また、領域が一致しなかった場合は自己と下位ファイルシステム107との間に齟齬が存在するものとして、2つのテーブルを整合化するために各々のテーブルで無駄に確保されている領域を解放し(ステップS1407)、処理を終了する。
なお、本発明に係るファイルシステムの各構成要素の処理の少なくとも一部をコンピュータ制御により実行するものとし、かつ、上記処理を、少なくとも図3,4,9,10のフローチャートで示した手順によりコンピュータに実行せしめるプログラムは、半導体メモリを始め、CD−ROMや磁気テープなどのコンピュータ読み取り可能な記録媒体に格納して配付してもよい。そして、少なくともマイクロコンピュータ,パーソナルコンピュータ,汎用コンピュータを範疇に含むコンピュータが、上記の記録媒体から上記プログラムを読み出して、実行するものとしてもよい。
本発明の第1の実施形態に係るファイルシステムの全体構成を示す構成図である。 本発明の第1の実施形態に係るファイルシステムにおける上位ファイルシステムの記録媒体イメージと下位ファイルシステムのファイルとの対応関係を示す領域マップである。 本発明の第1の実施形態に係るファイルシステムにおいて、上位ファイルシステム上に存在するファイルを削除する場合の処理の1例を示すフローチャートである。 本発明の第1の実施形態に係るファイルシステムにおいて、上位ファイルシステム上のファイルに対してデータを記録する場合の処理の1例を示すフローチャートである。 中抜けファイルの概念を説明するための説明図である。 下位ファイルシステムのファイル管理テーブルに付加された無効フラグを示す領域マップであり、(a)はその第1の構成、(b)はその第2の構成を示すものである。 本発明の第3の実施形態に係るファイルシステムの全体構成を示す構成図である。 本発明の第3の実施形態に係るファイルシステムのファイルシステム調停処理部の1構成例を示す構成図である。 本発明の第3の実施形態に係るファイルシステムのファイルシステム調停処理部の動作を示すフローチャートである。 本発明の第4の実施形態に係るファイルシステムにおいて、下位ファイルシステムとの齟齬を検出し、ファイルシステム間の齟齬を整合化する場合の動作例を示すフローチャートである。 上位ファイルシステム上のファイルと、下位ファイルシステム上のファイルとの対応関係を示す説明図である。 従来の一般的なファイルシステムにおける領域管理テーブルの1例を示すものである。 従来の一般的なファイルシステムが備える領域管理テーブルである。 図12,13に対応した未使用領域管理テーブルの1例を示すものである。
符号の説明
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 メッセージ格納部

Claims (5)

  1. 少なくとも、記録媒体と、前記記録媒体上のファイルデータの記録・再生を行う記録・再生制御手段を有する複数のファイルシステムとを備えたファイルシステムにおいて、
    前記記録媒体を管理して前記記録媒体に対して直接的にデータの記録・再生を行う下位ファイルシステムと、
    前記下位ファイルシステムを、仮想的な1つの記録媒体として扱う複数の上位ファイルシステムと、
    を備え
    前記下位ファイルシステムは、
    前記記録媒体を複数の論理ブロックに区切り、該論理ブロックがデータを格納する領域として使用していることを示す情報を格納する第1の領域管理テーブルを管理する第1の領域管理手段と、
    前記記録媒体上の使用されている領域に記録されたファイルに関する情報を格納する第1のファイル管理テーブルを管理する第1のファイル管理手段と、
    前記論理ブロックがデータを格納する領域として未使用であることを示す情報を格納する未使用領域管理テーブルを管理する未使用領域管理手段と、
    前記第1の領域管理テーブル、前記第1のファイル管理テーブル及び前記未使用領域管理テーブルの情報に基づいて前記記録媒体に対して直接的にデータの記録・再生を行う記録・再生制御手段と、
    を備え、
    前記上位ファイルシステムは、
    前記下位ファイルシステムを仮想的な1つの記録媒体と見なして、該仮想的記録媒体を複数の論理ブロックに区切り、該論理ブロックがデータを格納する領域として使用していることを示す情報を格納する第2の領域管理テーブルを管理する第2の領域管理手段と、
    前記仮想的記録媒体上の使用されている領域に記録されたファイルに関する情報を格納する第2のファイル管理テーブルを管理する第2のファイル管理手段と、
    前記仮想的記憶媒体へのファイルの記録・読出操作を、前記下位ファイルシステムによる前記記憶媒体へのファイルの記録・読出操作に変換する変換手段と、
    前記第2の領域管理テーブルに記録された論理ブロックの領域情報と、前記第1のファイル管理テーブルに記録されたファイルの領域情報とを比較することにより、前記両領域間の不一致を検出する比較手段と、
    を備え、
    前記比較手段によって、前記両領域に不一致が検出された場合に、前記両テーブルで不一致の部分の領域を開放して整合化することを特徴とするファイルシステム。
  2. 少なくとも、記録媒体と、前記記録媒体上のファイルデータの記録・再生を行う記録・再生制御手段を有する複数のファイルシステムとを備えたファイルシステムにおいて、
    前記記録媒体を管理して前記記録媒体に対して直接的にデータの記録・再生を行う下位ファイルシステムと、
    前記下位ファイルシステムを、仮想的な1つの記録媒体として扱う複数の上位ファイルシステムと、
    前記複数の上位ファイルシステムと前記下位ファイルシステムとの間に介在し、前記複数の上位ファイルシステムからの前記下位ファイルシステムへの操作の調停するファイルシステム調停処理手段と、
    を備え、
    前記下位ファイルシステムは、
    前記記録媒体を複数の論理ブロックに区切り、該論理ブロックがデータを格納する領域として使用していることを示す情報を格納する第1の領域管理テーブルを管理する第1の領域管理手段と、
    前記記録媒体上の使用されている領域に記録されたファイルに関する情報を格納する第1のファイル管理テーブルを管理する第1のファイル管理手段と、
    前記論理ブロックがデータを格納する領域として未使用であることを示す情報を格納する未使用領域管理テーブルを管理する未使用領域管理手段と、
    前記第1の領域管理テーブル、前記第1のファイル管理テーブル及び前記未使用領域管理テーブルの情報に基づいて前記記録媒体に対して直接的にデータの記録・再生を行う記録・再生制御手段と、
    を備え、
    前記上位ファイルシステムは、
    前記下位ファイルシステムを仮想的な1つの記録媒体と見なして、該仮想的記録媒体を複数の論理ブロックに区切り、該論理ブロックがデータを格納する領域として使用していることを示す情報を格納する第2の領域管理テーブルを管理する第2の領域管理手段と、
    前記仮想的記録媒体上の使用されている領域に記録されたファイルに関する情報を格納する第2のファイル管理テーブルを管理する第2のファイル管理手段と、
    前記仮想的記憶媒体へのファイルの記録・読出操作を、前記下位ファイルシステムによる前記記憶媒体へのファイルの記録・読出操作に変換する変換手段と、
    前記仮想的記憶媒体への記録・読出操作を、前記下位ファイルシステムの前記第1のファイル管理手段によって管理される複数のファイルへの記録・読出操作に変換する変換手段と、
    を備え、
    前記ファイルシステム調停処理手段は、
    前記上位ファイルシステムからの実行命令があった場合に、前記下位ファイルシステムが実行中でなければ、前記上位ファイルシステムからの実行命令を前記下位ファイルシステムに実行させ、
    前記下位ファイルシステムが実行中であれば、前記上位ファイルシステムからの実行命令に含まれる優先度に基づいて、実行中の実行命令に含まれる優先度と、新たな実行命令に含まれる優先度とを比較して、優先度が高い方を前記下位ファイルシステムに実行させ、優先度の低い方の実行命令を一旦記憶し、優先度の高い方の実行が終了後に、優先度の低い方の実行命令を実行することを特徴とするファイルシステム。
  3. 前記第1のファイル管理テーブルは、前記記録媒体に記録された各ファイルに割り当てられた論理ブロックの先頭ブロック番号と、連続ブロック数とを格納し、前記ファイルの各々のファイル領域の中間に未割り当てのブロックが存在する場合があることを特徴とする請求項1又は2に記載のファイルシステム。
  4. 前記第1のファイル管理テーブルは、前記記録媒体に記録された各ファイル毎に、ファイルデータ領域の先頭からの論理ブロック番号、論理ブロック数、及びその領域が使用可能であるか否かを示す無効フラグを記録したことを特徴とする請求項1又は2に記載のファイルシステム。
  5. 前記第1のファイル管理手段が備える前記第1のファイル領域管理テーブルに記録された情報を、前記記憶媒体のファイル領域に記録することを特徴とする請求項1乃至4のいずれか1項に記載のファイルシステム。
JP2005011748A 2005-01-19 2005-01-19 ファイルシステム Expired - Fee Related JP4480592B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005011748A JP4480592B2 (ja) 2005-01-19 2005-01-19 ファイルシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005011748A JP4480592B2 (ja) 2005-01-19 2005-01-19 ファイルシステム

Publications (2)

Publication Number Publication Date
JP2006201953A JP2006201953A (ja) 2006-08-03
JP4480592B2 true JP4480592B2 (ja) 2010-06-16

Family

ID=36959910

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005011748A Expired - Fee Related JP4480592B2 (ja) 2005-01-19 2005-01-19 ファイルシステム

Country Status (1)

Country Link
JP (1) JP4480592B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5132393B2 (ja) * 2008-03-31 2013-01-30 キヤノン株式会社 情報処理装置、情報管理方法及びプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2831369B2 (ja) * 1989-02-15 1998-12-02 株式会社日立製作所 情報記録再生方式およびシステム
JPH11242850A (ja) * 1998-02-25 1999-09-07 Hitachi Ltd リアルタイムデータ記録方式
JP2001086432A (ja) * 1999-09-09 2001-03-30 Sony Corp 素材情報管理装置および素材情報管理方法並びに番組素材送出装置および番組素材送出方法
JP2001249769A (ja) * 2000-03-07 2001-09-14 Hitachi Ltd 記憶装置
JP3682256B2 (ja) * 2001-11-30 2005-08-10 株式会社東芝 ディスクアレイ装置及び同装置におけるパリティ処理方法
JP2004102701A (ja) * 2002-09-10 2004-04-02 Sony Corp 情報処理装置、情報処理方法、プログラム、記憶媒体
JP4122454B2 (ja) * 2002-12-05 2008-07-23 株式会社日立製作所 ディスク記録媒体への情報記録方法および装置
JP2004252959A (ja) * 2003-01-31 2004-09-09 Matsushita Electric Ind Co Ltd 記録再生装置、記録再生方法、コンピュータプログラム提供媒体、コンピュータプログラム、および記録媒体
JP2004320349A (ja) * 2003-04-15 2004-11-11 Sharp Corp 映像記録装置

Also Published As

Publication number Publication date
JP2006201953A (ja) 2006-08-03

Similar Documents

Publication Publication Date Title
JP5090941B2 (ja) ストレージサブシステム及びストレージシステム
US6724982B1 (en) Digital audiovisual magnetic disk doubly linked list recording format extension to multiple devices
JP3607153B2 (ja) ファイル管理方法及び装置
JP4561759B2 (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
US8977802B2 (en) Access device, information recording device, controller, real time information recording system, access method, and program
JP2006294031A (ja) ネットワーク上での動作のための記憶ドライブ、ネットワークからシーケンシャルアクセス記憶媒体におけるファイルデータにアクセスする方法、ファイルに基づくコマンドを変換するための論理およびtocを格納するための論理を含む記憶論理、磁気テープ、ならびにテープのデータおよびtoc領域にアクセスするための論理
CN100530190C (zh) 用于处理信息的装置和方法
JP4256075B2 (ja) ファイルシステム及び記憶領域の管理方法
JP2019028954A (ja) ストレージ制御装置、プログラム、及び重複排除方法
JP4502375B2 (ja) ファイルシステムおよびその制御方法
JP4464378B2 (ja) 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法
CN101078972B (zh) 数据存储装置和数据存取方法
JP5378604B2 (ja) ThinProvisioningが適用された、メインフレーム系のストレージ装置
JP4480592B2 (ja) ファイルシステム
JP2005215940A (ja) ストレージシステム、サーバ装置及び先行コピーデータ生成方法
JP4211563B2 (ja) 再生記録装置
JP2008287675A (ja) ストレージインタフェース変換装置、情報処理システムおよびコンピュータプログラム
JP4667225B2 (ja) 制御装置およびコピー制御方法
US20050226600A1 (en) Data processing method, device thereof and program
US20140059305A1 (en) Management apparatus, storage device, and initialization method
JP2006323462A (ja) ファイルコピー装置およびファイルコピー方法
JP2007108853A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2004355640A (ja) ファイル管理方法及び装置
KR102167167B1 (ko) Ssd 장치를 관리하는 방법 및 그 ssd 장치
JPH11220693A (ja) 動画像記録装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070302

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091228

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100316

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100316

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130326

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4480592

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130326

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140326

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees