JP3807372B2 - クレジットによるフロー制御システム及びその方法 - Google Patents

クレジットによるフロー制御システム及びその方法 Download PDF

Info

Publication number
JP3807372B2
JP3807372B2 JP2003018851A JP2003018851A JP3807372B2 JP 3807372 B2 JP3807372 B2 JP 3807372B2 JP 2003018851 A JP2003018851 A JP 2003018851A JP 2003018851 A JP2003018851 A JP 2003018851A JP 3807372 B2 JP3807372 B2 JP 3807372B2
Authority
JP
Japan
Prior art keywords
data
credit
transmission
credits
register
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
JP2003018851A
Other languages
English (en)
Other versions
JP2004235728A (ja
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 JP2003018851A priority Critical patent/JP3807372B2/ja
Publication of JP2004235728A publication Critical patent/JP2004235728A/ja
Application granted granted Critical
Publication of JP3807372B2 publication Critical patent/JP3807372B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、データの送受信におけるフロー制御に関し、特に送信したデータのクレジット数を送信側で管理することで、受信側では受信データバッファのクレジット数に代わりクレジットを送信側に通知するクレジットによるフロー制御システム及びその方法に関する。
【0002】
【従来の技術】
データ転送のフロー制御として、受信側がクレジットを送信側に伝え、送信側では受け取ったクレジット分だけデータを送信するクレジット方式が知られている。クレジット方式では、受信データバッファにおけるデータ量を監視して、フロー制御用情報として受信データバッファで処理したデータ量又は受信データバッファの空き量を送信側に通知するクレジットを発生し、送信側では、このクレジットに応じてデータを送信する。(例えば、特許文献1を参照)
【特許文献1】
特許第2964937号(特開平09−191321号)
(第3−4ページ、図1)
【0003】
【発明が解決しようとする課題】
通常クレジット方式では、送信データ転送能力以上のクレジットを受信側から送信側に通知しなければ、受信データバッファが空いているにも関わらずデータが送信されなくなり、データ転送性能の低下につながる。
データ転送性能を低下させないひとつの方法として、データの受信側から送信側へのクレジット数の通知において、複数の信号線を使い一度に多くのクレジット数を通知することが考えられる。例えば信号線が1本であれば1度に1クレジット数しか通知できないが、2本にすれば一度の3クレジット数まで通知することが可能になる。しかしこの方法ではデータ転送性能は低下しないがデータ転送能力が増加するとクレジット数通知に使用する信号線数が多くなる。だが現在のLSIでは信号線の増加がボトルネックとなっており、クレジット通知に使用する信号線数を増やすとLSIのコストが高価になってしまうという新たな問題が起こる。
【0004】
本発明は、送信側で送信したデータの持つクレジット数を管理することで、受信側からはクレジット数を送信側に通知することなく、それに代替する情報として、受信側の受信データバッファに新たな空きの発生したことをクレジットとして送信側に通知するクレジットによるフロー制御システム及びその方法を提供するものである。
【0005】
【課題を解決するための手段】
本発明の第1のクレジットによるフロー制御システムは、データを送信する送信側と、前記送信側から送信されたデータを受信する受信側と、があって、
前記送信側は、送信したデータで前記受信側の受信データバッファに格納されているデータの持つクレジット数を送信したデータの時系列順に一時記憶する記憶手段を有する。
【0006】
本発明の第2のクレジットによるフロー制御システムは、第1の発明において、前記記憶手段はFIFO(先入れ先出し)形式であることを備える。
【0007】
本発明の第3のクレジットによるフロー制御システムは、第1又は第2の発明において、前記受信側は、前記送信側から受信したデータを格納する受信データバッファのデータが前記受信データバッファから取り出され処理される都度、前記受信データバッファに空きが発生したことをクレジット通知として前記送信側に通知する送信手段を有する。
【0009】
本発明の第4のクレジットによるフロー制御システムは、データを送信する送信側と、前記送信側から送信されたデータを受信する受信側と、があって、前記送信側は、送信したデータで前記受信側の受信データバッファに格納されたデータの持つクレジット数を送信したデータの時系列順に記憶するFIFO形式の送信クレジット数バッファと、前記受信データバッファの持つクレジット数を格納するクレジットレジスタと、 を有し、前記受信側は、前記FIFO形式の受信データバッファのデータが前記受信データバッファから取り出され処理される都度、前記受信データバッファに空きが発生したことをクレジット通知として前記送信側に通知する送信手段を、有し、前記送信側は、前記クレジット通知を受信すると、前記送信クレジット数バッファに記憶するうちの最古のデータのクレジット数を取り出し、取り出した値を前記クレジットレジスタの値と合計して前記クレジットレジスタの更新を行うことを備える。
【0010】
本発明の第5のクレジットによるフロー制御システムは、データを送信する送信側と、前記送信側から送信されたデータを受信する受信側と、があって、前記送信側において、送信データが一時格納される送信データレジスタと、前記送信データレジスタに格納されたデータの持つクレジット数を計算する送信クレジット数計算回路と、前記受信側からクレジット通知が通知されるまで送信済みデータの持つクレジット数を記憶するFIFO形式の送信クレジット数バッファと、前記受信側の受信データバッファの空きクレジット数を記憶するクレジットレジスタと、データ送信時にクレジットレジスタの値から送信データの持つクレジット数を引き、前記受信側からのクレジット通知を受信するとクレジットレジスタの値に送信クレジット数バッファの先頭から取り出したクレジット数を加えることで前記受信データバッファの空きクレジット数を計算してクレジットレジスタに格納する最新クレジット数計算回路と、クレジットレジスタの値と送信しようとする送信データのクレジット数を比べクレジットレジスタの値が大きいか等しければそのデータを送信し、小さければ前記受信側からのクレジット通知を待ちクレジットレジスタの数が送信データのクレジット数に等しいかより大きくなるまで送信を一時中断するフロー制御回路と、を備え、前記受信側においては、受信したデータを一時記憶するFIFO形式の前記受信データバッファと、前記受信データバッファの先頭データが受信側での処理を行うため受信データバッファから内部へ送出された時、前記送信側へクレジット通知を通知するクレジット通知制御回路と、を備え、受信側から前記受信データバッファのデータが処理された時、該データのクレジット数ではなく前記受信データバッファに空きが発生したことをクレジット通知として前記送信側に通知することを備える。
【0011】
本発明の第1のクレジットによるフロー制御方法は、データを送信する送信側と、前記送信側から送信されたデータを受信する受信側と、を備えたフロー制御システムの実行するクレジットによるフロー制御方法であって、
前記送信側において、前記受信側のクレジット数を記憶するクレジットレジスタを初期化する第1のステップと、
前記送信側において、送信データを送信データレジスタに一時格納する第2のステップと、
前記送信側において、送信データレジスタに格納されたデータの持つクレジット数を計算する第3のステップと、
前記送信側において、クレジットレジスタの値と、送信データのクレジット数を比較する第4のステップと、
前記送信側において、前記第4のステップにおける比較の結果、前者の値が後者の値に等しいか大きい場合は送信データを前記受信側に送信する第5のステップと、
前記送信側において、前記第5のステップで送信したデータの持つクレジット数をFIFO形式の送信クレジット数バッファに記憶する第6のステップと、
前記送信側において、前記第5のステップで送信したデータのクレジット数をクレジットレジスタから減算してクレジットレジスタを更新する第7のステップと、
前記送信側において、前記第4のステップでの比較の結果、前者の値より後者の値が大きい場合、送信を中断する第8のステップと、
前記受信側では、前記第5のステップで前記送信側から受信したデータを受信データバッファに格納する第9のステップと、
前記受信側では、前記第9のステップで受信した受信データバッファのデータの取り出しが行われると、前記送信側へクレジット通知を行う第10のステップと、
送信側では、前記第10のステップで送信されたクレジット通知を受信すると、
送信クレジット数バッファの先頭からクレジット数を取り出す第11のステップと、
クレジットレジスタの値に前記第11のステップで取り出したクレジット数を加算する第12のステップと、
送信待ちのデータの有無を確認する第13のステップと、
前記第13のステップでの確認の結果、送信待ちデータのある場合は、前記ステップ4に戻る第14のステップと、
前記第13のステップでの確認の結果、送信待ちデータが無い場合は、中断状態にはいる第15のステップと、
を備える。
【0012】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【0013】
最初に、図1を元に、本発明の実施の形態の構成について説明する。
【0014】
例えば、コンピュータや通信機器等で使用されるパッケージ回路中のLSI間またはコンピュータの複数のプロセッサ間でデータの送受信を行うとする。
【0015】
図1において、データを送信する送信側1と、送信側1から送信されたデータを受信する受信側2と、から構成される。
【0016】
さらに、送信側1は、送信されるデータが一時格納される送信データレジスタ11と、
送信データレジスタ11に格納されたデータの持つクレジット数を計算する送信クレジット数計算回路12と、
受信側2からクレジット通知が返却されるまで送信済みデータのクレジット数を時系列順で保持するFIFO(先入れ先出し)形式の送信クレジット数バッファ13と、
受信側2の受信データバッファの空き状況をクレジット数で示すクレジットレジスタ14と、
データ送信時にクレジットレジスタ14の値から送信データの持つクレジット数を引き、受信側2からのクレジット通知を受信するとクレジットレジスタ14の値と送信クレジット数バッファ13の先頭から取り出したクレジット数とを加えることで最新の受信側2の受信データバッファの空きクレジット数を計算しクレジットレジスタ14に格納する最新クレジット数計算回路15と、
クレジットレジスタ14の値と送信データのクレジット数を比べクレジットレジスタ14の値が大きいか等しければそのデータを送信し、小さければクレジット通知が受信側2から返却されクレジットレジスタ14の値が送信データのクレジット数より大きくなるまで送信を一時中断するフロー制御回路16と、
から構成される。
【0017】
一方、受信側2は、受信したデータを一旦保持するFIFO形式の受信データバッファ21と、
受信データバッファ21の先頭データが受信側2での処理を行うため受信データバッファ21から内部へ送出された時、送信側1へクレジット通知を返却するクレジット通知制御回路22と、
から構成される。
【0018】
送信側1と受信側2のインターフェースとしてデータ本体が送受信される複数のデータ用信号線31と、受信側1から送信側2へのクレジット通知が行われる1本のクレジット通知用信号線32と、がある。
【0019】
次に、本発明の実施の形態の動作について図2と図3のフローチャートを参照して説明する。
【0020】
まず、インターフェースの初期化作業として受信側2が受信データバッファ21の容量に応じてデータの書きつぶしが起こらないクレジット数を送信側1へあらかじめ通知する。
【0021】
送信側1は受信側2から受け取ったクレジット数をクレジットレジスタ14へ格納する。ただし受信データバッファ21の容量があらかじめ決まっている場合、送信側1の初期化作業は、受信側2からの通知は行わず、クレジットレジスタ14に決まった初期値を格納するだけとなる(ステップS1)。
【0022】
送信側1は、送信データの発生または受信側2からのクレジットの受信を待つ状態に入る(ステップS2)。
【0023】
ここで、送信側1で送信データが発生したとする。
【0024】
送信側1では、送信データが送信データレジスタ11に格納される(ステップS3)。送信データが格納されると、送信クレジット数計算回路12は、送信データレジスタ11に格納されたデータのクレジット数を計算する(ステップS4)。クレジット数計算回路12は、計算したクレジット数を、フロー制御回路16に通知する。
【0025】
フロー制御回路16は、送信データレジスタ11にあるデータが受信側2で受信可能かを判断するために、受信側2の現時点における受信データバッファ21の空き状況を示すクレジットレジスタ14の値と、先に送信クレジット数計算回路12で計算された送信データのクレジット数を比較する(ステップS5)。
【0026】
送信データのクレジット数がクレジットレジスタ14の示す値より大きければ、クレジットが受信側2から通知され、クレジットレジスタ14の値が送信データのクレジット数に等しいかより大きくなるまで送信を一時中断するため(ステップS2)に飛ぶ。
【0027】
一方、送信データのクレジット数がクレジットレジスタ14の値と同じまたはより小さければ受信側2の受信データバッファ21に空きがあると判断し、データをデータ用信号線31を経由して送信する(ステップS6)。
【0028】
送信側1による送信データレジスタ11のデータ送信が完了すると、送信データの持つクレジット数は、送信クレジット数バッファ13に登録される(ステップS7)。
【0029】
その登録と同時に最新クレジット数計算回路15で現在のクレジットレジスタ14の値から送信データのクレジット数が引かれる。これによって、送信されたデータが受信側2で受信され受信データバッファ21に保持された時の受信データバッファ21の空き状況である最新クレジット数が算出されることになる。算出された最新クレジット数は次回の送信データのフロー制御に使用するためクレジットレジスタ14に格納される(ステップS8)。そして(ステップS2)に戻る。
【0030】
一方、図3のフローチャートを参照すると、受信側2は、データ受信、または内部からのデータの引き取りの発生を待っている状態で(ステップS20)、送信側1からデータを受信すると、送信側1から受信した受信データを一旦受信データバッファ21に保持して(ステップS22)、(ステップS20)に戻り内部処理が行われる状態を待つ。受信データバッファ21の先頭にあるデータが処理できるようになると、受信データバッファ21からそのデータを取り出し内部へ送出する。
【0031】
内部への送出が完了すると、受信データバッファ21に新たな空きができたことを送信側1に知らせるため、クレジット通知制御回路22が送信側1へクレジット通知をクレジット通知用信号線32によって通知する(ステップS21)。そして(ステップS20)に戻る。
【0032】
送信側1では(ステップS2)において、クレジット通知を受け取ると最新クレジット数計算回路15は、そのクレジットが何クレジット分かを判断するために送信クレジット数バッファ13の先頭データを取り出し(ステップS9)、受信側2から受けとったクレジット通知に対応するデータのクレジット数が何クレジット分であったか確認する。
【0033】
最新クレジット数計算回路15は、送信クレジット数バッファ13から取り出したクレジット数とクレジットレジスタ14の値とを足したクレジット数を現在の受信データバッファ21の空き状況としてクレジットレジスタ14に格納する(ステップS10)。
【0034】
フロー制御回路16は、クレジットレジスタ14が新たな値に更新されたことを知ると、送信データレジスタに送信が一時中断されたデータがあるかをチェックし(ステップS11)、それがある場合、(ステップS5)に行く。
【0035】
(ステップS5)では、クレジットレジスタ14のクレジット数と送信データレジスタ11のクレジット数とを比較し、クレジットレジスタ14の値が大きいか等しい場合は、送信データレジスタ11の送信データを受信側2に送信する。(ステップS11)のチェックで送信データが無い場合は、(ステップS2)に戻る。
【0036】
以上説明した内容を元にした第1の例として、受信データバッファ21容量が32クレジットで、送信側1から受信側2へ3つのデータが送信されたとする。1つ目のデータのクレジット数が16クレジットで、2つ目が2クレジット、3つ目が8クレジットであったとすると、送信クレジット数バッファ13にはクレジット数として16、2、8クレジットの順に登録される。
【0037】
この時、送信側1の受信データバッファ21の空き状況を示すクレジットレジスタ14は、まず初期値として32クレジットに初期化され、1つ目のデータ送信が完了すると初期値の32から16クレジットが引かれ16クレジットとなる。その後受信側2からクレジット通知がない状況で、2つ目のデータの送信完了後では、14クレジット(16−2=14)となり、引き続き受信側2からのクレジット通知がない状況で3つ目のデータ送信が完了すると6クレジット(14−8=6)と遷移する。
【0038】
一方受信側2では、送信データが順に受信データバッファ21に保持される。1つ目のデータを受信データバッファ21から内部処理へ移動させたとき1回目のクレジット通知が送信側1に行われる。同様に2つ目、3つ目のデータが処理されると2回目、3回目のクレジット通知が実施される。
【0039】
送信側1は1回目のクレジット通知を受信するとそのクレジット通知が16クレジットであることを送信クレジット数バッファから取り出したクレジット数によって知る。この16クレジットとクレジットレジスタ14の現在値を最新クレジット数計算回路15を使い加えると、その時の受信データバッファ21の空き状況がわかる。同様に2回目、3回目のクレジット通知を受信するとそれぞれのクレジット通知が2クレジット、8クレジットであることを送信側1は送信クレジット数バッファ13に保持されたクレジット数を順に取り出すことにより知る。最新クレジット数計算回路15は、送信クレジット数バッファ13から取り出したクレジット数と、クレジットレジスタ14に格納されたクレジット数とを合計し、受信側1の最新の受信データバッファ21の空き状況を示す新しいクレジット数が算出さし、クレジットレジスタ14に格納する。
【0040】
クレジットレジスタ14は、3つ目のデータ送信直後においては、6クレジットを示すが、受信側2から3回目のクレジット通知を受信すると32クレジット(6+16+2+8=32)に戻る。
【0041】
第2の例として、受信データバッファ21容量を20クレジットとした時、例1と同様にクレジット数として16、2、8を持つ3つのデータが順に送信されたとする。
【0042】
受信データバッファ21は容量として20クレジットしかないため、1つ目と2つ目のデータは受信側2に送信可能であるが、2つ目のデータが送信完了した時点でのクレジットレジスタ14の値は2(20−16−2=2)となり、3つ目のデータは8クレジットのため送信が出来ず、3つ目のデータ送信は受信側2からクレジットが通知されるまで一時中断される。
【0043】
その後受信側2から1回目のクレジット通知が返却されるとクレジットレジスタ14の値の2と、送信クレジット数バッファ13から取り出された1回目の送信データの持つクレジット数の16が最新クレジット数計算回路15で合計されて18クレジットとなり、18がクレジットレジスタ14に格納される。クレジットレジスタ14値が18になると3つ目のデータの8クレジットより大きくなるのでフロー制御回路16は、送信データレジスタ11に保持された3つ目のデータの送信を指示する。
【0044】
本発明の他の実施例として、基本的構成は上記の通りであるが、送信クレジット数バッファに保持するデータをさらに工夫してハードウェアを削減することができる。通常送信データのクレジット数は例えば最大が16クレジットだとしても1クレジットから16クレジットまで16種類あるとは限らず、2、4、8、16クレジットの4種類とあらかじめ決まっている場合がある。そういった場合16クレジットを4ビットの2進数で表すのではなく、00は2クレジット、01は4クレジット、10は8クレジット、11は16クレジットと2ビットにエンコードすることができる。このようにエンコードしクレジット幅を4ビットから2ビットにすることによって、送信クレジット数バッファのハードウェア削減効果も同時に実現することができる。
【0045】
【発明の効果】
第1の効果は、受信側から送信側1へのクレジット通知として、クレジット数を通知するのではなく、送信側でクレジット数を保持しておくことによって、クレジット通知に使用する信号線本数が信号線1本のみで可能となるため、LSI全体の信号線数が削減され、LSIコストが削減される。
【0046】
第2の効果は、データ転送能力が向上しても、送信側でクレジット数を保持しておくことによって、クレジット通知で返却可能なクレジット数の上限がなくなるため、クレジット返却性能不足のため受信データバッファが空いているにも関わらずデータが送信できないというデータ転送性能低下を防ぐことができる。
【図面の簡単な説明】
【図1】本発明の実施の形態の構成を説明するブロック図である。
【図2】本発明の実施の形態の動作を説明するフローチャートである。
【図3】本発明の実施の形態の動作を説明するフローチャートである。
【符号の説明】
1 送信側
11 送信データレジスタ
12 送信クレジット数計算回路
13 送信クレジット数バッファ
14 クレジットレジスタ
15 最新クレジット数計算回路
16 フロー制御回路
2 受信側
21 受信データバッファ
22 クレジット通知制御回路
31 データ用信号線
32 クレジット通知用信号線

Claims (6)

  1. データを送信する送信側と、前記送信側から送信されたデータを受信する受信側と、があって、前記送信側は、送信したデータで前記受信側の受信データバッファに格納されているデータの持つクレジット数を送信したデータの時系列順に一時記憶する記憶手段を有することを特徴とするクレジットによるフロー制御システム。
  2. 請求項1において、前記記憶手段はFIFO(先入れ先出し)形式であることを特徴とするクレジットによるフロー制御システム。
  3. 請求項1又は2において、前記受信側は、前記送信側から受信したデータを格納する受信データバッファのデータが前記受信データバッファから取り出され処理される都度、前記受信データバッファに空きが発生したことをクレジット通知として前記送信側に通知する送信手段を有することを特徴とするクレジットによるフロー制御システム。
  4. データを送信する送信側と、前記送信側から送信されたデータを受信する受信側と、があって、前記送信側は、送信したデータで前記受信側の受信データバッファに格納されたデータの持つクレジット数を送信したデータの時系列順に記憶するFIFO形式の送信クレジット数バッファと、前記受信データバッファの持つクレジット数を格納するクレジットレジスタと、 を有し、前記受信側は、前記FIFO形式の受信データバッファのデータが前記受信データバッファから取り出され処理される都度、前記受信データバッファに空きが発生したことをクレジット通知として前記送信側に通知する送信手段を、有し、前記送信側は、前記クレジット通知を受信すると、前記送信クレジット数バッファに記憶するうちの最古のデータのクレジット数を取り出し、取り出した値を前記クレジットレジスタの値と合計して前記クレジットレジスタの更新を行うことを特徴とするクレジットによるフロー制御システム。
  5. データを送信する送信側と、前記送信側から送信されたデータを受信する受信側と、があって、前記送信側において、送信データが一時格納される送信データレジスタと、前記送信データレジスタに格納されたデータの持つクレジット数を計算する送信クレジット数計算回路と、前記受信側からクレジット通知が通知されるまで送信済みデータの持つクレジット数を記憶するFIFO形式の送信クレジット数バッファと、前記受信側の受信データバッファの空きクレジット数を記憶するクレジットレジスタと、データ送信時にクレジットレジスタの値から送信データの持つクレジット数を引き、前記受信側からのクレジット通知を受信するとクレジットレジスタの値に送信クレジット数バッファの先頭から取り出したクレジット数を加えることで前記受信データバッファの空きクレジット数を計算してクレジットレジスタに格納する最新クレジット数計算回路と、クレジットレジスタの値と送信しようとする送信データのクレジット数を比べクレジットレジスタの値が大きいか等しければそのデータを送信し、小さければ前記受信側からのクレジット通知を待ちクレジットレジスタの数が送信データのクレジット数に等しいかより大きくなるまで送信を一時中断するフロー制御回路と、を備え、前記受信側においては、受信したデータを一時記憶するFIFO形式の前記受信データバッファと、前記受信データバッファの先頭データが受信側での処理を行うため受信データバッファから内部へ送出された時、前記送信側へクレジット通知を通知するクレジット通知制御回路と、を備え、受信側から前記受信データバッファのデータが処理された時、該データのクレジット数ではなく前記受信データバッファに空きが発生したことをクレジット通知として前記送信側に通知することを特徴とするクレジットによるフロー制御システム。
  6. データを送信する送信側と、前記送信側から送信されたデータを受信する受信側と、を備えたフロー制御システムの実行するクレジットによるフロー制御方法であって、前記送信側において、前記受信側のクレジット数を記憶するクレジットレジスタを初期化する第1のステップと、前記送信側において、送信データを送信データレジスタに一時格納する第2のステップと、前記送信側において、送信データレジスタに格納されたデータの持つクレジット数を計算する第3のステップと、前記送信側において、クレジットレジスタの値と、送信データのクレジット数を比較する第4のステップと、前記送信側において、前記第4のステップにおける比較の結果、前者の値が後者の値に等しいか大きい場合は送信データを前記受信側に送信する第5のステップと、前記送信側において、前記第5のステップで送信したデータの持つクレジット数をFIFO形式の送信クレジット数バッファに記憶する第6のステップと、前記送信側において、前記第5のステップで送信したデータのクレジット数をクレジットレジスタから減算してクレジットレジスタを更新する第7のステップと、前記送信側において、前記第4のステップでの比較の結果、前者の値より後者の値が大きい場合、送信を中断する第8のステップと、前記受信側では、前記第5のステップで前記送信側から受信したデータを受信データバッファに格納する第9のステップと、前記受信側では、前記第9のステップで受信した受信データバッファのデータの取り出しが行われると、前記送信側へクレジット通知を行う第10のステップと、前記送信側では、前記第10のステップで送信されたクレジット通知を受信すると、送信クレジット数バッファの先頭からクレジット数を取り出す第11のステップと、前記送信側では、クレジットレジスタの値に前記第11のステップで取り出したクレジット数を加算する第12のステップと、前記送信側では、送信待ちのデータの有無を確認する第13のステップと、前記送信側では、前記第13のステップでの確認の結果、送信待ちデータのある場合は、前記ステップ4に戻る第14のステップと、前記送信側では、前記第13のステップでの確認の結果、送信待ちデータが無い場合は、中断状態にはいる第15のステップと、を備えることを特徴とするクレジットによるフロー制御方法。
JP2003018851A 2003-01-28 2003-01-28 クレジットによるフロー制御システム及びその方法 Expired - Fee Related JP3807372B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003018851A JP3807372B2 (ja) 2003-01-28 2003-01-28 クレジットによるフロー制御システム及びその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003018851A JP3807372B2 (ja) 2003-01-28 2003-01-28 クレジットによるフロー制御システム及びその方法

Publications (2)

Publication Number Publication Date
JP2004235728A JP2004235728A (ja) 2004-08-19
JP3807372B2 true JP3807372B2 (ja) 2006-08-09

Family

ID=32948876

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003018851A Expired - Fee Related JP3807372B2 (ja) 2003-01-28 2003-01-28 クレジットによるフロー制御システム及びその方法

Country Status (1)

Country Link
JP (1) JP3807372B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5987560B2 (ja) * 2012-08-31 2016-09-07 富士通株式会社 データ転送装置、データ転送方法およびデータ転送プログラム
US9385962B2 (en) * 2013-12-20 2016-07-05 Intel Corporation Method and system for flexible credit exchange within high performance fabrics

Also Published As

Publication number Publication date
JP2004235728A (ja) 2004-08-19

Similar Documents

Publication Publication Date Title
US6925512B2 (en) Communication between two embedded processors
CN101091318B (zh) 数据传输错误校验
US20090259786A1 (en) Data transfer system and method for host-slave interface with automatic status report
EP3827356A1 (en) Unified address space for multiple hardware accelerators using dedicated low latency links
CN1997977A (zh) 降低与失序rdma发送消息的传送相关的写操作的数量
CN107948094A (zh) 一种高速数据帧无冲突入队处理的装置及方法
CN113157625B (zh) 数据传输方法、装置、终端设备及计算机可读存储介质
US8949501B1 (en) Method and apparatus for a configurable packet routing, buffering and scheduling scheme to optimize throughput with deadlock prevention in SRIO-to-PCIe bridges
JP3807372B2 (ja) クレジットによるフロー制御システム及びその方法
US8230137B2 (en) Network processor, reception controller and data reception processing method performing direct memory access transfer
EP2568388B1 (en) Processor to message-based network interface using speculative techniques
US8730983B1 (en) Method and apparatus for a configurable packet routing, buffering and scheduling scheme to optimize throughput with deadlock prevention in SRIO-to-PCIe bridges
JP5233360B2 (ja) メモリ制御装置,メモリ制御装置の制御方法および情報処理装置
JP2007221233A (ja) クレジットに基づいたフロー制御方法およびシステム
EP2442500B1 (en) Data transfer device and data transfer method
CN113553279B (zh) 一种rdma通信加速集合通信的方法及系统
CN108833301A (zh) 一种报文处理方法和装置
CN101420363B (zh) 数据传输控制方法、装置及用户设备
US5793803A (en) Underrecovery system and method for block processing modems
JP2001203705A (ja) フロー制御回路及びフロー制御方法並びにフロー制御プログラムを記録した記憶媒体
CN114640385B (zh) 一种基于北斗通信系统的数据传输方法及电子设备
US9143346B1 (en) Method and apparatus for a configurable packet routing, buffering and scheduling scheme to optimize throughput with deadlock prevention in SRIO-to-PCIe bridges
CN117278505B (zh) 一种raid卡节点之间的消息传输方法、系统、设备以及介质
JP4106564B2 (ja) フロー制御方式
JP4716001B2 (ja) Cpu間通信システム

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060214

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060403

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060508

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees