JP4642755B2 - ファイバチャネルアービトレート型ループシステムにおけるデバイスアクセスフェアネスのための方法および装置 - Google Patents
ファイバチャネルアービトレート型ループシステムにおけるデバイスアクセスフェアネスのための方法および装置 Download PDFInfo
- Publication number
- JP4642755B2 JP4642755B2 JP2006518921A JP2006518921A JP4642755B2 JP 4642755 B2 JP4642755 B2 JP 4642755B2 JP 2006518921 A JP2006518921 A JP 2006518921A JP 2006518921 A JP2006518921 A JP 2006518921A JP 4642755 B2 JP4642755 B2 JP 4642755B2
- Authority
- JP
- Japan
- Prior art keywords
- port
- loop
- register
- switch
- lip
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/42—Loop networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/42—Loop networks
- H04L12/427—Loop networks with decentralised control
- H04L12/433—Loop networks with decentralised control with asynchronous transmission, e.g. token ring, register insertion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/18—Loop-free operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/356—Switches specially adapted for specific applications for storage area networks
- H04L49/357—Fibre channel switches
Description
本出願は、「Method and Apparatus for Switching Fibre Channel Arbitrated Loop Devices」と題された、2003年7月1日出願の米国実用新案出願第10/612,753号の一部継続出願であり、該実用新案出願は、「Method and Apparatusfor Switching In a Fibre Channel Network」と題された、2002年7月2日出願の米国仮出願第60/393,164号、および「System and Method for Multiple Trunk Connections Between Fibre Channel Switches」と題された2002年7月10日提出の米国仮出願第60/395,107号に対して優先権を主張する。これら全てをここに完全に記載したものとして本明細書に援用する。
「Methods And Apparatus For Fiber Channel Interconnection Of Private Loop Devices」と題されたBermanの米国特許第6,118,776号において、ファイバチャネルプライベートループデバイス相互接続システムを通して複数のプライベートループデバイス間におけるファイバチャネル相互接続のための方法および装置が提供されている。好ましい実施形態において、ファイバチャネルプライベートループデバイス相互接続システムは、ファブリックまたはインテリジェントブリッジングハブである。一局面において、ファイバチャネルプライベートループデバイスは、1つ以上のプライベートループデバイスを含む、あるいは含むように適合された、2つ以上のアービトレート型ループと接続される。好ましくは、相互接続システムは、どのファイバチャネルフレームがファブリックを通してルーティングを試行されなければならないかを決めるためにインカミングアービトレート型ループ物理アドレス(ALPA)をフィルタリングする、ルーティングフィルタを含んでいる。相互接続システムの多数のトポロジが実現可能である。別の態様では、論理ループを複数のセットにスイッチングし、各セットを物理アービトレート型ループに割り当て、アービトレート型ループをファイバチャネルプライベートループデバイス相互接続システムに接続することによって、プライベートループデバイスの論理ループを実装する方法が提供される。接続デバイスを一定範囲内のアービトレート型ループ物理アドレスに制限するためのさらなる方法が提供される。さらに、ホストをリセットする方法、一般に最初のアービトレート型ループへのストレージ装置の追加を検出し、その後アービトレート型ループ、または1つまたは複数のホストが2番目のアービトレート型ループに存在するループをリセットする方法が提供される。SCSIイニシエータを使用したオペレーションの方法は、アドレスマッチが見つからないか、アドレスマッチが見つかったが宛先ALPAを持つデバイスが宛先に対応するアービトレート型ループに存在しない場合、リンクサービス拒否を作成する。
(本発明の目的)
したがって、本発明は、ARB、OPN、CLSのようなアービトレート型ループプリミティブを少なくとも一部を基にして効果的かつ効率的に切り替えるファイバチャネルアービトレート型ループシステムを提供することを目的としている。
1. 定義
2. ループスイッチフィーチャセット
3. 機能概要
3.1 ハブエミュレーションモード(共有帯域幅)
3.2 非オーバラップハードゾーニング(複数ループ)
3.3 スイッチング(セグメント化)モード
3.4 オーバラップハードゾーニング(バーチャルループ)
4. アーキテクチャの説明
4.1 ポートロジック
4.2 ルータ
4.3 スイッチロジック
4.4 ファイバチャネルポート
4.5 内部Serdes
5. 機能の説明
5.1 ループスイッチ内部セルフテスト
5.2 内部ループバック
5.3 ポート挿入
5.3.1 ワードシンクの確立
5.3.2 Vixelループスイッチへの直接接続の検出
5.3.3 接続でのシリアル番号交換(SEOC)
5.3.4 SEOC障害
5.3.5 ポート挿入の完了
5.3.6 ポート挿入障害
5.4 ポートバイパス
5.5 デバイスディスカバリ
5.5.1 フルループスイッチ初期化時のパッシブデバイスディスカバリ
5.5.2 LILPありシャドーデバイスALPA解決
5.5.3 LILPなしシャドーデバイスALPA解決
5.5.4 デバイスディスカバリエラー
5.5.5 ループ初期化タイムアウト
5.6 ARBffによるアイドル交換
5.7 スイッチング(セグメント化)モードオペレーション
5.7.1 同じポートのソースノードと宛先ノード
5.7.2 異なるポートでのソースノードと宛先ノード
5.7.3 同時オープン接続要求
5.7.4 非存在デバイスに送られるOPN
5.7.5 OPNに続くR_RDY
5.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.11 LIPアイソレーション
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、マルチゾーン、接続でのHBA #1 & HBA #2
5.11.8 ステルスモードアイソレーション、マルチASIC、マルチLIPゾーンのデバイス、同時LIP
5.12 CPUポートインタフェース
5.12.1 CPUポートの説明と動作
5.13 ポート管理機能
5.13.1 ポートコントロール
5.13.2 ポートステータス
5.13.3 順序集合定義
5.13.4 ユーザマッチ機能
5.13.5 順序集合伝送
5.13.6 GBIC/SFPステータスおよびコントロール
5.13.7 FBIC/SFPシリアルID
5.13.8 エラーカウンタ
5.13.9 ポートモニタリングモード
5.13.10 ポート外部ループバック
5.13.11 周波数チェック回路
5.13.12 ポートオペレーションポリシー
5.13.13 ALPAからポートへのマップ
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 ループステート検出とLED
5.15.3 ループ初期化
5.16 FCポートインタフェース
5.16.1 GBIC/SFPピン
5.16.2 Lock−to_Reference
5.17 システムインタフェース
5.18 マイクロプロセッサインタフェース
5.18.1 割込み信号
5.18.2 I2Cシリアルインタフェース
5.18.3 パラレルプロセッサインタフェース
5.19 シリアルEEPROMインタフェース
6. Vixel SOC422ループスイッチのレジスタ定義
6.1 ルータレジスタ定義
6.1.1 ルータ構成レジスタ
6.1.2 ルータコントロールレジスタ#1
6.1.3 ルータコントロールレジスタ#2
6.1.4 リムーブコネクション/ペンディングOPNレジスタ
6.1.5 ストール閾値レジスタ
6.1.6 ルータローカルSEOC USERレジスタ
6.1.7 RTR SWマトリクス構成レジスタ
6.1.8 ポートアクティブステータスレジスタ
6.1.9 スイッチマトリクスコントロールレジスタ
6.1.10 スイッチマトリクス選択レジスタ
6.1.11 Rem conn_cntレジスタ
6.1.12 ポートアンフェアレジスタ
6.1.13 ポート15−0 割込みステータスレジスタ
6.1.14 フューチャポート31−23/ポート22−16割込みステータスレジスタ
6.1.15 ルータステータスレジスタ#1
6.1.16 ルータステータスレジスタ#2(ルータ割込みステータス)
6.1.17 ルータステータスレジスタ#3
6.1.18 ルータステータスレジスタ#4
6.1.19 ブロックALPA/ルータループアップカウンタレジスタ
6.1.20 ルータコントロールレジスタ#3
6.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.36 Per ALPAオープンカウンタマックスレジスタ
6.1.37 ステルスアイソレーションコントロールレジスタ#1
6.1.38 ステルスアイソレーションコントロールレジスタ#2
6.1.39 ストップトラフィックコントロールレジスタ
6.1.40 ステータスレジスタ#5
6.1.41 ステータスレジスタ#5割込みのためのマスクレジスタ
6.1.42 ステルスタイムアウトレジスタ
6.1.43 ステータスレジスタ#6(ステルス状態)
6.1.44 ステルスLIPインタースイッチ伝送ペイロードレジスタ
6.1.45 ステルス受信インタースイッチASICフレームレジスタ
6.1.46 LIFAフレーム修正レジスタ
6.1.47 LIRPフレーム修正レジスタ
6.1.48 ルートブロッキングレジスタ、グループ0から7まで
6.1.49 ルートブロッキングレジスタ、グループ8からEまで
6.1.50 LIPアイソレーションゾーンコントロールレジスタ
6.1.51 ステルスジェネリックインタースイッチフレームへッダレジスタ
6.1.52 ステルスジェネリックインタースイッチフレーム伝送ペイロードレジスタ
6.1.53 ステルスジェネリックインタースイッチフレームペイロードレジスタ
6.2 ポートレジスタ定義
6.2.1 ポート構成レジスタ
6.2.2 ポートコントロールレジスタ#1
6.2.3 ポートユーザ順序集合マッチレジスタ
6.2.4 ポートユーザ順序集合伝送レジスタ
6.2.5 ユーザ10Bワード
6.2.6 ローカル SEOC P_INFO
6.2.7 ポート割込みマスクレジスタ#1
6.2.8 ポート割込みマスクレジスタ#2
6.2.9 No Comma Timerレジスタ
6.2.10 OS/CRCエラー閾値レジスタ
6.2.11 ポートコントロールレジスタ#2
6.2.12 ストールカウンタレジスタ
6.2.13 ポートエラー/変更ステータスレジスタ#1
6.2.14 ポートエラー/変更ステータスレジスタ#2
6.2.15 ポートステータスレジスタ#1
6.2.16 ポートステータスレジスタ#2
6.2.17 ポートディテクタレジスタ#1
6.2.18 ポートディテクタレジスタ#2
6.2.19 ポートOSエラーカウント
6.2.20 カレント宛先レジスタ
6.2.21 ポートマッチカウントレジスタ
6.2.22 ポート利用率レジスタ
6.2.23 ポートキャプチャ順序集合レジスタ
6.2.24 無効OPN/ブロードキャスト(ARBx)ALPAキャプチャレジスタ
6.2.25 ポート挿入/ルックアップカウンタレジスタ
6.2.26 ポートCRCエラーALPAレジスタ
6.2.27 RXフレームカウントレジスタ
6.2.28 ポート接続試行レジスタ
6.2.29 ポート接続延期レジスタ
6.2.30 ポートクロックデルタカウントタ
6.2.31 Src/Dest ALPAレジスタ
6.2.32 ポートALPAビットマップレジスタ
6.2.33 リモートSEOC P_INFOレジスタ
6.2.34 リモートSEOC USERレジスタ
6.2.35 GBIC/SFPリードアドレスレジスタ
6.2.36 ポートオープンロックアップマックスカウントレジスタ
6.2.37 GBIC/SFPシリアルIDデータレジスタ
6.2.38 ミスマッチOPNのSrc/Dest ALPAレジスタ
6.2.39 OPNミスマッチレジスタ上の宛先ID
6.2.40 未知のOPN/LostノードからのSrc/Dest ALPAレジスタ
6.2.41 その他のコントロールレジスタ
6.2.42 SCSI統計情報ALPA
6.2.43 SCSIリードIOカウンタ
6.2.44 SCSIライトIOカウンタ
6.2.45 SCSIリードバイトカウンタ
6.2.46 SCSIライトバイトカウンタ
6.3 CPUポートレジスタ
6.3.1 割込みレジスタ
6.3.2 割込みマスクレジスタ
6.3.3 コントロールレジスタ
6.3.4 Xmt FIFOリードライトポインタレジスタ
6.3.5 Xmt FIFOデータレジスタ
6.3.6 Rcv DMAサービスタイマーレジスタ
6.3.7 Rcv FIFOリートライトポインタレジスタ
6.3.8 Rcv FIFOデータレジスタ
6.3.9 統計カウンタレジスタ
6.3.10 ミリ秒タイムベースコントロールレジスタ
7. 信号の説明
1. 定義
略語と説明
アービトレート型ループ−ループへのアクセスするためにポートがアービトレーションを使用するファイバチャネルトポロジ
ARB−ファイバチャネルアービトレートプリミティブ(順序集合)。ループのコントロールを取得するのに使用される
AL_TIME−アービトレート型ループタイマー。AL標準で定義されているデフォルト値が15msのタイマー
ALPAまたはAL_PA−アービトレート型ループ物理アドレス、ユニークな1バイト(8ビット)値。詳細についてはFCAL T11仕様を参照
API−アプリケーションプログラミングインタフェース
ASIC−アプリケーション固有集積回路
ビーコニング−サービス要員の注意を引き付けるためにポートのLEDが点滅
カスケード−2つのハブの間での名目上の接続。アービトレーションメカニズムは、フェアシステムオペレーションを促進するために修正される
CLS−ファイバチャネルプリミティブをクローズ。ループ回路を終端するためにL_Portによって使用されるプロシージャ
CRC−巡回冗長検査。データフレームのデータ完全性を検査するのに使用される。
重複カスケード−2つ以上のインタースイッチが存在しているときの、ループスイッチ間のリンク。トランキングとも呼ばれる
動的ロードバランシング−同じ2つのループスイッチ間の2つ以上のリンクでフレームトラフィックを操る能力
EWRAP−電気的WRAP トランシーバへのループバック信号
EEPROM −電気的消去可能プログラマブルROM
フェアネスウィンドウ−(またはアクセスフェアネスウィンドウ)フェアL_Portが1回だけアービトレーションしループへのアクセスを獲得する期間。詳細についてはANSI FCALを参照
FC−ファイバチャネル
FC−AL−ファイバチャネル−アービトレート型ループプロトコル
FC MAC−ファイバチャネルメディアアクセスコントロール。FC0、FC1、FC2−ANSIファイバチャネル機能のいくつかを実装。
FL_Port−FCALによって定義されているループポート状態マシーンを含むF_Port(すなわちファブリックポート)
GBIC−ギガビットインタフェースコンバータ
Gbps−ギガビット/秒
ハードゾーン−相互に分かれているゾーンまたはエリア(すなわち、ファイバチャネルフレームまたはアービトレート型ループプリミティブはゾーンを通らない)
HBA−ホストバスアダプタ
ハブエミュレーションモード−すべてのポートを一緒に配線してハブ接続のようなものよってループスイッチがハブをエミュレートするモード
I2C−Inter−Integrated Circuitプロトコル(I2C)
JBOD−Just a Bunch of Disks。ポートバイパス手段によって接続された、シングルエンクロージャのFC−ALディスクのグループ
LIM−ループ初期化マスター−ループの初期化を担当するL_Port
LIP−ループ初期化プリミティブシーケンス−いずれかのLIPプリミティブシーケンス。FCALを参照
LIPブロッキング−LIPの伝播をブロックする行為。通信を撹乱しないようにループスイッチのポートで使用される
LIPゾーン−ゾーンのいずれかの装置によって受け取られた場合、ループスイッチがLIPを伝播するデバイスのリスト
ループ−ANSI FCALで説明されているアービトレート型ループ
ループ回路−同じループで2つのL_Port間での通信を可能にする双方向パス
ループスイッチ−ARB、OPN、CLSのようなFCALプリミティブを切り替えるスイッチ。ループスイッチは、クロスバースイッチ、ルータ、ポートロジックを含むことがある
LPB−ループポートバイパスプリミティブシーケンス
LPE−ループポートバイパスプリミティブシーケンス
L_Port−ANSI X3、FCPHで定義されているFL_PortまたはNL_Portのいずれか
LPSM−ループポート状態マシーン
NL_Port−FCALで定義されているループポート状態マシーンを含むN_Port(すなわちノードポート)
オープン−ループ回路を確立するためにL_Portによって使用されるプロシージャ
OPN−ALPAによって識別される特定のデバイスへの接続をオープンするのに使用されるオープンファイバチャネルプリミティブ、FCALを参照
OS−順序集合。ファイバチャネルプリミティブ、長さは4バイト
POST−電源投入時セルフテスト
プリミティブシーケンス−プリミティブシーケンスによって伝えられる関数が実行される前の、3つの同じ連続的順序集合、ANSI FCPHを参照
RAR−Register−Select−Register
SOC422−シングルASIC製品でのVixelのループスイッチ
SBOD−Switched Bunch Of Disks。スイッチによって接続されたシングルエンクロージャでのFC−ALディスクのグループ
スイッチングまたはセグメント化モード−様々なポートに接続されたデバイスへの同時非ブロッキング接続を行うのにクロスバースイッチを利用するループスイッチのモード。接続はOPNで作成され、CLSループプリミティブによってクローズされる
SEOC−接続時シリアル番号交換。ファイバチャネルFC−AL相互接続デバイスの接続の前にシリアル番号を交換するのに使用されるプロトコル
Serdes−シリアル化/非シリアル化
シリアルID−構成データを含むシリアルEEPROMでのGBICのタイプ
SFP−スモールフォームファクタトランシーバ
スマート挿入アルゴリズム−いつポートを動作中と宣言するかを決めるための選択肢を追加するアルゴリズム
SN−シリアル番号
Stall−ループスイッチでオープンされたが、一定期間使われていない接続
ステルスモード−すべてのループプリミティブ及び/又はファイバチャネルフレームがすべてのデバイスに伝えられないモード
ステルスLIPアイソレーション−すべてのデバイスへのLIPの伝達を制限
ストリングカスケード−ストリング経由で接続される各ループスイッチが仮想ループでシングル論理デバイスとして扱われるカスケード接続。ARBxは、ストリングカスケード全体を巡回し、コントロールを取得してOPNをカスケードに置かなければならない
ツリーカスケード−各ループスイッチがカスケードにOPNを置く前にリンクのコントロールのために直近のループスイッチのみとアービトレーションするカスケード接続
トランキング−ループスイッチ間の複数の接続を使用して帯域幅を増やす
USER−ユーザ定義順序集合
2. ループスイッチフィーチャセット
以下では、Vixelベースの製品SOC422に含まれている実装を取り上げて、ループスイッチの特徴を説明する。先にループスイッチの実装について説明したが、先に説明した実装または発明の精神や範囲から離れることなく、特定の変更や修正を行うことができることは本発明の内容に照らして当業者には明らかである。ループスイッチの実装はVixel SOC422を含むことに注意しなければならない。
プロセッサ支援なしでハブエミュレーションモードまたはスイッチング(セグメント化)モードのループスイッチ間のシングルおよびマルチカスケード接続をサポートする。スイッチング(セグメント化)モードで、複製カスケード接続はファームウェアサポートにより動的ロードバランシングをサポートする。ループモードでは、マルチカスケード接続はバイパスされ、プライマリカスケード接続のみがアクティブになる。
プロセッサ支援なしのスイッチモードでのLIPアイソレーション付きの16の非オーバラップハードゾーンをサポート。
ハブエミュレーションモードまたはスイッチング(セグメント化)モードでゾーンアイソレーション(LIPブロッキング)をサポート
複数のASICシステムにおいて重複LIPゾーンでステルスLIPアイソレーションをサポート
インバンドインタースイッチフレームをサポート
次のポート機能をサポート
−ハードウェアにスマート挿入アルゴリズムを実装
−各ポートでOS検出回路を実装
ポートLED機能。スイッチングモードで、各ポートは、ポートアクティビティLEDを持つ。
管理を通していずれかの他のポートをパッシブにスヌープするようにどのポートでも構成可能である。ポートやループのオペレーションの診断のためにアナライザが使用
スイッチへのリンクが良好かどうか検証するための、接続デバイスの外部ループバックパス
ポート当りの不良伝送キャラクタカウント(24ビット)を提供
各ポートに関してCRCエラーカウント(8ビット)を提供
ループへの挿入前または後にポートに順序集合を伝送する能力を提供。ループでは、順序集合は指定回数のみあるいは連続して伝送できる。
I2CインタフェースをサポートするGBICs/SFPsからのシリアルID読み取りをサポート
ポートループ利用カウンタを提供。データに使用される帯域幅の割合、またはスイッチング接続がアクティブであるまたは要求される時間の割合を測定
各デバイスに等しいポートアクセスを保証するために(FCALアクセスフェアネスアルゴリズムに加えて)ユニークなフェアネス方式を実装
ポートベースでLIPを隔離する能力を提供
奇数パリティを使用して各ポートを通るデータパスの完全性をモニタ。
システム状態信号をモニタするためのレジスタインタフェースを提供
LEDを駆動するシフトレジスタインタフェースを提供(ピンを保存)
温度センサやファンロータスタックセンサからの入力を受け付け、LEDを駆動するばかりでなくステータスレジスタでの障害をレポートする環境監視機能
Management Ethernet(登録商標) Activiety LEDをコントロール。カードからの入力を取ってLEDを駆動
ループ状態LEDをコントロールして、ループが立ち上がっているかどうかを示す、または初期化を完了しようとする
リセット後にLEDセルフテストモードを提供し、その際LEDは2秒間オンになった後2秒間オフになりその後ノーマルモードに戻る
特殊動作モードをコントロールするマネージメントカードの存在を示す外部ステータスビット
CPUポート(ファイバチャネルMAC、FC2)機能
−ファイバチャネルフレームを送受信できるプロセッサインタフェースを提供
−アービトレート型ループ標準に従ってNL_PortまたはFL_Port機能を実行する能力
−ALPAまたはいくつかのユーザプログラマブルALPAを取るために、LIMとして、あるいはLIMとしてではなくループ初期化を実行
−プロセッサがFIFOサービスを提供しなければならなくなる前にバッファ間送受信フレームを実装
3. 機能概要
ループスイッチは、様々なモードで動作する能力を有している。ハブエミュレーションモードとスイッチング(セグメント化)モードは、2つの基本モードである。さらに、各モードのバリエーションにより、ループスイッチが様々なシステム要件の範囲を満たすことが可能になる。
3.1 ハブエミュレーションモード(共有帯域幅)
ファイバチャネルアービトレート型ループ標準は、リング構成で多数のデバイスが相互に接続できるトポロジを定義している。図1を参照。最後のデバイスのトランスミッタが最初のデバイスのレシーバに接続されるまで、あるデバイスのトランスミッタが他のデバイスのレシーバに接続されていく。
3.2 非オーバラップハードゾーニング(マルチループ)
ハブエミュレーションモードで動作している間、ループスイッチも各ポートを多数の「ゾーン」の1つに割り当てることができる。各ゾーンは、対応する127ノードアドレス空間と別個の初期化空間を持つユニークな隔離ループを表している。これにより、複数の別個のループが1つのループスイッチ内で動作可能になる。このタイプのゾーニングでは、各ループは完全に独立であり、あるループのLIPはいかなる方法でも他のループに影響することはない。
3.3 スイッチング(セグメント化)モード
スイッチングモードでは、ループスイッチはクロスバースイッチを使用し、ファブリックスイッチのようにFC2フレームではなく、ファイバチャネルアービトレート型ループプリミティブに基づいて切り替える。このような切り替えの利点は、接続されたFCALデバイスがファイバチャネルファブリックサービスを実装する必要がないということである。ファブリックサービスの実装は、管理と相互運用性をさらに複雑にする。
ループスイッチがスイッチング(セグメント化)モードに構成されているとき、ループスイッチはオーバラップハードゾーンまたはバーチャルループを作成することができる。これは、スイッチング(セグメント化)モードにあるループスイッチの特定のポートを構成してアクセスを他のいずれかのポートに制限することができるということである。たとえば、これにより、ユーザは3つのMicrosoft NTサーバをループスイッチの3のポートに接続し、3のディスクアレイをループスイッチの他の3のポートに接続し、他のアレイは特定のサーバから制限されている間、あるサーバからあるアレイへの関連を作成することができる。同時に、共有テープライブラリをさらに別のポートに接続して、ユーザはすべてのサーバにテープへのアクセスを許可することができる。このようにして、ループをサーバからディスクアレイへの高帯域相互接続として使用し、テープへの共有アクセスを提供することができる。
4. アーキテクチャの説明
図4は、ループスイッチ140のハイレベルアーキテクチャを示している。主なコンポーネントとして、ポートロジック141、142、143、144、145、146、147、148、ルータ181、スイッチロジック150が含まれる。簡略化し、8ポートループスイッチのみが示されているが、任意の数のポートがサポートされる。たとえば、SOC422は22のポートをサポートしている。
4.1 ポートロジック
ポートロジックを構成するいくつかのブロックは、次のものを含む。図8を参照。
OSデコード403、421
伸縮性およびリタイミングバッファ407
OSジェネレータ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_req)427信号や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は、ファイバチャネルワードデコードフレームにアクセスすることができる。FC MAC302は、すべての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上書きビットに書き込むことによって無効にすることができる。
ループスイッチもまた、ルータ構成レジスタのコントロールビットを介して、マイクロプロセッサに内部ループバックモードをコントロールさせる。マイクロプロセッサは、このビットを表明し、ルータスイッチマトリクスコントロールレジスタを使用してスイッチマトリクスを完全なループに構成し、ポートのいずれかの伝送順序集合レジスタを使用して構成済みのループにテストパターンを送り、他のすべてのポートでディテクタをモニタする。
5.3 ポート挿入
GBIC/SFPがループスイッチに挿入されデバイスがGBIC/SFPに接続されたとき、あるいはループ初期化がすでに接続されているポートで発生したときにポート挿入が発生する。ポートは、入ってくるデータストリームを検証し、ポートのレシーバをループにカットし、LIPをデバイスにフォースアウトし、LIPがループに伝播し、トランスミッタに戻ってくるのを待つ。LIPがポートのトランスミッタサイドで検出されると、ポートは完全にカットされ、通常のループ初期化を継続できる。
5.3.1 ワードシンクの確立
ポートがGBICもSFPもインストールしていないとき、ポートロジックは何も送らない。すなわち、特定のTX出力が定常状態に保たれる。GBICまたはSFPがインストールされた場合、ポートは内部ループに存在する情報を送信するか、IDLEをソーシングする。チップがループスイッチとして固定されループスイッチに動作中のループが存在している場合、ポートはそのループデータを送信する。ループスイッチがハブエミュレーションモードである場合、またはループスイッチに動作ループが存在しない場合、IDLEが送られる。
5.3.2 Vixelループスイッチへの直接接続を検出
ワードシンクの後、ポートロジックは、接続されているデバイスが他のVixelループスイッチのように動作しているかどうか調べる。通常、L_Portが3以上のLIPのストリームを受け取るとき、L_Portは受け取った同じLIPの少なくとも12を再送信する。その後、L_Portは15msアイドルを送り、入ってくるすべての順序集合を無視する。DITHアルゴリズムはこれを利用して、接続(SEOC)アルゴリズムでシリアル番号交換をサポートしているVixelループスイッチへの直接接続を検出する。ワードシンクの後、ループスイッチポートは10−20 us(2タイマーチック)LIP(F7,FB)を送り、LIPはアタッチされているループの各L_Portに同じLIPを再送させる。LIPの後にLISMを送るのではなく、ループスイッチポートはARB(FB)順序集合のストリームを送る。SEOC準拠のVixelループスイッチが初期化中にポートに接続されていない場合、ARB(FB)は認識されず、L_Portによって再送されない。SEOC準拠のVixelループスイッチが初期化中のポートに接続されている場合、接続の両端が同時にARB(FB)を送り、各ポートは接続の両端はシリアル番号交換アルゴリズムをサポートしていることを認識する。ループスイッチポートが8ms以内にARB(FB)を検出しない場合、ループスイッチポートは他のタイプのデバイスが接続されていると想定し、SEOCプロセスをスキップして通常の挿入を継続する。8ms以内にループスイッチポートがARB(FB)を検出した場合、SEOC準拠Vixelが接続されていると想定して、シリアル番号交換を試みる。
5.3.3 接続時のシリアル番号交換(SEOC)
SEOC交換は、SN1、SN2、SN3、SN4、SN5、P_INFO、USER1、USER2というラベルの付いた8の独自プリミティブシーケンスを通して通信する。ARB(FB)交換の後に、ポートは10〜20マイクロ秒間LIP(F7,FB)の別のショートバーストを送信する。その後、ポートは接続ポートからSN1を受け取るまで連続してSN1を送る。SEOCシーケンスを受け取ると、埋め込みのシリアル番号がそのポートのためのリモートシリアル番号、ポート情報、ユーザレジスタにロードされる。各順序集合のペイロードバイトであるバイト4は、P_INFOを例外としてルータメモリマップスペースのレジスタにより送信サイドで初期化される。P_INFOは各ポートでユニークであり、ポートメモリマップスペースにマッピングされる。電源投入時に、P_INFOフィールドは対応するポート番号に初期化される。
接続されているデバイスが他のVixelループスイッチ以外のものである場合、ポートロジックは連続して112ms間LIP(F7,F7)を送り、レシーバでLIP(F7,F7)の有効なストリームを確認しようと試みる。ポートは最初の15ms間すべてのLIP(F8)を無視して接続されたデバイスがAL_TIMEを巡回できるようにする。その後、ポートは97ms、LIP(F8)をモニタする。LIP(F8)を受け取った場合、ポートは再度挿入プロセスを開始する(Vixelループスイッチが接続されているかどうか検出する)。これにより、ポートエラー/ステータスチェンジレジスタのinsert_lipf8_faultビットが設定される。97msの間にLIPf8を受け取らず、97msの最後までにLIP(F7)を受け取った場合、ポートはレシーバをループに挿入するが、LIP(F7,F7)の送信を続ける。LIP(F7)を97ms時間の最後までに受け取らなかった場合、ポートは再度挿入プロセスを開始し、ポートエラー/ステータスチェンジレジスタのinsert_timeoutビットを設定する。
5.3.5 ポート挿入の完了
SEOCの正常完了、またはSEOCが正常に完了しなかった場合LIP(F7,F7)のストリームの検証の後、ポートはループをスクラブしてLIP(F7,F7)がループ全体に伝わったことを保証する。ポートは連続してLIP(F7,F7)を送信し、近隣上流ポートからの受信データストリームによって提供される、伝送データパスへの入力ストリームをモニタする。これにより、LIP(F7)はLIPがループ全体をすべて通過したことを確認する。トランスミッタ入力でLIP(F7)が検出されると、トランスミッタサイドが挿入され、ポートは通常のループトラフィックの送信を開始する。LIP(F7,F7)(FC−AL当り)またはなんらかのARB(FC−AL−2当り)を受け取ることなしにSOF、EOF、IDLESのシーケンスを50msの間受け取らなかった場合、ポート挿入は異常終了する。
5.3.6 ポート挿入障害
なんらかの理由によりポート挿入が失敗した場合、成功するまで自動的に再度試みられる。特定の障害条件は、tx_disable信号を表明することによってGBICまたはSFPのリセットをトリガーする。tx_disableが表明されると、tx_disableは約10msの間表明されたままとなる。tx_disableパルスの最小間隔は350msである。tx_disableパルスをトリガーする障害条件は、以下のとおりである。
SEOC順序集合を10□sの間受け取らなかった
スクラブループオペレーションの間に2.418秒タイマーが切れた
先の条件の場合、リンク障害は次のものとして定義されている
1. tx_fault入力が検出された
2. GBIC/SFPが抜かれた
3. 信号損失が検出された
4. 100msの間ワードシンク損失が検出された
5. LIP(F8)を受け取った
6. 100ms間コンマ文字を受け取らなかった、dis_byp_no_comma
5.4 ポートバイパス
以下のいずれかの条件が発生した場合、挿入されたポートはバイパスされる。
これらの理由のいずれかによりポートがバイパスされるとき、ポートは実際のバイパスの前に16のLIPを他のポートに送信することにより、ループが再初期化されるようにすること注意しなければならない。当然、これはポリシービットがバイパス機能でLIPを無効にしていないと想定している。注:ポリシービットはポートオペレーションのセクションの本文において説明されている。
5.5 デバイスディスカバリ
デバイスディスカバリプロセスは、各ALPAがどのループスイッチポートにアタッチされるかを説明するALPAマップテーブルの作成に使用される。このテーブルは、管理ソフトウェアにとって有用であり、(ループスイッチモードではなく)ループスイッチオペレーションに要求される。デバイスディスカバリはLIPが検出されフルループスイッチループ初期化が行われるときに開始される。この時、すべてのデバイスはシングルループにマッピングされ、同じポートにアタッチされるかどうかにかかわらず共に初期化される。
5.5.1 フルループスイッチループ初期化時のパッシブデバイスディスカバリ
パッシブデバイスディスカバリプロセスは、フルループスイッチループ初期化時に使用される。LISMフレームがルータモジュールのデータパスを通るたびに、フレームのペイロードのWWNはレジスタに保存され、前の値は上書きされる。その結果、次のサイクルの最初までLIMのWWNが、ループ初期化サイクルの最後から取得され保存される。この値は、マイクロプロセッサが読むことができる。
5.5.2 LILPありのシャドーデバイスALPA解決
LIRPとLILPがループスイッチのすべてのデバイスでサポートされている場合、このフレームはループでのLISAに続く。LILPが存在する場合、ALPAマップを完成するためにそのペイロードが捕捉され、検索される。保存されたLILPペイロードが、管理ソフトウェアによって使用されることもある。ペイロードが検索されるとき、前に入力された有効なポート値を持たないすべての請求ALPA値はLIMポートに対応するポート値によってマークされる。まだアンマップポートインジケータによってマークされている他のALPAマップ位置は、無効なALPA値によってマークされる。LILPがサポートされている場合、このアクションはデバイスディスカバリを完了し、選択されている場合ループスイッチはスイッチング(セグメント化)モードに入ることができる。
5.5.3 LILPなしのシャドーデバイス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マップでの変化を引き起こさない。
5.5.4 デバイスディスカバリエラー
1つのALPAが複数のループスイッチポートで主張されているときにフラグ付きのエラーが発生する。そのエラーがLIXAフレームビットマップのある位置で発生することがそのポートで設定され、他のポートではクリアされ、そして3番目のループスイッチポートでは再度設定されなければならない。この条件が発生した場合、ALPAマップの対応位置は「known invalid」デバイス位置とマークされ、ポートディスカバリエラー割込みがルータステータスレジスタで表明される。このALPAへのアクセスが試みられOPNがその位置に送られる場合、ループスイッチはOPNをソースに戻す。もし存在している場合、マイクロプロセッサはLIPをループにフォースアウトして、望むならばプロセスを再開始する。マイクロプロセッサが存在していない場合、OPNを送ったデバイスはループの再初期化を選択して、このエラーをクリアすることができる。
5.5.5 ループ初期化タイムアウト
ロックアップしたループ初期化サイクルからの回復を助けるために、500ms内部ウオッチドッグタイマーにより、有効なLIPを受け取るまで、あるいはASICがリセットされるまで外部ピンリップタイムアウトはローになる。この機能が要求される場合、ASICをリセットする外部ロジックが要求される。
5.6 ARBffによるアイドル交換
EMI排出を抑えるために、ループスイッチのポートロジックは受け取ろうとしているIDLEをARBffで置き換えるアルゴリズムを使用している。IDLEの周波数内容は非常に大きな531MHzコンポーネントである。ARBffスペクトル成分はずっと広い。標準化委員会は、FC−AL−2に対するこの変更を受け入れている。実際のプロセスは、受信シンボルストリームでIDLEを探し、伝送ポートで6のIDLEを転送する。以後連続したIDLEを受け取った場合、ロジックはこれをARBffで置き換える。ARBffは、最下位プライオリティARBとして定義されており、アイドルと同じと見なされる。このタイプのIDLE置き換えは、ポートが挿入されループ初期化が完了したときのみ行われる。一度ループ初期化がトリガーされると、この置き換えはループ初期化が完了するまで許されない。
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は、ループスイッチに内的である。
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に示されているように、ポート2 951がポート1 950への接続を要求したのと同時にポート1 950がポート2 951への接続を要求した場合、すべてのポートが公平にサービスを受けることを保証するプライオリティ方式が使用される(このプライオリティ方式については、ポートフェアネスを取り上げるセクションで詳しく説明する)。勝った要求967と負けた要求958がプライオリティ比較を通して確定されると、宛先ポートとしてオープンされなければならない負けたソースポート950は、勝ったOPNを転送する前にポートトランスミッタからCLS968を送る。転送を完了するためには負けたOPNを送ったデバイスは後に再度アービトレーションし、再度OPNを送らなければならない。パス953、952、957、956、968、967はループスイッチに内的である。
5.7.4 非存在デバイスに送られたOPN ループスイッチの宛先ポートからOPNが送られ、ループスイッチ宛先ポートに戻された場合、ソースデバイスがエラーを検出し適切に応答できるようにOPNがソースポートから戻される。ALPAマップでまだ識別されていない無効なデバイスへのアクセスが試みられたときにこの条件が発生しうる。この条件が発生した場合、ループスイッチはCLSがループを送られるとき接続されたポートの接続を切る。
5.7.5 OPN以後のR_RDY
OPNがポートレシーバで検出されたとき、オープンを内部レジスタに保存する他に、ポートレシーバは検出されたが転送されていないR_RDYをカウントしなければならない。255までのR_RDYをカウントし、保存し、後で再送できる。接続が提供されると、ポートレシーバはOPNが送られる前にR_RDYを送らなければならない。これには、OPN後のすべての第3フィルワードのR_RDYによる置き換えと、R_RDYカウンタのデクリメントとによって遂行される。これは、カウンタが0になるまで続く。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はLIPf8 1504、1524をLIPf7 1502、1523によって置き換える。ルータロジックがlip_received信号151、152、153、154、155、156、157、158の表明を検出すると、すべてのアクティブポートをInitialize State−非交換モードに再接続する(これはフレームまたは複数のフレームの途中で起こり、失われることに注意)。ポートが16のLIPを転送したら、ポートアクティブ信号をアサート停止する。ルータ図4の149はスイッチマトリクス150にポートをバイパスするように指示する181。ループは存在しているLIPf8をソーシングするノードでポートなしに再初期化する。
ループスイッチは、少数の例外はあるが、マイクロプロセッサの支援なしにハブエミュレーションまたはスイッチング(セグメント化)オペレーションを提供するよう設計されている。この例外について、以下で詳細に説明する。
5.8 カスケーディング
カスケーディングとは、ループスイッチの相互接続を指している。次のセクションで、ループスイッチはルートスイッチに含まれている。図16b 919と図16c 944とSBODSを参照、図16a 1906、1908、1910、1912、図16b 1924、1926、1928、1930、図16c 1950、1947を参照。ルートスイッチは、マイクロプロセッサ、サポートロジック、パワーサプライがすべて1つのシャーシに収まったプリント回路基盤のループスイッチASICとして実装される。これは、スタンドアロンスイッチボックスに含まれているループスイッチである。あるいは、ループスイッチはハードディスクドライブストレージエンクロージャ、すなわちJBOD内に展開される。ループスイッチがプリント回路基盤に含まれ、ハードディスクドライブストレージエンクロージャのバックプレインまたはミッドプレインに差し込まれると、これはswitched bunch of disksすなわちSBODになる。各ディスクは直接ループスイッチに接続される。
5.8.1 シングルカスケード
5.8.1.1 ハブエミュレーションモード
追加接続を提供するために、2つのループスイッチをハブエミュレーションモードでカスケード接続することができる。1つのループスイッチ間ハブエミュレーションカスケードの実施に、特に検討すべきこともない。
5.8.1.2 スイッチング(セグメント化)モード
ループスイッチがスイッチングモードでカスケード接続されるとき、正しい動作を保証するために特別の検討が必要である。カスケード接続されたループスイッチがスイッチングモードで動作し、もう1つのループスイッチがハブエミュレーションモードで動作している場合、ビジーループを検出するのに使用されるARBff方式によるIDLE置換え方式を前に説明したように使用することができ、いかなる動作上の問題もない。ループがビジーかどうかをARBffを送受信を通してポートが判断するため、スイッチングモードのループスイッチは、アービトレーションなしで盲目的にOPNを宛先ループに送ることがある。しかし、スイッチングモードの2つのループスイッチがカスケード接続されているとき、接続されたループスイッチの両方のポートがARBffを送受信し、オペレーションの通常ルール(非カスケード)の下で任意の時にOPNを送ることがある。両サイドがほとんど同時にOPNを送った場合、接続の両サイドはカスケードループ接続の完全コントロールを想定しているため衝突が発生することがある。この競合を回避するために、ループスイッチのカスケード接続ポートは、非カスケード接続ループスイッチのポートとは異なる動作をしなければならない。
5.8.2 重複カスケード−トランキング
5.8.2.1 ハブエミュレーションモード
ハブエミュレーションモードでは、2つの同一リモートシリアル番号を2つの異なるポートで得た場合、下位の番号のデバイスがマスターと指名され、もう一方がスレーブとなる。ハブエミュレーションモードのマスターループスイッチは、ポートコントロールレジスタにビットを書き込むことによって、一方のカスケードポートをプライマリカスケードに割り当てる。ハブエミュレーションモードにあるマスターループスイッチの他のカスケードポートは、ポートコントロールレジスタに複製とマークされる。複製ポートと指定された各ポートはバイパスされる。これにより、ハブエミュレーションモードにあるループスイッチの複製ポートがスイッチングモードにあるループスイッチのポートに接続される場合、スイッチングモードのループスイッチは接続を使用しようとしないことが保証される。ハブエミュレーションモードにあるループスイッチの複製カスケードポートの同時活性化により無効なループトポロジが存在するようになるため、これは必須である。
5.8.2.2 スイッチング(セグメント化)モード(トランキング)
スイッチングモードにあるループスイッチ間の複数の複製カスケードを使用して、近隣ループスイッチ間のスループットを増やし、無効なループトポロジを作成することなく、同時に活性化することができる。イニシエータベースでのカスケード間のロードバランシングがサポートされる。図27を参照。2つのイニシエータとプライマリ/複製カスケードペアを持つシステムでは、各イニシエータは、専用の論理カスケードチェーンを持つことができ、これにより、シングルカスケードシステムの約2倍のスループットが提供される。たとえば図27に示すように、HBA1 1801は、SBOD 1803、1804、1805のストリングを通してフル帯域幅パス1813、1829、1831を持つ。イニシエータHBA2 1802もSBOD 1803、1804、1805のストリングを通してフル帯域幅パス1814、1830、1832を持つ。SBODのHBA1およびディスクとSBODのHBA2およびディスクとの間の同時通信が可能になる。たとえば、HBA2 1802がパス1814、1819を使用してSBOD 1803のディスク16 1819と通信しているときに、HBA1は同時にパス1813、1817を使用してSBOD 1803のディスク1 1817通信することができる。トランクでの複製カスケードの数はハードウェアによって制限されない。トランクグループは、希望するならば22のポートASICで21のトランクとして定義することができる(接続の他のサイドを提供するために、1つのポートはトランクに割り当てない)。カスケードより多くのイニシエータが追加される場合、グループ内の各トランクに割り当てられる相対トラフィックを基にしてスループットは影響を受ける。
5.8.2.3 イニシエータ検出
ループスイッチASIC内の状態マシーンが、ルータコントロールレジスタのビットの設定を基にしてPort Login(PLOGI)、SCSI FCP、またはPRLIフレームのようなファイバチャネルフレームをモニタすることにより、どのイニシエータALPAがループに存在しているか判断する。状態マシーンは各ポートに存在して、同時応答フレームの検出に対応する。ループスイッチのルータコアのロジックは、イニシエータALPAを収集し、それをルータのテーブルに保存する。このテーブルは、各ALPAにビットが割り当てられており、「1」はALPAがイニシエータとして識別されたことを示す。テーブルのフォーマットは、LixA(LixA = LISA、LIHA、LIFAなど)フレームのALPAマッピングと同一である。
5.8.2.4 イニシエータロードバランシング
ルータのイニシエータALPAテーブルによって、マイクロプロセッサはループスイッチに接続されたトランクのグループの間でイニシエータのロードバランシングをするのに必要な情報をすべて有している。ソフトウェアは、3つの情報を相互参照することによって、このループスイッチがロードバランシングマスターとしてどのイニシエータをコントロールするか決める。この情報には、1) システムのイニシエータ、2) 各ALPAが存在するポート、3) プライマリカスケード、重複カスケードであるポートと分類法が含まれる。トランクグループの一部ではないポートに位置するイニシエータは、ロードバランシングのためこのループスイッチに属すると決められる。さらに、あるトランクグループでイニシエータが検出された場合、ソフトウェアは、そのイニシエータをそのループスイッチの他のトランクグループに割り当てなければならない。しかし、カスケードポートがつなげられる場合、ハードウェアは自動的にストリングパスに従う。
シングルイニシエータシステムでは、ソフトウェアイニシエータがテーブルを無効にし、イニシエータ間トラフィックは常にプライマリリンクを通るというルールが、2のトランクカスケード接続のための基本ターゲットロードバランシングメカニズムの定義を可能にする。すべての「真の」イニシエータトラフィックは、複製カスケードに割り当てられ、ターゲットの半分はイニシエータとして定義される。この場合、トラフィックは2つのトランクの間で分割される。「真の」イニシエータとソフトウェア割り当てイニシエータと間のすべてのトラフィックは、プライマリインク上にある。その他のすべてのトラフィックは複製リンク上にある。
5.9 ポートフェアネス
アービトレート型ループ仕様は、アクセスフェアネスアルゴリズムと呼ばれるループフェアネスのためのアルゴリズムを有している。FC_AL artでよく知られているように(Robert W. KembelのArbitrated Loop 1997 Connectivity Solutionsを参照)、オープン(OPN)要求を送る前に、デバイスはループをアービトレーションすることが要求される。アービトレーション(ARB)サイクルがループで実施され、デバイスがループへのアクセス権を獲得した後、デバイスはアイドル(IDLE)を受け取るまで再度アービトレーションすることは許されない。勝ったポートは、ループを勝ち取ろうとしている他のポートから受け取ったARB(x)をフィルワードARB(F0)によって置き換える。勝者側のポートが自分のARB(F0)を戻された場合、このポートは他のどのポートもループをARBしていないということを知る。この場合、勝者側のポートは、フィルワードIDLEを送る。このフィルワードは、ループの他のポートが受け取ったとき、このポートがアクセスケーパビリティをTRUEに設定できるようにする。そして、これは、プライオリティが低い他のポートに自分の番がまわってこないため、前にループへのアクセスを禁じられていたポートが再度ループのコントロールをアービトレーションすることを可能にする。他方で勝者ポートがループをコントロールし、ARB(F0)フィルワードを送っているときにループへのアクセスを希望する他のペンディングデバイスが存在する場合、このポートはARB(F0)を破棄し、自分のポートアドレスに置き換える。コントロール側のポートはARB(y)が返るのを知っているためリセットIDLEワードを送らないが、ARB(F0)を送り続ける。コントロール側のポートがループを終えているとき、最高位のプライオリティのペンディングポートのARB(y)が通過するのを可能にし、ARB(y)が戻ったとき「y」ポートはループをコントロールすることができる。
5.9.1 シングルループスイッチフェアネス
スイッチングまたはセグメント化オペレーションを説明しているセクションで取り上げたように、ループレベルでのポートフェアネスを確立するためにIDLEはARBffによって置き換えられる。しかし、これは3つのIDLEがARBff置換の前に通ることは許されないという点で、標準的なARBff置換の場合とは異なる。ループスイッチポートでのアイドルブロッキングは、ループの各ノードデバイスがループのコントロールを取得するチャンスを持ち、アクセスウィンドウは直ちにリセットされないことを保証する。ループスイッチは最初にビジーポートのデバイスがルータを通して他の接続を初期化する前に他のポートが以前にビジーであったポートに接続するのを許可する。アイドルブロッキングオペレーションは、ブロッキングALPAレジスタへのレジスタ書込みを通して修正できる。その結果、ARBffの使用に関連した相互運用性問題が存在する場合に0xFF以外のALPAが使用される。
5.9.2 フェアネスへのマルチループスイッチシステムの影響
先のパラグラフで説明されたプライオリティ順番制はシングルループスイッチシステムではかなりうまくいくが、マルチループスイッチシステムでは十分な公平性を提供できない。マルチループスイッチシステムは、ポートを「ツリー」として図16b、または「ストリング」として図16aカスケード構成することにより相互接続される。カスケードポートとして構成されているポートがデバイスとして構成されているポートからのペンディング要求と衝突するペンディング要求を有している場合、先着順の優先順位付けはシステムパフォーマンスにとって最良のソリューションではない。カスケードポートからのペンディングOPN要求は、少なくとも2つのループスイッチがすでに接続に関与していることを意味している。ローカルに接続されたデバイスからのペンディングOPNがすでに複数のループスイッチを通って伝播している接続を閉じることを許可すれば、システムパフォーマンスに悪影響を与えることになる。
ツリーカスケード 2番目に高いプライオリティ
デバイスポート 一番低いプライオリティ
同じタイプの2つのポートがアクセス要求衝突を有している場合、プライオリティ順番制は最初に受け取った接続要求が処理され、2番目に来た要求は閉じられる。
5.9.2.1 ストリングカスケードでのフェアネス
「ストリングカスケード」で相互接続されたスイッチのみから構成されている「バーチャル」アービトレート型ループはどのスイッチが相互接続のコントロール権を得るか決めるためにアービトレーションし、デバイスがインタースイッチカスケードループへのペンディングオープン要求アクセスを有していることを許可する。カスケードストリングの各スイッチはアービトレーションとデバイスフェアネスにファイバチャネルアービトレート型ループ標準に従って、バーチャルループのコントロールを得る。インタースイッチカスケードでのデバイスアクセスを決めるための前の方法は、利用可能なカスケードへのアクセスを決めるのに先着順とALPAプライオリティの組合わせを利用していた。このメカニズムは規模の大きいシステムでのフェアネスを保証せず、プライオリティの高いALPAデバイスがプライオリティの低いALPAデバイスを苦しめる(starve)のを可能にし、アクセス解決の先着順の部分での衝突によるデバイスオープン/クローズ(OPN−CLS)サイクルスラッシングを発生させる。非ファブリックスイッチング方式で複数のスイッチを接続するに際しての課題は、カスケードのすべてのスイッチの各デバイスが等しいアクセスを持つことを保証することである。
5.9.3 フェアネスに対する反復クロージャ影響
カスケードとフェアネスに関するセクションで前に説明したメカニズムにもかかわらず、システムは、特定のデバイスが反復してクローズダウンするアクセス衝突のパターンに入ることがある。この条件の簡単な説明を図18に示した。
5.10 ゾーニング
5.10.1 非重複ゾーニング
オペレーションのハブエミュレーションモードでもスイッチング(セグメント化)モードでも、各ポートは多数の可能性のある非重複ゾーンの1つに割り当てることができる。各ポートのゾーン割り当ては、特定のゾーン値を非重複ゾーンレジスタにプログラミングすることによって割り当てられる。あるゾーン内の各ポートのデバイスは、これらのデバイスのみが相互に対話でき、ループスイッチの他のすべてのポートから完全に孤立したループを形成するように接続される。データ転送も、ループ初期化活動も、完全に個別ゾーンに制限される。ループスイッチがシングルALPAマップをサポートするように設計されているため、ポートディスカバリは、非重複ゾーニングがオンのときのみゾーン0で有効である。非重複ゾーン情報は、シリアルEEPROMインタフェースを通じて取得される。
スイッチングオペレーションでは、重複ゾーンは、特定のソース/宛先ポート組み合わせを無効にすることによって構成できる。スイッチング(セグメント化)モードのループスイッチは、各ポートで個別ループセグメントに分割されるため、各ポートのデバイスはそれぞれ別のゾーンに位置する。通常、異なるポートのデバイスは、先に説明したプロセスを通じて相互に対話することができる。しかし、各ソースポートで、特定の宛先ポートへのアクセスを無効にし、ゾーン間分離能力を提供することができる。この無効化機能は、重複ゾーン宛先ポート無効化レジスタにソース/宛先ポート無効コントロールを書くことによって実行される。単独では、重複ハードゾーニングは、個別ループセグメントにループ初期化活動を隔離しない。そのためには、LIPアイソレーションが明示的に有効とされなければならない。
5.11 LIPアイソレーション
通常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はポートを離れる前にブロッキングされる。このモードがポートで活性化されるには、ルータでグローバルアイソレーションイネーブルビットが設定され、ポートアイソレーションがそのポートでイネーブルに設定されなければならない。ブロックされる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されるまで様々まである。
5.11.2.1 ルートブロッキンググループ
ループスイッチASICは、各デバイスのALPAを基にしてルートブロッキングを提供する複数のグループをサポートしている。各グループは、ループでの各ALPAに対応した126ビットの集合を含んでいる。ビットが「1」に設定されている場合、その関連デバイスはイネーブルが「1」に設定されているそのグループの他のデバイスと通信することができない。ルートブロッキングメカニズムは、カスケードホップに関係なく、ループスイッチASICを通る接続をカバーする。ルータルックアップ状態マシーンがOPNを受け取ると、各ルートブロッキンググループが解析され、接続がブロックされているかどうか判明する。接続がブロックされている場合、OPNが元のポートに戻され、元のデバイスに宛先ALPAはループ上にないことが明らかになる。半二重OPNは特殊な場合であり、ルートブロッキングはサポートされていない。ソースポートは、OPNフレームに含まれないため、ロジックはそのポートの存在するすべてのALPAを解析しなければならない。
5.11.2.2 LIPアイソレーションゾーングループ
ループスイッチASICは、16のLIPアイソレーションゾーンをサポートしている。16という数は実装値であり設計値でないことに注意しなければならない。
5.11.2.3 インタースイッチフレーム
ループスイッチASICは、システムのすべてのスイッチでLIPアイソレーションとルートブロッキングをサポートしている。(ステルスインタースイッチカスケードレジスタの非ゼロ値によって示される)複数のステルスモードスイッチがシステムに存在する場合、複数のスイッチでの同時LIPイベントの際にループをコントロールするスイッチを決めるためにアービトレーションのメカニズムが必要となる。さらに、コントロールが決められると、どのゾーンがLIPサイクルに関与するかを知らせるメカニズムが必要となる。ブロードキャスト、インタースイッチフレームは、両方のニーズをカバーする。また、ファームウェアがシステムの他のスイッチとインバンド通信するためのメカニズムを提供する汎用インタースイッチフレームがサポートされている。
5.11.2.3.1 LIPサイクルインタースイッチフレーム
LIPサイクルのインタースイッチフレームは、ほぼループ初期化フレームの一般フォーマットを基にしている。7つの32ビットワードはへッダを構成し、16バイトへ続くペイロードとCRCを伴う。このフレームは、下の図のフォーマットを有している。
5.11.2.3.2 汎用インタースイッチフレーム
汎用インタースイッチフレームは、へッダの1番目のワードと3番目のワードのマッチでデータフレームをキャプチャするループスイッチASICでユーザプログラム可能である。フレームは32バイトペイロードを持つ。ペイロードの先頭4バイトは、ループスイッチASICのシリアル番号でなければならず、それらが伝送インタースイッチフレームレジスタで読み込みアクセス可能であっても、ループスイッチASICによって自動的に挿入される。ペイロードの残りの28バイトはユーザにより定義される。
5.11.3 ステルスモードアイソレーション、シングルASIC、シングルLIPゾーンのデバイス、ルートブロッキングなし
下の表は、各デバイスのステルスアイソレーションの基本コントロールを示している。
5.11.4 ステルスモードアイソレーション、シングルASIC、マルチLIPゾーンのデバイス、ルートはブロックされない
下の表は、各デバイスのステルスアイソレーションの基本コントロールを示している。図21も参照。
5.11.5 ステルスモードアイソレーション、シングルASIC、マルチLIPゾーンのデバイス、ルートブロックあり
下の表は、各デバイスのステルスモードアイソレーションの基本コントロールを示している。図22も参照。
5.11.6 ステルススイッチアイソレーション、マルチASIC、マルチLIPゾーンのデバイス、ルートはブロック
下の表は、各デバイスのステルスアイソレーションの基本コントロールを示している。図23を参照。
5.11.7 ステルスモードアイソレーション、マルチASIC、マルチゾーン、接続でのHBA #1とHBA #2
下の表は、各デバイスのステルスアイソレーションの基本コントロールを示している。図23も参照。
5.11.8 ステルスモードアイソレーション、マルチASIC、マルチLIPゾーンのデバイス、同時LIP
下の表は、各デバイスのステルスモードアイソレーションの基本コントロールを示している。図24と図25も参照。
5.12 CPUポートインタフェース
5.12.1 CPUポートの説明と動作
ループスイッチがSBOD構成に含まれているときスイッチとRAIDコントローラのようなリモートファイバチャネルデバイスの間でインバンド通信が必要になることがある。cpu_portはファイバチャネルMACであり、エンコーダ/デコーダまたはリンクサイドはループスイッチクロスバースイッチに接続される。これは、追加ポート経由でアクセスされる。CPUポートは、ループスイッチポートにある他のデバイスのように見える。そこでは、23番目または追加のポートは、すべての他のポート機能と共に他のポートと同様にデバイス、ツリー、またはストリングであるように構成できる。
5.13 ポート管理機能
5.13.1 ポートコントロール
ポートコントロール機能は、ビーコニング、ポート挿入またはバイパスの強制、ポリシーの設定、順序集合をポートに伝送またはポートでの順序集合のキャプチャを含む。
5.13.2 ポートステータス
ポートステータス機能は、ポートベースでの順序集合検出能力ばかりでなく、ポート初期化状態、GBIC/SFPステータス、トランシーバ動作ステータスを含む。
5.13.3 順序集合定義
順序集合定義はポートディテクタレジスタで絶えず行われている。このレジスタは読み取り時またはポートコントロールレジスタのクリアステータスレジスタビットに書き込むことによってクリアされる。管理カードが検出サイクルを行うために、ディテクタレジスタをクリアし、一定時間待ってデータストリングをサンプリングし、ディテクタレジスタを読み込む。
5.13.4 ユーザマッチ機能
ユーザマッチ機能は、ループまたはポートで発生している出来事を検出するための別のメカニズムを提供する。ユーザマッチ機能は、特定の順序集合を検索し、事前定義済みのディテクタビットを持たない順序集合を検索し、検索基準にマッチする順序集合の数をカウントし、検索基準にマッチする順序集合をキャプチャする能力を含んでいる。
r_match_detect)とUnknown OS Detect(unk_os_detect)ビットが設定される。Match Otherビットが設定されているときmatch3xフラグは無視されることに注意しなければならない。
5.13.5 順序集合伝送
順序集合伝送は、順序集合を送る際に使用する方法を設定する、レジスタのコントロールビットと共に希望する順序集合をポートユーザ順序集合伝送レジスタに書き込むことによって行う。「S」ビットは所与の順序集合を連続して送るか、それとも1〜15回送るかを制御する(送信する順序集合の数のコントロールは、ポートコントロールレジスタ#2ビットを使用して行う)。「I」ビットは、順序集合を即座に送るか、それとも待ってフィルワードのみを置き換えるかを制御する。「M」ビットにより、ユーザはユーザ順序集合セットマッチレジスタを使用して受信データストリームで探す特定の順序集合を定義し、この順序集合をユーザ順序集合セット伝送レジスタで定義されている新しいもので置き換えることができる。「F」は、ユーザ順序集合セット伝送レジスタのデータフィールドを使わないがユーザ順序集合マッチレジスタにマッチする順序集合を探し、それを最新のフィルワードで置き換えるという点で、少し異なる動作をする。
5.13.6 GBIC/SFPステータスおよびコントロール
ポートステータスとコントロールレジスタは、管理カードがコントロールピンばかりでなくGBIC/SFPのステータスピンにアクセスできるようにする。ステータスは、レシーバ信号損失(RX_LOS)、トランスミッタ障害(TX_FAULT)、設置されているGBICまたはSFPのタイプを示すMod_Defピンを含む。GBIC/SFPのコントロール信号のみが伝送ディスエーブルピンである。
5.13.7 GBIC/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リードアドレスレジスタを修正してはならないことに注意すること。
5.13.8 エラーカウンタ
各ポートは、フレームCRCエラーとバッド伝送ワードカウンタを保持する。バッド伝送文字は、10b/18bデコードロジック内で検出される。バッド文字が40ビットワード内で検出される場合、カウンタは1だけインクリメントされる。ポートのレシーバで検出された各フレームのCRCが計算される。CRCは、それぞれのポートのレシーバにおいて、16ビットにて計算され、確証される。両方のカウンタはその最大値を継続して保持し、マイクロプロセッサからの読み取りによってクリアされる。CRCエラーの検出と共に、ループスイッチはCRCエラーALPAレジスタにエラーを有していた最後のフレームのS_IDの下位バイトを保存する。これを使用して、フレームのソースノードのALPAを決めることができる。この情報を使用して、障害のあるリンクが存在している場所を知ることができる。
5.13.9 ポートモニタリングモード
ルータロジックは、スイッチマトリクスコントロールレジスタというレジスタを有している。このレジスタにより、管理エンティティはポートをモニタリングポートして構成することができる。このモニタリングポートは、拡張ポートやモニタリングポート自身のレシーバを含め、どのポートのレシーバにでも接続することができる。このケーパビリティにより、特定のポートを、FCプロトコルアナライザを差し込めるアナライザポートとして取っておくことができる。管理カードは、アナライザをポートからポートへと「移動」して、何が起こっているのかを見つける。スイッチマトリクスコントロールレジスタがポートのコントロールを得ると、そのポートのバイパスLEDが点滅を始め手動コントロールを実行中であることを示すことに注意しなければならない。
5.13.10 ポート外部ループバック
ポートは、先に説明したように、ポートが自分をモニタしているモニタリングモードにすることもできる。この場合、ポートはポートで受け取ったものがトランスミッタに戻されるループバックモードで動作している。管理者は、このモードを使用してループに挿入する前にループスイッチへのリンクを検査することができる。ループバックモードのポートでは、ポートに接続されるループセグメントは、リンクが良好な場合ループ初期化を完了する。ループスイッチの診断では、管理者はループが動いていることを確認してからポートをループにつなぐことができる。
5.13.11 周波数チェック回路
周波数チェック回路は、伸縮性バッファ内に実装される。この回路は伸縮性バッファ内の挿入/削除の間の時間を知るのに使用されるワードカウンタである。カウンタは、上流ノードの周波数が高いか低いかを指定する上位ビット付きの16ビットである。16番目のビットの1は、上流ノード周波数が高いことを示し、ゼロは、上流ノード周波数が低いことを示す。他の15ビットは、挿入または削除間の周波数デルタをカウントする。およそ10,000十進数(十六進数では2710)より小さいカウント値は、指定の範囲(プラスまたはマイナス100PPM=200PPM)外の周波数デルタを示している。カウンタ値は、752.94マイクロ秒毎にプロセッサアクセスレジスタにロードさえ、再初期化されて新しいサンプリングを開始する。サンプリング期間は読み取り後の最初の挿入/削除で有効になり、2番目の挿入/で無効になる。
5.13.12 ポートオペレーションポリシー
ループスイッチASICは、特定の設置先で望ましい/望ましくない多数の自動機能を有している。このポリシーは、EEPROMポリシービットを通してロードされる。このため、ループスイッチのいくつかの機能は、管理オーバライドがビルトインされている。このオーバライドは、ポート構成レジスタに含まれている。管理ステーションは、このポリシーフラグの1つまたは複数を設定し、希望しない機能をポート毎に無効にすることができる。TINMANは例外であるが、すべてのポリシーは独立である。
5.13.13 ALPAからポートへのマップ
ループスイッチは、すべての既存のALPAをループスイッチのポートにマッピングするデバイスディスカバリプロセスを実行する。このマッピングは、管理エンティティがトポロジマップを作成するために使用するルータのポートALPAレジスタで利用可能である。
5.13.14 トラフィックパターン
トラフィックパターンは、各ポートにOPNポートビットマップレジスタを保持することによって決められる。2つのポートの間の接続が確立されると、OPNをソーシングするポートのレジスタは、宛先ポートに対応するビットを設定することによって更新される。さらに、各ポートは接続が確立されると宛先ALPAを保存する。ポートビットマップレジスタは、マイクロプロセッサからの読み込みによってクリアされる。
5.13.15 ポート/ループセグメント利用率測定
各ループスイッチのポートは、ポート利用の指標を提供するレジスタセットを有している。この測定は2つの方法のいずれかで行われる。ループスイッチモードでは、ポートを通るフレームデータの量が測定される。スイッチングモードでは、送信されるデータの数量には関係なくポートが接続に関与していた時間の割合が測定される。
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でレポートされる。この情報は、ポートがゾーンに分けられていて、ゾーンの各ループステートに関するレポートが必要とされる場合に提供される。
5.15.3 ループ初期化
ループスイッチは、ルータ構成レジスタに書き込むことによってループをリセットすることができる。これは、変更を見たことを保証するためにループスイッチ再構成が必要な場合に使用することができる。この機能は非オーバラップハードゾーンがハブエミュレーションモードで使われないとき、またLIPアイソレーションがスイッチング(セグメント化)モードで選択されていないときにのみ適用される。
5.16 FCポートインタフェース
5.16.1 GBIC/SFPピン
ループスイッチは、標準GBICとSFPのすべてのステータスピンとコントロールピンをサポートしている。これは、伝送ディエーブル、伝送障害、レシーバ信号喪失、mod_defピンを含む。ループスイッチは、この機能をサポートしているGBICまたはSFPのシリアルID EEPROMにアクセスする能力も提供する。
5.16.2 Lock−to−Reference
ループスイッチは、各内蔵トランシーバのLock−to−Reference信号を駆動する内部ロジックを有している。lock_to_refを要求する部分を使わなければならない場合、この信号を送り出すことができる。
5.17 システムインタフェース
システムインタフェースは、論理的に作成されたクロックとリセット信号を含む。ループスイッチは、1つの106.25 MHzシステムクロックを要求する。
5.18 マイクロプロセッサインタフェース
ループスイッチは、I2Cインタフェースまたは16に非多重化アドレスとデータライン、RD、WR、CSを持つパラレルインタフェースを通して直接アクセス可能である。
5.18.1 割込み信号
ループスイッチが管理エンティティを含む構成で動作している場合、ループスイッチは管理エンティティにとって関心がある様々な構成変更に割込みを発生する。この変更には、次のものが含まれる。
5.18.2 I2Cシリアルインタフェース
I2Cインタフェースを使用して、SOC422で展開されている回路を管理する。
5.18.3 パラレルプロセッサインタフェース
I2Cインタフェースの他に、ループスイッチは、16ビット非同期パラレルインタフェースを提供している。
5.19 シリアルEEPROMインタフェース
シリアルEEPROMを使用して、ループスイッチのリセット構成情報にパワーを保存する。内部状態マシーンは各リセット後に構成を読み、情報をループスイッチの様々なレジスタに保存する。外部EEPROM_presピンがロジックハイにプルされている場合、ASICは、いかなるEEPROMも存在しておらず、EEPROMローディングプロセスをスキップする。
6. Vixel SOC422ループスイッチのレジスタ定義
6.1 ルータレジスタ定義
コントローレジスタは、通常動作時に変更されるビットを含んでいる。このビットはループスイッチ/ルータ全体の動作に影響する。個別ポートはポートコントロールレジスタを通してコントロールされる。
6.1.3 ルータコントロールレジスタ#2
コントロールレジスタは、通常動作時に変更されるビットを含んでいる。このビットは、ループスイッチまたはルータ全体の動作に影響する。個別ポートはポートコントロールレジスタを通してコントロールされる。
6.1.4 リムーブコネクション/ペンディングOPNレジスタ
リムーブコネクションモードでは:
いずれかのビットが設定されると、その設定ビットに対応するポートの既存のスイッチング接続が取り除かれる。これは、2つの通信デバイスの間の通信を閉じるCLSが作成されない場合にデッドロック接続を切るのに便利である。このビットはセルフクリアである。ポート15〜0はリムーブ接続レジスタ#1のビット15〜0によってそれぞれコントロールされ、ポート21〜16はリムーブ接続レジスタ#2によってコントロールされる。注:レジスタ#1が最初に書き込まれ、次にレジスタ#2に書き込まなければならない。リムーブ接続レジスタ#2への書き込みが両方のレジスタでラッチされ、リムーブ接続がすべてのポートに同時に動作するようにする。
複数のポートが相互にペンディングOPNであるときロックアップ条件の原因となったペンディングOPNのみが取り除かれる。
このレジスタは、スイッチングモードのポート接続に対するストール閾値を含んでいる。このレジスタの値は、stall_detect割込みがポート割込みステータスレジスタでトリガーされる前にポートストールカウンタでカウントされなければならないタイマーチックの数の閾値として使用される。ストールカウンタの解像度は10ミリ秒である。
6.1.6 ルータローカルSEOC USERレジスタ
このレジスタは、SEOC交換シーケンス順序集合USER1とUSER2でペイロードとして伝送される情報を含んでいる。リモートループスイッチデバイスから受け取った情報は、個別ポートレベルで保存される。EEPROMが存在している場合、このデータはリセット時にEEPROMからロードされる。注:このレジスタにロードされるデータはニュートラルディスパリティでなければならない。そうでない場合、リンクは適切に動作しない。
6.1.7 RTR SWマトリクス構成レジスタ
このレジスタは、ルータスヌープポートの動作を構成し、データ速度を設定して離散入力データ速度選択を無効にする。
6.1.8 ポートアクティブステータスレジスタ
P_Activeレジスタは、ポートの0〜21と1CPU PORT(port22)のP_Active信号の現在の状態を示している。
6.1.9 スイッチマトリクスコントロールレジスタ
このレジスタは、ポートが自動モードで動いているか、それともモニタポートして構成されそのトランスミッタが他のポートのレシーバに接続されているかを示す20の8ビットフィールドを含んでいる。ポートがモニタリングモードにある場合、そのレシーバは他のポートがそのポートをモニタするように構成されていない場合、スイッチマトリクスからの接続は切れたままである。このモードを使って、アナライザが接続され、管理者を通して診断のために様々なポートに接続されるモニタポートとして1つまたは複数のポートを設定することができる。
このレジスタは、オペレーション時のスイッチマトリクスの構成を示している。各ポートの8ビット値は、muxがどのポートをモニタしているかを示している。ルータロジックmux(Port #32)はRTR SWマトリクス構成レジスタに位置している。
6.1.11 Rem_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
このレジスタは、指定の条件のリアルタイムスナップショットを提供する。ステータスレジスタクリアはこのコントロールレジスタをクリアしない。
6.1.16 ルータステータスレジスタ#2(ルータ割込みステータス)
このレジスタは、ループスイッチの状態の変更をレポートする。これは、ポート構成状態ばかりでなくループ状態も含まれる。このレジスタで設定されたどのビットも、割込みピンを表明させる。このレジスタは、ビット0、1、2、8を除き読み込み時にクリアされる。このビットは対応する割込みステータスレジスタでクリアされる必要がある。
6.1.17 ルータステータスレジスタ#3
このレジスタは、特定の条件のリアルタイムスナップショットを提供する。ステータスレジスタクリアは、このコントロールレジスタをクリアしない。
6.1.18 ルータステータスレジスタ#4
レジスタは、ある条件のリアルタイムスナップショットを提供する。ステータスレジスタクリアはこのコントロールレジスタをクリアしない。
6.1.19 ブロックALPA/ルータループアップカウンタレジスタ
このレジスタは、プログラム可能なアイドルブロッキングALPA値をループが立ち上がった回数と結合する。
このレジスタは、マイクロプロセッサが直接システムレベルLEDの状態をコントロールすることを可能にするLEDオーバライドを含む。各機能のオーバライドビットを設定すると、マイクロプロセッサはそのLEDをコントロールできるようになる。
このレジスタを使って、ルータ割込みステータスビットをマスクする。このレジスタのビットが1に設定されている場合、ルータステータスレジスタ#2の対応ビットが有効になりプロセッサへの割込みが作成される。
6.1.23 ポートフェアネスコントロールレジスタ
このレジスタは、ALPAとALPAがデータのシングルフレームも転送することなしにトランザクションを試みた回数を基にしてポートのプライオリティを変えるのに使用されるCLSカウンタのオペレーションをコントロールする。
このレジスタは、バリアブルプライオリティポートのデューティサイクルを設定する。ポートは、low_pulseデューティサイクルにポートタイプによって設定された通常のプライオリティを有する。high_pulseデューティサイクル時には、ポートのプライオリティが上がり、クローズダウンしデバイスに不足しないようにペンディングOPN要求を最小化する。注:ALPAベースのクローズカウンタを通常のオペレーションで使用することを推奨する。
このレジスタセットは、所与のポートのデバイスが他のポートデバイスにアクセスすることを防止するためのビットマップを定義している。各ポートに32ビットマップが定義される。各ポートビットマップのビット31〜0は、ぞれぞれポート31からポート0までを表している。適切なビットを設定してポートへのアクセスを無効にする(すなわちレジスタ0x80のヒット2とビット14を設定してポート0のポート2とポート14へのアクセスを防止する)。このレジスタはスイッチングモードでのみ使用される。注:ポート21以上のポートの参照は、将来の実装に任されている。
6.1.26 ルータオープンポートマップレジスタ
このレジスタは、指定のポートによってOPNされたポートの累積ビットマップを含んでいる。このレジスタは読み取り時にクリアされる。このレジスタはスイッチングモードでのみ使用される。
6.1.27 ルータALPAポートマップレジスタ
このレジスタセットは、各ALPAでのALPAからポートへのマップを含んでいる。ALPAは、ポートディスカバリ時に決められる。各ALPAのALPAからポートへのビットマップは、下のテーブルで定義されているとおりである。このレジスタは読み書き可能レジスタであるため、ポートディスカバリは、ポートディスカバリでASIC問題がある場合スイッチングモードに入る前にファームウェアによって実行することができる。
6.1.28 ルータALPAポジションマップ(LILPペイロード)レジスタ
このレジスタは、可能な各ALPAでのALPAからポートへのマップを含んでいる。このレジスタは、ポジションマッピングがサポートされている最近のループ初期化サイクルからのLILPフレームペイロードのスナップショットを含んでいる。
6.1.29 ルータシリアルEEPROMキャプチャレジスタ
このレジスタは、スタートアップ時のシリアルEEPROMからのグローバルコントロール読み取りをレポートする。この値は、デバッグやASICシミュレーションのためにマイクロプロセッサが読むこともできる。ポート固有の構成ビットは、適切なレジスタへのポートレジスタアクセスを通してアクセス可能である。
6.1.30 ループ初期化マスターWWNレジスタ
このレジスタは、最近のループ初期化サイクル時のLISMフレームから取得したWWNの値を含んでいる。ビット63〜48がレジスタ#1に、ビット47〜32がレジスタ#2に、ビット31〜16がレジスタ#3に、ビット15〜0がレジスタ#4に含まれている。
6.1.31 ソフトウェアオーバライドイニシエータビットマップ
この128ビットテーブルは、下の表に従って構成されている。ソフトウェアコントロールの下で、イニシエータは、以下で説明するハードウェアキャプチャイニシエータテーブルに加えたり、このテーブルから引いたりすることができる。このテーブルは、キャプチャされたイニシエータテーブルとXORされて、ハードウェアにループに存在するイニシエータを提供する。ハードウェアが要求されたOPN接続で2つのイニシエータを検出した場合、その接続はプライマリカスケードにルーティングされる。OPNのいずれかのALPAのみがイニシエータである場合、ハードウェアは、デフォルトで代替重複トランクルートが以下で説明するトランク分類レジスタで定義されていない場合、プライマリカスケードに接続をルーティングする。
6.1.32 キャプチャイニシエータビットマップ
このレジスタは、ソフトウェアオーバライドイニシエータビットマップで設定されているイニシエータとXORされたループで検出されたすべてのイニシエータのALPAを含んでいる。この128ビットテーブルは、以下の表のビットマッピングに従って構成されている。検出されたイニシエータのALPAは、テーブルに設定された対応ビットを持っている。LIPはテーブルをクリアしてループが初期化されるたびに有効なエントリがロードされようにする。ハードウェアイニシエータ検出機能がルータコントロールレジスタ#2で無効になっている場合、いかなるイニシエータも検出されない。先のイニシエータレジスタのソフトウェアオーバライドとのXORにより、ソフトウェアはイニシエータテーブルを定義するか、イニシエータのマスキングによって個別ALPAを上書きすることができる。
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要求を最小化するために存在している。
6.1.34 ラーンドイニシエータポートマップレジスタ
このレジスタセットは、可能な各イニシエータALPAでのALPAからポートへのマップを含んでいる。ALPAポートマッピングは、受け取ったOPNフレームをモニタし、イニシエータをソースとしてOPNのポート番号をテーブルにロードすることによって決められる。このテーブルは、輻輳を最小化するためにイニシエータへのトランザクションが最後のトランザクションでイニシエータが使ったパスを使用するようにするのに使用される。
6.1.35 宛先ALPAでのクローズカウントレジスタ
このレジスタの各ビットはポートに対応している。すなわちアドレス0x90はポート15:0を構成し、アドレス0x92ビット5:0はポート21:16を構成する。ビットが設定されている場合、OPNの宛先がインクリメントされるクローズカウンタを決める。注:明示的にポートフェアネスコントロールレジスタで無効になっていない場合、イニシエータは自動的にOPNの宛先を使って、インクリメントするクローズカウンタを決定するようにデフォルト設定されている。
6.1.36 Per ALPAオープンカウンタマックスレジスタ
Per ALPAオープンカウンタにより、OPNカウンタは、ALPA当りのユニークな最大クローズOPNカウント閾値によって各ALPAのOPN要求のプライオリティを上げることができる。閾値は、ALPA当り0x0から0x0fまでの値である。0x0の値は常にプライオリティを上げる。0xfの値はその特定のALPAのCLSカウンタオペレーションを無効にする。0x01の値は1回クローズの後にプライオリティを上げる。0x2の値は2回クローズの後にプライオリティを上げる。閾値は、順次増えるALPA順番でレジスタに4が割り当てられる。
6.1.37 ステルスアイソレーションコントロールレジスタ#1
ステルスアイソレーションコントロールレジスタ#1は、ポリシーの観点からオペレーションのステルスアイソレーションモードをコントロールする。このコントロールは、元の構成時に設定されるものであり、ノーマルオペレーションでは修正されないものである。
ステルスアイソレーションコントロールレジスタ#2は、外部マイクロプロセッサによるステルスループ初期化サイクルの対話式コントロールを可能にする。
このレジスタにより、マイクロプロセッサはOPN要求をホールドし、したがってトラフィックをブロックするメカニズムとして、ブロッキングARBをいずれかのポートでのフィルワードとすることができる。
このレジスタは、ステルスアイソレーションオペレーション関係のステータスビットを含んでいる。すべてのステータスビットは読み取り時にクリアされ、ステータスレジスタ#5割込みマスクレジスタを介してマスク可能である。ハイなアンマスクビットは割込みを作成し、ルータステータスレジスタ#2のStealth_Isolationステータスビットを設定する。
このレジスタは、ステルスアイソレーションオペレーション関係の、ステータスレジスタ#5のための、マスクビットを含んでいる。ハイなアンマスクビットは割込みを作成し、ルータステータスレジスタ#2のStealth_Isolationステータスビットを設定する。
6.1.42 ステルスタイムアウトレジスタ
これは、ステルス状態マシーンによって使用される2つのタイムアウトの最大値を登録する。
このレジスタは、伝送されるLIPインタースイッチフレームにロードされる10バイトのペイロードを含んでいる。通常のステルスLIPアイソレーションサイクル時に、このフレームは、各スイッチのルータを通して渡され、サイクルに関わるLIPアイソレーションゾーンを含むばかりでなく既存のループ初期化サイクルをどのスイッチがコントロールするかを決める。ASICは自動ステルスアイソレーションサイクル時に自動的にフレームをフォーマットする。対話式ステルスフレーム中に命令されるサイクルは、プロセッサによりこのレジスタに書き込まれるデータを使用する。フレームのペイロードのフォーマットを以下に示す。
この読取り専用リレジスタは、LIPインタースイッチフレームで受け取った10バイトのペイリードを含んでいる。ステルスLIPアイソレーションサイクル時に、サイクルに関与するLIPアイソレーションゾーンを含むばかりでなく既存のループ初期化サイクルをどのスイッチがコントロールするかを決めるために、このフレームを受け取る。
LIFAフレーム修正レジスタは、ステルスLIPアイソレーションサイクル時にLIFAフレームを修正するのに使用される値を保持する。ノーマルオペレーションでは、このレジスタはASICのハードウェアが各ALPAを表すビットをフォーマットしてマイクロプロセッサが読むのみである。dis_hw_LIFA_GENビットがステルスアイソレーションコントロールレジスタ#2で設定されている場合、このレジスタへの書き込みアクセスが有効になり、プロセッサがこのレジスタでの値の作成を担当する。
LIRPフレーム修正レジスタは、ステルスLIPアイソレーションサイクル時にLIRPフレームを修正するのに使用される値を保持する。ノーマルオペレーションでは、このレジスタはASICのハードウェアがカウンタとALPAリストをフォーマットしてマイクロプロセッサが読むのみである。ステルスアイソレーションコントロールレジスタ#2でdis_hw_LIRP_GENビットが設定されている場合、このレジスタへの書き込みアクセスが有効になり、プロセッサはこのレジスタでの値の作成を担当する。
ルートブロッキングレジスタは、OPN順序集合に含まれているALPAを使って様々なデバイスの間でアクセス特権を決めるのに使用される値を保持する。「1」をロケーションブロックに書くと、ALPAを持っているデバイスが、そのALPAがブロックされているデバイスと通信するのをブロックする。各ALPAは、下のテーブルで示されているように各グループでシングルビットによって表される。ここで、アドレスフィールドの「?」は、それぞれグループ0−7に対する8−Fの値である。注:未使用のビットは最下位を使っているLixAフレームとは異なり、各グループの最上位に置かれる。
6.1.49 ルートブロッキングレジスタ、グループ8からFまで
ルートブロッキングレジスタは、OPN順序集合に含まれているALPAを使って様々なデバイスの間でアクセス特権を決めるのに使用される値を保持する。「1」をロケーションブロックに書くと、ALPAを持っているデバイスが、そのALPAがブロックされているデバイスと通信するのをブロックする。各ALPAは、下のテーブルで示されているように各グループでシングルビットによって表される。ここで、アドレスフィールドの「?」は、それぞれグループ8−Fに対する8−Fの値である。注:未使用のビットは最下位を使っているLixAフレームとは異なり、各グループの最上位に置かれる。
このレジスタセットは、ASIC内でLIPアイソレーションゾーンを設定するビットマップを定義する。各ポートは関連の16ビットレジスタを持ち、そこではビット0はLIPアイソレーションゾーン0に、ビット1はゾーン1に対応している(以下同様)。
6.1.51 ステルスジェネリックインタースイッチフレームへッダレジスタ
このレジスタは、伝送されるジェネリックインタースイッチフレームにロードされるへッダの6ワードを含んでいる。さらに、へッダのワード0とワード3を使って、受け取ったジェネリックインタースイッチフレームを検出する。
6.1.52 ステルスジェネリックインタースイッチフレーム伝送ペイロードレジスタ
このレジスタは、伝送されるジェネリックインタースイッチフレームにロードされるペイロードを8ワード含んでいる。注:ペイロードワード0はブロードキャストフレームのローカルシリアル番号でなければならない。ローカルシリアル番号が使われない場合、フレームはマッチするシリアル番号を有するスイッチによってブロックされる。
6.1.53 ステルスジェネリックインタースイッチフレームペイロードレジスタ
このレジスタは、ジェネリックインタースイッチフレームで受け取ったペイロードを8ワード含んでいる。
6.2.1 ポート構成レジスタ
ポート構成レジスタビットは、設定されている動作モードやめったに変わらないコントロール信号を定義する。
このレジスタセットは、受け取ったデータストリームでポートが検索する順序集合を定義する。順序集合のペイロードバイトの各ビットは、個別のオフとマークできる。マッチするものが見つかったとき、ステータスレジスタのUSRマッチビットが設定される。
6.2.4 ポートユーザ順序集合伝送レジスタ
このレジスタセットは、ループで送られる任意の順序集合を定義する。アドレス0x0Cの下位8ビットは、K28.5後に伝送される2番目のバイトである。アドレス0x0Aは、3番目と4番目のバイトを含んでいる。このデータが適切に書き込まれるには、上位に先立ち下位レジスタが書き込まれなければならず、上位レジスタ書き込みは書き出されるデータでイネーブルビット(xmit_os_reg)が設定されていなければならない。
このレジスタは、ユーザ構成可能な10b符合化ワードを含んでいる。ポートユーザ順序集合伝送レジスタのxmit_bad_10b_onceまたはxmit_bad_10b_immビットの条件が満たされると、この符合化ワードは、ASICから伝送される。注:ASICは、ワードをチェックを実行しない。その使用は厳密に検査のためのみである。
このレジスタの上位8ビットは、このポートのP_INFO SEOC順序集合のペイロードデータを含んでいる。リセット時に、この値はポートを示すニュートラルディスパリティ値にロードされる。ニュートラルディスパリティ値は、ポート0では0x00で始まり、ポート1では0x01、ポート2では0x02、ポート3では0x04で始まる。
6.2.7 ポート割込みマスクレジスタ#1
このレジスタを使って、ポートエラーステータスレジスタ#1のポート割込みステータスビットをマスクする。このレジスタのビットが1に設定されている場合、ポート割込みステータスレジスタの対応ビットがイネーブルとなり、プロセッサに割込みを作成する。
6.2.8 ポート割込みマスクレジスタ#2
このレジスタを使って、ポートエラーステータスレジスタ#2のポート割込みステータスビットをマスクする。このレジスタのビットが1に設定されている場合、ポート割込みステータスレジスタの対応ビットがイネーブルとなり、プロセッサに割込みを作成する。
6.2.9 No Comma Timerレジスタ
アドレス0x1eに含まれる24ビット値とアドレス0x20の下位8ビットはOSエラーカウントレジスタのカウントと比較され、カウントが閾値を越えている場合、CPUに割込みが作成される。一定数の順序集合エラーが発生することが予想される。通常の動作条件の下では割込みはめったにトリガーされないような値に、閾値を設定しなければならない。
6.2.11 ポートコントロールレジスタ#2
ポートコントロール#2レジスタは、ノーマルオペレーション時に変更されるビットを含んでいる。
ストールカウンタレジスタは、ポートの接続がアクティブであったが、SOFまたはEOF順序集合も通らなかった時間を含んでいる。カウンタは、SOFまたはEOF順序集合を検出することにより、または0x0000のプロセッサ書き込みによってリセットされる。カウンタは、ストール閾値にターミナルカウントを持ち、ルータメモリマップスペースで設定される。ストール閾値に達すると、割込みが作成される。カウンタの解像度は10□sである。
6.2.13 ポートエラー/変更ステータスレジスタ#1
このレジスタは、ポートの構成におけるエラーや変更をレポートする。このレジスタの状態のいかなる変更もルータステータスレジスタ#2に割込みをもたらす。これにより、管理エンティティは、変更に関してルータステータスレジスタをポーリングし、その後当該ポートレジスタを読むことによって変更を知ることができる。このレジスタは読み取り時にクリアされる。
このレジスタは、ポートの構成におけるエラーや変更をレポートする。このレジスタの状態のいかなる変更もルータステータスレジスタ#2に割込みをもたらす。これにより、管理エンティティは、変更に関してルータステータスレジスタをポーリングし、その後当該ポートレジスタを読むことによって変更を知ることができる。このレジスタは読み取り時にクリアされる。
このレジスタは、ポートに特定の条件が発生したことを示すディテクタビットを含んでいる。このレジスタは読み取り時にクリアされるが、ポートコントロールレジスタにクリアディテクタレジスタビットを設定することによってもクリアすることができる。すべてのポートでこのレジスタを同時にクリアするには、ルータコントロールレジスタでクリアポートディテクタを設定する。このレジスタはセルフテスト時にデータパターンを渡すことによるリセット後にこのレジスタのビットが設定されることに注意しなければならない。セルフテストパターンは、ユーザマッチ(0xFFFE)を除きすべてのビットを設定するように設計されている。
このレジスタは、ポートに特定の条件が発生したことを示すディテクタビットを含んでいる。このレジスタは読み取り時にクリアされるが、ポートコントロールレジスタにクリアディテクタレジスタビットを設定することによってもクリアすることができる。すべてのポートでこのレジスタを同時にクリアするには、ルータコントロールレジスタでクリアポートディテクタを設定する。
この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 ポートキャプチャ順序集合レジスタ
このレジスタセットは、ユーザマッチビットが設定されているときに存在している順序集合を保存するのに使用される。このレジスタはクリアされその後設定されるユーザマッチイネーブルコントロールビットによってキャプチャのためのみ、再度有効になる。この機能を簡単なトリガーアナライザとして使用することができる。
6.2.24 無効OPN/ブロードキャスト(ARBx)ALPAキャプチャレジスタ
このレジスタは、CRCエラーを有した最後のフレームのALPAを含んでいる。ALPAは、フレームのSIDから得られる。SIDが壊れており、このALPAが正確でないこともありうることに注意しなければならない。MSBは、ALPAフィールドが更新されたかどうかを示している。レジスタが読まれると有効なビットがクリアされる。リセット後にこのレジスタはCRCエラーが発生しALPAをキャプチャしたことを示していることに注意しなければならない。これは、セルフテスト時に内部ループで送られたデータパターンの結果である。このレジスタの値は0x80D5である。
6.2.27 RXフレームカウントレジスタ
RXフレームカウントレジスタは、モニタされているRXリンクで見られたフレームの数をカウントするのに使用される16ビットカウンタである。このカウントは読み取り時にリセットされる。
6.2.28 ポート接続試行レジスタ
ARB接続要求により、このポートが接続を確立しようと試みた回数。カウントは最大値を継続して保持し読み取り時にクリアされる。この値はスイッチングモードでのみ有効である。
6.2.29 ポート接続延期レジスタ
このポートが接続を試みたがビジーポートによって先送りされた回数。カウントは最大カウントに固執し読み取り時にクリアされる。この値はスイッチングモードでのみ有効である。
6.2.30 ポートクロックデルタカウントタ
このレジスタは、伝送/受信クロックデルタカウンタの値を含んでいる。
6.2.31 Src/Dest ALPAレジスタ
ALPA有効ビットがポートエラー/変更ステータスレジスタ#2で設定されているとき、このレジスタはこのポートで受け取った最後のフレームのソースおよび宛先ALPAを含んでいる。各読み取りアクセス後にこのレジスタはクリアされる。
6.2.32 ポートALPAビットマップレジスタ
このレジスタは、最後のループ初期化サイクル時にこのポートで要求されたALPAのビットマップを含んでいる。
6.2.33 リモートSEOC P_INFOレジスタ
このレジスタは、検出時にリモートSEOC準拠デバイスから受け取ったP_INFO SEOC順序集合からのペイロードデータを含んでいる。いかなるデバイスも検出されなかった場合または非SEOC準拠デバイスが検出された場合、このレジスタはすべてゼロにリセットされる。
6.2.34リモートSEOC USERレジスタ
このレジスタは、検出時にリモートSEOC準拠デバイスから受け取ったUSER1およびUSER2 SEOC順序集合からのペイロードデータを含んでいる。いかなるデバイスも検出されなかった場合、また非SEOC準拠デバイスが検出された場合、このレジスタはすべてゼロにリセットされる。
6.2.35 GBIC/SFPリードアドレスレジスタ
このレジスタは、ループスイッチによって読み取られる、GBIC(またはSFP)のシリアルID EEPROMでの次の位置のアドレスを含んでいる。このレジスタはリセット時にゼロにリセットされ、GBIC/SFPへの読み取りが行われるたびにインクリメントされる。マイクロプロセッサは、ループスイッチが次の値を読むときにこのレジスタに新しい値を書き込み変更することができる。このレジスタはポートステータスレジスタ#2でシリアルRDYビットが設定されたときのみ変更されなければならない。GBIC/SFPアドレスは11ビット値である。レジスタのトップの5ビットは常に0である。
6.2.36 ポートオープンロックアップマックスカウントレジスタ
このレジスタのビット[7:0]は、ポートOPNロックアップウオッチドッグタイマーのタイムアウト値を設定する。8ビットフィールドはレジスタの下位半分にあり、40マイクロ秒の解像度を持っている。
6.2.37 GBIC/SFPシリアルIDデータレジスタ
このレジスタは、GBIC(またはSFP)のシリアルID EEPROMから読んだデータを含んでいる。リセット後に、ループスイッチはGBIC/SFPから先頭2バイトを読み(シリアルID GBICまたはSFPであると想定)、それをここに保存する。またループスイッチは、ポートステータスレジスタ#2にシリアルID Rdyビットを設定してデータがレディであることを示す。その後、マイクロプロセッサがこのデータを読むことができる。その際、ループスイッチは、自動的に進んでGBIC/SFPから次の2バイトを読む。ループスイッチは一度に1バイトEEPROMからデータを読み、読み取った最初のバイトはLSBに、次のバイトはこのレジスタのMSBに置かれる。
6.2.38 ミスマッチOPNのSRC/DEST ALPAレジスタ
このレジスタは、ソース、ビット[15:8]、宛先、ビット[7:0]、宛先IDが前に受け取ったOPNで宛先ALPAとマッチしないフレームの最後の検出と結び付けられたALPAを含んでいる。スイッチングモードでのみ有効であり、ハブエミュレーションモードではクリアされる。
6.2.39 OPNミスマッチ宛先IDレジスタ
このレジスタは、フレームのFCへッダからの宛先ID、ビット[7:0]、宛先IDが前に受け取ったOPNで宛先ALPAとマッチしないフレームの最後の検出と結び付けられたALPAを含んでいる。スイッチングモードでのみ有効であり、ハブエミュレーションモードではクリアされる。
6.2.40 未知のOPN/LostノードからのSRC/DEST ALPAレジスタ
レジスタは、ソース、ビット[7:0]、宛先、ビット[15:8]、未知のOPNまたは失われたノードエラーの最後の検出と結び付けられているALPAを含んでいる。このレジスタはスイッチングモードでのみ使われ、ハブエミュレーションモードではクリアされる。
6.2.41 その他のコントロールレジスタ
このレジスタの下位8ビットは、読み書き統計情報を収集するのに使用されるSCSI FCPフレームの宛先ALPAを決めるフィルタをコントロールする。0xffという値は、ポート統計全体のすべての宛先ALPAを有効にする。特定の宛先ALPAにより、ASICはその宛先ALPAのみの統計情報を追跡する。上位8ビットは、追跡されるFCPフレームのソースALPAを決める。上位8ビットの0xff値によって、すべてのソースALPAの追跡が有効となる。
6.2.43 SCSIリードIOカウンタ
このレジスタは、SCSI統計情報ALPAレジスタで設定されているソース/宛先ALPA基準にマッチするフレームのリードI/Oの数を追跡するリードカウンタのクリアを含んでいる。
6.2.44 SCSIライトIOカウンタ
このレジスタは、SCSI統計情報ALPAレジスタで設定されているソース/宛先ALPA基準にマッチするフレームのライトI/Oの数を追跡するリードカウンタのクリアを含んでいる。
6.2.45 SCSIリードバイトカウンタ
このレジスタは、SCSI統計情報ALPAレジスタで設定されているソース/宛先ALPA基準にマッチするフレームのリードバイトの数を追跡するリードカウンタのクリアを含んでいる。注:カウンタの正確な読み取りを保証するために、カウンタのビット47−16は、ビット15−0の読み取り時に一時ホールディングレジスタにロードされる(アドレス0x84)。一時ホールディングレジスタは、ライトバイトカウンタと共用されるため、両方のレジスタの上位2ワードへのアクセス時に注意しなければならない。
6.2.46 SCSIライトバイトカウンタ
このレジスタは、SCSI統計情報ALPAレジスタで設定されているソース/宛先ALPA基準にマッチするフレームからの読み取りバイト数を追跡するリードカウンタのクリアを含んでいる。注:カウンタの正確な読み取りを保証するために、カウンタのビット47−16は、ビット15−0の読み取り時に一時ホールディングレジスタにロードされる(アドレス0x8a)。一時ホールディングレジスタは、ライトバイトカウンタと共用されるため、両方のレジスタの上位2ワードへのアクセス時に注意しなければならない。
6.3 CPUポートレジスタ
6.3.2 割込みマスクレジスタ
6.3.3 コントロールレジスタ
DMA Reset(bit 6) 設定されていると、このビットはCPUポートモジュールを初期化する。リセットオペレーションを終了するには、このビットにゼロを書き込まなければならない。このビットはゼロにリセットされる。
10μs Reset(bit 22) このビットが設定されていると、10ミリ秒タイマーがゼロにリセットされる。このビットはゼロにリセットされ。
6.3.4 Xmt FIFOリードライトポインタレジスタ
6.3.5 Xmt FIFOデータレジスタ
6.3.6 Rcv DMAサービスタイマーレジスタ
6.3.7 Rcv FIFOリートライトポインタレジスタ
6.3.8 Rcv FIFOデータレジスタ
6.3.9 統計カウンタレジスタ
7. 信号の説明
下の表は、Vixel SOC422ループスイッチの信号を説明している。
Claims (8)
- 複数のファイバチャネルアービトレイテッドループデバイスを相互接続するシステムであって、
該システムは、
複数のファイバチャネルアービトレイテッドループポートであって、各ファイバチャネルアービトレイテッドループポートは、ポートロジックを含む、複数のファイバチャネルアービトレイテッドループポートと、
アクセスフェアネスアルゴリズムに加えて、異なるスイッチおよび異なるポートタイプに従って該複数のポートに異なるアクセス優先順位を割り当てることによって、単一のループスイッチシステムおよび複数のループスイッチシステムに対してフェアネスを実施するように、所定のループコントロール基準が実装されたロジックを含むルート決定装置であって、該フェアネスは、ループにアクセスすることを所望する各ポートに、該ループに対するフェアなアクセスが与えられることを可能にする、ルート決定装置と、
所定のファイバチャネルアービトレイテッドループプリミティブを受信したことに基づいて、該複数のファイバチャネルアービトレイテッドループポートに接続するように構成されたクロスバースイッチと
を備え、
第1のポートにおいて受信されたループ初期化プリミティブシーケンス(LIP)は、該複数のポートのうちの1つ以上のポートに選択的に伝達される、システム。 - 前記LIPは、LIPアイソレーションテーブルに基づいて選択的に伝達される、請求項1に記載の複数のファイバチャネルアービトレイテッドループデバイスを相互接続するシステム。
- 前記LIPアイソレーションテーブルは、アービトレート型物理アドレス(ALPA)アドレスのリストを含む、請求項2に記載の複数のファイバチャネルアービトレイテッドループデバイスを相互接続するシステム。
- 前記LIPアイソレーションテーブルは、特定のLIPゾーンを含む、請求項2に記載の複数のファイバチャネルアービトレイテッドループデバイスを相互接続するシステム。
- 前記LIPアイソレーションテーブルは、デバイスがLIPを受信することが可能であるか否かを示す情報を含む、請求項2に記載の複数のファイバチャネルアービトレイテッドループデバイスを相互接続するシステム。
- 前記LIPアイソレーションテーブルは、デバイスがLIPを生成することが可能であるか否かを示す情報を含む、請求項2に記載の複数のファイバチャネルアービトレイテッドループデバイスを相互接続するシステム。
- 複数のファイバチャネルアービトレイテッドループデバイスを相互接続する方法であって、
該方法は、
複数のファイバチャネルアービトレイテッドループポートに結合されたループスイッチを提供するステップであって、各ファイバチャネルアービトレイテッドループポートは、ポートロジックを含む、ステップと、
ルート決定装置において、ルートを決定するステップであって、該ルート決定装置は、アクセスフェアネスアルゴリズムに加えて、異なるスイッチおよび異なるポートタイプに従って該複数のポートに異なるアクセス優先順位を割り当てることによって、単一のループスイッチシステムおよび複数のループスイッチシステムに対してフェアネスを実施するように、所定のループコントロール基準が実装されたロジックを含み、該フェアネスは、ループにアクセスすることを所望する各ポートに、該ループに対するフェアなアクセスが与えられることを可能にする、ステップと、
所定のファイバチャネルアービトレイテッドループプリミティブを受信したことに基づいて、該複数のファイバチャネルアービトレイテッドループの間を接続するステップと
ループ初期化プリミティブシーケンス(LIP)が生成されたときに、所定のLIPブロッキングリストに基づいて、該LIPが所定のポート上でブロックされるかを決定するステップと
を包含する、方法。 - 前記LIPアイソレーションテーブルは、前記ルート決定装置内にある、請求項2に記載の複数のファイバチャネルアービトレイテッドループデバイスを相互接続するシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/616,866 US7397788B2 (en) | 2002-07-02 | 2003-07-10 | Methods and apparatus for device zoning in fibre channel arbitrated loop systems |
PCT/US2004/021983 WO2005008406A2 (en) | 2003-07-10 | 2004-07-09 | Methods and apparatus for device zoning in fibre channel arbitrated loop systems |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007529151A JP2007529151A (ja) | 2007-10-18 |
JP4642755B2 true JP4642755B2 (ja) | 2011-03-02 |
Family
ID=34079676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006518921A Expired - Fee Related JP4642755B2 (ja) | 2003-07-10 | 2004-07-09 | ファイバチャネルアービトレート型ループシステムにおけるデバイスアクセスフェアネスのための方法および装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7397788B2 (ja) |
EP (1) | EP1652035A4 (ja) |
JP (1) | JP4642755B2 (ja) |
WO (1) | WO2005008406A2 (ja) |
Families Citing this family (78)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5978379A (en) | 1997-01-23 | 1999-11-02 | Gadzoox Networks, Inc. | Fiber channel learning bridge, learning half bridge, and protocol |
US7430171B2 (en) | 1998-11-19 | 2008-09-30 | Broadcom Corporation | Fibre channel arbitrated loop bufferless switch circuitry to increase bandwidth without significant increase in cost |
US7239636B2 (en) | 2001-07-23 | 2007-07-03 | Broadcom Corporation | Multiple virtual channels for use in network devices |
GB0119070D0 (en) * | 2001-08-06 | 2001-09-26 | Ibm | Method and apparatus for managing a loop network |
US7295555B2 (en) | 2002-03-08 | 2007-11-13 | Broadcom Corporation | System and method for identifying upper layer protocol message boundaries |
US7664018B2 (en) * | 2002-07-02 | 2010-02-16 | Emulex Design & Manufacturing Corporation | Methods and apparatus for switching fibre channel arbitrated loop devices |
US7630300B2 (en) * | 2002-07-02 | 2009-12-08 | Emulex Design & Manufacturing Corporation | Methods and apparatus for trunking in fibre channel arbitrated loop systems |
US7660316B2 (en) * | 2002-07-02 | 2010-02-09 | Emulex Design & Manufacturing Corporation | Methods and apparatus for device access fairness in fibre channel arbitrated loop systems |
US7346701B2 (en) | 2002-08-30 | 2008-03-18 | Broadcom Corporation | System and method for TCP offload |
US7934021B2 (en) | 2002-08-29 | 2011-04-26 | Broadcom Corporation | System and method for network interfacing |
US7313623B2 (en) | 2002-08-30 | 2007-12-25 | Broadcom Corporation | System and method for TCP/IP offload independent of bandwidth delay product |
WO2004021626A2 (en) | 2002-08-30 | 2004-03-11 | Broadcom Corporation | System and method for handling out-of-order frames |
US8180928B2 (en) | 2002-08-30 | 2012-05-15 | Broadcom Corporation | Method and system for supporting read operations with CRC for iSCSI and iSCSI chimney |
US7397768B1 (en) | 2002-09-11 | 2008-07-08 | Qlogic, Corporation | Zone management in a multi-module fibre channel switch |
US6886141B1 (en) * | 2002-10-07 | 2005-04-26 | Qlogic Corporation | Method and system for reducing congestion in computer networks |
US7869553B1 (en) | 2003-01-21 | 2011-01-11 | Altera Corporation | Digital phase locked loop circuitry and methods |
US7138837B2 (en) * | 2003-01-21 | 2006-11-21 | Altera Corporation | Digital phase locked loop circuitry and methods |
US7471635B2 (en) * | 2003-07-16 | 2008-12-30 | Qlogic, Corporation | Method and apparatus for test pattern generation |
US7894348B2 (en) | 2003-07-21 | 2011-02-22 | Qlogic, Corporation | Method and system for congestion control in a fibre channel switch |
US7466700B2 (en) * | 2003-07-21 | 2008-12-16 | Qlogic, Corporation | LUN based hard zoning in fibre channel switches |
US7792115B2 (en) | 2003-07-21 | 2010-09-07 | Qlogic, Corporation | Method and system for routing and filtering network data packets in fibre channel systems |
US7558281B2 (en) * | 2003-07-21 | 2009-07-07 | Qlogic, Corporation | Method and system for configuring fibre channel ports |
US7447224B2 (en) * | 2003-07-21 | 2008-11-04 | Qlogic, Corporation | Method and system for routing fibre channel frames |
US7684401B2 (en) * | 2003-07-21 | 2010-03-23 | Qlogic, Corporation | Method and system for using extended fabric features with fibre channel switch elements |
US7646767B2 (en) | 2003-07-21 | 2010-01-12 | Qlogic, Corporation | Method and system for programmable data dependant network routing |
US7420982B2 (en) * | 2003-07-21 | 2008-09-02 | Qlogic, Corporation | Method and system for keeping a fibre channel arbitrated loop open during frame gaps |
US7406092B2 (en) | 2003-07-21 | 2008-07-29 | Qlogic, Corporation | Programmable pseudo virtual lanes for fibre channel systems |
US7477655B2 (en) | 2003-07-21 | 2009-01-13 | Qlogic, Corporation | Method and system for power control of fibre channel switches |
US7430175B2 (en) * | 2003-07-21 | 2008-09-30 | Qlogic, Corporation | Method and system for managing traffic in fibre channel systems |
US7930377B2 (en) | 2004-04-23 | 2011-04-19 | Qlogic, Corporation | Method and system for using boot servers in networks |
US7340167B2 (en) * | 2004-04-23 | 2008-03-04 | Qlogic, Corporation | Fibre channel transparent switch for mixed switch fabrics |
US7702405B2 (en) * | 2004-06-02 | 2010-04-20 | Standard Microsystems Corporation | System and method for transferring non-compliant packetized and streaming data into and from a multimedia device coupled to a network across which compliant data is sent |
US8295299B2 (en) | 2004-10-01 | 2012-10-23 | Qlogic, Corporation | High speed fibre channel switch element |
JP4164490B2 (ja) * | 2004-12-17 | 2008-10-15 | キヤノン株式会社 | 通信装置、プロファイル情報取得方法、及び、プログラム |
US7680232B2 (en) * | 2005-01-21 | 2010-03-16 | Altera Corporation | Method and apparatus for multi-mode clock data recovery |
US7839865B2 (en) * | 2005-01-26 | 2010-11-23 | Emulex Design & Manufacturing Corporation | Dynamically controlling fair access to a system packet interface attached switch enclosure |
US7813360B2 (en) * | 2005-01-26 | 2010-10-12 | Emulex Design & Manufacturing Corporation | Controlling device access fairness in switched fibre channel fabric loop attachment systems |
US7817661B1 (en) * | 2005-02-24 | 2010-10-19 | Marvell International Ltd. | Dual-media network interface that automatically disables inactive media |
US7668105B1 (en) * | 2006-02-02 | 2010-02-23 | Marvell Israel (M.I.S.L) Ltd. | System for testing and/or evaluating the performance of a network switching apparatus |
US7548560B1 (en) | 2006-02-27 | 2009-06-16 | Qlogic, Corporation | Method and system for checking frame-length in fibre channel frames |
US8687628B2 (en) * | 2006-03-16 | 2014-04-01 | Rockstar Consortium USLP | Scalable balanced switches |
US7953866B2 (en) | 2006-03-22 | 2011-05-31 | Mcdata Corporation | Protocols for connecting intelligent service modules in a storage area network |
US20070248111A1 (en) * | 2006-04-24 | 2007-10-25 | Shaw Mark E | System and method for clearing information in a stalled output queue of a crossbar |
US20070258380A1 (en) * | 2006-05-02 | 2007-11-08 | Mcdata Corporation | Fault detection, isolation and recovery for a switch system of a computer network |
US8122275B2 (en) * | 2006-08-24 | 2012-02-21 | Altera Corporation | Write-leveling implementation in programmable logic devices |
US7669001B1 (en) * | 2006-08-31 | 2010-02-23 | Qlogic, Corporation | Method and system for using application specific integrated circuits |
US8614954B2 (en) * | 2006-10-26 | 2013-12-24 | Hewlett-Packard Development Company, L.P. | Network path identification |
US20080168161A1 (en) * | 2007-01-10 | 2008-07-10 | International Business Machines Corporation | Systems and methods for managing faults within a high speed network employing wide ports |
US20080168302A1 (en) * | 2007-01-10 | 2008-07-10 | International Business Machines Corporation | Systems and methods for diagnosing faults in a multiple domain storage system |
US7769931B1 (en) * | 2007-02-15 | 2010-08-03 | Emc Corporation | Methods and systems for improved virtual data storage management |
US7925918B2 (en) * | 2007-02-27 | 2011-04-12 | International Business Machines Corporation | Rebuilding a failed disk in a disk array |
US20080267060A1 (en) * | 2007-04-26 | 2008-10-30 | International Business Machines Corporation | Method, system and computer program product for providing high speed fault tracing within a blade center system |
US7936767B2 (en) * | 2007-04-30 | 2011-05-03 | International Business Machines Corporation | Systems and methods for monitoring high speed network traffic via sequentially multiplexed data streams |
US20080270638A1 (en) * | 2007-04-30 | 2008-10-30 | International Business Machines Corporation | Systems and methods for monitoring high speed network traffic via simultaneously multiplexed data streams |
US8391300B1 (en) * | 2008-08-12 | 2013-03-05 | Qlogic, Corporation | Configurable switch element and methods thereof |
US7860113B2 (en) * | 2008-10-02 | 2010-12-28 | International Business Machines Corporation | Enforced routing in switch |
US8116330B2 (en) * | 2009-06-01 | 2012-02-14 | Lsi Corporation | Bridge apparatus and methods for coupling multiple non-fibre channel devices to a fibre channel arbitrated loop |
US8798456B2 (en) * | 2010-09-01 | 2014-08-05 | Brocade Communications Systems, Inc. | Diagnostic port for inter-switch link testing in electrical, optical and remote loopback modes |
EP2466486A1 (en) * | 2010-12-16 | 2012-06-20 | STMicroelectronics (Grenoble 2) SAS | An arrangement |
US9225808B1 (en) * | 2012-11-15 | 2015-12-29 | Qlogic, Corporation | Systems and methods for processing information by a network device |
US8989191B1 (en) * | 2012-11-15 | 2015-03-24 | Qlogic, Corporation | Systems and methods for hard zoning in networks |
US8971145B2 (en) * | 2013-02-28 | 2015-03-03 | Freescale Semiconductor, Inc. | Synchronous multiple port memory with asynchronous ports |
TWI525449B (zh) * | 2014-09-10 | 2016-03-11 | 緯創資通股份有限公司 | 伺服器控制方法及機架控制器 |
US10116493B2 (en) | 2014-11-21 | 2018-10-30 | Cisco Technology, Inc. | Recovering from virtual port channel peer failure |
JP6582922B2 (ja) * | 2015-11-26 | 2019-10-02 | 富士通株式会社 | グラフ処理プログラム、グラフ処理方法、および情報処理装置 |
US10333828B2 (en) | 2016-05-31 | 2019-06-25 | Cisco Technology, Inc. | Bidirectional multicasting over virtual port channel |
US11509501B2 (en) * | 2016-07-20 | 2022-11-22 | Cisco Technology, Inc. | Automatic port verification and policy application for rogue devices |
US10623166B2 (en) * | 2016-08-26 | 2020-04-14 | T-Mobile Usa, Inc. | Systems and methods for improved uptime for network devices |
US10193750B2 (en) | 2016-09-07 | 2019-01-29 | Cisco Technology, Inc. | Managing virtual port channel switch peers from software-defined network controller |
US10547509B2 (en) | 2017-06-19 | 2020-01-28 | Cisco Technology, Inc. | Validation of a virtual port channel (VPC) endpoint in the network fabric |
US10778561B2 (en) | 2017-09-08 | 2020-09-15 | Avago Technologies International Sales Pte. Limited | Diagnostic port for inter-switch and node link testing in electrical, optical and remote loopback modes |
CN108111354B (zh) * | 2017-12-28 | 2021-06-29 | 杭州迪普科技股份有限公司 | 一种框式设备端口状态标识设置方法及装置 |
US10523513B2 (en) * | 2018-04-30 | 2019-12-31 | Virtustream Ip Holding Company Llc | Automated configuration of switch zones in a switch fabric |
US10985943B1 (en) * | 2018-07-15 | 2021-04-20 | Concurrent Ventures | Hardware defined anything in a platform with swappable pods, message interface, sandboxes and memory superposition |
CN112147961A (zh) * | 2020-09-18 | 2020-12-29 | 中船邮轮科技发展有限公司 | 一种船用风机盘管集控系统 |
US11750457B2 (en) | 2021-07-28 | 2023-09-05 | Dell Products L.P. | Automated zoning set selection triggered by switch fabric notifications |
US20230089819A1 (en) * | 2021-09-22 | 2023-03-23 | Hewlett Packard Enterprise Development Lp | Source port-based identification of client role |
US11586356B1 (en) | 2021-09-27 | 2023-02-21 | Dell Products L.P. | Multi-path layer configured for detection and mitigation of link performance issues in a storage area network |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020196773A1 (en) * | 1997-02-18 | 2002-12-26 | Vixel Corporation | Methods and apparatus for fibre channel interconnection of private loop devices |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5535035A (en) | 1994-09-15 | 1996-07-09 | International Business Machines Corporation | Optical fiber ring communications system and communications method |
US5619497A (en) | 1994-12-22 | 1997-04-08 | Emc Corporation | Method and apparatus for reordering frames |
US5754549A (en) | 1995-12-05 | 1998-05-19 | International Business Machines Corporation | Inexpensive two-way communications switch |
US5751715A (en) | 1996-08-08 | 1998-05-12 | Gadzoox Microsystems, Inc. | Accelerator fiber channel hub and protocol |
US5991891A (en) | 1996-12-23 | 1999-11-23 | Lsi Logic Corporation | Method and apparatus for providing loop coherency |
US5978379A (en) | 1997-01-23 | 1999-11-02 | Gadzoox Networks, Inc. | Fiber channel learning bridge, learning half bridge, and protocol |
US6185203B1 (en) * | 1997-02-18 | 2001-02-06 | Vixel Corporation | Fibre channel switching fabric |
JP2001523861A (ja) | 1997-11-17 | 2001-11-27 | シーゲイト テクノロジー エルエルシー | フレーム受信のための方法及び専用のフレームバッファ |
US6324181B1 (en) | 1998-04-16 | 2001-11-27 | 3Com Corporation | Fibre channel switched arbitrated loop |
US6272131B1 (en) | 1998-06-11 | 2001-08-07 | Synchrodyne Networks, Inc. | Integrated data packet network using a common time reference |
US6396832B1 (en) * | 1998-09-04 | 2002-05-28 | 3Com Corporation | Method and apparatus for optimizing a switched arbitrated loop for maximum access fairness |
US6529963B1 (en) | 1998-12-29 | 2003-03-04 | Lsi Logic Corporation | Methods and apparatus for interconnecting independent fibre channel fabrics |
US6459701B1 (en) | 1999-08-06 | 2002-10-01 | Emulex Corporation | Variable access fairness in a fibre channel arbitrated loop |
IES20010395A2 (en) | 2000-07-26 | 2002-02-06 | Richmount Computers Ltd | Crosspoint switch for a fibre channel arbitrated loop |
US6975590B2 (en) | 2000-09-07 | 2005-12-13 | Eurologic Systems Limited | Fiber-channel arbitrated-loop split loop operation |
US6999460B1 (en) | 2000-10-16 | 2006-02-14 | Storage Technology Corporation | Arbitrated loop port switching |
US6915429B1 (en) | 2000-11-16 | 2005-07-05 | International Business Machines Corporation | System and method for fiber channel remote activation and enhanced security |
US6532212B1 (en) | 2001-09-25 | 2003-03-11 | Mcdata Corporation | Trunking inter-switch links |
AU2003220679A1 (en) | 2002-04-09 | 2003-10-27 | Next Generation Systems, Inc. | Systems and methods for providing qos environment ____________ |
US20040076428A1 (en) | 2002-05-20 | 2004-04-22 | The Boeing Company | Form existing fibers into a fibre channel-arbitrated loop |
-
2003
- 2003-07-10 US US10/616,866 patent/US7397788B2/en active Active
-
2004
- 2004-07-09 JP JP2006518921A patent/JP4642755B2/ja not_active Expired - Fee Related
- 2004-07-09 WO PCT/US2004/021983 patent/WO2005008406A2/en active Application Filing
- 2004-07-09 EP EP04777829A patent/EP1652035A4/en not_active Withdrawn
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020196773A1 (en) * | 1997-02-18 | 2002-12-26 | Vixel Corporation | Methods and apparatus for fibre channel interconnection of private loop devices |
Also Published As
Publication number | Publication date |
---|---|
EP1652035A2 (en) | 2006-05-03 |
WO2005008406A3 (en) | 2006-06-22 |
EP1652035A4 (en) | 2007-05-02 |
WO2005008406A2 (en) | 2005-01-27 |
JP2007529151A (ja) | 2007-10-18 |
US7397788B2 (en) | 2008-07-08 |
US20040085974A1 (en) | 2004-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4642755B2 (ja) | ファイバチャネルアービトレート型ループシステムにおけるデバイスアクセスフェアネスのための方法および装置 | |
JP5370973B2 (ja) | ファイバチャネルアービトレート型ループシステムにおけるデバイスアクセスフェアネスのための方法および装置 | |
JP4820752B2 (ja) | ファイバチャネルアービトレート型ループシステムにおけるデバイスアクセスフェアネスのための方法および装置 | |
JP4448515B2 (ja) | ファイバチャネルアービトレート型ループシステムにおけるデバイスアクセスフェアネスのための方法および装置 | |
US7664018B2 (en) | Methods and apparatus for switching fibre channel arbitrated loop devices | |
US7801117B2 (en) | Fibre channel switching fabric router | |
EP1199642B1 (en) | Method and apparatus of sharing an inter-chip bus for message passing and memory access |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100408 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100413 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100712 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100716 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100720 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100726 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101013 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20101118 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101201 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4642755 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131210 Year of fee payment: 3 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D02 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D04 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |