(57)【要約】【課題】論理ボリュームの再配置時に、高負荷の物理ボリュームからの論理ボリュームのデータの読み出しを防ぐこと。【解決手段】特定部３６が、ダーティデータの仮想ＲＡＩＤ−１装置１３へのライトバックの滞りが原因でダーティデータの増加が発生している物理ボリューム４１と論理ボリューム４２を特定する。そして、選択部３７が、特定部３６により特定された論理ボリューム４２が配置された２つの物理ボリューム４１の内、ダーティデータの増加が発生している物理ボリューム４１でない物理ボリューム４１をデータの読み出し元物理ボリューム４１として選択する。そして、再配置部３８が、読み出し元物理ボリューム４１からデータを読み出して再配置先物理ボリューム４１に論理ボリューム４２のコピーを作成し、コピーが作成された論理ボリューム４２をダーティデータの増加が発生している物理ボリューム４１から削除する。【選択図】図２
2019185669.tif 000002
【特許請求の範囲】
【請求項１】
キャッシュメモリにおいて書き換えが行われたダーティデータの不揮発性記憶装置へのライトバックの滞りが原因でダーティデータの増加が発生している物理ボリューム及び論理ボリュームを特定する特定部と、
前記特定部により特定された論理ボリュームがミラーリングして配置される複数の物理ボリュームから前記特定部により特定された物理ボリューム以外の１つの物理ボリュームを該論理ボリュームのデータを読み出す読み出し元物理ボリュームとして選択するとともに、該論理ボリュームの再配置先の物理ボリュームを書き込み先物理ボリュームとして選択する選択部と、
前記読み出し元物理ボリュームから前記論理ボリュームのデータを読み出して前記書き込み先物理ボリュームに書き込み、前記特定部により特定された物理ボリュームから前記論理ボリュームを削除する再配置部と
を有することを特徴とするストレージ装置。
【請求項２】
前記特定部は、前記ダーティデータの数を物理ボリューム別に記憶する第１カウンタと、前記ダーティデータの数を論理ボリューム別に記憶する第２カウンタと、キャッシュページが含まれる論理ボリュームの情報及びキャッシュページのタイムスタンプの情報を含むキャッシュページ情報がキャッシュページの解放順に並べられたＬＲＵ管理情報とに基づいて、前記増加が発生している物理ボリューム及び論理ボリュームを特定することを特徴とする請求項１に記載のストレージ装置。
【請求項３】
前記特定部は、前記第１カウンタの値が第１閾値以上である物理ボリュームを特定し、特定した物理ボリュームに配置された論理ボリュームの内で前記第２カウンタの値が最大の論理ボリュームを特定し、前記ＬＲＵ管理情報にキャッシュページ情報があるキャッシュページの内で該論理ボリュームに含まれるダーティデータのタイムスタンプが全て現在時刻より一定時間以上前である場合に、特定した物理ボリューム及び論理ボリュームを前記増加が発生している物理ボリューム及び論理ボリュームとして特定することを特徴とする請求項２に記載のストレージ装置。
【請求項４】
前記選択部は、前記特定部により特定された論理ボリュームを記憶する容量がある物理ボリュームの内、前記第１カウンタの値が最小の物理ボリュームを前記読み出し元物理ボリュームとして選択することを特徴とする請求項２又は３に記載のストレージ装置。
【請求項５】
前記特定部は、キャッシュメモリの使用率が第２閾値以上である場合に、前記第１カウンタと前記第２カウンタと前記ＬＲＵ管理情報とに基づいて、前記増加が発生している物理ボリューム及び論理ボリュームを特定することを特徴とする請求項２、３又は４に記載のストレージ装置。
【請求項６】
コンピュータに、
キャッシュメモリにおいて書き換えが行われたダーティデータの不揮発性記憶装置へのライトバックの滞りが原因でダーティデータの増加が発生している物理ボリューム及び論理ボリュームを特定し、
特定した論理ボリュームがミラーリングして配置される複数の物理ボリュームから、特定した物理ボリューム以外の１つの物理ボリュームを該論理ボリュームのデータを読み出す読み出し元物理ボリュームとして選択するとともに、該論理ボリュームの再配置先の物理ボリュームを書き込み先物理ボリュームとして選択し、
前記読み出し元物理ボリュームから前記論理ボリュームのデータを読み出して前記書き込み先物理ボリュームに書き込み、特定した物理ボリュームから前記論理ボリュームを削除する
処理を実行させることを特徴とするストレージ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置及びストレージ制御プログラムに関する。
【背景技術】
【０００２】
近年、例えばメインフレームで使われるストレージ装置では、論理ボリュームの大きさと比較して物理ボリュームの容量が大きくなったため、物理ボリュームに多くの論理ボリュームが含まれるようになった。ここで、論理ボリュームは、アプリケーションがデータを記憶する論理的な記憶領域であり、物理ボリュームは、実際にデータを記憶する不揮発性記憶装置の物理的な記憶領域である。
【０００３】
また、ホストとストレージ装置の間の入出力（Ｉ／Ｏ）処理は並列化されているため、複数の論理ボリュームへのデータの書き込みが並列に行われる。ここで、ホストは、アプリケーションが動作する情報処理装置である。
【０００４】
図７は、ホストから論理ボリュームへデータを書き込む例を示す図である。図７に示すように、ホスト２は、ＣＨ＃０〜ＣＨ＃３で表される４つのチャネル２１を介して４つの書き込みを並列に行うことができる。
【０００５】
ストレージ装置９は、ＣＨ＃０〜ＣＨ＃３にそれぞれ対応付けられたＣＡ＃Ａ〜ＣＡ＃Ｄを用いて書き込み要求を受け付ける。ＣＡ＃Ａ〜ＣＡ＃Ｄは、チャネルアダプタ（ＣＡ：Channel  Adaptor）１１である。ＣＡ＃Ａ〜ＣＡ＃Ｄは、受け付けた書き込み要求をＣＭ（Controller  Module）９１に渡す。
【０００６】
ＣＭ９１は、ストレージ装置９を制御し、ホスト２がストレージ装置９に書き込んだデータをＲＬＵ＃０〜ＲＬＵ＃３で表されるＲＬＵ（RAID  Group  Logical  Unit）９２に書き込む。ＲＬＵ９２は、２つの物理ボリューム４１を有し、ホスト２がストレージ装置９に書き込んだデータをミラーリングして２つの論理ボリューム４２に記憶する。２つの論理ボリューム４２は、別の物理ボリューム４１に配置される。
【０００７】
ＣＭ９１は、キャッシュメモリ３１と、キャッシュ制御部９３と、ＬＲＵ（Least  Recently  Used）テーブル３３とを有する。キャッシュメモリ３１は、ＲＬＵ９２に書き込まれるデータ及びＲＬＵ９２から読み出されたデータをキャッシュページ単位で一時的に記憶する。キャッシュメモリ３１は、ＲＬＵ９２に書き込まれるデータをダーティデータ３１ａとして記憶する。
【０００８】
キャッシュ制御部９３は、キャッシュメモリ３１を用いてデータの書き込み及びデータの読み出しを制御する。キャッシュ制御部９３は、キャッシュメモリ３１が枯渇すると、ＬＲＵテーブル３３に基づいて、キャッシュメモリ３１をキャシュページ単位で解放する。
【０００９】
ＬＲＵテーブル３３は、キャッシュページが使用されていない順にキャッシュページの情報を記憶する。キャッシュ制御部９３は、キャッシュメモリ３１が枯渇すると、ＬＲＵテーブル３３の先頭から、キャッシュページの情報を取り出してキャッシュページを解放する。このとき、ダーティデータ３１ａすなわち、書き込みが行われてダーティであるキャッシュページは、ＲＬＵ９２にライトバックされる。
【００１０】
なお、ミラーリングに関する従来技術として、網内の任意のノードが適応的にミラーサーバになることにより、オリジンサーバに対するアクセス負荷状況に応じて最適なミラーサーバ群を生成する技術がある。この技術では、オリジンサーバがコンテンツの動的ミラーリングを行う際、適応ミラーノード検出手段が、網内の適応ミラーノードを検出し、動的ミラーリング先決定手段によってミラーリング先の適応ミラーノードを選択する。そして、動的ミラーリング要求手段が、動的ミラーリング要求を選択された適応ミラーノードに行い、要求が受理されると動的ミラーリング手段によってミラーコンテンツを転送する。そして、適応ミラーノードが、受信したミラーコンテンツをミラーコンテンツ記憶部に格納し、ミラーサーバとして機能する。
【００１１】
また、事前に予測しないある特定のハードディスクドライブに負荷が集中するような場合にレスポンスが遅延し、サービスが低下することを防ぐ動的負荷分散ストレージ方法がある。この動的負荷分散ストレージ方法は、各ハードディスクドライブへの負荷集中度合を監視し、検出された過剰負荷ハードディスクドライブの内容をミラー用ハードディスクドライブにコピーする。そして、この動的負荷分散ストレージ方法は、過剰負荷ハードディスクドライブへのアクセス依頼の一部をミラー用ハードディスクドライブへのアクセス依頼とみなして該アクセスを実行する。
【００１２】
また、データベースをアクセスするアクセス命令を取得し、取得したアクセス命令に応じてアクセスされるテーブルを予測し、予測したテーブルを、複数の記憶装置間でミラーリングさせることで、テーブルからの読み出しパフォーマンスを高める従来技術がある。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２００６−１４６９５１号公報
【特許文献２】特開２００７−３１０７１５号公報
【特許文献３】特開２０１２−１３７８７０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１４】
図７において、ダーティデータ３１ａがＲＬＵ９２にライトバックされる場合、ライトバック先が１つのＲＬＵ９２に集中することがある。図７では、３つのダーティデータ３１ａのライトバックがＲＬＵ＃０に集中している。すると、ダーティデータ３１ａのライトバックの完了が遅れ、キャッシュページの解放が遅くなるため、データの書き込み処理が遅くなる。データの書き込み処理が遅くなると監視タイマーがタイムアウトを検出し、データの書き込み処理がエラー終了する。
【００１５】
このため、設計者は、Ｉ／Ｏの偏りがないように、論理ボリューム４２の配置先の物理ボリューム４１を決定する。しかしながら、情報処理システムを運用する中でジョブの追加や変更に伴い、情報処理システムのＩ／Ｏ特性が変化し、特定の物理ボリューム４１へのＩ／Ｏの偏りが発生する。すると、設計者は、論理ボリューム４２の物理ボリューム４１への再配置を行うが、再配置のためにはＩ／Ｏが偏って負荷の高い物理ボリューム４１から論理ボリューム４２のデータを読み出す必要がある。このため、再配置により、負荷の高い物理ボリューム４１の負荷がさらに高くなるという問題がある。
【００１６】
本発明は、１つの側面では、論理ボリュームの再配置時に、負荷の高い物理ボリュームからの論理ボリュームのデータの読み出しを防ぐことを目的とする。
【課題を解決するための手段】
【００１７】
１つの態様では、ストレージ装置は、特定部と選択部と再配置部とを有する。前記特定部は、キャッシュメモリにおいて書き換えが行われたダーティデータの不揮発性記憶装置へのライトバックの滞りが原因でダーティデータの増加が発生している物理ボリューム及び論理ボリュームを特定する。前記選択部は、特定部により特定された論理ボリュームがミラーリングして配置される複数の物理ボリュームから特定部により特定された物理ボリューム以外の１つの物理ボリュームを該論理ボリュームのデータを読み出す読み出し元物理ボリュームとして選択する。また、前記選択部は、前記論理ボリュームの再配置先の物理ボリュームを書き込み先物理ボリュームとして選択する。前記再配置部は、前記読み出し元物理ボリュームから前記論理ボリュームのデータを読み出して前記書き込み先物理ボリュームに書き込み、前記特定部により特定された物理ボリュームから前記論理ボリュームを削除する。
【発明の効果】
【００１８】
１つの側面では、本発明は、論理ボリュームの再配置時に、負荷の高い物理ボリュームからの論理ボリュームのデータの読み出しを防ぐことができる。
【図面の簡単な説明】
【００１９】
【図１】図１は、実施例に係るストレージ装置による論理ボリュームの配置を説明するための図である。
【図２】図２は、実施例に係るストレージ装置の構成を示す図である。
【図３Ａ】図３Ａは、再配置対象の論理ボリュームの特定例を示す図である。
【図３Ｂ】図３Ｂは、再配置対象の論理ボリュームの再配置を示す図である。
【図４】図４は、特定部による処理のフローを示すフローチャートである。
【図５】図５は、選択部による処理のフローを示すフローチャートである。
【図６】図６は、ＣＭのハードウェア構成を示す図である。
【図７】図７は、ホストから論理ボリュームへデータを書き込む例を示す図である。
【発明を実施するための形態】
【００２０】
以下に、本願の開示するストレージ装置及びストレージ制御プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
【実施例】
【００２１】
まず、実施例に係るストレージ装置による論理ボリュームの配置について説明する。図１は、実施例に係るストレージ装置による論理ボリュームの配置を説明するための図である。図１（ａ）は従来の配置を示し、図１（ｂ）は実施例に係る配置を示す。図１（ａ）及び図１（ｂ）において、ＶＯＬ＃００〜ＶＯＬ＃２１は、物理ボリュームである。
【００２２】
図１（ａ）に示すように、従来は、２つの物理ボリュームでＲＡＩＤ−１を構成する。図１（ａ）では、ＲＬＵ＃０はＶＯＬ＃００とＶＯＬ＃０１でＲＡＩＤ−１を構成し、ＲＬＵ＃１はＶＯＬ＃１０とＶＯＬ＃１１でＲＡＩＤ−１を構成し、ＲＬＵ＃２はＶＯＬ＃２０とＶＯＬ＃２１でＲＡＩＤ−１を構成する。
【００２３】
論理ボリューム＃０及び論理ボリューム＃３は、ＲＬＵ＃０に配置される。すなわち、論理ボリューム＃０及び論理ボリューム＃３は、ＶＯＬ＃００とＶＯＬ＃０１にミラーリングされて配置される。同様に、論理ボリューム＃１及び論理ボリューム＃４は、ＲＬＵ＃１に配置される。すなわち、論理ボリューム＃１及び論理ボリューム＃４は、ＶＯＬ＃１０とＶＯＬ＃１１にミラーリングされて配置される。論理ボリューム＃２及び論理ボリューム＃５は、ＲＬＵ＃２に配置される。すなわち、論理ボリューム＃２及び論理ボリューム＃５は、ＶＯＬ＃２０とＶＯＬ＃２１にミラーリングされて配置される。
【００２４】
このように、従来は、論理ボリュームはＲＬＵにミラーリングされて配置される。このため、２つの論理ボリュームの内、一方の論理ボリュームが配置された物理ボリュームの書き込み負荷が高い場合には、他方の論理ボリュームが配置された物理ボリュームの書き込み負荷も高くなる。例えば、ＶＯＬ＃００の書き込み負荷が高い場合には、ＶＯＬ＃０１の書き込み負荷も高くなる。
【００２５】
これに対して、図１（ｂ）に示すように、実施例に係る論理ボリュームの配置では、ＲＬＵの枠組みはない。すなわち、論理ボリュームがミラーリングされて配置される物理ボリュームのペアは、全部の物理ボリュームの中の任意の２つの物理ボリュームである。物理ボリュームのペアは、同じペアにミラーリングされる論理ボリュームの数ができるだけ少なくなるように選択される。
【００２６】
図１（ｂ）では、新規に作成される冗長化された論理ボリュームと、直前に作成された冗長化された論理ボリュームとは、少なくとも一方の論理ボリュームが異なる物理ボリュームに配置される。例えば、論理ボリューム＃０はＶＯＬ＃００とＶＯＬ＃０１に配置されるが、次の論理ボリューム＃１はＶＯＬ＃０１とＶＯＬ＃１０に配置される。全部の物理ボリュームは仮想的に仮想ＲＡＩＤ−１装置を構成し、論理ボリュームは、仮想ＲＡＩＤ−１装置を構成する物理ボリューム群の内の２つの物理ボリュームに配置される。
【００２７】
このように、実施例に係る論理ボリュームの配置では、論理ボリュームが作成される場合の物理ボリュームのペアは、同じペアにミラーリングされる論理ボリュームの数ができるだけ少なくなるように選択される。このため、２つの論理ボリュームの内、一方の論理ボリュームが配置された物理ボリュームの書き込み負荷が高い場合でも、他方の論理ボリュームが配置された物理ボリュームの書き込み負荷は一方の論理ボリュームが配置された物理ボリュームほど高くない。
【００２８】
例えば、論理ボリューム＃０について、ＶＯＬ＃００の書き込み負荷が高い場合でも、ＶＯＬ＃０１の書き込み負荷はＶＯＬ＃００ほど高くない。ＶＯＬ＃００の書き込み負荷が高い場合とは、論理ボリューム＃０と論理ボリューム＃５の書き込み負荷が高い場合である。この場合、論理ボリューム＃０のデータはＶＯＬ＃００の他にＶＯＬ＃０１に書き込まれるが、論理ボリューム＃５のデータはＶＯＬ＃００の他にＶＯＬ＃２１に書き込まれるため、ＶＯＬ＃０１の書き込み負荷はＶＯＬ＃００ほど高くない。
【００２９】
そこで、実施例に係るストレージ装置は、論理ボリュームを再配置する場合に、書き込み負荷が高い物理ボリュームの論理ボリュームからデータを読み出すのではなく、書き込み負荷が高くない物理ボリュームの論理ボリュームからデータを読み出す。したがって、実施例に係るストレージ装置は、論理ボリュームの再配置時に、負荷の高い物理ボリュームからの論理ボリュームのデータの読み出しを防ぐことができる。
【００３０】
次に、実施例に係るストレージ装置の構成について説明する。図２は、実施例に係るストレージ装置の構成を示す図である。図２に示すように、実施例に係るストレージ装置１は、ＣＡ＃Ａ〜ＣＡ＃Ｄで表される４つのＣＡ１１と、ＣＭ１２と、仮想ＲＡＩＤ−１装置１３とを有する。
【００３１】
ＣＡ１１は、ストレージ装置１を利用するホスト２とのインタフェースである。ＣＡ１１は、ホスト２のＣＨ２１からＩ／Ｏ要求を受信してＣＭ１２に渡す。また、ＣＡ１１は、Ｉ／Ｏ要求に対する応答をＣＭ１２から受け取り、ホスト２へ送信する。
【００３２】
ＣＭ１２は、ストレージ装置１を制御する。仮想ＲＡＩＤ−１装置１３には、論理ボリューム４２がミラーリングされて配置される。仮想ＲＡＩＤ−１装置１３は８つの物理ボリューム４１を有し、論理ボリューム４２は２つの物理ボリューム４１に配置される。なお、仮想ＲＡＩＤ−１装置１３は、３以上で８以外の数の物理ボリューム４１を有してもよい。
【００３３】
ＣＭ１２は、作成部３０と、キャッシュメモリ３１と、キャッシュ制御部３２と、ＬＲＵテーブル３３とを有する。
【００３４】
作成部３０は、論理ボリューム４２の作成指示を受け付け、物理ボリューム４１を２つペアとして選択し、選択したペアに論理ボリューム４２を作成する。作成部３０は、同じペアにミラーリングされる論理ボリュームの数ができるだけ少なくなるように物理ボリュームのペアを選択する。同じペアにミラーリングされる論理ボリュームの数が等しい場合には、作成部３０は、Ｉ／Ｏ量と論理ボリューム４２の配置数に基づいて物理ボリューム４１を２つ選択する。
【００３５】
例えば、作成部３０は、同じペアにミラーリングされる論理ボリュームの数が等しい場合に、Ｉ／Ｏ量が少ない順に物理ボリューム４１を選択し、Ｉ／Ｏ量が同じ物理ボリューム４１については論理ボリューム４２の配置数が少ない物理ボリューム４１を選択する。
【００３６】
キャッシュメモリ３１は、仮想ＲＡＩＤ−１装置１３に書き込まれるデータ及び仮想ＲＡＩＤ−１装置１３から読み出されたデータをキャッシュページ単位で一時的に記憶する。キャッシュメモリ３１は、仮想ＲＡＩＤ−１装置１３に書き込まれるデータを含むキャッシュページをダーティデータとして記憶する。
【００３７】
キャッシュ制御部３２は、キャッシュメモリ３１を用いて仮想ＲＡＩＤ−１装置１３からのデータの読み出し、仮想ＲＡＩＤ−１装置１３へのデータの書き込みを制御する。キャッシュ制御部３２は、データの読み出し要求を受け取ると、キャッシュメモリ３１にデータがある場合には、キャッシュメモリ３１からデータを読み出してＣＡ１１に渡す。一方、キャッシュメモリ３１にデータがない場合には、キャッシュ制御部３２は、仮想ＲＡＩＤ−１装置１３からキャッシュページ単位でデータを読み出し、キャッシュメモリ３１に書き込むとともに、読み出しを要求されたデータをＣＡ１１に渡す。
【００３８】
キャッシュ制御部３２は、データの書き込み要求を受け取ると、キャッシュメモリ３１にデータの書き込み先を含むキャッシュページがある場合には、キャッシュメモリ３１にデータを書き込む。一方、キャッシュメモリ３１にデータの書き込み先を含むキャッシュページがない場合には、キャッシュ制御部３２は、データの書き込み先を含むキャッシュページを仮想ＲＡＩＤ−１装置１３から読み出して、キャッシュメモリ３１に書き込む。そして、キャッシュ制御部３２は、書き込みを要求されたデータをキャッシュメモリ３１に書き込む。
【００３９】
キャッシュ制御部３２は、キャッシュメモリ３１に空きがない場合には、解放するキャッシュページをＬＲＵテーブル３３に基づいて選択し、選択したキャッシュページを解放して、空き領域を確保する。キャッシュページを解放する際、キャッシュページがダーティである場合、すなわち、キャッシュページに書き込みが行われて仮想ＲＡＩＤ−１装置１３にライトバックが行われていない場合、キャッシュ制御部３２は、キャッシュページをライトバックする。
【００４０】
ＬＲＵテーブル３３は、キャッシュページが使用されていない順にキャッシュページの情報を記憶する。キャッシュページの情報には、キャッシュページが含まれる論理ボリューム４２の情報、キャッシュページがダーティであるか否かを示す情報、キャッシュページに書き込みが行われた時刻を示すタイムスタンプが含まれる。
【００４１】
キャッシュ制御部３２は、第１カウンタ３４と、第２カウンタ３５と、特定部３６と、選択部３７と、再配置部３８とを有する。
【００４２】
第１カウンタ３４は、ダーティデータの数を物理ボリューム別に記録するためのカウンタである。第２カウンタ３５は、ダーティデータの数を論理ボリューム別に記録するためのカウンタである。
【００４３】
特定部３６は、Ｉ／Ｏが偏って負荷の高い物理ボリューム４１を特定し、特定した物理ボリューム４１に配置された論理ボリューム４２の中から再配置する論理ボリューム４２を特定する。Ｉ／Ｏが偏って負荷の高い物理ボリューム４１では、ダーティデータのライトバックが停滞し、ダーティデータの数が増加する。また、ダーティデータの増加に連動してキャッシュメモリ３１の使用率は上昇すると考えられる。
【００４４】
そこで、特定部３６は、まずキャッシュメモリ３１の使用率が所定の使用率閾値以上であるか否かを判定する。そして、キャッシュメモリ３１の使用率が所定の使用率閾値以上である場合に、特定部３６は、第１カウンタ３４の値がデータ数閾値以上である物理ボリューム４１を特定する。そして、特定部３６は、特定した物理ボリューム４１に配置された論理ボリューム４２の内、第２カウンタ３５の値が最も大きい論理ボリューム４２を特定する。
【００４５】
ただし、一時的に特定の論理ボリューム４２に集中してホスト２からの書き込みが発生した直後は、ダーティデータの数が増加する。このため、特定部３６は、ダーティデータ数の増加の原因が、ダーティデータのライトバックの停滞であるのか、一時的に特定の論理ボリューム４２に集中してホスト２からの書き込みが発生したのかを切り分ける必要がある。
【００４６】
この切り分けに、特定部３６は、ダーティデータに付加されたタイムスタンプを利用する。ライトバックが停滞しているダーティデータの発生タイミングは、一時的に特定の論理ボリューム４２に集中してホスト２からの書き込みが行われたことにより発生したダーティデータの発生タイミングより早い。そこで、特定部３６は、ＬＲＵテーブル３３にあるダーティデータの内、特定した論理ボリューム４２の全ダーティデータのタイムスタンプが現在時刻より一定時間以上前のものであるか否かを判定する。そして、特定部３６は、特定した論理ボリューム４２の全ダーティデータのタイムスタンプが現在時刻より一定時間以上前のものである場合に、ダーティデータのライトバックの停滞がダーティデータ数の増加の原因であると判定する。
【００４７】
そして、ダーティデータのライトバックの停滞がダーティデータ数の増加の原因であると判定すると、特定部３６は、特定した論理ボリューム４２を再配置対象の論理ボリューム４２とする。
【００４８】
選択部３７は、再配置対象の論理ボリューム４２が配置された２つの物理ボリューム４１の内、ライトバックが停滞していると特定された物理ボリューム４１でない物理ボリューム４１を再配置対象の論理ボリューム４２のデータの読み出し元とする。なお、選択部３７は、再配置対象の論理ボリューム４２が配置された２つの物理ボリューム４１の内、第１カウンタ３４の値が小さい方の物理ボリューム４１を再配置対象の論理ボリューム４２のデータの読み出し元としてもよい。その理由は、第１カウンタ３４の値が大きい方の物理ボリューム４１は、ライトバックが停滞していると特定された物理ボリューム４１であるためである。
【００４９】
また、選択部３７は、データの読み出し元の物理ボリューム４１以外で再配置対象の論理ボリューム４２の空き容量がある物理ボリューム４１の内、第１カウンタ３４の値が最も小さい物理ボリューム４１を再配置先の物理ボリューム４１として選択する。
【００５０】
再配置部３８は、再配置対象の論理ボリューム４２のデータの読み出し元の物理ボリューム４１からデータを読み出し、再配置先の物理ボリューム４１に書き込むことで、再配置対象の論理ボリューム４２のコピーを再配置先の物理ボリューム４１に作成する。そして、再配置部３８は、再配置対象の論理ボリューム４２のデータの読み出し元とならなかった物理ボリューム４１、すなわち、ライトバックが停滞している物理ボリューム４１に配置された再配置対象の論理ボリューム４２を削除する。
【００５１】
次に、論理ボリューム４２の再配置の例について説明する。図３Ａは、再配置対象の論理ボリューム４２の特定例を示す図であり、図３Ｂは、再配置対象の論理ボリューム４２の再配置を示す図である。
【００５２】
キャッシュメモリ３１の使用率が所定の使用率閾値以上であると、特定部３６は、図３Ａに示すように、第１カウンタ３４の値がデータ数閾値の５以上である物理ボリューム「ＰＬＵ＃１」を特定する。そして、特定部３６は、「ＰＬＵ＃１」に配置された論理ボリューム「ＭＬＵ＃０」と「ＭＬＵ＃１」の内、第２カウンタ３５の値が大きい「ＭＬＵ＃１」を特定する。
【００５３】
そして、特定部３６は、ＬＲＵテーブル３３にある「ＭＬＵ＃１」のダーティデータ「Ｄａｔａ＃１」、「Ｄａｔａ＃５」及び「Ｄａｔａ＃６」のタイムスタンプ「ｔｉｍｅ＃１」、「ｔｉｍｅ＃５」及び「ｔｉｍｅ＃６」を現在時刻と比較する。ここでは、「ｔｉｍｅ＃１」、「ｔｉｍｅ＃５」及び「ｔｉｍｅ＃６」が全て現在時刻より一定時間以上前のものであるとすると、特定部３６は、「ＭＬＵ＃１」を再配置対象として特定する。
【００５４】
そして、選択部３７は、図３Ｂに示すように、物理ボリューム「ＰＬＵ＃４」を再配置先の物理ボリューム４１として特定し、物理ボリューム「ＰＬＵ＃２」に配置された「ＭＬＵ＃１」をデータの読み出し元の論理ボリューム４２として特定する。
【００５５】
そして、再配置部３８は、「ＰＬＵ＃４」に新たな「ＭＬＵ＃１」を構成し、「ＰＬＵ＃２」の「ＭＬＵ＃１」からデータを読み出し、「ＰＬＵ＃４」の「ＭＬＵ＃１」にコピーする。そして、再配置部３８は、コピーが完了すると、「ＰＬＵ＃１」の「ＭＬＵ＃１」を削除し、「ＰＬＵ＃２」と「ＰＬＵ＃４」に構成された「ＭＬＵ＃１」をＲＡＩＤ−１のペアとする。
【００５６】
次に、特定部３６による処理のフローについて説明する。図４は、特定部３６による処理のフローを示すフローチャートである。図４に示すように、特定部３６は、キャッシュメモリ３１の使用率が使用率閾値以上であるか否かを判定し（ステップＳ１）、使用率閾値以上でない場合には、ライトバックが滞る事象は発生していないと判断して（ステップＳ２）、処理を終了する。
【００５７】
一方、キャッシュメモリ３１の使用率が使用率閾値以上である場合には、特定部３６は、第１カウンタ３４の値がデータ数閾値以上の物理ボリューム４１があるか否かを判定する（ステップＳ３）。そして、データ数閾値以上の物理ボリューム４１がない場合には、特定部３６は、ステップＳ２へ移動する。
【００５８】
一方、第１カウンタ３４の値がデータ数閾値以上の物理ボリューム４１がある場合には、特定部３６は、該物理ボリューム４１に配置された論理ボリューム４２の内、第２カウンタ３５の値が最も大きい論理ボリューム４２を特定する（ステップＳ４）。なお、第１カウンタ３４の値がデータ数閾値以上の物理ボリューム４１が複数ある場合には、特定部３６は、例えば、第１カウンタ３４の値が最も大きい物理ボリューム４１を選択して、ステップＳ４の処理を行う。
【００５９】
そして、特定部３６は、ＬＲＵテーブル３３で、特定した論理ボリューム４２の全ダーティデータ３１ａのタイムスタンプは、現在時刻より一定時間以上前のものか否かを判定する（ステップＳ５）。そして、特定した論理ボリューム４２のダーティデータ３１ａのタイムスタンプの内、現在時刻より一定時間以上前でないものがある場合には、特定部３６は、一時的に論理ボリューム４２への書き込みが発生したものであると判断する（ステップＳ６）。そして、特定部３６は、一定時間待ち（ステップＳ７）、一定時間おくことでダーティデータ３１ａのライトバックが行われてキャッシュメモリ３１の使用領域の状況が変化するため、ステップＳ１に戻る。
【００６０】
一方、特定した論理ボリューム４２の全ダーティデータ３１ａのタイムスタンプが、現在時刻より一定時間以上前のものである場合には、特定部３６は、ライトバックの滞りが発生していると判断する（ステップＳ８）。そして、特定部３６は、特定した論理ボリューム４２を再配置対象とする（ステップＳ９）。
【００６１】
このように、特定部３６は、第１カウンタ３４、第２カウンタ３５及びＬＲＵテーブル３３を用いて再配置対象の論理ボリューム４２を特定することができる。
【００６２】
次に、選択部３７による処理のフローについて説明する。図５は、選択部３７による処理のフローを示すフローチャートである。図５に示すように、選択部３７は、第１カウンタ３４を参照し、再配置対象の論理ボリューム４２を構成する２つの物理ボリューム＃１及び物理ボリューム＃２のダーティデータ数を取得する（ステップＳ１１）。
【００６３】
そして、選択部３７は、物理ボリューム＃１の第１カウンタ３４の値が物理ボリューム＃２の第１カウンタ３４の値以上であるか否かを判定する（ステップＳ１２）。そして、物理ボリューム＃１の第１カウンタ３４の値が物理ボリューム＃２の第１カウンタ３４の値以上である場合には、選択部３７は、再配置対象の論理ボリューム４２のデータを読み出す物理ボリューム４１を物理ボリューム＃２とする（ステップＳ１３）。一方、物理ボリューム＃１の第１カウンタ３４の値が物理ボリューム＃２の第１カウンタ３４の値以上でない場合には、選択部３７は、再配置対象の論理ボリューム４２のデータを読み出す物理ボリューム４１を物理ボリューム＃１とする（ステップＳ１４）。
【００６４】
そして、選択部３７は、第１カウンタ３４を参照して、第１カウンタ３４の値が最も小さい物理ボリューム４１を選択し（ステップＳ１５）、選択した物理ボリューム４１に再配置対象の論理ボリューム分の空き容量が存在するか否かを判定する（ステップＳ１６）。そして、再配置対象の論理ボリューム分の空き容量が存在しない場合には、選択部３７は、第１カウンタ３４の値が次に小さい物理ボリューム４１を選択し（ステップＳ１７）、ステップＳ１６に戻る。
【００６５】
一方、再配置対象の論理ボリューム分の空き容量が存在する場合には、選択部３７は、選択した物理ボリューム４１を再配置対象の論理ボリューム４２の再配置先とする（ステップＳ１８）。
【００６６】
このように、選択部３７が再配置対象の論理ボリューム４２のデータを読み出す物理ボリューム４１と再配置対象の論理ボリューム４２の再配置先とを特定するので、再配置部３８は再配置対象の論理ボリューム４２の再配置を行うことができる。
【００６７】
上述してきたように、実施例では、特定部３６が、ダーティデータ３１ａの仮想ＲＡＩＤ−１装置１３へのライトバックの滞りが原因でダーティデータの増加が発生している物理ボリューム４１及び論理ボリューム４２を特定する。そして、選択部３７が、特定部３６により特定された論理ボリューム４２が配置された２つの物理ボリューム４１の内、特定部３６により特定された物理ボリューム４１でない方の物理ボリューム４１をデータを読み出す読み出し元物理ボリューム４１として選択する。また、選択部３７は、第１カウンタ３４の値が最も小さい物理ボリューム４１を再配置先の物理ボリューム４１として選択する。そして、再配置部３８が、読み出し元物理ボリューム４１からデータを読み出して再配置先の物理ボリューム４１に書き込むことで論理ボリューム４２のコピーを再配置先の物理ボリューム４１に作成する。また、再配置部３８は、コピーが作成された論理ボリューム４２を特定部３６により特定された物理ボリューム４１から削除する。したがって、ストレージ装置１は、論理ボリューム４２の再配置時に、負荷の高い物理ボリューム４１からの論理ボリューム４２のデータの読み出しを防ぐことができる。
【００６８】
また、実施例では、特定部３６は、第１カウンタ３４の値がデータ数閾値以上である物理ボリューム４１を特定し、特定した物理ボリューム４１に配置された論理ボリューム４２の内、第２カウンタ３５の値が最大の論理ボリューム４２を特定する。そして、特定部３６は、ＬＲＵテーブル３３にキャッシュページ情報があるキャッシュページの内で、特定した論理ボリューム４２に含まれるダーティデータ３１ａのタイムスタンプが全て現在時刻より一定時間以上前であるか否かを判定する。そして、特定部３６は、全タイムスタンプが現在時刻より一定時間以上前である場合に、特定した物理ボリューム４１及び論理ボリューム４２を、ライトバックの滞りが原因でダーティデータの増加が発生している物理ボリューム４１及び論理ボリューム４２として特定する。したがって、特定部３６は、ライトバックの滞りが原因でＩ／Ｏの偏りが発生している物理ボリューム４１及び論理ボリューム４２を正確に特定することができる。
【００６９】
また、実施例では、選択部３７は、第１カウンタ３４の値が小さい方の物理ボリューム４１を読み出し元物理ボリューム４１として選択するので、読み出し元物理ボリューム４１を正確に特定することができる。
【００７０】
なお、図２に示したＣＭ１２の機能は、ＣＭ１２が有するＣＰＵ（Central  Processing  Unit）でストレージ制御プログラムを実行することにより実現される。そこで、ＣＭ１２のハードウェア構成について説明する。
【００７１】
図６は、ＣＭ１２のハードウェア構成を示す図である。図６に示すように、ＣＭ１２は、ＲＯＭ（Read  Only  Memory）１２ａと、ＣＰＵ１２ｂと、ＲＡＭ（Random  Access  Memory）１２ｃと、ＲＡＭ１２ｄとを有する。
【００７２】
ＲＯＭ１２ａは、ストレージ制御プログラムを記憶する不揮発性記憶装置である。ＣＰＵ１２ｂは、ＲＡＭ１２ｃからプログラムを読み出して実行する中央処理装置である。ＲＡＭ１２ｃは、プログラムやプログラムの実行途中結果などを記憶するメモリである。ＲＡＭ１２ｄは、キャッシュメモリ３１として用いられるメモリである。
【００７３】
そして、ストレージ制御プログラムは、ＲＯＭ１２ａからＲＡＭ１２ｃに読み出され、ＣＰＵ１２ｂによりＲＡＭ１２ｃから読み出されて実行される。あるいは、ＣＭ１２はＲＯＭ１２ａの代わりにＣＤドライブを有し、ストレージ制御プログラムはＣＰＵ１２ｂにより読み出し可能な記録媒体の一例であるＣＤ−Ｒに記憶され、ＣＤ−ＲからＣＤドライブにより読み出されてＲＡＭ１２ｃに格納されてもよい。ＲＡＭ１２ｃに格納されたストレージ制御プログラムはＣＰＵ１２ｂにより読み出されて実行される。
【００７４】
また、実施例では、２つの物理ボリューム４１に論理ボリューム４２をミラーリングする場合について説明したが、ストレージ装置１は、３つ以上の物理ボリューム４１に論理ボリューム４２をミラーリングしてもよい。
すなわち、
【００７５】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００７６】
（付記１）キャッシュメモリにおいて書き換えが行われたダーティデータの不揮発性記憶装置へのライトバックの滞りが原因でダーティデータの増加が発生している物理ボリューム及び論理ボリュームを特定する特定部と、
前記特定部により特定された論理ボリュームがミラーリングして配置される複数の物理ボリュームから前記特定部により特定された物理ボリューム以外の１つの物理ボリュームを該論理ボリュームのデータを読み出す読み出し元物理ボリュームとして選択するとともに、該論理ボリュームの再配置先の物理ボリュームを書き込み先物理ボリュームとして選択する選択部と、
前記読み出し元物理ボリュームから前記論理ボリュームのデータを読み出して前記書き込み先物理ボリュームに書き込み、前記特定部により特定された物理ボリュームから前記論理ボリュームを削除する再配置部と
を有することを特徴とするストレージ装置。
【００７７】
（付記２）前記特定部は、前記ダーティデータの数を物理ボリューム別に記憶する第１カウンタと、前記ダーティデータの数を論理ボリューム別に記憶する第２カウンタと、キャッシュページが含まれる論理ボリュームの情報及びキャッシュページのタイムスタンプの情報を含むキャッシュページ情報がキャッシュページの解放順に並べられたＬＲＵ管理情報とに基づいて、前記増加が発生している物理ボリューム及び論理ボリュームを特定することを特徴とする付記１に記載のストレージ装置。
【００７８】
（付記３）前記特定部は、前記第１カウンタの値が第１閾値以上である物理ボリュームを特定し、特定した物理ボリュームに配置された論理ボリュームの内で前記第２カウンタの値が最大の論理ボリュームを特定し、前記ＬＲＵ管理情報にキャッシュページ情報があるキャッシュページの内で該論理ボリュームに含まれるダーティデータのタイムスタンプが全て現在時刻より一定時間以上前である場合に、特定した物理ボリューム及び論理ボリュームを前記増加が発生している物理ボリューム及び論理ボリュームとして特定することを特徴とする付記２に記載のストレージ装置。
【００７９】
（付記４）前記選択部は、前記特定部により特定された論理ボリュームを記憶する容量がある物理ボリュームの内、前記第１カウンタの値が最小の物理ボリュームを前記読み出し元物理ボリュームとして選択することを特徴とする付記２又は３に記載のストレージ装置。
【００８０】
（付記５）前記特定部は、キャッシュメモリの使用率が第２閾値以上である場合に、前記第１カウンタと前記第２カウンタと前記ＬＲＵ管理情報とに基づいて、前記増加が発生している物理ボリューム及び論理ボリュームを特定することを特徴とする付記２、３又は４に記載のストレージ装置。
【００８１】
（付記６）コンピュータに、
キャッシュメモリにおいて書き換えが行われたダーティデータの不揮発性記憶装置へのライトバックの滞りが原因でダーティデータの増加が発生している物理ボリューム及び論理ボリュームを特定し、
特定した論理ボリュームがミラーリングして配置される複数の物理ボリュームから、特定した物理ボリューム以外の１つの物理ボリュームを該論理ボリュームのデータを読み出す読み出し元物理ボリュームとして選択するとともに、該論理ボリュームの再配置先の物理ボリュームを書き込み先物理ボリュームとして選択し、
前記読み出し元物理ボリュームから前記論理ボリュームのデータを読み出して前記書き込み先物理ボリュームに書き込み、特定した物理ボリュームから前記論理ボリュームを削除する
処理を実行させることを特徴とするストレージ制御プログラム。
【００８２】
（付記７）前記特定する処理は、前記ダーティデータの数を物理ボリューム別に記憶する第１カウンタと、前記ダーティデータの数を論理ボリューム別に記憶する第２カウンタと、キャッシュページが含まれる論理ボリュームの情報及びキャッシュページのタイムスタンプの情報を含むキャッシュページ情報がキャッシュページの解放順に並べられたＬＲＵ管理情報とに基づいて、前記増加が発生している物理ボリューム及び論理ボリュームを特定することを特徴とする付記６に記載のストレージ制御プログラム。
【００８３】
（付記８）前記特定する処理は、前記第１カウンタの値が第１閾値以上である物理ボリュームを特定し、特定した物理ボリュームに配置された論理ボリュームの内で前記第２カウンタの値が最大の論理ボリュームを特定し、前記ＬＲＵ管理情報にキャッシュページ情報があるキャッシュページの内で該論理ボリュームに含まれるダーティデータのタイムスタンプが全て現在時刻より一定時間以上前である場合に、特定した物理ボリューム及び論理ボリュームを前記増加が発生している物理ボリューム及び論理ボリュームとして特定することを特徴とする付記７に記載のストレージ制御プログラム。
【００８４】
（付記９）コンピュータに、
キャッシュメモリにおいて書き換えが行われたダーティデータの不揮発性記憶装置へのライトバックの滞りが原因でダーティデータの増加が発生している物理ボリューム及び論理ボリュームを特定し、
特定した論理ボリュームがミラーリングして配置される複数の物理ボリュームから、特定した物理ボリューム以外の１つの物理ボリュームを該論理ボリュームのデータを読み出す読み出し元物理ボリュームとして選択するとともに、該論理ボリュームの再配置先の物理ボリュームを書き込み先物理ボリュームとして選択し、
前記読み出し元物理ボリュームから前記論理ボリュームのデータを読み出して前記書き込み先物理ボリュームに書き込み、特定した物理ボリュームから前記論理ボリュームを削除する
処理を実行させることを特徴とするストレージ制御プログラムを記憶したコンピュータ読み取り可能記憶媒体。
【符号の説明】
【００８５】
１，９    ストレージ装置
２    ホスト
１１    ＣＡ
１２，９１    ＣＭ
１２ａ    ＲＯＭ
１２ｂ    ＣＰＵ
１２ｃ    ＲＡＭ
１２ｄ    ＲＡＭ
１３    仮想ＲＡＩＤ−１装置
２１    チャネル
３０    作成部
３１    キャッシュメモリ
３１ａ    ダーティデータ
３２，９３    キャッシュ制御部
３３    ＬＲＵテーブル
３４    第１カウンタ
３５    第２カウンタ
３６    特定部
３７    選択部
３８    再配置部
４１    物理ボリューム
４２    論理ボリューム
９２    ＲＬＵ
【図１】
2019185669.tif 000003
【図２】
2019185669.tif 000004
【図３Ａ】
2019185669.tif 000005
【図３Ｂ】
2019185669.tif 000006
【図４】
2019185669.tif 000007
【図５】
2019185669.tif 000008
【図６】
2019185669.tif 000009
【図７】
2019185669.tif 000010