(57)【要約】【課題】ディスクアレイ装置の起動時などに、アレイコントローラとディスクエンクロージャの誤接続を物理的なスイッチ情報や物理アドレス情報などを用いること無く、ケーブル誤接続の検出を行うことを可能にする。【解決手段】複数のコントローラと複数のアダプタとを備え、前記コントローラは、前記アダプタの前記コントローラへの接続を確認し、前記接続を確認した前記アダプタに対して接続番号を送信し、前記接続番号を送信した前記アダプタにコマンドを送信し、前記コマンドに対して前記アダプタが前記接続番号に基づいて応答を行った結果により前記接続の正誤を確認する、ディスクアレイ装置である。【選択図】      図１
2014170364.tif 000002
【特許請求の範囲】
【請求項１】
複数のコントローラと複数のアダプタとを備え、
前記コントローラは、
前記アダプタの前記コントローラへの接続を確認し、前記接続を確認した前記アダプタに対して接続番号を送信し、前記接続番号を送信した前記アダプタにコマンドを送信し、前記コマンドに対して前記アダプタが前記接続番号に基づいて応答を行った結果により前記接続の正誤を確認する、ディスクアレイ装置。
【請求項２】
前記コントローラは、前記接続番号を前記アダプタの接続の順に決定する、請求項１記載のディスクアレイ装置。
【請求項３】
前記コントローラは、前記正誤の確認を前記ディスクアレイ装置の起動時、あるいは、前記アダプタの増設時に行う、請求項１または２記載のディスクアレイ装置。
【請求項４】
前記複数のコントローラは第１のコントローラと第２のコントローラとを有し、
前記複数のアダプタは第１のアダプタと第２のアダプタとを有し、
前記第１のコントローラは前記第１のアダプタに前記コマンドを送信し、
前記第１のアダプタは、前記第１のアダプタが有する前記接続番号に基づいて前記コマンドに第１の応答を行った後、前記第２のアダプタに前記第１の応答を行ったコマンドを送信し、
前記第２のアダプタは、前記第２のアダプタが有する前記接続番号に基づいて前記第１のアダプタから送られた前記コマンドに第２の応答を行った後、前記第２のコントローラに前記第２の応答を行ったコマンドを送信し、
前記第２のコントローラは前記第２の応答を行ったコマンドを前記第１のコントローラに送信し、
前記第１のコントローラあるいは前記第２のコントローラは、前記第２の応答を行ったコマンドを受けて、前記接続の正誤を確認する、
請求項１から３の内の１項記載のディスクアレイ装置。
【請求項５】
前記第１のコントローラと前記第２のコントローラとは同一のコントローラエンクロージャに格納され、前記第１のアダプタと前記第２のアダプタとは同一のディスクエンクロージャに格納された、請求項４記載のディスクアレイ装置。
【請求項６】
前記第２のコントローラは前記第１のコントローラの冗長化分であり、前記第２のアダプタは前記第２のアダプタの冗長化分である、請求項４または５記載のディスクアレイ装置。
【請求項７】
前記コントローラは前記アダプタの接続形式の情報を保持し、前記接続形式に基づいて前記接続の正誤を確認する、請求項１から６の内の１項記載のディスクアレイ装置。
【請求項８】
複数のコントローラと複数のアダプタとを備えたディスクアレイ装置において、
前記アダプタの前記コントローラへの接続を確認し、
前記接続を確認した前記アダプタに対して接続番号を送信し、
前記接続番号を送信した前記アダプタにコマンドを送信し、
前記コマンドに対して前記アダプタが前記接続番号に基づいて応答を行った結果により前記接続の正誤を確認する、ディスクアレイ装置のケーブル誤接続検出方法。
【請求項９】
前記正誤の確認は、前記ディスクアレイ装置の起動時、あるいは、前記アダプタの増設時に行われる、請求項８記載のディスクアレイ装置のケーブル誤接続検出方法。
【請求項１０】
前記複数のコントローラは、第１のコントローラと第２のコントローラとを有し、
前記複数のアダプタは、第１のアダプタと第２のアダプタとを有し、
前記第１のコントローラは前記第１のアダプタに前記コマンドを送信し、
前記第１のアダプタは、前記第１のアダプタが有する前記接続番号に基づいて前記コマンドに第１の応答を行った後、前記第２のアダプタに前記第１の応答を行ったコマンドを送信し、
前記第２のアダプタは、前記第２のアダプタが有する前記接続番号に基づいて前記第１のアダプタから送られた前記コマンドに第２の応答を行った後、前記第２のコントローラに前記第２の応答を行ったコマンドを送信し、
前記第２のコントローラは前記第２の応答を行ったコマンドを前記第１のコントローラに送信し、
前記第１のコントローラあるいは前記第２のコントローラは、前記第２の応答を行ったコマンドを受けて、前記接続の正誤を確認する、
請求項８または９項記載のディスクアレイ装置のケーブル誤接続検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はディスクアレイ装置に関し、特にそのアレイコントローラとディスクエンクロージャとの誤接続の検出方法に関する。
【背景技術】
【０００２】
ディスクアレイ装置などのストレージシステムでは、上位ホストコンピュータからの処理やＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）制御などを行うアレイコントローラを搭載する制御筐体（コントローラエンクロージャとも言う）と、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）などの記憶媒体を搭載するデバイス格納筐体（ディスクエンクロージャとも言う）を、複数台接続する構成が広く用いられている。また、信頼性の向上のために、アレイコントローラとディスクエンクロージャ間のアクセス経路を冗長化することも行われている。
【０００３】
ここで、冗長化したアクセス経路の接続が誤っていると、冗長化の効果が得られなくなる。そのため、接続ケーブルの誤接続を検出する方法が、特許文献１および特許文献２に開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１４６４８９号公報
【特許文献２】特開２００９−１８１３１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ディスクエンクロージャを複数台接続する際のケーブルの誤接続を検出する方法として、ディスクエンクロージャに物理スイッチを搭載し、スイッチの設定値により検出する方法が採用されていた。しかしながら、この方法では、このための新たなスイッチを要する点や、スイッチの設定値の設定の際に接続すべきケーブルと一致しない設定値を設定するなどの問題があった。
【０００６】
スイッチレスな誤接続の検出方法として、ディスクエンクロージャ内に固有情報を保持しこれを検出する方法や、物理アドレス情報を元にルーティングして検出する方法がある。しかしながら、これらの方法では、固有情報を保持するためのデバイスが必要となりコストが増大する点、故障による交換などで物理アドレス情報が変更された場合に正しい検出ができなくなる点が問題である。
【０００７】
特許文献１の方法では、記憶媒体に割り当てられた固有ＩＤを取得することでケーブル接続を特定している。そのため、固有ＩＤを持つ記憶装置が必ず１個以上搭載されていなければならないという制約が付く問題がある。
【０００８】
特許文献２は、特許文献１の固有ＩＤを持つディスクが必ず１個以上搭載されていなければならないという問題を解消している。その方法は、デバイス格納筐体のＳＡＳ（Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ）アドレス情報を元にルーティングを行うことで誤接続を検出するものである。しかしながら、装置の故障による交換などでＳＡＳアドレスが変わった場合の対策については何ら考慮されていない。
【０００９】
本発明は、上記の課題に鑑みてなされたものであり、その目的は、ディスクアレイ装置の起動時などに、アレイコントローラとディスクエンクロージャの誤接続を、物理的なスイッチ情報や物理アドレス情報などを用いること無く、検出を行うことを可能にするディスクアレイ装置、およびそのケーブル誤接続検出方法を提供することにある。
【課題を解決するための手段】
【００１０】
本発明のディスクアレイ装置は、複数のコントローラと複数のアダプタとを備え、前記コントローラは、前記アダプタの前記コントローラへの接続を確認し、前記接続を確認した前記アダプタに対して接続番号を送信し、前記接続番号を送信した前記アダプタにコマンドを送信し、前記コマンドに対して前記アダプタが前記接続番号に基づいて応答を行った結果により前記接続の正誤を確認することを特徴とする。
【００１１】
本発明のディスクアレイ装置のケーブル誤接続検出方法は、複数のコントローラと複数のアダプタとを備えたディスクアレイ装置において、前記アダプタの前記コントローラへの接続を確認し、前記接続を確認した前記アダプタに対して接続番号を送信し、前記接続番号を送信した前記アダプタにコマンドを送信し、前記コマンドに対して前記アダプタが前記接続番号に基づいて応答を行った結果により前記接続の正誤を確認することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、ディスクアレイ装置の起動時などに、アレイコントローラとディスクエンクロージャの誤接続を物理的なスイッチ情報や物理アドレス情報などを用いること無く、ケーブル誤接続の検出を行うことが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態のディスクアレイ装置の構成を示す図である。
【図２】本発明の第１の実施形態のディスクアレイ装置のディスクエンクロージャ接続番号確認コマンドを示す図である。
【図３】本発明の第２の実施形態のディスクアレイ装置の接続構成を示す図である。
【発明を実施するための形態】
【００１４】
以下、図を参照しながら、本発明の実施形態を詳細に説明する。但し、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。
（第１の実施形態）
（構成）
図１は、本発明の第１の実施形態のディスクアレイ装置の構成を示す。本実施形態のディスクアレイ装置は、上位ホストからのＩ／Ｏ制御やＲＡＩＤ制御を行うアレイコントローラ１１、１５、アレイコントローラを格納するコントローラエンクロージャ１０、磁気ディスクを格納するディスクエンクロージャ３０と磁気ディスクを制御するアダプタ４０、４５、および複数の磁気ディスクを有する。アレイコントローラ１１とアダプタ４０との組合せを０系２２、アレイコントローラ１５とアダプタ４５との組合せを１系２３（冗長化分あるいは冗長系）と呼ぶ。
【００１５】
アレイコントローラ１１、１５は、アレイコンローラのファームウェア情報や装置固有情報などを格納する不揮発記憶部２０、２１、コントローラ間通信バス１９を利用した通信を行うコントローラ間通信制御部１２、１６、アダプタ通信制御部１４、１８、ケーブルの誤接続判定部１３、１７を有する。アレイコントローラ１１、１５はこれらの各部の制御や連携を行うことができる。
【００１６】
アダプタ４０、４５は、アレイコントローラ１１、１５や他のディスクエンクロージャとの通信を行うアダプタ通信制御部４３、４８、アダプタ間通信バス３１を利用した通信を行うアダプタ間通信制御部４４、４９、ＨＤＤやＳＳＤなどの記憶装置を制御するディスク制御部４１、４６、アダプタ処理の一次記憶用のＲＡＭ４２、４７を有する。アダプタ４０、４５はこれら各部の制御や連携を行うことができる。
【００１７】
図１では、ディスクエンクロージャは１台のみ記載しているが、２台目以降のディスクエンクロージャを追加する場合は、デイジーチェーン接続することができる。すなわち、１台目のディスクエンクロージャ３０のアダプタ４０、４５のアダプタ通信制御部４３、４８に、２台目のディスクエンクロージャのアダプタ（１台目のアダプタ４０、４５に相当）のアダプタ通信制御部（１台目のアダプタ通信制御部４３、４８に相当）を接続することを繰り返すことで、２台目以降の接続ができる。
【００１８】
ケーブル誤接続の検出は、アレイコントローラ１１からアダプタ４０、アダプタ４５、アレイコントローラ１５、アレイコントローラ１１の順番に接続番号確認コマンド（後述）を回すことにより行う。
（動作）
図１および図２（後述）を参照して本実施形態の動作について詳細に説明する。図１のディスクアレイ装置の起動時、アレイコントローラ１１、１５の起動完了後、アレイコントローラ内のアダプタ通信制御部１４、１８にて、ディスクエンクロージャ３０に搭載されるアダプタ４０、４５のアダプタ通信制御部４３、４８との通信を行うことで、アダプタ４０、４５の接続確認を実施する。
【００１９】
アレイコントローラ１１は、アダプタ４０の接続を認識すると、ディスクエンクロージャ接続番号（０１）をアダプタ４０に通知し、アダプタ４０はＲＡＭ４２にディスクエンクロージャ接続番号（０１）を記録する。
【００２０】
アレイコントローラ１５は、アダプタ４５の接続を認識すると、ディスクエンクロージャ接続番号（０１）をアダプタ４５に通知し、アダプタ４５はＲＡＭ４７にディスクエンクロージャ接続番号（０１）を記録する。
【００２１】
アレイコントローラ１１、１５は、仮に、正しいアダプタ４０、４５とは別の誤ったアダプタがケーブル接続された場合でも、同様のディスクエンクロージャ接続番号（０１）を、アレイコントローラ１１、１５のおのおのにケーブル接続された誤ったアダプタに対して通知する。すなわち、本来アレイコントローラ１１、１５に接続されるべき正しいアダプタ４０、４５は、別の誤ったアレイコントローラにケーブル接続されているため、アダプタ４０、４５には別のアレイコントローラから別のディスクエンクロージャ接続番号が通知されていることになる。
【００２２】
ディスクエンクロージャが２台以上接続される場合も、同様の処理を実施するが、一つ前のディスクエンクロージャに通知するディスクエンクロージャ接続番号にたとえば１を加算して、ディスクエンクロージャ接続番号（０２）、ディスクエンクロージャ接続番号（０３）、・・・、のように順次通知する。このようにしてケーブル接続された全アダプタに対して、接続された順に、ディスクエンクロージャ接続番号を決定し通知する。通知されたディスクエンクロージャ接続番号は、不揮発記憶部２０、２１に保存することができる。
【００２３】
各アダプタはディスクエンクロージャ接続番号を各ＲＡＭに記録する。アレイコントローラ１１とアレイコントローラ１５は全アダプタへの通知完了後、コントローラ間通信制御部１２と１６の通信により、全アダプタへのディスクエンクロージャ接続番号通知が完了したことを通知し合う。
【００２４】
図２は、アレイコントローラから各アダプタに対して送られるディスクエンクロージャ接続番号確認コマンド５０を示す。Ｈｅａｄｅｒ情報５１には、「起動時のディスクエンクロージャ接続確認」を示すコードが指定される。ＤＥ接続番号５２には、接続確認を行いたい「ディスクエンクロージャ（ＤＥ）接続番号」が指定される。アダプタ０系（図１中の０系２２参照）が認識しているＤＥ接続番号（アダプタ０系）５３は、前述のアダプタがＲＡＭ４２に記録している「ディスクエンクロージャ接続番号」が指定される。アダプタ１系（図１中の１系２３参照）が認識しているＤＥ接続番号（アダプタ１系）５４は、前述のアダプタがＲＡＭ４６に記録している「ディスクエンクロージャ接続番号」が指定される。チェックコード５５はこれらの情報が正しいことを示すチェックディジットが指定される。
【００２５】
図２のコマンド５０は、アレイコントローラ１１により、Ｈｅａｄｅｒ情報５１には起動時のディスクエンクロージャ接続確認を示すコードが指定され、ＤＥ接続番号５２には１台目のディスクエンクロージャのＤＥ接続番号（０１）を指定され、チェックコード５５にはチェックディジットを指定された後、アダプタ通信制御部１４を介してアダプタ４０のアダプタ通信制御部４３へ送信される。
【００２６】
コマンド５０を受信したアダプタ４０は、ＲＡＭ４２に記録しているディスクエンクロージャ接続番号を、アダプタ０系が認識しているＤＥ接続番号（アダプタ０系）５３に指定し、チェックコードを更新後、アダプタ間通信制御部４４およびアダプタ間通信バス３１経由で、アダプタ４５のアダプタ間通信制御部４９に送信する。
【００２７】
コマンド５０を受信したアダプタ４５は、ＲＡＭ４７に記録しているディスクエンクロージャ接続番号を、アダプタ１系が認識しているＤＥ接続番号（アダプタ１系）５４に指定し、チェックコードを更新後、アダプタ通信制御部４８からアレイコントローラ１５のアダプタ通信制御部１８に送信する。アレイコントローラ１５は、誤接続判定部１７にて、チェックコードを元にコマンドデータの整合確認を行うことができる。そして、コントローラ間通信制御部１６およびコントローラ間通信バス１９経由でアレイコントローラ１１のコントローラ間通信制御部１２に送信する。
【００２８】
以上のように、コマンド送信のルーティングは、アレイコントローラ１１、アダプタ４０、アダプタ４５、アレイコントローラ１５、アレイコントローラ１１の順に行われる。また、２台目以降のディスクエンクロージャが接続されている場合も同様である。すなわち、たとえば２台目のディスクエンクロージャにおいては、アレイコントローラ１１、２台目のディスクエンクロージャの０系のアダプタ、２台目のディスクエンクロージャの１系のアダプタ、アレイコントローラ１５、アレイコントローラ１１の順に行われる。
【００２９】
アレイコントローラ１１は、誤接続判定部１３にて、コマンド送信時に指定したＤＥ接続番号０１と、アダプタ４０、４５が指定したアダプタ０系とアダプタ１系とが認識しているＤＥ接続番号（アダプタ０系）５３とＤＥ接続番号（アダプタ１系）５４とが一致しているかをコマンドの内容を確認することで判定する。一致している場合は正しい接続状態であるとして通知する。一致していない場合は、誤接続箇所を特定して通知する。２台目以降のディスクエンクロージャが接続されている場合も同様である。
【００３０】
アレイコントローラ１１、１５に対して正しいアダプタ４０、４５とは別の誤ったアダプタが接続された場合、正しいアダプタ４０、４５は別のアレイコントローラと接続されているので、アダプタ４０、４５は正しいＤＥ接続番号（０１）とは別のＤＥ接続番号を有する。一方で、コマンド５０はアレイコントローラ１１、アダプタ４０、アダプタ４５、アレイコントローラ１５、アレイコントローラ１１の順にルーティングされるため、正しいＤＥ接続番号（０１）とは別のＤＥ接続番号が検出されることになり、誤接続を検出することができる。
【００３１】
アレイコントローラ１１、１５とアダプタ４０、４５とのケーブル接続は、０系２２、１系２３の各々でおこなう。０系２２と１系２３のいずれかでケーブル誤接続が発生した場合、アダプタ通信制御部１４とアダプタ通信制御部４３とのケーブル接続、あるいは、アダプタ通信制御部１８とアダプタ通信制御部４８とのケーブル接続の分断が生じることになる。
【００３２】
すなわち、このようなケーブル接続の分断が生じている場合でも、コマンド５０が、アレイコントローラ１１、アダプタ４０、アダプタ４５、アレイコントローラ１５、アレイコントローラ１１の順にルーティングされるために、アダプタ通信制御部１４とアダプタ通信制御部４３との間、および、アダプタ通信制御部１８とアダプタ通信制御部４８との間は、無線通信を可能としている。この場合の無線通信は、コマンド５を通信できればよく、必ずしも大容量の無線通信を必要としない。
【００３３】
この無線通信を介して、ケーブル誤接続の場合にも、アレイコントローラ１１、アダプタ４０、アダプタ４５、アレイコントローラ１５、アレイコントローラ１１の順にコマンド５０をルーティングすることができる。なお、ケーブル接続が正しい場合には、ケーブルによる通信と無線通信のいずれも可能である。ケーブル接続されていない誤接続の場合には、無線通信が可能である。以上の切り替えは自動的に行うこともできる。
【００３４】
上記の無線通信を備えていない場合、ケーブル接続が正しい場合は、ケーブルを介した通信により、アレイコントローラ１１、アダプタ４０、アダプタ４５、アレイコントローラ１５、アレイコントローラ１１の順にコマンド５０をルーティングすることができる。一方、ケーブル接続に誤接続が発生した場合、例えば、アダプタ４５が誤接続した場合、コマンド５０はアレイコントローラ１１、アダプタ４０、アダプタ４５と回った時点で、アダプタ通信制御部４８とアダプタ通信制御部１８とのケーブル接続がないことを受けて、コマンド５０をアダプタ４５、アダプタ４０、アレイコントローラ１１の順にループバックすることにより、コマンドをアレイコントローラ１１に返す。このループバックは自動的に行うことができる。
【００３５】
アレイコントローラ１１では誤接続判定部１３にて、アダプタ４０の接続が正しいことと、アダプタ４５の誤接続とを、ＤＥ接続番号（アダプタ０系）５３とＤＥ接続番号（アダプタ１系）５４とを確認することで検出することができる。なお、図１には、アダプタ通信制御部１４から誤接続判定部１３への矢印は記載されていないが、両者の信号授受は可能である。
【００３６】
また、アダプタ４０が誤接続した場合、コマンド５０はアレイコントローラ１１、アダプタ４０と回す時点で、アダプタ通信制御部４３とアダプタ通信制御部１４とのケーブル接続がないことを受けて、コマンド５０をアレイコントローラ１１にループバックすることにより、コマンドをアレイコントローラ１１に返す。これを受けて、アレイコントローラ１１では誤接続判定部１３にて、アダプタ４０の正しいＤＥ接続番号（アダプタ０系）５３が確認されないことによって、アダプタ４０の誤接続を検出することができる。このループバックは自動的に行うことができる。
【００３７】
このときアダプタ４５のケーブル接続の正誤は確認されていない。しかしながら、アダプタ４０の誤接続を検出し、アダプタ４０の接続を修正した後に、再度コマンド５０をルーティングすることで、アダプタ４５のケーブル接続の正誤確認をすることができる。
【００３８】
ディスクアレイ装置の運用を考慮すると、起動時に限らず、運用中のディスクエンクロージャの増設もあり得る。このような場合は、本実施形態のディスクエンクロージャ接続番号確認コマンド５０を、ディスクエンクロージャ接続後に外部保守端末や上位ホストコンピュータからの指示により運用中にルーティングすることで、増設作業時の誤接続の検出を行うことができる。
（効果）
本実施形態によれば、ディスクアレイ装置の起動時に、アレイコントローラとディスクエンクロージャの誤接続を物理的なスイッチ情報や物理アドレス情報などを用いること無く、ケーブル誤接続の検出を行うことが可能である。また、運用中のディスクアレイ装置にディスクエンクロージャを増設した際に、物理的な接続後に、接続番号確認コマンドを発行し接続番号確認を実施することで、起動時のみに限らず増設時の誤接続の検出が可能である。
（第２の実施形態）
本発明の第２の実施形態について説明する。第１の実施形態では、コントローラエンクロージャと複数台のディスクエンクロージャとはデイジーチェーン接続されていた。第２の実施形態では、ディスクへのアクセス性能の向上や障害発生時の信頼性向上のために、アダプタの接続を、図３に示すような０系４００と１系４０１のケーブル接続を行う。
【００３９】
デイジーチェーン接続では、アダプタ２０１とアダプタ２０２の両方で障害が発生した場合、ディスクエンクロージャ３００のディスクへのアクセスができなくなるという問題がある。また、ディスクアクセスについても、デイジーチェーン接続の場合、ディスクエンクロージャ３００内のディスクへのアクセスにはディスクエンクロージャ２００を経由するため、遅延が生じることになる。図３に示す接続とすることで、アレイコントローラからのアクセス経路制御により、この遅延を解消することができる。
【００４０】
図３に示す接続は、０系においては、コントローラエンクロージャ１００のアレイコントローラ１０１とディスクエンクロージャ２００のアダプタ２０１とが接続され、さらに、ディスクエンクロージャ２００のアダプタ２０１とディスクエンクロージャ３００のアダプタ３０１とが接続される。一方、１系においては、コントローラエンクロージャ１００のアレイコントローラ１０２とディスクエンクロージャ３００のアダプタ３０２とが接続され、さらに、ディスクエンクロージャ３００のアダプタ３０２とディスクエンクロージャ２００のアダプタ２０２とが接続される。
【００４１】
本実施形態では、図３の接続形式をＦａｕｌｔ  Ｔｏｌｅｒａｎｔ接続と呼ぶことにする。本実施形態では、Ｆａｕｌｔ  Ｔｏｌｅｒａｎｔ接続においてもケーブル誤接続の検出が可能である。次に、本実施形態のケーブル誤接続の検出方法を説明する。
【００４２】
アレイコントローラ１０１、１０２の不揮発記憶部（図１の不揮発記憶部２０、２１に相当）に、ディスクエンクロージャの接続形式を示すコードを記録する。ディスクアレイ装置の起動時に、アレイコントローラはディスクエンクロージャ接続形式を読み出し、Ｆａｕｌｔ  Ｔｏｌｅｒａｎｔ接続を示すコードが格納されていた場合は、第１の実施形態に従い、それぞれのアダプタに対応するディスクエンクロージャ接続番号を、それぞれのアダプタに通知する。
【００４３】
すなわち、たとえば、アダプタ２０１、２０２にはディスクエンクロージャ接続番号（０１）、アダプタ３０１、３０２にはディスクエンクロージャ接続番号（０２）と通知する。
【００４４】
アレイコントローラ１０１とアレイコントローラ１０２は、全アダプタへの通知完了後、コントローラ間通信制御部（図１のコントローラ間通信制御部１２、１６に相当）の通信により、全アダプタへのディスクエンクロージャ接続番号通知が完了したことを通知し合う。
【００４５】
その後、ディスクエンクロージャ接続番号確認コマンド５０を発行する。ディスクエンクロージャ２００の接続を確認する際は、ディスクエンクロージャ接続番号確認コマンド５０を、アレイコントローラ１０１、アダプタ２０１、アダプタ２０２、アダプタ３０２を介してアレイコントローラ１０２、アレイコントローラ１０１の順に回す。ディスクエンクロージャ３００の接続を確認する際は、ディスクエンクロージャ接続番号確認コマンドを、アレイコントローラ１０１、アダプタ２０１を介してアダプタ３０１、アダプタ３０２、アレイコントローラ１０２、アレイコントローラ１０１の順に回す。
【００４６】
アレイコントローラ１０１とアダプタ２０１間、アダプタ２０１とアダプタ３０１の間、アダプタ２０２とアダプタ３０２の間、アダプタ３０２とアレイコントローラ１０２との間は、ケーブル通信と無線通信が可能であり、両者を適宜選択することが可能である。ディスクエンクロージャ接続番号確認コマンド５０を回す際の、各アダプタ、各アレイコントローラの動作は第１の実施形態と同様である。
【００４７】
また、運用中のディスクアレイ装置にディスクエンクロージャを増設した際に、物理的な接続後に、接続番号確認コマンドを発行し接続番号確認を実施することで、起動時のみに限らず増設時の誤接続の検出が可能である。
【００４８】
以上の動作により、デイジーチェーン接続に限らず、Ｆａｕｌｔ  Ｔｏｌｅｒａｎｔ接続においてもケーブル誤接続の検出が可能である。よって、本実施形態によれば、ディスクアレイ装置の起動時などに、アレイコントローラとディスクエンクロージャの誤接続を物理的なスイッチ情報や物理アドレス情報などを用いること無く、ケーブル誤接続の検出を行うことが可能である。
【００４９】
本発明は上記実施形態に限定されることなく、特許請求の範囲に記載した発明の範囲内で、種々の変形が可能であり、それらも本発明の範囲内に含まれるものであることはいうまでもない。また、上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００５０】
付記
（付記１）
複数のコントローラと複数のアダプタとを備え、
前記コントローラは、前記アダプタの前記コントローラへの接続を確認し、前記接続を確認した前記アダプタに対して接続番号を送信し、前記接続番号を送信した前記アダプタにコマンドを送信し、前記コマンドに対して前記アダプタが前記接続番号に基づいて応答を行った結果により前記接続の正誤を確認する、ディスクアレイ装置。
（付記２）
前記コントローラは、前記接続番号を前記アダプタの接続の順に決定する、付記１記載のディスクアレイ装置。
（付記３）
前記コントローラは、前記正誤の確認を前記ディスクアレイ装置の起動時、あるいは、前記アダプタの増設時に行う、付記１または２記載のディスクアレイ装置。
（付記４）
前記アダプタは、前記接続番号を保存する、付記１から３の内の１項記載のディスクアレイ装置。
（付記５）
前記複数のコントローラは第１のコントローラと第２のコントローラとを有し、
前記複数のアダプタは第１のアダプタと第２のアダプタとを有し、
前記第１のコントローラは前記第１のアダプタに前記コマンドを送信し、
前記第１のアダプタは、前記第１のアダプタが有する前記接続番号に基づいて前記コマンドに第１の応答を行った後、前記第２のアダプタに前記第１の応答を行ったコマンドを送信し、
前記第２のアダプタは、前記第２のアダプタが有する前記接続番号に基づいて前記第１のアダプタから送られた前記コマンドに第２の応答を行った後、前記第２のコントローラに前記第２の応答を行ったコマンドを送信し、
前記第２のコントローラは前記第２の応答を行ったコマンドを前記第１のコントローラに送信し、
前記第１のコントローラあるいは前記第２のコントローラは、前記第２の応答を行ったコマンドを受けて、前記接続の正誤を確認する、付記１から４の内の１項記載のディスクアレイ装置。
（付記６）
前記第１のコントローラと前記第２のコントローラとは同一のコントローラエンクロージャに格納され、前記第１のアダプタと前記第２のアダプタとは同一のディスクエンクロージャに格納された、付記５記載のディスクアレイ装置。
（付記７）
前記第２のコントローラは前記第１のコントローラの冗長化分であり、前記第２のアダプタは前記第２のアダプタの冗長化分である、付記５または６記載のディスクアレイ装置。
（付記８）
前記コントローラは前記アダプタの接続形式の情報を保持し、前記接続形式に基づいて前記接続の正誤を確認する、付記１から７の内の１項記載のディスクアレイ装置。
（付記９）
複数のコントローラと複数のアダプタとを備えたディスクアレイ装置において、
前記アダプタの前記コントローラへの接続を確認し、
前記接続を確認した前記アダプタに対して接続番号を送信し、
前記接続番号を送信した前記アダプタにコマンドを送信し、
前記コマンドに対して前記アダプタが前記接続番号に基づいて応答を行った結果により前記接続の正誤を確認する、ディスクアレイ装置のケーブル誤接続検出方法。
（付記１０）
前記接続番号は、前記アダプタの接続の順に決定される、付記９記載のディスクアレイ装置のケーブル誤接続検出方法。
（付記１１）
前記正誤の確認は、前記ディスクアレイ装置の起動時、あるいは、前記アダプタの増設時に行われる、付記９または１０記載のディスクアレイ装置のケーブル誤接続検出方法。
（付記１２）
前記アダプタは、前記接続番号を保存する、付記９から１１の内の１項記載のディスクアレイ装置のケーブル誤接続検出方法。
（付記１３）
前記複数のコントローラは、第１のコントローラと第２のコントローラとを有し、
前記複数のアダプタは、第１のアダプタと第２のアダプタとを有し、
前記第１のコントローラは前記第１のアダプタに前記コマンドを送信し、
前記第１のアダプタは、前記第１のアダプタが有する前記接続番号に基づいて前記コマンドに第１の応答を行った後、前記第２のアダプタに前記第１の応答を行ったコマンドを送信し、
前記第２のアダプタは、前記第２のアダプタが有する前記接続番号に基づいて前記第１のアダプタから送られた前記コマンドに第２の応答を行った後、前記第２のコントローラに前記第２の応答を行ったコマンドを送信し、
前記第２のコントローラは前記第２の応答を行ったコマンドを前記第１のコントローラに送信し、
前記第１のコントローラあるいは前記第２のコントローラは、前記第２の応答を行ったコマンドを受けて、前記接続の正誤を確認する、付記９から１２の内の１項記載のディスクアレイ装置のケーブル誤接続検出方法。
（付記１４）
前記コントローラは前記アダプタの接続形式の情報を保持し、前記接続形式に基づいて前記接続の正誤を確認する、付記９から１３の内の１項記載のディスクアレイ装置のケーブル誤接続検出方法。
【符号の説明】
【００５１】
１０    コントローラエンクロージャ
１１、１５    アレイコントローラ
１２、１６    コントローラ間通信制御部
１３、１７    誤接続判定部
１４、１８    アダプタ通信制御部
２０、２１    不揮発記憶部
２２、４００    ０系
２３、４０１    １系
３０    ディスクエンクロージャ
４０、４５    アダプタ
４１、４６    ディスク制御部
４２、４７    ＲＡＭ
４３、４８    アダプタ通信制御部
４４、４９    アダプタ間通信制御部
５０    ディスクエンクロージャ接続番号確認コマンド
５１    Ｈｅａｄｅｒ情報
５２    ＤＥ接続番号
５３    ＤＥ接続番号（アダプタ０系）
５４    ＤＥ接続番号（アダプタ１系）
５５    チェックコード
１００    コントローラエンクロージャ
１０１、１０２    アレイコントローラ
２００、３００    ディスクエンクロージャ
２０１、２０２、３０１、３０２    アダプタ
【図１】
2014170364.tif 000003
【図２】
2014170364.tif 000004
【図３】
2014170364.tif 000005