"ファイバチャネルアービトレート型ループデバイスを相互接続するシステムであって、該システムは、第1のファイバチャネルアービトレート型ループスイッチと、第2のファイバチャネルアービトレート型ループスイッチとを含み、該第1のファイバチャネルアービトレート型ループスイッチおよび該第2のファイバチャネルアービトレート型ループスイッチが、ポートロジック、接続装置、ルート決定ロジックを含み、該ルート決定ロジックが特定のアービトレート型ループプリミティブの受領に基づいてルートを作成し、該第1のループスイッチおよび該第2のループスイッチが、両方のポートにおいて複数のインタースイッチリンクおよびトランスファフレームによって相互接続され、該第1のループスイッチおよび該第2のループスイッチが、異なったポートタイプおよびデバイスアクセスフェアネスアルゴリズムに従って、該ポートに異なったアクセスプライオリティを割り当てるロジックをさらに含み、該システムが、トランクグルーピングテーブルをさらに含む、システム。デバイスの第1のグループが第1のインタースイッチリンクを介して接続し、デバイスの第2のグループが第2の異なったインタースイッチリンクを介して接続する、請求項1に記載のファイバチャネルアービトレート型ループデバイスを相互接続するシステム。前記テーブルがルータ内にある、請求項1に記載のファイバチャネルアービトレート型ループデバイスを相互接続するシステム。前記トランクグルーピングテーブルが前記グルーピングを自動的に学習する、請求項1に記載のファイバチャネルアービトレート型ループデバイスを相互接続するシステム。前記テーブルが、ファイバチャネルアービトレート型ループデバイスイニシエータからの以前のOPNより前記グルーピングを学習する、請求項4に記載のファイバチャネルアービトレート型ループデバイスを相互接続するシステム。前記デバイスイニシエータがSCSIイニシエータである、請求項5に記載のファイバチャネルアービトレート型ループデバイスを相互接続するシステム。前記SCSIイニシエータがサーバである、請求項6に記載のファイバチャネルアービトレート型ループデバイスを相互接続するシステム。前記トランクグルーピングテーブルがSCSIイニシエータについての情報を含む、請求項1に記載のファイバチャネルアービトレート型ループデバイスを相互接続するシステム。前記トランクグルーピングテーブルが、イニシエータアービトレート型ループデバイスのための、フレームの経路を決定するためにプライマリポートを識別する、請求項1に記載のファイバチャネルアービトレート型ループデバイスを相互接続するシステム。前記トランクグルーピングテーブルが、イニシエータアービトレート型ループデバイスのための、フレームの経路を決定するためにバックアップまたは複製ポートを識別する、請求項1に記載のファイバチャネルアービトレート型ループデバイスを相互接続するシステム。前記トランクグルーピングテーブルがデバイスのために複製ポートを識別する、請求項1に記載のファイバチャネルアービトレート型ループデバイスを相互接続するシステム。前記トランクグルーピングテーブルがイニシエータALPAを識別する、請求項1に記載のファイバチャネルアービトレート型ループデバイスを相互接続するシステム。前記複製ポートがフェイルオーバーポートとして使用される、請求項11に記載のファイバチャネルアービトレート型ループデバイスを相互接続するシステム。前記SCSIイニシエータについての前記情報が、前記イニシエータのためのALPAアドレス、前記フレームの経路を決定するための割り当てられたプライマリトランクグループ、および前記プライマリトランクグループのエラーの際に前記フレームの経路を決定するための複製ポートのうちの1つ以上を含む、請求項1に記載のファイバチャネルアービトレート型ループデバイスを相互接続するシステム。複数のファイバチャネルループデバイス間でファイバチャネルアービトレート型ループシステムを切り替えるための方法と装置が提供される。本発明の1つの態様においては、システムスイッチは少なくとも一部のアービトレート型ループプリミティブを基にしていた。例示的な相互接続システムは、第1ポートと第2ポートを含み、両方が特定のアービトレート型ループプリミティブをモニタするためのポートロジック、接続装置、ALPAアドレスとその関連ポートから構成されるルーティングテーブルを含むルート決定装置、各ポートに接続されたルート決定装置を含み、接続装置がアービトレート型プリミティブを基にしてポート間のパスを作成する。1つの実施形態では、接続装置は、クロスバースイッチである。スイッチにポート間のパスを作成させるアービトレート型ループプリミティブの例は、ARB、OPN、CLSの1つまたは複数を含む。ファイバチャネルアービトレート型ループデバイスを相互接続するさらなる他のシステムは、1つまたは複数のファイバチャネルアービトレート型ループデバイスを含む第1アービトレート型ループ、第2アービトレート型ループデバイス、ファイバチャネルアービトレート型ループ相互接続システム、第1アービトレート型ループと組みになったポートロジックを含む第1ポート、第2アービトレート型ループと組みになったポートロジックを含む第2ポート、ポート間でルートを選択するルート決定装置を含む相互接続システム、ルート決定装置のコントロール下にあるポート間のフレームを切り替えるため第1および第2ポートとルート決定装置と組みになっている接続装置から構成されている。前記ルート決定装置はポートから受け取ったファイバチャネルアービトレート型ループプリミティブを基にしてルートを選択し、ALPAアドレスとその関連ポートを含んでいるルーティングテーブルを含む。ここでも、接続装置はクロスバースイッチであり、アービトレート型ループプリミティブはARB、Open、Closeである。本発明のさらなる別の態様では、トランキングのための方法と装置が提供される。例証として、ファイバチャネルアービトレート型ループデバイスを相互接続するシステムに、第1ファイバチャネルアービトレート型ループスイッチと、第2ファイバチャネルアービトレート型ループスイッチが含まれ、両方がポートロジック、接続装置、ルート決定ロジック、ARB、OPN、CLSのような特定のアービトレート型ループプリミティブの受取りを基にしてルートを作成し、第1ループスイッチと第2ループスイッチが2つ以上のファイバチャネルアービトレート型ループリンクによって相互接続され、両方のポートでフレームが伝送されるようなルート決定ロジックを含むことがある。本発明のさらなる別の態様では、システムと方法は、ファイバチャネルアービトレート型ループシステムでのデバイスアクセスフェアネスを保証するように試みる。かかるシステムは、それぞれがポートロジック、ルート決定装置、接続装置、フェアネスを実施するための定義済みループコントロール基準を実装しているロジックを含む、複数のファイバチャネルアービトレート型ループポートを含むことがある。例証として、ロジックによって実装される定義済みループコントロール基準は、接続済み装置が他の装置をオープンする回数を制限することができる。特に、接続済み装置が他の装置をシーケンシャルにオープンする回数を制限することができる。これは、オープンの回数、特にシーケンシャルの回数をカウントするカウンタによって実装されるのが適切である。任意で、システムは進んでデバイスを閉じることができる。フェアネスに関するさらなる他の態様では、ポートには、ポートタイプなどを基にして異なるアクセスプライオリティを割り当てることができる。さらなる他の態様では、プライオリティ順番制がデバイスアクセスフェアネスを保証するのに役立つ。本発明のさらなる別の態様では、ファイバチャネルアービトレート型ループシステムでデバイスゾーニングが使用される。例示的なシステムは、それぞれがポートロジック、ルート決定装置、接続装置たとえばいわゆる第1ポートで受け取ったLIPが選択的に1つまたは複数のポートに伝播される特定のファイバチャネルアービトレート型ループプリミティブの受取りを基にしてファイバチャネルアービトレート型ループポートに接続するように調整されたクロスバースイッチを含む複数のファイバチャネルアービトレート型ループポートを含む。本発明の目的したがって、本発明は、ARB、OPN、CLSのようなアービトレート型ループプリミティブを少なくとも一部を基にして効果的かつ効率的に切り替えるファイバチャネルアービトレート型ループシステムを提供することを目的としている。本発明のさらなる一つの目的は、優れたデバイスアクセスフェアネスを持つシステムと方法を提供することである。本発明のさらなる一つの目的は、フレームが複数のポートで転送されるようなトランキングを持つシステムを提供することである。さらに本発明は、デバイスゾーニングを使用するシステムと方法を提供することも目的としている。項目1ファイバチャネルアービトレート型ループデバイスを相互接続するシステムであって、該システムは、第1のファイバチャネルアービトレート型ループスイッチと、第2のファイバチャネルアービトレート型ループスイッチとを備え、該第1の、および第2のファイバチャネルアービトレート型ループスイッチが、ポートロジック、接続装置およびルート決定ロジックを含み、該ルート決定ロジックが特定のアービトレート型ループプリミティブの受領に基づいてルートを作成し、それによって該第1の、および第2のループスイッチが、両方のポートにおいて複数のインタースイッチリンクおよびトランスファフレームによって相互接続される、システム。項目2デバイスの第1のグループが第1のインタースイッチリンクを介して接続し、デバイスの第2のグループが第2の異なったインタースイッチリンクを介して接続する、項目1に記載のファイバチャネルアービトレート型ループデバイスを相互接続するシステム。項目3トランクグルーピングテーブルをさらに含む、項目1に記載のファイバチャネルアービトレート型ループデバイスを相互接続するシステム。項目4上記テーブルがルータ内にある、項目3に記載のファイバチャネルアービトレート型ループデバイスを相互接続するシステム。項目5上記トランクグルーピングテーブルが上記グルーピングを自動的に学習する、項目3に記載のファイバチャネルアービトレート型ループデバイスを相互接続するシステム。項目6上記テーブルが、ファイバチャネルアービトレート型ループデバイスイニシエータからの以前のOPNより上記グルーピングを学習する、項目5に記載のファイバチャネルアービトレート型ループデバイスを相互接続するシステム。項目7上記デバイスイニシエータがSCSIイニシエータである、項目6に記載のファイバチャネルアービトレート型ループデバイスを相互接続するシステム。項目8上記SCSIイニシエータがサーバである、項目7に記載のファイバチャネルアービトレート型ループデバイスを相互接続するシステム。項目9上記トランクグルーピングテーブルがSCSIイニシエータについての情報を含む、項目3に記載のファイバチャネルアービトレート型ループデバイスを相互接続するシステム。項目10上記トランクグルーピングテーブルが、イニシエータアービトレート型ループデバイスのための、フレームの経路を決定するためにプライマリポートを識別する、項目3に記載のファイバチャネルアービトレート型ループデバイスを相互接続するシステム。項目11上記トランクグルーピングテーブルが、イニシエータアービトレート型ループデバイスのための、フレームの経路を決定するためにバックアップまたは複製ポートを識別する、項目3に記載のファイバチャネルアービトレート型ループデバイスを相互接続するシステム。項目12上記トランクグルーピングテーブルがデバイスのために複製ポートを識別する、項目3に記載のファイバチャネルアービトレート型ループデバイスを相互接続するシステム。項目13上記トランクグルーピングテーブルがイニシエータALPAを識別する、項目3に記載のファイバチャネルアービトレート型ループデバイスを相互接続するシステム。項目14上記複製ポートがフェイルオーバーポートとして使用される、項目12に記載のファイバチャネルアービトレート型ループデバイスを相互接続するシステム。項目15上記SCSIイニシエータについての上記情報が、上記イニシエータのためのALPAアドレス、上記フレームの経路を決定するための割り当てられたプライマリトランクグループ、および上記プライマリトランクグループのエラーの際に上記フレームの経路を決定するための複製ポートのうちの1つ以上を含む、項目3に記載のファイバチャネルアービトレート型ループデバイスを相互接続するシステム。目次1.定義2.ループスイッチフィーチャセット3.機能概要3.1ハブエミュレーションモード共有帯域幅3.2非オーバラップハードゾーニング複数ループ3.3スイッチングセグメント化モード3.4オーバラップハードゾーニングバーチャルループ4.アーキテクチャの説明4.1ポートロジック4.2ルータ4.3スイッチロジック4.4ファイバチャネルポート4.5内部Serdes5.機能の説明5.1ループスイッチ内部セルフテスト5.2内部ループバック5.3ポート挿入5.3.1ワードシンクの確立5.3.2Vixelループスイッチへの直接接続の検出5.3.3接続でのシリアル番号交換SEOC5.3.4SEOC障害5.3.5ポート挿入の完了5.3.6ポート挿入障害5.4ポートバイパス5.5デバイスディスカバリ5.5.1フルループスイッチ初期化時のパッシブデバイスディスカバリ5.5.2LILPありシャドーデバイスALPA解決5.5.3LILPなしシャドーデバイスALPA解決5.5.4デバイスディスカバリエラー5.5.5ループ初期化タイムアウト5.6ARBffによるアイドル交換5.7スイッチングセグメント化モードオペレーション5.7.1同じポートのソースノードと宛先ノード5.7.2異なるポートでのソースノードと宛先ノード5.7.3同時オープン接続要求5.7.4非存在デバイスに送られるOPN5.7.5OPNに続くR_RDY5.7.6ノード障害5.7.7マイクロプロセッサ支援オペレーション5.8カスケード接続5.8.1シングルカスケード5.8.2重複カスケード-トランキング5.9ポートフェアネス5.9.1シングルループスイッチフェアネス5.9.2フェアネスに対する複数ループスイッチシステムの影響5.9.3フェアネスに対する反復クロージャ影響5.10ゾーニング5.10.1非オーバラップゾーニング5.10.2オーバラップゾーニングスイッチングモード5.11LIPアイソレーション5.11.1非ステルスモード5.11.2ステルスモード5.11.3ステルスモードアイソレーション。シングルASIC、シングルLIPゾーンのデバイス、ルートブロッキングなし5.11.4ステルスモードアイソレーション。シングルASIC、マルチLIPゾーンのデバイス、ルートブロックなし5.11.5ステルスモードアイソレーション。シングルASIC、マルチLIPゾーンのデバイス、ルートブロックあり5.11.6ステルスモードアイソレーション。マルチASIC、マルチLIPゾーンのデバイス、ルートブロックあり5.11.7ステルスモードアイソレーション、マルチASIC、マルチゾーン、接続でのHBA1HBA25.11.8ステルスモードアイソレーション、マルチASIC、マルチLIPゾーンのデバイス、同時LIP5.12CPUポートインタフェース5.12.1CPUポートの説明と動作5.13ポート管理機能5.13.1ポートコントロール5.13.2ポートステータス5.13.3順序集合定義5.13.4ユーザマッチ機能5.13.5順序集合伝送5.13.6GBIC/SFPステータスおよびコントロール5.13.7FBIC/SFPシリアルID5.13.8エラーカウンタ5.13.9ポートモニタリングモード5.13.10ポート外部ループバック5.13.11周波数チェック回路5.13.12ポートオペレーションポリシー5.13.13ALPAからポートへのマップ5.13.14トラフィックパターンスイッチモードのみ5.13.15ポート/ループセグメント利用率測定5.13.16ポートオーバラップハードゾーニングスイッチモードのみ5.13.17ローデータスヌープポート5.14ループスイッチ管理機能5.14.1入力データ信号5.15ループスイッチ管理機能5.15.1環境モニタリング5.15.2ループステート検出とLED5.15.3ループ初期化5.16FCポートインタフェース5.16.1GBIC/SFPピン5.16.2Lock-to_Reference5.17システムインタフェース5.18マイクロプロセッサインタフェース5.18.1割込み信号5.18.2I2Cシリアルインタフェース5.18.3パラレルプロセッサインタフェース5.19シリアルEEPROMインタフェース6.VixelSOC422ループスイッチのレジスタ定義6.1ルータレジスタ定義6.1.1ルータ構成レジスタ6.1.2ルータコントロールレジスタ16.1.3ルータコントロールレジスタ26.1.4リムーブコネクション/ペンディングOPNレジスタ6.1.5ストール閾値レジスタ6.1.6ルータローカルSEOCUSERレジスタ6.1.7RTRSWマトリクス構成レジスタ6.1.8ポートアクティブステータスレジスタ6.1.9スイッチマトリクスコントロールレジスタ6.1.10スイッチマトリクス選択レジスタ6.1.11Remconn_cntレジスタ6.1.12ポートアンフェアレジスタ6.1.13ポート15-0割込みステータスレジスタ6.1.14フューチャポート31-23/ポート22-16割込みステータスレジスタ6.1.15ルータステータスレジスタ16.1.16ルータステータスレジスタ2ルータ割込みステータス6.1.17ルータステータスレジスタ36.1.18ルータステータスレジスタ46.1.19ブロックALPA/ルータループアップカウンタレジスタ6.1.20ルータコントロールレジスタ36.1.21システムLEDオーバライドレジスタ6.1.22ルータ割込みマスクレジスタ6.1.23ポートフェアネスコントロールレジスタ6.1.24バリアブルプライオリティタイマーレジスタ6.1.25ルータオーバラップハードゾーンコントロールレジスタ6.1.26ルータオープンポートマップレジスタ6.1.27ルータALPAポートマップレジスタ6.1.28ルータALPAポジションマップLILPペイロードレジスタ6.1.29ルータシリアルEEPROMキャプチャレジスタ6.1.30ループ初期化マスターWWNレジスタ6.1.31ソフトウェアオーバライドイニシエータビットマップ6.1.32キャプチャイニシエータビットマップ6.1.33トランク分類レジスタ6.1.34ラーンドイニシエータポートマップレジスタ6.1.35宛先ALPAでのクローズカウントレジスタ6.1.36PerALPAオープンカウンタマックスレジスタ6.1.37ステルスアイソレーションコントロールレジスタ16.1.38ステルスアイソレーションコントロールレジスタ26.1.39ストップトラフィックコントロールレジスタ6.1.40ステータスレジスタ56.1.41ステータスレジスタ5割込みのためのマスクレジスタ6.1.42ステルスタイムアウトレジスタ6.1.43ステータスレジスタ6ステルス状態6.1.44ステルスLIPインタースイッチ伝送ペイロードレジスタ6.1.45ステルス受信インタースイッチASICフレームレジスタ6.1.46LIFAフレーム修正レジスタ6.1.47LIRPフレーム修正レジスタ6.1.48ルートブロッキングレジスタ、グループ0から7まで6.1.49ルートブロッキングレジスタ、グループ8からEまで6.1.50LIPアイソレーションゾーンコントロールレジスタ6.1.51ステルスジェネリックインタースイッチフレームへッダレジスタ6.1.52ステルスジェネリックインタースイッチフレーム伝送ペイロードレジスタ6.1.53ステルスジェネリックインタースイッチフレームペイロードレジスタ6.2ポートレジスタ定義6.2.1ポート構成レジスタ6.2.2ポートコントロールレジスタ16.2.3ポートユーザ順序集合マッチレジスタ6.2.4ポートユーザ順序集合伝送レジスタ6.2.5ユーザ10Bワード6.2.6ローカルSEOCP_INFO6.2.7ポート割込みマスクレジスタ16.2.8ポート割込みマスクレジスタ26.2.9NoCommaTimerレジスタ6.2.10OS/CRCエラー閾値レジスタ6.2.11ポートコントロールレジスタ26.2.12ストールカウンタレジスタ6.2.13ポートエラー/変更ステータスレジスタ16.2.14ポートエラー/変更ステータスレジスタ26.2.15ポートステータスレジスタ16.2.16ポートステータスレジスタ26.2.17ポートディテクタレジスタ16.2.18ポートディテクタレジスタ26.2.19ポートOSエラーカウント6.2.20カレント宛先レジスタ6.2.21ポートマッチカウントレジスタ6.2.22ポート利用率レジスタ6.2.23ポートキャプチャ順序集合レジスタ6.2.24無効OPN/ブロードキャストARBxALPAキャプチャレジスタ6.2.25ポート挿入/ルックアップカウンタレジスタ6.2.26ポートCRCエラーALPAレジスタ6.2.27RXフレームカウントレジスタ6.2.28ポート接続試行レジスタ6.2.29ポート接続延期レジスタ6.2.30ポートクロックデルタカウントタ6.2.31Src/DestALPAレジスタ6.2.32ポートALPAビットマップレジスタ6.2.33リモートSEOCP_INFOレジスタ6.2.34リモートSEOCUSERレジスタ6.2.35GBIC/SFPリードアドレスレジスタ6.2.36ポートオープンロックアップマックスカウントレジスタ6.2.37GBIC/SFPシリアルIDデータレジスタ6.2.38ミスマッチOPNのSrc/DestALPAレジスタ6.2.39OPNミスマッチレジスタ上の宛先ID6.2.40未知のOPN/LostノードからのSrc/DestALPAレジスタ6.2.41その他のコントロールレジスタ6.2.42SCSI統計情報ALPA6.2.43SCSIリードIOカウンタ6.2.44SCSIライトIOカウンタ6.2.45SCSIリードバイトカウンタ6.2.46SCSIライトバイトカウンタ6.3CPUポートレジスタ6.3.1割込みレジスタ6.3.2割込みマスクレジスタ6.3.3コントロールレジスタ6.3.4XmtFIFOリードライトポインタレジスタ6.3.5XmtFIFOデータレジスタ6.3.6RcvDMAサービスタイマーレジスタ6.3.7RcvFIFOリートライトポインタレジスタ6.3.8RcvFIFOデータレジスタ6.3.9統計カウンタレジスタ6.3.10ミリ秒タイムベースコントロールレジスタ7.信号の説明1.定義略語と説明アービトレート型ループ-ループへのアクセスするためにポートがアービトレーションを使用するファイバチャネルトポロジARB-ファイバチャネルアービトレートプリミティブ順序集合。ループのコントロールを取得するのに使用されるAL_TIME-アービトレート型ループタイマー。AL標準で定義されているデフォルト値が15msのタイマーALPAまたはAL_PA-アービトレート型ループ物理アドレス、ユニークな1バイト8ビット値。詳細についてはFCALT11仕様を参照API-アプリケーションプログラミングインタフェースASIC-アプリケーション固有集積回路ビーコニング-サービス要員の注意を引き付けるためにポートのLEDが点滅カスケード-2つのハブの間での名目上の接続。アービトレーションメカニズムは、フェアシステムオペレーションを促進するために修正されるCLS-ファイバチャネルプリミティブをクローズ。ループ回路を終端するためにL_Portによって使用されるプロシージャCRC-巡回冗長検査。データフレームのデータ完全性を検査するのに使用される。DITH-DeerInTheHeadlights。SEOC情報転送がFC-AL仕様を満たすようにループスイッチASICによって使用されるアルゴリズム重複カスケード-2つ以上のインタースイッチが存在しているときの、ループスイッチ間のリンク。トランキングとも呼ばれる動的ロードバランシング-同じ2つのループスイッチ間の2つ以上のリンクでフレームトラフィックを操る能力EWRAP-電気的WRAPトランシーバへのループバック信号EEPROM-電気的消去可能プログラマブルROMフェアネスウィンドウ-またはアクセスフェアネスウィンドウフェアL_Portが1回だけアービトレーションしループへのアクセスを獲得する期間。詳細についてはANSIFCALを参照FC-ファイバチャネルFC-AL-ファイバチャネル-アービトレート型ループプロトコルFCMAC-ファイバチャネルメディアアクセスコントロール。FC0、FC1、FC2-ANSIファイバチャネル機能のいくつかを実装。FPGA-フィールドプログラマブルゲートアレイFL_Port-FCALによって定義されているループポート状態マシーンを含むF_PortすなわちファブリックポートGBIC-ギガビットインタフェースコンバータGbps-ギガビット/秒ハードゾーン-相互に分かれているゾーンまたはエリアすなわち、ファイバチャネルフレームまたはアービトレート型ループプリミティブはゾーンを通らないHBA-ホストバスアダプタハブエミュレーションモード-すべてのポートを一緒に配線してハブ接続のようなものよってループスイッチがハブをエミュレートするモードI2C-Inter-IntegratedCircuitプロトコルI2CJBOD-JustaBunchofDisks。ポートバイパス手段によって接続された、シングルエンクロージャのFC-ALディスクのグループLIM-ループ初期化マスター-ループの初期化を担当するL_PortLIP-ループ初期化プリミティブシーケンス-いずれかのLIPプリミティブシーケンス。FCALを参照LIPブロッキング-LIPの伝播をブロックする行為。通信を撹乱しないようにループスイッチのポートで使用されるLIPゾーン-ゾーンのいずれかの装置によって受け取られた場合、ループスイッチがLIPを伝播するデバイスのリストループ-ANSIFCALで説明されているアービトレート型ループループ回路-同じループで2つのL_Port間での通信を可能にする双方向パスループスイッチ-ARB、OPN、CLSのようなFCALプリミティブを切り替えるスイッチ。ループスイッチは、クロスバースイッチ、ルータ、ポートロジックを含むことがあるLPB-ループポートバイパスプリミティブシーケンスLPE-ループポートバイパスプリミティブシーケンスL_Port-ANSIX3、FCPHで定義されているFL_PortまたはNL_PortのいずれかLPSM-ループポート状態マシーンNL_Port-FCALで定義されているループポート状態マシーンを含むN_Portすなわちノードポートオープン-ループ回路を確立するためにL_Portによって使用されるプロシージャOPN-ALPAによって識別される特定のデバイスへの接続をオープンするのに使用されるオープンファイバチャネルプリミティブ、FCALを参照OS-順序集合。ファイバチャネルプリミティブ、長さは4バイトPOST-電源投入時セルフテストプリミティブシーケンス-プリミティブシーケンスによって伝えられる関数が実行される前の、3つの同じ連続的順序集合、ANSIFCPHを参照RAR-Register-Select-RegisterSOC422-シングルASIC製品でのVixelのループスイッチSBOD-SwitchedBunchOfDisks。スイッチによって接続されたシングルエンクロージャでのFC-ALディスクのグループスイッチングまたはセグメント化モード-様々なポートに接続されたデバイスへの同時非ブロッキング接続を行うのにクロスバースイッチを利用するループスイッチのモード。接続はOPNで作成され、CLSループプリミティブによってクローズされるSEOC-接続時シリアル番号交換。ファイバチャネルFC-AL相互接続デバイスの接続の前にシリアル番号を交換するのに使用されるプロトコルSerdes-シリアル化/非シリアル化シリアルID-構成データを含むシリアルEEPROMでのGBICのタイプSFP-スモールフォームファクタトランシーバスマート挿入アルゴリズム-いつポートを動作中と宣言するかを決めるための選択肢を追加するアルゴリズムSN-シリアル番号Stall-ループスイッチでオープンされたが、一定期間使われていない接続ステルスモード-すべてのループプリミティブ及び/又はファイバチャネルフレームがすべてのデバイスに伝えられないモードステルスLIPアイソレーション-すべてのデバイスへのLIPの伝達を制限ストリングカスケード-ストリング経由で接続される各ループスイッチが仮想ループでシングル論理デバイスとして扱われるカスケード接続。ARBxは、ストリングカスケード全体を巡回し、コントロールを取得してOPNをカスケードに置かなければならないツリーカスケード-各ループスイッチがカスケードにOPNを置く前にリンクのコントロールのために直近のループスイッチのみとアービトレーションするカスケード接続トランキング-ループスイッチ間の複数の接続を使用して帯域幅を増やすUSER-ユーザ定義順序集合2.ループスイッチフィーチャセット以下では、Vixelベースの製品SOC422に含まれている実装を取り上げて、ループスイッチの特徴を説明する。先にループスイッチの実装について説明したが、先に説明した実装または発明の精神や範囲から離れることなく、特定の変更や修正を行うことができることは本発明の内容に照らして当業者には明らかである。ループスイッチの実装はVixelSOC422を含むことに注意しなければならない。1、2、または4Gb/sファイバチャネルデータ速度をサポートする、内部serdes付きの22ポートASIC高いあるいは低いポートASICではポート数は増えるまたは減ることがあるプロセッサ支援なしでハブエミュレーションモードまたはスイッチングセグメント化モードのループスイッチ間のシングルおよびマルチカスケード接続をサポートする。スイッチングセグメント化モードで、複製カスケード接続はファームウェアサポートにより動的ロードバランシングをサポートする。ループモードでは、マルチカスケード接続はバイパスされ、プライマリカスケード接続のみがアクティブになる。16アドレス、16データ、RD、WR、CSおよび割込みラインとのパラレルプロセッサインタフェースまたはI2Cインタフェースをサポートする。これらのインタフェースは、内部レジスタセットへの読み書きアクセスを提供する。オプションのEEPROMは、プロセッサなしでのオペレーションのためのカスケード、重複カスケードのための構成情報、serdes構成、ポート構成を提供する。ハブエミュレーションモードまたはスイッチングセグメント化モードで動作可能。複数ループスイッチASICのカスケード接続をサポートプロセッサ支援なしのスイッチモードでのLIPアイソレーション付きの16の非オーバラップハードゾーンをサポート。スイッチングセグメント化モードでのオーバラップハードゾーンをサポートハブエミュレーションモードまたはスイッチングセグメント化モードでゾーンアイソレーションLIPブロッキングをサポート複数のASICシステムにおいて重複LIPゾーンでステルスLIPアイソレーションをサポートインバンドインタースイッチフレームをサポート次のポート機能をサポート-ハードウェアにスマート挿入アルゴリズムを実装-各ポートでOS検出回路を実装ポートLED機能。スイッチングモードで、各ポートは、ポートアクティビティLEDを持つ。EMI排出削減のためにARBffまたはその他のユーザ指定ARBタイプでアイドルを交換がプログラム可能管理を通していずれかの他のポートをパッシブにスヌープするようにどのポートでも構成可能である。ポートやループのオペレーションの診断のためにアナライザが使用スイッチへのリンクが良好かどうか検証するための、接続デバイスの外部ループバックパスポート当りの不良伝送キャラクタカウント24ビットを提供各ポートに関してCRCエラーカウント8ビットを提供ループへの挿入前または後にポートに順序集合を伝送する能力を提供。ループでは、順序集合は指定回数のみあるいは連続して伝送できる。伸縮性バッファ挿入/削除を使用して周波数チェック機能を提供I2CインタフェースをサポートするGBICs/SFPsからのシリアルID読み取りをサポートポートループ利用カウンタを提供。データに使用される帯域幅の割合、またはスイッチング接続がアクティブであるまたは要求される時間の割合を測定各デバイスに等しいポートアクセスを保証するためにFCALアクセスフェアネスアルゴリズムに加えてユニークなフェアネス方式を実装ポートベースでLIPを隔離する能力を提供奇数パリティを使用して各ポートを通るデータパスの完全性をモニタ。フレームルーティングを検証するために最後のOPNで宛先ALPAへの各フレームでの宛先IDを比較システム状態信号をモニタするためのレジスタインタフェースを提供LEDを駆動するシフトレジスタインタフェースを提供ピンを保存温度センサやファンロータスタックセンサからの入力を受け付け、LEDを駆動するばかりでなくステータスレジスタでの障害をレポートする環境監視機能ManagementEthernet登録商標ActivietyLEDをコントロール。カードからの入力を取ってLEDを駆動ループ状態LEDをコントロールして、ループが立ち上がっているかどうかを示す、または初期化を完了しようとするリセット後にLEDセルフテストモードを提供し、その際LEDは2秒間オンになった後2秒間オフになりその後ノーマルモードに戻る特殊動作モードをコントロールするマネージメントカードの存在を示す外部ステータスビットCPUポートファイバチャネルMAC、FC2機能-ファイバチャネルフレームを送受信できるプロセッサインタフェースを提供-アービトレート型ループ標準に従ってNL_PortまたはFL_Port機能を実行する能力-ALPAまたはいくつかのユーザプログラマブルALPAを取るために、LIMとして、あるいはLIMとしてではなくループ初期化を実行-プロセッサがFIFOサービスを提供しなければならなくなる前にバッファ間送受信フレームを実装3.機能概要ループスイッチは、様々なモードで動作する能力を有している。ハブエミュレーションモードとスイッチングセグメント化モードは、2つの基本モードである。さらに、各モードのバリエーションにより、ループスイッチが様々なシステム要件の範囲を満たすことが可能になる。3.1ハブエミュレーションモード共有帯域幅ファイバチャネルアービトレート型ループ標準は、リング構成で多数のデバイスが相互に接続できるトポロジを定義している。図1を参照。最後のデバイスのトランスミッタが最初のデバイスのレシーバに接続されるまで、あるデバイスのトランスミッタが他のデバイスのレシーバに接続されていく。当然、この構成では、各相互接続20、21、22、23、24、25、26と各ノード10、11、12、13、14、15、16がループ全体の単一障害点になるという問題がある。いずれかのデバイスまたはリンクで障害が発生した場合、すべての通信が停止する。これはハブが展開される場所である。図2を参照。ハブ70はアービトレート型ループのリングトポロジを、簡単なケーブル設置を可能にするスタートポロジに変換している。また、ハブは、ループを動作状態に保つために未使用または誤動作ノードまたは相互接続をバイパスするメカニズムを提供する。図3に示されているように、ノード390は、通常ならばループを動作不能にする、切れたファイバ100を有している。ハブ120は、ノード3が接続されているポート112をバイパスし、他のデバイス91、92、93、94、95、96におけるループ112、101、102、103、113、104、106、105、114、107、108、115、109、110を動作可能状態に保つ。3.2非オーバラップハードゾーニングマルチループハブエミュレーションモードで動作している間、ループスイッチも各ポートを多数のゾーンの1つに割り当てることができる。各ゾーンは、対応する127ノードアドレス空間と別個の初期化空間を持つユニークな隔離ループを表している。これにより、複数の別個のループが1つのループスイッチ内で動作可能になる。このタイプのゾーニングでは、各ループは完全に独立であり、あるループのLIPはいかなる方法でも他のループに影響することはない。3.3スイッチングセグメント化モードスイッチングモードでは、ループスイッチはクロスバースイッチを使用し、ファブリックスイッチのようにFC2フレームではなく、ファイバチャネルアービトレート型ループプリミティブに基づいて切り替える。このような切り替えの利点は、接続されたFCALデバイスがファイバチャネルファブリックサービスを実装する必要がないということである。ファブリックサービスの実装は、管理と相互運用性をさらに複雑にする。このスイッチングモードを使用して、個別ノード、多数のノードのストリング、多数のノードが接続された通常のループFC-ALハブを相互に接続することができる。また、ファイバチャネルスイッチファブリックにも接続できる。ほとんどのFC-ALデバイスは、ドライバ、ファームウェア、またはソフトウェアを変更しなくてもループスイッチに接続し、ハブの利点を享受することができる。また、ハブとスイッチの両方の特徴の多数を共用する。ループスイッチセグメント化モードで動作するように構成されているとき、ループスイッチは以下のハブのような特徴のいくつかを示す。アービトレート型ループでのみ使用することができる。ファブリックアタッチ専用N-Portデバイスでは使えない。接続可能なデバイスの最大数はゾーン当り127である。本物のスイッチとは異なり、ループアドレス空間の拡張には対応していない。ループスイッチのスイッチングセグメント化モードのスイッチと似た特徴は、以下のとおりである。ループを複数のループセグメントに分割する。ループ分割により、複数のデバイスペアが同時に通信することができる。10までのポートペアが20のポートループスイッチで同時に通信できる。スイッチと同様に、ループスイッチの各ポートは相互に独立している。2つのノードの間のトラフィックは、関連ノードにサービスを提供するループスイッチポートのみに現れる。他のポートまたは関連のループセグメントではトラフィックは送られない。これは、高い帯域幅カンバセーションの隔離を可能にし、また、他のローカルトラフィックから長いループセグメントを隔離するのに使用することができる。ループセグメントは、ループ初期化時に相互に隔離することができる。その後、ループスイッチを構成してLIPがあるループから別のループに溢れるのを防止することができる。これにより、非初期化ループセグメントでのシステムダウンタイムが減少する。ループスイッチのすべてのポートがアイドル状態にあるとき、各ポートは相互に完全に隔離される。図5を参照。ループスイッチ200は相互にリッスンしており、アービトレーション活動を探している。ポート1232のノード3201のようにループについてデバイスがアービトレーションしている場合、ループスイッチはARBを受け付け、そのままノード3201に210ポート1232を戻す。ノード3201は自分のARBを見て、OPNを送るこの場合、OPNはノード6207向けである。ループスイッチ200は宛先デバイスがどのポートにあるかをルックアップし、スイッチングマトリクス230、231を通した接続を確立してOPNをデバイスに渡す。図5が示すように、ノード3201とノード6207の間にポート1232とポート8233を通した接続230、231が存在している。他のポート234、235、236、237、238、239もまだアイドル状態にある。他のノードがアービトレーションを試み、ノードが存在するポートがアイドルである場合、ループスイッチは、図6に示すように要求された接続を提供する。図6は、ポートペア3,7292,296と1,8290,297を使用してスイッチ283、282、281、280を経由して確立された2つの接続を示している。図6は、ソースノードと同じポート上にある宛先ノードが取り扱われる方法も示している。ポート5294で、ノード7255はノード4254と通信している。ループスイッチ250は、この通信を可能にするためにポート294を自分に接続しているにすぎない。この例では、3つの同時カンバセーションを持つということは帯域幅合計が回線速度の3倍に増えたということを意味することに注目しなければならない。また、ノード5256が10km離れたリモートテープバックアップシステムであった場合、ポート3292とポート7296のループセグメントのみがロングセグメントによって影響を受けるということにも注目しなければならない。他のポートで発生するカンバセーションは、ずっと小さい待ち時間で、また高い帯域幅で行われうる。図5では、ノード5206がすでにノード6207に接続されているときにノード3201をOPNしようとした場合、ループスイッチ200は宛先ポートが開放されるまでOPNを保持する。ソースノードが通過しない場合、ノードが、CLSを発行するか、ループを再初期化することによって試行を異常終了すると思われる。これにより、チップのすべての接続要求は終了する。3.4オーバラップハードゾーニングバーチャルループループスイッチがスイッチングセグメント化モードに構成されているとき、ループスイッチはオーバラップハードゾーンまたはバーチャルループを作成することができる。これは、スイッチングセグメント化モードにあるループスイッチの特定のポートを構成してアクセスを他のいずれかのポートに制限することができるということである。たとえば、これにより、ユーザは3つのMicrosoftNTサーバをループスイッチの3のポートに接続し、3のディスクアレイをループスイッチの他の3のポートに接続し、他のアレイは特定のサーバから制限されている間、あるサーバからあるアレイへの関連を作成することができる。同時に、共有テープライブラリをさらに別のポートに接続して、ユーザはすべてのサーバにテープへのアクセスを許可することができる。このようにして、ループをサーバからディスクアレイへの高帯域相互接続として使用し、テープへの共有アクセスを提供することができる。4.アーキテクチャの説明図4は、ループスイッチ140のハイレベルアーキテクチャを示している。主なコンポーネントとして、ポートロジック141、142、143、144、145、146、147、148、ルータ181、スイッチロジック150が含まれる。簡略化し、8ポートループスイッチのみが示されているが、任意の数のポートがサポートされる。たとえば、SOC422は22のポートをサポートしている。4.1ポートロジックポートロジックを構成するいくつかのブロックは、次のものを含む。図8を参照。16/20ビットエンコーダ414と20/16デコーダ409OSデコード403、421伸縮性およびリタイミングバッファ407OSジェネレータ401、418パリティチェックロジック406、420メインコントロールロジック422周波数チェックロジック451ポートは、ルータに合図を出すループプリミティブのファイバチャネルリンクのモニタを担当する。また、ポートコントロールはループプリミティブを除去、挿入して接続されたループアービトレーションを操作する。4.2ルータループスイッチは、ルータモジュールを含む。図4を参照。ルータは各ポートモジュール151、152、153、154、155、156、157、158に接続され、スイッチロジック181に接続されている。ポートロジックは、特定の条件が発生したときにルータに合図を出す。信号は、受信したARBおよびOPNループプリミティブを基にした接続要求を含む。図8の426、427、424、425を参照。4.3スイッチロジック図4に示すように、スイッチロジックは各ポート160、161、162、163、164、165、166、167、170、171、172、173、174、175、176、177とルータ181に接続される。スイッチロジックは、フルNxNノンブロッキングクロスバースイッチを実装している。ここで、Nはポートの数である。VixelはSOC422製品に22x22クロスバースイッチを実装したが、設計は22のポートに限られるものではない。図8に示すように、ポートロジック400からスイッチ430への、またスイッチからポートロジック419へのデータパス428は一方向バスである。ポートロジック400からルータおよびスイッチロジック430へのコントロール信号には、アービトレートループプリミティブ接続要求arb_connect_req427信号やOPENループプリミティブ接続要求opn_connect_req信号426が含まれることがある。ルータおよびスイッチロジック430からポートロジック400へのコントロール信号には、ソース接続src_connect信号425や宛先dest_connect信号424が含まれることがある。4.4ファイバチャネルポートSOC422ループスイッチは、図7に示すようにさらなる機能を追加する。これには、ファイバチャネルMACモジュール302が含まれる。このモジュールは317とスイッチクロスバースイッチ301とのインタフェースとなり、NL_PortまたはFL_Portインタフェースを備えた、ファイバチャネル端末装置として動作する。ファイバチャネルMACモジュール302は、メモリまたはパラレルインタフェース310を通してCPUデバイス308とインタフェースを取る。そしてCPU308は、ファイバチャネルワードデコードフレームにアクセスすることができる。FCMAC302は、すべての8B/10Bエンコードおよびデコードを行い、FCALループポート状態マシーンを実装し、R_RDYやファイバチャネル端末装置に必要なその他の機能を通してバッファ間管理を実装している。4.5内部Serdes図7に示すように、SOC422ループスイッチもまた、各ポート303、304に一つの内部ファイバチャネルSerdesを含んでいる。これは、より総合的でコスト効率の良い解決策を可能にする。5.機能の説明5.1ループスイッチ内部セルフテストループスイッチは、ループスイッチASIC内の高速データパスのセルフテストを実行するのに使用される状態マシーンを有している。セルフテストは、シリアルEEPROMが読み込まれた後各リセット後にまたはルータ構成レジスタでRUN_SELFTESTモードを設定することによって実行される。GBIC/SFPがインストールされている、あるいはインストールされていないため、このテストの間、Rx_LOS信号GBIC/SFPインタフェース信号は無視されることに注意しなければならない。状態マシーンはテストされるすべてのポートの完全なループを作成するためにスイッチマトリクスを構成し、シリアルEEPROMに含まれる検査ポートを有効にする。ルータは約1msのIDLE順序集合を作成してserdesがsyncを獲得できるようにする。次に、ルータは固定データパターンを作成し、それを構成済みのループに送る。状態マシーンはループに返されたデータを比較し、データが正確に同じである場合、セルフテスト合格を通知する。ループスイッチASICリセットがハブ障害状態を設定し、このハブ障害状態によりハブ障害LEDを点灯されることに注意しなければならない。セルフテストに合格した場合、状態マシーンはこの状態をクリアし、LEDを消灯する。セルフテストに失敗した場合も、ルータステータスレジスタ1のハブ障害ビットが設定され、ループスイッチがループに任意のポートを挿入することを阻止する。デバッグのために、この障害条件はルータ構成レジスタのH_Fault上書きビットに書き込むことによって無効にすることができる。シリアルEEPROMは、ループスイッチチップの構成ビットを含んでいる。port_enビットはどのポートが有効であり、セルフテストに含まれているかを示す。データパターンは、セルフテストフラグの終端として使用される認識可能な終端文字パターンを有している。ループスイッチがパターンをポートを通して渡しカスケードに戻すと、ループスイッチはセルフテストモードをオフにし、ハブエミュレーションに移行する。以下の表に示されている送信パターンは実際には2セットのパターンであることに注意しなければならない。最初のものが実際のテストパターンであるワード0~18。これが検証されるパターンである。2番目のパターンワード0~21は、最初のパターンが検証された場合にのみ送信される。このパターンは終端パターンを持つ。5.2内部ループバックループスイッチもまた、ルータ構成レジスタのコントロールビットを介して、マイクロプロセッサに内部ループバックモードをコントロールさせる。マイクロプロセッサは、このビットを表明し、ルータスイッチマトリクスコントロールレジスタを使用してスイッチマトリクスを完全なループに構成し、ポートのいずれかの伝送順序集合レジスタを使用して構成済みのループにテストパターンを送り、他のすべてのポートでディテクタをモニタする。ルータ構成レジスタの内部ループバックコントロールビットを設定すると、すべてのポートのトランシーバはループバックに置かれることに注意しなければならない。5.3ポート挿入GBIC/SFPがループスイッチに挿入されデバイスがGBIC/SFPに接続されたとき、あるいはループ初期化がすでに接続されているポートで発生したときにポート挿入が発生する。ポートは、入ってくるデータストリームを検証し、ポートのレシーバをループにカットし、LIPをデバイスにフォースアウトし、LIPがループに伝播し、トランスミッタに戻ってくるのを待つ。LIPがポートのトランスミッタサイドで検出されると、ポートは完全にカットされ、通常のループ初期化を継続できる。5.3.1ワードシンクの確立ポートがGBICもSFPもインストールしていないとき、ポートロジックは何も送らない。すなわち、特定のTX出力が定常状態に保たれる。GBICまたはSFPがインストールされた場合、ポートは内部ループに存在する情報を送信するか、IDLEをソーシングする。チップがループスイッチとして固定されループスイッチに動作中のループが存在している場合、ポートはそのループデータを送信する。ループスイッチがハブエミュレーションモードである場合、またはループスイッチに動作ループが存在しない場合、IDLEが送られる。ポートのレシーバで信号が検出されると、ポートは入ってくるデータストリームをチェックして、ワードシンクが獲得されたことを確認する。ワードシンクが確立されると、ポートはすでにループにあるデータの反復を停止し、IDLEのストリームを送り始める。5.3.2Vixelループスイッチへの直接接続を検出ワードシンクの後、ポートロジックは、接続されているデバイスが他のVixelループスイッチのように動作しているかどうか調べる。通常、L_Portが3以上のLIPのストリームを受け取るとき、L_Portは受け取った同じLIPの少なくとも12を再送信する。その後、L_Portは15msアイドルを送り、入ってくるすべての順序集合を無視する。DITHアルゴリズムはこれを利用して、接続SEOCアルゴリズムでシリアル番号交換をサポートしているVixelループスイッチへの直接接続を検出する。ワードシンクの後、ループスイッチポートは10-20us2タイマーチックLIPF7,FBを送り、LIPはアタッチされているループの各L_Portに同じLIPを再送させる。LIPの後にLISMを送るのではなく、ループスイッチポートはARBFB順序集合のストリームを送る。SEOC準拠のVixelループスイッチが初期化中にポートに接続されていない場合、ARBFBは認識されず、L_Portによって再送されない。SEOC準拠のVixelループスイッチが初期化中のポートに接続されている場合、接続の両端が同時にARBFBを送り、各ポートは接続の両端はシリアル番号交換アルゴリズムをサポートしていることを認識する。ループスイッチポートが8ms以内にARBFBを検出しない場合、ループスイッチポートは他のタイプのデバイスが接続されていると想定し、SEOCプロセスをスキップして通常の挿入を継続する。8ms以内にループスイッチポートがARBFBを検出した場合、SEOC準拠Vixelが接続されていると想定して、シリアル番号交換を試みる。5.3.3接続時のシリアル番号交換SEOCSEOC交換は、SN1、SN2、SN3、SN4、SN5、P_INFO、USER1、USER2というラベルの付いた8の独自プリミティブシーケンスを通して通信する。ARBFB交換の後に、ポートは10~20マイクロ秒間LIPF7,FBの別のショートバーストを送信する。その後、ポートは接続ポートからSN1を受け取るまで連続してSN1を送る。SEOCシーケンスを受け取ると、埋め込みのシリアル番号がそのポートのためのリモートシリアル番号、ポート情報、ユーザレジスタにロードされる。各順序集合のペイロードバイトであるバイト4は、P_INFOを例外としてルータメモリマップスペースのレジスタにより送信サイドで初期化される。P_INFOは各ポートでユニークであり、ポートメモリマップスペースにマッピングされる。電源投入時に、P_INFOフィールドは対応するポート番号に初期化される。その後、ループスイッチポートはSN2シーケンスを受け取るまで、連続したSN2を伴ったLIPF7,FBの別のショートバーストを送る。SN2を受け取ると、埋め込みシリアル番号バイトが再度そのポートのリモートシリアル番号レジスタに保存される。8バイトすべてがそのポートの当該レジスタに保存されるまでSN3からUSER2までで同じプロセスが行われる。USER2が保存されると、そのポートにシリアル番号交換割込みがトリガーされる。マイクロプロセッサは他の情報と共にこのシリアル番号を読み、重複アドレスであるかどうか検証し、ポートのコントロールレジスタにビットを書き込み、チップを開放して挿入を完了する。ポートが他のVixelループスイッチを検出しなかった場合、このマイクロプロセッサ対話はスキップされる。このあと、ポートはカットインプロセスを完了する。ポートが待っている間にいずれかのSEOC順序集合を10ms以内に受け取らなかった場合、ポートはタイムアウトし、挿入プロセスを最初から再開する。獲得したシリアル番号はGBICまたはSFPが除かれるまで、または信号の損失が検出されるまで保存されたままであり有効なままである。いずれかの事態が発生したら、リモートシリアル番号、P_INFOとユーザレジスタはゼロにリセットされる。5.3.4SEOC障害接続されているデバイスが他のVixelループスイッチ以外のものである場合、ポートロジックは連続して112ms間LIPF7,F7を送り、レシーバでLIPF7,F7の有効なストリームを確認しようと試みる。ポートは最初の15ms間すべてのLIPF8を無視して接続されたデバイスがAL_TIMEを巡回できるようにする。その後、ポートは97ms、LIPF8をモニタする。LIPF8を受け取った場合、ポートは再度挿入プロセスを開始するVixelループスイッチが接続されているかどうか検出する。これにより、ポートエラー/ステータスチェンジレジスタのinsert_lipf8_faultビットが設定される。97msの間にLIPf8を受け取らず、97msの最後までにLIPF7を受け取った場合、ポートはレシーバをループに挿入するが、LIPF7,F7の送信を続ける。LIPF7を97ms時間の最後までに受け取らなかった場合、ポートは再度挿入プロセスを開始し、ポートエラー/ステータスチェンジレジスタのinsert_timeoutビットを設定する。ポートが112msの間LIPF8以外のすべてのLIPを無視するのは、デバイスによっては100ms毎に1回LIPF8を送信するためである。112msまでLIPF8を探しLIPF7,F7を無視することにより、ポートはアクティブ状態と非アクティブ状態の間を過度に巡回することなく、このように振る舞うデバイスを正しく検出できるようになる。112msという値はいくらか余裕をもって100msのカバレージを提供するために選択された。5.3.5ポート挿入の完了SEOCの正常完了、またはSEOCが正常に完了しなかった場合LIPF7,F7のストリームの検証の後、ポートはループをスクラブしてLIPF7,F7がループ全体に伝わったことを保証する。ポートは連続してLIPF7,F7を送信し、近隣上流ポートからの受信データストリームによって提供される、伝送データパスへの入力ストリームをモニタする。これにより、LIPF7はLIPがループ全体をすべて通過したことを確認する。トランスミッタ入力でLIPF7が検出されると、トランスミッタサイドが挿入され、ポートは通常のループトラフィックの送信を開始する。LIPF7,F7FC-AL当りまたはなんらかのARBFC-AL-2当りを受け取ることなしにSOF、EOF、IDLESのシーケンスを50msの間受け取らなかった場合、ポート挿入は異常終了する。5.3.6ポート挿入障害なんらかの理由によりポート挿入が失敗した場合、成功するまで自動的に再度試みられる。特定の障害条件は、tx_disable信号を表明することによってGBICまたはSFPのリセットをトリガーする。tx_disableが表明されると、tx_disableは約10msの間表明されたままとなる。tx_disableパルスの最小間隔は350msである。tx_disableパルスをトリガーする障害条件は、以下のとおりである。SEOCが完了しておらず、リンク障害条件が検出されたか以下の注を参照、強制バイパスが真であるSEOC順序集合を10□sの間受け取らなかったスクラブループオペレーションの間に2.418秒タイマーが切れた先の条件の場合、リンク障害は次のものとして定義されている1.tx_fault入力が検出された2.GBIC/SFPが抜かれた3.信号損失が検出された4.100msの間ワードシンク損失が検出された5.LIPF8を受け取った6.100ms間コンマ文字を受け取らなかった、dis_byp_no_comma5.4ポートバイパス以下のいずれかの条件が発生した場合、挿入されたポートはバイパスされる。Rx_LOS-Rx_LOS信号がGBIC/SFPによって表明されるとポートは直ちにバイパスされる。tx_fault-tx_fault信号がGBIC/SFPまたは固定レシーバ回路によって表明されるとポートは直ちにバイパスされる。LIPf8-ポートが受信したLIPf8を検出した場合、ポートはLIPf8をLIPf7と置き換え、この16のLIPをループに転送してからポートをバイパスする。同期の喪失-ポートが100msの間同期を喪失した場合、タイムアウトがトリガーされポートはバイパスされる。ソフトウェア開始のバイパスこれらの理由のいずれかによりポートがバイパスされるとき、ポートは実際のバイパスの前に16のLIPを他のポートに送信することにより、ループが再初期化されるようにすること注意しなければならない。当然、これはポリシービットがバイパス機能でLIPを無効にしていないと想定している。注:ポリシービットはポートオペレーションのセクションの本文において説明されている。5.5デバイスディスカバリデバイスディスカバリプロセスは、各ALPAがどのループスイッチポートにアタッチされるかを説明するALPAマップテーブルの作成に使用される。このテーブルは、管理ソフトウェアにとって有用であり、ループスイッチモードではなくループスイッチオペレーションに要求される。デバイスディスカバリはLIPが検出されフルループスイッチループ初期化が行われるときに開始される。この時、すべてのデバイスはシングルループにマッピングされ、同じポートにアタッチされるかどうかにかかわらず共に初期化される。5.5.1フルループスイッチループ初期化時のパッシブデバイスディスカバリパッシブデバイスディスカバリプロセスは、フルループスイッチループ初期化時に使用される。LISMフレームがルータモジュールのデータパスを通るたびに、フレームのペイロードのWWNはレジスタに保存され、前の値は上書きされる。その結果、次のサイクルの最初までLIMのWWNが、ループ初期化サイクルの最後から取得され保存される。この値は、マイクロプロセッサが読むことができる。フルループスイッチループ初期化の各段階LIFA、LIPA、LIHA、LISAに、各ポートは通常アウトバウンドフレームを見、その後同じタイプのインバウンドフレームを見る。各ポートはアウトバウンドフレームおよびインバウンドフレームALPAビットマップを取得し、その後各段階後に2つのビットマップの間の差を計算する。その段階の差は、前の段階からの差と共に蓄積され、LISA段階が完了するまでホールディングレジスタに保存される。インバウンドビットマップとアウトバウンドビットマップの間の蓄積された差は、ループ初期化時にループスイッチのそのポートで求められたすべてのALPAを表している。LISA段階が完了すると、各ポートの蓄積されたALPAビットマップの差を使用してALPAマップが更新される。LIMが存在しているループは、アウトバウンドフレームビットマップとインバウンドフレームビットマップの差を計算する特殊な場合である。最初にLIMポートを決定するために、各ポートはループ初期化時にARBF0を受け取るとフラグを設定する。ARBF0を見る最初のループスイッチポートがLIMポートとして識別される。その後、次のフルループスイッチループ初期化サイクルまで、LIMポート番号がデバイスディスカバリロジックに保存される。LIMはすべてのループ初期化フレームを始めるため、ループスイッチは同じフレームタイプが戻ってくるまでフレームがポートを出ていくのを見ない。したがって、LIFAフレームを始めて受け取ったとき、アウトバウンドビットマップはLIMポートでゼロであると想定されなければならない。LIFA段階のビットマップ差は、インバウンドLIFAフレームALPAビットマップと等しい。そこから、LIMポートはインバウンドLIPAとアウトバウンドLISA、インバウンドLIHAとアウトバウンドLIFA、インバウンドLISAとアウトバウンドLIHAフレームを比較してビットマップ差を計算する。このプロセスは、同じループに位置しているものを除きLIMデバイスから上流のすべてのALPAを識別する。これらのデバイスはデバイスディスカバリ用にLIMのシャドーに位置しているためシャドーデバイスと呼ばれ、プロセスの後の段階で解決される。その理由は、LIMで受け取ったLISAフレームはポートのインバウンドサイドには決して戻らないためである。したがって、最後のLISAビットマップをLIMがあるポートで捕捉することはできない。ALPAマップは、127の可能なALPA値のぞれぞれに8ビットポート割り当てを保存する。いずれかのポートがLIPシーケンスを検出すると、ループスイッチはスイッチングモードを抜け、ループ初期化プロセスを開始する。この時、ALPAマップへの各エントリは、値0xE0によってマークされ各ALPAのポート割り当てはマッピングされていないことを示す。所与のポートでLISAフレームを受け取ると、そのポートはALPAマップへのデータの入力を開始し、そのポートで主張されているすべてのALPAを識別する。主張されたALPAのそれぞれのポート番号0x00-0x1FがALPAマップの適切な位置に入れられる。この点では未請求ALPAも解決されず、そのALPAマップ位置はアンマップポートインジケータ0xE0を保持する。有効なポート値0x00-0x1Fまたは無効なインジケータ0xC0は、後にシャドーデバイスALPAが解決されるときにパッシブまたはアクティブな手段で他のデバイスをアンマップポート値で置き換える。注:ポート0x14-0x1Fは将来ありうる実装であり、現在は有効なエントリではない。5.5.2LILPありのシャドーデバイスALPA解決LIRPとLILPがループスイッチのすべてのデバイスでサポートされている場合、このフレームはループでのLISAに続く。LILPが存在する場合、ALPAマップを完成するためにそのペイロードが捕捉され、検索される。保存されたLILPペイロードが、管理ソフトウェアによって使用されることもある。ペイロードが検索されるとき、前に入力された有効なポート値を持たないすべての請求ALPA値はLIMポートに対応するポート値によってマークされる。まだアンマップポートインジケータによってマークされている他のALPAマップ位置は、無効なALPA値によってマークされる。LILPがサポートされている場合、このアクションはデバイスディスカバリを完了し、選択されている場合ループスイッチはスイッチングセグメント化モードに入ることができる。5.5.3LILPなしのシャドーデバイスALPA解決ループスイッチに接続されているすべてのデバイスでLIRPとLILPがサポートされていない場合、CLSがLISAフレームに続く。これは、デバイスディスカバリプロセスのパッシブ部分を完成させ、選択されている場合、ループスイッチはスイッチングモードに入ることができる。以後、アンマップポート位置としてマークされているALPAマップ位置は、スイッチングモードオペレーション時にのみ、そして必要とされているときのみパッシブに解決される。OPNが検出され、その宛先がALPAマップでのアンマップポート位置としてマークされているALPAであるとき、受け取ったOPNはLIMポートに向けられる。デバイスが存在していない場合、OPNはループスイッチのLIMポートに戻され、ALPAマップの対応するデバイス位置が無効デバイスとしてマークされる。デバイスがLIMポートに存在している場合、R_RDYまたはCLSにより、ポートはALPAマップにLIMポートの有効なデバイスとして記録される。OPNがLIMポートでソーシングされ、LIMポートのアンマップデバイスに戻されるとき、ポートは、反射したOPNを検出できないため、アンマップALPAを解決するだけに十分な可視性をループプロトコルに有していない。したがって、このイベントはALPAマップでの変化を引き起こさない。ALPAマップ位置が無効デバイスとマークされると、そのALPAに送られる将来のOPNは送信元に戻される。実際に、未解決の各ALPAがアクセスされ、有効と判断され適切なポート値によってマークされるか、あるいは無効と判断され、有効なポート値を持たないとマークされる。5.5.4デバイスディスカバリエラー1つのALPAが複数のループスイッチポートで主張されているときにフラグ付きのエラーが発生する。そのエラーがLIXAフレームビットマップのある位置で発生することがそのポートで設定され、他のポートではクリアされ、そして3番目のループスイッチポートでは再度設定されなければならない。この条件が発生した場合、ALPAマップの対応位置はknowninvalidデバイス位置とマークされ、ポートディスカバリエラー割込みがルータステータスレジスタで表明される。このALPAへのアクセスが試みられOPNがその位置に送られる場合、ループスイッチはOPNをソースに戻す。もし存在している場合、マイクロプロセッサはLIPをループにフォースアウトして、望むならばプロセスを再開始する。マイクロプロセッサが存在していない場合、OPNを送ったデバイスはループの再初期化を選択して、このエラーをクリアすることができる。ポートディスカバリ時に受け取ったフレームでCRCエラーが検出されるという別のエラーが発生することもある。LIXAフレームでCRCエラーを検出した場合、ハードウェアはデバイスディスカバリプロセスを完了しない。CRCエラー割込みがポートエラーステータスレジスタでトリガーされいずれのCRCエラーでも当てはまる、map_doneステータスビットはルータステータスレジスタで設定されない。存在している場合、希望するならばマイクロプロセッサはLIPをループにフォースアウトして、プロセスを再開始することができる。マイクロプロセッサが存在しておらず、OPNが有効なアンマップデバイスに送られる場合、OPNはそのソースに戻される。OPNを送ったデバイスは、ループを再初期化してこのエラーをクリアすることを選択することもできる。5.5.5ループ初期化タイムアウトロックアップしたループ初期化サイクルからの回復を助けるために、500ms内部ウオッチドッグタイマーにより、有効なLIPを受け取るまで、あるいはASICがリセットされるまで外部ピンリップタイムアウトはローになる。この機能が要求される場合、ASICをリセットする外部ロジックが要求される。5.6ARBffによるアイドル交換EMI排出を抑えるために、ループスイッチのポートロジックは受け取ろうとしているIDLEをARBffで置き換えるアルゴリズムを使用している。IDLEの周波数内容は非常に大きな531MHzコンポーネントである。ARBffスペクトル成分はずっと広い。標準化委員会は、FC-AL-2に対するこの変更を受け入れている。実際のプロセスは、受信シンボルストリームでIDLEを探し、伝送ポートで6のIDLEを転送する。以後連続したIDLEを受け取った場合、ロジックはこれをARBffで置き換える。ARBffは、最下位プライオリティARBとして定義されており、アイドルと同じと見なされる。このタイプのIDLE置き換えは、ポートが挿入されループ初期化が完了したときのみ行われる。一度ループ初期化がトリガーされると、この置き換えはループ初期化が完了するまで許されない。注:有効なスイッチングモードオペレーションにポートフェアネスを確立するために、IDLEはARBによってALPA=0xffに置き換えられる。この場合、ARBff置き換えに先立ちIDLEを渡すことは許されない。これは独自の実装であり、FC-AL-2で説明されている手順とはまったく異なるARBffの使用法である。詳細については、ポートフェアネスを説明しているセクションを参照。5.7スイッチングセグメント化モードオペレーションスイッチングセグメント化モードに構成されているループスイッチは、デバイスディスカバリ段階を含め構成が変わったときにハブエミュレーションモードと同じプロセスをたどる。これが正常に完了した場合、ループスイッチはスイッチングセグメント化モードに入るデバイスディスカバリプロセスが正常に終了し、ループスイッチがスイッチングセグメント化モードに構成されている場合、ループスイッチはスイッチセグメント化モードに入る。この時点で、すべてのポートは接続が切られ、ポートトランスミッタによってIDLEがソーシングされる。ポートがARBを受け取ると、ポートはarb_connect_req信号を表明して接続を要求する。図8の427を参照。ルータロジック430図4、149はポートを自分に接続し、src_connectソース接続425とdest_connect宛先接続424信号を表明する。ARBはスイッチロジックを通して転送され、その元になったデバイスが受け取る。このデバイスは、OPNを宛先デバイスに向ける。この時、ループスイッチポートは各IDLEの代わりにARBffを用いる。ループスイッチが送信ARBxからARBffに切り替わるため、どのIDLEもARBffに先んじて通過することはない。ループスイッチからのARBは、ループのすべてのデバイスがいつその会話を完了し、ループがアイドルになるかを判断するのに使用される。この機能のデフォルトALPA値は0xffであるが、マイクロプロセッサを通じてプログラムし直すことができる。5.7.1同じポートのソースノードと宛先ノード図9a、9b、9c、9dが示すように、宛先デバイス532が同じポート520上にあるOPN521をソーシングするデバイス531の下流にある場合、これ以上の介入なしでループテナンシーが発生する。接続が閉じられ523、他のどのポートもアクセスを要求していないとき、ARBff581が、ループテナンシーの完了時にポートレシーバ585で検出される。これが発生した場合、スイッチロジックを通る接続は切れ582、583、IDLE580が再度ポートトランスミッタによってソーシングされる。ルート515、514、523、551、583、582は、ループスイッチに内的である。図10a、10b、10c、10dが示しているように、宛先デバイス604はOPN613をソーシングするデバイス610よりも上流にあるため、OPNはポートレシーバ603で検出される。OPNが検出されると、ポートレシーバのレジスタに保存され、宛先ALPAがルータに提供され、opn_connect_req信号が表明される。図8の426を参照。ルータ430はポート接続を切り図10bの650、661、提供されているALPAのポートルックアップを実行する。ルータはポート接続を切らなければならないことに注意しなければならない。これを実行しないと、プライオリティロジックが有効にならずポートの不足が起こりかねない。ALPAは同じポートにある場合、ルータはポートを自分自身につなぎ戻し、src_connect425とdest_connect424信号を表明し、新しい接続680を確立する。ポートレシーバがOPNをスイッチ受信データバスに送るとループテナンシーが始まる。再度、ポートは受け取ったIDLEをARBffで置き換える。ループのすべてのデバイスがその会話を終了すると、ポートレシーバでARBffが検出される。これが発生すると、スイッチロジックを通る接続が切れ、701、702、IDLE700が再度ポートトランスミッタ608によってソーシングされる。先に説明し、図10a、10b、10c、10dに示されているように、アービトレーション時そして宛先デバイスがソースデバイスと同じポートにあるとき、ポートが自分に接続される。この場合、ポートレシーバロジックは検出したARBf0682をARBff681で置き換える。その他すべてのARBは転送され、各セグメントでのフェアネスを維持することに関わる複雑さが最小化される。これにより、ポートが自分に接続されるシングル接続時にいくつかのループテナンシーが発生することがある。ルート600、661、650、680、701、702、720はループスイッチに内的である。図11a、11b、11cおよび11dはこの場合を示している。ノード11723が最初にアービトレーションして接続しOPN724をノード12725にソーシシングする。ノード11723がノード12725に対してオープンであるとき、ノード13はアービトレーションする。ノード11とノード12の間のテナンシーが完了したとき、ノード13はARBを受け取り、OPN745をノード14にソーシングする。ノード13とノード14の間のテナンシーは、これ以上の介入なしで発生する。いずれのポートでもすべてのノードはシングル接続時に1つのOPNをソーシングする。その点で、ポートレシーバでのARBf0のブロッキングにより、ループアクセスウィンドウがリセットされないことが保証される。すべてのノードがフェアに動作している場合、このメカニズムはポート接続が切れ、他のポートによるアクセスを許可することを保証する。パス720、730、740、750、751はループスイッチに内的である。5.7.2異なるポートでのソースノードと宛先ノードポートレシーバでARBが検出された結果として接続が確立され、OPNが別のポートに存在するデバイスに送られると、ポートレシーバでOPNが検出される。5.7.2.1宛先ポートが接続されていないOPNが検出されると、ポートレシーバは内部レジスタにOPNを保存し図12aの801、宛先ALPAをルータに提供し、opn_connect_req信号を表明する図8の426。ルータはARBが渡されるとき確立されているポート接続を切り、提供されているALPAのポートルックアップを実行する。ALPAがOPNをソーシングしているポート855とは別のポート856にある場合、ルータはソースポートと宛先ポート850、851を接続し、src_connect信号図8の425をOPN855をソーシングしているポートで表明し、dest_connect信号図8の424を宛先ポート856で表明する。この場合のポートレシーバロジックは、すべてのARBをARBffによって置き換える。これにより、この接続時の追加テナンシーが避けられる。ポートレシーバとポートトランスミッタの両方でのCLSの受信がこのテナンシーの終了を決定する。これらの条件の両方が満たされると、ポート間の接続が切られる。図12a、12b、12cはこのシナリオを示している。パス800、804、850、851、860、861はループスイッチに内的である。5.7.2.2宛先ポート接続図13aと13bに示されているように、ポート900がすでに接続されている宛先ポート901への接続905を要求した場合、ポートロジックは接続が確立されるのを待つ。オープンをソーシングしたノードがクローズのソーシングを決定できる。これが発生する場合、opn_connect_req図8の426がアサート停止され、ポートトランスミッタはクローズ915をオープンをソーシングしたデバイスに転送する。5.7.3同時オープン接続要求図14a、14bに示されているように、ポート2951がポート1950への接続を要求したのと同時にポート1950がポート2951への接続を要求した場合、すべてのポートが公平にサービスを受けることを保証するプライオリティ方式が使用されるこのプライオリティ方式については、ポートフェアネスを取り上げるセクションで詳しく説明する。勝った要求967と負けた要求958がプライオリティ比較を通して確定されると、宛先ポートとしてオープンされなければならない負けたソースポート950は、勝ったOPNを転送する前にポートトランスミッタからCLS968を送る。転送を完了するためには負けたOPNを送ったデバイスは後に再度アービトレーションし、再度OPNを送らなければならない。パス953、952、957、956、968、967はループスイッチに内的である。最上位プライオリティのソースループとその宛先ループの両方が作成されつつあるOPN要求を有している一般的な場合、最下位プライオリティのポートは常にCLSを受け取る。しかし、低いプライオリティのポートでOPN要求を表明されているが、他のポートからの最上位のプライオリティのOPN要求にサービスを提供するために閉じられる必要がない場合、低いプライオリティのポートはそのOPN要求が後でサービスを受けるまでオープンしたままである。5.7.4非存在デバイスに送られたOPNループスイッチの宛先ポートからOPNが送られ、ループスイッチ宛先ポートに戻された場合、ソースデバイスがエラーを検出し適切に応答できるようにOPNがソースポートから戻される。ALPAマップでまだ識別されていない無効なデバイスへのアクセスが試みられたときにこの条件が発生しうる。この条件が発生した場合、ループスイッチはCLSがループを送られるとき接続されたポートの接続を切る。5.7.5OPN以後のR_RDYOPNがポートレシーバで検出されたとき、オープンを内部レジスタに保存する他に、ポートレシーバは検出されたが転送されていないR_RDYをカウントしなければならない。255までのR_RDYをカウントし、保存し、後で再送できる。接続が提供されると、ポートレシーバはOPNが送られる前にR_RDYを送らなければならない。これには、OPN後のすべての第3フィルワードのR_RDYによる置き換えと、R_RDYカウンタのデクリメントとによって遂行される。これは、カウンタが0になるまで続く。R_RDY転送はすべてが送信される前にフレームの到着を容認しなければならないことに注意しなければならない。この場合、残りのR_RDYはフレームが転送された後に送られる。各R_RDYの前後に少なくとも2つのフィルワードが必ず送られるのを保証するための慎重な検討が行われた。フレームは任意の時に伸縮性FIFOの出力に到着するためこれは難しい。したがって、R_RDY再送ロジックが当該送受信データパスに広げられ、順序集合間隔要件を満たすのみの十分なルックアヘッド能力を保証する。最初に、R_RDYがカウントされ保存されるため、再送される最初のR_RDYはカウンタから送られる。カウンタが完全にデクリメントされ、バッファリングされていたすべてのR_RDYが送信されると、さらにすべてのR_RDYはカウンタにバッファリングされることなく、そのまま通過していく。そこから、R_RDYソースポートが順序集合最小間隔の保証を担当する。5.7.6ノード障害ポートロジックは、常にLIPf8のポートレシーバをモニタする。図15a、15b、15c、15dを参照。図4のルータロジック149は常にポート151、152、153、154、15、156、157、158からのlip_received信号をモニタする。ポートがこのプリミティブを検出した場合、ポートレシーバ図15の1554、1547はLIPf81504、1524をLIPf71502、1523によって置き換える。ルータロジックがlip_received信号151、152、153、154、155、156、157、158の表明を検出すると、すべてのアクティブポートをInitializeState-非交換モードに再接続するこれはフレームまたは複数のフレームの途中で起こり、失われることに注意。ポートが16のLIPを転送したら、ポートアクティブ信号をアサート停止する。ルータ図4の149はスイッチマトリクス150にポートをバイパスするように指示する181。ループは存在しているLIPf8をソーシングするノードでポートなしに再初期化する。また、ポートロジックはポートトランスミッタ1553でLIPf71503、1525、1543をソーシングし、ポートレシーバ1554をモニタし続ける。ポートがLIPf7を受け取った場合、最初にLIPf8をソーシングしたノードが活動状態になる。次にポートはそのポートアクティブ信号を表明する。ポートはこの時点でループに戻される。ポートトランスミッタは、LIPf7を受け取るまでLIPf7をソーシングし続ける。ポートトランスミッタでLIPf7を受け取ると、ノードは初期化の完了させるそのポートトランスミッタでのLIPf7のソーシングを停止する。5.7.7マイクロプロセッサ支援オペレーションループスイッチは、少数の例外はあるが、マイクロプロセッサの支援なしにハブエミュレーションまたはスイッチングセグメント化オペレーションを提供するよう設計されている。この例外について、以下で詳細に説明する。デバイスディスカバリ段階で、ループスイッチとのある種のプロセッサ会話が必要なことがある。なんらかの理由によりディスカバリが失敗した場合、ループスイッチはステータスレジスタでエラーを通知し、マイクロプロセッサはエラーの原因を読むことができる。その時、プロセッサは再初期化を試みエラーからの回復を強制することができる。これは必須ではないが、エラーが一般的である場合にループスイッチのパフォーマンスレベルを改善するのに役立つことがある。また、プロセッサを埋め込みファイバチャネルMACと共に使用して、手動でスイッチングセグメント化モードに入ることができる。そのためには、以下のステップを実施しなければならない。通常のポートディスカバリプロセスをバイパスするには、ルータのポートディスカバリディスエーブルビットが設定されなければならない。ループがダウンし再度復活したことを示すために各ポートモジュールでの割込みにより検出される各ループ初期化サイクル後に、プロセッサはFCMACを通したデバイスディスカバリの実行を支援する。プロセッサは各ポート内のユーザマッチビットを初期化して、送られる最初のOPNを検出し、OPNを送り出してから、ループを通るときにどのポートが実際にOPNを見ているかを知る。OPNがあるポートから次のポートに渡らないとき、OPNが目標としたデバイスはOPNを見た最後のポートのすぐ後のポートにあると想定する。次に、プロセッサは同じようにしてすべてのOPN値を通り、ALPAマップに書き出すのに必要な情報を決定する。プロセッサデバイスディスカバリの後に、ルータのARBブロッキングビットを設定しなければならない。これは、既存のループテナンシーが完了したときにすべてのループトラフィックをホールドオフし、スイッチングモードへのスムースな遷移を可能にする。その後、プロセッサは各ALPAのポート値でALPAマップをロードする。次に、プロセッサはルータのビットを設定して、ループスイッチをスイッチングモードにし、ルータのARBブロッキングビットもリセットする。ARBブロッキングビットをリセットすると、スイッチングモードへの手動切り替えが完了し、通常のトラフィックの再開が可能になる。5.8カスケーディングカスケーディングとは、ループスイッチの相互接続を指している。次のセクションで、ループスイッチはルートスイッチに含まれている。図16b919と図16c944とSBODSを参照、図16a1906、1908、1910、1912、図16b1924、1926、1928、1930、図16c1950、1947を参照。ルートスイッチは、マイクロプロセッサ、サポートロジック、パワーサプライがすべて1つのシャーシに収まったプリント回路基盤のループスイッチASICとして実装される。これは、スタンドアロンスイッチボックスに含まれているループスイッチである。あるいは、ループスイッチはハードディスクドライブストレージエンクロージャ、すなわちJBOD内に展開される。ループスイッチがプリント回路基盤に含まれ、ハードディスクドライブストレージエンクロージャのバックプレインまたはミッドプレインに差し込まれると、これはswitchedbunchofdisksすなわちSBODになる。各ディスクは直接ループスイッチに接続される。5.8.1シングルカスケード5.8.1.1ハブエミュレーションモード追加接続を提供するために、2つのループスイッチをハブエミュレーションモードでカスケード接続することができる。1つのループスイッチ間ハブエミュレーションカスケードの実施に、特に検討すべきこともない。5.8.1.2スイッチングセグメント化モードループスイッチがスイッチングモードでカスケード接続されるとき、正しい動作を保証するために特別の検討が必要である。カスケード接続されたループスイッチがスイッチングモードで動作し、もう1つのループスイッチがハブエミュレーションモードで動作している場合、ビジーループを検出するのに使用されるARBff方式によるIDLE置換え方式を前に説明したように使用することができ、いかなる動作上の問題もない。ループがビジーかどうかをARBffを送受信を通してポートが判断するため、スイッチングモードのループスイッチは、アービトレーションなしで盲目的にOPNを宛先ループに送ることがある。しかし、スイッチングモードの2つのループスイッチがカスケード接続されているとき、接続されたループスイッチの両方のポートがARBffを送受信し、オペレーションの通常ルール非カスケードの下で任意の時にOPNを送ることがある。両サイドがほとんど同時にOPNを送った場合、接続の両サイドはカスケードループ接続の完全コントロールを想定しているため衝突が発生することがある。この競合を回避するために、ループスイッチのカスケード接続ポートは、非カスケード接続ループスイッチのポートとは異なる動作をしなければならない。スイッチングモードの2つのループスイッチがカスケード接続されているとき、以下のいずれかのタイプのカスケードアービトレーション構成が設定されなければならない。図16bのツリーカスケード、または図16aのストリングカスケードである。ツリーカスケード構成とストリングカスケード構成を結合する、ループスイッチの追加展開もある。一方の展開はストリングカスケードのツリーである。図16cを参照。ツリーカスケードは、中央またはルート位置のもの1919を使用してループスイッチ1919、1924、1926、1928、1930を相互接続し、残りをそのルートスイッチのポート1920、1921、1922、1923に接続する。ツリーカスケードでは、カスケード接続の両方のポート1920,1921、1922、1923はポートがビジーかどうか判断するのにARBff伝播特性に頼らない。むしろ、カスケード接続ポート1920、1921、1922、1923の間でループをアクティブにアービトレーションし、他のサイドたとえば1917、1918にOPNを送る前に勝者を決める。カスケードポートで送られるARBxALPA値はOPNがソーシングされたポートにARBxで戻されたものと同じALPA値である。カスケードポートは、FC-ALループプロトコルの通常のルールに従ってアービトレーションする。しかし、標準ARBf0アービトレーションフェアネス方式FCALアクセスフェアネスアルゴリズムはこの場合には適用されない。それは、勝者にアクセス権を提供するためにアービトレーション敗者は接続を切られなければならないためである。したがって、敗者はアービトレーションを継続できず、勝者側の接続が取り除かれるまでアクセス権を取得できない。その点で、次の勝者は、1アービトレーション要求の到着時間と2ソースALPA値のプライオリティという2つの要因によって決められる。このアービトレーションは、2つの直接接続ループスイッチ1920、1921、1922、1923の間でのみ行われ、カスケードをアービトレーションする2つのループスイッチのいずれかのサイドのループスイッチには影響しない。ストリングカスケード、図16aでは、各ループスイッチ1906、1908、1910、1912は、バーチャルループの論理デバイスとして扱われる。カスケードをコントロールするには、アービトレーションは、ループスイッチ1902、1903、1904、1905の全ストリングをコントロールできなければならない。アービトレーションの勝者は、標準のアービトレーション済みループと同様にソースALPAのプライオリティのみによって決められる。ストリングカスケードのコントロールを得るには、ループスイッチはアクセスを要求するデバイスのARBxALPAをストリングカスケードループに置き、ARBxALPAが戻されるのを待たなければならない。ループスイッチが自分のALPAを受け取る前に高いプライオリティのALPAを受け取った場合、ループスイッチは高いプライオリティのARBxALPAを転送する。低いプライオリティのARBxALPA、またはループスイッチが自分のARBを受け取った後に受け取ったARBxALPAは、標準ループ同様にブロックされる。ループスイッチがカスケードストリングループのコントロールを得たと判断すると、ループスイッチはそのOPNをループに置き、希望する接続を確立する。接続が閉じられると、ループスイッチはループでARBf0を送り、ループがフリーであることを知らせる。元のループスイッチがARBf0を戻された場合、ループはフリーであると判断し、ループでIDLEを送る。ループがフリーでない場合、ループスイッチは受け取ったARBxALPA順序集合を転送する。各ループスイッチは、ループスイッチフェアネスを保証するための、IDLEリセット期間当り1回のみループで自分の順番がまわってくる。両方のアプローチは、ファイバチャネルループプロトコルをサポートしており、カスケード接続されたポートに接続された非Vixelループスイッチは、宛先ループのコントロールを得るために使用する方式で通常デバイスのように振る舞う。これにより、ループスイッチはカスケードポートに接続された非Vixelデバイスと協調できるようになる。5.8.2重複カスケード-トランキング5.8.2.1ハブエミュレーションモードハブエミュレーションモードでは、2つの同一リモートシリアル番号を2つの異なるポートで得た場合、下位の番号のデバイスがマスターと指名され、もう一方がスレーブとなる。ハブエミュレーションモードのマスターループスイッチは、ポートコントロールレジスタにビットを書き込むことによって、一方のカスケードポートをプライマリカスケードに割り当てる。ハブエミュレーションモードにあるマスターループスイッチの他のカスケードポートは、ポートコントロールレジスタに複製とマークされる。複製ポートと指定された各ポートはバイパスされる。これにより、ハブエミュレーションモードにあるループスイッチの複製ポートがスイッチングモードにあるループスイッチのポートに接続される場合、スイッチングモードのループスイッチは接続を使用しようとしないことが保証される。ハブエミュレーションモードにあるループスイッチの複製カスケードポートの同時活性化により無効なループトポロジが存在するようになるため、これは必須である。5.8.2.2スイッチングセグメント化モードトランキングスイッチングモードにあるループスイッチ間の複数の複製カスケードを使用して、近隣ループスイッチ間のスループットを増やし、無効なループトポロジを作成することなく、同時に活性化することができる。イニシエータベースでのカスケード間のロードバランシングがサポートされる。図27を参照。2つのイニシエータとプライマリ/複製カスケードペアを持つシステムでは、各イニシエータは、専用の論理カスケードチェーンを持つことができ、これにより、シングルカスケードシステムの約2倍のスループットが提供される。たとえば図27に示すように、HBA11801は、SBOD1803、1804、1805のストリングを通してフル帯域幅パス1813、1829、1831を持つ。イニシエータHBA21802もSBOD1803、1804、1805のストリングを通してフル帯域幅パス1814、1830、1832を持つ。SBODのHBA1およびディスクとSBODのHBA2およびディスクとの間の同時通信が可能になる。たとえば、HBA21802がパス1814、1819を使用してSBOD1803のディスク161819と通信しているときに、HBA1は同時にパス1813、1817を使用してSBOD1803のディスク11817通信することができる。トランクでの複製カスケードの数はハードウェアによって制限されない。トランクグループは、希望するならば22のポートASICで21のトランクとして定義することができる接続の他のサイドを提供するために、1つのポートはトランクに割り当てない。カスケードより多くのイニシエータが追加される場合、グループ内の各トランクに割り当てられる相対トラフィックを基にしてスループットは影響を受ける。5.8.2.3イニシエータ検出ループスイッチASIC内の状態マシーンが、ルータコントロールレジスタのビットの設定を基にしてPortLoginPLOGI、SCSIFCP、またはPRLIフレームのようなファイバチャネルフレームをモニタすることにより、どのイニシエータALPAがループに存在しているか判断する。状態マシーンは各ポートに存在して、同時応答フレームの検出に対応する。ループスイッチのルータコアのロジックは、イニシエータALPAを収集し、それをルータのテーブルに保存する。このテーブルは、各ALPAにビットが割り当てられており、1はALPAがイニシエータとして識別されたことを示す。テーブルのフォーマットは、LixALixA=LISA、LIHA、LIFAなどフレームのALPAマッピングと同一である。ハードウェアイニシエータ検出は、ルータコントロールレジスタのディスエーブルビットによってグローバルに、またはルータレジスタにあるイニシエータレジスタのソフトウェアオーバライドによって個別に無効にすることができる。ソフトウェアオーバライドビットは、ハードウェア検出イニシエータビットとXORされ、なんらかの理由により検出されなかったイニシエータを含めたり、検出されたイニシエータを排除したりすることができる。5.8.2.4イニシエータロードバランシングルータのイニシエータALPAテーブルによって、マイクロプロセッサはループスイッチに接続されたトランクのグループの間でイニシエータのロードバランシングをするのに必要な情報をすべて有している。ソフトウェアは、3つの情報を相互参照することによって、このループスイッチがロードバランシングマスターとしてどのイニシエータをコントロールするか決める。この情報には、1システムのイニシエータ、2各ALPAが存在するポート、3プライマリカスケード、重複カスケードであるポートと分類法が含まれる。トランクグループの一部ではないポートに位置するイニシエータは、ロードバランシングのためこのループスイッチに属すると決められる。さらに、あるトランクグループでイニシエータが検出された場合、ソフトウェアは、そのイニシエータをそのループスイッチの他のトランクグループに割り当てなければならない。しかし、カスケードポートがつなげられる場合、ハードウェアは自動的にストリングパスに従う。ソフトウェアがロードバランシングのためにコントロールする必要があるイニシエータを決めると、ソフトウェアはルータレジスタにあるトランク分類テーブルを初期化する。各イニシエータは、各プライマリ/複製カスケードセットに対して1つのエントリをトランク分類に有していなければならない。希望する構成やトラフィックフローを想定して図17を参照、トランク分類は次のようになる。ループスイッチA1002は、すべてのローカルイニシエータ1000、1001、1020、1021を特定のトランクに割り当てている。ポート111018に結び付けられているツリーカスケードグループに入るイニシエータも、ポート71003に結び付けられているカスケードグループのトランクに割り当てられている。ループスイッチE1012は、自分がマスターとなり割り当てねばならない1つのローカルイニシエータ1011を有している。ループスイッチB1005、C1016、D1010はマスターではなく、各イニシエータからの前のOPNがループスイッチに到着したパスを基にして各接続を送るトランクを自動的に学習する。あるいは接続は、各フレーム内のソースおよび宛先IDから学ぶことができる。この例では、ループスイッチB1005とC1016はプライマリ1018、1003とセカンダリトランク1004、1017を接続するストリング関連を有しており、接続は、トランザクションがループスイッチを通るときストリングに従うと想定される。ループスイッチB1005とC1016のカスケード接続がストリングとして定義されていない場合、イニシエータは希望するロードバランシングを保持するためにカスケードトランク1003、1004、1006、1007、1018、1019、1014、1013に割り当てられなければならない。ループスイッチB1005において、ALPA01、04、081023はポート7に割り当てられ、ALPA02、171024はポート8に割り当てられなければならない。同様に、ループスイッチCにおいて、ALPA01と041022はポート111018に割り当てられ、ALPA02、17と081019はポート121017に割り当てられる。イニシエータのALPAのいずれかがルータレジスタマップのトランク分類テーブルにロードされない場合、そのイニシエータのトラフィックはプライマリポート1003、1006、1014、1018にデフォルト設定される。テーブルに保持可能な多くのイニシエータをサポートするためにイニシエータのトランク割り当てを拡張するには、イニシエータをプライマリポートに割り当てるエントリを削除しなければならない。同じ2つのデバイスの間のOPNが異なるトランクを通過するロックアップケースの可能性を最小化するために、2つのルールが分類テーブルにおいて明示的に設定されるか、イニシエータからのOPNをモニタすることによって学習されたトランク割り当てを無効にする。1.イニシエータ間トラフィックは常にプライマリトランクを通る。2.半二重トラフィックは常にプライマリトランクを通る。5.8.3ターゲットロードバランシングシングルイニシエータシステムでは、ソフトウェアイニシエータがテーブルを無効にし、イニシエータ間トラフィックは常にプライマリリンクを通るというルールが、2のトランクカスケード接続のための基本ターゲットロードバランシングメカニズムの定義を可能にする。すべての真のイニシエータトラフィックは、複製カスケードに割り当てられ、ターゲットの半分はイニシエータとして定義される。この場合、トラフィックは2つのトランクの間で分割される。真のイニシエータとソフトウェア割り当てイニシエータと間のすべてのトラフィックは、プライマリインク上にある。その他のすべてのトラフィックは複製リンク上にある。5.9ポートフェアネスアービトレート型ループ仕様は、アクセスフェアネスアルゴリズムと呼ばれるループフェアネスのためのアルゴリズムを有している。FC_ALartでよく知られているようにRobertW.KembelのArbitratedLoop1997ConnectivitySolutionsを参照、オープンOPN要求を送る前に、デバイスはループをアービトレーションすることが要求される。アービトレーションARBサイクルがループで実施され、デバイスがループへのアクセス権を獲得した後、デバイスはアイドルIDLEを受け取るまで再度アービトレーションすることは許されない。勝ったポートは、ループを勝ち取ろうとしている他のポートから受け取ったARBxをフィルワードARBF0によって置き換える。勝者側のポートが自分のARBF0を戻された場合、このポートは他のどのポートもループをARBしていないということを知る。この場合、勝者側のポートは、フィルワードIDLEを送る。このフィルワードは、ループの他のポートが受け取ったとき、このポートがアクセスケーパビリティをTRUEに設定できるようにする。そして、これは、プライオリティが低い他のポートに自分の番がまわってこないため、前にループへのアクセスを禁じられていたポートが再度ループのコントロールをアービトレーションすることを可能にする。他方で勝者ポートがループをコントロールし、ARBF0フィルワードを送っているときにループへのアクセスを希望する他のペンディングデバイスが存在する場合、このポートはARBF0を破棄し、自分のポートアドレスに置き換える。コントロール側のポートはARByが返るのを知っているためリセットIDLEワードを送らないが、ARBF0を送り続ける。コントロール側のポートがループを終えているとき、最高位のプライオリティのペンディングポートのARByが通過するのを可能にし、ARByが戻ったときyポートはループをコントロールすることができる。5.9.1シングルループスイッチフェアネススイッチングまたはセグメント化オペレーションを説明しているセクションで取り上げたように、ループレベルでのポートフェアネスを確立するためにIDLEはARBffによって置き換えられる。しかし、これは3つのIDLEがARBff置換の前に通ることは許されないという点で、標準的なARBff置換の場合とは異なる。ループスイッチポートでのアイドルブロッキングは、ループの各ノードデバイスがループのコントロールを取得するチャンスを持ち、アクセスウィンドウは直ちにリセットされないことを保証する。ループスイッチは最初にビジーポートのデバイスがルータを通して他の接続を初期化する前に他のポートが以前にビジーであったポートに接続するのを許可する。アイドルブロッキングオペレーションは、ブロッキングALPAレジスタへのレジスタ書込みを通して修正できる。その結果、ARBffの使用に関連した相互運用性問題が存在する場合に0xFF以外のALPAが使用される。固定プライオリティ値を各ポートに割り当てた固定プライオリティ方式を使用してどのOPN要求が最初にサービスを受けるかを決めている場合、プライオリティが低いループスイッチポートは、スループットがデグレードし、データに不足するようになり得る。この条件を観察するために、3つのポートポート1、ポート2、ポート3が連続して4番目のポートポート4に連続してアクセスする場合を検討してみよう。ポート1とポート2はポート3より高いプライオリティを有しているため、ポート3がアクセス権を取得できないときにポート4に交互にアクセスし得る。これを防止するために、ポートアクセスの順序リストが保守される。このリストは、複数のポートから要求があったときにどのポートが最初にサービスを受けるかを決めるアクセスプライオリティを決定するのに使用される。OPNの受信によりポートに接続が与えられると、そのポートはリストの下部に移動し、プライオリティの低いポートがリストのトップに向かって移動する。2つのポートが相互にアクセスしようとしている場合、プライオリティの低いポートにCLSが送信され、プライオリティの高いポートが接続を確立できるようになる。5.9.2フェアネスへのマルチループスイッチシステムの影響先のパラグラフで説明されたプライオリティ順番制はシングルループスイッチシステムではかなりうまくいくが、マルチループスイッチシステムでは十分な公平性を提供できない。マルチループスイッチシステムは、ポートをツリーとして図16b、またはストリングとして図16aカスケード構成することにより相互接続される。カスケードポートとして構成されているポートがデバイスとして構成されているポートからのペンディング要求と衝突するペンディング要求を有している場合、先着順の優先順位付けはシステムパフォーマンスにとって最良のソリューションではない。カスケードポートからのペンディングOPN要求は、少なくとも2つのループスイッチがすでに接続に関与していることを意味している。ローカルに接続されたデバイスからのペンディングOPNがすでに複数のループスイッチを通って伝播している接続を閉じることを許可すれば、システムパフォーマンスに悪影響を与えることになる。任意に、フェアネスメカニズムに第2層を追加することができる。この層は、本物のプライオリティ順番制と比べてシステムパフォーマンスを改善する。異なる構成のポートがペンディングアクセス衝突を有しているとき優先権を得るポートタイプベースのプライオリティシステムが実装された。ストリングカスケードは複数のループスイッチが相互に接続されていることを意味し、ツリーカスケードは2つのループスイッチのみが相互に接続されていることを意味しているため、ポートタイプベースのプライオリティは次のように設定される。ストリングカスケード最上位のプライオリティツリーカスケード2番目に高いプライオリティデバイスポート一番低いプライオリティ同じタイプの2つのポートがアクセス要求衝突を有している場合、プライオリティ順番制は最初に受け取った接続要求が処理され、2番目に来た要求は閉じられる。5.9.2.1ストリングカスケードでのフェアネスストリングカスケードで相互接続されたスイッチのみから構成されているバーチャルアービトレート型ループはどのスイッチが相互接続のコントロール権を得るか決めるためにアービトレーションし、デバイスがインタースイッチカスケードループへのペンディングオープン要求アクセスを有していることを許可する。カスケードストリングの各スイッチはアービトレーションとデバイスフェアネスにファイバチャネルアービトレート型ループ標準に従って、バーチャルループのコントロールを得る。インタースイッチカスケードでのデバイスアクセスを決めるための前の方法は、利用可能なカスケードへのアクセスを決めるのに先着順とALPAプライオリティの組合わせを利用していた。このメカニズムは規模の大きいシステムでのフェアネスを保証せず、プライオリティの高いALPAデバイスがプライオリティの低いALPAデバイスを苦しめるstarveのを可能にし、アクセス解決の先着順の部分での衝突によるデバイスオープン/クローズOPN-CLSサイクルスラッシングを発生させる。非ファブリックスイッチング方式で複数のスイッチを接続するに際しての課題は、カスケードのすべてのスイッチの各デバイスが等しいアクセスを持つことを保証することである。シングルループスイッチを使ったファイバチャネル実装は、複数のデバイスを含んでいる場合、スイッチの各ポートを別個のループとして扱う。これは、どのポートが別のスイッチポートに最後にアクセスし、次にどのポートがアクセスを待っているかをスイッチが内部レジスタに保存して知っており、かかるフェアネスシステムを実施するため、シングルループスイッチではなんら問題は生じない。他方で、複数のスイッチがカスケードに接続される場合、各スイッチは他のスイッチで何が起こっているか知らない。デバイスは様々なスイッチループに広がっているため、従来型のアービトレート型ループアクセスフェアネスアルゴリズムは、当初の設計どおりには動かない。本発明は、スイッチのストリングにカスケード接続されるときに各スイッチを1つのアービトレート型ループのシングルデバイスとして扱うことによってこの問題を解決するものである。したがって、相互接続されたループスイッチのバーチャルループが存在する。各ループスイッチは、標準ファイバチャネルの一部がループをアービトレーションしたときに各デバイスが受け取るチャンスと似た、通信のチャンスを取得する。各個別スイッチのカスケードストリングポート個別スイッチをスイッチのカスケードに接続するポートのプライオリティロジックは、そのスイッチと結び付けられた各デバイスが自分の順番を持つことを保証する。ホストバスアダプタHBAは、サーバまたはワークステーションバスとファイバチャネルネットワークの間のインタフェースである。スイッチと共にHBAは相互接続されたスイッチループ上に存在しうる。しかし、HBAは、カスケードループでのプライオリティの達成ということになると、単なる他のスイッチとして扱われる。したがって、1つのスイッチは接続された関連のHBAを有している3つのスイッチのカスケードストリングは、4つのエンティティがループをアービトレーションするということを意味する。好ましい実施形態では、スイッチのどのポートもストリングカスケードポートして動作するように構成することができる。スイッチがカスケードストリングモードで構成されているときシングルスイッチのポートの間の論理接続が確立される。この論理接続により、ARBは、そのスイッチ上の他のストリングポートに特定のポートを通して渡すことができ、またストリングのスイッチの間の物理接続を通して渡すことができる。図28に例が示されている。図から分かるように、スイッチ12014は、ストリングカスケードポート12024に接続されたHBA2012を有しており、ストリングカスケードポート22026との論理カスケード接続が確立されている。この接続の他に、このスイッチのポート32008とポート42019に接続された外部メモリストレージデバイス2020が存在する。ポート1とポート2はカスケードストリングポートとして構成されている。これは、スイッチを接続しているバーチャルスイッチループにHBAを接続している。スイッチ22016では、カスケードストリングポートもポート12028とポート22027であるように構成されており、やはり外部メモリストレージデバイスが2021と2022がポート3とポート4に接続されている。これは、最後のスイッチに到達するまで繰り返され、カスケードループに接続される必要があるスイッチ32018の後にはスイッチがないため、1つのカスケードストリングポートのみを必要とする。図28の構成では、HBA2012はカスケードループの最後のスイッチ2018に位置するアービトレート型ループデバイスにOPNを送ることを希望している。HBAは最初にスイッチループのオーナーシップを要求するARBメッセージを送る。HBAはスイッチのカスケードストリングに位置しているためポート1とポート2はカスケードストリングポートであることを忘れないこと、ARBはカスケードストリングにある各スイッチのポートを通っていく。ARBは、スイッチ12014のポート22026から伝送され始め、スイッチ22016のポート12028へと達する。その後、ARBはスイッチ22016のポート22027にルーティングされ、スイッチ32018のポート12023に行く。最後のスイッチがポート1でARBを受け取るまでこれが次のスイッチで繰り返される。そして、最後のスイッチは同じポートからARBを返す最後のスイッチであるため、信号の送受信に同じポートを使用する。ARBは各スイッチのカスケードストリングポートを通して開始HBAに戻る。HBAが戻ったARBを受け取ると、HBAはオープンOPN信号を送信する。次に、OPNはOPN信号と結び付けられている宛先アドレスを基にして正しいスイッチに達する。正しいスイッチに達すると、信号はクロスポイントスイッチングモジュールを通って正しいスイッチデバイスポートに行く。カスケード接続されたストリングループへのアクセスを要求している様々なスイッチの複数のペンディングOPNが存在する場合、そのアクセスは従来のアービトレート型ループフェアネスアルゴリズムによってコントロールされる。スイッチのループは標準のアービトレート型ループプロトコルのデバイスのループと同じように動作する。ペンディングOPN要求を有している各スイッチは、ARBをカスケードループストリングに伝送することができる。ARBが同じくARBペンディングを有しているポートに来ると、プライオリティの一番高いARB普通の場合一番高いプライオリティは一番低いアドレスに属するが渡され、プライオリティの一番低いARBがブロックされる。これにより、ARB要求の中で1つしか勝者がいないことが保証される。プライオリティの高いARBが終了し、適切なデバイスがそのデータを適切なアドレスに渡すと、その勝者のデバイスはクローズ信号CLSを送る。システムアイドルが伝えられるまで再度ARBすることは許可されない。システムアイドルは、接続を要求しているデバイスを持つ各スイッチがバーチャルスイッチループでチャンスを持ったときのみ伝えられる。その際、システムアイドルはサイクルが繰り返されるとすぐにすべてのスイッチのアクセスウィンドウをリセットする。したがって、アドレスが低いしたがってプライオリティが高いポートとの他のARB競争に負けた他のペンディングデバイスに順番が回ってくる。デバイスがバーチャルカスケードスイッチループのコントロールを獲得したら、そのデバイスのOPNコマンドは自分自身の要求による以外、またはアドレッシング先のデバイスからCLSを受け取ったとき以外無効にできないことに注意するのが重要である。本発明の別の実施形態を図29に示した。これは、カスケードループストリングのツリーを示している。トップのループスイッチ12114ポート12144は、HBA2112を有している。他のループスイッチ12114ポート22142と42136は、それぞれに接続されたスイッチのシリアルペア、ループスイッチ22116とループスイッチ42138を有している。ポートはカスケードポートとして構成され、ツリーカスケードポートして指定されている。ループスイッチ42138とループスイッチ52140は、スイッチ12114のポート42136からのカスケード接続がそれらを接続している自分のカスケードストリングループ2146を有しているものとして示されている。この構成で発生しうる条件は、OPNをスイッチ1ポート4が受け取りスイッチ1ポート1の宛先を持ちポート4がアービトレーションに勝った、第2のOPNをHBAからポート1が受け取り、それがポート2の宛先を有しているとき、カスケードストリングのARB後にポート1はポート4のOPNによって閉じられることがあるということである。これは、正常なオペレーションである。なぜなら、ポート4からのOPNはポート1のオペレーションに対し優先しているが、ポート1はカスケードストリングの左サイドをARBしており、ポート1のARBがループに残されるように閉じられるためである。ARBはループを巡回し、対応しない場合問題が引き起こされる。この状況の解決は、期間の最後までARBがループに伝わり、ポート2によってスクラブされるのに十分なタイムアウト期間を持つことである。タイムアウト期間は、レジスタで設定され、その好ましいデフォルト値は30~40μ秒である。図30は、カスケードループが必要とされないときで、必要とされる唯一の通信が同じスイッチ内のイントラスイッチであるときに接続されたスイッチが個別に動作し得ることを示している。ここで、HBA2212を使用しているサーバ2210は、スイッチ22216が同時にポート5とポート6でデバイスを接続しているとき2246、ストレージデバイス2242への接続2244を通してデータを送受信している。図31は、他のワークステーションサーバ2350をどのようにしてカスケードループスイッチ2318に接続できるかを示している。この構成で、HBA2350はループスイッチに接続された他のアービトレート型ループデバイスと同じプロトコルを使用している。ループのコントロールを取得するために先に取り上げたカスケードループアービトレーションプロトコルを使用してHBAを直接カスケードループに接続することも可能であることに注意しなければならない。図32は、カスケードループで使用される実際の接続方法を示している。すべてのポートは、受信モジュール2408Aと送信モジュール2408Bから構成されている。カスケードループがアイドルモードにあるとき、カスケードループはポート22430の送信モジュール2426に論理的に接続されたポート1の受信モジュール2424を含み、3つのすべてのスイッチ2424、2416、2418を通っている。スイッチ間のインタースイッチ接続は物理接続である。ループスイッチ32418のポート12434は自分自身2436に接続されていることに注意する。通信ループは、図に示されているようにストリングを戻り、HBA2412へと戻って終わっている。図33は、ループスイッチ22516のファイバチャネルハードディスクデバイス2521に接続されたHBA2512を示している。好ましいモードでは、カスケードループは依然として、スイッチのチェーン全体を通るデータがクロスポイントモジュールを通してファイバチャネルハードディスクデバイス2521に転送されるとすぐにスイッチ22516ポート22527の受信モジュールに到着する前にデータはループスイッチ3ポート12523を通ることに注意。図34は、ループスイッチカスケード2614、2616、2618のループスイッチ32618のポート22614に接続されたストレージデバイス2622と通信しているHBA2612での同じようなシナリオを示している。明らかに、3を超えるスイッチがカスケードループまたはツリーカスケードループに接続されている。唯一の制限は、カスケードストリングでは最大で126しかデバイスをアドレッシングできないことである。図4は、メインコンポーネント内のループスイッチのブロック図を示している。スイッチコア150は、実際に正しい関連ポートに論理接続を確立するクロスポイントスイッチングモジュールから構成されており、ルータ149は、カスケードループに接続したいデバイスのアドレスを保守し、OPN要求からソースデバイスのアドレスを取り除くALPAフィルタを含み、カスケードループアービトレーション要求にそのアドレスを使用する。オープン要求は、ソース情報が存在していない半二重動作モードであることもある。この場合、アービトレーションに使用されるAL-PAは現在のOPN要求の前に受け取った最後のARBアドレスである。OPN要求がソースデバイスと同じスイッチのデバイスのための宛先アドレスを有している場合、クロスポイントスイッチングモジュールは、デバイスがその上に存在しているポートを接続する。OPN要求が要求したデバイスが存在しているのとは異なるスイッチ上に宛先アドレスを有している場合、スイッチルータはループのためのソースデバイスアドレスとARBを記録する。図35は、カスケードループをARBするのにHBAが使用するプロセスを示しているフローチャートである。HBAはARBをその関連スイッチポート2863へとソーシングする。ポートは送信ポートと受信ポートを接続し、ARBをHBAに戻す。自分のARBを受け取ると、HBAはアクセス権を獲得し、OPN2865をその関連ポートへとソーシングする。そのポートは、OPNが処理されるスイッチコアにOPNを送る。スイッチルータが宛先アドレスは別のスイッチの上にあると判断した場合、ルータはスイッチアクセス状態2866をチェックする。スイッチがカスケードループへのアクセスを有している場合、スイッチはARBをそのループ2872に置く。スイッチがまだカスケードループへのアクセスを有していない場合、スイッチはOPN要求をFIFOキュー2868に入れ、アクセスが可能になるのを待つ。アクセスが可能になると、スイッチはARBをカスケードループ2872に置く。HBAのARBが同時にループでのARBのうちで一番高いプライオリティを有している場合、HBAのARBはループのコントロールを獲得し、HBAが存在しているスイッチはOPNをソーシングして、HBAをカスケードループに接続する。OPNは宛先アドレスを有しているデバイスを含むスイッチに来るまでループを巡回する。そのスイッチはそのクロスポイントスイッチングモジュールを使用して、カスケードループを宛先デバイス2878に接続する。5.9.3フェアネスに対する反復クロージャ影響カスケードとフェアネスに関するセクションで前に説明したメカニズムにもかかわらず、システムは、特定のデバイスが反復してクローズダウンするアクセス衝突のパターンに入ることがある。この条件の簡単な説明を図18に示した。図18は、ポート1103に接続された6つのディスク1105、1106、1107、1108、1109、1110のループを有しているループスイッチ1102に接続されたシングルHBA1100を示している。すべてのディスクが同時に要求ペンディングを有している場合、6のディスクのJBOD1104は、最高のプライオリティを持ち、JBOD内でのアービトレート型ループを得たため、ループスイッチポートに対してALPAA31105を示す。しかし、JBOD1104へのHBA1100アクセス要求が最初にループスイッチに到着した場合、プライオリティ順番制はCLSをJBOD1104に送ってHBA1100アクセスを許可する。ディスクA31105はクローズダウンしているため、IDLEがJBOD1104のフェアネスウィンドウをリセットするまで、他のアクセスを要求できない。すべてのディスクがサービスを受けたか、あるいはHBA1100によってクローズダウンされた後に、IDLEがJBODおよびA3で巡回し、その他のペンディングディスクと共に再度アクセスを要求できるようになる。やはり、HBAの要求は、ディスクA3からの要求の前にペンディングになっており、クローズダウンしてフェアネスがリセットされるまでそのアクセススロットを緩める。これが続く場合、実際にディスクA3トランザクションが不足してHBAをタイムアウトさせ、ループをLIPするかディスクA3に非応答というフラグを立てる。不足条件をなくすために、フェアネスメカニズムの第3層が存在している。ALPAを基にしたCLSカウンタが、フレームが移されることなくALPAのOPN要求がクローズダウンした回数を追跡する。CLSカウンタがソフトウェア設定閾値に到達した場合、次にALPAをソースとして含んでいるOPNを受け取り、そのプライオリティが最高位まで上げられる。少なくともデータのフレームを転送する接続が確立されるまで、このALPAによる要求は一番高いプライオリティを保ち、ペンディングの接続衝突に勝つ最優先の2つのポートが衝突を要求している場合、先着順プライオリティが勝者を決める。各ポートは、個別にこのALPAベースプライオリティ増加をポートコントロールレジスタ1を介して有効/無効にできる。ダムタイムベースのプライオリティメカニズムを使用することもできる。このメカニズムは、ALPAベースではなくタイムスロットベースでポートのプライオリティを上げる。このタイマーのデューティサイクルがコントロールされ、ポートはポートコントロールレジスタ1を介して有効となる。ALPAプライオリティコントロールもタイムベースプライオリティコントロールも、どのタイプのポートにでも適用できる。5.10ゾーニング5.10.1非重複ゾーニングオペレーションのハブエミュレーションモードでもスイッチングセグメント化モードでも、各ポートは多数の可能性のある非重複ゾーンの1つに割り当てることができる。各ポートのゾーン割り当ては、特定のゾーン値を非重複ゾーンレジスタにプログラミングすることによって割り当てられる。あるゾーン内の各ポートのデバイスは、これらのデバイスのみが相互に対話でき、ループスイッチの他のすべてのポートから完全に孤立したループを形成するように接続される。データ転送も、ループ初期化活動も、完全に個別ゾーンに制限される。ループスイッチがシングルALPAマップをサポートするように設計されているため、ポートディスカバリは、非重複ゾーニングがオンのときのみゾーン0で有効である。非重複ゾーン情報は、シリアルEEPROMインタフェースを通じて取得される。5.10.2重複ゾーニングスイッチングモードスイッチングオペレーションでは、重複ゾーンは、特定のソース/宛先ポート組み合わせを無効にすることによって構成できる。スイッチングセグメント化モードのループスイッチは、各ポートで個別ループセグメントに分割されるため、各ポートのデバイスはそれぞれ別のゾーンに位置する。通常、異なるポートのデバイスは、先に説明したプロセスを通じて相互に対話することができる。しかし、各ソースポートで、特定の宛先ポートへのアクセスを無効にし、ゾーン間分離能力を提供することができる。この無効化機能は、重複ゾーン宛先ポート無効化レジスタにソース/宛先ポート無効コントロールを書くことによって実行される。単独では、重複ハードゾーニングは、個別ループセグメントにループ初期化活動を隔離しない。そのためには、LIPアイソレーションが明示的に有効とされなければならない。5.11LIPアイソレーション通常LIPがポートで受け取られると、すでにそのように構成されていない場合ループスイッチはハブエミュレーションモードに戻る。次にLIPはループスイッチのすべてのポートを伝播してループ初期化を許可する。システム要求に応じて、これにより、ループトラフィックに受け入れがたい割込みが発生することがある。頻度を減らす、もしくは少なくともこの割込みのタイミングを管理するために、ループスイッチはLIPアイソレーションをスイッチングモードで提供するように構成することができる。このアイソレーションは、GBIC/SFPが取り除かれているとき後で再挿入されているのLIPの伝播防止を含む。LIPアイソレーションの2つの主な分類、非ステルスモードとステルスモードがありうる。5.11.1非ステルスモード非ステルスモードアイソレーションは、他のゾーンに対する影響を持たない特定のゾーンにLIP伝播を隔離するか、デバイスを完全にループから隔離する。LIPを作成したデバイスは、LIPと以後のループ初期化サイクルがシステムパフォーマンスに影響しないことが分かるまで、システムから隔離される。5.11.1.1ハブエミュレーションモード非重複ハードゾーンは、LIPがあるゾーンから他のゾーンに伝わらないことを保証するが、いずれかのゾーンのLIPはそのゾーンのすべてのその他のポートを再初期化させる。5.11.1.2スイッチングセグメント化モードループスイッチのスイッチングセグメント化モードでは、2つのLIPアイソレーションソリューションがありうる。ソリューションが有効になるには、ルータでグローバルLIPアイソレーションイネーブルビットが設定されなければならない。これはポートの特定の動作を決定しない。単に、すべてのポートでのポート固有動作を有効にするにすぎない。各ポートでのLIPアイソレーション動作はポートコントロールレジスタでコントロールされ、ポートベースで個別に選択可能である。非ステルスLIPアイソレーションコントロールの要約5.11.1.2.1手動挿入モードLIPブロッキング手動挿入モードでは、LIPはポートを離れる前にブロッキングされる。このモードがポートで活性化されるには、ルータでグローバルアイソレーションイネーブルビットが設定され、ポートアイソレーションがそのポートでイネーブルに設定されなければならない。ブロックされるLIPは他のポートに影響しないし、LIPが発したフルループを伝わることも許されない。これはLIPアイソレーションの最も厳しい形式であり、デバイスのLIPは不活動なままであり、通信することは許可されない。ポートをループに戻すには、LIPがループスイッチのすべてのポートを通して送られなければならないか、マイクロプロセッサが指向性のLIPをそのポートに送り、ループに入るのを認めなければならない。どちらの場合も、システム全体がループに入り込み、すべてのポートがループ初期化サイクルに参加する。ファームウェアは、そのポートへの割込みによってポートが隔離されたことを検出できる。5.11.1.2.2ローカル挿入モードローカル挿入モードは、LIPを検出したポートはローカルな隔離ループ初期化がそのポートでスタンドアロンループとして進行することを許可するという点を除けば、手動挿入モードと似ている。ローカルループ初期化に従って、ポートは内部で自身に配線される。ローカルデータ転送が進むことが許可されるが、他のポートとの通信は許されない。OPNが他のポートから隔離されたポートに送られた場合、OPN要求は通常応答を受け取る前に隔離ポートが利用可能になるまで、あるいはループスイッチ全体が初期化されるまで待つ。OPNに応答がない場合、ソースポートはCLSを送り、他の接続を試みることができる。ルータコントロールレジスタで選択されている場合、ポートはOPNが隔離されたポートに送られたときループスイッチから直ちにCLSを戻すことができる。どちらの場合も、システム全体がループに入り込み、すべてのポートはループ初期化サイクルに参加する。手動挿入モードの場合と同じように、ファームウェアはそのポートの割込みによってポートが隔離されていることを検出できる。5.11.2ステルスモードステルスモードLIPアイソレーションは、システムのすべてのデバイスをLIPすることなくデバイスがシステムに加わることを可能にする、ローインパクトメカニズムを提供する。システムの構成に応じて、システムへの影響は新しいデバイスを除きどのデバイスもLIPを受け取らないため、少数のデバイスがLIPを受け取る、システム全体がLIPされるまで様々まである。図19のフローチャートは、ステルスLIPサイクルを処理するために内部状態マシーンがたどるフローを示している。ステルスモードアイソレーションにはいくつかのレベルのコントロールが存在する。次のセクションは、ステルスアイソレーションのカスケード接続ループスイッチASICの例と共に、シングルループスイッチASICでのステルスアイソレーションのいくつかの構成を示す。それぞれの場合で、ループスイッチASICの回路の内部で発生するステップの詳細説明と共に、ブラックボックス説明が与えられる。下の表で、グローバルアイソレーションコントロールをイネーブルにして、ステルスアイソレーションのポートレベルコントロールの機能が示されている。上に示されているビットの他に、ルートブロッキングとLIPアイソレーショングループを使用して、スイッチポートに基づくLIPアイソレーションばかりでなく、各デバイスのALPAに基づくデバイス間ルーティングアクセスをコントロールすることができる。5.11.2.1ルートブロッキンググループループスイッチASICは、各デバイスのALPAを基にしてルートブロッキングを提供する複数のグループをサポートしている。各グループは、ループでの各ALPAに対応した126ビットの集合を含んでいる。ビットが1に設定されている場合、その関連デバイスはイネーブルが1に設定されているそのグループの他のデバイスと通信することができない。ルートブロッキングメカニズムは、カスケードホップに関係なく、ループスイッチASICを通る接続をカバーする。ルータルックアップ状態マシーンがOPNを受け取ると、各ルートブロッキンググループが解析され、接続がブロックされているかどうか判明する。接続がブロックされている場合、OPNが元のポートに戻され、元のデバイスに宛先ALPAはループ上にないことが明らかになる。半二重OPNは特殊な場合であり、ルートブロッキングはサポートされていない。ソースポートは、OPNフレームに含まれないため、ロジックはそのポートの存在するすべてのALPAを解析しなければならない。いくつかのイニシエータは、そのALPAがLILPフレームにあるが、オープンできないデバイスに連続してアクセスしようと試みる。複数回の試行の後、そのイニシエータはループをLIPする。フィルタリングされたLIRP/LILPメカニズムが無効になっていない限り、LIPはLIPサイクル時に受け取ったイニシエータのLILPからブロックされているALPAをクリアし、システムオペレーションを継続しなければならない。ALPAは、複数のルートブロッキンググループに含まれていることがある。LIPアイソレーショングループのハードウェア作成が有効になっている場合、このルートブロッキンググループは自動的に重複アイソレーショングループを作成する。SOC422ループスイッチでは、3つのルートブロッキンググループがROMスペースに含まれ、管理していないスイッチでのいずれかのレベルのルートブロッキング/LIPアイソレーションに対応する。5.11.2.2LIPアイソレーションゾーングループループスイッチASICは、16のLIPアイソレーションゾーンをサポートしている。16という数は実装値であり設計値でないことに注意しなければならない。各ポートは、各アイソレーションゾーンに対応する16ビット集合を含むルータのメモリマップスペースで定義されているコントロールレジスタを持つ。ビットが1に設定されている場合、ポートはそのLIPアイソレーショングループに含まれる。0に設定されている場合、ポートは含まれない。シングルループスイッチASICに対してグループが定義されており、複数のループスイッチASICがカスケード接続されている場合、あるループスイッチASICのゾーン2から転送されるLIPによって、システムのすべてのループスイッチASICのゾーン2のポートが影響を受けるようになる。アイソレーショングループは、ポートで重複することがある。LIPを転送するように構成されているポートでLIPが検出された場合、有効になっているすべてのポートを含むループ初期化に、元のポートが属しているすべてのゾーンでLIPを受け取らせる。5.11.2.3インタースイッチフレームループスイッチASICは、システムのすべてのスイッチでLIPアイソレーションとルートブロッキングをサポートしている。ステルスインタースイッチカスケードレジスタの非ゼロ値によって示される複数のステルスモードスイッチがシステムに存在する場合、複数のスイッチでの同時LIPイベントの際にループをコントロールするスイッチを決めるためにアービトレーションのメカニズムが必要となる。さらに、コントロールが決められると、どのゾーンがLIPサイクルに関与するかを知らせるメカニズムが必要となる。ブロードキャスト、インタースイッチフレームは、両方のニーズをカバーする。また、ファームウェアがシステムの他のスイッチとインバンド通信するためのメカニズムを提供する汎用インタースイッチフレームがサポートされている。5.11.2.3.1LIPサイクルインタースイッチフレームLIPサイクルのインタースイッチフレームは、ほぼループ初期化フレームの一般フォーマットを基にしている。7つの32ビットワードはへッダを構成し、16バイトへ続くペイロードとCRCを伴う。このフレームは、下の図のフォーマットを有している。ペイロードの1番目のワードは、フレームがLIPインタースイッチフレームであることを示している。ペイロードの2番目のワードは、LIPサイクルのコントロールを得ようとするスイッチのシリアル番号ビット31-0のみを含んでいる。3番目のワードは、上半分でLIPサイクルに含まれ、下半分でゼロの2バイトによってパディングされるゾーンを示しているビットマップを含んでいる。5.11.2.3.2汎用インタースイッチフレーム汎用インタースイッチフレームは、へッダの1番目のワードと3番目のワードのマッチでデータフレームをキャプチャするループスイッチASICでユーザプログラム可能である。フレームは32バイトペイロードを持つ。ペイロードの先頭4バイトは、ループスイッチASICのシリアル番号でなければならず、それらが伝送インタースイッチフレームレジスタで読み込みアクセス可能であっても、ループスイッチASICによって自動的に挿入される。ペイロードの残りの28バイトはユーザにより定義される。ループスイッチASICは、ペイロードで受け取ったシリアル番号をローカルシリアル番号と比較し、フレームが他のスイッチから来たもので転送しなければならないかどうか判断する。また、自分のスイッチから来た場合にはブロックする。リモートフレームの検出時またはラップバックされたローカルフレームの受け取り時に割込みを作成することができる。5.11.3ステルスモードアイソレーション、シングルASIC、シングルLIPゾーンのデバイス、ルートブロッキングなし下の表は、各デバイスのステルスアイソレーションの基本コントロールを示している。この例で図20を参照、ループスイッチASIC1200、1204、1205、1209に接続されている4つのすべてのデバイスはルートがブロックされることなく同じLIPゾーンに属している。ルートブロックはそのALPAを基にして特定のデバイスが他のデバイスと通信するのを阻止する。シングルゾーンの実装は、LIPがルータ1208に転送されたときはいつでも、LIPについて通知するように構成されているすべてのデバイスがループ初期化に関与するということである。HBAポート1211、1210は、LIPがルータ1208に転送された際、HBAが通知を受けるように構成されているが、HBAはLIPを他のデバイスには転送しないように構成されている。ディスクポート1212と1213はそれぞれ逆に構成されている。ディスクからのLIPはシステムに転送されるが、システムのLIPはディスクポートに渡されない。LIPがディスク11204によって作成される場合、ポートはループスイッチ1201、1203、1206、1207に内的なパスによって示されているようにループに接続される。2つのHBA1200、1209がディスク11204付きのループに含まれているが、ディスク21205は影響を受けない。ディスク11204はLIP転送が有効になっているため、LIPを転送する。HBAとは異なりLIPを受け取るように構成されていないため、ディスク21205はLIPサイクルから除かれる。3つのデバイス1200、1204、1209は、ループ初期化サイクルを実行する。完了時に、3つのすべてのデバイスは、スイッチングモードに入り、ディスク21205と通信できるようになる。ループスイッチASIC内で、ディスク11212に接続されているポートがLIPを検出する。ポート1212でLIPがブロックされるが、LIP検出信号がルータ1208に転送される。ルータロジック1208はすべてのポート1211、1210、1212、1213をコントロールし、フィルワードがブロッキングARBによって置き換えられ、ループスイッチASIC1202内で新しい通信が作成されないようにする。さらに、R_RDY順序集合は、既存の通信をすばやく完了するためにループスイッチASIC1202を通して渡されない。ルータロジック1208は、LIPされたゾーンに存在しないか、LIPについて通知しないように構成されているポートにある、スイッチのすべてのALPAを含んでいるLIFAフレームによって論理ORしてビットをフォーマットするこの場合、ディスク2には1ビットが設定される。さらに、LIPされているがLIPついて通知するように構成されていないゾーン内のスイッチ上のすべてのデバイスのALPAは、ルータ内のリストにフォーマットされ、LIRPフレームに挿入される。この場合、これはディスク21205のALPAにすぎない。ロジックがすべてのトラフィックが停止されたことを検出すると、直ちにクロスバースイッチがループ初期化サイクルのためポートとルータをループに接続するように構成される。この点で、トラフィックは、ループ初期化に含まれないすべてのポートで再開を許可される。初期化ループに入るデバイス向けのOPNは、OPNの発呼者に戻されてCLSと共に応答され、要求されたデバイスはビジーであることを知らせる。ポートからのLIPは、隔離されたポートのループを巡回することを許可される。LIFAフレームがルータを通るとき、ルータにフォーマットされているリストのすべてのALPAが論理ORされてルータにより修正される。LIRPフレームがルータを通るときも修正される。初期化されるが、実際には初期化に関与していないゾーンのデバイスを含むALPAリストがLIRPフレームに挿入される。オフセットフィールドがインクリメントされ、CRCが計算し直される。ループ初期化サイクルは、ループを巡回しているLILPフレームとCLS順序集合でもって終了する。ループスイッチASICが初期化が完了したことを検出すると、ルータは隔離されたポートが再度メインシステムに加わることを許可する。5.11.4ステルスモードアイソレーション、シングルASIC、マルチLIPゾーンのデバイス、ルートはブロックされない下の表は、各デバイスのステルスアイソレーションの基本コントロールを示している。図21も参照。この例では、ループスイッチASICに接続された4つのすべてのデバイスが1組みのLIPゾーンにある。図211233、1234を参照。ルートはブロックされない。すべてのデバイス1220、1228、1232、1229はすべての他のデバイスと通信することができる。別個のゾーンにあるということは、LIPがルータ1226に転送されると、LIPについて通知するように構成されている同じゾーン内のデバイスのみが、ループ初期化に参加するということである。HBAポート1221、1231は、LIPがいつルータに転送されたか通知を受けるが、LIPを他のデバイスに転送しないように構成されている。ディスクポート1225、1230は逆に構成されている。ディスクからのLIPはシステムに転送されるが、システムのLIPはディスクポート1230、1228に渡されない。LIPがディスク11228によって作成される場合、ループスイッチ1222、1223、1234内のパスによって示されているようにポートはループに接続される。HBA11220のみがディスク11228と共にループ1222、1223、1224に含められ、HBA21232とディスク21229は影響を受けず通信を続けることができる。隔離されているときにHBA21232またはディスク21229がHBA11220またはディスク11228のいずれかにOPNを送ろうとした場合、CLSが元のデバイスに返される。LIP転送が有効になっているため、ディスク1はLIPをルータ1226に転送する。2つのデバイスはループ初期化サイクルを実行する。完了すると、両方のデバイスはスイッチングモードに入り、HBA2およびディスク2と通信することができる。HBA1は、LIRP/LILPフレームにHBA2のALPAを含んでいないループ初期化サイクルに含まれていた。HBA1はHBA2について知らないため、HBA1からHBA2への通信は基本的に分割される。ルータコントロールレジスタのオプション設定により、システムのすべてのALPAをLIRP/LILPフレームに含めることができる。ループスイッチASIC1227内で、ディスク11225に接続されるポートはLIPを検出する。ポートでLIPはブロックされるが、LIP検出の信号がルータに転送される。ルータロジック1226は、すべてのポート1221、1231、1225、1230をコントロールし、フィルワードをブロッキングARBによって置き換え、ループスイッチASIC1227内からの新しい接続の作成を阻止する。さらに、R_RDY順序集合は、既存の接続を速やかに完了させるためにループスイッチASICを通らない。ルータロジック1226は、LIFAフレームと論理ORしてビットをフォーマットする。この例では、HBA2とディスク2のALPAに対応するビットが設定される。シングルゾーンの例とは異なり、ゾーン1のすべてのデバイスは、どのALPAもLIRPフレームに挿入されるリストでフォーマットされないようにループに含まれる。ルータロジックがすべてのトラフィックの停止を検出すると、ループ初期化サイクルのためにクロスバースイッチがポートとルータをループに接続するように構成される。この点で、トラフィックはHBA2とディスク2に接続されているポートでの再開を許可される。OPNがHBA1またはディスク1に向けられている場合、OPNの発信者に戻されるCLSによって応答し、要求されたデバイスはビジーであることを知らせる。ポートからのLIPは、隔離ポートのループを巡回することを許可される。LIFAフレームはルータを通るとき、ルータにフォーマットされるリストからのすべてのALPAを論理ORしてルータにより修正される。LIRPフレームがルータを通るとき、修正されない。ゾーンのすべてのデバイスがループ初期化に参加する。ループ初期化サイクルは、ループを巡回するLILPフレームとCLS順序集合でもって終了する。ループスイッチASICが初期化が完了したことを検出すると、ルータは隔離ポートが再度メインシステムに参加することを許可する。5.11.5ステルスモードアイソレーション、シングルASIC、マルチLIPゾーンのデバイス、ルートブロックあり下の表は、各デバイスのステルスモードアイソレーションの基本コントロールを示している。図22も参照。この例で、ループスイッチASICに接続されている4つのすべてのデバイスは1組みのLIPゾーンにある。図221255、1254を参照。2つのイニシエータ1240、1241の間のルートはブロックされる。HBA11240はいずれかのディスク1243、1242がLIPする場合LIPされる。HBA21241はディスク21242がLIPする場合のみLIPされる。LIPがディスク21242によって作成される場合、ポート1247、1246、1245はパス1250、1251、1252、1253によって示されるようにループに接続される。HBA11240もHBA21241もディスク21242と共にループ1255に含められ、ディスク11243は影響を受けず、他のデバイスが利用可能である場合通信を続けることができる。ディスク11243がOPNをいずれかの隔離デバイスに送ろうとする場合、CLSが元のデバイスに戻される。LIP転送が有効になっているため、ディスク1はLIPをルータ1248に戻し、両方のHBAはオーバラップゾーン1255、1254のためアイソレーションループにロールインする。3つのデバイスがループ初期化サイクル1240、1243、1242を実行する。完了時に、すべてのデバイスはスイッチングモードに入り通信することを許可される。この例では、HBA1240およびHBA1241も他のHBAのALPAを見ているが、あるHBAから他のHBAに送られるOPNはブロックルートとして検出され、OPNは元のHBAに戻される。いずれかのHBAがループ上にあると考えているデバイスへのOPNの連続した戻りに動転する場合、LIPすることがある。このLIPは、LIPしているHBAとルータ1248を含んでいるにすぎず、これらがそのLIPゾーンのALPAをLIRPフレームに挿入し、実際にテーブルから他のHBAのALPAを取り除く。ループスイッチASIC1249内で、ディスク21245に接続されているポートはLIPを検出する。LIP検出信号はルータロジック1248に転送されるため、LIPはポートでブロックされる。ルータロジック1248は、すべてのポート1247、1246、1244、1245をコントロールし、ループスイッチASIC1249内で新しい接続が作成されるのを防止するためにフィルワードがブロッキングARBによって置き換えられるようにする。さらに、R_RDY順序集合は、既存の接続をすばやく終えさせるためにループスイッチASIC1249を通らない。ルータロジックは、LIFAフレームと論理ORしてビットをフォーマットする。この例では、ディスク1のALPAに対応したビットが設定される。さらに、ディスク1のALPAは、LIRPフレームに挿入されるリストにフォーマットされる。ルータロジックがすべてのトラフィックは停止したことを検出すると、クロスバースイッチがループ初期化サイクルのためにポートとルータがループに接続されるように構成される。この点で、トラフィックはディスク1に接続されているポートでの再開を許可される。OPNがHBAまたはディスク2に向けられている場合、OPNはディスク1に戻されるCLSによって応答され、要求されたデバイスはビジーであることを示す。その後、ポートからのLIPは隔離されたポートのループを巡回することを許可される。LIFAフレームがルータを通るとき、ディスク1のALPAに対応するビットでORし、ルータによって修正される。LIRPフレームがルータを通るときも、修正される。初期化されるが実際には初期化に関与していないゾーンのデバイスを含むALPAリストディスク1のALPAがLIRPフレームに挿入される。オフセットフィールドがインクリメントされ、CRCが再計算される。ループ初期化サイクルは、ループを巡回しているLILPフレームとCLS順序集合でもって終了する。初期化が完了したことをループスイッチASICが検出すると、ルータは隔離されたポートが再度メインシステムに加わることを許可する。この点で、両方のHBAは各デバイスにPLOGIするためにLILPフレームで検出された各ALPAをOPNしようとする。HBA1とHBA2の間のルートはブロックされているため、ルータはいずれかのHBAが他のHBAをオープンしようとするとき発起者にOPNを返す。5.11.6ステルススイッチアイソレーション、マルチASIC、マルチLIPゾーンのデバイス、ルートはブロック下の表は、各デバイスのステルスアイソレーションの基本コントロールを示している。図23を参照。この例で、ループスイッチASICに接続されている5つのすべてのデバイスは1組みのLIPゾーンにある。図23、1328、1329を参照。両方のイニシエータHBAの1300、1301の間のルートはブロックされている。HBA11300は、ディスク11302または21303がLIPする場合、LIPされる。ディスク21303または31304がLIPする場合、HBA21301はLIPされる。マルチループスイッチ1319、1320システムをサポートするために、各ループスイッチASIC1319、1320の重複カスケード1306はステルスインタースイッチカスケードとして構成される。LIPがディスク21303によって作成される場合、ポートはパス1321、1322、1323によってループスイッチに内で接続される。HBA11300とHBA21301の両方がディスク21303と共にループ1324、1325、1326、1327、1322、1323、1321に含まれ、ディスク11302と31304は影響を受けず、他のデバイスが利用可能である場合通信を続けることができる。ディスク11302または31304がいずれかの隔離デバイスにOPNを送ろうとした場合、CLSが元のデバイスに戻される。LIP転送が有効になっているためディスク21303はLIPをルータ1317に転送し、オーバラップゾーン1329、1328により両方のHBAはアイソレーションループにロールインされる。3つのデバイスは、ループ初期化サイクルを実行する。完了時に、すべてのデバイスはスイッチングモードに入り通信することを許可される。この例で、両方のHBAは他のHBAのALPAを見ているが、一方のHBAから他方のHBAに送られたOPNはブロックルートとして検出され、OPNは元のHBAに戻される。いずれかのHBAがループに存在していると思っているデバイスにOPNが連続して戻されることに動転した場合、LIPすることがある。このLIPは、LIPするHBAとルータのみを含み、これらはそのLIPゾーンのALPAのみをLIRPフレームに挿入し、そのテーブルから他のHBAのALPAを実際に取り除く。ループスイッチASIC内で、ディスク2に接続されているポート1315がLIPを検出する。LIPはポートでブロックされているが、LIP検出信号はルータに転送される。ルータロジックがすべてのポートをコンロトールし、ASIC内で新しい接続が作成されないようにフィルワードをブロッキングARBによって置き換える。さらに、R_RDY順序集合は、既存の接続をすばやく終えさせるためにASICを通らない。シングルループスイッチASICシステムとは異なり、このシステムは初期化サイクルのマスターをアービトレーションし、LIPゾーン影響情報を他のループスイッチASICに渡さなければならない。ループスイッチASIC21320でトラフィックが停止されると、ルータをステルスインタースイッチカスケードポート、この場合はループスイッチASIC間の重複カスケード1306に接続しているループがループスイッチ内で確立される。インタースイッチ/ループが作成されると、16のLIPのストリームが送出される。ループスイッチASIC1の1319トラフィックはすでに停止されているため、LIPの受領時にそのルータと重複カスケードをループに接続することができる。LIPインタースイッチフレームがループスイッチASIC2によって作成され、ループスイッチASIC11319のルータによって受け取られ、保存されてループスイッチASIC2に戻される。ループスイッチASIC1は最初のサイクルでLIPフレームを見ているため、再送要求ビットをループスイッチASIC2に戻されるフレームに設定する。これにより、ループスイッチASIC2にLIPフレームを再送させる。ループスイッチASIC1は、すでにLIPフレームを見ているため今回は修正することなくそのままループスイッチASIC2にフレームを戻す。注:この再送メカニズムにより、スイッチコアでのステルスカスケードとルータの関係にかかわらず、すべてのスイッチがLIPフレームを受け取ることが保証される。ARBFF順序集合がフィルワードとしてループスイッチASIC2に送出される。初期化サイクルのコントロールを得ると、ループスイッチASIC21320はループのディスク21303をローカルルータ1317と重複カスケードポート1313と接続する。このループを作成した後、LIPはディスク2からシステム全体に伝播することが許可される。2番目のLIPを受け取ると、ループスイッチASIC1はインタースイッチフレームを基にして初期化サイクル向けにポートを構成する。この場合、両方のHBA、重複カスケードポート、ルータがループにロールインする。隔離ループが各ループスイッチで作成されると、各ループスイッチはそのループスイッチで影響を受けないポートが通信を再開するのを許し、プライマリカスケードでループスイッチASIC間のトラフィックが再開される。隔離ループ初期化においてデバイスはLIMを決定するためにアービトレーションを開始する。ループスイッチASIC11318のルータロジックは、LIFAフレームもLIRPフレームも修正しようとはしない。このループスイッチASICにローカルに接続されている両方のデバイスは、初期化サイクルに関与するが、ループスイッチASICがそのALPAを確保することを要求しない。ループスイッチASIC2のルータロジックは、LIFAフレームと論理ORしてビットをフォーマットする。この例では、ディスク1と3のALPAに対応したビットが設定される。さらに、ディスク1と3のALPAは、LIRPフレームに挿入されるリストにフォーマットされる。LIFAフレームはループスイッチASIC1のルータを通るとき、影響を受けない。LIFAフレームがループスイッチASIC2のルータを通るとき、ルータでフォーマットされたリストのすべてのALPAを論理ORし、ルータによって修正される。LIRPフレームはループスイッチASIC2のルータを通るとき、やはり影響を受ける。初期化されるが、初期化に実際には関与しないデバイスを含むALPAリストがLIRPフレームに挿入される。オフセットフィールドがインクリメントされ、CRCが再計算される。ループ初期化サイクルは、ループを巡回しているLILPフレームとCLS順序集合でもって終了する。ループスイッチASICが初期化が完了したことを検出すると、ルータは隔離ポートが再度メインシステムに加わることを許可する。この点で、両方のHBAは各デバイスにPLOGIするためにLILPフレームで検出された各ALPAをOPNしようとする。HBA1とHBA2の間のルートはブロックされているため、ルータはいずれかのHBAが他方のHBAをオープンしようとするとき発起者にOPNを返す。さらに、HBA1はディスク3の存在を発見し、そのディスクをPLOGIしようとし得る。このアクセスを望まない場合、HBA1とディスク3の間のルートブロッキングを構成するか、ディスク3とHBA2のみをカバーしている3番目のアイソレーションゾーンを設定することができる。5.11.7ステルスモードアイソレーション、マルチASIC、マルチゾーン、接続でのHBA1とHBA2下の表は、各デバイスのステルスアイソレーションの基本コントロールを示している。図23も参照。この例では、ループスイッチASICに接続されている5つのすべてのデバイス1300、1301、1302、1303、1304は1組のLIPゾーンにある。図231328、1329を参照。両方のイニシエータ1300、1301の間のルートはブロックされている。ディスク11302または21303がLIPする場合、HBA11300はLIPされる。ディスク21303または31304がLIPする場合、HBA21301はLIPを得る。複数のスイッチシステム1319、1320をサポートするために、各ループスイッチASICの重複カスケード1306は、ステルスインタースイッチカスケードとして構成される。LIPがディスク21303によって作成されるとき、HBA11300とHBA21301は通信中である。システムのすべてのトラフィックが停止した後、パス1321、1322、1323、1325、1327、1326、1324によって示されているようにポートがループに接続される。HBA11300もHBA21301もディスク21303と共にループに含まれる。そしてディスク11302と31304は影響を受けず、他のデバイスが利用可能である場合、通信を続ける。ディスク11302がいずれかの隔離デバイスにOPNを送ろうとしている場合、CLSが元のデバイスに返される。LIP転送が有効になっているためディスク21303はLIPをルータ1317に転送し、両方のHBAはオーバラップゾーンにより隔離ループにルールインする。3つのデバイスが初期化サイクルを実行する。完了時に、すべてのデバイスはスイッチングモードに入り通信することを許可される。ループスイッチASIC1320内で、ディスク21315に接続されているポートがLIPを検出する。ポート1315でLIPはブロックされているが、LIP検出信号がルータ1317に転送される。ルータロジック1317はすべてのポートをコントロールし、ASIC内で新しい接続が作成されないようにするためにフィルワードをブロッキングARBで置き換える。さらに、R_RDY順序集合は、既存の接続をすばやく終えさせるためにASICを通らない。シングルループスイッチASICシステムとは異なり、このシステムは初期化サイクルのマスターをアービトレーションし、LIPゾーン影響情報を他のループスイッチASICに渡さなければならない。ループスイッチASIC2でトラフィックが停止されると、ルータをステルスインタースイッチカスケードポート、この場合はループスイッチASIC間の重複カスケードに接続しているループがループスイッチ内で確立される。インタースイッチ/ループが作成されると、16のLIPのストリームが送出される。ASIC1のトラフィックで実行中のものもあるため、HBA1とHBA2の間の接続の終了を控えている。ループスイッチASIC1とループスイッチASIC2の間のカスケードはループスイッチASIC2サイドから停止されている。ループスイッチASIC1は複製カスケードでLIPを検出するため、ルータと重複カスケードをLIP受領時にループに接続する。LIPインタースイッチフレームがループスイッチASIC2によって作成され、ループスイッチASIC1によって受け取られ、ループスイッチASIC1のルータに保存される。ループスイッチASIC1のすべてのトラフィックが停止されると、インタースイッチフレークがASIC2に転送される。ARBFF順序集合がフィルワードとしてループスイッチASIC2によって送出される。初期化サイクルのコントロールを得ると、ループスイッチASIC1は、ローカルルータや重複カスケードポート共にループにディスク2を接続する。このループを作成した後、LIPはディスク2からシステム全体に伝播することが許可される。2番目のLIPを受け取ると、ループスイッチASIC1はインタースイッチフレームを基にして初期化サイクル向けにポートを構成する。この場合、HBA、重複カスケードポート、ルータがループにロールインする。ループが各ループスイッチで作成されると、各ループスイッチはそのループスイッチで影響を受けないポートが通信を再開するのを許し、プライマリカスケードでループスイッチASIC間のトラフィックが再開される。ループ初期化においてデバイスはLIMを決定するためにアービトレーションを開始する。ループスイッチASIC1ルータロジックはLIFAフレームもLIRPフレームも修正しようとはしない。このループスイッチASICにローカルに接続されている両方のデバイスは、初期化サイクルに関与するが、ループスイッチASICがそのALPAを確保することを要求しない。ループスイッチASIC2のルータロジックはLIFAフレームと論理ORしてビットをフォーマットする。この例では、ディスク1と3のALPAに対応したビットが設定される。さらに、ディスク1と3のALPAは、LIRPフレームに挿入されるリストにフォーマットされる。LIFAフレームはループスイッチASIC1のルータを通るとき、影響を受けない。LIFAフレームがループスイッチASIC2のルータを通るとき、ルータでフォーマットされたリストのすべてのALPAを論理ORし、ルータによって修正される。LIRPフレームはループスイッチASIC2のルータを通るとき、やはり影響を受ける。初期化されるが、初期化に実際には関与しないデバイスを含むALPAリストがLIRPフレームに挿入される。オフセットフィールドがインクリメントされ、CRCが再計算される。ループ初期化サイクルは、ループを巡回しているLILPフレームとCLS順序集合でもって終了する。ループスイッチASICが初期化が完了したことを検出すると、ルータは隔離ポートが再度メインシステムに加わることを許可する。この点で、両方のHBAは各デバイスにPLOGIするためにLILPフレームで検出された各ALPAをOPNしようとする。HBA1とHBA2の間のルートはブロックされているため、ルータはいずれかのHBAが他のHBAをオープンしようとするとき発起者にOPNを返す。さらに、HBA1は、ディスク3の存在を発見し、そのディスクをPLOGIしようとし得る。このアクセスを望まない場合、HBA1とディスク3の間のルートブロッキングを構成するか、ディスク3とHBA2のみをカバーしている3番目のアイソレーションゾーンを設定することができる。5.11.8ステルスモードアイソレーション、マルチASIC、マルチLIPゾーンのデバイス、同時LIP下の表は、各デバイスのステルスモードアイソレーションの基本コントロールを示している。図24と図25も参照。この例では、ループスイッチASICに接続されている5つのすべてのデバイスはLIPゾーン1429、1428、1529、1528の組みにある。ディスク11402、1502、または21403、1503がLIPを作成する場合、HBA11400、1500はLIPされる。ディスク31401、1501がLIPを作成する場合、HBA21404、1504はLIPを取得する。複数のスイッチシステム1419、1420、1519、1520をサポートするために、各ループスイッチASICの重複カスケード1406、1506はステルスインタースイッチカスケードとして構成される。LIPがディスク21403、1503とディスク31401、1501によってほとんど同時に作成される場合、非オーバラップゾーンを処理するために2つの初期化サイクルが実行されなければならない。ループスイッチASIC11419、1519がシリアル番号が小さいため最初の初期化サイクルのコントロールを獲得し、図24、1427、1426、1425のパスによって示されているようにポートはループに接続される。HBA21404、1504はディスク31401、1501とのみループに含まれ、HBA11400、1500とディスク11402、1502は影響を受けず、プライマリカスケードで通信を継続する。HBA21404、1504とディスク31401、1501はループ初期化サイクルを実行する。完了時に、これらのデバイスはスイッチングモードに入り通信することを許可される。完全なループ初期化サイクルの検出時に、ループスイッチASIC21420、1520はHBA11400、1500とディスク21403、1503を含むループ初期化サイクルを開始する。作成されるループを図25、1525、1526、1527、1522、1521、1523に示した。HBA11500とディスク21503はループ初期化サイクルを実行する。完了時に、両方のデバイスはスイッチングモードに入りシステムの他の部分と通信することを許可される。注:両方のLIPingデバイスが同じゾーンにあった場合、ループスイッチASIC21520はそのことを検出しており、1つのループ初期化しか必要でなかった。ループスイッチASIC内で、ディスク2と3に接続されているポート1514、1515はLIPを検出する。各ポートでLIPはブロックされるが、LIP検出信号が、各ループスイッチASICのルータ1417、1418、1517、1518に転送される。ルータロジック1417、1418、1517、1518はすべてのポート1408、1409、1410、1411、1412、1413、1414、1415、1416、1508、1509、1510、1511、1512、1513、1514、1515、1516をコントロールし、ループスイッチASIC内に新しい接続が作成されないようにするためにフィルワードをブロッキングARBで置き換える。さらに、R_RDY順序集合は、既存の接続をすばやく終えさせるためにASICを通らない。シングルループスイッチASICシステムとは異なり、このシステムは初期化サイクルのマスターをアービトレーションし、LIPゾーン影響情報を他のループスイッチASICに渡さなければならない。ループスイッチASICでトラフィックが停止されると、ルータをステルスインタースイッチカスケードポート、この場合はループスイッチASIC間の重複カスケードに接続しているループがループスイッチ内で確立される。各ループスイッチASICのインタースイッチ/ループが作成されると、16のLIPのストリームが送出される。LIPインタースイッチフレームはループスイッチASIC2によって作成され、ループスイッチASIC1が受け取るが、ループスイッチASIC1よりも大きいシリアル番号を有しているため破棄される。ループスイッチASIC1インタースイッチフレームはループスイッチASIC2が受け取り、そして保存してループスイッチASIC1に戻される。ARBFF順序集合が両方のループスイッチASICによってフィルワードとして送出される。勝ったことが分かると、ループスイッチASIC1はディスク3と重複カスケードポートをループにロールインし、少なくとも10ミリ秒のLIPを作成する。2番目のLIPを受け取ると、ループスイッチASIC2はループスイッチASIC1からのインタースイッチフレームを基にして初期化サイクル向けにポートを構成する。この場合、HBA2、重複カスケードポート、ディスク3がループにロールインする。このループが各ループスイッチで作成されると、各ループスイッチはそのループスイッチで影響を受けないポートが通信を再開するのを許し、プライマリカスケードでループスイッチASIC間のトラフィックが再開される。ループ初期化においてデバイスはLIMを決定するためにアービトレーションを開始する。ループスイッチASIC1のルータロジックは、LIFAフレームにおけるHBA1のALPAを表しているビットをORするが、HBA1は別のアイソレーションゾーンにいるため、ALPAをLIRPフレームに追加することはしない。ループスイッチASIC2のルータロジックはLIFAフレームと論理ORしてビットをフォーマットする。この例では、ディスク1と2のALPAに対応するビットがこれらのALPAを保持するために設定されるが、他のディスクは別のLIPアイソレーションゾーンにあるためLIRPフレームを修正することはしない。ループスイッチは、各ループスイッチASICに対してLIMを含んでいるポートを検出し、初期化ループにおいてLIMポートと他のポートの間で各ループスイッチASICのルータを接続するこの場合、ディスク3がLIMになった。LIFAフレームがループスイッチASIC1を通るとき、HBA1のALPAビットはORされ、CRCが再計算される。LIFAフレームはループスイッチASIC2のルータを通るとき、ディスク1とディスク2の両方のすべてのALPAをORして、ルータにより修正される。LIRPフレームが各ループスイッチASICのルータを通るとき、修正されない。ループ初期化サイクルは、ループを巡回するLILPフレームとCLS順序集合によって終わる。ループスイッチASICが初期化の完了を検出すると、ルータは隔離ポートが再度メインシステムに加入できるようにする。ループスイッチASIC2は、LIPゾーン21428、1528サイクルが完了したことを検出し、LIPゾーン11429、1529ループ初期化サイクルを開始する。5.12CPUポートインタフェース5.12.1CPUポートの説明と動作ループスイッチがSBOD構成に含まれているときスイッチとRAIDコントローラのようなリモートファイバチャネルデバイスの間でインバンド通信が必要になることがある。cpu_portはファイバチャネルMACであり、エンコーダ/デコーダまたはリンクサイドはループスイッチクロスバースイッチに接続される。これは、追加ポート経由でアクセスされる。CPUポートは、ループスイッチポートにある他のデバイスのように見える。そこでは、23番目または追加のポートは、すべての他のポート機能と共に他のポートと同様にデバイス、ツリー、またはストリングであるように構成できる。伝送エンジンはFCインタフェースからコマンドにデータを送信するのに使用される。ファームウェアはRAMにフレームまたはパケットを作成する。RAMからCPUポート伝送バッファにデータを構成し、ロードする。バッファはFCフレーム全体2112バイトペイロードを入れるのに十分な大きさである。割込みがプロセッサに戻されて、伝送がいつ完了したか通知する。CRCが作成されフレームと共に送出される。CPUポート伝送バッファは、パラレルインタフェースまたはI2Cインタフェースを通してアクセスされる。受信エンジンは、CPUポートに送られるフレームやパケットを扱う。バッファは、FCフレーム全体2112バイトペイロードを入れるのに十分な大きさである。フレームが到着するとCRCがチェックされる。割込みがプロセッサに戻されて、いつフレームを受信し、いつフレームが読まれたかを通知する。CPUポート受信バッファはパラレルインタフェースまたはI2Cインタフェースを通してアクセスされる。伝送エンジンでは、プロセッサはデータをCPUポートの伝送FIFOに移動する。図26を参照。これは、最初にゼロをTxFIFOポインタレジスタ1602に書き込むことによって行われる。これはFIFOポインタバッファをゼロに設定する。次に、データをデータポートレジスタ1603に書き込む。FIFOに書き込まれるデータは2ワード幅のFIFOに書き出される。すなわち、データは2ワードが送信されるまでFIFOに書き込まれないということである。したがって、たとえ奇数のワードが存在していても、32’h0のダミー書き込みが最後の2ワード1611にロードするために実行される必要がある。送信される最初のワードと最後のワードは、システムSOFおよびEOF定義である。システムデリミタの定義は以下のとおりである。有効なSOFデリミタは32’h2e000000であり、有効なEOFは32’h41000000である。DMA転送が完了した後、コントロールレジスタの送信フレームビットを設定してフレームをスイッチコア1605に送る。受信エンジンでは、プロセッサはデータをCPUからRAMに読み込む。RxFIFOでrxされるフレームで割込みが発生する。RxFIFOポインタレジスタを読んで、Rxフレーム1613の長さを判断しなければならない。Rxポインタレジスタは、読み取り1612のためのデータをプレロードするために、ゼロの書き込みを登録する。フレームの最初のワードと最後のワードは特に符合化されたシステムSOFとEOFデリミタである。5.13ポート管理機能5.13.1ポートコントロールポートコントロール機能は、ビーコニング、ポート挿入またはバイパスの強制、ポリシーの設定、順序集合をポートに伝送またはポートでの順序集合のキャプチャを含む。5.13.2ポートステータスポートステータス機能は、ポートベースでの順序集合検出能力ばかりでなく、ポート初期化状態、GBIC/SFPステータス、トランシーバ動作ステータスを含む。5.13.3順序集合定義順序集合定義はポートディテクタレジスタで絶えず行われている。このレジスタは読み取り時またはポートコントロールレジスタのクリアステータスレジスタビットに書き込むことによってクリアされる。管理カードが検出サイクルを行うために、ディテクタレジスタをクリアし、一定時間待ってデータストリングをサンプリングし、ディテクタレジスタを読み込む。5.13.4ユーザマッチ機能ユーザマッチ機能は、ループまたはポートで発生している出来事を検出するための別のメカニズムを提供する。ユーザマッチ機能は、特定の順序集合を検索し、事前定義済みのディテクタビットを持たない順序集合を検索し、検索基準にマッチする順序集合の数をカウントし、検索基準にマッチする順序集合をキャプチャする能力を含んでいる。特定の順序集合の検索という最初の機能は、ユーザ順序集合マッチレジスタを順序集合によって設定しポートコントロールレジスタでユーザマッチイネーブルビットを探し設定することによって実行される。マッチすると、ポートディテクタレジスタのユーザマッチビットが設定される。設定可能なオプションビットはMatch3xビットと1つまたは複数のマッチマスクビットである。Match3xビットは、ユーザマッチビットを設定する前にロジックに検索基準にマッチする連続した順序集合を見るようにさせる。これは、FCプリミティブシーケンスの検索を可能にする。マッチマスクビットにより、ユーザは順序集合のどのビットでも問題ない。これにより、たとえばSOFのタイプに関係なくSOFを検索したり、ソースまたは宛先ALPAに関係なくOPNを検索することができるようになる。2番目の機能は、ディテクタレジスタに事前定義ビットを持たない順序集合の検索である。これは、match_othrビットとユーザマッチイネーブルビットを設定することによって行う。ユーザ順序集合マッチレジスタがこの機能のために使用されることはない。LIP、OPN、CLS、RRDY、ARB、IDLE、SOF、またはEOFでない順序集合を受け取ったとき、ユーザマッチビットが設定される。受け取った順序集合がポイントツーポイントOSすなわち、OLS.NOS、LR、またはLRRである場合、Match、UnknownOS、Pt-Ptプリミティブビットがポートディテクタレジスタで設定される。受け取ったOSが他のものである場合、Matchusr_match_detectとUnknownOSDetectunk_os_detectビットが設定される。MatchOtherビットが設定されているときmatch3xフラグは無視されることに注意しなければならない。次の2つの機能は、最初の2つの機能が有効なときに実行される。ポートマッチカウンタレジスタは、マッチの回数をカウントする。たとえMatch3xビットが設定されていても、カウンタは各順序集合をカウントすることに注意しなければならない。ユーザ順序集合マッチレジスタにマッチする連続した2つの順序集合のみを受け取った場合、カウントは2だけインクリメントされるが、ディテクタビットは3番目のOSを受け取らない場合見られない。マッチカウンタは、マッチイネーブルビットがポートコントロールレジスタに書き込まれるとクリアされ、ビットがクリアされるまでカウントし続ける。ポートキャプチャ順序集合レジスタを使用して、検索基準にマッチする最初の順序集合を記録する。やはり、この機能はMatch3xビットを使わない。この機能を使用して、どの順序集合がユーザマッチusrm_enビットを設定させたか知ることができる。この機能は、マッチマスクビットを使用するとき、またはMatchOtherビットを使用するときに非常に興味深い。ユーザマッチレジスタの別の機能は、ユーザマッチ検出時の内部パリティの注入である。この機能により、ソフトウェアエラーハンドリングルーチンが実行されるようになる。5.13.5順序集合伝送順序集合伝送は、順序集合を送る際に使用する方法を設定する、レジスタのコントロールビットと共に希望する順序集合をポートユーザ順序集合伝送レジスタに書き込むことによって行う。Sビットは所与の順序集合を連続して送るか、それとも1~15回送るかを制御する送信する順序集合の数のコントロールは、ポートコントロールレジスタ2ビットを使用して行う。Iビットは、順序集合を即座に送るか、それとも待ってフィルワードのみを置き換えるかを制御する。Mビットにより、ユーザはユーザ順序集合セットマッチレジスタを使用して受信データストリームで探す特定の順序集合を定義し、この順序集合をユーザ順序集合セット伝送レジスタで定義されている新しいもので置き換えることができる。Fは、ユーザ順序集合セット伝送レジスタのデータフィールドを使わないがユーザ順序集合マッチレジスタにマッチする順序集合を探し、それを最新のフィルワードで置き換えるという点で、少し異なる動作をする。順序集合を送るには、上位ワードではTXEnablexmit_os_regビットを設定して、最初に下位ワードを書き込まなければならない。他の伝送ワードに変更するには、新しい下位ワードを書き込み、その後やはりTXEnableビットを設定して新しい上位ワードを書き込む。上位ワードの書き込みが完了すると、ループスイッチは同期的に新しいワードに変わる。ユーザワードの伝送を止めるには、TXEnableビットをクリアして上位ワードを書き込む。ループスイッチはレジスタ書き込みが完了すると同期的に伝送を終了する。ポートがループに挿入された場合、順序集合の伝送は通常送られる順序集合に取って代わることに注意しなければならない。ポートが挿入されない場合、伝送された通常のIDLEまたはARB文字が所与の順序集合に取って代わる。要求された伝送が完了すると、通常のデータストリームが再開される。動作ループでの伝送能力の使用例は、ループでMark文字を送りどのループスイッチが相互に接続されているかを検出するというものである。ユーザ順序集合マッチとユーザ順序集合セット伝送レジスタはMark文字によってロードされる。ユーザ順序集合伝送レジスタではE、S、Fビットが設定される。これは、カウントが1に設定されている場合フィル文字を置換することによって1回のみMark文字を送り、Markが戻ってきてマッチ機能によって検出されると取り除かれる。5.13.6GBIC/SFPステータスおよびコントロールポートステータスとコントロールレジスタは、管理カードがコントロールピンばかりでなくGBIC/SFPのステータスピンにアクセスできるようにする。ステータスは、レシーバ信号損失RX_LOS、トランスミッタ障害TX_FAULT、設置されているGBICまたはSFPのタイプを示すMod_Defピンを含む。GBIC/SFPのコントロール信号のみが伝送ディスエーブルピンである。5.13.7GBIC/SFPシリアルIDループスイッチは、I2Cインタフェースをサポートしている接続のGBIC/SFPからシリアルIDを読むメカニズムを提供する。2つのマイクロプロセッサアクセス可能レジスタは、EEPROMを読み込むことにおいて、ループスイッチをアシストするように定義される。1番目のレジスタは、EEPROMへの次のアクセスがどこで発生するかを示すアドレスレジスタである。2番目のレジスタは、シリアルIDが読み込まれる16ビットデータレジスタである。リセット後、またはGBICあるいはSFPがループスイッチに挿入された後、ループスイッチは2秒間休んで、GBIC/SFP内部ロジックが既知の状態に落ち着き、自動的にGBICから先頭2バイトを読み出し、それをデータレジスタに入れさせる。その後、ループスイッチはポートステータスレジスタ2のシリアルIDレディービットを設定する。そして、マイクロプロセッサは、GBIC/SFPシリアルIDデータレジスタを読んでデータを取得することができる。このデータがループスイッチに次の2ワードを読ませる。また、マイクロプロセッサは、別のアドレスをGBIC/SFPリードアドレスレジスタに書き、ループスイッチに新しい位置からデータを読ませるデータレジスタの読み取りを実行することができる。マイクロプロセッサは最初にアドレスを設定してから、データレジスタ読み取りを実施し、ループスイッチに適切な位置から読み込ませる。リードプロセス時にアドレスが壊れることを防止するためにシリアルIDレディービットがポートステータスレジスタ2で設定されていない場合、GBICリードアドレスレジスタを修正してはならないことに注意すること。また、データはGBIC/SFPから一度に1バイト読み出されることに注意しなければならない。FinisarGBICの読み取りの際の問題を防止するために完全準拠I2Cプロトコルを使用して読み取りを実施する。5.13.8エラーカウンタ各ポートは、フレームCRCエラーとバッド伝送ワードカウンタを保持する。バッド伝送文字は、10b/18bデコードロジック内で検出される。バッド文字が40ビットワード内で検出される場合、カウンタは1だけインクリメントされる。ポートのレシーバで検出された各フレームのCRCが計算される。CRCは、それぞれのポートのレシーバにおいて、16ビットにて計算され、確証される。両方のカウンタはその最大値を継続して保持し、マイクロプロセッサからの読み取りによってクリアされる。CRCエラーの検出と共に、ループスイッチはCRCエラーALPAレジスタにエラーを有していた最後のフレームのS_IDの下位バイトを保存する。これを使用して、フレームのソースノードのALPAを決めることができる。この情報を使用して、障害のあるリンクが存在している場所を知ることができる。各ポートは、ポート挿入とループアップステート変化のための8ビットカウンタを保守する。ループアップカウンタは、各ポートで保守され、ポートのハードゾーン化を可能にし、しかも各ゾーンのためのループアップカウンタを保守する。その他のエラー検出機能としては、LIPを作成する最初のポートの番号を取得する能力がある。これを使用して、頻繁なループ初期化の実行を要求している問題に遭遇しているポートを特定することができる。5.13.9ポートモニタリングモードルータロジックは、スイッチマトリクスコントロールレジスタというレジスタを有している。このレジスタにより、管理エンティティはポートをモニタリングポートして構成することができる。このモニタリングポートは、拡張ポートやモニタリングポート自身のレシーバを含め、どのポートのレシーバにでも接続することができる。このケーパビリティにより、特定のポートを、FCプロトコルアナライザを差し込めるアナライザポートとして取っておくことができる。管理カードは、アナライザをポートからポートへと移動して、何が起こっているのかを見つける。スイッチマトリクスコントロールレジスタがポートのコントロールを得ると、そのポートのバイパスLEDが点滅を始め手動コントロールを実行中であることを示すことに注意しなければならない。5.13.10ポート外部ループバックポートは、先に説明したように、ポートが自分をモニタしているモニタリングモードにすることもできる。この場合、ポートはポートで受け取ったものがトランスミッタに戻されるループバックモードで動作している。管理者は、このモードを使用してループに挿入する前にループスイッチへのリンクを検査することができる。ループバックモードのポートでは、ポートに接続されるループセグメントは、リンクが良好な場合ループ初期化を完了する。ループスイッチの診断では、管理者はループが動いていることを確認してからポートをループにつなぐことができる。5.13.11周波数チェック回路周波数チェック回路は、伸縮性バッファ内に実装される。この回路は伸縮性バッファ内の挿入/削除の間の時間を知るのに使用されるワードカウンタである。カウンタは、上流ノードの周波数が高いか低いかを指定する上位ビット付きの16ビットである。16番目のビットの1は、上流ノード周波数が高いことを示し、ゼロは、上流ノード周波数が低いことを示す。他の15ビットは、挿入または削除間の周波数デルタをカウントする。およそ10,000十進数十六進数では2710より小さいカウント値は、指定の範囲プラスまたはマイナス100PPM=200PPM外の周波数デルタを示している。カウンタ値は、752.94マイクロ秒毎にプロセッサアクセスレジスタにロードさえ、再初期化されて新しいサンプリングを開始する。サンプリング期間は読み取り後の最初の挿入/削除で有効になり、2番目の挿入/で無効になる。ファイバチャネルトランスミッタのクロック公差は、/-100ppmである。いずれかのトランスミッタが公差範囲の低速端で伝送しており、他方のトランスミッタが公差範囲の高速端で伝送している場合、2つのクロックの間の最大許容差は、200ppmである。ファイバチャネルトランスミッタの理想的内周波数は1062500Kbpsであり、200ppmは200KBPSの差である。これは、5,000伝送毎の1伝送ワードに、あるいは10,000ハーフワード毎に1ワードに相当する設計の伸縮保存部分は16ビットの内部データパスを使用しており、ASICのリセットは32ビットパスを使用している。カウンタはハーフワード毎にインクリメントされるため、許容リミットは10,000である。このレジスタでの値0x8000または0x0000は、挿入または削除がレジスタの読み取り以後発生せず、2つのクロックは仕様内に収まっていることを示している。同じ周波数に非常に近いクロックの場合、プレスカラー回路により、カウンタは周波数カウンタのlsb解像度を変更することによって挿入または削除の間のより長い時間を追跡できるようになる。カウンタは、周波数カウンタで報告された値がプレスカラー設定を説明するために処理されなければならないということを除けば、先に説明したとおりに動作する。5.13.12ポートオペレーションポリシーループスイッチASICは、特定の設置先で望ましい/望ましくない多数の自動機能を有している。このポリシーは、EEPROMポリシービットを通してロードされる。このため、ループスイッチのいくつかの機能は、管理オーバライドがビルトインされている。このオーバライドは、ポート構成レジスタに含まれている。管理ステーションは、このポリシーフラグの1つまたは複数を設定し、希望しない機能をポート毎に無効にすることができる。TINMANは例外であるが、すべてのポリシーは独立である。ワードシンクでのポート挿入TINMAN:チップが同期できる受信入力に信号が存在している場合、このモードによりポートの挿入が可能になる。コンマ文字を含んでいるかどうかチェックを除き、受け取ったデータが良いかどうかのチェックは行われない。有効な場合byp_no_commaを除きすべての他のポリシーを無効にする。初期状態は、EEPROMのポリシーbit[0]によって設定する。接続デバイスディスカバリを無効にSEOC:ポート挿入時に、ポートは様々な信号をデバイスに送ることによってどのようなデバイスが接続されているか決定しようとする。この信号送出により相互互換性問題が発生する場合、このポリシーを設定してこの信号送出を無効にする。初期状態は、EEPROMのポリシーbit[1]によって設定する。LIPf8存在でのポートバイパスbyponlipf8:ポートがLIPf8順序集合を検出すると、その順序集合をLIPf7に変更し、ループを通させる。LIPf7がポートに戻ると、ポートはバイパスされ、ループは通常の挿入プロセスを通ることが許可される。このポリシーフラグを設定すると、LIPf8置換と以後のバイパスが無効になる。初期状態は、EEPROMのポリシーbit[2]によって設定する。データなしでのポートバイパスbypnocomma:100μs以上コンマ文字を含んでいる順序集合が通らないことをポートが検出すると、ポートはバイパスされ、ポートが挿入基準に合格するまでその状態になっている。このポリシーフラグを設定すると、チェックと以後のバイパスを無効にできる。初期状態は、EEPROMのポリシーbit[3]によって設定される。ポートバイパスでのLIPliponbyp:ポートがバイパスされると、ループスイッチはLIPf7をループに入れ、ループのすべてのデバイスがループ構成の変更を必ず認識するようにする。このポリシーを設定すると、LIP作成が無効になり、ポートはループから取り除かれる。注:TINMANポリシーがアクティブでもLIPf7は作成されない。初期状態は、EEPROMのポリシーbit[4]によって設定される。ポート挿入時のLIPliponins:ポートがループに挿入されると、ループスイッチはLIPf7をループに入れ、ループのすべてのデバイスがループ構成の変更を必ず認識するようにする。このポリシーを設定すると、LIP作成が無効になり、ポートをループに挿入する。これにより、FC-AL1初期化プロトコルに従っている現在のデバイスと、古いプロトコルに従い得ない将来のデバイスとのミックスが可能になる。注:TINMANポリシーがアクティブでもLIPf7は作成されない。初期状態は、EEPROMのポリシーbit[5]によって設定される。カスケードロードバランシングを無効にdis_balance:ループスイッチ間で複数のトランクが接続されているとき、このビットを設定するとトランクのロードバランシングのためのイニシエータのハードウェア検出が無効になる。接続のソフトウェア指定ロードバランシングは、有効なままである。5.13.13ALPAからポートへのマップループスイッチは、すべての既存のALPAをループスイッチのポートにマッピングするデバイスディスカバリプロセスを実行する。このマッピングは、管理エンティティがトポロジマップを作成するために使用するルータのポートALPAレジスタで利用可能である。5.13.14トラフィックパターントラフィックパターンは、各ポートにOPNポートビットマップレジスタを保持することによって決められる。2つのポートの間の接続が確立されると、OPNをソーシングするポートのレジスタは、宛先ポートに対応するビットを設定することによって更新される。さらに、各ポートは接続が確立されると宛先ALPAを保存する。ポートビットマップレジスタは、マイクロプロセッサからの読み込みによってクリアされる。5.13.15ポート/ループセグメント利用率測定各ループスイッチのポートは、ポート利用の指標を提供するレジスタセットを有している。この測定は2つの方法のいずれかで行われる。ループスイッチモードでは、ポートを通るフレームデータの量が測定される。スイッチングモードでは、送信されるデータの数量には関係なくポートが接続に関与していた時間の割合が測定される。ループモードでは、いずれかのレジスタが連続して伝送ワードをカウントし、他方のレジスタはSOFとEOFの間の伝送ワードをカウントする。最初のカウンタが最終カウントに達すると、2番目のレジスタの最上位ビットが実際のデータペイロードを運んだトラフィックの割合を表すものとして保存される。このストアオフ値は、~240ms毎にCPUによってサンプリングされる。スイッチングモードでは、代わりにSOFとEOFの間の伝送ワードをカウントするという点を除けば同じように動作する。ポートで接続が立ち上がっている間に2番目のカウンタが伝送ワードをカウントする。2つのカウンタは最初のカウンタが0xC80000までカウントできる24ビットのカウンタであり、2番目のカウンタのトップ8ビットが利用率である。この8ビット値はCPU読み取り可能レジスタに保存され、0.5のインクリメントで利用率を表す。5.13.16ポートオーバラップハードゾーニングセグメント化モードのみポート間の接続は、宛先ディスエーブルレジスタを使用して無効にできる。各ポート用にレジスタが存在し、ルックアップ時にALPA-to-portレジスタの有効ビットをマスクする。マイクロプロセッサは、スイッチングモードが有効なときに接続が確立されないようにするために、ポートディスカバリの完了前にこれらのレジスタに書き込まなければならない。デバイスがポートへの接続を要求し、ポートへのアクセスが無効になった場合、OPNを送ったノードはOPNを戻される。ALPAが存在しない場合も、同じアクションが発生することに注意しなければならない。5.13.17ローデータスヌープポートポートロジックの二次的機能は、ループスイッチチップの受信ポートに接続できるスヌープポートとして構成できることである。このモードでは、ポートからのデコード化伝送ワードは、スイッチマトリクスを通り、データストリームはスヌープポートのトランスミッタに現れる。このモードのポートは、ポートをロジックアナライザに接続し、ポートのローデータ出力を見ることによってデバッギングツールとして使用することができる。スイッチコントロールレジスタを使用して、どのポートをスヌープするか選択する。注:スヌープポートの制限は、OPNの後であるが接続が確立される前に受け取ったR_RDY順序集合はスヌープポートに反映されないことである。5.14ループスイッチ管理機能5.14.1入力データ信号フレーム抽出ロジックは、EOFxをEOFaに置き換えたり、CRCを壊したり、フレーム全体を最後のフィルワードで置き換えたりすることによって、データフレームをフィルタリングする機能を有している。外部ロジックはフィルタフレームコマンドとフィルタリングされるフレームのレシーバポート番号を提供する。ASIC内のロジックは、フィルタコマンドを当該トランスミッタにルーティングする。トランスミッタはフィルタコマンドの後に見る現在のあるいは次のフレームをフィルタリングするため、このフィルタコマンドはタイムクリティカルであることに注意しなければならない。5.15ループスイッチ管理機能5.15.1環境モニタリングループスイッチは、2つの環境モニタリング機能を有している。最初の機能は、過熱センサの入力である。これは、エンクロージャ温度が外的に構成された閾値を有していることを示す1つの信号入力である。2番目の機能は、エンクロージャにファン障害が発生したかどうかを示す4つの入力である。ループスイッチは、これらの機能のいずれかに障害がある場合、環境アラートLEDを点灯し、管理エンティティにレポートするためにルータステータスレジスタ3で障害条件をレポートする。これにより、存在している場合管理カードへの割込みが発生する。5.15.2ループステート検出とLEDループスイッチは、ループの状態を追跡する2つの異なる方法を有している。最初の方法では、各ポートはループ初期化を通じて進捗を追跡する状態マシーンを有している。この状態は、ポートのステータスレジスタ1でレポートされる。この情報は、ポートがゾーンに分けられていて、ゾーンの各ループステートに関するレポートが必要とされる場合に提供される。2番目の方法では、ルータがループ初期化の進捗を追跡する状態マシーンを有している。この状態マシーンはポートディスカバリプロセスを実施するロジックに存在する。ルータの状態マシーンのループステートを使用して、ループスイッチのループアップLEDを駆動する。ハードゾーン化モードでは、ループアップLEDは、ゾーン0の状態を反映している。5.15.3ループ初期化ループスイッチは、ルータ構成レジスタに書き込むことによってループをリセットすることができる。これは、変更を見たことを保証するためにループスイッチ再構成が必要な場合に使用することができる。この機能は非オーバラップハードゾーンがハブエミュレーションモードで使われないとき、またLIPアイソレーションがスイッチングセグメント化モードで選択されていないときにのみ適用される。5.16FCポートインタフェース5.16.1GBIC/SFPピンループスイッチは、標準GBICとSFPのすべてのステータスピンとコントロールピンをサポートしている。これは、伝送ディエーブル、伝送障害、レシーバ信号喪失、mod_defピンを含む。ループスイッチは、この機能をサポートしているGBICまたはSFPのシリアルIDEEPROMにアクセスする能力も提供する。5.16.2Lock-to-Referenceループスイッチは、各内蔵トランシーバのLock-to-Reference信号を駆動する内部ロジックを有している。lock_to_refを要求する部分を使わなければならない場合、この信号を送り出すことができる。5.17システムインタフェースシステムインタフェースは、論理的に作成されたクロックとリセット信号を含む。ループスイッチは、1つの106.25MHzシステムクロックを要求する。5.18マイクロプロセッサインタフェースループスイッチは、I2Cインタフェースまたは16に非多重化アドレスとデータライン、RD、WR、CSを持つパラレルインタフェースを通して直接アクセス可能である。5.18.1割込み信号ループスイッチが管理エンティティを含む構成で動作している場合、ループスイッチは管理エンティティにとって関心がある様々な構成変更に割込みを発生する。この変更には、次のものが含まれる。ループのダウンとアップ。GBIC/SFPの挿入または取外し。ポートの挿入またはバイパス。他のVixelループスイッチへのカスケードの挿入。ポートはすべての挿入基準を満たし、マイクロプロセッサはシリアル番号レジスタを審査して、他のスイッチングセグメント化モードのループスイッチへの複数のカスケードが確立されたかどうか知ることができる。複数のカスケードは管理下にあるスイッチングセグメント化モードのループスイッチの間でのみサポートされていることに注意しなければならない。すべてに問題がなければ、ポートは挿入を完了することができる。環境障害:ファンに障害がある、または温度が設定点を越えた。無効なOPN順序集合を受け取った。LIP順序集合を受け取り、隔離した。エラーカウント閾値を越えた。割込みピンは、複数のループスイッチが駆動できるオープンドレインピンである。マイクロプロセッサは、ループスイッチ00のルータステータスレジスタ2を読み、割込み信号が表明されているかどうか調べなければならない。表明されていない場合、マイクロプロセッサは他のループスイッチのステータスレジスタを読む。適切なループスイッチが見つかったら、ステータスレジスタはポートが割込み条件を引き起こしているかどうかを示している。引き起こしている場合、マイクロプロセッサはポートエラー/変更ステータスレジスタを読んで、どのような割込み条件であるか調べなければならない。ルータが割込みを引き起こしている場合、ステータスレジスタは他の割込み条件の1つを示す。各割込みステータスレジスタには割込みマスクレジスタが提供されている。このマスクレジスタはデフォルトですべての割込みを有効にする。5.18.2I2CシリアルインタフェースI2Cインタフェースを使用して、SOC422で展開されている回路を管理する。5.18.3パラレルプロセッサインタフェースI2Cインタフェースの他に、ループスイッチは、16ビット非同期パラレルインタフェースを提供している。5.19シリアルEEPROMインタフェースシリアルEEPROMを使用して、ループスイッチのリセット構成情報にパワーを保存する。内部状態マシーンは各リセット後に構成を読み、情報をループスイッチの様々なレジスタに保存する。外部EEPROM_presピンがロジックハイにプルされている場合、ASICは、いかなるEEPROMも存在しておらず、EEPROMローディングプロセスをスキップする。6.VixelSOC422ループスイッチのレジスタ定義6.1ルータレジスタ定義6.1.1ルータ構成レジスタ構成レジスタのビットは、一度設定されたら、まれにしか変更されないモードで動作する。6.1.2ルータコントロールレジスタ1コントローレジスタは、通常動作時に変更されるビットを含んでいる。このビットはループスイッチ/ルータ全体の動作に影響する。個別ポートはポートコントロールレジスタを通してコントロールされる。ルータコントロールレジスタ1の定義6.1.3ルータコントロールレジスタ2コントロールレジスタは、通常動作時に変更されるビットを含んでいる。このビットは、ループスイッチまたはルータ全体の動作に影響する。個別ポートはポートコントロールレジスタを通してコントロールされる。ルータコントロールレジスタ1の定義6.1.4リムーブコネクション/ペンディングOPNレジスタリムーブコネクションモードでは:いずれかのビットが設定されると、その設定ビットに対応するポートの既存のスイッチング接続が取り除かれる。これは、2つの通信デバイスの間の通信を閉じるCLSが作成されない場合にデッドロック接続を切るのに便利である。このビットはセルフクリアである。ポート15~0はリムーブ接続レジスタ1のビット15~0によってそれぞれコントロールされ、ポート21~16はリムーブ接続レジスタ2によってコントロールされる。注:レジスタ1が最初に書き込まれ、次にレジスタ2に書き込まなければならない。リムーブ接続レジスタ2への書き込みが両方のレジスタでラッチされ、リムーブ接続がすべてのポートに同時に動作するようにする。リムーブペンディングOPNモードではアドレス0x08のビット14は1である:複数のポートが相互にペンディングOPNであるときロックアップ条件の原因となったペンディングOPNのみが取り除かれる。プロセッサがすべての接続を迅速にキルすることができるように、リムーブ接続レジスタ2のビット15はグローバルリムーブ接続ビットである。このビットを設定すると、すべての接続またはすべてのペンディングOPNが切られる。6.1.5ストール閾値レジスタこのレジスタは、スイッチングモードのポート接続に対するストール閾値を含んでいる。このレジスタの値は、stall_detect割込みがポート割込みステータスレジスタでトリガーされる前にポートストールカウンタでカウントされなければならないタイマーチックの数の閾値として使用される。ストールカウンタの解像度は10ミリ秒である。6.1.6ルータローカルSEOCUSERレジスタこのレジスタは、SEOC交換シーケンス順序集合USER1とUSER2でペイロードとして伝送される情報を含んでいる。リモートループスイッチデバイスから受け取った情報は、個別ポートレベルで保存される。EEPROMが存在している場合、このデータはリセット時にEEPROMからロードされる。注:このレジスタにロードされるデータはニュートラルディスパリティでなければならない。そうでない場合、リンクは適切に動作しない。6.1.7RTRSWマトリクス構成レジスタこのレジスタは、ルータスヌープポートの動作を構成し、データ速度を設定して離散入力データ速度選択を無効にする。ルータデータ速度/SWマトリクス構成レジスタの定義6.1.8ポートアクティブステータスレジスタP_Activeレジスタは、ポートの0~21と1CPUPORTport22のP_Active信号の現在の状態を示している。6.1.9スイッチマトリクスコントロールレジスタこのレジスタは、ポートが自動モードで動いているか、それともモニタポートして構成されそのトランスミッタが他のポートのレシーバに接続されているかを示す20の8ビットフィールドを含んでいる。ポートがモニタリングモードにある場合、そのレシーバは他のポートがそのポートをモニタするように構成されていない場合、スイッチマトリクスからの接続は切れたままである。このモードを使って、アナライザが接続され、管理者を通して診断のために様々なポートに接続されるモニタポートとして1つまたは複数のポートを設定することができる。ポートがプローブmuxをモニタしている場合、プローブmuxからの有効なデータストリームをモニタしていることに注意しなければならない。ポート0~21とCPUPORTport22のpbmux[5:0]アドレス0x03~0x07が有効である。他のプローブmuxのモニタしても結果は未定義である。ポートはリセット後は自動であることに注意しなければならない。このレジスタはループとループスイッチスイッチングモードの両方で使用することができる。次の表は、各ポートでの様々なビット構成が意味するものを定義している。6.1.10スイッチマトリクス選択レジスタこのレジスタは、オペレーション時のスイッチマトリクスの構成を示している。各ポートの8ビット値は、muxがどのポートをモニタしているかを示している。ルータロジックmuxPort32はRTRSWマトリクス構成レジスタに位置している。6.1.11Rem_conn_cntレジスタこの10ビットレジスタは、ブロッキングARBを通したトラフィック停止、R_RDYの消尽、影響を受けるポートの受信状態マシーンのリセットの間でリムーブ接続が待つ遅延を設定する。各LSBは10ミリ秒であり、デフォルト設定では2ミリ秒の遅延が発生する。6.1.12ポートアンフェアレジスタこのレジスタにより、ポートプライオリティロジックがバイパスされるアンフェアモードに設定することができる。このビットはさらなるアクセスを可能にするカスケードポートで主に使用される。6.1.13ポート15~0割込みステータスレジスタこのレジスタは、ポート15~0割込みステータスビットを含んでいる。このレジスタのビットが1に設定されている場合、ルータ割込みレジスタでビット0が設定されプロセッサへの割込みが作成される。6.1.14フューチャポート31~23/ポート22~16割込みステータスレジスタこのレジスタは、フューチャポート31~23割込みステータスビットの予約ビットばかりでなく、ポート22~16割込みステータスビットを含んでいる。このレジスタのビットが1に設定されている場合、割込みステータスレジスタのビット1が設定されプロセッサへの割込みが作成される。6.1.15ルータステータスレジスタ1このレジスタは、指定の条件のリアルタイムスナップショットを提供する。ステータスレジスタクリアはこのコントロールレジスタをクリアしない。ルータステータスレジスタ1の定義6.1.16ルータステータスレジスタ2ルータ割込みステータスこのレジスタは、ループスイッチの状態の変更をレポートする。これは、ポート構成状態ばかりでなくループ状態も含まれる。このレジスタで設定されたどのビットも、割込みピンを表明させる。このレジスタは、ビット0、1、2、8を除き読み込み時にクリアされる。このビットは対応する割込みステータスレジスタでクリアされる必要がある。管理障害LEDはこのステータスレジスタの読み取りをオフにすることに注意しなければならない。管理存在信号が管理カードが存在していることを示している場合、ウォッチドッグタイマーはこのレジスタの最初の読み取りによって活性化される。このタイマーはこのレジスタが少なくとも100ms毎に読み取られていると想定している。それ以外の場合、管理LEDは点灯しない。ルータステータスレジスタ2の定義6.1.17ルータステータスレジスタ3このレジスタは、特定の条件のリアルタイムスナップショットを提供する。ステータスレジスタクリアは、このコントロールレジスタをクリアしない。ルータステータスレジスタ3の定義6.1.18ルータステータスレジスタ4レジスタは、ある条件のリアルタイムスナップショットを提供する。ステータスレジスタクリアはこのコントロールレジスタをクリアしない。ルータステータスレジスタ4の定義6.1.19ブロックALPA/ルータループアップカウンタレジスタこのレジスタは、プログラム可能なアイドルブロッキングALPA値をループが立ち上がった回数と結合する。ルータブロックALPA/ルータループアップカウンタレジスタの定義6.1.20ルータカウンタレジスタ3このレジスタの各ビットは、下の表で定義されているように機能をコントロールする。6.1.21システムLEDオーバライドレジスタこのレジスタは、マイクロプロセッサが直接システムレベルLEDの状態をコントロールすることを可能にするLEDオーバライドを含む。各機能のオーバライドビットを設定すると、マイクロプロセッサはそのLEDをコントロールできるようになる。6.1.22ルータ割込みマスクレジスタこのレジスタを使って、ルータ割込みステータスビットをマスクする。このレジスタのビットが1に設定されている場合、ルータステータスレジスタ2の対応ビットが有効になりプロセッサへの割込みが作成される。6.1.23ポートフェアネスコントロールレジスタこのレジスタは、ALPAとALPAがデータのシングルフレームも転送することなしにトランザクションを試みた回数を基にしてポートのプライオリティを変えるのに使用されるCLSカウンタのオペレーションをコントロールする。6.1.24バリアブルプライオリティタイマーレジスタこのレジスタは、バリアブルプライオリティポートのデューティサイクルを設定する。ポートは、low_pulseデューティサイクルにポートタイプによって設定された通常のプライオリティを有する。high_pulseデューティサイクル時には、ポートのプライオリティが上がり、クローズダウンしデバイスに不足しないようにペンディングOPN要求を最小化する。注:ALPAベースのクローズカウンタを通常のオペレーションで使用することを推奨する。6.1.25ルータオーバラップハードゾーンコントロールレジスタこのレジスタセットは、所与のポートのデバイスが他のポートデバイスにアクセスすることを防止するためのビットマップを定義している。各ポートに32ビットマップが定義される。各ポートビットマップのビット31~0は、ぞれぞれポート31からポート0までを表している。適切なビットを設定してポートへのアクセスを無効にするすなわちレジスタ0x80のヒット2とビット14を設定してポート0のポート2とポート14へのアクセスを防止する。このレジスタはスイッチングモードでのみ使用される。注:ポート21以上のポートの参照は、将来の実装に任されている。これらのレジスタは、upper_page_selectビットが0000に設定されているとき指定のアドレスでアクセスできる。6.1.26ルータオープンポートマップレジスタこのレジスタは、指定のポートによってOPNされたポートの累積ビットマップを含んでいる。このレジスタは読み取り時にクリアされる。このレジスタはスイッチングモードでのみ使用される。このレジスタは、upper_page_selectビットが0001に設定されているとき指定のアドレスでアクセスすることができる。6.1.27ルータALPAポートマップレジスタこのレジスタセットは、各ALPAでのALPAからポートへのマップを含んでいる。ALPAは、ポートディスカバリ時に決められる。各ALPAのALPAからポートへのビットマップは、下のテーブルで定義されているとおりである。このレジスタは読み書き可能レジスタであるため、ポートディスカバリは、ポートディスカバリでASIC問題がある場合スイッチングモードに入る前にファームウェアによって実行することができる。このレジスタは、upper_page_selectビットが0010に設定されているとき指定のアドレスでアクセスすることができる。6.1.28ルータALPAポジションマップLILPペイロードレジスタこのレジスタは、可能な各ALPAでのALPAからポートへのマップを含んでいる。このレジスタは、ポジションマッピングがサポートされている最近のループ初期化サイクルからのLILPフレームペイロードのスナップショットを含んでいる。このレジスタは、upper_page_selectビットが0011に設定されているとき指定のアドレスでアクセスすることができる。6.1.29ルータシリアルEEPROMキャプチャレジスタこのレジスタは、スタートアップ時のシリアルEEPROMからのグローバルコントロール読み取りをレポートする。この値は、デバッグやASICシミュレーションのためにマイクロプロセッサが読むこともできる。ポート固有の構成ビットは、適切なレジスタへのポートレジスタアクセスを通してアクセス可能である。注:ASICへの書き込みはルータメモリマップの値を変えるが、プロセッサはI2Cバス経由のEEPROMのアップデートを担当する。このレジスタは、upper_page_selectビットが0100に設定されているときに指定のアドレスでアクセスすることができる。6.1.30ループ初期化マスターWWNレジスタこのレジスタは、最近のループ初期化サイクル時のLISMフレームから取得したWWNの値を含んでいる。ビット63~48がレジスタ1に、ビット47~32がレジスタ2に、ビット31~16がレジスタ3に、ビット15~0がレジスタ4に含まれている。このレジスタは、upper_page_selectビットが0100に設定されているときに指定のアドレスでアクセスすることができる。6.1.31ソフトウェアオーバライドイニシエータビットマップこの128ビットテーブルは、下の表に従って構成されている。ソフトウェアコントロールの下で、イニシエータは、以下で説明するハードウェアキャプチャイニシエータテーブルに加えたり、このテーブルから引いたりすることができる。このテーブルは、キャプチャされたイニシエータテーブルとXORされて、ハードウェアにループに存在するイニシエータを提供する。ハードウェアが要求されたOPN接続で2つのイニシエータを検出した場合、その接続はプライマリカスケードにルーティングされる。OPNのいずれかのALPAのみがイニシエータである場合、ハードウェアは、デフォルトで代替重複トランクルートが以下で説明するトランク分類レジスタで定義されていない場合、プライマリカスケードに接続をルーティングする。ソフトウェアは、ターゲットベースロードバランシングのため指定のデバイスがイニシエータとして扱われるようにすることができる。すべての他の接続が重複トランクにルーティングされているときに、半分のターゲットをイニシエータとして定義してすべてのトラフィックをプライマリ接続にルーティングする。このレジスタは、upper_page_selectビットが0101に設定されているときに指定のアドレスでアクセスすることができる。6.1.32キャプチャイニシエータビットマップこのレジスタは、ソフトウェアオーバライドイニシエータビットマップで設定されているイニシエータとXORされたループで検出されたすべてのイニシエータのALPAを含んでいる。この128ビットテーブルは、以下の表のビットマッピングに従って構成されている。検出されたイニシエータのALPAは、テーブルに設定された対応ビットを持っている。LIPはテーブルをクリアしてループが初期化されるたびに有効なエントリがロードされようにする。ハードウェアイニシエータ検出機能がルータコントロールレジスタ2で無効になっている場合、いかなるイニシエータも検出されない。先のイニシエータレジスタのソフトウェアオーバライドとのXORにより、ソフトウェアはイニシエータテーブルを定義するか、イニシエータのマスキングによって個別ALPAを上書きすることができる。イニシエータの検出がdis_hw_initiator_detビットによって無効になっている場合、このビットは常に0である。このレジスタは、upper_page_selectビットが0101に設定されているとき指定のアドレスでアクセスすることができる。6.1.33トランク分類レジスタトランク分類レジスタは、次の3つのフィールドを含む2つのレジスタの24の集合から構成されている。1トランクセットプライマリポート、2トランクセット割り当てまたは代替ポート、および影響を受けるイニシエータのALPA。ALPAが先に説明したテーブルのいずれかでイニシエータとして定義されている場合、このテーブルにもロードすることができる。OPN要求は、最初にノーマル接続として処理される。ルックアップからのポート番号出力は、トランクセットプライマリポートエントリと比較される。ルックアップテーブルの出力ポート番号がALPAエントリばかりでなく、トランク分類テーブルのものとマッチする場合、OPNは指定の代替ポートにルーティングされる。代替ポートはアクティブポートであることを確認するために内部p_activeフラグによって修飾される。代替ポートがアクティブでない場合、接続は元のプライマリポートのデフォルト設定される。このルールには2つの例外がある。1イニシエータ間のOPNは常にプライマリ接続にルーティングされる、2半二重OPNは常にプライマリポートにルーティングされる。この2つの例外は、相互の別個のカスケードに入りデッドロック状況を作り出すデバイスAとデバイスBからの2つのOPN要求を最小化するために存在している。トランクセットレジスタの各ペアについて、ビットフォーマットは次のとおりである。このレジスタは、upper_page_selectビットが0101に設定されているときに指定のアドレスでアクセスすることができる。6.1.34ラーンドイニシエータポートマップレジスタこのレジスタセットは、可能な各イニシエータALPAでのALPAからポートへのマップを含んでいる。ALPAポートマッピングは、受け取ったOPNフレームをモニタし、イニシエータをソースとしてOPNのポート番号をテーブルにロードすることによって決められる。このテーブルは、輻輳を最小化するためにイニシエータへのトランザクションが最後のトランザクションでイニシエータが使ったパスを使用するようにするのに使用される。このレジスタは、upper_page_selectビットが0110に設定されているとき指定のアドレスでアクセスすることができる。このレジスタは、upper_page_selectビットが0111に設定されているとき指定のアドレスでアクセスすることができる。6.1.35宛先ALPAでのクローズカウントレジスタこのレジスタの各ビットはポートに対応している。すなわちアドレス0x90はポート15:0を構成し、アドレス0x92ビット5:0はポート21:16を構成する。ビットが設定されている場合、OPNの宛先がインクリメントされるクローズカウンタを決める。注:明示的にポートフェアネスコントロールレジスタで無効になっていない場合、イニシエータは自動的にOPNの宛先を使って、インクリメントするクローズカウンタを決定するようにデフォルト設定されている。6.1.36PerALPAオープンカウンタマックスレジスタPerALPAオープンカウンタにより、OPNカウンタは、ALPA当りのユニークな最大クローズOPNカウント閾値によって各ALPAのOPN要求のプライオリティを上げることができる。閾値は、ALPA当り0x0から0x0fまでの値である。0x0の値は常にプライオリティを上げる。0xfの値はその特定のALPAのCLSカウンタオペレーションを無効にする。0x01の値は1回クローズの後にプライオリティを上げる。0x2の値は2回クローズの後にプライオリティを上げる。閾値は、順次増えるALPA順番でレジスタに4が割り当てられる。このレジスタは、upper_page_selectビットが0111に設定されているときに指定のアドレスでアクセスすることができる。6.1.37ステルスアイソレーションコントロールレジスタ1ステルスアイソレーションコントロールレジスタ1は、ポリシーの観点からオペレーションのステルスアイソレーションモードをコントロールする。このコントロールは、元の構成時に設定されるものであり、ノーマルオペレーションでは修正されないものである。このレジスタは、upper_page_selectビットが1000に設定されているときにアクセスできる6.1.38ステルスアイソレーションコントロールレジスタ2ステルスアイソレーションコントロールレジスタ2は、外部マイクロプロセッサによるステルスループ初期化サイクルの対話式コントロールを可能にする。このレジスタは、upper_page_selectビットが1000に設定されているときに指定のアドレスでアクセスすることができる。6.1.39ストップトラフィックコントロールレジスタこのレジスタにより、マイクロプロセッサはOPN要求をホールドし、したがってトラフィックをブロックするメカニズムとして、ブロッキングARBをいずれかのポートでのフィルワードとすることができる。このレジスタは、upper_page_selectビットが1000に設定されているときに指定のアドレスでアクセスすることができる。6.1.40ステータスレジスタ5このレジスタは、ステルスアイソレーションオペレーション関係のステータスビットを含んでいる。すべてのステータスビットは読み取り時にクリアされ、ステータスレジスタ5割込みマスクレジスタを介してマスク可能である。ハイなアンマスクビットは割込みを作成し、ルータステータスレジスタ2のStealth_Isolationステータスビットを設定する。このレジスタは、upper_page_selectビットが1000に設定されているときに指定のアドレスでアクセスすることができる。6.1.41ステータスレジスタ5割込みのためのマスクレジスタこのレジスタは、ステルスアイソレーションオペレーション関係の、ステータスレジスタ5のための、マスクビットを含んでいる。ハイなアンマスクビットは割込みを作成し、ルータステータスレジスタ2のStealth_Isolationステータスビットを設定する。6.1.42ステルスタイムアウトレジスタこれは、ステルス状態マシーンによって使用される2つのタイムアウトの最大値を登録する。6.1.43ステータスレジスタ6ステルス状態このレジスタは、下に示す他のコントロール信号状態ばかりでなく、ステルス状態マシーンの現在の状態を表示する。6.1.44ステルスLIPインタースイッチ伝送ペイロードレジスタこのレジスタは、伝送されるLIPインタースイッチフレームにロードされる10バイトのペイロードを含んでいる。通常のステルスLIPアイソレーションサイクル時に、このフレームは、各スイッチのルータを通して渡され、サイクルに関わるLIPアイソレーションゾーンを含むばかりでなく既存のループ初期化サイクルをどのスイッチがコントロールするかを決める。ASICは自動ステルスアイソレーションサイクル時に自動的にフレームをフォーマットする。対話式ステルスフレーム中に命令されるサイクルは、プロセッサによりこのレジスタに書き込まれるデータを使用する。フレームのペイロードのフォーマットを以下に示す。6.1.45ステルス受信インタースイッチASICフレームレジスタこの読取り専用リレジスタは、LIPインタースイッチフレームで受け取った10バイトのペイリードを含んでいる。ステルスLIPアイソレーションサイクル時に、サイクルに関与するLIPアイソレーションゾーンを含むばかりでなく既存のループ初期化サイクルをどのスイッチがコントロールするかを決めるために、このフレームを受け取る。6.1.46LIFAフレーム修正レジスタLIFAフレーム修正レジスタは、ステルスLIPアイソレーションサイクル時にLIFAフレームを修正するのに使用される値を保持する。ノーマルオペレーションでは、このレジスタはASICのハードウェアが各ALPAを表すビットをフォーマットしてマイクロプロセッサが読むのみである。dis_hw_LIFA_GENビットがステルスアイソレーションコントロールレジスタ2で設定されている場合、このレジスタへの書き込みアクセスが有効になり、プロセッサがこのレジスタでの値の作成を担当する。FRC_LIFA_FRM_MODビットがステルスアイソレーションコントロールレジスタ2で設定されている場合、このレジスタの値はLIFAフレームでのペイロードを上書きする。FRC_LIFA_FRM_MODビットが設定されていない場合、ASICはLIFAペイロードとこのレジスタを論理ORする。このレジスタは、upper_page_selectビットが1000に設定されているとき指定のアドレスでアクセスすることができる。6.1.47LIRPフレーム修正レジスタLIRPフレーム修正レジスタは、ステルスLIPアイソレーションサイクル時にLIRPフレームを修正するのに使用される値を保持する。ノーマルオペレーションでは、このレジスタはASICのハードウェアがカウンタとALPAリストをフォーマットしてマイクロプロセッサが読むのみである。ステルスアイソレーションコントロールレジスタ2でdis_hw_LIRP_GENビットが設定されている場合、このレジスタへの書き込みアクセスが有効になり、プロセッサはこのレジスタでの値の作成を担当する。ステルスアイソレーションコントロールレジスタ2でFRC_LIRP_FRM_MODビットが設定されている場合、このレジスタの値は、LIRPフレームのペイロードを上書きする。FRC_LIRP_FRM_MODビットが設定されていない場合、ASICは、LIRPALPAカウントフィールドによって示されているALPAの数をLIRPペイロードのALPAにアペンドし、追加されたALPAを反映するようにカウントを更新する。このレジスタは、upper_page_selectビットが1001に設定されているとき指定のアドレスでアクセスすることができる6.1.48ルートブロッキングレジスタ、グループ0から7までルートブロッキングレジスタは、OPN順序集合に含まれているALPAを使って様々なデバイスの間でアクセス特権を決めるのに使用される値を保持する。1をロケーションブロックに書くと、ALPAを持っているデバイスが、そのALPAがブロックされているデバイスと通信するのをブロックする。各ALPAは、下のテーブルで示されているように各グループでシングルビットによって表される。ここで、アドレスフィールドのは、それぞれグループ0-7に対する8-Fの値である。注:未使用のビットは最下位を使っているLixAフレームとは異なり、各グループの最上位に置かれる。このレジスタは、upper_page_selectビットが1010に設定されているとき指定のアドレスでアクセスすることができる。6.1.49ルートブロッキングレジスタ、グループ8からFまでルートブロッキングレジスタは、OPN順序集合に含まれているALPAを使って様々なデバイスの間でアクセス特権を決めるのに使用される値を保持する。1をロケーションブロックに書くと、ALPAを持っているデバイスが、そのALPAがブロックされているデバイスと通信するのをブロックする。各ALPAは、下のテーブルで示されているように各グループでシングルビットによって表される。ここで、アドレスフィールドのは、それぞれグループ8-Fに対する8-Fの値である。注:未使用のビットは最下位を使っているLixAフレームとは異なり、各グループの最上位に置かれる。6.1.50LIPアイソレーションゾーンコントロールレジスタこのレジスタセットは、ASIC内でLIPアイソレーションゾーンを設定するビットマップを定義する。各ポートは関連の16ビットレジスタを持ち、そこではビット0はLIPアイソレーションゾーン0に、ビット1はゾーン1に対応している以下同様。このレジスタは、upper_page_selectビットが1100に設定されているとき指定のアドレスでアクセスすることができる。6.1.51ステルスジェネリックインタースイッチフレームへッダレジスタこのレジスタは、伝送されるジェネリックインタースイッチフレームにロードされるへッダの6ワードを含んでいる。さらに、へッダのワード0とワード3を使って、受け取ったジェネリックインタースイッチフレームを検出する。このレジスタは、upper_page_selectビットが1101に設定されているとき指定のアドレスでアクセスすることができる。6.1.52ステルスジェネリックインタースイッチフレーム伝送ペイロードレジスタこのレジスタは、伝送されるジェネリックインタースイッチフレームにロードされるペイロードを8ワード含んでいる。注:ペイロードワード0はブロードキャストフレームのローカルシリアル番号でなければならない。ローカルシリアル番号が使われない場合、フレームはマッチするシリアル番号を有するスイッチによってブロックされる。このレジスタは、upper_page_selectビットが1101に設定されているとき指定のアドレスでアクセスすることができる。6.1.53ステルスジェネリックインタースイッチフレームペイロードレジスタこのレジスタは、ジェネリックインタースイッチフレームで受け取ったペイロードを8ワード含んでいる。このレジスタは、upper_page_selectビットが1101に設定されているとき指定のアドレスでアクセスすることができる。6.2ポートレジスタ定義注:多くのポートレジスタは、読取り専用とマークされている。いくつかのレジスタたとえば、maxを継続して保持するカウンタは、実際に検査やシミュレーションのために読み書きできる。ノーマルオペレーションでは、このレジスタは、読まれるためのものであり、ファームウェアによって書き込まれてはならない。6.2.1ポート構成レジスタポート構成レジスタビットは、設定されている動作モードやめったに変わらないコントロール信号を定義する。6.2.2ポートコントロールレジスタ16.2.3ポートユーザ順序集合マッチレジスタこのレジスタセットは、受け取ったデータストリームでポートが検索する順序集合を定義する。順序集合のペイロードバイトの各ビットは、個別のオフとマークできる。マッチするものが見つかったとき、ステータスレジスタのUSRマッチビットが設定される。アドレス0x04の下位8ビットは、K28.5に従う順序集合の2番目のバイトである。アドレス0x04の上位8ビットは、2番目のバイトのビットマスクを含む。ビットがビットマスクで設定されている場合、そのビットはバイト比較オペレーション時にdon’tcareとして扱われる。アドレス0x06は、マッチする3番目のバイトと関連マスクを含んでいる。アドレス0x08は、マッチする4番目のバイトと関連マスクを含んでいる。順序集合の先頭バイトは、K28.5ポジティブまたはネガティブ実行ディスパリティに固定接続されていることに注意しなければならない。すなわち、キャプチャを実行するためには、K28.5は、ループに存在しなければならない。いずれかの実行ディスパリティのK28.5が認識されるため、EOFをキャプチャできることに注意しなければならない。マッチビットでのパリティエラーが設定されている場合、このレジスタの値にマッチする順序集合はパリティエラーを作成する。6.2.4ポートユーザ順序集合伝送レジスタこのレジスタセットは、ループで送られる任意の順序集合を定義する。アドレス0x0Cの下位8ビットは、K28.5後に伝送される2番目のバイトである。アドレス0x0Aは、3番目と4番目のバイトを含んでいる。このデータが適切に書き込まれるには、上位に先立ち下位レジスタが書き込まれなければならず、上位レジスタ書き込みは書き出されるデータでイネーブルビットxmit_os_regが設定されていなければならない。6.2.5ユーザ10Bワードこのレジスタは、ユーザ構成可能な10b符合化ワードを含んでいる。ポートユーザ順序集合伝送レジスタのxmit_bad_10b_onceまたはxmit_bad_10b_immビットの条件が満たされると、この符合化ワードは、ASICから伝送される。注:ASICは、ワードをチェックを実行しない。その使用は厳密に検査のためのみである。6.2.6ローカルSEOCPINFOこのレジスタの上位8ビットは、このポートのP_INFOSEOC順序集合のペイロードデータを含んでいる。リセット時に、この値はポートを示すニュートラルディスパリティ値にロードされる。ニュートラルディスパリティ値は、ポート0では0x00で始まり、ポート1では0x01、ポート2では0x02、ポート3では0x04で始まる。6.2.7ポート割込みマスクレジスタ1このレジスタを使って、ポートエラーステータスレジスタ1のポート割込みステータスビットをマスクする。このレジスタのビットが1に設定されている場合、ポート割込みステータスレジスタの対応ビットがイネーブルとなり、プロセッサに割込みを作成する。6.2.8ポート割込みマスクレジスタ2このレジスタを使って、ポートエラーステータスレジスタ2のポート割込みステータスビットをマスクする。このレジスタのビットが1に設定されている場合、ポート割込みステータスレジスタの対応ビットがイネーブルとなり、プロセッサに割込みを作成する。6.2.9NoCommaTimerレジスタ6.2.10OS/CRCエラー閾値レジスタアドレス0x1eに含まれる24ビット値とアドレス0x20の下位8ビットはOSエラーカウントレジスタのカウントと比較され、カウントが閾値を越えている場合、CPUに割込みが作成される。一定数の順序集合エラーが発生することが予想される。通常の動作条件の下では割込みはめったにトリガーされないような値に、閾値を設定しなければならない。アドレス0x20の上位8ビットの値がCRCエラーカウントレジスタのカウントと比較され、カウントが閾値を越えている場合、割込みがCPUに発行される。この値は0xFFにリセットされる。6.2.11ポートコントロールレジスタ2ポートコントロール2レジスタは、ノーマルオペレーション時に変更されるビットを含んでいる。6.2.12ストールカウンタレジスタストールカウンタレジスタは、ポートの接続がアクティブであったが、SOFまたはEOF順序集合も通らなかった時間を含んでいる。カウンタは、SOFまたはEOF順序集合を検出することにより、または0x0000のプロセッサ書き込みによってリセットされる。カウンタは、ストール閾値にターミナルカウントを持ち、ルータメモリマップスペースで設定される。ストール閾値に達すると、割込みが作成される。カウンタの解像度は10□sである。6.2.13ポートエラー/変更ステータスレジスタ1このレジスタは、ポートの構成におけるエラーや変更をレポートする。このレジスタの状態のいかなる変更もルータステータスレジスタ2に割込みをもたらす。これにより、管理エンティティは、変更に関してルータステータスレジスタをポーリングし、その後当該ポートレジスタを読むことによって変更を知ることができる。このレジスタは読み取り時にクリアされる。6.2.14ポートエラー/変更ステータスレジスタ2このレジスタは、ポートの構成におけるエラーや変更をレポートする。このレジスタの状態のいかなる変更もルータステータスレジスタ2に割込みをもたらす。これにより、管理エンティティは、変更に関してルータステータスレジスタをポーリングし、その後当該ポートレジスタを読むことによって変更を知ることができる。このレジスタは読み取り時にクリアされる。6.2.15ポートステータスレジスタ1このレジスタは、読み取り時にポートのリアルタイムステータスを提供する。6.2.16ポートステータスレジスタ26.2.17ポートディテクタレジスタ1このレジスタは、ポートに特定の条件が発生したことを示すディテクタビットを含んでいる。このレジスタは読み取り時にクリアされるが、ポートコントロールレジスタにクリアディテクタレジスタビットを設定することによってもクリアすることができる。すべてのポートでこのレジスタを同時にクリアするには、ルータコントロールレジスタでクリアポートディテクタを設定する。このレジスタはセルフテスト時にデータパターンを渡すことによるリセット後にこのレジスタのビットが設定されることに注意しなければならない。セルフテストパターンは、ユーザマッチ0xFFFEを除きすべてのビットを設定するように設計されている。6.2.18ポートディテクタレジスタ2このレジスタは、ポートに特定の条件が発生したことを示すディテクタビットを含んでいる。このレジスタは読み取り時にクリアされるが、ポートコントロールレジスタにクリアディテクタレジスタビットを設定することによってもクリアすることができる。すべてのポートでこのレジスタを同時にクリアするには、ルータコントロールレジスタでクリアポートディテクタを設定する。6.2.19ポートOSエラーカウントこの24ビットカウンタは、符合化エラーによりこのポートで受け取った伝送ワードの実際の数を保有している。たとえ複数のエラーが1ワード内で発生した場合でもカウンタは各バッドワードで1回だけインクリメントされる。カウントは最大カウントを継続して保持し下位OSエラーカウントレジスタが読まれるとクリアされる。このカウンタは、2つのレジスタの読み取りを要求する。正確な読み取りを保証するために最下位レジスタが最初に読まれ、その後最上位レジスタが読まれなければならない。最下位レジスタが読まれると、両方のレジスタをクリアする前に最上位レジスタはホールディングレジスタになる。6.2.20カレント宛先レジスタこの8ビット値は、現在このポートに接続されているポートを示す。高速接続と低速I2Cインタフェースにより、このレジスタは主にストールした接続のクリアを目的としている。この8ビットは、16ビットレジスタのビット[15:8]にある。下位半分は、先に説明したポートOSエラーカウント用である。6.2.21ポートマッチカウントレジスタ上位マッチカウントレジスタと下位マッチカウントレジスタの下位4ビットは、モニタされているリンクで見られたユーザマッチ順序集合の数をカウントするのに使用される20ビットカウンタを構成する。この機能は、ユーザマッチ機能が有効になっているときに有効である。このカウンタは、2つのレジスタの読み取りを要求する。正確な読み取りを保証するために最下位レジスタが最初に読まれ、その後に最上位レジスタが読まれなければならない。このレジスタは、ユーザマッチ機能が有効なときのみクリアされ、読まれるときにはクリアされない。このカウントは、ユーザマッチイネーブルビットがゼロから1になるとリセットされる。6.2.22ポート利用率レジスタこのレジスタは、2つの異なる測定値を反映するのに使用される8ビット値を含んでいる。デフォルトでは、このレジスタはトラフィック全体に対する1フレーム内の伝送ワードの割合を表している。util_conn_enビットがポートコントロールレジスタで設定され、ループスイッチがスイッチングセグメント化モードで動作している場合、このレジスタはスイッチングモード時にこのポートで確立された接続の時間の割合を表している。この値は~240ms毎に更新される。ビット値は、0.5のインクリメントで与えられる。6.2.23ポートキャプチャ順序集合レジスタこのレジスタセットは、ユーザマッチビットが設定されているときに存在している順序集合を保存するのに使用される。このレジスタはクリアされその後設定されるユーザマッチイネーブルコントロールビットによってキャプチャのためのみ、再度有効になる。この機能を簡単なトリガーアナライザとして使用することができる。レジスタ3Eは、K28.5に続く順序集合の2番目のバイトである。レジスタ3Cは、3番目のバイトと4番目のバイトを含む。順序集合の1番目のバイトはK28.5に固定されていることに注意しなければならない。すなわち、K28.5はキャプチャを実行するためにループに存在していなければならない。6.2.24無効OPN/ブロードキャストARBxALPAキャプチャレジスタ6.2.25ポート挿入/ルックアップカウンタレジスタ6.2.26ポートCRCエラーALPAレジスタこのレジスタは、CRCエラーを有した最後のフレームのALPAを含んでいる。ALPAは、フレームのSIDから得られる。SIDが壊れており、このALPAが正確でないこともありうることに注意しなければならない。MSBは、ALPAフィールドが更新されたかどうかを示している。レジスタが読まれると有効なビットがクリアされる。リセット後にこのレジスタはCRCエラーが発生しALPAをキャプチャしたことを示していることに注意しなければならない。これは、セルフテスト時に内部ループで送られたデータパターンの結果である。このレジスタの値は0x80D5である。6.2.27RXフレームカウントレジスタRXフレームカウントレジスタは、モニタされているRXリンクで見られたフレームの数をカウントするのに使用される16ビットカウンタである。このカウントは読み取り時にリセットされる。6.2.28ポート接続試行レジスタARB接続要求により、このポートが接続を確立しようと試みた回数。カウントは最大値を継続して保持し読み取り時にクリアされる。この値はスイッチングモードでのみ有効である。6.2.29ポート接続延期レジスタこのポートが接続を試みたがビジーポートによって先送りされた回数。カウントは最大カウントに固執し読み取り時にクリアされる。この値はスイッチングモードでのみ有効である。6.2.30ポートクロックデルタカウントタこのレジスタは、伝送/受信クロックデルタカウンタの値を含んでいる。6.2.31Src/DestALPAレジスタALPA有効ビットがポートエラー/変更ステータスレジスタ2で設定されているとき、このレジスタはこのポートで受け取った最後のフレームのソースおよび宛先ALPAを含んでいる。各読み取りアクセス後にこのレジスタはクリアされる。6.2.32ポートALPAビットマップレジスタこのレジスタは、最後のループ初期化サイクル時にこのポートで要求されたALPAのビットマップを含んでいる。6.2.33リモートSEOCP_INFOレジスタこのレジスタは、検出時にリモートSEOC準拠デバイスから受け取ったP_INFOSEOC順序集合からのペイロードデータを含んでいる。いかなるデバイスも検出されなかった場合または非SEOC準拠デバイスが検出された場合、このレジスタはすべてゼロにリセットされる。6.2.34リモートSEOCUSERレジスタこのレジスタは、検出時にリモートSEOC準拠デバイスから受け取ったUSER1およびUSER2SEOC順序集合からのペイロードデータを含んでいる。いかなるデバイスも検出されなかった場合、また非SEOC準拠デバイスが検出された場合、このレジスタはすべてゼロにリセットされる。6.2.35GBIC/SFPリードアドレスレジスタこのレジスタは、ループスイッチによって読み取られる、GBICまたはSFPのシリアルIDEEPROMでの次の位置のアドレスを含んでいる。このレジスタはリセット時にゼロにリセットされ、GBIC/SFPへの読み取りが行われるたびにインクリメントされる。マイクロプロセッサは、ループスイッチが次の値を読むときにこのレジスタに新しい値を書き込み変更することができる。このレジスタはポートステータスレジスタ2でシリアルRDYビットが設定されたときのみ変更されなければならない。GBIC/SFPアドレスは11ビット値である。レジスタのトップの5ビットは常に0である。6.2.36ポートオープンロックアップマックスカウントレジスタこのレジスタのビット[7:0]は、ポートOPNロックアップウオッチドッグタイマーのタイムアウト値を設定する。8ビットフィールドはレジスタの下位半分にあり、40マイクロ秒の解像度を持っている。このレジスタのビット[15:8]は、stop_traffic_cnt_max値を含んでいる。この8ビットフィールドは、状態マシーンが状態ARB_CREQまたはARB_CONNで安定している場合にトラフィックを本当に停止することを決定する前にrxstate状態マシーンが取る遅延を定義している。このカウンタの解像度は10ミリ秒である。6.2.37GBIC/SFPシリアルIDデータレジスタこのレジスタは、GBICまたはSFPのシリアルIDEEPROMから読んだデータを含んでいる。リセット後に、ループスイッチはGBIC/SFPから先頭2バイトを読みシリアルIDGBICまたはSFPであると想定、それをここに保存する。またループスイッチは、ポートステータスレジスタ2にシリアルIDRdyビットを設定してデータがレディであることを示す。その後、マイクロプロセッサがこのデータを読むことができる。その際、ループスイッチは、自動的に進んでGBIC/SFPから次の2バイトを読む。ループスイッチは一度に1バイトEEPROMからデータを読み、読み取った最初のバイトはLSBに、次のバイトはこのレジスタのMSBに置かれる。6.2.38ミスマッチOPNのSRC/DESTALPAレジスタこのレジスタは、ソース、ビット[15:8]、宛先、ビット[7:0]、宛先IDが前に受け取ったOPNで宛先ALPAとマッチしないフレームの最後の検出と結び付けられたALPAを含んでいる。スイッチングモードでのみ有効であり、ハブエミュレーションモードではクリアされる。6.2.39OPNミスマッチ宛先IDレジスタこのレジスタは、フレームのFCへッダからの宛先ID、ビット[7:0]、宛先IDが前に受け取ったOPNで宛先ALPAとマッチしないフレームの最後の検出と結び付けられたALPAを含んでいる。スイッチングモードでのみ有効であり、ハブエミュレーションモードではクリアされる。6.2.40未知のOPN/LostノードからのSRC/DESTALPAレジスタレジスタは、ソース、ビット[7:0]、宛先、ビット[15:8]、未知のOPNまたは失われたノードエラーの最後の検出と結び付けられているALPAを含んでいる。このレジスタはスイッチングモードでのみ使われ、ハブエミュレーションモードではクリアされる。6.2.41その他のコントロールレジスタ6.2.42SCSI統計情報ALPAこのレジスタの下位8ビットは、読み書き統計情報を収集するのに使用されるSCSIFCPフレームの宛先ALPAを決めるフィルタをコントロールする。0xffという値は、ポート統計全体のすべての宛先ALPAを有効にする。特定の宛先ALPAにより、ASICはその宛先ALPAのみの統計情報を追跡する。上位8ビットは、追跡されるFCPフレームのソースALPAを決める。上位8ビットの0xff値によって、すべてのソースALPAの追跡が有効となる。6.2.43SCSIリードIOカウンタこのレジスタは、SCSI統計情報ALPAレジスタで設定されているソース/宛先ALPA基準にマッチするフレームのリードI/Oの数を追跡するリードカウンタのクリアを含んでいる。6.2.44SCSIライトIOカウンタこのレジスタは、SCSI統計情報ALPAレジスタで設定されているソース/宛先ALPA基準にマッチするフレームのライトI/Oの数を追跡するリードカウンタのクリアを含んでいる。6.2.45SCSIリードバイトカウンタこのレジスタは、SCSI統計情報ALPAレジスタで設定されているソース/宛先ALPA基準にマッチするフレームのリードバイトの数を追跡するリードカウンタのクリアを含んでいる。注:カウンタの正確な読み取りを保証するために、カウンタのビット47-16は、ビット15-0の読み取り時に一時ホールディングレジスタにロードされるアドレス0x84。一時ホールディングレジスタは、ライトバイトカウンタと共用されるため、両方のレジスタの上位2ワードへのアクセス時に注意しなければならない。6.2.46SCSIライトバイトカウンタこのレジスタは、SCSI統計情報ALPAレジスタで設定されているソース/宛先ALPA基準にマッチするフレームからの読み取りバイト数を追跡するリードカウンタのクリアを含んでいる。注:カウンタの正確な読み取りを保証するために、カウンタのビット47-16は、ビット15-0の読み取り時に一時ホールディングレジスタにロードされるアドレス0x8a。一時ホールディングレジスタは、ライトバイトカウンタと共用されるため、両方のレジスタの上位2ワードへのアクセス時に注意しなければならない。6.3CPUポートレジスタ6.3.1割込みレジスタRcvCRCerrorbit0これは、受信データフレームでCRCエラーが検出されたときに設定されるスイッチコアからのデータ。このビットはゼロにリセットされる。RcvTagerrorbit1これは、受信データでタグエラーが検出されたときに設定されるスイッチコアからのデータ。このビットはゼロにリセットされる。RcvMissingDelimitererrorbit2これは受信データフレームで欠けているSOFまたはEOFが検出されたときに設定されるスイッチコアからのデータ。このビットはゼロにリセットされる。XmtMissingDelimitererrorbit3これは、伝送データフレームで欠けているSOFまたはEOFが検出されたときに設定されるAHBバスからのデータ。このビットはゼロにリセットされる。RcvFIFOoverrunbit4これは、受信FIFOにオーバランがあったときに設定される。このビットはゼロにリセットされる。XmtFIFOoverrunbit5これは、伝送FIFOにオーバランがあったときに設定される。このビットはゼロにリセットされる。RcvDMAservicetimerexpiredbit7これは、DMAサービスタイマーが受信側で切れたときに設定される。このビットはゼロにリセットされる。RcvCRCerrorcounterwrapbit8これは、RcvCRCエラーカウンタが最大カウントからゼロに戻ったときに設定される。このビットはゼロにリセットされる。RcvTAGerrorcounterwrapbit9これは、Rcvタグエラーカウンタが最大カウントからゼロに戻ったとときに設定される.このビットはゼロにリセットされる。RcvDelimitererrorcounterwrapbit10これは、RcvDelimiterエラーカウンタがその最大カウントからゼロに戻ったときに設定される。このビットはゼロにリセットされる。RcvDMAserviceexpiredcounterwrapbit11これは、RcvDMAサービスカウンタが最大カウントからゼロに戻ったときに設定される。このビットはゼロにリセットされる。XmtDelimitererrorcounterwrapbit12これは、XmtDelimiterエラーカウンタが最大カウントからゼロにリセットされる設定される。このビットはゼロにリセットされる。Rcvwordcounterwrapbit14これは、Rcvwordカウンタが最大値をゼロに戻ったときに設定される。このビットはゼロにリセットされる。Xmtwordcounterwrapbit15これはXmtwordカウンタがその最大カウントからゼロに戻ったときに設定される。このビットはゼロにリセットされる。RcvFramereceivedbit16これは、RcvFIFOがスイッチコアから完全なフレームを受け取ったときに設定される。このビットはゼロにリセットされる。XmtFramereceivedbit17これは、XmtFIFOがスイッチコアから完全なフレームを伝送したときに設定される。このビットはゼロにリセットされる。RcvFrameDMA’edbit18これは、FIFOのRcvframeがプロセッサによりDMAされた後に設定される。Timer0bit24これは、Timer0カウンタが0に達したときに設定される。Timer1bit25これは、Timer1カウンタが0に達したときに設定される。Heartbeatbit26これはHeartbeatカウンタが0に達したときに設定される。6.3.2割込みマスクレジスタEventinterruptmaskbits31:0プロセッサに割込みを作成する割込みビットに対応したマスクビットを設定する。無視される割込みに対応したマス九ビットをリセットする。このレジスタは、ゼロにリセットされる。注:このレジスタはINT_出力ピンに寄与する割込みビットを選択するにすぎない。実際の割込みレジスタビットには影響しない。6.3.3コントロールレジスタRevenablebit0このビットは受信パスを有効にするために設定されなければならない。このビットはゼロにリセットされる。Xmtenablebit1このビットは受信パスを有効にするために設定されなければならない。このビットはゼロにリセットされる。RcvCRCcheckingenablebit2このビットが設定されていると、受信パスでCRCチェックが有効になる。このビットはゼロにリセットされる。XmtCRCgenerationenablebit3このビットが設定されていると、送信パスでCRC作成が有効になる。このビットはゼロにリセットされる。RcvDAMservicetimerenablebit4このビットが設定されていると、ReceiveDMAサービスタイマーが有効になる。このビットはゼロにリセットされる。Bigendianbit5このビットが設定されていると、次のようにスイッチとの間で出入りするすべてのワードでバイトスワップが実施される。[7:0]から[31:24]、[15:8]から[23:16]、[23:16]から[15:8]、[31:24]から[7:0]DMAResetbit6設定されていると、このビットはCPUポートモジュールを初期化する。リセットオペレーションを終了するには、このビットにゼロを書き込まなければならない。このビットはゼロにリセットされる。RcvTagcheckingenablebit7このビットが設定されていると、受信パスでタグチェックが有効になる。このビットはゼロにリセットされる。XmtTaggenerationenablebit8このビットが設定されていると、伝送パスでタグ作成が有効になる。このビットが設定されていない場合、タグ情報はTXライトタグやRxライトタグを通して提供されなければならない。注:EOFタグは、前の2つのデータワードで設定される必要がある。このビットはゼロにリセットされる。RcvDMArequestenablebit9このビットが設定されていると、DMA要求インタフェース機能が受信パスで有効になる。このビットはゼロにリセットされる。XmtDMArequestenablebit10このビットが設定されていると、DMA要求インタフェース機能が伝送パスで有効になる。このビットはゼロにリセットされる。Discardframeonerrorenablebit11このビットが設定されていると、エラーが検出された際にフレームが破棄される。このビットはゼロにリセットされる。Routerrequestenablebit12このビットが設定されていると、ルータインタフェース機能が有効になる。このビットはゼロにリセットされる。GlobalResetbit14この信号は出力ピンにマッピングされ、システムレベル同期を保持するためASICグループ全体をリセットする。リセットオペレーションを終了するには、このビットにゼロを書き込まなければならない。このビットはゼロにリセットされる。ARMResetbit15設定されていると、このビットはARMプロセッサを初期化する。リセットオペレーションを終了するには、このビットにゼロを書き込まなければならない。このビットはゼロにリセットされる。Txwritetag[1:0]bit17:16このフィールドは、手動でTxFIFOに書き込む際のタグビットを提供する。このフィールドはゼロにリセットされる。Rxwritetag[1:0]bit21:20このフィールドは、手動でRxFIFOに書き込む際のタグビットを提供する。このフィールドはゼロにリセットされる。MSTBResetbit22このビットが設定されていると、ミリ秒タイマーがゼロにリセットされる。このビットはゼロにリセットされる10μsResetbit22このビットが設定されていると、10ミリ秒タイマーがゼロにリセットされる。このビットはゼロにリセットされ。SendFramebit24フレームがTxFIFOにロードされた後、フレームをスイッチコアに送るにはこのビットを設定する必要がある。このビットはセルフクリアである。CRCErrorCntEnablebit25このビットは統計カウンタに対応している.このビットが設定されていると、カウンタが有効になる。TagErrorCntEnablebit26このビットは統計カウンタに対応している.このビットが設定されていると、カウンタが有効になる。RCVDelimiterErrorCntEnablebit27このビットは統計カウンタに対応している.このビットが設定されていると、カウンタが有効になる。DMAServiceExpiredCntEnablebit28このビットは統計カウンタに対応している.このビットが設定されていると、カウンタが有効になる。XMTDelimiterErrorCntEnablebit29このビットは統計カウンタに対応している.このビットが設定されていると、カウンタが有効になる。RCVFrameCntEnablebit30このビットは統計カウンタに対応している.このビットが設定されていると、カウンタが有効になる。XMTFrameCntEnablebit31このビットは統計カウンタに対応している.このビットが設定されていると、カウンタが有効になる。6.3.4XmtFIFOリードライトポインタレジスタXmtFIFOwritepointer[8:0]bit8:0このフィールドは、XmtFIFOで書き込まれる次の位置を指定する。このフィールドはゼロにリセットされる。XmtFIFOreadpointer[8:0]bit24:16このフィールドは、XmtFIFOから読まれる次の位置を指定する。このフィールドはゼロにリセットされる。6.3.5XmtFIFOデータレジスタXmtFIFOdata[31:0]bits31:0このレジスタの読み取りは、Xmtリードポインタによってアドレス指定されるXmtFIFORAMの内容をレポートする。Xmtリードポインタはこのレジスタからの読み取り毎に1だけ自動的にインクリメントされる。このレジスタへの書き込みは、Xmtライトポインタによってアドレス指定されるワードへの書き込みとなる。Xmtライトポインタはこのレジスタへの書き込み毎に1だけ自動的にインクリメントされる。このレジスタはゼロにリセットされる。6.3.6RcvDMAサービスタイマーレジスタRcvDMAservicetimer[9:0]bits9:0このフィールドは、DMAサービスタイマーカウンタにアクセスする。カウンタは、FIFOにフルフレームを受け取るとカウントが開始され、フルフレームが完全にDMAされるとカウントが停止される。各ビットは、MSTBから派生した1ミリ秒を表している。DMAサービスタイマーはカウンタが載っている実際のカウントである。このカウンタはゼロにリセットされる。RcvDMAserviceMax[9:0]bits25:16RCVDMAサービスマックスは、対応する割込みビットを設定する前にカウンタがそこまでカウントする最大値である。このカウンタはゼロにリセットされる。6.3.7RcvFIFOリートライトポインタレジスタRcvFIFOライトポインタ[8:0]bits8:0このフィールドは、RcvFIFOで書き込まれる次の位置を指定する。このフィールドはゼロにリセットされる。RcvFIFOリードポインタ[8:0]bits24:16このフィールドは、RcvFIFOから読まれる次の位置を指定する。このフィールドはゼロにリセットされる。6.3.8RcvFIFOデータレジスタRcvFIFOdata[31:0]bits31:0このレジスタを読むと、Rcvリードポインタがアドレス指定しているRcvFIFORAMワードの内容がレポートされる。Rcvリードポインタは、このレジスタからのリード毎に1だけ自動的にインクリメントされる。このレジスタに書き込むと、Rcvライトポインタによってアドレス指定されているワードに書き込まれる。Rcvライトポインタは、このレジスタへの書き込み毎に1だけ自動的にインクリメントされる.このレジスタはゼロにリセットされる。6.3.9統計カウンタレジスタStatisticcounter[31:0]bits31:0このレジスタを読むと、カウンタ値がレポートされる。このレジスタに書き込むと、このレジスタの値でカウンタがプリセットされる。各対応レジスタのイネーブルビットは、コントロールレジスタにある。カウンタはゼロにリセットされる。7.信号の説明下の表は、VixelSOC422ループスイッチの信号を説明している。SOC422信号の説明先の発明は図と例を使って明瞭に分かりやすく詳しく説明されているが、以下の請求の精神や範囲から離れることなく、変更や修正を行うことができることは、本発明の内容に照らして通常の技量を有する者には明らかである。"