JP4086676B2 - データ転送装置 - Google Patents

データ転送装置 Download PDF

Info

Publication number
JP4086676B2
JP4086676B2 JP2003040827A JP2003040827A JP4086676B2 JP 4086676 B2 JP4086676 B2 JP 4086676B2 JP 2003040827 A JP2003040827 A JP 2003040827A JP 2003040827 A JP2003040827 A JP 2003040827A JP 4086676 B2 JP4086676 B2 JP 4086676B2
Authority
JP
Japan
Prior art keywords
data
unit
packet
output
port
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
JP2003040827A
Other languages
English (en)
Other versions
JP2004253960A (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 Engineering Ltd
Original Assignee
NEC Engineering 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 NEC Engineering Ltd filed Critical NEC Engineering Ltd
Priority to JP2003040827A priority Critical patent/JP4086676B2/ja
Publication of JP2004253960A publication Critical patent/JP2004253960A/ja
Application granted granted Critical
Publication of JP4086676B2 publication Critical patent/JP4086676B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、データ転送装置に関し、特に、複数の入力ポートに入力されたパケットデータを多重させて出力するデータ転送装置に関する。
【0002】
【従来の技術】
複数の入力ポートから入力されたパケットデータを、バッファに格納した後、多重して出力するデータ転送装置のスケジューリング方式の代表的な例として、ラウンドロビン方式がある。ラウンドロビン方式によるデータ転送では、初期条件として決められた優先度順位(以下、「基本優先度順位」と呼ぶ)に従い、バッファに格納されたデータを送出する順位を決定する。特に、各ポート間に対しての優先比率(以下、「重み付け」と呼ぶ)を付けたい場合には、前述のラウンドロビン方式に各ポート間の重み付けを設定した重み付けラウンドロビン方式が使用される。
【0003】
この重み付けラウンドロビン方式によるデータ転送では、基本優先度順位に併せ、重み付け値によってデータ送出順位を決定することにより、ポート毎のデータ転送速度や、データ送出量を調整する。図10は、上記重み付けラウンドロビン方式を使用したデータ転送装置の構成例である。以下、同図を参照しながら、上記データ転送装置の構成要素及び動作について説明する。
【0004】
初期設定として、重み付け値は、重み記憶部741〜74nに、パケット数単位で設定されている。さらに、重み付けカウンタ部731〜73nは、上記重み付け値をカウンタの初期値としてセットする。そして、複数のポートP21〜P2nからパケットが入力されると、パケットは、入力インターフェース部701〜70nを介し、一度各ポート処理部711〜71nのバッファ部721〜72nへ格納される。次に、各バッファ部721〜72nは、パケットが格納されていることを通知するためのデータ待機信号851〜85nを、スケジューリング部751の優先順位スケジューリング部771へ発出すると、優先順位スケジューリング部771において、各ポート処理部711〜71nに入力されているパケットを順番に送出させるためのスケジューリング処理が行われる。優先順位スケジューリング部771は、スケジューリング処理により決定した順番に、出力要求信号861をバッファ部721〜72nへ送出し、パケットを多重部781へ送出させる。
【0005】
一例として、ポート処理部711に出力要求信号861が送出されると、重み付けカウンタ部731では、バッファ部721からパケットデータが送出される毎にカウントダウン処理を行う。その後、カウンタ値が“0”になると、ポート処理部711からのデータ送出を停止させるため、転送禁止信号841を優先順位スケジューリング部771へ送出する。また、バッファ部721から送出されたパケットは、多重部781において、他のポート処理部712〜71nからのパケットと多重され、出力インターフェース部791から、ポートP30へ出力される。
【0006】
このデータ転送装置では、以上の動作を繰り返すことによりデータ転送を行う。また、優先順位スケジューリング部771は、以下の要領でスケジューリング処理を行う。
▲1▼.初期条件として決められている基本優先度順位に従い、パケット送出の順位を決定する。ここでは、ポート間の重み付けを考慮する必要はない。例えば、ポート処理部711、ポート処理部712、ポート処理部713・・・ポート処理部71nの順にパケットを送出し、以後、他の例でも断りのない限り、各ポート処理部の基本優先順位は、ポート処理部711、ポート処理部712、ポート処理部713・・・ポート処理部71nの順とする。
▲2▼.ポート処理部711〜71nからのデータ待機信号が入力されていない場合には、▲1▼による順番をスキップする。
▲3▼.ポート処理部711〜71nからの転送禁止信号が入力されている場合には、順位をスキップする。
▲4▼.▲1▼〜▲3▼により、全ポートについて処理が終了した場合には、基本優先度順位の先頭の順位に戻り、同じ処理を繰り返す。
【0007】
上記のスケジューリング処理に従い、優先順位スケジューリング部771は、出力要求信号861を送出する。また、すべてのポート処理部711〜71nから、転送禁止信号841が優先順位スケジューリング部771に入力されると、カウントクリア発生部761は、カウントクリア信号をすべてのポート処理部711〜71nへ送出し、再び、各重み付けカウンタ部731〜73nのカウンタ値を初期値へ戻す。この方式では、前述したように、重み付け値の大きい(カウンタ初期値が大きい)ポートが、その値に従い、優先的に多くのデータを転送する。
【0008】
従来、以上のような重み付けラウンドロビン方式でデータ転送を行う場合には、入力データが可変長データであると、入力データを固定長に分割し、各々の固定長データに対して重み付けを行い、入力データのスケジューリングを行う方式が存在する。以下、この方式を従来方式1という。
【0009】
一方、特許文献1に記載されているように、1回の転送許可による伝送保障データ容量を制御することで入力データのスケジューリングを行う方式がある。以下、この方式を従来方式2という。
【0010】
従来方式1の例を図11に示す。この方式では、入力ポートからのパケットデータをバッファ部721〜725へ入力する前に、分割部901〜905において、可変長パケットから、ある固定長の長さのデータへ分割して各バッファ部721〜725へ格納する。ここで、各ポートに設置する重み付け値は、その分割された固定長の数の単位で設定する。そして、この固定長データを、重み付けラウンドロビン方式に従ってデータ転送する。
【0011】
図11に示す状態から、データ転送を続けた場合の状態を図12に示す。
【0012】
入力インターフェース部701〜705から送出されたパケットは、分割部901〜905において分割され、バッファ部721〜725へ格納される。そして、ポート処理部711〜715の順に基本優先順位が決まっているため、パケットデータ11、21、31、41の順にデータ送出を行う。ここで、パケットデータ51の順番では、重み付けカウンタ値が、“0”であるため、送出の順番をスキップし、次のパケットデータ12を送出させる。以上の動作をパケットデータがなくなるまで繰り返すことにより、データを転送する。
【0013】
この方法の利点は、入力されるデータが可変長であっても、パケット長の大きさに関わらず、固定長の単位、すなわち、データの容量単位で重み付けを行い、データ転送が可能となることである。これによって、可変長のパケットデータのままデータ転送を行い、データ長が大きく異なるパケットを転送しようとした場合、各ポートの重み付け値が同じであり、同じパケット数を送出したとしても、重み付けカウンタのカウントの単位がパケット単位であるため、ポート毎の転送容量に数倍の開きが生ずる状態を防ぐことができる。すなわち、図13に示すように、ポート処理部711、712において可変長パケットを分割せずに、重み付けデータ転送を行い、その結果、転送速度に開きが生じた状態となることを防止することができる。
【0014】
次に、従来方式2の例を図14に示す。この方式では、固定長やパケット単位で重み付けを制御するのではなく、1回の転送許可による伝送保障データ容量(例えば10バイト/1回)を設け、それにより転送データ容量を制御する。この方式では、スケジューリング部751がバッファ部721〜725からデータを送出させる際に、伝送保証データ容量を超えるまではパケットを送出させ続ける。そして、伝送保証データ容量を超えた時、送出途中のパケットを送出し終わることを確認すると、次のポートの制御に移行する。この方式は、入力データが可変長であっても、入力データを分割することなく、データ容量単位の重み付けに従ってスケジューリングできるという特徴がある。
【0015】
図14に示す状態から、データ転送を続けた場合の状態を図15に示す。
【0016】
ポート処理部711のように、伝送保証データ容量よりも、送出待機中のデータ長が長い、または同じパケット11を送出する場合には、パケット11をすべて送出後、次のポートの処理へ移行する。ポート処理部712のように、伝送保証データ容量よりも、送出待機中のデータ長が小さい場合には、パケット21に続き、パケット22を送出後、次のポートの処理に移行する。ポート処理部713、714は、ポート処理部712と同様の処理を行い、ポート処理部715は、ポート処理部711と同様の処理を行う。
【0017】
【特許文献1】
特開2002−217961号公報
【0018】
【発明が解決しようとする課題】
従来方式1のデータ転送において、データ転送前の状態の例を図16に、転送後の状態の例を図17に示す。
【0019】
従来方式1では、固定長に分割することにより、スケジューリング処理を行うが、図17のポート処理部712の重み付けカウンタに示すように、1つのパケットの転送中に、重み付けカウンタのカウンタ値が“0”になる場合がある。この時、すべてのポート処理部711〜715のカウンタが“0”になるまで、バッファ部722のデータ送出は止められてしまうため、同図に示すように、パケットが分割されたままの状態が継続し、先に送出されたデータから、残りの後半のデータが送出されるまでのデータ送出待機時間が大きく開くことになる。
【0020】
そして、このデータ転送回路の後段では、パケットデータの転送後の状態を監視する回路が設置されることが多いため、この転送待機時間が長くなると、監視回路において、パケット長誤りや、ストップビット欠落エラー等の誤判定がなされ、不必要な警報を発生させてしまうおそれある。また、この方式では、分割処理を行う回路及び組み立て処理を行う回路を構築する必要があるため、全体の回路規模が大きくなってしまうという問題があった。
【0021】
一方、従来方式2のデータ転送において、転送前の状態の例を図18に、その後(転送途中)の状態の例を図19に示す。
【0022】
従来方式2では、伝送保障データ容量を設置することにより、転送データ容量を制御する。データ転送の単位は、パケットデータ1個分である。そのため、1つのポートに割り当てられる時間が比較的長くなる。そのため、図19のポート処理部714、715に示すように、データ長の長いパケットが入力されると、各バッファ部721〜725に格納されたパケットを送出するまでのデータ送出待機時間が長くなる。送出待機時間が長くなると、バッファ部721〜725からの送出処理が行われないが、入力インターフェース部701〜705からは新しいデータが次々と入力されるため、図20に示すような転送処理時間に対するバッファ部の内容量の関係になる。従って、いずれ、バッファ部のオーバーフローが発生してしまう可能性がある。
【0023】
また、入力ポート数が増加した場合でも、同様に、各バッファ部に格納されたパケットを送出するまでの送出待機時間が入力ポート数に比例して長くなる。パケットの送出待機時間が長くなると、バッファ部からの送出処理が行われないが、入力インターフェース部からは新しいデータが次々と入力されるため、いずれ、バッファ部のオーバーフローが発生するおそれがある。
【0024】
以上のようなバッファオーバーフローが発生すると、データ転送装置では、廃棄処理や再送要求処理等の処理が発生してしまうため、伝送路全体の伝送効率が低下することとなる。
【0025】
そこで、本発明は、上記従来のデータ転送装置における問題点に鑑みてなされたものであって、複数の入力伝送路から1つの出力伝送路へデータを転送する際に、入力伝送路数が多くなった場合、パケット長の長いパケットが入力された場合、及びパケットを分割した場合でも、転送待機時間を短くすることによって、不必要な警報の発生を防止するとともに、バッファオーバーフローの発生を抑制して伝送効率を上昇させ、高速処理に対応することができ、簡単な構成を有するデータ転送装置を提供することを目的とする。
【0026】
【課題を解決するための手段】
上記目標を達成するため、本発明は、複数の入力ポートと、該複数の入力ポートから入力されたデータを格納し、該データを1パケット分のデータ長よりも短いデータ長に分割して出力する複数のポート処理部と、該複数のポート処理部からのデータの転送順位を決定するとともに、該転送順位に従って前記複数のポート処理部からデータを受信するスケジューリング部と、該スケジューリング部から送出されたデータを外部に出力する出力ポートとを備えたデータ転送装置であって、前記ポート処理部は、前記入力ポートから入力されたデータを格納するバッファ部と、前記複数のポート処理部間のデータの転送優先度を重み付け値として設定する重み付け部と、前記バッファ部からのデータの読み出し量をカウントし、該読み出し量が前記重み付け値に達したか否かを示す第1信号を出力する第1カウンタ部と、前記バッファ部からの出力データに基づき、該出力データのパケット長を認識するパケット長認識部と、前記バッファ部からのデータの読み出し量をカウントし、該読み出し量と前記パケット長との差分に応じて前記バッファ部から1パケット分のデータが出力されたか否かを示す第2信号を出力する第2カウンタ部とを備え、前記第1信号が前記読み出し量が前記重み付け値に達したことを示しても、前記第2信号が1パケット分のデータの出力が完了していないことを示す場合には、データの出力を終了せず、前記第2信号が1パケット分のデータの出力が完了したことを示すまで、データの出力を継続することを特徴とする。
【0027】
本発明によれば、第1カウンタ部の出力(第1信号)が、カウントした読み出し量が重み付け値に達したことを示しても、第2カウンタ部の出力(第2信号)が1パケット分のデータの出力が完了したことを示すまでは、データの出力を継続するため、パケットを分割した単位での重み付け転送を行うにあたって、従来方式1にあるようなパケットが分割されたままの状態が継続することがなく、分割された状態でのデータ送出待機が長時間継続することを防止することができる。
【0028】
上記データ転送装置において、前記重み付け部が、前記バッファ部における1回の読み出し処理で読み出し可能なデータ量を基準に、所定の読み出し回数を設定し、該設定した読み出し回数を前記重み付け値とすることができる。
【0029】
上記構成は、ポート処理部間の重み付け値をバッファ部の読み出し処理の単位(バッファリード単位)で設置することを特徴としている。例えば、バッファ部へのリード処理n回分等を重み付け値とする。ここで、1回のリード処理で読み出し可能なデータ容量は、バッファ部の種類等で様々で、小容量であるため、データ転送時の最小の容量に対して重み付けを行うこととなる。
【0030】
すなわち、上記構成では、各ポートのバッファ部が1回の送出権利で送出できるデータ容量を前記バッファリード単位の1回分とする。従って、各ポートに対して、決められた優先度順位で、1回ずつバッファ部へ読み出し処理を行うことを繰り返すことによって、データ転送を行う。これにより、各ポートのデータ送出待機時間は平均化される。従って、入力ポートの数の増加や、データ長の長いパケットデータが数多く入力された場合でも、各ポートの送出待機時間は、ポート数に比例し、一定の待機時間になる。
【0031】
この時の転送時間に対するバッファ部内容量の関係を図9に示す。従来方式の場合の図20と比較しても判るように、バッファオーバーフローを発生しにくい状態を実現している。
【0032】
以上のように、上記構成では、データ転送単位としてバッファリード単位を使用することにより、1回の読み出し処理でのデータ容量が小さく、その単位で読み出し順位を決定するため、各ポート間でのデータ送出待機時間は、固定時間となる。また、重み付けの設定も簡易となる。
【0033】
これによって、データ長の長いパケットデータが入力された場合でも、データ送出待機時間に影響を与えないため、データ送出待機時間の増加によるバッファオーバーフローを抑制することができる。また、ポート数が増加した場合でも、データ送出待機時間は平均的であり、一つのポートに偏った時間で占有されることがないため、データ送出待機時間の増加によるバッファオーバーフローを抑制することができる。
【0034】
以上により、データ転送装置全体の伝送効率を向上させて高速処理に対応することができ、簡易な構成を有するデータ転送装置を提供することが可能となる。
【0035】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照しながら説明する。
【0036】
図1は、本発明にかかるデータ転送装置の全体構成を示し、このデータ転送装置は、各入力ポートP1〜Pnから入力されたパケットデータの入力インターフェース制御を行なう入力インターフェース部11〜1nと、入力インターフェース部11〜1nから入力されたパケットデータを格納して出力するための制御を行う複数のポート処理部21〜2nと、各ポート処理部21〜2nに格納されているパケットデータに対し、読み出し処理を行うための優先度順位を決定し、その決定した優先度順位に従って、各ポート処理部21〜2nからパケットデータを読み出し、そのパケットデータを多重させ、出力インターフェース部41へ送出するスケジューリング部31と、スケジューリング部31から送出されたデータを出力ポートP20へ出力する出力インターフェース部41とで構成される。
【0037】
入力インターフェース部11〜1nは、各入力ポートP1〜Pnからパケットの入力があると、各々対応するポート制御部21〜2nのバッファ部211〜21nに該パケットデータを書き込む。
【0038】
複数のポート処理部21〜2nは、各々同機能、同構成を備えている。そこで、一例として、ポート処理部21の構成を図2を参照しながら説明する。
【0039】
バッファ部211は、各入力インターフェース部11からの書き込み制御信号521を受信すると、書き込み処理を行い、入力パケットデータ511を格納する。また、バッファ部211は、スケジューリング部31から入力される読み出し制御信号により、読み出し処理を行い、格納されているデータは、スケジューリング部31へ送出される。
【0040】
バッファ監視部221は、入力インターフェース部11からのバッファ部211への書き込み制御信号521を監視し、バッファ部211の容量の監視を行う。バッファ部211内にデータが蓄積されている場合には、スケジューリング部31へ、データの送出命令を要求する読み出し要求信号551を発出する。また、バッファ監視部221は、バッファ部211への読み出し制御信号611を監視し、書き込み制御信号521との関係から、バッファ部211の内容量を監視する。さらに、バッファ監視部221は、バッファ部211内に書き込むための領域がなくなった場合には、スケジューリング部31へ、バッファ部211への書き込みが不可になったことを知らせるバッファフル信号631を送出する。
【0041】
重み付け記憶部231には、重み付け値が、バッファリード単位(バッファ部211の読み出し処理の単位)で格納され、重み付けカウンタ部241は、重み付け記憶部231から重み付け値571を入手し、カウンタの初期値とする。そして、重み付けカウンタ部241は、バッファ部211へ送出された読み出し制御信号611をカウンタの入力信号とし、カウントダウン処理を行う。同時に、重み付けカウンタ部241は、転送禁止信号発生部271へ、重みカウントフラグ561を、カウント中(例えば“High”)の論理として送出する。重み付けカウンタ部241は、カウンタ値が“0”になると、重み付け値のカウントが終了したことを伝えるため、転送禁止信号発生部271へ重みカウントフラグ561をカウント終了(例えば“Low”)の論理で送出する。また、重み付けカウンタ部241は、カウンタ値が“0”になると、“0”の状態を保持し、スケジューリング部31からカウントクリア信号531を受信すると、再びカウンタを初期値へ戻し、カウントダウン処理を繰り返す。
【0042】
パケット長認識部261は、バッファ部211から出力される出力データ601からパケットに関する情報を読み取る。パケットデータは、図3に示すように、パケットの先頭部にパケット長に関する情報が含まれているため、図2に示したパケット長認識部261は、パケットのスタートビットを監視し、そのパケットデータに含まれるパケット長データを記憶する。また、パケット長認識部261は、スタートビットを認識すると、パケットカウンタ部251へカウント開始を伝えるカウント開始トリガ621を与える。
【0043】
パケットカウンタ部251は、パケット長認識部261から、カウント開始トリガ621を受信すると、パケット長認識部261に格納されているパケット長データ591を初期値とし、バッファ部211へ送出された読み出し制御信号611をカウンタの入力信号として、カウントダウン処理を開始する。同時に、パケットカウンタ部251は、転送禁止信号発生部271へパケット送信フラグ581を、カウント中(例えば“High”)の論理として送出する。パケットカウンタ部251は、カウンタ値が“0”になると、1つのパケットの送信を終了したことを伝えるため、転送禁止信号発生部271へパケット送信フラグ581をカウント終了(例えば“Low”)の論理で送出する。また、パケットカウンタ部251は、カウンタ値が“0”になると、“0”の状態を保持し、再びパケット長認識部261からカウント開始トリガを受信すると、新たにパケット長認識部261に格納されているパケット長データ591を初期値とし、カウントダウン処理を繰り返す。
【0044】
転送禁止信号発生部271は、重み付けカウンタ部241からの重みカウントフラグ561が、カウント終了の論理、かつ、パケットカウンタ部251からのパケット送信フラグ581がカウント終了の論理であった場合には、スケジューリング部31へ転送禁止信号541を送出する。
【0045】
次に、スケジューリング部31について図4を参照しながら説明する。
【0046】
読み出し制御部313は、優先順位スケジューリング部312から、複数のポート処理部21〜2nのうち、1つポート処理部(例えば、ポート処理部21)に対しての読み出し指示信号641を受信すると、その指示されたポート処理部21のバッファ部211に対して、読み出し制御信号611を送出することにより、バッファ部211に格納されているデータの読み出し処理を行う。読み出し制御部313は、この処理を繰り返すことにより、読み出した各バッファ部211〜21nからの出力データ601〜60nについて多重処理を行い、1本の多重出力データ651として出力インターフェース部41へ転送する。
【0047】
優先順位スケジューリング部312は、各ポート処理部21〜2nからの読み出し要求信号551〜55nが一つでも受信されていれば、データを転送するための優先度順位を決定するスケジューリング処理を行う。優先順位スケジューリング部312における優先度順位の決定方法は、以下の通りである。
▲1▼.初期条件として決められている基本優先度順位に従う。ここでは、ポート間の重み付けを考慮する必要はない。例えば、ポート処理部21、ポート処理部22、ポート処理部23・・・ポート処理部2nの順にパケットを送出する。
▲2▼.ポート処理部21〜2nからの読み出し要求信号が入力されていない場合には、順位をスキップする。
▲3▼.ポート処理部21〜2nからの転送禁止信号が入力されている場合には、順位をスキップする。
▲4▼.▲1▼〜▲3▼により、全ポートについて処理が終了した場合には、基本優先度順位の先頭の順位に戻り、同じ処理を繰り返す。
【0048】
上記方法により、優先順位スケジューリング部312は、決定した順位に従い、読み出し制御部313へ、読み出し処理を実行させるための読み出し指示信号641を送出する。
【0049】
カウントクリア信号発生部311は、すべてのポート処理部21〜2nからの転送禁止信号541〜54nを受信すると、各ポート処理部21〜2nの重み付けカウンタを初期値に戻すため、カウントクリア信号531〜53nを送出する。また、カウントクリア信号発生部311は、各ポート処理部21〜2nからの、バッファフル信号631〜63nを一つでも受信すると、バッファオーバーフローの抑制のため、カウントクリア信号531〜53nを送出する。
【0050】
図1に示すように、出力インターフェース部41は、スケジューリング部31から送出されたパケットデータを、出力ポートP20へ出力する出力制御処理を行う。
【0051】
次に、上記構成を有する本発明にかかるデータ転送装置の動作について図5乃至図8を参照しながら説明する。
【0052】
データ転送装置の初期状態を図5に示す。初期設定として、各ポート処理部21〜25の重み付けカウンタ部241〜245には、重み付け値がバッファリード単位で読み込まれ、カウンタの初期値として設定されている。尚、動作の説明を簡易にするため、重み付け値は低い値を設定している。また、パケットカウンタ部251〜255の値の初期値は“0”である。また、図5に示した状態は、入力インターフェース部11〜15にパケットデータが入力され、そのデータが各々のポート処理部21〜25へ書き込まれ、スケジューリング部31からの読み出し処理を待機している状態である。
【0053】
この時、各ポート処理部21〜2n(ポート処理部24を除く)から、読み出し要求信号がスケジューリング部31へ発出されているため、スケジューリング部31により、スケジューリング処理が行われる。図5の状態から、ポート処理部21〜2n(ポート処理部24を除く)よりデータ転送を始めた場合のデータ転送後(すべての転送終了ではない)の状態を図6に示す。
【0054】
スケジューリング部31では、基本優先度順位に従い、ポート処理部21、22、23、24、25、21・・・の順にデータの読み出し処理を行うことにより、データ転送を行う。従って、図6に示すように、実際の読み出し順位は、パケットデータ11、21、31となる。ここで、ポート処理部24のバッファ部214では、パケットデータが格納されていないため、ポート処理部224からスケジューリング部31に対して読み出し要求信号を送出していない。従って、読み出し順位はスキップされ、次のパケットデータ51の転送が行われる。
【0055】
また、ポート処理部22のように、バッファ部212に格納されていたすべてのパケットデータ21、22、23の読み出し処理が終わると、スケジューリング部31への読み出し要求信号の送出が停止されるため、その後、パケットデータ33、53、14の順にデータの読み出しが行われ、次に、ポート処理部22に順番が回ったときに、読み出し順位をスキップされる。以上のように、パケットデータが格納されていないポート処理部はスキップされ、データ転送が行われる。
【0056】
さらに、重み付けカウンタ部241〜245は、パケットデータがスケジューリング部31から読み出し制御されると、カウンタのカウントダウン処理を行う。図5のポート処理部21を例に挙げると、初期値“10”から読み出し制御される(すなわち、データ転送される)毎に、カウントダウン処理が行われるため、図6に示すように、パケットデータ11、12、13、14がポート処理部21から送出後の、カウンタの値は“6”となる。
【0057】
また、パケットカウンタ部251〜255は、パケットデータがバッファ部211〜215から送出されると、パケット長情報を読み込み、それをバッファリード単位でカウンタの初期値とするため、パケットカウンタ部251〜255のカウンタの示す値は、パケット1個分に対する残りのパケット容量となる。
【0058】
図5のポート処理部21を例に挙げると、パケットデータ11が送出されると、パケットカウンタ部251のカウンタの初期値として“4”が取り込まれ、同時にカウントダウン処理を開始するため“3”の値になる。その後バッファリード単位で送出する毎に、カウントダウン処理を実施するため、ポート処理部21からパケットデータ11、12、13を送出した後は“1”となる。
【0059】
次に、重み付けカウンタ部241〜245のカウンタが“0”になった場合、及び、パケットカウンタ部251〜255のカウンタが“0”になった場合の動作を、データ転送前の状態を示す図7、及びデータ転送後の状態を示す図8を参照しながら説明する。
【0060】
図7において、ポート処理部21は、重み付けカウント部241のカウンタ値が“1”以上で、パケットカウント部251のカウンタ値が“0”であり、パケットデータがバッファ部211に格納されていない状態である。このように、パケットデータが格納されていない場合には、両カウンタの値に関わらず、スケジューリング部31からは、データ転送の順位がスキップされる。
【0061】
ポート処理部22は、重み付けカウント部242のカウンタ値が“1”以上で、パケットカウント部252のカウンタ値も“1”以上である。この場合には、重み付けカウント部242のカウンタが、“0”になっていないため、スケジューリング部31から、基本優先順位でデータ転送が行われ、データ転送の順位のスキップは行われない。
【0062】
ポート処理部24は、重み付けカウント部244のカウンタ値が“1”以上で、パケットカウント部254のカウンタ値が“0”である。この場合には、ポート処理部22と同様に、重み付けカウント部244のカウンタが、“0”になっていないため、スケジューリング部31から、基本優先順位でデータ転送が行われ、データ転送の順位のスキップは行われない。
【0063】
ポート処理部25は、重み付けカウント部245のカウンタ値が“0”で、パケットカウント部255のカウンタ値も“0”である。この場合には、スケジューリング部31からのデータ転送順位はスキップされ、データ転送は行われない。
【0064】
ポート処理部23は、重み付けカウント部243のカウンタ値が“0”で、パケットカウント部253のカウンタ値が“1”以上である。図7に示すように、パケットカウント部253のカウンタ値が“3”を示している、すなわち、まだパケット1個分を転送している途中であるため、重み付けカウント部243のカウンタ値が“0”であっても、スケジューリング部31は、パケットデータ31、32、33に関しては、データ転送の基本優先順位をスキップすることはない。しかし、パケットデータ33の送出後に、パケットカウント部253のカウンタ値が“0”になり、かつ、重み付けカウント部243のカウンタ値は“0”であるため、パケット34以降は、スケジューリング部31から、データ転送の順位がスキップされ、データ転送が行われず、図8のポート処理部23の状態となる。
【0065】
以上のように、データ転送を停止させるのは、図8のポート処理部23、25に示すような、重み付けカウント部243、245のカウンタ値が“0”で、パケットカウント部253、255のカウンタ値も“0”の状態になった時のみである。すなわち、図7のポート処理部23のように、重み付けカウント部243のカウンタ値が“0”であっても、パケットカウント部253のカウンタ値が“1”以上であれば、パケット1個分の転送が終わるまでは、データ転送を停止しない。これにより、パケットデータが分割されたままの状態が継続するような状態は発生しない。
【0066】
本装置では、以上の動作を繰り返し、すべての重み付けカウンタ241〜245のカウンタ値が“0”になると、すべての重み付けカウンタ241〜245のカウンタ値を初期値に戻し、データ転送を続ける。
【0067】
【発明の効果】
以上説明したように、本発明によれば、複数の入力伝送路から1つの出力伝送路へデータを転送する際に、入力伝送路数が多くなった場合等であっても、転送待機時間を短縮して不必要な警報の発生を防止するとともに、バッファオーバーフローの発生を抑制して伝送効率を上昇させ、高速処理に対応可能で、簡単な構成を備えたデータ転送装置を提供することができる。
【図面の簡単な説明】
【図1】本発明にかかるデータ転送装置の全体構成図である。
【図2】図1のデータ転送装置のポート処理部を示す構成図である。
【図3】図1のデータ転送装置で転送するパケットの一例を示す図である。
【図4】図1のデータ転送装置のスケジューリング部を示す構成図である。
【図5】図1のデータ転送装置の動作説明図である。
【図6】図1のデータ転送装置の動作説明図である。
【図7】図1のデータ転送装置の動作説明図である。
【図8】図1のデータ転送装置の動作説明図である。
【図9】本発明にかかるデータ転送装置における転送処理時間に対するバッファ部の容量の関係を示すグラフである。
【図10】従来のデータ転送装置の一例(従来方式1)を示す全体構成図である。
【図11】図10のデータ転送装置の動作説明図である。
【図12】図10のデータ転送装置の動作説明図である。
【図13】パケットを分割せずにデータ転送を行った場合の不具合を説明するための図である。
【図14】従来のデータ転送装置のもう一つの例(従来方式2)を示す動作説明図である。
【図15】従来方式2の動作説明図である。
【図16】従来方式1の問題点を説明するための動作説明図である。
【図17】従来方式1の問題点を説明するための動作説明図である。
【図18】従来方式2の問題点を説明するための動作説明図である。
【図19】従来方式2の問題点を説明するための動作説明図である。
【図20】従来方式2にかかるデータ転送装置における転送処理時間に対するバッファ部の容量の関係を示すグラフである。
【符号の説明】
11〜1n 入力インターフェース部
21〜2n ポート処理部
211〜21n バッファ部
221〜22n バッファ監視部
231〜23n 重み付け記憶部
241〜24n 重み付けカウンタ部
251〜25n パケットカウンタ部
261〜26n パケット長認識部
271〜27n 転送禁止信号発生部
31 スケジューリング部
311 カウントクリア信号発生部
312 優先順位スケジューリング部
313 読み出し制御部
41 出力インターフェース部
511〜51n 入力パケットデータ
521〜52n 書き込み制御信号
531〜53n カウントクリア信号
542〜54n 転送禁止信号
551〜55n 読み出し要求信号
561〜56n 重みカウントフラグ
571〜57n 重み付け値
581〜58n パケット送信フラグ
601〜60n 出力データ
611〜61n 読み出し制御信号
621〜62n カウント開始トリガ
631〜63n バッファフル信号
641〜64n 読み出し指示信号
P1〜Pn 入力ポート
P20 出力ポート

Claims (2)

  1. 複数の入力ポートと、該複数の入力ポートから入力されたデータを格納し、該データを1パケット分のデータ長よりも短いデータ長に分割して出力する複数のポート処理部と、該複数のポート処理部からのデータの転送順位を決定するとともに、該転送順位に従って前記複数のポート処理部からデータを受信するスケジューリング部と、該スケジューリング部から送出されたデータを外部に出力する出力ポートとを備えたデータ転送装置であって、
    前記ポート処理部は、
    前記入力ポートから入力されたデータを格納するバッファ部と、
    前記複数のポート処理部間のデータの転送優先度を重み付け値として設定する重み付け部と、
    前記バッファ部からのデータの読み出し量をカウントし、該読み出し量が前記重み付け値に達したか否かを示す第1信号を出力する第1カウンタ部と、
    前記バッファ部からの出力データに基づき、該出力データのパケット長を認識するパケット長認識部と、
    前記バッファ部からのデータの読み出し量をカウントし、該読み出し量と前記パケット長との差分に応じて前記バッファ部から1パケット分のデータが出力されたか否かを示す第2信号を出力する第2カウンタ部とを備え、
    前記第1信号が前記読み出し量が前記重み付け値に達したことを示しても、前記第2信号が1パケット分のデータの出力が完了していないことを示す場合には、データの出力を終了せず、前記第2信号が1パケット分のデータの出力が完了したことを示すまで、データの出力を継続することを特徴とするデータ転送装置。
  2. 前記重み付け部は、前記バッファ部における1回の読み出し処理で読み出し可能なデータ量を基準に、所定の読み出し回数を設定し、該設定した読み出し回数を前記重み付け値とすることを特徴とする請求項1に記載のデータ転送装置。
JP2003040827A 2003-02-19 2003-02-19 データ転送装置 Expired - Fee Related JP4086676B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003040827A JP4086676B2 (ja) 2003-02-19 2003-02-19 データ転送装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003040827A JP4086676B2 (ja) 2003-02-19 2003-02-19 データ転送装置

Publications (2)

Publication Number Publication Date
JP2004253960A JP2004253960A (ja) 2004-09-09
JP4086676B2 true JP4086676B2 (ja) 2008-05-14

Family

ID=33024568

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003040827A Expired - Fee Related JP4086676B2 (ja) 2003-02-19 2003-02-19 データ転送装置

Country Status (1)

Country Link
JP (1) JP4086676B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4724004B2 (ja) * 2006-01-19 2011-07-13 富士通株式会社 Drr帯域分配方法及び装置
JP2007288491A (ja) * 2006-04-17 2007-11-01 Nippon Telegr & Teleph Corp <Ntt> フレームの分割回路、該分割回路を用いた伝送システム及び方法
JP5906625B2 (ja) * 2011-09-15 2016-04-20 株式会社リコー アクセス制御装置、画像形成装置およびアクセス制御方法

Also Published As

Publication number Publication date
JP2004253960A (ja) 2004-09-09

Similar Documents

Publication Publication Date Title
CN101473612B (zh) 对mac-phy接口的自适应速度控制
US5491691A (en) Method and apparatus for pacing asynchronous transfer mode (ATM) data cell transmission
US8225026B2 (en) Data packet access control apparatus and method thereof
US8918595B2 (en) Enforcing system intentions during memory scheduling
US7904677B2 (en) Memory control device
US6868458B2 (en) Communication system for raising channel utilization rate and communication method thereof
US7373467B2 (en) Storage device flow control
CN114500401B (zh) 一种应对突发流量的资源调度方法和系统
JP4086676B2 (ja) データ転送装置
US20100054272A1 (en) Storage device capable of accommodating high-speed network using large-capacity low-speed memory
CN116107635A (zh) 命令分发器、命令分发方法、调度器、芯片、板卡、设备
US8953469B2 (en) Communication device and computer program product
CN117499351A (zh) 报文转发装置及方法、通信芯片及网络设备
US8645597B2 (en) Memory block reclaiming judging apparatus and memory block managing system
US7836231B2 (en) Buffer control method and device thereof
JP5924208B2 (ja) セル多重化装置及び方法
JP5604919B2 (ja) パケット転送装置およびパケット転送方法
EP2783286B1 (en) Data processing system and method of controlling access to a shared memory unit
JP2000299686A (ja) スケジューリング装置
JP6127872B2 (ja) 演算処理装置及び演算処理装置の制御方法
KR100694242B1 (ko) 기억 장치
CN113934671B (zh) 一种接口控制芯片及网络设备
US11240178B2 (en) Data transmission method and data transmission system
US20200379798A1 (en) Apparatus for transmitting packets using timer interrupt service routine
JP2872767B2 (ja) 競合制御方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051102

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070904

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071030

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080219

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

Free format text: PAYMENT UNTIL: 20110228

Year of fee payment: 3

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