(57)【特許請求の範囲】
【請求項１】
ハブをノードポートに接続するためのハブポートによって、データ出力内に一定位相を維持する方法であって；前記ハブがループ内に相互に接続された少なくとも二つのハブポートを有し、
（ａ１）前記ノードポートからのデータからノードポートのクロック信号を回復し、同回復したクロック信号を用いて同ノードポートからのデータを受信し、
（ａ２）前記ノードポートから受信したデータを、前記ハブ内のクロックから供給される信号であって同ハブ内の各ハブポートに共通のローカルクロック信号と同期化させ；
（ｂ）前記ノードポートからの前記ローカルクロック信号と同期化されたデータを、下流のハブポートへ出力し；
（ｃ）上流のハブポートからのデータを前記ローカルクロック信号と同期化させ、および
（ｄ）上流ハブポートからの前記ローカルクロック信号と同期化されたデータを、ノードポートに伝送する；
ことを含んでなる方法。
【請求項２】
ハブをノードポートに接続するためのハブポートによって、データ出力に一定位相を維持する方法であって；ハブがループ内に相互に接続された少なくとも二つのハブポートを有し、
（ａ）前記ノードポートからのデータを前記ハブポートに送り；
（ｂ）前記ノードポートからの前記データを非直列化し；
（ｃ）前記ノードポートからの前記データから回復クロック信号を回復させ；
（ｄ）前記非直列化データをデコードし；
（ｅ）前記デコードされたデータをワード同期化について検査し；
（ｆ）前記デコードされたデータを、前記回復クロック信号を使用して、バッファに書き込み；
（ｇ）前記デコードされたデータを、前記ハブ内のクロックから供給される信号であって同ハブ内の各ハブポートに共通のローカルクロック信号を使用して、前記バッファから読み取り；
（ｈ）前記デコードされたデータを、前記ハブポートから出力し；
（ｉ）前記ノードポートから受信される前記データがワード同期化されている限りステップ（ｅ）〜（ｈ）を繰り返し；
（ｊ）ワード同期化が失われている間、前記ハブ内の他のハブポートから受信されるデータを前記ハブポートから出力し；
（ｋ）前記バッファ内のデータ量が最小しきい値より低下したとき、少なくとも一つの現行充填ワードを前記ハブポートから出力し；および
（ｌ）前記バッファ内のデータ量が最大しきい値を超えたとき、少なくとも一つの現行充填ワードを、同バッファに記憶されているデータから削除する；
ことを含んでなる方法。
【請求項３】
（ａ）上流ハブポートからのデータを前記ローカルクロック信号と同期化させ；および
（ｂ）上流ハブポートからの前記ローカルクロック信号と同期化されたデータを前記ノードポートに伝送する；ことをさらに含んでいる請求項２に記載の方法。
【請求項４】
ハブをノードポートに接続するためのハブポートによって、データ出力に一定位相を維持するシステムであって；ハブがループ内に相互に接続された少なくとも二つのハブポートを有し、
（ａ１）前記ノードポートからのデータからノードポートのクロック信号を回復し、同回復したクロック信号を用いて同ノードポートからのデータを受信する手段；
（ａ２）前記ノードポートから受信したデータを、前記ハブ内のクロックから供給される信号であって同ハブ内の各ハブポートに共通のローカルクロック信号と同期化させる手段；
（ｂ）前記ノードポートからの前記ローカルクロック信号と同期化されたデータを下流ハブポートに出力する手段；
（ｃ）上流ハブポートからのデータを前記ローカルクロック信号と同期化させる手段；および
（ｄ）上流ハブポートからの前記ローカルクロック信号と同期化されたデータをノードポートへ伝送する手段；
を備えてなるシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は電子ネットワーク切換え装置に関し、さらに具体的に述べると、内部位相制御（internal phase control）を行うため、取り付けられたノードポートから受信されるデータを、内部クロックと同期化させるネットワークハブポートに関する。
【０００２】
【従来の技術】
電子データシステムはネットワーク通信システムを使用して相互に接続されることが多い。広域のネットワークとチャネルは、コンピュータネットワークのアーキテクチャのために開発された二つの方法である。伝統的なネットワーク（例えば、ＬＡＮやＷＡＮなど）は、大きなフレキシビリティと比較的長い距離の通信能力を提供する。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）の形態である。
【０００５】
従来のファイバーチャネルアービトレーテッドループ（“ＦＣ−ＡＬ”）のプロトコルは、装置またはループセグメントを、ノードポートを通じて相互に接続する際のループの機能に関するプロトコルである。しかし、ノードポートを、直接、相互接続することは、一つのループ内の一つのノードポートが故障すると、一般に、ループ全体が故障するという点が問題である。この難点は、従来のファイバーチャネルのテクノロジーにおいては、ハブを使用することによって克服される。ハブは、ループトポロジィで相互に接続されたいくつものハブポートを備えている。ノードポートは、ハブポートに接続され、中央のハブとスタートポロジィを形成している。ノードポートに接続されていないか、または故障したノードポートに接続されているハブポートはバイパスされる。このように、前記ループは、ノードポートが外されているかまた故障しているかにかかわらず維持される。
【０００６】
例えば図１は、六つのハブポート１０２、１０４、１０６、１０８、１１０、１１２を有するハブ１００を示す（図１に示すハブポートとノードポートの数は、例示することだけを目的とするものであり、好ましい実施態様が提供する技法の用途を限定するものではない）。ハブポート１０２〜１１２が、内部ハブリンク１１４、１１６、１１８、１２０、１２２、１２４によって相互に接続されている。四つのノードポート１２６、１２８、１３０、１３２がそれぞれハブポート１０２、１０６、１１０、１１２に取り付けられている。物理的星形トポロジィが、ハブ１００を囲むノードポート１２６〜１３２によって形成されている。内部ハブリンク１１４〜１２４によるハブポート１０２〜１１２の内部接続によってハブ１００内に内部ループが形成され、かつノードポート１２６〜１３２の間に、ループトポロジィが形成されている。
【０００７】
各ノードポートは、一対のデータチャネルによってハブポートに接続されている。例えば、ノードポート１２６は、ハブポート１０２に、データチャネル１３４と１３６によって接続されている。データチャネル１３４は、データを、ハブポート１０２からノードポート１２６へ伝送する。データチャネル１３６は、データを、ノードポート１２６からハブポート１０２へ伝送する。このように、データ経路が、各ハブポートと各ノードポートを含むループをめぐって形成されている。
【０００８】
従来のＦＣ−ＡＬハブでは、ハブポートがノードポートから受信するデータは、同じハブのループ内の他のハブポートが受信するデータに対して、位相と同期化がずれているビット境界（bit boundary）を有している。各ノードポートは、データを、その対応するハブポートに、ノードポートの内部クロックを使用して伝送する。したがって、ハブループに導入される各データ流は、異なるクロックによって送られる。信号は異なるクロックによって送られるので、信号のビット境界が互いに位相がずれることが多い。ノードポートが、その対応するハブポートからデータ流を受信すると、そのノードポートは、そのクロック信号をデータ流から回復し、例えば移相ロックループを使ってデータ流を、そのノードポート自身の内部クロックに同期化させる。
【０００９】
同期化は、例えば、ノードポートをループに挿入したりループから取り出すとき、ハブポートをバイパスモードへおよびバイパスモードから切換えることによって、一般に有害な影響を受ける。従来の実施態様では、ノードポートに接続されているハブポートは、二つのデータ流、すなわち、先行ハブポートからのデータ流と、取り付けられたノードポートからのデータ流とを受信する。これら二つのデータ流は、各々一般に異なるノードポートからのものなので異なるクロックをもっているから、必ずしも同期化されていない。上記切換えが、データ流のビット境界と一致しない時点で起こると、一つの入力から別の入力への切換えの、そのデータ流のその時点におけるビット同期化は失われる。そのビット境界は、古いデータ流のビット境界から新しいデータ流のビット境界にシフトする。その結果、ワードの同期化も失われる。ノードポートが、クロック信号をこのデータ流から回復しようとすると、ビット同期化が失われて、うまく回復が行われず、再同期化が必要である。その必要な再同期化は、時間がかかりかつ誤りを生成する可能性がある。ノードポートが始めにハブポートに接続されてハブポートがバイパスモードから切換わるときに類似の問題が起こる。
【００１０】
例えば、図１において、ハブポート１０６は、データをハブポート１０４およびノードポート１２８から受信する。ハブポート１０６がバイパスモードに切換わったとき、例えばノードポート１２８が切断されたとき、ハブポート１０６は、ノードポート１２８からデータを出力することを停止して、ハブポート１０４から受信したデータを出力することに切換わる。これら二つのデータ流は、位相が必ずしも同じでないので、この切換えによって、ビット同期化の損失を起こすことがある。ノードポート１３０が、データ流からクロック信号を回復しようとすると、回復することができず、ノードポート１３０にデータ流を再同期化させることがある。
【００１１】
従来のＦＣ−ＡＬプロトコル下では、同期化がノードポートによって例えば、位相がシフトしたビット境界によって失われて、タイムアウト期間内に回復されないと、ループ初期設定プリミティブ（“ＬＩＰ”）プリミティブシーケンスが一つ以上のポートから生成されて、ループを再び初期設定する。ＬＩＰプリミティブシーケンスは、三つの連続した同一のＬＩＰ順序セット(ordered set）で形成されている。ＬＩＰ順序セットは公知であり、従来のＦＣ−ＡＬプロトコルに定義されている。ノードポートがＬＩＰプリミティブシーケンスを受信すると、ノードポートは一般に通常の処理を終り、ノードポート自身のＬＩＰプリミティブシーケンスを生成する。従来のＦＣ−ＡＬプロトコル下で、ループは,約５００〜６００マイクロ秒間、通常の処理に戻れない。この遅延は、同期化エラー（synchronization error）によって起こる望ましくない事象である。その上に,ループを通じて使用されているいくつかのコンピュータソフトウェアアプリケーションは、上記ＬＩＰプロセスに耐えられないことがあり、少なくともすべてのアプリケーションが遅延を経験している。アプリケーションが“クラッシュ”して（すなわち突然、完全に実行を停止して）、処理を続けるためリスタートする必要があることがある。このようなクラッシュは、使用者またはループに接続された他のプロセスが経験する遅延の大きさを増大する。さらに、データ記憶装置が、ＬＩＰプロセスが起こすクラッシュ時に適正にアクセスできないとき、データ損失またはデータコラプション（data corruption）が起こる。
【００１２】
上記のことに対応して、本発明の発明者らは、ファイバーチャネルアービトレーテッドループネットワークに類似の特性を有するループネットワークを循環通過する信号を内部で同期化するハブポートを提供することが望ましいことを確認したのである。
【００１３】
【発明の概要】
好ましい実施態様のハブポートは、ハブ内のローカルクロックを提供する。このローカルクロックによって、ハブポートに取り付けられるノードポートまたはループセグメントを、下流のハブポートで受信されるデータの位相またはビット境界を乱すことなく、接続または切断することができる。
【００１４】
一実施態様で、ハブポートは、取り付けられたノードポートから受信されるデータを、ハブ内にありかつハブ内の全ハブポートに共通のローカルクロックに同期化するため、平滑化回路を備えている。その結果、ハブループのデータ流に、一定の位相またはビット境界が維持される。ハブポートは、ビット境界でのみ切換えられて、バイパスモードになったり、バイパスを解除される。上流のハブポートに取り付けられたノードポートが接続されるかまたは切断されると、下流のハブポートで受信されるデータは一定の位相またはビット境界を有しているので、下流のハブポートに取り付けられたノードポートは、上流のハブポートが変化することによって同期化を失うことはない。
【００１５】
本発明の好ましい実施態様の追加の利点は、ローカルクロックを使用して、取り付けられたノードポートにデータを伝送して、ノードポートに伝送される信号内の“ジッタ”（タイムベースのノイズすなわち信号の精度の損失）の転送が実質的に除かれることである。ジッタがこのように減少すると同期化エラーが減少し、ビット誤り率が改善され、そしてハブのカスケーダビリティ（cascadability）が改善される。
【００１６】
【発明の実施の形態】
上記のように、好ましい実施態様の例示として、ファイバーチャンネルアービットレーテツドループ（“ＦＣ−ＡＬ”）を用いて、本発明を以下に説明する。しかし、本発明は、ＦＣ−ＡＬネットワークと類似の特性を有するネットワークに適用できる。
【００１７】
好ましい実施態様で、ハブポートは、ハブループのデータ流に一定位相を維持する。上記のように、従来のハブポートの位相シフトの問題は,一般的に、ハブポートに入ってくるデータ流のクロックの位相の差によって起こる。この実施態様は、ノードポートから受信したデータを、ハブループに導入する前に、ローカルクロックと同期化させる。
【００１８】
各ハブポートは、データを、可能性として、二つの起源（ソース）、すなわち取り付けられたノードポートと上流のハブポートから受信できる。ハブポートがノードポートに接続されていない間、そのハブポートはバイパスモードであり、データを上流のハブポートから下流のハブポートに送る。ノードポートがハブポートに接続されて、有効データをハブポートに伝送しているとき、ハブポートはバイパスモードから切換わり、上流のハブポートからのデータ流を出力することから、ノードポートからのデータ流を出力することに切換わっている。ハブポートは、取り付けられたノードポートから受信されるデータを監視し、そのデータを、平滑化回路を使用して、ローカルクロック信号と同期化させる。ノードポートは、そのノードポート内のクロックを使用して、データをハブポートに伝送する。ハブポートは、ノードポートからのデータから、ノードポートのクロック信号を回復し、次に、その回復されたクロック信号を使って、ノードポートからのデータを受信する。上記回復されたクロック信号と上記ローカルクロック信号の周波数は一般に類似しているが必ずしも同じでないので、平滑化回路が、充填ワードをデータ流に挿入しおよびデータ流から削除して、同期化の欠如を補償する。
【００１９】
さらに、ハブポートは、ノードポートからのデータが、ビット境界とワード境界でのみ、ループのデータ流に入ることを保証する。ハブ内の各ハブポートは、ローカルクロックを使用して、データをハブループ内に挿入するので、ハブループ上のデータ流はローカルクロックに同期化される。上流のハブポートからのデータ流とノードポートからの平滑化されたデータ流は、ノードポートからのデータ流から回復されたクロック信号を使用するのではなくて、ローカルクロックに同期化されるので、一つのデータ流から別のデータ流へ切換えても、ハブループ上のデータ流の位相に影響はない。同様に、取り付けられたノードポートが切断されるかまたは故障し、そしてハブポートがバイパスモードに切換わったときに、ノードポートからのデータ流から、上流のハブポートからのデータ流に切換わっても、ハブループのデータ流の位相に影響しない。
【００２０】
さらに詳しく述べると、図２に示すように、ハブポート２００は、入ってくる内部ハブリンク（入力側内部ハブリンク）２０２を有し、この内部ハブリンク２０２は、マルチプレクサ２０４のような切換え装置のデータ入力および伝送回路２０６に接続されている。伝送回路２０６は、データを、データチャネル２０８にそってノードポート２１０に伝送する。ノードポート２１０は、データを、データチャネル２１２にそってハブポート２００に伝送する。データチャネル２１２は、受信回路２１４とクロック回復回路２１６に接続されている。クロック回復回路２１６は、ノードポート２１０から受信したデータからクロック信号を回復して、そのクロック信号を受信回路２１４に供給する。受信回路２１４は、上記回復されたクロック信号を使って平滑化回路２１８にデータを出力する。平滑化回路２１８はハブクロックライン２２０に接続されている。ハブクロックライン２２０は、ハブポート２００を含んでいるハブの内部のクロック（図示せず）に接続されている。ハブクロックライン２２０は、ハブポート２００を含有するハブ内の各ハブポートに接続されている。平滑化回路２１８は、ハブクロック信号を使用して、データをマルチプレクサ２０４のデータ入力に出力する。また、平滑化回路２１８は、マルチプレクサ２０４の制御入力に制御信号を供給して、マルチプレクサ２０４に対する入力の選択を制御する。マルチプレクサ２０４は、ハブポート２００を含有するハブのハブループ中へでていく内部ハブリンク２２２にデータを出力する。
【００２１】
ハブポート２００は、ノードポート２１０から受信するすべてのデータを、平滑化回路２１８とハブクロックライン２２０によって、ローカルクロックに同期化させる。上記データは、次に外へでる内部ハブリンク（出力側内部ハブリンク）２２２に出力される。ループに入るデータはすべて、同じローカルクロックに同期化される。なぜならば、ハブ内の各ハブポートが共通のローカルクロックに接続されているからである。上記のようにマルチプレクサ２０４は、二つのデータ入力すなわち平滑化回路２１８に接続されたデータ入力と、入ってくる内部ハブリンク２０２に接続されたデータ入力を有している。上記内部ハブリンク上のデータはすべて、平滑化回路２１８に接続されたローカルクロックと同じローカルクロックに同期化されるので、これら二つのデータ流の位相は同じである。したがって、ハブポート２００がマルチプレクサ２０４のデータ入力間で切換わると、下流のノードポートで受信されるデータ流の位相とビット境界は破壊されない。
【００２２】
また、ハブクロックライン２２０は、ローカルクロック信号を、伝送回路２０６に伝送する。伝送回路２０６は、上記ローカルクロック信号を使って、データをノードポート２１０に伝送する。回復されたクロック信号ではなくてクリーンなクロック信号によって伝送することによって、ハブポート２００からノードポート２１０へのジッタ（すなわち、信号が論理回路を通過するにつれて蓄積するデータ信号中のノイズ）の転送が減少し、好ましくは除去される。
【００２３】
図３は、第二の好ましい実施態様のハブポート３００のブロック図であり、その要素をより詳細に示している。ハブポート３００は、データをノードポート３１４に伝送する要素、データをノードポート３１４から受信する要素、およびノードポート３１４を、ハブループから取り出してバイパスするかまたはハブループに挿入する要素を備えている。
【００２４】
入ってくる内部ハブリンク３０２が、ハブポート３００を、ハブポート３００を含んでいるハブのループ内の上流のハブポート（図示せず）に接続している。入ってくる内部ハブリンク３０２は、マルチプレクサ３０４のデータ入力と、エンコーダ３０６に接続されている。エンコーダ３０６は好ましくは、通常の８Ｂ／１０Ｂエンコーダである。エンコーダ３０６は伝送回路３０８に接続されている。伝送回路３０８は、並直列変換器／直並列変換器（“ＳＥＲＤＥＳ”）回路３１０に接続されている。ＳＥＲＤＥＳ回路３１０はデータを直列化（シリアル化）し、そのデータを、データチャネル３１２を通じてノードポート３１４に送る。エンコーダ３０６、伝送回路３０８およびＳＥＲＤＥＳ回路３１０は各々、ハブクロックライン３３６に接続され、データを、そのクロック信号を使って出力する。このように、データは、クリーンなクロック信号を使って、ノードポート３１４に伝送される。したがって、ノードポート３１４へ送られるデータ信号はクリーンであるので、ジッタは、上流のノードポートからノードポート３１４へ、データ信号で実質的に送られることはない。
【００２５】
データチャネル３１６は、データを、ノードポート３１４からＳＥＲＤＥＳ回路へ運ぶ。ＳＥＲＤＥＳ回路３１０はノードポート３１４から受信した直列データを非直列化し、その非直列化データを、受信回路３１８に送る。また、ＳＥＲＤＥＳ回路３１０は、クロック信号を前記非直列化データから回復する。ＳＥＲＤＥＳ回路３１０は、前記回復されたクロック信号を、回復クロックライン３１７を通じて、受信回路３１８、ワード同期化検出回路３２２および“平滑化”先入れ先出し（“ＦＩＦＯ”）バッファ３２４に送る。あるいは、平滑化バッファ３２４はＦＩＦＯバッファである必要はない。
【００２６】
受信回路３１８はデータをデコーダ３２０に送る。デコーダ３２０は好ましくは慣用の１０Ｂ／８Ｂデコーダである。デコーダ３２０は、デコードされたデータを、ワード同期化検出回路３２２と平滑化ＦＩＦＯバッファ３２４に送る。ワード同期化検出回路３２２は、平滑化ＦＩＦＯ制御回路３２６に接続され、また、平滑化ＦＩＦＯ制御回路３２６は平滑化ＦＩＦＯバッファ３２４にも連結されている。平滑化ＦＩＦＯバッファ３２４は、マルチプレクサ３０４のデータ入力、充填ワード検出回路３３０および現行充填ワードジェネレータ３３２に接続されている。現行充填ワードジェネレータ３３２は、充填ワード検出回路３３０およびマルチプレクサ３０４のデータ入力に接続されている。平滑化ＦＩＦＯ制御回路３２６は、ハブポート出力制御回路３２８に接続され、ハブポート出力制御回路３２８は、マルチプレクサ３０４の制御入力に接続されている。マルチプレクサ３０４は出力レジスタ３３４に接続されている。
【００２７】
ハブクロックライン３３６はローカルクロック（図示せず）に接続されている。ローカルクロックは好ましくはハブ内の各ハブポートに接続され、共通のローカルクロック信号を、ハブ内の各ハブポートに供給する。ハブクロックライン３３６は、ローカルクロック信号を、エンコーダ３０６、伝送回路３０８、ＳＥＲＤＥＳ回路３１０、平滑化ＦＩＦＯバッファ３２４、現行充填ワードジェネレータ３３２および出力レジスタ３３４に供給する。
【００２８】
出力レジスタ３３４は、マルチプレクサ３０４からのデータを、外へでるハブリンク３３８に、前記ローカルクロックを使って出力する。出力レジスタ３３４は、接続しているハブポート間のパイプラインステージとして機能している。
【００２９】
取り付けられたノードポート３１４からデータを受信する場合、好ましいハブポートの設計の重要な部品は、平滑化ＦＩＦＯバッファ３２４と平滑化ＦＩＦＯ制御回路３２６である。平滑化ＦＩＦＯバッファ３２４は、平滑化ＦＩＦＯ制御回路３２６と共同して、ノードポート３１４から受信したデータを、ハブポートの内部クロックと同期化させる。平滑化ＦＩＦＯバッファ３２４は、前記受信データから回復されたクロック信号の二つの可能性として非同期のクロックドメインとハブポート３００のローカルクロックとの間の平滑化を行う機能を提供する。
【００３０】
作動において、ハブポート３００が、ノードポート３１４に接続されてノードポート３１４からデータを受信している場合、ＳＥＲＤＥＳ回路３１０は、ノードポート３１４から入ってくる直列（シリアル）のデータ流を非直列化（デシリアル化）し、非直列化された１０Ｂエンコードされたデータを生成する。また、ＳＥＲＤＥＳ回路３１０は、前記直列データからクロック信号を回復する。ＳＥＲＤＥＳ回路３１０は、前記回復されたクロック信号を、回復クロックライン３１７に出力し、その回復されたクロック信号は、受信回路３１８、ワード同期化検出回路３２２および平滑化ＦＩＦＯバッファ３２４によって受信される。受信回路３１８は、１０Ｂエンコードされたデータを受信して、前記回復されたクロック信号に同期化されるデータをデコーダ３２０に送る。デコーダ３２０は、次に、前記データの１０Ｂ／８Ｂデコーディングを行う。そのデコードされたデータは、ワード同期化検出回路３２２と平滑化ＦＩＦＯバッファ３２４に送られる。
【００３１】
ワード同期化検出回路３２２は、ANSI刊行物X3.230-1994(FC-PH,Rev4.3,1994年6月1日)12.1節に定義されている手続きを踏襲することが好ましい。特に、ワード同期化検出回路３２２が、デコーダ３２０から生成する三つの連続した有効なファイバーチャネル順序セットを検出したときは、ハブポート３００はすでにワード同期化を獲得していて、ワード同期化検出回路３２２は同期化獲得状態に入っている。ワード同期化検出回路３２２は、平滑化ＦＩＦＯ制御回路３２６を作動させ、そして、平滑化ＦＩＦＯ制御回路３２６は順に、次のファイバーチャネルワードを、平滑化ＦＩＦＯバッファ３２４中に書き込めるようにする。しかし、ファイバーチャネルプロトコルによって指定された無効のファイバーチャネルワードが多数、デコーダ３２０によってデコードされて、ワード同期化検出回路３２２によって検出されたときはいつでも、ワード同期化検出回路３２２は同期化喪失状態に入る。平滑化ＦＩＦＯ制御回路３２６は、ワード同期化が失われている場合、ワードを、平滑化ＦＩＦＯバッファ３２４に書き込めないようにする。
【００３２】
平滑化ＦＩＦＯバッファ３２４はＦＩＦＯバッファを備えており、そして平滑化ＦＩＦＯ制御回路３２６と共同して、受信されたファイバーチャネルデータを、ハブクロックライン３３６上のローカルクロックの周波数と同期化させる。ノードポート３１４から受信したデータは、回復クロックライン３１７上の回復されたクロックによって決定されるデータ速度で、平滑化ＦＩＦＯバッファ３２４中に書き込まれる。上記データは、ハブ内のローカル発振器（図３には図示せず）によって決定されるローカルクロック信号に同期化される。データは、ハブクロックライン３３６上のローカルクロック信号によって決定されるデータ速度で、平滑化ＦＩＦＯバッファ３２４からマルチプレクサ３０４中に出力される。
【００３３】
マルチプレクサ３０４は、データを、出力レジスタ３３４中に出力する。マルチプレクサ３０４の切換えは、ハブ出力制御回路３２８によって制御され、ハブ出力制御回路３２８はマルチプレクサ３０４の制御入力に接続されている。ノードポート３１４から受信したデータをループ中に挿入すべきときは、平滑化ＦＩＦＯバッファ３２４に対応するデータ入力が選択される。充填ワードをループ中に挿入すべきときは（以下に述べる）、現行充填ワードジェネレータ３３０に対応するデータ入力が選択される。ハブポート３００がバイパスモードにあるとき、入ってくる内部ハブリンク３０２に対応するデータ入力が選択される。これらデータ流は各々、位相が同じなので、データ入力間の切換えは、ビット境界に起こって、一定の位相が維持される。出力データレジスタ３３４は、ハブクロックライン３３６で受信されたローカルクロック信号を用いて、外へでる内部ハブリンク３３８中にデータを出力する。
【００３４】
回復されたクロックの周波数とローカルクロックの周波数は例えば±１００ｐｐｍのようなわずかな大きさの変動がある。上記回復されたクロックの周波数およびローカルクロックの周波数における上記の差は、データを（回復されたクロック信号を使って）平滑化ＦＩＦＯバッファ３２４中に書き込む場合のデータ速度と、データを（ローカルクロック信号を使って）平滑化ＦＩＦＯバッファ３２４から取り出す場合のデータ速度との間の差を生じる。平滑化ＦＩＦＯ制御回路３２６は、平滑化ＦＩＦＯバッファ３２４に入ってくるデータの速度と、平滑化ＦＩＦＯバッファ３２４から外へでていくデータの速度の差を、充填ワードを使用して“平滑化”する。充填ワードは一般に、ファイバーチャネルのデータ流のデータフレーム間ギャップ（inter frame gap）中に挿入される。事実上、あらゆるデータ流に、いくつかの数の充填ワードが含まれている。現行充填ワードは、一般に、ＦＣ−ＡＬプロトコルにしたがって作成されたリストから選択される。平滑化ＦＩＦＯバッファ３２４内のデータ量が各種のしきい値に到達したとき、平滑化ＦＩＦＯ制御回路３２６は、現行充填ワードの挿入または削除をスケジュールすることによって、平滑化ＦＩＦＯバッファ３２４が、枯渇したりまたはオーバーフローするのを防止する。平滑化ＦＩＦＯ制御回路３２６が、充填ワードを削除することが適当であると決定すると、平滑化ＦＩＦＯ制御回路３２６は、適切な充填ワードが、削除の行われる前に、フレーム間ギャップ内に見出されるまで待っている。挿入が適当である場合、平滑化ＦＩＦＯ制御回路３２６はフレーム間ギャップを待って、マルチプレクサ３０４に、出力レジスタ３３４に出力すべき、現行充填ワードジェネレータ３３２に対応するデータ入力を選択させる。同時に、平滑化ＦＩＦＯ制御回路３２６は、平滑化ＦＩＦＯバッファ３２４からのデータ読み取りを一時的に停止する（stall）。現行充填ワードジェネレータ３３２に、充填ワード検出回路３３０が接続されている。充填ワード検出回路３３０は、充填ワード挿入が適当な場合に使うべき充填ワードで、現行充填ワードジェネレータ３３２を更新することによって、最新の適切な充填ワードを追跡する。
【００３５】
データが平滑化ＦＩＦＯバッファ３２４から取り出されてマルチプレクサ３０４に出力される場合、ローカルクロックの周波数が回復クロックの周波数より速い場合、平滑化バッファ３２４内のデータ量が減少する。また平滑化ＦＩＦＯバッファ３２４内のデータの量は、平滑化ＦＩＦＯバッファ内への書き込みが、ワード同期化の喪失のため、できなくなったときにも減少する。平滑化ＦＩＦＯバッファ３２４内のデータの量が最小しきい値より低い値まで低下すると、平滑化ＦＩＦＯ制御回路３２６は、ハブポート出力制御回路３２８に、ハブポート３００をバイパスさせる。ハブポート出力制御回路３２８は、マルチプレクサ３０４に、入ってくる内部ハブリンク３０２に対応するデータ入力を選択させて、平滑化ＦＩＦＯバッファ３２４の出力ではなくて、上流のハブポートからのデータを直接出力する。平滑化ＦＩＦＯバッファ３２４内のデータ量が最小しきい値を再び超えると、平滑化ＦＩＦＯ制御回路３２６は、ハブポート出力制御回路３２８に、バイパスを終わらせる。ハブポート出力制御回路３２８は、マルチプレクサ３０４に、平滑化ＦＩＦＯバッファ３２４からのデータを選択させて、ノードポート３１４をループに戻す。なお、ノードポートをループから取り出したりループに挿入するのに異なるしきい値を用いてもよい。
【００３６】
ローカルクロックの周波数が回復クロックの周波数より遅いと、平滑化ＦＩＦＯバッファ３２４内のデータ量が増大する。平滑化ＦＩＦＯバッファ３２４内のデータ量が最大しきい値を超えると、平滑化ＦＩＦＯ制御回路３２６が上記のように充填ワードを削除する。
【００３７】
作動において、ハブポート３００がノードポート３１４に接続されていないと、ハブポート３００はバイパスモードにある。マルチプレクサ３０４は、入ってくる内部ハブリンク３０２に対応するデータ入力を、出力レジスタ３３４に接続する。ノードポート３１４が初めにハブポート３００に接続されて、データ流を伝送し始めると、先に述べたのと類似のプロセスが起こる。そのデータはＳＥＲＤＥＳ回路３１０によって非直列化され、デコーダ３２０によってデコードされ、次いでワード同期化検出回路３２２に供給される。有効な順序セットが受信されている場合、ワード同期化検出回路３２２が同期化獲得状態に入り、そしてその受信されたデータが、平滑化ＦＩＦＯバッファ３２４内に書き込まれ始める。データが平滑化ＦＩＦＯバッファ３２４内に書き込まれ続けると、平滑化ＦＩＦＯバッファ３２４は最小しきい値を超える。この時点で、平滑化ＦＩＦＯ制御回路３２６は、ハブポート出力制御回路３２８に、ハブポート３００に対するバイパスモードを終わらせる。ハブポート出力制御回路３２８は、マルチプレクサ３０４に、入ってくるハブリンク３０２上の上流ハブポートからのデータではなくて、平滑化ＦＩＦＯバッファ３０４に対応するデータ入力を選択させる。ノードポート３１４から受信したデータは、平滑化ＦＩＦＯバッファ３２４からデータを読み出すためのローカルクロック信号を使用してループ内に挿入されるので、ノードポート３１４は、データ流の同期化を中断することなく、ループ内に挿入される。
【００３８】
作動において、ハブポート３００がノードポート３１４から受信しているデータ流が、例えば、データ流のビットまたはワードの同期化の喪失、ノードポート３１４の故障またはノードポート３１４の切断によって中断されると、ワード同期化検出回路３２２が、有効な同期化データの喪失を検出して、同期化が失われた状態に入る。続くデータは、平滑化ＦＩＦＯバッファ３２４中に書き込まれない。データは、ＦＩＦＯバッファ３２４から取り出されて、マルチプレクサ３０４によって出力レジスタ３３４に出力され続けて、平滑化ＦＩＦＯバッファ３２４は空に近づく。上記のように、平滑化ＦＩＦＯ制御回路３２６が、平滑化ＦＩＦＯバッファ３２４が最小しきい値未満に低下したことを検出すると、平滑化ＦＩＦＯ制御回路３２６は、ハブポート出力制御回路３２８に、ハブポート３００をバイパスさせる。ハブポート出力制御回路３２８は、マルチプレクサ３０４に、入ってくる内部ハブリンク３０２および上流ハブポートからのデータに対応するデータ入力を選択させる。したがって、有効データがノードポート３１４から受信されない間、ハブポート３００はバイパスモードに入る。このバイパスは、ローカルクロック信号と同期化しているときに起こるので、ノードポート３１４が故障しても、ループのデータ流は中断されない。
【００３９】
データをハブポート３００からノードポート３１４に伝送する際、エンコーダ３０６が、上流ハブポートから、入ってくる内部ハブリンク３０２にそって受信されるエンコードされていないファイバーチャネルデータを、好ましくは８Ｂ／１０Ｂエンコーディングを使用してエンコードする。エンコーダ３０６は、上流ハブポートの、ＳＥＲＤＥＳ回路で回復されたクロック信号を組み入れない。なぜならば、その回復されたクロック信号は、その上流ハブポートによって送られないからである。上記のように、データは、上記回復されたクロック信号ではなくて、ハブクロックライン３３６上のローカルクロック信号を使って、ハブポートの外へでる内部ハブリンク３３８に出力される。エンコーダ３０６は、ハブクロックライン３３６上のローカルクロック信号を取り入れることが好ましい。そのエンコードされたデータは伝送回路３０８に送られる。伝送回路３０８は、完全なワードだけがノードポート３１４に伝送されることを保証する。さらに、伝送回路３０８は、必要に応じて、例えば、ディスパリティ（disparity）を正または負に変更することによって、データのランニングディスパリティ（running disparity）（すなわち、データ信号の１と０の数の値の差）を自動的に調節する。そのデータは、ＳＥＲＤＥＳ回路３１０に送られて直列化され、次いでハブクロックライン３３６上のローカルクロックを使ってノードポート３１４に伝送される。上記のように、ローカルクロック信号を使って、データをノードポート３１４に伝送することによって、データ流に蓄積されてきたジッタは、ノードポート３１４に、実質的に伝送されない。
【００４０】
このように、複数のノードポートの一つのノードポートまたはループセグメントを、下流のノードポートへ伝送されるデータの位相の破壊を起こすことなく、ハブポートによって、シームレス（seamless）で、ループに挿入またはループから取り出すことができる。その上に、ハブポート間のジッタの転送が実質的に除かれる。
【００４１】
本発明のいくつかの実施態様を説明してきた。しかし、これらの実施態様は例示を目的とするものであり本発明を限定するものではない。その外の実施態様と変形は、当業技術者にとって明らかであろう。本発明の範囲は、本願の特許請求の範囲によってのみ限定される。
【図面の簡単な説明】
【図１】  ハブを含むループの従来技術の配置構成を示す。
【図２】  ハブポートの第一の好ましい実施態様のブロック図である。
【図３】  ハブポートの第二の好ましい実施態様のブロック図である。
【図１】
0003734016.tif 000002
【図２】
0003734016.tif 000003
【図３】
0003734016.tif 000004