(57)【要約】【課題】無駄な停電処理の実行を防止すること。【解決手段】制御装置１０１は、基板１１０上の電源装置１０３と結線され電源装置１０３の停電状態を検出する信号線（電源装置１０３のマウント信号）の電気的な接続の切断を検出する。制御装置１０１は、電源装置１０３の停電状態を検出する信号線の電気的な接続の切断が検出された場合、該信号線の電気的な接続の切断が検出されてから一定時間Ｔ経過後に、基板１１０上の制御対象装置１０２にブラックアウト信号を出力する。制御対象装置１０２は、認識されている制御装置１０１からブラックアウト信号を受け付けた場合、所定の停電処理を実行する。【選択図】図１
2014033488.tif 000002
【特許請求の範囲】
【請求項１】
基板上に挿抜可能に搭載される制御装置であって、
前記基板上の電源装置と結線され前記電源装置の停電状態を検出する信号線の電気的な接続の切断を検出する停電検出部と、
前記停電検出部によって前記信号線の電気的な接続の切断が検出された場合、前記信号線の電気的な接続の切断が検出されてから一定時間経過後に、所定の停電処理を実行する前記基板上の制御対象装置に停電信号を出力する出力部と、
を有することを特徴とする制御装置。
【請求項２】
前記基板上の他の制御装置と結線され前記他の制御装置を認識する信号線の電気的な接続の切断を検出する挿抜検出部と、
前記挿抜検出部によって前記信号線の電気的な接続の切断が検出された場合、前記他の制御装置が認識されなくなったことを前記制御対象装置に通知する通知部と、
を有することを特徴とする請求項１に記載の制御装置。
【請求項３】
前記制御対象装置の装置数と前記停電信号を出力するまでの遅延時間とを対応付けて記憶する記憶部を参照して、前記基板上に搭載されている前記制御対象装置の装置数に対応する遅延時間を特定する特定部と、
前記特定部によって特定された前記遅延時間を前記一定時間に設定する設定部と、
を有することを特徴とする請求項１または２に記載の制御装置。
【請求項４】
基板上に挿抜可能に搭載される制御装置が、
前記基板上の電源装置と結線され前記電源装置の停電状態を検出する信号線の電気的な接続の切断を検出し、
前記信号線の電気的な接続の切断を検出した場合、前記信号線の電気的な接続の切断を検出してから一定時間経過後に、所定の停電処理を実行する前記基板上の制御対象装置に停電信号を出力する、
処理を実行することを特徴とする制御方法。
【請求項５】
基板上に挿抜可能に搭載される制御装置と、前記制御装置から停電信号を受け付けた場合に所定の停電処理を実行する前記基板上の制御対象装置と、前記制御装置および前記制御対象装置に電力を供給する前記基板上の電源装置と、を含み、
前記制御装置は、
前記電源装置と結線され前記電源装置の停電状態を検出する信号線の電気的な接続が切断された場合、前記信号線の電気的な接続が切断されてから一定時間経過後に、前記制御対象装置に前記停電信号を出力することを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、制御方法およびシステムに関する。
【背景技術】
【０００２】
従来、システム内の電源装置の停電状態を監視し、停電時にブラックアウト信号を出力して制御対象装置に停電処理を実行させる制御装置がある。制御装置は、保守点検時に取り外せるように、制御装置のコネクタを介してシステムの基板上に挿抜可能に搭載されている。また、システム内の他装置は、制御装置が基板上に搭載されていることを認識する信号線の電気的な接続の有無によって制御装置が取り外されたか否かを判断する。
【０００３】
関連する先行技術としては、例えば、商用電源の電圧低下を検出し、検出信号を絶縁して取り込み、取り込まれた検出信号が与えられ、かつＡＣ／ＤＣ変換器の二次側出力が低下し始めたときにバッテリ切替回路に電池電源への切替え出力を得る技術がある。また、負荷電流値に基づいて停電検出値を算出する技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−３３９９７号公報
【特許文献２】特開２００８−１４８４９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術において、保守点検等のために制御装置を取り外す際に、他装置が制御装置を認識する信号線の電気的な接続が切断される前に、制御装置が電源装置の停電状態を検出する信号線の電気的な接続が切断される場合がある。この場合、保守点検等のために制御装置を取り外しただけで、制御装置からのブラックアウト信号を受け付けた制御対象装置により停電処理が行われてしまうことがある。
【０００６】
一つの側面では、本発明は、無駄な停電処理の実行を防止する制御装置、制御方法およびシステムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、基板上に挿抜可能に搭載される制御装置が、前記基板上の電源装置と結線され前記電源装置の停電状態を検出する信号線の電気的な接続の切断を検出し、前記信号線の電気的な接続の切断を検出した場合、前記信号線の電気的な接続の切断を検出してから一定時間経過後に、所定の停電処理を実行する前記基板上の制御対象装置に停電信号を出力する制御装置および制御方法が提案される。
【０００８】
また、本発明の一側面によれば、基板上に挿抜可能に搭載される制御装置と、前記制御装置から停電信号を受け付けた場合に所定の停電処理を実行する前記基板上の制御対象装置と、前記制御装置および前記制御対象装置に電力を供給する前記基板上の電源装置と、を含み、前記制御装置は、前記電源装置と結線され前記電源装置の停電状態を検出する信号線の電気的な接続が切断された場合、前記信号線の電気的な接続が切断されてから一定時間経過後に、前記制御対象装置に前記停電信号を出力するシステムが提案される。
【発明の効果】
【０００９】
本発明の一態様によれば、無駄な停電処理の実行を防止することができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施の形態１にかかる制御方法の一実施例を示す説明図である。
【図２】図２は、ストレージシステム２００のシステム構成例を示す説明図である。
【図３】図３は、ストレージシステム２００の動作例を示す説明図である。
【図４】図４は、ＳＶＣ等のハードウェア構成例を示すブロック図である。
【図５】図５は、ＢＢＵ出力開始時間テーブル５００の記憶内容の一例を示す説明図である。
【図６】図６は、実施の形態１にかかるＳＶＣ＃ｉの機能的構成例を示すブロック図である。
【図７】図７は、実施の形態１にかかるＣＭ＄ｊの機能的構成例を示すブロック図である。
【図８】図８は、ＰＳＵ２０１の停電処理手順の一例を示すフローチャートである。
【図９】図９は、実施の形態１にかかるＳＶＣ＃ｉの停電処理手順の一例を示すフローチャートである。
【図１０】図１０は、ＳＶＣ＃ｉのアンマウント通知処理手順の一例を示すフローチャートである。
【図１１】図１１は、実施の形態１にかかるＣＭ＄ｊの停電処理手順の一例を示すフローチャートである。
【図１２】図１２は、ＰＳＵ２０１の出力電圧とＢＢＵ２０２の出力電圧との関係を示す説明図（その１）である。
【図１３】図１３は、ＰＳＵ２０１の出力電圧とＢＢＵ２０２の出力電圧との関係を示す説明図（その２）である。
【図１４】図１４は、実施の形態２にかかるＳＶＣ＃ｉの機能的構成例を示すブロック図である。
【図１５】図１５は、実施の形態２にかかるＣＭ＄ｊの機能的構成例を示すブロック図である。
【図１６】図１６は、実施の形態２にかかるＳＶＣ＃ｉの停電処理手順の一例を示すフローチャートである。
【図１７】図１７は、実施の形態２にかかるＣＭ＄ｊの停電処理手順の一例を示すフローチャートである。
【図１８】図１８は、電圧降下テーブル１８００の記憶内容の一例を示す説明図である。
【図１９】図１９は、判定テーブル１９００の記憶内容の一例を示す説明図である。
【図２０】図２０は、ＰＳＵ２０１の出力電圧の時間的変化の一例を示す説明図である。
【図２１】図２１は、実施の形態３にかかるＣＭ＄ｊの機能的構成例を示すブロック図である。
【図２２】図２２は、実施の形態３にかかるＣＭ＄ｊの判断処理手順の一例を示すフローチャートである。
【図２３】図２３は、実施の形態３にかかるＣＭ＄ｊの停電処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下に添付図面を参照して、本発明にかかる制御装置、制御方法およびシステムの実施の形態を詳細に説明する。
【００１２】
（実施の形態１）
図１は、実施の形態１にかかる制御方法の一実施例を示す説明図である。図１において、制御装置１０１は、電源装置１０３の停電状態を検出して、制御対象装置１０２にブラックアウト信号を出力するコンピュータである。ブラックアウト信号は、電源装置１０３が停電状態であることを示す停電信号である。
【００１３】
制御対象装置１０２は、所定の停電処理を実行する停電処理装置を含むコンピュータである。具体的には、例えば、制御対象装置１０２は、ディスクに対するデータのリード／ライトを制御するコントローラである。所定の停電処理は、例えば、制御対象装置１０２のキャッシュに記憶されているデータのバックアップ処理などである。
【００１４】
電源装置１０３は、制御装置１０１および制御対象装置１０２に電源を供給するコンピュータである。具体的には、例えば、電源装置１０３は、商用電源から入力されるＡＣ（Ａｌｔｅｒｎａｔｉｎｇ  Ｃｕｒｒｅｎｔ）電源をＤＣ（Ｄｉｒｅｃｔ  Ｃｕｒｒｅｎｔ）電源に変換して、制御装置１０１および制御対象装置１０２にＤＣ電源を供給する。
【００１５】
制御装置１０１、制御対象装置１０２および電源装置１０３は、装置間を接続するための配線が施された基板１１０上に搭載されている。また、制御装置１０１は、制御装置１０１のコネクタＣを介して基板１１０上に挿抜可能に搭載されている。また、制御装置１０１は、例えば、冗長性を持たせるために基板１１０上に複数搭載されている（図１では、制御装置１０１ａ，１０１ｂ）。
【００１６】
ここで、制御装置１０１ａ，１０１ｂは、電源装置１０３の停電状態を検出する信号線によって電源装置１０３と結線されている。制御装置１０１ａ，１０１ｂは、電源装置１０３の停電状態を検出する信号線の電気的な接続が切断（いわゆる、ハイインピーダンス）されると、電源装置１０３が停電状態となったと判断する。
【００１７】
また、制御装置１０１ａは、基板１１０上の制御装置１０１ｂを認識する信号線によって制御装置１０１ｂと結線されている。制御装置１０１ａは、制御装置１０１ｂを認識する信号線の電気的な接続が切断されると、制御装置１０１ｂが基板１１０から取り外されたと判断する。
【００１８】
同様に、制御装置１０１ｂは、基板１１０上の制御装置１０１ａを認識する信号線によって制御装置１０１ａと結線されている。制御装置１０１ｂは、制御装置１０１ａを認識する信号線の電気的な接続が切断されると、制御装置１０１ａが基板１１０から取り外されたと判断する。
【００１９】
また、例えば、制御装置１０１ａが取り外された場合、制御装置１０１ｂは、制御装置１０１ａが認識されなくなったことを制御対象装置１０２に通知する。これにより、制御対象装置１０２は、制御装置１０１ａが基板１１０から取り外されたと判断することができる。なお、制御装置１０１ａを認識する信号線が制御対象装置１０２に結線されている場合は、制御対象装置１０２は、制御装置１０１ａを認識する信号線の電気的な接続が切断されると、制御装置１０１ａが基板１１０から取り外されたと判断することができる。
【００２０】
ここで、保守点検等のために、基板１１０に搭載された制御装置１０１が取り外されることがある。例えば、ＣＥ（Ｃｕｓｔｏｍｅｒ  Ｅｎｇｉｎｅｅｒ）などの作業者は、制御装置１０１のイジェクタ１２０を引き抜くことにより、基板１１０から制御装置１０１を取り外すことができる。
【００２１】
この際、制御装置１０１の下側（図１中、ボード１２１）が先に抜かれるような力の加わり方をして、制御装置１０１のコネクタＣの下側にアサインされている信号線（ピン）が他の信号線よりも先に抜けることがある。
【００２２】
より具体的には、例えば、制御装置１０１ａを取り外す際に、制御装置１０１ａを認識する信号線の電気的な接続が切断される前に、制御装置１０１ａが電源装置１０３の停電状態を検出する信号線の電気的な接続が切断される場合がある。この結果、制御装置１０１ａからブラックアウト信号が出力され、制御装置１０１ａが取り外されたと判断する前に制御対象装置１０２が停電処理を実行してしまうことがある。
【００２３】
なお、以下の説明では、電源装置１０３の停電状態を検出する信号線を「電源装置１０３のマウント信号」と表記し、他装置（例えば、制御装置１０１ｂ）が制御装置１０１ａを認識する信号線を「制御装置１０１ａのマウント信号」と表記する場合がある。また、制御装置１０１を取り外す際に、制御装置１０１を認識する信号線の電気的な接続が切断される前に、電源装置１０３の停電状態を検出する信号線の電気的な接続が切断される状態を「コネクタ半抜け」と表記する場合がある。
【００２４】
そこで、制御装置１０１ａを取り外す際に、制御装置１０１ａのマウント信号よりも電源装置１０３のマウント信号が先に抜けることを防ぐために、電源装置１０３のマウント信号のピン長よりも制御装置１０１ａのマウント信号のピン長を短くすることが考えられる。しかし、コネクタＣのピン長を調整する必要があるため、コネクタＣのコストアップを招いてしまう。
【００２５】
また、制御装置１０１ａを取り外す際に、制御装置１０１ａのマウント信号よりも電源装置１０３のマウント信号が先に抜けることを防ぐために、コネクタＣの四隅（対角）に制御装置１０１ａのマウント信号を設けることが考えられる。しかし、コネクタＣに設けられる信号数の制限などから、制御装置１０１ａのマウント信号を四隅（対角）に設けられない場合がある。
【００２６】
そこで、実施の形態１では、制御装置１０１は、電源装置１０３のマウント信号の電気的な接続が切断されてから一定時間Ｔ経過後に制御対象装置１０２にブラックアウト信号を出力する。これにより、制御装置１０１がアンマウントされる前、すなわち、制御装置１０１が取り外されたと制御対象装置１０２が判断する前にブラックアウト信号を受け付けるのを防いで、制御装置１０１のコネクタ半抜け時における停電処理を防ぐ。以下、実施の形態１にかかる制御方法の一実施例について説明する。
【００２７】
（１）制御装置１０１は、基板１１０上の電源装置１０３と結線され電源装置１０３の停電状態を検出する信号線（電源装置１０３のマウント信号）の電気的な接続の切断を検出する。ここで、電源装置１０３の停電状態を検出する信号線の電気的な接続は、例えば、「停電時」と「コネクタ半抜け時」に切断される。
【００２８】
例えば、電源装置１０３が実際に停電状態となった場合、制御装置１０１ａ，１０１ｂが、電源装置１０３の停電状態を検出する信号線の電気的な接続の切断を検出する。一方、制御装置１０１ａを取り外す際に、制御装置１０１ａがコネクタ半抜け状態となった場合は、制御装置１０１ａが、電源装置１０３の停電状態を検出する信号線（電源装置１０３のマウント信号）の電気的な接続の切断を検出する。
【００２９】
（２）制御装置１０１は、電源装置１０３の停電状態を検出する信号線の電気的な接続の切断が検出された場合、該信号線の電気的な接続の切断が検出されてから一定時間Ｔ経過後に、基板１１０上の制御対象装置１０２にブラックアウト信号を出力する。
【００３０】
すなわち、制御装置１０１のコネクタ半抜け時に、制御対象装置１０２が、制御装置１０１が取り外されたと判断する前に、制御装置１０１からブラックアウト信号を受け付けることを防ぐために、ブラックアウト信号の出力タイミングを遅らせる。
【００３１】
ここで、制御装置１０１のコネクタ半抜け状態が継続する期間が５０ｍｓ未満の場合を想定する。この場合、ブラックアウト信号の出力タイミングを５０ｍｓ以上遅らせることにより、制御対象装置１０２が、制御装置１０１が取り外されたと判断する前に、制御装置１０１からブラックアウト信号を受け付けることを防ぐことができる。
【００３２】
一方で、実際の停電時に、ブラックアウト信号の出力タイミングを長期間遅らせると、例えば、バッテリ電源の出力タイミングが遅れて、制御装置１０１や制御対象装置１０２の最低動作電圧を下回って不具合を引き起こす場合がある。このため、一定時間Ｔは、制御装置１０１のコネクタ半抜け状態の期間の長さや電源装置１０３にかかる負荷を考慮して設定される。なお、一定時間Ｔ（後述する「設定時間Ｔ」）の具体的な設定例については後述する。
【００３３】
（３）制御対象装置１０２は、制御装置１０１からブラックアウト信号を受け付けた場合、所定の停電処理を実行する。この際、制御対象装置１０２は、基板１１０から取り外されたと判断した制御装置１０１からブラックアウト信号を受け付けても停電処理は実行しない。
【００３４】
例えば、制御対象装置１０２は、制御装置１０１ａが認識されなくなったことを制御装置１０１ｂから通知された場合は、制御装置１０１ａからブラックアウト信号を受け付けても停電処理を実行しない。また、制御対象装置１０２は、制御装置１０１ａからブラックアウト信号を受け付ける前に、制御装置１０１ａを認識する信号線の電気的な接続が切断された場合は、制御装置１０１ａからブラックアウト信号を受け付けても停電処理を実行しない。
【００３５】
このように、制御装置１０１によれば、電源装置１０３の停電状態を検出する信号線の電気的な接続の切断を検出した場合に、一定時間Ｔ経過後に、制御対象装置１０２にブラックアウト信号を出力することができる。これにより、停電時またはコネクタ半抜け時に、制御対象装置１０２にブラックアウト信号を出力するタイミングを一定時間Ｔ遅らせることができる。
【００３６】
この結果、保守点検等における制御装置１０１のコネクタ半抜け時に、制御装置１０１が取り外されたことを制御対象装置１０２が認識する前にブラックアウト信号を受け付けてしまう不具合を防ぎ、制御対象装置１０２の無駄な停電処理を防止することができる。
【００３７】
（ストレージシステムのシステム構成例）
つぎに、実施の形態１にかかるストレージシステム２００のシステム構成例について説明する。図２は、ストレージシステム２００のシステム構成例を示す説明図である。図２において、ストレージシステム２００は、ＳＶＣ（Ｓｅｒｖｉｃｅ  Ｃｏｎｔｒｏｌｌｅｒ）＃１，＃２と、ＣＭ（Ｃｏｎｔｒｏｌｌｅｒ  Ｍｏｄｕｌｅ）＄１〜＄８と、ＰＳＵ（Ｐｏｗｅｒ  Ｓｕｐｐｌｙ  Ｕｎｉｔ）２０１と、ＢＢＵ（Ｂａｔｔｅｒｙ  Ｂａｃｋｕｐ  Ｕｎｉｔ）２０２と、ディスク２０３と、ＭＰ（Ｍｉｄ  Ｐｌａｎｅ）２０４とを含む。
【００３８】
ここで、ストレージシステム２００は、有線または無線のネットワーク２１０を介してホスト装置２２０と接続されている。ネットワーク２１０は、例えば、インターネット、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などである。
【００３９】
ＳＶＣ＃１，＃２は、ストレージシステム２００を監視するコンピュータである。ＳＶＣは、例えば、冗長性を持たせるためにストレージシステム２００に複数搭載される（図２の例では、ＳＶＣ＃１，＃２の２台。）。ＳＶＣ＃１，＃２は、図１に示した制御装置１０１に相当する。
【００４０】
ＣＭ＄１〜＄８は、データのリード／ライトを制御するコンピュータである。ＣＭは、例えば、性能向上および冗長性を持たせるためにストレージシステム２００に複数搭載される（図２の例では、ＣＭ＄１〜＄８の８台。）ＣＭ＄１〜＄８は、図１に示した制御対象装置１０２に相当する。
【００４１】
ＰＳＵ２０１は、ストレージシステム２００に電力を供給する電源装置である。ＰＳＵ２０１は、例えば、商用電源（または、顧客電源設備）から供給されるＡＣ電源をＤＣ電源に変換して、ＳＶＣ＃１，＃２、ＣＭ＄１〜＄８およびＢＢＵ２０２に供給する。ＰＳＵ２０１は、図１に示した電源装置１０３に相当する。
【００４２】
ＢＢＵ２０２は、停電等の何らかの要因でＰＳＵ２０１からストレージシステム２００に電力が供給されなくなった場合に、内蔵バッテリからストレージシステム２００に電力を供給する。ＢＢＵ２０２は、図１に示した制御対象装置１０２に相当する。ディスク２０３は、ＣＭ＄１〜＄８の制御で書き込まれたデータを記憶したり、ディスク２０３に記憶されたデータをＣＭ＄１〜＄８に読み取らせたりする記憶装置である。
【００４３】
ＭＰ２０４は、ＳＶＣ＃１，＃２、ＣＭ＄１〜＄８、ＰＳＵ２０１、ＢＢＵ２０２およびディスク２０３を搭載する基板である。ＭＰ２０４は、複数のコネクタを基板上で相互接続してバスを形成している。ＭＰ２０４のコネクタにＳＶＣ＃１，＃２、ＣＭ＄１〜＄８、ＰＳＵ２０１、ＢＢＵ２０２およびディスク２０３を挿入することにより相互接続することができる。ＭＰ２０４は、図１に示した基板１１０に相当する。
【００４４】
ホスト装置２２０は、ストレージシステム２００にアクセスするコンピュータである。ＣＭ＄１〜＄８は、ホスト装置２２０からのアクセス要求に応じてデータのリード／ライトを制御する。ホスト装置２２０は、例えば、サーバ、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）などである。
【００４５】
（ストレージシステム２００の動作例）
図３は、ストレージシステム２００の動作例を示す説明図である。図３において、ＰＳＵ２０１は、商用電源からＡＣ電源が供給されている状態で＋１２Ｖの電源（ＤＣ電源）を出力する。＋１２Ｖの電源は、ＳＶＣ＃１，＃２およびＣＭ＄１〜＄８に供給されるとともに、バッテリ充電のためにＢＢＵ２０２にも供給される。ＰＳＵ２０１は、商用電源からのＡＣ電源の供給が停止されると停電状態となる。
【００４６】
ＰＳＵ２０１は、ロウアクティブのマウント信号を表すマウント信号線３０１を有する。信号線３０１は、ＳＶＣ＃１，＃２に結線されている。ＳＶＣ＃１，＃２は、信号線３０１の電気的な接続の有無によってＰＳＵ２０１の停電状態を検出する。なお、停電状態では、ＰＳＵ２０１はマウント信号をハイインピーダンスにするため、ＳＶＣ＃１，＃２では信号線３０１はプルアップ抵抗に接続されている。
【００４７】
停電状態になるとＰＳＵ２０１は＋１２Ｖの電源を出力できなくなるため、ＢＢＵ２０２からＳＶＣ＃１，＃２およびＣＭ＄１〜＄８に電力を供給する。具体的には、例えば、ＰＳＵ２０１のマウント信号がロウからハイになり、ＳＶＣ＃１，＃２が停電状態であると判断すると、ＳＶＣ＃１，＃２からＣＭ＄１〜＄８やＢＢＵ２０２にブラックアウト信号を出力する。
【００４８】
停電状態になるとＣＭ＄１〜＄８やＢＢＵ２０２は所定の停電処理を実行する。具体的には、例えば、ＣＭ＄１〜＄８は、ホスト装置２２０とのデータのやり取りを中止して、キャッシュ＄１〜＄８に記憶されているデータのバックアップを行ったり、アラームを出力したりする。また、ＢＢＵ２０２は、＋１２Ｖ＿ＢＡＴの電源を出力する。
【００４９】
また、ＳＶＣ＃１は、マウント信号を表すマウント信号線３０２を有する。マウント信号線３０２は、ＳＶＣ＃２に結線されている。ＳＶＣ＃２は、マウント信号線３０２の電気的な接続の有無によってＳＶＣ＃１を認識する。また、ＳＶＣ＃２は、マウント信号を表すマウント信号線３０３を有する。マウント信号線３０３は、ＳＶＣ＃１に結線されている。ＳＶＣ＃１は、マウント信号線３０３の電気的な接続の有無によってＳＶＣ＃２を認識する。
【００５０】
なお、ＢＢＵ２０２の充電が十分でない場合は、停電時にＣＭ＄１〜＄８がキャッシュ＄１〜＄８に記憶されているデータのバックアップができなくなるため、動作方式がライトバックモードからライトスルーモードになる。
【００５１】
以下の説明では、ストレージシステム２００に搭載されている複数のＳＶＣを「ＳＶＣ＃１〜＃ｎ」と表記し（図２の例では、ｎ＝２）、ＳＶＣ＃１〜＃ｎのうちの任意のＳＶＣを「ＳＶＣ＃ｉ」と表記する場合がある（ｉ＝１，２，…，ｎ）。また、ストレージシステム２００に搭載されている複数のＣＭを「ＣＭ＄１〜＄ｍ」と表記し（図２の例では、ｍ＝８）、ＣＭ＄１〜＄ｍのうちの任意のＣＭを「ＣＭ＄ｊ」と表記する場合がある（ｊ＝１，２，…，ｍ）。
【００５２】
（ＳＶＣ＃ｉおよびＣＭ＄ｊのハードウェア構成例）
つぎに、ＳＶＣ＃ｉおよびＣＭ＄ｊ（ここでは、単に「ＳＶＣ等」と表記する）のハードウェア構成例について説明する。
【００５３】
図４は、ＳＶＣ等のハードウェア構成例を示すブロック図である。図４において、ＳＶＣ等は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４０１と、メモリ４０２と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）４０３と、を有している。また、各構成部はバス４００によってそれぞれ接続されている。
【００５４】
ここで、ＣＰＵ４０１は、ＳＶＣ等の全体の制御を司る。メモリ４０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有している。
【００５５】
より具体的には、例えば、フラッシュＲＯＭがＯＳやファームウェアなどのプログラムを記憶し、ＲＯＭがアプリケーションプログラムを記憶し、ＲＡＭがＣＰＵ４０１のワークエリアとして使用される。メモリ４０２に記憶されているプログラムは、ＣＰＵ４０１にロードされることで、コーディングされている処理をＣＰＵ４０１に実行させることになる。例えば、図３に示したＣＭ＄１〜＄８のキャッシュ＄１〜＄８は、メモリ４０２により実現される。
【００５６】
Ｉ／Ｆ４０３は、外部装置からのデータの入出力を制御する。具体的には、例えば、ＣＭ＄１〜＄８のＩ／Ｆ４０３は、通信回線を通じてネットワーク２１０に接続され、ネットワーク２１０を介して外部装置（例えば、図２に示したホスト装置２２０）に接続される。そして、Ｉ／Ｆ４０３は、ネットワーク２１０と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ４０３には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００５７】
（ＢＢＵ出力開始時間テーブル５００の記憶内容）
つぎに、ＳＶＣ＃ｉが用いるＢＢＵ出力開始時間テーブル５００の記憶内容について説明する。ＢＢＵ出力開始時間テーブル５００は、例えば、図４に示したＳＶＣ＃ｉのメモリ４０２に記憶されている。
【００５８】
図５は、ＢＢＵ出力開始時間テーブル５００の記憶内容の一例を示す説明図である。図５において、搭載枚数、電源保持時間およびＢＢＵ出力開始時間のフィールドを有する。各フィールドに情報を設定することにより、ＢＢＵ出力開始時間情報５００−１〜５００−３がレコードとして記憶されている。
【００５９】
ここで、搭載枚数は、ストレージシステム２００に搭載されているＣＭ＄ｊの枚数を表している。電源保持時間は、停電時のＰＳＵ２０１の電源保持時間である。ＢＢＵ出力開始時間は、停電時にＢＢＵ２０２が＋１２Ｖ＿ＢＡＴの電源の出力を開始するまでの遅延時間を表している。
【００６０】
例えば、ＢＢＵ出力開始時間情報５００−１は、ストレージシステム２００に搭載されているＣＭ＄ｊの枚数が２枚の場合の電源保持時間「８０ｍｓ」およびＢＢＵ出力開始時間「６０ｍｓ」を示している。
【００６１】
（ＳＶＣ＃ｉの機能的構成例）
図６は、実施の形態１にかかるＳＶＣ＃ｉの機能的構成例を示すブロック図である。図６において、ＳＶＣ＃ｉは、第１の検出部６０１と、出力部６０２と、特定部６０３と、設定部６０４と、第２の検出部６０５と、通知部６０６と、を含む構成である。各機能部は、具体的には、例えば、図４に示したメモリ４０２に記憶されたプログラムをＣＰＵ４０１に実行させることにより、または、Ｉ／Ｆ４０３により、その機能を実現する。また、各機能部の処理結果は、例えば、メモリ４０２に記憶される。
【００６２】
第１の検出部６０１は、第１の信号線の電気的な接続の切断を検出する機能を有する。ここで、第１の信号線は、ＭＰ２０４上のＰＳＵ２０１と結線され、ＰＳＵ２０１の停電状態を検出するための信号線であり、例えば、図３に示したマウント信号線３０１である。
【００６３】
具体的には、例えば、第１の検出部６０１が、マウント信号線３０１のマウント信号がロウからハイになったことを検出する。ＳＶＣ＃ｉは、ＰＳＵ２０１のマウント信号がロウからハイになったことを検出することにより、ＰＳＵ２０１が停電状態となったことを検出することができる。
【００６４】
出力部６０２は、第１の検出部６０１によって第１の信号線の電気的な接続の切断が検出された場合、第１の信号線の電気的な接続の切断が検出されてから設定時間Ｔの経過後に、ＣＭ＄ｊにブラックアウト信号を出力する機能を有する。これにより、停電時またはコネクタ半抜け時に、ＣＭ＄ｊにブラックアウト信号を出力するタイミングを設定時間Ｔ分遅らせることができる。
【００６５】
また、出力部６０２は、第１の検出部６０１によって第１の信号線の電気的な接続の切断が検出された場合、第１の信号線の電気的な接続の切断が検出されてから設定時間Ｔの経過後に、ＢＢＵ２０２にブラックアウト信号を出力することにしてもよい。これにより、停電時またはコネクタ半抜け時に、ＢＢＵ２０２にブラックアウト信号を出力するタイミングを設定時間Ｔ分遅らせることができる。
【００６６】
特定部６０３は、ＭＰ２０４上に搭載されているＣＭ＄ｊの枚数に対応する遅延時間Ｄを特定する機能を有する。ここで、遅延時間Ｄは、第１の信号線（例えば、マウント信号線３０１）の電気的な接続が切断されてからブラックアウト信号を出力するまでの待ち合わせ時間を表している。
【００６７】
また、ＭＰ２０４上に搭載されているＣＭ＄ｊの枚数は、例えば、ＳＶＣ＃ｉの起動時に、ＳＶＣ＃ｉがＭＰ２０４上に搭載されているＣＭ＄ｊと通信することにより特定することにしてもよく、また、予め設定されてメモリ４０２に記憶されていてもよい。
【００６８】
具体的には、例えば、特定部６０３が、図５に示したＢＢＵ出力開始時間テーブル５００を参照して、ＭＰ２０４上のＣＭ＄ｊの枚数に対応するＢＢＵ出力開始時間を遅延時間Ｄとして特定する。例えば、ＭＰ２０４上に搭載されているＣＭ＄ｊの枚数が２枚の場合、特定部６０３が、ＢＢＵ出力開始時間テーブル５００を参照して、ＣＭ＄ｊの枚数「２」に対応するＢＢＵ出力開始時間「６０ｍｓ」を遅延時間Ｄとして特定する。
【００６９】
設定部６０４は、特定部６０３によって特定された遅延時間Ｄを設定時間Ｔに設定する機能を有する。具体的には、例えば、ＭＰ２０４上に搭載されているＣＭ＄ｊの枚数が２枚の場合、設定部６０４が、遅延時間Ｄ「６０ｍｓ」を設定時間Ｔに設定する。この遅延時間Ｄ「６０ｍｓ」は、ＢＢＵ２０２の出力開始からＳＶＣ＃ｉやＣＭ＄ｊの最低動作電圧になるまで２０ｍｓかかるとして、ＭＰ２０４に搭載されているＣＭ＄ｊの枚数が２枚の場合の電源保持時間「８０ｍｓ」に２０ｍｓのマージンを持たせた値である。
【００７０】
また、例えば、ＭＰ２０４上に搭載されているＣＭ＄ｊの枚数が４枚の場合、設定部６０４が、遅延時間Ｄ「２０ｍｓ」を設定時間Ｔに設定する。この遅延時間Ｄ「２０ｍｓ」は、ＢＢＵ２０２の出力開始からＳＶＣ＃ｉやＣＭ＄ｊの最低動作電圧になるまで２０ｍｓかかるとして、ＭＰ２０４に搭載されているＣＭ＄ｊの枚数が４枚の場合の電源保持時間「４０ｍｓ」に２０ｍｓのマージンを持たせた値である。
【００７１】
これにより、ＭＰ２０４上のＣＭ＄ｊの枚数に応じてブラックアウト信号を出力するまでの設定時間Ｔを設定することができる。具体的には、ＭＰ２０４上のＣＭ＄ｊの枚数が多くＰＳＵ２０１の負荷が高い場合は、ＣＭ＄ｊの枚数が少ない場合に比べて、停電時にＰＳＵ２０１の電圧が急激に低下するため設定時間Ｔを短くすることができる。一方、ＭＰ２０４上のＣＭ＄ｊの枚数が少なくＰＳＵ２０１の負荷が低い場合は、ＣＭ＄ｊの枚数が多い場合に比べて、停電時にＰＳＵ２０１の電圧がなだらかに低下するため設定時間Ｔを長くすることができる。
【００７２】
ただし、例えば、ＳＶＣ＃ｉのコネクタ半抜け状態が継続する期間が２０ｍｓ未満であれば、設定部６０４は、ＭＰ２０４上に搭載されているＣＭ＄ｊの枚数が２枚の場合であっても、遅延時間Ｄ「２０ｍｓ」を設定時間Ｔに設定することにしてもよい。なお、ＳＶＣ＃ｉのコネクタ半抜け状態が継続する最大期間は、ＳＶＣ＃ｉのコネクタ構造等に依存するため、例えば、人手により予め計測されてメモリ４０２に記憶されていてもよい。
【００７３】
第２の検出部６０５は、第２の信号線の電気的な接続の切断を検出する機能を有する。ここで、第２の信号線は、ＭＰ２０４上の他のＳＶＣ＃ｋと結線され、他のＳＶＣ＃ｋを認識する信号線であり、例えば、図３に示したマウント信号線３０２，３０３である（ｋ≠ｉ、ｋ＝１，２，…，ｎ）。
【００７４】
具体的には、例えば、保守点検等のためにＳＶＣ＃２がＭＰ２０４から引き抜かれると、マウント信号線３０３の電気的な接続が切断されて、ＳＶＣ＃１の第２の検出部６０５が、マウント信号線３０３の電気的な接続の切断を検出する。
【００７５】
通知部６０６は、第２の検出部６０５によって第２の信号線の電気的な接続の切断が検出された場合、他のＳＶＣ＃ｋが認識されなくなったことをＣＭ＄ｊに通知する機能を有する。具体的には、例えば、マウント信号線３０３の電気的な接続が切断された場合、ＳＶＣ＃１の通知部６０６が、ＳＶＣ＃２が認識されなくなったことを示すアンマウント通知をＣＭ＄１〜＄８に通知する。
【００７６】
これにより、ストレージシステム２００において、ＳＶＣ＃ｋのマウント信号がＣＭ＄ｊに直接入力されない構成であっても、ＭＰ２０４から引き抜かれてＳＶＣ＃ｋが認識されなくなったことをＳＶＣ＃ｉからＣＭ＄ｊに通知することができる。
【００７７】
また、通知部６０６は、第２の検出部６０５によって第２の信号線の電気的な接続の切断が検出された場合、他のＳＶＣ＃ｋが認識されなくなったことをＢＢＵ２０２に通知することにしてもよい。具体的には、例えば、マウント信号線３０３の電気的な接続が切断された場合、ＳＶＣ＃１の通知部６０６が、ＳＶＣ＃２が認識されなくなったことをＢＢＵ２０２に通知する。
【００７８】
これにより、ストレージシステム２００において、ＳＶＣ＃ｋのマウント信号がＢＢＵ２０２に直接入力されない構成であっても、ＭＰ２０４から引き抜かれてＳＶＣ＃ｋが認識されなくなったことをＳＶＣ＃ｉからＢＢＵ２０２に通知することができる。
【００７９】
（ＣＭ＄ｊの機能的構成例）
図７は、実施の形態１にかかるＣＭ＄ｊの機能的構成例を示すブロック図である。図７において、ＣＭ＄ｊは、受付部７０１と、処理部７０２と、を含む構成である。各機能部は、具体的には、例えば、図４に示したメモリ４０２に記憶されたプログラムをＣＰＵ４０１に実行させることにより、または、Ｉ／Ｆ４０３により、その機能を実現する。また、各機能部の処理結果は、例えば、メモリ４０２に記憶される。
【００８０】
受付部７０１は、ＳＶＣ＃ｉからブラックアウト信号を受け付ける機能を有する。ブラックアウト信号は、上述したように、ＭＰ２０４上のＰＳＵ２０１とＳＶＣ＃ｉとを接続する第１の信号線の電気的な接続が切断された場合にＳＶＣ＃ｉから出力される信号である。これにより、ＣＭ＄ｊは、ＰＳＵ２０１が停電状態となったことを検出することができる。
【００８１】
また、受付部７０１は、ＳＶＣ＃ｋが認識されなくなったことを示すアンマウント通知をＳＶＣ＃ｉから受け付けることにしてもよい。これにより、ＳＶＣ＃ｋのマウント信号がＣＭ＄ｊに直接入力されない構成であっても、ＣＭ＄ｊは、ＭＰ２０４から引き抜かれてＳＶＣ＃ｋが認識されなくなったことを判断することができる。
【００８２】
処理部７０２は、受付部７０１によって認識されているＳＶＣ＃ｉからブラックアウト信号を受け付けた場合、所定の停電処理を実行する機能を有する。具体的には、例えば、処理部７０２が、認識されているＳＶＣ＃ｉからブラックアウト信号を受け付けた場合に、ホスト装置２２０とのデータのやり取りを中止して、キャッシュ＄ｊに記憶されているデータのバックアップを行う。
【００８３】
すなわち、処理部７０２は、認識されなくなったＳＶＣ＃ｋからブラックアウト信号を受け付けても停電処理は実行しない。認識されなくなったＳＶＣ＃ｋは、例えば、認識されているＳＶＣ＃ｉからアンマウント通知を受け付けることにより特定することができる。
【００８４】
なお、ＣＭ＄ｊは、認識されているすべてのＳＶＣ＃ｉからブラックアウト信号を受け付けたか否かを判断することにしてもよい。そして、ＣＭ＄ｊは、認識されているすべてのＳＶＣ＃ｉからブラックアウト信号を受け付けた場合に停電処理を実行することにしてもよい。
【００８５】
この際、ＣＭ＄ｊは、ブラックアウト信号を非通知のＳＶＣ＃ｋとの通信を試みることにより、ＳＶＣ＃ｋと通信可能か否かを判断することにしてもよい。これにより、ＳＶＣ＃ｋからブラックアウト信号を受け付けていなくても、故障等によりＳＶＣ＃ｋと通信不能な状態であると判断できる場合は停電処理を実行することができる。
【００８６】
また、ＢＢＵ２０２についても、上述したＣＭ＄ｊと同様の機能的構成を適用することにしてもよい。ただし、ＢＢＵ２０２の処理部７０２は、認識されているＳＶＣ＃ｉからブラックアウト信号を受け付けた場合に、＋１２Ｖ＿ＢＡＴの電源を出力する停電処理の実行を開始する。
【００８７】
この場合、ＣＭ＄ｊは、ＳＶＣ＃ｉからブラックアウト信号を受け付け、かつ、ＢＢＵ２０２から＋１２Ｖ＿ＢＡＴの電源が入力された場合に停電処理を実行することにしてもよい。これにより、ＣＭ＄ｊは、ＢＢＵ２０２においてもＰＳＵ２０１が停電状態となったと判断された場合に停電処理を実行することができる。
【００８８】
また、ＣＭ＄ｊは、認識されているＳＶＣ＃ｉからブラックアウト信号を受け付けた場合、ＰＳＵ２０１が停電状態となったことをＢＢＵ２０２に通知することにしてもよい。この場合、ＢＢＵ２０２は、ＰＳＵ２０１が停電状態となったことがＣＭ＄ｊから通知された場合に、＋１２Ｖ＿ＢＡＴの電源を出力する停電処理の実行を開始することにしてもよい。
【００８９】
なお、ＳＶＣ＃ｉの代わりに、ＣＭ＄１〜＄８のいずれかのＣＭ＄ｊによりストレージシステム２００を監視させる場合は、上述したＳＶＣ＃ｉの機能的構成を、ストレージシステム２００を監視するＣＭ＄ｊに適用することにしてもよい。
【００９０】
（ＰＳＵ２０１の停電処理手順）
つぎに、ＰＳＵ２０１の停電処理手順について説明する。ＰＳＵ２０１の停電処理は、例えば、ＰＳＵ２０１の電源が投入された場合に実行が開始される。
【００９１】
図８は、ＰＳＵ２０１の停電処理手順の一例を示すフローチャートである。図８のフローチャートにおいて、まず、ＰＳＵ２０１は、商用電源（または、顧客電源設備）から供給されるＡＣ入力が停止したか否かを判断する（ステップＳ８０１）。ここで、ＰＳＵ２０１は、ＡＣ入力が停止されるのを待つ（ステップＳ８０１：Ｎｏ）。
【００９２】
そして、ＡＣ入力が停止された場合（ステップＳ８０１：Ｙｅｓ）、ＰＳＵ２０１は、ＳＶＣ＃ｉに対するＰＳＵ２０１のマウント信号の出力を停止して（ステップＳ８０２）、本フローチャートによる一連の処理を終了する。具体的には、例えば、ＰＳＵ２０１が、マウント信号をハイインピーダンスにして、マウント信号線３０１の電気的な接続を切断する。
【００９３】
これにより、ＡＣ入力が停止されて停電状態となったことをＳＶＣ＃ｉに通知することができる。
【００９４】
（ＳＶＣ＃ｉの各種処理手順）
つぎに、実施の形態１にかかるＳＶＣ＃ｉの各種処理手順について説明する。ＳＶＣ＃ｉの各種処理は、例えば、ＳＶＣ＃ｉの電源が投入された場合、すなわち、ＰＳＵ２０１からＳＶＣ＃ｉへの電力の供給が開始された場合に実行が開始される。まず、実施の形態１にかかるＳＶＣ＃ｉの停電処理手順について説明する。
【００９５】
図９は、実施の形態１にかかるＳＶＣ＃ｉの停電処理手順の一例を示すフローチャートである。図９のフローチャートにおいて、まず、ＳＶＣ＃ｉは、ストレージシステム２００のシステム構成を判断する（ステップＳ９０１）。具体的には、例えば、ＳＶＣ＃ｉが、ストレージシステム２００内の他のＳＶＣ＃ｋ、ＣＭ＄ｊおよびＢＢＵ２０２と通信することによりシステム構成を判断することができる。
【００９６】
つぎに、ＳＶＣ＃ｉは、ＢＢＵ出力開始時間テーブル５００を参照して、ＭＰ２０４上のＣＭ＄ｊの枚数に対応する遅延時間Ｄを特定する（ステップＳ９０２）。そして、ＳＶＣ＃ｉは、特定した遅延時間Ｄを設定時間Ｔに設定する（ステップＳ９０３）。
【００９７】
つぎに、ＳＶＣ＃ｉは、ＰＳＵ２０１のマウント信号の入力が停止したか否かを判断する（ステップＳ９０４）。具体的には、例えば、ＳＶＣ＃ｉが、ＰＳＵ２０１のマウント信号線３０１の電気的な接続が切断されたか否かを判断する。
【００９８】
ここで、ＳＶＣ＃ｉは、ＰＳＵ２０１のマウント信号の入力が停止するのを待つ（ステップＳ９０４：Ｎｏ）。そして、ＰＳＵ２０１のマウント信号の入力が停止した場合（ステップＳ９０４：Ｙｅｓ）、ＳＶＣ＃ｉは、ＰＳＵ２０１のマウント信号の入力が停止してから設定時間Ｔが経過したか否かを判断する（ステップＳ９０５）。
【００９９】
ここで、設定時間Ｔが経過していない場合（ステップＳ９０５：Ｎｏ）、ＳＶＣ＃ｉは、ステップＳ９０４に戻って、ＰＳＵ２０１のマウント信号の入力が停止しているか否かを判断する。一方、設定時間Ｔが経過した場合（ステップＳ９０５：Ｙｅｓ）、ＳＶＣ＃ｉは、他のＳＶＣ＃ｋに停電処理移行通知を送信する（ステップＳ９０６）。
【０１００】
なお、停電処理移行通知は、ＰＳＵ２０１が停電状態となったため停電処理を行う旨を他のＳＶＣ＃ｋに通知するものである。
【０１０１】
つぎに、ＳＶＣ＃ｉは、他のＳＶＣ＃ｋから停電処理移行通知を受信したか否かを判断する（ステップＳ９０７）。ここで、停電処理移行通知を受信していない場合（ステップＳ９０７：Ｎｏ）、ＳＶＣ＃ｉは、ステップＳ９０４に戻って、ＰＳＵ２０１のマウント信号の入力が停止しているか否かを判断する。
【０１０２】
一方、停電処理移行通知を受信した場合（ステップＳ９０７：Ｙｅｓ）、ＳＶＣ＃ｉは、ＣＭ＄１〜＄ｍおよびＢＢＵ２０２にブラックアウト信号を出力して（ステップＳ９０８）、本フローチャートによる一連の処理を終了する。
【０１０３】
これにより、ＰＳＵ２０１が停電状態となった場合にＣＭ＄１〜＄ｍおよびＢＢＵ２０２にブラックアウト信号を出力することができる。
【０１０４】
つぎに、他のＳＶＣ＃ｋのアンマウント通知をＣＭ＄ｊに通知するアンマウント通知処理手順について説明する。ＳＶＣ＃ｉのアンマウント通知処理は、例えば、図９に示したＳＶＣ＃ｉの停電処理と並列に実行される。
【０１０５】
図１０は、ＳＶＣ＃ｉのアンマウント通知処理手順の一例を示すフローチャートである。図１０のフローチャートにおいて、まず、ＳＶＣ＃ｉは、他のＳＶＣ＃ｋのマウント信号の入力が停止したか否かを判断する（ステップＳ１００１）。具体的には、例えば、ＳＶＣ＃ｉが、他のＳＶＣ＃ｋのマウント信号線（例えば、マウント信号線３０２，３０３）の電気的な接続が切断されたか否かを判断する。
【０１０６】
ここで、ＳＶＣ＃ｉは、他のＳＶＣ＃ｋのマウント信号の入力が停止するのを待つ（ステップＳ１００１：Ｎｏ）。そして、他のＳＶＣ＃ｋのマウント信号の入力が停止した場合（ステップＳ１００１：Ｙｅｓ）、ＳＶＣ＃ｉは、他のＳＶＣ＃ｋのアンマウント通知をＣＭ＄１〜＄ｍおよびＢＢＵ２０２に送信して（ステップＳ１００２）、本フローチャートによる一連の処理を終了する。
【０１０７】
これにより、保守点検等により他のＳＶＣ＃ｋがＭＰ２０４から引き抜かれたことを検出してＣＭ＄１〜＄ｍおよびＢＢＵ２０２に通知することができる。
【０１０８】
（ＣＭ＄ｊの停電処理手順）
つぎに、実施の形態１にかかるＣＭ＄ｊの停電処理手順について説明する。ＣＭ＄ｊの停電処理は、例えば、ＣＭ＄ｊの電源が投入された場合、すなわち、ＰＳＵ２０１からＣＭ＄ｊへの電力の供給が開始された場合に実行が開始される。
【０１０９】
図１１は、実施の形態１にかかるＣＭ＄ｊの停電処理手順の一例を示すフローチャートである。図１１のフローチャートにおいて、まず、ＣＭ＄ｊは、ストレージシステム２００のシステム構成を判断する（ステップＳ１１０１）。
【０１１０】
つぎに、ＣＭ＄ｊは、ＳＶＣ＃ｉからブラックアウト信号を受け付けたか否かを判断する（ステップＳ１１０２）。ここで、ＣＭ＄ｊは、ＳＶＣ＃ｉからブラックアウト信号を受け付けるのを待つ（ステップＳ１１０２：Ｎｏ）。
【０１１１】
そして、ＳＶＣ＃ｉからブラックアウト信号を受け付けた場合（ステップＳ１１０２：Ｙｅｓ）、ＣＭ＄ｊは、ＳＶＣ＃ｉのアンマウント通知を他のＳＶＣ＃ｋから受信したか否かを判断する（ステップＳ１１０３）。ここで、ＳＶＣ＃ｉのアンマウント通知を受信した場合（ステップＳ１１０３：Ｙｅｓ）、ＣＭ＄ｊは、ステップＳ１１０２に戻る。
【０１１２】
一方、ＳＶＣ＃ｉのアンマウント通知を受信していない場合（ステップＳ１１０３：Ｎｏ）、ＣＭ＄ｊは、ストレージシステム２００内のすべてのＳＶＣ＃１〜＃ｎからブラックアウト信号を受け付けたか否かを判断する（ステップＳ１１０４）。ここで、すべてのＳＶＣ＃１〜＃ｎからブラックアウト信号を受け付けた場合（ステップＳ１１０４：Ｙｅｓ）、ＣＭ＄ｊは、ステップＳ１１０６に移行する。
【０１１３】
一方、すべてのＳＶＣ＃１〜＃ｎからブラックアウト信号を受け付けていない場合（ステップＳ１１０４：Ｎｏ）、ＣＭ＄ｊは、ブラックアウト信号を非通知のＳＶＣと通信可能か否かを判断する（ステップＳ１１０５）。ここで、ブラックアウト信号を非通知のＳＶＣと通信可能な場合（ステップＳ１１０５：Ｙｅｓ）、ＣＭ＄ｊは、ステップＳ１１０２に戻る。
【０１１４】
一方、ブラックアウト信号を非通知のＳＶＣと通信不能な場合（ステップＳ１１０５：Ｎｏ）、ＣＭ＄ｊは、停電処理を実行して（ステップＳ１１０６）、本フローチャートによる一連の処理を終了する。
【０１１５】
これにより、故障等により通信不能なＳＶＣを除くすべてのＳＶＣ＃１〜＃ｎからブラックアウト信号を受け付けた場合に停電処理を実行することができる。ただし、ＣＭ＄ｊは、停電処理を開始するまでの時間を短縮化するために、ステップＳ１１０４およびステップＳ１１０５の処理を実行しないことにしてもよい。
【０１１６】
なお、ＢＢＵ２０２の停電処理手順については、図１１に示したＣＭ＄ｊの停電処理手順と同様のため図示および説明を省略する。
【０１１７】
（ＰＳＵ２０１の出力電圧とＢＢＵ２０２の出力電圧との関係）
ここで、実施の形態１におけるＰＳＵ２０１の出力電圧とＢＢＵ２０２の出力電圧との関係について説明する。まず、停電時におけるＰＳＵ２０１の出力電圧とＢＢＵ２０２の出力電圧との関係について説明する。ここでは、ＭＰ２０４上に搭載されているＣＭ＄ｊの枚数が「４枚」の場合と「２枚」の場合を例に挙げて説明する。
【０１１８】
図１２は、ＰＳＵ２０１の出力電圧とＢＢＵ２０２の出力電圧との関係を示す説明図（その１）である。図１２において、グラフ１２０１は、ＭＰ２０４上に搭載されているＣＭ＄ｊの枚数が４枚の場合の停電時におけるＰＳＵ２０１の出力電圧の時間的変化を表している。また、グラフ１２０２は、ＭＰ２０４上に搭載されているＣＭ＄ｊの枚数が４枚の場合の停電時におけるＢＢＵ２０２の出力電圧の時間的変化を表している。
【０１１９】
また、グラフ１２０３は、ＭＰ２０４上に搭載されているＣＭ＄ｊの枚数が２枚の場合の停電時におけるＰＳＵ２０１の出力電圧の時間的変化を表している。また、グラフ１２０４は、ＭＰ２０４上に搭載されているＣＭ＄ｊの枚数が２枚の場合の停電時におけるＢＢＵ２０２の出力電圧の時間的変化を表している。
【０１２０】
なお、Ｖminは、ＳＶＣ＃ｉおよびＣＭ＄ｊの最低動作電圧を表している。例えば、ＳＶＣ＃ｉに供給された電圧は、ＳＶＣ＃ｉのＤＣ／ＤＣコンバータによって変換されて、ＳＶＣ＃ｉ内の各デバイスに供給される。最低動作電圧は、ＳＶＣ＃ｉ内の各デバイスが動作する電圧を確保するためにＳＶＣ＃ｉに供給される最低の電圧である。ＣＭ＄ｊについても同様である。
【０１２１】
グラフ１２０１，１２０２に示す例では、ブラックアウト信号の出力タイミングを設定時間Ｔ遅らせても、停電時にＰＳＵ２０１の出力電圧が最低動作電圧を下回る前に、ＢＢＵ２０２の出力電圧が最低動作電圧Ｖminに到達している。同様に、グラフ１２０３，１２０４に示す例では、ブラックアウト信号の出力タイミングを設定時間Ｔ遅らせても、停電時にＰＳＵ２０１の出力電圧が最低動作電圧Ｖminを下回る前に、ＢＢＵ２０２の出力電圧が最低動作電圧Ｖminに到達している。
【０１２２】
このように、ＭＰ２０４上のＣＭ＄ｊの枚数、すなわち、ＰＳＵ２０１にかかる負荷に応じた設定時間Ｔに設定することにより、ＰＳＵ２０１の出力電圧が最低動作電圧Ｖminを下回る前に、ＢＢＵ２０２の出力電圧により最低動作電圧Ｖminを確保することができる。
【０１２３】
つぎに、ＳＶＣ＃ｉのコネクタ半抜け時におけるＰＳＵ２０１の出力電圧とＢＢＵ２０２の出力電圧との関係について説明する。
【０１２４】
図１３は、ＰＳＵ２０１の出力電圧とＢＢＵ２０２の出力電圧との関係を示す説明図（その２）である。図１３において、グラフ１３０１は、ＭＰ２０４上に搭載されているＣＭ＄ｊの枚数が４枚の場合の、コネクタ半抜け時におけるＰＳＵ２０１の出力電圧の時間的変化を表している。また、グラフ１３０２は、ＭＰ２０４上に搭載されているＣＭ＄ｊの枚数が４枚の場合の、コネクタ半抜け時におけるＢＢＵ２０２の出力電圧の時間的変化を表している。
【０１２５】
また、グラフ１３０３は、ＭＰ２０４上に搭載されているＣＭ＄ｊの枚数が２枚の場合の、コネクタ半抜け時におけるＰＳＵ２０１の出力電圧の時間的変化を表している。また、グラフ１３０４は、ＭＰ２０４上に搭載されているＣＭ＄ｊの枚数が２枚の場合の、コネクタ半抜け時におけるＢＢＵ２０２の出力電圧の時間的変化を表している。
【０１２６】
グラフ１３０１，１３０２に示す例では、ＳＶＣ＃ｉからブラックアウト信号が出力されるタイミングを設定時間Ｔ分遅らせた結果、＋１２Ｖ＿ＢＡＴの電源がＢＢＵ２０２から出力されるタイミングが遅れている。
【０１２７】
グラフ１３０３，１３０４に示す例では、ＳＶＣ＃ｉからブラックアウト信号が出力されるタイミングを設定時間Ｔ分遅らせた結果、ＢＢＵ２０２から＋１２Ｖ＿ＢＡＴの電源が出力される前に、ＢＢＵ２０２にＳＶＣ＃ｉのアンマウント通知が通知されたため、＋１２Ｖ＿ＢＡＴの電源の出力が行われていない。
【０１２８】
このように、ＢＢＵ２０２から＋１２Ｖ＿ＢＡＴの電源が出力されるタイミングを遅らせることにより、ＢＢＵ２０２の再充電にかかる負荷を抑えることができる。すなわち、ＰＳＵ２０１にかかる負荷に応じた設定時間Ｔに設定することにより、停電時におけるＳＶＣ＃ｉやＣＭ＄ｊの最低動作電圧Ｖminを確保しつつ、ＢＢＵ２０２から＋１２Ｖ＿ＢＡＴの電源が出力されるタイミングをできるだけ遅らせて、ＢＢＵ２０２の再充電にかかる負荷を抑えることができる。
【０１２９】
以上説明したように、実施の形態１にかかるＳＶＣ＃ｉによれば、ＰＳＵ２０１の停電状態を検出するための第１の信号線（例えば、マウント信号線３０１）の電気的な接続の切断を検出した場合に、設定時間Ｔの経過後に、ＣＭ＄ｊにブラックアウト信号を出力することができる。これにより、停電時またはコネクタ半抜け時に、ＣＭ＄ｉにブラックアウト信号を出力するタイミングを設定時間Ｔ分遅らせることができる。
【０１３０】
また、ＳＶＣ＃ｉによれば、ＰＳＵ２０１の停電状態を検出するための第１の信号線（例えば、マウント信号線３０１）の電気的な接続の切断を検出した場合に、設定時間Ｔの経過後に、ＢＢＵ２０２にブラックアウト信号を出力することができる。これにより、停電時またはコネクタ半抜け時に、ＢＢＵ２０２にブラックアウト信号を出力するタイミングを設定時間Ｔ分遅らせることができる。
【０１３１】
また、ＳＶＣ＃ｉによれば、他のＳＶＣ＃ｋを認識する第２の信号線（例えば、マウント信号線３０２，３０３）の電気的な接続の切断を検出した場合、他のＳＶＣ＃ｋが認識されなくなったことをＣＭ＄ｊに通知することができる。これにより、ＳＶＣ＃ｋのマウント信号がＣＭ＄ｊに直接入力されない構成であっても、ＭＰ２０４から引き抜かれてＳＶＣ＃ｋが認識されなくなったことをＣＭ＄ｊに通知することができる。
【０１３２】
また、ＳＶＣ＃ｉによれば、他のＳＶＣ＃ｋを認識する第２の信号線（例えば、マウント信号線３０２，３０３）の電気的な接続の切断を検出した場合、他のＳＶＣ＃ｋが認識されなくなったことをＢＢＵ２０２に通知することができる。これにより、ＳＶＣ＃ｋのマウント信号がＣＭ＄ｊに直接入力されない構成であっても、ＭＰ２０４から引き抜かれてＳＶＣ＃ｋが認識されなくなったことをＢＢＵ２０２に通知することができる。
【０１３３】
また、ＳＶＣ＃ｉによれば、ＢＢＵ出力開始時間テーブル５００を参照して、ＭＰ２０４上に搭載されているＣＭ＄ｊの枚数に対応する遅延時間Ｄを特定し、特定した遅延時間Ｄを設定時間Ｔに設定することができる。
【０１３４】
これにより、ＭＰ２０４上のＣＭ＄ｊの枚数に応じてブラックアウト信号を出力するまでの設定時間Ｔを設定することができる。具体的には、ＭＰ２０４上のＣＭ＄ｊの枚数が多くＰＳＵ２０１の負荷が高い場合は、ＣＭ＄ｊの枚数が少ない場合に比べて、停電時にＰＳＵ２０１の電圧が急激に低下するため設定時間Ｔを短くすることができる。一方、ＭＰ２０４上のＣＭ＄ｊの枚数が少なくＰＳＵ２０１の負荷が低い場合は、ＣＭ＄ｊの枚数が多い場合に比べて、停電時にＰＳＵ２０１の電圧がなだらかに低下するため設定時間Ｔを長くすることができる。
【０１３５】
これらのことから、ストレージシステム２００によれば、ＳＶＣ＃ｉのコネクタ半抜け時に、ＳＶＣ＃ｉが取り外されたことをＣＭ＄ｊやＢＢＵ２０２が認識する前にブラックアウト信号を受け付けてしまう不具合を減らすことができる。これにより、ＳＶＣ＃ｉの保守点検時等におけるＣＭ＄ｊやＢＢＵ２０２による無駄な停電処理の実行を防ぐことができる。
【０１３６】
具体的には、例えば、ＳＶＣ＃ｉの保守点検時等に、ＣＭ＄ｊによるバックアップ処理が行われてホスト装置２２０との通信が中断されることを防ぐことができ、サービス品質が低下することを抑えることができる。また、ＳＶＣ＃ｉの保守点検時等に、ＢＢＵ２０２により＋１２Ｖ＿ＢＡＴの電源が出力されることを防ぐことができ、再充電にともなって動作方式がライトスルーモードになりストレージシステム２００の処理性能が低下することを抑えることができる。
【０１３７】
（実施の形態２）
つぎに、実施の形態２にかかるストレージシステム２００について説明する。実施の形態２では、ＣＭ＄ｊやＢＢＵ２０２が、ＳＶＣ＃ｉからブラックアウト信号を受け付けた場合に、設定時間Ｔ分待ってから停電処理を実行する場合について説明する。なお、実施の形態１で説明した箇所と同一箇所については説明を省略する。
【０１３８】
（ＳＶＣ＃ｉの機能的構成例）
図１４は、実施の形態２にかかるＳＶＣ＃ｉの機能的構成例を示すブロック図である。図１４において、ＳＶＣ＃ｉは、第１の検出部６０１と、第２の検出部６０５と、通知部６０６と、出力部１４０１と、を含む構成である。各機能部は、具体的には、例えば、ＳＶＣ＃ｉのメモリ４０２に記憶されたプログラムをＣＰＵ４０１に実行させることにより、または、Ｉ／Ｆ４０３により、その機能を実現する。また、各機能部の処理結果は、例えば、メモリ４０２に記憶される。
【０１３９】
以下、実施の形態１にかかるＳＶＣ＃ｉの機能部とは異なる機能部について説明する。
【０１４０】
出力部１４０１は、第１の検出部６０１によって第１の信号線の電気的な接続の切断が検出された場合、ＣＭ＄ｊにブラックアウト信号を出力する機能を有する。これにより、停電時またはコネクタ半抜け時に、ＣＭ＄ｊにブラックアウト信号を出力することができる。
【０１４１】
また、出力部１４０１は、第１の検出部６０１によって第１の信号線の電気的な接続の切断が検出された場合、ＢＢＵ２０２にブラックアウト信号を出力することにしてもよい。これにより、停電時またはコネクタ半抜け時に、ＢＢＵ２０２にブラックアウト信号を出力することができる。
【０１４２】
（ＣＭ＄ｊの機能的構成例）
図１５は、実施の形態２にかかるＣＭ＄ｊの機能的構成例を示すブロック図である。図１５において、ＣＭ＄ｊは、受付部７０１と、特定部１５０１と、設定部１５０２と、処理部１５０３と、を含む構成である。各機能部は、具体的には、例えば、ＣＭ＄ｊのメモリ４０２に記憶されたプログラムをＣＰＵ４０１に実行させることにより、または、Ｉ／Ｆ４０３により、その機能を実現する。また、各機能部の処理結果は、例えば、メモリ４０２に記憶される。
【０１４３】
以下、実施の形態１にかかるＣＭ＄ｊの機能部とは異なる機能部について説明する。
【０１４４】
特定部１５０１は、ＭＰ２０４上に搭載されているＣＭ＄ｊの枚数に対応する遅延時間Ｄを特定する機能を有する。ここで、遅延時間Ｄは、ＳＶＣ＃ｉからブラックアウト信号を受け付けてから停電処理を実行するまでの待ち合わせ時間を表している。
【０１４５】
具体的には、例えば、特定部１５０１が、図５に示したＢＢＵ出力開始時間テーブル５００を参照して、ＭＰ２０４上のＣＭ＄ｊの枚数に対応するＢＢＵ出力開始時間を遅延時間Ｄとして特定することにしてもよい。
【０１４６】
設定部１５０２は、特定部１５０１によって特定された遅延時間Ｄを設定時間Ｔに設定する機能を有する。これにより、ＭＰ２０４上のＣＭ＄ｊの枚数に応じて停電処理を実行するまでの設定時間Ｔを設定することができる。具体的には、ＭＰ２０４上のＣＭ＄ｊの枚数が多くＰＳＵ２０１の負荷が高い場合は、ＣＭ＄ｊの枚数が少ない場合に比べて、ＰＳＵ２０１の電圧が急激に低下するため設定時間Ｔを短くすることができる。一方、ＭＰ２０４上のＣＭ＄ｊの枚数が少なくＰＳＵ２０１の負荷が低い場合は、ＣＭ＄ｊの枚数が多い場合に比べて、ＰＳＵ２０１の電圧がなだらかに低下するため設定時間Ｔを長くすることができる。
【０１４７】
処理部１５０３は、ＳＶＣ＃ｉからブラックアウト信号を受け付けた場合、ブラックアウト信号を受け付けてから設定時間Ｔの経過後に、所定の停電処理を実行する機能を有する。具体的には、例えば、処理部１５０３が、認識されているＳＶＣ＃ｉからブラックアウト信号を受け付けた場合に、設定時間Ｔの経過後に、ホスト装置２２０とのデータのやり取りを中止して、キャッシュ＄ｊに記憶されているデータのバックアップを行う。
【０１４８】
なお、ＢＢＵ２０２についても、上述したＣＭ＄ｊと同様の機能的構成を適用することにしてもよい。
【０１４９】
（ＳＶＣ＃ｉの停電処理手順）
つぎに、実施の形態２にかかるＳＶＣ＃ｉの停電処理手順について説明する。ＳＶＣ＃ｉの停電処理は、例えば、ＳＶＣ＃ｉの電源が投入された場合、すなわち、ＰＳＵ２０１からＳＶＣ＃ｉへの電力の供給が開始された場合に実行が開始される。
【０１５０】
図１６は、実施の形態２にかかるＳＶＣ＃ｉの停電処理手順の一例を示すフローチャートである。図１６のフローチャートにおいて、まず、ＳＶＣ＃ｉは、ストレージシステム２００のシステム構成を判断する（ステップＳ１６０１）。
【０１５１】
つぎに、ＳＶＣ＃ｉは、ＰＳＵ２０１のマウント信号の入力が停止したか否かを判断する（ステップＳ１６０２）。ここで、ＳＶＣ＃ｉは、ＰＳＵ２０１のマウント信号の入力が停止するのを待つ（ステップＳ１６０２：Ｎｏ）。そして、ＰＳＵ２０１のマウント信号の入力が停止した場合（ステップＳ１６０２：Ｙｅｓ）、ＳＶＣ＃ｉは、他のＳＶＣ＃ｋに停電処理移行通知を送信する（ステップＳ１６０３）。
【０１５２】
つぎに、ＳＶＣ＃ｉは、他のＳＶＣ＃ｋから停電処理移行通知を受信したか否かを判断する（ステップＳ１６０４）。ここで、停電処理移行通知を受信していない場合（ステップＳ１６０４：Ｎｏ）、ＳＶＣ＃ｉは、ステップＳ１６０２に戻って、ＰＳＵ２０１のマウント信号の入力が停止しているか否かを判断する。
【０１５３】
一方、停電処理移行通知を受信した場合（ステップＳ１６０４：Ｙｅｓ）、ＳＶＣ＃ｉは、ＣＭ＄１〜＄ｍおよびＢＢＵ２０２にブラックアウト信号を出力して（ステップＳ１６０５）、本フローチャートによる一連の処理を終了する。
【０１５４】
これにより、ＰＳＵ２０１が停電状態となった場合にＣＭ＄１〜＄ｍおよびＢＢＵ２０２にブラックアウト信号を出力することができる。なお、実施の形態２にかかるＳＶＣ＃ｉのアンマウント通知処理手順については、図１０に示したＳＶＣ＃ｉのアンマウント通知処理手順と同様のため説明を省略する。
【０１５５】
（ＣＭ＄ｊの停電処理手順）
つぎに、実施の形態２にかかるＣＭ＄ｊの停電処理手順について説明する。ＣＭ＄ｊの停電処理は、例えば、ＣＭ＄ｊの電源が投入された場合、すなわち、ＰＳＵ２０１からＣＭ＄ｊへの電力の供給が開始された場合に実行が開始される。
【０１５６】
図１７は、実施の形態２にかかるＣＭ＄ｊの停電処理手順の一例を示すフローチャートである。図１７のフローチャートにおいて、まず、ＣＭ＄ｊは、ストレージシステム２００のシステム構成を判断する（ステップＳ１７０１）。
【０１５７】
つぎに、ＣＭ＄ｊは、ＢＢＵ出力開始時間テーブル５００を参照して、ＭＰ２０４上のＣＭ＄ｊの枚数に対応する遅延時間Ｄを特定する（ステップＳ１７０２）。そして、ＣＭ＄ｊは、特定した遅延時間Ｄを設定時間Ｔに設定する（ステップＳ１７０３）。
【０１５８】
つぎに、ＣＭ＄ｊは、ＳＶＣ＃ｉからブラックアウト信号を受け付けたか否かを判断する（ステップＳ１７０４）。ここで、ＣＭ＄ｊは、ＳＶＣ＃ｉからブラックアウト信号を受け付けるのを待つ（ステップＳ１７０４：Ｎｏ）。
【０１５９】
そして、ＳＶＣ＃ｉからブラックアウト信号を受け付けた場合（ステップＳ１７０４：Ｙｅｓ）、ＣＭ＄ｊは、ＳＶＣ＃ｉのアンマウント通知を他のＳＶＣ＃ｋから受信したか否かを判断する（ステップＳ１７０５）。ここで、ＳＶＣ＃ｉのアンマウント通知を受信した場合（ステップＳ１７０５：Ｙｅｓ）、ＣＭ＄ｊは、ステップＳ１７０４に戻る。
【０１６０】
一方、ＳＶＣ＃ｉのアンマウント通知を受信していない場合（ステップＳ１７０５：Ｎｏ）、ＣＭ＄ｊは、ＳＶＣ＃ｉからブラックアウト信号を受け付けてから設定時間Ｔが経過したか否かを判断する（ステップＳ１７０６）。
【０１６１】
ここで、設定時間Ｔが経過していない場合（ステップＳ１７０６：Ｎｏ）、ＣＭ＄ｊは、ステップＳ１７０５に戻る。一方、設定時間Ｔが経過した場合（ステップＳ１７０６：Ｙｅｓ）、ＣＭ＄ｊは、ストレージシステム２００内のすべてのＳＶＣ＃１〜＃ｎからブラックアウト信号を受け付けたか否かを判断する（ステップＳ１７０７）。
【０１６２】
ここで、すべてのＳＶＣ＃１〜＃ｎからブラックアウト信号を受け付けた場合（ステップＳ１７０７：Ｙｅｓ）、ＣＭ＄ｊは、ステップＳ１７０９に移行する。一方、すべてのＳＶＣ＃１〜＃ｎからブラックアウト信号を受け付けていない場合（ステップＳ１７０７：Ｎｏ）、ＣＭ＄ｊは、ブラックアウト信号を非通知のＳＶＣと通信可能か否かを判断する（ステップＳ１７０８）。
【０１６３】
ここで、ブラックアウト信号を非通知のＳＶＣと通信可能な場合（ステップＳ１７０８：Ｙｅｓ）、ＣＭ＄ｊは、ステップＳ１７０４に戻る。一方、ブラックアウト信号を非通知のＳＶＣと通信不能な場合（ステップＳ１７０８：Ｎｏ）、ＣＭ＄ｊは、停電処理を実行して（ステップＳ１７０９）、本フローチャートによる一連の処理を終了する。
【０１６４】
これにより、故障等により通信不能なＳＶＣを除くすべてのＳＶＣ＃１〜＃ｎからブラックアウト信号を受け付けた場合に停電処理を実行することができる。なお、ＢＢＵ２０２の停電処理手順については、図１７に示したＣＭ＄ｊの停電処理手順と同様のため図示および説明を省略する。
【０１６５】
以上説明したように、実施の形態２にかかるＣＭ＄ｊによれば、ＳＶＣ＃ｉからブラックアウト信号を受け付けた場合に、設定時間Ｔの経過後に、所定の停電処理を実行することができる。これにより、ＳＶＣ＃ｉのコネクタ半抜け時に、所定の停電処理を実行する前に設定時間Ｔ分、ＳＶＣ＃ｉのアンマウント通知を待つことができ、ＳＶＣ＃ｉの保守点検時等における無駄な停電処理の実行を防ぐことができる。
【０１６６】
また、実施の形態２にかかるＢＢＵ２０２によれば、ＳＶＣ＃ｉからブラックアウト信号を受け付けた場合に、設定時間Ｔの経過後に、所定の停電処理を実行することができる。これにより、ＳＶＣ＃ｉのコネクタ半抜け時に、所定の停電処理を実行する前に設定時間Ｔ分、ＳＶＣ＃ｉのアンマウント通知を待つことができ、ＳＶＣ＃ｉの保守点検時等における無駄な停電処理の実行を防ぐことができる。
【０１６７】
また、ＣＭ＄ｊおよびＢＢＵ２０２によれば、ＢＢＵ出力開始時間テーブル５００を参照して、ＭＰ２０４上に搭載されているＣＭ＄ｊの枚数に対応する遅延時間Ｄを特定し、特定した遅延時間Ｄを設定時間Ｔに設定することができる。これにより、ＭＰ２０４上のＣＭ＄ｊの枚数に応じて停電処理を実行するまでの設定時間Ｔを設定することができる。
【０１６８】
（実施の形態３）
つぎに、実施の形態３にかかるストレージシステム２００について説明する。実施の形態３では、ＣＭ＄ｊやＢＢＵ２０２が、ＰＳＵ２０１の出力電圧の時間的変化からＰＳＵ２０１が停電状態となったか否かを判断する場合について説明する。なお、実施の形態１，２で説明した箇所と同一箇所については説明を省略する。
【０１６９】
（電圧降下テーブル１８００の記憶内容）
まず、ＣＭ＄ｊやＢＢＵ２０２が用いる電圧降下テーブル１８００の記憶内容について説明する。電圧降下テーブル１８００は、例えば、図４に示したＣＭ＄ｊやＢＢＵ２０２のメモリ４０２に記憶されている。
【０１７０】
図１８は、電圧降下テーブル１８００の記憶内容の一例を示す説明図である。図１８において、電圧降下テーブル１８００は、時刻、電圧および電圧降下のフィールドを有する。各フィールドに情報を設定することにより、電圧降下情報（例えば、電圧降下情報１８００−１〜１８００−４）がレコードとして記憶される。
【０１７１】
ここで、時刻は、ＰＳＵ２０１から出力される電圧を検出した時刻である。電圧は、ＰＳＵ２０１から出力された電圧である。電圧降下は、前回の時刻から今回の時刻までの間に低下したＰＳＵ２０１の電圧である。
【０１７２】
例えば、電圧降下情報１８００−１は、時刻ｔ１に検出されたＰＳＵ２０１の電圧Ｖ１を示している。なお、時刻ｔ１は、初回のため電圧降下は「−（ｎｕｌｌ）」である。例えば、電圧降下情報１８００−２は、時刻ｔ２に検出されたＰＳＵ２０１の電圧Ｖ２および電圧降下ΔＶ１（＝Ｖ１−Ｖ２）を示している。
【０１７３】
（判定テーブル１９００の記憶内容）
つぎに、ＣＭ＄ｊやＢＢＵ２０２が用いる判定テーブル１９００の記憶内容について説明する。判定テーブル１９００は、例えば、図４に示したＣＭ＄ｊやＢＢＵ２０２のメモリ４０２に記憶されている。
【０１７４】
図１９は、判定テーブル１９００の記憶内容の一例を示す説明図である。図１９において、判定テーブル１９００は、搭載枚数、ΔｔおよびΔＶthのフィールドを有する。各フィールドに情報を設定することにより、判定情報１９００−１〜１９００−３がレコードとして記憶されている。
【０１７５】
ここで、搭載枚数は、ストレージシステム２００に搭載されているＣＭ＄ｊの枚数を表している。Δｔは、ＰＳＵ２０１から出力される電圧を検出する時間間隔を表す単位時間である。ΔＶthは、ＰＳＵ２０１から出力される電圧の単位時間Δｔ当たりの電圧降下閾値である。例えば、判定情報１９００−１は、ＣＭ＄ｊの枚数が２枚の場合の単位時間Δｔ「２０ｍｓ」および電圧降下閾値ΔＶth「１Ｖ」を示している。
【０１７６】
（ＰＳＵ２０１の停電状態の判断例）
つぎに、ＣＭ＄ｊがＰＳＵ２０１の停電状態を判断する判断例について説明する。
【０１７７】
図２０は、ＰＳＵ２０１の出力電圧の時間的変化の一例を示す説明図である。図２０において、ＰＳＵ２０１の出力電圧の時間的変化を示すグラフ２００１が表示されている。ＣＭ＄ｊは、例えば、定期的にＰＳＵ２０１から出力される電源を検出し、ＰＳＵ２０１の出力電圧の時間的変化からＰＳＵ２０１の停電状態を判断する。
【０１７８】
具体的には、例えば、まず、ＣＭ＄ｊは、単位時間ΔｔごとにＰＳＵ２０１から出力される電圧を検出する。単位時間Δｔは、例えば、図１９に示した判定テーブル１９００から特定することができる。検出された電圧は、例えば、図１８に示した電圧降下テーブル１８００に記憶される。
【０１７９】
つぎに、ＣＭ＄ｊは、単位時間Δｔの間に低下したＰＳＵ２０１の電圧降下ΔＶを算出する。算出された電圧降下ΔＶは、例えば、電圧降下テーブル１８００に記憶される。そして、ＣＭ＄ｊは、単位時間Δｔ当たりの電圧降下ΔＶが連続して電圧降下閾値ΔＶth以上となって、ＰＳＵ２０１から出力される電圧が＋１２Ｖから電圧閾値Ｖthとなった場合に、ＰＳＵ２０１が停電状態となったと判断する。
【０１８０】
電圧閾値Ｖthは、例えば、ＣＭ＄ｊおよびＢＢＵ２０２の最低動作電圧に応じて設定される。例えば、ＣＭ＄ｊおよびＢＢＵ２０２の最低動作電圧を「８Ｖ」とすると、電圧閾値Ｖthは９Ｖ程度に設定される。
【０１８１】
これにより、ＣＭ＄ｊは、ＰＳＵ２０１から出力される電圧が急激に低下した場合に、ＰＳＵ２０１から出力される電圧がＣＭ＄ｊおよびＢＢＵ２０２の最低動作電圧を下回る前に、ＰＳＵ２０１が停電状態となったと判断することができる。
【０１８２】
（ＣＭ＄ｊの機能的構成例）
図２１は、実施の形態３にかかるＣＭ＄ｊの機能的構成例を示すブロック図である。図２１において、ＣＭ＄ｊは、受付部７０１と、判断部２１０１と、処理部２１０２と、を含む構成である。各機能部は、具体的には、例えば、ＣＭ＄ｊのメモリ４０２に記憶されたプログラムをＣＰＵ４０１に実行させることにより、または、Ｉ／Ｆ４０３により、その機能を実現する。また、各機能部の処理結果は、例えば、メモリ４０２に記憶される。
【０１８３】
以下、実施の形態１にかかるＣＭ＄ｊの機能部とは異なる機能部について説明する。
【０１８４】
判断部２１０１は、ＰＳＵ２０１から出力される電圧の時間的変化に基づいて、ＰＳＵ２０１が停電状態となったか否かを判断する機能を有する。具体的には、例えば、まず、判断部２１０１が、図１９に示した判定テーブル１９００を参照して、ＭＰ２０４上に搭載されているＣＭ＄ｊの枚数に対応する単位時間Δｔおよび電圧降下閾値ΔＶthを特定する。
【０１８５】
そして、判断部２１０１が、単位時間ΔｔごとにＰＳＵ２０１から出力される電圧を検出する。なお、ＰＳＵ２０１から出力される電圧の電圧値は、例えば、ＣＭ＄ｊ内のＤＣ／ＤＣコンバータの機能により検出することができる。つぎに、判断部２１０１が、単位時間Δｔの間に低下したＰＳＵ２０１の電圧降下ΔＶを算出する。検出された電圧および算出された電圧降下ΔＶは、例えば、電圧降下テーブル１８００に記憶される。
【０１８６】
そして、判断部２１０１が、単位時間Δｔ当たりの電圧降下ΔＶが連続して電圧降下閾値ΔＶth以上となって、ＰＳＵ２０１から出力される電圧が＋１２Ｖから電圧閾値Ｖthとなった場合に、ＰＳＵ２０１が停電状態となったと判断する。なお、判断部２１０１は、ＰＳＵ２０１から出力される電圧が電圧閾値Ｖth以下となった後、ＰＳＵ２０１から出力される電圧が再度電圧閾値Ｖthより大きくなった場合は、ＰＳＵ２０１が停電状態から復帰したと判断することにしてもよい。
【０１８７】
処理部２１０２は、ＳＶＣ＃ｉからブラックアウト信号を受け付け、かつ、判断部２１０１によってＰＳＵ２０１が停電状態となったと判断された場合、所定の停電処理を実行する機能を有する。すなわち、処理部２１０２は、ＳＶＣ＃ｉからブラックアウト信号を受け付けても、ＰＳＵ２０１が停電状態となったと判断されなかった場合は停電処理を実行しない。これにより、ＳＶＣ＃ｉのコネクタ半抜け時に誤って停電処理が実行されることを防ぐことができる。
【０１８８】
また、ＣＭ＄ｊは、ＳＶＣ＃ｉからブラックアウト信号を受け付け、かつ、ＰＳＵ２０１が停電状態となったと判断した場合に、ＰＳＵ２０１が停電状態となったことをＢＢＵ２０２に通知することにしてもよい。この場合、ＢＢＵ２０２は、ＰＳＵ２０１が停電状態となったことがＣＭ＄ｊから通知された場合に、＋１２Ｖ＿ＢＡＴの電源を出力する停電処理の実行を開始することにしてもよい。
【０１８９】
なお、ＢＢＵ２０２についても、上述したＣＭ＄ｊと同様の機能的構成を適用することにしてもよい。また、ＳＶＣ＃ｉの機能的構成については、実施の形態１または２にかかるＳＶＣ＃ｉと同様のため、ここでは図示および説明を省略する。
【０１９０】
（ＣＭ＄ｊの各種処理手順）
つぎに、実施の形態３にかかるＣＭ＄ｊの各種処理手順について説明する。ＣＭ＄ｊの各種処理は、例えば、ＣＭ＄ｊの電源が投入された場合、すなわち、ＰＳＵ２０１からＣＭ＄ｊへの電力の供給が開始された場合に実行が開始される。まず、実施の形態３にかかるＣＭ＄ｊの判断処理手順について説明する。
【０１９１】
図２２は、実施の形態３にかかるＣＭ＄ｊの判断処理手順の一例を示すフローチャートである。図２２のフローチャートにおいて、まず、ＣＭ＄ｊは、ストレージシステム２００のシステム構成を判断する（ステップＳ２２０１）。
【０１９２】
つぎに、ＣＭ＄ｊは、判定テーブル１９００を参照して、ＭＰ２０４上に搭載されているＣＭ＄ｊの枚数に対応する単位時間Δｔおよび電圧降下閾値ΔＶthを特定する（ステップＳ２２０２）。そして、ＣＭ＄ｊは、特定した単位時間Δｔが経過したか否かを判断する（ステップＳ２２０３）。
【０１９３】
ここで、ＣＭ＄ｊは、単位時間Δｔが経過するのを待つ（ステップＳ２２０３：Ｎｏ）。そして、単位時間Δｔが経過した場合（ステップＳ２２０３：Ｙｅｓ）、ＣＭ＄ｊは、ＰＳＵ２０１から出力される電圧を検出する（ステップＳ２２０４）。つぎに、ＣＭ＄ｊは、単位時間Δｔの間に低下したＰＳＵ２０１の電圧降下ΔＶを算出する（ステップＳ２２０５）。
【０１９４】
そして、ＣＭ＄ｊは、電圧降下テーブル１８００を参照して、ＰＳＵ２０１が停電状態となったか否かを判断する（ステップＳ２２０６）。ここで、ＰＳＵ２０１が停電状態ではない場合（ステップＳ２２０６：Ｎｏ）、ＣＭ＄ｊは、ステップＳ２２０３に戻る。
【０１９５】
一方、ＰＳＵ２０１が停電状態となった場合（ステップＳ２２０６：Ｙｅｓ）、ＣＭ＄ｊは、ＰＳＵ２０１が停電状態となったと判断した判断結果をメモリ４０２に保持して（ステップＳ２２０７）、本フローチャートによる一連の処理を終了する。
【０１９６】
これにより、ＰＳＵ２０１から出力される電圧の時間的変化に基づいて、ＰＳＵ２０１が停電状態となったか否かを判断することができる。
【０１９７】
つぎに、実施の形態３にかかるＣＭ＄ｊの停電処理手順について説明する。
【０１９８】
図２３は、実施の形態３にかかるＣＭ＄ｊの停電処理手順の一例を示すフローチャートである。図２３のフローチャートにおいて、まず、ＣＭ＄ｊは、ＳＶＣ＃ｉからブラックアウト信号を受け付けたか否かを判断する（ステップＳ２３０１）。ここで、ＣＭ＄ｊは、ＳＶＣ＃ｉからブラックアウト信号を受け付けるのを待つ（ステップＳ２３０１：Ｎｏ）。
【０１９９】
そして、ＳＶＣ＃ｉからブラックアウト信号を受け付けた場合（ステップＳ２３０１：Ｙｅｓ）、ＣＭ＄ｊは、ＰＳＵ２０１が停電状態となったか否かを判断する（ステップＳ２３０２）。具体的には、例えば、ＣＭ＄ｊは、ＰＳＵ２０１が停電状態となったと判断した判断結果がメモリ４０２に保持されている場合に、ＰＳＵ２０１が停電状態となったと判断する。
【０２００】
ここで、ＰＳＵ２０１が停電状態ではない場合（ステップＳ２３０２：Ｎｏ）、ＣＭ＄ｊは、ステップＳ２３０１に戻る。一方、ＰＳＵ２０１が停電状態となった場合（ステップＳ２３０２：Ｙｅｓ）、ＣＭ＄ｊは、停電処理を実行して（ステップＳ２３０３）、本フローチャートによる一連の処理を終了する。
【０２０１】
これにより、ＳＶＣ＃ｉからブラックアウト信号を受け付け、かつ、ＰＳＵ２０１が停電状態であると判断した場合に停電処理を実行することができる。なお、実施の形態３にかかるＢＢＵ２０２の停電処理手順については、上述したＣＭ＄ｊの停電処理手順と同様のため図示および説明を省略する。
【０２０２】
以上説明したように、実施の形態３にかかるＣＭ＄ｊによれば、ＰＳＵ２０１から出力される電圧の時間的変化に基づいて、ＰＳＵ２０１が停電状態となったか否かを判断することができる。また、ＣＭ＄ｊによれば、ＳＶＣ＃ｉからブラックアウト信号を受け付けた際に、ＰＳＵ２０１が停電状態となったと判断している場合に、所定の停電処理を実行することができる。
【０２０３】
これにより、ＳＶＣ＃ｉからブラックアウト信号を受け付け、かつ、ＰＳＵ２０１から出力される電圧の時間的変化から停電状態と判断できる場合に停電処理を実行することになり、ＳＶＣ＃ｉの保守点検時等における無駄な停電処理の実行を防ぐことができる。
【０２０４】
また、実施の形態３にかかるＢＢＵ２０２によれば、ＰＳＵ２０１から出力される電圧の時間的変化に基づいて、ＰＳＵ２０１が停電状態となったか否かを判断することができる。また、ＢＢＵ２０２によれば、ＳＶＣ＃ｉからブラックアウト信号を受け付けた際に、ＰＳＵ２０１が停電状態となったと判断している場合に、所定の停電処理を実行することができる。
【０２０５】
これにより、ＳＶＣ＃ｉからブラックアウト信号を受け付け、かつ、ＰＳＵ２０１から出力される電圧の時間的変化から停電状態と判断できる場合に停電処理を実行することになり、ＳＶＣ＃ｉの保守点検時等における無駄な停電処理の実行を防ぐことができる。
【０２０６】
なお、例えば、ストレージシステム２００内のＣＭ＄１〜＄ｍの負荷が大きくなると、ＰＳＵ２０１の出力電圧が低下することがあり、実際は停電していないにもかかわらずＰＳＵ２０１が停電状態であるとＣＭ＄ｊが判断してしまう場合がある。
【０２０７】
そこで、実施の形態３にかかるＣＭ＄ｊの停電処理手順と、実施の形態１にかかるＣＭ＄ｊの停電処理手順とを組み合わせることにしてもよい。具体的には、例えば、図１１に示したＣＭ＄ｊの停電処理手順において、（ステップＳ１１０４：Ｙｅｓ）または（ステップＳ１１０５：Ｎｏ）の処理の後に、ＰＳＵ２０１が停電状態となったか否かを判断することにしてもよい。なお、ＳＶＣ＃ｉの停電処理手順については、図９に示したＳＶＣ＃ｉの停電処理手順と同様である。
【０２０８】
また、実施の形態３にかかるＣＭ＄ｊの停電処理手順と、実施の形態２にかかるＣＭ＄ｊの停電処理手順とを組み合わせることにしてもよい。具体的には、例えば、図１７に示したＣＭ＄ｊの停電処理手順において、（ステップＳ１７０７：Ｙｅｓ）または（ステップＳ１７０８：Ｎｏ）の処理の後に、ＰＳＵ２０１が停電状態となったか否かを判断することにしてもよい。なお、ＳＶＣ＃ｉの停電処理手順については、図１６に示したＳＶＣ＃ｉの停電処理手順と同様である。
【０２０９】
なお、本実施の形態で説明した制御方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本制御プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本制御プログラムは、インターネット等のネットワークを介して配布してもよい。
【０２１０】
また、本実施の形態で説明したＳＶＣ＃ｉおよびＣＭ＄ｊは、スタンダードセルやストラクチャードＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などの特定用途向けＩＣ（以下、単に「ＡＳＩＣ」と称す。）やＦＰＧＡなどのＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）によっても実現することができる。具体的には、例えば、上述したＳＶＣ＃ｉやＣＭ＄ｊの機能部をＨＤＬ記述によって機能定義し、そのＨＤＬ記述を論理合成してＡＳＩＣやＰＬＤに与えることにより、ＳＶＣ＃ｉやＣＭ＄ｊを製造することができる。
【０２１１】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０２１２】
（付記１）基板上に挿抜可能に搭載される制御装置であって、
前記基板上の電源装置と結線され前記電源装置の停電状態を検出する信号線の電気的な接続の切断を検出する停電検出部と、
前記停電検出部によって前記信号線の電気的な接続の切断が検出された場合、前記信号線の電気的な接続の切断が検出されてから一定時間経過後に、所定の停電処理を実行する前記基板上の制御対象装置に停電信号を出力する出力部と、
を有することを特徴とする制御装置。
【０２１３】
（付記２）前記基板上の他の制御装置と結線され前記他の制御装置を認識する信号線の電気的な接続の切断を検出する挿抜検出部と、
前記挿抜検出部によって前記信号線の電気的な接続の切断が検出された場合、前記他の制御装置が認識されなくなったことを前記制御対象装置に通知する通知部と、
を有することを特徴とする付記１に記載の制御装置。
【０２１４】
（付記３）前記制御対象装置の装置数と前記停電信号を出力するまでの遅延時間とを対応付けて記憶する記憶部を参照して、前記基板上に搭載されている前記制御対象装置の装置数に対応する遅延時間を特定する特定部と、
前記特定部によって特定された前記遅延時間を前記一定時間に設定する設定部と、
を有することを特徴とする付記１または２に記載の制御装置。
【０２１５】
（付記４）基板上に挿抜可能に搭載される制御装置が、
前記基板上の電源装置と結線され前記電源装置の停電状態を検出する信号線の電気的な接続の切断を検出し、
前記信号線の電気的な接続の切断を検出した場合、前記信号線の電気的な接続の切断を検出してから一定時間経過後に、所定の停電処理を実行する前記基板上の制御対象装置に停電信号を出力する、
処理を実行することを特徴とする制御方法。
【０２１６】
（付記５）基板上に挿抜可能に搭載される制御装置と、前記制御装置から停電信号を受け付けた場合に所定の停電処理を実行する前記基板上の制御対象装置と、前記制御装置および前記制御対象装置に電力を供給する前記基板上の電源装置と、を含み、
前記制御装置は、
前記電源装置と結線され前記電源装置の停電状態を検出する信号線の電気的な接続が切断された場合、前記信号線の電気的な接続が切断されてから一定時間経過後に、前記制御対象装置に前記停電信号を出力することを特徴とするシステム。
【０２１７】
（付記６）前記制御対象装置は、
前記電源装置から出力される電圧の時間的変化に基づいて、前記電源装置が停電状態となったか否かを判断し、前記制御装置から前記停電信号を受け付け、かつ、前記電源装置が停電状態であると判断した場合に、前記停電処理を実行することを特徴とする付記５に記載のシステム。
【０２１８】
（付記７）基板上に挿抜可能に搭載される制御装置と通信可能な停電処理装置であって、
前記基板上の電源装置と前記制御装置とを接続する前記電源装置の停電状態を検出する信号線の電気的な接続が切断された場合に前記制御装置から停電信号を受け付ける受付部と、
前記受付部によって前記制御装置から前記停電信号を受け付けた場合、前記停電信号を受け付けてから一定時間経過後に、所定の停電処理を実行する処理部と、
を有することを特徴とする停電処理装置。
【０２１９】
（付記８）基板上に挿抜可能に搭載される制御装置と通信可能な停電処理装置が、
前記基板上の電源装置と前記制御装置とを接続する前記電源装置の停電状態を検出する信号線の電気的な接続が切断された場合に前記制御装置から停電信号を受け付け、
前記制御装置から前記停電信号を受け付けた場合、前記停電信号を受け付けてから一定時間経過後に、所定の停電処理を実行する、
処理を実行することを特徴とする停電処理方法。
【符号の説明】
【０２２０】
１０１  制御装置
１０２  制御対象装置
１０３  電源装置
２００  ストレージシステム
２０１  ＰＳＵ
２０２  ＢＢＵ
２０３  ディスク
２０４  ＭＰ
６０１  第１の検出部
６０２，１４０１  出力部
６０３，１５０１  特定部
６０４，１５０２  設定部
６０５  第２の検出部
６０６  通知部
７０１  受付部
７０２，１５０３，２１０２  処理部
２１０１  判断部
＃ｉ  ＳＶＣ
＄ｊ  ＣＭ
【図１】
2014033488.tif 000003
【図２】
2014033488.tif 000004
【図３】
2014033488.tif 000005
【図４】
2014033488.tif 000006
【図５】
2014033488.tif 000007
【図６】
2014033488.tif 000008
【図７】
2014033488.tif 000009
【図８】
2014033488.tif 000010
【図９】
2014033488.tif 000011
【図１０】
2014033488.tif 000012
【図１１】
2014033488.tif 000013
【図１２】
2014033488.tif 000014
【図１３】
2014033488.tif 000015
【図１４】
2014033488.tif 000016
【図１５】
2014033488.tif 000017
【図１６】
2014033488.tif 000018
【図１７】
2014033488.tif 000019
【図１８】
2014033488.tif 000020
【図１９】
2014033488.tif 000021
【図２０】
2014033488.tif 000022
【図２１】
2014033488.tif 000023
【図２２】
2014033488.tif 000024
【図２３】
2014033488.tif 000025