(57)【特許請求の範囲】
【請求項１】
ハブをノードポートに接続するためのハブポートであって；そのハブは、ループ内に、内部ハブリンクによって相互に接続された少なくとも二つのハブポートを備えており、
（ａ）ハブ内のクロックに接続されて、ローカルクロック信号を供給するハブクロックライン；
（ｂ）第一データ入力、第二データ入力、第三データ入力および制御入力を備えているマルチプレクサ；
（ｃ）前記マルチプレクサおよび前記ハブクロックラインに接続されたハブ出力レジスタ；
（ｄ）前記マルチプレクサの第三データ入力に接続された、入ってくる内部ハブリンク；
（ｅ）前記ハブ出力レジスタに接続されている外へでる内部ハブリンク；
（ｆ）前記入ってくる内部ハブリンクと前記ハブクロックラインに接続されているエンコーダ；
（ｇ）前記エンコーダと前記ハブクロックラインに接続されている伝送回路；
（ｈ）前記マルチプレクサの第二データ入力およびハブクロックラインに接続されている現行充填ワードジェネレータ；
（ｉ）前記現行充填ワードジェネレータに接続されている充填ワード検出回路；
（ｊ）前記マルチプレクサの第一データ入力、前記現行充填ワードジェネレータ、前記充填ワード検出回路および前記ハブクロックラインに接続されている平滑化バッファ；
（ｋ）前記平滑化バッファに接続されている平滑化制御回路；
（ｌ）前記平滑化制御回路および前記マルチプレクサの制御入力に接続されているハブポート出力制御回路；
（ｍ）前記平滑化制御回路に接続されているワード同期化検出回路；
（ｎ）前記ワード同期化検出回路および前記平滑化バッファに接続されているデコーダ；
（ｏ）前記デコーダに接続されている受信回路；ならびに、
（ｐ）前記伝送回路、前記受信回路、前記ハブクロックラインおよび前記ノードポートに接続されている並直列変換器／直並列変換器回路であって、前記受信回路、前記ワード同期化検出回路および前記平滑化バッファに接続されている回復クロック出力を有し、そしてさらに、データを、前記ノードポートに、前記ローカルクロック信号を用いて伝送する並直列変換器／直並列変換器回路；
を備えてなるハブポート。
【請求項２】
前記平滑化バッファがＦＩＦＯバッファである請求項１に記載のハブポート。
【請求項３】
前記エンコーダが８Ｂ／１０Ｂのエンコーダである請求項１に記載のハブポート。
【請求項４】
前記デコーダが１０Ｂ／８Ｂのデコーダである請求項１に記載のハブポート。
【請求項５】
前記ローカルクロックがハブポート内に含まれている請求項１に記載のハブポート。
【請求項６】
前記伝送回路が、データの全ワードのみがノードポートに伝送されることを保証する請求項１に記載のハブポート。
【請求項７】
ハブをノードポートに接続するためのハブポートのジッタ転送を減少させる方法であって；ハブが論理的順序で配列された少なくとも二つのハブポートを備え、
（ａ）データをノードポートからハブポートへ送り；
（ｂ）ノードポートからのデータを非直列化し；
（ｃ）ノードポートからのデータから、回復クロック信号を回復させ；
（ｄ）前記非直列化データをデコードし；
（ｅ）前記デコードされたデータを、ワード同期化について検査し；
（ｆ）前記デコードされたデータを、前記回復クロック信号を使用してバッファに書き込み；
（ｇ）前記デコードされたデータを、前記ハブ内のクロックから供給される信号であって同ハブ内の各ハブポートに共通のローカルクロック信号を使って、前記バッファから読み取り；
（ｈ）前記デコードされたデータを、前記ローカルクロック信号を使って、ハブポートから下流のハブポートへ出力し；
（ｉ）データを上流のハブポートから受信し；次いで
（ｊ）上流のハブポートから受信した前記データを、前記ローカルクロック信号を使用して、ノードポートに伝送する；
ことを含んでなる方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は電子ネットワーク切換え装置に関し、さらに具体的に述べると、ジッタ転送（jitter transfer）を除くため、取り付けられた、ノードポートから受信したデータを、内部クロックと同期化させるネットワークハブポートに関する。
【０００２】
【従来の技術】
電子データシステムはネットワーク通信システムを使用して相互に接続されることが多い。広域のネットワークとチャネルは、コンピュータネットワークのアーキテクチャのために開発された二つの方法である。伝統的なネットワーク（例えば、ＬＡＮやＷＡＮなど）は、大きなフレキシビリティと比較的長い距離の通信能力を提供する。The Enterprise System Connection（ＥＳＣＯＮ）およびThe Small Computer System Interface（ＳＣＳＩ）などのチャネルが、高性能と高い信頼性を求めて開発されている。チャネルは一般に、コンピュータ間またはコンピュータと周辺装置の間に専用の短距離の接続を使用している。
【０００３】
チャネルとネットワークの両者の特徴が、“ファイバーチャネル”（“Fiber Channel”）として知られている新しいネットワークの標準中に組み込まれている。ファイバーチャネルシステムは、チャネルの速度と信頼性およびネットワークのフレキシビリティと接続性を兼ね備えている。ファイバーチャネルの製品は、現在、非常に高いデータ速度、例えば２６６Ｍｂｐｓまたは１０６２Ｍｂｐｓで作動可能である。このような速度は非圧縮、フルモーション、高品質のビデオ（uncompressed、full motion、high-quality Video）などの全デマンディングアプリケーション（quite demanding application）を扱うのに十分な速度である。ＡＮＳＩの仕様（規格）、例えば、X3.230-1994は、ファイバーチャネルのネットワークを定義（規定）している。この仕様は、ファイバーチャネルの機能を、五つの層に分配している。ファイバーチャネルのこの五つの機能層は、ＦＣ−０層：物理的媒体層；ＦＣ−１層：コーディングとエンコーディングを行う層；ＦＣ−２層：実転送機構（フレーミングプロトコルとノード間のフロー制御を含む）；ＦＣ−３層：共通サービスの層；およびＦＣ−４層：上層のプロトコルである。
【０００４】
ファイバーチャネルのネットワークを配備する方法は一般に三つある。すなわち、単純なポイントツーポイント接続；アービトレーテッドループ（arbitrated loop）；および交換ファブリック（switched fabric）である。最も単純なトポロジーはポイントツーポイント配置構成であり、この場合、任意の二つのファイバーチャネルシステムが、単純に、直接、接続されている。アービトレーテッドループは、アービトレーションによって帯域幅に対する共用アクセスを提供するファイバーチャネルリングの接続である。交換ファイバーチャネルのネットワーク（“ファブリック”と呼称されている）は、クロスポイント交換（cross-point switching）の形態である。
【０００５】
従来のファイバーチャネルアービトレーテッドループ（“ＦＣ−ＡＬ”）のプロトコルは、装置またはループセグメントを、ノードポートを通じて相互に接続する際のループの機能に関するプロトコルである。しかし、ノードポートを、直接、相互接続することは、一つのループ内の一つのノードポートが故障すると、一般に、ループ全体が故障するという点が問題である。この難点は、従来のファイバーチャネルのテクノロジーにおいては、ハブを使用することによって克服される。ハブは、ループトポロジィで相互に接続されたいくつものハブポートを備えている。ノードポートは、ハブポートに接続され、中央のハブとスタートポロジィを形成している。ノードポートに接続されていないか、または故障したノードポートに接続されているハブポートはバイパスされる。このように、前記ループは、ノードポートが外されているかまた故障しているかにかかわらず維持される。
【０００６】
例えば、図１Ａは、六つのハブポート１０２、１０４、１０６、１０８、１１０、１１２を有するハブ１００を示す（図１Ａと１Ｂに示すハブポートとノードポートの数は、例示することだけを目的としており、この好ましい実施態様で提供されるテクノロジーの適用を限定するものではない）。ハブポート１０２〜１１２は、内部ハブリンク１１４、１１６、１１８、１２０、１２２、１２４によって相互に接続されている。四つのノードポート１２６、１２８、１３０、１３２がそれぞれハブポート１０２、１０６、１１０、１１２に取り付けられている。物理的スタートポロジーが、ハブ１００のまわりにノードポート１２６〜１３２によって形成されている。ハブポート１０２〜１１２が内部ハブリンク１１４〜１２４によって内部接続されて、ハブ１００内に内部ループを形成し、かつノードポート１２６〜１３２間にループトポロジィを形成している。
【０００７】
各ノードポートは、一対のデータチャネルによって、ハブポートに接続されている。例えば、ノードポート１２６は、データチャネル１３４と１３６によってハブポート１０２に接続されている。データチャネル１３４は、データを、ハブポート１０２からノードポート１２６へ伝送する。データチャネル１３６は、データを、ノードポート１２６からハブポート１０２に伝送する。このように、データ経路が、これらハブポートとノードポートの各々を含むループのまわりに形成されている。
【０００８】
同期化の問題が、時間ベースのノイズの蓄積（すなわち、信号の精度の損失）（通常、信号内の“ジッタ”と呼ばれている）から起こる。信号が論理回路を通過するにつれて、有限量のジッタが一般に、該信号に導入される。信号が累積的により多数の論理回路を通過して、より多くのノイズを蓄積するにつれてジッタが蓄積する。通常のハブのデータ流は、一般に、行先のノードポートに到達する前に、多数のハブポートを通過するので、蓄積されたジッタは、行先のノードポートが、データ流から適切なクロック信号を回復できなくなるのに十分なジッタになりうる。この回復ができないと、ノードポートは一般に多数の無効の１０Ｂ文字を見るので、高ビット誤り率を有する。
【０００９】
二つのノードポートが複数のハブを通じて交信している場合、データ流が通過するハブポートと論理回路の数が一般に増加して、ジッタが一層大きくなる。ハブとハブを接続する際にハブポートを接続することからジッタがこのように増大すると、通常の実動化を行う際に、ハブのカスケーダビリティ（cascadability）が制御される。
【００１０】
例えば、図１Ｂに示すように、二つのハブ１５０、１７０が一対のハブポート１５８、１７２を通じて接続されている。各ハブ１５０、１７０は、それぞれ四つずつ、ハブポート１５２、１５４、１５６、１５８と１７２、１７４、１７６、１７８を有している。二つのノードポート１６０、１６２がハブ１５０のハブポート１５４、１５６に接続され、そして二つのノードポート１８０、１８２がハブ１７０のハブポート１７４、１７６に接続されている。二つのデータチャネル１８４、１８６がハブポート１５８とハブポート１７２を相互に接続している。データチャネル１８４は、データを、ハブポート１７２からハブポート１５８へ運ぶ。データチャネル１８６は、データを、ハブポート１５８からハブポート１７２へ運ぶ。ハブ１５０と１７０が相互に接続されているため、ループ内のハブポートの数は４から８に増大している。したがって、データ流が通過するハブポートの数は実質的に増大する。上記相互接続がなされる前は、ノードポート１６０がデータをノードポート１６２に送るとき、そのデータは二つのハブポート：１５４と１５６を通過する。上記相互接続がなされた後は、ノードポート１６０は、データを、ノードポート１６２、ノードポート１８０またはノードポート１８２に送ることができる。ノードポート１６０が、データをノードポート１８２に送る場合、そのデータは、八つのハブポートと二つのノードポートすなわち１５４、１５６、１６２（ここでデータはリタイム（re-time）される）、１５６、１５８、１７２、１７４、１８０（リタイムされる）、１７４および１７６を通過する。したがって、ハブがカスケードされて、ループ内のノードポートの数が増大するにつれて、データが通過できるハブポートの数が増加して、ジッタが蓄積する可能性が増大する。
【００１１】
従来のＦＣ−ＡＬプロトコル下で、例えば、上記のような蓄積したジッタなどによって同期化が維持できなくなると、ループ初期設定（初期化）プリミティブ（“ＬＩＰ”）プリミティブシーケンスが一つ以上のノードポートによって生成されて、ループを再び初期設定する。ＬＩＰプリミティブシーケンスは、同じタイプの三つの連続したＬＩＰ順序セット（LIP ordered set）で形成されている。ＬＩＰ順序セットは公知であり、従来のＦＣ−ＡＬプロトコルに定義されている。ノードポートがＬＩＰプリミティブシーケンスを受信すると、ノードポートは一般に、通常の処理を終了して、それ自身のＬＩＰプリミティブシーケンスを生成することができる。従来のＦＣ−ＡＬプロトコル下で、ループは、約５００〜６００マイクロ秒ほどの時間、通常の処理に戻れない。その遅延自体およびその遅延だけで、同期化のエラーという望ましくない結果となる。その上に、ループを通じて使用されるいくつかのコンピュータソフトウエアアプリケーションは、前記ＬＩＰプロセスに対して耐久力がなく（寛大でなく）、かつ、少なくともすべてのアプリケーションが遅延を経験する。アプリケーションが“クラッシュ”（すなわち、実行を突然にかつ完全に停止する）して、処理を続けるために再スタートする必要があることがある。このようなクラッシュによって、使用者またはループに接続されている他のプロセスが経験する遅延の大きさが大きくなる。さらに、データ記憶装置が、ＬＩＰプロセスが生成したクラッシュ時に適正にアクセスされないので、データの損失またはデータのコラプション（corruption）が起こりうる。
【００１２】
したがって、本発明の発明者らは、ファーバーチャネルアービトレーテッドループネットワークに類似の特性を有するループネットワーク内を循環通過する信号を、内部で同期化するハブポートを提供することが望ましいと決定したのである。
【００１３】
【発明の概要】
好ましい実施様態のハブポートは、ハブに対しローカルのクロックを提供する。そのローカルクロックは、ノードポートに伝送される信号内のジッタの転送を減少させ、好ましくはなくしてしまう。
【００１４】
一実施様態で、ハブポートは、平滑化回路を備え、この回路は、取り付けられたノードポートから受信したデータを、ハブの中にありかつ同ハブ内のすべてのハブポートに共通のローカルクロックに同期化させる。ジッタの転送は、データ流から回復されたクロック信号ではなくてハブの内部クロックを使用して、データを、取り付けられたノードポートに伝送することによって除かれることが好ましい。加えて、ハブのカスケーダビリティ（cascadability）は、ジッタの蓄積によって制限されない。
【００１５】
ノードポートからのデータをローカルクロックに同期化することによって提供される追加の利点は、一定の位相（constant phase）がハブのデータ流に維持されることである。
【００１６】
【発明の実施の形態】
上記のように、好ましい実施態様の例示として、ファイバーチャネルアービトレーテッドループ（“ＦＣ−ＡＬ”）を利用して、本発明を以下に説明する。しかし本発明は、ＦＣ−ＡＬネットワークと類似の特性を有するネットワークに適用することができる。
【００１７】
本発明の好ましい実施態様は、ローカルクロック信号を使用し、かつ各ハブポート内に平滑回路を設けることによって、上記ジッタ転送の問題を回避する。各ハブポートは、ハブに対してローカルのクロックに接続され、そして、そのローカルクロックの信号を使用して、データを、取り付けられたノードポートに伝送する。上記平滑化回路は、ノードポートのクロック信号とローカルクロック信号との不一致を補償する。
【００１８】
データは、ローカルクロック信号を用いて、ハブポートから、取り付けられたノードポートへ伝送される。ローカルクロックを使用すると、ノードポートからハブポートへのジッタの転送が除かれるので好ましい。その結果、ハブポートがジッタを全く送らず、ハブのカスケーダビリティ（カスケード接続性）がジッタの転送によって制限されないので好ましい。
【００１９】
各ハブポートは、可能性としては、二つのソースすなわち取り付けられたノードポートおよび上流ノードポートからデータを受信する。ハブポートがノードポートに接続されていない場合、そのハブポートは、バイパスモードにあり、そしてデータを、上流のハブポートから下流のハブポートに送る。ノードポートがハブポートに接続されていて有効データをハブポートに伝送しているとき、ハブポートは、バイパスモードから切換わって、データ流を上流ハブポートから出力することから、データ流をノードポートから出力することに切換わる。そのハブポートは、取り付けられたノードポートから受信したデータを監視し、そのデータを、ローカルクロックの信号に、平滑化回路を使って、同期化する。そのノードポートは、データを、ハブポートに、ノードポートの内部のクロックを使って伝送する。ハブポートは、ノードポートのクロック信号を、ノードポートからのデータから回復し、次にその回復したクロック信号を使用してノードポートからのデータを受信する。その回復したクロック信号とローカルクロック信号の周波数は一般に類似しているが、必ずしも同じではないので、前記平滑化回路は、充填ワードを、データ流に挿入しおよびデータ流から削除して、同期化の欠除を補償する。
【００２０】
さらに、ハブポートは、ノードポートからのデータが、ビットとワードの境界においてのみ、ループのデータ流に入ることを保証する。ハブ内のハブポートは各々、データをハブループ中にローカルクロックを使用して挿入するので、ハブループ上のデータ流は同ローカルクロックに同期化される。上流のハブポートからのデータ流とノードポートからの平滑化されたデータ流は、そのノードポートからのデータ流から回復されたクロック信号を使用するのではなく、ローカルクロックに同期化されるので、一つのデータ流が別のデータ流へ切換わっても、ハブループ上のデータ流の位相に影響しない。同様に、取り付けられたノードポートが外されるかまたは故障し、ハブポートがバイパスモードに切換わるとき、ノードポートからのデータ流から、上流のハブポートからのデータ流へ切換わっても、ハブループのデータ流の位相に影響しない。
【００２１】
さらに詳しく述べると、図２はハブポートの第一の好ましい実施態様のブロック図である。上記のように、従来のハブポートのジッタ転送の問題は、一般に、ノイズが蓄積したデータ信号を、上記データ信号から回復したクロック信号を用いてノードポートに伝送することから起こる。この実施態様は、データをノードポートへ、ローカルクロックを使用して伝送するので、クリーンなデータ信号をそのノードポートに伝送する。したがって、そのハブポートはジッタの転送を除くので好ましい。
【００２２】
図２に示すように、ハブポート２００は、入ってくる内部ハブリンク（入力側内部ハブリンク）２０２を備えており、この内部ハブリンク２０２は、マルチプレクサ２０４のような切換え装置のデータ入力および伝送回路２０６に接続されている。また、伝送回路２０６は、ハブクロックライン２０８にも接続されている。ハブクロックライン２０８は、ハブポート２００を含むハブの中にあるクロック（図示せず）に接続されている。また、ハブクロックライン２０８は、ハブポート２００を含むハブ内の各ハブポートにも接続されている。伝送回路２０６は、ハブクロック２０８上のローカルクロック信号を使用して、データを、データチャネル２１０にそってノードポート２１２に伝送する。したがって、データは、クリーンなクロック信号（すなわち実質的にノイズなしの信号）を使用して、ノードポート２１２に伝送される。したがって、ノードポート２１２に伝送されたデータ信号はクリーンなのでジッタが全く転送されず好ましい。
【００２３】
ノードポート２１２は、データを、ハブポート２００へ、データチャネル２１４にそって伝送する。データチャネル２１４は、受信回路２１６とクロック回復回路２１８に接続されている。クロック回復回路２１８は、クロック信号を、ノードポート２１２から受信したデータから回復して、そのクロック信号を受信回路２１６に供給する。受信回路２１６は、回復された前記クロック信号を使って、データを、平滑化回路２２０へ出力する。平滑化回路２２０はハブクロックライン２０８に接続され、そしてデータを、ハブクロックライン２０８上のローカルクロック信号を使用して、マルチプレクサ２０４のデータ入力に出力する。したがって、ノードポート２１２からのデータは、回復されたクロック信号を使用して受信され、次いで、ローカルクロック信号を使用してループに出力される。先に述べて、次に図３を参照して以下に一層詳細に述べるように、回復されたクロック信号とローカルクロック信号は周波数が必ずしも正確に同じではないので、平滑化回路２２０は、クロック速度の不一致のためデータ流にアンダーフローおよびオーバーフローが起こるのを避ける。平滑化回路２２０も、制御信号を、マルチプレクサ２０４の制御入力に供給して、マルチプレクサ２０４に対するデータ入力の選択を制御する。マルチプレクサ２０４は、ハブポート２００を含むハブのハブループ中へ外にでていく内部ハブリンク２２２にデータを出力する。したがって、ハブポート２００は、ノードポート２１２から受信したデータを、平滑化回路２２０およびハブクロックライン２０８上のローカルクロック信号を使って同期化する。
【００２４】
ハブポート２００は、データを、ノードポート２１２に、ハブクロックライン２０８上のローカルクロック信号を使用して伝送する。上記データ信号は、クリーンなクロック信号を使用して伝送回路２０６から出力されるので、ノードポート２１２に伝送されるデータ信号はクリーンであり、実質的にジッタを含んでいない。したがって、ハブポート２００はジッタの転送を避けてハブのカスケーダビリティを改善する。
【００２５】
別の実施態様で、平滑化回路はハブポートの伝送回路に含まれている。しかし、この実施態様は、一定位相の追加の利点を提供できない。
【００２６】
図３は、ハブポート３００の第二の好ましい実施態様のブロック図であり、その要素をより詳細に示す。ハブポート３００は、データをノードポート３１４に伝送する要素、データをノードポート３１４から受信する要素、およびハブポート３００をハブループからバイパスしまたはハブループ内に挿入する要素を備えている。
【００２７】
入ってくる内部ハブリンク３０２は、ハブポート３００を、ハブポート３００を有するハブのループの上流のハブポート（図示せず）に、接続している。入ってくる内部ハブリンク３０２は、マルチプレクサ３０４のデータ入力とエンコーダ３０６に接続されている。エンコーダ３０６は、通常の８Ｂ／１０Ｂエンコーダが好ましい。エンコーダ３０６は伝送回路３０８に接続されている。伝送回路３０８は並直列変換器（serializer）／直並列変換器（deserializer）（“ＳＥＲＤＥＳ”）回路３１０に接続されている。ＳＥＲＤＥＳ回路３１０はデータを直列化（シリアル化）して、そのデータを、データチャネル３１２を通じてノードポート３１４に送る。エンコーダ３０６、伝送回路３０８およびＳＥＲＤＥＳ回路３１０は各々ハブクロックライン３３６に接続され、データを、そのクロック信号を使用して出力する。したがって、データは、ノードポート３１４に、クリーンなクロック信号を使用して伝送される。したがって、ノードポート３１４へのデータ信号はクリーンであり、ジッタが、ノードポート３１４へのデータ信号において全く転送されないので好ましい。
【００２８】
データチャネル３１６が、データを、ノードポート３１４からＳＥＲＤＥＳ回路３１０へ運ぶ。ＳＥＲＤＥＳ回路３１０は、ノードポート３１４から受信した直列データ（シリアルデータ）を非直列化（非シリアル化）して、そのデータを受信回路３１８へ送る。また、ＳＥＲＤＥＳ回路３１０は、クロック信号を、前記非直列化されたデータから回復する。ＳＥＲＤＥＳ回路３１０は、前記回復されたクロック信号を、回復クロックライン３１７を通じて、受信回路３１８、ワード同期化検出回路３２２および“平滑化”先入れ先出し（“ＦＩＦＯ”）バッファ３２４に送る。なお、平滑化バッファ３２４はＦＩＦＯバッファである必要はない。
【００２９】
受信回路３１８は、前記データをデコーダ３２０に送る。デコーダ３２０としては通常の１０Ｂ／８Ｂデーコーダが好ましい。デコーダ３２０は、デコードされたデータを、ワード同期化検出回路３２２と平滑化ＦＩＦＯバッファ３２４へ送る。ワード同期化検出回路３２２は平滑化ＦＩＦＯ制御回路３２６に接続され、また、平滑化ＦＩＦＯ制御回路３２６は平滑化ＦＩＦＯバッファ３２４に連結されている。平滑化ＦＩＦＯバッファ３２４は、マルチプレクサ３０４のデータ入力、充填ワード検出回路３３０および現行充填ワードジェネレータ（current fill word generator）３３２に接続されている。現行充填ワードジェネレータ３３２は、充填ワード検出回路３３０およびマルチプレクサ３０４のデータ入力に接続されている。平滑化ＦＩＦＯ制御回路３２６はハブポート出力制御回路３２８に接続され、そのハブポート出力制御回路３２８はマルチプレクサ３０４の制御入力に接続されている。マルチプレクサ３０４は出力レジスタ３３４に接続されている。
【００３０】
ハブクロックライン３３６はローカルクロック(図示せず)に接続されている。ローカルクロックは、共通のローカルクロック信号を、ハブ内の各ハブポートに供給する。ハブクロックライン３３６は、ローカルクロック信号を、エンコーダ３０６、伝送回路３０８、ＳＥＲＤＥＳ回路３１０、平滑化ＦＩＦＯバッファ３２４、現行充填ワードジェネレータ３２２および出力レジスタ３３４に供給する。
【００３１】
出力レジスタ３３４は、マルチプレクサ３０４からのデータを、外へでる内部ハブリンク３３８（出力側内部ハブリンク）に、ローカルクロックを使用して出力する。出力レジスタ３３４は、接続しているハブポート間のパイプラインステージ（pipeline stage）として機能している。
【００３２】
ハブポート３００からノードポート３１４へデータを伝送する際に、エンコーダ３０６は、入ってくる内部ハブリンク３０２にそって上流のハブポートから受信した、エンコードされていないファイバーチャネルデータを、好ましくは８Ｂ／１０Ｂエンコーディングを利用してエンコードする。エンコーダ３０６は、上流のハブポートのＳＥＲＤＥＳ回路が回復したクロック信号を取り入れない。なぜならば、その回復されたクロック信号を、その上流のハブポートは送らないからである。上記のように、データは、ハブポートの外へでる内部ハブリンク３３８に、ハブクロックライン３３６上のローカルクロック信号(回復されたクロック信号ではない)を使用して出力される。エンコーダ３０６は、ハブクロックライン３３６上のローカルクロック信号を取り入れるので好ましい。そのエンコードされたデータは伝送回路３０８に送られる。伝送回路３０８は、完全なワードのみがノードポート３１４へ伝送されることを保証する。その上に、伝送回路３０８は、データの実行不同（running disparity）（すなわち、データ信号の１とゼロの数の差）を、必要に応じて、例えばその不同を正または負に変更することによって調節する。そのデータは、ＳＥＲＤＥＳ回路３１０に送られて、直列化され次いでハブクロック３３６上のローカルクロックを用いてノードポート３１４に伝送される。上記のように、データを、ノードポート３１４に、ローカルクロック信号を使用して伝送することによって、好ましいことには、データ流内に蓄積したジッタはノードポート３１４に転送されることはない。
【００３３】
取り付けられたノードポート３１４からデータを受信する場合、好ましいハブポートの設計の重要な部分は、平滑化ＦＩＦＯバッファ３２４と平滑化ＦＩＦＯ制御回路３２６である。平滑化ＦＩＦＯ制御回路３２６を組み合わせた平滑化ＦＩＦＯバッファ３２４は、ノードポート３１４から受信したデータを、ハブポートの内部クロックに同期化する。平滑化ＦＩＦＯバッファ３２４は、データから回復されたクロック信号の二つの潜在的に非同期のクロックドメインとハブポート３００の内部クロックとの間を平滑化する機能を提供する。
【００３４】
操作において、ハブポート３００がノードポート３１４に接続されて、ノードポート３１４からデータを受信すると、ＳＥＲＤＥＳ回路３１０が、ノードポート３１４から入ってくる直列のデータ流を非直列化して、非直列化された１０Ｂエンコーデッドデータを生成する。また、ＳＥＲＤＥＳ回路３１０は前記直列データからクロック信号を回復する。ＳＥＲＤＥＳ回路３１０は前記回復されたクロック信号を回復クロックライン３１７に出力し、その回復されたクロック信号は、受信回路３１８、ワード同期化検出回路３２２および平滑化ＦＩＦＯバッファ３２４によって受信される。受信回路３１８は上記１０Ｂエンコーデッドデータを受信して、そのデータをデコーダ３２０に送り、前記回復されたクロック信号と同期化させる。デコーダ３２０は次に、データの１０Ｂ／８Ｂデコーディングを実施する。そのデコードされたデータは、ワード同期化検出回路３２２と平滑化ＦＩＦＯバッファ３２４に送られる。
【００３５】
ワード同期化検出回路３２２は、好ましくは、ＡＮＳＩ刊行物X3.230-1994(FC-PH,Rev4.3、１９９４年６月１日)の１２．１節に定義されている手順を踏襲する。特に、ワード同期化検出回路３２２が、デコーダ３２０から出現する三つの連続の有効なファイバーチャネル順序セットを検出すると、ハブポート３００は、ワードの同期化を獲得して次いでワード同期化検出回路３２２が同期化獲得状態（synchronization-acquired state）に入る。ワード同期化検出回路３２２は平滑化ＦＩＦＯ制御回路３２６を作動させ、その平滑化ＦＩＦＯ制御回路３２６は、ついで、次のファイバーチャネルのワードを、平滑化ＦＩＦＯバッファ３２４中に書き込み可能にする。しかし、ファイバーチャネルプロトコルによって指定された多くの無効のファイバーチャネルワードがデコーダ３２０によってデコードされ、次いでワード同期化検出回路３２２によって検出されると直ちに、ワード同期化検出回路３２２は、同期化喪失状態に入る。平滑化ＦＩＦＯ制御回路３２６は、ワード同期化が失われると、ワードを平滑化ＦＩＦＯバッファ３２４中に書き込めないようにする。
【００３６】
平滑化ＦＩＦＯバッファ３２４は、ＦＩＦＯバッファを有し、そして、平滑化ＦＩＦＯ制御回路３２６と共同して、受信したファイバーチャネルデータを、ハブクロックライン３３６上のローカルクロックの周波数に同期化する。ノードポート３１４から受信したデータは、回復クロックライン３１７上の回復されたクロックによって決定されるデータ速度で、平滑化ＦＩＦＯバッファ３２４中に書き込まれる。そのデータは、ハブ内のローカルオシレータ(図３には示していない)によって決定されるローカルクロック信号に同期化される。データは、ハブクロックライン３３６上のローカルクロック信号によって決定されるデータ速度で、平滑化ＦＩＦＯバッファ３２４からマルチプレクサ３０４に出力される。
【００３７】
マルチプレクサ３０４はデータを、出力レジスタ３３４に出力する。マルチプレクサ３０４の切換えはハブ出力制御回路３２８によって制御され、その回路３２８はマルチプレクサ３０４の制御入力に接続されている。ノードポート３１４から受信したデータをループに挿入すべきときは、平滑化ＦＩＦＯバッファ３２４に対応するデータ入力が選択される。充填ワードをループに挿入すべきときは（以下に述べる）、現行充填ワードジェネレータ３３２に対応するデータ入力が選択される。ハブポート３００がバイパスモードにあるときは、入ってくる内部ハブリンク３０２に対応するデータ入力が選択される。これらデータ流は各々、一定位相を有し、そしてデータ入力間の切換えはビットの境界（bit boundary）に起こり、一定位相を保持する。出力データレジスタ３３４は、ハブクロックライン３３６上の受信されたローカルクロック信号を使用して、データを、外へでる内部ハブリンク３３８に出力する。
【００３８】
回復されたクロックの周波数とローカルクロックの周波数は、例えば±１００ｐｐｍというわずかな程度まで変化しうる。回復クロックの周波数とローカルクロックの周波数の差は、データを平滑化ＦＩＦＯバッファ３２４に書き込む(回復されたクロック信号を使用して)データ速度と、データを平滑化ＦＩＦＯバッファ３２４から取り出す（ローカルクロック信号を使用して）データ速度の差になる。平滑化ＦＩＦＯ制御回路３２６は、平滑化ＦＩＦＯバッファ３２４に入ってくるデータの速度と前記バッファ３２４からでていくデータの速度の差を、充填ワードを使って“平滑化する”。充填ワードは、一般に、ファイバーチャネルのデータ流のデータフレーム間のフレーム間ギャップ（inter-frame gap）中に挿入される。本来、すべてのデータ流は、いくつかの数の充填ワードを含んでいる。現行の充填ワードは、一般に、ＦＣ−ＡＬプロトコルにしたがって作成されたリストから選択される。平滑化ＦＩＦＯバッファ３２４内のデータが、各種のしきい値に到達したとき、平滑化ＦＩＦＯ制御回路３２６は、現行充填ワードの挿入または削除をスケジュールすることによって、平滑化ＦＩＦＯバッファ３２４が、枯渇したりまたはオーバーフローするのを防止する。平滑化ＦＩＦＯ制御回路３２６が、充填ワードを削除することが適当であると決定するとき、平滑化ＦＩＦＯ制御回路３２６は、その削除を行う前に、適当な充填ワードがフレーム間ギャップ内に見出されるまで待つ。挿入することが適当である場合、平滑化ＦＩＦＯ制御回路３２６はフレーム間ギャップを待って、マルチプレクサ３０４に、出力レジスタ３３４に出力すべき、現行充填ワードジェネレータ３３２に対応するデータ入力を選択させる。同時に、平滑化ＦＩＦＯ制御回路３２６は、平滑化ＦＩＦＯバッファ３２４からのデータ読取りを一時的に停止する（stall）。現行充填ワードジェネレータ３３２に、充填ワード検出回路３３０が接続されている。充填ワード検出回路３３０は、充填ワード挿入が適当な場合、使うべき充填ワードで現行の充填ワードジェネレータ３３２を更新することによって、最新の適切な充填ワードを追跡し続ける。
【００３９】
データが平滑化ＦＩＦＯバッファ３２４から取り出されてマルチプレクサ３０４に出力されるとき、ローカルクロックの周波数が回復クロックの周波数より速い場合、平滑化ＦＩＦＯバッファ３２４内のデータ量が減少する。また、平滑化ＦＩＦＯバッファ３２４内のデータ量は、平滑化ＦＩＦＯバッファ３２４内への書込みが、ワード同期化の喪失のため、不能とされたときにも減少する。平滑化ＦＩＦＯバッファ３２４内のデータの量が最小しきい値未満まで低下すると、平滑化ＦＩＦＯ制御回路３２６は、ハブポート出力制御回路３２８に、ハブポート３００をバイパスさせる。ハブポート出力制御回路３２８は、マルチプレクサ３０４に、入ってくる内部ハブリンク３０２に対応するデータ入力を選択させて、データを、平滑化ＦＩＦＯバッファ３２４の出力ではなくて、上流のハブポートから直接出力する。平滑化ＦＩＦＯバッファ３２４内のデータの量が最小しきい値を再び超えると、平滑化ＦＩＦＯ制御回路３２６は、ハブポート出力制御回路３２８に、バイパスを終らせる。ハブポート出力制御回路３２８は、マルチプレクサ３０４に、平滑化ＦＩＦＯバッファ３２４からのデータを選択させて、ノードポート３１４をループに戻す。なお、ノードポートをループから取り出したりループに挿入するのに異なるしきい値を用いてもよい。
【００４０】
ローカルクロックの周波数が回復クロックの周波数より遅いと、平滑化ＦＩＦＯバッファ３２４内のデータの量が増大する。平滑化ＦＩＦＯバッファ３２４内のデータの量が最大しきい値を超えると、平滑化ＦＩＦＯ制御回路３２６が上記のように充填ワードを削除する。
【００４１】
作動において、ハブポート３００がノードポート３１４に接続されていないと、ハブポート３００はバイパスモードにある。マルチプレクサ３０４は入ってくる内部ハブリンク３０２に対応するデータ入力を出力レジスタ３３４に接続する。ノードポート３１４が初めにハブポート３００に接続されて、データ流を伝送し始めると、先に述べたのと類似のプロセスが起こる。そのデータはＳＥＲＤＥＳ回路３１０によって非直列化され、デコーダ３２０によってデコードされ、次いでワード同期化検出回路３２２に供給される。有効な順序セットが受信されている場合、ワード同期化検出回路３２２が同期化獲得状態に入り、そしてその受信されたデータは、平滑化ＦＩＦＯバッファ３２４内に書き込まれ始める。データが平滑化ＦＩＦＯバッファ３２４内に書き込まれ続けると、平滑化ＦＩＦＯバッファ３２４は最小しきい値を超える。この時点で、平滑化ＦＩＦＯ制御回路３２６は、ハブポート出力制御回路３２８に、ハブポート３００に対するバイパスモードを終らせる。ハブポート出力制御回路３２８は、マルチプレクサ３０４に、入ってくるハブリンク３０２上の上流ハブポートからのデータでなくて、平滑化ＦＩＦＯバッファ３０４に対応するデータを選択させる。ノードポート３１４から受信したデータは、平滑化ＦＩＦＯバッファ３２４からのデータを読みとるためにローカルクロック信号を使用してループ内に挿入されるので、ノードポート３１４は、データ流の同期化を中断することなく、ループ内に挿入される。
【００４２】
作動において、ハブポート３００がノード３１４から受信しているデータ流が、例えば、データ流のワード同期化の喪失、ノードポート３１４の故障またはノードポート３１４の切断によって中断されると、ワード同期化検出回路３２２は有効な同期化データの喪失を検出して、同期化が失われた状態に入る。続くデータは、平滑化ＦＩＦＯバッファ３２４中に書き込まれない。データは、ＦＩＦＯバッファ３２４から取り出されて、マルチプレクサ３０４によって出力レジスタ３３４に出力され続けて、平滑化ＦＩＦＯバッファ３２４は空に近づく。上記のように、平滑化ＦＩＦＯ制御回路３２６が、平滑化ＦＩＦＯバッファ３２４が、最小しきい値より低下したことを検出すると、平滑化ＦＩＦＯ制御回路３２６は、ハブポート出力制御回路３２８に、ハブポート３００をバイパスさせる。ハブポート出力制御回路３２８は、マルチプレクサ３０４に、入ってくる内部ハブリンク３０２の上流ハブポートからのデータに対応するデータ入力を選択させる。したがって、有効データがノードポート３１４から受信されない場合、ハブポート３００はバイパスモードに入る。このバイパスは、ローカルクロック信号と同期化したときに起こるので、ノードポート３１４が故障しても、ループのデータ流は中断されない。
【００４３】
このようにして、ハブポート間のジッタの転送は実質的に除かれる。その上に、複数のノードポートのノードポートもしくはループセグメントは、下流のノードポートに伝送されるデータの位相の中断を起こすことなく、継ぎ目なく、ハブポートによってループに挿入しまたはループから取り出すことができる。
【００４４】
本発明の実施態様をいくつか説明してきた。しかし、これらの実施態様は例示を目的とするもので本発明を限定するものではない。別の実施態様や変形は、当業技術者にとって明らかなことである。例えば内部クロックが各ハブポート内に含まれていてもよく、または単一の内部クロックがハブ内に設置されて、各ハブポートに接続されてもよい。本発明の範囲は、本願の特許請求の範囲の範囲によってのみ限定される。
【図面の簡単な説明】
【図１Ａ】  ハブを含むループの従来技術の配置構成を示す。
【図１Ｂ】  ハブポートを通じて相互に接続された従来技術の二つのハブの配置構成を示す。
【図２】  ハブポートの第一の好ましい実施態様のブロック図である。
【図３】  ハブポートの第二の好ましい実施態様のブロック図である。
【図１Ａ】
0003779545.tif 000002
【図１Ｂ】
0003779545.tif 000003
【図２】
0003779545.tif 000004
【図３】
0003779545.tif 000005