JP2005027029A - Variable length frame buffer device - Google Patents

Variable length frame buffer device Download PDF

Info

Publication number
JP2005027029A
JP2005027029A JP2003190297A JP2003190297A JP2005027029A JP 2005027029 A JP2005027029 A JP 2005027029A JP 2003190297 A JP2003190297 A JP 2003190297A JP 2003190297 A JP2003190297 A JP 2003190297A JP 2005027029 A JP2005027029 A JP 2005027029A
Authority
JP
Japan
Prior art keywords
buffer
frame
address
amount
read
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.)
Granted
Application number
JP2003190297A
Other languages
Japanese (ja)
Other versions
JP4252379B2 (en
Inventor
Ryusuke Kawate
竜介 川手
Takashi Kikuzawa
隆司 菊澤
Hiroyuki Tanaka
広之 田中
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 JP2003190297A priority Critical patent/JP4252379B2/en
Publication of JP2005027029A publication Critical patent/JP2005027029A/en
Application granted granted Critical
Publication of JP4252379B2 publication Critical patent/JP4252379B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Abstract

<P>PROBLEM TO BE SOLVED: To shorten the processing time to retrieve the buffer amount not higher than a certain threshold in a frame unit at the time of buffering variable length frame data to notify a transmittable burst data amount in a frame unit. <P>SOLUTION: A buffer 3 for a frame number for storing the frame number is provided in the same address space as that of a frame buffer 1 for storing variable length frame data, and a frame division retrieving and controlling part 7 gives the value obtained by adding a threshold 31 existing in a read next first address 26 of the frame buffer 1 as a read address 32 to the buffer 3 for a frame number to acquire a frame number 33, retrieves a first address 23 to be a frame division from a memory 2 for buffer information with the frame number 33 as a read address 34, and outputs the buffer amount between the retrieved first address 23 and the next first address 26 as the buffer amount notification to a buffer amount notification request 30. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
この発明は、可変長フレームデータのバッファリングを行い、送信可能なバーストデータ量をフレーム単位に通知する可変長フレームバッファ装置に関するものである。
【0002】
【従来の技術】
1対N接続の通信形態を採る例えばPON(Passive Optical Network)システムにおいては、1側である親局は、N側の子局に親局への送信時間を許可して通信を行う。そのとき、子局は、送信可能なバーストデータ量を親局に通知して高効率な通信を行えるようにしている。また、例えば、非特許文献1では、上限付きバッファ量の通知によって、低遅延かつ高効率に通信を行う方法が開示されている。
【0003】
ところで、例えば、イーサネット(登録商標)等においては、バーストデータは複数の可変長フレームによって構成されているので、フレームを意識しない場合は、空白となる時間が発生してしまう。したがって、可変長フレームの送信では、送信可能なバーストデータ量をフレーム単位に通知することができれば、空白となる時間を無くすことが可能となり、高効率な通信が行える。
【0004】
【非特許文献1】
「高効率・低遅延を実現するGE−PONグラント/リクエスト方式」(2002年、電子情報通信学会総合大会B−8−44、414頁)
【0005】
【発明が解決しようとする課題】
しかしながら、送信可能なバーストデータ量をフレーム単位に通知する場合には、ある閾値以下のバッファ量をフレーム単位に検索することになるが、この検索時間が大きくなることは、送信可能なバッファ量を通知し、その送信時間が決められている通信形態を採るシステムにおいては、遅延の増大やスループットの低下を招くことになる。したがって、短時間に検索できること、しかも検索時間は常に一定していることが必要であるが、それをどのようにして実現するかが問題である。
【0006】
この発明は、上記に鑑みてなされたもので、可変長フレームデータをバッファリングし、送信可能なバーストデータ量をフレーム単位に通知する際に、ある閾値以下のバッファ量をフレーム単位に検索する処理時間を短縮することのできる可変長フレームバッファ装置を得ることを目的とする。
【0007】
【課題を解決するための手段】
上記目的を達成するため、この発明にかかる可変長フレームバッファ装置は、可変長フレームデータを入力順に格納するフレームバッファと、入力フレーム毎に1つカウントアップするフレーム番号をアドレスとし前記フレームバッファに格納する際の先頭アドレスとフレーム長とを格納するバッファ情報用メモリと、前記フレームバッファと同じアドレス空間を持ち前記フレーム番号を格納するフレーム番号用バッファと、外部からのバッファ量通知要求を受けて、前記フレームバッファの読み出し次先頭アドレスにある閾値を足した値を読み出しアドレスとして前記フレーム番号用バッファに与えてフレーム番号を取得し、それを読み出しアドレスとして前記バッファ情報用メモリからフレームの区切れとなる先頭アドレスを検索し、その検索した先頭アドレスと前記次先頭アドレスとの間のバッファ量を前記バッファ量通知要求に対するバッファ量通知として出力するバッファ量検索手段とを備えることを特徴とする。
【0008】
この発明によれば、可変長フレームデータを格納するフレームバッファと同じアドレス空間にフレーム番号を格納するフレーム番号用バッファを設けたので、バッファ量検索手段は、前記フレームバッファの読み出し次先頭アドレスにある閾値を足した値を読み出しアドレスとして前記フレーム番号用バッファに与えてフレーム番号を取得し、それを読み出しアドレスとして前記バッファ情報用メモリからフレームの区切れとなる先頭アドレスを検索する、という1回の足し算と2回のメモリアクセスのみで、フレーム単位のバッファ量を検索することができる。
【0009】
そして、フレーム間にギャップが設けられる場合には、前記フレームバッファ、前記バッファ情報用メモリおよび前記フレーム番号用バッファへの書き込みをそれぞれ制御する書き込み制御手段は、前記フレームバッファに可変長フレームデータを格納する際にフレーム間ギャップ分のデータを含めて書き込みを制御し、同時に前記フレーム番号用バッファにおいて前記フレーム間ギャップ分の領域にフレーム番号を書き込む制御を行うようにすることができるので、フレーム間ギャップを必要とする通信形態にも対応することができる。
【0010】
また、フレーム間にギャップが設けられる場合には、偏差調整手段を前記書き込み制御手段の入力段に設け、入力する可変長フレームデータの動作クロックを装置間に存在するクロック偏差を考慮した早いクロックに変換し、その変換した早いクロックにて前記書き込み制御手段を動作させることで、装置間にクロック偏差が存在する場合には、そのクロック偏差を調整することができる。
【0011】
一方、前記バッファ量検索手段は、通信許可時間が与えられる場合に、前記フレームバッファの読み出し次先頭アドレスに前記通信許可時間を足した値を読み出しアドレスとして前記フレーム番号用バッファに与えてフレーム番号を取得し、それを読み出しアドレスとして前記バッファ情報用メモリから前記通信許可時間における送信可能なフレーム単位のバッファ量を検索し、その検索した送信可能なフレーム単位のバッファ量を引いた残りのバッファ量について上記したフレーム単位の検索を複数回行うことができるので、実際のバッファ量により近い値のバッファ量を通知することができる。したがって、通信許可時間を与える側では、ほぼ正確なバッファ量を知ることができるので、何らかの帯域制御が行えるようになる。
【0012】
加えて、上記した可変長フレームバッファ装置の複数個のそれぞれが備える前記バッファ量検索手段を相互に関連付けて制御することで前記複数の可変長フレームバッファ装置を跨ったフレーム単位のバッファ量検索を実現することができる。
【0013】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる可変長フレームバッファ装置の好適な実施の形態を詳細に説明する。
【0014】
実施の形態1.
図1は、この発明の実施の形態1である可変長フレームバッファ装置の構成を示すブロック図である。図1に示す可変長フレームバッファ装置は、フレームデータを保持するフレームバッファ1と、フレーム番号を書き込み・読み出しのアドレスとしてフレームバッファ1に保持されたフレームデータの「先頭アドレスとフレーム長」を保持するバッファ情報用メモリ(2portメモリ)2と、フレームバッファ1と同じアドレス空間を持ち入力フレーム毎に1つカウントアップするフレーム番号を格納するフレーム番号用バッファ(2portメモリ)3と、書き込み制御部4と、読み出し制御部5と、実バッファ量管理部6と、フレーム区切れ検索制御部7と、セレクタ8とを備えている。
【0015】
フレームバッファ1、バッファ情報用メモリ2、およびフレーム番号用バッファ3は、それぞれ、2portメモリであって、同じアドレス値で書き込みと読み出しが行えるようになっている。
【0016】
書き込み制御部4は、フレームバッファ1、バッファ情報用メモリ2、およびフレーム番号用バッファ3への書き込みを制御する。書き込み制御部4には、外部から入力フレームデータ14の他に、入力フレームデータ14が有効中であることを示す入力フレームデータバリッド信号15も入力される。
【0017】
読み出し制御部5は、外部からの出力許可信号21に応答してセレクタ8を介してフレーム番号(アドレス)22をバッファ情報用メモリ2に与え、バッファ情報用メモリ2から「先頭アドレス+フレーム長」23とを読み出す。そして、それを読み出しアドレス11としてフレームバッファ1に与え保持されているフレームデータを読み出し、外部に出力パケットデータ(フレームデータ)24と出力パケットデータ24が有効中であることを示す出力フレームイネーブル信号25とを出力する制御を行う。このとき、読み出し制御部5は、フレーム区切れ検索制御部7に対して、次先頭アドレス26を出力するようにしている。
【0018】
実バッファ量管理部6は、フレームバッファ1に対する書き込みアドレス10と読み出しアドレス11とから実バッファ量を管理し、書き込み制御部4に対しては、書き込み禁止信号12を出力し、読み出し制御部5に対しては、フレームデータの有無情報13を出力するようになっている。
【0019】
フレーム区切れ検索制御部7は、外部からのバッファ量通知要求30を受けて、読み出し制御部5からの次先頭アドレス26と予め設定されるバッファ量通知量閾値31とを足した値からなる読み出しアドレス32をフレーム番号用バッファ3に与え、読み出したフレーム番号33をさらにフレーム番号(アドレス)34としてセレクタ8を介してバッファ情報用メモリ2に与え、バッファ情報用メモリ2から“「先頭アドレス」と「フレーム長」”35を読み出し、ある閾値を越えないフレーム単位の区切れを検索し、バッファ量通知要求30に対する応答として外部にバッファ量通知36を出力する。
【0020】
このとき、フレーム区切れ検索制御部7は、セレクタ8に選択信号20を与えてセレクタ8の選択制御も行っている。すなわち、フレーム区切れ検索制御部7は、セレクタ8に与える選択信号20を、外部からのバッファ量通知要求8を受けたときの短期間だけセレクタ8が自フレーム区切れ検索制御部7を選択し、その他の通常期間では読み出し制御部5を選択するように発生する。
【0021】
次に、動作について説明する。まず、図1を参照してフレームメモリ1へのバッファリング動作について説明する。書き込み制御部4は、入力フレームデータ14が入力フレームデータバリッド信号15と共に入力されると、まず、フレームバッファ1に対して書き込みアドレス10を出力し、実バッファ量管理部6からの書き込み禁止信号12の内容を判断する。実バッファ量管理部6は、フレームバッファ1への書き込みアドレス10から書き込み可能な領域の有無を判断する。書き込み制御部4は、実バッファ量管理部6からの書き込み禁止信号12の内容が書き込み可能を示す場合に、入力されたフレームデータ14をフレームバッファ1に書き込む。
【0022】
また、書き込み制御部4は、フレーム番号16を書き込みアドレスとし、フレームバッファ1に書き込みが完了したフレームデータ14の“「先頭アドレス」と「フレーム長」”17をバッファ情報用メモリ2に書き込む。なお、フレーム番号16は、0から始まるカウンタ値であり、バッファ情報用メモリ2に書き込みが完了した後に「+1」される。また、フレーム長17は、入力フレームデータバリッド信号15の長さをカウントした値である。
【0023】
このとき、書き込み制御部4は、バッファ情報用メモリ2に書き込みが完了すると、並行して、フレーム区切れ検索制御部7に対し、「先頭アドレス+フレーム長」の値を末尾アドレス19として通知するようにしている。なお、末尾アドレス19は、次の書き込みアドレス10を保持した値でもよい。
【0024】
さらに、書き込み制御部4は、入力するフレームデータ14をフレームバッファ1に書き込む際、同じ書き込みアドレス10を用いて、フレーム番号用バッファ3に上記のフレーム番号16をデータ18として書き込む。
【0025】
一方、読み出し制御部5は、出力許可信号21をトリガとし、フレームデータを出力する毎に「+1」されるフレーム番号22を読み出しアドレスとしてセレクタ8を介してバッファ情報用メモリ2に与え、バッファ情報用メモリ2からフレームバッファ1の先頭フレームの情報(「先頭アドレス」と「フレーム長」)23を読み出す。そして、その情報(先頭アドレス+フレーム長)23を読み出しアドレス11としてフレームバッファ1に与え、実バッファ量管理部6からのフレーム有無情報13の内容を判断する。実バッファ量管理部6は、フレームバッファ1への読み出しアドレス11からフレームデータの存在有無を判断する。
【0026】
読み出し制御部5は、実バッファ量管理部6からのフレーム有無情報13の内容が「有」であるとき、フレームバッファ1からフレーデータ24を読み出し、出力フレームイネーブル信号25と共に外部に出力する。なお、読み出し制御部5は、実バッファ量管理部7からのフレーム有無情報13がフレームバッファ1が「空」を示す場合は上記の動作は行わない。
【0027】
このとき、読み出し制御部5は、出力時に得た“「先頭アドレス」と「フレーム長」”23から次先頭アドレス26(「先頭アドレス」+「フレーム長」)を演算し、フレーム区切れ検索制御部7に通知するようにしている。この次先頭アドレスは、次の読み出しアドレス11を保持した値でもよい。
【0028】
次に、フレーム単位のバッファ量通知動作について説明する。ここでは、フレーム番号用バッファ3の存在意義を明らかにするため、フレーム番号用バッファ3が在る場合(図2)の他に、フレーム番号用バッファ3が無い場合(図3)についても説明する。図1においてフレーム番号用バッファ3が無い場合には、読み出し制御部5は、フレーム区切れ検索制御部7に破線で示す先頭フレーム番号27を与えることになる。なお、バッファ量通知要求30と出力許可信号21とは、同時に入力されないことを前提としている。
【0029】
図2では、入力するフレームデータ14の書き込み、出力パケットデータ(フレームデータ)24の読み出しを複数回繰り返したときのフレームバッファ1、バッファ情報用メモリ2、フレーム番号用バッファ3の状態の一例が示されている。また、同様に図3では、入力するフレームデータ14の書き込み、出力パケットデータ(フレームデータ)24の読み出しを複数回繰り返したときのフレームバッファ1、バッファ情報用メモリ2の状態の一例が示されている。
【0030】
図1を参照しつつ図2に沿って、フレーム番号用バッファ3が在る場合におけるフレーム単位のバッファ量通知動作について説明する。フレーム区切れ検索制御部7では、予めバッファ量通知量閾値31が設定されている。フレーム区切れ検索制御部7は、バッファ量通知要求30が入力されると、読み出し制御部5が指示する「次先頭アドレス26」に「バッファ量通知量閾値31」を足した値をフレーム番号用バッファ3に与える読み出しアドレス32とし、フレーム番号用バッファ3からフレーム番号33を読み出す。その後、選択信号20を用いてセレクタ8に自フレーム区切れ検索制御部7を選択させ、読み出したフレーム番号33をフレーム番号34としてセレクタ8を介してバッファ情報用メモリ2に与える読み出しアドレスとし、バッファ情報用メモリ2から「先頭アドレスAD3+フレーム長LEN3」35を読み出す。
【0031】
これによって、通知バッファ量38は、「先頭アドレスAD3−次先頭アドレス26」として確定し、フレーム単位のバッファ量通知36として出力されることになる。なお、(末尾アドレス19)−(次先頭アドレス26)<(バッファ量通知量閾値31)の場合は、検索せずに、(末尾アドレス19)−(次先頭アドレス26)の値をフレーム単位のバッファ量通知36の通知バッファ量とする。このように、フレーム番号用バッファ3を備える場合には、1回の足し算と2回のメモリアクセスのみでフレーム単位のバッファ量を検索することが可能となる。
【0032】
次に、図1を参照して図3に沿って、フレーム番号用バッファ3を備えない場合におけるフレーム単位のバッファ量通知動作について説明する。フレーム区切れ検索制御部7は、バッファ量通知要求30が入力されると、選択信号20を用いてセレクタ8に自フレーム区切れ検索制御部7を選択させる。そして、読み出し制御部5からの先頭フレーム番号27をセレクタ8を介してバッファ情報用メモリ2に与える読み出しアドレス(フレーム番号34)としバッファ情報用メモリ2から“「先頭アドレスAD0」と「フレーム長LEN0」”35を読み出し、読み出したフレーム長LEN0とバッファ量通知量閾値31との大小関係を比較する。
【0033】
その結果、フレーム長LEN0が小さい場合は、フレーム番号を+1した読み出しアドレス(フレーム番号34)を与えて再びバッファ情報用メモリ2から“「先頭アドレスAD1」と「フレーム長LEN1」”35を読み出し、前回読み出したフレーム長LEN0に今回読み出したフレーム長LEN1を足した値とバッファ量通知量閾値31との大小関係を比較する。
【0034】
そして、「LEN0+LEN1」の方が小さい場合は、再びフレーム番号を+1した読み出しアドレス(フレーム番号34)を与えて再びバッファ情報用メモリ2から“「先頭アドレスAD2」と「フレーム長LEN2」”35を読み出す。今度も「LEN0+LEN1+LEN2」<(バッファ量通知量閾値31)であるので、再び“「先頭アドレスAD3」と「フレーム長LEN3」”35を読み出す。
【0035】
今の例では、「LEN0+LEN1+LEN2+LEN3」>(バッファ量通知量閾値64)となった時点で通知バッファ量38は、(先頭アドレスAD3)−(次先頭アドレス)として確定し、フレーム単位のバッファ量として通知されることになる。なお、(末尾アドレス19)−(次先頭アドレス26)<(バッファ量通知量閾値31)の場合は、図2にて説明したように検索せず、(末尾アドレス19)−(次先頭アドレス26)の値をバッファ量として通知する。
【0036】
図3に示す例では、フレーム単位のバッファ量通知のために、バッファ情報用メモリ2に対して4回のアクセスが行われている。しかし、実際には、バッファ量通知量閾値31の大きさやフレームバッファ1内のフレーム数の状況によって数百〜数万回以上バッファ情報用メモリ2にアクセスする時間が必要となる可能性がある。さらに、バッファ情報用メモリ2から“「先頭アドレス」と「フレーム長」”23を読み出すたびにフレーム長を足して比較する処理時間も必要となる。
【0037】
したがって、フレーム番号用バッファ3が無い場合には、ある閾値以下のバッファ量をフレーム単位に検索して通知するには、処理時間が膨大にかかるので、送信可能なバッファ量を通知し、その送信時間が与えられて通信する形態を採るシステムにおいては、この検索時間が大きくなることは、遅延の増大やスループットの低下を招くことになる。これに対し、フレーム番号用バッファ3が在る場合には、上記のように、1回の足し算と2回のメモリアクセスでフレーム単位のバッファ量を検索することが可能となり、遅延は極めて小さくなる。
【0038】
また、フレーム番号用バッファ3が無い場合には、フレームバッファ1内に格納されているフレーム数の状況によってはメモリへのアクセス回数が一定とならいことが起こる。これに対し、フレーム番号用バッファ3が在る場合には、固定時間にてフレーム単位のバッファ量を検索することが可能となる。
【0039】
したがって、フレーム番号用バッファ3を設けることによって、送信可能なバッファ量を通知し、その送信時間が与えられて通信する形態を採るシステムにおいては、送信可能なバッファ量の通知を許可された実時間内に送信できるようになる。
【0040】
実施の形態2.
図4は、この発明の実施の形態2である可変長フレームバッファ装置の構成を示すブロック図である。前述した実施の形態1では、フレームバッファ1およびフレーム番号用バッファ3に対してフレームの実バイト数を格納する場合について説明した。ところが、例えばイーサネット(登録商標)のように、送受信するフレームの間にギャップ(IPG:Inter Packet Gap)を設ける通信形態を採用するシステムが存在する。
【0041】
すなわち、この実施の形態2では、IPGの時間も考慮に入れて送信可能なバッファ量の通知を許可された実時間内に送信できる可変長フレームバッファ装置の構成例が示されている。
【0042】
IPGは、例えばイーサネット(登録商標)では12バイト程度であるが、このIPGも同時に書き込み、読み出すことが必要となるので、図4に示す可変長フレームバッファ装置では、図1に示した構成において、書き込み制御部4に代えて書き込み制御部40が設けられ、読み出し制御部5に代えて読み出し制御部41が設けられている。なお、末尾アドレス19に代えて末尾アドレス42となっている。その他は、図1に示した構成と同一ないしは同等であるので、同じ符号が付されている。
【0043】
次に、動作について説明する。まず、図4を参照してフレームメモリ1へのバッファリング動作について説明する。図4において、書き込み制御部40は、まず動作開始時(例えば電源投入後やリセット後)にフレーム番号16であるデータ18を“0”として、フレーム番号用バッファ3のみに、書き込みアドレス10の“0”番地から順にIPG分(例えば12バイト)のデータ(フレーム番号“0”)18を書き込み、待機状態となる。このとき、書き込み制御部40は、IPGの先頭アドレスをフレームの先頭アドレスとして保持しておく。
【0044】
その後、入力フレームデータ14が入力フレームデータバリッド信号15と共に入力されると、書き込み制御部40は、書き込みアドレス10を発行して実バッファ量管理部6からの書き込み禁止信号12にてフレームバッファ1が書き込み可能か否かを判断し、書き込み可能な場合はフレームバッファ1に入力フレームデータ114をIPG領域の後に続けて書き込む。同時にフレーム番号用バッファ3にはフレーム番号“0”であるデータ18を同じアドレス空間に書き込む。
【0045】
このようにフレーム番号用バッファ3とフレームバッファ1に1フレーム分のデータを格納後、「保持していた先頭アドレスと入力フレームデータバリッド信号15の長さをカウントしたフレーム長と」17をフレーム番号(このときは“0”)16をアドレスとしてバッファ情報用メモリ2に書き込む。バッファ情報用メモリ2に書き込みが完了した後、フレーム番号16は+1される。また、並行して、フレーム区切れ検索制御部7に対し、「先頭アドレス+IPG+フレーム長」の値を末尾アドレス42として通知しておく。なお、末尾アドレスは次の書き込みアドレス10を保持した値でもよい。
【0046】
さらに、書き込み制御部40は、次のフレームが到着するまでに、+1されて“1”となっているフレーム番号(データ18)を前記フレーム番号のアドレスに続けてIPG分フレーム番号用バッファ3のみに書き込み、待機状態となる。書き込み制御部40は、以上の動作を繰り返すことになる。
【0047】
一方、読み出し制御部41は、出力許可信号4をトリガとし、フレームを出力する毎に+1されるフレーム番号22を読み出しアドレスとしてセレクタ8を介してバッファ情報用メモリ2に与え、バッファ情報用メモリ2からフレームバッファ1の先頭フレームの情報(「先頭アドレス」と「フレーム長」)23を読み出す。そして、その情報(「先頭アドレス」のみ)を読み出しアドレス11としてフレームバッファ1に与え、実バッファ量管理部6からのフレーム有無情報13の内容を判断する。実バッファ量管理部6は、フレームバッファ1への読み出しアドレス11からフレームデータの存在有無を判断する。
【0048】
読み出し制御部41は、実バッファ量管理部6からのフレーム有無情報13の内容が「有」であるとき、フレームバッファ1からフレーデータ24を読み出し、出力パケットデータ(フレームデータ)24と出力フレームイネーブル信号25とを外部に出力する。このとき、先頭アドレスは、IPGの先頭となっているので、IPG分のアドレスを足したアドレスからフレーム長分のフレームデータ24を読み出すことになる。なお、読み出し制御部41は、実バッファ量管理部7からのフレーム有無情報13がフレームバッファ1が「空」を示す場合は上記の動作は行わない。
【0049】
このとき、読み出し制御部41は、出力時に得た「先頭アドレス+IPG+フレーム長」を用いて次先頭アドレス26を演算し、フレーム区切れ検索制御部7に通知するようにしている。なお、次先頭アドレスは次の読み出しアドレスを保持した値でもよい。
【0050】
次に、図4を参照しつつ図5に沿って、フレーム単位のバッファ量通知動作について説明する。なお、図5は、図4に示す可変長フレームバッファ装置で行われるフレーム単位のバッファ量検索動作を説明する図である。
【0051】
図5では、以上の動作が複数回繰り返されたときのフレームバッファ1、バッファ情報用メモリ2、フレーム番号用バッファ3の状態の一例が示されている。図5に示すように、フレームバッファ1には、IPG領域43とフレームデータ領域44とが交互する形でバッファリングされている。また、フレーム番号用バッファ3でもIPG領域43分のフレーム番号が追加して格納されている。
【0052】
実施の形態2によるフレーム単位のバッファ量通知動作は、IPG領域43が追加されたのみで、動作としては実施の形態1と同じである。つまり、1回の足し算と2回のメモリアクセスのみでフレーム単位のバッファ量を検索することが可能である。
【0053】
このように、実施の形態2によれば、IPGも同時に書き込み、読み出すことができ、IPGの時間も考慮に入れて送信可能なバッファ量の通知を許可された実時間内に送信できるので、IPGを必要としない通信形態に加えて、IPGを必要とする通信形態においても有効な動作が可能となる。
【0054】
実施の形態3.
図6は、この発明の実施の形態3である可変長フレームバッファ装置の構成を示すブロック図である。なお、図6では、図4に示した構成と同一ないしは同等である構成要素には、同一の符号が付されている。ここでは、この実施の形態3に関わる部分を中心に説明する。
【0055】
この実施の形態3では、実施の形態2にて説明したIPGを必要とする通信形態において、フレームデータの動作クロックに装置間において偏差がある場合に対応できる可変長フレームバッファ装置の構成例が示されている。すなわち、図6に示す可変長フレームバッファ装置では、図4に示した構成において、書き込み制御部40の入力段に、偏差調整部45が設けられている。
【0056】
この偏差調整部45は、例えば、IPGが所定の時間よりも少ない場合があるので、フレーム番号用バッファ3のIPG領域にフレーム番号を書き込む際の時間を確保するために、書き込み制御部40を入力フレームデータ14の動作クロックよりも偏差DV以上早いクロックにて動作させ、つまり入力フレームデータ14を少し速いクロックに乗せ変えてフレームバッファ1に書き込む調整を行うようになっている。
【0057】
そのため、偏差調整部45は、入力クロックと出力クロックが別々に設けられるFIFO(First in first out)バッファによって構成され、1フレーム以上書き込まれると、IPG間隔に従って1フレームずつ読み出す動作を行うようになっている。なお、FIFOバッファのサイズは、フレームの破棄が起きないように、1フレームの最大長以上のものを用いるとしている。
【0058】
実施の形態3による可変長フレームバッファ装置の動作は、書き込み制御部40が偏差調整部45の出力クロックと同じクロックにて動作させるということ以外は、実施の形態2と同じである。
【0059】
つまり、実施の形態3によれば、実施の形態2にて説明したIPGを必要とする通信形態において、入力するフレームデータの動作クロックに装置間において偏差がある場合にも支障無く、フレーム番号用バッファ3のIPG領域にフレーム番号を書く時間を確保することが可能となるので、実施の形態2と同様の作用効果が得られる。
【0060】
実施の形態4.
図7は、この発明の実施の形態4である可変長フレームバッファ装置の構成を示すブロック図である。なお、図7では、図4に示した構成と同一ないしは同等である構成要素には、同一の符号が付されている。ここでは、この実施の形態4に関わる部分を中心に説明する。
【0061】
この実施の形態4では、フレーム単位のバッファ量の検索を複数回行う必要が生ずる場合に対応した構成例が示されている。すなわち、図7に示す可変長フレームバッファ装置では、図4に示した構成において、フレーム区切れ検索制御部7に代えて、フレーム区切れ検索制御部70が設けられている。そして、フレーム区切れ検索制御部70には、通信許可時間73が入力され、またバッファ量通知量閾値71は、複数(例えばA、B)設定され、バッファ量通知72を例えばA、Bの2値で行う場合が示されている。
【0062】
フレーム区切れ検索制御部70では、ある通信許可時間73が与えられた場合には、次のようにしてフレーム単位のバッファ量検索を複数回行うようになっている。すなわち、フレーム区切れ検索制御部70は、ある通信許可時間73が与えられると、その通信許可時間73における送信可能なフレーム単位のバッファ量を検索し、その後、その送信可能であったフレーム単位のバッファ量を引いた残りのバッファ量についてある閾値におけるフレーム単位のバッファ量を通知する。このとき、そのフレーム単位のバッファ量の通知が2値以上となる場合もある。
【0063】
次に、図7を参照しつつ図8に沿って、フレーム単位のバッファ量検索を複数回行う場合の動作について説明する。なお、図8は、図7に示す可変長フレームバッファ装置で行われるフレーム単位のバッファ量検索動作を説明する図である。図8では、フレーム区切れ検索制御部70が3回の検索を行う場合が示されている。
【0064】
図8において、まず、1回目の検索では、ある通信許可時間73が与えられた場合に、読み出し制御部41からの次先頭アドレス26にその通信許可時間73を足した値を読み出しアドレス32としてフレーム番号用バッファ3に与え、フレーム番号用バッファ3からフレーム番号33を読み出す。これは図8に示す▲1▼であり、バッファ情報用メモリ2の読み出しアドレス“2”を指示している。そして、そのフレーム番号(図8に示す▲1▼)33によって、バッファ情報用メモリ2から先頭アドレスAD2を読み出し、それを次々先頭アドレスAD2として保持する(1回目検索結果84)。
【0065】
2回目の検索では、1回目の検索結果84である次々先頭アドレスAD2にバッファ量通知量閾値A81を足した値を読み出しアドレスとしてフレーム番号用バッファ3に与え、フレーム番号用バッファ3からフレーム番号33を読み出す。これは図8に示す▲2▼であり、バッファ情報用メモリ2の読み出しアドレス“4”を指示している。そして、そのフレーム番号(図8に示す▲2▼)33によって、バッファ情報用メモリ2から先頭アドレスAD4を読み出し、通知バッファ量A85を「(先頭アドレスAD4)−(次々先頭アドレスAD2)」として得る。
【0066】
3回目の検索では、1回目の検索結果84である次々先頭アドレスAD2にバッファ量通知量閾値B82を足した値を読み出しアドレスとしてフレーム番号用バッファ3に与え、フレーム番号用バッファ3からフレーム番号33を読み出す。これは図8に示す▲3▼であり、バッファ情報用メモリ2の読み出しアドレス“5”を指示している。そして、そのフレーム番号(図8に示す▲3▼)33によって、バッファ情報用メモリ2から先頭アドレスAD5を読み出し、通知バッファ量B86を(先頭アドレスAD5)−(次々先頭アドレスAD2)として得る。その結果、以上3回の検索にて得られた通知バッファ量A85と通知バッファ量B86をバッファ量通知72として出力することになる。
【0067】
このように、実施の形態4によれば、フレーム単位のバッファ量検索を複数回行うことができるので、通信許可時間が与えられたデータ量を差し引いたフレームを単位としたバッファ量を複数のバッファ量通知量閾値を用いて2値以上の値として通知することが可能となる。したがって、次の効果が得られる。
【0068】
すなわち、通信許可時間が与えられたときに、そのとき出力するデータ量を差し引いているので、通知するバッファ量を実際のバッファ量により近い値として通知することができる。また、複数のバッファ量通知量閾値によってバッファ量を通知しているので、例えば送信許可を与える側では、その通知量を参考に次回の送信許可時間を与えるときに自由に選択可能となるので、何らかの帯域制御を行うことが可能となる。なお、実施の形態4では、実施の形態2への適用例を示したが、実施の形態1,3にも同様に適用できることは言うまでもない。
【0069】
実施の形態5.
図9は、この発明の実施の形態5である可変長フレームバッファ装置の構成を示すブロック図である。この実施の形態5では、実施の形態1〜4の機能を有する可変長フレームバッファ装置の複数個を跨ってフレーム単位のバッファ量を検索する可変長フレームバッファ装置の構成例が示されている。
【0070】
図9に示す可変長フレームバッファ装置は、説明を簡単にするため、2つの可変長フレームバッファ装置101,102と検索制御部103とを構成されている。2つの可変長フレームバッファ装置101,102は、実施の形態1〜4にて説明した可変長フレームバッファ装置の構成とほぼ同一である。
【0071】
すなわち、2つの可変長フレームバッファ装置101,102は、それぞれ、入力フレームデータバリッド1,2と入力フレームデータ1,2とをバッファリングし、出力許可信号1,2に応答して出力フレームイネーブル1,2と出力フレームデータ1,2とを出力する。
【0072】
なお、2つの可変長フレームバッファ装置101,102は、一方の可変長フレームバッファ装置101が高優先バッファで、他方の可変長フレームバッファ装置102が低優先バッファであるとしている。高優先と低優先の意味は、高優先のバッファにデータがないときだけ低優先のバッファからデータ出力ができるという意味である。
【0073】
検索制御部103には、外部からバッファ量通知要求104,通知量閾値105が入力され、バッファ量通知閾値106を2つの可変長フレームバッファ装置101,102に与える。そして、2つの可変長フレームバッファ装置101,102は、それぞれ、検索制御部103に実バッファ量1,2を出力し、検索制御部103から検索命令1,2を受けて検索制御部103に検索結果1,2を出力するようになっている。
【0074】
ここで、実施の形態1等で説明した事項との対応関係を示す。実バッファ量1,2は、「(末尾アドレス)−(次先頭アドレス)」に対応し、検索命令1,2はバッファ量通知要求30に対応し、検索結果1,2はバッファ量通知36,72に対応している。そして、検索制御部103は、1回だけフレーム単位のバッファ量検索を行うとしている。
【0075】
次に、図9を参照しつつ図10に沿って、実施の形態5による可変長フレームバッファ装置の動作について説明する。なお、図10は、図9に示す可変長フレームバッファ装置で行われるフレーム単位のバッファ量検索動作を説明するフローチャートである。
【0076】
図10において、検索制御部103は、まず、バッファ量通知要求104が入力されるまで待機状態となる(ステップS101:No)。バッファ量通知要求104が入力されると(ステップS101:Yes)、例えば予め設定された通知量閾値105と「実バッファ量1+実バッファ量2」との大小関係を比較する(ステップS102)。通知量閾値105が「実バッファ量1+実バッファ量2」と等しいもしくは大きい場合は(ステップS102:Yes)、出力するバッファ量通知107を「実バッファ量1+実バッファ量2」とする(ステップS103)。
【0077】
一方、通知量閾値105が「実バッファ量1+実バッファ量2」よりも小さい場合は(ステップS102:No)、通知量閾値105と実バッファ量1,2の一方(ここでは実バッファ1)との大小関係を比較する(ステップS104)。その結果、通知量閾値105<実バッファ量1の場合は(ステップS104:Yes)、バッファ量通知量閾値106=通知量閾値105と設定し(ステップS105)、検索命令1を発行する(ステップS106)。そして、その結果得られた検索結果1をバッファ量通知107として出力する(ステップS107)。
【0078】
また、ステップS104での判断結果、通知量閾値105≧実バッファ量1の場合は(ステップS104:No)、バッファ量通知量閾値106=通知量閾値105−実バッファ量1と設定し(ステップS108)、検索命令2を発行する(ステップS109)。そして、その結果得られた検索結果2を用いて、出力するバッファ量通知107を「実バッファ量1+検索結果2」とする。
【0079】
このように、実施の形態5によれば、複数の可変長フレームバッファ装置を跨ってフレーム単位のバッファ量を検索することが可能となる。これによって、例えば、優先クラス別にフレームバッファ装置を持ち、その優先クラスの規定による出力順序に従って複数フレームバッファ装置を跨ってフレーム単位のバッファ量を検索することができる。
【0080】
【発明の効果】
以上説明したように、この発明によれば、可変長フレームデータを格納するフレームバッファと同じアドレス空間にフレーム番号を格納するフレーム番号用バッファを設けたので、バッファ量検索手段は、前記フレームバッファの読み出し次先頭アドレスにある閾値を足した値を読み出しアドレスとして前記フレーム番号用バッファに与えてフレーム番号を取得し、それを読み出しアドレスとして前記バッファ情報用メモリからフレームの区切れとなる先頭アドレスを検索する、という1回の足し算と2回のメモリアクセスのみで、フレーム単位のバッファ量を検索することができる。したがって、可変長フレームデータをバッファリングし、送信可能なバーストデータ量をフレーム単位に通知する際に、ある閾値以下のバッファ量をフレーム単位に検索する処理時間を短縮することができる。
【図面の簡単な説明】
【図1】この発明の実施の形態1である可変長フレームバッファ装置の構成を示すブロック図である。
【図2】図1に示す可変長フレームバッファ装置で行われるフレーム単位のバッファ量検索動作を説明する図である(フレーム番号用バッファが在る場合)。
【図3】図1に示す可変長フレームバッファ装置で行われるフレーム単位のバッファ量検索動作を説明する図である(フレーム番号用バッファが無い場合)。
【図4】この発明の実施の形態2である可変長フレームバッファ装置の構成を示すブロック図である。
【図5】図4に示す可変長フレームバッファ装置で行われるフレーム単位のバッファ量検索動作を説明する図である。
【図6】この発明の実施の形態3である可変長フレームバッファ装置の構成を示すブロック図である。
【図7】この発明の実施の形態4である可変長フレームバッファ装置の構成を示すブロック図である。
【図8】図7に示す可変長フレームバッファ装置で行われるフレーム単位のバッファ量検索動作を説明する図である。
【図9】この発明の実施の形態5である可変長フレームバッファ装置の構成を示すブロック図である。
【図10】図9に示す可変長フレームバッファ装置で行われるフレーム単位のバッファ量検索動作を説明するフローチャートである。
【符号の説明】
1 フレームバッファ(2portメモリ)、2 バッファ情報用メモリ(2portメモリ)、3 フレーム番号用バッファ(2portメモリ)、4,40 書き込み制御部、5,41 読み出し制御部、6 実バッファ量管理部、7,70 フレーム区切れ検索制御部、8 セレクタ、31 バッファ量通知量閾値、36 通知バッファ量、45 偏差調整部、101 可変長フレームバッファ装置(高優先)、102 可変長フレームバッファ装置(低優先)、103 検索制御部。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a variable-length frame buffer device that buffers variable-length frame data and notifies the amount of burst data that can be transmitted in units of frames.
[0002]
[Prior art]
In, for example, a PON (Passive Optical Network) system that employs a 1-to-N connection communication mode, a parent station that is one side performs communication by allowing a N-side child station to transmit to the parent station. At this time, the slave station notifies the master station of the amount of burst data that can be transmitted so that highly efficient communication can be performed. Further, for example, Non-Patent Document 1 discloses a method of performing communication with low delay and high efficiency by notification of an upper limit buffer amount.
[0003]
By the way, for example, in Ethernet (registered trademark) or the like, burst data is composed of a plurality of variable-length frames. Therefore, if the frame is not conscious, a blank time occurs. Therefore, in transmission of variable-length frames, if the amount of burst data that can be transmitted can be notified in units of frames, it is possible to eliminate the blank time and perform highly efficient communication.
[0004]
[Non-Patent Document 1]
"GE-PON Grant / Request Method Realizing High Efficiency and Low Delay" (2002, IEICE General Conference B-8-44, pages 414)
[0005]
[Problems to be solved by the invention]
However, when the amount of burst data that can be transmitted is notified in units of frames, a buffer amount that is equal to or less than a certain threshold is searched for in units of frames. In a system that employs a communication mode in which notification is made and the transmission time is determined, an increase in delay and a decrease in throughput are caused. Therefore, it is necessary that the search can be performed in a short time and the search time is always constant, but how to achieve this is a problem.
[0006]
The present invention has been made in view of the above. When buffering variable-length frame data and notifying the amount of burst data that can be transmitted in units of frames, a process for searching for the amount of buffers below a certain threshold in units of frames. It is an object of the present invention to obtain a variable-length frame buffer device capable of reducing time.
[0007]
[Means for Solving the Problems]
To achieve the above object, a variable-length frame buffer device according to the present invention stores a frame buffer that stores variable-length frame data in the order of input and a frame number that is incremented by one for each input frame as an address. In response to a buffer amount notification request from the outside, a buffer information memory for storing a head address and a frame length, a frame number buffer having the same address space as the frame buffer and storing the frame number, A frame number is obtained by giving a value obtained by adding a threshold value in the next read start address of the frame buffer to the frame number buffer as a read address, and a frame is separated from the buffer information memory using the read number as a read address. Search for the start address and The buffer amount between the retrieved head address and the next leading address, characterized in that it comprises a buffer volume retrieving means for outputting as a buffer amount notification to the buffer amount notification request.
[0008]
According to the present invention, since the frame number buffer for storing the frame number is provided in the same address space as the frame buffer for storing the variable-length frame data, the buffer amount search means is at the read next start address of the frame buffer. A value obtained by adding a threshold value to the frame number buffer as a read address is obtained to obtain a frame number, and the read address is used as a read address to search for a head address that is a frame delimiter from the buffer information memory. Only the addition and two memory accesses can retrieve the buffer amount in units of frames.
[0009]
When a gap is provided between the frames, write control means for controlling writing to the frame buffer, the buffer information memory, and the frame number buffer stores variable length frame data in the frame buffer. In this case, it is possible to control the writing including the data corresponding to the inter-frame gap and simultaneously control the writing of the frame number in the area corresponding to the inter-frame gap in the frame number buffer. It is also possible to cope with communication forms that require
[0010]
Also, when a gap is provided between frames, a deviation adjusting means is provided at the input stage of the write control means, and the operation clock of the variable length frame data to be input is set to an early clock considering the clock deviation existing between the devices. By converting and operating the write control means with the converted fast clock, if there is a clock deviation between the devices, the clock deviation can be adjusted.
[0011]
On the other hand, when the communication permission time is given, the buffer amount search means gives the frame number buffer as a read address a value obtained by adding the communication permission time to the next read start address of the frame buffer as a read address. About the remaining buffer amount obtained by retrieving the buffer amount in frame units that can be transmitted in the communication permission time from the buffer information memory using the obtained read address as a read address, and subtracting the retrieved buffer unit in frame units that can be transmitted Since the frame-by-frame search described above can be performed a plurality of times, it is possible to notify a buffer amount closer to the actual buffer amount. Therefore, since the side that gives the communication permission time can know the almost accurate buffer amount, some band control can be performed.
[0012]
In addition, a buffer amount search across the plurality of variable length frame buffer devices is realized by controlling the buffer amount search means provided in each of the plurality of variable length frame buffer devices in association with each other. can do.
[0013]
DETAILED DESCRIPTION OF THE INVENTION
Exemplary embodiments of a variable-length frame buffer device according to the present invention will be explained below in detail with reference to the accompanying drawings.
[0014]
Embodiment 1 FIG.
FIG. 1 is a block diagram showing a configuration of a variable-length frame buffer device according to Embodiment 1 of the present invention. The variable-length frame buffer apparatus shown in FIG. 1 holds a frame buffer 1 that holds frame data, and a “start address and frame length” of the frame data held in the frame buffer 1 using the frame number as a write / read address. A buffer information memory (2 port memory) 2, a frame number buffer (2 port memory) 3 having the same address space as the frame buffer 1 and storing a frame number to be counted up for each input frame, a write control unit 4, , A read control unit 5, an actual buffer amount management unit 6, a frame segmentation search control unit 7, and a selector 8.
[0015]
Each of the frame buffer 1, the buffer information memory 2, and the frame number buffer 3 is a 2-port memory, and can perform writing and reading with the same address value.
[0016]
The write control unit 4 controls writing to the frame buffer 1, the buffer information memory 2, and the frame number buffer 3. In addition to the input frame data 14, an input frame data valid signal 15 indicating that the input frame data 14 is valid is also input to the write control unit 4 from the outside.
[0017]
The read control unit 5 gives a frame number (address) 22 to the buffer information memory 2 via the selector 8 in response to the output permission signal 21 from the outside, and “start address + frame length” from the buffer information memory 2. 23 is read out. Then, the frame data given to and held in the frame buffer 1 as a read address 11 is read out, and an output frame enable signal 25 indicating that the output packet data (frame data) 24 and the output packet data 24 are valid outside. And control to output. At this time, the read control unit 5 outputs the next head address 26 to the frame segmentation search control unit 7.
[0018]
The actual buffer amount management unit 6 manages the actual buffer amount from the write address 10 and the read address 11 for the frame buffer 1, and outputs a write inhibit signal 12 to the write control unit 4. On the other hand, the frame data presence / absence information 13 is output.
[0019]
The frame delimiter search control unit 7 receives a buffer amount notification request 30 from the outside, and reads out a value including a value obtained by adding the next head address 26 from the read control unit 5 and a preset buffer amount notification amount threshold 31. The address 32 is given to the frame number buffer 3, and the read frame number 33 is further given as the frame number (address) 34 to the buffer information memory 2 via the selector 8. The “frame length” ”35 is read, a frame unit break that does not exceed a certain threshold is searched, and a buffer amount notification 36 is output to the outside as a response to the buffer amount notification request 30.
[0020]
At this time, the frame segmentation search control unit 7 also performs selection control of the selector 8 by giving a selection signal 20 to the selector 8. In other words, the frame delimiter search control unit 7 selects the search control unit 7 for the frame delimiter 8 only when the selection signal 20 given to the selector 8 is received for a short period when the buffer amount notification request 8 is received from the outside. In other normal periods, the read control unit 5 is selected.
[0021]
Next, the operation will be described. First, the buffering operation to the frame memory 1 will be described with reference to FIG. When the input frame data 14 is input together with the input frame data valid signal 15, the write control unit 4 first outputs the write address 10 to the frame buffer 1, and the write inhibit signal 12 from the actual buffer amount management unit 6. Determine the contents of The actual buffer amount management unit 6 determines whether or not there is a writable area from the write address 10 to the frame buffer 1. The write control unit 4 writes the input frame data 14 to the frame buffer 1 when the content of the write prohibition signal 12 from the actual buffer amount management unit 6 indicates that writing is possible.
[0022]
The write control unit 4 uses the frame number 16 as a write address, and writes the “head address” and “frame length” 17 of the frame data 14 that has been written to the frame buffer 1 to the buffer information memory 2. The frame number 16 is a counter value starting from 0, and is incremented by “+1” after the writing to the buffer information memory 2 is completed. The frame length 17 is a value obtained by counting the length of the input frame data valid signal 15.
[0023]
At this time, when writing to the buffer information memory 2 is completed, the write control unit 4 notifies the frame delimiter search control unit 7 of the value of “start address + frame length” as the end address 19 in parallel. I am doing so. The end address 19 may be a value holding the next write address 10.
[0024]
Further, when writing the input frame data 14 to the frame buffer 1, the write control unit 4 writes the frame number 16 as data 18 in the frame number buffer 3 using the same write address 10.
[0025]
On the other hand, the read control unit 5 uses the output permission signal 21 as a trigger, and gives the frame number 22 “+1” every time frame data is output to the buffer information memory 2 via the selector 8 as a read address. The information (“start address” and “frame length”) 23 of the start frame of the frame buffer 1 is read from the memory 2. Then, the information (start address + frame length) 23 is given to the frame buffer 1 as a read address 11, and the contents of the frame presence / absence information 13 from the actual buffer amount management unit 6 are determined. The actual buffer amount management unit 6 determines the presence / absence of frame data from the read address 11 to the frame buffer 1.
[0026]
When the content of the frame presence / absence information 13 from the actual buffer amount management unit 6 is “present”, the read control unit 5 reads the frame data 24 from the frame buffer 1 and outputs it to the outside together with the output frame enable signal 25. The read control unit 5 does not perform the above operation when the frame presence / absence information 13 from the actual buffer amount management unit 7 indicates that the frame buffer 1 is “empty”.
[0027]
At this time, the read control unit 5 calculates the next start address 26 (“start address” + “frame length”) from the ““ start address ”and“ frame length ”23 obtained at the time of output, and performs frame segment search control. Part 7 is notified. This next head address may be a value holding the next read address 11.
[0028]
Next, the buffer amount notification operation for each frame will be described. Here, in order to clarify the significance of the existence of the frame number buffer 3, a case where the frame number buffer 3 is not present (FIG. 3) will be described in addition to the case where the frame number buffer 3 is present (FIG. 2). . In the case where there is no frame number buffer 3 in FIG. 1, the read control unit 5 gives the frame delimiter search control unit 7 with the first frame number 27 indicated by a broken line. It is assumed that the buffer amount notification request 30 and the output permission signal 21 are not input simultaneously.
[0029]
FIG. 2 shows an example of the state of the frame buffer 1, the buffer information memory 2, and the frame number buffer 3 when the input frame data 14 is written and the output packet data (frame data) 24 is read a plurality of times. Has been. Similarly, FIG. 3 shows an example of the state of the frame buffer 1 and the buffer information memory 2 when the input frame data 14 is written and the output packet data (frame data) 24 is read a plurality of times. Yes.
[0030]
With reference to FIG. 1, the buffer amount notification operation for each frame when the frame number buffer 3 is present will be described with reference to FIG. In the frame delimiter search control unit 7, a buffer amount notification amount threshold 31 is set in advance. When the buffer amount notification request 30 is input, the frame delimiter search control unit 7 uses a value obtained by adding “buffer amount notification amount threshold 31” to “next head address 26” indicated by the read control unit 5 for the frame number. The frame number 33 is read from the frame number buffer 3 with the read address 32 given to the buffer 3. Thereafter, the selection signal 20 is used to cause the selector 8 to select the search control unit 7 by dividing the frame, and the read frame number 33 is set as the frame number 34 as the read address to be given to the buffer information memory 2 via the selector 8. “Start address AD3 + frame length LEN3” 35 is read from the information memory 2.
[0031]
As a result, the notification buffer amount 38 is determined as “start address AD3−next start address 26”, and is output as a buffer amount notification 36 for each frame. If (tail address 19) − (next head address 26) <(buffer amount notification amount threshold 31), the value of (tail address 19) − (next head address 26) is set in units of frames without searching. The notification buffer amount of the buffer amount notification 36 is used. As described above, when the frame number buffer 3 is provided, it is possible to retrieve the buffer amount in units of frames by only one addition and two memory accesses.
[0032]
Next, referring to FIG. 1, the buffer amount notification operation for each frame when the frame number buffer 3 is not provided will be described with reference to FIG. When the buffer amount notification request 30 is input, the frame delimiter search control unit 7 causes the selector 8 to select the frame delimiter search control unit 7 using the selection signal 20. Then, the start frame number 27 from the read control unit 5 is set as a read address (frame number 34) to be given to the buffer information memory 2 via the selector 8, and the “start address AD0” and “frame length LEN0” are read from the buffer information memory 2. "" 35 is read, and the size relationship between the read frame length LEN0 and the buffer amount notification amount threshold 31 is compared.
[0033]
As a result, when the frame length LEN0 is small, a read address (frame number 34) obtained by incrementing the frame number is given, and “head address AD1” and “frame length LEN1” ”35 are read from the buffer information memory 2 again. The magnitude relationship between the value obtained by adding the frame length LEN1 read this time to the previously read frame length LEN0 and the buffer amount notification amount threshold value 31 is compared.
[0034]
When “LEN0 + LEN1” is smaller, a read address (frame number 34) obtained by adding the frame number to +1 is given again, and “head address AD2” and “frame length LEN2” 35 are again set from the buffer information memory 2. Since “LEN0 + LEN1 + LEN2” <(buffer amount notification amount threshold 31) again, ““ start address AD3 ”and“ frame length LEN3 ”” 35 are read again.
[0035]
In this example, when “LEN0 + LEN1 + LEN2 + LEN3”> (buffer amount notification amount threshold 64), the notification buffer amount 38 is determined as (start address AD3) − (next start address) and notified as a buffer amount in units of frames. Will be. If (end address 19) − (next head address 26) <(buffer amount notification amount threshold 31), the search is not performed as described with reference to FIG. 2, but (end address 19) − (next head address 26). ) As a buffer amount.
[0036]
In the example shown in FIG. 3, the buffer information memory 2 is accessed four times in order to notify the buffer amount in units of frames. However, in actuality, there is a possibility that it takes time to access the buffer information memory 2 several hundred to several tens of thousands of times depending on the size of the buffer amount notification amount threshold 31 and the number of frames in the frame buffer 1. Further, a processing time is required in which the frame length is added and compared each time the “head address” and “frame length” 23 are read from the buffer information memory 2.
[0037]
Therefore, when there is no frame number buffer 3, it takes a huge amount of processing time to search and notify the buffer amount below a certain threshold in units of frames. In a system that employs a form in which communication is given for a long time, an increase in the search time causes an increase in delay and a decrease in throughput. On the other hand, when the frame number buffer 3 exists, as described above, it is possible to search the buffer amount in units of frames by one addition and two memory accesses, and the delay becomes extremely small. .
[0038]
If the frame number buffer 3 is not provided, the number of accesses to the memory may not be constant depending on the number of frames stored in the frame buffer 1. On the other hand, when the frame number buffer 3 is present, it is possible to retrieve the buffer amount in units of frames in a fixed time.
[0039]
Therefore, by providing the frame number buffer 3, in a system that communicates by giving the transmission buffer amount and is given the transmission time, the real time permitted to notify the transmittable buffer amount Can be sent within.
[0040]
Embodiment 2. FIG.
FIG. 4 is a block diagram showing a configuration of a variable length frame buffer device according to the second embodiment of the present invention. In the first embodiment described above, the case where the actual number of bytes of a frame is stored in the frame buffer 1 and the frame number buffer 3 has been described. However, there is a system that employs a communication mode in which a gap (IPG: Inter Packet Gap) is provided between frames to be transmitted and received, for example, Ethernet (registered trademark).
[0041]
That is, the second embodiment shows a configuration example of a variable-length frame buffer device that can transmit within the real time in which notification of the amount of buffer that can be transmitted is allowed, taking IPG time into consideration.
[0042]
The IPG is, for example, about 12 bytes in the Ethernet (registered trademark). However, since this IPG needs to be written and read simultaneously, the variable-length frame buffer device shown in FIG. 4 has the configuration shown in FIG. A write control unit 40 is provided instead of the write control unit 4, and a read control unit 41 is provided instead of the read control unit 5. Note that the end address 42 is used instead of the end address 19. Others are the same as or equivalent to the configuration shown in FIG.
[0043]
Next, the operation will be described. First, the buffering operation to the frame memory 1 will be described with reference to FIG. In FIG. 4, the write control unit 40 first sets the data 18 as the frame number 16 to “0” at the start of operation (for example, after power-on or reset), and sets the write address 10 “ Data (frame number “0”) 18 for IPG (for example, 12 bytes) is written in order from address 0 ”, and a standby state is entered. At this time, the write control unit 40 holds the start address of the IPG as the start address of the frame.
[0044]
Thereafter, when the input frame data 14 is input together with the input frame data valid signal 15, the write control unit 40 issues a write address 10 and the frame buffer 1 is received by the write prohibit signal 12 from the actual buffer amount management unit 6. It is determined whether writing is possible. If writing is possible, the input frame data 114 is written to the frame buffer 1 following the IPG area. At the same time, the data 18 having the frame number “0” is written in the same address space in the frame number buffer 3.
[0045]
After the data for one frame is stored in the frame number buffer 3 and the frame buffer 1 in this way, “the head address held and the frame length obtained by counting the length of the input frame data valid signal 15” 17 is set as the frame number. (In this case, “0”) 16 is written in the buffer information memory 2 as an address. After the writing to the buffer information memory 2 is completed, the frame number 16 is incremented by one. In parallel, the value of “start address + IPG + frame length” is notified as the end address 42 to the frame segmentation search control unit 7. The end address may be a value holding the next write address 10.
[0046]
Further, the write control unit 40 adds only the frame number (data 18) which is incremented by 1 to “1” until the next frame arrives, and continues to the frame number address, and only the frame number buffer 3 for IPG. Will be in a standby state. The write control unit 40 repeats the above operation.
[0047]
On the other hand, the read control unit 41 uses the output permission signal 4 as a trigger, and gives the frame number 22 incremented by 1 every time a frame is output to the buffer information memory 2 via the selector 8 as a read address, and the buffer information memory 2 Information (“start address” and “frame length”) 23 of the first frame of the frame buffer 1 is read out. Then, the information (only “first address”) is given to the frame buffer 1 as a read address 11, and the contents of the frame presence / absence information 13 from the actual buffer amount management unit 6 are determined. The actual buffer amount management unit 6 determines the presence / absence of frame data from the read address 11 to the frame buffer 1.
[0048]
The read control unit 41 reads the frame data 24 from the frame buffer 1 when the content of the frame presence / absence information 13 from the actual buffer amount management unit 6 is “present”, and outputs the output packet data (frame data) 24 and the output frame enable. The signal 25 is output to the outside. At this time, since the head address is the head of the IPG, the frame data 24 corresponding to the frame length is read from the address obtained by adding the IPG addresses. The read control unit 41 does not perform the above operation when the frame presence / absence information 13 from the actual buffer amount management unit 7 indicates that the frame buffer 1 is “empty”.
[0049]
At this time, the read control unit 41 calculates the next start address 26 using “start address + IPG + frame length” obtained at the time of output, and notifies the frame delimiter search control unit 7 of it. The next head address may be a value holding the next read address.
[0050]
Next, the buffer amount notification operation in units of frames will be described along FIG. 5 with reference to FIG. FIG. 5 is a diagram for explaining a buffer amount search operation for each frame performed in the variable-length frame buffer device shown in FIG.
[0051]
FIG. 5 shows an example of the state of the frame buffer 1, the buffer information memory 2, and the frame number buffer 3 when the above operation is repeated a plurality of times. As shown in FIG. 5, in the frame buffer 1, the IPG area 43 and the frame data area 44 are buffered alternately. Also, the frame number buffer 3 additionally stores the frame number for the IPG area 43.
[0052]
The buffer amount notification operation in units of frames according to the second embodiment is the same as that of the first embodiment except that the IPG area 43 is added. That is, it is possible to retrieve the buffer amount in units of frames by only one addition and two memory accesses.
[0053]
As described above, according to the second embodiment, the IPG can be simultaneously written and read, and the notification of the buffer amount that can be transmitted can be transmitted within the permitted real time in consideration of the IPG time. In addition to a communication mode that does not require IPG, an effective operation is possible even in a communication mode that requires IPG.
[0054]
Embodiment 3 FIG.
FIG. 6 is a block diagram showing the configuration of the variable-length frame buffer device according to the third embodiment of the present invention. In FIG. 6, the same reference numerals are given to components that are the same as or equivalent to the configuration illustrated in FIG. 4. Here, the description will be focused on the portion related to the third embodiment.
[0055]
In this third embodiment, there is shown a configuration example of a variable-length frame buffer device that can cope with a case where there is a deviation between operation clocks of frame data between devices in the communication mode that requires the IPG described in the second embodiment. Has been. That is, in the variable-length frame buffer device shown in FIG. 6, in the configuration shown in FIG. 4, a deviation adjusting unit 45 is provided at the input stage of the write control unit 40.
[0056]
For example, since the IPG may be less than a predetermined time, the deviation adjusting unit 45 inputs the write control unit 40 in order to secure time for writing the frame number in the IPG area of the frame number buffer 3. The operation is performed with a clock that is faster than the operation clock of the frame data 14 by a deviation DV or more, that is, the input frame data 14 is changed to a slightly faster clock and is written to the frame buffer 1 for adjustment.
[0057]
Therefore, the deviation adjusting unit 45 is configured by a FIFO (First in first out) buffer in which an input clock and an output clock are separately provided. When one or more frames are written, the deviation adjusting unit 45 performs an operation of reading one frame at a time according to the IPG interval. ing. The size of the FIFO buffer is not less than the maximum length of one frame so that the frame is not discarded.
[0058]
The operation of the variable-length frame buffer device according to the third embodiment is the same as that of the second embodiment except that the write control unit 40 operates with the same clock as the output clock of the deviation adjustment unit 45.
[0059]
That is, according to the third embodiment, in the communication mode that requires the IPG described in the second embodiment, there is no problem even when there is a deviation between the devices in the operation clock of the input frame data. Since it is possible to secure time for writing the frame number in the IPG area of the buffer 3, the same effects as those of the second embodiment can be obtained.
[0060]
Embodiment 4 FIG.
FIG. 7 is a block diagram showing a configuration of a variable-length frame buffer device according to the fourth embodiment of the present invention. In FIG. 7, the same reference numerals are given to components that are the same as or equivalent to the configuration illustrated in FIG. 4. Here, the description will be focused on the portion related to the fourth embodiment.
[0061]
In the fourth embodiment, a configuration example corresponding to the case where it is necessary to search for the buffer amount in units of frames a plurality of times is shown. That is, in the variable-length frame buffer device shown in FIG. 7, in the configuration shown in FIG. 4, a frame break search control unit 70 is provided instead of the frame break search control unit 7. The frame delimiter search control unit 70 is input with a communication permission time 73, and a plurality of buffer amount notification amount threshold values 71 (for example, A and B) are set. The case of performing by value is shown.
[0062]
In the frame delimiter search control unit 70, when a certain communication permission time 73 is given, the buffer amount search for each frame is performed a plurality of times as follows. That is, when a certain communication permission time 73 is given, the frame delimitation search control unit 70 searches for the buffer amount in units of frames that can be transmitted in the communication permission time 73, and then the frame units that could be transmitted. The remaining buffer amount after subtracting the buffer amount is notified of the buffer amount in frame units at a certain threshold. At this time, the notification of the buffer amount for each frame may be two or more.
[0063]
Next, referring to FIG. 7, the operation in the case where the buffer amount search for each frame is performed a plurality of times will be described along FIG. FIG. 8 is a diagram for explaining a buffer amount search operation for each frame performed in the variable length frame buffer device shown in FIG. FIG. 8 shows a case where the frame segmentation search control unit 70 performs three searches.
[0064]
In FIG. 8, first, in a first search, when a certain communication permission time 73 is given, a value obtained by adding the communication permission time 73 to the next head address 26 from the read control unit 41 is set as a read address 32. The frame number 33 is given to the number buffer 3 and the frame number 33 is read from the frame number buffer 3. This is {circle around (1)} shown in FIG. 8 and designates the read address “2” of the buffer information memory 2. Then, the start address AD2 is read from the buffer information memory 2 by the frame number ((1) shown in FIG. 8) 33, and is successively held as the start address AD2 (first search result 84).
[0065]
In the second search, a value obtained by adding the buffer amount notification amount threshold value A81 to the first head address AD2 as the first search result 84 is given to the frame number buffer 3 as a read address, and the frame number 33 from the frame number buffer 3 is supplied. Is read. This is {circle around (2)} shown in FIG. 8 and designates the read address “4” of the buffer information memory 2. Then, the head address AD4 is read from the buffer information memory 2 by the frame number ((2) shown in FIG. 8) 33, and the notification buffer amount A85 is obtained as “(start address AD4) − (next start address AD2)”. .
[0066]
In the third search, a value obtained by adding the buffer amount notification amount threshold value B82 to the first head address AD2 as the first search result 84 is given to the frame number buffer 3 as a read address, and the frame number 33 from the frame number buffer 3 is supplied. Is read. This is {circle around (3)} shown in FIG. 8 and designates the read address “5” of the buffer information memory 2. The head address AD5 is read from the buffer information memory 2 by the frame number ([3] shown in FIG. 8) 33, and the notification buffer amount B86 is obtained as (head address AD5)-(next head address AD2). As a result, the notification buffer amount A85 and the notification buffer amount B86 obtained by the above three searches are output as the buffer amount notification 72.
[0067]
As described above, according to the fourth embodiment, since the buffer amount search for each frame can be performed a plurality of times, the buffer amount in units of frames obtained by subtracting the data amount given the communication permission time is set to a plurality of buffers. It becomes possible to notify as a value of 2 or more using the amount notification amount threshold. Therefore, the following effects can be obtained.
[0068]
That is, when the communication permission time is given, the amount of data to be output at that time is subtracted, so that the notified buffer amount can be notified as a value closer to the actual buffer amount. In addition, since the buffer amount is notified by a plurality of buffer amount notification amount thresholds, for example, the transmission permission side can freely select when giving the next transmission permission time with reference to the notification amount, It becomes possible to perform some band control. In the fourth embodiment, the application example to the second embodiment has been described. Needless to say, the present invention can be similarly applied to the first and third embodiments.
[0069]
Embodiment 5 FIG.
FIG. 9 is a block diagram showing a configuration of a variable-length frame buffer device according to the fifth embodiment of the present invention. In the fifth embodiment, a configuration example of a variable-length frame buffer device that searches a buffer amount in units of frames across a plurality of variable-length frame buffer devices having the functions of the first to fourth embodiments is shown.
[0070]
The variable-length frame buffer device shown in FIG. 9 includes two variable-length frame buffer devices 101 and 102 and a search control unit 103 to simplify the description. The two variable-length frame buffer devices 101 and 102 have substantially the same configuration as the variable-length frame buffer device described in the first to fourth embodiments.
[0071]
That is, the two variable length frame buffer devices 101 and 102 respectively buffer the input frame data valid 1 and 2 and the input frame data 1 and 2, and output frame enable 1 in response to the output permission signals 1 and 2. , 2 and output frame data 1, 2 are output.
[0072]
In the two variable length frame buffer devices 101 and 102, one variable length frame buffer device 101 is a high priority buffer, and the other variable length frame buffer device 102 is a low priority buffer. High priority and low priority mean that data can be output from a low priority buffer only when there is no data in the high priority buffer.
[0073]
The search control unit 103 receives a buffer amount notification request 104 and a notification amount threshold 105 from the outside, and gives a buffer amount notification threshold 106 to the two variable length frame buffer devices 101 and 102. Then, the two variable-length frame buffer devices 101 and 102 output the actual buffer amounts 1 and 2 to the search control unit 103, respectively, and receive search commands 1 and 2 from the search control unit 103 to search the search control unit 103. Results 1 and 2 are output.
[0074]
Here, the correspondence with the items described in the first embodiment and the like is shown. The actual buffer amounts 1 and 2 correspond to “(tail address) − (next head address)”, the search instructions 1 and 2 correspond to the buffer amount notification request 30, and the search results 1 and 2 correspond to the buffer amount notification 36, 72. Then, the search control unit 103 performs a buffer amount search for each frame only once.
[0075]
Next, the operation of the variable-length frame buffer device according to the fifth embodiment will be described along FIG. 10 with reference to FIG. FIG. 10 is a flowchart for explaining the frame-unit buffer amount search operation performed by the variable-length frame buffer device shown in FIG.
[0076]
In FIG. 10, the search control unit 103 first enters a standby state until a buffer amount notification request 104 is input (step S101: No). When the buffer amount notification request 104 is input (step S101: Yes), for example, the magnitude relationship between a preset notification amount threshold 105 and “actual buffer amount 1 + actual buffer amount 2” is compared (step S102). When the notification amount threshold 105 is equal to or larger than “actual buffer amount 1 + actual buffer amount 2” (step S102: Yes), the output buffer amount notification 107 is “actual buffer amount 1 + actual buffer amount 2” (step S103). ).
[0077]
On the other hand, when the notification amount threshold 105 is smaller than “actual buffer amount 1 + actual buffer amount 2” (step S102: No), one of the notification amount threshold 105 and the actual buffer amounts 1 and 2 (here, the actual buffer 1) Are compared (step S104). As a result, when the notification amount threshold 105 <the actual buffer amount 1 (step S104: Yes), the buffer amount notification amount threshold 106 is set as the notification amount threshold 105 (step S105), and the search command 1 is issued (step S106). ). Then, the search result 1 obtained as a result is output as the buffer amount notification 107 (step S107).
[0078]
If the notification amount threshold value 105 ≧ the actual buffer amount 1 (step S104: No), the buffer amount notification amount threshold value 106 = the notification amount threshold value 105−the actual buffer amount 1 is set (step S108). ) And a search command 2 are issued (step S109). Then, using the search result 2 obtained as a result, the output buffer amount notification 107 is set to “actual buffer amount 1 + search result 2”.
[0079]
As described above, according to the fifth embodiment, it is possible to search the buffer amount in units of frames across a plurality of variable length frame buffer devices. Thereby, for example, it is possible to have a frame buffer device for each priority class, and to search the buffer amount in units of frames across a plurality of frame buffer devices according to the output order defined by the priority class.
[0080]
【The invention's effect】
As described above, according to the present invention, the frame number buffer for storing the frame number is provided in the same address space as the frame buffer for storing the variable-length frame data. The value obtained by adding the threshold value in the next read start address is given to the frame number buffer as a read address to obtain the frame number, and the read address is used as the read address to search for the start address that is a frame delimiter from the buffer information memory The buffer amount in units of frames can be searched with only one addition of “Yes” and two memory accesses. Therefore, when buffering variable-length frame data and notifying the amount of burst data that can be transmitted in units of frames, the processing time for searching for the amount of buffers below a certain threshold in units of frames can be reduced.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a variable-length frame buffer device according to a first embodiment of the present invention.
FIG. 2 is a diagram for explaining a frame-unit buffer amount search operation performed by the variable-length frame buffer device shown in FIG. 1 (when there is a frame number buffer).
3 is a diagram for explaining a frame-unit buffer amount search operation performed by the variable-length frame buffer device shown in FIG. 1 (when there is no frame number buffer); FIG.
FIG. 4 is a block diagram showing a configuration of a variable length frame buffer device according to a second embodiment of the present invention.
5 is a diagram for explaining a buffer amount search operation for each frame performed by the variable-length frame buffer device shown in FIG. 4; FIG.
FIG. 6 is a block diagram showing a configuration of a variable length frame buffer device according to a third embodiment of the present invention.
FIG. 7 is a block diagram showing a configuration of a variable length frame buffer device according to a fourth embodiment of the present invention.
8 is a diagram for explaining a buffer amount search operation in units of frames performed by the variable length frame buffer device shown in FIG. 7;
FIG. 9 is a block diagram showing a configuration of a variable length frame buffer device according to a fifth embodiment of the present invention.
10 is a flowchart illustrating a buffer amount search operation for each frame performed by the variable-length frame buffer device shown in FIG. 9. FIG.
[Explanation of symbols]
1 frame buffer (2 port memory), 2 buffer information memory (2 port memory), 3 frame number buffer (2 port memory), 4, 40 write control unit, 5, 41 read control unit, 6 real buffer amount management unit, 7 , 70 Frame delimited search control unit, 8 selector, 31 buffer amount notification amount threshold, 36 notification buffer amount, 45 deviation adjustment unit, 101 variable length frame buffer device (high priority), 102 variable length frame buffer device (low priority) 103 Search control unit.

