JP2005064901A - ファイバチャネル接続装置、ファイバチャネル接続装置によるファイバチャネル接続方法 - Google Patents

ファイバチャネル接続装置、ファイバチャネル接続装置によるファイバチャネル接続方法 Download PDF

Info

Publication number
JP2005064901A
JP2005064901A JP2003292959A JP2003292959A JP2005064901A JP 2005064901 A JP2005064901 A JP 2005064901A JP 2003292959 A JP2003292959 A JP 2003292959A JP 2003292959 A JP2003292959 A JP 2003292959A JP 2005064901 A JP2005064901 A JP 2005064901A
Authority
JP
Japan
Prior art keywords
fiber channel
frame
ordered set
ethernet
data
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.)
Pending
Application number
JP2003292959A
Other languages
English (en)
Inventor
Daisuke Kogasaki
大輔 戸ヶ崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2003292959A priority Critical patent/JP2005064901A/ja
Publication of JP2005064901A publication Critical patent/JP2005064901A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】ファイバチャネル装置間をイーサーネット網で接続する際、データ転送のオーバーヘッドを低減し、大容量のメモリを要することなくパケット喪失を検出する。
【解決手段】ファイバチャネル接続装置102は、ファイバチャネル装置101からFCフレームを受信した場合、FCフレームをセグメント化し、セグメント化したFCフレームの内容を示すセグメント情報ヘッダを付加して広域イーサーネット網103に送信し、オーダードセットを受信した場合、オーダードセットの内容を示すセグメント情報ヘッダを付加して広域イーサーネット網103に送信する。広域イーサーネット網103からセグメント化されたFCフレームを受信した場合、セグメント情報ヘッダの内容に基づきFCフレームをリアセンブルしてファイバチャネル装置101に送信し、オーダードセットを受信した場合、オーダードセットをそのままファイバチャネル装置101に送信する。
【選択図】図1

Description

