(57)【特許請求の範囲】
【請求項１】
ハブへノードポートを接続するための、およびループネットワークから無効データと無効プリミティブを除去するための、ハブ内のハブポートであって：
（ａ）有効プリミティブを発生するプリミティブ発生器；
（ｂ）バッファデータを発生するバッファデータ発生器；
（ｃ）前記プリミティブ発生器および前記バッファデータ発生器に接続されたマルチプレクサ；および
（ｄ）前記ノードポートおよび前記マルチプレクサへ接続され、前記マルチプレクサに、前記ノードポートから受信したデータ内の、検出された無効プリミティブを前記有効プリミティブで置換させ、かつ前記ノードポートから受信したデータ内の、検出された無効データを前記バッファデータで置換させる、受信回路；
を備えるハブポート。
【請求項２】
前記受信回路は、更に、前記マルチプレクサに、前記検出された無効プリミティブの性質に応じて、前記検出された無効プリミティブを前記有効プリミティブまたは前記バッファデータで置換させる、請求項１のハブポート。
【請求項３】
ノードポートをハブへ接続するための、ハブ内のハブポートであって：
（ａ）第１データ入力部、第２データ入力部、第３データ入力部、および制御入力部、を含むスイッチング装置；
（ｂ）前記スイッチング装置の前記第１データ入力部と前記ノードポートとへ接続される受信回路；
（ｃ）前記スイッチング装置の第２データ入力部へ接続されるプリミティブ発生器；
（ｄ）前記スイッチング装置の前記第３データ入力部へ接続されるバッファデータ発生器；および
（ｅ）前記受信回路内において、前記ノードポートから受信された無効プリミティブを検出するとともに前記スイッチング装置に前記第２データ入力部を選択させて前記無効プリミティブを前記プリミティブ発生器からの有効プリミティブで置換させ、かつ、前記ノードポートから受信された無効データを検出するとともに前記スイッチング装置に前記第３データ入力部を選択させて前記無効データを前記バッファデータ発生器からのバッファデータで置換させる、検出回路；
を備えるハブポート。
【請求項４】
前記スイッチング装置が、入力側内部ハブリンクへ接続される第４データ入力部を更に含み、前記受信回路は、前記ハブポートがバイパスモードであるとき前記スイッチング装置に前記第４データ入力部を選択させるように構成された請求項３のハブポート。
【請求項５】
前記受信回路が、前記プリミティブ発生器へ接続され、前記プリミティブ発生器が、前記ノードデータソースからのデータ内で検出されたランニングディスパリティを修正するためのプリミティブを発生する、
請求項３のハブポート。
【請求項６】
前記ハブポートが、ファイバーチャネルアービトレイティッドループネットワーク中にある、
請求項３のハブポート。
【請求項７】
前記バッファデータ発生器が、ファイバーチャネルアービトレイティッドループプロトコルに従って、現行充填ワードを発生する、
請求項３のハブポート。
【請求項８】
前記プリミティブ発生器が、ファイバーチャネルアービトレイティッドループプロトコルに従って、ＥＯＦＡ順序セットを発生する、
請求項３のハブポート。
【請求項９】
前記検出回路が、ファイバーチャネルアービトレイティッドループプロトコルに従って、無効順序セットと無効データを検出する、
請求項３のハブポート。
【請求項１０】
（ａ）第１データ入力部、第２データ入力部、第３データ入力部、および制御入力部、を含むスイッチング装置；
（ｂ）前記スイッチング装置の前記第１データ入力部およびノードポートへ接続される受信回路；
（ｃ）前記スイッチング装置の前記第２データ入力部へ接続されるプリミティブ発生器；
（ｄ）前記スイッチング装置の前記第３データ入力部へ接続されるバッファデータ発生器；および
（ｅ）前記受信回路内において、前記ノードポートから受信された無効プリミティブを検出するとともに前記スイッチング装置に前記第２データ入力部を選択させて前記無効プリミティブを前記プリミティブ発生器からの有効プリミティブで置換させ、かつ、前記ノードポートから受信された無効データを検出するとともに前記スイッチング装置に前記第３データ入力部を選択させて前記無効データを前記バッファデータ発生器からのバッファデータで置換させる、検出回路；
を備える装置。
【請求項１１】
ノードポートをハブへ接続するための、ハブ内のハブポートであって：
（ａ）制御入力部、第１データ入力部、第２データ入力部、および第３データ入力部、を含むマルチプレクサ；
（ｂ）前記ノードポートへ接続されるハブポート送信回路；
（ｃ）前記ハブポート送信回路へ接続される入力側内部ハブリンク；
（ｄ）前記ハブポート送信回路へ接続され、前記ハブポート送信回路から前記ノードポートへデータを供給する第１データチャネル；
（ｅ）検出回路と出力制御回路とを含むハブポート受信回路であって、前記出力制御回路は前記マルチプレクサの制御入力部へ接続されるとともに前記マルチプレクサに前記第１入力部、前記第２入力部および前記第３入力部の何れかに切り換えさせ、前記ハブポート受信回路は前記マルチプレクサの第１データ入力部へ接続されるように成したハブポート受信回路；
（ｆ）前記ハブポート受信回路へ接続され、前記ノードポートから前記ハブポート受信回路へデータを供給する第２データチャネル；
（ｇ）前記マルチプレクサの前記第２データ入力部へ接続される順序セット発生器；
（ｈ）前記マルチプレクサの前記第３データ入力部へ接続される現行充填ワード発生器；および
（ｉ）前記マルチプレクサへ接続される出力側内部ハブリンク；
を備えるハブポート。
【請求項１２】
前記順序セット発生器が、ファイバーチャネルアービトレイティッドループプロトコルに従って、ＥＯＦＡ順序セットを発生する、請求項１１のハブポート。
【請求項１３】
前記マルチプレクサが、前記入力側内部ハブリンクへ接続される第４データ入力部を含む、
請求項１１のハブポート。
【請求項１４】
前記検出回路が前記順序セット発生器へ接続され、前記順序セット発生器が、前記ノードポートからのデータ内の、検出されたいずれのランニングディスパリティも修正するために、順序セットを発生する、
請求項１１のハブポート。
【請求項１５】
複数のハブポートを含むハブへ、ノードポートを接続するためのハブポートであって：
（ａ）前記ノードポートへ前記ハブポートを接続するための第１データチャネル；
（ｂ）前記ハブポートへ前記ノードポートを接続するための第２データチャネル；
（ｃ１）上流ハブポートへ前記ハブポートを接続する入力側内部ハブリンク；
（ｃ２）前記第１データチャネルへ前記入力側ハブリンクを接続する送信回路；
（ｄ）下流ハブポートへ前記ハブポートを接続する出力側内部ハブリンク；
（ｅ）前記第２データチャネルと、前記出力側内部ハブリンクに出力部が接続されたマルチプレクサの第１入力部と、へ結合される受信回路；
（ｆ）前記マルチプレクサの第２入力部へ結合されたプリミティブ発生器；
（ｇ）前記マルチプレクサの第３入力部へ結合された現行充填ワード発生器；および
（ｈ）前記受信回路内の出力制御回路であって、前記マルチプレクサに、前記出力側内部ハブリンクを、前記第２データチャネル、前記プリミティブ発生器、または前記現行充填ワード発生器のいずれかひとつに接続させる制御を行う出力制御回路；
を備えるハブポート。
【請求項１６】
前記出力制御回路が前記出力側内部ハブリンクを、前記第２データチャネル、前記入力側内部ハブリンク、前記プリミティブ発生器、または前記現行充填ワード発生器のいずれかひとつに接続する、
請求項１５のハブポート。
【請求項１７】
複数のハブポートを含むハブへ、ノードポートを接続するためのハブポートであって：
（ａ）前記ノードポートへ前記ハブポートを接続するための第１データチャネル；
（ｂ）前記ハブポートへ前記ノードポートを接続するための第２データチャネル；
（ｃ１）上流ハブポートへ前記ハブポートを接続する入力側内部ハブリンク；
（ｃ２）および、前記第１データチャネルへ前記入力側ハブリンクを接続する送信回路；
（ｄ）下流ハブポートへ前記ハブポートを接続する出力側内部ハブリンク；
（ｅ）前記第２データチャネルへ結合されるデータ検出回路；
（ｆ）前記データ検出回路を含むハブポート受信回路であって、前記第２データチャネルと、前記出力側内部ハブリンクに出力部が接続されたマルチプレクサの第１入力部と、へ結合されるハブポート受信回路；
（ｇ）前記マルチプレクサの第２入力部へ結合されたプリミティブ発生器；
（ｈ）前記マルチプレクサの第３入力部へ結合された現行充填ワード発生器；および
（ｉ）前記ハブポート受信回路内において前記データ検出回路に結合された出力制御回路であって、前記マルチプレクサに、前記出力側内部ハブリンクを、前記ハブポート受信回路、前記プリミティブ発生器、または前記現行充填ワード発生器のいずれかひとつに接続させる制御を行う出力制御回路；
を備え、前記データ検出回路は、前記第２データチャネルを介して受信された無効データ又は無効プリミティブを検出するとともに前記出力制御回路に前記マルチプレクサを制御させるハブポート。
【請求項１８】
前記出力制御回路が前記出力側内部ハブリンクを、前記ハブポート受信回路、前記入力側内部ハブリンク、前記プリミティブ発生器、または前記現行充填ワード発生器のいずれかひとつに接続する、
請求項１７のハブポート。
【請求項１９】
ネットワークから無効データと無効ネットワークプリミティブを除去するための方法であって：
（ａ）ネットワークデータストリーム中の無効ネットワークプリミティブを検出し；
（ｂ）前記検出された無効ネットワークプリミティブを、有効ネットワークプリミティブで置換し；
（ｃ）前記ネットワークデータストリーム中の無効データを検出し；
（ｄ）前記検出された無効データをバッファデータで置換する；
ことを含む方法。
【請求項２０】
前記検出された無効データの性質に応じて、検出された無効データを、ネットワークプリミティブまたはバッファデータで置換することを更に含む。
請求項１９の方法。
【請求項２１】
前記検出された無効ネットワークプリミティブの性質に応じて、検出された無効ネットワークプリミティブを、ネットワークプリミティブまたはバッファデータで置換することを更に含む、
請求項１９の方法。
【請求項２２】
ファイバーチャネルアービトレイティッドループネットワーク中の無効データと無効順序セットを除去する方法であって：
（ａ）ノードポートから受信されたデータ内のデータフレーム間の無効順序セットを検出し；
（ｂ）前記ノードポートから受信されたデータフレーム間のいずれの検出された無効順序セットも、正しいランニングディスパリティを持つ有効順序セットで置換し；
（ｃ）前記ノードポートから受信されたデータ中のデータフレーム間のデータを検出し；
（ｄ）前記ノードポートから受信されたデータフレーム間のいずれの検出されたデータも、正しいランニングディスパリティを持つ有効順序セットで置換し；
（ｅ）前記ノードポートから受信されたデータフレーム内側の無効順序セットを検出し；そして
（ｆ）前記ノードポートから受信されたデータフレーム内側のいずれの検出された無効順序セットも、正しいランニングディスパリティを持つ有効順序セットで置換する；
ことを含む方法。
【請求項２３】
前記ノードポートから受信されるデータフレーム間の検出された無効順序セットを置換した前記有効順序セットが、現行充填ワードを含む、
請求項２２の方法。
【請求項２４】
前記ノードポートから受信されたデータフレーム間の検出されたデータを置換した前記有効順序セットが、現行充填ワードを含む、
請求項２２の方法。
【請求項２５】
前記ノードポートから受信されたデータフレーム内側の検出された無効順序セットを置換した前記有効順序セットが、ＥＯＦＡ順序セットを含む、
請求項２２の方法。
【請求項２６】
ファイバーチャネルアービトレイティッドループネットワーク無効データと無効順序セットを除去するためのシステムであって：
（ａ）ノードポートから受信されたデータ中のデータフレーム間の無効順序セットを検出する手段；
（ｂ）前記ノードポートから受信されたデータフレーム間のいずれの検出された無効順序セットも、正しいランニングディスパリティを持つ有効順序セットで置換する手段；
（ｃ）前記ノードポートから受信されたデータ中のデータフレーム間のデータを検出する手段；
（ｄ）前記ノードポートから受信されたデータフレーム間のいずれの検出されたデータも、正しいランニングディスパリティを持つ有効順序セットで置換する手段；
（ｅ）前記ノードポートから受信されたデータフレーム内側の無効順序セットを検出する手段；および
（ｆ）前記ノードポートから受信されたデータフレーム内側のいずれの検出された無効順序セットも、正しいランニングディスパリティを持つ有効順序セットで置換する手段；
を備えるシステム。
【請求項２７】
前記ノードポートから受信されたデータフレーム間の検出された無効順序セットを置換した前記有効順序セットが、現行充填ワードを含む、
請求項２６のシステム。
【請求項２８】
前記ノードポートから受信されたデータフレーム間の検出されたデータを置換した前記有効順序セットが、現行充填ワードを含む、
請求項２６のシステム。
【請求項２９】
前記ノードポートから受信されたデータフレーム内側の検出された無効順序セットを置換した前記有効順序セットが、ＥＯＦＡ順序セットを含む、
請求項２６のシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子ネットワーク通信システムに関し、より詳細にはループネットワークにおける、ノードまたはループセグメントからの無効データ自動除去に関する。
【０００２】
【関連技術の背景】
電子データシステムは、ネットワーク通信システムを利用して頻繁に相互接続される。広域ネットワークとチャネルは、コンピュータネットワークアーキテクチャのために開発された２種類のアプローチである。旧来のネットワーク（例えばＬＡＮやＷＡＮのネットワーク）は非常に大きなフレキシビリティと、比較的長い距離の通信能力(relatively large distance capability)を提供する。一方、Enterprise System Connection （ＥＳＣＯＮ）や Small Computer System Interface （ＳＣＳＩ）のようなチャネルが、高い性能と信頼性を得るために開発されてきている。チャネルは、コンピュータ間、あるいはコンピュータと周辺機器間の専用の短距離接続を使用するのが普通である。
【０００３】
チャネルとネットワーク両方の特徴は、「ファイバーチャネル」として知られる新しいネットワーク標準に組み込まれている。ファイバーチャネルシステムは、ネットワークのフレキシビリティと接続性、そしてチャネルの速度と信頼性を兼ね備えている。現在、ファイバーチャネル製品は２６６Ｍｂｐｓまたは１０６２Ｍｂｐｓなど、非常に高いデータレート作動が可能である。これらの速度は、非圧縮、フルモーションで高品位のビデオのような、高度のデマンド用途に対処するのに十分である。Ｘ３．２３０−１９９４のようなＡＮＳＩ規格は、ファイバーチャネルネットワークを定義している。この規格では、ファイバーチャネル機能を５階層に分けている。ファイバーチャネルのこの５つの機能階層は、ＦＣ−０層：物理的媒体層、ＦＣ−１層：コーディング兼符号化層、ＦＣ−２層：ノード間のフレーミングプロトコルとフロー制御を含む実転送機構層、ＦＣ−３層：共通サービス層、およびＦＣ−４層：上層プロトコル、である。
【０００４】
ファイバーチャネルネットワークを配備するためには一般に３種類の方法がある。すなわち、単純なポイントツーポイント接続；アービトレイティッドループ（arbitrated loop）、およびスイッチドファブリックである。最も単純なトポロジーはポイントツーポイント構成であり、何れか２つのファイバーチャネルシステムを単純に直接接続する。アービトレイティッドループは、ファイバーチャネルのリング接続であり、アービトレーションによって帯域幅への共用アクセスを提供する。「ファブリック」と呼ばれるスイッチドファイバーチャネルネットワークは、クロスポイントスイッチングの形態をとる。
【０００５】
従来のファイバーチャネルアービトレイティッドループ（“ＦＣ−ＡＬ“）プロトコルは、ノードポートによる装置の相互接続又はループセグメントの相互接続におけるループ機能を提供する。しかし、ノードポートの直接相互接続は、ループ中のひとつのノードポートでの欠陥が、ループ全体の欠陥につながるという問題を抱えている。この問題は、従来のファイバーチャネル技術では、ハブの使用によって克服されている。ハブはループトポロジー内で相互接続された多数のハブポートを含む。ノードポートはハブポートに接続され、中央のハブにスタートポロジーを形成する。ノードポートに接続されていないハブポート、あるいは欠陥のあるノードポートに接続されているハブポートはバイパスされる。このようにして、ノードポートが取外されても、あるいは欠陥があってもループは維持される。
【０００６】
より詳細には、ＦＣ−ＡＬネットワークは、単一のデータパスを形成するループ構成内において、一緒にリンクされた２つ以上のノードポートで構成されるのが普通である。そのような構成を図１に示す。図１では、６つのノードポート１０２、１０４、１０６、１０８、１１０、１１２が、データチャネル１１４，１１６，１１８，１２０，１２２，１２４によって一緒にリンクされている。このようにして、ノードポート１０２からデータチャネル１１４を通じてノードポート１０４へ、次いでノードポート１０４からデータチャネル１１６を通じてノードポート１０６へ、最後にデータチャネル１２４を通じてノードポート１０２へと、データパスでループが生成される。
【０００７】
ループのいずれかのポイントに欠陥がある時、ループのデータパスが破壊されて、ループ上の全ての通信が停止してしまう。例えば、ノードポート１０４に欠陥がある場合、データはもはやノードポート１０４を通過することはない。欠陥はまた、例えば、配線の物理的破断によって、あるいは電磁干渉がそのポイントでデータの重大な歪や損失を引起することによって、ノードポート間のデータチャネルで発生することもある。このポイントでループ１００は破壊されてしまう。データはもはや環状パスを流れず、ノードポートも互いに接続されなくなる。このループは事実上、ノードポートの一方向にリンクされた系列に過ぎなくなってしまう。
【０００８】
ノードポートからノードポートへの破壊されたループを避ける従来の手法は、ループ内へハブを導入することである。ハブはスター型のノードポートの物理的構成を作り出すが、ノードポートの仮想動作はループパターンのまま継続する。接続プロセス（すなわち、ノードポート間のデータ送信）、およびハブとの相互作用は、標準的なＦＣ−ＡＬ構成として関係を了解している、ハブに接続されたノードポートに対して有効に透過的になる。
【０００９】
図２は、中央で接続されたハブを有するアービトレイティッドループ２００を示す。図１に示すループ１００と同様に、ループ２００は６つのノードポート２０２、２０４、２０６、２０８、２１０、２１２を含み、その各々はハブ２１４に取り付けられる。ハブ２１４は、６つのハブポート２１６、２１８、２２０、２２２、２２４、２２６を含み、そこでは各ハブポートが他のハブポートへ、連続するひとつの内部ハブリンクによってループ接続されている。このようにノードポート２０２〜２１２はそれぞれ対応するハブポート２１６〜２２６へ接続される。従って、ノードポート２０２〜２１２は、あたかも図１に示すループ形式で接続されているように動作する。データは上流側ハブポートからハブポートへ流入し、取り付けられたノードポートへ入って、そこからハブポートへ戻り、そしてハブポートを出て下流ハブポートへ流れるのが普通である。
【００１０】
ノードポートあるいはデータチャネルに欠陥が生ずると、その欠陥ノードポートをバイパスすることによって、ループは維持される。従来のハブにおいて、ハブポートがノードポートからもはやデータを受取らないとき、ハブポートはバイパスモードに入る。バイパスモードでは、ノードポートからデータチャネル上へ受信されたデータを通すのではなく、ハブポートは前のハブポートから内部ハブリンクに沿って受信されたデータを通す。
【００１１】
ＦＣ−ＡＬネットワークのデータストリームの内容は、ＦＣ−ＡＬプロトコルによって定義（規定）される。ループを介して文字（character）がひとつのポートから次のポートへ絶えず移動している。これらの文字は実データであってもループ制御信号であってもよい。データフレームがソースノードポートから行先ノードポートへ送信されている時を除き、ループ制御信号は常に、データストリーム中に存在している。ＦＣ−ＡＬプロトコルのもとで、ループ制御信号は順序セット（ordered set）であり、プリミティブ（primitive）信号であり、かつプリミティブシーケンスである。データフレームは、フレームの開始（“ＳＯＦ”）と呼ばれる特別な順序セットが先行し、フレーム終了（“ＥＯＦ”）と呼ばれる特別な順序セットが後に続くデータの連続する流れである。
【００１２】
符号化された文字のデータストリームは、理想的には常に、有効な「ランニングディスパリティ」を持っている。符号化された文字は、ファイバーチャネルプロトコルで定義された従来の８Ｂ／１０Ｂ符号化スキームに従って定義（規定）される。データストリーム中の与えられたいずれのポイントでのランニングディスパリティも、文字のビット符号化における１と０の数の差である。０の数よりも１の数の方が多い文字は正のランニングディスパリティを持ち、１の数よりも０の数の方が多い文字は負のランニングディスパリティを持ち、１の数と０の数が等しい文字は中立のランニングディスパリティを有していることとする。エンコーダは、正、負、または中立のディスパリティで符号化された文字を送信するが、何れの文字もデータストリームのランニングディスパリティに影響を及ぼすこともなく、また、負から正へ、正から負へランニングディスパリティを変えることもない。ランニングディスパリティが負の時に、エンコーダが負のディスパリティで符号化された文字を送信する場合、あるいは、ランニングディスパリティが正の時に、正の（ディスパリティ）符号化文字を送信する場合、ランニングディスパリティエラーが発生する。普通、このエラーはループ内に無効な文字を導入する。
【００１３】
理想的には、ループ内の全てのデータは有効なデータ文字であって、全ての制御信号は有効な順序セット（有効順序セット）であり、ランニングディスパリティエラーが全く無く、データはデータフレーム内へ適切にフォーマットされ、かつ、順序セットのみがデータフレームの間に存在する。典型的には、ループ内に装置が挿入されたり、不良のケーブルが使用されたり、あるいは装置がＦＣ−ＡＬプロトコルに従わないとき、エラーがループに入り込むことがある。
【００１４】
本発明者は、エラーがループ全体に伝播するのを防止するために、ループネットワーク中の無効なデータ（無効データ）と無効な制御信号（無効制御信号）を置き換えるための装置と方法を提供することが望ましいであろうという結論に達した。
【００１５】
【発明の概要】
本発明の好ましい実施の形態は、ループネットワークのハブのハブポートであって、ループのデータストリーム中の無効データと無効制御信号を検出して置き換えるハブポートを提供する。ハブポートは、取り付けられたノードポートから受信した無効データまたは無効制御信号またはプリミティブを検出し、バッファデータまたは有効プリミティブで置換する。ハブポートは置換のポイントで、データストリームを、正しいランニングディスパリティを持つバッファデータまたはプリミティブに置換する。
【００１６】
ファイバーチャネルの実施において、ハブポートは、データフレーム間にあるデータと無効順序セットとを検出し、そのデータまたは無効順序セットを、現行充填ワード（カレントフィルワード、current fill word）で置き換える。ハブポートはデータフレーム内の無効順序セットを検出し、そのような無効順序セットをＥＯＦＡ順序セットで置き換える。ハブポートは、置換のポイントでデータストリームのランニングディスパリティのチェックも行って、正しいランニングディスパリティを持つ順序セットを挿入する。
【００１７】
別の実施において、エラー検出装置は、ループネットワーク内に含まれて、ループネットワークのデータストリームを監視する。エラー検出装置は、ループ内の上流ノードから受信した無効データと無効制御信号またはプリミティブを検出して、バッファデータまたは有効プリミティブで置換する。エラー検出装置は、置換のポイントで、データストリームを、正しいランニングディスパリティを持つバッファデータまたはプリミティブで置換する。
【００１８】
【発明の実施の形態】
本発明は、ループネットワークのデータストリーム中の無効データと無効プリミティブを検出し、そのデータストリーム中にバッファデータまたは有効プリミティブを置換え入れるための装置と方法を提供する。本発明を、好ましい実施の形態の図解としてのファイバーチャネルアービトレイティッドループ（“ＦＣ−ＡＬ”）ネットワークに沿って以下説明する。しかしながら、本発明はＦＣ−ＡＬネットワークと同様の特性を持つネットワークに対しても適用することができる。
【００１９】
好ましい実施の形態では、ループネットワーク内の各ハブは、取り付けられたノードポートをループへ接続する。（図２を再度参照）。各ハブポートは、無効データと無効プリミティブを検出するための構成要素を含む。無効データと無効プリミティブを検出すると、ハブポートは、検出された無効データまたは無効プリミティブを、バッファデータまたは有効プリミティブに置換する。ハブポートは、適切なディスパリティを持った有効プリミティブを挿入することによって、データストリームのランニングディスパリティが有効であることを保証する。
【００２０】
図３Ａに示すように、好ましい実施の形態に従ったハブポート３００は、送信回路３０４に接続された入力側内部ハブリンク３０２を含む。入力側内部ハブリンク３０２は、上流ハブポート（不図示）からハブポート３００へ、次いで送信回路３０４へデータを搬送する。送信回路３０４は、データを、ノードポート３０８で使用可能な形態でデータチャネル３０６に載せて、ノードポート３０８へ送信する。ＦＣ−ＡＬの実施において、送信回路３０４は好ましくはデータを符号化し、更に好ましくは８Ｂ／１０Ｂ符号化法を使用し、そしてノードポート３０８へデータを送信する前にデータをシリアル化する。
【００２１】
ノードポート３０８は、データをデータチャネル３１０に載せてハブポート３００へ戻す。データチャネル３１０は受信回路３１２へ接続されている。ＦＣ−ＡＬの実施において、受信回路３１２は、好ましくはノードポート３０８からのデータをデシリアル化し、好ましくは１０Ｂ／８Ｂデコーディング法を使用してデコードする。受信回路３１２は検出回路３１４と出力制御回路３１６を含む。検出回路３１４は、ノードポート３０８からのデータストリームの内容を監視し、出力制御回路３１６へ制御信号を送る。受信回路３１２は、マルチプレクサ３１８のようなスイッチング装置の第１データ入力部Ａへデータを送る。プリミティブ発生器３２０は、マルチプレクサ３１８の第２データ入力部Ｂへ接続されている。ＦＣ−ＡＬの実施において、プリミティブ発生器３２０は好ましくは、ＥＯＦＡ順序セットを発生する。バッファデータ発生器３２２は、マルチプレクサ３１８の第３データ入力部Ｃへ接続される。ＦＣ−ＡＬの実施において、バッファデータ発生器３２２は好ましくはＦＣ−ＡＬプロトコルに従った現行充填ワードを発生する。マルチプレクサ３１８の出力は出力側内部ハブリンク３２４へ接続されている。出力制御回路３１６は、出力側内部ハブリンク３２４へ接続するべきマルチプレクサ３１８のデータ入力部を選択するために、マルチプレクサ３１８の制御入力部へ接続される。加えて出力制御回路３１６は、好ましくは、プリミティブ発生器３２０によって出力されるべきプリミティブの選択を制御するために、プリミティブ発生器３２０へ接続されている。出力側内部ハブリンク３２４は、ループの下流ハブポート（不図示）へデータを送る。
【００２２】
動作において、有効データと有効プリミティブがノードポート３０８から受信されている間、出力制御回路３１６は、その有効データとプリミティブとが出力側内部ハブリンク３２４に出力されるように、マルチプレクサ３１８の入力部Ａを選択する。検出回路３１４は、ノードポート３０８から受取ったデータストリームを監視する。検出回路３１４は、データフレーム内側の無効プリミティブを検出したとき、フレームエラーフラグを立てる。代替として、検出回路３１４は、データフレーム内側にある無効データまたは無効プリミティブの検出に応答して、フレームエラーフラグを立てる。フレームエラーフラグが立つのに応答して、出力制御回路３１６は、有効プリミティブが無効プリミティブの代りに置換されるように、マルチプレクサ３１８のデータ入力部Ｂを選択する。更に、検出回路３１４は、エラーポイントでのデータストリームのランニングディスパリティ（すなわち、無効プリミティブに先行するワードのランニングディスパリティ）をチェックする。検出回路３１４は、プリミティブ発生器３２０が有効ランニングディスパリティを維持するプリミティブを出力するように、プリミティブ発生器３２０へディスパリティ信号を送る。検出回路３１４がデータフレームの間での無効データまたは無効プリミティブを検出すると、検出回路３１４はインターフレームエラーフラグを立てる。インターフレームエラーフラグが立つのに応答して、出力制御回路３１６は、無効データまたは無効プリミティブに代えてバッファデータが置換されるように、マルチプレクサ３１８の入力部Ｃを選択する。
【００２３】
フレームエラーフラグとインターフレームエラーフラグは、検出された無効ワード（データまたはプリミティブ）が適切に置き換えられた後にクリアされる。エラーフラグがクリアされた後、出力制御回路３１６は、受信回路３１２からのデータがマルチプレクサ３１８によって出力されるように、マルチプレクサ３１８のの入力部Ａを選択する。このようにして、好ましくは、無効ワードの検出と置換が、ワード単位(word-by-word)で起きる。
【００２４】
ＦＣ−ＡＬの実施において、検出回路３１４はデータフレーム内側の順序セットを検出し（すなわち、有効なＳＯＦを受取った後で、適切な後続のＥＯＦを受取る前）、かつその順序セットが、正しいランニングディスパリティでデータフレームを終了させる適切なＥＯＦ順序セットでない時、検出回路３１４はフレームエラーフラグを立てる。正しいランニングディスパリティを持たないデータフレーム内側のＥＯＦ順序セットは、適切なＥＯＦ順序セットではない。また、データフレーム内部のＥＯＦ順序セット以外のどの順序セットも無効である。フレームエラーフラグが立つのに応答して、出力制御回路３１６は、有効プリミティブがプリミティブ発生器３２０からマルチプレクサ３１８によって出力されるように、マルチプレクサ３１８の入力部Ｂを選択する。プリミティブ発生器３２０は、好ましくはＥＯＦＡ順序セットを発生する。加えて、出力制御回路３１６は、プリミティブ発生器が、好ましくは正しいランニングディスパリティを持つＥＯＦＡ順序セットを出力するように、プリミティブ発生器３２０へディスパリティ信号を送る。
【００２５】
検出回路３１４が、データの外側に無効ファイバーチャネルワードを検出すると（すなわち、ＥＯＦ順序セットを受取った後、後続のＳＯＦ順序セットを受取る前）、検出回路３１４はインターフレームエラーフラグを立てる。データフレーム外側の無効ファイバーチャネルワードは、データ（ＦＣ−ＡＬプロトコルのもとでは、実データはデータフレーム内部になければならない）と無効順序セットを含む。順序セットのランニングディスパリティが無効であるので、順序セットは無効であるかもしれない。インターフレームエラーフラグが立つのに応答して、出力制御回路３１６は、現行充填ワードがマルチプレクサ３１８によって出力されるように、マルチプレクサ３１８の入力部Ｃを選択する。現行充填ワードは、ＦＣ−ＡＬプロトコルによって定義（規定）される。現行充填ワードは、好ましくは、無効ワードに代えて置換されるべき既知の正しいワードである。
【００２６】
図３Ｂに示すように、ハブポート３５０の代替の実施態様においては、入力側内部ハブリンク３５２はマルチプレクサ３６８の第２データ入力部Ｂに接続される。プリミティブ発生器３７０はマルチプレクサ３６８の第３入力部Ｃへ接続され、バッファデータ発生器３７２はマルチプレクサ３６８の第４データ入力部Ｄへ接続される。出力制御回路３６６は、ハブポート３５０がバイパスモードにある時、上流ハブポート（不図示）からのデータが下流ハブポート（不図示）へ通過されるように、マルチプレクサ３６８のデータ入力部Ｂを選択する。他の点については、ハブポート３５０の動作は、図３Ａのハブポート３００に関する先に記載の動作と類似する。
【００２７】
他の実施形態においては、エラー検出装置は、直接に相互接続されたノードのループネットワークに挿入される。エラー検出装置は２つのノード間に置かれて、エラー検出のためにデータストリームを監視する。
【００２８】
図４Ａに示すように、ノード４０２，４０４，４０６，４０８、４１０，４１２のループ４００は、データチャネル４１４，４１６，４１８，４２０，４２２，４２６によって、図１に示すものと同様の方法で接続される。しかし、エラー検出装置４２８は、ノード４０８とノード４１０間に挿入される。データチャネル４２０は、ノード４０８からエラー検出装置４２８へデータを搬送する。データチャネル４２２はエラー検出装置４２８からノード４１０へデータを搬送する。このようにループのデータストリームは、各ノード４０２〜４１２を通じて、またエラー検出装置４２８を通じて流れる。代替として、例えば、隣合うノードの各ペア間に１つづつ、多数のエラー検出装置がループに挿入されてもよい。
【００２９】
図４Ｂに示すように、エラー検出装置４５０の構造は、図３Ａ、３Ｂに関する上記ハブポートの実施形態のアーキテクチャに類似する。入力側ループリンク４５２は、ループ（例えば、図４Ａのエラー検出装置４２８へ入るデータチャネル４２０）の上流ノード（不図示）からエラー検出装置４５０へデータを搬送する。入力側ループリンク４５２は、検出回路４５４と、マルチプレクサ４５８のようなスイッチング装置の第１データ入力部Ａとに接続される。検出回路４５４は入力側ループリンクの内容を監視し、出力制御回路４５６へ制御信号を送る。プリミティブ発生器４６０は、マルチプレクサ４５８の第２データ入力部Ｂへ接続される。ＦＣ−ＡＬの実施においては、プリミティブ発生器４６０は、好ましくは、ＥＯＦＡ順序セットを発生する。バッファデータ発生器４６２は、マルチプレクサ４５８の第３データ入力部Ｃに接続される。ＦＣ−ＡＬの実施においては、バッファデータ発生器４６２は、好ましくはＦＣ−ＡＬプロトコルに従った現行充填ワードを発生する。マルチプレクサ４５８の出力は出力側ループリンク４６４に接続される。出力制御回路４５６は、出力側ループリンク４６４へ接続されるべきマルチプレクサ４５８のデータ入力部を選択するために、マルチプレクサ４５８の制御入力部へ接続される。更に、出力制御回路４５６は、好ましくは、プリミティブ発生器４６０によって出力されるべきプリミティブの選択を制御するために、プリミティブ発生器４６０に接続される。出力側ループリンク４６４は、ループの下流ノード（不図示）へデータを送る（例えば、図４Ａのエラー検出装置４２８から出るデータチャネル４２２）。
【００３０】
エラー検出装置４５０の動作は、図３Ａ、３Ｂに関する上記ハブポートの動作に類似する。有効データと有効プリミティブが入力側ループリンク４５２上で受信されている時、出力制御回路４５６は、有効データとプリミティブが出力側ループリンク４６４へ出力されるように、マルチプレクサ４５８の入力部Ａを選択する。検出回路４５４は、入力側ループリンク４５２上で受信されたデータストリームを監視する。検出回路４５４が、データフレーム内側の無効プリミティブを検出した時、検出回路４５４はフレームエラーフラグを立てる。代替として、検出回路４５４は、データフレーム内側の無効データまたは無効プリミティブを検出すると、フレームエラーフラグを立てる。フレームエラーフラグが立つのに応答して、出力制御回路４５６は、有効プリミティブが無効データまたは無効プリミティブに代って置換されるように、マルチプレクサ４５８のデータ入力部Ｂを選択する。更に、検出回路４５４は、エラーポイントにおけるデータストリームのランニングディスパリティ（すなわち、無効プリミティブに先行するワードのランニングディスパリティ）をチェックする。検出回路４５４は、プリミティブ発生器４６０が有効ランニングディスパリティを維持するプリミティブを出力するように、ディスパリティ信号をプリミティブ発生器４６０に送る。検出回路４５４が、データフレーム間の無効データまたは無効プリミティブを検出すると、検出回路４５４はインターフレームエラーフラグを立てる。インターフレームエラーフラグが立つのに応答して、出力制御回路４５６は、バッファデータが、無効データまたは無効プリミティブに代えて置換されるように、マルチプレクサ４５８のデータ入力部Ｃを選択する。
【００３１】
フレームエラーフラグとインターフレームエラーフラグは、検出された無効ワード（データまたはプリミティブ）が適切に置換された後にクリアされる。エラーフラグがクリアされた後、出力制御回路４５６は、入力側ループリンク４５２上のデータがマルチプレクサ４５８によって出力されるように、マルチプレクサ４５８の入力部Ａを再び選択する。このようにして好ましくは、無効ワードの検出と置換がワード単位ベースで起きる。
【００３２】
ＦＣ−ＡＬの実施において、検出回路４５４は、データフレーム内側の順序セットを検出し（すなわち、有効なＳＯＦを受取った後、適切な後続ＥＯＦを受取る前）、かつその順序セットが、正しいランニングディスパリティでデータフレームを終了させる適切なＥＯＦ順序セットでない時、検出回路４５４はフレームエラーフラグを立てさせる。正しいランニングディスパリティを持たないデータフレーム内側のＥＯＦ順序セットは、適切なＥＯＦ順序セットではなく、フレームエラーフラグが立てられる。データフレーム内部のＥＯＦ順序セット以外のどの順序セットも無効である。フレームエラーフラグが立つのに応答して、出力制御回路４５６は、有効プリミティブがプリミティブ発生器４６０からマルチプレクサ４５８によって出力されるように、マルチプレクサ４５８の入力部Ｂを選択する。プリミティブ発生器４６０は、好ましくはＥＯＦＡ順序セットを発生する。加えて出力制御回路４５６は、プリミティブ発生器４６０が、好ましくは、正しいランニングディスパリティを持つＥＯＦＡ順序セットを出力するように、プリミティブ発生器４６０へディスパリティ信号を送る。
【００３３】
検出回路４５４が、データフレーム外側に無効ファイバーチャネルワードを検出すると（すなわち、ＥＯＦ順序セットを受取った後、後続のＳＯＦ順序セットを受取る前）、検出回路４５４はインターフレームエラーフラグを立てる。データフレーム外側の無効ファイバーチャネルワードはデータ（ＦＣ−ＡＬプロトコルのもとでは、実データはデータフレーム内部になければならない）と無効順序セットを含む。順序セットのランニングディスパリティが無効なので、順序セットは無効であるかもしれない。インターフレームエラーフラグが立つのに応答して、出力制御回路４５６は、現行充填ワードがマルチプレクサ４５８によって出力されるように、マルチプレクサ４５８の入力部Ｃを選択する。現行充填ワードはＦＣ−ＡＬプロトコルによって定義される。現行充填ワードは、好ましくは無効ワードに代えて置換されるべき既知の正しいワードである。
【００３４】
好ましい実施の形態は、幾つかの代替の実施の形態と共に説明されたが、先に記載の特許請求の範囲に含まれる変更は、本発明の範囲内にある。例えば、検出回路と出力制御回路はハブポートの受信回路の外側に配置してもよい。また、スイッチング装置（例えば、図３Ａのマルチプレクサ３１８）はクロスポイントスイッチであってもよい。従って、本発明は上記実施の形態に限定されず、前記の請求の範囲によってのみ限定される。
【図面の簡単な説明】
【図１】  直接に相互接続されたノードポートの先行技術のループを示す。
【図２】  ハブを含む先行技術のループを示す。
【図３Ａ】  好ましい実施の形態のハブポートのブロック図を示す。
【図３Ｂ】  ハブポートの代替の実施の形態のブロック図を示す。
【図４Ａ】  ループ内に本発明の代替の実施の形態を含む当該ループを示す。
【図４Ｂ】本発明の代替の実施の形態のブロック図を示す。
【図１】
0003738827.tif 000002
【図２】
0003738827.tif 000003
【図３Ａ】
0003738827.tif 000004
【図３Ｂ】
0003738827.tif 000005
【図４Ａ】
0003738827.tif 000006
【図４Ｂ】
0003738827.tif 000007