JP4749237B2 - 可変長フレームバッファ装置 - Google Patents

可変長フレームバッファ装置 Download PDF

Info

Publication number
JP4749237B2
JP4749237B2 JP2006152371A JP2006152371A JP4749237B2 JP 4749237 B2 JP4749237 B2 JP 4749237B2 JP 2006152371 A JP2006152371 A JP 2006152371A JP 2006152371 A JP2006152371 A JP 2006152371A JP 4749237 B2 JP4749237 B2 JP 4749237B2
Authority
JP
Japan
Prior art keywords
frame
value
address
accumulated
integrated value
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
JP2006152371A
Other languages
English (en)
Other versions
JP2007324886A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2006152371A priority Critical patent/JP4749237B2/ja
Publication of JP2007324886A publication Critical patent/JP2007324886A/ja
Application granted granted Critical
Publication of JP4749237B2 publication Critical patent/JP4749237B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Description

本発明は、閾値以下で出力可能なフレーム単位の最大蓄積データ量を算出できる可変長フレームバッファ装置に関するものである。
従来、可変長フレームバッファにおけるフレーム単位の蓄積量判定方法は、フレームバッファと同じアドレス空間を持ったフレーム番号用バッファを設け、読み出し次先頭アドレスに判定したい閾値を加算して、フレーム番号用バッファからフレーム番号を取得し、それを読み出しアドレスとしてバッファ情報用メモリからフレームの区切れとなる先頭アドレスを検索し、その検索した先頭アドレスと次先頭アドレスとの間のバッファ量を蓄積量として判定する方法であった(特許文献1)。
特開2005−27029号公報
しかしながら、上記従来の技術によれば、フレームバッファと同容量の検索用バッファが必要であり、前記容量の検索用バッファを用意できない場合には、この検索方法を用いることができないという問題があった。また、この方法を用いない場合は、すべてのフレームを検索範囲として2分岐探索や順次比較により、フレーム区切れ目を探索する必要があり、蓄積フレーム数に応じて計算時間が増加するという問題があった。
本発明は、上記に鑑みてなされたものであって、検索用バッファ容量を抑えた上で、フレーム蓄積量にほぼ依存せずに短時間で閾値以下の蓄積量となるフレームの区切れ目を判定し、区切れ目までの蓄積量を求めることができる可変長フレームバッファ装置を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、可変長フレームデータを入力順に記憶するフレームバッファと、フレームバッファへの書き込み順に1ずつ加算されるフレームIDをアドレスとし、当該フレームまでのフレームバッファへ書き込まれた積算量を記憶する第1の記憶手段と、所定の分割単位での区切りを越える最小の積算値を有するフレームIDを、1ずつ加算される数値をアドレスとして記憶する第2の記憶手段と、前記フレームIDと積算量を算出して、算出したフレームIDに対応する第1の記憶手段のアドレスに算出した積算量を書き込み、所定の分割単位での区切りを越える最小の積算値を有するフレームIDを、第2の記憶手段の1ずつ加算されるアドレスに書き込むフレーム情報格納手段と、フレームバッファから読み出されたフレームIDと積算量を算出するフレーム出力制御手段と、設定された閾値以内で最大出力が可能なフレーム単位の蓄積量を算出するため、第2の記憶手段から、蓄積量計算の基点となるフレームの積算値に前記閾値を加算した値を前記分割単位で表した数値のアドレスに記憶されているフレームIDを読み出し、読み出したフレームIDから1を引いたフレームID以上となるフレームIDの積算値を順次第1の記憶手段から読み出し、読み出した積算値が蓄積量計算の基点の積算値に閾値を加算した数値以下となる最大のフレームIDを求め、蓄積量計算の終点として算出する比較判定手段と、蓄積量計算の基点となるフレームの積算値と、比較判定手段で算出された蓄積量計算の終点の積算値とに基づき、前記閾値以内で最大出力が可能なフレーム単位の蓄積量を算出するとともに、蓄積量計算の基点および終点となるフレームIDに基づき蓄積フレーム数を算出する蓄積量演算手段とを備えることを特徴とする。
この発明によれば、検索領域をしぼりこむために、所定の分割単位での区切りを越える最小の積算値を有するフレームIDを、1ずつ加算される数値をアドレスとして記憶し、これを用いて検索領域をしぼった上で、閾値の範囲内で最大出力が可能なフレーム単位の蓄積量の区切れ目を検索するようにしたので、少ないメモリ容量で効率的にフレーム単位の蓄積量を求めることができるという効果を奏する。
以下に、本発明にかかる可変長フレームバッファ装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、本発明にかかる可変長フレームバッファ装置の実施の形態1の構成図である。図1に示す可変長フレームバッファ装置は、可変長フレームを入力順に記憶するFIFO(Fast In Fast Out Memory)バッファであるフレームバッファ10と、フレームバッファ10のリード・ライトを行うフレームバッファアクセス制御部11と、受信したフレームの長さをカウントし、積算値SA(フレームバッファ10へ書き込んだデータの積算量であり、この場合単位はバイト)を管理し、そのフレームを廃棄するか否かの判定と、フレームバッファのライトアドレスの管理を行うフレーム受信制御部12と、フレームIDをアドレスとしフレーム長を格納するフレーム長情報バッファ13と、フレームIDをアドレスとし、フレームIDごとに積算値を格納する第1のメモリ14と、nバイト単位の区切り(n、2n、3n、…)を越える最小の積算値SAを有するフレームIDを、+1インクリメントされる数値をアドレスとして記憶する第2のメモリ15と、積算値を管理して、フレームバッファアクセス制御部11からフレームの書き込み完了の通知があると、そのフレームにおける積算値SAを計算し、第1のメモリ14と第2のメモリ15に情報を格納するフレーム情報格納部16と、フレームバッファ10のリード(読み出し終了)およびライト(書き込み終了)位置に対応するフレームIDや積算値SAを管理するポインタ管理部17と、閾値Lを与えられると、設定された閾値L以内で最大出力が可能なフレーム単位のデータ量を算出するために、第1のメモリ14、第2のメモリ15にアクセスし、閾値Lの範囲内でバッファメモリ10から最大出力が可能な位置のフレームID、積算値SAを検出する比較判定部18と、設定された閾値L以内で最大出力が可能なフレーム単位のデータ量、フレーム数を演算する蓄積量演算部19と、出力先からフレーム読み出し指示があると、そのときのフレーム長をフレーム長情報バッファ13からリードし、そのフレーム長の分をフレームバッファアクセス制御部11にフレーム読み出し要求を発行し、要求に従ってフレームバッファアクセス制御部11がフレームバッファ10から読み出したフレームを出力先に転送するフレーム出力制御部20から構成される。
次に、実施の形態1における可変長フレームバッファ装置の動作について説明する。まず、図1のフレームバッファ10への格納方法、出力方法およびフレームバッファ10のデータ蓄積量の算出方法について説明する。
フレーム受信制御部12は、可変長フレームを受信すると、受信したフレームのフレーム長dを計算し、そのフレーム長dを現在の積算値SAに加算した値(SA+d)を求める。積算値SAとは、前述したように、現在までにフレームバッファ10へ既に書き込んだ全ての可変長フレームの長さの積算値のことである。次に、フレーム受信制御部12は、この計算値(SA+d)から、フレーム出力制御部20から入力される出力済みデータの積算値SARを引いた値を求める。すなわち、フレーム出力制御部20では、フレームバッファ10から読み出されて出力先へ既に出力された可変長フレームの長さの積算値SARを計算しており、この計算値SARをフレーム受信制御部12へ入力している。フレーム受信制御部12では、ライト積算値(SA+d)からリード積算値SARを減算することにより、フレームバッファに蓄積すべき現時点のデータ量TSA(=SA+d−SAR)を算出する。
フレーム受信制御部12は、算出した値TSAと廃棄閾値Cを比較し、算出した値TSAが廃棄閾値Cを超える場合はそのフレームを廃棄し、超えない場合は、そのフレームを書き込むべきフレームバッファ10の先頭アドレスとフレーム長dをフレームバッファアクセス制御部11に通知する。廃棄閾値は、例えばフレームバッファ10の容量とすることが考えられるが、これに限らず、運用上適切な数値をあらかじめフレーム受信制御部12に設定しておく。また、フレーム受信制御部12は、フレーム長dを、フレーム長情報バッファ13の当該フレームIDのアドレスに書き込む。フレームIDは、フレームバッファアクセス制御部11に書き込みを指示する毎に1ずつカウントアップさせて算出する。したがって、フレーム長バッファ13には、各フレームのID毎に、フレーム長が記憶されていることになる。
なお、フレームバッファ10の書き込みアドレス制御方法は、フレームバッファに用いるバッファの種別によって異なる。
フレームバッファアクセス制御部11では、フレームバッファ10にフレームをリード・ライトするための競合制御を行っている。そして、フレームのライト完了時には、ライトしたフレーム長dなどを含むフレーム識別情報をフレーム情報格納部16に通知する。
フレーム情報格納部16では、直前のフレームで計算された積算値SA(例えばS0とする)とフレームID(例えばF0とする)を保持しており、新たなフレームライト完了をフレームバッファアクセス制御部11から受信すると、フレームIDに1を加算して受信したフレームのフレームID(F1)を算出し、直前の積算値SA(=S0)に当該フレームのフレーム長dを加算して、受信したフレームまでの積算値SA(=S1とするを算出する。フレーム情報格納部16は、算出したフレームID(F1)と積算値SA(S1)をポインタ管理部17に通知する。
このとき、積算値SAに、フレーム間のIFG(Inter Frame Gap)や、FEC(Forward Error Correction)等の誤り訂正情報等オーバヘッドを加味することで、通信における実帯域の量として算出しておくことができる。これにより、実質の出力データ量を求めることができる。
次に、フレーム情報格納部16は、第1のメモリ14の計算したフレームID(F1)を値とするアドレスに、計算した積算値SA(S1)を格納する。
さらに、フレーム情報格納部16は、第2のメモリ15には、直前のフレームで計算された積算値S0を分割単位nで割った商SN0と、受信したフレームのフレーム長dを加算することによって得られた積算値S1をnで割った商SN1とを比較して、異なる場合には、SN0の次のアドレスからSN1のアドレスまでフレームID(F1)を格納する。すなわち、第2のメモリのそれぞれのアドレスには、nバイト単位の区切り(n、2n、3n、…)を越える最小の積算値SAを有するフレームIDが記憶される。nバイトは後述する検索のための分割単位である。SN0とSN1が同一の場合には、第2のメモリへの書き込みは行わない。
第1のメモリ14と第2のメモリ15の構成を図2に示す。第1のメモリ14の容量は、最大フレーム数×積算値SAのビット幅、第2のメモリ15の容量は、(フレームバッファ10に蓄積可能なデータ量÷nバイト)×フレームIDのビット幅、となる(パリティビットや、巡回演算用のビット分を加えてもよい)。この場合、第1のメモリ14には、アドレスF0に積算値SAとしてS0(=0)、アドレスF1に積算値SAとしてS1(=100)、アドレスF2に積算値SAとしてS1(=200)、アドレスF3に積算値SAとしてS1(=300)、アドレスF4に積算値SAとしてS4(=1100)、アドレスF5に積算値SAとしてS5(=3100)が記憶されている。したがって、第1番目の可変長フレームの長さdは100バイト、第2番目の可変長フレームの長さdは100バイト、第3番目の可変長フレームの長さdは100バイト、第4番目の可変長フレームの長さdは800バイト、第5番目の可変長フレームの長さdは2000バイトとなる。
一方、この場合、n=1024バイトとしているので、第2のメモリ15のアドレス「1」には、1024バイトの区切りを越える最小の積算値(S4=1100バイト)を有するフレームIDであるF4が記憶され、第2のメモリ15のアドレス「2」には、2048バイトの区切りを越える最小の積算値(S5=3100バイト)を有するフレームIDであるF5が記憶され、第2のメモリ15のアドレス「3」には、3072バイトの区切りを越える最小の積算値(S5=3100バイト)を有するフレームIDであるF5が記憶されることになる。
フレーム出力制御部20は、フレームバッファ10のライトに関するアドレス情報をフレーム受信制御部12から受信し、フレームバッファ10のリードに関するアドレス管理を行う。出力先からフレームの出力要求があると、フレーム出力制御部20は、フレーム長情報バッファ13からフレーム長を読み出し、リード(出力)すべきフレームバッファ10のアドレスとフレーム長をフレームバッファアクセス制御11に送信する。フレームバッファアクセス制御部11は、受信した情報に基づきフレームバッファ10からフレームを読み出し、フレーム出力制御部20にフレームを送信する。フレーム出力制御部20は、このフレームを受信し、出力先へ転送を行うとともに、ポインタ管理部17にリードしたフレームIDとリードしたフレームにおける積算値SARを通知する。この積算値SARは、前述したように、フレーム受信制御部12にも出力される。
ポインタ管理部17は、フレーム情報格納部16から、ライトに関するフレームIDと積算値SAを受信し、フレーム出力制御部20からリードに関するフレームIDと積分値SARを受信して、最新の情報を最終リード位置および最終ライト位置として管理しており、蓄積量演算部19にこれらのデータを送信する。
蓄積量演算部19は、ポインタ管理部17から、フレームバッファ10の最終リード位置の積算値SAR(Sr)とフレームID(Fr)、フレームバッファ10の最終ライト位置の積算値SA(Sw)とフレームID(Fe)を受信し、フレームバッファ10に蓄積すべき現時点のデータ量TSAをSw−Srにしたがって求める。このとき、積算値SA、フレームIDの情報がそれぞれリングバッファのアドレスである場合には、積算値SA、フレームIDともに最大値と最小値を設定し、Sw<Srの場合には、リングバッファのアドレスであることを考慮して蓄積量を計算する。蓄積量演算部19は、算出した現蓄積量TSAと最終リード位置のフレームIDと積算値SAを比較判定部18に通知する。
次に、ある閾値L以下でのフレーム単位の最大出力可能量を求める手順を図3に示すフローチャートに基づいて説明する。
比較判定部18は、ある閾値L(閾値Lは積算値SAと同じくbyte単位とする)が与えられるとき、その閾値L以下となる、フレームバッファ10の最大出力可能量をフレーム単位で求める。本実施の形態では、閾値Lは、出力先から送信されるものとするが、運用者により設定される等の構成としても良い。まず比較判定部18は、蓄積量演算部19から現蓄積量TSAと最終リード位置のフレームIDと積算値SAを受信し、現蓄積量TSAと閾値Lを比較する(ステップS100)。現蓄積量TSA<閾値Lであった場合は、蓄積量演算部19において、現蓄積量TSAが最大出力可能量となり、現蓄積量TSAに含まれるフレームIDの個数(現蓄積フレーム数)が最大出力可能フレーム数として算出される(ステップS110)。現蓄積量TSA≧閾値Lであった場合は、閾値L以下で出力可能量が最大となる区切れ目のフレーム位置を検索するために、以下の処理を行う。
この場合、まず、出力可能量の算出の基点として最終リード位置Srを用いる。蓄積量計算部19から受信した最終リード位置の積算値SAR(Sr)に閾値Lを加算した値を積算値ベース閾値SLとして算出する(ステップS120)。次に、積算値ベース閾値SLをnで割った商SNLと、Srをnで割った商SNrを算出する(ステップS130)。nは、フレームバッファ10の容量等を考慮してあらかじめ設定しておく。
ここでnの値として、2のべき乗を用いると、割り算を実施せずに、上位ビットのみを参照すればよいので、演算に要する時間を削減できる。
次にSNLとSNrを比較し(ステップS140)、SNL=SNrであった場合は、最終リード位置Srを検索開始位置とし(ステップS150)、ステップS180に進む。この場合、比較判定部18は、最終リード位置Srから、第1のメモリ14に格納されている積算値SAを読み出し(ステップS180)、読み出した積算値SAを積算値ベース閾値SLと比較し(ステップS190)、SL≦Skとなる位置kを見つけ出すまで比較を繰り返す(ステップS200)。SL=Skであった場合は、この位置が閾値内での最終フレーム位置とし、SL<Skであった場合は、Skの位置は積算値ベース閾値SLを超えたフレームであり、一つ前の位置k−1までが閾値L内の最終フレームとなる(ステップS210)。
SNL≠SNrであった場合は、第2のメモリ15からSNLの値のアドレスのデータをリードして、積算値ベース閾値SLを越える最小の積算値を有するフレームIDを得る(ステップS160)。この場合得られたフレームIDをFaとすると、フレームID(Fa)から1を引いた(Fa−1)のフレームまでは、その積算値SAが積算値ベース閾値SLより小さいと判断できる。よって、Fa−1のフレームIDを検索開始位置とする(ステップS170)。求める蓄積量計算の終点である最終フレームは、Fl−1以上のフレームIDとなる。
次に比較判定部18は、フレームID(Fl−1)以上のフレームIDについて、第1のメモリ14に格納されている積算値SAを順次読み出し(ステップS180)、積算値SAを積算値ベース閾値SLと比較し(ステップS190)、SL≦Skとなる位置kを見つけ出すまで比較を繰り返す(ステップS200)。SL=Skであった場合は、この位置が閾値内での最終フレーム位置とし、SL<Skであった場合は、Skの位置は積算値ベース閾値SLを超えたフレームであり、一つ前の位置k−1までが閾値L内の最終フレームとなる(ステップS210)。
このように、SL=Skであった場合は、算出された位置kの積算値SA(Sk)とフレームID(Fk)が閾値(L)に対して最大出力できる終点のフレームの情報であり、SL<Skであった場合は、位置k−1の積算値SA(Sk−1)とフレームID(Fk−1)が閾値(L)に対して最大出力できる終点のフレームの情報である。
比較判定部18は、このようにして得られた位置kまたは位置k−1の積算値SA(SkまたはSk−1)とフレームID(FkまたはFk−1)を、ポインタ管理部17に通知する。ポインタ管理部17は、これらの情報と最終リード位置の積算値SA(Sr)とフレームID(Fr)を蓄積量演算部19に通知し、蓄積量演算部19は、位置kまたは位置k−1と最終リード位置Srの積算値SAとフレームID(Fr)との差分を取り、Sk―Srまたは(Sk−1)−Srを最大出力可能量、Fk−Frまたは(Fk−1)−Frを最大出力可能フレーム数として算出する(ステップS220)。
これらの算出結果である最大出力可能量および最大出力可能フレーム数は、本実施の形態では、蓄積量演算部19から出力先に送信されるが、運用者への通知に通知する等でもよく、出力方法に限定は無い。
なお、本例では、蓄積量を求める基点を最終リード位置Srとして説明を行ったが、最終リード位置以外を基点とする蓄積量を求めることも、同様に可能で、その場合は、最終リード位置の代わりに比較判定部に対して基点とするフレームIDを指定することにより実現できる。
本実施の形態のポイントは、検索の手順において、検索開始位置の該当箇所を第2のメモリ14を用いて簡単に限定でき、さらにnバイトの領域で区切ることで検索範囲を大幅に限定できることである。
nバイトの領域に入るフレーム数はnの値に依存して変化するが、n=1024バイト(1kバイト)の場合、最小フレーム長を64バイトとすると、nバイト中にフレームが最大16個入ることになり、検索開始位置を含め、比較するフレーム数は必ず17個以内となる。この最大17個のフレーム情報に対して、本例では順次比較としたが、2分岐探索などで比較してもよい。
なお、第1のメモリ14の記憶領域を複数に分割し、領域ごとに並列にリードするようにしてもよい。これによって、比較時間をさらに短縮させることができる。
最終リード位置は、フレーム出力制御部で出力があるたびに、次の積算値SAをメモリ1からリードして更新してもよいし、閾値で示した箇所まで必ず出力するのであれば、この検索完了後に出力された検索位置kを次の最終リード位置としてもよい。
例えば、GE−PONシステムにおいて、グラント割当を行う場合には、積算値SAにIFGを加え、閾値Lとしてグラント長を用いることで、実際に割り当てる出力フレーム数や量を計算できる。
或いは、グラント分を差し引いた後のある閾値以下での蓄積量を知りたい場合は、グラント長の割当量を求めた後に、最終リード位置を更新し、再度設定した閾値以下での蓄積量演算処理を行うことで、求める蓄積量を計算することができる。
以上のように、実施の形態1によれば、nバイト単位のフレームIDを記憶する第2のメモリ15を用いて、分割単位で検索領域を絞った後に、フレームごとのデータの積算値SAを記憶する第1のメモリ14を用いて検索を行うようにしたので、検索用として容量の大きなメモリを使用せずに、閾値以下で最大の蓄積量となるフレーム位置の検索が効率的に実施できる。
実施の形態2.
以上の実施の形態1では、フレームバッファ装置に対して1キューしかない場合(バッファすべきフレームデータに区別が無い場合)であったが、実施の形態2では、データの種類が複数ある場合等、複数キューがある場合に対応する形態を示す。
図4は、実施の形態2が適用される可変長フレームバッファ装置の構成である。実施の形態2では、キューが複数あることに対応して、情報を管理しているフレーム情報格納部16、ポインタ管理部17および蓄積量演算部19をキュー毎に備えている点が実施の形態1と異なる。実施の形態1と重複する構成については、実施の形態1と同一の符号を付し、説明を省略する。
第1のメモリ14および第2のメモリ15は、キューごとに領域を分割して利用する。分割せずに、キュー毎に個別にメモリを持って管理してもよい。図5に実施の形態2の第1のメモリ14と第2のメモリ15の構成を示す。図5に示すように、例えば、第1のメモリ14では、アドレスF0からFaまでをキュー#0に割り当て、アドレスFa+1からFbまでをキュー#1に割り当てている。
第2のメモリ15に関しても、同様にアドレスの領域をそれぞれのキュー毎に割り当てる。図5に示すように、例えば、キュー#0に対しては、0からxまでのアドレスを、キュー#1に対するアドレスは、(x+1)からyまでを割り当てる。キュー#0の場合には、実施の形態1と同様にして書き込むべきフレームIDとアドレスを求めるが、キュー#1以降では、積算値SAをnバイトで割った商から、書き込みアドレスを求めるとキュー#0のアドレスと書き込み位置が重複してしまう。このため、キュー#1以降では、実施の形態1で求めた書き込むべきアドレスの数値にそのキューに割り当てられているアドレスの最小値(キュー#1の場合には(x+1))を足したアドレスに書き込む。例えば、キュー#1の場合には、実施の形態1と同様に求めた書き込むべきアドレスがB1であるとき、(B1+(x+1))のアドレスに書き込むようにする。
なお、第1のメモリ、第2のメモリともに、アドレスは最大値と最小値の範囲で巡回するリングバッファとする。フレーム長情報バッファ13についても、同様にキュー毎に領域を分割して使用する。
以下、実施の形態2の動作について実施の形態1と異なる部分について説明する。フレーム受信制御部12では、キュー毎にフレームバッファ10の積算値SAの管理や、ライトアドレスの管理等を実施し、入力データを受信すると、キュー毎に設定された廃棄閾値を元に、個別に廃棄制御を行う。
フレームバッファアクセス制御部11では、フレームライト完了時に、キュー情報(どのキューのデータであるかの識別情報)も同時にフレーム情報格納部16に通知し、フレーム情報格納部16は、キュー毎に、対応した積算値SA、フレームIDを更新する。
次に、ある閾値L以下におけるフレーム単位の最大出力可能量を計算する手順について説明する。まず、メモリバッファ10の現蓄積量TSAを、キュー毎に実施の形態1と同様の手順で算出する。次に、比較判定部18では、優先度の高いキューから順に閾値Lと現蓄積量TSAの比較を実施する。閾値Lがその現蓄積量TSAより大きければ現蓄積量TSAを最大出力可能量とし、次の優先度のキューの比較を実施し、以下、同様の処理を行う。現蓄積量TSA≧閾値Lとなったキューに対しては、実施の形態1の図3で示した比較判定手順のステップS120〜S220を実施して、それぞれ最大出力可能量を算出する。以上のように全てのキューについて最大出力可能量の算出を実施する。
最大出力可能量や最大出力可能フレーム数を算出するためにライトの情報とリードの情報の引き算を行う際は、キュー毎にリングバッファのアドレスとなっていることを考慮して計算する。また、第2のメモリ15のアドレスについて、それぞれのキューへ割り当てられている積算量をnで割った数値の2倍のアドレスを割り当てておくことにより、巡回制御を簡略化できる。第1のメモリのフレームIDについても同様に、キューごとに割り当てられている積算量から最大の蓄積フレーム量を算出して、その2倍以上のアドレスをそれぞれのキューに割り当てておくことで、巡回制御を簡略化できる。なお、倍のアドレスを割り当てられない場合に、一周した場合に識別フラグをつけることによって、巡回制御を行ってもよい。
以上のように、キュー毎に最大出力可能量の算出を行う可変長フレームバッファ装置によって、複数キューが必要な場合についても、フレーム区切れ目検索による蓄積量計算を効率的に実現することが可能である。
以上のように、本発明にかかる可変長フレームバッファ装置は、可変長フレームの送受信に使用する通信システムに有用であり、特に、GE−PONシステムのように、出力先に出力可能データ量の送信が必要な通信システムに適している。
本発明の実施の形態1における可変長フレームバッファ装置の概略構成を示すブロック図である。 本発明の実施の形態1で使用するメモリの構成を示す図である。 本発明の実施の形態1における可変長フレームバッファ装置の、閾値以下で最大となるフレーム単位の蓄積量を算出するフローチャートである。 本発明の実施の形態2における可変長フレームバッファ装置の概略構成を示すブロック図である。 本発明の実施の形態2で使用するメモリの構成を示す図である。
符号の説明
10 フレームバッファ
11 フレームバッファアクセス制御部
12 フレーム受信制御部
13 フレーム長情報バッファ
14 第1のメモリ
15 第2のメモリ
16 フレーム情報格納部
17 ポインタ管理部
18 比較判定部
19 蓄積量演算部
20 フレーム出力制御部

Claims (4)

  1. 可変長フレームデータを入力順に記憶するフレームバッファと、
    フレームバッファへの書き込み順に1ずつ加算されるフレームIDをアドレスとし、当該フレームまでのフレームバッファへ書き込まれた積算量を記憶する第1の記憶手段と、
    所定の分割単位での区切りを越える最小の積算値を有するフレームIDを、1ずつ加算される数値をアドレスとして記憶する第2の記憶手段と、
    前記フレームIDと積算量を算出して、算出したフレームIDに対応する第1の記憶手段のアドレスに算出した積算量を書き込み、所定の分割単位での区切りを越える最小の積算値を有するフレームIDを、第2の記憶手段の1ずつ加算されるアドレスに書き込むフレーム情報格納手段と、
    フレームバッファから読み出されたフレームIDと積算量を算出するフレーム出力制御手段と、
    設定された閾値以内で最大出力が可能なフレーム単位の蓄積量を算出するため、第2の記憶手段から、蓄積量計算の基点となるフレームの積算値に前記閾値を加算した値を前記分割単位で表した数値のアドレスに記憶されているフレームIDを読み出し、読み出したフレームIDから1を引いたフレームID以上となるフレームIDの積算値を順次第1の記憶手段から読み出し、読み出した積算値が蓄積量計算の基点の積算値に閾値を加算した数値以下となる最大のフレームIDを求め、蓄積量計算の終点として算出する比較判定手段と、
    蓄積量計算の基点となるフレームの積算値と、比較判定手段で算出された蓄積量計算の終点の積算値とに基づき、前記閾値以内で最大出力が可能なフレーム単位の蓄積量を算出するとともに、蓄積量計算の基点および終点となるフレームIDに基づき蓄積フレーム数を算出する蓄積量演算手段と、
    を備えることを特徴とする可変長フレームバッファ装置。
  2. 前記積算量はフレーム間ギャップ分および誤り訂正分のデータも含めて算出することを特徴とする請求項1に記載の可変長フレームバッファ装置。
  3. 前記第1の記憶手段を複数の検索領域に分割し、第1の記憶手段からの読み出しを、複数の領域で同時に行うことを特徴とする請求項1または2に記載の可変長フレームバッファ装置。
  4. 前記フレーム情報格納手段および蓄積量演算手段を複数備え、第1のメモリおよび第2のメモリを複数の領域に分割することにより、複数種類のデータ毎に、閾値以下となるフレーム単位の蓄積量および蓄積フレーム数を、それぞれ個別に算出することを特徴とする請求項1〜3のいずれか1つに記載の可変長フレームバッファ装置。
JP2006152371A 2006-05-31 2006-05-31 可変長フレームバッファ装置 Expired - Fee Related JP4749237B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006152371A JP4749237B2 (ja) 2006-05-31 2006-05-31 可変長フレームバッファ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006152371A JP4749237B2 (ja) 2006-05-31 2006-05-31 可変長フレームバッファ装置

Publications (2)

Publication Number Publication Date
JP2007324886A JP2007324886A (ja) 2007-12-13
JP4749237B2 true JP4749237B2 (ja) 2011-08-17

Family

ID=38857298

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006152371A Expired - Fee Related JP4749237B2 (ja) 2006-05-31 2006-05-31 可変長フレームバッファ装置

Country Status (1)

Country Link
JP (1) JP4749237B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010166502A (ja) * 2009-01-19 2010-07-29 Mitsubishi Electric Corp 可変長フレームバッファ装置
JP5474706B2 (ja) * 2010-08-25 2014-04-16 日本電信電話株式会社 検索処理方法および検索処理装置
JP4932024B2 (ja) * 2010-10-04 2012-05-16 日本電信電話株式会社 マルチポイント制御処理回路および方法
JPWO2020105129A1 (ja) * 2018-11-20 2021-02-15 三菱電機株式会社 中継装置、通信システム、通信方法、および通信プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2986558B2 (ja) * 1991-01-29 1999-12-06 富士通株式会社 半導体装置のレイアウト装置

Also Published As

Publication number Publication date
JP2007324886A (ja) 2007-12-13

Similar Documents

Publication Publication Date Title
CN109144696B (zh) 一种任务调度方法、装置、电子设备及存储介质
CN109144697B (zh) 一种任务调度方法、装置、电子设备及存储介质
JP5609730B2 (ja) 情報処理プログラム及び方法、転送処理装置
JP4749237B2 (ja) 可変長フレームバッファ装置
US20090210397A1 (en) Data search device and gateway device in communication apparatus
JP7030673B2 (ja) 送信装置、通信装置、通信システム、送信方法、およびプログラム
CN114780215A (zh) 一种任务调度方法、装置、设备及存储介质
JP2008234059A (ja) データ転送装置および情報処理システム
CN107870925B (zh) 一种字符串过滤方法和相关装置
JP2007264692A (ja) メモリ管理方法、装置、およびプログラム
CN105637483B (zh) 线程迁移方法、装置和系统
JP2015069215A (ja) 情報処理装置,情報処理システム,制御プログラム及び制御方法
US20080285580A1 (en) Router apparatus
JP2006295270A (ja) データ送受信装置及びバッファキュー制御方法
US20140281091A1 (en) Method and apparatus for identifying cause of interrupt
JP2018095142A (ja) 車載制御装置
US8145786B2 (en) Efficient buffer utilization in a computer network-based messaging system
US10140192B2 (en) Apparatus and method to collect memory dump information of a faulty node in a parallel computer system
US8849048B2 (en) Apparatus for decoding image data based on availability of reference data and method thereof
US10165468B2 (en) Method for authorising transmission requests
JP4769316B2 (ja) パケットキューイング装置およびパケットキューイング方法
JP5633927B2 (ja) フレーム転送装置、フレーム転送方法、及び、フレーム転送プログラム
JP4086676B2 (ja) データ転送装置
CN111162794B (zh) 译码数据缓存方法和译码器
JP4411980B2 (ja) パケット送出の順序制御プログラム及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090416

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110427

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110517

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees