(57)【特許請求の範囲】
【請求項１】
サーバ装置からの要求を処理する制御部と、前記サーバ装置からの要求に基づくデータを格納するための格納部を含む複数の記憶部とを有するディスクアレイ装置であって、
前記制御部は、
前記サーバ装置からの要求に基づくデータを格納する前記格納部を決定する第１の制御コントローラ及び第２の制御コントローラ
を備え、
前記複数の記憶部のそれぞれは、
前記第１の制御コントローラと数珠繋ぎに接続され、前記第１の制御コントローラから送信される前記データを当該記憶部内の前記格納部に格納する第１のディスクコントローラと、
前記第２の制御コントローラと数珠繋ぎに接続され、かつ、同一の記憶部内の第１のディスクコントローラとコントローラ間パスにより接続され、前記第２の制御コントローラから送信される前記データを前記格納部に格納する第２のディスクコントローラと
を備え、
前記第１の制御コントローラ又は前記第２の制御コントローラは、
前記第１のディスクコントローラが前記第１の制御コントローラから何番目に接続されているかを示す第１の情報と、当該第１のディスクコントローラと同一の記憶部内の前記第２のディスクコントローラが前記第２の制御コントローラから何番目に接続されているかを示す第２の情報とが一致するかを判断し、前記第１の情報と前記第２の情報とが一致しない前記記憶部が１つ以下である場合に、前記格納部へのアクセスを許可する一方、前記第１の情報と前記第２の情報とが一致しない前記記憶部が２つ以上存在する場合に、前記格納部へのアクセスを禁止する
ことを特徴とするディスクアレイ装置。
【請求項２】
前記複数の記憶部のそれぞれは、
前記第１のディスクコントローラと、当該第１のディスクコントローラと同一の記憶部内の第２のディスクコントローラとが、複数のコントローラ間パスにより接続されている
ことを特徴とする請求項１に記載のディスクアレイ装置。
【請求項３】
サーバ装置からの要求を処理する制御部と、前記サーバ装置からの要求に基づくデータを格納するための格納部を含む複数の記憶部とを有するディスクアレイ装置の制御方法であって、
前記制御部は、
前記サーバ装置からの要求に基づくデータを格納する前記格納部を決定する第１の制御コントローラ及び第２の制御コントローラ
を有し、
前記複数の記憶部のそれぞれは、
前記第１の制御コントローラと数珠繋ぎに接続され、前記第１の制御コントローラから送信される前記データを当該記憶部内の前記格納部に格納する第１のディスクコントローラと、
前記第２の制御コントローラと数珠繋ぎに接続され、かつ、同一の記憶部内の第１のディスクコントローラとコントローラ間パスにより接続され、前記第２の制御コントローラから送信される前記データを前記格納部に格納する第２のディスクコントローラと
を有し、
前記第１の制御コントローラ又は前記第２の制御コントローラが、
前記第１のディスクコントローラが前記第１の制御コントローラから何番目に接続されているかを示す第１の情報と、当該第１のディスクコントローラと同一の記憶部内の前記第２のディスクコントローラが前記第２の制御コントローラから何番目に接続されているかを示す第２の情報とが一致するかを判断する第１のステップと、
前記第１の情報と前記第２の情報とが一致しない前記記憶部が１つ以下である場合に、前記格納部へのアクセスを許可するステップと、
前記第１の情報と前記第２の情報とが一致しない前記記憶部が２つ以上存在する場合に、前記格納部へのアクセスを禁止するステップと
を備えることを特徴とするディスクアレイ装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＪＢＯＤ（Just a Bunch Of Disks）コントローラを有するディスクアレイ装置及びその制御方法に関する。
【背景技術】
【０００２】
従来、ディスクアレイコントローラ、又はＪＢＯＤコントローラを１装置ごとに２つ搭載することで、どちらか一方が故障しても動作することができるディスクアレイ装置が広く知られている。
【０００３】
このようなディスクアレイ装置として、例えば、特許文献１には、複数のＨＤＤ（ハードディスクドライブ）と、当該各ＨＤＤを駆動制御する冗長構成されたＰＢＣ回路とを備えた複数の大容量記憶装置（ＪＢＯＤコントローラ）と、各ＪＢＯＤコントローラに個別に対応して併設されＨＤＤにおける情報の読み書きに際しては各ＰＢＣ回路に所定の動作制御信号を送り込む冗長構成されたアダプタ回路と、ＰＢＣ回路とアダプタ回路とから成る冗長構成された少なくとも二系統のＨＤＤ制御系の動作を各別に制御するディスクアレイコントローラとを備えるディスクアレイ装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２７２７０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載のディスクアレイ装置は、数珠繋ぎに接続されているディスクアレイコントローラ及び複数のＪＢＯＤコントローラのセットを２系統備えて制御されるため、ＪＢＯＤコントローラの交換により１系統のＪＢＯＤコントローラの接続の順番を異ならせるようなケーブルの接続ミスが発生した場合には、一方のディスクアレイコントローラから所定のＪＢＯＤコントローラへの接続の順番と、他方のディスクアレイコントローラから、当該所定のＪＢＯＤコントローラと同一装置内でペアとなっているＪＢＯＤコントローラへの接続の順番とが異なることとなる。
【０００６】
この場合、特許文献１に記載のディスクアレイ装置は、接続ミスが発生している系統のディスクアレイコントローラが本来アクセスしたいＨＤＤとは異なる他のＨＤＤにアクセスして、本来のデータとは異なるデータを読み出したり、変更してはならないデータを書き換えたりするおそれがある。
【０００７】
本発明は以上の点を考慮してなされたものであり、信頼性を向上させ得るディスクアレイ装置及びその制御方法を提案するものである。
【課題を解決するための手段】
【０００８】
かかる課題を解決するために本発明は、サーバ装置からの要求を処理する制御部と、前記サーバ装置からの要求に基づくデータを格納するための格納部を含む複数の記憶部とを有するディスクアレイ装置であって、前記制御部は、前記サーバ装置からの要求に基づくデータを格納する前記格納部を決定する第１の制御コントローラ及び第２の制御コントローラを備え、前記複数の記憶部のそれぞれは、前記第１の制御コントローラと数珠繋ぎに接続され、前記第１の制御コントローラから送信される前記データを当該記憶部内の前記格納部に格納する第１のディスクコントローラと、前記第２の制御コントローラと数珠繋ぎに接続され、かつ、同一の記憶部内の第１のディスクコントローラとコントローラ間パスにより接続され、前記第２の制御コントローラから送信される前記データを前記格納部に格納する第２のディスクコントローラとを備え、前記第１の制御コントローラ又は前記第２の制御コントローラは、前記第１のディスクコントローラが前記第１の制御コントローラから何番目に接続されているかを示す第１の情報と、当該第１のディスクコントローラと同一の記憶部内の前記第２のディスクコントローラが前記第２の制御コントローラから何番目に接続されているかを示す第２の情報とが一致するかを判断し、前記第１の情報と前記第２の情報とが一致しない場合に、前記格納部へのアクセスを禁止することを特徴とする。
【０００９】
また、本発明は、サーバ装置からの要求を処理する制御部と、前記サーバ装置からの要求に基づくデータを格納するための格納部を含む複数の記憶部とを有するディスクアレイ装置の制御方法であって、前記制御部は、前記サーバ装置からの要求に基づくデータを格納する前記格納部を決定する第１の制御コントローラ及び第２の制御コントローラを有し、前記複数の記憶部のそれぞれは、前記第１の制御コントローラと数珠繋ぎに接続され、前記第１の制御コントローラから送信される前記データを当該記憶部内の前記格納部に格納する第１のディスクコントローラと、前記第２の制御コントローラと数珠繋ぎに接続され、かつ、同一の記憶部内の第１のディスクコントローラとコントローラ間パスにより接続され、前記第２の制御コントローラから送信される前記データを前記格納部に格納する第２のディスクコントローラとを有し、前記第１の制御コントローラ又は前記第２の制御コントローラが、前記第１のディスクコントローラが前記第１の制御コントローラから何番目に接続されているかを示す第１の情報と、当該第１のディスクコントローラと同一の記憶部内の前記第２のディスクコントローラが前記第２の制御コントローラから何番目に接続されているかを示す第２の情報とが一致するかを判断する第１のステップと、前記第１の情報と前記第２の情報とが一致しない場合に、前記格納部へのアクセスを禁止する第２のステップとを備えることを特徴とする。
【００１０】
従って、２系統制御されたコントローラ環境において、ケーブル接続ミスが発生したときにも、制御コントローラが本来アクセスしたい格納部とは異なる他の格納部にアクセスして、本来のデータとは異なるデータを読み出したり、変更してはならないデータを書き換えたりするのを未然かつ有効に防止することができる。
【発明の効果】
【００１１】
本発明によれば、信頼性を向上させ得るディスクアレイ装置及びその制御方法を実現することができる。
【図面の簡単な説明】
【００１２】
【図１】ストレージシステムの構成を示すブロック図の一例である。
【図２】ＪＢＯＤコントローラが交換されたときのディスクアレイ装置のアクセス制御処理手順を示すフローチャートの一例である。
【図３】ＳＡＳパスのケーブル接続ミスが発生した場合のストレージシステムの構成を示すブロック図の一例である。
【図４】ＪＢＯＤコントローラに故障が発生した場合のストレージシステムの構成を示すブロック図の一例である。
【発明を実施するための形態】
【００１３】
以下、本発明の一実施の形態を、図面を参照して詳細に説明する。なお、これにより本発明が限定されるものではない。
【００１４】
図１は、本実施形態におけるストレージシステム１を示す図である。ストレージシステム１は、サーバ装置１０及びディスクアレイ装置２０を備えて構成されている。
【００１５】
サーバ装置１０は、例えば、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）などの通常のコンピュータ装置と同様のハードウェアを備えて構成されている。サーバ装置１０は、ディスク制御装置２０に対するＩ／Ｏ要求及びＩ／Ｏ要求に対応するデータの送受信を行う。
【００１６】
ディスクアレイ装置２０は、ディスク制御装置２１（制御部）及び複数の記憶装置２２（２２Ａ−２２Ｃ）（記憶部）を備えて構成されている。ディスク制御装置２１は、ディスクアレイコントローラ３１及び３２（第１の制御コントローラ及び第２の制御コントローラ）並びに複数のハードディスクドライブ（Hard Disk Drive）３３を備えて構成されている。記憶装置２２（２２Ａ−２２Ｃ）は、ＪＢＯＤコントローラ４１（４１Ａ−４１Ｃ）及び４２（４２Ａ−４２Ｃ）（第１のディスクコントローラ及び第２のディスクコントローラ）並びに複数のハードディスクドライブ４３（４３Ａ−４３Ｃ）（格納部）を備えて構成されている。
【００１７】
ディスクアレイコントローラ３１及びＪＢＯＤコントローラ４１Ａ間は、ＳＡＳ（Serial Attached SCSI）パス５１により接続されている。ＪＢＯＤコントローラ４１Ａ及びＪＢＯＤコントローラ４１Ｂ間は、ＳＡＳパス５２により接続されている。ＪＢＯＤコントローラ４１Ｂ及びＪＢＯＤコントローラ４１Ｃ間は、ＳＡＳパス５３により接続されている。すなわち、ＪＢＯＤコントローラ４１Ａ−４１Ｃ間は、ディスクアレイコントローラ３１から数珠繋ぎに接続されている。
【００１８】
同様に、ＪＢＯＤコントローラ４２Ａ−４２Ｃは、ＳＡＳパス５４−５６により、ディスクアレイコントローラ３２から数珠繋ぎに接続されている。
【００１９】
ディスクアレイコントローラ３１及び３２は、制御装置２１内でペアとなっており、コントローラ間通信パス６１（６１Ａ及び６１Ｂ）により接続されている。ＪＢＯＤコントローラ４１Ａ及び４２Ａは、記憶装置２２Ａ内でペアとなっており、コントローラ間通信パス６２（６２Ａ及び６２Ｂ）により接続されている。ＪＢＯＤコントローラ４１Ｂ及び４２Ｂは、記憶装置２２Ｂ内でペアとなっており、コントローラ間通信パス６３（６３Ａ及び６３Ｂ）により接続されている。ＪＢＯＤコントローラ４１Ｃ及び４２Ｃは、記憶装置２２Ｃ内でペアとなっており、コントローラ間通信パス６４（６４Ａ及び６４Ｂ）により接続されている。
【００２０】
ディスクアレイコントローラ３１及び３２は、サーバ装置１０からＩ／Ｏ要求を受信すると、当該ディスクアレイコントローラ３１及び３２の管理下のハードディスクドライブ３３に格納するか、ＪＢＯＤコントローラ４１及び４２の管理下のハードディスクドライブ４３に格納するかを決定する。そして、ディスクアレイコントローラ３１及び３２は、サーバ装置１０から受信したデータをハードディスクドライブ３３に格納し、又はＪＢＯＤコントローラ４１及び４２に送信し、ＪＢＯＤコントローラ４１及び４２によって当該データがハードディスクドライブ４３に格納させる。
【００２１】
図２は、所定のＪＢＯＤコントローラが交換された後に電源が入れられたときのディスクアレイ装置２０のアクセス制御処理について、図２のフローチャートを参照して説明する。
【００２２】
なお、以下においては、ディスクアレイコントローラ３１が処理する場合について主に説明する。この場合、ディスクアレイコントローラ３１は、例えば、故障等によりＪＢＯＤコントローラのいずれかのＪＢＯＤコントローラが交換された後に電源が入れられたときに、図２に示すアクセス制御処理手順ＲＴ１を開始する。
【００２３】
まず、ディスクアレイコントローラ３１及び３２は、自己の系統のすべてのＪＢＯＤコントローラ４１及び４２に問い合わせを行い、各ＪＢＯＤコントローラ４１及び４２がディスクアレイコントローラ３１及び３２から何番目に接続されているかを示す構成情報（第１の情報、第２の情報）を作成する（ステップＳＰ１）。
【００２４】
続いて、ディスクアレイコントローラ３１は、構成情報の確認を行うＪＢＯＤコントローラ４１を選択する。続いて、ディスクアレイコントローラ３１は、選択したＪＢＯＤコントローラ４１（以下「選択ＪＢＯＤコントローラ」と呼ぶ）に、当該選択ＪＢＯＤコントローラの構成情報を送信する（ステップＳＰ２）。
【００２５】
続いて、選択ＪＢＯＤコントローラは、当該選択ＪＢＯＤコントローラと同一の記憶装置２２内においてペアとなっているＪＢＯＤコントローラ（以下「ペアＪＢＯＤコントローラ」と呼ぶ）に、２つのコントローラ間通信パス６２−６４のうち、一方のコントローラ間通信パスを介して、選択ＪＢＯＤコントローラの構成情報を送信し、当該ペアＪＢＯＤコントローラが選択ＪＢＯＤコントローラの構成情報を受信することができたか否かをチェックする（ステップＳＰ３）。
【００２６】
そして、選択ＪＢＯＤコントローラは、当該ペアＪＢＯＤコントローラが、一方のコントローラ間通信パスを介して、選択ＪＢＯＤコントローラの構成情報を受信することができなかったと判断した場合（ステップＳＰ３：ＮＯ）には、当該ペアＪＢＯＤコントローラに、他方のコントローラ間通信パスを介して、選択ＪＢＯＤコントローラの構成情報を送信し、当該ペアＪＢＯＤコントローラが構成情報を受信することができたか否かをチェックする（ＳＰ４）。
【００２７】
そして、選択ＪＢＯＤコントローラは、当該ペアＪＢＯＤコントローラが、他方のコントローラ間通信パスを介して、構成情報を受信することができなかったと判断した場合（ステップＳＰ４：ＮＯ）には、ディスクアレイコントローラ３１に、当該ペアＪＢＯＤコントローラに、構成情報を送信することができなかった旨を示す送信不能通知を送信し（ステップＳＰ５）、ステップＳＰ９に進む。
【００２８】
なお、この場合、ディスクアレイコントローラ３１は、当該選択ＪＢＯＤコントローラの構成情報とペアＪＢＯＤコントローラの構成情報（後述）とが一致しなかったものとして取り扱う。またなお、選択ＪＢＯＤコントローラは、例えば、所定の時間、ペアＪＢＯＤコントローラから、選択ＪＢＯＤコントローラの構成情報を受信した旨の通知がない等の場合に、当該ペアＪＢＯＤコントローラが、選択ＪＢＯＤコントローラの構成情報を受信することができなかったと判断する。
【００２９】
これに対して、ペアＪＢＯＤコントローラは、選択ＪＢＯＤコントローラの構成情報を受信できた場合（ステップＳＰ３、ＳＰ４：ＹＥＳ）には、選択ＪＢＯＤコントローラの構成情報を、ディスクアレイコントローラ３２に送信する（ステップＳＰ６）。
【００３０】
続いて、ディスクアレイコントローラ３２は、選択ＪＢＯＤコントローラと同一の記憶装置２２内のペアＪＢＯＤコントローラを特定し、選択ＪＢＯＤコントローラの構成情報とペアＪＢＯＤコントローラの構成情報とを、ディスクアレイコントローラ３１に送信する（ステップＳＰ７）。
【００３１】
続いて、ディスクアレイコントローラ３１は、ディスクアレイコントローラ３２から受信した、選択ＪＢＯＤコントローラの構成情報とペアＪＢＯＤコントローラの構成情報とが一致するか否かを判断する（ステップＳＰ８）。
【００３２】
続いて、ディスクアレイコントローラ３１は、すべてのＪＢＯＤコントローラ４１の構成情報の判断が終了したか否かをチェックする（ステップＳＰ９）。そして、ディスクアレイコントローラ３１は、すべてのＪＢＯＤコントローラ４１の構成情報の判断が終了していない場合（ステップＳＰ９：ＮＯ）には、ステップＳＰ２に戻り、その後、ステップＳＰ２−ステップＳＰ９の処理を繰り返す。
【００３３】
これに対して、ディスクアレイコントローラ３１は、すべてのＪＢＯＤコントローラ４１の構成情報の判断が終了した場合（ステップＳＰ９：ＹＥＳ）には、記憶装置２２のうち、ペアとなっているＪＢＯＤコントローラの構成情報が一致しない記憶装置が１つ以下であるか否かをチェックする（ステップＳＰ１０）。
【００３４】
そして、ディスクアレイコントローラ３１は、構成情報が一致しない記憶装置が１つ以下である場合（ステップＳＰ１０：ＹＥＳ）には、ハードディスクドライブ３３及び４３へのアクセスを許可する（ステップＳＰ１１）。これに対して、ディスクアレイコントローラ３１は、構成情報が一致しない記憶装置が１つ以下でない場合、すなわち２つ以上である場合（ステップＳＰ１０：ＮＯ）には、ハードディスクドライブ３３及び４３へのアクセスを禁止する（ステップＳＰ１２）。
【００３５】
なお、上述のディスクアレイコントローラ３１の処理は、ディスクアレイコントローラ３２が行うようにしても良い。
【００３６】
（実施例）
図３は、ＪＢＯＤコントローラが交換され、ＳＡＳパス５１−５６のケーブル接続ミスが発生した場合のストレージシステム１を示す図である。図３のストレージシステム１は、例えば、ＪＢＯＤコントローラ４１Ｃを交換した際のＳＡＳケーブル接続ミスによって、ＪＢＯＤコントローラ４１Ａ及びＪＢＯＤコントローラ４１Ｃ間が、ＳＡＳパス５２により接続されている。すなわち、図３のストレージシステム１は、ディスクアレイコントローラ３１、ＪＢＯＤコントローラ４１Ａ、ＪＢＯＤコントローラ４１Ｃ、ＪＢＯＤコントローラ４１Ｂの順に数珠繋ぎに接続されている。
【００３７】
この場合、ディスクアレイコントローラ３１及び３２は、電源が入れられると、ＪＢＯＤコントローラ４１及び４２の構成情報を作成する（ステップＳＰ１）。
【００３８】
続いて、ディスクアレイコントローラ３１は、例えば、ＪＢＯＤコントローラ４１Ａを選択し、ＪＢＯＤコントローラ４１Ａの構成情報を当該ＪＢＯＤコントローラ４１Ａに送信する（ステップＳＰ２）。続いて、ＪＢＯＤコントローラ４１Ａと同一の記憶装置２２Ａの内のＪＢＯＤコントローラ４２Ａは、コントローラ間通信パス６２Ａを介して、ＪＢＯＤコントローラ４１Ａの構成情報を受信できるため（ステップＳＰ３：ＹＥＳ）、この後、ＪＢＯＤコントローラ４１Ａの構成情報を、ディスクアレイコントローラ３２に送信する（ステップＳＰ６）。
【００３９】
続いて、ディスクアレイコントローラ３２は、ＪＢＯＤコントローラ４１Ａと同一の記憶装置２２ＡのＪＢＯＤコントローラがＪＢＯＤコントローラ４２Ａであることを特定し、ＪＢＯＤコントローラ４１Ａの構成情報とＪＢＯＤコントローラ４２Ａの構成情報とを、ディスクアレイコントローラ３１に送信する（ステップＳＰ７）。
【００４０】
続いて、ディスクアレイコントローラ３１は、ＪＢＯＤコントローラ４１Ａ及び４２Ａの構成情報が共にディスクアレイコントローラ３１及び３２から１番目に接続されていることを示すことから、ＪＢＯＤコントローラ４１Ａの構成情報とＪＢＯＤコントローラ４２Ａの構成情報とが一致していると判断する（ステップＳＰ８）。続いて、ディスクアレイコントローラ３１は、交換した系のすべてのＪＢＯＤコントローラ４１の構成情報の判断が終了していないため（ステップＳＰ９：ＮＯ）、ステップＳＰ２に戻る。
【００４１】
続いて、ディスクアレイコントローラ３１は、例えば、ＪＢＯＤコントローラ４１Ｃを選択し、ＪＢＯＤコントローラ４１Ｃの構成情報を、ＪＢＯＤコントローラ４１Ａを介して、当該ＪＢＯＤコントローラ４１Ｃに送信する（ステップＳＰ２）。続いて、ＪＢＯＤコントローラ４１Ｃと同一の記憶装置２２Ｃの内のＪＢＯＤコントローラ４２Ｃは、コントローラ間通信パス６４Ａを介して、ＪＢＯＤコントローラ４１Ｃの構成情報を受信できるため（ステップＳＰ３：ＹＥＳ）、この後、ＪＢＯＤコントローラ４１Ｃの構成情報を、ＪＢＯＤコントローラ４２Ｂ及び４２Ａを介して、ディスクアレイコントローラ３２に送信する（ステップＳＰ６）。
【００４２】
続いて、ディスクアレイコントローラ３２は、ＪＢＯＤコントローラ４１Ｃと同一の記憶装置２２ＣのＪＢＯＤコントローラがＪＢＯＤコントローラ４２Ｃであることを特定し、ＪＢＯＤコントローラ４１Ｃの構成情報とＪＢＯＤコントローラ４２Ｃの構成情報とを、ディスクアレイコントローラ３１に送信する（ステップＳＰ７）。
【００４３】
続いて、ディスクアレイコントローラ３１は、ＪＢＯＤコントローラ４１Ｃの構成情報がディスクアレイコントローラ３１から２番目に接続されていることを示す一方、ＪＢＯＤコントローラ４２Ｃの構成情報がディスクアレイコントローラ３２から３番目に接続されていることを示すことから、ＪＢＯＤコントローラ４１Ｃの構成情報とＪＢＯＤコントローラ４２Ｃの構成情報とが一致していないと判断する（ステップＳＰ８）。続いて、ディスクアレイコントローラ３１は、交換した系のすべてのＪＢＯＤコントローラ４１の構成情報の判断が終了していないため（ステップＳＰ９：ＮＯ）、ステップＳＰ２に戻る。
【００４４】
続いて、ディスクアレイコントローラ３１は、例えば、ＪＢＯＤコントローラ４１Ｂを選択し、ＪＢＯＤコントローラ４１Ｂの構成情報を、ＪＢＯＤコントローラ４１Ａ及び４１Ｃを介して、当該ＪＢＯＤコントローラ４１Ｂに送信する（ステップＳＰ２）。続いて、ＪＢＯＤコントローラ４１Ｂと同一の記憶装置２２Ｂの内のＪＢＯＤコントローラ４２Ｂは、コントローラ間通信パス６３Ａを介して、ＪＢＯＤコントローラ４１Ｂの構成情報を受信できるため（ステップＳＰ３：ＹＥＳ）、この後、ＪＢＯＤコントローラ４１Ｂの構成情報を、ＪＢＯＤコントローラ４２Ａを介して、ディスクアレイコントローラ３２に送信する（ステップＳＰ６）。
【００４５】
続いて、ディスクアレイコントローラ３２は、ＪＢＯＤコントローラ４１Ｂと同一の記憶装置２２ＢのＪＢＯＤコントローラがＪＢＯＤコントローラ４２Ｂであることを特定し、ＪＢＯＤコントローラ４１Ｂの構成情報とＪＢＯＤコントローラ４２Ｂの構成情報とを、ディスクアレイコントローラ３１に送信する（ステップＳＰ７）。
【００４６】
続いて、ディスクアレイコントローラ３１は、ＪＢＯＤコントローラ４１Ｂの構成情報がディスクアレイコントローラ３１から３番目に接続されていることを示す一方、ＪＢＯＤコントローラ４２Ｂの構成情報がディスクアレイコントローラ３２から２番目に接続されていることを示すことから、ＪＢＯＤコントローラ４１Ｂの構成情報とＪＢＯＤコントローラ４２Ｂの構成情報とが一致していないと判断する（ステップＳＰ８）。続いて、ディスクアレイコントローラ３１は、交換した系のすべてのＪＢＯＤコントローラ４１の構成情報の判断が終了したとき（ステップＳＰ９：ＹＥＳ）、記憶装置２２のうち、構成情報が一致しない記憶装置が記憶装置２２Ｂ及び２２Ｃの２つ存在する（ステップＳＰ１０：ＮＯ）ため、ハードディスクドライブ３３及び４３へのアクセスを禁止する（ステップＳＰ１２）。
【００４７】
このようにして、ディスクアレイコントローラ３１は、構成情報が一致しない記憶装置が２つ存在する、すなわち、ＪＢＯＤコントローラが交換されたときにＳＡＳパス５１−５６のケーブル接続ミスが発生した場合には、ハードディスクドライブ３３及び４３へのアクセスを禁止することにより、例えば、ディスクアレイコントローラ３２と異なるデータをハードディスクドライブ４３Ｃに格納したり、ハードディスクドライブ４３Ｂに格納されている、変更してはならないデータを書き換えたり、ハードディスクドライブ４３Ｂにアクセスして、Ｉ／Ｏ要求とは異なるデータを読み出すような致命的な状況を未然かつ有効に防止することができる。
【００４８】
図４は、ＪＢＯＤコントローラ４１又は４２に故障が発生した場合のストレージシステム１を示す図である。図４のストレージシステム１では、ＪＢＯＤコントローラ４２Ｃが故障している。そして、図４のストレージシステム１では、故障しているＪＢＯＤコントローラ４２Ｃを交換せずに、誤ってＪＢＯＤコントローラ４１Ｃを交換した場合を想定している。
【００４９】
この場合、ディスクアレイコントローラ３１及び３２は、電源が入れられると、ＪＢＯＤコントローラ４１及び４２の構成情報を作成する（ステップＳＰ１）。なお、ディスクアレイコントローラ３２は、ＪＢＯＤコントローラ４２Ｃが故障しているため、ＪＢＯＤコントローラ４２Ｃの構成情報を作成することができない。
【００５０】
続いて、ディスクアレイコントローラ３１は、例えば、ＪＢＯＤコントローラ４１Ａを選択し、ＪＢＯＤコントローラ４１Ａの構成情報を当該ＪＢＯＤコントローラ４１Ａに送信する（ステップＳＰ２）。続いて、ＪＢＯＤコントローラ４１Ａと同一の記憶装置２２Ａの内のＪＢＯＤコントローラ４２Ａは、コントローラ間通信パス６２Ａを介して、ＪＢＯＤコントローラ４１Ａの構成情報を受信できるため（ステップＳＰ３：ＹＥＳ）、この後、ＪＢＯＤコントローラ４１Ａの構成情報を、ディスクアレイコントローラ３２に送信する（ステップＳＰ６）。
【００５１】
続いて、ディスクアレイコントローラ３２は、ＪＢＯＤコントローラ４１Ａと同一の記憶装置２２ＡのＪＢＯＤコントローラがＪＢＯＤコントローラ４２Ａであることを特定し、ＪＢＯＤコントローラ４１Ａの構成情報とＪＢＯＤコントローラ４２Ａの構成情報とを、ディスクアレイコントローラ３１に送信する（ステップＳＰ７）。
【００５２】
続いて、ディスクアレイコントローラ３１は、ＪＢＯＤコントローラ４１Ａ及び４２Ａの構成情報が共にディスクアレイコントローラ３１及び３２から１番目に接続されていることを示すことから、ＪＢＯＤコントローラ４１Ａの構成情報とＪＢＯＤコントローラ４２Ａの構成情報とが一致していると判断する（ステップＳＰ８）。続いて、ディスクアレイコントローラ３１は、交換した系のすべてのＪＢＯＤコントローラ４１の構成情報の判断が終了していないため（ステップＳＰ９：ＮＯ）、ステップＳＰ２に戻る。
【００５３】
続いて、ディスクアレイコントローラ３１は、例えば、ＪＢＯＤコントローラ４１Ｂを選択し、ＪＢＯＤコントローラ４１Ｂの構成情報を、ＪＢＯＤコントローラ４１Ａを介して、当該ＪＢＯＤコントローラ４１Ｂに送信する（ステップＳＰ２）。続いて、ＪＢＯＤコントローラ４１Ｂと同一の記憶装置２２Ｂの内のＪＢＯＤコントローラ４２Ｂは、コントローラ間通信パス６３Ａを介して、ＪＢＯＤコントローラ４１Ｂの構成情報を受信できるため（ステップＳＰ３：ＹＥＳ）、この後、ＪＢＯＤコントローラ４１Ｂの構成情報を、ＪＢＯＤコントローラ４２Ａを介して、ディスクアレイコントローラ３２に送信する（ステップＳＰ６）。
【００５４】
続いて、ディスクアレイコントローラ３２は、ＪＢＯＤコントローラ４１Ｂと同一の記憶装置２２ＢのＪＢＯＤコントローラがＪＢＯＤコントローラ４２Ｂであることを特定し、ＪＢＯＤコントローラ４１Ｂの構成情報とＪＢＯＤコントローラ４２Ｂの構成情報とを、ディスクアレイコントローラ３１に送信する（ステップＳＰ７）。
【００５５】
続いて、ディスクアレイコントローラ３１は、ＪＢＯＤコントローラ４１Ｂ及び４２Ｂの構成情報が共にディスクアレイコントローラ３１及び３２から２番目に接続されていることを示すことから、ＪＢＯＤコントローラ４１Ｂの構成情報とＪＢＯＤコントローラ４２Ｂの構成情報とが一致していると判断する（ステップＳＰ８）。続いて、ディスクアレイコントローラ３１は、交換した系のすべてのＪＢＯＤコントローラ４１の構成情報の判断が終了していないため（ステップＳＰ９：ＮＯ）、ステップＳＰ２に戻る。
【００５６】
続いて、ディスクアレイコントローラ３１は、例えば、ＪＢＯＤコントローラ４１Ｃを選択し、ＪＢＯＤコントローラ４１Ｃの構成情報をＪＢＯＤコントローラ４１Ａ及び４１Ｂを介して、当該ＪＢＯＤコントローラ４１Ｃに送信する（ステップＳＰ２）。
【００５７】
続いて、ＪＢＯＤコントローラ４１Ｃは、コントローラ間通信パス６４Ａを介して、ＪＢＯＤコントローラ４１Ｃの構成情報を送信するが、ＪＢＯＤコントローラ４２Ｃが故障しているため、ＪＢＯＤコントローラ４２ＣがＪＢＯＤコントローラ４１Ｃの構成情報を受信することができない（ステップＳＰ３：ＮＯ）。また、ＪＢＯＤコントローラ４１Ｃは、コントローラ間通信パス６４Ｂを介して、ＪＢＯＤコントローラ４１Ｃの構成情報を送信するが、同様に、ＪＢＯＤコントローラ４２ＣがＪＢＯＤコントローラ４１Ｃの構成情報を受信することができない（ステップＳＰ４：ＮＯ）。
【００５８】
続いて、ＪＢＯＤコントローラ４１Ｃは、ディスクアレイコントローラ３１に通信不能通知を送信する（ステップＳＰ５）。この場合、ディスクアレイコントローラ３１は、ＪＢＯＤコントローラ４１Ｃの構成情報とＪＢＯＤコントローラ４２Ｃの構成情報が一致しなかったものとして取り扱う。
【００５９】
続いて、ディスクアレイコントローラ３１は、交換した系のすべてのＪＢＯＤコントローラ４１の構成情報の判断が終了したとき（ステップＳＰ９：ＹＥＳ）、記憶装置２２のうち、構成情報が一致しない記憶装置が記憶装置２２Ｃの１つである（ステップＳＰ１０：ＹＥＳ）ため、ハードディスクドライブ３３及び４３へのアクセスを許可する（ステップＳＰ１１）。
【００６０】
このようにして、ディスクアレイコントローラ３１は、構成情報が一致しない記憶装置が１つである、すなわち、１つのＪＢＯＤコントローラの故障である場合には、例えば、ディスクアレイコントローラ３２と異なるデータをハードディスクドライブ４３Ｃに格納したり、ハードディスクドライブ４３Ｂに格納されている、変更してはならないデータを書き換えたり、ハードディスクドライブ４３Ｂにアクセスして、Ｉ／Ｏ要求とは異なるデータを読み出すような致命的な状況にはならないことから、ハードディスクドライブ３３及び４３へのアクセスを許可してＩ／Ｏ処理を行う。
【００６１】
以上のように、ディスクアレイ装置２０では、交換した系のディスクアレイコントローラから選択ＪＢＯＤコントローラに選択ＪＢＯＤコントローラの構成情報を送信し、当該選択ＪＢＯＤコントローラの構成情報の同一記憶装置内のペアＪＢＯＤコントローラへの送信を行った後、他方のディスクアレイコントローラに送信する。そして、ディスクアレイ装置２０では、選択ＪＢＯＤコントローラの構成情報及びペアＪＢＯＤコントローラの構成情報を交換した系のディスクアレイコントローラに送信して、交換した系のディスクアレイコントローラにおいて、構成情報が一致するか否かを判断し、構成情報が一致しない記憶装置が２つ存在する、すなわち、ケーブル接続ミスである場合には、Ｉ／Ｏ処理において、致命的な状況となるため、ハードディスクドライブ３３及び４３へのアクセスを禁止する。
【００６２】
従って、２系統制御されたディスクアレイコントローラ環境において、ケーブル接続ミスが発生したときにも、ディスクアレイコントローラ３１又は３２が本来アクセスしたいハードディスクドライブ４３とは異なる他のハードディスクドライブ４３にアクセスして、本来のデータとは異なるデータを読み出したり、変更してはならないデータを書き換えたりするのを未然かつ有効に防止することができる。
【００６３】
また、ディスクアレイ装置２０では、ＪＢＯＤコントローラ４１及び４２がコントローラ間通信パス６２−６４の２経路のコントローラ間通信パスにより接続したことにより、ＪＢＯＤコントローラ間通信の異常による動作停止状態を回避することができる。
【００６４】
さらに、ディスクアレイ装置２０では、構成情報が一致しない記憶装置１つである、すなわち、１つのＪＢＯＤコントローラの故障である場合には、Ｉ／Ｏ処理において致命的な状況にはならないことから、ハードディスクドライブ３３及び４３へのアクセスを許可することにより、Ｉ／Ｏ処理を行うことができる。
【００６５】
なお、本実施の形態においては、３つの記憶装置２２を備えて構成した場合について述べたが、本発明はこれに限らず、３つ以上の記憶装置を備えて構成するようにしても良い。
【産業上の利用可能性】
【００６６】
本発明は、ＪＢＯＤコントローラを有するディスクアレイ装置のほか、この他種々の２系統制御されたコントローラを有する情報処理装置やサーバ装置に適用することができる。
【符号の説明】
【００６７】
１……ストレージシステム、１０……サーバ装置、２０……ディスクアレイ装置、２１……ディスク制御装置、２２Ａ−２２Ｃ……記憶装置、３１、３２……ディスクアレイコントローラ、３３、４３Ａ−４３Ｃ……ハードディスクドライブ、４１Ａ−４１Ｃ、４２Ａ−４２Ｃ……ＪＢＯＤコントローラ、５１−５６……ＳＡＳケーブル、６１Ａ−６４Ａ、６１Ｂ−６１Ｄ……コントローラ間通信パス
【図１】
0005534168.tif 000002
【図２】
0005534168.tif 000003
【図３】
0005534168.tif 000004
【図４】
0005534168.tif 000005