(57)【要約】【課題】ＦＣ−ＡＬ接続されたディスクサブシステムにおいて、ディスクドライブごとの動作状態を把握し、障害特定及び閉塞処理を迅速に行うことができる。【解決手段】複数のディスクドライブを格納したドライブエンクロージャと、前記ディスクドライブに記憶されるデータについて、ホストコンピュータと前記ドライブエンクロージャとの間の転送を制御するディスク制御装置と、からなるディスクサブシステムにおいて、前記ドライブエンクロージャは、前記ディスクドライブと前記ディスク制御装置とに接続されるバックエンドスイッチを有し、前記バックエンドスイッチは、当該バックエンドスイッチに備わる各スイッチポートの動作状態を出力する状態監視ポートを有し、前記ディスク制御装置は、前記状態監視ポートを介して、前記各スイッチポートの障害を監視する。【選択図】図１
2006072717.tif 000002
【特許請求の範囲】
【請求項１】
複数のディスクドライブを格納したドライブエンクロージャと、
前記ディスクドライブに記憶されるデータについて、ホストコンピュータと前記ドライブエンクロージャとの間の転送を制御するディスク制御装置と、からなるディスクサブシステムにおいて、
前記ドライブエンクロージャは、前記ディスクドライブと前記ディスク制御装置とに接続されるバックエンドスイッチを有し、
前記バックエンドスイッチは、当該バックエンドスイッチに備わる各スイッチポートの動作状態を出力する状態監視ポートを有し、
前記ディスク制御装置は、前記状態監視ポートを介して、前記各スイッチポートの障害を監視することを特徴とするディスクサブシステム。
【請求項２】
前記バックエンドスイッチは、
前記各スイッチポートの障害を検出する障害検出部と、
前記障害検出部によって検出された障害を計数し、前記計数値と所定の閾値との比較結果に基づいて、各スイッチポートの障害情報を前記ディスク制御装置に提供するエラー処理回路と、を有することを特徴とする請求項１に記載のディスクサブシステム。
【請求項３】
前記ディスク制御装置は、前記バックエンドスイッチから障害情報が提供されると、障害箇所が前記バックエンドスイッチ間を接続するポートであれば、当該障害が発生したポートの接続相手のポートの動作状態を取得することを特徴とする請求項２に記載のディスクサブシステム。
【請求項４】
前記ディスク制御装置は、前記バックエンドスイッチから提供された障害情報から、障害の発生場所及び／又は障害の発生要因を判定することを特徴とする請求項２に記載のディスクサブシステム。
【請求項５】
前記ディスク制御装置は、前記バックエンドスイッチから障害情報が提供されると、障害が発生したポートを閉塞することを特徴とする請求項２に記載のディスクサブシステム。
【請求項６】
前記ディスク制御装置は、前記障害が発生したポートの閉塞によって前記バックエンドスイッチに属するすべてのポートが閉塞されると、前記バックエンドスイッチを閉塞することを特徴とする請求項５に記載のディスクサブシステム。
【請求項７】
前記状態監視ポートは、前記ディスク制御装置に直接接続されることを特徴とする請求項１に記載のディスクサブシステム。
【請求項８】
前記状態監視ポートは、前記ディスク制御装置にカスケード接続されることを特徴とする請求項１に記載のディスクサブシステム。
【請求項９】
前記状態監視ポートは、前記ディスク制御装置にリング状に接続されることを特徴とする請求項１に記載のディスクサブシステム。
【請求項１０】
前記バックエンドスイッチは、
複数のデータ伝送線でディスク制御装置と接続され、
前記複数のデータ伝送線によってインバンドで各スイッチポートの障害を監視することを特徴とする請求項１に記載のディスクサブシステム。
【請求項１１】
前記ディスク制御装置は、前記ドライブエンクロージャと接続する第１のディスクアダプタ及び第２のディスクアダプタを有し、
前記バックエンドスイッチは、第１のバックエンドスイッチ及び第２のバックエンドスイッチを有し、  前記第１のバックエンドスイッチ及び第２のバックエンドスイッチの各々は、当該バックエンドスイッチに備わる各スイッチポートの動作状態を出力する状態監視ポートを有し、
前記ディスクドライブは、前記第１のバックエンドスイッチ及び前記第２のバックエンドスイッチに接続され、
前記第１のバックエンドスイッチの状態監視ポートは、前記第１のディスクアダプタに接続され、
前記第２のバックエンドスイッチの状態監視ポートは、前記第２のディスクアダプタに接続され、
前記ディスク制御装置は、前記各状態監視ポートを介して、前記ディスクドライブの障害を監視することを特徴とする請求項１に記載のディスクサブシステム。
【請求項１２】
前記第１のバックエンドスイッチ及び前記第１のディスクアダプタを駆動する第１の電源と、
前記第２のバックエンドスイッチ及び前記第２のディスクアダプタを駆動する第２の電源と、を備え、
前記ディスクドライブには、前記第１の電源及び前記第２の電源の双方から電力が供給されることを特徴とする請求項１１に記載のディスクサブシステム。
【請求項１３】
前記状態監視ポートは、前記ディスク制御装置にループ状に接続され、
異なる前記ループ接続に属するバックエンドスイッチに接続されるディスクドライブによってＲＡＩＤグループが構成されることを特徴とする請求項１に記載のディスクサブシステム。
【請求項１４】
前記状態監視ポートは、前記ディスク制御装置にループ状に接続され、
同一の前記ループ接続に属するバックエンドスイッチに接続されるディスクドライブによってＲＡＩＤグループが構成されることを特徴とする請求項１に記載のディスクサブシステム。
【請求項１５】
前記ディスク制御装置は、前記ディスク制御装置の全体の動作を制御するプロセッサを含むプロセッサアダプタを備えることを特徴とする請求項１に記載のディスクサブシステム。
【請求項１６】
複数のディスクドライブ、第１のバックエンドスイッチ及び第２のバックエンドスイッチを有するドライブエンクロージャと、
第１及び第２のチャネルアダプタ、第１及び第２のディスクアダプタ、第１及び第２のメモリアダプタ、第１及び第２のスイッチアダプタ並びに第１及び第２のプロセッサアダプタを有し、前記ディスクドライブに記憶されるデータを、ホストコンピュータと前記ドライブエンクロージャとの間で転送するディスク制御装置と、からなるディスクサブシステムにおいて、
前記ドライブエンクロージャは、前記ディスクドライブと前記ディスク制御装置とを接続する第１及び第２のバックエンドスイッチを有し、
前記第１及び第２のバックエンドスイッチは、各スイッチポートの動作状態を出力する状態監視ポートを有し、
すべての前記第１のバックエンドスイッチの前記状態監視ポートは、前記第１のディスクアダプタに直接接続され、
すべての前記第２のバックエンドスイッチの前記状態監視ポートは、前記第２のディスクアダプタに直接接続され、
前記ディスク制御装置は、前記各状態監視ポートを介して、前記ディスクドライブの障害を監視することを特徴とするディスクサブシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスク制御装置及び複数のドライブエンクロージャからなるディスクサブシステムに関し、ディスク制御装置がドライブエンクロージャの障害情報を取得する技術に関する。
【背景技術】
【０００２】
磁気ディスクドライブを記憶媒体とするディスクサブシステムは、ディスク制御装置及び複数のドライブエンクロージャから構成される。ディスクサブシステムに多数のドライブエンクロージャを格納するため、ディスク制御装置とドライブエンクロージャとの間をファイバチャネル・アービトレイテッドループ（ＦＣ−ＡＬ）で接続することが一般的である。
【０００３】
図１３は、従来のディスクサブシステムのブロック図である。
【０００４】
従来のディスクサブシステムは、ディスク制御装置１０及び複数のドライブエンクロージャ５００から構成されている。
【０００５】
ディスク制御装置１０は、チャネルアダプタ１００、ディスクアダプタ２００、メモリアダプタ３００及びスイッチアダプタ４００を備える。
【０００６】
チャネルアダプタ１００は、ホストコンピュータとの接続インターフェースを有する。ディスクアダプタ２００は、ドライブエンクロージャ５００との接続インターフェースを有する。メモリアダプタ３００は、ホストコンピュータとドライブエンクロージャとの間で転送されるデータを一時的に記憶する。
【０００７】
スイッチアダプタ４００は、チャネルアダプタ１００、ディスクアダプタ２００、メモリアダプタ３００内の各ＤＭＡコントローラ１２０、２２０、３２０間を接続し、内部ネットワークを構成する。
【０００８】
ドライブエンクロージャ５００は、複数のディスクドライブ５４０を有している。ドライブエンクロージャ５００とディスク制御装置１０とは、ディスクアダプタ２００内のプロトコルエンジン２３０と、ドライブエンクロージャ５００内のポートバイバスサーキット５９０とを介して接続される。
【０００９】
複数のドライブエンクロージャ５００間もポートバイパスサーキット５９０を介して接続される。このような、ポートバイパスサーキット５９０による多数のディスクドライブ５４０の接続がＦＣ−ＡＬ接続の特徴である。ＦＣ−ＡＬ接続されたディスクドライブ５４０間では、入力ポートと出力ポートがカスケード接続されてひとつのループを形成する。
【００１０】
ＦＣ−ＡＬ接続では、ループ内に接続されたディスクドライブ５４０間でループ・アクセス権の競合を調停し、アクセス権を獲得したディスクドライブ５４０がデータを転送する。したがって、接続するディスクドライブ５４０の数が増加すると、ループのデータ転送帯域の問題が生じ、性能が低下してしまうという問題がある。
【００１１】
この問題を解決するため、ポートバイパスサーキット５９０をスイッチに置き換えて、データ転送時のディスクドライブ５４０間の干渉を抑制する技術が知られている（例えば、特許文献１参照）。
【特許文献１】特開２０００−２２２３３９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
従来のＦＣ−ＡＬ接続では、多数のドライブを効率良くディスク制御装置に接続することができる。しかし、ディスク制御装置の同一のポートに多数（〜１００台）のディスクドライブや、ポートバイパスサーキットやスイッチ等が接続されるので、障害が発生した際に、障害箇所を特定するのが困難である。
【００１３】
また、ループという共通パスを介してデータを転送するため、ループ内で障害が発生したディスクドライブの誤動作が、別のディスクドライブに伝播する可能性が高い。障害箇所を特定して閉塞するまでに、障害の伝播により多重障害が発生し、より深刻な障害を誘発する危険性もはらんでいる。
【００１４】
本発明は、このような問題点を改善し、ディスクドライブの接続効率を維持しながら、障害箇所の特定及び閉塞処理を容易にし、障害の伝播を抑制する。
【課題を解決するための手段】
【００１５】
本発明は、複数のディスクドライブを格納したドライブエンクロージャと、前記ディスクドライブに記憶されるデータについて、ホストコンピュータと前記ドライブエンクロージャとの間の転送を制御するディスク制御装置と、からなるディスクサブシステムにおいて、前記ドライブエンクロージャは、前記ディスクドライブと前記ディスク制御装置とに接続されるバックエンドスイッチを有し、前記バックエンドスイッチは、当該バックエンドスイッチに備わる各スイッチポートの動作状態を出力する状態監視ポートを有し、前記ディスク制御装置は、前記状態監視ポートを介して、前記各スイッチポートの障害を監視する。
【発明の効果】
【００１６】
本発明によれば、ＦＣ−ＡＬ接続されたディスクサブシステムにおいて、ディスクドライブごとの動作状態を把握し、迅速に障害箇所を特定し、迅速に閉塞処理を行うことができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態を図面を参照して説明する。
【００１８】
（第１の実施の形態）
図１は、本発明の第１の実施の形態のディスクサブシステムのブロック図である。
【００１９】
第１の実施の形態のディスクサブシステムは、ディスク制御装置１０及び複数のドライブエンクロージャ５００から構成される。ドライブエンクロージャ５００は、４つを図示するが、これと異なる数でもよい。
【００２０】
ディスク制御装置１０は、チャネルアダプタ１００、ディスクアダプタ２００、メモリアダプタ３００及びスイッチアダプタ４００を備える。ディスク制御装置１０は、ホストコンピュータからドライブエンクロージャ５００に対するデータの入出力を制御する。
【００２１】
チャネルアダプタ１００は、ＤＭＡコントローラ１２０、プロトコルエンジン１３０、接続ポート１４０及びプロセッサ１５０を備える。チャネルアダプタ１００は、ホストコンピュータと通信する。
【００２２】
ＤＭＡコントローラ１２０は、スイッチアダプタ４００と接続し、ディスクアダプタ２００及びメモリアダプタ３００と通信する。
【００２３】
接続ポート１４０は、ホストコンピュータと接続する。プロトコルエンジン１３０は、例えばディスク制御装置１０が使用する内部プロトコルからホストコンピュータが使用するファイバチャネルプロトコルに、プロトコルを変換する。
【００２４】
プロセッサ１５０は、チャネルアダプタ１００の全体を制御する。
【００２５】
ディスクアダプタ２００は、ＤＭＡコントローラ２２０、プロトコルエンジン２３０及びプロセッサ２５０を備え、ドライブエンクロージャ５００と通信する。
【００２６】
ＤＭＡコントローラ２２０は、スイッチアダプタ４００と接続し、チャネルアダプタ１００及びメモリアダプタ３００と通信する。
【００２７】
プロトコルエンジン２３０は、例えばディスク制御装置１０が使用する内部プロトコルからドライブエンクロージャ５００が使用するファイバチャネルプロトコルに、プロトコルを変換する。
【００２８】
プロセッサ２５０は、ディスクアダプタ２００の全体を制御する。
【００２９】
メモリアダプタ３００は、ＤＭＡコントローラ３２０及びメモリモジュール３４０を備える。
【００３０】
ＤＭＡコントローラ３２０は、スイッチアダプタ４００と接続し、チャネルアダプタ１００及びディスクアダプタ２００と通信する。
【００３１】
メモリモジュール３４０は、ホストコンピュータとドライブエンクロージャ５００との間で転送されるデータを一時的に記憶する。
【００３２】
スイッチアダプタ４００は、スイッチ４３０を備える。スイッチ４３０は、チャネルアダプタ１００内のＤＭＡコントローラ１２０、ディスクアダプタ２００内のＤＭＡコントローラ２２０及びメモリアダプタ３００内のＤＭＡコントローラ３２０と接続し、内部ネットワークを構成する。
【００３３】
ディスクエンクロージャ５００は、バックエンドスイッチ５３０及び複数のディスクドライブ５４０を備える。
【００３４】
バックエンドスイッチ５３０は、ディスクドライブ５４０に接続し、ホストコンピュータからのデータをディスクドライブ５４０に転送する（図２で詳述）。なお、バックエンドスイッチ５３０とディスクドライブ５４０とは、一本の線で接続を図示しているが、複数のパスで接続することによって、冗長化してもよい。このように冗長化して接続することによって、一つのパスに障害が発生しても、他のパスを使って、障害場所を特定したり、処理を継続したりすることができる。
【００３５】
ディスクドライブ５４０は、ホストコンピュータのデータを記憶する。
【００３６】
メインデータパスは、複数のディスクエンクロージャ５００内のバックエンドスイッチ５３０が、ディスクアダプタ２００内のプロトコルエンジン２２０にＦＣ−ＡＬ接続することによって構成されている。メインデータパスは、ホストコンピュータからディスクドライブ５４０へ読み書きするデータ等が通信される。
【００３７】
第１の実施の形態において、ＦＣ−ＡＬ接続は、異なるディスクエンクロージャ５００のバックエンドスイッチ５３０間の入力ポートと出力ポートとがカスケード接続されてひとつのループを形成する。なお、図１では、メインデータパスの伝送路は一本の線で図示するが、この線にはディスクアダプタ２００の送信用と受信用の２本の伝送路が含まれている。この送信用伝送路と受信用伝送路とによってループが構成されている。
【００３８】
制御パスは、すべてのドライブエンクロージャ５００内のバックエンドスイッチ５３０が、ディスクアダプタ２００内のＤＭＡコントローラ２２０と、バックエンドスイッチ状態監視信号線６００によって直接接続されている。制御パスは、例えば障害情報などのバックエンドスイッチの状態の情報や、バックエンドスイッチを制御する情報等が通信される。
【００３９】
図２は、本発明の第１の実施の形態のバックエンドスイッチ５３０のブロック図である。
【００４０】
バックエンドスイッチ５３０は、複数の受信ポート５３１、複数の送信ポート５３２、複数のデータリンクエンジン５３３、複数のエラー処理回路５３４、バックエンドスイッチ状態監視ポート５３６、スイッチ回路５３７及びスイッチ制御部５３８から構成される。なお、受信ポート５３１、送信ポート５３２、データリンクエンジン５３３及びエラー処理回路５３４は、同じ個数設けられている。
【００４１】
受信ポート５３１の各々は、ディスクアダプタ２００内のプロトコルエンジン２３０、自らが属すドライブエンクロージャ５００内のディスクドライブ５４０、又は自らが属さないドライブエンクロージャ５００内のバックエンドスイッチ５３０の出力ポート５３２のいずれかと接続し、これらからデータを受信する。
【００４２】
送信ポート５３２の各々は、ディスクアダプタ２００内のプロトコルエンジン２３０、自らが属すドライブエンクロージャ５００内のディスクドライブ５４０、又は自らが属さないドライブエンクロージャ５００内のバックエンドスイッチ５３０の入力ポート５３１のいずれかと接続し、これらにデータを送信する。
【００４３】
受信ポート５３１及び送信用ポート５３２は、メインデータパスの接続に使用される。
【００４４】
データリンクエンジン５３３は、受信ポート５３１からデータを受け、スイッチ制御部５３８を介してスイッチ回路５３７の動作を制御する。さらに、データリンクエンジン５３３は、受信ポート５３１の動作状態を監視し、障害を検出したらエラー処理回路５３４へ通知する。
【００４５】
エラー処理回路５３４は、閾値管理テーブル５３５及びイベントカウンタを有し、障害が発生しているか否かを判断する。閾値管理テーブル５３５は、障害の種別ごとに閾値を記憶している。
【００４６】
障害の種別には、例えば、Loss of Synchronization、Loss of Signal、Protocol Error、8b/10b invalid transmission word、C RC Error等がある。Loss of Synchronizationは、物理層のエラーであり、信号の同期が外れていたことを示す。Loss of Signalは、物理層のエラーであり、振幅が小さい等の理由により信号を判定できなかったことを示す。Protocol Errorは、トランザクション層のエラーであり、定まったシーケンス以外で信号を受信したことを示す。8b/10b invalid transmission wordは、データリンク層のエラーであり、当該通信で使用されない符号を検出したことを示す。CR C Errorは、データリンク層のエラーであり、異なる部分で求めたCRCコードが一致しなかったことを示す。
【００４７】
イベントカウンタは、予め定められた閾値との比較判定をするために、検出された障害を計数する。
【００４８】
バックエンドスイッチ状態監視ポート５３６は、バックエンドスイッチ状態監視信号線によってディスクアダプタ２００内のＤＭＡコントローラ２２０と接続され、バックエンドスイッチ５３０の状態を通信する。
【００４９】
以後、障害発生時のディスクサブシステムの動作について説明する。
【００５０】
図３は、本発明の第１の実施の形態のバックエンドスイッチの障害を通知する処理のフローチャートである。
【００５１】
データリンクエンジン５３３は、障害を検出すると、エラー処理回路５３４に障害の検出を通知する。エラー処理回路５３４は、データリンクエンジン５３３から障害の検出の通知を受ける（７０１）。
【００５２】
障害の検出の通知を受けたエラー処理回路５３４は、通知された障害のイベントカウンタをインクリメントする（７０２）。そして、エラー処理回路５３４は、当該障害のイベントカウンタと閾値管理テーブルとを比較し、閾値を越えているか否かを判断する（７０３）。
【００５３】
閾値を越えていなければ、障害が発生していないと判断し、本処理は終了する（７０７）。なぜなら、高速通信において、データリンクエンジン５３３は、ポートが正常な状態でも、障害を検出することがある。よって、閾値は通常の状態で検出する障害の回数より多めに設定しておき、閾値を越える回数の障害が検出されると障害が発生したと判断する。これによって、障害の発生を適切に判断できる。なお、イベントカウンタのカウント値は、例えば、装置の起動時、所定の時間経過時又は所定時刻にリセットされる。
【００５４】
一方、閾値を超えていると、エラー処理回路５３４は、バックエンドスイッチ状態監視ポート５３６を介して、ディスクアダプタ内２００のＤＭＡコントローラ２２０にイベントを通知する（７０４）。
【００５５】
イベントの通知を受けたＤＭＡコントローラ２２０は、バックエンドスイッチ状態監視ポート５３６を介して、障害が発生したエラー処理回路５３４のレジスタからステータスを取得する（７０５）。
【００５６】
ＤＭＡコントローラ２２０は、プロセッサ２５０に取得したステータスを通知し（７０６）、バックエンドスイッチの障害を通知する処理を終了する（７０７）。通知を受けたプロセッサ２５０は、ステータスから後述する図４のように障害の要因を特定する。
【００５７】
第１の実施の形態の障害通知処理（図３）によると、バックエンドスイッチ５３０内のエラー処理回路５３４は、ポートの動作状態を障害の種別ごとに判断するので、適切な障害検出と障害報告を行うことができる。
【００５８】
図４は、本発明の第１の実施の形態のバックエンドスイッチの障害の要因を特定する処理のフローチャートである。
【００５９】
ディスクアダプタ２００のプロセッサ２５０は、取得したステータスから、障害が発生したポートがディスクドライブ５４０が接続されているポート（ドライブポート）であるか否かを判断する（７２１）。
【００６０】
障害の発生したポートがドライブポートであると、プロセッサ２５０は、ドライブポートエラー分析を実行する（７２２）。ドライブポートエラー分析は、冗長ポート及び冗長パスを用いて、当該ドライブポートが接続されるディスクドライブ５４０にアクセスできるか否かを判断する。
【００６１】
プロセッサ２５０は、冗長ポート及び冗長パスを用いてアクセスできれば、バックエンドスイッチ５３０のドライブポートの障害、又はバックエンドスイッチ５３０とディスクドライブ５４０とを接続する伝送路の障害である可能性が高いと特定する。一方、冗長ポート及び冗長パスを用いてアクセスできなければ、ディスクドライブ５４０自体の障害である可能性が高いと特定し、障害の要因を特定する処理を終了する（７３１）。
【００６２】
一方、ステップ７２１で障害の発生したポートがドライブポートでないと、プロセッサ２５０は、障害の発生したポートと接続するポート（リンク対向ポート）のステータスをＤＭＡコントローラ２２０に取得させる。なお、リンク対向ポートは、障害の発生したポートと接続する他のバックエンドスイッチのポートや、プロトコルエンジンのポートである。
【００６３】
そして、プロセッサ２５０は、ＤＭＡコントローラ２２０が取得したステータスの通知を受ける（７２３）。
【００６４】
プロセッサ２５０は、障害の発生したポート及びリンク対向ポートに対して、Loss of Signalや、Loss of Synchronizationなどの物理層エラーが発生しているか否かを判断する（７２４）。両ポートに物理層エラーが発生していると、プロセッサ２５０は、これら２つのポートを接続する伝送路の障害の可能性が高いと特定し（７２５）、障害の要因を特定する処理を終了する（７３１）。ここで、両ポートの物理層エラーによって伝送路の障害を判定するのは、障害特定精度を高めるためである。
【００６５】
ステップ７２４でいずれかのポートに物理層エラーが発生していないと、プロセッサ２５０は、障害の発生したポート対して、８ｂ１０ｂエラー、ＣＲＣエラーなどのデータリンク層エラーが発生しているか否かを判断する（７２６）。
【００６６】
データリンク層エラーが発生していると、プロセッサ２５０は、当該ポートのデータリンク層の障害の可能性が高いと特定し（７２７）、障害の要因を特定する処理を終了する（７３１）。
【００６７】
ステップ７２６でデータリンク層エラーが発生していないと、プロセッサ２５０は、障害の発生したポートに対して、プロトコルエラーなどのトランザクション層エラーが発生しているか否かを判断する（７２８）。トランザクション層エラーが発生していると、プロセッサ２５０は、当該ポートのトランザクション層の障害である可能性が高いと特定し（７２９）、障害の要因を特定する処理を終了する。
【００６８】
一方、ステップ７２８でトランザクション層エラーが発生していないと、プロセッサ２５０は、複合エラーである可能性が高いと特定し（７３０）、障害を特定する処理を終了する（７３１）。
【００６９】
第１の実施の形態の障害要因特定処理（図４）によると、プロセッサ２５０は、バックエンドスイッチ５３０の状態監視ポート５３６を介して、障害が発生したポート及びリンク対向ポートの動作状態を取得することによって、適切な障害の要因を特定することができる。
【００７０】
図５は、本発明の第１の実施の形態のバックエンドスイッチの閉塞処理のフローチャートである。
【００７１】
プロセッサ２５０は、図４で説明したように障害の要因を特定し、その障害の要因のポートを判断する（７４１）。そして、プロセッサ２５０は、障害の要因のポートを閉塞する（７４２）。ポートの閉塞によって、当該ポートはディスクサブシステムから切り離され、使用不可の状態に設定される。
【００７２】
次に、プロセッサ２５０は、閉塞したポートがドライブポートであり、且つ閉塞したポートが接続するディスクドライブ５４０の両方のドライブポートが閉塞しているか否かを判断する（７４３）。なお、両方のドライブポートとは、冗長化した構成の場合の両方のポートである。また、後述する第５〜９の実施の形態において、両方のドライブポートとは、Ａ系及びＢ系のドライブポートである。
【００７３】
いずれかのドライブポートが閉塞していないときには、プロセッサ２５０は、そのままステップ７４５に進む。
【００７４】
一方、両方のドライブポートが閉塞していると、プロセッサ２５０は、当該ドライブポートが接続しているディスクドライブ５４０を閉塞する。そして、ＲＡＩＤグループ内で閉塞したディスクドライブ５４０のデータを、他のディスクドライブに再構築する（７４４）。
【００７５】
次に、プロセッサ２５０は、閉塞したポートが属するバックエンドスイッチ５３０内のすべてのポートが閉塞しているか否かを判断する（７４５）。
【００７６】
バックエンドスイッチ５３０内のいずれかのポートが閉塞していないときには、プロセッサ２５０は、閉塞処理を終了する（７４７）。
【００７７】
一方、バックエンドスイッチ５３０内のすべてのポートが閉塞していると、プロセッサ２５０は、当該バックエンドスイッチ５３０を閉塞し（７４６）、閉塞処理を終了する（７４７）。バックエンドスイッチ５３０の閉塞によって、当該バックエンドスイッチ５３０はディスクサブシステムから切り離され、使用不可の状態に設定される。
【００７８】
以上説明したように、第１の実施の形態では、各ドライブエンクロージャ５００内のバックエンドスイッチ５３０が、ディスクアダプタ２００内のＤＭＡコントローラ２２０と直接接続されているので、ディスク制御装置１０のＤＭＡコントローラ２２０は、バックエンドスイッチ５３０の各ポートの動作状態を、障害監視ポート５３６を介して直接知ることができる。したがって、ディスク制御装置１０に、多数のドライブエンクロージャ５００を接続しても、ドライブエンクロージャ５００ごとの動作状態を把握することができる。よって、迅速に障害箇所を特定することによって、迅速に閉塞処理を行うことができ、障害伝播を引き起こすことがない。
【００７９】
（第２の実施の形態）
本発明の第２の実施の形態は、制御パスをカスケード接続する。よって、前述した第１の実施の形態とは、バックエンド状態監視信号線の接続が異なる。第２の実施の形態において、第１の実施の形態と同じ構成には同じ符号を付し、その説明は省略する。
【００８０】
図６は、本発明の第２の実施の形態のディスクサブシステムのブロック図である。
【００８１】
第２の実施の形態のディスクサブシステムでは、バックエンドスイッチ５３０がＤＭＡコントローラ２２０にバックエンドスイッチ状態監視信号線６１０によって接続される。また、バックエンドスイッチ５３０間もバックエンドスイッチ状態監視信号線６１０によって接続される。このように、ドライブエンクロージャ５００は、ディスクアダプタ２００にカスケード接続されることによって、制御パスが構成されている。
【００８２】
以上説明したように、第２の実施の形態では、ドライブエンクロージャ５００とディスクアダプタ２００とがカスケード接続されることによって、制御パスが構成されているので、ディスクアダプタ２００のＤＭＡコントローラ２２０は、より少ない本数のバックエンドスイッチ状態監視信号線６１０で、バックエンドスイッチ５３０の各ポートの動作状態を知ることができる。したがって、バックエンドスイッチ状態監視信号線６１０と接続するための、ＤＭＡコントローラ２２０のポートを減らすことができる。よって、多数のドライブエンクロージャ５００を接続したディスクサブシステムにおいても、ディスクドライブ５４０ごとに障害箇所を特定することによって、当該障害が生じたディスクドライブ５４０を閉塞することができる。
【００８３】
（第３の実施の形態）
本発明の第３の実施の形態は、制御パスをリング状に接続する。よって、前述した第１の実施の形態とは、バックエンドスイッチ状態監視信号線の接続が異なる。第３の実施の形態において、第１の実施の形態と同じ構成には同じ符号を付し、その説明は省略する。
【００８４】
図７は、本発明の第３の実施の形態のディスクサブシステムのブロック図である。
【００８５】
第３の実施の形態のディスクサブシステムでは、バックエンドスイッチ５３０がＤＭＡコントローラ２２０にバックエンドスイッチ状態監視信号線６２０によって接続される。また、バックエンドスイッチ５３０間もバックエンドスイッチ状態監視信号線６２０によって接続される。このように、ドライブエンクロージャ５００は、ディスクアダプタ２００にリング状に接続されることによって、リング接続された制御パスが構成されている。
【００８６】
以上説明したように、第３の実施の形態では、ドライブエンクロージャ５００はとディスクアダプタ２００とがリング状に接続されることによって、制御パスが構成されているので、バックエンドスイッチ状態監視信号線６２０の一点で障害が発生しても、ディスクアダプタ２００のＤＭＡＣ２２０は、リング接続の逆向きの経路を用いてバックエンドスイッチ５３０の各ポートの動作状態を知ることができる。したがって、バックエンドスイッチ状態監視信号線６２０の障害に強くなり、高信頼にドライブごとに障害箇所を特定する信頼度を向上させることができ、当該障害が生じたディスクドライブ５４０を閉塞することができる。
【００８７】
（第４の実施の形態）
本発明の第４の実施の形態は、制御パスをメインデータパスと同じ信号線を使ってインバンドで通信する。よって、前述した第１の実施の形態とは、ディスクアダプタ２００を冗長化した点、及びディスクアダプタ２００とドライブエンクロージャ５００との接続が異なる。第４の実施の形態において、第１の実施の形態と同じ構成には同じ符号を付し、その説明は省略する。
【００８８】
図８は、本発明の第４の実施の形態のディスクサブシステムのブロック図である。
【００８９】
ディスク制御装置１０は、二つのディスクアダプタ２００を備える。
【００９０】
ディスクエンクロージャ５００は、データ転送と制御信号の送受信とを兼用する信号線７００によって、それぞれのディスクアダプタ２００とＦＣ−ＡＬ接続される。信号線７００は、制御パス及びメインデータパスとして使用し、インバンドで制御信号を通信する。なお、信号線７００は、その一本に障害が発生しても障害情報を通信できるように、複数本設けてもよい。
【００９１】
以上説明したように、第４の実施の形態によれば、ディスクエンクロージャ５００とディスクアダプタ２００とを複数の信号線７００によって接続したので、信号線７００に障害が発生しても、障害が発生していない信号線７００を使って障害情報を取得できる。よって、ディスクアダプタ２００のＤＭＡコントローラ２２０がバックエンドスイッチ５３０の各ポートの動作状態を取得するために、メインデータパスとは別の制御パスを設ける、ディスクドライブ５４０ごとに障害箇所を特定することによって、当該障害が生じたディスクドライブ５４０を閉塞することができる。
【００９２】
（第５の実施の形態）
本発明の第５の実施の形態は、ディスク制御装置１０が冗長化されている。よって、前述した第１の実施の形態とは、ディスク制御装置１０の構成が異なる。第５の実施の形態において、第１の実施の形態と同じ構成には同じ符号を付し、その説明は省略する。
【００９３】
図９は、本発明の第５の実施の形態のディスクサブシステムのブロック図である。
【００９４】
ディスク制御装置１０を構成するすべてのアダプタ１００、２００、３００、４００は、Ａ系とＢ系の２つを備える。チャネルアダプタ１００、ディスクアダプタ２００及びメモリアダプタ３００は、Ａ系及びＢ系のスイッチアダプタ４００の双方に接続することによって、すべての構成が冗長化される。
【００９５】
ドライブエンクロージャ５００は、Ａ系バックエンドスイッチ５３０及びＢ系バックエンドスイッチ５３０を備える。ディスクドライブ５４０は、Ａ系ポート及びＢ系ポートを有する。そして、ディスクドライブ５４０のＡ系ポートはＡ系バックエンドスイッチ５３０に接続され、Ｂ系ポートはＢ系バックエンドスイッチ５３０に接続される。
【００９６】
ディスクエンクロージャ５００内のＡ系バックエンドスイッチ５３０が、Ａ系のディスクアダプタ２００内のプロトコルエンジン２３０とＦＣ−ＡＬ接続することによって、Ａ系のメインデータパスが構成される。同様に、ディスクエンクロージャ５００内のＢ系バックエンドスイッチ５３０が、Ｂ系ディスクアダプタ２００内のプロトコルエンジン２３０とＦＣ−ＡＬ接続することによって、Ｂ系のメインデータパスが構成される。
【００９７】
また、すべてのドライブエンクロージャ５００内のＡ系バックエンドスイッチ５３０が、Ａ系のディスクアダプタ２００内のＤＭＡコントローラ２２０と、バックエンドスイッチ状態監視信号線６００によって直接接続することによって、Ａ系の制御パスが構成されている。同様に、すべてのドライブエンクロージャ５００内のＢ系バックエンドスイッチ５３０が、Ｂ系のディスクアダプタ２００内のＤＭＡコントローラ２２０と、バックエンドスイッチ状態監視信号線６００によって直接接続することによって、Ｂ系の制御パスが構成されている。
【００９８】
第５の実施の形態では、ホストコンピュータからディスクドライブ５４０に至るすべての構成及びパスが冗長化されているので、一点で障害が発生しても、冗長部分を用いて処理を継続することが可能となる。したがって、ディスクアダプタ２００は、一点で発生した障害に対し、冗長部分を使って障害情報を取得できる。そして、ディスクアダプタ２００は、取得した情報からディスクドライブ５４０ごとに障害箇所を特定することによって、当該障害が生じたディスクドライブ５４０を閉塞することができる。
【００９９】
（第６の実施の形態）
本発明の第６の実施の形態は、第５の実施の形態において、さらに電源系が冗長化されている。よって、前述した第５の実施の形態とは、ディスクサブシステムが２つの電源を備える点が異なる。第６の実施の形態において、第５の実施の形態と同じ構成には同じ符号を付し、その説明は省略する。
【０１００】
図９を用いて、第６の実施の形態を説明する。
【０１０１】
第６の実施の形態のディスクサブシステムは、Ａ系電源９００及びＢ系電源９００の２つの独立な電源系を備える。
【０１０２】
Ａ系バックエンドスイッチ５３０及びＡ系のすべてのアダプタ１００、２００、３００、４００は、Ａ系電源９００によって駆動される。同様に、Ｂ系バックエンドスイッチ５３０及びＢ系のすべてのアダプタ１００、２００、３００、４００は、Ｂ系電源９００によって駆動される。また、ディスクドライブ５４０は、Ａ系電源とＢ系電源の双方によって駆動される。
【０１０３】
第６の実施の形態では、電源９００を含めてディスクサブシステム全体が冗長化されているので、電源障害が発生しても、他方の電源９００を用いて処理を継続することが可能となる。したがって、ディスクアダプタ２００は、電源障害を含む一点で発生した障害に対し、冗長部分を使って障害情報を取得できる。そして、ディスクアダプタ２００は、取得した情報からディスクドライブ５４０ごとに障害箇所を特定することがによって、当該障害が生じたディスクドライブ５４０を閉塞することができる。
【０１０４】
（第７の実施の形態）
本発明の第７の実施の形態は、異なるループ間でＲＡＩＤグループを構成する。よって、前述した第５の実施の形態とはバックエンドスイッチ状態監視信号線の接続が異なる。第７の実施の形態において、第５の実施の形態と同じ構成には同じ符号を付し、その説明は省略する。
【０１０５】
図１０は、本発明の第７の実施の形態のディスクサブシステムのブロック図である。
【０１０６】
メインデータパスは、ドライブエンクロージャ５００が、ディスクアダプタ２００にＦＣ−ＡＬ接続することによって構成されている。なお、ＦＣ−ＡＬ接続されたディスクアダプタ５００は、いくつかのループに分かれている。
【０１０７】
同様に、制御パスは、ディスクエンクロージャ５００が、ディスクアダプタ２００に、バックエンドスイッチ状態監視信号線６１０によってＦＣ−ＡＬ接続することによって構成されている。
【０１０８】
ディスクサブシステムは、異なるＦＣ−ＡＬ接続のループに属するディスクドライブ５４０によって、ＲＡＩＤグループを構成する。
【０１０９】
第７の実施の形態では、ドライブエンクロージャ５００内のディスクドライブ５４０に障害が発生しても、障害の発生したＦＣ−ＡＬループとは独立したＦＣ−ＡＬループに属するディスクドライブ５４０からデータを回復できる。したがって、ディスクサブシステム内のドライブ障害を含む一点で障害が発生しても、障害が生じたディスクドライブ５４０のデータ回復処理を高信頼に行うことができる。また、取得した情報からディスクドライブ５４０ごとに障害箇所を特定することによって、当該障害が生じたディスクドライブ５４０を閉塞することができる。
【０１１０】
（第８の実施の形態）
本発明の第８の実施の形態は、同一のループ間でＲＡＩＤグループを構成する。よって、前述した第７の実施の形態とは、ＲＡＩＤグループを構成する方法が異なる。第８の実施の形態において、第５の実施の形態と同じ構成には同じ符号を付し、その説明は省略する。
【０１１１】
図１１は、本発明の第８の実施の形態のディスクサブシステムのブロック図である。
【０１１２】
メインデータパスは、ドライブエンクロージャ５００が、ディスクアダプタ２００にＦＣ−ＡＬ接続することによって構成されている。なお、ＦＣ−ＡＬ接続されたディスクアダプタ５００は、いくつかのループに分かれている。
【０１１３】
同様に、制御パスは、ディスクエンクロージャ５００が、ディスクアダプタ２００に、バックエンドスイッチ状態監視信号線６１０によってＦＣ−ＡＬ接続することによって構成されている。
【０１１４】
ディスクサブシステムは、同一のＦＣ−ＡＬ接続のループに属するディスクドライブ５４０によって、ＲＡＩＤグループを構成している。
【０１１５】
第８の実施の形態によれば、データ入出力効率の良い７Ｄ＋１ＰなどのＲＡＩＤグループを構成する場合においても、同一のループ内でＲＡＩＤグループを構成するので、ディスクアダプタ２００内のＤＭＡコントローラ２２０のポート数が少なくて済む。したがって、低コストに、ディスクドライブ５４０ごとに障害箇所を特定することによって、当該障害が生じたディスクドライブ５４０を閉塞することができる。また、低コストに、障害が生じたディスクドライブ５４０のデータ回復処理を行うことができる。
【０１１６】
（第９の実施の形態）
本発明の第９の実施の形態は、ディスク制御装置１０がプロセッサアダプタを備える。第９の実施の形態において、第５の実施の形態と同じ構成には同じ符号を付し、その説明は省略する。
【０１１７】
図１２は、本発明の第９の実施の形態のディスクサブシステムのブロック図である。
【０１１８】
ディスクサブシステムは、Ａ系とＢ系の２つのプロセッサアダプタ８００を備える。プロセッサアダプタ８００は、ＤＭＡコントローラ８２０及び一つ以上のプロセッサ８３０を備える。
【０１１９】
ＤＭＡコントローラ８２０は、Ａ系及びＢ系のスイッチチャネルアダプタと接続することによって、チャネルアダプタ１００、ディスクアダプタ２００、及びメモリアダプタ３００と通信する。
【０１２０】
プロセッサ８３０は、ディスク制御装置１０全体の動作を制御する。なお、第９の実施の形態では、チャネルアダプタ１００内のプロセッサ１５０及びディスクアダプタ２００内のプロセッサ２５０は設けなくてもよい。
【０１２１】
第９の実施の形態では、チャネルアダプタ１００やディスクアダプタ２００とは独立にプロセッサアダプタ８００を備えるので、プロセッサアダプタ８００内のプロセッサ８３０数を調整することが可能となる。したがって、柔軟に顧客ニーズに適合したディスクサブシステムの性能を実現することができる。よって、コストパフォーマンスの高いディスクサブシステムを提供することができる。
【図面の簡単な説明】
【０１２２】
【図１】本発明の第１の実施の形態のディスクサブシステムのブロック図である。
【図２】本発明の第１の実施の形態のディスクサブシステムのブロック図である。
【図３】本発明の第１の実施の形態のバックエンドスイッチの障害を通知する処理のフローチャートである。
【図４】本発明の第１の実施の形態バックエンドスイッチの障害の要因を特定する処理のフローチャートである。
【図５】本発明の第１の実施の形態のバックエンドスイッチの閉塞処理のフローチャートである。
【図６】本発明の第２の実施の形態のディスクサブシステムのブロック図である。
【図７】本発明の第３の実施の形態のディスクサブシステムのブロック図である。
【図８】本発明の第４の実施の形態のディスクサブシステムのブロック図である。
【図９】本発明の第５及び６の実施の形態のディスクサブシステムのブロック図である。
【図１０】本発明の第７の実施の形態のディスクサブシステムのブロック図である。
【図１１】本発明の第８の実施の形態のディスクサブシステムのブロック図である。
【図１２】本発明の第９の実施の形態のディスクサブシステムのブロック図である。
【図１３】従来技術のディスクサブシステムのブロック図である。
【符号の説明】
【０１２３】
１０  ディスク制御装置
１００  チャネルアダプタ
１２０  ＤＭＡコントローラ
１３０  プロトコルエンジン
１４０  接続ポート
１５０  プロセッサ
２００  ディスクアダプタ
２２０  ＤＭＡコントローラ
２３０  プロトコルエンジン
２５０  プロセッサ
３００  メモリアダプタ
３２０  ＤＭＡコントローラ
３４０  メモリモジュール
４００  スイッチアダプタ
４３０  スイッチ
５００  ドライブエンクロージャ
５３０  バックエンドスイッチ
５３１  受信ポート
５３２  送信ポート
５３３  データリンクエンジン
５３４  エラー処理回路（エラーハンドラ）
５３５  閾値管理テーブル
５３６  状態監視ポート
５３７  スイッチ回路
５３８  スイッチ制御部
５４０  ディスクドライブ
５９０  ポートバイパス回路
６００、６１０、６２０  バックエンドスイッチ状態監視信号線
７００  信号線
８００  プロセッサアダプタ
８２０  ＤＭＡコントローラ
８３０  プロセッサ
【図１】
2006072717.tif 000003
【図２】
2006072717.tif 000004
【図３】
2006072717.tif 000005
【図４】
2006072717.tif 000006
【図５】
2006072717.tif 000007
【図６】
2006072717.tif 000008
【図７】
2006072717.tif 000009
【図８】
2006072717.tif 000010
【図９】
2006072717.tif 000011
【図１０】
2006072717.tif 000012
【図１１】
2006072717.tif 000013
【図１２】
2006072717.tif 000014
【図１３】
2006072717.tif 000015