本発明は、2以上のファイバチャネル装置間をイーサーネット網により接続するために、当該ファイバチャネル装置の1つである対向ファイバチャネル装置とイーサーネット網とに接続されたファイバチャネル接続装置およびその方法に関するものである。
昨今の企業では、Webベースのアプリケーションの利用増加により、必要とされるデータ量は増すばかりである。こうしたデータ量の増加は、ネットワークトラフィックだけでなく、企業内のデータベースに対しても大きな負荷となりつつある。
また、企業内のサーバのシステムダウンが即、企業の受注活動の停止につながりかねない。そのため、企業では、障害発生時においてもアプリケーションを継続して運用するために、ストレージ装置に保存されているデータベース内の重要な顧客情報、商取引情報を含むデータをバックアップすることが行われている。
最近、企業では、このようなデータバックアップに関し、障害に対する冗長性を高めるため、複数の拠点間を広域で接続し、データを共有するようになりつつある。
具体的には、FC(Fibre Channel:ファイバチャネル)インターフェースを備える各拠点のファイバチャネル装置間を専用線やATM(Asynchronous Transfer Mode)網により広域で接続することが行われている。例えば、ファイバチャネル装置間をATM網により接続する技術としては、特許文献1に開示されたものが挙げられる。
ファイバチャネルは、複数の伝送速度をサポートする高速データ伝送の技術標準であり、SCSI(Small Computer System Interface)をはじめとする複数プロトコルのマッピングを行うことができる。ファイバチャネルは、例えば、ANSI(American National Standard Institute)のX3T11等の標準規格により様々なデータ伝送方式が定められている。この規格には、FC−0からFC−4までの層が存在し、各層が独立して定義されている。また、ファイバチャネルは、ポイントツーポイント、アービトレイテッドトポロジー、スイッチングなどのトポロジーをサポートしていることが特徴である。
ファイバチャネルは、本来複数のプロトコルをサポートするデータ伝送方式であるが、ストレージアリアネットワーク(SAN:Storage Area Network)と呼ばれるストレージ用のネットワークとして使用されることが多い。
ファイバチャネル標準(FCS:Fibre Channel Standard)では、40ビット列の組み合わせに何らかの意味を持たせたものをオーダードセットと呼ぶ。オーダードセットの種類には、デリミタオーダードセット、プリミティブシグナルオーダードセット、プリミティブシーケンスオーダードセットがある。
デリミタオーダードセットは、FCフレームの区切りに用いられるオーダードセットであり、FCフレームの始まりにつけられるSOF(Start Of Frame)や、FCフレームの終わりにつけられるEOF(End Of Frame)などを含むオーダードセットである。
プリミティブシグナルオーダードセットは、フレームを受信したことを示すR_RDYや、リンクが使用可能な状態にあることを示すIdleなどを含むオーダードセットである。また、ループトポロジーにおけるアービトレーション(Arbitration)に必要なARBなどもプリミティブオーダードセットに含まれる。
プリミティブシーケンスオーダードセットは、リンクの確立手順、リンクの切断手順、ループの初期化手順に関するオーダードセットである。このオーダードセットは、ファイバチャネル装置のポートが状態遷移するときに連続的に発信される。
ファイバチャネルにおける伝送路のクレジット制御は、通信先のファイバチャネル装置における現在有効なバッファ数を計算するために用いられるアルゴリズムである(例えば、特許文献2,3参照)。このクレジット制御により通信先のファイバチャネル装置のバッファ状態を監視し、通信先のファイバチャネル装置にバッファオーバーフローなどが発生しないようにしている。
クレジット制御には、EE(End To End)クレジットとBB(Buffer To Buffer)クレジットと呼ばれる2種類の制御方式があるが、以下、BBクレジットを例に挙げて簡潔に説明する。
ファイバチャネル装置では、通信先のファイバチャネル装置にデータを送信するたびにBBクレジットを+1カウントアップし、通信先のファイバチャネル装置からR_RDYプリミティブを受信するたびにBBクレジットを−1カウントダウンする。このBBクレジット数が通信先のファイバチャネル装置における有効なバッファ数に対応するクレジット数に達すると、通信先のファイバチャネル装置には空きバッファがないと判断し、データの送信を停止する。
なお、ファイバチャネル装置は、バッファ数に応じて伝送効率が決定される。そのため、長距離でデータ伝送を行うことを想定しているファイバチャネル装置は、一般にバッファ数が十分に大きなものとなっている。
特開平10−257104 特開平10−276240 特開2002−223244
ところで、最近は、社内、構内で一般に使用されていたイーサーネット(Ethernet)網によりファイバチャネル装置間を広域で接続することが行われるようになっている。ファイバチャネル装置間をイーサーネット網により接続する方式は、従来の専用線やATM網を用いた方式と比較して、一般的に導入コストが低いこと、すでに社内、構内で利用されていたLAN(Local Area Network)機器をそのまま利用することができること等の利点がある。
これまで、ファイバチャネル装置間をイーサーネット網により広域で接続する方式としては、波長多重装置(WDM:Wavelength Division Multiplexing)を用いてファイバチャネル装置間をトランスペアレントに接続する方式や、SONET/SDH(Synchronous Optical NETwork/Synchronous Digital Hierarchy)にファイバチャネル信号をマッピングする方式を用いることが多かった。
これらの方式を用いれば、ファイバチャネル装置間をイーサーネット網により接続することができるものの、運用コストが高価であったため、これらの方式は限られた一部の企業などで利用されるに留まっている。また、波長多重装置は、ファイバチャネル装置間をポイントツーポイントに接続することが可能であるが、光インタフェースをトランスペアレントに接続するのみであり、BBクレジットのようなフロー制御機構を持たないため、ファイバチャネル装置間を長距離で接続する場合にはスループットが低下するおそれがある。
また、ファイバチャネル装置間をイーサーネット網により広域で接続するその他の方式としては、ファイバチャネル信号をTCP/IP(Transmission Control Protocol/Internet Protocol)によりカプセル化して転送するFCIP(Fibre Channel Internet Protocol)と呼ばれる方式がIETF(Internet Engineering Task Force)のIPストレージ・ワーキング・グループ(IP Storage Working Group)により検討されている。このFCIP方式は、ファイバチャネル信号をTCP/IPにカプセル化してIP網上に転送し、TCPによりパケット喪失の検出制御や再送・ウィンドウ制御を行う方式である。
しかしながら、FCIP方式においては、TCPがパケット喪失の検出制御や再送・ウィンドウ制御を行うために大容量のメモリを必要とするという問題や、ファイバチャネル信号のカプセル化によりオーバーヘッドが大きくなるという問題がある。
本発明の目的は、ファイバチャネル装置間をイーサーネット網により接続するに際し、データ転送のためのオーバーヘッドを低減することができるとともに、大容量のメモリを必要とすることなくパケットの喪失を検出することができるファイバチャネル接続装置、ファイバチャネル接続装置によるファイバチャネル接続方法を提供することにある。
上記目的を達成するために本発明のファイバチャネル接続装置は、2以上のファイバチャネル装置間をイーサーネット網により接続するために、当該ファイバチャネル装置の1つである対向ファイバチャネル装置と前記イーサーネット網とに接続されたファイバチャネル接続装置において、前記対向ファイバチャネル装置からデータを受信し、受信したデータをファイバチャネルフレームとオーダードセットとに区別して出力するファイバチャネル受信手段と、前記ファイバチャネル受信手段から出力されたファイバチャネルフレームをセグメント化し、セグメント化したファイバチャネルフレームのそれぞれに、当該ファイバチャネルフレームに関する情報を含むセグメント情報ヘッダを付加して出力するファイバチャネルセグメント手段と、前記ファイバチャネル受信手段から出力されたオーダードセットに、当該オーダードセットに関する情報を含むセグメント情報ヘッダを付加して出力するオーダードセット処理手段と、前記ファイバチャネルセグメント手段または前記オーダードセット処理手段から出力された、セグメント化されたファイバチャネルフレームまたはオーダードセットを、イーサーネットフレームとして前記イーサーネット網に送信するイーサーネットフレーム送信手段と、を有することを特徴としている。
さらに、前記イーサーネット網からイーサーネットフレームを受信し、受信したイーサーネットフレームからデータを取り出して出力するイーサーネットフレーム受信手段と、前記イーサーネットフレーム受信手段から出力されたデータに付加されている前記セグメント情報ヘッダの内容に基づいて当該データがセグメント化されたファイバチャネルフレームであるか、オーダードセットであるかを識別し、当該データがセグメント化されたファイバチャネルフレームである場合に、当該ファイバチャネルフレームに付加されている前記セグメント情報ヘッダの内容に基づいて当該ファイバチャネルフレームをリアセンブルして出力し、当該データがオーダードセットである場合には当該オーダードセットをそのまま出力するファイバチャネルリアセンブル手段と、前記ファイバチャネルリアセンブル手段から出力された、リアセンブルされたファイバチャネルフレームまたはリアセンブルされていないオーダードセットを、前記対向ファイバチャネル装置に送信するファイバチャネル送信手段と、をさらに有することを特徴としている。
この構成によれば、ファイバチャネルフレームおよびオーダードセットを区別して、セグメント情報ヘッダを付加する処理を行った上で、イーサーネット網に転送しているため、従来技術のようにTCP/IPによる制御を行う方式と比較して、セグメント化したファイバチャネルフレームのデータ構造を非常に単純なものとすることができ、それにより、データ転送のためのオーバーヘッドを低減することができる。
より具体的には、前記ファイバチャネルセグメント手段は、前記セグメント情報ヘッダ内のデータ識別フィールドに、当該セグメント情報ヘッダが付加されているデータがファイバチャネルフレームである旨を書き込み、前記オーダードセット処理手段は、前記セグメント情報ヘッダ内のデータ識別フィールドに、当該セグメント情報ヘッダが付加されているデータがオーダードセットである旨を書き込み、前記ファイバチャネルリアセンブル手段は、前記イーサーネットフレーム受信手段から出力されたデータに付加されている前記セグメント情報ヘッダ内の前記データ識別フィールドの内容に基づいて、前記イーサーネットフレーム受信手段から出力されたデータがファイバチャネルフレームであるか、オーダードセットであるかを識別することとしても良い。
この構成によれば、イーサーネット網から受信したイーサーネットフレームに含まれるデータが、ファイバチャネルフレームであるか、オーダードセットであるかを容易に識別することができる。
また、前記ファイバチャネルセグメント手段は、前記セグメント情報ヘッダ内のランダム数値フィールドに、同一のファイバチャネルフレームからセグメント化されたファイバチャネルフレームに共通に割り当てた同一のランダム数値を書き込むとともに、前記セグメント情報ヘッダ内のシーケンスナンバーフィールドに、同一のファイバチャネルフレームからセグメント化されたファイバチャネルフレームに順番に割り当てたシーケンスナンバーを書き込み、前記ファイバチャネルリアセンブル手段は、前記イーサーネットフレーム受信手段から出力されたデータに付加されている前記セグメント情報ヘッダ内の前記ランダム数値フィールドおよび前記シーケンスナンバーフィールドの内容に基づいて、前記イーサーネット網内で、同一のファイバチャネルフレームからセグメント化されたファイバチャネルフレームの喪失または送信順序の入れ替えがあったかを判断することとしても良い。
この構成によれば、TCP/IPによる制御を行わずとも、イーサーネット網内でファイバチャネルフレームの喪失または送信順序の入れ替えがあったかを容易に検出することができるため、ファイバチャネルフレームの喪失または送信順序を検出するために大容量のメモリを必要とすることがなくなる。
また、前記ファイバチャネルセグメント手段は、前記セグメント情報ヘッダ内のフレーム最終フィールドに、同一のファイバチャネルフレームからセグメント化されたファイバチャネルフレームが最終フレームである場合にはその旨を書き込み、前記ファイバチャネルリアセンブル手段は、前記イーサーネットフレーム受信手段から出力されたデータに付加されている前記セグメント情報ヘッダ内の前記フレーム最終フィールドの内容に基づいて、前記イーサーネットフレーム受信手段から出力されたファイバチャネルフレームが同一のファイバチャネルフレームからセグメント化された最終フレームであるかを判断することとしても良い。
この構成によれば、イーサーネット網から受信したイーサーネットフレームに含まれるファイバチャネルフレームが、同一のファイバチャネルフレームからセグメント化された最終フレームであるかを容易に識別することができる。
また、前記ファイバチャネルリアセンブル手段は、前記イーサーネット網内で、同一のファイバチャネルフレームからセグメント化されたファイバチャネルフレームの喪失または送信順序の入れ替えがなく、かつ、前記イーサーネットフレーム受信手段から出力されたファイバチャネルフレームが同一のファイバチャネルフレームからセグメント化された最終フレームであると判断した場合にのみ、同一のファイバチャネルフレームからセグメント化されたファイバチャネルフレームをリアセンブルすることとしても良い。
この構成によれば、イーサーネット網から、同一のファイバチャネルフレームからセグメント化された最終フレームを受信するまでに、セグメント化されたファイバチャネルフレームの喪失または送信順序の入れ替えがあった場合など、正確なリアセンブリが行えない状態でリアセンブルを行うことを回避することができる。
また、前記オーダードセット処理手段は、前記オーダードセットが特定のオーダードセットである場合には、前記ファイバチャネル受信手段にて当該特定のオーダードセットを所定個数連続して受信するまで内部に保持し、所定個数連続して受信した時点で所定個数分の当該特定のオーダードセットにセグメント情報ヘッダを付加して出力し、以降、当該特定のオーダードセットを連続して受信した場合は当該特定のオーダードセットを廃棄することとしても良い。なお、前記所定個数は、前記対向ファイバチャネル装置の通信先となるファイバチャネル装置が、前記特定のオーダードセットを受信したことを識別可能な数に設定されることが望ましい。
この構成によれば、イーサーネット網を介して通信先のファイバチャネル装置に対し、必要最低限の特定のオーダードセットのみを送信することにより、イーサーネット網の利用効率の向上を図ることができる。
また、前記ファイバチャネルセグメント手段は、前記ファイバチャネル受信手段から出力されたファイバチャネルフレームを内部に保持し、前記ファイバチャネル送信手段は、前記ファイバチャネルセグメント手段の内部に保持されているファイバチャネルフレームの数が一定数以上となった場合に、前記対向ファイバチャネル装置に対し、前記ファイバチャネルフレームの送信を停止するよう指示することとしても良い。
この構成によれば、ファイバチャネルフレームの保持数が増加することで、ファイバチャネルセグメント手段にオーバーフローが発生することを防止することができる。
また、前記ファイバチャネル送信手段は、前記対向ファイバチャネル装置にすでに送信している前記ファイバチャネルフレームの数が前記対向ファイバチャネル装置における有効なバッファ数を示すクレジット数に達した場合、当該対向ファイバチャネル装置への前記ファイバチャネルフレームの送信を停止することとしても良い。
この構成によれば、ファイバチャネルフレームの保持数が増加することで、対向ファイバチャネル装置にてバッファオーバーフローが発生することを防止することができる。
また、前記イーサーネット網との間で送受信されるポーズフレームの制御を行うポーズフレーム制御手段をさらに有し、前記ファイバチャネル送信手段は、前記対向ファイバチャネル装置にすでに送信している前記ファイバチャネルフレームの数が前記対向ファイバチャネル装置における前記クレジット数に達した場合、前記ポーズフレーム制御手段に対して前記ポーズフレームの送信要求を行い、前記ポーズフレーム制御手段は、前記ファイバチャネル送信手段からの前記ポーズフレームの送信要求を受けた場合、前記イーサーネットフレーム送信部に対し、前記ポーズフレームを前記イーサーネットフレームとして前記イーサーネット網に送信するよう指示することとしても良い。さらに、前記ポーズフレーム制御手段は、前記イーサーネットフレーム受信手段にて前記イーサーネット網から前記ポーズフレームを受信した場合、前記イーサーネットフレーム送信部に対し、前記イーサーネット網への前記イーサーネットフレームの送信を停止するよう指示することとしても良い。
この構成によれば、ファイバチャネルのクレジット制御とイーサーネットのポーズフレームによるフロー制御とを相互に関連させることができる。
本発明は以上説明したように構成されているため、以下に記載する効果を奏する。
ファイバチャネルフレームおよびオーダードセットを区別して、セグメント情報ヘッダを付加する処理を行った上で、イーサーネット網に転送することにより、従来技術のようにTCP/IPによる制御を行う方式と比較して、セグメント化したファイバチャネルフレームのデータ構造を非常に単純なものとすることができる。そのため、データ転送のためのオーバーヘッドを低減し、データ転送を効率的に行うことができる。
また、TCP/IPによる制御を行わずとも、セグメント化されたファイバチャネルフレームに割り当てたランダム数値およびシーケンスナンバーを用いてイーサーネット網内でファイバチャネルフレームの喪失または送信順序の入れ替えがあったかを検出することにより、大容量のメモリを必要とすることなく、より信頼線の高いデータ転送を行うことができる。特に複数のイーサーネットフレームを喪失した場合、シーケンスナンバーだけではファイバチャネルフレームの喪失または送信順序の入れ替えを検出することは困難であるが、シーケンスナンバーだけでなくランダム数値も用いているため、ファイバチャネルフレームの喪失または送信順序の入れ替えを容易に検出することができる。
また、特定のオーダードセットについては、対向ファイバチャネル装置の通信先における識別可能数のみをイーサーネット網へ送信し、以降、特定のオーダードセットを廃棄することにより、イーサーネット網の利用効率の向上を図ることができる。
また、ファイバチャネルフレームをイーサーネットフレームとして送受信するにも関わらず、クレジット制御を行うため、ファイバチャネル装置の処理速度よりも低速な転送速度、例えば、100Mbpsのイーサーネット網を用いた場合でもファイバチャネル装置間を接続することができる。
以下、発明を実施するための最良の形態について図面を参照して説明する。
図1は、本発明の一実施形態によるファイバチャネル接続装置が適用されるネットワーク構成の概略図であり、図2は、図1に示したネットワーク構成の典型的な応用例を示す図である。
図1に示すように、本発明のファイバチャネル接続装置102,104は、ファイバチャネル装置101,105間を広域イーサーネット網103により接続するためのゲートウェイとして適用される。ファイバチャネル接続装置102は、対向ファイバチャネル装置となるファイバチャネル装置101と広域イーサーネット網103とに接続されており、また、ファイバチャネル接続装置104は、対向ファイバチャネル装置となるファイバチャネル装置105と広域イーサーネット網103とに接続されている。
図1において、例えば、ファイバチャネル装置101からファイバチャネル装置105にFCフレームを送信する場合、ファイバチャネル接続装置102は、ファイバチャネル装置101から受信したFCフレームをセグメント化した後、イーサーネットデータフィールドに収容し、イーサーネットフレームとして広域イーサーネット網103に送信する。ファイバチャネル接続装置104は、広域イーサーネット網103から受信したイーサーネットフレームからFCフレームを取り出し、取り出したFCフレームをリアセンブリ(再組み立て)した後、ファイバチャネル装置105に送信する。なお、ファイバチャネル装置105からファイバチャネル装置101にFCフレームを送信する場合も上記と同様の動作が行われる。
図2に示すように、例えば、ファイバチャネル装置101は、クライアントサーバ101Aおよびファイバチャネルスイッチ101Bとして適用され、また、ファイバチャネル装置105は、ストレージ装置105Aおよびファイバチャネルスイッチ105Bとして適用される。なお、図2は、応用例であるため、例えばファイバチャネルスイッチ101B,105Bを設けないなど、これ以外の構成とすることも可能である。
以下、図1に示した本発明のファイバチャネル接続装置102,104の構成および動作について詳細に説明する。
ANSIの規格によると、FCフレームの最大値は2148バイトであり、IEEE(Institute of Electrical and Electronic Engineers)802.3によると、イーサーネットのデータフィールドの最大値は1500バイトである。したがって、FCフレームのサイズによっては、FCフレームをイーサーネットデータフィールドに収容することができない可能性がある。
そのため、ファイバチャネル接続装置102,104は、FCフレームのサイズによってはFCフレームをセグメント化し、イーサーネットデータフィールドに収容して広域イーサーネット網103に送信する。このとき、単純にFCフレームをセグメント化してしまうと、中継区間の広域イーサーネット網103内でイーサーネットフレームが喪失した場合、送信先のファイバチャネル接続装置にて正しくFCフレームをリアセンブリすることができない。また、イーサーネットにはフレームの送信順序を確認する手段がないため、中継区間の広域イーサーネット網103内でイーサーネットフレームの送信順序が入れ替わった場合、送信先のファイバチャネル接続装置にて送信順序どおりにFCフレームをリアセンブリすることができない。
そこで、ファイバチャネル接続装置102,104は、図3に示すように、同一FCフレームからセグメント化したセグメント化FCフレームのそれぞれの前に、次のようなフィールドを含むセグメント情報ヘッダを付加し、さらに、イーサーネットヘッダを付加したものを広域イーサーネット網103に送信することとしている。
以下、セグメント情報ヘッダに含まれる各フィールドについて説明する。
・ランダム数値フィールド
セグメント化されて送信されてきたセグメント化FCフレームが、同一のFCフレームからセグメント化されたものであることを確認するために使用するフィールドである。このフィールドのビット数は、同一FCフレームからセグメント化されていないセグメント化FCフレームに、同一のランダム数値が割り当てられる確率が十分に小さくなるように選択する。例えば、このフィールドを16ビットとすれば、同一FCフレームからセグメント化されていないセグメント化FCフレームに同一のランダム数値が割り当てられる確率は65536分の1となる。次に述べるシーケンスナンバーフィールドのみでは、広域イーサーネット網103内で複数のイーサーネットフレームが喪失した時に正確なリアセンブリが行えない。そのため、本発明ではランダム数値フィールドを使用する。
・シーケンスナンバーフィールド
イーサーネットフレームの送信順序を確認するために使用するフィールドである。同一FCフレームからセグメント化されたセグメント化FCフレームに対して順番にシーケンスナンバーが与えられる。そのため、シーケンスナンバーを参照すればFCフレームの喪失、送信順序の入れ替えの検出を行うことができる。なお、FCフレームのセグメント化が行われていない場合はシーケンスナンバーを0とする。
・データ識別フィールド
イーサーネットデータフィールドのセグメント情報ヘッダ以下に収容されているデータがオーダードセットなのか、FCフレームなのかを識別するフィールドである。なお、オーダードセットは固定長であるため、複数のオーダードセットがイーサーネットデータフィールドに収容されている場合、図4に示すとおり、複数のオーダードセットの先頭にのみセグメント情報ヘッダが付加される。この場合、セグメント情報ヘッダのデータ識別フィールドは以下にオーダードセットが収容されていることを示している。一方、FCフレームが短いために複数のFCフレームがイーサーネットデータフィールドに収容されている場合には、図5に示すとおり、FCフレームの前に必ずセグメント情報ヘッダが付加される。この場合、各々のセグメント情報ヘッダのデータ識別フィールドは以下にFCフレームが収容されていることを示している。
・フレーム最終フィールド
セグメント情報ヘッダ以下のFCフレームが、セグメント化FCフレームの最終フレームであることを示すフィールドである。最終フレームのフレーム最終フィールドは1とする。このフィールドが1であるセグメント化FCフレームを受信した時点で、FCフレームのリアセンブリが行われる。
図6は、図1に示した本発明のファイバチャネル接続装置102,104の構成を示す図である。
図6に示すように、ファイバチャネル接続装置102,104は、ファイバチャネル装置(ファイバチャネル装置101,105のいずれか)に接続されるFCインタフェース201,213と、FC受信部202と、FCセグメント部203と、オーダードセット処理部204と、データ受信メモリカウンタ205と、イーサーネットフレーム送信部206と、広域イーサーネット網103に接続されるイーサーネットインタフェース207,209と、ポーズフレーム制御部208と、イーサーネットフレーム受信部210と、FCリアセンブリ部211と、FC送信部212とを有している。
以下、図1に示したファイバチャネル接続装置102,104の動作について説明する。ここでは、ファイバチャネル接続装置102の動作について説明する。
まず、ファイバチャネル装置101からFCインタフェース201を介して受信したデータを、イーサーネットインタフェース207から送信する際の処理について説明する。
FC受信部202は、FCインタフェース201を介して受信したデータが、FCフレームであるかオーダードセットであるかを識別する。以降の処理は、FCインタフェース201を介して受信したデータの種類に応じて異なるため、それぞれの場合について説明する。
最初に、FCインタフェース201を介して受信したデータがFCフレームである場合の処理について説明する。
FC受信部202は、FCインタフェース201を介して受信したデータがFCフレームである場合、受信したFCフレームをFCセグメント部203に入力する。
次に、FCセグメント部203は、FCセグメント部203内の不図示のデータ受信メモリにFCフレームを一時的に格納するとともに、受信メモリカウンタ205を+1カウントアップする。このデータ受信メモリカウンタ205のカウント値は、FCセグメント部203内のデータ受信メモリに格納されているデータ量と連動している。
FC送信部212は、データ受信メモリカウンタ205のカウント値がFCセグメント部203内のデータ受信メモリのサイズの設定値(データを格納可能な上限値)に達したか否かを監視している。ここで、データ受信メモリカウンタ205のカウント値が上記設定値に達した場合、FC送信部212は、対向ファイバチャネル装置101へのR_RDYプリミティブの送信を停止し、対向ファイバチャネル装置101にFCフレームの送信を停止させる。一方、データ受信メモリカウンタ205のカウント値が上記設定値に達しなかった場合、FC送信部212は、FCインタフェース213から対向ファイバチャネル装置101へR_RDYプリミティブを送信する。
つまり、本実施形態では、ファイバチャネル装置101は、ファイバチャネル接続装置102におけるFCセグメント部203内のデータ受信メモリにオーバーフローが発生しないよう、BBクレジット制御によるファイバチャネル接続装置102のバッファサイズ監視を行っている。
なお、FCセグメント部203内のデータ受信メモリのサイズが小さい場合には長距離接続時の性能低下を起こす原因となるので、データ受信メモリは接続距離に応じて十分なサイズとする必要がある。このデータ受信メモリのサイズによる性能劣化の問題は既知のため、特に詳細を記述しない。
また、FCセグメント部203は、FC受信部202からFCフレームが入力された時点で、FCフレームを受信したことをオーダードセット処理部204に通知する。このときのオーダードセット処理部204の動作については後述する。
続いて、FCセグメント部203は、FCインタフェース201を介して受信したFCフレームのサイズに応じてセグメント化を行うか否かを判断する。このセグメント化を行うか否かの判断は以下のように行われる。
・FCインタフェース201を介して受信したFCフレームのサイズが、「(イーサーネットデータフィールドのサイズ)−(セグメント情報ヘッダのサイズ)」以下である場合、つまり、イーサーネットデータフィールドにFCフレームとセグメント情報ヘッダが収まる場合
この場合、FCセグメント部203は、FCフレームをセグメント化せずにイーサーネットデータフィールドに収容する。このとき、FCセグメント部203は、FCフレームの先頭にセグメント情報ヘッダを付加するが、FCフレームがひとつで完結していることを示すため、シーケンスナンバー0を書き込む。さらに、FCセグメント部203は、以下のイーサーネットデータフィールドにFCフレームが収容されている旨をデータ識別フィールドに書き込む。セグメント情報ヘッダが付加されたFCフレームは、イーサーネットフレーム送信部206でイーサーネットヘッダが付加され、イーサーネットフレームとしてイーサーネットインタフェース207から広域イーサーネット網103に送信される。また、イーサーネットフレーム送信部206は、FCフレームが収容されたイーサーネットフレームを広域イーサーネット網103に送信すると、受信メモリカウンタ205を−1カウントダウンする。
・FCインタフェース201を介して受信したFCフレームのサイズが、「(イーサーネットデータフィールドのサイズ)−(セグメント情報ヘッダのサイズ)」よりも大きい場合
この場合、FCセグメント部203は、FCフレームをセグメント化し、イーサーネットデータフィールドに収容する。セグメント化するFCフレームのサイズはユーザによる指定値としても良く、イーサーネットデータフィールドに収容できる最大値としても良い。このとき、FCセグメント部203は、セグメント化した先頭のFCフレームの前にセグメント情報ヘッダを付加し、以下のイーサーネットデータフィールドにFCフレームが収容されている旨をデータ識別フィールドに書き込むとともに、セグメント化されたFCフレームの先頭であることを示すシーケンスナンバー1を書き込む。さらに、FCセグメント部203は、ランダム数値を割り当て、セグメント情報ヘッダに書き込むとともに、このランダム数値を次のフレームのためにFCセグメント部203内で保持する。セグメント情報ヘッダが付加されたFCフレームは、イーサーネットフレーム送信部206でイーサーネットヘッダが付加され、イーサーネットフレームとしてイーサーネットインタフェース207から広域イーサーネット網103に送信される。
FCセグメント部203は、セグメント化された次のFCフレームをイーサーネットデータフィールドに収容する場合、上記と同様に、以下のイーサーネットデータフィールドにFCフレームが収容されている旨をデータ識別フィールドに書き込むとともに、次のセグメント化FCフレームのセグメント情報ヘッダにシーケンスナンバー2を書き込み、さらに、FCセグメント部203内に保持されていたランダム数値を書き込む。セグメント情報ヘッダが付加されたFCフレームは、上記と同様にイーサーネットフレーム送信部206により、イーサーネットインタフェース207から広域イーサーネット網103に送信される。
以降、FCセグメント部203は、セグメント化されたFCフレームが最終フレームとなるまで上記の処理を継続する。
FCセグメント部203は、セグメント化されたFCフレームが最終フレームとなった場合には、上記と同様に、以下にFCフレームが収容されている旨、シーケンスナンバーおよびランダム数値の書き込みを行うとともに、最終フレームであることを示すセグメント情報ヘッダ内のフレーム最終ビットを1にし、FCセグメント部203内に保持されていたランダム数値とシーケンスナンバーをクリアする。そして、セグメント化された最終FCフレームを収容したイーサーネットフレームが、イーサーネットフレーム送信部206によりイーサーネットインタフェース207から広域イーサーネット網103に送信された後、FCセグメント部203は、データ受信メモリカウンタ205を−1カウントダウンする。
次に、FCインタフェース201を介して受信したデータがオーダードセットである場合の処理について説明する。
ファイバチャネル装置101は、通常のFCフレームの送信に際しては、FC−PH(FC−PHysical and signaling interface)で規定されているとおり、R_RDYプリミティブに基づくBBクレジット制御により送信の可否を決定するが、オーダードセットの送信に際しては、R_RDYプリミティブとは無関係にオーダードセットの送信を行う。つまり、ファイバチャネル接続装置102は、ファイバチャネル装置101からのオーダードセット受信時にはR_RDYプリミティブをファイバチャネル装置101に返信しないので、ファイバチャネル装置101ではBBクレジット制御が行われず、それにより、送信先のファイバチャネル装置105にて容易にバッファオーバーフローを引き起こす原因となる。例えば、これはファイバチャネル装置105のデータ処理速度が2Gbpsであり、広域イーサーネット網103のデータ転送速度が100Mbpsである場合を想定すればよい。
そこで、ファイバチャネル接続装置102は、送信先のファイバチャネル装置105が、特定のオーダードセットを受信したことを認識できる数をN個とすると、ファイバチャネル装置101から特定のオーダードセットをN個以上連続して受信した場合、N個の特定のオーダードセットのみを広域イーサーネット網103に送信する。それにより、広域イーサーネット網103の利用効率を向上させることができる。
なお、特定のオーダードセットは1種類とは限らず、複数種類の場合も考えられる。そのため、ファイバチャネル接続装置102,104には、特定のオーダードセットが複数種である場合にも上記のような処理を可能とする機能を実装することが望ましい。また、オーダードセットに応じて識別可能数Nが異なることも考えられるので、識別可能数Nについてもオーダードセット毎に用意することが望ましい。
FC受信部202は、FCインタフェース201を介して受信したデータがオーダードセットである場合、受信したオーダードセットをオーダードセット処理部204に入力する。
オーダードセット処理部204は、図7のフローチャートに沿って処理を行う。
まず、オーダードセット処理部204は、今回受信されたデータがオーダードセットであり、そのオーダードセットがFC受信部202から入力されたか、または、今回受信されたデータがFCフレームであり、そのFCフレームの受信通知がFCセグメント部203から入力されたかを識別する(ステップ700)。その結果、オーダードセットである場合はステップ701へ遷移し、FCフレームである場合はステップ710へ遷移する。
オーダードセット処理部204は、ステップ700において、今回受信されたデータがオーダードセットであり、そのオーダードセットがFC受信部202から入力された場合、そのオーダードセットが、以降の処理の対象となる特定のオーダードセットの中の1つであるかを識別する(ステップ701)。その結果、特定のオーダードセットの1つである場合はステップ702へ遷移し、特定のオーダードセットでない場合はステップ709へ遷移する。
オーダードセット処理部204は、ステップ701において、今回受信されたオーダードセットが特定のオーダードセットであった場合、その特定のオーダードセットが前回のオーダードセット受信時に識別可能数Nに達し、イーサーネットフレームに収容されて広域イーサーネット網103に送信されたものであるか確認する(ステップ702)。これは、オーダードセット処理部204内に送信オーダードセット情報を記録・保持することとし、保持されている前回の送信オーダードセット情報との比較を行うことにより容易に確認することができる。その結果、今回受信された特定のオーダードセットが前回広域イーサーネット網103に送信されている場合は、今回受信した特定のオーダードセットを廃棄し、ステップ700へ戻って次のデータ受信を待ち、送信されていない場合は、ステップ703へ遷移する。
オーダードセット処理部204は、ステップ702において、今回受信された特定のオーダードセットが前回広域イーサーネット網103に送信されていない場合、今回受信した特定のオーダードセットの内容をオーダードセット処理部204内に保持するとともに、オーダードセット処理部204内の不図示のオーダードセットカウント部のカウント値を+1する(ステップ703)。
次に、オーダードセット処理部204は、オーダードセットカウント部のカウント値が2以上であるかを確認する(ステップ704)。その結果、カウント値が1以下である場合はステップ700へ戻り、2以上である場合はステップ705へ遷移する。
オーダードセット処理部204は、ステップ704において、カウント値が2以上であった場合、今回受信された特定のオーダードセットの内容とオーダードセット処理部204に保持されていた前回受信された特定のオーダードセットの内容とを比較する(ステップ705)。その結果、前回受信された特定のオーダードセットの内容と同じ場合はステップ706に遷移し、異なる場合はステップ708に遷移する。
オーダードセット処理部204は、ステップ705において、今回受信された特定のオーダードセットの内容が前回受信された特定のオーダードセットの内容と同じ場合は、オーダードセットカウント部のカウント値に基づき、オーダードセット処理部204内に保持されている、今回受信された特定のオーダードセットの個数が、ファイバチャネル装置105にて受信したことを識別可能な数Nに達したかを確認する(ステップ706)。その結果、識別可能数Nに達しない場合は、ステップ700へ戻って次のデータ受信を待ち、識別可能数Nに達した場合は、ステップ707に遷移する。
オーダードセット処理部204は、ステップ706において、オーダードセット処理部204内に保持されている、今回受信された特定のオーダードセットの個数が識別可能数Nに達した場合は、その特定のオーダードセットのN個分をイーサーネットデータフィールドに収容し、N個分の特定のオーダードセットの先頭にのみセグメント情報ヘッダを付加し、イーサーネットフレーム送信部206に出力する。セグメント情報ヘッダが付加された特定のオーダードセットは、イーサーネットフレーム送信部206でイーサーネットヘッダが付加され、イーサーネットフレームとしてイーサーネットインタフェース207から広域イーサーネット網103に送信される(ステップ707)。このとき、セグメント情報ヘッダ内のデータ識別フィールドには、以下のイーサーネットデータフィールドにオーダードセットが収容されている旨が書き込まれる。また、オーダードセット処理部204は、内部に保持されていたオーダードセットをクリアし、送信オーダードセット情報として内部に記録・保持する。さらに、オーダードセット処理部204は、オーダードセットカウント部のカウント値をクリアする。
オーダードセット処理部204は、ステップ705において、今回受信された特定のオーダードセットの内容が前回受信された特定のオーダードセットの内容と異なっていた場合は、内部に保持されていた特定のオーダードセット、つまり前回受信された特定のオーダードセットをイーサーネットデータフィールドに収容し、セグメント情報ヘッダを付加し、イーサーネットフレーム送信部206に出力する。セグメント情報ヘッダが付加された特定のオーダードセットは、上記と同様にイーサーネットフレーム送信部206により、イーサーネットインタフェース207から広域イーサーネット網103に送信される(ステップ708)。このとき、セグメント情報ヘッダ内のデータ識別フィールドには、以下のイーサーネットデータフィールドにオーダードセットが収容されている旨が書き込まれる。また、オーダードセット処理部204は、今回受信されたオーダードセットを保持するとともに、オーダードセットカウント部のカウント値をクリアする。
また、オーダードセット処理部204は、ステップ701において、今回受信されたオーダードセットが特定のオーダードセットでない場合は、そのオーダードセットをイーサーネットデータフィールドに収容し、セグメント情報ヘッダを付加し、イーサーネットフレーム送信部206に出力する。セグメント情報ヘッダが付加されたオーダードセットは、上記と同様にイーサーネットフレーム送信部206により、イーサーネットインタフェース207から広域イーサーネット網103に送信される(ステップ709)。このとき、セグメント情報ヘッダ内のデータ識別フィールドには、以下のイーサーネットデータフィールドにオーダードセットが収容されている旨が書き込まれる。
また、オーダードセット処理部204は、ステップ700において、今回受信されたデータがFCフレームであり、そのFCフレームの受信通知がFCセグメント部203から入力された場合は、内部に保持されていた特定のオーダードセットをイーサーネットデータフィールドに収容し、セグメント情報ヘッダを付加し、イーサーネットフレーム送信部206に出力する。セグメント情報ヘッダが付加された特定のオーダードセットは、上記と同様にイーサーネットフレーム送信部206により、イーサーネットインタフェース207から広域イーサーネット網103に送信される(ステップ710)。このとき、セグメント情報ヘッダ内のデータ識別フィールドには、以下のイーサーネットデータフィールドにオーダードセットが収容されている旨が書き込まれる。なお、イーサーネットフレーム送信部206では、オーダードセット処理部204から入力された特定のオーダードセットだけでなく、FCセグメント部203から入力されたFCフレームも、上述の処理にしたがってイーサーネットインタフェース207から送信する。オーダードセット処理部204は、この時点で送信オーダードセット情報とオーダードセットカウンタをクリアする。
つまり、オーダードセット処理部204は、特定のオーダードセットについては、送信先のファイバチャネル装置105における識別可能数N個を連続して受信するまで内部に保持し、連続してN個受信した時点で、N個の特定のオーダードセットをイーサーネットフレームに収容して送信する。その後、連続して同じオーダードセットが入力された場合はそのオーダードセットを廃棄処理する。また、識別可能数Nに達する前に異なるオーダードセットまたはFCフレームを受信した場合には、保持されていた特定のオーダードセットをイーサーネットフレームに収容して送信処理を行う。
続いて、イーサーネットインタフェース209を介して受信したデータを、FCインタフェース213から送信する際の処理について説明する。
イーサーネットフレーム受信部210は、イーサーネットインタフェース209を介して受信したイーサーネットフレームのデータフィールドからデータを取り出し、FCリアセンブリ部211へ出力する。
FCリアセンブリ部211は、イーサーネットフレーム受信部210から入力されたデータがFCフレームであるか、オーダードセットであるかを識別する。なお、FCリアセンブリ部211は、FCリアセンブリ部211に入力されたデータに付加されたセグメント情報ヘッダ内のデータ識別フィールドにより、当該データがFCフレームであるか、オーダードセットであるかを容易に識別することが可能である。以降の処理は、データの種類に応じて異なるため、それぞれの場合について説明する。
最初に、FCリアセンブリ部211に入力されたデータがFCフレームである場合の処理について説明する。以下では、FCリアセンブリ部211にn番目に入力されたセグメント化FCフレームをFn、そのセグメント化FCフレームFnのセグメント情報ヘッダ内のランダム数値をLn、シーケンスナンバーをMnとして説明する。
FCリアセンブリ部211は、イーサーネットフレーム受信部210から入力されたセグメント化FCフレームFnが、セグメント情報ヘッダによりセグメント化されたFCフレームの先頭であると判断した場合、つまりシーケンスナンバーMnが1であった場合には、セグメント情報ヘッダ内のランダム数値フィールドの値LnとシーケンスナンバーMnをFCリアセンブリ部211内に保持するとともに、次のイーサーネットフレーム受信部210からの入力があるまでセグメント化FCフレームFnをFCリアセンブリ部211に保持する。
FCリアセンブリ部211は、次のセグメント化FCフレームFn+1がイーサーネットフレーム受信部210から入力されると、セグメント情報ヘッダ内のランダム数値Ln+1を、前回保持したランダム数値Lnと比較する。
FCリアセンブリ部211は、イーサーネットフレーム受信部210から入力されたセグメント情報ヘッダのランダム数値Ln+1が保持していた値Lnと一致した場合、そのフレームは前回受信したFCフレームと同一フレームからセグメント化されたものと判断し、シーケンスナンバーMn+1を確認する。
FCリアセンブリ部211は、ランダム数値Ln+1=Ln、かつ、シーケンスナンバーMn+1が前回保持していた値Mn+1と一致した場合には、広域イーサーネット網103内でのフレームの喪失および送信順序の入れ替えがなかったものと判断し、セグメント化FCフレームFn+1を内部に保持する。
FCリアセンブリ部211は、広域イーサーネット網103内でのフレームの喪失および送信順序の入れ替えがなかったと判断した場合、続いて、セグメント情報ヘッダにより、セグメント化FCフレームFn+1がセグメント化されたFCフレームの最終フレームであるか判断する。ここで、セグメント情報ヘッダにより、セグメント化FCフレームFn+1がセグメント化されたFCフレームの最終フレームでないと判断した場合、つまりセグメント情報ヘッダ内のフレーム最終フィールドの値が1でない場合は、次のセグメント化FCフレーム受信を待つ。一方、セグメント情報ヘッダにより、セグメント化FCフレームFn+1がセグメント化されたFCフレームの最終フレームであると判断した場合、内部に保持されていたセグメント化FCフレームからFCフレームをリアセンブリ(再組み立て)した後、FC送信部212に送信する。FC送信部212では、FC送信部212内の不図示のBBクレジットカウンタを+1カウントアップする。
ここでFC送信部212がリアセンブリされたFCフレームをFCインタフェース213に送信処理する条件は、ファイバチャネル標準にしたがい、FC送信部212内のBBクレジットカウンタのカウント値がFCインタフェース213に接続された対向ファイバチャネル装置101が持つBBクレジット数(対向ファイバチャネル装置101における有効なバッファ数)に達していない場合のみである。また、FC送信部212内のBBクレジットカウンタは、FC受信部202がFCインタフェース212からR_RDYプリミティブを受信した時点でカウントダウンされる。
つまり、本実施形態では、上述のようにファイバチャネル装置101がファイバチャネル接続装置102のバッファサイズ監視を行うだけでなく、ファイバチャネル接続装置102も、ファイバチャネル装置101にバッファオーバーフローが発生しないようBBクレジット制御によるファイバチャネル装置101のバッファサイズ監視を行っている。
FCリアセンブリ部211は、ランダム数値Ln+1が保持していた値Lnと異なっていた場合には、今回受信したセグメント化FCフレームFn+1が前回受信したセグメント化FCフレームFnと同一のFCフレームからセグメント化されたものではないと判断し、前回受信したセグメント化FCフレームFnともども廃棄する。
また、FCリアセンブリ部211は、ランダム数値Ln+1が保持していた値Lnと同じであったとしても、シーケンスナンバーが連続しない場合、つまりMn+1≠Mn+1の場合には、広域イーサーネット網103内でイーサーネットフレームが喪失したと判断し、セグメント化FCフレームFn+1を前回受信したセグメント化FCフレームFnともども廃棄する。
ここで、IEEE802.3xで定義されているイーサーネットのポーズフレームとの関連について説明する。
IEEE802.3xでは、全二重リンクのフロー制御としてポーズフレームを利用したリンク制御を規定している。IEEE802.3xをサポートする装置は、ポーズフレームを受信すると、そのポーズフレームがフロー制御を行うための制御フレームであることを認識し、ポーズ処理を実行する。
具体的には、ファイバチャネル接続装置102は、広域イーサーネット網103からイーサーネットインタフェース209を介してイーサーネットフレーム受信部210にてポーズフレームを受信した場合、そのポーズフレームにより要求された送信中止時間だけ、広域イーサーネット網103へのイーサーネットフレームの送信を停止する。
ファイバチャネル接続装置102にてポーズフレームによるフロー制御を行う場合、FC送信部212がR_RDYプリミティブを対向ファイバチャネル装置101に送信する条件は、イーサーネットフレーム送信部206がセグメント化されたFCフレームの最終フレームをイーサーネットインタフェース207から広域イーサーネット網103に送信することである。そのため、ファイバチャネル接続装置102にてポーズフレームによるフロー制御が行われる場合においても、FCセグメント部203内のデータ受信メモリをオーバーフローさせる新たなFCフレームが対向ファイバチャネル装置101から受信されることはない。
なお、広域イーサーネット網103からイーサーネットフレーム受信部210でポーズフレームが受信された場合、そのポーズフレームはポーズフレーム制御部208に出力される。ポーズフレーム制御部208では、IEEE802.3xで規定された制御処理にしたがって、イーサーネットフレーム送信部206に対し、広域イーサーネット網103へのイーサーネットフレームの送信を停止するよう指示する。
さらに、FC送信部212からFCインタフェース213に対して送信されるFCフレームと、ポーズフレームとの関連について説明する。
通常のファイバチャネル標準にしたがえば、FC送信部212が対向ファイバチャネル装置101にFCフレームを送信する条件は、FC送信部212が送信したFCフレーム数が、対向ファイバチャネル装置101のクレジット数に達していないことである。つまり、対向ファイバチャネル装置101にすでに送信しているFCフレームが対向ファイバチャネル装置101の持つBBクレジット数に達した場合は、FC送信部212は、FC受信部202でR_RDYプリミティブを受信するまでFCフレームの送信を行わない。これはファイバチャネル標準に従った動作であるため、特に詳細を記述しない。
また、FC送信部212は、内部のBBクレジットカウンタのカウント値がFCインタフェース213に接続された対向ファイバチャネル装置101が持つBBクレジット数に達した場合、ファイバチャネル標準にしたがい、対向ファイバチャネル装置101へのFCフレームの送信を停止するだけでなく、ポーズフレーム制御部208に対してポーズフレーム送信を要求する。ポーズフレーム制御部208は、ポーズフレーム送信要求を受信すると、イーサーネットフレーム送信部206に対し、イーサーネットインタフェース207を介して広域イーサーネット網103にポーズフレームを送信するよう指示する。このとき、ポーズフレームは、FCフレームやオーダードセットと同様に、イーサーネットフレーム送信部206でイーサーネットヘッダが付加され、イーサーネットフレームとして広域イーサーネット網103に送信される。上記の動作により、ファイバチャネルのBBクレジット制御とイーサーネットのポーズフレームによるフロー制御とを相互に関連させることができる。
次に、FCリアセンブリ部211に入力されたデータがオーダードセットである場合の処理について説明する。
オーダードセットは、40ビット列の組み合わせに意味を持たせた固定長のデータであるため、複数のイーサーネットフレームからそれぞれ取り出したオーダードセットをリアセンブリする必要はない。
したがって、FCリアセンブリ部211は、オーダードセットを受信順序どおりにFC送信部212を介してFCインタフェース213に送信する。
なお、本発明においては、オーダードセットの転送方式をオーダードセット処理部204内の不図示のメモリの閾値に応じて変更しても良い。本実施形態では、オーダードセット処理部204内のメモリに保持されている特定のオーダードセットを認識可能数だけまとめて送信し、残りを廃棄していたが、例えば、オーダードセット処理部204内のメモリに保持されたオーダードセットのデータ量が決められた閾値を超えるまでは、受信したオーダードセットを全て送信するといった応用が考えられる。
本発明の一実施形態によるファイバチャネル接続装置が適用されるネットワーク構成の概略図である。 図1に示したネットワーク構成の典型的な応用例を示す図である。 本発明に係るイーサーネットフレームの構成を説明する図である。 本発明に係る、複数のオーダーセットを収容しているイーサーネットフレームの構成を説明する図である。 本発明に係る、複数のFCフレームを収容しているイーサーネットフレームの構成を説明する図である。 図1に示したファイバチャネル接続装置の構成を示す図である。 図6に示したオーダードセット処理部の動作を説明するフローチャートである。
符号の説明
101,105 ファイバチャネル装置
102,104 ファイバチャネル接続装置
103 広域イーサーネット網
201,213 FCインタフェース
202 FC受信部
203 FCセグメント部
204 オーダードセット処理部
205 データ受信メモリカウンタ
206 イーサーネットフレーム送信部
207,209 イーサーネットインタフェース
208 ポーズフレーム制御部
210 イーサーネットフレーム受信部
211 FCリアセンブリ部
212 FC送信部

