JP2006135379A - パケット処理装置及びパケット処理方法 - Google Patents
パケット処理装置及びパケット処理方法 Download PDFInfo
- Publication number
- JP2006135379A JP2006135379A JP2004318957A JP2004318957A JP2006135379A JP 2006135379 A JP2006135379 A JP 2006135379A JP 2004318957 A JP2004318957 A JP 2004318957A JP 2004318957 A JP2004318957 A JP 2004318957A JP 2006135379 A JP2006135379 A JP 2006135379A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- pointer
- data
- length
- storage memory
- 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
Links
Images
Abstract
【課題】本発明は可変長パケットを固定長データに分割して共有メモリに書込んで読出しを行うパケット処理装置及びパケット処理方法に関し,従来の不効率の発生要因であるパディングへのアクセス時間を無くし,共有メモリの論理スループットを向上することを目的とする。
【解決手段】共有メモリは,分割した固定長パケットをポインタリンクにより指定されたページに順に格納するパケット格納メモリと,ポインタリンクのページに対応して次にリンクするページを表す次ポインタとページ内の有効データ数を表すアクセスカウントとを格納するポインタ格納メモリとを備える。固定長データを書込む際に,パケット分割時に検出したアクセスカウントの数のデータを書込む制御を行う手段と,パケットを読出す際に,前記パケットのページに対応したポインタ格納メモリの位置から読出したアクセスカウントの数のデータ数を読出す制御を行う手段とを備えるよう構成する。
【選択図】図1
【解決手段】共有メモリは,分割した固定長パケットをポインタリンクにより指定されたページに順に格納するパケット格納メモリと,ポインタリンクのページに対応して次にリンクするページを表す次ポインタとページ内の有効データ数を表すアクセスカウントとを格納するポインタ格納メモリとを備える。固定長データを書込む際に,パケット分割時に検出したアクセスカウントの数のデータを書込む制御を行う手段と,パケットを読出す際に,前記パケットのページに対応したポインタ格納メモリの位置から読出したアクセスカウントの数のデータ数を読出す制御を行う手段とを備えるよう構成する。
【選択図】図1
Description
本発明は,IPネットワークやハードディスク等の可変長パケットを固定長データに分割して書込んで,読み出すパケット処理装置及びパケット処理方法に関し,具体的には可変長パケットのデータを伝送するネットワーク間を中継するインターネットワーク装置や,可変長パケットを格納して読み出す記憶装置の技術に適用される。
IPネットワーク等のデータを伝送するネットワークでは,可変長データのパケットが伝送され,ネットワークには中継を行うパケット処理装置が設けられ,可変長データを固定長データに分割して格納して再生する。
従来のパケット処理装置では,IPネットワークの中継装置では,QOS(サービス品質:Quality Of Service)の要求により,受信パケットを通信フローやQOSのクラス毎にキューイングする装置が増えている。複数のフローやQOSのクラス毎にキューを構成する方法として,単数あるいは複数の記憶装置を用い,キュー毎に記憶装置のデータ格納領域を割り当て,固定領域をFIFO(First In First Out) キューとして使用する方法がある。この場合,トラフィックが一部のキューに偏った場合を考慮して一つのキューの容量を決める必要が生じ,全体としては非常に大きな記憶装置を,低い使用率で使用する必要が生じる。
この解決策として,従来のパケット処理装置では,ポインタリンクの利用により記憶領域のシェアリングを行う共有メモリを採用するようになった。図7〜図9を用いて従来の共有メモリの技術を説明する。
図7は従来の共有メモリの構成を示し,図8はパケット受信からメモリへ格納するまでの動作シーケンス,図9はパケットを分割して格納する場合のタイミングチャートを示す図である。
図7のA.はパケット格納メモリとポインタ格納メモリの関係を示し,B.はページ単位の拡大図を示す。可変長パケットを格納する場合,可変長のパケットは予め決められたnワードからなる固定長のパケットデータに分割され,各分割パケットは図7に示すパケット格納メモリ80のnワード毎に区切られたページ81に格納される。ポインタ格納メモリ82には,各ページ81に格納された分割パケットに後続する分割パケットがある場合に,後続する(Next) 分割パケットを格納するパケット格納メモリ80上のアドレスである次ポインタ(Next Pointer) 83が格納される。なお,一つの可変長パケットは連続したページに格納されることはなく,分割されたパケットはそれぞれ全く関連のない領域に,ばらばらに格納される。これらばらばらに格納されたパケットを関連付けるのが「次ポインタ」に書き込まれたポインタで,パケット格納時,あるページに格納された固定長データに連続する固定長データがどこに格納されたかを示す。ポインタは通常,アドレスとリンクしており,読み出し時,固定長データを読み出すと共に,次ポインタを参照し,相当するアドレスから次の固定長データを読み出すことにより,可変長パケットデータの連続性を再現することができる。
図7のA.の場合,パケット格納メモリ80はnワードの容量を持つmページ(♯0,♯1,♯2,……,♯m)で構成され,各ページ♯0,ページ♯1,……,ページ♯mのアドレスは,0〜(n−1),n〜(2n−1),……,(m−1)n〜(mn−1)である。このように,可変長のパケットを固定長のパケットに分割して,空きページのリンクから成るキュー(待ち行列)を用いて,QOSに対応したページのリンクに可変長パケットの分割パケットが順番に格納され,次ポインタがポインタ格納メモリに格納される。
図8,図9を用いて可変長パケットを受信して格納する場合の動作を説明する。図8の(1) に示す受信パケットAを受信する時,受信パケットAは(2) に示すようにパケットデータA−1,A−2,A−3,A−4という4つのパケットデータに分割される。これらの各パケットデータは(3) に示すようにパケット格納メモリと同じ容量のページに構成される。但し,パケットデータA−4は,分割する単位のデータ長より短いため,パケット格納メモリのページ内の一部に格納され,ページ内の残りの部分にパディングのデータ(オール“0”やオール“1”等)が書込まれる。この後,図8の(4) に示すように,パケット格納メモリの各パケットデータA−1〜A−4の格納位置に対応するポインタ格納メモリの各位置に「次ポインタ」を格納する。この例では,パケットデータA−1,A−2はパケット格納メモリのページ♯0,♯1に格納され,パケットデータA−3はページ♯3に格納されるため,ページ♯1に対応するポインタ格納メモリの位置の「次ポインタ」の内容として「♯3」が格納され,ぺージ♯3に対応するポインタ格納メモリの位置の「次ポインタ」の内容として「♯4」が格納される。これにより,パケットデータA−4はぺージ♯4に格納され,このぺージ♯4の残りの領域にパディングデータが書込まれる。
上記図8の動作シーケンスに対するタイミング関係が図9に示され,図9のaは処理クロック(ワード単位),bは受信パケット,cはポインタ格納メモリへのアクセスデータ,dはパケット格納メモリへのアクセスデータを表す。
図9のbに示すように受信パケットAを受信すると,固定長のパケットデータへの分割が行われ,一定の処理遅延の後にcに示すポインタ格納メモリへの書込みと,dに示すパケット格納メモリへの書込みが順番に行われる。この例では,一つの分割されたパケットデータの書込みを行うために,aに示すクロックの5サイクル分の時間を要するものとし,パケットデータのA−1,〜A−3の書込みを行うために,それぞれ5サイクルの時間がかかる。その後のパケットデータA−4は非常に短いデータであっても,そのデータを書込んだ後のパディングデータの書込みを行うため,他のパケットデータA−1等と同じ処理時間がかかる。なお,上記の1パケットの中にパディングデータが付加された場合,通常,読み出し時にパディングデータの部分のみが削除される。
従来のインターネットワーク装置の技術に関し,パケットを中継処理するためのパケットデータ管理方法が提案されている(特許文献1参照)。その管理方法では,ネットワークに接続された通信モジュール間は,バスにより接続され,情報の送受信を制御するポート制御回路と他の通信モジュールと情報の送受信を制御するバス制御回路と,受信された宛先情報に基づいて対応するネットワークに情報を転送する情報処理回路と,情報を蓄積する共用のバッファを備え,ポート制御回路は受信した情報を固定長のブロックに分割して蓄積し,アドレスを管理するポート側受信管理手段と送信すべき情報のアドレスを管理する送信管理手段とを備える。固定長のブロックに分割されたバッファのブロック毎に各々割り付けられるアドレス及びデータ長等を示すバッファ管理情報(ディスクリプタ)を管理テーブルに保持してパケットデータを管理し,各ディスクリプタは,各ブロック毎に備え,各ブロックの先頭位置を示すポインタ情報と次のブロックの先頭位置を示すポインタ情報とが初期設定時に設定され,次の先頭位置を保持することでディスクリプタはチェーン接続される。また,ネットワークからの情報受信時には,ブロック単位に情報が分割されてバッファの各ブロックに蓄積される。
特開平7−66839号公報
上記図7〜図9に示した従来の共有メモリのアクセス方法では,パディング部分の書込み/読出しも行うため,パディング部分の割合が高くなる短いパケットを書込み/読出しする場合には,メモリアクセスの物理スループットに対して,パディングデータの処理に占める割合が高くなる。その場合,メモリアクセスの物理スループットと論理スループットの乖離が激しく,論理スループットの低下が著しい。
例えば,1ページ=64バイト(Byte) と定義した場合に,65バイトのパケットが連続して到着すると,各65バイトのパケットは,それぞれ64バイトと1バイトの2つのパケットに分割され,1バイトの分割されたパケットに対しパディングを63バイト付加して書込み/読出しするため,論理スループット=物理スループット・65バイト/128バイト≒50%程度となる。この論理スループットは書込みだけでなく,読出し時にも同様である。
これを言い換えれば,共有メモリを搭載する装置を開発する場合,要求される論理スループットの200%程度の物理スループットを持った共有メモリが必要になるという問題があった。
なお,上記特許文献1の技術は,固定長のブロックに分割されたバッファのブロック毎に各々割り付けられるアドレス及びデータ長等を示すバッファ管理情報(ディスクリプタ)を管理テーブルに保持してパケットデータを管理し,各ディスクリプタは,各ブロック毎に備え,各ブロックの先頭位置を示すポインタを備えた管理方法について開示されているが,受信パケットを固定長ブロックに分割した時の,余りのデータに対して付加されるパディングデータの処理におけるスループットの向上について示唆されていない。
本発明は従来の不効率の発生要因であるパディングへのアクセス時間を無くし,共有メモリの論理スループットを向上することができるパケット処理装置及びパケット処理方法を提供することを目的とする。そして,本発明は可変長パケットのデータを伝送するネットワーク間を中継するインターネットワーク装置や,可変長パケットを記憶して読み出す機能を備える記憶装置に対して適用される。
図1は本発明の原理説明図である。図1のA.はパケット格納メモリとポインタ格納メモリの全体の構成,B.はページ単位の拡大図であり,2つのリンクしたページを示す。図中,1はパケット格納メモリ,10は可変長のパケットを分割する単位である固定長(nワードとする)のパケットを格納するページであり,2はポインタ格納メモリ,20はパケット格納メモリ1の各ページに対応して,そのページにリンクする次のページの先頭アドレスを表す次ポインタ格納領域,21は次ポインタで表すページに格納されるデータ長(ワード数)を表すアクセスカウント(またはアクセスサイクル)を格納するアクセスカウント格納領域である。また,B.の10aと10bはリンクした2つのページを表す。本発明ではこのパケット格納メモリ1とポインタ格納メモリ2とで共有メモリを構成する。
本発明では各ページ10に関連する情報として,可変長パケットを固定長のパケットに分割して,空きページのリンクである次ポインタのキューを用いて順番に次ポインタで示すパケット格納メモリ1のページ10に格納する。この時,各ページ10に後続する固定長パケットを格納するページ10のアドレスを,ポインタ格納メモリ2の次ポインタ格納領域20として書込み,その次ポインタで示すぺージ10内における実際に書込まれたデータ量(有効データ量)をアクセスカウントとしてアクセスカウント格納領域21に格納する。このアクセスカウント格納領域21に格納されたアクセスカウントの値は,分割したパケットのデータ量が固定長(1ページのデータ量)未満の場合に,このアクセスカウント格納領域21に示すカウント値(データ量)だけデータを書込み(読出し),固定長のページの余り(残り)の部分(従来はパディングデータを格納していた部分)については何も書込む(読出す)処理を行わない。すなわち,このアクセスカウントの値により書込みサイクルが決定する。この共有メモリからの読出しアクセス時には,ポインタ格納メモリ2の対応する次ポインタ格納領域20により示すぺージをパケット格納メモリ1から読出す時に,その次ポインタと共に格納されているアクセスカウント格納領域のアクセスカウント数をアクセスカウンタ(図1では省略,後述する図2に符号14として示す)にセットして,そのアクセスカウント数のデータ量の読出しを行い,その後の余りの部分の読出しアクセスは行わない。すなわち,このアクセスカウントの値により読出しサイクルが決定する。
本発明によれば,可変長パケットを固定長分割した際の余りに対してパディングデータを付加する必要がなく,共有メモリに対するパディングのアクセスが必要ないため,物理スループットに対する不効率が発生しない。これにより,可変長パケットを書込んで,読出しを行うパケット処理における論理スループットが向上する。
例えば,1ページの大きさを64バイト,メモリの1ワードを16バイト,メモリアクセスの物理スループットが20Gbpsと仮定した場合,従来の回路構成における論理スループットは次の式(1) で計算されている通り,5.078Gbpsである。これに対して本発明における論理スループットは次の式(2) で計算される通り,8.125Gbpsであり,スループットが1.6倍に向上する。
論理スループット=10Gbps×65Byte/128Byte ≒5.08Gbps ………(1)
論理スループット=10Gbps×65Byte/80Byte=8.125Gbps ………(2)
論理スループット=10Gbps×65Byte/80Byte=8.125Gbps ………(2)
図2は実施例の構成である。図中,1はパケット格納メモリ,11はパケット格納メモリ1への書込みと読出しアクセスを調停する第1の調停部,12は入力する可変長パケットを固定長(パケット格納メモリの1ぺージのデータ量に対応)パケットに分割する固定長分割部,13は分割した固定長パケットをパケット格納メモリに書込む第1の書込制御部,14は有効データ量が設定されるアクセスカウンタ,15はパケット格納メモリ1からパケットを読出す第1の読出制御部,16はパケット再生部である。
2はポインタリンクを行うポインタ格納メモリであり,各ポインタに対応したワードに次ポインタ(Next Pointer) 及びアクセスカウントが格納されている。22はポインタ格納メモリ2への書込みアクセスと読出しアクセスを調停し,調停の結果としてアクセス制御信号(図2の22a),アドレス(図2の22b)及び書込みデータ(図2の22c)を生成し,読出しデータ(図2の2a)を受信する第2の調停部,23はポインタ格納メモリ2への書込みの制御を行う第2の書込制御部,24はポインタ格納メモリ2からの読出しの制御を行う第2の読出制御部である。
第1の調停部11は第1の書込制御部13,第1の読出制御部15,アクセスカウンタ14からの情報を受信して,調停を行い,分割されたパケットデータを格納するパケット格納メモリ1のアクセス制御信号(図2の11a),アドレス(図2の11b)及び書込みデータ(同11c)を生成し,読出しデータ(図1の1a)を受信する。
なお,図2ではパケット格納メモリ1とポインタ格納メモリ2は異なるメモリとして示しているが,パケット格納メモリ1の各ぺージとポインタ格納メモリ2の次ポインタ及びアクセスカウントの情報は1対1の関係を持つものであるから,同一のメモリとして構成することが可能である。
実施例の構成による書込みの処理と読出しの処理をそれぞれ図3と図4を用いて説明する。図3は書込みの処理フロー,図4は読出しの処理フローである。
図2と図3を用いて,パケットの書込み動作を説明する。入力パケット(可変長パケット)が固定長分割部12に入力すると,固定長パケット(または固定長ブロック)に分割され,固定長パケット12aは第1の書込制御部13に入力され,固定長パケットのアクセスカウント(有効データ長:図2の12b)はアクセスカウンタ14に供給される。第1の書込制御部13では,固定長データ(パケット)を受信すると(図3のS1),第2の読出制御部24に対して空き領域のキューの先頭を求めるため,ポインタ要求(図2の13e)を送信する(図3のS2)。第2の読出制御部24がこれを受信すると(図3のS3),空き領域キューの先頭ポインタ(予め保持して,後述するS6により更新が行われる)を使用して空き領域ポインタを生成し(同S4),第1の書込制御部13に対し送信する(図3のS7)。この動作と共に空き領域キューの先頭ポインタを読出すため読出しアクセス制御信号(図2の24d)と読出しアドレス(図2の24e)をポインタ格納メモリ2にアクセスするため第2の調停部22に出力する(図3のS5)。これによりポインタ格納メモリ2から空き領域を示すポインタが得られると,その空き領域キューの先頭を示すポインタで空き領域キューの先頭アドレスを更新し(図3のS6),次のポインタ要求の受信に備える。
第2の読出制御部24から送信された空き領域のポインタを第1の書込制御部13で受信すると(図3のS8),書込みアクセス制御信号(図2の13a),書込みアドレス(図2の13b),及び書込みデータ(図2の13c)を生成して,第1の調停部11の調停を経てパケット格納メモリ1に送出する(図3のS10)。これと並行して,使用したポインタを第2の書込制御部23へ送信する(図3のS9)。これにより,パケット格納メモリ1にデータが書込まれる。
第2の書込制御部23で,第1の書込制御部13から送信されたポインタを受信すると(図3のS11),データ格納キューの末尾のポインタを使用して,書込みアクセス制御信号(図2の23a),書込みアドレス(図2の23b)及び書込みデータ(図2の23c)を生成する(図3のS12)。
この書込み動作において,アクセスカウンタ14は,固定長分割部12から固定長データの有効範囲を示すアクセスカウント(図2の12b)を受信して設定されると,パケット格納メモリ1への書込み制御時のアクセスサイクルを決定すると共に第1の調停部11を制御する。具体的には,1つのデータ(ワード)の書込み毎にカウントしてアクセスカウント値と一致すると,書込み動作を停止する(または,アクセスカウンタ14をデータの書込み毎にダウンカウントして0になると停止する)。
パケットデータの読出し動作を図2,図4を用いて説明する。パケット出力要求が発生すると,第2の読出制御部24で受信され(図4のS1),ポインタ格納メモリ2の読出し制御を行う。すなわち,第2の読出制御部24は,出力要求されたキューの先頭のポインタを読出すための読出しアクセス制御信号(図2の24d),読出しアドレス(図2の24e)を生成し,第2の調停部22を通して,読出しデータ(図2の22d)を受信して,読出しポインタ(図2の24c)とアクセスカウント(図2の24b)を生成して送信する(図4のS2)。また,第2の読出制御部24はその読出しポインタを使用して,読出しアクセス制御信号(図2の24d),読出しアドレス(図2の24e)を生成して,ポインタ格納メモリ2に送信して読出しを行い(図4のS3),読出しデータ(図2の22d)を受信すると(同S4),出力要求のキューの先頭ポインタを更新し(図4のS5),図4のS1に戻る。
一方,第1の読出制御部15が上記ステップS2で第2の読出制御部24から送信されたアクセスカウントと読出しポインタを受信すると(図4のS6),読出しポインタ(図2の15c)を第2の書込制御部23に送信する(図4のS7),と共に読出しポインタ(図2の24c)を使用して,読出しアクセス制御信号(図2の15a)と読出しアドレス(図2の15b)を生成してパケット格納メモリに第1の調整部11を通して送信する(図4のS8)。
これに応じて,第1の読出制御部15ではパケット格納メモリ1から読出しデータ(図2の11d)を受信する(図4では読出し時のアクセスカウンタの制御動作は省略した)。読出しデータは,読出しパケットデータ(図2の15d)として,データの有効範囲を示すイネーブル信号(図2の15e)と共にパケット再生部16に入力され,パケット再生部16では,分割されていたデータを組み合わせて出力パケットを再生して出力する。
第2の書込制御部23では,上記ステップS7の処理により送信された読出しポインタ(図2の15c)を受信すると(図4のS9),その読出しポインタを使用して,書込みアクセス制御信号(図2の23a),書込みアドレス(図2の23b)及び書込みデータ(図2の23c)を生成して第2の調停部(図2の22)を通してポインタ格納メモリ2に送信し(図4のS10),書込みを行う。
この読出し動作において,第2の読出制御部24によりポインタ格納メモリ2から読出されたアクセスカウント(図2の24b)がアクセスカウンタ14に設定されると,パケット格納メモリ1から第1の読出制御部15による読出し制御時のアクセスサイクルが,アクセスカウントにより決定すると共に第1の調停部11も制御される。
図5は本発明による共有メモリのアクセスのタイミングチャートである。図中,aは処理クロック,bは受信パケット,cはポインタ格納メモリのアクセスデータ,dはアクセスカウンタ,eはパケット格納メモリのアクセスデータのタイミング関係を示す。
bに示すように受信パケットAが入力すると,cに示すポインタ格納メモリのアクセスデータが得られる。但し,ポインタ格納メモリから得られた最初のデータ「♯1」は次ポインタ,「5」はアクセスカウントで5ワードを表す,この例では分割パケットの固定長が「5ワード」とする。
受信パケットAは,固定長(5ワード)に分割され,分割されたパケットデータは空きページのチェーンであるポインタリンクを利用して,その先頭のポインタから順にパケット格納メモリに格納され,分割パケットが書込まれる各ページに対応して次ポインタとアクセスカウントの値がパケット格納メモリに書込まれる。
図5のeに示すパケット格納メモリのアクセスデータに示すように,先頭の分割されたパケットデータA−1が空きキューの先頭のページ♯0に格納され,次の分割されたパケットデータA−2はポインタ格納メモリのページ♯1にアクセスカウントの値「5」で示すワード数だけ,図5のdで示すように格納される。更に分割されたパケットデータA−3は,「♯3」のページに,アクセスカウントの値「5」で示すワード数だけパケット格納メモリに格納される。この後の分割されたパケットデータA−4は,「♯4」のページに,有効データ長が「1」であることを表すアクセスカウント値「1」が発生するため,図5のeに示すように,ページ「♯4」に1ワードのデータだけ書込まれる。この後,後続する受信パケットBの分割されたパケットデータB−1の書込み動作が実行される。
図6はアクセスカウンタ(図2の14)の具体的構成例を示す。図6の符号30〜36により構成する回路は,固定長分割部(図2の12)から供給されるパケットデータ書込用のアクセスカウントを受け取って,書込みの時のカウントを行う回路であり,符号40〜46により構成する回路は,第2の読出制御部(図2の24)から供給されるデータ読出用のアクセスカウントを受け取って,読出し時のカウントを行う回路である。
図中,30,40はアクセスカウントがセットされて,ダウンカウント機能を備える3ビットダウンカウンタ,31,41は3ビットダウントカウンタ30,40が“1”になったかの判別をする判別回路,32,42は検出回路31,41から検出出力が発生するとセットされて,出力端子X0から検出出力を発生するD型フリップフロップ(DFFで表す),33,43,36,46はアンド回路,34,44はオア回路,35,45はタイミング信号を保持するD型フリップフロップ(DFF)である。
パケットデータを書込む場合,アクセスカウント(有効範囲データ)とタイミングパルス(TPで表す)が固定長分割部より入力されると,タイミングパルスがDFF35にセットされ,そのセット出力がアンド回路36から3ビットダウンカウンタ30のロード端子へ供給されて,アクセスカウントが3ビットダウンカウンタ30にロードされる。この後,パケットデータを1ワード書込むために発生する書込みクロック(Write Clock)により3ビットダウンカウンタ30がダウンカウントする。3ビットダウンカウンタ30のカウント値が“1”(または“0”)になると判別回路31から検出出力を発生し,DFF32がセットされ,第1の調停部11を介してパケット格納メモリに供給され,この信号により書込みを停止させる。こうして,アクセスカウントのワード数のパケットデータの書込みが行われる。
パケットデータを読出す場合は,40〜46の各回路により上記書込みの場合と同様の原理によりアクセスカウントに対応するワード数の読出し動作が行われる。
(付記1) 可変長パケットを固定長データに分割して共有メモリに書込んで読出しを行うパケット処理装置において,前記共有メモリは,前記分割した固定長パケットをポインタリンクにより指定されたページに順に格納するパケット格納メモリと,前記ポインタリンクのページに対応して次にリンクするページを表す次ポインタと,次ポインタで示すページ内の有効データ数を表すアクセスカウントとを格納するポインタ格納メモリとを備え,前記固定長データの書込み時に,前記固定長パケットの分割時に検出したアクセスカウントの数のデータを書込むパケット格納メモリの書込制御部と,
前記パケット格納メモリへ書込んだ固定長パケットのページに対応した前記ポインタ格納メモリに格納されたアクセスカウントで表すデータ数の読出しを行うポインタ格納メモリの読出制御部と,を備えることを特徴とするパケット処理装置。
前記パケット格納メモリへ書込んだ固定長パケットのページに対応した前記ポインタ格納メモリに格納されたアクセスカウントで表すデータ数の読出しを行うポインタ格納メモリの読出制御部と,を備えることを特徴とするパケット処理装置。
(付記2) 付記1において,可変長パケットを入力して固定長パケットに分割するパケット分割部を備え,前記パケット分割部は,分割されたパケットの有効データ数を検出して前記アクセスカウントを出力することを特徴とするパケット処理装置。
(付記3) 付記1において,前記パケット格納メモリへの書込み動作と読出し動作を制御するアクセスカウンタを設け,前記アクセスカウンタは,入力する可変長パケットを書込む時に,固定長パケットへの分割時に発生したアクセスカウントが設定され,パケットの読出し時に,前記ポインタ格納メモリから読出したアクセスカウントが設定されることを特徴とするパケット処理装置。
(付記4) 付記3において,前記アクセスカウンタはダウンカウンタにより構成することを特徴とするパケット処理装置。
(付記5) 付記1において,前記パケット格納メモリと前記ポインタ格納メモリを同一のメモリにより構成することを特徴とするパケット処理装置。
(付記6) 可変長パケットを固定長データに分割してページ単位のポインタリンクを用いてメモリに書込んで読出しをするためのパケット処理方法において,可変長パケットを固定長データに分割したパケットをポインタリンクにより指定されたパケット格納メモリのページに格納すると共にポインタ格納メモリの前記パケットのページに対応した位置に次に連続するページの位置を表す次ポインタと,次ポインタにより示すページ内の有効データ数を表すアクセスカウントとを格納し,前記パケット格納メモリへ可変長パケットを書込む時に固定長パケットに分割する際に有効データ長を検出してアクセスカウントを生成し,前記パケット格納メモリからのパケットの読出し時に,前記ポインタ格納メモリから読出した対応するアクセスカウントを用いて書込み及び読出しを行うことを特徴とするパケット処理方法。
1 パケット格納メモリ
10 ページ
2 ポインタ格納メモリ
20 次ポインタ格納領域
21 アクセスカウント格納領域
10a ページ
10b 10aにリンクしたページ
10 ページ
2 ポインタ格納メモリ
20 次ポインタ格納領域
21 アクセスカウント格納領域
10a ページ
10b 10aにリンクしたページ
Claims (4)
- 可変長パケットを固定長データに分割して共有メモリに書込んで読出しを行うパケット処理装置において,
前記共有メモリは,前記分割した固定長パケットをポインタリンクにより指定されたページに順に格納するパケット格納メモリと,前記ポインタリンクのページに対応して次にリンクするページを表す次ポインタと,次ポインタで示すページ内の有効データ数を表すアクセスカウントとを格納するポインタ格納メモリとを備え,
前記固定長データを前記パケット格納メモリへの書込む際に,前記固定長パケットの分割時に検出したアクセスカウントの数のデータを書込む制御を行う手段と,
前記パケット格納メモリのパケットを読出す際に,前記パケットのページに対応した前記ポインタ格納メモリの位置から読出したアクセスカウントの数のデータ数を読出す制御を行う手段と,
を備えることを特徴とするパケット処理装置。 - 請求項1において,
可変長パケットを入力して固定長パケットに分割するパケット分割部を備え,前記パケット分割部は,分割されたパケットの有効データ数を検出して前記アクセスカウントを出力することを特徴とするパケット処理装置。 - 請求項1において,
前記パケット格納メモリへの書込み動作と読出し動作を制御するアクセスカウンタを設け,
前記アクセスカウンタは,入力する可変長パケットを書込む時に,固定長パケットへの分割時に発生したアクセスカウントが設定され,パケットの読出し時に,前記ポインタ格納メモリから読出したアクセスカウントが設定されることを特徴とするパケット処理装置。 - 可変長パケットを固定長データに分割してページ単位のポインタリンクを用いてメモリに書込んで読出しをするためのパケット処理方法において,
可変長パケットを固定長データに分割したパケットをポインタリンクにより指定されたパケット格納メモリのページに格納すると共にポインタ格納メモリの前記パケットのページに対応した位置に次に連続するページの位置を表す次ポインタと,次ポインタにより示すページ内の有効データ数を表すアクセスカウントとを格納し,
前記パケット格納メモリへ可変長パケットを書込む時に固定長パケットに分割する際に有効データ長を検出してアクセスカウントを生成し,前記パケット格納メモリからのパケットの読出し時に,前記ポインタ格納メモリから読出した対応するアクセスカウントを用いて書込み及び読出しを行うことを特徴とするパケット処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004318957A JP2006135379A (ja) | 2004-11-02 | 2004-11-02 | パケット処理装置及びパケット処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004318957A JP2006135379A (ja) | 2004-11-02 | 2004-11-02 | パケット処理装置及びパケット処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006135379A true JP2006135379A (ja) | 2006-05-25 |
Family
ID=36728574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004318957A Pending JP2006135379A (ja) | 2004-11-02 | 2004-11-02 | パケット処理装置及びパケット処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006135379A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011130249A (ja) * | 2009-12-18 | 2011-06-30 | Fujitsu Telecom Networks Ltd | 通信制御装置 |
WO2014115207A1 (ja) * | 2013-01-25 | 2014-07-31 | パナソニック株式会社 | バスインタフェース装置、中継装置、およびそれらを備えたバスシステム |
-
2004
- 2004-11-02 JP JP2004318957A patent/JP2006135379A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011130249A (ja) * | 2009-12-18 | 2011-06-30 | Fujitsu Telecom Networks Ltd | 通信制御装置 |
WO2014115207A1 (ja) * | 2013-01-25 | 2014-07-31 | パナソニック株式会社 | バスインタフェース装置、中継装置、およびそれらを備えたバスシステム |
US10104006B2 (en) | 2013-01-25 | 2018-10-16 | Panasonic Intellectual Property Management Co. Ltd | Bus interface apparatus, router, and bus system including them |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1192753B1 (en) | Method and apparatus for shared buffer packet switching | |
JP2803262B2 (ja) | パケット・スイッチ | |
US4864560A (en) | System for changing priority of information | |
JPH0685842A (ja) | 通信装置 | |
CN108366111B (zh) | 一种用于交换设备的数据包低时延缓存装置与方法 | |
JPWO2004066570A1 (ja) | ネットワークスイッチ装置およびネットワークスイッチ方法 | |
US6304936B1 (en) | One-to-many bus bridge using independently and simultaneously selectable logical FIFOS | |
JPS61214694A (ja) | データ伝送のスイッチング装置 | |
US4612636A (en) | Multiple channel depacketizer | |
US6594270B1 (en) | Ageing of data packets using queue pointers | |
CN113032295A (zh) | 一种数据包二级缓存方法、系统及应用 | |
CN116431079A (zh) | 数据读取、写入方法及装置、带宽转换装置和电子设备 | |
JP2628701B2 (ja) | 優先順位付き情報パケット用交換装置 | |
JP5332430B2 (ja) | 共有メモリシステム | |
EP1508225B1 (en) | Method for data storage in external and on-chip memory in a packet switch | |
EP1555620B1 (en) | Stream memory manager | |
US6647477B2 (en) | Transporting data transmission units of different sizes using segments of fixed sizes | |
JP2006135379A (ja) | パケット処理装置及びパケット処理方法 | |
US20100054272A1 (en) | Storage device capable of accommodating high-speed network using large-capacity low-speed memory | |
US7111093B2 (en) | Ping-pong buffer system having a buffer to store a subset of data from a data source | |
US8073999B2 (en) | Data input-output control apparatus | |
JP4406011B2 (ja) | 通信ネットワークを介して接続されたプロセッシングユニットを備えた電子回路 | |
US6831920B1 (en) | Memory vacancy management apparatus and line interface unit | |
JPH06284453A (ja) | Atmセルスイッチ | |
JP2006050641A (ja) | デジタル遅延バッファ及びこれに関連する方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071016 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090901 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090929 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100209 |