主記憶部へのデータの書き込み又は読み出しと、キャッシュブロックを複数有するキャッシュ部へのデータの一時的な書き込み又は読み出しと、を実行するデバイスドライバと、前記主記憶部又は前記キャッシュ部へのファイルシステムのデータの書き込み又は読み出しを、前記デバイスドライバに命令する制御部と、を備え、前記制御部は、前記キャッシュブロックに記憶されているデータを前記デバイスドライバによって前記主記憶部に移動させるデータ移動処理を実行可能なタイミング情報を、前記デバイスドライバに通知する、メモリ制御装置。前記制御部による前記デバイスドライバへの命令は、アプリケーションからの処理要求に応じた命令であり、前記制御部は、前記アプリケーションから要求された処理内容を判別し、前記処理内容の判別結果から、要求された処理の後に他の処理が続けて要求されないと判定した場合に、前記タイミング情報を前記デバイスドライバに通知する、請求項1に記載のメモリ制御装置。前記デバイスドライバは、前記キャッシュブロックの使用状態を記憶し、前記制御部から通知を受けた前記タイミング情報と、前記キャッシュブロックの使用状態とに基づいて、前記データ移動処理を実行するか否かを判定する、請求項1又は請求項2に記載のメモリ制御装置。前記デバイスドライバは、前記キャッシュブロックと論理ブロックを対応付けて記憶し、前記タイミング情報の通知を受けた際に前記キャッシュブロックを使用している論理ブロックの数が所定数に達している場合に、前記データ移動処理を強制的に実行する、請求項3に記載のメモリ制御装置。前記デバイスドライバは、前記キャッシュブロックと論理ブロックを対応付けて記憶し、前記タイミング情報の通知を受けた際に前記論理ブロックに割り当てられているキャッシュブロックの数が所定数に達している場合に、前記データ移動処理を強制的に実行する、請求項3に記載のメモリ制御装置。前記デバイスドライバは、前記タイミング情報の通知を受けた際に前記キャッシュ部におけるデータを記憶しないキャッシュブロックの数が所定数以下の場合に、前記データ移動処理を強制的に実行する、請求項3に記載のメモリ制御装置。前記制御部は、前記キャッシュブロックが対応づけられた論理ブロックに対するデータ記憶の優先度に関する優先度情報を前記デバイスドライバに通知し、前記デバイスドライバは、前記データ移動処理を実行する際に、前記制御部から通知を受けた前記優先度情報に基づいて、前記複数のキャッシュブロックのうちの前記優先度が最も低い前記論理ブロックに対応づけられたキャッシュブロックに記憶されているデータを、前記主記憶部に移動させる、請求項3~6のいずれか1項に記載のメモリ制御装置。データを記憶する主記憶部と、キャッシュブロックを複数有し、データを一時的に記憶するキャッシュ部と、前記主記憶部へのデータの書き込み又は読み出しと、前記キャッシュ部へのデータの一時的な書き込み又は読み出しと、を実行するデバイスドライバと、前記主記憶部又は前記キャッシュ部へのファイルシステムのデータの書き込み又は読み出しを、前記デバイスドライバに命令する制御部と、を備え、前記制御部は、前記キャッシュブロックに記憶されているデータを前記デバイスドライバによって前記主記憶部に移動させるデータ移動処理を実行可能なタイミング情報を、前記デバイスドライバに通知する、メモリ装置。デバイスドライバが、主記憶部にデータを記憶させ、又はキャッシュブロックを複数有するキャッシュ部にデータを一時的に記憶させることと、制御部が、前記主記憶部又は前記キャッシュ部へのファイルシステムのデータの書き込み又は読み出しを、前記デバイスドライバに命令することと、前記制御部が、前記キャッシュブロックに記憶されているデータを前記デバイスドライバによって前記主記憶部に移動させるデータ移動処理を実行可能なタイミング情報を、前記デバイスドライバに通知することと、を含む、メモリ制御方法。デバイスドライバが、主記憶部にデータを記憶させ、又はキャッシュブロックを複数有するキャッシュ部にデータを一時的に記憶させることと、制御部が、前記主記憶部又は前記キャッシュ部へのファイルシステムのデータの書き込み又は読み出しを、前記デバイスドライバに命令することと、前記制御部が、前記キャッシュブロックに記憶されているデータを前記デバイスドライバによって前記主記憶部に移動させるデータ移動処理を実行可能なタイミング情報を、前記デバイスドライバに通知することと、をコンピュータに実行させるための、プログラム。ところで、Linuxのようなオペレーティングシステムでは、デバイスの制御処理ドライバを抽象化し、ファイルシステムの制御処理と分離している。この抽象化のため、ファイルシステム制御は、デバイス固有の特性を知らずに動作する。そして、主記憶部とキャッシュブロックのいずれかが不揮発メモリ上に構築された場合には、デバイスドライバだけが、ライトバック処理のタイミングを制御することになる。このため、ファイルシステムからデバイスドライバへ命令例えば、書き換え要求が発生した際に、ライトバック処理が実行されると、書き換え要求等の他の処理の処理速度が低下するという問題がある。そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、ライトバック処理の実行に起因して他の処理の処理速度が低下することを抑制することが可能な、新規かつ改良されたメモリ制御装置、メモリ装置、メモリ制御方法、及びプログラムを提供することにある。上記課題を解決するために、本発明のある観点によれば、主記憶部へのデータの書き込み又は読み出しと、キャッシュブロックを複数有するキャッシュ部へのデータの一時的な書き込み又は読み出しと、を実行するデバイスドライバと、前記主記憶部又は前記キャッシュ部へのファイルシステムのデータの書き込み又は読み出しを、前記デバイスドライバに命令する制御部と、を備え、前記制御部は、前記キャッシュブロックに記憶されているデータを前記デバイスドライバによって前記主記憶部に移動させるデータ移動処理を実行可能なタイミング情報を、前記デバイスドライバに通知する、メモリ制御装置が提供される。また、前記制御部による前記デバイスドライバへの命令は、アプリケーションからの処理要求に応じた命令であり、前記制御部は、前記アプリケーションから要求された処理内容を判別し、前記処理内容の判別結果から、要求された処理の後に他の処理が続けて要求されないと判定した場合に、前記タイミング情報を前記デバイスドライバに通知しても良い。また、前記デバイスドライバは、前記キャッシュブロックの使用状態を記憶し、前記制御部から通知を受けた前記タイミング情報と、前記キャッシュブロックの使用状態とに基づいて、前記データ移動処理を実行するか否かを判定しても良い。また、前記デバイスドライバは、前記キャッシュブロックと論理ブロックを対応付けて記憶し、前記タイミング情報の通知を受けた際に前記キャッシュブロックを使用している論理ブロックの数が所定数に達している場合に、前記データ移動処理を強制的に実行しても良い。また、前記デバイスドライバは、前記キャッシュブロックと論理ブロックを対応付けて記憶し、前記タイミング情報の通知を受けた際に前記論理ブロックに割り当てられているキャッシュブロックの数が所定数に達している場合に、前記データ移動処理を強制的に実行しても良い。また、前記デバイスドライバは、前記タイミング情報の通知を受けた際に前記キャッシュ部におけるデータを記憶しないキャッシュブロックの数が所定数以下の場合に、前記データ移動処理を強制的に実行しても良い。また、前記制御部は、前記キャッシュブロックが対応づけられた論理ブロックに対するデータ記憶の優先度に関する優先度情報を前記デバイスドライバに通知し、前記デバイスドライバは、前記データ移動処理を実行する際に、前記制御部から通知を受けた前記優先度情報に基づいて、前記複数のキャッシュブロックのうちの前記優先度が最も低い前記論理ブロックに対応づけられたキャッシュブロックに記憶されているデータを、前記主記憶部に移動させても良い。また、上記課題を解決するために、本発明の別の観点によれば、データを記憶する主記憶部と、キャッシュブロックを複数有し、データを一時的に記憶するキャッシュ部と、前記主記憶部へのデータの書き込み又は読み出しと、前記キャッシュ部へのデータの一時的な書き込み又は読み出しと、を実行するデバイスドライバと、前記主記憶部又は前記キャッシュ部へのファイルシステムのデータの書き込み又は読み出しを、前記デバイスドライバに命令する制御部と、を備え、前記制御部は、前記キャッシュブロックに記憶されているデータを前記デバイスドライバによって前記主記憶部に移動させるデータ移動処理を実行可能なタイミング情報を、前記デバイスドライバに通知する、メモリ装置が提供される。また、上記課題を解決するために、本発明の別の観点によれば、デバイスドライバが、主記憶部にデータを記憶させ、又はキャッシュブロックを複数有するキャッシュ部にデータを一時的に記憶させることと、制御部が、前記主記憶部又は前記キャッシュ部へのファイルシステムのデータの書き込み又は読み出しを、前記デバイスドライバに命令することと、前記制御部が、前記キャッシュブロックに記憶されているデータを前記デバイスドライバによって前記主記憶部に移動させるデータ移動処理を実行可能なタイミング情報を、前記デバイスドライバに通知することと、を含む、メモリ制御方法が提供される。また、上記課題を解決するために、本発明の別の観点によれば、デバイスドライバが、主記憶部にデータを記憶させ、又はキャッシュブロックを複数有するキャッシュ部にデータを一時的に記憶させることと、制御部が、前記主記憶部又は前記キャッシュ部へのファイルシステムのデータの書き込み又は読み出しを、前記デバイスドライバに命令することと、前記制御部が、前記キャッシュブロックに記憶されているデータを前記デバイスドライバによって前記主記憶部に移動させるデータ移動処理を実行可能なタイミング情報を、前記デバイスドライバに通知することと、をコンピュータに実行させるための、プログラムが提供される。以上説明したように本発明によれば、ライトバック処理の実行に起因して他の処理の処理速度が低下することを抑制できる。以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。なお、説明は以下の順序で行うものとする。1.メモリ装置の概要2.初回起動時の処理3.ファイル作成時の処理3-1.ファイル作成処理の概要3-2.write処理におけるキャッシュ優先度の通知3-2-1.書き換え処理3-3.close処理におけるタイミング情報の通知3-3-1.flush処理4.mkdir処理におけるタイミング情報の通知5.まとめ<1.メモリ装置の概要>図1を参照して、本実施形態に係るメモリ装置の一例であるメモリ管理装置10の概要について説明する。図1は、メモリ管理装置10の構成を示すブロック図である。図1に示すように、メモリ管理装置10は、アプリケーション部110と、オペレーティングシステム部120と、主記憶部の一例である主記憶領域部130と、キャッシュ部の一例であるキャッシュブロック部140を有する。アプリケーション部110アプリケーション部110は、メモリ管理装置10における様々な機能を実現するためのものである。アプリケーション部110は、ファイルシステムに関する要求をオペレーションシステム部120に送る。例えば、アプリケーション部110は、ファイルの作成又は削除の要求や、ディレクトリの作成又は削除の要求を、オペレーションシステム部120に送る。オペレーションシステム部120オペレーションシステム部120は、メモリ管理装置10の動作を制御するためのものである。オペレーションシステム部120は、アプリケーション部110の要求を受けて、主記憶領域部130とキャッシュブロック部140におけるデータの読み出しや書き込みの処理を制御する。オペレーションシステム部120は、アプリケーション部110の要求に応じた処理結果をアプリケーション部110に送る。主記憶部130主記憶領域部130は、不揮発性メモリであり、様々なデータを記憶する。主記憶領域部130は、データをファイル単位で扱うFATファイルシステムでフォーマットされている。キャッシュブロック部140キャッシュブロック部140は、不揮発性メモリであり、使用頻度アクセス頻度の高いデータを一時的に記憶する。キャッシュブロック部140は、キャッシュブロックを複数有し、各キャッシュブロックにデータを記憶可能である。キャッシュブロック部140も、FATファイルシステムでフォーマットされている。なお、キャッシュブロック部140の容量は、主記憶部130の容量に比べて小さい。キャッシュブロック部140のデータ量が所定量を超えると、詳細は後述するが、キャッシュブロック部140のデータが主記憶部130に移動するライトバック処理が行われる。ファイルシステムについてここで、ファイルシステムについて、FATFileAllocationTableファイルシステムを例に挙げて説明する。ファイルシステムとは、記憶媒体本実施形態における主記憶領域部130とキャッシュブロック部140上においてファイルを管理するための仕組みである。具体的には、ファイルシステムは、ユーザが論理的に扱うファイルやディレクトリを、実際の物理的な記憶媒体上に対応させ、ファイルやディレクトリ自体を構成するシステムである。FATファイルシステムは、ディレクトリエントリとFATと呼ばれる情報によって管理される。FATファイルシステムにおいて、ファイルはクラスタを単位として構成されているが、同一ファイルを構成する複数のクラスタの記憶媒体上の物理的な位置は必ずしも連続しているわけではない。複数のクラスタがどのような順につながって、1つのファイルを構成しているかを管理しているのが、FATである。ディレクトリとは、ファイルを管理するための階層構造を持つグループ名である。各ディレクトリに含まれるファイルの情報は、ディレクトリエントリと呼ばれる。ディレクトリエントリには、ファイルや他のディレクトリの名前、拡張子、属性、データサイズ、ファイルの開始クラスタの番号開始クラスタ番号等の情報が含まれている。最上位のディレクトリをルートディレクトリと呼び、下位のディレクトリをサブディレクトリと呼ぶ。FATファイルシステムによってフォーマットされた記憶媒体は、複数のFAT領域、ルートディレクトリ領域、実データ領域等を有する。FAT領域は、データ領域に記憶されているデータのファイル本体の在り処を示す情報であるFAT項目を記憶する領域である。FAT領域は、通常2つのFAT領域であり、2つのFAT領域には、同一の内容が記憶される。ルートディレクトリ領域は、ファイルの在り処を管理する領域である。ルートディレクトリ領域には、ルートディレクトリに存在するファイルと、サブディレクトリに関する情報を記述したルートディレクトリエントリが記憶される。データ領域は、ファイルの内容実データと、サブディレクトリ以下に存在するファイルとサブディレクトリに関する情報が記憶される。そして、記憶媒体におけるデータのアクセスは、まず、ルートディレクトリエントリに記述された開始クラスタ番号を参照して、データ領域に記憶されたファイルの一部が読み出される。次に、FATを参照して次のデータが記憶されたデータ領域内の位置が特定され、特定された位置のデータが読み出される。ファイルシステム制御部150図1に戻って、メモリ管理装置10の構成の説明を続ける。オペレーティングシステム部120は、制御部の一例であるファイルシステム制御部150と、デバイスドライバの一例であるストレージデバイスドライバ単に、デバイスドライバとも呼ぶ160を有する。ファイルシステム制御部150は、アプリケーション部110からの要求に応じた命令を、デバイスドライバ160に送る。例えば、ファイルシステム制御部150は、主記憶領域部130又はキャッシュブロック部140へのデータの書き込み又は読み出しを、デバイスドライバ160に命令する。ファイルシステム制御部150は、キャッシュブロック部140の各キャッシュブロックが対応づけられた論理ブロックに対するデータ記憶の優先度以下、キャッシュ優先度とも呼ぶに関する優先度情報をデバイスドライバ160に通知する。具体的には、ファイルシステム制御部150は、メモリ管理装置10の初回起動時や、キャッシュブロック部140においてデータを記憶しないキャッシュブロックを割り当てる時に、各キャッシュブロックが対応づけられた論理ブロックに対する優先度情報をデバイスドライバ160に通知する。ここで、図2と図3を参照して、キャッシュ優先度の通知に伴うファイルシステム制御部150の処理を説明する。図2は、キャッシュ優先度の割当て例を示す図である。図3は、キャッシュ優先度の通知内容を示す図である。まず、ファイルシステム制御部150は、デバイスドライバ160から論理ブロックのサイズを取得する。例えば図2に示すように1つの論理ブロックが4つのクラスタを含む場合には、論理ブロックのサイズは4クラスタとなる。次に、ファイルシステム制御部150は、データが置かれる領域の用途を調査する。例えばFAT型フォーマットの場合、ファイルシステム制御部150は、使用中の全クラスタに対して、ファイル用かディレクトリ用かを調査する。図2では、全クラスタがファイル用として使用されている。次に、ファイルシステム制御部150は、調査結果に基づいて、論理ブロック単位でのキャッシュ優先度を決定する。本実施形態のファイルシステム制御部150は、以下のように論理ブロックに対してキャッシュ優先度の割当てを行う。すなわち、ファイルシステム制御部150は、FATが置かれる論路ブロックについては、常に更新されるため、キャッシュ優先度を高として割り当て、ディレクトリが置かれる論理ブロックについては、キャッシュ優先度を中として割り当てる。ファイルだけが置かれる論理ブロックについては、ディレクトリが置かれる論理ブロックよりも更新頻度が少なく、かつキャッシュしておく必要性が乏しいため、ファイルシステム制御部150は、キャッシュ優先度を低として割り当てる。例えば、図2の論理ブロックではファイルのみが置かれるので、ファイルシステム制御部150は、論理ブロックのキャッシュ優先度を低として割り当てる。ファイルシステム制御部150は、全ての論理ブロックに対して上述した処理を行って、全ての論理ブロックに対してキャッシュ優先度を割り当てる。その後、ファイルシステム制御部150は、図3に示すように、全ての論理ブロックに割り当てたキャッシュ優先度を、デバイスドライバ160に通知する。なお、上記では、論理ブロックに割り当てられる優先度が、高中低の3つであることとしたが、これに限定されない。例えば、割り当てられる優先度は、高低の2つであっても良く、又は4つ以上であっても良い。このように、ファイルシステム制御部150が優先度情報をデバイスドライバ160に通知することによって、デバイスドライバ160は、ライトバック処理の際にキャッシュ優先度の低いキャッシュブロックに記憶されたデータを優先して移動させることができる。この結果、ライトバック処理の際に、更新頻度の高いデータを主記憶領域130に移動させることを防止できる。また、前記データが主記憶領域130に移動することによる、前記データに対するアクセス時間が長くなることを防止できる。また、ファイルシステム制御部150は、ライトバック処理データ移動処理を実行可能なタイミング情報を、デバイスドライバ160に通知する。具体的には、ファイルシステム制御部150は、アプリケーション部110から要求された処理内容を判別し、処理内容の判別結果から、要求された処理の後に他の処理が続けて要求されないと判定した場合に、タイミング情報をデバイスドライバ160に通知する。例えば、アプリケーション部110からファイルのclose処理等を受けた場合に、ファイルシステム制御部150は、タイミング情報をデバイスドライバ160に通知する。このように、ファイルシステム制御部150がタイミング情報をデバイスドライバ160に通知することによって、デバイスドライバ160は、他の処理例えば、write処理の実行中にライトバック処理が行われることを防止できる。この結果、ライトバック処理に起因してwrite処理等の他の処理の処理速度が低下することを防止できる。デバイスドライバ160図1に戻って、メモリ管理装置10の構成の説明を続ける。デバイスドライバ160は、ファイルシステム制御部150からの命令を受けて、主記憶領域部130とキャッシュブロック140を制御する。デバイスドライバ160は、主記憶領域部130へのデータの書き込み又は読み出しと、キャッシュブロック部140へのデータの一時的な書き込み又は読み出しとを実行する。デバイスドライバ160は、ファイルシステム制御部150から通知を受けた優先度情報に基づいて、ライトバック処理の際にデータが主記憶領域部130に移動されるキャッシュブロックを選択する。具体的には、デバイスドライバ160は、キャッシュブロック部140を構成する複数のキャッシュブロックのうちの、キャッシュ優先度が最も低いキャッシュブロックを選択する。そして、デバイスドライバ160は、選択したキャッシュ優先度が最も低いキャッシュブロックに記憶されているデータを、ライトバック処理の際に主記憶領域130に移動させる。これにより、ライトバック処理の際に、キャッシュ優先度が高いキャッシュブロックに記憶されたデータ更新頻度が高いデータが、主記憶領域部130に移動されることを抑制できる。なお、デバイスドライバ160は、キャッシュブロックが空いている場合には、論理ブロックのキャッシュ優先度に関係無く、空いているキャッシュブロックにデータを書き込む。一方で、キャッシュブロックが空いていない場合には、デバイスドライバ160は、ライトバック処理を行い、空きキャッシュブロックを確保する。デバイスドライバ160は、ファイルシステム制御部150から通知を受けた優先度情報を、キャッシュブロックの管理情報の一部として記憶している。ここで、図4を参照して、デバイスドライバ160が記憶しているキャッシュブロックの管理情報について説明する。図4は、キャッシュブロックの管理情報を示す図である。管理情報は、キャッシュされる論理ブロックと、キャッシュブロックとの対応関係を示すものである。管理情報には、論理ブロックに関して、アドレスと、使用状況と、キャッシュ優先度の情報が含まれる。ここで、使用状況は、各論理ブロック例えば、図4の4つの論理ブロックを比較したものであり、数が小さいほど最近使用されたすなわち、データが書き込まれたことを示す。図4では、アドレス0の論理ブロックが、4つの論理ブロックの中で直近に使用されている。キャッシュ優先度として、高中低の3つのいずれかが論理ブロック毎に割り当てられる。キャッシュ優先度が高い論理ブロックほど、優先してキャッシュされる。図4では、アドレス0の論理ブロックの優先度が高となっている。なお、キャッシュできる論理ブロックの数には、上限があり、図4では5つである。また、一つの論理ブロックに対して、複数のキャッシュブロックが割当て可能となっている。図4では、アドレス0の論理ブロックに対して、アドレス0のキャッシュブロックと、アドレス4のキャッシュブロックが割り当てられている。なお、一つの論理ブロックに割当て可能なキャッシュブロックの数には、上限があり、図4では3つである。デバイスドライバ160は、論理ブロック内のオフセットアドレス毎のアドレス変換情報を記憶している。すなわち、デバイスドライバ160は、オフセットアドレスに対応するデータが、何れのキャッシュブロックのどのオフセットアドレスに記憶されているかを記憶している。図5は、オフセットアドレス毎のアドレス変換情報を示す図である。図5では、アドレス0の論理ブロック内のオフセットアドレス毎の、アドレス変換情報が示されている。例えば、論理ブロック内のオフセットアドレス0に対応するデータは、キャッシュブロック0のオフセットアドレス3に記憶されている。デバイスドライバ160は、ファイルシステム制御部150から優先度情報の通知を受けた際に、上述した管理情報を更新する。そして、デバイスドライバ160は、ライトバック処理の際に、更新後の優先度情報に基づいて、キャッシュ優先度が最も低いキャッシュブロックに記憶されているデータを、主記憶領域部130に移動させる。これにより、優先度情報を受けた後のライトバック処理において、キャッシュ優先度が最も低いキャッシブロックに記憶されたデータが、主記憶領域部130に移動することとなる。キャッシュ優先度が同じ論理ブロックが複数ある場合には、デバイスドライバ160は、使用時期が古い論理ブロックに対応づけられたキャッシュブロックに記憶されているデータを、主記憶領域部130に移動させる。使用時期が古いキャッシュブロックは、使用時期が新しいキャッシュブロックに比べて、再度データを更新する確立が低い。このため、優先度が同じキャッシュブロックが複数ある場合でも、ライトバック処理の際に、更新頻度が高いデータが主記憶領域部130に移動することを抑制できる。また、デバイスドライバ160は、上述したように、ファイルファイルシステム制御部150からライトバック処理のタイミング情報を受ける。デバイスドライバ160は、タイミング情報を受けると、ライトバック処理を実行するか否かを判定する。具体的には、デバイスドライバ160は、タイミング情報を受けると、管理情報内のキャッシュブロックの使用状態に基づいて、ライトバック処理を実行するか否かを判定する。そして、デバイスドライバ160は、以下のような場合に、ライトバック処理を実行する。まず、デバイスドライバ160は、タイミング情報の通知を受けた際にキャッシュブロックを使用している論理ブロックの数が所定数に達している場合に、ライトバック処理を強制的に実行する。これにより、キャッシュ優先度の高い論理ブロックに対応するキャッシュブロックのみにデータを記憶させることができる。また、デバイスドライバ160は、タイミング情報の通知を受けた際に論理ブロックに割り当てられているキャッシュブロックの数が所定数に達している場合に、ライトバック処理を強制的に実行する。これにより、1つの論理ブロックに過大にキャッシュブロックが割り当てられることを防止できる。更に、デバイスドライバ160は、タイミング情報の通知を受けた際に前記キャッシュ部におけるデータを記憶しないキャッシュブロックの数が所定数以下の場合に、ライトバック処理を強制的に実行する。これにより、所定数の空きキャッシュブロックを維持することができる。このように、デバイスドライバ160がタイミング情報を受けた際にライトバック処理を実行することで、他の処理中にライトバック処理が実行されることを防止できるので、他の処理の処理速度の低下を防止できる。メモリ管理装置10は、更に、不図示のCPU、ROM、RAM等を有する。CPUは、ROMや外部の記憶装置等から読み出されたプログラムをRAM上に展開して実行することで、各種の処理後述するファイル作成処理等を実現する。なお、プログラムは、記録媒体に記録されうる。<2.初回起動時の処理>上述したように、ファイルシステム制御部150は、メモリ管理装置10の初回起動時に、優先度情報をデバイスドライバ160に通知する。以下においては、図6を参照して、メモリ管理装置10の初回起動時の優先度情報の通知処理について説明する。図6は、メモリ管理装置10の初回起動時の処理を説明するためのフローチャートである。本処理は、CPUがROM等に記憶されたプログラムを実行することで、実現される。図6のフローチャートは、アプリケーション部110が、ファイルシステム制御部150に対してマウントを要求するところから開始されるステップS102。ファイルシステム制御部150は、アプリケーション部110のマウント要求を受けると、マウント処理を実行するステップS104。ここで、ステップS104のマウント処理について説明する。ファイルシステム制御部150は、アプリケーション部110に対して、例えばISO/IEC9945POSIXが定義するようなインターフェースを提供する。また、ファイルシステム制御部150は、ファイルシステム特有の構成フォーマットでデバイスドライバ160上のファイルやディレクトリを管理する。例えば、図7に示すように、ISO/IEC9293JISX0605FAT型フォーマットが定義するフォーマットが用いられる。図7は、FAT型ファイルシステムのパーティション構成を示す図である。そして、マウント処理は、ファイルシステム制御部150がアプリケーション部110に提供するインターフェースを有効にするための準備処理であり、デバイスドライバ160からフォーマットの情報を読み取る処理である。ここで、読み取られる情報は、図7のFAT型フォーマットのBPBBIOSパラメータブロック領域、FAT1領域、FAT2領域に格納されている情報である。具体的には、読み取られる情報は、ファイルシステムフォーマットを管理するための情報の格納アドレスとサイズ、データの格納アドレスとサイズに関する情報である。なお、図7のFAT型フォーマットの各クラスタは、ディレクトリ又はファイルとして使用される。図6のフローチャートに戻って、初回起動時の処理の説明を続ける。ステップS104のマウント処理の実行後、ファイルシステム制御部150は、デバイスドライバ160にキャッシュ優先度を通知するステップS106。次に、デバイスドライバ160は、通知を受けたキャッシュ優先度に基づいて、保持している各論理ブロックのキャッシュ優先度を更新するステップS108。例えば、デバイスドライバ160は、キャッシュ優先度を中から高へ変更して、更新する。次に、ファイルシステム制御部150は、マウント処理結果をアプリケーション部110へ送るステップS110。アプリケーション部110がマウント処理結果を受けとるとステップS112、初回起動時の処理が終了する。このように、初回起動時の処理においては、ファイルシステム制御部150からデバイスドライバ160にキャッシュ優先度が通知され、デバイスドライバ160は、保持している各論理ブロックのキャッシュ優先度を更新する。かかる場合には、ファイルシステム制御部150が優先度情報をデバイスドライバ160に通知することによって、デバイスドライバ160は、ライトバック処理の際にキャッシュ優先度の低いキャッシュブロックに記憶されたデータを優先して移動させることができる。この結果、ライトバック処理の際に、更新頻度の高いデータを主記憶領域130に移動させることを防止できる。<3.ファイル作成時の処理>上述したように初回起動時にキャッシュ優先度の通知が行われたが、ファイル作成時にもキャッシュ優先度の通知が行われる。そこで、以下においては、ファイル作成時のキャッシュ優先度の通知処理について説明する。3-1.ファイル作成処理の概要まず、図8を参照して、ファイル作成処理の概要について説明する。図8は、ファイル作成処理の概要を説明するためのフローチャートである。本処理は、CPUがROM等に記憶されたプログラムを実行することで、実現される。図8のフローチャートは、アプリケーション部110がファイルシステム制御部150に対してファイルのopenを要求するところから開始されるステップS202。ファイルシステム制御部150は、アプリケーション部110のopen要求を受けると、open処理を実行するステップS204。なお、open処理の実行の際にキャッシュ優先度の通知が行われるが、詳細については後述する。アプリケーション部110は、open処理の結果をファイルシステム制御部150から受け取るステップS206。次に、アプリケーション部110は、ファイルシステム制御部150に対してファイルのwriteを要求するステップS208。ファイルシステム制御部150は、アプリケーション部110のwrite要求を受けると、write処理を実行するステップS210。なお、open処理の実行の際にキャッシュ優先度の通知が行われるが、詳細については後述する。アプリケーション部110は、write処理の結果をファイルシステム制御部150から受け取るステップS212。そして、ファイルのwriteを更に行う場合にはステップS214:Yes、上述したステップS208~S212の処理が繰り返される。一方で、ファイルのwriteを終了する場合にはステップS214:No、アプリケーション部110は、ファイルシステム制御部150に対してファイルのcloseを要求するステップS216。ファイルシステム制御部150は、アプリケーション部110のclose要求を受けると、close処理を実行するステップS218。なお、close処理の実行の際に、上述したタイミング情報の通知が行われるが、詳細については後述する。アプリケーション部110は、close処理の結果をファイルシステム制御部150から受け取るステップS220。これにより、ファイル作成時の一連の処理が完了する。3-2.write処理におけるキャッシュ優先度の通知図8のステップS204のopen処理におけるキャッシュ優先度の通知処理と、ステップS210のwrite処理におけるキャッシュ優先度の通知処理は、同様である。このため、以下においては、write処理におけるキャッシュ優先度の通知処理について説明する。図9は、write処理におけるキャッシュ優先度の通知を説明するためのフローチャートである。まず、ファイルシステム制御部150は、データの書き換え対象の領域書換領域を決めるステップS302。次に、ファイルシステム制御部150は、書換領域に対応した論理ブロックのキャッシュ優先度に変更があるか否かを判定するステップS304。キャッシュ優先度に変更がある場合にはステップS304:Yes、ファイルシステム制御部150は、デバイスドライバ160にキャッシュ優先度の通知を行うステップS306。ここで、キャッシュ優先度の通知に伴うファイルシステム制御部150の処理を説明する。図2を参照して前述したように、ファイルシステム制御部150は、論理ブロックの用途に基づいて、論理ブロックのキャッシュ優先度を割り当てる。その後、ファイルシステム制御部150は、論理ブロックに割り当てたキャッシュ優先度を、デバイスドライバ160に通知する。なお、初回起動時の処理においては、図3を参照して前述したように、全ての論理ブロックの優先度を通知するものとしたが、write処理においては、新規に割り当てられた論理ブロックのキャッシュ優先度のみを通知しても良い。これにより、通知の際のデータ量を少なくでき、キャッシュ優先度の通知の伴う処理時間を短縮できる。図9のフローチャートに戻って、本処理の説明を続ける。デバイスドライバ160は、ファイルシステム制御部150から通知を受けたキャッシュ優先度に基づいて、保持している論理ブロックのキャッシュ優先度を更新するステップS308。ファイルシステム制御部150は、デバイスドライバ160にデバイスの書き換えを依頼するステップS310。デバイス書き換えの依頼を受けたデバイスドライバ160は、対象ブロックのキャッシュ優先度に基づいて、書き換え処理を行うステップS312。なお、書き換え処理の詳細については、後述する。ファイルシステム制御部150は、書き換え処理の結果をデバイスドライバ160から受け取って、処理結果を確認する。そして、書き換え処理が終了するまで、上述したステップS302~312の処理を繰り返す。全ての書き換え処理が完了すると、本処理は終了し、図8のフローチャートに戻ることになる。3-2-1.書き換え処理図10を参照して、図9のステップS312の書き換え処理について説明する。図10は、書き換え処理を説明するためのフローチャートである。書き換え処理において、デバイスドライバ160は、まず、write命令の該当アドレスから、論理ブロックアドレスと論理ブロック内のオフセットアドレスを算出するステップS402。デバイスドライバ160は、図4の管理情報と、図5のアドレス変換情報とに基づいて、論理ブロックアドレスと論理ブロック内のオフセットアドレスを算出する。次に、デバイスドライバ160は、管理情報から、論理ブロックにキャッシュブロックが割当て済みか否かを判定するステップS404。ステップS404で論理ブロックにキャッシュブロックが割当て済みである場合にはYes、デバイスドライバ160は、キャッシュブロックへのデータの追記が可能か否かを判定するステップS406。ステップS406でキャッシュブロックへのデータの追記が可能である場合にはYes、デバイスドライバ160は、キャッシュブロックにデータを書き込むステップS408。そして、デバイスドライバ160は、管理情報を更新するステップS410。ステップS406でキャッシュブロックへのデータの追記が不可能である場合にはNo、デバイスドライバ160は、論理ブロックに割り当てられているキャッシュブロックの使用数を確認するステップS412。そして、デバイスドライバ160は、論理ブロックに割り当てられているキャッシュブロックの使用数が上限数例えば、図2に示す3つに達しているか否かを判定するステップS414。ステップS414でキャッシュブロックの使用数が上限数に達している場合にはYes、デバイスドライバ160は、空きキャッシュブロックを作成すべく、ライトバック処理Aを実行するステップS416。ライトバック処理Aについてここで、図11を参照して、ステップS416のライトバック処理Aについて説明する。図11は、ライトバック処理Aを説明するためのフローチャートである。図11のフローチャートで、デバイスドライバ160は、まず、有効データをキャッシュブロックから主記憶領域部130へ移動させるステップS502。そして、デバイスドライバ160は、有効データが移動したキャッシュブロックを、空きキャッシュブロックとするステップS504。有効データを移動させるキャッシュブロックは、1つ、又は複数であっても良い。次に、デバイスドライバ160は、有効データが移動したキャッシュブロックについて、図2に示す管理情報を更新するステップS506。これにより、ライトバック処理Aが完了し、図10のフローチャートに戻る。上述したライトバック処理Aの場合には、1つの論理ブロックに割り当てるキャッシュブロックの数を制限することにあるので、キャッシュブロック部140の容量が小さくても、更新頻度の高い複数の論理ブロックの各々にキャッシュブロックを割り当てることができる。図10のフローチャートに戻って、書き換え処理の説明を続ける。ステップS416のライトバック処理Aが完了すると、デバイスドライバ160は、空きのキャッシュブロック有効データが移動したキャッシュブロックを取得するステップS420。その後、デバイスドライバ160は、空きのキャッシュブロックに新たにデータを書き込みステップS408、管理情報を更新するステップS410。ステップS404で論理ブロックにキャッシュブロックが割当て済みでない場合にはNo、デバイスドライバ160は、キャッシュブロックを使用している論理ブロックの数を確認するステップS422。そして、デバイスドライバ160は、キャッシュブロックを使用している論理ブロックの数が上限数例えば、図2に示す5つに達しているか否かを判定するステップS424。ステップS424でキャッシュブロックを使用している論理ブロックの数が上限数に達している場合にはYes、デバイスドライバ160は、空きキャッシュブロックを作成すべく、ライトバック処理Bを実行するステップS426。ライトバック処理Bについてここで、図12を参照して、ライトバック処理Bについて説明する。図12は、ライトバック処理Bを説明するためのフローチャートである。デバイスドライバ160は、まず、管理情報から、キャッシュ優先度が低の論理ブロックに割り当てられたキャッシュブロックを全て検索するステップS552。そして、デバイスドライバ160は、キャッシュ優先度が低の論理ブロックに割り当てられたキャッシュブロックが存在するか否かを判定するステップS554。ステップS554でキャッシュ優先度が低の論理ブロックに割り当てられたキャッシュブロックが存在する場合にはYes、デバイスドライバ160は、キャッシュ優先度が低の論理ブロックの中で最近使用されていない論理ブロックを検索するステップS556。すなわち、デバイスドライバ160は、図4の管理情報の中で使用状況を示す値が大きい論理ブロックを検索する。次に、デバイスドライバ160は、ステップS556で検索された論理ブロックに割り当てられたキャッシュブロックの有効データを、主記憶領域部130に移動させるステップS558。これにより、デバイスドライバ160は、キャッシュ優先度が低の同じ論理ブロックの中で最近使用されていない論理ブロックに割り当てられたキャッシュブロックを、空きキャッシュブロックにするステップS560。なお、論理ブロックに複数のキャッシュブロックが割り当てられている場合には、デバイスドライバ160は、割り当てられたキャッシュブロックを、空きキャッシュブロックにする。そして、デバイスドライバ160は、管理情報を更新するステップS562。ステップS554でキャッシュ優先度が低の論理ブロックに割り当てられたキャッシュブロックが存在しない場合にはNo、デバイスドライバ160は、キャッシュ優先度が中の論理ブロックに割り当てられたキャッシュブロックを全て検索するステップS564。そして、デバイスドライバ160は、キャッシュ優先度が中の論理ブロックに割り当てられたキャッシュブロックが存在するか否かを判定するステップS566。ステップS566でキャッシュ優先度が中の論理ブロックに割り当てられたキャッシュブロックが存在する場合にはYes、デバイスドライバ160は、キャッシュ優先度が中の論理ブロックの中で最近使用されていない論理ブロックを検索するステップS556。そして、デバイスドライバ160は、前述したステップS558~S562の処理を行う。ステップS566でキャッシュ優先度が中の論理ブロックに割り当てられたキャッシュブロックが存在しない場合にはNo、デバイスドライバ160は、キャッシュ優先度が高の論理ブロックに割り当てられたキャッシュブロックを全て検索するステップS568。次に、デバイスドライバ160は、キャッシュ優先度が高の論理ブロックの中で最近使用されていない論理ブロックを検索するステップS556。そして、デバイスドライバ160は、前述したステップS558~S562の処理を行う。ステップS562の管理情報の更新が行われると、ライトバック処理Bが完了し、図10のフローチャートに戻る。ライトバック処理Bにおいては、デバイスドライバ160が、ファイルシステム制御部150から通知されたキャッシュ優先度に基づいて、キャッシュ優先度が低い論理ブロックに割り当てられたキャッシュブロックのデータを主記憶領域部130に移動させる。このため、ライトバック処理の際に、キャッシュ優先度が高い論理ブロックに割り当てられたキャッシュブロックに記憶されたデータ更新頻度が高いデータが、主記憶領域部130に移動することを抑制できる。また、ライトバック処理Bにおいては、キャッシュ優先度が同じ論理ブロックが複数ある場合には、デバイスドライバ160は、使用時期が最も古い論理ブロックに割り当てられたキャッシュブロックのデータを主記憶領域部130に移動させる。使用時期が最も古い論理ブロックは、その後に更新される可能性が低いので、他の論理ブロックその後に更新される可能性が高い論理ブロックに割り当てられたキャッシュブロックのデータが、主記憶領域部130に移動することを抑制できる。図10のフローチャートに戻って、書き換え処理の説明を続ける。ステップS426のライトバック処理Bが完了すると、デバイスドライバ160は、空きのキャッシュブロックを取得するステップS420。その後、デバイスドライバ160は、空きのキャッシュブロックにデータを書き込みステップS408、管理情報を更新するステップS410。なお、ステップS418で空きキャッシュブロックがある場合にはYes、デバイスドライバ160は、ライトバック処理を行わずに、空いているキャッシュブロックを取得するステップS420。一方で、ステップS418で空きキャッシュブロックが無い場合にはNo、デバイスドライバ160は、前述したライトバック処理Bを行ってステップS426、空いているキャッシュブロックを取得するステップS420。また、ステップS424でキャッシュブロックを使用している論理ブロックの数が上限数に達していない場合にはNo、デバイスドライバ160は、ライトバック処理を行わずに、空いているキャッシュブロックを取得するステップS420。その後、デバイスドライバ160は、空きのキャッシュブロックにデータを書き込みステップS408、管理情報を更新するステップS410。このように、write処理においては、ファイルシステム制御部150からデバイスドライバ160にキャッシュ優先度が通知され、デバイスドライバ160は、保持している各論理ブロックのキャッシュ優先度を更新するopen処理も同様。かかる場合には、ファイルシステム制御部150が優先度情報をデバイスドライバ160に通知することによって、デバイスドライバ160は、ライトバック処理の際に優先度の低いキャッシュブロックに記憶されたデータを優先して移動させることができる。この結果、ライトバック処理の際に、更新頻度の高いデータを主記憶領域130に移動させることを防止できる。3-3.close処理におけるタイミング情報の通知図13を参照して、図8のステップS218のclose処理におけるタイミング情報の通知について説明する。図13は、close処理におけるタイミング情報の通知を説明するためのフローチャートである。まず、ファイルシステム制御部150は、ファイルのclose処理を行うステップS602。ここで、close処理は、ファイル作成における最終処理であり、open処理やwrite処理とは異なり、続けて他の処理が実行される可能性が低い。このため、close処理後のアイドル時間にライトバック処理を実行させることで、他の処理の処理速度が低下することを防止できる。ファイルシステム制御部150は、close処理後のアイドル時間にライトバック処理が可能であることを示すタイミング情報を、デバイスドライバ160に通知するステップS604。ファイルシステム制御部150は、タイミング情報の通知に伴い、デバイスドライバ160にflush処理を要求する。flush処理は、強制的にライトバック処理を行う処理である。flush処理の要求を受けたデバイスドライバ160は、図14のflush処理を実行するステップS606。なお、flush処理の詳細については、後述する。flush処理が完了すると、ファイルシステム制御部150は、close処理結果をアプリケーション部110に送るステップS608。これにより、本処理が終了し、図8のフローチャートに戻ることになる。3-3-1.flush処理図14を参照して、図13のステップS606のflush処理について説明する。図14は、flush処理を説明するためのフローチャートである。デバイスドライバ160は、まず、空きキャッシュブロックの数が規定数以上であるか否か例えば、空きのキャッシュブロックがあるか否かを判定するステップS702。ステップS702で空きのキャッシュブロックがあると判定された場合にはYes、デバイスドライバ160は、キャッシュブロックを使用している論理ブロックの数を確認するステップS704。そして、デバイスドライバ160は、キャッシュブロックを使用している論理ブロックの数が上限数図4の5つに達しているか否かを判定するステップS706。ステップS706で論理ブロックの数が上限数に達している場合にはYes、デバイスドライバ160は、前述した図12のライトバック処理Bを実行するステップS708。一方で、ステップS706で論理ブロックの数が上限数に達していない場合にはNo、デバイスドライバ160は、論理ブロックに割り当てられているキャッシュブロック使用数を確認するステップS710。次に、デバイスドライバ160は、論理ブロックに割り当てられているキャッシュブロックの使用数が上限数図4の3つに達しているか否かを判定するステップS712。ステップS712でキャッシュブロックの使用数が上限数に達している場合にはYes、デバイスドライバ160は、前述した図11のライトバック処理Aを実行するステップS714。一方で、ステップS712でキャッシュブロックの使用数が上限数に達していない場合にはNo、デバイスドライバ160は、ライトバック処理A、ライトバック処理を実行せずに、本処理を終了する。ステップS702で空きのキャッシュブロックが無いと判定された場合にはNo、デバイスドライバ160は、前述した図12のライトバック処理Bを実行するステップS716。これにより、本処理が完了し、図13のフローチャートに戻る。このように、close処理において、ファイルシステム制御部150がタイミング情報をデバイスドライバ160に通知することによって、デバイスドライバ160は、他の処理例えば、write処理の実行中にライトバック処理が行われることを防止できる。この結果、ライトバック処理に起因してwrite処理等の他の処理の処理速度が低下することを防止できる。4.mkdir処理におけるタイミング情報の通知上記では、ライトバック処理のタイミング情報の通知が、close処理の際に行われることとしたが、ディレクトリを作成するための処理であるmkdir処理の際に行われうる。図15を参照して、mkdir処理におけるライトバック処理のタイミング情報の通知について説明する。図15は、mkdir処理におけるタイミング情報の通知を説明するためのフローチャートである。まず、ファイルシステム制御部150は、ファイルのmkdir処理を行うステップS802。ここで、mkdir処理は、close処理と同様に、続けて他の処理が実行される可能性が低い。このため、mkdir処理後のアイドル時間にライトバック処理を実行させることで、他の処理の処理速度が低下することを防止できる。ファイルシステム制御部150は、mkdir処理後のアイドル時間にライトバック処理が可能であることを示すタイミング情報を、デバイスドライバ160に通知するステップS804。ファイルシステム制御部150は、タイミング情報の通知に伴い、デバイスドライバ160にflush処理を要求する。flush処理の要求を受けたデバイスドライバ160は、前述した図14のflush処理を実行するステップS806。flush処理が完了すると、ファイルシステム制御部150は、mkdir処理結果をアプリケーション部110に送るステップS808。これにより、本処理が終了する。このように、mkdir処理において、ファイルシステム制御部150がタイミング情報をデバイスドライバ160に通知することによって、デバイスドライバ160は、他の処理例えば、write処理の実行中にライトバック処理が行われることを防止できる。この結果、ライトバック処理に起因してwrite処理等の他の処理の処理速度が低下することを防止できる。なお、ライトバック処理のタイミング情報の通知は、close処理やmkdir処理以外の処理の際に実行されても良い。例えば、rmdir処理、unlink処理、rename処理も、その後に他の処理が続けて行われる可能性が低い処理であるので、タイミング情報の通知を行っても良い。ここで、rmdir処理は、ディレクトリを削除する処理である。unlink処理は、ファイルを削除する処理である。rename処理は、ファイル名を変更する処理、又はファイル名を移動する処理である。また、アプリケーション部110の判断で、しばらくオペレーティングシステム120に要求を出さないことが分かっている場合に、アプリケーション部110が、デバイスドライバ160にタイミング情報を通知しても良い。<5.まとめ>上述した本実施形態では、ファイルシステム制御部150は、ライトバック処理データ移動処理を実行可能なタイミング情報を、デバイスドライバ160に通知する。これにより、デバイスドライバ160は、他の処理例えば、write処理の実行中にライトバック処理が行われることを防止できる。この結果、ライトバック処理に起因してwrite処理等の他の処理の処理速度が低下することを防止できる。以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。上記実施形態では、メモリ管理装置10は、主記憶領域部130とキャッシュブロック部140を備えることとしたが、これに限定されず、主記憶領域部130とキャッシュブロック140は、メモリ管理装置10以外の装置に組み込まれても良い。かかる場合には、メモリ管理装置10は、メモリ制御装置として機能することになる。また、上記実施形態では、主記憶領域部130及びキャッシュブロック部140が不揮発性メモリであることとしたが、これに限定されない。例えば、主記憶領域部130とキャッシュブロック部140のいずれか一方が、不揮発性メモリであっても良い。尚、本明細書において、フローチャートに記述されたステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的に又は個別的に実行される処理をも含む。また時系列的に処理されるステップでも、場合によっては適宜順序を変更することが可能であることは言うまでもない。