(57)【特許請求の範囲】
【請求項１】
データを記憶する少なくとも一つの記憶装置と、
前記記憶装置へのアクセスを制御する複数の制御部と、
前記記憶装置と前記複数の制御部との間に複数の経路を形成する中継装置とを備えたストレージシステムであって、
前記制御部が、
前記複数の経路のうち第１の経路に異常が発生したことを検出する異常検出部と、
前記異常が検出されたときに他の制御部に対して通信を行う通信部と、
前記通信結果に基づいて、前記複数の経路のうち第２の経路を用いて前記記憶装置に対
してアクセスを実行するアクセス部とを備え、
前記通信部が、前記異常が検出されたときに、前記他の制御部に対して前記他の制御部
による前記記憶装置へのアクセス状態を確認する通信を行い、前記アクセス状態がアクセ
ス中である場合、前記他の制御部に対して前記記憶装置へのアクセスの実行の停止を指示
する通信を行い、
前記アクセス部は、前記第２の経路を用いて前記記憶装置に対する再アクセスを実行す
る
ことを特徴とするストレージシステム。
【請求項２】
請求項１に記載のストレージシステムにおいて、
前記他の制御部は、
前記アクセスの実行の停止を指示されたときに、前記他の制御部から前記記憶装置までの
経路のうち、前記制御部がアクセスしない部分に対してアクセスを行うアクセス部を備える
ことを特徴とするストレージシステム。
【請求項３】
請求項２に記載のストレージシステムにおいて、
前記他の制御部備えるアクセス部が、前記制御部による前記第２の経路を用いたアクセ
ス結果と前記他の制御部によるアクセス結果とに基づいて前記記憶装置への再アクセスを
実行し、
前記他の制御部が、更に、前記記憶装置への再アクセスの結果に基づいて、前記制御部
の処理を引き継ぐ処理交代部を備える
ことを特徴とするストレージシステム。
【請求項４】
データを記憶する記憶装置と前記記憶装置へのアクセスを制御する複数の制御部との
間に複数の経路が形成される情報処理装置のアクセス制御方法であって、
前記制御部が、前記複数の経路のうち第１の経路に異常が発生したことを検出する異
常検出ステップと、
前記制御部が、前記異常が検出されたときに他の制御部に対して通信を行う通信ステッ
プと、
前記制御部が、前記通信結果に基づいて、前記複数の経路のうち第２の経路を用いて前
記記憶装置に対してアクセスを実行するアクセスステップとを有し、
前記通信ステップが、前記異常が検出されたときに、前記他の制御部に対して前記他の
制御部による前記記憶装置へのアクセス状態を確認する通信を行い、前記アクセス状態が
アクセス中である場合、前記他の制御部に対して前記記憶装置へのアクセスの実行の停止
を指示する通信を行う処理を含み、
前記アクセスステップは、前記第２の経路を用いて前記記憶装置に対する再アクセス
を実行する処理を含む
ことを特徴とする情報処理装置のアクセス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステム及び情報処理装置のアクセス制御方法に関し、特に、制御部から第１の経路を通じた記憶装置へのアクセスで異常が発生した場合に、制御部から第２の経路を通じた記憶装置へのアクセスと他の制御部から記憶装置へのアクセスとの競合を防止するストレージシステム及び情報処理装置のアクセス制御方法に関する。
【背景技術】
【０００２】
ＲＡＩＤシステムを管理するコントローラが正常に機能しなくなると、障害の生じたコントローラにより管理されるアレイを正常なコントローラに管理させるべく接続させ、その管理権を正常動作する側のコントローラに移転させる記憶装置が提案されている（特許文献１参照）。
【特許文献１】特開２００３−１９６０３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
図７は、本発明の背景となるストレージシステムの構成例である。コントローラ１０−１、１０−２は、エクスパンダー（Ｅｘｐａｎｄｅｒ）２０−１又は２０−２と、マルチプレックス（Ｍｕｌｔｉｐｌｅｘ）３０とを通じて、ディスク４０へのアクセス（データの記憶又は読み出し処理）を実行する。エクスパンダー２０−１、２０−２は、各コントローラからディスク４０へのアクセス要求を、マルチプレックス３０を通じてディスク４０に中継する。マルチプレックス（Ｍｕｌｔｉｐｌｅｘ）３０は、ディスク４０へのアクセス要求をディスク４０に対して送信し、ディスク４０からの応答を上記アクセス要求が中継された経路を通じて該アクセス要求を行ったコントローラに返す。
【０００４】
図７中の通信バス５０はコントローラ１０−１とコントローラ１０−２との間の通信バス（ポート６０とポート６２との間の通信バス）である。通信バス５１はコントローラ１０−１とエクスパンダー２０−１との間の通信バス（ポート６１とポート６４との間の通信バス）である。通信バス５２はコントローラ１０−２とエクスパンダー２０−２との間の通信バス（ポート６３とポート６７との間の通信バス）である。通信バス５３はエクスパンダー２０−１とエクスパンダー２０−２との間の通信バス（ポート６５とポート６８との間の通信バス）である。
【０００５】
また、通信バス５４はエクスパンダー２０−１とマルチプレックス３０との間の通信バス（ポート６６とポート７４との間の通信バス）である。通信バス５５はエクスパンダー２０−２とマルチプレックス３０との間の通信バス（ポート６９とポート７５との間の通信バス）である。通信バス５６はマルチプレックス３０とディスク４０との間の通信バス（ポート７６とポート７７との間の通信バス）である。
【０００６】
ディスク４０は、データを記憶する記憶装置であって、１個のポート（ポート７７）を備える。ディスク４０は、例えばＳＡＴＡディスクである。図７に示すストレージシステムでは、各エクスパンダーとディスク４０との間に、各エクスパンダーとディスク４０との間の通信を中継するマルチプレックス３０を配置して、複数のコントローラ１０−１、１０−２からディスク４０へのアクセスを可能としている。図７に示すストレージシステムでは、各エクスパンダーとマルチプレックス３０との間の経路には、一つのコントローラからしかアクセスができないという制限がある。
【０００７】
図８は、コントローラからディスクへのアクセスで異常が発生した場合に生じる問題を説明する図である。例えば、コントローラ１０−１が、通信バス５１、エクスパンダー２０−１、通信バス５４、マルチプレックス３０、通信バス５６を経由する通信経路（経路Ａ）を通じてディスク４０へのアクセスを実行する。経路Ａを通じたアクセスで異常（ＮＧ）が発生すると（図８の＃２１を参照）、コントローラ１０−１が、通信バス５１、エクスパンダー２０−１、通信バス５３、エクスパンダー２０−２、通信バス５５、マルチプレックス３０、通信バス５６を経由する通信経路（経路Ｂ）を通じてディスク４０へ再アクセスする（図８の＃２２を参照）。コントローラ１０−２が、通信バス５２、エクスパンダー２０−２、通信バス５５、マルチプレックス３０、通信バス５６を経由する通信経路（経路Ｃ）を通じてディスク４０へアクセスしている場合、上記経路Ｂを通じたディスク４０への再アクセスが、上記経路Ｃを通じたディスク４０へのアクセスと、通信バス５５において競合してしまう（図８の＃２３を参照）。その結果、コントローラ１０−１からディスク４０に対してアクセスできなくなるという問題が生じる。
【０００８】
本発明は、制御部から第１の経路を通じた記憶装置へのアクセスで異常が発生した場合に、制御部から第２の経路を通じた記憶装置へのアクセスと他の制御部から記憶装置へのアクセスとの競合を防止するストレージシステムの提供を目的とする。
【０００９】
本発明は、制御部から第１の経路を通じた記憶装置へのアクセスで異常が発生した場合に、制御部から第２の経路を通じた記憶装置へのアクセスと他の制御部から記憶装置へのアクセスとの競合を防止する情報処理装置のアクセス制御方法の提供を目的とする。
【課題を解決するための手段】
【００１０】
本ストレージシステムは、データを記憶する少なくとも一つの記憶装置と、前記記憶装置へのアクセスを制御する複数の制御部と、前記記憶装置と前記複数の制御部との間に複数の経路を形成する中継装置とを備えたストレージシステムであって、前記制御部が、前記複数の経路のうち第１の経路に異常が発生したことを検出する異常検出部と、前記異常が検出されたときに他の制御部に対して通信を行う通信部と、前記通信結果に基づいて、前記複数の経路のうち第２の経路を用いて前記記憶装置に対してアクセスを実行するアクセス部とを備える。
【００１１】
好ましくは、本ストレージシステムにおいて、前記通信部が、前記他の制御部に対して前記他の制御部による前記記憶装置へのアクセス状態を確認する通信を行う。
【００１２】
好ましくは、本ストレージシステムにおいて、前記通信部が、前記他の制御部に対して前記記憶装置へのアクセスの実行の停止を指示する通信を行う。
【００１３】
好ましくは、本ストレージシステムにおいて、前記他の制御部が、前記アクセスの実行の停止を指示されたときに、前記他の制御部から前記記憶装置までの経路のうち、前記制御部がアクセスしない部分に対してアクセスを行うアクセス部を備える。
【００１４】
好ましくは、本ストレージシステムにおいて、前記他の制御部が備えるアクセス部が、前記制御部による前記第２の経路を用いたアクセス結果と前記他の制御部によるアクセス結果とに基づいて前記記憶装置への再アクセスを実行し、前記他の制御部が、更に、前記記憶装置への再アクセスの結果に基づいて、前記制御部の処理を引き継ぐ処理交代部を備える。
【００１５】
また、本情報処理装置のアクセス制御方法は、データを記憶する記憶装置と前記記憶装置へのアクセスを制御する複数の制御部との間に複数の経路が形成される情報処理装置のアクセス制御方法であって、前記制御部が、前記複数の経路のうち第１の経路に異常が発生したことを検出する異常検出ステップと、前記制御部が、前記異常が検出されたときに他の制御部に対して通信を行う通信ステップと、前記制御部が、前記通信結果に基づいて、前記複数の経路のうち第２の経路を用いて前記記憶装置に対してアクセスを実行するアクセスステップとを有する。
【発明の効果】
【００１６】
本ストレージシステム及び本情報処理装置のアクセス制御方法は、制御部が、記憶装置との間に形成された複数の経路のうち、第１の経路に異常が発生したことを検出して他の制御部に対して通信を行い、該通信結果に基づいて、上記複数の経路のうち第２の経路を用いて記憶装置に対してアクセスを実行する。従って、本ストレージシステム及び本情報処理装置のアクセス制御方法によれば、記憶装置への第１の経路における異常を検出した制御部が、他の制御部との通信結果に応じて第２の経路を用いて記憶装置に対してアクセスを実行することが可能となる。
【００１７】
また、本ストレージシステムにおいて、上記第１の経路に異常が発生したことを検出した制御部が、他の制御部に対して該他の制御部による記憶装置へのアクセス状態を確認する通信を行う。従って、本ストレージシステムによれば、上記第１の経路に異常が発生したことを検出した制御部が、他の制御部による記憶装置へのアクセス状態を確認した上で、第２の経路を通じて記憶装置へのアクセスを実行することが可能となる。その結果、第２の経路を通じた記憶装置へのアクセスと他の制御部から記憶装置へのアクセスとの競合を防止することが可能となる。
【００１８】
また、本ストレージシステムにおいて、上記第１の経路に異常が発生したことを検出した制御部が、他の制御部に対して記憶装置へのアクセスの実行の停止を指示する通信を行う。従って、本ストレージシステムによれば、第１の経路に異常が発生したことを検出した制御部が、他の制御部による記憶装置へのアクセスの実行を停止させた上で、第２の経路を通じた記憶装置へのアクセスを実行することが可能となる。
【００１９】
また、本ストレージシステムにおいて、上記他の制御部が、上記第１の経路に異常が発生したことを検出した制御部からアクセスの実行の停止を指示されたときに、該他の制御部から記憶装置までの経路のうち、上記アクセスの実行の停止を指示した制御部がアクセスしない部分に対してアクセスを行う。従って、本ストレージシステムによれば、上記アクセスの実行の停止を指示した制御部は、上記第２の経路を通じて記憶装置へアクセスすることができ、上記他の制御部は、他の制御部から記憶装置までの経路のうち、第２の経路以外の部分に対するアクセス（短縮パトロール）を行うことが可能となる。
【００２０】
また、本ストレージシステムによれば、他の制御部は、例えば、上記第２の経路を経由したアクセス結果が異常であり（すなわち、第２の経路を経由してアクセスした制御部にて異常が発生し）、かつ、上記短縮パトロールの結果が正常であるときに、記憶装置への再アクセスを実行し、該再アクセス結果が正常であるときに、自身（他の制御部）を記憶装置にアクセスするメインの制御部に切り替えることが可能となる。
【発明を実施するための最良の形態】
【００２１】
以下に、本実施形態について、図を用いて説明する。図１は、本実施形態のストレージシステムの全体構成の一例を示す図である。図１に示すストレージシステムは、１個のコントローラエンクロージャ（ＣＥ：Controller Enclosure）１と複数のドライブエンクロージャ（ＤＥ：Drive Enclosure ）２とを備える。図１中に示すＣＥ１が備える構成部のうち、前述した図７に示すストレージシステムが備える構成部と同一の符号が付けられたものは、図７に示すストレージシステムが備える構成部と同様の構成部である。
【００２２】
ＣＥ１は、例えば図示を省略するホストコンピュータから指示（例えば、Ｉ／Ｏアクセスの要求）を受けて、ＣＥ１内のディスク４０へのアクセス（データの記憶又は読み出し処理）を実行する。また、ＣＥ１は、ＤＥ２に対してアクセス要求を送信して、ＤＥ２内のディスク９０へのアクセスを実行する。ＤＥ２は、ＣＥ１からのアクセス要求をディスク９０に対して中継し、ディスク９０からの応答をＣＥ１に返す。
【００２３】
ＣＥ１は、コントロールモジュール（ＣＭ：Control Module）７１−１、７１−２と、マルチプレックス３０と、少なくとも一つのディスク４０とを備える。パネル１３は、ＣＥ１内部の情報を表示する表示部である。ＣＭ７１−１は、コントローラ１１−１、エクスパンダー２０−１、メモリ１２−１を備えるボードであり、ＣＭ７１−２は、コントローラ１１−２、エクスパンダー２０−２、メモリ１２−２を備えるボードである。
【００２４】
ポート１００、１０１は、コントローラ１１−１内のポートである。また、ポート１０２、１０３は、コントローラ１１−２内のポートである。通信バス７０はコントローラ１１−１とコントローラ１１−２との間の通信バスである。通信バス７２はコントローラ１１−１とエクスパンダー２０−１との間の通信バスである。通信バス７３はコントローラ１１−２とエクスパンダー２０−２との間の通信バスである。通信バス５７−１、５７−２は、それぞれ、エクスパンダー２０−１とＤＥ２内のエクスパンダー８１−１との間の通信バス、エクスパンダー２０−２とＤＥ２内のエクスパンダー８１−２との間の通信バスである。
【００２５】
ＣＥ１内の各コントローラは、図１に示す様々な通信バスを通じてディスク４０、ディスク９０に対してアクセス要求を送信して、各ディスクへのアクセスを制御する。すなわち、各コントローラは、記憶装置（例えば、ディスク４０）へのアクセスを制御する制御部である。本実施形態においては、ＣＥ１内の各々のコントローラに対して、自コントローラがメインとなってアクセス処理の実行を担当するディスクが割り当てられている。すなわち、例えば、コントローラ１１−１があるディスクに対してメインとなってアクセス処理を実行するコントローラ（メインのコントローラ）である場合、コントローラ１１−２は、該ディスクへのアクセス処理についてはサブのコントローラである。
【００２６】
また、ＣＥ１内の各エクスパンダー及びマルチプレックス３０は、ディスク４０と複数のコントローラとの間に複数の経路を形成する中継装置である。本実施形態では、ディスク４０が備えるポートが１個であるので、ディスク４０と複数のコントローラとの間の複数の経路を形成するために、ディスク４０と各エクスパンダーとの間にマルチプレックス３０が設けられている。
【００２７】
ＤＥ２は、エクスパンダーボード（ＥＸＰ）８０−１、８０−２と、ディスク９０とを備える。パネル２３は、ＤＥ内部の情報を表示する表示部である。ＥＸＰ８０−１は、エクスパンダー８１−１を備えるボードである。ＥＸＰ８０−２は、エクスパンダー８１−２を備えるボードである。エクスパンダー８１−１は、ＣＥ１内のＣＭ７１−１から要求されたアクセス要求を、通信バス５７−１を通じて受信し、受信したアクセス要求を通信バス９１を通じてディスク９０に対して中継する。エクスパンダー８１−１が、該アクセス要求を通信バス５８−１を通じて他のＤＥ２に中継するようにしてもよい。
【００２８】
同様に、エクスパンダー８１−２は、ＣＥ１内のＣＭ７１−２から要求されたアクセス要求を、通信バス５７−２を通じて受信し、受信したアクセス要求を通信バス９２を通じてディスク９０に対して中継する。エクスパンダー８１−２が、該アクセス要求を通信バス５８−２を通じて他のＤＥ２に中継するようにしてもよい。
【００２９】
図１に示すストレージシステムを実現するプログラムは、コンピュータが読み取り可能な記録媒体、例えば半導体メモリ、ハードディスク、ＣＤ−ＲＯＭ、ＤＶＤ等に格納することができ、これらの記録媒体に記録して提供され、または、通信インタフェースを介してネットワークを利用した送受信により提供される。
【００３０】
図２は、図１中に示すコントローラの構成の一例を示す図である。コントローラ１１−１は、異常検出部１１１、通信部１１２、アクセス部１１３、処理交代部１１４、経路情報ＤＢ１１５を備える。異常検出部１１１は、図１中のディスク４０とコントローラ１１−１との間に形成される複数の経路のいずれかに異常が発生したことを検出する。通信部１１２は、コントローラ１１−２の通信部１２２との間で通信を実行する。例えば、通信部１１２は、異常検出部１１１によって、上記複数の経路のうち第１の経路に異常が検出されたときに、コントローラ１１−２の通信部１２２に対してコントローラ１１−２によるディスク４０へのアクセス状態を確認（問い合わせ）する通信を行う。コントローラ１１−２によるディスク４０へのアクセスは、例えば、ディスク４０に対してアクセス可能であるかを確認する処理（パトロール処理）、ディスク４０に対するデータの書き込み処理、ディスク４０からのデータの読み出し処理等である。また、通信部１１２は、アクセス部１１３によるディスク４０へのアクセス結果（例えば、アクセスが異常に終了したこと）をコントローラ１１−２に対して通知する。通信部１１２が、ディスク４０へのアクセス結果を出力（例えば、エラー表示等）するようにしてもよい。
【００３１】
アクセス部１１３は、ディスク４０へのアクセスを実行する。また、アクセス部１１３は、通信部１１２による、上記ディスク４０へのアクセス状態を確認する通信の結果に基づいて、コントローラ１１−２がディスク４０に対してアクセスしているかを判断する。そして、アクセス部１１３は、コントローラ１１−２がディスク４０に対してアクセスしていないと判断した場合に、経路情報ＤＢ１１５を参照して、上記複数の経路のうち第２の経路を用いてディスク４０に対してアクセスを実行する。
【００３２】
なお、アクセス部１１３が、コントローラ１１−２がディスク４０に対してアクセスしていると判断した場合に、通信部１１２を通じて、コントローラ１１−２の通信部１２２に対してディスク４０へのアクセスの実行の停止を指示する通信を行うようにしてもよい。
【００３３】
処理交代部１１４は、後述するコントローラ１１−２が備える処理交代部１２４と同様の動作を行う。経路情報ＤＢ１１５には、ディスク４０と複数のコントローラ１１−１、１１−２との間に形成された複数の経路の情報が予め記憶される。
【００３４】
コントローラ１１−２は、コントローラ１１−２と同様の構成を備える。すなわち、コントローラ１１−２が備える異常検出部１２１、通信部１２２、アクセス部１２３、処理交代部１２４、経路情報ＤＢ１２５は、それぞれ、コントローラ１１−１が備える異常検出部１１１、通信部１１２、アクセス部１１３、処理交代部１１４、経路情報ＤＢ１１５と同様の機能を有する。
【００３５】
アクセス部１２３は、通信部１２２が、コントローラ１１−１からコントローラ１１−２のアクセス状態の問い合わせを受けると、該アクセス状態を通信部１２２を通じてコントローラ１１−１に対して通知する。また、アクセス部１２３は、通信部１２２がコントローラ１１−１の通信部１１２からディスク４０へのアクセスの実行を停止する指示を受けたときに、コントローラ１１−２からディスク４０への経路のうち、コントローラ１１−１がアクセスしない部分に対してアクセスを行う。上記コントローラ１１−１がアクセスしない部分に対するアクセスを、以下では短縮パトロールと記述する。また、アクセス部１２３は、コントローラ１１−１による上記第２の経路を経由したアクセス結果と、アクセス部１１３によるディスク４０への短縮パトロールの結果とに基づいてディスク４０への再アクセスを実行する。
【００３６】
処理交代部１２４は、上記アクセス部１２３による再アクセスの結果に基づいて、コントローラ１１−１の処理を引き継ぐ。具体的には、処理交代部１２４は、アクセス部１２３に対して指示して、ディスク４０へのアクセスを実行させることで、自コントローラ（コントローラ１１−２）をディスク４０へのアクセス処理を実行するメインのコントローラに切り替える。
【００３７】
本発明の一実施形態によれば、コントローラ１１−１による上記第２の経路を用いたディスク４０に対するアクセスにおいて異常が検出されたときに、通信部１１２が、該検出された異常をコントローラ１１−２の通信部１２２に対して通知し、処理交代部１２４が、自コントローラ（コントローラ１１−２）をディスク４０へのアクセス処理を実行するメインのコントローラに切り替える。
【００３８】
図３は、本発明の第１の実施の形態を説明する図である。図３には、図１に示すＣＥ１が備える複数のコントローラ１１−１、１１−２と、複数のエクスパンダー２０−１、２０−２と、マルチプレックス３０と、ディスク４０を示す。
【００３９】
コントローラ１１−１のアクセス部１１３が、通信バス７２、エクスパンダー２０−１、通信バス５４、マルチプレックス３０、通信バス５６を経由する通信経路（以下、第１の経路という。図４、図５においても同じ）を通じてディスク４０へのアクセスを実行する。第１の経路で異常（ＮＧ）が発生すると（図３の＃１を参照）、異常検出部１１１が該異常を検出する。異常が検出されると、通信部１１２がコントローラ１１−２（の通信部１２２）に対して、コントローラ１１−２のアクセス状態を問い合わせて（図３の＃２を参照）、該アクセス状態を取得する。コントローラ１１−２のアクセス部１１３が、取得されたアクセス状態に基づいて、コントローラ１１−２がディスク４０に対してアクセスしているか否かを判断する。アクセス部１１３が、コントローラ１１−２がディスク４０に対してアクセスしていないと判断した場合、アクセス部１１３は、通信バス７２、エクスパンダー２０−１、通信バス５３、エクスパンダー２０−２、通信バス５５、マルチプレックス３０、通信バス５６を経由する通信経路（以下、第２の経路という。図４、図５においても同じ）を通じて、ディスク４０への再アクセスを実行する（図３の＃３を参照）。
【００４０】
アクセス部１１３による第２の経路を通じたディスク４０への再アクセスにおいて異常が検出されると、通信部１１２が、再アクセスにおいて異常が検出されたことを通信バス７０を通じてコントローラ１１−２の通信部１２２に通知する。コントローラ１１−２の通信部１２２が、コントローラ１１−１から上記通知を受けると、処理交代部１２４がアクセス部１２３に対して指示して、ディスク４０へのアクセスを実行させる。これによって、ディスク４０へのアクセス処理がコントローラ１１−１からコントローラ１１−２に引き継がれる。
【００４１】
アクセス部１１３が、コントローラ１１−２がディスク４０に対してアクセスしていると判断した場合、アクセス部１１３は、ディスク４０への再アクセスを実行しない。
【００４２】
上述した第１の実施の形態によれば、コントローラ１１−１は、第１の経路で異常が発生したときに、コントローラ１１−２によるディスク４０へのアクセスと競合することなく、第２の経路を通じてディスク４０への再アクセスを実行することができる。
【００４３】
図３を参照して上述した、コントローラによるディスク４０へのアクセス制御処理は、図１に示すストレージ装置におけるアクセス制御処理に限定されず、任意の情報処理装置におけるアクセス制御処理（又はアクセス制御方法）として実現することができる（図４乃至６を参照して後述するアクセス制御処理についても同様である）。
【００４４】
以下に、図４乃至６を参照して、本発明の第２の実施の形態を説明する。まず、図４を参照して、本発明の第２の実施の形態の概要を説明する。図４では、コントローラ１１−１がディスク４０へのアクセス処理を実行するメインのコントローラであり、コントローラ１１−２がサブのコントローラである場合を例にとって説明する（後述する図５、図６においても同様である）。
【００４５】
コントローラ１１−１が第１の経路を通じてディスク４０へのアクセスを実行する。第１の経路で異常（ＮＧ）が発生すると（図４の＃１１を参照）、コントローラ１１−１は、コントローラ１１−２のアクセス状態を問い合わせて（図４の＃１２を参照）、コントローラ１１−２がディスク４０にアクセスしているかを判断する。コントローラ１１−１が、コントローラ１１−２がディスク４０にアクセスしていると判断すると、コントローラ１１−１は、コントローラ１１−２に対して、ディスク４０へのアクセスの実行の停止を指示した上で（図４の＃１３を参照）、第２の経路を通じて、ディスク４０への再アクセスを実行する（図４の＃１４を参照）。コントローラ１１−２は、コントローラ１１−１からディスク４０へのアクセスの実行の停止の指示を受けると、短縮パトロールを実行する（図４の＃１５を参照）。すなわち、コントローラ１１−２は、コントローラ１１−２からディスク４０への経路のうち、コントローラ１１−１がアクセスしない部分（コントローラ１１−２とエクスパンダー２０−２との間の部分）に対してアクセスを行う。
【００４６】
また、コントローラ１１−２は、コントローラ１１−１による第２の経路を経由したアクセス結果と上記短縮パトロールの結果とに基づいて、ディスク４０への再アクセスを実行し、該再アクセスの結果に基づいて、コントローラ１１−１の処理を引き継ぐ。
【００４７】
ディスク４０へのアクセスの一態様として、メインのコントローラが、ホストコンピュータからのＩ／Ｏアクセス要求に応じたディスク４０に対するアクセス処理を実行し、サブのコントローラがパトロール処理のみを実行する態様がある。このようなアクセス態様においても、メインのコントローラ（コントローラ１１−１）がサブのコントローラ（コントローラ１１−２）のアクセス状態を問い合わせ、該アクセス状態の問い合わせ結果に応じてサブのコントローラに対してディスク４０へのアクセスの実行の停止を指示することで、アクセスの競合を防止することができる。
【００４８】
図５は、コントローラ１１−１におけるディスクへのアクセス制御処理フローの一例を示す図である。
【００４９】
まず、コントローラ１１−１のアクセス部１１３が、第１の経路を通じてディスク４０へのアクセスを実行し、ディスク４０へのアクセスが正常かを判断する（ステップＳ１）。アクセス部１１３が、ディスク４０へのアクセスが正常であると判断した場合はステップＳ１に戻る。アクセス部１１３が、ディスク４０へのアクセスが異常である（第１の経路で異常が発生した）と判断した場合、異常検出部１１１が該異常を検出して、通信部１１２がコントローラ１１−２の通信部１２２に対して、コントローラ１１−２のアクセス状態を問い合わせ（ステップＳ２）、該アクセス状態を取得する。
【００５０】
アクセス部１１３が、取得されたアクセス状態に基づいて、コントローラ１１−２がディスク４０に対してアクセスしているかを判断する（ステップＳ３）。アクセス部１１３が、コントローラ１１−２がディスク４０に対してアクセスしていると判断した場合、通信部１１２が、コントローラ１１−２の通信部１２２に対して、ディスク４０へのアクセスの実行の停止を指示する（ステップＳ４）。そして、アクセス部１１３が、上記第２の経路を通じて、ディスク４０へのアクセスを実行する（ステップＳ５）。
【００５１】
次に、アクセス部１１３が、上記第２の経路を通じたディスク４０へのアクセスが正常であるかを判断する（ステップＳ６）。アクセス部１１３が、第２の経路を通じたディスク４０へのアクセスが正常であると判断した場合、通信部１１２が、コントローラの通信部１２２に対して、ディスク４０へのアクセスの実行の開始を指示する（ステップＳ７）。アクセス部１１３が、上記第２の経路を通じたディスク４０へのアクセスが異常であると判断した場合、通信部１１２が、アクセスが異常に終了したことをコントローラ１１−２の通信部１２２に対して通知（エラー通知）する（ステップＳ８）。
【００５２】
上記ステップＳ３において、アクセス部１１３が、コントローラ１１−２がディスク４０に対してアクセスしていないと判断した場合、アクセス部１１３は、第２の経路を通じて、ディスク４０へのアクセスを実行する（ステップＳ９）。そして、アクセス部１１３が、第２の経路を通じたディスク４０へのアクセスが正常であるかを判断する（ステップＳ１０）。アクセス部１１３が、第２の経路を通じたディスク４０へのアクセスが正常であると判断した場合は、処理を終了する。アクセス部１１３が、第２の経路を通じたディスク４０へのアクセスが異常であると判断した場合は、通信部１１２が、アクセスが異常に終了したことをコントローラ１１−２の通信部１２２に対して通知（エラー通知）する（ステップＳ１１）。
【００５３】
図６は、コントローラ１１−２におけるディスクへのアクセス制御処理フローの一例を示す図である。コントローラ１１−２の通信部１２２が、コントローラ１１−１からディスク４０へのアクセスの実行の停止の指示を受ける（ステップＳ２１）。アクセス部１２３が、短縮パトロールを実行し、短縮パトロールが正常であるかを判断する（ステップＳ２２）。すなわち、アクセス部１２３は、図４中の通信バス７３を通じてエクスパンダー２０−２にアクセス可能かを判断する。アクセス部１２３が、エクスパンダー２０−２にアクセス可能であると判断した場合、アクセス部１２３は、短縮パトロールが正常であると判断する。アクセス部１２３が、エクスパンダー２０−２にアクセス可能でないと判断した場合、アクセス部１２３は、短縮パトロールが異常であると判断する。
【００５４】
アクセス部１２３が、短縮パトロールが異常であると判断した場合、通信部１２２が、コントローラ１１−２が異常であることを示す情報を出力（例えば、エラー表示）する（ステップＳ２６）。アクセス部１２３が、短縮パトロールが正常であると判断した場合、通信部１２２が、コントローラ１１−１からエラー通知を受けたかを判断する（ステップＳ２３）。通信部１２２が、コントローラ１１−１からエラー通知を受けていないと判断した場合は処理を終了する。通信部１２２が、コントローラ１１−１からエラー通知を受けたと判断した場合、アクセス部１２３は、通常パトロールを実行し、該通常パトロールが正常であるかを判断する（ステップＳ２４）。具体的には、通常パトロールは、図４のコントローラ１１−２とディスク４０との間に形成される経路（例えば、通信バス７３、エクスパンダー２０−２、通信バス５５、マルチプレックス３０、通信バス５６を経由する通信経路）を通じたディスク４０へのアクセスである。
【００５５】
アクセス部１２３が、通常パトロールが正常であると判断した場合、処理交代部１２４が、コントローラ１１−１の処理を引き継ぐ（ステップＳ２５）。具体的には、処理交代部１２４は、自コントローラ（コントローラ１１−２）をディスク４０へのアクセス処理を実行するメインのコントローラに切り替える。
【００５６】
アクセス部１２３が、通常パトロールが異常であると判断した場合、通信部１２２が、ディスク４０へのアクセスが異常であることを示す情報を出力（例えば、エラー表示）する（ステップＳ２７）。
【００５７】
以上から把握できるように、本実施形態の特徴を述べると以下の通りである。
【００５８】
（付記１）データを記憶する少なくとも一つの記憶装置と、
前記記憶装置へのアクセスを制御する複数の制御部と、
前記記憶装置と前記複数の制御部との間に複数の経路を形成する中継装置とを備えたストレージシステムであって、
前記制御部が、
前記複数の経路のうち第１の経路に異常が発生したことを検出する異常検出部と、
前記異常が検出されたときに他の制御部に対して通信を行う通信部と、
前記通信結果に基づいて、前記複数の経路のうち第２の経路を用いて前記記憶装置に対してアクセスを実行するアクセス部とを備える
ことを特徴とするストレージシステム。
【００５９】
（付記２）付記１に記載のストレージシステムにおいて、
前記通信部が、前記他の制御部に対して前記他の制御部による前記記憶装置へのアクセス状態を確認する通信を行う
ことを特徴とするストレージシステム。
【００６０】
（付記３）付記１に記載のストレージシステムにおいて、
前記通信部が、前記他の制御部に対して前記記憶装置へのアクセスの実行の停止を指示する通信を行う
ことを特徴とするストレージシステム。
【００６１】
（付記４）付記３に記載のストレージシステムにおいて、
前記他の制御部が、前記アクセスの実行の停止を指示されたときに、前記他の制御部から前記記憶装置までの経路のうち、前記制御部がアクセスしない部分に対してアクセスを行うアクセス部を備える
ことを特徴とするストレージシステム。
【００６２】
（付記５）付記４に記載のストレージシステムにおいて、
前記他の制御部が備えるアクセス部が、前記制御部による前記第２の経路を経由したアクセス結果と前記他の制御部によるアクセス結果とに基づいて前記記憶装置への再アクセスを実行し、
前記他の制御部が、更に、前記記憶装置への再アクセスの結果に基づいて、前記制御部の処理を引き継ぐ処理交代部を備える
ことを特徴とするストレージシステム。
【００６３】
（付記６）データを記憶する記憶装置と前記記憶装置へのアクセスを制御する複数の制御部との間に複数の経路が形成される情報処理装置のアクセス制御方法であって、
前記制御部が、前記複数の経路のうち第１の経路に異常が発生したことを検出する異常検出ステップと、
前記制御部が、前記異常が検出されたときに他の制御部に対して通信を行う通信ステップと、
前記制御部が、前記通信結果に基づいて、前記複数の経路のうち第２の経路を用いて前記記憶装置に対してアクセスを実行するアクセスステップとを有する
ことを特徴とする情報処理装置のアクセス制御方法。
【００６４】
（付記７）付記６に記載の情報処理装置のアクセス制御方法において、
前記通信ステップが、前記他の制御部に対して前記他の制御部による前記記憶装置へのアクセス状態を確認する通信を行う
ことを特徴とする情報処理装置のアクセス制御方法。
【００６５】
（付記８）付記６に記載の情報処理装置のアクセス制御方法において、
前記通信ステップが、前記他の制御部に対して前記記憶装置へのアクセスの実行の停止を指示する通信を行う
ことを特徴とする情報処理装置のアクセス制御方法。
【００６６】
（付記９）付記８に記載の情報処理装置のアクセス制御方法において、
前記他の制御部が、前記アクセスの実行の停止を指示されたときに、前記他の制御部から前記記憶装置までの経路のうち、前記制御部がアクセスしない部分に対してアクセスを行うステップを有する
ことを特徴とする情報処理装置のアクセス制御方法。
【００６７】
（付記１０）付記９に記載の情報処理装置のアクセス制御方法において、
前記他の制御部が、前記制御部による前記第２の経路を用いたアクセス結果と前記他の制御部によるアクセス結果とに基づいて前記記憶装置への再アクセスを実行し、前記記憶装置への再アクセスの結果に基づいて、前記制御部の処理を引き継ぐ処理交代ステップを有する
ことを特徴とする情報処理装置のアクセス制御方法。
【産業上の利用可能性】
【００６８】
以上、説明したように、本ストレージシステム及び本情報処理装置のアクセス制御方法によれば、記憶装置への第１の経路における異常を検出した制御部が、他の制御部との通信結果に応じて第２の経路を用いて記憶装置に対してアクセスを実行することが可能となる。
【００６９】
また、本ストレージシステムによれば、上記第１の経路に異常が発生したことを検出した制御部が、他の制御部による記憶装置へのアクセス状態を確認した上で、第２の経路を通じて記憶装置へのアクセスを実行することが可能となる。その結果、第２の経路を通じた記憶装置へのアクセスと他の制御部から記憶装置へのアクセスとの競合を防止することが可能となる。
【００７０】
また、本ストレージシステムによれば、第１の経路に異常が発生したことを検出した制御部が、他の制御部による記憶装置へのアクセスの実行を停止させた上で、第２の経路を通じた記憶装置へのアクセスを実行することが可能となる。
【００７１】
また、本ストレージシステムによれば、上記アクセスの実行の停止を指示した制御部は、上記第２の経路を通じて記憶装置へアクセスすることができ、上記他の制御部は、他の制御部から記憶装置までの経路のうち、第２の経路以外の部分に対するアクセス（短縮パトロール）を行うことが可能となる。
【００７２】
また、本ストレージシステムによれば、他の制御部は、例えば、上記第２の経路を経由したアクセス結果が異常であり、かつ、上記短縮パトロールの結果が正常であるときに、記憶装置への再アクセスを実行し、該再アクセス結果が正常であるときに、自身を記憶装置にアクセスするメインの制御部に切り替えることが可能となる。
【図面の簡単な説明】
【００７３】
【図１】本実施形態のストレージシステムの全体構成の一例を示す図である。
【図２】コントローラの構成の一例を示す図である。
【図３】本発明の第１の実施の形態を説明する図である。
【図４】本発明の第２の実施の形態の概要を説明する図である。
【図５】コントローラ１１−１におけるディスクへのアクセス制御処理フローの一例を示す図である。
【図６】コントローラ１１−２におけるディスクへのアクセス制御処理フローの一例を示す図である。
【図７】本発明の背景となるストレージシステムの構成例である。
【図８】コントローラからディスクへのアクセスで異常が発生した場合に生じる問題を説明する図である。
【符号の説明】
【００７４】
１  ＣＥ
２  ＤＥ
１１−１、１１−２  コントローラ
１２−１、１２−２  メモリ
１３、２３  パネル
２０−１、２０−２、８１−１、８１−２  エクスパンダー
３０  マルチプレックス
４０、９０  ディスク
５０、５１、５２、５３、５４、５５、５６、５７−１、５７−２、５８−１、５８−２、７０、７２、９１、９２  通信バス
６０、６１、６２、６３、６４、６５、６６、６７、６８、６９、７４、７５、７６、７７、１００、１０１、１０２、１０３  ポート
７１−１、７１−２  ＣＭ
８０−１、８０−２  ＥＸＰ
１１１、１２１  異常検出部
１１２、１２２  通信部
１１３、１２３  アクセス部
１１４、１２４  処理交代部
１１５、１２５  経路情報ＤＢ
【図１】
0005353002.tif 000002
【図２】
0005353002.tif 000003
【図３】
0005353002.tif 000004
【図４】
0005353002.tif 000005
【図５】
0005353002.tif 000006
【図６】
0005353002.tif 000007
【図７】
0005353002.tif 000008
【図８】
0005353002.tif 000009