Claims (5)

可変長フレームデータを入力順に格納するフレームバッファと、
入力フレーム毎に1つカウントアップするフレーム番号をアドレスとし前記フレームバッファに格納する際の先頭アドレスとフレーム長とを格納するバッファ情報用メモリと、
前記フレームバッファと同じアドレス空間を持ち前記フレーム番号を格納するフレーム番号用バッファと、
外部からのバッファ量通知要求を受けて、前記フレームバッファの読み出し次先頭アドレスにある閾値を足した値を読み出しアドレスとして前記フレーム番号用バッファに与えてフレーム番号を取得し、それを読み出しアドレスとして前記バッファ情報用メモリからフレームの区切れとなる先頭アドレスを検索し、その検索した先頭アドレスと前記次先頭アドレスとの間のバッファ量を前記バッファ量通知要求に対するバッファ量通知として出力するバッファ量検索手段と、
を備えることを特徴とする可変長フレームバッファ装置。
A frame buffer for storing variable-length frame data in the order of input;
A buffer information memory for storing a start address and a frame length when storing in the frame buffer with a frame number counted up by one for each input frame as an address;
A frame number buffer having the same address space as the frame buffer and storing the frame number;
In response to an external buffer amount notification request, a value obtained by adding a threshold value in the next read start address of the frame buffer is given as a read address to the frame number buffer to obtain a frame number, and the read number is used as the read address. Buffer amount search means for searching for a start address that is a frame delimiter from the buffer information memory and outputting the buffer amount between the searched start address and the next start address as a buffer amount notification for the buffer amount notification request When,
A variable-length frame buffer device comprising:
前記フレームバッファ、前記バッファ情報用メモリおよび前記フレーム番号用バッファへの書き込みをそれぞれ制御する書き込み制御手段であって、フレーム間にギャップを必要とする場合において、前記フレームバッファに可変長フレームデータを格納する際に前記フレーム間ギャップ分のデータを含めて書き込みを制御し、同時に前記フレーム番号用バッファにおいて前記フレーム間ギャップ分の領域にフレーム番号を書き込む制御を行う書き込み制御手段を備えることを特徴とする請求項1に記載の可変長フレームバッファ装置。Write control means for controlling writing to the frame buffer, the buffer information memory, and the frame number buffer, respectively. When a gap is required between frames, variable length frame data is stored in the frame buffer. And writing control means for controlling writing including data for the inter-frame gap and simultaneously writing the frame number in the region for the inter-frame gap in the frame number buffer. The variable-length frame buffer device according to claim 1. 前記書き込み制御手段の入力段に設けられ、入力する可変長フレームデータの動作クロックを装置間に存在するクロック偏差を考慮した早いクロックに変換し、その変換した早いクロックにて前記書き込み制御手段を動作させる偏差調整手段を備えることを特徴とする請求項2に記載の可変長フレームバッファ装置。Provided at the input stage of the write control means, the operation clock of the input variable length frame data is converted into an early clock considering the clock deviation existing between the devices, and the write control means is operated with the converted early clock. The variable length frame buffer device according to claim 2, further comprising a deviation adjusting unit that performs the adjustment. 前記バッファ量検索手段は、通信許可時間が与えられる場合に、前記フレームバッファの読み出し次先頭アドレスに前記通信許可時間を足した値を読み出しアドレスとして前記フレーム番号用バッファに与えてフレーム番号を取得し、それを読み出しアドレスとして前記バッファ情報用メモリから前記通信許可時間における送信可能なフレーム単位のバッファ量を検索し、その検索した送信可能なフレーム単位のバッファ量を引いた残りのバッファ量について請求項1に記載の検索を複数回行うことを特徴とする請求項1〜3のいずれか一つに記載の可変長フレームバッファ装置。When the communication permission time is given, the buffer amount search means obtains a frame number by giving a value obtained by adding the communication permission time to the read next start address of the frame buffer to the frame number buffer as a read address. A buffer amount in a frame unit that can be transmitted in the communication permission time is retrieved from the buffer information memory using the read address as a read address, and the remaining buffer amount is obtained by subtracting the retrieved buffer unit in a frame unit that can be transmitted. The variable length frame buffer device according to claim 1, wherein the search according to 1 is performed a plurality of times. 請求項1〜4のいずれか一つに記載の可変長フレームバッファ装置の複数個と、
前記複数の可変長フレームバッファ装置のそれぞれが備える前記バッファ量検索手段を相互に関連付けて制御することで、前記複数の可変長フレームバッファ装置を跨ったフレーム単位のバッファ量検索を実現する検索制御手段と、
を備えることを特徴とする可変長フレームバッファ装置。
A plurality of variable length frame buffer devices according to any one of claims 1 to 4;
Search control means for realizing buffer amount search in units of frames across the plurality of variable length frame buffer devices by controlling the buffer amount search means provided in each of the plurality of variable length frame buffer devices in association with each other. When,
A variable-length frame buffer device comprising:
JP2003190297A 2003-07-02 2003-07-02 Variable length frame buffer device Expired - Fee Related JP4252379B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003190297A JP4252379B2 (en) 2003-07-02 2003-07-02 Variable length frame buffer device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003190297A JP4252379B2 (en) 2003-07-02 2003-07-02 Variable length frame buffer device

