(57)【要約】【課題】  格納するデータ量の変動に対応可能なアクセス性能を保持しつつ消費電力を削減することが可能なディスクアレイ制御装置等を提供する。【解決手段】  ディスクアレイ制御装置は、上位装置から命令を受け取り前記命令に応じた制御を行う制御手段を備え、前記制御手段は、複数のディスクドライブからなるディスクアレイに格納しているデータ量を基に必要とされるディスクドライブ数を求め、そのディスクドライブ数を超える前記ディスクドライブについては停止することを決定して、停止することが決定した前記ディスクドライブに格納しているデータを、停止対象でないディスクドライブにコピーする。【選択図】  図１
2015161996.tif 000002
【特許請求の範囲】
【請求項１】
上位装置から命令を受け取り前記命令に応じた制御を行う制御手段を備え、
前記制御手段は、複数のディスクドライブからなるディスクアレイに格納しているデータ量を基に必要とされるディスクドライブ数を求め、そのディスクドライブ数を超える前記ディスクドライブについては停止することを決定して、停止することが決定した前記ディスクドライブに格納しているデータを、停止対象でないディスクドライブにコピーする
ことを特徴とするディスクアレイ制御装置。
【請求項２】
前記命令によって指定されたアドレス情報と、前記ディスクアレイにアクセスするときに使用するアドレス情報とを関連付けるアドレス変換手段をさらに備え、
省電力状態への移行を前記上位装置から指示された場合に、前記制御手段は、前記ディスクアレイに格納しているデータ量を基に必要とされるディスクドライブ数を求め、そのディスクドライブ数を超える前記ディスクドライブについては停止することを決定して、停止することが決定した前記ディスクドライブに格納しているデータを、前記アドレス変換手段が保持している情報を参照して、停止対象でないディスクドライブにコピーし、コピーした後の前記ディスクドライブの内容にあわせて前記アドレス変換手段が保持する前記情報を更新する
ことを特徴とする請求項１記載のディスクアレイ制御装置。
【請求項３】
前記制御手段は、
前記省電力状態の解除を前記上位装置から指示された場合に、停止していたディスクドライブを稼働し、前記アドレス変換手段が保持している前記情報を参照して、稼働しているディスクドライブに前記データを分散して格納し、格納後の前記ディスクドライブの内容にあわせて前記情報を更新する
ことを特徴とする請求項１または２記載のディスクアレイ制御装置。
【請求項４】
前記ディスクアレイ制御装置が制御する前記ディスクドライブは、ＲＡＩＤ構成をなすことを特徴とする請求項１乃至３記載のディスクアレイ制御装置。
【請求項５】
請求項１乃至４の何れかに記載のディスクアレイ制御装置と、
前記ディスクアレイと
を備えるディスクアレイ装置。
【請求項６】
コンピュータが、上位装置から命令を受け取り、その命令に応じて、複数のディスクドライブからなるディスクアレイを制御するに際して、
前記ディスクアレイに格納しているデータ量を基に必要とされるディスクドライブ数を求め、
そのディスクドライブ数を超える前記ディスクドライブについては停止することを決定して、
停止することが決定した前記ディスクドライブに格納しているデータを、停止対象でないディスクドライブにコピーする
ことを特徴とするディスクアレイ制御方法。
【請求項７】
省電力状態への移行を前記上位装置から指示された場合に、前記ディスクアレイに格納しているデータ量を基に必要とされるディスクドライブ数を求め、
そのディスクドライブ数を超える前記ディスクドライブについては停止することを決定して、
停止することが決定した前記ディスクドライブに格納しているデータを、前記命令によって指定されたアドレス情報と前記ディスクアレイにアクセスするときに使用するアドレス情報とを関連付ける情報を参照して、停止対象でないディスクドライブにコピーし、
コピーした後の前記ディスクドライブの内容にあわせて前記情報を更新する
ことを特徴とする請求項６記載のディスクアレイ制御方法。
【請求項８】
前記省電力状態の解除を前記上位装置から指示された場合に、停止していたディスクドライブを稼働し、前記情報を参照して、稼働しているディスクドライブに前記データを分散して格納し、格納後の前記ディスクドライブの内容にあわせて前記情報を更新する
ことを特徴とする請求項６または７記載のディスクアレイ制御方法。
【請求項９】
複数のディスクドライブからなるディスクアレイに格納しているデータ量を基に必要とされるディスクドライブ数を求め、そのディスクドライブ数を超える前記ディスクドライブについては停止することを決定して、停止することが決定した前記ディスクドライブに格納しているデータを、停止対象でないディスクドライブにコピーする機能を、コンピュータに実現させる
ことを特徴とするコンピュータ・プログラム。
【請求項１０】
上位装置からの命令によって指定されたアドレス情報と複数のディスクドライブからなるディスクアレイをアクセスするときに使用するアドレス情報とを関連付ける情報を保持する機能と、
省電力状態への移行を前記上位装置から指示された場合に、前記ディスクアレイに格納しているデータ量を基に必要とされるディスクドライブ数を求め、そのディスクドライブ数を超える前記ディスクドライブについては停止することを決定して、停止することが決定した前記ディスクドライブに格納しているデータを、前記情報を参照して、停止対象でないディスクドライブにコピーする機能とを、コンピュータに実現させる
ことを特徴とする請求項９記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のディスクドライブからなるディスクアレイを制御する技術分野に関する。
【背景技術】
【０００２】
近年、計算機システムの消費電力は、計算機システムの増大により社会的な課題になってきている。特に企業の所有する計算機システムや、データセンターは、大きな電力を必要とすることもあり、このような計算機システムにおける個々の機器の消費電力を小さく抑える技術が強く求められている。
【０００３】
ディスクアレイ装置は、回転体であるディスクドライブを内部に多く搭載する。そのため、ディスクアレイ装置は、計算機システムの中でも特に消費電力が大きい機器である。よって、ディスクアレイ装置の消費電力を削減することは、システム全体における消費電力の削減に大きな貢献が期待できる。
【０００４】
ディスクアレイ装置の消費電力の削減に関しては、その構成要素である制御部やディスクドライブ自体の消費電力を削減する技術と共に、使用していない、あるいは、使用頻度の低いディスクドライブを停止させて、ディスクアレイ装置の消費電力を抑える、ＭＡＩＤ（Ｍａｓｓｉｖｅ  Ａｒｒａｙ  ｏｆ  Ｉｎａｃｔｉｖｅ  Ｄｉｓｋｓ）技術が知られ製品化されている。この技術は、ディスクアレイ装置に多数のディスクドライブが搭載されている場合、あるいは、ディスクアレイ装置が多数ある場合に現れる、以下のような特性に基づいている。即ち、その特性とは、一般的に、入出力命令が頻繁に発行されるディスクドライブは、ごく一部であり、多くのディスクドライブには入出力命令が希にしか発行されないか、まったく発行されない場合が多いという、ディスクに対する入出力命令の分布特性に基づいている。
【０００５】
計算機システムを使用する業務は、各々の業務サイクルの中で、業務負荷に周期的な変動がある。一般的には、月末、期末、年度末には会計処理との兼ね合いで大きな負荷が集中する時間的な分布特性がある。
【０００６】
ディスクアレイ装置の性能は、ディスクドライブ自体の入出力性能がネックになる場合が多いため、ディスクアレイ装置は、高い性能が求められるほど、多くのディスクドライブを搭載する構成を組むのが一般的である。このため、ディスクアレイ装置は、最大の業務負荷に耐えうるように、サイジングする。このように構築したディスクアレイ装置は、繁忙期には適切な性能でも、通常は過剰性能で稼働していることになる。
【０００７】
ここで、本願出願に先立って存在する関連技術としては、例えば以下の特許文献がある。
【０００８】
特許文献１および特許文献２は、記憶媒体に格納したデータをアクセスするときに必要とされる要件（応答速度やアクセスパターン）でデータを分類し、その分類ごとにデータを格納する記憶媒体を分けて、各記憶媒体に省電力制御を行う技術を開示している。
【０００９】
特許文献３は、複数のストレージについて、ストレージ間でデータを移動して、１つのストレージを構成する全ディスクを省電力対象にする技術を開示している。
【００１０】
特許文献４は、データのアクセス頻度に応じて、データの配置を最適化し、余剰のストレージ領域を削減する技術を開示している。
【００１１】
特許文献５は、データの記憶媒体ごとの使用状況に閾値を設定し、その閾値を超えないように記憶媒体間でデータを再配置する技術を開示している。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特許第３８５９６７４号公報
【特許文献２】特開２０１０−２７１９０１号公報
【特許文献３】特表２０１３−５２４３３３号公報
【特許文献４】特開２０１０−２３１４６５号公報
【特許文献５】特開２００７−１１５２３２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
しかしながら、特許文献１から特許文献５に提案されている技術を用いても、１つのディスクアレイ装置において、格納するデータ量の変動に対応可能なアクセス性能を考慮した省電力制御を行うことはできない。
【００１４】
そこで、本発明は、格納するデータ量の変動に対応可能なアクセス性能を保持しつつ消費電力を削減することが可能なディスクアレイ制御装置等の提供を主たる目的とする。
【課題を解決するための手段】
【００１５】
上記の目的を達成すべく、本発明に係るディスクアレイ制御装置は、以下の構成を備えることを特徴とする。
【００１６】
即ち、本発明に係るディスクアレイ制御装置は、
上位装置から命令を受け取り前記命令に応じた制御を行う制御手段を
備え、
前記制御手段は、複数のディスクドライブからなるディスクアレイに格納しているデータ量を基に必要とされるディスクドライブ数を求め、そのディスクドライブ数を超える前記ディスクドライブについては停止することを決定して、停止することが決定した前記ディスクドライブに格納しているデータを、停止対象でないディスクドライブにコピーする
ことを特徴とする。
【００１７】
同目的を達成する本発明に係るディスクアレイ制御方法は、
コンピュータが、上位装置から命令を受け取り、その命令に応じて、複数のディスクドライブからなるディスクアレイを制御するに際して、
前記ディスクアレイに格納しているデータ量を基に必要とされるディスクドライブ数を求め、そのディスクドライブ数を超える前記ディスクドライブについては停止することを決定して、停止することが決定した前記ディスクドライブに格納しているデータを、停止対象でないディスクドライブにコピーする
ことを特徴とする。
【００１８】
更に、同目的は、上記構成を有するディスクアレイ制御装置を、コンピュータによって実現するコンピュータ・プログラム、及びそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。
【発明の効果】
【００１９】
上記の本発明によれば、ディスクアレイ装置において、格納するデータ量の変動に対応可能なアクセス性能を保持しつつ消費電力を削減することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１の実施形態に係るディスクアレイ制御装置の構成を示すブロック図である。
【図２】本発明の第２の実施形態に係るディスクアレイ装置の構成を示すブロック図である。
【図３】本発明の第２の実施形態に係るアドレス情報を格納するアドレス変換テーブルを説明する図である。
【図４】本発明の第２の実施形態に係るディスクドライブごとの物理アドレスを説明する図である。
【図５】本発明の第２の実施形態に係る上位装置から見たディスクアレイ装置を説明する図である。
【図６】本発明の第２の実施形態に係るマイクロプロセッサにおける書き込み命令受け取り時の処理を示すフローチャートである。
【図７】本発明の第２の実施形態に係るマイクロプロセッサにおける読み出し命令受け取り時の処理を示すフローチャートである。
【図８】本発明の第２の実施形態に係るマイクロプロセッサにおける通常モードから省電力モードへの移行処理を示すフローチャートである。
【図９】本発明の第２の実施形態に係る省電力モードへ移行後のアドレス変換テーブルを説明する図である。
【図１０】本発明の第２の実施形態に係るマイクロプロセッサにおける省電力モードから通常モードへの移行処理を示すフローチャートである。
【図１１】本発明の第２の実施形態に係る通常モードへ移行後のアドレス変換テーブルを説明する図である。
【発明を実施するための形態】
【００２１】
次に、本発明を実施する形態について図面を参照して詳細に説明する。
【００２２】
＜第１の実施形態＞
図１は、本発明の第１の実施形態に係るディスクアレイ制御装置の構成を示すブロック図である。
【００２３】
本実施形態に係るディスクアレイ制御装置１００は、制御部１１０と、アドレス変換部１２０とを有する。
【００２４】
ディスクアレイ制御装置１００は、上位装置２００に接続している。上位装置２００は、ディスクアレイ制御装置１００に対して命令を発行する。上位装置２００は、例えばホストコンピュータである。
【００２５】
ディスクアレイ制御装置１００は、ディスクアレイを構成するディスクドライブ１３１〜１３８を制御する。
【００２６】
制御部１１０は、上位装置２００から命令を受け取り、その命令に応じた制御を行う。
【００２７】
アドレス変換部１２０は、その命令によって指定されたアドレス情報と、ディスクドライブ１３１〜１３８にアクセスするときに使用するアドレス情報とを関連付ける。
【００２８】
省電力状態への移行を上位装置２００から命令した場合に、制御部１１０は、ディスクドライブ１３１〜１３８に格納しているデータ量を基に必要とされるディスクドライブ数を求める。そして、制御部１１０は、そのディスクドライブ数を超えるディスクドライブ（１３１〜１３８）については停止することを決定する。本願において、「停止」は、当該ディスクドライブへの電力供給を止めることとする。但し、これには限らず、「停止」は、回転体を動かすモーターを停止することにより、当該ディスクドライブで使用する電力を減らすこととしてもよい。制御部１１０は、停止することが決定したディスクドライブ（１３１〜１３８）に格納しているデータを、アドレス変換部１２０が保持している情報を参照して、停止対象でないディスクドライブ（１３１〜１３８）にコピーする。コピーした後に、制御部１１０は、ディスクドライブ１３１〜１３８の内容にあわせて、アドレス変換部１２０が保持する情報を更新する。
【００２９】
省電力状態の解除を上位装置２００から命令した場合に、制御部１１０は、停止していたディスクドライブ（１３１〜１３８）を稼働する。そして、制御部１１０は、アドレス変換部１２０が保持している情報を参照して、稼働しているディスクドライブ（１３１〜１３８）にデータを分散して格納する。格納した後に、制御部１１０は、ディスクドライブ（１３１〜１３８）の内容にあわせて、アドレス変換部１２０が保持する情報を更新する。
【００３０】
本実施形態では、ディスクドライブを８台としたが、ディスクドライブの数はこれに限定しない。
【００３１】
本実施形態において、アドレス変換部１２０は、ディスクアレイ制御装置１００に含まれるものとして説明したが、ディスクアレイ制御装置１００の外にあってもよい。
【００３２】
以上、説明したように、第１の実施形態には、格納するデータ量の変動に対応可能なアクセス性能を保持しつつ消費電力を削減することができるという効果がある。
【００３３】
その理由は、本実施形態に係るディスクアレイ制御装置１００は、必要とされる性能が高いときには多くのディスクドライブ（１３１〜１３８）を稼働し、一方、必要とされる性能が低いときには、稼働するディスクドライブ（１３１〜１３８）の台数を減らして運用することにより、消費電力を抑えるためである。
【００３４】
なお、上述した実施形態において図１に示した制御部１１０およびアドレス変換部１２０は、専用の装置によって実現してもよいが、上述した制御部１１０およびアドレス変換部１２０の機能を実現可能なコンピュータ・プログラムを、ハードウェア資源であるコンピュータ（情報処理装置）が有するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）において実行することによっても達成可能である。このことは、後述する第２の実施形態において図２に示すマイクロプロセッサ１１、上位装置接続部１２、アレイ制御部１３、ディスク接続部１４、物理アドレスレジスタ１５およびアドレス変換部２０についても同様である。
【００３５】
＜第２の実施形態＞
図２は、本発明の第２の実施形態に係るディスクアレイ装置の構成を示すブロック図である。
【００３６】
本実施形態に係るディスクアレイ装置１は、マイクロプロセッサ１１と、上位装置接続部１２と、アレイ制御部１３と、ディスク接続部１４と、物理アドレスレジスタ１５と、アドレス変換２０と、ディスクドライブ３１〜３８とを有する。
【００３７】
ディスクアレイ装置１は、上位装置２に接続している。上位装置２は、ディスクアレイ装置１に対して命令を発行する。上位装置２は、例えばホストコンピュータである。ディスクアレイ装置１は、上位装置２が発行する入出力命令により、ディスクドライブ３１〜３８に格納しているデータを読み出したり、命令によって指定されたデータディスクドライブ３１〜３８へを書き込む。
【００３８】
本実施形態では、ディスクアレイ装置１は、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）であり、構成をＲＡＩＤ１０としている。そのため、ディスクドライブ３１と３２、ディスクドライブ３３と３４、ディスクドライブ３５と３６、ディスクドライブ３７と３８は、それぞれがＲＡＩＤ１であり、ミラーを構成して同じ内容を記憶する。そして、本実施形態のディスクアレイ装置１は、ディスクドライブ３１と３２、ディスクドライブ３３と３４、ディスクドライブ３５と３６、ディスクドライブ３７と３８の順番にデータをストライプして分散記憶するＲＡＩＤ１０構成をなしている。
【００３９】
マイクロプロセッサ１１は、ディスクアレイ装置１全体を管理および制御する。
【００４０】
上位装置接続部１２は、上位装置２とのインタフェースを制御する。上位装置接続部１２は、上位装置２が発行する命令を受け取り、その命令に応じて、データの入力および送出を制御する。
【００４１】
アレイ制御部１３は、ディスクアレイ装置１に対する書き込みデータや、読み出しデータに対してＲＡＩＤの制御を行う。アレイ制御部１３は、書き込み時にはデータのストライピングを行い、読み出し時にはストライピングしたデータの合成を行なう。
【００４２】
ディスク接続部１４は、ディスクアレイ装置１に多数存在するディスクドライブ３１〜３８とのインタフェースを制御する。
【００４３】
物理アドレスレジスタ１５は、どのディスクドライブ（３１〜３８）のどこのアドレスにアクセスするかを記憶するレジスタである。
【００４４】
アドレス変換部２０は、上位装置２が認識する書き込みアドレスを基に、実際にディスクドライブ（３１〜３８）に書き込むアドレスに変換を行い、その読み替えを行う部分である。これにより、ディスクアレイ装置１は、書き込みアドレスを仮想化している。つまり、上位装置２は、アクセス対象のデータが実際にどこに存在するかを意識せずに、そのデータにアクセスすることができる。
【００４５】
アドレス変換部２０は、アドレス変換テーブル２１と、スタートポインタ２２と、エンドポインタ２３とを有する。
【００４６】
アドレス変換テーブル２１は、実際に書き込むアドレスと、上位装置に見せる書き込みアドレスとを対応づけて記憶する領域である。アドレス変換テーブル２１は、その内容の保全を図るために、フラッシュメモリなどの不揮発性の記憶媒体を用いることが望ましい。
【００４７】
図３は、本発明の第２の実施形態に係るアドレス情報を格納するアドレス変換テーブルを説明する図である。
【００４８】
図３に示すように、アドレス変換テーブル２１は、エントリ番号３０１と、物理アドレス３０２と、仮想アドレス３０３とを含む。すなわち、エントリ番号３０１と、物理アドレス３０２と、仮想アドレス３０３とは、アドレス変換テーブル２１において、図３に概念的に示すテーブルの如く関連付けされていることとする。
【００４９】
エントリ番号３０１は、アドレス変換テーブル２１のエントリを一意に識別可能な値である。本実施形態では、エントリ番号３０１は、アドレス変換テーブル２１の先頭エントリを「１」として、２番目のエントリを「２」、３番目のエントリを「３」のように、１ずつ増やした値である。
【００５０】
物理アドレス３０２は、ディスクドライブ（３１〜３８）における書き込み位置を示す。物理アドレス３０２は、「Ｘ−Ｙ」と表記した場合、Ｘは、ディスクドライブ（３１〜３８）を示す。Ｘは、ディスクドライブ３１と３２の場合に「１」、ディスクドライブ３３と３４の場合に「２」、ディスクドライブ３５と３６の場合に「３」、ディスクドライブ３７と３８の場合に「４」とする。Ｙは、各ディスクドライブ（３１〜３８）におけるアドレスを表している。
【００５１】
図４は、本発明の第２の実施形態に係るディスクドライブ（３１〜３８）ごとの物理アドレスを説明する図である。図４は、図３を基に、ディスクドライブ（３１〜３８）ごとに並べ替えたものである。エントリ番号３０１の昇順にデータを設定すれば、ディスクアレイ装置１は、ディスクドライブ（３１〜３８）においてデータを分散して格納することができる。
【００５２】
仮想アドレス３０３は、上位装置２が認識している仮想的なディスクにおける書き込み位置を示す。図５は、本発明の第２の実施形態に係る上位装置から見たディスクアレイ装置を説明する図である。
【００５３】
ディスクアレイ装置１は、上位装置２に、ＲＡＩＤ１０を構成する８台のディスクドライブ３１〜３８を、図５に示すような１つの仮想的なディスクとして見せている。上位装置２がディスクアレイ装置１のディスクドライブ３１〜３８にデータを書き込むときに指定するアドレスは、仮想的なアドレスであり、アドレス変換テーブル２１の仮想アドレス３０３である。
【００５４】
スタートポインタ２２は、アドレス変換テーブル２１において仮想アドレス３０３を記憶している先頭のエントリを示すポインタである。スタートポインタ２２は、具体的には、該エントリに含まれるエントリ番号３０１である。スタートポインタ２２の初期値は、「１」である。
【００５５】
エンドポインタ２３は、次に、アドレス変換テーブル２１に仮想アドレス３０３を記憶するエントリを示すポインタである。エンドポインタ２３は、具体的には、該エントリに含まれるエントリ番号３０１である。エンドポインタ２３の初期値は、「１」である。
【００５６】
すなわち、スタートポインタ２２とエンドポインタ２３は、アドレス変換テーブル２１のあるエントリに含まれるエントリ番号３０１の値である。これらは、アドレス変換テーブル２１において末尾のエントリに含まれるエントリ番号３０１の次には、「１」に戻り、アドレス変換テーブル２１の先頭のエントリを示す。
【００５７】
ディスクアレイ装置１は、ディスクドライブ３１〜３８が動作状態であり、すべてのディスクドライブ３１〜３８にデータを分散して格納している場合を「通常モード」と称することとする。通常モードは、高性能処理に適する状態である。
【００５８】
また、ディスクアレイ装置１は、データ格納量を基に、必要とされるディスクドライブ（３１〜３８）の数を求め、その数を超えるディスクドライブ（３１〜３８）を停止して運用する場合を「省電力モード」と称することとする。
【００５９】
なお、本実施形態では、ＲＡＩＤ１０を例に説明したが、ＲＡＩＤ３０やＲＡＩＤ５０等のストライプ型のＲＡＩＤも同様に扱うことができる。また、ディスクドライブの数は、これに限定しない。
【００６０】
次に、本実施形態におけるディスクアレイ装置１の動作を説明する。
【００６１】
図６は、本発明の第２の実施形態に係るマイクロプロセッサ１１における書き込み命令受け取り時の処理を示すフローチャートである。
【００６２】
初めに、上位装置２は、データの書き込み命令をディスクアレイ装置１に発行する。書き込み命令は、ディスクアレイ装置１に書き込むデータと、そのデータを書き込む先のアドレス（以下、「書き込みアドレス」という）を含んでいる。マイクロプロセッサ１１は、発行された書き込み命令を、上位装置接続部１２によって、受け取る（ステップＳ１０１）。続いて、マイクロプロセッサ１１は、受け取った書き込み命令によって指定された書き込みアドレスが、アドレス変換テーブル２１の仮想アドレス３０３に一致するかを確認する（ステップＳ１０２）。
【００６３】
アドレス変換テーブル２１の仮想アドレス３０３に一致する（ステップＳ１０３で「Ｙｅｓ」）場合、マイクロプロセッサ１１は、その仮想アドレス３０３が一致するエントリに含まれる物理アドレス３０２を、物理アドレスレジスタ１５に記憶する（ステップＳ１０６）。
【００６４】
アドレス変換テーブル２１の仮想アドレス３０３に一致しない（ステップＳ１０３で「Ｎｏ」）場合、マイクロプロセッサ１１は、受け取った書き込み命令によって指定された書き込みアドレスに、データが書き込まれていないと判断する。そこで、マイクロプロセッサ１１は、アドレス変換テーブル２１で、エンドポインタ２３に対応するエントリに含まれる物理アドレス３０２を、物理アドレスレジスタ１５に記憶する。次に、マイクロプロセッサ１１は、上位装置２から指定された書き込みアドレスを、当該エントリに含まれる仮想アドレス３０３に書き込む（ステップＳ１０４）。それから、マイクロプロセッサ１１は、エンドポインタ２３をインクリメントして、アドレス変換テーブル２１において次のエントリを示すようにしておく（ステップＳ１０５）。
【００６５】
次に、マイクロプロセッサ１１は、アレイ制御部１３に対してＲＡＩＤ１０での書き込み開始を指示する（ステップＳ１０７）。マイクロプロセッサ１１は、ディスク接続部１４によって物理アドレスレジスタ１５が示すディスクドライブ（３１〜３８）における書き込み位置に、上位装置２から指定された書き込みデータを書き込む（ステップＳ１０８、Ｓ１０９）。ディスクドライブ（３１〜３８）への書き込みが完了すると、マイクロプロセッサ１１は、上位装置接続部１２によって上位装置２に対して、書き込み命令の終了報告を行う（ステップＳ１１０）。
【００６６】
図７は、本発明の第２の実施形態に係るマイクロプロセッサ１１における読み出し命令受け取り時の処理を示すフローチャートである。
【００６７】
初めに、上位装置２は、データの読み出し命令をディスクアレイ装置１に発行する。読み出し命令は、データを読み出し元のアドレス（以下、「読み出しアドレス」という。）を含んでいる。マイクロプロセッサ１１は、発行された読み出し命令を、上位装置接続部１２によって、受け取る（ステップＳ２０１）。続いて、マイクロプロセッサ１１は、上位装置２から受け取った読み出し命令で指定された読み出しアドレスが、アドレス変換テーブル２１の仮想アドレス３０３に一致するかを確認する（ステップＳ２０２）。
【００６８】
アドレス変換テーブル２１の仮想アドレス３０３に一致する（ステップＳ２０３で「Ｙｅｓ」）場合、マイクロプロセッサ１１は、その仮想アドレス３０３が一致するエントリに含まれる物理アドレス３０２を、物理アドレスレジスタ１５に記憶する（ステップＳ２０５）。次にマイクロプロセッサ１１は、アレイ制御部１３に対してＲＡＩＤ１０での読み出し開始を指示する（ステップＳ２０６）。マイクロプロセッサ１１は、ディスク接続部１４によって物理アドレスレジスタ１５が示すディスクドライブ（３１〜３８）における読み出し位置から読み出す（ステップＳ２０７）。マイクロプロセッサ１１は、読み出したデータを、上位装置接続部１２によって、上位装置２に転送する（ステップＳ２０８）。
【００６９】
アドレス変換テーブル２１の仮想アドレス３０３に一致しない（ステップＳ２０３で「Ｎｏ」）場合、マイクロプロセッサ１１は、書き込んだデータがない部分からの読み出しを指示されたと判断する。マイクロプロセッサ１１は、上位装置２に対し、ゼロデータを読み出しデータとして送る（ステップＳ２０４）。
【００７０】
上位装置２への読み出しデータの転送が終了すると、マイクロプロセッサ１１は、上位装置接続部１２によって上位装置２に対して、読み出し命令の終了報告を行う（ステップＳ２０９）。
【００７１】
業務サイクル等により低負荷であることが予想される場合に、通常モードで動作しているディスクアレイ装置１は、省電力モードへ移行するように上位装置２から指示を受ける。
【００７２】
図８は、本発明の第２の実施形態に係る通常モードから省電力モードへの移行処理を示すフローチャートである。
【００７３】
初期状態として、ディスクアレイ装置１は、ディスクドライブ３１〜３８が動作状態であり、また、アドレス変換テーブル２１と、スタートポインタ２２と、エンドポインタ２３とは、図３に示す内容であるとする。
【００７４】
上位装置２は、低負荷状態が継続すると予想される場合、装置容量の空き状態を確認して２５％以上の空き状態がある場合、省電力モードに移行可能と判断する。ここでは、本実施形態のディスクアレイ装置１の構成は、２×４台構成のＲＡＩＤ１０構成であり、２×３台にした場合に記憶可能容量が２５％減るため、ディスクアレイ装置１に２５％の空き容量があることを判断の基準とした。仮にディスクアレイ装置１に５０％以上の空き容量があるならば、ディスクアレイ装置１は、２×２台まで減らすことが可能である。ここで用いたディスク容量を減らす判断の基準は、一例であり、これに限定するものではない。
【００７５】
ここでは、ディスクアレイ装置１を２×３台構成にするために、ディスクドライブ３７、３８を停止する場合について説明する。
【００７６】
上位装置２は、省電力モードに移行可能と判断すると、ディスクアレイ装置１に省電力モードへの移行命令を発行する。
【００７７】
マイクロプロセッサ１１は、上位装置２から発行された移行命令を受け取る（ステップＳ３０１）。マイクロプロセッサ１１は、アドレス変換テーブル２１のエンドポインタ２３に対応するエントリに含まれる物理アドレス３０２を読み出す。マイクロプロセッサ１１は、読み出した物理アドレス３０２が停止対象のディスクドライブ（３７、３８）であるかを確認する（ステップＳ３０２、Ｓ３０３）。本実施形態では、停止対象であるディスクドライブ３７と３８の物理アドレスは、“４”で始まる値である。
【００７８】
停止対象のディスクドライブ（３７、３８）である（ステップＳ３０３で「Ｙｅｓ」）場合、マイクロプロセッサ１１は、エンドポインタ２３をインクリメントして（ステップＳ３０４）、ステップＳ３０２から繰り返す。
【００７９】
停止対象のディスクドライブ（３７、３８）でない（ステップＳ３０３で「Ｎｏ」）場合には、マイクロプロセッサ１１は、アドレス変換テーブル２１のスタートポインタ２２に対応するエントリに含まれる物理アドレス３０２を読み出す（ステップＳ３０５）。マイクロプロセッサ１１は、その物理アドレス３０２が示すディスクドライブ（３１〜３６）からデータを読み出す。そして、マイクロプロセッサ１１は、読み出したデータを、エンドポインタ２３に対応するエントリに含まれる物理アドレス３０２が示すディスクドライブに書き込む指示をアレイ制御部１３に発行する（ステップＳ３０６）。
【００８０】
マイクロプロセッサ１１は、ディスク接続部１４によって、ディスクドライブ間で対象データの移送を行う（ステップＳ３０７）。次にマイクロプロセッサ１１は、スタートポインタ２２に対応するエントリに含まれる仮想アドレス３０３を、エンドポインタ２３に対応するエントリに含まれる仮想アドレス３０３にコピーする（ステップＳ３０８）。その後、マイクロプロセッサ１１は、スタートポインタ２２に対応するエントリに含まれる仮想アドレス３０３をクリアする（ステップＳ３０９）。次に、マイクロプロセッサ１１は、スタートポインタ２２とエンドポインタ２３とをインクリメントする（ステップＳ３１０）。マイクロプロセッサ１１は、ステップＳ３０２からステップＳ３１０までの処理を、アドレス変換テーブル２１に仮想アドレス３０３が登録されているエントリの数分、すなわち、アドレス変換テーブルに記憶されているデータの数分、繰り返す（ステップＳ３１１）。
【００８１】
これらの一連の処理が完了すると、アドレス変換テーブル２１と、スタートポインタ２２と、エンドポインタ２３は、図９に示す内容になる。図９は、本発明の第２の実施形態に係る省電力モードへ移行後のアドレス変換テーブルを説明する図である。図９に示すように、ディスクドライブ３７、３８に記憶されていたデータは、ディスクドライブ３１〜３６に書き写されている。次に、マイクロプロセッサ１１は、停止対象のディスクドライブ３７、３８に停止する指示を出す（ステップＳ３１２）。これにより、ディスクアレイ装置１は、ディスクドライブ３７、３８が消費していた電力を削減できる。ディスクアレイ装置１のこの状態が省電力モードである。
【００８２】
次に高負荷が予想される場合の省電力モードから通常モードへの移行処理を、図１０を用いて説明する。図１０は、本発明の第２の実施形態に係る省電力モードから通常モードへの移行処理を示すフローチャートである。
【００８３】
初期状態として、ディスクアレイ装置１は、ディスクドライブ３１〜３６が動作状態であり、ディスクドライブ３７と３８とが停止状態である。また、アドレス変換テーブル２１と、スタートポインタ２２と、エンドポインタ２３とは、図９に示す内容であるとする。
【００８４】
上位装置２は、通常モードに移行すると判断すると、ディスク装置１に通常モードへの移行命令を発行する。
【００８５】
マイクロプロセッサ１１は、上位装置２から発行された通常モードへの移行命令を受け取る（ステップＳ４０１）。マイクロプロセッサ１１は、停止していたデイスクドライブ３７と３８とを起動する（ステップＳ４０２）。次にマイクロプロセッサ１１は、アドレス変換テーブル２１のスタートポインタ２２に対応するエントリに含まれる物理アドレス９０２を読み出し、それが停止していたディスクドライブ（３７、３８）であるかを確認する（ステップＳ４０３、Ｓ４０４）。本実施形態では、停止対象のディスクドライブの物理アドレスは、“４”で始まる値である。
【００８６】
停止していたディスクドライブ（３７、３８）である（ステップＳ４０４で「Ｙｅｓ」）場合、マイクロプロセッサ１１は、スタートポインタ２２をインクリメントして（ステップＳ４０５）、ステップＳ４０３からの処理を繰り返す。
【００８７】
停止していたディスクドライブ（３７、３８）でない（ステップＳ４０４で「Ｎｏ」）場合に、マイクロプロセッサ１１は、アドレス変換テーブル２１のエンドポインタ２３に対応するエントリに含まれる物理アドレス９０２を読み出す（ステップＳ４０６）。次に、マイクロプロセッサ１１は、スタートポンタ２２に対応するすエントリに含まれる物理アドレス９０２が示すディスクドライブからデータを読み出す。そして、マイクロプロセッサ１１は、読み出したデータをエンドポインタ２３に対応するエントリに含まれる物理アドレス９０２が示すディスクドライブに書き込む指示をアレイ制御部１３に発行する（ステップＳ４０７）。
【００８８】
マイクロプロセッサ１１は、ディスク接続部１４によって、ディスクドライブ間で対象データの移送を行う（ステップＳ４０８）。次にマイクロプロセッサ１１は、スタートポインタ２２に対応するエントリに含まれる仮想アドレス９０３を、エンドポインタ２３に対応するエントリに含まれる仮想アドレス９０３にコピーする（ステップＳ４０９）。その後、マイクロプロセッサ１１は、スタートポインタ２２に対応するエントリに含まれる仮想アドレス９０３をクリアする（ステップＳ４１０）。次に、マイクロプロセッサ１１は、スタートポインタ２２とエンドポインタ２３とをインクリメントする（ステップＳ４１１）。マイクロプロセッサ１１は、ステップＳ４０３からステップＳ４１１までの処理を、アドレス変換テーブル２１に仮想アドレス３０３が登録されているエントリの数分、すなわち、アドレス変換テーブルに記憶されたデータの数分、繰り返す（ステップＳ４１２）。
【００８９】
これらの一連の処理が完了すると、アドレス変換テーブル２１と、スタートポインタ２２と、エンドポインタ２３は、図１１に示す内容になる。図１１は、本発明の第２の実施形態に係る通常モードへ移行後のアドレス変換テーブルを説明する図である。図１１に示すように、ディスクアレイ装置１は、すべてのディスクドライブ３１〜３８にデータを分散して格納する。ディスクアレイ装置１のこの状態が通常モードである。
【００９０】
ディスクアレイ装置１は、負荷状況によって、省電力モードへの移行と、通常モードへの移行を繰り返す。これにより、ディスクアレイ装置１は、低負荷が予想される時には消費電力を削減し、高負荷が予想される場合には、高性能な状態に変更する。
【００９１】
以上、説明したように、第２の実施形態には、ディスクアレイ装置において、格納するデータ量の変動に対応可能なアクセス性能を保持しつつ消費電力を削減することができるという効果がある。
【００９２】
その理由は、本実施形態に係るディスクアレイ装置１は、低負荷が予想される場合には、データを一部のディスクドライブ（３１〜３８）に片寄せし、空いたディスクドライブ（３１〜３８）を停止することで消費電力を削減する。また、高負荷が予想される場合には、多くのディスクドライブ（３１〜３８）を稼働させ、データを分散記録させることで、高負荷に対応することができる。
【００９３】
これにより、例えば、毎月末に業務負荷のピークがあるような場合には、月初めから月中までは省電力モードで運用し、月末は通常モードで運用して高負荷に対応するなど、消費電力と性能を最適化する運用が可能になる。
【００９４】
また、本実施形態では、ディスクアレイ装置１は、上位装置２に見せるディスク領域を仮想化しているため、上記のモードの変更により格納しているデータの物理的な記憶位置を変更しても、上位措置２は、それに影響されずに、格納しているデータにアクセスすることが可能である。
【符号の説明】
【００９５】
１    ディスクアレイ装置
２    上位装置
１１    マイクロプロセッサ
１２    上位装置接続部
１３    アレイ制御部
１４    ディスク接続部
１５    物理アドレスレジスタ
２０    アドレス変換部
２１    アドレス変換テーブル
２２    スタートポインタ
２３    エンドポインタ
３１〜３８    ディスクドライブ
１００    ディスクアレイ制御装置
１１０    制御部
１２０    アドレス変換部
１３１〜１３８    ディスクドライブ
２００    上位装置
３０１    エントリ番号
３０２    物理アドレス
３０３    仮想アドレス
９０１    エントリ番号
９０２    物理アドレス
９０３    仮想アドレス
【図１】
2015161996.tif 000003
【図２】
2015161996.tif 000004
【図３】
2015161996.tif 000005
【図４】
2015161996.tif 000006
【図５】
2015161996.tif 000007
【図６】
2015161996.tif 000008
【図７】
2015161996.tif 000009
【図８】
2015161996.tif 000010
【図９】
2015161996.tif 000011
【図１０】
2015161996.tif 000012
【図１１】
2015161996.tif 000013