Claims (24)

  1. 2以上のファイバチャネル装置間をイーサーネット網により接続するために、当該ファイバチャネル装置の1つである対向ファイバチャネル装置と前記イーサーネット網とに接続されたファイバチャネル接続装置において、
    前記対向ファイバチャネル装置からデータを受信し、受信したデータをファイバチャネルフレームとオーダードセットとに区別して出力するファイバチャネル受信手段と、
    前記ファイバチャネル受信手段から出力されたファイバチャネルフレームをセグメント化し、セグメント化したファイバチャネルフレームのそれぞれに、当該ファイバチャネルフレームに関する情報を含むセグメント情報ヘッダを付加して出力するファイバチャネルセグメント手段と、
    前記ファイバチャネル受信手段から出力されたオーダードセットに、当該オーダードセットに関する情報を含むセグメント情報ヘッダを付加して出力するオーダードセット処理手段と、
    前記ファイバチャネルセグメント手段または前記オーダードセット処理手段から出力された、セグメント化されたファイバチャネルフレームまたはオーダードセットを、イーサーネットフレームとして前記イーサーネット網に送信するイーサーネットフレーム送信手段と、を有するファイバチャネル接続装置。
  2. 前記イーサーネット網からイーサーネットフレームを受信し、受信したイーサーネットフレームからデータを取り出して出力するイーサーネットフレーム受信手段と、
    前記イーサーネットフレーム受信手段から出力されたデータに付加されている前記セグメント情報ヘッダの内容に基づいて当該データがセグメント化されたファイバチャネルフレームであるか、オーダードセットであるかを識別し、当該データがセグメント化されたファイバチャネルフレームである場合に、当該ファイバチャネルフレームに付加されている前記セグメント情報ヘッダの内容に基づいて当該ファイバチャネルフレームをリアセンブルして出力し、当該データがオーダードセットである場合には当該オーダードセットをそのまま出力するファイバチャネルリアセンブル手段と、
    前記ファイバチャネルリアセンブル手段から出力された、リアセンブルされたファイバチャネルフレームまたはリアセンブルされていないオーダードセットを、前記対向ファイバチャネル装置に送信するファイバチャネル送信手段と、をさらに有する請求項1に記載のファイバチャネル接続装置。
  3. 前記ファイバチャネルセグメント手段は、前記セグメント情報ヘッダ内のデータ識別フィールドに、当該セグメント情報ヘッダが付加されているデータがファイバチャネルフレームである旨を書き込み、
    前記オーダードセット処理手段は、前記セグメント情報ヘッダ内のデータ識別フィールドに、当該セグメント情報ヘッダが付加されているデータがオーダードセットである旨を書き込み、
    前記ファイバチャネルリアセンブル手段は、前記イーサーネットフレーム受信手段から出力されたデータに付加されている前記セグメント情報ヘッダ内の前記データ識別フィールドの内容に基づいて、前記イーサーネットフレーム受信手段から出力されたデータがファイバチャネルフレームであるか、オーダードセットであるかを識別する、請求項2に記載のファイバチャネル接続装置。
  4. 前記ファイバチャネルセグメント手段は、前記セグメント情報ヘッダ内のランダム数値フィールドに、同一のファイバチャネルフレームからセグメント化されたファイバチャネルフレームに共通に割り当てた同一のランダム数値を書き込むとともに、前記セグメント情報ヘッダ内のシーケンスナンバーフィールドに、同一のファイバチャネルフレームからセグメント化されたファイバチャネルフレームに順番に割り当てたシーケンスナンバーを書き込み、
    前記ファイバチャネルリアセンブル手段は、前記イーサーネットフレーム受信手段から出力されたデータに付加されている前記セグメント情報ヘッダ内の前記ランダム数値フィールドおよび前記シーケンスナンバーフィールドの内容に基づいて、前記イーサーネット網内で、同一のファイバチャネルフレームからセグメント化されたファイバチャネルフレームの喪失または送信順序の入れ替えがあったかを判断する、請求項2または3に記載のファイバチャネル接続装置。
  5. 前記ファイバチャネルセグメント手段は、前記セグメント情報ヘッダ内のフレーム最終フィールドに、同一のファイバチャネルフレームからセグメント化されたファイバチャネルフレームが最終フレームである場合にはその旨を書き込み、
    前記ファイバチャネルリアセンブル手段は、前記イーサーネットフレーム受信手段から出力されたデータに付加されている前記セグメント情報ヘッダ内の前記フレーム最終フィールドの内容に基づいて、前記イーサーネットフレーム受信手段から出力されたファイバチャネルフレームが同一のファイバチャネルフレームからセグメント化された最終フレームであるかを判断する、請求項4に記載のファイバチャネル接続装置。
  6. 前記ファイバチャネルリアセンブル手段は、前記イーサーネット網内で、同一のファイバチャネルフレームからセグメント化されたファイバチャネルフレームの喪失または送信順序の入れ替えがなく、かつ、前記イーサーネットフレーム受信手段から出力されたファイバチャネルフレームが同一のファイバチャネルフレームからセグメント化された最終フレームであると判断した場合にのみ、同一のファイバチャネルフレームからセグメント化されたファイバチャネルフレームをリアセンブルする、請求項5に記載のファイバチャネル接続装置。
  7. 前記オーダードセット処理手段は、前記オーダードセットが特定のオーダードセットである場合には、前記ファイバチャネル受信手段にて当該特定のオーダードセットを所定個数連続して受信するまで内部に保持し、所定個数連続して受信した時点で所定個数分の当該特定のオーダードセットにセグメント情報ヘッダを付加して出力し、以降、当該特定のオーダードセットを連続して受信した場合は当該特定のオーダードセットを廃棄する、請求項2から6のいずれか1項に記載のファイバチャネル接続装置。
  8. 前記所定個数は、前記対向ファイバチャネル装置の通信先となるファイバチャネル装置が、前記特定のオーダードセットを受信したことを識別可能な数に設定されている、請求項7に記載のファイバチャネル接続装置。
  9. 前記ファイバチャネルセグメント手段は、前記ファイバチャネル受信手段から出力されたファイバチャネルフレームを内部に保持し、
    前記ファイバチャネル送信手段は、前記ファイバチャネルセグメント手段の内部に保持されているファイバチャネルフレームの数が一定数以上となった場合に、前記対向ファイバチャネル装置に対し、前記ファイバチャネルフレームの送信を停止するよう指示する、請求項2から8のいずれか1項に記載のファイバチャネル接続装置。
  10. 前記ファイバチャネル送信手段は、前記対向ファイバチャネル装置にすでに送信している前記ファイバチャネルフレームの数が前記対向ファイバチャネル装置における有効なバッファ数を示すクレジット数に達した場合、当該対向ファイバチャネル装置への前記ファイバチャネルフレームの送信を停止する、請求項2から9のいずれか1項に記載のファイバチャネル接続装置。
  11. 前記イーサーネット網との間で送受信されるポーズフレームの制御を行うポーズフレーム制御手段をさらに有し、
    前記ファイバチャネル送信手段は、前記対向ファイバチャネル装置にすでに送信している前記ファイバチャネルフレームの数が前記対向ファイバチャネル装置における前記クレジット数に達した場合、前記ポーズフレーム制御手段に対して前記ポーズフレームの送信要求を行い、
    前記ポーズフレーム制御手段は、前記ファイバチャネル送信手段からの前記ポーズフレームの送信要求を受けた場合、前記イーサーネットフレーム送信部に対し、前記ポーズフレームを前記イーサーネットフレームとして前記イーサーネット網に送信するよう指示する、請求項10に記載のファイバチャネル接続装置。
  12. 前記ポーズフレーム制御手段は、前記イーサーネットフレーム受信手段にて前記イーサーネット網から前記ポーズフレームを受信した場合、前記イーサーネットフレーム送信部に対し、前記イーサーネット網への前記イーサーネットフレームの送信を停止するよう指示する、請求項11に記載のファイバチャネル接続装置。
  13. 2以上のファイバチャネル装置間をイーサーネット網により接続するために、当該ファイバチャネル装置の1つである対向ファイバチャネル装置と前記イーサーネット網とに接続されたファイバチャネル接続装置によるファイバチャネル接続方法において、
    前記対向ファイバチャネル装置からデータを受信した場合に、受信したデータがファイバチャネルフレームであるか、オーダードセットであるかを識別する第1のステップと、
    前記対向ファイバチャネル装置から受信したデータがファイバチャネルフレームである場合に、当該ファイバチャネルフレームをセグメント化し、セグメント化したファイバチャネルフレームのそれぞれに、当該ファイバチャネルフレームに関する情報を含むセグメント情報ヘッダを付加する第2のステップと、
    前記対向ファイバチャネル装置から受信したデータがオーダードセットである場合に、当該オーダードセットに、当該オーダードセットに関する情報を含むセグメント情報ヘッダを付加する第3のステップと、
    前記第1または第2のステップにて前記セグメント情報ヘッダが付加された、セグメント化されたファイバチャネルフレームまたはオーダードセットを、イーサーネットフレームとして前記イーサーネット網に送信する第4のステップと、を有するファイバチャネル接続方法。
  14. 前記イーサーネット網からイーサーネットフレームを受信した場合に、受信したイーサーネットフレームからデータを取り出し、取り出したデータに付加されている前記セグメント情報ヘッダの内容に基づいて当該データがセグメント化されたファイバチャネルフレームであるか、オーダードセットであるかを識別する第5のステップと、
    前記イーサーネット網から受信したデータがセグメント化されたファイバチャネルフレームである場合に、当該ファイバチャネルフレームに付加されている前記セグメント情報ヘッダの内容に基づいて当該ファイバチャネルフレームをリアセンブルする第6のステップと、
    前記第6のステップにてリアセンブルされたファイバチャネルフレーム、または前記第5のステップにて前記イーサーネット網から受信したリアセンブルされていないオーダードセットを、前記対向ファイバチャネル装置に送信する第7のステップと、をさらに有する請求項13に記載のファイバチャネル接続方法。
  15. 前記第2のステップでは、
    前記セグメント情報ヘッダ内のデータ識別フィールドに、当該セグメント情報ヘッダが付加されているデータがファイバチャネルフレームである旨を書き込み、
    前記第3のステップでは、
    前記セグメント情報ヘッダ内のデータ識別フィールドに、当該セグメント情報ヘッダが付加されているデータがオーダードセットである旨を書き込み、
    前記第5のステップでは、
    前記イーサーネット網から受信したデータに付加されている前記セグメント情報ヘッダ内の前記データ識別フィールドの内容に基づいて、前記イーサーネット網から受信したデータがファイバチャネルフレームであるか、オーダードセットであるかを識別する、請求項14に記載のファイバチャネル接続方法。
  16. 前記第2のステップでは、
    前記セグメント情報ヘッダ内のランダム数値フィールドに、同一のファイバチャネルフレームからセグメント化されたファイバチャネルフレームに共通に割り当てた同一のランダム数値を書き込むとともに、前記セグメント情報ヘッダ内のシーケンスナンバーフィールドに、同一のファイバチャネルフレームからセグメント化されたファイバチャネルフレームに順番に割り当てたシーケンスナンバーを書き込み、
    前記第6のステップでは、
    前記イーサーネット網から受信したデータに付加されている前記セグメント情報ヘッダ内の前記ランダム数値フィールドおよび前記シーケンスナンバーフィールドの内容に基づいて、前記イーサーネット網内で、同一のファイバチャネルフレームからセグメント化されたファイバチャネルフレームの喪失または送信順序の入れ替えがあったかを判断する、請求項14または15に記載のファイバチャネル接続方法。
  17. 前記第2のステップでは、
    前記セグメント情報ヘッダ内のフレーム最終フィールドに、同一のファイバチャネルフレームからセグメント化されたファイバチャネルフレームが最終フレームである場合にはその旨を書き込み、
    前記第6のステップでは、
    前記イーサーネット網から受信したデータに付加されている前記セグメント情報ヘッダ内の前記フレーム最終フィールドの内容に基づいて、前記イーサーネット網から受信したファイバチャネルフレームが同一のファイバチャネルフレームからセグメント化された最終フレームであるかを判断する、請求項16に記載のファイバチャネル接続方法。
  18. 前記第6のステップでは、
    前記イーサーネット網内で、同一のファイバチャネルフレームからセグメント化されたファイバチャネルフレームの喪失または送信順序の入れ替えがなく、かつ、前記イーサーネット網から受信したファイバチャネルフレームが同一のファイバチャネルフレームからセグメント化された最終フレームであると判断した場合にのみ、同一のファイバチャネルフレームからセグメント化されたファイバチャネルフレームをリアセンブルする、請求項17に記載のファイバチャネル接続方法。
  19. 前記第3のステップでは、
    前記オーダードセットが特定のオーダードセットである場合、前記対向ファイバチャネル装置から当該特定のオーダードセットを所定個数連続して受信するまで前記ファイバチャネル接続装置の内部に保持し、所定個数連続して受信した時点で所定個数分の当該特定のオーダードセットにセグメント情報ヘッダを付加し、以降、当該特定のオーダードセットを連続して受信した場合は当該特定のオーダードセットを廃棄し、
    前記第4のステップでは、
    前記オーダードセットが特定のオーダードセットである場合、前記対向ファイバチャネル装置から当該特定のオーダードセットを所定個数連続して受信した時点で、所定個数分の当該特定のオーダードセットにセグメント情報ヘッダを付加したものを前記イーサーネットフレームとして前記イーサーネット網に送信する、請求項14から18のいずれか1項に記載のファイバチャネル接続方法。
  20. 前記所定個数は、前記対向ファイバチャネル装置の通信先となるファイバチャネル装置が、前記特定のオーダードセットを受信したことを識別可能な数に設定されている、請求項19に記載のファイバチャネル接続方法。
  21. 前記第2のステップでは、
    前記対向ファイバチャネル装置から受信したファイバチャネルフレームを前記ファイバチャネル接続装置の内部に保持し、保持されているファイバチャネルフレームの数が一定数以上となった場合に、前記対向ファイバチャネル装置に対し、前記ファイバチャネルフレームの送信を停止するよう指示する、請求項14から20のいずれか1項に記載のファイバチャネル接続方法。
  22. 前記第7のステップでは、
    前記対向ファイバチャネル装置にすでに送信している前記ファイバチャネルフレームの数が前記対向ファイバチャネル装置における有効なバッファ数を示すクレジット数に達した場合、当該対向ファイバチャネル装置への前記ファイバチャネルフレームの送信を停止する、請求項14から21のいずれか1項に記載のファイバチャネル接続方法。
  23. 前記第7のステップでは、
    前記対向ファイバチャネル装置にすでに送信している前記ファイバチャネルフレームの数が前記対向ファイバチャネル装置における前記クレジット数に達した場合、ポーズフレームを前記イーサーネットフレームとして前記イーサーネット網に送信するよう指示する、請求項22に記載のファイバチャネル接続方法。
  24. 前記イーサーネット網から受信したデータが前記ポーズフレームである場合、前記イーサーネット網への前記イーサーネットフレームの送信を停止する第8のステップをさらに有する、請求項23に記載のファイバチャネル接続方法。
