JP3584886B2 - Fiber channel flow control method and apparatus - Google Patents

Fiber channel flow control method and apparatus Download PDF

Info

Publication number
JP3584886B2
JP3584886B2 JP2001019615A JP2001019615A JP3584886B2 JP 3584886 B2 JP3584886 B2 JP 3584886B2 JP 2001019615 A JP2001019615 A JP 2001019615A JP 2001019615 A JP2001019615 A JP 2001019615A JP 3584886 B2 JP3584886 B2 JP 3584886B2
Authority
JP
Japan
Prior art keywords
transmission
frame
frame data
data
processing unit
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
JP2001019615A
Other languages
Japanese (ja)
Other versions
JP2002223238A (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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2001019615A priority Critical patent/JP3584886B2/en
Publication of JP2002223238A publication Critical patent/JP2002223238A/en
Application granted granted Critical
Publication of JP3584886B2 publication Critical patent/JP3584886B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
この発明は、多ノードクラスタ通信などの大容量ファイルシステムで用いられるファイバチャネルのフロー制御方法および装置に関するものである。
【0002】
【従来の技術】
図3にファイバチャネルインターフェイスを持つ装置(ファイバチャネル装置)の入出力部に組み込まれるフロー制御回路の要部を示す。このフロー制御回路100は、受信フレームバッファ1、DMA制御部2、プリミティブ送信制御部3、送信データ調停部4およびフレーム送信制御部5、フレーム処理部6を備え、ファイバチャネル7を介して入力される受信データRXを受信する一方、送信データTXをファイバチャネル7を介して送信する。
【0003】
ファイバチャネル7からの受信データRXは光信号として与えられ、図示せぬファイバチャネル受信器で電気信号に変換され、受信フレームバッファ1へ送られる。送信データTXは、図示せぬファイバチャネル送信器で光信号に変換され、ファイバチャネル7へ送られる。受信フレームバッファ1は4フレーム分のデータ格納領域を有している。
【0004】
今、受信フレームバッファ1に受信フレームデータ#A,#B,#Cの3つが格納されていて、受信フレームデータ#Dの受信が開始されたとする。この場合、受信フレームバッファ1の最後のデータ格納領域に、受信フレームデータ#Dが格納され始める(図4(b)に示すt1点)。DMA制御部2は、この受信フレームデータ#Dの格納が始まると、受信フレームデータ転送要求信号を受信フレームバッファ1へ送り、受信フレームバッファ1から受信フレームデータ#Aのフレーム処理部6への転送を開始させる(図4(a)に示すt2点)。
【0005】
受信フレームデータ#Aのフレーム処理部6への転送が完了すると(図4(a)に示すt3点)、すなわち受信フレームバッファ1が解放されて受信フレームデータの格納領域が1つ空くと、DMA制御部2はR_RDY送信要求信号(確認信号)をプリミティブ送信制御部3へ送る。R_RDY送信要求信号を受け取ったプリミティブ送信制御部3は、他のプリミティブ送信要求と優先順位の判定を行った後、R_RDY送信要求信号の送出が最優先と判断された場合、R_RDY送信要求を送信データ調停部4へ送る。送信データ調停部4は、プリミティブ送信制御部3からのR_RDY送信要求を受けて(図4に示すt3点)、プリミティブ送信制御部3へプリミティブ送信許可を送る(図4(c)に示すt4点)。
【0006】
このプリミティブ送信許可を受けて、プリミティブ送信制御部3は、DMA制御部2からのR_RDY送信要求信号をファイバチャネル7を介して相手ノードへ送る(図4(c)に示すt5点)。相手ノードは、このフロー制御回路100からのR_RDY送信要求信号を受けて、次のフレームデータ#Eを送信する。
【0007】
【発明が解決しようとする課題】
受信フレームバッファ1からの受信フレームデータ#Aのフレーム処理部6への転送中、フレーム処理部6からフレーム送信制御部5へフレームデータ(送信フレームデータ)#Nが与えられると、フレーム送信制御部5から送信データ調停部4へフレーム送信要求が送られる(図5(d)に示すt3点)。このフレーム送信要求を受けて、送信データ調停部4は、フレーム送信許可をフレーム送信制御部5へ送る(図5(c)に示すt4点)。このフレーム送信許可を受けて、フレーム送信制御部5は、フレーム処理部6からの送信フレームデータ#Nをファイバチャネル7を介して相手ノードへ送る(図5(c)に示すt5点)。
【0008】
この送信フレームデータ#Nの送信中、受信フレームバッファ1からのフレーム処理部6への受信フレームデータ#Aの転送は続けられており、フレーム処理部6への受信フレームデータ#Aの転送が完了すると(図5(a)に示すt6点)、DMA制御部2はR_RDY送信要求信号をプリミティブ送信制御部3へ送る。プリミティブ送信制御部3は、DMA制御部2からのR_RDY送信要求信号を受けて、R_RDY送信要求を送信データ調停部4へ送る(図5(a)に示すt6点)。
【0009】
ここで、送信データ調停部4は、プリミティブ送信制御部3からのR_RDY送信要求を受けて、プリミティブ送信制御部3へプリミティブ送信許可を送ろうとするが、送信フレームデータ#Nの送信中であるため、この送信フレームデータ#Nの送信が完了するまでプリミティブ送信許可の送出を待ち合わせる。これにより、送信フレームデータ#Nの送信が完了した後、送信データ調停部4からプリミティブ送信制御部3へプリミティブ送信許可が送られ(図5(c)に示すt7点)、この時点でやっとプリミティブ送信制御部3からR_RDY送信要求信号が相手ノードへ送られるものとなる(図5(c)に示すt8点)。
【0010】
このように、従来のフロー制御回路100では、受信フレームバッファ1からのフレーム処理部6への受信フレームデータ#Aの転送中に送信フレームデータ#Nの送信要求があった場合、送信フレームデータ#Nの送信が完了した後、受信フレームデータ#Aの転送完了を示すR_RDY送信要求信号が送信されるので、相手ノードからの次のフレームデータ#Eの受け取りが遅れ、大容量データの高速転送が阻害され、スループットが低下するという問題があった。
【0011】
本発明はこのような課題を解決するためになされたもので、その目的とするところは、ファイバチャネルを効率よく使用し、スループットを向上させることのできるファイバチャネルのフロー制御方法および装置を提供することにある。
【0012】
【課題を解決するための手段】
このような目的を達成するために本発明は、フレーム処理部への受信フレームデータの転送中にフレーム処理部からの送信フレームデータの送信要求があった場合、この時の送信フレームデータの送信フレーム長とフレーム処理部への転送中の受信フレームデータの残余長との差に基づき、この差が予め定められている所定値よりも大きい場合には、フレーム処理部への受信フレームデータの転送完了を示す確認信号の返送を優先し、この確認信号の返送完了よりも後に送信フレームデータの送信を開始するようにし、この差が所定値よりも小さい場合には、送信フレームデータの送信を開始し、この送信フレームデータの送信完了よりも後に、フレーム処理部への受信フレームデータの転送完了を示す確認信号を返送するようにしたものである。
【0014】
この発明によれば、受信フレームデータ(#A)の転送中に送信フレームデータ(#N)の送信要求があると、この時の送信フレームデータ(#N)の送信フレーム長と転送中の受信フレームデータ(#A)の残余長との差に基づき、受信フレームデータ(#A)の転送完了を示す確認信号を先に送信するのか、送信フレームデータ(#N)を先に送信するのかの調停が行われる。
送信フレームデータ(#N)の送信フレーム長と転送中の受信フレームデータ(#A)の残余長との差が所定値よりも大きい場合には、送信フレームデータ(#N)のフレーム長が長く時間がかかると判断し、少なくとも受信フレームデータ(#A)の転送完了を示す確認信号の返送が完了するまで、送信フレームデータ(#N)の送信を待ち合わせる。すなわち、受信フレームデータ(#A)の転送完了を示す確認信号を先に送信し、その後に送信フレームデータ(#N)を送信する。
送信フレームデータ(#N)の送信フレーム長と転送中の受信フレームデータ(#A)の残余長との差が所定値よりも小さい場合には、送信フレームデータ(#N)のフレーム長が短くさほど時間はかからないと判断し、送信フレームデータ(#N)の送信を開始し、この送信フレームデータ(#N)の送信が完了するまで、受信フレームデータ(#A)の転送完了を示す確認信号の返送を待ち合わせる。すなわち、送信フレームデータ(#N)を先に送信し、その後に受信フレームデータ(#A)の転送完了を示す確認信号を返送する。
【0015】
【発明の実施の形態】
以下、本発明を図面に基づいて詳細に説明する。図1はこの発明の実施に用いるフロー制御回路の要部を示すブロック図である。同図において、図3と同一符号は、同一或いは同等構成要素を示す。
【0016】
この実施の形態では、DMA制御部2にDMA残余カウンタ2−1を設け、受信フレームバッファ1からのフレーム処理部6への受信フレームデータの残りの転送数(残余長)をカウントし、これを送信データ調停部4へ与えるようにしている。なお、フレーム処理部6への転送が起動されていない時、DMA残余カウンタ2−1には受信フレームデータの最大フレーム長よりも大きな値を保持させるようにしている。
【0017】
また、受信フレームバッファ1における受信フレームデータの格納領域が全て使用されている場合、受信フレームバッファ1から送信データ調停部4へ受信バッファ・フル信号を送るようにしている。
また、フレーム送信制御部5から送信データ調停部4へ、フレーム送信要求とともに送信フレームデータの送信フレーム長を送るようにしている。
【0018】
また、セレクタ8を設け、このセレクタ8の一方のポートへプリミティブ送信制御部3からのR_RDY送信要求信号やその他のプリミティブ送信要求信号を送るようにし、他方のポートへフレーム送信制御部5を介するフレーム処理部6からの送信フレームデータを送るようにしている。
また、送信データ調停部4からのセレクタ制御信号によって、セレクタ8におけるモードを切り替えるようにしている。また、送信データ調停部4に、後述するフロー制御パラメータ4−1として所定値Xを設定している。
【0019】
以下、各部の機能を交えながら、このフロー制御回路200における特徴的な動作について説明する。
今、受信フレームバッファ1に受信フレームデータ#A,#B,#Cの3つが格納されていて、受信フレームデータ#Dの受信が開始されたとする。この場合、受信フレームバッファ1の最後のデータ格納領域に、受信フレームデータ#Dが格納さ始める(図2(b)に示すt1点)。DMA制御部2は、この受信フレームデータ#Dの格納が始まると、受信フレームデータ転送要求信号を受信フレームバッファ1へ送り、受信フレームバッファ1から受信フレームデータ#Aのフレーム処理部6への転送を開始させる(図2(a)に示すt2点)。
【0020】
この受信フレームデータ#Aのフレーム処理部6への転送中、フレーム処理部6からフレーム送信制御部5へ送信フレームデータ#Nが与えられると、フレーム送信制御部5はフレーム送信要求と送信フレームデータ#Nの送信フレーム長を送信データ調停部4へ送る(図2(d)に示すt3点)。この時、送信データ調停部4には、受信フレームバッファ1からの受信バッファ・フル信号やDMA残余カウンタ2−1から受信フレームデータ#Aの残余長が与えられている。
【0021】
送信データ調停部4は、フレーム送信制御部5からフレーム送信要求が与えられると、その時の送信フレームデータ#Nの送信フレーム長とDMA残余カウンタ2−1からの受信フレームデータ#Aの残余長との差を求め、この差とフロー制御パラメータ4−1として設定されている所定値Xとを比較する。
【0022】
そして、この差が所定値Xよりも大きい場合、送信データ調停部4は、フレーム処理部6からの送信フレームデータ#Nのフレーム長が長く時間がかかると判断し、セレクタ8へのセレクタ制御信号をプリミティブ送信制御部3側へセットする。すなわち、セレクタ8のモードを、プリミティブ送信制御部3からの信号を送信データTXとして出力するモードに切り替える。
【0023】
また、上記差が所定値Xよりも大きい場合、送信データ調停部4は、受信フレームバッファ1からの受信バッファ・フル信号が消失し、プリミティブ送信制御部3からのR_RDY送信要求およびその他のプリミティブ送信要求が非セット状態となるまで(R_RDY送信要求信号および他のプリミティブ送信要求の送信が完了するまで)、フレーム送信制御部5へのフレーム送信許可の送出およびセレクタ8へのセレクタ制御信号のフレーム送信制御部5側への切り替えを待ち合わせる。従って、この場合、フレーム処理部6からの送信フレームデータ#Nはフレーム送信制御部5で止められ、送信データTXとして送出されることはない。
【0024】
受信フレームバッファ1からのフレーム処理部6への受信フレームデータ#Aの転送が完了すると(図2(a)に示すt4点)、すなわち受信フレームバッファ1が解放されて受信フレームデータの格納領域が1つ空くと、DMA制御部2はR_RDY送信要求信号をプリミティブ送信制御部3へ送る。プリミティブ送信制御部3は、DMA制御部2からのR_RDY送信要求信号を受けて、R_RDY送信要求を送信データ調停部4へ送る(図2(a)に示すt4点)。送信データ調停部4は、プリミティブ送信制御部3からのR_RDY送信要求を受けて、プリミティブ送信許可をプリミティブ送信制御部3へ送る(図2(c)に示すt5点)。
【0025】
このプリミティブ送信許可を受けて、プリミティブ送信制御部3は、DMA制御部2からのR_RDY送信要求信号をセレクタ8へ送る。この時、セレクタ8は送信データ調停部4からのセレクタ制御信号によりそのモードがプリミティブ送信制御部3側に切り替えられているので、プリミティブ送信制御部3からのR_RDY送信要求信号はファイバチャネル7を介して相手ノードへ送られる(図2(c)に示すt6点)。相手ノードは、このフロー制御回路200からのR_RDY送信要求信号を受けて、次のフレームデータ#Eを送信する。
【0026】
送信データ調停部4は、受信フレームバッファ1からの受信バッファ・フル信号が消失し、プリミティブ送信制御部3からのR_RDY送信要求およびその他のプリミティブ送信要求が非セット状態となると、フレーム送信制御部5へフレーム送信許可を送出するとともに、セレクタ8へのセレクタ制御信号をフレーム送信制御部5側へ切り替える(図2(c)に示すt7点)。すなわち、セレクタ8のモードを、フレーム送信制御部5からの信号を送信データTXとして送出するモードに切り替える。これにより、プリミティブ送信制御部3からのR_RDY送信要求信号の送信完了後、フレーム送信制御部5を介するフレーム処理部6からの送信フレームデータ#Nの送信が開始される(図2(c)に示すt8点)。
【0027】
このように、本実施の形態のフロー制御回路200によると、受信フレームバッファ1からのフレーム処理部6への受信フレームデータ#Aの転送中に送信フレームデータ#Nの送信要求があった場合、受信フレームデータ#Aの転送完了を示すR_RDY送信要求信号が先に返送され、その後に送信フレームデータ#Nが送信されるので、相手ノードから次のフレームデータ#Eを早く受け取ることができる。これにより、ファイバチャネル7が効率よく使用され、スループットが向上する。
【0028】
なお、送信データ調停部4は、フレーム送信制御部5からフレーム送信要求が与えられた時、その時の送信フレームデータ#Nの送信フレーム長とDMA残余カウンタ2−1からの受信フレームデータ#Aの残余長との差が所定値Xよりも小さかった場合、送信フレームデータ#Nのフレーム長が短くそれほど時間はかからないと判断し、セレクタ8へのセレクタ制御信号をフレーム送信制御部5側へセットするとともに、フレーム送信制御部5へ直ちにフレーム送信許可を与える。
【0029】
この場合、従来と同様に、送信フレームデータ#Nが先に送信され、その後に受信フレームデータ#Aの転送完了を示すR_RDY送信要求信号が送信されるものとなる。しかし、この場合の送信フレームデータ#Nは短く、R_RDY送信要求信号の返送が大きく遅れることはない。フレーム送信要求があった時、直ちに送信フレームデータ#Nの送信を行うか後で行うかは、すなわち送信フレームデータ#Nの送信フレーム長が長いか短いかは、送信データ調停部4におけるフロー制御パラメータ4−1の値Xを変えることによって、その判断基準を自由に調整することができる。
【0030】
【発明の効果】
以上説明したことから明らかなように本発明によれば、フレーム処理部への受信フレームデータの転送中にフレーム処理部から送信フレームデータの送信要求があると、この時の送信フレームデータの送信フレーム長と転送中の受信フレームデータの残余長との差に基づき、受信フレームデータの転送完了を示す確認信号を先に送信するのか、送信フレームデータを先に送信するのかの調停が行われ、送信フレームデータの送信フレーム長と転送中の受信フレームデータの残余長との差が所定値よりも大きい場合(送信フレームデータのフレーム長が長い場合)には、少なくとも受信フレームデータの転送完了を示す確認信号の返送が完了するまで送信フレームデータの送信が待ち合わせられるものとなり、所定値よりも小さい場合(送信フレームデータのフレーム長が短い場合)には、送信フレームデータの送信が開始され、この送信フレームデータの送信が完了するまで受信フレームデータの転送完了を示す確認信号の返送が待ち合わせられるものとなり、ファイバチャネルを効率よく使用し、スループットを向上させることができるようになる。
【0032】
特に、本発明は、ファブリックのようなスイッチ装置やクラス2でフレーム長の大きいデータフレームに対し、フレーム長の小さいACKフレーム(確認信号)を返すような場合に効果が大きい。
【図面の簡単な説明】
【図1】本発明の実施に用いるフロー制御回路の要部を示すブロック図である。
【図2】このフロー制御回路における特徴的な動作を説明するタイムチャートである。
【図3】従来のフロー制御回路の要部を示すブロック図である。
【図4】このフロー制御回路におけるR_RDY送信要求信号の返送動作を説明するタイムチャートである。
【図5】このフロー制御回路におけるフレーム送信要求が出された場合の動作を説明するタイムチャートである。
【符号の説明】
1…受信フレームバッファ、2…DM制御部、2−1…DMA残余カウンタ、3…プリミティブ送信制御部、4…送信データ調停部、4−1…フロー制御パラメータ、5…フレーム送信制御部、6…フレーム処理部、7…ファイバチャネル、8…セレクタ、200…フロー制御回路。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a fiber channel flow control method and apparatus used in a large capacity file system such as multi-node cluster communication.
[0002]
[Prior art]
FIG. 3 shows a main part of a flow control circuit incorporated in an input / output unit of a device having a fiber channel interface (fiber channel device). The flow control circuit 100 includes a reception frame buffer 1, a DMA control unit 2, a primitive transmission control unit 3, a transmission data arbitration unit 4, a frame transmission control unit 5, and a frame processing unit 6, and is input via a fiber channel 7. While receiving the received data RX, the transmission data TX is transmitted via the fiber channel 7.
[0003]
The reception data RX from the fiber channel 7 is given as an optical signal, converted into an electric signal by a fiber channel receiver (not shown), and sent to the reception frame buffer 1. The transmission data TX is converted into an optical signal by a fiber channel transmitter (not shown) and sent to the fiber channel 7. The reception frame buffer 1 has a data storage area for four frames.
[0004]
Now, it is assumed that three pieces of reception frame data #A, #B, and #C are stored in the reception frame buffer 1 and the reception of the reception frame data #D is started. In this case, the reception frame data #D starts to be stored in the last data storage area of the reception frame buffer 1 (point t1 shown in FIG. 4B). When the storage of the received frame data #D starts, the DMA control unit 2 sends a received frame data transfer request signal to the received frame buffer 1, and transfers the received frame data #A from the received frame buffer 1 to the frame processing unit 6. (Point t2 shown in FIG. 4A).
[0005]
When the transfer of the received frame data #A to the frame processing unit 6 is completed (point t3 shown in FIG. 4A), that is, when the received frame buffer 1 is released and one storage area for the received frame data becomes free, the DMA The control unit 2 sends an R_RDY transmission request signal (confirmation signal) to the primitive transmission control unit 3. After receiving the R_RDY transmission request signal, the primitive transmission control unit 3 determines the priority of the transmission of the R_RDY transmission request signal after determining the priority of the R_RDY transmission request after determining the priority of the R_RDY transmission request. Send to arbitration unit 4. Upon receiving the R_RDY transmission request from the primitive transmission control unit 3 (point t3 shown in FIG. 4), the transmission data arbitration unit 4 sends a primitive transmission permission to the primitive transmission control unit 3 (point t4 shown in FIG. 4C). ).
[0006]
Upon receiving the primitive transmission permission, the primitive transmission control unit 3 sends an R_RDY transmission request signal from the DMA control unit 2 to the partner node via the fiber channel 7 (point t5 shown in FIG. 4C). The partner node receives the R_RDY transmission request signal from the flow control circuit 100 and transmits the next frame data #E.
[0007]
[Problems to be solved by the invention]
During the transfer of the received frame data #A from the reception frame buffer 1 to the frame processing unit 6, when the frame data (transmission frame data) #N is given from the frame processing unit 6 to the frame transmission control unit 5, the frame transmission control unit 5 transmits a frame transmission request to the transmission data arbitration unit 4 (point t3 shown in FIG. 5D). In response to the frame transmission request , the transmission data arbitration unit 4 sends a frame transmission permission to the frame transmission control unit 5 (point t4 shown in FIG. 5C). Upon receiving the frame transmission permission, the frame transmission control unit 5 sends the transmission frame data #N from the frame processing unit 6 to the partner node via the fiber channel 7 (point t5 shown in FIG. 5C).
[0008]
During the transmission of the transmission frame data #N, the transfer of the reception frame data #A from the reception frame buffer 1 to the frame processing unit 6 is continued, and the transfer of the reception frame data #A to the frame processing unit 6 is completed. Then (t6 point shown in FIG. 5A), the DMA control unit 2 sends an R_RDY transmission request signal to the primitive transmission control unit 3. Upon receiving the R_RDY transmission request signal from the DMA control unit 2, the primitive transmission control unit 3 sends an R_RDY transmission request to the transmission data arbitration unit 4 (point t6 shown in FIG. 5A).
[0009]
Here, the transmission data arbitration unit 4 receives the R_RDY transmission request from the primitive transmission control unit 3 and attempts to transmit a primitive transmission permission to the primitive transmission control unit 3, but because the transmission frame data #N is being transmitted. The transmission of the primitive transmission permission is waited until the transmission of the transmission frame data #N is completed. Thereby, after the transmission of the transmission frame data #N is completed, the transmission data arbitration unit 4 sends a primitive transmission permission to the primitive transmission control unit 3 (point t7 shown in FIG. 5C), and at this time, the primitive is finally reached. An R_RDY transmission request signal is transmitted from the transmission control unit 3 to the partner node (point t8 shown in FIG. 5C).
[0010]
As described above, in the conventional flow control circuit 100, when the transmission request of the transmission frame data #N is made during the transfer of the reception frame data #A from the reception frame buffer 1 to the frame processing unit 6, the transmission frame data # After the transmission of N, the R_RDY transmission request signal indicating the completion of the transfer of the received frame data #A is transmitted, so that the reception of the next frame data #E from the partner node is delayed, and the high-speed transfer of large-capacity data is performed. There is a problem that the throughput is hindered and the throughput is reduced.
[0011]
The present invention has been made to solve such a problem, and an object of the present invention is to provide a fiber channel flow control method and apparatus capable of efficiently using a fiber channel and improving throughput. It is in.
[0012]
[Means for Solving the Problems]
In order to achieve such an object, the present invention provides a method for transmitting a transmission frame data from a transmission frame data at the time when a request for transmission frame data is transmitted from the frame processing unit during transmission of the reception frame data to the frame processing unit. If the difference is larger than a predetermined value based on a difference between the length and the remaining length of the received frame data being transferred to the frame processing unit, the transfer of the received frame data to the frame processing unit is completed. The transmission of the transmission frame data is started after the completion of the return of the confirmation signal, and the transmission of the transmission frame data is started when the difference is smaller than a predetermined value. After the transmission of the transmission frame data is completed, a confirmation signal indicating the completion of the transfer of the reception frame data to the frame processing unit is returned. That.
[0014]
According to the present invention, when there is a transmission request for the transmission frame data (#N) during the transfer of the reception frame data (#A), the transmission frame length of the transmission frame data (#N) at this time and the reception during the transmission Based on the difference from the remaining length of the frame data (#A), whether to transmit the confirmation signal indicating the completion of the transfer of the received frame data (#A) first or to transmit the transmission frame data (#N) first Arbitration takes place.
If the difference between the transmission frame length of the transmission frame data (#N) and the remaining length of the reception frame data (#A) being transferred is larger than a predetermined value, the frame length of the transmission frame data (#N) becomes longer. It is determined that it takes time, and the transmission of the transmission frame data (#N) is waited until at least the return of the confirmation signal indicating the completion of the transfer of the reception frame data (#A) is completed. That is, a confirmation signal indicating the completion of the transfer of the received frame data (#A) is transmitted first, and then the transmission frame data (#N) is transmitted.
If the difference between the transmission frame length of the transmission frame data (#N) and the remaining length of the reception frame data (#A) being transferred is smaller than a predetermined value, the frame length of the transmission frame data (#N) becomes short. Judgment that it does not take much time, the transmission of the transmission frame data (#N) is started, and a confirmation signal indicating the completion of the transfer of the reception frame data (#A) until the transmission of the transmission frame data (#N) is completed. Wait for the return of. That is, the transmission frame data (#N) is transmitted first, and then a confirmation signal indicating the completion of the transfer of the reception frame data (#A) is returned.
[0015]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, the present invention will be described in detail with reference to the drawings. FIG. 1 is a block diagram showing a main part of a flow control circuit used for carrying out the present invention. 3, the same reference numerals as those in FIG. 3 indicate the same or equivalent components.
[0016]
In this embodiment, the DMA control unit 2 is provided with a DMA residual counter 2-1 to count the number of remaining transfers (remaining length) of the reception frame data from the reception frame buffer 1 to the frame processing unit 6, and count this. It is provided to the transmission data arbitration unit 4. When the transfer to the frame processing unit 6 is not activated, the DMA residual counter 2-1 holds a value larger than the maximum frame length of the received frame data.
[0017]
When the storage area of the reception frame data in the reception frame buffer 1 is completely used, the reception buffer full signal is sent from the reception frame buffer 1 to the transmission data arbitration unit 4.
Further, the transmission frame length of the transmission frame data is transmitted from the frame transmission control unit 5 to the transmission data arbitration unit 4 together with the frame transmission request.
[0018]
In addition, a selector 8 is provided, an R_RDY transmission request signal from the primitive transmission control unit 3 and other primitive transmission request signals are transmitted to one port of the selector 8, and a frame transmitted through the frame transmission control unit 5 to the other port. The transmission frame data from the processing unit 6 is sent.
The mode of the selector 8 is switched by a selector control signal from the transmission data arbitration unit 4. Further, a predetermined value X is set in the transmission data arbitration unit 4 as a flow control parameter 4-1 described later.
[0019]
Hereinafter, the characteristic operation of the flow control circuit 200 will be described while exchanging the functions of the respective units.
Now, it is assumed that three pieces of reception frame data #A, #B, and #C are stored in the reception frame buffer 1 and the reception of the reception frame data #D is started. In this case, the reception frame data #D starts to be stored in the last data storage area of the reception frame buffer 1 (point t1 shown in FIG. 2B). When the storage of the received frame data #D starts, the DMA control unit 2 sends a received frame data transfer request signal to the received frame buffer 1, and transfers the received frame data #A from the received frame buffer 1 to the frame processing unit 6. (Point t2 shown in FIG. 2A).
[0020]
During the transfer of the received frame data #A to the frame processing unit 6, when the frame processing unit 6 gives the transmission frame data #N to the frame transmission control unit 5, the frame transmission control unit 5 transmits the frame transmission request and the transmission frame data. The transmission frame length of #N is sent to the transmission data arbitration unit 4 (point t3 shown in FIG. 2D). At this time, the transmission data arbitration unit 4 is provided with the reception buffer full signal from the reception frame buffer 1 and the remaining length of the reception frame data #A from the DMA remaining counter 2-1.
[0021]
When receiving a frame transmission request from the frame transmission control unit 5, the transmission data arbitration unit 4 determines the transmission frame length of the transmission frame data #N and the remaining length of the reception frame data #A from the DMA residual counter 2-1 at that time. Is obtained, and the difference is compared with a predetermined value X set as the flow control parameter 4-1.
[0022]
If the difference is larger than the predetermined value X, the transmission data arbitration unit 4 determines that the frame length of the transmission frame data #N from the frame processing unit 6 is long and takes a long time. Is set on the primitive transmission control unit 3 side. That is, the mode of the selector 8 is switched to a mode in which a signal from the primitive transmission control unit 3 is output as transmission data TX.
[0023]
When the difference is larger than the predetermined value X, the transmission data arbitration unit 4 loses the reception buffer full signal from the reception frame buffer 1, and outputs an R_RDY transmission request from the primitive transmission control unit 3 and other primitive transmission. Until the request is in the non-set state (until the transmission of the R_RDY transmission request signal and other primitive transmission requests is completed), transmission of the frame transmission permission to the frame transmission control unit 5 and frame transmission of the selector control signal to the selector 8 Wait for switching to the control unit 5 side. Therefore, in this case, the transmission frame data #N from the frame processing unit 6 is stopped by the frame transmission control unit 5 and is not transmitted as the transmission data TX.
[0024]
When the transfer of the reception frame data #A from the reception frame buffer 1 to the frame processing unit 6 is completed (point t4 shown in FIG. 2A), that is, the reception frame buffer 1 is released, and the storage area for the reception frame data becomes When one is free, the DMA control unit 2 sends an R_RDY transmission request signal to the primitive transmission control unit 3. Upon receiving the R_RDY transmission request signal from the DMA control unit 2, the primitive transmission control unit 3 sends an R_RDY transmission request to the transmission data arbitration unit 4 (point t4 shown in FIG. 2A). Upon receiving the R_RDY transmission request from the primitive transmission control unit 3, the transmission data arbitration unit 4 sends a primitive transmission permission to the primitive transmission control unit 3 (point t5 shown in FIG. 2C).
[0025]
Upon receiving the primitive transmission permission, the primitive transmission control unit 3 sends an R_RDY transmission request signal from the DMA control unit 2 to the selector 8. At this time, since the mode of the selector 8 has been switched to the primitive transmission control unit 3 side by the selector control signal from the transmission data arbitration unit 4, the R_RDY transmission request signal from the primitive transmission control unit 3 is transmitted via the fiber channel 7. (Point t6 shown in FIG. 2 (c)). The partner node receives the R_RDY transmission request signal from the flow control circuit 200 and transmits the next frame data #E.
[0026]
When the reception buffer full signal from the reception frame buffer 1 is lost and the R_RDY transmission request from the primitive transmission control unit 3 and other primitive transmission requests are set to the non-set state, the transmission data arbitration unit 4 In addition to sending a frame transmission permission to the frame transmission control unit 5, the selector control signal to the selector 8 is switched to the frame transmission control unit 5 (point t7 shown in FIG. 2C). That is, the mode of the selector 8 is switched to a mode in which a signal from the frame transmission control unit 5 is transmitted as transmission data TX. Thus, after the transmission of the R_RDY transmission request signal from the primitive transmission control unit 3 is completed, transmission of the transmission frame data #N from the frame processing unit 6 via the frame transmission control unit 5 is started (see FIG. 2C). T8 point shown).
[0027]
As described above, according to the flow control circuit 200 of the present embodiment, when the transmission request of the transmission frame data #N is made during the transfer of the reception frame data #A from the reception frame buffer 1 to the frame processing unit 6, Since the R_RDY transmission request signal indicating the completion of the transfer of the reception frame data #A is returned first, and then the transmission frame data #N is transmitted, the next frame data #E can be received from the partner node earlier. Thereby, the fiber channel 7 is used efficiently, and the throughput is improved.
[0028]
When receiving a frame transmission request from the frame transmission control unit 5, the transmission data arbitration unit 4 determines whether the transmission frame length of the transmission frame data #N at that time and the reception frame data #A from the DMA residual counter 2-1. When the difference from the remaining length is smaller than the predetermined value X, it is determined that the frame length of the transmission frame data #N is short and does not take much time, and the selector control signal to the selector 8 is set to the frame transmission control unit 5 side. At the same time, a frame transmission permission is immediately given to the frame transmission control unit 5.
[0029]
In this case, as in the conventional case, the transmission frame data #N is transmitted first, and then the R_RDY transmission request signal indicating the completion of the transfer of the reception frame data #A is transmitted. However, the transmission frame data #N in this case is short, and the return of the R_RDY transmission request signal is not greatly delayed. Whether the transmission of the transmission frame data #N is performed immediately or later when the frame transmission request is made, that is, whether the transmission frame length of the transmission frame data #N is long or short, depends on the flow control in the transmission data arbitration unit 4. By changing the value X of the parameter 4-1, the criterion can be freely adjusted.
[0030]
【The invention's effect】
As is apparent from the above description, according to the present invention, when the transmission of the transmission frame data is requested by the frame processing unit during the transfer of the reception frame data to the frame processing unit, the transmission frame of the transmission frame data at this time is transmitted. Based on the difference between the length of the received frame data and the remaining length of the received frame data being transferred, arbitration is performed as to whether to transmit the confirmation signal indicating the completion of the transfer of the received frame data first or to transmit the transmission frame data first. If the difference between the transmission frame length of the frame data and the remaining length of the received frame data being transferred is larger than a predetermined value (when the frame length of the transmission frame data is long), at least confirmation that the transfer of the received frame data is completed Transmission of transmission frame data is to be waited for until signal return is completed. In the case the frame length is short) of Mudeta begins transmission of the transmission frame data, it is assumed that the return confirmation signal indicating completion of the transfer of the received frame data until the transmission of the transmission frame data is completed is waiting, Fiber Channel Can be used efficiently and the throughput can be improved.
[0032]
In particular, the present invention is highly effective in returning an ACK frame (acknowledge signal) having a small frame length to a switch device such as a fabric or a data frame having a large frame length in class 2.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a main part of a flow control circuit used for implementing the present invention.
FIG. 2 is a time chart for explaining a characteristic operation of the flow control circuit.
FIG. 3 is a block diagram illustrating a main part of a conventional flow control circuit.
FIG. 4 is a time chart illustrating an operation of returning an R_RDY transmission request signal in the flow control circuit.
FIG. 5 is a time chart for explaining an operation of the flow control circuit when a frame transmission request is issued.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 ... Reception frame buffer, 2 ... DM control part, 2-1 ... DMA residual counter, 3 ... Primitive transmission control part, 4 ... Transmission data arbitration part, 4-1 ... Flow control parameter, 5 ... Frame transmission control part, 6 ... frame processing unit, 7 ... fiber channel, 8 ... selector, 200 ... flow control circuit.

Claims (2)

ファイバチャネルを介して入力される受信フレームデータを受信フレームバッファに蓄え、この蓄えられた受信フレームデータを蓄えられた順にフレーム処理部に転送し、この受信フレームデータの転送を完了する毎に確認信号を前記ファイバチャネルを介して相手ノードへ返送するファイバチャネルのフロー制御方法において、
前記フレーム処理部への受信フレームデータの転送中に前記フレーム処理部からの送信フレームデータの送信要求があった場合、
その時の送信フレームデータの送信フレーム長と前記フレーム処理部へ転送中の受信フレームデータの残余長との差に基づき、
この差が予め定められている所定値よりも大きい場合には、前記フレーム処理部への受信フレームデータの転送完了を示す確認信号の返送を優先し、この確認信号の返送完了よりも後に前記送信フレームデータの送信を開始するようにし、
この差が前記所定値よりも小さい場合には、前記送信フレームデータの送信を開始し、この送信フレームデータの送信完了よりも後に、前記フレーム処理部への受信フレームデータの転送完了を示す確認信号を返送するようにした
ことを特徴とするファイバチャネルのフロー制御方法。
The received frame data input via the fiber channel is stored in a received frame buffer, and the stored received frame data is transferred to the frame processing unit in the order in which the received frame data is stored. Each time the transfer of the received frame data is completed, a confirmation signal is transmitted. In the fiber channel flow control method of returning to the partner node via the fiber channel,
When there is a transmission request for transmission frame data from the frame processing unit during transfer of the reception frame data to the frame processing unit,
Based on the difference between the transmission frame length of the transmission frame data at that time and the remaining length of the reception frame data being transferred to the frame processing unit,
If the difference is larger than a predetermined value, priority is given to returning a confirmation signal indicating completion of transfer of the received frame data to the frame processing unit, and the transmission is performed after completion of the return of the confirmation signal. Start transmitting frame data,
When the difference is smaller than the predetermined value, the transmission of the transmission frame data is started, and after the transmission of the transmission frame data is completed, a confirmation signal indicating the completion of the transfer of the reception frame data to the frame processing unit. Is returned . The flow control method of the fiber channel, wherein
ファイバチャネルを介して入力される受信フレームデータを受信フレームバッファに蓄え、この蓄えられた受信フレームデータを蓄えられた順にフレーム処理部に転送し、この受信フレームデータの転送を完了する毎に確認信号を前記ファイバチャネルを介して相手ノードへ返送するファイバチャネルのフロー制御装置において、
前記フレーム処理部への受信フレームデータの転送中に前記フレーム処理部からの送信フレームデータの送信要求があった場合、その時の送信フレームデータの送信フレーム長と前記フレーム処理部へ転送中の受信フレームデータの残余長との差に基づき、この差が予め定められている所定値よりも大きい場合には、前記フレーム処理部への受信フレームデータの転送完了を示す確認信号の返送を優先し、この確認信号の返送完了よりも後に前記送信フレームデータの送信を開始させ、この差が前記所定値よりも小さい場合には、前記送信フレームデータの送信を開始し、この送信フレームデータの送信完了よりも後に、前記フレーム処理部への受信フレームデータの転送完了を示す確認信号を返送させる送信データ調停手段
を備えたことを特徴とするファイバチャネルのフロー制御装置。
The received frame data input via the fiber channel is stored in a received frame buffer, and the stored received frame data is transferred to the frame processing unit in the order in which the received frame data is stored. Each time the transfer of the received frame data is completed, a confirmation signal is transmitted. In the fiber channel flow control device for returning to the partner node via the fiber channel ,
If there is a transmission frame data transmission request from the frame processing unit during the transfer of the reception frame data to the frame processing unit, the transmission frame length of the transmission frame data at that time and the reception frame being transferred to the frame processing unit Based on the difference with the remaining length of the data, if the difference is larger than a predetermined value, priority is given to returning a confirmation signal indicating the completion of transfer of the received frame data to the frame processing unit. to start transmission of the transmission frame data after the returned completion of the confirmation signal, if the difference is less than the predetermined value, and starts transmission of the transmission frame data, than the completion of the transmission of the transmission frame data Transmission data arbitration means for returning a confirmation signal indicating completion of transfer of the received frame data to the frame processing unit
A fiber channel flow control device, comprising:
JP2001019615A 2001-01-29 2001-01-29 Fiber channel flow control method and apparatus Expired - Fee Related JP3584886B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001019615A JP3584886B2 (en) 2001-01-29 2001-01-29 Fiber channel flow control method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001019615A JP3584886B2 (en) 2001-01-29 2001-01-29 Fiber channel flow control method and apparatus

Publications (2)

Publication Number Publication Date
JP2002223238A JP2002223238A (en) 2002-08-09
JP3584886B2 true JP3584886B2 (en) 2004-11-04

Family

ID=18885464

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001019615A Expired - Fee Related JP3584886B2 (en) 2001-01-29 2001-01-29 Fiber channel flow control method and apparatus

Country Status (1)

Country Link
JP (1) JP3584886B2 (en)

Also Published As

Publication number Publication date
JP2002223238A (en) 2002-08-09

Similar Documents

Publication Publication Date Title
US7640374B2 (en) Data transfer apparatus by direct memory access controller
US4750109A (en) Method and system for expediting multi-packet messages in a computer network
US5528584A (en) High performance path allocation system and method with fairness insurance mechanism for a fiber optic switch
JPH0771125B2 (en) Data communication method and data communication system
WO1999032981A1 (en) Method and system for arbitrating path contention
JPH11501196A (en) Method and apparatus for automatic retransmission of packets in a network adapter
JP3785373B2 (en) Communication control circuit
JP2001308926A (en) Method and system for transmission of data between receiver and transmitter
JP3772690B2 (en) Service system and service method used therefor
JPH04239950A (en) Connection holding control system
JP3584886B2 (en) Fiber channel flow control method and apparatus
JPH09224066A (en) Communication protocol parallel processor
JPH08314851A (en) Data processing system
JPH088971A (en) Distributed packet exchange and flow control execution controlling method therefor
JP3606163B2 (en) Realization of FC-AL switch for private devices
JPH066387A (en) Method and device for data transfer control
JP2564499B2 (en) Transmission data flow control method
JPH089792Y2 (en) SCSI adapter circuit for host-to-host communication
JPH0823375A (en) Isdn call connection control system
JPH08223250A (en) Communication control system
KR100455106B1 (en) Central control unit of wireless subscriber network base station
JPH11177654A (en) Data transmission reception method
JPH0360253A (en) Communication controller
WO2009076896A1 (en) A method and device for exchanging service and the service exchange unit
JPH04278732A (en) Device switching system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040406

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040413

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040609

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: 20040713

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040726

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: 20070813

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20080813

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20080813

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090813

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090813

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100813

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110813

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110813

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120813

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees