(57)【要約】【課題】ＤＡアドレス及びＳＡアドレスの検索を高速に実施できるとともに、アドレス学習、エージングを確実に実施することが可能な連想メモリ装置を提供する。【解決手段】メモリ制御回路が、検索対象のキー情報が連想メモリに記憶されていない場合、当該連想情報に対応するキー情報及び制御情報を各連想メモリに書き込むよう通知するとともに、当該通知が自己の連想メモリに関するものであると、自己の連想メモリに登録済みのオーナーフラグを自己の連想メモリに書き込むように制御し、通知が他の連想メモリに関するものであると、当該連想情報が自己の連想メモリに未登録であることが設定されたオーナーフラグを自己の連想メモリに書き込むように制御する。さらに、エージングを実施するにあたり、オーナーフラグが登録済に設定されたキー情報及び連想情報を削除対象とする。【選択図】図３
2010020821.tif 000002
【特許請求の範囲】
【請求項１】
キー情報に関連付けて連想情報を記憶する少なくとも２個以上の連想メモリを備えた連想メモリ装置において、
入力されたキー情報から連想情報を検索する検索部と、
キー情報、連想情報、及び当該連想メモリへの前記連想情報の登録有無を示すフラグを含む制御情報を、前記連想メモリへ書き込んで登録を行う書き込み処理部と、
前記連想メモリに登録された情報の削除を行う削除処理部と、
前記連想メモリごとに設けられ、前記検索部で検索された連想情報に対応するキー情報が前記連想メモリに記憶されていない場合、当該連想情報に対応するキー情報及び制御情報を各連想メモリに書き込むように通知するとともに、当該通知が自己の連想メモリに関するものである場合、前記書き込み処理部に対して、当該連想情報を自己の連想メモリに登録したことを示す前記フラグを、前記自己の連想メモリに書き込むように制御し、前記通知が前記自己の連想メモリ以外の他の連想メモリに関するものであると、前記書き込み処理部に対して、当該連想情報が前記自己の連想メモリに未登録であることを示す前記フラグを、前記自己の連想メモリに書き込むように制御する制御部とを備え、
前記制御部は、前記連想メモリに登録された情報のうち、所定時間内に使用されなかった情報を削除するにあたり、前記フラグが登録済みに設定されたキー情報及び連想情報を削除対象として前記削除処理部による削除動作を制御することを特徴とする連想メモリ装置。
【請求項２】
連想メモリ内の空き領域アドレスを検出する空き領域検出部を備え、
制御部は、検索部で検索された連想情報に対応するキー情報が前記連想メモリに記憶されていない場合、前記キー情報及びこれに対応する連想情報に加え、前記空き領域検出部で検出された空き領域アドレスを各連想メモリの制御部へ通知し、
前記各連想メモリの制御部は、当該キー情報に対応する連想情報が自己に対応する連想メモリに記憶されていない場合、前記通知された空き領域アドレスに対して前記キー情報及びこれに対応する連想情報を書き込むよう書き込み処理部を制御することを特徴とする請求項１記載の連想メモリ装置。
【請求項３】
制御部は、連想メモリに記憶された情報のうち、所定時間内に使用されなかった情報を削除するにあたり、自己に対応する連想メモリに削除対象のキー情報及び連想情報が存在する場合、各連想メモリの制御部へ当該削除対象のキー情報を通知し、
前記各連想メモリの制御部は、前記通知されたキー情報に対応する連想情報を削除対象として削除処理部による削除動作を制御することを特徴とする請求項１記載の連想メモリ装置。
【請求項４】
制御部は、連想メモリに記憶された情報のうち、所定時間内に使用されなかった情報を削除するにあたり、自己に対応する連想メモリに削除対象のキー情報及び連想情報が存在する場合、各連想メモリの制御部へ当該削除対象のキー情報及び連想情報が記憶されていたアドレス情報を通知し、
前記各連想メモリの制御部は、前記通知されたアドレス情報に対応する連想情報を削除対象として削除処理部による削除動作を制御することを特徴とする請求項３記載の連想メモリ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えば光通信、無線あるいはＰＬＣ（Power Line Communication）等の通信装置においてアドレス検索に使用される連想メモリ装置に関するものである。
【背景技術】
【０００２】
無線や高速ＰＬＣ等のネットワークシステムに用いられるネットワーク機器には、入力されたパケットデータの出力ポート（送信先ポート）を決定するための連想メモリ装置を内蔵するものがある。連想メモリ装置では、一般的にＥｔｈｅｒｎｅｔ（登録商標／以下省略して記載）フレームの先頭（ヘッダ）に付加されたＭＡＣ（Media Access Control）アドレス情報から、宛先アドレス（以下、ＤＡアドレスと呼ぶ）と送信元アドレス（以下、ＳＡアドレスと呼ぶ）とを分離し、ＤＡアドレスを基に連想メモリを検索して出力ポートを決定する。
【０００３】
また、連想メモリ装置は、ＳＡアドレスに基づいて連想メモリにおけるＭＡＣアドレスの登録状態を確認する。このとき、検索したＳＡアドレスが連想メモリに登録されていなければ、当該ＳＡアドレスを連想メモリに登録し、既に登録されていれば、アドレス検索を実施した旨を示す制御フラグ（以下、ヒットフラグと呼ぶ）をセットする（例えば、１に書き換える）。さらに、連想メモリ装置は、内蔵するメモリを効率よく使用するため、登録されたＭＡＣアドレス情報が使用されているか否かを確認し、定期的に使用されていない情報を削除する（以下、この削除動作をエージングと呼ぶ）。エージングは、例えば５分間に一度、連想メモリ装置内のＭＡＣアドレス情報の使用状況が確認されて実施される。
【０００４】
具体的には、上記ヒットフラグ情報を確認し、ヒットフラグ情報がセットされているＭＡＣアドレス情報については、ヒットフラグをリセットする。一方、ヒットフラグがセットされていないＭＡＣアドレス情報については前回のエージングから今回のエージングの間、ＭＡＣアドレスが使用されなかったと判断し、ＭＡＣアドレス情報を削除する。例えば、ＭＡＣアドレス、ポート情報とともに記録されている制御情報中の有効情報をリセットする。
【０００５】
Ｅｔｈｅｒｎｅｔフレームの最小フレーム長は６４バイトであるため、連想メモリ装置に必要なアドレス検索性能は、６４バイトのＥｔｈｅｒｎｅｔフレームが連続して入力されても、パケットのロスが発生することなく、ＤＡアドレスの検索及びＳＡアドレスの検索を実施できなければならない。
【０００６】
例えば、光ファイバーケーブルを用いた光通信ネットワークシステムでは、基地局側の通信で上り（宅内からインターネットへの送信）と下り（インターネットから宅内のユーザ端末への送信）の双方からＥｔｈｅｒｎｅｔパケットが入力される。このため、連想メモリには、６４バイトのＥｔｈｅｒｎｅｔフレームの伝送に必要な時間内にＤＡアドレスの検索とＳＡアドレスの検索とを２回ずつ実施する処理性能が要求される。
【０００７】
一方、ネットワークシステムに使用される連想メモリは、予め連想メモリとして作成されたハードウェアＩＰ（Intellectual property）を使用する場合もあるが、通常のメモリを利用して連想メモリを擬似的に構築する場合もある。通常のメモリを連想メモリとして用いるアドレス検索では、当該メモリから読み出したデータ中のＭＡＣアドレスと検索対象のＭＡＣアドレス情報とを比較して一致するか否かを確認する。従って、ＭＡＣアドレスが検索方法に応じて適切にソートされていない場合、メモリに登録されている全てのＭＡＣアドレスとの比較、つまり最大登録アドレス数回メモリをアクセスしないと、対象となるＭＡＣアドレスの検索を実施できない。
【０００８】
上述のようなアドレス検索の高速化を図る方法としては、ハッシュ関数を用いて連想メモリを擬似的に構築する手法がある。このアドレス検索方法では、アドレス検索用のメモリをＮ個のバケットと呼ばれる小さなメモリ群に分割して管理する。例えば、１０２４個のアドレスを管理可能な連想メモリを３２個のバケットで構築した場合、１バケットあたり３２個のアドレスを登録することができる。
【０００９】
また、入力されたＭＡＣアドレスを効率的にメモリに登録するために、ハッシュ関数を用いてＭＡＣアドレスデータから算出したハッシュ値（ハッシュキー）に関連付けて、当該ＭＡＣアドレスをメモリに登録する。これにより、ＭＡＣアドレスは、ハッシュ値毎のデータとしてランダマイズ（分散）化されてメモリ上で管理される。このハッシュ値に基づいて、３２個のバケットのうちから、上記ＭＡＣアドレスデータを記憶すべきバケットが決定される。
【００１０】
入力されたＭＡＣアドレスを検索する際、このＭＡＣアドレス情報からハッシュ関数を用いてハッシュ値を算出し、このハッシュ値をキーとして上記バケットを選択して検索を実行する。これにより、最大３２個のＭＡＣアドレス情報をメモリから読み出し、検索対象のＭＡＣアドレスと比較することで、アドレス検索を実施することができる。
【００１１】
例えば、特許文献１には、連想メモリを用いたアドレス検索に関する従来の技術として、ハッシュ関数を用いる連想メモリ装置が開示されている。特許文献１に記載される連想メモリ装置では、アドレス検索の高速化のために複数の独立したメモリをパラレルに配置している。
【００１２】
アドレス検索の際、特許文献１の連想メモリ装置は、検索対象のＭＡＣアドレスから算出したハッシュ値をキーとしてパラレルに配置したメモリから同時にデータを読み出し、読み出したデータ中に登録されているＭＡＣアドレス情報と検索対象のＭＡＣアドレス情報とを比較することにより、メモリから検索対象のＭＡＣアドレスを検索する。このように同時に読み出したデータを並列して比較することによって、アドレス検索の高速化を図っている。
【００１３】
また、特許文献２には、複数のバケットを個別に動作させることで、アドレス検索の高速化を図る技術が記載されている。特許文献２では、アドレスの検索及び学習の動作を高速化するため、データの読み出し及び書き込みを互いに独立に実施できる複数のメモリで各バケット（メモリバンク）を構成する。アクセス対象として選択されていないバケットにおいて、同時に複数のＭＡＣアドレスの検索や学習を行うように制御する。このようにすることで、アドレス検索の高速化を図っている。
【００１４】
【特許文献１】特開２００４−２２９１６３号公報
【特許文献２】特開２００４−２４２３２６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
従来の連想メモリ装置は、例えば１０Ｇｂｐｓ程度の高速通信で必要なアドレス検索性能を実現できないという課題があった。
特許文献１，２に代表される従来の連想メモリ装置を、１０Ｇｂｐｓの通信速度でデータを入出力する光ネットワークシステムにおける基幹部のブリッジ回路に使用した場合を例に挙げる。この場合、内部のデータを低速に処理するため、６４ビットにパラレル化して処理すると、内部のクロック周波数は１０，０００ＭＨｚ／６４＝１５６．２５（ＭＨｚ）となる。
【００１６】
また、連想メモリ装置は、６４バイトのＥｔｈｅｒｎｅｔパケットが入力されると、８クロック以内に検索処理を実施する必要がある。さらに、光ネットワークシステムにおける基幹部のブリッジ回路は、インターネット網からユーザに送信された下りＥｔｈｅｒｎｅｔパケットに付加されたＤＡアドレス及びＳＡアドレスの検索と、ユーザからインターネット網等へ送信された上りＥｔｈｅｒｎｅｔパケットに付加されたＤＡアドレス及びＳＡアドレスの検索とを、上述の８クロック以内に実施しなければならない。
【００１７】
このため、従来の連想メモリ装置は、それぞれの検索処理を少なくとも２クロック以内で完了する必要がある。特に、ＳＡアドレスの検索では、詳細は後述するが、検索の結果として検索対象のＭＡＣアドレスに一致するアドレスがメモリに登録されていない場合、検索を実施したＭＡＣアドレスが連想メモリ装置に登録される。
【００１８】
アドレスの学習あるいはヒットフラグの書き換えの実施には、少なくとも通常のメモリ（ＲＡＭ）に対するアクセスが２回（２クロック）必要になる。従って、ＤＡアドレス検索とＳＡアドレス検索を各々２クロック以内に完了することが困難である。
【００１９】
一方、特許文献１の連想メモリ装置では、バケットのサイズ分のメモリをパラレルに配置する必要がある。このため、当該連想メモリ装置をＬＳＩとした場合、メモリ数に応じて配線数が増加し、回路規模に比べてＬＳＩのサイズが大きくなるという不具合がある。
【００２０】
また、アドレス検索の結果が複数同時に出力されるので、複数のメモリから読み出されたデータの中から、検索対象のＭＡＣアドレス情報に一致したデータが登録されたメモリを特定する作業が必要となり、処理時間がかかる。このため、ＤＡアドレスの検索とＳＡアドレスの検索を４クロック以内で完了することは難しい。
【００２１】
さらに、特許文献２に記載される装置では、複数のバケットのうち、１つのバケットにＭＡＣアドレスの検索が集中すると、全てのＥｔｈｅｒｎｅｔフレームのアドレス検索が間に合わない可能性がある。
【００２２】
さらに、特許文献１，２に代表される従来の連想メモリ装置では、ＳＡアドレスの検索対象となるＭＡＣアドレスが、アドレスを学習（登録）させた連想メモリのみに入力される。従って、アドレスを学習させた連想メモリ以外の他の連想メモリでは、ＭＡＣアドレス情報が使用されていることを示すヒットフラグがセットされなかった。
【００２３】
上述のようにヒットフラグがセットされない場合、上記他の連想メモリでは、上記ＭＡＣアドレス情報が使用中であることを認識できず、各連想メモリにおいてエージングを単独で実施する場合、使用されたＭＡＣアドレス情報は分かるが、使用されていないＭＡＣアドレス情報についてはエージング時間内に使用されたか否かが分からず、エージングによるＭＡＣアドレスの削除ができなかった。このように、従来の連想メモリ装置では、高速化のために複数の連想メモリを配置しても、エージングを実施できない場合があり、連想メモリを有効に活用することができなかった。
【００２４】
この発明は、上記のような課題を解決するためになされたもので、ＤＡアドレス（宛先アドレス）及びＳＡアドレス（送信元アドレス）の検索を高速に実施できるとともに、アドレス学習、エージングを確実に実施することが可能な連想メモリ装置を得ることを目的とする。
【課題を解決するための手段】
【００２５】
この発明に係る連想メモリ装置は、キー情報に関連付けて連想情報を記憶する少なくとも２個以上の連想メモリを備えた連想メモリ装置において、入力されたキー情報から連想情報を検索する検索部と、キー情報、連想情報、及び当該連想メモリへの前記連想情報の登録有無を示すフラグを含む制御情報を、前記連想メモリへ書き込んで登録を行う書き込み処理部と、前記連想メモリに登録された情報の削除を行う削除処理部と、前記連想メモリごとに設けられ、前記検索部で検索された連想情報に対応するキー情報が前記連想メモリに記憶されていない場合、当該連想情報に対応するキー情報及び制御情報を各連想メモリに書き込むように通知するとともに、当該通知が自己の連想メモリに関するものである場合、前記書き込み処理部に対して、当該連想情報を自己の連想メモリに登録したことを示す前記フラグを、前記自己の連想メモリに書き込むように制御し、前記通知が前記自己の連想メモリ以外の他の連想メモリに関するものであると、前記書き込み処理部に対して、当該連想情報が前記自己の連想メモリに未登録であることを示す前記フラグを、前記自己の連想メモリに書き込むように制御する制御部とを備え、前記制御部が、前記連想メモリに登録された情報のうち、所定時間内に使用されなかった情報を削除するにあたり、前記フラグが登録済みに設定されたキー情報及び連想情報を削除対象として前記削除処理部による削除動作を制御することを特徴とするものである。
【発明の効果】
【００２６】
この発明によれば、制御部が、検索部で検索された連想情報に対応するキー情報が連想メモリに記憶されていない場合、当該連想情報に対応するキー情報及び制御情報を各連想メモリに書き込むよう通知するとともに、当該通知が自己の連想メモリに関するものであると、書き込み処理部に対して、当該連想情報を自己の連想メモリに登録したことを示すフラグを、自己の連想メモリに書き込むように制御し、通知が自己の連想メモリ以外の他の連想メモリに関するものであると、書き込み処理部に対して、当該連想情報が自己の連想メモリに未登録であることを示すフラグを、自己の連想メモリに書き込むように制御する。さらに、制御部が、連想メモリに記憶された情報のうち、所定時間内に使用されなかった情報を削除するにあたり、フラグが登録済に設定されたキー情報及び連想情報を削除対象として削除処理部による削除動作を制御する。このように構成することで、所定時間内に使用されない情報を削除するエージングにおいて、自己の連想メモリに登録したことを示すフラグが設定されているＭＡＣアドレス情報のみをエージング対象とし、このフラグが設定されていない情報についてはエージングが実施されない。これにより、複数個の連想メモリを配置してアドレス検索を実施する連想メモリ装置においても効率的にエージングを実施することができる。従って、限られた連想メモリの容量を有効に活用することができるという効果がある。
【発明を実施するための最良の形態】
【００２７】
実施の形態１．
図１は、この発明の実施の形態１による連想メモリ装置を適用した光通信ネットワークシステムの構成を概略的に示す図である。図１に示すように、光通信ネットワークシステムは、基地局１、ホームゲートウェイ２ａ〜２ｃ、コンピュータ３ａ〜３ｃ、光ネットワーク４、基幹ネットワーク５、インターネット網６、基幹ネットワーク７、プロバイダのサーバ８及び宅内ネットワーク９ａ〜９ｃを備える。
【００２８】
基地局１は、光ネットワーク４と基幹ネットワーク５との間の通信を中継する。この実施の形態１による連想メモリ装置は、基地局１内に設けた不図示のデータ通信装置に内蔵される。ホームゲートウェイ２ａ〜２ｃは、光ネットワーク４と宅内ネットワーク９ａ〜９ｃとを相互に接続する構成要素であり、この光通信ネットワークシステムで提供されるサービスに加入しているユーザ宅内に配置される。
【００２９】
コンピュータ３ａ〜３ｃは、ユーザに管理されるコンピュータであり、プロバイダ内のサーバ８から提供されるインターネット網６の接続サービスを利用する。光ネットワーク４は、基地局１とユーザ宅内に設置されたホームゲートウェイ２ａ〜２ｃとを接続して、Ｅｔｈｅｒｎｅｔによるネットワークを構築する。基幹ネットワーク５は、基地局１をインターネット網６に接続し、基幹ネットワーク７は、サーバ８とインターネット網６を接続する。宅内ネットワーク９ａ〜９ｃは、ホームゲートウェイ２ａ〜２ｃとコンピュータ３ａ〜３ｃとをそれぞれ接続する。
【００３０】
なお、以降では、コンピュータ３ａ〜３ｃからインターネット網６に向けて送信されるデータの流れを上り方向とし、インターネット網６側からコンピュータ３ａ〜３ｃに向けて送信されるデータの流れを下り方向と定義する。
【００３１】
また、図１中の光通信ネットワークシステムは、本発明による連想メモリ装置を適用可能な通信ネットワークシステムの一つの構成例を示すものであり、この構成に限定されるものではない。つまり、本発明の連想メモリ装置を用いたデータ送受信装置は、図１に示すようなスター型のネットワーク構成のみならず、高速ＰＬＣネットワークや、無線ＬＡＮ（Local Area Network）を用いたネットワーク、光を用いた他の構成のネットワーク、Ｅｔｈｅｒｎｅｔを用いた他の構成のネットワーク等で構成される通信ネットワークシステムであれば適用可能である。
【００３２】
次に、この発明による連想メモリ装置を内蔵する図１中の基地局１のデータ送受信装置の動作について説明する。
基地局１内に設置されたデータ送受信装置（不図示）は、光ネットワーク４を介して、上り方向のＥｔｈｅｒｎｅｔフレーム（以下、上りＥｔｈｅｒｎｅｔフレームと呼ぶ）を受信すると、このフレームのＭＡＣヘッダに付加されたＤＡアドレス情報及びＳＡアドレス情報を分離する。
【００３３】
このデータ送受信装置内の連想メモリ装置（不図示）は、分離して得られたＤＡアドレス情報を用いてアドレス検索を行い、入力されたフレームデータの出力先のポート情報の検索（ＤＡアドレス検索）を実施する。ＤＡアドレス検索の結果、ＭＡＣアドレス情報が連想メモリに登録されていた場合、連想メモリ装置は、ＭＡＣアドレスとともに記憶されているポート情報を読み出し、データ送受信装置が、このポート情報で指定されるポートに上記フレームデータを出力する。
【００３４】
ＤＡアドレス検索が終了すると、連想メモリ装置は、Ｅｔｈｅｒｎｅｔフレームを出力した送信元のコンピュータ３ａ〜３ｃのＭＡＣアドレス情報（ＳＡアドレス）が、連想メモリに登録されているか否かを確認する（ＳＡアドレス検索）。ここで、ＭＡＣアドレス情報が登録されていない場合、連想メモリ装置は、ＳＡアドレス情報、Ｅｔｈｅｒｎｅｔフレームが入力されたポート情報、及び制御情報を連想メモリに書き込む。また、ＭＡＣアドレス情報が登録されていれば、連想メモリ装置は、制御情報のヒットフラグをセットする。
【００３５】
図２は、図１中の基地局内のデータ送受信装置の構成を示すブロック図である。図２において、基地局１内のデータ送受信装置は、ＭＡＣ部２３、ブリッジ回路２４、ブリッジメモリ２５及びＭＡＣ部２６を備える。ＭＡＣ部２３は、入力端子２１及び出力端子２２に接続しており、ＭＡＣ部２６は、出力端子２７及び入力端子２８に接続している。
【００３６】
ＭＡＣ部２３に接続する入力端子２１は、光ネットワーク４を介して伝送されてきた上り方向のＥｔｈｅｒｎｅｔフレームを入力するための端子である。また、ＭＡＣ部２３に接続する出力端子２２では、光ネットワーク４側へ出力する下り方向のＥｔｈｅｒｎｅｔフレームが出力される。
【００３７】
ＭＡＣ部２３は、ＰＯＮ（Passive Optical Network）ＭＡＣ部であり、所定のスケジュールに基づいて、下り方向へ出力するＥｔｈｅｒｎｅｔフレームの生成（送信）、及び入力端子２１を介して入力されるＥｔｈｅｒｎｅｔフレームの受信を実施する。また、ＭＡＣ部２３は、コンピュータ３ａ〜３ｃからのデータ送信要求及びインターネット網６から入力されるＥｔｈｅｒｎｅｔフレームデータの宛先情報に基づいて、コンピュータ３ａ〜３ｃ側とインターネット網６側で送受信されるＥｔｈｅｒｎｅｔフレームのスケジュールを生成する。
【００３８】
なお、光ネットワーク４から入力される光信号のＥｔｈｅｒｎｅｔフレームデータを、電気信号のＥｔｈｅｒｎｅｔフレームデータへ変換する処理、及び電気信号で入力される下り方向のＥｔｈｅｒｎｅｔフレームデータを光信号のＥｔｈｅｒｎｅｔフレームデータへ変換する処理は、不図示の光伝送用のＰＨＹ回路で実施する。
【００３９】
ブリッジ回路２４では、ＭＡＣ部２３から入力される上り方向のＥｔｈｅｒｎｅｔフレーム及びＭＡＣ部２６から入力されるＥｔｈｅｒｎｅｔフレームの先頭に付加されているＭＡＣヘッダ部の情報に基づいてフィルタリング処理を実施する。ブリッジメモリ２５は、ブリッジ回路２４で出力先ポートが決定されたＥｔｈｅｒｎｅｔフレームをその宛先ごとに一旦記憶する。
【００４０】
ＭＡＣ部２６は、ＥｔｈｅｒｎｅｔＭＡＣ部であり、入力端子２８を介してインターネット網６から伝送されてきた下り方向のＥｔｈｅｒｎｅｔフレームの受信、及びブリッジ回路２４から入力したインターネット網６へ伝送する上り方向のＥｔｈｅｒｎｅｔフレームの送信を制御する。
【００４１】
ＭＡＣ部２６に接続する出力端子２７は、インターネット網６側へ出力する上り方向のＥｔｈｅｒｎｅｔフレームを出力するための端子である。また、ＭＡＣ部２６に接続する入力端子２８では、光ネットワーク４側へ出力する下り方向のＥｔｈｅｒｎｅｔフレームが入力される。
【００４２】
図３は、図２中のブリッジ回路２４の構成を示すブロック図である。図３において、ブリッジ回路２４は、上りフィルタリング処理回路２０２、ＦＩＦＯメモリ２０３，２０９、連想メモリ回路２０４、上りＶＬＡＮ処理回路２０５、上りブリッジメモリ制御回路２０６、下りブリッジメモリ制御回路２０７、下りＶＬＡＮ処理回路２０８、下りフィルタリング処理回路２１０及びバスアービタ回路２１１を備える。
【００４３】
上りフィルタリング処理回路２０２に接続する入力端子２００は、上り方向のＥｔｈｅｒｎｅｔフレームを上りフィルタリング処理回路２０２へ入力するための端子である。また、下りブリッジメモリ制御回路２０７に接続する出力端子２０１は、下りブリッジメモリ制御回路２０７からの下り方向のＥｔｈｅｒｎｅｔフレームを出力するための端子である。
【００４４】
上りフィルタリング処理回路２０２は、入力端子２００を介して入力されたＥｔｈｅｒｎｅｔフレームのＭＡＣヘッダ部を分離し、ＭＡＣヘッダ部から抽出した情報に基づいて上記Ｅｔｈｅｒｎｅｔフレームに対するフィルタリング処理を実行する。ＦＩＦＯメモリ２０３は、入力端子２００を介して入力したＭＡＣフレームデータを、ブリッジ回路２４内の処理が終了するまで一次記憶する。
【００４５】
連想メモリ回路２０４は、入力された宛先ＭＡＣアドレス（ＤＡアドレス）及び送信元ＭＡＣアドレス（ＳＡアドレス）の情報に基づいて出力ポート番号等を検索する。上りＶＬＡＮ処理回路２０５は、ＶＬＡＮ（Virtual LAN）の付け替え処理等を実施する。
【００４６】
上りブリッジメモリ制御回路２０６は、上りフィルタリング処理回路２０２のフィルタリング結果、連想メモリ回路２０４で検索されたポート情報等に基づいて、ＦＩＦＯメモリ２０３に記憶されている上り方向のＥｔｈｅｒｎｅｔフレームデータのブリッジメモリ２５への書き込みを行うとともに、後段に配置されたＭＡＣ部２６から入力したＥｔｈｅｒｎｅｔフレーム要求信号に基づいて、ブリッジメモリ２５からのＥｔｈｅｒｎｅｔフレームの読み出しを行う。
【００４７】
下りブリッジメモリ制御回路２０７は、下りフィルタリング処理回路２１０のフィルタリング結果、連想メモリ回路２０４で検索されたポート情報等に基づき、ＦＩＦＯメモリ２０９に記憶されている下り方向のＥｔｈｅｒｎｅｔフレームのブリッジメモリ２５への書き込みを行うとともに、後段に配置されたＭＡＣ部２３から入力したＥｔｈｅｒｎｅｔフレーム要求信号に基づいて、ブリッジメモリ２５からのＥｔｈｅｒｎｅｔフレームの読み出しを行う。
【００４８】
下りＶＬＡＮ処理回路２０８は、ＶＬＡＮの付け替え処理等を実施する。ＦＩＦＯメモリ２０９は、入力端子２１３を介して入力したＭＡＣフレームデータを、ブリッジ回路２４内の処理が終了するまで一次記憶する。下りフィルタリング処理回路２１０は、入力端子２１３を介して入力されるＥｔｈｅｒｎｅｔフレームのＭＡＣヘッダ部を分離し、ＭＡＣヘッダ部から抽出した情報に基づいて上記Ｅｔｈｅｒｎｅｔフレームに対するフィルタリング処理を実行する。
【００４９】
バスアービタ回路２１１は、上りブリッジメモリ制御回路２０６、及び下りブリッジメモリ制御回路２０７から出力されるＥｔｈｅｒｎｅｔフレームデータの書き込み、及び読み出し要求を調停する。
【００５０】
上りブリッジメモリ制御回路２０６に接続する出力端子２１２は、上りブリッジメモリ制御回路２０６からの上り方向のＥｔｈｅｒｎｅｔフレームをＭＡＣ部２６へ出力するための端子である。下りフィルタリング処理回路２１０に接続する入力端子２１３は、下りフィルタリング処理回路２１０への下り方向のＥｔｈｅｒｎｅｔフレームを入力するための端子である。
【００５１】
図４は、図３中の連想メモリ回路の構成を概略的に示すブロック図である。図４において、連想メモリ回路２０４は、ＭＡＣアドレス分離回路３０３、ハッシュ値計算回路（ハッシュ演算部）３０４，３０５，３１２，３１３、上りＤＡアドレス検索制御回路（書き込み処理部、削除処理部、検索部、制御部）３０６、上りＤＡアドレス検索用メモリ（連想メモリ）３０７、上りＳＡアドレス検索制御回路（書き込み処理部、削除処理部、検索部、制御部）３０８、上りＳＡアドレス検索用メモリ（連想メモリ）３０９、ＭＡＣアドレス分離回路３１１、下りＤＡアドレス検索制御回路（書き込み処理部、削除処理部、検索部、制御部）３１４、下りＤＡアドレス検索用メモリ（連想メモリ）３１５、下りＳＡアドレス検索制御回路（書き込み処理部、削除処理部、検索部、制御部）３１６及び下りＳＡアドレス検索用メモリ（連想メモリ）３１７を備える。
【００５２】
ＭＡＣアドレス分離回路３０３に接続する入力端子３０１は、上りフィルタリング処理回路２０２からの上り方向のＥｔｈｅｒｎｅｔフレームをＭＡＣアドレス分離回路３０３へ入力するための端子である。ＭＡＣアドレス分離回路３１１に接続する入力端子３０２は、下りフィルタリング処理回路２１０からの下り方向のＥｔｈｅｒｎｅｔフレームをＭＡＣアドレス分離回路３１１へ入力するための端子である。
【００５３】
ＭＡＣアドレス分離回路３０３は、入力端子３０１を介して入力したＥｔｈｅｒｎｅｔフレームのＭＡＣヘッダ部からＭＡＣアドレス情報を分離する。ハッシュ値計算回路３０４は、ＭＡＣアドレス分離回路３０３で得られたＤＡアドレス情報を、予め設定されたハッシュ関数を用いてハッシュ値に変換する。ハッシュ値計算回路３０５は、ＭＡＣアドレス分離回路３０３で得られたＳＡアドレス情報を、予め設定されたハッシュ関数を用いてハッシュ値に変換する。
【００５４】
上りＤＡアドレス検索制御回路３０６は、ハッシュ値計算回路３０４で得られたハッシュ値、及びＭＡＣアドレス情報に基づいて、上りＤＡアドレス検索用メモリ３０７に記憶されたデータを読み出し、ＤＡアドレスを検索する。
【００５５】
なお、上りＤＡアドレス検索制御回路３０６は、上りＳＡアドレス検索制御回路３０８や下りＳＡアドレス検索制御回路３１６から出力されるアドレス学習・削除要求に基づいて、上りＤＡアドレス検索用メモリ３０７へ新たなＭＡＣアドレス情報を登録（学習）、上りＤＡアドレス検索用メモリ３０７に記憶されているＭＡＣアドレス情報の削除を実施する。
【００５６】
上りＤＡアドレス検索用メモリ３０７は、上りＤＡアドレス検索制御回路３０６による上り方向のＤＡアドレス検索におけるアドレス情報の格納に使用される。上りＳＡアドレス検索制御回路３０８は、ハッシュ値計算回路３０５で得られたハッシュ値、及びＭＡＣアドレス情報に基づいて、上りＳＡアドレス検索用メモリ３０９に記憶されたデータを読み出し、ＳＡアドレスを検索する。また、上りＳＡアドレス検索用メモリ３０９は、上りＳＡアドレス検索制御回路３０８による上り方向のＳＡアドレス検索におけるアドレス情報の格納に使用される。
【００５７】
上りＳＡアドレス検索制御回路３０８では、ＳＡアドレス検索の結果、対応するＭＡＣアドレス情報が上りＳＡアドレス検索用メモリ３０９になかった場合、上りＳＡアドレス検索用メモリ３０９の空き領域を検索して上記ＭＡＣアドレス情報、およびポート情報の登録を実施する。
【００５８】
また、上りＳＡアドレス検索制御回路３０８は、上りＤＡアドレス検索制御回路３０６、下りＤＡアドレス検索制御回路３１４、及び下りＳＡアドレス検索制御回路３１６に対し、ＭＡＣアドレス情報、ポート情報、制御情報、各メモリへの書き込みアドレス情報を出力することにより、上記ＭＡＣアドレスを各アドレス検索用メモリ３０7，３１5，３１7内に登録するように要求を出力する。
【００５９】
一方、エージングによってＭＡＣアドレス情報を削除する場合、上りＳＡアドレス検索制御回路３０８は、各アドレス検索制御回路３０６，３１４，３１６に対して、ＭＡＣアドレス情報及び削除するＭＡＣアドレスが記憶された各アドレス検索用メモリ３０７，３０９，３１５のアドレス情報を出力することにより、上記ＭＡＣアドレス情報を削除するように要求を出力する。
【００６０】
ＭＡＣアドレス分離回路３１１は、入力端子３０２を介して入力したＥｔｈｅｒｎｅｔフレームのＭＡＣヘッダ部からＭＡＣアドレス情報を分離する。ハッシュ値計算回路３１２は、ＭＡＣアドレス分離回路３１１で得られたＤＡアドレス情報を、予め設定されたハッシュ関数を用いてハッシュ値に変換する。ハッシュ値計算回路３１３は、ＭＡＣアドレス分離回路３１１で得られたＳＡアドレス情報を、予め設定されたハッシュ関数を用いてハッシュ値に変換する。
【００６１】
なお、ハッシュ値計算回路３０４、ハッシュ値計算回路３０５、ハッシュ値計算回路３１２及びハッシュ値計算回路３１３は、同一のハッシュ関数を用いて入力されたＭＡＣアドレス情報をハッシュ値に変換するものとする。
【００６２】
下りＤＡアドレス検索制御回路３１４は、ハッシュ値計算回路３１２で得られたハッシュ値、及びＭＡＣアドレス情報に基づいて、下りＤＡアドレス検索用メモリ３１５に記憶されたデータを読み出し、下りＤＡアドレスの検索を実施する。
【００６３】
また、下りＤＡアドレス検索制御回路３１４は、上りＳＡアドレス検索制御回路３０８や下りＳＡアドレス検索制御回路３１６から出力されるアドレス学習・削除要求に基づいて、下りＤＡアドレス検索用メモリ３１５への新たなＭＡＣアドレス情報の登録（学習）を実行したり、下りＤＡアドレス検索用メモリ３１５に記憶されたＭＡＣアドレス情報の削除を実施する。
【００６４】
下りＤＡアドレス検索用メモリ３１５は、下りＤＡアドレス検索制御回路３１４による下り方向のＤＡアドレス検索におけるアドレス情報の格納に使用される。下りＳＡアドレス検索制御回路３１６は、ハッシュ値計算回路３１３で得られたハッシュ値、及びＭＡＣアドレス情報に基づいて、下りＳＡアドレス検索用メモリ３１７に記憶されたデータを読み出し、下りＳＡアドレスの検索を実施する。
【００６５】
なお、下りＳＡアドレス検索制御回路３１６では、ＳＡアドレス検索の結果、対応するＭＡＣアドレス情報が下りＳＡアドレス検索用メモリ３１７になかった場合、下りＳＡアドレス検索用メモリ３１７内の空き領域を検索して上記ＭＡＣアドレスを登録する。
【００６６】
また、下りＳＡアドレス検索制御回路３１６は、上りＤＡアドレス検索制御回路３０６、上りＳＡアドレス検索制御回路３０８、及び下りＤＡアドレス検索制御回路３１４に対し、ＭＡＣアドレス情報、ポート情報、制御情報、各メモリへの書き込みアドレス情報を出力することにより、ＭＡＣアドレスを登録するように要求を出力する
【００６７】
さらに、下りＳＡアドレス検索制御回路３１６は、ＭＡＣアドレスが既に登録されているが、ポート情報が異なる場合においても、ポート情報を更新するように、各アドレス検索制御回路に対してＭＡＣアドレス情報、ポート情報、制御情報、書き込みアドレス情報を出力する。
【００６８】
エージングでＭＡＣアドレス情報を削除する場合についても、下りＳＡアドレス検索制御回路３１６は、ＭＡＣアドレス情報を削除するように各アドレス検索制御回路に対してＭＡＣアドレス情報、及び削除するＭＡＣアドレスが記憶されている各アドレス検索用メモリのアドレス情報を出力する。
【００６９】
また、下りＳＡアドレス検索用メモリ３１７は、下りＳＡアドレス検索制御回路３１６による下り方向のＳＡアドレス検索におけるアドレス情報の格納に使用される。上りＤＡアドレス検索制御回路３０６に接続する出力端子３１０は、上りＤＡアドレス検索制御回路３０６による上りＤＡアドレスの検索結果を出力するための端子である。下りＤＡアドレス検索制御回路３１４に接続する出力端子３１８は、下りＤＡアドレス検索制御回路３１４による下りＤＡアドレスの検索結果を出力するための端子である。
【００７０】
図４の例では、アドレス検索用のメモリを、上りＤＡアドレス検索、上りＳＡアドレス検索、下りＤＡアドレス検索、下りＳＡアドレス検索の各々に対応して設け、これらを用いるアドレス検索用の制御回路も各々独立に設けた構成を示した。本発明は、この構成に限定されるものではなく、例えば上りＤＡアドレス及び上りＳＡアドレスの検索用、下りＤＡアドレス及び下りＳＡアドレスの検索用の２組のアドレス検索用の制御回路及びメモリを配置した構成であっても構わない。
【００７１】
図５は、ＭＡＣフレームの構成例を示す図である。図５に示すようにＥｔｈｅｒｎｅｔで定められるＭＡＣフレームは、６４バイトから１５１８バイトまでの可変のデータから構成される。ＭＡＣフレームの先頭には、ＤＡアドレス及びＳＡアドレスを格納するアドレスフィールドがあり、ペイロードのデータ種類を特定する情報が格納されるタイプ（Ｔｙｐｅ）フィールド、データを格納するペイロードが続き、末尾にエラー訂正情報ＣＲＣ（Cyclic Redundancy Check）の値が格納される。
【００７２】
連想メモリ回路２０４は、上り及び下り方向のＥｔｈｅｒｎｅｔフレームデータからＭＡＣフレームを読み出し、これに格納されるＤＡアドレス及びＳＡアドレスを用いてアドレス検索を実行する。
【００７３】
図６は、図４中の連想メモリ回路内の各アドレス検索用メモリの構成を概略的に示す図である。連想メモリ回路２０４内の各アドレス検索用メモリでは、記憶領域をバケットごとに分割して管理する。図６の例では、１０２４アドレスで規定される記憶領域を、３２ワードで構成された３２個のバケット０〜３１に分割している。
【００７４】
図７は、図６中のアドレス検索用メモリに記憶する、ＭＡＣアドレス情報、ポート情報及び制御情報の記憶フォーマットの一例を示す図である。図６中のバケットを構成する１ワードのデータは、図７に示すように、４８ビットのＭＡＣアドレス情報、１２ビットのポート情報、及び４ビットの制御情報の計６４ビットから構成される。
【００７５】
実施の形態１において、上記制御情報は、後述するオーナーフラグ、静的フラグ、有効フラグ及びヒットフラグの４種類のフラグで構成される。連想メモリ回路２０４は、予め設定されているアドレス数のアドレス情報を学習して登録することができる。
【００７６】
図８は、図６中のアドレス検索用メモリから、ＭＡＣアドレス情報、ポート情報及び制御情報を読み出す際のデータ読み出しフォーマットの一例を示す図である。この実施の形態１では、アドレス検索の高速化のため、アドレス検索用メモリに登録されたＭＡＣアドレス情報（ポート情報、制御フラグ情報を含む）を、４アドレスを並行して読み出すものとする。
【００７７】
具体的には、アドレス検索用の制御回路が、図８に示すように、アドレス検索用メモリから４ワード分（１ワードが６４ビット）のデータを、１クロックで読み出すように制御する。ここで、バケットには最大３２個のＭＡＣアドレスを記憶できるので、８クロックで全てのデータをアドレス検索用メモリから読み出すことができる。
【００７８】
図９は、図４中の上りＤＡアドレス検索制御回路の構成を概略的に示すブロック図である。図９において、上りＤＡアドレス検索制御回路３０６は、アドレス発生回路４０７、メモリ制御回路４０８、比較回路４０９ａ〜４０９ｄ、一致検出回路４１０及び選択回路４１１を備える。なお、図４中の下りＤＡアドレス検索制御回路３１４も、上りＤＡアドレス検索制御回路３０６と同一の構成をとるため、詳細な説明は省略する。
【００７９】
入力端子４０１は、上りＳＡアドレス検索制御回路３０８からＭＡＣアドレス登録・削除情報を入力するための端子である。入力端子４０２は、下りＳＡアドレス検索制御回路３１６からＭＡＣアドレス登録・削除情報を入力するための端子である。入力端子４０３は、ハッシュ値計算回路３０４で算出されたハッシュ値を入力するための端子である。
【００８０】
入力端子４０４は、ハッシュ値計算回路３０４でハッシュ値の算出に使用されたＤＡアドレスを入力するための端子である。入力端子４０５は、上りＤＡアドレス検索用メモリ３０７から読み出したＭＡＣアドレスデータを入力するための端子である。入力端子４０６は、上りＤＡアドレス検索用メモリ３０７から読み出したポート情報及び制御フラグを入力するための端子である。
【００８１】
アドレス発生回路４０７は、入力端子４０３を介して入力したハッシュ値に基づいて、上りＤＡアドレス検索用メモリ３０７内で使用するバケットを決定し、上りＤＡアドレス検索用のアドレスを発生する。メモリ制御回路４０８は、上りＤＡアドレス検索用メモリ３０７へのデータの読み出し制御信号（読み出しアドレス、データ読み出し制御信号等）、及びデータの書き込み制御信号（書き込みアドレス、データ書き込み制御信号、書き込みデータ等）を生成して出力する。
【００８２】
比較回路４０９ａ〜４０９ｄは、入力端子４０４を介して入力したＤＡアドレス情報と上りＤＡアドレス検索用メモリ３０７から読み出したＭＡＣアドレスデータを比較する。なお、この実施の形態１は、図８に示したように、上りＤＡアドレス検索用メモリ３０７からデータを読み出すにあたり、１回のデータの読み出し要求に応じて、４つのＭＡＣアドレスデータ、ポート信号、及び制御フラグが同時に読み出される。
【００８３】
また、上りＤＡアドレス検索制御回路３０６は、４パラレルで読み出したＭＡＣアドレス情報について、比較回路４０９ａ〜４０９ｄを用いてＭＡＣアドレスを同時に比較処理する。これにより、アドレス検索の高速化を図ることが可能である。なお、本発明において、比較回路の数は４つに限るものではなく、処理速度的に間に合えば１つあるいは２でもよく、また８つにしても構わない。
【００８４】
一致検出回路４１０は、比較回路４０９ａ〜４０９ｄの各比較結果に基づいて、入力端子４０４を介して入力したＤＡアドレス情報と上りＤＡアドレス検索用メモリ３０７から読み出したＭＡＣアドレスデータとを比較し、一致の有無を検出する。ここで、両者の一致が検出されると、一致検出回路４１０は、読み出した４つのＭＡＣアドレスのどの情報が一致したか否かを検出し、検出結果を選択回路４１１に出力する。
【００８５】
選択回路４１１は、一致検出回路４１０から入力した制御信号に従って、上りＤＡアドレス検索用メモリ３０７から読み出したポート情報、及び制御フラグ情報を選択する。また、選択回路４１１は、上記制御フラグ情報を確認し、読み出したＭＡＣアドレス情報が有効な情報か否かを判断する。ここで、有効な情報であれば、ポート情報とともに、データが有効であった旨を一致検出回路４１０に通知する。
【００８６】
出力端子４１２は、上りＤＡアドレス検索用メモリ３０７へメモリ制御信号を出力するための端子である。出力端子４１３は、ＤＡアドレスの検索が完了したことを示す情報を出力するための端子である。さらに、出力端子４１４は、ＤＡアドレスの検索結果（ポート情報）を出力するための端子である。
【００８７】
図１０は、図４中の上りＳＡアドレス検索制御回路の構成を概略的に示すブロック図である。図１０において、上りＳＡアドレス検索制御回路３０８は、アドレス発生回路４０７、比較回路４０９ａ〜４０９ｄ、選択回路４１１、メモリ制御回路４２０、一致検出回路４２１及び未使用エリア検出回路４２２を備える。
【００８８】
なお、図９中の上りＤＡアドレス検索制御回路３０６と同一の構成要素には同一符号を付して詳細な説明は省略する。また、図４中の下りＳＡアドレス検索制御回路３１６も、上りＳＡアドレス検索制御回路３０８と同一の構成をとるため、詳細な説明は省略する。
【００８９】
メモリ制御回路（制御部）４２０は、上りＳＡアドレス検索用メモリ３０９へのデータの読み出し制御信号（読み出しアドレス、データ読み出し制御信号等）、及びデータの書き込み制御信号（書き込みアドレス、データ書き込み制御信号、書き込みデータ等）を生成して出力する。
【００９０】
一致検出回路４２１は、比較回路４０９ａ〜４０９ｄの各比較結果に基づいて、入力端子４０４を介して入力したＳＡアドレス情報と上りＳＡアドレス検索用メモリ３０９から読み出したＭＡＣアドレスデータとの一致の有無を検出する。両者が一致していた場合、読み出した４つのＭＡＣアドレスのどの情報が一致していたか否かを検出し、検出結果を選択回路４１１へ出力する。
【００９１】
未使用エリア検出回路（空き領域検出部）４２２は、入力端子４０６を介して入力した制御フラグ情報に基づいて、上りＳＡアドレス検索用メモリ３０９に登録されているＭＡＣアドレス情報が無効（未使用）であるか否かを判定し、未使用と判定したアドレス情報を記憶する。
【００９２】
次に動作について説明する。
（１）上り方向のＥｔｈｅｒｎｅｔフレームデータの送受信動作
先ず、基地局１内のデータ送受信装置による上り方向のＥｔｈｅｒｎｅｔフレームデータの送受信動作について説明する。
光ネットワーク４から光信号の形態で入力されたＥｔｈｅｒｎｅｔフレームデータは、基地局１内に配置されたデータ送受信装置に入力され、図示していない光伝送用のＰＨＹ回路にて電気信号のＥｔｈｅｒｎｅｔフレームデータへ変換され、入力端子２１を介してＭＡＣ部２３に入力される。
【００９３】
ＭＡＣ部２３は、入力した光伝送用に予め付加された各種情報を元にＥｔｈｅｒｎｅｔフレームを分離し、ブリッジ回路２４に分離したＥｔｈｅｒｎｅｔフレームを出力する。以降、図５に示すように、通常のＥｔｈｅｒｎｅｔフレームがブリッジ回路２４に入力されるものとして説明する。
【００９４】
（１Ａ）ブリッジ回路２４の動作
以下、図３を用いてブリッジ回路２４の動作を説明する。
入力端子２００を介して入力されたＥｔｈｅｒｎｅｔフレームデータは、上りフィルタリング処理回路２０２及びＦＩＦＯメモリ２０３に入力される。ＦＩＦＯメモリ２０３は、入力されたＥｔｈｅｒｎｅｔフレームのＭＡＣヘッダ部の処理がブリッジ回路２４で終了するまで一次記憶する。
【００９５】
一方、上りフィルタリング処理回路２０２では、入力されたＥｔｈｅｒｎｅｔフレームのＭＡＣヘッダ情報を分離する。この後、上りフィルタリング処理回路２０２は、分離したＭＡＣヘッダ情報からＭＡＣアドレス情報を分離して、分離したＭＡＣアドレス情報と予め定められたＭＡＣアドレス情報とを比較してフィルタリング処理を実施する。具体的には、予め定められたＭＡＣアドレス情報を受信した場合、予め定められた処理（データ送受信装置内の図示していないＣＰＵへの通知、パケットの削除等の処理）を実施する。
【００９６】
この実施の形態１において、パケットのＣＰＵへの通知や削除は、上りブリッジメモリ制御回路２０６でブリッジメモリ２５にデータを書き込む際に処理を実施する。例えば、ＣＰＵへの通知フレームでは、ブリッジメモリ２５の予め定められたアドレスにデータを書き込み、ＣＰＵに対して割り込み制御信号を出力し、その旨を通知する。
【００９７】
削除フレームについては、ブリッジメモリ２５へのデータの書き込みを実施しないことにより削除する。ＦＩＦＯメモリ２０３に記憶されているＥｔｈｅｒｎｅｔフレームデータは、一旦読み出して破棄する。
【００９８】
上りフィルタリング処理回路２０２でフィルタリング処理の施されたデータは連想メモリ回路２０４に入力される。ここでは、上りフィルタリング処置回路２０２が、フィルタリング処理の施されたデータについても連想メモリに回路２０４によるアドレス検索、上りＶＬＡＮ処理回路２０５によるＶＬＡＮ処理は実施するものとして説明を続ける。
【００９９】
なお、上りフィルタリング処理回路２０２が破棄フレームと判断したＥｔｈｅｒｎｅｔフレームは、連想メモリ回路２０４によるアドレス検索及び上りＶＬＡＮ処理回路２０５によるＶＬＡＮ処理を実施しないように構成してもよい。
【０１００】
（１Ｂ）連想メモリ回路２０４による上り方向のアドレス検索制御
図４を用いて、連想メモリ回路２０４による上り方向のアドレス検索制御を説明する。
連想メモリ回路２０４に入力された上り方向のＭＡＣヘッダ情報は、ＭＡＣアドレス分離回路３０３によって上りＤＡアドレスとＳＡアドレスとに分離される。ＭＡＣアドレス分離回路３０３が分離したＤＡアドレス情報は、ハッシュ値計算回路３０４に入力され、予め定められたハッシュ関数によりハッシュ値が算出される。
【０１０１】
同様に、ＭＡＣアドレス分離回路３０３が分離したＳＡアドレス情報は、ハッシュ値計算回路３０５に入力され、予め定められたハッシュ関数によりハッシュ値が算出される。ハッシュ値計算回路３０４で計算されたハッシュ値は、ＭＡＣアドレス情報とともに、上りＤＡアドレス検索制御回路３０６へ入力される。以下、図８を用いて、上りＤＡアドレス検索回路３０６の動作を説明する。
【０１０２】
ハッシュ値計算回路３０４が算出したハッシュ値は、入力端子４０３を介してアドレス発生回路４０７に入力される。アドレス発生回路４０７では、入力されたハッシュ値に基づいて、アドレス検索を実施するバケットの先頭アドレスを発生する。この実施の形態１では、上りＤＡアドレス検索用メモリ３０７は、図６に示すように、３２個のバケットで構成されており、さらに各バケットが３２ワードで構成されているものとする。
【０１０３】
なお、１ワードのデータは、図７に示すように４８ビットのＭＡＣアドレス情報、１２ビットのポート情報、及び４ビットの制御情報の計６４ビットで構成されるものとする。図７に示す制御情報は、アドレス検索用メモリ毎のアドレス情報の登録状況を規定する、オーナーフラグ、静的フラグ、有効フラグ、及びヒットフラグの４種類のフラグで構成される。一般に、この実施の形態１に示すように、連想メモリ装置は、予め定められたアドレス数を学習し、登録することができる。
【０１０４】
例えば、宅内に配置したホームゲートウェイ２に接続される機器は変化する。従って、この実施の形態１による連想メモリ装置では、有限のアドレスを有効に活用するために、予め定められた時間だけ使用されなかったＭＡＣアドレス情報を削除する。この動作を、エージングと呼ぶ。これにより、限られた連想メモリのメモリ容量を有効に活用することができる。上記制御情報は、エージングの際に使用する。なお、詳細は後述する。
【０１０５】
ここで、制御情報の内容について説明する。
先ず、静的フラグは、登録されているＭＡＣアドレスが有効であり、エージングでアドレスが削除されないことを示すフラグである。本フラグは、例えば基幹ネットワーク５内に設けられた中継器のＭＡＣアドレス等を登録するもので、基本的には装置の位置がネットワーク上固定されており、また常々使用されているＭＡＣアドレス情報であるため、システムとしてエージングの非対象ＭＡＣアドレスとして定義する際に使用する。
【０１０６】
有効フラグは、登録されているＭＡＣアドレス情報が有効であるか否かを示すフラグであり、アドレス検索を実施し、ＭＡＣアドレスが一致した場合でも、本フラグが無効であれば、アドレスが有効ではないと判断する。
【０１０７】
ヒットフラグは、登録されているＭＡＣアドレス情報が使用されていることを示すフラグで、ＳＡアドレス検索の際に、ＭＡＣアドレスがアドレス検索用メモリ内に登録されていると、ヒットフラグがセット（有効）される。また、エージング実行の際には、有効フラグがセットされていて、かつヒットフラグがセットされているＭＡＣアドレスについては使用されていると判断し、ヒットフラグをクリアしてエージングが終了する。なお、静的フラグがセットされている場合、無条件にヒットフラグをクリアするのみの操作を実施する。
【０１０８】
一方、有効フラグがセットされており、ヒットフラグがセットされていなかった場合、検索対象のＭＡＣアドレスは使用されていないものと判断し、有効フラグをクリアする。静的フラグがセットされていた場合は、上述したように、ヒットフラグのクリアのみ実施する。
【０１０９】
次にオーナーフラグについて説明する。
オーナーフラグは、ＳＡアドレス検索時の説明で詳述するが、ＳＡアドレス検索によりアドレス学習（アドレス検索用メモリへのＭＡＣアドレス情報の登録）を実施する際に、アドレス学習を実施したＳＡアドレス検索用メモリのオーナーフラグのみ“１”とする。
【０１１０】
例えば、上り方向のＳＡアドレス検索でＳＡアドレスがヒットせず、アドレス登録を各アドレス検索用メモリに実施する場合は、上りＳＡアドレス検索用メモリ３０９のオーナーフラグのみ“１”にセットし、他のアドレス検索用メモリ３０７，３１５，３１７については“０”を書き込む。
【０１１１】
同様に、下り方向のＳＡアドレス検索でＳＡアドレスがヒットせず、アドレス登録を各アドレス検索用メモリに実施する場合は、下りＳＡアドレス検索用メモリ３１７内のオーナーフラグのみ“１”にセットし、他のアドレス検索用メモリ３０７，３０９，３１５については“０”を書き込む。
【０１１２】
オーナーフラグは、以下の理由で使用する。
通常、連想メモリ装置は、従来の技術にあるように１つのメモリを上り方向のＤＡアドレス、ＳＡアドレス検索、及び下り方向のＤＡアドレス、ＳＡアドレス検索に使用する。
これに対して、この実施の形態１では、図４に示すように、各々のアドレス検索を独立したアドレス検索用メモリを用いて実施する。従って、上り方向のＳＡアドレスを検索した結果、上りＳＡアドレス検索用メモリ３０９に登録されたＭＡＣアドレスは、基本的に入力端子３０１からのみ入力される。
【０１１３】
例えば、本来、入力端子３０１より入力されるべきＳＡアドレス情報が、入力端子３０２から入力された場合、外部からの不正アクセスとして認識し、不図示のＣＰＵに対し、その旨を通知する。
【０１１４】
エージングを実施する際、当該アドレスを本当に削除してよいか否かを判断する場合にオーナーフラグを利用する。具体的には、ＭＡＣアドレスが有効で、かつヒットフラグがセットされていなくても、オーナーフラグがセットされていなければ、ＭＡＣアドレスの削除を実施しないように制御する。
【０１１５】
このように制御する理由を説明すると、上述のように入力端子３０１を介して入力されたＭＡＣアドレスは、入力端子３０１のみに入力される。従って、入力端子３０１を介さない下りＳＡアドレス検索用メモリ３１７内の当該ＭＡＣアドレスのヒットフラグは、セットされない（無効）。
【０１１６】
このため、下りＳＡアドレス検索用メモリ３１７側では、当該ＭＡＣアドレスの使用有無を認識することができず、エージングによる削除を行うことができなかった。反対に、上り方向のアドレス検索用メモリに記憶されたＭＡＣアドレス情報をエージングする際、下りＳＡアドレス検索で記憶したＭＡＣアドレス情報が消される場合も発生していた。
【０１１７】
そこで、この実施の形態１では、上りＳＡアドレス検索用メモリ３０９内のＭＡＣアドレス情報をエージングする場合、上記オーナーフラグに従い、オーナーフラグがセットされており、かつヒットフラグがセットされていないＭＡＣアドレス情報のみをエージングする。
【０１１８】
このように制御することにより、上り方向のアドレス検索用メモリに記憶されたＭＡＣアドレス情報をエージングする際、下りＳＡアドレス検索で記憶したＭＡＣアドレス情報が消されることがなくなる上、高速化を図るために複数のアドレス検索用メモリを配置した連想メモリ装置において、エージング処理を確実に実施することができる。
【０１１９】
上りＤＡアドレス検索制御回路３０６は、入力されたハッシュ値に基づいて上りＤＡアドレス検索用メモリ３０７のバケットを選択する。ここでは、ハッシュ値計算回路３０４から出力されるハッシュ値のＭＳＢ（Most Significant Bit）側から５ビットの値に基づきバケットを選択する。
【０１２０】
入力端子４０３を介して入力されたハッシュ値は、アドレス発生回路４０７でＭＳＢ側より上位５ビットの値が選択され、選択された５ビットの値を元にバケットの先頭アドレスが生成される。この実施の形態１において、選択されたバケットの番号をＮ（０≦Ｎ≦３１の整数）とした場合、１バケットあたりのバイト数（１バイトは、８ビットとする）は、８バイト×３２ワード＝２５６バイトとなる。従って、アドレス発生回路４０７は、２５６×Ｎバイトのアドレス情報データをメモリ制御回路４０８に出力する。
【０１２１】
メモリ制御回路４０８では、アドレス発生回路４０７から入力したアドレス情報に基づいて、上りＤＡアドレス検索用メモリ３０７からのデータ読み出し制御信号を生成する。ここでは、高速アドレス検索を実施するため、図８に示すように、上りＤＡアドレス検索用メモリ３０７から４ワード分のデータを１クロックで読み出すよう制御する。バケット内には最大３２個のＭＡＣアドレス数が記憶されているので、８クロックで全てのデータを上りＤＡアドレス検索用メモリ３０７から読み出すことができる。
【０１２２】
４ワード単位で上りＤＡアドレス検索用メモリ３０７から読み出されたＭＡＣアドレス情報は、入力端子４０５を介して比較回路４０９ａ〜４０９ｄに入力される。なお、上りＤＡアドレス検索用メモリ３０７から読み出されたポート情報、及び制御フラグ情報は、選択回路４１１に入力される。
【０１２３】
比較回路４０９ａ〜４０９ｄは、上りＤＡアドレス検索用メモリ３０７から読み出されたＭＡＣアドレス情報と、入力端子４０４を介して入力された検索対象となるＤＡアドレス情報とを比較する。この比較の結果、検索対象のＤＡアドレス情報と上りＤＡアドレス検索用メモリ３０７から読み出されたＭＡＣアドレス情報とが一致した場合、一致検出回路４１０にその旨を通知する。具体的には、“１”を出力する。なお、一致しなかった場合は“０”を出力する。
【０１２４】
一致検出回路４１０は、比較回路４０９ａ〜４０９ｄから出力される上記信号を監視する。このとき、一致検出回路４１０は、比較回路４０９からアドレス情報が一致した旨の通知を受け取ると、選択回路４１１に対して、アドレス情報が一致したＭＡＣアドレスが記憶されているアドレスから読み出した制御情報を確認するように指示を出す。
【０１２５】
選択回路４１１では、一致検出回路４１０から指示を受け取ると、この制御フラグの有効フラグ、及び静的フラグを確認する。そして、上記有効フラグあるいは静的フラグの少なくとも一つが有効であった場合、その旨を一致検出フラグに通知するとともに、アドレス情報が一致したＭＡＣアドレスの記憶されているアドレスから読み出したポート情報を出力端子４１３から出力する。一方、上記有効フラグ及び静的フラグがいずれも有効でなかった場合は、エージング動作等で消去された情報と判断して、一致検出回路４１０にその旨を通知する。
【０１２６】
一致検出回路４１０は、選択回路４１１から制御フラグの有効フラグ及び静的フラグの少なくとも一つが有効であると通知を受けると、メモリ制御回路４０８に対して上りＤＡアドレス検索用メモリ３０７からのデータの読み出しを終了するように制御信号を出力するとともに、ＤＡアドレス検索終了信号を出力端子４１２を介して出力する。メモリ制御回路４０８では、この制御信号を受信すると、上りＤＡアドレス検索用メモリ３０７からのデータ読みだし制御信号の出力を停止し、次のＤＡアドレス検索指示が入力されるまで待機する。
【０１２７】
また、選択回路４１１から制御フラグの有効フラグ及び静的フラグのいずれも有効ではなかった通知を受けた場合、一致検出回路４１０は、該一致したＭＡＣアドレス情報がエージングで削除された情報と判断し、ＤＡアドレス検索を継続する。具体的には、メモリ制御回路４０８に対してＤＡアドレス検索が終了信号を出力しない。
【０１２８】
メモリ制御回路４０８は、上述したようにアドレス発生回路４０７からアドレス情報が入力されると、入力されたアドレス情報に基づいて上りＤＡアドレス検索用メモリ３０７へのデータ読み出し制御信号を出力端子４１２を介して出力するとともに、上りＤＡアドレス検索用メモリ３０７からのＭＡＣアドレスの読み出しアドレス回数のカウントを開始する。そして、バケット内の全てのＭＡＣアドレス情報の読み出しが完了すると、その旨を一致検出回路４１０に出力する。
【０１２９】
一致検出回路４１０は、上記制御信号をメモリ制御回路４０８より受け取ると、最後に読み出されたＭＡＣアドレス情報の比較結果の通知を確認し、ＭＡＣアドレスがヒットしなかった場合は、検索対象のアドレスが記憶されていなかった旨を、ＤＡアドレス検索終了信号とともに出力する。
【０１３０】
（１Ｃ）メモリ制御回路４０８のアドレス学習における動作
次に、メモリ制御回路４０８のアドレス学習時の動作について説明する。
アドレス学習要求信号は、入力端子４０１及び入力端子４０２を介してメモリ制御回路４０８に通知される。具体的には、上りＳＡアドレスの検索結果としてアドレス学習が必要と判断された場合、入力端子４０１を介して、上りＳＡアドレス検索制御回路３０８から、アドレス学習要求信号とともに、上りＤＡアドレス検索用メモリ３０７への書き込みアドレス情報、学習対象のＭＡＣアドレス情報、ポート情報、制御情報、及び登録／削除登録制御情報が入力される。
【０１３１】
同様に、入力端子４０２を介して、下りＳＡアドレス検索制御回路３１６から、アドレス学習要求信号とともに、上りＤＡアドレス検索用メモリ３０７への書き込みアドレス情報、学習対象のＭＡＣアドレス情報、ポート情報、制御情報、登録／削除登録制御情報が入力される。
【０１３２】
ここで、登録／削除登録制御情報について簡単に説明する。
入力信号が登録要求である場合、ＳＡアドレスの検索結果としてアドレス検索用メモリにＭＡＣアドレス情報が記憶されていなかったことを示すため、上りＤＡアドレス検索制御回路３０６は、入力されたメモリアドレスに、入力されたＭＡＣアドレス情報、ポート情報、及び制御情報（オーナーフラグは“０”で登録）を書き込む。
【０１３３】
なお、該アドレスに記憶されている情報を読み出し、静的フラグ及び有効フラグを確認し、両フラグともセットされていなかった場合、該メモリアドレスに入力されたＭＡＣアドレス情報、ポート情報、及び制御情報を書き込む。
【０１３４】
一方、いずれかのフラグがセットされていた場合は、その旨をＣＰＵ（不図示）に通知する。ＣＰＵでは、該通知が入力されると、各アドレス検索用メモリ内のＭＡＣアドレス登録状況がおかしいと判断し、その旨を連想メモリ回路２０４に通知する。
【０１３５】
連想メモリ回路２０４では、該通知を受け取ると、アドレス検索用のテーブルを再構築するため、各アドレス検索用メモリ内に登録されている静的フラグがセットされていない全てのＭＡＣアドレス情報を削除する。
【０１３６】
削除登録であった場合、ＳＡアドレス検索の結果、このＭＡＣアドレスの機器が異なるポートに接続されたと判断し、ＤＡアドレス検索制御回路は、入力されたメモリアドレスのポート情報、及び制御情報（オーナーフラグは“０”で登録）を書き換える。
【０１３７】
なお、ＤＡアドレス検索用メモリから該アドレスの情報を読み出して、ＭＡＣアドレス情報が一致しているかを確認した後、一致していた場合はＤＡアドレス検索用メモリにポート情報、及び制御情報を更新したデータを書き込む。
【０１３８】
一致していなかった場合は、その旨をＣＰＵ（不図示）に通知する。ＣＰＵは、該通知が入力されると、各アドレス検索用メモリ内のＭＡＣアドレス登録状況がおかしいと判断し、その旨を連想メモリ回路２０４に通知する。
【０１３９】
連想メモリ回路２０４は、この通知を受け取ると、アドレス検索用のテーブルを再構築するため、各アドレス検索用メモリ内に登録されている静的フラグがセットされていない全てのＭＡＣアドレス情報を削除する。
【０１４０】
上記ＭＡＣアドレス情報の登録が完了すると、メモリ制御回路４０８は、新たなＭＡＣアドレスの登録／削除登録要求があれば、再度、ＭＡＣアドレスの登録／削除登録を実施する。新たな登録／削除登録要求がなければ、ＤＡアドレス検索の状況を確認して、ＤＡアドレス検索が完了していなかった場合は、ＤＡアドレス検索を再開する。ＤＡアドレス検索が完了していた場合、次のＤＡアドレス検索の要求が入力されるまで待機する。
【０１４１】
次に、エージングによるアドレス削除動作について簡単に説明する。
入力信号がエージングの削除要求であると、上りＤＡアドレス検索制御回路３０６は、入力されたメモリアドレスのデータを読み出し、入力されたＭＡＣアドレス情報及びポート情報を確認して、一致していなかった場合は、その旨を不図示のＣＰＵへ通知する。ＣＰＵでは、該通知が入力されると、各アドレス検索用メモリ内のＭＡＣアドレスの登録状況がおかしいと判断し、その旨を連想メモリ回路２０４に通知する。
【０１４２】
一致していた場合は、制御情報を確認する。具体的には、静的フラグが無効であり、かつ有効フラグが有効であった場合、有効フラグ及びヒットフラグをクリアし、ＭＡＣアドレス情報、ポート情報とともに該入力されたメモリアドレスにデータを書き戻す。一方、静的フラグが有効あるいは有効フラグが無効であった場合は、その旨をＣＰＵに通知する。ＣＰＵでは、該通知が入力されると、各アドレス検索用メモリ内のＭＡＣアドレスの登録状況がおかしいと判断し、その旨を連想メモリ回路２０４に通知する。
【０１４３】
実施の形態１では、有効フラグをリセットすることで、ＭＡＣアドレス情報、ポート情報の削除を実施する。なお、実施の形態１では、ＭＡＣアドレス情報、ポート情報を、そのまま書き戻したが、これに限るものではない。例えば、ある特定のＭＡＣアドレス情報（ＦＦＦＦＦＦＦＦＦＦＦＦなど）を書き戻すようにしてもよい。また、ポート情報についても、例えば使用していないポート情報を書き戻してもよい。
【０１４４】
なお、エージングによるＭＡＣアドレスの削除は、この実施の形態１では、各アドレス検索用メモリの内容をほぼ同時に書き換える。このため、各アドレス検索制御回路が、アドレス検索中のアドレス検索用メモリについては、アドレス検索を一時中断してアドレス削除を実施し、その後再開するようにアドレス検索用メモリを制御する。
【０１４５】
従って、上記ＭＡＣアドレス情報のエージングによる削除が完了すると、メモリ制御回路４０８は、新たなＭＡＣアドレスの削除要求があれば、再度、ＭＡＣアドレスの削除を実施する。新たな削除要求がなければ、ＤＡアドレス検索の状況を確認して、ＤＡアドレス検索が完了していなかった場合は、ＤＡアドレス検索を再開する。ＤＡアドレス検索が完了していた場合、次のＤＡアドレス検索の要求が入力されるまで待機する。
【０１４６】
ここで、エージングによる削除の詳細動作について説明する。
メモリ制御回路４０８は、入力端子４０１あるいは４０２を介して上記信号が入力されると、アドレス削除を開始する。上りＤＡアドレス検索制御回路３０６における、上りＤＡアドレス検索用メモリ３０７へのアクセスの際の優先順位は、上りＳＡアドレス検索制御回路３０８からのアドレス登録／削除登録／エージングによる削除要求、下りＳＡアドレス検索制御回路３１６からのアドレス登録／削除登録／エージングによる削除要求、上りＤＡアドレス検索とする。
【０１４７】
同様に、下りＤＡアドレス検索制御回路３１４における下りＤＡアドレス検索用メモリ３１５へのアクセスの際の優先順位は、上りＳＡアドレス検索制御回路３０８からのアドレス登録／削除登録／エージングによる削除要求、下りＳＡアドレス検索制御回路３１６からのアドレス登録／削除登録／エージングによる削除要求、下りＤＡアドレス検索とする。
【０１４８】
また、上りＳＡアドレス検索制御回路３０８は、上りＳＡアドレス登録／削除登録／エージングによる削除要求、下りＳＡアドレス検索制御回路３１６からのアドレス登録／削除登録／エージングによる削除要求、上りＳＡアドレス検索の順番で、ＳＡアドレス検索用メモリをアクセスする。
【０１４９】
下りＳＡアドレス検索制御回路３１６は、上りＳＡアドレス検索制御回路３０８から出力されるアドレス登録／削除登録／エージングによる削除要求、下りＳＡアドレス登録／削除登録／エージングによる削除要求、下りＳＡアドレス検索の順番で、ＳＡアドレス検索用メモリをアクセスする。
【０１５０】
このように各アドレス検索用メモリへのアクセスの優先順位をつける理由を述べる。
この実施の形態１では、各アドレス検索用メモリのＭＡＣアドレス情報等の登録を同時に実施するように構成する。例えば、上りＳＡアドレス検索制御回路３０８及び下りＳＡアドレス検索制御回路３１６から同時にアドレス用検索用メモリの同じアドレスに異なるＭＡＣアドレスの情報を書き込むようにアドレス登録要求がなされた場合を考える。この場合、いずれの要求を優先的に書き込むかを予め決めておかないと、各アドレス検索用メモリの登録情報が同一のものでなくなるため、アドレス学習及びエージングができなくなる。
【０１５１】
そこで、この実施の形態１では、各アドレス検索用メモリへのアクセスの際の優先順位をシステムで同一にすることで、上記不具合を解決する。なお、アドレス検索の優先順を下げている理由は、アドレス検索中は検索が終了するまでの時間がまちまちであるため順位を下げている。
【０１５２】
上記説明では、上りＳＡアドレス検索制御回路３０８の出力を、下りＳＡアドレス検索制御回路３１６の出力より優先順位を上げる場合を述べたが、これに限るものではない。つまり、アドレス登録／削除登録／エージングによる削除要求を、アドレス検索要求より優先順位を上げるように設定しておけば、優先順位はいずれが高くても同様の効果を奏する。
【０１５３】
次に、エージングによる削除要求が入力された場合の動作について説明する。
図１１は、図４中のＤＡアドレス検索制御回路からアドレス削除指示が出された際の、各アドレス検索制御回路による処理の流れを示すフローチャートであり、この図に沿って処理の詳細を説明する。
【０１５４】
先ず、メモリ制御回路４０８は、入力端子４０１あるいは入力端子４０２を介して入力された信号が、エージングによる削除要求であるか否かを確認する（ステップＳＴ１）。ここで、エージングによる削除要求が入力された場合、メモリ制御回路４０８は、一致検出回路４１０がＤＡアドレス検索中か否かを確認する（ステップＳＴ２）。
【０１５５】
ステップＳＴ２において、ＤＡアドレス検索中の場合、メモリ制御回路４０８は、アドレス検索を一時停止させて、エージングによる削除の制御を行う。このとき、メモリ制御回路４０８は、中断フラグをセットする（ステップＳＴ３）。一方、ＤＡアドレス検索を実施していなかった場合、メモリ制御回路４０８は、そのままエージングによる削除の制御を行う。
【０１５６】
ここで、メモリ制御回路４０８は、一致検出回路４１０に対してエージングによる削除に入る旨を通知するとともに、入力端子４０１からのエージングによる削除要求であるか否かを確認する（ステップＳＴ４）。このとき、入力端子４０１からのエージングによる削除であった場合、メモリ制御回路４０８は、入力端子４０１から入力された上りＤＡアドレス検索用メモリ３０７のアドレス情報に基づきデータを読み出す。
【０１５７】
この後、メモリ制御回路４０８は、読み出したＭＡＣアドレス情報、及びポート情報を比較し、一致していた場合は、制御情報を確認し、静的フラグがセットされておらず、有効フラグがセットされていた場合は、有効フラグ及びヒットフラグをクリアして、データを書き戻す（ステップＳＴ５）。なお、読み出したＭＡＣアドレス情報及びポート情報が一致していなければ、静的フラグ、あるいは有効フラグがセットされているかを確認し、どちらか一方のフラグ、あるいは両方のフラグがセットされていた場合、その旨を不図示のＣＰＵへ通知する。ＣＰＵでは、該通知が入力されると、各アドレス検索用メモリ内のＭＡＣアドレスの登録状況がおかしいと判断し、その旨を連想メモリ回路２０４に通知する。
【０１５８】
上述のようにしてアドレス削除が完了すると、メモリ制御回路４０８は、エージングによる削除要求が完了したことを、上りＳＡアドレス検索制御回路３０８に通知する（ステップＳＴ６）。上記作業が完了すると、メモリ制御回路４０８は、入力端子４０２からのエージングによる削除要求が入力されているか否かを確認する（ステップＳＴ７）。このとき、入力端子４０２からのエージングによる削除であった場合、メモリ制御回路４０８は、入力端子４０２から入力された上りＤＡアドレス検索用メモリ３０７のアドレス情報に基づきデータを読み出す。
【０１５９】
この後、メモリ制御回路４０８は、読み出したＭＡＣアドレス情報、及びポート情報を比較し、一致していた場合は、制御情報を確認し、静的フラグがセットされておらず、有効フラグがセットされていた場合は、有効フラグ及びヒットフラグをクリアしてデータを書き戻す（ステップＳＴ８）。なお、読み出したＭＡＣアドレス情報及びポート情報が一致していなければ、静的フラグ、あるいは有効フラグがセットされているかを確認し、どちらか一方のフラグ、あるいは両方のフラグがセットされていた場合、その旨を不図示のＣＰＵに通知する。ＣＰＵでは、該通知が入力されると、各アドレス検索用メモリ内のＭＡＣアドレスの登録状況がおかしいと判断し、その旨を連想メモリ回路２０４に通知する。
【０１６０】
上述のようにしてアドレス削除が完了すると、メモリ制御回路４０８は、エージングによる削除要求が完了したことを、下りＳＡアドレス検索制御回路３１６に通知する（ステップＳＴ９）。上記作業が完了すると、メモリ制御回路４０８は、中断フラグがセットされているか否かを確認する（ステップＳＴ１０）。ここで、中断フラグがセットされていれば、メモリ制御回路４０８は、中断フラグをリセットし、一致検出回路４１０にＤＡアドレス検索を再開させる（ステップＳＴ１１）。また、中断フラグがセットされていなければ、次のエージングによる削除要求が入力されるまで待機する。
【０１６１】
（１Ｄ）ＳＡアドレスの検索
次に、ＳＡアドレス検索時の動作を図１０を用いて説明する。
ハッシュ値計算回路３０５で算出されたハッシュ値は、入力端子４０３を介してアドレス発生回路４０７に入力される。アドレス発生回路４０７は、入力されたハッシュ値を元にアドレス情報を生成する。なお、アドレス情報の発生動作は、上りＤＡアドレス検索制御回路３０６と同一なので操作の説明は省略する。
【０１６２】
アドレス発生回路４０７にて生成されたアドレス情報は、メモリ制御回路４２０に入力される。メモリ制御回路４２０では、上りＤＡアドレス検索制御回路３０６と同様に、アドレス発生回路４０７から出力されるアドレス情報に基づいて、上りＳＡアドレス検索用メモリ３０９からのデータ読み出し制御信号を生成する。
【０１６３】
なお、高速アドレス検索を実施するため、上りＳＡアドレス検索用メモリ３０９からは４ワード単位でデータを読み出すよう制御する。４ワード単位で上りＳＡアドレス検索用メモリ３０９から読み出されたＭＡＣアドレス情報は、入力端子４０５を介して比較回路４０９ａ〜４０９ｄに入力される。また、上りＳＡアドレス検索用メモリ３０９から読み出されたポート情報及び制御フラグ情報は、選択回路４１１及び未使用エリア検出回路４２２に入力される。
【０１６４】
比較回路４０９ａ〜４０９ｄでは、上りＳＡアドレス検索用メモリ３０９から読み出されたＭＡＣアドレス情報と、入力端子４０４を介して入力された検索対象となるＳＡアドレス情報とを比較する。この比較の結果、検索対象のＳＡアドレス情報と上りＳＡアドレス検索用メモリ３０９から読み出されたＭＡＣアドレス情報が一致した場合、一致検出回路４２１にその旨を通知する。具体的には、“１”を出力する。なお、一致しなかった場合は“０”を出力する。
【０１６５】
一致検出回路４２１は、比較回路４０９ａ〜４０９ｄから出力される上記信号を監視しており、比較回路４０９からアドレス情報が一致した旨の通知を受け取ると、選択回路４１１に対してアドレス情報が一致したＭＡＣアドレスの記憶されているアドレスから読み出した制御情報を確認するよう指示を出す。
【０１６６】
選択回路４１１では、一致検出回路４２１から指示を受け取ると、該当制御フラグのオーナーフラグ、有効フラグ、及び静的フラグを確認する。そして、上記有効フラグあるいは静的フラグの少なくとも一つが有効で、オーナーフラグがセットされていなかった場合、上述と同様に、その旨をＣＰＵに通知し、ＳＡアドレス検索を終了する。
【０１６７】
一方、オーナーフラグが有効で、上記有効フラグあるいは静的フラグの少なくとも一つが有効であった場合は、その旨を一致検出回路４２１に通知するとともに、アドレス情報が一致したＭＡＣアドレスの記憶されているアドレスから読み出したポート情報と、ＭＡＣフレームが入力されたポート情報とを比較する。
【０１６８】
この比較の結果、同一と判断した場合は、ヒットフラグをセットしてＳＡアドレス検索を終了する。異なっていた場合、機器の接続ポートが変わったと判断し、削除登録動作に入る。なお、削除登録動作の詳細は後述する。
【０１６９】
また、有効フラグ及び静的フラグがいずれも有効でなかった場合は、エージング動作等で消去された情報と判断して、一致検出回路４２１にその旨を通知する。
【０１７０】
未使用エリア検出回路４２２は、上りＳＡアドレス検索用メモリ３０９から読み出された該当制御フラグの有効フラグ及び静的フラグを確認し、両フラグともセットされていない未使用アドレスを検索し、そのアドレスを記憶する。この実施の形態１では、未使用エリアの検索とＳＡアドレス検索とを同時に実施することにより、ＳＡアドレス検索及びアドレス学習の双方の制御の高速化を図っている。
【０１７１】
一致検出回路４２１では、選択回路４１１から、該当制御フラグのオーナーフラグが有効で、有効フラグ及び静的フラグの少なくとも一方が有効である旨の通知を受けると、メモリ制御回路４２０に対して上りＳＡアドレス検索用メモリ３０９からのデータの読み出しを終了するように制御信号を出力するとともに、ＳＡアドレス検索の終了信号を出力端子４１２を介して出力する。
【０１７２】
メモリ制御回路４２０は、該制御信号を受信すると、上りＳＡアドレス検索用メモリ３０９からのデータ読みだし制御信号の出力を停止し、ＭＡＣアドレスの一致した当該ＭＡＣアドレス情報の記憶されているアドレスのヒットフラグを１にセット（有効）して書き戻す。ヒットフラグのセットが完了すると、上りＳＡアドレス検索制御回路３０８は、次のＳＡアドレス検索指示が入力されるまで待機する。
【０１７３】
一方、選択回路４１１から制御フラグの有効フラグ及び静的フラグのいずれも有効ではなかった旨の通知を受けた場合、一致検出回路４２１は、該一致したＭＡＣアドレス情報がエージングで削除された情報であると判断し、ＳＡアドレス検索を継続する。具体的には、メモリ制御回路４２０に対してＳＡアドレス検索の終了信号を出力しない。
【０１７４】
メモリ制御回路４２０は、上述したようにアドレス発生回路４０７からアドレス情報が入力されると、入力されたアドレス情報に基づいて上りＳＡアドレス検索用メモリ３０９へのデータ読み出し、制御信号を出力端子４１２を介して出力するとともに、上りＳＡアドレス検索用メモリ３０９からのＭＡＣアドレスの読み出しアドレス回数のカウントを開始する。
【０１７５】
バケット内の全てのＭＡＣアドレス情報の読み出しが完了すると、メモリ制御回路４２０は、その旨を一致検出回路４２１に出力する。一致検出回路４２１は、上記制御信号をメモリ制御回路４２０から受け取ると、最後に読み出されたＭＡＣアドレス情報の比較結果の通知を確認し、ＭＡＣアドレスがヒットしなかった場合、検索対象のアドレスが記憶されていなかったと判断し、アドレス学習動作に移行する。
【０１７６】
検索対象のアドレスが記憶されていた場合、オーナーフラグ、有効フラグ、静的フラグを確認し、記憶されているＭＡＣアドレスが正規のもので、有効であった場合は、ＭＡＣアドレスの一致した当該ＭＡＣアドレス情報の記憶されているアドレスのヒットフラグを１にセットして書き戻し、ＳＡアドレス検索を終了する。
【０１７７】
（１Ｅ）検索対象のＭＡＣアドレスの学習動作
以下、ＳＡ検索対象アドレスが記憶されていなかった場合のＭＡＣアドレスの学習動作について説明する。
一致検出回路４２１は、検索対象のバケット内に検索対象のＭＡＣアドレスが記憶されていなかった場合、検索対象のＭＡＣアドレス情報が記憶されていなかった旨を、ＳＡアドレス検索終了信号とともにメモリ制御回路４２０に出力する。
【０１７８】
メモリ制御回路４２０は、一致検出回路４２１から上りＳＡアドレス検索用メモリ３０９内に検索対象のＭＡＣアドレス情報が記憶されていない旨の通知を受け取ると、ＭＡＣアドレスの学習動作に入る。具体的には、アドレス学習の対象となるＭＡＣアドレス、ポート、及び制御情報（この実施の形態１では、有効フラグ、及びヒットフラグのみをセットするものとする）を準備するとともに、未使用エリア検出回路４２２から、ＳＡアドレス検索中に確認していたバケット内の空きアドレス情報を読み込む。
【０１７９】
空きアドレスがある場合は、アドレス発生回路４０７より出力された上りＳＡアドレス検索用メモリ３０９内のアドレス情報を生成し、アドレス登録要求信号とともに、該生成したアドレス情報、新たに記憶するＭＡＣアドレス情報、ポート情報、及び制御情報を、出力端子４２４を介して、上りＤＡアドレス検索制御回路３０６、下りＤＡアドレス検索制御回路３１４、及び下りＳＡアドレス検索制御回路３１６に出力する。また、空きアドアドレスがない場合は、新たなアドレス登録ができないため、ＭＡＣアドレスの登録を行わず、ＳＡアドレス検索を終了する。
【０１８０】
各アドレス検索制御回路へのアドレス学習（アドレス登録）要求信号の出力が完了すると、上りＳＡアドレス検索制御回路３０８は、上りＳＡアドレス検索用メモリ３０９に対してＭＡＣアドレス情報を書き込む。具体的には、先ほど生成した上りＳＡアドレス検索用メモリ３０９のアドレスに基づいて現在記憶されているデータを読み出し、制御情報から有効フラグ及び静的フラグが有効ではないことを確認した後、新たに記憶するＭＡＣアドレス情報、ポート情報及び制御情報（有効フラグ、ヒットフラグ及びオーナーフラグ）を書き込む。
【０１８１】
なお、空きスペースは、未使用エリア検出回路４２２で検出したものであるが、再度、有効フラグ、静的フラグの確認を実施した後、ＭＡＣアドレス等のデータの登録を行う。ここで、他のアドレス検索用メモリ制御回路では、アドレス検索用メモリにデータが登録可能か否かを確認した後、検索対象のＭＡＣアドレス情報等を記憶する。このように、実施の形態１では、同時に各アドレス検索用メモリの情報を書き換えるため、上述のような再度確認を実施するように制御される。
【０１８２】
なお、上りＳＡアドレス検索制御回路３０８の検索結果に基づいてアドレス情報を書き換える際、制御フラグの確認を行わず、上りＳＡアドレス検索用メモリ３０９のデータを直接書き換えても、一括に（ほぼ同時に）各アドレス検索用メモリの情報が書き換えられるので、同様の効果を奏することは言うまでもない。
【０１８３】
（１Ｆ）アドレス登録要求された際のメモリ制御回路４２０の動作
次に、下りＳＡアドレス検索制御回路３１６からアドレス登録要求が入力された際の、上りＳＡアドレス検索制御回路３０８のメモリ制御回路４２０による動作を説明する。
先ず、アドレス学習要求信号が、入力端子４０１を介してメモリ制御回路４２０に通知される。具体的には、下りＳＡアドレス検索の結果、アドレス学習が必要な場合は、下りＳＡアドレス検索制御回路３１６から、アドレス学習要求信号とともに、上りＳＡアドレス検索用メモリ３０９への書き込みアドレス情報、学習対象のＭＡＣアドレス情報、ポート情報、制御情報、登録／削除登録制御情報が入力される。
【０１８４】
メモリ制御回路４２０では、登録／削除登録制御情報が入力されると、現在、上りＳＡアドレス検索の結果、アドレス登録あるいはアドレス削除登録中であるかを確認する。アドレス登録あるいは削除登録中であった場合は、その動作が完了するまで待機する。
【０１８５】
上述したように、アドレス学習時の上りＳＡアドレス検索用メモリ３０９へのアクセスの優先順位は、上りＳＡアドレス検索結果に基づくアドレス学習制御（アドレス登録又はアドレス削除登録制御）、下りＳＡアドレス検索結果に基づくアドレス学習制御、上りＳＡアドレス検索の順番である。従って、メモリ制御回路４２０は、入力端子４０１を介してアドレス学習要求信号が入力されると、先ずは上りＳＡアドレスの検索結果に基づくアドレス学習制御が実施されているか否かを確認する。
【０１８６】
上りＳＡアドレスの検索結果に基づくアドレス学習制御が実施されていない、あるいは実施が完了している場合、メモリ制御回路４２０は、下りＳＡアドレスの検索結果に基づくアドレス登録動作を開始する。このとき、上りＳＡアドレス検索中であった場合は、この動作を一時中断して、アドレス登録動作を開始する。
【０１８７】
具体的には、入力信号が登録要求であった場合、ＳＡアドレスの検索結果として下りＳＡアドレス検索用メモリ３１７にＭＡＣアドレス情報が記憶されていなかったことを示すため、上りＳＡアドレス検索制御回路３０８は、入力されたメモリアドレスに、入力されたＭＡＣアドレス情報、ポート情報、及び制御情報（オーナーフラグは０で登録）を書き込む。
【０１８８】
この実施の形態１では、当該アドレスに記憶されている情報を読み出して、静的フラグ及び有効フラグを確認し、両フラグともセットされていなかった場合、当該メモリアドレスに入力されたＭＡＣアドレス情報、ポート情報、及び制御情報を書き込む。
【０１８９】
一方、いずれかのフラグがセットされていた場合、その旨をＣＰＵ（不図示）に通知する。ＣＰＵは、該通知が入力されると、各アドレス検索用メモリのＭＡＣアドレスの登録状況がおかしいと判断し、その旨を連想メモリ回路２０４に通知する。
【０１９０】
連想メモリ回路２０４では、該通知を受け取ると、アドレス検索用のテーブルを再構築するため、各アドレス検索用メモリ内に登録されている静的フラグがセットされていない全てのＭＡＣアドレス情報を削除する。
【０１９１】
上記ＭＡＣアドレス情報の登録が完了すると、メモリ制御回路４２０は、ＳＡアドレスを検索中にアドレス登録を実施した場合、ＳＡアドレス検索を再開する。一方、ＳＡアドレス検索を実施していなかった場合は、次のＳＡアドレス検索の要求が入力されるまで待機する。
【０１９２】
（１Ｇ）削除登録を実施する際のメモリ制御回路４２０の動作
次に、削除登録を実施する際のメモリ制御回路４２０の動作を説明する。
一致検出回路４２１は、ＳＡアドレス検索の結果として、検索対象のＭＡＣアドレスが記憶されており、有効フラグ及び静的フラグのいずれか一方が有効で、かつオーナーフラグが有効であるにもかかわらず、入力ポート番号が異なる場合、接続機器の接続ポートが変わったと判断し、ＭＡＣアドレスの登録削除制御に移行する。
【０１９３】
メモリ制御回路４２０は、一致検出回路４２１から削除登録指示を受け取ると、ＭＡＣアドレスの削除登録動作に入る。具体的には、アドレス削除登録の対象となるＭＡＣアドレス、ポート情報及び制御情報（例えば、有効フラグ及びヒットフラグのみをセットするものとする）を準備する。また、一致検出回路４２１が、上りＳＡアドレス検索用メモリ３０９から読み出したどのアドレスのＭＡＣアドレスデータが一致したかを確認し、削除登録の対象となる上りＳＡアドレス検索用メモリ３０９のアドレス情報を生成する。
【０１９４】
上りＳＡアドレス検索用メモリ３０９のアドレス情報の生成が完了すると、メモリ制御回路４２０は、アドレス登録削除要求信号とともに、生成したアドレス情報、削除登録を実施するＭＡＣアドレス情報、ポート情報、及び制御情報を、出力端子４２４を介して、上りＤＡアドレス検索制御回路３０６、下りＤＡアドレス検索制御回路３１４、及び下りＳＡアドレス検索制御回路３１６に出力する。
【０１９５】
各アドレス検索制御回路へのアドレス登録削除要求信号の出力が完了すると、上りＳＡアドレス検索制御回路３０８は、上りＳＡアドレス検索用メモリ３０９に対してポート情報の更新を実施する。具体的には、先ほど生成した上りＳＡアドレス検索用メモリ３０９のアドレスに基づいて現在記憶されているデータを読み出し、ポート情報及び制御情報を確認して、オーナーフラグ、有効フラグ及び静的フラグのいずれかが有効であることを確認した後、ポート情報が一致していないかどうかを確認する。これら確認処理が終了すると、新たなポート情報及び制御情報（有効フラグ、ヒットフラグ及びオーナーフラグ）を書き込む。
【０１９６】
なお、この実施の形態１では、上りＳＡアドレス検索時に、上記確認処理を実施しているが、再度、オーナーフラグ、有効フラグ、静的フラグ及びポート情報の確認を実施した後、ポート情報及び制御情報のデータ更新を行う。ここで、他のアドレス検索用メモリ制御回路では、アドレス検索用メモリのデータの確認を行って、本当に削除登録可能かを確認した後、対象のポート情報等を記憶する。また、同時に各アドレス検索用メモリの情報を書き換えるため、再度確認するように制御する。
【０１９７】
上りＳＡアドレス検索制御回路３０８で検索した検索結果に基づいてポート情報を書き換える際は、制御フラグの確認を行わず、上りＳＡアドレス検索用メモリ３０９のデータを直接書き換えても、ほぼ同時に各アドレス検索用メモリの情報が書き換えられるので、同様の効果を奏することは言うまでもない。
【０１９８】
（１Ｈ）アドレス削除登録要求された際のメモリ制御回路４２０の動作
次に、下りＳＡアドレス検索制御回路３１６からのアドレス削除登録要求が入力された際における、上りＳＡアドレス検索制御回路３０８のメモリ制御回路４２０の動作を説明する。アドレス削除登録要求信号は、入力端子４０１を介してメモリ制御回路４２０に通知される。
【０１９９】
下りＳＡアドレス検索の結果、アドレス削除登録が必要な場合、下りＳＡアドレス検索制御回路３１６からアドレス削除登録要求信号とともに、上りＳＡアドレス検索用メモリ３０９への書き込みアドレス情報、学習対象のＭＡＣアドレス情報、ポート情報、制御情報、登録／削除登録制御情報が入力される。削除登録要求信号が入力されると、上りＳＡアドレス検索制御回路３０８は、入力されたメモリアドレスのポート情報、及び制御情報（オーナーフラグは０で登録）を書き換える。
【０２００】
この実施の形態１では、上りＳＡアドレス検索用メモリ３０９から当該アドレスの情報を読み出し、ＭＡＣアドレス情報が一致しているかを確認した後、一致していた場合は、上りＳＡアドレス検索用メモリ３０９にポート情報及び制御情報を更新したデータを書き込む。
【０２０１】
一致していなかった場合は、その旨をＣＰＵ（不図示）に通知する。ＣＰＵは、該通知が入力されると、各アドレス検索用メモリ内のＭＡＣアドレスの登録状況がおかしいと判断し、その旨を連想メモリ回路２０４に通知する。
【０２０２】
連想メモリ回路２０４では、該通知を受け取ると、アドレス検索用のテーブルを再構築するため、各アドレス検索用メモリに登録されている、静的フラグがセットされていない全てのＭＡＣアドレス情報を削除する。
【０２０３】
（１Ｉ）ＭＡＣアドレスの削除登録要求された際のメモリ制御回路４２０の動作
以下、下りＳＡアドレス検索制御回路３１６からＭＡＣアドレスの削除登録要求があった場合の上りＳＡアドレス検索制御回路３０８の動作を説明する。
メモリ制御回路４２０は、登録／削除登録制御情報が入力されると、現在、上りＳＡアドレス検索の結果に基づいてアドレス登録あるいはアドレス削除登録中であるか否かを確認する。アドレス登録あるいは削除登録中の場合は、その動作が完了するまで待機する。
【０２０４】
上りＳＡアドレス検索結果の基づくアドレス学習制御が実施されていない、あるいは実施が完了している場合、メモリ制御回路４２０は、下りＳＡアドレス検索結果に基づくアドレス削除登録動作を開始する。このとき、上りＳＡアドレス検索中であった場合は、その動作を一時中断し、アドレス登録動作を開始する。
【０２０５】
具体的には、入力信号が削除登録要求であった場合、ＳＡアドレスの検索結果として、下りＳＡアドレス検索用メモリ３１７内に登録されているＭＡＣアドレスのポート情報が更新されたことを示すため、上りＳＡアドレス検索制御回路３０８は、入力されたメモリアドレスに、入力されたポート情報及び制御情報（オーナーフラグは“０”で登録）を書き込む。
【０２０６】
当該アドレスに記憶されている情報を読み出し、ＭＡＣアドレス情報が一致していることを確認するとともに、静的フラグ及び有効フラグを確認し、これらフラグの少なくとも一方が有効であり、ポート情報が異なることを確認する。これら条件に合えば、当該メモリアドレスに入力されたＭＡＣアドレス情報、ポート情報、及び制御情報を書き込む。
【０２０７】
一方、上記条件に合わなければ、上りＤＡアドレス検索制御回路３０６の動作でも説明したように、その旨を不図示のＣＰＵに通知する。ＣＰＵでは、該通知が入力されると、各アドレス検索用メモリ内のＭＡＣアドレスの登録状況がおかしいと判断し、その旨を連想メモリ回路２０４に通知する。
【０２０８】
上記ＭＡＣアドレス情報の削除登録が完了すると、メモリ制御回路４２０は、ＳＡアドレスを検索中に削除登録を実施した場合、ＳＡアドレス検索を再開する。また、ＳＡアドレス検索を実施していなかった場合は、次のＳＡアドレス検索の要求が入力されるまで待機する。
【０２０９】
次に、エージング時の動作について説明する。
図１２は、図４中のＳＡアドレス検索制御回路によるエージング処理の流れを示すフローチャートであり、この図に沿って処理の詳細を説明する。この実施の形態１では、エージングを各ＳＡアドレス検索用メモリで実施する。具体的には、不図示のＣＰＵが、システムの起動を契機にエージングタイマを起動する（ステップＳＴ１ａ）。以降では、エージングタイマを５分にセットし、５分に一度エージング動作を実施するものとして説明する。
【０２１０】
なお、エージングタイマについては、各ＳＡアドレス検索用メモリに記憶されるＭＡＣアドレスごとに設けてもよいが、この実施の形態１では、回路規模削減の観点からＣＰＵで一元管理し、５分間隔で各ＳＡアドレス検索用メモリ内のエージングを起動するものとする。また、エージングの起動間隔は５分に限るものではないことは言うまでもない。
【０２１１】
上記ＣＰＵは、エージングタイマー起動後、エージング時間が経過（実施の形態１では５分）するまで待機する（ステップＳＴ２ａ）。５分が経過すると、ＣＰＵは、各ＳＡアドレス検索制御回路に対してエージングを実施するよう指示を出す。各ＳＡアドレス検索制御回路は、ＣＰＵからエージング開始信号が入力されると、メモリ制御回路４２０内の不図示のエージング用アドレスカウンタの初期値を０にセットする（ステップＳＴ３ａ）。なお、この実施の形態１では、エージングを実施する場合、各ＳＡアドレス検索用メモリの０アドレスから順番にデータを読み出してエージングを実施する。以下、具体的なエージング動作について説明する。
【０２１２】
メモリ制御回路４２０は、エージング開始信号が入力されてエージング用アドレスカウンタの値を０にセットすると、一致検出回路４２１が現在ＳＡアドレス検索中であるかを確認する（ステップＳＴ４ａ）。ＳＡアドレス検索中であれば、ＳＡアドレス検索が終了するまで待機する。なお、アドレス登録／削除登録／エージングによるアドレス削除中の場合、これらが完了するまで待機する。
【０２１３】
ＳＡアドレス検索が実施されていない場合、メモリ制御回路４２０は、エージング処理を開始する。具体的には、ＳＡアドレス検索制御回路が、ＳＡアドレス検索用メモリ内のアドレス０からデータを読み出す（ステップＳＴ５ａ）。
【０２１４】
続いて、選択回路４１１は、読み出したデータについて静的フラグがセットされているか否かを確認する（ステップＳＴ６ａ）。静的フラグが有効であれば、このＭＡＣアドレスはエージング対象外であるので、選択回路４１１は、その旨を一致検出回路４２１を介してメモリ制御回路４２０に通知する。メモリ制御回路４２０では、該通知が入力されると、メモリ制御回路４２０内の不図示のエージング用アドレスカウンタの値を１つ更新する（ステップＳＴ１３ａ）。
【０２１５】
一方、静的フラグがセットされていない場合、選択回路４１１は、有効フラグがセットされているか否かを確認する（ステップＳＴ７ａ）。有効フラグがセットされていなければ空きアドレスであるので、選択回路４１１は、その旨を一致検出回路４２１を介してメモリ制御回路４２０に通知する。メモリ制御回路４２０は、静的フラグの場合と同様に、該通知が入力されると、ステップＳＴ１３ａに移行してエージング用アドレスカウンタの値を１つ更新する。
【０２１６】
有効フラグがセットされていた場合、選択回路４１１は、オーナーフラグがセットされているか否かを確認する（ステップＳＴ８ａ）。ここで、オーナーフラグがセットされていない場合は、他のＳＡアドレス検索用メモリに登録されたＭＡＣアドレス情報であるので、自ＭＡＣアドレス検索用メモリでのエージングは非対象となる。従って、選択回路４１１は、その旨を一致検出回路４２１を介してメモリ制御回路４２０に通知する。メモリ制御回路４２０では、該通知が入力されると、ステップＳＴ１３ａに移行してエージング用アドレスカウンタの値を１つ更新する。
【０２１７】
オーナーフラグがセットされていた場合、選択回路４１１は、ヒットフラグが有効であるか否かを確認する（ステップＳＴ９ａ）。ヒットフラグが無効である場合、このＭＡＣアドレスは、前回のエージングから今回のエージングまでの間に一度もアクセスされなかったことになる。従って、このＭＡＣアドレスはエージングによる削除の対象となる。
【０２１８】
ヒットフラグが有効である場合は、このＭＡＣアドレスが前回のエージングから今回のエージングまでの間に少なくとも１度はアクセスされたことになるため、選択回路４１１は、その旨を一致検出回路４２１を介してメモリ制御回路４２０に通知する。
【０２１９】
メモリ制御回路４２０は、該通知を受け取ると、エージング用アドレスカウンタが示すアドレスに、先ほど読み出したＭＡＣアドレス情報、ポート情報、及び制御情報を書き戻す。なお、この際、制御情報中のヒットフラグのみを０にクリアして書き戻す（ステップＳＴ１１ａ）。この書き戻しが終了すると、メモリ制御回路４２０は、ステップＳＴ１３ａに移行してエージング用アドレスカウンタの値を１つ更新する。
【０２２０】
ステップＳＴ９ａでヒットフラグが無効であった場合、選択回路４１１は、その旨を一致検出回路４２１を介してメモリ制御回路４２０に通知する。メモリ制御回路４２０は、該通知を受け取ると、上りＤＡアドレス検索制御回路３０６、下りＤＡアドレス検索制御回路３１４、及び下りＳＡアドレス検索制御回路３１６に、アドレス検索用メモリのアドレス情報（図１２中、Ｉと記載する）、ＭＡＣアドレス情報、及びポート情報を通知する。
【０２２１】
上記通知が完了すると、メモリ制御回路４２０は、入力端子４０１を介して他のＳＡアドレス検索制御回路からＭＡＣアドレスの登録／削除登録／エージングによる削除要求が入力していないかを確認する。該要求が入力されていた場合は、予め定められた優先順位でアドレス検索用メモリへのアクセスを実施する。
【０２２２】
なお、実施の形態１では、上りＳＡアドレス検索制御回路３０８からの要求を最優先するため、メモリ制御回路４２０は、不図示のエージング用アドレスカウンタが示すアドレスに、前もって読み出されたＭＡＣアドレス情報、ポート情報及び制御情報を書き戻す。このとき、メモリ制御回路４２０は、制御情報中の静的フラグ、有効フラグ、オーナーフラグ、及びヒットフラグの全てを０にクリアして書き戻す（ステップＳＴ１０ａ）。
【０２２３】
該書き戻しが終了すると、メモリ制御回路４２０は、その旨を下りＳＡアドレス検索制御回路３１６に通知する。通知が完了すると、メモリ制御回路４２０は、他の全てのアドレス検索制御回路からのＭＡＣアドレス削除完了通知が入力されるまで待機する（ステップＳＴ１２ａ）。他の全てのアドレス検索メモリからの通知が入力されると、メモリ制御回路４２０は、ステップＳＴ１３ａに移行してエージング用アドレスカウンタの値を１つ更新する。
【０２２４】
ステップＳＴ１３ａの処理が終了すると、メモリ制御回路４２０は、全てのアドレスに対するエージングが終了したか否かを確認する（ステップＳＴ１４ａ）。具体的には、エージング用アドレスカウンタの値が１０２４以上であるかを確認する。確認の結果として全てのアドレスに対するエージングが終了していれば、メモリ制御回路４２０は、不図示のＣＰＵへその旨を通知する。上記ＣＰＵは、メモリ制御回路４２０から該通知が入力されると、エージングタイマを起動し（ステップＳＴ１５ａ）、次のエージング開始時間まで待機する。
【０２２５】
ステップＳＴ１４ａで前アドレスに対するエージングが終了していない場合、メモリ制御回路４２０は、一致検出回路４２１がＳＡアドレス検索中か否かを確認し（ステップＳＴ４ａ）、ＳＡアドレス検索中でなければ、エージング用アドレスカウンタが指し示すアドレスのＭＡＣアドレス情報、ポート情報、制御情報を読み出し（ステップＳＴ５ａ）、上記動作を繰り返す。
【０２２６】
次に、他のＳＡアドレス検索制御回路からエージングによるアドレス削除指示が出力された際の各アドレス検索制御回路の処理を説明する。
図１３は、図４中のＳＡアドレス検索制御回路からアドレス削除指示が出された際の、各アドレス検索制御回路による処理の流れを示すフローチャートである。
アドレス検索制御回路内のメモリ制御回路は、入力端子４０１あるいは入力端子４０２を介してエージングによる削除要求信号が入力されると、入力されたエージングによる削除要求の優先順位を確認する（ステップＳＴ１ｂ）。
【０２２７】
ここで、優先順位は、上りＤＡアドレス検索制御回路３０６における上りＳＡアドレス検索制御回路３０８からのアドレス登録／削除登録／エージングによる削除要求、下りＳＡアドレス検索制御回路３１６からのアドレス登録／削除登録／エージングによる削除要求の順であるものとする。
【０２２８】
同様に、下りＤＡアドレス検索制御回路３１４における下りＤＡアドレス検索用メモリ３１５へのアクセスの際の優先順位は、上りＳＡアドレス検索制御回路３０８からのアドレス登録／削除登録／エージングによる削除要求、下りＳＡアドレス検索制御回路３１６からのアドレス登録／削除登録／エージングによる削除要求、下りＤＡアドレス検索の順であるものとする。
【０２２９】
また、上りＳＡアドレス検索制御回路３０８は、上りＳＡアドレス登録／削除登録／エージングによる削除要求、下りＳＡアドレス検索制御回路３１６からのアドレス登録／削除登録／エージングによる削除要求、上りＳＡアドレス検索の順番で、ＳＡアドレス検索用メモリをアクセスする。
【０２３０】
下りＳＡアドレス検索制御回路３１６は、上りＳＡアドレス検索制御回路３０８から出力されるアドレス登録／削除登録／エージングによる削除要求、下りＳＡアドレス登録／削除登録／エージングによる削除要求、下りＳＡアドレス検索の順番で、ＳＡアドレス検索用メモリをアクセスする。
【０２３１】
優先順位の確認が終了すると、メモリ制御回路は、現在、アドレス検索用メモリを用いてアドレス検索を実施しているかを確認する。実施していれば、ＤＡアドレス検索制御の説明で述べたようにその動作を中断する（図１１のステップＳＴ３参照）。なお、ＳＡアドレス検索制御についても同様に中断するものとする。
【０２３２】
アドレス検索を中断すると、アドレス検索制御回路は、入力端子を介して入力されたアドレスに基づきアドレス検索用メモリ内に記憶されているＭＡＣアドレス情報、ポート情報、制御情報を読み出す（ステップＳＴ２ｂ）。
【０２３３】
次に、選択回路は、読み出した制御フラグの状態を確認する。具体的には、先ず静的フラグが有効か否かを確認する（ステップＳＴ３ｂ）。静的フラグが有効であれば、このＭＡＣアドレスはエージングによる削除対象外であるので、選択回路は、その旨を一致検出回路を介してメモリ制御回路に通知する。
【０２３４】
メモリ制御回路では、該通知が入力されると、不図示のＣＰＵに対してその旨を通知する（ステップＳＴ６ｂ）。ＣＰＵは、該通知が入力されると、エージング対象外の削除要求が入力されたことで、各アドレス検索用メモリのＭＡＣアドレス登録状況がおかしいと判断し、その旨を連想メモリ回路２０４に通知する。
【０２３５】
一方、静的フラグが無効である場合、選択回路は、有効フラグが有効か否かを確認する（ステップＳＴ４ｂ）。有効フラグが無効であれば空きアドレスであるので、選択回路は、その旨を一致検出回路を介してメモリ制御回路に通知する。メモリ制御回路では、静的フラグの際と同様に、該通知が入力されると、ステップＳＴ６ｂに移行してＣＰＵに対してその旨を通知する。
【０２３６】
ＣＰＵは、該通知が入力されると、無効のデータに対してエージングによる削除要求が入力されたことで、各アドレス検索用メモリのＭＡＣアドレス登録状況がおかしいと判断し、その旨を連想メモリ回路２０４に通知する。
【０２３７】
有効フラグが有効である場合、選択回路は、オーナーフラグが有効か否かを確認する（ステップＳＴ５ｂ）。なお、自端末での検索結果に基づいてエージングによる削除要求を出力した場合は、ステップＳＴ５ｂの処理を行わない。自端末で検索した結果ではないにもかかわらずオーナーフラグが有効である場合、ＣＰＵは、各アドレス検索用メモリのＭＡＣアドレスの登録状況がおかしいと判断し、ステップＳＴ６ｂに移行してその旨を連想メモリ回路２０４に通知する。
【０２３８】
そして、オーナーフラグが無効の場合、メモリ制御回路は、入力端子を介して入力されたアドレス検索用メモリのアドレスに、ＭＡＣアドレス情報、ポート情報、及び全ての情報ビットをクリアした制御情報を書き戻す（ステップＳＴ７ｂ）。
【０２３９】
アドレス検索用メモリへのデータの書き戻しが終了すると、メモリ制御回路は、エージング削除終了信号を出力し（ステップＳＴ８ｂ）、アドレス削除動作を完了する。なお、メモリ制御回路は、ステップＳＴ６ｂでＣＰＵにエラー通知した場合も同様に、ステップＳＴ８ｂに移行してエージンス削除終了信号を出力し、エージングによるアドレス削除動作を終了する。
【０２４０】
従来では、オーナーフラグを用いない場合、ヒットフラグの値から使用の有無はわかるが、個々のアドレス検索用メモリでは、自メモリが登録したＭＡＣアドレス以外の情報はヒットフラグがセットされず、自メモリが登録していないＭＡＣアドレス情報は、エージング時間内に使用されたか否かが分からないため、エージングによるアドレス削除が行えなかった。
【０２４１】
そこで、この実施の形態１では、上述のように、オーナーフラグの値を参照してどのアドレス検索用メモリでの検索結果に基づいて記憶された情報であるか（自メモリで使用されて登録された情報であるか）を判別し、ヒットフラグの値に関わらずエージングを実施する。このようにすることにより、アドレス検索用メモリを有効に活用でき、検索の高速化を図る際に不要に大きな容量のアドレス検索用メモリを用意する必要がない。
【０２４２】
また、この実施の形態１では、アドレス検索用メモリにアドレスを登録するにあたり、登録するメモリアドレスとともに、ＭＡＣアドレス情報及びポート情報を通知する。これにより、各アドレス検索用メモリでＭＡＣアドレス情報、ポート情報及び制御情報を登録する際、アドレス検索用メモリ内の空きアドレスを検索する必要がなく、不必要にアドレス検索用メモリのトラフィックを消費することなく、登録を実施できる。
【０２４３】
さらに、エージングによるアドレス削除についても、ＭＡＣアドレス情報及びポート情報とともに、削除対象のＭＡＣアドレスが記憶されているアドレス検索用メモリのアドレス情報を通知するので、アドレス検索用メモリ内に記憶されている削除対象のＭＡＣアドレス情報を検索する必要がなく、不必要にアドレス検索用メモリのトラフィックを消費することなく、エージングを実施できる。
【０２４４】
次に、ブリッジ回路の動作の続きを説明する。上りＤＡアドレス検索制御回路３０６でアドレス検索が終了すると、連想メモリ回路２０４は、アドレス検索結果（ポート情報及びアドレスがヒットしたかの情報）を、上りブリッジメモリ制御回路２０６に通知するとともに、上りＶＬＡＮ処理回路２０５に対しても、アドレス検索が終了した旨を通知する。このとき、上記アドレス検索結果も出力する。
【０２４５】
上りＶＬＡＮ処理回路２０５は、ＤＡアドレス検索結果が入力されると、アドレス検索結果に基づきＶＬＡＮの付け替え処理等を実施する。上りＶＬＡＮ処理回路２０５でＶＬＡＮの付け替え処理が完了したＭＡＣヘッダ情報は、上りブリッジメモリ制御回路２０６に入力される。
【０２４６】
上りブリッジメモリ制御回路２０６では、上りＶＬＡＮ処理回路２０５でＶＬＡＮの付け替え処理が終了すると、ＦＩＦＯメモリ２０３に記憶されているＥｔｈｅｒｎｅｔフレームデータの処理を開始する。具体的には、上りフィルタリング処理回路２０２から出力されるフィルタリング結果に基づき、入力されたＥｔｈｅｒｎｅｔフレームを破棄するか否かを確認する。
【０２４７】
破棄する場合は、ＦＩＦＯメモリ２０３よりＥｔｈｅｒｎｅｔフレームデータを読み出し、そのデータを破棄する。同様に連想メモリ回路２０４にて不正アクセスと判断されたＥｔｈｅｒｎｅｔフレームについても同様に破棄する。
【０２４８】
上りフィルタリング処理回路２０２で通過と判断されたＥｔｈｅｒｎｅｔフレームは、連想メモリ回路２０４から出力されるＤＡアドレス検索結果に基づき、ブリッジメモリ２５にＶＬＡＮの付け替えを実施した後、記憶する。
【０２４９】
この実施の形態１では、ブリッジメモリ２５においてポートごとに記憶するエリアを予め設けておき、Ｅｔｈｅｒｅｔフレームデータを記憶する。よって、上りブリッジメモリ制御回路２０６は、連想メモリ２０４から出力されるＤＡアドレス検索で得られたポート情報に基づいて、入力されたＥｔｈｅｒｎｅｔフレームの書き込みアドレスを生成する。また、ＦＩＦＯメモリ２０３からＥｔｈｅｒｎｅｔフレームを読み出し、ＶＬＡＮを付け替えた後に、バスアービタ回路２１１に入力する。
【０２５０】
バスアービタ回路２１１では、上りブリッジメモリ制御回路２０６及び下りブリッジメモリ制御回路２０７より入力されるブリッジメモリ２５へのデータの書き込み及び読み出し要求を調停し、ブリッジメモリ２５へのデータの書き込み、及び読み出しを実施する。
【０２５１】
なお、ＤＡアドレス検索の結果、アドレス情報がヒットしなかった場合、該当するブリッジメモリ２５の全てのポートの記憶エリアにＥｔｈｅｒｎｅｔフレームを書き込むものとする。
【０２５２】
一方、ブリッジメモリ２５からの上りフレームの読み出しは、ＭＡＣ部２６から出力される制御信号（不図示）に基づいて、ブリッジメモリ２５に記憶されているＥｔｈｅｒｎｅｔフレームを読み出す。ブリッジメモリ２５から読み出されたＥｔｈｅｒｎｅｔフレームは、出力端子２１２を介してＭＡＣ部２６に出力される。ＭＡＣ部２６は、誤り検出符号やプリアンブル情報等を付加し、出力端子２７を介して基幹ネットワーク５へＥｔｈｅｒｎｅｔフレームデータを送出する。
【０２５３】
（２）下り方向のＥｔｈｅｒｎｅｔフレームデータの送受信動作
次に、図２〜図１０を用いて、実施の形態１の基地局１内のデータ送受信装置による下り方向のＥｔｈｅｒｎｅｔフレームデータの送受信動作について説明する。なお、上り方向と動作が同一なものは、詳細な動作の説明は省略する。
【０２５４】
基幹ネットワーク５から入力されたＥｔｈｅｒｎｅｔフレームは、ＭＡＣ部２６で誤り検出等の処理が施された後に、Ｅｔｈｅｒｎｅｔフレームが分離されブリッジ回路２４入力される。以降、上り方向と同様に、下り方向もブリッジ回路２４には、図５に示すように、通常のＥｔｈｅｒｎｅｔフレームが入力されるものとして説明する。
【０２５５】
図３を用いて、下り方向のブリッジ回路２４の動作を説明する。
入力端子２１３を介して入力されたＥｔｈｅｒｎｅｔフレームデータは、下りフィルタリング処理回路２１０及びＦＩＦＯメモリ２０９に入力される。ＦＩＦＯメモリ２０９では、入力されたＥｔｈｅｒｎｅｔフレームのＭＡＣヘッダ部の処理がブリッジ回路２４で終了するまで一次記憶する。
【０２５６】
一方、下りフィルタリング処理回路２１０は、入力されたＥｔｈｅｒｎｅｔフレームのＭＡＣヘッダ情報を分離する。そして、分離したＭＡＣヘッダ情報からＭＡＣアドレス情報と予め定められたＭＡＣアドレス情報とを比較し、フィルタリング処理を実施する。
【０２５７】
なお、上り方向の場合と同様に、パケット（Ｅｔｈｅｒｎｅｔフレーム）のＣＰＵへの通知、削除等は、上りブリッジメモリ制御回路２０６でブリッジメモリ２５にデータを書き込む際に処理を実施する。
【０２５８】
例えば、ＣＰＵへの通知フレームについては、ブリッジメモリ２５の予め定められたアドレスにデータを書き込み、ＣＰＵに対して割り込み制御信号（不図示）を出力し、その旨を通知する。下りフィルタリング処理回路２１０でフィルタリング処理の施されたデータは、連想メモリ回路２０４に入力される。
【０２５９】
（２Ａ）連想メモリ回路２０４による下り方向のアドレス検索制御
図４を用いて、連想メモリ回路２０４による下り方向のアドレス検索制御の動作について説明する。連想メモリ回路２０４に入力された下り方向のＭＡＣヘッダ情報は、ＭＡＣアドレス分離回路３１１にて下りＤＡアドレスとＳＡアドレスが分離される。ＭＡＣアドレス分離回路３１１で分離されたＤＡアドレス情報は、ハッシュ値計算回路３１２に入力され、予め定められたハッシュ関数を用いてハッシュ値が算出される。
【０２６０】
同様に、ＭＡＣアドレス分離回路Ｃ３１１にて分離されたＳＡアドレス情報は、ハッシュ値計算回路３１３に入力され、予め定められたハッシュ関数を用いてハッシュ値が算出される。図８を用いて、下りＤＡアドレス検索回路３１４の動作を説明する。
【０２６１】
この実施の形態１では、上りＤＡアドレス検索回路３０６と下りＤＡアドレス検索回路３１４は、同一の回路構成をとる。なお、全てのハッシュ値計算回路は、同一のハッシュ関数を用いてハッシュ値を計算するものとする。
【０２６２】
ハッシュ値計算回路３１２で算出されたハッシュ値は、入力端子４０３を介してアドレス発生回路４０７に入力される。アドレス発生回路４０７では、入力されたハッシュ値を元に、アドレス検索を実施するバケットの先頭アドレスを発生する。
【０２６３】
なお、下りＤＡアドレス検索用メモリ３１５は、図６に示すように上りＤＡアドレス検索用メモリ３０７と同一の構成をとる。また、１ワードのデータの構成も、図７に示すように、４８ビットのＭＡＣアドレス情報、１２ビットのポート情報、及び４ビットの制御情報の計６４ビットで構成されるものとする。さらに、各制御情報も同一の構成とする。
【０２６４】
下りＤＡアドレス検索制御回路３１４では、入力されたハッシュ値を元に下りＤＡアドレス検索用メモリ３１５内のバケットを選択する。具体的には、ハッシュ値計算回路３１２から出力されるハッシュ値のＭＳＢ側から５ビットの値に基づきバケットを選択する。
【０２６５】
入力端子４０３を介して入力されたハッシュ値は、アドレス発生回路４０７によりＭＳＢ側より上位５ビットの値が選択され、選択された５ビットの値を元にバケットの先頭アドレスを生成し、メモリ制御回路４０８に出力する。メモリ制御回路４０８では、アドレス発生回路４０７から出力されるアドレス情報を元に下りＤＡアドレス検索用メモリ３１５からのデータ読み出し制御信号を生成する。
【０２６６】
上りＤＡアドレス検索と同様に、下りＤＡアドレス検索用メモリ３１５からは、図８に示すように４ワード分のデータを１クロックで読み出すよう制御する。４ワード単位で、下りＤＡアドレス検索用メモリ３１５から読み出されたＭＡＣアドレス情報は、入力端子４０５を介して比較回路４０９ａ〜４０９ｄに入力される。なお、下りＤＡアドレス検索用メモリ３１５から読み出されたポート情報及び制御フラグ情報は、選択回路４１１に入力される。
【０２６７】
比較回路４０９ａ〜４０９ｄでは、下りＤＡアドレス検索用メモリ３１５から読み出されたＭＡＣアドレス情報と、入力端子４０４を介して入力された検索対象となるＤＡアドレス情報とを比較する。この比較の結果、検索対象のＤＡアドレス情報と下りＤＡアドレス検索用メモリ３１５から読み出されたＭＡＣアドレス情報とが一致した場合、一致検出回路４１０にその旨を通知する。
【０２６８】
一致検出回路４１０は、比較回路４０９ａ〜４０９ｄから出力される上記信号を監視しており、比較回路４０９からアドレス情報が一致した旨の通知を受け取ると、選択回路４１１に対してアドレス情報が一致したＭＡＣアドレスの記憶されているアドレスから読み出した制御情報を確認するように指示を出す。
【０２６９】
選択回路４１１では、一致検出回路４１０から指示を受け取ると、該当制御フラグの有効フラグ及び静的フラグを確認する。そして、上記有効フラグ及び静的フラグのうちの少なくとも一方が有効であった場合は、その旨を一致検出フラグに通知するとともに、アドレス情報が一致したＭＡＣアドレスの記憶されているアドレスから読み出したポート情報を出力端子４１３から出力する。一方、上記有効フラグ及び静的フラグがどちらとも有効でなかった場合は、エージング動作等で消去された情報と判断して、一致検出回路４１０にその旨を通知する。
【０２７０】
一致検出回路４１０は、選択回路４１１から、該当制御フラグの有効フラグ及び静的フラグのうちの少なくとも一方が有効であるとの通知を受けると、メモリ制御回路４０８に対して下りＤＡアドレス検索用メモリ３１５からのデータの読み出しを終了するように制御信号を出力するとともに、ＤＡアドレス検索終了信号を出力端子４１２を介して出力する。メモリ制御回路４０８では、該制御信号を受信すると、次のＤＡアドレス検索指示が入力されるまで待機する。
【０２７１】
一方、選択回路４１１から該当制御フラグの有効フラグ及び静的フラグのどちらも有効ではなかった通知を受けた場合は、ＤＡアドレス検索を継続する。また、メモリ制御回路４０８では、アドレス発生回路４０７からアドレス情報が入力されると、下りＤＡアドレス検索用メモリ３１５からのＭＡＣアドレスの読み出しアドレス回数のカウントも開始する。
【０２７２】
バケット内の全てのＭＡＣアドレス情報の読み出しが完了すると、その旨を一致検出回路４１０に出力する。一致検出回路４１０は、上記制御信号をメモリ制御回路４０８から受け取ると、最後に読み出されたＭＡＣアドレス情報の比較結果の通知を確認し、ＭＡＣアドレスがヒットしなかった場合は、検索対象のアドレスが記憶されていなかった旨を、ＤＡアドレス検索終了信号とともに出力する。
【０２７３】
（２Ｂ）メモリ制御回路４０８によるアドレス学習の動作
次に、メモリ制御回路４０８のアドレス学習時の動作について説明する。
アドレス学習要求信号は、入力端子４０１あるいは入力端子４０２を介して、メモリ制御回路４０８に通知される。具体的には、上りＳＡアドレス検索の結果、アドレス学習が必要な場合は、入力端子４０１を介して、上りＳＡアドレス検索制御回路３０８から、アドレス学習要求信号とともに、下りＤＡアドレス検索用メモリ３１５への書き込みアドレス情報、学習対象のＭＡＣアドレス情報、ポート情報、制御情報、登録／削除登録／エージングによる削除制御情報が入力される。
【０２７４】
同様に、入力端子４０２を介して、下りＳＡアドレス検索制御回路３１６からアドレス学習要求信号とともに、下りＤＡアドレス検索用メモリ３１５への書き込みアドレス情報、学習対象のＭＡＣアドレス情報、ポート情報、制御情報、及び登録／削除登録／エージングによる削除制御情報が入力される。なお、アドレス学習の際のイレギュラーな動作（ＣＰＵに通知する動作）は、上りＤＡアドレス検索時と同一であるので詳細な説明は省略する。
【０２７５】
メモリ制御回路４０８では、入力端子４０１あるいは入力端子４０２を介して、上記信号が入力されるとアドレス学習を開始する。下りＤＡアドレス検索制御回路３１４における下りＤＡアドレス検索用メモリ３１５へのアクセス制御の優先順位は、上り方向のＤＡアドレス検索の際に述べたのでここでは記載を省略する。
【０２７６】
入力端子を介して当該要求信号が入力されると、メモリ制御回路４０８は、ＤＡアドレス検索中の場合、アドレス検索を一時停止してアドレス登録／削除登録／エージングによる削除制御に入る。ＤＡアドレス検索を実施していなかった場合、そのままアドレス登録／削除登録／エージングによる削除制御に入る。
【０２７７】
アドレス登録の場合は、一致検出回路４１０に対してアドレス登録／削除登録に入る旨を通知するとともに、入力端子を介して入力された下りＤＡアドレス検索用メモリ３１５へのアドレス情報を元にデータを読み出す。アドレス登録要求の場合は、有効フラグ及び静的フラグがセットされていないかを選択回路４１１で確認した後、セットされていない場合は、ＭＡＣアドレス情報、ポート情報及び制御情報を、下りＤＡアドレス検索用メモリ３１５に書き込む。
【０２７８】
一方、セットされていた場合は、上述したＣＰＵ（不図示）に通知し、アドレス検索用メモリの再構築を図るように連想メモリ回路２０４に指示を出す。同様に、削除登録要求の場合は、下りＤＡアドレス検索用メモリ３１５から読み出されたＭＡＣアドレス情報を比較回路４０９にて比較し、一致しているか否かを確認する。
【０２７９】
一致していた場合は、ＭＡＣアドレス情報とともに、新しいポート情報及び制御情報を下りＤＡアドレス検索用メモリ３１５に書き戻す。一致していなかった場合は、上述したように上記ＣＰＵに通知し、アドレス検索用メモリの再構築を図るように連想メモリ回路２０４に指示を出す。
【０２８０】
上記ＭＡＣアドレス情報の登録が完了すると、メモリ制御回路４０８は、新たなＭＡＣアドレスの登録／削除登録要求があれば、再度ＭＡＣアドレスの登録／削除登録を実施する。一方、新たな登録／削除登録要求がなければ、ＤＡアドレス検索の状況を確認し、ＤＡアドレス検索が完了していなかった場合は、ＤＡアドレス検索を再開する。ＤＡアドレス検索が完了していた場合は、次のＤＡアドレス検索の要求が入力されるまで待機する。
【０２８１】
なお、同時に入力端子にアドレス登録／削除登録要求が入力された場合は、上述したように、入力端子４０１を介して入力される上りＳＡアドレス検索制御回路３０８からの情報に基づいてアドレス登録／削除登録を実施する。
【０２８２】
このとき、メモリ制御回路４０８では、両入力端子から入力される上りＤＡアドレス検索用メモリ３０７の書き込みアドレス情報を比較する。一致していなかった場合は、上りＳＡアドレス検索制御回路３０８からの要求処理を完了した後、下りＳＡアドレス検索制御回路３１６から出力される情報に基づいて、アドレス登録／削除登録を実施する。
【０２８３】
一方、同じであった場合は、同時に同じアドレスに対してアドレス登録／削除情報が入力されたと判断し、下りＳＡアドレス検索制御回路３１６からの情報を破棄し、新たな要求が入力されるまで待機する。
【０２８４】
（２Ｃ）ＳＡアドレスの検索
次に、図１０を用いて、ＳＡアドレス検索時の動作を説明する。
ハッシュ値計算回路３１３で算出されたハッシュ値は、入力端子４０３を介してアドレス発生回路４０７に入力される。アドレス発生回路４０７は、入力されたハッシュ値を元にアドレス情報を生成する。アドレス発生回路４０７にて生成されたアドレス情報は、メモリ制御回路４２０に入力される。メモリ制御回路４２０では、アドレス発生回路４０７から出力されるアドレス情報に基づいて、下りＳＡアドレス検索用メモリ３１７からのデータ読み出し制御信号を生成する。
【０２８５】
なお、下りＳＡアドレス検索用メモリ３１７から４ワード単位でデータを読み出すように制御する。４ワード単位で下りＳＡアドレス検索用メモリ３１７から読み出されたＭＡＣアドレス情報は、入力端子４０５を介して比較回路４０９ａ〜４０９ｄに入力される。下りＳＡアドレス検索用メモリ３１７から読み出されたポート情報及び制御フラグ情報は、選択回路４１１及び未使用エリア検出回路４２２に入力される。
【０２８６】
比較回路４０９ａ〜４０９ｄは、下りＳＡアドレス検索用メモリ３１７から読み出されたＭＡＣアドレス情報と、入力端子４０４を介して入力された検索対象となるＳＡアドレス情報とを比較する。この比較の結果、ＭＡＣアドレス情報が一致した場合、一致検出回路４２１にその旨を通知する。
【０２８７】
一致検出回路４２１は、比較回路４０９ａ〜４０９ｄから出力される上記信号を監視しており、比較回路４０９からアドレス情報が一致した旨の通知を受け取ると、選択回路４１１に対して、アドレス情報が一致したＭＡＣアドレスの記憶されているアドレスから読み出した制御情報を確認するように指示を出す。
【０２８８】
選択回路４１１では、一致検出回路４２１から指示を受け取ると、該当制御フラグのオーナーフラグ、有効フラグ、及び静的フラグを確認する。上記有効フラグ及び静的フラグのうちの少なくとも一方が有効でオーナーフラグがセットされていなかった場合、その旨をＣＰＵに通知し、ＳＡアドレス検索を終了する。
【０２８９】
また、オーナーフラグが有効で、上記有効フラグ及び静的フラグのうちの少なくとも一方が有効であった場合は、その旨を一致検出フラグに通知するとともに、アドレス情報が一致したＭＡＣアドレスの記憶されているアドレスから読み出したポート情報とＭＡＣフレームが入力されたポート情報とを比較する。
【０２９０】
この比較の結果、同一と判断した場合、ヒットフラグをセットしＳＡアドレス検索を終了する。異なっていた場合は、機器の接続ポートが変わったと判断し、削除登録動作に入る。また、上記有効フラグ、及び静的フラグがどちらとも有効でなかった場合は、エージング動作等で消去された情報と判断して、一致検出回路４２１にその旨を通知する。
【０２９１】
未使用エリア検出回路４２２では、上りＳＡアドレス検索用メモリ３０９より読み出された該当制御フラグの有効フラグ及び静的フラグを確認し、両フラグともセットされていない未使用アドレスを検索し、そのアドレスを記憶する。
【０２９２】
一致検出回路４２１は、選択回路４１１から該当制御フラグのオーナーフラグが有効で、有効フラグ及び静的フラグのうちの少なくとも一方が有効であるとの通知を受けると、メモリ制御回路４２０に対して、下りＳＡアドレス検索用メモリ３１７からのデータの読み出しを終了するように制御信号を出力するとともに、ＳＡアドレス検索終了信号を出力端子４１２を介して出力する。
【０２９３】
メモリ制御回路４２０では、該制御信号を受信すると下りＳＡアドレス検索用メモリ３１７からのデータ読みだし制御信号の出力を停止し、ＭＡＣアドレスの一致した当該ＭＡＣアドレス情報の記憶されているアドレスのヒットフラグを１にセットし書き戻す。ヒットフラグのセットが完了すると、次のＳＡアドレス検索指示が入力されるまで待機する。
【０２９４】
一方、選択回路４１１から該当制御フラグの有効フラグ及び静的フラグのどちらも有効ではなかった通知を受けた場合は、一致検出回路４２１は、該一致したＭＡＣアドレス情報がエージングで削除された情報と判断し、ＳＡアドレス検索を継続する。
【０２９５】
また、メモリ制御回路４２０では、アドレス発生回路４０７からアドレス情報が入力されると、下りＳＡアドレス検索用メモリ３１７からのＭＡＣアドレスの読み出しアドレス回数のカウントも開始する。そして、バケット内の全てのＭＡＣアドレス情報の読み出しが完了すると、その旨を一致検出回路４２１に出力する。
【０２９６】
一致検出回路４２１は、上記制御信号をメモリ制御回路４２０より受け取ると、最後に読み出されたＭＡＣアドレス情報の比較結果の通知を確認し、ＭＡＣアドレスがヒットしなかった場合は、検索対象のアドレスが記憶されていなかったと判断し、アドレス学習動作に入る。
【０２９７】
検索対象のアドレスが記憶されていた場合は、オーナーフラグ、有効フラグ、静的フラグを確認し、記憶されているＭＡＣアドレスが正規のもので、有効であった場合はＭＡＣアドレスの一致した当該ＭＡＣアドレス情報の記憶されているアドレスのヒットフラグを１にセットし書き戻し、ＳＡアドレス検索を終了する。
【０２９８】
（２Ｄ）ＭＡＣアドレスの学習
以下、図１０を用いて、ＳＡ検索対象アドレスが記憶されていなかった場合のＭＡＣアドレスの学習動作について説明する。
一致検出回路４２１は、検索対象のバケット内に検索対象のＭＡＣアドレスが記憶されていなかった場合、検索対象のＭＡＣアドレス情報が記憶されていなかった旨を、ＳＡアドレス検索終了信号とともにメモリ制御回路４２０に出力する。
【０２９９】
メモリ制御回路４２０は、一致検出回路４２１から下りＳＡアドレス検索用メモリ３１７に検索対象のＭＡＣアドレス情報が記憶されていない旨の通知を受け取ると、ＭＡＣアドレスの学習動作に入る。具体的には、アドレス学習の対象となるＭＡＣアドレス、ポート、及び制御情報を準備するとともに、未使用エリア検出回路４２２より、ＳＡアドレス検索中に確認していたバケット内の空きアドレス情報を読み込む。
【０３００】
空きアドレスがある場合は、アドレス発生回路４０７から出力された下りＳＡアドレス検索用メモリ３１７のアドレス情報を生成し、アドレス登録要求信号とともに、該生成したアドレス情報、新たに記憶するＭＡＣアドレス情報、ポート情報、及び制御情報を、出力端子４２４を介して、上りＤＡアドレス検索制御回路３０６、下りＤＡアドレス検索制御回路３１４、及び上りＳＡアドレス検索制御回路３０８に出力する。
【０３０１】
一方、空きアドレスがない場合は、新たなアドレス登録ができないため、この実施の形態１では、ＭＡＣアドレスの登録を行わずＳＡアドレス検索動作を終了する。
【０３０２】
各アドレス検索制御回路へのアドレス学習（アドレス登録）要求信号の出力が完了すると、下りＳＡアドレス検索制御回路３１６は、下りＳＡアドレス検索用メモリ３１７に対してＭＡＣアドレス学習制御に入る。具体的には、入力端子４０１から、アドレス登録／削除登録要求が入力されているか否かを確認する。ここで、入力されていない場合は、先ほど生成した下りＳＡアドレス検索用メモリ３１７のアドレスから、現在記憶されているデータを読み出し、制御情報を確認し、有効フラグ及び静的フラグが有効ではないことを確認した後、新たに記憶するＭＡＣアドレス情報、ポート情報及び制御情報を書き込む。
【０３０３】
なお、上りＳＡアドレス検索の際と同様に、空きスペースは、未使用エリア検出回路４２２で検出したものであるが、再度、有効フラグ、静的フラグの確認を実施後、ＭＡＣアドレス等のデータの登録を行う。上りＳＡアドレス登録／削除登録要求が入力されている場合は、該アドレス登録／削除登録要求の処理を完了した後、アドレス学習を実施する。
【０３０４】
（２Ｅ）アドレス登録要求が入力された際のメモリ制御回路４２０の動作
次に、上りＳＡアドレス検索制御回路３０８からのアドレス登録要求が入力された際の下りＳＡアドレス検索制御回路３１６のメモリ制御回路４２０の動作を説明する。
アドレス学習要求信号は、入力端子４０１を介して、メモリ制御回路４２０に通知される。メモリ制御回路４２０では、登録／削除登録制御情報が入力されると、現在、下りＳＡアドレス検索中かを確認する。
【０３０５】
上りＳＡアドレス検索中であった場合は、その動作を一時中断し、アドレス登録／削除登録動作を開始する。具体的には、該信号が登録要求であった場合、ＳＡアドレスの検索結果、上りＳＡアドレス検索用メモリ３０９にＭＡＣアドレス情報が記憶されていなかったことを示すため、下りＳＡアドレス検索制御回路３１６は、入力されたメモリアドレスに、入力されたＭＡＣアドレス情報、ポート情報、及び制御情報を書き込む。具体的な、ＭＡＣアドレス情報の書き込み判断は、上りＳＡアドレス検索時と同一であるので詳細な説明は省略する。
【０３０６】
上記ＭＡＣアドレス情報の登録が完了すると、メモリ制御回路４２０は、ＳＡアドレスを検索中にアドレス登録を実施した場合、ＳＡアドレス検索を再開する。一方、ＳＡアドレス検索を実施していなかった場合は、次のＳＡアドレス検索の要求が入力されるまで待機する。
【０３０７】
（２Ｆ）アドレス学習要求された際の下りＳＡアドレス検索制御回路３１６による動作
次に、同時に上り方向と下り方向のアドレス学習要求が入力された場合の、本実施の形態１における、下りＳＡアドレス検索制御回路３１６の動作を説明する。
基本的な動作は、上りＳＡアドレス検索制御回路３０８の動作と同一であるが、上述したように、ＳＡアドレス検索の結果として、同時にアドレス用検索用メモリの同じアドレスに異なるＭＡＣアドレスの情報を書き込むようにアドレス登録要求がくる場合がある。このとき、メモリ制御回路４２０では、上りＳＡアドレス検索制御回路３０８から出力されるアドレス検索用メモリのアドレス情報を確認する。
【０３０８】
そして、自ら出力したアドレス情報と同一であった場合は、同時に同じアドレスに対してアドレス登録／削除情報が入力されたと判断し、一旦アドレス登録削除要求は破棄し、新たな空きアドレスを検索して、各アドレス検索制御回路に対し再度アドレス登録／削除登録要求を出力する。
【０３０９】
上述のように、下りＳＡアドレス検索制御回路３１６を制御することで、同一のアドレスに異なるＭＡＣアドレスを登録することなく、４つの異なるアドレス検索用メモリを制御することが可能になるという効果がある。
【０３１０】
（２Ｇ）削除登録におけるメモリ制御回路４２０の動作
次に、削除登録を実施する際のメモリ制御回路４２０の動作を説明する。
一致検出回路４２１は、ＳＡアドレス検索の結果として、検索対象のＭＡＣアドレスが記憶されており、有効フラグ及び静的フラグのいずれか一方が有効で、かつオーナーフラグが有効であるにもかかわらず、入力ポート番号が異なる場合、接続機器の接続ポートが変わったと判断し、ＭＡＣアドレスの登録削除制御に入る。
【０３１１】
メモリ制御回路４２０は、一致検出回路４２１から削除登録指示を受け取ると、ＭＡＣアドレスの削除登録動作に入る。具体的には、アドレス削除登録の対象となるＭＡＣアドレス、ポート、及び制御情報を準備するとともに、一致検出回路４２１が、下りＳＡアドレス検索用メモリ３１７から読み出したどのアドレスのＭＡＣアドレスデータが一致したかを確認し、削除登録の対象となる上りＳＡアドレス検索用メモリ３０９内のアドレスを生成する。
【０３１２】
そして、下りＳＡアドレス検索用メモリ３１７内のアドレス情報の生成が完了すると、アドレス登録削除要求信号とともに、該生成したアドレス情報、削除登録を実施するＭＡＣアドレス情報、ポート情報及び制御情報を出力端子４２４を介して、上りＤＡアドレス検索制御回路３０６、下りＤＡアドレス検索制御回路３１４及び上りＳＡアドレス検索制御回路３０８に出力する。
【０３１３】
各アドレス検索制御回路へのアドレス登録削除要求信号の出力が完了すると、下りＳＡアドレス検索制御回路３１６は、下りＳＡアドレス検索用メモリ３１７に対してポート情報の更新を実施する。具体的には、先ほど生成した下りＳＡアドレス検索用メモリ３１７のアドレスより現在記憶されているデータを読み出し、ポート情報及び制御情報を確認して、オーナーフラグ、有効フラグ及び静的フラグのいずれかが有効であることを確認した後、ポート情報が一致していない旨を確認する。これらの確認処理が終了すると、新たなポート情報及び制御情報を書き込む。
【０３１４】
（２Ｈ）アドレス削除登録要が入力された際のメモリ制御回路４２０の動作
次に、上りＳＡアドレス検索制御回路３０８からのアドレス削除登録要求が入力された際の下りＳＡアドレス検索制御回路３１６内のメモリ制御回路４２０の動作を説明する。
アドレス削除登録要求信号は、入力端子４０１を介してメモリ制御回路４２０に通知される。具体的には、上りＳＡアドレス検索の結果、アドレス削除登録が必要な場合は、上りＳＡアドレス検索制御回路３０８から、アドレス削除登録要求信号とともに、下りＳＡアドレス検索用メモリ３１７への書き込みアドレス情報、学習対象のＭＡＣアドレス情報、ポート情報、制御情報、登録／削除登録制御情報が入力される。
【０３１５】
削除登録要求信号が入力されると、下りＳＡアドレス検索制御回路３１６は、入力されたメモリアドレスのポート情報及び制御情報を書き換える。例えば、下りＳＡアドレス検索用メモリ３１７から当該アドレスの情報を読み出し、ＭＡＣアドレス情報が一致しているか否かを確認した後、一致していた場合は、下りＳＡアドレス検索用メモリ３１７にポート情報及び制御情報を更新したデータを書き込む。一致していなかった場合は、その旨を上記ＣＰＵに通知する。なお、下りＳＡアドレス検索制御回路３１６でのエージング処理フローは、上りＳＡアドレス検索制御回路３０８での動作と同一であるので詳細な動作の説明は省略する。
【０３１６】
（２Ｉ）不正アクセスの確認時の処理
次に、ＳＡアドレス検索の結果、検索対象のＭＡＣアドレスが記憶されており、有効フラグ及び静的フラグのうちのいずれか一方が有効で、かつオーナーフラグが無効であった場合の動作について説明する。この場合、当初、入力端子２１側に接続されていた機器（光ネットワーク４側に接続されていた機器）が、入力端子２８側に接続（基幹ネットワーク５側に接続）されたことを意味する。これは、不正に本ネットワークに機器が接続されたことを意味する。上りＳＡアドレス検索制御回路３０８の動作では説明を省略したが、上りＳＡアドレス検索制御回路３０８でも同様の動作を実施する。
【０３１７】
従って、上述のようなケースを検出した場合、当該ＭＡＣアドレスを持つ機器がネットワークに不正にアクセスしてきたとみなし、上記ＣＰＵ（不図示のデータ送受信装置のＣＰＵ）に対して本件を通知するとともに、ポート情報の更新を行わない。
【０３１８】
また、上述のような不正アクセスを確認した場合は、不審者からのネットワークへの不正アクセス、あるいは攻撃とみなし、基地局１内の上記データ送受信装置は、このアクセスを上位のネットワークには送信せず、破棄するものとする。
【０３１９】
一方、下りＤＡアドレス検索制御回路３１４でのアドレス検索が終了すると、連想メモリ回路２０４は、アドレス検索結果（ポート情報、及びアドレスがヒットしたかの情報）を、下りブリッジメモリ制御回路２０７に通知するとともに、下りＶＬＡＮ処理回路２０８に対しても、アドレス検索が終了した旨を通知する。その際、上記アドレス検索結果も出力する。
【０３２０】
下りＶＬＡＮ処理回路２０８は、ＤＡアドレス検索結果が入力されると、アドレス検索結果に基づいて、ＶＬＡＮの付け替え処理等を実施する。下りＶＬＡＮ処理回路２０８でＶＬＡＮの付け替え処理が完了したＭＡＣヘッダ情報は、下りブリッジメモリ制御回路２０７に入力される。
【０３２１】
下りブリッジメモリ制御回路２０７では、下りＶＬＡＮ処理回路２０８でＶＬＡＮの付け替え処理が終了すると、ＦＩＦＯメモリ２０９に記憶されているＥｔｈｅｒｎｅｔフレームデータの処理を開始する。具体的には、下りフィルタリング処理回路２１０から出力されるフィルタリング結果に基づき、入力されたＥｔｈｅｒｎｅｔフレームを破棄するか否かを確認する。
【０３２２】
破棄する場合は、ＦＩＦＯメモリ２０９からＥｔｈｅｒｎｅｔフレームデータを読み出し、そのデータを破棄する。同様に、連想メモリ回路２０４で不正アクセスと判断されたＥｔｈｅｒｎｅｔフレームについても同様に破棄する。
【０３２３】
下りフィルタリング処理回路２１０で通過と判断されたＥｔｈｅｒｎｅｔフレームは、連想メモリ回路２０４から出力されるＤＡアドレス検索結果に基づき、ブリッジメモリ２５にＶＬＡＮの付け替えを実施した後、記憶する。
【０３２４】
下りブリッジメモリ制御回路２０７は、連想メモリ２０４から出力されるＤＡアドレス検索で得られたポート情報に基づいて、入力されたＥｔｈｅｒｎｅｔフレームの書き込みアドレスを発生し、ＦＩＦＯメモリ２０９からＥｔｈｅｒｎｅｔフレームを読み出して、ＶＬＡＮを付け替えた後に、バスアービタ回路２１１に入力する。
【０３２５】
バスアービタ回路２１１では、上りブリッジメモリ制御回路２０６及び下りブリッジメモリ制御回路２０７から入力されるブリッジメモリ２５へのデータの書き込み及び読み出し要求を調停し、ブリッジメモリ２５へのデータの書き込み、及び読み出しを実施する。
【０３２６】
なお、ＤＡアドレス検索の結果、アドレス情報がヒットしなかった場合、この実施の形態１では、該当するブリッジメモリ２５の全てのポートの記憶エリアにＥｔｈｅｒｎｅｔフレームを書き込むものとする。
【０３２７】
一方、ブリッジメモリ２５からの上りフレームの読み出しは、ＭＡＣ部２３から出力される制御信号（不図示）に基づいて、ブリッジメモリ２５に記憶されているＥｔｈｅｒｎｅｔフレームを読み出す。ブリッジメモリ２５より読み出されたＥｔｈｅｒｎｅｔフレームは出力端子２１２を介してＭＡＣ部２３に出力される。ＭＡＣ部２３は、誤り検出符号やＬＬＩＤ情報等を付加し、出力端子２２を介して光ネットワーク４へＥｔｈｅｒｎｅｔフレームデータを送出する。
【０３２８】
以上のように、この実施の形態１によれば、メモリ制御回路が、検索された連想情報に対応するキー情報が連想メモリに記憶されていない場合、当該連想情報に対応するキー情報及び制御情報を各連想メモリに書き込むよう通知するとともに、当該通知が自己の連想メモリに関するものであると、当該連想情報が自己の連想メモリに登録したことを示すオーナーフラグを、自己の連想メモリに書き込むように制御し、通知が自己の連想メモリ以外の他の連想メモリに関するものであると、当該連想情報が自己の連想メモリに未登録であることを示すオーナーフラグを、自己の連想メモリに書き込むように制御する。更に、メモリ制御回路が、エージングを実施するにあたり、オーナーフラグが登録済に設定されたキー情報及び連想情報を削除対象として削除動作を制御する。このように構成することで、所定時間内に使用されない情報を削除するエージングにおいて、自己の連想メモリに登録したことを示すフラグが設定されているＭＡＣアドレス情報のみをエージング対象とし、このフラグが設定されていない情報についてはエージングが実施されない。これにより、複数個の連想メモリを配置してアドレス検索を実施する連想メモリ装置においても効率的にエージングを実施することができる。従って、限られた連想メモリの容量を有効に活用することができる。
【０３２９】
また、この実施の形態１によれば、連想メモリ内の空き領域アドレスを検出する未使用エリア検出回路４２２を備え、メモリ制御回路が、検索された連想情報に対応するキー情報が連想メモリに記憶されていない場合、キー情報及びこれに対応する連想情報に加え、未使用エリア検出回路４２２で検出された空き領域アドレスを各連想メモリのメモリ制御回路へ通知し、各連想メモリのメモリ制御回路が、当該キー情報に対応する連想情報が自己に対応する連想メモリに記憶されていない場合、通知された空き領域アドレスに対してキー情報及びこれに対応する連想情報を書き込むよう制御する。このようにすることで、通知を受けた他の連想メモリのメモリ制御回路が、新たに空き領域アドレスを検索することなく、アドレス学習を行うことができる。
【０３３０】
さらに、この実施の形態１によれば、メモリ制御回路が、エージングを実施するにあたり、自己に対応する連想メモリに削除対象のキー情報及び連想情報が存在する場合、各連想メモリのメモリ制御回路へ当該削除対象のキー情報を通知し、各連想メモリのメモリ制御回路が、通知されたキー情報に対応する連想情報を削除対象とする。このようにすることで、通知を受けた他の連想メモリのメモリ制御回路が、新たにエージング対象を検索することなく、エージングを実施することができる。
【０３３１】
さらに、この実施の形態１によれば、メモリ制御回路が、エージングを実施するにあたり、自己に対応する連想メモリに削除対象のキー情報及び連想情報が存在する場合、各連想メモリのメモリ制御回路へ当該削除対象のキー情報及び連想情報が記憶されていたアドレス情報を通知し、各連想メモリのメモリ制御回路が、通知されたアドレス情報に対応する連想情報を削除対象とする。このようにすることで、通知を受けた他の連想メモリのメモリ制御回路が、新たにエージング対象を検索することなく、エージングを実施することができる。
【０３３２】
さらに、この実施の形態１によれば、検索対象のＭＡＣアドレス情報から算出したハッシュ値のキー情報に対応するバケットを選択し、この選択された連想メモリのバケットから所定数の情報を一括して読み出し、検索対象のキー情報に対応するＭＡＣアドレス情報を検索するとともに、検索されたキー情報及びそのＭＡＣアドレス情報を連想メモリに登録するにあたり、検索対象のキー情報に一致する情報が連想メモリに記憶されていないと判定されると、検索が実行された複数のバケット内の同一の空き領域アドレスに対して一括に、キー情報及びＭＡＣアドレス情報を書き込む。このように、アドレス検索用メモリを複数個配置し、アドレス学習にあたり、複数配置されたアドレス検索用メモリを空き領域に対して一括に（ほぼ同時に）アドレス学習することにより、１０Ｇｂｐｓで送受信されるＥｔｈｅｒｎｅｔフレームを所定の処理速度でアドレス検索が実施できるとともに、バケットサイズも大きくとることができる。
【０３３３】
さらに、この実施の形態１によれば、ＳＡアドレス検索でＭＡＣアドレスを学習（登録）する際、複数個あるアドレス検索用メモリのうち、どのアドレス検索用メモリで検出された情報かを指し示すオーナーフラグを制御情報として記憶する。このオーナーフラグの値を参照して自メモリで検索（使用）されて登録された情報であることを判別することで、ヒットフラグの値に関わらず、エージングを実施できるので、不必要に大きなアドレス検索用メモリを持つ必要がなく、またアドレス検索用メモリを有効に活用できる。
【０３３４】
さらに、この実施の形態１では、エージングによってアドレス検索用メモリからＭＡＣアドレスを削除するにあたり、削除対象のメモリアドレスとともに、ＭＡＣアドレス情報及びポート情報を通知するので、各アドレス検索用メモリで、ＭＡＣアドレス情報、ポート情報及び制御情報を削除する際にアドレス検索用メモリ内に記憶されているＭＡＣアドレス情報を検索する必要がない。これにより、不必要にアドレス検索用メモリのトラフィックを消費することなく、エージングによる削除ができる。
【０３３５】
さらに、この実施の形態１によれば、アドレス検索用メモリから並列に読み出すデータ数を、必要以上に大きくとる必要がないので、ＬＳＩ化を図る際、配線数が大きくなり、回路規模に比べてＬＳＩサイズが大きくなってしまうことがない。複数個のＭＡＣアドレス情報を同時に読み出し、ＭＡＣアドレスの一致判定を行う場合、複数のＭＡＣアドレスの中から一致した情報を特定する場合も、同時に読み出すＭＡＣアドレス数が少ないため、処理時間を最小に抑えることができる。
【０３３６】
さらに、この実施の形態１によれば、オーナーフラグを用いることで、外部からの不正なアクセスを検出して対応処理を行うことができる。
【０３３７】
さらに、この実施の形態１では、複数の連想メモリでＳＡアドレス検索を実施し、ＳＡアドレス検索の結果として、複数の連想メモリから同時にアドレス学習要求あるいはエージングによる削除要求がなされた場合、アドレス学習あるいは削除要求の際の優先順位を予め決めておき、その優先順位に基づいてアドレス学習あるいは削除を実施する。このように構成することで、各アドレス検索用メモリ内のＭＡＣアドレス情報及びポート情報は同じとなり、各アドレス検索制御回路が、アドレス学習要求あるいは削除要求に対して空きアドレス等を検索する必要がなく、検索の高速化を図ることができる。
【０３３８】
なお、上記実施の形態１では、ＤＡアドレス検索用メモリ及びＳＡアドレス検索用メモリをそれぞれ２個配置するように構成したが、これに限るものではなく、例えばＤＡアドレス検索用メモリとＳＡ検索用メモリとをそれぞれ一個ずつ設けてもよい。
【０３３９】
また、上記実施の形態１による連想メモリ装置を、ルータ装置等の複数のポートが独立に設けられた装置に適用した場合、ポートごとに連想メモリ装置を配置し、各ポートでのＳＡアドレス検索の結果から、アドレス登録、削除登録、及びエージングによる削除のいずれかが必要であれば、複数配置された連想メモリ内のアドレス情報をほぼ同時に変えるように制御すれば、上記と同様の効果を得ることができる。
【０３４０】
さらに、上記実施の形態１では、光ネットワーク４と基幹ネットワーク５を中継する光を用いた通信装置について説明したが、これに限るものではなく、高速ＰＬＣや無線ＬＡＮ、ＵＷＢ、高速Ｅｔｈｅｒｎｅｔ通信方式を採用する他の伝送方式を採用しても、本発明の連想メモリ装置を適用でき、同様の制御によって同様の効果を得ることができる。
【０３４１】
さらに、上記実施の形態１では、各アドレス検索制御装回路によるアドレス検索用メモリへのアクセス制御の優先順位を上述のように設定する場合を示したが、これに限定されるものではない。本発明の趣旨から逸脱しない範囲で予め定められた順で制御すれば、同様の効果が得られる。
【図面の簡単な説明】
【０３４２】
【図１】この発明の実施の形態１による連想メモリ装置を適用した光通信ネットワークシステムの構成を概略的に示す図である。
【図２】図１中の基地局内のデータ送受信装置の構成を示すブロック図である。
【図３】図２中のブリッジ回路の構成を示すブロック図である。
【図４】図３中の連想メモリ回路の構成を概略的に示すブロック図である。
【図５】ＭＡＣフレームの構成例を示す図である。
【図６】図４中の連想メモリ回路内の各アドレス検索用メモリの構成を概略的に示す図である。
【図７】図６中のアドレス検索用メモリに記憶する、ＭＡＣアドレス情報、ポート情報及び制御情報の記憶フォーマットの一例を示す図である。
【図８】図６中のアドレス検索用メモリから、ＭＡＣアドレス情報、ポート情報及び制御情報を読み出す際のデータ読み出しフォーマットの一例を示す図である。
【図９】図４中の上りＤＡアドレス検索制御回路の構成を概略的に示すブロック図である。
【図１０】図４中の上りＳＡアドレス検索制御回路の構成を概略的に示すブロック図である。
【図１１】図４中のＤＡアドレス検索制御回路からアドレス削除指示が出された際の、各アドレス検索制御回路による処理の流れを示すフローチャートである。
【図１２】図４中のＳＡアドレス検索制御回路によるエージング処理の流れを示すフローチャートである。
【図１３】図４中のＳＡアドレス検索制御回路からアドレス削除指示が出された際の、各アドレス検索制御回路による処理の流れを示すフローチャートである。
【符号の説明】
【０３４３】
１  基地局、２ａ〜２ｃ  ホームゲートウェイ、３ａ〜３ｃ  コンピュータ、４  光ネットワーク、５，７  基幹ネットワーク、６  インターネット網、８  プロバイダのサーバ、９ａ〜９ｃ  宅内ネットワーク、２１，２８，２００，２１３，３０１，３０２，４０１，４０２，４０３，４０４，４０５，４０６  入力端子、２２，２８，２０１，２１２，３１０，３１８，４１２，４１３，４１４，４２４  出力端子、２３，２６  ＭＡＣ部、２４  ブリッジ回路、２５  ブリッジメモリ（連想メモリ、検索用メモリ）、２０２  上りフィルタリング処理回路、２０３，２０９  ＦＩＦＯメモリ、２０４  連想メモリ回路、２０５  上りＶＬＡＮ処理回路、２０６  上りブリッジメモリ制御回路、２０７  下りブリッジメモリ制御回路、２０８  下りＶＬＡＮ処理回路、２１０  下りフィルタリング処理回路、２１１  バスアービタ回路、３０３，３１１  ＭＡＣアドレス分離回路、３０４，３０５，３１２，３１３  ハッシュ値計算回路（ハッシュ演算部）、３０６  上りＤＡアドレス検索制御回路（書き込み処理部、削除処理部、検索部、制御部）、３０７  上りＤＡアドレス検索用メモリ（連想メモリ、学習用メモリ）、３０８  上りＳＡアドレス検索制御回路（書き込み処理部、削除処理部、検索部、制御部）、３０９  上りＳＡアドレス検索用メモリ（連想メモリ、学習用メモリ）、３１４  下りＤＡアドレス検索制御回路（書き込み処理部、削除処理部、検索部、制御部）、３１５  下りＤＡアドレス検索用メモリ（連想メモリ、学習用メモリ）、３１６  下りＳＡアドレス検索制御回路（書き込み処理部、削除処理部、検索部、制御部）、３１７  下りＳＡアドレス検索用メモリ（連想メモリ、学習用メモリ）、４０７  アドレス発生回路、４０８，４２０  メモリ制御回路（制御部）、４０９ａ〜４０９ｄ  比較回路、４１０，４２１  一致検出回路、４１１  選択回路、４２２  未使用エリア検出回路（空き領域検出部）。
【図１】
2010020821.tif 000003
【図２】
2010020821.tif 000004
【図３】
2010020821.tif 000005
【図４】
2010020821.tif 000006
【図５】
2010020821.tif 000007
【図６】
2010020821.tif 000008
【図７】
2010020821.tif 000009
【図８】
2010020821.tif 000010
【図９】
2010020821.tif 000011
【図１０】
2010020821.tif 000012
【図１１】
2010020821.tif 000013
【図１２】
2010020821.tif 000014
【図１３】
2010020821.tif 000015