Publications (2)

Publication Number Publication Date
JP2005027029A true JP2005027029A (en) 2005-01-27
JP4252379B2 JP4252379B2 (en) 2009-04-08

Family

ID=34188237

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003190297A Expired - Fee Related JP4252379B2 (en) 2003-07-02 2003-07-02 Variable length frame buffer device

Country Status (1)

Country Link
JP (1) JP4252379B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007074258A (en) * 2005-09-06 2007-03-22 Of Networks:Kk Variable length frame buffer apparatus and method for retrieving boundary of variable length frame
JP2007074257A (en) * 2005-09-06 2007-03-22 Of Networks:Kk Threshold detection device in variable length frame buffer
JP2007336423A (en) * 2006-06-19 2007-12-27 Oki Electric Ind Co Ltd Buffer memory
US9112470B2 (en) 2012-01-24 2015-08-18 Nec Platforms, Ltd. Transmission method, transmission device, transmission program, and transmission system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007074258A (en) * 2005-09-06 2007-03-22 Of Networks:Kk Variable length frame buffer apparatus and method for retrieving boundary of variable length frame
JP2007074257A (en) * 2005-09-06 2007-03-22 Of Networks:Kk Threshold detection device in variable length frame buffer
JP4584801B2 (en) * 2005-09-06 2010-11-24 株式会社オー・エフ・ネットワークス Threshold detection device for variable length frame buffer
JP4674709B2 (en) * 2005-09-06 2011-04-20 株式会社オー・エフ・ネットワークス Variable length frame buffer device and variable length frame boundary search method
JP2007336423A (en) * 2006-06-19 2007-12-27 Oki Electric Ind Co Ltd Buffer memory
JP4715645B2 (en) * 2006-06-19 2011-07-06 沖電気工業株式会社 Buffer memory
US9112470B2 (en) 2012-01-24 2015-08-18 Nec Platforms, Ltd. Transmission method, transmission device, transmission program, and transmission system

