(57)【特許請求の範囲】
【請求項１】
ＳＣＳＩインターフェースバスと、該バス上の１つ又はそれ以上のコントローラーとを通じてホストコンピューターに接続されており、且つ、前記バスに付けられた、バスアドレスに矛盾を起こさない適正なスロット或いはバスアドレスに矛盾を起こす不正なスロットのどちらにインストールされているかによって、実際のバスアドレス或いは実際のバスアドレスと異なる偽のバスアドレスを構成することのできる複数のＳＣＳＩインターフェース機器を有する電算処理システムにおける、不正なスロットにインストールされているどんなＳＣＳＩインターフェース機器をも検知するための方法において、前記方法がコンピューターによって実行される、第１に、前記コントローラーのバスアドレスと矛盾を起こす偽のバスアドレスに機器が構成されるような不法なスロットにインストールされたＳＣＳＩインターフェース機器を検知する段階と、第２に、対応する実際のバスアドレスと矛盾を起こす偽のバスアドレスに機器が構成されるような不法なスロットにインストールされたＳＣＳＩインターフェース機器を検知する段階とから成ることを特徴とする方法。
【請求項２】
スモールコンピュータシステムインターフェース（ＳＣＳＩ) バスを介して複数のＳＣＳＩ機器を電算処理システムのサブシステムコントローラーに接続しているＳＣＳＩサブシステムを有する電算処理システムで、前記複数のＳＣＳＩ機器には少なくともワイドＳＣＳＩ機器とナローＳＣＳＩ機器という２つの型があり、ワイドＳＣＳＩ機器は、ＳＣＳＩバスに取り付けられた低ＩＤスロット或いは高ＩＤスロットの何れかにインストールされている時には実際のＩＤバスアドレスを構成し、ナローＳＣＳＩ機器は、低ＩＤスロットにインストールされている時には実際のＩＤバスアドレスを構成し、高ＩＤスロットにインストールされているときには、偽の低ＩＤバスを構成する、そのようなシステムにおける、高ＩＤスロットにインストールされている、ナローＳＣＳＩ機器を検知するための方法において、第１に、高ＩＤにインストールされていながら、ＳＣＳＩバスに取り付けられているコントローラーのためのコントローラーＩＤバスアドレスに合致する低ＩＤを偽っているナローＳＣＳＩ機器を検知する段階と、第２に、高ＩＤにインストールされていながら、別のＳＣＳＩ機器がインストールされているスロットに対応する低ＩＤアドレスを偽っているナローＳＣＳＩ機器を検知する段階と、第３に、高ＩＤにインストールされていながら、別のＳＣＳＩ機器が将来インストールされるであろう、未使用のスロットに対応する低ＩＤアドレスを偽っているナローＳＣＳＩ機器を検知する段階とから成ることを特徴とする方法。
【請求項３】
スモールコンピュータシステムインターフェース（ＳＣＳＩ) バスを介して複数のＳＣＳＩ機器を電算処理システムのサブシステムコントローラーに接続しているＳＣＳＩサブシステムを有する電算処理システムで、前記複数のＳＣＳＩ機器には少なくともワイドＳＣＳＩ機器とナローＳＣＳＩ機器という２つの型があり、ワイドＳＣＳＩ機器は、ＳＣＳＩバスに取り付けられた低ＩＤスロット或いは高ＩＤスロットの何れかにインストールされている時には実際のＩＤバスアドレスを構成し、ナローＳＣＳＩ機器は、低ＩＤスロットにインストールされている時には実際のＩＤバスアドレスを構成し、高ＩＤスロットにインストールされているときには、偽の低ＩＤバスを構成する、そのようなシステムにおける、高ＩＤスロットにインストールされたナローＳＣＳＩ機器を検知するためのコントローラー内の装置において、ＳＣＳＩサブシステムのためのテストペアとして、高ＩＤ及び低ＩＤアドレスペアを設定するが、前記低ＩＤはナローＳＣＳＩ機器が高ＩＤスロットにインストールされている場合は高ＩＤの偽となる、そのような設定モジュールと、未使用であることが分かっているスロットに対応する応答しないＩＤバスを呼び出す第１アドレスモジュールと、前記第１アドレスモジュールが応答しないＩＤバスアドレスを呼び出すとき応答を検知するが、その応答はナローＳＣＳＩ機器がテストペアの高ＩＤにインストールされていることを、そして、ナローＳＣＳＩ機器がコントローラーＩＤに合致する偽のバスアドレスを構成していることを示している、そのような応答を検知する第１テストモジュールと、テストペアの低ＩＤに呼び出しを行う第２アドレスモジュールと、前記第２アドレスモジュールが低ＩＤを呼び出すとき応答に矛盾を検知するが、その矛盾はＳＣＳＩ機器が低ＩＤにインストールされていること、そして、ナローＳＣＳＩ機器がテストペアの高ＩＤにインストールされていることを示す、そのような矛盾を検知する第２テストモジュールと、テストペアの高ＩＤバスアドレスに呼び出しを行う第３アドレスモジュールと、前記第３アドレスモジュールからの呼び出しに応答がないことを検知し、そして、前記第２アドレスモジュールの呼び出しには応答があることを検知するが、この無応答・有応答の組み合わせは、ナローＳＣＳＩ機器が高ＩＤにインストールされていることを、そして、ナローＳＣＳＩ機器が、未使用の低ＩＤにいずれインストールされるであろうＳＣＳＩ機器と将来矛盾を引き起こすであろうということを示す、そのような応答を検知する第３テストモジュールとから成ることを特徴とする装置。
【請求項４】
コントローラーＩＤと矛盾する高ＩＤにあるナローＳＣＳＩ機器をＳＣＳＩバスから切り離すためにこのナローＳＣＳＩ機器を隔離するための、前記第１テストモジュールに応答するモジュールを含んだ、高ＩＤでナローＳＣＳＩ機器にマークを付けるモジュールを更に加えたことを特徴とする、上記請求項３に記載の装置。
【請求項５】
全テストペアがテストし終えるまで、テストペアを新しいテストペアに更新していくモジュールを更に加えたことを特徴とする、上記請求項３に記載の装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＳＣＳＩ（小型コンピューターシステムインターフェース）バス上の不正な場所にインストールされたＳＣＳＩ機器の検知に関する。特に、本発明は、８ビットＳＣＳＩ機器と１６ビットＳＣＳＩ機器が混在する環境において、１６ビットＳＣＳＩ機器用位置と認識されているＳＣＳＩバスアドレスに、どんなものであれ８ビットＳＣＳＩ機器がインストールされるとこれを検知することに関する。
【０００２】
【発明の背景】
ＳＣＳＩ機器の第１世代は８ビット機器であり、アドレス認識番号（ＩＤ) ０から７までのアドレスをＳＣＳＩバス上に持っていた。１６ビットＳＣＳＩと、より大型の周辺機器、特に記憶システムの出現により、ＳＣＳＩ機器のアドレスＩＤは、０から７までから、１から１５までへと広がった。ＳＣＳＩ機器のサイズは、ナロー（８ビット) ＳＣＳＩ及びワイド（１６ビット) ＳＣＳＩの両方が利用できるようになったので、コンピューターユーザーは、システムを向上させる際に、ナローＳＣＳＩ機器とワイドＳＣＳＩ機器をしばしば混在させている。
ナローＳＣＳＩとワイドＳＣＳＩが混在する周辺システムにおいては、ＳＣＳＩ機器が適正にインストールされない場合、アドレスにおいて矛盾の問題が発生する可能性がある。ナローＳＣＳＩ機器は、もしそれがＩＤ０から７のアドレススロットに配置された場合、アドレスされたことを唯一正しく認識する。もしナローＳＣＳＩ機器がアドレスＩＤ８から１５までのスロットにインストールされたなら、ナロー機器はこの高い数字の並びであるＩＤアドレスビットを認識できないであろう。従って、ＩＤ８から１５にインストールされたナローＳＣＳＩ機器は、ＩＤ０から７までのＳＣＳＩアドレスラインに呼応して自身を構成するであろう。たとえば、スロットＩＤ「 ８」 にインストールされたナロー機器は、自身をＳＣＳＩ機器ＩＤ「 ０」 と定義するであろう。コントローラーがＩＤ０アドレスラインを稼働させたとき、それは、実際にスロット０に位置するＳＣＳＩからの応答と、自身をＩＤ０のＳＣＳＩ機器だと考えるスロット８のナロー機器からの矛盾した応答を得ることになる。このため、バスに矛盾が起こり、データが変造される。
【０００３】
この問題は、ユーザーが、ナローＳＣＳＩ機器だけをスロット０から７にインストールすれば避けられる。しかしながら、ユーザーが、ナロー機器を８から１５スロットに間違ってインストールすることは頻繁に起こる。換言すれば、ナローＳＣＳＩ機器は不正な位置に存在し、不正なＩＤを持つといえる。問題は、不正な位置にインストールされたナローＳＣＳＩをどうやって検知するかである。
【０００４】
【発明の概要】
本発明に従い、（１) 高いＩＤにインストールされ、ＳＣＳＩバスに付けられたコントローラー用のコントローラーＩＤバスアドレスに合致している低いＩＤを偽っている（低いＩＤに代えている）ナローＳＣＳＩを検知することにより、また（２) 高ＩＤにインストールされ、別のＳＣＳＩ機器がインストールされるスロットに対応する低ＩＤアドレスを偽っているナローＳＣＳＩ機器を検知することにより、そしてまた（３) 高いＩＤにインストールされ、別のＳＣＳＩ機器が将来インストールされるであろう未使用のスロットに対応する、低いＩＤアドレスを偽っているナローＳＣＳＩ機器を検知することにより、上記の問題は全般的に解決される。
本発明は、広義の形態において、請求項１に引用されているように、不正なスロットにインストールされたコンピューターシステムインターフェース機器を検知する方法に存する。以下に述べるように、設定モジュールは、高ＩＤアドレスと低ＩＤアドレスのペアを、ＳＣＳＩサブシステムのためのテストペアとして設定する。もし、ナローＳＣＳＩ機器が、高ＩＤスロットにインストールされていたら、低ＩＤは高ＩＤの偽物である。第１アドレスモジュールは、未使用であると知られているスロットに対応する、応答しないＩＤバスアドレスを呼び出す。第１テストモジュールは、第１アドレスモジュールが応答しないＩＤバスアドレスを呼び出したとき、応答を検知する。この応答があれば、ナローＳＣＳＩ機器がテストペアの高ＩＤにインストールされ、そのナローＳＣＳＩ機器が、コントローラーＩＤに合致する偽のバスアドレスを構成していることを示している。
【０００５】
第２アドレスモジュールは、テストペアの低ＩＤバスアドレスに呼び出しを行う。第２テストモジュールは、第２アドレスモジュールが低ＩＤを呼び出した時の応答に矛盾がないか検知する。矛盾があれば、ＳＣＳＩ機器が低ＩＤにインストールされ、ナローＳＣＳＩ機器がテストペアの高ＩＤにインストールされていることを示す。
第３アドレスモジュールは、テストペアの高ＩＤバスアドレスに呼び出しをかける。第３テストモジュールは、第３アドレスモジュールからの呼び出しに対しては応答がなく、第２アドレスモジュールからの呼び出しには応答があることを検知する。有反応、無反応のこの組み合わせは、ナローＳＣＳＩ機器が高ＩＤにインストールされており、ナローＳＣＳＩ機器が、未使用の低ＩＤにいずれインストールされるＳＣＳＩと将来的に矛盾をひき起こすであろうことを表している。
【０００６】
第１テストモジュールに応答したモジュールは、コントローラーＩＤと矛盾を起こしている高ＩＤにあるナローＳＣＳＩ機器を、ＳＣＳＩバスから切り離せるよう、隔離させることが望ましい。
都合のいいことに、モジュールは、全テストペアがテストされるまで、高／低ＩＤテストペアを新テストペアに更新する。
本発明は、ワイドＳＣＳＩ機器用のスロットに不適格にインストールされたナローＳＣＳＩ機器を効率的に検知し、そしてこのような検知は、ＳＣＳＩサブシステムを引き続き稼働させながら、矛盾によるデータ変造及びパリティーエラーを防止する。
【０００７】
【実施例】
例を用いた以下の好適な実施例の説明、及び添付の図を参照することにより、本発明に関するより詳細な理解が得られるであろう。
図１は本発明の好適な実施例における論理的な操作を示している。ＳＣＳＩ機器が不正な位置にインストールされたとき検知されるためには、検知されるべき３つの基本的な矛盾状況がある。第１に、操作によって、高ＩＤ（ワイドＳＣＳＩ機器用にアドレス指定可能なＩＤアドレス) にあるナローＳＣＳＩ機器と、高ＩＤが偽る低ＩＤ（ナロー若しくはワイドＳＣＳＩ機器用にアドレス指定可能なＩＤアドレス) にあるＳＣＳＩ機器の間の矛盾が検知されねばならない。低ＩＤと偽わっている高ＩＤは、ナローＳＣＳＩ機器がＳＣＳＩバス上の高ＩＤスロットにインストールされているかどうかを認識するために、ナローＳＣＳＩ機器が設定する低ＩＤアドレスと照会される。第２に、操作によって、高ＩＤにあるナローＳＣＳＩ機器と、偽りの低ＩＤにＳＣＳＩ機器がないこととの、その間の潜在的な矛盾が検知されねばならない。これは、ＳＣＳＩ機器が偽の低ＩＤにインストールされたとき、将来的に矛盾が生じるという点にある、可能性としての矛盾である。第３に、操作によって、高ＩＤにインストールされたナロー機器と、高ＩＤ機器が偽る低ＩＤを使用するコントローラーの間に生じる矛盾が検知されねばならない。
【０００８】
論理的な操作は、図１の、矛盾状況に関してチェックされるべき「ＩＤをテスト」という設定を行う操作１０で開始される。操作１０は、低ＩＤを偽わる可能性のある、ＳＣＳＩバス上の高ＩＤ位置にあるＳＣＳＩ機器の配置を示すビットマップを利用する。例えば、もし高ＩＤが８から１５でも、ＩＤ８、９、１１−１４のスロットだけが使用されている場合、ＩＤ８、９、１１−１４と、それらの偽ＩＤだけが、ＩＤテスト設定の範囲に入る。代替的には、全てのＩＤをテストして、テスト結果をＳＣＳＩ機器の位置を示すビットマップと比較することもできる。ビットマップによりこの代替操作のテスト結果が確認される。
操作１０の後、判断操作１２により、テストＩＤがコントローラー用のＩＤ位置点を偽っていないかどうかがテストされる。０から１５までのＩＤを持つＳＣＳＩバスにおいて、コントローラーは大抵ＩＤ６またはＩＤ７に位置する。従ってテストＩＤ１４またはテストＩＤ１５のナロー機器は、コントローラーＩＤを偽る可能性がある。もし、ＳＣＳＩバスが、１つのコントローラーのみを有する場合は、コントローラーで行われる図１の論理的な操作で、コントローラーがＩＤ６にあるのかＩＤ７なのかが分かる。もし、テストＩＤが、本当にコントローラーＩＤを偽った場合には、操作は検知操作１４へと枝分かれして進む。
【０００９】
検知操作１４は、反応しないはずのＩＤを、コントローラーに呼び出させる。
呼び出しの形態は、目標とするＩＤの他にコントローラーのＩＤも含まれる。もし、目標ＩＤが未使用もしくは使用禁止とされている場所のＩＤであるなら、呼び出しへの応答はないはずである。もし、応答があった場合、検知操作１４はその応答を検知する。このような応答は、そのＩＤアドレスをコントローラーのＩＤアドレスと同一になるように構成している、インストールされたＳＣＳＩ機器を有するスロットが存在することを表している。厳密には、テストＩＤにコントローラーＩＤを偽らせるナローＳＣＳＩ機器が、テストＩＤに存在するということである。
操作１４が、応答を検知すると、そこで隔離操作１６が、ＳＣＳＩバスからテストＩＤを隔離して、そのテストＩＤを使用禁止とマークする。コントローラーによるバス上の全アクションは、コントローラーＩＤを偽るテストＩＤで、ナロードライブからの不当な応答を引き起こすきっかけとなるようなコントローラーＩＤを含むであろうから、テストＩＤの隔離は必要である。テストＩＤ位置にあるナローＳＣＳＩ機器の隔離には、ＳＣＳＩバスのセグメントを使用禁止にすることが必要になろう。もし、そのセグメントが１を越えるＩＤ位置を有するなら、それらの位置にあるＳＣＳＩ機器はバスより切り離され、使用禁止のマークを付けられる。
【００１０】
コントローラーＩＤを偽らない全テストＩＤに対して、操作の流れは、操作１２の「 いいえ」 に枝分かれして、矛盾判断操作１８へと進む。操作１８は、低ＩＤへの呼び出しに応じたＳＣＳＩバス上の矛盾をテストする。もし、２つのＳＣＳＩ機器がコントローラーの呼びかけに応じたら、バスの矛盾の裏付けである。
２つの応答がバス上で混ぜ合わされ、バス矛盾は、それを、バス上のパリティーエラーという反応で明示する。もし、ＳＣＳＩ機器が低ＩＤにありナローＳＣＳＩ機器が高ＩＤにあれば、低ＩＤでバスの矛盾が起こる。低ＩＤでバス矛盾を起こす全テストＩＤに対して、論理的操作手順は、「 はい」 となり検知操作２０に進む。検知操作２０は、コントローラーに高ＩＤで呼び出しを送らせる。操作２０は高ＩＤでの反応をテストする。偽の低ＩＤで矛盾があったので、高ＩＤでは反応が検知されないはずである。このように、操作２０は、操作１８の「 はい」 の結果を検証する。操作２０の後、低ＩＤと低ＩＤを偽る高ＩＤは両方とも、操作２０によって使用禁止とマークされる。
【００１１】
もし、判断操作１８が、バス矛盾を発見しない場合は、操作手順は検知操作２４までのびる。検知操作２４及び２５は、潜在的矛盾をテストする。検知操作２４は、低ＩＤに反応があったことを検知したうえで、高ＩＤで反応がないことを検知するために、高ＩＤに対して呼び出しをかける。検知操作２５は、バス地図より、低ＩＤにＳＣＳＩ機器がないこと、そして高ＩＤにＳＣＳＩ機器があることを検知する。この検知組み合わせは、低ＩＤ位置にＳＣＳＩ機器が存在しないこと、また高ＩＤのナローＳＣＳＩ機器が偽の低ＩＤで応答していることを示す。
操作２４、２５の組み合わせの後、マークを付ける操作２２が、低ＩＤと高ＩＤの両方に使用禁止とマークする。このようにして、ＳＣＳＩ機器が低ＩＤ位置にインストールされたとき、将来起こるかも知れない潜在的な矛盾は未然に防止される。
【００１２】
本発明の好適実施例の操作環境は、図２に示されるように、多数コントローラー（または、イニシエーター) と、複数のＳＣＳＩバス上でコントローラーに接続されている複数のＳＣＳＩ機器とを有するシステムである。図２の記憶システムはＳＣＳＩ機器用の３つのキャビネット、キャビネット０、キャビネット１、キャビネット２を有する。各キャビネットは、２４のＳＣＳＩ機器５０を備えることができ、ＳＣＳＩ１からＳＣＳＩ６までの、バス１につき４つのＳＣＳＩ機器を伴う、６つのＳＣＳＩバス上に配置されたハードディスクドライブが１例として揚げられる。各ＳＣＳＩバスは、該バスを他のキャビネットの同じバスに接続できるようにするための、バスエクステンダーチップ５２を持っている。３つのキャビネットがあり、キャビネット毎の各ＳＣＳＩバス毎に、４つのＳＣＳＩ機器５０が存在するので、ＳＣＳＩバス毎には１２個のＳＣＳＩ機器５０があることになる。バスエクステンダーチップ５２は各ＳＣＳＩバスを、セグメント毎に４つのＳＣＳＩ機器を持つ３つのセグメントに効果的に分割できる場合と、できない場合がある。バスエクステンダーは、デジタル・イクイプメント・コーポレーションや、シンバイオス・ロジック・インコーポレーションにより設計されており、ＳＹＭ５３Ｃ１２０チップが、シンバイオス・ロジック・インコーポレーションより入手できる。
【００１３】
各キャビネットは環境モニターユニット（ＥＭＵ) を有しており、これは小型プロセッサーを備えた小型モジュールである。ＥＭＵは、キャビネット内のＳＣＳＩ機器とＳＣＳＩバスに対する、いくつかのモニタリングとコントロール機能を実行する。本発明で利用されており、各キャビネットのＥＭＵで行われる２つの機能は、（１) キャビネット用にＳＣＳＩ機器ビットマップを作成すること、及び（２) キャビネット内の６つのバスエクステンダーチップ５２の「オン／オフ」制御である。ＳＣＳＩー機器ビットマップは、キャビネット内の２４のＳＣＳＩ機器スロットのいずれが、ＳＣＳＩ機器に実際に使用されているかを示す。換言すれば、各ＥＭＵは、例えば、マップ位置にあるバイナリーが、そのマップ位置に割り当てられたスロットにあるＳＣＳＩ機器を表すようなマップを制作する。逆に言えば、バイナリーが０なら、スロットは空であることを示す。バスエクステンダーチップ５２の「 オン／オフ」 制御は、各ＳＣＳＩバスを３つのセグメントに分割するために使用される。全キャビネットのバスエクステンダー５２がオフなら、その時は、ＳＣＳＩバスセグメント０だけが、例えばキャビネット０のＳＣＳＩバス部分が、アクティブとなる。キャビネット０とキャビネット１のバスエクステンダー５２を「 オン」 にすることで、ＳＣＳＩバスのセグメント０と１とがアクティブになる。キャビネット０とキャビネット２のバスエクステンダー５２を「 オン」 にすることで、ＳＣＳＩバスのセグメント０と２がアクティブになる。全キャビネットのバスエクステンダー５２がオンの時、全３セグメントはアクティブになる。
【００１４】
キャビネット０のＥＭＵ０は、マスターＥＭＵで、キャビネット１、及び２のＥＭＵ１、ＥＭＵ２それぞれと通信する。ＥＭＵ０は、またキャビネット０のコントローラーＡ及びコントローラーＢとも通信する。本発明の好適事例を実行する論理的操作は、以下にその詳細を述べるように、ＥＭＵと作動するコントローラーによって行われる。６つの全ＳＣＳＩは、コントローラーＡ及びコントローラーＢから制御される。コントローラーはキャビネット０のみに存在する。単一コントローラーを使用してもよいが、２つのコントローラーを使用すると信頼度が増す。
ＳＣＳＩ機器と、１つのＳＣＳＩバス上のコントローラーとの相互接続について、キャビネット０は図３Ａに、キャビネット１は図３Ｂに示されている。図３Ａ、及び図３Ｂは、ＥＭＵ、コントローラー、そしてバスエクステンダー間の相互接続も表している。図示されていないが、キャビネット２のＳＣＳＩバスとＥＭＵの接続は図３Ｂのキャビネット１における接続に似た構造をとる。６つのＳＣＳＩバスのそれぞれは、図３Ａ及び３Ｂに示されるように実行される。
【００１５】
図３Ａで、内部ＳＣＳＩバス６０は、ＳＣＳＩ機器６２、６３、６４、６５、及びコントローラーＡとコントローラーＢに接続されている。これらＳＣＳＩ機器は、それぞれ、ＳＣＳＩバスＩＤ０、１、２、３を持つスロットに位置する。また、ＳＣＳＩバスアドレスＩＤ６のコントローラーＡと、ＳＣＳＩバスアドレスＩＤ７のコントローラーＢも、内部ＳＣＳＩ６０に付けられている。
内部ＳＣＳＩバス６０は、バスエクステンダーチップ６６を通ってキャビネット０の外のＳＣＳＩバス６１に接続されている。バスエクステンダー６６が「オン」にされる、すなわち使用可能になると、内部ＳＣＳＩバス６０は、キャビネット０の外のＳＣＳＩバス６１に接続される。要するに、ＳＣＳＩバスは、キャビネット１と２のバスエクステンダーがオンになると、それらの内部のＳＣＳＩバスに接続される。
【００１６】
バスエクステンダー６６を使用可能にするか使用禁止にするかは、キャビネット０の環境モニターユニット０によって制御されている。環境モニターユニット０が、コントローラーＡあるいはコントローラーＢからのオン・オフコマンドに応じて、バスエクステンダー６６をオンにしたりオフにしたりする。別ケーブルにより、環境モニターユニット０（ＥＭＵ) は、キャビネット１のＥＭＵ１及びキャビネット２のＥＭＵ２に接続されている。ＥＭＵ０はＥＭＵ１とＥＭＵ２に情報を送り、それらから情報を集めるマスターＥＭＵである。例えば、ＥＭＵ０はＥＭＵ１からキャビネット１のＳＣＳＩバスの部分に関するビットマップを手に入れることができる。キャビネット０内のコントローラーＡ及びコントローラーＢは全キャビネット内の全ＳＣＳＩ機器を制御する。このようにして、キャビネット０のコントローラーＡ及びコントローラーＢは、内部ＳＣＳＩバス６０上でキャビネット０のＳＣＳＩ機器を呼び出し、ＳＣＳＩバス６０を介して外部ＳＣＳＩバス６１上でキャビネット１、２のＳＣＳＩ機器を呼び出す。コントローラーＡとＢは、信号ライン６８上でマスター環境ユニットＥＭＵ０と通信を行う。そして最後に、コントローラーＡとＢは、ホストからの要請に応じるために、ホスト電算処理システム７０と通信を行い、ＳＣＳＩ機器よりホストへと応答を出す。より単純なシステムで、ＳＣＳＩバスが直接ホストとつながっているような場合には、コントローラー機能はホストによって行われるであろう。
【００１７】
図３Ｂでは、バスエクステンダー７２は、キャビネット１内の内部ＳＣＳＩバス７４に外部ＳＣＳＩバス６１を接続している。キャビネット１の内部ＳＣＳＩバス７４はＳＣＳＩ機器７５、７６、７８、７９のそれぞれに接続されている。
これらのＳＣＳＩ機器は、通常ＳＣＳＩアドレス位置を、それぞれＩＤ８、ＩＤ９、ＩＤ１０、ＩＤ１１に配列するスロットにインストールされることになる。
ＳＣＳＩ機器７５、７６、７８、７９がこれらＳＣＳＩバスＩＤに適正に配置されるためには、ワイドＳＣＳＩ機器でなくてはならない。上で説明したように、ＳＣＳＩ機器がナローＳＣＳＩ機器であったなら、それらは、あたかもＩＤ０、ＩＤ１、ＩＤ２、ＩＤ３に在るように配置される。
バスエクステンダー７２は、環境モニターユニット１（ＥＭＵ１) からのオン／オフ制御により、バス７４とバス６１の接続あるいは隔離に関して、実行可能あるいは禁止となる。環境モニターユニット１は、コントローラーＡ及びＢからコマンドを受け取り、コントローラーＡ及びＢにビットマップ情報を提供するためにＥＭＵ０と通信する。ＥＭＵ１は、キャビネット１にインストールされる可能性のある２４のＳＣＳＩ機器（６つのバス、バス毎に４つのドライブ) のためにキャビネット１のビットマップ情報を収集する。先に述べたように、ＳＣＳＩ機器設置位置用のＩＤがＩＤ１２、ＩＤ１３、ＩＤ１４、ＩＤ１５になっていることを除いては、キャビネット２におけるＳＣＳＩバス接続、バスエクステンダー、そしてＥＭＵ接続の構造は、キャビネット１と同じである。キャビネット２においては、ＥＭＵもＥＭＵ１ではなくて、今回はＥＭＵ２である。
【００１８】
ＥＭＵと共同でコントローラーによって行われる論理的操作は、本発明の好適実施例に対して図４で示されている。不正なＩＤ位置にあるＳＣＳＩ機器を検知するよう、コントローラーに要請があると、受け付け操作８０での論理的操作が開始される。受け付け操作８０が、不正ＩＤを持つＳＣＳＩ機器を検知せよという要請を認知すると、応答をテストするために、ＳＣＳＩバスの全てのＳＣＳＩ機器ＩＤへの呼び出しのウォークスルー処理を始める。さらに、このウォークスルー処理は、ＳＣＳＩバスのセグメントにより編成される。好適実施例においては、セグメンテーションはバスエクステンダーにより行われる。
検証操作８２により、セグメント０のＳＣＳＩ機器の応答が確認される。操作８２は、最初に全てのバスエクステンダーをオフにして、セグメント１及び２のＳＣＳＩバスから、セグメント０のＳＣＳＩバスを効果的に隔離する。それから検証操作８２は、ＳＣＳＩ機器ＩＤ０から３に問い合わせ、または呼び出しをする。問い合わせ若しくは呼び出し操作で、呼び出されたＩＤからの応答を探し、応答の存在を、セグメント０（キャビネット０) のＳＣＳＩ機器に関するビットマップと比較する。ビットマップはＳＣＳＩ機器の存在を示し、存在するＳＣＳＩ機器は全て呼び出しに応答する。検証操作はまた、セグメント０のＳＣＳＩ機器がコントローラーによって正確に作動しているか確かめるため、ＳＣＳＩ機器から、パリティーエラーのようなエラー探しも行う。検証操作８２が終了すると、セグメント１検知操作８４が開始される。
【００１９】
セグメント１検知操作８４では、セグメント２バスエクステンダーのみがオフにされる。セグメント０とセグメント１のバスエクステンダーはオンにされる。
従って、キャビネット０のバス上のＳＣＳＩ機器は、ここでキャビネット１のＳＣＳＩ機器と接続され、これら機器の全てはコントローラーと通信している。コントローラーは、ここで各ＳＣＳＩ、ＩＤ０−３、及び１１−８を呼び出すために、アクティブまたは呼び出し操作を利用する。ＩＤ１１−８が高から低へ呼ばれるか、低から高へと呼ばれるかは選択の問題である。もし、ナローＳＣＳＩ機器がＩＤ位置８−１１にあれば、あたかもＩＤ０−３にあるかのごとく配置されるということを思い出していただきたい。従って、ＩＤ０−３に呼び出しが行き、バス矛盾が検知されると、高ＩＤでナロー機器が検知されていることになる。高ＩＤは、高ＩＤで「 いいえ」 の応答があるか確かめるためにも呼び出しを受ける。
高ＩＤで「 いいえ」 の応答があれば、低ＩＤでの矛盾が確認され、すなわち、図１で説明されたように、将来の機器の低ＩＤとの潜在的な未来の矛盾が示される。高ＩＤのナローＳＣＳＩ機器を検知するための操作に関する詳細は、図６を参照しながら以下に述べる。
【００２０】
検知操作８６は、コントローラーと、或いは、現在使用されていないＩＤに将来的にインストールされる可能性の在るＳＣＳＩ機器のどちらかと、矛盾するセグメント２（キャビネット２) に位置するナローＳＣＳＩ機器を検知する。セグメント２検知操作８６は、セグメント１バスエクステンダーをオフにし、セグメント０とセグメント２のバスエクステンダーをオンにすることから開始される。これによって、セグメント１（キャビネット１) は、ＳＣＳＩ機器から隔離され、検知操作は、ＩＤが０から３と１５から１２のスロット位置についてのみ行えばよいことになる。もしナローＳＣＳＩ機器が、通常はＩＤ１２と１３の配置になるスロットに置かれたら、ナローＳＣＳＩ機器はＩＤ４と５の配置となる。ナローＳＣＳＩ機器と、普通ならＩＤ１４と１５の配置になるスロットは、代わって、偽のＩＤ６と７の配置となる。ＩＤ４と５を偽る機器は、将来ＩＤ４と５に割り当てられるスロットの将来インストールされるかもしれないＳＣＳＩ機器と矛盾を起こすであろう。ＩＤ６と７を偽る機器は、コントローラーと矛盾するであろう。
セグメント２に対する検知操作の実行に関しては、図６を参照しながら以下に詳細を述べる。
【００２１】
セグメント２でのナローＳＣＳＩ機器の検知の後、操作８８により、全ＳＣＳＩ機器の操作が検証される。検証作業は、全てのバスエクステンダーをオンにすることから始まり、これで各ＳＣＳＩ機器の全セグメントはアクティブとなる。テスト操作は、ここで、セグメント０に対してはＩＤ０−３の、セグメント１に対してはＩＤ８−１１の、そして、セグメント２に対してはＩＤ１２−１５のＳＣＳＩ機器をアクティブにすることへと続く。全ＳＣＳＩ機器操作は、正確に反応しなくてはならず、そうでなければ、操作８２、８４、８６の間、使用禁止にされねばならない。８８における検証操作は、一度全セグメントをオンにして、様々なＳＣＳＩバスに接続されているＳＣＳＩ機器が、予想通りに作動するかを単にテストするだけである。
【００２２】
図５では、図４のＳＣＳＩ機器検知操作８４と８６を詳細に示す。ホストコンピューターが不正ＩＤ検知操作を開始すると、各ＳＣＳＩバス上のコントローラーは要請操作９０を開始する。要請操作９０は、バスエクステンションのオン／オフを、作動中の、図４にある検証または検知操作に対して適切に要請する。もし、図４の検知操作８４が行われたなら、要請操作はセグメント２のバスエクステンダーに「 オフ」 を、セグメント０と１に「 オン」 を要請する。また、要請操作は、適確なセグメントビットマップを要請する。例えば、検知操作が８４が現在行われている操作であれば、セグメント０とセグメント１のビットマップが、要請されるビットマップである。要請操作９０からのこれらの要請は、環境モニターユニット０と１（ＥＭＵ０と１) に送られる。ＥＭＵは、すでにそれらのキャビネット内のＳＣＳＩ機器のビットマップを、ビットマップ作成操作９２で作成している。各ＥＭＵと各セグメントは、その特定セグメントに関するビットマップを作成する。
【００２３】
ＥＭＵ０の受け付け操作９４は、１つ或いは複数のコントローラーからの要請を受け付ける。図４の操作８４と８６のどちらがアクティブなのか、また、ＳＣＳＩバスのどちらのセグメントがテストされているかによって、要請はＥＭＵ０から適切なＥＭＵへ、すなわち、セグメント１と２のＥＭＵ１と２へと伝えられる。
受け付け操作９４から伝えられた要請を受け取るＥＭＵは、可能／禁止操作９６を実行することにより、それらのセグメントのバスエクステンダーを使用可能にしたり、使用禁止にしたりする。同様に、ビットマップの要請を受けた特定のＥＭＵはこれに応答し、送り操作９８が要請されたビットマップをキャビネット０のコントローラーに送り返す。操作１００でコントローラーは、ビットマップを受け取る。ビットマップを手にして、バスエクステンダーを適切にオンまたはオフにして、ＳＣＳＩ機器発見操作１０２は、テストされるべき様々なＳＣＳＩバスＩＤのＳＣＳＩ機器の検知へと進む。ＳＣＳＩ機器発見の論理的操作を図６に示す。
【００２４】
図６において、論理的操作は、テストされるべき第１高ＩＤと低ＩＤペアを設定する設定操作１０４から始まる。ナローＳＣＳＩ機器が高ＩＤにインストールされた場合は、ペアはむろん、高ＩＤと高ＩＤが偽る低ＩＤである。テストをＳＣＳＩアドレスＩＤの範囲の上から始めるか、下から始めるかは、選択の問題である。コントローラーＩＤを偽るＳＣＳＩ機器の検知が第１に重要であり、それはこれから述べるように、そのような状況だと、他の高ＩＤにあるナローＳＣＳＩ機器の検知が妨げられることになるからである。従って、設定操作１０４は、セグメント１の機器を検知するとき、ＩＤ８とＩＤ０、またはＩＤ１１とＩＤ３の範囲の別の端、のように高／低ＩＤペアを設定する。
セグメント２において機器を検知する時、設定操作１０４は最初に、その偽りの低ＩＤがテストを行っているコントローラーのコントローラーＩＤに合致するところの高ＩＤに設定する。高ＩＤがテストされた後、設定操作１０４は、高ＩＤ１２と低ＩＤ４または、高ＩＤ１３と低ＩＤ５のように、高ＩＤと低ＩＤの組み合わせに設定する。ＳＣＳＩバス上に１つのコントローラーしかない場合、設定操作１０４は、もし別のコントローラーが存在すれば高ＩＤが他のコントローラーのＩＤを偽るであろう、その高／低ＩＤの組み合わせペアもテストする。
【００２５】
もし、ＳＣＳＩバス上に２つのコントローラーが在れば、セグメント２の高／低ＩＤの組み合わせペアをテストする第１コントローラーのための設定操作１０４は、第２コントローラーＩＤである低ＩＤを偽る高ＩＤを除き、全高／低ＩＤペアを設定する。第１コントローラーは、それから、ＳＣＳＩバス上の他のコントローラーに、高ＩＤにあるナローＳＣＳＩ機器が第２コントローラーＩＤと矛盾を起こすであろう、高／低ＩＤの組み合わせペアをテストすることを告げる。代りに、高／低ＩＤペアをテストする第１コントローラーは、第２コントローラーに、もし、そのＩＤを見ても応答しないように告げ、第２コントローラーに対する高／低ＩＤペアテストを行うこともできる。
判断操作１０６では、設定操作１０４は、高ＩＤが、低ＩＤの合致するコントローラーＩＤと偽っている高／低ＩＤペアを設定してしまったときに、これを検知する。コントローラーＩＤは、ＩＤ６またはＩＤ７である。もし、低ＩＤがコントローラーのＩＤに合致したら、操作は「 はい」 の線をたどりアドレス操作１０８に進む。アドレス操作１０８は、コントローラーに、無反応だと周知されているＩＤ位置をアドレスさせる。無反応だとされているＩＤは、オフにされているセグメントでバスエクステンダーにより使用禁止とされているセグメントのＩＤであってもよい。また、無反応だとされているＩＤは、使用されていないことが分かっているＩＤ４またはＩＤ５であってもよい。
【００２６】
応答判断操作１１０は、アドレス操作１０８がコントローラーに無反応アドレスであるはずのものを呼び出させた後、応答を探す。もし応答がなければ、それは、テスト中の高／低ＩＤペアに問題無しということであり、操作の手順はＩＤ更新操作１１２へと進む。しかしながら、もしテスト中の高ＩＤスロットにナローＳＣＳＩ機器があれば、コントローラーＩＤに合致する低ＩＤで応じようと自らを構成する。このように、ナローＳＣＳＩ機器は、コントローラーからの呼び出し中にコントローラーＩＤを認識するので、コントローラーからの呼び出しによって応答が得られる。例えば、ワイドＳＣＳＩ機器がＩＤ１５のスロットにあり、ＩＤ７のコントローラーがＩＤ４を呼び出す場合、ソースアドレスＩＤ７と目標アドレスＩＤ４を含む呼び出しをしても、ＳＣＳＩ機器ＩＤ４では反応を示さないであろう。しかし、ナローＳＣＳＩ機器がＩＤ１５のスロットにインストールされていて、ＩＤ７を偽っている場合、ナローＳＣＳＩ機器は、呼び出し中にＩＤ７を認識して反応を示す。このように、もし、判断操作１１０が反応を認識すれば、この操作はコントローラーＩＤを偽るナローＳＣＳＩ機器を検知したことになる。
【００２７】
操作１１０により反応が検知されれば、使用禁止操作１１４で、ナローＳＣＳＩ機器を持つ問題の高ＩＤスロットは隔離され、ＳＣＳＩバスから切り離される。
コントローラーからのどんな呼び出しにも、アドレスされているＳＣＳＩのＩＤには関係なく、問題の高ＩＤスロットにあるナローＳＣＳＩ機器からの応答が常にあるので、ナローＳＣＳＩ機器がある問題の高ＩＤスロットは、隔離されるか、ＳＣＳＩバスより切り離されなくてはならない。一旦、ナローＳＣＳＩ機器が高ＩＤスロットから離されると、これ以上高ＩＤスロットを隔離する必要はなくなる。
本発明の実施例においては、コントローラーＩＤを偽るナローＳＣＳＩ機器は、セグメント２（キャビネット２) にある。好適実施例には、単一のＳＣＳＩ機器を隔離する方法がないので、唯一可能な行動は、ナローＳＣＳＩ機器を含んだセグメントを隔離することである。このように、使用禁止操作１１４はコントローラーＩＤを偽るナローＳＣＳＩ機器が離されるまで、セグメント２に対するバスエクステンダーをオフにする。セグメント２に対するバスエクステンダーが切られると、マーク付け操作１１６が、セグメント２の全ＳＣＳＩ機器を使用禁止とマークを付ける。さらに、マーク付け操作１１８は、テスト中の高ＩＤにあるＳＣＳＩ機器をナロー機器とマークする。
【００２８】
ナローＳＣＳＩ機器がマークを付けられると、更新操作１１２は、テスト処理がテスト範囲内を、低から高へと移動するのか、または高から低へと移動するのかによって、高／低ＩＤペアを増加させたり、減少させたりする。判断操作１２０は、更新されたＩＤペアがまだテスト範囲内にあるのか、テスト範囲外にあるのかをテストする。もし、新しい高／低ＩＤペアが範囲内にあれば、論理操作は、判断操作１０６に戻り、新しいＩＤペアに対してテストを開始する。もちろん、新しいＩＤペアが範囲外にあればこれで機器発見操作は完了し、操作手順は図５へと戻り、次の検知または検証操作のために図４へと戻る。
もし、更新された高ＩＤがコントローラーＩＤを偽っていなければ、図６の操作手順は「 いいえ」 となり判断操作１０６から呼び出し操作１２２へと進む。呼び出し操作１２２は、コントローラーに、テスト中の高／低ＩＤペアの低ＩＤに対してコントローラーから呼び出しをさせる。呼び出し操作は、低ＩＤで応答があったかどうかを記憶する。もし、操作１２２の呼び出しの結果、矛盾が判明すれば、矛盾検知操作１２４が矛盾を検知し、操作は「 はい」 の線をたどりマーク付け操作１１８へと進む。検知された矛盾とは、別々のスロットにある２つのＳＣＳＩ機器が呼び出しに応答することである。実際、低ＩＤにあるＳＣＳＩ機器が応答すると、同時に高ＩＤのナローＳＣＳＩ機器も応答する。従って、マーク付け操作１１８は、高ＩＤのナローＳＣＳＩ機器にマークを付ける。
【００２９】
もし、検知操作１２４によって矛盾が検知されないなら、２つの可能性が考えられる。第１は、高ＩＤのＳＣＳＩ機器はワイドＳＣＳＩ機器で、従ってそれは正しくインストールされているという場合である。第２は、高ＩＤにナローＳＣＳＩ機器があり、低ＩＤを偽っているのであり、偽の低ＩＤ位置にはＳＣＳＩ機器はインストールされていないという場合である。後者の可能性は、潜在的な将来の矛盾であり、すなわち、もし、低ＩＤ位置にＳＣＳＩ機器がインストールされれば、将来矛盾が起こるであろう。
呼び出し操作１２５は高ＩＤをアドレス指定し、高ＩＤで応答があったかどうかを記憶する。判断操作１２６は高ＩＤでの応答をテストする。もし、高ＩＤで応答があれば、テスト中の高／低ＩＤペアにおける高ＩＤのＳＣＳＩ機器は正しくインストールされているはずであり、操作の流れは更新操作１１２へと進む。
【００３０】
判断操作１２６が、高ＩＤでの応答を検知しなければ、決定操作１３０は、呼び出し操作１２２が低ＩＤで応答を示したかどうかをテストする。もし、低ＩＤでも応答がなければ、どの機器のインストールも間違っておらず、更新操作１１２がテスト中のＩＤペアを更新する。もし、低ＩＤで応答があれば、決定操作１３０は「 はい」 へと枝分かれし、高ＩＤのナローＳＣＳＩ機器機器にマークを付けるマーク付け操作１１８へと進む。例えば、ＩＤ２に機器がなく、ＩＤ１０のスロットにナローＳＣＳＩ機器がある場合、検知操作１２６は、高ＩＤ１０には応答を検知しないが、決定操作１３０は、偽の低ＩＤ２で応答を検知する。従って、マーク付け操作１１８は、高ＩＤ１０のナローＳＣＳＩ機器にマークを付ける。
セグメント１及びセグメント２の全高／低ＩＤペアがテストされた後、判断操作１２０は、図５の操作手順に戻り、図４に表された次の検証または検知操作のため、図４へと戻る。全ＳＣＳＩバスに対する検証または検知操作が完了すると、不正位置のＳＣＳＩ機器に関するテストは終了したことになる。
【００３１】
以上、本発明を実行する複数の例を説明したが、本発明の実行に使われた要素には多くの変更もしくは代替案があろうし、それらはここで請求される本発明の範囲内にあるということは、正しく理解されるであろう。
【図面の簡単な説明】
【図１】不正ＩＤにあるＳＣＳＩ機器を検知するための、本発明の好適な実施例を具現化する論理的操作を示している。
【図２】本発明の好適な実施例のための操作環境を示しており、３セグメントを持つ６つのＳＣＳＩバスがあり、各セグメントには４つのＳＣＳＩ機器がある。
【図３Ａ】図２のキャビネット０内の、１つのＳＣＳＩバスの詳細を示している。
【図３Ｂ】図２のキャビネット１内の、１つのＳＣＳＩバスの詳細を示している。
【図４】図２の操作環境における、本発明の好適な実施例を具現化するための、論理的操作を描いている。
【図５】図４の、検証または検知操作の詳細を示している。
【図６】図５の、機器発見操作の詳細を示している。
【符号の説明】
１０  操作
１２  判断操作
１４、２０、２４、２５  検知操作
１６  隔離操作
１８  矛盾判断操作
２２  マーク付け操作
５０、６２−６５、７５−７９  ＳＣＳＩ機器
５２  バスエクステンダーチップ
６０、７４  内部ＳＣＳＩバス
６１  外部ＳＣＳＩバス
６６、７２  バスエクステンダー
６８  信号ライン
７０  ホスト電算処理システム
【図１】
0004047458.tif 000002
【図２】
0004047458.tif 000003
【図３Ａ】
0004047458.tif 000004
【図３Ｂ】
0004047458.tif 000005
【図４】
0004047458.tif 000006
【図５】
0004047458.tif 000007
【図６】
0004047458.tif 000008