(57)【要約】【課題】記憶システムにおいて、通常処理を停止させることなく、障害部位を特定し、回復作業を行うことが可能な記憶システムを提供することにある【解決手段】少なくとも一つの記憶媒体と、記憶媒体を制御する少なくとも一つのコントローラと、記憶媒体及びコントローラをループ状に接続し、コントローラと記憶媒体との通信を相互に行うループ状通信手段とを含み、通常のリード・ライト処理を行いながら、障害部位を特定することができることを特徴とする。【選択図】  図３
2005031928.tif 000002
【特許請求の範囲】
【請求項１】
情報を格納する複数の記憶媒体と、
前記記憶媒体を制御するコントローラと、
前記記憶媒体および前記コントローラをループ状に接続し、前記コントローラおよび前記記憶媒体の相互間における情報の授受を行うループ状通信手段と、
前記コントローラは、障害が発生したループ状通信手段または、障害が発生した記憶媒体を認識した場合、上位装置から送られる情報の処理を行いながら、前記障害が発生したループ状通信手段または、前記障害が発生した記憶媒体を特定する処理を行うものであることを特徴とする記憶システム。
【請求項２】
情報を格納する記憶媒体と、
前記記憶媒体を制御するコントローラと、
前記記憶媒体および前記コントローラをループ状に接続し、前記コントローラおよび前記記憶媒体の相互間における情報の授受を行うループ状通信手段と、
前記ループ状通信手段に信号の劣化を検出する信号劣化検出手段とを有するものであることを特徴とする記憶システム。
【請求項３】
請求項２記載の記憶システムにおいて、
前記信号劣化検出手段が信号の劣化を検出し、信号が劣化したループ状通信手段で障害が発生した場合、前記コントローラは、前記信号劣化検出手段によって信号の劣化を検出した部位から障害の特定の処理を行うものであることを特徴とする記憶システム。
【請求項４】
請求項１記載の記憶システムにおいて、
前記コントローラが記憶媒体に障害があることを特定できた場合、記憶媒体に障害があることを示す表示手段を有するものであることを特徴とする記憶システム。
【請求項５】
請求項２記載の記憶システムにおいて、
前記コントローラが記憶媒体に障害があることを特定できた場合、記憶媒体に障害があることを示す表示手段を有するものであることを特徴とする記憶システム。
【請求項６】
請求項３記載の記憶システムにおいて、
前記コントローラが記憶媒体に障害があることを特定できた場合、記憶媒体に障害があることを示す表示手段を有するものであることを特徴とする記憶システム。
【請求項７】
請求項１記載の記憶システムにおいて、
障害を特定できた段階毎に、障害部位を画面に表示する管理端末を有するものであることを特徴とする記憶システム。
【請求項８】
請求項２記載の記憶システムにおいて、
障害を特定できた段階毎に、障害部位を画面に表示する管理端末を有するものであることを特徴とする記憶システム。
【請求項９】
請求項３記載の記憶システムにおいて、
障害を特定できた段階毎に、障害部位を画面に表示する管理端末を有するものであることを特徴とする記憶システム。
【請求項１０】
請求項１記載の記憶システムにおいて、
前記コントローラは、前記障害が発生した部位を特定する処理を中断し、再開することができるものであることを特徴とする記憶システム。
【請求項１１】
請求項２記載の記憶システムにおいて、
前記コントローラは、前記障害が発生した部位を特定する処理を中断し、再開することができるものであることを特徴とする記憶システム。
【請求項１２】
請求項４乃至６記載の記憶システムにおいて、
前記表示手段は、ＬＥＤであることを特徴とする記憶システム。
【請求項１３】
請求項３記載の記憶システムにおいて、
前記コントローラは、前記障害が発生した部位を特定する処理を中断し、再開することができるものであることを特徴とする記憶システム。
【請求項１４】
情報を格納する記憶媒体と、前記記憶媒体を格納する筐体と、前記記憶媒体を制御するコントローラと、前記コントローラに接続され、前記記憶媒体および前記コントローラをループ状に接続し、前記コントローラおよび前記記憶媒体の相互間における情報の授受を行うループ状通信手段とを有する記憶システムであって、
前記コントローラは、障害が発生したループ状通信手段または、障害が発生した記憶媒体を認識した場合、上位装置から送られる情報の処理を行いながら、障害が発生した部位を特定するために筐体毎にループ状通信手段を切り離し、
前記切り離されたループ状通信手段に対して障害が発生した筐体の特定を行い、障害が発生した筐体を特定できた場合、前記障害が発生した筐体内の記憶媒体またはループ状通信手段に対して障害の特定を行うことを特徴とする障害特定方法。
【請求項１５】
請求項１４記載の記憶システムにおいて、
前記コントローラが記憶媒体に障害があることを特定できた場合、記憶媒体に障害があることを示す表示手段を点灯させることを特徴とする障害特定方法。
【請求項１６】
請求項１４記載の記憶システムにおいて、
前記コントローラが記憶媒体に障害があることを特定できた場合、障害部位を画面に表示する管理端末を有することを特徴とする障害特定方法。
【請求項１７】
請求項１４記載の障害特定方法において、
前記コントローラに所定以上の負荷がかかる場合、障害特定を一時的に中断し、前記コントローラにかかる負荷が所定以下になる場合、再び障害特定を行うことを特徴とする障害特定方法。
【請求項１８】
請求項１５記載の障害特定方法において、
前記表示手段は、ＬＥＤであることを特徴とする障害特定方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、記憶システムおよび情報処理技術に関し、特に、複数の構成要素をファイバチャネルループ等のループ状通信手段にて接続した構成の記憶システムおよび情報処理システム等に適用して有効な技術に関する。
【０００２】
【従来の技術】
近年の情報処理技術の発展によって、情報処理システムおよび記憶システムの役割が急速に大きくなってきている。情報処理システムおよび記憶システムに対する高性能化、高信頼性化や大容量化の要求は、高まる一方である。また、ネットワーク技術においても高速化の要求は、高まる一方である。
【０００３】
このような超高速ギガビット・ネットワーク技術の一つとして、ファイバチャネル（ＦＣ）という技術が知られている。ＦＣを使用することによって複数のハードディスクドライブを記憶システムのコントローラとをループ状に接続し、一つの記憶記憶システムを構築することが可能である。ファイバチャネル（ＦＣ）のループを用いた接続方式には、ＦＣ−ＡＬ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ−Ａｒｂｉｔｒａｔｅｄ  Ｌｏｏｐ）がある。記憶システムのコントローラとハードディスクドライブをループ状に接続する。
【０００４】
ＦＣループの規格上、ＦＣループの一ヵ所でも切断や障害等が発生すると、コントローラとハードディスクドライブとの通信ができなくなるため、障害が発生したＦＣループ全体が使用不可能となる。
【０００５】
そこで、ハードディスクドライブの交換や障害の場合等に対応するため、ＦＣループの一部やハードディスクドライブをバイパス（切り離し）するポートバイパス回路（ＰＢＣ：  Ｐｏｒｔ  Ｂｙｐａｓｓ  Ｃｉｒｃｕｉｔ）が設けられている。
【０００６】
コントローラは、ＰＢＣを切替えてループ全体が通信不可能とならないように、ループを制御する必要がある。
【０００７】
【特許文献１】
特開２００１−２２２３８５号公報
【０００８】
【発明が解決しようとする課題】
情報処理システムの中でも特に記憶システムは、無停止稼動を要求されるものであるため、保守作業に伴って記憶システムの処理を停止させることは、無停止稼動という要求に反することになる。
【０００９】
従って、本発明の目的は、記憶システムにおいて、通常処理を停止させることなく、障害部位を特定し、回復作業を行うことが可能な記憶システムを提供することにある。
【００１０】
また、本発明の他の目的は、記憶システムにおいて、障害部位の特定の精度を向上させ、回復作業を迅速、簡便かつ的確に行うことが可能な記憶システムを提供することにある。
【００１１】
また、本発明の他の目的は、記憶システムにおいて、信号の劣化を検出し、障害が発生した場合、信号の劣化が検出された部位から障害の特定処理を行うことによって、迅速、簡便、かつ的確に障害部位の特定を行うことが可能な記憶システムを提供することにある。
【００１２】
【課題を解決するための手段】
上記目的を達成するために、本発明は、少なくとも一つの記憶媒体と、記憶媒体を制御する少なくとも一つのコントローラと、記憶媒体及びコントローラをループ状に接続し、コントローラと記憶媒体との通信を相互に行うループ状通信手段とを含み、上位装置からのリード・ライト等の処理を行いながら、障害部位を特定することができることを特徴とする。
【００１３】
また、本発明は、障害の予測を行うために、ループ状通信手段に少なくとも一つの信号の劣化の検出を行う信号検出手段を有することを特徴とする。
【００１４】
本発明によれば、通常処理を行っている状態で、障害部位を特定することができる。
【００１５】
【発明の実施の形態】
以下、本発明の実施の形態を図面を用いて説明する。
【００１６】
（第１の実施の形態）
図１は、本実施の形態の記憶システム１５０における装置概観図の一例である。ラックフレーム１２０は、基本筐体１００とその他の増設筐体１１０を格納するものである。基本筐体１００の内部には、ハードディスクドライブ１３０とコントローラ群１４０が格納されている。さらに、増設筐体１１０は、記憶システムの記憶容量を増大させる目的で利用されるものであり，複数のハードディスクドライブ１３０を有する。さらに記憶容量を増大させたい場合には、ラックフレーム及び増設筐体１１０を設けることも可能である。
【００１７】
図２は、記憶システムに１５０おける内部構成の概念図である。本実施の形態では、記憶システムにおけるループ状通信手段の一例としてＦＣ−ＡＬ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ    Ａｒｂｉｔｒａｔｅｄ  Ｌｏｏｐ）（以下、ＦＣループという）を用いた場合の例について説明する。
【００１８】
記憶システム１５０は、コントローラ群１４０とＦＣループ２７０〜２７３と複数のハードディスクドライブ１３０とで構成される。コントローラ群１４０は、冗長化のために二つのコントローラ２２０、２２１を有している。コントローラ群１４０は、ハードディスクドライブ１３０等の情報を格納する管理情報と一時的に情報を格納するキャッシュメモリ２３０、２３１及び、上位装置２１０とコントローラ間の通信を行い、信号の変換を行うＦＣアダプタ２４０，２４１とコントローラ群１４０とハードディスクドライブ１３０との信号の変換等を行うＦＣアダプタに接続されている。ハードディスクドライブ１３０とＦＣアダプタ２４２，２４３との間には、ＰＢＣ２６０〜２６３とＦＣループ２７０〜２７３に接続されている。コントローラ２２０、２２１は、ＦＣループ２７０〜２７３を制御する。
【００１９】
２つのコントローラ間の通信は、コントローラ間通信線２５０によって行う。コントローラ２２０、２２１は、上位装置２１０からのコマンドに基づいて、ハードディスクドライブ１３０の制御を行う。ＦＣアダプタ２４０、２４１は、コントローラ２２０、２２１と上位装置２１０とでやりとりされる信号の変換等の処理を行う。ＦＣアダプタ２４２、２４３は、コントローラ２２０、２２１とハードディスクドライブ１３０とで通信される信号の変換を行うと共に、ＰＢＣ２６０〜２６３の切替え処理も行う。ＰＢＣ２６０〜２６３は、交替パス２８１〜２８３に接続することにより、コントローラ２２０、２２１が使用するＦＣループを切替えることができる。例えば、ＰＢＣ２６０は、ＦＣループ２７０から交替パス２８０に切替えることによって、ＦＣループ２７２と接続することができる。本実施の形態では、ＦＣループの切替えを行う手段の一例としてＰＢＣで行っているが、ＰＢＣに限らず、スイッチ等の他の手段を用いることもできる。
【００２０】
ＦＣループ２７０〜２７３は、基本筐体１００と増設筐体１３０内に格納されている。ＦＣループ２７０〜２７３と筐体との関係は、後述する。
【００２１】
ハードディスクドライブ１３０は、簡略化のために、図１の複数のハードディスクドライブ１３０の台数により少なくしてある。複数のハードディスクドライブ１３０は、ＦＣループ２７０、２７１及び、ＦＣループ２７２、２７３に対して交互に接続されている。障害が発生していない正常な場合、ＰＢＣ２６０〜２６３は、それぞれ、ＦＣループ２７０〜２７３に接続されており、コントローラ２２０は、ＦＣループ２７０、２７１を制御し、また、コントローラ２２１は、ＦＣループ２７２、２７３を制御する。
【００２２】
上記の制御方法に適している一例として、たとえば、コントローラ２２０、２２１は、上位装置から送られるデータを分散して複数のハードディスクドライブ１３０に対して格納することにより、スループットの向上を実現するディスクアレイシステムが考えられる。ディスクアレイシステムにおいて、コントローラ２２０、２２１は、複数のハードディスクドライブ１３０に、上位装置との間で授受されるデータおよび、データから生成された冗長データを、論理ユニット２８５〜２８７のように分散して格納される。これにより、格納データの信頼性の向上が図れる。例えば、論理ユニット２８５において、一つのハードディスクドライブ１３０が故障した場合、正常なハードディスクドライブにあるデータと冗長データから故障したハードディスクにあったデータを復元することができる。さらに、本実施の形態において、２つのコントローラ２２０、２２１が同じ論理ユニットを制御すると、データの整合性を２つのコントローラ間で調整する必要があるため、データの処理速度が低下する。そこで、本実施の形態においては、コントローラごとに制御する論理ユニットが決められているものとする。どのコントローラがどの論理ユニットを制御するかについての情報は、キャッシュメモリ２３０、２３１に格納されている。
【００２３】
ＦＣループ２７０〜２７３やハードディスクドライブ１３０に障害がある時、コントローラ２２０、２２１は、ＰＢＣ２６０〜２６３によって、交替パス２８０〜２８３に接続させ、障害部位を含まないＦＣループとは異なる別のＦＣループ（以下、冗長ループという）を使用することができる。本実施の形態では、一例として、ＦＣループを切り替える単位は、ＦＣループ２７０、２７１または、ＦＣループ２７２，２７３の２本単位とする。しかし、それぞれのＦＣループ毎にＦＣループを切り替えることも可能である。
【００２４】
障害が発生した場合、コントローラ２２１に接続された管理端末の画面に、障害部位が表示される。管理端末により、ＦＣループ２７０〜２７３からハードディスクドライブ１３０の切り離しや、論理ユニットの設定の作業を行うことができる。本実施例において、管理端末２８０と記憶システム１５０は、管理端末用信号線２８１によって接続されている。管理端末用信号線２８１は、ＬＡＮケーブル、ＲＳ−２３２Ｃや光ファイバー等を用いることができる。また、管理端末２８０の機能を上位装置２１０に移し、管理端末２８０を省略することもできる。
【００２５】
図３は、図２のＦＣループの詳細図である。以下、図３と図１、２との対応関係を説明する。上述の通り、ＦＣループは、基本筐体と増設筐体を跨って構成され、さらに筐体内ループ、ＰＢＣと筐体間ループによって構成されている。図２のＦＣループ２７０は、筐体内のＦＣループ３５０、３５４、３５８及び、筐体間のＰＢＣ３００、３１０、３２０、３３０、３４０及び、筐体内のＰＢＣ３７０、３７４、３７８にによって構成されている。同様にＦＣループ２７１は、図３のＦＣループ３５１、３９１、３５５と３５９に、ＦＣループ２７２は、図３のＦＣループ３５２、３９２、３５６と３６０に対応する。
【００２６】
一方、ハードディスクドライブ３９０〜３９５は、筐体内のＰＢＣ３７０〜３８１を介してＦＣループ３５０〜３６１に接続されている。ハードディスクドライブ３９０、３９２、３９４は、ＦＣループ２７０とＦＣループ２７２に接続されている。ハードディスクドライブ３９１、３９３、３９５は、ＦＣループ２７１とＦＣループ２７３に接続されている。
【００２７】
バイパス制御信号線１８０１は、各ＰＢＣとＦＣアダプタ２４２に接続されている。同様に、バイパス制御信号線１８０２は、各ＰＢＣとＦＣアダプタ２４３に接続されている。コントローラ２２０、２２１は、ＦＣアダプタ２４２、２４３を経由し、バイパス制御信号線１８０１、１８０２に接続されたＰＢＣにより、切り離し（バイパス）を行う。
【００２８】
図４は、本実施の形態におけるＰＢＣの構成の一例を示す。図４（ａ）のＰＢＣのセレクタ４１０は、各ＦＣループに対するハードディスクドライブ、コントローラ又はＦＣループの一部分をバイパスする。ＬＥＤ４２０は、バイパス制御信号線４３０がＯＮ（バイパス状態）のときに点灯して外部にバイパス状態であることを報知する。バイパス制御信号線４３０は、記憶システム外部の制御端子等からも入力可能である。
【００２９】
ＦＣループまたは、ハードディスクドライブに障害が発生した場合、コントローラは、ＦＣアダプタにバイパスの指示することによって、ＰＢＣにＦＣループをバイパスさせ、障害部位を切り離す。その後、コントローラは、障害部位を切り離した縮退運転をすることになるが、通常処理を継続させることができる。
【００３０】
また、図４（ｂ）のＰＢＣは、ＰＢＣ２６０〜２６３に使用され、ループの切替えをする。
【００３１】
本実施の形態の記憶システムでは、一例として、ＦＣループにおけるファイバチャネルプロトコルのデータリンク層として、ＳＣＳＩ−ＦＣＰ（ＳＣＳＩ−３Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  Ｐｒｏｔｏｃｏｌ）を用いる。
【００３２】
このＳＣＳＩ−ＦＣＰを用いる場合、記憶システムはＳＣＳＩ−ＦＣＰのイニシエータであるコントローラからターゲットとしてのハードディスクドライブの各々に対して発行されるＦＣＰコマンドのＳＣＳＩ  Ｓｅｎｄ  Ｄｉａｇｎｏｓｔｉｃｓにて、パラメータ・リストで指定することにより、バイパス制御信号線４３０のＯＮ／ＯＦＦの出力指令を、ハードディスクドライブの各々に指示することが可能である。
【００３３】
これにより、コントローラ２２０、２２１は、ＰＢＣのバイパス動作を制御する。また、同様に、現在のＰＢＣにおけるバイパスの有無の状態は、ＦＣＰコマンドのＳＣＳＩ  Ｒｅｃｅｉｖｅ  Ｄｉａｇｎｏｓｔｉｃ  Ｒｅｓｕｌｔｓにて、ハードディスクドライブの各々を介して、コントローラが知ることができる。
【００３４】
一方、図４に例示されるように、ＦＣループの途中に設けられたＰＢＣの各々は、ＦＣループの途中の切り離し（バイパス）を行うセレクタ４１０と、外部からこのセレクタ４１０の切換え動作の制御のために入力されるバイパス制御信号線４３０と、バイパス状態のときに点灯し、外部にバイパス状態であることを報知するＬＥＤ等の表示ランプ４２０等で構成されている。
【００３５】
例えば、ハードディスクドライブ３９２をバイパスする場合を考える。コントローラ２２０は、バイパスするようにコマンドを発行する。コマンドを受領したＦＣアダプタ２４２は、バイパス制御信号線１８０１を介して、ＰＢＣ３７４のセレクタ４１０により、ハードディスクドライブ３９２をＦＣループ３５４からバイパスさせる。一方、ＬＥＤ４２０は、バイパス状態であるので、点灯する。
【００３６】
なお、本実施の形態の記憶システムでは、ＦＣループとして、光ファイバや導線等の通信媒体を用いることに限らず、実装ボード上の配線パターンにてＦＣループを構成することも含まれる。
【００３７】
以下、図面を使用して、記憶システムが上位装置からの読み込みや書き込みの通常処理を行いつつ、障害を特定する方法を説明する。
【００３８】
図５は、障害特定処理の全体のフローチャートである。ＦＣループ又はハードディスクドライブで障害が発生した場合（ステップ５０１）、コントローラは、冗長ループに切替える（ステップ５０２）。冗長ループに切替え終了後、再び、上位装置２１０からの読込や書き込みの処理を再開する（ステップ５０３）。書き込み処理の場合、障害が記憶システムに発生していても、上位装置から書き込み処理を記憶システムが受け取り、キャッシュメモリに格納した段階でコントローラは、上位装置に、書き込み完了を通知する。
【００３９】
一方、読み込み処理で、記憶システムに障害が発生している場合、記憶システムが上位装置から読み込み処理を受け取った場合、冗長データを使用してデータを復元した後、障害ループから冗長ループに切替え、コントローラは、障害特定処理を実行できる条件を満たすかどうかの判断を行う。所定の条件を満たせば（ステップ５０４）、コントローラは、障害特定処理の準備として、上位装置からの処理をキャッシュメモリに蓄積した後、冗長ループから障害が発生したＦＣループに再び切替える（ステップ５０５）。切替え完了後、コントローラは、障害が発生した筐体を調べるために、順番に筐体を切り離す。この操作を繰り返して障害が発生した障害筐体を調べる（ステップ５０６）。
【００４０】
コントローラは、障害が発生した障害筐体を特定できた段階で、管理端末に通知する。管理端末は、図示しない管理端末の表示画面に図２または図３の構成を表示する。コントローラは、この段階で障害特定処理を一時中断することも出来るし、このまま続けて障害特定処理を行うこともできる。事前に保守員は、障害特定処理を続けるかどうかの可否を設定しておいてもよいし、障害特定処理の続行をするかどうかについて所定の条件を設定して決めてもよい（ステップ５０７）。
【００４１】
コントローラが障害特定を一時中断するのであれば、通常処理を行うために、障害ループから冗長ループに切替える（ステップ５１５）。冗長ループに切替えた後、上位装置からの処理を行う（ステップ５１６）。コントローラは、ステップ５０４と同様に障害特定処理を行う所定の条件を満たせば、再び障害特定処理を行う（ステップ５１７）。
【００４２】
筐体毎の障害特定処理が終了し、筐体内の障害であると特定した場合、コントローラは、筐体内の障害特定処理を行う。同様に、障害特定処理を一時中断していた状態から再び障害特定処理を行う場合も、コントローラは、筐体内の障害特定処理を行う（ステップ５０９）。筐体内の障害では、ハードディスクドライブの障害又はＦＣループの障害が考えられる。一方、筐体間ループの障害であれば、障害特定処理を完了し（ステップ５２４）、通常処理を行う（ステップ５２５）。
【００４３】
筐体内の障害特定処理は、各ハードディスクドライブに設けてあるＰＢＣにより、ＦＣループを切替えることによって、障害特定処理を行う。まず、コントローラは、筐体内のハードディスクに設けてられている全てのＰＢＣにより、ＦＣループを切り離す。その後、コントローラは、ハードディスクドライブに設けてあるＰＢＣを一つだけ接続して、障害特定を行う。繰り返してこの処理を繰り返すと、障害が発生した部位に接続されたＰＢＣを発見することができる。
【００４４】
この段階で、ハードディスクドライブかまたは、ＰＢＣからハードディスクドライブまでのＦＣループに障害が発生していることになる。上記２つの部位のうち、一方に障害が発生していることになるため、コントローラは、ハードディスクドライブの障害であるかを確認するために、障害ループから冗長ループに切替える。コントローラは、障害が発生している可能性があるハードディスクドライブを冗長ループから調べることによって、ハードディスクドライブの障害であるかを確認することが出来る（ステップ５１１、５１２）。ハードディスクドライブの障害でない場合、ＰＢＣからハードディスクドライブまでのＦＣループに障害があることになる。
【００４５】
筐体内の障害がこの段階まで特定できると、コントローラは、管理端末に障害部位を通知する。管理端末は、管理端末の画面に障害部位を表示する。さらに、コントローラは、障害特定処理を完了し、通常処理に戻る（ステップ５１４、５２８）。
【００４６】
障害特定処理の一時中断は、本実施の形態において、筐体毎の障害特定処理の終了後と筐体内の障害特定処理の終了後に行うことにしたが、これに限定されることはない。例えば、筐体毎の障害特定処理で、一つの筐体に対して障害特定処理を終了した段階で、中断することもできる。あるいは、上位装置からの処理をキャッシュメモリに蓄積することが困難になった場合、障害特定処理を中断し、通常処理を行う。その後、再び障害特定処理を行うことができる。あるいは、コントローラは、上位装置で決められた記憶システムに対する応答時間内に障害特定処理が終了しない場合、コントローラは、障害特定処理を一時中断し上位装置の処理を再開する。その後、再び、コントローラは、障害特定処理を行う。
【００４７】
図６から図１１までは、図５の全体のフローチャートを詳細に説明したものである。ここで、障害が発生する部位は、ＦＣループ２７０かＦＣループ２７０に接続されたハードディスクドライブであるとする。
【００４８】
図６は、上位装置からの処理に対して、記憶システムが行う通常処理から障害が発生するまでの処理を説明したフローチャートである。上位装置から送られる書き込みまたは読み込みのコマンドは、上位装置とコントローラとの間に接続されたＦＣアダプタ２４２を介してコントローラ２２０へ送られる（ステップ６０４）。コントローラ２２０は、コマンドを解釈し書き込みのコマンドかまたは、読み込みのコマンド等を解釈する。コントローラは、コマンドが要求するデータ範囲に自コントローラが処理を行うものであるかを確認するため、キャッシュメモリ２３０に確認する。ここで、コントローラ２２０がキャッシュメモリ２３０に確認しているのは、処理を高速化するために、ハードディスクドライブに割り当てられた論理ユニットの処理を行うことができるコントローラが決められているからである。どのコントローラが、どの論理ユニットの処理を行うことができるかについては、予め決めてあり、キャッシュメモリ２３０、２３１に対応テーブルが格納されているものとする。
【００４９】
書き込み処理で担当する論理ユニットが自コントローラの場合、コントローラ２２０は、キャッシュメモリ２３１に書き込み完了をした通知を受けた後、上位装置に書き込みが完了したことを通知する（ステップ６０６）。キャッシュメモリにある書き込みのデータを２重化のため、キャッシュメモリ２３１に書き込む。コントローラ２２０は、コントローラ間通信線２５０を使用して、書き込みデータをコントローラ２２１へ送信する。コントローラ２２１は、データを受領し、キャッシュメモリ２３１に書き込んだ後、コントローラ２２０へ書き込み完了を通知する。上位装置に書き込み完了を通知した後、ハードディスクドライブに書き込む処理を行う。ここで、上位装置からのデータをキャッシュメモリに２重に格納したのは、記憶システムの信頼性を向上させるためである。処理を高速に行う場合、コントローラ２２０は、もう一方のキャッシュメモリに書き込まない方法も考えられる。
【００５０】
ＦＣループに障害が起こっていない場合、データをハードディスクドライブ側のＦＣアダプタを介してハードディスクドライブに書き込み処理を行う。
【００５１】
しかし、コントローラがハードディスクドライブに書き込みのコマンドを発行して、所定の時間経過後、何の応答もない場合、再び書き込みのコマンドを再発行する（ステップ６１９）。コマンドの再発行回数が所定の回数を超過した場合、障害が発生したものと判定する（ステップ６２２）。コントローラ２２０は、障害が発生したものと判定したら、障害特定処理に移る。
【００５２】
一方、読み込み処理は、以下のように行う。上位装置から読み込み処理を受け、コントローラ２２０がキャッシュメモリ２３０から読み込むべきデータがない場合、コントローラ２２０は、ハードディスクドライブからデータを読み込むように、読み込みのコマンドを発行する。書き込みの場合と同様に、所定の時間経過後、応答がない場合、タイムアウトとなる。コントローラは、再び読み込みのコマンドの再発行をし、コマンドの再発行回数が所定の回数を超過した場合、障害が発生したものと判定する。読み込み処理は、書き込み処理と異なり、上位装置にデータを送らないと読み込み処理が終了しない。コントローラ２２０は、障害が発生したものと判定した後、上位装置にデータを送るため他の正常なハードディスクドライブからデータを復元できるかを試みる。他の正常なハードディスクかデータを復元できない場合、ＦＣループを冗長ループに切替える。冗長ループを使用しても、コントローラ２２０がデータを計算または読み込めない場合、上位装置へ読み込み失敗を通知する。その後、コントローラ２２０は、障害特定処理に移る。
【００５３】
図７は、冗長ループを使用している記憶システムが上位装置からの読み込み書込みの処理を行いながら、障害特定処理を開始するまでのフローチャートである。図５のステップ５０２からステップ５０４に対応する。コントローラ２２０は、障害が発生した障害ループから、冗長ループへ切替えるために、もう一方のコントローラ２２１にコントローラ間通信線２５０を使用して、冗長ループを使用することができるように指示する。指示を受け取ったコントローラ２２１は、現在の処理を終了後、次の処理を、一時的にキャッシュメモリ２３１に蓄積させ、コントローラ２２０に処理完了を通知する（ステップ７０４）。通知を受領したコントローラ２２０は、冗長ループを使用するためにＦＣアダプタに対してＦＣループ切替えの指示を出す（ステップ７１６）。指示を受領したＦＣアダプタ２４３は、ＰＢＣ２６０、２６１に交替パス２８０、２８１を使用して、ＦＣループ２７２、ＦＣループ２７３にＦＣループを切替えさせる。切替え完了後、ＦＣアダプタ２４３は、コントローラ２２０へ切替え完了を通知する（ステップ７０６）。コントローラ２２０は、切替え完了を受領後（ステップ７０７）、コントローラ２２１に切替え完了を通知する（ステップ７０８）。コントローラ２２１は、切替え完了の通知を受けた後（ステップ７０９）、キャッシュメモリ２３１に蓄積されていた処理を再開する。その後、コントローラ２２０も、上位装置からの処理を再開する（ステップ７１１）。この状態は、冗長ループを使用した縮退運転となる。このため、通信の帯域が２つのＦＣループを使用していた場合に比べて半減し、性能が低下する。
【００５４】
縮退運転の間、コントローラ２２０は、障害部位を特定するため、所定の条件を満たすかを判定する。本実施の形態においては、コントローラ２２０が、コントローラ２２０とコントローラ２２１の両方の負荷が低く（ステップ７１２）、キャッシュメモリ２３０と２３１の空き容量が十分にあり（ステップ７１３）、かつ、過去の負荷状況の履歴から今後、負荷が高くなる可能性が低いと判定した場合（ステップ７１４）、障害特定を開始する。尚、障害特定を開始する条件は、上記の条件に限られない。例えば、上記の条件で、何れか一つのみを満たす場合、障害特定を開始するようにしてもよい。
【００５５】
図８は、筐体毎の障害特定処理の開始準備から筐体毎の障害特定処理を行うフローチャートである。図５のステップ５０５とステップ５０６に対応する。障害特定処理は、上位装置からの書き込みや読み込み処理の影響を与えないように行われる。そのために、通常処理の途中に段階的に断続的に障害特定処理を行う。コントローラ２２０は、障害特定処理を行うために、もう一方のコントローラ２２１に障害特定処理の開始を通知する。コントローラ２２１は、通知を受領したら、上位装置からの現在の処理を終了させた後、次に行う処理をキャッシュメモリ２３１に蓄積する。ここで、障害ループコントローラ２２１の処理を一時中断させるのは、障害特定処理を迅速に行うためである。尚、コントローラ２２１を稼動させたまま、障害特定処理を行うこともできる。しかし、この場合、コントローラ２２１は、通常処理を行うことができるが、コントローラ２２０が障害特定処理を完了させる時間は、コントローラ２２１を停止させる方法に比べて、増大することになる。
【００５６】
コントローラ２２０は、コントローラ２２１の通常処理の停止を確認後（ステップ８０７）、冗長ループから障害ープに切替えるために、ＦＣアダプタ２４３にコマンドを発行する（ステップ８０８）。コマンドを受領したＦＣアダプタ２４３は、ＰＢＣ２６０、２６１に、冗長ループから障害ループに切替えさせる（ステップ８１１）。
【００５７】
コントローラ２２０は、冗長ループから障害ループに切替え完了後、どの筐体で障害が発生しているかを確認するために、コントローラから一番遠い筐体を切り離して確認する。尚、本実施の形態では、一番遠い筐体から切り離すが、逆に一番近い筐体から切り離して、障害が発生した筐体を確認することも可能である。
【００５８】
コントローラ２２０は、一番遠い筐体をバイパスするようにＦＣアダプタ２４２に指示を出す（ステップ８１４）。ＦＣアダプタ２４２は、ＰＢＣ３３０によって、筐体をバイパスさせる。筐体のバイパス完了後、コントローラ２２０は、短縮したＦＣループが正常であるかを確認するために、短縮したＦＣループに障害特定コマンドを発行する（ステップ８１９）。障害特定コマンドの一例として、ファイバチャネルのＬＩＰ（Ｌｏｏｐ  Ｉｎｉｔｉａｌｉｚａｔｉｏｎ  Ｐｒｉｍｉｔｉｖｅ）を使用することができる。また、障害特定コマンドも通常時のコマンドと同様に、リトライ回数とタイムアウト時間を設定することができる。障害特定コマンドを発行した後、ＦＣループから応答があれば、前回バイパスした筐体または筐体間ＦＣループに障害が発生していることになる。
【００５９】
一方、障害特定コマンドを発行しても、短縮したＦＣループから応答がない場合、ＦＣループをさらに短縮させる必要がある。ＦＣループをさらに短縮させるために、コントローラ２２０は、ＦＣアダプタ２４２にＦＣループを短縮させるようにコマンドを発行する。ＦＣアダプタ２４２は、ＰＢＣ３２０によって、筐体間ＦＣループをバイパスする。この後、コントローラ２２０は、障害特定コマンドを発行することによって、応答を確認する。コントローラ２２０は、応答があるまでＦＣループを短縮させる処理を行う。コントローラ２２０は、応答を受領後、さらに、障害特定処理を続行するかまたは、ここで、上位装置からの処理がタイムアウトにならないように障害特定処理を一時中断することになる。
【００６０】
図９は、筐体内の障害特定処理を行うフローチャートである。図５のステップ５０９に対応する。障害が発生した部位が筐体間ループか筐体そのものであるかによって処理が異なる（ステップ９０１）。筐体間ループに障害がある場合、コントローラ２２０は、さらに障害特定処理を行う必要がない。コントローラ２２０は、筐体間ループに障害が発生した障害ループが使用可能であるかを判断する（ステップ９０３）。コントローラ２２０から障害が発生した部位より遠いＦＣループに接続されたハードディスクドライブを使用していない場合、コントローラ２２０は、冗長ループを使用せずに、障害が発生した筐体間ループを切り離すことによって、障害ループを使用することができる。コントローラ２２０が障害ループを使用することができない場合、コントローラ２２０は、冗長ループを使用する（ステップ９０４）。
【００６１】
ステップ９０１に戻って、障害が発生した部位が筐体内である場合、コントローラ２２０は、筐体内の障害を特定するために、障害が発生した筐体内の全ての接続されたハードディスクドライブをＰＢＣに切り離させる。この状態で、コントローラ２２０は、障害特定コマンドを発行する（ステップ９２２）。障害特定コマンドに対する応答がない場合、障害部位は、筐体内のＦＣループに障害があることになる（ステップ９３４）。一方、コントローラ２２０は、全てのハードディスクドライブに接続されるＰＢＣをバイパスさせ、障害がない場合、障害が発生した部位は、ハードディスクドライブになる。
【００６２】
コントローラ２２０は、筐体内のＰＢＣにより、ハードディスクドライブを順番に一つずつ接続させる（ステップ９１８）。障害部位に接続したＰＢＣがある場合、コントローラ２２０が発行した障害特定コマンドの応答がなければ、障害部位は、ハードディスクドライブまたは、ＰＢＣとハードディスクドライブの間にあるＦＣループに障害があることになる。
【００６３】
図１１は、ハードディスクドライブで障害が発生しているものと判明した場合に、コントローラが行う処理についてのフローチャートである。図５の５１２から５１４に対応する。ハードディスクドライブに障害があるかどうかを確認するために、コントローラ２２０は、障害ループから冗長ループに切替える（ステップ１１０１）。コントローラ２２０は、冗長ループに切替えた後、障害特定コマンドを発行する（ステップ１１０６）。冗長ループで障害特定コマンドの応答があれば、ＰＢＣとハードディスク間のループに障害が発生していると特定することができる（ステップ１１１４）。その後、障害部位をバイパスして障害ループを使用する方法と冗長ループを使用して、通常処理を行なうことになる。
【００６４】
一方、ステップ１１１０で、冗長ループで障害特定コマンドの応答がなければ、ハードディスクドライブに障害が発生していることになる。ハードディスクドライブの故障であれば、コントローラ２２０は、障害が発生したハードディスクドライブの表示ランプ１６０を点灯させて、障害であることを保守員に知らせる（ステップ１１２３）。障害が発生したハードディスクドライブの表示ランプ１６０を点灯させることによって、保守員は、簡便に障害が発生したハードディスクドライブを発見することができる。また、管理端末２８０の画面に障害が発生したことを表示する（ステップ１１２０）。
【００６５】
障害特定処理が終了すれば、通常処理に戻るための処理を行う。コントローラ２２０は、障害特定処理を終了させるために、コントローラ２２１に障害特定処理の完了を通知する（ステップ１１３２）。完了の通知を受けたコントローラ２２１は、キャッシュメモリ２３１に蓄積された処理を再開する（ステップ１１３４）。コントローラ２２１の通常処理再開後、コントローラ２２０も処理を再開する（ステップ１１３５）。コントローラ２２０が障害特定処理を段階毎に中断する場合も障害特定処理の終了の処理と同様にコントローラ２２１に障害特定処理完了を通知する。コントローラ２２０は、コントローラ２２０の通常処理の開始を確認後、通常処理に移る。但し、中断処理の場合は、再び障害特定処理を開始する必要がある。コントローラ２２０は、コントローラ２２１との互いの負荷と、キャッシュメモリ２３０とキャッシュメモリ２３１との容量と将来の負荷状況を監視し、所定の条件で再び障害特定処理を開始する。
【００６６】
コントローラ２２０が障害特定処理を段階的に行うことで、１回あたりに必要とする障害特定処理の時間を大幅に短縮することができ、上位装置からの通常処理の影響を与えることなく障害特定処理を行うことができる。また、管理端末に障害部位の詳細を通知することで、保守員は、迅速かつ正確に障害部位の交換することができる。
【００６７】
図１０は、障害特定処理を一時中断し、再び障害特定処理を行うまでの処理である。コントローラ２２０は、障害特定処理をステップ８２３やステップ８２５等で中断することができる。または、上位装置からの読み込みや書き込み等の処理が上位装置の制限時間内に上位装置に対して応答できない場合、コントローラ２２０は、障害特定処理を一時中断することができる。図１０は、図５のステップ５１５からステップ５１８に対応する。コントローラ２２０は、障害特定処理の中断箇所をキャッシュメモリに格納する。キャッシュメモリに格納された中断箇所の情報は、再び障害回復処理を行う際、使用する。コントローラ２２０は、キャッシュメモリに格納終了後、コントローラ２２０が、障害ループを引き続き使用可能であるなら、コントローラ２２０は、その障害したＦＣループを使用する（ステップ１０００）。コントローラ２２０は、コントローラ２２１に通常処理再開を通知した後（ステップ１００１）、コントローラ２２０とコントローラ２２１は、通常処理を行う。その後、コントローラ２２０は、障害特定処理を行う所定の条件を満たせば、障害特定処理を再開する（ステップ１００５〜１００８）。コントローラ２２０は、障害特定処理再開するために、コントローラ２２１に障害特定再開を通知する（ステップ１０１４）。通知を受けたコントローラ２２１は、現在の処理を終了後、上位装置からの処理をキャッシュメモリに蓄積する（ステップ１０１７）。その後、コントローラ２２０は、キャッシュメモリから障害特定処理の中断した情報を読み出し、障害特定処理を再開する。
【００６８】
本実施の形態において、バイパス制御信号線１８０１、１８０２を設けて、コントローラがハードディスクドライブやＦＣループをバイパスしたが、バイパス制御信号線をＦＣループに含ませることも可能である。
【００６９】
（第２の実施の形態）
障害が発生する前にＦＣループの信号の劣化を監視する回路として信号劣化検出回路１１０４をＦＣループ中に設けることができる。図１２は、信号劣化検出回路１１０４の構成図である。信号物理検出部１１０２は、ＦＣループ中の物理的な信号の振幅を監視する。信号論理検出部１１０１は、信号の論理的な形式を監視する。ファイバチャネルプロトコルの一例として、信号論理検出部１１０１は、シーケンスやフレームの異常を検出することができる。信号物理検出部１１０２または信号論理検出部１１０１は、信号の劣化が所定の条件より悪化すると、劣化検出制御部１１０３に通知する。劣化検出制御部１１０３は、信号の劣化をＦＣループを使用してコントローラに通知する。または、劣化検出制御部１１０３は、後述する信号線を使用してもよい。
【００７０】
図１３は、図１２の信号劣化検出回路を筐体毎に記憶システムに組み込んだ場合における記憶システムの一部分の構成図である。信号劣化検出回路１２０１〜１２０６は、各筐体に２つずつ設けてある。本実施の形態では、一つの筐体に２つの信号劣化検出回路を設けたが、ＦＣループのそれぞれの出入り口に信号劣化検出回路を設け信号劣化検出回路は、筐体間ＰＢＣの回路とともに設けることもできる。本実施の形態では、一例としてＦＣループのような単方向信号の場合について説明する。
【００７１】
図１４は、図１３における信号劣化検出回路が信号の劣化を検出し、コントローラが障害特定処理を行うまでのフローチャートである。信号劣化検出回路が信号の劣化を検出した場合、コントローラに劣化を通知する（ステップ１３０１）。コントローラ２２０は、信号劣化検出回路から送られた信号劣化情報をキャッシュメモリに格納する。ＦＣループの場合、単方向信号であるので、ＦＣループの上流で障害が発生した場合、その障害が発生したＦＣループより下流のＦＣループの信号は、正常な信号とならない。よって、信号の劣化が発生した箇所は、正常な信号であるとした信号劣化検出回路と異常であると検出した信号劣化検出回路との間となる（ステップ１３０４）。ここで、コントローラ２２０に情報格納は図１５のようにキャッシュメモリに格納される情報は、信号劣化検出回路番号と信号劣化検出回路が設けられている場所と信号の状態コントローラ２２０は、その信号劣化の発生した箇所を管理端末へ通知する（ステップ１３０５）。通知を受けた管理端末は、管理端末の画面に信号が劣化した箇所を表示し（ステップ１３０８）、保守員は、画面に表示された箇所を点検することができる。また、保守員は、故障が発生する前に信号を劣化させた部品を交換することができる。
【００７２】
仮に、図１３において、信号劣化検出回路１２０３は、正常であるが、信号劣化検出回路１２０４が信号の劣化を検出した場合、信号を劣化させる箇所は、信号劣化検出回路１２０４より上流であり、かつ、信号劣化検出回路１２０３より、下流にあることになる。さらに、信号劣化検出回路１２０３、１２０４は、筐体のＦＣループの出入り口に設けられているので、信号を劣化させた箇所は、筐体内にあることになる。
【００７３】
また、信号劣化検出回路１２０２は、正常であるが、信号劣化検出回路１２０３が信号の劣化を検出した場合、信号劣化検出回路１２０３より上流であり、かつ、信号劣化検出回路１２０２より下流にあることになる。よって、信号を劣化させた箇所は、筐体間のＦＣループにあることになる。
【００７４】
信号を劣化させた箇所は、障害になる可能性が高い。そこで、信号を劣化させたＦＣループで、障害が発生した場合、信号を劣化させた筐体から障害特定処理を行うことで、障害特定処理に要する時間を短縮することができる。
【００７５】
図１５は、信号を劣化させた筐体から障害特定処理を行う概略を示したフローチャートである。最初に、コントローラは、信号を劣化させた筐体内部から障害特定処理を行う（ステップ１４００）。ここで、障害部位を特定することができれば、終了する。しかし、コントローラが信号を劣化させた筐体内部の障害特定処理を行っても、障害部位を特定できない場合、他の筐体に障害が発生していることになる。この場合、順番に筐体を調べることになる（ステップ１４０２）。ステップ１４０２で、信号を劣化させた筐体は、一度、調べているので、障害特定処理を行う必要はない。コントローラが別の筐体で障害を特定できた場合、さらに、障害が発生した筐体内部を調べる（ステップ１４０３）。コントローラは、障害が発生した筐体内部で障害部位を特定できれば、障害特定処理を終了する。
【００７６】
本実施の形態において、信号劣化検出回路が各筐体に設けられているので、障害が発生する前に信号の劣化を検出することができる。ＦＣループに障害が発生した場合、コントローラは、予め、信号を劣化させている筐体を把握しているため、信号を劣化させた筐体から障害特定処理を行うことができ、短時間で障害特定処理を終了させることができる。
【００７７】
（第３の実施の形態）
図１３の変形例では、筐体毎ではなく、ハードディスクドライブ毎に信号劣化検出回路を設けた記憶システムである。本実施の形態を図示すると、図１６になる。図１６で、信号劣化検出回路は、ハードディスクドライブから出力される信号の劣化検出を行う。信号劣化検出回路が各ハードディスクドライブからの出力信号をチェックすることにより、筐体毎に信号劣化検出回路を設けた場合と比較して、コントローラは、信号を劣化させた部位について詳細に知ることができる。信号を劣化させた部位の精度は、信号劣化検出回路の間であるので、ハードディスクドライブかまたはＦＣループで信号を劣化させているかまで推定することができる。
【００７８】
信号を劣化させた部位の特定する流れは、図１４とほぼ同じである。異なる点は、ステップ１３０４で信号劣化箇所の推定を筐体毎ではなく、ハードディスク毎で行うことである。
【００７９】
さらに、障害が信号の劣化を検出したＦＣループで発生した場合、処理の流れは、図１７のようになる。障害が発生したＦＣループで、信号を劣化させた箇所で障害が発生している可能性が高いので、信号を劣化させた部分について障害が発生していないか障害特定処理を行う（ステップ１６００）。この処理では、信号を劣化させた部位である一部のＦＣループとハードディスクドライブの障害特定処理を行う。まず、ＦＣループに障害が発生しているかを確認するために、ＰＢＣによりハードディスクドライブとＰＢＣからハードディスクドライブまでのＦＣループを切り離し、障害が発生しているかを確認する。次に、ハードディスクドライブで障害が発生しているかを特定するために、反対側のコントローラから信号を劣化させた可能性があるハードディスクドライブについて障害特定処理を行う。
【００８０】
障害を発生させた部位を特定できない場合、同一筐体内の他の部位について障害特定処理を行う（ステップ１６０２）。コントローラは、同一の筐体内で障害を部位を特定できない場合、他の筐体について障害特定処理を行う（ステップ１６０４）。
【００８１】
ハードディスクドライブの信号が出力される部分に信号劣化検出回路を設けることによって、筐体に信号劣化検出回路を設けた場合と異なり、信号を劣化させた部位を詳細に知ることができる。
【００８２】
（第４の実施の形態）
図１８は、図１３，１６の変形例として信号劣化検出回路をハードディスクドライブの信号が入力される箇所と信号が出力される箇所にそれぞれ設けた記憶システムの変形例の一例である。本実施の形態における信号劣化検出回路は、ハードディスクドライブに入力される信号及びハードディスクドライブから出力される信号の両方について信号の劣化を検出することができるので、ハードディスクドライブの片方に設けた場合と比較して、信号を劣化させた部位をさらに特定することができる。特に、ハードディスクドライブが信号を劣化させた部位であるかを判定できる可能性が高い。
【００８３】
信号が劣化したＦＣループで障害が発生した場合、信号を劣化させた部位で障害が発生した可能性が高いため、コントローラは、信号を劣化させた部位について最初に障害特定処理を行う。処理の流れは、図１７とほぼ同じであるが、異なる点は、図１７のステップ１６００の処理である。信号を劣化させた部位がハードディスクドライブである場合、コントローラは、冗長ループを使用してハードディスクドライブの障害特定処理を行う。また、ハードディスクドライブ間のＦＣループで信号が劣化している場合、障害ループを使用してその信号を劣化させたＦＣループに対して障害特定処理を行う。本実施の形態では、ハードディスクドライブから入力される信号と出力される信号箇所のそれぞれに信号劣化検出回路を設けることによって、ＦＣループが信号を劣化させているのかハードディスクドライブで信号を劣化させているのかを判定することができる。
【００８４】
信号劣化検出回路を設けた記憶システムでは、ＦＣループで信号の劣化を検出した段階で、信号を劣化させた部位を特定し、障害が発生する前に保守員等に知らせることができる。さらに、信号を劣化させた部位が接続されているＦＣループに障害が発生したら、コントローラは、信号を劣化させた部位から障害特定処理を行うことによって、障害部位の発見を迅速にでき、性能や信頼性の低下を最小限に抑えることができる。さらに、障害の回復操作等の保守管理作業を迅速かつ的確に行うことが可能になる。
【００８５】
（第５の実施の形態）
図１９は、本実施の形態の概念図である。正常な場合、コントローラ１９１０は、ＦＣループ１９０１〜１９０４を制御し、コントローラ１９１１は、ＦＣループ１９０５〜１９０８を制御する。奇数筐体１９１２は、ＦＣループ１９０１、１９０２と、ＦＣループ１９０５、１９０６に接続されている。また、偶数筐体１９１３は、ＦＣループ１９０３、１９０４と、ＦＣループ１９０７、１９０８に接続されている。
【００８６】
偶数筐体１９１３と奇数筐体１９１２は、各々使用するＦＣループが異なるため、隣接する筐体に影響を与えない。これにより、偶数筐体１９１３と奇数筐体１９１２は、別々に障害特定処理を行うことができ、信頼性を高めることができる。また、図２，３と比較してＦＣループを多重に設けていることからコントローラは、ハードディスクドライブと高速に読み込みや書き込みの処理をすることができる。
【００８７】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で変更可能であることはいうまでもない。
【００８８】
たとえば、障害特定処理において、上述の説明では障害ありと特定した筐体内のハードディスクドライブのみ切り離して障害特定処理を行う。しかし、この方法だけに限らない。例えば、コントローラは、障害が発生したＦＣループに接続されている全てのハードディスクドライブを全て切り離した後、障害が発生した筐体のハードディスクドライブを一台毎に障害の発生を調べる方法も考えれる。あるいは、障害が発生している筐体が複数ある場合、複数の障害が発生している筐体のハードディスクを切り離した後、障害を特定すべき筐体のハードディスクドライブを一台毎に接続して障害特定処理を行う。上記の方法においては、障害が発生したハードディスクドライブが２台以上であっても障害を回復することができる。
【００８９】
また、障害箇所の表示方法としては、表示ランプ等を用いる方法に限らず、例えば、コントローラを外部から制御する管理端末２８０等の画面に図３のようにシステム構成図を表示し、このシステム構成図上に可視化して表示する方法でもよい。
【００９０】
また、通信手段は、ＦＣループだけに限られず、その他、光ファイバや銅線等のループ状の通信手段であれば、応用可能である。
【００９１】
また、記憶手段は、ハードディスクドライブだけに限られず、光ディスクやメモリにも応用可能である。
【００９２】
また、障害がある一定の確率でしか起こらず、再現性が困難な場合、コントローラは、障害とみなす確率を設定することができる。これにより、障害特定処理においても、コントローラは、障害特定コマンドを複数回発行し、応答した回数で応答率を算出し、所定の応答率以下なら、障害が発生しているとすることができる。
【００９３】
【発明の効果】
本発明によれば、上位装置からの書き込みまたは読み込みなどの通常処理に影響を与えず、上位装置のタイムアウト時間内で記憶システムの障害特定処理を行うという効果が得られる。
【００９４】
また、本発明によれば、ループ状通信手段を備えた構成において障害発生時の性能や信頼性の低下を最小限に止めることができる、という効果が得られる。
【００９５】
本発明によれば、ループ状通信手段を備えた構成において、障害部位の特定、回復作業を迅速、簡便かつ的確に行うことができる、という効果が得られる。
【００９６】
本発明によれば、ループ状通信手段を多重に備えた構成において、複数のループ状通信手段に及ぶ多重障害発生時の復旧を確実に行うことができる、という効果が得られる。
【図面の簡単な説明】
【図１】第１の実施の形態における記憶システムの外観図である。
【図２】第１の実施の形態における記憶システムのループ構成の概念図である。
【図３】図２のループ構成の概念図における詳細な構成図である。
【図４】ＰＢＣの構成図である。
【図５】障害特定処理の全体フローチャートである。
【図６】図５のフローチャートの一部である。
【図７】図５のフローチャートの続きである。
【図８】図５のフローチャートの続きである。
【図９】図５のフローチャートの続きである。
【図１０】図５のフローチャートの続きである。
【図１１】図５のフローチャートの続きである。
【図１２】信号劣化検出回路の構成図である。
【図１３】信号劣化検出回路を記憶システムの筐体毎に組み込んだ構成図である。
【図１４】信号の劣化の検出から障害特定処理を行うまでのフローチャートである。
【図１５】信号を劣化させた筐体から障害特定処理を行う概略を示したフローチャートである。
【図１６】信号劣化検出回路を記憶システムのハードディスクドライブの出口に設けた構成図である。
【図１７】信号劣化検出回路を設けた場合の障害特定処理のフローチャートである。
【図１８】信号劣化検出回路を記憶システムのハードディスクドライブの出入口に設けた構成図である。
【図１９】奇数筐体と偶数筐体に分けた場合の記憶システムの構成図である。
【符号の説明】
基本筐体…１００、
増設筐体…１１０、
ハードディスクドライブ…１３０、
表示ランプ…１６０、
上位装置…２１０、
コントローラ…２２０、２２１、
キャッシュメモリ…２３０、２３１、
ＦＣループ…２７０〜２７３、３５０〜３６１、３９０〜３９７、
管理端末…２８０
ＰＢＣ…２６０〜２６３、３００〜３４０、３７０〜３８１、
信号劣化検出回路…１１０４、
信号線…１８０１、１８０２
【図１】
2005031928.tif 000003
【図２】
2005031928.tif 000004
【図３】
2005031928.tif 000005
【図４】
2005031928.tif 000006
【図５】
2005031928.tif 000007
【図６】
2005031928.tif 000008
【図７】
2005031928.tif 000009
【図８】
2005031928.tif 000010
【図９】
2005031928.tif 000011
【図１０】
2005031928.tif 000012
【図１１】
2005031928.tif 000013
【図１２】
2005031928.tif 000014
【図１３】
2005031928.tif 000015
【図１４】
2005031928.tif 000016
【図１５】
2005031928.tif 000017
【図１６】
2005031928.tif 000018
【図１７】
2005031928.tif 000019
【図１８】
2005031928.tif 000020
【図１９】
2005031928.tif 000021