JP2002084316A - 可変長パケット書き込み及び読み出し回路 - Google Patents

可変長パケット書き込み及び読み出し回路

Info

Publication number
JP2002084316A
JP2002084316A JP2000272772A JP2000272772A JP2002084316A JP 2002084316 A JP2002084316 A JP 2002084316A JP 2000272772 A JP2000272772 A JP 2000272772A JP 2000272772 A JP2000272772 A JP 2000272772A JP 2002084316 A JP2002084316 A JP 2002084316A
Authority
JP
Japan
Prior art keywords
packet
counter
signal
variable length
address
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.)
Pending
Application number
JP2000272772A
Other languages
English (en)
Inventor
Hiroshi Ono
寛 小野
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.)
Toyo Communication Equipment Co Ltd
Original Assignee
Toyo Communication Equipment Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyo Communication Equipment Co Ltd filed Critical Toyo Communication Equipment Co Ltd
Priority to JP2000272772A priority Critical patent/JP2002084316A/ja
Publication of JP2002084316A publication Critical patent/JP2002084316A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】高いメモリ使用効率でパケットを読み書きする
ことができ、且つパケットの廃棄が発生した場合に、次
のパケットを直ちに読み書きすることが可能な可変長パ
ケットの書き込み及び読み出し回路を提供する。 【解決手段】可変長パケット書き込み回路2は、可変長
パケットの先頭のブロックが書き込まれるバッファメモ
リ50のアドレスを保持するベースレジスタ12と、ブ
ロックが入力される毎に増分するカウンタ6と、ベース
レジスタ12に保持されたアドレスと、カウンタ6のカ
ウント値とを加算して、バッファメモリ50の書き込み
先のアドレスを導出する加算器114とを備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、可変長パケットを
メモリに書き込む可変長パケット書き込み回路、及び可
変長パケットをメモリから読み出す可変長パケット読み
出し回路に関する。
【0002】
【従来の技術】近年、企業や一般家庭ではインターネッ
トに代表される端末のネットワーク接続が普及してお
り、情報の送受信はパケットと呼ばれる固定長あるいは
可変長の情報単位で行われる。
【0003】ところで、可変長のパケットを取り扱う伝
送装置では、入力されるパケットを直ちに処理し、次の
パケットの入力待ち状態にすることが困難であるため、
入力パケットを一時的に格納するバッファメモリが用い
られることが多い。
【0004】例えば、連続するパケットがA、Bの順序
で伝送装置に入力される場合について考える。この場合
には、順次入力されるパケットA、Bがバッファメモリ
に格納され、その格納順に所定の処理が行われる。この
とき、パケットBが格納されたときに既にパケットAの
処理が終了していれば、直ちにパケットBの処理が行わ
れる。一方、パケットBが格納されたときにパケットA
の処理が終了していなければ、パケットBは、パケット
Aの処理が終了するまでバッファメモリで待機状態にな
る。
【0005】従来、この入力パケットを一時的に格納す
るバッファメモリには、パケットの最大長で格納領域を
区切った方式や、FIFO(First In FirstOut)方式
が用いられていた。
【0006】
【発明が解決しようとする課題】しかしながら、パケッ
トの最大長で格納領域を区切った方式では、最大長のパ
ケットを格納可能なように1つのパケットの格納領域が
割り当てられるため、短いパケットであっても1つの格
納領域を占有することになり、メモリの使用効率が低下
するという問題があった。また、FIFO(First In F
irst Out)方式では、メモリの使用効率を上げることは
できるが、データに誤りがある等の理由で読み出し中の
パケットを廃棄する場合には、メモリ中のデータを順送
りして当該パケットの読み出しが終わるまで次のパケッ
トを読み出すことができないため、時間をロスするとい
う問題が生ずる。このため、高いメモリ使用効率でパケ
ットを読み書きすることができ、且つパケットの廃棄が
発生した場合に、次のパケットを直ちに読み書きするこ
とが可能な可変長パケットの書き込み回路及び読み出し
回路が要求されていた。
【0007】本発明は、上記従来の問題点を解決するも
のであり、その目的は、高いメモリ使用効率でパケット
を読み書きすることができ、且つパケットの廃棄が発生
した場合に、次のパケットを直ちに読み書きすることが
可能な可変長パケットの書き込み及び読み出し回路を提
供することにある。
【0008】
【課題を解決するための手段】上記目的を達成するた
め、本発明の可変長パケット書き込み回路は、可変長パ
ケットを複数の固定長のブロックに分割してメモリに書
き込むものであり、前記可変長パケットの先頭のブロッ
クが書き込まれる前記メモリのアドレスを保持する第1
のアドレス保持手段と、前記ブロックが入力される毎に
増分する第1のカウンタと、前記第1のアドレス保持手
段に保持された前記アドレスと、前記第1のカウンタの
カウント値とを加算して、前記メモリの書き込み先のア
ドレスを導出する第1の加算手段とを備える。
【0009】この場合において、前記可変長パケット書
き込み回路は、更に前記可変長パケットの長さ情報を書
き込むものであることが好ましい。
【0010】また、本発明の可変長パケット読み出し回
路は、上述の可変長パケット書き込み回路により前記メ
モリに書き込まれた前記可変長パケットを読み出すもの
であり、前記可変長パケットの先頭のブロックが書き込
まれた前記メモリのアドレスを保持する第2のアドレス
保持手段と、前記ブロックが読み出される毎に増分する
第2のカウンタと、前記第2のアドレス保持手段に保持
された前記アドレスと、前記第2のカウンタのカウント
値とを加算して、前記メモリの読み出し先のアドレスを
導出する第2の加算手段とを備える。
【0011】
【発明の実施の形態】以下、図示した一実施形態に基い
て本発明を詳細に説明する。図1は、本発明に係る可変
長パケット書き込み回路の構成例を示すブロック図であ
る。同図に示す可変長パケット書き込み回路2は、入力
される可変長パケットを隙間なくバッファメモリ50に
書き込むものであり、制御信号生成部4、カウンタ(第
1カウンタ)6、セレクタ8、10、ベースレジスタ
(第1アドレス保持手段)12、加算器(第1加算手
段)14を備えて構成されている。
【0012】本実施形態において、バッファメモリ50
は、固定長の複数の格納領域を有しており、先頭の格納
領域から順に自然数のアドレスが付与されている。ま
た、可変長パケットは、バッファメモリ50内の格納領
域に相当する長さのブロックに分割され、可変長パケッ
ト書き込み回路2に入力されており、この可変長パケッ
トの先頭のブロックには長さ情報が格納され、これに続
くブロックにはパケット本体が格納されている。
【0013】制御信号生成部4は、可変長パケット書き
込み回路2を制御すべく、各部に制御信号を送るもので
ある。この制御信号生成部4には、2種類のパケット状
態信号1、2が入力される。パケット状態信号1は、可
変長パケット書き込み回路4に可変長パケットが入力さ
れている間は1(ハイレベル)になり、それ以外の間は
0(ローレベル)になる。一方、パケット状態信号2
は、1クロック分遅れてパケット状態信号1と同様の状
態を示す。従って、パケット状態信号1がハイレベル、
パケット状態信号2がローレベルの場合には、可変長パ
ケットの入力が開始されたことを示し、パケット状態信
号1がローレベル、パケット状態信号2がハイレベルの
場合には、1つ前のクロックタイミングで可変長パケッ
トの入力が終了されたことを示すことになる。
【0014】制御信号生成部4は、これらパケット状態
信号1がハイレベル、パケット状態信号2がローレベル
になった場合、すなわち可変長パケットの入力が開始さ
れた場合には、カウンタ6をリセットすべく、カウンタ
ロード信号をハイレベルにして出力する。また、制御信
号生成部4は、パケット状態信号1、2がともにハイレ
ベルになった場合、すなわち可変長パケットの2ブロッ
ク目以降のパケット本体が入力されている場合と、パケ
ット状態信号1がローレベル、パケット状態信号2がハ
イレベルの場合、すなわち1つ前のクロックタイミング
で可変長パケットの入力が終了された場合には、カウン
タ6をカウントアップすべく、カウンタイネーブル信号
をハイレベルにして出力するとともに、バッファメモリ
50への書き込みを可能とすべく、書き込み信号をハイ
レベルにして出力する。
【0015】また、制御信号生成部4は、パケット状態
信号1、2がともにローレベルになった場合には、カウ
ンタ6のカウントアップを中断すべく、カウンタイネー
ブル信号をローレベルにして出力し、更に次のクロック
タイミングでは、カウンタ6のカウントアップを再開す
べく、カウンタイネーブル信号をハイレベルにして出力
し、ベースレジスタ12に格納されたベースレジスタ値
を更新すべく、ベースレジスタロード信号をハイレベル
にするとともに、バッファメモリ50への書き込みを終
了すべく、書き込み信号をローレベルにして出力する。
【0016】また、制御信号生成部4には、パケットの
廃棄を指示する廃棄信号も入力されており、制御信号生
成部4は、廃棄信号がハイレベルになった場合には、ベ
ースレジスタ12に格納されたベースレジスタ値の更新
を中止すべく、ベースレジスタロード信号をローレベル
に維持する。
【0017】カウンタ6は、入力されるクロックをカウ
ントするものであり、制御信号生成部4からのカウンタ
ロード信号がハイレベルの場合にはカウント値をリセッ
トし、カウンタイネーブル信号がハイレベルの場合には
クロックのカウントを行う。カウント値はセレクタ8、
10に入力される。
【0018】セレクタ8は、パケット状態信号2に応じ
て、入力されるパケットのブロック及びカウンタ6のカ
ウント値の何れか一方を出力するものであり、パケット
状態信号2がハイレベルの場合にはパケットのブロック
を出力し、パケット状態信号2がローレベルの場合には
カウンタ6のカウント値を出力する。出力された信号
は、書き込みデータとしてバッファメモリ50に書き込
まれる。
【0019】セレクタ10は、パケット状態信号2に応
じて、ローレベルの入力信号及びカウンタ6のカウント
値の何れか一方を出力するものであり、パケット状態信
号2がハイレベルの場合にはカウンタ6のカウント値を
出力し、パケット状態信号2がローレベルの場合にはロ
ーレベルの信号を出力する。出力された信号は、加算機
14に入力される。
【0020】ベースレジスタ12は、保持しているベー
スレジスタ値を加算器14へ出力する。ベースレジスタ
値は、書き込み対象の可変長パケットの長さ情報が書き
込まれる格納領域のアドレスを示す。このベースレジス
タ値は、廃棄信号が入力されない限りにおいて、可変長
パケットの書き込みが終了する毎に、制御信号生成部4
から送られるハイレベルのベースレジスタロード信号に
より更新される。
【0021】加算器14は、セレクタ10の出力値とベ
ースレジスタ12の出力値(ベースレジスタ値)とを加
算する。算出された値は、書き込み先のアドレスとして
バッファメモリ50に入力されるとともに、ベースレジ
スタ14に入力される。
【0022】本発明に係る可変長パケット書き込み回路
2は上述した構成を示しており、次にその動作を説明す
る。図2は、可変長パケット書き込み回路2の動作時の
タイムチャートである。なお、以下においては、可変長
パケットの長さ情報とn個のブロック(D1 〜Dn )に
分割されたパケット本体とがバッファメモリ50に書き
込まれている場合について説明する。
【0023】クロックタイミング1では、パケット状態
信号1がハイレベル、パケット状態信号2がローレベル
になっている。この場合には、上述したように、可変長
パケットの入力が開始される。このとき、制御信号生成
部4は、カウンタロード信号をハイレベルにする。カウ
ンタ6は、カウンタロード信号がハイレベルであること
に応じて、カウント値をリセットする。
【0024】クロックタイミング2では、パケット状態
信号1がハイレベルに維持され、パケット状態信号2が
ハイレベルに切り替わる。この場合には、上述したよう
に、パケット本体の入力が開始される。このとき、制御
信号生成部4は、カウンタロード信号をローレベルに切
り替え、カウンタイネーブル信号をハイレベルに切り替
えるとともに、書き込み信号をハイレベルに切り替え
る。
【0025】カウンタ6は、カウンタイネーブル信号が
ハイレベルに切り替わったことに応じて、クロックのカ
ウントを開始する。このカウント値1は、セレクタ8、
10に入力される。セレクタ8は、パケット状態信号2
がハイレベルに切り替わったことに応じて、入力される
可変長パケットの先頭ブロックD1 を書き込みデータと
してバッファメモリ50に出力する。同様に、セレクタ
10は、パケット状態信号2がハイレベルに切り替わっ
たことに応じて、カウンタ6のカウント値1を加算器1
4へ出力する。
【0026】加算器14は、セレクタ10が出力したカ
ウンタ6のカウント値1と、ベースレジスタ12が出力
したベースレジスタ値とを加算する。上述の通り、ベー
スレジスタの値は、書き込み対象の可変長パケットの長
さ情報が書き込まれる格納領域のアドレスを示す。この
ため、このベースレジスタ値にカウンタ6のカウント値
1を加算することにより、長さ情報が書き込まれる格納
領域の次の格納領域のアドレス、すなわちパケット本体
の先頭ブロックが書き込まれる格納領域のアドレスが導
出されることになる。この導出値は、書き込み先のアド
レスとしてバッファメモリ50に入力される。
【0027】バッファメモリ50には、上述の通り、制
御信号生成部4からのハイレベルの書き込み信号、セレ
クタ8からの書き込みデータ、及び加算器14からの書
き込み先のアドレスが入力される。バッファメモリ50
は、書き込み信号がハイレベルに切り替わったことに応
じて、書き込み先のアドレスに対応する格納領域に、書
き込みデータであるブロックD1 を書き込む。これによ
り、直前に書き込まれたパケットの最終ブロックの格納
領域の2つ後の格納領域に、書き込み対象の可変長パケ
ットの先頭ブロックD1 が格納されることになる。
【0028】クロックタイミング3からクロックタイミ
ングn+1までの動作も、上述したクロックタイミング
2における動作と同様である。すなわち、カウンタ6
は、クロックのカウントを継続し、クロックタイミング
毎に、カウント値を1ずつ増加させて出力する。また、
加算器14は、カウンタ6のカウント値と、ベースレジ
スタ12が出力したベースレジスタ値とを加算して、書
き込みアドレスとしてバッファメモリ50に出力する。
このため、バッファメモリ50には、この書き込み先の
アドレスに対応する格納領域に、セレクタ8から出力さ
れる書き込みデータであるブロックD2 〜Dn が書き込
まれる。
【0029】クロックタイミングn+2では、パケット
状態信号1がローレベルを維持するとともに、パケット
状態信号2がローレベルに切り替わる。この場合には、
制御信号生成部4は、書き込み信号をハイレベルにした
状態を維持するとともに、カウンタイネーブル信号をロ
ーレベルに切り替える。
【0030】カウンタ6は、カウンタイネーブル信号が
ローレベルに切り替わったことに応じて、クロックのカ
ウントを終了する。したがって、このときのカウント値
はnのままである。このカウント値nはパケット本体の
長さを示す。また、パケット状態信号2がローレベルに
切り替わったことに応じて、セレクタ8は、カウンタ6
のカウント値nを書き込みデータとしてバッファメモリ
50に出力し、セレクタ10は、「0」を加算器14に
出力する。このため、加算器14は、ベースレジスタ1
2が出力したベースレジスタ値を、書き込み先のアドレ
スとしてバッファメモリ50に出力する。バッファメモ
リ50は、書き込み信号がハイレベルに維持されている
ことに応じて、書き込み先のアドレスに対応する格納領
域に、可変長パケットの長さnを書き込む。これによ
り、直前に書き込まれた可変長パケットの最終ブロック
の格納領域の1つ後の格納領域に、可変長パケットの長
さ情報が書き込まれることになる。
【0031】以上、クロックタイミングn+2までの動
作により、バッファメモリ50内のn+1個の格納領域
において、先頭に可変長パケットの長さが格納され、こ
れに続くn個の格納領域にパケット本体が格納されるこ
とになる。
【0032】クロックタイミングn+3では、パケット
状態信号1及びパケット状態信号2の双方がローレベル
を維持する。このとき、制御信号生成部4は、カウンタ
イネーブル信号をハイレベルに切り替え、書き込み信号
をローレベルに切り替えるとともに、ベースレジスタロ
ード信号をハイレベルに切り替える。
【0033】カウンタ6は、カウンタイネーブル信号が
ハイレベルに切り替わったことに応じて、クロックのカ
ウントを再開し、カウント値n+1を出力する。セレク
タ10は、パケット状態信号2がローレベルに切り替わ
っってから2クロック経過したことに応じて、カウンタ
6のカウント値n+1を出力する。ベースレジスタ12
は、ベースレジスタロード信号がハイレベルに切り替わ
ったことに応じて、保持しているベースレジスタ値とセ
レクタ10からのカウンタ6のカウント値n+1とを加
算した値を新たなベースレジスタ値として保持する。こ
の新たなベースレジスタ値は、バッファメモリ50にお
いて、書き込まれたパケットの最終ブロックを格納する
格納領域の次の格納領域のアドレスを示す。
【0034】なお、セレクタ8はカウンタ6のカウント
値n+1を、加算器14はベースレジスタ12が出力し
たベースレジスタ値を、それぞれバッファメモリ50に
出力するが、書き込み信号がローレベルに切り替わって
いるため、バッファメモリ50への書き込みは行われな
い。
【0035】クロックタイミングn+4では、パケット
状態信号1及びパケット状態信号2の双方がローレベル
を維持する。このとき、制御信号生成部4は、カウンタ
ロード信号と書き込み信号とをローレベルに維持すると
ともに、カウンタイネーブル信号とベースレジスタロー
ド信号とをローレベルに切り替える。カウンタ6は、カ
ウンタイネーブル信号がローレベルに切り替わったこと
に応じて、クロックのカウントを終了する。以降、次の
パケットの入力が開始されるまでこの状態が維持され
る。
【0036】以上の動作により、バッファメモリ50に
は、可変長パケットの長さ情報と、これに続いてパケッ
ト本体が書き込まれることになる。また、可変長パケッ
トは、図3に示すように、バッファメモリ50内に隙間
なく書き込まれることになる。
【0037】ここで、可変長パケットの書き込み時に廃
棄が指示された場合の動作を、図4のタイムチャートを
用いて説明する。なお、以下においては、クロックタイ
ミング7以降、ハイレベルの廃棄信号が可変長パケット
書き込み回路2の制御信号生成部4に入力されるものと
する。
【0038】クロックタイミング1〜n+2の動作は、
図2に示した動作と同様であるのでその説明は省略す
る。クロックタイミングn+3では、パケット状態信号
1及びパケット状態信号2の双方がローレベルを維持す
る。このとき、制御信号生成部4は、カウンタイネーブ
ル信号をハイレベルに切り替え、書き込み信号をローレ
ベルに切り替えるとともに、図1に示したタイムチャー
トとは異なり、廃棄信号がハイレベルであることに応じ
て、ベースレジスタロード信号をローレベルに維持す
る。
【0039】カウンタ6は、カウンタイネーブル信号が
ハイレベルに切り替わったことに応じて、クロックのカ
ウントを再開し、カウント値n+1を出力する。セレク
タ10は、パケット状態信号2がローレベルに切り替わ
っってから2クロック経過したことに応じて、カウンタ
6のカウント値n+1を出力する。ベースレジスタ12
は、ベースレジスタロード信号がローレベルに維持され
ていることに応じて、ベースレジスタ値をそのまま保持
する。にセレクタ10からのカウンタ6のカウント値n
+1を加算した値を新たなベースレジスタ値として保持
する。このため、可変長パケットの書き込み終了後も、
ベースレジスタ12の保持するベースレジスタ値は変わ
らず、次の可変長パケットが入力された場合には、その
可変長パケットが上書きされることになる。
【0040】次に、上記可変長パケット書き込み回路2
により書き込まれた可変長パケットを読み出す可変長パ
ケット読み出し回路について説明する。図5は、本発明
に係る可変長パケット読み出し回路の構成例を示すブロ
ック図である。同図に示す可変長パケット読み出し回路
102は、バッファメモリ50に隙間なく書き込まれた
可変長パケットを読み出すものであり、制御信号生成部
104、カウンタ(第2カウンタ)106、長さ情報レ
ジスタ108、セレクタ110、ベースレジスタ(第2
アドレス保持手段)112、加算器(第2加算手段)1
14、一致比較器116、論理和回路118を備えて構
成されている。
【0041】制御信号生成部104は、可変長パケット
書き込み回路102を制御するためのものである。具体
的には、制御信号生成部104は、ハイレベルのパケッ
ト開始信号が入力されると、カウンタ106をカウント
アップさせるべく、カウント信号をハイレベルにして出
力するとともに、長さ情報レジスタ108に読み出し対
象の可変長パケットの長さ情報を格納すべく、長さ情報
ラッチ信号をハイレベルにして出力する。また、制御信
号生成部104は、論理和回路118からのパケット終
了信号がハイレベルの場合には、カウンタ106のカウ
ントアップを終了させるべく、カウント信号をローレベ
ルにする。
【0042】カウンタ106は、パケット開始信号がハ
イレベルの場合にリセットされ、カウント信号がハイレ
ベルの場合にクロックのカウントを行う。カウント値は
セレクタ110,一致比較器116に入力される。
【0043】長さ情報レジスタ108は、長さ情報ラッ
チ信号がハイレベルの場合に、バッファメモリ50から
読み出された長さ情報を格納するとともに、その長さ情
報をセレクタ110,一致比較器116に出力する。
【0044】セレクタ110は、論理和回路118から
のパケット終了信号がローレベルの場合にはカウンタ1
06のカウント値を出力し、ハイレベルの場合には長さ
情報レジスタ108に格納された長さ情報を出力する。
【0045】ベースレジスタ112は、保持しているベ
ースレジスタ値を加算器114へ出力する。ベースレジ
スタ値は、読み出し対象の可変長パケットの先頭ブロッ
クを格納する格納領域のアドレスを示す。このベースレ
ジスタ値は、制御信号生成部4から送られるハイレベル
のベースレジスタロード信号により更新される。
【0046】加算器114は、セレクタ110の出力値
とベースレジスタ112の出力値(ベースレジスタ値)
とを加算する。算出された値は、読み出し先のアドレス
としてバッファメモリ50に入力されるとともに、ベー
スレジスタ114に入力される。
【0047】一致比較器116は、カウンタ106のカ
ウント値と長さ情報レジスタ108に格納された長さ情
報とを比較し、一致する場合には一致信号をハイレベル
にして出力する。論理和回路118は、一致信号とパケ
ット廃棄信号との論理和を算出するものであり、一致信
号又はパケット廃棄信号がハイレベルの場合には、パケ
ット終了信号をハイレベルにして制御信号生成部10
4、ベースレジスタ112に出力する。
【0048】制御信号生成部104は、ハイレベルのパ
ケット終了信号により可変長パケットの読み出し終了を
認識する。ベースレジスタ112は、ハイレベルのパケ
ット終了信号に応じて、加算器114の算出値を格納す
る。この格納された算出値は、次の可変長パケットの先
頭ブロックが書き込まれたバッファメモリ50内の記憶
領域のアドレスを示すことになる。
【0049】本発明に係る可変長パケット読み出し回路
102は上述した構成を示しており、次にその動作を説
明する。図6は、可変長パケット読み出し回路102の
動作時のタイムチャートである。なお、以下において
は、長さ情報とn個のブロック(D1 〜Dn )に分割さ
れたパケット本体とがバッファメモリ50に書き込まれ
ている場合について説明する。
【0050】クロックタイミング1では、パケット開始
信号がハイレベルになっている。このとき、カウンタ1
06がリセットされる。
【0051】クロックタイミング2では、制御信号生成
部104は、パケット開始信号がハイレベルになったこ
とに応じて、カウント信号をハイレベルにするととも
に、長さ情報ラッチ信号をハイレベルにして出力する。
【0052】セレクタ110は、パケット終了信号がロ
ーレベルであるため、カウンタ106のカウント値0を
出力する。このため、加算器114は、ベースレジスタ
112からのベースレジスタ値を読み出しアドレスとし
てバッファメモリ50へ出力することになる。上述の通
り、ベースレジスタ値は、読み出し対象の可変長パケッ
トの先頭ブロックが格納されたバッファメモリ50内の
格納領域のアドレスを示すため、バッファメモリ50か
ら長さ情報nが読み出されることになる。
【0053】クロックタイミング3では、カウンタ10
6は、カウンタ信号がハイレベルになったことに応じ
て、クロックのカウントを開始し、カウント値1を出力
する。また、長さ情報レジスタ108は、長さ情報ラッ
チ信号がハイレベルであることに応じて、バッファメモ
リ50から読み出された長さ情報nを格納、出力する。
【0054】加算器114は、カウンタ106のカウン
ト値1とベースレジスタ112からのベースレジスタ値
を加算し、読み出しアドレスとして出力する。このた
め、バッファメモリ50からパケット本体の最初のブロ
ックが読み出されることになる。
【0055】一致比較器116は、カウンタ106のカ
ウント値1と長さ情報レジスタ108からの長さ情報n
とを比較するが、本クロックタイミングでは一致しない
ため、一致信号はローレベルのままである。
【0056】クロックタイミング4からクロックタイミ
ングnまでの動作も、上述したクロックタイミング3に
おける動作と同様である。すなわち、カウンタ106
は、クロックのカウントを継続し、クロックタイミング
毎に、カウント値を1ずつ増加させて出力する。また、
加算器114は、カウンタ106のカウント値と、ベー
スレジスタ112が出力したベースレジスタ値とを加算
して、読み出しアドレスとしてバッファメモリ50に出
力する。このため、バッファメモリ50からブロックD
2 〜Dn-1 が読み出される。
【0057】クロックタイミングn+1では、カウンタ
106のカウント値がnになる。加算器114は、カウ
ンタ106のカウント値nと、ベースレジスタ112が
出力したベースレジスタ値とを加算して、読み出しアド
レスとしてバッファメモリ50に出力する。このため、
バッファメモリ50からブロックDnが読み出される。
【0058】一方、一致比較器116は、カウンタ10
6のカウント値nと長さ情報カウンタ108からの長さ
情報とが一致するため、一致信号をハイレベルにする。
この一致信号は、論理和回路118を介して、パケット
終了信号として出力される。
【0059】クロックタイミングn+2では、制御信号
生成部104は、パケット終了信号がハイレベル、すな
わち一致信号がハイレベルになったことに応じて、カウ
ント信号をローレベルにする。このため、カウンタ10
6は、クロックのカウントを終了する。セレクタ110
は、パケット終了信号がハイレベルになったことに応じ
て、長さ情報レジスタ108からの長さ情報nを出力す
る。加算器114は、この長さ情報nとベースレジスタ
112からのベースレジスタ値とを加算する。
【0060】ベースレジスタ112は、パケット終了信
号がハイレベルであることに応じて、加算器114の算
出値に1加えた値を新たなベースレジスタ値として保持
する。この新たなベースレジスタ値は、バッファメモリ
50において、読み出されたパケットの最終ブロックを
格納していた格納領域の次の格納領域のアドレス、すな
わち次に読み出される可変長パケットの先頭ブロックが
格納された格納領域のアドレスを示す。以上の動作によ
り、1つの可変長パケットが読み出されることになる。
【0061】ここで、可変長パケットを読み出し中にパ
ケット廃棄信号がハイレベルになった場合を考える。こ
の場合には、パケット終了信号がハイレベルになる。こ
のため、セレクタ110は、パケット終了信号がハイレ
ベルになったことに応じて、長さ情報レジスタ108か
らの長さ情報nを出力する。加算器114は、この長さ
情報nとベースレジスタ112からのベースレジスタ値
とを加算する。ベースレジスタ112は、パケット終了
信号がハイレベルであることに応じて、加算器114の
算出値に1加えた値を新たなベースレジスタ値として保
持する。
【0062】上述したように、この新たなベースレジス
タ値は、バッファメモリ50において、読み出されたパ
ケットの最終ブロックを格納していた格納領域の次の格
納領域のアドレス、すなわち次に読み出される可変長パ
ケットの先頭ブロックが格納された格納領域のアドレス
を示す。従って、可変長パケットの廃棄が発生した場合
に、次の可変長パケットを直ちに読み出すことが可能と
なる。
【0063】以上、本発明の一実施形態を図面に沿って
説明した。しかしながら本発明は前記実施形態に示した
事項に限定されず、特許請求の範囲の記載に基いてその
変更、改良等が可能であることは明らかである。
【0064】
【発明の効果】以上の如く本発明によれば、高いメモリ
使用効率でパケットを読み書きすることができ、且つパ
ケットの廃棄が発生した場合に、次のパケットを直ちに
読み書きすることが可能となる。
【図面の簡単な説明】
【図1】本発明に係る可変長パケット書き込み回路の構
成例を示すブロック図である。
【図2】可変長パケット書き込み回路の動作時のタイム
チャートである。
【図3】可変長パケットが書き込まれたバッファメモリ
の一例を示す図である。
【図4】パケット廃棄が指示された場合の可変長パケッ
ト書き込み回路の動作時のタイムチャートである。
【図5】本発明に係る可変長パケット読み出し回路の構
成例を示すブロック図である。
【図6】可変長パケット読み出し回路の動作時のタイム
チャートである。
【符号の説明】
2 可変長パケット書き込み回路 4 制御信号生成部 6 カウンタ 8、10 セレクタ 12 ベースレジスタ 14 加算器 50 バッファメモリ 102 可変長パケット読み出し回路 104 制御信号生成部 106 カウンタ 108 長さ情報レジスタ 110 セレクタ 112 ベースレジスタ 114 加算器 116 一致比較器 118 論理和回路

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】可変長パケットを複数の固定長のブロック
    に分割してメモリに書き込む可変長パケット書き込み回
    路であって、 前記可変長パケットの先頭のブロックが書き込まれる前
    記メモリのアドレスを保持する第1のアドレス保持手段
    と、 前記ブロックが入力される毎に増分する第1のカウンタ
    と、 前記第1のアドレス保持手段に保持された前記アドレス
    と、前記第1のカウンタのカウント値とを加算して、前
    記メモリの書き込み先のアドレスを導出する第1の加算
    手段と、を備えることを特徴とする可変長パケット書き
    込み回路。
  2. 【請求項2】前記可変長パケットの長さ情報を書き込む
    ことを特徴とする請求項1に記載の可変長パケット書き
    込み回路。
  3. 【請求項3】請求項1又は2に記載の可変長パケット書
    き込み回路により前記メモリに書き込まれた前記可変長
    パケットを読み出す可変長パケット読み出し回路であっ
    て、 前記可変長パケットの先頭のブロックが書き込まれた前
    記メモリのアドレスを保持する第2のアドレス保持手段
    と、 前記ブロックが読み出される毎に増分する第2のカウン
    タと、 前記第2のアドレス保持手段に保持された前記アドレス
    と、前記第2のカウンタのカウント値とを加算して、前
    記メモリの読み出し先のアドレスを導出する第2の加算
    手段と、を備えることを特徴とする可変長パケット読み
    出し回路。
