JP3693523B2 - Data transfer method - Google Patents

Data transfer method Download PDF

Info

Publication number
JP3693523B2
JP3693523B2 JP13682099A JP13682099A JP3693523B2 JP 3693523 B2 JP3693523 B2 JP 3693523B2 JP 13682099 A JP13682099 A JP 13682099A JP 13682099 A JP13682099 A JP 13682099A JP 3693523 B2 JP3693523 B2 JP 3693523B2
Authority
JP
Japan
Prior art keywords
data transfer
buffer
data
frame
transfer device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP13682099A
Other languages
Japanese (ja)
Other versions
JP2000332816A (en
Inventor
利晋 宮越
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP13682099A priority Critical patent/JP3693523B2/en
Publication of JP2000332816A publication Critical patent/JP2000332816A/en
Application granted granted Critical
Publication of JP3693523B2 publication Critical patent/JP3693523B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、コンピュータシステムをはじめネットワーク上において、二つあるいはそれ以上の装置間でデータ転送を行う方法に係り、特に単一の物理伝送路を使用して複数の装置間や複数の論理プロトコルを同時動作させ、フレーム単位で多重にデータ転送動作を実行するのに好適なデータ転送方法に関する。
【0002】
【従来の技術】
昨今の光伝送技術の進歩により、コンピュータシステム間のデータ転送能力(ビットレート)は数メガビット/秒〜数ギガビット/秒と高速化の傾向にある。ビットレートが高くなれば、実際の転送速度(スループット)もビットレートの上昇分増大すると考えがちであるが、実際には、単に伝送路のビットレートを高くしただけでは、データ転送前後のコマンド指示や終了報告に代表される処理時間が存在するため、ビットレートの高速化に見合う改善効果は得られない。
【0003】
従来、伝送路の高ビットレートを効率良く使用する手段としては、例えば、特開平6−187277号公報に記載されているような同一伝送路上で並列に同時動作可能な装置の場合にフレーム多重でリンクをシェアするものや、米国規格協会(ANSI)のFC−PH REV4.3(X3.230−199x FIBRECHANNEL Physical and Signaling REV4.3)で知られているファイバチャネルのようにネットワーク上で複数のノード間で転送されるフレームを多重化するものなどがよく知られている。
【0004】
これら技術は、複数の装置間や複数のプロトコルを同時動作させ、今まで複数の中低速伝送路を使用して実現していたデータ転送処理を、一つの高速なビットレートを持つ伝送路を使用して実現しようというものである。複数のプロトコルを同時動作させる技術としては、例えば、ANSIファイバチャネル媒体を使用して上位レイヤプロトコルでSCSI(Small Computer System Inter-face)やHIPPI(High-Performance Parallel Interface)、SBCCS(Single Byte Command Code Sets)等を同時動作させるものがある。
【0005】
一方、伝送距離については無中継でも数キロメートル〜数十キロメートル、中継装置を介すると数百キロメートルと長距離化の傾向にある。データ転送装置間では、データ転送に先立ち、送信側が受信側へ送信要求を発し、これに対して受信側が送信側へ応答を返すことが行われるが、インタフェースの長距離化に伴なって伝送遅延による応答待ち合わせ時間が増大するため、長距離接続でも高転送速度を維持しようというデータ転送装置においては、大容量のデータバッファを搭載する傾向にある。
【0006】
【発明が解決しようとする課題】
上述した、複数の装置間や複数のプロトコルを同時動作させ、今まで複数の中低速伝送路を使用して実現していた複数のデータ転送処理を、一つの高速なビットレートを持つ伝送路を使用して実現しようという技術は、高速伝送路のビットレートを効率良く使用する手段としては、とても有効である。しかし、一つの伝送路を共用しているが故に次に示すような問題点がある。
【0007】
まず、第一の問題点は、あるデータ転送装置が複数の装置間や複数のプロトコルを一つの高速なビットレートを持つ伝送路を使用して同時に多重動作させた場合、さまざまな転送速度のプロトコル又は相手装置を同一伝送路にのせることになるため、多重動作している装置間の転送動作が、別の装置との転送動作に影響を与えてしまう可能性が大きいということである。これは専用伝送路であった場合には問題とならなかったものである。
【0008】
もちろん多重動作している装置における最大転送速度の合計が伝送路のビットレートを上回った性能を出すことはできないが、最大転送速度の合計が伝送路のビットレートを下回っている範囲内では、多重動作している全ての装置に対して最大データ転送性能を保証する事が望ましい。しかし、互いに無関係に動作している装置単位にそれぞれの異なる最大転送速度を常に管理し、適切な性能配分を施すためには、複雑な処理が必要である。仮にこの多重動作装置毎の適切な性能配分を怠ると、高速なビットレートを持つ伝送路を使用しているが故に特定の装置に対しては不必要なデータ転送速度でデータ転送されてしまい、必要な装置には十分なデータ転送速度をもたらすことができなくなる可能性がある。
【0009】
例えば、ポート毎にフレーム格納用データバッファを備え、あるポートに接続された装置(ソース側)からのデータを一時バッファリングして、他のポートに接続された装置(ディスティネーション側)へ転送する動作を、フレーム単位で多重に実行するダイナミックスイッチが装置ある(ANSIのFC−PHでいうファブリック)。このようなダイナミックスイッチ装置が介在して複数の装置間で同時にデータ転送するような場合、ひとつの低速な装置のデータ転送にダイナミックスイッチ装置のデータバッファが長時間占有されてしまう。長時間バッファが占有されるということは多重できるフレームの数が減っていくということを意味するため、この低速な装置へのデータをどんどん送信してしまうと、他の中高速な装置との転送に用いるデータバッファがなかなかディスパッチできなくなり、結果的に、最大転送速度の合計が伝送路のビットレートを下回っている範囲内にもかかわらず、多重動作している全ての装置に対して最大データ転送性能を保証する事ができなくなるという事象が発生してしまう。このため、互いに無関係に動作している装置単位にそれぞれの異なる最大転送速度を常に管理し、適切な性能配分を施す処理を行わないと、システム性能が著しく低下する可能性がある。しかし、複雑であるが故に、オーバーヘッドも大きくなり、期待したほど効果が出ないことが多い。
【0010】
第二の問題点は、多重動作する装置はシステムにとって全て同一の格付けでは無いにも関わらず、同一伝送路上で同時動作していると、優先度小の装置との転送が優先度大の装置との転送に影響を与えてしまうことがあるというものである。これも同一伝送路上でさまざまな装置が同時にデータ転送するために発生する問題である。
【0011】
例えば100メガバイト/秒のビットレートをもつ伝送路上において、最大40メガバイト/秒の装置が1台しか動作していない場合は、最大性能の40メガバイト/秒で動作しているであろう。しかし、最大40メガバイト/秒の装置が10台同時動作している場合、10台全ての装置が最大性能の40メガバイト/秒で動作することはもちろん不可能である。ではいったい何メガバイト/秒で動作しているかというと、データ転送装置のインプリメントに依存するが、ほとんどのデータ転送装置では、全体の性能(100メガバイト/秒)を同時動作装置台数(10台)で平均した10メガバイト/秒となるであろう。しかし現実的なシステムでは重要な装置とそうでない装置が混在するはずで、重要な装置の2台を40メガバイト/秒で動作させ、残りの8台を2.5メガバイト/秒で動作させた方が、システム性能が上がる場合が多い。こういった重要装置には、伝送路を共用させず、専用伝送路を用意する回避策が一般的にはとられるが、それでは、今後ますます発展するビットレートを効率よく使用することができなくなってしまう。
【0012】
本発明の第一の目的は、上記第一の問題点であげた多重動作における複雑である適切な性能配分処理を、単純な制御で実現し、それぞれのデータ転送装置に対するデータ転送速度を保証あるいは制限する手段を提供することにある。
本発明の第二の目的は、上記第二の問題点であげた多重動作で損なわれていた重要なデータ転送装置に対するデータ転送帯域を、多重動作を行っても性能確保する手段を提供することにある。
【0013】
【課題を解決するための手段】
本発明では、長距離接続でも最大性能を維持するために、データ転送装置あるいはダイナミックスイッチ装置に搭載している大容量のフレーム格納用データバッファを、フレーム送信側が接続先ポートフレーム受信側について、複数エントリあるデータバッファの割当てや使用状況を管理する。複数エントリあるデータバッファは、例えば、相手先データ転送装置の最大データ転送速度あるいは相手先データ転送装置の転送論理プロトコルあるいは相手先データ転送装置のシステム内の重要度から、ひとつないし複数の装置グループを作成し、それぞれのグループ毎に、フレーム送信側装置が接続先ポートの受信側について割当てる。
【0014】
送信側装置がフレーム受信側装置のフレーム格納用データバッファ使用状況を管理するため、送信側装置が送信するフレームを接続先ポート受信側装置のフレーム格納用データバッファのどのエントリに格納するかを指定したバッファ識別子をフレーム内に持たせ、また、接続先ポートフレーム受信側装置が、自装置のフレーム格納用データバッファがフレーム処理をした事により使用可能になったときにフレーム送信側装置に通知するバッファ開放を意味する情報(RDY)には開放データバッファ識別子を持たせる。
【0015】
そして、フレーム送信側装置には、データ転送する可能性のある全ての相手装置のポートアドレス、転送プロトコル、および最大データ転送速度と、接続先ポート受信側装置であるデータ転送装置あるいはダイナミックスイッチ装置に搭載しているデータバッファとの対応およびそれらデータバッファの現在の使用状況フラグを記憶したデータバッファ割当て管理テーブルを設ける。このデータバッファ割当て管理テーブルを参照することにより、フレーム送信側装置が接続先ポート受信側装置のデータバッファの選択を簡単な制御により行うことができる。また、このデータバッファ割当て管理テーブルの内容は、ソフトウエアやオペレータから変更する事が出来るようにする。これは例えばシステム管理者が接続するデータ転送装置のデータ転送速度や優先度から木目細かいバッファ割当てをシステム内で調整することを可能にし、結果的に有効な設備投資やシステム運用を行うことが可能となる。
【0016】
本発明によると、高速伝送路のビットレートを効率良く使用する手段である同一伝送路上で複数の装置を同時動作させるときに発生する先の二つの問題が解決され、物理的には専用ケーブル線ではない高速のビットレートをもつ伝送路を、機能的だけでなく性能的にも論理専用ケーブルとみなすことができる。一本の複数分の専用ケーブルということは、従来の専用ケーブルと比較すると、物理ケーブルが複数本から一本になるためケーブルコストが減少できる。更に一本のケーブルで機能的にも性能的にも専用ケーブルということは、各種サービス提供者にとっても今までの複数本の専用ケーブル線に相当する課金対象をそのまま維持できたうえに、管理するケーブル数は減るためトータルな投資効果も大きくなる。
【0017】
【発明の実施の形態】
以下に、本発明によるデータ転送方法の実施例を図面により詳細に説明する。
図1は本発明のデータ転送方法を適用した一実施例のシステム構成を示す図である。図1において、10と30〜50はデータ転送装置、20はダイナミックスイッチ装置(ANSIのFC−PHでいうファブリックなど)、60〜90は情報伝達のための伝送路、A〜Dはダイナミックスイッチ装置20の各ポートに割当てられているアドレスである。図1では、ダイナミックスイッチ装置20のポート数を4としているが、もちろんこれに限られるものではない。従って、データ転送装置も4台である必要はない。また、ダイナミックスイッチ装置20がそれ自体一つのデータ転送装置であってもよい。
【0018】
データ転送装置10は、送信フレーム格納用バッファ11、受信フレーム格納用バッファ12及びデータバッファ割当て管理テーブル13を具備する。送信フレーム格納用バッファ11はダイナミックスイッチ装置20を介してデータ転送装置30、40、50へ送信するフレームを格納する。受信フレーム格納用バッファ12はデータ転送装置30、40、50からダイナミックスイッチ装置20を介して受信するフレームを格納する。データバッファ割当て管理テーブル13は、後述するダイナミックスイッチ装置20内の当該データ転送装置10の接続先ポートAに対応するデータバッファ21のデータ転送装置30、40、50への割当てや使用状況を管理する。具体的には、データ転送装置10がデータ転送する可能性のある全ての相手装置30、40、50のポートアドレス、転送プロトコル、最大データ転送速度、割当てバッファ番号、使用状況等を管理する。データ転送装置30、40、50内の構成もデータ転送装置10と同様である。
【0019】
ダイナミックスイッチ装置20は、ポート毎に、データバッファとバッファカウンタを具備する。説明の便宜上、図1では、ポートAに対応するデータバッファ21、及び、ポートBに対応するバッファカウンタ22のみを示す。データバッファ21は、当該ポートAの接続先のデータ転送装置10から送られてくるフレームを格納する、一種の受信フレーム格納用バッファであり、本実施例では8エントリ(#0〜#7)が存在する。他のポートB〜Dに対応するデータバッファについても同様である。バッファカウンタ22は、当該ポートBの接続先のデータ転送装置30内の受信フレーム格納用バッファの使用状況を管理するためのものである。バッファカウンタ22は、初期値は0であり、ポートBの接続先のデータ転送装置30に対してフレームを送信すると+1され、データ転送装置30から受信フレーム格納用バッファ解放通知のリンクコントロールワード(後述のRDY)があると−1される。他のポートA、C、Dに対応するバッファカウンタについても同様である。
【0020】
図2はダイナミックスイッチ装置20を経由してデータ転送装置10、30、40、50の間でやり取りされるフレームの形式を示し、ディスティネーションポートアドレスフィールド、ソースポートアドレスフィールド、フレーム識別フィールド、バッファIDフィールド、データフィールドなどで構成される。なお、図2では、データフィールドの最大は2キロバイトとしたが、これはデータ転送装置やダイナミックスイッチ装置に内蔵されるデータバッファ(受信フレーム格納用バッファ)の1エントリにおけるバッファ容量に制限されるもので、2キロバイトは一例として挙げた数値であり、本発明を制限するものではない。図3は、ダイナミックスイッチ装置20あるいはデータ転送装置10、30、40、50でバッファ(ダイナミックスイッチ装置ではデータバッファ、データ転送装置では受信フレーム格納用バッファ)が開放された事を相手装置に通知するバッファ解放通知のリンクコントロールワード(RDY)を示し、リンクコントロールワード識別フィールド、バッファIDフィールドで構成される。
【0021】
図4及び図5は、データ転送装置10内のデータバッファ割当て管理テーブル13の構成例を示す。該データバッファ割当て管理テーブル13は、システム立上げ時、システム構成情報をもとに作成される。他のデータ転送装置30、40、50内に存在するデータバッファ割当て管理テーブルについても同様である。
【0022】
図4は、ダイナミックスイッチ装置20内のデータバッファ21のエントリ数は8エントリ(#0〜#7)、データ転送する可能性のある全ての相手データ転送装置30〜50が同一優先度、データ転送装置30、40はプロトコルがSBCCSで、最大データ転送性能は40メガバイト/秒、データ転送装置、50はプロトコルがSCSIで、最大データ転送性能は10メガバイト/秒ということから、データバッファ21のエントリ数の割当てを、データ転送装置30用に3エントリ(データバッファ21の#0、#1、#2)、データ転送装置40用にも3エントリ(データバッファ21の#3、#4、#5)、データ転送装置50用に1エントリ(データバッファ21の#6)、多目的用に1エントリ(データバッファ21の#7)とした例である。多目的用のバッファは、障害検出後の報告やリカバリ等に使用するためのものである。使用中フラグは、当該エントリが空の場合に「0」、使用中の場合に「1」を示す。
【0023】
図5は、データ転送装置30が最優先度で、残りのデータ転送装置40、50は同一優先度、データ転送装置30はプロトコルがHIPPIで、最大データ転送性能は75メガバイト/秒、データ転送装置40、50は、ともにプロトコルがSBCCSで、最大データ転送性能は40メガバイト/秒、ということから、ダイナミックスイッチ装置20のデータバッファ21のエントリ数の割当てを、データ転送装置30用に6エントリ(データバッファ21の#0、#1、#2、#3、#4、#5)、データ転送装置40とデータ転送装置50用に同一グループの2エントリ(データバッファ21の#6、#7)とし、多目的エントリは割当てないことにした例である。
【0024】
本実施例の第一の特徴は、図2及び図3に示すように、フレーム内に接続先ポートの格納データバッファ情報(バッファID)を、データバッファ開放を意味するリンクコントロールワード(RDY)に開放データバッファ情報(バッファID)をそれぞれ持ったことである。これにより、フレーム送信側が、接続先ポート内にあるデータバッファの特定のエントリが現在使用中であるか否かを管理することが可能となる。
【0025】
本実施例の第二の特徴は、図4及び図5に示すように、フレーム送信側に接続先ポートのデータバッファの割当てを管理するテーブル(データバッファ割当て管理テーブル)を持ったことである。このデータバッファ割当て管理テーブルには、データ転送する可能性のある全ての相手装置のポートアドレス、転送プロトコル、および最大データ転送速度と、接続先ポート受信側装置であるデータ転送装置あるいはダイナミックスイッチ装置に搭載しているデータバッファとの対応およびそれらデータバッファの現在の使用状況フラグを保持する。フレーム送信側装置は、このデータバッファ割当て管理テーブルを参照して接続先ポート受信側装置のデータバッファの選択を行うことにより、適切な性能配分処理が単純な制御で実現できるようになる。
【0026】
本実施例の第三の特徴は、接続先ポートのデータバッファを最終データ転送先毎に割当てたことである。転送動作を実行しうる相手先データ転送装置の最大データ転送速度あるいは相手先データ転送装置の転送論理プロトコルあるいは相手先データ転送装置のシステム内の重要度から、一つないし複数の装置グループ毎にフレーム送信側装置が接続先ポートのデータバッファを最終データ転送先毎に割当て、さらに第二の特徴のデータバッファ割当て管理テーブルを参照することにより、特定の重要装置に対するデータ転送帯域を確保した上に適切な性能配分処理を単純な制御で実現できる。
【0027】
本実施例の第四の特徴は、第二の特徴のデータバッファ割当て管理テーブルをソフトウエアやオペレータから変更できるようにしたことである。これは、例えばシステム管理者が接続するデータ転送装置のデータ転送速度や優先度から木目細かいバッファ割当てをシステム内で調整することを可能にし、結果的に有効な設備投資やシステム運用を行うことが可能となる。
【0028】
まず、図1乃至図4に基づいて、ごく単純にデータ転送装置10からダイナミックスイッチ装置20を経由してデータ転送装置30ヘフレーム送信(データの送信)をする場合を例に、本実施例のデータ転送の動作概要を説明する。もちろん、実際にはデータ転送装置10と複数のデータ転送装置30〜50間でダイナミックスイッチ装置20を介して、フレーム単位にデータ転送動作が多重に行われることは云うまでもない。
【0029】
図6は、データ転送装置10がフレーム送信側として動作する場合のフローチャートである。また、図7は、ダイナミックスイッチ装置20において、ポートが接続先のデータ転送装置からフレームを受信する場合のフローチャート、図8は、ポートが接続先のデータ転送装置30へフレームを送信する場合のフローチャートである。
【0030】
図6において、データ転送装置10は、送信フレーム格納用バッファ11に、相手のデータ転送装置30、40、50へ送信するフレームが存在するか否か、また、ダイナミックスイッチ装置20から以前に送信したフレームに対するデータバッファ開放通知(RDY)が受信されるか否かを監視している(ステップ601〜606)。
【0031】
いま、データ転送装置30に対する送信フレームありが判定されると(ステップ601)、データ転送装置10は、データバッファ割当て管理テーブル13を参照して(ステップ607)、ダイナミックスイッチ装置20のデータバッファ21中のデータ転送装置30に対して割り当てられているバッファ(図4では#0、#1、#2)に使用可能バッファがあるか否か判定する(ステップ608)。ここで、使用可能バッファがなければ、該データ転送装置30に対するフレームの送信は保留される。
【0032】
一方、使用可能バッファがあれば、データ転送装置10は、当該バッファ(例えば、#0)を選択し(ステップ609)、データバッファ割当て管理テーブル13内の該当する使用中フラグを「1」にセットする(ステップ610)。なお、使用可能バッファが複数存在する場合には、例えば、番号の若い方を選択する。次に、データ転送装置10は、データ転送装置30に対する送信フレームを図2で示した形式で組み立て、伝送路60を介してダイナミックスイッチ装置20へ送信する(ステップ611)。即ち、図2において、フレーム内のディスティネーションポートアドレスフィールドにはデータ転送装置30(フレームの最終受取り装置)が接続されているダイナミックスイッチ装置20のポートアドレスBを、ソースポートアドレスフィールドにはデータ転送装置10(フレーム発信装置)が接続されているダイナミックスイッチ装置20のポートアドレスAを、フレーム識別フィールドには当該フレームの識別情報を、バッファIDフィールドにはステップ609で選択されたバッファ番号(例えば図4のテーブル内で現在使用可能なバッファ番号を0とすると#0)を、データフィールドには本例では最大2キロバイトの転送データを入れる。データ転送装置10は、ダイナミックスイッチ装置20へフレームを送信すると、分岐成立直後のステップへ戻り(ステップ612)、次の処理を実行する。
【0033】
ダイナミックスイッチ装置20では、図7や図8の処理を各ポートにて並行に実行している。
いま、ポートAは、接続中のデータ転送装置10からフレームを受信すると(ステップ701)、当該ポートAに対応したデータバッテァ21の中の、受信フレーム内のバッファIDフィールドが示すエントリ(例えば#0)に、該データ転送装置10からの受信フレームを一旦格納し(ステップ702)、受信フレーム内のディスティネーションアドレスフィールドが示すポート(本例ではポートB)に対してフレーム送信要求を出す(ステップ703)。その後、ポートB側から送信許可があると(ステップ704)、データバッファ21の中のエントリ#0に格納されているフレームをポートBに送信する(ステップ705)。そして、該データバッファ21のエントリ#0を開放し(ステップ706)、当該ポートAの接続先であるデータ転送装置10に対して、バッファIDフィールドに該エントリ(バッファ)#0を入れた図3に示す形式のバッファ開放通知(RDY)を送信する(ステップ707)。
【0034】
一方、ポートB側は、フレーム送信要求があると(ステップ801)、バッファカウンタ22により、接続先のデータ転送装置30内の受信フレーム格納用バッファに使用可能バッファ(空きエントリ)があるかチエックする(ステップ802)。ここで、使用可能バッファがなければ、使用可能バッファが生じるまで、当該フレーム送信要求は保留となる。相手データ転送装置30内の受信フレーム格納用バッファに使用可能バッファがあれば、フレーム送信要求のソースポート側(本例ではポートA)へ送信許可を出し(ステップ803)、該ソースポート側から受け取ったフレームをデータ転送装置30へ送信し(ステップ804)、バッファカウンタ22を+1する(ステップ805)。該ポートB側では、データ転送装置30からバッファ開放通知(RDY)を受け取ると、バッファカウンタ22を−1する(ステップ806、807)。
【0035】
図6のデータ転送装置10の動作に戻り、データ転送装置10では、ステップ602、604、606のいずれかにおいて、ダイナミックスイッチ装置20からバッファ開放通知(RDY)を受信すると、該RDYのバッファIDフィールドのバッファIDにより、データバッファ割当て管理テーブル13内の該当バッファ(本例ではバッファ#0)に対応する使用中フラグをリセットする(ステップ613)。
【0036】
以上のようにして、データ転送装置10では、データバッファ割当て管理テーブル13内の選択したバッファに対応する使用中フラグがリセットされると、これ以降再び当該バッファ、即ち、ダイナミックスイッチ装置20のデータバッファ21の当該エントリを使用してフレームを送信する事が可能となる。
【0037】
ここで、データ転送装置10がデータ転送装置30へデータを連続して送信する場合について、ダイナミックスイッチ装置20のデータバッファ21のエントリ数とデータ転送速度との関係について述べる。前提条件として、伝送路60および伝送路70のビットレートを1062.5メガビット/秒(約100メガバイト/秒)、伝送路60のケーブル長を10キロメートル、伝送路60の伝播遅延時間が5マイクロ秒/キロメートル、送信フレームのデータバイト数が2キロバイトとする。この場合、データ転送装置10が送信フレームの先頭バイトを伝送路60に出してからダイナミックスイッチ装置20に到達するまで、5マイクロ秒/キロメートル×10キロメートル=50マイクロ秒、ダイナミックスイッチ装置20において、フレームの先頭バイトを受け取ってからフレームの最終バイトを受け取るまで、1÷100メガバイト/秒×2キロバイト=20マイクロ秒、ダイナミックスイッチ装置20がフレームの最終バイトを受け取ってからディスティネーションポートアドレスBにフレームの先頭バイトを転送するとして、フレームの最終バイトを受け取ってからディスティネーションポートアドレスBにフレームの最終バイトを転送するまで、1÷100メガバイト/秒×2キロバイト=20マイクロ秒、ディスティネーションポートアドレスBにフレームを転送し終えて、当該データバッファ開放を通知するRDYをダイナミックスイッチ装置20が送信してからデータ転送装置10に到達するまで、5マイクロ秒/キロメートル×10キロメートル=50マイクロ秒要する。よって、データバッファ割当て管理テーブル13内の選択されたバッファ(バッファ#0とする)に対応する使用中フラグがセットされている時間は、50マイクロ秒+20マイクロ秒+20マイクロ秒+50マイクロ秒=140マイクロ秒という事になる。この140マイクロ秒の間は、該バッファ#0は使用できない事から、送信フレームを連続送信したい場合は別のバッファを選択してフレーム送信する必要がある。これは、データ転送装置10とダイナミックスイッチ装置20間の伝送路60で最大データ転送速度の100メガバイト/秒を達成するためには、140マイクロ秒間フレーム送信し続けられるためのデータバッファが最低140マイクロ秒÷20マイクロ秒=7エントリ、フレーム受信側であるダイナミックスイッチ装置20のデータバッファ21として必要である事を示している。言いかえると、7エントリの2キロバイトデータバッファがあれば、データ転送速度は100メガバイト/秒が達成できるが、6エントリだと、6エントリ×2キロバイト÷140マイクロ秒=85.7メガバイト/秒、5エントリだと、5エントリ×2キロバイト÷140マイクロ秒=71.4メガバイト/秒と、1エントリ減るたびに14.3メガバイト/秒ずつデータ転送速度が減少していく。
【0038】
本発明は、このデータバッファエントリ数が増減することでデータ転送速度が増減するという特性を利用して、多重動作における複雑である適切な性能配分処理を、単純な制御で実現し、それぞれの装置に対するデータ転送速度を保証あるいは制限する手段を提供することと、多重動作で損なわれていた重要装置に対するデータ転送帯域を、多重動作を行っても性能確保する手段を提供することにある。
【0039】
次に、データ転送装置10が複数のデータ転送装置30、40、50と多重に同時データ転送する動作例を説明する。動作例1では、多重動作する装置(データ転送装置30、40、50)における最大転送速度の合計が伝送路のビットレートを下回っている場合、それぞれの装置に対して最大データ転送性能を保証できる事を説明する。動作例2では、多重動作する装置(データ転送装置30、40、50)における最大転送速度の合計が伝送路のビットレートを上回って場合、最優先装置(本例ではデータ転送装置30)に対して最大データ転送性能を保証できる事を説明する。
【0040】
[動作例1]
多重動作する装置(データ転送装置30、40、50)における最大転送速度の合計が伝送路のビットレートを下回っている場合、それぞれの装置に対して最大データ転送性能を保証できる事を説明する。本動作例で使用するデータバッファ割当て管理テーブル13の内容は図4の通りとする。
【0041】
ここでは、全ての伝送路60〜90のビットレートは1062.5メガビット/秒、ダイナミックスイッチ装置20のデータバッファ21のエントリ数は8エントリ、1フレームの最大データバイト数は2キロバイト、データ転送装置30の最大データ転送性能は40メガバイト/秒、データ転送装置40の最大データ転送性能も40メガバイト/秒、データ転送装置50の最大データ転送性能は10メガバイト/秒とし、データ転送装置10が、ダイナミックスイッチ装置20を介して、これらデータ転送装置30、40、50と同時データ転送動作するものとする。
【0042】
データ転送装置10は、ダイナミックスイッチ装置20のデータバッファ21のエントリ数が8エントリ、全てのデータ転送装置が同一の優先度、データ転送装置30、40、50の最大データ転送速度、データバッファ1エントリの占有時間(ビジー時間)が約140マイクロ秒ということから、データバッファ21のエントリ数の割当てを、データ転送装置30用に3エントリ(#0、#1、#2)、データ転送装置40用に3エントリ(#3、#4、#5)、データ転送装置50用に1エントリ(#6)、多目的用に1エントリ(#7)とし、図4で示すデータバッファ割当て管理テーブル13の内容をシステム立ち上げ時に作成する。多目的用のバッファ(#7)は、障害検出後の報告やリカバリ等に使用するために専用に用意したが、特に本発明との関連はない。
【0043】
まず、データ転送装置10とデータ転送装置30の間でデータ転送が開始されたとする。データ転送装置10は図4のデータバッファ割当て管理テーブル13の内容から、データ転送装置30に対して使用可能バッファは、#0から#2ということが判断できるので、先頭のフレームはバッファ#0を使用したとする。バッファ#0に対応した使用中フラグをデータバッファ割当て管理テーブル13にセットした後、バッファ#0を入れたフレームを送信する。その後、2番目のフレームを送信するため、再度、データバッファ割当て管理テーブル13の内容を読む。今度はバッファ#0が使用中なのでバッファ#1を選択し、該バッファ#1に対応した使用中フラグをデータバッファ割当て管理テーブル13にセットした後、バッファ#1を入れたフレームを送信する。さらにその後、3番目のフレームを送信するため、再度、データバッファ割当て管理テーブル13の内容を読む。今度はバッファ#0とバッファ#1が使用中なのでバッファ#2を選択し、該バッファ#2に対応した使用中フラグをデータバッファ割当て管理テーブル13にセットした後、バッファ#2を入れたフレームを送信する。
【0044】
この後、4番目のフレームを送信するため、再度、データバッファ割当て管理テーブル13の内容を読む。今度はバッファ#0〜#2が使用中で、割当てられている全てのバッファが使用中であるため、バッファを選択する事ができない。この場合は、接続先ポートからのデータバッファ開放を通知するリンクコントロールワード(RDY)を受け取るまでフレーム送信を抑止する。障害等が発生しなければ、先頭のフレームを送信後、約140マイクロ秒経過するとバッファ#0のRDYが返送される。このRDY受信によるデータバッファ割当て管理テーブル13の使用中フラグのリセット動作後、4番目のフレームを送信するためバッファ#0を選択し、バッファ#0に対応した使用中フラグをデータバッファ割当て管理テーブル13にセットした後、バッファ#0を入れたフレームを送信する。
【0045】
さらにこの後、5番目のフレームを送信するため、再度、データバッファ割当て管理テーブル13の内容を読む。再びバッファ#0〜#2が使用中で、割当てられている全てのバッファが使用中であるため、バッファ#を選択する事ができない。よって、上記と同様に、接続先ポートからのデータバッファ開放を通知するリンクコントロールワード(RDY)を受け取るまでフレーム送信を抑止する。これも同様に2番目のフレームを送信後、約140マイクロ秒経過すると、バッファ#1のRDYが返送される。このRDY受信によるデータバッファ割当て管理テーブル13の使用中フラグのリセット動作後、5番目のフレームを送信するためバッファ#1を選択し、バッファ#1に対応した使用中フラグをデータバッファ割当て管理テーブル13にセットした後、バッファ#1を入れたフレームを送信する。
【0046】
以上のような動作を最終フレーム送信まで、バッファ#0〜#2で繰り返す。この時のデータ転送装置10とダイナミックスイッチ装置20の間のデータ転送速度は140マイクロ秒間に3フレーム(6キロバイト分)を送信しているため、6キロバイト÷140マイクロ秒=42.8メガバイト/秒となり、データ転送装置30の最大転送速度である40メガバイト/秒を上回っている。
【0047】
次に、データ転送装置10とデータ転送装置30の間のデータ転送と、データ転送装置10とデータ転送装置40の間のデータ転送が同時に開始されたとする。まず、データ転送装置10は、データ転送装置30に対する先頭のフレームを送信するためデータバッファ割当て管理テーブル13の内容を読む。はじめはデータ転送装置30に対応するバッファ#0〜#2全てが使用可能なのでバッファ#0を選択し、該バッファ#0に対応した使用中フラグをデータバッファ割当て管理テーブル13にセットした後、バッファ#0を入れたフレームを送信する。データ転送装置30のサービスが終了したので、今度はデータ転送装置40のサービスを実施する。そこで、データ転送装置10は、データ転送装置40に対する先頭のフレームを送信するためにデータバッファ割当て管理テーブル13の内容を読む。はじめはデータ転送装置40に対応するバッファ#3〜#5全てが使用可能なのでバッファ#3を選択し、該バッファ#3に対応した使用中フラグをデータバッファ割当て管理テーブル13にセットした後、バッファ#3を入れたフレームを送信する。データ転送装置40のサービスが終了すると、再びデータ転送装置30のサービスに戻る。
【0048】
データ転送装置10は、データ転送装置30に対する2番目のフレームを送信するためデータバッファ割当て管理テーブル13の内容を読む。バッファ#0が使用中なのでバッファ#1を選択し、該バッファ#1に対応した使用中フラグをデータバッファ割当て管理テーブル13にセットした後、バッファ#1を入れたフレームを送信する。データ転送装置30のサービスが終了したので、今度は再びデータ転送装置40のサービスに戻る。そこで、データ転送装置10は、データ転送装置40に対する2番目のフレームを送信するためにデータバッファ割当て管理テーブル13の内容を読む。バッファ#3が使用中なのでバッファ#4を選択し、バッファ#4に対応した使用中フラグをデータバッファ割当て管理テーブル13にセットした後、バッファ#4を入れたフレームを送信する。データ転送装置40のサービスが終了したので、データ転送装置30のサービスに戻る。
【0049】
データ転送装置10は、データ転送装置30に対する3番目のフレームを送信するためデータバッファ割当て管理テーブル13の内容を読む。バッファ#0〜#1が使用中なのでバッファ#2を選択し、該バッファ#2に対応した使用中フラグをデータバッファ割当て管理テーブル13にセットした後、バッファ#2を入れたフレームを送信する。データ転送装置30のサービスが終了したので、データ転送装置40のサービスに戻る。データ転送装置10は、データ転送装置40に対する3番目のフレームを送信するためにデータバッファ割当て管理テーブル13の内容を読む。バッファ#3〜#4が使用中なのでバッファ#5を選択し、該バッファ#5に対応した使用中フラグをデータバッファ割当て管理テーブル13にセットした後、バッファ#5を入れたフレームを送信する。データ転送装置40のサービスが終了したので、データ転送装置30のサービスに戻る。
【0050】
データ転送装置10は、データ転送装置30に対する4番目のフレームを送信するためデータバッファ割当て管理テーブル13の内容を読む。今度はバッファ#0〜#2が使用中で、データ転送装置30へ割当てられている全てのバッファが使用中で、バッファを選択する事ができない。そこで、データ転送装置10は、当該バッファ#0〜#2のどれかにRDYが返送されてくるのを待つ事で、データ転送装置30のサービスを終了する。データ転送装置30のサービスが終了したので、データ転送装置40のサービスに戻る。データ転送装置40に対する4番目のフレームを送信するためデータバッファ割当て管理テーブル13の内容を読む。しかし、これもバッファ#3〜#5が使用中で、データ転送装置40へ割当てられている全てのバッファが使用中であるため、バッファ#を選択する事ができないので、データ転送装置10は、バッファ#3〜#5のどれかにRDYが返送されてくるのを待つ事で、データ転送装置40のサービスを終了する。
【0051】
その後、データ転送装置10では、RDYが返送され、該当するバッファのデータバッファ割当て管理テーブル13の使用中フラグをリセットすると、対応するバッファを使用する目的で待っているフレームを送信する動作を、データ転送装置30に対するフレームはバッファ#0〜#2において繰り返され、データ転送装置40に対するフレームはバッファ#3〜#5において繰り返されることになる。
【0052】
この時のデータ転送装置10とダイナミックスイッチ20の間のデータ転送速度は、140マイクロ秒間に6フレーム(12キロバイト分)を送信しているため、12キロバイト÷140マイクロ秒=85.7メガバイト/秒となる。また、データ転送装置30とデータ転送装置40への配分は、それぞれ3フレームずつであるため、両装置とも42.8メガバイト/秒となり、データ転送装置30およびデータ転送装置40の最大転送速度である40メガバイト/秒を上回っている。さらに、データ転送装置30が単独で動作していた時と比較しても最大転送速度に変化はなく、同時動作による影響は全く受けておらず、性能配分も理想的である。
【0053】
次に、データ転送装置10とデータ転送装置30、40、50間のデータ転送が同時に開始されたとする。まず、データ転送装置10は、データ転送装置30に対する先頭のフレームを送信するためデータバッファ割当て管理テーブル13の内容を読む。データ転送装置30に対応するバッファ#0〜#2全てが使用可能なのでバッファ#0を選択し、バッファ#0に対応した使用中フラグをデータバッファ割当て管理テーブル13にセットした後、バッファ#0を入れたフレームを送信する。データ転送装置30のサービスが終了したので、今度はデータ転送装置40のサービスを実施する。データ転送装置10は、データ転送装置31に対する先頭のフレームを送信するためにデータバッファ割当て管理テーブル13の内容を読む。データ転送装置31に対応するバッファ#3〜#5全てが使用可能なのでバッファ#3を選択し、バッファ#3に対応した使用中フラグをデータバッファ割当て管理テーブル13にセットした後、バッファ#3を入れたフレームを送信する。データ転送装置40のサービスが終了したので、今度はデータ転送装置50のサービスを実施する。データ転送装置10は、データ転送装置50に対する先頭のフレームを送信するためにデータバッファ割当て管理テーブル13の内容を読む。データ転送装置50に対応するバッファ#6を選択し、該バッファ#6に対応した使用中フラグをデータバッファ割当て管理テーブル13にセットした後、バッファ#6を入れたフレームを送信する。データ転送装置50のサービスが終了したので、再びデータ転送装置30のサービスに戻る。
【0054】
データ転送装置10は、データ転送装置30に対する2番目のフレームを送信するためデータバッファ割当て管理テーブル13の内容を読む。バッファ#0が使用中なのでバッファ#1を選択し、該バッファ#1に対応した使用中フラグをデータバッファ割当て管理テーブル13にセットした後、バッファ#1を入れたフレームを送信する。データ転送装置30のサービスが終了したので、データ転送装置40のサービスに移る。データ転送装置10は、データ転送装置40に対する2番目のフレームを送信するためにデータバッファ割当て管理テーブル13の内容を読む。バッファ#3が使用中なのでバッファ#4を選択し、該バッファ#4に対応した使用中フラグをデータバッファ割当て管理テーブル13にセットした後、バッファ#4を入れたフレームを送信する。データ転送装置40のサービスが終了したのでデータ転送装置50のサービスに移る。
【0055】
データ転送装置10は、データ転送装置50に対する2番目のフレームを送信するためデータバッファ割当て管理テーブル13の内容を読む。しかし、データ転送装置50に対するバッファは#6ひとつしかなく、バッファ#6がすでに使用中であるため、バッファを選択する事ができない。そこで、データ転送装置10は、当該バッファ#6にRDYが返送されてくるのを待つ事で、データ転送装置50のサービスを終了する。データ転送装置50のサービスが終了したのでデータ転送装置30のサービスに戻る。
【0056】
データ転送装置10は、データ転送装置30に対する3番目のフレームを送信するためデータバッファ割当て管理テーブル13の内容を読む。バッファ#0〜#1が使用中なのでバッファ#2を選択し、該バッファ#2に対応した使用中フラグをデータバッファ割当て管理テーブル13にセットした後、バッファ#2を入れたフレームを送信する。データ転送装置30のサービスが終了したので、データ転送装置40のサービスに移る。データ転送装置10は、データ転送装置40に対する3番目のフレームを送信するためにデータバッファ割当て管理テーブル13の内容を読む。バッファ#3〜#4が使用中なのでバッファ#5を選択し、該バッファ#5に対応した使用中フラグをデータバッファ割当て管理テーブル13にセットした後、バッファ#5を入れたフレームを送信する。データ転送装置40のサービスが終了したのでデータ転送装置50のサービスに移ろうとするが、データ転送装置50のサービスは既に当該バッファ#6のRDY返送待ちであるので、サービスはデータ転送装置30へ戻る。
【0057】
データ転送装置10は、データ転送装置30に対する4番目のフレームを送信するためデータバッファ割当て管理テーブル13の内容を読む。今度はバッファ#0〜#2が使用中で、データ転送装置30割当てられている全てのバッファが使用中であるため、バッファ#を選択する事ができないので、当該バッファ#0〜#2にRDYが返送されてくるのを待つ事でデータ転送装置30のサービスを終了する。データ転送装置30のサービスが終了したので、データ転送装置40のサービスに移る。データ転送装置10は、データ転送装置40に対する4番目のフレームを送信するためデータバッファ割当て管理テーブル13の内容を読む。しかし、これもバッファ#3〜#5が使用中で、データ転送装置40に割当てられている全てのバッファが使用中であるため、バッファを選択する事ができないので、当該バッファ#3〜#5にRDYが返送されてくるのを待つ事でデータ転送装置40のサービスを終了する。
【0058】
その後、データ転送装置10では、RDYが返送され、該当するバッファのデータバッファ割当て管理テーブル13の使用中フラグをリセットすると、対応するバッファを使用する目的で待っているフレームを送信する動作を、データ転送装置30に対するフレームはバッファ#0〜#2において繰り返され、データ転送装置40に対するフレームはバッファ#3〜#5において繰り返され、データ転送装置50に対するフレームはバッファ#6において繰り返されることになる。
【0059】
この時のデータ転送装置10とダイナミックスイッチ装置20の間のデータ転送速度は140マイクロ秒間に7フレーム(14キロバイト分)を送信しているため、14キロバイト÷140マイクロ秒=100メガバイト/秒となる。また、データ転送装置30〜50への配分は、データ転送装置30、40はそれぞれ3フレームずつであるため、両装置とも42.8メガバイト/秒であり、また、データ転送装置50は1フレームであるため14.3メガバイト/秒となり、データ転送装置30およびデータ転送装置40の最大転送速度である40メガバイト/秒、データ転送装置50の最大転送速度である10メガバイト/秒を上回っている。さらに、データ転送装置30が単独で動作していた時、あるいはデータ転送装置30、40が同時動作していた時と比較してもデータ転送装置30、40の最大転送速度に変化はなく、同時動作による影響は全く受けておらず、性能配分も理想的である。また、データ転送装置10において、データバッファ割当て管理テーブル13の初期設定以外、データ転送装置30〜50に関する最大性能を通常処理で一切考慮する必要が無く、ただ返送されたRDYに対して、対応するバッファを使用する目的で待っているフレームを送信する事を繰り返すだけである。
【0060】
以上説明したように、多重動作する装置における最大転送速度の合計が伝送路のビットレートを下回っている場合、フレーム送信側がフレーム受信側のデータバッファをデータ転送装置単位に初期設定にて割当て、データバッファ割当て管理テーブル13を更新又は参照するというごく簡単な処理でデータバッファの選択を行うことのみで、適切な性能配分処理が実現できる。
【0061】
[動作例2]
多重動作する装置(データ転送装置30、40、50)における最大転送速度の合計が伝送路のビットレートを上回っている場合、最優先装置(本例ではデータ転送装置30)のみに対しては最大データ転送性能を保証できる事を説明する。本動作例で使用するデータバッファ割当て管理テーブル13の内容は図5の通りとする。
【0062】
ここでは、全ての伝送路60〜90のビットレートは1062.5メガビット/秒、ダイナミックスイッチ装置20のデータバッファ21のエントリ数は8エントリ、1フレームの最大データバイト数は2キロバイト、データ転送装置30の最大データ転送性能は75メガバイト/秒(これが動作例1と異なる)、データ転送装置40の最大データ転送性能は40メガバイト/秒、データ転送装置50の最大データ転送性能も40メガバイト/秒とし、データ転送装置10が、ダイナミックスイッチ装置20を介して、これらデータ転送装置30、40、50と同時データ転送動作することを想定する。
【0063】
データ転送装置10は、ダイナミックスイッチ装置20のデータバッファ21のエントリ数が8エントリ、データ転送装置30最優先で残りのデータ転送装置40、50は同一優先で且つ同一グループと定義、データ転送装置30、40、50の最大データ転送速度、データバッファ1エントリの占有時間(ビジー時間)が約140マイクロ秒ということから、データバッファ21のエントリ数の割当てを、データ転送装置30用に6エントリ(バッファ#0、#1、#2、#3、#4、#5)、データ転送装置40とデータ転送装置50用に共通に2エントリ(バッファ#、#6、#7)を割り当てるとし、図5で示すデータバッファ割当て管理テーブル13をシステム立ち上げ時に作成する。
【0064】
データ転送装置10とデータ転送装置30、40、50間のデータ転送が同時に開始されたとする。まず、データ転送装置10は、データ転送装置30に対する先頭のフレームを送信するためデータバッファ割当て管理テーブル13(図5)の内容を読む。はじめはデータ転送装置30に対応するバッファ#0〜#5全てが使用可能なのでバッファ#0を選択し、該バッファ#0に対応した使用中フラグをデータバッファ割当て管理テーブル13にセットした後、バッファ#0を入れたフレームを送信する。データ転送装置30のサービスが終了したので、今度はデータ転送装置40のサービスを実施する。データ転送装置10は、データ転送装置40に対する先頭のフレームを送信するためにデータバッファ割当て管理テーブル13の内容を読む。データ転送装置40に対応するバッファ#6、#7全てが使用可能なので、バッファ#6を選択し、該バッファ#6に対応した使用中フラグをデータバッファ割当て管理テーブル13にセットした後、バッファ#6を入れたフレームを送信する。データ転送装置40のサービスが終了したので、今度はデータ転送装置50のサービスを実施する。データ転送装置10は、データ転送装置50に対する先頭のフレームを送信するためにデータバッファ割当て管理テーブル13の内容を読む。本例では、データ転送装置40と50を同一グループとして、バッファ#6、#7を両装置40、50で共用しているが、既にバッファ#6がデータ転送装置40で使用され、該当使用中フラグがセットされている。そこで、データ転送装置10はバッファ#7を選択し、該バッファ#7に対応した使用中フラグをデータバッファ割当て管理テーブル13にセットした後、バッファ#7を入れたフレームを送信する。データ転送装置50のサービスが終了したので、再びデータ転送装置30のサービスに戻る。
【0065】
データ転送装置10は、データ転送装置30に対する2番目のフレームを送信するためデータバッファ割当て管理テーブル13の内容を読む。バッファ#0が使用中なのでバッファ#1を選択し、バッファ#1に対応した使用中フラグをデータバッファ割当て管理テーブル13にセットした後、バッファ#1を入れたフレームを送信する。データ転送装置30のサービスが終了したので、データ転送装置40のサービスに移る。データ転送装置10は、データ転送装置40に対する2番目のフレームを送信するためにデータバッファ割当て管理テーブル13の内容を読む。データ転送装置40に対するバッファ#6、#7が既に使用中であるため、バッファを選択する事ができず、当該バッファ#6、#7にRDYが返送されてくるのを待つ事で、データ転送装置40のサービスを終了する。データ転送装置40のサービスが終了したので、データ転送装置50のサービスに移る。データ転送装置10は、データ転送装置50に対する2番目のフレームを送信するためデータバッファ割当て管理テーブル13の内容を読む。しかし、先程のデータ転送装置40と同様に、データ転送装置50に対するバッファ#6、#7が既に使用中であるため、バッファを選択する事ができず、当該バッファ#6、#7にRDYが返送されてくるのを待つ事で、データ転送装置50のサービスを終了する。データ転送装置50のサービスが終了したので、データ転送装置30のサービスに戻る。
【0066】
データ転送装置10は、データ転送装置30に対する3番目のフレームを送信するためデータバッファ割当て管理テーブル13の内容を読む。バッファ#0、#1が使用中なのでバッファ#2を選択し、該バッファ#2に対応した使用中フラグをデータバッファ割当て管理テーブル13にセットした後、バッファ#2を入れたフレームを送信する。データ転送装置30のサービスが終了したのでデータ転送装置40のサービス移ろうとするが、データ転送装置40のサービスは既に当該バッファ#6、#7のRDY返送待ちであるので、データ転送装置40のサービスはスキップされる。その次のデータ転送装置50もデータ転送装置40と同じ状態なので、サービスはスキップされ、再びサービスはデータ転送装置30へ戻る。これ以降、データ転送装置30に対する4〜6番目のフレームをバッファ#3〜#5が使用してフレーム送信することになる。
【0067】
その後、データ転送装置10では、RDYが返送され、該当するバッファ#のデータバッファ割当て管理テーブル13の使用中フラグをリセットすると、対応するバッファ#を使用する目的で待っているフレームを送信する動作が、データ転送装置30に対するフレームはバッファ#0〜#5において繰り返され、データ転送装置40あるいはデータ転送装置50に対するフレームはバッファ#6〜#7において繰り返されることになる。
【0068】
この時のデータ転送装置10とダイナミックスイッチ装置20の間のデータ転送速度は100メガバイト/秒に勿論なり、データ転送装置30〜50への配分は、データ転送装置30のサービス確率は8分の6であるため、75メガバイト/秒、データ転送装置40、50はそれぞれサービス確率が8分の1であるので、12.5メガバイト/秒になるが、データ転送装置40と50のどちらか一方のみが動作している時には、サービス確率が8分の2となり、25メガバイト/秒まで性能が回復する。このように、システムにとって重要な装置であるデータ転送装置30は最大転送速度である75メガバイト/秒を確保したまま、データ転送装置40、50と同時動作することができ、かつ、データ転送装置10においては、データバッファ割当て管理テーブル13の初期設定以外、データ転送装置30〜50に関する最大性能を通常処理で一切考慮する必要が無く、ただ返送されたRDYに対して、対応するバッファ#を使用する目的で待っているフレームを送信する事を繰り返すだけである。
【0069】
以上説明したように、多重動作する装置における最大転送速度の合計が伝送路のビットレートを上回っている場合でも、フレーム送信側がフレーム受信側のデータバッファをデータ転送装置単位に初期設定にて割当てて、データバッファ割当て管理テーブルを更新又は参照するというごく簡単な処理でデータバッファの選択を行うことのみで、多重動作で損なわれていた重要装置に対するデータ転送帯域を、多重動作を行っても性能確保することができる。
【0070】
データバッファ割当て管理テーブルのバッファ割当ては、上記動作例1および2では、システム初期設定時に、フレーム送信側装置が、データ転送する可能性のある全ての相手装置のポートアドレス、転送プロトコル、および最大データ転送速度を考慮して、接続先ポート受信側装置であるデータ転送装置あるいはダイナミックスイッチ装置に搭載しているデータバッファとの対応を決定しているが、このデータバッファ割当て管理テーブルをソフトウエアやオペレータから変更する事も可能である。これは、例えばシステム管理者が接続するデータ転送装置のデータ転送速度や優先度から木目細かいバッファ割当てをシステム内で調整することを可能にし、結果的に有効な設備投資やシステム運用を行うことが可能となる。
【0071】
【発明の効果】
本発明では、フレーム単位でデータ転送動作を多重に実行でき、受信側装置にフレーム格納用のデータバッファを具備しているデータ転送装置あるいはダイナミックスイッチ装置を含むデータ転送システムにおいて、多重動作における複雑である適切な性能配分処理を、単純な制御で実現しそれぞれの装置に対するデータ転送速度を保証あるいは制限することが可能になり、また、多重動作で損なわれていた重要装置に対するデータ転送帯域を、多重動作を行っても性能確保することが容易に可能になる。
【図面の簡単な説明】
【図1】本発明の一実施例であるデータ転送システムの概略構成図である。
【図2】本実施例における転送フレームの形式を示す図である。
【図3】本実施例におけるバッファ解放通知(RDY)の形式を示す図である。
【図4】本実施例におけるデータバッファ割当て管理テーブルの第1の構成例を示す図である。
【図5】本実施例におけるデータバッファ割当て管理テーブルの第2の構成例を示す図である。
【図6】本実施例におけるフレーム送信側装置の動作フローチャートの一例である。
【図7】本実施例におけるダイナミックスイッチ装置のフレーム受信ポートの動作フローチャートの一例である。
【図8】本実施例におけるダイナミックスイッチ装置のフレーム送信ポートの動作フローチャートの一例である。
【符号の説明】
10 データ転送装置
11 送信フレーム格納用バッファ
12 受信フレーム格納用バッファ
13 データバッファ割当て管理テーブル
20 ダイナミックスイッチ装置
21 データバッファ(受信フレーム格納用バッファ)
22 バッファカウンタ
30、40、50 データ転送装置
60、70、80、90 伝送路
A、B、C、D ポート
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a method for transferring data between two or more devices on a network including a computer system, and more particularly, to a plurality of devices and a plurality of logical protocols using a single physical transmission line. The present invention relates to a data transfer method suitable for simultaneous operation and for executing data transfer operations in units of frames.
[0002]
[Prior art]
Due to recent advances in optical transmission technology, the data transfer capability (bit rate) between computer systems tends to increase from several megabits / second to several gigabits / second. If the bit rate increases, the actual transfer rate (throughput) tends to increase as the bit rate increases. However, in actuality, simply increasing the bit rate of the transmission path may cause command instructions before and after data transfer. In addition, since there is a processing time represented by an end report, an improvement effect commensurate with an increase in the bit rate cannot be obtained.
[0003]
Conventionally, as a means for efficiently using the high bit rate of the transmission line, for example, in the case of a device capable of simultaneously operating in parallel on the same transmission line as described in JP-A-6-187277, frame multiplexing is used. Multiple nodes on the network, such as those that share links and Fiber Channel known by the American National Standards Institute (ANSI) FC-PH REV4.3 (X3.230-199x FIBRECHANEL Physical and Signing REV4.3) One that multiplexes frames transferred between them is well known.
[0004]
These technologies use a transmission line with a single high-speed bit rate to perform data transfer processing that has been realized by using multiple medium- and low-speed transmission lines by operating multiple devices and multiple protocols simultaneously. To achieve this. As a technique for simultaneously operating a plurality of protocols, for example, an SCSI (Small Computer System Interface-face), HIPPI (High-Performance Parallel Interface), SBCCS (Single Byte Com- Some of them operate at the same time.
[0005]
On the other hand, the transmission distance tends to be several kilometers to several tens of kilometers even without relay, and several hundred kilometers through a relay device. Between data transfer devices, prior to data transfer, the transmission side issues a transmission request to the reception side, and in response to this, the reception side returns a response to the transmission side. Since the response waiting time due to the time increases, a data transfer apparatus that attempts to maintain a high transfer rate even over a long distance connection tends to be equipped with a large-capacity data buffer.
[0006]
[Problems to be solved by the invention]
The above-described multiple data transfer processes that have been realized by using multiple medium / low speed transmission lines by operating multiple devices and multiple protocols simultaneously, can be applied to a transmission line having a single high bit rate. The technology to be realized by using is very effective as a means for efficiently using the bit rate of the high-speed transmission path. However, since one transmission line is shared, there are the following problems.
[0007]
First, the first problem is that if a data transfer device multiplexes multiple devices or multiple protocols at the same time using a transmission line with a single high-speed bit rate, protocols with various transfer speeds Alternatively, since the counterpart device is placed on the same transmission path, there is a high possibility that the transfer operation between the devices that are performing the multiplex operation will affect the transfer operation with another device. This was not a problem in the case of a dedicated transmission line.
[0008]
Of course, it is impossible to achieve a performance where the sum of the maximum transfer speeds in the device operating in a multiplex operation exceeds the bit rate of the transmission path, but within the range where the sum of the maximum transfer speeds is lower than the bit rate of the transmission path, It is desirable to guarantee maximum data transfer performance for all operating devices. However, in order to always manage different maximum transfer rates for device units operating independently of each other and perform appropriate performance allocation, complicated processing is required. If proper performance distribution for each multi-operation device is neglected, data is transferred at an unnecessary data transfer speed to a specific device because a transmission path having a high bit rate is used. Necessary devices may not be able to provide sufficient data transfer rates.
[0009]
For example, each port has a frame storage data buffer, temporarily buffers data from a device connected to a port (source side), and transfers it to a device connected to another port (destination side). There is a dynamic switch that performs multiple operations in units of frames (fabric called ANSI FC-PH). When such a dynamic switch device is interposed and data is transferred simultaneously between a plurality of devices, the data buffer of the dynamic switch device is occupied for a long time for data transfer of one low-speed device. The fact that the buffer is occupied for a long time means that the number of frames that can be multiplexed decreases, so if more and more data is sent to this low speed device, it will be transferred to other medium and high speed devices. As a result, it is difficult to dispatch the data buffer to be used, and as a result, the maximum data transfer is performed for all devices that are operating in multiplex even though the total maximum transfer rate is within the range of the bit rate of the transmission line. Event that performance cannot be guaranteed will occur. For this reason, system performance may be significantly degraded unless different maximum transfer rates are always managed in units of devices operating independently of each other and appropriate performance distribution is performed. However, because of the complexity, the overhead is also large and often not as effective as expected.
[0010]
The second problem is that devices that perform multiple operations are not all assigned the same rating for the system, but when they are operating simultaneously on the same transmission path, transfer with a device with a low priority is a device with a high priority. It may affect the transfer to. This is also a problem that occurs because various devices simultaneously transfer data on the same transmission path.
[0011]
For example, on a transmission line with a bit rate of 100 megabytes / second, if only one device with a maximum of 40 megabytes / second is operating, it will be operating at a maximum performance of 40 megabytes / second. However, if 10 devices with a maximum of 40 megabytes / second are operating simultaneously, it is of course impossible for all 10 devices to operate at a maximum performance of 40 megabytes / second. How many megabytes / second is operating depends on the implementation of the data transfer device, but for most data transfer devices, the overall performance (100 megabytes / second) is the number of simultaneous operation devices (10). The average would be 10 megabytes / second. However, in a realistic system, there should be a mix of important and non-critical devices. Two of the critical devices operated at 40 megabytes / second and the remaining eight devices operated at 2.5 megabytes / second However, system performance often increases. For these important devices, a common workaround is to prepare a dedicated transmission line instead of sharing a transmission line, but it will not be possible to efficiently use the bit rate that will continue to develop in the future. End up.
[0012]
The first object of the present invention is to realize an appropriate performance distribution process, which is complicated in the multiplex operation mentioned in the first problem, by simple control and guarantee the data transfer speed for each data transfer device or It is to provide a means to limit.
The second object of the present invention is to provide means for ensuring the performance of a data transfer band for an important data transfer apparatus that has been damaged by the multiplex operation mentioned in the second problem even if the multiplex operation is performed. It is in.
[0013]
[Means for Solving the Problems]
In the present invention, in order to maintain the maximum performance even in a long distance connection, a large-capacity frame storage data buffer mounted on the data transfer device or the dynamic switch device is provided on the connection destination port frame reception side. Manages allocation and usage of data buffers with entries. A data buffer having multiple entries can include one or more device groups based on, for example, the maximum data transfer rate of the partner data transfer device, the transfer logical protocol of the partner data transfer device, or the importance in the system of the partner data transfer device. The frame transmission side apparatus allocates the reception side of the connection destination port for each group.
[0014]
Specify which entry in the frame storage data buffer of the connection destination port receiving device stores the frame transmitted by the transmitting device so that the sending device manages the frame storage data buffer usage of the frame receiving device The connected port frame receiving side device notifies the frame transmitting side device when the frame storing data buffer of the connected device becomes usable due to the frame processing. The information (RDY) indicating buffer release has an open data buffer identifier.
[0015]
The frame transmission side device includes the port addresses, transfer protocols, and maximum data transfer rates of all the other devices that may transfer data, and the data transfer device or dynamic switch device that is the connection destination port reception side device. A data buffer allocation management table is provided that stores the correspondence with the mounted data buffers and the current use status flags of these data buffers. By referring to the data buffer allocation management table, the frame transmission side device can select the data buffer of the connection destination port reception side device by simple control. The contents of the data buffer allocation management table can be changed by software or an operator. This enables, for example, fine-grained buffer allocation to be adjusted in the system based on the data transfer speed and priority of the data transfer device connected by the system administrator, resulting in effective capital investment and system operation. It becomes.
[0016]
According to the present invention, the above-mentioned two problems that occur when a plurality of devices are operated simultaneously on the same transmission path, which is a means for efficiently using the bit rate of the high-speed transmission path, are solved. A transmission line having a high bit rate that is not high can be regarded as a logical dedicated cable not only in terms of function but also in terms of performance. One dedicated cable for a plurality of cables can reduce the cable cost because the number of physical cables is changed from a plurality of cables to one as compared with a conventional dedicated cable. In addition, a single cable that is functionally and functionally dedicated cable is managed for various service providers while maintaining the chargeable object corresponding to multiple dedicated cable lines so far. Since the number of cables decreases, the total investment effect also increases.
[0017]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of a data transfer method according to the present invention will be described below in detail with reference to the drawings.
FIG. 1 is a diagram showing a system configuration of an embodiment to which a data transfer method of the present invention is applied. In FIG. 1, 10 and 30 to 50 are data transfer devices, 20 is a dynamic switch device (fabric or the like referred to as ANSI FC-PH), 60 to 90 are transmission paths for information transmission, and A to D are dynamic switch devices. 20 Each port Is the address assigned to. In FIG. 1, the number of ports of the dynamic switch device 20 is four, but it is of course not limited to this. Therefore, the number of data transfer devices need not be four. Further, the dynamic switch device 20 may itself be a single data transfer device.
[0018]
The data transfer apparatus 10 includes a transmission frame storage buffer 11, a reception frame storage buffer 12, and a data buffer allocation management table 13. The transmission frame storage buffer 11 stores a frame to be transmitted to the data transfer devices 30, 40, and 50 via the dynamic switch device 20. The reception frame storage buffer 12 stores frames received from the data transfer devices 30, 40, 50 via the dynamic switch device 20. The data buffer allocation management table 13 manages the allocation and usage status of the data buffer 21 corresponding to the connection destination port A of the data transfer device 10 in the dynamic switch device 20 described later to the data transfer devices 30, 40, 50. . Specifically, the port address, the transfer protocol, and the maximum data transfer of all the counterpart devices 30, 40, and 50 that the data transfer device 10 may transfer data to speed Manages allocation buffer number, usage status, etc. The configuration within the data transfer devices 30, 40, 50 is the same as that of the data transfer device 10.
[0019]
The dynamic switch device 20 includes a data buffer and a buffer counter for each port. For convenience of explanation, FIG. 1 shows only the data buffer 21 corresponding to the port A and the buffer counter 22 corresponding to the port B. The data buffer 21 is a kind of received frame storage buffer for storing a frame sent from the data transfer apparatus 10 connected to the port A. In this embodiment, there are 8 entries (# 0 to # 7). Exists. The same applies to the data buffers corresponding to the other ports B to D. The buffer counter 22 is for managing the use status of the received frame storage buffer in the data transfer apparatus 30 to which the port B is connected. The buffer counter 22 has an initial value of 0 and is incremented by 1 when a frame is transmitted to the data transfer device 30 to which the port B is connected. RDY) is decremented by one. The same applies to the buffer counters corresponding to the other ports A, C, and D.
[0020]
FIG. 2 shows a format of a frame exchanged between the data transfer apparatuses 10, 30, 40, and 50 via the dynamic switch apparatus 20, and shows a destination port address field, a source port address field, a frame identification field, and a buffer ID. It consists of fields and data fields. In FIG. 2, the maximum data field is 2 kilobytes, but this is limited to the buffer capacity in one entry of the data buffer (received frame storage buffer) built in the data transfer device or dynamic switch device. 2 kilobytes is a numerical value given as an example, and does not limit the present invention. FIG. 3 notifies the partner device that the buffer (data buffer in the dynamic switch device and buffer for storing received frames in the data transfer device) is opened in the dynamic switch device 20 or the data transfer devices 10, 30, 40, and 50. The link control word (RDY) of the buffer release notification is indicated, and is composed of a link control word identification field and a buffer ID field.
[0021]
4 and 5 show a configuration example of the data buffer allocation management table 13 in the data transfer apparatus 10. The data buffer allocation management table 13 is created based on the system configuration information when the system is started up. The same applies to the data buffer allocation management tables existing in the other data transfer apparatuses 30, 40, and 50.
[0022]
FIG. 4 shows that the number of entries in the data buffer 21 in the dynamic switch device 20 is 8 entries (# 0 to # 7), and all the partner data transfer devices 30 to 50 that may transfer data have the same priority and data transfer. Since the devices 30 and 40 have the protocol SBCCS, the maximum data transfer performance is 40 megabytes / second, the data transfer device 50, the protocol is the SCSI, and the maximum data transfer performance is 10 megabytes / second, the number of entries in the data buffer 21 Are assigned 3 entries for the data transfer device 30 (# 0, # 1, # 2 of the data buffer 21) and 3 entries for the data transfer device 40 (# 3, # 4, # 5 of the data buffer 21). 1 entry for the data transfer device 50 (# 6 of the data buffer 21), 1 entry for the multipurpose (# 7 of the data buffer 21) It is an example of. The multi-purpose buffer is for use in reporting and recovery after failure detection. The in-use flag indicates “0” when the entry is empty, and indicates “1” when the entry is in use.
[0023]
In FIG. 5, the data transfer device 30 has the highest priority, the remaining data transfer devices 40 and 50 have the same priority, the data transfer device 30 has the protocol HIPPI, and the maximum data transfer performance is 75 megabytes / second. 40 and 50 are both SBCCS and the maximum data transfer performance is 40 megabytes / second. Therefore, the allocation of the number of entries in the data buffer 21 of the dynamic switch device 20 is assigned to the 6 entries (data # 0, # 1, # 2, # 3, # 4, # 5) of the buffer 21, two entries of the same group for the data transfer device 40 and the data transfer device 50 (# 6, # 7 of the data buffer 21) In this example, no multi-purpose entry is assigned.
[0024]
As shown in FIGS. 2 and 3, the first feature of the present embodiment is that the stored data buffer information (buffer ID) of the connection destination port in the frame is converted into a link control word (RDY) that means release of the data buffer. Each has open data buffer information (buffer ID). As a result, the frame transmission side can manage whether or not a specific entry of the data buffer in the connection destination port is currently in use.
[0025]
The second feature of this embodiment is that, as shown in FIGS. 4 and 5, the frame transmission side has a table (data buffer allocation management table) for managing allocation of data buffers of connection destination ports. This data buffer allocation management table includes the port addresses, transfer protocols, and maximum data transfer speeds of all the other devices that may transfer data, and the data transfer device or dynamic switch device that is the connection destination port receiving device. Holds the correspondence with the mounted data buffers and the current usage status flags of those data buffers. By referring to this data buffer allocation management table and selecting a data buffer of the connection destination port receiving side device, the frame transmitting side device can realize appropriate performance distribution processing with simple control.
[0026]
The third feature of this embodiment is that the data buffer of the connection destination port is allocated for each final data transfer destination. Depending on the maximum data transfer rate of the destination data transfer device that can execute the transfer operation, the transfer logical protocol of the destination data transfer device, or the importance in the system of the destination data transfer device, the frame for one or more device groups The transmission side device allocates the data buffer of the connection destination port for each final data transfer destination, and further secures the data transfer bandwidth for the specific important device by referring to the data buffer allocation management table of the second feature. A simple performance distribution process can be realized with simple control.
[0027]
The fourth feature of the present embodiment is that the data buffer allocation management table of the second feature can be changed by software or an operator. This makes it possible to adjust fine-grained buffer allocation within the system based on, for example, the data transfer speed and priority of the data transfer device to which the system administrator is connected, resulting in effective capital investment and system operation. It becomes possible.
[0028]
First, based on FIG. 1 to FIG. 4, the data of this embodiment is simply taken from the data transfer device 10 through the dynamic switch device 20 to the data transfer device 30 (data transmission) as an example. An outline of the transfer operation will be described. Of course, it goes without saying that the data transfer operation is actually performed in a unit of frame between the data transfer device 10 and the plurality of data transfer devices 30 to 50 via the dynamic switch device 20.
[0029]
FIG. 6 is a flowchart when the data transfer apparatus 10 operates as a frame transmission side. 7 is a flowchart when the port receives a frame from the data transfer device to which the port is connected in the dynamic switch device 20, and FIG. 8 is a flowchart when the port transmits a frame to the data transfer device 30 to which the port is connected. It is.
[0030]
In FIG. 6, the data transfer device 10 determines whether there is a frame to be transmitted to the partner data transfer device 30, 40, 50 in the transmission frame storage buffer 11, and previously transmitted from the dynamic switch device 20. It is monitored whether a data buffer release notification (RDY) for the frame is received (steps 601 to 606).
[0031]
Now, when it is determined that there is a transmission frame for the data transfer device 30 (step 601), the data transfer device 10 refers to the data buffer allocation management table 13 (step 607), and in the data buffer 21 of the dynamic switch device 20 It is determined whether there is an available buffer in the buffers (# 0, # 1, # 2 in FIG. 4) assigned to the data transfer device 30 (step 608). Here, if there is no usable buffer, transmission of the frame to the data transfer device 30 is suspended.
[0032]
On the other hand, if there is an available buffer, the data transfer apparatus 10 selects the buffer (for example, # 0) (step 609) and sets the corresponding busy flag in the data buffer allocation management table 13 to “1”. (Step 610). If there are a plurality of usable buffers, for example, the one with the smaller number is selected. Next, the data transfer apparatus 10 assembles a transmission frame for the data transfer apparatus 30 in the format shown in FIG. 2 and transmits it to the dynamic switch apparatus 20 via the transmission path 60 (step 611). That is, in FIG. 2, the port address B of the dynamic switch device 20 to which the data transfer device 30 (final frame receiving device) is connected is transferred to the destination port address field in the frame, and the data transfer is transferred to the source port address field. The port address A of the dynamic switch device 20 to which the device 10 (frame transmission device) is connected, the identification information of the frame in the frame identification field, and the buffer number selected in step 609 (for example, FIG. If the currently available buffer number in the table of 4 is 0, # 0) is entered in the data field, and in this example, transfer data of a maximum of 2 kilobytes is entered. When the data transfer device 10 transmits the frame to the dynamic switch device 20, the data transfer device 10 returns to the step immediately after the branch is established (step 612), and executes the next process.
[0033]
In the dynamic switch device 20, the processes of FIGS. 7 and 8 are executed in parallel at each port.
Now, when the port A receives a frame from the connected data transfer apparatus 10 (step 701), the entry (eg, # 0) indicated by the buffer ID field in the received frame in the data buffer 21 corresponding to the port A concerned. Then, the received frame from the data transfer apparatus 10 is temporarily stored (step 702), and a frame transmission request is issued to the port (port B in this example) indicated by the destination address field in the received frame (step 703). . Thereafter, when transmission is permitted from the port B side (step 704), the frame stored in the entry # 0 in the data buffer 21 is transmitted to the port B (step 705). Then, the entry # 0 of the data buffer 21 is released (step 706), and the entry (buffer) # 0 is entered in the buffer ID field for the data transfer apparatus 10 to which the port A is connected. A buffer release notification (RDY) in the format shown in FIG. 6 is transmitted (step 707).
[0034]
On the other hand, when there is a frame transmission request on the port B side (step 801), the buffer counter 22 checks whether there is an available buffer (empty entry) in the reception frame storage buffer in the data transfer device 30 at the connection destination. (Step 802). If there is no usable buffer, the frame transmission request is put on hold until an available buffer is generated. If there is an available buffer in the buffer for storing received frames in the partner data transfer device 30, a transmission permission is issued to the source port side (port A in this example) of the frame transmission request (step 803) and received from the source port side. The frame is transmitted to the data transfer device 30 (step 804), and the buffer counter 22 is incremented by 1 (step 805). When receiving a buffer release notification (RDY) from the data transfer device 30, the port B side decrements the buffer counter 22 by 1 (steps 806 and 807).
[0035]
Returning to the operation of the data transfer apparatus 10 in FIG. 6, when the data transfer apparatus 10 receives a buffer release notification (RDY) from the dynamic switch apparatus 20 in any of steps 602, 604, and 606, the buffer ID field of the RDY The in-use flag corresponding to the corresponding buffer (buffer # 0 in this example) in the data buffer allocation management table 13 is reset by the buffer ID (step 613).
[0036]
As described above, in the data transfer device 10, when the in-use flag corresponding to the selected buffer in the data buffer allocation management table 13 is reset, the buffer, that is, the data buffer of the dynamic switch device 20 is again used thereafter. It is possible to transmit a frame using the 21 entries.
[0037]
Here, the relationship between the number of entries in the data buffer 21 of the dynamic switch device 20 and the data transfer rate when the data transfer device 10 continuously transmits data to the data transfer device 30 will be described. As preconditions, the bit rate of the transmission line 60 and the transmission line 70 is 1062.5 megabits / second (about 100 megabytes / second), the cable length of the transmission line 60 is 10 kilometers, and the propagation delay time of the transmission line 60 is 5 microseconds. / Km, and the number of data bytes in the transmission frame is 2 kilobytes. In this case, 5 microseconds / km × 10 kilometers = 50 microseconds from the time when the data transfer device 10 sends the first byte of the transmission frame to the transmission path 60 until it reaches the dynamic switch device 20, the frame in the dynamic switch device 20 From receiving the first byte of the frame until the last byte of the frame is received, 1 ÷ 100 megabytes / second × 2 kilobytes = 20 microseconds, after the dynamic switch device 20 receives the last byte of the frame, Assuming that the first byte is transferred, from receiving the last byte of the frame to transferring the last byte of the frame to the destination port address B, 1 ÷ 100 megabytes / second × 2 kilobytes = 20 microseconds, destination 5 microseconds / km × 10 km = 50 until the data transfer device 10 is reached after the dynamic switch device 20 transmits the RDY for notifying the release of the data buffer after the frame has been transferred to the transmission port address B It takes microseconds. Therefore, the time during which the in-use flag corresponding to the selected buffer (referred to as buffer # 0) in the data buffer allocation management table 13 is set is 50 microseconds + 20 microseconds + 20 microseconds + 50 microseconds = 140 microseconds. It will be seconds. Since buffer # 0 cannot be used for 140 microseconds, it is necessary to select another buffer and transmit the frame in order to transmit transmission frames continuously. This is because, in order to achieve the maximum data transfer rate of 100 megabytes / second on the transmission line 60 between the data transfer device 10 and the dynamic switch device 20, the data buffer for continuing to transmit frames for 140 microseconds is at least 140 microseconds. Second / 20 microseconds = 7 entries, indicating that the data buffer 21 of the dynamic switching device 20 on the frame receiving side is necessary. In other words, if there are 7 entries of 2 kilobyte data buffers, the data transfer rate can be achieved at 100 megabytes / second, but if 6 entries, 6 entries × 2 kilobytes / 140 microseconds = 85.7 megabytes / second, In the case of 5 entries, 5 entries × 2 kilobytes / 140 microseconds = 71.4 megabytes / second, and the data transfer rate decreases by 14.3 megabytes / second every time one entry is reduced.
[0038]
The present invention uses the characteristic that the data transfer rate increases / decreases as the number of data buffer entries increases / decreases, and implements an appropriate performance allocation process that is complex in a multiplex operation by simple control. It is intended to provide means for guaranteeing or limiting the data transfer rate for the data transfer, and means for ensuring the performance of the data transfer band for important devices that have been impaired by the multiplex operation even if the multiplex operation is performed.
[0039]
Next, an operation example in which the data transfer apparatus 10 performs multiple data transfer simultaneously with a plurality of data transfer apparatuses 30, 40, and 50 will be described. In the first operation example, when the sum of the maximum transfer speeds of the devices (data transfer devices 30, 40, and 50) performing the multiplex operation is lower than the bit rate of the transmission path, the maximum data transfer performance can be guaranteed for each device. Explain things. In the second operation example, when the sum of the maximum transfer speeds of the devices (data transfer devices 30, 40, and 50) that perform multiple operations exceeds the bit rate of the transmission path, the highest priority device (the data transfer device 30 in this example) Explain that the maximum data transfer performance can be guaranteed.
[0040]
[Operation Example 1]
It will be described that the maximum data transfer performance can be guaranteed for each device when the sum of the maximum transfer rates in the devices (data transfer devices 30, 40, 50) operating in a multiplex operation is lower than the bit rate of the transmission path. The contents of the data buffer allocation management table 13 used in this operation example are as shown in FIG.
[0041]
Here, the bit rate of all the transmission lines 60 to 90 is 1062.5 megabits / second, the number of entries in the data buffer 21 of the dynamic switch device 20 is 8 entries, the maximum number of data bytes in one frame is 2 kilobytes, and the data transfer device The maximum data transfer performance of 30 is 40 megabytes / second, the maximum data transfer performance of the data transfer device 40 is 40 megabytes / second, the maximum data transfer performance of the data transfer device 50 is 10 megabytes / second, and the data transfer device 10 is dynamic. It is assumed that simultaneous data transfer operation is performed with these data transfer devices 30, 40 and 50 via the switch device 20.
[0042]
The data transfer device 10 has eight entries in the data buffer 21 of the dynamic switch device 20, all data transfer devices have the same priority, the maximum data transfer rate of the data transfer devices 30, 40, 50, and one data buffer entry. Since the occupation time (busy time) is about 140 microseconds, the number of entries in the data buffer 21 is allocated to 3 entries (# 0, # 1, # 2) for the data transfer device 30 and for the data transfer device 40. 3 entries (# 3, # 4, # 5), 1 entry (# 6) for the data transfer apparatus 50, 1 entry (# 7) for multi-purpose use, and the contents of the data buffer allocation management table 13 shown in FIG. Is created at system startup. The multipurpose buffer (# 7) is prepared exclusively for use in reporting and recovery after failure detection, but is not particularly relevant to the present invention.
[0043]
First, it is assumed that data transfer is started between the data transfer device 10 and the data transfer device 30. Since the data transfer device 10 can determine from the contents of the data buffer allocation management table 13 in FIG. 4 that the buffers available to the data transfer device 30 are # 0 to # 2, the first frame has the buffer # 0. Suppose you use it. After the in-use flag corresponding to buffer # 0 is set in data buffer allocation management table 13, the frame containing buffer # 0 is transmitted. Thereafter, in order to transmit the second frame, the contents of the data buffer allocation management table 13 are read again. Since the buffer # 0 is in use this time, the buffer # 1 is selected, the in-use flag corresponding to the buffer # 1 is set in the data buffer allocation management table 13, and the frame containing the buffer # 1 is transmitted. Thereafter, in order to transmit the third frame, the contents of the data buffer allocation management table 13 are read again. Since buffer # 0 and buffer # 1 are in use this time, buffer # 2 is selected, and the in-use flag corresponding to buffer # 2 is set in data buffer allocation management table 13, and then the frame containing buffer # 2 is selected. Send.
[0044]
Thereafter, in order to transmit the fourth frame, the contents of the data buffer allocation management table 13 are read again. This time, buffers # 0 to # 2 are in use, and all the allocated buffers are in use, so the buffer cannot be selected. In this case, frame transmission is suppressed until a link control word (RDY) for notifying the release of the data buffer from the connection destination port is received. If no failure or the like occurs, RDY of buffer # 0 is returned when about 140 microseconds have elapsed after transmitting the first frame. After resetting the in-use flag of the data buffer allocation management table 13 by this RDY reception, the buffer # 0 is selected to transmit the fourth frame, and the in-use flag corresponding to the buffer # 0 is set in the data buffer allocation management table 13 Then, the frame with buffer # 0 is transmitted.
[0045]
Thereafter, the contents of the data buffer allocation management table 13 are read again in order to transmit the fifth frame. Since the buffers # 0 to # 2 are in use again and all assigned buffers are in use, the buffer # cannot be selected. Therefore, similarly to the above, frame transmission is suppressed until a link control word (RDY) for notifying the release of the data buffer from the connection destination port is received. Similarly, when about 140 microseconds elapses after transmitting the second frame, the RDY of the buffer # 1 is returned. After the reset operation of the in-use flag of the data buffer allocation management table 13 by this RDY reception, the buffer # 1 is selected to transmit the fifth frame, and the in-use flag corresponding to the buffer # 1 is set in the data buffer allocation management table 13 Then, the frame containing buffer # 1 is transmitted.
[0046]
The above operation is repeated in buffers # 0 to # 2 until the final frame transmission. At this time, since the data transfer rate between the data transfer device 10 and the dynamic switch device 20 transmits 3 frames (for 6 kilobytes) in 140 microseconds, 6 kilobytes / 140 microseconds = 42.8 megabytes / second. Thus, the maximum transfer rate of the data transfer device 30 is over 40 megabytes / second.
[0047]
Next, it is assumed that data transfer between the data transfer device 10 and the data transfer device 30 and data transfer between the data transfer device 10 and the data transfer device 40 are started simultaneously. First, the data transfer apparatus 10 reads the contents of the data buffer allocation management table 13 in order to transmit the first frame to the data transfer apparatus 30. At first, since all the buffers # 0 to # 2 corresponding to the data transfer device 30 are usable, the buffer # 0 is selected, and the in-use flag corresponding to the buffer # 0 is set in the data buffer allocation management table 13, and then the buffer A frame with # 0 is transmitted. Since the service of the data transfer device 30 has ended, the service of the data transfer device 40 is now performed. Therefore, the data transfer apparatus 10 reads the contents of the data buffer allocation management table 13 in order to transmit the first frame to the data transfer apparatus 40. At first, since all the buffers # 3 to # 5 corresponding to the data transfer apparatus 40 are usable, the buffer # 3 is selected, and after the busy flag corresponding to the buffer # 3 is set in the data buffer allocation management table 13, the buffer The frame with # 3 is transmitted. When the service of the data transfer device 40 ends, the service returns to the service of the data transfer device 30 again.
[0048]
The data transfer device 10 reads the contents of the data buffer allocation management table 13 to transmit the second frame to the data transfer device 30. Since the buffer # 0 is in use, the buffer # 1 is selected, the in-use flag corresponding to the buffer # 1 is set in the data buffer allocation management table 13, and then the frame containing the buffer # 1 is transmitted. Since the service of the data transfer device 30 has ended, the service of the data transfer device 40 is returned again. Therefore, the data transfer device 10 reads the contents of the data buffer allocation management table 13 in order to transmit the second frame to the data transfer device 40. Since the buffer # 3 is in use, the buffer # 4 is selected, the in-use flag corresponding to the buffer # 4 is set in the data buffer allocation management table 13, and then the frame containing the buffer # 4 is transmitted. Since the service of the data transfer device 40 is completed, the service of the data transfer device 30 is returned to.
[0049]
The data transfer apparatus 10 reads the contents of the data buffer allocation management table 13 to transmit the third frame to the data transfer apparatus 30. Since the buffers # 0 to # 1 are in use, the buffer # 2 is selected, the in-use flag corresponding to the buffer # 2 is set in the data buffer allocation management table 13, and then the frame containing the buffer # 2 is transmitted. Since the service of the data transfer device 30 is completed, the service of the data transfer device 40 is returned to. The data transfer device 10 reads the contents of the data buffer allocation management table 13 in order to transmit the third frame to the data transfer device 40. Since the buffers # 3 to # 4 are in use, the buffer # 5 is selected, the in-use flag corresponding to the buffer # 5 is set in the data buffer allocation management table 13, and then the frame containing the buffer # 5 is transmitted. Since the service of the data transfer device 40 is completed, the service of the data transfer device 30 is returned to.
[0050]
The data transfer device 10 reads the contents of the data buffer allocation management table 13 to transmit the fourth frame to the data transfer device 30. This time, the buffers # 0 to # 2 are in use, all the buffers assigned to the data transfer device 30 are in use, and the buffer cannot be selected. Therefore, the data transfer device 10 ends the service of the data transfer device 30 by waiting for RDY to be returned to any of the buffers # 0 to # 2. Since the service of the data transfer device 30 is completed, the service of the data transfer device 40 is returned to. In order to transmit the fourth frame to the data transfer device 40, the contents of the data buffer allocation management table 13 are read. However, since the buffers # 3 to # 5 are also in use and all the buffers assigned to the data transfer device 40 are in use, the buffer # cannot be selected. By waiting for the RDY to be returned to any of the buffers # 3 to # 5, the service of the data transfer device 40 is terminated.
[0051]
Thereafter, in the data transfer device 10, when RDY is returned and the in-use flag of the data buffer allocation management table 13 of the corresponding buffer is reset, the operation of transmitting the frame waiting for the purpose of using the corresponding buffer is performed. The frame for the transfer device 30 is repeated in the buffers # 0 to # 2, and the frame for the data transfer device 40 is repeated in the buffers # 3 to # 5.
[0052]
At this time, since the data transfer rate between the data transfer device 10 and the dynamic switch 20 is transmitting 6 frames (for 12 kilobytes) in 140 microseconds, 12 kilobytes / 140 microseconds = 85.7 megabytes / second. It becomes. Further, since the distribution to the data transfer device 30 and the data transfer device 40 is 3 frames each, both devices are 42.8 megabytes / second, which is the maximum transfer rate of the data transfer device 30 and the data transfer device 40. It exceeds 40 megabytes / second. Further, the maximum transfer rate is not changed even when the data transfer device 30 is operating alone, and is not affected by the simultaneous operation at all, and the performance distribution is ideal.
[0053]
Next, it is assumed that data transfer between the data transfer device 10 and the data transfer devices 30, 40, and 50 is started simultaneously. First, the data transfer apparatus 10 reads the contents of the data buffer allocation management table 13 in order to transmit the first frame to the data transfer apparatus 30. Since all the buffers # 0 to # 2 corresponding to the data transfer device 30 are usable, the buffer # 0 is selected, and the busy flag corresponding to the buffer # 0 is set in the data buffer allocation management table 13, and then the buffer # 0 is set. Send the inserted frame. Since the service of the data transfer device 30 has ended, the service of the data transfer device 40 is now performed. The data transfer device 10 reads the contents of the data buffer allocation management table 13 in order to transmit the first frame to the data transfer device 31. Since all the buffers # 3 to # 5 corresponding to the data transfer device 31 are usable, the buffer # 3 is selected, and after the busy flag corresponding to the buffer # 3 is set in the data buffer allocation management table 13, the buffer # 3 is set. Send the inserted frame. Since the service of the data transfer device 40 has ended, the service of the data transfer device 50 is now performed. The data transfer device 10 reads the contents of the data buffer allocation management table 13 in order to transmit the first frame to the data transfer device 50. After selecting the buffer # 6 corresponding to the data transfer device 50 and setting the in-use flag corresponding to the buffer # 6 in the data buffer allocation management table 13, the frame containing the buffer # 6 is transmitted. Since the service of the data transfer device 50 is completed, the service of the data transfer device 30 is returned again.
[0054]
The data transfer device 10 reads the contents of the data buffer allocation management table 13 to transmit the second frame to the data transfer device 30. Since the buffer # 0 is in use, the buffer # 1 is selected, the in-use flag corresponding to the buffer # 1 is set in the data buffer allocation management table 13, and then the frame containing the buffer # 1 is transmitted. Since the service of the data transfer device 30 is finished, the service of the data transfer device 40 is started. The data transfer device 10 reads the contents of the data buffer allocation management table 13 in order to transmit the second frame to the data transfer device 40. Since the buffer # 3 is in use, the buffer # 4 is selected, the in-use flag corresponding to the buffer # 4 is set in the data buffer allocation management table 13, and then the frame containing the buffer # 4 is transmitted. Since the service of the data transfer device 40 is completed, the service of the data transfer device 50 is started.
[0055]
The data transfer device 10 reads the contents of the data buffer allocation management table 13 to transmit the second frame to the data transfer device 50. However, since there is only one buffer # 6 for the data transfer device 50 and the buffer # 6 is already in use, the buffer cannot be selected. Therefore, the data transfer apparatus 10 ends the service of the data transfer apparatus 50 by waiting for RDY to be returned to the buffer # 6. Since the service of the data transfer device 50 is completed, the service returns to the service of the data transfer device 30.
[0056]
The data transfer apparatus 10 reads the contents of the data buffer allocation management table 13 to transmit the third frame to the data transfer apparatus 30. Since the buffers # 0 to # 1 are in use, the buffer # 2 is selected, the in-use flag corresponding to the buffer # 2 is set in the data buffer allocation management table 13, and then the frame containing the buffer # 2 is transmitted. Since the service of the data transfer device 30 is finished, the service of the data transfer device 40 is started. The data transfer device 10 reads the contents of the data buffer allocation management table 13 in order to transmit the third frame to the data transfer device 40. Since the buffers # 3 to # 4 are in use, the buffer # 5 is selected, the in-use flag corresponding to the buffer # 5 is set in the data buffer allocation management table 13, and then the frame containing the buffer # 5 is transmitted. Since the service of the data transfer device 40 has been completed, the service of the data transfer device 50 is attempted, but since the service of the data transfer device 50 is already waiting for the RDY return of the buffer # 6, the service returns to the data transfer device 30. .
[0057]
The data transfer device 10 reads the contents of the data buffer allocation management table 13 to transmit the fourth frame to the data transfer device 30. This time, since the buffers # 0 to # 2 are in use and all the buffers assigned to the data transfer device 30 are in use, the buffer # cannot be selected. The service of the data transfer device 30 is terminated by waiting for the message to be returned. Since the service of the data transfer device 30 is finished, the service of the data transfer device 40 is started. The data transfer apparatus 10 reads the contents of the data buffer allocation management table 13 to transmit the fourth frame to the data transfer apparatus 40. However, since the buffers # 3 to # 5 are in use and all the buffers assigned to the data transfer device 40 are in use, the buffer cannot be selected. The service of the data transfer apparatus 40 is terminated by waiting for the return of RDY.
[0058]
Thereafter, in the data transfer device 10, when RDY is returned and the in-use flag of the data buffer allocation management table 13 of the corresponding buffer is reset, the operation of transmitting the frame waiting for the purpose of using the corresponding buffer is performed. The frame for the transfer device 30 is repeated in the buffers # 0 to # 2, the frame for the data transfer device 40 is repeated in the buffers # 3 to # 5, and the frame for the data transfer device 50 is repeated in the buffer # 6.
[0059]
At this time, the data transfer speed between the data transfer device 10 and the dynamic switch device 20 is 7 frames (for 14 kilobytes) transmitted in 140 microseconds, so 14 kilobytes / 140 microseconds = 100 megabytes / second. . The distribution to the data transfer devices 30 to 50 is 32.8 each for the data transfer devices 30 and 40, so both devices are 42.8 megabytes / second, and the data transfer device 50 is 1 frame. Therefore, it is 14.3 megabytes / second, which exceeds the maximum transfer speed of 40 megabytes / second of the data transfer apparatus 30 and the data transfer apparatus 40 and the maximum transfer speed of the data transfer apparatus 50 of 10 megabytes / second. Furthermore, there is no change in the maximum transfer rate of the data transfer devices 30 and 40 when compared to when the data transfer device 30 is operating alone or when the data transfer devices 30 and 40 are operating simultaneously. It is not affected at all by the operation, and the performance distribution is ideal. Further, in the data transfer apparatus 10, there is no need to consider the maximum performance related to the data transfer apparatuses 30 to 50 in the normal processing except for the initial setting of the data buffer allocation management table 13, and only the returned RDY is supported. It only repeats sending the frame that is waiting for the purpose of using the buffer.
[0060]
As described above, when the sum of the maximum transfer rates in the multiplex operation device is lower than the bit rate of the transmission path, the frame transmission side assigns the data buffer on the frame reception side in units of the data transfer device and sets the data An appropriate performance distribution process can be realized only by selecting a data buffer by a very simple process of updating or referring to the buffer allocation management table 13.
[0061]
[Operation example 2]
When the sum of the maximum transfer rates in the devices that operate in multiplex (data transfer devices 30, 40, 50) exceeds the bit rate of the transmission line, it is the maximum for only the highest priority device (data transfer device 30 in this example). Explain that data transfer performance can be guaranteed. The contents of the data buffer allocation management table 13 used in this operation example are as shown in FIG.
[0062]
Here, the bit rate of all the transmission lines 60 to 90 is 1062.5 megabits / second, the number of entries in the data buffer 21 of the dynamic switch device 20 is 8 entries, the maximum number of data bytes in one frame is 2 kilobytes, and the data transfer device The maximum data transfer performance of 30 is 75 megabytes / second (this is different from operation example 1), the maximum data transfer performance of the data transfer device 40 is 40 megabytes / second, and the maximum data transfer performance of the data transfer device 50 is also 40 megabytes / second. It is assumed that the data transfer device 10 performs a simultaneous data transfer operation with these data transfer devices 30, 40, and 50 via the dynamic switch device 20.
[0063]
In the data transfer apparatus 10, the number of entries in the data buffer 21 of the dynamic switch apparatus 20 is 8 entries, the data transfer apparatus 30 has the highest priority, and the remaining data transfer apparatuses 40 and 50 have the same priority and are defined as the same group. , 40 and 50, and the occupied time (busy time) of one entry of the data buffer is about 140 microseconds. Therefore, the number of entries in the data buffer 21 is allocated to 6 entries (buffers) for the data transfer device 30. # 0, # 1, # 2, # 3, # 4, # 5), two entries (buffers #, # 6, # 7) are commonly allocated to the data transfer device 40 and the data transfer device 50, and FIG. A data buffer allocation management table 13 is created when the system is started up.
[0064]
It is assumed that data transfer between the data transfer device 10 and the data transfer devices 30, 40, 50 is started simultaneously. First, the data transfer device 10 reads the contents of the data buffer allocation management table 13 (FIG. 5) in order to transmit the first frame to the data transfer device 30. Initially, since all the buffers # 0 to # 5 corresponding to the data transfer device 30 are usable, the buffer # 0 is selected, and the in-use flag corresponding to the buffer # 0 is set in the data buffer allocation management table 13, and then the buffer A frame with # 0 is transmitted. Since the service of the data transfer device 30 has ended, the service of the data transfer device 40 is now performed. The data transfer device 10 reads the contents of the data buffer allocation management table 13 in order to transmit the first frame to the data transfer device 40. Since all of the buffers # 6 and # 7 corresponding to the data transfer device 40 are usable, the buffer # 6 is selected, and the in-use flag corresponding to the buffer # 6 is set in the data buffer allocation management table 13, and then the buffer # A frame with 6 is transmitted. Since the service of the data transfer device 40 has ended, the service of the data transfer device 50 is now performed. The data transfer device 10 reads the contents of the data buffer allocation management table 13 in order to transmit the first frame to the data transfer device 50. In this example, the data transfer devices 40 and 50 are in the same group, and the buffers # 6 and # 7 are shared by both devices 40 and 50. However, the buffer # 6 has already been used by the data transfer device 40 and is in use. The flag is set. Therefore, the data transfer apparatus 10 selects the buffer # 7, sets a busy flag corresponding to the buffer # 7 in the data buffer allocation management table 13, and then transmits a frame containing the buffer # 7. Since the service of the data transfer device 50 is completed, the service of the data transfer device 30 is returned again.
[0065]
The data transfer device 10 reads the contents of the data buffer allocation management table 13 to transmit the second frame to the data transfer device 30. Since buffer # 0 is in use, buffer # 1 is selected, an in-use flag corresponding to buffer # 1 is set in data buffer allocation management table 13, and then a frame containing buffer # 1 is transmitted. Since the service of the data transfer device 30 is finished, the service of the data transfer device 40 is started. The data transfer device 10 reads the contents of the data buffer allocation management table 13 in order to transmit the second frame to the data transfer device 40. Since the buffers # 6 and # 7 for the data transfer device 40 are already in use, the buffer cannot be selected, and the data transfer is performed by waiting for RDY to be returned to the buffers # 6 and # 7. The service of the device 40 is terminated. Since the service of the data transfer device 40 is completed, the service of the data transfer device 50 is started. The data transfer device 10 reads the contents of the data buffer allocation management table 13 to transmit the second frame to the data transfer device 50. However, as with the previous data transfer device 40, since the buffers # 6 and # 7 for the data transfer device 50 are already in use, the buffer cannot be selected, and RDY is stored in the buffers # 6 and # 7. The service of the data transfer apparatus 50 is terminated by waiting for the return. Since the service of the data transfer device 50 is finished, the service returns to the service of the data transfer device 30.
[0066]
The data transfer apparatus 10 reads the contents of the data buffer allocation management table 13 to transmit the third frame to the data transfer apparatus 30. Since the buffers # 0 and # 1 are in use, the buffer # 2 is selected, the in-use flag corresponding to the buffer # 2 is set in the data buffer allocation management table 13, and the frame containing the buffer # 2 is transmitted. Since the service of the data transfer device 30 is completed, the service of the data transfer device 40 is transferred, but the service of the data transfer device 40 is already waiting for the RDY return of the buffers # 6 and # 7. Is skipped. Since the next data transfer device 50 is also in the same state as the data transfer device 40, the service is skipped and the service returns to the data transfer device 30 again. Thereafter, the fourth to sixth frames for the data transfer device 30 are used by the buffers # 3 to # 5 to transmit frames.
[0067]
Thereafter, in the data transfer apparatus 10, when RDY is returned and the in-use flag in the data buffer allocation management table 13 of the corresponding buffer # is reset, an operation of transmitting a frame waiting for the purpose of using the corresponding buffer # is performed. The frame for the data transfer device 30 is repeated in the buffers # 0 to # 5, and the frame for the data transfer device 40 or the data transfer device 50 is repeated in the buffers # 6 to # 7.
[0068]
At this time, the data transfer rate between the data transfer device 10 and the dynamic switch device 20 is of course 100 megabytes / second, and the distribution to the data transfer devices 30 to 50 indicates that the service probability of the data transfer device 30 is 6/8. Therefore, since the service probability of 75 megabytes / second and the data transfer devices 40 and 50 is 1/8, respectively, it becomes 12.5 megabytes / second, but only one of the data transfer devices 40 and 50 is When operating, the service probability is two-eighth and performance is restored to 25 megabytes / second. As described above, the data transfer device 30 which is an important device for the system can operate simultaneously with the data transfer devices 40 and 50 while securing the maximum transfer speed of 75 megabytes / second, and the data transfer device 10. However, except for the initial setting of the data buffer allocation management table 13, there is no need to consider the maximum performance related to the data transfer devices 30 to 50 in the normal processing, and the corresponding buffer # is used for the returned RDY. It only repeats sending the frame waiting for the purpose.
[0069]
As described above, even when the total maximum transfer rate in a multiplex operation device exceeds the bit rate of the transmission path, the frame transmission side allocates the data buffer on the frame reception side in units of data transfer devices in the initial setting. By simply selecting the data buffer with a simple process of updating or referring to the data buffer allocation management table, the performance can be secured even if the data transfer bandwidth for the critical device that has been damaged by the multiplex operation is performed. can do.
[0070]
In the operation examples 1 and 2, the buffer allocation of the data buffer allocation management table is performed in the above-described operation examples 1 and 2, and the port address, transfer protocol, and maximum data of all the partner devices that the frame transmission side device may transfer data at the time of system initialization. Considering the transfer speed, the correspondence with the data buffer installed in the data transfer device or dynamic switch device that is the connection destination port receiving side device is determined. It is also possible to change from. This makes it possible to adjust fine-grained buffer allocation within the system based on, for example, the data transfer speed and priority of the data transfer device to which the system administrator is connected, resulting in effective capital investment and system operation. It becomes possible.
[0071]
【The invention's effect】
In the present invention, the data transfer operation can be performed in units of frames, and the data transfer system including the data transfer device or the dynamic switch device having the data buffer for storing the frame in the receiving side device is complicated in the multiplex operation. It is possible to realize a certain appropriate performance allocation process with simple control to guarantee or limit the data transfer rate for each device, and to multiplex the data transfer band for important devices that have been damaged by multiplex operation. Even if the operation is performed, the performance can be easily secured.
[Brief description of the drawings]
FIG. 1 is a schematic configuration diagram of a data transfer system according to an embodiment of the present invention.
FIG. 2 is a diagram illustrating a format of a transfer frame in the present embodiment.
FIG. 3 is a diagram illustrating a format of a buffer release notification (RDY) in the present embodiment.
FIG. 4 is a diagram illustrating a first configuration example of a data buffer allocation management table in the embodiment.
FIG. 5 is a diagram illustrating a second configuration example of the data buffer allocation management table in the embodiment.
FIG. 6 is an example of an operation flowchart of a frame transmission side apparatus according to the present embodiment.
FIG. 7 is an example of an operation flowchart of a frame reception port of the dynamic switch device according to the embodiment.
FIG. 8 is an example of an operation flowchart of a frame transmission port of the dynamic switch device according to the embodiment.
[Explanation of symbols]
10 Data transfer device
11 Transmission frame storage buffer
12 Received frame storage buffer
13 Data buffer allocation management table
20 Dynamic switch device
21 Data buffer (buffer for storing received frames)
22 Buffer counter
30, 40, 50 Data transfer device
60, 70, 80, 90 transmission path
A, B, C, D port

Claims (3)

受信側装置が送信側装置から受信したフレームを一時的に格納するためのフレーム格納用データバッファを複数エントリ具備して、送信側装置と受信側装置間でフレーム単位にデータ転送動作を多重に実行するデータ転送方法において、
送信側装置が受信側装置に送信するフレーム内に、当該フレームを受信側装置が具備するフレーム格納用データバッファのどのエントリ格納すべきかを指定するバッファ識別子を持たせ、
受信側装置が送信側装置にフレーム格納用データバッファの開放を通知する情報に、開放したエントリのバッファ識別子を持たせ
送信側装置において、受信側装置が具備するフレーム格納用データバッファが現在使用中であるか否かをエントリ毎に管理できるようにしたことを特徴とするデータ転送方法。
The receiving side device has multiple entries for the frame storage data buffer for temporarily storing frames received from the transmitting side device, and multiple data transfer operations are performed in units of frames between the transmitting side device and the receiving side device. In the data transfer method to
In the frame transmitted from the transmission side apparatus to the reception side apparatus, a buffer identifier that specifies which entry of the frame storage data buffer included in the reception side apparatus is to be stored is provided.
In the information that the receiving side device notifies the transmitting side device of the release of the data buffer for storing the frame, the buffer identifier of the entry that has been released is included ,
A data transfer method characterized in that , in a transmission side apparatus, whether or not a frame storage data buffer provided in a reception side apparatus is currently in use can be managed for each entry .
請求項1記載のデータ転送方法において、
送信側装置は、受信側装置を介して複数の相手先データ転送装置にフレームをそれぞれ送信するために、受信側装置が具備するフレーム格納用データバッファのエントリ毎に、相手先データ転送装置のバッフア割当て、使用状態を管理するデータバッファ割当て管理テーブルを持ち、
送信側装置は、フレーム送信時、前記データバッファ割当てテーブルにより、受信側装置のフレーム格納用データバッファのエントリを選択して、前記データバッファ割当てテーブル内の当該エントリを使用中とし、受信側装置に送信するフレーム内に当該エントリのバッファ識別子を含め、受信側装置からフレーム格納用データバッファの開放通知情報を受信すると、該情報に含まれるバッファ識別子により前記データバッファ割当てテーブル内の当該エントリを未使用とすることを特徴とするデータ転送方法。
The data transfer method according to claim 1, wherein
In order to transmit frames to a plurality of counterpart data transfer apparatuses via the receiver apparatus, the transmitter apparatus transmits a buffer of the counterpart data transfer apparatus for each entry of the frame storage data buffer provided in the receiver apparatus. It has a data buffer allocation management table that manages allocation and usage status.
When transmitting a frame, the transmitting side device selects an entry in the data buffer for storing the frame of the receiving side device using the data buffer allocation table and sets the entry in the data buffer allocation table to be in use. If the buffer identifier of the entry is included in the frame to be transmitted and the frame storage data buffer release notification information is received from the receiving side device, the entry in the data buffer allocation table is not used by the buffer identifier included in the information. And a data transfer method.
請求項2記載のデータ転送方法において、相手先データ転送装置のデータ転送速度、転送プロトコル、重要度のいずれか又は全部をもとに、一つないし複数の装置グループを形成し、このグループ毎に送信側装置が受信側装置のフレーム格納用データバッファのエントリを割当てることを特徴とするデータ転送方法。3. The data transfer method according to claim 2, wherein one or a plurality of device groups are formed on the basis of any or all of the data transfer speed, transfer protocol, and importance of the partner data transfer device. A data transfer method, characterized in that a transmitting side apparatus allocates an entry in a frame storing data buffer of a receiving side apparatus.
JP13682099A 1999-05-18 1999-05-18 Data transfer method Expired - Fee Related JP3693523B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13682099A JP3693523B2 (en) 1999-05-18 1999-05-18 Data transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13682099A JP3693523B2 (en) 1999-05-18 1999-05-18 Data transfer method

Publications (2)

Publication Number Publication Date
JP2000332816A JP2000332816A (en) 2000-11-30
JP3693523B2 true JP3693523B2 (en) 2005-09-07

Family

ID=15184283

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13682099A Expired - Fee Related JP3693523B2 (en) 1999-05-18 1999-05-18 Data transfer method

Country Status (1)

Country Link
JP (1) JP3693523B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6167722B2 (en) * 2013-07-23 2017-07-26 富士通株式会社 Storage system, storage control device, and data transfer method

Also Published As

Publication number Publication date
JP2000332816A (en) 2000-11-30

Similar Documents

Publication Publication Date Title
US5502719A (en) Path allocation system and method having double link list queues implemented with a digital signal processor (DSP) for a high performance fiber optic switch
US5528584A (en) High performance path allocation system and method with fairness insurance mechanism for a fiber optic switch
US5519695A (en) Switch element for fiber channel networks
EP0993635B1 (en) Method and apparatus for dynamic queue sizing
US5361372A (en) Memory management for data transmission networks
US6145024A (en) Input/output optical fiber serial interface link that selectively transfers data in multiplex channel path mode or high speed single channel path mode
EP0841781B1 (en) Fibre channel switch employing distributed queuing
USRE37494E1 (en) Transfer of messages in a multiplexed system
US8041832B2 (en) Network data distribution system and method
JPH0687569B2 (en) Terminal adapter and data transmission method
JPH08256180A (en) Data communication network device
JPH07325775A (en) Subsystem and method for input-output communication
EP0709984A2 (en) High performance path allocation system and method for a fiber optic switch
JP2002540701A (en) An interconnect architecture that manages many low-bandwidth connections over high-bandwidth links
JPS60136442A (en) Transmission system of packet switching data
JP3913368B2 (en) Method for transferring data frames and apparatus for transmitting data frames
US20030103522A1 (en) Packet communication system, a packet communication method and a computer-readable storage medium having a computer program for a communication method
AU660259B2 (en) A queueing system for switches having "fast-circuit" properties
GB2367712A (en) Flow architecture for remote high-speed interface application
JP3693523B2 (en) Data transfer method
JPH021478B2 (en)
JP7456603B2 (en) switch device
JP2001244979A (en) Quality control method for ip network, network managing device for the same, and medium with recorded program for executing the same
JPH0974410A (en) Communication repeater
KR100211090B1 (en) A queueing system for switchs having "fast-circuit" properties

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041214

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050214

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050621

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050621

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090701

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100701

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110701

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110701

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120701

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130701

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees