(57)【要約】【課題】ファイバチャネル装置間をイーサーネット網で接続する際、データ転送のオーバーヘッドを低減し、大容量のメモリを要することなくパケット喪失を検出する。【解決手段】ファイバチャネル接続装置１０２は、ファイバチャネル装置１０１からＦＣフレームを受信した場合、ＦＣフレームをセグメント化し、セグメント化したＦＣフレームの内容を示すセグメント情報ヘッダを付加して広域イーサーネット網１０３に送信し、オーダードセットを受信した場合、オーダードセットの内容を示すセグメント情報ヘッダを付加して広域イーサーネット網１０３に送信する。広域イーサーネット網１０３からセグメント化されたＦＣフレームを受信した場合、セグメント情報ヘッダの内容に基づきＦＣフレームをリアセンブルしてファイバチャネル装置１０１に送信し、オーダードセットを受信した場合、オーダードセットをそのままファイバチャネル装置１０１に送信する。【選択図】図１
2005064901.tif 000002
【特許請求の範囲】
【請求項１】
２以上のファイバチャネル装置間をイーサーネット網により接続するために、当該ファイバチャネル装置の１つである対向ファイバチャネル装置と前記イーサーネット網とに接続されたファイバチャネル接続装置において、
前記対向ファイバチャネル装置からデータを受信し、受信したデータをファイバチャネルフレームとオーダードセットとに区別して出力するファイバチャネル受信手段と、
前記ファイバチャネル受信手段から出力されたファイバチャネルフレームをセグメント化し、セグメント化したファイバチャネルフレームのそれぞれに、当該ファイバチャネルフレームに関する情報を含むセグメント情報ヘッダを付加して出力するファイバチャネルセグメント手段と、
前記ファイバチャネル受信手段から出力されたオーダードセットに、当該オーダードセットに関する情報を含むセグメント情報ヘッダを付加して出力するオーダードセット処理手段と、
前記ファイバチャネルセグメント手段または前記オーダードセット処理手段から出力された、セグメント化されたファイバチャネルフレームまたはオーダードセットを、イーサーネットフレームとして前記イーサーネット網に送信するイーサーネットフレーム送信手段と、を有するファイバチャネル接続装置。
【請求項２】
前記イーサーネット網からイーサーネットフレームを受信し、受信したイーサーネットフレームからデータを取り出して出力するイーサーネットフレーム受信手段と、
前記イーサーネットフレーム受信手段から出力されたデータに付加されている前記セグメント情報ヘッダの内容に基づいて当該データがセグメント化されたファイバチャネルフレームであるか、オーダードセットであるかを識別し、当該データがセグメント化されたファイバチャネルフレームである場合に、当該ファイバチャネルフレームに付加されている前記セグメント情報ヘッダの内容に基づいて当該ファイバチャネルフレームをリアセンブルして出力し、当該データがオーダードセットである場合には当該オーダードセットをそのまま出力するファイバチャネルリアセンブル手段と、
前記ファイバチャネルリアセンブル手段から出力された、リアセンブルされたファイバチャネルフレームまたはリアセンブルされていないオーダードセットを、前記対向ファイバチャネル装置に送信するファイバチャネル送信手段と、をさらに有する請求項１に記載のファイバチャネル接続装置。
【請求項３】
前記ファイバチャネルセグメント手段は、前記セグメント情報ヘッダ内のデータ識別フィールドに、当該セグメント情報ヘッダが付加されているデータがファイバチャネルフレームである旨を書き込み、
前記オーダードセット処理手段は、前記セグメント情報ヘッダ内のデータ識別フィールドに、当該セグメント情報ヘッダが付加されているデータがオーダードセットである旨を書き込み、
前記ファイバチャネルリアセンブル手段は、前記イーサーネットフレーム受信手段から出力されたデータに付加されている前記セグメント情報ヘッダ内の前記データ識別フィールドの内容に基づいて、前記イーサーネットフレーム受信手段から出力されたデータがファイバチャネルフレームであるか、オーダードセットであるかを識別する、請求項２に記載のファイバチャネル接続装置。
【請求項４】
前記ファイバチャネルセグメント手段は、前記セグメント情報ヘッダ内のランダム数値フィールドに、同一のファイバチャネルフレームからセグメント化されたファイバチャネルフレームに共通に割り当てた同一のランダム数値を書き込むとともに、前記セグメント情報ヘッダ内のシーケンスナンバーフィールドに、同一のファイバチャネルフレームからセグメント化されたファイバチャネルフレームに順番に割り当てたシーケンスナンバーを書き込み、
前記ファイバチャネルリアセンブル手段は、前記イーサーネットフレーム受信手段から出力されたデータに付加されている前記セグメント情報ヘッダ内の前記ランダム数値フィールドおよび前記シーケンスナンバーフィールドの内容に基づいて、前記イーサーネット網内で、同一のファイバチャネルフレームからセグメント化されたファイバチャネルフレームの喪失または送信順序の入れ替えがあったかを判断する、請求項２または３に記載のファイバチャネル接続装置。
【請求項５】
前記ファイバチャネルセグメント手段は、前記セグメント情報ヘッダ内のフレーム最終フィールドに、同一のファイバチャネルフレームからセグメント化されたファイバチャネルフレームが最終フレームである場合にはその旨を書き込み、
前記ファイバチャネルリアセンブル手段は、前記イーサーネットフレーム受信手段から出力されたデータに付加されている前記セグメント情報ヘッダ内の前記フレーム最終フィールドの内容に基づいて、前記イーサーネットフレーム受信手段から出力されたファイバチャネルフレームが同一のファイバチャネルフレームからセグメント化された最終フレームであるかを判断する、請求項４に記載のファイバチャネル接続装置。
【請求項６】
前記ファイバチャネルリアセンブル手段は、前記イーサーネット網内で、同一のファイバチャネルフレームからセグメント化されたファイバチャネルフレームの喪失または送信順序の入れ替えがなく、かつ、前記イーサーネットフレーム受信手段から出力されたファイバチャネルフレームが同一のファイバチャネルフレームからセグメント化された最終フレームであると判断した場合にのみ、同一のファイバチャネルフレームからセグメント化されたファイバチャネルフレームをリアセンブルする、請求項５に記載のファイバチャネル接続装置。
【請求項７】
前記オーダードセット処理手段は、前記オーダードセットが特定のオーダードセットである場合には、前記ファイバチャネル受信手段にて当該特定のオーダードセットを所定個数連続して受信するまで内部に保持し、所定個数連続して受信した時点で所定個数分の当該特定のオーダードセットにセグメント情報ヘッダを付加して出力し、以降、当該特定のオーダードセットを連続して受信した場合は当該特定のオーダードセットを廃棄する、請求項２から６のいずれか１項に記載のファイバチャネル接続装置。
【請求項８】
前記所定個数は、前記対向ファイバチャネル装置の通信先となるファイバチャネル装置が、前記特定のオーダードセットを受信したことを識別可能な数に設定されている、請求項７に記載のファイバチャネル接続装置。
【請求項９】
前記ファイバチャネルセグメント手段は、前記ファイバチャネル受信手段から出力されたファイバチャネルフレームを内部に保持し、
前記ファイバチャネル送信手段は、前記ファイバチャネルセグメント手段の内部に保持されているファイバチャネルフレームの数が一定数以上となった場合に、前記対向ファイバチャネル装置に対し、前記ファイバチャネルフレームの送信を停止するよう指示する、請求項２から８のいずれか１項に記載のファイバチャネル接続装置。
【請求項１０】
前記ファイバチャネル送信手段は、前記対向ファイバチャネル装置にすでに送信している前記ファイバチャネルフレームの数が前記対向ファイバチャネル装置における有効なバッファ数を示すクレジット数に達した場合、当該対向ファイバチャネル装置への前記ファイバチャネルフレームの送信を停止する、請求項２から９のいずれか１項に記載のファイバチャネル接続装置。
【請求項１１】
前記イーサーネット網との間で送受信されるポーズフレームの制御を行うポーズフレーム制御手段をさらに有し、
前記ファイバチャネル送信手段は、前記対向ファイバチャネル装置にすでに送信している前記ファイバチャネルフレームの数が前記対向ファイバチャネル装置における前記クレジット数に達した場合、前記ポーズフレーム制御手段に対して前記ポーズフレームの送信要求を行い、
前記ポーズフレーム制御手段は、前記ファイバチャネル送信手段からの前記ポーズフレームの送信要求を受けた場合、前記イーサーネットフレーム送信部に対し、前記ポーズフレームを前記イーサーネットフレームとして前記イーサーネット網に送信するよう指示する、請求項１０に記載のファイバチャネル接続装置。
【請求項１２】
前記ポーズフレーム制御手段は、前記イーサーネットフレーム受信手段にて前記イーサーネット網から前記ポーズフレームを受信した場合、前記イーサーネットフレーム送信部に対し、前記イーサーネット網への前記イーサーネットフレームの送信を停止するよう指示する、請求項１１に記載のファイバチャネル接続装置。
【請求項１３】
２以上のファイバチャネル装置間をイーサーネット網により接続するために、当該ファイバチャネル装置の１つである対向ファイバチャネル装置と前記イーサーネット網とに接続されたファイバチャネル接続装置によるファイバチャネル接続方法において、
前記対向ファイバチャネル装置からデータを受信した場合に、受信したデータがファイバチャネルフレームであるか、オーダードセットであるかを識別する第１のステップと、
前記対向ファイバチャネル装置から受信したデータがファイバチャネルフレームである場合に、当該ファイバチャネルフレームをセグメント化し、セグメント化したファイバチャネルフレームのそれぞれに、当該ファイバチャネルフレームに関する情報を含むセグメント情報ヘッダを付加する第２のステップと、
前記対向ファイバチャネル装置から受信したデータがオーダードセットである場合に、当該オーダードセットに、当該オーダードセットに関する情報を含むセグメント情報ヘッダを付加する第３のステップと、
前記第１または第２のステップにて前記セグメント情報ヘッダが付加された、セグメント化されたファイバチャネルフレームまたはオーダードセットを、イーサーネットフレームとして前記イーサーネット網に送信する第４のステップと、を有するファイバチャネル接続方法。
【請求項１４】
前記イーサーネット網からイーサーネットフレームを受信した場合に、受信したイーサーネットフレームからデータを取り出し、取り出したデータに付加されている前記セグメント情報ヘッダの内容に基づいて当該データがセグメント化されたファイバチャネルフレームであるか、オーダードセットであるかを識別する第５のステップと、
前記イーサーネット網から受信したデータがセグメント化されたファイバチャネルフレームである場合に、当該ファイバチャネルフレームに付加されている前記セグメント情報ヘッダの内容に基づいて当該ファイバチャネルフレームをリアセンブルする第６のステップと、
前記第６のステップにてリアセンブルされたファイバチャネルフレーム、または前記第５のステップにて前記イーサーネット網から受信したリアセンブルされていないオーダードセットを、前記対向ファイバチャネル装置に送信する第７のステップと、をさらに有する請求項１３に記載のファイバチャネル接続方法。
【請求項１５】
前記第２のステップでは、
前記セグメント情報ヘッダ内のデータ識別フィールドに、当該セグメント情報ヘッダが付加されているデータがファイバチャネルフレームである旨を書き込み、
前記第３のステップでは、
前記セグメント情報ヘッダ内のデータ識別フィールドに、当該セグメント情報ヘッダが付加されているデータがオーダードセットである旨を書き込み、
前記第５のステップでは、
前記イーサーネット網から受信したデータに付加されている前記セグメント情報ヘッダ内の前記データ識別フィールドの内容に基づいて、前記イーサーネット網から受信したデータがファイバチャネルフレームであるか、オーダードセットであるかを識別する、請求項１４に記載のファイバチャネル接続方法。
【請求項１６】
前記第２のステップでは、
前記セグメント情報ヘッダ内のランダム数値フィールドに、同一のファイバチャネルフレームからセグメント化されたファイバチャネルフレームに共通に割り当てた同一のランダム数値を書き込むとともに、前記セグメント情報ヘッダ内のシーケンスナンバーフィールドに、同一のファイバチャネルフレームからセグメント化されたファイバチャネルフレームに順番に割り当てたシーケンスナンバーを書き込み、
前記第６のステップでは、
前記イーサーネット網から受信したデータに付加されている前記セグメント情報ヘッダ内の前記ランダム数値フィールドおよび前記シーケンスナンバーフィールドの内容に基づいて、前記イーサーネット網内で、同一のファイバチャネルフレームからセグメント化されたファイバチャネルフレームの喪失または送信順序の入れ替えがあったかを判断する、請求項１４または１５に記載のファイバチャネル接続方法。
【請求項１７】
前記第２のステップでは、
前記セグメント情報ヘッダ内のフレーム最終フィールドに、同一のファイバチャネルフレームからセグメント化されたファイバチャネルフレームが最終フレームである場合にはその旨を書き込み、
前記第６のステップでは、
前記イーサーネット網から受信したデータに付加されている前記セグメント情報ヘッダ内の前記フレーム最終フィールドの内容に基づいて、前記イーサーネット網から受信したファイバチャネルフレームが同一のファイバチャネルフレームからセグメント化された最終フレームであるかを判断する、請求項１６に記載のファイバチャネル接続方法。
【請求項１８】
前記第６のステップでは、
前記イーサーネット網内で、同一のファイバチャネルフレームからセグメント化されたファイバチャネルフレームの喪失または送信順序の入れ替えがなく、かつ、前記イーサーネット網から受信したファイバチャネルフレームが同一のファイバチャネルフレームからセグメント化された最終フレームであると判断した場合にのみ、同一のファイバチャネルフレームからセグメント化されたファイバチャネルフレームをリアセンブルする、請求項１７に記載のファイバチャネル接続方法。
【請求項１９】
前記第３のステップでは、
前記オーダードセットが特定のオーダードセットである場合、前記対向ファイバチャネル装置から当該特定のオーダードセットを所定個数連続して受信するまで前記ファイバチャネル接続装置の内部に保持し、所定個数連続して受信した時点で所定個数分の当該特定のオーダードセットにセグメント情報ヘッダを付加し、以降、当該特定のオーダードセットを連続して受信した場合は当該特定のオーダードセットを廃棄し、
前記第４のステップでは、
前記オーダードセットが特定のオーダードセットである場合、前記対向ファイバチャネル装置から当該特定のオーダードセットを所定個数連続して受信した時点で、所定個数分の当該特定のオーダードセットにセグメント情報ヘッダを付加したものを前記イーサーネットフレームとして前記イーサーネット網に送信する、請求項１４から１８のいずれか１項に記載のファイバチャネル接続方法。
【請求項２０】
前記所定個数は、前記対向ファイバチャネル装置の通信先となるファイバチャネル装置が、前記特定のオーダードセットを受信したことを識別可能な数に設定されている、請求項１９に記載のファイバチャネル接続方法。
【請求項２１】
前記第２のステップでは、
前記対向ファイバチャネル装置から受信したファイバチャネルフレームを前記ファイバチャネル接続装置の内部に保持し、保持されているファイバチャネルフレームの数が一定数以上となった場合に、前記対向ファイバチャネル装置に対し、前記ファイバチャネルフレームの送信を停止するよう指示する、請求項１４から２０のいずれか１項に記載のファイバチャネル接続方法。
【請求項２２】
前記第７のステップでは、
前記対向ファイバチャネル装置にすでに送信している前記ファイバチャネルフレームの数が前記対向ファイバチャネル装置における有効なバッファ数を示すクレジット数に達した場合、当該対向ファイバチャネル装置への前記ファイバチャネルフレームの送信を停止する、請求項１４から２１のいずれか１項に記載のファイバチャネル接続方法。
【請求項２３】
前記第７のステップでは、
前記対向ファイバチャネル装置にすでに送信している前記ファイバチャネルフレームの数が前記対向ファイバチャネル装置における前記クレジット数に達した場合、ポーズフレームを前記イーサーネットフレームとして前記イーサーネット網に送信するよう指示する、請求項２２に記載のファイバチャネル接続方法。
【請求項２４】
前記イーサーネット網から受信したデータが前記ポーズフレームである場合、前記イーサーネット網への前記イーサーネットフレームの送信を停止する第８のステップをさらに有する、請求項２３に記載のファイバチャネル接続方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２以上のファイバチャネル装置間をイーサーネット網により接続するために、当該ファイバチャネル装置の１つである対向ファイバチャネル装置とイーサーネット網とに接続されたファイバチャネル接続装置およびその方法に関するものである。
【背景技術】
【０００２】
昨今の企業では、Ｗｅｂベースのアプリケーションの利用増加により、必要とされるデータ量は増すばかりである。こうしたデータ量の増加は、ネットワークトラフィックだけでなく、企業内のデータベースに対しても大きな負荷となりつつある。
【０００３】
また、企業内のサーバのシステムダウンが即、企業の受注活動の停止につながりかねない。そのため、企業では、障害発生時においてもアプリケーションを継続して運用するために、ストレージ装置に保存されているデータベース内の重要な顧客情報、商取引情報を含むデータをバックアップすることが行われている。
【０００４】
最近、企業では、このようなデータバックアップに関し、障害に対する冗長性を高めるため、複数の拠点間を広域で接続し、データを共有するようになりつつある。
【０００５】
具体的には、ＦＣ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ：ファイバチャネル）インターフェースを備える各拠点のファイバチャネル装置間を専用線やＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｔｒａｎｓｆｅｒ  Ｍｏｄｅ）網により広域で接続することが行われている。例えば、ファイバチャネル装置間をＡＴＭ網により接続する技術としては、特許文献１に開示されたものが挙げられる。
【０００６】
ファイバチャネルは、複数の伝送速度をサポートする高速データ伝送の技術標準であり、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）をはじめとする複数プロトコルのマッピングを行うことができる。ファイバチャネルは、例えば、ＡＮＳＩ（Ａｍｅｒｉｃａｎ  Ｎａｔｉｏｎａｌ  Ｓｔａｎｄａｒｄ  Ｉｎｓｔｉｔｕｔｅ）のＸ３Ｔ１１等の標準規格により様々なデータ伝送方式が定められている。この規格には、ＦＣ−０からＦＣ−４までの層が存在し、各層が独立して定義されている。また、ファイバチャネルは、ポイントツーポイント、アービトレイテッドトポロジー、スイッチングなどのトポロジーをサポートしていることが特徴である。
【０００７】
ファイバチャネルは、本来複数のプロトコルをサポートするデータ伝送方式であるが、ストレージアリアネットワーク（ＳＡＮ：Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）と呼ばれるストレージ用のネットワークとして使用されることが多い。
【０００８】
ファイバチャネル標準（ＦＣＳ：Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  Ｓｔａｎｄａｒｄ）では、４０ビット列の組み合わせに何らかの意味を持たせたものをオーダードセットと呼ぶ。オーダードセットの種類には、デリミタオーダードセット、プリミティブシグナルオーダードセット、プリミティブシーケンスオーダードセットがある。
【０００９】
デリミタオーダードセットは、ＦＣフレームの区切りに用いられるオーダードセットであり、ＦＣフレームの始まりにつけられるＳＯＦ（Ｓｔａｒｔ  Ｏｆ  Ｆｒａｍｅ）や、ＦＣフレームの終わりにつけられるＥＯＦ（Ｅｎｄ  Ｏｆ  Ｆｒａｍｅ）などを含むオーダードセットである。
【００１０】
プリミティブシグナルオーダードセットは、フレームを受信したことを示すＲ＿ＲＤＹや、リンクが使用可能な状態にあることを示すＩｄｌｅなどを含むオーダードセットである。また、ループトポロジーにおけるアービトレーション（Ａｒｂｉｔｒａｔｉｏｎ）に必要なＡＲＢなどもプリミティブオーダードセットに含まれる。
【００１１】
プリミティブシーケンスオーダードセットは、リンクの確立手順、リンクの切断手順、ループの初期化手順に関するオーダードセットである。このオーダードセットは、ファイバチャネル装置のポートが状態遷移するときに連続的に発信される。
【００１２】
ファイバチャネルにおける伝送路のクレジット制御は、通信先のファイバチャネル装置における現在有効なバッファ数を計算するために用いられるアルゴリズムである（例えば、特許文献２，３参照）。このクレジット制御により通信先のファイバチャネル装置のバッファ状態を監視し、通信先のファイバチャネル装置にバッファオーバーフローなどが発生しないようにしている。
【００１３】
クレジット制御には、ＥＥ（Ｅｎｄ  Ｔｏ  Ｅｎｄ）クレジットとＢＢ（Ｂｕｆｆｅｒ  Ｔｏ  Ｂｕｆｆｅｒ）クレジットと呼ばれる２種類の制御方式があるが、以下、ＢＢクレジットを例に挙げて簡潔に説明する。
【００１４】
ファイバチャネル装置では、通信先のファイバチャネル装置にデータを送信するたびにＢＢクレジットを＋１カウントアップし、通信先のファイバチャネル装置からＲ＿ＲＤＹプリミティブを受信するたびにＢＢクレジットを−１カウントダウンする。このＢＢクレジット数が通信先のファイバチャネル装置における有効なバッファ数に対応するクレジット数に達すると、通信先のファイバチャネル装置には空きバッファがないと判断し、データの送信を停止する。
【００１５】
なお、ファイバチャネル装置は、バッファ数に応じて伝送効率が決定される。そのため、長距離でデータ伝送を行うことを想定しているファイバチャネル装置は、一般にバッファ数が十分に大きなものとなっている。
【特許文献１】特開平１０−２５７１０４
【特許文献２】特開平１０−２７６２４０
【特許文献３】特開２００２−２２３２４４
【発明の開示】
【発明が解決しようとする課題】
【００１６】
ところで、最近は、社内、構内で一般に使用されていたイーサーネット（Ｅｔｈｅｒｎｅｔ）網によりファイバチャネル装置間を広域で接続することが行われるようになっている。ファイバチャネル装置間をイーサーネット網により接続する方式は、従来の専用線やＡＴＭ網を用いた方式と比較して、一般的に導入コストが低いこと、すでに社内、構内で利用されていたＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）機器をそのまま利用することができること等の利点がある。
【００１７】
これまで、ファイバチャネル装置間をイーサーネット網により広域で接続する方式としては、波長多重装置（ＷＤＭ：Ｗａｖｅｌｅｎｇｔｈ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅｘｉｎｇ）を用いてファイバチャネル装置間をトランスペアレントに接続する方式や、ＳＯＮＥＴ／ＳＤＨ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｏｐｔｉｃａｌ  ＮＥＴｗｏｒｋ／Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｉｇｉｔａｌ  Ｈｉｅｒａｒｃｈｙ）にファイバチャネル信号をマッピングする方式を用いることが多かった。
【００１８】
これらの方式を用いれば、ファイバチャネル装置間をイーサーネット網により接続することができるものの、運用コストが高価であったため、これらの方式は限られた一部の企業などで利用されるに留まっている。また、波長多重装置は、ファイバチャネル装置間をポイントツーポイントに接続することが可能であるが、光インタフェースをトランスペアレントに接続するのみであり、ＢＢクレジットのようなフロー制御機構を持たないため、ファイバチャネル装置間を長距離で接続する場合にはスループットが低下するおそれがある。
【００１９】
また、ファイバチャネル装置間をイーサーネット網により広域で接続するその他の方式としては、ファイバチャネル信号をＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）によりカプセル化して転送するＦＣＩＰ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）と呼ばれる方式がＩＥＴＦ（Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）のＩＰストレージ・ワーキング・グループ（ＩＰ  Ｓｔｏｒａｇｅ  Ｗｏｒｋｉｎｇ  Ｇｒｏｕｐ）により検討されている。このＦＣＩＰ方式は、ファイバチャネル信号をＴＣＰ／ＩＰにカプセル化してＩＰ網上に転送し、ＴＣＰによりパケット喪失の検出制御や再送・ウィンドウ制御を行う方式である。
【００２０】
しかしながら、ＦＣＩＰ方式においては、ＴＣＰがパケット喪失の検出制御や再送・ウィンドウ制御を行うために大容量のメモリを必要とするという問題や、ファイバチャネル信号のカプセル化によりオーバーヘッドが大きくなるという問題がある。
【００２１】
本発明の目的は、ファイバチャネル装置間をイーサーネット網により接続するに際し、データ転送のためのオーバーヘッドを低減することができるとともに、大容量のメモリを必要とすることなくパケットの喪失を検出することができるファイバチャネル接続装置、ファイバチャネル接続装置によるファイバチャネル接続方法を提供することにある。
【課題を解決するための手段】
【００２２】
上記目的を達成するために本発明のファイバチャネル接続装置は、２以上のファイバチャネル装置間をイーサーネット網により接続するために、当該ファイバチャネル装置の１つである対向ファイバチャネル装置と前記イーサーネット網とに接続されたファイバチャネル接続装置において、前記対向ファイバチャネル装置からデータを受信し、受信したデータをファイバチャネルフレームとオーダードセットとに区別して出力するファイバチャネル受信手段と、前記ファイバチャネル受信手段から出力されたファイバチャネルフレームをセグメント化し、セグメント化したファイバチャネルフレームのそれぞれに、当該ファイバチャネルフレームに関する情報を含むセグメント情報ヘッダを付加して出力するファイバチャネルセグメント手段と、前記ファイバチャネル受信手段から出力されたオーダードセットに、当該オーダードセットに関する情報を含むセグメント情報ヘッダを付加して出力するオーダードセット処理手段と、前記ファイバチャネルセグメント手段または前記オーダードセット処理手段から出力された、セグメント化されたファイバチャネルフレームまたはオーダードセットを、イーサーネットフレームとして前記イーサーネット網に送信するイーサーネットフレーム送信手段と、を有することを特徴としている。
【００２３】
さらに、前記イーサーネット網からイーサーネットフレームを受信し、受信したイーサーネットフレームからデータを取り出して出力するイーサーネットフレーム受信手段と、前記イーサーネットフレーム受信手段から出力されたデータに付加されている前記セグメント情報ヘッダの内容に基づいて当該データがセグメント化されたファイバチャネルフレームであるか、オーダードセットであるかを識別し、当該データがセグメント化されたファイバチャネルフレームである場合に、当該ファイバチャネルフレームに付加されている前記セグメント情報ヘッダの内容に基づいて当該ファイバチャネルフレームをリアセンブルして出力し、当該データがオーダードセットである場合には当該オーダードセットをそのまま出力するファイバチャネルリアセンブル手段と、前記ファイバチャネルリアセンブル手段から出力された、リアセンブルされたファイバチャネルフレームまたはリアセンブルされていないオーダードセットを、前記対向ファイバチャネル装置に送信するファイバチャネル送信手段と、をさらに有することを特徴としている。
【００２４】
この構成によれば、ファイバチャネルフレームおよびオーダードセットを区別して、セグメント情報ヘッダを付加する処理を行った上で、イーサーネット網に転送しているため、従来技術のようにＴＣＰ／ＩＰによる制御を行う方式と比較して、セグメント化したファイバチャネルフレームのデータ構造を非常に単純なものとすることができ、それにより、データ転送のためのオーバーヘッドを低減することができる。
【００２５】
より具体的には、前記ファイバチャネルセグメント手段は、前記セグメント情報ヘッダ内のデータ識別フィールドに、当該セグメント情報ヘッダが付加されているデータがファイバチャネルフレームである旨を書き込み、前記オーダードセット処理手段は、前記セグメント情報ヘッダ内のデータ識別フィールドに、当該セグメント情報ヘッダが付加されているデータがオーダードセットである旨を書き込み、前記ファイバチャネルリアセンブル手段は、前記イーサーネットフレーム受信手段から出力されたデータに付加されている前記セグメント情報ヘッダ内の前記データ識別フィールドの内容に基づいて、前記イーサーネットフレーム受信手段から出力されたデータがファイバチャネルフレームであるか、オーダードセットであるかを識別することとしても良い。
【００２６】
この構成によれば、イーサーネット網から受信したイーサーネットフレームに含まれるデータが、ファイバチャネルフレームであるか、オーダードセットであるかを容易に識別することができる。
【００２７】
また、前記ファイバチャネルセグメント手段は、前記セグメント情報ヘッダ内のランダム数値フィールドに、同一のファイバチャネルフレームからセグメント化されたファイバチャネルフレームに共通に割り当てた同一のランダム数値を書き込むとともに、前記セグメント情報ヘッダ内のシーケンスナンバーフィールドに、同一のファイバチャネルフレームからセグメント化されたファイバチャネルフレームに順番に割り当てたシーケンスナンバーを書き込み、前記ファイバチャネルリアセンブル手段は、前記イーサーネットフレーム受信手段から出力されたデータに付加されている前記セグメント情報ヘッダ内の前記ランダム数値フィールドおよび前記シーケンスナンバーフィールドの内容に基づいて、前記イーサーネット網内で、同一のファイバチャネルフレームからセグメント化されたファイバチャネルフレームの喪失または送信順序の入れ替えがあったかを判断することとしても良い。
【００２８】
この構成によれば、ＴＣＰ／ＩＰによる制御を行わずとも、イーサーネット網内でファイバチャネルフレームの喪失または送信順序の入れ替えがあったかを容易に検出することができるため、ファイバチャネルフレームの喪失または送信順序を検出するために大容量のメモリを必要とすることがなくなる。
【００２９】
また、前記ファイバチャネルセグメント手段は、前記セグメント情報ヘッダ内のフレーム最終フィールドに、同一のファイバチャネルフレームからセグメント化されたファイバチャネルフレームが最終フレームである場合にはその旨を書き込み、前記ファイバチャネルリアセンブル手段は、前記イーサーネットフレーム受信手段から出力されたデータに付加されている前記セグメント情報ヘッダ内の前記フレーム最終フィールドの内容に基づいて、前記イーサーネットフレーム受信手段から出力されたファイバチャネルフレームが同一のファイバチャネルフレームからセグメント化された最終フレームであるかを判断することとしても良い。
【００３０】
この構成によれば、イーサーネット網から受信したイーサーネットフレームに含まれるファイバチャネルフレームが、同一のファイバチャネルフレームからセグメント化された最終フレームであるかを容易に識別することができる。
【００３１】
また、前記ファイバチャネルリアセンブル手段は、前記イーサーネット網内で、同一のファイバチャネルフレームからセグメント化されたファイバチャネルフレームの喪失または送信順序の入れ替えがなく、かつ、前記イーサーネットフレーム受信手段から出力されたファイバチャネルフレームが同一のファイバチャネルフレームからセグメント化された最終フレームであると判断した場合にのみ、同一のファイバチャネルフレームからセグメント化されたファイバチャネルフレームをリアセンブルすることとしても良い。
【００３２】
この構成によれば、イーサーネット網から、同一のファイバチャネルフレームからセグメント化された最終フレームを受信するまでに、セグメント化されたファイバチャネルフレームの喪失または送信順序の入れ替えがあった場合など、正確なリアセンブリが行えない状態でリアセンブルを行うことを回避することができる。
【００３３】
また、前記オーダードセット処理手段は、前記オーダードセットが特定のオーダードセットである場合には、前記ファイバチャネル受信手段にて当該特定のオーダードセットを所定個数連続して受信するまで内部に保持し、所定個数連続して受信した時点で所定個数分の当該特定のオーダードセットにセグメント情報ヘッダを付加して出力し、以降、当該特定のオーダードセットを連続して受信した場合は当該特定のオーダードセットを廃棄することとしても良い。なお、前記所定個数は、前記対向ファイバチャネル装置の通信先となるファイバチャネル装置が、前記特定のオーダードセットを受信したことを識別可能な数に設定されることが望ましい。
【００３４】
この構成によれば、イーサーネット網を介して通信先のファイバチャネル装置に対し、必要最低限の特定のオーダードセットのみを送信することにより、イーサーネット網の利用効率の向上を図ることができる。
【００３５】
また、前記ファイバチャネルセグメント手段は、前記ファイバチャネル受信手段から出力されたファイバチャネルフレームを内部に保持し、前記ファイバチャネル送信手段は、前記ファイバチャネルセグメント手段の内部に保持されているファイバチャネルフレームの数が一定数以上となった場合に、前記対向ファイバチャネル装置に対し、前記ファイバチャネルフレームの送信を停止するよう指示することとしても良い。
【００３６】
この構成によれば、ファイバチャネルフレームの保持数が増加することで、ファイバチャネルセグメント手段にオーバーフローが発生することを防止することができる。
【００３７】
また、前記ファイバチャネル送信手段は、前記対向ファイバチャネル装置にすでに送信している前記ファイバチャネルフレームの数が前記対向ファイバチャネル装置における有効なバッファ数を示すクレジット数に達した場合、当該対向ファイバチャネル装置への前記ファイバチャネルフレームの送信を停止することとしても良い。
【００３８】
この構成によれば、ファイバチャネルフレームの保持数が増加することで、対向ファイバチャネル装置にてバッファオーバーフローが発生することを防止することができる。
【００３９】
また、前記イーサーネット網との間で送受信されるポーズフレームの制御を行うポーズフレーム制御手段をさらに有し、前記ファイバチャネル送信手段は、前記対向ファイバチャネル装置にすでに送信している前記ファイバチャネルフレームの数が前記対向ファイバチャネル装置における前記クレジット数に達した場合、前記ポーズフレーム制御手段に対して前記ポーズフレームの送信要求を行い、前記ポーズフレーム制御手段は、前記ファイバチャネル送信手段からの前記ポーズフレームの送信要求を受けた場合、前記イーサーネットフレーム送信部に対し、前記ポーズフレームを前記イーサーネットフレームとして前記イーサーネット網に送信するよう指示することとしても良い。さらに、前記ポーズフレーム制御手段は、前記イーサーネットフレーム受信手段にて前記イーサーネット網から前記ポーズフレームを受信した場合、前記イーサーネットフレーム送信部に対し、前記イーサーネット網への前記イーサーネットフレームの送信を停止するよう指示することとしても良い。
【００４０】
この構成によれば、ファイバチャネルのクレジット制御とイーサーネットのポーズフレームによるフロー制御とを相互に関連させることができる。
【発明の効果】
【００４１】
本発明は以上説明したように構成されているため、以下に記載する効果を奏する。
【００４２】
ファイバチャネルフレームおよびオーダードセットを区別して、セグメント情報ヘッダを付加する処理を行った上で、イーサーネット網に転送することにより、従来技術のようにＴＣＰ／ＩＰによる制御を行う方式と比較して、セグメント化したファイバチャネルフレームのデータ構造を非常に単純なものとすることができる。そのため、データ転送のためのオーバーヘッドを低減し、データ転送を効率的に行うことができる。
【００４３】
また、ＴＣＰ／ＩＰによる制御を行わずとも、セグメント化されたファイバチャネルフレームに割り当てたランダム数値およびシーケンスナンバーを用いてイーサーネット網内でファイバチャネルフレームの喪失または送信順序の入れ替えがあったかを検出することにより、大容量のメモリを必要とすることなく、より信頼線の高いデータ転送を行うことができる。特に複数のイーサーネットフレームを喪失した場合、シーケンスナンバーだけではファイバチャネルフレームの喪失または送信順序の入れ替えを検出することは困難であるが、シーケンスナンバーだけでなくランダム数値も用いているため、ファイバチャネルフレームの喪失または送信順序の入れ替えを容易に検出することができる。
【００４４】
また、特定のオーダードセットについては、対向ファイバチャネル装置の通信先における識別可能数のみをイーサーネット網へ送信し、以降、特定のオーダードセットを廃棄することにより、イーサーネット網の利用効率の向上を図ることができる。
【００４５】
また、ファイバチャネルフレームをイーサーネットフレームとして送受信するにも関わらず、クレジット制御を行うため、ファイバチャネル装置の処理速度よりも低速な転送速度、例えば、１００Ｍｂｐｓのイーサーネット網を用いた場合でもファイバチャネル装置間を接続することができる。
【発明を実施するための最良の形態】
【００４６】
以下、発明を実施するための最良の形態について図面を参照して説明する。
【００４７】
図１は、本発明の一実施形態によるファイバチャネル接続装置が適用されるネットワーク構成の概略図であり、図２は、図１に示したネットワーク構成の典型的な応用例を示す図である。
【００４８】
図１に示すように、本発明のファイバチャネル接続装置１０２，１０４は、ファイバチャネル装置１０１，１０５間を広域イーサーネット網１０３により接続するためのゲートウェイとして適用される。ファイバチャネル接続装置１０２は、対向ファイバチャネル装置となるファイバチャネル装置１０１と広域イーサーネット網１０３とに接続されており、また、ファイバチャネル接続装置１０４は、対向ファイバチャネル装置となるファイバチャネル装置１０５と広域イーサーネット網１０３とに接続されている。
【００４９】
図１において、例えば、ファイバチャネル装置１０１からファイバチャネル装置１０５にＦＣフレームを送信する場合、ファイバチャネル接続装置１０２は、ファイバチャネル装置１０１から受信したＦＣフレームをセグメント化した後、イーサーネットデータフィールドに収容し、イーサーネットフレームとして広域イーサーネット網１０３に送信する。ファイバチャネル接続装置１０４は、広域イーサーネット網１０３から受信したイーサーネットフレームからＦＣフレームを取り出し、取り出したＦＣフレームをリアセンブリ（再組み立て）した後、ファイバチャネル装置１０５に送信する。なお、ファイバチャネル装置１０５からファイバチャネル装置１０１にＦＣフレームを送信する場合も上記と同様の動作が行われる。
【００５０】
図２に示すように、例えば、ファイバチャネル装置１０１は、クライアントサーバ１０１Ａおよびファイバチャネルスイッチ１０１Ｂとして適用され、また、ファイバチャネル装置１０５は、ストレージ装置１０５Ａおよびファイバチャネルスイッチ１０５Ｂとして適用される。なお、図２は、応用例であるため、例えばファイバチャネルスイッチ１０１Ｂ，１０５Ｂを設けないなど、これ以外の構成とすることも可能である。
【００５１】
以下、図１に示した本発明のファイバチャネル接続装置１０２，１０４の構成および動作について詳細に説明する。
【００５２】
ＡＮＳＩの規格によると、ＦＣフレームの最大値は２１４８バイトであり、ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃ  Ｅｎｇｉｎｅｅｒｓ）８０２．３によると、イーサーネットのデータフィールドの最大値は１５００バイトである。したがって、ＦＣフレームのサイズによっては、ＦＣフレームをイーサーネットデータフィールドに収容することができない可能性がある。
【００５３】
そのため、ファイバチャネル接続装置１０２，１０４は、ＦＣフレームのサイズによってはＦＣフレームをセグメント化し、イーサーネットデータフィールドに収容して広域イーサーネット網１０３に送信する。このとき、単純にＦＣフレームをセグメント化してしまうと、中継区間の広域イーサーネット網１０３内でイーサーネットフレームが喪失した場合、送信先のファイバチャネル接続装置にて正しくＦＣフレームをリアセンブリすることができない。また、イーサーネットにはフレームの送信順序を確認する手段がないため、中継区間の広域イーサーネット網１０３内でイーサーネットフレームの送信順序が入れ替わった場合、送信先のファイバチャネル接続装置にて送信順序どおりにＦＣフレームをリアセンブリすることができない。
【００５４】
そこで、ファイバチャネル接続装置１０２，１０４は、図３に示すように、同一ＦＣフレームからセグメント化したセグメント化ＦＣフレームのそれぞれの前に、次のようなフィールドを含むセグメント情報ヘッダを付加し、さらに、イーサーネットヘッダを付加したものを広域イーサーネット網１０３に送信することとしている。
【００５５】
以下、セグメント情報ヘッダに含まれる各フィールドについて説明する。
・ランダム数値フィールド
セグメント化されて送信されてきたセグメント化ＦＣフレームが、同一のＦＣフレームからセグメント化されたものであることを確認するために使用するフィールドである。このフィールドのビット数は、同一ＦＣフレームからセグメント化されていないセグメント化ＦＣフレームに、同一のランダム数値が割り当てられる確率が十分に小さくなるように選択する。例えば、このフィールドを１６ビットとすれば、同一ＦＣフレームからセグメント化されていないセグメント化ＦＣフレームに同一のランダム数値が割り当てられる確率は６５５３６分の１となる。次に述べるシーケンスナンバーフィールドのみでは、広域イーサーネット網１０３内で複数のイーサーネットフレームが喪失した時に正確なリアセンブリが行えない。そのため、本発明ではランダム数値フィールドを使用する。
・シーケンスナンバーフィールド
イーサーネットフレームの送信順序を確認するために使用するフィールドである。同一ＦＣフレームからセグメント化されたセグメント化ＦＣフレームに対して順番にシーケンスナンバーが与えられる。そのため、シーケンスナンバーを参照すればＦＣフレームの喪失、送信順序の入れ替えの検出を行うことができる。なお、ＦＣフレームのセグメント化が行われていない場合はシーケンスナンバーを０とする。
・データ識別フィールド
イーサーネットデータフィールドのセグメント情報ヘッダ以下に収容されているデータがオーダードセットなのか、ＦＣフレームなのかを識別するフィールドである。なお、オーダードセットは固定長であるため、複数のオーダードセットがイーサーネットデータフィールドに収容されている場合、図４に示すとおり、複数のオーダードセットの先頭にのみセグメント情報ヘッダが付加される。この場合、セグメント情報ヘッダのデータ識別フィールドは以下にオーダードセットが収容されていることを示している。一方、ＦＣフレームが短いために複数のＦＣフレームがイーサーネットデータフィールドに収容されている場合には、図５に示すとおり、ＦＣフレームの前に必ずセグメント情報ヘッダが付加される。この場合、各々のセグメント情報ヘッダのデータ識別フィールドは以下にＦＣフレームが収容されていることを示している。
・フレーム最終フィールド
セグメント情報ヘッダ以下のＦＣフレームが、セグメント化ＦＣフレームの最終フレームであることを示すフィールドである。最終フレームのフレーム最終フィールドは１とする。このフィールドが１であるセグメント化ＦＣフレームを受信した時点で、ＦＣフレームのリアセンブリが行われる。
【００５６】
図６は、図１に示した本発明のファイバチャネル接続装置１０２，１０４の構成を示す図である。
【００５７】
図６に示すように、ファイバチャネル接続装置１０２，１０４は、ファイバチャネル装置（ファイバチャネル装置１０１，１０５のいずれか）に接続されるＦＣインタフェース２０１，２１３と、ＦＣ受信部２０２と、ＦＣセグメント部２０３と、オーダードセット処理部２０４と、データ受信メモリカウンタ２０５と、イーサーネットフレーム送信部２０６と、広域イーサーネット網１０３に接続されるイーサーネットインタフェース２０７，２０９と、ポーズフレーム制御部２０８と、イーサーネットフレーム受信部２１０と、ＦＣリアセンブリ部２１１と、ＦＣ送信部２１２とを有している。
【００５８】
以下、図１に示したファイバチャネル接続装置１０２，１０４の動作について説明する。ここでは、ファイバチャネル接続装置１０２の動作について説明する。
【００５９】
まず、ファイバチャネル装置１０１からＦＣインタフェース２０１を介して受信したデータを、イーサーネットインタフェース２０７から送信する際の処理について説明する。
【００６０】
ＦＣ受信部２０２は、ＦＣインタフェース２０１を介して受信したデータが、ＦＣフレームであるかオーダードセットであるかを識別する。以降の処理は、ＦＣインタフェース２０１を介して受信したデータの種類に応じて異なるため、それぞれの場合について説明する。
【００６１】
最初に、ＦＣインタフェース２０１を介して受信したデータがＦＣフレームである場合の処理について説明する。
【００６２】
ＦＣ受信部２０２は、ＦＣインタフェース２０１を介して受信したデータがＦＣフレームである場合、受信したＦＣフレームをＦＣセグメント部２０３に入力する。
【００６３】
次に、ＦＣセグメント部２０３は、ＦＣセグメント部２０３内の不図示のデータ受信メモリにＦＣフレームを一時的に格納するとともに、受信メモリカウンタ２０５を＋１カウントアップする。このデータ受信メモリカウンタ２０５のカウント値は、ＦＣセグメント部２０３内のデータ受信メモリに格納されているデータ量と連動している。
【００６４】
ＦＣ送信部２１２は、データ受信メモリカウンタ２０５のカウント値がＦＣセグメント部２０３内のデータ受信メモリのサイズの設定値（データを格納可能な上限値）に達したか否かを監視している。ここで、データ受信メモリカウンタ２０５のカウント値が上記設定値に達した場合、ＦＣ送信部２１２は、対向ファイバチャネル装置１０１へのＲ＿ＲＤＹプリミティブの送信を停止し、対向ファイバチャネル装置１０１にＦＣフレームの送信を停止させる。一方、データ受信メモリカウンタ２０５のカウント値が上記設定値に達しなかった場合、ＦＣ送信部２１２は、ＦＣインタフェース２１３から対向ファイバチャネル装置１０１へＲ＿ＲＤＹプリミティブを送信する。
【００６５】
つまり、本実施形態では、ファイバチャネル装置１０１は、ファイバチャネル接続装置１０２におけるＦＣセグメント部２０３内のデータ受信メモリにオーバーフローが発生しないよう、ＢＢクレジット制御によるファイバチャネル接続装置１０２のバッファサイズ監視を行っている。
【００６６】
なお、ＦＣセグメント部２０３内のデータ受信メモリのサイズが小さい場合には長距離接続時の性能低下を起こす原因となるので、データ受信メモリは接続距離に応じて十分なサイズとする必要がある。このデータ受信メモリのサイズによる性能劣化の問題は既知のため、特に詳細を記述しない。
【００６７】
また、ＦＣセグメント部２０３は、ＦＣ受信部２０２からＦＣフレームが入力された時点で、ＦＣフレームを受信したことをオーダードセット処理部２０４に通知する。このときのオーダードセット処理部２０４の動作については後述する。
【００６８】
続いて、ＦＣセグメント部２０３は、ＦＣインタフェース２０１を介して受信したＦＣフレームのサイズに応じてセグメント化を行うか否かを判断する。このセグメント化を行うか否かの判断は以下のように行われる。
・ＦＣインタフェース２０１を介して受信したＦＣフレームのサイズが、「（イーサーネットデータフィールドのサイズ）−（セグメント情報ヘッダのサイズ）」以下である場合、つまり、イーサーネットデータフィールドにＦＣフレームとセグメント情報ヘッダが収まる場合
この場合、ＦＣセグメント部２０３は、ＦＣフレームをセグメント化せずにイーサーネットデータフィールドに収容する。このとき、ＦＣセグメント部２０３は、ＦＣフレームの先頭にセグメント情報ヘッダを付加するが、ＦＣフレームがひとつで完結していることを示すため、シーケンスナンバー０を書き込む。さらに、ＦＣセグメント部２０３は、以下のイーサーネットデータフィールドにＦＣフレームが収容されている旨をデータ識別フィールドに書き込む。セグメント情報ヘッダが付加されたＦＣフレームは、イーサーネットフレーム送信部２０６でイーサーネットヘッダが付加され、イーサーネットフレームとしてイーサーネットインタフェース２０７から広域イーサーネット網１０３に送信される。また、イーサーネットフレーム送信部２０６は、ＦＣフレームが収容されたイーサーネットフレームを広域イーサーネット網１０３に送信すると、受信メモリカウンタ２０５を−１カウントダウンする。
・ＦＣインタフェース２０１を介して受信したＦＣフレームのサイズが、「（イーサーネットデータフィールドのサイズ）−（セグメント情報ヘッダのサイズ）」よりも大きい場合
この場合、ＦＣセグメント部２０３は、ＦＣフレームをセグメント化し、イーサーネットデータフィールドに収容する。セグメント化するＦＣフレームのサイズはユーザによる指定値としても良く、イーサーネットデータフィールドに収容できる最大値としても良い。このとき、ＦＣセグメント部２０３は、セグメント化した先頭のＦＣフレームの前にセグメント情報ヘッダを付加し、以下のイーサーネットデータフィールドにＦＣフレームが収容されている旨をデータ識別フィールドに書き込むとともに、セグメント化されたＦＣフレームの先頭であることを示すシーケンスナンバー１を書き込む。さらに、ＦＣセグメント部２０３は、ランダム数値を割り当て、セグメント情報ヘッダに書き込むとともに、このランダム数値を次のフレームのためにＦＣセグメント部２０３内で保持する。セグメント情報ヘッダが付加されたＦＣフレームは、イーサーネットフレーム送信部２０６でイーサーネットヘッダが付加され、イーサーネットフレームとしてイーサーネットインタフェース２０７から広域イーサーネット網１０３に送信される。
【００６９】
ＦＣセグメント部２０３は、セグメント化された次のＦＣフレームをイーサーネットデータフィールドに収容する場合、上記と同様に、以下のイーサーネットデータフィールドにＦＣフレームが収容されている旨をデータ識別フィールドに書き込むとともに、次のセグメント化ＦＣフレームのセグメント情報ヘッダにシーケンスナンバー２を書き込み、さらに、ＦＣセグメント部２０３内に保持されていたランダム数値を書き込む。セグメント情報ヘッダが付加されたＦＣフレームは、上記と同様にイーサーネットフレーム送信部２０６により、イーサーネットインタフェース２０７から広域イーサーネット網１０３に送信される。
【００７０】
以降、ＦＣセグメント部２０３は、セグメント化されたＦＣフレームが最終フレームとなるまで上記の処理を継続する。
【００７１】
ＦＣセグメント部２０３は、セグメント化されたＦＣフレームが最終フレームとなった場合には、上記と同様に、以下にＦＣフレームが収容されている旨、シーケンスナンバーおよびランダム数値の書き込みを行うとともに、最終フレームであることを示すセグメント情報ヘッダ内のフレーム最終ビットを１にし、ＦＣセグメント部２０３内に保持されていたランダム数値とシーケンスナンバーをクリアする。そして、セグメント化された最終ＦＣフレームを収容したイーサーネットフレームが、イーサーネットフレーム送信部２０６によりイーサーネットインタフェース２０７から広域イーサーネット網１０３に送信された後、ＦＣセグメント部２０３は、データ受信メモリカウンタ２０５を−１カウントダウンする。
【００７２】
次に、ＦＣインタフェース２０１を介して受信したデータがオーダードセットである場合の処理について説明する。
【００７３】
ファイバチャネル装置１０１は、通常のＦＣフレームの送信に際しては、ＦＣ−ＰＨ（ＦＣ−ＰＨｙｓｉｃａｌ  ａｎｄ  ｓｉｇｎａｌｉｎｇ  ｉｎｔｅｒｆａｃｅ）で規定されているとおり、Ｒ＿ＲＤＹプリミティブに基づくＢＢクレジット制御により送信の可否を決定するが、オーダードセットの送信に際しては、Ｒ＿ＲＤＹプリミティブとは無関係にオーダードセットの送信を行う。つまり、ファイバチャネル接続装置１０２は、ファイバチャネル装置１０１からのオーダードセット受信時にはＲ＿ＲＤＹプリミティブをファイバチャネル装置１０１に返信しないので、ファイバチャネル装置１０１ではＢＢクレジット制御が行われず、それにより、送信先のファイバチャネル装置１０５にて容易にバッファオーバーフローを引き起こす原因となる。例えば、これはファイバチャネル装置１０５のデータ処理速度が２Ｇｂｐｓであり、広域イーサーネット網１０３のデータ転送速度が１００Ｍｂｐｓである場合を想定すればよい。
【００７４】
そこで、ファイバチャネル接続装置１０２は、送信先のファイバチャネル装置１０５が、特定のオーダードセットを受信したことを認識できる数をＮ個とすると、ファイバチャネル装置１０１から特定のオーダードセットをＮ個以上連続して受信した場合、Ｎ個の特定のオーダードセットのみを広域イーサーネット網１０３に送信する。それにより、広域イーサーネット網１０３の利用効率を向上させることができる。
【００７５】
なお、特定のオーダードセットは１種類とは限らず、複数種類の場合も考えられる。そのため、ファイバチャネル接続装置１０２，１０４には、特定のオーダードセットが複数種である場合にも上記のような処理を可能とする機能を実装することが望ましい。また、オーダードセットに応じて識別可能数Ｎが異なることも考えられるので、識別可能数Ｎについてもオーダードセット毎に用意することが望ましい。
【００７６】
ＦＣ受信部２０２は、ＦＣインタフェース２０１を介して受信したデータがオーダードセットである場合、受信したオーダードセットをオーダードセット処理部２０４に入力する。
【００７７】
オーダードセット処理部２０４は、図７のフローチャートに沿って処理を行う。
【００７８】
まず、オーダードセット処理部２０４は、今回受信されたデータがオーダードセットであり、そのオーダードセットがＦＣ受信部２０２から入力されたか、または、今回受信されたデータがＦＣフレームであり、そのＦＣフレームの受信通知がＦＣセグメント部２０３から入力されたかを識別する（ステップ７００）。その結果、オーダードセットである場合はステップ７０１へ遷移し、ＦＣフレームである場合はステップ７１０へ遷移する。
【００７９】
オーダードセット処理部２０４は、ステップ７００において、今回受信されたデータがオーダードセットであり、そのオーダードセットがＦＣ受信部２０２から入力された場合、そのオーダードセットが、以降の処理の対象となる特定のオーダードセットの中の１つであるかを識別する（ステップ７０１）。その結果、特定のオーダードセットの１つである場合はステップ７０２へ遷移し、特定のオーダードセットでない場合はステップ７０９へ遷移する。
【００８０】
オーダードセット処理部２０４は、ステップ７０１において、今回受信されたオーダードセットが特定のオーダードセットであった場合、その特定のオーダードセットが前回のオーダードセット受信時に識別可能数Ｎに達し、イーサーネットフレームに収容されて広域イーサーネット網１０３に送信されたものであるか確認する（ステップ７０２）。これは、オーダードセット処理部２０４内に送信オーダードセット情報を記録・保持することとし、保持されている前回の送信オーダードセット情報との比較を行うことにより容易に確認することができる。その結果、今回受信された特定のオーダードセットが前回広域イーサーネット網１０３に送信されている場合は、今回受信した特定のオーダードセットを廃棄し、ステップ７００へ戻って次のデータ受信を待ち、送信されていない場合は、ステップ７０３へ遷移する。
【００８１】
オーダードセット処理部２０４は、ステップ７０２において、今回受信された特定のオーダードセットが前回広域イーサーネット網１０３に送信されていない場合、今回受信した特定のオーダードセットの内容をオーダードセット処理部２０４内に保持するとともに、オーダードセット処理部２０４内の不図示のオーダードセットカウント部のカウント値を＋１する（ステップ７０３）。
【００８２】
次に、オーダードセット処理部２０４は、オーダードセットカウント部のカウント値が２以上であるかを確認する（ステップ７０４）。その結果、カウント値が１以下である場合はステップ７００へ戻り、２以上である場合はステップ７０５へ遷移する。
【００８３】
オーダードセット処理部２０４は、ステップ７０４において、カウント値が２以上であった場合、今回受信された特定のオーダードセットの内容とオーダードセット処理部２０４に保持されていた前回受信された特定のオーダードセットの内容とを比較する（ステップ７０５）。その結果、前回受信された特定のオーダードセットの内容と同じ場合はステップ７０６に遷移し、異なる場合はステップ７０８に遷移する。
【００８４】
オーダードセット処理部２０４は、ステップ７０５において、今回受信された特定のオーダードセットの内容が前回受信された特定のオーダードセットの内容と同じ場合は、オーダードセットカウント部のカウント値に基づき、オーダードセット処理部２０４内に保持されている、今回受信された特定のオーダードセットの個数が、ファイバチャネル装置１０５にて受信したことを識別可能な数Ｎに達したかを確認する（ステップ７０６）。その結果、識別可能数Ｎに達しない場合は、ステップ７００へ戻って次のデータ受信を待ち、識別可能数Ｎに達した場合は、ステップ７０７に遷移する。
【００８５】
オーダードセット処理部２０４は、ステップ７０６において、オーダードセット処理部２０４内に保持されている、今回受信された特定のオーダードセットの個数が識別可能数Ｎに達した場合は、その特定のオーダードセットのＮ個分をイーサーネットデータフィールドに収容し、Ｎ個分の特定のオーダードセットの先頭にのみセグメント情報ヘッダを付加し、イーサーネットフレーム送信部２０６に出力する。セグメント情報ヘッダが付加された特定のオーダードセットは、イーサーネットフレーム送信部２０６でイーサーネットヘッダが付加され、イーサーネットフレームとしてイーサーネットインタフェース２０７から広域イーサーネット網１０３に送信される（ステップ７０７）。このとき、セグメント情報ヘッダ内のデータ識別フィールドには、以下のイーサーネットデータフィールドにオーダードセットが収容されている旨が書き込まれる。また、オーダードセット処理部２０４は、内部に保持されていたオーダードセットをクリアし、送信オーダードセット情報として内部に記録・保持する。さらに、オーダードセット処理部２０４は、オーダードセットカウント部のカウント値をクリアする。
【００８６】
オーダードセット処理部２０４は、ステップ７０５において、今回受信された特定のオーダードセットの内容が前回受信された特定のオーダードセットの内容と異なっていた場合は、内部に保持されていた特定のオーダードセット、つまり前回受信された特定のオーダードセットをイーサーネットデータフィールドに収容し、セグメント情報ヘッダを付加し、イーサーネットフレーム送信部２０６に出力する。セグメント情報ヘッダが付加された特定のオーダードセットは、上記と同様にイーサーネットフレーム送信部２０６により、イーサーネットインタフェース２０７から広域イーサーネット網１０３に送信される（ステップ７０８）。このとき、セグメント情報ヘッダ内のデータ識別フィールドには、以下のイーサーネットデータフィールドにオーダードセットが収容されている旨が書き込まれる。また、オーダードセット処理部２０４は、今回受信されたオーダードセットを保持するとともに、オーダードセットカウント部のカウント値をクリアする。
【００８７】
また、オーダードセット処理部２０４は、ステップ７０１において、今回受信されたオーダードセットが特定のオーダードセットでない場合は、そのオーダードセットをイーサーネットデータフィールドに収容し、セグメント情報ヘッダを付加し、イーサーネットフレーム送信部２０６に出力する。セグメント情報ヘッダが付加されたオーダードセットは、上記と同様にイーサーネットフレーム送信部２０６により、イーサーネットインタフェース２０７から広域イーサーネット網１０３に送信される（ステップ７０９）。このとき、セグメント情報ヘッダ内のデータ識別フィールドには、以下のイーサーネットデータフィールドにオーダードセットが収容されている旨が書き込まれる。
【００８８】
また、オーダードセット処理部２０４は、ステップ７００において、今回受信されたデータがＦＣフレームであり、そのＦＣフレームの受信通知がＦＣセグメント部２０３から入力された場合は、内部に保持されていた特定のオーダードセットをイーサーネットデータフィールドに収容し、セグメント情報ヘッダを付加し、イーサーネットフレーム送信部２０６に出力する。セグメント情報ヘッダが付加された特定のオーダードセットは、上記と同様にイーサーネットフレーム送信部２０６により、イーサーネットインタフェース２０７から広域イーサーネット網１０３に送信される（ステップ７１０）。このとき、セグメント情報ヘッダ内のデータ識別フィールドには、以下のイーサーネットデータフィールドにオーダードセットが収容されている旨が書き込まれる。なお、イーサーネットフレーム送信部２０６では、オーダードセット処理部２０４から入力された特定のオーダードセットだけでなく、ＦＣセグメント部２０３から入力されたＦＣフレームも、上述の処理にしたがってイーサーネットインタフェース２０７から送信する。オーダードセット処理部２０４は、この時点で送信オーダードセット情報とオーダードセットカウンタをクリアする。
【００８９】
つまり、オーダードセット処理部２０４は、特定のオーダードセットについては、送信先のファイバチャネル装置１０５における識別可能数Ｎ個を連続して受信するまで内部に保持し、連続してＮ個受信した時点で、Ｎ個の特定のオーダードセットをイーサーネットフレームに収容して送信する。その後、連続して同じオーダードセットが入力された場合はそのオーダードセットを廃棄処理する。また、識別可能数Ｎに達する前に異なるオーダードセットまたはＦＣフレームを受信した場合には、保持されていた特定のオーダードセットをイーサーネットフレームに収容して送信処理を行う。
【００９０】
続いて、イーサーネットインタフェース２０９を介して受信したデータを、ＦＣインタフェース２１３から送信する際の処理について説明する。
【００９１】
イーサーネットフレーム受信部２１０は、イーサーネットインタフェース２０９を介して受信したイーサーネットフレームのデータフィールドからデータを取り出し、ＦＣリアセンブリ部２１１へ出力する。
【００９２】
ＦＣリアセンブリ部２１１は、イーサーネットフレーム受信部２１０から入力されたデータがＦＣフレームであるか、オーダードセットであるかを識別する。なお、ＦＣリアセンブリ部２１１は、ＦＣリアセンブリ部２１１に入力されたデータに付加されたセグメント情報ヘッダ内のデータ識別フィールドにより、当該データがＦＣフレームであるか、オーダードセットであるかを容易に識別することが可能である。以降の処理は、データの種類に応じて異なるため、それぞれの場合について説明する。
【００９３】
最初に、ＦＣリアセンブリ部２１１に入力されたデータがＦＣフレームである場合の処理について説明する。以下では、ＦＣリアセンブリ部２１１にｎ番目に入力されたセグメント化ＦＣフレームをＦn、そのセグメント化ＦＣフレームＦnのセグメント情報ヘッダ内のランダム数値をＬn、シーケンスナンバーをＭnとして説明する。
【００９４】
ＦＣリアセンブリ部２１１は、イーサーネットフレーム受信部２１０から入力されたセグメント化ＦＣフレームＦnが、セグメント情報ヘッダによりセグメント化されたＦＣフレームの先頭であると判断した場合、つまりシーケンスナンバーＭnが１であった場合には、セグメント情報ヘッダ内のランダム数値フィールドの値ＬnとシーケンスナンバーＭnをＦＣリアセンブリ部２１１内に保持するとともに、次のイーサーネットフレーム受信部２１０からの入力があるまでセグメント化ＦＣフレームＦnをＦＣリアセンブリ部２１１に保持する。
【００９５】
ＦＣリアセンブリ部２１１は、次のセグメント化ＦＣフレームＦn+1がイーサーネットフレーム受信部２１０から入力されると、セグメント情報ヘッダ内のランダム数値Ｌn+1を、前回保持したランダム数値Ｌnと比較する。
【００９６】
ＦＣリアセンブリ部２１１は、イーサーネットフレーム受信部２１０から入力されたセグメント情報ヘッダのランダム数値Ｌn+1が保持していた値Ｌnと一致した場合、そのフレームは前回受信したＦＣフレームと同一フレームからセグメント化されたものと判断し、シーケンスナンバーＭn+1を確認する。
【００９７】
ＦＣリアセンブリ部２１１は、ランダム数値Ｌn+1＝Ｌn、かつ、シーケンスナンバーＭn+1が前回保持していた値Ｍn＋１と一致した場合には、広域イーサーネット網１０３内でのフレームの喪失および送信順序の入れ替えがなかったものと判断し、セグメント化ＦＣフレームＦn+1を内部に保持する。
【００９８】
ＦＣリアセンブリ部２１１は、広域イーサーネット網１０３内でのフレームの喪失および送信順序の入れ替えがなかったと判断した場合、続いて、セグメント情報ヘッダにより、セグメント化ＦＣフレームＦn+1がセグメント化されたＦＣフレームの最終フレームであるか判断する。ここで、セグメント情報ヘッダにより、セグメント化ＦＣフレームＦn+1がセグメント化されたＦＣフレームの最終フレームでないと判断した場合、つまりセグメント情報ヘッダ内のフレーム最終フィールドの値が１でない場合は、次のセグメント化ＦＣフレーム受信を待つ。一方、セグメント情報ヘッダにより、セグメント化ＦＣフレームＦn+1がセグメント化されたＦＣフレームの最終フレームであると判断した場合、内部に保持されていたセグメント化ＦＣフレームからＦＣフレームをリアセンブリ（再組み立て）した後、ＦＣ送信部２１２に送信する。ＦＣ送信部２１２では、ＦＣ送信部２１２内の不図示のＢＢクレジットカウンタを＋１カウントアップする。
【００９９】
ここでＦＣ送信部２１２がリアセンブリされたＦＣフレームをＦＣインタフェース２１３に送信処理する条件は、ファイバチャネル標準にしたがい、ＦＣ送信部２１２内のＢＢクレジットカウンタのカウント値がＦＣインタフェース２１３に接続された対向ファイバチャネル装置１０１が持つＢＢクレジット数（対向ファイバチャネル装置１０１における有効なバッファ数）に達していない場合のみである。また、ＦＣ送信部２１２内のＢＢクレジットカウンタは、ＦＣ受信部２０２がＦＣインタフェース２１２からＲ＿ＲＤＹプリミティブを受信した時点でカウントダウンされる。
【０１００】
つまり、本実施形態では、上述のようにファイバチャネル装置１０１がファイバチャネル接続装置１０２のバッファサイズ監視を行うだけでなく、ファイバチャネル接続装置１０２も、ファイバチャネル装置１０１にバッファオーバーフローが発生しないようＢＢクレジット制御によるファイバチャネル装置１０１のバッファサイズ監視を行っている。
【０１０１】
ＦＣリアセンブリ部２１１は、ランダム数値Ｌn+1が保持していた値Ｌnと異なっていた場合には、今回受信したセグメント化ＦＣフレームＦn+1が前回受信したセグメント化ＦＣフレームＦnと同一のＦＣフレームからセグメント化されたものではないと判断し、前回受信したセグメント化ＦＣフレームＦnともども廃棄する。
【０１０２】
また、ＦＣリアセンブリ部２１１は、ランダム数値Ｌn+1が保持していた値Ｌnと同じであったとしても、シーケンスナンバーが連続しない場合、つまりＭn＋１≠Ｍn+1の場合には、広域イーサーネット網１０３内でイーサーネットフレームが喪失したと判断し、セグメント化ＦＣフレームＦn+1を前回受信したセグメント化ＦＣフレームＦnともども廃棄する。
【０１０３】
ここで、ＩＥＥＥ８０２．３ｘで定義されているイーサーネットのポーズフレームとの関連について説明する。
【０１０４】
ＩＥＥＥ８０２．３ｘでは、全二重リンクのフロー制御としてポーズフレームを利用したリンク制御を規定している。ＩＥＥＥ８０２．３ｘをサポートする装置は、ポーズフレームを受信すると、そのポーズフレームがフロー制御を行うための制御フレームであることを認識し、ポーズ処理を実行する。
【０１０５】
具体的には、ファイバチャネル接続装置１０２は、広域イーサーネット網１０３からイーサーネットインタフェース２０９を介してイーサーネットフレーム受信部２１０にてポーズフレームを受信した場合、そのポーズフレームにより要求された送信中止時間だけ、広域イーサーネット網１０３へのイーサーネットフレームの送信を停止する。
【０１０６】
ファイバチャネル接続装置１０２にてポーズフレームによるフロー制御を行う場合、ＦＣ送信部２１２がＲ＿ＲＤＹプリミティブを対向ファイバチャネル装置１０１に送信する条件は、イーサーネットフレーム送信部２０６がセグメント化されたＦＣフレームの最終フレームをイーサーネットインタフェース２０７から広域イーサーネット網１０３に送信することである。そのため、ファイバチャネル接続装置１０２にてポーズフレームによるフロー制御が行われる場合においても、ＦＣセグメント部２０３内のデータ受信メモリをオーバーフローさせる新たなＦＣフレームが対向ファイバチャネル装置１０１から受信されることはない。
【０１０７】
なお、広域イーサーネット網１０３からイーサーネットフレーム受信部２１０でポーズフレームが受信された場合、そのポーズフレームはポーズフレーム制御部２０８に出力される。ポーズフレーム制御部２０８では、ＩＥＥＥ８０２．３ｘで規定された制御処理にしたがって、イーサーネットフレーム送信部２０６に対し、広域イーサーネット網１０３へのイーサーネットフレームの送信を停止するよう指示する。
【０１０８】
さらに、ＦＣ送信部２１２からＦＣインタフェース２１３に対して送信されるＦＣフレームと、ポーズフレームとの関連について説明する。
【０１０９】
通常のファイバチャネル標準にしたがえば、ＦＣ送信部２１２が対向ファイバチャネル装置１０１にＦＣフレームを送信する条件は、ＦＣ送信部２１２が送信したＦＣフレーム数が、対向ファイバチャネル装置１０１のクレジット数に達していないことである。つまり、対向ファイバチャネル装置１０１にすでに送信しているＦＣフレームが対向ファイバチャネル装置１０１の持つＢＢクレジット数に達した場合は、ＦＣ送信部２１２は、ＦＣ受信部２０２でＲ＿ＲＤＹプリミティブを受信するまでＦＣフレームの送信を行わない。これはファイバチャネル標準に従った動作であるため、特に詳細を記述しない。
【０１１０】
また、ＦＣ送信部２１２は、内部のＢＢクレジットカウンタのカウント値がＦＣインタフェース２１３に接続された対向ファイバチャネル装置１０１が持つＢＢクレジット数に達した場合、ファイバチャネル標準にしたがい、対向ファイバチャネル装置１０１へのＦＣフレームの送信を停止するだけでなく、ポーズフレーム制御部２０８に対してポーズフレーム送信を要求する。ポーズフレーム制御部２０８は、ポーズフレーム送信要求を受信すると、イーサーネットフレーム送信部２０６に対し、イーサーネットインタフェース２０７を介して広域イーサーネット網１０３にポーズフレームを送信するよう指示する。このとき、ポーズフレームは、ＦＣフレームやオーダードセットと同様に、イーサーネットフレーム送信部２０６でイーサーネットヘッダが付加され、イーサーネットフレームとして広域イーサーネット網１０３に送信される。上記の動作により、ファイバチャネルのＢＢクレジット制御とイーサーネットのポーズフレームによるフロー制御とを相互に関連させることができる。
【０１１１】
次に、ＦＣリアセンブリ部２１１に入力されたデータがオーダードセットである場合の処理について説明する。
【０１１２】
オーダードセットは、４０ビット列の組み合わせに意味を持たせた固定長のデータであるため、複数のイーサーネットフレームからそれぞれ取り出したオーダードセットをリアセンブリする必要はない。
【０１１３】
したがって、ＦＣリアセンブリ部２１１は、オーダードセットを受信順序どおりにＦＣ送信部２１２を介してＦＣインタフェース２１３に送信する。
【０１１４】
なお、本発明においては、オーダードセットの転送方式をオーダードセット処理部２０４内の不図示のメモリの閾値に応じて変更しても良い。本実施形態では、オーダードセット処理部２０４内のメモリに保持されている特定のオーダードセットを認識可能数だけまとめて送信し、残りを廃棄していたが、例えば、オーダードセット処理部２０４内のメモリに保持されたオーダードセットのデータ量が決められた閾値を超えるまでは、受信したオーダードセットを全て送信するといった応用が考えられる。
【図面の簡単な説明】
【０１１５】
【図１】本発明の一実施形態によるファイバチャネル接続装置が適用されるネットワーク構成の概略図である。
【図２】図１に示したネットワーク構成の典型的な応用例を示す図である。
【図３】本発明に係るイーサーネットフレームの構成を説明する図である。
【図４】本発明に係る、複数のオーダーセットを収容しているイーサーネットフレームの構成を説明する図である。
【図５】本発明に係る、複数のＦＣフレームを収容しているイーサーネットフレームの構成を説明する図である。
【図６】図１に示したファイバチャネル接続装置の構成を示す図である。
【図７】図６に示したオーダードセット処理部の動作を説明するフローチャートである。
【符号の説明】
【０１１６】
１０１，１０５    ファイバチャネル装置
１０２，１０４    ファイバチャネル接続装置
１０３    広域イーサーネット網
２０１，２１３    ＦＣインタフェース
２０２    ＦＣ受信部
２０３    ＦＣセグメント部
２０４    オーダードセット処理部
２０５    データ受信メモリカウンタ
２０６    イーサーネットフレーム送信部
２０７，２０９    イーサーネットインタフェース
２０８    ポーズフレーム制御部
２１０    イーサーネットフレーム受信部
２１１    ＦＣリアセンブリ部
２１２    ＦＣ送信部
【図１】
2005064901.tif 000003
【図２】
2005064901.tif 000004
【図３】
2005064901.tif 000005
【図４】
2005064901.tif 000006
【図５】
2005064901.tif 000007
【図６】
2005064901.tif 000008
【図７】
2005064901.tif 000009