(57)【要約】【課題】ストレージ装置のデータ領域の、論理ディスクのデータ領域への割当を、アクセス頻度だけでなく他の要素にも基づいて決定できるようにする。【解決手段】１つ以上のストレージ装置を用いて構成される複数のＲＡＩＤグループの各々のアイドル時、リード時、ライト時それぞれの消費電力を計測する。論理ディスクのデータ領域を単位長に分割した単位データ領域のアイドル時間と、リード時間と、ライト時間とのうち、アイドル時間が比較的長い単位データ領域に、アイドル時の消費電量が比較的小さいＲＡＩＤグループのストレージ装置の単位データ領域を割り当て、リード時間が比較的長い単位データ領域に、リード時の消費電量が比較的小さいＲＡＩＤグループのストレージ装置の単位データ領域を割り当て、ライト時間が比較的長い単位データ領域に、ライト時の消費電量が比較的小さいＲＡＩＤグループのストレージ装置の単位データ領域を割り当てる。【選択図】図１
2020087204.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上のストレージ装置を用いて構成される複数のＲＡＩＤグループの各々のアイドル時、リード時、ライト時それぞれの消費電力を計測する電力計測部と、
論理ディスクのデータ領域を単位長に分割した単位データ領域に、前記ストレージ装置のデータ領域を単位長に分割した単位データ領域を割り当てる再配置指示部であって、前記論理ディスクの単位データ領域のアイドル時間と、リード時間と、ライト時間とのうち、アイドル時間が比較的長い単位データ領域に、アイドル時の消費電量が比較的小さい前記ＲＡＩＤグループに含まれる前記ストレージ装置の単位データ領域を割り当て、リード時間が比較的長い単位データ領域に、リード時の消費電量が比較的小さい前記ＲＡＩＤグループに含まれる前記ストレージ装置の単位データ領域を割り当て、ライト時間が比較的長い単位データ領域に、ライト時の消費電量が比較的小さい前記ＲＡＩＤグループに含まれる前記ストレージ装置の単位データ領域を割り当てる再配置指示部と、
を備えるストレージ管理装置。
【請求項２】
前記再配置指示部は、前記アイドル時間と、前記リード時間と、前記ライト時間とのうち、何れか最も長いものを選択し、前記論理ディスクの単位データ領域にデータ領域を割当可能なストレージ装置のうち、選択した時間に対応する状態での消費電力が最も小さいストレージ装置の単位データ領域を割り当てる、
請求項１に記載のストレージ管理装置。
【請求項３】
前記ＲＡＩＤグループの各々は、複数の前記ストレージ装置を用いて構成される、
請求項１または請求項２に記載のストレージ管理装置。
【請求項４】
ストレージ管理装置と、複数のストレージ装置とを備え、
前記ストレージ管理装置は、
１つ以上の前記ストレージ装置を用いて構成される複数のＲＡＩＤグループの各々のアイドル時、リード時、ライト時それぞれの消費電力を計測する電力計測部と、
論理ディスクのデータ領域を単位長に分割した単位データ領域に、前記ストレージ装置のデータ領域を単位長に分割した単位データ領域を割り当てる再配置指示部であって、前記論理ディスクの単位データ領域のアイドル時間と、リード時間と、ライト時間とのうち、アイドル時間が比較的長い単位データ領域に、アイドル時の消費電量が比較的小さい前記ＲＡＩＤグループに含まれる前記ストレージ装置の単位データ領域を割り当て、リード時間が比較的長い単位データ領域に、リード時の消費電量が比較的小さい前記ＲＡＩＤグループに含まれる前記ストレージ装置の単位データ領域を割り当て、ライト時間が比較的長い単位データ領域に、ライト時の消費電量が比較的小さい前記ＲＡＩＤグループに含まれる前記ストレージ装置の単位データ領域を割り当てる再配置指示部と、
を備えるストレージシステム。
【請求項５】
１つ以上のストレージ装置を用いて構成される複数のＲＡＩＤグループの各々のアイドル時、リード時、ライト時それぞれの消費電力を計測する工程と、
論理ディスクのデータ領域を単位長に分割した単位データ領域に、前記ストレージ装置のデータ領域を単位長に分割した単位データ領域を割り当てる工程であって、前記論理ディスクの単位データ領域のアイドル時間と、リード時間と、ライト時間とのうち、アイドル時間が比較的長い単位データ領域に、アイドル時の消費電量が比較的小さい前記ＲＡＩＤグループに含まれる前記ストレージ装置の単位データ領域を割り当て、リード時間が比較的長い単位データ領域に、リード時の消費電量が比較的小さい前記ＲＡＩＤグループに含まれる前記ストレージ装置の単位データ領域を割り当て、ライト時間が比較的長い単位データ領域に、ライト時の消費電量が比較的小さい前記ＲＡＩＤグループに含まれる前記ストレージ装置の単位データ領域を割り当てる工程と、
を含むストレージ管理方法。
【請求項６】
コンピュータに、
１つ以上のストレージ装置を用いて構成される複数のＲＡＩＤグループの各々のアイドル時、リード時、ライト時それぞれの消費電力を計測する工程と、
論理ディスクのデータ領域を単位長に分割した単位データ領域に、前記ストレージ装置のデータ領域を単位長に分割した単位データ領域を割り当てる工程であって、前記論理ディスクの単位データ領域のアイドル時間と、リード時間と、ライト時間とのうち、アイドル時間が比較的長い単位データ領域に、アイドル時の消費電量が比較的小さい前記ＲＡＩＤグループに含まれる前記ストレージ装置の単位データ領域を割り当て、リード時間が比較的長い単位データ領域に、リード時の消費電量が比較的小さい前記ＲＡＩＤグループに含まれる前記ストレージ装置の単位データ領域を割り当て、ライト時間が比較的長い単位データ領域に、ライト時の消費電量が比較的小さい前記ＲＡＩＤグループに含まれる前記ストレージ装置の単位データ領域を割り当てる工程と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ管理装置、ストレージシステム、ストレージ管理方法およびプログラムに関する。
【背景技術】
【０００２】
ストレージシステムの消費電力の低減に関して幾つかの技術が提案されている。
例えば、特許文献１に記載のストレージシステムは、仮想ストレージ領域に割り当てられた複数のプール間でデータの再配置を実施する。アクセス頻度が処置の閾値に満たないデータが配置されたプールの空き容量が所定容量以上である場合、このストレージシステムは、当該プールの容量を縮小する。
このストレージシステムによれば、運用状況に応じて稼働するＨＤＤ（Hard Disk Drive）の数を最小に抑えることで、より大きな消費電力削減効果を得られる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２３１４６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
アクセス頻度だけでなく他の要素にも基づいてデータのデータ領域への割当を決定できれば、消費電力をさらに削減できると期待される。
【０００５】
本発明は、上述の課題を解決することのできるストレージ管理装置、ストレージシステム、ストレージ管理方法およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００６】
本発明の第１の態様によれば、ストレージ管理装置は、１つ以上のストレージ装置を用いて構成される複数のＲＡＩＤグループの各々のアイドル時、リード時、ライト時それぞれの消費電力を計測する電力計測部と、論理ディスクのデータ領域を単位長に分割した単位データ領域に、前記ストレージ装置のデータ領域を単位長に分割した単位データ領域を割り当てる再配置指示部であって、前記論理ディスクの単位データ領域のアイドル時間と、リード時間と、ライト時間とのうち、アイドル時間が比較的長い単位データ領域に、アイドル時の消費電量が比較的小さい前記ＲＡＩＤグループに含まれる前記ストレージ装置の単位データ領域を割り当て、リード時間が比較的長い単位データ領域に、リード時の消費電量が比較的小さい前記ＲＡＩＤグループに含まれる前記ストレージ装置の単位データ領域を割り当て、ライト時間が比較的長い単位データ領域に、ライト時の消費電量が比較的小さい前記ＲＡＩＤグループに含まれる前記ストレージ装置の単位データ領域を割り当てる再配置指示部と、を備える。
【０００７】
本発明の第２の態様によれば、ストレージシステムは、ストレージ管理装置と、複数のストレージ装置とを備え、前記ストレージ管理装置は、１つ以上の前記ストレージ装置を用いて構成される複数のＲＡＩＤグループの各々のアイドル時、リード時、ライト時それぞれの消費電力を計測する電力計測部と、論理ディスクのデータ領域を単位長に分割した単位データ領域に、前記ストレージ装置のデータ領域を単位長に分割した単位データ領域を割り当てる再配置指示部であって、前記論理ディスクの単位データ領域のアイドル時間と、リード時間と、ライト時間とのうち、アイドル時間が比較的長い単位データ領域に、アイドル時の消費電量が比較的小さい前記ＲＡＩＤグループに含まれる前記ストレージ装置の単位データ領域を割り当て、リード時間が比較的長い単位データ領域に、リード時の消費電量が比較的小さい前記ＲＡＩＤグループに含まれる前記ストレージ装置の単位データ領域を割り当て、ライト時間が比較的長い単位データ領域に、ライト時の消費電量が比較的小さい前記ＲＡＩＤグループに含まれる前記ストレージ装置の単位データ領域を割り当てる再配置指示部と、を備える。
【０００８】
本発明の第３の態様によれば、ストレージ管理方法は、１つ以上のストレージ装置を用いて構成される複数のＲＡＩＤグループの各々のアイドル時、リード時、ライト時それぞれの消費電力を計測する工程と、論理ディスクのデータ領域を単位長に分割した単位データ領域に、前記ストレージ装置のデータ領域を単位長に分割した単位データ領域を割り当てる工程であって、前記論理ディスクの単位データ領域のアイドル時間と、リード時間と、ライト時間とのうち、アイドル時間が比較的長い単位データ領域に、アイドル時の消費電量が比較的小さい前記ＲＡＩＤグループに含まれる前記ストレージ装置の単位データ領域を割り当て、リード時間が比較的長い単位データ領域に、リード時の消費電量が比較的小さい前記ＲＡＩＤグループに含まれる前記ストレージ装置の単位データ領域を割り当て、ライト時間が比較的長い単位データ領域に、ライト時の消費電量が比較的小さい前記ＲＡＩＤグループに含まれる前記ストレージ装置の単位データ領域を割り当てる工程と、を含む。
【０００９】
本発明の第３の態様によれば、プログラムは、コンピュータに、１つ以上のストレージ装置を用いて構成される複数のＲＡＩＤグループの各々のアイドル時、リード時、ライト時それぞれの消費電力を計測する工程と、論理ディスクのデータ領域を単位長に分割した単位データ領域に、前記ストレージ装置のデータ領域を単位長に分割した単位データ領域を割り当てる工程であって、前記論理ディスクの単位データ領域のアイドル時間と、リード時間と、ライト時間とのうち、アイドル時間が比較的長い単位データ領域に、アイドル時の消費電量が比較的小さい前記ＲＡＩＤグループに含まれる前記ストレージ装置の単位データ領域を割り当て、リード時間が比較的長い単位データ領域に、リード時の消費電量が比較的小さい前記ＲＡＩＤグループに含まれる前記ストレージ装置の単位データ領域を割り当て、ライト時間が比較的長い単位データ領域に、ライト時の消費電量が比較的小さい前記ＲＡＩＤグループに含まれる前記ストレージ装置の単位データ領域を割り当てる工程と、を実行させるためのプログラムである。
【発明の効果】
【００１０】
この発明によれば、ストレージ装置のデータ領域の、論理ディスクのデータ領域への割当を、アクセス頻度だけでなく他の要素にも基づいて決定することができる。
【図面の簡単な説明】
【００１１】
【図１】実施形態に係るストレージシステムの構成例を示す概略ブロック図である。
【図２】実施形態に係る電力情報格納部が記憶する電力情報のデータ構造の例を示す図である。
【図３】実施形態に係るデータ領域管理テーブルが記憶するデータ領域管理情報のデータ構造の例を示す図である。
【図４】実施形態に係る電力計測部が不揮発メモリの消費電力に関するデータを取得して電力情報格納部の電力情報に格納する処理のフローを示す図である。
【図５】実施形態に係る再配置指示部が論理ディスクを生成する場合にデータ領域管理情報を生成する処理のフローを示す図である。
【図６】実施形態に係るＩＯ計測部がコマンドを受信し、データ領域管理情報のライト数欄に示されるライト数の統計情報を求めるフローを示す図である。
【図７】実施形態に係るライトコマンドのデータと、論理ディスクのデータ領域との関係の例を示す図である。
【図８】実施形態に係る再配置指示部が再配置を行う場合に、データ領域管理情報のＲＡＩＤグループ番号欄とＲＡＩＤ領域欄とを求めるフローを示す図である。
【図９】実施形態に係る再配置指示部が再配置を行う場合に、データ領域管理情報のＲＡＩＤグループ番号欄とＲＡＩＤ領域欄とを求めるもう一つのフローを示す図である。
【図１０】実施形態に係るストレージ管理装置の構成の例を示す図である。
【図１１】実施形態に係るストレージシステムの構成の例を示す図である。
【図１２】少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図１は、実施形態に係るストレージシステムの構成例を示す概略ブロック図である。図１に示す構成で、ストレージシステム１は、ストレージ管理装置２００と、論理ディスク３００Ａと、論理ディスク３００Ｂとを備える。
論理ディスク３００Ａと３００Ｂとを総称して論理ディスク３００と表記する。
【００１３】
ここでいう論理ディスクは、ＨＤＤ（Hard Disk Drive）またはＳＤＤ（Solid Disk Drive）等のストレージ装置を、論理的に分割または結合して、ＯＳから見て１つのストレージとして振舞うように構成したものである。ＲＡＩＤでは特に、複数のストレージ装置を束ねて１つの論理ディスクを構成する。
ストレージシステム１が備える論理ディスクの個数は、１つ以上であればよい。また、論理ディスクの再構成によって、ストレージシステム１が備える論理ディスクの個数を変更可能であってもよい。
【００１４】
論理ディスク３００は、複数のＲＡＩＤグループで構成される。図１では、論理ディスク３００がＲＡＩＤグループ３２０Ａ、３２０Ｂ、３２０Ｃおよび３２０Ｄの４つのＲＡＩＤグループで構成される場合の例を示しているが、論理ディスク３００を構成するＲＡＩＤグループの個数は１つ以上であればよい。
ＲＡＩＤグループ３２０Ａ、３２０Ｂ、３２０Ｃおよび３２０Ｄを総称してＲＡＩＤグループ３２０と表記する。
【００１５】
ＲＡＩＤグループ３２０の各々は、１つ以上の不揮発メモリで構成され、ＲＡＩＤグループ３２０毎に異なった不揮発メモリで構成されている。図１では、ＲＡＩＤグループ３２０Ａ、Ｂ、Ｃ、Ｄが、それぞれ不揮発メモリ３２１ＡＡ〜３２１ＡＢ、３２１ＢＡ〜３２１ＢＣ、３２１ＣＡ〜３２１ＣＣ、３２１ＤＡ〜３２１ＤＣを用いて構成される場合の例を示しているが、これに限定されない。
【００１６】
不揮発メモリ３２１ＡＡ〜３２１ＡＢ、３２１ＢＡ〜３２１ＢＣ、３２１ＣＡ〜３２１ＣＣ、３２１ＤＡ〜３２１ＤＣを総称して不揮発メモリ３２１と表記する。
不揮発メモリ３２１は、ストレージ装置の例に該当する。但し、ストレージシステム１が備えるストレージ装置は不揮発メモリ３２１に限定されない。消費電力に個体差があるいろいろなストレージ装置を、ストレージシステム１に適用することができる。
【００１７】
論理ディスク３００は、不揮発メモリ３２１のアドレス空間を単位長に分割したデータ領域で構成され、データ領域は、ＲＡＩＤグループ３２０にユニークに配置される。ＲＡＩＤグループ３２０が、ＲＡＩＤグループ３２０毎に異なった不揮発メモリ３２１で構成されることで、データ領域がＲＡＩＤグループ３２０にユニークに配置される。すなわち、個々の不揮発メモリ３２１が何れか１つのＲＡＩＤグループ３２０専用に用いられることで、その不揮発メモリ３２１のアドレス空間も、そのＲＡＩＤグループ３２０専用に用いられる。
【００１８】
ストレージ管理装置２００は、ＩＯ（Input/Output）コマンドを発行するサーバ装置１００と通信接続する。また、ストレージ管理装置２００は、論理ディスク３００、および、論理ディスク３００に用いられている個々のストレージ装置を管理する。
ストレージ管理装置２００は、例えばマイコン（Microcomputer）またはパソコン（Personal Computer、ＰＣ）等のコンピュータを用いて構成される。あるいは、ストレージ管理装置２００が、ＡＳＩＣ（Application Specific Integrated Circuit）を用いて構成されるなど、ストレージ管理装置２００専用のハードウェアを用いて構成されていてもよい。
【００１９】
ストレージ管理装置２００は、計測期間メモリ２０２と、再配置時刻メモリ２０４と、電力情報格納部２３０と、データ領域管理テーブル２５０と、電源２０１と、電力計測部２２０と、ＩＯ計測部２４０と、再配置指示部２８０と、キャッシュメモリ２０５と、ＩＯ処理部２６０とを備える。
【００２０】
計測期間メモリ２０２は、サーバ装置１００からのＩＯ数を計測する事を指示するフラグを記憶する記憶部である。ここでいうサーバ装置１００からのＩＯ数は、サーバ装置１００がストレージ管理装置２００へ送信するＩＯコマンドに基づいて、ストレージ管理装置２００が論理ディスク３００にアクセスする回数（論理ディスク３００を構成する不揮発メモリ３２１にアクセスする回数）である。
再配置時刻メモリ２０４は、論理ディスクのデータ領域をＲＡＩＤグループに再配置する定期的な時間（再配置を行う時間間隔）を格納する記憶部である。
【００２１】
例えば、ストレージ管理装置２００を設計するシステム構築者が、再配置時刻算出のための基準タイミングと、再配置を行う時間間隔とを設定して、再配置時刻メモリ２０４に記憶させておく。ストレージ管理装置２００（例えば、再配置指示部２８０）は、基準タイミングの到来を検出すると、再配置時刻メモリ２０４が記憶する時間間隔を現在時刻に加算して再配置実施時刻を算出する。算出された再配置実施時刻を、ストレージ管理装置２００（例えば、再配置時刻メモリ２０４）が記憶しておく。
【００２２】
そして、ストレージ管理装置２００（例えば、再配置指示部２８０）は、記憶している再配置実施時刻と現在時刻とを比較することで、再配置実施時刻の到来を検出する。ストレージ管理装置２００（例えば、再配置指示部２８０）は、再配置実施時刻の到来を検出すると、再配置の実施のための処理を行う。また、ストレージ管理装置２００（例えば、再配置指示部２８０）は、再配置実施時刻に、再配置を行う時間間隔を加算することで、次の再配置実施時刻を算出し、再配置時刻メモリ２０４が記憶している再配置実施時刻を更新する。
【００２３】
電力情報格納部２３０は、電力情報を記憶する記憶部である。ここでいう電力情報は、ＲＡＩＤグループ３２０の各々の消費電力に関する情報である。ＲＡＩＤグループ３２０の消費電力として、そのＲＡＩＤグループに含まれる不揮発メモリ３２１の消費電量の合計値または平均値を用いるようにしてもよい。
図２は、電力情報格納部２３０が記憶する電力情報のデータ構造の例を示す図である。
図２の例で、電力情報は表形式（テーブル形式）のデータに構成され、番号欄２３１と、ＲＡＩＤグループ番号欄２３２と、ライト電力欄２３３と、リード電力欄２３４と、アイドル電力欄２３５と、容量欄２３６と、使用容量欄２３７とを有する。
【００２４】
番号欄２３１は、行番号を１からの通番で格納する。電力情報格納部２３０は、ＲＡＩＤグループ３２０の個数と同じ行数の電力情報を有してＲＡＩＤグループ３２０毎の情報を記憶する。ＲＡＩＤグループ３２０と電力情報の行とが一対一に対応付けられ、最下行の番号欄２３１の値は、ＲＡＩＤグループ３２０の個数と等しい。
電力情報格納部２３０が、論理ディスク３００毎に電力情報を記憶するようにしてもよいし、複数の論理ディスク３００に共通の電力情報を記憶するようにしてもよい。
【００２５】
ＲＡＩＤグループ番号欄２３２は、ＲＡＩＤグループ番号を格納する。ＲＡＩＤグループ番号は、論理ディスク３００に構成されるＲＡＩＤグループ３２０の識別番号である。
電力情報の行において、その行のＲＡＩＤグループ番号欄２３２に格納されたＲＡＩＤグループ番号が識別するＲＡＩＤグループ３２０を、該当のＲＡＩＤグループ３２０と称する。
【００２６】
ライト電力欄２３３は、該当のＲＡＩＤグループ３２０の、ライト時の消費電力を示す情報を格納する。ライト（Ｗｒｉｔｅ）はデータの書き込みである。
リード電力欄２３４は、該当のＲＡＩＤグループ３２０の、リード時の消費電力を示す情報を格納する。リード（Ｒｅａｄ）はデータの読み込みである。
アイドル電力欄２３５は、該当のＲＡＩＤグループ３２０の、アイドル時の消費電力を示す情報を格納する。メモリのアイドル（Ｉｄｌｅ）は、リードもライトも行われていない状態である。
【００２７】
なお、ライト時の消費電力、リード時の消費電力、および、アイドル時の消費電力の計測対象の単位は、不揮発メモリ３２１毎であってもよい。ＲＡＩＤグループ３２０の各々の構成を、１つの不揮発メモリ３２１を用いた構成とすることで、ストレージ管理装置２００が、不揮発メモリ３２１毎に、ライト時の消費電力、リード時の消費電力、および、アイドル時の消費電力を計測することになる。
【００２８】
ストレージ管理装置２００は、不揮発メモリ３２１毎、または、不揮発メモリを纏めたグループ毎に消費電力を計測して個体差を把握しておくことで、不揮発メモリ３２１への格納対象のデータの、リード頻度予測値およびライト頻度予測値等の特性に応じて、格納先を選択できる。これにより、ストレージ管理装置２００は、不揮発メモリ３２１の消費電力の低減を図ることができる。
【００２９】
ストレージ管理装置２００が、不揮発メモリ３２１毎に上記の消費電力の各々を計測し、データの格納先を不揮発メモリ３２１の単位で選択することで、不揮発メモリ３２１の消費電力の特性をより有効に活用して、不揮発メモリ３２１の消費電力をより低減させることができる。
【００３０】
一方、ストレージ管理装置２００が、複数の不揮発メモリ３２１を含むＲＡＩＤグループ３２０毎に上記の消費電力の各々を計測し、データの格納先をＲＡＩＤグループの単位で選択することで、割当対象のデータと割当先であるＲＡＩＤグループ３２０との組み合わせの数が比較的小さくなる。これにより、管理装置２００が、データの割当先を決定する処理が比較的軽くて済む。例えば、ストレージシステム１が多数の不揮発メモリ３２１を備えている場合、不揮発メモリ３２１をＲＡＩＤグループ３２０に纏めた構成となっていることで、割当対象のデータと割当先との選択の、組み合わせ的爆発を回避することができる。
【００３１】
容量欄２３６は、該当のＲＡＩＤグループ３２０の容量（そのＲＡＩＤグループ３２０が格納できるデータの量）を示す情報を格納する。
使用容量欄２３７は、該当のＲＡＩＤグループ３２０の容量のうち、ＬＤＮ（Logical Disk Number）を割り当てられていない容量を示す情報を格納する。
【００３２】
ＬＤＮは、論理ディスク３００のアドレス空間を単位長に分割したデータ領域について、そのデータ領域が含まれる論理ディスク３００を示す番号である。ＬＤＮは、論理ディスク３００のデータ領域のうち使用中のデータ領域に割り当てられる。ＬＤＮが割り当てられていないデータ領域は、未使用のデータ領域である。
論理ディスク３００のアドレス空間を単位長に分割したデータ領域を、単位データ領域と称する。
【００３３】
データ領域管理テーブル２５０は、データ領域管理情報を記憶する記憶部である。ここでいうデータ領域管理情報は、単位データ領域に関する情報である。
図３は、データ領域管理テーブル２５０が記憶するデータ領域管理情報のデータ構造の例を示す図である。
図３の例で、データ領域管理情報は表形式（テーブル形式）のデータに構成され、番号欄２５１と、データ領域欄２５２と、ＬＤＮ欄２５３と、ライト数欄２５４と、リード数欄２５５と、ＲＡＩＤグループ番号欄２５６と、ＲＡＩＤ領域欄２５７と、ＢＵＳＹ時間欄２５８とを有する。
【００３４】
番号欄２５１は、行番号を１からの通番で格納する。データ領域管理テーブル２５０は、単位データ領域の個数と同じ行数のデータ領域管理情報を有して単位データ領域毎の情報を記憶する。単位データ領域とデータ領域管理情報の行とが一対一に対応付けられ、最下行の番号欄２５１の値は、単位データ領域の個数と等しい。
データ領域管理テーブル２５０が論理ディスク３００毎にデータ領域管理情報を記憶するようにしてもよいし、複数の論理ディスク３００に共通のデータ領域管理情報を記憶するようにしてもよい。
【００３５】
データ領域欄２５２は、データ領域番号を記憶する。データ領域番号は、単位データ領域の識別番号である。
データ領域管理情報の行において、その行のデータ領域欄２５２に格納されたデータ領域番号が識別する単位データ領域を、該当のデータ領域と称する。
ＬＤＮ欄２５３は、該当のデータ領域のＬＤＮを格納する。上記のように、データ領域のＬＤＮは、そのデータ領域が含まれる論理ディスク３００を示す番号である。
【００３６】
ライト数欄２５４は、計測期間内における、該当のデータ領域に対するライト数を格納する。データ領域に対するライト数は、そのデータ領域に対してデータの書き込みが行われた回数である。
リード数欄２５５は、計測期間内における、該当のデータ領域に対するリード数を格納する。データ領域に対するリード数は、そのデータ領域からのデータの読み出しが行われた回数である。
【００３７】
ＲＡＩＤグループ番号欄２５６は、該当のデータ領域が割り当てられているＲＡＩＤグループ３２０のＲＡＩＤグループ番号を格納する。
ＲＡＩＤ領域欄２５７は、該当のデータ領域が割り当てられたＲＡＩＤ領域のアドレス空間を示す番号を格納する。
ここでいうＲＡＩＤ領域は、物理的な記憶領域である。一方、データ領域は、ユーザまたはＣＰＵ（Central Processing Unit、中央処理装置）から見た場合の記憶領域である。ＲＡＩＤ領域のアドレスとして、例えば、不揮発メモリ３２１の識別情報および不揮発メモリ３２１におけるアドレスを用いることができる。データ領域のアドレスとして、例えば上記のＬＤＮを用いることができる。
ＢＵＳＹ時間欄２５８は、ストレージ管理装置２００が、該当のデータ領域に対するＩＯ（リードまたはライト）を行っている時間を格納する。
【００３８】
電源２０１は、ストレージシステム１の各部に電力を供給する。特に、電源２０１は、不揮発メモリ３２１の各々に電力を供給し、電力の供給と供給停止とを切り替えることができる。
また、電源２０１は、ストレージシステム１の消費電力を計測できる。具体的には、電源２０１は、電源２０１自らが出力する出力電力を計測する。この出力電力を、ストレージシステム１の消費電力と見做すことができる。
【００３９】
電力計測部２２０は、電力情報格納部２３０が記憶する電力情報の行単位で、ＲＡＩＤグループ３２０を構成する不揮発メモリ３２１のリード電力、ライト電力、および、アイドル電力を計測し、電力情報格納部２３０の電力情報に書き込む。
電力計測部２２０が行う計測は、電源２０１を用いた計測である。電力計測部２２０は、電源２０１がいろいろな状態で計測する消費電力に基づいて、所望の電力を算出する。
【００４０】
具体的には、電力計測部２２０は、電源２０１に対して、計測対象の不揮発メモリ３２１への電力の供給を停止状態にする指示、電力の供給を開始状態にする指示を、それぞれ出力する。また、電力計測部２２０は、電源２０１が計測対象の不揮発メモリ３２１へ電力を供給している状態で、ＩＯ処理部２６０に対して、計測対象のメモリに対してリードする指示、ライトする指示を、それぞれ出力する。そして、電力計測部２２０は、各状態における消費電力の情報を、電源２０１から取得する。
【００４１】
電力計測部２２０は、計測対象の不揮発メモリ３２１への電力供給の停止状態を基準として、計測対象の不揮発メモリ３２１のアイドル状態における消費電力の増加分を、計測対象の不揮発メモリ３２１のアイドル電力として電力情報の該当行のアイドル電力欄２３５に書き込む。不揮発メモリ３２１のアイドル状態は、その不揮発メモリ３２１への電力供給が行われているがＩＯ処理は行われていない状態である。
【００４２】
また、電力計測部２２０は、計測対象の不揮発メモリ３２１への電力供給の停止状態を基準として、計測対象の不揮発メモリ３２１のリード状態における消費電力の増加分を、計測対象の不揮発メモリ３２１のリード電力として電力情報の該当行のリード電力欄２３４に書き込む。
また、電力計測部２２０は、計測対象の不揮発メモリ３２１への電力供給の停止状態を基準として、計測対象の不揮発メモリ３２１のライト状態における消費電力の増加分を、計測対象の不揮発メモリ３２１のライト電力として電力情報の該当行のライト電力欄２３３に書き込む。
【００４３】
ＩＯ計測部２４０は、サーバ装置１００からのＩＯ数を計測する。具体的には、ＩＯ計測部２４０は、サーバ装置１００からライトコマンドが発生した場合は、コマンドに示されるＬＤＮ、アドレスおよびデータ長から、ライトの対象のデータ領域を判定する。ＩＯ計測部２４０は、データ領域管理テーブル２５０のデータ領域管理情報を検索し、ＬＤＮ欄２５３のＬＤＮおよびデータ領域欄２５２のデータ領域番号が、コマンドに示されるＬＤＮおよびデータ領域番号と一致する行を選択する。ＩＯ計測部２４０は、選択した行のライト数欄２５４に格納されているライト数にデータ長（コマンドに示される、ライト対象のデータ長（ライト対象の単位データ領域の個数））を加算する。
リードコマンドが発生した場合、ＩＯ計測部２４０は、ライトコマンドの場合と同様にデータ領域管理情報の行を選択し、選択した行のリード数欄２５５に格納されているリード数にデータ長（コマンドに示される、リード対象のデータ長（リード対象の単位データ領域の個数））を加算する。
【００４４】
再配置指示部２８０は、再配置時刻メモリ２０４が記憶する時間間隔で、単位データ領域をＲＡＩＤグループ３２０に再配置する。再配置指示部２８０は、データ領域管理テーブル２５０が記憶するデータ領域管理情報が示すライト数、リード数、ＢＵＳＹ時間に基づいて、リードまたはライトのうち、単位データ領域に対するアクセスが多い動作を検出する。そして、再配置指示部２８０は、電力情報格納部２３０が記憶する電力情報を参照して、検出した動作における消費電力が少ないＲＡＩＤグループ３２０を選択する。再配置指示部２８０は、選択した単位データ領域を、選択したＲＡＩＤグループ３２０に割り当てる（再配置する）。
【００４５】
キャッシュメモリ２０５は、再配置指示部２８０の再配置指示により、再配置対象の単位データ領域のデータをＲＡＩＤグループ３２０からコピーする領域である。
ＩＯ処理部２６０は、サーバ装置１００から、または、ＩＯ計測部２４０からリードコマンドまたはライトコマンドを受けた場合に、論理ディスク３００（論理ディスク３００を構成する不揮発メモリ３２１）に対するリードまたはライトを実行する。
【００４６】
また、ＩＯ計測部２４０からリードコマンドまたはライトコマンドを受けた場合、ＩＯ処理部２６０は、論理ディスク３００（論理ディスク３００を構成する不揮発メモリ３２１）に対するリードまたはライトの実行に加えて、データ領域管理情報の更新を行う。この場合、ＩＯ処理部２６０は、コマンドに示されるＲＡＩＤグループ番号とＲＡＩＤ領域とに基づいて、データ領域管理テーブル２５０のデータ領域管理情報を検索する。ＩＯ処理部２６０は、リードまたはライトにかかった時間を、検索で選択した行のＢＵＳＹ時間欄２５８のＢＵＳＹ時間に加算して格納する。
また、ＩＯ処理部２６０は、再配置指示部２８０から再配置の指示を受けた場合、ＩＯ計測部２４０からリードコマンドまたはライトコマンドを受けたときに、論理ディスク３００からキャッシュメモリ２０５へとアクセス対象を切り替える。
【００４７】
次に図４〜７を参照して、ストレージシステム１の動作について説明をする。
ストレージ管理装置２００では、運用前のストレージ管理装置２００へ設定によってＲＡＩＤグループ３２０の構成および設定が行われる。この点について、ＲＡＩＤグループ３２０Ｂの場合を例に説明する。
ＲＡＩＤグループ３２０Ｂの構成に用いられる不揮発メモリ３２１が不揮発メモリ３２１ＢＡ〜３２１ＢＣに決まると、ＲＡＩＤグループ３２０Ｂの容量が決まる。ストレージ管理装置２００は、電力情報格納部２３０が記憶する電力情報に、ＲＡＩＤグループ３２０ＢのＲＡＩＤグループ番号と、容量と、使用容量とを設定する（書き込む）。
【００４８】
図４は、電力計測部２２０が不揮発メモリ３２１の消費電力に関するデータを取得して電力情報格納部２３０の電力情報に格納する処理のフローを示す図である。電力計測部２２０は、例えば、計測開始の指示を受けると図４の処理を行う。設計開始の指示について、例えば、ストレージ管理装置２００を管理するＳＥ（System Engineer）などの環境構築者が、ＣＬＩ（Command Line Interface）またはＧＵＩ（Graphical User Interface）等のインタフェースから指示を行うようにしてもよい。あるいは、温度等の条件によって不揮発メモリ３２１の消費電量の特性が変化する場合、ストレージ管理装置２００（例えば、ストレージ管理装置２００のＣＰＵ）が、電力計測部２２０に対して定期的に計測開始の指示を行うようにしてもよい。
【００４９】
図４の処理で、電力計測部２２０は、電力情報格納部２３０の電力情報の行数をカウントする変数Ｎ１の値を１にする（ステップＳ４２０）。上記のように、電力情報の行数は、電力情報の取得対象であるＲＡＩＤグループ３２０の個数を示す。また、変数Ｎ１の値が電力情報の何れかの行の番号２３１の値と一致することで、その行が特定される。
また、電力計測部２２０は、変数Ａ１、Ｂ１、Ｃ１、Ｄ１、Ｅ１の各々の値を０にする（ステップＳ４２１）。
【００５０】
そして、電力計測部２２０は、電力情報の行のうち、変数Ｎ２の値が特定する行のＲＡＩＤグループ番号欄２３２を読み出し、このＲＡＩＤグループ３２０を構成する不揮発メモリ３２１の各々への、電源２０１からの電力の供給を停止させる（ステップＳ４２２）。電力情報の行のうち、変数Ｎ２の値が特定する行のＲＡＩＤグループ番号欄２３２が特定するＲＡＩＤグループ３２０を、電力計測対象のＲＡＩＤグループ３２０と称する。
【００５１】
例えば、変数Ｎ１の値が２であり、電力計測対象のＲＡＩＤグループ３２０がＲＡＩＤグループ３２０Ｂである場合、電力計測部２２０は、ＲＡＩＤグループ３２０Ｂを構成する不揮発メモリ３２１ＢＡ〜３２１ＢＣへの、電源２０１からの電力の供給を停止させる。
そして、電力計測部２２０は、電源２０１から消費電力を読み取って変数Ａ１に格納する（ステップＳ４２３）。上記のように、電力計測部２２０は、電源２０１からの消費電力の読み取りとして、電源２０１の出力電力を読み取る。
【００５２】
次に、電力計測部２２０は、電力計測対象のＲＡＩＤグループ３２０を構成する不揮発メモリ３２１の各々への、電源２０１からの電力の供給を開始させる（ステップＳ４２４）。
例えば、電力計測対象のＲＡＩＤグループ３２０がＲＡＩＤグループ３２０Ｂである場合、電力計測部２２０は、ＲＡＩＤグループ３２０Ｂを構成する不揮発メモリ３２１ＢＡ〜３２１ＢＣへの、電源２０１からの電力の供給を開始させる。
そして、電力計測部２２０は、電源２０１から消費電力を読み取って変数Ｂ１に格納する（ステップＳ４２５）。
【００５３】
次に、電力計測部２２０は、ＩＯ処理部２６０へリードコマンドを出力することで、ＩＯ処理部２６０に、電力計測対象のＲＡＩＤグループ３２０を構成する不揮発メモリ３２１に対するリードを行わせる（ステップＳ４２６）。
例えば、電力計測対象のＲＡＩＤグループ３２０がＲＡＩＤグループ３２０Ｂである場合、電力計測部２２０は、ＩＯ処理部２６０に、不揮発メモリ３２１ＢＡ〜３２１ＢＣに対するリードを行わせる。
そして、電力計測部２２０は、電源２０１から消費電力を読み取って変数Ｄ１に格納する（ステップＳ４２７）。
【００５４】
また、電力計測部２２０は、ＩＯ処理部２６０へライトコマンドを出力することで、ＩＯ処理部２６０に、電力計測対象のＲＡＩＤグループ３２０を構成する不揮発メモリ３２１に対するライトを行わせる（ステップＳ４２８）。
例えば、電力計測対象のＲＡＩＤグループ３２０がＲＡＩＤグループ３２０Ｂである場合、電力計測部２２０は、ＩＯ処理部２６０に、不揮発メモリ３２１ＢＡ〜３２１ＢＣに対するライトを行わせる。
そして、電力計測部２２０は、電源２０１から消費電力を読み取って変数Ｅ１に格納する（ステップＳ４２９）。
【００５５】
次に、電力計測部２２０は、電力情報格納部２３０の電力情報にアイドル電力、リード電力およびライト電力を書き込む（ステップＳ４３０）。
具体的には、電力計測部２２０は、変数Ｂ１から変数Ａ１を減算した値を電力情報格納部２３０の電力情報の該当する行（変数Ｎ１の値が示す行）のアイドル電力欄２３５に格納する。また、電力計測部２２０は、変数Ｄ１から変数Ａ１を減算した値を電力情報格納部２３０の電力情報の該当する行のリード電力欄２３４に格納する。さらに、電力計測部２２０は、変数Ｅ１から変数Ａ１を減算した値を電力情報格納部２３０の電力情報の該当する行のライト電力欄２３３に格納する。
【００５６】
次に、電力計測部２２０は、変数Ｎ１の値を１だけ増加させる（ステップＳ４３１）。そして、電力計測部２２０は、変数Ｎ１の値が電力情報格納部２３０の電力情報の行数より大きいか判定する（ステップＳ４３２）。変数Ｎ１の値が電力情報の行数以下であると電力計測部２２０が判定した場合（ステップＳ４３２：ＮＯ）、処理がステップＳ４２１へ戻る。これにより、電力計測部２２０は、ステップＳ４２１〜Ｓ４３２の処理を電力情報格納部２３０の電力情報の行数分行う。電力情報の行と電力計測の対象であるＲＡＩＤグループ３２０とは一対一に対応しており、電力情報の行数は、電力計測の対象の個数を示す。
一方、ステップＳ４３２で、変数Ｎ１の値が電力情報の行数より大きいと判定した場合（ステップＳ４３２：ＹＥＳ）、電力計測部２２０は、図４の処理を終了する。
【００５７】
再配置指示部２８０は、装置の設定によって、ＲＡＩＤグループ３２０で論理ディスク３００を生成する際に、論理ディスク３００の番号であるＬＤＮと、論理ディスク３００のアドレス空間を単位長に分割したデータ領域の先頭アドレスとを、論理ディスク３００を構成するデータ領域の識別情報としてデータ領域管理テーブル２５０のデータ領域管理情報に格納する。
図５は、再配置指示部２８０が論理ディスクを生成する場合にデータ領域管理テーブル２５０のデータ領域管理情報を生成する処理のフローを示す図である。
【００５８】
図５の処理で、再配置指示部２８０は、論理ディスクの生成の指示を受けたか判定する（ステップＳ５２０）。論理ディスク生成の指示について、例えば、ストレージ管理装置２００を管理するＳＥなどの環境構築者が、ＣＬＩまたはＧＵＩ等のインタフェースから指示を行うようにしてもよい。
指示を受けていないと再配置指示部２８０が判定した場合、処理がステップＳ５２０へ戻る。これにより、再配置指示部２８０は、論理ディスクの生成の指示の指示を待ち受ける。
一方、論理ディスクの生成の指示を受けたと判定した場合（ステップＳ５２０：ＹＥＳ）、再配置指示部２８０は、論理ディスク３００の容量をデータ領域の単位長で除算した値を変数Ａ２に格納する（ステップＳ５２１）。変数Ａ２の値は、論理ディスク３００に設定可能な単位データ領域の個数を示す。
【００５９】
次に、再配置指示部２８０は、変数Ｂ２の値を０にし、Ｃ２の値を１にする（ステップＳ５２２）。変数Ｃ２の値がデータ領域管理情報の何れかの行の番号２５１の値と一致することで、その行が特定される。
そして、再配置指示部２８０は、電力情報格納部２３０の電力情報から、アイドル電力欄２３５の値が最小の値となっている行のＲＡＩＤグループ番号欄２３２からＲＡＩＤグループ番号を読み出す（ステップＳ５２３）。再配置指示部２８０が読み出したＲＡＩＤグループ番号は、アイドル時の消費電力が最小のＲＡＩＤグループ３２０を示す。
【００６０】
次に、再配置指示部２８０は、変数Ｂ２にＲＡＩＤ領域の先頭アドレスを格納する（ステップＳ５２４）。そして、再配置指示部２８０は、変数Ｂ２の値にデータ領域の単位長を加算した値を、ＲＡＩＤ領域欄２５７に格納し、また、変数Ｂ２の値を算出した値に更新する（ステップＳ５２５）。再配置指示部２８０は、変数Ｂ２の値がＲＡＩＤグループ３２０の容量より小さいか判定する（ステップＳ５２６）。
【００６１】
例えば、再配置指示部２８０は、電力情報の行のうち、ＲＡＩＤグループ番号欄２３２に格納されているＲＡＩＤグループ番号が、ステップＳ５２３で読み出したＲＡＩＤグループ番号と一致する行を特定する。すなわち、再配置指示部２８０は、ステップＳ５２３で消費電力が最小と判定したＲＡＩＤグループの行を再度特定する。そして、再配置指示部２８０は、特定した行の容量欄２３６からＲＡＩＤグループ３２０の容量を読み出して、変数Ｂ２の値と比較する。
【００６２】
変数Ｂ２の値が容量欄２３６の容量（ＲＡＩＤグループ３２０の容量）以上であると判定した場合（ステップＳ５２６：ＮＯ）、処理がステップＳ５２５へ戻る。
ステップＳ５２４〜Ｓ５２６の処理によって、論理ディスクのデータ領域をＲＡＩＤグループのデータ領域にユニークに割当を行う。この割当は、ステップＳ５２５でデータ領域毎（データ領域管理情報の行毎）に、ＲＡＩＤ領域欄２５７に格納されるＲＡＩＤ領域のアドレスによって示される。
【００６３】
一方、ステップＳ５２６で、変数Ｂ２の値が容量欄２３６の値より小さいと判定した場合（ステップＳ５２６：ＹＥＳ）、再配置指示部２８０は、変数Ｃ２の値を１だけ増加させる（ステップＳ５２７）。
そして、再配置指示部２８０は、変数Ａ２の値が変数Ｃ２の値より小さいか判定する（ステップＳ５２８）。変数Ａ２の値が変数Ｃ２の値以上であると再配置指示部２８０が判定した場合（ステップＳ５２８：ＮＯ）、処理がステップＳ５２３へ戻る。
【００６４】
変数Ａ２の値が変数Ｃ２の値以上である場合、すなわち、変数Ｃ２の値が変数Ａ２の値以下である場合、再配置指示部２８０がデータ領域管理情報に登録した単位データ領域の個数（Ｃ２−１）は、論理ディスク３００に設定可能な単位データ領域の個数（Ａ２）に達していない。そこで、再配置指示部２８０は、引き続きステップＳ５２３〜Ｓ５２８の処理を行って、データ領域管理情報に単位データ領域を登録する。
【００６５】
一方、変数Ａ２の値が変数Ｃ２の値より小さいと判定した場合（ステップＳ５２８：ＹＥＳ）、再配置指示部２８０は、図５の処理を終了する。すなわち、再配置指示部２８０は、変数Ａ２の値より変数Ｃ２の値が大きくなると、論理ディスク３００のアドレス空間をすべて割当したと判断する。
【００６６】
再配置指示部２８０は、電力情報格納部２３０の電力情報のＲＡＩＤグループ番号欄２３２が示すＲＡＩＤグループ３２０の容量（容量欄２３６の値）以上に論理ディスク３００のアドレス空間を割り当てる必要がある場合は、電力情報格納部２３０の電力情報からアイドル時の値が２番目に小さい値のＲＡＩＤグループ３２０のＲＡＩＤグループ番号を検出し、図５を参照して説明したのと同様に割当を行う。
【００６７】
図６は、ＩＯ計測部２４０がコマンドを受信し、データ領域管理テーブル２５０のデータ領域管理情報のライト数欄２５４に示されるライト数の統計情報を求めるフローを示す図である。
図６の処理では、変数Ａ３、Ｂ３、Ｃ３、Ｄ３、Ｅ３、Ｆ３を以下のように用いる。
変数Ａ３：ライトコマンド内のＬＤＮの格納領域
変数Ｂ３：ライトコマンド内の先頭アドレスの格納領域
変数Ｃ３：変数Ｂ３にデータ長を加算した最終アドレスの格納領域
変数Ｄ３：論理ディスク３００を単位データ長で分割したアドレスの格納領域
変数Ｅ３：変数Ｄ３の次の単位データ領域の先頭アドレスを格納する領域
変数Ｆ３：データ領域管理テーブル２５０のデータ領域管理情報のライト数欄２５４の値を格納する領域
変数Ｇ３：コマンドの先頭アドレスから次のデータ領域の先頭までのデータ長を計算して処理している事を表すフラグ
変数Ｎ３：データ領域管理情報の行を特定する値を格納する領域
【００６８】
図６の処理で、ＩＯ計測部２４０は、ストレージ管理装置２００がサーバ装置１００からのライトコマンドを受信したか判定する（ステップＳ６２０）。受信していないとＩＯ計測部２４０が判定した場合（ステップＳ６２０：ＮＯ）、処理がステップＳ６２０へ戻る。これにより、ＩＯ計測部２４０は、サーバ装置１００からのライトコマンドを待ち受ける。
【００６９】
一方、サーバ装置１００からのライトコマンドを受信したと判定した場合（ステップＳ６２０：ＹＥＳ）、ＩＯ計測部２４０は、ライトコマンドから論理ディスクであるＬＤＮとアドレスとデータ長を取り出し、ＬＤＮを変数Ａ３へ、アドレスを変数Ｂ３へ、Ｂ３の値にデータ長を加算した値を変数Ｃ３へ格納し、変数Ｇ３に０を格納する（ステップＳ６２１）。
【００７０】
次に、ＩＯ計測部２４０は、変数Ｂ３が示すアドレスを含むデータ領域の先頭アドレスを変数Ｄ３に格納する（ステップＳ６２２）。例えば、変数Ｂ３の値が２５００［番地］であり、論理ディスクを分割する単位長が２キロバイト（ＫＢ）であるとする。この場合、２５００番地を含む領域の先頭アドレスは２０４８番地となり、ＩＯ計測部２４０は、２０４８［番地］を変数Ｄ３に格納する。
そして、ＩＯ計測部２４０は、コマンドから読み出したＬＤＮおよびデータ領域のアドレスと、変数Ｎ３が示すデータ領域管理情報の行のＬＮＤおよびデータ領域のアドレスとが等しいか判定する（ステップＳ６２３）。
【００７１】
具体的には、ＩＯ計測部２４０は、データ領域管理情報の、変数Ｎ３が特定する行（変数Ｎ３の値と、番号欄２５１の値とが等しい行）のＬＤＮ欄２５３、データ領域欄２５２から、それぞれ、ＬＤＮ、データ領域のアドレスを読み出す。そして、ＩＯ計測部２４０は、変数Ａ３の値とデータ領域管理情報から読み出したＬＤＮとが等しく、かつ、変数Ｄ３の値とデータ領域管理情報から読み出したアドレスとが等しいか判定する。
【００７２】
変数Ａ３の値とデータ領域管理情報から読み出したＬＤＮとが等しくない、または、変数Ｄ３の値とデータ領域管理情報から読み出したアドレスとが等しくないと判定した場合（ステップＳ６２３：ＮＯ）、ＩＯ計測部２４０は、変数Ｎ３の値を１だけ増加させる（ステップＳ６２４）。
ステップＳ６２４の後、処理がステップＳ６２３へ戻る。
ＩＯ計測部２４０は、ステップＳ６２３〜Ｓ６２４のループにより、データ領域管理情報の行のうち、ライトコマンドによるデータ書き込み対象の単位データ領域の示す行を検出するまで、データ領域管理情報の行を進める。
【００７３】
一方、変数Ａ３の値とデータ領域管理情報から読み出したＬＤＮとが等しく、かつ、変数Ｄ３の値とデータ領域管理情報から読み出したアドレスとが等しいと判定した場合（ステップＳ６２３：ＹＥＳ）、ＩＯ計測部２４０は、変数Ｆ３にライト数を格納する（ステップＳ６２５）。具体的には、ＩＯ計測部２４０は、データ領域管理情報の、変数Ｎ３の値が特定する行のライト数欄２５４からライト数を読み出して変数Ｆ３に格納する。
【００７４】
また、ＩＯ計測部２４０は、変数Ｄ３の値に単位長を加えた値を変数Ｅ３に格納する（ステップＳ６２６）。そして、ＩＯ計測部２４０は、変数Ｅ３の値が変数Ｃ３の値以下か判定する（ステップＳ６２７）。変数Ｅ３の値が変数Ｃ３の値以下であると判定した場合（ステップＳ６２７：ＹＥＳ）、ＩＯ計測部２４０は、変数Ｆ３の値に変数Ｃ３の値を加算し変数Ｄ３の値を減算した値をデータ領域管理情報のライト数欄２５４に格納する（ステップＳ６２８）。
【００７５】
具体的には、ＩＯ計測部２４０は、データ領域情報の、変数Ｎ３が特定する行のライト数欄２５４の値を、Ｆ３＋（Ｃ３−Ｄ３）にする。Ｆ３の値は、このライト数欄２５４に格納されていた値なので、ＩＯ計測部２４０は、このライト数欄の値をＣ３−Ｄ３だけ増加させる。Ｃ３−Ｄ３は、・・・を示す。したがって、ＩＯ計測部２４０は、このライト数欄の値を、サーバ装置１００からのライトコマンドによって行われるライト（データ書き込み）の回数分だけ増加させる。
ステップＳ６２８の後、ＩＯ計測部２４０は、図６の処理を終了する。
【００７６】
一方、変数Ｅ３の値が変数Ｃ３の値より大きいと判定した場合（ステップＳ６２７：ＮＯ）、ＩＯ計測部２４０は、変数Ｇ３の値が０か判定する（ステップＳ６２９）。
変数Ｇ３の値が０でないと判定した場合（Ｓ６２９：ＮＯ）、ＩＯ計測部２４０は、変数Ｆ３の値にデータ領域の単位長を加算し、データ領域管理情報の、変数Ｎ３が示す行のライト数欄２５４に格納する（ステップＳ６３０）。また、ＩＯ計測部２４０は、変数Ｅ３の値を変数Ｂ３に格納する（ステップＳ６３１）。
ステップＳ６３１の後、処理がステップＳ６２２へ戻る。
【００７７】
一方、ステップＳ６２９で、変数Ｇ３の値が０であると判定した場合（Ｓ６２９：ＹＥＳ）、ＩＯ計測部２４０は、コマンドの先頭アドレスから次のデータ領域の先頭の長さを求めるために、変数Ｅ３から変数Ｂ３を減算後に変数Ｆ３を加算して、データ領域管理情報の、変数Ｎ３が示す行のライト数欄２５４に格納し、また、変数Ｇ３の値を１とする（ステップＳ６３２）。また、ＩＯ計測部２４０は、変数Ｅ３の値を変数Ｂ３に格納する（ステップＳ６３３）。
ステップＳ６３３の後、処理がステップＳ６２２へ戻る。
この処理により、ＩＯ計測部２４０は、単位データ領域毎にライト数の統計を取ってデータ領域管理テーブル２５０のデータ領域管理情報のライト数欄２５４に格納する。
【００７８】
図６の処理について、図７を参照してさらに説明する。
図７は、ライトコマンドのデータと、論理ディスクのデータ領域との関係の例を示す図である。図８の例で、論理ディスクのデータ領域が分割単位毎のデータ領域である単位データ領域に分割されており、ライトコマンドのデータは、単位データ領域に割り当てられる。
【００７９】
ライトコマンドのデータを、単位データ領域への割当に応じて分割した部分のうち、ライトコマンドの先頭を含む部分を部分Ｐ１１とし、ライトコマンドの末尾を含む部分を部分Ｐ１２とし、それら以外の部分をＰ１３とする。
部分Ｐ１２では、単位データ領域全体にライトコマンドのデータ（の部分）が割り当てられる。このため、ＩＯ計測部２４０は、分割単位の長さに基づいてライト数を算出することができる。
一方、部分Ｐ１１では、単位データ領域の一部のみにライトコマンドのデータ（の部分）が割り当てられる。このため、ＩＯ計測部２４０は、単位データ領域の先頭または末尾と、ライトコマンドのデータの先頭との位置関係に基づいて、ライト数を算出する必要がある。
また、部分Ｐ１３でも、単位データ領域の一部のみにライトコマンドのデータ（の部分）が割り当てられる。このため、ＩＯ計測部２４０は、単位データ領域の先頭または末尾と、ライトコマンドのデータの末尾との位置関係に基づいて、ライト数を算出する必要がある。
【００８０】
そこで、図６の処理でＩＯ計測部２４０は、単位データ領域とライトコマンドのデータとの関係に応じて条件分岐する。
ステップＳ６２８では、ＩＯ計測部２４０は、ライトコマンドのデータの末尾を含む部分の単位データ領域へ格納におけるライト数を算出する。図７の例の場合、ＩＯ計測部２４０は、部分Ｐ１３の単位データ領域への格納におけるライト数を算出する。
【００８１】
ステップＳ６３０では、ＩＯ計測部２４０は、ライトコマンドのデータの中間部分の単位データ領域への格納におけるライト数を算出する。図７の例の場合、ＩＯ計測部２４０は、部分Ｐ１２の単位データ領域への割当におけるライト数を算出する。
ステップＳ６３２では、ＩＯ計測部２４０は、ライトコマンドのデータの先頭を含む部分の単位データ領域への格納におけるライト数を算出する。図７の例の場合、ＩＯ計測部２４０は、部分Ｐ１１の単位データ領域への割当におけるライト数を算出する。
【００８２】
ＩＯ計測部２４０は、リードについても同様の処理を行って、データ領域管理テーブル２５０のデータ領域管理情報のリード数欄２５５に格納する。
ＩＯ計測部２４０は、ライトコマンドを単位データ領域単位に分割してＩＯ処理部２６０に出力する。ＩＯ計測部２４０は、コマンドとともにＲＡＩＤグループ番号と、ＲＡＩＤ領域（ライト対象の単位データ領域を示すアドレス）とをＩＯ処理部２６０に通知する。
ＩＯ計測部２４０は、リードコマンドについても同様に、単位データ領域単位に分割してＩＯ処理部２６０に出力する。ＩＯ計測部２４０は、コマンドとともにＲＡＩＤグループ番号と、ＲＡＩＤ領域（ライト対象の単位データ領域を示すアドレス）とをＩＯ処理部２６０に通知する。
【００８３】
ＩＯ処理部２６０はＩＯの処理の終了時刻から開始時刻を減算した差を記憶しておく。そして、ＩＯ処理部２６０は、データ領域管理テーブル２５０のデータ領域管理情報のＲＡＩＤグループ番号欄２５６とＲＡＩＤ領域欄２５７とを、ＩＯ計測部２４０からコマンドとともに通知されたＲＡＩＤグループ番号およびＲＡＩＤ領域で検索する。ＩＯ処理部は、データ管理領域情報の、ＲＡＩＤグループ番号およびＲＡＩＤ領域が一致した行のＢＵＳＹ時間欄２５８に、ＩＯの処理の終了時刻から開始時刻を減算した差を加算して格納する。
【００８４】
図８は、再配置指示部２８０が再配置を行う場合に、データ領域管理情報のＲＡＩＤグループ番号欄２５６とＲＡＩＤ領域欄２５７とを求めるフローを示す図である。
図８の処理で、変数Ｂ４は電力情報格納部２３０のサーチキーの格納領域として用いられ、変数Ｃ４はデータ領域管理情報の行数をカウントする領域として用いられる。
【００８５】
図８の処理で、再配置指示部２８０は、再配置実施時刻が到来したか判定する（ステップＳ７２０）。具体的には、再配置指示部２８０は、再配置時刻メモリ２０４が格納する時間が示す再配置到来時刻と現在時刻とを比較して、再配置実施時刻が到来したか判定する。
再配置実施時刻が到来していないと再配置指示部２８０が判定した場合（ステップＳ７２０：ＮＯ）、処理がステップＳ７２０へ戻る。これにより、再配置指示部２８０は、再配置実施時刻の到来を待ち受ける。
【００８６】
一方、再配置実施時刻が到来したと判定した場合（ステップＳ７２０：ＹＥＳ）、再配置指示部２８０は、データ領域管理テーブル２５０のデータ領域管理情報の行毎に処理を行うために変数Ｃ４の値を１とする（ステップＳ７２１）。そして再配置指示部２８０は、データ領域管理情報から単位データ領域のアドレスを読み出して、単位データ領域のデータをキャッシュメモリ２０５にコピーする（ステップＳ７２２）。
【００８７】
具体的には、再配置指示部２８０は、データ領域管理情報の、変数Ｃ４が特定する行（変数Ｃ４の値と、番号欄２５１の値とが等しい行）のデータ領域欄２５２の値（単位データ領域のアドレス）を、読み出す。そして、再配置指示部２８０は、読み出したアドレスが示す単位データ領域のデータをキャッシュメモリ２０５にコピーする。ＩＯ処理部２６０は、サーバ装置１００装置１００からのＩＯ処理について、以降はキャッシュメモリ２０５を利用して行う。
【００８８】
次に、再配置指示部２８０は、この単位データ領域のアイドル時間と、ライト時間と、リード時間とを算出する（ステップＳ７２３）。
具体的には、再配置指示部２８０は、データ領域管理テーブル２５０のデータ領域管理情報のＢＵＳＹ時間欄２５８からＢＵＳＹ時間を読み出す。そして、再配置指示部２８０は、アイドル時間として、再配置実施時刻からＢＵＳＹ時間を減算した値を算出する。また、再配置指示部２８０は、ライト時間として、データ領域管理情報のライト数欄２５４の値をＩＯ数で除算した値にＢＵＳＹ時間を乗算した値を算出する。
また、再配置指示部２８０は、リード時間として、データ領域管理情報のリード数欄２５５の値をＩＯ数で除算した値にＢＵＳＹ時間を乗算した値を算出する。
【００８９】
そして、再配置指示部２８０は、アイドル時間、ライト時間、および、リード時間のうち最も大きい値のものを変数Ｂ４へ格納する（ステップＳ７２４）。
再配置指示部２８０は、電力情報格納部２３０の電力情報の列を変数Ｂ４の値で検索して最小値となるＲＡＩＤグループ番号を求める（ステップＳ７２５）。
再配置指示部２８０は、ＲＡＩＤグループ３２０内の未割当のＲＡＩＤ領域のアドレスとともに、データ領域管理テーブル２５０のデータ領域管理情報のＲＡＩＤグループ番号欄２５６とＲＡＩＤ領域欄２５７へ格納する（ステップＳ７２６）。これにより、再配置指示部２８０は、不揮発メモリ３２１の記憶領域を、論理ディスク３００の記憶領域を分割する分割単位の長さ毎に、論理ディスク３００の記憶領域に割り当てる。
【００９０】
また、再配置指示部２８０は、割当が完了すればキャッシュメモリ２０５のデータをデータ領域欄２５２へコピーする（ステップＳ７２７）。
再配置指示部２８０は、変数Ｃ４の値を１だけ増加させ（ステップＳ７２８）、変数Ｃ４の値がデータ領域管理情報の行数より大きいか判定する（ステップＳ７２９）。変数Ｃ４の値がデータ領域管理情報の行数以下であると再配置指示部２８０が判定した場合（ステップＳ７２９：ＮＯ）、処理がステップＳ７２２へ戻る。
【００９１】
これにより、再配置指示部２８０は、ステップＳ７２２〜Ｓ７２９の処理を、データ領域管理情報の各行について実施する。
一方、ステップＳ７２９で、変数Ｃ４の値がデータ領域管理情報の行数より大きいと判定した場合（ステップＳ７２９：ＹＥＳ）、再配置指示部２８０は、図８の処理を終了する。
【００９２】
再配置指示部２８０が再配置を行う場合に、データ領域管理情報のＲＡＩＤグループ番号欄２５６とＲＡＩＤ領域欄２５７とを求める方法は、図８に示す方法に限定されない。
図９は、再配置指示部２８０が再配置を行う場合に、データ領域管理情報のＲＡＩＤグループ番号欄２５６とＲＡＩＤ領域欄２５７とを求めるもう一つのフローを示す図である。
【００９３】
図９の処理では、再配置指示部２８０は、図８のステップＳ７２４〜Ｓ７２５の処理に代えて、ステップＳ７２４Ａの処理を行う。それ以外の点では、図９の処理は図８の処理と同様である。
図９のステップＳ７２３では、図８の場合と同様、再配置指示部２８０は、データ領域管理テーブル２５０のデータ領域管理情報のＢＵＳＹ時間欄２５８からアイドル時間／ライト時間／リード時間を求める。
【００９４】
そして、ステップＳ７２４Ａで、再配置指示部２８０は、電力情報格納部２３０の電力情報の行単位で、アイドル時間とアイドル電力とを乗算した値、ライト時間とライト電力とを乗算した値、および、リード時間とリード電力とを乗算した値の合計値を各行で求め、前記の値が最小の行を選択しＲＡＩＤグループを求める。
ステップＳ７２６では、図８の場合と同様、再配置指示部２８０は、ＲＡＩＤグループ内の未割当のＲＡＩＤ領域のアドレスとともに、データ領域管理テーブル２５０データ領域管理情報のＲＡＩＤグループ番号欄２５６およびＲＡＩＤ領域欄２５７へ格納する。
【００９５】
なお、再配置指示部２８０が、アイドル時間、ライト時間、および、リード時間のうち、必ずしも最長のものを選択する必要はなく、比較的長いものを選択するようにすればよい。例えば、再配置指示部２８０が、アイドル時間、ライト時間、および、リード時間のうち、これら３つの合計時間の３分の１以上を占める何れかを選択するようにしてもよい。例えば、不揮発メモリ３２１のアイドル時の消費電力の個体差が小さく、ライト時の消費電力の個体差が大きい場合、再配置指示部２８０が、ライト時間を積極的に選択するようにすることで、消費電力をより低減させられる可能性がある。
【００９６】
また、再配置指示部２８０が、必ずしも消費電力が最小の不揮発メモリ３２１から順に選択していく必要はなく、消費電力が比較的小さい不揮発メモリ３２１を選択するようにすればよい。例えば、不揮発メモリ３２１が、ライト時の消費電力が特に小さい第１グループと、ライト時の消費電力が比較的小さい第２グループと、ライト時の消費電力が小さくない第３グループとにグループ分けされていてもよい。そして、再配置指示部２８０が、第一グループには、ライト時間が所定の時間以上に長いもののみを割り当てるようにし、それ以外で比較的ライト時間が長いデータ（データ領域）には、第２グループの中から不揮発メモリ３２１を選択して割り当てるようにしてもよい。
【００９７】
以上のように、電力計測部２２０は、１つ以上の不揮発メモリ３２１を用いて構成される複数のＲＡＩＤグループ３２０の各々のアイドル時、リード時、ライト時それぞれの消費電力を計測する。再配置指示部２８０は、論理ディスク３００のデータ領域を単位長に分割した単位データ領域に、不揮発メモリ３２１のデータ領域を単位長に分割した単位データ領域を割り当てる。再配置指示部２８０は、論理ディスク３００の単位データ領域のアイドル時間と、リード時間と、ライト時間とのうち、アイドル時間が比較的長い単位データ領域に、アイドル時の消費電量が比較的小さいＲＡＩＤグループ３２０に含まれる不揮発メモリ３２１単位データ領域を割り当てる。また、再配置指示部２８０は、リード時間が比較的長い単位データ領域に、リード時の消費電量が比較的小さいＲＡＩＤグループ３２０に含まれる不揮発メモリ３２１の単位データ領域を割り当てる。再配置指示部２８０は、ライト時間が比較的長い単位データ領域に、ライト時の消費電量が比較的小さいＲＡＩＤグループ３２０に含まれる不揮発メモリ３２１の単位データ領域を割り当てる。
ストレージ管理装置２００によれば、不揮発メモリ３２１のデータ領域の、論理ディスク３００のデータ領域への割当を、アクセス頻度だけでなく消費電力にも基づいて決定することができる。ストレージ管理装置２００によれば、この点で、消費電力をさらに削減できると期待される。
【００９８】
このように、ストレージシステム１は、複数の論理ディスク３００を持つ。論理ディスク３００は、アドレス空間を単位長に分割したデータ領域で構成され、データ領域はＲＡＩＤグループ３２０にユニークに配置して割当を行うことができ、複数のＲＡＩＤグループ３２０で構成される。また、ＲＡＩＤグループ３２０は複数の不揮発メモリ３２１で構成される。ＲＡＩＤグループ３２０毎に異なった不揮発メモリ３２１で構成されている場合において、消費電力が不揮発メモリ３２１の個体毎に異なり、またリード、ライト、アイドルの動作でも異なる点に着目する。具体的には、一定時間毎にサーバ装置１００からのＩＯ傾向を計測し、ＩＯ傾向から消費電力を少なくするために、時間の長い動作を選択し、選択した動作の消費電力の少ないＲＡＩＤグループ３２０の順に、論理ディスク３００のデータ領域を割当てて省電力化を行う。
【００９９】
ここで、データ量の増加によってデータセンタ等へのストレージ装置の敷設や記憶デバイスの増設が増加しているため、データセンタ等の施設の消費電力が増えている。消費電力は電気料金といったコストになり、コストの抑制のためにストレージ装置の消費電力を抑えることが望まれている。また記憶デバイスに関して、ＨＤＤからＳＳＤへの置き換えが増加しており、ＳＳＤの消費電力を抑える技術が必要とされている。また、環境問題の観点からも、省電力化により環境への影響を少なくすることが製品に求められる要素になっている。
ストレージシステム１によれば、上記のように消費電力の低減を図ることができ、この点で、コストの抑制、および、環境への影響の低減を図ることができる。
【０１００】
また、再配置指示部２８０は、アイドル時間と、リード時間と、ライト時間とのうち、何れか最も長いものを選択する。そして、再配置指示部２８０は、論理ディスク３００の単位データ領域にデータ領域を割当可能な不揮発メモリ３２１のうち、選択した時間に対応する状態（アイドル状態、リード状態、または、ライト状態）での消費電力が最も小さい不揮発メモリ３２１の単位データ領域を割り当てる。
【０１０１】
このように、再配置指示部２８０が、アイドル時間、リード時間、ライト時間のうち最も長いものを基準とすることで、消費電力をより低減できることが期待される。さらに、再配置指示部２８０が、選択可能な不揮発メモリ３２１のうち、選択した時間に対応する消費電力が最も小さい不揮発メモリ３２１を選択することで、消費電力をさらに低減できることが期待される。
【０１０２】
また、ＲＡＩＤグループ３２０の各々は、複数の不揮発メモリ３２１を用いて構成される。
このように複数の不揮発メモリ３２１を１つのＲＡＩＤグループ３２０に纏めることで、割当対象のデータと割当先であるＲＡＩＤグループ３２０との組み合わせの数が比較的小さくなる。これにより、管理装置２００が、データの割当先を決定する処理が比較的軽くて済む。例えば、ストレージシステム１が多数の不揮発メモリ３２１を備えている場合、不揮発メモリ３２１をＲＡＩＤグループ３２０に纏めた構成となっていることで、割当対象のデータと割当先との選択の、組み合わせ的爆発を回避することができる。
【０１０３】
次に、図１０および図１１を参照して、本発明の実施形態の構成について説明する。
図１０は、実施形態に係るストレージ管理装置の構成の例を示す図である。図１０に示すストレージ管理装置１０は、電力計測部１１と、再配置指示部１２とを備える。
かかる構成で、電力計測部１１は、複数のストレージ装置を用いて構成される複数のＲＡＩＤグループの各々のアイドル時、リード時、ライト時それぞれの消費電力を計測する。再配置指示部１２は、論理ディスクのデータ領域を単位長に分割した単位データ領域に、ストレージ装置のデータ領域を単位長に分割した単位データ領域を割り当てる。再配置指示部１２は、論理ディスクの単位データ領域のアイドル時間と、リード時間と、ライト時間とのうち、アイドル時間が比較的長い単位データ領域に、アイドル時の消費電量が比較的小さいＲＡＩＤグループに含まれるストレージ装置の単位データ領域を割り当て、リード時間が比較的長い単位データ領域に、リード時の消費電量が比較的小さいＲＡＩＤグループに含まれるストレージ装置の単位データ領域を割り当て、ライト時間が比較的長い単位データ領域に、ライト時の消費電量が比較的小さいＲＡＩＤグループに含まれるストレージ装置の単位データ領域を割り当てる。
【０１０４】
ストレージ管理装置１０によれば、ストレージ装置のデータ領域の、論理ディスクのデータ領域への割当を、アクセス頻度だけでなく消費電力にも基づいて決定することができる。ストレージ管理装置１０によれば、この点で、消費電力をさらに削減できると期待される。
【０１０５】
図１１は、実施形態に係るストレージシステムの構成の例を示す図である。図１１に示すストレージシステム２０は、複数のストレージ装置２１と、ストレージ管理装置２２とを備える。ストレージ管理装置２２は、電力計測部２３と、再配置指示部２４とを備える。
かかる構成で、電力計測部２３は、複数のストレージ装置２１を用いて構成される複数のＲＡＩＤグループの各々のアイドル時、リード時、ライト時それぞれの消費電力を計測する。再配置指示部２４は、論理ディスクのデータ領域を単位長に分割した単位データ領域に、ストレージ装置２１のデータ領域を単位長に分割した単位データ領域を割り当てる。再配置指示部２４は、論理ディスクの単位データ領域のアイドル時間と、リード時間と、ライト時間とのうち、アイドル時間が比較的長い単位データ領域に、アイドル時の消費電量が比較的小さいＲＡＩＤグループに含まれるストレージ装置２１の単位データ領域を割り当て、リード時間が比較的長い単位データ領域に、リード時の消費電量が比較的小さいＲＡＩＤグループに含まれるストレージ装置２１の単位データ領域を割り当て、ライト時間が比較的長い単位データ領域に、ライト時の消費電量が比較的小さいＲＡＩＤグループに含まれるストレージ装置２１の単位データ領域を割り当てる。
【０１０６】
ストレージ管理装置２２によれば、ストレージ装置２１のデータ領域の、論理ディスクのデータ領域への割当を、アクセス頻度だけでなく消費電力にも基づいて決定することができる。ストレージシステム２０によれば、この点で、消費電力をさらに削減できると期待される。
【０１０７】
図１２は、少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
図１２に示す構成で、コンピュータ５００は、ＣＰＵ５１０と、主記憶装置５２０と、補助記憶装置５３０と、インタフェース５４０とを備える。
上記のストレージ管理装置１０、２２、および、２００のうち何れか１つ以上が、コンピュータ５００に実装されてもよい。その場合、上述した各処理部の動作は、プログラムの形式で補助記憶装置５３０に記憶されている。ＣＰＵ５１０は、プログラムを補助記憶装置５３０から読み出して主記憶装置５２０に展開し、当該プログラムに従って上記処理を実行する。また、ＣＰＵ５１０は、プログラムに従って、上述した各記憶部に対応する記憶領域を主記憶装置５２０に確保する。ストレージ管理装置と他の装置との通信は、インタフェース５４０が通信機能を有し、ＣＰＵ５１０の制御に従って通信を行うことで実行される。
【０１０８】
ストレージ管理装置１０がコンピュータ５００に実装される場合、電力計測部１１と、再配置指示部１２との動作は、プログラムの形式で補助記憶装置５３０に記憶されている。ＣＰＵ５１０は、プログラムを補助記憶装置５３０から読み出して主記憶装置５２０に展開し、当該プログラムに従って上記処理を実行する。ストレージ管理装置１０とストレージ装置との通信は、インタフェース５４０が通信機能を有し、ＣＰＵ５１０の制御に従って通信を行うことで実行される。
【０１０９】
ストレージ管理装置２２がコンピュータ５００に実装される場合、電力計測部２３と、再配置指示部２４との動作は、プログラムの形式で補助記憶装置５３０に記憶されている。ＣＰＵ５１０は、プログラムを補助記憶装置５３０から読み出して主記憶装置５２０に展開し、当該プログラムに従って上記処理を実行する。ストレージ管理装置２２とストレージ装置２１との通信は、インタフェース５４０が通信機能を有し、ＣＰＵ５１０の制御に従って通信を行うことで実行される。
【０１１０】
ストレージ管理装置２００がコンピュータ５００に実装される場合、電力計測部２２０と、ＩＯ計測部２４０と、再配置指示部２８０と、ＩＯ処理部２６０との動作は、プログラムの形式で補助記憶装置５３０に記憶されている。ＣＰＵ５１０は、プログラムを補助記憶装置５３０から読み出して主記憶装置５２０に展開し、当該プログラムに従って上記処理を実行する。
【０１１１】
また、ＣＰＵ５１０は、プログラムに従って、計測期間メモリ２０２と、再配置時刻メモリ２０４と、電力情報格納部２３０と、データ領域管理テーブル２５０と、キャッシュメモリ２０５とに対応する記憶領域を主記憶装置５２０に確保する。
ストレージ管理装置２００とサーバ装置１００との通信、および、ストレージ管理装置２００と不揮発メモリ３２１との通信は、インタフェース５４０が通信機能を有し、ＣＰＵ５１０の制御に従って通信を行うことで実行される。
【０１１２】
なお、ストレージ管理装置１０、２２、および、２００が行う処理の全部または一部を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【０１１３】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【０１１４】
１、２０  ストレージシステム
１０、２２、２００  ストレージ管理装置
１１、２３、２２０  電力計測部
１２、２４、２８０  再配置指示部
２１  ストレージ装置
１００  サーバ装置
２０１  電源
２０２  計測期間メモリ
２０４  再配置時刻メモリ
２０５  キャッシュメモリ
２３０  電力情報格納部
２４０  ＩＯ計測部
２５０  データ領域管理テーブル
２６０  ＩＯ処理部
３００、３００Ａ、３００Ｂ  論理ディスク
３２０、３２０Ａ、３２０Ｂ、３２０Ｃ、３２０Ｄ  ＲＡＩＤグループ
３２１、３２１ＡＡ、３２１ＡＢ、３２１ＢＡ、３２１ＢＢ、３２１ＢＣ、３２１ＣＡ、３２１ＣＢ、３２１ＣＣ、３２１ＤＡ、３２１ＤＢ、３２１ＤＣ  不揮発メモリ
【図１】
2020087204.tif 000003
【図２】
2020087204.tif 000004
【図３】
2020087204.tif 000005
【図４】
2020087204.tif 000006
【図５】
2020087204.tif 000007
【図６】
2020087204.tif 000008
【図７】
2020087204.tif 000009
【図８】
2020087204.tif 000010
【図９】
2020087204.tif 000011
【図１０】
2020087204.tif 000012
【図１１】
2020087204.tif 000013
【図１２】
2020087204.tif 000014