(57)【特許請求の範囲】
【請求項１】
データを記憶する記憶装置と、前記データを処理対象とする上位装置とに接続され、前記上位装置からの要求に応じて前記記憶装置に記憶された前記データの読み出し処理を制御する制御装置であって、
前記記憶装置から読み出されたデータを記憶するキャッシュメモリと、
前記上位装置からの時間帯毎の前記記憶装置に記憶された前記データに対するアクセス状況を監視するアクセス監視部と、
前記アクセス監視部によって監視された前記アクセス状況に基づいて、時間帯毎の前記キャッシュメモリに記憶するデータを決定するスケジュール情報を作成するスケジュール情報作成部と、
前記スケジュール情報を、当該スケジュール情報に係る時間帯の直前の所定時間内のアクセス状況に応じて補正する補正部と、
前記補正部によって補正されたスケジュール情報に基づいて、前記記憶装置から前記キャッシュメモリへの前記データの記録処理と、前記キャッシュメモリからの前記データの削除処理とを制御するメモリ制御部とを備えたことを特徴とする、制御装置。
【請求項２】
前記スケジュール情報作成部が、前記記憶装置に記憶された複数のデータ毎の前記スケジュール情報として、前記アクセス状況に基づいて、時間帯毎に、前記キャッシュメモリに記録させるべき優先度を示す優先度情報を作成し、
前記補正部は、前記スケジュール情報に係る時間帯の直前の所定時間内のアクセス状況に応じて前記優先度情報を補正し、
前記メモリ制御部が、前記補正部によって補正された優先度情報に基づいて、前記記録処理及び前記削除処理を制御することを特徴とする、請求項１記載の制御装置。
【請求項３】
前記補正部は、前記スケジュール情報に係る時間帯の直前のアクセス状況に応じた補正を行なう際に、前記スケジュール情報に係る時間帯の直前の所定時間内における前記データに対するアクセス増減傾向に基づき、アクセス増加傾向であれば当該データの前記優先度情報を高くなるように補正する一方、アクセス減少傾向であれば当該データの前記優先度情報を低くなるように補正することを特徴とする、請求項２記載の制御装置。
【請求項４】
データを記憶する、少なくとも一つの記憶装置と、
前記データを処理対象とする上位装置からの要求に応じて、前記記憶装置に記憶された前記データの読み出し処理を制御する制御装置とを有するストレージシステムであって、
前記制御装置は、
前記記憶装置から読み出された前記データを記憶するキャッシュメモリと、
前記上位装置からの時間帯毎の前記記憶装置に記憶された前記データに対するアクセス状況を監視するアクセス監視部と、
前記アクセス監視部によって監視された前記アクセス状況に基づいて、時間帯毎の前記キャッシュメモリに記憶するデータを決定するスケジュール情報を作成するスケジュール情報作成部と、
前記スケジュール情報を、当該スケジュール情報に係る時間帯の直前の所定時間内のアクセス状況に応じて補正する補正部と、
前記補正部によって補正されたスケジュール情報に基づいて、前記記憶装置から前記キャッシュメモリへの前記データの記録処理と、前記キャッシュメモリからの前記データの削除処理とを制御するメモリ制御部とを備えたことを特徴とする、ストレージシステム。
【請求項５】
データを記憶する記憶装置と前記データを処理対象とする上位装置とに接続され、前記上位装置からの要求に応じて前記記憶装置に記憶された前記データの読み出し処理を制御する制御装置における、前記記憶装置から読み出された前記データを記憶するキャッシュメモリのメモリ制御方法であって、
前記上位装置からの時間帯毎の前記記憶装置に記憶された前記データに対するアクセス状況を監視するアクセス監視ステップ、
前記アクセス監視ステップにおいて監視された前記アクセス状況に基づいて、時間帯毎の前記キャッシュメモリに記憶するデータを決定するスケジュール情報を作成するスケジュール情報作成ステップ、
前記スケジュール情報を、当該スケジュール情報に係る時間帯の直前の所定時間内のアクセス状況に応じて補正する補正ステップ、及び、
前記補正ステップにおいて補正されたスケジュール情報に基づいて、前記記憶装置から前記キャッシュメモリへの前記データの記録処理と、前記キャッシュメモリからの前記データの削除処理とを制御するキャッシュメモリ制御ステップを含んでいることを特徴とする、メモリ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部記憶装置を用いたデータストレージ装置（ディスクアレイ装置）に関し、特に、上位装置からの処理要求に応じて記憶装置に対する処理を行なう制御装置内のキャッシュメモリを制御する技術に関する。
【背景技術】
【０００２】
近年、様々なデータが電子化されコンピュータ上で扱われるようになるに従い、データに対して処理を実行するホストコンピュータとは独立して大量のデータを効率よく、高い信頼性で格納することのできるデータ入出力装置（データストレージ装置）の重要性が増してきている。
データストレージ装置として、大量のディスク（例えば、磁気テープや光ディスク）と、これら大量のディスクに対する制御を行なうディスクコントローラとから構成されるディスクアレイ装置が利用されており、このディスクアレイ装置は、上位装置（ホストコンピュータ）からのディスクアクセス要求を受け付けて、大量のディスクに対する制御を行なうことができるようになっている。
【０００３】
ここで、図２６に従来のディスクアレイ装置１００を備えたストレージシステム１１０の構成を示す。従来のストレージシステム１１０は、ディスクアレイ装置１００と、このディスクアレイ装置１００にアクセス要求を発行する上位装置としてのホスト（HOST）１１１とから構成される。
ディスクアレイ装置１００は、データを記憶する複数のディスク（図示せず；不揮発メディア）が搭載されるデータストレージ装置（ＤＥ：Device Enclosure）１０１と、装置制御や上位装置（ホスト１１１）との通信モジュールが主として搭載される制御装置（ＣＥ：Controller Enclosure）１０２とから構成される。
【０００４】
なお、ディスクアレイ装置１００の構成規模によりデータストレージ装置１０１に搭載されるディスク本数は増加する。
ここで、ＣＥ１０２は、複数（ここでは２つ）のコントローラモジュール（ＣＭ：Controller Module）１０３ａ，ｂを備えている。なお、以下の説明においてＣＭ１０３ａ，ｂを区別しない場合にはＣＭ１０３という。
【０００５】
ホスト１１１とＣＭ１０３とは、ホスト１１１のインタフェース（図中“ＣＨ”（Channel Interface）と表記）１１２ａ〜ｄとＣＭ１０３のＣＡ（Channel Adapter）１０４ａ〜ｄとがそれぞれ接続されることによって接続されている。
また、ＣＭ１０３は、ＤＡ（Disk Adapter）１０５ａ〜ｄを介してＤＥ１０１と接続されている。
【０００６】
ＣＭ１０３ａ，ｂは、それぞれ、揮発メディアであるキャッシュメモリ（図中“Memory”と表記）１０６ａ，ｂ、及び、２つのＣＰＵ（Central Processing Unit）１０７ａ，ｂ，１０８ａ，ｂを備えている。なお、以下の説明において、キャッシュメモリ１０６ａ，ｂを区別しない場合にはキャッシュメモリ１０６といい、ＣＰＵ１０７ａ，ｂ，１０８ａ，ｂを区別しない場合にはＣＰＵ１０７，１０８という。
【０００７】
ＣＭ１０３は、ホスト１１１からデータアクセス（リード／ライト要求）が発生すると、それに応じてＤＥ１０１を制御する。
ホスト１１１からデータのライト要求があれば、ＣＭ１０３のＣＰＵ１０７，１０８は、ＤＥ１０１のディスクへのデータ書き込み処理を制御する。
また、ホスト１１１からデータのリード要求が発行されると、ＣＭ１０３のＣＰＵ１０７，１０８は、キャッシュメモリ１０６に当該データがあればそのデータをホスト１１１に送る一方、キャッシュメモリ１０６に当該データがなければＤＥ１０１から当該データを読み出してホスト１１１に送る。
【０００８】
なお、ＣＰＵ１０７，１０８は、ＤＥ１０１から読み出したデータはキャッシュメモリ１０６に登録する。つまり、ＣＰＵ１０７，１０８は、キャッシュメモリ１０６の制御を行なう制御部としても機能する。
ここで、ホスト１１１からのアクセス（リード要求）で、ＣＭ１０３内のキャッシュメモリ１０６にデータがあれば、ディスクアレイ装置１００はホスト１１１に対して高速にレスポンスを行なうことができる。
【０００９】
しかしながら、ＣＭ１０３内のキャッシュメモリ１０６に当該データがなければ、ＤＥ１０１から当該データを読み出さないといけないため、ホスト１１１に対するレスポンスが遅くなってしまう。
ところで、近年、ディスクアレイ装置１００のＤＥ１０１のディスク（例えばハードディスク）記憶容量は増大し、最大記憶容量はペタバイトオーダーまで増大している。キャッシュメモリ１０６も記憶容量は増大しているが、ギガバイトオーダーであり、ＤＥ１０１のディスクの記憶容量には到底及ばない。
【００１０】
そこで、ディスクアレイ装置１００では、レスポンス性能を向上させる目的で、キャッシュメモリ１０６に登録（展開）するデータの制御手法として、従来から、以下の（１）〜（３）の手法がとられていた。
（１）ＬＲＵ（Least Recently Used）の論理によりデータをキャッシュメモリ１０６上に展開／削除（解放）する。
【００１１】
（２）アクセス頻度の高いデータをキャッシュメモリ１０６に常駐、もしくは、優先的に留める。
（３）過去のアクセス要求に応じて、キャッシュメモリ１０６にデータを先読み（先取り）する（例えば、下記特許文献１〜３参照）。
【特許文献１】特開２００１−３１８９０２号公報
【特許文献２】特開２００１−１２５８２９号公報
【特許文献３】特開２００５−２５８７３５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
上記手法（１）は、キャッシュメモリ１０６の基本的な制御手法であるが、この手法（１）では、キャッシュメモリ１０６において最終アクセスから最も時間が経過しているものであっても、その後アクセスされる可能性があるものまで削除されることになってしまう。
つまり、アクセス間隔（周期）は長くても定期的に必ずアクセスがあるデータは、レスポンス性能向上のためにキャッシュメモリ１０６に記録しておくことが好ましいが、上記手法（１）では、このようなデータを自動的に削除してしまうおそれがある。
【００１３】
また、上記手法（２）は、キャッシュメモリ１０６の記憶容量の限界や、ホスト１１１からのアクセス頻度やアクセス間隔により、データ毎のレスポンス性能に差が生じることになる。つまり、限りある容量の中で、一部のデータだけがキャッシュメモリ１０６を専有してしまうことになり、キャッシュメモリ１０６に登録されたデータはレスポンス性能が良い反面、キャッシュメモリ１０６に登録できなかったデータはレスポンス性能が常に悪くなってしまう。
【００１４】
さらに、上記手法（３）は、過去のアクセス履歴に基づいてデータアクセスを予測し、この予測に基づいてキャッシュメモリ１０６上にデータを先読みするものであるが、この手法でも、予測時点から実際に先読みを実行するまでの間にデータアクセス動向が変化した場合（例えば、アクセス周期が変更したり、所定のデータに対するアクセス頻度が過去の履歴に対して増加または低減したりする場合）には、対応することができず、このような場合には逆にレスポンス性能が低下してしまうおそれがある。
【００１５】
また、上記手法（２），（３）は、新たに登録するデータを如何に選択するかに着目しているが、ホスト１１１に対するレスポンス性能を向上するためには、ＤＥ１０１が記録する全データの中で優先的に展開すべきデータだけをキャッシュメモリ１０６に展開することが好ましく、そのためには、キャッシュメモリ１０６上の不要な、ＤＥ１０１のみに記録されたデータに対して優先度が低いデータは、積極的に削除してキャッシュメモリ１０６上に空き容量を作ることが好ましい。しかしながら上記手法（１）〜（３）ではこれを実現できず、キャッシュメモリ１０６をより有効に使用してレスポンス性能をより向上させる余地があると考えられる。
【００１６】
本発明は、このような課題に鑑み創案されたもので、キャッシュメモリをより有効に使用してレスポンス性能をより向上できるようにすることを目的とする。
【課題を解決するための手段】
【００１７】
上記目的を達成するために、この制御装置は、データを記憶する記憶装置と、前記データを処理対象とする上位装置とに接続され、前記上位装置からの要求に応じて前記記憶装置に記憶された前記データの読み出し処理を制御するものであって、前記記憶装置から読み出されたデータを記憶するキャッシュメモリと、前記上位装置からの時間帯毎の前記記憶装置に記憶された前記データに対するアクセス状況を監視するアクセス監視部と、このアクセス監視部によって監視された前記アクセス状況に基づいて、時間帯毎の前記キャッシュメモリに記憶するデータを決定するスケジュール情報を作成するスケジュール情報作成部と、前記スケジュール情報を、当該スケジュール情報に係る時間帯の直前の所定時間内のアクセス状況に応じて補正する補正部と、前記補正部によって補正されたスケジュール情報に基づいて、前記記憶装置から前記キャッシュメモリへの前記データの記録処理と、前記キャッシュメモリからの前記データの削除処理とを制御するメモリ制御部とを備えることを要件とする。
【００１８】
なお、前記スケジュール情報作成部が、前記記憶装置に記憶された複数のデータ毎の前記スケジュール情報として、前記アクセス状況に基づいて、時間帯毎に、前記キャッシュメモリに記録させるべき優先度を示す優先度情報を作成し、前記補正部は、前記スケジュール情報に係る時間帯の直前の所定時間内のアクセス状況に応じて前記優先度情報を補正し、前記メモリ制御部が、前記補正部によって補正された優先度情報に基づいて、前記記録処理及び前記削除処理を制御することが好ましい。
また、前記補正部は、前記スケジュール情報に係る時間帯の直前のアクセス状況に応じた補正を行なう際に、前記スケジュール情報に係る時間帯の直前の所定時間内における前記データに対するアクセス増減傾向に基づき、アクセス増加傾向であれば当該データの前記優先度情報を高くなるように補正する一方、アクセス減少傾向であれば当該データの前記優先度情報を低くなるように補正することが好ましい。
【００１９】
さらに、上記目的を達成するために、このストレージシステムは、データを記憶する、少なくとも一つの記憶装置と、上述した制御装置とを備えることを要件とする。
また、上記目的を達成するために、このメモリ制御方法は、データを記憶する記憶装置と前記データを処理対象とする上位装置とに接続され、前記上位装置からの要求に応じて前記記憶装置に記憶された前記データの読み出し処理を制御する制御装置における、前記記憶装置から読み出された前記データを記憶するキャッシュメモリのメモリ制御方法であって、前記上位装置からの時間帯毎の前記記憶装置に記憶された前記データに対するアクセス状況を監視するアクセス監視ステップ、このアクセス監視ステップにおいて監視された前記アクセス状況に基づいて、時間帯毎の前記キャッシュメモリに記憶するデータを決定するスケジュール情報を作成するスケジュール情報作成ステップ、前記スケジュール情報を、当該スケジュール情報に係る時間帯の直前の所定時間内のアクセス状況に応じて補正する補正ステップ、及び、前記補正ステップにおいて補正されたスケジュール情報に基づいて、前記記憶装置から前記キャッシュメモリへの前記データの記録処理と、前記キャッシュメモリからの前記データの削除処理とを制御するキャッシュメモリ制御ステップを含んでいることを要件とする。
【発明の効果】
【００２０】
このように、上述した制御装置，ストレージシステム，及びメモリ制御方法によれば、上位装置からの記憶装置に記憶されたデータに対するアクセス状況を監視するアクセス監視部（アクセス監視ステップ）と、そのアクセス状況に基づいて、キャッシュメモリの記憶内容を決定するスケジュール情報を作成するスケジュール情報作成部（スケジュール情報作成ステップ）と、そのスケジュール情報に基づいて、記憶装置からキャッシュメモリへのデータの記録処理と、キャッシュメモリからのデータの削除処理とを制御するメモリ制御部（メモリ制御ステップ）とを備えているので、アクセス状況に即した、上位装置からアクセスが予想されるデータを、キャッシュメモリ上に確実に記録させることができる。さらに、アクセス状況に即した、上位装置からアクセスがないことが予想されるデータを、キャッシュメモリ上から積極的に削除することができる。したがって、削除した分のキャッシュメモリ上の領域をアクセス頻度が高い他のデータに割り当てたり、あるいは、スケジュール情報外のデータを記録することに割り当てたりでき、キャッシュメモリをより有効に使用して、上位装置に対するレスポンス性能をより向上できる。
【００２１】
また、スケジュール情報作成部が、記憶装置に記憶された複数のデータ毎のスケジュール情報として、所定の時間帯毎に、キャッシュメモリに記録させるべき優先度を示す優先度情報を作成し、メモリ制御部が、その優先度情報に基づいて、記録処理及び削除処理を制御するので、キャッシュメモリを、アクセス頻度に基づいて、確実に有効利用でき、上位装置に対するレスポンス性能を確実に向上できる。つまり、限りあるキャッシュメモリの容量の中で、アクセス確率の高いデータを確実に読み出せるように構成することができる。
【００２２】
さらに、スケジュール情報に基づいて記録処理及び削除処理を制御する際に、直前のアクセス状況に応じてスケジュール情報を補正する補正部を備えているので、アクセス状況に応じてスケジュール情報を生成しても、その後、当該スケジュール情報に基づいて実際に処理を開始するまでの間にアクセス状況が変化した場合であっても、そのアクセス状況の変化に対応したスケジュール情報に基づいて、キャッシュメモリの記憶内容を制御することができ、キャッシュメモリをより有効に利用でき、上位装置に対するレスポンス性能をより確実に向上できる。
【発明を実施するための最良の形態】
【００２３】
以下、図面を参照しながら本発明の実施の形態について説明する。
〔１〕本発明の一実施形態について
〔ａ〕本発明の一実施形態としてのストレージシステム１の構成について
まず、図１に示すブロック図を参照しながら、本発明の一実施形態としてのストレージシステム（以下、本ストレージシステムという）１の構成について説明する。
【００２４】
図１に示すように、本ストレージシステム１は、ＤＥ（Device Enclosure；記憶装置）１０ａ〜ｄ，ホスト（図中“HOST”と表記；上位装置）２０，ＦＣ（Fiber Channel）スイッチ２１，及びＣＥ（Controller Enclosure；制御装置）３０を備えて構成されている。
ＤＥ１０ａ〜ｄ（以下、これらＤＥ１０ａ〜ｄを区別しない場合にはＤＥ１０という）とＣＥ３０とはディスクアレイ装置２として機能する。
【００２５】
なお、図１においてディスク１１の符号は、図の簡略化のため、図中右上のものにのみ付しているが、ＤＥ１０ａ〜ｄにおける円柱形状のブロックはすべて同様のディスク１１を示している。
ＤＥ１０のそれぞれは、複数（ここでは１０個）のディスク１１を備えており、ホスト２０が処理対象とする複数のデータ（ボリューム）を記録している。
【００２６】
ホスト２０は、ＤＥ１０に記録されたデータを処理対象とするものであり、ＦＣスイッチ２１を介して、ＣＥ３０に対してデータのアクセス要求（リード／ライト要求）を送信する。
ＣＥ３０は、ＤＥ１０とホスト２０とに接続され、ホスト２０からの処理要求（リード／ライト要求）に応じてＤＥ１０に記憶されたデータの読み出し処理及びＤＥ１０に対するデータの書き込み処理を制御するものであり、ここでは４つのＣＭ（Controller Module）３１ａ〜ｄを備えて構成されている。
【００２７】
各ＣＭ３１ａ〜ｄ（以下、これらＣＭ３１ａ〜ｄを区別しない場合には、ＣＭ３１という）は、ＣＡ（Channel Adapter）３２ａ〜ｄ，３３ａ〜ｄ（以下、これらＣＡ３２ａ〜ｄ，３３ａ〜ｄを区別しない場合には、ＣＡ３２，３３という）、ＤＡ（Disk Adapter）３４ａ〜ｄ，３５ａ〜ｄ（以下、これらＤＡ３４ａ〜ｄ，３５ａ〜ｄを区別しない場合には、ＤＡ３４，３５という）、キャッシュメモリ（図中“Memory”と表記）３６ａ〜ｄ（以下、これらキャッシュメモリ３６ａ〜ｄを区別しない場合には、キャッシュメモリ３６という），及びＣＰＵ（Central Processing Unit；図中“CPU0”，“CPU1”と表記）３７ａ〜ｄ，３８ａ〜ｄ（以下、これらＣＰＵ３７ａ〜ｄ，３８ａ〜ｄを区別しない場合にはＣＰＵ３７，３８という）を備えて構成されている。
【００２８】
ここで各装置１０，２０，及び３０の接続状態について説明すると、ホスト２０とＣＥ３０とはＦＣスイッチ２１を介して接続されている。
ホスト２０は、ＣＨ２２ａ〜ｄによりＦＣスイッチ２１に接続され、ＣＥ３０は各ＣＭ３１のＣＡ３２，３３によりＦＣスイッチ２１に接続されている。
また、ＣＥ３０は各ＣＭ３１のＤＡ３４，３５により各ＤＥ１０と接続されている。
【００２９】
例えば、各ＣＭ３１はＤＡ３４，３５を介して自身が担当するディスク１１に接続されており、すべてのＣＭ３１ａ〜ｄによって、ＤＥ１０ａ〜ｄの全ディスク１１に対するアクセスが実現するように構成されている。
また、ＣＭ３１ａ〜ｄは、それぞれ、互いに通信可能に構成されている。
ＣＭ３１は、ホスト２０からデータアクセスとしてライト要求を受けると、ＣＰＵ３７，３８が、ＤＥ１０のディスク１１へのデータ書き込み処理を制御する。
【００３０】
また、ホスト２０からデータのリード要求があれば、ＣＰＵ３７，３８は、キャッシュメモリ３６に当該データがあればそのデータをホスト２０に送る一方、キャッシュメモリ３６に当該データがなければＤＥ１０のディスク１１から当該データを読み出してホスト２０に送信する。
ＣＭ３１のキャッシュメモリ３６は、ＤＥ１０から読み出されたデータを保持するものであり、ＣＰＵ３７，３８は、ＤＥ１０から読み出したデータはキャッシュメモリ３６に記録（展開）する。
【００３１】
つまり、ＣＰＵ３７，３８は、キャッシュメモリ３６の制御を行なう制御部として機能する。
また、キャッシュメモリ３６に保持されたデータは、他のキャッシュメモリ３６によって二重化され、故障等に備えて冗長化されている。
具体的には、キャッシュメモリ３６ａにおける、当該ＣＭ３１ａが担当する（接続された）ディスク１１に記録されたデータを保持し得る領域（使用領域）におけるデータ（つまり、担当ディスク１１に係るキャッシュデータ）は、キャッシュメモリ３６ｂの二重化用の領域（二重化領域）にも記録されている。なお、このデータの記録処理はＣＰＵ３７ａ，ｂ，３８ａ，ｂによるＣＭ３１ａ，ｂ間の通信処理により実現される。
【００３２】
これと同様に、キャッシュメモリ３６ｂの使用領域のデータはキャッシュメモリ３６ｃの二重化領域に記録され、キャッシュメモリ３６ｃの使用領域のデータはキャッシュメモリ３６ｄの二重化領域に記録され、キャッシュメモリ３６ｄの使用領域のデータはキャッシュメモリ３６ａの二重化領域に記録されている。
次に、ＣＭ３１のＣＰＵ３７，３８の機能構成について、図２を参照しながら詳細に説明する。なお、ＣＰＵ３７とＣＰＵ３８とは同一の構成であるため、図２では図の簡略化のためにＣＰＵ３７のみに機能構成ブロックを示している。
【００３３】
ＣＰＵ３７，３８は、ＩＯ（Input/Output）制御部４０，システム（System）制御部４１，装置監視制御部４２，アクセス情報収集制御部４３，キャッシュメモリ制御部４５，アクセス履歴保持部５２，スケジュール保持部５３，及びデータリスト保持部５４を備えて構成されている。
ＩＯ制御部４０は、ホスト２０からの処理要求（Ｉ／Ｏ；Input/Output）を制御するものであり、ＤＥ１０に対するデータの書き込み処理や読み出し処理を制御する。
【００３４】
なお、キャッシュメモリ制御部４５は、ＩＯ制御部４０によってＤＥ１０から読み出されたデータをキャッシュメモリ３６に記録するように構成されている。
システム制御部４１は、各装置を制御するものであり、例えば各装置の電源制御を行なう。
装置監視制御部４２は、各装置の稼動状態（稼動しているか否か）や電源状態を監視するものである。
【００３５】
アクセス情報収集制御部４３は、ホスト２０からの処理要求に基づいて、ホスト２０によるＤＥ１０内の各データに対するアクセス情報（アクセス回数）の収集を制御するものであり、アクセスカウンタ４４を備えている。
なお、アクセス情報収集制御部４３はＩＯ制御部４０と協働してホスト２０からのデータ毎のアクセス回数を収集する。
【００３６】
アクセスカウンタ４４は、ＤＥ１０に保持された各データに対する、ホスト２０からアクセス（リードアクセス）数をカウントするためのものである。
そして、アクセス情報収集制御部４３は、図３に示すように、ＤＥ１０内の全データ毎に、ホスト２０からのリードアクセスの回数を取得する。なお、図３では図の簡略化のため、Data 1〜Data 3のみのアクセス回数を示している。
【００３７】
キャッシュメモリ制御部４５は、キャッシュメモリ３６の記憶内容を制御するものであり、アクセス監視・履歴管理部４６，スケジュール管理・変更部４７，スケジュール制御部４８，及びデータ展開・解放制御部４９を備えて構成されている。
アクセス監視・履歴管理部４６は、アクセス情報収集制御部４３によって取得されたアクセス回数をデータ毎に所定時間毎にまとめて、データ毎のアクセス履歴をアクセス状況として管理する制御部である。
【００３８】
具体的には、アクセス監視・履歴管理部４６は、アクセス情報収集制御部４３によって取得されたアクセス回数を、一定時間おきに取得してアクセス履歴保持部５２に格納する。
例えば、アクセス監視・履歴管理部４６は、１分おきにアクセス情報収集制御部４３によって取得されたアクセス回数を取得して、図４に示すように、データ毎（ここではData 1）に１分間おきのアクセス回数（リードアクセス回数）をまとめて、アクセス履歴保持部５２に格納する。
【００３９】
さらに、アクセス監視・履歴管理部４６は、アクセス履歴保持部５２に一旦格納した１分間おきのアクセス回数を、図５に示すごとく、所定の時間帯毎（ここでは、０時から３０分毎）に、且つ、データ毎に集計し、集計した時間帯毎にアクセス頻度情報（ここでは“A〜D”；優先度情報）を割り当てて、アクセス状況として管理／保持する。
なお、図５は、Data 1のみ示しているが、アクセス監視・履歴管理部４６は、実際には、ＤＥ１０内のすべてのデータについて、もしくは、ＤＥ１０内のアクセス履歴が取得されたすべてのデータについて、図５に示すアクセス状況を作成して、アクセス履歴保持部５２に格納する。
【００４０】
ここで、アクセス頻度（図中“Frequency”；Operational Rank）は、ランクＡが最も高く、ランクＢ，Ｃ，Ｄの順で低くなり、ランクＤが最も低い。アクセス監視・履歴管理部４６は、例えば、所定時間帯のアクセス頻度が、０〜１０回ならアクセス頻度をランクＤと決定し、１１〜５０回ならアクセス頻度をランクＣと決定し、５１〜２００回ならアクセス頻度をランクＢと決定し、２０１回以上であればアクセス頻度をランクＡと決定する。
【００４１】
なお、アクセス情報収集制御部４３によって収集されたアクセス回数（図３参照）も、アクセス履歴保持部５２に保持されていてもよい。
このように、アクセス情報収集制御部４３及びアクセス監視・履歴管理部４６は、ホスト２０からのＤＥ１０に記録されたデータに対するアクセス状況を監視するアクセス監視部として機能する。
【００４２】
スケジュール管理・変更部４７は、ホスト２０に対するアクセス応答（レスポンス性能）向上のために、キャッシュメモリ３６へのデータ展開のスケジュール管理や変更を実施するものであり、アクセス監視・履歴管理部４６によって作成されたアクセス状況（アクセス履歴）から最適化したスケジュールを作成する。
具体的には、スケジュール管理・変更部４７は、図６に示すような、アクセス監視・履歴管理部４６が作成したアクセス状況（図５参照；アクセス頻度の履歴情報）に基づき、一日あるいは半日おきのキャッシュメモリ３６上に展開する内容を決定するためのスケジュール情報（データ展開スケジュール）を作成する。
【００４３】
図６に示すように、スケジュール管理・変更部４７は、スケジュール情報をデータ毎に作成する。なお、図６には、Data 1のスケジュール情報を示しているが、スケジュール管理・変更部４７は、ＤＥ１１の全データに対してスケジュール情報を作成する。
図６において“Present”は、過去の同時間帯のスケジュール情報もしくは履歴を示し、“Today”はスケジュール保持部５３に保持された現在のスケジュール情報を示し、“Renewal”はスケジュール管理・変更部４７が作成した更新用のスケジュール情報を示している。また、“Time”は、スケジュール情報が半日分であれば０時から１２時分まで、一日分であれば０時から２４時分まで存在し、それぞれにおいて、３０分毎の優先度が設定される。
【００４４】
スケジュール管理・変更部４７は、更新用のスケジュール情報を、アクセス履歴等（例えば、直前の所定期間分のアクセス履歴）に基づいて作成する。
さらに、スケジュール管理・変更部４７は、過去のアクセス履歴やユーザが設定したスケジュール情報に基づいて、更新用のスケジュール情報を調整する。
例えば、スケジュール管理・変更部４７は、更新用のスケジュール情報を新たに作成する日が２００７年６月１日金曜日であれば、過去数か月分の毎月１日の履歴情報や、過去数ヵ月分の毎月第１週の金曜日の履歴情報や、過去の金曜日の履歴情報や、前年の６月１日の履歴情報等により、直前の履歴情報に基づいて作成した更新用のスケジュール情報を変更する。
【００４５】
このように、スケジュール管理・変更部４７は、ＤＥ１０に記録された複数のデータ毎のスケジュール情報として、所定時間帯毎に、キャッシュメモリ３６に記録させるべき優先度（ランクＡ〜Ｄ）を示す優先度情報を作成する。
ここで、優先度としてのランクＡ〜Ｄは、アクセス頻度と同様のものであり、アクセス履歴における頻度としてのＡ〜Ｄはアクセス回数を示しているが、スケジュール情報におけるランクＡ〜Ｄは、それぞれ、キャッシュメモリ３６に記録すべき優先度を表すものであり、ランクＡは常時（必ず）展開すべきもの（展開最優先モード）であることを表わし、ランクＢは可能な限り展開すべきもの（展開優先モード）であることを表わし、ランクＣはキャッシュメモリ３６に空きがあれば展開すべきもの（展開可能モード）であることを表わし、ランクＤはキャッシュメモリ３６から削除すべきもの（展開抑止モード）であることを表わす。
【００４６】
また、スケジュール管理・変更部４７は、アクセス状況と過去のスケジュール情報とに基づいて優先度情報を作成する他、アクセス状況とユーザによって予め設定されたスケジュール情報とに基づいて優先度情報を作成する。
なお、スケジュール管理・変更部４７のより具体的なスケジュール情報の作成方法については、後述する図１２〜図１５を参照しながら説明する。
【００４７】
スケジュール制御部４８は、スケジュール管理・変更部４７によって作成されたスケジュール情報に基づいて、キャッシュメモリ３６へのデータの展開／解放（記録／削除）処理スケジュールを制御するものであり、データ展開・解放制御部４９に対象データのキャッシュメモリ３６への展開／解放制御の依頼を実施する。
例えば、スケジュール情報が半日おきのものであれば、スケジュール制御部４８は、半日毎のスケジュールが開始される前（例えば、図６に示す例では０時の前）にスケジュール情報をデータ展開・解放制御部４９へ送信し、展開／解放処理を依頼する。
【００４８】
このとき、スケジュール制御部４８は、図７に示すように、スケジュール情報として、データ毎（ここでは、“Data 1”〜“Data n”毎）の所定時間帯毎の優先度を一つにまとめてデータ展開・解放制御部４９へ送信する。
このように、スケジュール管理・変更部４７及びスケジュール制御部４８が、アクセス監視部としてのアクセス情報収集制御部４３及びアクセス監視・履歴管理部４６によって監視されたアクセス状況に基づいて、キャッシュメモリ３６の記憶内容を決定するスケジュール情報を作成するスケジュール情報作成部として機能する。
【００４９】
データ展開・解放制御部４９は、スケジュール制御部４８から受信したスケジュール情報に基づいて、キャッシュメモリ３６へのデータの展開処理と、キャッシュメモリ３６からのデータの解放処理とを制御するメモリ制御部として機能するものであり、スケジュール情報に応じてＤＥ１０内の対象データを先読みしてキャッシュメモリ３６上に展開するか否かを、キャッシュメモリ３６の容量や現状の動作状況を含めて判断し、キャッシュメモリ３６の記憶内容の最適な制御を実施する。
【００５０】
つまり、データ展開・解放制御部４９は、展開処理を制御する場合には、ＩＯ制御部４０によって当該データの読み出し処理（先読み）を実行させ、解放処理を行なうアクセス場合には、キャッシュメモリ３６から当該データを削除する。
ここで、データ展開・解放制御部４９による処理の概略を説明すると、データ展開・解放制御部４９は、図７のスケジュール情報の場合には、Data 3は優先度がランクＤでありアクセスがないと予想されるため、キャッシュメモリ３６上への展開は行なわない。なお、この場合、本スケジュール情報に基づく処理を行なう際に、キャッシュメモリ３６上にData 3が存在すれば、データ展開・解放制御部４９はData 3を積極的にキャッシュメモリ３６から削除して、Data 3が記憶されていた記憶領域を解放する。
【００５１】
また、Data 2は本スケジュール情報に基づく処理の開始時にアクセス予測されるが減少傾向であり、Data nは逆に開始時はアクセスの可能性が少ないが増加傾向であり、Data 1は一定のアクセスが均一になると予想される。
このような傾向から、データ展開・解放制御部４９は、Data 1は常時展開、Data 2は“01:30:00”以降は展開せず、Data nは“00:01:00”から展開する。
【００５２】
さらに、データの展開時には、キャッシュメモリ３６のサイズ（容量）を考慮する必要がある。つまり、データ展開・解放制御部４９は、展開すべきデータ（優先度がA，Bのデータ）の合計サイズがキャッシュメモリ３６のサイズより大きい場合には、優先度Aのものから順に展開処理を実行する。
また、データ展開・解放制御部４９は、上述したように、キャッシュメモリ３６の解放処理もスケジュール情報に基づいて制御するが、基本的には、記録処理（展開処理）を行なった後に、スケジュール情報に基づいて削除すべきデータが未だにキャッシュメモリ３６に残っている場合には、そのデータが使用する領域を解放すべく、そのデータの削除処理（解放処理）が実行されるように制御する。
【００５３】
つまり、データ展開・解放制御部４９は、スケジュール情報に基づいて、キャッシュメモリ３６に新たにデータを記録するためにキャッシュメモリ３６上のデータを削除するだけでなく、記録すべきすべてのデータの記録が完了した場合であっても、その後に、削除してキャッシュメモリ３６上のメモリ領域を解放することが好ましいデータの削除処理を、スケジュール情報に基づいて実行する。このように、キャッシュメモリ３６上の領域を積極的に解放することにより、解放した領域を他のアクセス頻度が高いデータに割り当てたり、スケジュール情報に含まれない想定外のデータに割り当てたりすることができ、キャッシュメモリ３６をより有効に使用して、ホスト２０に対するレスポンス性能をより向上できる。
【００５４】
そして、データ展開・解放制御部４９は、上述した処理を行なう際に、直前のデータに対するアクセス状況に応じてスケジュール情報を補正した上で実行するように構成されており、スケジュール補正部５０及びリスト作成部５１を備えて構成されている。
スケジュール補正部５０は、スケジュール情報（優先度情報）に基づいて展開／解放処理を制御する際に、直前のアクセス状況に応じて、スケジュール情報を補正するものである。
【００５５】
具体的には、スケジュール補正部５０は、直前のアクセス状況として所定時間内におけるデータに対するアクセス増減傾向に基づき、アクセス増加傾向であれば当該データの優先度情報を高くなるように補正する一方、アクセス減少傾向であれば当該データの優先度情報を低くなるように補正する。
したがって、データ展開・解放制御部４９は、実際には、スケジュール補正部５０によって補正されたスケジュール情報に基づいて展開／解放処理を制御することになる。
【００５６】
リスト作成部５１は、スケジュール補正部５０によって補正されたスケジュール情報に基づいて、当該時間帯においてキャッシュメモリ３６上に展開／削除すべきデータのリストを作成するものである。このリストは、図７に示すものと略同様であり、スケジュール補正部５０によって補正された、各時間帯のData 1〜Data nの優先度から構成される。
なお、データ展開・解放制御部４９（スケジュール補正部５０及びリスト作成部５１）のより具体的な動作内容については、後述する図１６〜図２５を参照しながら説明する。
【００５７】
また、上述したアクセス情報収集制御部４３及びキャッシュメモリ制御部４５は、すべてのＣＭ３１内のＣＰＵ３７，３８に備えられており、各ＣＭ３１のアクセス情報収集制御部４３は、他のＣＭ３１と通信して、他のアクセス情報収集制御部４３が収集した、当該ＣＭ３１が担当するＤＥ１０のデータに係るアクセス回数を収集し、集計する。そして、各ＣＭ３１内において、キャッシュメモリ制御部４５が、担当するデータに係るスケジュール情報（図７参照）を作成するように構成されている。
【００５８】
ただし、本発明において、いずれか一つのＣＭ３１が代表して、ＤＥ１０内のすべてのデータに係るスケジュール情報を作成し、それを他のＣＭ３１に通知するように構成してもよく、この場合、アクセス情報収集制御部４３により、その一つのＣＭ３１のアクセス情報収集制御部４３にすべてのデータに対するアクセス回数が収集される。
そして、当該ＣＭ３１内のキャッシュメモリ制御部４５によりスケジュール情報が作成され、他のＣＭ３１に送信される。なお、送信されたスケジュール情報に基づくデータの展開／解放処理は、各ＣＭ３１内のデータ展開・解放制御部４９が実行する。
【００５９】
また、本ストレージシステム１において、データ展開・解放制御部４９によるスケジュール情報に基づくデータ展開／解放処理が、スケジュール情報に係る所定時間帯の間隔である３０分の間に完了すると、その所定時間帯内の残りの時間は、キャッシュメモリ制御部４５は、ＬＲＵによる制御を行なうように構成されている。これにより、スケジュール情報に基づく制御後であっても、キャッシュメモリ３６を可能な限り有効に使用できる。
【００６０】
さらに、本ストレージシステム１において、ホスト２０からスケジュール情報に含まれていないデータ対する読み出し要求があると、キャッシュメモリ制御部４５は、そのデータについてはＬＲＵによる制御を行なう。
また、本ストレージシステム１では、ＣＭ３１のキャッシュメモリ３６の記憶領域のうち、一部をキャッシュメモリ制御部４５によるスケジュール情報に基づく処理対象領域とし、残りの部分は、従来どおりＬＲＵによる制御を行なうように構成されている。
【００６１】
つまり、キャッシュメモリ３６は、キャッシュメモリ制御部４５によって、スケジュール情報に基づいて制御される領域と、ＬＲＵによって制御される領域とに分けられている。この場合、上記２つの領域内に同一データが重複して記録されることはない。
なお、本発明はこの構成に限定されず、キャッシュメモリ３６の全領域がキャッシュメモリ制御部４５によってスケジュール情報に基づいて制御されるように構成されていてもよく、この場合には、キャッシュメモリ制御部４５は、スケジュール情報に含まれず、キャッシュメモリ３６上に存在しないデータに対してホスト２０から読み出し要求があった場合には、そのデータをスケジュール情報またはＬＲＵに基づいて制御する。
【００６２】
つまり、キャッシュメモリ３６上に、スケジュール情報にないデータを展開する領域が確保できない場合には、キャッシュメモリ制御部４５のデータ展開・解放制御部４９が、スケジュール情報においてキャッシュメモリ３６から削除はしていないが優先度が低いデータを削除してかかる領域を確保してもよいし、ＬＲＵによってかかる領域を確保してもよい。このように構成することで、スケジュール情報のデータ以外に対するデータの読み出し要求があった場合であっても、その要求に対するキャッシュメモリ３６の制御を確実に実行できる。
【００６３】
〔ｂ〕本発明の一実施形態としてのストレージシステム１の動作手順について
ここで、図８に示すフローチャート（ステップＳ１〜Ｓ１２，Ｘ１，Ｙ１）を参照しながら、本ストレージシステム１の動作手順（本発明の一実施形態としてのメモリ制御方法）について説明する。
まず、キャッシュメモリ制御部４５は、アクセス有効運用チェックを行なう（ステップＳ１）。この処理はキャッシュメモリ制御部４５による、上述したスケジュール情報に基づく制御を行なうか否かをチェックするものである。ＣＥ３０（例えば、各ＣＭ３１）は、ユーザによってキャッシュメモリ制御部４５によるスケジュール情報に基づく処理を実行するか否か、即ち、アクセス有効運用を行なうか否かを設定可能に構成されており、ステップＳ１の処理ではその設定状態をチェックする。
【００６４】
ここで、運用状態でなければ（ステップＳ２のＮＯルート）、キャッシュメモリ制御部４５はそのまま処理を終了するが、運用状態であれば（ステップＳ２のＹＥＳルート）、アクセス有効運用を開始する（ステップＳ３）。
まず、アクセス監視・履歴管理部４６は、アクセス情報収集制御部４３に対して、対象データのアクセス情報の収集を依頼し、アクセス情報収集制御部４３によるアクセス情報収集を開始させ（ステップＳ４）、その後、以降のステップＳ５〜Ｓ１２の処理が実行される。
【００６５】
ここで、図８においてステップＳ４の直下の符号“Ｘ１”で示すブロック（“ループスタート（一定時間間隔）”と表記）及び符号“Ｙ１”で示すブロック（“ループバック”と表記）は、これらブロックＸ１，Ｙ１の間のステップＳ５〜Ｓ１１の処理を一定時間間隔（例えば半日毎や１日毎）で実行することを示すものであり、ステップＳ５〜Ｓ１１の処理は、後述するステップＳ１１において運用が終了していないと判断される限り（ステップＳ１１のＮＯルートを通る限り）、一定時間間隔で実行される。なお、後述する図９〜図１４，図１６〜図２０，図２２，図２４，図２５において、ブロックＸ１，Ｙ１と同一形状のブロックＸ２〜Ｘ２６，Ｙ２〜Ｙ２６は、所定の条件を満たすまで、それらブロック間の処理（ステップ）を実行することを示している。
【００６６】
そして、アクセス監視・履歴管理部４６が、上記ステップＳ４においてアクセス情報収集制御部４３によって収集されたアクセス情報を収集し（ステップＳ５）、アクセス監視・履歴管理部４６が収集したアクセス情報を所定時間帯おきのアクセス状況を示す情報（図５参照）にまとめる履歴管理を行なう（ステップＳ６）。
なお、上記ステップＳ４〜Ｓ６が、ホスト２０からのＤＥ１０に記憶されたデータに対するアクセス状況を監視するアクセス監視ステップとして機能する。
【００６７】
次に、スケジュール管理・変更部４７は、上記ステップＳ６においてアクセス監視・履歴管理部４６によって管理されたアクセス状況に基づいて、図６に示したようなスケジュール情報を作成（または変更）するスケジュール管理処理を行なう（ステップＳ７）。
さらに、スケジュール管理・変更部４７は、上記ステップＳ７で管理しているスケジュール情報と、ユーザによって設定された情報または過去の対応するスケジュール情報との最適化処理を行なうスケジュール調整処理を行なう（ステップＳ８）。
【００６８】
なお、上記ステップＳ７，Ｓ８が、アクセス監視ステップにおいて監視されたアクセス状況に基づいて、キャッシュメモリ３６の記憶内容を決定するスケジュール情報を作成するスケジュール情報作成ステップとして機能する。
続いて、データ展開・解放制御部４９が、上記ステップＳ８においてスケジュール管理・変更部４７により最適化されスケジュール制御部４８から受信したスケジュール情報に基づいて、キャッシュメモリ３６上のデータの展開／解放処理を行なう（ステップＳ９）。
【００６９】
なお、このステップＳ９が、スケジュール情報に基づいて、ＤＥ１０からキャッシュメモリ３６へのデータの記録処理と、キャッシュメモリ３６からのデータの削除処理とを制御するキャッシュメモリ制御ステップとして機能する。
ここで、キャッシュメモリ制御部４５は、アクセス有効運用が終了したか否かをチェックし（ステップＳ１０）、ここで運用が終了していなければ（ステップＳ１１のＮＯルート）、図８におけるブロックＹ１からブロックＸ１にキャッシュメモリ制御部４５の処理がループバックする。
一方、運用が終了していれば（ステップＳ１１のＹＥＳルート）、キャッシュメモリ制御部４５は、アクセス有効運用を停止して（ステップＳ１２）、処理を終了する。
【００７０】
〔ｃ〕キャッシュメモリ制御部４５による各処理の詳細について
次に、上記図８のステップＳ４〜Ｓ９のそれぞれの処理について、図面を参照しながら詳細に説明する。
【００７１】
〔ｃ−１〕アクセス監視・履歴管理部４６によるアクセス情報収集起動処理について
まず、図９に示すフローチャート（ステップＳ４ａ〜Ｓ４ｈ，Ｘ２，Ｙ２）を参照しながら、アクセス監視・履歴管理部４６によるアクセス情報収集起動処理（上記図８のステップＳ４の処理）の詳細を説明する。
アクセス監視・履歴管理部４６によるアクセス情報収集起動処理が開始されると（ステップＳ４ａ）、アクセス監視・履歴管理部４６はアクセス情報を収集する対象データを確認（チェック）する（ステップＳ４ｂ）。
【００７２】
ここで、図９においてステップＳ４ｂの直下の符号“Ｘ２”で示すブロック（“ループスタート（対象データ数分）”と表記）及び符号“Ｙ２”で示すブロック（“ループバック” と表記）は、これらブロックＸ２，Ｙ２の間のステップＳ４ｃ〜Ｓ４ｇの処理を対象データ数分実行することを示すものであり、ステップＳ４ｃ〜Ｓ４ｇの処理は、後述するステップＳ４ｇにおいて残数がないと判断されるまで（ステップＳ４ｇのＹＥＳルートを通るまで）、実行される。なお、対象データ数分とは、ここでは、ＤＥ１０上のすべてのデータをいう。
【００７３】
そして、アクセス監視・履歴管理部４６は、対象データに係るＤＥ１０やディスク１１の実装状態や動作状態や電源状態が正常であるか否かの状態チェックを行なう（ステップＳ４ｃ）。
ここで、例えばディスク１１がＤＥ１０からはずされていたり、動作状態が異常（故障）であったり、電源がオフであったりと、アクセス監視・履歴管理部４６が、装置状態が異常であると判断すると（ステップＳ４ｄのＮＯルート）、後述するステップＳ４ｅの処理をスキップする。
【００７４】
一方、アクセス監視・履歴管理部４６がディスク１１及びＤＥ１０の状態が正常であると判断すると（ステップＳ４ｄのＹＥＳルート）、当該データに対するアクセス情報の収集処理の起動を、アクセス情報収集制御部４３に対して指示する（ステップＳ４ｅ）。
なお、アクセス情報収集制御部４３は、アクセス監視・履歴管理部４６からアクセス情報の収集指示を受けると、そのデータのアクセス履歴を収集する。
【００７５】
そして、アクセス監視・履歴管理部４６は、対象データが残っているかの確認（残対象チェック）を行ない（ステップＳ４ｆ）、残数があれば（ステップＳ４ｇのＮＯルート）、アクセス監視・履歴管理部４６は、上記ステップＳ４ｃの処理にループバックする（ボックスＹ２参照）。
一方、残数が無ければ（ステップＳ４ｇのＹＥＳルート）、アクセス監視・履歴管理部４６は、アクセス情報収集起動処理を終了し（ステップＳ４ｈ）、処理を終了する。
【００７６】
〔ｃ−２〕アクセス監視・履歴管理部４６によるアクセス情報収集処理について
次に、図１０に示すフローチャート（ステップＳ５ａ〜Ｓ５ｏ，Ｘ３，Ｙ３）を参照しながら、アクセス監視・履歴管理部４６によるアクセス情報の収集処理（上記図８のステップＳ５の処理）の詳細を説明する。
まず、アクセス監視・履歴管理部４６によるアクセス情報収集制御部４３によって収集されたアクセス情報の収集処理が開始されると（ステップＳ５ａ）、アクセス監視・履歴管理部４６は、アクセス情報を収集すべきデータの確認（対象チェック）を行なう（ステップＳ５ｂ）。
【００７７】
なお、図１０においてステップＳ５ｂの直下の符号“Ｘ３”で示すブロック（“ループスタート（対象データ数分）”と表記）及び符号“Ｙ３”で示すブロック（“ループバック” と表記）は、これらブロックＸ３，Ｙ３の間のステップＳ５ｃ〜Ｓ５ｎの処理を対象データ数分実行することを示すものであり、ステップＳ５ｃ〜Ｓ５ｎの処理は、後述するステップＳ５ｎにおいて残数がないと判断されるまで（ステップＳ５ｎのＹＥＳルートを通るまで）、実行される。
【００７８】
そして、アクセス監視・履歴管理部４６は、ここでも対象データに係るＤＥ１０やディスク１１の実装状態や動作状態や電源状態が正常であるか否かの状態チェックを行なう（ステップＳ５ｃ）。なお、この処理は、上記ステップＳ４の処理時には正常に稼動していたが、その後、故障等していないかを確認するものである。
ここで、例えばディスク１１がＤＥ１０からはずされていたり、動作状態が故障であったり、電源がオフであったりと、アクセス監視・履歴管理部４６が、装置状態が異常であると判断すると（ステップＳ５ｄのＮＯルート）、アクセス監視・履歴管理部４６は、当該データについては、状態異常で監視対象外であると判断し（ステップＳ５ｅ）、当該データについてはアクセス情報を初期値（例えば“０”）に設定して（ステップＳ５ｆ）、後述するステップＳ５ｌの処理に移行する。
【００７９】
一方、アクセス監視・履歴管理部４６がディスク１１及びＤＥ１０の状態が正常であると判断すると（ステップＳ５ｄのＹＥＳルート）、アクセス情報収集制御部４３による当該データに対するアクセス情報の収集状態をチェックする（ステップＳ５ｇ）。
例えば、アクセス情報収集制御部４３が、ディスク１１等が未実装状態から実装状態に変更した場合や、故障状態から復帰した場合等の再起動処理を行なっていないかを確認する。
【００８０】
ここで、アクセス情報収集制御部４３が再起動中等、正常に動作中でなければ（ステップＳ５ｈのＮＯルート）、アクセス監視・履歴管理部４６は、アクセス情報収集制御部４３に対して再度アクセス情報の収集開始時を行なうとともに（ステップＳ５ｉ）、当該データについてはアクセス情報を初期値（例えば“０”）に設定して（ステップＳ５ｊ）、後述するステップＳ５ｌの処理に移行する。
【００８１】
一方、アクセス情報収集制御部４３が正常に動作中であれば（ステップＳ５ｈのＹＥＳルート）、アクセス監視・履歴管理部４６は、アクセス情報収集制御部４３に対して当該データのアクセス情報値（アクセス回数）の送信指示を行なう（ステップＳ５ｋ）。
続いて、アクセス監視・履歴管理部４６は、上記ステップＳ５ｆ，Ｓ５ｊ，Ｓ５ｋのいずれかにおいて得られた値を、当該データのアクセス情報（情報値）として管理メモリ（例えばアクセス履歴保持部５２）に格納する（ステップＳ５ｌ）。
【００８２】
そして、アクセス監視・履歴管理部４６は、対象データが残っているかの確認（残対象チェック）を行ない（ステップＳ５ｍ）、残数があれば（ステップＳ５ｎのＮＯルート）、アクセス監視・履歴管理部４６は、上記ステップＳ５ｃの処理にループバックする（ボックスＹ３参照）。
一方、残数が無ければ（ステップＳ５ｎのＹＥＳルート）、アクセス監視・履歴管理部４６は、アクセス情報収集処理を終了し（ステップＳ５ｏ）、処理を終了する。
【００８３】
〔ｃ−３〕アクセス監視・履歴管理部４６によるアクセス情報履歴管理処理について
次に、図１１に示すフローチャート（ステップＳ６ａ〜Ｓ６ｉ，Ｘ４，５，Ｙ４，５）を参照しながら、アクセス監視・履歴管理部４６によるアクセス情報の履歴管理処理（上記図８のステップＳ６の処理）の詳細を説明する。
アクセス監視・履歴管理部４６は、アクセス情報履歴管理処理を開始すると（ステップＳ６ａ）、まず、短時間履歴更新処理を開始する（ステップＳ６ｂ）。
【００８４】
ここで、短時間履歴更新処理とは、アクセス情報収集制御部４３によって収集されたアクセス情報を、所定時間帯毎（ここでは０時から３０分毎）の履歴情報に集約してアクセス状況としてまとめる処理をいう。
まず、アクセス監視・履歴管理部４６は、更新時間であるか否かを判断する（ステップＳ６ｃ）。つまり、アクセス監視・履歴管理部４６は、０時からの３０分おきのアクセス情報を集約すべき時間であるか、換言すると、所定時間帯に対応する３０分間のアクセス情報が取得できているかを判断する。
【００８５】
そして、アクセス監視・履歴管理部４６は、更新時間でないと判断すれば（ステップＳ６ｃのＮＯルート）、そのままアクセス情報履歴管理処理を終了する（ステップＳ６ｄ）。
一方、アクセス監視・履歴管理部４６は、更新時間であると判断すると（ステップＳ６ｃのＹＥＳルート）、後述するステップＳ６ｅ〜Ｓ６ｉの処理に移行する。
【００８６】
図１１においてステップＳ６ｃの直下の符号“Ｘ４”で示すブロック（“ループスタート（対象データ数分）” と表記）及び符号“Ｙ４”で示すブロック（“ループバック” と表記）は、これらブロックＸ４，Ｙ４の間のステップＳ６ｅ，Ｓ６ｆの処理を対象データ数分実行することを示すものであり、すべての対象データに対してステップＳ６ｅ，Ｓ６ｆの処理を行なってから、後述するステップＳ６ｇの処理に移行する。
【００８７】
次に、アクセス監視・履歴管理部４６は、対象データ毎に３０分間のアクセス情報を履歴データとしてメモリ（例えば、アクセス履歴保持部５２）に格納する（ステップＳ６ｅ）。具体的には、図４に示したように、データ毎に３０分間のアクセス情報を一つにまとめる。
続いて、アクセス監視・履歴管理部４６は、上記ステップＳ６ｅにおいて格納された履歴データを元に、当該時間帯におけるアクセス頻度（Ａ〜Ｄ；Operational Rank）を決定してメモリ（例えば、アクセス履歴保持部５２）に格納する（ステップＳ６ｆ）。
【００８８】
そして、アクセス監視・履歴管理部４６は、上記ステップＳ６ｅ，Ｓ６ｆの処理をデータ数分実行したら、メイン履歴更新処理を実行する（ステップＳ６ｇ）。
ここで、メイン履歴更新処理とは、３０分毎の履歴情報を、データ別に半日毎の情報にまとめて、アクセス状況（図５参照）として管理する処理をいう。
まず、アクセス監視・履歴管理部４６は、更新時間であるか否かを判断する（ステップＳ６ｈ）。つまり、アクセス監視・履歴管理部４６は、半日分のアクセス情報を集約すべき時間であるか、換言すると、３０分毎のアクセス情報が半日分取得できているかを判断する。
【００８９】
そして、アクセス監視・履歴管理部４６は、更新時間でないと判断すれば（ステップＳ６ｈのＮＯルート）、そのままアクセス情報履歴管理処理を終了する（ステップＳ６ｄ）。
一方、アクセス監視・履歴管理部４６は、更新時間であると判断すると（ステップＳ６ｈのＹＥＳルート）、後述するステップＳ６ｉの処理に移行する。
【００９０】
なお、図１１においてステップＳ６ｈの直下の符号“Ｘ５”で示すブロック（“ループスタート（対象データ数分）”と表記）及び符号“Ｙ５”で示すブロック（“ループバック”と表記）は、これらブロックＸ５，Ｙ５の間のステップＳ６ｉの処理を対象データ数分実行することを示すものであり、すべての対象データに対してステップＳ６ｉの処理を行なってからステップＳ６ｄの処理に移行する。
【００９１】
そして、アクセス監視・履歴管理部４６は、ステップＳ６ｉにおいて、図５に示すように、データ別に半日分の３０分毎のアクセス頻度等をまとめたアクセス状況を作成し、メモリ（例えば、アクセス履歴保持部５２）に格納する。
アクセス監視・履歴管理部４６は、この処理を対象データのすべてに対して実行してから、アクセス情報履歴管理処理を終了する（ステップＳ６ｄ）。
【００９２】
〔ｃ−４〕スケジュール管理・変更部４７によるスケジュール管理処理について
次に、図１２に示すフローチャート（ステップＳ７ａ〜Ｓ７ｐ，Ｘ６〜９，Ｙ６〜９）を参照しながら、スケジュール管理・変更部４７によるスケジュール管理処理（上記図８のステップＳ７の処理）の詳細を説明する。
このスケジュール管理・変更部４７によるスケジュール管理処理は、具体的には、上記図６に示すようなスケジュール情報を作成／更新する処理である。
【００９３】
スケジュール管理・変更部４７は、スケジュール管理処理を開始すると（ステップＳ７ａ）、まず、スケジュール（履歴・既存）チェック処理を行なう（ステップＳ７ｂ）。
スケジュールチェック処理（ステップＳ７ｂ）は、既存の履歴情報（アクセス状況）から作成される現在のスケジュールを確認して更新するものである。
スケジュール管理・変更部４７は、まず、スケジュール情報を更新もしくは再構築すべき時間であるか否かを判断し（ステップＳ７ｃ）、ここで、更新時間等でないと判断すると（ステップＳ７ｃのＮＯルート）、後述するステップＳ７ｄ〜Ｓ７ｋの処理をスキップする。
【００９４】
一方、スケジュール管理・変更部４７は、更新時間等であると判断すると（ステップＳ７ｃのＹＥＳルート）、現在のスケジュール情報の再構築処理が必要であるか否かを確認する（ステップＳ７ｄ）。再構築処理が必要であるか否かは、ＣＭ３１等がリセットされた場合や初期状態であり、履歴やスケジュール情報が存在しない場合であるか否かをスケジュール管理・変更部４７がチェックすることによって実行される。
【００９５】
そして、スケジュール管理・変更部４７は、再構築処理が不要であると判断すると（ステップＳ７ｅのＮＯルート）、後述するステップＳ７ｆ，Ｓ７ｇの処理をスキップする。
一方、スケジュール管理・変更部４７は、再構築処理が必要であると判断すると（ステップＳ７ｅのＹＥＳルート）、対象データ数分、半日分の時間単位（３０分間隔）毎に、ステップＳ７ｆ，Ｓ７ｇの処理を実行する。
【００９６】
ここで、図１２において、ボックスＸ６，Ｙ６は、これらの間の処理を対象データ数分実行することを示し、ボックスＸ７，Ｙ７は、これらの間の処理を半日間の時間単位（３０分）分実行することを示している。
そして、再構築処理として、スケジュール管理・変更部４７は、アクセス履歴保持部５２に保持された当日以外の履歴情報を元に、上記図６に示す“Present”スケジュールとしてのアクセス頻度（Operational Rank）を算出する（ステップＳ７ｆ）。
【００９７】
具体的には、当日以外の過去の履歴に基づいて、上記図６に示す所定時間単位毎に過去のアクセス状況を算出する。この処理については、後述する図１３を参照しながら詳細に説明する。
そして、スケジュール管理・変更部４７は、上記ステップＳ７ｆで算出したアクセス状況をメモリ（例えば、スケジュール保持部５３）に格納する（ステップＳ７ｇ）。
【００９８】
次に、スケジュール管理・変更部４７は、新しいスケジュール情報（つまり、図６の“Renewal”欄のアクセス状況）の更新時間であるか否かのチェック処理を行なう（ステップＳ７ｈ）。
ここで、スケジュール管理・変更部４７は、新スケジュールの更新時間ではないと判断すると（ステップＳ７ｉのＮＯルート）、後述するステップＳ７ｊ，Ｓ７ｋの処理はスキップする。
【００９９】
一方、スケジュール管理・変更部４７は、新スケジュールの更新時間であると判断すると（ステップＳ７ｉのＹＥＳルート）、対象データ数分の更新用のスケジュール情報を作成する、更新スケジュール算出処理（ステップＳ７ｊ）を実行する。
ここで、図１２において、ボックスＸ８，Ｙ８は、これらの間の処理（ステップＳ７ｊ，Ｓ７ｋ）を対象データ数分実行することを示している。
【０１００】
なお、スケジュール管理・変更部４７は、アクセス履歴保持部５２に保持された全履歴情報、即ち、過去の履歴情報に当日分の履歴情報を合わせたアクセス履歴に基づいて、更新用のスケジュールとしてのアクセス頻度（Operational Rank）を算出する。つまり、スケジュール管理・変更部４７は、当日分の履歴を用いてアクセス頻度を更新する。この処理については、後述する図１３を参照しながら詳細に説明する。
【０１０１】
そして、スケジュール管理・変更部４７は、算出したアクセス頻度を、上記図６の“Renewal”欄の該当する時間帯に格納する（ステップＳ７ｋ）。
続いて、スケジュール管理・変更部４７は、スケジュール情報を最新の情報に更新する、即ち、“Renewal”欄のアクセス頻度を“Today”欄に更新するか否かをチェックするスケジュール（履歴・最新）チェック処理を行なう（ステップＳ７ｌ）。
【０１０２】
ここで、スケジュール管理・変更部４７は、更新時間であると判断すると（ステップＳ７ｍのＮＯルート）、後述するステップＳ７ｎ，Ｓ７ｏの処理をスキップする。
一方、スケジュール管理・変更部４７は、更新時間であると判断すると（ステップＳ７ｍのＹＥＳルート）、“Today”のスケジュール情報を、上記ステップＳ７ｋにおいて更新（格納）した“Renewal”欄のアクセス頻度に更新する処理を実行する（ステップＳ７ｎ）。
【０１０３】
なお、図１２において、ボックスＸ９，Ｙ９は、これらの間の処理（ステップＳ７ｎ，Ｓ７ｏ）を対象データ数分実行することを示している。
次に、スケジュール管理・変更部４７は、“Renewal”欄のスケジュールを初期化する（ステップＳ７ｏ）。
そして、スケジュール管理・変更部４７は、ステップＳ７ｎ，Ｓ７ｏの処理を対象データ数分実行してから、スケジュール管理処理を終了する（ステップＳ７ｐ）。
【０１０４】
ここで、図１３に示すフローチャート（ステップＳ２０〜Ｓ４６）を参照しながら、スケジュール管理・変更部４７による更新スケジュール（上記“Renewal”欄のアクセス頻度）の算出処理（つまり、上記ステップＳ７ｊの処理）の詳細について説明する。
スケジュール管理・変更部４７は、更新スケジュール算出処理を開始すると（ステップＳ２０）、対象データ数分の更新スケジュールを算出する（ステップＳ２１）。つまり、スケジュール管理・変更部４７は、全履歴情報（過去のスケジュール情報及び当日のスケジュール情報）を元に更新用のスケジュールとしてのアクセス頻度（Ａ〜Ｄ）を所定の時間帯毎（ここでは０時から３０分おき）に算出する。
【０１０５】
なお、図１３において、ボックスＸ１０，Ｙ１０は、これらの間の処理（ステップＳ２１〜Ｓ４４）を対象データ数分実行することを示しており、ボックスＸ１１，Ｙ１１は、これらの間の処理（ステップＳ２３〜Ｓ２７）を取得データ数分実行することを示している。
そして、スケジュール管理・変更部４７は、全履歴情報（格納データ）を取得し（ステップＳ２２）、取得したデータ（スケジュール）対して後述するステップＳ２３〜Ｓ２７の処理を行ない、所定の時間帯毎の優先度を算出する。
【０１０６】
なお、スケジュール管理・変更部４７は、ステップＳ２２において全履歴情報ではなく、所定の情報だけを取得するように構成してもよい。例えば、スケジュール管理・変更部４７は、全履歴情報のうち、更新スケジュールを作成すべき時間帯の過去のスケジュール情報を取得してもよい。
そして、スケジュール管理・変更部４７は、上記ステップＳ２２において取得した過去のスケジュール情報について、アクセス頻度（図中“RANK”と表記）を判断する（ステップＳ２３）。
【０１０７】
ここで、アクセス頻度がＡであれば（ステップＳ２４ａ）、スケジュール管理・変更部４７は、ランク数値を１加点し（ステップＳ２４ｂ）、さらに、ランクＡの数を１加える（ステップＳ２４ｃ）。
つまり、スケジュール管理・変更部４７は、上記ステップＳ２２で取得したすべてのデータに対するランク数値を算出し保持するとともに、取得したデータのうちのランク毎の数を管理する。
【０１０８】
また、アクセス頻度がＢであれば（ステップＳ２５ａ）、スケジュール管理・変更部４７は、ランク数値を２加点し（ステップＳ２５ｂ）、さらに、ランクＢの数を１加える（ステップＳ２５ｃ）。
さらに、アクセス頻度がＣであれば（ステップＳ２６ａ）、スケジュール管理・変更部４７は、ランク数値を３加点し（ステップＳ２６ｂ）、さらに、ランクＣの数を１加える（ステップＳ２６ｃ）。
【０１０９】
また、アクセス頻度がＤであれば（ステップＳ２７ａ）、スケジュール管理・変更部４７は、ランク数値を４加点し（ステップＳ２７ｂ）、さらに、ランクＤの数を１加える（ステップＳ２７ｃ）。
なお、図１３において、ステップＳ２４ａ〜ｃをステップＳ２４とし、ステップＳ２５ａ〜ｃをステップＳ２５とし、ステップＳ２６ａ〜ｃをステップＳ２６とし、ステップＳ２７ａ〜ｃをステップＳ２７としている。
【０１１０】
そして、すべての取得データに対して上記ステップＳ２４〜Ｓ２７の処理が終了すると、スケジュール管理・変更部４７は、算出したランク数値の平均値を算出する（ステップＳ２８）。つまり、スケジュール管理・変更部４７は、算出したランク数値を取得データ数で割ることにより平均値を算出する。
続いて、スケジュール管理・変更部４７は、算出した平均値が予め設定された複数の数値範囲のうちのどの範囲に属するかを判断する（ステップＳ２９）。
【０１１１】
ここで、平均値が１であれば（ステップＳ３０）、スケジュール管理・変更部４７は、当該データのアクセス頻度をＡであると判断する（ステップＳ３１）。
また、平均値が１〜１．９９の範囲内であれば（ステップＳ３２）、スケジュール管理・変更部４７は、当該データのアクセス頻度がＡであるかＢであるかを判定する判定処理を行なう（ステップＳ３３）。
【０１１２】
ここで、スケジュール管理・変更部４７は、上記ステップＳ２４ｃ〜Ｓ２７ｃにおいて集計した各ランクの数に基づいて、アクセス頻度を判定する。
具体的には、スケジュール管理・変更部４７は、ランクＡの数と、ランクＢ〜Ｄの数に重み付けを施した数と比較し（ステップＳ３４；図中“RANK A > RANK B ?”と表記）、ランクＡの数の方が多ければ（ステップＳ３４のＹＥＳルート）、当該データのアクセス頻度をＡと判定する（ステップＳ３１）一方、ランクＡの数の方が少なければ（ステップＳ３４のＮＯルート）、当該データのアクセス頻度をＢと判定する（ステップＳ３５）。
【０１１３】
このとき、スケジュール管理・変更部４７は、ランクＡ，Ｂの数に対する重み係数を“１”、ランクＣの数に対する重み係数を“１．２５”、ランクＤの数に対する重み係数を“１．５”として、下記式（１）が成り立つか否かを上記ステップＳ３４において判断する。
ランクＡの数＞ランクＢの数＋ランクＣの数×１．２５＋ランクＤの数×１．５
・・・（１）
また、平均値が２〜２．９９の範囲内であれば（ステップＳ３６）、スケジュール管理・変更部４７は、当該データのアクセス頻度がＢであるかＣであるかを判定する判定処理を行なう（ステップＳ３７）。
【０１１４】
具体的には、スケジュール管理・変更部４７は、ランクＡ，Ｂの数に重み付けを施した数と、ランクＣ，Ｄの数に重み付けを施した数と比較し（ステップＳ３８；図中“RANK B > RANK C ?”と表記）、ランクＡ，Bの数の方が多ければ（ステップＳ３８のＹＥＳルート）、当該データのアクセス頻度をＢと判定する（ステップＳ３５）一方、ランクＡ，Ｂの数の方が少なければ（ステップＳ３８のＮＯルート）、当該データのアクセス頻度をＣと判定する（ステップＳ３９）。
【０１１５】
このとき、スケジュール管理・変更部４７は、ランクＡ，Ｄの数に対する重み係数を“１．２５”、ランクＢ，Ｃの数に対する重み係数を“１”として、下記式（２）が成り立つか否かを上記ステップＳ３８において判断する。
ランクＡの数×１．２５＋ランクＢの数＞ランクＣの数＋ランクＤの数×１．２５
・・・（２）
また、平均値が３〜３．９９の範囲内であれば（ステップＳ４０）、スケジュール管理・変更部４７は、当該データのアクセス頻度がＣであるかＤであるかを判定する判定処理を行なう（ステップＳ４１）。
【０１１６】
具体的には、スケジュール管理・変更部４７は、ランクＡ〜Ｃの数に重み付けを施した数と、ランクＤの数と比較し（ステップＳ４２；図中“RANK C > RANK D ?”と表記）、ランクＡ〜Ｃの数の方が多ければ（ステップＳ４２のＹＥＳルート）、当該データのアクセス頻度をＣと判定する（ステップＳ３９）一方、ランクＡ〜Ｃの数の方が少なければ（ステップＳ４２のＮＯルート）、当該データのアクセス頻度をＤと判定する（ステップＳ４３）。
【０１１７】
このとき、スケジュール管理・変更部４７は、ランクＡの数に対する重み係数を“１．５”、ランクＢの数に対する重み係数を“１．２５”、ランクＣ，Ｄの数に対する重み係数を“１”として、下記式（３）が成り立つか否かを上記ステップＳ４２において判断する。
ランクＡの数×１．５＋ランクＢの数×１．２５＋ランクＣの数＞ランクＤの数
・・・（３）
さらに、平均値が４であれば（ステップＳ４４）、スケジュール管理・変更部４７は、当該データのアクセス頻度をＤであると判断する（ステップＳ４３）。
【０１１８】
そして、スケジュール管理・変更部４７は、これら算出したランクをスケジュール情報として設定（あるいは保持）する（ステップＳ４５）。
スケジュール管理・変更部４７は、上述したステップＳ２１〜Ｓ４５の処理を対象データ数分実行し（ブロックＸ１０，Ｙ１０参照）、更新スケジュール算出処理を終了する（ステップＳ４６）。
【０１１９】
このように、スケジュール管理・変更部４７は、過去のスケジュール（履歴情報）に基づいて更新用のスケジュール情報を算出する際に、過去のスケジュールのランクに一義的に与えた数値の平均値を単に用いるのではなく、各ランクの数に重み付けを施して算出した値にも基づいて更新スケジュールを算出するので、当該データに対する過去のアクセス傾向に則した正確な優先度付け（更新スケジュールの算出）を行なうことができる。その結果、キャッシュメモリ３６をより有効に利用できるようになる。
【０１２０】
つまり、スケジュール管理・変更部４７は、過去の履歴情報に基づくランク数値の平均値に基づくランク付けに対して、頻度に応じた補正を行なうべく、当該ランクに対極するランクの数（頻度）に重みを付した判断を行なうので、当該データに対する過去の実績をより正確に反映させたランク付けを行なうことができる。
なお、図１３に示すフローチャート（ステップＳ２０〜Ｓ４６）に示す処理は、対象とするデータ（上記ステップＳ２２において取得するデータ）の内容によって、上記ステップＳ７ｆの処理ともなるし、あるいは、後述する図１４のステップＳ８ｌの処理にもなる。
【０１２１】
換言すると、これらステップＳ７ｊ，Ｓ７ｆ，及びＳ８ｌの処理は、図１３に示す同一のアルゴリズムによって実現されるものである。
具体的には、上記ステップＳ７ｊの処理は、上述した通りであるが、上記ステップＳ７ｆの処理は、ステップＳ２２の処理が、アクセス履歴保持部５２内の当日分の履歴情報以外の過去の履歴情報を対象とする。さらに、後述する図１４のステップＳ８ｌの処理は、ステップＳ２２の処理が、ユーザが設定したスケジュール情報、または過去のスケジュール情報を対象とする。
【０１２２】
〔ｃ−５〕スケジュール管理・変更部４７によるスケジュール調整処理について
次に、図１４に示すフローチャート（ステップＳ８ａ〜Ｓ８ｐ，Ｘ１２〜Ｘ１６，Ｙ１２〜Ｙ１６）を参照しながらスケジュール管理・変更部４７によるスケジュール調整処理（上記図８のステップＳ８の処理）の詳細を説明する。
なお、図１４に示すスケジュール調整処理は、例えば、図１５に示すようなユーザが設定したスケジュールがある場合には、それらを考慮して、上記図８のステップＳ７で作成したスケジュール情報を調整するものである。
【０１２３】
つまり、本ストレージシステム１は、ユーザが、インタフェース（図示せず）を介して、キャッシュメモリ３６の記憶内容を決定するスケジュール情報（図１５参照）をＣＰＵ３７，３８（スケジュール保持部５３）に設定可能に構成されている。
スケジュール管理・変更部４７は、スケジュール調整処理を開始すると（ステップＳ８ａ）、まず、処理日当日のスケジュール情報（上記“Today”欄のスケジュール情報；以下、処理日スケジュールともいう）があるか否かをチェック（処理日スケジュールチェック）する（ステップＳ８ｂ）。
【０１２４】
そして、処理日スケジュールが存在しなければ（ステップＳ８ｃのＮＯルート）、スケジュール管理・変更部４７は、後述するステップＳ８ｄ，Ｓ８ｅの処理をスキップする。
一方、処理日スケジュールが存在すれば（ステップＳ８ｃのＹＥＳルート）、スケジュール管理・変更部４７は、処理日スケジュールを更新すべき更新時間であるか否かをチェックする（ステップＳ８ｄ）。
【０１２５】
そして、更新時間でなければ（ステップＳ８ｅのＮＯルート）、スケジュール管理・変更部４７は、スケジュール調整処理を終了する（ステップＳ８ｆ）。
一方、更新時間であれば（ステップＳ８ｅのＹＥＳルート）、スケジュール管理・変更部４７は、ユーザが設定したユーザ設定スケジュール（図１５参照）があるか否かをチェックする（ステップＳ８ｇ）。
【０１２６】
そして、ユーザ設定スケジュールが存在しなければ（ステップＳ８ｈのＮＯルート）、スケジュール管理・変更部４７は、対象データ数分すべてに対して、半日分における所定時間帯毎（３０分単位間隔）に、処理日スケジュール（更新用スケジュール）をそのまま“Today”のスケジュールに設定して（ステップＳ８ｉ）、スケジュール調整処理を終了する（ステップＳ８ｆ）。
【０１２７】
ここで、図１４において、ボックスＸ１２，Ｙ１２並びにＸ１４，Ｙ１４及びＸ１６，Ｙ１６は、これらの間の処理を対象データ数分実行することを示し、ボックスＸ１３，Ｙ１３並びにＸ１５，Ｙ１５及びＸ１７，Ｙ１７は、これらの間の処理を半日間の時間単位分実行することを示している。
なお、このとき、上記ステップＳ８ｃにおいて処理日スケジュールがないと判断されていれば、スケジュール管理・変更部４７は、“Today”のスケジュール欄に、何ら情報を設定せずに、情報がない状態のまま維持する。
【０１２８】
一方、ユーザ設定スケジュールが存在すれば（ステップＳ８ｈのＹＥＳルート）、スケジュール管理・変更部４７は、ユーザ設定スケジュールによる最適化処理を行なうか否かを判断する（ステップＳ８ｊ）。
本ストレージシステム１は、ユーザがインタフェース（図示せず）を介して、キャッシュメモリ３６の内容を決定するスケジュール情報を調整するにあたり、ユーザ設定スケジュールを優先させる（即ち、ユーザ設定スケジュールをそのままスケジュール情報とする）か、あるいは、ユーザ設定スケジュール及び／又は対応する過去のスケジュール（履歴情報）を優先させるか（即ち、ユーザ設定スケジュール及び／又は対応する過去のスケジュールを用いた最適化処理を実行するか）を示す優先情報を、ＣＰＵ３７，３８のキャッシュメモリ制御部４５に対して設定可能に構成されている。
【０１２９】
したがって、スケジュール管理・変更部４７は、ユーザによって設定された優先情報に基づいて、最適化処理が必要であるか否かを判断する（ステップＳ８ｋ）。
ここで、スケジュール管理・変更部４７は、最適化処理が必要であると判断すると（ステップＳ８ｋのＹＥＳルート）、ユーザ設定スケジュールに基づいた処理日スケジュールの最適化を実施する（ステップＳ８ｌ）。
【０１３０】
このとき、スケジュール管理・変更部４７は、上記図１３に示した処理手順（アルゴリズム）により最適化処理を実行する。具体的には、スケジュール管理・変更部４７は、上記図１３のステップＳ２２において、処理日スケジュールとユーザ設定スケジュールとを取得し、これら処理日スケジュールとユーザ設定スケジュールとに対して、以降のステップＳ２３〜Ｓ４５の処理を実行する。
【０１３１】
これにより、スケジュール管理・変更部４７は、処理日スケジュールとユーザ設定スケジュールとの合わせ込みを行なって、処理日スケジュールを最適化し、最適化したスケジュール（即ち、“Operational Rank”）をメモリ（例えば、スケジュール保持部５３）に一時的に格納する（ステップＳ８ｍ）。
なお、スケジュール管理・変更部４７は、このステップＳ８ｌ，Ｓ８ｍの処理を、すべての時間単位分実行し（ボックスＸ１５，Ｙ１５参照）、さらにそれらを対象データ数分実行する（ボックスＸ１４，Ｙ１４参照）。
【０１３２】
そして、スケジュール管理・変更部４７は、最適化した処理日スケジュールを処理日スケジュールとして設定し（ステップＳ８ｎ）、スケジュール調整処理を終了する（ステップＳ８ｆ）。
一方、スケジュール管理・変更部４７は、最適化処理が不要であると判断すると（ステップＳ８ｋのＮＯルート）、ユーザ設定スケジュールをそのままメモリ（例えば、スケジュール保持部５３）に一時的に格納する（ステップＳ８ｏ）。
【０１３３】
なお、スケジュール管理・変更部４７は、このステップＳ８ｏの処理を、すべての時間単位分実行し（ボックスＸ１７，Ｙ１７参照）、さらにそれらを対象データ数分実行する（ボックスＸ１６，Ｙ１６参照）。
そして、スケジュール管理・変更部４７は、ユーザ設定スケジュールを処理日スケジュールとして設定し（ステップＳ８ｐ）、スケジュール調整処理を終了する（ステップＳ８ｆ）。
【０１３４】
このように、スケジュール管理・変更部４７は、ユーザが設定したユーザ設定スケジュールが存在し、且つ、ユーザによって最適化の指示があれば、過去の履歴情報に基づいて作成した処理日スケジュール（スケジュール情報）とユーザ設定スケジュールとの合わせ込みを行なって、処理日スケジュールを最適化するので、ユーザの意思にも過去の傾向にも合致した処理日スケジュールを設定することができる。その結果、キャッシュメモリ３６をより有効に使用できる。
さらに、ユーザの設定により、処理日スケジュールをユーザ設定スケジュールに変更することもできるので、ユーザの利便性が向上する。
【０１３５】
〔ｃ−６〕データ展開・解放制御部４９によるデータ展開・解放処理について
次に、図１６に示すフローチャート（ステップＳ５０〜Ｓ５６）を参照しながら、データ展開・解放制御部４９によるデータ展開・解放処理（上記図８のステップＳ９の処理）の詳細を説明する。
【０１３６】
なお、データ展開・解放制御部４９によるデータ展開・解放処理は、上記図８のステップＳ８においてスケジュール管理・変更部４７により最適化されスケジュール制御部４８から受信したスケジュール情報（上記図７参照）に基づいて、データ展開・解放制御部４９がキャッシュメモリ３６上のデータの展開／解放処理を行なうものである。
まず、データ展開・解放制御部４９は、スケジュール情報に基づいてデータ展開・解放処理を開始すると（ステップＳ５０）、スケジュール補正部５０が、実際にキャッシュメモリ３６にデータの展開／解放処理を行なう前に、アクセス履歴保持部５２に保持された直前のアクセス傾向（近況の処理状況）を判断する履歴情報チェック処理を実行する（ステップＳ５１）。
【０１３７】
次に、スケジュール補正部５０は、展開処理に関し、アクセス傾向に基づいてスケジュール情報を補正し、データ展開制御を判定する展開処理の制御判定処理を行なう（ステップＳ５２）。
また、スケジュール補正部５０は、解放処理に関し、アクセス傾向に基づいてスケジュール情報を補正し、データ解放制御を判定する解放処理の制御判定処理を行なう（ステップＳ５３）。
【０１３８】
そして、データ展開・解放制御部４９は、データ展開処理を行ない（ステップＳ５４）、さらにデータ解放処理を行なって（ステップＳ５５）、データ展開・解放処理を終了する（ステップＳ５６）。
【０１３９】
〔ｃ−６−１〕データ展開・解放制御部４９による履歴情報チェック処理について
ここで、図１７に示すフローチャート（ステップＳ６０〜Ｓ１０６，Ｘ１８，Ｘ１９，Ｙ１８，Ｙ１９）を参照しながら、データ展開・解放制御部４９のスケジュール補正部５０による履歴情報チェック処理（上記図１６のステップＳ５１の処理）の詳細を説明する。
【０１４０】
データ展開・解放制御部４９のスケジュール補正部５０は、履歴情報チェック処理を開始すると（ステップＳ６０）、直前の短時間履歴情報として、アクセス履歴保持部５２に保持された１分間隔のアクセス情報（例えば上記図４参照）を所定時間分（ここでは３０分間分）取得する（ステップＳ６１）。
そして、スケジュール補正部５０は、対象データすべてに対して後述するステップＳ６２〜Ｓ１０５の処理を行なう。なお、図１７において、ボックスＸ１８，Ｙ１８は、これらの間の処理を対象データ数分実行することを示している。
【０１４１】
まず、スケジュール補正部５０は、上記ステップＳ６１で取得した直前３０分間の履歴情報の１分間毎の平均値（以下、負荷平均値という）を算出する（ステップＳ６２）。
そして、スケジュール補正部５０は、１分間毎のアクセス情報（つまり、３０個の履歴情報）すべてに対して、後述するステップＳ６３〜Ｓ７６の処理を行なう。なお、図１７において、ボックスＸ１９，Ｙ１９は、これらの間の処理を対象データ数分実行することを示している。
【０１４２】
まず、スケジュール補正部５０は、１分間毎のアクセス情報に対して、当該アクセス情報が、かかる３０分間の前半部分のものか、後半部分のものかを確認する取得時間チェックを行なう（ステップＳ６３）。なお、スケジュール補正部５０は、現在に近い方の最新の１５分間のアクセス情報を前半部分と判断し、３０分間のうちの古い方の１５分間を後半部分と判断する。
【０１４３】
そして、スケジュール補正部５０は、当該アクセス情報について、取得時間が前半であると判断すると（ステップＳ６４の“前半”ルート）、負荷平均値と、当該アクセス情報のアクセス回数（実測値）との差分をチェックする（ステップＳ６５）。
その結果、実測値が平均値より大きければ（ステップＳ６６の“上”ルート）、スケジュール補正部５０は、前半部分で高負荷（アクセス頻度が増加）傾向であることを示す前半高負荷値（初期値は０）に１点を加点し（ステップＳ６７）、さらに、前半部分における高負荷差分の合計値を表わす前半高負荷差分値（初期値は０）に、上記ステップＳ６５において算出された実測値と平均値との差（絶対値）を加点する（ステップＳ６８）。
【０１４４】
一方、実測値が平均値より小さければ（ステップＳ６６の“下”ルート）、スケジュール補正部５０は、前半部分で低負荷（アクセス頻度が減少）傾向であることを示す前半低負荷値（初期値は０）に１点を加点し（ステップＳ６９）、さらに、前半部分における低負荷差分の合計値を表わす前半低負荷差分値（初期値は０）に、上記ステップＳ６５において算出された実測値と平均値との差（絶対値）を加点する（ステップＳ７０）。
【０１４５】
なお、実測値と平均値が等しければ、スケジュール補正部５０は高負荷傾向（即ち、ステップＳ６６の“上”ルート）であると判断して、上記ステップＳ６７，Ｓ６８の処理を行なう。
そして、スケジュール補正部５０は、上述した前半部分のアクセス情報に対する処理（ステップＳ６５〜Ｓ７０）と同様の処理（ステップＳ７１〜Ｓ７６）を、後半部分のアクセス情報に対しても実行する。
【０１４６】
つまり、スケジュール補正部５０は、当該アクセス情報について、取得時間が後半であると判断すると（ステップＳ６４の“後半”ルート）、負荷平均値と、当該アクセス情報実測値との差分をチェックする（ステップＳ７１）。
そして、スケジュール補正部５０は、実測値が負荷平均値より小さければ（ステップＳ７２の“下”ルート）、後半部分で低負荷（アクセス頻度が減少）傾向であることを示す後半低負荷値（初期値は０）に１点を加点し（ステップＳ７３）、さらに、後半部分における低負荷差分の合計値を表わす後半低負荷差分値（初期値は０）に、上記ステップＳ７１において算出された実測値と平均値との差（絶対値）を加点する（ステップＳ７４）。
【０１４７】
一方、スケジュール補正部５０は、実測値が平均値以上であれば（ステップＳ７２の“上”ルート）、後半部分で高負荷（アクセス頻度が増加）傾向であることを示す後半高負荷値（初期値は０）に１点を加点し（ステップＳ７５）、さらに、後半部分における高負荷差分の合計値を表わす後半高負荷差分値（初期値は０）に、上記ステップＳ７１において算出された実測値と平均値との差（絶対値）を加点する（ステップＳ７６）。
【０１４８】
そして、スケジュール補正部５０は、上記ステップＳ６３〜Ｓ７６の処理を直前の３０分間の１分単位のアクセス情報のすべてに対して実行した後に、前半部分について負荷加点のチェック処理を行なう（ステップＳ７７）。
つまり、スケジュール補正部５０は、上記ステップＳ６７において算出した前半高負荷値と、上記ステップＳ６９において算出した前半低負荷値とを比較し、前半部分が高負荷傾向であるか低負荷傾向であるかを判断する（ステップＳ７７）。
【０１４９】
ここで、前半高負荷値と前半低負荷値との差分がサンプルの１／４（つまり、ここでは前半１５分間分の１５個のデータの１／４である３．７５）以上ない場合には、スケジュール補正部５０は、高負荷と低負荷とが略同一であると判断して（ステップＳ７８の“高負荷≒低負荷”ルート）、前半部分に負荷変化（増減傾向）はないと判断する（ステップＳ７９）。
【０１５０】
また、前半高負荷値が前半低負荷値よりも４以上多い場合には、スケジュール補正部５０は、前半部分が高負荷の可能性があると判断して（ステップＳ７８の“高負荷≫低負荷”ルート）、負荷平均値と前半高負荷差分値の平均値（即ち、前半高負荷差分値をステップＳ６６において“上”（高負荷）と判定されたサンプル数で割った値）との差分を算出する前半高負荷差分加点比較処理を行なう（ステップＳ８０）。
【０１５１】
そして、算出した差分が平均値に対して５％未満であれば（ステップＳ８１の“５％未満”ルート）、スケジュール補正部５０は、前半部分に負荷変化はないと判断する（ステップＳ７９）。
一方、算出した差分が平均値に対して５％以上であれば（ステップＳ８１の“５％以上”ルート）、スケジュール補正部５０は、前半部分が高負荷傾向（増加傾向；前半高負荷）と判断する（ステップＳ８２）。
【０１５２】
また、前半低負荷値が前半高負荷値よりも４以上多い場合には、スケジュール補正部５０は、前半部分が低負荷の可能性があると判断して（ステップＳ７８の“高負荷≪低負荷”ルート）、負荷平均値と前半低負荷差分値の平均値（即ち、前半低負荷差分値をステップＳ６６において“下”（低負荷）と判定されたサンプル数で割った値）との差分を算出する前半低負荷差分加点比較処理を行なう（ステップＳ８３）。
【０１５３】
そして、算出した差分が平均値に対して５％未満であれば（ステップＳ８４の“５％未満”ルート）、スケジュール補正部５０は、前半部分に負荷変化はないと判断する（ステップＳ７９）。
一方、算出した差分が平均値に対して５％以上であれば（ステップＳ８４の“５％以上”ルート）、スケジュール補正部５０は、前半部分が低負荷傾向（減少傾向；前半低負荷）と判断する（ステップＳ８５）。
【０１５４】
さらに、スケジュール補正部５０は、上記ステップＳ７７〜Ｓ８５に示した前半部分に対する処理と同様の処理を、後半部分に対しても実行する。
なお、上記ステップＳ７７〜Ｓ８５の処理と、ステップＳ８６〜Ｓ９４の処理とはそれぞれ対応しており、各処理において対象とするデータが、後半低負荷値，後半高負荷値，後半低負荷差分値，及び後半高負荷差分値である点のみが異なっている。
【０１５５】
そして、スケジュール補正部５０は、後半部分について、後半負荷変化なし（ステップＳ８８）か、後半高負荷（ステップＳ９１）か、後半低負荷（ステップＳ９４）のいずれかを判断すると、前半部分の負荷傾向（前半負荷）と後半部分の負荷傾向（後半負荷）とを比較する処理を実行する（ステップＳ９５）。
具体的には、スケジュール補正部５０は、まず、前半負荷がどのように判断されたかを、上記ステップＳ７９，Ｓ８２，Ｓ８５の判断結果に基づいて判断する（ステップＳ９６）。
【０１５６】
ここで、スケジュール補正部５０は、前半負荷が高負荷であると判断すると（ステップＳ９６の“高負荷”ルート）、後半負荷がどのように判断されたかを、上記ステップＳ８８，Ｓ９１，Ｓ９４の判断結果に基づいて判断する（ステップＳ９７）。
そして、スケジュール補正部５０は、後半負荷が逆に低負荷であると判断すると（ステップＳ９７の“低負荷”ルート）、直前のアクセス傾向が、増加傾向化が大きい（高負荷化大）と判断する（ステップＳ９８）。
【０１５７】
一方、スケジュール補正部５０は、後半負荷の変化がないと判断すると（ステップＳ９７の“変化なし”ルート）、直前のアクセス傾向が、増加傾向化が小さい（高負荷化小）と判断する（ステップＳ９９）。
さらに、スケジュール補正部５０は、後半負荷も高負荷であると判断すると（ステップＳ９７の“高負荷”ルート）、直前のアクセス傾向が、増減変化なし（負荷変化なし）と判断する（ステップＳ１００）。
【０１５８】
また、スケジュール補正部５０は、上記ステップＳ９６において、前半負荷の変化がないと判断すると（ステップＳ９６の“変化なし”ルート）、上記ステップＳ９７と同様に後半負荷の傾向を判断する（ステップＳ１０１）。
ここで、スケジュール補正部５０は、後半負荷が低負荷であると判断すると（ステップＳ１０１の“低負荷”ルート）、直前のアクセス傾向が、増加傾向化が小さい（高負荷化小）と判断する（ステップＳ９９）。
【０１５９】
一方、スケジュール補正部５０は、後半負荷の変化がないと判断すると（ステップＳ１０１の“変化なし”ルート）、直前のアクセス傾向が、増減変化なし（負荷変化なし）と判断する（ステップＳ１００）。
さらに、スケジュール補正部５０は、後半負荷が高負荷であると判断すると（ステップＳ１０１の“高負荷”ルート）、直前のアクセス傾向が、減少傾向化が小さい（低負荷化小）と判断する（ステップＳ１０２）。
【０１６０】
また、スケジュール補正部５０は、上記ステップＳ９６において、前半負荷が低負荷であると判断すると（ステップＳ９６の“低負荷”ルート）、上記ステップＳ９７と同様に後半負荷の傾向を判断する（ステップＳ１０３）。
ここで、スケジュール補正部５０は、後半負荷が低負荷であると判断すると（ステップＳ１０３の“低負荷”ルート）、直前のアクセス傾向が、増減変化なし（負荷変化なし）と判断する（ステップＳ１００）。
【０１６１】
一方、スケジュール補正部５０は、後半負荷の変化がないと判断すると（ステップＳ１０３の“変化なし”ルート）、直前のアクセス傾向が、減少傾向化が小さい（低負荷化小）と判断する（ステップＳ１０２）。
さらに、スケジュール補正部５０は、後半負荷が高負荷であると判断すると（ステップＳ１０３の“高負荷”ルート）、直前のアクセス傾向が、減少傾向化が大きい（低負荷化大）と判断する（ステップＳ１０４）。
【０１６２】
そして、スケジュール補正部５０は、上述した負荷判定結果をメモリ（例えば、データリスト保持部５４）に保存する（ステップＳ１０５）。
スケジュール補正部５０は、上述したステップＳ６３〜Ｓ１０５の処理を、処理対象の全データに対して実行し（ボックスＸ１８，Ｙ１８参照）、履歴情報チェック処理を終了する（ステップＳ１０６）。
【０１６３】
このように、スケジュール補正部５０は、スケジュール情報に基づく展開／解放処理を行なう前に、当該スケジュール情報を作成してから当該スケジュール情報に基づく展開／解放処理を開始するまでの間に収集された直前のアクセス情報（履歴）に基づいて、直前のアクセス傾向を判断する。
なお、その際、スケジュール補正部５０は、直前の所定時間分のアクセス情報を、前半部分と後半部分とに分け、それぞれについて増減傾向を判断し、それら前半部分の増減傾向と後半部分の増減傾向とを比較することにより、直前のアクセス傾向を判断するので、かかる判断を正確に行なうことができる。
【０１６４】
また、増減傾向を判断するにあたり、負荷平均値に対するアクセス頻度の大小（前半高負荷値，前半低負荷値，後半高負荷値，後半低負荷値）だけを比較する（ステップＳ７８，Ｓ８７）だけでなく、負荷平均値に対する実際の差分値（前半高負荷差分値，前半低負荷差分値，後半高負荷差分値，後半低負荷差分値）に基づいて、増減傾向を判断するので、直前のアクセス傾向をより正確に判断できる。
【０１６５】
さらにその際、スケジュール補正部５０は、差分値の平均値が、負荷平均値に対して５％未満の差しかなければ（ステップＳＳ８１，Ｓ８４，Ｓ９０，Ｓ９３の“５％未満”ルート）、負荷変化なしと判断するので（ステップＳ７９，Ｓ８８）、負荷値に基づけば高負荷傾向または低負荷傾向であると判断できるものであっても、実際の差分値が殆どなければ変化なしと判断することにより、増減傾向の判断をより正確なものにできる。
【０１６６】
〔ｃ−６−２〕データ展開・解放制御部４９による展開処理制御判定処理について
次に、図１８に示すフローチャート（ステップＳ１１０ａ，Ｓ１１１〜Ｓ１４６，Ｓ１４７ａ〜Ｓ１５２ａ，Ｘ１９ａ，Ｙ１９ａ）を参照しながら、データ展開・解放制御部４９のスケジュール補正部５０による展開処理の制御判定処理（上記図１６のステップＳ５２の処理）を詳細に説明する。
【０１６７】
スケジュール補正部５０は、展開処理の制御判定処理を開始すると（ステップＳ１１０ａ）、まず、処理日スケジュールを取得する（ステップＳ１１１）。
そして、スケジュール補正部５０は、後述するステップＳ１１２〜Ｓ１４６，Ｓ１４７ａ〜Ｓ１５１ａの処理を、処理対象のデータ数分実行する（ボックスＸ１９ａ，Ｙ１９ａ参照）。
【０１６８】
スケジュール補正部５０は、取得した処理日スケジュールにおける現在時刻の優先度（Operational Rank）を確認する（ステップＳ１１２）。
つまり、スケジュール補正部５０はランク判定（図中“RANK判定”と表記）し（ステップＳ１１３）、データ展開制御のベース値としてのランクを設定する。
スケジュール補正部５０は、取得した優先度が、ランクＡであり（ステップＳ１１４）展開最優先モードである（ステップＳ１１５）か、ランクＢであり（ステップＳ１１６）展開優先モードである（ステップＳ１１７）か、ランクＣであり（ステップＳ１１８）展可能モードである（ステップＳ１１９）か、ランクＤであり（ステップＳ１２０）展開抑止モードである（ステップＳ１２１）かを判断する。
【０１６９】
そして、スケジュール補正部５０は、履歴情報の付け合せ処理として、上記図１７に詳細を示した履歴情報チェック処理（上記図１６のステップＳ５１の処理）によって獲得したアクセス傾向（負荷傾向）を示す情報から、実際のデータ展開制御処理のランクを決定する処理を開始する（ステップＳ１２２）。
具体的には、スケジュール補正部５０は、当該データの負荷傾向（上記図１６のステップＳ１０５において保存された負荷判定結果）をチェックする（ステップＳ１２３）。
【０１７０】
ここで、負荷傾向が高負荷傾向大であれば（ステップＳ１２４）、スケジュール補正部５０は、その負荷傾向に基づいて補正用の重みを算出する（ステップＳ１２５）。
具体的には、スケジュール補正部５０は、負荷傾向が高負荷傾向大であれば（ステップＳ１２４）、予め設定された重み基準値（例えば、１）を１．２倍して補正用の重みを算出する（ステップＳ１２５）。
【０１７１】
また、スケジュール補正部５０は、負荷傾向が高負荷傾向小であれば（ステップＳ１２６）、重み基準値を１．１倍して補正用の重みを算出し（ステップＳ１２７）、負荷変化なしであれば（ステップＳ１２８）、重み基準値を１．０倍して補正用の重みを算出し（ステップＳ１２９）、負荷傾向が低負荷傾向小であれば（ステップＳ１３０）、重み基準値を０．９倍して補正用の重みを算出し（ステップＳ１３１）、負荷傾向が低負荷傾向大であれば（ステップＳ１３２）、重み基準値を０．８倍して補正用の重みを算出する（ステップＳ１３３）。
【０１７２】
続いて、スケジュール補正部５０は、上記図１７のステップＳ６８またはステップＳ７０において算出した履歴情報の差分結果としての前半高負荷差分または前半低負荷差分を、補正用の重みに反映する（ステップＳ１３４）。
具体的には、スケジュール補正部５０は、下記式（４）に示す計算を行なう。
補正用の重み＋（差分結果／１００）  ・・・（４）
ここで、スケジュール補正部５０は、上記ステップＳ１２３のチェック結果が、高負荷傾向大（ステップＳ１２４）または高負荷傾向小（ステップＳ１２６）であった場合には、上記図１７のステップＳ６８において算出した前半高負荷差分を上記式（４）の差分結果の値として採用する。このとき、スケジュール補正部５０は、前半高負荷差分をそのまま正の値として差分結果に使用する。
【０１７３】
一方、スケジュール補正部５０は、上記ステップＳ１２３のチェック結果が、低負荷負荷傾向小（ステップＳ１３０）または低負荷傾向大（ステップＳ１３２）であった場合には、上記図１７のステップＳ７０において算出した前半低負荷差分を上記式（４）の差分結果の値として採用する。このとき、スケジュール補正部５０は、前半低負荷差分を負の値として差分結果に使用する。
【０１７４】
また、スケジュール補正部５０は、上記ステップＳ１２３のチェック結果が、変化なし（ステップＳ１２８）であった場合には、差分結果の値として０を使用する。
次に、スケジュール補正部５０は、上記図１７のステップＳ６２において算出した履歴情報の負荷平均値に補正用の重みの値を反映する（ステップＳ１３５）。
具体的には、スケジュール補正部５０は、負荷平均値に上記ステップＳ１３４において処理を施された補正用の重みを積算する。
【０１７５】
そして、スケジュール補正部５０は、その反映結果を判定する（ステップＳ１３６）。
ここで、反映結果（即ち、上記ステップＳ１３５による処理結果）が、１０以上であれば（ステップＳ１３７）、スケジュール補正部５０は、当該対象データの補正用のランクをランクＡと判定する（ステップＳ１３８）。
また、スケジュール補正部５０は、反映結果が２〜９．９９の範囲内であれば（即ち、２以上で１０より小さければ；ステップＳ１３９）、当該対象データの補正用のランクをランクＢと判定し（ステップＳ１４０）、反映結果が０．５〜１．９９の範囲内であれば（即ち、０．５以上で２より小さければ；ステップＳ１４１）、当該対象データの補正用のランクをランクＣと判定し（ステップＳ１４２）、反映結果が０〜０．４９の範囲内であれば（即ち、０以上で０．５より小さければ；ステップＳ１４３）、当該対象データの補正用のランクをランクＤと判定する（ステップＳ１４４）。
【０１７６】
なお、これらランクＡ〜Ｄは、スケジュール情報における優先度としてのランクと同様の意義を持つものであるが、反映結果は、３０分間の平均値（１分間当たりの値）であるので、上記ステップＳ１３７、Ｓ１３９、Ｓ１４１，Ｓ１４３の条件に基づいて、同義のランク付けを行なうことができる。
続いて、スケジュール補正部５０は、反映結果の結果値と補正用のランクとをメモリ（例えば、データリスト保持部５４）に記憶し（ステップＳ１４５）、上記ステップＳ１１３における判定結果であるベース値としてのランクと、補正用のランク（反映結果）との照合を行なう（ステップＳ１４６）。
【０１７７】
具体的には、スケジュール補正部５０は、ベース値としてのランク及び補正用のランクをそれぞれ数値化して平均値を算出する。ここでは、ランクＡは１，ランクＢは２，ランクＣは３，ランクＤは４として、ベース値としてのランク及び補正用のランクをそれぞれ数値化して、これら２つの値の平均値を求める。
そして、スケジュール補正部５０は、上記平均値を用いてデータ展開優先度判定処理を開始する（ステップＳ１４７ａ）。
【０１７８】
まず、スケジュール補正部５０は、キャッシュメモリ３６上の記憶内容の制御処理においてデータ展開を優先するか通常運用を行なうかを示すデータ展開優先情報に基づいて、キャッシュメモリ３６上へのデータ展開が優先であるか否かを判断する（ステップＳ１４８ａ）。
つまり、本ストレージシステム１において、ユーザはインタフェース（図示せず）を介して、データ展開優先情報を設定可能に構成されている。
【０１７９】
そして、スケジュール補正部５０は、データ展開優先情報が、データ展開優先を示すものであれば（ステップＳ１４８ａのＹＥＳルート）、データ展開優先判定処理として、上記ステップＳ１４６において算出した平均値の余りを切り捨てた値に基づいて、当該対象データの最終的なランクを判定する処理を行なう（ステップＳ１４９ａ）。
例えば、平均値が１．５であった場合には、スケジュール補正部５０は、その平均値における０．５を切り捨てて平均値を１．０として取り扱い、上記ステップＳ１４６においてランクを数値化した値を用いて、その平均値をランク化する。
【０１８０】
具体的には、スケジュール補正部５０は、平均値が１であればランクＡと判定し、平均値が２であればランクＢと判定し、平均値が３であればランクＣと判定し、平均値が４であればランクＤと判定する。
このように、スケジュール補正部５０は、データ展開優先時には、平均値の余りを切り捨てることによって、平均値を極力小さい値にして当該データの最終的な優先度を高めるようにする。
【０１８１】
一方、スケジュール補正部５０は、データ展開優先情報が、通常運用を示すものであれば（ステップＳ１４８ａのＮＯルート）、通常運用優先判定処理として、上記ステップＳ１４６において算出した平均値の余りを繰り上げた値に基づいて、当該対象データの最終的なランクを判定する処理を行なう（ステップＳ１５０ａ）。
例えば、平均値が１．５であった場合には、スケジュール補正部５０は、その平均値における０．５を繰り上げて平均値を２．０として取り扱い、その平均値を上記ステップＳ１４９ａの処理と同様にランク化する。
【０１８２】
このように、スケジュール補正部５０は、通常運用優先時には、平均値の余りを繰り上げることによって、平均値を通常通り取り扱って当該データの最終的な優先度を求める。
そして、スケジュール補正部５０は、上記ステップＳ１４９ａもしくは上記ステップＳ１５０ａにおいて判定したランクを、最終的なランクとしての個別制御用ランク（Operational Rank）として設定する（ステップＳ１５１ａ）。例えば、スケジュール補正部５０は、データ保持部５４に当該ランクを記録する。
【０１８３】
スケジュール補正部５０は、上述したステップＳ１１２〜Ｓ１４６，Ｓ１４７ａ〜Ａ１５１ａまでの処理を、対象データ数分実行し（ボックスＸ１９ａ，Ｙ１９ａ参照）、展開処理制御判定処理を終了する（ステップＳ１５２ａ）。
このように、スケジュール補正部５０は、データ展開処理を行なう前に直前のアクセス傾向に基づいて、スケジュール情報を当該アクセス傾向に合わせて確実に補正することができる。つまり、スケジュール補正部５０は、直前のアクセス傾向に基づいてスケジュール情報を動的に変化させることができる。したがって、スケジュール情報を決定してからアクセス傾向が変化した場合などであっても、補正後のアクセス傾向に基づいてデータ展開処理を行なうことにより、キャッシュメモリ３６を有効に活用することができる。
【０１８４】
なお、上述した図１８の各ステップにおいて用いたすべての数値は、本発明において限定されるものではなく、上記図１８の処理の趣旨を逸脱しない範囲で種々変更することができる。
【０１８５】
〔ｃ−６−３〕データ展開・解放制御部４９による解放処理制御判定処理について
次に、図１９に示すフローチャート（ステップＳ１１０ｂ，Ｓ１１１〜Ｓ１４６，Ｓ１４７ｂ〜Ｓ１５２ｂ，Ｘ１９ｂ，Ｙ１９ｂ）を参照しながら、データ展開・解放制御部４９のスケジュール補正部５０による解放処理の制御判定処理（上記図１６のステップＳ５３の処理）を詳細に説明する。
【０１８６】
なお、図１９において既述の符号と同一の符号は、同一の処理もしくは略同一の処理を示している。
つまり、スケジュール補正部５０は、展開処理の制御判定処理と同様に、解放処理の制御判定処理を開始すると（ステップＳ１１０ｂ）、処理日スケジュールを取得し（ステップＳ１１１）、上述したステップＳ１１２〜Ｓ１４６までの処理を実行する。
【０１８７】
そして、スケジュール補正部５０は、上記ステップＳ１４６で算出した平均値を用いてデータ解放優先度判定処理を開始する（ステップＳ１４７ｂ）。
まず、スケジュール補正部５０は、キャッシュメモリ３６上の記憶内容の制御処理においてデータ解放を優先するか通常運用を行なうかを示すデータ解放優先情報に基づいて、キャッシュメモリ３６上へのデータ解放が優先であるか否かを判断する（ステップＳ１４８ｂ）。
【０１８８】
つまり、本ストレージシステム１において、ユーザはインタフェース（図示せず）を介して、データ解放優先情報を設定可能に構成されている。
そして、スケジュール補正部５０は、データ解放優先情報が、データ解放優先を示すものであれば（ステップＳ１４８ｂのＹＥＳルート）、データ解放優先判定処理として、上記ステップＳ１４６において算出した平均値の余りを繰り上げた値に基づいて、当該対象データの最終的なランクを判定する処理を行なう（ステップＳ１４９ｂ）。
【０１８９】
例えば、平均値が１．５であった場合には、スケジュール補正部５０は、その平均値における０．５を繰り上げして、即ち、“＋１”として扱って、平均値を２．０として取り扱い、上記ステップＳ１４６においてランクを数値化した値を用いて、その平均値をランク化する。
具体的には、スケジュール補正部５０は、平均値が１であればランクＡと判定し、平均値が２であればランクＢと判定し、平均値が３であればランクＣと判定し、平均値が４であればランクＤと判定する。
【０１９０】
このように、スケジュール補正部５０は、データ解放優先時には、平均値の余りを繰り上げることによって、平均値を極力大きい値にして当該データの最終的な優先度を低くするようにする。
一方、スケジュール補正部５０は、データ解放優先情報が、通常運用を示すものであれば（ステップＳ１４８ｂのＮＯルート）、通常運用優先判定処理として、上記ステップＳ１４６において算出した平均値の余りを切り捨てた値に基づいて、当該対象データの最終的なランクを判定する処理を行なう（ステップＳ１５０ｂ）。
【０１９１】
例えば、平均値が１．５であった場合には、スケジュール補正部５０は、その平均値における０．５を切り捨てて平均値を１．０として取り扱い、その平均値を上記ステップＳ１４９ｂの処理と同様にランク化する。
そして、スケジュール補正部５０は、上記ステップＳ１４９ｂもしくは上記ステップＳ１５０ｂにおいて判定したランクを、最終的なランクとしての個別制御用ランク（Operational Rank）として設定する（ステップＳ１５１ｂ）。例えば、スケジュール補正部５０は、データ保持部５４に当該ランクを記録する。
【０１９２】
スケジュール補正部５０は、上述したステップＳ１１２〜Ｓ１４６，Ｓ１４７ｂ〜Ａ１５１ｂまでの処理を、対象データ数分実行し（ボックスＸ１９ｂ，Ｙ１９ｂ参照）、解放処理制御判定処理を終了する（ステップＳ１５２ｂ）。
このように、スケジュール補正部５０は、データ解放処理を行なう前に直前のアクセス傾向に基づいて、スケジュール情報を当該アクセス傾向に合わせて確実に補正することができる。つまり、スケジュール補正部５０は、直前のアクセス傾向に基づいてスケジュール情報を動的に変化させることができる。したがって、スケジュール情報を決定してからアクセス傾向が変化した場合などであっても、補正後のアクセス傾向に基づいてデータ解放処理を行なうことにより、キャッシュメモリ３６を有効に活用することができる。
【０１９３】
なお、上述した図１９の各ステップにおいて用いたすべての数値は、本発明において限定されるものではなく、上記図１９の処理の趣旨を逸脱しない範囲で種々変更することができる。
【０１９４】
〔ｃ−６−４〕データ展開・解放制御部４９によるデータ展開処理について
次に、図２０に示すフローチャート（ステップＳ５４ａ〜Ｓ５４ｅ，Ｘ２０，Ｙ２０）を参照しながら、データ展開・解放制御部４９によるデータ展開処理（上記図１６のステップＳ５４の処理）の詳細を説明する。
【０１９５】
データ展開・解放制御部４９は、データ展開処理を開始すると（ステップＳ５４ａ）、まず、データ展開・解放制御部４９のリスト作成部５１が、データ展開リストを作成する（ステップＳ５４ｂ）。
リスト作成部５１によるデータ展開リスト作成処理については、後述する図２２を参照しながら詳述するが、リスト作成部５１は、上記図１８に示した展開処理の制御判定処理結果としての最終的なランク，現在のキャッシュメモリ３６のデータ展開状態，及び装置構成情報をチェックして、例えば図２１に示すような、所定の時間帯毎のデータ展開用のデータ番号と優先度（ランク）とからなるデータ展開リストを作成する。
【０１９６】
そして、データ展開・解放制御部４９は、データ展開リストからキャッシュメモリ３６への展開処理を実施する（ステップＳ５４ｃ）。具体的には、データ展開・解放制御部４９は、データ展開リストに基づいて、ＩＯ制御部４０に対してＤＥ１０からの展開対象データの先読みを依頼することにより、キャッシュメモリ３６上へのデータの展開を実行する。
【０１９７】
ここで、データ展開・解放制御部４９は、ボックスＸ２０，Ｙ２０に示すように、当該リストにある対象データ数分に対して、キャッシュメモリ３５上に展開し（ステップＳ５４ｄ）、データ展開処理を終了する（ステップＳ５４ｅ）。
【０１９８】
〔ｃ−６−５〕リスト作成部５１によるデータ展開リストの作成処理について
ここで、図２２に示すフローチャート（ステップＳ１６０〜Ｓ１８５，Ｘ２１〜Ｘ２４，Ｙ２１〜Ｙ２４）を参照しながら、データ展開・解放制御部４９によるデータ展開リストの作成処理（上記図２０のステップＳ５４ｂの処理）の詳細を説明する。
【０１９９】
リスト作成部５１は、データ展開リストの作成処理を開始すると（ステップＳ１６０）、まず、現在のキャッシュメモリ３６上に展開されているデータのリストである、現データ展開リストを読み込む（ステップＳ１６１）。
なお、現データ展開リストは、例えば、キャッシュメモリ制御部４５が常に管理している情報である。
【０２００】
次に、リスト作成部５１は、データ展開リストの作成処理（ステップＳ１６２）として、まず、対象データが、キャッシュメモリ３６に空き領域にデータ展開可能であるか否かを判断する（ステップＳ１６３）。
なお、図２２において、ボックスＸ２１，Ｙ２１は、これらの間の処理を対象データ数分実行することを示している。
【０２０１】
そして、リスト作成部５１は、データ展開が可能であると判断すると（ステップＳ１６４のＹＥＳルート）、その対象データがキャッシュメモリ３６上に既に展開済みであるか否かを判断する（ステップＳ１６５）。
ここで、リスト作成部５１は、当該対象データが既に展開済みの状態であれば（ステップＳ１６６のＹＥＳルート）、その対象データは展開済みなのでリスト作成対象から除外する（ステップＳ１６７）。なお、対象データすべてについてデータ展開リスト作成処理が完了するまでは、上記ボックスＸ２１にループバックし（ボックスＹ２１参照）、すべての対象データに対して処理が終了すれば、データ展開リスト作成処理を終了する（ステップＳ１６８）。
【０２０２】
一方、当該対象データがキャッシュメモリ３６上に展開済みでなければ（ステップＳ１６６のＮＯルート）、リスト作成部５１は、当該対象データを、展開リスト（図２１参照）に追加する（ステップＳ１６９）。
また、リスト作成部５１は、上記ステップＳ１６４において、データ展開が不可能であると判断すると（ステップＳ１６４のＮＯルート）、現データ展開リスト上のデータと、当該対象データとの優先度比較を行なう展開情報チェック処理を行なう（ステップＳ１７０）。
【０２０３】
具体的には、リスト作成部５１は、対象データのランクと、現データ展開リストのうちの一つのデータのランクとを比較し（図中“展開リストRANKチェック”と表記；ステップＳ１７１）、ここで、現データ展開リストのデータの優先度の方が低ければ（図中、“既存リスト優先度低”と表記；ステップＳ１７２のＹＥＳルート）、リスト作成部５１は、現データ展開リスト（もしくは、そのリストのコピー）において、当該一つのデータを当該対象データに置き換える展開リスト置き換え処理を行なう（ステップＳ１７３）。
【０２０４】
ここでは、リスト作成部５１は、まず、当該対象データより優先度が低いデータを実際に特定する処理（図中“優先度低RANKデータサーチ”と表記）を行なう（ステップＳ１７４）。このとき、リスト作成部５１は、現データ展開リスト上のデータ一つ一つについて対象データとのランクの比較を行なう。
そして、リスト作成部５１は、現データ展開リスト上のデータの優先度が対象データより低ければ（ステップＳ１７５のＹＥＳルート）、そのデータを新たな展開リストにおいて当該対象データに置き換える（ステップＳ１７６）。
【０２０５】
一方、リスト作成部５１は、現データ展開リスト上のデータの優先度が対象データより高ければ（ステップＳ１７５のＮＯルート）、現データ展開リスト上の次のデータに対して上記ステップＳ１７４、Ｓ１７５の処理を行なう。
ここで、図２２において、ボックスＸ２３，Ｙ２３は、上記ステップＳ１７５の処理においてＮＯルートをとる限り、上記ステップＳ１７４，Ｓ１７５の処理を現データ展開リストのすべてのデータ分実行することを示している。
【０２０６】
そして、リスト作成部５１は、現データ展開リストのすべてのデータに対して上記ステップＳ１７４，Ｓ１７５の処理を実行した結果、現データ展開リストに対象データよりも優先度が低いデータがなければ、当該対象データの新たな展開リストへの置き換えは不要であると判断する（ステップＳ１７７）。
また、リスト作成部５１は、上記ステップＳ１７２において、対象データのランクと、現データ展開リストの一つのデータのランクとを比較結果が、現データ展開リストのデータの優先度の方が高いものであれば（ステップＳ１７２のＮＯルート）、現データ展開リスト上の次のデータに対して上記ステップＳ１７１、Ｓ１７２の処理を行なう。
【０２０７】
ここで、図２２において、ボックスＸ２２，Ｙ２２は、上記ステップＳ１７２の処理においてＮＯルートをとる限り、上記ステップＳ１７１，Ｓ１７２の処理を現データ展開リストのすべてのデータ分実行することを示している。
そして、リスト作成部５１は、現データ展開リストのすべてのデータに対して上記ステップＳ１７１，Ｓ１７２の処理を実行した結果、現データ展開リストに対象データよりも優先度が低いデータがなければ、当該対象データが展開優先データであるか否か、例えば、ランクＡであるか否かを判断する優先度チェックを行なう（ステップＳ１７８）。
【０２０８】
ここで、リスト作成部５１は、当該対象データが優先ランクでなければ（ステップＳステップＳ１７９のＮＯルート）、当該対象データの新たな展開リストへの置き換えは不要であると判断する（ステップＳ１８０）。
一方、リスト作成部５１は、当該対象データが優先ランクであれば（ステップＳステップＳ１７９のＹＥＳルート）、現在のキャッシュメモリ３６上のデータから解放すべきデータを判定するデータ解放処理判定（上記図１９参照）を行なった上で（ステップＳ１８１）、データ解放すべきもの、即ち、ランクＤのデータがあるか否かを判断するデータ解放優先度チェックを行なう（ステップＳ１８２）。
【０２０９】
ここで、リスト作成部５１は、解放優先のもの（ランクＤのデータ）があれば（ステップＳ１８３のＹＥＳルート）、当該データを新たな展開リストにおいて対象データに置き換える（ステップＳ１８４）。
また、リスト作成部５１は、上記ステップＳ１８３において、現データ展開リスト上のデータが解放優先なければ（ステップＳ１８３のＮＯルート）、現データ展開リスト上の次のデータに対して上記ステップＳ１８２，Ｓ１８３の処理を行なう。
【０２１０】
ここで、図２２において、ボックスＸ２４，Ｙ２４は、上記ステップＳ１８３の処理においてＮＯルートをとる限り、上記ステップＳ１８２，Ｓ１８３の処理を現データ展開リストのすべてのデータ分実行することを示している。
そして、リスト作成部５１は、現データ展開リストのすべてのデータに対して上記ステップＳ１８２，Ｓ１８３の処理を実行した結果、現データ展開リストに解放優先のデータがなければ、当該対象データの新たな展開リストへの置き換えは不要であると判断する（ステップＳ１８５）。
【０２１１】
リスト作成部５１は、上述したステップＳ１６３〜Ｓ１８５の処理を対象データ数分実行し（ボックスＸ２１，Ｙ２１参照）、データ展開リスト作成処理を終了する（ステップＳ１６８）。
このように、リスト作成部５１は、スケジュール補正部５０によって補正された優先度情報と、現在のキャッシュメモリ３６上のデータを示す現データ展開リストとに基づいて、キャッシュメモリ３６上に展開すべきデータのリストを作成するので、データ展開・解放制御部４９が、当該リストに基づいてデータ展開処理を行なうことにより、現状のキャッシュメモリ３６の使用状況を踏まえたデータ展開処理を確実に実行することができ、その結果、キャッシュメモリ３６をより有効に活用することができる。
【０２１２】
〔ｃ−６−６〕データ展開・解放制御部４９によるデータ解放処理について
次に、図２３に示すフローチャート（ステップＳ５５ａ〜Ｓ５５ｅ，Ｘ２５，Ｙ２５）を参照しながら、データ展開・解放制御部４９によるデータ解放処理（上記図１６のステップＳ５５の処理）の詳細を説明する。
データ展開・解放制御部４９は、データ解放処理を開始すると（ステップＳ５５ａ）、まず、データ展開・解放制御部４９のリスト作成部５１が、データ解放リストを作成する（ステップＳ５５ｂ）。
【０２１３】
リスト作成部５１によるデータ解放リスト作成処理については、後述する図２５を参照しながら詳述するが、リスト作成部５１は、上記図１９に示した解放処理の制御判定処理結果としての最終的なランク，現在のキャッシュメモリ３６のデータ展開状態，及び装置構成情報をチェックして、例えば図２４に示すような、所定の時間帯毎のデータ展開用のデータ番号と優先度（ランク）とからなるデータ解放リストを作成する。
【０２１４】
そして、データ展開・解放制御部４９は、作成したデータ解放リストに基づいてキャッシュメモリ３６からデータが使用していた領域の解放処理、即ち、当該データの削除処理を実施する（ステップＳ５５ｃ）。具体的には、データ展開・解放制御部４９は、データ解放リストに基づいて、キャッシュメモリ３６の制御部（ここではキャッシュメモリ制御部４５）に削除すべきデータの情報（解放優先情報）を送信することにより、キャッシュメモリ３６の当該データに係る解放処理を実行する。
【０２１５】
ここで、データ展開・解放制御部４９は、ボックスＸ２５，Ｙ２５に示すように、当該リストにある対象データ数分に対して、データをキャッシュメモリ３５上に展開し（ステップＳ５５ｄ）、データ解放処理を終了する（ステップＳ５５ｅ）。
〔ｃ−６−７〕リスト作成部５１によるデータ解放リストの作成処理について
ここで、図２５に示すフローチャート（ステップＳ１９０〜Ｓ２０１，Ｘ２６，Ｙ２６）を参照しながら、データ展開・解放制御部４９によるデータ解放リストの作成処理（上記図２３のステップＳ５５ｂの処理）の詳細を説明する。
【０２１６】
リスト作成部５１は、データ解放リストの作成処理を開始すると（ステップＳ１９０）、まず、現在のキャッシュメモリ３６上に展開されているデータのリストである、現データ展開リストを読み込む（ステップＳ１９１）。
次に、リスト作成部５１は、データ解放リストの作成処理（ステップＳ１９２）として、まず、現データ展開リストにおける一つのデータが最優先解放可能であるか否かを判断する（ステップＳ１９３）。
【０２１７】
なお、図２５において、ボックスＸ２６，Ｙ２６は、これらの間の処理を現データ展開リストの対象データ数分実行することを示している。
具体的には、リスト作成部５１は、現データ展開リストにおける一つのデータが最優先解放可能であるか否かを、当該データの優先度がＤであるか否かに基づいて判断する（ステップＳ１９４）。
【０２１８】
ここで、リスト作成部５１は、最優先解放可能であると判断すると（ステップＳ１９４のＹＥＳルート）、当該データを優先解放情報として設定、つまり、データ解放リストに追加して（ステップＳ１９５）、現データ展開リスト上の次のデータに対する処理を行なう。
一方、リスト作成部５１は、対象データが最優先解放可能でなければ（即ち、優先度がＤでなければ；ステップＳ１９４のＮＯルート）、そのデータが解放を抑止すべきものであるか否かをチェックする、解放抑止チェックを行なう（ステップＳ１９６）。
【０２１９】
つまり、リスト作成部５１は、当該データが解放抑止すべきであるか、即ち、優先度がＡであるか、または、優先度がＡ，Ｂのいずれかであるかを判断する（ステップＳ１９７）。
ここで、当該データが解放を抑止すべきものである場合（優先度がＡまたはＢのデータである場合）には（ステップＳ１９７のＹＥＳルート）、リスト作成部５１は、データ解放リストに当該データは含めず、解放を抑止する（ステップＳ１９８）。
【０２２０】
一方、当該データが解放抑止すべきものでない場合（優先度がＢまたはＣのデータである場合）には（ステップＳ１９７のＮＯルート）、リスト作成部５１は、当該データが解放可能であるか否かの解放可能判定チェックを行なう（ステップＳ１９９）。
具体的には、リスト作成部５１は、当該データのアクセス傾向が、例えば前回の所定時間帯の優先度と比較して、減少傾向であるか否かを判断し（ステップＳ２００）、減少傾向であれば（ステップＳ２００のＹＥＳルート）、当該データは解放可能であると判定して、データ解放リストに当該データを加える優先解放情報の設定処理を行なう（ステップＳ１９５）。
【０２２１】
一方、リスト作成部５１は、当該データが減少傾向でなければ（ステップＳ２００のＮＯルート）、解放不可能であると判断して、データ解放リストに当該データは含めず、解放を抑止する（ステップＳ１９８）。
そして、リスト作成部５１は、上述したステップＳ１９３〜Ｓ２００の処理を、現データ展開リストのすべての対象データ数分実行し（ボックスＸ２６，Ｙ２６参照）、データ解放リスト作成処理を終了する（ステップＳ２０１）。
【０２２２】
このように、リスト作成部５１は、データ展開・解放制御部４９によるデータ展開処理の後に、そのときの現状のキャッシュメモリ３６上の現データ展開リストと、スケジュール情報（優先度）とに基づき、現データ展開リストに存在し、且つ、優先度が低く解放（削除）すべきデータを確実にリストに含めることができる。
換言すると、リスト作成部５１は、上述したデータ解放リスト作成処理により、削除すべきでないデータは確実に残す一方で、削除できるデータは積極的に削除すべく、データ解放リストを作成することができるので、キャッシュメモリ３６をより有効に使用できる。
【０２２３】
〔ｄ〕本発明の一実施形態としてのストレージシステム１による作用効果について
このように、本発明の一実施形態としてのストレージシステム１によれば、ＣＭ３１のＣＰＵ３７，３８のキャッシュメモリ制御部４５が、ホスト２０からのＤＥ１０に記憶されたデータに対するアクセス状況を監視するアクセス情報収集制御部４３及びアクセス監視・履歴管理部４６と、そのアクセス状況に基づいて、キャッシュメモリ３６の記憶内容を決定するスケジュール情報を作成するスケジュール管理・変更部４７及びスケジュール制御部４８と、そのスケジュール情報に基づいて、ＤＥ１０からキャッシュメモリ３６へのデータの記録処理と、キャッシュメモリ３６からのデータの削除処理とを制御するデータ展開・解放制御部４９とを備えているので、アクセス状況に即した、ホスト２０からアクセスが予想されるデータを、キャッシュメモリ３６上に確実に記録させることができる。さらに、アクセス状況に即した、ホスト２０からアクセスがないことが予想されるデータをキャッシュメモリ３６上から積極的に削除することができる。したがって、削除した分の領域を他のアクセス頻度が高いデータに割り当てたり、スケジュール情報外のデータに割り当てたりすることができ、キャッシュメモリ３６をより有効に使用して、ホスト２０に対するレスポンス性能をより向上できる。
【０２２４】
なお、データ展開・解放制御部４９は、スケジュール情報に基づいて記録処理を行なった後に、スケジュール情報に基づいて削除処理を実行するので、アクセスが予想されるデータのキャッシュメモリ３６上への展開が終了していても、ホスト２０からアクセスがないことが予想されるデータをキャッシュメモリ３６上からより積極的に削除することになり、キャッシュメモリ３６の領域をより有効に利用することができる。
【０２２５】
また、スケジュール管理・変更部４７が、ＤＥ１０に記憶された複数のデータ毎のスケジュール情報として、所定の時間帯毎に、キャッシュメモリ３６に記録させるべき優先度を示す優先度情報を作成し、データ展開・解放制御部４９が、その優先度情報に基づいて、記録処理及び削除処理を制御するので、キャッシュメモリ３６を、アクセス頻度に基づいて、確実に有効利用でき、ホスト２０に対するレスポンス性能を確実に向上できる。つまり、限りあるキャッシュメモリ３６の容量の中で、アクセス確率の高いデータを確実に読み出せるように構成することができる。
【０２２６】
さらに、スケジュール管理・変更部４７は、アクセス状況とユーザによって予め設定されたスケジュール情報とに基づいて、優先度情報を作成するので、キャッシュメモリ３６の制御をユーザの意思を反映したものにすることができ、ユーザの利便性が向上する。また、例えば、ユーザが、ホスト２０が必ずアクセスすることが分かっているデータがある場合には、それをキャッシュメモリ３６の制御に反映させることができるので、キャッシュメモリ３６のさらなる有効利用にも寄与できる。
【０２２７】
また、データ展開・解放制御部４９は、優先度情報に基づいて記録処理及び削除処理を制御する際に、直前のアクセス状況に応じて優先度情報を補正するスケジュール補正部５０を備えているので、アクセス状況に応じてスケジュール情報を生成しても、その後、当該スケジュール情報に基づいて実際に処理を開始するまでの間に、アクセス状況が変化した場合であっても、そのアクセス状況の変化に対応した優先度情報に基づいて、キャッシュメモリ３６の記憶内容を制御することができ、キャッシュメモリ３６をより有効に利用でき、ホスト２０に対するレスポンス性能をより確実に向上できる。
【０２２８】
このとき、スケジュール補正部５０は、直前のアクセス状況として所定時間内におけるデータに対するアクセス増減傾向に基づき、アクセス増加傾向であれば当該データの優先度情報を高くなるように補正する一方、アクセス減少傾向であれば当該データの優先度情報を低くなるように補正するので、直前のアクセス状況に応じた優先度情報に確実に補正でき、上述した作用効果をより確実に得ることができる。
【０２２９】
また、データ展開・解放制御部４９は、スケジュール補正部５０による補正後のスケジュール情報に基づいてキャッシュメモリ３６からのデータの削除処理を制御するので、削除処理についても、その処理を実行する直前のアクセス傾向に応じて実行することができるので、キャッシュメモリ３６をより有効に利用でき、ホスト２０に対するレスポンス性能をより確実に向上できる。
【０２３０】
〔２〕その他
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上述した実施形態では、スケジュール管理・変更部４７が、ユーザによって設定されたスケジュール情報に基づいて、スケジュール調整処理（最適化）を行なう場合（図１４参照）を例にあげて説明したが、本発明はこれに限定されるものではなく、スケジュール管理・変更部４７は、作成したスケジュール情報に対応する過去のスケジュールに基づいて、スケジュール調整処理を行なってもよい。
【０２３１】
つまり、スケジュール管理・変更部４７は、アクセス状況と過去のスケジュール情報とに基づいて優先度情報を作成してもよい。
具体的には、上記図１４に示す処理において、ユーザ設定スケジュールの代わりに、対応する過去のスケジュールを用いればよい。例えば、スケジュール管理・変更部４７は、対応する過去のスケジュールとして、過去の同一日や、過去の同一曜日や、過去の同一月日等のスケジュールを用いて、最適化を行なう。
【０２３２】
これにより、スケジュール管理・変更部４７は、過去の履歴を加味したスケジュール情報を作成することができ、反復性のあるデータなどをスケジュール情報に効果的に反映でき、その結果、キャッシュメモリ３６をより有効に利用してホスト２０に対するレスポンス性能を向上できる。
また、上述した実施形態では、データ展開・解放制御部４９は、スケジュール情報の優先度に基づいてキャッシュメモリ３６上のデータの削除処理を実行する場合を例にあげて説明したが、本発明はこれに限定されるものではなく、例えば、スケジュール管理・変更部４７が、スケジュール情報として、ＤＥ１０に記憶された複数のデータ毎に、所定の時間帯毎に予想される予想アクセス回数を作成し、データ展開・解放制御部４９が、データに対するアクセス回数が予想アクセス回数に到達すると、そのデータをキャッシュメモリ３６から削除するように構成してもよい。
【０２３３】
なお、データ展開・解放制御部４９が作成する予想アクセス回数の具体的な算出方法は本発明において限定されるものではないが、例えば、データ展開・解放制御部４９は、スケジュール情報（優先度）を作成する際に使用したアクセス状況の平均値、あるいは、平均値に安全率として所定の割合（例えば、１．１〜１．５倍程度）を掛けた値、もしくは、対応する過去の履歴（例えば、過去の同一日時，同一月の同一日時，同一曜日の履歴）に基づく値を、予想アクセス回数として決定する。
【０２３４】
また、データ展開・解放制御部４９による予想アクセス回数の具体的な処理手順としては、例えば、上記図２５のステップＳ１９４のＮＯルートの直後に、データ展開・解放制御部４９が、予想アクセス回数に到達したか否かを判断する処理を追加し、到達した場合には当該データを優先的に解放する一方、到達していなければステップＳ１９６の処理に移行するように構成する。
【０２３５】
さらに、他の例として、上記図２５のステップＳ２００のＮＯルートの直後に、データ展開・解放制御部４９が、予想アクセス回数に到達したか否かを判断する処理を追加し、到達した場合には当該データを優先的に解放する一方、到達していなければステップＳ１９８の処理に移行するように構成してもよく、さらにまた、これら２つの処理を追加してもよい。
【０２３６】
これにより、データ展開・解放制御部４９は、スケジュール情報に基づいてキャッシュメモリ３６上に展開したが、今後アクセスがない、もしくは、今後はアクセスの可能性が低いと考えられるデータを、その判断ができた時点でキャッシュメモリ３６から削除することができるので、キャッシュメモリ３６の解放処理を迅速に且つより効率的に実行することができ、その結果、ホスト２０に対するレスポンス性能のさらなる向上を実現できる。
【０２３７】
また、データ展開・解放制御部４９が、予想アクセス回数に基づく制御を行なう際に、キャッシュメモリ３６の空き容量が所定値以上の場合は、データに対するアクセス回数が予想アクセス回数に到達しても、キャッシュメモリ３６に当該データを保持させる、即ち、削除しないように構成してもよく、これにより、削除処理が必要でない場合にまで無理に削除処理を行なうことを抑止して、キャッシュメモリ３６をより有効に利用できる。
【０２３８】
なお、上述したＩＯ制御部４０，システム制御部４１，装置監視制御部４２，アクセス情報収集制御部４３，及びキャッシュメモリ制御部４５［アクセス監視・履歴管理部４６，スケジュール管理・変更部４７，スケジュール制御部４８，データ展開・解放制御部４９（スケジュール補正部５０及びリスト作成部５１）］としての機能は、コンピュータ（ＣＰＵ，情報処理装置，各種端末を含む）が所定のアプリケーションプログラム（メモリ制御プログラム）を実行することによって実現されてもよい。
【０２３９】
そのプログラムは、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷなど），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋Ｒ，ＤＶＤ＋ＲＷなど）等のコンピュータ読取可能な記録媒体に記録された形態で提供される。この場合、コンピュータはその記録媒体からメモリ制御プログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。また、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信回線を介してコンピュータに提供するようにしてもよい。
【０２４０】
ここで、コンピュータとは、ハードウェアとＯＳ（オペレーティングシステム）とを含む概念であり、ＯＳの制御の下で動作するハードウェアを意味している。また、ＯＳが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、ＣＰＵ等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とを備えている。
【０２４１】
上記メモリ制御プログラムとしてのアプリケーションプログラムは、上述のようなコンピュータに、ＩＯ制御部４０，システム制御部４１，装置監視制御部４２，アクセス情報収集制御部４３，及びキャッシュメモリ制御部４５としての機能を実現させるプログラムコードを含んでいる。また、その機能の一部は、アプリケーションプログラムではなくＯＳによって実現されてもよい。
【０２４２】
なお、本実施形態としての記録媒体としては、上述したフレキシブルディスク，ＣＤ，ＤＶＤ，磁気ディスク，光ディスク，光磁気ディスクのほか、ＩＣカード，ＲＯＭカートリッジ，磁気テープ，パンチカード，コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ），外部記憶装置等や、バーコードなどの符号が印刷された印刷物等の、コンピュータ読取可能な種々の媒体を利用することもできる。
【０２４３】
〔３〕付記
（付記１）
データを記憶する記憶装置と、前記データを処理対象とする上位装置とに接続され、前記上位装置からの要求に応じて前記記憶装置に記憶された前記データの読み出し処理を制御する制御装置であって、
前記記憶装置から読み出されたデータを記憶するキャッシュメモリと、
前記上位装置からの前記記憶装置に記憶された前記データに対するアクセス状況を監視するアクセス監視部と、
前記アクセス監視部によって監視された前記アクセス状況に基づいて、前記キャッシュメモリの記憶内容を決定するスケジュール情報を作成するスケジュール情報作成部と、
前記スケジュール情報に基づいて、前記記憶装置から前記キャッシュメモリへの前記データの記録処理と、前記キャッシュメモリからの前記データの削除処理とを制御するメモリ制御部とを備えたことを特徴とする、制御装置。
【０２４４】
（付記２）
前記メモリ制御部が、前記スケジュール情報に基づいて前記記録処理を行なった後に、前記スケジュール情報に基づいて前記削除処理を実行することを特徴とする、付記１記載の制御装置。
（付記３）
前記スケジュール情報作成部が、前記記憶装置に記憶された複数のデータ毎の前記スケジュール情報として、所定の時間帯毎に、前記キャッシュメモリに記録させるべき優先度を示す優先度情報を作成し、
前記メモリ制御部が、前記優先度情報に基づいて、前記記録処理及び前記削除処理を制御することを特徴とする、付記１または付記２記載の制御装置。
【０２４５】
（付記４）
前記スケジュール情報作成部は、前記アクセス状況と過去の前記スケジュール情報とに基づいて前記優先度情報を作成することを特徴とする、付記３記載の制御装置。
（付記５）
前記スケジュール情報作成部は、前記アクセス状況と予め設定されたスケジュール情報とに基づいて、前記優先度情報を作成することを特徴とする、付記３記載の制御装置。
【０２４６】
（付記６）
前記メモリ制御部は、前記優先度情報に基づいて前記記録処理及び前記削除処理を制御する際に、直前の前記アクセス状況に応じて前記優先度情報を補正する補正部を備えていることを特徴とする、付記３記載の制御装置。
（付記７）
前記補正部は、前記直前のアクセス状況として所定時間内における前記データに対するアクセス増減傾向に基づき、アクセス増加傾向であれば当該データの前記優先度情報を高くなるように補正する一方、アクセス減少傾向であれば当該データの前記優先度情報を低くなるように補正することを特徴とする、付記６記載の制御装置。
【０２４７】
（付記８）
前記スケジュール情報作成部は、前記スケジュール情報として、前記記憶装置に記憶された複数のデータ毎に、所定の時間帯毎に予想される予想アクセス回数を作成し、
前記メモリ制御部は、前記データに対するアクセス回数が前記予想アクセス回数に到達すると前記データを前記キャッシュメモリから削除することを特徴とする、付記１〜７のいずれか１項に記載の制御装置。
【０２４８】
（付記９）
前記メモリ制御部は、前記キャッシュメモリの空き容量が所定値以上の場合は、前記データに対するアクセス回数が前記予想アクセス回数に到達しても、前記キャッシュメモリに当該データを保持させることを特徴とする、付記８記載の制御装置。
（付記１０）
データを記憶する、少なくとも一つの記憶装置と、
前記データを処理対象とする上位装置からの要求に応じて、前記記憶装置に記憶された前記データの読み出し処理を制御する制御装置とを有するストレージシステムであって、
前記制御装置は、
前記記憶装置から読み出された前記データを記憶するキャッシュメモリと、
前記上位装置からの前記記憶装置に記憶された前記データに対するアクセス状況を監視するアクセス監視部と、
前記アクセス監視部によって監視された前記アクセス状況に基づいて、前記キャッシュメモリの記憶内容を決定するスケジュール情報を作成するスケジュール情報作成部と、
前記スケジュール情報に基づいて、前記記憶装置から前記キャッシュメモリへの前記データの記録処理と、前記キャッシュメモリからの前記データの削除処理とを制御するメモリ制御部とを備えたことを特徴とする、ストレージシステム。
【０２４９】
（付記１１）
前記メモリ制御部が、前記スケジュール情報に基づいて前記記録処理を行なった後に、前記スケジュール情報に基づいて前記削除処理を実行することを特徴とする、付記１０記載のストレージシステム。
（付記１２）
前記スケジュール情報作成部が、前記記憶装置に記憶された複数のデータ毎の前記スケジュール情報として、所定の時間帯毎に、前記キャッシュメモリに記録させるべき優先度を示す優先度情報を作成し、
前記メモリ制御部が、前記優先度情報に基づいて、前記記録処理及び前記削除処理を制御することを特徴とする、付記１０または付記１１記載のストレージシステム。
【０２５０】
（付記１３）
前記スケジュール情報作成部は、前記スケジュール情報として、前記記憶装置に記憶された複数のデータ毎に、所定の時間帯毎に予想される予想アクセス回数を作成し、
前記メモリ制御部は、前記データに対するアクセス回数が前記予想アクセス回数に到達すると前記データを前記キャッシュメモリから削除することを特徴とする、付記１０〜１２のいずれか１項に記載のストレージシステム。
【０２５１】
（付記１４）
データを記憶する記憶装置と前記データを処理対象とする上位装置とに接続され、前記上位装置からの要求に応じて前記記憶装置に記憶された前記データの読み出し処理を制御する制御装置における、前記記憶装置から読み出された前記データを記憶するキャッシュメモリのメモリ制御方法であって、
前記上位装置からの前記記憶装置に記憶された前記データに対するアクセス状況を監視するアクセス監視ステップ、
前記アクセス監視ステップにおいて監視された前記アクセス状況に基づいて、前記キャッシュメモリの記憶内容を決定するスケジュール情報を作成するスケジュール情報作成ステップ、及び、
前記スケジュール情報に基づいて、前記記憶装置から前記キャッシュメモリへの前記データの記録処理と、前記キャッシュメモリからの前記データの削除処理とを制御するキャッシュメモリ制御ステップを含んでいることを特徴とする、メモリ制御方法。
【０２５２】
（付記１５）
前記メモリ制御ステップにおいて、前記スケジュール情報に基づいて前記記録処理が行なわれた後に、前記スケジュール情報に基づいて前記削除処理が実行されることを特徴とする、付記１４記載のメモリ制御方法。
（付記１６）
前記スケジュール情報作成ステップにおいて、前記記憶装置に記憶された複数のデータ毎の前記スケジュール情報として、所定の時間帯毎に、前記キャッシュメモリに記録させるべき優先度を示す優先度情報が作成され、
前記キャッシュメモリ制御ステップにおいて、前記優先度情報に基づいて、前記記録処理及び前記削除処理が制御されることを特徴とする、付記１４または付記１５記載のメモリ制御方法。
【０２５３】
（付記１７）
前記スケジュール情報作成ステップにおいて、前記スケジュール情報として、前記記憶装置に記憶された複数のデータ毎に、所定の時間帯毎に予想される予想アクセス回数が作成され、
前記キャッシュメモリ制御ステップにおいて、前記データに対するアクセス回数が前記予想アクセス回数に到達すると前記データが前記キャッシュメモリから削除されることを特徴とする、付記１４〜１６のいずれか１項に記載のメモリ制御方法。
【０２５４】
（付記１８）
データを記憶する記憶装置と、前記データを処理対象とする上位装置とに接続され、前記上位装置からの要求に応じて前記記憶装置に記憶されたデータの読み出し処理を制御する制御装置であって、
前記記憶装置から読み出されたデータを記憶するキャッシュメモリと、
前記上位装置からの所定の時間帯毎の前記記憶装置に記憶されたデータに対するアクセス状況を監視するアクセス監視部と、
前記アクセス監視部によって監視された前記アクセス状況に基づいて、所定の時間帯毎の前記キャッシュメモリの記憶内容を決定するスケジュール情報を作成するスケジュール情報作成部と、
前記スケジュール情報を、当該スケジュール情報に係る前記時間帯の直前の前記アクセス状況に応じて補正する補正部と、
前記補正部によって補正されたスケジュール情報に基づいて、前記記憶装置から前記キャッシュメモリへの前記データの記録処理を制御するメモリ制御部とを備えたことを特徴とする、制御装置。
【０２５５】
（付記１９）
前記補正部は、前記直前のアクセス状況として所定時間内における前記データに対するアクセス増減傾向に基づき、アクセス増加傾向であれば当該データの前記優先度情報を高くなるように補正する一方、アクセス減少傾向であれば当該データの前記優先度情報を低くなるように補正することを特徴とする、付記１８記載の制御装置。
【０２５６】
（付記２０）
前記メモリ制御部は、前記補正後のスケジュール情報に基づいて前記キャッシュメモリからの前記データの削除処理を制御することを特徴とする、付記１８または付記１９記載の制御装置。
【図面の簡単な説明】
【０２５７】
【図１】本発明の一実施形態としてのストレージシステムの構成を示すブロック図である。
【図２】本発明の一実施形態としてのストレージシステムのＣＥのＣＭのＣＰＵの構成を示すブロック図である。
【図３】本発明の一実施形態としてのストレージシステムのＣＭ内のアクセス情報収集制御部によって収集されるリードアクセスの回数の一例を示す図である。
【図４】本発明の一実施形態としてのストレージシステムのＣＭ内のキャッシュメモリ制御部のアクセス監視・履歴管理部によってデータ毎にまとめられたアクセス履歴の一例を示す図である。
【図５】本発明の一実施形態としてのストレージシステムのＣＭ内のキャッシュメモリ制御部のアクセス監視・履歴管理部によってデータ毎にまとめられたアクセス状況の一例を示す図である。
【図６】本発明の一実施形態としてのストレージシステムのＣＭ内のキャッシュメモリ制御部のスケジュール管理・変更部によって作成されたスケジュール情報の一例を示す図である。
【図７】本発明の一実施形態としてのストレージシステムのＣＭ内のキャッシュメモリ制御部のスケジュール制御部によって送信されるスケジュール情報の一例を示す図である。
【図８】本発明の一実施形態としてのメモリ制御方法の処理手順を説明するためのフローチャートである。
【図９】本発明の一実施形態としてのストレージシステムのＣＭ内のキャッシュメモリ制御部のアクセス監視・履歴管理部によるアクセス情報収集起動処理の処理手順の一例を示すフローチャートである。
【図１０】本発明の一実施形態としてのストレージシステムのＣＭ内のキャッシュメモリ制御部のアクセス監視・履歴管理部によるアクセス情報収集処理の処理手順の一例を示すフローチャートである。
【図１１】本発明の一実施形態としてのストレージシステムのＣＭ内のキャッシュメモリ制御部のアクセス監視・履歴管理部によるアクセス情報の履歴管理処理の処理手順の一例を示すフローチャートである。
【図１２】本発明の一実施形態としてのストレージシステムのＣＭ内のキャッシュメモリ制御部のスケジュール管理・変更部によるスケジュール管理処理の処理手順の一例を示すフローチャートである。
【図１３】本発明の一実施形態としてのストレージシステムのＣＭ内のキャッシュメモリ制御部のスケジュール管理・変更部による更新スケジュールの算出処理の処理手順の一例を示すフローチャートである。
【図１４】本発明の一実施形態としてのストレージシステムのＣＭ内のキャッシュメモリ制御部のスケジュール管理・変更部によるスケジュール調整処理の処理手順の一例を示すフローチャートである。
【図１５】本発明の一実施形態としてのストレージシステムにおいてユーザによって設定されたスケジュール情報の一例を示す図である。
【図１６】本発明の一実施形態としてのストレージシステムのＣＭ内のキャッシュメモリ制御部のデータ展開・解放制御部によるデータ展開・解放処理の処理手順の一例を示すフローチャートである。
【図１７】本発明の一実施形態としてのストレージシステムのＣＭ内のキャッシュメモリ制御部のデータ展開・解放制御部のスケジュール補正部による履歴情報チェック処理の処理手順の一例を示すフローチャートである。
【図１８】本発明の一実施形態としてのストレージシステムのＣＭ内のキャッシュメモリ制御部のデータ展開・解放制御部のスケジュール補正部による展開処理の制御判定処理の処理手順の一例を示すフローチャートである。
【図１９】本発明の一実施形態としてのストレージシステムのＣＭ内のキャッシュメモリ制御部のデータ展開・解放制御部のスケジュール補正部による解放処理の制御判定処理の処理手順の一例を示すフローチャートである。
【図２０】本発明の一実施形態としてのストレージシステムのＣＭ内のキャッシュメモリ制御部のデータ展開・解放制御部によるデータ展開処理の処理手順の一例を示すフローチャートである。
【図２１】本発明の一実施形態としてのストレージシステムのＣＭ内のキャッシュメモリ制御部のリスト作成部によって作成されたデータ展開リストの一例を示す図である。
【図２２】本発明の一実施形態としてのストレージシステムのＣＭ内のキャッシュメモリ制御部のデータ展開・解放制御部によるデータ展開リストの作成処理の処理手順の一例を示すフローチャートである。
【図２３】本発明の一実施形態としてのストレージシステムのＣＭ内のキャッシュメモリ制御部のデータ展開・解放制御部によるデータ解放処理の処理手順の一例を示すフローチャートである。
【図２４】本発明の一実施形態としてのストレージシステムのＣＭ内のキャッシュメモリ制御部のリスト作成部によって作成されたデータ解放リストの一例を示す図である。
【図２５】本発明の一実施形態としてのストレージシステムのＣＭ内のキャッシュメモリ制御部のデータ展開・解放制御部によるデータ解放リストの作成処理の処理手順の一例を示すフローチャートである。
【図２６】従来のディスクアレイ装置を備えたストレージシステムの構成を示すブロック図である。
【符号の説明】
【０２５８】
１  ストレージシステム
２  ディスクアレイ装置
１０，１０ａ〜ｄ  ＤＥ（Device Encloger；記憶装置）
１１  ディスク
２０  ホスト（上位装置）
２１  ＦＣ（Fiber Channel）スイッチ
２２ａ〜ｄ  ＣＨ（Channel Interface）
３０  ＣＥ（Controller Enclosure；制御装置）
３１，３１ａ〜ｄ  ＣＭ（Controller Module）
３２，３２ａ〜ｄ，３３，３３ａ〜ｄ  ＣＡ（Channel Adapter）
３４，３４ａ〜ｄ，３５，３５ａ〜ｄ  ＤＡ（Disk Adapter）
３６，３６ａ〜ｄ  キャッシュメモリ
３７，３７ａ〜ｄ，３８，３８ａ〜ｄ  ＣＰＵ（Central Processing Unit）
４０  ＩＯ（Input/Output）制御部
４１  システム制御部
４２  装置監視制御部
４３  アクセス情報収集制御部
４４  アクセスカウンタ
４５  キャッシュメモリ制御部
４６  アクセス監視・履歴管理部
４７  スケジュール管理・変更部
４８  スケジュール制御部
４９  データ展開・解放制御部
５０  スケジュール補正部（補正部）
５１  リスト作成部
５２  アクセス履歴保持部
５３  スケジュール保持部
５４  データリスト保持部
１００  ディスクアレイ装置
１０１  データストレージ装置（ＤＥ）
１０２  制御装置（ＣＥ）
１０３，１０３ａ，ｂ  ＣＭ
１０４，１０４ａ〜ｄ  ＣＡ
１０５，１０５ａ〜ｄ  ＤＡ
１０６，１０６ａ，ｂ  キャッシュメモリ
１０７，１０７ａ，ｂ，１０８，１０８ａ，ｂ  ＣＰＵ
１１０  ストレージシステム
１１１  ホスト
１１２ａ〜ｄ  ＣＨ
【図１】
0004500850.tif 000002
【図２】
0004500850.tif 000003
【図３】
0004500850.tif 000004
【図４】
0004500850.tif 000005
【図５】
0004500850.tif 000006
【図６】
0004500850.tif 000007
【図７】
0004500850.tif 000008
【図８】
0004500850.tif 000009
【図９】
0004500850.tif 000010
【図１０】
0004500850.tif 000011
【図１１】
0004500850.tif 000012
【図１２】
0004500850.tif 000013
【図１３】
0004500850.tif 000014
【図１４】
0004500850.tif 000015
【図１５】
0004500850.tif 000016
【図１６】
0004500850.tif 000017
【図１７】
0004500850.tif 000018
【図１８】
0004500850.tif 000019
【図１９】
0004500850.tif 000020
【図２０】
0004500850.tif 000021
【図２１】
0004500850.tif 000022
【図２２】
0004500850.tif 000023
【図２３】
0004500850.tif 000024
【図２４】
0004500850.tif 000025
【図２５】
0004500850.tif 000026
【図２６】
0004500850.tif 000027