(57)【要約】【課題】通信システムの送信側における送信パケットの処理遅延を防ぎ、送信処理スループットを向上させて応答を速くすることができるデータ送信装置を提供する。【解決手段】送信メモリを複数のスロット領域に分割し、各スロットに対して読み出し／書き込みが可能な送信メモリコントローラ１１４と、送信メモリへ書き込みを行う際にパケットデータがキューイングされたことを示すキューイング回路１１３と、キューイングされた各送信パケットデータ間で送信処理開始の為のアービトレーションを行うアービタ１１６と、アービタに対して送信プライオリティを決定するプライオリティ回路１１５とを備えて、送信メモリを使用したシステムにおいて送信プライオリティの高いパケットを優先的に送信することを可能とする。【選択図】　　　図１
2004096555.tif 000002
【特許請求の範囲】
【請求項１】
パケットデータを伝送路へ送信するデータ送信装置であって、前記パケットデータを記憶すると共に読み込み順に読み出すファーストイン・ファーストアウト方式の記憶手段と、前記記憶手段からパケットデータを読み出して前記伝送路へ送出する送信処理手段と、前記記憶手段の記憶領域を複数スロットに分割してスロット毎にパケットデータの書き込み／読み出しを行う送信制御手段とを具備し、前記送信制御手段は、送信優先度に応じてパケットデータの送信スケジューリングを行うことを特徴とするデータ送信装置。
【請求項２】
前記送信制御手段は、パケットデータの送信スケジューリングにアドレスポインタを使用し、このアドレスポインタにオフセット値を与えこれの値を変化させることでパケットデータの送信スケジューリングを行うことを特徴とする請求項１に記載のデータ送信装置。
【請求項３】
前記送信制御手段は、パケットデータの種別を判定し、その判定結果と前記記憶手段の空き容量とを参照して当該パケットデータに対する送信順序の並び替えを行うかどうかを判断することを特徴とする請求項１又は請求項２に記載のデータ送信装置。
【請求項４】
前記送信制御手段は、パケットデータのヘッダ及びパケット長からデータ種別を判定することを特徴とする請求項３に記載のデータ送信装置。
【請求項５】
既に送信順序の並び替えを行ったパケットデータの送信優先度と新たに送信順序の並び替えを行おうとするパケットデータの送信優先度とを比較する優先度比較手段を具備し、前記送信制御手段は、前記優先度比較手段による優先度比較結果に基づいてアドレスポインタを制御することを特徴とする請求項１から請求項４のいずれかに記載のデータ送信装置。
【請求項６】
前記優先度比較手段は、前記記憶手段中の各スロットのパケットデータに対する送信要求を記憶するレジスタと、各レジスタの値を重み付けする組み合わせ手段とを具備することを特徴とする請求項５に記載のデータ送信装置。
【請求項７】
書き込み可能なスロットを示す書き込み可能スロット情報から前記記憶手段の各スロットの書き込みアドレスを生成する変換テーブルを具備し、前記送信制御手段は、各パケットデータ間の送信スロットの割り当て結果から前記変換テーブルのテーブル情報を用いてアドレスオフセットを出力することを特徴とする請求項５又は請求項６記載のデータ送信装置。
【請求項８】
パケットデータを伝送路へ送信するデータ送信方法であって、前記パケットデータを記憶すると共に読み込み順に読み出すファーストイン・ファーストアウト方式の記憶手段の記憶領域を複数スロットに分割してスロット毎にパケットデータの書き込み／読み出しを行い、更にパケットデータの種別により送信優先度を判別し、判別した送信優先度に応じてパケットデータに対する送信スケジューリングを行うことを特徴とするデータ送信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワーク機器に用いて好適なデータ送信装置及びデータ送信方法に関する。
【０００２】
【従来の技術】
従来、ネットワーク機器に用いられているデータ送信装置は、パケットデータ用バッファとしてのＦＩＦＯ（Ｆｉｒｓｔ　Ｉｎ　Ｆｉｒｓｔ　Ｏｕｔ）メモリと、ＦＩＦＯメモリに記憶されたパケットデータを読み出して送信を行う送信処理回路とを備えている。特に、パケットデータの多重化を行わない場合、単／複チャネルに関わらず伝送路が１本の場合には、送信処理回路は１つのみの構成となる。
【０００３】
ＦＩＦＯメモリは、パケットデータの装置本体への書き込み速度と伝送路での通信速度差を吸収するために、パケットデータを一時的に蓄積するために設けられるものである。ＦＩＦＯメモリに蓄積されたパケットデータは、ネットワークバスへの送信要求が受理された後に読み出されてネットワークバスへ送出される。
【０００４】
図６は、ＦＩＦＯメモリを使用した従来のデータ送信装置の概略構成を示すブロック図である。この図において、データ送信装置６００は、データ送信部６０１と、ＦＩＦＯメモリ６０２と、ＦＩＦＯメモリコントローラ６０３とを備えている。ＦＩＦＯメモリコントローラ６０３は、ＦＩＦＯメモリ６０２へのパケットデータの書き込み／読み出しアドレスの指定を行う。パケットデータは、ネットワーク６０４上に送信される前に一時的にＦＩＦＯメモリ６０２に格納されるが、この際、ＦＩＦＯメモリコントローラ６０３にて指定されるアドレスに格納される。複数のパケットデータがＦＩＦＯメモリ６０２に書き込まれた後、書き込まれた順で読み出されてデータ送信部６０１に入力され、その後ネットワーク６０４へ送出される。
【０００５】
一方、非リアルタイム性送信データのデータ長を調整することで、リアルタイム性送信データをリアルタイムで送信できるようにしたものがある（例えば、特許文献１参照）。これは、通信回線の回線速度と、データ長と、該データ長のデータ送信時間とを関連付けて登録する回線スケジュールテーブルと、送信データ処理手段と、通信回線の回線速度において、リアルタイム性送信データのデータ送信時間間隔よりも短いデータ送信時間で送信し得る非リアルタイム性送信データのデータ長を回線スケジュールテーブルから得て、その非リアルタイム性送信データを送出した後、リアルタイム性送信データを送出する回線スケジューラ手段と、両データを通信回線へ送信する通信装置とを備えたものである。
【０００６】
【特許文献１】
特開平０７−２５０１２２号公報
【０００７】
【発明が解決しようとする課題】
しかしながら、従来のデータ送信装置においては、次のような問題がある。
すなわち、パケットデータを一時的にＦＩＦＯメモリ６０２に蓄積してからデータ送信部６０１によってネットワーク６０４へ送出するため、何らかの伝送エラーが発生して再送する場合でもＦＩＦＯメモリ６０２からの読み出しが書き込み順序で行われることになる。このため、再送を必要とするパケットデータが送信されるまでに待ち時間が生じて映像や音声信号のようなリアルタイムデータや送信プライオリティの高いデータを伝送する場合、応答に遅れが生じてしまう。
【０００８】
また、特開平０７−２５０１２２号公報で開示されたデータ送信装置においては、リアルタイムデータの送信プライオリティについては何も言及されていない。
【０００９】
本発明は係る点に鑑みてなされたものであり、通信システムの送信側におけるパケットデータの処理遅延を防ぎ、送信処理スループットを向上させて応答を速くすることができるデータ送信装置及びデータ送信方法を提供することを目的とする。
【００１０】
【課題を解決するための手段】
請求項１に係る発明のデータ送信装置は、パケットデータを伝送路へ送信するデータ送信装置であって、前記パケットデータを記憶すると共に読み込み順に読み出すファーストイン・ファーストアウト方式の記憶手段と、前記記憶手段からパケットデータを読み出して前記伝送路へ送出する送信処理手段と、前記記憶手段の記憶領域を複数スロットに分割してスロット毎にパケットデータの書き込み／読み出しを行う送信制御手段とを具備し、前記送信制御手段は、送信優先度に応じてパケットデータの送信スケジューリングを行う構成を採る。
【００１１】
この構成によれば、ファーストイン・ファーストアウト方式の記憶手段（ＦＩＦＯメモリ）の記憶領域を複数スロットに分割し、スロット毎にパケットデータの書き込み／読み出しを行うので、例えば制御パケット、画像パケット、音声パケットをチャネル毎に記憶させることができるようになる。したがって、受信側から受信完了通知を受け取る前に、記憶手段に他のチャネルのパケットを書き込むことができ、送信処理の向上が図れる。
【００１２】
また、パケットデータの種別により送信優先度を判別して、判別した送信優先度に応じてパケットデータに対する送信のスケジューリングを行うので、パケットデータを再送信する可能性がある場合でも各チャネルのパケット間の優先度を自由に変えることができ、受信側に直ぐに応答を返す必要があるような制御パケットなどの送信優先度の高いパケットデータに対する優先度を任意に上げることができる。これにより、再送に関わる処理時間の短縮化が可能となる。
【００１３】
請求項２に係る発明のデータ送信装置は、請求項１に係る発明のデータ送信装置において、前記送信制御手段は、パケットデータの送信スケジューリングにアドレスポインタを使用し、このアドレスポインタにオフセット値を与えこれの値を変化させることでパケットデータの送信スケジューリングを行う構成を採る。
【００１４】
この構成によれば、アドレスポインタに可変可能なオフセット値を与えて、パケットデータの送信スケジューリングを行うので、１つの記憶手段に格納された複数のパケットデータを送信する場合にメモリアドレス制御を容易に行うことが可能となる。
【００１５】
請求項３に係る発明のデータ送信装置は、請求項１又は請求項２のいずれかに係る発明のデータ送信装置において、前記送信制御手段は、パケットデータの種別を判定し、その判定結果と前記記憶手段の空き容量とを参照して当該パケットデータに対する送信順序の並び替えを行うかどうかを判断する構成を採る。
【００１６】
この構成によれば、パケットデータの種別を判別することで、送信優先順位の管理が容易になる。
【００１７】
請求項４に係る発明のデータ送信装置は、請求項３に係る発明のデータ送信装置において、前記送信制御手段は、パケットデータのヘッダ及びパケット長からデータ種別を判定する構成を採る。
【００１８】
この構成によれば、新たに送信順序の並び替えを行うパケットデータの種別により、送信優先順位の管理を容易に行うことが可能になる。
【００１９】
請求項５に係る発明のデータ送信装置は、請求項１から請求項４のいずれかに記載のデータ送信装置において、既に送信順序の並び替えを行ったパケットデータの送信優先度と新たに送信順序の並び替えを行おうとするパケットデータの送信優先度とを比較する優先度比較手段を具備し、前記送信制御手段は、前記優先度比較手段による優先度比較結果に基づいてアドレスポインタを制御する構成を採る。
【００２０】
この構成によれば、既に送信順序の並び替えが行われたパケットデータの送信優先順位の制御を詳細に行うことができる。
【００２１】
請求項６に係る発明のデータ送信装置は、請求項５に係る発明のデータ送信装置において、前記優先度比較手段は、前記記憶手段中の各スロットのパケットデータに対する送信要求を記憶するレジスタと、各レジスタの値を重み付けする組み合わせ手段とを具備する構成を採る。
【００２２】
この構成によれば、各パケットデータの送信要求を、パケットデータの内容や制御シーケンスに従って制御することが可能となる。
【００２３】
請求項７に係る発明のデータ送信装置は、請求項５又は請求項６に係る発明のデータ送信装置において、書き込み可能なスロットを示す書き込み可能スロット情報から前記記憶手段の各スロットの書き込みアドレスを生成する変換テーブルを具備し、前記送信制御手段は、各パケットデータ間の送信スロットの割り当て結果から前記変換テーブルのテーブル情報を用いてアドレスオフセットを出力する構成を採る。
【００２４】
この構成によれば、簡単なメモリ制御回路によりメモリ制御が可能になる。
【００２５】
請求項８に係る発明のデータ送信方法は、パケットデータを伝送路へ送信するデータ送信方法であって、前記パケットデータを記憶すると共に読み込み順に読み出すファーストイン・ファーストアウト方式の記憶手段の記憶領域を複数スロットに分割してスロット毎にパケットデータの書き込み／読み出しを行い、更にパケットデータの種別により送信優先度を判別し、判別した送信優先度に応じてパケットデータに対する送信スケジューリングを行う。
【００２６】
この方法によれば、ファーストイン・ファーストアウト方式の記憶手段の記憶領域を複数スロットに分割し、スロット毎に送信パケットの書き込み／読み出しを行うので、例えば制御パケット、画像パケット、音声パケットをチャネル毎に記憶させることができるようになる。したがって、受信側から受信完了通知を受け取る前に記憶手段に他のチャネルのパケットを書き込むことができるので、送信処理の向上が図れる。
【００２７】
また、パケットデータの種別により送信優先度を判別して、判別した送信優先度に応じてパケットデータに対する送信スケジューリングを行うので、パケットデータを再送信する可能性がある場合でも各チャネルのパケット間の優先度を自由に変えることができ、受信側に直ぐに応答を返す必要があるような制御パケットなどの送信優先度の高いパケットに対する優先度を任意に上げることができる。これにより、再送に関わる処理時間の短縮化が可能となる。
【００２８】
【発明の実施の形態】
本発明の骨子は、送信用のメモリの記憶領域を複数スロットに分割して、スロット毎にポインタ管理することで、多チャンネル間の送信パケットの送信優先度を自由に変更できるようにすることである。
【００２９】
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００３０】
図１は、本発明の一実施の形態に係るデータ送信装置の構成を示すブロック図である。
【００３１】
図１において、本実施の形態のデータ送信装置１１０は、ネットワーク６０４に対してデータの送信を行う送信処理回路１１１と、パケット化された送信データ（パケットデータ）を記憶する送信メモリ１１２と、送信メモリ１１２の記憶領域を複数スロットに分割し、スロット毎のパケットデータの読み出し／書き込みを行う送信メモリコントローラ１１４と、送信メモリコントローラ１１４によるパケットデータの送信メモリ１１２への書き込みの際に、パケットデータの種類を解析するとともに、送信メモリ１１２における書き込み可能なスロット情報を出力するキューイング回路１１３と、キューイングされた各パケットデータ間で送信処理開始のためのアービトレーション要求を出力するプライオリティ回路１１５と、プライオリティ回路１１５からの送信要求に対して自由に優先度を可変可能なアービタ１１６とを備えている。
【００３２】
送信処理回路１１１は、送信メモリ１１２から読み出されたパケットデータのネットワーク６０４上への送信と、パケットデータの送信後の受理確認を行う。送信処理回路１１１は、送信したパケットデータが正常に受信側に受け取られたか又はエラー又はビジーであったかを、ネットワーク６０４を介して得られるアクノリッジ情報を参照することで判断する。また、参照したアクノリッジ情報をプライオリティ回路１１５に与える。
【００３３】
次に、上記キューイング回路１１３、送信メモリコントローラ１１４、プライオリティ回路１１５及びアービタ１１６を詳細に説明する。
【００３４】
図２はキューイング回路１１３の構成を示すブロック図である。
この図に示すように、キューイング回路１１３はフィルタ回路２１０とコンパレータ２１１とを備えている。フィルタ回路２１０は、入力された送信パケットのデータ長、パケットヘッダ、フラグビット等によりパケット種別を判別する。そして、判別したパケット種別をパケット情報として出力する。また、フィルタ回路２１０は、書込み許可フラグをコンパレータ２１１に与える。コンパレータ２１１は、フィルタ回路２１０より与えられた書込み許可フラグと送信メモリ１１２の空きスロット情報とを参照し、送信パケットの送信メモリ１１２への書込みが可能である否かを判断し、書き込み可能であれば書き込みスロット情報を出力する。
【００３５】
図３は送信メモリコントローラ１１４の構成を示すブロック図である。
この図に示すように、送信メモリコントローラ１１４は送信メモリ１１２を複数のスロットに分割する機能を有するもので、加算器３１０及び３１１と、減算器３１２と、ライトアドレス発生回路３１３と、リードアドレス発生回路３１４とを備えている。加算器３１０は、ライトアドレス発生回路３１３が発生したアドレス信号と、プライオリティ回路１１５から出力されたライトアドレスオフセット信号とを加算することで、送信メモリ１１２に対するライトアドレスを出力する。
【００３６】
他方、加算器３１１は、リードアドレス発生回路３１４が発生したアドレス信号とプライオリティ回路１１５から出力されたリードアドレスオフセット信号とを加算することで、送信メモリ１１２に対するリードアドレスを出力する。この場合、ライトアドレスオフセットとリードアドレスオフセットのオフセット量を変化させることで、送信メモリ１１２の複数のスロット夫々に対してアクセスできる。
【００３７】
減算器３１２は、加算器３１０からのライトアドレスと加算器３１１からのリードアドレスの差分を求めて空きスロットを確認し、空きスロット情報を出力する。この空きスロット情報は前述したキューイング回路１１３に入力される。
【００３８】
図４はプライオリティ回路１１５の構成を示すブロック図である。
プライオリティ回路１１５は、キューイング回路１１３より入力されたパケット情報及び書き込みスロット情報と送信処理回路１１１より入力されたアノリッジ情報とをラッチする構成を採る。すなわち、プライオリティ回路１１５は、フリップフロップ４１０−１〜４１０−ｎ、４１１、４１３−１〜４１３−ｎと、アンドゲート４１２−１〜４１２−ｎと、オアゲート４１４と、スロット／アドレス変換テーブル４１５とを備えている。
【００３９】
プライオリティ回路１１５は、キューイング回路１１３から入力される１つあるいは複数のパケット情報をフリップフロップ４１０−１〜４１０−ｎにてラッチし、また送信処理回路１１１から入力されるアクノリッジ情報をフリップフロップ４１１にてラッチする。フリップフロップからの出力は、送信メモリ１１２に格納されているパケットデータの送信要求情報を示している。これらのフリップフロップ４１１、４１０−１〜４１０−ｎでラッチされた情報は、キューイング回路１１３より入力される書込みスロット情報が書き込み可能を示すものであれば、アービタ１１６への送信要求としてアービトレーション信号Ｓａ−１、Ｓａ−２、…、Ｓａ−ｎとして出力され続ける。これに対して、書込みスロット情報が書き込み不可を示すものであれば（即ち書き込み領域がないことを示すものであれば）、それぞれアンドゲート４１２−１、４１２−２、…、４１２−ｎでネゲートされる。
【００４０】
フリップフロップ４１３−１、４１３−２、…、４１３−ｎは、アービタ１１６より入力される送信権獲得を示すグラント信号Ｓｇ−１、Ｓｇ−２、…、Ｓｇ−ｎをラッチする。アービタ１１６よりグラント信号Ｓｇ−１、Ｓｇ−２、…、Ｓｇ−ｎのいずれかが入力されると、そのグラント信号に対応したアービトレーション信号のためのラッチがクリアされる。また、いずれかのグラント信号が入力されると、スロット／アドレス変換テーブル４１５より送信メモリコントローラ１１４に対してリードアドレスオフセット及びライトアドレスオフセットが出力される。スロット／アドレス変換テーブル４１５は、書き込みスロット情報から送信メモリ１１２の各スロットの先頭書き込みアドレスを生成する。
【００４１】
アービタ１１６は、プライオリティ回路１１５からのデータ出力を入力として各送信要求に対するプライオリティをコントロールする。なお、このプライオリティはマイクロコントローラ等のインターフェースを用いることで可変させることが可能である。
【００４２】
図５はアービタ１１６の構成を示すブロック図である。
この図において、アービタ１１６は、プライオリティ回路１１５より入力されるアービトレーション信号Ｓａ−１、Ｓａ−２、…、Ｓａ−ｎそれぞれに対して、マイクロコントローラデータにより予めフリップフロップ５１０−１、５１０−２、…、５１０−ｎ、５１１−１、５１１−２、…、５１１−ｎに制御データを書き込んでおく。
【００４３】
各アービトレーション信号Ｓａ−１、Ｓａ−２、…、Ｓａ−ｎと、フリップフロップ５１０−１、５１０−２、…、５１０−ｎ、５１１−１、５１１−２、…、５１１−ｎの出力との論理和及び論理積が、オアゲート５１２−、５１２−２、…、５１２−ｎ、アンドゲート５１３−、５１３−２、…、５１３−ｎでとられることで、各アービトレーション信号に対して独立に強制的なフラグ制御を行うことが可能となっている。アービタ１１６の組み合わせ回路５１４からは送信権獲得を示すグラント信号Ｓｇ−１、Ｓｇ−２、…、Ｓｇ−ｎが出力される。
【００４４】
このような構成のデータ装置装置において、キューイング回路１１３は、全ての送信パケット夫々のヘッダ情報からパケット内容を検出した後、プライオリティ回路１１５に対してパケット情報を入力するとともに、送信メモリコントローラ１１４より出力される空きスロット情報により書き込み可能スロット情報を出力する。プライオリティ回路１１５は、キューイング回路１１３より送信パケットのパケット種類と書き込み可能なスロット情報を得て保持しておく。
【００４５】
また、送信処理回路１１１より入力されるアクノリッジ情報（伝送路にパケットデータを送信した際に受信側に正しく受理され再送信の必要性の有無を示す情報）を保持しておく。そして、これらの各スロットに対する書き込み要求とアクノリッジ情報から生成される再送信要求と送信メモリ１１２の空きスロット情報を参照し、アービタ１１６に対して送信要求アービトレーションを行う。アービタから送信権を獲得すると、適当な送信メモリ１１２に対するライトアドレス、リードアドレスを発生するためのアドレスオフセットを出力する。
【００４６】
アービタ１１６は、プライオリティ回路１１５より入力される送信メモリ１１２中の各スロット領域の送信要求と、アクノリッジ情報から得られる再送信要求との間で送信プライオリティに重み付けを与えており、優先度の高い要求に対して送信要求が獲得できるようにしておく。更にこれらの情報をマイクロコントローラ等で読み出し、書き込みを可能にすることにより任意に送信メモリ１１２に格納されたパケットの送信プライオリティを設定することが可能となる。
【００４７】
このように、本実施の形態のデータ送信装置によれば、送信メモリ１１２の記憶領域を複数スロットに分割して、スロット毎にポインタ管理するので、送信メモリ１１２を使用したシステムにおいて送信プライオリティの高いパケットを優先的に送信することが可能となり、送信処理スループットを向上させることが可能となる。特に、ハンドシェーク型の通信システムでも送信メモリ１１２を複数スロットに分割することにより、例えば制御パケット、画像パケット、音声パケットをチャネル毎ににバッファリングすることができ、受信側からの受信完了通知を受け取る前に送信メモリ１１２へ他のチャネルのデータを書き込むことができ、処理時間の短縮化が可能となる。
【００４８】
また、再送信する可能がある場合、各チャネルのパケット間のプライオリティを自由に制御することで、受信側にすぐに応答を返す必要があるような、制御パケットなどのプライオリティを任意に上げることができるようになる。この結果、受信側からの受信完了通知を受ける前に他のチャネルのデータを送信メモリ１１２に書き込むことが可能となるため、送信処理のスループットの向上が図れる。
【００４９】
【発明の効果】
以上説明したように、本発明によれば、通信システムにおけるパケットデータの送信側の処理遅延を防ぎ、送信処理スループットを向上させて応答を速くすることが可能となる。
【図面の簡単な説明】
【図１】本発明の一実施の形態に係るデータ送信装置の構成を示すブロック図
【図２】本発明の一実施の形態に係るデータ送信装置のキューイング回路の構成を示すブロック図
【図３】本発明の一実施の形態に係るデータ送信装置の送信メモリコントローラの構成を示すブロック図
【図４】本発明の一実施の形態に係るデータ送信装置のプライオリティ回路の構成を示すブロック図
【図５】本発明の一実施の形態に係るデータ送信装置のアービタの構成を示すブロック図
【図６】従来のデータ送信装置の構成を示すブロック図
【符号の説明】
１１０　データ送信装置
１１１　送信処理回路
１１２　送信メモリ
１１３　キューイング回路
１１４　送信メモリコントローラ
１１５　プライオリティ回路
１１６　アービタ
２１０　フィルタ回路
２１１　コンパレータ
３１０、３１１　加算器
３１２　減算器
３１３　ライトアドレス発生回路
３１４　リードアドレス発生回路
４１０−１〜４１０−ｎ、４１１、４１３−１〜４１３−ｎ、５１０−１〜５１０−ｎ、５１１−１〜５１１−ｎ　フリップフロップ
４１２−１〜４１２−ｎ、５１３−１〜５１３−ｎ　アンドゲート
４１４、５１２−１〜５１２−ｎ　オアゲート
４１５　スロット／アドレス変換テーブル
５１４　組み合わせ回路
【図１】
2004096555.tif 000003
【図２】
2004096555.tif 000004
【図３】
2004096555.tif 000005
【図４】
2004096555.tif 000006
【図５】
2004096555.tif 000007
【図６】
2004096555.tif 000008