(57)【要約】【課題】簡単な構成で処理速度の高速化と複数の宛先へのメモリの効率的な活用を可能にする回線バッファ制御装置を得ること。【解決手段】パケットデータ２０２を格納するメモリ２０７は、各宛先ごとに１つずつ用意された専用エリア２２１と、宛先共通にパケットデータ２０２を格納するフリーエリア２２２とに分けられている。それぞれのエリアにはパケットデータを格納する最小単位としての区画２３１が複数配置されている。１つの宛先についての最初の宛先のパケットデータ２０２は専用エリア２２１の対応する区画のデータ領域２３２に格納され、その宛先の次のパケットデータの格納場所はフリーエリア２２２を検索した結果としての次アドレス領域２３４の示す区画に格納される。【選択図】　　　　図２
2004015303.tif 000002
【特許請求の範囲】
【請求項１】
回線を通じて入力されたパケットデータが予め定められた複数の宛先のいずれであるかを判別する宛先判別手段と、
１つの宛先のパケットデータを格納するデータ格納領域と、このデータ格納領域にパケットデータが格納されているかどうかを表わす格納有無情報を格納する格納有無情報格納領域と、同一の宛先のパケットデータが格納される次のアドレスを格納する次アドレス情報格納領域とからなる前記複数の宛先ごとに１つずつ用意された区画を備えた専用エリアと、１つの宛先のパケットデータを１つずつ格納するデータ格納領域と、このデータ格納領域にパケットデータが格納されているかどうかを表わす格納有無情報を格納する格納有無情報格納領域と、その宛先のパケットデータが格納される次のアドレスを格納する次アドレス情報格納領域とからなる区画を複数個備えたフリーエリアとを備えたメモリと、
前記宛先判別手段が前記複数の宛先のそれぞれを最初に判別したときそのパケットデータをメモリの前記専用エリアにおける該当する宛先の前記データ格納領域に格納するようにアドレスを指定する専用エリア格納時ライトアドレス指定手段と、
前記宛先判別手段が前記複数の宛先のそれぞれを次回以降に判別したとき前記フリーエリア内におけるパケットデータが格納されていない区画を前記格納有無情報格納領域をチェックすることで検索する検索手段と、
この検索手段でパケットデータが格納されていない区画を１つ検索したとき、同一宛先の直前にパケットデータが格納された区画の前記次アドレス情報格納領域にその区画を示すアドレスを格納する次アドレス情報格納手段と、
前記宛先判別手段が前記複数の宛先のそれぞれを２番目以降の宛先として判別したときそのパケットデータを同一宛先の直前の読み出しを行った区画の前記次アドレス情報格納領域の示すアドレスに対応する区画の前記データ格納領域に格納するようにアドレスを指定するフリーエリア格納時ライトアドレス指定手段と、
前記メモリに対して宛先ごとにパケットデータの読み出しが指定されたときそれぞれの宛先について最初の読み出し時に前記専用エリアの該当する宛先の区画内のデータ格納領域からパケットデータを読み出す一方、その宛先について２番目以降の読み出し時には同一宛先の直前の読み出しを行った区画の前記次アドレス情報格納領域の示すアドレスに対応する区画の前記データ格納領域からパケットデータを読み出すパケットデータ読出手段と、
このパケットデータ読出手段が該当する区画からパケットデータを読み出すたびにその区画の前記格納有無情報格納領域に格納された前記格納有無情報をパケットデータが格納されている状態から格納されていない状態に変更する格納有無情報変更手段
とを具備することを特徴とする回線バッファ制御装置。
【請求項２】
前記専用エリア格納時ライトアドレス指定手段およびフリーエリア格納時ライトアドレス指定手段の指定するアドレスに対応するパリティチェック用のパリティチェックビットを生成するパリティチェックビット生成手段と、
前記パケットデータ読出手段が前記メモリからパケットデータを読み出すとき、対応するパリティチェックビットを読み出してそのパケットデータの格納された前記区画のアドレスのチェックを行うパリティチェック手段
とを具備することを特徴とする請求項１記載の回線バッファ制御装置。
【請求項３】
前記区画には、そのアドレスに対応するパリティチェックビットを格納するパリティチェックビット格納手段が配置されていることを特徴とする請求項２記載の回線バッファ制御装置。
【請求項４】
前記区画のデータ格納領域は固定長のパケットデータを格納する固定長のデータ格納領域を構成していることを特徴とする請求項１記載の回線バッファ制御装置。
【請求項５】
前記検索手段は前記フリーエリアのアドレスを順次出力するアドレスカウンタと、このアドレスカウンタの出力するアドレスに対応する格納有無情報格納領域からパケットデータが格納されているかどうかを示す格納有無情報を読み出す格納有無情報読出手段とを備えて構成されており、
この格納有無情報読出手段がパケットデータが格納されていると判別したとき前記次アドレス情報格納領域にそのアドレスを格納する次アドレス情報格納手段を更に具備することを特徴とする請求項１記載の回線バッファ制御装置。
【請求項６】
前記格納有無情報格納領域のそれぞれは前記データ格納領域を構成するメモリ領域とは別のメモリ領域にそれぞれのアドレスを対応させて一括して格納されていることを特徴とする請求項１記載の回線バッファ制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はたとえば固定長のパケットデータを宛先別にメモリに格納する回線バッファ制御装置に係わり、特にバッファメモリのエリアを有効に活用するようにした回線バッファ制御装置に関する。
【０００２】
【従来の技術】
データ回線上を通過するパケットデータは、所定の中間的な処理を行うために宛先ごとに分けてメモリ上に格納されることがある。このような場合、従来ではメモリ管理上の要請から、メモリ上に宛先別に固定的なエリアを割り当てるといった手法が一般に行われていた。これら宛先別に格納されたパケットデータは、宛先ごとに読み出されて所定の処理が行われる。
【０００３】
ところで、特定の宛先のパケットデータのみが回線上を大量に通過していく場合のように宛先ごとのトラヒックに偏りがあるような場合がある。メモリ上に宛先ごとに固定的なエリアを割り当てるようにした従来技術では、このような場合に特定の宛先に対応するエリアだけが容量不足となり、この宛先のパケットデータの格納や処理が最悪の場合には不能になるという問題があった。このとき、他の宛先のエリアについては空きが十分あることが多く、メモリを有効に活用することができないという問題もある。
【０００４】
このような問題を解決するために、トラヒックの状況をソフトウェアで管理することが従来から提案されている。この提案では、メモリ上の宛先ごとに設けられるエリアのサイズをトラヒックに応じてアサインするようになっている。たとえば特開平５−２６８２９１号公報では、データを受信するときに回線速度を示す回線速度コードを使用してそれぞれの回線の回線速度に応じた最適な受信バッファを固定的に割り当てるようになっている。また、これ以外のバッファ領域として、バッファプールを設けておく。実際にデータを受信するときには受信データを受信バッファに格納して、この受信で使用したバッファ面だけ更に受信バッファをバッファプールからその回線用に獲得する。また、受信が終了したときにはバッファプールから獲得したバッファ面を開放し、バッファプールへ返却する。このような回線ごとのバッファ面の獲得および返却のための制御は、ソフトウェアによって行われている。
【０００５】
【発明が解決しようとする課題】
ところが、このようなメモリの管理では、回線速度が高速化すると処理が追いつかないという問題があった。したがって、複数の演算処理装置をソフトウェアの処理のために併用したり、あるいは処理速度がより速い演算処理装置を使用するという工夫が行われたが、これによって回線バッファ制御装置自体が大型化したり、装置のコストが高くなるといった問題があった。
【０００６】
そこで本発明の目的は、簡単な構成で処理速度の高速化と複数の宛先へのメモリの効率的な活用を可能にする回線バッファ制御装置を提供することにある。
【０００７】
【課題を解決するための手段】
請求項１記載の発明では、（イ）回線を通じて入力されたパケットデータが予め定められた複数の宛先のいずれであるかを判別する宛先判別手段と、（ロ）１つの宛先のパケットデータを格納するデータ格納領域と、このデータ格納領域にパケットデータが格納されているかどうかを表わす格納有無情報を格納する格納有無情報格納領域と、同一の宛先のパケットデータが格納される次のアドレスを格納する次アドレス情報格納領域とからなる前記した複数の宛先ごとに１つずつ用意された区画を備えた専用エリアと、１つの宛先のパケットデータを１つずつ格納するデータ格納領域と、このデータ格納領域にパケットデータが格納されているかどうかを表わす格納有無情報を格納する格納有無情報格納領域と、その宛先のパケットデータが格納される次のアドレスを格納する次アドレス情報格納領域とからなる区画を複数個備えたフリーエリアとを備えたメモリと、（ハ）宛先判別手段が前記した複数の宛先のそれぞれを最初に判別したときそのパケットデータをメモリの専用エリアにおける該当する宛先のデータ格納領域に格納するようにアドレスを指定する専用エリア格納時ライトアドレス指定手段と、（ニ）宛先判別手段が前記した複数の宛先のそれぞれを次回以降に判別したときフリーエリア内におけるパケットデータが格納されていない区画を格納有無情報格納領域をチェックすることで検索する検索手段と、（ホ）この検索手段でパケットデータが格納されていない区画を１つ検索したとき、同一宛先の直前にパケットデータが格納された区画の次アドレス情報格納領域にその区画を示すアドレスを格納する次アドレス情報格納手段と、（ヘ）宛先判別手段が前記した複数の宛先のそれぞれを２番目以降の宛先として判別したときそのパケットデータを同一宛先の直前の読み出しを行った区画の次アドレス情報格納領域の示すアドレスに対応する区画のデータ格納領域に格納するようにアドレスを指定するフリーエリア格納時ライトアドレス指定手段と、（ト）メモリに対して宛先ごとにパケットデータの読み出しが指定されたときそれぞれの宛先について最初の読み出し時に専用エリアの該当する宛先の区画内のデータ格納領域からパケットデータを読み出す一方、その宛先について２番目以降の読み出し時には同一宛先の直前の読み出しを行った区画の次アドレス情報格納領域の示すアドレスに対応する区画のデータ格納領域からパケットデータを読み出すパケットデータ読出手段と、（チ）このパケットデータ読出手段が該当する区画からパケットデータを読み出すたびにその区画の格納有無情報格納領域に格納された格納有無情報をパケットデータが格納されている状態から格納されていない状態に変更する格納有無情報変更手段とを回線バッファ制御装置に具備させる。
【０００８】
すなわち請求項１記載の発明では、回線を通じて入力されたパケットデータをメモリに格納するとき、このメモリを複数の区画に分けておく。これらの区画は、各宛先に対応させて１つずつ区画を用意した専用エリアと、これらの宛先に共通して使用される複数の区画からなるフリーエリアを備えている。フリーエリアの各区画も使用に際しては１つの宛先の１つのパケットデータを格納する。各区画は、１つの宛先のパケットデータを格納するデータ格納領域と、このデータ格納領域にパケットデータが格納されているかどうかを表わす格納有無情報を格納する格納有無情報格納領域と、同一の宛先のパケットデータが格納される次のアドレスを格納する次アドレス情報格納領域を少なくとも備えている。ただし、各区画を構成するメモリが物理的に同一のものである必要はなく、たとえば格納有無情報格納領域がデータ格納領域とは別のメモリあるいはレジスタ等のメモリ素子に配置されていてもよい。また、１つの区画は１つのアドレスに対応していればよいのであって、現実に連続したメモリ領域に配置される必要はない。
【０００９】
宛先判別手段は回線を通じて入力されたパケットデータの宛先を判別し、そのパケットデータがある宛先の最初のデータである場合には、アドレスを確定させるために専用エリアの該当する宛先の区画に格納する。そして、その宛先のそれ以降のパケットデータについては、フリーエリア内でパケットデータが格納されていなく区画を検索手段で検索してその区画のデータ格納領域にこれを格納する。これによって、同一宛先のこのパケットデータの格納場所が確定するので、その区画またはデータ格納領域のアドレスをその区画の次アドレス情報格納領域に格納しておく。また、検索手段の検索の便宜に供するために、その区画の格納有無情報格納領域にパケットデータが格納されていることを示す格納有無情報を格納しておく。このようにして、同一宛先の２番目以降のパケットデータは順次、フリーエリア内に格納されていく。
【００１０】
このメモリからある宛先のパケットデータを読み出す場合には、最初に専用エリア内の該当する宛先の区画のデータ格納領域からパケットデータを読み出せばよい。このとき、その区画の次アドレス情報格納領域には同一宛先の次のアドレスが格納されている。したがって、同一宛先の次のパケットデータはこのアドレスを用いてフリーエリアから読み出すことができる。フリーエリアのその区画からパケットデータを読み出すとき、その区画の次アドレス情報格納領域には同一宛先の次のアドレスが格納されている。そこで、以下同様にして同一宛先のパケットデータを順次読み出すことが可能である。１つの区画からパケットデータが読み出されたら、その区画を他のパケットデータの格納のために開放する必要がある。そこで、格納有無情報変更手段はパケットデータが読み出された時点でその区画の格納有無情報をパケットデータが格納されている状態から格納されていない状態に変更することになる。このように本発明によれば、簡単な機構でメモリの多くの領域を各宛先に共通のパケットデータ格納領域に使用することができる。しかもパケットデータのそれぞれに対応して用意する区画に格納有無情報格納領域や次アドレス情報格納領域を用意したので、パケットデータの格納の有無や同一宛先の次のアドレスを容易に知ることができ、たとえばハードウェアで回線バッファ制御装置を構成しやすくなる。
【００１１】
請求項２記載の発明は、請求項１記載の回線バッファ制御装置が、更に（イ）専用エリア格納時ライトアドレス指定手段およびフリーエリア格納時ライトアドレス指定手段の指定するアドレスに対応するパリティチェック用のパリティチェックビットを生成するパリティチェックビット生成手段と、（ロ）パケットデータ読出手段がメモリからパケットデータを読み出すとき、対応するパリティチェックビットを読み出してそのパケットデータの格納された区画のアドレスのチェックを行うパリティチェック手段とを具備することを特徴としている。
【００１２】
すなわち請求項２記載の発明では、パケットデータを格納しているそれぞれの場所を表わすアドレスにパリティビットを付加することにしたので、直前のアドレスを順に用いながら連鎖的に同一宛先のパケットデータを突き止めていくときに、それぞれのパケットデータを格納しているアドレスに対する信頼性を確保することができる。
【００１３】
請求項３記載の発明は、請求項２記載の回線バッファ制御装置で、区画には、そのアドレスに対応するパリティチェックビットを格納するパリティチェックビット格納手段が配置されていることを特徴としている。
【００１４】
すなわち請求項３記載の発明では、請求項２記載の発明で、パリティチェックビットを直前のパケットデータが格納されている区画にパリティチェックビット格納手段を設けて格納するようにしている。これにより、あるパケットデータを読み出したら、同一区画のパリティチェックビット格納手段からパリティチェックビットを読み出すことで、同一宛先の次のパケットデータの場所を自動的に知ることができる。
【００１５】
請求項４記載の発明は、請求項１記載の回線バッファ制御装置で、区画のデータ格納領域は固定長のパケットデータを格納する固定長のデータ格納領域を構成していることを特徴としている。
【００１６】
すなわち請求項４記載の発明では、回線上を複数の宛先についての固定長のパケットデータが流れている場合を想定している。この場合には、各区画のデータ格納領域のサイズをその固定長のパケットデータに合わせて設定することができ、メモリの効率的な使用を行うことができる。もっとも本発明はこのような固定長のパケットデータ以外のパケットデータを使用する場合に限定されるものではない。たとえばあるサイズ以下の可変長のパケットデータが回線上を伝送されることが分かっていれば、それらの最大サイズのデータ格納領域を用意するようにすればよい。また、場合によっては１つのパケットデータを複数の区画に分割して格納することも可能である。この場合にも次アドレス情報格納領域を使用して次の格納位置を知ることができる。
【００１７】
請求項５記載の発明は、請求項１記載の回線バッファ制御装置で（イ）検索手段はフリーエリアのアドレスを順次出力するアドレスカウンタと、このアドレスカウンタの出力するアドレスに対応する格納有無情報格納領域からパケットデータが格納されているかどうかを示す格納有無情報を読み出す格納有無情報読出手段とを備えて構成されており、（ロ）この格納有無情報読出手段がパケットデータが格納されていると判別したとき次アドレス情報格納領域にそのアドレスを格納する次アドレス情報格納手段を更に具備することを特徴としている。
【００１８】
すなわち請求項５記載の発明では、検索手段をハードウェアで構成した場合の一例を示している。検索手段はソフトウェアで実現することが可能であるが、たとえばアドレスカウンタで各区画の格納有無情報格納領域を順にチェックしていって、パケットデータが格納されていないことが分かった区画をパケットデータの格納のために使用するようにしてもよい。
【００１９】
請求項６記載の発明は、請求項１記載の回線バッファ制御装置で、格納有無情報格納領域のそれぞれはデータ格納領域を構成するメモリ領域とは別のメモリ領域にそれぞれのアドレスを対応させて一括して格納されていることを特徴としている。
【００２０】
すなわち請求項６記載の発明では、各区画の格納有無情報格納領域をまとめて、レジスタあるいは専用のメモリに格納してもよいことを示している。これにより、ハードウェアあるいはソフトウェアによるチェックが簡単になる。
【００２１】
【発明の実施の形態】
【００２２】
【実施例】
以下実施例につき本発明を詳細に説明する。
【００２３】
図１は本発明の一実施例における回線バッファ制御装置の構成を表わしたものである。本実施例の回線バッファ制御装置２００は、データ回線２０１からパケットデータ２０２を入力する宛先識別回路２０３およびライトタイミング制御回路２０４を備えている。宛先識別回路２０３はパケットデータ２０２に組み込まれた宛先を識別してこれらの宛先を示す宛先情報２０５をライトアドレス制御回路２０６に入力するようになっている。ライトアドレス制御回路２０６は、この宛先情報２０５を基にしてパケットデータ２０２をメモリ２０７に格納するためのライトアドレス２０８を決定する。そして、このライトアドレス２０８をパリティ付加回路２０９に送出する。パリティ付加回路２０９は、このライトアドレス２０８に対するパリティを計算してこれを付加し、メモリ２０７の区画内の後に説明するパリティビット領域に格納するようになっている。
【００２４】
一方、ライトタイミング制御回路２０４は、データ回線２０１から入力されたパケットデータ２０２を、ライトアドレス制御回路２０６から出力されるライトアドレスの決定を示すライトアドレス決定通知２１２を基にしてパケットデータ２１３として出力し、メモリ２０７内におけるライトアドレス制御回路２０６が指示するエリアに格納するようになっている。また、ライトタイミング制御回路２０４はデータの書き込みが終了すると、フラグを“１”に設定した上で次のデータの入力に備えるようになっている。
【００２５】
一方、リードアドレス制御回路２１４は、メモリ２０７からパケットデータ２０２を読み出す際のアドレスを制御するようになっている。リードアドレス制御回路２１４が読み出すアドレスにはパリティ付加回路２０９でパリティビットが付加されているので、パリティチェック回路２１５は前記したパリティビット領域に格納されたパリティビットを用いて、リードアドレスにエラーがないかをチェックするようになっている。リードタイミング制御回路２１６は、メモリ２０７からパケットデータ２１７を読み出すタイミングを制御する。読み出されたパケットデータ２１７は図示しない後段の処理回路に送られるようになっている。
【００２６】
図２は、以上のような構成の回線バッファ制御装置におけるメモリの構成ならびにアクセスアドレスの決定方法を示したものである。図２に示すように、メモリ２０７は、専用エリア２２１とフリーエリア２２２に分けられている。専用エリア２２１は、本実施例のパケットデータ２０２（図１）が示す宛先の数だけの区画を備えている。本実施例では、図１に示すデータ回線２０１を伝達するパケットデータ２０２が第０〜第７の宛先のいずれかを宛先情報として配置している。このため、専用エリア２２１は、第０〜第７の宛先専用エリア２２４０〜２２４７から構成されている。
【００２７】
このように専用エリア２２１は固定的である。メモリ２０７の専用エリア２２１を除いたパケットデータの格納領域はフリーエリア２２２を構成している。この例では、フリーエリア２２２が、第０、第１、第２、……のフリーエリア２２５０、２２５１、２２５２、……から構成されている。フリーエリア２２２は、各宛先のパケットデータ２０２を自由に格納することのできるエリアである。パケットデータ２０２は、回線バッファ制御装置２００（図１）を備えたパケット伝送システムが初期化された後の最初の各宛先のものが専用エリア２２１における対応する区画に格納されるようになっている。たとえばパケット伝送システムが初期化された後に最初に送られてきたパケットデータ２０２が第０の宛先を示していたものとする。本明細書では第Ｘの宛先のパケットデータをパケットデータ２０２Ｘとして示すことになる。この場合には、そのパケットデータ２０２０は第０の宛先専用エリア２２４０に格納される。その次に送られてきたパケットデータが仮に第２の宛先を示していたものとする。この場合には、そのパケットデータ２０２２は第２の宛先専用エリア２２４２に格納される。
【００２８】
一方、第０の宛先専用エリア２２４０にパケットデータ２０２０が格納されている状態で更に第０の宛先を示したパケットデータ２０２０が送られてきた場合には、第０の宛先専用エリア２２４０に更に後続のパケットデータ２０２０を格納することができない。そこで、第０、第１、第２、……のフリーエリア２２５０、２２５１、２２５２、……の中から空いている区画を見つけて、これにその第０の宛先を示したパケットデータ２０２０を格納することになる。第２の宛先のパケットデータ２０２２が更に送られてきた場合にも、第２の宛先専用エリア２２４２にパケットデータ２０２２が格納されている状態ではこれに更に格納することができない。そこで、この場合にも後に送られてきた第２の宛先のパケットデータ２０２２は、第０、第１、第２、……のフリーエリア２２５０、２２５１、２２５２、……の中から空いている区画の中に格納されることになる。
【００２９】
これに対して、この段階で第４の宛先のパケットデータ２０２４が送られてきたとすると、第４の宛先専用エリア２２４４はまだ空いている。そこでこのパケットデータ２０２４は第４の宛先専用エリア２２４４に格納されることになる。
【００３０】
図２に示した例では、パケット伝送システムがリセットされた後に、第０の宛先を示したパケットデータ２０２０が最初に送られてきた場合を示している。この場合には、先に説明したようにそのパケットデータ２０２０は専用エリア２２１における第０の宛先専用エリア２２４０に格納される。そして、この状態で次のパケットデータ２０２０が送られてきた場合にはフリーエリア２２２の中の、第０、第１、第２、……のフリーエリア２２５０、２２５１、２２５２、……の中から他のパケットデータ２０２が格納されていて、オキュパイド（Ｏｃｃｕｐｉｅｄ：占有済）となっていないもの、すなわちエンプティ（Ｅｍｐｔｙ：未占有）となっているものが検索される。そして、この図２に示した例では第２のフリーエリア２２５２がエンプティであることが分かり、この区画にそのパケットデータ２０２が格納されるようになっている。
【００３１】
しかしながら、第０、第１、第２、……のフリーエリア２２５０、２２５１、２２５２、……は専用エリア２２１と異なり、どの場所にパケットデータ２０２０、２０２１、２０２２、……のどれが格納されるか決められている訳ではない。そこで、本実施例では専用エリア２２１からリンクを順に付けていってフリーエリア２２２の中に格納されているパケットデータ２０２がどの宛先のものであるかを判別できるようにしている。このために本実施例ではパケットデータを扱う最小単位として区画２３１という概念を導入している。
【００３２】
図２に示したように、区画２３１は１単位のパケットデータ２０２を格納するデータ領域２３２と、このデータ領域２３２にパケットデータ２０２が格納されているか否かを示すフラグを格納するフラグ（Ｆ）領域２３３と、同一宛先のパケットデータ２０２についての次のアドレスを示す次アドレス（Ｎｅｘｔ　Ａｄｄｒｅｓｓ）領域２３４と、図１に示したライトアドレス制御回路２０６がメモリ２０７にパケットデータ２０２を書き込む際のアドレスを設定した際にそのアドレスについてパリティ付加回路２０９が付加したパリティビットを格納するパリティビット（Ｐ）領域２３５を配置した構成となっている。
【００３３】
図３は、パケットデータが回線バッファ制御装置に送られてきた場合のメモリの分担処理の原理を示したものである。回線バッファ制御装置２００（図１）は、パケットデータが到来するたびに（ステップＳ２４１：Ｙ）、そのパケットデータの専用エリアにパケットデータが格納中であるかどうかを判別し（ステップＳ２４２）、格納されていなければ（Ｎ）、その専用エリアにそのパケットデータを格納する（ステップＳ２４３）。たとえば第０のパケットデータ２０２０が図１に示したデータ回線２０１を通じて回線バッファ制御装置２００に送られてきた場合、図２に示した第０の宛先専用エリア２２４０にパケットデータが格納されているかどうかをフラグ領域２３３によってチェックする。そして格納中でない場合には、専用エリア２２１の該当する宛先専用エリア（この例では第０の宛先専用エリア２２４０）にパケットデータを格納する。
【００３４】
これに対して専用エリア２２１の該当する宛先専用エリア（この例では第０の宛先専用エリア２２４０）にパケットデータが格納中であった場合には（ステップＳ２４２：Ｙ）、フリーエリア２２２における空いている箇所を各区画のフラグ領域２３３を用いて検索する（ステップＳ２４４）。そして、その検索によって得られた空いている箇所のデータ領域２３２にパケットデータを格納し、このとき見つかった格納場所のアドレスを前回の区画２３１における次アドレス（Ｎｅｘｔ　Ａｄｄｒｅｓｓ）領域２３４に格納する（ステップＳ２４５）。これは、フリーエリア２２２に格納されるそれぞれのパケットデータが第０、第１、第２、……のパケットデータ２０２０、２０２１、２０２２、……（ただし、パケットデータ２０２０のみ図示。）のいずれであるかを連鎖的に判別できるようにするためである。
【００３５】
図４は、図３に示したような論理を実現する回路のうちのステップＳ２４４で示した処理を行うハードウェアの例を示したものである。図１に示したライトアドレス制御回路２０６はライトアドレスを順次カウントアップするアドレスカウンタ２６１を備えている。アドレスカウンタ２６１は、ステップＳ２４４で説明したようにフリーエリア２２２の検索が必要となったときにアドレスＦｒｅｅ“０００”にリセットされ、カウント指示信号２６２に同期してこのアドレスＦｒｅｅ“０００”からアドレスＦｒｅｅ“００１”、アドレスＦｒｅｅ“００２”、……と順にカウントアップされたフリーエリア指定アドレス情報２６３を出力するようになっている。
【００３６】
フリーエリア指定アドレス情報２６３は、メモリのフリーエリア２２２における該当する区画２３１内におけるフラグ領域２３３に供給され、その内容を読み出すと共に、次アドレス（Ｎｅｘｔ　Ａｄｄｒｅｓｓ）領域２３４のライト端子Ｗに供給されるようになっている。フラグ領域２３３はフリーエリア指定アドレス情報２６３で指定されると、その格納されているフラグがパケットデータ２０２を格納していることを示す“オキュパイド（“１”）”の状態のとき、前記したカウント指示信号２６２を出力し、“エンプティ（“０”）”の状態のときには次アドレス領域２３４へのフリーエリア指定アドレス情報２６３の書き込みを行わせるイネーブル信号Ｅを出力するようになっている。
【００３７】
この図４に示した回路の動作の一例を説明する。ステップＳ２４４で説明したようにフリーエリア２２２の検索が必要となったとき、アドレスカウンタ２６１はリセットされてフリーエリア指定アドレス情報２６３としてアドレスＦｒｅｅ“０００”を出力する。このとき図２に示したように、フリーエリア２２２のアドレスＦｒｅｅ“０００”にパケットデータ２０２が格納されており、フラグが“１”の状態となっていたとする。すると、このアドレスＦｒｅｅ“０００”に対応する区画２３１のフラグ領域２３３からは“１”の状態を示すカウント指示信号２６２を出力する。このとき次アドレス領域２３４はディスエーブルの状態となっているので、その区画２３１の次アドレス領域２３４へはアドレスＦｒｅｅ“０００”の書き込みは行われない。
【００３８】
この状態でカウント指示信号２６２をカウント端子Ｃに入力し、によりアドレスカウンタ２６１はカウントアップされる。これにより、アドレスカウンタ２６１は次のアドレスＦｒｅｅ“００１”を出力する。図２に示すようにこのアドレスＦｒｅｅ“００１”のデータ領域２３２にもパケットデータ２０２が格納されていたものとすると、前回と全く同様の動作が行われ、区画２３１の次アドレス領域２３４へアドレスＦｒｅｅ“００１”の書き込みが行われることなく、カウント指示信号２６２によりアドレスカウンタ２６１がカウントアップされる。
【００３９】
これにより、アドレスカウンタ２６１は次のアドレスＦｒｅｅ“００２”を出力する。図２に示すようにアドレスＦｒｅｅ“００２”のデータ領域２３２にパケットデータ２０２が格納されていないものとする。この場合には、フラグ領域２３３から“０”の状態を示すイネーブル信号Ｅが出力されてアドレスＦｒｅｅ“００２”が次アドレス領域２３４に格納される。また、“１”の状態となっていないので、アドレスカウンタ２６１のカウントはこの状態で停止（終了）することになる。このようにしてフリーエリア２２２における空いている箇所の検索がハードウェアを用いて行われる。
【００４０】
なお、以上説明した例ではアドレスカウンタ２６１がアドレスＦｒｅｅ“０００”からカウントアップされることにしたが、他の番地からカウントアップされてもよいし、カウントダウンによって同様の検索を行うようにしてもよい。
【００４１】
次に、メモリ２０７からパケットデータ２１７を読み出す処理を更に具体的に説明する。本実施例では次アドレス領域２３４を使用してメモリ２０７に第０、第１、第２、……のパケットデータ２０２０、２０２１、２０２２、……を連鎖的に格納していくので、それぞれの宛先について最初のパケットデータがどのアドレスに格納されているかを確実に知る必要がある。そこで、リードアドレス制御回路２１４（図１）は、システムがリセットされた後の各宛先への最初のアクセス時に、図２に示した専用エリア２２１にアクセスするようにしている。そして、同一宛先についての次のパケットデータ２１７の読み出し時からは、先に読み出した区画２３１内の次アドレス領域２３４に示すアドレスの指示によってフリーエリア２２２から読み出しを行う。
【００４２】
その際、パリティチェック回路２１５は読み出した次アドレス領域２３４に示すアドレスとパリティビット領域２３５に格納されたパリティビットについてパリティチェックを行い、読み出したアドレスが正しいかどうかをチェックする。正しい場合には、リードアドレス制御回路２１４によって次に読み出すパケットデータ２１７の区画２３１のアドレスが決定する。そこで、リードアドレス制御回路２１４はリードタイミング制御回路２１６に決定を通知し、メモリ２０７の該当するアドレスから出力されるタイミングでパケットデータ２１７の読み出しが行われる。リードアドレス制御回路２１４はこのようにしてパケットデータ２１７の読み出しが終了した時点で該当する区画２３１におけるフラグ領域２３３に格納されているフラグを“０”の状態に戻すことになる。
【００４３】
図２に示した例の場合、第０の宛先のパケットデータ２１７を読み出すものとすると、まず第０の宛先専用エリア２２４０の読み出しを行う。次にこの第０の宛先専用エリア２２４０の区画における次アドレス領域２３４に格納されている次の区画であるアドレスＦｒｅｅ“００２”のパケットデータの読み出しが行われる。なお、パリティチェック回路２１５がエラーを検出した場合には、パケットデータ２１７の読み出しが中止され、障害が発生したことを示す障害通知が所定の部位に通知されることになる。
【００４４】
発明の変形可能性
【００４５】
以上説明した実施例ではメモリのフリーエリア２２２のそれぞれに区画２３１を設定し、それぞれのフラグ領域２３３をアドレスカウンタ２６１によってカウントアップしながらパケットデータ２０２を格納できる空き領域を検索することにした。本発明はこれに限定されるものではない。
【００４６】
たとえば、各区画２３１のフラグ領域２３３の状態のみを抜き出して格納する一種のレジスタあるいはメモリを用意しておき、これらを実施例で説明したようなカウンタで順に指定しながら空き領域の検索を行うことも可能である。また、空き領域の全数Ｍを複数のグループに分けておき、グループごとに論理回路で論理をとって、それらのグループに空き領域が存在するかどうかをチェックし、存在する領域の１つについて順にスキャンしてパケットデータ２０２の格納可能な空き領域を具体的に指定できるようにしてもよい。これにより、最悪の場合には空き領域の全数Ｍをスキャンした最後の段階で空き領域が見つかるといった事態を防止し、１つのグループの中の最大区画数以内でスキャンが終了することになる。
【００４７】
【発明の効果】
以上説明したように請求項１記載の発明によれば、簡単な機構でメモリの多くの領域を各宛先に共通のパケットデータ格納領域に使用することができる。しかもパケットデータのそれぞれに対応して用意する区画に格納有無情報格納領域や次アドレス情報格納領域を用意したので、パケットデータの格納の有無や同一宛先の次のアドレスを容易に知ることができ、たとえばハードウェアで回線バッファ制御装置を構成しやすくなる。
【００４８】
また、請求項２記載の発明によれば、パケットデータを格納しているそれぞれの場所を表わすアドレスにパリティビットを付加することにしたので、直前のアドレスを順に用いながら連鎖的に同一宛先のパケットデータを突き止めていくときに、それぞれのパケットデータを格納しているアドレスに対する信頼性を確保することができる。
【００４９】
更に請求項３記載の発明によれば、パリティチェックビットを直前のパケットデータが格納されている区画にパリティチェックビット格納手段を設けて格納するようにしたので、あるパケットデータを読み出したら、同一区画のパリティチェックビット格納手段からパリティチェックビットを読み出すことで、同一宛先の次のパケットデータの場所を自動的に知ることができる。
【００５０】
また、請求項４記載の発明によれば、回線上を複数の宛先についての固定長のパケットデータが流れている場合を想定している。この場合には、各区画のデータ格納領域のサイズをその固定長のパケットデータに合わせて設定することができ、メモリの効率的な使用を行うことができる。
【００５１】
更に請求項５記載の発明は、検索手段をハードウェアで構成したので、ＣＰＵ等の処理系に負担を掛けることなく検索を高速で処理することができる。
【００５２】
更に請求項６記載の発明によれば、各区画の格納有無情報格納領域をまとめて、レジスタあるいは専用のメモリ等に格納できるので、ハードウェアあるいはソフトウェアによるチェックが簡単になる。
【図面の簡単な説明】
【図１】本発明の一実施例における回線バッファ制御装置の構成の概要を表わしたブロック図である。
【図２】本実施例のメモリの構成ならびにアクセスアドレスの決定方法を示した説明図である。
【図３】パケットデータが回線バッファ制御装置に送られてきた場合のメモリの分担処理の原理を示した流れ図である。
【図４】図３に示したような論理を実現する回路のうちのステップＳ２４４で示した処理を行うハードウェアを示したブロック図である。
【符号の説明】
２００　回線バッファ制御装置
２０２　パケットデータ
２０３　宛先識別回路
２０６　ライトアドレス制御回路
２０７　メモリ
２０９　パリティ付加回路
２１４　リードアドレス制御回路
２１５　パリティチェック回路
２２１　専用エリア
２２２　フリーエリア
２２４　宛先専用エリア
２３１　区画
２３２　データ領域
２３３　フラグ領域
２３４　次アドレス（Ｎｅｘｔ　Ａｄｄｒｅｓｓ）領域
２３５　パリティビット領域
２６１　アドレスカウンタ
【図１】
2004015303.tif 000003
【図２】
2004015303.tif 000004
【図３】
2004015303.tif 000005
【図４】
2004015303.tif 000006