JP4002474B2 - 回線バッファ制御装置 - Google Patents

回線バッファ制御装置 Download PDF

Info

Publication number
JP4002474B2
JP4002474B2 JP2002164374A JP2002164374A JP4002474B2 JP 4002474 B2 JP4002474 B2 JP 4002474B2 JP 2002164374 A JP2002164374 A JP 2002164374A JP 2002164374 A JP2002164374 A JP 2002164374A JP 4002474 B2 JP4002474 B2 JP 4002474B2
Authority
JP
Japan
Prior art keywords
packet data
area
address
stored
destination
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.)
Expired - Fee Related
Application number
JP2002164374A
Other languages
English (en)
Other versions
JP2004015303A (ja
Inventor
晶司 佐藤
浩康 若林
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.)
NEC Corp
NEC Communication Systems Ltd
Original Assignee
NEC Corp
NEC Communication Systems 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 NEC Corp, NEC Communication Systems Ltd filed Critical NEC Corp
Priority to JP2002164374A priority Critical patent/JP4002474B2/ja
Publication of JP2004015303A publication Critical patent/JP2004015303A/ja
Application granted granted Critical
Publication of JP4002474B2 publication Critical patent/JP4002474B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Communication Control (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はたとえば固定長のパケットデータを宛先別にメモリに格納する回線バッファ制御装置に係わり、特にバッファメモリのエリアを有効に活用するようにした回線バッファ制御装置に関する。
【0002】
【従来の技術】
データ回線上を通過するパケットデータは、所定の中間的な処理を行うために宛先ごとに分けてメモリ上に格納されることがある。このような場合、従来ではメモリ管理上の要請から、メモリ上に宛先別に固定的なエリアを割り当てるといった手法が一般に行われていた。これら宛先別に格納されたパケットデータは、宛先ごとに読み出されて所定の処理が行われる。
【0003】
ところで、特定の宛先のパケットデータのみが回線上を大量に通過していく場合のように宛先ごとのトラヒックに偏りがあるような場合がある。メモリ上に宛先ごとに固定的なエリアを割り当てるようにした従来技術では、このような場合に特定の宛先に対応するエリアだけが容量不足となり、この宛先のパケットデータの格納や処理が最悪の場合には不能になるという問題があった。このとき、他の宛先のエリアについては空きが十分あることが多く、メモリを有効に活用することができないという問題もある。
【0004】
このような問題を解決するために、トラヒックの状況をソフトウェアで管理することが従来から提案されている。この提案では、メモリ上の宛先ごとに設けられるエリアのサイズをトラヒックに応じてアサインするようになっている。たとえば特開平5−268291号公報では、データを受信するときに回線速度を示す回線速度コードを使用してそれぞれの回線の回線速度に応じた最適な受信バッファを固定的に割り当てるようになっている。また、これ以外のバッファ領域として、バッファプールを設けておく。実際にデータを受信するときには受信データを受信バッファに格納して、この受信で使用したバッファ面だけ更に受信バッファをバッファプールからその回線用に獲得する。また、受信が終了したときにはバッファプールから獲得したバッファ面を開放し、バッファプールへ返却する。このような回線ごとのバッファ面の獲得および返却のための制御は、ソフトウェアによって行われている。
【0005】
【発明が解決しようとする課題】
ところが、このようなメモリの管理では、回線速度が高速化すると処理が追いつかないという問題があった。したがって、複数の演算処理装置をソフトウェアの処理のために併用したり、あるいは処理速度がより速い演算処理装置を使用するという工夫が行われたが、これによって回線バッファ制御装置自体が大型化したり、装置のコストが高くなるといった問題があった。
【0006】
そこで本発明の目的は、簡単な構成で処理速度の高速化と複数の宛先へのメモリの効率的な活用を可能にする回線バッファ制御装置を提供することにある。
【0007】
【課題を解決するための手段】
請求項1記載の発明では、(イ)回線を通じて入力されたパケットデータが予め定められた複数の宛先のいずれであるかを判別する宛先判別手段と、(ロ)1つの宛先のパケットデータを格納するデータ格納領域と、このデータ格納領域にパケットデータが格納されているかどうかを表わす格納有無情報を格納する格納有無情報格納領域と、同一の宛先のパケットデータが格納される次のアドレスを格納する次アドレス情報格納領域とからなる前記した複数の宛先ごとに1つずつ用意された区画を備えた専用エリアと、1つの宛先のパケットデータを1つずつ格納するデータ格納領域と、このデータ格納領域にパケットデータが格納されているかどうかを表わす格納有無情報を格納する格納有無情報格納領域と、その宛先のパケットデータが格納される次のアドレスを格納する次アドレス情報格納領域とからなる区画を複数個備えたフリーエリアとを備えたメモリと、(ハ)宛先判別手段が前記した複数の宛先のそれぞれを最初に判別したときそのパケットデータをメモリの専用エリアにおける該当する宛先のデータ格納領域に格納するようにアドレスを指定する専用エリア格納時ライトアドレス指定手段と、(ニ)宛先判別手段が前記した複数の宛先のそれぞれを次回以降に判別したときフリーエリア内におけるパケットデータが格納されていない区画を格納有無情報格納領域をチェックすることで検索する検索手段と、(ホ)この検索手段でパケットデータが格納されていない区画を1つ検索したとき、同一宛先の直前にパケットデータが格納された区画の次アドレス情報格納領域にその区画を示すアドレスを格納する次アドレス情報格納手段と、(ヘ)宛先判別手段が前記した複数の宛先のそれぞれを2番目以降の宛先として判別したときそのパケットデータを同一宛先の直前の読み出しを行った区画の次アドレス情報格納領域の示すアドレスに対応する区画のデータ格納領域に格納するようにアドレスを指定するフリーエリア格納時ライトアドレス指定手段と、(ト)メモリに対して宛先ごとにパケットデータの読み出しが指定されたときそれぞれの宛先について最初の読み出し時に専用エリアの該当する宛先の区画内のデータ格納領域からパケットデータを読み出す一方、その宛先について2番目以降の読み出し時には同一宛先の直前の読み出しを行った区画の次アドレス情報格納領域の示すアドレスに対応する区画のデータ格納領域からパケットデータを読み出すパケットデータ読出手段と、(チ)このパケットデータ読出手段が該当する区画からパケットデータを読み出すたびにその区画の格納有無情報格納領域に格納された格納有無情報をパケットデータが格納されている状態から格納されていない状態に変更する格納有無情報変更手段とを回線バッファ制御装置に具備させる。
【0008】
すなわち請求項1記載の発明では、回線を通じて入力されたパケットデータをメモリに格納するとき、このメモリを複数の区画に分けておく。これらの区画は、各宛先に対応させて1つずつ区画を用意した専用エリアと、これらの宛先に共通して使用される複数の区画からなるフリーエリアを備えている。フリーエリアの各区画も使用に際しては1つの宛先の1つのパケットデータを格納する。各区画は、1つの宛先のパケットデータを格納するデータ格納領域と、このデータ格納領域にパケットデータが格納されているかどうかを表わす格納有無情報を格納する格納有無情報格納領域と、同一の宛先のパケットデータが格納される次のアドレスを格納する次アドレス情報格納領域を少なくとも備えている。ただし、各区画を構成するメモリが物理的に同一のものである必要はなく、たとえば格納有無情報格納領域がデータ格納領域とは別のメモリあるいはレジスタ等のメモリ素子に配置されていてもよい。また、1つの区画は1つのアドレスに対応していればよいのであって、現実に連続したメモリ領域に配置される必要はない。
【0009】
宛先判別手段は回線を通じて入力されたパケットデータの宛先を判別し、そのパケットデータがある宛先の最初のデータである場合には、アドレスを確定させるために専用エリアの該当する宛先の区画に格納する。そして、その宛先のそれ以降のパケットデータについては、フリーエリア内でパケットデータが格納されていなく区画を検索手段で検索してその区画のデータ格納領域にこれを格納する。これによって、同一宛先のこのパケットデータの格納場所が確定するので、その区画またはデータ格納領域のアドレスをその区画の次アドレス情報格納領域に格納しておく。また、検索手段の検索の便宜に供するために、その区画の格納有無情報格納領域にパケットデータが格納されていることを示す格納有無情報を格納しておく。このようにして、同一宛先の2番目以降のパケットデータは順次、フリーエリア内に格納されていく。
【0010】
このメモリからある宛先のパケットデータを読み出す場合には、最初に専用エリア内の該当する宛先の区画のデータ格納領域からパケットデータを読み出せばよい。このとき、その区画の次アドレス情報格納領域には同一宛先の次のアドレスが格納されている。したがって、同一宛先の次のパケットデータはこのアドレスを用いてフリーエリアから読み出すことができる。フリーエリアのその区画からパケットデータを読み出すとき、その区画の次アドレス情報格納領域には同一宛先の次のアドレスが格納されている。そこで、以下同様にして同一宛先のパケットデータを順次読み出すことが可能である。1つの区画からパケットデータが読み出されたら、その区画を他のパケットデータの格納のために開放する必要がある。そこで、格納有無情報変更手段はパケットデータが読み出された時点でその区画の格納有無情報をパケットデータが格納されている状態から格納されていない状態に変更することになる。このように本発明によれば、簡単な機構でメモリの多くの領域を各宛先に共通のパケットデータ格納領域に使用することができる。しかもパケットデータのそれぞれに対応して用意する区画に格納有無情報格納領域や次アドレス情報格納領域を用意したので、パケットデータの格納の有無や同一宛先の次のアドレスを容易に知ることができ、たとえばハードウェアで回線バッファ制御装置を構成しやすくなる。
【0011】
請求項2記載の発明は、請求項1記載の回線バッファ制御装置が、更に(イ)専用エリア格納時ライトアドレス指定手段およびフリーエリア格納時ライトアドレス指定手段の指定するアドレスに対応するパリティチェック用のパリティチェックビットを生成するパリティチェックビット生成手段と、(ロ)パケットデータ読出手段がメモリからパケットデータを読み出すとき、対応するパリティチェックビットを読み出してそのパケットデータの格納された区画のアドレスのチェックを行うパリティチェック手段とを具備することを特徴としている。
【0012】
すなわち請求項2記載の発明では、パケットデータを格納しているそれぞれの場所を表わすアドレスにパリティビットを付加することにしたので、直前のアドレスを順に用いながら連鎖的に同一宛先のパケットデータを突き止めていくときに、それぞれのパケットデータを格納しているアドレスに対する信頼性を確保することができる。
【0013】
請求項3記載の発明は、請求項2記載の回線バッファ制御装置で、区画には、そのアドレスに対応するパリティチェックビットを格納するパリティチェックビット格納手段が配置されていることを特徴としている。
【0014】
すなわち請求項3記載の発明では、請求項2記載の発明で、パリティチェックビットを直前のパケットデータが格納されている区画にパリティチェックビット格納手段を設けて格納するようにしている。これにより、あるパケットデータを読み出したら、同一区画のパリティチェックビット格納手段からパリティチェックビットを読み出すことで、同一宛先の次のパケットデータの場所を自動的に知ることができる。
【0015】
請求項4記載の発明は、請求項1記載の回線バッファ制御装置で、区画のデータ格納領域は固定長のパケットデータを格納する固定長のデータ格納領域を構成していることを特徴としている。
【0016】
すなわち請求項4記載の発明では、回線上を複数の宛先についての固定長のパケットデータが流れている場合を想定している。この場合には、各区画のデータ格納領域のサイズをその固定長のパケットデータに合わせて設定することができ、メモリの効率的な使用を行うことができる。もっとも本発明はこのような固定長のパケットデータ以外のパケットデータを使用する場合に限定されるものではない。たとえばあるサイズ以下の可変長のパケットデータが回線上を伝送されることが分かっていれば、それらの最大サイズのデータ格納領域を用意するようにすればよい。また、場合によっては1つのパケットデータを複数の区画に分割して格納することも可能である。この場合にも次アドレス情報格納領域を使用して次の格納位置を知ることができる。
【0017】
請求項5記載の発明は、請求項1記載の回線バッファ制御装置で(イ)検索手段はフリーエリアのアドレスを順次出力するアドレスカウンタと、このアドレスカウンタの出力するアドレスに対応する格納有無情報格納領域からパケットデータが格納されているかどうかを示す格納有無情報を読み出す格納有無情報読出手段とを備えて構成されており、(ロ)この格納有無情報読出手段がパケットデータが格納されていると判別したとき次アドレス情報格納領域にそのアドレスを格納する次アドレス情報格納手段を更に具備することを特徴としている。
【0018】
すなわち請求項5記載の発明では、検索手段をハードウェアで構成した場合の一例を示している。検索手段はソフトウェアで実現することが可能であるが、たとえばアドレスカウンタで各区画の格納有無情報格納領域を順にチェックしていって、パケットデータが格納されていないことが分かった区画をパケットデータの格納のために使用するようにしてもよい。
【0019】
請求項6記載の発明は、請求項1記載の回線バッファ制御装置で、格納有無情報格納領域のそれぞれはデータ格納領域を構成するメモリ領域とは別のメモリ領域にそれぞれのアドレスを対応させて一括して格納されていることを特徴としている。
【0020】
すなわち請求項6記載の発明では、各区画の格納有無情報格納領域をまとめて、レジスタあるいは専用のメモリに格納してもよいことを示している。これにより、ハードウェアあるいはソフトウェアによるチェックが簡単になる。
【0021】
【発明の実施の形態】
【0022】
【実施例】
以下実施例につき本発明を詳細に説明する。
【0023】
図1は本発明の一実施例における回線バッファ制御装置の構成を表わしたものである。本実施例の回線バッファ制御装置200は、データ回線201からパケットデータ202を入力する宛先識別回路203およびライトタイミング制御回路204を備えている。宛先識別回路203はパケットデータ202に組み込まれた宛先を識別してこれらの宛先を示す宛先情報205をライトアドレス制御回路206に入力するようになっている。ライトアドレス制御回路206は、この宛先情報205を基にしてパケットデータ202をメモリ207に格納するためのライトアドレス208を決定する。そして、このライトアドレス208をパリティ付加回路209に送出する。パリティ付加回路209は、このライトアドレス208に対するパリティを計算してこれを付加し、メモリ207の区画内の後に説明するパリティビット領域に格納するようになっている。
【0024】
一方、ライトタイミング制御回路204は、データ回線201から入力されたパケットデータ202を、ライトアドレス制御回路206から出力されるライトアドレスの決定を示すライトアドレス決定通知212を基にしてパケットデータ213として出力し、メモリ207内におけるライトアドレス制御回路206が指示するエリアに格納するようになっている。また、ライトタイミング制御回路204はデータの書き込みが終了すると、フラグを“1”に設定した上で次のデータの入力に備えるようになっている。
【0025】
一方、リードアドレス制御回路214は、メモリ207からパケットデータ202を読み出す際のアドレスを制御するようになっている。リードアドレス制御回路214が読み出すアドレスにはパリティ付加回路209でパリティビットが付加されているので、パリティチェック回路215は前記したパリティビット領域に格納されたパリティビットを用いて、リードアドレスにエラーがないかをチェックするようになっている。リードタイミング制御回路216は、メモリ207からパケットデータ217を読み出すタイミングを制御する。読み出されたパケットデータ217は図示しない後段の処理回路に送られるようになっている。
【0026】
図2は、以上のような構成の回線バッファ制御装置におけるメモリの構成ならびにアクセスアドレスの決定方法を示したものである。図2に示すように、メモリ207は、専用エリア221とフリーエリア222に分けられている。専用エリア221は、本実施例のパケットデータ202(図1)が示す宛先の数だけの区画を備えている。本実施例では、図1に示すデータ回線201を伝達するパケットデータ202が第0〜第7の宛先のいずれかを宛先情報として配置している。このため、専用エリア221は、第0〜第7の宛先専用エリア2240〜2247から構成されている。
【0027】
このように専用エリア221は固定的である。メモリ207の専用エリア221を除いたパケットデータの格納領域はフリーエリア222を構成している。この例では、フリーエリア222が、第0、第1、第2、……のフリーエリア2250、2251、2252、……から構成されている。フリーエリア222は、各宛先のパケットデータ202を自由に格納することのできるエリアである。パケットデータ202は、回線バッファ制御装置200(図1)を備えたパケット伝送システムが初期化された後の最初の各宛先のものが専用エリア221における対応する区画に格納されるようになっている。たとえばパケット伝送システムが初期化された後に最初に送られてきたパケットデータ202が第0の宛先を示していたものとする。本明細書では第Xの宛先のパケットデータをパケットデータ202Xとして示すことになる。この場合には、そのパケットデータ2020は第0の宛先専用エリア2240に格納される。その次に送られてきたパケットデータが仮に第2の宛先を示していたものとする。この場合には、そのパケットデータ2022は第2の宛先専用エリア2242に格納される。
【0028】
一方、第0の宛先専用エリア2240にパケットデータ2020が格納されている状態で更に第0の宛先を示したパケットデータ2020が送られてきた場合には、第0の宛先専用エリア2240に更に後続のパケットデータ2020を格納することができない。そこで、第0、第1、第2、……のフリーエリア2250、2251、2252、……の中から空いている区画を見つけて、これにその第0の宛先を示したパケットデータ2020を格納することになる。第2の宛先のパケットデータ2022が更に送られてきた場合にも、第2の宛先専用エリア2242にパケットデータ2022が格納されている状態ではこれに更に格納することができない。そこで、この場合にも後に送られてきた第2の宛先のパケットデータ2022は、第0、第1、第2、……のフリーエリア2250、2251、2252、……の中から空いている区画の中に格納されることになる。
【0029】
これに対して、この段階で第4の宛先のパケットデータ2024が送られてきたとすると、第4の宛先専用エリア2244はまだ空いている。そこでこのパケットデータ2024は第4の宛先専用エリア2244に格納されることになる。
【0030】
図2に示した例では、パケット伝送システムがリセットされた後に、第0の宛先を示したパケットデータ2020が最初に送られてきた場合を示している。この場合には、先に説明したようにそのパケットデータ2020は専用エリア221における第0の宛先専用エリア2240に格納される。そして、この状態で次のパケットデータ2020が送られてきた場合にはフリーエリア222の中の、第0、第1、第2、……のフリーエリア2250、2251、2252、……の中から他のパケットデータ202が格納されていて、オキュパイド(Occupied:占有済)となっていないもの、すなわちエンプティ(Empty:未占有)となっているものが検索される。そして、この図2に示した例では第2のフリーエリア2252がエンプティであることが分かり、この区画にそのパケットデータ202が格納されるようになっている。
【0031】
しかしながら、第0、第1、第2、……のフリーエリア2250、2251、2252、……は専用エリア221と異なり、どの場所にパケットデータ2020、2021、2022、……のどれが格納されるか決められている訳ではない。そこで、本実施例では専用エリア221からリンクを順に付けていってフリーエリア222の中に格納されているパケットデータ202がどの宛先のものであるかを判別できるようにしている。このために本実施例ではパケットデータを扱う最小単位として区画231という概念を導入している。
【0032】
図2に示したように、区画231は1単位のパケットデータ202を格納するデータ領域232と、このデータ領域232にパケットデータ202が格納されているか否かを示すフラグを格納するフラグ(F)領域233と、同一宛先のパケットデータ202についての次のアドレスを示す次アドレス(Next Address)領域234と、図1に示したライトアドレス制御回路206がメモリ207にパケットデータ202を書き込む際のアドレスを設定した際にそのアドレスについてパリティ付加回路209が付加したパリティビットを格納するパリティビット(P)領域235を配置した構成となっている。
【0033】
図3は、パケットデータが回線バッファ制御装置に送られてきた場合のメモリの分担処理の原理を示したものである。回線バッファ制御装置200(図1)は、パケットデータが到来するたびに(ステップS241:Y)、そのパケットデータの専用エリアにパケットデータが格納中であるかどうかを判別し(ステップS242)、格納されていなければ(N)、その専用エリアにそのパケットデータを格納する(ステップS243)。たとえば第0のパケットデータ2020が図1に示したデータ回線201を通じて回線バッファ制御装置200に送られてきた場合、図2に示した第0の宛先専用エリア2240にパケットデータが格納されているかどうかをフラグ領域233によってチェックする。そして格納中でない場合には、専用エリア221の該当する宛先専用エリア(この例では第0の宛先専用エリア2240)にパケットデータを格納する。
【0034】
これに対して専用エリア221の該当する宛先専用エリア(この例では第0の宛先専用エリア2240)にパケットデータが格納中であった場合には(ステップS242:Y)、フリーエリア222における空いている箇所を各区画のフラグ領域233を用いて検索する(ステップS244)。そして、その検索によって得られた空いている箇所のデータ領域232にパケットデータを格納し、このとき見つかった格納場所のアドレスを前回の区画231における次アドレス(Next Address)領域234に格納する(ステップS245)。これは、フリーエリア222に格納されるそれぞれのパケットデータが第0、第1、第2、……のパケットデータ2020、2021、2022、……(ただし、パケットデータ2020のみ図示。)のいずれであるかを連鎖的に判別できるようにするためである。
【0035】
図4は、図3に示したような論理を実現する回路のうちのステップS244で示した処理を行うハードウェアの例を示したものである。図1に示したライトアドレス制御回路206はライトアドレスを順次カウントアップするアドレスカウンタ261を備えている。アドレスカウンタ261は、ステップS244で説明したようにフリーエリア222の検索が必要となったときにアドレスFree“000”にリセットされ、カウント指示信号262に同期してこのアドレスFree“000”からアドレスFree“001”、アドレスFree“002”、……と順にカウントアップされたフリーエリア指定アドレス情報263を出力するようになっている。
【0036】
フリーエリア指定アドレス情報263は、メモリのフリーエリア222における該当する区画231内におけるフラグ領域233に供給され、その内容を読み出すと共に、次アドレス(Next Address)領域234のライト端子Wに供給されるようになっている。フラグ領域233はフリーエリア指定アドレス情報263で指定されると、その格納されているフラグがパケットデータ202を格納していることを示す“オキュパイド(“1”)”の状態のとき、前記したカウント指示信号262を出力し、“エンプティ(“0”)”の状態のときには次アドレス領域234へのフリーエリア指定アドレス情報263の書き込みを行わせるイネーブル信号Eを出力するようになっている。
【0037】
この図4に示した回路の動作の一例を説明する。ステップS244で説明したようにフリーエリア222の検索が必要となったとき、アドレスカウンタ261はリセットされてフリーエリア指定アドレス情報263としてアドレスFree“000”を出力する。このとき図2に示したように、フリーエリア222のアドレスFree“000”にパケットデータ202が格納されており、フラグが“1”の状態となっていたとする。すると、このアドレスFree“000”に対応する区画231のフラグ領域233からは“1”の状態を示すカウント指示信号262を出力する。このとき次アドレス領域234はディスエーブルの状態となっているので、その区画231の次アドレス領域234へはアドレスFree“000”の書き込みは行われない。
【0038】
この状態でカウント指示信号262をカウント端子Cに入力し、によりアドレスカウンタ261はカウントアップされる。これにより、アドレスカウンタ261は次のアドレスFree“001”を出力する。図2に示すようにこのアドレスFree“001”のデータ領域232にもパケットデータ202が格納されていたものとすると、前回と全く同様の動作が行われ、区画231の次アドレス領域234へアドレスFree“001”の書き込みが行われることなく、カウント指示信号262によりアドレスカウンタ261がカウントアップされる。
【0039】
これにより、アドレスカウンタ261は次のアドレスFree“002”を出力する。図2に示すようにアドレスFree“002”のデータ領域232にパケットデータ202が格納されていないものとする。この場合には、フラグ領域233から“0”の状態を示すイネーブル信号Eが出力されてアドレスFree“002”が次アドレス領域234に格納される。また、“1”の状態となっていないので、アドレスカウンタ261のカウントはこの状態で停止(終了)することになる。このようにしてフリーエリア222における空いている箇所の検索がハードウェアを用いて行われる。
【0040】
なお、以上説明した例ではアドレスカウンタ261がアドレスFree“000”からカウントアップされることにしたが、他の番地からカウントアップされてもよいし、カウントダウンによって同様の検索を行うようにしてもよい。
【0041】
次に、メモリ207からパケットデータ217を読み出す処理を更に具体的に説明する。本実施例では次アドレス領域234を使用してメモリ207に第0、第1、第2、……のパケットデータ2020、2021、2022、……を連鎖的に格納していくので、それぞれの宛先について最初のパケットデータがどのアドレスに格納されているかを確実に知る必要がある。そこで、リードアドレス制御回路214(図1)は、システムがリセットされた後の各宛先への最初のアクセス時に、図2に示した専用エリア221にアクセスするようにしている。そして、同一宛先についての次のパケットデータ217の読み出し時からは、先に読み出した区画231内の次アドレス領域234に示すアドレスの指示によってフリーエリア222から読み出しを行う。
【0042】
その際、パリティチェック回路215は読み出した次アドレス領域234に示すアドレスとパリティビット領域235に格納されたパリティビットについてパリティチェックを行い、読み出したアドレスが正しいかどうかをチェックする。正しい場合には、リードアドレス制御回路214によって次に読み出すパケットデータ217の区画231のアドレスが決定する。そこで、リードアドレス制御回路214はリードタイミング制御回路216に決定を通知し、メモリ207の該当するアドレスから出力されるタイミングでパケットデータ217の読み出しが行われる。リードアドレス制御回路214はこのようにしてパケットデータ217の読み出しが終了した時点で該当する区画231におけるフラグ領域233に格納されているフラグを“0”の状態に戻すことになる。
【0043】
図2に示した例の場合、第0の宛先のパケットデータ217を読み出すものとすると、まず第0の宛先専用エリア2240の読み出しを行う。次にこの第0の宛先専用エリア2240の区画における次アドレス領域234に格納されている次の区画であるアドレスFree“002”のパケットデータの読み出しが行われる。なお、パリティチェック回路215がエラーを検出した場合には、パケットデータ217の読み出しが中止され、障害が発生したことを示す障害通知が所定の部位に通知されることになる。
【0044】
発明の変形可能性
【0045】
以上説明した実施例ではメモリのフリーエリア222のそれぞれに区画231を設定し、それぞれのフラグ領域233をアドレスカウンタ261によってカウントアップしながらパケットデータ202を格納できる空き領域を検索することにした。本発明はこれに限定されるものではない。
【0046】
たとえば、各区画231のフラグ領域233の状態のみを抜き出して格納する一種のレジスタあるいはメモリを用意しておき、これらを実施例で説明したようなカウンタで順に指定しながら空き領域の検索を行うことも可能である。また、空き領域の全数Mを複数のグループに分けておき、グループごとに論理回路で論理をとって、それらのグループに空き領域が存在するかどうかをチェックし、存在する領域の1つについて順にスキャンしてパケットデータ202の格納可能な空き領域を具体的に指定できるようにしてもよい。これにより、最悪の場合には空き領域の全数Mをスキャンした最後の段階で空き領域が見つかるといった事態を防止し、1つのグループの中の最大区画数以内でスキャンが終了することになる。
【0047】
【発明の効果】
以上説明したように請求項1記載の発明によれば、簡単な機構でメモリの多くの領域を各宛先に共通のパケットデータ格納領域に使用することができる。しかもパケットデータのそれぞれに対応して用意する区画に格納有無情報格納領域や次アドレス情報格納領域を用意したので、パケットデータの格納の有無や同一宛先の次のアドレスを容易に知ることができ、たとえばハードウェアで回線バッファ制御装置を構成しやすくなる。
【0048】
また、請求項2記載の発明によれば、パケットデータを格納しているそれぞれの場所を表わすアドレスにパリティビットを付加することにしたので、直前のアドレスを順に用いながら連鎖的に同一宛先のパケットデータを突き止めていくときに、それぞれのパケットデータを格納しているアドレスに対する信頼性を確保することができる。
【0049】
更に請求項3記載の発明によれば、パリティチェックビットを直前のパケットデータが格納されている区画にパリティチェックビット格納手段を設けて格納するようにしたので、あるパケットデータを読み出したら、同一区画のパリティチェックビット格納手段からパリティチェックビットを読み出すことで、同一宛先の次のパケットデータの場所を自動的に知ることができる。
【0050】
また、請求項4記載の発明によれば、回線上を複数の宛先についての固定長のパケットデータが流れている場合を想定している。この場合には、各区画のデータ格納領域のサイズをその固定長のパケットデータに合わせて設定することができ、メモリの効率的な使用を行うことができる。
【0051】
更に請求項5記載の発明は、検索手段をハードウェアで構成したので、CPU等の処理系に負担を掛けることなく検索を高速で処理することができる。
【0052】
更に請求項6記載の発明によれば、各区画の格納有無情報格納領域をまとめて、レジスタあるいは専用のメモリ等に格納できるので、ハードウェアあるいはソフトウェアによるチェックが簡単になる。
【図面の簡単な説明】
【図1】本発明の一実施例における回線バッファ制御装置の構成の概要を表わしたブロック図である。
【図2】本実施例のメモリの構成ならびにアクセスアドレスの決定方法を示した説明図である。
【図3】パケットデータが回線バッファ制御装置に送られてきた場合のメモリの分担処理の原理を示した流れ図である。
【図4】図3に示したような論理を実現する回路のうちのステップS244で示した処理を行うハードウェアを示したブロック図である。
【符号の説明】
200 回線バッファ制御装置
202 パケットデータ
203 宛先識別回路
206 ライトアドレス制御回路
207 メモリ
209 パリティ付加回路
214 リードアドレス制御回路
215 パリティチェック回路
221 専用エリア
222 フリーエリア
224 宛先専用エリア
231 区画
232 データ領域
233 フラグ領域
234 次アドレス(Next Address)領域
235 パリティビット領域
261 アドレスカウンタ

Claims (6)

  1. 回線を通じて入力されたパケットデータが予め定められた複数の宛先のいずれであるかを判別する宛先判別手段と、
    1つの宛先のパケットデータを格納するデータ格納領域と、このデータ格納領域にパケットデータが格納されているかどうかを表わす格納有無情報を格納する格納有無情報格納領域と、同一の宛先のパケットデータが格納される次のアドレスを格納する次アドレス情報格納領域とからなる前記複数の宛先ごとに1つずつ用意された区画を備えた専用エリアと、1つの宛先のパケットデータを1つずつ格納するデータ格納領域と、このデータ格納領域にパケットデータが格納されているかどうかを表わす格納有無情報を格納する格納有無情報格納領域と、その宛先のパケットデータが格納される次のアドレスを格納する次アドレス情報格納領域とからなる区画を複数個備えたフリーエリアとを備えたメモリと、
    前記宛先判別手段が前記複数の宛先のそれぞれを最初に判別したときそのパケットデータをメモリの前記専用エリアにおける該当する宛先の前記データ格納領域に格納するようにアドレスを指定する専用エリア格納時ライトアドレス指定手段と、
    前記宛先判別手段が前記複数の宛先のそれぞれを次回以降に判別したとき前記フリーエリア内におけるパケットデータが格納されていない区画を前記格納有無情報格納領域をチェックすることで検索する検索手段と、
    この検索手段でパケットデータが格納されていない区画を1つ検索したとき、同一宛先の直前にパケットデータが格納された区画の前記次アドレス情報格納領域にその区画を示すアドレスを格納する次アドレス情報格納手段と、
    前記宛先判別手段が前記複数の宛先のそれぞれを2番目以降の宛先として判別したときそのパケットデータを同一宛先の直前の読み出しを行った区画の前記次アドレス情報格納領域の示すアドレスに対応する区画の前記データ格納領域に格納するようにアドレスを指定するフリーエリア格納時ライトアドレス指定手段と、
    前記メモリに対して宛先ごとにパケットデータの読み出しが指定されたときそれぞれの宛先について最初の読み出し時に前記専用エリアの該当する宛先の区画内のデータ格納領域からパケットデータを読み出す一方、その宛先について2番目以降の読み出し時には同一宛先の直前の読み出しを行った区画の前記次アドレス情報格納領域の示すアドレスに対応する区画の前記データ格納領域からパケットデータを読み出すパケットデータ読出手段と、
    このパケットデータ読出手段が該当する区画からパケットデータを読み出すたびにその区画の前記格納有無情報格納領域に格納された前記格納有無情報をパケットデータが格納されている状態から格納されていない状態に変更する格納有無情報変更手段
    とを具備することを特徴とする回線バッファ制御装置。
  2. 前記専用エリア格納時ライトアドレス指定手段およびフリーエリア格納時ライトアドレス指定手段の指定するアドレスに対応するパリティチェック用のパリティチェックビットを生成するパリティチェックビット生成手段と、
    前記パケットデータ読出手段が前記メモリからパケットデータを読み出すとき、対応するパリティチェックビットを読み出してそのパケットデータの格納された前記区画のアドレスのチェックを行うパリティチェック手段
    とを具備することを特徴とする請求項1記載の回線バッファ制御装置。
  3. 前記区画には、そのアドレスに対応するパリティチェックビットを格納するパリティチェックビット格納手段が配置されていることを特徴とする請求項2記載の回線バッファ制御装置。
  4. 前記区画のデータ格納領域は固定長のパケットデータを格納する固定長のデータ格納領域を構成していることを特徴とする請求項1記載の回線バッファ制御装置。
  5. 前記検索手段は前記フリーエリアのアドレスを順次出力するアドレスカウンタと、このアドレスカウンタの出力するアドレスに対応する格納有無情報格納領域からパケットデータが格納されているかどうかを示す格納有無情報を読み出す格納有無情報読出手段とを備えて構成されており、
    この格納有無情報読出手段がパケットデータが格納されていると判別したとき前記次アドレス情報格納領域にそのアドレスを格納する次アドレス情報格納手段を更に具備することを特徴とする請求項1記載の回線バッファ制御装置。
  6. 前記格納有無情報格納領域のそれぞれは前記データ格納領域を構成するメモリ領域とは別のメモリ領域にそれぞれのアドレスを対応させて一括して格納されていることを特徴とする請求項1記載の回線バッファ制御装置。
JP2002164374A 2002-06-05 2002-06-05 回線バッファ制御装置 Expired - Fee Related JP4002474B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002164374A JP4002474B2 (ja) 2002-06-05 2002-06-05 回線バッファ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002164374A JP4002474B2 (ja) 2002-06-05 2002-06-05 回線バッファ制御装置

Publications (2)

Publication Number Publication Date
JP2004015303A JP2004015303A (ja) 2004-01-15
JP4002474B2 true JP4002474B2 (ja) 2007-10-31

Family

ID=30432533

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002164374A Expired - Fee Related JP4002474B2 (ja) 2002-06-05 2002-06-05 回線バッファ制御装置

Country Status (1)

Country Link
JP (1) JP4002474B2 (ja)

Also Published As

Publication number Publication date
JP2004015303A (ja) 2004-01-15

Similar Documents

Publication Publication Date Title
CN100527112C (zh) 用于控制计算机系统内的数据传送的控制器
JP2983167B2 (ja) ネットワーク・インタフェース装置およびネットワーク・インタフェースにおけるパケット処理方法
US6999457B2 (en) Arbiter circuit and method of carrying out arbitration
US6493799B2 (en) Word selection logic to implement an 80 or 96-bit cache SRAM
JPH0786863B2 (ja) マルチプロセツサシステムにおけるプロセツサアクセス制御装置
JP2007257028A (ja) マルチプロセッサシステムのメモリアクセス負荷分散装置および方法
US20130013821A1 (en) Data transfer control device and data transfer control method
CN102918515A (zh) 将数据存储在存储器控制器中的多个缓冲器的任何中
EP0165823A2 (en) Tag control circuit for buffer storage
JP3222083B2 (ja) 共有メモリ制御装置
JP4002474B2 (ja) 回線バッファ制御装置
US20030051103A1 (en) Shared memory system including hardware memory protection
JPH07262151A (ja) 並列プロセッサシステムおよびそれに適したパケット廃棄方法
US7161950B2 (en) Systematic memory location selection in Ethernet switches
JPH07321795A (ja) バッファアドレス管理方法
JP2009042895A (ja) チェ−ンメモリ装置及びその管理方法
EP1426595B1 (en) Apparatus for and method of transferring data
JPH0833869B2 (ja) データ処理装置
US5875299A (en) disk access apparatus for performing a stride processing of data
US7987408B2 (en) Data buffering method
JPH1051469A (ja) Atmスイッチ
JP2826466B2 (ja) 並列コンピュータシステムの性能測定方式
JPH09269937A (ja) プロセッサ間通信におけるパケット送信方法およびその装置
JP2594611B2 (ja) Dma転送制御装置
JPH07175724A (ja) メモリキャッシング方法および装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050517

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070718

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070817

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

Free format text: PAYMENT UNTIL: 20100824

Year of fee payment: 3

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110824

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120824

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees