(57)【要約】情報記録媒体に対してデータの読出、記録を行う情報処理装置に、ファイルシステム制御部を設ける。情報処理装置内のシステムメモリ内にファイルシステム制御情報を構築し、ファイルシステム制御部は個々にファイルシステムで管理されている複数の情報記録媒体を仮想的な１つのファイルシステムに統合して制御する。またファイルシステム制御部は同一名称のファイルが存在した場合に、優先的に使用する情報記録媒体を示す優先順位を管理する。この優先順位はアプリケーションプログラムからの要求に応じて変更できる。これにより、複数の情報記録媒体の統合管理が可能となり、かつ同一名称のファイル全てにアプリケーションがアクセスできる。
2005010757.tif 000002
【特許請求の範囲】
【請求項１】
情報記録領域に格納されたデータが個々のファイルシステムによりファイルとして管理される情報記録媒体が複数個存在するとき、前記複数個の情報記録媒体を同時に装着可能とする情報処理装置であって、
前記各情報記録媒体を装着するために前記情報処理装置本体に対して設けられた複数のスロットと、
前記複数の情報記録媒体に構築された個々のファイルシステムを認識し、仮想的な１つのファイルシステムに統合して制御するためのファイルシステム制御情報を保持するシステムメモリ部と、
前記複数個の情報記録媒体の使用に関する優先順位を管理すると共に、アプリケーションプログラムからの要求により、前記ファイルシステム制御情報に含まれるスロット情報及びオープン情報を参照して、前記情報記録媒体に対して論理的な情報記録領域にファイルアクセスするファイルシステム制御部と、
前記ファイルシステム制御部から指定された前記スロット及びアドレスにアクセスし、ファイルのデータを取得するアクセス制御部と、を具備する情報処理装置。
【請求項２】
前記ファイルシステム制御部は、
前記情報処理装置の電源が投入されたとき、前記システムメモリ部に存在する前記ファイルシステム制御情報を一旦初期化し、前記アプリケーションプログラムから見て前記情報記録媒体が未装着、及び全てのファイルがオープンされていない状態に初期設定する請求項１記載の情報処理装置。
【請求項３】
前記ファイルシステム制御部は、
前記情報処理装置の電源が投入されたとき、前記スロットの使用優先順位を各スロット毎に予め設定する請求項１記載の情報処理装置。
【請求項４】
前記ファイルシステム制御部は、
前記情報記録媒体が前記複数のスロットのいずれかに装着されたとき、前記情報記録媒体に記録された管理情報領域のデータ及びデータ領域の一部のデータを参照してスロット情報を作成し、前記ファイルシステム制御情報の一部を構築する請求項１記載の情報処理装置。
【請求項５】
前記ファイルシステム制御部は、
前記情報記録媒体から特定のファイルをオープンするとき、前記ファイルシステム制御情報に含まれる前記スロット情報を参照し、前記ファイルシステム制御情報に含まれる前記優先順位に基づいた順番でスロットに装着された全ての情報記録媒体にアクセスし、アプリケーションが指定したファイルが存在するか否かを確認し、最初に指定ファイルを発見した時点でオープン情報を作成し、他の情報記録媒体に同一名称のファイルが存在した場合に、同一名称のファイルが存在するか否かを示すフラグをファイル情報に登録し、前記オープン情報に関連づけられたファイルハンドルを作成する請求項１記載の情報処理装置。
【請求項６】
前記ファイルシステム制御部は、
前記情報記録媒体から特定のファイルのデータを読み出すとき、前記アプリケーションのファイルオープン時に取得したファイルハンドルを用いて前記オープン情報を参照し、使用すべきスロット情報を決定し、得られたスロット番号を前記アクセス制御部に通知することにより、前記アプリケーションに必要なファイルデータを特定の情報記録媒体から読み出す請求項１記載の情報処理装置。
【請求項７】
前記ファイルシステム制御部は、
前記情報記録媒体に対してファイルのデータを記録するとき、前記アプリケーションのファイルオープン時に取得したファイルハンドルを用いて前記オープン情報を参照し、使用すべきスロット情報を決定し、得られたスロット番号を前記アクセス制御部に通知することにより、前記アプリケーションにより生じたファイルデータを特定の情報記録媒体に記録すると共に、前記システムメモリに保持されたファイルシステム制御情報のスロット情報を更新する請求項１記載の情報処理装置。
【請求項８】
前記ファイルシステム制御部は、
前記情報記録媒体から特定のファイルをクローズするとき、前記アプリケーションのファイルオープン時に取得したファイルハンドルを用いて前記オープン情報を参照し、使用中のスロット番号を決定し、得られたスロット番号を前記アクセス制御部に通知することにより、前記特定の情報記録媒体の管理情報領域に管理情報を記録し、ファイルのオープン情報を初期化する請求項１記載の情報処理装置。
【請求項９】
複数の情報記録媒体内の情報記録領域に夫々格納されたデータを、情報処理装置のファイルシステム制御部とアクセス制御部により管理するファイル管理方法であって、
前記情報記録媒体を装着する複数のスロットに対し使用優先順位を設定し、
前記情報記録媒体が前記複数のスロットのいずれかに装着されたとき、前記情報記録媒体に記録された管理情報領域のデータ及びデータ領域の一部のデータを参照してスロット情報を作成し、ファイルシステム制御情報の一部を生成し、
前記情報記録媒体から特定のファイルをオープンするとき、前記ファイルシステム制御部は前記ファイルシステム制御情報に含まれる前記スロット情報と、前記ファイルシステム制御情報に含まれる前記優先順位を参照し、スロットに装着された全ての情報記録媒体にアクセスし、アプリケーションが指定したファイルが存在するか否かを確認し、指定ファイルが存在する場合にはオープン情報を作成し、同一名称のファイルが存在するか否かを示すフラグをファイル情報に登録することにより、前記ファイルシステム制御情報の残りを生成し、前記複数の情報記録媒体における個々のファイルシステムを統合した統合ファイルシステムを構築し、
前記情報記録媒体から特定のファイルのデータを読み出すとき、前記ファイルシステム制御部は前記アプリケーションのファイルオープン時に取得したファイルハンドルを用いて前記ファイルシステム制御情報のオープン情報を参照し、使用すべきスロット情報を決定し、得られたスロット番号を前記アクセス制御部に通知することにより、前記アプリケーションに必要なファイルデータを特定の情報記録媒体から読み出し、
前記情報記録媒体に対してファイルのデータを記録するとき、前記ファイルシステム制御部は前記アプリケーションのファイルオープン時に取得したファイルハンドルを用いて前記ファイルシステム制御情報を参照し、使用すべきスロット情報を決定し、得られたスロット番号を前記アクセス制御部に通知することにより、前記アプリケーションにより生じたファイルデータを特定の情報記録媒体に記録すると共に、前記ファイルシステム制御情報のスロット情報を更新するファイル管理方法。
【請求項１０】
前記複数の情報記録媒体は、全て同一種類のファイルシステムにより管理されている請求項９記載のファイル管理方法。
【請求項１１】
前記複数の情報記録媒体は、異なる種類のファイルシステムにより管理されている請求項９記載のファイル管理方法。
【請求項１２】
前記ファイルシステム制御部は、複数の情報記録媒体上に存在する同一名称のファイルに対し、前記優先順位に基づきアクセスするファイルを一意に特定する請求項９記載のファイル管理方法。
【請求項１３】
前記ファイルシステム制御部は、前記複数の情報記録媒体上における同一名称のファイルの有無を確認し、前記アプリケーションプログラムに結果を通知する請求項９項記載のファイル管理方法。
【請求項１４】
前記ファイルシステム制御部は、前記複数の情報記録媒体上における同一名称のファイルの有無を確認し、前記アプリケーションプログラムからの任意の時点における要求に応じて結果を通知する請求項９記載のファイル管理方法。
【発明の詳細な説明】
【技術分野】  本発明は、ファイルシステムにより個々に管理されている複数の情報記録媒体を統括して管理するファイル管理方法、及びこのファイル管理方法を用いた情報処理装置に関する。
【背景技術】  情報記録媒体として半導体メモリ、磁気ディスク、光ディスク、光磁気ディスクなどがある。従来、このような情報記録媒体の情報記録領域に格納されたデータの管理は、ファイルシステムにより行われている。ファイルシステムでは、情報記録領域を最小アクセス単位であるセクタ、及びセクタの集合であるクラスタに分割して管理し、１つ以上のクラスタをファイルとして管理する。
従来使用されているファイルシステムとして、ＦＡＴファイルシステムが一例に挙げられる。その詳細は、ＩＳＯ／ＩＥＣ９２９３、“Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ−Ｖｏｌｕｍｅ  ａｎｄ  ｆｉｌｅ  ｓｔｒｕｃｔｕｒｅ  ｏｆ  ｄｉｓｋ  ｃａｒｔｒｉｄｇｅｓ  ｆｏｒ  ｉｎｆｏｒｍａｔｉｏｎ”、１９９４年に開示されている。
ＦＡＴファイルシステムは、パソコンなどの情報機器で一般に用いられているファイルシステムであり、ファイルを構成するデータの物理的な格納位置をＦＡＴ（Ｆｉｌｅ  Ａｌｌｏｃａｔｉｏｎ  Ｔａｂｌｅ）と呼ばれるテーブルにより一元管理する。ＦＡＴファイルシステムによりデータが管理された情報記録媒体は、同一のファイルシステムを解釈する機器間でファイルを共有することができる。このためＦＡＴファイルシステムを用いると、複数の機器間でデータを授受することが可能となる。
このようなファイルシステムは、通常、１つの情報記録媒体の管理を目的として構築されている。複数の情報記録媒体が情報処理装置に存在する場合は、個々の情報記録媒体が夫々独立したファイルシステムで管理される。情報処理装置が複数の情報記録媒体を扱う方法として、従来ドライブによる管理方法、あるいはマウントポイントによる管理方法が存在する。
ドライブによる管理方法では、各情報記録媒体に固有のドライブＩＤ（例えばＣドライブ、Ｄドライブなど）を割り付け、そのドライブＩＤを用いてアクセスすべき情報記録媒体を切り替える。またマウントポイントによる管理方法では、主ファイルシステムが管理しているファイル及びディレクトリにより構成される木構造内の特定箇所に、各情報記録媒体の木構造を割り付ける。そして木構造内のアクセス位置を切り替えることで、アクセスすべき情報記録媒体を切り替える。
しかしながらこれらの方法では、ユーザは複数の情報記録媒体を切り替えて使用する必要があり、情報記録媒体の個数が増加するにつれ、ユーザにかかる負担は大きくなる。また、複数の情報記録媒体が自由に情報処理装置から着脱可能である場合、情報処理装置に装着する順番や位置が異なれば、前回装着された時点とは異なるドライブ、アクセス位置に割り付けられることになる。この場合、ユーザが正しく情報記録媒体を特定することが困難となる。
従来、このような問題を解決する方法として、複数の情報記録媒体を統括する統合ファイルシステムを用いて、アプリケーションとのインターフェースを１つにする方法が提案されている。この方法は例えば特開２０００−１６３２９８号公報に開示されている。この従来の方法では、複数の情報記録媒体を個別のファイルシステムで管理する。そして、各ファイルシステムを統合する統合ファイルシステムをその上位層に設けて、アプリケーションとのインターフェースを１つにする。このようにファイルシステムを２層に分割して管理することで、アプリケーションとのインターフェースを統合し、ユーザにかかる負担を低減する。
しかしながら、上記の従来技術には次のような問題点がある。従来のファイル管理方法は、任意のファイルシステムが構築された情報記録媒体を情報処理装置に付加することで、情報処理装置で扱う記録容量の増加を容易に実現することを目的としている。そのため、複数の情報記録媒体を複数の情報処理装置間で自由に着脱して使用することは想定していない。また複数の情報記録媒体内に同一名称のファイルが存在する場合も想定していない。同一名称のファイルが存在した場合、インターフェースが統一されているため、アプリケーションはどのファイルにアクセスしているか判定することができず、最悪の場合、同一名称のファイル全てがアクセス不能となる可能性があった。
本発明では上記問題点に鑑み、複数の情報記録媒体上に個々にファイルシステムが構築されている場合に、アプリケーションに対し複数の情報記録媒体全体を仮想的に１つのファイルシステムで管理されているように見せると共に、同一名称のファイルが存在する場合にもアプリケーションが各ファイルにアクセスできる方法を実現することを目的とする。
【発明の開示】
本発明の情報処理装置は、情報記録領域に格納されたデータが個々のファイルシステムによりファイルとして管理される情報記録媒体が複数個存在するとき、複数個の情報記録媒体を同時に装着可能にすることを特徴とする。システムメモリ部は複数の情報記録媒体に構築された個々のファイルシステムを認識し、仮想的な１つのファイルシステムに統合して制御するためのファイルシステム制御情報を保持する。ファイルシステム制御部は、複数個の情報記録媒体の使用に関する優先順位を管理すると共に、アプリケーションプログラムからの要求により、ファイルシステム制御情報に含まれるスロット情報及びオープン情報を参照して、情報記録媒体に対して論理的な情報記録領域にファイルアクセスする。
本発明のファイル管理方法は、複数の情報記録媒体内の情報記録領域に夫々格納されたデータを、情報処理装置のファイルシステム制御部とアクセス制御部により管理することを特徴とする。まず情報記録媒体を装着する複数のスロットに対し使用優先順位を設定する。そして、情報記録媒体が複数のスロットのいずれかに装着されたとき、情報記録媒体に記録された管理情報領域のデータ及びデータ領域の一部のデータを参照してスロット情報を作成し、ファイルシステム制御情報の一部を生成する。情報記録媒体から特定のファイルをオープンするとき、ファイルシステム制御部はファイルシステム制御情報に含まれるスロット情報と、ファイルシステム制御情報に含まれる優先順位を参照し、スロットに装着された全ての情報記録媒体にアクセスし、アプリケーションが指定したファイルが存在するか否かを確認する。指定ファイルが存在する場合にはオープン情報を作成し、同一名称のファイルが存在するか否かを示すフラグをファイル情報に登録することにより、ファイルシステム制御情報の残りを生成し、複数の情報記録媒体における個々のファイルシステムを統合した統合ファイルシステムを構築する。情報記録媒体から特定のファイルのデータを読み出すとき、ファイルシステム制御部はアプリケーションのファイルオープン時に取得したファイルハンドルを用いてファイルシステム制御情報のオープン情報を参照し、使用すべきスロット情報を決定する。そして得られたスロット番号をアクセス制御部に通知することにより、アプリケーションに必要なファイルデータを特定の情報記録媒体から読み出す。一方、情報記録媒体に対してファイルのデータを記録するとき、ファイルシステム制御部はアプリケーションのファイルオープン時に取得したファイルハンドルを用いてファイルシステム制御情報を参照し、使用すべきスロット情報を決定する。そして得られたスロット番号をアクセス制御部に通知することにより、アプリケーションにより生じたファイルデータを特定の情報記録媒体に記録すると共に、ファイルシステム制御情報のスロット情報を更新する。
【図面の簡単な説明】  第１図は本発明の実施例における情報処理装置、及び情報記録媒体の構成を示す図である。
第２図はＦＡＴファイルシステムの構成を示す図である。
第３図はＦＡＴファイルシステムのファイルデータ読み込み例を示す図である。
第４図は本発明の実施例におけるファイルシステム制御情報の構成を示す図である。
第５図は情報処理装置の電源投入処理後におけるファイルシステム制御情報の一例を示す図である。
第６図は情報記録媒体の装着時の処理を示すフローチャートである。
第７図は情報記録媒体の装着処理後におけるファイルシステム制御情報の一例を示す図である。
第８図はファイルオープン処理を示すフローチャートである。
第９図はファイルオープン処理後のファイルシステム制御情報の一例を示す図である。
第１０図はファイルリード処理を示すフローチャートである。
第１１図はファイルライト処理を示すフローチャートである。
第１２図はファイルクローズ処理を示すフローチャートである。
第１３図は優先順位変更処理を示すフローチャートである。
第１４図は本発明の実施例におけるファイルシステム制御情報のその他の構成を示す図である。
【発明を実施するための最良の形態】  以下、本発明のファイル管理方法について、図面を参照しつつ説明する。第１図は本発明の実施例におけるファイル管理方法が用いられる情報処理装置、及び情報記録媒体の構成図である。第１図において情報処理装置１００は、ＣＰＵ１０１、システムメモリ１０２、プログラム格納部１０３、アクセス制御部１０４、スロット１０５Ａ〜１０５Ｎを含んで構成される。
システムメモリ１０２は情報処理装置上で動作するプログラムが使用するメモリである。プログラム格納部１０３は情報処理装置上で動作するアプリケーションプログラムなどを格納する部分である。アクセス制御部１０４は情報記録媒体１０６へのアクセスを制御するものである。本実施例の情報処理装置１００は、スロット１０５Ａ、１０５Ｂ、・・・１０５Ｎを備え、複数の情報記録媒体１０６Ａ、１０６Ｂ、・・・１０６Ｎを装着し、これらの情報記録媒体に格納されたデータをアクセスすることができる。
またプログラム格納部１０３は、アプリケーションプログラム１０３ａ（以下、アプリケーションという）と、情報記録媒体１０６内に構築されたファイルシステムを解釈し、データの管理を行うファイルシステム制御部１０３ｂとを含む。
続いて、情報記録媒体１０６Ａ、１０６Ｂ、・・・１０６Ｎの情報記録領域に格納されるファイルシステムの一例として、ＦＡＴファイルシステムについて説明する。第２図はＦＡＴファイルシステムの構成を示す概念図である。ＦＡＴファイルシステムでは、情報記録領域の先頭に情報記録領域を管理するための管理情報領域２００が存在し、引き続いてファイル内のデータなどを格納するデータ領域２１０が存在する。管理情報領域２００は、マスターブートレコード・パーティションテーブル（ＭＢＲ・ＰＴ）２０１、パーティションブートセクタ（ＰＢＳ）２０２、ＦＡＴ２０３、ＦＡＴ２０４、ルートディレクトリエントリ（ＲＤＥ）２０５から構成される。
マスターブートレコード・パーティションテーブル２０１は、情報記録領域を複数のパーティションと呼ばれる領域に分割して管理するための情報を格納する部分である。パーティションブートセクタ２０２は、１つのパーティション内の管理情報を格納する部分である。ＦＡＴ２０３、２０４は、ファイルに含まれるデータの物理的な格納位置を示す部分である。ルートディレクトリエントリ２０５は、ルートディレクトリ直下に存在するファイル、ディレクトリの情報を格納する部分である。また、ＦＡＴは、ファイルに含まれるデータの物理的な格納位置を示す重要な領域であることから、通常、情報記録媒体内には２つの同じ情報を持つＦＡＴ２０３、２０４が存在し、二重化されている。
データ領域２１０は複数のクラスタに分割され管理されており、各クラスタにはファイルのデータが格納されている。多くのデータを格納するファイルなどは、複数のクラスタに跨ってデータを格納しており、各クラスタ間の繋がりは、ＦＡＴ２０３、２０４に格納されたリンク情報により管理されている。
第３図を用いてＦＡＴファイルシステムにおけるファイルデータの読み込み例を説明する。ルートディレクトリエントリ２０５やデータ領域２１０の一部には、第３図（Ａ）に示すようなファイル名やファイルサイズなどを格納するディレクトリエントリ３０１が設けられる。ファイルデータの格納先であるデータ領域２１０はクラスタ単位で管理されており、各クラスタには一意に識別可能なクラスタ番号が付与されている。ファイルデータが格納されているクラスタを特定するために、ディレクトリエントリ３０１には、ファイルデータの先頭部分が格納されているクラスタの番号、即ち開始クラスタ番号が記録されている。第３図（Ａ）のディレクトリエントリ３０１の例は、ＦＩＬＥ１．ＴＸＴという名前を持つファイルのデータが、クラスタ番号１０から格納されていることを示している。
複数のクラスタに跨ってデータが格納されているファイルの場合、開始クラスタ番号以降に続くクラスタ番号を特定し、データが格納されているクラスタを辿る必要がある。そのために必要なクラスタのリンク情報はＦＡＴに格納されている。第３図（Ｂ）にリンク情報を記載したＦＡＴ３０２の例を示す。ＦＡＴ３０２には、各クラスタ番号に対応したフィールドが設けられており、それぞれのフィールドには、各クラスタのリンク情報を示すＦＡＴエントリが設けられる。ＦＡＴエントリは、次にリンクされるクラスタのクラスタ番号が格納されている。第３図（Ｂ）の例では、クラスタ番号１０に対応するＦＡＴエントリとして「１１」が格納されているため、クラスタ番号１０のクラスタは、クラスタ番号１１のクラスタにリンクしていることになる。同様にクラスタ番号１１に対応するＦＡＴエントリには「１２」、クラスタ番号１２に対応するＦＡＴエントリには「１３」が格納されており、クラスタ番号１０、１１、１２、１３の順でリンクされていることになる。次にクラスタ番号１３に対応するＦＡＴエントリには「０ｘＦＦＦ」が格納されているが、「０ｘＦＦＦ」はリンクの終端を意味していることから、クラスタ番号１０で始まるリンクは、１０、１１、１２、１３の４クラスタで終端することになる。また、クラスタ番号１４に対応するＦＡＴエントリに格納されている「０」は、そのクラスタがファイルに割り当てられておらず、空き領域であることを意味している。
第３図（Ａ）、（Ｂ）より、ファイルＦＩＬＥ１．ＴＸＴに割り当てられたデータ領域がクラスタ番号１０、１１、１２、１３であることが認識される。実際にＦＩＬＥ１．ＴＸＴのファイルのデータを読み込む場合には、第３図（Ｃ）に示すように、データ領域３０３のクラスタ番号１０、１１、１２、１３のデータを順次読み込む。
このようにＦＡＴファイルシステムにより管理されているファイルにアクセスするためには、管理情報領域２００の構造を認識し、ルートディレクトリエントリ２０５及びデータ領域２１０に格納されているディレクトリエントリを探索し、所望のファイルに関する情報が格納されたディレクトリエントリ３０１を取得する必要がある。また、ＦＡＴによりデータ領域のクラスタ間のリンク情報を取得し、ファイル内のデータが格納されているデータ領域上の位置を把握する必要がある。そのため、情報記録媒体１０６が情報処理装置１００に装着された後に、情報処理装置１００は管理情報領域２００の情報を読み出し、ファイルアクセスに必要な情報をメモリ上に保持する。
続いて、本実施例におけるファイルシステム制御情報について説明する。第４図は本実施例におけるファイルシステム制御情報の構成を示した説明図である。ファイルシステム制御情報４００はスロット情報４０１とオープン情報４０２とから構成される。スロット情報４０１は、複数存在する情報記録媒体１０６内に構築されている個々のファイルシステムを制御するための情報である。オープン情報４０２はオープンされているファイルの情報である。
スロット情報４０１は、スロット番号、挿入フラグ、優先順位、システム情報を含む。挿入フラグは各スロットに情報記録媒体が挿入されているかを示すフラグである。優先順位はスロットの使用優先度を示すものである。システム情報は挿入されている情報記録媒体内に構築されているファイルシステムに関する情報である。これらの４つの情報を１組として、情報処理装置内に存在するスロット数だけ情報が保持されている。システム情報４０３は１つの情報記録媒体内に構築されたファイルシステムをアクセスするために必要な情報である。システム情報４０３は、媒体ＩＤ、領域情報、クラスタサイズ、セクタサイズ、空き領域長、ＦＡＴメモリ、更新フラグなどから構成される。
媒体ＩＤは媒体の識別に使用するＩＤである。領域情報はパーティションブートセクタやＦＡＴ等の管理情報の配置アドレスとサイズの情報を含む領域である。クラスタサイズ、セクタサイズはファイルシステムがデータ管理の単位として使用しているサイズである。空き領域長は、データ領域中の現在の総空き領域長を示す情報である。ＦＡＴメモリはＦＡＴメモリ上にキャッシュするために使用するメモリである。更新フラグはＦＡＴメモリの更新の有無を示すフラグである。
第１図のファイルシステム制御部１０３ｂは、これらのシステム情報４０３を元に、情報記録媒体１０５内のファイルにアクセスする。スロット情報４０１には、情報処理装置１００に存在するスロット数分のシステム情報４０３が含まれている。ファイルシステム制御部１０３ｂは各情報記録媒体１０５にアクセスする際に、スロット番号に応じて使用するシステム情報４０３を切り替える。
オープン情報４０２は、オープン中のファイルに関する情報であるファイル情報４０４を、オープンされているファイルの数だけ保持している。ファイル情報４０４は、アクセス情報、スロット番号、同一ファイル名フラグから構成される。アクセス情報４０５はファイルのアクセスに必要な情報である。スロット番号はファイルが格納されている情報記録媒体を示す番号である。同一ファイル名フラグは同一ファイル名のファイルが他の情報記録媒体に存在するかを示すフラグである。
さらにアクセス情報４０５は、ファイル名、ファイルサイズ、ファイルの属性、開始クラスタ番号、更新フラグなどから構成される。開始クラスタ番号はファイルのデータが格納されている領域の開始位置を示す番号である。更新フラグはファイルの更新の有無を示すフラグである。第１図のファイルシステム制御部１０３ｂは、これらの情報を元にオープン中のファイルにアクセスする。
本実施例における第１の特徴は、スロット情報４０１に複数存在するシステム情報４０３をアプリケーションが個別に認識する必要がなく、あたかも１つのシステム情報により管理されているかのように複数の情報記録媒体を扱うことができる点である。例えば、システム情報４０３には個々の情報記録媒体１０５の空き領域長が保持されているが、アプリケーションは情報記録媒体の空き領域長として、ファイルシステム制御部１０３ｂによりこれらの空き領域長が合計された値を取得する。このように、ファイルシステム制御部１０３ｂは、ファイルシステム制御情報４００を用いて複数の情報記録媒体１０６Ａ〜１０６Ｎを統括し、アプリケーションに対しては仮想的に１つの情報記録媒体１０６が装着されているかのように見せることができる。
本実施例における第２の特徴は、オープン情報４０２に含まれるファイル情報４０４に、ファイルが格納されている情報記録媒体１０５を示すスロット番号と、同一ファイル名の有無を示す同一ファイル名フラグが存在する点である。本実施例では、複数の情報記録媒体上に同一ファイル名のファイルが存在した場合、スロット情報４０１に格納されている優先順位に従って１つのファイルを選択して使用する。また、各スロットの優先順位はアプリケーションから任意に設定することができ、アプリケーションが所望のファイルを使用することができる。
続いて、本実施例の情報処理装置１００において、
（１）電源投入時の処理、
（２）情報記録媒体を装着するときの処理、
（３）ファイルアクセス処理、
（４）優先順位を変更する処理、について以下に順に説明する。
（１）：情報処理装置１００の電源投入時の処理について、第５図を用いて説明する。情報処理装置１００に電源が投入されると、ファイルシステム制御部１０３ｂはシステムメモリ１０２上に存在するファイルシステム制御情報４００を初期化し、第５図に示す状態のファイルシステム制御情報４００Ａにする。スロット情報４０１Ａでは、全てのスロットに対して挿入フラグがＯＦＦに設定される。この場合システム情報４０３は未格納の状態となる。また、オープン情報４０２Ａもすべて未格納になり、ファイルが１つもオープンされていない状態となる。即ち、情報処理装置１００の電源投入時におけるファイルシステム制御情報４００の初期状態として、情報記録媒体１０６が１つも装着されておらず、ファイルが１つもオープンされていない状態に設定される。従ってファイルシステム制御部１０３ｂは情報記録媒体１０６の装着待ちの状態となる。また、各スロットの使用優先度を示す優先順位は、第５図に示すように各スロットに予め割り当てられている初期値に設定される。
（２）：情報記録媒体１０６の装着時の処理について、第６図及び第７図を用いて説明する。情報処理装置１００に情報記録媒体１０６が装着されると、ファイルシステム制御部１０３ｂは第７図に示すようなスロット情報４０１Ｂの作成を行い、情報記録媒体１０６へアクセスする準備を行う。情報記録媒体１０６の装着時における処理方法を示した第６図を用いて処理手順を説明する。第６図（Ａ）は装着時の処理手順を示したフローチャートである。第６図（Ｂ）はアプリケーション１０３ａ、ファイルシステム制御部１０３ｂ、アクセス制御部１０４の関係を示した説明図である。
情報記録媒体１０６の装着時の処理では、先ず情報記録媒体１０６が装着されたことを示す信号がファイルシステム制御部１０３ｂに伝えられる（Ｓ６０１）。ファイルシステム制御部１０３ｂは情報記録媒体１０６の装着信号を受信すると、受信信号を解釈し、どのスロットに情報記録媒体１０６が装着されたのか判定する（Ｓ６０２）。次に、Ｓ６０２で判定したスロット番号をアクセス制御部１０４に通知し、アクセス制御部１０４は装着された情報記録媒体１０６からファイルシステムの管理情報の読み込みを行う（Ｓ６０３）この管理情報は第２図の管理情報領域２００に記録されている。
アクセス制御部１０４がファイルシステム制御部１０３ｂから読み込み要求を受け取ると、アクセス制御部１０４が実際のデータの読み込みを行う。このときアクセス制御部１０４は、ファイルシステム制御部１０３ｂからスロット番号、読み込み開始位置、読み込みサイズの情報を受け取り、指定されたスロットに装着されている情報記録媒体１０６から、指定位置、指定サイズのデータを読み込む。そして、アクセス制御部１０４はファイルシステム制御部１０３ｂに読み込み結果とデータを返す。また、ファイルシステムの管理情報とは、スロット情報４０１Ｂの作成に必要な情報であり、ＦＡＴファイルシステムの場合は第２図に示すようなマスターブートレコード・パーティションテーブル、パーティションブートセクタ、ＦＡＴである。
次に、取得したファイルシステムの管理情報を元に、スロット情報４０１Ｂを作成する（Ｓ６０４）。このような情報記録媒体１０６の装着時の処理により、ファイルシステム制御情報４００Ｂは第７図に示す状態となる。第７図の例では、スロットＡに情報記録媒体１０６Ａが装着された場合を想定しており、スロットＡに対するスロット情報の挿入フラグがＯＮに設定され、スロットＡに情報記録媒体１０６Ａが装着されていることを示している。また、スロットＡのシステム情報４０３Ｂとして、Ｓ６０３で読み込んだファイルシステムの管理情報を元に、第７図の右側に示すようなシステム情報ＣＩ＿Ａ（システム情報４０３Ｂ）が作成される。
最後に、アプリケーション１０３ａに対して記憶容量が増加したことを通知し、処理を終了する（Ｓ６０５）。アプリケーション１０３ａは、複数の情報記録媒体を１つの仮想的な情報記録媒体として認識しているため、情報記録媒体が新たに装着された場合のＳ６０５の処理により、仮想的な情報記録媒体の記憶容量が増加したと認識する。
（３−１）：ファイルアクセス処理としてのファイルオープン処理について、第８図及び第９図を用いて説明する。アプリケーション１０３ａからファイルオープン要求がファイルシステム制御部１０３ｂに出されると、ファイルシステム制御部１０３ｂはスロット情報４００を用いて、全ての情報記録媒体１０６にアクセスし、アプリケーションが指定したファイルが存在するか否かを確認する。ファイルが存在した場合、オープン情報４０２を作成し、同一名称のファイルが複数存在した場合は、同一名称のファイルが存在する旨をアプリケーションに通知する。
ファイルオープンの処理手順について、第８図を用いて具体的に説明する。第８図（Ａ）はファイルオープンの処理手順を示したフローチャートであり、第８図（Ｂ）はアプリケーション１０３ａ、ファイルシステム制御部１０３ｂ、アクセス制御部１０４間の関係を示した概念図である。また第９図はファイルオープン処理におけるファイルシステム制御情報４００Ｃの説明図である。ファイルオープン処理では、最初にアプリケーション１０３ａからファイルシステム制御部１０３ｂにファイルオープン要求が出される（Ｓ８０１）。ファイルオープン要求では、アプリケーション１０３ａはファイル名のみをファイルシステム制御部１０３ｂに指定し、スロット番号は指定しない。すなわち、アプリケーション１０３ａはスロット番号を意識せずにファイル名のみで情報記録媒体１０６に格納されたファイルにアクセスする。
ファイルシステム制御部１０３ｂはファイルオープン要求を受け取ると、第９図に示すスロット情報４０１Ｃを参照し、情報記録媒体１０６が装着されている全スロットに対するファイル探索処理が完了しているか判定する（Ｓ８０２）。情報処理装置１００に情報記録媒体１０６が１つも装着されていない場合、あるいは全スロットに対するファイル探索処理が完了している場合は、Ｓ８０７の処理に進み、アプリケーション１０３ａに探索処理が完了ことを通知する。Ｓ８０２で探索が完了していない場合、スロット情報４０１Ｃの優先順位に従い、未だ探索が完了していないスロットの内で最も優先順位の高いスロットを選択する（Ｓ８０３）。
次に、Ｓ８０３で選択したスロットの番号をアクセス制御部１０４に指定し、装着された情報記録媒体１０６からファイルやディレクトリの情報が格納されたディレクトリエントリ（以下、エントリという）の読み込みを行う（Ｓ８０４）。このとき、ファイルシステム制御部１０３ｂは、情報記録媒体１０６からの読み込みに必要な読み込み開始位置、読み込みサイズなどの情報に関して、選択したスロットに対応するスロット情報４０１Ｃを基に算出し、アクセス制御部１０４に通知する。
次に、ファイルシステム制御部１０３ｂは、取得したエントリを参照し、アプリケーション１０３ａが指定したファイルに関するエントリが存在するか否かを確認する（Ｓ８０５）。エントリが存在した場合はＳ８０６の処理に進む。エントリが存在しなかった場合、その情報記録媒体１０６に対するファイル探索処理を完了してＳ８０２の処理に戻り、他の情報記録媒体１０６に対するファイル探索処理を継続する。
Ｓ８０５においてアプリケーションが指定したファイルのエントリが存在している場合、ファイルシステム制御部１０３ｂは取得したエントリを基にオープン情報４０２Ｃを作成する（Ｓ８０６）。本実施例では、優先順位の高い情報記録媒体１０６から順にファイル探索処理を行い、最初に該当するファイルが発見された際にオープン情報４０２Ｃを新規に作成する。通常のファイルシステム管理では、該当するファイルが発見された時点でファイル探索処理を終了し、アプリケーション１０３ａにオープン処理が完了したことを通知する。しかしながら、本実施例では全てのスロットに装着された情報記録媒体１０６に対してファイル探索処理が完了するまで処理を継続する。このとき、他の情報記録媒体１０６に同一名称のファイルが存在した場合、先に作成したオープン情報４０２Ｃの同一ファイル名フラグの部分に、同一ファイル名が存在する情報記録媒体１０６のスロット番号を格納する。
第９図の例では、スロットＡに存在するＦｉｌｅ１．ＴＸＴという名称のファイルをオープンしている。同一ファイル名フラグは情報処理装置１００に存在する全スロット数と同数のビット幅を持つフィールドからなり、同一名称のファイルが存在する情報記録媒体のスロット番号に対応するビットが立てられる。第９図の例では、スロットＡ、スロットＮに対応するビットが立てられており、スロットＡとスロットＮにＦＩＬＥ１．ＴＸＴという名称のファイルが存在することを示している。
Ｓ８０６の処理を終了すると、その情報記録媒体１０６に対するファイル探索処理を完了してＳ８０２の処理に戻り、他の情報記録媒体１０６に対するファイル探索処理を継続する。Ｓ８０２の処理において全スロットに対するファイル探索処理が完了した場合、ファイルシステム制御部１０３ｂはアプリケーション１０３ａにオープン結果を通知して処理を終了する（Ｓ８０７）。オープン処理が成功した場合は、ファイルシステム制御部１０３ｂは以降のファイルアクセスに使用するためのファイルハンドルをアプリケーション１０３ａに返す。また、同一ファイル名が存在していた場合、ファイルシステム制御部１０３ｂはファイルハンドルを返すと共に、同一ファイル名が存在していることをアプリケーション１０３ａに通知する。
このように本実施例では、ファイルオープン時にスロット情報４０１Ｃ内の優先順位に従って、全情報記録媒体１０６に対するファイル探索処理を行う。また、該当ファイルが発見されても処理を継続し、他の情報記録媒体１０６に同一名称のファイルが存在するか確認する。これにより、ファイルシステム制御部１０３ｂは同一名称のファイルが存在した場合に、一意にオープン対象のファイルを決定することが可能であり、かつ同一名称のファイルが存在することを常に把握することができる。
（３−２）ファイルアクセス処理としてファイルリード処理について、第１０図を用いて説明する。第１０図（Ａ）はファイルリードの処理手順を示したフローチャートである。第１０図（Ｂ）はアプリケーション１０３ａ、ファイルシステム制御部１０３ｂ、アクセス制御部１０４間の関係を示した概念図である。
ファイルリード処理では、先ずアプリケーション１０３ａからファイルシステム制御部１０３ｂに対してファイルリード要求が出される（Ｓ１００１）。ファイルリード要求では、アプリケーション１０３ａはファイルオープン時に取得したファイルハンドルをファイルシステム制御部１０３ｂに指定する。ファイルシステム制御部１０３ｂはファイルリード要求を受け取ると、指定されたファイルハンドルを基にオープン情報４０２を参照し、使用するスロット情報を決定する（Ｓ１００２）。
次に、ファイルシステム制御部１０３ｂはＳ１００２で決定したスロットの番号をアクセス制御部１０４に指定し、装着された情報記録媒体１０６からデータの読み込みを行う（Ｓ１００３）。このとき、情報記録媒体１０６からの読み込みに必要な読み込み開始位置、読み込みサイズなどの情報は、決定したスロットに対応するスロット情報４０１及びオープン情報４０２を基に算出し、アクセス制御部１０４に通知する。
次に、ファイルシステム制御部１０３ｂはファイルリード処理によりオープン情報の変更が必要な場合、オープン情報を更新する（Ｓ１００４）。最後に、ファイルシステム制御部１０３ｂは情報記録媒体１０６から読み込んだデータとリード結果をアプリケーション１０３ａに通知し、処理を終了する（Ｓ１００５）。
（３−３）ファイルアクセス処理としてのファイルライト処理について説明する。第１１図（Ａ）はファイルライト処理の流れ図である。第１１図（Ｂ）はアプリケーション１０３ａ、ファイルシステム制御部１０３ｂ、アクセス制御部１０４間の関係を示した概念図である。ファイルリード処理と異なる点は、アクセス制御部１０４からアプリケーション１０３ａにデータが渡るのではなく、アプリケーション１０３ａからアクセス制御部１０４にデータが渡る点と、Ｓ１１０４においてスロット情報４０１に含まれるＦＡＴなどが更新された際に、スロット情報４０１が更新される点である。その他の処理はファイルリード処理と同様であり、説明を割愛する。
（３−４）ファイルアクセス処理としてのファイルクローズ処理について説明する。第１２図（Ａ）は処理手順を示したフローチャートであり、第１２図（Ｂ）はアプリケーション１０３ａ、ファイルシステム制御部１０３ｂ、アクセス制御部１０４間の関係を示した概念図である。ファイルクローズ処理では、最初にアプリケーション１０３ａからファイルシステム制御部１０３ｂにファイルクローズ要求が出される（Ｓ１２０１）。ファイルクローズ要求では、アプリケーション１０３ａはファイルオープン時に取得したファイルハンドルをファイルシステム制御部１０３ｂに指定する。ファイルシステム制御部１０３ｂはファイルクローズ要求を受け取ると、指定されたファイルハンドルを基にオープン情報４０２を参照し、使用するスロット情報を決定する（Ｓ１２０２）。
次にファイルシステム制御部１０３ｂは、Ｓ１２０２で決定したスロット情報４０１及びオープン情報４０２を参照し、ファイルシステムの管理情報に関して情報記録媒体１０６へ書き込みが必要なデータの書き込みを行う（Ｓ１２０３）。このとき、ファイルシステム制御部１０３ｂは情報記録媒体１０６への書き込みに必要な書き込み開始位置、書き込みサイズなどの情報に関して、決定したスロットに対応するスロット情報４０１及びオープン情報４０２を基に算出し、アクセス制御部１０４に通知する。
次にファイルシステム制御部１０３ｂは、クローズするファイルのオープン情報４０２を初期化し、スロット情報の変更が必要な場合はスロット情報４０１を更新する（Ｓ１２０４）。最後に、クローズ結果をアプリケーション１０３ａに通知し、処理を終了する（Ｓ１２０５）。
（４）次に優先順位変更処理について、第１３図を用いて説明する。第１３図（Ａ）は処理手順を示したフローチャートであり、第１３図（Ｂ）はアプリケーション１０３ａ、ファイルシステム制御部１０３ｂ、アクセス制御部１０４間の関係を示した概念図である。優先順位変更処理では、最初にアプリケーション１０３ａからファイルシステム制御部１０３ｂに対して優先順位変更要求が出される（Ｓ１３０１）。優先順位変更要求では、アプリケーション１０３ａは変更後の優先順位に関する情報をファイルシステム制御部１０３ｂに指定する。ファイルシステム制御部１０３ｂは優先順位変更要求を受け取ると、スロット情報４０１内に保持された優先順位を更新する（Ｓ１３０２）。最後に、優先順位変更結果をアプリケーション１０３ｂに通知し、処理を終了する（Ｓ１３０３）。
優先順位変更処理は、情報処理装置１００に電源が投入された後の任意の時点で、アプリケーション１０３ａからの要求に応じて実施され、主にアプリケーション１０３ａが同一名称のファイルに対してアクセス先の情報記録媒体１０６を切り替える際に使用される。例えば、アプリケーション１０３ａがＦｉｌｅ１．ＴＸＴという名称のファイルをオープンした際に、ファイルオープン処理の返り値として同一名称のファイルが存在する旨の通知があった場合を想定する。このとき、アプリケーション１０３ａは必要に応じて全ての同一名称のファイルに対する処理を逐次行う。
最初にアプリケーション１０３ａは、ファイルシステム制御部１０３ｂから、Ｆｉｌｅ１．ＴＸＴという名称のファイルが存在する全ての情報記録媒体１０６のスロット番号を取得する。ここで一例として、スロット番号Ａ、Ｂ、Ｃの３つが取得されたとする。次に、優先順位変更処理を行い、スロット番号Ａを第１優先度に設定する。この状態でＦｉｌｅ１．ＴＸＴに対するオープン、リード、ライト、クローズ処理を行い、アプリケーションが必要とするファイルアクセス処理を行う。
次に、優先順位変更処理を行い、スロット番号Ｂを第１優先度に設定した上で、先の処理と同様にＦｉｌｅ１．ＴＸＴに対するファイルアクセス処理を行う。同様にスロットＣに対しても優先順位変更処理及びファイルアクセス処理を行い、情報処理装置１００に装着されている全情報記録媒体１０６上のＦｉｌｅ１．ＴＸＴという名称を持つファイルに対する処理を完了する。こうすると、ファイルシステム制御部１０３ｂはアプリケーション１０３ａが任意のファイル名を持つファイルが格納されている全スロット番号を取得する処理、及び現在オープンしているファイルが格納されているスロット番号を取得する処理を行うことができる。
以上のように本実施例では、複数の情報記録媒体１０６内に構築されているファイルシステムに関する情報をファイルシステム制御部１０３ｂにより一括管理する。そのため、アプリケーション１０３ａは複数の情報記録媒体１０６を個別に認識する必要がなく、あたかも１つの情報記録媒体１０６が装着されているかのように扱うことができる。また、複数の情報記録媒体１０６の装着順や位置が変わった場合でも、アプリケーション１０３ａが情報記録媒体１０６を意識する必要がない。
また、オープンされているファイルに関する情報として、ファイルが格納されている情報記録媒体１０６のスロット番号と、他の情報記録媒体１０６上に同一ファイル名が存在するかを示す同一ファイル名フラグとを保持する。そして各スロットの使用順に優先順位を設定することで、必要に応じてアプリケーション１０３ａが同一名称のファイルの中から任意のファイルを選択して使用する。
なお、以上の各実施例で説明したファイルシステム制御情報４００の構成は一例であり、ファイルシステム制御に関するその他の情報を保持しても良い。また、本実施例ではＡ〜Ｎまでのスロットが情報処理装置１００に存在する場合について説明したが、スロット数は１つ以上であれば任意の数で良い。また、各スロットの使用優先度を示す優先順位の初期値は、スロットと１対１に割り当てられた初期値に毎回優先順位を設定しても良い。また、前回に情報処理装置１００の電源が遮断された時点の優先順位の値を保存しておき、この値を初期値として設定しても良い。
また、スロット情報４０１に格納した優先順位は、既存ファイルの読み込み用の優先順位と、ファイル新規作成用の優先順位を個別に設定するような構成にしてもよい。また、優先順位変更要求において、アプリケーション１０３ａが変更後の優先順位を指定する方法は、スロット番号と新しい優先順位の組を、情報処理装置１００に存在するスロット数だけ用意して指定する形式としてもよいし、その他の形式でもよい。
また、本実施例では、同一名称のファイルが存在した場合、ファイルオープン時にアプリケーションに通知する例について説明した。しかし、ファイルオープン時には通知せず、任意の時点におけるアプリケーションからの要求に応じて同一名称のファイルの有無を通知してもよい。また、同一ファイル名フラグとして、同一名称のファイルが格納されている情報記録媒体１０６のスロットに対応してフラグを立てる例について説明した。しかし、単に同一名称のファイルの有無のみを示すフラグを立ててもよい。
また、本実施の形態では、スロットに装着された情報記録媒体が全てＦＡＴファイルシステムを使用している場合について説明したが、各情報記録媒体が異なるファイルシステムを使用していても良い。この場合におけるファイルシステム制御情報４００Ｄの構成を図１４に示す。図１４の例では、スロットＡに装着された情報記録媒体がＦＡＴファイルシステムを使用しており、スロットＮに装着された情報記録媒体がＵＤＦファイルシステムを使用している場合を想定している。
図４と異なる点は、スロット情報４０１Ｄの中にファイルシステム種別が追加されている点と、スロットＡとスロットＮのシステム情報の構成が異なる点とである。ファイルシステム種別が異なる場合、ファイルサイズやファイル名などのファイル管理情報の格納方法が異なるため、ファイルシステム制御部はファイルシステム毎にファイルに対するアクセス手順を変更する必要がある。そのため、各スロットに装着された情報記録媒体が使用しているファイルシステム種別を識別するフラグとして、ファイルシステム種別をスロット情報４０１Ｄ内に追加している。また、システム情報には各ファイルシステムに依存した情報を格納するため、ファイルシステム種別が異なる場合、格納する情報も異なる。そのため、ファイルシステム種別毎に異なる構成のシステム情報をスロット情報４０１Ｄ内に格納している。
例えば、ＦＡＴファイルシステムのシステム情報４０３内に存在するＦＡＴメモリは、ＦＡＴファイルシステムの領域管理情報を格納するメモリである。これに対してＵＤＦファイルシステムでは、ＳｐａｃｅＢｉｔｍａｐと呼ばれる情報で領域管理を行っているため、ＦＡＴメモリの代わりにＳｐａｃｅＢｉｔｍａｐメモリがシステム情報４０３内に存在する。ＦＡＴメモリからＳｐｅｃｅＢｉｔｍａｐメモリへの変更は一例であり、その他の変更を実施しても良い。このように、ファイルシステム制御情報４００Ｄを変形することで、各スロットに装着された情報記録媒体が、異なるファイルシステムを使用している場合においても、本発明を適用することが可能である。
産業上の利用の可能性
本発明に関わるファイル管理方法は、情報処理装置に複数の情報記録媒体が存在するときに、１つのファイルシステムで必要なファイルのデータをアクセスすることができる。このようなファイル管理方法は、同一名称のファイルが複数存在するときに特に好適に機能する。本発明は、多数の音楽ファイルなどが格納された携帯用記録再生機器や、オーディオサーバやビデオサーバに利用できる。また多数のスロットを持つモバイルサーバ、多種類の外部メモリユニットを持つＰＣなどにも適用することができる。
【図１】
2005010757.tif 000003
【図２】
2005010757.tif 000004
【図３】
2005010757.tif 000005
【図４】
2005010757.tif 000006
【図５】
2005010757.tif 000007
【図６】
2005010757.tif 000008
【図７】
2005010757.tif 000009
【図８】
2005010757.tif 000010
【図９】
2005010757.tif 000011
【図１０】
2005010757.tif 000012
【図１１】
2005010757.tif 000013
【図１２】
2005010757.tif 000014
【図１３】
2005010757.tif 000015
【図１４】
2005010757.tif 000016
【国際調査報告】
2005010757.tif 000017
2005010757.tif 000018
2005010757.tif 000019
2005010757.tif 000020