(57)【要約】【課題】補助記憶装置へのアクセス低減による処理の高速化と、電源断に対するデータ保護を図ることができるメモリ装置、キャッシュ制御方法、およびキャッシュ制御プログラムを提供する。【解決手段】画像形成装置１０に設けられたＲＡＭ１２、ＮＶ−ＲＡＭ２２、およびＣＰＵ３０で構成されるメモリ装置２１において、補助記憶装置２０のキャッシュメモリを、ＲＡＭ１２上に設けた揮発性キャッシュメモリ１２Ａと、ＮＶ−ＲＡＭ２２上に設けた不揮発性キャッシュメモリ２２Ａとで構成すると共に、不揮発性キャッシュメモリ２２Ａに対してはライトバック方式でアクセスするよう制御する。【選択図】図１
2008165573.tif 000002
【特許請求の範囲】
【請求項１】
補助記憶装置のキャッシュメモリを制御するキャッシュ制御部と、揮発性メモリと、不揮発性メモリと、を備え、
前記補助記憶装置のキャッシュメモリは、前記揮発性メモリ上に設けられた揮発性キャッシュメモリと、前記不揮発性メモリ上に設けられた不揮発性キャッシュメモリと、を含んで構成されると共に、前記キャッシュ制御部は前記不揮発性キャッシュメモリに対してライトバック方式でアクセスする
ことを特徴とするメモリ装置。
【請求項２】
前記揮発性キャッシュメモリは画像データのアクセスに用いられ、前記不揮発性キャッシュメモリは管理データのアクセスに用いられる
ことを特徴とする請求項１に記載のメモリ装置。
【請求項３】
アクセスするファイルのオープン時に前記揮発性キャッシュメモリおよび前記不揮発性キャッシュメモリのいずれを用いるかを示すキャッシュメモリ選択情報を設定し、
前記キャッシュメモリ選択情報に基づいて、前記ファイルへのアクセスで用いるキャッシュメモリを選択する
ことを特徴とする請求項１または２に記載のメモリ装置。
【請求項４】
前記揮発性キャッシュメモリおよび前記不揮発性キャッシュメモリのいずれを用いるかをファイルの属性情報として設定し、
前記属性情報に基づいて、前記ファイルへのアクセスで用いるキャッシュメモリを選択する
ことを特徴とする請求項１または２に記載のメモリ装置。
【請求項５】
前記揮発性キャッシュメモリおよび前記不揮発性キャッシュメモリのいずれを用いるかを、ファイルアクセス１回当たりのデータサイズに基づいて選択する
ことを特徴とする請求項１または２に記載のメモリ装置。
【請求項６】
前記揮発性キャッシュメモリおよび前記不揮発性キャッシュメモリのいずれを用いるかを、アクセスするファイルのサイズに基づいて選択する
ことを特徴とする請求項１または２に記載のメモリ装置。
【請求項７】
アクセスを要求されたブロックが特定のブロックである場合は前記不揮発性キャッシュメモリを用い、特定のブロックでない場合は前記揮発性キャッシュメモリを用いる
ことを特徴とする請求項１または２に記載のメモリ装置。
【請求項８】
ファイルシステムの特定のディレクトリ以下のファイルへのアクセスは、前記揮発性キャッシュメモリおよび前記不揮発性キャッシュメモリのいずれか一方を用いる
ことを特徴とする請求項１または２に記載のメモリ装置。
【請求項９】
補助記憶装置のキャッシュメモリを、揮発性メモリ上に設けた揮発性キャッシュメモリと、不揮発性メモリ上に設けた不揮発性キャッシュメモリと、を含んで構成すると共に、前記不揮発性キャッシュメモリに対してはライトバック方式でアクセスする
ことを特徴とするキャッシュ制御方法。
【請求項１０】
前記揮発性キャッシュメモリを画像データのアクセスに用い、前記不揮発性キャッシュメモリを管理データのアクセスに用いる
ことを特徴とする請求項９に記載のキャッシュ制御方法。
【請求項１１】
アクセスするファイルのオープン時に前記揮発性キャッシュメモリおよび前記不揮発性キャッシュメモリのいずれを用いるかを示すキャッシュメモリ選択情報を設定し、
前記キャッシュメモリ選択情報に基づいて、前記ファイルへのアクセスで用いるキャッシュメモリを選択する
ことを特徴とする請求項９または１０に記載のキャッシュ制御方法。
【請求項１２】
前記揮発性キャッシュメモリおよび前記不揮発性キャッシュメモリのいずれを用いるかをファイルの属性情報として設定し、
前記属性情報に基づいて、前記ファイルへのアクセスで用いるキャッシュメモリを選択する
ことを特徴とする請求項９または１０に記載のキャッシュ制御方法。
【請求項１３】
前記揮発性キャッシュメモリおよび前記不揮発性キャッシュメモリのいずれを用いるかを、ファイルアクセス１回当たりのデータサイズに基づいて選択する
ことを特徴とする請求項９または１０に記載のキャッシュ制御方法。
【請求項１４】
前記揮発性キャッシュメモリおよび前記不揮発性キャッシュメモリのいずれを用いるかを、アクセスするファイルのサイズに基づいて選択する
ことを特徴とする請求項９または１０に記載のキャッシュ制御方法。
【請求項１５】
アクセスを要求されたブロックが特定のブロックである場合は前記不揮発性キャッシュメモリを用い、特定のブロックでない場合は前記揮発性キャッシュメモリを用いる
ことを特徴とする請求項９または１０に記載のキャッシュ制御方法。
【請求項１６】
ファイルシステムの特定のディレクトリ以下のファイルへのアクセスは、前記揮発性キャッシュメモリおよび前記不揮発性キャッシュメモリのいずれか一方を用いる
ことを特徴とする請求項９または１０に記載のキャッシュ制御方法。
【請求項１７】
補助記憶装置と、前記補助記憶装置のキャッシュメモリを制御するキャッシュ制御部と、揮発性メモリと、不揮発性メモリと、を備えた情報処理装置に、
前記補助記憶装置のキャッシュメモリとして、前記揮発性メモリ上の揮発性キャッシュメモリと、前記不揮発性メモリ上の不揮発性キャッシュメモリと、を設けると共に、前記不揮発性キャッシュメモリに対してはライトバック方式でアクセスする機能を実現させるためのキャッシュ制御プログラム。
【請求項１８】
前記揮発性キャッシュメモリを画像データのアクセスに用い、前記不揮発性キャッシュメモリを管理データのアクセスに用いる機能を実現させる
ことを特徴とする請求項１７に記載のキャッシュ制御プログラム。
【請求項１９】
アクセスするファイルのオープン時に前記揮発性キャッシュメモリおよび前記不揮発性キャッシュメモリのいずれを用いるかを示すキャッシュメモリ選択情報を設定し、
前記キャッシュメモリ選択情報に基づいて、前記ファイルへのアクセスで用いるキャッシュメモリを選択する機能を実現させる
ことを特徴とする請求項１７または１８に記載のキャッシュ制御プログラム。
【請求項２０】
前記揮発性キャッシュメモリおよび前記不揮発性キャッシュメモリのいずれを用いるかをファイルの属性情報として設定し、
前記属性情報に基づいて、前記ファイルへのアクセスで用いるキャッシュメモリを選択する機能を実現させる
ことを特徴とする請求項１７または１８に記載のキャッシュ制御プログラム。
【請求項２１】
前記揮発性キャッシュメモリおよび前記不揮発性キャッシュメモリのいずれを用いるかを、ファイルアクセス１回当たりのデータサイズに基づいて選択する機能を実現させる
ことを特徴とする請求項１７または１８に記載のキャッシュ制御プログラム。
【請求項２２】
前記揮発性キャッシュメモリおよび前記不揮発性キャッシュメモリのいずれを用いるかを、アクセスするファイルのサイズに基づいて選択する機能を実現させる
ことを特徴とする請求項１７または１８に記載のキャッシュ制御プログラム。
【請求項２３】
アクセスを要求されたブロックが特定のブロックである場合は前記不揮発性キャッシュメモリを用い、特定のブロックでない場合は前記揮発性キャッシュメモリを用いる機能を実現させる
ことを特徴とする請求項１７または１８に記載のキャッシュ制御プログラム。
【請求項２４】
ファイルシステムの特定のディレクトリ以下のファイルへのアクセスは、前記揮発性キャッシュメモリおよび前記不揮発性キャッシュメモリのいずれか一方を用いる機能を実現させる
ことを特徴とする請求項１７または１８に記載のキャッシュ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、補助記憶装置に格納されるデータをキャッシュするキャッシュメモリを備えたメモリ装置、そのメモリ装置に使用されるキャッシュ制御方法、および、情報処理装置に使用されるキャッシュ制御プログラムに関する。
【背景技術】
【０００２】
ハードディスクドライブ（ＨＤＤ；Hard Disk Drive）などの補助記憶装置は、主記憶装置（メインメモリ）などに比べてアクセス速度が遅いため、通常は高速アクセスが可能なディスクキャッシュ（キャッシュメモリ）を介してアクセスされる。この補助記憶装置に用いられる一般的なディスクキャッシュには、ライトスルー（Write through）方式とライトバック（Write back）方式がある。
【０００３】
図１０（Ａ）に示すように、ライトスルー方式は、ハードディスクドライブ２００に書き込むデータをライトスルーキャッシュ２０１に書き込んだ直後に、ライトスルーキャッシュ２０１のデータをハードディスクドライブ２００に書き込み（矢印Ｄａ）、ハードディスクドライブ２００への書き込みが終了したら上位に制御を返す（矢印Ｄｂ）。そのため、上位はハードディスクドライブへの書き込みが終了するまで待たされることになるが、ディスクキャッシュの内容とハードディスクドライブの内容が異なる期間は短くなり、予期せぬ電源断が発生しても、ハードディスクドライブのデータが不完全な状態になることは少ない。
【０００４】
図１０（Ｂ）に示すように、ライトバック方式は、ハードディスクドライブ２００に書き込むデータをライトバックキャッシュ２０２に書き込んだ時点で上位に制御を返し（矢印Ｄｃ）、ライトバックキャッシュ２０２からハードディスクドライブ２００への書き込みは（矢印Ｄｄ）、別のタイミングで行われる。たとえば、所定の周期で定期的に書き込む、あるいは、ディスクキャッシュ上に使用可能な領域がなくなった時点で書き込みを行う。そのため、上位はハードディスクドライブへの書き込みが終了するまで待たされることはないが、ディスクキャッシュの内容とハードディスクドライブの内容が異なる期間は長くなり、電源断が発生すると、ハードディスクドライブのデータが不完全な状態になる可能性が高まる。
【０００５】
このようなディスクキャッシュを介する補助記憶装置を利用した画像処理では、補助記憶装置のアクセス速度が装置全体のパフォーマンスに大きな影響を与えることから、パフォーマンスを向上させるために、ディスクキャッシュにライトバック方式を用いて補助記憶装置へのアクセス回数を低減し、ディスクキャッシュ上のデータをできるだけ補助記憶装置に逃がさないようにすることが有効である。ただし、ディスクキャッシュ上のデータは、通常は電源オフで消去されるため、ディスクキャッシュ上のデータを補助記憶装置に逃がさない期間が長くなると、上述したように、電源断（電源オフ／オン）によるデータの矛盾が発生する可能性が高くなる。
【０００６】
これに対し、電源断時にバックアップ電源を起動して、キャッシュメモリのデータを補助記憶装置に書き込む、または、不揮発性メモリに退避させることにより、ライトバック方式のキャッシュメモリでありながら、電源断に対するデータの安全性を確保するようにした技術がある（たとえば、特許文献１参照）。
【０００７】
また、同一の記憶媒体に対して構成の異なる複数のキャッシュメモリを設け、データの内容に応じて、キャッシュメモリの論理的な構成（たとえば、ブロックサイズやＷＡＹ数など）を切り替えることにより、アクセスそのもののパフォーマンスを向上させるようにした技術がある（たとえば、特許文献２参照）。
【０００８】
【特許文献１】特開平７−４４９８２号公報
【特許文献２】特開２００２−７２１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
画像処理装置が扱うデータには、画像データと管理データがあり、この２種類のデータは扱われ方が大きく異なる。そのため、同一のキャッシュメモリを介してアクセスを行うと、キャッシュ効果が十分に得られなくなる。
【００１０】
たとえば、画像データは、画像のビットマップデータ、または、ビットマップを所定のアルゴリズムで圧縮したデータである。管理データは、画像処理を行う上で記憶しておく必要がある画像以外のデータであり、管理データには、たとえば以下のものが含まれる。
【００１１】
（Ａ）ファイルシステム内部の管理データ
◇  ＦＡＴ
◇  ディレクトリファイル
（Ｂ）画像処理装置のプログラムが使用する管理データ
◇  画像データを管理するための情報
（画像データの格納場所、画像パラメータなど）
◇  実行中のジョブに関する情報
◇  各種設定情報
◇  アドレス帳
◇  ユーザアカウント情報
◇  ジョブの履歴情報
そしてこの画像データと管理データは、図１１に示すように、アクセスされる形態が大きく異なる。
【００１２】
詳細には、画像データの場合、連続アクセスするデータ量が数KByte〜数十MByteであり、アクセス頻度が連続であり、同一ブロックへの繰り返しアクセス頻度が小さくなり、キャッシュがヒットしたときの効果が小さい（期待していない）。また、予期せぬ電源断に対するデータの保障は、管理データ側で電源断対応されるため、画像データとしては不要である。
【００１３】
これに対して、管理データの場合、連続アクセスするデータ量が数Byte〜数十KByteであり、アクセス頻度が不規則、散漫であり、同一ブロックへの繰り返しアクセス頻度が大きくなり、キャッシュがヒットしたときの効果が大きい。また、予期せぬ電源断に対するデータの保障は必要である。
【００１４】
このようなアクセス形態の異なる２種類のデータに対し、上述した特許文献１のようにキャッシュメモリが単一の構成では、単一（同一）のキャッシュメモリを通してアクセスが同時に発生すると、以下のような問題が発生する。
【００１５】
管理データは、同一ブロックへの繰り返しアクセスが多いため、キャッシュがヒットしたときの効果が大きい。しかし、同時に画像データのアクセスが行われると、キャッシュメモリの殆どの領域が画像データに消費されることとなり、管理データのキャッシュヒット率は極端に低下する。管理データのキャッシュヒット率が低下すると、連続した画像データのアクセス中に、管理データのアクセスが非同期に発生し、ハードディスクドライブの場合は、ヘッドのシークによるパフォーマンスの低下が発生する。
【００１６】
これらの問題を、単純にキャッシュサイズを大きくすることで対処しようとすると、不揮発性メモリへ退避可能なキャッシュメモリ容量の大幅な増大が求められ、コストアップを招く。また、異なる補助記憶装置に画像データと管理データをそれぞれ保存することも可能ではあるが、補助記憶装置の台数が増えるため、コストアップにつながる。
【００１７】
また、特許文献２の技術では、複数の情報処理に対し、複数のキャッシュメモリを選択してアクセスすることで、パフォーマンスの向上を図ってはいるものの、電源断によるデータの保護については考慮されていない。
【００１８】
本発明は、上記の問題を解決しようとするものであり、補助記憶装置へのアクセス低減による処理の高速化と、電源断に対するデータ保護を図ることができるメモリ装置、キャッシュ制御方法、およびキャッシュ制御プログラムを提供することを目的としている。
【課題を解決するための手段】
【００１９】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
【００２０】
［１］補助記憶装置のキャッシュメモリを制御するキャッシュ制御部と、揮発性メモリと、不揮発性メモリと、を備え、
前記補助記憶装置のキャッシュメモリは、前記揮発性メモリ上に設けられた揮発性キャッシュメモリと、前記不揮発性メモリ上に設けられた不揮発性キャッシュメモリと、を含んで構成されると共に、前記キャッシュ制御部は前記不揮発性キャッシュメモリに対してライトバック方式でアクセスする
ことを特徴とするメモリ装置。
【００２１】
［９］補助記憶装置のキャッシュメモリを、揮発性メモリ上に設けた揮発性キャッシュメモリと、不揮発性メモリ上に設けた不揮発性キャッシュメモリと、を含んで構成すると共に、前記不揮発性キャッシュメモリに対してはライトバック方式でアクセスする
ことを特徴とするキャッシュ制御方法。
【００２２】
［１７］補助記憶装置と、前記補助記憶装置のキャッシュメモリを制御するキャッシュ制御部と、揮発性メモリと、不揮発性メモリと、を備えた情報処理装置に、
前記補助記憶装置のキャッシュメモリとして、前記揮発性メモリ上の揮発性キャッシュメモリと、前記不揮発性メモリ上の不揮発性キャッシュメモリと、を設けると共に、前記不揮発性キャッシュメモリに対してはライトバック方式でアクセスする機能を実現させるためのキャッシュ制御プログラム。
【００２３】
上記発明では、補助記憶装置に格納されるデータが、たとえば、電源断に対する保障性が低くてもよいデータなどであれば、揮発性メモリ上に設けた揮発性キャッシュメモリを用いてアクセスする。逆に、電源断に対する保障性を高めたいデータなどであれば、不揮発性メモリ上に設けた不揮発性キャッシュメモリを用いてライトバック方式でアクセスする。
【００２４】
このように、補助記憶装置に格納するデータの種類や特性などに応じて、揮発性キャッシュメモリ、または、不揮発性キャッシュメモリを用いてアクセスすることにより、たとえば、２種類のデータが同一のキャッシュメモリを消費し、互いに干渉するようなことを防止できる。これにより、上記２種類のデータを同時にアクセスしたときの、一方のデータのキャッシュヒット率の低下が抑えられるようになり、他方のデータのアクセス中における一方のデータの補助記憶装置に関するアクセスを軽減できるようになる。したがって、装置全体のアクセス処理を高速化することができる。
【００２５】
また、不揮発性キャッシュメモリを用いたアクセスでは、電源断に対するデータの保障性が高められると共に、キャッシュメモリをライトバック方式とすることで、補助記憶装置へのアクセス低減により処理の高速化が図れる。
【００２６】
さらに、同一の補助記憶装置に対して、揮発性／不揮発性の２種類のキャッシュメモリを設けることにより、たとえば、２種類のデータを異なる補助記憶装置に個別に格納する構成と同様に、各データのアクセスで互いに干渉しないキャッシュメモリを実現できる。したがって、処理速度の低下を招くことなく、補助記憶装置の個数増加によるコストアップを抑制できる。
【００２７】
［２］前記揮発性キャッシュメモリは画像データのアクセスに用いられ、前記不揮発性キャッシュメモリは管理データのアクセスに用いられる
ことを特徴とする［１］に記載のメモリ装置。
【００２８】
［１０］前記揮発性キャッシュメモリを画像データのアクセスに用い、前記不揮発性キャッシュメモリを管理データのアクセスに用いる
ことを特徴とする［９］に記載のキャッシュ制御方法。
【００２９】
［１８］前記揮発性キャッシュメモリを画像データのアクセスに用い、前記不揮発性キャッシュメモリを管理データのアクセスに用いる機能を実現させる
ことを特徴とする［１７］に記載のキャッシュ制御プログラム。
【００３０】
上記発明では、たとえば、画像データと管理データを扱う画像処理装置などに適用する場合、電源断に対する保障性が低くてもよい画像データは、揮発性キャッシュメモリを用いてアクセスし、逆に、電源断に対する保障性を高めたい管理データは、不揮発性キャッシュメモリを用いてアクセスする。これにより、管理データに対して高いデータ保障性が得られるようになり好適である。
【００３１】
［３］アクセスするファイルのオープン時に前記揮発性キャッシュメモリおよび前記不揮発性キャッシュメモリのいずれを用いるかを示すキャッシュメモリ選択情報を設定し、
前記キャッシュメモリ選択情報に基づいて、前記ファイルへのアクセスで用いるキャッシュメモリを選択する
ことを特徴とする［１］または［２］に記載のメモリ装置。
【００３２】
［１１］アクセスするファイルのオープン時に前記揮発性キャッシュメモリおよび前記不揮発性キャッシュメモリのいずれを用いるかを示すキャッシュメモリ選択情報を設定し、
前記キャッシュメモリ選択情報に基づいて、前記ファイルへのアクセスで用いるキャッシュメモリを選択する
ことを特徴とする［９］または［１０］に記載のキャッシュ制御方法。
【００３３】
［１９］アクセスするファイルのオープン時に前記揮発性キャッシュメモリおよび前記不揮発性キャッシュメモリのいずれを用いるかを示すキャッシュメモリ選択情報を設定し、
前記キャッシュメモリ選択情報に基づいて、前記ファイルへのアクセスで用いるキャッシュメモリを選択する機能を実現させる
ことを特徴とする［１７］または［１８］に記載のキャッシュ制御プログラム。
【００３４】
上記発明では、アクセスするファイルのオープン時に揮発性／不揮発性キャッシュメモリのいずれを用いるかを示すキャッシュメモリ選択情報を設定することで、アプリケーションがファイルにアクセスし、ファイルをオープンする際に、揮発性／不揮発性キャッシュメモリのいずれを用いるかが選択できるようになる。たとえば、画像データを処理するアプリケーション（画像データ処理部）がファイルをオープンする際は、揮発性キャッシュメモリを指定し、管理データを扱うアプリケーションがファイルをオープンする際は、不揮発性キャッシュメモリを指定する。また、この設定情報（キャッシュメモリ選択情報）は、ファイルがクローズされるのに伴い消滅する。
【００３５】
このように、アクセスするファイルのオープン時に揮発性／不揮発性のいずれのキャッシュメモリを用いるかを選択することで、ファイルのオープンからクローズまでの間に行う設定が１回で済むようになり、アクセス毎に設定するような場合に比べて、アプリケーション側の負担が軽減し、処理を簡素化することができる。
【００３６】
［４］前記揮発性キャッシュメモリおよび前記不揮発性キャッシュメモリのいずれを用いるかをファイルの属性情報として設定し、
前記属性情報に基づいて、前記ファイルへのアクセスで用いるキャッシュメモリを選択する
ことを特徴とする［１］または［２］に記載のメモリ装置。
【００３７】
［１２］前記揮発性キャッシュメモリおよび前記不揮発性キャッシュメモリのいずれを用いるかをファイルの属性情報として設定し、
前記属性情報に基づいて、前記ファイルへのアクセスで用いるキャッシュメモリを選択する
ことを特徴とする［９］または［１０］に記載のキャッシュ制御方法。
【００３８】
［２０］前記揮発性キャッシュメモリおよび前記不揮発性キャッシュメモリのいずれを用いるかをファイルの属性情報として設定し、
前記属性情報に基づいて、前記ファイルへのアクセスで用いるキャッシュメモリを選択する機能を実現させる
ことを特徴とする［１７］または［１８］に記載のキャッシュ制御プログラム。
【００３９】
上記発明では、揮発性／不揮発性キャッシュメモリのいずれを用いるかを、ファイルの属性情報として設定することで、ファイルシステムは、ファイルのアクセス時に、設定された属性情報に応じて揮発性／不揮発性キャッシュメモリのいずれを用いるかが選択できるようになる。この属性情報は、たとえば、アプリケーションから設定できるようなインターフェイスをファイルシステムに設けることで設定可能となり、また、ファイルがクローズされても消滅せずに保存される。
【００４０】
このように、ファイルの属性情報を利用して揮発性／不揮発性のいずれのキャッシュメモリを用いるかを選択することにより、１回の設定で済むようになるため、設定回数が低減してアプリケーション側の処理を軽減できる。さらに、アプリケーション側が決定権を持つことで、ファイルシステム側の処理も軽減する。
【００４１】
［５］前記揮発性キャッシュメモリおよび前記不揮発性キャッシュメモリのいずれを用いるかを、ファイルアクセス１回当たりのデータサイズに基づいて選択する
ことを特徴とする［１］または［２］に記載のメモリ装置。
【００４２】
［１３］前記揮発性キャッシュメモリおよび前記不揮発性キャッシュメモリのいずれを用いるかを、ファイルアクセス１回当たりのデータサイズに基づいて選択する
ことを特徴とする［９］または［１０］に記載のキャッシュ制御方法。
【００４３】
［２１］前記揮発性キャッシュメモリおよび前記不揮発性キャッシュメモリのいずれを用いるかを、ファイルアクセス１回当たりのデータサイズに基づいて選択する機能を実現させる
ことを特徴とする［１７］または［１８］に記載のキャッシュ制御プログラム。
【００４４】
上記発明では、たとえば、アプリケーションがファイルシステムに対して指定する１回のアクセスサイズに対して、ファイルシステム側で所定の閾値（たとえば数百Byte）を設け、閾値以上なら画像ファイルと判断して揮発性キャッシュメモリを使用し、閾値未満なら管理データと判断して不揮発性キャッシュメモリを使用する。
【００４５】
このように、ファイルアクセス１回当たりのデータサイズに基づいて、揮発性／不揮発性のいずれのキャッシュメモリを用いるかを選択することにより、アプリケーション側の負担を軽減することができる。また、設定処理が不要であるため、操作が簡単になる。
【００４６】
［６］前記揮発性キャッシュメモリおよび前記不揮発性キャッシュメモリのいずれを用いるかを、アクセスするファイルのサイズに基づいて選択する
ことを特徴とする［１］または［２］に記載のメモリ装置。
【００４７】
［１４］前記揮発性キャッシュメモリおよび前記不揮発性キャッシュメモリのいずれを用いるかを、アクセスするファイルのサイズに基づいて選択する
ことを特徴とする［９］または［１０］に記載のキャッシュ制御方法。
【００４８】
［２２］前記揮発性キャッシュメモリおよび前記不揮発性キャッシュメモリのいずれを用いるかを、アクセスするファイルのサイズに基づいて選択する機能を実現させる
ことを特徴とする［１７］または［１８］に記載のキャッシュ制御プログラム。
【００４９】
上記発明では、たとえば、ファイルシステム側で、ファイルサイズに対して所定の閾値（たとえば数KByte）を設け、アクセス時に、ファイルサイズが閾値以上なら画像ファイルと判断して揮発性キャッシュメモリを使用し、閾値未満なら管理データと判断して不揮発性キャッシュメモリを使用する。
【００５０】
このように、アクセスするファイルのサイズに基づいて、揮発性／不揮発性のいずれのキャッシュメモリを用いるかを選択することにより、ファイルサイズに応じた適切な選択が可能となる。さらに、現在の情報のみで選択できるようになるため、アプリケーション側の処理を軽減することができる。また、設定処理が不要であるため、操作が簡単になる。
【００５１】
［７］アクセスを要求されたブロックが特定のブロックである場合は前記不揮発性キャッシュメモリを用い、特定のブロックでない場合は前記揮発性キャッシュメモリを用いる
ことを特徴とする［１］または［２］に記載のメモリ装置。
【００５２】
［１５］アクセスを要求されたブロックが特定のブロックである場合は前記不揮発性キャッシュメモリを用い、特定のブロックでない場合は前記揮発性キャッシュメモリを用いる
ことを特徴とする［９］または［１０］に記載のキャッシュ制御方法。
【００５３】
［２３］アクセスを要求されたブロックが特定のブロックである場合は前記不揮発性キャッシュメモリを用い、特定のブロックでない場合は前記揮発性キャッシュメモリを用いる機能を実現させる
ことを特徴とする［１７］または［１８］に記載のキャッシュ制御プログラム。
【００５４】
上記発明では、たとえば、ファイルシステム側で、アクセスを要求されたブロックが特定のブロックの場合は管理データと判断して、不揮発性キャッシュメモリを使用し、特定のブロックでない場合は、画像データと判断して揮発性キャッシュメモリを使用する。
【００５５】
このように、アクセスを要求されたブロックが特定のブロックである場合は不揮発性キャッシュメモリを用い、特定のブロックでない場合は揮発性キャッシュメモリを用いることにより、各キャッシュ領域を特定のブロックの割り当て量に応じてバランスよく使用することができ、処理の円滑化が図れる。また、その特定のブロックとして特定のフォルダを登録すれば、用途に応じて適切なキャッシュメモリが選択される。
【００５６】
［８］ファイルシステムの特定のディレクトリ以下のファイルへのアクセスは、前記揮発性キャッシュメモリおよび前記不揮発性キャッシュメモリのいずれか一方を用いる
ことを特徴とする［１］または［２］に記載のメモリ装置。
【００５７】
［１６］ファイルシステムの特定のディレクトリ以下のファイルへのアクセスは、前記揮発性キャッシュメモリおよび前記不揮発性キャッシュメモリのいずれか一方を用いる
ことを特徴とする［９］または［１０］に記載のキャッシュ制御方法。
【００５８】
［２４］ファイルシステムの特定のディレクトリ以下のファイルへのアクセスは、前記揮発性キャッシュメモリおよび前記不揮発性キャッシュメモリのいずれか一方を用いる機能を実現させる
ことを特徴とする［１７］または［１８］に記載のキャッシュ制御プログラム。
【００５９】
上記発明では、たとえば、ファイルシステムの特定のディレクトリを画像ファイル用として、そのディレクトリ以下のファイルをアクセスするときは揮発性キャッシュメモリを使用し、その他のファイルをアクセスするときは不揮発性キャッシュメモリを使用する。もしくは、ファイルシステムの特定のディレクトリを管理データ用として、そのディレクトリ以下のファイルをアクセスするときは不揮発性キャッシュメモリを使用し、その他のファイルをアクセスするときは揮発性キャッシュメモリを使用する。
【００６０】
このように、揮発性／不揮発性のいずれのキャッシュメモリを用いるかの選択に、ファイルシステムのディレクトリを利用することで、設定が簡単に行えるようになる。
【発明の効果】
【００６１】
本発明に係るメモリ装置、キャッシュ制御方法、およびキャッシュ制御プログラムによれば、補助記憶装置へのアクセス低減による処理の高速化と、電源断に対するデータ保護を実現することができる。
【発明を実施するための最良の形態】
【００６２】
以下、図面に基づき本発明の実施の形態を説明する。
【００６３】
［第１の実施の形態］
図１は、本発明の第１の実施形態に係るメモリ装置２１を含む画像形成装置１０の構成を示している。画像形成装置１０は、原稿を読み取って対応する画像を記録紙上に形成して出力するコピー機能のほかスキャナ機能、プリンタ機能、ファクシミリ機能などを備えたデジタル複合機として構成されている。また、原稿を読み取って得た画像データを圧縮して保存する機能、保存している画像データを電子メールやＦＴＰ（File Transfer Protocol）を用いて外部の装置に送信する機能、保存している画像を呼び出してプリントする機能などを備えている。
【００６４】
このような機能を実現するために画像形成装置１０は、当該装置全体の動作を統括制御する制御部としてのＣＰＵ（Central Processing Unit（中央処理装置））３０と、ＲＯＭ（Read Only Memory）１１と、ＲＡＭ（Random Access Memory）１２と、ＮＶ−ＲＡＭ（NonVolatile-RAM）２２とを主要部とした回路で構成されている。
【００６５】
ＲＯＭ１１は、ＣＰＵ３０が実行するプログラムや各種固定データを記憶している。
【００６６】
ＲＡＭ１２は、ＣＰＵ３０がプログラムを実行する際に各種データを一時的に格納するワークメモリや、回転処理などを施すために画像データを少なくとも１ページ分格納するページメモリとして機能する。ＲＡＭ１２に格納される画像データは、画像のビットマップデータやビットマップを所定のアルゴリズムで圧縮したデータなどである。このＲＡＭ１２上には、キャッシュメモリとして機能する揮発性キャッシュメモリ１２Ａが設けられている。
【００６７】
ＮＶ−ＲＡＭ２２は、電源がオフしても記憶内容が保持される不揮発性メモリであり、ＮＶ−ＲＡＭ２２には、装置固有の各種パラメータや、画像処理を実行する上で記憶しておく必要がある管理データなど、電源オフ後も保存すべき所定のデータが記憶される。管理データには、画像形成装置１０のプログラムが使用する管理データ（画像データの格納場所や画像パラメータなどの画像データを管理するための情報、実行中のジョブに関する情報、各種設定情報、アドレス帳、ユーザアカウント情報、ジョブの履歴情報など）が含まれる。このＮＶ−ＲＡＭ２２上には、キャッシュメモリとして機能する不揮発性キャッシュメモリ２２Ａが設けられている。また、ＮＶ−ＲＡＭ２２は、データの書き込み方式（キャッシュ方式）がライトバック方式で使用される。
【００６８】
読取部１３は、原稿画像を読み取って対応する画像データを取り込む機能を果たす。読取部１３は、原稿を照射する光源と、原稿をその幅方向に１ライン分読み取るラインイメージセンサと、ライン単位の読取位置を原稿の長さ方向に移動させる移動手段と、原稿からの反射光をラインイメージセンサに導いて結像させるレンズやミラーから成る光学経路とを備えている。ラインイメージセンサはＣＣＤ（Charge Coupled Device）で構成される。ラインイメージセンサが出力するアナログ画像信号はＡ／Ｄ変換され、さらに誤差拡散処理などによって２値化されてデジタルの画像データとして出力される。
【００６９】
印刷部１４は、画像データに対応する画像を電子写真プロセスによって記録紙上に形成して出力する機能を果たす。印刷部１４は、記録紙の搬送装置と、感光体ドラムと、帯電装置と、レーザーユニットと、現像装置と、転写分離装置と、クリーニング装置と、定着装置とを有する、いわゆるレーザープリンタとして構成されている。ファクシミリ部１５は、ファクシミリとしての機能を果たす部分である。画像データをファクシミリに対応した圧縮方式で圧縮・伸張する機能や、ファクシミリ送受信のための各種通信手順を制御する機能を果たす。
【００７０】
表示操作部１６は、表面にタッチパネルを備えた液晶ディスプレイと各種の操作スイッチから構成され、ユーザーに各種の案内表示や状態表示を行ったり、ユーザーから各種の操作を受け付けたりする機能を有している。通信部１７は、電話回線や各種のネットワークと接続して通信する機能を果たす。
【００７１】
圧縮手段１８は、画像データを圧縮する機能を果たし、伸張手段１９は、圧縮データを元の画像データに伸張する機能を果たす。
【００７２】
補助記憶装置２０は、大容量の記憶装置であり、本実施形態ではハードディスクドライブ（Hard Disk Drive；ＨＤＤ）を使用している。補助記憶装置２０は、圧縮された画像データの記憶や各種管理データの記憶に利用される。また、ＲＡＭ１２上の揮発性キャッシュメモリ１２Ａと、ＮＶ−ＲＡＭ２２上の不揮発性キャッシュメモリ２２Ａとは、補助記憶装置２０のアクセスのためのキャッシュメモリとして機能する。
【００７３】
制御部としてのＣＰＵ３０は、ファイルシステム３１およびキャッシュ制御部３２としての機能を果たす。
【００７４】
本実施形態のメモリ装置２１は、領域の一部を揮発性キャッシュメモリ１２Ａとして使用しているＲＡＭ１２と、領域の一部を不揮発性キャッシュメモリ２２Ａとして使用しているＮＶ−ＲＡＭ２２と、揮発性／不揮発性キャッシュメモリ１２Ａ、２２Ａを制御するキャッシュ制御部３２を備えたＣＰＵ３０とを含んで構成されており、このメモリ装置２１の概略構成を図２に示す。
【００７５】
図２に示すように、メモリ装置２１は、ファイルシステム３１、キャッシュ制御部３２、揮発性キャッシュメモリ１２Ａ、不揮発性キャッシュメモリ２２Ａを備えており、画像データ処理部３３やその他のアプリケーション３４がファイルシステム３１を経由して補助記憶装置２０のデータをアクセスするように構成されている。
【００７６】
ファイルシステム３１は、補助記憶装置２０に各種のデータをファイル形式で保存するための管理機能を果たす。ファイルシステム３１は、補助記憶装置２０にファイルやそのエントリを格納するディレクトリを作成したり、これらの移動や削除を行ったり、ファイルの属性情報を管理したりする役割を果たす。ファイルシステム３１におけるファイルやディレクトリの所在は、ルートディレクトリを頂点とする木構造で管理されており、当該木構造に沿って頂点から目的のファイルやディレクトリまでの道筋がパスで、この道筋を記述したものがパス名である。
【００７７】
ファイルシステム３１は、ファイルのオープン時にそのファイルに関する各種情報を登録するファイルディスクリプタを作成し、オープン中はそのファイルディスクリプタ内の情報を参照してファイルへのアクセス処理を実行し、クローズ時にそのファイルのファイルディスクリプタを破棄する機能を有している。
【００７８】
ファイルディスクリプタには、ファイル名、オープンモード、ファイルサイズ、先頭ブロック、リード位置、ライト位置、ステータス／アクセス権、ファイル所有者などの各種情報が登録される。ファイルのオープン処理で作成したファイルディスクリプタの識別情報（ファイルハンドル）は、その処理の戻り値として呼び出し元の処理に返される。以後、呼び出し元の処理は、このファイルハンドルにてファイルを特定し、ファイルへのリード・ライト処理を行う。なお、ファイルをクローズした後も不揮発に記憶すべき情報は、補助記憶装置２０にファイルと関連付けて登録される。
【００７９】
画像データ処理部３３は、ファイルシステム３１を介して画像データのリード・ライト処理を行う。
【００８０】
アプリケーション３４は、画像データを除いた各種管理データを含むデータを扱い、ファイルシステム３１を介してそのデータのリード・ライト処理を行う。
【００８１】
キャッシュ制御部３２は、揮発性キャッシュメモリ１２Ａと不揮発性キャッシュメモリ２２Ａのいずれを使用するかを選択し、不揮発性キャッシュメモリ２２Ａに対してはライトバック方式でアクセスする制御を実行する。
【００８２】
次に、上記構成のメモリ装置２１を含む画像形成装置１０によるキャッシュ制御の動作（揮発性／不揮発性キャッシュメモリ１２Ａ、２２Ａの選択）について説明する。
【００８３】
図３は、本実施形態に係る画像形成装置１０にて、アプリケーションによるファイルオープン時にキャッシュメモリを選択する動作の流れを示している。
【００８４】
本実施形態では、画像データ処理部３３またはアプリケーション３４がファイルをオープンする際に、揮発性キャッシュメモリ１２Ａを使用するか、不揮発性キャッシュメモリ２２Ａを使用するかを指定する。画像データ処理部３３がファイルをオープンする際は、揮発性キャッシュメモリ１２Ａを指定し、管理データを扱うアプリケーション３４がファイルをオープンする際は、不揮発性キャッシュメモリ２２Ａを指定する。
【００８５】
たとえば、図３（Ａ）に示すように、アプリケーションの処理では、画像データ処理部３３／アプリケーション３４は、ファイル名と、オープンモードと、キャッシュ選択情報とを引数としてファイルをオープンする（ステップＳ１０１）、ファイルディスクリプタと、書き込むデータと、書き込むデータのサイズとを引数としてファイルにデータを書き込む（ステップＳ１０２）、ファイルディスクリプタを引数としてファイルをクローズする（ステップＳ１０３）といった各処理を実行し、アプリケーションの処理を終了する（ＥＮＤ）。
【００８６】
図３（Ｂ）に示すように、ファイルシステム３１は、ファイルをオープンする処理で、引数（ファイル名、オープンモード、キャッシュ選択情報）に従って既存ファイルを検索、または、新規ファイルを生成し（ステップＳ１０４）、そのファイルに対するファイルディスクリプタを作成し（ステップＳ１０５）、ファイルディスクリプタに、画像データ処理部３３がファイルをオープンする際は揮発性キャッシュメモリ１２Ａを指定し、管理データを扱うアプリケーション３４がファイルをオープンする際は不揮発性キャッシュメモリ２２Ａを指定することを示すキャッシュ選択情報をセットし（ステップＳ１０６）、ファイルをオープンする処理を終了する（ＥＮＤ）。
【００８７】
図３（Ｃ）に示すように、ファイルシステム３１は、ファイルにデータを書き込む処理で、引数（ファイルディスクリプタ、書き込むデータ、書き込むデータのサイズ）に従い、ファイルディスクリプタにセットされたキャッシュ選択情報に基づいて、揮発性／不揮発性キャッシュメモリ１２Ａ、２２Ａのいずれかを選択し、ファイルにデータを書き込み（ステップＳ１０７）、ファイルにデータを書き込む処理を終了する（ＥＮＤ）。これにより、画像データ処理部３３がファイルをオープンする際は揮発性キャッシュメモリ１２Ａに指定され、画像データは揮発性キャッシュメモリ１２Ａに書き込まれる。また、アプリケーション３４がファイルをオープンする際には不揮発性キャッシュメモリ２２Ａが指定され、管理データは不揮発性キャッシュメモリ２２Ａにライトバック方式で書き込まれる。
【００８８】
図３（Ｄ）に示すように、ファイルシステム３１は、ファイルをクローズする処理で、引数（ファイルディスクリプタ）に従ってファイルディスクリプタを破棄し（ステップＳ１０８）、ファイルをクローズする処理を終了する（ＥＮＤ）。これに伴い、キャッシュ選択情報は消滅する。
【００８９】
以上説明したように、本実施形態に係るメモリ装置２１を備えた画像形成装置１０では、補助記憶装置２０に格納するデータの種類（画像データ／管理データ）に応じて、アプリケーション（画像データ処理部３３／アプリケーション３４）がファイルをオープンする際に揮発性キャッシュメモリ１２Ａを使用するか、または、不揮発性キャッシュメモリ２２Ａを使用するかを設定しておくことにより、以後、クローズまでのアクセスではデータの種類に応じて揮発性／不揮発性キャッシュメモリ１２Ａ、２２Ａが使い分けされる。そして、画像データのアクセスには揮発性キャッシュメモリ１２Ａが使用され、管理データのアクセスには不揮発性キャッシュメモリ２２Ａが使用されるようになり、たとえば、画像データと管理データが同一のキャッシュメモリを消費し、互いに干渉するようなことを防止できる。これにより、管理データのキャッシュヒット率が向上し、その結果、画像データのアクセス中における管理データの補助記憶装置２０に関するアクセスが軽減する。したがって、装置全体のアクセス処理を高速化することができる。
【００９０】
また、不揮発性キャッシュメモリ２２Ａを用いた管理データのアクセスでは、電源断に対する保障性が高められると共に、ライトバック方式としていることで、補助記憶装置２０へのアクセス低減により処理の高速化が図れる。
【００９１】
さらに、同一の補助記憶装置２０に対して、揮発性／不揮発性の２種類のキャッシュメモリ１２Ａ、２２Ａを設けていることにより、たとえば、２種類のデータを異なる補助記憶装置に個別に格納する構成と同様に、各データのアクセスで互いに干渉しないキャッシュメモリを実現できる。したがって、処理速度の低下を招くことなく、補助記憶装置の個数増加によるコストアップを抑制できる。
【００９２】
また、キャッシュメモリの制御（揮発性／不揮発性キャッシュメモリ１２Ａ、２２Ａの選択）では、アクセスするファイルのオープン時に揮発性／不揮発性キャッシュメモリ１２Ａ、２２Ａのいずれを用いるかを選択するようにしたことで、ファイルのオープンからクローズまでの間に行う設定が１回で済むようになり、たとえばアクセス毎に設定するような場合に比べて、アプリケーション（画像データ処理部３３／アプリケーション３４）側の負担が軽減し、処理を簡素化することができる。
【００９３】
［第２の実施の形態］
次に、画像形成装置１０における本発明の第２の実施形態に係るキャッシュメモリ選択動作について説明する。
【００９４】
本実施形態では、ファイルの属性情報として、揮発性キャッシュメモリ１２Ａを使用するファイルか、不揮発性キャッシュメモリ２２Ａを使用するファイルかを、アプリケーション（画像データ処理部３３／アプリケーション３４）から設定できるようなインターフェイスをファイルシステム３１に設けておき、このインターフェイスを通して、画像ファイルに対しては揮発性キャッシュメモリ１２Ａを使用し、管理データに対しては不揮発性キャッシュメモリ２２Ａを使用するよう属性情報を設定しておく。
【００９５】
この属性情報は、ファイルの生成時にディレクトリエントリに保存され、ファイルのオープン中はファイルディスクリプタに読み出される。
【００９６】
属性情報の設定変更は、属性情報を変更する所定のシステムコールを実行することで任意のタイミングに行える。
【００９７】
そしてファイルのアクセス時に、ファイルシステム３１は、ファイルディスクリプタに登録されている属性情報を参照して揮発性／不揮発性キャッシュメモリ１２Ａ、２２Ａのいずれかを選択し、ファイルにデータを書き込む。これにより、画像ファイルは揮発性キャッシュメモリ１２Ａに書き込まれ、管理データは不揮発性キャッシュメモリ２２Ａにライトバック方式で書き込まれる。
【００９８】
以上説明したように、本実施形態では、ファイルの属性情報を利用して揮発性／不揮発性のいずれのキャッシュメモリを用いるかを選択することにより、１回の設定で済むようになるため、設定回数が低減してアプリケーション（画像データ処理部３３／アプリケーション３４）側の処理を軽減できる。さらに、アプリケーション側が決定権を持つことで、ファイルシステム３１側の処理も軽減する。
【００９９】
［第３の実施の形態］
図４は、画像形成装置１０における本発明の第３の実施形態に係るキャッシュメモリ選択動作の流れを示している。
【０１００】
本実施形態では、アプリケーション（画像データ処理部３３／アプリケーション３４）がファイルシステム３１に対して指定する１回のアクセスサイズに対して、ファイルシステム３１側で所定の閾値（たとえば、数百Byte）を設け、閾値以上なら揮発性キャッシュメモリ１２Ａを使用し、閾値未満なら不揮発性キャッシュメモリ２２Ａを使用する。この閾値は、ファイルシステム３１の内部情報として、たとえば補助記憶装置２０などの不揮発に保存され、ファイルシステム３１（画像形成装置１０）の起動時にその不揮発から読み出されて設定される。
【０１０１】
たとえば、図４（Ａ）に示すように、アプリケーションの処理では、画像データ処理部３３／アプリケーション３４は、ファイル名と、オープンモードとを引数としてファイルをオープンする（ステップＳ１１１）、ファイルディスクリプタと、書き込むデータと、書き込むデータのサイズとを引数としてファイルにデータを書き込む（ステップＳ１１２）、ファイルディスクリプタを引数としてファイルをクローズする（ステップＳ１１３）といった各処理を実行し、アプリケーションの処理を終了する（ＥＮＤ）。
【０１０２】
図４（Ｂ）に示すように、ファイルシステム３１は、ファイルをオープンする処理で、引数（ファイル名、オープンモード）に従って既存ファイルを検索、または、新規ファイルを生成し（ステップＳ１１４）、そのファイルに対するファイルディスクリプタを作成し（ステップＳ１１５）、ファイルをオープンする処理を終了する（ＥＮＤ）。
【０１０３】
図４（Ｃ）に示すように、ファイルシステム３１は、ファイルにデータを書き込む処理で、引数（ファイルディスクリプタ、書き込むデータ、書き込むデータのサイズ）に基づいて書き込むデータのサイズが閾値以上か否かを判定する（ステップＳ１１６）。閾値以上の場合は（ステップＳ１１６；Ｙ）、揮発性キャッシュメモリ１２Ａを使用してファイルにデータを書き込み（ステップＳ１１７）、閾値未満の場合は（ステップＳ１１６；Ｎ）、不揮発性キャッシュメモリ２２Ａを使用してライトバック方式でファイルにデータを書き込み（ステップＳ１１８）、ファイルにデータを書き込む処理を終了する（ＥＮＤ）。これにより、画像データは１回のアクセスサイズ（連続アクセスするデータ量）が数KByte〜数十MByteと大きいため、閾値以上と判断されて揮発性キャッシュメモリ１２Ａに書き込まれる。また、管理データは１回のアクセスサイズが数Byte〜数十KByteと小さいため、閾値未満と判断されて不揮発性キャッシュメモリ２２Ａにライトバック方式で書き込まれる。
【０１０４】
図４（Ｄ）に示すように、ファイルシステム３１は、ファイルをクローズする処理で、引数（ファイルディスクリプタ）に従ってファイルディスクリプタを破棄し（ステップＳ１１９）、ファイルをクローズする処理を終了する（ＥＮＤ）。
【０１０５】
以上説明したように、本実施形態では、ファイルアクセス１回当たりのデータサイズに基づいて、用いるキャッシュメモリが選択される。すなわち、揮発性／不揮発性キャッシュメモリ１２Ａ、２２Ａのいずれを使用するかを判定するための閾値を、画像データのアクセスサイズ≧閾値＞管理データのアクセスサイズに設定することで、画像データのアクセスには揮発性キャッシュメモリ１２Ａが使用され、管理データのアクセスには不揮発性キャッシュメモリ２２Ａが使用されるようになる。これにより、画像データと管理データが同一のキャッシュメモリを消費して、互いに干渉するようなことを防止でき、第1の実施形態と同様の効果が得られる。
【０１０６】
また、使用するキャッシュメモリの選択（閾値による判定）をファイルシステム３１が行うことで、アプリケーション３４側の負担が軽減される。また、設定処理が不要であるため、操作が簡単になる。
【０１０７】
［第４の実施の形態］
図５は、画像形成装置１０における本発明の第４の実施形態に係るキャッシュメモリ選択動作の流れを示している。
【０１０８】
本実施形態では、ファイルシステム３１側で、ファイルサイズに対して所定の閾値（たとえば、数KByte）を設け、アプリケーション（画像データ処理部３３／アプリケーション３４）によるファイルシステム３１へのアクセス時に、ファイルサイズが閾値以上なら揮発性キャッシュメモリ１２Ａを使用し、閾値未満なら不揮発性キャッシュメモリ２２Ａを使用する。この閾値は、第３の実施形態と同じく、ファイルシステム３１の内部情報として、たとえば補助記憶装置２０などの不揮発に保存され、ファイルシステム３１（画像形成装置１０）の起動時にその不揮発から読み出されて設定される。
【０１０９】
たとえば、図５（Ａ）に示すように、アプリケーションの処理では、画像データ処理部３３／アプリケーション３４は、ファイル名と、オープンモードとを引数としてファイルをオープンする（ステップＳ１２１）、ファイルディスクリプタと、書き込むデータと、書き込むデータのサイズとを引数としてファイルにデータを書き込む（ステップＳ１２２）、ファイルディスクリプタを引数としてファイルをクローズする（ステップＳ１２３）といった各処理を実行し、アプリケーションの処理を終了する（ＥＮＤ）。
【０１１０】
図５（Ｂ）に示すように、ファイルシステム３１は、ファイルをオープンする処理で、引数（ファイル名、オープンモード）に従って既存ファイルを検索、または、新規ファイルを生成し（ステップＳ１２４）、そのファイルに対するファイルディスクリプタを作成し（ステップＳ１２５）、ファイルをオープンする処理を終了する（ＥＮＤ）。
【０１１１】
図５（Ｃ）に示すように、ファイルシステム３１は、ファイルにデータを書き込む処理で、書き込む対象となるファイルのサイズが閾値以上か否かを判定する（ステップＳ１２６）。閾値以上の場合は（ステップＳ１２６；Ｙ）、揮発性キャッシュメモリ１２Ａを使用してファイルにデータを書き込み（ステップＳ１２７）、閾値未満の場合は（ステップＳ１２６；Ｎ）、不揮発性キャッシュメモリ２２Ａを使用してライトバック方式でファイルにデータを書き込み（ステップＳ１２８）、ファイルにデータを書き込む処理を終了する（ＥＮＤ）。これにより、画像データはファイルサイズが大きいため、閾値以上と判断されて揮発性キャッシュメモリ１２Ａに書き込まれる。また、管理データはファイルサイズが小さいため、閾値未満と判断されて不揮発性キャッシュメモリ２２Ａにライトバック方式で書き込まれる。
【０１１２】
図５（Ｄ）に示すように、ファイルシステム３１は、ファイルをクローズする処理で、引数（ファイルディスクリプタ）に従ってファイルディスクリプタを破棄し（ステップＳ１２９）、ファイルをクローズする処理を終了する（ＥＮＤ）。
【０１１３】
以上説明したように、本実施形態では、アクセスするファイルのサイズに基づいて、用いるキャッシュメモリが選択される。すなわち、揮発性／不揮発性キャッシュメモリ１２Ａ、２２Ａのいずれを使用するかを判定するための閾値を、画像データのファイルサイズ≧閾値＞管理データのファイルサイズに設定することで、画像データのアクセスには揮発性キャッシュメモリ１２Ａが使用され、管理データのアクセスには不揮発性キャッシュメモリ２２Ａが使用されるようになる。これにより、画像データと管理データが同一のキャッシュメモリを消費して、互いに干渉するようなことを防止でき、第1の実施形態と同様の効果が得られる。
【０１１４】
また、ファイルサイズに応じた適切な選択が可能となり、さらに、現在の情報のみで選択できるようになるため、アプリケーション３４側の処理が軽減される。また、設定処理が不要であるため、操作が簡単になる。
【０１１５】
［第５の実施の形態］
図６は、画像形成装置１０における本発明の第５の実施形態に係るキャッシュメモリ選択動作の流れを示している。
【０１１６】
本実施形態では、ファイルシステム３１側で、アクセスを要求された補助記憶装置２０のブロックが特定のブロックの場合は不揮発性キャッシュメモリ２２Ａを使用し、特定のブロックでない場合は揮発性キャッシュメモリ１２Ａを使用する。特定のブロックは、ファイルシステム３１内で決定してもよいし、アプリケーション（画像データ処理部３３／アプリケーション３４）から登録してもよい。ファイルシステム３１内で決定するものとしては、たとえば、ＦＡＴやディレクトリファイル（ディレクトリエントリ）など、ファイルシステム３１の内部で使用する管理データがある。また、アプリケーションが登録する場合については、たとえば、ファイルシステム３１に、特定ブロックを登録／解除するインターフェイスを設けてもよい。
【０１１７】
たとえば、図６（Ａ）に示すように、アプリケーションの処理では、画像データ処理部３３／アプリケーション３４は、不揮発性キャッシュメモリ２２Ａを使用するブロックの設定（初期設定）を実行してから（ステップＳ１３１）、ファイル名と、オープンモードとを引数としてファイルをオープンする（ステップＳ１３２）、ファイルディスクリプタと、書き込むデータと、書き込むデータのサイズとを引数としてファイルにデータを書き込む（ステップＳ１３３）、ファイルディスクリプタを引数としてファイルをクローズする（ステップＳ１３４）といった各処理を実行し、アプリケーションの処理を終了する（ＥＮＤ）。
【０１１８】
図６（Ｂ）に示すように、ファイルシステム３１は、不揮発性キャッシュメモリ２２Ａを使用するブロックを設定する処理で、指定された補助記憶装置２０のブロックを不揮発性キャッシュメモリ使用ブロックテーブルに登録し（ステップＳ１３５）、ブロックを設定する処理を終了する（ＥＮＤ）。
【０１１９】
図６（Ｃ）に示すように、ファイルシステム３１は、ファイルにデータを書き込む処理で、引数（ファイルディスクリプタ、書き込むデータ、書き込むデータのサイズ）に基づき、アクセスを要求されたブロックが不揮発性キャッシュメモリ使用ブロックテーブルに登録されているか否かを判定する（ステップＳ１３６）。登録されている場合は（ステップＳ１３６；Ｙ）、不揮発性キャッシュメモリ２２Ａを使用してライトバック方式でファイルにデータを書き込み（ステップＳ１３７）、登録されていない場合は（ステップＳ１３６；Ｎ）、揮発性キャッシュメモリ１２Ａを使用してファイルにデータを書き込み（ステップＳ１３８）、ファイルにデータを書き込む処理を終了する（ＥＮＤ）。これにより、画像ファイルは揮発性キャッシュメモリ１２Ａに書き込み、管理データは不揮発性キャッシュメモリ２２Ａにライトバック方式で書き込むことができる。
【０１２０】
なお、ファイルシステム３１がファイルをオープンする処理と、ファイルをクローズする処理は、第３および第４の実施形態で説明した内容と同様であるため説明を省略する。また、不揮発性キャッシュメモリ使用ブロックテーブルは、第３および第４の実施形態と同様に、ファイルシステム３１の内部情報として、たとえば補助記憶装置２０などの不揮発に保存され、ファイルシステム３１（画像形成装置１０）の起動時にその不揮発から読み出されて設定される。
【０１２１】
以上説明したように、本実施形態では、アクセスを要求されたブロックが特定のブロックである場合は不揮発性キャッシュメモリ２２Ａを使用し、特定のブロックでない場合は揮発性キャッシュメモリ１２Ａを使用することにより、各キャッシュ領域を特定のブロックの割り当て量に応じてバランスよく使用することができ、処理の円滑化が図れる。また、その特定のブロックとして特定のフォルダを登録すれば、用途に応じて適切なキャッシュメモリが選択される。
【０１２２】
［第６の実施の形態］
図７は、画像形成装置１０における本発明の第６の実施形態に係るキャッシュメモリ選択動作の流れを示している。
【０１２３】
本実施形態では、特定のディレクトリに対して、揮発性キャッシュメモリ１２Ａおよび不揮発性キャッシュメモリ２２Ａのいずれか一方を使用するよう設定しておくことにより、ファイルシステム３１は、その特定のディレクトリ以下に存在するファイルをアクセスするときは揮発性キャッシュメモリ１２Ａおよび不揮発性キャッシュメモリ２２Ａのいずれか一方を使用し、その他のディレクトリに存在するファイルをアクセスするときは他方を使用する。特定のディレクトリについては、たとえば、ファイルシステム３１に、ディレクトリの登録／解除を行うインターフェイスを設け、そのインターフェイスにより登録／解除を設定する。
【０１２４】
ファイルシステム３１では、上記のインターフェイスを通して、特定のディレクトリが任意に設定変更できる。そしてたとえば、特定のディレクトリ以下を画像ファイル用とする場合は、特定のディレクトリに対して揮発性キャッシュメモリ１２Ａを使用するよう設定し、特定のディレクトリ以下を管理データ用とする場合は、特定のディレクトリに対して不揮発性キャッシュメモリ２２Ａを使用するよう設定する。
【０１２５】
たとえば、図７（Ａ）に示すように、アプリケーションの処理では、画像データ処理部３３／アプリケーション３４は、不揮発性キャッシュメモリ２２Ａを使用するディレクトリの設定（初期設定）を実行してから（ステップＳ１４１）、ファイル名と、オープンモードとを引数としてファイルをオープンする（ステップＳ１４２）、ファイルディスクリプタと、書き込むデータと、書き込むデータのサイズとを引数としてファイルにデータを書き込む（ステップＳ１４３）、ファイルディスクリプタを引数としてファイルをクローズする（ステップＳ１４４）といった各処理を実行し、アプリケーションの処理を終了する（ＥＮＤ）。
【０１２６】
図７（Ｂ）に示すように、ファイルシステム３１は、不揮発性キャッシュメモリ２２Ａを使用するディレクトリを設定する処理で、指定されたディレクトリ以下を管理データ用として不揮発性キャッシュメモリ使用ディレクトリテーブルに登録し（ステップＳ１４５）、ディレクトリを設定する処理を終了する（ＥＮＤ）。
【０１２７】
図７（Ｃ）に示すように、ファイルシステム３１は、ファイルをオープンする処理で、引数（ファイル名、オープンモード）に従って既存ファイルを検索、または、新規ファイルを生成し（ステップＳ１４６）、そのファイルに対するファイルディスクリプタを作成する（ステップＳ１４７）。続いて、アクセスを要求されたディレクトリが、不揮発性キャッシュメモリ使用ディレクトリテーブルに登録されているか否かを判定する（ステップＳ１４８）。登録されている場合は（ステップＳ１４８；Ｙ）、ファイルディスクリプタに不揮発性キャッシュメモリ２２Ａを使用するキャッシュ選択情報をセットし（ステップＳ１４９）、登録されていない場合は（ステップＳ１４８；Ｎ）、ファイルディスクリプタに揮発性キャッシュメモリ１２Ａを使用するキャッシュ選択情報をセットし（ステップＳ１５０）、ファイルをオープンする処理を終了する（ＥＮＤ）。
【０１２８】
図７（Ｄ）に示すように、ファイルシステム３１は、ファイルにデータを書き込む処理で、引数（ファイルディスクリプタ、書き込むデータ、書き込むデータのサイズ）に従い、ファイルディスクリプタにセットされているキャッシュ選択情報に基づいて、揮発性／不揮発性キャッシュメモリ１２Ａ、２２Ａのいずれかを選択し、ファイルにデータを書き込んで（ステップＳ１５１）、ファイルにデータを書き込む処理を終了する（ＥＮＤ）。これにより、特定のディレクトリに格納される管理データは、不揮発性キャッシュメモリ２２Ａに指定されライトバック方式で書き込まれる。また、その他のディレクトリに格納される画像ファイルは、揮発性キャッシュメモリ１２Ａに指定され書き込まれる。
【０１２９】
なお、ファイルをクローズする処理は、第３および第４の実施形態で説明した内容と同様であるため説明を省略する。また、不揮発性キャッシュメモリ使用ディレクトリテーブルは、第３〜第５の実施形態と同様に、ファイルシステム３１の内部情報として、たとえば補助記憶装置２０などの不揮発に保存され、ファイルシステム３１（画像形成装置１０）の起動時にその不揮発から読み出されて設定される。
【０１３０】
以上説明したように、本実施形態では、揮発性／不揮発性キャッシュメモリ１２Ａ、２２Ａのいずれを用いるかの選択に、ファイルシステム３１のディレクトリを利用し、特定のディレクトリを管理データ用または画像ファイル用として決めておくことで、設定が簡単に行えるようになる。
【０１３１】
［第７の実施の形態］
図８は、画像形成装置１０における本発明の第７の実施形態に係るキャッシュメモリ選択動作の流れを示している。
【０１３２】
本実施形態では、画像データ処理部３３またはアプリケーション３４がファイルにアクセスする際に、揮発性キャッシュメモリ１２Ａを使用するか、不揮発性キャッシュメモリ２２Ａを使用するかを指定する。
【０１３３】
たとえば、図８（Ａ）に示すように、アプリケーションの処理では、画像データ処理部３３／アプリケーション３４は、ファイル名と、オープンモードとを引数としてファイルをオープンする（ステップＳ１６１）、ファイルディスクリプタと、書き込むデータと、書き込むデータのサイズと、キャッシュ選択情報とを引数としてファイルにデータを書き込む（ステップＳ１６２）、ファイルディスクリプタを引数としてファイルをクローズする（ステップＳ１６３）といった各処理を実行し、アプリケーションの処理を終了する（ＥＮＤ）。ここでは、画像データ処理部３３がファイルにアクセスする際は、キャッシュ選択情報により揮発性キャッシュメモリ１２Ａを指定し、管理データを扱うアプリケーション３４がファイルにアクセスする際は、キャッシュ選択情報により不揮発性キャッシュメモリ２２Ａを指定するよう予め取り決めてある。
【０１３４】
図８（Ｂ）に示すように、ファイルシステム３１は、ファイルをオープンする処理で、引数（ファイル名、オープンモード）に従って既存ファイルを検索、または、新規ファイルを生成し（ステップＳ１６４）、そのファイルに対するファイルディスクリプタを作成し（ステップＳ１６５）、ファイルをオープンする処理を終了する（ＥＮＤ）。
【０１３５】
図８（Ｃ）に示すように、ファイルシステム３１は、ファイルにデータを書き込む処理で、引数（ファイルディスクリプタ、書き込むデータ、書き込むデータのサイズ、キャッシュ選択情報）に従い、その引数で指定されたキャッシュ選択情報に基づいて、揮発性／不揮発性キャッシュメモリ１２Ａ、２２Ａのいずれかを選択し、ファイルにデータを書き込んで（ステップＳ１６６）ファイルにデータを書き込む処理を終了する（ＥＮＤ）。ここでは、画像データ処理部３３がファイルにアクセスする際は揮発性キャッシュメモリ１２Ａを指定し、アプリケーション３４がファイルにアクセスする際は不揮発性キャッシュメモリ２２Ａを指定するように取り決めてあるため、画像データは揮発性キャッシュメモリ１２Ａに書き込まれ、管理データは不揮発性キャッシュメモリ２２Ａにライトバック方式で書き込まれる。
【０１３６】
図８（Ｄ）に示すように、ファイルシステム３１は、ファイルをクローズする処理で、引数（ファイルディスクリプタ）に従ってファイルディスクリプタを破棄し（ステップＳ１６７）、ファイルをクローズする処理を終了する（ＥＮＤ）。
【０１３７】
以上説明したように、本実施形態では、ファイルへのアクセス時に揮発性／不揮発性キャッシュメモリ１２Ａ、２２Ａのいずれを用いるかを選択するようにしたことで、ファイルシステム３１はファイルディスクリプタなどにキャッシュ選択情報を記憶する必要がない。また、アプリケーション（画像データ処理部３３／アプリケーション３４）は、使用するキャッシュメモリの種類をアクセス毎に切り替えることも可能となる。
【０１３８】
なお、第１〜第７の実施形態で説明した、データの種類に応じた揮発性／不揮発性キャッシュメモリ１２Ａ、２２Ａの使い分けは結果であり、キャッシュメモリを選択する各動作は、上述した設定や各種条件（たとえば、アクセスサイズと閾値との関係など）により決定するものである。したがって、設定や条件を第１〜第７の実施形態で説明した内容にすることで、結果として、画像データのアクセスには揮発性キャッシュメモリ１２Ａが使用され、管理データのアクセスには不揮発性キャッシュメモリ２２Ａが使用されるようになり、各データが同一のキャッシュメモリに対して互いに干渉するようなことが防止されるようになる。
【０１３９】
［第８の実施の形態］
第４の実施形態を除いて、補助記憶装置２０の同一ブロックのデータが、揮発性キャッシュメモリ１２Ａ経由でアクセスされることもあれば、不揮発性キャッシュメモリ２２Ａ経由でアクセスされることもある。そのため、同一ブロックのデータが、同時に揮発性／不揮発性キャッシュメモリ１２Ａ、２２Ａの双方に重複して存在してしまうと、同一ブロックに対して異なるデータが存在してしまうことになり、データ矛盾が発生する。そこで、このようなデータ矛盾を防止するために、キャッシュメモリ上からブロックの検索を行う際には、以下に説明する処理を実行する。
【０１４０】
図９は、画像形成装置１０における本発明の第８の実施形態に係るデータ矛盾を防止する動作の流れを示している。
【０１４１】
第４の実施形態を除くキャッシュメモリ選択の各処理では、図９に示すように、不揮発性キャッシュメモリ２２Ａに該当ブロックが存在するか否かを判定する（ステップＳ１７１）。不揮発性キャッシュメモリ２２Ａに該当ブロックが存在する場合は（ステップＳ１７１；Ｙ）、不揮発性キャッシュメモリ２２Ａにて見つかったブロックを使用し（ステップＳ１７２）、処理を終了する（ＥＮＤ）。不揮発性キャッシュメモリ２２Ａに該当ブロックが存在しない場合は（ステップＳ１７１；Ｎ）、揮発性キャッシュメモリ１２Ａに該当ブロックが存在するか否かを判定する（ステップＳ１７３）。
【０１４２】
揮発性キャッシュメモリ１２Ａに該当ブロックが存在する場合は（ステップＳ１７３；Ｙ）、不揮発性キャッシュメモリ２２Ａに指定されているか否かを判定する（ステップＳ１７４）。指定されていない場合は（ステップＳ１７４；Ｎ）、揮発性キャッシュメモリ１２Ａにて見つかったブロックを使用し（ステップＳ１７５）、処理を終了する（ＥＮＤ）。指定されている場合は（ステップＳ１７４；Ｙ）、不揮発性キャッシュメモリ２２Ａに新しいブロックを確保し、揮発性キャッシュメモリ１２Ａのデータを不揮発性キャッシュメモリ２２Ａに移動する。さらに揮発性キャッシュメモリ１２Ａのデータは無効化する（ステップＳ１７６）。そして、不揮発性キャッシュメモリ２２Ａに新しく作成されたブロックを使用し（ステップＳ１７７）、処理を終了する（ＥＮＤ）。
【０１４３】
また、揮発性キャッシュメモリ１２Ａに該当ブロックが存在しない場合は（ステップＳ１７３；Ｎ）、指定されたキャッシュに新しいブロックを確保し、そのエリアに補助記憶装置２０の該当ブロックのデータを読み出す（ステップＳ１７８）。そして、揮発性キャッシュメモリ１２Ａ、または、不揮発性キャッシュメモリ２２Ａに新しく作成されたブロックを使用し（ステップＳ１７９）、処理を終了する（ＥＮＤ）。
【０１４４】
以上の処理を実行することにより、同一ブロックのデータが、同時に揮発性／不揮発性キャッシュメモリ１２Ａ、２２Ａの双方に重複して存在することを回避でき、データ矛盾の発生を防止することができる。
【０１４５】
以上、本発明の実施の形態を図面によって説明してきたが、具体的な構成は実施の形態に示したものに限られるものではなく、本発明の要旨を逸脱しない範囲における変更や追加があっても本発明に含まれる。
【０１４６】
たとえば、第１〜第７の実施の形態で説明したキャッシュメモリ選択の各処理については、各々を単独で行うほかに、それらの２つ以上を組み合わせて行うようにしてもよい。
【０１４７】
また、画像形成装置１０が備えるＮＶ−ＲＡＭ２２は、一般的なデジタル複合機に存在するものであり、実施の形態では、ＮＶ−ＲＡＭ２２の一部を不揮発性キャッシュメモリ２２Ａに使用することで、新規に不揮発性メモリを搭載するコストを省くようにしている。ただし、ＮＶ−ＲＡＭ２２とは別の独立した不揮発性メモリを不揮発性キャッシュメモリ用に割り当てるよう構成してもよい。また、不揮発性キャッシュメモリ２２Ａを直接不揮発性メモリ（ＮＶ−ＲＡＭ２２）上に配置する構成ではなく、電源断時にＮＶ−ＲＡＭ２２へデータを退避できるＲＡＭ上に配置することで、実質的に不揮発性キャッシュメモリとしての機能が果たされるように構成してもよい。
【０１４８】
また、実施の形態では、本発明に係るメモリ装置を画像形成装置に適用し、画像データと管理データとでキャッシュメモリを使い分けるようにしているが、メモリ装置が扱うデータはこの２種類に限定されるものではない。たとえば、電源断に対するデータの保障性の要否、データサイズ、アクセスサイズなどの特性が異なるデータ間（音声データと管理データ間、あるいは、重要度の異なる文書データ間など）でキャッシュメモリを使い分けるようにしてもよい。このように、本発明に係るメモリ装置は、画像形成装置に限らず、各種データを扱う情報処理装置などにも適用可能である。
【図面の簡単な説明】
【０１４９】
【図１】本発明の第１の実施の形態に係るメモリ装置を備えた画像形成装置の構成を示すブロック図である。
【図２】本発明の第１の実施の形態に係るメモリ装置の概略構成を示す構成図である。
【図３】本発明の第１の実施の形態に係るキャッシュメモリ選択の動作を示す流れ図である。
【図４】本発明の第３の実施の形態に係るキャッシュメモリ選択の動作を示す流れ図である。
【図５】本発明の第４の実施の形態に係るキャッシュメモリ選択の動作を示す流れ図である。
【図６】本発明の第５の実施の形態に係るキャッシュメモリ選択の動作を示す流れ図である。
【図７】本発明の第６の実施の形態に係るキャッシュメモリ選択の動作を示す流れ図である。
【図８】本発明の第７の実施の形態に係るキャッシュメモリ選択の動作を示す流れ図である。
【図９】本発明の第８の実施の形態に係るデータ矛盾防止の動作を示す流れ図である。
【図１０】キャッシュメモリのデータ書き込み方式について、（Ａ）はライトスルー方式を示す説明図、（Ｂ）はライトバック方式を示す説明図である。
【図１１】画像データと管理データのアクセス形態を示す表図である。
【符号の説明】
【０１５０】
１０…画像形成装置
１１…ＲＯＭ
１２…ＲＡＭ
１２Ａ…揮発性キャッシュメモリ
１３…読取部
１４…印刷部
１５…ファクシミリ部
１６…表示操作部
１７…通信部
１８…圧縮手段
１９…伸張手段
２１…メモリ装置
２０…補助記憶装置
２２…ＮＶ−ＲＡＭ
２２Ａ…不揮発性キャッシュメモリ
３０…ＣＰＵ
３１…ファイルシステム
３２…キャッシュ制御部
３３…画像データ処理部
３４…アプリケーション
【図１】
2008165573.tif 000003
【図２】
2008165573.tif 000004
【図３】
2008165573.tif 000005
【図４】
2008165573.tif 000006
【図５】
2008165573.tif 000007
【図６】
2008165573.tif 000008
【図７】
2008165573.tif 000009
【図８】
2008165573.tif 000010
【図９】
2008165573.tif 000011
【図１０】
2008165573.tif 000012
【図１１】
2008165573.tif 000013