(57)【要約】  ストレージ装置の制御部の電源の状態における不整合の発生を抑制する。  ストレージ装置（１）は、制御部（１ａ）および制御部（１ｂ）を有する。制御部（１ａ）は、制御部（１ａ）の電源の状態と制御部（１ｂ）の電源の状態とを監視する。制御部（１ａ）は、監視の結果、制御部（１ａ）の電源の状態がＯＮであると共に制御部（１ｂ）の電源の状態がＯＦＦからＯＮに移行するＯＮ処理を実行中である場合には、制御部（１ａ）の電源の状態を制御する電源操作信号を検出したときに、制御部（１ａ）の電源の状態を維持する。
2012035630.tif 000002
【特許請求の範囲】
【請求項１】
第１の制御部と第２の制御部とを有するストレージ装置において、
前記第１の制御部は、前記第１の制御部の電源の状態と前記第２の制御部の電源の状態とを監視し、前記第１の制御部の電源の状態がＯＮであると共に前記第２の制御部の電源の状態がＯＦＦからＯＮに移行するＯＮ処理を実行中である場合には、前記第１の制御部の電源の状態を制御する電源操作信号を検出したときに、前記第１の制御部の電源の状態を維持する、
ことを特徴とするストレージ装置。
【請求項２】
前記第１の制御部は、前記第１の制御部の電源の状態と前記第２の制御部の電源の状態とを監視し、前記第１の制御部の電源の状態がＯＦＦであると共に前記第２の制御部の電源の状態がＯＮからＯＦＦに移行するＯＦＦ処理を実行中である場合には、前記第１の制御部の電源の状態を制御する電源操作信号を検出したときに、前記第１の制御部の電源の状態を維持する、
ことを特徴とする請求の範囲第１項記載のストレージ装置。
【請求項３】
前記第１の制御部は、前記第１の制御部の電源の状態がＯＮである場合に動作して前記第１の制御部の電源の状態と前記第２の制御部の電源の状態とを監視し、監視結果に基づいて前記第１の制御部の電源の状態を制御すると共に前記第２の制御部の電源の状態を制御する指示を前記第２の制御部に送信する第１の演算部と、
前記第１の制御部が動作していない場合に前記第１の制御部と前記第２の制御部の電源の状態とを監視し、監視結果に基づいて前記第１の制御部の電源の状態を制御すると共に前記第２の制御部の電源の状態を制御する指示を前記第２の制御部に送信する第１の監視部と、
を有することを特徴とする請求の範囲第１項記載のストレージ装置。
【請求項４】
前記第１の制御部は、前記第２の制御部について異常の発生を検出した場合には、前記第２の制御部に対して前記第２の制御部の電源の状態をＯＦＦにすると共に電源の状態をＯＮにすることを禁止する切り離しＯＦＦ指示を送信し、
前記第２の制御部は、前記第１の制御部から送信された切り離しＯＦＦ指示を受信した場合には、前記第２の制御部の電源の状態をＯＦＦに移行する、
ことを特徴とする請求の範囲第１項記載のストレージ装置。
【請求項５】
前記第２の制御部は、前記第１の制御部から送信された切り離しＯＦＦ指示を受信した場合には、前記第２の制御部の電源の状態をＯＦＦに移行すると共に、前記第２の制御部の電源の状態を制御する電源操作信号を検出したときに、前記第２の制御部の電源の状態をＯＮに移行しない、
ことを特徴とする請求の範囲第４項記載のストレージ装置。
【請求項６】
前記第１の制御部は、前記電源操作信号に基づいて前記第１の制御部と前記第２の制御部とで電源の状態がＯＮからＯＦＦに移行するＯＦＦ処理を実行した場合において、前記第１の制御部の電源の状態がＯＦＦに移行してから所定時間経過時に前記第２の制御部の電源の状態が前記ＯＦＦ処理が完了していないときに前記第２の制御部に異常が発生していると判定することによって前記第２の制御部における異常の発生を検出する、
ことを特徴とする請求の範囲第４項記載のストレージ装置。
【請求項７】
前記第１の制御部は、前記電源操作信号に基づいて前記第１の制御部と前記第２の制御部とで電源の状態が前記ＯＮ処理を実行した場合において、前記第１の制御部の電源の状態がＯＮに移行してから所定時間経過時に前記第２の制御部の電源の状態が前記ＯＮ処理が完了していないときに前記第２の制御部に異常が発生していると判定することによって前記第２の制御部における異常の発生を検出する、
ことを特徴とする請求の範囲第４項記載のストレージ装置。
【請求項８】
前記第１の監視部は、前記第２の制御部が有する第２の監視部から送信された前記第２の制御部の電源の状態を示す通知を受信し、前記受信した前記第２の制御部の電源の状態を示す通知に基づいて前記第２の制御部の電源の状態を監視することを特徴とする請求の範囲第３項記載のストレージ装置。
【請求項９】
前記電源操作信号は、前記第１の制御部または前記第２の制御部に対してＯＦＦからＯＮに移行することを指示するＯＮ指示とＯＮからＯＦＦに移行することを指示するＯＦＦ指示とが同一の信号であることを特徴とする請求の範囲第１項記載のストレージ装置。
【請求項１０】
前記第１の制御部は、前記第１の制御部の電源の状態がＯＦＦからＯＮに移行するＯＮ処理を実行中である場合には、前記第１の制御部の電源の状態を制御する電源操作信号を検出したときに、前記第１の制御部の電源の状態を維持する、
ことを特徴とする請求の範囲第１項記載のストレージ装置。
【請求項１１】
前記第１の制御部は、前記第１の制御部の電源の状態がＯＮからＯＦＦに移行するＯＦＦ処理を実行中である場合には、前記第１の制御部の電源の状態を制御する電源操作信号を検出したときに、前記第１の制御部の電源の状態を維持する、
ことを特徴とする請求の範囲第１項記載のストレージ装置。
【請求項１２】
操作を受け付け、前記受け付けた操作に基づいて電源操作信号を出力する操作部を有し、
前記第１の制御部は、前記操作部から出力される電源操作信号を検出する、
ことを特徴とする請求の範囲第１項記載のストレージ装置。
【請求項１３】
前記第１の制御部は、上位装置から出力される電源操作信号を検出する、
ことを特徴とする請求の範囲第１項記載のストレージ装置。
【請求項１４】
他の制御部と共にストレージ装置を制御する制御部において、
自己の電源の状態と前記他の制御部の電源の状態とを監視し、前記自己の電源の状態がＯＮであると共に前記他の制御部の電源の状態がＯＦＦからＯＮに移行するＯＮ処理を実行中である場合には、前記自己の電源の状態を制御する電源操作信号を検出したときに、前記自己の電源の状態を維持する、
ことを特徴とする制御部。
【請求項１５】
第１の制御部と第２の制御部とでストレージ装置を制御するストレージ装置制御方法において、
前記第１の制御部の電源の状態と前記第２の制御部の電源の状態とを監視し、
前記第１の制御部の電源の状態がＯＮであると共に前記第２の制御部の電源の状態がＯＦＦからＯＮに移行するＯＮ処理を実行中である場合には、前記第１の制御部の電源の状態を制御する電源操作信号を検出したときに、前記第１の制御部の電源の状態を維持する、
ことを特徴とするストレージ装置制御方法。
【請求項１６】
前記第１の制御部の電源の状態と前記第２の制御部の電源の状態とを監視する際、前記第１の制御部と前記第２の制御部とは、それぞれに互いに電源の状態を監視することを特徴とする請求の範囲第１５項記載のストレージ装置制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、ストレージ装置、制御部およびストレージ装置制御方法に関する。
【背景技術】
【０００２】
磁気ディスク、光磁気ディスク、光ディスク等の記憶媒体を利用したストレージ装置では、記憶容量の大容量化が進められている。ストレージ装置の記憶容量の大容量化に関して、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）という記憶媒体を多重化してストレージ装置を構成する技術が広く用いられている。【０００３】
ストレージ装置において、冗長性により信頼性を高めるためや、機能分散による処理の高速化を図るために、ストレージ装置全体を制御する制御部（controller module）を多重化する場合がある。このとき、ストレージ装置においては、多重化した各制御部の電源についてＯＮ／ＯＦＦを制御する電源制御が行われる。【０００４】
複数の装置間の電源制御に関して、以下の技術が知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平４−２６５６２４号公報
【特許文献２】特開２００３−３６６６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、ストレージ装置の各制御部は、冗長性や機能分散を維持するために、一方の電源の状態が給電されていると共に正常に動作しているＯＮの場合には他系もＯＮであり、一方がＯＦＦである場合には他系もＯＦＦであるというように、電源の状態において整合性が維持されている必要がある。【０００７】
しかし、例えば各制御部に対して電源のＯＮまたは電源のＯＦＦを指示する電源操作が共通である場合等に、ストレージ装置の各制御部の電源の状態に不整合が発生し、かつ、この不整合の解消が困難になる場合が起こり得る。【０００８】
すなわち、制御部が多重化されたストレージ装置では、各制御部が独立して動作している場合がある。このような場合において、例えば、ストレージ装置の電源をＯＮ状態からＯＦＦ状態に移行する際の各制御部の電源のＯＦＦ処理において、制御部によりストレージに書き込み中でありキャッシュメモリに記憶されているデータの書き込みが完了してから制御部の電源をＯＦＦにするものとする。このとき、各制御部においてキャッシュメモリに記憶されている書き込み中のデータの量が異なることにより、書き込みが完了するまでに要する時間が異なる可能性がある。これにより、各制御部の電源の状態が不整合となる場合が発生し得る。この各制御部の電源の状態の不整合の発生について、以下に図１３に従って具体的に説明する。【０００９】
図１３は、電源操作による各制御部の電源の状態における不整合の発生の例を示す図である。図１３に示すように、ストレージ装置の制御部２１０ａ（ＣＭ＃１０），２１０ｂ（ＣＭ＃１１）に対して、ユーザによりオペレーションパネル２５０を用いた電源操作が行われた場合において、制御部２１０ａ，２１０ｂの電源の状態に不整合が生じたとき（例えば、制御部２１０ａの電源の状態がＯＮであり、制御部２１０ｂの電源の状態がＯＦＦであるとき等）に、制御部２１０ａ，２１０ｂにおけるそれぞれの電源操作の認識が一致しない状態が発生する場合がある。これに基づいて、制御部２１０ａ，２１０ｂのそれぞれの電源の状態が異なり、ストレージ装置が正常に機能しない場合が生じ得るという問題点がある。【００１０】
具体的には、図１３に示すように、制御部２１０ａ，２１０ｂは、当初、電源の状態がＯＮであるものとする。このとき、図１３における（ｏ）に示すように、ストレージ装置の動作を終了するために、ユーザによってオペレーションパネル２５０により１回目の電源操作が行われたものとする。この（ｏ）における電源操作は、電源の状態がＯＮである制御部２１０ａ，２１０ｂのそれぞれにおいて、自己に対して電源をＯＦＦにすることを指示するＯＦＦ指示と認識され、制御部２１０ａ，２１０ｂのそれぞれにおいて、自己の電源をＯＦＦにするＯＦＦ処理が開始される。次に、図１３における（ｐ）に示すように、制御部２１０ｂにおいてＯＦＦ処理が完了し、制御部２１０ｂの電源の状態がＯＦＦになったものとする。また、この時点では、制御部２１０ａにおいてＯＦＦ処理が遅延し、制御部２１０ａの電源の状態はＯＦＦ処理中であるものとする。【００１１】
ここで、図１３における（ｑ）に示すように、制御部２１０ａの遅延しているＯＦＦ処理中に、ストレージ装置を起動するために、ユーザによって２回目の電源操作が行われたものとする。この（ｑ）における電源操作は、ＯＦＦ処理中である制御部２１０ａではＯＦＦ指示と認識され、制御部２１０ａはそのままＯＦＦ処理を継続する。一方、電源の状態がＯＦＦである制御部２１０ｂでは、自己に対して電源をＯＮにすることを指示するＯＮ指示と認識され、制御部２１０ｂは自己の電源をＯＮにするＯＮ処理を開始する。このように、（ｑ）の時点で制御部２１０ａ，２１０ｂの電源の状態が一致しないことから、（ｑ）の電源操作の認識が制御部２１０ａ，２１０ｂにおいて一致せず、制御部２１０ａ，２１０ｂの状態の不整合が発生することになる。【００１２】
次に、図１３における（ｒ）に示すように、（ｑ）の電源操作に基づく制御部２１０ｂのＯＮ処理が完了したものとする。これにより、制御部２１０ｂの電源の状態がＯＮになる。次に、図１３における（ｓ）に示すように、（ｏ）の電源操作に基づく制御部２１０ａのＯＦＦ処理が完了したものとする。これにより、制御部２１０ａの電源の状態がＯＦＦになる。すなわち、ユーザが（ｑ）においてストレージ装置を起動しようと電源操作を行ったにも関わらず、制御部２１０ｂの電源の状態がＯＮであって起動している一方、制御部２１０ａの電源の状態がＯＦＦであって起動しないという異常事態が発生することになる。【００１３】
次に、図１３における（ｔ）に示すように、制御部２１０ａ，２１０ｂの電源の状態の不整合を解消して共にＯＮにするために、ユーザによって３回目の電源操作が行われたものとする。この（ｔ）における電源操作は、電源の状態がＯＦＦである制御部２１０ａでは、ＯＮ指示と認識され、制御部２１０ａはＯＮ処理を開始する。一方、電源の状態がＯＮである制御部２１０ｂでは、ＯＦＦ指示と認識され、制御部２１０ｂはＯＦＦ処理を開始する。このように、（ｔ）の時点でも制御部２１０ａ，２１０ｂの電源の状態が一致しないことから、（ｔ）の電源操作の認識が制御部２１０ａ，２１０ｂにおいて一致せず、制御部２１０ａ，２１０ｂの状態の不整合が解消されずに継続することになる。【００１４】
次に、図１３における（ｕ）に示すように、（ｔ）の電源操作に基づく制御部２１０ｂのＯＦＦ処理が完了したものとする。これにより、制御部２１０ｂの電源の状態がＯＦＦになる。次に、図１３における（ｖ）に示すように、（ｔ）の電源操作に基づく制御部２１０ａのＯＮ処理が完了したものとする。これにより、制御部２１０ａの電源の状態がＯＮになる。すなわち、ユーザが（ｔ）においてストレージ装置を起動しようと電源操作を行ったにも関わらず、制御部２１０ｂの電源の状態がＯＦＦであって起動していない一方、制御部２１０ａの電源の状態がＯＮであって起動しているという異常事態が解消せずに継続することになる。【００１５】
本件はこのような点に鑑みてなされたものであり、ストレージ装置の制御部の電源の状態における不整合の発生を抑制することが可能なストレージ装置、制御部およびストレージ装置制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記目的を達成するために以下のようなストレージ装置が提供される。このストレージ装置は、第１の制御部と第２の制御部とを有する。このストレージ装置では、第１の制御部は、第１の制御部の電源の状態と第２の制御部の電源の状態とを監視し、第１の制御部の電源の状態がＯＮであると共に第２の制御部の電源の状態がＯＦＦからＯＮに移行するＯＮ処理を実行中である場合には、第１の制御部の電源の状態を制御する電源操作信号を検出したときに、第１の制御部の電源の状態を維持する。【００１７】
また、上記目的を達成するために以下のような制御部が提供される。この制御部は、他の制御部と共にストレージ装置を制御する。この制御部は、自己の電源の状態と他の制御部の電源の状態とを監視し、自己の電源の状態がＯＮであると共に他の制御部の電源の状態がＯＦＦからＯＮに移行するＯＮ処理を実行中である場合には、自己の電源の状態を制御する電源操作信号を検出したときに、自己の電源の状態を維持する。【００１８】
また、上記目的を達成するために以下のようなストレージ装置制御方法が提供される。このストレージ装置制御方法は、第１の制御部と第２の制御部とでストレージ装置を制御する。このストレージ装置制御方法は、第１の制御部の電源の状態と第２の制御部の電源の状態とを監視し、第１の制御部の電源の状態がＯＮであると共に第２の制御部の電源の状態がＯＦＦからＯＮに移行するＯＮ処理を実行中である場合には、第１の制御部の電源の状態を制御する電源操作信号を検出したときに、第１の制御部の電源の状態を維持する。
【発明の効果】
【００１９】
開示のストレージ装置、制御部およびストレージ装置制御方法によれば、ストレージ装置の制御部の電源の状態における不整合の発生を抑制することが可能となる。
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
【図面の簡単な説明】
【００２０】
【図１】第１の実施の形態のストレージ装置を示す図である。
【図２】第２の実施の形態のストレージ装置のハードウェア構成を示す図である。
【図３】第２の実施の形態のストレージ装置の機能を示すブロック図である。
【図４】第２の実施の形態の電源操作時の各制御部の状態と動作の関係を示す図である。
【図５】第２の実施の形態の電源操作時の各制御部の状態と動作の関係を示す図である。
【図６】第２の実施の形態の電源操作時の各制御部の状態と動作の関係を示す図である。
【図７】第２の実施の形態の各制御部のＯＦＦ時に電源操作がされた場合の動作を示す図である。
【図８】第２の実施の形態の各制御部のＯＮ時に電源操作がされた場合の動作を示す図である。
【図９】第２の実施の形態の電源操作による各制御部のＯＮ処理時における切り離しの動作を示す図である。
【図１０】第２の実施の形態の他系の状態を監視する動作を示すシーケンス図である。
【図１１】第２の実施の形態の他系の状態を監視する動作を示すシーケンス図である。
【図１２】第２の実施の形態の他系の状態を監視する動作を示すシーケンス図である。
【図１３】電源操作による各制御部の電源の状態における不整合の発生の例を示す図である。
【発明を実施するための形態】
【００２１】
以下、実施の形態を図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態のストレージ装置を示す図である。本実施の形態のストレージ装置１は、制御部１ａ，１ｂを有する。ストレージ装置１は、冗長化のために２重化された制御部１ａ，１ｂを有する。本実施の形態のストレージ装置１は、制御部１ａ，１ｂのいずれもが正常に動作している正常時には、制御部１ａ，１ｂが互いに独立して異なるデータについて読み書きを実行するが、これに限らず、制御部１ａ，１ｂが同一のデータについて並行して書き込みを実行してもよい。
【００２２】
制御部１ａは、ストレージ装置１におけるデータの読み書きの制御等、ストレージ装置１を制御する。また、制御部１ａは、制御部１ａの電源の状態および制御部１ｂの電源の状態を監視する。制御部１ａの電源の状態は、給電されていると共に正常に動作しているＯＮ、給電されておらず動作していないＯＦＦ、ＯＮからＯＦＦに移行するＯＦＦ処理を実行中であるＯＦＦ処理中、ＯＦＦからＯＮに移行するＯＮ処理を実行中であるＯＮ処理中の４つが存在する。制御部１ａは、制御部１ａの各時点の電源の状態を取得し、取得した電源の状態を示す電源状態情報を記憶する。制御部１ｂも同様に、電源状態情報を記憶する。制御部１ａ，１ｂは、互いの電源状態情報を取得することができ、これにより互いの電源の状態を取得することができる。
【００２３】
制御部１ａは、監視の結果、制御部１ａの電源の状態がＯＮであると共に制御部１ｂの電源の状態がＯＦＦからＯＮに移行するＯＮ処理を実行中であるＯＮ処理中である場合には、制御部１ａの電源の状態を制御する電源操作信号を検出したときに、制御部１ａの電源の状態をＯＮに維持する。ここで、電源操作信号は、ストレージ装置１の電源の状態を制御するために、制御部１ａ，１ｂに対して、ユーザによる操作部（図示省略）の操作に基づいて出力され、またはホストコンピュータやクライアント等の上位装置から出力される。
【００２４】
なお、本実施の形態では、電源操作信号は、制御部１ａ，１ｂのそれぞれに対して出力される。しかし、これに限らず、制御部１ａ，１ｂのうちのいずれか一方（例えば、制御部１ａ）に対して出力され、電源操作信号を検出した制御部１ａが、他方（例えば、制御部１ｂ）に対して電源操作信号を検出した旨を通知してもよい。
【００２５】
制御部１ｂは、制御部１ａと同様に、ストレージ装置１を制御すると共に、制御部１ａ，１ｂの状態を監視し、監視結果に応じて制御部１ａ，１ｂの状態を制御する。すなわち、制御部１ａおよび制御部１ｂは、自身の電源の状態および他方の電源の状態をお互いに監視し、監視結果に応じて制御部１ａ，１ｂの状態を制御する。制御部１ｂは、制御部１ａと同一の構成であるため、説明を省略する。
【００２６】
以上のように、本実施の形態では、監視の結果、例えば、制御部１ａの電源の状態がＯＮであると共に制御部１ｂの電源の状態がＯＮ処理中である場合には、電源操作信号を検出しても、制御部１ａの電源の状態をＯＮに維持する。これにより、上記状態において電源操作信号に基づき、制御部１ａが電源をＯＮからＯＦＦに移行するＯＦＦ処理の実行を開始してしまうと共に制御部１ｂの電源の状態がＯＦＦに移行してしまうことが抑制される。従って、ストレージ装置１の制御部１ａ，１ｂの電源の状態における不整合の発生を抑制することが可能となる。
【００２７】
［第２の実施の形態］
次に、図１に示したストレージ装置１の、制御部１ａ，１ｂの電源の状態を互いに監視して制御部１ａ，１ｂの間の電源の状態の不整合の発生を抑制する機能を、ＲＡＩＤを構成する記憶デバイス群を有するストレージ装置１００に適用した実施の形態を、第２の実施の形態として説明する。
【００２８】
図２は、第２の実施の形態のストレージ装置のハードウェア構成を示す図である。ストレージ装置１００は、装置全体の制御を行う制御部１１０ａ，１１０ｂ、制御部１１０ａ，１１０ｂとホストコンピュータ３００との接続制御を行うチャネルアダプタ１３０ｃ〜１３０ｆ、記憶デバイス１２０ａ，１２０ｂ，１２０ｃ，１２０ｄ、ＰＳＵ（Power Supply Unit）１４０ａ，１４０ｂ、オペレーションパネル１５０を有する。
【００２９】
ストレージ装置１００は、後述するハードディスクドライブ（ＨＤＤ：Hard Disk Drive）等の複数の記憶デバイスに対するデータの入出力を行う。ストレージ装置１００は、ＲＡＩＤ０〜６等のＲＡＩＤ機能を有し、複数の記憶デバイスをまとめてＲＡＩＤを構成することにより、各ＲＡＩＤをそれぞれ１台の記憶デバイスとして管理する。
【００３０】
ホストコンピュータ３００は、業務処理を実行するコンピュータであり、ファイバチャネル（Fibre Channel）で構成されたＳＡＮ（Storage Area Network）を介してストレージ装置１００とデータ通信可能に接続されている。ホストコンピュータ３００は、業務処理に使用するデータについて、ストレージ装置１００への保存およびストレージ装置１００からの読み出しを行う。
【００３１】
制御部１１０ａは、ＣＰＵ（Central Processing Unit）１１１ａ、キャッシュメモリ１１２ａ、デバイスアダプタ１１３ｃ，１１３ｄ、監視ＰＬＤ（Programmable Logic Device）１１４ａ、不揮発性メモリ１１５ａを有する。
【００３２】
ＣＰＵ１１１ａは、ＯＳ（Operating System：オペレーティングシステム）等に従って処理を実行し、各種制御を行う。また、制御部１１０ａは、キャッシュメモリ１１２ａ、監視ＰＬＤ１１４ａ、記憶デバイス１２０ａ，１２０ｂ，１２０ｃ，１２０ｄ、チャネルアダプタ１３０ｃ，１３０ｄ等の資源管理を行う。
【００３３】
ＣＰＵ１１１ａは、キャッシュメモリ１１２ａが有する制御部１１０ｂ等の他系からの電源の状態の指示に対応する値が設定される他系指示フラグ、制御部１１０ａの電源の状態に対応する値が設定される自系状態フラグ、監視ＰＬＤ１１４ａによる制御部１１０ａの電源の状態の制御内容に対応する値が設定される自系制御フラグを用いてストレージ装置１００の電源の制御を行う。
【００３４】
ＣＰＵ１１１ａは、監視ＰＬＤ１１４ａによってキャッシュメモリ１１２ａ上に設定された他系指示フラグの値を取得し、取得した他系指示フラグの値に応じて制御部１１０ａの電源の状態を制御する。また、ＣＰＵ１１１ａは、制御部１１０ａの電源の状態を検出し、検出結果に対応する値を自系状態フラグに設定する。また、ＣＰＵ１１１ａは、ＣＰＵ１１１ａまたは監視ＰＬＤ１１４ａによって設定された自系制御フラグの値に応じて制御部１１０ａの電源の状態を制御する。
【００３５】
また、ＣＰＵ１１１ａは、制御部１１０ｂ等の他系の電源の状態を制御する場合には、監視ＰＬＤ１１４ａが有する他系制御レジスタに指示に応じた値を設定する。このとき、監視ＰＬＤ１１４ａが他系制御レジスタに設定された値に対応する通知を監視ＰＬＤ１１４ｂに送信することにより、制御部１１０ａによる指示が制御部１１０ｂに対して通知される。また、ＣＰＵ１１１ａは、監視ＰＬＤ１１４ａが有する他系状態レジスタの値を取得することにより、他系の電源の状態を認識する。
【００３６】
また、ＣＰＵ１１１ａは、制御部１１０ａ，１１０ｂのＯＮ処理時に制御部１１０ｂのＯＮ処理の完了の監視に使用するタイマを有している。
キャッシュメモリ１１２ａは、他系指示フラグ、自系状態フラグ、自系制御フラグ等のＣＰＵ１１１ａがストレージ装置１００を制御するために必要な制御データを記憶する。また、キャッシュメモリ１１２ａは、記憶デバイス１２０ａ〜１２０ｄに読み書きされる入出力データを一時的に記憶する。
【００３７】
デバイスアダプタ１１３ｃ，１１３ｄは、記憶デバイス１２０ａ〜１２０ｄとの接続制御を行う。
監視ＰＬＤ１１４ａは、制御部１１０ａの電源の状態がＯＦＦ、ＯＮ処理中またはＯＦＦ処理中である等により、ＣＰＵ１１１ａが動作していない場合に、ＣＰＵ１１１ａに代わって電源制御を行う。制御部１１０ａの電源制御を行う。監視ＰＬＤ１１４ａは、制御部１１０ａの電源の状態がＯＦＦである場合にも電源が供給されている。これにより、制御部１１０ａの電源の状態がＯＦＦ等である場合にも動作することが可能である。
【００３８】
また、監視ＰＬＤ１１４ａは、監視用バス１７０によって監視ＰＬＤ１１４ｂと接続されている。監視ＰＬＤ１１４ａは、監視用バス１７０によって監視ＰＬＤ１１４ｂとステータスパケット（status packet）やコントロールパケット（control packet）等の監視制御用パケットを送受信することが可能である。
【００３９】
また、監視ＰＬＤ１１４ａは、ＣＰＵ１１１ａによる制御部１１０ｂ等の他系に対する指示に応じた値を示す他系制御レジスタ、他系の電源の状態に応じた値を示す他系状態レジスタ、自系の切り離しＯＦＦに応じた値を示す自系切り離しＯＦＦレジスタを有する。
【００４０】
ここで、切り離しＯＦＦは、制御部の一方（例えば、制御部１１０ａ）によって他方（例えば、制御部１１０ｂ）の異常が検出された場合に、異常を検出した制御部１１０ａによる切り離しＯＦＦが指示に基づいて異常が発生した制御部１１０ｂが動作を禁止した状態である。切り離しＯＦＦ指示は、制御部１１０ｂの異常を検出した制御部１１０ａが制御部１１０ｂに対して動作を禁止する指示である。制御部１１０ａによって切り離しＯＦＦが指示された制御部１１０ｂは、ＯＮ状態であれば直ちにＯＦＦ処理を開始すると共に、以後、ＯＦＦ状態で電源操作信号を受信してもＯＮ処理に移行しないことによりＯＦＦ状態を維持する。
【００４１】
監視ＰＬＤ１１４ａは、ＣＰＵ１１１ａによって制御部１１０ｂに対する電源の状態の指示に応じた値が他系制御レジスタに設定されると、ＣＰＵ１１１ａによって設定された他系制御レジスタの値に対応するコントロールパケットを監視ＰＬＤ１１４ｂに送信することにより、制御部１１０ｂに対して電源の状態の指示を通知する。また、監視ＰＬＤ１１４ａは、監視ＰＬＤ１１４ｂから送信される制御部１１０ａに対する電源の状態の指示を示すコントロールパケットを受信することにより、監視ＰＬＤ１１４ｂによる制御部１１０ａに対する電源の状態の指示の通知を受けると共に受信したコントロールパケットに対応する値をＣＰＵ１１１ａの他系指示フラグに設定する。また、監視ＰＬＤ１１４ａは、受信したコントロールパケットにより通知された電源の状態の指示に基づいて制御部１１０ａの電源の状態を制御する。
【００４２】
また、監視ＰＬＤ１１４ａは、監視ＰＬＤ１１４ｂから送信される制御部１１０ｂの電源の状態を示すステータスパケットを受信することにより、制御部１１０ｂの電源の状態を取得する。また、監視ＰＬＤ１１４ａは、受信したステータスパケットに対応する値を他系状態レジスタに設定する。
【００４３】
また、監視ＰＬＤ１１４ａは、制御部１１０ａの電源の状態に応じたＣＰＵ１１１ａが有する自系状態フラグの値を取得することにより、制御部１１０ａの電源の状態を認識する。また、監視ＰＬＤ１１４ａは、取得した自系状態フラグの値に対応するステータスパケットを監視ＰＬＤ１１４ｂに送信することにより、制御部１１０ａの電源の状態を制御部１１０ｂに通知する。
【００４４】
また、監視ＰＬＤ１１４ａは、オペレーションパネル１５０からの電源操作がされたことを示す電源操作信号を受信する。監視ＰＬＤ１１４ａは、ＣＰＵ１１１ａが動作していない場合には、受信した電源操作信号に基づいて制御部１１０ａの電源の状態を制御する。監視ＰＬＤ１１４ａは、ＣＰＵ１１１ａが動作している場合には、受信した電源操作信号が示す内容に応じた値をＣＰＵ１１１ａが有する自系制御フラグに設定する。ＣＰＵ１１１ａは、自系制御フラグの値を取得し、自系制御フラグの値に応じて制御部１１０ａの電源の状態を制御する。
【００４５】
また、監視ＰＬＤ１１４ａは、ＣＰＵ１１１ａによって監視ＰＬＤ１１４ａが有する他系制御レジスタに他系への指示の内容に応じた値が設定されると、設定された他系への指示の内容に応じた値に対応する通知を、監視用バス１７０を介して監視ＰＬＤ１１４ｂに送信する。
【００４６】
また、監視ＰＬＤ１１４ａは、制御部１１０ａ，１１０ｂのＯＦＦ処理時に制御部１１０ｂのＯＦＦ処理の完了の監視に使用するタイマを有している。
なお、本実施の形態では、監視ＰＬＤ１１４ａは、オペレーションパネル１５０からの電源操作信号に基づいて制御部１１０ａの電源制御を行うが、これに限らず、監視ＰＬＤ１１４ａをホストコンピュータ３００とＬＡＮ等の通信回線で接続してホストコンピュータ３００から送信される電源操作信号を受信し、受信した電源操作信号に基づいて制御部１１０ａの電源制御を行ってもよい。この場合、監視ＰＬＤ１１４ａは受信した電源操作信号を監視用バス１７０を介して制御部１１０ｂが有する監視ＰＬＤ１１４ｂに転送してもよい。また、監視ＰＬＤ１１４ｂもホストコンピュータ３００に別途接続してもよい。
【００４７】
不揮発性メモリ１１５ａは、フラッシュメモリ（flash memory）等の書き換え可能な不揮発性半導体メモリである。不揮発性メモリ１１５ａは、ストレージ装置１００の電源のＯＦＦ時にデータの待避先に使用される。ＣＰＵ１１１ａは、制御部１１０ａのＯＦＦ処理中にキャッシュメモリ１１２ａに蓄積されている記憶デバイス１２０ａ〜１２０ｄに書き込まれていない未書き込みデータや記憶デバイス１２０ａ〜１２０ｄに書き込まれているデータの構成情報等を不揮発性メモリ１１５ａに一旦書き込む。その後、再び制御部１１０ａの電源の状態がＯＮになると、ＣＰＵ１１１ａは、不揮発性メモリ１１５ａに退避させていたデータを読み出して使用する。
【００４８】
また、制御部１１０ａ，１１０ｂは、バス１６０によって接続されている。このバス１６０を介して、制御部１１０ａおよび制御部１１０ｂの間で、制御情報やデータが通信される。制御部１１０ａ，１１０ｂは、それぞれ、ストレージ装置１００に対し着脱可能である。ここで、制御部１１０ｂは、ＣＰＵ１１１ｂ、キャッシュメモリ１１２ｂ、デバイスアダプタ１１３ｅ，１１３ｆ、監視ＰＬＤ１１４ｂ、不揮発性メモリ１１５ｂを有し、制御部１１０ａと同一の構成であるため、説明を省略する。
【００４９】
記憶デバイス１２０ａ〜１２０ｄは、ＲＡＩＤを構成可能なハードディスクドライブであり、ホストコンピュータ３００から送信されたシステムの利用者のデータまたはバックアップデータを記憶する。なお、システムの利用者のデータおよびバックアップデータは１個のハードディスクに記憶されている必要はなく、複数のハードディスクに渡って記憶されていてもよい。また、１個のハードディスクに複数の利用者のデータおよびバックアップデータが記憶されていてもよい。また、記憶デバイス１２０ａ〜１２０ｄは、例えば、ＳＳＤ（Solid State Drive）等の不揮発性半導体メモリやその他のデータの記憶が可能な記憶媒体を用いてもよい。
【００５０】
チャネルアダプタ１３０ｃ〜１３０ｆは、ホストコンピュータ３００と制御部１１０ａ，１１０ｂとの接続制御を行う。例えば、チャネルアダプタ１３０ｃは、ホストコンピュータ３００からの要求を受け付けて、制御部１１０ａとの接続制御を行う。制御部１１０ａ，１１０ｂは、それぞれ複数個（図ではそれぞれ２個）のチャネルアダプタ１３０ｃ〜１３０ｆに接続可能になっている。すなわち、例えば、制御部１１０ａは、冗長構成が実現されるように、２つの異なるチャネルアダプタ１３０ｃ，１３０ｄにそれぞれ接続されている。
【００５１】
なお、チャネルアダプタ１３０ｃ〜１３０ｆとホストコンピュータ３００との間の通信は、ファイバチャネルで構成されたＳＡＮによって接続されているが、ファイバチャネル以外の接続方式によって接続されていてもよい。また、チャネルアダプタ１３０ｃ〜１３０ｆとホストコンピュータ３００との間の通信は、専用線やＶＰＮ（Virtual Private Network）を用いて、ストレージ装置１００をホストコンピュータ３００から遠隔地に設置するように構成してもよい。
【００５２】
ＰＳＵ１４０ａ，１４０ｂは、ストレージ装置１００の各部を駆動する駆動電源をストレージ装置１００の各部に供給する。
オペレーションパネル１５０は、ユーザによるストレージ装置１００に対する電源のＯＮの指示または電源のＯＦＦの指示等の電源操作等の操作を受け付け、受け付けた操作に応じた操作信号を制御部１１０ａ，１１０ｂに送信する。
【００５３】
なお、図２において、制御部１１０ａ，１１０ｂは、それぞれ２個図示し、デバイスアダプタ１１３ｃ〜１１３ｆおよびチャネルアダプタ１３０ｃ〜１３０ｆは、制御部１１０ａ，１１０ｂそれぞれに対してそれぞれ２個ずつ図示しているが、これらの数はそれぞれ任意である。
【００５４】
また、図２において、ストレージ装置１００に対して１つのホストコンピュータ３００が接続されているが、ストレージ装置１００に対して複数のホストコンピュータが接続されていてもよい。
【００５５】
また、ストレージ装置１００に対して制御部１１０ａ，１１０ｂに従属して制御を受ける、制御部および記憶デバイスを有する増設用装置（図示省略）を接続してもよい。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
【００５６】
図３は、第２の実施の形態のストレージ装置の機能を示すブロック図である。本実施の形態のストレージ装置１００は、制御部１１０ａ，１１０ｂ、オペレーションパネル１５０を有する。制御部１１０ａは、ＣＰＵ１１１ａ、監視ＰＬＤ１１４ａを有する。制御部１１０ｂは、ＣＰＵ１１１ｂ、監視ＰＬＤ１１４ｂを有する。ＣＰＵ１１１ａ，１１１ｂは、バス１６０で互いに接続されている。監視ＰＬＤ１１４ａ，１１４ｂは、監視用バス１７０で互いに接続されている。本実施の形態のストレージ装置１００は、制御部１１０ａ，１１０ｂのいずれもが正常に動作している正常時には、制御部１１０ａ，１１０ｂが互いに独立して異なるデータについて読み書きを実行するが、これに限らず、制御部１１０ａ，１１０ｂが同一のデータについて並行して書き込みを実行してもよい。
【００５７】
制御部１１０ａは、ストレージ装置１００におけるデータの読み書きの制御等、ストレージ装置１００を制御する。また、制御部１１０ａは、制御部１１０ａの電源の状態および制御部１１０ｂの電源の状態を監視する。制御部１１０ａの電源の状態は、給電されていると共に正常に動作しているＯＮ、給電されておらず動作していないＯＦＦ、ＯＮからＯＦＦに移行するＯＦＦ処理を実行中であるＯＦＦ処理中、ＯＦＦからＯＮに移行するＯＮ処理を実行中であるＯＮ処理中の４つが存在する。
【００５８】
また、制御部１１０ａの電源の状態は、他系からの切り離しＯＦＦ指示を受けて切り離しＯＦＦを行う切り離しＯＦＦ処理の実行中である切り離しＯＦＦ処理中が存在する。また、制御部１１０ａの電源の状態は、切り離しＯＦＦ処理が完了してＯＮ処理が禁止されている保守待ち状態が存在する。また、制御部１１０ａの電源の状態は、異常が発生した制御部との交換によってストレージ装置１００に組み込まれ、動作している他系（例えば、制御部１１０ｂ）によって実行が指示されたＯＮ処理の実行中である組み込み処理中が存在する。
【００５９】
制御部１１０ａの電源の状態は、制御部１１０ａ自身の状態の変化をトリガとして自動的に互いに他系（例えば、制御部１１０ｂ）に対してステータスパケットで通知され、制御部１１０ａの電源の状態がＯＮ以外であっても実行される。
【００６０】
制御部１１０ａは、オペレーションパネル１５０から出力される電源操作信号を検出する。なお、これに限らず、ホストコンピュータ３００は、通信によりストレージ装置１００の電源の状態を制御するために電源操作信号を出力し、制御部１１０ａは、ホストコンピュータ３００から出力される電源操作信号を検出してもよい。制御部１１０ａは、検出した電源操作信号に基づいて制御部１１０ａの電源の状態を制御する。
【００６１】
電源操作信号は、ストレージ装置１００の電源の状態を制御するために、制御部１１０ａ，１１０ｂに対して、ユーザによるオペレーションパネル１５０の電源操作ボタンの操作に基づいて出力される。電源操作信号は、制御部１１０ａまたは制御部１１０ｂに対して、ＯＦＦからＯＮに移行することを指示するＯＮ指示と、ＯＮからＯＦＦに移行することを指示するＯＦＦ指示とを含む。
【００６２】
なお、本実施の形態では、電源操作信号は、制御部１１０ａ，１１０ｂのそれぞれに対して出力される。しかし、これに限らず、制御部１１０ａ，１１０ｂのうちのいずれか一方（例えば、制御部１１０ａ）に対して出力され、電源操作信号を検出した制御部１１０ａが、他方（例えば、制御部１１０ｂ）に対して電源操作信号を検出した旨を通知してもよい。
【００６３】
制御部１１０ａは、監視の結果、制御部１１０ａの電源の状態がＯＮであると共に制御部１１０ｂの電源の状態がＯＮ処理中である場合には、制御部１１０ａの電源の状態を制御する電源操作信号を検出したときにも、電源操作信号を無視して、制御部１１０ａの電源の状態をＯＮに維持する。
【００６４】
制御部１１０ａは、制御部１１０ａの状態および制御部１１０ｂの状態を監視し、制御部１１０ａの電源の状態がＯＦＦであると共に制御部１１０ｂの電源の状態がＯＦＦ処理中である場合には、制御部１１０ａの電源の状態を制御する電源操作信号を検出したときにも、電源操作信号を無視して、制御部１１０ａの電源の状態をＯＦＦに維持する。
【００６５】
また、制御部１１０ａは、制御部１１０ａの電源の状態がＯＮ処理中またはＯＦＦ処理中である場合には、制御部１１０ａの電源の状態を制御する電源操作信号を検出したときに、制御部１１０ａのＯＮ処理またはＯＦＦ処理が完了する制御部１１０ａの電源の状態を維持して、それぞれＯＮ処理またはＯＦＦ処理の実行を継続する。
【００６６】
ここで、制御部１１０ａ，１１０ｂは、独立して処理を行うことができ、異なるデータの読み書き処理を実行している。ここで、制御部１１０ａ，１１０ｂでＯＦＦ処理を実行した場合に、記憶デバイス１２０ａ〜１２０ｄや不揮発性メモリ１１５ａ，１１５ｂに退避される、書き込みデータ量や、記憶デバイスの構成情報や、ログ情報等の、ＯＦＦ処理の開始時における制御部１１０ａ，１１０ｂの間の違いにより、ＯＦＦ処理の完了に要する時間が異なる場合がある。制御部１１０ａ，１１０ｂの間のＯＦＦ処理の完了に要する時間の差異により、一方の制御部がＯＦＦ処理中であるにもかかわらず、他方の制御部のＯＦＦ処理が完了している状態が発生する場合がある。
【００６７】
ＯＦＦ処理の完了に要する時間の差異により、一方の制御部がＯＦＦ処理中であって他方の制御部のＯＦＦ処理が完了してＯＦＦである場合に、電源操作ボタンが操作されて電源操作信号がオペレーションパネル１５０から出力されると共に各制御部に入力されると、ＯＦＦ処理中の制御部が（電源操作信号が無視されてそのまま）ＯＦＦになると共に、ＯＦＦである制御部がＯＮ処理を実行してＯＮになり、２つの制御部の間で電源の状態の不整合が発生することになる。さらに、一方の制御部がＯＮであって他方の制御部がＯＦＦである場合に、電源操作ボタンが操作されて電源操作信号が出力されると、ＯＮである制御部がＯＦＦ処理を実行してＯＦＦになると共に、ＯＦＦである制御部がＯＮ処理を実行してＯＮになるというように、２つの制御部の間で電源の状態の不整合が継続することになる。
【００６８】
これに対して本実施の形態では、上記のように制御部１１０ａの電源の状態がＯＦＦであると共に制御部１１０ｂの電源の状態がＯＦＦ処理中には、電源操作信号を無視して制御部１１０ａでＯＮ処理の実行を行わず、ＯＦＦを維持することで、制御部１１０ａ，１１０ｂの間の電源の状態の不整合の発生を抑制することができる。制御部１１０ａの電源の状態がＯＮであって制御部１１０ｂの電源の状態がＯＮ処理中である場合も同様であるので説明を省略する。
【００６９】
また、制御部１１０ａは、電源操作信号に基づいて制御部１１０ａおよび制御部１１０ｂでＯＮ処理を実行した場合に、制御部１１０ａの電源の状態がＯＮに移行してから所定時間経過時（例えば、１秒経過時）に制御部１１０ｂにおいてＯＮ処理が完了しているか否かによって制御部１１０ｂにおける異常の発生を検出する。このときＣＰＵ１１１ａは、タイマにより制御部１１０ａのＯＮ処理が完了した時点からの経過時間を計測し、所定時間経過時に制御部１１０ｂのＯＮ処理が完了していない場合には、制御部１１０ｂに異常が発生していると判定する。
【００７０】
また、制御部１１０ａは、電源操作信号に基づいて制御部１１０ａおよび制御部１１０ｂでＯＦＦ処理を実行した場合に、制御部１１０ａの電源の状態がＯＦＦに移行してから所定時間経過時（例えば、０．１秒経過時）に制御部１１０ｂにおいてＯＦＦ処理が完了しているか否かによって制御部１１０ｂにおける異常の発生を検出する。このとき監視ＰＬＤ１１４ａは、タイマにより制御部１１０ａのＯＦＦ処理が完了した時点からの経過時間を計測し、所定時間経過時に制御部１１０ｂのＯＦＦ処理が完了していない場合には、制御部１１０ｂに異常が発生していると判定する。
【００７１】
制御部１１０ａは、制御部１１０ｂについて異常の発生を検出した場合には、制御部１１０ｂに対して制御部１１０ｂをＯＦＦにすると共にＯＮ処理の実行を禁止する切り離しＯＦＦ指示を送信する。この場合、制御部１１０ｂは、制御部１１０ａから送信された切り離しＯＦＦ指示を受信すると、制御部１１０ｂをＯＦＦにすると共に、制御部１１０ｂの電源の状態を制御する電源操作信号を検出したときに、制御部１１０ｂをＯＮに移行しない切り離しＯＦＦに移行する。制御部１１０ｂは、例えば、切り離しＯＦＦに移行する場合には、自系切り離しＯＦＦレジスタに切り離しＯＦＦを示す値を設定する。制御部１１０ｂは、切り離しＯＦＦでない場合および切り離しＯＦＦから通常状態に移行する場合には、自系切り離しＯＦＦレジスタに切り離しＯＦＦでないことを示す値を設定する。自系切り離しＯＦＦレジスタにより、制御部１１０ｂは、自系が切り離しＯＦＦに設定されているか否かを判定することができる。なお、これに限らず、制御部１１０ｂは、自系切り離しＯＦＦレジスタを使用せず、切り離しＯＦＦに移行した場合には制御部１１０ｂの以後の動作を禁止してもよい。
【００７２】
制御部１１０ｂは、切り離しＯＦＦに移行すると、他系（例えば、制御部１１０ａ）からのＯＮ処理以外は無視して、電源操作信号を検出した場合にもＯＮ処理を実行しないが、他系からのＯＮ指示を受信すると、切り離しＯＦＦを解除してＯＮ処理を実行する。他系は、切り離しＯＦＦとなった制御部１１０ｂについて、検出された異常の発生の解消の確認ができた場合等、切り離しＯＦＦを解除する場合に、制御部１１０ｂに対してＯＮ指示を送信することにより、制御部１１０ｂの切り離しＯＦＦを解除してＯＮ処理を実行させ、制御部１１０ｂを動作させることができる。
【００７３】
ＣＰＵ１１１ａは、制御部１１０ａの電源の状態がＯＮである場合に動作して制御部１１０ａの状態および制御部１１０ｂの状態を監視し、監視結果に基づいて制御部１１０ａの電源の状態を制御すると共に制御部１１０ｂの電源の状態を制御する指示を制御部１１０ｂに送信する。
【００７４】
監視ＰＬＤ１１４ａは、制御部１１０ａが動作していない場合に制御部１１０ａおよび制御部１１０ｂの状態を監視し、監視結果に基づいて制御部１１０ａの電源の状態を制御すると共に制御部１１０ｂの電源の状態を制御する指示を制御部１１０ｂに送信する。また、監視ＰＬＤ１１４ａは、監視ＰＬＤ１１４ｂから送信された制御部１１０ｂの状態を示す通知を受信し、受信した制御部１１０ｂの状態を示す通知に基づいて制御部１１０ｂの状態を監視する。
【００７５】
また、監視ＰＬＤ１１４ａは、監視用バス１７０によって監視ＰＬＤ１１４ｂと接続されている。監視ＰＬＤ１１４ａは、監視用バス１７０によって監視ＰＬＤ１１４ｂとステータスパケットやコントロールパケット等の監視制御用パケットを送受信することが可能である。
【００７６】
制御部１１０ｂは、制御部１１０ａと同様に、ＣＰＵ１１１ｂ、監視ＰＬＤ１１４ｂによってストレージ装置１００を制御すると共に、制御部１１０ａ，１１０ｂの状態を監視し、監視結果に応じて制御部１１０ａ，１１０ｂの状態を制御する。制御部１１０ｂは、制御部１１０ａと同一の構成であるため、説明を省略する。
【００７７】
オペレーションパネル１５０は、電源操作ボタン（図示省略）を有し、ユーザによる電源操作ボタンの操作を受け付け、受け付けた操作に基づいて電源操作信号を出力する。
なお、本実施の形態では、ＯＮ指示とＯＦＦ指示とが同一の信号である。しかし、これに限らず、例えば、ＯＮ指示は電源操作ボタンの通常の時間の押し続けであり、ＯＦＦ指示は電源操作ボタンのＯＮ指示よりも長時間の押し続け（長押し）、または、ＯＮ指示は電源操作ボタンの１回押し、ＯＦＦ指示は電源操作ボタンの２回押し等、ＯＮ信号とＯＦＦ信号が同一ではないが場合によっては判別し難いものであってもよい。
【００７８】
図４から図６は、第２の実施の形態の電源操作時の各制御部の状態と動作の関係を示す図である。図４から図６は、制御部１１０ａ（ＣＭ＃０）、制御部１１０ｂ（ＣＭ＃１）、ストレージ装置１００（システム）が各状態においてユーザがストレージ装置１００の電源操作を行った際の制御部１１０ａ，１１０ｂの動作を示す。
【００７９】
“状態”は、状態ナンバー“ＮＯ．”における制御部１１０ａ，１１０ｂ、ストレージ装置１００のそれぞれの電源の状態を示す。
“電源操作時の動作”は、各状態においてユーザがストレージ装置１００の電源操作を行ったことに基づく電源操作信号を制御部１１０ａ，１１０ｂが受信した際の制御部１１０ａ，１１０ｂの動作を示す。
【００８０】
状態ナンバー“１”では、制御部１１０ａ，１１０ｂの電源の状態は、共に“ＯＮ”であり、ストレージ装置１００の電源の状態も“ＯＮ”である場合に制御部１１０ａ，１１０ｂが電源操作信号を受信したとき、制御部１１０ａ，１１０ｂは、共にＯＦＦ処理を開始する。このように、状態ナンバー“１”の状態において制御部１１０ａ，１１０ｂが電源操作信号を受信したとき、制御部１１０ａ，１１０ｂの電源の状態は、共にＯＦＦ処理中に移行する。
【００８１】
状態ナンバー“２”では、制御部１１０ａの電源の状態は“ＯＮ”であると共に制御部１１０ｂの電源の状態は“ＯＦＦ”である。ここで、制御部１１０ａの切り離しＯＦＦ指示によらずに制御部１１０ｂの電源の状態がＯＦＦになっている場合には、制御部１１０ａおよび制御部１１０ｂの電源の状態が一致しない予期せぬ状態であり、制御部１１０ａ，１１０ｂによってストレージ装置１００は“システム異常”と判定される。この場合に制御部１１０ａ，１１０ｂが電源操作信号を受信したとき、制御部１１０ａは、制御部１１０ｂに切り離しＯＦＦ指示を送信する。（ここで、制御部１１０ｂの電源の状態は既にＯＦＦである。）次に、制御部１１０ａは、制御部１１０ｂの電源の状態がＯＦＦであることを確認した後、制御部１１０ａのＯＦＦ処理を開始する。制御部１１０ｂは、制御部１１０ａからの切り離しＯＦＦ指示を受信する。このとき制御部１１０ｂの電源の状態は、既にＯＦＦであり、何も動作を行わないが、以後、ＯＮ処理の実行が禁止される。このように、制御部１１０ａの切り離しＯＦＦ指示によらずに状態ナンバー“２”の状態になった場合において制御部１１０ａ，１１０ｂが電源操作信号を受信したとき、制御部１１０ａの電源の状態は、ＯＦＦ処理中に移行する。一方、制御部１１０ｂの電源の状態は、現状が維持されて変化しない。
【００８２】
一方、以前制御部１１０ａによって制御部１１０ｂにおける何らかの異常が検出されていたために、既に“ＯＮ”である制御部１１０ａから切り離しＯＦＦ指示が制御部１１０ｂに通知されていたことにより制御部１１０ｂの電源の状態が“ＯＦＦ”になっている場合について考える。この場合、ストレージ装置１００は、制御部１１０ａは動作可能である一方、制御部１１０ｂは動作が禁止されている状態でストレージ装置１００の状態がＯＮである“非冗長状態ＯＮ”である。この非冗長状態では、ストレージ装置１００は、片方の制御部（例えば、制御部１１０ｂ）が動作せず、他方の制御部（例えば、制御部１１０ａ）で動作する。この場合に制御部１１０ａ，１１０ｂが電源操作信号を受信したとき、既に制御部１１０ａによって制御部１１０ｂに切り離しＯＦＦ指示を送信済であると共に制御部１１０ｂの電源の状態がＯＦＦであるため、制御部１１０ａは、制御部１１０ａのＯＦＦ処理を開始する。一方、制御部１１０ｂは、既に切り離しＯＦＦ指示によりＯＮ処理が禁止されていると共に、何も動作を行わない。このように、以前送信された制御部１１０ａの切り離しＯＦＦ指示によって状態ナンバー“２”の状態になっている場合において制御部１１０ａ，１１０ｂが電源操作信号を受信したとき、制御部１１０ａの電源の状態は、ＯＦＦ処理中に移行する。一方、制御部１１０ｂの電源の状態は、現状である電源ＯＦＦが維持されて変化しない。
【００８３】
状態ナンバー“３”では、制御部１１０ａの電源の状態は“ＯＮ”であると共に制御部１１０ｂの電源の状態は“ＯＮ処理中”である。ここで、過去の電源操作信号に基づき、制御部１１０ａの電源の状態はＯＮになったが制御部１１０ｂの電源の状態であるＯＮ処理が遅延して制御部１１０ｂの電源の状態がＯＮ処理中になっている場合には、ストレージ装置１００の電源の状態は“ＯＮ処理中”となる。この場合に制御部１１０ａ，１１０ｂが電源操作信号を受信したとき、制御部１１０ａは、電源操作信号を受信しているが、受信した電源操作信号を無視して、制御部１１０ａの電源の状態をＯＮのまま維持する。制御部１１０ｂも同様に、受信した電源操作信号を無視して制御部１１０ｂの電源の状態であるＯＮ処理を継続する。
【００８４】
また、故障した制御部の交換により新たに制御部１１０ｂをストレージ装置１００の動作中にストレージ装置１００に組み込んだ、ストレージ装置１００が“組み込み処理中”の際において、制御部１１０ａの電源の状態が“ＯＮ”であると共に制御部１１０ｂの電源の状態が“ＯＮ処理中”である場合について考える。この場合に制御部１１０ａ，１１０ｂが電源操作信号を受信したときにも同様に、制御部１１０ａは、電源操作信号を受信しているが、受信した電源操作信号を無視して、制御部１１０ａの電源の状態をＯＮのまま維持する。制御部１１０ｂも同様に、受信した電源操作信号を無視して制御部１１０ｂの電源の状態であるＯＮ処理を継続する。
【００８５】
このように、制御部１１０ａが制御部１１０ｂの状態を監視し、制御部１１０ａが電源操作信号を受信した場合に制御部１１０ｂの電源の状態がＯＮ処理中であるときには、電源操作信号を無視してＯＦＦ処理を開始しない。これにより、制御部１１０ａ，１１０ｂの電源の状態の整合性が維持される。
【００８６】
状態ナンバー“４”では、制御部１１０ａの電源の状態は“ＯＮ”であると共に制御部１１０ｂの電源の状態は“ＯＦＦ処理中”である。ここで、制御部１１０ａの切り離しＯＦＦ指示によらずに制御部１１０ｂの電源の状態がＯＦＦになっている場合には、制御部１１０ａ，１１０ｂによってストレージ装置１００は“システム異常”と判定される。この場合に制御部１１０ａ，１１０ｂが電源操作信号を受信したとき、制御部１１０ａは、制御部１１０ｂに切り離しＯＦＦ指示を送信する。（ここで、制御部１１０ｂの電源の状態は既にＯＦＦ処理中である。）次に、制御部１１０ａは、制御部１１０ｂの電源の状態がＯＦＦであることを確認した後、制御部１１０ａのＯＦＦ処理を開始する。制御部１１０ｂは、制御部１１０ａからの切り離しＯＦＦ指示を受信する。このとき制御部１１０ｂの電源の状態は前述のように既にＯＦＦ処理中であるためＯＦＦ処理を継続すると共に、以後、ＯＮ処理の実行が禁止される。このように、制御部１１０ａの切り離しＯＦＦ指示によらずに状態ナンバー“４”の状態になった場合において制御部１１０ａ，１１０ｂが電源操作信号を受信したとき、制御部１１０ａの電源の状態は、ＯＦＦ処理中に移行する。一方、制御部１１０ｂの電源の状態は、ＯＦＦ処理が継続されることによりＯＦＦ処理中が維持されて変化しない。
【００８７】
一方、以前制御部１１０ａによって制御部１１０ｂにおける何らかの異常が検出されていたために、既に電源の状態が“ＯＮ”である制御部１１０ａから切り離しＯＦＦ指示が制御部１１０ｂに通知されていたことにより制御部１１０ｂの電源の状態が“ＯＦＦ処理中”になっている場合について考える。この場合、ストレージ装置１００は、制御部１１０ａは動作している一方、制御部１１０ｂの電源の状態はＯＦＦ処理中の“切り離し処理中”である。この場合に制御部１１０ａ，１１０ｂが電源操作信号を受信したとき、既に制御部１１０ａによって制御部１１０ｂに切り離しＯＦＦ指示を送信済であると共に制御部１１０ｂの電源の状態がＯＦＦ処理中であるため、制御部１１０ａは、制御部１１０ａのＯＦＦ処理を開始する。また、制御部１１０ｂは、既に切り離しＯＦＦ指示によりＯＮ処理が禁止されていると共に、制御部１１０ｂのＯＦＦ処理を継続する。このように、以前送信された制御部１１０ａの切り離しＯＦＦ指示によって状態ナンバー“４”の状態になっている場合において制御部１１０ａ，１１０ｂが電源操作信号を受信したとき、制御部１１０ａの電源の状態は、ＯＦＦ処理中に移行する。一方、制御部１１０ｂの電源の状態は、ＯＦＦ処理が継続されることによりＯＦＦ処理中が維持されて変化しない。
【００８８】
状態ナンバー“５”では、制御部１１０ａの電源の状態は“ＯＦＦ”であると共に制御部１１０ｂの電源の状態は“ＯＮ”である。ここで、制御部１１０ｂの切り離しＯＦＦ指示によらずに制御部１１０ａの電源の状態がＯＦＦになっている場合には、ストレージ装置１００は“システム異常”と判定される。この場合に制御部１１０ａ，１１０ｂが電源操作信号を受信したとき、制御部１１０ｂは、制御部１１０ａに切り離しＯＦＦ指示を送信する。（ここで、制御部１１０ａの電源の状態は既にＯＦＦである。）次に、制御部１１０ｂは、制御部１１０ａの電源の状態がＯＦＦであることを確認した後、制御部１１０ｂのＯＦＦ処理を開始する。制御部１１０ａは、制御部１１０ｂからの切り離しＯＦＦ指示を受信する。このとき制御部１１０ａの電源の状態は、既にＯＦＦであり、何も動作を行わないが、以後、ＯＮ処理の実行が禁止される。このように、制御部１１０ａの切り離しＯＦＦ指示によらずに状態ナンバー“５”の状態になった場合において制御部１１０ａ，１１０ｂが電源操作信号を受信したとき、制御部１１０ａの電源の状態は、現状であるＯＦＦが維持されて変化しない。一方、制御部１１０ｂの電源の状態は、ＯＦＦ処理中に移行する。
【００８９】
一方、以前制御部１１０ｂによって制御部１１０ａにおける何らかの異常が検出されていたために、既に“ＯＮ”である制御部１１０ｂから切り離しＯＦＦ指示が制御部１１０ａに通知されていたことにより制御部１１０ａの電源の状態が“ＯＦＦ”になっている場合について考える。この場合、ストレージ装置１００は、制御部１１０ｂは動作可能である一方、制御部１１０ａは動作が禁止されている状態でストレージ装置１００の電源の状態がＯＮである“非冗長状態ＯＮ”である。この場合に制御部１１０ａ，１１０ｂが電源操作信号を受信したとき、既に制御部１１０ｂによって制御部１１０ａに切り離しＯＦＦ指示を送信済であると共に制御部１１０ａの電源の状態がＯＦＦであるため、制御部１１０ｂは、制御部１１０ｂのＯＦＦ処理を開始する。一方、制御部１１０ａは、既に切り離しＯＦＦ指示によりＯＮ処理が禁止されていると共に、何も動作を行わない。このように、以前送信された制御部１１０ａの切り離しＯＦＦ指示によって状態ナンバー“５”の状態になっている場合において制御部１１０ａ，１１０ｂが電源操作信号を受信したとき、制御部１１０ａの電源の状態は、現状が維持されて変化しない。一方、制御部１１０ｂの電源の状態は、ＯＦＦ処理中に移行する。
【００９０】
状態ナンバー“６”では、制御部１１０ａ，１１０ｂの電源の状態は共に“ＯＦＦ”である。ここで、制御部１１０ａの切り離しＯＦＦ指示によらずに制御部１１０ｂの電源の状態がＯＦＦになっていると共に制御部１１０ｂの切り離しＯＦＦ指示によらずに制御部１１０ａの電源の状態がＯＦＦになっている場合には、ストレージ装置１００は正常であると共に電源の状態が“ＯＦＦ”であると判定される。この場合に制御部１１０ａ，１１０ｂが電源操作信号を受信したとき、制御部１１０ａ，１１０ｂは、共にＯＮ処理を開始する。このように、制御部１１０ａの切り離しＯＦＦ指示によらずに状態ナンバー“６”の状態になった場合において制御部１１０ａ，１１０ｂが電源操作信号を受信したとき、制御部１１０ａ，１１０ｂの電源の状態は、共にＯＮ処理中に移行する。
【００９１】
一方、以前制御部１１０ｂによって制御部１１０ａにおける何らかの異常が検出されていたために、現時点では電源の状態が“ＯＦＦ”である制御部１１０ｂから切り離しＯＦＦ指示が制御部１１０ａに通知されていたことにより制御部１１０ａの電源の状態が“ＯＦＦ”になっている場合について考える。この場合、ストレージ装置１００は、制御部１１０ｂは動作可能である一方、制御部１１０ａは動作が禁止されている状態でストレージ装置１００の電源の状態がＯＦＦである“非冗長状態ＯＦＦ”である。この場合に制御部１１０ａ，１１０ｂが電源操作信号を受信したとき、既に制御部１１０ｂによって制御部１１０ａに切り離しＯＦＦ指示を送信済であると共に制御部１１０ａの電源の状態がＯＦＦであるため、制御部１１０ｂは、制御部１１０ｂのＯＦＦ処理を開始する。また、制御部１１０ａは、既に切り離しＯＦＦ指示によりＯＮ処理が禁止されていると共に、何も動作を行わない。このように、以前送信された制御部１１０ａの切り離しＯＦＦ指示によって状態ナンバー“６”の状態になっている場合において制御部１１０ａ，１１０ｂが電源操作信号を受信したとき、制御部１１０ａの電源の状態は、現状であるＯＦＦが維持されて変化しない。一方、制御部１１０ｂの電源の状態は、ＯＦＦ処理中に移行する。
【００９２】
状態ナンバー“７”では、制御部１１０ａの電源の状態は“ＯＦＦ”であると共に制御部１１０ｂの電源の状態は“ＯＮ処理中”である。ここで、制御部１１０ｂの切り離しＯＦＦ指示によらずに制御部１１０ａの電源の状態がＯＦＦになっている場合には、制御部１１０ａ，１１０ｂによってストレージ装置１００は“システム異常”と判定される。この場合に制御部１１０ａ，１１０ｂが電源操作信号を受信したとき、制御部１１０ａは、電源操作信号を受信しているが、受信した電源操作信号を無視して、制御部１１０ａの電源の状態をＯＦＦのまま維持する。制御部１１０ｂは、受信した電源操作信号を無視して制御部１１０ｂのＯＮ処理を継続する。
【００９３】
また、制御部１１０ｂによって制御部１１０ａにおける何らかの異常が検出されていたために、現時点では電源の状態が“ＯＮ処理中”である制御部１１０ｂから切り離しＯＦＦ指示が制御部１１０ａに通知されていたことにより制御部１１０ａの電源の状態が“ＯＦＦ”になっている場合について考える。この場合、ストレージ装置１００は、制御部１１０ｂは動作可能である一方、制御部１１０ａは動作が禁止されている状態でストレージ装置１００の電源の状態がＯＮ処理中である“非冗長状態ＯＮ処理中”である。この場合に制御部１１０ａ，１１０ｂが電源操作信号を受信したとき、既に制御部１１０ｂによって制御部１１０ａに切り離しＯＦＦ指示を送信済であると共に制御部１１０ａの電源の状態がＯＦＦであるため、制御部１１０ｂは、制御部１１０ｂのＯＮ処理を継続する。また、制御部１１０ａは、既に切り離しＯＦＦ指示によりＯＮ処理が禁止されていると共に、何も動作を行わない。これにより、制御部１１０ａの電源の状態は、現状が維持されて変化しない。また、制御部１１０ｂの電源の状態は、ＯＮ処理が継続されることによりＯＮ処理中が維持されて変化しない。
【００９４】
このように、制御部１１０ａが制御部１１０ｂによる切り離しＯＦＦ指示を受信しているときには、電源操作信号を無視し、電源操作信号に基づくＯＮ処理を開始しない。これにより、異常が検出されて切り離された制御部１１０ａの起動が抑制される。
【００９５】
状態ナンバー“８”では、制御部１１０ａの電源の状態は“ＯＦＦ”であると共に制御部１１０ｂの電源の状態は“ＯＦＦ処理中”である。ここで、制御部１１０ｂの切り離しＯＦＦ指示によらずに制御部１１０ａの電源の状態がＯＦＦになっている場合には、ストレージ装置１００の電源の状態は“ＯＦＦ処理中”である。この場合に制御部１１０ａ，１１０ｂが電源操作信号を受信したとき、制御部１１０ａは、電源操作信号を受信しているが、受信した電源操作信号を無視して、制御部１１０ａの電源の状態をＯＦＦのまま維持する。制御部１１０ｂは、受信した電源操作信号を無視して制御部１１０ｂのＯＦＦ処理を継続する。
【００９６】
また、制御部１１０ｂによって制御部１１０ａにおける何らかの異常が検出されていたために、現時点では電源の状態が“ＯＦＦ処理中”である制御部１１０ｂから切り離しＯＦＦ指示が制御部１１０ａに通知されていたことにより制御部１１０ａの電源の状態が“ＯＦＦ”になっている場合について考える。この場合、ストレージ装置１００は、制御部１１０ｂは動作可能である一方、制御部１１０ａは動作が禁止されている状態でストレージ装置１００の電源の状態がＯＦＦ処理中である“非冗長状態ＯＦＦ処理中”である。この場合に制御部１１０ａ，１１０ｂが電源操作信号を受信したとき、既に制御部１１０ｂによって制御部１１０ａに切り離しＯＦＦ指示を送信済であると共に制御部１１０ａの電源の状態がＯＦＦであるため、制御部１１０ｂは、制御部１１０ｂのＯＦＦ処理を継続する。また、制御部１１０ａは、既に切り離しＯＦＦ指示によりＯＮ処理が禁止されていると共に、何も動作を行わない。これにより、制御部１１０ａの電源の状態は、現状であるＯＦＦが維持されて変化しない。また、制御部１１０ｂの電源の状態は、ＯＦＦ処理が継続されることによりＯＦＦ処理が完了するまでＯＦＦ処理中が維持されて変化しない。
【００９７】
状態ナンバー“９”では、制御部１１０ａの電源の状態は“ＯＮ処理中”である。一方、制御部１１０ｂの電源の状態は問わない。この場合に制御部１１０ａ，１１０ｂが電源操作信号を受信したとき、制御部１１０ａは、制御部１１０ａのＯＮ処理を継続する。これにより、制御部１１０ａの電源の状態は、ＯＮ処理が継続されることによりＯＮ処理中が維持されて変化しない。また、制御部１１０ｂの電源の状態が所定時間を経過してもＯＮにならない場合には、制御部１１０ａは、制御部１１０ｂに異常が発生したものと判定し、制御部１１０ｂに切り離しＯＦＦ指示を送信する。
【００９８】
状態ナンバー“１０”では、制御部１１０ａの電源の状態は“ＯＦＦ処理中”である。一方、制御部１１０ｂの状態は問わない。この場合に制御部１１０ａ，１１０ｂが電源操作信号を受信したとき、制御部１１０ａは、制御部１１０ａのＯＦＦ処理を継続する。これにより、制御部１１０ａの電源の状態は、ＯＦＦ処理が継続されることによりＯＦＦ処理中が維持されて変化しない。また、制御部１１０ｂの電源の状態が所定時間を経過してもＯＮにならない場合には、制御部１１０ａは、制御部１１０ｂに異常が発生したものと判定し、制御部１１０ｂに切り離しＯＦＦ指示を送信する。
【００９９】
図７は、第２の実施の形態の各制御部のＯＦＦ時に電源操作がされた場合の動作を示す図である。電源の状態がＯＦＦであるストレージ装置１００についてユーザが電源操作を行った場合において、一方の制御部（例えば、制御部１１０ｂ）のＯＮ処理が遅延し、制御部１１０ａの電源の状態がＯＮである一方、制御部１１０ｂの電源の状態がＯＮ処理中である状態になったものとする。本実施の形態では、この場合にユーザが電源操作を行っても、以下に図７に従って説明するように、不整合の発生を抑止することができる。
【０１００】
本実施の形態のストレージ装置１００は、図７に示すように、制御部１１０ａにおいて斜線の部分はＣＰＵ１１１ａが制御し、白抜きの部分は監視ＰＬＤ１１４ａが制御する。同様に制御部１１０ｂにおいて斜線の部分はＣＰＵ１１１ｂが制御し、白抜きの部分は監視ＰＬＤ１１４ｂが制御する。また、制御部１１０ａ，１１０ｂは、当初、電源の状態がＯＦＦであるものとする。このとき、図７における（ａ）に示すように、ストレージ装置１００を起動するために、ユーザによってオペレーションパネル１５０の電源操作ボタンの操作による１回目の電源操作が行われたものとする。この（ａ）における電源操作に基づいて出力される電源操作信号は、監視ＰＬＤ１１４ａ，１１４ｂのそれぞれにおいて、制御部１１０ａ，１１０ｂに対して電源をＯＮにすることを指示するＯＮ指示と認識され、制御部１１０ａ，１１０ｂのそれぞれにおいて、電源をＯＮにするＯＮ処理が開始される。
【０１０１】
次に、図７における（ｂ）に示すように、監視ＰＬＤ１１４ａの制御により、制御部１１０ａにおいてＯＮ処理が完了し、制御部１１０ａの電源の状態がＯＮになったものとする。また、（ｂ）の時点では、監視ＰＬＤ１１４ｂの制御による制御部１１０ｂにおけるＯＮ処理が遅延しており、制御部１１０ｂの電源の状態はＯＮ処理中であるものとする。
【０１０２】
ここで、図７における（ｃ）に示すように、制御部１１０ｂの遅延しているＯＮ処理中に、ストレージ装置１００の起動が完了しないのであらためてユーザによって２回目の電源操作が行われたものとする。この（ｃ）における電源操作に基づく電源操作信号は、図４における状態ナンバー“３”に示すように、ＯＮ処理中である制御部１１０ｂではＯＮ指示と認識され、制御部１１０ｂはそのままＯＮ処理を継続する。また、ＯＮである制御部１１０ａでは、制御部１１０ｂの電源の状態がＯＮ処理中なので電源操作に基づく電源操作信号を無視してＯＮを維持する。
【０１０３】
次に、図７における（ｄ）に示すように、監視ＰＬＤ１１４ｂの制御により、制御部１１０ｂにおいてＯＮ処理が完了し、制御部１１０ｂの電源の状態がＯＮになったものとする。また、この時点では、既に監視ＰＬＤ１１４ａの制御による制御部１１０ａにおけるＯＮ処理が完了しており、制御部１１０ａの電源の状態はＯＮになっている。
【０１０４】
このように、本実施の形態では、２回目の電源操作が行われた（ｃ）の時点のように制御部１１０ａ，１１０ｂ状態が一致していない状態が発生しても、（ｄ）の時点で制御部１１０ａ，１１０ｂの状態をＯＮで一致させることができ、制御部１１０ａ，１１０ｂの状態の不整合の発生を抑制することができる。
【０１０５】
図８は、第２の実施の形態の各制御部のＯＮ時に電源操作がされた場合の動作を示す図である。電源の状態がＯＮであるストレージ装置１００についてユーザが電源操作を行った場合において、一方の制御部（例えば、制御部１１０ｂ）のＯＦＦ処理が遅延し、制御部１１０ａの電源の状態がＯＦＦである一方、制御部１１０ｂの電源の状態がＯＦＦ処理中である状態になったものとする。本実施の形態では、この場合にユーザが電源操作を行っても、以下に図８に従って説明するように、不整合の発生を抑止することができる。
【０１０６】
本実施の形態のストレージ装置１００は、図８に示すように、図７と同様、制御部１１０ａにおいて斜線の部分はＣＰＵ１１１ａが制御し、白抜きの部分は監視ＰＬＤ１１４ａが制御する。同様に制御部１１０ｂにおいて斜線の部分はＣＰＵ１１１ｂが制御し、白抜きの部分は監視ＰＬＤ１１４ｂが制御する。また、制御部１１０ａ，１１０ｂは、当初、電源の状態がＯＮであるものとする。このとき、図８における（ｅ）に示すように、ストレージ装置１００の動作を終了するために、ユーザによってオペレーションパネル１５０により１回目の電源操作が行われたものとする。この（ｅ）における電源操作に基づいて出力される電源操作信号は、ＣＰＵ１１１ａ，１１１ｂのそれぞれにおいて、制御部１１０ａ，１１０ｂに対して電源をＯＦＦにすることを指示するＯＦＦ指示と認識され、制御部１１０ａ，１１０ｂのそれぞれにおいて、電源をＯＦＦにするＯＦＦ処理が開始される。
【０１０７】
次に、図８における（ｆ）に示すように、ＣＰＵ１１１ａの制御により、制御部１１０ａにおいてＯＦＦ処理が完了し、制御部１１０ａの電源の状態がＯＦＦになったものとする。また、（ｆ）の時点では、ＣＰＵ１１１ｂの制御による制御部１１０ｂにおけるＯＦＦ処理が遅延しており、制御部１１０ｂの電源の状態はＯＦＦ処理中であるものとする。
【０１０８】
ここで、図８における（ｇ）に示すように、制御部１１０ｂの遅延しているＯＦＦ処理中に、ストレージ装置１００のＯＦＦが完了しないのであらためてユーザによって２回目の電源操作が行われたものとする。この（ｇ）における電源操作に基づく電源操作信号は、図５における状態ナンバー“８”に示すように、ＯＦＦ処理中である制御部１１０ｂではＯＦＦ指示と認識され、制御部１１０ｂはそのままＯＦＦ処理を継続する。また、ＯＦＦである制御部１１０ａでは、制御部１１０ｂの電源の状態がＯＦＦ処理中なので電源操作に基づく電源操作信号を無視してＯＦＦを維持する。
【０１０９】
次に、図８における（ｈ）に示すように、ＣＰＵ１１１ｂの制御により、制御部１１０ｂにおいてＯＦＦ処理が完了し、制御部１１０ｂの電源の状態がＯＦＦになったものとする。また、この時点では、既にＣＰＵ１１１ａの制御による制御部１１０ａにおけるＯＦＦ処理が完了しており、制御部１１０ａの電源の状態はＯＦＦになっている。
【０１１０】
このように、本実施の形態では、２回目の電源操作が行われた（ｇ）の時点のように制御部１１０ａ，１１０ｂ状態が一致していない状態が発生しても、（ｈ）の時点で制御部１１０ａ，１１０ｂの状態をＯＦＦで一致させることができ、制御部１１０ａ，１１０ｂの状態の不整合の発生を抑制することができる。
【０１１１】
図９は、第２の実施の形態の電源操作による各制御部のＯＮ処理時における切り離しの動作を示す図である。電源の状態がＯＮであるストレージ装置１００についてユーザが電源操作を行った場合において、一方の制御部（例えば、制御部１１０ａ）において異常が発生したことによりＯＦＦ処理が遅延し、制御部１１０ｂの電源の状態がＯＦＦである一方、制御部１１０ａの電源の状態がＯＦＦ処理中である状態になっている。また、この場合に、正常に動作している制御部１１０ｂが、制御部１１０ａの異常の発生を検出し、制御部１１０ａを切り離したものとする。本実施の形態では、この状態でユーザが電源操作を行っても、以下に図９に従って説明するように、不整合の発生を抑止することができる。
【０１１２】
本実施の形態のストレージ装置１００は、図９に示すように、図７と同様、制御部１１０ａにおいて斜線の部分はＣＰＵ１１１ａが制御し、白抜きの部分は監視ＰＬＤ１１４ａが制御する。同様に制御部１１０ｂにおいて斜線の部分はＣＰＵ１１１ｂが制御し、白抜きの部分は監視ＰＬＤ１１４ｂが制御する。また、制御部１１０ａ，１１０ｂは、当初、電源の状態がＯＮであるものとする。このとき、図９における（ｉ）に示すように、ストレージ装置１００の動作を終了するために、ユーザによってオペレーションパネル１５０により１回目の電源操作が行われたものとする。この（ｉ）における電源操作に基づいて出力される電源操作信号は、ＣＰＵ１１１ａ，１１１ｂのそれぞれにおいて、制御部１１０ａ，１１０ｂに対して電源をＯＦＦにすることを指示するＯＦＦ指示と認識され、制御部１１０ａ，１１０ｂのそれぞれにおいて、電源をＯＦＦにするＯＦＦ処理が開始される。
【０１１３】
次に、図９における（ｊ）に示すように、ＣＰＵ１１１ｂの制御により、制御部１１０ｂにおいてＯＦＦ処理が完了し、制御部１１０ｂの電源の状態がＯＦＦになったものとする。また、（ｊ）の時点では、制御部１１０ａに異常が発生したことにより制御部１１０ａにおけるＯＦＦ処理が遅延しており、制御部１１０ａの電源の状態はＯＦＦ処理中であるものとする。ここで、本実施の形態の制御部１１０ａ，１１０ｂは、監視ＰＬＤ１１４ａ，１１４ｂにより他系の制御部の状態を監視する。このとき制御部１１０ｂの監視ＰＬＤ１１４ｂは、制御部１１０ｂの電源の状態がＯＦＦになってから一定時間（例えば、１秒）が経過する図９の（ｋ）までに制御部１１０ａの電源の状態がＯＦＦになるか否か監視する。
【０１１４】
次に、図９における（ｌ）に示すように、監視ＰＬＤ１１４ｂは、一定時間が経過して（ｋ）に達しても制御部１１０ａの電源の状態がＯＦＦにならないので、制御部１１０ａの監視ＰＬＤ１１４ａに対してＯＦＦ指示を通知して制御部１１０ａの切り離しを実行する。その後、切り離しによるＯＦＦ指示を受信した監視ＰＬＤ１１４ａの制御により制御部１１０ａの電源の状態はＯＦＦになる。この場合、切り離しによるＯＦＦ指示を受信した監視ＰＬＤ１１４ａは、電源操作信号を無視して制御部１１０ａのＯＮ処理を実行しない。これにより、制御部１１０ａは、以後ＯＦＦ状態が維持される。
【０１１５】
ここで、図９における（ｍ）に示すように、ユーザによって２回目の電源操作が行われたものとする。この（ｍ）における電源操作に基づく電源操作信号は、図５における状態ナンバー“５”に示すように、（ｌ）において制御部１１０ｂからの切り離しＯＦＦ指示を受信した制御部１１０ａでは、電源操作に基づく電源操作信号を無視してＯＦＦを維持する。また、ＯＦＦである制御部１１０ｂでは、ＯＮ指示と認識され、制御部１１０ｂはＯＮ処理を実行する。
【０１１６】
次に、図９における（ｎ）に示すように、監視ＰＬＤ１１４ｂの制御により、制御部１１０ｂにおいてＯＮ処理が完了し、制御部１１０ｂの電源の状態がＯＮになったものとする。また、このとき制御部１１０ａは、切り離されているのでＯＦＦを維持しているものとする。これにより、ストレージ装置１００は、制御部１１０ｂが動作している一方、制御部１１０ａが動作していない非冗長状態で動作している（非冗長状態ＯＮ）。
【０１１７】
このように、本実施の形態では、（ｋ）の時点のように制御部１１０ａに異常が発生して制御部１１０ａ，１１０ｂの状態が一致していない状態が発生した場合にも、制御部１１０ｂの監視ＰＬＤ１１４ｂが制御部１１０ａの状態を監視して異常の発生を検出する。そして、（ｌ）の時点で監視ＰＬＤ１１４ｂが監視ＰＬＤ１１４ａに対して制御部１１０ｂを切り離してＯＦＦにする切り離しＯＦＦ指示を通知することで、制御部１１０ｂを切り離してストレージ装置１００を動作させることができ、異常が発生している制御部１１０ｂが動作してしまうことによる不具合の発生を抑制することができる。
【０１１８】
図１０から図１２は、第２の実施の形態の他系の状態を監視する動作を示すシーケンス図である。本実施の形態のストレージ装置１００では、制御部１１０ａ，１１０ｂは監視ＰＬＤ１１４ａ，１１４ｂによって互いに他系の制御部の状態を監視している。制御部１１０ａ，１１０ｂ（例えば、制御部１１０ｂ）は、他系（例えば、制御部１１０ａ）の異常の発生を検出した場合には、異常が発生した制御部１１０ａに切り離しＯＦＦ指示を送信する。異常が発生した制御部１１０ａは、制御部１１０ｂから送信された切り離しＯＦＦ指示を受信すると、制御部１１０ａのＯＦＦ処理を実行して制御部１１０ａをＯＦＦにする。また、このとき制御部１１０ｂは、制御部１１０ａの状態の変化を確認する。以下に、図１０から図１２に沿って、制御部１１０ａで異常が発生し、制御部１１０ｂから制御部１１０ａにＯＦＦ指示が送信され、制御部１１０ａの電源の状態がＯＦＦになると共に制御部１１０ｂで制御部１１０ａのＯＦＦが確認されるまでの手順について説明する。
【０１１９】
［ステップＳ１０１］ＣＰＵ１１１ｂは、例えば、制御部１１０ａのＯＦＦ処理に要する時間等から制御部１１０ａの異常の発生を検出する。
［ステップＳ１０２］ＣＰＵ１１１ｂは、制御部１１０ａの切り離しを行うために制御部１１０ａに切り離しＯＦＦ指示を通知するように監視ＰＬＤ１１４ｂを制御する。具体的には、ＣＰＵ１１１ｂは、監視ＰＬＤ１１４ｂが有する他系への指示を示す他系制御レジスタに、制御部１１０ａの切り離しＯＦＦ指示を示す値を設定する。
【０１２０】
［ステップＳ１０３］監視ＰＬＤ１１４ｂは、ステップＳ１０２でＣＰＵ１１１ｂにより他系制御レジスタに制御部１１０ａの切り離しＯＦＦ指示を示す値が設定されると、制御部１１０ａのＯＦＦ指示を示すコントロールパケットを監視ＰＬＤ１１４ａに対して送信する。
【０１２１】
［ステップＳ１０４］監視ＰＬＤ１１４ａは、ステップＳ１０３で監視ＰＬＤ１１４ｂから送信された制御部１１０ａの切り離しＯＦＦ指示を示すコントロールパケットを受信すると、ＣＰＵ１１１ａに制御部１１０ａの切り離しＯＦＦを指示する。具体的には、監視ＰＬＤ１１４ａは、ＣＰＵ１１１ｂが有する他系からの指示を示す他系指示フラグに、制御部１１０ａの切り離しＯＦＦ指示を示す値を設定する。
【０１２２】
また、監視ＰＬＤ１１４ａは、監視ＰＬＤ１１４ｂから制御部１１０ａの切り離しＯＦＦ指示を受信したので、以後、電源操作信号を無視する。これにより、以後は制御部１１０ａでＯＮ処理が行われないので、異常の発生が検出された制御部１１０ａの動作を防止でき、異常が発生している制御部１１０ａが動作することによる不具合の発生を抑制できる。
【０１２３】
［ステップＳ１０５］ＣＰＵ１１１ａは、ステップＳ１０４で監視ＰＬＤ１１４ａにより他系指示フラグに制御部１１０ａの切り離しＯＦＦ指示を示す値が設定されると、制御部１１０ａのＯＦＦ処理を実行する。
【０１２４】
［ステップＳ２０１］監視ＰＬＤ１１４ａは、ＣＰＵ１１１ａが有する制御部１１０ａの状態を示す自系状態フラグの値を取得して制御部１１０ａのＯＦＦ処理中を検出する。
［ステップＳ２０２］監視ＰＬＤ１１４ａは、ステップＳ２０１で制御部１１０ａのＯＦＦ処理中を検出すると、制御部１１０ａのＯＦＦ処理中を示すステータスパケットを監視ＰＬＤ１１４ｂに対して送信する。
【０１２５】
［ステップＳ２０３］監視ＰＬＤ１１４ｂは、ステップＳ２０２で監視ＰＬＤ１１４ａから送信された制御部１１０ａのＯＦＦ処理中を示すステータスパケットを受信すると、監視ＰＬＤ１１４ｂが有する他系の状態を示す他系状態レジスタに、制御部１１０ａのＯＦＦ処理中を示す値を設定する。
【０１２６】
［ステップＳ２０４］ＣＰＵ１１１ｂは、他系状態レジスタの値を取得し、ステップＳ２０３で監視ＰＬＤ１１４ｂにより設定された他系状態レジスタの制御部１１０ａのＯＦＦ処理中を示す値によって、制御部１１０ａのＯＦＦ処理中を検出する。
【０１２７】
［ステップＳ３０１］監視ＰＬＤ１１４ａは、自系状態フラグの値を取得して制御部１１０ａのＯＦＦを検出する。
［ステップＳ３０２］監視ＰＬＤ１１４ａは、ステップＳ３０１で制御部１１０ａのＯＦＦを検出すると、制御部１１０ａのＯＦＦを示すステータスパケットを監視ＰＬＤ１１４ｂに対して送信する。
【０１２８】
［ステップＳ３０３］監視ＰＬＤ１１４ｂは、ステップＳ３０２で監視ＰＬＤ１１４ａから送信された制御部１１０ａのＯＦＦを示すステータスパケットを受信すると、他系状態レジスタに、制御部１１０ａのＯＦＦを示す値を設定する。
【０１２９】
［ステップＳ３０４］ＣＰＵ１１１ｂは、他系状態レジスタの値を取得し、ステップＳ３０３で監視ＰＬＤ１１４ｂにより設定された他系状態レジスタの制御部１１０ａのＯＦＦを示す値によって、制御部１１０ａのＯＦＦを検出する。これにより、制御部１１０ｂは、異常が発生している制御部１１０ａのＯＦＦを確認する。
【０１３０】
このように、第２の実施の形態のストレージ装置１００では、監視ＰＬＤ１１４ａ，１１４ｂによる監視の結果、例えば、制御部１１０ａの電源の状態がＯＮであると共に制御部１１０ｂの電源の状態がＯＮ処理中である場合には、電源操作信号を検出しても、制御部１１０ａの電源の状態をＯＮに維持する。これにより、上記状態において電源操作信号に基づき、制御部１１０ａが電源をＯＮからＯＦＦに移行するＯＦＦ処理の実行を開始してしまうと共に制御部１１０ｂの電源の状態がＯＦＦに移行してしまうことが抑制される。従って、ストレージ装置１００の制御部１１０ａ，１１０ｂの電源の状態における不整合の発生を抑制することが可能となる。
【０１３１】
また、制御部１１０ａの電源の状態がＯＦＦであると共に制御部１１０ｂの電源の状態がＯＦＦ処理中である場合には、制御部１１０ａの電源の状態を制御する電源操作信号を検出したときに、制御部１１０ａの電源の状態をＯＦＦに維持する。これにより、上記状態において電源操作信号に基づき、制御部１１０ａが電源をＯＦＦからＯＮに移行するＯＮ処理の実行を開始してしまうと共に制御部１１０ｂの電源の状態がＯＮに移行してしまうことが抑制される。従って、ストレージ装置１００の制御部１１０ａ，１１０ｂの電源の状態における不整合の発生を抑制することが可能となる。
【０１３２】
また、それぞれ制御部１１０ａ，１１０ｂの電源の状態がＯＮである場合にはＣＰＵ１１１ａ，１１１ｂが制御部１１０ａ，１１０ｂの電源の状態を制御する一方、それぞれ制御部１１０ａ，１１０ｂの電源の状態がＯＮ以外のＯＦＦ、ＯＮ処理中、ＯＦＦ処理中である場合には監視ＰＬＤ１１４ａ，１１４ｂが制御部１１０ａ，１１０ｂの電源の状態を制御する。これにより、制御部１１０ａ，１１０ｂのＯＦＦ時等にも監視ＰＬＤ１１４ａ，１１４ｂで電源の状態を制御可能になると共に、制御部１１０ａ，１１０ｂのＯＦＦ時には電源の状態の制御のために監視ＰＬＤ１１４ａ，１１４ｂに電力を供給すれば、ＣＰＵ１１１ａ，１１１ｂに電力を供給する必要がないので、制御部１１０ａ，１１０ｂのＯＦＦ時の消費電力を低減させることができる。
【０１３３】
また、制御部１１０ａは、制御部１１０ｂについて異常の発生を検出した場合には、制御部１１０ｂに対して切り離しＯＦＦ指示を通知するので、制御部１１０ｂの電源の状態はＯＦＦになる（またはＯＦＦを維持する）。これにより、制御部１１０ｂに異常が発生した場合に、制御部１１０ｂの動作を停止させ、異常の発生による不具合の発生や拡大を抑制することができる。
【０１３４】
また、制御部１１０ｂは、制御部１１０ａからの切り離しＯＦＦ指示を検出した場合には、ＯＦＦに移行すると共に、以降電源操作信号を無視してＯＮ処理の実行を開始しない。これにより、制御部１１０ｂに異常が発生した場合に、制御部１１０ｂの動作を禁止し、異常の発生による不具合の発生や拡大を抑制することができる。
【０１３５】
また、制御部１１０ａは、電源操作信号に基づいて制御部１１０ａ，１１０ｂの電源の状態がＯＦＦ処理を実行した場合に、制御部１１０ａの電源の状態がＯＦＦに移行してから所定時間が経過した時点で制御部１１０ｂのＯＦＦ処理が完了していない場合には、制御部１１０ｂにおいて異常が発生しているものと判定する。これにより、制御部１１０ｂのＯＦＦ処理時におけるハングアップ等の異常の発生を検出することができる。
【０１３６】
また、監視ＰＬＤ１１４ａは、監視ＰＬＤ１１４ｂから送信された制御部１１０ｂの状態を示すステータスパケットを受信し、受信したステータスパケットに基づいて制御部１１０ｂの状態を取得および監視する。これにより、制御部１１０ａのＯＮ時以外にも、制御部１１０ａにおいて制御部１１０ｂの状態を監視することができ、監視結果に基づいて制御部１１０ａ，１１０ｂの状態を制御することができる。
【０１３７】
また、電源操作信号は、制御部１１０ａ，１１０ｂに対するＯＮ指示およびＯＦＦ指示が同一の信号である。これにより、制御部１１０ａ，１１０ｂおよびオペレーションパネル１５０の構成や、ホストコンピュータ３００との間の通信を簡略化することができる。
【０１３８】
また、制御部１１０ａは、制御部１１０ａの電源の状態がＯＮ処理中である場合には、電源操作信号を検出しても制御部１１０ａのＯＮ処理が完了するまでは制御部１１０ａの電源の状態をＯＮ処理中に維持する。これにより、制御部１１０ａのＯＮ処理中に電源操作信号が検出された場合にも、制御部１１０ａ，１１０ｂの間の電源の状態の不整合の発生を抑制できる。
【０１３９】
また、制御部１１０ａは、制御部１１０ａの電源の状態がＯＦＦ処理中である場合には、制御部１１０ａのＯＦＦ処理が完了するまでは電源操作信号を検出しても制御部１１０ａの電源の状態をＯＦＦ処理中に維持する。これにより、制御部１１０ａのＯＦＦ処理中に電源操作信号が検出された場合にも、制御部１１０ａ，１１０ｂの間の電源の状態の不整合の発生を抑制できる。
【０１４０】
以上、開示のストレージ装置、制御部およびストレージ装置制御方法を、図示の実施の形態に基づいて説明したが、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、開示の技術に他の任意の構成物や工程が付加されてもよい。また、開示の技術は前述した実施の形態のうちの任意の２以上の構成を組み合わせたものであってもよい。
【０１４１】
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、開示の技術は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
【符号の説明】
【０１４２】
１  ストレージ装置
１ａ，１ｂ  制御部
【図１】
2012035630.tif 000003
【図２】
2012035630.tif 000004
【図３】
2012035630.tif 000005
【図４】
2012035630.tif 000006
【図５】
2012035630.tif 000007
【図６】
2012035630.tif 000008
【図７】
2012035630.tif 000009
【図８】
2012035630.tif 000010
【図９】
2012035630.tif 000011
【図１０】
2012035630.tif 000012
【図１１】
2012035630.tif 000013
【図１２】
2012035630.tif 000014
【図１３】
2012035630.tif 000015
【手続補正書】
【提出日】平成25年3月26日(2013.3.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１の制御部と第２の制御部とを有するストレージ装置において、
前記第１の制御部は、前記第１の制御部の電源の状態と前記第２の制御部の電源の状態とを監視し、前記第１の制御部の電源の状態がＯＮであると共に前記第２の制御部の電源の状態がＯＦＦからＯＮに移行するＯＮ処理を実行中である場合には、前記第１の制御部の電源の状態を制御する電源操作信号を検出したときに、前記第１の制御部の電源の状態を維持する、
ことを特徴とするストレージ装置。
【請求項２】
前記第１の制御部は、前記第１の制御部の電源の状態と前記第２の制御部の電源の状態とを監視し、前記第１の制御部の電源の状態がＯＦＦであると共に前記第２の制御部の電源の状態がＯＮからＯＦＦに移行するＯＦＦ処理を実行中である場合には、前記第１の制御部の電源の状態を制御する電源操作信号を検出したときに、前記第１の制御部の電源の状態を維持する、
ことを特徴とする請求項１記載のストレージ装置。
【請求項３】
前記第１の制御部は、前記第１の制御部の電源の状態がＯＮである場合に動作して前記第１の制御部の電源の状態と前記第２の制御部の電源の状態とを監視し、監視結果に基づいて前記第１の制御部の電源の状態を制御すると共に前記第２の制御部の電源の状態を制御する指示を前記第２の制御部に送信する第１の演算部と、
前記第１の制御部が動作していない場合に前記第１の制御部と前記第２の制御部の電源の状態とを監視し、監視結果に基づいて前記第１の制御部の電源の状態を制御すると共に前記第２の制御部の電源の状態を制御する指示を前記第２の制御部に送信する第１の監視部と、
を有することを特徴とする請求項１記載のストレージ装置。
【請求項４】
前記第１の制御部は、前記第２の制御部について異常の発生を検出した場合には、前記第２の制御部に対して前記第２の制御部の電源の状態をＯＦＦにすると共に電源の状態をＯＮにすることを禁止する切り離しＯＦＦ指示を送信し、
前記第２の制御部は、前記第１の制御部から送信された切り離しＯＦＦ指示を受信した場合には、前記第２の制御部の電源の状態をＯＦＦに移行する、
ことを特徴とする請求項１記載のストレージ装置。
【請求項５】
前記第２の制御部は、前記第１の制御部から送信された切り離しＯＦＦ指示を受信した場合には、前記第２の制御部の電源の状態をＯＦＦに移行すると共に、前記第２の制御部の電源の状態を制御する電源操作信号を検出したときに、前記第２の制御部の電源の状態をＯＮに移行しない、
ことを特徴とする請求項４記載のストレージ装置。
【請求項６】
他の制御部と共にストレージ装置を制御する制御部において、
自己の電源の状態と前記他の制御部の電源の状態とを監視し、前記自己の電源の状態がＯＮであると共に前記他の制御部の電源の状態がＯＦＦからＯＮに移行するＯＮ処理を実行中である場合には、前記自己の電源の状態を制御する電源操作信号を検出したときに、前記自己の電源の状態を維持する、
ことを特徴とする制御部。
【請求項７】
第１の制御部と第２の制御部とでストレージ装置を制御するストレージ装置制御方法において、
前記第１の制御部の電源の状態と前記第２の制御部の電源の状態とを監視し、
前記第１の制御部の電源の状態がＯＮであると共に前記第２の制御部の電源の状態がＯＦＦからＯＮに移行するＯＮ処理を実行中である場合には、前記第１の制御部の電源の状態を制御する電源操作信号を検出したときに、前記第１の制御部の電源の状態を維持する、
ことを特徴とするストレージ装置制御方法。
【国際調査報告】
2012035630.tif 000016
2012035630.tif 000017
2012035630.tif 000018