JP2000272772A 2000-09-08 2000-09-08 可変長パケット書き込み及び読み出し回路 Pending JP2002084316A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000272772A JP2002084316A (ja) 2000-09-08 2000-09-08 可変長パケット書き込み及び読み出し回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000272772A JP2002084316A (ja) 2000-09-08 2000-09-08 可変長パケット書き込み及び読み出し回路

Publications (1)

Publication Number Publication Date
JP2002084316A true JP2002084316A (ja) 2002-03-22

Family

ID=18758831

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000272772A Pending JP2002084316A (ja) 2000-09-08 2000-09-08 可変長パケット書き込み及び読み出し回路

Country Status (1)

Country Link
JP (1) JP2002084316A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003073721A1 (fr) * 2002-02-28 2003-09-04 Matsushita Electric Industrial Co., Ltd. Dispositif et procede de stockage
JP2010165245A (ja) * 2009-01-16 2010-07-29 Fujitsu Ltd プロセッサ
JP2013135383A (ja) * 2011-12-27 2013-07-08 Nippon Telegr & Teleph Corp <Ntt> パケットバッファ装置およびパケットバッファ制御方法
JP2013135382A (ja) * 2011-12-27 2013-07-08 Nippon Telegr & Teleph Corp <Ntt> パケットバッファ装置およびパケットバッファ制御方法
JP2014002597A (ja) * 2012-06-19 2014-01-09 Denso Corp 移動体用データ処理方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003073721A1 (fr) * 2002-02-28 2003-09-04 Matsushita Electric Industrial Co., Ltd. Dispositif et procede de stockage
US7117317B2 (en) 2002-02-28 2006-10-03 Matsushita Electric Industrial Co., Ltd. Apparatus and method for efficient storage of data streams that each comprise separately transmitted data blocks
JP2010165245A (ja) * 2009-01-16 2010-07-29 Fujitsu Ltd プロセッサ
JP2013135383A (ja) * 2011-12-27 2013-07-08 Nippon Telegr & Teleph Corp <Ntt> パケットバッファ装置およびパケットバッファ制御方法
JP2013135382A (ja) * 2011-12-27 2013-07-08 Nippon Telegr & Teleph Corp <Ntt> パケットバッファ装置およびパケットバッファ制御方法
JP2014002597A (ja) * 2012-06-19 2014-01-09 Denso Corp 移動体用データ処理方法

