(57)【要約】      （修正有）【課題】ＦＥＣ方式を採用したｉＳＣＳＩプロトコル準拠のストレージ装置間のデータ送受信において、パケットが喪失した場合でも送信データの復元が可能なストレージシステムを実現する。【解決手段】ネットワーク側のポートとストレージ装置側のポートとの間に介在し、パケットデータの送受信を行うシステムにおいて、送信先に対応してＦＥＣ冗長度を登録して管理する送信管理テーブルと、受信先に対応してＦＥＣ冗長度を登録して管理する受信管理テーブルと、ストレージ装置で生成されるパケット化されたｉＳＣＳＩ層のデータを、該送信管理テーブルを参照して送信先に応じた冗長度を持たせてＦＥＣエンコード処理するエンコード部と、該受信管理テーブルを参照して、ネットワークから受信されるパケットデータをＦＥＣデコード処理し、ｉＳＣＳＩ層のデータに復号化するデコード部とを有する。【選択図】  図１
2004171206.tif 000002
【特許請求の範囲】
【請求項１】
情報発生部からの情報をパケット化して、ネットワークに送信し、またはネットワークからパケットを受信する情報処理装置において、情報発生部からの情報をＴＣＰ／ＩＰパケット群に変換する手段と、送信する相手先に対応してＦＥＣ（Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ）の冗長度を管理する管理部と、該管理部に保持している相手先の冗長度を参照して、ＴＣＰ／ＩＰ変換されたパケット群に対してＦＥＣエンコード処理を行うエンコード部と、ネットワークから受信されるパケット群の情報をＦＥＣデコード処理するデコード部とを有する情報処理装置。
【請求項２】
前記管理部はメモリに登録されるテーブルを有し、テーブル内に登録される冗長度は相手先ごとに変更可能である請求項１記載の情報処理装置。
【請求項３】
情報処理装置は、情報発生部にディスクドライブを有するストレージ装置であり、かつ情報発生部からの情報をＴＣＰ／ＩＰパケットに変換する手段はｉＳＣＳＩプロトコル処理手段であり、エンコード部はｉＳＣＳＩのパケット群をエンコードし、デコード部はネットワークから受診したパケット群をデコード処理してｉＳＣＳＩのパケット群とする請求項１の情報処理装置。
【請求項４】
情報処理装置において、該エンコード部でＦＥＣエンコード処理されたデータはＵＤＰパケット群としてネットワークに送信され、かつネットワークから受信されたＵＤＰパケット群は該デコード部でＦＥＣデコード処理される請求項１の情報処理装置。
【請求項５】
ネットワーク側のポートとストレージ装置側のポートとの間に介在し、パケットデータの送受信を中継する装置であって、
送信先に対応してＦＥＣ冗長度を登録して管理する送信管理テーブルと、受信先に対応してＦＥＣ冗長度を登録して管理する受信管理テーブルと、ストレージ装置で生成されるパケット化されたｉＳＣＳＩ層のデータを、該送信管理テーブルを参照して送信先に応じた冗長度を持たせてＦＥＣエンコード処理するエンコード部と、該受信管理テーブルを参照して、ネットワークから受信されるパケットデータをＦＥＣデコード処理し、ｉＳＣＳＩ層のデータに復号化するデコード部とを有する中継装置。
【請求項６】
前記送信管理テーブルはＦＥＣ処理が可能な送信先アドレスを登録し、かつ前記受信管理テーブルはＦＥＣ処理が可能な送信元アドレスを登録しており、該送信管理テーブルを参照して送信先アドレスが登録されていれば、ｉＳＣＳＩデータは前記エンコード部でＦＥＣ処理されてネットワークへ送信され、送信先アドレスが登録されていなければ、ｉＳＣＳＩデータは該エンコード部でＦＥＣ処理されずにネットワークへ送信され、一方ネットワークから受信されるパケットデータに対し、該受信管理テーブルを参照して送信元アドレスが登録されていれば該デコード部でＦＥＣデコード処理してｉＳＣＳＩデータに復号化し、登録されていなければ該デコード部でＦＥＣ復号化されずにｉＳＣＳＩ層へ送る請求項５記載の装置。
【請求項７】
ネットワークを介して受信される制御フレームの内容を解析してアドレスを追加または削除するようにして、前記送信管理テーブルの内容及び前記受信管理テーブルの内容を変更する手段を有する請求項５記載の装置。
【請求項８】
ｉＳＣＳＩプロトコルを用いた装置間でネットワークを介してデータを伝送する通信方法であって、ＦＥＣ通信モードでデータの送受信を行う第１の通信モードと、ＴＣＰ／ＩＰ通信モードでデータの送受信を行う第２の通信モードと、データの通信先となる相手のｉＳＣＳＩ  ネームをメモリに登録して管理するステップと、送信先に対応してＦＥＣの冗長度をメモリに登録して管理するステップと、データを送信する相手先のｉＳＣＳＩ  ネームがメモリに登録されているか否かをチェックするステップと、チェックの結果、ｉＳＣＳＩ  ネームがメモリに登録されていればメモリに登録されているＦＥＣの冗長度に基づいてデータをＦＥＣ処理して該第１の通信モードに従って送信するステップと、チェックの結果、ｉＳＣＳＩ  ネームがメモリに登録されていなければ第２のモードでデータを送信するステップとを有する通信方法。
【請求項９】
請求項８において、更に通信先毎に送信するパケットの喪失率を求めて管理するステップと、パケットの喪失率に従って通信先毎に該メモリに登録されている冗長度を変更するステップとを有する通信方法。
【請求項１０】
請求項８において、更に受信側の装置で、送信元に対応してＦＥＣの冗長度をメモリに登録して管理するステップと、データを受信するとき、送信元のｉＳＣＳＩ  ネームが該メモリに登録されているか否かをチェックするステップと、チェックの結果、ｉＳＣＳＩ  ネームがメモリに登録されていればメモリに登録されているＦＥＣの冗長度に基づいてデータをｉＳＣＳＩデータに復元処理するステップとを有する通信方法。
【請求項１１】
請求項８において、受信側の装置で、ｉＳＣＳＩデータに復元された場合にはＡＣＫを送信元に返送し、復元されなかった場合にはＡＣＫを送出しないようにするステップと、送信元の装置ではＡＣＫを受け取らなかった場合に、先に送信した同じデータを同じ送信先にＦＥＣ処理して該第１の通信モードに従って送信するステップとを有する通信方法。
【請求項１２】
複数のストレージ装置がネットワーックに接続されてデータの送受信を行うストレージシステムにおいて、該ストレージ装置はデータを記録するディスクドライブと、該ディスクドライブに接続されるディスクアダプタと、該ディスクアダプタと接続されるキャッシュメモリと、該キャッシュメモリに接続されるチャネルアダプタと、該ディスクドライブからのデータをＴＣＰ／ＩＰ上のｉＳＣＳＩパケット群に変換する手段と、送信する相手先に対応してＦＥＣ（Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ）の冗長度を管理する管理部と、該管理部に保持している相手先の冗長度を参照して、変換されたＴＣＰ／ＩＰ上のｉＳＣＳＩパケット群に対してＦＥＣエンコード処理を行うエンコード部と、ネットワークから受信されるパケット群の情報をＦＥＣデコード処理するデコード部とを有するストレージシステム。
【請求項１３】
データを記録して処理するアプリケーション層と、該アプリケション層のデータに対してＳＣＳＩ変換するｉＳＣＳＩ層と、ｉＳＣＳＩ層のデータをＴＣＰ／ＩＰ処理するＴＣＰ層及びＩＰ層を有するストレージ装置よりネットワークに対してデータの送受信を行うストレージシステムにおいて、ｉＳＣＳＩ層からのデータに対して、冗長符号を付加するＦＥＣエンコード処理層と、エンコード処理されたデータにＵＤＰ処理するＵＤＰ層と、ＵＤＰ層からのデータに対してＩＰ処理を行うＩＰ層とを有し、該ＩＰ層で処理されたデータをネットワークに送出することを特徴とするストレージシステム。
【請求項１４】
請求項１３において、更に、ネットワークから受信されたデータであって、該ＩＰ層でＩＰ処理され、ＵＤＰ層でＵＤＰ処理されたデータをＦＥＣデコード処理するＦＥＣデコード層を有するストレージシステム。
【請求項１５】
請求項１３において、該ＦＥＣエンコード処理層における冗長符号の冗長度をデータの送信先毎に変更する手段を有するストレージシステム。
【請求項１６】
ｉＳＣＳＩプロトコルを用いた装置のｉＳＣＳＩ間でネットワークを介してデータを伝送する通信方法であって、ＦＥＣ処理した通信モードでデータの送受信を行う第１の通信モードと、ＴＣＰ／ＩＰ通信モードでデータの送受信を行う第２の通信モードと、データの通信先となる相手がｉＳＣＳＩ層を有するか否かをｉＳＣＳＩ  ネームを用いてチェックするステップと、このチェックの結果、相手がｉＳＣＳ層を有する場合、相手に応じたＦＥＣの冗長度に基づいてデータをＦＥＣ処理して該第１の通信モードに従って送信するステップと、チェックの結果、相手がｉＳＣＳＩ層を有しない場合、第２のモードでデータを送信するステップとを有する通信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はストレージシステムに係り、特にネットワークを介して接続されるＲＡＩＤのようなストレージ装置間、又はストレージ装置とホスト間のデータ通信方法、及びそれを実現させるためのストレージ装置の構成に関するものである。
【０００２】
【従来の技術】
ＩＰストレージの普及及びデータのリモートコピーに対するニーズの増大により、ネットワークを介して接続された遠距離にあるストレージ間或いはストレージ装置とサーバ間でデータ転送することが頻繁になってきている。しかも、転送するデータ量は年々増加しており、大容量のデータを高速、高信頼で送信することが必要となってきている。
【０００３】
サーバとストレージ装置間を接続するとインタフェースして、ファイバチャネルやＳＣＳＩインタフェースが知られている。ファイバチャネルはＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を構成する高速データ転送のための標準的なインタフェースとして使用されている。また、ＳＣＳＩインタフェースは、データ伝送速度が速く、伝送遅延も小さい上に、伝送エラーの発生確率が非常に低いと言うメリットがあるので、従来からストレージ装置用のプロトコルとして良く使用されているが、ＳＣＳＩインタフェースは伝送距離が短いと言う問題がある。
【０００４】
最近、ｉＳＣＳＩプロトコルを用いてストレージ装置を接続する試みが行われている。ｉＳＣＳＩとは、ネットワーク技術であるＴＣＰ／ＩＰ上で、インタフェース技術としてＳＣＳＩ処理を実現するためのプロトコル技術であり、現在ＩＥＴＦ（ｔｈｅ  Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）で規格化が進められている。このｉＳＣＳＩプロトコルにより長距離にあるストレージ装置間でデータ転送する場合、ＩＰ層でパケットの喪失が多発することが予想される。
【０００５】
一般にデータ通信におけるパケットの喪失の対策として、ＡＲＱ（Ａｕｔｏｍａｔｉｃ  Ｒｅｐｅａｔ  ｒｅＱｅｓｔ）方式即ち自動再送要求方式や、ＦＥＣ（Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ）方式即ち前方誤り訂正方式が知られている。長距離のデータ伝送を行う場合、パケットの喪失が頻繁に生じる可能性がある。そのため、ＡＲＱ方式のデータ通信によれば、データ再送のための時間がかかり、結果的にデータの伝送効率が低下する。特に、長距離データ伝送ではデータ再送にかかる時間のうち、ネットワーク遅延が距離に従って増大するため、ＡＲＱ方式は好ましいとは言えない。
【０００６】
例えば、特開２００１−７７８５号公報（特許文献１）には、ＦＥＣ方式とＡＲＱ方式を併用し、伝送路の回線品質に適した誤り制御方式を通信相手に通知するためにユニークワードを付加して送信し、受信側ではユニークワードに応じて複合化する技術が開示されている。また、特開２００１−１６８９４４号公報（特許文献２）には、属性の異なる２種以上のデータ（即ちＩＳＯデータとＡＳＹデータ）を送信し、受信側ではこれらの属性に応じて受信処理する方式が提唱されている。
【０００７】
【特許文献１】
特開２００１−７７８５号公報
【特許文献２】
特開２００１−１６８９４４号公報
【０００８】
【発明が解決しようとする課題】
然るに、上記文献１及び文献２には、ストレージ装置との関係が開示されていないし、またＦＥＣ冗長度の変化にどのように対応するのかについても開示がない。
【０００９】
本発明の目的は、ネットワークを介して行うデータ通信においてパケットが喪失した場合でも送信データの復元が可能な通信方法を提供することにある。
本発明の他の目的は、ＦＥＣ方式を採用したｉＳＣＳＩプロトコル準拠のストレージ装置を提供することにある。
本発明の他の目的は、ｉＳＣＳＩ層間でデータの伝送を行う場合、データの送信先毎にＦＥＣ処理の状態やデータ送信の冗長度を変えてデータ送信し、復元することができるストレージシステムを提供することにある。
【００１０】
【課題を解決するための手段】
上記目的を達成するために、本発明は、ストレージ装置どうし又はストレージ装置とホストコンピュータ（一般的な意味のコンピュータであり、サーバも含む）とがネットワークを介して接続されるストレージシステムにおいて、ストレージ装置はｉＳＣＳＩプロトコルを採用し、ｉＳＣＳＩ層間どうしで夫々データの送受信を行うシステムを達成する。ストレージ装置はＦＥＣ制御ユニットを有し、送信側ではこのＦＥＣユニットでデータを冗長化（エンコード処理）し、この冗長化したパケット群をネットワークに送信する。一方受信側ではネットワークから受信した冗長パケット群を元にＦＥＣユニットで受信データを復元（デコード処理）する。このようにＦＥＣ冗長化処理及び復号化処理を行うことにより、冗長化したパケット群の一部が喪失して受信できなくても、元のパケット群は復元可能である。一方受信側でデータの復元できなかった場合には、送信側にＡＣＫが返送されないので、送信側では例えばタイムアウト監視を行うことによりデータを再送することができる。
【００１１】
本発明は送信するパケットに対するＦＥＣの冗長度を変化させることができる。通信する相手のパケット喪失の状態に従って送信側でのＦＥＣの冗長度の状態を変える。冗長度の変更をする手法としては、例えば送受信するデータに対して冗長化を行ったデータ量の比率を変える等のやり方がある。また、パケットの喪失率は、例えば受信側で受信するパケット群の喪失数を送信相手毎に採取して求めることができる。これに基づいて送信側ではデータの冗長度を変えて送信する。例えば、パケットの喪失率が高ければ、ＦＥＣの冗長度を高くして送信し、一方喪失率が低ければ、冗長度を下げて送信する。ネットワークによってパケットの喪失率が時々変化することが予想されるが、それに応じて冗長度を変えられる。また、パケットの喪失率に従って、パケット送信の間隔を変えることも可能であり、広義にはパケット喪失率に従ってデータ送信の状態を変えるようにできる。
本発明は、好ましい例においては送信先に対応してＦＥＣ冗長度を登録して管理する送信管理テーブルと、受信先に対応してＦＥＣ冗長度を登録して管理する受信管理テーブルと、ストレージ装置で生成されるパケット化されたｉＳＣＳＩ層のデータを、送信管理テーブルを参照して送信先に応じた冗長度を持たせてＦＥＣエンコード処理するエンコード部と、受信管理テーブルを参照して、ネットワークから受信されるパケットデータをＦＥＣデコード処理し、ｉＳＣＳＩ層のデータに復号化するデコード部とを有して構成される。これは好ましい例では、ストレージ装置に接続されるアダプタとして構成されるが、ストレージ装置内に組み込まれて構成されるようにしても良い。
【００１２】
本発明はまた、ｉＳＣＳＩプロトコルを用いたストレージシステムのｉＳＣＳＩ間でネットワークを介してデータを伝送する通信方法を実現できる。ＦＥＣ処理した通信モードでデータの送受信を行う第１の通信モードと、ＴＣＰ／ＩＰ通信モードでデータの送受信を行う第２の通信モードと、データの通信先となる相手がｉＳＣＳＩ層を有するか否かをｉＳＣＳＩ  ネームを用いてチェックするステップと、このチェックの結果、相手がｉＳＣＳ層を有する場合、相手に応じたＦＥＣの冗長度に基づいてデータをＦＥＣ処理して該第１の通信モードに従って送信するステップと、チェックの結果、相手がｉＳＣＳＩ層を有しない場合、第２のモードでデータを送信するステップとを有する。
ｉＳＣＳＩ層間で通信するストレージシステムの好ましい例によれば、ＴＣＰセッションを開始するｉＳＣＳＩのログインフレ−ムの送信を監視し、ｉＳＣＳＩ  ネームを取り出し、それが予め決められた通信相手（ｉＳＣＳＩノード、例えばｉＳＣＳＩイニシエータやｉＳＣＳＩターゲット）へのセッションである場合、このセッションが存在する間、その目的アドレスへ送信するときは冗長度を上げるように変化させて送信する。
【００１３】
【発明の実施の形態】
以下、図面を参照して本発明の実施例を説明する。
図１は本発明の一実施例によるネットワークに接続されたストレージシステムを示すブロック図である。図１において、ＩＰネットワーク４００にはストレージ装置１００，２００、及びホストコンピュータ（単にホストと言う）３００が接続されている。このシステムにおいて、ネットワーク４００を介してストレージ装置１００，２００間、又はストレージ装置１００，２００とホスト３００間でパケット形式のデータの送受信が行われる。ストレージ装置間の通信は例えばリモートコピーを行う場合であり、ストレージ装置とホスト間の通信は例えばデータ処理時、或いはデータステーションとして使用される場合である。特徴的なことはストレージ装置１００，２００及びホスト３００は夫々ネットワークとの接続口にＦＥＣ変換アダプタ１１０，２１０，３１０を具備することである。
【００１４】
各ストレージ装置１００，２００は、通常多数のディスクドライブ１０１、２０１と、ディスクドライブ１０１，２０１にＳＣＳＩインタフェース１０２，２０２を介して接続されるディスクアダプタ１０３、２０３と、これらのディスクアダプタ１０３，２０３にバス１０４，２０４を介して接続されるキャッシュメモリ１０５，２０５と、キャッシュメモリ１０５，２０５にバス１０６，２０６を介して接続されるチャネルアダプタ１０７，２０７を具備して構成される。チャネルアダプタ１０７，２０７は夫々ポート１０８，２０８からギガビットイーサネット（登録商標）のような高速ＩＰインタフェース１０９，２０９を介してＦＥＣ変換アダプタ（Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ）１１０，２１０に接続され、これらＦＥＣ変換アダプタ１１０，２１０は高速インタフェース１１１，２１１を介してＩＰネットワーク４００に接続されている。チャネルアダプタ１０７，２０７は夫々ｉＳＣＳＩプロトコルの処理を行う。尚、図示していないが、高速ＩＰインタフェース１１１，２１１はポートと介してＩＰネットワーク４００に接続される。
【００１５】
また、ホスト３００は、情報発生部としての情報処理装置３０１は演算処理装置又はメモリを有し、これらは内部バス３０２を介してホストバスアダプタ（ＨＢＡ）３０３に接続されている。ＨＢＡ３０３はポート３０４から高速ＩＰインタフェース３０５を介してＦＥＣ変換アダプタ３１０に接続されている。ＦＥＣ変換アダプタ３１０はＩＰインタフェース３１１を介してＩＰネットワークに接続される。ホスト３００では、ｉＳＣＳＩ  ＨＢＡ３０３がホストの入出力処理を行い、また、ホストのＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）から指示を受けてコマンドを発行する。
上述のストレージ装置１００，２００およびホスト３００に接続されるＦＥＣ変換アダプタ１１０，２１０，３１０でＦＥＣ符号のエンコード、及びデコードが行われる。このアダプタの詳細な構成は後述する。
尚、図１には示していないが、ＩＰネットワーク４００には本発明の対象となるＦＥＣ変換アダプタ１１０，２１０，３１０を備えていない従来のストレージ装置やホストが接続されていることがある。
【００１６】
図２は本発明の実施例におけるストレージ装置に接続されるＦＥＣ変換アダプタの内部構成を示す図である。
例えばＦＥＣ変換アダプタ１１０は、送信系と受信系の双方の系列から構成される。即ち送信系は、ストレージ装置１００側の物理層１１０１、ストレージ装置からのパケットデータを一時格納するバッファ１１０２、送信パケットデータをＦＥＣエンコード処理するＦＥＣエンコード部１１３、ＦＥＣ処理されたデータを一時格納する送信バッファ１１０３、及び物理層１１０４から構成され、物理層１１０４は高速ＩＰインタフェースを介してネットワークに接続される。
【００１７】
一方、受信系は、物理層１１１４、受信データを一時格納するバッファ１１１３、ＦＥＣデコード部１１５、バッファ１１１２、及び物理層１１１１から構成される。ＦＥＣデコード部１１５では、受信されたパケットデータをデコード処理してＦＥＣ復号化する。
【００１８】
またＦＥＣ変換アダプタ１１０は、制御プロセッサ１１６と、ＦＥＣ送信管理テーブル１１７、及びＦＥＣ受信管理テーブル１１８と、ＦＥＣ許可テーブル１１９を有している。制御プロセッサ１１７はアダプタ１１０内の全体の制御を行う。送信管理テーブル１１７はこのストレージ装置１００から送信可能な相手先のストレージ装置またはホスト等のアドレスが登録されている。ＦＥＣ許可テーブル１１９はＦＥＣ通信を許容するか否かを管理するテーブルであり、通信相手を特定するコードを登録する。尚、これらテーブルの構成は図７を参照して後述される。
【００１９】
送信管理テーブル１１７に送信先アドレスが登録されていれば、送信データはＦＥＣエンコード部１１３でＦＥＣ処理されてネットワークへ送信され、一方送信先アドレスが登録されていなければ、データはＦＥＣエンコード部１１３でＦＥＣ処理されずにネットワークへ送信される。送信データとなるｉＳＣＳＩデータのＦＥＣ処理は、このテーブルに登録されている送信先毎の冗長度に応じて行われる。また冗長符号としては、例えば公知のＸＯＲ演算によるパリティビット符号又はＲｅｅｄ  Ｓｏｌｏｍｏｎ符号等を用いることができる。
【００２０】
受信管理テーブル１１８は送信元となるストレージ装置等のアドレスが登録されている。この受信管理テーブル１１８に送信元アドレスが登録されていればＦＥＣデコード部１１５でＦＥＣデコード処理して内部データであるｉＳＣＳＩデータに復号化し、登録されていなければデコード部１１５でＦＥＣ復号化されずにｉＳＣＳＩ層へ送られる。
ＦＥＣ許可テーブル１１９は通信相手を制御するための台帳としてのテーブルである。これには通信相手のｉＳＣＳＩネーム毎に冗長度が登録される。
【００２１】
図３は本発明の他の実施例を示すストレージシステムのブロック図である。
この例では、ストレージ装置１００’，及び２００’共に、ディスクドライブ１０１，２０１、ディスクアダプタ１０３，２０３、キャッシュメモリ１０５，２０５、チャネルアダプタ１０７，２０７に至るまで信頼性を考慮して全て二重化されている。これに合せて、ＦＥＣ変換アダプタ１１０，２１０も夫々二重化されて、ネットワーク４００に接続されている。これら各々のＦＥＣ変換アダプタ１１０，２１０がエンコード機能とデコード機能を具備している。この例では、高速インタフェース２２０にはＦＥＣ変換アダプタが接続されていない従来のポートと考えてよい。
【００２２】
更に他の例として、ネットワーク５００には管理サーバ５００が接続されても良い。管理サーバ５００は、各ＦＥＣ変換アダプタ１１０，２１０，３１０が持つＦＥＣ送信管理テーブル１１７，ＦＥＣ受信管理テーブル１１８，及び許可テーブル１１９の管理を行うものであり、各通信先（例えばポート）の追加、削除を指示することにより、各ＦＥＣ変換アダプタ間の通信にＦＥＣを使用するか否かを制御する。管理テーブルはＦＥＣの通信を行うＦＥＣ変換アダプタのアドレス、またはポートのアドレスを登録することによりその管理を行う。勿論、ＦＥＣ変換アダプタを備えない従来型のストレージ装置やホストは対象とするアドレスがこのテーブルに登録されないので、ＦＥＣの効果を享有できない。
【００２３】
図４は本発明の一実施例によるデータ転送の概念を示す図である。ストレージ装置１００とストレージ装置２００がルータＡ，Ｂ及びネットワークを介して遠距離でデータを転送する場合を示している。ここで、ストレージ装置２００はそれに限らず、ＦＥＣ変換アダプタを備えるホストまたはサーバであっても良い。
【００２４】
ストレージ装置１００のアプリケーション層で処理されたデータはｉＳＣＳＩ層でプロトコル変換されて、更にＴＣＰ層、ＩＰ層での制御情報を付加してパケット処理されて、ネットワークインタフェース（ＩＦ）を介してＦＥＣ変換アダプタ１１０に送られる。
ＦＥＣ変換アダプタ１１０では、送信データに対してエラー訂正のための冗長符号を付加するＦＥＣ処理（エンコード処理）する。このエンコード処理については後で詳述される。エンコード処理の後ＵＤＰヘッダのポート番号を付加し、更にＩＰパケット処理して、ネットワークＩＦを介してルータＡに送る。データはルータＡのＩＰ層、ネットワークＩＦを介してネットワークに送出される。
【００２５】
一方、受信側でデータはルータＢのネットワークＩＦ、ＩＰ層を介して受信され、ＦＥＣ変換アダプタ２１０へ送られる。受信データはネットワーックＩＦ、ＩＰ層、ＵＤＰ層を介してＦＥＣ層に送られ、そこでＦＥＣの復号化処理（デコード処理）が行われる。復号化処理においては後で詳しく説明されるが、ＦＥＣの冗長符号で訂正処理される。エラーの度合いが大きい場合にはＡＣＫが中々送信側に返送されない。そこで、送信側ではＡＣＫ受領のタイムアウトを監視することにより、もし既定時間内にＡＣＫを受信しなければ送信側から同じデータを再送する。
復号化されたデータはストレージ装置２００に送られ、同様に各層を介してｉＳＣＳＩ層、アプリケーション層へと送られ、使用に供される。
【００２６】
図５は通信に用いられるパケットのフォーマットの一例を示す図である。
ｉＳＣＳＩ層においては、データの通信の単位となるｉＳＣＳＩ  ＰＤＵ（Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ）は、ＢＨＳ（Ｂａｓｉｃ  Ｈｅａｄｅｒ  Ｓｅｇｍｅｎｔ）とデータセグメントから成る。尚、ＢＨＳとデータセグメントとの間にＡＨＳ（Ａｄｄｉｔｉｏｎａｌ  Ｈｅａｄｅｒ  Ｓｅｑｕｅｎｃｅ）が入る場合もあるが、図示の例では省略してある。ＢＨＳはメッセージの長さを格納しており、データセグメントの開始位置やメッセージの境界が分かる。ｉＳＣＳＩ層において、イニシエータとターゲットはｉＳＣＳＩ  ＰＤＵと言うメッセージで通信を行う。ｉＳＣＳＩ  ＰＤＵの長さは４バイトの倍数である。
ＴＣＰ層、ＩＰ層、データリンク層では上記のｉＳＣＳＩ層からのパケットデータに対して先頭に、データリンクヘッダ（ＤＬＨ）、ＩＰヘッダ（ＩＰＨ），ＴＣＰヘッダ（ＴＣＰＨ）が付加される。一方ｉＳＣＳＩパケットデータの最後部にはデータリンクトレイラ（ＤＬＴ）が付加される。尚、イーサネットの場合にデータリンクヘッダはイーサヘッダになる。
【００２７】
図２のバッファ（エンコードバッファ）１１０２にはｉＳＣＳＩのパケットデータに各ヘッダが付加されたものが順次格納される。そして、ＩＰヘッダ、ＴＣＰヘッダ等も含めて冗長化される。冗長化されたデータには、データリンクヘッダ（ＤＬＨ）、ＩＰヘッダ（ＩＰＨ），ＴＣＰヘッダ（ＴＣＰＨ）の他に、更にＵＤＰヘッダ、ＦＥＣヘッダが付加されて、送信される。
【００２８】
本発明においては、ＦＥＣ通信を行う場合ＩＰアドレスではなく、ＷＷＮ（ｗｏｒｌｄ  ｗｉｄｅ  ｎａｍｅ）即ちｉＳＣＳＩネームをＦＥＣ許可テーブルに登録し、それによって通信先の指示等を行う。ｉＳＣＳＩログインを監視してＦＥＣ許可テーブルに登録されている通信先とのログインが行われたら、前述したＦＥＣ送信管理テーブル及びＦＥＣ受信管理テーブルに通信先のアドレスを登録することによりＦＥＣ通信を開始する。ＩＰアドレスは例えばポート毎に付与されるものであるが、ｉＳＣＳＩネームは物理的な１つのストレージ装置に複数のネームが設定されることがある。例えば、１つのストレージを複数のパーティションに分割して複数のディスクとして使用する場合には、１つの物理的なポートに対して複数のｉＳＣＳＩネームが設定される。この利用の仕方はストレージ装置の利用者にとっては大変有意義である。
このように、通信先について例えばＩＰアドレス毎ではなく、ｉＳＣＳＩネーム毎に管理を行う理由は、ｉＳＣＳＩネームの方が例えば、
“ｉｑｎ．１９９３−１１．ｃｏｍ．ｄｉｓｋ−ｖｅｎｄｅｒ．ｄｉｓｋａｒｒｙｓ．ｓｎ．４５６７８”のように、ストレージ装置の利用者にとって覚え易く、意味を持たせ易いこと、及びＩＰアドレスを管理する場合にはネットワークＩＦカード（又はネットワークアダプタカード）を変換したり、接続先のネットワークの設定が変更になったとき、ＩＰアドレスを設定し直さねばならないが、ｉＳＣＳＩネームではその必要が無いこと、及びＩＰアドレスはｉＳＣＳＩ  ネームに比べ詐称される可能性が高いこと等が上げられる。
【００２９】
図６はＦＥＣヘッダのフォーマットを示す図である。
ＦＥＣヘッダは３２ビット、４ワードの構成であり、ワード０はエンコード情報、ＦＥＣ情報の種類、及びＦＥＣ制御情報ＩＤからなる。制御情報の種類により異なるワード１、２，３のＦＥＣ制御情報の内容が変る。ここで、エンコード情報は、ＦＥＣデータ部がＦＥＣ冗長化されているか否かを示す。ＦＥＣ情報の種類は、ＦＥＣ許可テーブルの情報の変更、制御テーブル情報の変更、ＦＥＣ＿ＡＣＫ、パケット喪失率の報告、データ、冗長データの種類を示す。ＦＥＣ制御情報ＩＤはＦＥＣ＿ＡＣＫ，ＦＥＣ＿ＲＪＴが対応する制御情報を示すために用いる。ＦＥＣ制御情報には、データ長、冗長度、パケット到達率、等の情報が含まれる。ＦＥＣデータ部はＦＥＣ制御パケットにｉＳＣＳＩネームが含まれる場合、データパケット、冗長パケットに存在する。
【００３０】
図７はＦＥＣの制御テーブルと送信及び受信管理テーブルの内容の一例を示す図である。
【００３１】
ＦＥＣ許可テーブル１１９はＦＥＣアダプタ毎に備えられており、通信相手がＦＥＣ通信の対象か否かを管理するための所謂台帳として機能する。そのためこれには通信相手毎のｉＳＣＳＩネームと冗長度を登録する。このテーブルに登録されているｉＳＣＳＩネームに対するログインが行われたら、ＦＥＣ送信管理テーブル又はＦＥＣ受信管理テーブルに登録される。尚、この許可テーブル１１９に登録されていない相手に対しては通常のＴＣＰ／ＩＰ通信を行うようにして良い。
【００３２】
ＦＥＣ送信管理テーブル１１７には、個々の送信先アドレス（デスティネーションアドレス）と、それに対応した冗長度と、エンコード用バッファ制御情報が登録されている。ここで、デスティネーションアドレスとしては例えばＩＰアドレスが使用される。送信管理テーブル１１７にデスティネーションアドレスが登録されていれば、送信データであるｉＳＣＳＩデータはＦＥＣエンコード部１１３でＦＥＣ処理されてネットワークへ送信される。即ちＦＥＣ通信モードで送信される。一方デスティネーションアドレスが登録されていなければ、ｉＳＣＳＩデータはＦＥＣエンコード部１１３でＦＥＣ処理されずに、ＴＣＰ／ＩＰの通信モードでネットワークへ送信される。
ＦＥＣ受信管理テーブル１１８には、ソースアドレスに対応してパケット到達率、ＦＥＣデコード用バッファ制御情報が登録される。ソースアドレスとしては受信先のＩＰアドレスが使用される。このパケット到達率からパケット喪失率が求めれれ、最終的には送信先への冗長度の変更のために反映される。
尚、これらＦＥＣ送信管理テーブル及び受信管理テーブルには、更にｉＳＣＳＩネームの欄が追加されても良い。その欄にはｉＳＣＳＩネームが登録され、ＦＥＣ許可テーブルからこのｉＳＣＳＩネームを参照することにより、これらのエンコード、デコード管理サーブルからの登録情報の追加，削除が行われる。
【００３３】
次に図８乃至図１０を参照して、ＦＥＣ変換アダプタにおけるデータを送信するときのＦＥＣ冗長化処理の動作について説明する。
【００３４】
（Ａ）エンコード処理
まず、図８に示すフローチャートを参照してエンコード処理について説明する。ストレージ装置で生成されたデータは、ｉＳＣＳＩパケット群として高速ＩＰインターフェースを介してチャネルアダプタ１０７からＦＥＣ変換アダプタ１１０に送られる。ＦＥＣ変換アダプタ１１０では物理層１１０１を介してこのパケット群が受信され（８０１）、バッファ１１０２に一時的に格納される。そして、ＦＥＣエンコード部１１３では、パケットがｉＳＣＳＩ  Ｌｏｇｉｎ  ｒｅｑｕｅｓｔ  ＰＤＵかまたはｉＳＣＳＩ  Ｌｏｇｉｎ  ｒｅｓｐｏｎｓｅ  ＰＤＵかをチェックする（８０２）。その結果、否ならば、次にＦＥＣ送信管理テーブル１１７を参照し、デスティネーションアドレスがこの管理テーブル１１７登録されているか否かがチェックされる（８０３）。もし、登録されていれば、ＦＥＣエンコード用バッファ１１０３が割り当てらえる（８０４）。一方、制御テーブル１１７に登録されていなければ、パケットはＦＥＣ処理されずそのままの形式（即ちＴＣＰ／ＩＰ形式）のパケット群データとしてバッファ１１０３を介して物理層１１０４に送られ、ネットワークに送出される（８１６）。また、上記ステップ８０４で、ＦＥＣエンコードバッファの領域が割り当てられていなければ、新しいＦＥＣシーケンスの開始準備を行う（８１７）。
【００３５】
上記したＦＥＣ用エンコードバッファが割り当てられる場合、パケットを格納するアドレスが計算され（８０５）、パケットはそのアドレスへそのまま格納される８０６）。即ちＩＰパケットは丸ごとカプセル化され、ＩＰヘッダ、ＴＣＰヘッダ、ＴＣＰデータはそのままバッファに格納される。次に、パケットにはＩＰヘッダ、ＵＤＰヘッダ、ＦＥＣヘッダが付加され、カプセル化して、物理層１１０４を介してネットワークへ送出される（８０７）。ＦＥＣヘッダの各領域には対応する値を格納する。即ちＦＥＣヘッダ種にはＦＥＣデータを、データ長にはカプセル化したパケットの長さを格納し、その他はＦＥＣ送信管理テーブルの内容に従う。
その後、ＦＥＣ送信管理テーブル１１７の内容が更新される（８０８）。このテーブル１１７の更新はこのＦＥＣシーケンスについて格納されるパケット数をプラス“１”する。送信するパケットの総数を管理するためにある。
【００３６】
次に、ＦＥＣシーケンス（冗長度ｎ）に対してｎ個目のパケットか否かが判断され（８０９）、ｎ個目でなければ終了する。一方、ｎ個目であれば、最後に冗長データをｎ＋１個目のパケットして送信するため、冗長度ｎに従ってこのＦＥＣエンコード用バッファのデータから冗長データを作成する（８１０）。そして、冗長データにＩＰヘッダ、ＵＤＰヘッダ、ＦＥＣヘッダを付加し、カプセル化して物理層１１０４を介してネットワークに送出される（８１１）。そしてこの一連のＦＥＣ処理シーケンスの終了処理をする（８１２）。終了処理とは、ＦＥＣ再送機能が有る場合には、このＦＥＣシーケンスはＦＥＣ＿ＡＣＫ待ちとするものであり、ＦＥＣ再送機能が無い場合には、ＦＥＣエンコードバッファを開放するなどの処理である。
さて、上記ステップ８０２でのチェックの結果、Ｙｅｓならば、そのパケット群がｉＳＣＳＩ  Ｉｎｉｔｉａｌ  Ｌｏｇｏｎ  ｒｅｑｕｅｓｔ  ＰＤＵか否かのチェックが行われる（８１３）。その結果Ｙｅｓであれば、ターゲットネームがＦＥＣ許可テーブルに登録されているか否かがチェックされる（８１４）。このテーブル登録のチェックの結果、登録されていれば、パケットのデスティネーションアドレスについてＦＥＣ送信管理テーブルに追加して次の処理へと移る（８１５）。
一方、上記ステップ８１３のチェックの結果、否の場合にはそのパケットをＦＥＣ処理せずそのまま物理層１１０４へ送り（８１６）、処理を終了する。
【００３７】
（Ｂ）送信データが不足している場合の処理動作
次に、図９に示すフローチャートを参照して、送信データが不足している場合の処理動作について説明する。この処理はストレージ装置のチャネルアダプタから正規の数のパケットを受け取っているか否かを確認するための処理である。
ある送信シーケンスにかかるパケット群の送信を開始すると、タイマ割り込みがかかり（８２０）、タイマのカウントが開始される。そしてタイマが、送信処理中のＦＥＣシーケンスの処理開始から一定時間以上経過したか否かがチェックされる（８２１）。経過していなければ処理は終了する。
一方、一定時間を経過していれば、このＦＥＣシーケンスについて既に物理層１１０１から受信しているｍ個のパケットに対して、このＦＥＣシーケンスの冗長度をｍとして冗長データを作成する（８２２）。尚、この冗長度ｍは冗長パケットのＦＥＣヘッダに格納される。
【００３８】
（Ｃ）ＦＥＣパケットの再送動作
次に、図１０のフローチャートを参照してＦＥＣパケットの再送動作について説明する。
この処理の基本的シーケンスは、受信側ではＦＥＣパケットを受信するとＦＥＣ＿ＡＣＫを送信側に返送する。送信側ではこのＦＥＣ＿ＡＣＫを受領することにより、送信したパケットが正しく相手に送られたと認識する。
さて、送信側ではＦＥＣパケットを送信すると、タイマ割り込み処理が行われる（８３０）。そしてあるＦＥＣ＿ＡＣＫ待ち中のＦＥＣシーケンスに関してタイマがタイムアウトをしたか否かがチェックされ（８３１）る。このチェックの結果タイムアウトしていなければ終了する。しかし、チェック８３１の結果、タイムアウトした場合には、このＦＥＣシーケンスについての全パケットを再送信するための処理が行われる。同様にして、これら再送のパケットに関してＦＥＣ＿ＡＣＫを待つことになるので、タイマも再設定される（８３２）。
【００３９】
次に、図１１及び図１２を参照してＦＥＣ変換アダプタ１１０でデータを受信するときのＦＥＣデコード処理の動作について説明する。
図１１及び図１２に示すフローチャートにおいて、物理層１１１４からパケットを受信すると（９０１）、パケットがｉＳＣＳＩ  Ｌｏｇｉｎ  ｒｅｑｕｅｓｔ  ＰＤＵ  又はｉＳＣＳＩ  Ｌｏｇｉｎ  ｒｅｓｐｏｎｓｅ  ＰＤＵであるか否かがチェックされる（９０２）。Ｙｅｓであれば、そのパケットがｉＳＣＳＩ  ｉｎｉｔｉａｌ  Ｌｏｇｉｎ  ｒｅｑｕｅｓｔ  ＰＤＵか否かがチェックされ（９１９）、その結果該当すれば、ｓｏｕｒｃｅ  ネーム（即ちｉＳＣＳＩ  ネーム）がＦＥＣ許可テーブルに登録されているか否かがチェックされる（９２０）。許可テーブルに登録されていれば、そのパケットのデスティネーションアドレスについてＦＥＣ受信管理テーブルに登録する（９２１）。
上記チェック９０２の結果、否であればデスティネーションポート番号がＦＥＣ通信用か否かがチェックされる（９０３）。このチェック９０３で、否の場合にはそのパケットをＦＥＣ処理しないでそのまま物理層１１１１へ送る（９２２）。前記デスティネーションポート番号のチェック９０３の結果、ＦＥＣ通信用であれば、ＦＥＣ許可テーブル情報の変更パケットか否かがチェックされる（９０４）。その結果、Ｙｅｓであれば、ＦＥＣ許可テーブルの内容を更新して（９２３）、ＴＣＰ処理を行う（９２４）。即ちＡＣＫを返信して、処理を終わる。
【００４０】
一方、ＴＣＰで無ければ、ＵＤＰパケットか否かがチェックされ（９０５）、ＵＤＰパケットであれば、ソースアドレスがＦＥＣ受信管理テーブルに在るか否かがチェックされる（９０６）。ソースアドレスがこの受信管理テーブルに在れば、パケットが破損しているか否かをチェックし（９０７）、そしてタイムアウトになったＦＥＣシーケンスのパケットか否かがチェックされる（９０８）。これらのチェックの結果、Ｙｅｓであれば、ＦＥＣ受信管理テーブルについてソースアドレスからパケット到着率を更新処理し（９２５）、そのパケットを廃棄して終わる（９２６）。
一方、前記チェック９０８によりタイムアウトになったＦＥＣシーケンスのパケットでなければ、ＦＥＣ受信管理テーブルについてソースアドレスからパケットの到達率を更新処理する（９０９）。その後、デコード済みのＦＥＣシーケンスＩＤを持つか否かがチェックされ（９１０）、Ｙｅｓであれば、そのパケットを破棄して終わる（９２６）。デコード済みのＦＥＣシーケンスＩＤで無ければ、続いて、そのＦＥＣシーケンスについてＦＥＣデコード用バッファの領域が割り当てられているか否かがチェックされる（９１１）。その結果否ならば、ＦＥＣシーケンスのデコード処理を開始する（９２７）。これは例えばＦＥＣデコード用バッファの未使用領域を割り当てて、タイマセットすることにより行われる。
【００４１】
ステップ９１１のチェックで、該当すれば、そのパケットを格納するアドレスを計算して（９１２）、そのパケットを該当するアドレスへ格納する（９１３）。
次に、そのパケットがＦＥＣ制御パケットか否かをチェックする（９１４）。チェックの結果、否であれば、そのパケットがデータパケットか否かをチェックし（９２８）、データパケットであれば、そのデータをカプセル化したパケットとして物理層１１１１に送る（９２９）。
次にＦＥＣシーケンス（この場合冗長度はｎ）についてそのパケットがｎ個目に届いたか否かをチェックする（９１５）。その結果該当すれば、続いてＦＥＣシーケンスについて未到着のパケットは冗長パケットか否かがチェックされる（９１６）。冗長パケットであれば、ＦＥＣ＿ＡＣＫを返信して、シーケンスＩＤを格納する（９１７）。そしてこの受信ＦＥＣシーケンスの処理を終了する（９１８）。即ち、ＦＥＣデコード用バッファの割り当てを開放して、シーケンスＩＤを処理済みシーケンスとしてＦＥＣ受信管理テーブルに一時的に格納する動作をする。
【００４２】
上記ステップ９１６における冗長パケットか否かのチェックで、該当しなければ、冗長度ｎ（ステップ８２２により冗長パケットのＦＥＣヘッダが冗長度ｍを示すならば、ｍ）に従って未到着のパケットを再構成する（９３０）。再構成されたパケットがＦＥＣ制御パケットか否かがチェックされ（９３１）、該当しなければ、再構成したパケットがＦＥＣデータパケットか否かをチェックする（９３２）。そしてＦＥＣデータパケットであれば、再構成したデータをカプセル化したパケットとして物理層１１１１へ送る（９３４）。尚、ＦＥＣ制御パケットの処理は後述する。
【００４３】
次に図１３乃至図１５を参照して、データの受信時のエラーが発生した場合の処理、及びパケット喪失に係わる処理動作等について説明する。
【００４４】
（Ａ）受信データ不足時の処理
この処理はＦＥＣ冗長化されたＦＥＣシーケンスが一定時間の内に符号化できるほど十分に到達しなかった場合の処理である。
図１３に示すフローチャートにおいて、あるシーケンスのパケットの受信を開始すると、タイマ割り込みをする（１５０１）。そしてあるシーケンス（冗長度ｎ）について、処理を開始してから受信パケットがｎ個未満のままで一定時間が経過したか否かがチェックされる（１５０２）。ｎ未満であれば、ＦＥＣシーケンスの未到達パケットの数ｘを算出する（１５０３）。これは例えば、（ｎ−到達パケット数）の計算をすることにより算出可能である。
次にＦＥＣシーケンスを格納したデコード用バッファ内をクリアして（１５０４）、パケット到達率の更新を行って、終わる（１５０５）。即ちこのＦＥＣシーケンスのうち、未到達のパケットは喪失したものとして扱い、パケット到達率を計算する。その計算結果が更新されたパケット到達率となる。
【００４５】
（Ｂ）パケットの到達率の報告処理
算出されたパケット到達率は受信側では受信管理テーブルに登録されると共に、送信側にも送られ、そこでパケット喪失率から冗長度が求められ、冗長度のデータとして送信管理テーブルに登録される。
図１４に示すフローチャートにおいて、受信側ではタイマ割り込みを行い（１６０１）、各ＦＥＣソースアドレスに対して、パケット到達率を報告するための管理フレームを送信する（１６０２）。パケット到達率報告のパケットはＦＥＣエンコード用バッファに格納される。パケット到達率（Ｎｕｍ＿Ａｌｉｖｅ  ＰＫＴ）は、破損、タイムアウトしないで届いたＦＥＣデータパケット数と、送信されたＦＥＣデータパケット数の比を取ることにより算出される（１６０３）。
【００４６】
（Ｃ）ＦＥＣ制御パケットの処理
図１５に示すフローチャートにおいて、送信側では、届いたパケットがパケット喪失率の報告パケットか否かをチェックする（１７０１）。喪失率の報告パケットであれば、報告されたパケット喪失率と、予め決められた安全係数から、そのデスティネーション宛ての冗長度を算出して決められる（１７０２）。求められた冗長度は送信管理テーブルの該当する個所を更新する形で登録される。また、上記ステップ１７０１で、パケット喪失率報告用のパケットで無ければ、管理テーブル変更のパケットか否かがチェックされる（１７０４）。このチェック１７０４で、該当すれば、送信管理テーブルの内容が更新される（１７０５）。一方、管理テーブル変更パケットでもなければ、ＦＥＣ＿ＡＣＫか否かがチェックされる（１７０６）。その結果該当すれば、送信ＦＥＣシーケンスの処理を終了する（１７０７）。この処理はＦＥＣエンコード用バッファの割り当て領域を開放し、ＦＥＣ＿ＡＣＫ待ちを解除し、ＦＥＣ送信管理テーブルから削除する処理である。
【００４７】
以上、本発明の実施例を説明したが、上記実施例に限定されずに、種々変形して実施し得る。
【００４８】
図１６はストレージ装置のチャネルアダプタの構成を変形した例である。このチャネルアダプタ１０７に、図２を参照して述べたＦＥＣ変換アダプタの持つ機能を併合したものである。即ち、図２に示した構成のうち、チャネルアダプタ側にある構成、バッファ１１０２、１１１２、及び物理層１１０１、１１１１が省略され、チャネルアダプタ１０７はＳＣＳＩコマンド制御部１０７１、プロトコル制御部１０７２を有しているが、送信バッファ１０７３、受信バッファ１０７４が兼用される。残余の構成は図２と同様である。
【００４９】
また、上記実施例ではパケットの喪失率に従って、送信先毎に冗長度を変更してデータを送信するようにしたが、パケットの喪失率に従ってパケット送信の間隔を変えることも可能である。広義にはパケット喪失率に従ってデータ送信の状態を変えるようにできる。
【００５０】
【発明の効果】
本発明によれば、ＦＥＣ方式を採用したｉＳＣＳＩプロトコル準拠のストレージ装置を提供することができる。また、受信側で把握したパケットの喪失状況を送信側にフィードバックすることにより、送信側ではデータの送信先毎にＦＥＣ処理の状態やデータ送信の冗長度を変えてデータ送信することができ、一方受信側ではそれに応じて復元することができる。これによりパケットが喪失した場合でもデータの復元が可能はストレージシステムを得ることができる。
【図面の簡単な説明】
【図１】本発明の一実施例によるストレージシステムを示すブロック図。
【図２】本発明の一実施例に係るＦＥＣ変換アダプタを有するストレージ装置の一例を示す図。
【図３】本発明の他の実施例によるストレージシステムを示すブロック図。
【図４】本発明の一実施例によるデータ転送の概念を示す図。
【図５】通信に用いられるパケットのフォーマットの一例を示す図。
【図６】ＦＥＣヘッダのフォーマットを示す図。
【図７】ＦＥＣの制御テーブルと送信及び受信管理テーブルの内容の一例を示す図。
【図８】データを送信するときのＦＥＣエンコード処理の動作を説明するためのフローチャート。
【図９】ＦＥＣエンコード処理における送信データ不足時の動作を説明するためのフローチャート。
【図１０】ＦＥＣパケットの再送処理動作を説明するためのフローチャート。
【図１１】データ受信時におけるＦＥＣデコード処理の動作を説明するためのフローチャート。
【図１２】データ受信時におけるＦＥＣデコード処理の動作を説明するためのフローチャート。
【図１３】データの受信時にエラーが発生した場合の処理動作を説明するためのフロ−チャート。
【図１４】データの受信時におけるパケット到達率の報告処理動作を説明するためのフロ−チャート。
【図１５】パケット喪失の報告に対する処理動作について説明するためのフロ−チャート。
【図１６】本発明の他の実施例によるストレージ装置の構成を示す図。
【符号の説明】
１００，２００：ストレージ装置          ３００：ホストコンピュータ
４００：ネットワーク                ５００：管理サーバ
１０１，２０１：ディスクドライブ        １０３，２０３：ディスクアダプタ
１０５，２０５：キャッシュメモリ        １０７，２０７：チャネルアダプタ
１１０，２１０，３１０：ＦＥＣ変換アダプタ
【図１】
2004171206.tif 000003
【図２】
2004171206.tif 000004
【図３】
2004171206.tif 000005
【図４】
2004171206.tif 000006
【図５】
2004171206.tif 000007
【図６】
2004171206.tif 000008
【図７】
2004171206.tif 000009
【図８】
2004171206.tif 000010
【図９】
2004171206.tif 000011
【図１０】
2004171206.tif 000012
【図１１】
2004171206.tif 000013
【図１２】
2004171206.tif 000014
【図１３】
2004171206.tif 000015
【図１４】
2004171206.tif 000016
【図１５】
2004171206.tif 000017
【図１６】
2004171206.tif 000018