(57)【要約】【課題】ユーザの性能要求、ＢＢＵ及びＣＭの状態に応じてバックアップパスを制御すること。【解決手段】決定部３２が、ＣＭの構成情報及び状態情報、ＢＢＵの構成情報及び状態情報を用いてパターンテーブルを作成する。そして、決定部３２は、性能要求テーブルのエントリのうちできるだけユーザの希望が高いエントリに対応するタイプに対応するパターンで利用可能なパターンをパターンテーブルから選択し、選択したパターンに対応するように各スイッチのオン／オフを決定する。そして、ＳＷ制御部３３が、決定部３２により決定されたオン／オフに基づいて各スイッチを制御する。【選択図】図４
2019079146.tif 000002
【特許請求の範囲】
【請求項１】
ストレージ装置の構成情報及び状態情報と当該ストレージ装置に対する性能要求の設定情報とに基づいてバックアップ電源と電源バックアップ対象部品との間の経路を決定する決定部と、
前記電源バックアップ対象部品と前記バックアップ電源の間に配置されたスイッチを制御して前記決定部により決定された経路を実現する制御部と
を有することを特徴とするストレージ装置。
【請求項２】
前記バックアップ電源及び前記電源バックアップ対象部品の故障個所を検出して前記状態情報を更新する検出部をさらに有し、
前記決定部は、前記故障個所に基づいて前記経路を決定することを特徴とする請求項１に記載のストレージ装置。
【請求項３】
前記バックアップ電源の供給可能な電力量を所定の間隔で監視する監視部をさらに有し、
前記決定部は、前記電力量に基づいて前記経路を決定することを特徴とする請求項１に記載のストレージ装置。
【請求項４】
当該ストレージ装置を制御する複数のストレージ制御装置が前記電源バックアップ対象部品を含み、
前記性能要求の設定情報としてキャッシュメモリの早期使用が設定されている場合に、前記バックアップ電源の電力量が１台のストレージ制御装置をバックアップする電力量以上のときに、前記決定部は、複数の制御装置のうち１台のストレージ制御装置だけを前記バックアップ電源と接続するように前記経路を決定することを特徴とする請求項３に記載のストレージ装置。
【請求項５】
当該ストレージ装置を制御する複数のストレージ制御装置が前記電源バックアップ対象部品を含み、
前記性能要求の設定情報として大きなユーザキャッシュの使用が設定されている場合に、前記バックアップ電源の電力量が１台のストレージ制御装置をバックアップする電力量以上のときに、前記決定部は、複数のストレージ制御装置のうち１台のストレージ制御装置だけを前記バックアップ電源と接続するように前記経路を決定することを特徴とする請求項３に記載のストレージ装置。
【請求項６】
ストレージ装置が有するコンピュータに、
前記ストレージ装置の構成情報及び状態情報と前記ストレージ装置に対する性能要求の設定情報とに基づいてバックアップ電源と電源バックアップ対象部品との間の経路を決定し、
前記電源バックアップ対象部品と前記バックアップ電源の間に配置されたスイッチを制御して前記経路を実現する
処理を実行させることを特徴とするバックアッププログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置及びバックアッププログラムに関する。
【背景技術】
【０００２】
ＲＡＩＤ（Redundant  Arrays  of  Inexpensive  Disks）装置は、停電時に無停電電源装置等の外部電源なしで装置内部のユーザデータを保護できるように、装置内部に揮発メモリ上のデータを不揮発記憶媒体へバックアップする専用蓄電デバイスを備える。専用蓄電デバイスが例えば二次蓄電池の場合、暫く装置を通電していなかった時や停電直後の電池放電後の装置再起動時は、充電が不十分であるため揮発メモリ上のデータのバックアップができない。
【０００３】
なお、冗長化システムにおいて２つのバッテリで駆動されるバッテリバックアップ状態のとき、一方のバッテリに故障が生じた際に、２つのバッテリと２つの装置を接続する制御スイッチを制御して、正常なバッテリで一方の装置のみを駆動する技術がある。この技術によれば、一方のバッテリに故障が生じた際にもバックアップ時間を確保して、データの消失等を回避することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１６３４５５号公報
【特許文献２】特表２０１１−５０９０６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
バックアップ用の二次蓄電池を備えるストレージ装置には、ユーザの性能要求、二次蓄電池の状態及びストレージ装置を制御する制御装置の状態に応じてバックアップパスを制御することができないという問題がある。例えば、複数のストレージ制御装置(ＣＭ:Controller  Module）を有する冗長構成のストレージ装置において、故障しているＣＭがある場合にも、全てのＣＭが同様にバックアップされるようにＣＭと二次蓄電池が接続される。また、ユーザがキャッシュメモリを早期に利用したい場合にも、二次蓄電池の充電が不十分である間は一方のＣＭだけをバックアップするように制御することでキャッシュメモリの早期使用を可能とすることもできない。
【０００６】
本発明は、１つの側面では、ストレージ装置の構成及び状態、ユーザにより指定される性能要求に応じてバックアップパスを制御することを目的とする。
【課題を解決するための手段】
【０００７】
１つの態様では、ストレージ装置は、決定部と制御部とを有する。前記決定部は、ストレージ装置の構成情報及び状態情報と当該ストレージ装置に対する性能要求の設定情報とに基づいてバックアップ電源と電源バックアップ対象部品との間の経路を決定する。制御部は、前記電源バックアップ対象部品と前記バックアップ電源の間に配置されたスイッチを制御して前記決定部により決定された経路を実現する。
【発明の効果】
【０００８】
１つの側面では、本発明は、ストレージ装置の構成及び状態、ユーザにより指定される性能要求に応じてバックアップパスを制御することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施例に係るバックアップパス制御の例を示す図である。
【図２】図２は、バックアップパス制御の他の例を示す図である。
【図３】図３は、ＢＰＭの構成を示す図である。
【図４】図４は、ＢＰＭの機能構成を示す図である。
【図５】図５は、ＣＭ構成テーブルの例を示す図である。
【図６】図６は、ＢＢＵ構成テーブルの例を示す図である。
【図７】図７は、パターンテーブルの例を示す図である。
【図８】図８は、性能要求テーブルの例を示す図である。
【図９】図９は、構成テーブル記憶部の記憶領域の例を示す図である。
【図１０】図１０は、ユーザに性能要求を指定させるための画面の一例を示す図である。
【図１１Ａ】図１１Ａは、ストレージ装置の起動時からのＢＰＭの動作のフローを示すフローチャート（１）である。
【図１１Ｂ】図１１Ｂは、ストレージ装置の起動時からのＢＰＭの動作のフローを示すフローチャート（２）である。
【発明を実施するための形態】
【００１０】
以下に、本願の開示するストレージ装置及びバックアッププログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
【実施例】
【００１１】
まず、実施例に係るバックアップパス制御の例について説明する。図１は、実施例に係るバックアップ制御の例を示す図である。図１（ａ）はバックアップ構成を示す。図１（ａ）に示すように、ストレージ装置１は、ＣＭ＃０及びＣＭ＃１で表される２台のＣＭ２とＢＢＵ（Battery  Backup  Unit）＃０〜ＢＢＵ＃２で表される３台のＢＢＵ３を有する。ＣＭ２は、ストレージ装置１を制御する装置である。ＢＢＵ３は、電源故障や停電時にＣＭ２に電力を供給するバッテリである。
【００１２】
図１（ａ）では、２台のＣＭ２を３台のＢＢＵ３がバックアップする。なお、図１（ａ）は２台のＣＭ２を３台のＢＢＵ３でバックアップするが、一般的には、Ｎ台のＣＭ２を（Ｎ＋１）台のＢＢＵ３でバックアップする。
【００１３】
ＢＢＵ３は、電源故障や停電時に、ＣＭ２に含まれるバックアップ対象回路１０に電力を供給する。バックアップ対象回路１０にはＢＰＭ（Backup  Path  Manager）２１が含まれる。ＣＭ＃０のＢＰＭ２１は、ＳＷ１−０及びＳＷ２−０で表されるスイッチをオン（Ｏｎ）／オフ（Ｏｆｆ）することによりバックアップのパス（経路）を制御する。ＣＭ＃１のＢＰＭ２１は、ＳＷ１−１及びＳＷ２−１で表されるスイッチをオン／オフすることによりバックアップのパスを制御する。
【００１４】
ＢＰＭ２１は、各ＢＢＵ３からアラーム状況（エラー情報）と充電率を取得する。また、ＢＰＭ２１は、各ＣＭ２の状態情報を取得する。そして、ＢＰＭ２１は、各ＢＢＵ３から取得したアラーム状況と充電率、及び、各ＣＭ２の状態に基づいてスイッチのオン／オフを決定する。
【００１５】
図１（ｂ）は、ストレージ装置１に関して、各スイッチのオン／オフに基づく動作モードを示す。図１（ｂ）に示すように、電力パスを固定する動作モード１の場合は、タイプ１のスイッチ設定となり、ストレージ装置１は、ＳＷ１−０及びＳＷ１−１をオンにし、かつＳＷ２−０及びＳＷ２−１をオフにし、全ＢＢＵ３から電力を全ＣＭ２に均等に供給させる。
【００１６】
全ＢＢＵ３の電力がＣＭ＃０に集中させる動作モード２の場合は、性能要求重視のタイプ２とＣＭ＃１の故障時のタイプ３のスイッチ設定のいずれかとなる。性能要求重視のタイプ２は、後述するユーザによる所定の性能要求による設定に依存する。性能要求の設定例としては、電力のバックアップ対象がＣＭ＃０のみの場合であって、ＢＢＵ３の使用可能時間を最短にする設定がされている場合や、ＣＭ＃０のキャッシュのユーザキャッシュ領域を重視する設定がされている場合であって、ユーザキャッシュ領域が所定サイズから拡大されている場合などが挙げられる。タイプ２及びタイプ３のスイッチ設定では、ストレージ装置１は、ＳＷ１−０及びＳＷ２−１をオンにし、ＳＷ１−１及びＳＷ２−０をオフにする。また、ＳＷ１−０は故障してオフの状態で、ストレージ装置１は、ＳＷ２−１をオンにし、ＳＷ１−１及びＳＷ２−０をオフにする。
【００１７】
なお、ＢＢＵ３の使用可能時間は各ＢＢＵ３のアラーム状況及び充電率により判断される。ＢＢＵ３が使用可能になるとＣＭ２のキャッシュメモリの利用が可能となる。したがって、ライトスルーからライトバックにできるまでの時間を短縮することができるため、性能要求のエントリにＢＢＵ３の使用可能時間最短が用意されている。
【００１８】
全ＢＢＵ３の電力がＣＭ＃１に集中させる動作モード３の場合は、性能要求重視のタイプ４とＣＭ＃０の故障時のタイプ５のスイッチ設定のいずれかとなる。性能要求重視のタイプ４は、後述するユーザによる所定の性能要求による設定に依存する。性能要求の設定例としては、電力のバックアップ対象がＣＭ＃１のみの場合であって、ＢＢＵ３の使用可能時間を最短にする設定がされている場合や、ＣＭ＃１のキャッシュのユーザキャッシュ領域を重視する設定がされている場合であって、ユーザキャッシュ領域のサイズが規定サイズから拡大されている場合などが挙げられる。タイプ４及びタイプ５のスイッチ設定では、ストレージ装置１は、ＳＷ１−１及びＳＷ２−０をオンにし、ＳＷ１−０及びＳＷ２−１をオフにする。また、ＳＷ１−１が故障してオフの状態で、ストレージ装置１は、ＳＷ１−０をオフにし、ＳＷ２−０をオンにし、ＳＷ２−１をオフにする。
【００１９】
このように、ＢＰＭ２１は、ユーザの性能要求による設定、各ＢＢＵ３から取得したアラーム状況と充電率、及び、各ＣＭ２の状態に基づいてスイッチのオン／オフを決定することで、ＣＭ２のバックアップパスを制御することができる。
【００２０】
図２は、バックアップパス制御の他の例を示す図である。図２は、ＣＭ２とＢＢＵ３が１対１対応で各ＣＭ２が２台のＢＢＵ３によりバックアップされる場合を示す。図２（ａ）はバックアップ構成を示す。図２（ａ）に示すように、ストレージ装置１ａは、ＣＭ＃０及びＣＭ＃１で表される２台のＣＭ２とＢＢＵ＃０〜ＢＢＵ＃１で表される２台のＢＢＵ３を有する。
【００２１】
図２（ａ）では、２台のＣＭ２を２台のＢＢＵ３がバックアップする。図２（ｂ）は、動作モードを示す。図１（ｂ）と同様に、電力パスを固定する動作モード１の場合は、タイプ１のスイッチ設定となり、ストレージ装置１ａは、ＳＷ１−０及びＳＷ１−１をオンにし、かつＳＷ２−０及びＳＷ２−１がオフにし、全ＢＢＵ３から電力を全ＣＭ２に均等に供給させる。
【００２２】
動作モード２の場合は、タイプ２のスイッチ設定となり、ストレージ装置１ａは、ＳＷ１−０及びＳＷ２−１をオンにし、かつＳＷ１−１及びＳＷ２−０がオフにし、全ＢＢＵ３の電力をＣＭ＃０に集中させる。また、ＳＷ１−０は故障してオフの状態で、ストレージ装置１は、ＳＷ２−１をオンにし、ＳＷ１−１及びＳＷ２−０をオフにする。動作モード３の場合は、タイプ３のスイッチ設定となり、ストレージ装置１は、ＳＷ１−１及びＳＷ２−０をオンにし、ＳＷ１−０及びＳＷ２−１をオフにし、全ＢＢＵ３の電力をＣＭ＃１に集中させる。また、ＳＷ１−１が故障してオフの状態で、ストレージ装置１は、ＳＷ１−０をオフにし、ＳＷ２−０をオンにし、ＳＷ２−１をオフにする。
【００２３】
次に、ＢＰＭ２１の構成について説明する。図３は、ＢＰＭ２１の構成を示す図である。なお、図３では、ＣＭ＃０のＢＰＭ２１をＢＰＭ＿０で示し、ＣＭ＃１のＢＰＭ２１をＢＰＭ＿１で示す。また、ＢＰＭ＿０とＢＰＭ＿１は同様の構成を有するので、ここではＢＰＭ＿０について説明する。
【００２４】
図３に示すように、ＢＰＭ＿０は、バックアップパスを切り替える出力ポートＳＷ＿０〜ＳＷ＿ｎと３つのシリアルバスＳＭＢｕｓ＿０〜ＳＭＢｕｓ＿２を有する。ＳＷ＿０〜ＳＷ＿ｎは信号Ｐａｔｈ＿ＳＷ０−１＿ＥＮ〜Ｐａｔｈ＿ＳＷｎ−１＿ＥＮをそれぞれスイッチＳＷ０−１〜ＳＷｎ−１に出力することで各スイッチのオン／オフを制御する。
【００２５】
ＳＭＢｕｓ＿２は、ＣＭ＃０のＣＰＵ（Central  Processing  Unit）及びチップセットのＳＭＢｕｓＩ／Ｆに接続される。また、ＳＭＢｕｓ＿２は、構成テーブル２２に接続される。ＢＰＭ＿０は、ＳＤＡ＿２信号及びＳＣＬ＿２信号により構成テーブル２２にアクセスする。構成テーブル２２には、ストレージ装置１のＣＭ２の構成情報、ＢＢＵ３の構成情報、スイッチの制御情報、ユーザの性能要求等が登録される。ＣＭ２の構成情報、ＢＢＵ３の構成情報等は、ストレージ装置１の構成情報テーブルから取得される。
【００２６】
ＳＭＢｕｓ＿０とＳＭＢｕｓ＿１はＢＢＵ３に接続され、ＢＰＭ＿０は、ＳＭＢｕｓ＿０（ＳＤＡ＿０信号及びＳＣＬ＿０信号）又はＳＭＢｕｓ＿１（ＳＤＡ＿１信号及びＳＣＬ＿１信号）を用いてＢＢＵ３のエラー情報と充電量を取得する。ストレージ装置１内の複数のＢＰＭ２１のＳＭＢｕｓ＿０とＳＭＢｕｓ＿１のアクセス順序は、ＲＤＹ＿ＩＮ、ＲＤＹ＿ＯＴ、ＣＡＳ＿ＩＮ、ＣＡＳ＿ＯＴにより調停される。ＲＤＹ＿ＯＴが出力するＲｅａｄｙ＿Ｏｕｔ信号は他のＢＰＭ２１のＲＤＹ＿ＩＮのＲｅａｄｙ＿Ｉｎ信号である。ＣＡＳ＿ＯＵＴが出力するＣａｓｃａｄｅ＿Ｏｕｔ信号は他のＢＰＭ２１のＣａｓｃａｄｅ＿Ｉｎ信号である。また、ＢＰＭ２１の故障、ＣＭ２の故障、ＳＭＢｕｓのパス故障による切り替えが可能である。
【００２７】
ＩＮＴはＢＰＭ２１からＣＰＵへの割り込み信号である。ＢＰＭ２１は、イベントやエラーが発生した場合、ＣＰＵへ割り込みをかける。割り込み要因は構成テーブル２２の所定の領域へ格納される。
【００２８】
ＲｅｓｅｔはＣＰＵが構成テーブル２２の設定を書き換えた場合や、ＣＭ２のエラーが発生した場合にＣＰＵからアサートされる。ＢＰＭ２１は、Ｒｅｓｅｔ信号を受けると、構成テーブル２２をリロードしてその内容に従って動作を行う。
【００２９】
Ｂｌａｃｋｏｕｔは停電発生を通知する信号で、ＢＰＭ２１では動作のマスク信号の役割と解除後の再設定信号の役割とを有する。
【００３０】
次に、ＢＰＭ２１の機能構成について説明する。図４は、ＢＰＭ２１の機能構成を示す図である。図４に示すように、ＢＰＭ２１において、プログラムが実行されることにより、構成テーブル記憶部３０と、電力量計算部３１と、決定部３２と、ＳＷ制御部３３と、ＢＢＵ監視部３４と、故障検出部３５と、ＧＵＩ部３６の機能が実現される。
【００３１】
構成テーブル記憶部３０は、構成テーブル２２の情報を記憶する。構成テーブル２２には、ＣＭ構成テーブル、ＢＢＵ構成テーブル、パターンテーブル、性能要求テーブルが含まれる。
【００３２】
ＣＭ構成テーブルは、ＣＭ２の構成情報及び状態情報が登録されたテーブルである。図５は、ＣＭ構成テーブルの例を示す図である。図５に示すように、ＣＭ構成テーブルには、ユニット名（Ａ＿１）と、マウント／アンマウント（Ｂ＿１）と、バックアップターゲット（Ｃ＿１）と、消費電力（Ｄ＿１）と、物理キャッシュサイズ（Ｅ＿１）と、ユーザキャッシュサイズ（Ｆ＿１）とが含まれる。また、ＣＭ構成テーブルには、アクセス速度（Ｇ＿１）と、状態（Ｈ＿１）とが含まれる。
【００３３】
ユニット名は、ＣＭ２を識別する名前である。マウント／アンマウントは、ＣＭ２がストレージ装置１に搭載されている（１）か搭載されていない（０）かを示す。バックアップターゲットは、ＣＭ２がバックアップの対象である（Ｙｅｓ）か否（Ｎ．Ａ．）を示す。消費電力は、ＣＭ２の消費電力である。単位はワット（Ｗ）である。
【００３４】
物理キャッシュサイズは、キャッシュメモリのサイズである。単位はギガバイト（ＧＢ）である。ユーザキャッシュサイズは、ユーザデータのために使用されるキャッシュメモリのサイズである。単位はギガバイトである。アクセス速度は、キャッシュメモリのアクセス速度である。単位はメガバイト（ＭＢ）／秒（ｓ）である。状態は、ＣＭ２が正常である（ＲＥＡＤＹ）か否（Ｆａｌｓｅ）かを示す。
【００３５】
例えば、「ＣＭ＃０」で識別されるＣＭ２は、ストレージ装置１に搭載され、バックアップ対象であり、正常である。「ＣＭ＃０」で識別されるＣＭ２の消費電力は３０Ｗであり、物理キャッシュサイズは３２ＧＢであり、ユーザキャッシュサイズは１６ＧＢであり、アクセス速度は２００ＭＢ／秒である。
【００３６】
ＢＢＵ構成テーブルは、ＢＢＵ３の構成情報及び状態情報が登録されたテーブルである。図６は、ＢＢＵ構成テーブルの例を示す図である。図６に示すように、ＢＢＵ構成テーブルには、ユニット名（Ａ＿２）と、マウント／アンマウント（Ｂ＿２）と、電流容量（Ｃ＿２）と、電圧（Ｄ＿２）と、ＳｏＣ（State  of  Charge）（Ｅ＿２）と、全容量（Ｆ＿２）が含まれる。また、ＢＢＵ構成テーブルには、全出力電流（Ｇ＿２）と状態（Ｈ＿２）とが含まれる。
【００３７】
ユニット名は、ＢＢＵ３を識別する名前である。「ＣＡＰ」はキャパシタであることを表す。マウント／アンマウントは、ＢＢＵ３がストレージ装置１に搭載されている（１）か搭載されていない（０）かを示す。電流容量は、ＢＢＵ３の出力電流量である。単位はミリアンペアア時（ｍＡｈ）である。電圧は、ＢＢＵ３の出力電圧である。単位はボルト（Ｖ）である。ＳｏＣは、充電割合である。単位は％である。全容量は、ＢＢＵ３の全容量である。全出力電流は、最大出力電流である。単位はアンペア（Ａ）である。状態は、ＢＢＵ３が正常である（ＲＥＡＤＹ）か否（Ｆａｌｓｅ）かを示す。
【００３８】
例えば、「ＢＢＵ＃０」で識別されるＢＢＵ３は、ストレージ装置１に搭載され、正常である。「ＢＢＵ＃０」で識別されるＢＢＵ３の電流容量は３，２００ｍＡｈであり、電圧は１２Ｖであり、充電率は５０％であり、全容量は３８．４であり、全出力電流は７Ａである。
【００３９】
パターンテーブルは、ＢＢＵ３とＣＭ２の接続のパターンが登録されたテーブルである。図７は、パターンテーブルの例を示す図である。図７に示すように、パターンテーブルには、パターン名と、ＣＭ＃０〜ＣＭ＃ｎと、Ｐ（ＣＭ＃０）＋Ｐ（ＣＭ＃１）＋・・・＋Ｐ（ＣＭ＃ｎ）と、ＢＢＵ＃０〜ＢＢＵ＃ｍと、ΣＰ（ＢＢＵ＃０−ｍ）と、利用可否とＮｏｔｅとが含まれる。
【００４０】
パターン名は、パターンを識別する名前である。ＣＭ＃０〜ＣＭ＃ｎは、バックアップされる（１）かされない（０）かを示す。なお、ここでは、ｎ＋１台のＣＭ２がストレージ装置１に搭載されている。Ｐ（ＣＭ＃０）＋Ｐ（ＣＭ＃１）＋・・・＋Ｐ（ＣＭ＃ｎ）は、バックアップされるＣＭ２のバックアップ時の消費電力量である。ＢＢＵ＃０〜ＢＢＵ＃ｍは、ＢＢＵ３が正常（１）か否か（０）を示す。ΣＰ（ＢＢＵ＃０−ｍ）は、正常のＢＢＵ３の電力量の和である。Ｃｕｒｒｅｎｔは現在値を示し、Ｆｕｌｌは充電完了時の値を示す。利用可否は、ＢＢＵ３の現在の電力量からパターンが利用可能である（ＯＫ）か否（ＮＧ）かを示す。Ｎｏｔｅはコメントである。
【００４１】
例えば、「パターン＃０」で識別されるパターンでは、全ＣＭ２がバックアップされる。全ＣＭ２をバックアップするときの消費電力量は１０５であり現在の充電量は５７．６であるので、このパターンは利用できない。なお、このパターンはデフォルトであり、この例では、キャッシュメモリのバックアップが可能でないので、このパターンが採用された場合には、ストレージ装置１はライトスルーモードで使用される。
【００４２】
性能要求テーブルは、ユーザの性能要求を示すテーブルである。図８は、性能要求テーブルの例を示す図である。図８に示すように、性能要求テーブルには、タイプ名と、キャッシュ使用可能時間最短と、キャッシュサイズ拡大と、装置の動作安定性と、バッテリ寿命重視が含まれる。タイプ名は、性能要求のタイプを識別する名前である。
【００４３】
キャッシュ使用可能時間最短は、バックアップ放電後キャッシュメモリが使用できるまでの時間を最短時間にするための設定であり、この設定により、ライトスルーからライトバックにできるまでの時間を短縮することができる。キャッシュサイズ拡大は、ユーザキャッシュ領域のサイズを規定サイズより容量拡大するための設定である。装置の動作安定性は、バックアップ電力量の範囲内でバッテリの冗長運用によるストレージ装置の動作安定性を確保するための設定である。バッテリ寿命重視は、バッテリの寿命を延命するための設定であり、例えばバッテリをフル充電で使用しないように充電率の調整を行う。ユーザの性能要求は、キャッシュ使用可能時間最短、キャッシュサイズ拡大、装置の動作安定性、バッテリ寿命重視の点数で表される。点数の合計は１００である。各性能要素(エントリ)の点数は、大きいほどユーザによる要求性能のレベルが高い。また、各性能要素の点数は、パターンを決定する際になされる計算の係数として利用される。したがって、電力量の条件が満足していれば、性能要求のタイプに依存してパターンを決定することができる。
【００４４】
例えば、デフォルトでは、装置の動作安定性の点数が７０であり、他の性能要素の点数は１０である。したがって、デフォルトでは装置の動作安定性が重視されるパターンになり、全ＣＭ２がバックアップされる。また、タイプ＃１では、キャッシュ使用の点数が７０であり、他の性能要素の点数は１０である。したがって、タイプ＃１では、キャッシュ使用可能時間最短が重視されるパターンになり、バックアップ電力量が１台のＣＭ２をバックアップする電力量以上になると、１台のＣＭ２だけがバックアップされる。
【００４５】
性能要求テーブルは、ユーザがＧＵＩ画面を参照し、ユーザからの指示入力に基づいてＧＵＩ部３６により処理され作成される。また、デフォルトを除いて性能要求テーブルのエントリの点数が高いほどユーザの性能要求のレベルが高い。
【００４６】
図９は、構成テーブル記憶部３０の記憶領域の例を示す図である。図９に示すように、構成テーブル記憶部３０には、論理構成ユニット情報格納エリア、制御テーブル格納エリア、ＣＭ状態格納エリア、ＢＢＵ状態格納エリア、ＢＰＭ制御レジスタエリアが含まれる。
【００４７】
論理構成ユニット情報格納エリアは、ストレージ装置１の論理構成に関する情報を格納する領域である。この領域には、ＣＭ構成テーブルのＡ＿１、Ｂ＿１、ＢＢＵ構成テーブルのＡ＿２、Ｂ＿２の情報が格納される。制御テーブル格納エリアは、パターンテーブルと性能要求テーブルの情報を格納する領域である。
【００４８】
ＣＭ状態格納エリアは、ＣＭ２に関する情報を格納する領域である。この領域には、ＣＭ構成テーブルのＡ＿１、Ｂ＿１を除く情報が格納される。ＢＢＵ状態格納エリアは、ＢＢＵ３に関する情報を格納する領域である。この領域には、ＢＢＵ構成テーブルのＡ＿２、Ｂ＿２を除く情報が格納される。ＢＰＭ制御レジスタエリアには、ＢＰＭ２１が自身の制御に使用する情報が格納される。
【００４９】
図４に戻って、電力量計算部３１は、ストレージ装置１に搭載されたＣＭ２をバックアップするときの消費電力量と、ストレージ装置１に搭載されたＢＢＵ３が供給可能な総電力量を計算する。
【００５０】
具体的には、電力量計算部３１は、各ＣＭ２のバックアップ動作時間をＣＭ構成テーブルのＦ＿１（ユーザキャッシュサイズ）とＧ＿１（アクセス速度）を用いてＦ＿１／Ｇ＿１により計算する。そして、電力量計算部３１は、各ＣＭ２のバックアップ時の消費電力量Ｐ（ＣＭ）をＣＭ２のバックアップ動作時間Ｆ＿１／Ｇ＿１とＣＭ構成テーブルのＤ＿１（消費電力）を用いてＰ（ＣＭ）＝Ｄ＿１×（Ｆ＿１／Ｇ＿１）により計算する。
【００５１】
また、電力量計算部３１は、各ＢＢＵ３が供給可能な電力量Ｐ（ＢＢＵ）をＢＢＵ構成テーブルのＣ＿２（電流容量）、Ｄ＿２（電圧）、Ｅ＿２（ＳｏＣ）を用いてＰ（ＢＢＵ）＝Ｃ＿２×Ｄ＿２×Ｅ＿２により計算する。
【００５２】
そして、電力量計算部３１は、例えば（ｎ＋１）台のＣＭ２がストレージ装置１に搭載されている場合には、
【数１】
2019079146.tif 000003
を計算する。また、電力量計算部３１は、例えば（ｍ＋１）台のＢＢＵ３がストレージ装置１に搭載されている場合には、
【数２】
2019079146.tif 000004
を計算する。（ｎ＋１）台のＣＭ２を（ｍ＋１）台のＢＢＵ３でバックアップ可能な条件は
【数３】
2019079146.tif 000005
である。
【００５３】
決定部３２は、ＣＭ構成テーブルの情報、ＢＢＵ構成テーブルの情報、電力量計算部３１による計算結果を用いてパターンテーブルを作成する。そして、決定部３２は、性能要求テーブルのエントリに基づいて利用可能なパターンをパターンテーブルから選択し、選択したパターンに対応するように各スイッチのオン／オフを決定する。スイッチは、ＢＢＵ３とＣＭ２を接続するパスに配置される。
【００５４】
例えば、決定部３２は、キャッシュメモリ使用可能時間最短の点数の重み付けが一番高く、１台のＣＭ２をバックアップするバックアップ電力量がある場合には、１台のＣＭ２だけに電力を供給するように各スイッチのオン／オフを決定する。また、決定部３２は、装置の動作安定性重視の点数の一番重み付けが高く設定されている場合には、ストレージ装置１に搭載された全ＣＭ２に電力を供給するように各スイッチのオン／オフを決定する。また、決定部３２は、ユーザがユーザキャッシュのサイズを大きくすることを重視し、１台のＣＭ２をバックアップするバックアップ電力量がある場合には、１台のＣＭ２だけに電力を供給するように各スイッチのオン／オフを決定する。
【００５５】
ＳＷ制御部３３は、決定部３２により決定されたオン／オフに基づいて各スイッチを制御する。ＢＢＵ監視部３４は、ストレージ装置１に搭載されたＢＢＵ３の充電率を定期的に監視し、パターンテーブルを更新する。故障検出部３５は、ストレージ装置１の故障を検出し、ＣＭ２又はＢＢＵ３に故障が検出された場合にはパターンテーブルを更新する。
【００５６】
ＧＵＩ部３６は、ユーザに性能要求を指定させるための画面を表示装置に表示し、ユーザから性能要求を受け付け、性能要求テーブルを作成する。図１０は、ユーザに性能要求を指定させるための画面の一例を示す図である。
【００５７】
図１０に示すように、ＧＵＩ部３６は、デフォルトとタイプ＃１〜タイプ＃５について、キャッシュ使用可能時間最短、キャッシュサイズ拡大、装置の動作安定性及びバッテリ寿命重視の性能要素の点数を表示する。ここで、デフォルトは装置の安定性重視であり、タイプ＃１はバックアップ放電後キャッシュの早期利用であり、タイプ＃２は性能重視のキャッシュ容量片寄せであり、タイプ＃３は信頼性、バッテリ寿命重視であり、タイプ＃４は全方位パラメタ指定であり、タイプ＃５はユーザキャッシュ重視である。
【００５８】
ユーザは、デフォルトや、タイプ＃１〜タイプ＃５のように、各性能要素の点数を指定することができる。したがって、図１０で示した多角形の形状には限られない。そして、ＧＵＩ部３６は、ユーザの指示入力に応じて性能要求テーブルに各性能要素の点数を登録する。
【００５９】
なお、ＢＰＭ２１は、ＭＰＵ（Micro  Processing  Unit）と、フラッシュメモリと、ＲＡＭ（Random  Access  Memory）とを有する。そして、ＭＰＵは、フラシュメモリに格納されたバックアッププログラムをＲＡＭにロードし、ＲＡＭから読み出して実行することにより、図４に示す機能を実現する。
【００６０】
次に、ストレージ装置１の起動時からのＢＰＭ２１の動作のフローについて説明する。図１１Ａ及び図１１Ｂは、ストレージ装置１の起動時からのＢＰＭ２１の動作のフローを示すフローチャートである。図１１Ａに示すように、ＢＰＭ２１は、ユーザの性能要求を認識する（ステップＳ１）。ここで、ユーザの性能要求は、図８に示した性能要求テーブルに登録されている。
【００６１】
そして、ＢＰＭ２１は、稼働可能なＢＢＵ３のバックアップ電力量計算と稼働可能なＣＭ２の総消費電力量を計算する（ステップＳ２）。そして、ＢＰＭ２１は、現在のＢＢＵ３の電力量でキャッシュ使用可能なバックアップパスがあるか否かを判定する（ステップＳ３）。ここで、１台のＣＭ２をバックアップするバックアップ電力量がある場合には、１台のＣＭ２のキャッシュメモリが使用可能になる。
【００６２】
そして、現在のＢＢＵ３の電力量でキャッシュ使用可能なバックアップパスがない場合には、ＢＰＭ２１は、デフォルト設定のバックアップパスを「現バックアップパス」に決定し、スイッチのオン／オフを制御する（ステップＳ４）。そして、ＢＰＭ２１は、ステップＳ９へ進む。
【００６３】
一方、現在のＢＢＵ３の電力量でキャッシュ使用可能なバックアップパスがある場合には、ＢＰＭ２１は、ユーザの性能要求を実現できるバックアップパスとＢＢＵ条件が存在するか否かを判定する（ステップＳ５）。そして、ユーザの性能要求を実現できるバックアップパスとＢＢＵ条件が存在しない場合には、ＢＰＭ２１は、ステップＳ４へ移動する。
【００６４】
一方、ユーザの性能要求を実現できるバックアップパスとＢＢＵ条件が存在する場合には、ＢＰＭ２１は、存在するバックアップパスを「最初のバックアップパス」に決定する（ステップＳ６）。そして、ＢＰＭ２１は、「最初のバックアップパス」はユーザに指定された性能要求のタイプに対応するパターンであるか否かを判定する（ステップＳ７）。なお、性能要求のタイプに対応するパターンは、前述したように各性能要素の点数の重み付けで定まる。
【００６５】
そして、「最初のバックアップパス」はユーザに指定された性能要求のタイプに対応するパターンでない場合には、ＢＰＭ２１は、ステップＳ４に移動する。一方、「最初のバックアップパス」はユーザに指定された性能要求のタイプに対応するパターンである場合には、ＢＰＭ２１は、「最初のバックアップパス」を「現バックアップパス」に決定し、スイッチのオン／オフを制御する（ステップＳ８）。
【００６６】
そして、ＢＢＵ３が充電されていくと、図１１Ｂに示すように、ＢＰＭ２１は、ＢＢＵ３の充電率を定期的に監視する（ステップＳ９）。そして、ＢＰＭ２１は、「現バックアップパス」より高い性能要求に対応するバックアップパスが実現できる充電率であるか否かを判定する（ステップＳ１０）。そして、「現バックアップパス」より高い性能要求に対応するバックアップパスが実現できる充電率でない場合には、ＢＰＭ２１は、ステップＳ９へ戻る。
【００６７】
一方、「現バックアップパス」より高い性能要求に対応するバックアップパスが実現できる充電率の場合には、ＢＰＭ２１は、「現バックアップパス」をより高い性能要求に対応するバックアップパスに変更し、スイッチのオン／オフを制御する（ステップＳ１１）。そして、ＢＰＭ２１は、ハードウェア故障を検出したか否かを判定し（ステップＳ１２）、ハードウェア故障を検出しない場合には、ステップＳ９へ戻る。
【００６８】
一方、ハードウェア故障を検出した場合には、ＢＰＭ２１は、故障はＣＭ２であるか否かを判定し（ステップＳ１３）、故障がＣＭ２である場合には、故障ＣＭ２はバックアップパスに接続しているか否かを判定する（ステップＳ１４）。そして、故障ＣＭ２はバックアップパスに接続していない場合には、ＢＰＭ２１は、ステップＳ９へ戻る。
【００６９】
一方、故障ＣＭ２はバックアップパスに接続している場合には、ＢＰＭ２１は、故障ＣＭ２がバックアップパスに接続しないようにバックアップパスを切り替える（ステップＳ１５）。そして、ＢＰＭ２１は、切り替えたバックアップパスで「現バックアップパス」を変更し、スイッチのオン／オフを制御する（ステップＳ１６）。
【００７０】
また、ステップＳ１３において、故障がＣＭ２でない場合には、ＢＰＭ２１は、故障はＢＢＵ３であるか否かを判定し（ステップＳ１７）、故障がＢＢＵ３である場合には、ステップＳ１へ戻り、故障がＢＢＵ３でない場合には、ステップＳ９へ戻る。
【００７１】
このように、ＢＰＭ２１は、ＢＢＵ３の充電率を定期的に監視し、ユーザが所望する性能要求が実現できる充電率になると、その性能要求に対応するバックアップパスに変更するので、バックアップ電源の状態に応じたバックアップ制御を行うことができる。
【００７２】
上述してきたように、実施例では、電力量計算部３１が、ストレージ装置１に搭載されたＣＭ２をバックアップするときの消費電力量と、ストレージ装置１に搭載されたＢＢＵ３が供給可能な総電力量を計算する。そして、決定部３２が、ＣＭ構成テーブル、ＢＢＵ構成テーブル、電力量計算部３１による計算結果を用いてパターンテーブルを作成する。そして、決定部３２は、性能要求テーブルのエントリのうちできるだけユーザの希望が高いエントリに対応するタイプに対応するパターンで利用可能なパターンをパターンテーブルから選択し、選択したパターンに対応するように各スイッチのオン／オフを決定する。そして、ＳＷ制御部３３が、決定部３２により決定されたオン／オフに基づいて各スイッチを制御する。したがって、ＢＰＭ２１は、ユーザの性能要求、ＢＢＵ３の状態及びＣＭ２の状態などの装置の状態に基づいてバックアップパスを制御することができる。
【００７３】
また、実施例では、故障検出部３５がストレージ装置１の故障を検出する。そして、決定部３２は、故障箇所に基づいて「現バックアップパス」を更新する。したがって、ＢＰＭ２１は、ＣＭ２の状態に基づいてバックアップパスを制御することができる。
【００７４】
また、実施例では、ＢＢＵ監視部３４が、ＢＢＵ３の充電率を定期的に監視し、決定部３２は、ＢＢＵ３の充電率に基づいて「現バックアップパス」を更新する。したがって、ＢＰＭ２１は、ＢＢＵ３の充電状態に基づいてバックアップパスを制御することができる。
【００７５】
また、実施例では、ユーザが性能要求のタイプとしてキャッシュメモリの早期使用を指定した場合に、決定部３２は、バックアップ電力量が１台のＣＭ２をバックアップする電力量以上のときに１台のＣＭ２だけをバックアップするパターンを選択する。したがって、ＢＰＭ２１は、キャッシュメモリが早期に使用できるようにバックアップパスを制御することができる。
【００７６】
また、実施例では、ユーザが性能要求として大きなユーザキャッシュの使用を指定した場合に、決定部３２は、バックアップ電力量が１台のＣＭ２をバックアップする電力量以上のときに１台のＣＭ２だけをバックアップするパターンを選択する。したがって、ＢＰＭ２１は、大きなユーザキャッシュを使用できるようにバックアップパスを制御することができる。
【符号の説明】
【００７７】
１，１ａ    ストレージ装置
２    ＣＭ
３    ＢＢＵ
１０    バックアップ対象回路
２１    ＢＰＭ
２２    構成テーブル
３１    電力量計算部
３２    決定部
３３    ＳＷ制御部
３４    ＢＢＵ監視部
３５    故障検出部
３６    ＧＵＩ部
【図１】
2019079146.tif 000006
【図２】
2019079146.tif 000007
【図３】
2019079146.tif 000008
【図４】
2019079146.tif 000009
【図５】
2019079146.tif 000010
【図６】
2019079146.tif 000011
【図７】
2019079146.tif 000012
【図８】
2019079146.tif 000013
【図９】
2019079146.tif 000014
【図１０】
2019079146.tif 000015
【図１１Ａ】
2019079146.tif 000016
【図１１Ｂ】
2019079146.tif 000017