(57)【特許請求の範囲】
【請求項１】
コンピュータに一定時間アクセスがなければ省電力モードに移行する複数のディスクノードに対してデータを分散格納する際のデータ配置を管理させるデータ配置制御プログラムにおいて、
前記コンピュータを、
前記ディスクノードが管理するデータそれぞれに対して所定の時間帯内に行われたアクセス数を示すアクセス統計情報が格納されたアクセス統計情報記憶手段から、前記アクセス統計情報を収集するアクセス統計情報収集手段、
前記アクセス統計情報を参照し、前記所定の時間帯内のアクセス数に負の数を乗算した値を乗数としたべき乗の値を、各データのデータ無アクセス確率とする無アクセス確率計算手段、
データの格納先となる前記ディスクノードを示す配置パターン候補を複数生成する配置パターン候補生成手段、
前記配置パターン候補生成手段によって生成された前記配置パターン候補それぞれについて、前記配置パターン候補に従ってデータを配置した場合に前記ディスクノードそれぞれに配置されるデータの前記データ無アクセス確率を集計して、前記ディスクノードそれぞれにアクセスがない確率を示すノード無アクセス確率を算出し、前記ディスクノードそれぞれの前記ノード無アクセス確率を集計して、いずれかの前記ディスクノードに対して発生するアクセスがない時間の期待値を示す無アクセス時間期待値を算出する期待値計算手段、
前記配置パターン候補生成手段で生成された複数の前記配置パターン候補のうち、前記期待値計算手段で計算された前記無アクセス時間期待値が最も大きくなる前記配置パターン候補を、データ再配置のための配置パターンに決定する配置パターン決定手段、
前記ディスクノードに対して、前記配置パターン決定手段で決定された前記配置パターンに従ったデータの再配置を指示するデータ再配置指示手段、
として機能させることを特徴とするデータ配置制御プログラム。
【請求項２】
コンピュータに一定時間アクセスがなければ省電力モードに移行する複数のディスクノードに対してデータを分散格納する際のデータ配置を管理させるデータ配置制御プログラムにおいて、
前記コンピュータを、
一日を複数の時間帯に分割したときの時間帯ごとの、前記ディスクノードが管理するデータそれぞれに対するアクセス数を示すアクセス統計情報が格納されたアクセス統計情報記憶手段から、時間帯ごとの前記アクセス数を示す前記アクセス統計情報を収集するアクセス統計情報収集手段、
前記アクセス統計情報を参照し、時間帯内のアクセス数が少ないデータほど大きくなる値を各データのデータ無アクセス確率とし、各データの前記無アクセス確率を時間帯ごとに算出する無アクセス確率計算手段、
データの格納先となる前記ディスクノードを示す配置パターン候補を複数生成する配置パターン候補生成手段、
前記配置パターン候補生成手段によって生成された前記配置パターン候補それぞれについて、前記配置パターン候補に従ってデータを配置した場合に前記ディスクノードそれぞれに配置されるデータの同一の時間帯の前記無アクセス確率を互いに乗算して前記ノード無アクセス確率を時間帯ごとに算出し、前記ディスクノードそれぞれについて、時間帯ごとの前記ノード無アクセス確率の和に応じた値を、ノードにアクセスがない時間の期待値を示すノード別期待値とし、前記ディスクノードごとの前記ノード別期待値の和を無アクセス時間期待値とする期待値計算手段、
前記配置パターン候補生成手段で生成された複数の前記配置パターン候補のうち、前記期待値計算手段で計算された前記無アクセス時間期待値が最も大きくなる前記配置パターン候補を、データ再配置のための配置パターンに決定する配置パターン決定手段、
前記ディスクノードに対して、前記配置パターン決定手段で決定された前記配置パターンに従ったデータの再配置を指示するデータ再配置指示手段、
として機能させることを特徴とするデータ配置制御プログラム。
【請求項３】
コンピュータに一定時間アクセスがなければ省電力モードに移行する複数のディスクノードに対してデータを分散格納する際のデータ配置を管理させるデータ配置制御プログラムにおいて、
前記コンピュータを、
前記ディスクノードが管理するデータそれぞれに対して所定の時間帯内に行われたアクセス数を示すアクセス統計情報が格納されたアクセス統計情報記憶手段から、前記アクセス統計情報を収集するアクセス統計情報収集手段、
前記アクセス統計情報を参照し、前記所定の時間帯内のアクセス数が少ないデータほど大きくなる値を、各データのデータ無アクセス確率とする無アクセス確率計算手段、
前記ディスクノードそれぞれに設けられたデータの格納領域から、異なる前記ディスクノードの属する２つの前記格納領域の組を、所定回数だけ繰り返し選択し、前記格納領域の組を選択するごとに、現在の配置パターンを基準として、選択した２つの前記格納領域に格納するデータを相互に入れ替えた前記配置パターン候補を生成する配置パターン候補生成手段、
前記配置パターン候補生成手段によって生成された前記配置パターン候補それぞれについて、前記配置パターン候補に従ってデータを配置した場合に前記ディスクノードそれぞれに配置されるデータの前記データ無アクセス確率を集計して、前記ディスクノードそれぞれにアクセスがない確率を示すノード無アクセス確率を算出し、前記ディスクノードそれぞれの前記ノード無アクセス確率を集計して、いずれかの前記ディスクノードに対して発生するアクセスがない時間の期待値を示す無アクセス時間期待値を算出する期待値計算手段、
前記現在の配置パターンおよび前記配置パターン候補生成手段で生成された複数の前記配置パターン候補のうち、前記期待値計算手段で計算された前記無アクセス時間期待値が最も大きくなる前記現在の配置パターンまたは前記配置パターン候補を、データ再配置のための配置パターンに決定する配置パターン決定手段、
前記ディスクノードに対して、前記配置パターン決定手段で決定された前記配置パターンに従ったデータの再配置を指示するデータ再配置指示手段、
として機能させることを特徴とするデータ配置制御プログラム。
【請求項４】
一定時間アクセスがなければ省電力モードに移行する複数のディスクノードに対してデータを分散格納する際のデータ配置を管理するデータ配置制御装置において、
前記ディスクノードが管理するデータそれぞれに対して所定の時間帯内に行われたアクセス数を示すアクセス統計情報が格納されたアクセス統計情報記憶手段から、前記アクセス統計情報を収集するアクセス統計情報収集手段と、
前記アクセス統計情報を参照し、前記所定の時間帯内のアクセス数に負の数を乗算した値を乗数としたべき乗の値を、各データのデータ無アクセス確率とする無アクセス確率計算手段と、
データの格納先となる前記ディスクノードを示す配置パターン候補を複数生成する配置パターン候補生成手段と、
前記配置パターン候補生成手段によって生成された前記配置パターン候補それぞれについて、前記配置パターン候補に従ってデータを配置した場合に前記ディスクノードそれぞれに配置されるデータの前記データ無アクセス確率を集計して、前記ディスクノードそれぞれにアクセスがない確率を示すノード無アクセス確率を算出し、前記ディスクノードそれぞれの前記ノード無アクセス確率を集計して、いずれかの前記ディスクノードに対して発生するアクセスがない時間の期待値を示す無アクセス時間期待値を算出する期待値計算手段と、
前記配置パターン候補生成手段で生成された複数の前記配置パターン候補のうち、前記期待値計算手段で計算された前記無アクセス時間期待値が最も大きくなる前記配置パターン候補を、データ再配置のための配置パターンに決定する配置パターン決定手段と、
前記ディスクノードに対して、前記配置パターン決定手段で決定された前記配置パターンに従ったデータの再配置を指示するデータ再配置指示手段と、
を有することを特徴とするデータ配置制御装置。
【請求項５】
一定時間アクセスがなければ省電力モードに移行する複数のディスクノードに対してデータを分散格納する際のデータ配置を管理するデータ配置制御装置において、
一日を複数の時間帯に分割したときの時間帯ごとの、前記ディスクノードが管理するデータそれぞれに対するアクセス数を示すアクセス統計情報が格納されたアクセス統計情報記憶手段から、時間帯ごとの前記アクセス数を示す前記アクセス統計情報を収集するアクセス統計情報収集手段と、
前記アクセス統計情報を参照し、時間帯内のアクセス数が少ないデータほど大きくなる値を、各データのデータ無アクセス確率とし、各データの前記無アクセス確率を時間帯ごとに算出する無アクセス確率計算手段と、
データの格納先となる前記ディスクノードを示す配置パターン候補を複数生成する配置パターン候補生成手段と、
前記配置パターン候補生成手段によって生成された前記配置パターン候補それぞれについて、前記配置パターン候補に従ってデータを配置した場合に前記ディスクノードそれぞれに配置されるデータの同一の時間帯の前記無アクセス確率を互いに乗算して前記ノード無アクセス確率を時間帯ごとに算出し、前記ディスクノードそれぞれについて、時間帯ごとの前記ノード無アクセス確率の和に応じた値を、ノードにアクセスがない時間の期待値を示すノード別期待値とし、前記ディスクノードごとの前記ノード別期待値の和を無アクセス時間期待値とする期待値計算手段と、
前記配置パターン候補生成手段で生成された複数の前記配置パターン候補のうち、前記期待値計算手段で計算された前記無アクセス時間期待値が最も大きくなる前記配置パターン候補を、データ再配置のための配置パターンに決定する配置パターン決定手段と、
前記ディスクノードに対して、前記配置パターン決定手段で決定された前記配置パターンに従ったデータの再配置を指示するデータ再配置指示手段と、
を有することを特徴とするデータ配置制御装置。
【請求項６】
一定時間アクセスがなければ省電力モードに移行する複数のディスクノードに対してデータを分散格納する際のデータ配置をコンピュータで管理するためのデータ配置制御方法において、
コンピュータが、
前記ディスクノードが管理するデータそれぞれに対して所定の時間帯内に行われたアクセス数を示すアクセス統計情報が格納されたアクセス統計情報記憶手段から、前記アクセス統計情報を収集し、
前記アクセス統計情報を参照し、前記所定の時間帯内のアクセス数に負の数を乗算した値を乗数としたべき乗の値を、各データのデータ無アクセス確率とし、
データの格納先となる前記ディスクノードを示す配置パターン候補を複数生成し、
生成された前記配置パターン候補それぞれについて、前記配置パターン候補に従ってデータを配置した場合に前記ディスクノードそれぞれに配置されるデータの前記データ無アクセス確率を集計して、前記ディスクノードそれぞれにアクセスがない確率を示すノード無アクセス確率を算出し、前記ディスクノードそれぞれの前記ノード無アクセス確率を集計して、いずれかの前記ディスクノードに対して発生するアクセスがない時間の期待値を示す無アクセス時間期待値を算出し、
生成された複数の前記配置パターン候補のうち前記無アクセス時間期待値が最も大きくなる前記配置パターン候補を、データ再配置のための配置パターンに決定し、
前記ディスクノードに対して、決定された前記配置パターンに従ったデータの再配置を指示する、
ことを特徴とするデータ配置制御方法。
【請求項７】
一定時間アクセスがなければ省電力モードに移行する複数のディスクノードに対してデータを分散格納する際のデータ配置をコンピュータで管理するためのデータ配置制御方法において、
コンピュータが、
一日を複数の時間帯に分割したときの時間帯ごとの、前記ディスクノードが管理するデータそれぞれに対するアクセス数を示すアクセス統計情報が格納されたアクセス統計情報記憶手段から、時間帯ごとの前記アクセス数を示す前記アクセス統計情報を収集し、
前記アクセス統計情報を参照し、時間帯内のアクセス数が少ないデータほど大きくなる値を各データのデータ無アクセス確率とし、各データの前記無アクセス確率を時間帯ごとに算出し、
データの格納先となる前記ディスクノードを示す配置パターン候補を複数生成し、
生成された前記配置パターン候補それぞれについて、前記配置パターン候補に従ってデータを配置した場合に前記ディスクノードそれぞれに配置されるデータの同一の時間帯の前記無アクセス確率を互いに乗算して前記ノード無アクセス確率を時間帯ごとに算出し、前記ディスクノードそれぞれについて、時間帯ごとの前記ノード無アクセス確率の和に応じた値を、ノードにアクセスがない時間の期待値を示すノード別期待値とし、前記ディスクノードごとの前記ノード別期待値の和を無アクセス時間期待値とし、
生成された複数の前記配置パターン候補のうち、前記期待値計算手段で計算された前記無アクセス時間期待値が最も大きくなる前記配置パターン候補を、データ再配置のための配置パターンに決定し、
前記ディスクノードに対して、決定された前記配置パターンに従ったデータの再配置を指示する、
ことを特徴とするデータ配置制御方法。
【請求項８】
データをネットワーク上で分散管理するマルチノードストレージシステムにおいて、
複数のディスクノードと制御ノードとを有し、
前記複数のディスクノードは、それぞれ、
二重化されたデータの一方を格納するストレージ装置と、
前記ストレージ装置に格納されたデータの属性が、優先的にアクセス対象となるデータであることを示すプライマリか、プライマリのデータにアクセスできないときに使用されるセカンダリかを管理するデータ管理情報を記憶するデータ管理情報記憶手段と、
前記ストレージ装置に格納されたデータに対して所定の時間帯内に行われたアクセス数を示すアクセス統計情報が格納されたアクセス統計情報記憶手段と、
前記所定の時間帯内に前記ストレージ装置に格納されたデータに対してアクセスがあるごとに前記アクセス統計情報を更新するアクセス統計情報更新手段と、
データの再配置の指示を受けた場合、指示に従って前記ストレージ装置に格納されたデータの転送を行うデータ再配置手段と、
前記ストレージ装置に格納したデータへのアクセスが一定時間ない場合、前記ストレージ装置に格納されているプライマリのデータの属性をセカンダリに変更させた後、少なくとも一部の機能を停止させる省電力モードに移行させる動作モード制御手段と、
を具備し、
前記制御ノードは、
前記複数のディスクノードそれぞれが有する前記アクセス統計情報記憶手段から、前記アクセス統計情報を収集するアクセス統計情報収集手段と、
前記アクセス統計情報を参照し、前記所定の時間帯内のアクセス数が少ないデータほど大きくなる値を、各データのデータ無アクセス確率とする無アクセス確率計算手段と、
データの格納先となる前記ディスクノードを示す配置パターン候補を複数生成する配置パターン候補生成手段と、
前記配置パターン候補生成手段によって生成された前記配置パターン候補それぞれについて、前記配置パターン候補に従ってデータを配置した場合に前記ディスクノードそれぞれに配置されるデータの前記データ無アクセス確率を集計して、前記ディスクノードそれぞれにアクセスがない確率を示すノード無アクセス確率を算出し、前記ディスクノードそれぞれの前記ノード無アクセス確率を集計して、いずれかの前記ディスクノードに対して発生するアクセスがない時間の期待値を示す無アクセス時間期待値を算出する期待値計算手段と、
前記配置パターン候補生成手段で生成された複数の前記配置パターン候補のうち、前記期待値計算手段で計算された前記無アクセス時間期待値が最も大きくなる前記配置パターン候補を、データ再配置のための配置パターンに決定する配置パターン決定手段と、
前記ディスクノードに対して、前記配置パターン決定手段で決定された前記配置パターンに従ったデータの再配置を指示するデータ再配置指示手段と、
を具備することを特徴とするマルチノードストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ配置制御プログラム、データ配置制御装置、データ配置制御方法、およびマルチノードストレージシステムに関し、特に複数のディスクノードに分散配置するデータのデータ配置を制御するデータ配置制御プログラム、データ配置制御装置、データ配置制御方法、およびマルチノードストレージシステムに関する。
【背景技術】
【０００２】
近年、コンピュータが高速および高機能化している。また、コンピュータシステムを用いた業務の多様化に伴い、コンピュータシステム全体の規模が大規模化している。大規模なコンピュータシステムでは、複数のストレージ装置に対してデータが分散して配置される。このような分散ストレージシステムでは、ストレージ装置は論理ボリュームに対応付けられる。ストレージ装置に対するデータアクセスを行う場合、アクセスを行うノードからは論理ボリュームにおけるデータの位置が指定される。すると、ストレージ装置を管理しているノードにより、そのデータの論理ボリューム上での位置に対応するストレージ装置内のデータが判断され、該当データへのアクセスが行われる。
【０００３】
このような分散ストレージシステムでは、データをどのようにストレージ装置に配置するかが、コンピュータシステム全体の各種性能に影響を及ぼす。例えば、特定のストレージ装置に対してアクセスが集中してしまうと、データアクセスの遅延等が発生する。そこで、効率の良いデータアクセスを行うために、各ノードのリソース量や負荷に基づいて、適当なデータ配置となるように論理ボリュームを移動する技術がある（例えば、特許文献１参照）。このような技術を用いれば、大規模な分散ストレージシステムにおいて、処理効率の良い複数のストレージ装置へデータ配置が可能となる。
【０００４】
ところで、分散ストレージシステムの大規模化は、システムの処理能力を向上させることができる一方で、電力消費量の増大を招いてしまう。ここで、コンピュータにおける省電力化の機能としては、一定時間ストレージにアクセスがないときに省電力モードに移行させる技術がある（例えば、特許文献２参照）。このような省電力モードによって磁気ディスクの電源をオフにすれば、消費電力を抑えることができる。
【特許文献１】特開２００３−２９６０３９号公報
【特許文献２】特開２０００−２９３３１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、従来の性能向上のためのデータ再配置は、データ処理性能の向上が目的であり、消費電力の低減といった環境性能の向上は考えられていなかった。そのため、システム全体での電力消費量を抑えることができなかった。
【０００６】
なお、特許文献２の技術を用いれば、ストレージ単体での電力消費量を低減させることができる。ところが、分散ストレージシステムでは、データアクセスの高速化および信頼性の向上のため、一連のデータを分散して配置することが多い。この場合、複数のストレージ装置にほぼ均等にデータアクセスが発生する。すると、このようなコンピュータシステムにおける各ストレージ装置に対して特許文献２の技術をそのまま採用したとしても、電源をオフできる時間帯が生じ難く、効果的な電力消費量の削減は期待できない。
【０００７】
本発明はこのような点に鑑みてなされたものであり、消費電力の低減に適したデータ配置を行うことができるデータ配置制御プログラム、データ配置制御装置、データ配置制御方法、およびマルチノードストレージシステムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明では上記課題を解決するために、一定時間アクセスがなければ省電力モードに移行する複数のディスクノードに対してデータを分散格納する際のデータ配置を管理するデータ配置制御装置が提供される。
【０００９】
データ配置制御装置は、前記ディスクノードが管理するデータそれぞれに対して所定の時間帯内に行われたアクセス数を示すアクセス統計情報が格納されたアクセス統計情報記憶手段から、前記アクセス統計情報を収集するアクセス統計情報収集手段と、前記アクセス統計情報を参照し、前記所定の時間帯内のアクセス数が少ないデータほど大きくなる値を、各データのデータ無アクセス確率とする無アクセス確率計算手段と、データの格納先となる前記ディスクノードを示す配置パターン候補を複数生成する配置パターン候補生成手段と、前記配置パターン候補生成手段によって生成された前記配置パターン候補それぞれについて、前記配置パターン候補に従ってデータを配置した場合に前記ディスクノードそれぞれに配置されるデータの前記データ無アクセス確率を集計して、前記ディスクノードそれぞれにアクセスがない確率を示すノード無アクセス確率を算出し、前記ディスクノードそれぞれの前記ノード無アクセス確率を集計して、いずれかの前記ディスクノードに対して発生するアクセスがない時間の期待値を示す無アクセス時間期待値を算出する期待値計算手段と、前記配置パターン候補生成手段で生成された複数の前記配置パターン候補のうち、前記期待値計算手段で計算された前記無アクセス時間期待値が最も大きくなる前記配置パターン候補を、データ再配置のための配置パターンに決定する配置パターン決定手段と、前記ディスクノードに対して、前記配置パターン決定手段で決定された前記配置パターンに従ったデータの再配置を指示するデータ再配置指示手段とを有する。
【００１０】
このようなデータ配置制御装置によれば、ディスクノードからアクセス統計情報が収集され、所定の時間帯内のアクセス数が少ないデータほど大きくなる値が、各データのデータ無アクセス確率とされる。次に、データの格納先となるディスクノードを示す配置パターン候補が複数生成される。さらに、生成された配置パターン候補それぞれについて、ディスクノードそれぞれにアクセスがない確率を示すノード無アクセス確率が算出され、いずれかのディスクノードに対して発生するアクセスがない時間の期待値を示す無アクセス時間期待値が算出される。そして、無アクセス時間期待値が最も大きくなる配置パターン候補がデータ再配置のための配置パターンに決定され、ディスクノードに対して、決定された配置パターンに従ったデータの再配置が指示される。
【００１１】
また、本発明では、コンピュータを上記データ配置制御装置と同様に機能させるためのデータ配置制御プログラム、上記データ制御装置と同様の処理をコンピュータで行うためのデータ配置制御方法、および上記データ制御装置の機能を具備する制御ノードと複数のディスクノードとを有するマルチノードストレージシステムが提供される。
【発明の効果】
【００１２】
本発明では、無アクセス時間期待値が高くなるようにデータが複数のディスクノードに分散配置され、ディスクノードが省電力モードである時間の長期化が図れる。その結果、システムの省電力化が可能となる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態を図面を参照して説明する。
図１は、実施の形態の概要を示す図である。本実施の形態では、マルチノードストレージシステムの省電力化が図られる。
【００１４】
なお、マルチノードストレージシステムは、複数のストレージ装置を有する分散ストレージシステムの一種である。分散ストレージシステムとしては、１つのノードに接続された複数のストレージ装置にデータを分散させるシステムと、ネットワークを介して接続された複数のノードそれぞれが有するストレージ装置にデータを分散させるシステム（マルチノードストレージシステム）とが考えられる。マルチノードストレージシステムでは、ディスクノード単位でシステムの増強が可能となり、システム構成の変更が容易である。ただし、マルチノードストレージシステムでは、ネットワークを介した複数のノード（コンピュータ）を用いて運用されるため、消費電力の増大を招いてしまう。そこで、システム全体としての省電力化が特に必要となっている。
【００１５】
図１に示すマルチノードストレージシステムは、制御ノード１と複数のディスクノード２，３，・・・とで構成される。ディスクノード２，３，・・・には、それぞれストレージ装置２ａ，３ａ，・・・が接続されている。ディスクノード２は、アクセス統計情報記憶手段２ｂ、アクセス統計情報更新手段２ｃ、データ再配置手段２ｄ、および動作モード制御手段２ｅを有している。
【００１６】
アクセス統計情報記憶手段２ｂは、ストレージ装置２ａに格納されたデータそれぞれに対して所定の時間帯内に行われたアクセス数を示すアクセス統計情報が格納さている。アクセス統計情報更新手段２ｃは、所定の時間帯内にストレージ装置２ａに格納されたデータに対してアクセスがあるごとにアクセス統計情報を更新する。データ再配置手段２ｄは、データの再配置の指示を受けた場合、指示に従ってストレージ装置２ａに格納されたデータの転送を行う。
【００１７】
動作モード制御手段２ｅは、ストレージ装置２ａに格納したデータへのアクセスが一定時間ない場合、少なくとも一部の機能を停止させる省電力モードに移行させる。例えば、動作モード制御手段２ｅは、ストレージ装置２ａに格納したデータへのアクセスが一定時間ない場合、ストレージ装置２ａ内のディスクの回転を停止させる。また、動作モード制御手段２ｅは、ストレージ装置２ａに格納したデータへのアクセスが一定時間ない場合、ディスクノード２自身のデータ処理を停止することもできる。ディスクノード２のデータ処理を停止させる機能としては、例えば、ディスクノード２のサスペンド機能（電源を切る直前の状態を保存して、次に電源を入れたときに電源を切る直前の状態から作業を再開させる機能）がある。
【００１８】
他のディスクノード３，・・・もディスクノード２と同様の機能を有している。
制御ノード１は、複数のディスクノード２，３，・・・に対してデータを分散格納する際のデータ配置を管理するために、アクセス統計情報収集手段１ａ、無アクセス確率計算手段１ｂ、配置パターン候補生成手段１ｃ、期待値計算手段１ｄ、配置パターン決定手段１ｅ、およびデータ再配置指示手段１ｆを有している。アクセス統計情報収集手段１ａは、ディスクノード２内のアクセス統計情報記憶手段２ｂからアクセス統計情報を収集する。同様に、アクセス統計情報収集手段１ａは、他のディスクノード３，・・・からもアクセス統計情報を収集する。
【００１９】
無アクセス確率計算手段１ｂは、収集したアクセス統計情報を参照し、所定の時間帯内のアクセス数が少ないデータほど大きくなる値を、各データのデータ無アクセス確率とする。例えば、無アクセス確率計算手段１ｂは、所定の時間帯内のアクセス数に負の数を乗算した値を乗数としたべき乗（２のべき乗など）の値を、無アクセス確率とする。
【００２０】
配置パターン候補生成手段１ｃは、データの格納先となるディスクノードを示す配置パターン候補を複数生成する。
期待値計算手段１ｄは、配置パターン候補生成手段１ｃによって生成された配置パターン候補それぞれについて、配置パターン候補に従ってデータを配置した場合にディスクノード２，３，・・・それぞれに配置されるデータのデータ無アクセス確率を集計して、ディスクノードそれぞれにアクセスがない確率を示すノード無アクセス確率を算出する。さらに期待値計算手段１ｄは、ディスクノード２，３，・・・それぞれのノード無アクセス確率を集計して、いずれかのディスクノードに対して発生するアクセスがない時間の期待値を示す無アクセス時間期待値を算出する。例えば、期待値計算手段１ｄは、配置パターン候補に従ってデータを配置した場合にディスクノード２，３，・・・それぞれに配置されるデータのデータ無アクセス確率を互いに乗算してディスクノード２，３，・・・にアクセスがない確率とし、算出した確率に応じた値をディスクノードの無アクセス時間期待値とする。
【００２１】
配置パターン決定手段１ｅは、配置パターン候補生成手段１ｃで生成された複数の配置パターン候補のうち、期待値計算手段１ｄで計算された無アクセス時間期待値が最も大きくなる配置パターン候補を、データ再配置のための配置パターンに決定する。
【００２２】
データ再配置指示手段１ｆは、ディスクノード２，３，・・・に対して、配置パターン決定手段１ｅで決定された配置パターンに従ったデータの再配置を指示する。
このようなマルチノードストレージシステムによれば、ディスクノード２に接続されたストレージ装置２ａに格納されたデータがアクセスされるごとに、アクセス統計情報更新手段２ｃによりアクセス統計情報記憶手段２ｂ内のアクセス統計情報が更新される。そして、制御ノード１のアクセス統計情報収集手段１ａにより、ディスクノード２，３，・・・からアクセス統計情報が収集される。次に、無アクセス確率計算手段１ｂにより、所定の時間帯内のアクセス数が少ないデータほど大きくなる値が、各データのデータ無アクセス確率とされる。また、配置パターン候補生成手段１ｃにより、データの格納先となるディスクノードを示す配置パターン候補が複数生成される。
【００２３】
さらに、期待値計算手段１ｄにより、生成された配置パターン候補それぞれについて、ディスクノードそれぞれにアクセスがない確率を示すノード無アクセス確率が算出され、いずれかのディスクノードに対して発生するアクセスがない時間の期待値を示す無アクセス時間期待値が算出される。そして、配置パターン決定手段１ｅにより、無アクセス時間期待値が最も大きくなる配置パターン候補がデータ再配置のための配置パターンに決定され、ディスクノード２，３，・・・に対して、決定された配置パターンに従ったデータの再配置が指示される。ディスクノード２では、データ再配置手段２ｄが、データの再配置の指示に従ってストレージ装置２ａに格納されたデータの転送を行う。このデータの再配置は、複数のディスクノード２，３，・・・が協働して実行される。
【００２４】
また、各ディスクノード２，３，・・・の動作モード制御手段２ｅは、ストレージ装置２ａに格納したデータへのアクセスが一定時間ない場合、少なくとも一部の機能を停止させる省電力モードに移行させる。
【００２５】
このようにして、いずれかのディスクノード２，３，・・・に対してアクセスのない時間が長期化するようにデータの再配置を行うことができる。その結果、ディスクノード２，３，・・・が省電力モードの状態となる時間が長期化し、システム全体として消費電力を減らすことができる。
【００２６】
ところで、マルチノードストレージシステムでは、データを二重化させ、プライマリとセカンダリとの属性を与えることができる。プライマリのデータは、優先的にアクセス対象となるデータである。セカンダリのデータは、プライマリのデータにアクセスできないときに使用されるデータである。このようにデータを二重化させた場合、省電力モードに状態が変更されるディスクノードが管理するデータをすべてセカンダリのデータとすることで、そのディスクノードに対してアクセスが発生する可能性をさらに低下させることができる。すなわち、省電力モードを長時間維持できるようになり、消費電力の削減効果を高めることができる。そこで、二重化されたデータを取り扱うマルチノードストレージシステムの例を用いて、本発明の実施の形態について具体的に説明する。
【００２７】
図２は、本実施の形態のマルチノードストレージシステム構成例を示す図である。本実施の形態では、ネットワーク１０を介して、複数のディスクノード１００，２００，３００，４００、制御ノード５００、およびアクセスノード６００が接続されている。ディスクノード１００，２００，３００，４００それぞれには、ストレージ装置１１０，２１０，３１０，４１０が接続されている。
【００２８】
ストレージ装置１１０には、複数のハードディスク装置（ＨＤＤ）１１１，１１２，１１３，１１４が実装されている。ストレージ装置２１０には、複数のＨＤＤ２１１，２１２，２１３，２１４が実装されている。ストレージ装置３１０には、複数のＨＤＤ３１１，３１２，３１３，３１４が実装されている。ストレージ装置４１０には、複数のＨＤＤ４１１，４１２，４１３，４１４が実装されている。各ストレージ装置１１０，２１０，３１０，４１０は、内蔵するＨＤＤを用いたＲＡＩＤ（Redundant Arrays of Inexpensive Disks）システムである。本実施の形態では、各ストレージ装置１１０，２１０，３１０，４１０は、ＲＡＩＤ５のディスク管理サービスを提供する。
【００２９】
ディスクノード１００，２００，３００，４００は、例えば、ＩＡ（Intel Architecture）と呼ばれるアーキテクチャのコンピュータである。ディスクノード１００，２００，３００，４００は、接続されたストレージ装置１１０，２１０，３１０，４１０に格納されたデータを管理し、管理しているデータをネットワーク１０経由で端末装置２１〜２３に提供する。また、ディスクノード１００，２００，３００，４００は、冗長性を有するデータを管理している。すなわち、同一のデータが、少なくとも２つのディスクノードで管理されている。
【００３０】
制御ノード５００は、ディスクノード１００，２００，３００，４００を管理する。例えば、制御ノード５００は、所定のタイミングで省電力化に適したデータ配置を決定し、ディスクノード１００，２００，３００，４００に対してデータの再配置を指示する。
【００３１】
アクセスノード６００には、ネットワーク２０を介して複数の端末装置２１〜２３が接続されている。アクセスノード６００は、ディスクノード１００，２００，３００，４００それぞれが管理しているデータの格納場所を認識しており、端末装置２１〜２３からの要求に応答して、ディスクノード１００，２００，３００，４００へデータアクセスを行う。
【００３２】
図３は、本実施の形態に用いるディスクノードのハードウェア構成例を示す図である。ディスクノード１００は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０７を介してＲＡＭ（Random Access Memory）１０２、ＨＤＤインタフェース１０３、グラフィック処理装置１０４、入力インタフェース１０５、および通信インタフェース１０６が接続されている。
【００３３】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。
【００３４】
ＨＤＤインタフェース１０３には、ストレージ装置１１０が接続されている。ＨＤＤインタフェース１０３は、ストレージ装置１１０に内蔵されたＲＡＩＤコントローラ１１５と通信し、ストレージ装置１１０に対するデータの入出力を行う。ストレージ装置１１０内のＲＡＩＤコントローラ１１５は、ＲＡＩＤ０〜５の機能を有し、複数のＨＤＤ１１１〜１１４をまとめて１台のハードディスクとして管理する。
【００３５】
グラフィック処理装置１０４には、モニタ１１が接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、画像をモニタ１１の画面に表示させる。入力インタフェース１０５には、キーボード１２とマウス１３とが接続されている。入力インタフェース１０５は、キーボード１２やマウス１３から送られてくる信号を、バス１０７を介してＣＰＵ１０１に送信する。
【００３６】
通信インタフェース１０６は、ネットワーク１０に接続されている。通信インタフェース１０６は、ネットワーク１０を介して、他のコンピュータとの間でデータの送受信を行う。なお、通信インタフェース１０６は、ＷａｋｅＯｎＬＡＮ機能と呼ばれる機能を搭載している。ＷａｋｅＯｎＬＡＮ機能は、ＣＰＵ１０１の動作が停止した状態でもネットワーク１０経由でシステムの起動要求を示す信号を受け付けることができる。そして、その信号を受け取ると、通信インタフェース１０６は、ＷａｋｅＯｎＬＡＮ機能によってシステムを起動させることができる。
【００３７】
図４は、本実施の形態に用いる制御ノードのハードウェア構成例を示す図である。制御ノード５００は、ＣＰＵ５０１によって装置全体が制御されている。ＣＰＵ５０１には、バス５０７を介してＲＡＭ５０２、ＨＤＤ５０３、グラフィック処理装置５０４、入力インタフェース５０５、および通信インタフェース５０６が接続されている。
【００３８】
ＲＡＭ５０２には、ＣＰＵ５０１に実行させるＯＳのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ５０２には、ＣＰＵ５０１による処理に必要な各種データが格納される。ＨＤＤ５０３には、ＯＳやアプリケーションプログラムが格納される。
【００３９】
グラフィック処理装置５０４には、モニタ３１が接続されている。グラフィック処理装置５０４は、ＣＰＵ５０１からの命令に従って、画像をモニタ３１の画面に表示させる。入力インタフェース５０５には、キーボード３２とマウス３３とが接続されている。入力インタフェース５０５は、キーボード３２やマウス３３から送られてくる信号を、バス５０７を介してＣＰＵ５０１に送信する。
【００４０】
通信インタフェース５０６は、ネットワーク１０に接続されている。通信インタフェース５０６は、ネットワーク１０を介して、他のコンピュータとの間でデータの送受信を行う。
【００４１】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図３には、ディスクノード１００とストレージ装置１１０との構成のみを示したが、他のディスクノード２００，３００，４００や他のストレージ装置２１０，３１０，４１０も同様のハードウェア構成で実現できる。さらに、アクセスノード６００、および端末装置２１〜２３も、図４に示した制御ノード５００と同様のハードウェア構成で実現できる。
【００４２】
図２に示すように、複数のディスクノード１００，２００，３００，４００がネットワーク１０に接続され、それぞれのディスクノード１００，２００，３００，４００は他のディスクノードとの間で通信を行う。このマルチノードストレージシステムは、端末装置２１〜２３に対して、仮想的なボリューム（以下、論理ボリュームと呼ぶ）として機能する。
【００４３】
図５は、論理ボリュームのデータ構造を示す図である。論理ボリューム７００には、「ＬＶＯＬ−Ａ」という識別子（論理ボリューム識別子）が付与されている。また、ネットワーク経由で接続された４台のディスクノード１００，２００，３００，４００には、個々のディスクノードの識別のためにそれぞれ「ＳＮ−Ａ」、「ＳＮ−Ｂ」、「ＳＮ−Ｃ」、「ＳＮ−Ｄ」というノード識別子が付与されている。
【００４４】
各ディスクノード１００，２００，３００，４００が有するストレージ装置１１０，２１０，３１０，４１０それぞれにおいてＲＡＩＤ５の論理ディスクが構成されている。この論理ディスクは５つのスライスに分割され個々のディスクノード内で管理されている。
【００４５】
図５の例では、ストレージ装置１１０内の記憶領域は、５つのスライス１２１〜１２５に分けられている。ストレージ装置２１０内の記憶領域は、５つのスライス２２１〜２２５に分けられている。ストレージ装置３１０内の記憶領域は、５つのスライス３２１〜３２５に分けられている。ストレージ装置４１０内の記憶領域は、５つのスライス４２１〜４２５に分けられている。
【００４６】
なお、論理ボリューム７００は、セグメント７１０，７２０，７３０，７４０という単位で構成される。セグメント７１０，７２０，７３０，７４０の記憶容量は、ストレージ装置１１０，２１０，３１０，４１０における管理単位であるスライスの記憶容量と同じである。例えば、スライスの記憶容量が１ギガバイトとするとセグメントの記憶容量も１ギガバイトである。論理ボリューム７００の記憶容量はセグメント１つ当たりの記憶容量の整数倍である。例えば、セグメントの記憶容量が１ギガバイトならば、論理ボリューム７００の記憶容量は４ギガバイトといったものになる。
【００４７】
セグメント７１０，７２０，７３０，７４０は、それぞれプライマリスライス７１１，７２１，７３１，７４１とセカンダリスライス７１２，７２２，７３２，７４２との組から構成される。同じセグメントに属するスライスは別々のディスクノードに属する。各スライスは、スライス管理情報によって管理される。スライス管理情報には、論理ボリューム識別子、セグメント情報、同じセグメントを構成するスライス情報、プライマリスライスかセカンダリスライスかを示すフラグなどが含まれる。
【００４８】
図５の例では、スライスの属性を識別するための識別子を、「Ｐ」または「Ｓ」のアルファベットと数字との組合せで示している。「Ｐ」はプライマリスライスであることを示している。「Ｓ」はセカンダリスライスであることを示している。アルファベットに続く数字は、何番目のセグメントに属するのかを表している。例えば、１番目のセグメント７１０のプライマリスライスが「Ｐ１」で示され、セカンダリスライスが「Ｓ１」で示される。
【００４９】
このような構造の論理ボリューム７００の各プライマリスライスおよびセカンダリスライスが、ストレージ装置１１０，２１０，３１０，４１０内のいずれかのスライスに対応付けられる。例えば、セグメント７１０のプライマリスライス７１１は、ストレージ装置４１０のスライス４２４に対応付けられ、セカンダリスライス７１２は、ストレージ装置２１０のスライス２２２に対応付けられている。
【００５０】
そして、各ストレージ装置１１０，２１０，３１０，４１０では、自己のスライスに対応するプライマリスライスまたはセカンダリスライスのデータを記憶する。
図６は、マルチノードストレージシステムの各装置の機能を示すブロック図である。アクセスノード６００は、論理ボリュームアクセス制御部６１０を有している。論理ボリュームアクセス制御部６１０は、端末装置２１〜２３からの論理ボリューム７００内のデータを指定したアクセス要求に応じて、対応するデータを管理するディスクノードに対してデータアクセスを行う。具体的には、論理ボリュームアクセス制御部６１０は、論理ボリューム７００の各セグメントのプライマリスライスまたはセカンダリスライスと、ストレージ装置１１０，２１０，３１０，４１０内のスライスとの対応関係を記憶している。そして、論理ボリュームアクセス制御部６１０は、端末装置２１〜２３からセグメント内のデータアクセスの要求を受け取ると、該当するセグメントのプライマリスライスに対応するスライスを有するストレージ装置に対してデータアクセスを行う。
【００５１】
制御ノード５００は、論理ボリューム管理部５１０、スライス管理情報群記憶部５２０、およびデータ再配置制御部５３０を有している。
論理ボリューム管理部５１０は、ディスクノード１００，２００，３００，４００が有するストレージ装置１１０，２１０，３１０，４１０内のスライスを管理する。例えば、論理ボリューム管理部５１０は、システム起動時に、ディスクノード１００，２００，３００，４００に対してスライス管理情報取得要求を送信する。そして、論理ボリューム管理部５１０は、スライス管理情報取得要求に対して返信されたスライス管理情報を、スライス管理情報群記憶部５２０に格納する。
【００５２】
また、論理ボリューム管理部５１０は、データ再配置制御部５３０からデータの再配置の指示を受け取ると、指示に応じてデータの再配置を行う。具体的には、データの再配置の指示では、セグメントへのスライスの割当の変更が指示される。その指示を受け取った論理ボリューム管理部５１０は、各ディスクノード１００，２００，３００，４００に対して、スライス管理情報の更新とスライス内のデータのコピーを指示する。これにより、ディスクノード１００，２００，３００，４００では、データの再配置における再配置元のスライスから再配置先のスライスへデータがコピーされる。なお、再配置先のスライスに対して別のセグメントが割り当てられていた場合、例えば、再配置先のスライス内のデータを一旦空き領域に退避した後、コピーが行われる。ディスクノード１００，２００，３００，４００でのコピーが終了すると、論理ボリューム管理部５１０は、スライス管理情報群記憶部５２０内のスライス管理情報を更新し、その内容をアクセスノード６００に通知する。
【００５３】
さらに、論理ボリューム管理部５１０は、いずれかのディスクノードからスライスの属性変更要求を受け取ると、その属性変更要求に示されるスライスをプライマリスライスからセカンダリスライスに変更する。具体的には、属性変更要求を受け取った論理ボリューム管理部５１０は、属性変更要求に示されるスライスが割り当てられたセグメントのプライマリとセカンダリを入れ替えるように、スライス管理情報群記憶部５２０内のスライス管理情報を更新する。次に、論理ボリューム管理部５１０は、更新対象となったスライスを有する２つのディスクノードに対して、属性変更要求を送信する。この属性変更要求に応じて、ディスクノードでは、自己の有するスライス管理情報が更新される。そして、論理ボリューム管理部５１０は、スライス管理情報群記憶部５２０内のスライス管理情報の内容をアクセスノード６００に通知する。
【００５４】
スライス管理情報群記憶部５２０は、ディスクノード１００，２００，３００，４００から収集されたスライス管理情報を記憶する記憶機能である。例えば、制御ノード５００内のＲＡＭの記憶領域の一部がスライス管理情報群記憶部５２０として使用される。
【００５５】
データ再配置制御部５３０は、定期的にストレージ装置１１０，２１０，３１０，４１０へのデータの再配置（セグメントへのスライスの再割り当て）を行う。具体的には、データ再配置制御部５３０は、所定のタイミングになると、各ディスクノード１００，２００，３００，４００からアクセス統計情報を収集する。アクセス統計情報は、ディスクノード１００，２００，３００，４００それぞれが管理する各スライスに対する時間帯毎のアクセス数を示す情報である。
【００５６】
収集したデータアクセス統計情報に基づいて、適当なデータ配置を決定することができる。ここで、データの再配置は、処理効率の向上させるために行われる場合と、消費電力の省力化（環境性能の向上）を図るために行われる場合とがある。処理効率の向上のための再配置では、データ再配置制御部５３０は、各ディスクノード１００，２００，３００，４００へのアクセスが均等となるように、データを再配置する。すなわち、データ再配置制御部５３０は、時間帯毎に、ディスクノード１００，２００，３００，４００それぞれへのアクセス数が均等となるようにデータの再配置を行う。
【００５７】
消費電力の省力化のためのデータの再配置では、データ再配置制御部５３０は、収集したアクセス統計情報に基づいて、データの再配置を行ったときに各ディスクノード１００，２００，３００，４００に対して、所定の時間帯内にアクセスがない確率を計算する。そして、データ再配置制御部５３０は、データの配置パターン（セグメントへのスライスの割当パターン）のうち、所定の時間帯内にいずれかのディスクノードにアクセスが発生しない期待値が最も大きくなる配置パターンを決定する。配置パターンが決定すると、データ再配置制御部５３０は、決定した配置パターンでのデータの再配置を論理ボリューム管理部５１０に指示する。
【００５８】
ディスクノード１００は、データアクセス部１３０、データ管理部１４０、スライス管理情報記憶部１５０、および動作モード制御部１６０を有している。
データアクセス部１３０は、アクセスノード６００からの要求に応答して、ストレージ装置１１０内のデータにアクセスする。具体的には、データアクセス部１３０は、アクセスノード６００からデータのリード要求を受け取った場合、リード要求で指定されたデータをストレージ装置１１０から取得し、アクセスノード６００に送信する。また、データアクセス部１３０は、アクセスノード６００からデータのライト要求を受け取った場合、ライト要求に含まれるデータをストレージ装置１１０内に格納する。
【００５９】
データ管理部１４０は、ストレージ装置１１０内のデータを管理する。例えば、データ管理部１４０は、データアクセス部１３０によるデータアクセスを監視し、ストレージ装置１１０内のプライマリスライスに対してデータの書き込みが行われた場合、そのプライマリスライスと同じセグメントに属するセカンダリスライスを管理しているディスクノードに対して書き込まれたデータを送信する。このデータを受け取ったディスクノードのデータ管理部によって、セカンダリスライス内のデータが更新される。これにより、プライマリスライスとセカンダリスライスとの同一性が保たれる。
【００６０】
また、データ管理部１４０は、データアクセス部１３０によるデータアクセスを監視し、スライス管理情報記憶部２５０に格納されたアクセス統計情報の内容と、最終アクセス時刻の値を更新する。具体的には、データ管理部１４０は、アクセスされたスライスに対する現在の時間帯におけるアクセス数の値をカウントアップすると共に、ディスクノード１００への最終アクセス時刻を示す情報に現在の時刻を設定する。
【００６１】
さらに、データ管理部１４０は、論理ボリューム管理部５１０からのスライス管理情報取得要求に応答して、スライス管理情報記憶部１５０に記憶されたスライス管理情報を論理ボリューム管理部５１０に対して送信する。
【００６２】
スライス管理情報記憶部１５０は、スライス管理情報を記憶する記憶機能である。例えば、ＲＡＭ１０２内の記憶領域の一部がスライス管理情報記憶部１５０として使用される。なお、スライス管理情報記憶部１５０に格納されるスライス管理情報は、システム停止時にはストレージ装置１１０内に格納され、システム起動時にスライス管理情報記憶部１５０に読み込まれる。
【００６３】
また、スライス管理情報記憶部１５０には、アクセス統計情報も格納される。アクセス統計情報は、ストレージ装置１１０内の各スライスに対するアクセス数を、時間帯毎に集計したものである。
【００６４】
動作モード制御部１６０は、ストレージ装置１１０へのアクセス状況に応じたディスクノード１００およびストレージ装置１１０の省電力モードへの移行、および省電力モードからの復帰を制御する。具体的には、動作モード制御部１６０は、ストレージ装置１１０に対するアクセスが所定時間（ストレージ省電力移行時間）以上なかった場合、ストレージ装置１１０を省電力モードにする。具体的には、動作モード制御部１６０は、ストレージ省電力移行時間以上データアクセスが無いことを検出すると、自己の管理するスライスのうちプライマリスライスをセカンダリスライスに変更する属性変更要求を制御ノード５００に送信する。そして、動作モード制御部１６０は、制御ノードから属性変更指示を受け取ると、指定されたスライスを、同一セグメントのセカンダリスライスに変更する。その後、動作モード制御部１６０は、ストレージ装置１１０に対して省電力モードへのモードの切り換え指示を出力する。すると、ストレージ装置１１０は、省電力モードに切り換えられる。省電力モードとなったストレージ装置１１０では、ＨＤＤ１１１〜１１４のディスクの回転が停止（スピンダウン）する。
【００６５】
また、動作モード制御部１６０は、ストレージ装置１１０に対するアクセスが所定時間（ノード省電力移行時間）以上なかった場合、ディスクノード１００を省電力モードにする。具体的には、動作モード制御部１６０は、ノード省電力移行時間以上データアクセスが無いことを検出すると、自己の管理するスライスのうちプライマリスライスをセカンダリスライスに変更する属性変更要求を制御ノード５００に送信する。そして、動作モード制御部１６０は、制御ノードから属性変更指示を受け取ると、指定されたスライスを、同一セグメントのセカンダリスライスに変更する。その後、動作モード制御部１６０は、ディスクノード１００を省電力モードへ移行させる。省電力モードとなったディスクノード１００は、ＣＰＵ１０１の動作が停止する。
【００６６】
さらに、動作モード制御部１６０は、ディスクノード１００またはストレージ装置１１０が省電力モードの状態のときに、ストレージ装置１１０へのアクセスが行われると、省電力モードから通常の運用モードに切り換える。具体的には、ストレージ装置１１０が省電力モードであれば、動作モード制御部１６０は、ストレージ装置１１０のディスクの回転を開始させる（スピンアップ）。また、ディスクノード１００が省電力モードの場合、動作モード制御部１６０は、ディスクノード１００のデータ処理を開始させる。例えば、動作モード制御部１６０は、ディスクノード１００をサスペンド状態から復帰させる。なお、ディスクノード１００が省電力モードの場合、動作モード制御部１６０は、通信インタフェース１０６に内蔵されたＷａｋｅＯｎＬＡＮ機能によってストレージ装置１１０へのアクセスを検知できる。
【００６７】
他のディスクノード２００，３００，４００は、ディスクノード１００と同様の機能を有している。すなわち、ディスクノード２００は、データアクセス部２３０、データ管理部２４０、スライス管理情報記憶部２５０、および動作モード制御部２６０を有している。ディスクノード３００は、データアクセス部３３０、データ管理部３４０、スライス管理情報記憶部３５０、および動作モード制御部３６０を有している。ディスクノード４００は、データアクセス部４３０、データ管理部４４０、スライス管理情報記憶部４５０、および動作モード制御部４６０を有している。ディスクノード２００，３００，４００内の各要素は、ディスクノード１００内の同名の要素と同じ機能を有している。
【００６８】
なお、図１に示した制御ノード１内の各要素の機能は、基本的に図６の制御ノード５００のデータ再配置制御部５３０に含まれる。ただし、データ再配置指示手段１ｆによるデータの再配置の指示は、データ再配置制御部５３０からの指示に基づいて、論理ボリューム管理部５１０が実行する。また、図１に示したディスクノード２内のアクセス統計情報記憶手段２ｂの機能はスライス管理情報記憶部１５０，２５０，３５０，４５０に含まれ、アクセス統計情報更新手段２ｃとデータ再配置手段２ｄとの機能はデータ管理部１４０，２４０，３４０，４４０に含まれ、動作モード制御手段２ｅの機能は動作モード制御部１６０，２６０，３６０，４６０に含まれる。
【００６９】
図７は、スライス管理情報のデータ構造例を示す図である。スライス管理情報記憶部１５０には、スライス管理情報１５１、アクセス統計情報１５２、および最終アクセス時刻１５３が格納されている。スライス管理情報１５１の構成要素は、左側の要素から順に以下の通りである。
・スライス番号
・開始ブロック位置（該当スライスの先頭に当たるブロックの番号）
・ブロック数（スライス内のブロック数）
・フラグ（プライマリ／セカンダリ）
・論理ボリューム識別子
・セグメント番号
・論理ボリューム開始ブロック位置
・論理ボリューム内でのブロック数
・ペアを組むディスクノード識別子
・ペアを組むスライス番号
図７で示したスライス管理情報１５１は、図５で示した論理ボリューム７００の一部を構成している。例えば、ノード識別子「ＳＮ−Ａ」のスライス管理情報１５１におけるスライス番号「４」のスライスは「ＬＶＯＬ−Ａ」のセグメント番号「４」のプライマリスライスであり、ペアを組んでいるのは「ＳＮ−Ｄ」のセグメント番号「１」のスライスである、ということを意味する。
【００７０】
アクセス統計情報１５２には、スライス番号とアクセス回数との欄が設けられている。スライス番号の欄には、ストレージ装置１１０に設けられた各スライスのスライス番号が設定される。
【００７１】
アクセス回数の欄は、時間帯ごとの複数の欄に細分割されている。図７の例では、０時〜５時台、６時〜１１時台、１２時〜１７時台、１８時〜２３時台の欄が設けられている。ここで、０時〜５時台は、０時以後（０時丁度を含む）であり６時前（６時丁度は含まない）の時間帯を意味する。各時間帯の欄には、該当する時間帯に各スライスに対してアクセスが行われた回数（アクセス回数）が設定される。アクセス統計情報１５２は、各スライスにアクセスが行われる度に、アクセスが行われた時刻を含む時間帯のアクセス回数が更新される。
【００７２】
最終アクセス時刻１５３は、最後にストレージ装置１１０にアクセスが行われた時刻を示している。最終アクセス時刻１５３は、ストレージ装置１１０にアクセスが行われる度に更新される。
【００７３】
図７に示したスライス管理情報１５１と同様のスライス管理情報が、他のディスクノード２００，３００，４００のスライス管理情報記憶部２５０，３５０，４５０にも格納されている。そして、制御ノード５００が、システム起動時に各ディスクノード１００，２００，３００，４００からスライス管理情報を収集し、スライス管理情報群記憶部５２０に格納する。
【００７４】
図８は、スライス管理情報群記憶部のデータ構造例を示す図である。スライス管理情報群記憶部５２０には、収集したスライス管理情報１５１，２５１，３５１，４５１が格納されている。スライス管理情報１５１はディスクノード１００（ノード識別子を「ＳＮ−Ａ」とする）から取得したものである。スライス管理情報２５１はディスクノード２００（ノード識別子を「ＳＮ−Ｂ」とする）から取得したものである。スライス管理情報３５１はディスクノード３００（ノード識別子を「ＳＮ−Ｃ」とする）から取得したものである。スライス管理情報４５１はディスクノード４００（ノード識別子を「ＳＮ−Ｄ」とする）から取得したものである。
【００７５】
以上のような構成のマルチノードストレージシステムにおいて、定期的にデータの再配置が行われる。データの再配置には、処理能力を向上させるための再配置（ディスクノード１００，２００，３００，４００へのアクセスが均等となるような再配置）と、省電力化を図るための再配置（アクセス頻度が低いディスクノードの数を増やすような再配置）がある。以下、省電力化を図るためのデータ再配置処理について詳細に説明する。
【００７６】
ここで、省電力化を図るためのデータ再配置処理としては、２通りの処理が可能である。
第１のデータ再配置処理は、２つのスライスをランダムに選択して、セグメントへの割当を相互に変更することの適否を検討する。そして、スライスの選択処理を所定回数行い、その中で最も省電力化が期待できるデータ配置となるように、データを再配置する処理である。この処理は、ディスクノード数やセグメント数が膨大であり、すべてのデータ配置パターン（セグメントへのスライス割当パターン）を検証することができない場合に有効である。
【００７７】
第２のデータ再配置処理は、セグメントへ割当可能なすべてのスライス割当パターンのうち、最も省電力化が期待できるデータ配置となるように、データを再配置する処理である。この処理は、ディスクノード数やセグメント数が膨大ではなく、すべてのデータ配置パターンの検証可能な場合に有効である。
【００７８】
なお、第１のデータ再配置処理を行うのか第２のデータ再配置処理を行うのかは、管理者によって予めデータ再配置制御部５３０に設定されているものとする。管理者は、データ再配置の実行間隔、制御ノード５００が１つのスライス割当パターンの検証に要する時間などを考慮して、いずれのデータ再配置処理を実行するべきかを決定する。なお、データ再配置処理は、所定のタイミングでデータ再配置制御部５３０によって実行される。データ再配置処理の実行時刻（あるいは実行間隔）は、管理者の操作入力によって予めデータ再配置制御部５３０が管理するメモリ（ＲＡＭ５０２）に設定されている。
【００７９】
図９は、第１のデータ再配置処理の手順を示すフローチャートである。以下、図９に示す処理をステップ番号に沿って説明する。
［ステップＳ１１］データ再配置制御部５３０は、全ノードからアクセス統計を収集する。具体的には、データ再配置制御部５３０は、各ディスクノード１００，２００，３００，４００のデータ管理部１４０，２４０，３４０，４４０に対して、アクセス統計情報の取得要求を送信する。その取得要求に応じて、データ管理部１４０，２４０，３４０，４４０それぞれが、スライス管理情報記憶部１５０，２５０，３５０，４５０からアクセス統計情報を取得し、制御ノード５００に送信する。データ再配置制御部５３０は、各ディスクノード１００，２００，３００，４００から送信されたアクセス統計情報を取得する。
【００８０】
この際、データ再配置制御部５３０は、論理ボリューム管理部５１０を介して、スライス管理情報群記憶部５２０に格納されているスライス管理情報を取得する。取得したスライス管理情報により、データ再配置制御部５３０は、論理ボリューム７００に設けられたセグメント７１０，７２０，７３０，７４０と、そのセグメントに割り当てられたスライスを認識できる。
【００８１】
［ステップＳ１２］データ再配置制御部５３０は、時間帯ごとにディスクノード１００，２００，３００，４００それぞれにアクセスがない確率を計算する。具体的には、以下の計算が行われる。
【００８２】
まず、スライスごとに、そのスライスにアクセスがない確率ｐ（データ無アクセス確率）を求める。ここで、ｉ番目のスライスにアクセスがない確率をｐｉ（ｉは、自然数）とすると、各スライスのアクセスがない確率は、以下の式で求めることができる。
ｐｉ  ＝  ２−ｕ  （ｕ＝α×ｃｉ）  ・・・（１）
ここで、αは予め設定された正数である。ｃｉは、ｉ番目のスライスに対して、判断対象の時間帯内に行われたアクセス数である。この式（１）によれば、アクセス数が多くなるほどアクセスがない確率は小さくなる。このような確率ｐが、スライスごとおよび時間帯ごとに算出される。
【００８３】
［ステップＳ１３］データ再配置制御部５３０は、異なるディスクノードからスライスの組をランダムに選択する。このとき選択するスライスは、現在セグメントに割り当てられていないスライスも含まれる。
【００８４】
［ステップＳ１４］データ再配置制御部５３０は、現在のセグメントへのスライスの割当状況から、ステップＳ１３で選択したスライスの割当を相互に入れ替えた場合の配置パターン候補を生成する。具体的には、データ再配置制御部５３０は、ステップＳ１３で選択したスライスをそれぞれ「スライスａ」、「スライスｂ」としたとき、「スライスａ」が割り当てられていたセグメントに対しては「スライスｂ」を割り当て、「スライスｂ」が割り当てられていたセグメントに対しては「スライスａ」を割り当てる。スライスの入れ替えの際には、スライスの属性（プライマリスライスかセカンダリスライスか）についても、入れ替え相手のスライスの属性が引き継がれる。
【００８５】
［ステップＳ１５］データ再配置制御部５３０は、ステップＳ１４で生成された配置パターン候補において、すべてのセグメントに関して、プライマリスライスとセカンダリスライスとが別のディスクノードにあるか否かを判断する。プライマリスライスとセカンダリスライスとが別のディスクノードにある場合、処理がステップＳ１６に進められる。プライマリスライスとセカンダリスライスとが同一のディスクノードに配置されるセグメントがある場合、処理がステップＳ１９に進められる。
【００８６】
［ステップＳ１６］データ再配置制御部５３０は、配置パターン候補におけるアクセスがない時間の期待値ｔの和を計算する。そのために、データ再配置制御部５３０は、まず、各スライスのアクセスがない確率に基づいて、各ディスクノードにアクセスがない確率ｑ（ノード無アクセス確率）を、以下の式で求める。
ｑ  ＝  ｐ１×ｐ２×...        ・・・（２）
この確率ｑが時間帯ごとに算出される。ここで、ｋ番目（ｋは自然数）の時間帯におけるディスクノードにアクセスがない確率をｑkとする。このとき、該当ディスクノードにアクセスがない時間の期待値ｔは、以下の式で計算できる。
ｔ  ＝  （ｑ１＋ｑ２＋…）×β      ・・・（３）
ここでβは、予め設定された定数（正数）である。なお、βの値は、ディスクノードごとに異なる値としてもよい。例えば、通常運用時の消費電力が大きいディスクノードのβの値を他のディスクノードよりも大きくすることで、消費電力が大きいディスクノードにアクセスがない時間の影響度を高めることができる。
【００８７】
この期待値ｔは、ディスクノードごとに算出される。そこで、データ再配置制御部５３０は、ディスクノードごとの期待値ｔの和を計算する。
［ステップＳ１７］データ再配置制御部５３０は、配置パターン候補に従ったデータ配置をしたときに、アクセスがない時間の期待値の和が、現在の最良の配置パターン候補よりも大きくなるか否かを判断する。期待値の和が大きくなる場合、処理がステップＳ１８に進められる。期待値の和が大きくならなければ、処理がステップＳ１９に進められる。
【００８８】
［ステップＳ１８］データ再配置制御部５３０は、ステップＳ１３で選択したスライスの入れ替えを決定し、ステップＳ１４で生成した配置パターン候補を、最良の配置パターン候補とする。
【００８９】
［ステップＳ１９］データ再配置制御部５３０は、ステップＳ１３〜Ｓ１８の処理を、所定回数実行したか否かを判断する。なお、このときの所定回数は、予めデータ再配置制御部５３０に設定されている。所定回数実行した場合、処理がステップＳ２０に進められる。実行回数が所定回数まで達していない場合、処理がステップＳ１３に進められる。
【００９０】
［ステップＳ２０］データ再配置制御部５３０は、現在の最良の配置パターン候補の採用を決定し、その配置パターン候補に従ったデータの入れ替えを各ディスクノード１００，２００，３００，４００に指示する。その後、処理が終了する。
【００９１】
このようにして、時間帯ごとに計算したアクセスがない時間の期待値を、すべての時間帯について合算した値（期待値の和）が大きくなるように、データの再配置を行うことができる。なお、データの再配置には、セグメントに対して割り当てるスライスの変更処理、および変更内容に従ったスライス内のデータの移動処理が含まれる。
【００９２】
次に第２のデータ再配置処理について説明する。
図１０は、第２のデータ再配置処理の手順を示すフローチャートである。以下、図１０に示す処理をステップ番号に沿って説明する。
【００９３】
［ステップＳ３１］データ再配置制御部５３０は、全ノードからアクセス統計を収集する。この処理の詳細は、図９のステップＳ１１と同様である。
［ステップＳ３２］データ再配置制御部５３０は、時間帯ごとにディスクノード１００，２００，３００，４００それぞれにアクセスがない確率を計算する。この処理の詳細は、図９のステップＳ１２と同様である。
【００９４】
［ステップＳ３３］データ再配置制御部５３０は、異なる２つのディスクノードから１つずつ選択することで生成可能なスライスの組を、すべて列挙する。
［ステップＳ３４］データ再配置制御部５３０は、ステップＳ３３で列挙したスライスの組のうち、未選択の組を１つ選択する。
【００９５】
［ステップＳ３５］データ再配置制御部５３０は、現在のセグメントへのスライスの割当状況から、ステップＳ３４で選択したスライスを相互に入れ替えた場合の配置パターン候補を生成する。この処理の詳細は、図９のステップＳ１４と同様である。
【００９６】
［ステップＳ３６］データ再配置制御部５３０は、ステップＳ３５で生成された配置パターン候補において、全てのセグメントに関して、プライマリスライスとセカンダリスライスとが別のディスクノードにあるか否かを判断する。プライマリスライスとセカンダリスライスとが別のディスクノードにある場合、処理がステップＳ３７に進められる。プライマリスライスとセカンダリスライスとが同一のディスクノードにされるセグメントがある場合、処理がステップＳ４０に進められる。
【００９７】
［ステップＳ３７］データ再配置制御部５３０は、配置パターン候補におけるアクセスがない時間の期待値ｔの和を計算する。この処理の詳細は、図９のステップＳ３６と同様である。
【００９８】
［ステップＳ３８］データ再配置制御部５３０は、配置パターン候補に従ったデータ配置をしたときに、アクセスがない時間の期待値の和が、現在の最良の配置パターン候補よりも大きくなるか否かを判断する。期待値の和が大きくなる場合、処理がステップＳ３９に進められる。期待値の和が大きくならなければ、処理がステップＳ４０に進められる。
【００９９】
［ステップＳ３９］データ再配置制御部５３０は、ステップＳ３４で選択したスライスの入れ替えを決定し、ステップＳ３５で生成した配置パターン候補を、最良の配置パターン候補とする。
【０１００】
［ステップＳ４０］データ再配置制御部５３０は、ステップＳ３４においてステップＳ３３で列挙したすべての組を選択したか否かを判断する。すべての組を選択した場合、処理がステップＳ４１に進められる。未選択の組がある場合、処理がステップＳ３４に進められる。
【０１０１】
［ステップＳ４１］データ再配置制御部５３０は、現在の最良の配置パターン候補の採用を決定し、その配置パターン候補に従ったデータの入れ替えを各ディスクノード１００，２００，３００，４００に指示する。その後、処理が終了する。
【０１０２】
このようにして、時間帯ごとに計算したアクセスがない時間の期待値を、すべての時間帯について合算した値（期待値の和）が大きくなるように、データの再配置を行うことができる。
【０１０３】
次に、各ディスクノード１００，２００，３００，４００における省電力モードへの移行処理について説明する。なお、省電力モードへの移行処理には、ＨＤＤを省電力モードへ移行させる処理と、ディスクノード自身を省電力モードへ移行させる処理とがある。以下に、ディスクノード１００を省電力モードへ移行させる場合を例に採り、省電力モードへの移行処理を詳細に説明する。
【０１０４】
図１１は、ＨＤＤの省電力モードへの移行処理の手順を示す図である。以下、図１１に示す処理をステップ番号に沿って説明する。なお、この処理は、ディスクノード１００，２００，３００，４００の運用中は継続して実行される。
【０１０５】
［ステップＳ５１］動作モード制御部１６０は、選択したＨＤＤのディスクが回転しているか否かを判断する。ディスクが回転している場合、処理がステップＳ５２に進められる。ディスクが回転していなければ、ステップＳ５１の処理が繰り返される。なお、選択したＨＤＤのディスクが回転していない場合とは、そのＨＤＤが省電力モードになっているときである。
【０１０６】
本実施の形態では、複数のＨＤＤ１１１〜１１４は、ＲＡＩＤ５によって実質的に１つのＨＤＤとして動作している。すなわち、ストレージ装置１１０にアクセスが発生すれば、各ＨＤＤ１１１〜１１４に分散して格納されたデータに対するアクセスが行われる。そのため、省電力モードへの移行も４台のＨＤＤ１１１〜１１４で同時に行われる。従って、ディスクが回転しているか否かは、動作モード制御部１６０がストレージ装置に対して動作状態の通知を指示する命令を送信し、ストレージ装置からの応答によって判断する。
【０１０７】
［ステップＳ５２］動作モード制御部１６０は、ディスクノード１００に対してアクセスがないまま一定時間（ディスク省電力モード移行時間）経過したか否かを判断する。具体的には、動作モード制御部１６０は、スライス管理情報記憶部１５０内の最終アクセス時刻１５３を参照し、その時刻から現在の時刻までの経過時間を計算する。次に、動作モード制御部１６０は、予め設定されているディスク省電力モード移行時間と、最後のアクセスからの経過時間を比較する。経過時間がディスク省電力モード移行時間以上であれば、動作モード制御部１６０は、一定時間経過したと判断する。経過時間がディスク省電力モード移行時間未満であれば、動作モード制御部１６０は、一定時間経過していないと判断する。
【０１０８】
［ステップＳ５３］動作モード制御部１６０は、ディスクノード１００自身が管理するプライマリスライスをセカンダリスライスに変更するように、制御ノード５００に要求する。具体的には、動作モード制御部１６０は、スライス管理情報記憶部１５０内のスライス管理情報１５１を参照する。そして、動作モード制御部１６０は、そのスライスのスライス番号を取得する。例えば、図７に示されたスライス管理情報１５１であれば、スライス番号「４」のスライスが、プライマリスライスであることが分かる。
【０１０９】
プライマリスライスのスライス番号を取得した動作モード制御部１６０は、取得したスライス番号を指定して、該当するスライスのセカンダリスライスへの属性変更を制御ノード５００に要求する。すると、制御ノード５００の論理ボリューム管理部５１０において、指定されたスライスが割り当てられたセグメントに関して、プライマリスライスとセカンダリスライスとの入れ替えを決定する。そして、論理ボリューム管理部５１０から、プライマリスライスとセカンダリスライスとのそれぞれを有しているディスクノードに対して、スライスの属性変更が指示される。
【０１１０】
［ステップＳ５４］動作モード制御部１６０は、制御ノード１００からの指示に従って、プライマリスライスをセカンダリスライスに変更する。具体的には、動作モード制御部１６０は、スライス管理情報１５１内の「フラグ」の項目に「Ｐ（プライマリ）」の値が設定されているスライスの「フラグ」の項目の値を「Ｓ（セカンダリ）」に変更する。
【０１１１】
［ステップＳ５５］動作モード制御部１６０は、ストレージ装置１１０に対して、省電力モードへの移行を指示する。すると、ストレージ装置１１０は、ＨＤＤ１１１から１１４のディスクの回転を停止（スピンダウン）し、省電力モードに移行する。その後、処理がステップＳ５１に進められる。
【０１１２】
次に、ディスクノードの省電力モードへの移行処理を説明する。
図１２は、ディスクノードの省電力モードへの移行処理の手順を示す図である。以下、図１２に示す処理をステップ番号に沿って説明する。なお、この処理は、ディスクノード１００，２００，３００，４００の運用中は継続して実行される。
【０１１３】
［ステップＳ６１］動作モード制御部１６０は、ディスクノード１００に対してアクセスがないまま一定時間（ノード省電力モード移行時間）経過したか否かを判断する。この処理の詳細は、ディスク省電力モード移行時間がノード省電力モード移行時間に変わったこと以外、図１１のステップＳ５２と同様である。なお、ノード省電力モード移行時間には、ディスク省電力モード移行時間以上の値が設定される。
【０１１４】
［ステップＳ６２］動作モード制御部１６０は、ディスクノード１００自身が管理するプライマリスライスをセカンダリスライスに変更するように、制御ノード５００に要求する。この処理の詳細は、図１１のステップＳ５３と同様である。
【０１１５】
［ステップＳ６３］動作モード制御部１６０は、制御ノード１００からの指示に従って、プライマリスライスをセカンダリスライスに変更する。この処理の詳細は、図１１のステップＳ５４と同様である。
【０１１６】
［ステップＳ６４］動作モード制御部１６０は、ディスクノード１００自身を省電力モードへ移行する。具体的には、動作モード制御部１６０は、ディスクノード１００のＯＳに対して、省電力モードへの移行を指示する。すると、ディスクノード１００のＯＳは、ＲＡＭ１０２内のデータをＨＤＤ１０３に退避し、ディスクノード１００の電源を切る。なお、ディスクノード１００の電源が切れた状態でも、通信インタフェース１０８には、ネットワーク１０経由での起動要求を受け付けるために必要な最低限の電源が供給されている。その後、処理がステップＳ６１に進められる。
【０１１７】
図１１，図１２に示した処理により、一定時間アクセスが無い場合、ストレージ装置やディスクノードが省電力モードに移行し、消費電力が抑えられる。なお、省電力モードのストレージ装置やディスクノードは、外部からのアクセスをきっかけにして通常モードに復帰する。
【０１１８】
図１３は、ストレージ装置を通常モードに復帰させる処理を示すフローチャートである。以下、図１３に示す処理をステップ番号に沿って説明する。この処理は、ディスクノード１００にアクセス要求が入力されたときに実行される。
【０１１９】
［ステップＳ７１］動作モード制御部１６０は、ストレージ装置１１０が省電力モードか否かを判断する。省電力モードであれば、処理がステップＳ７２に進められる。省電力モードでなければ、処理が終了する。
【０１２０】
［ステップＳ７２］動作モード制御部１６０は、ストレージ装置１１０を省電力モードから通常モードへ復帰させる。具体的には、動作モード制御部１６０は、ストレージ装置１１０に対してディスク回転開始（スピンアップ）要求を送信する。すると、ストレージ装置１１０は、ＨＤＤ１１１〜１１４のディスクの回転を開始させる。その後、処理が終了する。
【０１２１】
次に、ディスクノード１００が省電力モードのときに、ディスクノード１００を通常モードに復帰させる手順について説明する。なお、ディスクノード１００の復帰処理は、アクセスノード６００からディスクノード１００へデータアクセスが生じた際に、アクセスノード６００、制御ノード５００、およびディスクノード１００が連携して行う処理である。
【０１２２】
図１４は、ディスクノードが省電力モードのときのデータアクセス手順を示すシーケンス図である。以下、図１４に示す処理をステップ番号に沿って説明する。
［ステップＳ８１］アクセスノード６００は、ディスクノード１００に対してディスクアクセスを要求する。このとき、ディスクノード１００が省電力モードとなっているものとする。
【０１２３】
［ステップＳ８２］アクセスノード６００は、ディスクノード１００からの応答が無いことから、接続に失敗したことを認識する。
［ステップＳ８３］アクセスノード６００は、制御ノード５００に対してスライス情報の問い合わせを行う。この問い合わせには、ディスクノード１００へのデータアクセスに失敗したことが示されている。
【０１２４】
すなわち、アクセスノード６００は、システム運用開始時に制御ノード５００からスライス管理情報を受け取っている。制御ノード５００は、このスライス管理情報が更新されたときは、更新後のスライス管理情報をアクセスノード６００に送信する。これにより、アクセスノード６００は、最新のスライス管理情報に基づいてデータアクセスが可能である。しかし、何らかの理由でスライス管理情報が最新の状態に更新されていない場合、アクセスノード６００からのデータアクセスが失敗することがある。そのため、アクセスノード６００は、ディスクノード１００へのデータアクセスに失敗した場合、まず、最新のスライス管理情報を制御ノード５００から取得し、取得したスライス管理情報に基づいて再アクセスするように構成されている。
【０１２５】
［ステップＳ８４］制御ノード５００は、スライス情報の問い合わせに基づいてディスクノード１００へのアクセスが発生したことを認識し、ディスクノード１００に対して起動要求を送信する。この起動要求に応じて、ディスクノード１００が起動する。
【０１２６】
［ステップＳ８５］制御ノード５００は、アクセスノード６００に対してスライス情報を応答する。
［ステップＳ８６］アクセスノード６００は、ディスクノード１００に対して再度データアクセスを行う。
【０１２７】
［ステップＳ８７］ディスクノード１００は、アクセスノード６００に対してデータを応答する。
次に、ディスクノード１００を復帰させる際の制御ノード５００の処理を詳細に説明する。
【０１２８】
図１５は、ディスクノードを通常モードに復帰させる処理を示すフローチャートである。以下、図１５に示す処理をステップ番号に沿って説明する。この処理は、アクセスノード６００から制御ノード５００に、ディスクノード１００へのアクセスに失敗した旨の情報が通知されたときに実行される。
【０１２９】
［ステップＳ９１］論理ボリューム管理部５１０は、アクセスに失敗したディスクノード１００が起動しているか否かを判断する。なお、ディスクノード１００が起動しているか否かは、例えば、論理ボリューム管理部５１０からディスクノード１００に対して、定期的に疎通確認コマンド（ping）を送信することで常時認識しておくことができる。ディスクノード１００が起動している場合、処理が終了する。ディスクノード１００が起動していない場合、処理がステップＳ９２に進められる。
【０１３０】
［ステップＳ９２］論理ボリューム管理部５１０は、ディスクノード１００に対して省電力モードからの復帰を指示する。具体的には、論理ボリューム管理部５１０は、ディスクノード１００にシステムの起動要求を示す信号を送信する。この信号は、ディスクノード１００の通信インタフェース１０６で受信される。すると、通信インタフェース１０６は起動要求を認識し、ディスクノード１００を起動させる。
【０１３１】
なお、ディスクノード１００が起動しているにも拘わらずアクセスに失敗した場合、制御ノード５００において通常のエラー処理が行われる。例えば、ディスクノード１００の障害であれば、論理ボリューム管理部５１０は、ストレージ装置１１０内のスライスを割り当てていたセグメントに対して、別のストレージ装置内のスライスを割り当て、データの再配置を行う。
【０１３２】
以上のようにして、一定時間以上アクセスのないディスクノードが生じるように、データの再配置を行うことができる。以下、データ再配置例を具体的に説明する。
データの再配置を行う場合、データ再配置制御部５３０は、各ディスクノード１００，２００，３００，４００からアクセス統計情報を収集する。
【０１３３】
図１６は、収集したアクセス統計情報の例を示す図である。データ再配置制御部５３０は、収集元であるディスクノードのノード識別子を付与したアクセス統計情報５３１，５３２，・・・を、メモリ（ＲＡＭ５０２）内に格納する。そして、データ再配置制御部５３０は、各スライスに関して、アクセスがない確率ｐを計算する。本実施の形態では、前述の式（１）によって、スライスへの時間帯ごとのアクセス数に基づいて、そのスライスにアクセスがない確率ｐを時間帯ごとに求めている。
【０１３４】
図１７は、アクセス数とアクセスがない確率の関係を示す図である。図１７では、横軸にアクセス数ｃ、縦軸にアクセスがない確率ｐを採っている。式（１）は２のべき乗であり、その乗数として、アクセス数ｃに負の数（−α）を乗算した値が用いられる。これにより、図１７に示すように、アクセスがない確率ｐは、アクセス数ｃが０のときに最大値「１」となり、アクセス数ｃが増加するほど小さくなる。
【０１３５】
次に、式（２）を用いて、各スレッドにアクセスがない確率に基づいて、各ディスクノードに対してアクセスがない確率が時間帯ごとに求められる。
図１８は、現況の配置パターンによるスライスとディスクノードとの時間帯ごとのアクセスがない確率を示す図である。この例は、式（１）の定数αを「１」、式（２）の定数βを「１」とした場合である。また、スライスのアクセスがない確率は小数点第２位を四捨五入している。
【０１３６】
図１８に示すように、各スライスに関して、時間帯ごとのアクセスがない確率が算出される。算出された値は、各ディスクノードノード識別子とスライスのスライス番号との組に対応付けて、データ再配置制御部５３０が管理するメモリ（ＲＡＭ５０２）内に格納される。なお、図１８では省略しているが、セグメントに割り当てられていないスライスにはアクセスがない（アクセス数「０」）ため、そのスライスのアクセスがない確率は「１」である。
【０１３７】
そして、式（２）を用いて、ディスクノードの時間帯ごとのアクセスがない確率が算出される。算出された値は、各ディスクノードノード識別子に対応付けて、データ再配置制御部５３０が管理するメモリ（ＲＡＭ５０２）内に格納される。
【０１３８】
ディスクノードの時間帯ごとのアクセスがない確率に基づいて、式（３）を用いて、ディスクノードごとにアクセスがない時間の期待値が計算される。図１８の例では、ノード識別子「ＳＮ−Ａ」のディスクノード１００のアクセスがない時間の期待値は「０．４」であり、ノード識別子「ＳＮ−Ｂ」のディスクノード２００のアクセスがない時間の期待値は「１．３３」である。
【０１３９】
各ディスクノードのアクセスがない時間の期待値の和が、システム全体としてのアクセスがない時間の期待値となる。ここで、説明を簡単にするために、ノード識別子「ＳＮ−Ａ」のディスクノード１００とノード識別子「ＳＮ−Ｂ」のディスクノード２００とについて着目してみる。２つのディスクノード１００，２００のアクセスがない時間の期待値の和は「１．７３」である。
【０１４０】
このような状態から、ノード識別子「ＳＮ−Ａ」のスライス番号「５」とノード識別子「ＳＮ−Ｂ」のスライス番号「２」とを選択し、相互に入れ替えた配置パターン候補を生成してみる。すなわち、図５を参照すると分かるように、現在は、ノード識別子「ＳＮ−Ａ」のスライス番号「５」のスライスは、２番目のセグメントのセカンダリスライスであり、ノード識別子「ＳＮ−Ｂ」のスライス番号「２」のスライスは、１番目のセグメントのセカンダリスライスである。これらの相互に入れ替える場合とは、ノード識別子「ＳＮ−Ａ」のスライス番号「５」のスライスを、１番目のセグメントのセカンダリスライスとし、ノード識別子「ＳＮ−Ｂ」のスライス番号「２」のスライスを、２番目のセグメントのセカンダリスライスとすることを意味する。
【０１４１】
このとき、データ再配置制御部５３０は、同一のセグメントに割り当てたプライマリスライスとセカンダリスライスとが、同一のディスクノードで管理されていないことを確認する。今回の例では問題ないため、生成した配置パターン候補によるアクセスがない時間の期待値の和が計算される。
【０１４２】
図１９は、データ入れ替え後の配置パターン候補によるスライスとディスクノードとの時間帯ごとのアクセスがない確率を示す図である。データを入れ替えれば、入れ替え対象となった各スライスへのアクセス数も入れ替わることとなる。すると、スライスのアクセスがない確率も相互に入れ替わる。
【０１４３】
そこで、データ入れ替え後の配置パターン候補の各スライスのアクセスがない確率に基づいて、ディスクノードの時間帯ごとのアクセスがない確率が算出される。さらに、ディスクノードの時間帯ごとのアクセスがない確率に基づいて、ディスクノードごとにアクセスがない時間の期待値が計算される。
【０１４４】
図１９の例では、ノード識別子「ＳＮ−Ａ」のディスクノード１００のアクセスがない時間の期待値は「１．１８」であり、ノード識別子「ＳＮ−Ｂ」のディスクノード２００のアクセスがない時間の期待値は「２．０５」である。すると、２つのディスクノード１００，２００のアクセスがない時間の期待値の和は「３．２３」となる。
【０１４５】
今回のデータの入れ替えでは、「ＳＮ−Ａ」のディスクノード１００とノード識別子「ＳＮ−Ｂ」のディスクノード２００しか関係していない。そのため、他のディスクノード３００，４００のアクセスがない時間の期待値は変化しない。従って、今回のデータ入れ替えによって、アクセスがない時間の期待値の和が大きくなることが分かる。すなわち、ディスクノードやストレージ装置が省電力モードにしておく時間を長くとれる可能性が高まる。そこで、今回のデータの入れ替え（セグメントへのスライスの割当の変更）を決定する。
【０１４６】
同様なデータの入れ替えの検討を何度も繰り返し行うことにより、アクセスがない時間の期待値の和がより大きくなるような配置パターンを見つけ出すことができる。その結果、データアクセスが一定時間発生しないディスクノードを生じさせることができ、システム全体としての省電力化を図ることができる。
【０１４７】
図２０は、データ再配置前後における各ディスクノードへのアクセス頻度を示す図である。この例では、データ再配置前は、各ディスクノードに対してほぼ均等にデータアクセスが行われている。一方、データ再配置後は、２台のディスクノード（「ＳＮ−Ａ」と「ＳＮ−Ｂ」）には頻繁にデータアクセスがあるが、他の２台のディスクノード（「ＳＮ−Ｃ」と「ＳＮ−Ｄ」）には、一定の時間帯を除きほとんどデータアクセスがない。すると、「ＳＮ−Ｃ」と「ＳＮ−Ｄ」とは、データアクセスがない時間は省電力モードに移行させ、機能を停止しておくことができる。その結果、システム全体としての消費電力が削減できる。
【０１４８】
しかも、本実施の形態では、ディスクノードを省電力モードに移行させる際に、そのディスクノードが管理するスライスを、プライマリスライスからセカンダリスライスに変更している。これにより、アクセスノード６００からのリードアクセスであれば、そのとき省電力モードとなっているディスクノードを起動させる必要がなくなる。すなわち、アクセスノード６００からデータアクセスが行われるとき、原則としてプライマリスライスに対してデータアクセスが行われる。データアクセスがリードアクセスであれば、セカンダリスライスのデータ更新等は発生しないため、セカンダリスライスを管理しているディスクノードを起動する必要なない。
【０１４９】
なお、データアクセスがライトアクセスであれば、プライマリスライスに書き込んだデータをセカンダリスライスにも書き込む必要がある。そのため、セカンダリスライスを管理しているディスクノードが省電力モードとなっていれば、そのディスクノードを起動する必要がある。
【０１５０】
このように、本実施の形態によってマルチノードストレージシステムの消費電力を削減できる。ただし、図２０に示すように、データ再配置後は、いくつかのディスクノードにアクセスが集中することとなる。そのため、全体のデータアクセス量が過大でない環境下で本実施の形態のデータ再配置を行うことが適当である。例えば、ある一定期間（月末など）にのみデータアクセスが増加するようなシステムの場合、データアクセス量が多量となる期間は、処理効率を優先したデータ配置を行えばよい。そして、データアクセスが多くない期間は、本実施の形態に示した環境性能を優先したデータ配置を行う。これにより、システムに要求される処理性能を必要に応じて最大限発揮した上で、処理性能に余裕のある期間は消費電力を削減することができる。
【０１５１】
なお、上記の実施の形態では、配置パターン候補を生成する際には、各スライスに対するアクセスがない時間の確率を参照していないが、各スライスにアクセスがない時間の確率を考慮して配置パターン候補を生成することもできる。例えば、アクセス頻度の高いスライス（アクセスがない時間の確率が低いスライス）を同じディスクノードに集める。また、アクセス頻度の低いスライス（アクセスがない時間の確率が高いスライス）を同じディスクノードに集める。このように、先に計算されている各スライスのアクセスがない時間の確率を利用すれば、アクセスのない時間の期待値が高い配置パターン候補を、効率的に生成できる。
【０１５２】
また、アクセスパターンの類似しているデータを同じディスクノードに集めるようにすれば、アクセスのない時間の期待値が高い配置パターン候補を生成できる。例えば、アクセス統計情報には、各スライスのアクセス数が時間帯ごと示されている。そこで、アクセス数が「０」である時間帯が共通するスライスを検索する。そのような複数のスライスが見つかった場合、それらのスライスに含まれるデータをまとめて管理するべきディスクノードを選択する。さらに、選択されたディスクノードが管理する複数のスライスと、アクセスパターンが類似する複数のスライスとのそれぞれからスライスを選択して組とする。そして、組としたスライスが割り当てられたセグメントを相互に入れ替える。これにより、アクセスパターンが類似するスライスを１つのディスクノードにまとめた配置パターン候補を生成できる。
【０１５３】
さらに、各スライスに対する１日の間での最終アクセス時刻を収集しておけば、最終アクセス時刻の近いスライスのデータを、１つのディスクノードにまとめるような配置パターン候補を生成することもできる。
【０１５４】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、ディスクノード１００，２００，３００，４００や制御ノード５００が有するべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disc）などがある。
【０１５５】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１５６】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１５７】
なお、本発明は、上述の実施の形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変更を加えることができる。
以上説明した実施の形態の主な技術的特徴は、以下の付記の通りである。
【０１５８】
（付記１）  一定時間アクセスがなければ省電力モードに移行する複数のディスクノードに対してデータを分散格納する際のデータ配置を管理させるデータ配置制御プログラムにおいて、
コンピュータを、
前記ディスクノードが管理するデータそれぞれに対して所定の時間帯内に行われたアクセス数を示すアクセス統計情報が格納されたアクセス統計情報記憶手段から、前記アクセス統計情報を収集するアクセス統計情報収集手段、
前記アクセス統計情報を参照し、前記所定の時間帯内のアクセス数が少ないデータほど大きくなる値を、各データのデータ無アクセス確率とする無アクセス確率計算手段、
データの格納先となる前記ディスクノードを示す配置パターン候補を複数生成する配置パターン候補生成手段、
前記配置パターン候補生成手段によって生成された前記配置パターン候補それぞれについて、前記配置パターン候補に従ってデータを配置した場合に前記ディスクノードそれぞれに配置されるデータの前記データ無アクセス確率を集計して、前記ディスクノードそれぞれにアクセスがない確率を示すノード無アクセス確率を算出し、前記ディスクノードそれぞれの前記ノード無アクセス確率を集計して、いずれかの前記ディスクノードに対して発生するアクセスがない時間の期待値を示す無アクセス時間期待値を算出する期待値計算手段、
前記配置パターン候補生成手段で生成された複数の前記配置パターン候補のうち、前記期待値計算手段で計算された前記無アクセス時間期待値が最も大きくなる前記配置パターン候補を、データ再配置のための配置パターンに決定する配置パターン決定手段、
前記ディスクノードに対して、前記配置パターン決定手段で決定された前記配置パターンに従ったデータの再配置を指示するデータ再配置指示手段、
として機能させることを特徴とするデータ配置制御プログラム。
【０１５９】
（付記２）  前記無アクセス確率計算手段は、前記所定の時間帯内のアクセス数に負の数を乗算した値を乗数としたべき乗の値を、前記無アクセス確率とすることを特徴とする付記１記載のデータ配置制御プログラム。
【０１６０】
（付記３）  前記期待値計算手段は、前記配置パターン候補に従ってデータを配置した場合に前記ディスクノードそれぞれに配置されるデータの前記データ無アクセス確率を互いに乗算して前記ディスクノードにアクセスがない確率とし、算出した確率に応じた値を前記ディスクノードの前記無アクセス時間期待値とすることを特徴とする付記１記載のデータ配置制御プログラム。
【０１６１】
（付記４）  前記アクセス統計情報記憶手段には、一日を複数の時間帯に分割したときの時間帯ごとの前記アクセス数を示す前記アクセス統計情報が格納されており、
前記アクセス統計情報収集手段は、時間帯ごとの前記アクセス数を示す前記アクセス統計情報を収集し、
前記無アクセス確率計算手段は、各データの前記無アクセス確率を時間帯ごと算出し、
前記期待値計算手段は、前記配置パターン候補に従ってデータを配置した場合に前記ディスクノードそれぞれに配置されるデータの同一の時間帯の前記無アクセス確率を互いに乗算して前記ノード無アクセス確率を時間帯ごとに算出し、前記ディスクノードそれぞれについて、時間帯ごとの前記ノード無アクセス確率の和に応じた値を、ノードにアクセスがない時間の期待値を示すノード別期待値とし、前記ディスクノードごとの前記ノード別期待値の和を前記無アクセス時間期待値とすることを特徴とする付記１記載のデータ配置制御プログラム。
【０１６２】
（付記５）  前記配置パターン候補生成手段は、前記ディスクノードそれぞれに設けられたデータの格納領域から、異なる前記ディスクノードの属する２つの前記格納領域の組を繰り返し選択し、現在の配置パターンを基準として、選択した２つの前記格納領域に格納するデータを相互に入れ替えた前記配置パターン候補を生成し、
前記期待値計算手段は、前記配置パターン決定手段によって前記配置パターン候補が生成されるごとに、生成された前記配置パターン候補の前記無アクセス時間期待値を算出し、
前記配置パターン決定手段は、前記現在の配置パターンおよび複数の前記配置パターン候補の中で前記無アクセス時間期待値が最も大きくなるものをデータ再配置のための配置パターンに決定することを特徴とする付記１記載のデータ配置制御プログラム。
【０１６３】
（付記６）  前記配置パターン候補生成手段は、２つの前記格納領域の組の選択を、予め設定された所定回数だけ繰り返し、前記配置パターン候補を生成することを特徴とする付記５記載のデータ配置制御プログラム。
【０１６４】
（付記７）  前記配置パターン候補生成手段は、前記ディスクノードそれぞれに設けられたデータの格納領域から選択可能な、異なる前記ディスクノードの属する２つの前記格納領域の組のすべてについて順次選択し、前記配置パターン候補を生成することを特徴とする付記５記載のデータ配置制御プログラム。
【０１６５】
（付記８）  一定時間アクセスがなければ省電力モードに移行する複数のディスクノードに対してデータを分散格納する際のデータ配置を管理するデータ配置制御装置において、
前記ディスクノードが管理するデータそれぞれに対して所定の時間帯内に行われたアクセス数を示すアクセス統計情報が格納されたアクセス統計情報記憶手段から、前記アクセス統計情報を収集するアクセス統計情報収集手段と、
前記アクセス統計情報を参照し、前記所定の時間帯内のアクセス数が少ないデータほど大きくなる値を、各データのデータ無アクセス確率とする無アクセス確率計算手段と、
データの格納先となる前記ディスクノードを示す配置パターン候補を複数生成する配置パターン候補生成手段と、
前記配置パターン候補生成手段によって生成された前記配置パターン候補それぞれについて、前記配置パターン候補に従ってデータを配置した場合に前記ディスクノードそれぞれに配置されるデータの前記データ無アクセス確率を集計して、前記ディスクノードそれぞれにアクセスがない確率を示すノード無アクセス確率を算出し、前記ディスクノードそれぞれの前記ノード無アクセス確率を集計して、いずれかの前記ディスクノードに対して発生するアクセスがない時間の期待値を示す無アクセス時間期待値を算出する期待値計算手段と、
前記配置パターン候補生成手段で生成された複数の前記配置パターン候補のうち、前記期待値計算手段で計算された前記無アクセス時間期待値が最も大きくなる前記配置パターン候補を、データ再配置のための配置パターンに決定する配置パターン決定手段と、
前記ディスクノードに対して、前記配置パターン決定手段で決定された前記配置パターンに従ったデータの再配置を指示するデータ再配置指示手段と、
を有することを特徴とするデータ配置制御装置。
【０１６６】
（付記９）  一定時間アクセスがなければ省電力モードに移行する複数のディスクノードに対してデータを分散格納する際のデータ配置をコンピュータで管理するためのデータ配置制御方法において、
コンピュータが、
前記ディスクノードが管理するデータそれぞれに対して所定の時間帯内に行われたアクセス数を示すアクセス統計情報が格納されたアクセス統計情報記憶手段から、前記アクセス統計情報を収集し、
前記アクセス統計情報を参照し、前記所定の時間帯内のアクセス数が少ないデータほど大きくなる値を、各データのデータ無アクセス確率とし、
データの格納先となる前記ディスクノードを示す配置パターン候補を複数生成し、
生成された前記配置パターン候補それぞれについて、前記配置パターン候補に従ってデータを配置した場合に前記ディスクノードそれぞれに配置されるデータの前記データ無アクセス確率を集計して、前記ディスクノードそれぞれにアクセスがない確率を示すノード無アクセス確率を算出し、前記ディスクノードそれぞれの前記ノード無アクセス確率を集計して、いずれかの前記ディスクノードに対して発生するアクセスがない時間の期待値を示す無アクセス時間期待値を算出し、
生成された複数の前記配置パターン候補のうち前記無アクセス時間期待値が最も大きくなる前記配置パターン候補を、データ再配置のための配置パターンに決定し、
前記ディスクノードに対して、決定された前記配置パターンに従ったデータの再配置を指示する、
ことを特徴とするデータ配置制御方法。
【０１６７】
（付記１０）  データをネットワーク上で分散管理するマルチノードストレージシステムにおいて、
データを格納するストレージ装置と、
前記ストレージ装置に格納されたデータに対して所定の時間帯内に行われたアクセス数を示すアクセス統計情報が格納されたアクセス統計情報記憶手段と、
前記所定の時間帯内に前記ストレージ装置に格納されたデータに対してアクセスがあるごとに前記アクセス統計情報を更新するアクセス統計情報更新手段と、
データの再配置の指示を受けた場合、指示に従って前記ストレージ装置に格納されたデータの転送を行うデータ再配置手段と、
前記ストレージ装置に格納したデータへのアクセスが一定時間ない場合、少なくとも一部の機能を停止させる省電力モードに移行させる動作モード制御手段と、
を具備する複数のディスクノードと、
前記ディスクノードそれぞれが有する前記アクセス統計情報記憶手段から、前記アクセス統計情報を収集するアクセス統計情報収集手段と、
前記アクセス統計情報を参照し、前記所定の時間帯内のアクセス数が少ないデータほど大きくなる値を、各データのデータ無アクセス確率とする無アクセス確率計算手段と、
データの格納先となる前記ディスクノードを示す配置パターン候補を複数生成する配置パターン候補生成手段と、
前記配置パターン候補生成手段によって生成された前記配置パターン候補それぞれについて、前記配置パターン候補に従ってデータを配置した場合に前記ディスクノードそれぞれに配置されるデータの前記データ無アクセス確率を集計して、前記ディスクノードそれぞれにアクセスがない確率を示すノード無アクセス確率を算出し、前記ディスクノードそれぞれの前記ノード無アクセス確率を集計して、いずれかの前記ディスクノードに対して発生するアクセスがない時間の期待値を示す無アクセス時間期待値を算出する期待値計算手段と、
前記配置パターン候補生成手段で生成された複数の前記配置パターン候補のうち、前記期待値計算手段で計算された前記無アクセス時間期待値が最も大きくなる前記配置パターン候補を、データ再配置のための配置パターンに決定する配置パターン決定手段と、
前記ディスクノードに対して、前記配置パターン決定手段で決定された前記配置パターンに従ったデータの再配置を指示するデータ再配置指示手段と、
を具備する制御ノードと、
を有することを特徴とするマルチノードストレージシステム。
【０１６８】
（付記１１）  前記ディスクノードの前記動作モード制御手段は、前記ストレージ装置に格納したデータへのアクセスが一定時間ない場合、前記ストレージ装置内のディスクの回転を停止させることを特徴とする付記１０記載のマルチストレージシステム。
【０１６９】
（付記１２）  前記ディスクノードの前記動作モード制御手段は、前記ストレージ装置に格納したデータへのアクセスが一定時間ない場合、前記ディスクノード自身のデータ処理を停止することを特徴とする付記１０記載のマルチストレージシステム。
【０１７０】
（付記１３）  前記ディスクノードの前記ストレージ装置には二重化されたデータの一方が格納されており、
前記ディスクノードは、前記ストレージ装置に格納されたデータの属性が、優先的にアクセス対象となるデータであることを示すプライマリか、プライマリのデータにアクセスできないときに使用されるセカンダリかを管理するデータ管理情報を記憶するデータ管理情報記憶手段をさらに有し、
前記ディスクノードの前記動作モード制御手段は、前記ストレージ装置に格納したデータへのアクセスが一定時間ない場合、前記ストレージ装置に格納されているプライマリのデータの属性をセカンダリに変更させた後、省電力モードに移行させることを特徴とする付記１０記載のマルチストレージシステム。
【０１７１】
（付記１４）  前記ディスクノードの前記動作モード制御手段は、前記ストレージ装置に格納されているプライマリのデータの属性をセカンダリに変更さる場合、プライマリのデータの属性をセカンダリに変更することを要求する属性変更要求を前記制御ノードに送信し、
前記制御ノードは、前記ディスクノードが管理するデータの属性を管理しており、前記ディスクノードからの前記属性変更要求に応答して、前記属性変更要求で指定されたデータの属性をプライマリからセカンダリに変更し、前記属性変更要求で指定されたデータに対応するセカンダリのデータの属性をセカンダリからプライマリに変更することを特徴とする付記１３記載のマルチストレージシステム。
【図面の簡単な説明】
【０１７２】
【図１】実施の形態の概要を示す図である。
【図２】本実施の形態のマルチノードストレージシステム構成例を示す図である。
【図３】本実施の形態に用いるディスクノードのハードウェア構成例を示す図である。
【図４】本実施の形態に用いる制御ノードのハードウェア構成例を示す図である。
【図５】論理ボリュームのデータ構造を示す図である。
【図６】マルチノードストレージシステムの各装置の機能を示すブロック図である。
【図７】スライス管理情報のデータ構造例を示す図である。
【図８】スライス管理情報群記憶部のデータ構造例を示す図である。
【図９】第１のデータ再配置処理の手順を示すフローチャートである。
【図１０】第２のデータ再配置処理の手順を示すフローチャートである。
【図１１】ＨＤＤの省電力モードへの移行処理の手順を示す図である。
【図１２】ディスクノードの省電力モードへの移行処理の手順を示す図である。
【図１３】ストレージ装置を通常モードに復帰させる処理を示すフローチャートである。
【図１４】ディスクノードが省電力モードのときのデータアクセス手順を示すシーケンス図である。
【図１５】ディスクノードを通常モードに復帰させる処理を示すフローチャートである。
【図１６】収集したアクセス統計情報の例を示す図である。
【図１７】アクセス数とアクセスがない確率の関係を示す図である。
【図１８】現況の配置パターンによるスライスとディスクノードとの時間帯ごとのアクセスがない確率を示す図である。
【図１９】データ入れ替え後の配置パターン候補によるスライスとディスクノードとの時間帯ごとのアクセスがない確率を示す図である。
【図２０】データ再配置前後における各ディスクノードへのアクセス頻度を示す図である。
【符号の説明】
【０１７３】
１  制御ノード
１ａ  アクセス統計情報収集手段
１ｂ  無アクセス確率計算手段
１ｃ  配置パターン候補生成手段
１ｄ  期待値計算手段
１ｅ  配置パターン決定手段
１ｆ  データ再配置指示手段
２，３  ディスクノード
２ａ，３ａ  ストレージ装置
２ｂ  アクセス統計情報記憶手段
２ｃ  アクセス統計情報更新手段
２ｄ  データ再配置手段
２ｅ  動作モード制御手段
【図１】
0004620722.tif 000002
【図２】
0004620722.tif 000003
【図３】
0004620722.tif 000004
【図４】
0004620722.tif 000005
【図５】
0004620722.tif 000006
【図６】
0004620722.tif 000007
【図７】
0004620722.tif 000008
【図８】
0004620722.tif 000009
【図９】
0004620722.tif 000010
【図１０】
0004620722.tif 000011
【図１１】
0004620722.tif 000012
【図１２】
0004620722.tif 000013
【図１３】
0004620722.tif 000014
【図１４】
0004620722.tif 000015
【図１５】
0004620722.tif 000016
【図１６】
0004620722.tif 000017
【図１７】
0004620722.tif 000018
【図１８】
0004620722.tif 000019
【図１９】
0004620722.tif 000020
【図２０】
0004620722.tif 000021