Similar Documents

Publication Publication Date Title
JP4740261B2 (ja) 通信システム及び通信モジュールの通信リンクや通信システムのノードを経由してメッセージのデータを伝送する方法と、この方法を実現するための通信システム。
US7707335B2 (en) Device and method for managing a retransmit operation
KR870001112B1 (ko) 데이타 자동연속 처리회로
KR100977897B1 (ko) 메시지 메모리 내에서 메시지를 저장하기 위한 방법 및상응하는 메시지 메모리
JP2007259274A (ja) 再送制御回路、送信装置、再送制御方法及び再送制御プログラム
JP2002084316A (ja) 可変長パケット書き込み及び読み出し回路
US20040090975A1 (en) Bit clearing mechanism for an empty list
JPH11110339A (ja) Dmaコントローラ
US6816928B1 (en) Packet communication apparatus with first and second processing circuits which access a storage circuit during first and second time periods, respectively
JPH06103225A (ja) チェーン式dma方式及びそのためのdmaコントローラ
US20190391840A1 (en) Memory module
JP2003208788A (ja) 2ポートメモリによるバッファ
JPH10340596A (ja) データ記憶装置および半導体記憶装置
JP3193202B2 (ja) Fifo型メモリ
JPH0736819A (ja) Dmaデータ転送装置
JP2004289805A (ja) データ送信装置およびデータ受信装置
JP2020119012A (ja) 通信制御装置
JPH08204990A (ja) 画像メモリ装置
JPH1011388A (ja) ダイレクトメモリアクセス制御装置
KR100293953B1 (ko) 씨피유가 없는 이더넷 스위치 콘트롤러에서 패킷 메모리를 관리하는 장치 및 방법
JP4431246B2 (ja) タイマ回路
JP3541817B2 (ja) パケット交換機
KR200256519Y1 (ko) 비동기 입출력 버퍼 구동 장치
JP2007241936A (ja) データ転送回路
JPH1185671A (ja) ダイレクト・メモリ・アクセスコントローラ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070905

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20070905

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20080618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090825

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091222