Also Published As

Publication number Publication date
JP4252379B2 (en) 2009-04-08

Similar Documents

Publication Publication Date Title
JP3734704B2 (en) Packet classification engine
US7315550B2 (en) Method and apparatus for shared buffer packet switching
JP2584957B2 (en) Host-directed device
RU2487401C2 (en) Data processing method, router node and data medium
CA2134017C (en) Network bridge
US7400638B2 (en) Apparatus and methods for managing packets in a broadband data stream
US8270399B2 (en) Crossbar apparatus for a forwarding table memory in a router
JP2013507022A (en) Method for processing data packets within a flow-aware network node
US8306045B2 (en) Packet forwarding apparatus and method for discarding packets
JP2005204092A (en) Storage switch having band control function
US7373467B2 (en) Storage device flow control
US11425057B2 (en) Packet processing
CN108462649B (en) Method and device for reducing high-priority data transmission delay in congestion state of ONU
JP4252379B2 (en) Variable length frame buffer device
WO2020168563A1 (en) Memory management method and apparatus
US8094552B1 (en) Adaptive buffer for frame based storage communications protocols
CN116955247B (en) Cache descriptor management device and method, medium and chip thereof
JP5391449B2 (en) Storage device
CN110297785A (en) A kind of finance data flow control apparatus and flow control method based on FPGA
US7161938B1 (en) Network switch
US11297011B2 (en) Data transmission method and communications device
JP2003218907A (en) Processor with reduced memory requirements for high- speed routing and switching of packets
JP3255113B2 (en) Packet switch system, integrated circuit including the same, packet switch control method, packet switch control program recording medium
JP2000299686A (en) Scheduling device
US8422396B2 (en) Rate monitoring apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060615

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081205

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

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

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130130

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130130

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees