(57)【要約】【課題】本発明は可変長パケットを固定長データに分割して共有メモリに書込んで読出しを行うパケット処理装置及びパケット処理方法に関し，従来の不効率の発生要因であるパディングへのアクセス時間を無くし，共有メモリの論理スループットを向上することを目的とする。【解決手段】共有メモリは，分割した固定長パケットをポインタリンクにより指定されたページに順に格納するパケット格納メモリと，ポインタリンクのページに対応して次にリンクするページを表す次ポインタとページ内の有効データ数を表すアクセスカウントとを格納するポインタ格納メモリとを備える。固定長データを書込む際に，パケット分割時に検出したアクセスカウントの数のデータを書込む制御を行う手段と，パケットを読出す際に，前記パケットのページに対応したポインタ格納メモリの位置から読出したアクセスカウントの数のデータ数を読出す制御を行う手段とを備えるよう構成する。【選択図】図１
2006135379.tif 000002
【特許請求の範囲】
【請求項１】
可変長パケットを固定長データに分割して共有メモリに書込んで読出しを行うパケット処理装置において，
前記共有メモリは，前記分割した固定長パケットをポインタリンクにより指定されたページに順に格納するパケット格納メモリと，前記ポインタリンクのページに対応して次にリンクするページを表す次ポインタと，次ポインタで示すページ内の有効データ数を表すアクセスカウントとを格納するポインタ格納メモリとを備え，
前記固定長データを前記パケット格納メモリへの書込む際に，前記固定長パケットの分割時に検出したアクセスカウントの数のデータを書込む制御を行う手段と，
前記パケット格納メモリのパケットを読出す際に，前記パケットのページに対応した前記ポインタ格納メモリの位置から読出したアクセスカウントの数のデータ数を読出す制御を行う手段と，
を備えることを特徴とするパケット処理装置。
【請求項２】
請求項１において，
可変長パケットを入力して固定長パケットに分割するパケット分割部を備え，前記パケット分割部は，分割されたパケットの有効データ数を検出して前記アクセスカウントを出力することを特徴とするパケット処理装置。
【請求項３】
請求項１において，
前記パケット格納メモリへの書込み動作と読出し動作を制御するアクセスカウンタを設け，
前記アクセスカウンタは，入力する可変長パケットを書込む時に，固定長パケットへの分割時に発生したアクセスカウントが設定され，パケットの読出し時に，前記ポインタ格納メモリから読出したアクセスカウントが設定されることを特徴とするパケット処理装置。
【請求項４】
可変長パケットを固定長データに分割してページ単位のポインタリンクを用いてメモリに書込んで読出しをするためのパケット処理方法において，
可変長パケットを固定長データに分割したパケットをポインタリンクにより指定されたパケット格納メモリのページに格納すると共にポインタ格納メモリの前記パケットのページに対応した位置に次に連続するページの位置を表す次ポインタと，次ポインタにより示すページ内の有効データ数を表すアクセスカウントとを格納し，
前記パケット格納メモリへ可変長パケットを書込む時に固定長パケットに分割する際に有効データ長を検出してアクセスカウントを生成し，前記パケット格納メモリからのパケットの読出し時に，前記ポインタ格納メモリから読出した対応するアクセスカウントを用いて書込み及び読出しを行うことを特徴とするパケット処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，ＩＰネットワークやハードディスク等の可変長パケットを固定長データに分割して書込んで，読み出すパケット処理装置及びパケット処理方法に関し，具体的には可変長パケットのデータを伝送するネットワーク間を中継するインターネットワーク装置や，可変長パケットを格納して読み出す記憶装置の技術に適用される。
【背景技術】
【０００２】
ＩＰネットワーク等のデータを伝送するネットワークでは，可変長データのパケットが伝送され，ネットワークには中継を行うパケット処理装置が設けられ，可変長データを固定長データに分割して格納して再生する。
【０００３】
従来のパケット処理装置では，ＩＰネットワークの中継装置では，ＱＯＳ（サービス品質:Quality Of Service)の要求により，受信パケットを通信フローやＱＯＳのクラス毎にキューイングする装置が増えている。複数のフローやＱＯＳのクラス毎にキューを構成する方法として，単数あるいは複数の記憶装置を用い，キュー毎に記憶装置のデータ格納領域を割り当て，固定領域をＦＩＦＯ（First In First Out) キューとして使用する方法がある。この場合，トラフィックが一部のキューに偏った場合を考慮して一つのキューの容量を決める必要が生じ，全体としては非常に大きな記憶装置を，低い使用率で使用する必要が生じる。
【０００４】
この解決策として，従来のパケット処理装置では，ポインタリンクの利用により記憶領域のシェアリングを行う共有メモリを採用するようになった。図７〜図９を用いて従来の共有メモリの技術を説明する。
【０００５】
図７は従来の共有メモリの構成を示し，図８はパケット受信からメモリへ格納するまでの動作シーケンス，図９はパケットを分割して格納する場合のタイミングチャートを示す図である。
【０００６】
図７のＡ．はパケット格納メモリとポインタ格納メモリの関係を示し，Ｂ．はページ単位の拡大図を示す。可変長パケットを格納する場合，可変長のパケットは予め決められたｎワードからなる固定長のパケットデータに分割され，各分割パケットは図７に示すパケット格納メモリ８０のｎワード毎に区切られたページ８１に格納される。ポインタ格納メモリ８２には，各ページ８１に格納された分割パケットに後続する分割パケットがある場合に，後続する（Next) 分割パケットを格納するパケット格納メモリ８０上のアドレスである次ポインタ（Next Pointer) ８３が格納される。なお，一つの可変長パケットは連続したページに格納されることはなく，分割されたパケットはそれぞれ全く関連のない領域に，ばらばらに格納される。これらばらばらに格納されたパケットを関連付けるのが「次ポインタ」に書き込まれたポインタで，パケット格納時，あるページに格納された固定長データに連続する固定長データがどこに格納されたかを示す。ポインタは通常，アドレスとリンクしており，読み出し時，固定長データを読み出すと共に，次ポインタを参照し，相当するアドレスから次の固定長データを読み出すことにより，可変長パケットデータの連続性を再現することができる。
【０００７】
図７のＡ．の場合，パケット格納メモリ８０はｎワードの容量を持つｍページ（♯０，♯１，♯２，……，♯ｍ）で構成され，各ページ♯０，ページ♯１，……，ページ♯ｍのアドレスは，０〜（ｎ−１），ｎ〜（２ｎ−１），……，（ｍ−１）ｎ〜（ｍｎ−１）である。このように，可変長のパケットを固定長のパケットに分割して，空きページのリンクから成るキュー（待ち行列）を用いて，ＱＯＳに対応したページのリンクに可変長パケットの分割パケットが順番に格納され，次ポインタがポインタ格納メモリに格納される。
【０００８】
図８，図９を用いて可変長パケットを受信して格納する場合の動作を説明する。図８の(1) に示す受信パケットＡを受信する時，受信パケットＡは(2) に示すようにパケットデータＡ−１，Ａ−２，Ａ−３，Ａ−４という４つのパケットデータに分割される。これらの各パケットデータは(3) に示すようにパケット格納メモリと同じ容量のページに構成される。但し，パケットデータＡ−４は，分割する単位のデータ長より短いため，パケット格納メモリのページ内の一部に格納され，ページ内の残りの部分にパディングのデータ（オール“０”やオール“１”等）が書込まれる。この後，図８の(4) に示すように，パケット格納メモリの各パケットデータＡ−１〜Ａ−４の格納位置に対応するポインタ格納メモリの各位置に「次ポインタ」を格納する。この例では，パケットデータＡ−１，Ａ−２はパケット格納メモリのページ♯０，♯１に格納され，パケットデータＡ−３はページ♯３に格納されるため，ページ♯１に対応するポインタ格納メモリの位置の「次ポインタ」の内容として「♯３」が格納され，ぺージ♯３に対応するポインタ格納メモリの位置の「次ポインタ」の内容として「♯４」が格納される。これにより，パケットデータＡ−４はぺージ♯４に格納され，このぺージ♯４の残りの領域にパディングデータが書込まれる。
【０００９】
上記図８の動作シーケンスに対するタイミング関係が図９に示され，図９のａは処理クロック（ワード単位），ｂは受信パケット，ｃはポインタ格納メモリへのアクセスデータ，ｄはパケット格納メモリへのアクセスデータを表す。
【００１０】
図９のｂに示すように受信パケットＡを受信すると，固定長のパケットデータへの分割が行われ，一定の処理遅延の後にｃに示すポインタ格納メモリへの書込みと，ｄに示すパケット格納メモリへの書込みが順番に行われる。この例では，一つの分割されたパケットデータの書込みを行うために，ａに示すクロックの５サイクル分の時間を要するものとし，パケットデータのＡ−１，〜Ａ−３の書込みを行うために，それぞれ５サイクルの時間がかかる。その後のパケットデータＡ−４は非常に短いデータであっても，そのデータを書込んだ後のパディングデータの書込みを行うため，他のパケットデータＡ−１等と同じ処理時間がかかる。なお，上記の１パケットの中にパディングデータが付加された場合，通常，読み出し時にパディングデータの部分のみが削除される。
【００１１】
従来のインターネットワーク装置の技術に関し，パケットを中継処理するためのパケットデータ管理方法が提案されている（特許文献１参照）。その管理方法では，ネットワークに接続された通信モジュール間は，バスにより接続され，情報の送受信を制御するポート制御回路と他の通信モジュールと情報の送受信を制御するバス制御回路と，受信された宛先情報に基づいて対応するネットワークに情報を転送する情報処理回路と，情報を蓄積する共用のバッファを備え，ポート制御回路は受信した情報を固定長のブロックに分割して蓄積し，アドレスを管理するポート側受信管理手段と送信すべき情報のアドレスを管理する送信管理手段とを備える。固定長のブロックに分割されたバッファのブロック毎に各々割り付けられるアドレス及びデータ長等を示すバッファ管理情報（ディスクリプタ）を管理テーブルに保持してパケットデータを管理し，各ディスクリプタは，各ブロック毎に備え，各ブロックの先頭位置を示すポインタ情報と次のブロックの先頭位置を示すポインタ情報とが初期設定時に設定され，次の先頭位置を保持することでディスクリプタはチェーン接続される。また，ネットワークからの情報受信時には，ブロック単位に情報が分割されてバッファの各ブロックに蓄積される。
【特許文献１】特開平７−６６８３９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
上記図７〜図９に示した従来の共有メモリのアクセス方法では，パディング部分の書込み／読出しも行うため，パディング部分の割合が高くなる短いパケットを書込み／読出しする場合には，メモリアクセスの物理スループットに対して，パディングデータの処理に占める割合が高くなる。その場合，メモリアクセスの物理スループットと論理スループットの乖離が激しく，論理スループットの低下が著しい。
【００１３】
例えば，１ページ＝６４バイト（Byte) と定義した場合に，６５バイトのパケットが連続して到着すると，各６５バイトのパケットは，それぞれ６４バイトと１バイトの２つのパケットに分割され，１バイトの分割されたパケットに対しパディングを６３バイト付加して書込み／読出しするため，論理スループット＝物理スループット・６５バイト／１２８バイト≒５０％程度となる。この論理スループットは書込みだけでなく，読出し時にも同様である。
【００１４】
これを言い換えれば，共有メモリを搭載する装置を開発する場合，要求される論理スループットの２００％程度の物理スループットを持った共有メモリが必要になるという問題があった。
【００１５】
なお，上記特許文献１の技術は，固定長のブロックに分割されたバッファのブロック毎に各々割り付けられるアドレス及びデータ長等を示すバッファ管理情報（ディスクリプタ）を管理テーブルに保持してパケットデータを管理し，各ディスクリプタは，各ブロック毎に備え，各ブロックの先頭位置を示すポインタを備えた管理方法について開示されているが，受信パケットを固定長ブロックに分割した時の，余りのデータに対して付加されるパディングデータの処理におけるスループットの向上について示唆されていない。
【００１６】
本発明は従来の不効率の発生要因であるパディングへのアクセス時間を無くし，共有メモリの論理スループットを向上することができるパケット処理装置及びパケット処理方法を提供することを目的とする。そして，本発明は可変長パケットのデータを伝送するネットワーク間を中継するインターネットワーク装置や，可変長パケットを記憶して読み出す機能を備える記憶装置に対して適用される。
【課題を解決するための手段】
【００１７】
図１は本発明の原理説明図である。図１のＡ．はパケット格納メモリとポインタ格納メモリの全体の構成，Ｂ．はページ単位の拡大図であり，２つのリンクしたページを示す。図中，１はパケット格納メモリ，１０は可変長のパケットを分割する単位である固定長（ｎワードとする）のパケットを格納するページであり，２はポインタ格納メモリ，２０はパケット格納メモリ１の各ページに対応して，そのページにリンクする次のページの先頭アドレスを表す次ポインタ格納領域，２１は次ポインタで表すページに格納されるデータ長（ワード数）を表すアクセスカウント（またはアクセスサイクル）を格納するアクセスカウント格納領域である。また，Ｂ．の１０ａと１０ｂはリンクした２つのページを表す。本発明ではこのパケット格納メモリ１とポインタ格納メモリ２とで共有メモリを構成する。
【００１８】
本発明では各ページ１０に関連する情報として，可変長パケットを固定長のパケットに分割して，空きページのリンクである次ポインタのキューを用いて順番に次ポインタで示すパケット格納メモリ１のページ１０に格納する。この時，各ページ１０に後続する固定長パケットを格納するページ１０のアドレスを，ポインタ格納メモリ２の次ポインタ格納領域２０として書込み，その次ポインタで示すぺージ１０内における実際に書込まれたデータ量（有効データ量）をアクセスカウントとしてアクセスカウント格納領域２１に格納する。このアクセスカウント格納領域２１に格納されたアクセスカウントの値は，分割したパケットのデータ量が固定長（１ページのデータ量）未満の場合に，このアクセスカウント格納領域２１に示すカウント値（データ量）だけデータを書込み（読出し），固定長のページの余り（残り）の部分（従来はパディングデータを格納していた部分）については何も書込む（読出す）処理を行わない。すなわち，このアクセスカウントの値により書込みサイクルが決定する。この共有メモリからの読出しアクセス時には，ポインタ格納メモリ２の対応する次ポインタ格納領域２０により示すぺージをパケット格納メモリ１から読出す時に，その次ポインタと共に格納されているアクセスカウント格納領域のアクセスカウント数をアクセスカウンタ（図１では省略，後述する図２に符号１４として示す）にセットして，そのアクセスカウント数のデータ量の読出しを行い，その後の余りの部分の読出しアクセスは行わない。すなわち，このアクセスカウントの値により読出しサイクルが決定する。
【発明の効果】
【００１９】
本発明によれば，可変長パケットを固定長分割した際の余りに対してパディングデータを付加する必要がなく，共有メモリに対するパディングのアクセスが必要ないため，物理スループットに対する不効率が発生しない。これにより，可変長パケットを書込んで，読出しを行うパケット処理における論理スループットが向上する。
【００２０】
例えば，１ページの大きさを６４バイト，メモリの１ワードを１６バイト，メモリアクセスの物理スループットが２０Ｇｂｐｓと仮定した場合，従来の回路構成における論理スループットは次の式(1) で計算されている通り，５．０７８Ｇｂｐｓである。これに対して本発明における論理スループットは次の式(2) で計算される通り，８．１２５Ｇｂｐｓであり，スループットが１．６倍に向上する。
【００２１】
論理スループット＝１０Gbps×65Byte／128Byte ≒5.08Gbps  ………(1) 
論理スループット＝１０Gbps×65Byte／80Byte＝8.125Gbps   ………(2) 
【発明を実施するための最良の形態】
【００２２】
図２は実施例の構成である。図中，１はパケット格納メモリ，１１はパケット格納メモリ１への書込みと読出しアクセスを調停する第１の調停部，１２は入力する可変長パケットを固定長（パケット格納メモリの１ぺージのデータ量に対応）パケットに分割する固定長分割部，１３は分割した固定長パケットをパケット格納メモリに書込む第１の書込制御部，１４は有効データ量が設定されるアクセスカウンタ，１５はパケット格納メモリ１からパケットを読出す第１の読出制御部，１６はパケット再生部である。
【００２３】
２はポインタリンクを行うポインタ格納メモリであり，各ポインタに対応したワードに次ポインタ（Next Pointer) 及びアクセスカウントが格納されている。２２はポインタ格納メモリ２への書込みアクセスと読出しアクセスを調停し，調停の結果としてアクセス制御信号（図２の２２ａ），アドレス（図２の２２ｂ）及び書込みデータ（図２の２２ｃ）を生成し，読出しデータ（図２の２ａ）を受信する第２の調停部，２３はポインタ格納メモリ２への書込みの制御を行う第２の書込制御部，２４はポインタ格納メモリ２からの読出しの制御を行う第２の読出制御部である。
【００２４】
第１の調停部１１は第１の書込制御部１３，第１の読出制御部１５，アクセスカウンタ１４からの情報を受信して，調停を行い，分割されたパケットデータを格納するパケット格納メモリ１のアクセス制御信号（図２の１１ａ），アドレス（図２の１１ｂ）及び書込みデータ（同１１ｃ）を生成し，読出しデータ（図１の１ａ）を受信する。
【００２５】
なお，図２ではパケット格納メモリ１とポインタ格納メモリ２は異なるメモリとして示しているが，パケット格納メモリ１の各ぺージとポインタ格納メモリ２の次ポインタ及びアクセスカウントの情報は１対１の関係を持つものであるから，同一のメモリとして構成することが可能である。
【００２６】
実施例の構成による書込みの処理と読出しの処理をそれぞれ図３と図４を用いて説明する。図３は書込みの処理フロー，図４は読出しの処理フローである。
【００２７】
図２と図３を用いて，パケットの書込み動作を説明する。入力パケット（可変長パケット）が固定長分割部１２に入力すると，固定長パケット（または固定長ブロック）に分割され，固定長パケット１２ａは第１の書込制御部１３に入力され，固定長パケットのアクセスカウント（有効データ長：図２の１２ｂ）はアクセスカウンタ１４に供給される。第１の書込制御部１３では，固定長データ（パケット）を受信すると（図３のＳ１），第２の読出制御部２４に対して空き領域のキューの先頭を求めるため，ポインタ要求（図２の１３ｅ）を送信する（図３のＳ２）。第２の読出制御部２４がこれを受信すると（図３のＳ３），空き領域キューの先頭ポインタ（予め保持して，後述するＳ６により更新が行われる）を使用して空き領域ポインタを生成し（同Ｓ４），第１の書込制御部１３に対し送信する（図３のＳ７）。この動作と共に空き領域キューの先頭ポインタを読出すため読出しアクセス制御信号（図２の２４ｄ）と読出しアドレス（図２の２４ｅ）をポインタ格納メモリ２にアクセスするため第２の調停部２２に出力する（図３のＳ５）。これによりポインタ格納メモリ２から空き領域を示すポインタが得られると，その空き領域キューの先頭を示すポインタで空き領域キューの先頭アドレスを更新し（図３のＳ６），次のポインタ要求の受信に備える。
【００２８】
第２の読出制御部２４から送信された空き領域のポインタを第１の書込制御部１３で受信すると（図３のＳ８），書込みアクセス制御信号（図２の１３ａ），書込みアドレス（図２の１３ｂ），及び書込みデータ（図２の１３ｃ）を生成して，第１の調停部１１の調停を経てパケット格納メモリ１に送出する（図３のＳ１０）。これと並行して，使用したポインタを第２の書込制御部２３へ送信する（図３のＳ９）。これにより，パケット格納メモリ１にデータが書込まれる。
【００２９】
第２の書込制御部２３で，第１の書込制御部１３から送信されたポインタを受信すると（図３のＳ１１），データ格納キューの末尾のポインタを使用して，書込みアクセス制御信号（図２の２３ａ），書込みアドレス（図２の２３ｂ）及び書込みデータ（図２の２３ｃ）を生成する（図３のＳ１２）。
【００３０】
この書込み動作において，アクセスカウンタ１４は，固定長分割部１２から固定長データの有効範囲を示すアクセスカウント（図２の１２ｂ）を受信して設定されると，パケット格納メモリ１への書込み制御時のアクセスサイクルを決定すると共に第１の調停部１１を制御する。具体的には，１つのデータ（ワード）の書込み毎にカウントしてアクセスカウント値と一致すると，書込み動作を停止する（または，アクセスカウンタ１４をデータの書込み毎にダウンカウントして０になると停止する）。
【００３１】
パケットデータの読出し動作を図２，図４を用いて説明する。パケット出力要求が発生すると，第２の読出制御部２４で受信され（図４のＳ１），ポインタ格納メモリ２の読出し制御を行う。すなわち，第２の読出制御部２４は，出力要求されたキューの先頭のポインタを読出すための読出しアクセス制御信号（図２の２４ｄ），読出しアドレス（図２の２４ｅ）を生成し，第２の調停部２２を通して，読出しデータ（図２の２２ｄ）を受信して，読出しポインタ（図２の２４ｃ）とアクセスカウント（図２の２４ｂ）を生成して送信する（図４のＳ２）。また，第２の読出制御部２４はその読出しポインタを使用して，読出しアクセス制御信号（図２の２４ｄ），読出しアドレス（図２の２４ｅ）を生成して，ポインタ格納メモリ２に送信して読出しを行い（図４のＳ３），読出しデータ（図２の２２ｄ）を受信すると（同Ｓ４），出力要求のキューの先頭ポインタを更新し（図４のＳ５），図４のＳ１に戻る。
【００３２】
一方，第１の読出制御部１５が上記ステップＳ２で第２の読出制御部２４から送信されたアクセスカウントと読出しポインタを受信すると（図４のＳ６），読出しポインタ（図２の１５ｃ）を第２の書込制御部２３に送信する（図４のＳ７），と共に読出しポインタ（図２の２４ｃ）を使用して，読出しアクセス制御信号（図２の１５ａ）と読出しアドレス（図２の１５ｂ）を生成してパケット格納メモリに第１の調整部１１を通して送信する（図４のＳ８）。
【００３３】
これに応じて，第１の読出制御部１５ではパケット格納メモリ１から読出しデータ（図２の１１ｄ）を受信する（図４では読出し時のアクセスカウンタの制御動作は省略した）。読出しデータは，読出しパケットデータ（図２の１５ｄ）として，データの有効範囲を示すイネーブル信号（図２の１５ｅ）と共にパケット再生部１６に入力され，パケット再生部１６では，分割されていたデータを組み合わせて出力パケットを再生して出力する。
【００３４】
第２の書込制御部２３では，上記ステップＳ７の処理により送信された読出しポインタ（図２の１５ｃ）を受信すると（図４のＳ９），その読出しポインタを使用して，書込みアクセス制御信号（図２の２３ａ），書込みアドレス（図２の２３ｂ）及び書込みデータ（図２の２３ｃ）を生成して第２の調停部（図２の２２）を通してポインタ格納メモリ２に送信し（図４のＳ１０），書込みを行う。
【００３５】
この読出し動作において，第２の読出制御部２４によりポインタ格納メモリ２から読出されたアクセスカウント（図２の２４ｂ）がアクセスカウンタ１４に設定されると，パケット格納メモリ１から第１の読出制御部１５による読出し制御時のアクセスサイクルが，アクセスカウントにより決定すると共に第１の調停部１１も制御される。
【００３６】
図５は本発明による共有メモリのアクセスのタイミングチャートである。図中，ａは処理クロック，ｂは受信パケット，ｃはポインタ格納メモリのアクセスデータ，ｄはアクセスカウンタ，ｅはパケット格納メモリのアクセスデータのタイミング関係を示す。
【００３７】
ｂに示すように受信パケットＡが入力すると，ｃに示すポインタ格納メモリのアクセスデータが得られる。但し，ポインタ格納メモリから得られた最初のデータ「♯１」は次ポインタ，「５」はアクセスカウントで５ワードを表す，この例では分割パケットの固定長が「５ワード」とする。
【００３８】
受信パケットＡは，固定長（５ワード）に分割され，分割されたパケットデータは空きページのチェーンであるポインタリンクを利用して，その先頭のポインタから順にパケット格納メモリに格納され，分割パケットが書込まれる各ページに対応して次ポインタとアクセスカウントの値がパケット格納メモリに書込まれる。
【００３９】
図５のｅに示すパケット格納メモリのアクセスデータに示すように，先頭の分割されたパケットデータＡ−１が空きキューの先頭のページ♯０に格納され，次の分割されたパケットデータＡ−２はポインタ格納メモリのページ♯１にアクセスカウントの値「５」で示すワード数だけ，図５のｄで示すように格納される。更に分割されたパケットデータＡ−３は，「♯３」のページに，アクセスカウントの値「５」で示すワード数だけパケット格納メモリに格納される。この後の分割されたパケットデータＡ−４は，「♯４」のページに，有効データ長が「１」であることを表すアクセスカウント値「１」が発生するため，図５のｅに示すように，ページ「♯４」に１ワードのデータだけ書込まれる。この後，後続する受信パケットＢの分割されたパケットデータＢ−１の書込み動作が実行される。
【００４０】
図６はアクセスカウンタ（図２の１４）の具体的構成例を示す。図６の符号３０〜３６により構成する回路は，固定長分割部（図２の１２）から供給されるパケットデータ書込用のアクセスカウントを受け取って，書込みの時のカウントを行う回路であり，符号４０〜４６により構成する回路は，第２の読出制御部（図２の２４）から供給されるデータ読出用のアクセスカウントを受け取って，読出し時のカウントを行う回路である。
【００４１】
図中，３０，４０はアクセスカウントがセットされて，ダウンカウント機能を備える３ビットダウンカウンタ，３１，４１は３ビットダウントカウンタ３０，４０が“１”になったかの判別をする判別回路，３２，４２は検出回路３１，４１から検出出力が発生するとセットされて，出力端子Ｘ０から検出出力を発生するＤ型フリップフロップ（ＤＦＦで表す），３３，４３，３６，４６はアンド回路，３４，４４はオア回路，３５，４５はタイミング信号を保持するＤ型フリップフロップ（ＤＦＦ）である。
【００４２】
パケットデータを書込む場合，アクセスカウント（有効範囲データ）とタイミングパルス（ＴＰで表す）が固定長分割部より入力されると，タイミングパルスがＤＦＦ３５にセットされ，そのセット出力がアンド回路３６から３ビットダウンカウンタ３０のロード端子へ供給されて，アクセスカウントが３ビットダウンカウンタ３０にロードされる。この後，パケットデータを１ワード書込むために発生する書込みクロック（Write Clock)により３ビットダウンカウンタ３０がダウンカウントする。３ビットダウンカウンタ３０のカウント値が“１”（または“０”）になると判別回路３１から検出出力を発生し，ＤＦＦ３２がセットされ，第１の調停部１１を介してパケット格納メモリに供給され，この信号により書込みを停止させる。こうして，アクセスカウントのワード数のパケットデータの書込みが行われる。
【００４３】
パケットデータを読出す場合は，４０〜４６の各回路により上記書込みの場合と同様の原理によりアクセスカウントに対応するワード数の読出し動作が行われる。
【００４４】
（付記１）  可変長パケットを固定長データに分割して共有メモリに書込んで読出しを行うパケット処理装置において，前記共有メモリは，前記分割した固定長パケットをポインタリンクにより指定されたページに順に格納するパケット格納メモリと，前記ポインタリンクのページに対応して次にリンクするページを表す次ポインタと，次ポインタで示すページ内の有効データ数を表すアクセスカウントとを格納するポインタ格納メモリとを備え，前記固定長データの書込み時に，前記固定長パケットの分割時に検出したアクセスカウントの数のデータを書込むパケット格納メモリの書込制御部と，
前記パケット格納メモリへ書込んだ固定長パケットのページに対応した前記ポインタ格納メモリに格納されたアクセスカウントで表すデータ数の読出しを行うポインタ格納メモリの読出制御部と，を備えることを特徴とするパケット処理装置。
【００４５】
（付記２）  付記１において，可変長パケットを入力して固定長パケットに分割するパケット分割部を備え，前記パケット分割部は，分割されたパケットの有効データ数を検出して前記アクセスカウントを出力することを特徴とするパケット処理装置。
【００４６】
（付記３）  付記１において，前記パケット格納メモリへの書込み動作と読出し動作を制御するアクセスカウンタを設け，前記アクセスカウンタは，入力する可変長パケットを書込む時に，固定長パケットへの分割時に発生したアクセスカウントが設定され，パケットの読出し時に，前記ポインタ格納メモリから読出したアクセスカウントが設定されることを特徴とするパケット処理装置。
【００４７】
（付記４）  付記３において，前記アクセスカウンタはダウンカウンタにより構成することを特徴とするパケット処理装置。
【００４８】
（付記５）  付記１において，前記パケット格納メモリと前記ポインタ格納メモリを同一のメモリにより構成することを特徴とするパケット処理装置。
【００４９】
（付記６）  可変長パケットを固定長データに分割してページ単位のポインタリンクを用いてメモリに書込んで読出しをするためのパケット処理方法において，可変長パケットを固定長データに分割したパケットをポインタリンクにより指定されたパケット格納メモリのページに格納すると共にポインタ格納メモリの前記パケットのページに対応した位置に次に連続するページの位置を表す次ポインタと，次ポインタにより示すページ内の有効データ数を表すアクセスカウントとを格納し，前記パケット格納メモリへ可変長パケットを書込む時に固定長パケットに分割する際に有効データ長を検出してアクセスカウントを生成し，前記パケット格納メモリからのパケットの読出し時に，前記ポインタ格納メモリから読出した対応するアクセスカウントを用いて書込み及び読出しを行うことを特徴とするパケット処理方法。
【図面の簡単な説明】
【００５０】
【図１】本発明の原理説明図である。
【図２】実施例の構成を示す図である。
【図３】書込みの処理フローを示す図である。
【図４】読出しの処理フローを示す図である。
【図５】本発明による共有メモリのアクセスのタイミングチャートを示す図である。
【図６】アクセスカウンタの具体的構成例を示す図である。
【図７】従来の共有メモリの構成を示す図である。
【図８】パケット受信からメモリへ格納するまでの動作シーケンスを示す図である。
【図９】パケットを分割する場合のタイミングチャートを示す図である。
【符号の説明】
【００５１】
１        パケット格納メモリ
１０      ページ
２        ポインタ格納メモリ
２０      次ポインタ格納領域
２１      アクセスカウント格納領域
１０ａ    ページ
１０ｂ    １０ａにリンクしたページ
【図１】
2006135379.tif 000003
【図２】
2006135379.tif 000004
【図３】
2006135379.tif 000005
【図４】
2006135379.tif 000006
【図５】
2006135379.tif 000007
【図６】
2006135379.tif 000008
【図７】
2006135379.tif 000009
【図８】
2006135379.tif 000010
【図９】
2006135379.tif 000011