(57)【要約】【課題】  ＦＣループを介して複数のＳＡＴＡドライブ筺体を接続したディスクアレイ装置における障害発生時でも処理を継続できるようにする。【解決手段】  正常動作時（Ａ）は、１番目のシステムコントローラ（ＣＴＬ♯０）１Ａと２番目のシステムコントローラ（ＣＴＬ♯１）１Ｂは、それぞれＦＣループを介してＳＡＴＡドライブ筺体（ＤＩＳＫ−ＥＮＣ♯０）３の第１のインターフェース回路（Ｉ／Ｆ−０）４Ａ、第２のインターフェース回路（Ｉ／Ｆ−１）４Ｂを通してディスクアレイのディスク７、ディスク９と通信してデータの読み書きを実行している。第２のバックエンドＦＣループ♯１にエラーが発生した場合（Ｂ）、２番目のシステムコントローラ（ＣＴＬ♯１）１Ｂは、エラーが発生した第２のバックエンドＦＣループ♯１との接続を止め、正常なバックエンドＦＣループである１番目のシステムコントローラ（ＣＴＬ♯０）１Ａに切り替えてディスク装置へのアクセスを実施する。【選択図】      図５
2005222379.tif 000002
【特許請求の範囲】
【請求項１】
コントローラ筐体と、１または複数のシリアルディスクドライブ筐体と、前記コントローラ筐体と前記シリアルディスクドライブ筐体をそれぞれ接続する複数のファイバチャネルループとから構成されるディスクアレイ装置であって、
前記コントローラ筐体は、
上位装置に接続されて該上位装置からデータを受ける通信制御部と、
前記通信制御部に接続され、前記上位装置との間でやり取りされるデータを保存するキャッシュメモリと、
前記上位装置及び前記キャシュメモリに接続され、前記上位装置との間でやり取りされるデータを前記通信制御部に対して転送し又は前記通信制御部から受信するように制御する複数のシステムコントローラとを有し、
前記ディスクドライブ筐体は、
前記複数のファイバチャネルループと接続され、前記コントローラ筐体と自身の筐体との接続の切り替えに利用される複数の切り替え回路と、
前記複数のシステムコントローラと前記複数のファイバチャネルループによって接続され、該複数のファイバチャネルループにおいて利用されるファイバチャネルループとシリアルディスクドライブ用のインターフェースと接続させる複数のインターフェース接続装置と、
前記複数のインターフェース接続装置に接続され、該複数のインターフェース接続装置からのデータの受信の切り替えを制御する複数のデュアルポートデバイスと、
前記複数のポートバイパス回路に接続され、前記システムコントローラによって転送されたデータを、前記ファイバチャネルループ、前記切り替え回路、前記インターフェース接続装置、及び前記デュアルポートデバイスを介して受信して格納する複数のシリアルディスクドライブと、
前記複数のインターフェース接続装置に前記デュアルポート切り替え装置を介して接続され、該インターフェース接続装置の動作を監視する筐体管理用プロセッサと、を有するディスクアレイ装置。
【請求項２】
コントローラ筐体と、１または複数のディスクドライブ筐体と、前記コントローラ筐体と前記ディスクドライブ筐体をそれぞれ接続する２重のファイバチャネルループとから構成されるディスクアレイ装置であって、
前記コントローラ筐体は２つのシステムコントローラを有し、
前記ディスクドライブ筐体は１または複数のハードディスクからなるディスクドライブと、該ディスクドライブをコントロールする２つのドライブコントローラからなり、前記コントローラ筺体の２つのシステムコントローラのそれぞれとの間を前記２重のＦＣループで接続されていることを特徴とするディスクアレイ装置。
【請求項３】
前記コントローラ筺体を構成する２つのシステムコントローラのそれぞれは、
上位装置に接続されて該上位装置からデータを受ける通信制御部と、
前記通信制御部に接続され、前記上位装置との間でやり取りされるデータを保存するキャッシュメモリと、
前記通信制御部および前記キャッシュメモリに接続され、前記ファイバチャネルループに接続されて前記上位装置との間やり取りされるデータを前記通信制御部に対する転送、又は前記通信制御部からの受信を制御することを特徴とする請求項２に記載のディスクアレイ装置。
【請求項４】
前記コントローラ筺体を構成する２つのシステムコントローラのそれぞれは、
前記ファイバチャネルループを前記ディスクドライブの一方から他方に切り替えるパス切り替え手段を有することを特徴とする請求項２に記載のディスクアレイ装置。
【請求項５】
前記ディスクドライブ筐体を構成する前記ドライブコントローラのそれぞれは、前記ファイバチャネル上のデータを変換するインターフェース接続装置を有することを特徴とする請求項２に記載のディスクアレイ装置。
【請求項６】
前記ディスクドライブ筐体を構成する前記ドライブコントローラのそれぞれは、当該ドライブコントローラの前記インターフェース接続装置を前記ポートバイパス回路を通して管理する筺体管理手段を有することを特徴とする請求項５に記載のディスクアレイ装置。
【請求項７】
前記ディスクドライブ筐体を構成する前記ドライブコントローラのそれぞれは、
前記コントローラ筺体の２つのシステムコントローラの一方または他方を前記インターフェース接続装置の他方または一方のポートに切り替えるポートバイパス回路を有することを特徴とする請求項６に記載のディスクアレイ装置。
【請求項８】
前記ディスクドライブ筺体を構成する前記ディスクドライブは、前記インターフェース接続装置のそれぞれと切り替え接続するデュアルポートデバイスを有することを特徴とする請求項７に記載のディスクアレイ装置。
【請求項９】
前記ディスクドライブ筐体を構成する前記ディスクドライブコントローラのそれぞれは、前記筺体管理手段の一方からの指令により他方の筺体管理手段、前記インターフェース接続装置の何れかまたは全部を前記ポートバイパス回路を通してリセットまたはその電源をオフするリセット発生手段を有することを特徴とする請求項８に記載のディスクアレイ装置。
【請求項１０】
前記ディスクドライブ筐体を構成する前記ディスクドライブのそれぞれに有する前記筺体管理手段が専用線により相互に接続されていることを特徴とする請求項７に記載のディスクアレイ装置。
【請求項１１】
コントローラ筐体と、１または複数のシリアルディスクドライブ筐体と、前記コントローラ筐体と前記シリアルディスクドライブ筐体をそれぞれ接続する複数のファイバチャネルループとから構成されるディスクアレイ装置の障害回避制御方法であって、
前記コントローラ筐体は、
上位装置に接続されて該上位装置からデータを受ける通信制御部と、
前記通信制御部に接続され、前記上位装置との間でやり取りされるデータを保存するキャッシュメモリと、
前記上位装置及び前記キャシュメモリに接続され、前記上位装置との間でやり取りされるデータを前記通信制御部に対して転送し又は前記通信制御部から受信するように制御する複数のシステムコントローラとを有し、
前記ディスクドライブ筐体は、
前記複数のファイバチャネルループと接続され、前記コントローラ筐体と自身の筐体との接続の切り替えに利用される複数の切り替え回路と、
前記複数のシステムコントローラと前記複数のファイバチャネルループによって接続され、該複数のファイバチャネルループにおいて利用されるファイバチャネルループとシリアルディスクドライブ用のインターフェースと接続させる複数のインターフェース接続装置と、
前記複数のインターフェース接続装置に接続され、該複数のインターフェース接続装置からのデータの受信の切り替えを制御する複数のデュアルポートデバイスと、
前記複数のポートバイパス回路に接続され、前記システムコントローラによって転送されたデータを、前記ファイバチャネルループ、前記切り替え回路、前記インターフェース接続装置、及び前記デュアルポート切り替え装置を介して受信して格納する複数のシリアルディスクドライブと、
前記複数のインターフェース接続装置に前記ポートバイパス回路を介して接続され、該インターフェース接続装置の動作を監視する筐体管理用プロセッサと、
を有し、
前記筐体管理用プロセッサは、他の筐体管理用プロセッサと通信し、前記他の筐体管理用プロセッサが監視しているインターフェース接続装置に障害が生じたことを認識した場合、これを前記システムコントローラに通知することにより、前記システムコントローラを介して前記障害が生じたインターフェース接続装置の動作を前記ポートバイパス回路を通して停止させることを特徴とするディスクアレイ装置の障害回避制御方法。
【請求項１２】
コントローラ筐体と、１または複数のディスクドライブ筐体と、前記コントローラ筐体と前記ディスクドライブ筐体をそれぞれ接続する２重のファイバチャネルループとから構成されるディスクアレイ装置の障害回避制御方法であって、
前記ディスクドライブ筐体は、ディスクドライブと２つのドライブコントローラで構成され、前記ドライブコントローラのそれぞれには、前記ファイバチャネルループ上のデータを変換するインターフェース接続装置と、該インターフェース接続装置を前記ポートバイパス回路を通して管理する筺体管理手段とを有しており、
前記筺体管理手段の一方の筺体管理手段が管理しているインターフェース接続装置に障害が発生した場合には、前記筺体管理手段の他方の筺体管理手段が該一方の筺体管理手段が管理しているインターフェース接続装置の動作を前記ポートバイパス回路を通して停止させることを特徴とするディスクアレイ装置の障害回避制御方法。
【請求項１３】
前記ディスクドライブ筐体を構成する前記ドライブコントローラのそれぞれは、前記コントローラ筺体の２つのシステムコントローラの一方または他方を前記インターフェース接続装置の他方または一方のポートに切り替えるポートバイパス回路に接続されており、
前記ファイバチャネルループの切り替えを前記ポートバイパス回路で行うことを特徴とする請求項１２に記載のディスクアレイ装置の障害回避制御方法。
【請求項１４】
前記ディスクドライブ筺体を構成する前記ディスクドライブは、前記インターフェース接続装置のそれぞれと切り替え接続するデュアルポートデバイスを有し、インターフェース接続装置の切り替えを前記ポートバイパス回路で行うことを特徴とする請求項１２に記載のディスクアレイ装置の障害回避制御方法。
【請求項１５】
前記ディスクドライブ筐体を構成する前記ディスクドライブのそれぞれは、前記筺体管理手段の一方からの指令により他方の筺体管理手段、前記インターフェース接続装置の何れかまたは全部をリセットまたはその電源をオフするリセット発生手段を有し、
前記リセット発生手段により前記インターフェース接続装置の停止を前記ポートバイパス回路を通して停止させることを特徴とする請求項１２に記載のディスクアレイ装置の障害回避制御方法。
【請求項１６】
前記ディスクドライブ筐体を構成する前記ディスクドライブのそれぞれに有する前記筺体管理手段の相互を接続する専用線を有し、前記一方の筺体管理手段が管理しているインターフェース接続装置に障害が発生したことを前記専用線で前記他方の筺体管理手段に通知することを特徴とする請求項１２に記載のディスクアレイ装置の障害回避制御方法。
【請求項１７】
前記リセット手段は前記リセット発生手段により停止された前記インターフェース接続装置を管理する筺体管理手段の動作も停止することを特徴とする請求項１６に記載のディスクアレイ装置の障害回避制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクアレイ装置に係り、特に複数のディスク構成要素をファイバチャネルループ等のループ状通信手段にて接続して構成したディスクアレイ装置およびその障害回避制御方法に適用して有効な技術に関する。
【背景技術】
【０００２】
超高速ギガビット・ネットワーク技術の一つとして、ＡＮＳＩ  ＮＣＩＴＳ  Ｔ１１（旧ＡＮＳＩ  Ｘ３  Ｔ１１）で標準化が進められているファイバチャネルが知られている。このようなファイバチャネル（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ：ＦＣ）のループ（以下、ＦＣループと称する）を利用すれば、複数のハードディスク装置を接続して１つの大きな大規模記憶装置、所謂ディスクアレイ装置を構築することができる。
【０００３】
一方、近年、シリアルインターフェースによってデータの読み書きを行うドライブ装置、所謂ＳＡＴＡ（Ｓｅｒｉａｌ  Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）ドライブ装置が考えされている。特許文献１は情報処理装置にＳＡＴＡドライブ装置を利用したものを開示する。
【特許文献１】米国特許公開公報：ＵＳ２００３／０１３５５７７  Ａ１
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、ＳＡＴＡドライブ装置は、ディスクアレイ装置に容易に適用できるものではなく、特にＳＡＴＡドライブ装置をディスクアレイ装置に適用するには、複数のＳＡＴＡドライブ装置を搭載する筐体の管理のやり方、ＳＡＴＡドライブ装置に対するデータの読み書きを制御するコントローラとの接続の方法等の多くの課題を解決することが要求される。
【０００５】
本発明の目的は、上記従来技術の課題を解決して、ＳＡＴＡドライブ装置をディスクアレイ装置として用いた大規模記憶装置を提供することにある。
【課題を解決するための手段】
【０００６】
本発明は、ディスクアレイ装置のドライブ筺体（すなわち、ディスクドライブ筐体）を構成するハードディスク装置（ディスクドライブ装置、またはディスクドライブ、あるいは単にドライブとも称する）にＳＡＴＡドライブ装置を用い、２重のＦＣループを介して複数のドライブ筐体を接続したディスクアレイ装置とし、このディスクアレイ装置におけるエラー（すなわち、障害）発生側のＳＡＴＡドライブ装置を特定し、これをＦＣループから切離し、かつこの切り離しの際のコントローラ（以下、システムコントローラ）とドライブ筺体を構成するドライブコントローラ間の切り替わり制御のすれ違いを回避して正常側のディスクドライブ筺体へのアクセスを継続できるようにした。
【０００７】
このようなＳＡＴＡドライブ装置を用いたディスクアレイ装置において、ＦＣループを２重に設定し、エラーが発生したドライブ筺体のディスク装置をＦＣループから切り離す際に、そのドライブコントローラも閉塞させないと、インターフェース接続装置のファームウエア暴走や潜在バグ等の誤動作が起きる可能性がある。または、ドライブ筐体のドライブコントローラとシステムコントローラ筺体のシステムコントローラのエラー検出時のすれ違いで、障害側のドライブ筺体のドライブコントローラから正常側のドライブ筺体のドライブコントローラに切り替わろうとしている時に、システムコントローラが正常側のドライブ筺体のドライブコントローラ側を閉塞させるような事態が発生する場合があり、その結果、システム全体のダウンを招くことがある。
【０００８】
また、エラー発生側のドライブ筺体のドライブコントローラの切離し不可エラーすなわちループ障害が起きると、システムからの当該エラー発生側のドライブ筺体の切り分けができないためＦＣループによるシステムコントローラと各ドライブ筺体間の通信を維持することができなくなる。
【０００９】
ＦＣループの規格上、当該ＦＣループが１カ所でも切断されると、システムコントローラとＦＣループ上の各ドライブ装置との通信が不可能になる。
【００１０】
このような事態に対処するため、本発明は、ＦＣループを利用して構築されたＳＡＴＡドライブ装置のディスクアレイで構成した記憶装置システム（以下、単にシステムとも称する）では、個々のディスク装置を切り離す場合に、例えばポートバイパス回路（ＰＢＣ）によって接続を繋ぎ替えてＦＣループが途切れない様に制御する。
【００１１】
ＦＣループを利用して、ディスク装置とそのディスク装置自身をコントロールするコントローラ（以下、ドライブコントローラ）を収容して１つのドライブ筺体とし、複数のドライブ筺体の全体をコントロールするシステムコントローラを収容したシステムコントローラ筺体を接続したディスクアレイ装置が構築される。なお、追加するドライブ筺体は増設筺体とも称する。このようなディスクアレイ装置においては、特定のドライブ筐体に障害が発生した場合は、前記したＰＢＣによって、障害（以下、エラーとも称する）が発生したのドライブ筺体をＦＣループから切り離すことによって、他のドライブ筺体の動作を継続させる手法が採用される。しかし、何らかの理由でＦＣループの接続が切れた場合やＦＣループの通信を妨害された場合は、ＦＣループに接続されている全ドライブ筺体が使用不可になる。
【００１２】
本発明は、このようなＦＣループ接続したシステムコントローラ筺体と複数のドライブ筺体とからなる大容量の記憶装置における障害発生に対処するために、ＦＣループを２重に設定し、片方のループで障害が発生した場合、もう一方のループを使用して通信を続けさせるようにし、エラーが発生したドライブ筺体を特定して、当該ドライブ筺体のドライブをＦＣループから切り離すようにする。
【００１３】
また、本発明は、ＦＣループとドライブ筐体のコントローラ（ドライブコントローラ）間にＦＣループデータをＳＡＴＡドライブ装置で読み書きできるデータに変換するインターフェース接続装置を設けた。そして、本発明では、複数のドライブ筺体の何れかにエラーが発生した時は当該ドライブコントローラ（ＲＡＩＤコントローラとも称する）あるいは正常側のドライブコントローラの指示でエラー側のドライブコントローラの電源をオフまたはリセットさせる。
【００１４】
さらに、本発明では、ドライブコントローラのエラー発生に備えて、ＦＣループと各インターフェース接続装置の間にポートバイパス回路（ＰＢＣ）を設ける。このポートバイパス回路（ＰＢＣ）により、ＦＣループをエラー発生側のドライブ筺体より後段のドライブ筺体以降からバイパスさせ、あるいはエラー発生側のドライブ筺体をバイパスさせることで、ＦＣループのエラーの切り分けを可能とする。
【００１５】
すなわち本発明は、ディスクアレイ装置（記憶装置）の構成単位となるドライブとディスクコントローラとからなる。そして、このドライブコントローラを２重に設けてドライブ筐体を構成する。この２重構成のドライブコントローラを制御する如く２つのシステムコントローラを配置したコントローラ筺体である基本筺体（ＲＡＩＤコントローラとも称する）を備える。ドライブ筺体およびシステムコントローラをＦＣ等の通信線で２系統のループ状に接続してＦＣループとし、システムコントローラおよびドライブ筺体の相互間におけるデータの授受を行う。そして、ドライブ筺体およびシステムコントローラの上記ＦＣループに対する接続および切り離しを個別に制御する前記したポートバイパス回路ＰＢＣを設ける。なお、ポートバイパス回路ＰＢＣは、単に信号の有無によりポートをバイパスするもので、実際の制御はシステムコントローラが行う。
【００１６】
このように、本発明によるディスクアレイ装置は、２つのシステムコントローラを有する少なくとも１つのコントローラ筐体と、複数のドライブ筐体と、複数のコントローラ筐体と複数のドライブ筐体を接続する複数のＦＣループとから構成する。
【００１７】
そして、コントローラ筐体は、ホストコンピュータ等の上位装置に接続されて該上位装置からデータを受ける通信制御部と、この通信制御部に接続されて上位装置との間でやり取りされるデータを保存するキャッシュメモリと、通信制御部およびキャッシュメモリに接続されてＦＣループを介して上位装置との間でやり取りされるデータを通信制御部に対して転送、又は前記通信制御部からの受信を制御する複数のコントローラ部とを少なくとも有する。
【００１８】
また、ＳＡＴＡディスク装置で構成したドライブ筐体は、ＦＣループと接続されてコントローラ筐体との間の接続の切り替えを行う複数のポートバイパス回路ＰＢＣと、コントローラ筺体と複数のＦＣループにより接続されて当該複数のＦＣループにおいて利用されるファイバチャネルインターフェースと、ディスクドライブ用のインターフェースと接続する複数のインターフェース接続装置と、複数のインターフェース接続装置に接続されて該複数のインターフェース接続装置からのデータの受信の切り替えを制御する複数のデュアルポート切り替え装置と、複数のデュアルポート切り替え回路に接続されてコントローラ筺体により転送されたデータをＦＣループ、ポートバイパス回路、インターフェース接続回路、およびデュアルポート切り替え回路を介して受信し、格納する。
【００１９】
そして、２重構成としたドライブ筺体の各々のドライブコントローラには、該ドライブ筺体の動作を監視する筐体管理用プロセッサをそれぞれ有する。この筐体管理用プロセッサにはファイバチャンネルのアドレス（ＦＣ−ＡＬのアドレス、ALPA(Arbitrated Loop Physical Address)）を割り当てておく。
【００２０】
上記構成において、筐体管理用プロセッサは、２重構成とされる他の筐体管理用プロセッサと通信し、他の筐体管理用プロセッサが監視しているドライブコントローラにエラーが発生したことを認識した場合には、これをシステムコントローラに通知する。システムコントローラは、この通知に応じてエラーが発生したドライブ筺体の動作を閉塞させる。
【発明の効果】
【００２１】
本発明によれば、ＳＡＴＡドライブ装置を適用したディスクアレイ装置を提供できる。
【００２２】
なお、本発明は、上記の構成および後述する実施の形態に記述される構成に限定されるものではなく、特許請求の範囲に記載された本発明の技術思想を逸脱することなく種々の変更が可能である。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の実施の形態につき、実施例を図面を用いて詳細に説明する。最初に本発明に係るディスクアレイ装置の構成について説明する。
【００２４】
図１は本発明のディスクアレイ装置の全体を説明する外観図であり、図１（ａ）は正面図、図１（ｂ）は背面図を示す。図２は図１における基本筺体の構成の説明図であり、図２（ａ）は一部の構成部材を引き出した正面斜視図、図２（ｂ）は一部の構成部材を引き出した背面斜視図である。図３は図１における増設筺体の構成の説明図であり、図３（ａ）は一部の構成部材を引き出した正面斜視図、図３（ｂ）は一部の構成部材を引き出した背面斜視図である。図４は図２または図３に示したディスクドライブユニットの構成例の説明図である。
【００２５】
図１（ａ）に示したように、本発明のディスクアレイ装置１０はラックフレーム１１に形成された複数段のマウントフレーム１２を有し、このマウントフレーム１２に基本筺体２０および増設筺体３０が引出し式に装着されている。図１中、参照符号５２は図４に示されているディスクドライブ５１が装填されたディスクドライブユニット、５３はバックアップ電源であるバッテリーユニット、５４はディスクドライブ５１の稼働状態などを表示するＬＥＤランプ等の表示デバイスを有する表示パネル、５５はメンテナンスプログラムをロードする場合などに用いるフレキシブルディスクドライブである。
【００２６】
図１（ｂ）に示したように、ラックフレーム１１の背面には電源コントローラボード５６が設置されている。電源コントローラボード５６は複数のディスクドライブ５１間のＦＣループの制御を行うＰＢＣ（ポートバイパス回路）やＡＣ／ＤＣ電源５７の状態監視、ディスクドライブ５１の電源供給の制御、冷却ファン６６（図２、図３参照）の制御、表示パネル５４上の表示デバイスの制御、基本筺体や増設筺体の各部の温度監視、などを行う回路等が実装されている。
【００２７】
また、電源コントローラボード５６にはＦＣケーブル９１のコネクタ６７が設けられている。なお、図１における参照符号４８は制御ライン、４９は電源供給ライン、５８は冷却ファンユニット、５９はコントローラボード、６３はコネクタ、９２は１または複数の上位装置（ホストコンピュータ１００と接続する通信ケーブルである。
【００２８】
基本筺体２０は、図２（ａ）に示したように、多数のディスクドライブユニット５２が引出し式に装填されている。また、ディスクドライブユニット５２の下側にはバッテリーユニット５３、フレキシブルディスクドライブ５５が収納され、表示パネル５４が装着されている。
【００２９】
基本筺体２０の背面には、図２（ｂ）に示したように、複数のディスクドライブ５１の電源を制御する電源コントローラボード５６が設けられている。電源コントローラボード５６にはコネクタ６７が設けられており、このコネクタ６７にＦＣループの一部となるＦＣケーブルが接続される。また、基本筺体２０の背面には、各部に電源を供給するＡＣ／ＤＣ電源５７が装着され、電源コントローラボード５６と接続される。参照符号６４はブレーカスイッチである。ＡＣ／ＤＣ電源５７の下側には冷却ファン６６を有する冷却装置５８が設けられている。そしてさらに、インターフェースボード６１を搭載したコントローラボード５９が装着されている。コントローラボード５９にはキャッシュメモリ６２、前記した上位装置（ホストコンピュータ）１００と接続する通信ケーブル９２を接続するコネクタ６３を有する。同図では、上位装置を１個のみ示した。
【００３０】
インターフェースボード６１のコネクタ６３は、ホストコンピュータ１００と接続するためのファイバチャンネル（ＦＣ）、イーサネット（Ｅｔｈｅｒｎｅｔ、登録商標）、などのプロトコルで構築されたＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＬＡＮ（Ｌｏｃａｌ  Ｅｒｅａ  Ｎｅｔｗｏｒｋ）、ＳＣＳＩなどのインターフェース規格に準拠している。
【００３１】
増設筺体３０は、図３（ａ）に示した正面側に多数のディスクドライブユニット５２が引出し式に装填されている。背面側には、図２で説明した基本筺体２０と同様の電源コントローラボード５６とＡＣ／ＤＣ電源５７および冷却装置５８が設けられている。
【００３２】
基本筺体２０と増設筺体３０におけるディスクドライブユニット５２を構成するディスクドライブ５１は、図４に示すように、筺体７０内に磁気ディスク（ハードディスク）７３、アクチュエータ７１、スピンドルモータ７２、データの読み書きを行う磁気ヘッド７４、磁気ヘッド７４を含む各機構部分を制御する機構制御回路７５、データの読み書き信号を制御する信号処理回路、通信インターフェース回路７７、各種コマンドやデータが入出力されるインターフェースコネクタ７９、電源コネクタ８０を備えている。
【００３３】
ディスクドライブ５１は、例えば、コンタクト・スタート・ストップ（ＣＳＳ）方式の公称３．５インチサイズ、ロード／アンロード方式の公称２．５インチサイズの磁気ディスクを用いることができる。ディスクドライブ５１は、例えばシリアルＡＴＡ（ＳＡＴＡ）の通信インターフェースを有している。なお、以下では、ディスクドライブ装置としてＳＡＴＡディスクドライブ装置を用いたものとして説明する。
【００３４】
図５は本発明の実施例１におけるディスクアレイ装置の障害回避制御方法の基本を説明する模式図であり、２重構成されたＳＡＴＡドライブ筺体の一方に障害（エラー）が発生した時のアクセスパス切り替えの基本的な制御方法を示す。図５の（Ａ）は正常動作時、図５の（Ｂ）は障害動作時のアクセスパスを説明する模式図である。図中、参照符号１Ａは２重構成されたシステムコントローラの１番目のシステムコントローラ（ＣＴＬ♯０）、１Ｂは２番目のシステムコントローラ（ＣＴＬ♯１）である。
【００３５】
また、参照符号２はバックエンド（システムコントローラとドライブコントローラを接続する）、３は増設ディスクアレイ装置としてのＳＡＴＡドライブ筺体（ＤＩＳＫ−ＥＮＣ♯０）、ＤＩＳＫ−ＥＮＣ♯１は増設ドライブ筺体である。４Ａは第１のインターフェース接続装置（Ｉ／Ｆ−０）、４Ｂは第２のインターフェース接続装置（Ｉ／Ｆ−１）、５Ａは第１のドライブ筺体管理プロセッサ（ＥＭＰ−０）、５Ｂは第２のドライブ筺体管理プロセッサ（ＥＭＰ−１）、６A,６Bはポートバイパス回路（PBC）、７はデュアルポートデバイス(DPD)、８はＳＡＴＡディスクを示す。そして、Ｌ−♯０は第１のバックエンドＦＣループ、Ｌ−♯１は第２のバックエンドＦＣループである。
【００３６】
１番目のシステムコントローラ（ＣＴＬ♯０）１Ａと２番目のシステムコントローラ（ＣＴＬ♯１）１ＢはバックエンドＦＣループＬ−♯０、Ｌ−♯１でそれぞれＳＡＴＡドライブ筺体（ＤＩＳＫ−ＥＮＣ♯０）、ＤＩＳＫ−ＥＮＣ♯１、・・・に接続している。第１のドライブ筺体管理プロセッサ（ＥＭＰ−０）５Ａ、第２のドライブ筺体管理プロセッサ（ＥＭＰ−１）５Ｂは、ポートバイパス回路（PBC）６A,６Bを介して第１のインターフェース接続装置（Ｉ／Ｆ−０）４Ａ、第２のインターフェース接続装置（Ｉ／Ｆ−１）４Ｂに接続している。ＳＡＴＡディスク８はデュアルポートデバイス（DPD）７を介して第１のインターフェース接続装置（Ｉ／Ｆ−０）４Ａ、第２のインターフェース接続装置（Ｉ／Ｆ−１）４Ｂに接続している。
【００３７】
正常動作時は、図５（Ａ）に示したように、１番目のシステムコントローラ（ＣＴＬ♯０）１Ａと２番目のシステムコントローラ（ＣＴＬ♯１）１Ｂは、それぞれバックエンド２を介してＳＡＴＡドライブ筺体（ＤＩＳＫ−ＥＮＣ♯０）３のポートバイパス回路６A,６B、第１のインターフェース接続装置（Ｉ／Ｆ−０）４Ａ、第２のインターフェース接続装置（Ｉ／Ｆ−１）４Ｂ、デュアルポートデバイス７を通してディスクアレイを構成するディスク８と通信してデータの読み書きを実行している。この状態を図中に太い矢印で示す。
【００３８】
ここでは、第２のバックエンドＦＣループ♯１にエラーが発生した場合を想定する。第２のバックエンドループＬ−♯１にエラーが発生すると、第２のドライブ筺体管理プロセッサ（ＥＭＰ−１）５Ｂがディスク装置に接続しているパスコントローラのパスを切り替える。また、２番目のシステムコントローラ（ＣＴＬ♯１）１Ｂは、エラーが発生した第２のバックエンドＦＣループ♯１との接続を止め、正常なバックエンドＦＣループである１番目のシステムコントローラ（ＣＴＬ♯０）１Ａに切り替えてディスク装置へのアクセスを実施する。こうして、バックエンドＦＣループにエラーが発生しても、ディスク装置へのアクセスが継続される。
【００３９】
以下、上記した本発明の基本的な障害回避制御方法に基づく本発明の実施例について、さらに詳細に説明する。
【実施例１】
【００４０】
図６は本発明によるディスクアレイ装置の実施例１の構成を説明する機能ブロック図である。また、図７は図６におけるシステムコントローラの内部構成例を説明する機能ブロック図である。ディスクアレイ装置は、基本筺体１１０と増設筺体１４０を有する。基本筺体１１０はこのディスクアレイ装置（記憶装置）を制御する２つのシステムコントローラ１２０Ａと１２０Ｂを有している。このシステムコントローラ１２０Ａと１２０Ｂは、所謂ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）コントローラである。基本筺体１１０はＳＡＮ（Ｓｔｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１３０で上位装置であるＰＣサーバなどのホストコンピュータ１００Ａ，１００Ｂに接続されている。ホストコンピュータ１００Ａ，１００ＢはＦＣ／ＳＣＳＩインターフェースボードであるホストアダプター１０２Ａ，１０２Ｂを有している。基本筺体１１０と増設筺体１４０はバックエンドＦＣループ１６０で接続されている。
【００４１】
増設筺体１４０はドライブ筺体であり、ここでは１個のみを示したが、実際には前記図１等で説明したように、複数個設置される（以下では、増設筺体１４０をドライブ筺体とも称する）。増設筺体１４０はＳＡＴＡドライブであるディスク装置１７１，１７３を有し、このディスク装置１７１，１７３に対して、ドライブコントローラは第１のドライブコントローラ１５０Ａと第２のドライブコントローラ１５０Ｂからなる２重構成とされている。第１のドライブコントローラ１５０Ａはドライブ筺体のコントローラ（ドライブコントローラ）であり、第１のポートバイパス回路１５１Ａ、第１のインターフェース接続装置１５２Ａ、第１の筺体管理プロセッサ１５３Ａを有している。
【００４２】
なお、増設筐体のドライブコントローラにはインテリジェントな半導体チップ（プロセッサ）が載っている。これは、基本筐体のシステムコントローラと増設筐体のドライブコントローラに指揮系統が２つあるということである。このような構成において、仮にドライブコントローラのインターフェース接続装置にエラーが発生すると、インテリジェントな半導体チップなために、該チップの予期しない暴走や潜在バグなどの誤動作が起きる可能性がある。誤動作が起きることでシステムに影響を与えることのないように、リセットまたは電源のオフを行うことで完全に停止させる。こうすることで、誤動作を防止する。
【００４３】
第１のドライブコントローラ１５０Ａの第１のインターフェース接続装置１５２ＡはＦＣループ上に転送されるＦＣ形式のデータをＳＡＴＡ形式に変換する機能を有する。第２のドライブコントローラ１５０Ｂについても同様である。第１の筺体管理プロセッサ１５３Ａ、第２の筺体管理プロセッサ１５３Ｂはドライブ筺体１４０の状態（電源異常、温度異常、パス異常など）を監視し管理するプロセッサである。両筺体管理プロセッサ１５３Ａ、１５３Ｂはお互いに専用線１８０で接続されて管理情報を通知し合っている。筺体管理プロセッサ１５３Ａ、１５３Ｂは第１のポートバイパス回路１５１Ａ、第２のポートバイパス回路１５１Bに接続されている。そして、この筺体管理プロセッサ１５３Ａ、１５３ＢにはFC-ALのアドレスが割り当てられている。
【００４４】
ＳＡＴＡドライブはディスク１７１、１７３およびデュアルポートデバイス（２ポート装置）ＤＰＤ１７０，１７２から構成される。デュアルポートデバイスＤＰＤ１７０，１７２はディスク１７１、１７３を第１のドライブコントローラ１５０Ａの第１のインターフェース接続装置１５２Ａと第２のドライブコントローラ１５０Ｂの第２のインターフェース接続装置１５２Ｂとにアクセスパスを切り分ける機能を有する。すなわち、第１のドライブコントローラ１５０Ａの第１のインターフェース接続装置１５２Ａと第２のドライブコントローラ１５０Ｂの第２のインターフェース接続装置１５２Ｂからのデータ線のどちらかをディスク１７１，１７３に繋げる機能を有する。
【００４５】
第１のポートバイパス回路１５１Ａ、第２のポートバイパス回路１５１Ｂはパス（データ線）の経路を切り分ける回路で、これら自身がパス切り分けを実行するのではなく、システムコントローラ１２０Ａ，１２０Ｂの指示に従ってパスを切り分ける。
【００４６】
図６におけるシステムコントローラ１２０Ａは、例えば図７に示したような構成を有する。システムコントローラ１２０Ａはホストコンピュータ１００Ａ，１００Ｂとの通信を司るインターフェースを備えた通信制御装置１２１Ａ、通信制御装置１２１Ａとコントローラ部１２３Ａの間で授受されるデータを一時的に記憶するキャッシュメモリ１２２Ａを有する。参照符号１２４Ａはデータバスを示す。コントローラ部１２３Ａは。通信制御装置１２１Ａからのデータ入出力要求によりドライブ（ディスク）へのデータの書き込みや読み出しをキャッシュメモリ１２２Ａを介して実行する。システムコントローラ１２０Ｂについても同様である。
【００４７】
図８はＲＡＩＤコントローラを有する基本筺体１１０に有する制御プログラムの内容の説明図である。この（ＲＡＩＤ  ＣＴＬ）４００は、システム全体を制御する基本プログラムであるＲＡＩＤ制御プログラム４０１、システム全体の障害（エラー）を検出する障害検出プログラム４０２、障害の発生したドライブコントローラ（２５０Ａまたは２５０Ｂ）を閉塞処理させた後に当該障害の発生したドライブコントローラが本当に閉塞しているか否かを確認する無応答指示プログラム４０３で構成される。
【００４８】
上記の構成としたディスクアレイ装置において、何れかの増設筺体のドライブコントローラの一方に異常が起きてエラーとなった場合のシステム動作を図９と図１０を参照して説明する。なお、以下の説明では、２重構成部分については、繰り返しの説明による煩雑さを避けるため、必要な場合を除いてその一方についてのみ説明するが、他方の動作も同様であることに留意すべきである。実施例２以降の説明でも同様である。
【００４９】
図９は図６に示した本発明の実施例１をさらに詳細に説明するディスクアレイ装置の構成を説明する機能ブロック図である。また、図１０は図９の動作を説明する流れ図である。図９の構成は、基本的には図６と同一構成であるが、本実施例に必要な機能部分をさらに図面に挙げてある。なお、図９では図６と同一機能部分の１００番台の符号を２００番台を基本とした符号で示してある。基本筺体２１０については、そのシステムコントローラ２２０Ａがホストインターフェース２２１Ａとパス切り替えスイッチ２２２Ａを有していることを示している。また、第１のドライブコントローラ２５０Ａには、異常のあるドライブコントローラのインターフェース接続装置２５２Ａおよび筺体管理プロセッサにリセットもしくは、その電源をオフ状態とするためのリセット発生回路２５４Ａを有している。
【００５０】
参照符号２８１はリセット発生回路２５４Ｂから第１のドライブコントローラ２５０Ａの筺体管理プロセッサ２５３Ａにリセットもしくは、その電源をオフ状態とするための信号を伝送するための信号線である。そして、第１のドライブコントローラ２５０Ａおよび第２のドライブコントローラ２５０Ｂには、それぞれ筺体管理プロセッサ制御プログラム２５６Ａ，２５６Ｂを格納したメモリ２５５Ａ，２５５Ｂが設けられている。筺体管理プロセッサ２５３Ａ、２５３Ｂは第１のポートバイパス回路２５１Ａ、第２のポートバイパス回路２５１Bに接続されている。そして、この筺体管理プロセッサ２５３Ａ、２５３ＢにはFC-ALのアドレスが割り当てられている
【００５１】
図１０は図９の動作を説明する流れ図である。図９の構成では、筺体管理プロセッサ２５３Ａ，２５３Ｂがポートバイパス回路２５１Ａ，２５１Ｂと直接接続されている。また、図１０は、正常側のポートバイパス回路２５１Ｂが直接筐体管理プロセッサ２５３Ｂに筐体管理プロセッサ２５３Ａのリセット／電源オフコマンドを渡し、このコマンドに基づいてリセット発生回路２５４Ａにリセット／電源オフ信号を発信させる。
【００５２】
次に、図１０を参照して図９の構成における障害発生時の処理の流れを説明する。ここでは、増設筺体２４０の第１のドライブコントローラ２５０Ａに異常（エラー）が発生した場合について、その閉塞指示が当該第１のドライブコントローラ２５０Ａから発行された場合を例として説明するが、エラー発生により閉塞指示が第２のドライブコントローラ２５０Ｂから発行された場合も同様である。また、ここでは、異常が発生したドライブコントローラが第２のドライブコントローラ２５０Ｂである場合も同様である。図１０では、上部横方向に左からシステムコントローラ２２０Ａ（２２０Ｂ）、障害側ポートバイパス回路２５１Ａ、障害側インターフェース接続装置２５２Ａ、障害側筐体管理プロセッサ２５３Ａ、障害側リセット発生回路２５４Ａ、正常側のポートバイパス回路２５１Ｂ、正常側筐体管理プロセッサ２５３Ｂの順で表記し、各機能部分の動作の順を矢印で示す。
【００５３】
まず、システムコントローラ２２０Ａは、図８の障害検出プログラム４０２で、定期的に、両ドライブコントローラ２５０Ａ，２５０Ｂに「Ｒｅｃｅｉｖｅ  ｄｉａｇ」コマンドで筺体管理プロセッサ２５３Ａ，２５３Ｂのログを採取して、障害発生の有無を監視している。システムコントローラ２２０Ｂの場合も同様である。
【００５４】
ここで、インターフェース接続装置２５２Ａで障害が発生したものとする。
【００５５】
障害側ポートバイパス回路２５１Ａは筐体管理プロセッサ２５３Ａへの「Ｒｅｃｅｉｖｅ  ｄｉａｇ」コマンドを受信する。
【００５６】
インターフェース接続装置２５２Ａは通信ができなくなる。障害側筐体管理プロセッサ２５３Ａは、ポートバイパス回路２５１Aを介してインターフェース接続装置２５２Ａからの障害を検知しているので、その情報をシステムコントローラ２２０Ａに返信する。
【００５７】
システムコントローラ２２０Ａは筺体管理プロセッサ２５３Ａから障害情報を採取、若しくはシステムコントローラ２２０Ａにコマンドが帰ってこないので、正常側のドライブコントローラ２５０Ｂへのパス切り換えを行う。そして、正常側の筺体管理プロセッサ２５３Ｂに対して、無応答指示プログラム４０３により、障害側のインターフェース接続装置２５２Ａと筺体管理プロセッサ２５３Ａを停止させるためのリセット／電源オフ指示を発行する（Ｓｅｎｄ  ｄｉａｇ  コマンド発行）。
【００５８】
正常側ポートバイパス回路２５１Ｂは、障害側のインターフェース接続装置２５２Ａと筺体管理プロセッサ２５３Ａを停止させるためのリセット／電源オフコマンドを受信する。
【００５９】
正常側の筺体管理プロセッサ２５３Ｂは、障害側のインターフェース接続装置２５２Ａと筺体管理プロセッサ２５３Ａを停止させるためのリセット／電源オフコマンドを受信し、リセット／電源オフコマンドをリセット発行回路２５４Ａへ発行する。
【００６０】
障害側のリセット発生回路２５４Ａは、リセット／電源オフコマンドを受信し、障害側のインターフェース接続装置２５２Ａと筺体管理プロセッサ２５３Ａへリセット／電源オフ信号を発信する。
【００６１】
障害側の筺体管理プロセッサ２５３Ａはこのリセット／電源オフ信号を受信して停止する。
【００６２】
同様に、障害側のインターフェース接続装置２５２Ａもこのリセット／電源オフ信号を受信して停止する。
【００６３】
以上説明した一連の動作により、障害発生側のドライブコントローラ（ＳＡＴＡドライブ）の切離しが確実に行われ、システムダウンを招くことなく、ＦＣループによるシステムコントローラと各ドライブ筺体間の通信を維持することができる。
【００６４】
本実施例によれば、筐体管理プロセッサを設けることで、ＳＡＴＡ増設筐体内の障害に迅速に対応できる。また、本実施例によれば、システムコントローラが、ＦＣループ、ＰＢＣ、およびインターフェース接続装置を介して、ＳＡＴＡドライブ装置へデータを読み書きできるため、ディスクアレイ装置として大量のデータの読み書きを制御できる。そして、本実施例によれば、複数のシステムコントローラが複数のＦＣループを介してＳＡＴＡ増設筐体に接続されているため、耐障害性の高いディスクアレイ装置を構成できる。
【実施例２】
【００６５】
実施例２は、障害が発生した増設筐体のドライブコントローラを正常な増設筺体のドライブコントローラにバイパスすることで、上位装置との間のデータのやりとりを継続して実行できるようにするものである。
【００６６】
図１１は本発明によるディスクアレイ装置の実施例２の構成を説明する機能ブロック図であり、通常動作の状態にある基本筐体７１０と複数の増設筐体７４０、７６０、７８０からなるディスクアレイ装置の構成を示す。なお、前記各実施例と同じ機能部分についての参照符号は７００番台で記してある。基本筐体７１０は２重構成としたＲＡＩＤコントローラであるシステムコントローラ７２０Ａ、７２０Ｂからなる。システムコントローラ７２０Ａ、７２０Ｂは、ホストインターフェース７２１Ａ、７２１Ｂを介して上位装置（ホストコンピュータ等）７００Ａ、７００Ｂと通信を行う。また、システムコントローラ７２０Ａ、７２０Ｂは、それぞれパス切り替えスイッチ７２２Ａ、７２２Ｂを有する。
【００６７】
増設筐体７４０は第１のドライブコントローラ７５０Ａ、第２のドライブコントローラ７５０Ｂからなり、それぞれはポートバイパス回路７５１Ａ、７５１Ｂを有している。そして、第１のドライブコントローラ７５０Ａ、第２のドライブコントローラ７５０Ｂは、そのポートバイパス回路７５１Ａ、７５１Ｂをを介してシステムコントローラ７２０Ａ、７２０Ｂのパス切り替えスイッチ７２２Ａ、７２２ＢにＦＣループで接続している。図中、ＦＣループの経路を太線矢印で示してある。
【００６８】
図１２は図１１の増設筐体の詳細な構成を示す図である。なお、図１２は図１１の増設筐体７４０の構成を示すが、他の増設筐体７６０、７８０、・・も同じ構成である。増設筺体７４０はＳＡＴＡドライブであるディスク装置７７１，７７３を有し、このディスク装置７７１，７７３に対して、ドライブコントローラは第１のドライブコントローラ７５０Ａと第２のドライブコントローラ７５０Ｂからなる２重構成とされている。第１のドライブコントローラ７５０Ａはドライブ筺体のコントローラ（ドライブコントローラ）であり、第１のポートバイパス回路７５１Ａ、第１のインターフェース接続装置７５２Ａ、第１の筺体管理プロセッサ７５３Ａを有している。
【００６９】
なお、増設筐体７４０のドライブコントローラにはインテリジェントな半導体チップ（プロセッサ）が載っている。これは、基本筐体のシステムコントローラと増設筐体のドライブコントローラに指揮系統が２つあるということである。このような構成において、仮にドライブコントローラのインターフェース接続装置にエラーが発生すると、インテリジェントな半導体チップなために、該チップの予期しない暴走や潜在バグなどの誤動作が起きる可能性がある。誤動作が起きることでシステムに影響を与えることのないように、リセットまたは電源のオフを行うことで完全に停止させる。こうすることで、誤動作を防止する。
【００７０】
第１のドライブコントローラ７５０Ａの第１のインターフェース接続装置７５２ＡはＦＣループ上に転送されるＦＣ形式のデータをＳＡＴＡ形式に変換する機能を有する。第２のドライブコントローラ７５０Ｂについても同様である。第１の筺体管理プロセッサ７５３Ａ、第２の筺体管理プロセッサ７５３Ｂはドライブ筺体７４０の状態（電源異常、温度異常、パス異常など）を監視し管理するプロセッサである。両筺体管理プロセッサ７５３Ａ、７５３Ｂはお互いに専用線７８０で接続されて管理情報を通知し合っている。筺体管理プロセッサ７５３Ａ、７５３Ｂは第１のポートバイパス回路７５１Ａ、第２のポートバイパス回路７５１Bに接続されている。そして、この筺体管理プロセッサ７５３Ａ、７５３ＢにはFC-ALのアドレスが割り当てられている。
【００７１】
ＳＡＴＡドライブはディスク７７１、７７３およびデュアルポートデバイス（２ポート装置）ＤＰＤ７７０，７７２から構成される。デュアルポートデバイスＤＰＤ７７０，７７２はディスク７７１、７７３を第１のドライブコントローラ７５０Ａの第１のインターフェース接続装置７５２Ａと第２のドライブコントローラ７５０Ｂの第２のインターフェース接続装置７５２Ｂとにアクセスパスを切り分ける機能を有する。すなわち、第１のドライブコントローラ７５０Ａの第１のインターフェース接続装置７５２Ａと第２のドライブコントローラ７５０Ｂの第２のインターフェース接続装置７５２Ｂからのデータ線のどちらかをディスク７７１，７７３に繋げる機能を有する。
【００７２】
第１のポートバイパス回路７５１Ａ、第２のポートバイパス回路７５１Ｂはパス（データ線）の経路を切り分ける回路で、これら自身がパス切り分けを実行するのではなく、システムコントローラ７２０Ａ，７２０Ｂの指示に従ってパスを切り分ける。なお、システムコントローラ７２０Ａは、例えば図７に示した構成を有する。
【００７３】
図１１におけるＦＣループの経路は、障害の無い通常状態での基本筐体と増設筐体７４０、７６０、７８０の各筐体間でのアクセス経路を示している。増設筐体は３個に限られるものでは無いが、煩雑さをさけるため３個のみが接続されているものとして説明する。後段に増設筐体が繋がれないときは、図中に矢印Ａで示したように、ＦＣケーブルはポートバイパス回路７９１Ａで折り返す形になる。なお、図１１では、基本筐体７１０のシステムコントローラ７２０Ａ側についてのみ示してあるが、システムコントローラ７２０Ｂ側についても同様である。
【００７４】
通常の状態では、増設筐体７４０、７６０、７８０は、その各第１のドライブコントローラ７５０Ａ、７７０Ａ、７９０Ａを図示したようにＦＣループで接続されている。基本筐体７１０のシステムコントローラ７２０Ａに有するパス切り替えスイッチ７２２Ａから増設筐体７４０の第１のドライブコントローラ７５０Ａに有するポートバイパス回路７５１Ａを介して第１のインターフェース接続装置７５２Ａに入り、当該第１のインターフェース接続装置７５２Ａに図示しないデュアルポートデバイスで接続されているＳＡＴＡドライブであるディスク装置に対してホストコンピュータ７００Ａあるいは７００Ｂとの間で転送されるデータの書込み／読出しを実行している。また、その後段の増設筐体７６０、７８０についても同様の構成でＦＣループ接続され、全体として２重のＦＣループ接続されたＳＡＴＡディスクアレイ装置を構成している。
【実施例３】
【００７５】
図１３は本発明によるディスクアレイ装置の実施例３の構成を説明する機能ブロック図である。図１１と同じ機能部分の参照符号は８００番台で記してある。本実施例は、異常発生時の基本筐体８１０と複数の増設筐体８４０、８６０、８８０からなるディスクアレイ装置の構成を示す。増設筐体８４０、８６０，８８０、・・・の詳細構成は図１２と同様で、図１２の700番台の参照符号を800番台に読み替えればよい。
【００７６】
また、図１４は図１３の動作を説明する流れ図である。図１４には、左から順にシステムコントローラ８２０A(８２０B)、障害側のポートバイパス回路８７１A、障害側のインターフェース接続装置８７２A、障害側の筐体管理プロセッサ８７３A、障害側のリセット発生回路８７４A、正常側のポートバイパス回路８７１B、正常側の筐体管理プロセッサ８７３Bの動作を示す。
【００７７】
ここでは、図１３の通常動作状態から増設筐体８６０の第１のドライブコントローラ８７０Ａ側に障害が発生した場合における障害発生筐体バイパス制御方法を図１４の流れ図を参照して説明する。
【００７８】
（１）システムコントローラ８２０Ａは、図８の障害検出プログラム４０２で、定期的に、各増設筐体８４０、８６０、８８０のドライブコントローラ８５０Ａ，８５０Ｂ、８７０Ａ，８７０Ｂ、８９０Ａ，８９０Ｂに「Ｒｅｃｅｉｖｅ  ｄｉａｇ」コマンドでそれぞれの筺体管理プロセッサのログを採取して、障害発生の有無を監視している。システムコントローラ８２０Ｂの場合も同様である。
【００７９】
（２）増設筐体８６０の第１のインターフェース接続装置８７２Ａで障害が発生する。
【００８０】
（３）ポートバイパス回路８７１Ａはシステムコントローラ８２０Ａからの「Ｒｅｃｅｉｖｅ  ｄｉａｇ」コマンドを受信する。
【００８１】
障害側の筐体管理プロセッサ８７３Ａはポートバイパス回路８７１Aを介してインターフェース接続装置８７２Ａからの障害を検知しているので、「Ｒｅｃｅｉｖｅ  ｄｉａｇ」コマンドに対して、その情報をシステムコントローラ８２０Ａに返信する。
【００８２】
システムコントローラ８２０Ａは、筐体管理プロセッサ８７３Ａからのインターフェース接続装置８７２Ａの障害情報を採取。正常側のパスへ切り換える。正常側の筐体管理プロセッサ８７３Ｂへ障害側の筐体管理プロセッサ８７３Ａとインターフェース接続装置８７２Ａを停止させるためのリセット／電源オフ指示を発行する（無応答指示プログラム４０３による）。
【００８３】
正常側のポートバイパス回路８７１Ｂは障害側のインターフェース接続装置８７２Ａと筐体管理プロセッサ８７３Ａを停止するためのリセット／電源オフコマンドを受信する。
【００８４】
正常側の筐体管理プロセッサ８７３Ｂは、障害側のインターフェース接続装置８７２Ａと筐体管理プロセッサ８７３Ａを停止させるためのリセット／電源オフマンドを受信し、このリセット／電源オフ信号をリセット発生回路８７４Ａへ発行する。
【００８５】
障害側のリセット発生回路８７４Ａは、このリセット／電源オフ信号を受信し、障害側のインターフェース接続装置８７２Ａと筐体管理プロセッサ８７３Ａへリセット／電源オフ信号を送信する。
【００８６】
障害側の筐体管理プロセッサ８７３Ａはリセット／電源オフ信号を受信し、当該筐体管理プロセッサ８７３Ａを停止させる。
【００８７】
障害側のインターフェース接続装置８７２Ａもリセット／電源オフ信号を受信し、当該インターフェース接続装置８７２Ａを停止させる。
【００８８】
ポートバイパス回路８７１Ａからは、インターフェース接続装置を認識できなくなり、システムコントローラは当該筐体をバイパスして後段の増設筐体に行く。
【００８９】
このように、各筐体の入口にポートバイパス回路（ＰＢＣ）を設けて、図１３の矢印Ｂに示したように、障害が発生したドライブコントローラ８７０Ａをバイパスして後段の増設筐体８８０に行く制御を採用したことにより、ＦＣループを閉鎖することなく、システム全体の動作を継続でき、障害の影響を最小限とすることができる。
【００９０】
本実施例によれば、筐体管理プロセッサを有するため、ＳＡＴＡ増設筐体内の障害に迅速に対応できる。また、本実施例によれば、システムコントローラが、ＦＣループ、ＰＢＣ、およびインターフェース接続装置を介して、ＳＡＴＡドライブ装置へデータを読み書きできるため、ディスクアレイ装置として大量のデータの読み書きを制御できる。そして、本実施例によれば、複数のシステムコントローラが複数のＦＣループを介してＳＡＴＡ増設筐体に接続されているため、耐障害性の高いディスクアレイ装置を構成できる。
【実施例４】
【００９１】
図１５は本発明によるディスクアレイ装置の実施例４の構成を説明する機能ブロック図である。図１３と同じ機能部分の参照符号は９００番台で記してある。異常発生時の基本筐体９１０と複数の増設筐体９４０、９６０、９８０からなるディスクアレイ装置の構成を示す。増設筐体９４０、９６０，９８０、・・・の詳細構成は図１２と同様で、図１２の700番台の参照符号を９00番台に読み替えればよい。なお、ここでは、説明の煩雑をさけるため、増設筐体は３個とし、制御指示が基本筐体９１０のシステムコントローラ９２０Ａからでるものとする（システムコントローラ９２０Ｂについても同様）。また、図１６は図１５の動作を説明する流れ図である。本実施例は、ディスクアレイ装置に障害が発生した時に、その障害がどの増設筐体で発生したのかを特定するための“後段バイパス”法と称する障害切り分けの制御方法に係る実施例である。以下、本実施例の後段バイパスによる障害筐体の特定手法について図１６を参照して説明する。
【００９２】
（１）ここで、あるＦＣループ上でエラーが発生していて、発生場所が分からない（エラーがあらゆるところで起きているように見える）とすると、基本筐体９１０のシステムコントローラ９２０Ａはエラー場所を特定することができない。そのため、増設筐体毎にエラーの切り分けを行う。ここでは複数の増設筐体の中央より後段の増設筐体を先ずバイパスし、問題がなければ順次バイパスした後段筐体中央のバイパス、すなわちＦＣループから切り離す。ここでは、増設筐体９８０をバイパスすることとする。
【００９３】
（２）増設筐体９６０より後段の筐体を、矢印Ｃで示した当該増設筐体９６０のポートバイパス回路９７１Ａでバイパスする。このバイパスで、基本筐体９１０、増設筐体９４０、および増設筐体９６０でのＦＣループが形成される。
【００９４】
（３）このＦＣループでの動作に問題があるか否か（エラーの有無）を判断する。
【００９５】
（４）この判断で問題がなければ、２分法で後段の増設筺体をエラー検索して行く。すなわち、後段の増設筐体９８０でバイパスする。図２１では、増設筐体が３個であるが、実際にはさらに多数の増設筐体が設置されているので、これを順次さらに２分法でバイパスし、そのときのＦＣループでの動作に問題があるか否かを判断する。
【００９６】
（５）（３）のＦＣループでの動作に問題があるか否か（エラーの有無）の判断で、ＦＣループでの動作に問題がある場合、今度は前段の増設筐体について２分法で同様の後段バイパスを行って問題の有無を検索して行く。このときも、（４）と同様に増設筐体が３個であるが、実際にはさらに多数の増設筐体が設置されているので、これを順次さらに２分法でバイパスし、そのときのＦＣループでの動作に問題があるか否かを判断する。
【００９７】
（６）上記（４）での後段でのエラー検索あるいは（５）における前段でのエラー検索でエラーのある筐体あるいはエラーのあるドライブコントローラを検知したときは、当該箇所をバイパスする。
【００９８】
このような後段バイパスによるエラー検索により、エラーが発生している増設筐体をバイパスすることで、ディスクアレイ装置全体として上位装置との間のデータのやりとりが継続される。
【００９９】
本実施例によれば、筐体管理プロセッサを有するため、ＳＡＴＡ増設筐体内の障害に迅速に対応できる。また、本実施例によれば、システムコントローラが、ＦＣループ、ＰＢＣ、およびインターフェース接続装置を介して、ＳＡＴＡドライブ装置へデータを読み書きできるため、ディスクアレイ装置として大量のデータの読み書きを制御できる。そして、本実施例によれば、複数のシステムコントローラが複数のＦＣループを介してＳＡＴＡ増設筐体に接続されているため、耐障害性の高いディスクアレイ装置を構成できる。
【０１００】
以上、本発明を実施例に基づき具体的に説明したが、前記したように、本発明はこれら実施例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記の説明では、情報処理システムの一例として、記憶装置に適用した場合を例にとって説明したが、ＦＣ等のループ状通信手段にて接続された一般の情報処理システム等に広く適用することができる。
【０１０１】
このように、本発明によれば、ループ状通信手段を備えた構成においてエラー発生時のデータの書き込みあるいは読出しを停止する必要がなくなり、信頼性を向上したディスクアレイ装置を提供できる。また、本発明によれば、ＦＣループ状通信手段等を備えた情報処理装置において、障害が発生した増設筐体をループか切り離すことで、回復作業を迅速かつ的確に行うことができる。
【図面の簡単な説明】
【０１０２】
【図１】本発明のディスクアレイ装置の全体を説明する外観図である。
【図２】図１における基本筺体の構成の説明図である。
【図３】図１における増設筺体の構成の説明図である。
【図４】図２または図３に示したディスクドライブユニットの構成例の説明図である。
【図５】本発明の実施例１におけるディスクアレイ装置の障害回避制御方法の基本を説明する模式図である。
【図６】本発明によるディスクアレイ装置の実施例１の構成を説明する機能ブロック図である。
【図７】図６におけるシステムコントローラの内部構成例を説明する機能ブロック図である。
【図８】ＲＡＩＤコントローラを有する基本筺体に有する制御プログラムの内容の説明図である。
【図９】図６に示した本発明の実施例１をさらに詳細に説明するディスクアレイ装置の構成を説明する機能ブロック図である。
【図１０】図９の動作を説明する流れ図である
【図１１】本発明によるディスクアレイ装置の実施例２の構成を説明する機能ブロック図である。
【図１２】図１１の増設筐体の詳細な構成を示す図である。
【図１３】本発明によるディスクアレイ装置の実施例３の構成を説明する機能ブロック図である。
【図１４】図１３の動作を説明する流れ図である。
【図１５】本発明によるディスクアレイ装置の実施例４の構成を説明する機能ブロック図である。
【図１６】図１５の動作を説明する流れ図である。
【符号の説明】
【０１０３】
１００Ａ，１００Ｂ・・・・ホストコンピュータ、１１０・・・・基本筺体、１４０・・・・増設筺体、１２０Ａ，１２０Ｂ・・・・システムコントローラ（ＲＡＩＤコントローラ）、１３０・・・・ＳＡＮ、１０２Ａ，１０２Ｂ・・・・ホストアダプター、１７１，１７３・・・・ディスク装置（ＳＡＴＡドライブ）、１５０Ａ・・・・第１のドライブコントローラ、１５０Ｂ・・・・第２のドライブコントローラ、１５１Ａ・・・・第１のポートバイパス回路、１５１Ｂ・・・・第２のポートバイパス回路、１５２Ａ・・・・第１のインターフェース接続装置、１５２Ｂ・・・・第２のインターフェース接続装置、１５３Ａ・・・・第１の筺体管理プロセッサ、１５３Ａ・・・・第２の筺体管理プロセッサ、１８０・・・・専用線。
【図１】
2005222379.tif 000003
【図２】
2005222379.tif 000004
【図３】
2005222379.tif 000005
【図４】
2005222379.tif 000006
【図５】
2005222379.tif 000007
【図６】
2005222379.tif 000008
【図７】
2005222379.tif 000009
【図８】
2005222379.tif 000010
【図９】
2005222379.tif 000011
【図１０】
2005222379.tif 000012
【図１１】
2005222379.tif 000013
【図１２】
2005222379.tif 000014
【図１３】
2005222379.tif 000015
【図１４】
2005222379.tif 000016
【図１５】
2005222379.tif 000017
【図１６】
2005222379.tif 000018