(57)【特許請求の範囲】
【請求項１】
キャッシュメモリに格納されたアクセス要求に係るデータのうちの、前記アクセス要求の対象の記憶ボリュームへの書き込みが行なわれていないデータの数を前記記憶ボリュームごとにカウントする第１カウンタと、
第１の記憶ボリュームに対する書込要求又は読出要求である第１のアクセス要求の受信に応じて、前記第１のアクセス要求の対象の前記第１の記憶ボリュームに対して前記キャッシュメモリから割当済のデータ数に対する、前記第１の記憶ボリュームに対応する前記第１カウンタのカウンタ値の第１の割合が第１の閾値を超えるか否かを判定する判定部と、
前記第１の割合が前記第１の閾値を超える場合に、前記第１の記憶ボリュームに対する前記キャッシュメモリからのデータの書戻処理を行なう書戻処理部と、
をそなえることを特徴とする、ストレージ制御装置。
【請求項２】
前記判定部は、前記第１のアクセス要求の受信に応じて、前記キャッシュメモリから割当可能なデータ数に対する、前記第１カウンタのカウンタ値の合計の第２の割合が前記第１の閾値又は他の閾値を超えるか否かを判定し、
前記書戻処理部は、前記第１の割合が前記第１の閾値を超え、前記第２の割合が前記第１の閾値又は前記他の閾値を超える場合に、前記第１の記憶ボリュームに対する前記書戻処理を行なう、
ことを特徴とする、請求項１記載のストレージ制御装置。
【請求項３】
前記書戻処理部による書戻処理中のデータ数を前記記憶ボリュームごとにカウントする第２カウンタをさらにそなえ、
前記判定部は、前記第１の記憶ボリュームに対応する前記第２カウンタのカウンタ値が第２の閾値を超えるか否かを判定し、
前記書戻処理部は、前記第１の記憶ボリュームに対応する前記第２カウンタのカウンタ値が前記第２の閾値を超える場合、前記第１の記憶ボリュームに対する前記書戻処理を抑止し、カウンタ値が前記第２の閾値以下の前記第２カウンタに対応する第２の記憶ボリュームに対する、前記キャッシュメモリからのデータの書戻処理を行なう、
ことを特徴とする、請求項１又は請求項２記載のストレージ制御装置。
【請求項４】
前記第２の閾値は、前記記憶ボリュームにおけるデータの書込性能に基づき決定されることを特徴とする、請求項３記載のストレージ制御装置。
【請求項５】
前記キャッシュメモリに割り当てられたデータ数を前記記憶ボリュームごとにカウントする第３カウンタをさらにそなえ、
前記判定部は、前記第１の記憶ボリュームに対応する前記第３カウンタのカウンタ値に対する、前記第１の記憶ボリュームに対応する前記第１カウンタのカウンタ値の前記第１の割合が前記第１の閾値を超えるか否かを判定する、
ことを特徴とする、請求項１〜４のいずれか１項記載のストレージ制御装置。
【請求項６】
コンピュータに、
キャッシュメモリに格納されたアクセス要求に係るデータのうちの、前記アクセス要求の対象の記憶ボリュームへの書き込みが行なわれていないデータの数を前記記憶ボリュームごとにカウントする第１カウンタを制御し、
第１の記憶ボリュームに対する書込要求又は読出要求である第１のアクセス要求の受信に応じて、前記第１のアクセス要求の対象の前記第１の記憶ボリュームに対して前記キャッシュメモリから割当済のデータ数に対する、前記第１の記憶ボリュームに対応する前記第１カウンタのカウンタ値の第１の割合が第１の閾値を超えるか否かを判定し、
前記第１の割合が前記第１の閾値を超える場合に、前記第１の記憶ボリュームに対する
前記キャッシュメモリからのデータの書戻処理を行なう、
処理を実行させることを特徴とする、ストレージ制御プログラム。
【請求項７】
コンピュータが、
キャッシュメモリに格納されたアクセス要求に係るデータのうちの、前記アクセス要求の対象の記憶ボリュームへの書き込みが行なわれていないデータの数を前記記憶ボリュームごとにカウントする第１カウンタを制御し、
第１の記憶ボリュームに対する書込要求又は読出要求である第１のアクセス要求の受信に応じて、前記第１のアクセス要求の対象の前記第１の記憶ボリュームに対して前記キャッシュメモリから割当済のデータ数に対する、前記第１の記憶ボリュームに対応する前記第１カウンタのカウンタ値の第１の割合が第１の閾値を超えるか否かを判定し、
前記第１の割合が前記第１の閾値を超える場合に、前記第１の記憶ボリュームに対する前記キャッシュメモリからのデータの書戻処理を行なう、
ことを特徴とする、ストレージ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ制御装置、ストレージ制御プログラム、及びストレージ制御方法に関する。
【背景技術】
【０００２】
近年、Redundant Arrays of Independent Disks（ＲＡＩＤ）を構成する物理ディスク（記憶装置）の記憶容量の増加により、ＲＡＩＤ内に多数の論理ボリュームを構成するストレージ装置が普及している。
【０００３】
このようなストレージ装置には、同じＲＡＩＤ内の複数の論理ボリュームに対する書込要求等のＩ／Ｏ（Input / Output）要求を並列に処理するものがある。Ｉ／Ｏ要求の並列処理が可能な理由としては、ホスト装置−ストレージ装置間のインタフェースのハードウェアが高性能化されたこと、又は、複数のパスで冗長性を持たせたこと等が挙げられる。
【０００４】
なお、ストレージ装置においては、Ｉ／Ｏ要求等のアクセス要求に係るデータをキャッシュメモリに格納し、例えばライトバック方式によって、ライトバック実行前のダーティデータをキャッシュメモリから物理ディスクへ追い出す（書き出す）ライトバック処理が行なわれる。ライトバック処理は、例えば定期的に、又は空きキャッシュメモリの容量不足（キャッシュ枯渇）が生じてキャッシュ領域を解放する場合等に行なわれ得る。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−２５８７８９号公報
【特許文献２】特開平５−３０３５２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ストレージ装置では、ホスト装置から発行された書込要求のアクセス対象である複数の論理ボリュームが、１つの物理ディスクに割り当てられている場合がある。この場合において、キャッシュメモリの空き容量が不足するとダーティデータのライトバックが行なわれるが、書込要求の並列処理により複数のライトバックが実行されると、ライトバックに係るデータ量に対して物理ディスクの処理性能が追い付かないことがある。
【０００７】
これにより、キャッシュメモリの空き容量の確保に時間がかかり、書込処理における書込要求へのキャッシュメモリの割り当てに遅延が発生し得る。
【０００８】
なお、書込処理に限らず、アクセス要求、例えば読出要求においても、書込処理と同様にＩ／Ｏ要求へのキャッシュメモリの割り当てに遅延が発生し得る。読出要求に係る読出処理において、論理ボリュームから読み出す読出対象のデータを格納するキャッシュメモリの空き容量が不足するとライトバックが発生するためである。
【０００９】
１つの側面では、本発明は、ストレージ装置においてアクセス要求に対するキャッシュメモリの割り当て遅延の発生を抑制することを目的とする。
【課題を解決するための手段】
【００１０】
１つの態様では、本件のストレージ制御装置は、第１カウンタと、判定部と、書戻処理
部とをそなえる。前記第１カウンタは、キャッシュメモリに格納されたアクセス要求に係るデータのうちの、前記アクセス要求の対象の記憶ボリュームへの書き込みが行なわれていないデータの数を前記記憶ボリュームごとにカウントする。また、前記判定部は、第１の記憶ボリュームに対する書込要求又は読出要求である第１のアクセス要求の受信に応じて、前記第１のアクセス要求の対象の前記第１の記憶ボリュームに対して前記キャッシュメモリから割当済のデータ数に対する、前記第１の記憶ボリュームに対応する前記第１カウンタのカウンタ値の第１の割合が第１の閾値を超えるか否かを判定する。さらに、前記書戻処理部は、前記第１の割合が前記第１の閾値を超える場合に、前記第１の記憶ボリュームに対する前記キャッシュメモリからのデータの書戻処理を行なう。
【発明の効果】
【００１１】
１つの側面では、ストレージ装置においてアクセス要求に対するキャッシュメモリの割り当て遅延の発生を抑制することができる。
【図面の簡単な説明】
【００１２】
【図１】比較例に係るストレージシステムの構成例を示す図である。
【図２】比較例に係るキャッシュ制御部によるキャッシュヒットの判定処理の動作例を説明するフローチャートである。
【図３】比較例に係るストレージ装置においてＩ／Ｏ要求に対するキャッシュ領域を確保できなかった場合の一例を説明する図である。
【図４】比較例に係るストレージ装置においてＩ／Ｏ要求に対するキャッシュ領域を確保できなかった場合の一例を説明する図である。
【図５】比較例に係るストレージ装置においてＩ／Ｏ要求に対するキャッシュ領域を確保できなかった場合の一例を説明する図である。
【図６】一実施形態の一例としてのストレージシステムの構成例を示す図である。
【図７】一実施形態に係るストレージ装置においてＩ／Ｏ要求に対するキャッシュ領域を確保できなかった場合の一例を説明する図である。
【図８】一実施形態に係るストレージシステムの全体の動作例を説明するシーケンス図である。
【図９】一実施形態に係るキャッシュ制御部によるキャッシュヒットの判定処理の動作例を説明するフローチャートである。
【図１０】一実施形態に係るキャッシュ制御部によるキャッシュヒットの判定処理の動作例を説明するフローチャートである。
【図１１】一実施形態に係るキャッシュ制御部によるキャッシュ領域の解放処理の動作例を説明するフローチャートである。
【図１２】一実施形態に係るキャッシュ制御部によるライトバック完了時の割込処理の動作例を説明するフローチャートである。
【図１３】一実施形態に係るＣＭのハードウェア構成例を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。なお、以下実施形態で用いる図面において、同一符号を付した部分は、特に断らない限り、同一若しくは同様の部分を表す。
【００１４】
〔１〕比較例
はじめに、一実施形態の比較例について説明する。図１はストレージシステム１００の構成例を示す図である。図１に例示するように、ストレージシステム１００はホスト装置２００及びストレージ装置３００をそなえる。
【００１５】
ストレージシステム１００では、ホスト装置２００−ストレージ装置３００間のインタフェースのハードウェアが高性能化されており、また、Ｉ／Ｏ要求に対して複数のパスで冗長性を持たせており、これによりアクセス要求の並列処理を行なうことができる。
【００１６】
図１に例示するように、ホスト装置２００は、複数のインタフェースの一例としてのChannel（ＣＨ）２００ａ〜２００ｄをそなえる。また、ストレージ装置３００は、複数のインタフェースの一例としてのChannel Adapter（ＣＡ）４００ａ〜４００ｄ、コントローラの一例としてのController Module（ＣＭ）５００、及びDrive Enclosure（ＤＥ）６００をそなえる。
【００１７】
なお、符号が数字及びアルファベットの組み合わせで表される装置のうち、数字部分が共通の装置は同様の機能をそなえることができる。以下の説明において、数字部分が共通の装置を区別しない場合には、符号として単に数字部分を用いて表記する。例えばＣＡ４００ａ〜４００ｄを区別しない場合には、単にＣＡ４００と表記する。
【００１８】
ＤＥ６００は、複数の物理ディスクを搭載するエンクロージャの一例である。ストレージ装置３００では、複数の物理ディスクによって物理ボリューム６１０ａ〜６１０ｃを形成することができる。物理ボリューム６１０は、例えばＲＡＩＤグループに設定されたRAID Logical Unit（ＲＬＵ）単位で管理されてもよい。以下、物理ボリューム６１０をＲＡＩＤ又はＲＬＵと表記する場合がある。
【００１９】
物理ボリューム６１０ａ〜６１０ｃは複数の記憶ボリュームの一例である。物理ボリューム６１０の各々は、ホスト装置２００に認識される単位である論理ボリューム６２０を複数設定され、当該論理ボリューム６２０のデータを記憶することができる。論理ボリュームとしては、ホスト装置２００がメインフレームである場合、Mainframe Logical Unit（ＭＬＵ）が挙げられる。
【００２０】
ＣＭ５００は、例示的に、キャッシュメモリ５１０、キャッシュ制御部５２０、及びＲＡＩＤ制御部５５０をそなえる。キャッシュ制御部５２０は、Least Recent Used（ＬＲＵ）テーブル５３０や、ダーティテーブル５４０を管理する。
【００２１】
キャッシュ制御部５２０は、ホスト装置２００からのアクセス要求に対してキャッシュメモリ５１０の割当及び解放を、ＬＲＵテーブル５３０及びダーティテーブル５４０に基づき、ＬＲＵ方式によりキャッシュページ単位で実施する。キャッシュページは数十〜数百ＫＢ（バイト）程度、例えば１２８ＫＢ等の固定サイズである。
【００２２】
ＬＲＵテーブル５３０は、キャッシュメモリ５１０の記憶領域についてキャッシュページ単位で、追い出し順序に関するＬＲＵ情報を管理するテーブルである。また、ダーティテーブル５４０には、キャッシュページ単位で、データの書き戻し状態を示す情報、換言すれば、Ｉ／Ｏ要求の対象の物理ボリューム６１０への書き込みが行なわれたか否かを示す情報が設定される。一例として、ダーティテーブル５４０にはキャッシュページごとに、ライトバックが必要なデータを表す“DIRTY”、書き戻しが完了しているデータ又は読み出された後に更新されていないデータを表す“NOT DIRTY”のいずれかが設定される。
【００２３】
ＲＡＩＤ制御部５５０は、ＤＥ６００（物理ボリューム６１０）との間のアクセスを制御するコントローラの一例である。
【００２４】
次に、図２を参照して、キャッシュ制御部５２０によるキャッシュヒットの判定処理の動作例について説明する。キャッシュ制御部５２０は、ストレージ装置３００内でキャッシュメモリ５１０全体の使用状態を監視する。
【００２５】
ホスト装置２００からの新規のＩ／Ｏ要求のコマンドを例えばＣＡ４００ａから受信すると、キャッシュ制御部５２０は、当該Ｉ／Ｏ要求に対して割り当てるキャッシュ領域がヒットしたか否かを判定する（ステップＳ１０１）。なお、キャッシュヒットの判定については既知の種々の手法により実現可能であり、その詳細な説明は省略する。
【００２６】
キャッシュ領域がヒットした場合（ステップＳ１０１のＹｅｓルート）、キャッシュ制御部５２０はヒットしたキャッシュ領域の情報をＣＡ４００ａへ通知し（ステップＳ１０２）、キャッシュ制御部５２０によるキャッシュヒットの判定処理が終了する。
【００２７】
なお、キャッシュ領域の情報を通知されたＣＡ４００ａは、通知された領域へのＩ／Ｏ要求のデータ（書込データ）の書き込みをキャッシュ制御部５２０へ指示し、キャッシュ制御部５２０は、当該領域に対して書込データを書き込み、ＣＡ４００ａへ応答を返す。このようなキャッシュヒットの判定後の動作は既知の種々の手法により実現可能であり、その詳細な説明は省略する。
【００２８】
一方、キャッシュ領域がヒットしない場合（ステップＳ１０１のＮｏルート）、キャッシュ制御部５２０は、キャッシュの枯渇状態の確認を行ない、キャッシュフルであるか否かを判定する（ステップＳ１０３）。キャッシュフルではない場合（ステップＳ１０３のＮｏルート）、キャッシュ制御部５２０は、空きキャッシュ領域を新たなＩ／Ｏ要求に割り当て、割り当てたキャッシュ領域の情報をＣＡ４００ａへ通知し（ステップＳ１０４）、キャッシュ制御部５２０によるキャッシュヒットの判定処理が終了する。
【００２９】
一方、キャッシュフルである場合（ステップＳ１０３のＹｅｓルート）、キャッシュ制御部５２０は、領域確保のためのキャッシュの解放処理を行なう。解放処理では、キャッシュ制御部５２０は、ＬＲＵテーブル５３０における最もアクセスの古い領域、換言すれば追出対象（解放対象）の領域が、ライトバック済であるか否かを判定する（ステップＳ１０５）。この判定は、キャッシュメモリ５１０上のダーティデータを管理するダーティテーブル５４０を参照し、追出対象の領域のデータがダーティデータではないか否かを判定すればよい。
【００３０】
追出対象の領域がライトバック済である、換言すればダーティではない場合（ステップＳ１０５のＹｅｓルート）、キャッシュ制御部５２０は、ＬＲＵテーブル５３０の追出対象の領域を新たなＩ／Ｏ要求に割り当て、当該領域をＣＡ４００ａへ通知し（ステップＳ１０６）、キャッシュ制御部５２０によるキャッシュヒットの判定処理が終了する。
【００３１】
一方、追出対象の領域がライトバック済ではない、換言すればダーティデータである場合（ステップＳ１０５のＮｏルート）、キャッシュ制御部５２０は、ＲＡＩＤ制御部５５０に対してライトバックを指示する。このとき、キャッシュ制御部５２０は、ライトバックの完了待ちをせずに、ＬＲＵテーブル５３０に基づく次の追出対象の領域について、ライトバック済か否かの判定を行なう（ステップＳ１０８）。
【００３２】
次の追出対象の領域がライトバック済である場合（ステップＳ１０８のＹｅｓルート）、処理がステップＳ１０６に移行する。一方、次の追出対象の領域がライトバック済ではない場合（ステップＳ１０８のＮｏルート）、キャッシュ制御部５２０は、ライトバック済の領域が有るか否かを判定し（ステップＳ１０９）、他にライトバック済の領域が有る場合（ステップＳ１０９のＹｅｓルート）、処理がステップＳ１０７に移行する。
【００３３】
また、他にライトバック済の領域が無い場合（ステップＳ１０９のＮｏルート）、キャッシュ制御部５２０は、キャッシュ枯渇の状態であると判断し、ＣＡ４００ａに対してホスト装置２００へのビジー応答を依頼し（ステップＳ１１０）、キャッシュ制御部５２０によるキャッシュヒットの判定処理が終了する。
【００３４】
次に、図３〜図５を参照して、ストレージ装置３００においてＩ／Ｏ要求に対するキャッシュ領域を確保できなかった場合、換言すれば、キャッシュフル、且つ、ダーティでない領域が存在しない場合の一例について説明する。
【００３５】
図３〜図５に示すキャッシュメモリ５１０においては、キャッシュページ単位の領域を、ＬＲＵテーブル５３０で示されるＬＲＵ順、換言すればキャッシュメモリ５１０からデータが追い出される順で示している。なお、図３〜図５に示すCommand Queue（ＣＭＤＱ）６３０ａ〜６３０ｃは、それぞれＲＡＩＤ制御部５５０で管理される物理ボリューム６１０ごとのコマンドキューの一例である。
【００３６】
図３に示すように、例えばホスト装置２００のＣＨ２００ａからＩ／Ｏ要求が発行されると、ストレージ装置３００のＣＡ４００ａがＣＭ５００のキャッシュ制御部５２０へキャッシュ割当要求を発行する。キャッシュ制御部５２０は、Ｉ／Ｏ要求に対してキャッシュメモリ５１０を割り当てるとき、空き領域が存在しない場合にはＬＲＵの順に従い、既存のデータの追い出しを実施する。なお、ホストＩ／Ｏが高負荷状態になると、定期的なライトバックではキャッシュ解放が追いつかず、キャッシュ上がダーティデータのみになるキャッシュの枯渇状態が発生し易くなる。
【００３７】
ここで、キャッシュメモリ５１０からの既存のデータの追い出しには、当該データの状態が“DIRTY”である場合にはライトバック処理の実施が含まれ得る。一方、当該データの状態が“NOT DIRTY”である場合には当該データが既にライトバック済であるためライトバック処理は行なわれない。
【００３８】
ダーティデータのライトバックは、キャッシュの枯渇を起因として開始されるため、ホストＩ／Ｏの高負荷時には、複数のＩ／Ｏ要求が一斉にキャッシュ領域の空き待ち状態になり、ライトバック完了まで処理が待たされる。なお、ライトバックが完了し、キャッシュ領域が確保できたときにホストＩ／Ｏの処理が再開される。
【００３９】
このとき、ライトバックが行なわれるデータが１つのＲＡＩＤ（ＲＬＵ）、例えば図３に示すように物理ボリューム６１０ａに集中する（偏る）と、ＲＡＩＤの処理能力を超えるライトバック要求が発行される。
【００４０】
これにより、記憶装置への書き戻しコマンド（データ）がＣＭＤＱ６３０ａに大量に溜まることになり、記憶装置側のコマンド処理が間に合わず、キャッシュの追い出し処理に遅延が発生する。このキャッシュの追い出し処理の遅延が、ホストＩ／Ｏの待ち時間になり、場合によってはキャッシュ制御部５２０においてホストＩ／Ｏの処理監視タイマがタイムアウトを検出し、タイムアウト、すなわちホストＩ／Ｏがエラー終了する事象が発生し得る。
【００４１】
また、図４及び図５に示すように、ダーティデータのライトバックのタイミングを、キャッシュメモリ５１０内のダーティデータの量によって可変とすることで、キャッシュメモリの枯渇に対応することも考えられる。
【００４２】
例えば図４に示すように、キャッシュ制御部５２０がキャッシュメモリ５１０内のダーティデータの割合を判定し、ライトバック間隔を変更することで、キャッシュメモリ５１０がキャッシュフルの状態になる前にＬＲＵに従いキャッシュの追い出しを行なう。
【００４３】
また、図５の例では、キャッシュ制御部５２０が、ダーティデータの割合が一定量を超えたときにライトバックを開始し、キャッシュメモリ５１０に常に空き領域を発生させることで、ライトバックによるキャッシュの空き待ち時間の発生を抑制できる。
【００４４】
しかしながら、図４の例では、キャッシュメモリ５１０全体のダーティデータ量を元に、ＬＲＵに従ってライトバックさせており、ライトバック先のＲＡＩＤの負荷を考慮していない。このため、ライトバックがステージング等のＲＡＩＤ動作と競合した場合にＲＡＩＤの性能が低下する可能性がある。また、ＬＲＵにＲＡＩＤの偏りがある場合、ＲＡＩＤに対する負荷の集中を回避できず、書き戻しコマンドが遅滞する可能性もある。
【００４５】
また、図５の例ではさらに、追い出しがＬＲＵテーブル５３０に従って行なわれ、常にキャッシュ領域に空き領域ができるため、キャッシュメモリ５１０の記憶領域を１００％利用することができず、キャッシュヒット率が低下し得る。
【００４６】
〔２〕一実施形態
〔２−１〕ストレージシステムの構成例
以下、上述した比較例に対する一実施形態に係るストレージシステムについて説明する。
【００４７】
図６は一実施形態の一例としてのストレージシステム１の構成例を示す図である。図６に示すように、ストレージシステム１は、例示的に、ホスト装置２及びストレージ装置３をそなえる。なお、ストレージシステム１は例えば基幹システムの少なくとも一部であってもよい。
【００４８】
ホスト装置２は、ストレージ装置３に対して書込要求及び読出要求を含む種々のアクセス要求（Ｉ／Ｏ要求）を発行する上位装置の一例である。ホスト装置２としてはコンピュータ、例えばサーバやPersonal Computer（ＰＣ）等の情報処理装置が挙げられる。例えばホスト装置２は、メインフレーム等であってもよい。図６に例示するように、ホスト装置２は、複数のインタフェースの一例としてのＣＨ２ａ〜２ｄをそなえる。
【００４９】
ストレージ装置３は、複数の物理ディスクをそなえ、ホスト装置２に対して物理ディスクの記憶領域を提供する。図６に示すように、ストレージ装置３は、例示的に、複数のインタフェースの一例としてのＣＡ４ａ〜４ｄ、コントローラの一例としてのＣＭ５、及びＤＥ６をそなえる。
【００５０】
なお、符号が数字及びアルファベットの組み合わせで表される装置のうち、数字部分が共通の装置は同様の機能をそなえることができる。以下の説明において、数字部分が共通の装置を区別しない場合には、符号として単に数字部分を用いて表記する。例えばＣＡ４ａ〜４ｄを区別しない場合には、単にＣＡ４と表記する。
【００５１】
ＤＥ６は、複数の物理ディスクを搭載するエンクロージャの一例である。ストレージ装置３では、複数の物理ディスクによって、例えばＲＡＩＤ等の物理ボリューム６１ａ〜６１ｃを形成することができる。なお、物理ディスクとしては、Hard Disk Drive（ＨＤＤ）等の磁気ディスク装置、Solid State Drive（ＳＳＤ）等の半導体ドライブ装置等の種々の記憶装置が挙げられる。
【００５２】
物理ボリューム６１ａ〜６１ｃは複数の記憶ボリュームの一例である。物理ボリューム６１ａ〜６１ｃの各々は、複数の論理ボリューム６２を割り当てられ、当該論理ボリューム６２のデータを記憶することができる。論理ボリュームとしては、ホスト装置２がメインフレームである場合、ＭＬＵが挙げられる。
【００５３】
ＣＭ５は、ホスト装置２から発行される複数の物理ボリューム６１へのアクセス要求に対する制御を行なうストレージ制御装置の一例である。図６に示すように、ＣＭ５は、例示的に、キャッシュメモリ５１、キャッシュ制御部５２、ＬＲＵテーブル５３、ダーティテーブル５４、及びＲＡＩＤ制御部５５をそなえる。ＣＭ５としては、サーバやＰＣ等の情報処理装置が挙げられる。
【００５４】
キャッシュ制御部５２は、ホスト装置２からのアクセス要求に対してキャッシュメモリ５１の割当及び解放を、ＬＲＵテーブル５３及びダーティテーブル５４に基づき、ＬＲＵ方式によりキャッシュページ単位で実施する。キャッシュページは数十〜数百ＫＢ（バイト）程度、例えば１２８ＫＢ等の固定サイズである。
【００５５】
ＬＲＵテーブル５３は、キャッシュメモリ５１の記憶領域についてキャッシュページ単位で、追い出し順序に関するＬＲＵ情報を管理するテーブルである。
【００５６】
ダーティテーブル５４は、キャッシュページごとのデータの書き戻し状態を示す情報が設定される。一例として、ダーティテーブル５４に設定される情報には、ダーティテーブル５４０と同様の“DIRTY”及び“NOT DIRTY”が含まれる（図７参照）。ここで、図７の例において、説明の便宜上、ライトバック処理が実行中であるキャッシュページに対してダーティテーブル５４に“WB実行中”と記載しているが、実際には、当該キャッシュページには“DIRTY”の状態が設定される。なお、“WB実行中”はＬＲＵテーブル５３で管理される情報である。
【００５７】
ＲＡＩＤ制御部５５は、物理ボリューム６１ａ〜６１ｃとの間のアクセスを制御するコントローラの一例である。ＲＡＩＤ制御部５５は、物理ボリューム６１ごとにコマンドキュー（ＣＭＤＱ６３；図７参照）を管理することができる。なお、物理ボリューム６１においても、入力されるコマンドを格納するバッファが存在し、当該バッファにＲＡＩＤ制御部５５から発行されたライトバックに係るコマンドを格納することができる。
【００５８】
なお、ＣＭ５は、ＣＭ５としての種々の機能を実現するプロセッサの一例としてのCentral Processing Unit（ＣＰＵ）、及びプロセッサが実行するプログラムを格納するメモリの一例としてのRandom Access Memory（ＲＡＭ）をそなえることができる。
【００５９】
上述したキャッシュ制御部５２及びＲＡＩＤ制御部５５の少なくとも一部の機能は、ＣＰＵがメモリに格納されたストレージ制御プログラムを実行することにより実現されてもよい。また、上述したキャッシュメモリ５１はメモリの少なくとも一部の記憶領域により実現されてもよい。さらに、メモリは、上述したＬＲＵテーブル５３及びダーティテーブル５４の各情報を記憶する記憶領域を有してもよい。
【００６０】
〔２−２〕キャッシュ制御部の構成例
次に、図６に示すキャッシュ制御部５２の構成例について説明する。
【００６１】
キャッシュ制御部５２は、キャッシュ枯渇によるキャッシュ領域解放時のライトバック処理を、以下に詳述する構成及び手法により実現することで、上述した比較例に係るライトバック処理でのＲＬＵの偏りを解消することができる。
【００６２】
図６に示すように、キャッシュ制御部５２は、例示的に、ＲＬＵカウンタ５２１、ダーティカウンタ５２２、ライトバックカウンタ５２３、カウンタ制御部５２４、及びライトバック実行部５２５をそなえる。
【００６３】
ＲＬＵカウンタ５２１、ダーティカウンタ５２２、及びライトバックカウンタ５２３は、それぞれＲＬＵごと、例えば物理ボリューム６１ごとにカウントを行なうカウンタである。カウンタ制御部５２４は、これらのカウンタ５２１〜５２３に対する制御、例えば加算又は減算を行なう。
【００６４】
ＲＬＵカウンタ５２１は、キャッシュメモリ５１上に割り当てられたデータ数を、ＲＬＵ別に記録するためのカウンタである。換言すれば、ＲＬＵカウンタ５２１は、キャッシュメモリ５１に割り当てられたデータ数を物理ボリューム６１ごとにカウントする第３カウンタの一例である。
【００６５】
一例として、カウンタ制御部５２４は、キャッシュ制御部５２がホスト装置２からのＩ／Ｏ要求、例えば書込要求又は読出要求を受けて、当該Ｉ／Ｏ要求にキャッシュ領域を割り当てたときに、割り当てられたデータ数をＲＬＵカウンタ５２１に加算する。また、一例として、カウンタ制御部５２４は、キャッシュ制御部５２がＩ／Ｏ要求に割り当てたキャッシュ領域を解放するとき、解放されるデータ数をＲＬＵカウンタ５２１から減算する。加算及び減算の対象のカウンタ値は、データの割当又は解放対象のＲＬＵ（例えば物理ボリューム６１）に対応したカウンタ値である。
【００６６】
ダーティカウンタ５２２は、キャッシュメモリ５１上にステージングされたデータのうちの書込要求に含まれるデータ数を、ＲＬＵ別に記録するためのカウンタである。換言すれば、ダーティカウンタ５２２は、キャッシュメモリ５１に格納されたアクセス要求に係るデータのうちの、アクセス要求の対象の物理ボリューム６１への書き込みが行なわれていないデータの数を物理ボリューム６１ごとにカウントする第１カウンタの一例である。
【００６７】
一例として、カウンタ制御部５２４は、キャッシュ制御部５２がホスト装置２からの書込要求を受けて、当該書込要求にキャッシュ領域を割り当てたときに、当該書込要求に含まれるデータ数をダーティカウンタ５２２に加算する。また、一例として、カウンタ制御部５２４は、キャッシュ制御部５２（ライトバック実行部５２５）による、書込要求に割り当てたキャッシュ領域を物理ボリューム６１へライトバックするライトバックを指示したとき又はライトバック処理が完了したとき、ライトバックされたデータ数をダーティカウンタ５２２から減算する。加算及び減算の対象のカウンタ値は、データの割当又はライトバック対象のＲＬＵ（例えば物理ボリューム６１）に対応したカウンタ値である。
【００６８】
ライトバックカウンタ５２３は、キャッシュ制御により、ＲＬＵへのライトバック実行を指示したデータ数をＲＬＵ別に記録するためのカウンタである。換言すれば、ライトバックカウンタ５２３は、ライトバック実行部５２５によるライトバック（書戻処理）中のデータ数を物理ボリューム６１ごとにカウントする第２カウンタの一例である。
【００６９】
一例として、カウンタ制御部５２４は、キャッシュ制御部５２（ライトバック実行部５２５）がＲＡＩＤ制御部５５に対してＲＬＵへのダーティデータのライトバックを指示したときに、ライトバックを指示したデータ数をライトバックカウンタ５２３に加算する。また、カウンタ制御部５２４は、ライトバックが完了したときに、ライトバックが完了したデータ数をライトバックカウンタ５２３から減算する。加算及び減算の対象のカウンタ値は、ライトバック対象のＲＬＵ（例えば物理ボリューム６１）に対応したカウンタ値である。
【００７０】
なお、上述したカウンタ５２１〜５２３においてカウントされるデータ数は、キャッシュメモリ５１でデータが管理されるサイズ、例えばキャッシュページを単位とする。
【００７１】
ライトバック実行部５２５は、定期的なライトバック処理に加えて、Ｉ／Ｏ要求へのキャッシュメモリ５１の割り当ての際に、カウンタ５２１〜５２３に基づくライトバック処理を実行することができる。
【００７２】
例えば、ライトバック実行部５２５は、ライトバック処理において、ＲＬＵごとのキャッシュメモリ５１の使用率を算出し、使用率が閾値を超えたときにライトバック処理を実施する。
【００７３】
一例として、ライトバック実行部５２５は、ＲＬＵに割り当て可能な最大キャッシュ容量（Ｎ）の使用率を、ストレージ装置３の構成情報（図示省略）を参照して求める。なお、Ｎは『ストレージ装置３の全キャッシュ容量に割り当て可能なデータ数』÷『ストレージ装置３に定義されたＲＬＵ数』の算出によって求めることができる。ここで、全キャッシュ容量に割り当て可能なデータ数は、『ストレージ装置３に搭載されたキャッシュメモリ５１のサイズ（容量）』÷『キャッシュページサイズ（データ容量）』を算出することで求められる。
【００７４】
そして、ライトバック実行部５２５は、『ダーティカウンタ５２２のカウンタ値の総計』÷『全キャッシュ容量に割り当て可能なデータ数』を算出することで、キャッシュメモリ５１全体のダーティデータの使用率（以下、全ダーティデータ使用率と表記する）を算出する。
【００７５】
また、ライトバック実行部５２５は、ＲＬＵごとに『ダーティカウンタ５２２のカウンタ値』÷『ＲＬＵカウンタ５２１のカウンタ値』を算出することで、ＲＬＵごとのダーティデータの使用率（以下、ＲＬＵ別ダーティデータ使用率と表記する）を算出する。
【００７６】
そして、ライトバック実行部５２５は、全ダーティデータ使用率が全ダーティデータ使用率の閾値を超え、且つ、ＲＬＵ別ダーティデータ使用率がＲＬＵ別ダーティデータ使用率の閾値を超えている場合、当該ＲＬＵについては『ライトバック処理を加速させる』ものとして、定期的なライトバック処理を待たずに、ライトバック処理を開始する。
【００７７】
なお、全ダーティデータ使用率の閾値としては、例えば０．５（全キャッシュ領域に格納可能なデータのうちの５０％がダーティデータ）等の値が設定され得る。また、ＲＬＵ別ダーティデータ使用率の閾値としては、例えば０．５（Ｉ／Ｏ要求のあったＲＬＵに係るキャッシュ領域を使用中のデータのうちの５０％がダーティデータ）等の値が設定され得る。なお、これらの閾値は共通のものが用いられてもよい。以下の説明では、全ダーティデータ使用率の閾値及びＲＬＵ別ダーティデータ使用率の閾値として、共通のダーティデータ使用率の閾値が用いられるものとする。
【００７８】
上述したライトバック処理の開始の判定は、例えばダーティカウンタ５２２に値が加算されたとき、換言すれば書込要求に対してキャッシュ領域に書き込みを行なったタイミングを契機に開始してもよい。また、このとき判定の対象となるＲＬＵは、Ｉ／Ｏ要求の対象のＲＬＵに制限されてもよい。
【００７９】
なお、ライトバック実行部５２５によるダーティデータ使用率の判定では、全ダーティデータ使用率についての算出及び判定が行なわれなくてもよい（省略されてもよい）。
【００８０】
このように、ライトバック実行部５２５は、第１のアクセス要求の受信に応じて、第１のアクセス要求の対象の第１の物理ボリューム６１に対してキャッシュメモリ５１から割当済のデータ数、例えばＲＬＵカウンタ５２１のカウンタ値に対する、第１の物理ボリューム６１に対応するダーティカウンタ５２２のカウンタ値の第１の割合が第１の閾値を超えるか否かを判定する判定部の一例である。また、判定部の一例としてのライトバック実行部５２５は、さらに、第１のアクセス要求の受信に応じて、キャッシュメモリ５１から割当可能なデータ数に対する、ダーティカウンタ５２２のカウンタ値の合計の第２の割合が第１の閾値又は他の閾値を超えるか否かを判定することができる。
【００８１】
また、ライトバックカウンタ５２３は、第１の割合が第１の閾値を超える場合、又は、第１の割合が第１の閾値を超え、第２の割合が第１の閾値又は他の閾値を超える場合に、第１の物理ボリューム６１に対するキャッシュメモリ５１からのデータの書戻処理を行なう書戻処理部の一例である。
【００８２】
以上の処理により、キャッシュ領域の枯渇前にライトバック処理を行なうことができ、Ｉ／Ｏ要求へのキャッシュ領域の割り当て時間の遅延を抑制することができる。
【００８３】
また、ライトバックの完了時に、キャッシュメモリ５１上にデータが残る。これにより、例えばダーティデータ使用率の閾値を０．５程度に設定した場合、キャッシュメモリ５１の容量に対してダーティデータが５０％以下の場合にデータの追い出しが動くことで生じる、ステージング（キャッシュ）されたデータの減少を抑制できる。従って、キャッシュメモリ５１を効率よく、例えば１００％使用することができ、キャッシュヒット率の低下を抑制できる。また、キャッシュメモリ５１からのデータの追い出しの際に、ライトバックを行なわなくてもよい領域を増やすことができ、新たなＩ／Ｏ要求を受信したときにキャッシュメモリ５１の割り当てにかかる待ち時間を削減できる。
【００８４】
ところで、ライトバック実行部５２５は、上述したライトバック処理において、ＲＬＵに対するコマンド数が、ＲＬＵの性能的に遅延が生じ得る量を超える場合に、他のＲＬＵにライトバック処理を切り替える負荷分散処理を行なうことができる。
【００８５】
例えばライトバック実行部５２５は、ＲＬＵごとのライトバックカウンタ５２３を監視し、ライトバック処理を実施しようとするＲＬＵに係るカウンタ値がライトバック数の閾値を超えている場合、負荷の低い他のＲＬＵにライトバック対象を切り替える。
【００８６】
なお、ライトバック数の閾値は、ＲＬＵに指示しているコマンドがＲＬＵの性能に影響し得るコマンド数を表し、例えば４０程度の値が設定され得る。換言すれば、ライトバック数の閾値は、物理ボリューム６１におけるデータの書込性能に基づき決定される。
【００８７】
以上のように、判定部の一例としてのライトバック実行部５２５は、第１の物理ボリューム６１に対応するライトバックカウンタ５２３のカウンタ値が第２の閾値を超えるか否かを判定することができる。
【００８８】
また、書戻処理部の一例としてのライトバック実行部５２５は、第１の物理ボリューム６１に対応するライトバックカウンタ５２３のカウンタ値が第２の閾値を超える場合、第１の物理ボリューム６１に対する書戻処理を抑止することができる。そして、ライトバック実行部５２５は、カウンタ値が第２の閾値以下のライトバック実行部５２５に対応する第２の物理ボリューム６１に対する、キャッシュメモリ５１からのデータの書戻処理を行なうことができる。
【００８９】
これにより、ライトバック処理によるＲＬＵへの負荷の集中（高負荷状態）を回避することができ、ＲＬＵにおける処理遅延に伴うライトバック処理の遅滞の発生を抑止することができる。
【００９０】
なお、上述した各閾値は、上述した値に限定されるものではなく、装置構成や運用の態様等の種々の条件に応じて適宜決定され、運用開始前に予めＣＭ５に設定されてもよい。また、これらの閾値が運用の過程でＣＭ５又はオペレータ等により変更されてもよい。
【００９１】
また、ライトバック処理では、ＲＡＩＤ制御部５５に対してライトバック対象のキャッシュページに格納されたデータを物理ボリューム６１へ書き込ませる指示が発行される。ＲＡＩＤ制御部５５によるライトバックの実施については、既知の種々の手法により行なうことが可能であり、その詳細な説明は省略する。
【００９２】
さらに、定期的なライトバック処理では、ライトバック実行部５２５は、ホストＩ／Ｏによるデータ使用が終了したタイミングで、データごとにライトバック用のタイマを起動し、タイムアップしたときに当該データについてのライトバック処理を実施することができる。
【００９３】
次に、図７を参照して、ストレージ装置３においてＩ／Ｏ要求に対するキャッシュ領域を確保できなかった場合、換言すれば、キャッシュフル、且つ、ダーティでない領域が存在しない場合の一例について説明する。なお、説明の便宜上、ライトバック数の閾値が“２”であるものとする。
【００９４】
図７に示すように、例えばホスト装置２のＣＨ２ａからＩ／Ｏ要求が発行されると、ストレージ装置３のＣＡ４ａがＣＭ５のキャッシュ制御部５２へキャッシュ割当要求を発行する。ライトバック実行部５２５は、Ｉ／Ｏ要求に対してキャッシュメモリ５１を割り当てるとき、空き領域が存在しない場合には、キャッシュ領域の全ダーティデータ使用率及びＲＬＵ別ダーティデータ使用率が高く、負荷の少ないＲＬＵに対するダーティデータのライトバック指示を発行する。
【００９５】
例えば図７に示すように、ライトバック実行部５２５は、ＲＬＵカウンタ５２１及びダーティカウンタ５２２に基づき、ＲＡＩＤ＃０、ＲＡＩＤ＃１、及びＲＡＩＤ＃２について、全ダーティデータ使用率及びＲＬＵ別ダーティデータ使用率がそれぞれの閾値を超えていると判定した場合、以下の処理を行なう。
【００９６】
ライトバック実行部５２５は、ＬＲＵ順でキャッシュメモリ５１のダーティデータを追い出す際に、ＲＬＵ別のライトバックカウンタ５２３に基づき、ライトバック指示を発行する対象のＲＬＵについて、カウンタ値がライトバック数の閾値を超えないように制御を行なう。
【００９７】
一例として、ライトバック実行部５２５は、ダーティテーブル５４についてＬＲＵ順に（図７のダーティテーブル５４のうちの下から上に向かって順に）、ＲＡＩＤ＃０、ＲＡＩＤ＃０、ＲＡＩＤ＃１、ＲＡＩＤ＃０のダーティデータのライトバックを指示する。なお、ライトバックカウンタ５２３は、ＲＡＩＤ＃０が“３”、ＲＡＩＤ＃１が“１”に更新される。
【００９８】
次いで、ライトバック実行部５２５は、下から５番目のＲＡＩＤ＃０のデータについて、ＲＡＩＤ＃０のライトバックカウンタ５２３がライトバック数の閾値である“２”を超えているため、ＲＡＩＤ＃０のデータに係るライトバックを抑止する。同様に、ライトバック実行部５２５は、下から６番目〜１０番目のＲＡＩＤ＃０のデータに係るライトバックも抑止する。
【００９９】
一方、ライトバック実行部５２５は、下から１１番目及び１２番目のＲＡＩＤ＃１のデータについては、ＲＡＩＤ＃１のライトバックカウンタ５２３が“１”であり、ライトバック数の閾値以下であるため、ＲＡＩＤ＃１のデータに係るライトバックを指示する。
【０１００】
このように、ライトバック実行部５２５は、ＬＲＵテーブル５３に従って一律にライトバック処理の対象ＲＬＵ及び対象データを選択するのではなく、ＲＬＵが高負荷にならないデータを選択することができる。
【０１０１】
以上のように、一実施形態に係るストレージ装置３によれば、ＲＬＵごとにキャッシュメモリ５１の使用率及びＲＬＵの負荷を監視し、ライトバックの対象ＲＬＵが高負荷状態であれば、負荷の低いＲＬＵに対するライトバック処理に切り替えることができる。
【０１０２】
これにより、ＲＬＵへ過剰にライトバック指示が発行されないようにでき、ＲＬＵの負荷を軽減できるため、ライトバックがＲＬＵにおいて例えばステージングのための読出動作等と競合した場合でも、性能低下を軽減するように管理することができる。
【０１０３】
従って、上述した比較例において生じ得る、ライトバック対象のＲＬＵの偏りによるキャッシュメモリ５１の割り当て待ち時間の遅延発生を抑止することができ、ストレージ装置３においてアクセス要求に対するキャッシュメモリ５１の割り当て遅延の発生を抑制することができる。
【０１０４】
〔２−３〕ストレージシステムの動作例
次に、上述の如く構成されたストレージシステム１の動作例を、図８〜図１２を参照して説明する。
【０１０５】
はじめに、図８を参照して、ストレージシステム１における全体の動作例について説明する。ホスト装置２においてＩ／Ｏが発生し、例えばＣＨ２ａからＩ／Ｏ要求が発行されると（処理Ｔ１）、ストレージ装置３の例えばＣＡ４ａがＩ／Ｏ要求を受信し、キャッシュ制御部５２に対してキャッシュの割当要求を発行する（処理Ｔ２）。
【０１０６】
キャッシュ制御部５２は、キャッシュヒット判定処理を行ない（処理Ｔ３、図９及び図１０参照）、キャッシュ割当が成功すると、Ｉ／Ｏ要求に割り当てるキャッシュメモリ５１の領域をＣＡ４ａに通知する（処理Ｔ４）。
【０１０７】
ＣＡ４ａは、キャッシュ制御部５２からの通知に応じて、キャッシュ制御部５２を介して、ホストＩ／Ｏに基づくキャッシュメモリ５１へのデータアクセスを実施する（処理Ｔ５）。ホストＩ／Ｏが書込要求である場合には、キャッシュメモリ５１上のデータの更新が行なわれる。なお、ＣＡ４ａは、事前にＣＨ２ａからＩ／Ｏ要求に係るデータ（書込データ）を取得していてもよいし、処理Ｔ４の通知を受けたときにＣＨ２ａからデータを取得してもよい。
【０１０８】
キャッシュメモリ５１へのアクセスが終了すると、ＣＡ４ａはＣＨ２ａへ応答を返し、ＣＨ２ａからホストＩ／Ｏの終了を受信すると（処理Ｔ６）、ＣＡ４ａは、キャッシュ制御部５２に対して、キャッシュメモリ５１の領域使用の解放を通知する（処理Ｔ７）。なお、ＣＡ４ａは、キャッシュメモリ５１のデータ更新を実施した場合、キャッシュ制御部５２に対してデータ更新を実施した旨を併せて通知する。
【０１０９】
ＣＡ４ａから通知を受けると、キャッシュ制御部５２は、キャッシュ領域の解放処理を実施する（処理Ｔ８、図１１参照）。
【０１１０】
キャッシュ制御部５２は、定期的なライトバック処理又はダーティデータ使用率の増加に伴うライトバック処理を行なう際に、ＲＡＩＤ制御部５５に対して、物理ボリューム６１の物理ディスクへのキャッシュメモリ５１上のデータのライトバックを指示する（処理Ｔ９）。
【０１１１】
ＲＡＩＤ制御部５５は、物理ボリューム６１に対して、キャッシュ制御部５２から指示されたデータのライトバックを実施し（処理Ｔ１０）、ライトバックが完了すると、キャッシュ制御部５２に対してライトバックの完了を通知する（処理Ｔ１１）。
【０１１２】
キャッシュ制御部５２は、ＲＡＩＤ制御部５５からライトバックの完了通知を受信すると、ライトバック完了の割込処理を実施し（処理Ｔ１２、図１２参照）、処理が終了する。
【０１１３】
次に、図９及び図１０を参照して、キャッシュ制御部５２によるキャッシュヒットの判定処理（図８の処理Ｔ３参照）の動作例について説明する。
【０１１４】
ホスト装置２からの新規のＩ／Ｏ要求のコマンドを例えばＣＡ４ａから受信すると、キャッシュ制御部５２は、当該Ｉ／Ｏ要求に対して割り当てるキャッシュ領域がヒットしたか否か、換言すればＩ／Ｏ要求で指示されたデータがキャッシュヒットしたか否かを判定する（ステップＳ１）。なお、キャッシュヒットの判定については既知の種々の手法により実現可能であり、その詳細な説明は省略する。
【０１１５】
キャッシュ領域がヒットした場合（ステップＳ１のＹｅｓルート）、キャッシュ制御部５２はヒットしたキャッシュ領域の情報、例えばヒットしたメモリアドレスをＣＡ４ａへ通知（応答）し（ステップＳ２）、キャッシュ制御部５２によるキャッシュヒットの判定処理が終了する。
【０１１６】
一方、キャッシュ領域がヒットしない場合（ステップＳ１のＮｏルート）、キャッシュ制御部５２は、キャッシュの枯渇状態の確認を行ない、キャッシュ領域に未割当領域（空き領域）が存在するか否かを判定する（ステップＳ３）。未割当領域が存在する場合（ステップＳ３のＹｅｓルート）、キャッシュ制御部５２は、空きキャッシュ領域を新たなＩ／Ｏ要求に割り当てる（ステップＳ４）。また、カウンタ制御部５２４は、当該Ｉ／Ｏ要求の対象であるＲＬＵのＲＬＵカウンタ５２１に対して、カウンタ値に１を加算する（ステップＳ５）。そして、キャッシュ制御部５２は、割り当てたキャッシュ領域の情報をＣＡ４ａへ通知し（ステップＳ６）、キャッシュ制御部５２によるキャッシュヒットの判定処理が終了する。
【０１１７】
ステップＳ３において、キャッシュ領域に未割当領域が存在しない場合（ステップＳ３のＮｏルート）、ライトバック実行部５２５は、ＲＬＵカウンタ５２１及びダーティカウンタ５２２を参照し、ダーティデータ使用率を算出する。例えばキャッシュ制御部５２は、キャッシュメモリ５１全体のダーティデータ使用率と、Ｉ／Ｏ要求に係るＲＬＵのＲＬＵ別ダーティデータ使用率とを算出する。
【０１１８】
そして、ライトバック実行部５２５は、算出した全ダーティデータ使用率及びＲＬＵ別ダーティデータ使用率がいずれもダーティデータ使用率の閾値、例えば５０％を超えているか否かを判定する（ステップＳ７）。
【０１１９】
全ダーティデータ使用率は、例えば『ダーティカウンタ５２２のカウンタ値の総計』÷『キャッシュメモリ５１に格納可能なデータ数』の算出により求めることができる。また、ＲＬＵ別ダーティデータ使用率は、例えばＩ／Ｏ要求に係るＲＬＵの『ダーティカウンタ５２２のカウンタ値』÷『ＲＬＵカウンタ５２１のカウンタ値』の算出により求めることができる。
【０１２０】
なお、ライトバック実行部５２５は、全ダーティデータ使用率の算出を行なわずに、Ｉ／Ｏ要求に係るＲＬＵのＲＬＵ別ダーティデータ使用率の算出を行ない、算出したＲＬＵ別ダーティデータ使用率が閾値を超えるか否かを判定してもよい。
【０１２１】
ステップＳ７において、全ダーティデータ使用率又はＲＬＵ別ダーティデータ使用率が閾値以下の場合（ステップＳ７のＮｏルート）、キャッシュ制御部５２は、ＬＲＵテーブル５３で示される順序に従い、Ｉ／Ｏ要求に対してキャッシュ領域を割り当てる（ステップＳ８）。なお、ステップＳ８では、キャッシュ制御部５２は、ＬＲＵ順で最も更新の古いライトバック済（ダーティではない）のキャッシュ領域に格納されたデータに対応するＲＬＵを追出対象のＲＬＵとして決定する。
【０１２２】
また、カウンタ制御部５２４は、ＬＲＵ順で追出対象のＲＬＵのＲＬＵカウンタ５２１に対して、カウンタ値から１を減算し（ステップＳ９）、Ｉ／Ｏ要求の対象であるＲＬＵのＲＬＵカウンタ５２１に対して、カウンタ値に１を加算する（ステップＳ１０）。そして、キャッシュ制御部５２は、割り当てたキャッシュ領域の情報をＣＡ４ａへ通知し（ステップＳ１１）、キャッシュ制御部５２によるキャッシュヒットの判定処理が終了する。
【０１２３】
一方、ステップＳ７において、全ダーティデータ使用率及びＲＬＵ別ダーティデータ使用率がいずれも閾値を超える場合（ステップＳ７のＹｅｓルート）、処理が図１０のステップＳ１２に移行する。
【０１２４】
図１０のステップＳ１２では、ライトバック実行部５２５は、ライトバック済のキャッシュ領域が存在するか否かを判定する。ライトバック済のキャッシュ領域が存在する場合（ステップＳ１２のＹｅｓルート）、キャッシュ制御部５２は、ＬＲＵテーブル５３で示される順序に従い、Ｉ／Ｏ要求に対してキャッシュ領域を割り当てる（ステップＳ１３）。また、カウンタ制御部５２４は、ＬＲＵ順で追出対象のＲＬＵのＲＬＵカウンタ５２１に対して、カウンタ値から１を減算し（ステップＳ１４）、Ｉ／Ｏ要求の対象であるＲＬＵのＲＬＵカウンタ５２１に対して、カウンタ値に１を加算する（ステップＳ１５）。そして、キャッシュ制御部５２は、割り当てたキャッシュ領域の情報をＣＡ４ａへ通知し（ステップＳ１６）、処理がステップＳ１９に移行する。
【０１２５】
一方、ステップＳ１２において、ライトバック済のキャッシュ領域が存在しない場合（ステップＳ１２のＮｏルート）、キャッシュ制御部５２は、キャッシュ領域にライトバック済領域が存在しないため、ＣＡ４ａにビジーを通知する（ステップＳ１７）。これにより、ホスト装置２にキャッシュ領域の空き待ち状態であることが通知される。
【０１２６】
また、キャッシュ制御部５２は、ライトバックが完了したときに今回のＩ／Ｏ要求に対するキャッシュ領域の割り当てを行なうため、ライトバック処理が完了したときの割込処理としてキャッシュ領域の割り当て及び通知の実施を登録し（ステップＳ１８）、処理がステップＳ１９に移行する。
【０１２７】
ステップＳ１９〜Ｓ２２では、ステップＳ７の判定でライトバック未実施のダーティ領域が既にダーティデータ使用率の閾値を超えているため、ライトバック実行部５２５は、ライトバック対象を他のＲＬＵに変更するために、ライトバックを実施するキャッシュ領域を決定する。換言すれば、ステップＳ１９〜Ｓ２２の処理が、ライトバック実行部５２５による負荷分散処理に対応するといえる。
【０１２８】
例えばステップＳ１９では、ライトバック実行部５２５は、ライトバックカウンタ５２３からライトバック数の閾値以下のＲＬＵを検索する。そして、ライトバック実行部５２５は、ライトバックカウンタ５２３にライトバック数の閾値以下のＲＬＵが存在するか否かを判定する（ステップＳ２０）。
【０１２９】
ライトバックカウンタ５２３に閾値以下のＲＬＵが存在しない場合（ステップＳ２０のＮｏルート）、全てのＲＬＵが高負荷の状態である。従って、ライトバック実行部５２５は、決定済のＲＬＵ番号を追出対象のＲＬＵ番号として、当該ＲＬＵをライトバック対象に設定し（ステップＳ２１）、処理がステップＳ２３に移行する。なお、ライトバック実行部５２５は、ステップＳ２１において、ライトバックカウンタ５２３の値が最も小さいＲＬＵをライトバック対象に設定してもよい。
【０１３０】
一方、ライトバックカウンタ５２３に閾値以下のＲＬＵが存在する場合（ステップＳ２０のＹｅｓルート）、ライトバック実行部５２５は、ステップＳ１９の検索で抽出したＲＬＵ番号を追出対象のＲＬＵ番号として、当該ＲＬＵをライトバック対象に設定し（ステップＳ２２）、処理がステップＳ２３に移行する。
【０１３１】
ステップＳ２３では、ライトバック実行部５２５は、ＲＡＩＤ制御部５５に対して、追出対象として決定したＲＬＵ番号を通知し、当該ＲＬＵに係るライトバックを指示する（図８の処理Ｔ９参照）。
【０１３２】
また、カウンタ制御部５２４は、追出対象のＲＬＵのライトバックカウンタ５２３に対して、カウンタ値に１を加算し（ステップＳ２４）、追出対象のＲＬＵのダーティカウンタ５２２に対して、カウンタ値から１を減算する（ステップＳ２５）。
【０１３３】
そして、ライトバック実行部５２５は、ライトバックを指示したＲＬＵのデータに係る、キャッシュメモリ５１のキャッシュページに対して、定期的なライトバック処理のタイマを解除し（ステップＳ２６）、キャッシュ制御部５２によるキャッシュヒットの判定処理が終了する。
【０１３４】
次に、図１１を参照して、ＣＡ４ａへのキャッシュ領域の情報の通知後、ＣＡ４ａからの通知に応じたキャッシュ制御部５２によるキャッシュ領域の解放処理（図８の処理Ｔ８参照）の動作例について説明する。
【０１３５】
キャッシュ制御部５２は、ＣＡ４ａからキャッシュ領域の解放通知を受信すると、当該通知にデータの更新通知が存在するか否か、例えば含まれているか否かを判定する（ステップＳ３１）。
【０１３６】
データの更新通知が存在しない場合（ステップＳ３１のＮｏルート）、処理がステップＳ３３に移行する。一方、データの更新通知が存在する場合（ステップＳ３１のＹｅｓルート）、カウンタ制御部５２４は、ＣＡ４ａから通知されたキャッシュ領域のＲＬＵのダーティカウンタ５２２に対して、カウンタ値に１を加算する（ステップＳ３２）。
【０１３７】
そして、キャッシュ制御部５２は、解放が指示されたキャッシュ領域の状態を、ＣＡ４ａによる使用中から未使用に変更し、定期的なライトバック処理用のタイマを起動し（ステップＳ３３）、処理が終了する。なお、キャッシュ領域の状態は、例えばＬＲＵテーブル５３に設定される情報であり、例えばキャッシュ制御部５２がＣＡ４ａへのキャッシュ領域の割当の通知を行なう際に使用中に設定されてもよい。
【０１３８】
次に、図１２を参照して、キャッシュ制御部５２によるライトバック処理における、ライトバック完了時の割込処理（図８の処理Ｔ１２参照）の動作例について説明する。
【０１３９】
ＲＡＩＤ制御部５５からライトバックの完了を通知されると、カウンタ制御部５２４は、ライトバックが完了したＲＬＵのライトバックカウンタ５２３に対して、カウンタ値から１を減算する（ステップＳ４１）。
【０１４０】
次いで、キャッシュ制御部５２は、キャッシュ領域の割り当ての実施及び通知が登録済か否かを判定する（ステップＳ４２）。なお、割り当ての実施及び通知の登録は、図１０のステップＳ１８で行なわれ得る。割り当ての実施及び通知が登録されていない場合（ステップＳ４２のＮｏルート）、処理が終了する。
【０１４１】
一方、割り当ての実施及び通知が登録済の場合（ステップＳ４２のＹｅｓルート）、カウンタ制御部５２４は、ライトバックが完了したＲＬＵのＲＬＵカウンタ５２１に対して、カウンタ値から１を減算する（ステップＳ４３）。また、カウンタ制御部５２４は、新たにＩ／Ｏ要求を割り当てるＲＬＵのＲＬＵカウンタ５２１に対して、カウンタ値に１を加算する（ステップＳ４４）。
【０１４２】
そして、キャッシュ制御部５２は、キャッシュ領域の割り当てが完了したことをホスト装置２へ報告するため、割り当てたキャッシュ領域の情報をＣＡ４ａへ通知し（ステップＳ４５）、処理が終了する。
【０１４３】
〔２−４〕ハードウェア構成例
次に、図１３を参照して、上述の如く構成されたＣＭ５のハードウェア構成例について説明する。
【０１４４】
図１３に示すように、ＣＭ５は、例示的に、ＣＰＵ５ａ、メモリ５ｂ、記憶部５ｃ、インタフェース部５ｄ、及び入出力部５ｅをそなえる。
【０１４５】
ＣＰＵ５ａは、種々の制御や演算を行なうプロセッサの一例である。ＣＰＵ５ａは、ＣＭ５内の各ブロックとバスで相互に通信可能に接続されてよい。なお、プロセッサとしては、ＣＰＵ５ａに代えて、他の演算処理装置、例えばMicro Processing Unit（ＭＰＵ）等の集積回路（Integrated Circuit；ＩＣ）が用いられてもよい。
【０１４６】
メモリ５ｂは、種々のデータやプログラムを格納するハードウェアの一例である。図６に示すキャッシュメモリ５１はメモリ５ｂが有する記憶領域によって実現されてもよい。また、メモリ５ｂは、図６に示すＬＲＵテーブル５３及びダーティテーブル５４の各情報を記憶する記憶領域を有してもよい。メモリ５ｂとしては、例えばＲＡＭ等の揮発性メモリが挙げられる。
【０１４７】
記憶部５ｃは、種々のデータやプログラム等を格納するハードウェアの一例である。記憶部５ｃとしては、例えばＨＤＤ等の磁気ディスク装置、ＳＳＤ等の半導体ドライブ装置、フラッシュメモリやRead Only Memory（ＲＯＭ）等の不揮発性メモリ等の各種記憶装置が挙げられる。
【０１４８】
例えば記憶部５ｃは、ＣＭ５の各種機能の全部若しくは一部を実現するストレージ制御プログラム５０を格納してもよい。この場合、ＣＰＵ５ａは、記憶部５ｃに格納されたストレージ制御プログラム５０をメモリ５ｂに展開して実行することにより、ＣＭ５の機能を実現することができる。
【０１４９】
インタフェース部５ｄは、ホスト装置２、ＤＥ６、又は図示しない管理サーバ等との間の接続及び通信の制御等を行なう通信インタフェースの一例である。なお、図６の例ではＣＡ４がＣＭ５の外部に設けられているが、ＣＡ４はＣＭ５のインタフェース部５ｄにより実現されてもよい。インタフェース部５ｄとしては、例えばＬＡＮカード等のネットワークインタフェースや、Serial Attached SCSI(Small Computer System Interface)（ＳＡＳ）、ファイバチャネル（Fibre Channel；ＦＣ）、インフィニバンド（InfiniBand）等に準拠したインタフェースが挙げられる。
【０１５０】
また、インタフェース部５ｄは、記録媒体５ｆに記録されたデータやプログラムを読み出す読取部をそなえてもよい。読取部は、コンピュータ読取可能な記録媒体５ｆを接続又は挿入可能な接続端子又は装置を含んでもよい。読取部としては、例えばUniversal Serial Bus（ＵＳＢ）等に準拠したアダプタ、記録ディスクへのアクセスを行なうドライブ装置、ＳＤカード等のフラッシュメモリへのアクセスを行なうカードリーダ等が挙げられる。なお、記録媒体５ｆにはストレージ制御プログラム５０が格納されてもよい。
【０１５１】
入出力部５ｅは、マウス、キーボード、操作ボタン等の入力部、並びにディスプレイ等の出力部の少なくとも一部を含むことができる。例えば入力部は、オペレータ等による設定の登録や変更、システムのモード選択（切替）等の各種操作やデータの入力等の作業に用いられてもよく、出力部は、オペレータ等による設定の確認や各種通知等の出力に用いられてもよい。
【０１５２】
なお、上述したＣＭ５のハードウェア構成は例示である。従って、ストレージ装置３及びＣＭ５間、又は、ＣＭ５内でのハードウェアの増減（例えば任意のブロックの追加や省略）、分割、任意の組み合わせでの統合、バスの追加又は省略等は適宜行なわれてもよい。
【０１５３】
〔３〕その他
上述した一実施形態に係る技術は、以下のように変形、変更して実施することができる。
【０１５４】
例えば、図６に示すストレージ装置３のＣＭ５の各機能ブロックは、それぞれ任意の組み合わせで併合してもよく、分割してもよい。
【０１５５】
また、ストレージ装置３がＲＡＩＤグループの一例としての物理ボリューム６１を３つそなえるものとしたが、これに限定されるものではなく、ストレージ装置３には、１以上の物理ディスクをそなえる物理ボリューム６１が２以下又は４以上そなえられてもよい。
【０１５６】
〔４〕付記
以上の実施形態に関し、更に以下の付記を開示する。
【０１５７】
（付記１）
キャッシュメモリに格納されたアクセス要求に係るデータのうちの、前記アクセス要求の対象の記憶ボリュームへの書き込みが行なわれていないデータの数を前記記憶ボリュームごとにカウントする第１カウンタと、
第１のアクセス要求の受信に応じて、前記第１のアクセス要求の対象の第１の記憶ボリュームに対して前記キャッシュメモリから割当済のデータ数に対する、前記第１の記憶ボリュームに対応する前記第１カウンタのカウンタ値の第１の割合が第１の閾値を超えるか否かを判定する判定部と、
前記第１の割合が前記第１の閾値を超える場合に、前記第１の記憶ボリュームに対する前記キャッシュメモリからのデータの書戻処理を行なう書戻処理部と、
をそなえることを特徴とする、ストレージ制御装置。
【０１５８】
（付記２）
前記判定部は、前記第１のアクセス要求の受信に応じて、前記キャッシュメモリから割当可能なデータ数に対する、前記第１カウンタのカウンタ値の合計の第２の割合が前記第１の閾値又は他の閾値を超えるか否かを判定し、
前記書戻制御部は、前記第１の割合が前記第１の閾値を超え、前記第２の割合が前記第１の閾値又は前記他の閾値を超える場合に、前記第１の記憶ボリュームに対する前記書戻処理を行なう、
ことを特徴とする、付記１記載のストレージ制御装置。
【０１５９】
（付記３）
前記書戻処理部による書戻処理中のデータ数を前記記憶ボリュームごとにカウントする第２カウンタをさらにそなえ、
前記判定部は、前記第１の記憶ボリュームに対応する前記第２カウンタのカウンタ値が第２の閾値を超えるか否かを判定し、
前記書戻処理部は、前記第１の記憶ボリュームに対応する前記第２カウンタのカウンタ値が前記第２の閾値を超える場合、前記第１の記憶ボリュームに対する前記書戻処理を抑止し、カウンタ値が前記第２の閾値以下の前記第２カウンタに対応する第２の記憶ボリュームに対する、前記キャッシュメモリからのデータの書戻処理を行なう、
ことを特徴とする、付記１又は付記２記載のストレージ制御装置。
【０１６０】
（付記４）
前記第２の閾値は、前記記憶ボリュームにおけるデータの書込性能に基づき決定される
ことを特徴とする、付記３記載のストレージ制御装置。
【０１６１】
（付記５）
前記キャッシュメモリに割り当てられたデータ数を前記記憶ボリュームごとにカウントする第３カウンタをさらにそなえ、
前記判定部は、前記第１の記憶ボリュームに対応する前記第３カウンタのカウンタ値に対する、前記第１の記憶ボリュームに対応する前記第１カウンタのカウンタ値の前記第１の割合が前記第１の閾値を超えるか否かを判定する、
ことを特徴とする、付記１〜４のいずれか１項記載のストレージ制御装置。
【０１６２】
（付記６）
コンピュータに、
キャッシュメモリに格納されたアクセス要求に係るデータのうちの、前記アクセス要求の対象の記憶ボリュームへの書き込みが行なわれていないデータの数を前記記憶ボリュームごとにカウントする第１カウンタを制御し、
第１のアクセス要求の受信に応じて、前記第１のアクセス要求の対象の第１の記憶ボリュームに対して前記キャッシュメモリから割当済のデータ数に対する、前記第１の記憶ボリュームに対応する前記第１カウンタのカウンタ値の第１の割合が第１の閾値を超えるか否かを判定し、
前記第１の割合が前記第１の閾値を超える場合に、前記第１の記憶ボリュームに対する前記キャッシュメモリからのデータの書戻処理を行なう、
処理を実行させることを特徴とする、ストレージ制御プログラム。
【０１６３】
（付記７）
前記コンピュータに、
前記第１のアクセス要求の受信に応じて、前記キャッシュメモリから割当可能なデータ数に対する、前記第１カウンタのカウンタ値の合計の第２の割合が前記第１の閾値又は他の閾値を超えるか否かを判定し、
前記第１の割合が前記第１の閾値を超え、前記第２の割合が前記第１の閾値又は前記他の閾値を超える場合に、前記第１の記憶ボリュームに対する前記書戻処理を行なう、
処理を実行させることを特徴とする、付記６記載のストレージ制御プログラム。
【０１６４】
（付記８）
前記コンピュータに、
書戻処理中のデータ数を前記記憶ボリュームごとにカウントする第２カウンタを制御し、
前記第１の記憶ボリュームに対応する前記第２カウンタのカウンタ値が第２の閾値を超えるか否かを判定し、
前記第１の記憶ボリュームに対応する前記第２カウンタのカウンタ値が前記第２の閾値を超える場合、前記第１の記憶ボリュームに対する前記書戻処理を抑止し、カウンタ値が前記第２の閾値以下の前記第２カウンタに対応する第２の記憶ボリュームに対する、前記キャッシュメモリからのデータの書戻処理を行なう、
処理を実行させることを特徴とする、付記６又は付記７記載のストレージ制御プログラム。
【０１６５】
（付記９）
前記第２の閾値は、前記記憶ボリュームにおけるデータの書込性能に基づき決定される
ことを特徴とする、付記８記載のストレージ制御プログラム。
【０１６６】
（付記１０）
前記コンピュータに、
前記キャッシュメモリに割り当てられたデータ数を前記記憶ボリュームごとにカウントする第３カウンタを制御し、
前記第１の記憶ボリュームに対応する前記第３カウンタのカウンタ値に対する、前記第１の記憶ボリュームに対応する前記第１カウンタのカウンタ値の前記第１の割合が前記第１の閾値を超えるか否かを判定する、
処理を実行させることを特徴とする、付記６〜９のいずれか１項記載のストレージ制御プログラム。
【０１６７】
（付記１１）
キャッシュメモリに格納されたアクセス要求に係るデータのうちの、前記アクセス要求の対象の記憶ボリュームへの書き込みが行なわれていないデータの数を前記記憶ボリュームごとにカウントする第１カウンタを制御し、
第１のアクセス要求の受信に応じて、前記第１のアクセス要求の対象の第１の記憶ボリュームに対して前記キャッシュメモリから割当済のデータ数に対する、前記第１の記憶ボリュームに対応する前記第１カウンタのカウンタ値の第１の割合が第１の閾値を超えるか否かを判定し、
前記第１の割合が前記第１の閾値を超える場合に、前記第１の記憶ボリュームに対する前記キャッシュメモリからのデータの書戻処理を行なう、
ことを特徴とする、ストレージ制御方法。
【０１６８】
（付記１２）
前記第１のアクセス要求の受信に応じて、前記キャッシュメモリから割当可能なデータ数に対する、前記第１カウンタのカウンタ値の合計の第２の割合が前記第１の閾値又は他の閾値を超えるか否かを判定し、
前記第１の割合が前記第１の閾値を超え、前記第２の割合が前記第１の閾値又は前記他の閾値を超える場合に、前記第１の記憶ボリュームに対する前記書戻処理を行なう、
ことを特徴とする、付記１１記載のストレージ制御方法。
【０１６９】
（付記１３）
書戻処理中のデータ数を前記記憶ボリュームごとにカウントする第２カウンタを制御し、
前記第１の記憶ボリュームに対応する前記第２カウンタのカウンタ値が第２の閾値を超えるか否かを判定し、
前記第１の記憶ボリュームに対応する前記第２カウンタのカウンタ値が前記第２の閾値を超える場合、前記第１の記憶ボリュームに対する前記書戻処理を抑止し、カウンタ値が前記第２の閾値以下の前記第２カウンタに対応する第２の記憶ボリュームに対する、前記キャッシュメモリからのデータの書戻処理を行なう、
ことを特徴とする、付記１１又は付記１２記載のストレージ制御方法。
【０１７０】
（付記１４）
前記第２の閾値は、前記記憶ボリュームにおけるデータの書込性能に基づき決定される
ことを特徴とする、付記１３記載のストレージ制御方法。
【０１７１】
（付記１５）
前記キャッシュメモリに割り当てられたデータ数を前記記憶ボリュームごとにカウントする第３カウンタを制御し、
前記第１の記憶ボリュームに対応する前記第３カウンタのカウンタ値に対する、前記第１の記憶ボリュームに対応する前記第１カウンタのカウンタ値の前記第１の割合が前記第１の閾値を超えるか否かを判定する、
処理を実行させることを特徴とする、付記１１〜１４のいずれか１項記載のストレージ制御方法。
【０１７２】
（付記１６）
プロセッサをそなえ、
前記プロセッサが、
キャッシュメモリに格納されたアクセス要求に係るデータのうちの、前記アクセス要求の対象の記憶ボリュームへの書き込みが行なわれていないデータの数を前記記憶ボリュームごとにカウントする第１カウンタを制御し、
第１のアクセス要求の受信に応じて、前記第１のアクセス要求の対象の第１の記憶ボリュームに対して前記キャッシュメモリから割当済のデータ数に対する、前記第１の記憶ボリュームに対応する前記第１カウンタのカウンタ値の第１の割合が第１の閾値を超えるか否かを判定し、
前記第１の割合が前記第１の閾値を超える場合に、前記第１の記憶ボリュームに対する前記キャッシュメモリからのデータの書戻処理を行なう、
ことを特徴とする、ストレージ制御装置。
【０１７３】
（付記１７）
コンピュータが読取可能な記録媒体であって、
前記コンピュータに、
キャッシュメモリに格納されたアクセス要求に係るデータのうちの、前記アクセス要求の対象の記憶ボリュームへの書き込みが行なわれていないデータの数を前記記憶ボリュームごとにカウントする第１カウンタを制御し、
第１のアクセス要求の受信に応じて、前記第１のアクセス要求の対象の第１の記憶ボリュームに対して前記キャッシュメモリから割当済のデータ数に対する、前記第１の記憶ボリュームに対応する前記第１カウンタのカウンタ値の第１の割合が第１の閾値を超えるか否かを判定し、
前記第１の割合が前記第１の閾値を超える場合に、前記第１の記憶ボリュームに対する前記キャッシュメモリからのデータの書戻処理を行なう、
処理を実行させることを特徴とする、記録媒体。
【符号の説明】
【０１７４】
１    ストレージシステム
２    ホスト装置
２，２ａ〜２ｄ    チャネル
３    ストレージ装置
４，４ａ〜４ｄ    チャネルアダプタ
５    コントローラモジュール
５０    ストレージ制御プログラム
５１    キャッシュメモリ
５２    キャッシュ制御部
５２１    ＲＬＵカウンタ
５２２    ダーティカウンタ
５２３    ライトバックカウンタ
５２４    カウンタ制御部
５２５    ライトバック実行部
５３    ＬＲＵテーブル
５４    ダーティテーブル
５５    ＲＡＩＤ制御部
６    ドライブエンクロージャ
６１，６１ａ〜６１ｃ    物理ボリューム
６２    論理ボリューム
６３，６３ａ〜６３ｃ    コマンドキュー
【図１】
0006540391.tif 000002
【図２】
0006540391.tif 000003
【図３】
0006540391.tif 000004
【図４】
0006540391.tif 000005
【図５】
0006540391.tif 000006
【図６】
0006540391.tif 000007
【図７】
0006540391.tif 000008
【図８】
0006540391.tif 000009
【図９】
0006540391.tif 000010
【図１０】
0006540391.tif 000011
【図１１】
0006540391.tif 000012
【図１２】
0006540391.tif 000013
【図１３】
0006540391.tif 000014