JP2003292959A 2003-08-13 2003-08-13 ファイバチャネル接続装置、ファイバチャネル接続装置によるファイバチャネル接続方法 Pending JP2005064901A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003292959A JP2005064901A (ja) 2003-08-13 2003-08-13 ファイバチャネル接続装置、ファイバチャネル接続装置によるファイバチャネル接続方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003292959A JP2005064901A (ja) 2003-08-13 2003-08-13 ファイバチャネル接続装置、ファイバチャネル接続装置によるファイバチャネル接続方法

Publications (1)

Publication Number Publication Date
JP2005064901A true JP2005064901A (ja) 2005-03-10

Family

ID=34370104

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003292959A Pending JP2005064901A (ja) 2003-08-13 2003-08-13 ファイバチャネル接続装置、ファイバチャネル接続装置によるファイバチャネル接続方法

Country Status (1)

Country Link
JP (1) JP2005064901A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009502059A (ja) * 2005-07-17 2009-01-22 アブシディアン リサーチ コーポレーション インフィニバンド・ネットワークの物理的な到達距離を延長する方法
JP2011528205A (ja) * 2008-07-15 2011-11-10 インターナショナル・ビジネス・マシーンズ・コーポレーション イニシエータ・サブネットワーク通信を用いるネットワーク・システム
JP2012501613A (ja) * 2008-09-03 2012-01-19 中▲興▼通▲訊▼股▲ふぇん▼有限公司 10ギガビット光ファイバーチャネルサービスを光伝送ネットワークに伝送する方法及び装置
US8310953B2 (en) 2007-08-21 2012-11-13 International Business Machines Corporation Method and apparatus for enabling an adapter in a network device to discover the name of another adapter of another network device in a network system
US8396009B2 (en) 2007-08-21 2013-03-12 International Business Machines Corporation Method and apparatus for an adapter in a network device to discover its adapter name in a network system
JP2014502126A (ja) * 2011-01-07 2014-01-23 ジェダ・ネットワークス・インコーポレイテッド ファイバチャネルオーバーイーサネットデバイスの相互接続のための方法、システム、および装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009502059A (ja) * 2005-07-17 2009-01-22 アブシディアン リサーチ コーポレーション インフィニバンド・ネットワークの物理的な到達距離を延長する方法
US8310953B2 (en) 2007-08-21 2012-11-13 International Business Machines Corporation Method and apparatus for enabling an adapter in a network device to discover the name of another adapter of another network device in a network system
US8396009B2 (en) 2007-08-21 2013-03-12 International Business Machines Corporation Method and apparatus for an adapter in a network device to discover its adapter name in a network system
JP2011528205A (ja) * 2008-07-15 2011-11-10 インターナショナル・ビジネス・マシーンズ・コーポレーション イニシエータ・サブネットワーク通信を用いるネットワーク・システム
US8307048B2 (en) 2008-07-15 2012-11-06 International Business Machines Corporation Network system with initiator subnetwork communication to target subnetwork communication including fibre channel over ethernet to fibre channel over internet protocol conversion
JP2012501613A (ja) * 2008-09-03 2012-01-19 中▲興▼通▲訊▼股▲ふぇん▼有限公司 10ギガビット光ファイバーチャネルサービスを光伝送ネットワークに伝送する方法及び装置
JP2014502126A (ja) * 2011-01-07 2014-01-23 ジェダ・ネットワークス・インコーポレイテッド ファイバチャネルオーバーイーサネットデバイスの相互接続のための方法、システム、および装置

