(57)【要約】【課題】  記憶媒体に、効率的にアクセスすることができるデータ処理装置を提供する。【解決手段】  本発明は、データ格納領域と管理情報格納領域とを有する記憶媒体を備えるデータ処理装置に関する。そして、データ処理装置は、格納されたデータの格納位置情報を取得する手段と、取得した格納位置情報をキャッシュするか否かについて、所定の評価値に基づいて判断する手段と、キャッシュすると判定された格納位置情報をキャッシュする手段と、アクセス対象のファイルの格納位置情報がキャッシュされている場合には、そのキャッシュされた格納位置情報を利用してデータにアクセスし、アクセス対象データに係る格納位置情報がキャッシュされていない場合には、管理情報格納領域から格納位置情報を取得してアクセス対象データにアクセスする手段とを有することを特徴とする。【選択図】      図１
2014021842.tif 000002
【特許請求の範囲】
【請求項１】
データを格納するデータ格納領域と、前記データ格納領域に格納されたデータの格納位置を示す格納位置情報を含む管理情報を格納する管理情報格納領域とを有する記憶媒体を備えるデータ処理装置において、
前記管理情報格納領域から、前記データ格納領域に格納されたデータの格納位置情報を取得する情報取得手段と、
前記情報取得手段が取得した、データの格納位置情報をキャッシュするか否かについて、所定の評価値に基づいて判断するキャッシュ判定手段と、
前記情報取得手段が取得した格納位置情報のうち、前記キャッシュ判定手段でキャッシュすると判定された格納位置情報をキャッシュするキャッシュ手段と、
前記データ格納領域のデータにアクセスする際に、当該データに係る格納位置情報が前記キャッシュ手段にキャッシュされている場合には、前記キャッシュ手段がキャッシュしている格納位置情報を利用して、前記データ格納領域の当該データにアクセスし、当該データに係る格納位置情報が前記キャッシュ手段にキャッシュされていない場合には、前記情報取得手段が取得した格納位置情報を利用して、前記データ格納領域の当該データにアクセスするデータアクセス手段と
を有することを特徴とするデータ処理装置。
【請求項２】
前記キャッシュ判定手段は、前記情報取得手段が取得したデータの格納位置情報を、キャッシュするか否かについて、当該データの格納位置情報を前記管理情報格納領域から読込むのに必要な前記記憶媒体への媒体アクセス回数を考慮した評価値に基づいて判断することを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記キャッシュ手段がキャッシュ可能な格納位置情報の数には上限値が設定されており、
前記キャッシュ判定手段は、前記キャッシュ手段がキャッシュしている格納位置情報が前記上限値に達している場合、前記キャッシュ手段がキャッシュしているデータのうち最も評価値の低い最低評価値データを検出し、評価対象のデータの評価値と、最低評価値データの評価値との比較結果に基づいていて、評価対象のデータの格納位置情報をキャッシュするか否かを判定し、
前記キャッシュ手段は、前記キャッシュ手段がキャッシュしている格納位置情報が前記上限値に達している状態で、前記キャッシュ判定手段が新たな格納位置情報をキャッシュすると判定した場合、最低評価値データの格納位置情報と新たな格納位置情報を置き換えてキャッシュする
ことを特徴とする請求項１又は２に記載のデータ処理装置。
【請求項４】
前記データアクセス手段は、前記キャッシュ手段が格納位置情報をキャッシュしているデータのそれぞれについて、データアクセス回数を計数し、
前記キャッシュ判定手段が用いる評価値は、媒体アクセス回数及びデータアクセス回数を考慮した値である
ことを特徴とする請求項１〜３のいずれかに記載のデータ処理装置。
【請求項５】
前記データアクセス手段がアクセスしたデータのコピーを記録することが可能なコピー記録手段と、
評価対象のデータが所定の条件に該当するデータであるか否かを判定するデータ判定手段とをさらに備え、
前記データアクセス手段は、前記所定の条件に該当するデータを読み込んだ場合、当該データを前記コピー記録手段に記録し、次回当該データにアクセスが必要な場合には、前記コピー記録手段に記録された当該データにアクセスし、
前記キャッシュ判定手段は、評価対象のデータが前記所定の条件に該当する場合、その評価対象のデータについてキャッシュしないと判断する
ことを特徴とする請求項１〜４のいずれかに記載のデータ処理装置。
【請求項６】
前記データ判定手段は、評価対象のデータの識別情報に基づいて、その評価対象のデータが、前記所定の条件に該当するか否かを判定することを特徴とする請求項５に記載のデータ処理装置。
【請求項７】
前記記憶媒体では、ＦＡＴ形式でデータがファイル単位で記憶されており、
前記キャッシュ判定手段は、評価対象のデータに係る、ファイル名、ファイル名に含まれる文字列、ファイル名の拡張子、又はファイルが格納されているディレクトリ名に基づいて、その評価対象のデータが前記所定の条件に該当するか否かを判定すること
を特徴とする請求項５に記載のデータ処理装置。
【請求項８】
データを格納するデータ格納領域と、前記データ格納領域に格納されたデータの格納位置を示す格納位置情報を含む管理情報を格納する管理情報格納領域とを有する記憶媒体を備えるデータ処理装置に搭載されたコンピュータを、
前記管理情報格納領域から、前記データ格納領域に格納されたデータの格納位置情報を取得する情報取得手段と、
前記情報取得手段が取得した、データの格納位置情報をキャッシュするか否かについて、所定の評価値に基づいて判断するキャッシュ判定手段と、
前記情報取得手段が取得した格納位置情報のうち、前記キャッシュ判定手段でキャッシュすると判定された格納位置情報をキャッシュするキャッシュ手段と、
前記データ格納領域のデータにアクセスする際に、当該データに係る格納位置情報が前記キャッシュ手段にキャッシュされている場合には、前記キャッシュ手段がキャッシュしている格納位置情報を利用して、前記データ格納領域の当該データにアクセスし、当該データに係る格納位置情報が前記キャッシュ手段にキャッシュされていない場合には、前記情報取得手段が取得した格納位置情報を利用して、前記データ格納領域の当該データにアクセスするデータアクセス手段と
して機能させることを特徴とするデータ処理プログラム。
【請求項９】
データを格納するデータ格納領域と、前記データ格納領域に格納されたデータの格納位置を示す格納位置情報を含む管理情報を格納する管理情報格納領域とを有する記憶媒体を備えるデータ処理装置におけるデータ処理方法において、
情報取得手段、キャッシュ判定手段、キャッシュ手段、及びデータアクセス手段を備え、
前記情報取得手段は、前記管理情報格納領域から、前記データ格納領域に格納されたデータの格納位置情報を取得し、
前記キャッシュ判定手段は、前記情報取得手段が取得した、データの格納位置情報をキャッシュするか否かについて、所定の評価値に基づいて判断し、
前記キャッシュ手段は、前記情報取得手段が取得した格納位置情報のうち、前記キャッシュ判定手段でキャッシュすると判定された格納位置情報をキャッシュし、
前記データアクセス手段は、前記データ格納領域のデータにアクセスする際に、当該データに係る格納位置情報が前記キャッシュ手段にキャッシュされている場合には、前記キャッシュ手段がキャッシュしている格納位置情報を利用して、前記データ格納領域の当該データにアクセスし、当該データに係る格納位置情報が前記キャッシュ手段にキャッシュされていない場合には、前記情報取得手段が取得した格納位置情報を利用して、前記データ格納領域の当該データにアクセスする
ことを特徴とするデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置、プログラム及び方法に関し、例えば、ハードディスクドライブ（以下、「ＨＤＤ」とも呼ぶ）等の記憶媒体に記憶されたデータへのアクセスに適用し得る。
【背景技術】
【０００２】
ハードディスクドライブやフラッシュメモリ等の外部記憶媒体には、一般にＦＡＴ（Ｆｉｌｅ  Ａｌｌｏｃａｔｉｏｎ  Ｔａｂｌｅｓ）ファイルシステムが用いられることが多い。ＦＡＴは外部記憶媒体内のファイルの物理的な位置情報等を示すデータであり、主制御装置（例えば、ＣＰＵ）等からファイルを読み書きする際に、読み出し、更新される。これらの外部記憶媒体は、一時的なバックアップメモリとした使い方もするので、ファイル削除、追加などの書き換えが頻発する。
【０００３】
さらに、昨今、大容量の外部記憶媒体が増え、サイズの大きいファイルや多数のファイルを格納するようになっている。その結果、外部記憶媒体内のディレクトリエントリやＦＡＴ領域が、ランダムに格納されることにも成り得、この場合、ファイルの実データ（実体）が格納されたデータ領域を特定するまでの間に、多くのセクタ情報を読み出す必要がある。
【０００４】
この処理時間を短縮する従来技術として、特許文献１のように、主制御装置のメモリ中にＦＡＴデータをキャッシュする方法がある。特許文献１では、ＦＡＴファイルシステムのキャッシュデータについて、Ｍセクタ分のＦＡＴ情報をＮ個同時に保持する方法が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１３４７７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、小規模なシステムや装置においては実装ＲＡＭ容量が少ないため、多量なキャッシュエリアは確保できないという問題があった。
【０００７】
また、従来のＦＡＴを用いた技術では、ディレクトリエントリの格納位置や、ランダム格納されたＦＡＴ領域の内容には関係なくキャッシュしており、キャッシュ容量によっては、アクセス頻度の高いファイルの情報がキャッシュできずにヒット率が低くなり、パフォーマンス（スループット）が低下する場合があった。
【０００８】
そのため、記憶媒体に、効率的にアクセスすることができるデータ処理装置、プログラム及び方法が望まれている。
【課題を解決するための手段】
【０００９】
第１の本発明は、データを格納するデータ格納領域と、前記データ格納領域に格納されたデータの格納位置を示す格納位置情報を含む管理情報を格納する管理情報格納領域とを有する記憶媒体を備えるデータ処理装置において、（１）前記管理情報格納領域から、前記データ格納領域に格納されたデータの格納位置情報を取得する情報取得手段と、（２）前記情報取得手段が取得した、データの格納位置情報をキャッシュするか否かについて、所定の評価値に基づいて判断するキャッシュ判定手段と、（３）前記情報取得手段が取得した格納位置情報のうち、前記キャッシュ判定手段でキャッシュすると判定された格納位置情報をキャッシュするキャッシュ手段と、（４）前記データ格納領域のデータにアクセスする際に、当該データに係る格納位置情報が前記キャッシュ手段にキャッシュされている場合には、前記キャッシュ手段がキャッシュしている格納位置情報を利用して、前記データ格納領域の当該データにアクセスし、当該データに係る格納位置情報が前記キャッシュ手段にキャッシュされていない場合には、前記情報取得手段が取得した格納位置情報を利用して、前記データ格納領域の当該データにアクセスするデータアクセス手段とを有することを特徴とする。
【００１０】
第２の本発明のデータ処理プログラムは、データを格納するデータ格納領域と、前記データ格納領域に格納されたデータの格納位置を示す格納位置情報を含む管理情報を格納する管理情報格納領域とを有する記憶媒体を備えるデータ処理装置に搭載されたコンピュータを、（１）前記管理情報格納領域から、前記データ格納領域に格納されたデータの格納位置情報を取得する情報取得手段と、（２）前記情報取得手段が取得した、データの格納位置情報をキャッシュするか否かについて、所定の評価値に基づいて判断するキャッシュ判定手段と、（３）前記情報取得手段が取得した格納位置情報のうち、前記キャッシュ判定手段でキャッシュすると判定された格納位置情報をキャッシュするキャッシュ手段と、（４）前記データ格納領域のデータにアクセスする際に、当該データに係る格納位置情報が前記キャッシュ手段にキャッシュされている場合には、前記キャッシュ手段がキャッシュしている格納位置情報を利用して、前記データ格納領域の当該データにアクセスし、当該データに係る格納位置情報が前記キャッシュ手段にキャッシュされていない場合には、前記情報取得手段が取得した格納位置情報を利用して、前記データ格納領域の当該データにアクセスするデータアクセス手段として機能させることを特徴とする。
【００１１】
第３の本発明は、データを格納するデータ格納領域と、前記データ格納領域に格納されたデータの格納位置を示す格納位置情報を含む管理情報を格納する管理情報格納領域とを有する記憶媒体を備えるデータ処理装置におけるデータ処理方法において、（１）情報取得手段、キャッシュ判定手段、キャッシュ手段、及びデータアクセス手段を備え、（２）前記情報取得手段は、前記管理情報格納領域から、前記データ格納領域に格納されたデータの格納位置情報を取得し、（３）前記キャッシュ判定手段は、前記情報取得手段が取得した、データの格納位置情報をキャッシュするか否かについて、所定の評価値に基づいて判断し、（４）前記キャッシュ手段は、前記情報取得手段が取得した格納位置情報のうち、前記キャッシュ判定手段でキャッシュすると判定された格納位置情報をキャッシュし、（５）前記データアクセス手段は、前記データ格納領域のデータにアクセスする際に、当該データに係る格納位置情報が前記キャッシュ手段にキャッシュされている場合には、前記キャッシュ手段がキャッシュしている格納位置情報を利用して、前記データ格納領域の当該データにアクセスし、当該データに係る格納位置情報が前記キャッシュ手段にキャッシュされていない場合には、前記情報取得手段が取得した格納位置情報を利用して、前記データ格納領域の当該データにアクセスすることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、記憶媒体に、効率的にアクセスするデータ処理装置を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態に係るデータ処理装置（アクセス制御プログラム；データ処理プログラム）の機能的構成について示したブロック図である。
【図２】第１の実施形態に係るデータ処理装置のハードウェア構成、及び記憶されるデータの構成について示したブロック図である。
【図３】第１の実施形態のデータ処理装置で記憶されるディレクトリエントリ及びＦＡＴ領域のデータ構成の例について示した説明図である。
【図４】第１の実施形態に係るディレクトリエントリ及びＦＡＴ領域へのセクタアクセス回数について示した説明図である。
【図５】第１の実施形態に係るキャッシュ情報記憶部のデータ構成例について示した説明図である。
【図６】第１の実施形態に係るデータ処理装置（アクセス制御プログラム；データ処理プログラム）の動作について示したフローチャートである。
【図７】第１の実施形態に係るキャッシュ情報記憶部のデータの遷移について示した説明図である。
【図８】第２の実施形態に係るデータ処理装置（アクセス制御プログラム；データ処理プログラム）の機能的構成について示したブロック図である。
【図９】第２の実施形態に係るキャッシュ情報記憶部のデータ構成例について示した説明図である。
【図１０】第２の実施形態に係るデータ処理装置（アクセス制御プログラム；データ処理プログラム）の動作について示したフローチャートである。
【図１１】第３の実施形態に係るデータ処理装置のハードウェア構成について示したブロック図である。
【図１２】第３の実施形態に係るデータ処理装置（アクセス制御プログラム；データ処理プログラム）の機能的構成について示したブロック図である。
【図１３】第３の実施形態に係るデータ処理装置で記憶されるコピー生成対象ファイル管理テーブルの構成例について示した説明図である。
【図１４】第３の実施形態に係るデータ処理装置（アクセス制御プログラム；データ処理プログラム）の動作について示したフローチャートである。
【発明を実施するための形態】
【００１４】
（Ａ）第１の実施形態
以下、本発明によるデータ処理装置、プログラム及び方法の第１の実施形態を、図面を参照しながら詳述する。
【００１５】
（Ａ−１）第１の実施形態の構成
図２は、第１の実施形態のデータ処理装置１の構成について示したブロック図である。
【００１６】
図２（ａ）は、データ処理装置１の全体構成について示している。なお、図２において括弧内の符号は、後述する第２の実施形態でのみ用いられる符号である。
【００１７】
図２（ａ）に示すように、データ処理装置１は、ＣＰＵ２０、ＲＯＭ２１、ＲＡＭ３０、及び外部記憶媒体４０を有している。
【００１８】
ＣＰＵ２０は、ＲＯＭ２１や外部記憶媒体４０に書き込まれたプログラムを読み込んで、そのプログラムを実行する。例えば、ＣＰＵ２０は、ＲＡＭ３０をワークメモリとしてプログラムを実行する。
【００１９】
この実施形態では、外部記憶媒体４０はＦＡＴ３２のファイルシステムのフォーマットでデータが記録されているものとする。そして、ＲＯＭ２１に、外部記憶媒体４０のデータにアクセスするためのアクセス制御プログラム２１１（実施形態のデータ処理プログラム）が格納されているものとする。そして、ＣＰＵ２０はアクセス制御プログラム２１１を読み込んで実行することにより、外部記憶媒体４０のデータにアクセスするものとする。
【００２０】
図２（ｃ）は、外部記憶媒体４０に記録されるデータ構成について示したブロック図である。
【００２１】
図２（ｃ）に示すように、外部記憶媒体４０には、ＦＡＴ３２のフォーマットに従って、利用目的ごとに領域分けされた構造でデータが記憶されている。
【００２２】
図２（ｃ）に示すように、外部記憶媒体４０には、ＦＡＴ３２のファイルシステムの構成情報が格納されたブートセクタ４１の領域と、ファイルの実体となる実データが格納されたデータ領域４４と、データ領域４４に格納されたファイルのオフセットアドレスとなるクラスタ番号情報を格納するＦＡＴ領域４２と、ファイル名を含むファイルの作成、更新、種別などの情報、及びファイルに対するＦＡＴ領域の先頭クラスタ番号の情報が格納されたディレクトリエントリ４３の領域がある。
【００２３】
外部記憶媒体４０では、データ領域４４によりデータ格納領域が構成され、ＦＡＴ領域４２及びディレクトリエントリ４３により管理情報格納領域が構成されている。
【００２４】
この実施形態の外部記憶媒体４０では、例として、１クラスタが４Ｋｂｙｔｅ、１セクタが５１２ｂｙｔｅであるものとする。この場合、１クラスタ＝８セクタとなる。なお、外部記憶媒体４０におけるクラスタ構成については限定されないものである。
【００２５】
図３は、ディレクトリエントリ４３及びＦＡＴ領域４２に記憶されるデータの内容例について示している。
【００２６】
図３に示すディレクトリエントリ４３では、例として、セクタｄ＋０からｄ＋７の８セクタ分の情報を保持しているものとする。なお、上述の「ｄ」は、ディレクトリエントリ４３の先頭セクタ番号を意味しているものとする。
【００２７】
図３では、ディレクトリエントリ４３のｄ＋０セクタに、２つのファイル「ＦＩＬＥ１．ｘｘｘ」、「ＦＩＬＥ２．ｘｘｘ」のファイル名、その他各種情報（ファイル作成日時（タイムスタンプ）の情報を含む）、及びクラスタ番号の情報が格納されている。また、図３では、ディレクトリエントリ４３のｄ＋２セクタに、２つのファイル「ＦＩＬＥ３．ｘｘｘ」、「ＦＩＬＥ４．ｘｘｘ」の情報が格納されている。なお、ディレクトリエントリ４３では、１ファイルあたり３２ｂｙｔｅの情報として格納されているものとする。
【００２８】
ディレクトリエントリ４３における「クラスタ番号」は、当該ファイルに係る、データ領域４４における先頭のクラスタ番号、及び、ＦＡＴ領域４２の先頭からのオフセットを示す。
【００２９】
図３に示すように、「ＦＩＬＥ１．ｘｘｘ」のクラスタ番号は「２」であり、ＦＡＴ領域４２のクラスタ番号「２」に対応する次クラスタ番号は、「ＦＦＦＦＦＦＦ」となっている。ＦＡＴ領域４２において、次クラスタ番号に「ＦＦＦＦＦＦＦ」が設定されている場合、次のクラスタ番号が無い状態を意味している。したがって、「ＦＩＬＥ１．ｘｘｘ」のファイルの実データ領域は１クラスタに収まるものであることになる。また、「ＦＩＬＥ１．ｘｘｘ」のファイルの実データは、データ領域４４において、クラスタ番号「２」をオフセットとしたクラスタに格納されていることになる。  
また、図３に示すように、ディレクトリエントリ４３において、「ＦＩＬＥ２．ｘｘｘ」のファイルのクラスタ番号は３である。そして、ＦＡＴ領域４２において、クラスタ番号３に対応する次クラスタ番号は「１２９」となっている。これは、「ＦＩＬＥ２．ｘｘｘ」のファイルの次のクラスタ番号が、１２９であることを意味している。そして、ＦＡＴ領域４２において、クラスタ番号１２９に対応する次クラスタ番号は「ＦＦＦＦＦＦＦＦ」となっているので、次クラスタ番号はそれ以上存在しないことを意味している。したがって、「ＦＩＬＥ２．ｘｘｘ」のファイルの実データは、データ領域４４において、クラスタ番号「３、１２９」の２つのクラスタに格納されていることになる。  
図３に示すように、ＦＡＴ領域４２及びディレクトリエントリ４３では、ファイルごとに、格納されている実データ領域を示すクラスタ番号がチェイン構造で格納されている。以下では、このチェイン構造により示されるファイルごとの情報を「チェイン情報」と呼ぶものとする。例えば、図３の例では、「ＦＩＬＥ２．ｘｘｘ」のチェイン情報は「３、１２９」という数列により示すことができる。なお、「ＦＩＬＥ１．ｘｘｘ」は、１つのクラスタに保存されているため、厳密に言えばチェイン構造とはならないが、説明を簡易にするため、「ＦＩＬＥ１．ｘｘｘ」のようなファイルについても、チェイン情報として「１」という１つのクラスタ番号で構成された数列が適用されるものとして説明する。
【００３０】
なお、ＦＡＴ領域４２は、ＦＡＴ３２フォーマットであれば、４ｋｂｙｔｅ単位の情報を持つので、１セクタには、１２８個の次クラスタ番号の情報が格納できることになる。
【００３１】
図２（ｂ）は、ＲＡＭ３０に記憶されるデータ構成について示したブロック図である。
【００３２】
ＣＰＵ２０により、アクセス制御プログラム２１１が実行されると、ＲＡＭ３０上にキャッシュ３１の領域と、クラスタチェインバッファ３２の領域と、ファイル名管理テーブル３３の領域とが確保される。そして、ＣＰＵ２０は、アクセス制御プログラム２１１に基づき、ＲＡＭ３０上の領域（キャッシュ３１、クラスタチェインバッファ３２、及びファイル名管理テーブル３３）を利用して、キャッシュ対象となるファイルについて、外部記憶媒体４０上の実データ領域を示す情報（以下、「格納位置情報」と呼ぶ）を含むキャッシュ情報をキャッシュ（格納）する。すなわち、データ処理装置１では、キャッシュ３１、クラスタチェインバッファ３２、及びファイル名管理テーブル３３により、キャッシュ情報をキャッシュするためのキャッシュ情報記憶部３００が構成されている。言い換えると、ＣＰＵ２０は、アクセス制御プログラム２１１に従って、ＲＡＭ３０上のキャッシュ情報記憶部３００にキャッシュされたキャッシュ情報を管理する。なお、キャッシュ３１、クラスタチェインバッファ３２、及びファイル名管理テーブル３３の詳細については後述する。
【００３３】
ＣＰＵ２０は、ＲＡＭ３０上にキャッシュ情報（格納位置情報）がキャッシュされていないファイルにアクセスする場合、外部記憶媒体４０のＦＡＴ領域４２及びディレクトリエントリ４３にアクセスして格納位置情報を取得し、取得した格納位置情報を利用してデータ領域４４の実データ領域にアクセスする。そして、ＣＰＵ２０は、アクセス制御プログラム２１１に従い、取得した格納位置情報を含むキャッシュ情報を生成する。そして、ＣＰＵ２０は、当該キャッシュ情報についてキャッシュする（ＲＡＭ３０に格納する）か否かを判定し、必要な場合キャッシュする。そして、ＣＰＵ２０は、ＲＡＭ３０上にキャッシュ情報（格納位置情報）がキャッシュされているファイルにアクセスする場合は、そのキャッシュ情報（格納位置情報）を利用して当該ファイルの実データにアクセスする。
【００３４】
次に、図４を用いて、図３に示す各ファイル（ＦＩＬＥ１．ｘｘｘ〜ＦＩＬＥ４．ｘｘｘ）のそれぞれについて、実データの格納位置を探索するまでに必要なセクタ単位のアクセス回数（以下、「位置探索セクタアクセス回数ｎ」、又は「媒体アクセス回数」と呼ぶ）を説明する。
【００３５】
ＣＰＵ２０で、アクセス制御プログラム２１１に従ってディレクトリエントリ４３の情報を読み出す場合、先頭セクタ（ｄ＋０）から順に読み出しを行う。
【００３６】
「ＦＩＬＥ１．ｘｘｘ」のディレクトリエントリ４３の情報格納位置は先頭セクタであるセクタｄ＋０なので、ディレクトリエントリ４３に対するセクタアクセス回数は１回となる。また、「ＦＩＬＥ１．ｘｘｘ」のクラスタ情報は、ＦＡＴ領域４２のセクタｆ＋０にだけ格納されている。したがって、「ＦＩＬＥ１．ｘｘｘ」について、ＦＡＴ領域４２に対するセクタアクセス回数は１回となる。したがって、「ＦＩＬＥ１．ｘｘｘ」については、位置探索セクタアクセス回数ｎ＝２回となる。なお、上述の「ｆ」は、ＦＡＴ領域４２の先頭セクタ番号を意味する。
【００３７】
「ＦＩＬＥ２．ｘｘｘ」のディレクトリエントリ４３の情報格納位置は先頭セクタであるセクタｄ＋０となっている。したがって、「ＦＩＬＥ２．ｘｘｘ」について、ディレクトリエントリ４３に対するセクタアクセス回数は１回となる。また、「ＦＩＬＥ２．ｘｘｘ」のクラスタ情報は、ＦＡＴ領域４２において２つのセクタ（セクタｆ＋０、ｆ＋１）に跨って格納されている。したがって、「ＦＩＬＥ２．ｘｘｘ」について、ＦＡＴ領域４２に対するセクタアクセス回数は２回となる。したがって、「ＦＩＬＥ２．ｘｘｘ」については、位置探索セクタアクセス回数ｎ＝３回となる。
【００３８】
「ＦＩＬＥ３．ｘｘｘ」のディレクトリエントリ４３の情報格納位置は先頭セクタから数えて３つ目のセクタｄ＋２となっている。したがって、「ＦＩＬＥ３．ｘｘｘ」について、ディレクトリエントリ４３に対するセクタアクセス回数は３回となる。また、「ＦＩＬＥ３．ｘｘｘ」のクラスタ情報は、ＦＡＴ領域４２において１つのセクタｆ＋０だけに格納されている。したがって、「ＦＩＬＥ３．ｘｘｘ」について、ＦＡＴ領域４２に対するセクタアクセス回数は１回となる。したがって、「ＦＩＬＥ３．ｘｘｘ」については、位置探索セクタアクセス回数ｎ＝４回となる。
【００３９】
「ＦＩＬＥ４．ｘｘｘ」のディレクトリエントリ４３の情報格納位置は先頭セクタから数えて３つ目のセクタｄ＋２となっている。したがって、「ＦＩＬＥ４．ｘｘｘ」について、ディレクトリエントリ４３に対するセクタアクセス回数は３回となる。また、「ＦＩＬＥ４．ｘｘｘ」のクラスタ情報は、ＦＡＴ領域４２において２つのセクタ（セクタｆ＋０、ｆ＋１）に跨って格納されている。したがって、「ＦＩＬＥ４．ｘｘｘ」について、ＦＡＴ領域４２に対するセクタアクセス回数は２回となる。したがって、「ＦＩＬＥ４．ｘｘｘ」については、位置探索セクタアクセス回数ｎ＝５回となる。
【００４０】
上述のように、ディレクトリエントリ４３に対するファイル情報の格納位置と、ＦＡＴ領域４２に対するクラスタ番号の分散度合いによって、ファイルごとに位置探索セクタアクセス回数ｎが異なる。
【００４１】
次に、図５を用いて、キャッシュ３１、クラスタチェインバッファ３２、及びファイル名管理テーブル３３の構成について説明する。
【００４２】
図５は、仮に図３に示すファイル（ＦＩＬＥ１．ｘｘｘ〜ＦＩＬＥ４．ｘｘｘ）の全てについてキャッシュした場合のキャッシュ３１、クラスタチェインバッファ３２、及びファイル名管理テーブル３３の構成例について示している。
【００４３】
図５（ａ）は、キャッシュ３１の構成例を示している。また、図５（ｂ）は、クラスタチェインバッファ３２の構成例を示している。さらに、図５（ｃ）は、ファイル名管理テーブル３３の構成例を示している。
【００４４】
図５に示すように、ＣＰＵ２０（アクセス制御プログラム２１１）は、各ファイルの格納位置情報を含むキャッシュ情報を、３つのデータ（キャッシュ３１、クラスタチェインバッファ３２、ファイル名管理テーブル３３）に分散して管理している。なお、キャッシュ情報（格納位置情報を含む）の具体的なデータ構成については限定されないものであり、例えば、図５に示す３つのデータを１つのデータ（１つのテーブル）で管理するようにしてもよい。
【００４５】
ＲＡＭ３０では、図５（ａ）に示すキャッシュ３１を中心としてキャッシュ情報が記憶されている。
【００４６】
図５（ａ）に示すキャッシュ３１では、１行で１つのファイルに関する情報が格納されている。キャッシュ３１では、ファイルごとに、ファイル情報番号、クラスタ番号、クラスタ構成、ファイル名情報アドレス、ファイル名情報サイズ、及び位置探索セクタアクセス回数ｎの項目の情報が格納されている。
【００４７】
「ファイル情報番号」の項目は、当該ファイルのキャッシュ３１上での識別番号を示している。ここでは、図５（ａ）に示すように、ＦＩＬＥ１．ｘｘｘ〜ＦＩＬＥ４．ｘｘｘのファイル情報番号は、それぞれ１〜４に設定されているものとする。図５（ａ）に示すように、キャッシュ３１のファイル情報番号は、当該エリアのキャッシュ３１上でのオフセット番号と同じ番号が、若い番号から順に付けられるものとする。なお、キャッシュ３１では、ファイル情報番号に、０が設定されたエリア（行）は、未使用であることを意味するものとする。
【００４８】
「クラスタ番号」の項目は、当該ファイルのディレクトリエントリ４３におけるクラスタ番号（チェイン情報の先頭となるクラスタ番号）を示している。
【００４９】
「クラスタ構成」の項目は、当該ファイルの実データが単一のクラスタだけで格納されているか、複数のクラスタに跨って格納されているかを示している。ここでは、図５（ａ）に示すように、「クラスタ構成」の項目には、単一クラスタの場合は「０」、複数クラスタの場合には「１」が設定されるものとする。
【００５０】
「ファイル名情報アドレス」の項目は、ファイル名管理テーブル３３上で、当該ファイルのファイル名を格納しているアドレス（オフセット）を示している。
【００５１】
ＲＡＭ３０では、図５（ｃ）に示すファイル名管理テーブル３３により、「ファイル名情報アドレス」と「ファイル名」とが紐づけされている。言い換えると、ＲＡＭ３０では、「ファイル名情報アドレス」を介して、「ファイル情報番号」と「ファイル名」とが紐づけされている。データ処理装置１において、「ファイル情報番号」と「ファイル名」とを紐づけする構成については、上述の例に限定されず、例えば、直接紐づけする構成（ファイル名情報アドレスを介さずに直接紐づけする構成）としてもよい。図５（ａ）の例では、ファイル情報番号「１」（ＦＩＬＥ１．ｘｘｘ）に対応するファイル名情報アドレスは「１」となっている。そして、図５（ｃ）では、ファイル名情報アドレス「１」に対応するファイル名は「ＦＩＬＥ１．ｘｘｘ」となっている。
【００５２】
「ファイル名情報サイズ」の項目は、当該ファイルのファイル名の長さをｂｙｔｅ単位で示した数値を示している。例えば、「ＦＩＬＥ１．ｘｘｘ」というファイル名は９バイトで示されるため、対応するファイル名情報サイズは「９」となる。
【００５３】
「位置探索セクタアクセス回数ｎ」の項目は、当該ファイルの位置探索セクタアクセス回数ｎを示している。例えば、図５（ａ）では、ファイル情報番号「１」（ＦＩＬＥ１．ｘｘｘ）に対応する位置探索セクタアクセス回数ｎは「２」となっている。
【００５４】
図５（ｂ）に示すクラスタチェインバッファ３２は、キャッシュ３１で管理されるファイルのうち、クラスタ構成が１（複数）となっているファイルのチェイン情報（２番目以降のクラスタ番号）を記憶している。したがって、単一のクラスタだけで構成されている「ＦＩＬＥ１．ｘｘｘ」については、クラスタチェインバッファ３２で格納する情報がないことになる。
【００５５】
図５（ｂ）に示すクラスタチェインバッファ３２では、１列でチェイン情報を構成する１つのクラスタ番号を格納するエリアを図示している。例えば、１つのファイルのチェイン情報を構成するクラスタ番号の数（クラスタの数）をＸ個とすると、クラスタチェインバッファ３２では、当該ファイルについて、Ｘ−１個のエリア（列）が確保されることになる。例えば、「ＦＩＬＥ２．ｘｘｘ」のチェイン情報は、２つのクラスタ番号で構成されるので、クラスタチェインバッファ３２では１つのエリアが確保される。また、「ＦＩＬＥ３．ｘｘｘ」のチェイン情報は、３つのクラスタ番号で構成されるので、クラスタチェインバッファ３２では２つのエリアが確保される。
【００５６】
そして、クラスタチェインバッファ３２を構成する各エリアには、当該ファイルの「ファイル情報番号」、当該ファイルのチェイン情報を構成する「クラスタ番号」、及び当該ファイルのチェイン情報を構成する次のクラスタ番号が格納されたエリアのバッファアドレス（オフセット）を示す「次バッファアドレス情報」の項目の情報が格納されている。
【００５７】
例えば、ファイル情報番号が「２」の「ＦＩＬＥ２．ｘｘｘ」については、バッファアドレス０のエリアが確保されている。そして、バッファアドレス０のエリアでは、クラスタ番号が「１２９」、次バッファアドレス情報がチェイン情報の終端を示す「ＦＦ」が格納されている。
【００５８】
また、例えば、ファイル情報番号が「３」の「ＦＩＬＥ３．ｘｘｘ」については、バッファアドレス１、２という２つのエリアが確保されている。そして、バッファアドレス１のエリアでは、クラスタ番号が「５」、次バッファアドレス情報が「２」となっている。そして、バッファアドレス２のエリアでは、クラスタ番号が「６」、次バッファアドレス情報がチェイン情報の終端を示す「ＦＦ」が格納されている。
【００５９】
クラスタチェインバッファ３２では、若い番号のバッファアドレスから順に、エリア（列）が確保され、情報が格納されるものとする。したがって、ＣＰＵ２０（アクセス制御プログラム２１１）では、クラスタチェインバッファ３２において、所望のファイル情報番号を若いバッファアドレスから順に検索することで、当該ファイル情報番号（ファイル）のチェイン情報を得ることができる構成となっている。
【００６０】
以上のように、第１の実施形態のデータ処理装置１では、上述のチェイン情報が「格納位置情報」を構成することになる。第１の実施形態では、キャッシュ３１及びクラスタチェインバッファ３２を用いて、格納位置情報としてのチェイン情報をキャッシュする構成として説明するが、格納位置情報（チェイン情報）をキャッシュする具体的なデータ構造は上述の例に限定されないものである。例えば、キャッシュ情報記憶部３００において、単に、チェイン構造を示す数列（配列）を記憶するようにしてもよい。
【００６１】
次に、アクセス制御プログラム２１１の機能的構成（ソフトウェア構成）について図１のブロック図を用いて説明する。すなわち、データ処理装置１では、ＣＰＵ２０がアクセス制御プログラム２１１を実行することにより、図１に示す機能的構成が実現される。言い換えると、図１は、データ処理装置１の機能的構成を示した図面であるといえる。
【００６２】
図１に示すように、アクセス制御プログラム２１１は、機能的には、ファイルアクセス部１０、ディレクトリエントリ操作部１１、ＦＡＴ操作部１２、キャッシュ生成部１３、キャッシュ記憶手段１４、及び優先順位判断手段１５（セクタアクセス数判断処理部１５１を含む）を有している。
【００６３】
第１の実施形態では、ディレクトリエントリ操作部１１、及びＦＡＴ操作部１２を用いて、実施形態の情報取得手段が構成されている。また、第１の実施形態では、優先順位判断手段１５を用いてキャッシュ判定手段が構成されている。さらに、第１の実施形態では、ファイルアクセス部１０を用いて、データアクセス手段が構成されている。さらにまた、第１の実施形態では、キャッシュ記憶手段１４及びキャッシュ情報記憶部３００により、キャッシュ手段が構成されている。
【００６４】
ファイルアクセス部１０は、他のプログラム（例えば、ＣＰＵ２０により実行される他のプログラム）からの依頼等に基づいて、アクセス対象のファイル（以下、「アクセス対象ファイル」と呼ぶ）の実データ（外部記憶媒体４０のデータ領域４４）にアクセス（読込又や書込み等のためのアクセス）する機能を担っている。
【００６５】
ファイルアクセス部１０は、アクセス対象ファイルのキャッシュ情報（格納位置情報）がキャッシュされている場合、外部記憶媒体４０のデータ領域４４に格納されたアクセス対象ファイルの実データ領域を読み出す際に、そのキャッシュ情報（格納位置情報）を基にする。
【００６６】
ファイルアクセス部１０は、取得しようとするファイルのキャッシュ情報（格納位置情報）が、キャッシュされてない場合、ディレクトリエントリ操作部１１、及びＦＡＴ操作部１２を制御して格納位置情報（チェイン情報）を取得させる。
【００６７】
ディレクトリエントリ操作部１１は、ファイルアクセス部１０の制御に基づいて、アクセス対象ファイルについて、外部記憶媒体４０のディレクトリエントリ４３のデータを取得する機能を担っている。ディレクトリエントリ操作部１１は、セクタ単位で、少なくともディレクトリエントリ４３の情報を読み出し、ファイル名情報、クラスタ番号、その他各種情報を取得する。ディレクトリエントリ４３は、実際には、他の情報（例えば、ロングファイル名の情報やディレクトリに格納された情報であるか否かに関する情報）も取得するが、説明を簡易にするため、本明細書では、それらの他の情報については省略して説明する。
【００６８】
ＦＡＴ操作部１２は、ファイルアクセス部１０の制御に基づいて、アクセス対象ファイルについて、ＦＡＴ領域４２に記憶されたクラスタのチェイン情報（クラスタ番号）を取得する機能を担っている。
【００６９】
キャッシュ生成部１３は、ファイルアクセス部１０の制御に基づいて、アクセス対象ファイルの格納位置情報を含むキャッシュ情報を生成する機能を担っている。
【００７０】
優先順位判断手段１５は、キャッシュ生成部１３で生成されたキャッシュ情報（格納位置情報）について、キャッシュ情報記憶部３００に、キャッシュするか否かを、セクタアクセス数判断処理部１５１を用いて判断する。
【００７１】
そして、キャッシュ記憶手段１４は、キャッシュ生成部１３で生成された格納位置情報と、優先順位判断手段１５で求められた位置探索セクタアクセス回数ｎと、を含むキャッシュ情報を、キャッシュ情報記憶部３００にキャッシュする。
【００７２】
第１の実施形態の優先順位判断手段１５では、このセクタアクセス数判断処理部１５１が、ファイルごとに位置探索セクタアクセス回数ｎを確認し、位置探索セクタアクセス回数ｎに基づいて、当該ファイルのキャッシュ情報（格納位置情報）を、キャッシュ情報記憶部３００にキャッシュするか否かを判断するものとする。具体的には、優先順位判断手段１５は、位置探索セクタアクセス回数ｎが閾値Ｔ１以上のファイルについては、キャッシュ情報を、キャッシュ情報記憶部３００にキャッシュすると判断するものとする。すなわち、優先順位判断手段１５では、位置探索セクタアクセス回数ｎを評価値として利用し、キャッシュ情報をキャッシュする際の優先度が決定される。閾値Ｔ１の値は限定されないものであるが、この実施形態では、Ｔ１＝４であるものとして説明する。
【００７３】
また、優先順位判断手段１５は、キャッシュ情報記憶部３００に格納可能なキャッシュ情報（格納位置情報）の上限値Ｌ１を超える場合には、キャッシュ情報記憶部３００からいずれかのキャッシュ情報を削除する判断を行う必要があるが、その判断に、位置探索セクタアクセス回数ｎを用いるものとする。例えば、新たに格納位置情報をキャッシュ情報記憶部３００にキャッシュ（格納）する際に、当該キャッシュ情報を追加するとキャッシュ情報記憶部３００に格納されるキャッシュ情報の数が上限値Ｌ１を超えてしまう場合、優先順位判断手段１５は、キャッシュ情報記憶部３００で最も位置探索セクタアクセス回数ｎが少ないファイルの格納位置情報を削除すると判断する。なお、新たに追加しようとするキャッシュ情報の位置探索セクタアクセス回数ｎが、キャッシュ情報記憶部３００に格納されているいずれのキャッシュ情報よりも少ない場合、優先順位判断手段１５は、新たなキャッシュ情報の追加を行わないと判断するものとする。
【００７４】
（Ａ−２）第１の実施形態の動作
次に、以上のような構成を有する第１の実施形態のデータ処理装置１の動作（アクセス制御プログラム２１１の動作、実施形態のデータ処理方法）について、図６を用いて説明する。
【００７５】
図６は、データ処理装置１でＣＰＵ２０がアクセス制御プログラム２１１を実行する場合の動作について示したフローチャートである。言い換えると、図６は、図１に示す各構成要素が協働して実行される処理について示したフローチャートとなる。
【００７６】
なお、図６のフローチャートで用いられる「ｄｅｐ」、「ｎ１」、「ｆｎｏ」、「ｃｎｏ」は、キャッシュ情報（格納位置情報）の処理に用いる変数である。なお、「ｄｅｐ」、「ｆｎｏ」、「ｃｎｏ」の初期値は０である。また、図６のフローチャートで用いられる「ｃ＿ｂｕｆｆ」は、チェイン情報（クラスタ番号の数列）を一時的に保存するためのバッファである。「ｃ＿ｂｕｆｆ」は、初期状態において、１つもクラスタ番号が保持されていない状態であるものとする。
【００７７】
ファイルアクセス部１０（ＣＰＵ２０）で、外部記憶媒体４０上のファイル（アクセス対象ファイル）についてアクセスが発生すると、まず、アクセス対象ファイルについて、キャッシュ情報（格納位置情報）がキャッシュ情報記憶部３００に格納されているか否かが判断される（Ｓ１０１）。アクセス対象ファイルについて、キャッシュ情報がキャッシュ情報記憶部３００に格納されている場合には、ＣＰＵ２０（アクセス制御プログラム２１１）は、ステップＳ１１６に移行して、キャッシュ情報記憶部３００に格納されているキャッシュ情報（格納位置情報；チェイン情報）に基づいて、アクセス対象ファイルの実データを読み出す。一方、アクセス対象ファイルについて、キャッシュ情報がキャッシュ情報記憶部３００に格納されていない場合には、ＣＰＵ２０（アクセス制御プログラム２１１）は、後述するステップＳ１０２から動作する。この判断は、ファイル名管理テーブル３３に格納してあるファイル名情報と、アクセス対象ファイルのファイル名が同一かどうかを、キャッシュ３１のファイル名情報サイズ分比較することで行うようにしても良い。
【００７８】
上述のステップＳ１０１で、アクセス対象ファイルについて、キャッシュ情報がキャッシュ情報記憶部３００に格納されていないと確認された場合、ディレクトリエントリ操作部１１（ＣＰＵ２０）により、ディレクトリエントリ４３から、セクタｄ＋ｄｅｐ（先頭セクタｄ＋０からｄｅｐ番目のセクタ）に格納されたディレクトリエントリエントリが読みだされる（Ｓ１０２）。ｄｅｐの初期値は０であるので、最初のループでは、先頭セクタｄ＋０に格納されたディレクトリエントリが読みだされることになる。
【００７９】
次に、ディレクトリエントリ操作部１１（ＣＰＵ２０）により、ｄｅｐに１が加算（インクリメント）される（Ｓ１０３）。
【００８０】
次に、ディレクトリエントリ操作部１１（ＣＰＵ２０）により、上述のステップＳ１０２で読みだされたセクタから、アクセス対象ファイル（該当ファイル）のディレクトリエントリの有無が確認される（Ｓ１０４）。ＣＰＵ２０（アクセス制御プログラム２１１）は、アクセス対象ファイルのディレクトリエントリが検出された場合には後述するステップＳ１０５の処理に移行し、アクセス対象ファイルのディレクトリエントリが検出できなかった場合には上述のステップＳ１０２に戻って動作する。
【００８１】
上述のステップＳ１０４でアクセス対象ファイルのディレクトリエントリが検出された場合には、ディレクトリエントリ操作部１１（ＣＰＵ２０）は、当該ディレクトリエントリの情報をキャッシュ格納前情報として一時的に保存する（Ｓ１０５）。
【００８２】
次に、ＦＡＴ操作部１２（ＣＰＵ２０）が、ＦＡＴ領域４２から、上述のステップＳ１０５で一時保存されたディレクトリエントリの情報のクラスタ番号（又は、ＦＡＴ領域４２のチェイン情報の次クラスタ番号）に対応するセクタを読み出す。そして、ＦＡＴ操作部１２（ＣＰＵ２０）は、読みだしたセクタから、アクセス対象ファイルのチェイン情報を構成する次クラスタ番号を取得し、ＦＡＴ読み出しセクタ数（ｆｎｏ）に１を加算（インクリメント）する更新を行う（Ｓ１０６）。なお、１セクタに、アクセス対象ファイルの次クラスタ番号（チェイン情報を構成するクラスタ番号）が複数存在する場合には、ＦＡＴ操作部１２（ＣＰＵ２０）は、存在するすべての次クラスタ番号を取得する。
【００８３】
そして、ＦＡＴ操作部１２（ＣＰＵ２０）は、ステップＳ１０６で取得した次クラスタ番号が「ＦＦＦＦＦＦＦ」であったか否かを確認する（Ｓ１０７）。次クラスタ番号が「ＦＦＦＦＦＦＦ」であった場合には、ＣＰＵ２０（アクセス制御プログラム２１１）は、後述するステップＳ１１０から動作する。一方、次クラスタ番号が「ＦＦＦＦＦＦＦ」でなかった場合には、ＣＰＵ２０（アクセス制御プログラム２１１）は、後述するステップＳ１０８から動作する。
【００８４】
上述のステップＳ１０７で、次クラスタ番号が「ＦＦＦＦＦＦＦ」でなかったと確認された場合、ＦＡＴ操作部１２（ＣＰＵ２０）は、チェイン数ｃｎｏに、上述のステップＳ１０６で検出された次クラスタ番号の数を加算する（Ｓ１０８）。
【００８５】
そして、ＦＡＴ操作部１２（ＣＰＵ２０）は、上述のステップＳ１０６で検出された次クラスタ番号をバッファｃ＿ｂｕｆｆに追加する処理を行い（Ｓ１０９）、上述のステップＳ１０６に戻って動作する。
【００８６】
上述のステップＳ１０７で、次クラスタ番号が「ＦＦＦＦＦＦＦ」（チェイン情報の終端）と確認された場合には、優先順位判断手段１５（ＣＰＵ２０）は、ｄｅｐとｆｎｏを加算しｎ１とする（Ｓ１１０）。
【００８７】
そして、優先順位判断手段１５（ＣＰＵ２０）は、ｎ１が閾値Ｔ１以上であるか否かを判定する（Ｓ１１１）。ｎ１が閾値Ｔ１以上である場合は、ＣＰＵ２０（アクセス制御プログラム２１１）は、後述するステップＳ１１２から動作する。一方、ｎ１が閾値Ｔ１以上でない場合には、ＣＰＵ２０（アクセス制御プログラム２１１）は、アクセス対象ファイルのキャッシュ情報についてキャッシュを行わず、ステップＳ１１６のファイル読み出しを行う。
【００８８】
ｎ１が閾値Ｔ１以上である場合、優先順位判断手段１５（ＣＰＵ２０）は、アクセス対象ファイルのキャッシュ情報についてキャッシュするか否かを判断する（Ｓ１１２）。アクセス対象ファイルのキャッシュ情報についてキャッシュすると判断された場合には、ＣＰＵ２０（アクセス制御プログラム２１１）は、後述するステップＳ１１３の処理から動作する。一方、クセス対象ファイルのキャッシュ情報についてキャッシュしないと判断された場合には、ＣＰＵ２０（アクセス制御プログラム２１１）は、アクセス対象ファイルのキャッシュ情報についてキャッシュを行わず、ステップＳ１１６のファイル読み出しを行う。
【００８９】
優先順位判断手段１５（ＣＰＵ２０）は、キャッシュ情報記憶部３００に格納されているキャッシュ情報の数が上限値Ｌ１に達している場合は、いずれかのファイルのキャッシュ情報と入れ替えるかを判断する。具体的には、優先順位判断手段１５（ＣＰＵ２０）は、キャッシュ情報記憶部３００に格納されているキャッシュ情報から、位置探索セクタアクセス回数ｎが最小値となるキャッシュ情報を抽出する。そして、優先順位判断手段１５（ＣＰＵ２０）は、検出した位置探索セクタアクセス回数ｎの最小値と、ｎ１とを比較し、ｎ１の方が小さければ、アクセス対象ファイルのキャッシュ情報についてキャッシュしないと判断するものとする。それ以外の場合（キャッシュ情報の数が上限値Ｌ１未満の場合も含む）は、優先順位判断手段１５（ＣＰＵ２０）は、アクセス対象ファイルのキャッシュ情報についてキャッシュすると判断するものとする。
【００９０】
そして、上述のステップＳ１１２で、アクセス対象ファイルのキャッシュ情報についてキャッシュすると判断された場合、キャッシュ生成部１３（ＣＰＵ２０）は、ディレクトリエントリ操作部１１及びＦＡＴ操作部１２が保持した情報（上述のステップＳ１０５で一時保存したキャッシュ格納前情報）から、アクセス対象ファイルのキャッシュ情報（キャッシュ情報記憶部３００に設定する情報）を生成する。そして、キャッシュ記憶手段１４（ＣＰＵ２０）が、生成したキャッシュ情報の一部を、キャッシュ情報記憶部３００のキャッシュ３１に書き込む（Ｓ１１３）。
【００９１】
キャッシュ情報記憶部３００（キャッシュ３１）がフル状態（上限値Ｌ１に達している）の場合、キャッシュ記憶手段１４（ＣＰＵ２０）は、位置探索セクタアクセス回数ｎが最小値となるキャッシュ情報のエリアに、アクセス対象ファイルのキャッシュ情報を書き込む。一方、キャッシュ情報記憶部３００がフル状態でない場合には、キャッシュ記憶手段１４（ＣＰＵ２０）は、空いているエリア（キャッシュ３１でファイル情報番号が０となっているエリア）に、アクセス対象ファイルのキャッシュ情報を書き込む。
【００９２】
そして、アクセス対象ファイルのチェイン情報が、複数のクラスタ番号で構成されている場合には、キャッシュ記憶手段１４（ＣＰＵ２０）は、キャッシュ生成部１３（ＣＰＵ２０）が生成したキャッシュ情報からチェイン情報（バッファｃ＿ｂｕｆｆが保持した情報）を抽出して、クラスタチェインバッファ３２に設定する（Ｓ１１４、Ｓ１１５）。
【００９３】
以上のように、ＣＰＵ２０（アクセス制御プログラム２１１）では、アクセス対象ファイルへのアクセス及びキャッシュ情報（格納位置情報）のキャッシュが行われる。
【００９４】
そして、上述の図６のフローチャートに従って、図３に示すファイル（ＦＩＬＥ１．ｘｘｘ〜ＦＩＬＥ４．ｘｘｘ）に対して、ＣＰＵ２０（アクセス制御プログラム２１１）がアクセスした場合、キャッシュ情報記憶部３００の内容は図７のようになる。なお、図７では、閾値Ｔ１＝４とした場合について示している。
【００９５】
「ＦＩＬＥ１．ｘｘｘ」、「ＦＩＬＥ２．ｘｘｘ」については、位置探索セクタアクセス回数ｎが閾値Ｔ１（４）に満たないため、この場合図７に示すように、キャッシュ情報記憶部３００にキャッシュ情報は格納されない。これに対して、「ＦＩＬＥ３．ｘｘｘ」、「ＦＩＬＥ４．ｘｘｘ」については、位置探索セクタアクセス回数ｎが閾値Ｔ１（４）以上となるため、キャッシュ情報記憶部３００にキャッシュ情報が格納される。図７では、「ＦＩＬＥ３．ｘｘｘ」のファイル情報番号及びファイル名情報アドレスがいずれも１となっている。また、図７では、「ＦＩＬＥ４．ｘｘｘ」のファイル情報番号及びファイル名情報アドレスがいずれも２となっている。
【００９６】
（Ａ−３）第１の実施形態の効果
第１の実施形態によれば、以下のような効果を奏することができる。
【００９７】
第１の実施形態では、ＣＰＵ２０がアクセスするファイルのキャッシュ情報（格納位置情報）について、キャッシュすべきか否かの優先度判断を、優先順位判断手段１５により行い、キャッシュ情報記憶部３００の領域を効率的に使用している。
【００９８】
仮に、キャッシュ情報記憶部３００として、小容量の領域しか確保できない場合、例えば、単純な先入れ先出し法（ＦＩＦＯ）によってキャッシュに残すか否かを判別する方法では、ファイルアクセス処理時間の短縮に有効とならないケースが有り得た。しかし、データ処理装置１では、優先順位判断手段１５により、位置探索セクタアクセス回数ｎを評価値として、アクセス対象ファイルのキャッシュ情報をキャッシュするか否かを判断している。これにより、データ処理装置１では、ファイルアクセス時間の短縮に有効なファイルがどれかを見極めることができるので、キャッシュを効率的に使用でき、外部記憶媒体４０に対するアクセスのパフォーマンス低下を抑制できる。
【００９９】
キャッシュ３１などが割り当てられているＲＡＭ３０に対するアクセス時間と比較すると、外部記憶媒体４０へのセクタアクセスには時間を要するので、位置探索セクタアクセス回数ｎが、ファイルアクセス制御において、時間的に大きなウェイトを占めることになる。したがって、位置探索セクタアクセス回数ｎを評価値として、アクセス対象ファイルのキャッシュ情報をキャッシュするか否かを判断することは、外部記憶媒体４０に対するアクセスのパフォーマンス向上（スループット向上）に大きく寄与する。
【０１００】
（Ｂ）第２の実施形態
以下、本発明によるデータ処理装置、プログラム及び方法の第２の実施形態を、図面を参照しながら詳述する。
【０１０１】
（Ｂ−１）第２の実施形態の構成
第２の実施形態のデータ処理装置１Ａのハードウェア構成も上述の図２を用いて示すことができる。以下では、第２の実施形態について、第１の実施形態との差異を説明する。
【０１０２】
第２の実施形態のデータ処理装置１Ａでは、図２に示すように、ＣＰＵ２０により実行されるアクセス制御プログラム２１１が、アクセス制御プログラム２１１Ａに置き換わっている点で第１の実施形態と異なっている。
【０１０３】
そして、アクセス制御プログラム２１１Ａの機能的構成（データ処理装置１Ａの機能的構成）は、図８のように表すことができる。図８は、上述の図１と同一又は対応する部分に、同一又は対応する符号を付している。
【０１０４】
第２の実施形態のアクセス制御プログラム２１１Ａでは、キャッシュ情報記憶部３００のキャッシュ３１に記憶させるキャッシュ情報のうちキャッシュ３１の形式が異なっている。
【０１０５】
次に、図９を用いて、第２の実施形態のキャッシュ３１、クラスタチェインバッファ３２、及びファイル名管理テーブル３３の構成について説明する。図９は、仮に図３に示すファイル（ＦＩＬＥ１．ｘｘｘ〜ＦＩＬＥ４．ｘｘｘ）の全てについてキャッシュ情報（格納位置情報）をキャッシュした場合のキャッシュ３１、クラスタチェインバッファ３２、及びファイル名管理テーブル３３の構成例について示している。
【０１０６】
図９（ａ）に示すように、第２の実施形態のキャッシュ３１では、ファイルごとのキャッシュ情報に「ファイルアクセス回数」の項目が追加されている点で第１の実施形態と異なっている。
【０１０７】
「ファイルアクセス回数」の項目は、ＣＰＵ２０が当該ファイルにアクセスした回数を示している。キャッシュ３１において、ファイルアクセス回数の初期値は１で、その後、ＣＰＵ２０が当該ファイルにアクセスするたびに、アクセス制御プログラム２１１Ａに従って、インクリメント（１加算）されるものとする。
【０１０８】
第２の実施形態のアクセス制御プログラム２１１Ａ（ＣＰＵ２０）では、アクセス対象ファイルのキャッシュ情報（格納位置情報）をキャッシュする判断を行う際の評価値として、位置探索セクタアクセス回数ｎと、ファイルアクセス回数を考慮した値を用いる。
【０１０９】
次に、アクセス制御プログラム２１１Ａ（データ処理装置１Ａ）の機能的構成について図８を用いて説明する。
【０１１０】
図８に示すように、アクセス制御プログラム２１１Ａでは、ファイルアクセス部１０、キャッシュ生成部１３、及び優先順位判断手段１５が、ファイルアクセス部１０Ａ、キャッシュ生成部１３Ａ、及び優先順位判断手段１５Ａに置き換わっている点で、第１の実施形態と異なっている。
【０１１１】
キャッシュ生成部１３Ａは、図９に示すように、各ファイルのキャッシュ情報として、ファイルアクセス回数の項目についてもキャッシュ３１に設定する点で第１の実施形態と異なっている。
【０１１２】
ファイルアクセス部１０Ａは、ファイルにアクセスする度に、キャッシュ３１における当該ファイルのファイルアクセス回数をインクリメントする点で第１の実施形態と異なっている。
【０１１３】
優先順位判断手段１５Ａは、アクセス対象ファイルのキャッシュ情報をキャッシュする判断を行う際の評価値として、位置探索セクタアクセス回数ｎと、ファイルアクセス回数を考慮した値を用いる点で第１の実施形態と異なっている。優先順位判断手段１５Ａには、データ領域アクセス回数判断処理部１５２が追加されており、このデータ領域アクセス回数判断処理部１５２により、ファイルアクセス回数を用いた判定処理が行われる。  
そして、第２の実施形態の優先順位判断手段１５Ａでは、データ領域アクセス回数判断処理部１５２がファイルごとのファイルアクセス回数を確認するものとする。
【０１１４】
第１の実施形態の優先順位判断手段１５では、位置探索セクタアクセス回数ｎを評価値として、キャッシュするキャッシュ情報の優先度を決定していた。これに対して、第２の実施形態では、上述の通り、位置探索セクタアクセス回数ｎ及びファイルアクセス回数を考慮した評価値ｎ２を用いて、キャッシュするキャッシュ情報の優先度を決定する。
【０１１５】
この実施形態の優先順位判断手段１５Ａでは、ファイルごとに、位置探索セクタアクセス回数ｎにファイルアクセス回数を乗算した値を、評価値ｎ２として算出する。なお、この実施形態では、格納位置情報がキャッシュされていないファイルについては、ファイルアクセス回数を１（初期値）として評価値ｎ２が算出されるものとする。
【０１１６】
そして、優先順位判断手段１５Ａは、評価値ｎ２に基づいて、アクセス対象ファイルのキャッシュ情報を、キャッシュ情報記憶部３００にキャッシュするか否かを判断するものとする。具体的には、優先順位判断手段１５Ａは、評価値ｎ２が閾値Ｔ２以上のファイルについては、キャッシュ情報を、キャッシュ情報記憶部３００にキャッシュすると判断するものとする。閾値Ｔ２の値は限定されないものであるが、この実施形態では、Ｔ２＝２であるものとして説明する。
【０１１７】
なお、図９の例の場合、「ＦＩＬＥ１．ｘｘｘ」の評価値ｎ２は２×３＝６、「ＦＩＬＥ２．ｘｘｘ」の評価値ｎ２が３×１＝３、「ＦＩＬＥ３．ｘｘｘ」の評価値が「４×１＝４」、「ＦＩＬＥ４．ｘｘｘ」の評価値が５×１＝５となる。したがって、図９の例の場合、第１の実施形態では、最低優先度だった「ＦＩＬＥ１．ｘｘｘ」が、キャッシュされた場合最高優先度の判断となる。
【０１１８】
また、優先順位判断手段１５Ａは、キャッシュ情報記憶部３００に格納可能なキャッシュ情報の上限値Ｌ１を超える場合には、キャッシュ情報記憶部３００からいずれかの格納位置情報を削除する判断を行う必要があるが、その判断にも、評価値ｎ２を用いるものとする。例えば、新たにキャッシュ情報をキャッシュ情報記憶部３００にキャッシュする際に、当該格納位置情報を追加するとキャッシュ情報記憶部３００に格納されるキャッシュ情報の数が上限値Ｌ１を超えてしまう場合を想定する。この場合、優先順位判断手段１５Ａは、キャッシュ情報記憶部３００で最も評価値ｎ２が少ないファイルのキャッシュ情報を削除すると判断する。なお、新たに追加しようとするキャッシュ情報に係る評価値ｎ２が、キャッシュ情報記憶部３００に格納されているいずれのキャッシュ情報よりも少ない場合、優先順位判断手段１５Ａは、新たなキャッシュ情報の追加を行わないと判断するものとする。
【０１１９】
（Ｂ−２）第２の実施形態の動作
次に、以上のような構成を有する第２の実施形態のデータ処理装置１Ａの動作（アクセス制御プログラム２１１Ａの動作、実施形態のデータ処理方法）について、図１０を用いて説明する。
【０１２０】
以下では、第１の実施形態と異なる部分についてのみ説明する。
【０１２１】
第２の実施形態のＣＰＵ２０（アクセス制御プログラム２１１Ａ）では、ステップＳ１０１の前段で、ステップＳ２１７の処理が行われる。ステップＳ２１７において、ファイルアクセス部１０Ａ（ＣＰＵ２０）は、アクセス対象ファイルのキャッシュ情報（格納位置情報）がキャッシュ情報記憶部３００にキャッシュされている場合、キャッシュ３１上のアクセス対象ファイルに係るファイルアクセス回数をインクリメントする処理を行う。なお、アクセス対象ファイルのキャッシュ情報がキャッシュ情報記憶部３００にキャッシュされていない場合、ファイルアクセス部１０Ａ（ＣＰＵ２０）は、当該アクセス対象ファイルのファイルアクセス回数の初期値（１）を保持しておき、キャッシュ情報をキャッシュする際に利用するようにしてもよい。
【０１２２】
また、第２の実施形態のＣＰＵ２０（アクセス制御プログラム２１１Ａ）では、ステップＳ１１１〜Ｓ１１３が、ステップＳ２１８、Ｓ２１１〜Ｓ２１３に置き換わっている。
【０１２３】
ステップＳ２１８では、優先順位判断手段１５Ａ（ＣＰＵ２０）により、アクセス対象ファイルの評価値ｎ２が算出される。ｎ２は、ｎ１の値に、上述のステップＳ２１７で更新又は保持されたファイルアクセス回数を乗算した値となる。  
そして、ステップＳ２１１では、優先順位判断手段１５Ａ（ＣＰＵ２０）は、ｎ２が閾値Ｔ２以上であるか否かを判定する。ｎ２が閾値Ｔ２以上である場合は、ＣＰＵ２０（アクセス制御プログラム２１１）は、後述するステップＳ２１２から動作する。一方、ｎ２が閾値Ｔ２以上でない場合には、ＣＰＵ２０（アクセス制御プログラム２１１）は、アクセス対象ファイルのキャッシュ情報についてキャッシュを行わず、ステップＳ１１６のファイル読み出しを行う。
【０１２４】
そして、ｎ２が閾値Ｔ２以上である場合、ステップＳ２１２において、優先順位判断手段１５Ａ（ＣＰＵ２０）は、アクセス対象ファイルのキャッシュ情報についてキャッシュするか否かを判断する。アクセス対象ファイルのキャッシュ情報についてキャッシュすると判断された場合には、ＣＰＵ２０（アクセス制御プログラム２１１Ａ）は、後述するステップＳ２１３の処理から動作する。一方、アクセス対象ファイルのキャッシュ情報についてキャッシュしないと判断された場合には、ＣＰＵ２０（アクセス制御プログラム２１１Ａ）は、アクセス対象ファイルのキャッシュ情報についてキャッシュを行わず、ステップＳ１１６のファイル読み出しを行う。
【０１２５】
ステップＳ２１２において、優先順位判断手段１５Ａ（ＣＰＵ２０）は、キャッシュ情報記憶部３００にキャッシュされているキャッシュ情報の数が上限値Ｌ１に達している場合は、いずれかのファイルのキャッシュ情報と入れ替えるかを判断する。具体的には、優先順位判断手段１５Ａ（ＣＰＵ２０）は、キャッシュ情報記憶部３００にキャッシュされているキャッシュ情報から、評価値ｎ２が最小値となるキャッシュ情報を抽出する。そして、優先順位判断手段１５（ＣＰＵ２０）は、検出した評価値ｎ２の最小値と、アクセス対象ファイルの評価値ｎ２とを比較し、アクセス対象ファイルの評価値ｎ２の方が小さければ、アクセス対象ファイルのキャッシュ情報についてキャッシュしないと判断するものとする。それ以外の場合（キャッシュ情報の数が上限値Ｌ１未満の場合も含む）は、優先順位判断手段１５Ａ（ＣＰＵ２０）は、アクセス対象ファイルのキャッシュ情報についてキャッシュすると判断するものとする。
【０１２６】
そして、上述のステップＳ２１２で、アクセス対象ファイルのキャッシュ情報についてキャッシュすると判断された場合、ステップＳ２１３において、キャッシュ生成部１３Ａ（ＣＰＵ２０）は、ディレクトリエントリ操作部１１及びＦＡＴ操作部１２が保持した情報（上述のステップＳ１０５で一時保存したキャッシュ格納前情報）から、アクセス対象ファイルの格納位置情報を含むキャッシュ情報を生成する。そして、キャッシュ記憶手段１４（ＣＰＵ２０）が、生成したキャッシュ情報の一部を、キャッシュ情報記憶部３００のキャッシュ３１に書き込む。
【０１２７】
キャッシュ情報記憶部３００（キャッシュ３１）がフル状態（上限値Ｌ１に達している）の場合、キャッシュ記憶手段１４（ＣＰＵ２０）は、評価値ｎ２が最小値となるキャッシュ情報のエリアに、アクセス対象ファイルのキャッシュ情報を書き込む。例えば、図９の例では、評価値の最小値は、「ＦＩＬＥ２．ｘｘｘ」の３×１＝３なので、仮に、ｎ２の値が３以上となるファイルがアクセス対象ファイルであれば、そのファイルのキャッシュ情報は、「ＦＩＩＥ２．ｘｘｘ」のキャッシュ情報が格納されているエリアに上書きされることになる。
【０１２８】
（Ｂ−３）第２の実施形態の効果
第２の実施形態によれば、以下のような効果を奏することができる。
【０１２９】
第２の実施形態の優先順位判断手段１５Ａでは、ファイルごとに、位置探索セクタアクセス回数ｎにファイルアクセス回数を乗算した値を、評価値ｎ２として算出する。そして、優先順位判断手段１５Ａは、評価値ｎ２に基づいて、アクセス対象ファイルのキャッシュ情報を、キャッシュ情報記憶部３００にキャッシュするか否かを判断する。これにより、第２の実施形態では、ファイル毎にアクセス頻度が異なっていても、優先順位判断手段１５Ａ（ＣＰＵ２０）は、それを考慮した評価値ｎ２に基づいた判断を行う。例えば、第２の実施形態のデータ処理装置１Ａでは、位置探索セクタアクセス回数ｎが少なくても、アクセス頻度の高いファイルが存在する場合には、第１の実施形態よりも効率的なキャッシュ使用となり、さらなるパフォーマンス向上（さらなるパフォーマンスの低下抑制）を実現することができる。
【０１３０】
（Ｃ）第３の実施形態
以下、本発明によるデータ処理装置、プログラム及び方法の第３の実施形態を、図面を参照しながら詳述する。
【０１３１】
（Ｃ−１）第３の実施形態の構成
図１１は、第３の実施形態に係るデータ処理装置１Ｂのハードウェア構成について示したブロック図である。以下では、第３の実施形態について、第２の実施形態との差異を説明する。
【０１３２】
図１１に示すように、第３の実施形態のデータ処理装置１Ｂでは、不揮発メモリ２２が追加されている点で第２の実施形態と異なっている。不揮発メモリ２２は、例えば、フラッシュメモリ等の不揮発メモリを適用することができる。
【０１３３】
また、第３の実施形態では、アクセス制御プログラム２１１Ａがアクセス制御プログラム２１１Ｂに置き換わっている点で、第２の実施形態と異なっている。
【０１３４】
アクセス制御プログラム２１１Ｂ（ＣＰＵ２０）は、一部のファイルについて、当該ファイルの実データ自体を、不揮発性メモリ２２にコピー（ダウンロード）しておき、次に当該ファイルについて読みだす場合には、データ領域４４ではなく不揮発性メモリ２２にコピーしたデータを読み出すものとする。例えば、サイズの大きいファイルは、クラスタチェインバッファ３２の利用数が多くなり、かつ、位置探索セクタアクセス回数ｎの値が大きくなる。したがって、サイズの大きいファイルが不揮発性メモリ２２にコピーされた場合、キャッシュ情報記憶部３００における当該ファイルのキャッシュ情報はアクセスされないにも関わらず、キャッシュ情報記憶部３００における保持は継続してしまい、他のファイルに係るキャッシュ情報が書き込めない状況が発生するおそれがある。
【０１３５】
そこで、第３の実施形態のアクセス制御プログラム２１１Ｂ（ＣＰＵ２０）は、上述のように不揮発性メモリ２２等の一次保存用の記憶媒体にコピー（ダウンロード）して利用されるファイル（以下、「コピー生成対象ファイル」と呼ぶ）に関するキャッシュ情報は、キャッシュ情報記憶部３００にキャッシュしない構成になっているものとする。
【０１３６】
実施形態のアクセス制御プログラム２１１Ｂ（ＣＰＵ２０）で、コピー生成対象ファイルを識別する方式については限定されないものであるが、この実施形態では、所定の形式のファイル名（以下、「特有ファイル名」と呼ぶ）のファイル（所定の条件に該当するファイル）については、コピー生成対象ファイルと判定するものとする。特有ファイル名に該当するファイル名の形式については限定されないものであるが、例えば、所定の拡張子が付されているファイル名、特定の文字列（名称）で構成されたファイル名、先頭や最後尾に付く文字列が所定の内容となっているファイル名、特定のディレクトリに格納されているファイルのファイル名（パス名まで含めてファイル名として取り扱う）等が該当する。
【０１３７】
次に、アクセス制御プログラム２１１Ｂ（データ処理装置１Ｂ）の機能的構成について図１２を用いて説明する。
【０１３８】
図１２に示すように、アクセス制御プログラム２１１Ｂでは、ファイルアクセス部１０Ａ、及び優先順位判断手段１５Ａが、ファイルアクセス部１０Ｂ、及び優先順位判断手段１５Ｂに置き換わっている点で異なっている。
【０１３９】
ファイルアクセス部１０Ｂは、コピー生成対象ファイル（ファイル名が特有ファイル名のファイル）については、不揮発メモリ２２にコピーして、次回当該ファイルの読み出しを行う場合には、基本的に不揮発メモリ２２から読み出す点で異なっている。
【０１４０】
そして、アクセス制御プログラム２１１Ｂ（データ処理装置１Ｂ）では、コピー生成対象ファイルについて、コピー生成対象ファイル管理テーブル３４を用いて管理するものとする。コピー生成対象ファイル管理テーブル３４を記憶する場所については限定されないものであるが、この実施形態では、少なくともＲＡＭ３０上に記憶されるものとして説明する。
【０１４１】
そして、ファイルアクセス部１０Ｂは、コピー生成対象ファイルについて、不揮発メモリ２２にコピー（上書きコピーも含む）する際に、当該ファイルに関する情報を、コピー生成対象ファイル管理テーブル３４に登録して管理する。
【０１４２】
図１３は、コピー生成対象ファイル管理テーブル３４の構成例について示した説明図である。
【０１４３】
図１３に示すようにコピー生成対象ファイル管理テーブル３４では、コピー生成対象ファイルごとに、ファイル名と、ファイル作成日時（作成時又は更新時のタイムスタンプ）が登録されている。なお、図１３に示すコピー生成対象ファイル管理テーブル３４では、各ファイルの識別子としてファイル名を用いているが、その他の識別子（例えば、ファイルごとに付与されたＩＤやアドレス等）に置き換えるようにしてもよい。
【０１４４】
なお、コピー生成対象ファイル管理テーブル３４については、不揮発メモリ２２上に同じ内容をコピーしておくようにしてもよい。その場合、データ処理装置１Ｂが電源オフや再起動したときに、ファイルアクセス部１０Ｂ（ＣＰＵ２０）が、不揮発メモリ２２上に記憶したコピー生成対象ファイル管理テーブル３４を取得するようにしてもよい。
【０１４５】
優先順位判断手段１５Ｂでは、アクセス対象ファイルについて、コピー生成対象ファイル（ファイル名が特有ファイル名のファイル）であるか否かを判断するファイル識別情報判断処理部１５３が追加されている点で第２の実施形態と異なっている。そして、優先順位判断手段１５Ｂは、ファイル識別情報判断処理部１５３によりコピー生成対象ファイル（ファイル名が特有ファイル名のファイル）と判定されたファイルについては、キャッシュ情報をキャッシュ情報記憶部３００にキャッシュしないと判定するものとする。
【０１４６】
（Ｃ−２）第３の実施形態の動作
次に、以上のような構成を有する第３の実施形態のデータ処理装置１Ｂの動作（アクセス制御プログラム２１１Ｂの動作、実施形態のデータ処理方法）について、図１４を用いて説明する。
【０１４７】
図１４のフローチャートで用いられるｆ＿ｆｌａｇは、アクセス対象ファイルのファイル名が特有ファイル名に該当するか否かを示すフラグ情報である。ｆ＿ｆｌａｇの初期値は０で、アクセス対象ファイルのファイル名が特有ファイル名に該当する場合には、ＣＰＵ２０（アクセス制御プログラム２１１Ｂ）により、１に更新されるものとする。
【０１４８】
第３の実施形態のＣＰＵ２０（アクセス制御プログラム２１１Ｂ）では、ステップＳ１０４の次に、ステップＳ３１９、Ｓ３２０の処理が挿入されている。
【０１４９】
ステップＳ３１９、Ｓ３２０では、優先順位判断手段１５Ｂのファイル識別情報判断処理部１５３（ＣＰＵ２０）は、ステップＳ１０２で読みだした、アクセス対象ファイルのファイル名が特有ファイル名に該当するかどうかを比較判定する。そして、アクセス対象ファイルのファイル名が特有ファイル名に該当する場合、ファイル識別情報判断処理部１５３（ＣＰＵ２０）は、フラグｆ＿ｆｌａｇを、アクセス対象ファイルのファイル名が特有ファイル名に該当することを示す値（１）にセットし、さらに、上述のステップＳ１０２で読み出した情報（ディレクトリエントリ４３の情報）から、アクセス対象ファイルのファイル作成日時の情報を保持する。
【０１５０】
そして、ステップＳ２１２で、優先順位判断手段１５Ｂ（ＣＰＵ２０）により、評価値ｎ２に基づいて、アクセス対象ファイルのキャッシュ情報についてキャッシュすると判断された場合、第３の実施形態では、ステップＳ３２１の処理が実行される。ステップＳ３２１では、優先順位判断手段１５Ｂ（ＣＰＵ２０）により、フラグｆ＿ｆｌａｇの内容の確認処理（アクセス対象ファイルのファイル名が特有ファイル名であるか否かの確認処理）が行われる。そして、フラグｆ＿ｆｌａｇの内容が「１」の場合（特有ファイル名に該当する場合）には、ＣＰＵ２０（アクセス制御プログラム２１１Ｂ）は、キャッシュ情報の格納は行わずに後述するステップＳ３２２の処理に移行する。一方、フラグｆ＿ｆｌａｇの内容が「０」の場合（特有ファイル名に該当しない場合）には、ＣＰＵ２０（アクセス制御プログラム２１１Ｂ）は、ステップＳ２１３の処理に移行する。
【０１５１】
そして、第３の実施形態では、上述のステップＳ３２１で、フラグｆ＿ｆｌａｇの内容が「１」の場合（特有ファイル名に該当する場合）には、ファイルアクセス部１０Ｂ（ＣＰＵ２０）によりステップＳ３２２の処理が実行される。ステップＳ３２２では、ファイルアクセス部１０Ｂ（ＣＰＵ２０）は、アクセス対象ファイルが既に不揮発メモリ２２にコピーされているか否か（前回すでに読み出し済であるか否か）を確認する。具体的には、ファイルアクセス部１０Ｂ（ＣＰＵ２０）は、上述のＳ３２０で保持したアクセス対象ファイルのファイル作成日時と、コピー生成対象ファイル管理テーブル３４上のファイル作成日時とを比較し、同じであれば、アクセス対象ファイルが不揮発メモリ２２にコピーされていると判断するものとする。なお、ファイルアクセス部１０Ｂ（ＣＰＵ２０）は、上述のＳ３２０で保持したアクセス対象ファイルのファイル作成日時が、コピー生成対象ファイル管理テーブル３４上のファイル作成日時よりも古い日時の場合であっても、アクセス対象ファイルが不揮発メモリ２２にコピーされていると判断するようにしてもよい。
【０１５２】
そして、ステップＳ３２２で、アクセス対象ファイルが不揮発メモリ２２にコピーされていないと確認された場合は、ファイルアクセス部１０Ｂ（ＣＰＵ２０）は、ステップＳ３２３の処理により、コピー生成対象ファイル管理テーブル３４の更新（新しいファイルの追加、または、既登録情報のファイル作成日時の更新）を行う。そして、ファイルアクセス部１０Ｂ（ＣＰＵ２０）は、ステップＳ１１６の処理により、アクセス対象ファイルの読み出しを行う。なお、この場合、ファイルアクセス部１０Ｂ（ＣＰＵ２０）は、ステップＳ１１６の処理により読み出したアクセス対象ファイルの実データを、不揮発メモリ２２上にコピー（ダウンロード）処理も行う。なお、ファイルアクセス部１０Ｂ（ＣＰＵ２０）は、すでに不揮発メモリ２２にコピーされているファイルと同じファイル名のファイルについて不揮発メモリ２２にコピーする場合（上書きコピーする場合）は、コピー生成対象ファイル管理テーブル３４上のファイル作成日時の更新、及び、不揮発メモリ２２への実データの上書き保存を行う。
【０１５３】
（Ｃ−３）第３の実施形態の効果
第３の実施形態によれば、第２の実施形態の効果に加えて、以下のような効果を奏することができる。
【０１５４】
第３の実施形態では、不揮発メモリ２２に一時保存され、キャッシュ情報記憶部３００にキャッシュ情報をキャッシュしていてもアクセスする必要がないファイルについて、キャッシュ情報記憶部３００にキャッシュしないようにしている。これにより、第３の実施形態のデータ処理装置１Ｂでは、外部記憶媒体４０とは別の媒体（例えば、不揮発メモリ２２）に、一部のファイルをコピー（ダウンロード）して利用される場合でも、キャッシュ情報記憶部３００の領域を、より効率的に利用することができ、さらなるパフォーマンス向上（さらなるパフォーマンスの低下抑制）を実現することができる。
【０１５５】
（Ｄ）他の実施形態
本発明は、上記の各実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
【０１５６】
（Ｄ−１）上記の各実施形態では、外部記憶媒体は、ＨＤＤであるものとして説明したが、媒体の種類は限定されないものであり、例えば、ＵＳＢメモリ等のフラッシュメモリであってもよい。第３の実施形態のデータ処理装置について、不揮発メモリではなく他の種類の記憶媒体（例えば、ＲＡＭ等の揮発メモリ）を利用するようにしてもよい。
【０１５７】
また、上記の各実施形態では、外部記憶媒体にＦＡＴ３２の形式でファイル単位のデータが保存されているものとして説明したが、その他のフォーマット（例えば、ＦＡＴ１６等）としてもよい。
【０１５８】
（Ｄ−２）上記の各実施形態において、データ処理装置における外部記憶媒体の接続形態は限定されないものである。例えば、データ処理装置において、ＣＰＵと外部記憶媒体との間で用いられるインタフェースは、ＵＳＢ、ＳＣＳＩ、ＳＡＴＡ等限定されないものである。また、上記の各実施形態において、データ処理装置のシステムの形態も限定されないものである。例えば、外部記憶媒体としてのＨＤＤを備えるコンピュータ（例えば、ＰＣやワークステーション等）に本発明のデータ処理装置を適用するようにしてもよい。
【０１５９】
（Ｄ−３）上記の各実施形態において、キャッシュ情報記憶部に空きがなく、入れ替えが発生してキャッシュ情報を削除することになったファイルであっても、再度アクセスする場合に特定しやすいように、ディレクトリエントリに対する該当ファイル情報が格納されたセクタ情報（例えば先頭セクタｄ＋０から数えて３回目を示す３という情報）だけは、ＲＡＭの図示しないエリアに別情報として残しておいても良い。
【０１６０】
（Ｄ−４）第３の実施形態において、ＣＰＵ（アクセス制御プログラム）が、ステップＳ３２２で処理を終了する前に、読み出ししなかったことを示す情報をセットし、図示していない表示制御部にて前記情報を基に、「前回のファイルと同じだった」、または、「前回のファイルよりも古かったので、読み出しはしなかった」ことを表示・通知する手段を別途設けるようにしてもよい。
【０１６１】
（Ｄ−５）第３の実施形態において、特有ファイル名のファイルについては、評価値ｎ２を低下させる（例えば、位置探索セクタアクセス回数ｎ、または、ファイルアクセス回数に０を設定する）ことにより、キャッシュ情報記憶部３００へキャッシュする優先度を低下させるようにしてもよい。
【０１６２】
（Ｄ−６）第３の実施形態では、第２の実施形態のデータ処理装置について、不揮発メモリを搭載し、コピー生成対象ファイルに係る処理（上述の図１４で追加又は変更されたステップの処理）を行うものとして説明したが、第２の実施形態ではなく第１の実施形態のデータ処理装置において、不揮発メモリを搭載し、コピー生成対象ファイルに係る処理を行うようにしてもよい。
【０１６３】
（Ｄ−７）上記の各実施形態では、データ処理装置はＣＰＵとアクセス制御プログラム（データ処理プログラム）を用いてソフトウェア的に実現されていたが、アクセス制御プログラムの処理をハードウェア的に実現（例えば、専用の半導体チップ等を用いて実現）するようにしてもよい。
【符号の説明】
【０１６４】
１…データ処理装置、２０…ＣＰＵ、２１…ＲＯＭ、３０…ＲＡＭ、３１…キャッシュ、３２…クラスタチェインバッファ、３３…ファイル名管理テーブル、４０…外部記憶媒体、４１…ブートセクタ、４２…ＦＡＴ領域、４３…ディレクトリエントリ、４４…データ領域、２１１…アクセス制御プログラム、１０…ファイルアクセス部、１１…ディレクトリエントリ操作部、１２…ＦＡＴ操作部、１３…キャッシュ生成部、１４…キャッシュ記憶手段、１５…優先順位判断手段、１５１…セクタアクセス数判断処理部。
【図１】
2014021842.tif 000003
【図２】
2014021842.tif 000004
【図３】
2014021842.tif 000005
【図４】
2014021842.tif 000006
【図５】
2014021842.tif 000007
【図６】
2014021842.tif 000008
【図７】
2014021842.tif 000009
【図８】
2014021842.tif 000010
【図９】
2014021842.tif 000011
【図１０】
2014021842.tif 000012
【図１１】
2014021842.tif 000013
【図１２】
2014021842.tif 000014
【図１３】
2014021842.tif 000015
【図１４】
2014021842.tif 000016