(57)【要約】【課題】本発明は、論理分割を行うストレージシステムにおいて、電力計を使うことなく、論理分割された領域の電力を求めることを目的とする。【解決手段】管理計算機と、管理計算機及びホスト計算機に接続されたストレージシステムとを備える計算機システムにおける電力推定方法であって、ストレージシステムは、複数のディスクドライブの実領域上に論理記憶領域を作成し、第３のプロセッサが、論理記憶領域へのアクセスに対するディスクドライブの稼働時間から、論理記憶領域へのアクセスに対するディスクドライブの稼働率を算出するステップと、増加消費電力情報と、算出されたディスクドライブの稼働率とから、各アクセス種別における論理記憶領域へのアクセスに対するディスクドライブの消費電力の増加分を算出するステップとを含むことを特徴とする。【選択図】図４２
2010097555.tif 000002
【特許請求の範囲】
【請求項１】
管理計算機と、前記管理計算機及びホスト計算機に接続されたストレージシステムとを備える計算機システムにおける電力推定方法であって、
前記管理計算機は、前記ストレージシステムに接続される第１のインタフェースと、前記第１のインタフェースに接続される第１のプロセッサと、前記第１のプロセッサに接続される第１のメモリとを備え、
前記ホスト計算機は、前記ストレージシステムと接続される第２のインタフェースと、前記第２のインタフェースに接続される第２のプロセッサと、前記第２のプロセッサに接続される第２のメモリとを備え、
前記ストレージシステムは、複数のディスクドライブへのデータの読み書きを制御する少なくとも一つの第３のプロセッサと、前記第３のプロセッサと接続される制御メモリと、前記管理計算機と接続される管理インタフェースと、前記ホスト計算機と接続されるホストインタフェースと、前記ディスクドライブと接続されるディスクインタフェースと、データを一時的に格納するキャッシュメモリ部とを備え、
前記第３のプロセッサ、前記管理インタフェース、前記ホストインタフェース、前記ディスクインタフェース、及び前記キャッシュメモリ部は、互いに接続され、
前記キャッシュメモリ部は、複数の第３のメモリと、前記複数の第３のメモリを制御するメモリコントローラとを備え、
前記制御メモリは、前記ストレージシステムを制御するためのストレージ制御プログラムと、前記ストレージシステムを制御するために必要な制御データとを格納し、
前記ストレージ制御プログラムは、電力を推定するための電力推定プログラムを含み、
前記制御データは、前記ストレージシステムが処理を実行しているときにおける前記ディスクドライブ、前記キャッシュメモリ部及び前記第３のプロセッサの消費電力の増加分を示す増加消費電力情報を含み、
前記ストレージシステムは、
前記複数のディスクドライブの実領域上に論理記憶領域を作成し、
前記ストレージシステムが備える物理資源を論理的に分割し、前記論理記憶領域と前記論理的に分割された物理資源とから構成される複数の論理区画を生成し、
前記論理区画を前記ホスト計算機に提供し、
前記増加消費電力情報は、前記論理記憶領域へのアクセス種別における前記ディスクドライブの消費電力の増加分に関する情報を含み、
前記方法は、
前記第３のプロセッサが、前記論理記憶領域へのアクセスに対する前記ディスクドライブの稼働時間から、前記論理記憶領域へのアクセスに対するディスクドライブの稼働率を算出するステップと、
前記第３のプロセッサが、前記増加消費電力情報と、前記算出されたディスクドライブの稼働率とから、各アクセス種別における前記論理記憶領域へのアクセスに対するディスクドライブの消費電力の増加分を算出するステップと、
前記第３のプロセッサが、前記算出された論理記憶領域へのアクセスに対するディスクドライブの消費電力の増加分を前記管理計算機に送信するステップとを含むことを特徴とする電力推定方法。
【請求項２】
前記メモリコントローラは、前記第３のメモリに対するアクセス時間に関する情報を記憶し、
前記制御データは、前記論理記憶領域に対するアクセスのときに使用されたキャッシュメモリ部の前記第３のメモリへのアクセス量を含み、
前記方法は、さらに、
前記第３のプロセッサが、前記ディスクドライブに対するアクセスのときに使用された前記キャッシュメモリ部へのアクセス時間から、前記ディスクドライブに対するアクセスのときに使用されたキャッシュメモリ部の稼働率を算出するステップと、
前記第３のプロセッサが、前記算出されたディスクドライブに対するアクセスのときに使用されたキャッシュメモリ部の稼働率と前記増加消費電力情報とから、前記ディスクドライブに対するアクセスのときに使用されたキャッシュメモリ部の消費電力の増加分を算出するステップと、
前記第３のプロセッサが、前記論理記憶領域に対するアクセスのときに使用されたキャッシュメモリ部への全アクセス量と、前記各論理記憶領域に対するアクセスのときに使用されたキャッシュメモリ部へのアクセス量とから、前記各論理記憶領域に対するアクセスのときに使用されたキャッシュメモリ部の稼働率を算出するステップと、
前記第３のプロセッサが、前記算出された各論理記憶領域に対するアクセスのときに使用されたキャッシュメモリ部の稼働率と、前記増加消費電力情報とから、前記各論理記憶領域に対するアクセスのときに使用されたキャッシュメモリ部の消費電力の増加分を算出するステップと、
前記第３のプロセッサが、前記算出されたディスクドライブに対するアクセスのときに使用されたキャッシュメモリ部の消費電力の増加分、及び前記算出された各論理記憶領域に対するアクセスのときに使用されたキャッシュメモリ部の消費電力の増加分を前記管理計算機に送信するステップとを含むことを特徴とする請求項１に記載の電力推定方法。
【請求項３】
前記制御データは、前記論理記憶領域のアクセスに対する処理に対する前記第３のプロセッサが稼働した稼働時間に関する情報を含み、
前記方法は、さらに、
前記第３のプロセッサが、前記論理記憶領域のアクセスに対する処理に対する前記第３のプロセッサが稼働した稼働時間から、前記論理記憶領域のアクセスに対する処理における第３のプロセッサの稼働率を算出するステップと、
前記第３のプロセッサが、前記増加消費電力情報と、前記算出された論理記憶領域のアクセスに対する処理における第３のプロセッサの稼働率とから、前記論理記憶領域のアクセスに対する第３のプロセッサの消費電力の増加分を算出するステップと、
前記第３のプロセッサが、前記算出された論理記憶領域に対するアクセスにおける第３のプロセッサの消費電力の増加分を前記管理計算機に送信するステップとを含むことを特徴とする請求項１に記載の電力推定方法。
【請求項４】
前記制御データは、前記ディスクドライブの稼働状態における稼働時間及び消費電力に関する情報を含み、
前記方法は、さらに、
前記ストレージシステムが、前記ディスクドライブの各状態における稼働時間から、前記ディスクドライブの各稼働状態の比率を算出するステップと、
前記ストレージシステムが、前記算出されたディスクドライブの各状態の比率と、前記ディスクドライブの各稼働状態における消費電力とから、各状態における前記ディスクドライブの消費電力を算出するステップとを含むことを特徴とする請求項１に記載の電力推定方法。
【請求項５】
前記ディスクドライブは、半導体記憶素子を含み、
前記制御データは、
ストレージ装置が処理を実行している場合における、前記半導体記憶素子の消費エネルギーの増加分を示す増加消費エネルギー情報を含み、
前記増加消費エネルギー情報は、各アクセス種別における単位データ転送量当たりの消費エネルギーの増加分に関する情報を含み、
各アクセス種別における前記論理記憶領域へのデータ転送量を記憶し、
前記方法は、
前記第３のプロセッサが、前記増加消費エネルギー情報と、各アクセス種別における前記論理記憶領域へのデータ転送量とから、前記各アクセス種別における半導体記憶素子の消費エネルギーの増加分を算出するステップと、
前記第３のプロセッサが、前記算出された各アクセス種別における半導体記憶素子の消費エネルギーの増加分と、前記電力推定プログラムの実行周期とから、前記各アクセス種別における半導体記憶素子の消費電力の増加分を算出するステップとを含むことを特徴とする請求項１に記載の電力推定方法。
【請求項６】
前記制御データは、稼働するストレージ装置が処理を行っていない場合における、前記ディスクドライブ、前記キャッシュメモリ部及び前記第３プロセッサの定常消費電力に関する情報を含み、
前記第１のメモリは、前記論理記憶領域と前記論理区画との対応関係に関する情報を記憶し、
前記方法は、
前記ストレージシステムが、前記ディスクドライブ、前記キャッシュメモリ部及び前記第３プロセッサの定常消費電力の情報を前記管理端末に送信するステップと、
前記管理計算機が、前記増加消費電力情報から、電力を算出する部位の消費電力が変動するか否かを判定するステップと、
電力を算出する部位の消費電力が変動しないと判定された場合、前記管理計算機が、前記ディスクドライブ、前記キャッシュメモリ部及び前記第３プロセッサを使用している前記論理区画の数に基づいて、前記ディスクドライブ、前記キャッシュメモリ部及び前記第３プロセッサの定常消費電力を前記各論理区画の定常消費電力として算出するステップと、
電力を算出する部位の消費電力が変動しないと判定された場合、前記管理計算機が、前記算出された論理記憶領域へのアクセスに対するディスクドライブの消費電力の増加分、前記算出された各論理記憶領域に対するアクセスのときに使用されたキャッシュメモリ部の消費電力の増加分、及び前記算出された論理記憶領域のアクセスに対する第３のプロセッサの消費電力の増加分と、前記論理記憶領域と前記論理区画との対応関係とから、前記論理区画における前記ディスクドライブ、前記キャッシュメモリ部及び前記第３プロセッサの消費電力の増加分を算出するステップと、
前記算出された各論理区画におけるディスクドライブ、キャッシュメモリ部及び第３プロセッサの定常消費電力、及び前記算出された各論理区画におけるディスクドライブ、キャッシュメモリ部及び第３プロセッサの消費電力の増加分を表示するステップとを含むことを特徴とする請求項１乃至請求項５に記載の電力推定方法。
【請求項７】
管理計算機と、前記管理計算機及びホスト計算機に接続されたストレージシステムとを備える計算機システムであって、
前記管理計算機は、前記ストレージシステムに接続される第１のインタフェースと、前記第１のインタフェースに接続される第１のプロセッサと、前記第１のプロセッサに接続される第１のメモリとを備え、
前記ホスト計算機は、前記ストレージシステムと接続される第２のインタフェースと、前記第２のインタフェースに接続される第２のプロセッサと、前記第２のプロセッサに接続される第２のメモリとを備え、
前記ストレージシステムは、複数のディスクドライブへのデータの読み書きを制御する少なくとも一つの第３のプロセッサと、前記第３のプロセッサと接続される制御メモリと、前記管理計算機と接続される管理インタフェースと、前記ホスト計算機と接続されるホストインタフェースと、前記ディスクドライブと接続されるディスクインタフェースと、データを一時的に格納するキャッシュメモリ部とを備え、
前記第３のプロセッサ、前記管理インタフェース、前記ホストインタフェース、前記ディスクインタフェース、及び前記キャッシュメモリ部は、互いに接続され、
前記キャッシュメモリ部は、複数の第３のメモリと、前記複数の第３のメモリを制御するメモリコントローラとを備え、
前記制御メモリは、前記ストレージシステムを制御するためのストレージ制御プログラムと、前記ストレージシステムを制御するために必要な制御データとを格納し、
前記ストレージ制御プログラムは、電力を推定するための電力推定プログラムを含み、
前記制御データは、前記ストレージシステムが処理を実行しているときにおける前記ディスクドライブ、前記キャッシュメモリ部及び前記第３のプロセッサの消費電力の増加分を示す増加消費電力情報を含み、
前記ストレージシステムは、
前記複数のディスクドライブの実領域上に論理記憶領域を作成し、
前記ストレージシステムが備える物理資源を論理的に分割し、前記論理記憶領域と前記論理的に分割された物理資源とから構成される複数の論理区画を生成し、
前記論理区画を前記ホスト計算機に提供し、
前記増加消費電力情報は、前記論理記憶領域へのアクセス種別における前記ディスクドライブの消費電力の増加分に関する情報を含み、
前記論理記憶領域へのアクセスに対する前記ディスクドライブの稼働時間から、前記論理記憶領域へのアクセスに対するディスクドライブの稼働率を算出し、
前記増加消費電力情報と、前記算出されたディスクドライブの稼働率とから、各アクセス種別における前記論理記憶領域へのアクセスに対するディスクドライブの消費電力の増加分を算出し、
前記算出された論理記憶領域へのアクセスに対するディスクドライブの消費電力の増加分を前記管理計算機に送信することを特徴とする計算機システム。
【請求項８】
前記メモリコントローラは、前記第３のメモリに対するアクセス時間に関する情報を記憶し、
前記制御データは、前記論理記憶領域に対するアクセスのときに使用されたキャッシュメモリ部の前記第３のメモリへのアクセス量を含み、
前記ストレージシステムは、
前記ディスクドライブに対するアクセスのときに使用された前記キャッシュメモリ部へのアクセス時間から、前記ディスクドライブに対するアクセスのときに使用されたキャッシュメモリ部の稼働率を算出し、
前記算出された前記ディスクドライブに対するアクセスのときに使用されたキャッシュメモリ部の稼働率と前記増加消費電力情報とから、前記ディスクドライブに対するアクセスのときに使用されたキャッシュメモリ部の消費電力の増加分を算出し、
前記論理記憶領域に対するアクセスのときに使用されたキャッシュメモリ部への全アクセス量と、前記各論理記憶領域に対するアクセスのときに使用されたキャッシュメモリ部へのアクセス量とから、前記各論理記憶領域に対するアクセスのときに使用されたキャッシュメモリ部の稼働率を算出し、
前記算出された各論理記憶領域に対するアクセスのときに使用されたキャッシュメモリ部の稼働率と、前記増加消費電力情報とから、前記各論理記憶領域に対するアクセスのときに使用されたキャッシュメモリ部の消費電力の増加分を算出し、
前記算出されたディスクドライブに対するアクセスのときに使用されたキャッシュメモリ部の消費電力の増加分、及び前記算出された各論理記憶領域に対するアクセスのときに使用されたキャッシュメモリ部の消費電力の増加分を前記管理計算機に送信することを特徴とする請求項７に記載の計算機システム。
【請求項９】
前記制御データは、前記論理記憶領域のアクセスに対する処理に対する前記第３のプロセッサが稼働した稼働時間に関する情報を含み、
前記ストレージシステムは、さらに、
前記論理記憶領域のアクセスに対する処理に対する前記第３のプロセッサが稼働した稼働時間から、前記論理記憶領域のアクセスに対する処理における第３のプロセッサの稼働率を算出し、
前記増加消費電力情報と、前記算出された論理記憶領域のアクセスに対する処理における第３のプロセッサの稼働率とから前記論理記憶領域のアクセスに対する第３のプロセッサの消費電力の増加分を算出し、
前記算出された論理記憶領域に対するアクセスにおける第３のプロセッサの消費電力の増加分を前記管理計算機に送信することを特徴とする請求項７に記載の計算機システム。
【請求項１０】
前記制御データは、前記ディスクドライブの稼働状態における稼働時間及び消費電力分に関する情報をを含み、
前記ストレージシステムは、さらに、
前記ディスクドライブの各状態における稼働時間から、前記ディスクドライブの各稼働状態の比率を算出し、
前記算出されたディスクドライブの各状態の比率と、前記ディスクドライブの各稼働状態における消費電力とから、各状態における前記ディスクドライブの消費電力を算出することを特徴とする請求項７に記載の計算機システム。
【請求項１１】
前記ディスクドライブは、半導体記憶素子を含み、
前記制御データは、
ストレージ装置が処理を実行している場合における、前記半導体記憶素子の消費エネルギーの増加分を示す増加消費エネルギー情報を含み、
前記増加消費エネルギー情報は、各アクセス種別における単位データ転送量当たりの消費エネルギーの増加分に関する情報を含み、
各アクセス種別における前記論理記憶領域へのデータ転送量を記憶し、
前記ストレージシステムは、
前記増加消費エネルギー情報と、各アクセス種別における前記論理記憶領域へのデータ転送量とから、前記アクセス種別ごとに半導体記憶素子の消費エネルギーの増加分を算出し、
前記算出された各アクセス種別における半導体記憶素子の消費エネルギーの増加分と、前記電力推定プログラムの実行周期とから、前記アクセス種別ごとの半導体記憶素子の消費電力の増加分を算出することを特徴とする請求項７に記載の計算機システム。
【請求項１２】
前記制御データは、稼働するストレージ装置が処理を行っていない場合における、前記ディスクドライブ、前記キャッシュメモリ部及び前記第３プロセッサの定常消費電力に関する情報を含み、
前記第１のメモリは、前記論理記憶領域及び前記論理的に分割された物理資源と、前記論理区画との対応関係に関する情報を記憶し、
前記ストレージシステムは、
前記ディスクドライブ、前記キャッシュメモリ部及び前記第３プロセッサの定常消費電力の情報を前記管理端末に送信し、
前記管理計算機は、
前記増加消費電力情報を参照し、電力を算出する部位の消費電力が変動するか否かを判定し、
電力を算出する部位の消費電力が変動しないと判定された場合、前記ディスクドライブ、前記キャッシュメモリ部及び前記第３プロセッサを使用している前記論理区画の数に基づいて、前記ディスクドライブ、前記キャッシュメモリ部及び前記第３プロセッサの定常消費電力を前記各論理区画の定常消費電力として算出し、
電力を算出する部位の消費電力が変動しないと判定された場合、前記算出された論理記憶領域へのアクセスに対するディスクドライブの消費電力の増加分、算出された各論理記憶領域に対するアクセスのときに使用されたキャッシュメモリ部の消費電力の増加分、及び前記算出された論理記憶領域のアクセスに対する第３のプロセッサの消費電力の増加分と、前記論理記憶領域と前記論理区画との対応関係とから、前記論理区画における前記ディスクドライブ、前記キャッシュメモリ部及び前記第３プロセッサの消費電力の増加分を算出し、
前記算出された各論理区画におけるディスクドライブ、キャッシュメモリ部及び第３プロセッサの定常消費電力、及び前記算出された各論理区画におけるディスクドライブ、キャッシュメモリ部及び第３プロセッサの消費電力の増加分を表示することを特徴とする請求項７乃至請求項１１に記載の計算機システム。
【請求項１３】
管理計算機と、前記管理計算機及びホスト計算機に接続されたストレージシステムとを備える計算機システムであって、
前記管理計算機は、ネットワークに接続される第１のインタフェースと、前記第１のインタフェースに接続される第１のプロセッサと、前記第１のプロセッサに接続される第１のメモリとを備え、
前記ホスト計算機は、前記ストレージシステムと接続される第２のインタフェースと、前記第２のインタフェースに接続される第２のプロセッサと、前記第２のプロセッサに接続される第２のメモリとを備え、
前記ストレージシステムは、
複数のディスクドライブへのデータの読み書きを制御する少なくとも一つの第３のプロセッサと、前記第３のプロセッサと接続される制御メモリと、前記管理計算機と接続される管理インタフェースと、前記ネットワークと接続される少なくとも一つのホストインタフェースと、前記ディスクドライブと接続される少なくとも一つのディスクインタフェースと、データを一時的に格納するキャッシュメモリ部とを備え、
前記第３のプロセッサ、前記管理インタフェース、前記ホストインタフェース、前記ディスクインタフェース、及び前記キャッシュメモリ部は、互いにスイッチ部によって接続され、
前記制御メモリは、前記ストレージシステムを制御するためのストレージ制御プログラムと、前記ストレージシステムを制御するために必要な制御データとを備え、
前記キャッシュメモリ部は、複数の第３のメモリと、前記複数の第３のメモリを制御するメモリコントローラとを備え、
前記メモリコントローラは、前記メモリへのアクセス量を記録するアクセス時間記録テーブルを備え、
前記ストレージシステムは、
前記複数のディスクドライブの実領域上に論理ボリュームを作成し、
前記ストレージシステムが備える物理資源を論理的に分割し、前記論理ボリュームと前記論理的に分割された物理資源とから構成される複数の仮想ストレージを生成し、
前記論理区画を前記ホスト計算機に提供し、
前記制御データは、
ディスクドライブの構成を記憶するディスク部構成テーブルと、
前記論理記ボリュームごとに各アクセス種別における前記ディスクドライブの稼働時間を記憶するディスク部稼働時間記録テーブルと、
各アクセス種別における前記ディスクドライブの消費電力の増加分、及び稼働している前記ストレージシステムが処理を実行していない場合における前記ディスクドライブの消費電力とを記憶するディスク電力仕様テーブルと、
前記制御部及び前記キャッシュメモリ部の構成を記憶するコントロール部構成テーブルと、
稼働している前記ストレージシステムが処理を実行していない場合における前記制御部及び前記キャッシュメモリ部の消費電力を記憶するコントロール部電力仕様テーブルと、
稼働している前記ストレージシステムが処理を実行している場合における前記制御部及び前記キャッシュメモリ部の消費電力増加分を記憶するコントロール部電力変動仕様テーブルと、
前記論理ボリュームごとに前記プロセッサコアの稼働時間を記憶するプロセッサ稼働記録テーブルと、
前記論理ボリュームに対するアクセスのときに使用されたキャッシュメモリ部へのアクセス量を記憶するキャッシュアクセス量テーブルと、
前記管理計算機は、
前記ストレージシステムを管理するためのストレージ管理プログラムを備え、
前記論理ボリューム及び前記論理的に分割された物理資源と前記仮想ストレージとの対応関係を記憶する、仮想ストレージ−ボリューム対応テーブルを含み、
仮想ストレージの電力を表示するための仮想ストレージ電力表示機能とを含み、
電力を推定するための電力推定機能を備え、
前記ストレージシステムは、
ディスク部構成テーブルとディスク電力仕様テーブルとを参照し、前記ディスク部の消費電力を算出し、
前記ディスク部稼働時間記録テーブルと前記電力指定機能が実行される周期とから、前記論理ボリュームへのアクセスに対するディスクドライブの稼働率を算出し、
ディスク電力仕様テーブルと前記前記算出されたディスクドライブの稼働率とから、各々のアクセス種別における前記論理ボリュームへのアクセスに対するディスク部の消費電力増加分を算出し、
コントロール部構成テーブルとコントロール部電力仕様テーブルとから、前記キャッシュメモリ部及び前記制御部の消費電力を算出し、
アクセス時間記録テーブルと前記電力指定機能が実行される周期とから、キャッシュメモリ部の稼働率を算出し、
コントロール部電力変動仕様テーブルと前記算出されたキャッシュメモリ部の稼働率とから前記キャッシュメモリ部の電力増加分を算出し、
前記アクセス時間記録テーブル、前記コントロール部電力変動仕様テーブル、及び前記キャッシュアクセス量テーブルから、前記論理ボリュームへのアクセスに対する前記キャッシュメモリ部の消費電力増加分を算出し、
前記プロセッサ稼働記録テーブルと前記電力指定機能が実行される周期とから、前記論理ボリュームへのアクセスに対する前記プロセッサコアの稼働率を算出し、
前記コントロール部電力変動仕様テーブルと前記算出されたプロセッサコアの稼働率とから、前記論理ボリュームへのアクセスに対する制御部の消費電力増加分を算出し、
前記算出されえた各消費電力及び各消費電力増加分を前記管理計算機に送信し、
前記管理計算機は、
仮想ストレージ‐ボリューム対応テーブルを参照し、前記仮想ボリュームごとにディスク部の電力増加分、キャッシュメモリ部の電力増加分、制御部の電力増加分を算出し、算出結果、前記ディスク部の消費電力分及びコントロール部消費電力を表示することを特徴とする計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを複数の磁気ディスク装置に格納するストレージシステムに関する。
【背景技術】
【０００２】
複数の磁気ディスク装置から構成されるディスクアレイでサブシステムを構成し、データを前記ディスクアレイに格納する、いわゆるストレージシステムが知られている。
【０００３】
このようなストレージシステムは、多数の計算機を接続して用いるため、データセンタ等の、多くの計算機が集中する環境で用いられることが多い。
【０００４】
一方、近年、データセンタ、及びデータセンタにおける機器の消費電力は増大する傾向にある。その中でもストレージシステムの消費電力は大きく、ストレージシステム内の装置の稼働状況に応じて、ディスクの電源を落とす等の、データの移行を行うなどの省電力制御が求められている。前述の省電力制御を実現するためには、装置の稼働状況に応じた消費電力を、細かい構成部位単位で、精確に求める必要がある。
【０００５】
また、ストレージシステムは、一般的に多数のホスト計算機と接続されるため、複数のホスト計算機によってストレージシステム内の同じ物理資源が共有される。一般的には、ストレージシステム内の物理資源は論理的に分割され、ストレージシステムは、当該論理資源を各ホスト計算機に提供している。
【０００６】
このとき、ホスト計算機及びストレージシステムを含む全体のシステムで省電力制御を行うためには、ストレージシステムの消費電力を、対応するホスト計算機毎、即ち論理資源毎に求められることが望ましい。
【０００７】
前述した課題を解決する方法としては、各々の稼働部位の電力を測定し、測定された電力と、定格電力、Ｉ／Ｏ数、及び転送量などとを関連付けて、管理者に提示する方法がある（例えば、特許文献１参照）。
【０００８】
他の方法としては、装置の消費電力に閾値を設け、電力が閾値以下になるようディスクの回転数、及び電源のＯＮ／ＯＦＦの制御を行う方法がある（例えば、特許文献２参照）。特許文献２に記載されている発明では、各部品が消費する電力の最大値、即ち、定格電力を用いた制御を行っている。
【０００９】
また、他の方法として、ノートＰＣ等に用いられる小型ハードドライブドライブについて、詳細な状態シミュレーション（Ｉ／Ｏトレースから、シーク、頭出し待ち、及びアクセスなどの状態遷移のシミュレーション）を行い、消費電力を推定する方法がある（例えば、非特許文献１参照）。また、非特許文献１には、簡略な方法として、稼働時間の割合を用いて消費電力を推定する方法も開示されている。
【特許文献１】特開２００７−０７９７５４号公報
【特許文献２】特開２００８−００３７１９号公報
【非特許文献１】"Modeling Hard-Disk Power Consumption", Proceedings of 2nd USENIX Conference on File and Storage Technologies, 2003
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかし、特許文献１に記載された発明のように電力を実測する方法では、例えば、論理ボリュームに対応するディスクなど、細かい単位で消費電力を知りたい場合、消費電力を求める構成単位毎に電力計を用いる必要がある。また、任意の複数のディスクを組み合わせて論理ボリュームが構成される場合、消費電力を求める構成単位が変化するため、更に細かい単位、即ち、各ディスクに電力計を用いて消費電力を求める必要がある。また、複数の論理ボリュームが同一のディスクを共有している場合、前述した方法では各論理ボリューム毎の電力を求めることができない。
【００１１】
また、特許文献２に記載されている発明のように定格電力による消費電力積み上げでは、実際の消費電力と大きな乖離があるため、精度のよい制御ができない。また、複数の論理区画が同一のハードウェア資源を共有する場合における各論理区画毎の消費電力を求める方法が開示されていない。
【００１２】
また、非特許文献１に記載された発明のようにディスクの状態シミュレーションによる推定では、ディスクの詳細な状態をシミュレーションする必要があり、計算量が大きくなる。また、稼働時間の割合を用いた推定方法では、ディスクから稼働時間の情報を取り出せるようにディスクのファームウェアを改変し、その情報をストレージのコントローラで取り出す仕組みを作る必要がある。即ち、全ディスクの種別毎に、ディスクのファームウェアを改変する必要がある。また、非特許文献１に記載された発明では、ディスクアクセスの種類（空間、時間局所性）に特徴（偏り）がある場合、十分な精度が出ない。また、ストレージシステムが複数の仮想ストレージをサポートし、それらが同一のハードウェア資源を共有する場合、仮想ストレージ毎の消費電力を求める方法が開示されていない。また、非特許文献１には、コントローラ部について、電力を推定する方法も開示されていない。
【００１３】
以上のように、従来の方法では、ストレージシステムについて、コントローラ部、ディスクアレイ部分の電力を求めることができない。また、仮想ストレージをサポートするストレージシステムにおいて、各仮想ストレージの消費電力を求めることができない。
【００１４】
本発明は、前述の問題点を鑑みてなされたものであり、ストレージシステムにおいて、各部位、及び各論理区画毎の消費電力を求めることである。
【課題を解決するための手段】
【００１５】
本発明の代表的な一例を示せば以下の通りである。即ち、管理計算機と、前記管理計算機及びホスト計算機に接続されたストレージシステムとを備える計算機システムにおける電力推定方法であって、前記管理計算機は、前記ストレージシステムに接続される第１のインタフェースと、前記第１のインタフェースに接続される第１のプロセッサと、前記第１のプロセッサに接続される第１のメモリとを備え、前記ホスト計算機は、前記ストレージシステムと接続される第２のインタフェースと、前記第２のインタフェースに接続される第２のプロセッサと、前記第２のプロセッサに接続される第２のメモリとを備え、前記ストレージシステムは、複数のディスクドライブへのデータの読み書きを制御する少なくとも一つの第３のプロセッサと、前記第３のプロセッサと接続される制御メモリと、前記管理計算機と接続される管理インタフェースと、前記ホスト計算機と接続されるホストインタフェースと、前記ディスクドライブと接続されるディスクインタフェースと、データを一時的に格納するキャッシュメモリ部とを備え、前記第３のプロセッサ、前記管理インタフェース、前記ホストインタフェース、前記ディスクインタフェース、及び前記キャッシュメモリ部は、互いに接続され、前記キャッシュメモリ部は、複数の第３のメモリと、前記複数の第３のメモリを制御するメモリコントローラとを備え、前記制御メモリは、前記ストレージシステムを制御するためのストレージ制御プログラムと、前記ストレージシステムを制御するために必要な制御データとを格納し、前記ストレージ制御プログラムは、電力を推定するための電力推定プログラムを含み、前記制御データは、前記ストレージシステムが処理を実行しているときにおける前記ディスクドライブ、前記キャッシュメモリ部及び前記第３のプロセッサの消費電力の増加分を示す増加消費電力情報を含み、前記ストレージシステムは、前記複数のディスクドライブの実領域上に論理記憶領域を作成し、前記ストレージシステムが備える物理資源を論理的に分割し、前記論理記憶領域と前記論理的に分割された物理資源とから構成される複数の論理区画を生成し、前記論理区画を前記ホスト計算機に提供し、前記増加消費電力情報は、前記論理記憶領域へのアクセス種別における前記ディスクドライブの消費電力の増加分に関する情報を含み、前記方法は、前記第３のプロセッサが、前記論理記憶領域へのアクセスに対する前記ディスクドライブの稼働時間から、前記論理記憶領域へのアクセスに対するディスクドライブの稼働率を算出するステップと、前記第３のプロセッサが、前記増加消費電力情報と、前記算出されたディスクドライブの稼働率とから、各アクセス種別における前記論理記憶領域へのアクセスに対するディスクドライブの消費電力の増加分を算出するステップと、前記第３のプロセッサが、前記算出された論理記憶領域へのアクセスに対するディスクドライブの消費電力の増加分を前記管理計算機に送信するステップとを含むことを特徴とする。
【発明の効果】
【００１６】
本発明によれば、ストレージシステムのディスク部分、及びその他の構成部分の消費電力を求めることができ、これによって論理区画毎の消費電力を求めることが可能になる。その結果、より精度の良い電力制御が可能となる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明を実施するための形態について、図を用いて説明する。
【００１８】
［第１の実施形態］
本発明の第１の実施形態は、ストレージシステムにおいて、ストレージシステムに含まれディスク、及びストレージシステムのコントローラ部分の稼働状況に応じた消費電力を推定する発明である。
【００１９】
まず、第１の実施形態の概要について説明する。
【００２０】
第１の実施形態では、稼働状況に応じた消費電力を、以下のようにして求める。ストレージシステムが、各々のディスクの種別における、Ｉｄｌｅ時の消費電力、及び各Ｉ／Ｏ種別（ランダムまたはシーケンシャル、及びリードまたはライト）のアクセスを常に処理している状態での消費電力（以下、消費電力基礎データ）に関する情報を保持している場合、Ｉ／Ｏ種別毎に、ストレージシステムの制御部がディスクからの応答を待っている時間を集計する。ストレージシステムは、保持される消費電力基礎データと集計された稼働情報とから、稼働状況に応じた消費電力を求める。また、ストレージシステムは、コントローラ部分について、プロセッサの稼働時間、及びキャッシュメモリへのアクセス時間を記録し、前述のプロセッサの稼働時間及びキャッシュメモリへのアクセス時間から消費電力を求める。なお、以下、任意のＩ／Ｏ種別のアクセスを常に処理している状態を、限界まで稼働している状態ともいう。
【００２１】
図１は、本発明の第１の実施形態の計算機システムの構成を説明するブロック図である。
【００２２】
計算機システムは、ストレージシステム１、管理用端末４、及びホストコンピュータ７１を備える。ストレージシステム１は、管理用端末４とホストコンピュータ７１とに接続されている。
【００２３】
ストレージシステム１は、ディスクドライブ６、ホストインターフェース（Ｉ／Ｆ）部７２、ディスクインターフェース（Ｉ／Ｆ）部７４、キャッシュメモリ部７３、制御部７５、管理端末用インターフェース（Ｉ／Ｆ）部７７、及びスイッチ部７６を備える。
【００２４】
ホストＩ／Ｆ部７２は、ホストコンピュータ７１と接続するためのインタフェースであり、ストレージシステム１はホストＩ／Ｆ部７２を介してホストコンピュータ７１とデータをやり取りする。
【００２５】
ホストＩ／Ｆ部７２は、プロトコル変換ＬＳＩ７２１及びデータ転送ＬＳＩ７２２を備える。
【００２６】
プロトコル変換ＬＳＩ７２１は、ホストコンピュータ７１との接続に用いられるＦｉｂｒｅ  Ｃｈａｎｎｅｌのプロトコル、及びストレージ内部で用いられるＰＣＩのプロトコルを変換する。
【００２７】
データ転送ＬＳＩ７２２は、制御部７５からの指示に従って、プロトコル変換ＬＳＩ７２１とキャッシュメモリ部７３との間のデータを転送する。
【００２８】
なお、図１に示す例において、ホストＩ／Ｆ部７２は二つであるが、ストレージシステム１は、二つ以上ホストＩ／Ｆ部７２を備えていてもよい。また、プロトコル変換ＬＳＩ７２１は、Ｆｉｂｒｅ  Ｃｈａｎｎｅｌのプロトコル、及びＰＣＩのプロトコル以外のプロトコルを変換するものであってもよい。
【００２９】
キャッシュメモリ部７３は、ディスクドライブ６に格納されているデータの一部に高速にアクセスするためのデータを格納している。
【００３０】
ディスクＩ／Ｆ部７４は、ストレージシステム１が備えるディスクドライブ６と接続するためのインタフェースであり、ストレージシステム１はディスクＩ／Ｆ部７４を介してディスクドライブ６とデータのやり取りしている。
【００３１】
ディスクＩ／Ｆ部７４は、プロトコル変換ＬＳＩ７４１及びデータ転送ＬＳＩ７４２を備える。
【００３２】
プロトコル変換ＬＳＩ７４１は、ディスクドライブ６との接続に用いられるＦｉｂｒｅ  ＣｈａｎｎｅｌまたはＳＡＳ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ）のプロトコル、及びストレージ内部で用いられるプロトコルを変換する。
【００３３】
データ転送ＬＳＩ７４２は、制御部７５からの指示に従って、ディスクドライブ６とキャッシュメモリ部７３との間のデータを転送する。
【００３４】
なお、プロトコル変換ＬＳＩ７４１は、Ｆｉｂｒｅ  Ｃｈａｎｎｅｌのプロトコル、ＳＡＳのプロトコル、及びストレージ内部で用いられるプロトコル以外のプロトコルを変換するものであってもよい。
【００３５】
制御部７５は、ストレージシステム１を制御している。制御部７５は、プロセッサ７８と制御メモリ７９とを備える。また、プロセッサ７８は、複数のプロセッサコア７８１を備える。
【００３６】
制御メモリ７９は、ストレージ制御プログラム２と、ストレージ制御に必要な情報である制御データ３とを格納する。プロセッサ７８は、ストレージシステム１を制御するストレージ制御プログラム２を実行し、ストレージシステム１を制御する。例えば、制御部７５は、ストレージシステム１内のデータ転送を制御する。
【００３７】
管理端末用Ｉ／Ｆ部７７は、管理用端末４と接続するためのインタフェースであり、ストレージシステム１は管理端末用Ｉ／Ｆ部７７を介して管理用端末４とデータのやり取りをする。
【００３８】
スイッチ部７６は、ホストＩ／Ｆ部７２、キャッシュメモリ部７３、ディスクＩ／Ｆ部７４、制御部７５及び管理端末用Ｉ／Ｆ７７を接続する。
【００３９】
管理用端末４は、プロセッサ（図示省略）、不揮発性記憶媒体（図示省略）、及びメモリ（図示省略）を備え、不揮発性記憶媒体はストレージシステム１の管理を行うストレージ管理プログラム５が格納されており、当該ストレージ管理プログラム５によって、ストレージシステム１を管理している。
【００４０】
ホストコンピュータ７１は、プロセッサ（図示省略）、不揮発性記憶媒体（図示省略）、及びメモリ（図示省力）を備え、ストレージシステム１が備えるディスクドライブ６からデータを読み出したり、また、ディスクドライブ６にデータを書き込んだりする。
【００４１】
図２は、本発明の第１の実施形態のキャッシュメモリ部７３の構成を説明するブロック図である。
【００４２】
キャッシュメモリ部７３は、メモリコントローラＬＳＩ７３１とメモリモジュール（ＤＩＭＭ）７３３とを備える。
【００４３】
メモリコントローラＬＳＩ７３１は、ストレージシステム１の内部で用いられるＰＣＩのプロトコル、及びメモリモジュール７３３へのアクセスに用いられるＳＤＲＡＭアクセスプロトコルを変換する。また、メモリコントローラＬＳＩ７３１は、メモリモジュール７３３へアクセスされた時間を記録するアクセス時間記録テーブル７３２を備える。なお、メモリコントローラＬＳＩ７３１は、ストレージシステム１の内部で用いられるＰＣＩのプロトコル、及びメモリモジュール７３３へのアクセスに用いられるＳＤＲＡＭアクセスプロトコル以外のプロトコルを変換するものであってもよい。
【００４４】
図３は、本発明の第１の実施形態のアクセス時間記録テーブル７３２の一例を示す図である。
【００４５】
アクセス時間記録テーブル７３２は、チャネル番号７３２１及びアクセス時間７３２２を含む。チャネル番号７３２１は、メモリモジュール７３３とメモリコントローラＬＳＩ７３１との間のデータ転送路であるチャネルの識別子を格納する。アクセス時間７３２２は、それぞれのチャネルにおいて過去にアクセスされた累積時間を示す値を格納する。
【００４６】
図４は、本発明の第１の実施形態のストレージ制御プログラム２が備える機能を説明するブロック図である。
【００４７】
ストレージ制御プログラム２は、ホストＩ／Ｏ受領機能２１、ディスクＩ／Ｏ発行機能２２、ディスクＩ／Ｏ完了処理機能２３、電力推定機能２４、ジョブ起動処理機能２５、及びジョブ終了処理機能２６を備える。各々の機能についての詳細は、図１６〜図２０を用いて後述する。
【００４８】
図５は、本発明の第１の実施形態の制御データ３の構成を説明するブロック図である。
【００４９】
制御データ３は、ディスク部構成テーブル３１、ディスク電力仕様テーブル３２、ディスク稼働記録テーブル３３、Ｔａｇ管理テーブル３４、Ｉ／Ｏ発行状況テーブル３５、コントローラ部構成テーブル３６、コントローラ部電力仕様テーブル３７、コントローラ部電力変動仕様テーブル３８、プロセッサ稼働記録テーブル３９、及びプロセッサ稼働状況テーブル３０を備える。以下、各々のテーブルについて説明する。
【００５０】
図６は、本発明の第１の実施形態のディスク部構成テーブル３１の一例を示す図である。
【００５１】
ディスク部構成テーブル３１は、ストレージシステム１に搭載されているディスクドライブ６の種別、及びディスクドライブ６が搭載されている物理的な位置を管理する。ディスク部構成テーブル３１は、ディスク６を増設または減設するとき更新される。また、電力を推定するときに、電力推定機能２４がディスク部構成テーブル３１を参照する。
【００５２】
ディスク部構成テーブル３１は、ディスク番号３１１及びディスク型番３１２を含む。
【００５３】
ディスク番号３１１は、ディスクドライブ６が搭載される物理的な位置示す情報を格納する。例えば、ストレージシステム１のスロット番号を識別する識別子が格納される。
【００５４】
ディスク型番３１２は、ディスク番号３１１に対応する位置に、どの種別のディスクドライブ６が搭載されているかを示す情報を格納する。例えば、ディスクドライブ６の型番が格納される。電力に関する仕様が異なるディスクドライブ６を識別できればどのような情報であってもよい。
【００５５】
図７は、本発明の第１の実施形態のディスク電力仕様テーブル３２の一例を示す図である。
【００５６】
ディスク電力仕様テーブル３２は、ストレージシステム１に搭載されているディスクドライブ６の種別毎に、各々の状態における消費電力を管理する。ディスク電力仕様テーブル３２は、新規種別のディスクドライブ６が追加されたときに更新される。また、電力を推定するときに、電力推定機能２４がディスク電力仕様テーブル３２を参照する。
【００５７】
ディスク電力仕様テーブル３２は、ディスク型番３２１、Ｉｄｌｅ時電力３２２、Ｒａｎｄｏｍ  Ｒｅａｄ時電力増分３２３、Ｒａｎｄｏｍ  Ｗｒｉｔｅ時電力増分３２４、Ｓｅｑｕｅｎｔｉａｌ  Ｒｅａｄ時電力増分３２５、及びＳｅｑｕｅｎｔｉａｌ  Ｗｒｉｔｅ時電力増分３２６を含む。
【００５８】
ディスク型番３２１は、ディスクの種別を識別する識別子を格納する。例えば、ディスクドライブ６の型番などが格納される。図６のディスク型番３１２と同一のものである。
【００５９】
Ｉｄｌｅ時電力３２２は、対応するディスクドライブ６がＩｄｌｅ状態のときの消費電力を示す値を格納する。ここで、Ｉｄｌｅ状態とは、電源が入っておりアクセスを受け付け可能であるが、アクセスが来ていない状態を示す。
【００６０】
Ｒａｎｄｏｍ  Ｒｅａｄ時電力増分３２３は、対応するディスクドライブ６がＲａｎｄｏｍ  Ｒｅａｄのみを受け付けており、かつ、限界まで稼働している状態における消費電力とＩｄｌｅ時電力３２２との差分を示す値を格納する。ここで、Ｒａｎｄｏｍ  Ｒｅａｄとは、ホストコンピュータ７１がディスクドライブ６の全体に対し、局所性が無いリードアクセスを発行している状態を示す。
【００６１】
Ｒａｎｄｏｍ  Ｗｒｉｔｅ時電力増分３２４は、対応するディスクドライブ６がＲａｎｄｏｍ  Ｗｒｉｔｅのみを受け付けており、かつ、限界まで稼働している状態における消費電力とＩｄｌｅ時電力３２２との差分を示す値を格納する。ここで、Ｒａｎｄｏｍ  Ｗｒｉｔｅとは、ホストコンピュータ７１がディスクの全体に対し、局所性が無いライトアクセスを発行している状態を示す。
【００６２】
Ｓｅｑｕｅｎｔｉａｌ  Ｒｅａｄ時電力増分３２５は、対応するディスクドライブ６がＳｅｑｕｅｎｔｉａｌ  Ｒｅａｄのみを受け付けており、かつ、限界まで稼働している状態における消費電力とＩｄｌｅ時電力との差分を示す値を格納する。ここで、Ｓｅｑｕｅｎｔｉａｌ  Ｒｅａｄとは、ホストコンピュータ７１がディスクの連続した領域に対し、順番にリードアクセスを発行している状態を示す。
【００６３】
Ｓｅｑｕｅｎｔｉａｌ  Ｗｒｉｔｅ時電力増分３２６は、対応するディスクドライブ６がＳｅｑｕｅｎｔｉａｌ  Ｗｒｉｔｅのみを受け付けており、かつ、限界まで稼働している状態における消費電力とＩｄｌｅ時電力との差分を示す値を格納する。ここで、Ｓｅｑｕｅｎｔｉａｌ  Ｗｒｉｔｅとは、ホストコンピュータ７１がディスクの連続した領域に対し、順番にライトアクセスを発行している状態を示す。
【００６４】
図８は、本発明の第１の実施形態のディスク稼働記録テーブル３３の一例を示す図である。
【００６５】
ディスク稼働記録テーブル３３は、ディスクドライブ６にアクセスされた時間を管理する。ディスク稼働記録テーブル３３は、ディスクドライブ６にアクセスされる毎に更新される。また、電力を推定するときに、電力推定機能２４がディスク稼働記録テーブル３３を参照する。
【００６６】
ディスク稼働記録テーブル３３は、ディスク番号３３１、Ｒａｎｄｏｍ  Ｒｅａｄ累計稼働時間３３２、Ｒａｎｄｏｍ  Ｗｒｉｔｅ累計稼働時間３３３、Ｓｅｑｕｅｎｔｉａｌ  Ｒｅａｄ累計稼働時間３３４、及びＳｅｑｕｅｎｔｉａｌ  Ｗｒｉｔｅ累計稼働時間３３５を含む。
【００６７】
ディスク番号３３１は、ディスクドライブ６が搭載される物理的な位置示す情報を格納する。図６のディスク番号３１１と同一のものである。
【００６８】
Ｒａｎｄｏｍ  Ｒｅａｄ累計稼働時間３３２は、ディスク番号３３１に対応するディスクドライブ６に対してＲａｎｄｏｍ  Ｒｅａｄアクセスが発行されていた時間の累計時間を格納する。
【００６９】
Ｒａｎｄｏｍ  Ｗｒｉｔｅ累計稼働時間３３３は、ディスク番号３３１に対応するディスクドライブ６に対してＲａｎｄｏｍ  Ｗｒｉｔｅアクセスが発行された時間の累積時間を格納する。
【００７０】
Ｓｅｑｕｅｎｔｉａｌ  Ｒｅａｄ累計稼働時間３３４は、ディスク番号３３１に対応するディスクドライブ６に対してＳｅｑｕｅｎｔｉａｌ  Ｒｅａｄアクセスが発行された時間の累積時間を格納する。
【００７１】
Ｓｅｑｕｅｎｔｉａｌ  Ｗｒｉｔｅ累計稼働時間３３５は、ディスク番号３３１に対応するディスクドライブ６に対してＳｅｑｕｅｎｔｉａｌ  Ｗｒｉｔｅアクセスが発行された時間の累積時間を格納する。
【００７２】
図９は、本発明の第１の実施形態のＴａｇ管理テーブルの３４の一例を示す図である。
【００７３】
Ｔａｇ管理テーブル３４は、各ディスクドライブ６に対し発行されているアクセスを識別するための識別子であるＴａｇを管理する。これによって、一つのディスクドライブ６に対して多重にアクセスが発行されている場合でも、応答がどのアクセス要求に対するものであるかを識別できる。
【００７４】
Ｔａｇ管理テーブル３４は、ディスク番号３４１、Ｔａｇ番号３４２、及びアクセス種別３４３を含む。
【００７５】
ディスク番号３４１は、ディスクドライブ６が搭載される物理的な位置示す情報を格納する。図６のディスク番号３１１と同一のものである。
【００７６】
Ｔａｇ番号３４２は、ディスクドライブ６に対し同時に発行されている複数のアクセスを一意に識別するための識別子を格納する。Ｔａｇ番号３４２は、制御部７５によってアクセス発行時に指定される。
【００７７】
アクセス種別３４３は、ディスクドライブ６にアクセスすることになった契機を示す情報を格納する。具体的には、ディスクドライブ６に発行されたアクセスの種別が格納される。
【００７８】
なお、Ｔａｇ管理テーブル３４は、アクセス種別３４３のみを格納し、どのホストコンピュータ７１からのアクセスかは管理していないが、制御部７５は、各ホストコンピュータ７１のＩ／Ｏを識別するための識別子を付与し、当該識別子とＴａｇ番号３４２とを対応付けたテーブル（図示省略）を別に備え、当該対応テーブルによって、ホストコンピュータ７１及びホストコンピュータ７１から発行されたアクセスの種別を管理している。
【００７９】
図１０は、本発明の第１の実施形態のＩ／Ｏ発行状況テーブル３５の一例を示す図である。
【００８０】
Ｉ／Ｏ発行状況テーブル３５は、各ディスクドライブ６に対し、発行されたアクセスの種別、及びアクセスが発行された時刻を管理する。Ｉ／Ｏ発行状況テーブル３５は、ディスクＩ／Ｏ発行機能２２がディスクドライブ６へのアクセスを新規に発行したとき、または、ディスクＩ／Ｏ完了処理機能２３がディスクドライブ６からの応答を処理したときに参照され、また、更新される。
【００８１】
Ｉ／Ｏ発行状況テーブル３５は、ディスク番号３５１、アクセス種別３５２、現在発行中コマンド数３５３、及びディスク稼働開始時刻３５４を含む。
【００８２】
ディスク番号３５１は、ディスクドライブ６が搭載される物理的な位置示す情報を格納する。図６のディスク番号３１１と同一のものである。
【００８３】
アクセス種別３５２は、ディスクドライブ６にアクセスすることになった契機を示す情報を格納する。図９のアクセス種別３４３と同一のものである。
【００８４】
現在発行中コマンド数３５３は、ディスク番号３５１に対応するディスクドライブ６に、現在、アクセス種別３５２に対応するアクセスが現在いくつ発行されているかを示す値を格納する。
【００８５】
ディスク稼働開始時刻３５４は、ディスク番号３５１に対応するディスクドライブ６に、アクセス種別３５２に対応するアクセスがいつから発行されているかを示す値を格納する。具体的には、ストレージシステム１が稼働してからカウントされる、ストレージシステム１の内部時間が格納される。
【００８６】
図１１は、本発明の第１の実施形態のコントローラ部構成テーブル３６の一例を示す図である。
【００８７】
コントローラ部構成テーブル３６は、ストレージシステム１に搭載されている、キャッシュメモリ部７３または制御部７５などの構成部の具体的な種類、及び構成部の物理的な搭載位置を管理する。コントローラ部構成テーブル３６は、部品を増設または減設するときに更新される。また、また、電力を推定するときに、電力推定機能２４がコントローラ部構成テーブル３６を参照する。
【００８８】
コントローラ部構成テーブル３６は、種別３６１、スロット番号３６２、及び部品名３６３を含む。
【００８９】
種別３６１は、制御部７５やキャッシュメモリ部７３などのストレージシステム１の構成部の種別を格納する。  スロット番号３６２は、各構成部の部品を増設する場合に使用されるスロットの番号を格納する。スロットの数は、ストレージシステム１に予め備えられた数だけ存在する。
【００９０】
部品名３６３は、スロットに搭載されている各構成部の部品の具体的な種別を示す情報を格納する。なお、任意のスロット番号３６２に対応するスロットに構成部の部品が搭載されていいない場合は、「無し」が格納される。ただし、搭載されていないことを示す情報であれば、他の情報を格納してもよい。
【００９１】
コントローラ部構成テーブル３６を備えることによって、ストレージシステム１の具体的な装置構成が分かる。
【００９２】
図１２は、本発明の第１の実施形態のコントローラ部電力仕様テーブル３７の一例を示す図である。
【００９３】
コントローラ部電力仕様テーブル３７は、ストレージシステム１に搭載されている各種部品の定常状態（Ｉｄｌｅ状態）における消費電力の情報を管理する。コントローラ部電力仕様テーブル３７は、新規種別の部品が追加されたときに更新される。また、電力を推定するときに、電力推定機能２４がコントローラ部電力仕様テーブル３７を参照する。
【００９４】
コントローラ部電力仕様テーブル３７は、種別３７１、部品名３７２、及びＩｄｌｅ時電力３７３を含む。
【００９５】
種別３７１は、制御部７５またはキャッシュメモリ部７３などのストレージシステム１の構成部の種別を格納する。種別３７１は、図１１の種別３６１と同一のものである。
【００９６】
部品名３７２は、性能、または容量が違う部品を区別するため部品の型番など、電力に関する仕様が異なるもの識別できる情報を格納する。部品名３７２は、図１１の部品名３６３と同一のものである。
【００９７】
Ｉｄｌｅ時電力３７３は、通電されている部品が特に稼働していないとき（Ｉｄｌｅ時）の消費電力を格納する。
【００９８】
図１３は、本発明の第１の実施形態のコントローラ部電力変動仕様テーブル３８の一例を示す図である。
【００９９】
コントローラ部電力変動仕様テーブル３８は、ストレージシステム１に搭載されている各構成部の稼働状況における電力の変動を管理する。
【０１００】
コントローラ部電力変動仕様テーブル３８は、種別３８１、部品名３８２、及び電力増分３８３を含む。
【０１０１】
種別３８１は、制御部７５やキャッシュメモリ部７３などのストレージシステム１の構成部の種別を格納する。種別３８１は、図１１の種別３６１と同一のものである。
【０１０２】
部品名３８２は、性能、または容量が異なる部品を区別するための部品の型番など、電力に関する仕様が異なるもの識別できる情報を格納する。部品名３８２は、図１１の部品名３６３と同一のものである。
【０１０３】
電力増分３８３は、該当する部品の最大限稼働時における消費電力の増加分を格納する。
【０１０４】
コントローラ部電力変動仕様テーブル３８は、消費電力が変動するストレージシステム１の構成部に関する情報のみを格納してもよいし、ストレージシステム１の全ての構成部に関する情報を格納してもよい。ストレージシステム１の全ての構成部に関する情報が格納される場合、消費電力が変動しない部品の電力増分３８３は、「０」が格納される。
【０１０５】
図１４は、本発明の第１の実施形態のプロセッサ稼働記録テーブル３９の一例を示す図である。
【０１０６】
プロセッサ稼働記録テーブル３９は、制御部７５が備えるプロセッサ７８の稼働時間を管理する。プロセッサ稼働記録テーブル３９は、プロセッサ７８上で動作するスケジューラによってジョブ、即ち、ストレージ制御プログラム２が備える、ホストＩ／Ｏ処理機能、またはディスクＩ／Ｏ処理機能などのＩ／Ｏ処理機能が実行されているときに更新される。また、電力を推定するときに、電力推定機能２４がプロセッサ稼働記録テーブル３９を参照する。
【０１０７】
プロセッサ稼働記録テーブル３９は、制御部番号３９１、プロセッサコア番号３９２、及び累計稼働時間３９３を含む。
【０１０８】
制御部番号３９１は、ストレージシステム１内が備える複数の制御部７５を識別するための識別子を格納する。
【０１０９】
プロセッサコア番号３９２は、制御部７５が備えるプロセッサ７８の内部に存在する複数のプロセッサコア７８１を識別する識別子を格納する。
【０１１０】
累計稼働時間３９３は、プロセッサコア番号３９２に対応するプロセッサコア７８１上でジョブが実行されていた時間の累計を格納する。
【０１１１】
図１５は、本発明の第１の実施形態のプロセッサ稼働状況テーブル３０の一例を示す図である。
【０１１２】
プロセッサ稼働状況テーブル３０は、ストレージ制御プログラム２のジョブが実行されているか否か、及びストレージ制御プログラム２のジョブが開始された時間を管理する。
【０１１３】
プロセッサ稼働状況テーブル３０は、制御部番号３０１、プロセッサコア番号３０２、及びジョブ開始時刻３０３を含む。
【０１１４】
制御部番号３０１は、ストレージシステム１内が備える複数の制御部７５を識別するための識別子を格納する。制御部番号３０１は、図１４の制御部番号３９１と同一のものである。
【０１１５】
プロセッサコア番号３０２は、制御部７５が備えるプロセッサ７８の内部に存在する複数のプロセッサコア７８１を識別するための識別子を格納する図１４のプロセッサコア番号３９２と同一のものである。
【０１１６】
ジョブ開始時刻３０３は、現在ストレージ制御プログラム２のジョブが実行されているか否か、及びストレージ制御プログラム２のジョブが開始された時間を格納する。具体的には、ストレージ制御プログラム２のジョブが実行されていない場合、ジョブ開始時刻３０３には何も格納されない。また、ストレージ制御プログラム２のジョブが実行されている場合、ジョブ開始時刻３０３にはストレージ制御プログラム２のジョブが開始された時間を格納する。なお、格納される時間は、ストレージシステム１の内部時間である。
【０１１７】
以上が制御データ３が備える各テーブルの説明である。以下、ストレージ制御プログラム２が備える各機能について説明する。
【０１１８】
図１６は、第１の実施形態のホストＩ／Ｏ受領機能２１の一例を説明するフローチャートである。
【０１１９】
ホストＩ／Ｏ受領機能２１は、ホストコンピュータ７１からリード要求のコマンド、またはライト要求のコマンドを受信したときに呼び出され、受信したコマンドの種別を判定し、判別されたコマンドの種別に応じた処理を実行する。
【０１２０】
まず、ホストＩ／Ｏ受領機能２１は、ホストコンピュータ７１からのアクセス要求のアクセス種別を解析する（Ｓ２１０１）。具体的には、アクセス種別は、Ｒａｎｄｏｍ  Ｒｅａｄ、Ｒａｎｄｏｍ  Ｗｒｉｔｅ、Ｓｅｑｕｅｎｔｉａｌ  Ｒｅａｄ、またはＳｅｑｕｅｎｔｉａｌ  Ｗｒｉｔｅのいずれかである。
【０１２１】
ホストＩ／Ｏ受領機能２１は、解析されたコマンドの種別が前述のいずれに該当するかを判定する（Ｓ２１０２）。
【０１２２】
アクセス種別がＲａｎｄｏｍ  Ｒｅａｄであると判定された場合、ホストＩ／Ｏ受領機能２１は、キャッシュメモリ部７３に、要求されたデータが格納されているか否かを判定する（Ｓ２１１１）。
【０１２３】
要求されたデータが格納されていないと判定された場合、ホストＩ／Ｏ受領機能２１は、ディスクＩ／Ｏ発行機能２２を起動する（Ｓ２１１２）。このとき、ホストＩ／Ｏ受領機能２１は、アクセス時間を集計するため、ディスクアクセスを発行する契機をパラメータとしてディスクＩ／Ｏ発行機能２２に与える。具体的には、ホストＩ／Ｏ受領機能２１は、契機をＲａｎｄｏｍ  Ｒｅａｄ、アクセスの転送元をホストから要求されたデータが存在するディスク上のアドレス、転送先をキャッシュメモリ部７３上の空き領域をパラメータとして、ホストＩ／Ｏ受領機能２１はディスクＩ／Ｏ発行機能２２に与えて、ディスクＩ／Ｏ発行機能２２を起動し、Ｓ２１１３に進む。
【０１２４】
Ｓ２１１１において、要求されたデータが格納されていないと判定された場合、ホストＩ／Ｏ受領機能２１は、Ｓ２１１３に進む。
【０１２５】
ホストＩ／Ｏ受領機能２１は、要求されたデータをホストコンピュータ７１への応答として送信され（Ｓ２１１３）、処理を終了する。
【０１２６】
Ｓ２１０２において、アクセス種別がＲａｎｄｏｍ  Ｗｒｉｔｅであると判定された場合、ホストＩ／Ｏ受領機能２１は、ホストコンピュータ７１から送られたデータをキャッシュメモリ部７３へ書き込む（Ｓ２１２１）。
【０１２７】
次に、ホストＩ／Ｏ受領機能２１は、ホストコンピュータ７１に対し、ライト完了の応答を送信する（Ｓ２１２２）。
【０１２８】
次に、ホストＩ／Ｏ受領機能２１は、キャッシュメモリ部７３の空き領域が十分であるか否かを判定する（Ｓ２１２３）。
【０１２９】
キャッシュメモリ部７３の空き領域が十分であると判定された場合、ホストＩ／Ｏ受領機能２１は、処理を終了する。
【０１３０】
キャッシュメモリ部７３の空き領域が十分でないと判定された場合、ホストＩ／Ｏ受領機能２１は、ホストコンピュータ７１からのライトを受けられるようにするため、キャッシュメモリ部７３に格納されているデータをディスク６への書き込みを実行する。具体的には、アクセス契機をＲａｎｄｏｍ  Ｗｒｉｔｅとし、転送元をキャッシュメモリ部７３上の最近アクセスされていない領域とし、転送先をアクセスされていない領域に対応するディスクドライブ６の対応するアドレスをパラメータとして、ホストＩ／Ｏ受領機能２１はディスクＩ／Ｏ発行機能２２に与え、ディスクＩ／Ｏ発行機能２２を起動し（Ｓ２１２４）、処理を終了する。
【０１３１】
Ｓ２１０２において、アクセス種別がＳｅｑｕｅｎｔｉａｌ  Ｒｅａｄであると判定された場合、ホストＩ／Ｏ受領機能２１は、ホストコンピュータ７１からアクセスがあることを予測して要求されたデータをキャッシュメモリ部７３に読み出しているため、読み出されているデータをホストコンピュータ７１への応答として送信する（Ｓ２１３１）。
【０１３２】
ホストＩ／Ｏ受領機能２１は、ホストコンピュータ７１が次の領域へアクセスすることが予測されるため、次の領域のデータをキャッシュメモリ部７３に読み出す。具体的には、アクセス契機をＳｅｑｕｅｎｔｉａｌ  Ｒｅａｄとし、転送元をホストコンピュータ７１が要求した領域の次の領域、転送先をキャッシュメモリ部７３上の空き領域をパラメータとして、ホストＩ／Ｏ受領機能２１はディスクＩ／Ｏ発行機能２２に与え、ディスクＩ／Ｏ発行機能２２を起動し（Ｓ２１３２）、処理を終了する。
【０１３３】
Ｓ２１０２において、アクセス種別がＳｅｑｕｅｎｔｉａｌ  Ｗｒｉｔｅであると判定された場合、ホストＩ／Ｏ受領機能２１は、ホストコンピュータ７１から送られたデータをキャッシュメモリ部７３へ書き込む（Ｓ２１４１）。
【０１３４】
次に、ホストＩ／Ｏ受領機能２１は、ホストコンピュータ７１に対し、ライト完了の応答を送信する（Ｓ２１４２）。
【０１３５】
Ｓｅｑｕｅｎｔｉａｌ  Ｗｒｉｔｅの場合、同じ領域に対して再度書き込みが行われる可能性は低いため、書き込まれたデータをそのままキャッシュメモリ部７３に保持しても性能面での効果は期待できない。そのため、ホストＩ／Ｏ受領機能２１は、ホストコンピュータ７１から書き込まれたデータをディスクドライブ６に退避する。具体的には、アクセス契機をＳｅｑｕｅｎｔｉａｌ  Ｗｒｉｔｅ、転送元をホストが書いた領域、転送先を対応するディスクドライブ６の対応するアドレスをパラメータとして、ホストＩ／Ｏ受領機能２１はディスクＩ／Ｏ発行機能２２に与え、ディスクＩ／Ｏ発行機能２２を起動し（Ｓ２１４３）、処理を終了する。
【０１３６】
図１７は、本発明の第１の実施形態のディスクＩ／Ｏ発行処理機能２２の一例を説明するフローチャートである。
【０１３７】
ディスクＩ／Ｏ発行処理機能２２は、ディスクドライブ６へのアクセスを発行する機能であり、ホストＩ／Ｏ受領機能２１からの要求に応じて起動する。
【０１３８】
まず、ディスクＩ／Ｏ発行処理機能２２は、呼び出し元であるホストＩ／Ｏ受領機能２１から与えられたパラメータを解析し、アクセス先のディスクドライブ６、及びアクセス種別を抽出する（Ｓ２２１）。
【０１３９】
ディスクＩ／Ｏ発行処理機能２２は、Ｔａｇ管理テーブル３４を参照し、使用されていないＴａｇ番号３４２、即ち、Ｔａｇ番号３４２に対応するアクセス種別３４３が記入されていないＴａｇ番号３４２を選択する（Ｓ２２２）。
【０１４０】
ディスクＩ／Ｏ発行処理機能２２は、選択されたＴａｇ番号３４２に対応するエントリのアクセス種別３４３に、抽出されたアクセス種別を格納する（Ｓ２２３）。
【０１４１】
ディスクＩ／Ｏ発行処理機能２２は、ディスクＩ／Ｆ部７４のプロトコル変換ＬＳＩ７４１へ、ディスクアクセスコマンドを送信する（Ｓ２２４）。
【０１４２】
次に、ディスクＩ／Ｏ発行処理機能２２は、Ｉ／Ｏ発行状況テーブル３５を参照し、抽出されたアクセス先のディスクドライブ６、及びアクセス種別に対応するエントリの現在発行中コマンド数３５３が「０」であるか否かを判定する（Ｓ２２５）。
【０１４３】
対応するエントリの現在発行中コマンド数３５３が「０」であると判定された場合、アクセス先のディスクドライブ６は稼働していなかったことを示しており、ディスクＩ／Ｏ発行処理機能２２は、アクセス先のディスクドライブ６はこれから稼働するため、対応するエントリのディスク稼働開始時刻３５４に現在の時刻を格納し（Ｓ２２６）、Ｓ２２７に進む。
【０１４４】
Ｓ２２５において、対応するエントリの現在発行中コマンド数３５３が「０」でないと判定された場合、既に同種のアクセスが同じディスクドライブ６へ発行されている状態、即ち、アクセス先のディスクドライブ６は既に稼働中のため、ディスクＩ／Ｏ発行処理機能２２は、Ｓ２２７に進む。
【０１４５】
ディスクＩ／Ｏ発行処理機能２２は、Ｉ／Ｏ発行状況テーブル３５の対応するエントリの現在発行中コマンド数３５３を「１」加算し（Ｓ２２７）、処理を終了する。
【０１４６】
図１８は、本発明の第１の実施形態のディスクＩ／Ｏ完了処理機能２３の一例を説明するフローチャートである。
【０１４７】
ディスクＩ／Ｏ完了処理機能２３は、ディスクＩ／Ｏ発行機能２２が発行したディスクアクセスコマンドに対する応答をディスクドライブ６からディスクＩ／Ｏ発行機能２２が受け取ったときに呼び出される機能であり、アクセスに要した時間を管理する。
【０１４８】
まず、ディスクＩ／Ｏ完了処理機能２３は、ディスクドライブ６から受信した応答を解析し、Ｔａｇ番号３４２を抽出する（Ｓ２３１）。
【０１４９】
ディスクＩ／Ｏ完了処理機能２３は、Ｔａｇ管理テーブル３４を参照し、抽出されたＴａｇ番号３４２に対応するエントリのアクセス種別３４３を読み出す（Ｓ２３２）。
【０１５０】
ディスクＩ／Ｏ完了処理機能２３は、Ｔａｇ管理テーブル３４の前記エントリのアクセス種別３４３を消去する（Ｓ２３３）。
【０１５１】
次に、ディスクＩ／Ｏ完了処理機能２３は、Ｉ／Ｏ発行状況テーブル３５の対応するエントリの現在発行中コマンド数３５３を「１」減算する（Ｓ２３４）。
【０１５２】
次に、ディスクＩ／Ｏ完了処理機能２３は、Ｉ／Ｏ発行状況テーブル３５の対応するエントリの現在発行中コマンド数３５３が「０」であるか否かを判定する（Ｓ２３５）。
【０１５３】
対応するエントリの現在発行中コマンド数３５３が「０」と判定された場合、当該アクセス種別の該当するアクセスは１つも発行されていないこと、つまり、ディスクドライブ６へのアクセスが終了したことを示しており、ディスクＩ／Ｏ完了処理機能２３は、これまでのアクセス時間を稼働情報として記録する。即ち、ディスクＩ／Ｏ完了処理機能２３は、Ｉ／Ｏ発行状況テーブル３５の対応するエントリのディスク稼働開始時刻３５４と現在時刻との差分を算出し、当該アクセス種別に対応する累計稼働時間（３３２〜３３５）に、算出された時間を加算し（Ｓ２３６）、処理を終了する。
【０１５４】
Ｓ２３５において、対応するエントリの現在発行中コマンド数３５３が「０」でないと判定された場合、まだ他に同一アクセス種別のアクセスが実行中であるため、処理を終了する。
【０１５５】
図１９は、本発明の第１の実施形態のジョブ起動処理機能２５の一例を説明する図である。
【０１５６】
ジョブ起動処理機能２５は、ホストコンピュータ７１からのコマンドまたはディスクドライブ６からの応答を受け取った場合、受信したコマンドまたは応答から要求された処理を実行するプロセッサコア７８１によって呼び出され、当該処理に応じた機能（ジョブ）を呼び出す。
【０１５７】
まず、ジョブ起動処理機能２５は、プロセッサ稼働状況テーブル３０を参照し、要求された処理を実行するプロセッサコア７８１を含む制御部７５を識別するための制御部番号３０１、及び当該プロセッサコア７８１を識別するプロセッサコア番号３０２に対応したエントリを確認する。ジョブ起動処理機能２５は、該当するエントリのジョブ開始時刻３０３に、現在の時刻を記入する（Ｓ２５１）。その後、要求された処理に応じたジョブを起動（Ｓ２５２）し、処理を終了する。
【０１５８】
図２０は、本発明の第１の実施形態のジョブ終了処理機能２６の一例を説明する図である。
【０１５９】
ジョブ終了処理機能２６は、前述のジョブが終了したプロセッサコア７８１によって呼び出され、処理に要した時間の集計を実行する。
【０１６０】
まず、ジョブ終了処理機能２６は、プロセッサ稼働状況テーブル３０を参照し、要求された処理を実行しているプロセッサコア７８１を含む制御部７５を識別するための制御部番号３０１、及び当該プロセッサコア７８１を識別するプロセッサコア番号３０２に対応したエントリを読み出す。次に、ジョブ終了処理機能２６は、読み出された情報と一致するエントリのジョブ開始時刻３０３を参照し、参照されたジョブ開始時刻３０３と現在時刻との差分を算出する（Ｓ２６１）。
【０１６１】
ジョブ終了処理機能２６は、算出された差分を、プロセッサ稼働記録テーブル３９の対応するエントリの累計稼働時間３９３に加算する（Ｓ２６２）。
【０１６２】
ジョブ終了処理機能２６は、プロセッサ稼働状況テーブル３０の対応するエントリのジョブ開始時刻３０３の値を消去し（Ｓ２６３）、処理を終了する。
【０１６３】
図２１は、本発明の第１の実施形態の電力推定機能２４の一例を説明するフローチャートである。
【０１６４】
電力推定機能２４は、ディスクドライブ６、制御部７５、及びキャッシュメモリ部７３の稼働率を算出し、各テーブルの情報と算出された稼働率から消費電力を推定し、推定された消費電力の情報を管理用端末４に送信する。電力推定機能２４は、一定の周期で呼び出される。
【０１６５】
まず、電力推定機能２４は、ディスク部構成テーブル３１とディスク電力仕様テーブル３２とからディスク部消費電力分を算出する（Ｓ２４１）。具体的には、電力推定機能２４は、ディスク部構成テーブル３１のエントリのディスク型番３１２を参照し、ディスク電力仕様テーブル３２において、参照されたディスク型番３１２に対応するエントリのＩｄｌｅ時電力３２２をディスク部消費電力分とする。
【０１６６】
次に、電力推定機能２４は、ディスク稼働記録テーブル３３の情報と本処理が呼び出される周期との比を用いて、各ディスクドライブ６についてアクセス種別毎に稼働率を算出する（Ｓ２４２）。具体的には、稼働率は、アクセス種別の累計稼働時間（３３２〜３３５）と本処理が呼び出される周期とを用いて算出される。例えば、本処理の呼び出し間隔が「１秒」で、ディスク稼働記録テーブル３３のＲａｎｄｏｍ  Ｒｅａｄ累計稼働時間３３２が「１ミリ秒」である場合、Ｒａｎｄｏｍ  Ｒｅａｄにおける稼働率は、「１／１０００」となる。
【０１６７】
次に、電力推定機能２４は、算出された稼働率とディスク電力仕様テーブル３２の情報とから、各ディスクドライブ６の電力増加分を算出する（Ｓ２４３）。例えば、Ｒａｎｄｏｍ  Ｒｅａｄにおける稼働率が「１／１０」で、Ｒａｎｄｏｍ  Ｒｅａｄ時電力増分３２３が「４．９Ｗ」である場合、電力増加は「０．４９Ｗ」となる。算出式については、図２２を用いて後述する。
【０１６８】
次に、電力推定機能２４は、コントローラ部構成テーブル３６とコントローラ部電力仕様テーブル３７とから、コントローラ部の消費電力分を算出する（Ｓ２４０１）。具体的には、種別３６１毎の消費電力分が算出される。例えば、図１１及び図１２に示す例において、制御部７５のスロット０及びスロット１には、各々「Ｃ−１」と「Ｃ−２」とが搭載されており、当該「Ｃ−１」のＩｄｌｅ時電力３７３が「８５Ｗ」であり、また、当該「Ｃ−２」のＩｄｌｅ時電力３０７３が「６５Ｗ」であり、他のスロットには何にも搭載されていない場合、ストレージシステム１における制御部７５の消費電力は、「８５Ｗ＋６５Ｗ＝１５０Ｗ」と算出される。算出された値がコントローラ部における制御部７５の消費電力分となる。他の構成部についても同様の方法を用いて算出される。
【０１６９】
次に、電力推定機能２４は、キャッシュメモリ部７３のアクセス時間記録テーブル７３２の内容を読み出す（Ｓ２４０２）。
【０１７０】
電力推定機能２４は、読み出されたアクセス時間７３２２と本処理が呼び出される周期との比を用いて、キャッシュメモリ部７３の稼働率を算出する（Ｓ２４０３）。例えば、本処理の呼び出し周期が「１秒」で、読みだされたアクセス時間７３２２が「１０ミリ秒」である場合、キャッシュメモリ部７３の稼働率は、「１／１００」となる。
【０１７１】
電力推定機能２４は、算出されたキャッシュメモリ部７３の稼働率とコントローラ部電力変動仕様テーブル３８の内容とから、キャッシュメモリ部７３の電力増加分を算出する（Ｓ２４０４）。例えば、図１２に示す例において、キャッシュメモリ部７３の稼働率が「１／１０」であり、部品名３８２が「Ｍ−２」の電力増分３８３が「５．３Ｗ」であり、当該メモリモジュール７３３の電力増分は、「１／１０×５．３Ｗ＝０．５３Ｗ」と算出される。
【０１７２】
次に、電力推定機能２４は、プロセッサ稼働記録テーブル３９と本処理が呼び出される周期との比を用いて、各プロセッサコア７８１の稼働率を算出する（Ｓ２４０５）。算出方法は、Ｓ２４２と同様である。
【０１７３】
次に、電力推定機能２４は、算出されたプロセッサコア７８１の稼働率から、制御部７５の稼働率を算出する（Ｓ２４０６）。具体的には、制御部７５が備える各プロセッサコア７８１の稼働率の平均を算出し、算出されたプロセッサコア７８１の稼働率の平均を制御部７５の稼働率とする。例えば、制御部７５が４つのプロセッサコア７８１を備え、それぞれの稼働率が「２０％」、「４０％」、「６０％」、「８０％」であった場合、制御部７５の稼働率は「５０％」と算出される。
【０１７４】
次に、電力推定機能２４は、算出された制御部７５の稼働率とコントローラ部電力変動仕様テーブル３８の内容とから、制御部７５の電力増加分を算出する（Ｓ２４０７）。例えば、コントローラ部電力変動仕様テーブル３８の電力増分３８３が「４２Ｗ」であり、稼働率が「５０％」である場合、制御部７５の電力増加分は、「４２Ｗ×０．５＝２１Ｗ」と算出される。
【０１７５】
電力推定機能２４は、以上の処理によって算出された各構成部の消費電力及び電力増加分を管理用端末４に送信する（Ｓ２４４）。
【０１７６】
電力推定機能２４は、ディスク稼働記録テーブル３３の累計稼働時間（３３２〜３３５）を初期化する（Ｓ２４５）。
【０１７７】
次に、キャッシュメモリ部７３のアクセス時間記録テーブル７３２のアクセス時間７３２２を初期化する（Ｓ２４０８）。
【０１７８】
電力推定機能２４は、プロセッサ稼働記録テーブル３９の累計稼働時間３９３を初期化し（Ｓ２４０９）、処理を終了する。
【０１７９】
なお、前述の処理では、消費電力を算出したが、消費エネルギーを算出してもよい。具体的には、算出された消費電力に稼働時間を乗算することによって消費エネルギーを算出することができる。また、算出された消費エネルギーは、管理用端末４に送信されてもよい。
【０１８０】
図２２は、本発明の第１の実施形態の電力推定機能２４がＳ２４１及びＳ２４３におけるディスク部電力増加分を算出方法の一例を示す図である。
【０１８１】
算出値１００１は、図２１における各ステップで算出される電力を示す情報である。具体的には、Ｐ＿Ｓｔａｔｉｃ、Ｐ＿ＲｎｄＲｄ、Ｐ＿ＲａｄＷｒ、Ｐ＿ＳｅｑＲｄ、Ｐ＿ＳｅｑＷｒ、及びＰ＿Ｄｙｎａｍｉｃを格納する。
【０１８２】
Ｐ＿Ｓｔａｔｉｃは、任意のディスク型番３１２における定常時の消費電力である。Ｐ＿ＲｎｄＲｄは、任意のディスク型番３１２におけるＲａｎｄｏｍ  Ｒｅａｄのアクセス時の電力増加分である。Ｐ＿ＲａｄＷｒは、任意のディスク型番３１２におけるＲａｎｄｏｍ  Ｗｒｉｔｅのアクセス時の電力増加分である。Ｐ＿ＳｅｑＲｄは、任意のディスク型番３１２におけるＳｅｑｕｅｎｔｉａｌ  Ｒｅａｄのアクセス時の電力増加分である。Ｐ＿ＳｅｑＷｒは、任意のディスク型番３１２におけるＳｅｑｕｅｎｔｉａｌ  Ｗｒｉｔｅのアクセス時の電力増加分である。Ｐ＿Ｄｙｎａｍｉｃは、任意のディスク型番３０１２における全てのアクセスを含めた時の電力増加分である。
【０１８３】
算出式１００２は、算出値１００１の具体的な算出式を示す。以下各算出値１００１における算出式１００２について説明する。
【０１８４】
Ｐ＿Ｓｔａｔｉｃは、以下の式で算出される。
（式１）Ｐ＿Ｓｔａｔｉｃ＝Ｐ＿ｉｄｌｅ
ここで、Ｐ＿ｉｄｌｅは、Ｉｄｌｅ時の消費電力である。
【０１８５】
Ｐ＿ＲｎｄＲｄは、以下の式で算出される。
（式２）Ｐ＿ＲｎｄＲｄ＝ＡＲ＿ＲｎｄＲｄ×ｐ＿ＲｎｄＲｄ
ここで、ＡＲ＿ＲｎｄＲｄはＲａｎｄｏｍ  Ｒｅａｄアクセスの稼働率であり、ｐ＿ＲｎｄＲｄはＲａｎｄｏｍ  Ｒｅａｄ時電力増分３２３である。
【０１８６】
Ｐ＿ＲａｄＷｒは、以下の式で算出される。
（式３）Ｐ＿ＲａｄＷｒ＝ＡＲ＿ＲａｄＷｒ×ｐ＿ＲａｄＷｒ
ここで、ＡＲ＿ＲｎｄＲｄはＲａｎｄｏｍ  Ｗｒｉｔｅアクセスの稼働率であり、ｐ＿ＲｎｄＲｄはＲａｎｄｏｍ  Ｗｒｉｔｅ時電力増分３２４である。
【０１８７】
Ｐ＿ＳｅｑＲｄは、以下の式で算出される。
（式４）Ｐ＿ＳｅｑＲｄ＝ＡＲ＿ＳｅｑＲｄ×ｐ＿ＳｅｑＲｄ
ここで、ＡＲ＿ＳｅｑＲｄはＳｅｑｕｅｎｔｉａｌ  Ｒｅａｄアクセスの稼働率であり、ｐ＿ＳｅｑＲｄはＳｅｑｕｅｎｔｉａｌ  Ｒｅａｄ時電力増分３２５である。
【０１８８】
Ｐ＿ＳｅｑＷｒは、以下の式で算出される。
（式５）Ｐ＿ＳｅｑＷｒ＝ＡＲ＿ＳｅｑＷｒ×ｐ＿ＳｅｑＷｒ
ここで、ＡＲ＿ＳｅｑＷｒはＳｅｑｕｅｎｔｉａｌ  Ｗｒｉｔｅアクセスの稼働率であり、ｐ＿ＳｅｑＷｒはＳｅｑｕｅｎｔｉａｌ  Ｗｒｉｔｅ時電力増分３２６である。
【０１８９】
Ｐ＿Ｄｙｎａｍｉｃは、以下の式で算出される。
（式６）Ｐ＿Ｄｙｎａｍｉｃ＝Ｐ＿ＲｎｄＲｄ＋Ｐ＿ＲａｄＷｒ＋Ｐ＿ＳｅｑＲｄ＋Ｐ＿ＳｅｑＷｒ
以上で説明した式を用いて、各ディスク部の電力増加分が算出される。
【０１９０】
図２３は、本発明の第１の実施形態の電力推定機能２４が実行する処理のＳ２４４における管理用端末４に送信される表示データ９９０の一例を示す図である。
【０１９１】
表示データ９９０は、部位９９１、平均消費電力９９２、電力増加９９３、及びＩｄｌｅ時電力９９４を含む。
【０１９２】
部位９９１は、ストレージシステム１の構成部、または、部品を示す情報を格納する。例えば、種別３６１、及び部品名３６３の情報を格納する。なお、構成部、または部品を区別できる情報であれば、どのような情報であってもよい。
【０１９３】
平均消費電力９９２は、部位９９１の平均消費電力を示す情報を格納する。ただし、平均消費電力は、算出された電力増分とＩｄｌｅ時電力９９４との合計値を示す値である。
【０１９４】
電力増加９９３は、ディスクドライブ６またはコントローラ部の電力増加量を示す情報を格納する。部位９９１がディスクドライブ６を示す情報の場合、各アクセス種別の電力増加に情報が格納される。また、部位９９１がコントローラ部の場合、コントローラ部に電力増加に情報が格納される。
【０１９５】
Ｉｄｌｅ時電力９９４は、ストレージシステム１の各構成部または部品が処理をしていないときの電力を示す情報を格納する。
【０１９６】
図２４は、本発明の第１の実施形態のストレージ管理プログラム５が備える機能及びテーブルを説明するブロック図である。
【０１９７】
ストレージ管理プログラム５は、消費電力履歴テーブル５１、及び消費電力更新機能５２を備える。
【０１９８】
消費電力履歴テーブル５１は、ストレージシステム１から送られた電力データを管理する。消費電力更新機能５２は、ストレージシステム１から送られた電力データに基づいて、消費電力履歴テーブル５１を更新する。
【０１９９】
図２５は、本発明の第１の実施形態の消費電力履歴テーブル５１の一例を示す図である。
【０２００】
消費電力履歴テーブル５１は、管理用端末４のストレージ管理プログラム５に含まれ、ストレージシステム１から送られた電力データを管理し、管理用端末利用者からの要求に応じてその内容を表示するために用いられる。
【０２０１】
消費電力履歴テーブル５１は、日時５１１、部位５１２、平均消費電力５１３、電力増加５１４、及びＩｄｌｅ時電力５１５を含む。
【０２０２】
日時５１１は、格納されているデータが、いつの情報であるかを示す情報を格納する。部位５１２、平均消費電力５１３、電力増加５１４、及びＩｄｌｅ時電力５１５は、図２２の部位９９１、平均消費電力９９２、電力増加９９３、及びＩｄｌｅ時電力９９４と同一のものである。
【０２０３】
以上説明したように、第１の実施形態によれば、ストレージシステム１内のすべての構成部、即ちディスク部とコントローラ部との稼働情報教に応じた消費電力について、より正確な値を算出することができるようになる。また、管理者は、算出された消費電力の情報を知ることが可能になる。その結果、より精度の良い電力制御ができる。
【０２０４】
［第２の実施形態］
本発明の第２の実施形態は、ストレージシステム１が複数の仮想ストレージ（ＬＰＡＲ）として扱うことができる場合、それぞれの仮想ストレージの消費電力を推定する発明である。
【０２０５】
第２の実施形態の計算機システムの構成は、第１の実施形態と同様のものであり、説明は省略する。
【０２０６】
第２の実施形態では、ストレージシステム１が備える物理資源を分割し、分割された物理資源から仮想ストレージが構成される。仮想ストレージは、ホストコンピュータ７１からは一つのストレージシステム１として認識される。ディスクドライブ６は、論理ボリュームに分割されている。各テーブルは論理ボリューム毎の情報が格納される。電力推定機能２４は、論理ボリューム毎に推定消費電を算出し、算出された推定消費電力に基づいて、仮想ストレージの消費電力を推定することができる。
【０２０７】
図２６は、本発明の第２の実施形態のストレージ管理プログラム５が備える機能及びテーブルを説明するブロック図である。
【０２０８】
第２の実施形態において、ストレージ管理プログラム５は、新たに、仮想ストレージ−ボリューム対応テーブル５３と仮想ストレージ電力表示機能５４とを備える。
【０２０９】
仮想ストレージ−ボリューム対応テーブル５３は、仮想ストレージと論理ボリュームとの対応を管理する。仮想ストレージ電力表示機能５４は、仮想ストレージ毎の電力推定の結果を表示する。
【０２１０】
図２７は、本発明の第２の実施形態の仮想ストレージ−ボリューム対応テーブル５３の一例を示す図である。
【０２１１】
仮想ストレージ−ボリューム対応テーブル５３は、仮想ストレージ（ＬＰＡＲ）番号５３１、及び論理ボリューム番号５３２を管理する。
【０２１２】
仮想ストレージ番号５３１は、ストレージシステム１内に構成されている仮想ストレージを識別するための識別子を格納する。
【０２１３】
論理ボリューム番号５３２は、ディスクドライブ６上に作成されている論理ボリュームを識別するための識別子を格納する。
【０２１４】
ストレージシステム１は、論理ボリューム番号５３２から、どの仮想ストレージにおける処理であるかが分かる。
【０２１５】
図２８は、本発明の第２の実施形態のストレージ制御プログラム２が備える機能を説明するブロック図である。
【０２１６】
第１の実施形態と比べ、第２の実施形態のストレージ制御プログラム２は、新たにデータ転送起動機能２７を備える。データ転送起動機能２７は、論理ボリュームの操作のためにキャッシュメモリ部７３にアクセスされたデータ量を管理するための機能である。詳細については、図４１を用いて後述する。
【０２１７】
図２９は、本発明の第２の実施形態の制御データ３の構成を説明するブロック図である。
【０２１８】
第１の実施形態と比べ、第２の実施形態の制御データ３は、新たにキャッシュアクセス量テーブル９１、及びＬＤＥＶ−物理ボリューム対応テーブル９２を備える。
【０２１９】
また、第２の実施形態におけるディスク稼働記録テーブル３３、Ｔａｇ管理テーブル３４、Ｉ／Ｏ発行状況テーブル３５、プロセッサ稼働記録テーブル３９、及びプロセッサ稼働状況テーブル３０に格納される情報も第１の実施形態のものとは異なる。
【０２２０】
まず、ＬＤＥＶ−物理ボリューム対応テーブル９２について説明する。
【０２２１】
図３０は、本発明の第２の実施形態のＬＤＥＶ−物理ボリューム対応テーブル９２の一例を示す図である。
【０２２２】
ＬＤＥＶ−物理ボリューム対応テーブル９２は、ディスクドライブ６と、一以上のディスクドライブ６から構成されるＲＡＩＤグループ上に作成される論理ボリューム（ＬＤＥＶ（Ｌｏｇｉｃａｌ  Ｄｅｖｉｃｅ））との対応を管理する。
【０２２３】
ＬＤＥＶ−物理ボリューム対応テーブル９２は、論理ボリューム番号９２１、ＲＡＩＤレベル９２２、ディスク番号９２３、及びＬＢＡ範囲９２４を含む。
【０２２４】
論理ボリューム番号９２１は、論理ボリュームを識別するための識別子を格納する。
【０２２５】
ＲＡＩＤレベル９２２は、構成されるＲＡＩＤの種別を示す情報を格納する。
【０２２６】
ディスク番号９２３は、ＲＡＩＤを構成するディスクドライブ６の識別子を格納する。
【０２２７】
ＬＢＡ範囲９２４は、ディスクドライブ６に割り当てられているアドレスを格納する。
【０２２８】
以下、ディスク稼働記録テーブル３３、Ｔａｇ管理テーブル３４、Ｉ／Ｏ発行状況テーブル３５、プロセッサ稼働記録テーブル３９、及びプロセッサ稼働状況テーブル３０の差異について説明する。
【０２２９】
図３１は、本発明の第２の実施形態のディスク稼働記録テーブル３３の一例を示す図である。
【０２３０】
ディスク稼働記録テーブル３３は、第１の実施形態と比べ、新たに論理ボリューム番号３３６を含む。
【０２３１】
論理ボリューム番号３３６は、ディスクドライブ６上に作成された論理ボリュームを識別するための識別子を格納する。これによって、ディスク稼働記録テーブル３３は、各論理ボリュームのアクセス種別毎の稼働累計時間（３３２〜３３５）を管理できる。
【０２３２】
なお、論理ボリュームを識別するための識別子は、論理ボリュームが作成されるときに、管理用端末４から指定された識別子である。
【０２３３】
図３２は、本発明の第２の実施形態のＴａｇ管理テーブル３４の一例を示す図である。
【０２３４】
Ｔａｇ管理テーブル３４は、第１の実施形態と比べ、新たに論理ボリューム番号３４４を含む。論理ボリューム番号３４４は、図３１の論理ボリューム番号３３６と同一のものである。これによって、Ｔａｇ管理テーブル３４は、Ｔａｇ番号３４２毎に論理ボリューム番号３４４が対応付けられており、Ｔａｇ番号３４２に対応するアクセスが、どの論理ボリュームからのアクセスであるかを管理できる。
【０２３５】
図３３は、本発明の第２の実施形態のＩ／Ｏ発行状況テーブル３５の一例を示す図である。
【０２３６】
Ｉ／Ｏ発行状況テーブル３５は、第１の実施形態と比べ、新たに論理ボリューム番号３５５を含む。論理ボリューム番号３５５は、図３１の論理ボリューム番号３３６と同一のものである。これによって、Ｉ／Ｏ発行状況テーブル３５は、各論理ボリュームのアクセス種別毎に現在発行中コマンド数３５３、及びディスク稼働開始時刻３５４を管理できる。
【０２３７】
図３４は、本発明の第２の実施形態のプロセッサ稼働記録テーブル３９の一例を示す図である。
【０２３８】
プロセッサ稼働記録テーブル３９は、第１の実施形態と比べ、新たに論理ボリューム番号３９４を含む。論理ボリューム番号３９４は、図３１の論理ボリューム番号３３６と同一のものである。これによって、プロセッサ稼働記録テーブル３９は、プロセッサコア７８１がどの論理ボリュームのジョブを実行するために稼働していた時間を管理できる。
【０２３９】
図３５は、本発明の第２の実施形態のプロセッサ稼働状況テーブル３０の一例を示す図である。
【０２４０】
プロセッサ稼働状況テーブル３０は、第１の実施形態と比べ、新たに論理ボリューム番号３０４を含む。論理ボリューム番号３０４は、図３１の論理ボリューム番号３３６と同一のものである。これによって、プロセッサ稼働状況テーブル３０は、論理ボリューム毎にプロセッサコア７８１のジョブ開始時刻３０３を管理できる。
【０２４１】
次に、キャッシュアクセス量テーブル９１について説明する。
【０２４２】
図３６は、本発明の第２の実施形態のキャッシュアクセス量テーブル９１の一例を示す図である。
【０２４３】
キャッシュアクセス量テーブル９１は、各論理ボリュームのキャッシュメモリアクセス量を管理する。また、論理ボリューム毎の消費電力を推定するときに、電力推定機能２４がキャッシュアクセス量テーブル９１を参照する。
【０２４４】
キャッシュアクセス量テーブル９１は、論理ボリューム番号９１１、及び累計アクセス量９１２を含む。
【０２４５】
論理ボリューム番号９１１は、図３１の論理ボリューム番号３３６と同一のものである。
【０２４６】
累計アクセス量９１２は、論理ボリュームの操作のためにキャッシュメモリ部７３にアクセスされたデータ量を格納する。
【０２４７】
図３７は、本発明の第２の実施形態のディスクＩ／Ｏ発行処理機能２２の一例を示す図である。以下、第１の実施形態と異なるステップを中心に説明する。
【０２４８】
Ｓ２２１〜Ｓ２２３までの処理は、第１の実施形態と同様である。なお、ホストＩ／Ｏ受領機能２１から渡されたパラメータには論理ボリュームの識別子が含まれる。Ｓ２２３後、新たにＳ２２８の処理が実行される。
【０２４９】
Ｓ２２８において、ディスクＩ／Ｏ発行処理機能２２は、Ｔａｇ管理テーブル３４を参照し、Ｓ２２２において選択されたＴａｇ番号３４２に対応するエントリの、論理ボリューム番号３４４に、抽出された論理ボリュームの識別子を格納する。
【０２５０】
Ｓ２２４の処理は、第１の実施形態と同様である。Ｓ２２５における処理が第１の実施形態と異なる。
【０２５１】
Ｓ２２５において、ディスクＩ／Ｏ発行処理機能２２は、Ｉ／Ｏ発行状況テーブル３５を参照し、抽出されたアクセス先のディスクドライブ６、論理ボリューム番号３５５、及びアクセス種別に対応するエントリの現在発行中コマンド数３５３が「０」であるか否かを判定する。
【０２５２】
Ｓ２２６〜Ｓ２２７までの処理は、第１の実施形態と同様である。
【０２５３】
図３８は、本発明の第２の実施形態のディスクＩ／Ｏ完了処理機能２３の一例を示す図である。以下、第１の実施形態と異なるステップを中心に説明する。
【０２５４】
Ｓ２３１〜Ｓ２３３までの処理は、第１の実施形態と同様である。Ｓ２３３後、新たにＳ２３７及びＳ２３８の処理が実行される。
【０２５５】
Ｓ２３７において、ディスクＩ／Ｏ完了処理機能２３は、Ｔａｇ管理テーブル３４を参照し、抽出されたＴａｇ番号３４２に対応するエントリの論理ボリューム番号３４４を読み出す。また、Ｓ２２８において、ディスクＩ／Ｏ完了処理機能２３は、前記エントリの論理ボリューム番号３４４を消去する。
【０２５６】
Ｓ２３４〜Ｓ２３６までの処理は、第１の実施形態と同様である。ただし、抽出された論理ボリューム番号３４４に基づいて処理が実行される。
【０２５７】
図３９は、本発明の第２の実施形態のジョブ起動処理機能２５の一例を示す図である。以下、第１の実施形態と異なるステップを中心に説明する。
【０２５８】
Ｓ２５１及びＳ２５２の処理は、第１の実施形態と同様である。第１の実施形態と比べ、新たに、Ｓ２５３及びＳ２５４の処理が実行される。
【０２５９】
Ｓ２５３において、ジョブ起動処理機能２５は、起動されるジョブがどの論理ボリュームからの要求であるかを判定する。なお、該要求には、論理ボリュームの識別子が含まれており、ジョブ起動処理機能２５は、当該論理ボリュームの識別子を参照して、起動されるジョブがどの論理ボリュームからの要求であるかを判定する。
【０２６０】
Ｓ２５４において、ジョブ起動処理機能２５は、Ｓ２５１でジョブ開始時刻３０３が格納されたエントリの論理ボリューム番号３０４に、Ｓ２５３で判定された論理ボリュームの識別子を格納する。
【０２６１】
図４０は、本発明の第２の実施形態のジョブ終了処理機能２６の一例を示す図である。以下、第１の実施形態と異なるステップを中心に説明する。
【０２６２】
Ｓ２６１及びＳ２６３の処理は、第１の実施形態と同様である。第１の実施形態と比べ、Ｓ２６２の処理が異なり、また、新たに、Ｓ２６４及びＳ２６５の処理が実行される。
【０２６３】
Ｓ２６４において、ジョブ終了処理機能２６は、プロセッサ稼働状況テーブル３０を参照し、要求された処理を実行しているプロセッサコア７８１を含む制御部番号３０１、プロセッサコア７８１を識別するプロセッサコア番号３０２、及び論理ボリューム番号３０４に対応したエントリを読み出す。
【０２６４】
Ｓ２６２において、ジョブ終了処理機能２６は、読み出された情報（制御部番号３０１、プロセッサコア番号３０２、及び論理ボリューム番号３０４）に一致するエントリの累計稼働時間３９３に、Ｓ２６１で算出された差分を加算する。
【０２６５】
Ｓ２６５において、ジョブ終了処理機能２６は、プロセッサ稼働状況テーブル３０の対応するエントリの論理ボリューム番号３０４を消去し、処理を終了する。
【０２６６】
図４１は、本発明の第２の実施形態のデータ転送起動機能２７の一例を示す図である。
【０２６７】
データ転送起動機能２７は、キャッシュメモリ部７３とホストインターフェース部７２との間でデータ転送を行うとき、またはキャッシュメモリ部７３とディスクインターフェース部７４との間でデータ転送を行うとき起動される。
【０２６８】
まず、データ転送起動機能２７は、どの論理ボリュームにおける転送処理であるかを判定する（Ｓ２７１）。通常、データ転送起動機能２７を呼び出すジョブがどの論理ボリュームの処理を行っているかを管理しており、データ転送起動機能２７は、当該ジョブが管理する情報を参照し、どの論理ボリュームの操作を行っているかを判定する。
【０２６９】
次に、データ転送起動機能２７は、転送されるデータ転送量を、Ｓ２７１で判定された論理ボリュームと一致する論理ボリューム番号９１１のエントリに、転送されるデータの転送量を加算する（Ｓ２７２）。
【０２７０】
データ転送起動機能２７は、データ転送を起動し（Ｓ２７３）、処理を終了する。具体的には、データ転送起動機能２７は、ホストインターフェース部７２のデータ転送ＬＳＩ７２２、または、ディスクインターフェース部７４のデータ転送ＬＳＩ７４２に対し、データ転送コマンドを送信する。
【０２７１】
図４２は、本発明の第２の実施形態の電力推定機能２４の一例を説明するフローチャートである。以下、第１の実施形態と異なるステップを中心に説明する。
【０２７２】
Ｓ２４１、Ｓ２４０１〜Ｓ２４０３、Ｓ２４４〜２４５、及びＳ２４０８〜Ｓ２４０９は、第１の実施形態と同様である。
【０２７３】
Ｓ２４２において、電力推定機能２４は、ディスク稼働記録テーブル３３の情報と本処理が呼び出される周期との比を用いて、各論理ボリュームについてアクセス種別毎に稼働率を算出する。
【０２７４】
Ｓ２４３において、電力推定機能２４は、算出された稼働率とディスク電力仕様テーブル３２の情報とから、各論理ボリュームの電力増加分を算出する。
【０２７５】
Ｓ２４０５において、電力推定機能２４は、各論理ボリュームのデータ転送量から、論理ボリューム毎のキャッシュメモリ部７３の電力増加分を算出する。
【０２７６】
具体的には、電力推定機能２４は、キャッシュアクセス量テーブル９１の累計アクセス量９１２の総和に対する任意の論理ボリュームの累計アクセス量９１２の比を算出し、算出された比と図３のアクセス時間７３２２とを乗算し、任意の論理ボリュームに対するキャッシュメモリ部７３のアクセス時間を算出する。
【０２７７】
次に、電力推定機能２４は、本処理の呼び出し周期と、算出された任意の論理ボリュームに対するキャッシュメモリ部７３のアクセス時間とから論理ボリュームにおけるキャッシュメモリ部７３の稼働率を算出し、算出された論理ボリュームにおけるキャッシュメモリ部７３の稼働率を用いて、キャッシュメモリ部７３の電力増加分を算出する。なお、キャッシュメモリ部７３の電力増加分の算出方法は、第１の実施形態と同様である。
【０２７８】
Ｓ２４０６において、電力推定機能２４は、プロセッサ稼働記録テーブル３９の累計稼働時間３９３と本処理が呼び出される周期との比を用いて、論理ボリューム毎にプロセッサコア７８１の稼働率を算出する。算出方法は、第１の実施形態と同様である。
【０２７９】
Ｓ２４０７において、電力推定機能２４は、算出されたプロセッサの稼働率から、論理ボリューム毎の制御部７５の稼働率を算出する。算出方法は、第１の実施形態と同様である。
【０２８０】
図４３は、本発明の第２の実施形態の電力推定機能２４が実行する処理のＳ２４４における管理用端末４に送信される表示データ９９０の一例を示す図である。
【０２８１】
表示データ９９０は、第１の実施形態と比べ、新たに論理ボリューム番号９９５を含む。論理ボリューム番号９９５は、図３１の論理ボリューム番号３３６と同一のものである。
【０２８２】
図４４は、本発明の第２の実施形態の消費電力履歴テーブル５１の一例を示す図である。
【０２８３】
消費電力履歴テーブル５１は、第１の実施形態と比べ、新たに論理ボリューム番号５１６を含む。論理ボリューム番号５１６は、図３１の論理ボリューム番号３３６と同一のものである。これによって、管理用端末４は、論理ボリューム毎に電力増加分が分かる。
【０２８４】
図４５は、本発明の第２の実施形態の仮想ストレージ電力表示機能５４の一例を説明するフローチャートである。
【０２８５】
仮想ストレージ電力表示機能５４は、管理用端末４を操作する管理者からの要求によって呼び出され、仮想ストレージの消費電力を表示する。
【０２８６】
まず、仮想ストレージ電力表示機能５４は、消費電力履歴テーブル５１を参照し、Ｉｄｌｅ時電力５１５を画面に表示する（Ｓ５４１）。
【０２８７】
仮想ストレージ電力表示機能５４は、仮想ストレージ−ボリューム対応テーブル５３を参照し、任意の仮想ストレージ番号に対応する仮想ストレージのエントリを選択する（Ｓ５４２）。
【０２８８】
次に、仮想ストレージ電力表示機能５４は、仮想ストレージ−ボリューム対応テーブル５３を参照し、選択された仮想ストレージに含まれる論理ボリュームを列挙する（Ｓ５４３）。
【０２８９】
次に、仮想ストレージ電力表示機能５４は、消費電力履歴テーブル５１を参照し、列挙された論理ボリュームの電力増加分を合算する（Ｓ５４４）。
【０２９０】
仮想ストレージ電力表示機能５４は、合算された計算結果を画面に表示する（Ｓ５４５）。
【０２９１】
仮想ストレージ電力表示機能５４は、全ての仮想ストレージにエントリに対して前述の処理が実行されたか否かを判定する（Ｓ５４６）。
【０２９２】
全ての仮想ストレージにエントリに対して前述の処理が実行されていないと判定された場合、仮想ストレージ電力表示機能５４は、Ｓ５４２に戻り、同様の処理を実行する。
【０２９３】
全ての仮想ストレージにエントリに対して前述の処理が実行されたと判定された場合、仮想ストレージ電力表示機能５４は、処理を終了する。
【０２９４】
図４６は、本発明の第２の実施形態の仮想ストレージ電力表示機能５４が実行する仮想ストレージ消費電力の出力の一例を示す図である。
【０２９５】
図４６に示す例では、仮想ストレージ電力表示機能５４は、定常電力５９１、及び電力増加分５９２を表示している。
【０２９６】
定常電力５９１は、通電され、処理を何も実行していないときにストレージシステム１が消費する電力、即ち、Ｉｄｌｅ時の電力である。電力増加分５９２は、各仮想ストレージに関する仕事による電力増加である。
【０２９７】
更新部５９３は、当該更新部５９３を操作することによって各データを更新する。
【０２９８】
終了部５９４は、当該終了部５９４を操作することによって表示を終了させる。
【０２９９】
以上説明したように、第２の実施形態によれば、複数の仮想ストレージをサポートするストレージシステム１において、仮想ストレージ毎の電力増加量を求めることができる。
【０３００】
その結果、仮想ストレージ機能を使って一台のストレージシステム１において、複数のストレージシステム１について個別に電力を求める場合と同様に、仮想ストレージ毎の消費電力を求めることができる。
【０３０１】
なお、第２の実施形態では、ディスクの稼働時間を論理ボリューム毎に測定することによって求めていたが、キャッシュメモリ部７３の電力推定方法と同様、ストレージシステム１は、稼働時間をＩ／Ｏ数または転送量などを論理ボリューム毎に格納し、電力増加量を論理ボリューム毎のＩ／Ｏ数または転送量に応じて比例配分する形態であってもよい。
【０３０２】
また、第２の実施形態では、仮想ストレージ毎の消費電力を求めたが、同様の方法で、特定のホストコンピュータ７１毎に消費電力を求めることもできる。
【０３０３】
また、第２の実施形態では、論理ボリュームの識別子を用いて、論理ボリューム毎の推定電力を算出したが、各テーブルが仮想ストレージを識別する識別子を含み、仮想ストレージ毎に推定電力を算出する形態であってもよい。
【０３０４】
［第３の実施形態］
本発明の第３の実施形態は、ディスクドライブ６の状態制御（アクティブ、スタンバイ、または回転ＯＦＦ）を実行するストレージシステム１において、状態変更を考慮した電力推定を行う発明である。
【０３０５】
第３の実施形態のストレージシステムの構成は、第２の実施形態と同様のものであり、説明は省略する。
【０３０６】
図４７は、本発明の第３の実施形態のストレージ制御プログラム２が備える機能を説明するブロック図である。
【０３０７】
第２の実施形態と比べ、第３の実施形態のストレージ制御プログラム２は、新たにディスク状態変更機能２８を備える。ディスク状態変更機能２８は、ディスクドライブ６の状態を管理する。
【０３０８】
図４８は、本発明の第３の実施形態の制御データ３の構成を説明するブロック図である。
【０３０９】
第２の実施形態と比べ、第３の実施形態の制御データ３は、新たにディスク状態テーブル９３を備える。ディスク状態テーブル９３については、図５１を用いて後述する。
【０３１０】
図４９は、第３の実施形態のディスク電力仕様テーブル３２の一例を示す図である。
【０３１１】
ディスク電力仕様テーブル３２は、第２の実施形態と比べ、新たに、スタンバイ時電力３２７、及びスピンダウン時電力３２８を含む。
【０３１２】
スタンバイ時電力３２７は、ディスクドライブ６が、スタンバイ状態にあるときの消費電力を格納する。
【０３１３】
スピンダウン時電力３２８は、ディスクドライブ６が、スピンダウン状態にあるときの消費電力を格納する。
【０３１４】
図５０は、本発明の第３の実施形態のディスク稼働記録テーブル３３の一例を示す図である。
【０３１５】
ディスク稼働記録テーブル３３は、第２の実施形態と比べ、新たに、スタンバイ時間３３７、及びスピンダウン時間３３８を含む。スタンバイ時間３３７、及びスピンダウン時間３３８は、ディスク番号３３１毎に格納される。
【０３１６】
スタンバイ時間３３７は、ディスクドライブ６がスタンバイ状態になっている累計時間を格納する。
【０３１７】
スピンダウン時間３３８は、ディスクドライブ６がスピンダウン状態になっている累計時間を格納する。
【０３１８】
図５１は、本発明の第３の実施形態のディスク状態テーブル９３の一例を示す図である。
【０３１９】
ディスク状態テーブル９３は、ストレージシステム１内のディスクドライブ６の現在の稼動状態、及び状態の変更開始時間を管理する。
【０３２０】
ディスク状態テーブル９３は、ディスク番号９３１、現在の状態９３２、及び開始時刻９３３を含む。
【０３２１】
ディスク番号９３１は、図６のディスク番号３１１と同一のものである。
【０３２２】
現在の状態９３２は、現在のディスクドライブ６の稼動状態を示す情報を格納する。例えば、通常の稼働状態の場合「アクティブ」が格納され、スタンバイ状態の場合「スタンバイ」が格納され、スピンダウン状態の場合「スピンダウン」が格納される。
【０３２３】
開始時刻９３３は、現在状態９３２に示されている稼動状態になった時刻、即ち、状態変更の開始時間を格納する。
【０３２４】
図５２は、本発明の第３の実施形態のディスク状態変更機能２８の一例を説明するフローチャートである。
【０３２５】
ディスク状態変更機能２８は、ホストコンピュータ７１または管理用端末４からの指示によって、ディスクドライブ６の状態を変更するときに呼び出され、ディスクの状態を変更し、状態の変更時間を管理する。
【０３２６】
まず、ディスク状態変更機能２８は、対象ディスクドライブ６が現在スタンバイ状態、またはスピンダウン状態にあるか否かを判定する（Ｓ２８１）。
【０３２７】
対象ディスクドライブ６がスタンバイ状態、またはスピンダウン状態であると判定された場合、即ち、スタンバイ状態またはスピンダウン状態が終了すると判定された場合、ディスク状態変更機能２８は、ディスク状態テーブル９３を参照し、対象ディスクドライブ６の開始時刻９３３と現在時刻との差分を算出する（Ｓ２８２）。
【０３２８】
ディスク状態変更機能２８は、算出された差分をディスク稼働記録テーブル３３の対応するエントリのスタンバイ時間３３７、またはスピンダウン時間３３８へ加算する（Ｓ２８３）。
【０３２９】
ディスク状態変更機能２８は、ディスク状態テーブル９３の対象ディスクドライブ６のエントリを初期化し（Ｓ２８４）、Ｓ２８５に進む。
【０３３０】
Ｓ２８１において、対象ディスクドライブ６がスタンバイ状態、またはスピンダウン状態でないと判定された場合、ディスク状態変更機能２８は、新しく変更される状態がスタンバイまたはスピンダウンであるか否かを判定する（Ｓ２８５）。
【０３３１】
新しく変更される状態がスタンバイまたはスピンダウンでないと判定された場合、ディスク状態変更機能２８は、Ｓ２８８へ進む。
【０３３２】
Ｓ２８５において、新しく変更される状態がスタンバイまたはスピンダウンであると判定された場合、ディスク状態変更機能２８は、ディスク状態テーブル９３の対象ディスクドライブ６の開始時刻９３３に現在時刻を格納する（Ｓ２８６）。
【０３３３】
ディスク状態変更機能２８は、ディスク状態テーブル９３の現在状態９３２に、新しい状態を格納し（Ｓ２８７）、Ｓ２８８に進む。
【０３３４】
ディスク状態変更機能２８は、ホストコンピュータ７１または管理用端末４からの指示された状態に、ディスクの状態を変更し（Ｓ２８８）、処理を終了する。
【０３３５】
図５３は、本発明の第３の実施形態の電力推定機能２４の一例を説明するフローチャートである。以下、第１の実施形態と異なるステップを中心に説明する。
【０３３６】
Ｓ２４０において、電力推定機能２４は、ディスク稼働記録テーブル３３のスタンバイ時間３３７、及びスピンダウン時間３３８と、本処理が呼び出される周期との比を用いて、ディスクドライブ６の各状態における比率を算出する。算出方法は、第１の実施形態と同様である。
【０３３７】
Ｓ２４１において、電力推定機能２４は、算出された比率とディスク電力仕様テーブル３２の情報とからディスク部消費電力を算出する。具体的には、ディスクドライブ６の状態における消費電力も算出される。なお、ディスク部消費電力の算出方法は、第１の実施形態と同様である。
【０３３８】
Ｓ２４２〜Ｓ２４５、及びＳ２４０１〜Ｓ２４０９の処理は第１の実施形態と同一のものである。
【０３３９】
以上説明したように、第３の実施形態によれば、ディスクドライブ６の状態制御（アクティブ、スタンバイ、または回転ＯＦＦ）を実行するストレージシステム１において、その状態変更を考慮した電力推定を行うことができる。
【０３４０】
［第４の実施形態］
本発明の第４の実施形態は、ストレージシステム１が、ディスクドライブ６と半導体ディスク（ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ））とを備える場合に、両者の特性の違いを考慮した電力推定を行う発明である。
【０３４１】
第４の実施形態では、ディスクドライブ６に対してはアクセス時間を用い電力推定を行い、また、ＳＳＤに対しては転送量を用いて電力推定を行うことによって、精度の高い電力推定を行う。
【０３４２】
第４の実施形態のストレージシステムの構成は、第２の実施形態と同様のものであり、説明は省略する。ただし、ディスクドライブ６には、ＳＳＤが含まれる。以下、ＳＳＤ６とも記載する。
【０３４３】
図５４は、本発明の第４の実施形態の制御データ３の構成を説明するブロック図である。
【０３４４】
第３の実施形態と比べ、第４の実施形態の制御データ３は、新たにＳＳＤ電力仕様テーブル９４、及びＳＳＤ稼働記録テーブル９５を備える。ＳＳＤ電力仕様テーブル９４、及びＳＳＤ稼働記録テーブル９５については、図５５及び図５６を用いて後述する。
【０３４５】
図５５は、本発明の第４の実施形態のＳＳＤ電力仕様テーブル９４の一例を示す図である。
【０３４６】
ＳＳＤ電力仕様テーブル９４は、ストレージシステム１に搭載されているＳＳＤ６の種別毎に、各々の状態における消費エネルギーを管理する。ＳＳＤ電力仕様テーブル９４は、新規種別のディスクドライブ６が追加されたときに更新される。また、電力を推定するときに、電力推定機能２４がＳＳＤ電力仕様テーブル９４を参照する。
【０３４７】
ＳＳＤ電力仕様テーブル９４は、ディスク型番９４１、Ｉｄｌｅ時電力９４２、Ｒａｎｄｏｍ  Ｒｅａｄ時消費エネルギー９４３、Ｒａｎｄｏｍ  Ｗｒｉｔｅ時消費エネルギー９４４、Ｓｅｑｕｅｎｔｉａｌ  Ｒｅａｄ時消費エネルギー９４５、及びＳｅｑｕｅｎｔｉａｌ  Ｗｒｉｔｅ時消費エネルギー９４６を含む。
【０３４８】
ディスク型番９４１は、ＳＳＤ６の種別を識別する識別子を格納する。
【０３４９】
Ｉｄｌｅ時電力９４２は、対応するＳＳＤ６がＩｄｌｅ状態のときの消費電力を示す値を格納する。
【０３５０】
Ｒａｎｄｏｍ  Ｒｅａｄ時消費エネルギー９４３は、ディスク型番９４１に対応するＳＳＤ６がＲａｎｄｏｍ  Ｒｅａｄのみを受け付けており、かつ、限界まで稼働している状態におけるデータ転送量当たりの消費エネルギーを示す値を格納する。
【０３５１】
Ｒａｎｄｏｍ  Ｗｒｉｔｅ時消費エネルギー９４４は、ディスク型番９４１に対応するＳＳＤ６がＲａｎｄｏｍ  Ｗｒｉｔｅのみを受け付けており、かつ、限界まで稼働している状態におけるデータ転送量当たりの消費エネルギーを示す値を格納する。
【０３５２】
Ｓｅｑｕｅｎｔｉａｌ  Ｒｅａｄ時消費エネルギー９４５は、ディスク型番９４１に対応するＳＳＤ６がＳｅｑｕｅｎｔｉａｌ  Ｒｅａｄのみを受け付けており、かつ、限界まで稼働している状態におけるデータ転送量当たりの消費エネルギーを示す値を格納する。
【０３５３】
Ｓｅｑｕｅｎｔｉａｌ  Ｗｒｉｔｅ時消費エネルギー９４６は、ディスク型番９４１に対応するＳＳＤ６がＳｅｑｕｅｎｔｉａｌ  Ｗｒｉｔｅのみを受け付けており、かつ、限界まで稼働している状態におけるデータ転送量当たりの消費エネルギーを示す値を格納する。
【０３５４】
図５６は、本発明の第４の実施形態のＳＳＤ稼働記録テーブル９５の一例を示す図である。
【０３５５】
ＳＳＤ稼働記録テーブル９５は、ＳＳＤ６にアクセスされたときのデータ転送量を管理する。ＳＳＤ稼働記録テーブル９５はＳＳＤ６にアクセスされる毎に更新される。また、電力を推定するときに、電力推定機能２４がＳＳＤ稼働記録テーブル９５を参照する。
【０３５６】
ＳＳＤ稼働記録テーブル９５は、ディスク番号９５１、論理ボリューム番号９５２、Ｒａｎｄｏｍ  Ｒｅａｄ累計転送量９５３、Ｒａｎｄｏｍ  Ｗｒｉｔｅ累計転送量９５４、Ｓｅｑｕｅｎｔｉａｌ  Ｒｅａｄ累計転送量９５５、及びＳｅｑｕｅｎｔｉａｌ  Ｗｒｉｔｅ累計転送量９５６を含む。
【０３５７】
ディスク番号９５１及び論理ボリューム番号９５２は、図３１のディスク番号３３１及び論理ボリューム番号３３６と同一のものである。
【０３５８】
Ｒａｎｄｏｍ  Ｒｅａｄ累計転送量９５３は、対応するＳＳＤ６に対してＲａｎｄｏｍ  Ｒｅａｄアクセスにおける転送量の累積転送量を格納する。
【０３５９】
Ｒａｎｄｏｍ  Ｗｒｉｔｅ累計転送量９５４は、対応するＳＳＤ６に対してＲａｎｄｏｍ  Ｗｒｉｔｅアクセスにおける転送量の累積転送量を格納する。
【０３６０】
Ｓｅｑｕｅｎｔｉａｌ  Ｒｅａｄ累計転送量９５５は、対応するＳＳＤ６に対してＳｅｑｕｅｎｔｉａｌ  Ｒｅａｄアクセスにおける転送量の累積転送量を格納する。
【０３６１】
Ｓｅｑｕｅｎｔｉａｌ  Ｗｒｉｔｅ累計転送量９５６は、対応するＳＳＤ６に対してＳｅｑｕｅｎｔｉａｌ  Ｗｒｉｔｅアクセスにおける転送量の累積転送量を格納する。
【０３６２】
図５７は、本発明の第４の実施形態のディスクＩ／Ｏ発行処理機能２２の一例を説明するフローチャートである。
【０３６３】
Ｓ２２１〜Ｓ２２４までの処理は、第３の実施形態と同様である。
【０３６４】
Ｓ２２９において、ディスクＩ／Ｏ発行処理機能２２は、アクセス先がＳＳＤ６であるか否かを判定する。具体的には、ディスクＩ／Ｏ発行処理機能２２は、Ｓ２２１で抽出されたアクセス先のディスクドライブ６に関する情報を参照して判定する。
【０３６５】
アクセス先がＳＳＤ６でないと判定された場合、ディスクＩ／Ｏ発行処理機能２２は、Ｓ２２５に進む。以下、Ｓ２２５〜Ｓ２２７の処理は第３の実施形態と同様である。
【０３６６】
アクセス先がＳＳＤ６であると判定された場合、ディスクＩ／Ｏ発行処理機能２２は、処理を終了する。アクセス先がＳＳＤ６の場合、稼働時間の代わりに転送量を用いて電力推定がされるため、Ｓ２２５〜Ｓ２２７の処理は省略される。
【０３６７】
図５８は、本発明の第４の実施形態のディスクＩ／Ｏ完了処理機能２３の一例を説明するフローチャートである。
【０３６８】
Ｓ２３１〜Ｓ２３８までの処理は、第３の実施形態と同様である。
【０３６９】
Ｓ２３９において、ディスクＩ／Ｏ完了処理機能２３は、アクセス先がＳＳＤ６であるか否かを判定する。
【０３７０】
アクセス先がＳＳＤ６でないと判定された場合、ディスクＩ／Ｏ完了処理機能２３は、Ｓ２３４に進む、以下、ＳＳＤ２３４〜Ｓ２３６の処理は第３の実施形態と同様である。
【０３７１】
アクセス先がＳＳＤ６であると判定された場合、ディスクＩ／Ｏ完了処理機能２３は、ＳＳＤ稼働記録テーブル９５の対応するエントリの各アクセス種別の累積転送量（９４３〜９４６）毎に転送量を加算し（Ｓ２３０）、処理を終了する。
【０３７２】
図５９Ａ及び図５９Ｂは、本発明の第４の実施形態の電力推定機能２４の一例を説明するフローチャートである。
【０３７３】
電力推定機能２４は、ディスク部構成テーブル３１を参照し、電力推定の対象を選択する（Ｓ２４１１）。
【０３７４】
次に、電力推定機能２４は、選択された電力推定の対象がＳＳＤであるか否かを判定する（Ｓ２４１２）。
【０３７５】
選択された電力推定の対象がＳＳＤでないと判定された場合、電力推定機能２４は、Ｓ２４１に進む。以下、Ｓ２４１〜Ｓ２４３までの処理は第３の実施形態と同様である。電力推定機能２４は、Ｓ２４３の後に、Ｓ２４１６に進む。
【０３７６】
選択された電力推定の対象がＳＳＤであると判定された場合、電力推定機能２４は、ディスク部構成テーブル３１及びＳＳＤ電力仕様テーブル９４を参照し、ＳＳＤ定常電力分を算出する（Ｓ２４１３）。算出方法は、Ｓ２４１と同様である。
【０３７７】
次に、電力推定機能２４は、ＳＳＤ電力仕様テーブル９４及びＳＳＤ稼働記録テーブル９５を参照し、ＳＳＤ６が消費したエネルギーを算出する（Ｓ２４１４）。具体的には、各アクセス種別の、消費エネルギー（９３３〜９３６）と累積転送量（９４３〜９４６）とを乗算することによって算出される。
【０３７８】
次に、電力推定機能２４は、Ｓ２４１４で算出された消費エネルギーと本処理が呼び出される周期とを用いてＳＳＤの電力増加分を算出する（Ｓ２４１５）。具体的には、Ｓ２４１４で算出された消費エネルギーを本処理が呼び出される周期で除算して算出される。電力推定機能２４は、ＳＳＤの電力増加分を算出したエネルギーを算出した後、Ｓ２４１６に進む。
【０３７９】
電力推定機能２４は、全ての電力推定の対象について処理を実行したか否かを判定する（Ｓ２４１６）。
【０３８０】
全ての電力推定の対象について処理を実行していないと判定された場合、電力推定機能２４は、Ｓ２４１１に戻り、同様の処理を実行する。
【０３８１】
全ての電力推定の対象について処理を実行していないと判定された場合、電力推定機能２４は、Ｓ２４０１に進む。以下、Ｓ２４０１〜Ｓ２４５の処理は、第３の実施形態と同様である。
【０３８２】
Ｓ２４１７において、電力推定機能２４は、ＳＳＤ稼働記録テーブル９５の各アクセス種別の累計転送量（９４３〜９４６）を初期化する。
【０３８３】
以上説明したように、第４の実施形態によれば、ディスクドライブ６とＳＳＤ６とを備えるストレージシステム１においても、両者の特性の違いを考慮した精度の高い電力推定を行うことができる。
【０３８４】
［第５の実施形態］
本発明の第５の実施形態は、論理分割を行うストレージシステム１において、各仮想ストレージの電力に定常電力を含めて管理者に提示する発明である。
【０３８５】
第５の実施形態では、ストレージシステム１の各物理資源がどの仮想ストレージに利用されているかを判定し、仮想ストレージにおける物理資源の利用の程度に応じて、定常電力を分配し、当該分配された電力が表示される。
【０３８６】
図６０は、本発明の第５の実施形態のストレージ管理プログラム５が備える機能及びテーブルを説明するブロック図である。
【０３８７】
第３の実施形態と比べ、ストレージ管理プログラム５は、新たに、仮想ストレージ−ディスク資源対応テーブル５５、及び仮想ストレージ−コントローラ資源対応テーブル５６を備える。仮想ストレージ−ディスク資源対応テーブル５５、及び仮想ストレージ−コントローラ資源対応テーブル５６については、図６０及び図６１を用いて後述する。
【０３８８】
図６１は、本発明の第５の実施形態の仮想ストレージ−ディスク資源対応テーブル５５の一例を示す図である。
【０３８９】
仮想ストレージ−ディスク資源対応テーブル５５は、各ディスクドライブ６がどの仮想ストレージに用いられているかを管理する。仮想ストレージ−ディスク資源対応テーブル５５は、仮想ストレージ毎の電力表示を行うときに参照される。
【０３９０】
仮想ストレージ−ディスク資源対応テーブル５５は、ディスク番号５５１、及び利用仮想ストレージ番号５５２を含む。
【０３９１】
ディスク番号５５１は、図６のディスク番号３１１と同一のものである。
【０３９２】
利用仮想ストレージ番号５５２は、対応する各ディスクドライブ６がどの仮想ストレージに利用されているかを示す情報を格納する。
【０３９３】
図６２は、本発明の第５の実施形態の仮想ストレージ−コントローラ資源対応テーブル５６の一例を示す図である。
【０３９４】
仮想ストレージ−コントローラ資源対応テーブル５６は、ストレージシステム１の各物理資源が、どの仮想ストレージに用いられているかを管理する。仮想ストレージ−コントローラ資源対応テーブル５６は、仮想ストレージ毎の電力表示を行うときに参照される。
【０３９５】
仮想ストレージ−コントローラ資源対応テーブル５６は、種別５６１、スロット番号、及び利用仮想ストレージ番号５６３を含む。
【０３９６】
種別５６１及びスロット番号５６２は、図１１の種別３６１及びスロット番号３６２と同一のものである。
【０３９７】
利用仮想ストレージ番号は、種別５６１及びスロット番号５６２に対応する物理資源がどの仮想ストレージに利用されているかを示す情報を格納する。具体的には、仮想ストレージ番号５３１が格納される。
【０３９８】
図６３は、本発明の第５の実施形態の仮想ストレージ電力表示機能５４の一例を示す図である。
【０３９９】
仮想ストレージ電力表示機能５４は、管理者の電力表示要求等によって呼び出され、仮想ストレージ毎の消費電力を算出し、算出された仮想ストレージ毎の消費電力を表示する。
【０４００】
まず、仮想ストレージ電力表示機能５４は、ディスクドライブまたはコントローラ部位から消費電力の算出対象を選択する（Ｓ５４１１）。
【０４０１】
仮想ストレージ電力表示機能５４は、仮想ストレージ−ディスク資源対応テーブル５５、及び仮想ストレージ−コントローラ資源対応テーブル５６を参照し、該当する部位を用いている仮想ストレージを選択する（Ｓ５４１２）。
【０４０２】
次に、仮想ストレージ電力表示機能５４は、該当部位が電力変動するか否かを判定する（Ｓ５４１３）。例えば、ディスクドライブ６、または制御部７５は電力変動すると判定され、ホストＩ／Ｆ７２、またはスイッチ部７６は電力変動しないと判定される。
【０４０３】
該当部位が電力変動すると判定された場合、仮想ストレージ電力表示機能５４は、仮想ストレージ−ボリューム対応テーブル５３を参照し、選択された仮想ストレージに含まれる論理ボリュームを列挙する（Ｓ５４１７）。
【０４０４】
次に、仮想ストレージ電力表示機能５４は、消費電力履歴テーブル５１を参照し、選択された部位について、各論理ボリュームの電力増加分を合算し、仮想ストレージの電力増加分を算出する（Ｓ５４１８）。
【０４０５】
次に、仮想ストレージ電力表示機能５４は、選択された部位について、全ての論理ボリュームの電力増加分を合算し、電力増加合計を算出する（Ｓ５４１９）。
【０４０６】
仮想ストレージ電力表示機能５４は、電力増加合計に対する、仮想ストレージ電力増加の割合を算出し、算出された割合と前託された部位の定常電力とを乗じ、仮想ストレージの該当部位の定常電力を算出し（Ｓ５４２０）、Ｓ５４２１に進む。
【０４０７】
Ｓ５４１４において、該当部位が電力変動しないと判定された場合、仮想ストレージ電力表示機能５４は、仮想ストレージ−ディスク資源対応テーブル５５、または仮想ストレージ−コントローラ資源対応テーブル５６を参照し、当該資源を利用している仮想ストレージの数を算出する（Ｓ５４１４）。
【０４０８】
仮想ストレージ電力表示機能５４は、消費電力履歴テーブル５１を参照して、該当部位の定常電力を求める（Ｓ５４１５）。
【０４０９】
算出された該当部位の定常電力を該当する部位を利用している仮想ストレージの数で除算し、仮想ストレージの該当部位の消費電力を算出する（Ｓ５４１６）。
【０４１０】
仮想ストレージ電力表示機能５４は、以上の処理のよって算出された結果を画面に表示する（Ｓ５４２１）。
【０４１１】
仮想ストレージ電力表示機能５４は、全ての仮想ストレージに対し処理を実行したか否かを判定する（Ｓ５４２２）。
【０４１２】
全ての仮想ストレージに対し処理を実行していないと判定された場合、仮想ストレージ電力表示機能５４は、Ｓ５４１２に戻り同様の処理を実行する。
【０４１３】
全ての仮想ストレージに対し処理を実行したと判定された場合、仮想ストレージ電力表示機能５４は、全ての部位に対して処理を実行したか否かを判定する（Ｓ５４２３）。
【０４１４】
全ての部位に対して処理を実行していないと判定された場合、仮想ストレージ電力表示機能５４は、Ｓ５４１１に戻り同様の処理を実行する。
【０４１５】
全ての部位に対して処理を実行したと判定された場合、仮想ストレージ電力表示機能５４は、処理を終了する。
【０４１６】
以上の処理によって、電力変動する部位については、各仮想ストレージが該当部位を利用率に応じて定常電力を配分する。また、電力変動しない部位については、仮想ストレージ毎に定常電力を均等に割り振る。これによって、各仮想ストレージの利用状況に応じて、各仮想ストレージの電力の合計と実際の消費電力の合計とが対応するように消費電力を割り当てることができる。
【０４１７】
図６４は、本発明の第５の実施形態の仮想ストレージ消費電力表示画面の一例を示す図である。
【０４１８】
各仮想ストレージ（５９２Ａ、５９２Ｂ）に、各部位の消費電力を表示する。
【０４１９】
図６４に示す例では、仮想ストレージ電力表示機能５４は、各仮想ストレージの消費電力を、ストレージシステム１の物理資源毎に表示している。具体的には、ストレージ０（５９２Ａ）及びストレージシステム１（５９２Ｂ）について、各仮想ストレージが利用している物理資源毎に消費電力が表示されている。は、通電され、処理を何も実行していないときにストレージシステム１が消費する電力である。
【０４２０】
以上説明したように、第５の実施形態によれば、論理分割を行うストレージシステム１において、各仮想ストレージの電力に定常電力を含めて管理者に提示することができる。
【０４２１】
特許請求の範囲に記載した以外の発明の観点の代表的なものとして、次のものがあげられる。
【０４２２】
（１）管理計算機と、前記管理計算機及びホスト計算機に接続されたストレージシステムとを備える計算機システムにおける電力推定方法であって、
前記管理計算機は、前記ストレージシステムに接続される第１のインタフェースと、前記第１のインタフェースに接続される第１のプロセッサと、前記第１のプロセッサに接続される第１のメモリとを備え、
前記ホスト計算機は、前記ストレージシステムと接続される第２のインタフェースと、前記第２のインタフェースに接続される第２のプロセッサと、前記第２のプロセッサに接続される第２のメモリとを備え、
前記ストレージシステムは、複数のディスクドライブへのデータの読み書きを制御する少なくとも一つの第３のプロセッサと、前記第３のプロセッサと接続される制御メモリと、前記管理計算機と接続される管理インタフェースと、前記ホスト計算機と接続される少なくとも一つのホストインタフェースと、前記ディスクドライブと接続される少なくとも一つのディスクインタフェースと、データを一時的に格納するキャッシュメモリ部とを備え、
前記第３のプロセッサ、前記管理インタフェース、前記ホストインタフェース、前記ディスクインタフェース、及び前記キャッシュメモリ部は、互いに接続され、
前記制御メモリは、前記ストレージシステムを制御するためのストレージ制御プログラムと、前記ストレージシステムを制御するために必要な制御データとを格納し、
前記ストレージ制御プログラムは、電力を推定するための電力推定プログラムを含み、
前記キャッシュメモリ部は、複数のメモリと、前記複数のメモリを制御するメモリコントローラとを備え、
前記制御メモリは、
ストレージ装置が処理を実行している場合における、前記ディスクドライブ、前記キャッシュメモリ部及び前記第３のプロセッサの消費電力の増加分を示す増加消費電力情報を含み、
前記方法は、
前記第３のプロセッサが、前記ディスクドライブの稼働時間から、前記ディスクドライブへの各アクセス種別に対するディスクドライブの稼働率を算出し、
前記第３のプロセッサが、前記増加消費電力情報と前記算出された各アクセス種別に対するディスクドライブの稼働率とから、各アクセス種別における前記ディスクドライブの消費電力の増加分を算出し、
前記第３のプロセッサが、前記ディスクドライブに対するアクセスのときに使用された前記キャッシュメモリ部へのアクセス時間から前記キャッシュメモリ部の稼働率を算出し、
前記第３のプロセッサが、前記増加消費電力情報と前記算出されたキャッシュメモリ部の稼働率とから、前記ディスクドライブに対するアクセスのときに使用された前記キャッシュメモリ部の消費電力の増加分を算出し、
前記第３のプロセッサが、前記ディスクドライブのアクセスに対する処理によって前記第３のプロセッサが稼働した稼働時間から、前記ディスクドライブのアクセスに対する処理における第３のプロセッサの稼働率を算出するステップと、
前記第３のプロセッサが、前記増加消費電力情報と前記算出されたディスクドライブのアクセスに対する処理における第３のプロセッサの稼働率とから、前記ディスクドライブのアクセスに対する処理における第３のプロセッサの消費電力の増加分を算出し、
前記第３のプロセッサが、前記算出された各アクセス種別におけるディスクドライブの消費電力の増加分、前記算出されたディスクドライブに対するアクセスのときに使用されたキャッシュメモリ部の消費電力の増加分、及び前記算出されたディスクドライブのアクセスに対する処理における第３のプロセッサの消費電力の増加分を前記管理計算機に送信することを特徴とする計算機システム。
【図面の簡単な説明】
【０４２３】
【図１】本発明の第１の実施形態の計算機システムの構成を説明するブロック図である。
【図２】本発明の第１の実施形態のキャッシュメモリ部の構成を説明するブロック図である。
【図３】本発明の第１の実施形態のアクセス時間記録テーブルの一例を示す図である。
【図４】本発明の第１の実施形態のストレージ制御プログラムが備える機能を説明するブロック図である。
【図５】本発明の第１の実施形態の制御データの構成を説明するブロック図である。
【図６】本発明の第１の実施形態のディスク部構成テーブルの一例を示す図である。
【図７】本発明の第１の実施形態のディスク電力仕様テーブルの一例を示す図である。
【図８】本発明の第１の実施形態のディスク稼働記録テーブルの一例を示す図である。
【図９】本発明の第１の実施形態のＴａｇ管理テーブルの一例を示す図である。
【図１０】本発明の第１の実施形態のＩ／Ｏ発行状況テーブルの一例を示す図である。
【図１１】本発明の第１の実施形態のコントローラ部構成テーブルの一例を示す図である。
【図１２】本発明の第１の実施形態のコントローラ部電力仕様テーブルの一例を示す図である。
【図１３】本発明の第１の実施形態のコントローラ部電力変動仕様テーブルの一例を示す図である。
【図１４】本発明の第１の実施形態のプロセッサ稼働状況テーブルの一例を示す図である。
【図１５】本発明の第１の実施形態のプロセッサ稼働状況テーブルの一例を示す図である。
【図１６】第１の実施形態のホストＩ／Ｏ受領機能の一例を説明するフローチャートである。
【図１７】本発明の第１の実施形態のディスクＩ／Ｏ発行機能の一例を説明するフローチャートである。
【図１８】本発明の第１の実施形態のディスクＩ／Ｏ完了処理機能の一例を説明するフローチャートである。
【図１９】本発明の第１の実施形態のジョブ起動処理機能の一例を説明する図である。
【図２０】本発明の第１の実施形態のジョブ終了処理機能の一例を説明する図である。
【図２１】本発明の第１の実施形態の電力推定機能の一例を説明するフローチャートである。
【図２２】本発明の第１の実施形態の電力推定機能がＳ２４１及びＳ２４３におけるディスク部電力増加分を算出方法の一例を示す図である。
【図２３】本発明の第１の実施形態の電力推定機能が実行する処理のＳ２４４における管理用端末に送信される表示データの一例を示す図である。
【図２４】本発明の第１の実施形態のストレージ管理プログラムが備える機能及びテーブルを説明するブロック図である。
【図２５】本発明の第１の実施形態の消費電力履歴テーブルの一例を示す図である。
【図２６】本発明の第２の実施形態のストレージ管理プログラムが備える機能及びテーブルを説明するブロック図である。
【図２７】本発明の第２の実施形態の仮想ストレージ‐ボリューム対応テーブルの一例を示す図である。
【図２８】本発明の第２の実施形態のストレージ制御プログラムが備える機能を説明するブロック図である。
【図２９】本発明の第２の実施形態の制御データの構成を説明するブロック図である。
【図３０】本発明の第２の実施形態のＬＤＥＶ‐物理ボリューム対応テーブルの一例を示す図である。
【図３１】本発明の第２の実施形態のディスク稼働記録テーブルの一例を示す図である。
【図３２】本発明の第２の実施形態のＴａｇ管理テーブルの一例を示す図である。
【図３３】本発明の第２の実施形態のＩ／Ｏ発行状況テーブルの一例を示す図である。
【図３４】本発明の第２の実施形態のプロセッサ稼働状況テーブルの一例を示す図である。
【図３５】本発明の第２の実施形態のプロセッサ稼働状況テーブルの一例を示す図である。
【図３６】本発明の第２の実施形態のキャッシュアクセス量テーブルの一例を示す図である。
【図３７】本発明の第２の実施形態のディスクＩ／Ｏ発行機能の一例を示す図である。
【図３８】本発明の第２の実施形態のディスクＩ／Ｏ完了処理機能の一例を示す図である。
【図３９】本発明の第２の実施形態のジョブ起動処理機能の一例を示す図である。
【図４０】本発明の第２の実施形態のジョブ終了処理機能の一例を示す図である。
【図４１】本発明の第２の実施形態のデータ転送起動機能の一例を示す図である。
【図４２】本発明の第２の実施形態の電力推定機能の一例を説明するフローチャートである。
【図４３】本発明の第２の実施形態の電力推定機能が実行する処理のＳ２４４における管理用端末に送信される表示データの一例を示す図である。
【図４４】本発明の第２の実施形態の消費電力履歴テーブルの一例を示す図である。
【図４５】本発明の第２の実施形態の仮想ストレージ電力表示機能の一例を説明するフローチャートである。
【図４６】本発明の第２の実施形態の仮想ストレージ電力表示機能が実行する仮想ストレージ消費電力の出力の一例を示す図である。
【図４７】本発明の第３の実施形態のストレージ制御プログラムが備える機能を説明するブロック図である。
【図４８】本発明の第３の実施形態の制御データの構成を説明するブロック図である。
【図４９】第３の実施形態のディスク電力仕様テーブルの一例を示す図である。
【図５０】本発明の第３の実施形態のディスク稼働記録テーブルの一例を示す図である。
【図５１】本発明の第３の実施形態のディスク状態テーブルの一例を示す図である。
【図５２】本発明の第３の実施形態のディスク状態変更機能の一例を説明するフローチャートである。
【図５３】本発明の第３の実施形態の電力推定機能の一例を説明するフローチャートである。
【図５４】本発明の第４の実施形態の制御データの構成を説明するブロック図である。
【図５５】本発明の第４の実施形態のＳＳＤ電力仕様テーブルの一例を示す図である。
【図５６】本発明の第４の実施形態のＳＳＤ稼働記録テーブルの一例を示す図である。
【図５７】本発明の第４の実施形態のディスクＩ／Ｏ発行機能の一例を説明するフローチャートである。
【図５８】本発明の第４の実施形態のディスクＩ／Ｏ完了処理機能の一例を説明するフローチャートである。
【図５９Ａ】本発明の第４の実施形態の電力推定機能の一例を説明するフローチャートである。
【図５９Ｂ】本発明の第４の実施形態の電力推定機能の一例を説明するフローチャートである。
【図６０】本発明の第５の実施形態のストレージ管理プログラムが備える機能及びテーブルを説明するブロック図である。
【図６１】本発明の第５の実施形態の仮想ストレージ−ディスク資源対応テーブルの一例を示す図である。
【図６２】本発明の第５の実施形態の仮想ストレージ−コントローラ資源対応テーブルの一例を示す図である。
【図６３】本発明の第５の実施形態の仮想ストレージ電力表示機能の一例を示す図である。
【図６４】本発明の第５の実施形態の仮想ストレージ消費電力表示画面の一例を示す図である。
【符号の説明】
【０４２４】
１  ストレージシステム
４  管理用端末
６  ディスクドライブ
７１  ホストコンピュータ
７２  ホストＩ／Ｆ部
７３  キャッシュメモリ部
７４  ディスクＩ／Ｆ部
７５  制御部
７６  スイッチ部
７７  管理端末用Ｉ／Ｆ部
７８  プロセッサ
７９    制御メモリ
７２１    プロトコル変換ＬＳＩ
７２２    データ転送ＬＳＩ
７３１  メモリコントローラＬＳＩ
７３３  メモリモジュール（ＤＩＭＭ）
７４１  プロトコル変換ＬＳＩ
７４２  データ転送ＬＳＩ
７８１  プロセッサコア
【図１】
2010097555.tif 000003
【図２】
2010097555.tif 000004
【図３】
2010097555.tif 000005
【図４】
2010097555.tif 000006
【図５】
2010097555.tif 000007
【図６】
2010097555.tif 000008
【図７】
2010097555.tif 000009
【図８】
2010097555.tif 000010
【図９】
2010097555.tif 000011
【図１０】
2010097555.tif 000012
【図１１】
2010097555.tif 000013
【図１２】
2010097555.tif 000014
【図１３】
2010097555.tif 000015
【図１４】
2010097555.tif 000016
【図１５】
2010097555.tif 000017
【図１６】
2010097555.tif 000018
【図１７】
2010097555.tif 000019
【図１８】
2010097555.tif 000020
【図１９】
2010097555.tif 000021
【図２０】
2010097555.tif 000022
【図２１】
2010097555.tif 000023
【図２２】
2010097555.tif 000024
【図２３】
2010097555.tif 000025
【図２４】
2010097555.tif 000026
【図２５】
2010097555.tif 000027
【図２６】
2010097555.tif 000028
【図２７】
2010097555.tif 000029
【図２８】
2010097555.tif 000030
【図２９】
2010097555.tif 000031
【図３０】
2010097555.tif 000032
【図３１】
2010097555.tif 000033
【図３２】
2010097555.tif 000034
【図３３】
2010097555.tif 000035
【図３４】
2010097555.tif 000036
【図３５】
2010097555.tif 000037
【図３６】
2010097555.tif 000038
【図３７】
2010097555.tif 000039
【図３８】
2010097555.tif 000040
【図３９】
2010097555.tif 000041
【図４０】
2010097555.tif 000042
【図４１】
2010097555.tif 000043
【図４２】
2010097555.tif 000044
【図４３】
2010097555.tif 000045
【図４４】
2010097555.tif 000046
【図４５】
2010097555.tif 000047
【図４６】
2010097555.tif 000048
【図４７】
2010097555.tif 000049
【図４８】
2010097555.tif 000050
【図４９】
2010097555.tif 000051
【図５０】
2010097555.tif 000052
【図５１】
2010097555.tif 000053
【図５２】
2010097555.tif 000054
【図５３】
2010097555.tif 000055
【図５４】
2010097555.tif 000056
【図５５】
2010097555.tif 000057
【図５６】
2010097555.tif 000058
【図５７】
2010097555.tif 000059
【図５８】
2010097555.tif 000060
【図５９Ａ】
2010097555.tif 000061
【図５９Ｂ】
2010097555.tif 000062
【図６０】
2010097555.tif 000063
【図６１】
2010097555.tif 000064
【図６２】
2010097555.tif 000065
【図６３】
2010097555.tif 000066
【図６４】
2010097555.tif 000067