Similar Documents

Publication Publication Date Title
EP1902546B1 (en) Transparent transport of fibre channel traffic over packet-switched networks
EP1313291B1 (en) Apparatus and method for header processing
US7630309B1 (en) Systems and methods for limiting the rates of data to/from a buffer
JP3872847B2 (ja) イーサネットに対する全二重フロー制御
US5303237A (en) Frame relay system capable of handling both voice and data frames
US6741562B1 (en) Apparatus and methods for managing packets in a broadband data stream
US20030108063A1 (en) System and method for aggregating multiple information channels across a network
US6510156B1 (en) Method and apparatus for data stream optimization
CA2182045A1 (en) Method and apparatus for tracking buffer availability
EP1265407B1 (en) Transmitting apparatus and method of controlling flow thereof
Telikepalli et al. Storage area network extension solutions and their performance assessment
US6741566B1 (en) Remote management ethernet network and device
US6813279B1 (en) Ethernet to ATM converter
EP1471705A1 (en) A means and control method for adapting different media of transmission link of network on physical layer.
JPH07321842A (ja) パケット交換ネットワークを複数個のデータ端末にインタフェースする装置、フレームリレーパケットを交換するシステムに複数個のエンドポイントをインタフェースするモジュール、ならびにデータパケットを交換するシステムに端末をインタフェースする方法
EP1518373A1 (en) Flow control management to extend the performance range of fibre channel link
JP3913368B2 (ja) データフレームを転送する方法およびデータフレームを送信するための装置
JP2005064901A (ja) ファイバチャネル接続装置、ファイバチャネル接続装置によるファイバチャネル接続方法
JP2986798B2 (ja) データ伝送制御方法およびデータ通信装置
US20030193894A1 (en) Method and apparatus for early zero-credit determination in an infiniband system
WO2005008978A1 (ja) 送信主導型フロー制御装置
US6925058B2 (en) Credit management for data flow between two networks
JPH11239163A (ja) Lan間フロー制御方法及びスイッチ
JP2004080226A (ja) 代理fcポート、fcネットワーク及びそれらに用いるfc透過転送方法
Ocheltree et al. A comparison of fibre channel and 802 MAC services

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20050118

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20050118

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060201