(57)【要約】情報記録媒体内の領域管理情報に対して情報処理装置がアクセスするとき、アクセスサイズを制御し、キャッシュメモリに領域管理情報をキャッシュする。例えば情報処理装置の処理内容が領域管理情報から空き領域を検索する場合は、情報記録媒体の物理特性から決定される物理的な管理ブロックサイズとする。処理内容が領域管理情報からリンク先を取得するリンク先取得処理である場合は、情報記録媒体の最小のアクセス単位とする。こうすると、領域管理情報のアクセス時のオーバーヘッドを軽減することができる。
2005008499.tif 000002
【特許請求の範囲】
【請求項１】
情報記録媒体内の情報記録領域に格納されたデータをファイルシステムによりファイルとして管理する情報処理装置に用いられ、前記情報記録媒体におけるデータ領域管理方法であって、
前記情報記録媒体の情報記録領域の空き状態及びリンク状態を管理している領域管理情報に対して前記情報処理装置がアクセスを行うに際し、
アクセスサイズを前記情報処理装置内の処理内容に応じて変更するデータ領域管理方法。
【請求項２】
前記情報処理装置内の処理内容は、
前記領域管理情報から空き領域を検索する空き領域検索処理と、
前記領域管理情報からリンク先を取得するリンク先取得処理とである請求項１記載のデータ領域管理方法。
【請求項３】
前記領域管理情報に対するアクセスサイズは、
前記情報処理装置内の処理内容が前記空き領域検索処理であれば、前記情報記録媒体の物理特性により決定される第１のアクセスサイズか、それ以下のサイズを使用し、
前記情報処理装置内の処理内容が前記リンク先取得処理であれば、前記情報記録媒体の最小のアクセス単位である第２のアクセスサイズを使用する請求項２記載のデータ領域管理方法。
【請求項４】
前記空き領域検索処理における前記領域管理情報へのアクセスサイズは、
前記領域管理情報の先頭及び終端以外の場所にアクセスする場合には、前記情報記録媒体の物理特性により決定される物理的な管理ブロックサイズを使用し、
前記領域管理情報の先頭及び終端へアクセスする場合には、前記物理的な管理ブロックサイズと同じか、それ以下のサイズを使用する請求項３記載のデータ領域管理方法。
【請求項５】
前記領域管理情報の先頭及び終端へアクセスする場合のアクセスサイズは、
前記情報記録媒体の物理特性により決定される物理的な管理ブロック内における前記領域管理情報の大きさである請求項４記載のデータ領域管理方法。
【請求項６】
前記情報処理装置内の領域管理情報キャッシュとして管理ブロックサイズの異なる２つのキャッシュを設け、前記２つのキャッシュを使い分けることにより、前記アクセスサイズを前記情報処理装置内の処理内容に応じて変更する請求項１記載のデータ領域管理方法。
【請求項７】
前記情報処理装置内の処理内容は、
前記領域管理情報から空き領域を検索する空き領域検索処理と、
前記領域管理情報からリンク先を取得するリンク先取得処理とである請求項６記載のデータ領域管理方法。
【請求項８】
前記２つの領域管理情報キャッシュの使い分けは、
前記情報処理装置内の処理内容が前記空き領域検索処理であれば、前記情報記録媒体の物理特性により決定される物理的な管理ブロックサイズか、それ以下のサイズを有する第１の領域管理情報キャッシュを使用し、
前記情報処理装置内の処理内容が前記リンク先取得処理であれば、前記情報記録媒体の最小のアクセス単位である第２の領域管理情報キャッシュを使用する請求項７記載のデータ領域管理方法。
【請求項９】
前記第１の領域管理情報キャッシュを使用する前記領域管理情報へのアクセスサイズは、
前記領域管理情報の先頭及び終端以外の場所にアクセスする場合には、前記情報記録媒体の物理特性により決定される物理的な管理ブロックサイズを使用し、
前記領域管理情報の先頭及び終端へアクセスする場合には、前記物理的な管理ブロックサイズと同じか、それ以下のサイズを使用する請求項８記載のデータ領域管理方法。
【請求項１０】
前記第１の領域管理情報キャッシュを使用して領域管理情報の先頭及び終端へアクセスする場合のアクセスサイズは、
前記情報記録媒体の物理特性により決定される物理的な管理ブロック内における前記領域管理情報の大きさである請求項９記載のデータ領域管理方法。
【請求項１１】
前記第２の領域管理情報キャッシュは、読み込み専用処理にのみ使用し、
前記第１の領域管理情報キャッシュは、前記領域管理情報内に格納された情報の変更を行う際に使用する請求項８記載のデータ領域管理方法。
【請求項１２】
情報記録領域に格納したデータをファイルシステムにより管理する情報記録媒体にアクセスする情報処理装置であって、
前記情報記録領域の空き状態及びリンク状態を管理している領域管理情報を前記情報記録媒体から読み出し格納するＦＡＴキャッシュと、
前記ＦＡＴキャッシュを複数のブロックに分割し管理するためのＦＡＴキャッシュ管理情報として、各ブロックの開始アドレス、各ブロックに格納された領域管理情報の情報記録媒体上での位置、各ブロックの大きさ、更新の有無等の情報を保持する揮発性メモリと、
前記ＦＡＴキャッシュ管理情報を参照、更新し、前記ＦＡＴキャッシュに対する領域管理情報の読み替えを制御するＦＡＴキャッシュ制御部と、
前記ＦＡＴキャッシュ制御部を介して領域管理情報にアクセスし、データをファイルとして情報記録媒体に格納するファイルシステム制御部と、を有する情報処理装置。
【請求項１３】
前記ＦＡＴキャッシュは、
第１のアクセスサイズの大きさを持つブロックと、第２のアクセスサイズの大きさを持つブロックの２種類のブロックを各々１ブロック以上有し、前記第１のアクセスサイズは前記情報記録媒体の物理特性により決定される物理的な管理ブロックサイズであり、前記第２のアクセスサイズは前記情報記録媒体の最小のアクセス単位である請求項１２記載の情報処理装置。
【請求項１４】
前記ＦＡＴキャッシュ制御部は、
前記第１のアクセスサイズの大きさを持つブロックにおいて、前記領域管理情報の先頭及び終端以外の場所に格納された領域管理情報を前記ブロックに保持する場合、前記情報記録媒体の物理特性により決定される物理的な管理ブロックサイズ分のデータを情報記録媒体から読み出して保持し、
前記領域管理情報の先頭及び終端の場所に格納された領域管理情報を前記ブロックに保持する場合、前記物理的な管理ブロックサイズと同じか、それ以下のサイズ分のデータを情報記録媒体から読み出して保持する請求項１３記載の情報処理装置。
【請求項１５】
前記ファイルシステム制御部は、
前記領域管理情報から空き領域を検索する空き領域検索処理を実施する際に、前記ＦＡＴキャッシュ制御部を介して前記ＦＡＴキャッシュに含まれる第１のアクセスサイズの大きさを持つブロックにアクセスし、
前記領域管理情報からリンク先を取得するリンク先取得処理を実施する際に、前記ＦＡＴキャッシュ制御部を介して前記ＦＡＴキャッシュに含まれる第２のアクセスサイズの大きさを持つブロックにアクセスする請求項１３記載の情報処理装置。
【発明の詳細な説明】
【技術分野】  本発明は、情報記録媒体に格納されたデータを、ファイルシステムで管理するデータ領域管理方法、及びこのデータ領域管理方法を用いた情報処理装置に関するものである。
【背景技術】  従来、半導体メモリや、磁気ディスク、光ディスク、光磁気ディスクなどの情報記録媒体の情報記録領域に格納されたデータの管理は、ファイルシステムにより実現されている。ファイルシステムでは、情報記録領域を最小アクセス単位であるセクタ、及びセクタの集合であるクラスタに分割して管理する。そして１つ以上のクラスタをファイルとして管理する。
従来使用されているファイルシステムの１例として、ＦＡＴファイルシステムがある。その詳細は、ＩＳＯ／ＩＥＣ９２９３、“Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ−Ｖｏｌｕｍｅ  ａｎｄ  ｆｉｌｅ  ｓｔｒｕｃｔｕｒｅ  ｏｆ  ｄｉｓｋ  ｃａｒｔｒｉｄｇｅｓ  ｆｏｒ  ｉｎｆｏｒｍａｔｉｏｎ”、１９９４年に開示されている。
ＦＡＴファイルシステムは、パソコンなどの情報機器で一般に用いられているファイルシステムである。ＦＡＴファイルシステムでは、ファイルを構成するデータの物理的な格納位置をＦＡＴ（Ｆｉｌｅ  Ａｌｌｏｃａｔｉｏｎ  Ｔａｂｌｅ）と呼ばれるテーブルにより、多くのデータが一元管理される。ＦＡＴファイルシステムによりデータ管理された情報記録媒体は、同一のファイルシステムを解釈する機器間でファイルを共有することができるため、機器間でデータを授受することが可能となる。
ＦＡＴでは、１クラスタに対して１つの固定長のエントリを使用するため、情報記録媒体の容量が大きくなり、ファイルシステムで管理するクラスタ数が増加するにつれ、ＦＡＴの大きさも大きくなる。ＦＡＴファイルシステムを機器に実装するにあたり、メモリ量の限られた組込み機器などでは、メモリ量の削減のため、全てのＦＡＴをメモリ上に保持するのではなく、一部のＦＡＴのみをメモリ上に保持し、キャッシングする手法が用いられる。
従来、ＦＡＴをキャッシングする方法として、ＦＡＴで管理するデータ数やＦＡＴの格納位置などの情報を、初期設定時にホスト機器から情報記録再生装置へ入力し、ＦＡＴの全て又は一部をキャッシングする方法が提案されている。この方法は例えば特開平８−１１０８６８号公報に開示されている。この方法では、ＦＡＴ上の情報の内、アクセスされたファイルに関する情報をキャッシュバッファ上にキャッシングする。この場合、一度アクセスしたファイルに対する再アクセスに関しては、情報記録媒体上のＦＡＴを読み込む必要がなく、高速にアクセスすることが可能となる。
しかしながら、上記の従来技術には次のような問題点がある。上記のデータ領域管理方法は、既存ファイルへのアクセスを高速化する方法について着目したものであり、空き領域検索処理については考慮されていない。すなわち上記のデータ領域管理方法は、一度アクセスしたファイルに対する再アクセスは高速に行われるが、空き領域を検索し、新しいファイルを作成する場合には、ＦＡＴがキャッシングされていないため、情報記録媒体からＦＡＴを新たに読み込む必要がある。
従来の方法で空き領域検索処理を行うには、ＦＡＴ上に格納された個々のエントリの使用状況を確認し、空き領域のクラスタ番号を取得する。特に空き領域が少なくなると、空き領域検索処理で確認するエントリ数が増加し、最悪の場合、空き領域検索時に全てのＦＡＴをキャッシュバッファに読み込む必要がある。ここでキャッシュバッファの読み込み単位が小さい場合、読み込み処理のオーバーヘッドにより空き領域検索処理が遅くなる。
本発明では上記問題点に鑑み、ＦＡＴを用いて実施する空き領域検索処理、及びリンク先取得処理などの処理に応じてＦＡＴの読み込み単位を変更し、ＦＡＴアクセス時のオーバーヘッドを低減できるデータ領域管理方法を実現すると共に、このデータ領域管理方法を用いた情報処理装置を提供することを目的とする。
【発明の開示】
本発明のデータ領域管理方法は、情報記録媒体内の情報記録領域に格納されたデータをファイルシステムによりファイルとして管理する情報処理装置に用いられるものである。情報記録媒体の情報記録領域の空き状態及びリンク状態を管理している領域管理情報に対して、情報処理装置がアクセスを行うに際し、アクセスサイズを情報処理装置内の処理内容に応じて変更することを特徴とする。
また本発明の情報処理装置は、情報記録領域に格納したデータをファイルシステムにより管理する情報記録媒体にアクセスする装置であり、ＦＡＴキャッシュと、揮発性メモリと、ＦＡＴキャッシュ制御部と、ファイルシステム制御部と、を含んで構成される。ＦＡＴキャッシュは情報記録領域の空き状態及びリンク状態を管理している領域管理情報を情報記録媒体から読み出し格納する。揮発性メモリは、ＦＡＴキャッシュを複数のブロックに分割し管理するためのＦＡＴキャッシュ管理情報として、各ブロックの開始アドレス、各ブロックに格納された領域管理情報の情報記録媒体上での位置、各ブロックの大きさ、更新の有無等の情報を保持する。ＦＡＴキャッシュ制御部は、ＦＡＴキャッシュ管理情報を参照、更新し、ＦＡＴキャッシュに対する領域管理情報の読み替えを制御する。ファイルシステム制御部は、ＦＡＴキャッシュ制御部を介して領域管理情報にアクセスし、データをファイルとして情報記録媒体に格納する。
【図面の簡単な説明】  第１図は本発明の実施例１における情報処理装置、及び情報記録媒体の構成図である。
第２図はＦＡＴファイルシステムのデータ格納例を示す図である。
第３図はＦＡＴファイルシステムのファイルデータ書き込み例を示す図である。
第４図は情報記録媒体上に構築されたファイルシステムの構成例を示す図である。
第５図は実施例１におけるＦＡＴキャッシュの一例を示す図である。
第６図は実施例１における空き領域検索処理を示すフローチャートである。
第７図は実施例１におけるリンク先取得処理を示すフローチャートである。
第８図は実施例２における情報処理装置、及び情報記録媒体の構成図である。
第９図は実施例２におけるＦＡＴ＿Ｒｅａｄキャッシュ及びＦＡＴ＿Ｗｒｉｔｅキャッシュの一例を示す図である。
第１０図は実施例２における空き領域検索処理を示すフローチャートである。
第１１図は実施例２におけるリンク先取得処理を示すフローチャートである。
【発明を実施するための最良の形態】  以下、本発明の情報記録媒体におけるデータ領域管理方法と情報処理装置とについて、図を用いて説明する。
【実施例１】  第１図は本発明のデータ領域管理方法を用いた実施例１における情報処理装置、及び情報記録媒体の構成図である。第１図の情報処理装置１００Ａは、ＣＰＵ１０１、メインメモリ１０２、キャッシュメモリ１０３Ａ、アクセス制御部１０４、プログラム格納部１０５を含んで構成される。
メインメモリ１０２は情報処理装置１００Ａ上で動作するプログラムを格納するメモリである。キャッシュメモリ１０３ＡはＦＡＴやデータのキャッシュに使用するメモリである。アクセス制御部１０４は情報記録媒体１１０へのアクセスを制御する制御部である。プログラム格納部１０５は情報処理装置１００Ａ上で動作するプログラムなどを格納するメモリである。
キャッシュメモリ１０３Ａは、ＦＡＴをキャッシングするＦＡＴキャッシュを含む。このＦＡＴキャッシュを管理するために、メインメモリ１０２はＦＡＴキャッシュ管理情報を格納している。プログラム格納部１０５は、アプリケーションプログラム１０６、ファイルシステム制御部１０７、ＦＡＴキャッシュ制御部１０８を有している。アプリケーションプログラム１０６は、情報処理装置１００Ａ上で動作するプログラムである。ファイルシステム制御部１０７は情報記録媒体１１０上に構築されたファイルシステムの制御を行うものである。ＦＡＴキャッシュ制御部１０８はＦＡＴキャッシュを制御するものである。
一方、情報記録媒体１１０内にはファイルシステムが構築されている。ファイルシステムは情報記録媒体１１０に格納されたデータをファイルとして管理する。本実施例の情報記録媒体１１０はＦＡＴファイルシステムにより管理されている。情報記録媒体１１０には、ファイルシステム管理情報である領域管理情報を格納する管理情報領域と、データを格納するデータ領域とがある。管理情報領域にはマスターブートレコード・パーティションテーブル（ＭＢＲ・ＰＴ）１１１、パーティションブートセクタ（ＰＢＳ）１１２、ＦＡＴ１１３、ルートディレクトリエントリ（ＲＤＥ）１１４が設けられる。
ＭＢＲ・ＰＴ１１１は、情報記録領域を複数のパーティションと呼ばれる領域に分割して管理するための情報を格納するものである。ＰＢＳ１１２は１つのパーティション内の管理情報を格納するものである。ＦＡＴ１１３はファイルに含まれるデータの物理的な格納位置を示すものである。ＲＤＥ１１４はルートディレクトリ直下に存在するファイル、ディレクトリの情報を格納するものである。またＦＡＴ１１３は、ファイルに含まれるデータの物理的な格納位置を示す重要な領域であることから、通常、情報記録媒体１１０内には同じ情報を持つ２つのＦＡＴ１１３が存在し、二重化されている。
データ領域１１５は複数のクラスタに分割され管理されており、各クラスタにはファイルに含まれるデータが格納されている。多くのデータを格納するファイルなどは、複数のクラスタをデータ格納領域として使用する。各クラスタ間のつながりは、ＦＡＴ１１３に格納されたリンク情報により管理されている。
第２図を用いてＦＡＴファイルシステムにおけるファイルデータの読み込み例を説明する。ルートディレクトリエントリ１１４やデータ領域１１５の一部には、第２図（Ａ）に示すような、ファイル名やファイルサイズなどを格納するディレクトリエントリ２０１が格納される。ファイルデータの格納先であるデータ領域はクラスタ単位で管理される。各クラスタには一意に識別可能なクラスタ番号が付与されている。ファイルのデータが格納されているクラスタを特定するために、ディレクトリエントリ２０１には、ファイルデータの先頭部分が格納されているクラスタのクラスタ番号、即ち開始クラスタ番号が格納される。第２図（Ａ）のディレクトリエントリ２０１の例は、ＦＩＬＥ１．ＴＸＴという名前を持つファイルが、クラスタ番号１０からデータを格納していることを示している。
複数のクラスタにデータが格納されているファイルの場合、開始クラスタ番号以降に続くクラスタ番号を特定し、データが格納されているクラスタを辿る必要がある。そのために必要なクラスタのリンク情報がＦＡＴに格納されている。第２図（Ｂ）にＦＡＴ２０２の例を示す。ＦＡＴ２０２には、各クラスタ番号に対応したフィールドが設けられている。それぞれのフィールドには、各クラスタのリンク情報を示すＦＡＴエントリが格納される。ＦＡＴエントリは、次にリンクされるクラスタのクラスタ番号を示すものである。第２図（Ｂ）の例では、クラスタ番号１０に対応するＦＡＴエントリとして「１１」が格納されている。このため、クラスタ番号１０のクラスタは、クラスタ番号１１のクラスタにリンクしていることになる。同様にクラスタ番号１１に対応するＦＡＴエントリには「１２」、クラスタ番号１２に対応するＦＡＴエントリには「１３」が夫々格納されており、クラスタ番号１０、１１、１２、１３の順でリンクされている。次にクラスタ番号１３に対応するＦＡＴエントリには「０ｘＦＦＦ」が格納されている。「０ｘＦＦＦ」はリンクの終端を意味していることから、クラスタ番号１０で始まるリンクは、１０、１１、１２、１３の４クラスタで終端する。また、クラスタ番号１４に対応するＦＡＴエントリに格納されている「０」は、そのクラスタがファイルに割り当てられておらず、空き領域であることを意味している。
第２図（Ａ）、（Ｂ）より、ファイルＦＩＬＥ１．ＴＸＴに割り当てられたデータ領域がクラスタ番号１０、１１、１２、１３であることが認識されると、実際にＦＩＬＥ１．ＴＸＴのファイルのデータを読み込む場合には、第２図（Ｃ）に示すように、データ領域２０３のクラスタ番号１０、１１、１２、１３のデータが順次読み込まれる。
次に第３図を用いてＦＡＴファイルシステムにおけるファイルデータの書き込み例を説明する。第２図の例と同様に、ルートディレクトリエントリやデータ領域の一部に、第３図（Ａ）に示すディレクトリエントリ２０１が格納されている場合を想定する。ディレクトリエントリ２０１で示されるファイルは、ファイル名がＦＩＬＥ１．ＴＸＴであり、クラスタ番号１０からファイルのデータが格納されている。また、ファイルサイズは１６０００バイトであり、第３図の例では１クラスタの大きさが４０９６バイトであるため、４クラスタにまたがってファイルのデータが格納されている。
第３図（Ｂ）はファイル書き込み前のＦＡＴ２０２の状態を示す。第３図（Ｂ）のＦＡＴは、第２図（Ｂ）の場合と同様に１０、１１、１２、１３の４クラスタがリンクされている状態を示しており、ＦＩＬＥ１．ＴＸＴには１０から１３の４クラスタにまたがってファイルのデータが格納されていることを示している。
ここで、ＦＩＬＥ１．ＴＸＴに対し、１０００バイトのデータを更に書き込みした場合を想定する。ファイルサイズは１６０００バイトから１７０００バイトに変更されるが、元々のデータ格納用に確保している４クラスタでは１６３８４バイトまでしかデータを格納できないことから、新たに空きクラスタを割り当ててデータを格納する必要がある。
空き領域の割り当てはＦＡＴから空きクラスタを取得し、ＦＡＴのリンクを繋ぎかえることで実現する。リンクの繋ぎかえ手順は次の通りである。まず第１に、第３図（Ｂ）のＦＡＴ２０２から、空きクラスタであることを示す「０」が格納されたエントリを取得する。第３図（Ｂ）の場合、クラスタ番号１４が空きクラスタである。次に、ファイルサイズを拡張するファイルのリンク終端に、取得した空きクラスタをリンクする。第３図（Ｃ）は、リンクを繋ぎかえた後のＦＡＴ２０２Ａの状態を示しており、ＦＩＬＥ１．ＴＸＴの終端であるクラスタ番号１３のリンク先を「１４」に変更する。そして、クラスタ番号１４のリンク先をリンク終端であることを示す「０ｘＦＦＦ」に変更する。この処理により第３図（Ｄ）のように、ＦＩＬＥ１．ＴＸＴはファイルのデータ領域２０３Ａとして、「１０」、「１１」、「１２」、「１３」、「１４」の５クラスタが割り当てられ、１６００１バイト目から１６３８４バイト目までをクラスタ番号１３の領域に書き込み、１６３８５バイト目から１７０００バイト目までをクラスタ番号１４の領域に書き込み、データ書き込み処理を行う。
このように、データ書き込み処理における空き領域検索処理とは、ＦＡＴから“０”が格納されたエントリを取得することである。しかし、情報記録媒体１１０に多くのファイルが格納されている場合、空き領域を見つけるために多くのＦＡＴエントリを確認する必要がある。最悪の場合、ＦＡＴの全てのエントリを確認しなければ、空き領域が見つからないこともある。そのため、高速に空き領域を検索するために、全てのＦＡＴを情報記録媒体１１０から情報処理装置１００上のメモリに読み込んでおき、メモリ上で空き領域を検索することで、情報記録媒体１１０からの読み込み処理を不要とする方法がある。しかしながら、ＦＡＴは情報記録媒体１１０の容量に比例して大きくなるため、全てのＦＡＴを保持するのに十分なメモリ容量がない場合、ＦＡＴの一部のみをメモリ上に保持し、キャッシングする方法が用いられる。
ＦＡＴをキャッシュする場合、一度に情報記録媒体１１０から読み込むサイズを大きくすれば、空き領域検索処理で全てのＦＡＴを読み込むときに、ＦＡＴ読み込みにかかるオーバーヘッドを低減することができる。しかしながら、ファイルデータを読み込む際にリンク先を辿るリンク先取得処理では、次に参照すべきＦＡＴの位置が予め分かっているため、ＦＡＴの読み込みサイズは小さい方が効率的である。
そこで本発明は、上記のようにＦＡＴのアクセスに対する特性が異なる空き領域検索処理又はリンク先取得処理に基づいて、ＦＡＴへのアクセス方法を変更し、処理を効率化することを主眼とする。これにより、大容量の情報記録媒体１１０を使用した場合でも、空き領域検索における最悪処理時間を短縮することを可能にし、更にはリンク先取得処理の処理時間を増加させないことを可能にする。
本発明の課題であるデータ領域管理方法の詳細を説明する前に、情報記録用の素子として、半導体メモリを使用した情報記録媒体の特徴について説明する。半導体メモリは、小型、軽量な情報記録媒体を構成することができるので、様々な技術分野における情報記録媒体としての確固たる地位を築きつつある。半導体メモリはＥＥＰＲＯＭあるいはＦｌａｓｈＲＯＭと呼ばれる不揮発性メモリを使用している。特に多くの情報記録媒体で使用されるＮＡＮＤ型のメモリは、データを書き込む前に、一旦書き込み先に記録されているデータを消去する必要があり、白紙の状態に戻してからデータ書き込みを行うという特徴がある。
ここでデータを消去する単位を消去ブロックと呼ぶ。消去ブロックはアクセスの最小単位であるセクタが複数個集まったブロックとして管理されている。すなわち、アクセスはセクタ（例えば５１２バイト）単位で行うことが可能であるが、書き込みに先立ち必要となるデータの消去処理は消去ブロック（例えば１６ｋＢ）単位で行われる。例えば、１セクタの書き込み処理に２００μ秒、１消去ブロック（１６ｋＢ）の消去処理に２ｍ秒、コマンド発行のオーバーヘッドに３ｍ秒かかるＦｌａｓｈＲＯＭを想定する。このＦｌａｓｈＲＯＭの１消去ブロック（１６ＫＢ）の書き込み時間は、２ｍ秒、３２×２００μ秒、３ｍ秒を加算して合計１１．４ｍ秒となる。また、１セクタの書き込み時間は、２ｍ秒、１×２００μ秒、３ｍ秒を加算して合計５．２ｍ秒となる。すなわち、１６ＫＢのデータを消去ブロック単位で書き込みを行った場合は１６ｋＢあたり１１．４ｍ秒の書き込み時間がかかるのに対し、同じ１６ｋＢのデータを１セクタ単位で書き込みを行った場合は１６ｋＢあたり１６６．４ｍ秒の書き込み時間がかかる。このように、消去ブロック単位で書き込みを行った場合に、書き込み時間が最短になるという特徴がある。
このような一定の大きさのブロック単位でアクセス性能が最速となる現象は、半導体メモリを用いた情報記録媒体だけではなく、一部のハードディスクや光ディスクも有する特徴である。このような特定の大きさのブロック単位でアクセスした場合に、アクセス性能が最速となる情報記録媒体に本発明を適用すると、その効果が更に大きくなる。
以下、本実施例１におけるデータ領域管理方法を説明する。第４図は情報記録媒体上に構築されたファイルシステムの一例を示す説明図である。第４図の例では、情報記録媒体として半導体メモリを使用した場合を想定しており、最小のアクセス単位を１セクタ（５１２バイト）とし、先に説明した消去ブロックを３２セクタ（１６ｋＢ）としている。ＦＡＴは情報記録媒体の容量に比例した大きさである。ＦＡＴは通常、消去ブロックを意識せずに配置されるため、第４図に示すように二重化されたＦＡＴの１つ目であるＦＡＴ１の先頭は消去ブロックの途中に配置される。また、ＦＡＴ１は１２３セクタの大きさであり、消去ブロック８から１２までの５つの消去ブロックにまたがって配置される。本実施例におけるデータ領域管理方法では、空き領域検索処理時におけるＦＡＴのキャッシュを、この消去ブロック単位で行うことで、ＦＡＴに対するアクセスを高速に行う。
続いて、ＦＡＴキャッシュについて説明する。第５図はキャッシュメモリ１０３Ａ上に存在するＦＡＴキャッシュ５０１の一例を示す図である。ＦＡＴキャッシュ５０１は、キャッシュメモリ１０３Ａ内の一部の領域を使用し、ＦＡＴキャッシュ制御部１０８により管理される。ＦＡＴキャッシュ制御部１０８は、ＦＡＴキャッシュ５０１用に割り当てられているキャッシュメモリ１０３Ａ内で、複数のキャッシュブロックの生成と解放を繰り返し、ＦＡＴから空き領域を検索する。またＦＡＴキャッシュ制御部１０８は、リンク先を取得する機能をファイルシステム制御部１０７に対して提供する。
第５図（Ａ）の例では、ＦＡＴキャッシュ５０１内に４つのキャッシュブロックが存在し、情報記録媒体１１０からＦＡＴが読み込まれている。キャッシュブロックのブロックサイズは、消去ブロックサイズである３２セクタか、最小アクセス単位である１セクタかのいずれかである。第５図（Ａ）の例では、キャッシュブロック１及び４のブロックサイズが３２セクタであり、キャッシュブロック２及び３のブロックサイズが１セクタである。残りの領域は空き領域として管理され、キャッシュがミスヒットした際にキャッシュブロックを新たに生成する領域として使用される。
また第５図（Ｂ）は、ＦＡＴキャッシュ５０１の管理情報を格納するＦＡＴキャッシュ管理情報５０２の一例を示した図である。第５図（Ｂ）は第５図（Ａ）のＦＡＴキャッシュ５０１に対応している。ＦＡＴキャッシュ管理情報５０２には、ブロック開始アドレス、ＦＡＴアドレス、ＦＡＴサイズ、更新フラグが含まれる。
ブロック開始アドレスはキャッシュブロックのＦＡＴキャッシュ５０１上での開始位置を示すものである。ＦＡＴアドレスはキャッシュブロック内に読み込まれているＦＡＴがＦＡＴ内のどの部分かを示すものである。ＦＡＴサイズはキャッシュブロック内に読み込まれているＦＡＴのサイズを示すものである。更新フラグはキャッシュブロック内のＦＡＴが更新されているか否かを示すフラグである。
第５図（Ｂ）の例では、キャッシュブロック１がＦＡＴキャッシュ５０１の先頭位置から存在し、情報記録媒体のＦＡＴ先頭から２２セクタ分のＦＡＴを読み込んでおり、かつキャッシュブロック１内のＦＡＴの一部が更新されていることを示している。本実施例では先頭位置を「０」ではなく、「１」と表現している。また、キャッシュブロック２がＦＡＴキャッシュ５０１上の３３セクタ目から存在し、情報記録媒体のＦＡＴの６０セクタ目から１セクタ分のＦＡＴを読み込んでおり、かつキャッシュブロック２内のＦＡＴは更新されていないことを示している。さらに、キャッシュブロック５に対応するＦＡＴキャッシュ管理情報５０２には、アドレスやサイズの情報に「０ｘＦＦＦＦ」が設定されており、キャッシュブロック５が存在しないことを示している。ここで「０ｘＦＦＦＦ」に該当する１０進数の６５５３５は、本実施例で有効なアドレスやサイズとして使用しない値である。
続いて、本実施例における空き領域検索処理について、情報記録媒体及びＦＡＴキャッシュが第４図、第５図の状態である場合を例として説明する。第６図は本実施例における空き領域検索処理の流れを示すフローチャートである。空き領域検索処理は、第１図のアプリケーションプログラム１０６からファイルシステム制御部１０７に出されたファイルアクセス要求に対し実行される。このときファイルシステム制御部１０７からＦＡＴキャッシュ制御部１０８に対し空き領域検索の要求が出され、ＦＡＴキャッシュ制御部１０８において空き領域検索が実行される。ＦＡＴキャッシュ制御部１０８は、適宜ＦＡＴキャッシュ内のＦＡＴを読み込み、空き領域を検索した上で、取得した空き領域のクラスタ番号をファイルシステム制御部１０７に返す。
空き領域検索処理では、第１に空き領域の検索を開始するクラスタ番号ＳＣＮを取得する（Ｓ６０１）。ＳＣＮには、前回空き領域検索を終了した位置のクラスタ番号を保持しておき、次回の空き領域検索処理に使用する。
次に、ＳＣＮに対応するＦＡＴ上のエントリが格納されたＦＡＴを含む消去ブロック番号ＥＢＮを算出する（Ｓ６０２）。第４図、第５図の例においてＳＣＮを「２」とし、対応するＦＡＴ上のエントリがＦＡＴの先頭セクタに格納されている場合を想定する。このとき、１２３セクタの大きさを持つＦＡＴ１の先頭セクタは、第４図に示すように消去ブロック８に含まれる。そのため、ＥＢＮは「８」と算出される。同様に、ＳＣＮの値が大きく、対応するＦＡＴ上のエントリがＦＡＴの１００セクタ目に存在する場合、ＦＡＴ１の１００セクタ目は第４図に示すＦＡＴ１−４の領域に含まれる。そのためＥＢＮは「１１」と算出される。
次に、ＥＢＮで示される消去ブロックにＦＡＴ１以外のデータが含まれるか否かを確認する（Ｓ６０３）。例えばＥＢＮが「８」の場合、第４図に示すように消去ブロック８にはＦＡＴ１の他にＭＢＲ・ＰＴの一部や、ＰＢＳが含まれることから、Ｓ６０３の判定処理はＹｅｓとなり、Ｓ６０５の処理に進む。またＥＢＮが「１１」の場合、第４図に示すように消去ブロック１１はＦＡＴ１のデータのみを含むため、Ｓ６０３の判定処理はＮｏとなり、Ｓ６０４の処理に進む。
Ｓ６０３の判定がＮｏとなった場合、ＦＡＴ読み込みサイズＲＳとして消去ブロックサイズの３２セクタを設定する（Ｓ６０４）。Ｓ６０３の判定がＹｅｓとなった場合、ＦＡＴ読み込みサイズＲＳとして消去ブロック内のＦＡＴのデータ長を算出する（Ｓ６０５）。第４図、第５図の例では、ＥＢＮが「８」又は「１２」の場合にこの処理が実施される。ＥＢＮが「８」の場合ＲＳとして２２セクタが設定され、ＥＢＮが「１２」の場合ＲＳとして５セクタが設定される。また、ＦＡＴの先頭が読み込み対象の場合、読み込み開始位置として、消去ブロックの途中の位置が設定される。すなわち、ＥＢＮが「８」の場合、読み込み開始位置として消去ブロック８内の１１セクタ目が設定される。ここまでの処理により、情報記録媒体上のＦＡＴの読み込み位置と読み込みサイズが決定される。
次に、読み込み対象領域のＦＡＴが既にＦＡＴキャッシュ上に存在するか否かを確認する（Ｓ６０６）。ＦＡＴが存在する場合、そのキャッシュブロックの大きさが１セクタであるか否かを確認する（Ｓ６０７）。１セクタでない場合、既に対象ＦＡＴがＦＡＴキャッシュ上に存在するため、キャッシュブロック取得後の処理であるＳ６１０の処理に進む。
Ｓ６０６において読み込み対象領域のＦＡＴがＦＡＴキャッシュ上に存在しなかった場合、又はＳ６０７においてキャッシュブロックの大きさが１セクタであった場合、ＦＡＴの再読み込みが必要となる。ＦＡＴの再読み込みに先立ち、ＦＡＴキャッシュの書き戻し処理を行う（Ｓ６０８）。書き戻し処理では、読み込み対象領域のＦＡＴが既にＦＡＴキャッシュ上に存在する場合、ＦＡＴキャッシュ上で更新されていれば、情報記録媒体にＦＡＴを書き込んだ後ＦＡＴキャッシュ上の対象キャッシュブロックを解放する。また、ＦＡＴキャッシュ上の空き領域が消去ブロックサイズ（３２セクタ）未満であれば、ＦＡＴ再読み込みに必要な空き領域を確保するために、任意のキャッシュブロックを先の解放手順と同様の手順で解放する。
次に、情報記録媒体からＦＡＴをＦＡＴキャッシュに読み込み、ＦＡＴキャッシュ管理情報を更新する（Ｓ６０９）。ここまでの処理により、空き領域検索開始位置のエントリを含むＦＡＴがＦＡＴキャッシュ上に存在するようになる。
次に、ＦＡＴキャッシュ上のキャッシュブロック内で空き領域を検索する（Ｓ６１０）。空き領域の検索は、検索開始クラスタ番号ＳＣＮから順にエントリを参照し、値が空き領域を示す「０」であるか確認する。「０」でない場合は次のエントリを参照し、「０」であるエントリを見つけるまで処理を繰り返す。「０」であるエントリを見つけた時点で、検索開始クラスタ番号を現在の参照位置に変更する。また、現在参照しているキャッシュブロック内で空き領域が見つからなかった場合は、検索開始クラスタ番号を、現在参照しているキャッシュブロックの終端位置に変更する。
Ｓ６１０の処理で空き領域を取得した場合、取得した空き領域のクラスタ番号をファイルシステム制御部１０７に通知し、処理を終了する（Ｓ６１１）。空き領域が取得できなかった場合で、未だＦＡＴの全領域を検索していなければ、Ｓ６０２の処理に戻り、Ｓ６１０で変更した検索開始クラスタ番号から空き領域検索処理を続行する（Ｓ６１２）。既にＦＡＴの全領域を検索済みであれば、空き領域が存在しないと判断し、ファイルシステム制御部１０７に空き領域がない旨を通知し、処理を終了する。
上記処理において空き領域の検索処理は、Ｓ６０１の検索開始クラスタ番号から検索を開始し、ＦＡＴ終端まで検索しても空き領域が見つからなかった場合は、ＦＡＴ先頭から検索を続行し、Ｓ６０１の検索開始クラスタ番号まで行う。すなわち、ＦＡＴの全領域に対して空き領域の検索を行った時点で、検索処理を終了する。
このように、本実施例における空き領域検索処理は、ＦＡＴに消去ブロック単位でアクセスし、ＦＡＴキャッシュに読み込む。空き領域検索処理の後、取得した空き領域にデータが書き込まれると、ＦＡＴキャッシュが更新される。こうすると、情報記録媒体へのＦＡＴの書き戻しも同様に消去ブロック単位でアクセスされるため、高速にＦＡＴにアクセスすることができる。
続いて、本実施例におけるリンク先取得処理について、情報記録媒体１１０が第４図の状態にあり、ＦＡＴキャッシュが第５図の状態である場合を例として説明する。第７図は本実施例におけるリンク先取得処理の流れを示すフローチャートである。リンク先取得処理は、アプリケーションプログラム１０６からファイルシステム制御部１０７に出されたファイルアクセス要求に対し、ファイルシステム制御部１０７からＦＡＴキャッシュ制御部１０８に対しリンク先取得要求が出される。そしてＦＡＴキャッシュ制御部１０８においてリンク先取得処理が実行される。ＦＡＴキャッシュ制御部１０８は、適宜ＦＡＴキャッシュ内のＦＡＴを読み込み、リンク先を取得した上で、取得したリンク先のクラスタ番号をファイルシステム制御部１０７に返す。
リンク先取得処理では、第１にリンク先を取得したいリンク元のクラスタ番号ＬＣＮを取得する（Ｓ７０１）。ＬＣＮはファイルシステム制御部１０７がアクセスしているファイル位置を示すクラスタ番号であり、ファイルシステム制御部１０７がＦＡＴキャッシュ制御部１０８に通知する。
次に、セクタ番号ＳＮを算出する（Ｓ７０２）。これはＬＣＮに対応するＦＡＴ上のエントリが格納されたＦＡＴを含むセクタである。第４図、第５図の例においてＬＣＮを「２」とし、対応するＦＡＴ上のエントリがＦＡＴの先頭セクタに格納されている場合を想定する。このとき、ＳＮはＦＡＴ先頭セクタであることを示す「１」となる。同様に、ＬＣＮの値が大きく、対応するＦＡＴ上のエントリがＦＡＴの１００セクタ目に存在する場合、ＳＮは「１００」となる。
リンク先取得処理では、ＦＡＴの読み込みサイズは固定の１セクタとするため、ここまでの処理により、情報記録媒体１１０上のＦＡＴの読み込み位置と読み込みサイズが決定される。次に読み込み対象領域のＦＡＴが既にＦＡＴキャッシュ上に存在するか否かを確認する（Ｓ７０３）。存在する場合、キャッシュブロック取得後の処理であるＳ７０６の処理に進む。Ｓ７０３において読み込み対象領域のＦＡＴがＦＡＴキャッシュ上に存在しなかった場合、ＦＡＴの読み込みが必要となる。ＦＡＴの読み込みに先立ち、ＦＡＴキャッシュ上の空き領域が存在しない場合、ＦＡＴ読み込みに必要な空き領域を確保するために、任意のキャッシュブロックを解放する。このとき、解放を行うキャッシュブロックがＦＡＴキャッシュ上で更新されていれば、情報記録媒体１１０にＦＡＴを書き込んだ後にキャッシュブロックを解放する。
次に、情報記録媒体１１０からＦＡＴをＦＡＴキャッシュに読み込み、ＦＡＴキャッシュ管理情報を更新する（Ｓ７０５）。ここまでの処理により、リンク元クラスタ番号のエントリを含むＦＡＴがＦＡＴキャッシュ上に存在するようになる。次に、ＦＡＴキャッシュ上のキャッシュブロック内で、リンク先クラスタ番号を取得し、取得したクラスタ番号をファイルシステム制御部１０７に通知した後、処理を終了する（Ｓ７０６）。
このように、本実施例におけるリンク先取得処理では、アクセス制御部１０４がＦＡＴにセクタ単位でアクセスし、ＦＡＴキャッシュに読み込む。リンク先取得処理では、ＦＡＴ上の特定の１エントリのみを参照すればリンク先を取得することが可能なため、情報記録媒体への最小のアクセス単位であるセクタ単位でアクセスし、高速にリンク先を取得することができる。
以上のように本実施例では、ＦＡＴのアクセスサイズを処理に応じて変更することにより、ＦＡＴアクセスを効率化することができる。即ち、空き領域検索処理では、消去ブロック単位でのアクセスを行うことで、ＦＡＴ読み込みに対するオーバーヘッドを削減し、空き領域検索処理の最悪時間を短縮することが可能となる。また、リンク先取得処理では、セクタ単位でのアクセスを行うことで、１回のリンク先取得処理にかかる時間を短縮することが可能となる。
なお、本発明の実施例では、第５図（Ｂ）に示すように、ＦＡＴキャッシュ管理情報５０２として、ブロック開始アドレス、ＦＡＴアドレス、ＦＡＴサイズ、更新フラグの４つの情報を１組として管理する例を記載した。しかし、同様の情報によりＦＡＴキャッシュの管理が可能であれば、他の形式としても良い。また、空き領域検索処理において、空き領域の検索を開始するクラスタ番号ＳＣＮに、前回空き領域検索を終了した位置のクラスタ番号を保持しておき、次回の空き領域検索処理に使用する例について説明した。しかし、乱数を使用する方法や、毎回ＦＡＴ先頭を設定するなど、その他の値を使用してもよい。
また、本発明の実施例では、消去ブロック単位でのアクセスが最速である情報記録媒体を想定して説明を行ったが、アクセス開始位置にアクセス性能が依存しない情報記録媒体に適用しても良い。その場合、本実施例では消去ブロック境界を意識したＦＡＴのキャッシュを行ったが、単純にＦＡＴ先頭から固定長ブロック単位でキャッシュをするように変更してもよい。
【実施例２】  次に本発明の実施例２におけるデータ領域管理方法について説明する。第８図は実施例２における情報処理装置、及び情報記録媒体の構成図である。本実施例の情報処理装置１００Ｂが実施例１の情報処理装置１００Ａと構成が異なる点は、キャッシュメモリ１０３Ｂが、ＦＡＴ＿Ｒｅａｄキャッシュと、ＦＡＴ＿Ｗｒｉｔｅキャッシュとの２つのＦＡＴ用キャッシュを含む点である。
本実施例では、ＦＡＴキャッシュ用にブロックサイズの異なる２つのキャッシュ領域を用意し、用途に応じて使い分ける。空き領域検索時及び情報記録媒体１１０へのＦＡＴ更新時には、ブロックサイズの大きなＦＡＴ＿Ｗｒｉｔｅキャッシュを使用する。また、リンク更新が伴わないリンク先取得時には、ブロックサイズの小さなＦＡＴ＿Ｒｅａｄキャッシュを使用する。このように用途に応じて２種類のキャッシュ領域を使い分けることにより、ＦＡＴに対するアクセスを効率化する。
続いて、本実施例におけるＦＡＴ＿Ｒｅａｄキャッシュ、ＦＡＴ＿Ｗｒｉｔｅキャッシュについて説明する。第９図はキャッシュメモリ上に存在するＦＡＴ＿Ｒｅａｄキャッシュ９０１、ＦＡＴ＿Ｗｒｉｔｅキャッシュ９０２の一例を示す説明図である。ＦＡＴ＿Ｒｅａｄキャッシュ９０１はＭ個のセクタから構成され、第８図のＦＡＴキャッシュ制御部１０７により、セクタ単位で管理されている。このＦＡＴ＿Ｒｅａｄキャッシュ９０１はＦＡＴの読み込み処理にのみ使用し、ファイルデータの追記などＦＡＴ上のエントリを更新する場合は、ＦＡＴ＿Ｗｒｉｔｅキャッシュ９０２を使用する。
ＦＡＴ＿Ｗｒｉｔｅキャッシュ９０２は、Ｎ個の固定長ブロックから構成され、ＦＡＴキャッシュ制御部１０８により固定長ブロック単位で管理されている。情報記録媒体１１０が半導体メモリの場合、固定長ブロックの大きさとして消去ブロックサイズを使用する。第９図の例では固定長ブロックの大きさは３２セクタである。このＦＡＴ＿Ｗｒｉｔｅキャッシュ９０２は空き領域検索処理か、又は情報記録媒体１１０へのＦＡＴの更新を行う際に使用する。
また第９図（Ｂ）は、ＦＡＴ＿Ｒｅａｄキャッシュ９０１、ＦＡＴ＿Ｗｒｉｔｅキャッシュ９０２を管理する情報を格納するＦＡＴキャッシュ管理情報９０３の一例を示した説明図である。第９図（Ｂ）は第９図（Ａ）の状態のＦＡＴ＿Ｒｅａｄキャッシュ９０１、ＦＡＴ＿Ｗｒｉｔｅキャッシュ９０２に対応している。ＦＡＴキャッシュ管理情報９０３には、ＦＡＴアドレス、ＦＡＴサイズ、更新フラグが含まれる。ＦＡＴアドレスはキャッシュブロック内に読み込まれているＦＡＴがＦＡＴのどの部分かを示すものである。ＦＡＴサイズはキャッシュブロック内に読み込まれているＦＡＴのサイズを示すものである。更新フラグはキャッシュブロック内のＦＡＴが更新されているか否かを示すものである。ＦＡＴキャッシュ管理情報９０３は、この３つの情報を１組として、ＦＡＴ＿Ｒｅａｄキャッシュ９０１用にＭ組、ＦＡＴ＿Ｗｒｉｔｅキャッシュ９０２用にＮ組の情報を含む。
ＦＡＴ＿Ｒｅａｄキャッシュ９０１はセクタ単位で管理され、各キャッシュブロックには１セクタの情報が格納されることから、ＦＡＴの情報を読み込んでいるキャッシュブロックはＦＡＴサイズが必ず「１」となる。また、ＦＡＴ＿Ｒｅａｄキャッシュ９０１は読み込み処理にのみ使用される。このため、キャッシュブロック上のＦＡＴが更新されることはなく、更新フラグは常に“更新なし”の状態に設定されている。更に、現在使用していないキャッシュブロックには、アドレスやサイズの情報に未使用状態であることを示す「０ｘＦＦＦＦ」が設定される。ここで「０ｘＦＦＦＦ」に該当する１０進数の６５５３５は、本実施例で有効なアドレスやサイズとして使用しない値である。
続いて、本実施例における空き領域検索処理について説明する。第１０図は本実施例における空き領域検索処理の流れを示すフローチャートである。実施例１における空き領域検索処理と異なる点は、ＦＡＴ用のキャッシュとしてＦＡＴ＿Ｗｒｉｔｅキャッシュのみを使用する点と、Ｓ１００６において読み込み対象領域のＦＡＴ＿Ｗｒｉｔｅキャッシュが存在した後に、キャッシュブロックのサイズを判定する処理がない点である。
キャッシュブロックのサイズ判定処理がない理由は、使用するキャッシュがＦＡＴ＿Ｗｒｉｔｅキャッシュのみであり、読み込み対象領域のＦＡＴ＿Ｗｒｉｔｅキャッシュが存在した場合、キャッシュブロックのサイズは必ず予め定められた固定長（例えば３２セクタ）となっているためである。
本実施例におけるリンク先取得処理について説明する。図１１は本実施例におけるリンク先取得処理の流れを示すフローチャートである。本実施例におけるリンク先取得処理が実施例１におけるリンク先取得処理と異なる点は、ＦＡＴ用のキャッシュとしてＦＡＴ＿Ｒｅａｄキャッシュのみを使用する点である。
ここでは、空き領域検索処理においてＦＡＴ＿Ｗｒｉｔｅキャッシュを使用する手順、リンク先取得処理においてＦＡＴ＿Ｒｅａｄキャッシュを使用する手順について説明を行った。ファイルデータの追記や、ファイルの削除など、ＦＡＴを更新する処理を行う場合には、空き領域検索処理と同様にＦＡＴ＿Ｗｒｉｔｅキャッシュに対する操作を行う。
以上のように、本実施例２ではＦＡＴに対してアクセスする際に、ブロックサイズの異なる２つのキャッシュを使い分けることにより、ＦＡＴへのアクセスを効率化することができる。即ち、空き領域検索処理やＦＡＴ更新処理などの比較的大きな単位でＦＡＴにアクセスした方が効率的な場合には、ブロックサイズの大きなキャッシュを使用する。リンク先取得処理などの比較的小さな単位でＦＡＴにアクセスした方が効率的な場合には、ブロックサイズの小さなキャッシュを使用する。これにより、ＦＡＴアクセス時のオーバーヘッドを低減し、効率良くＦＡＴにアクセスすることが可能となる。
なお、本発明の実施例では、ＦＡＴキャッシュ管理情報としてＦＡＴアドレス、ＦＡＴサイズ、更新フラグの３つの情報を１組として管理する例を記載したが、同様の情報によりＦＡＴキャッシュの管理が可能であれば他の形式としてもよい。また、本発明の実施例では消去ブロック単位でのアクセスが最速である情報記録媒体を想定して説明を行ったが、アクセス開始位置にアクセス性能が依存しない情報記録媒体に適用してもよい。その場合、本実施例では消去ブロック境界を意識したＦＡＴのキャッシュを行ったが、単純にＦＡＴ先頭から固定長ブロック単位でキャッシュをするように変更してもよい。また本発明のデータ領域管理方法は、セクタサイズや消去ブロックサイズに限定されないものとする。
産業上の利用の可能性
本発明のデータ領域管理方法は、情報記録媒体からＦＡＴを用いてデータを読み出し又は記録する際、ＦＡＴに関わる情報処理装置のメモリ資源に負担をかけずにデータのアクセスを高速に行うことができる。このため、メモリ容量の制限された携帯端末装置（ＰＤＡ）や、キャッシュメモリを有する情報処理装置などの用途に広く活用できる。また本発明は不揮発性の半導体メモリ、ハードディスク、光ディスク等を情報記録媒体に持つ情報処理装置には好適である。
【図１】
2005008499.tif 000003
【図２】
2005008499.tif 000004
【図３】
2005008499.tif 000005
【図４】
2005008499.tif 000006
【図５】
2005008499.tif 000007
【図６】
2005008499.tif 000008
【図７】
2005008499.tif 000009
【図８】
2005008499.tif 000010
【図９】
2005008499.tif 000011
【図１０】
2005008499.tif 000012
【図１１】
2005008499.tif 000013
【国際調査報告】
2005008499.tif 000014
2005008499.tif 000015