(57)【要約】【課題】ＭＡＣアドレステーブルの操作の省電力化を図ることができる中継装置を提供する。【解決手段】中継装置であって、ＭＡＣアドレスとポート番号とを有するデータを複数組記憶する複数のＲＡＭと、ＭＡＣアドレスからポート番号を検索する際、複数のＲＡＭのうちでデータが記憶されているＲＡＭ以外のＲＡＭを検索対象としない制御部１６と、データを移動させて、データが記憶されているＲＡＭとデータが記憶されているＲＡＭ以外のＲＡＭとを分離する移動部１５と、データが記憶されているＲＡＭ以外のＲＡＭへの電力供給を停止させるＲＡＭ電源制御部４と、を有する。【選択図】図１
2011039904.tif 000002
【特許請求の範囲】
【請求項１】
ＭＡＣアドレスとポート番号とを有するデータを複数組記憶する、複数の記憶部と、
ＭＡＣアドレスからポート番号を検索する際、前記複数の記憶部のうちで、前記データが記憶されている記憶部以外の記憶部を検索対象としない検索部と、
前記データを移動させて、前記データが記憶されている記憶部と、前記データが記憶されている記憶部以外の記憶部とを分離するデータ移動部と、
前記データが記憶されている記憶部以外の記憶部への電力供給を停止させる電力供給制御部と、
を有する中継装置。
【請求項２】
請求項１に記載の中継装置において、
前記複数の記憶部は、それぞれ複数に分割された記憶領域を有し、該記憶領域ごとに、前記データを記憶し、
前記データ移動部は、前記複数の記憶部の並び方向を行方向とし、前記複数の記憶領域の並び方向を列方向とした場合において、記憶領域内のデータが移動または削除された場合、前記行方向にデータを移動させることで、前記データが記憶されている記憶部と前記データが記憶されている記憶部以外の記憶部とを分離することを特徴とする中継装置。
【請求項３】
請求項２に記載の中継装置において、
前記データ移動部は、記憶領域内のデータが移動または削除された場合、前記行方向のいずれかの端の方にデータが偏るように、データを行方向にシフトさせ、
前記検索部は、前記データが保持されている記憶領域の数を前記行方向ごとに集計し、前記端から前記集計の最大値分以外の記憶部を検索対象としないようにすることを特徴とする中継装置。
【請求項４】
請求項１乃至請求項３のいずれか１項に記載の中継装置において、
さらに、前記データを一時記憶するキャッシュ部と、
前記キャッシュ部に対しての検索が成功した場合、前記複数の記憶部への電力供給を停止させる第２電力供給制御部と、
を有する中継装置。
【請求項５】
ＭＡＣアドレスとポート番号とを有するデータを複数組記憶する、複数の記憶部を有する中継装置が、
前記データを移動させて、前記データが記憶されている記憶部と、前記データが記憶されている記憶部以外の記憶部とを分離し、
ＭＡＣアドレスからポート番号を検索する際、前記複数の記憶部のうちで、前記データが記憶されている記憶部以外の記憶部を検索対象としないよう検索する処理を実行するＭＡＣアドレス検索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＭＡＣアドレステーブルを用いてＭＡＣアドレスの検索を行う中継装置、ＭＡＣアドレス検索方法に関する。
【背景技術】
【０００２】
中継装置の一つであるネットワークスイッチは、ＭＡＣアドレステーブル（以下、ＭＡＴと称す）のアクセスにおいて、全てのメモリ（以下、ＲＡＭと表記）にアクセスして、ＭＡＣアドレスの検索、及び登録を行っている。
【０００３】
図１２に、従来の中継装置の模式図を示す。従来の中継装置は、転送データとともに添付されるＭＡＣアドレスを外部から取得後、取得したＭＡＣアドレスを基にハッシュキーを計算する。その後、中継装置内のＭＡＴアクセスエンジンは、計算されたハッシュキーで、複数のＲＡＭで構成されたＭＡＴを全てのＲＡＭに対し検索し、送信先ＭＡＣアドレスと送信先ポート番号の対を得る。その後、外部から取得されたＭＡＣアドレスと、ＭＡＴから検索されたＭＡＣアドレスとが比較される。これらが合致する場合、ＭＡＴから検索された送信先ポート番号に対応する物理ポートを介して転送データが出力される。
【０００４】
図１２（Ａ）で示した中継装置は、ＭＡＣアドレスに対する上記動作をＭＡＴのみで行い、図１２（Ｂ）で示した中継装置は、ＭＡＴ以外に、複数のフリップフロップ（以下、ＦＦと表記する）が記憶部として用いられるＳＭＡＴを有し、このＳＭＡＴをキャッシュ領域として使用することで、より高速に上記動作を実現する。尚、図１２（Ｂ）で示した中継装置において、ＳＭＡＴアクセスエンジンにより、外部から取得されたＭＡＣアドレスとＦＦに記憶されているＭＡＣアドレスとの比較がなされ、一致しない場合にＭＡＴによる上記処理がなされる。  
【０００５】
図１３は、ＭＡＴを構成するＲＡＭ内部について説明する図である。図１３で示した例は、４つのＲＡＭ（４−Ｗａｙ）で構成されている例である。図１３で示すように、ＭＡＴを構成するＲＡＭそれぞれは、所定のワード数ごとに区分けされた記憶領域を有する。ワード単位で区分けされた記憶領域は、それぞれＭＡＣアドレスと送信先ポート番号との組を記憶する。
【０００６】
また、以下の技術が知られている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０００−２１５１００号公報
【特許文献２】特開２００５−１１５９０６号公報
【特許文献３】特開２００５−２３６９９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従来の中継装置では、有効なデータがＲＡＭ内に保持されているか否かに拘らず、全てのＲＡＭに対しアクセスを行う。よって、ＭＡＴのサイズが大きいほど効率良いルーティングが可能になる反面、ＭＡＴのサイズに応じて消費電力も大きくなる。
【０００９】
本発明は上述した問題点を解決するためになされたものであり、ＭＡＴ操作の省電力化を図ることができる中継装置、ＭＡＣアドレス検索方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
中継装置は、ＭＡＣアドレスとポート番号とを有するデータを複数組記憶する、複数の記憶部と、ＭＡＣアドレスからポート番号を検索する際、複数の記憶部のうちで、データが記憶されている記憶部以外の記憶部を検索対象としない検索部と、データを移動させて、データが記憶されている記憶部と、データが記憶されている記憶部以外の記憶部とを分離するデータ移動部と、データが記憶されている記憶部以外の記憶部への電力供給を停止させる電力供給制御部と、を有する。
【発明の効果】
【００１１】
ＭＡＣアドレステーブルの操作の省電力化を図ることができる。
【図面の簡単な説明】
【００１２】
【図１】本実施の形態に係る中継装置の一例を示す模式図である。
【図２】本実施の形態に係る制御部によるＭＡＴへのアクセス制御の一例を説明する図である。
【図３】本実施の形態に係るＲＡＭの各行をグループ化する例を説明する図である。
【図４】本実施の形態に係るＲＡＭの各行をグループ化した場合のＭＡＴ状態テーブルの一例を示す図である。
【図５】本実施の形態に係る移動部によるＭＡＴの操作について説明する図である。
【図６】本実施の形態に係る中継装置（ＳＭＡＴ機構が無い構成）のアドレス検索処理の一例を示すフローチャートである。
【図７】本実施の形態に係る中継装置（ＳＭＡＴ機構が無い構成）のアドレス登録処理の一例を示すフローチャートである。
【図８】本実施の形態に係る中継装置（ＳＭＡＴ機構がある構成）のアドレス検索処理の一例を示すフローチャートである。
【図９】本実施の形態に係る中継装置（ＳＭＡＴ機構がある構成）のアドレス登録処理の一例を示すフローチャートである。
【図１０】本実施の形態に係る中継装置のアドレス削除処理の一例を示すフローチャートである（グループ化無し）。
【図１１】本実施の形態に係る中継装置のアドレス削除処理の一例を示すフローチャートである（グループ化あり）。
【図１２】従来の中継装置の一例を示す模式図である。
【図１３】ＭＡＴを構成するＲＡＭ内部について説明する図である。
【発明を実施するための形態】
【００１３】
図１に、本実施の形態に係る中継装置の一例を示す。図１（Ａ）は、ＭＡＴ機構のみを有する中継装置であり、図１（Ｂ）は、ＭＡＴ機構およびＳＭＡＴ機構を有する中継装置である。本実施の形態の中継装置は、例えばネットワークスイッチやルータである。
【００１４】
まず、図１（Ａ）について説明する。中継装置１００は、例えば他の中継装置やコンピュータ等、外部から取得されたＭＡＣアドレスからハッシュキーを計算するハッシュキー計算部２を有し、また、ハッシュキー計算部２によって計算されたハッシュキーに基づき、送信先ポート番号を出力するＭＡＴ機構１を有する。また中継装置１００は、ＭＡＴ状態テーブル５０を有する。
【００１５】
ＭＡＴ機構１は、本実施の形態による省電力化を実現するＭＡＴアクセスエンジン１０を有し、また複数のＲＡＭ（複数の記憶部）で構成されたＭＡＴ１１を有する。尚、ＭＡＴ１１を構成するＲＡＭそれぞれは、所定のワード数で区切られた記憶領域を有し、この記憶領域それぞれに、ＭＡＣアドレスと送信先ポート番号との対が記憶される。またＭＡＴ機構１は、外部より取得されたＭＡＣアドレスと、ハッシュキーで検索されたＭＡＣアドレスとを比較する比較部１２を有する。
【００１６】
本実施の形態のＭＡＴアクセスエンジン１０は、移動部１５（データ移動部）、制御部１６（検索部）を有する。
【００１７】
移動部１５は、ＭＡＣアドレスに関するデータを移動させて、データが記憶されているＲＡＭと、データが記憶されているＲＡＭ以外のＲＡＭとを分離する。本実施の形態の移動部１５は、ＭＡＴ１１内のＲＡＭのうちいずれか１つまたは複数のＲＡＭに、ＭＡＣアドレスと送信先ポート番号との対のデータがまとまるようデータをＲＡＭ間で移動させることで、データが記憶されているＲＡＭとそれ以外のＲＡＭとを分離する。
【００１８】
制御部１６は、例えば検索機能、登録機能、エイジアウト（削除）機能等、従来のＭＡＴ１１に対する機能に加え、さらに、ＭＡＣアドレスからポート番号を検索する際、複数のＲＡＭのうちで、ＭＡＣアドレスと送信先ポート番号との対のデータが記憶されているＲＡＭ以外のＲＡＭを検索対象としないように検索する。
【００１９】
また、中継装置１００は、ＭＡＴ状態テーブル５０に記憶されている値に基づき、データが記憶されているＲＡＭ以外のＲＡＭへの電力供給を停止させるＲＡＭ電源制御部４（電力供給制御部）を有する。
【００２０】
図１（Ｂ）で示した中継装置１００Ａは、中継装置１００に対し、さらにＳＭＡＴアクセスエンジン２０、およびＳＭＡＴ機構３（キャッシュ部）を有する。ＳＭＡＴアクセスエンジン２０は、従来の登録、削除等のＳＭＡＴ機構に対する機能に加え、ＳＭＡＴ機構３内に該当するＭＡＣアドレスがある場合は、ＲＡＭ全ての電力供給を停止するためにＭＡＴ機構１の電源を切断し、ＳＭＡＴ機構３内に該当するＭＡＣアドレスが無い場合はＭＡＴ機構１の電源を投入するＭＡＴ電源制御部２３（第２電力供給制御部）を有する。
【００２１】
ＳＭＡＴ機構３は、従来のＳＭＡＴと同様にキャッシュとして機能し、ＭＡＣアドレス、送信先ポート番号の対を記憶するＦＦによって構成されるＳＭＡＴ２１、および外部より取得されたＭＡＣアドレスと、ハッシュキーで検索されたＭＡＣアドレスとを比較する比較部２２を有する。
【００２２】
本実施の形態のＭＡＴアクセスエンジン１０は、ＭＡＴ状態テーブル５０に記憶されている数値を取得し、最左端のＲＡＭからその数値分のＲＡＭまでがアクティブなＲＡＭであるとし、これらのＲＡＭに対し検索処理を行う。
【００２３】
中継装置１００、中継装置１００Ａ内の各ユニットは、集積回路等の回路によって実装されるものとするが、ＣＰＵ（Central Processing Unit）が所定のプログラムを実行することで実現されていてもよい。
【００２４】
制御部１６によるＭＡＴ１１へのアクセス制御について、図２を参照しつつ説明する。図２の例では、ＭＡＴ１１は１０２４ワードのＲＡＭを８個使用した８ウェイ・セット・アソシアティブである。図２の「１」は、アクティブな（有効な）エントリであるとし、「０」はノンアクティブな（無効な）エントリであるとする。また、図２のテーブルの右側に、各行でのアクティブなエントリの数を示す。なお、図２の実体はＭＡＴであるが、説明の都合上、ビットを使ったテーブルを用いて説明する。
【００２５】
制御部１６は、エイジアウトしたエントリの有無を確認するため、定期的にＲＡＭに対しアクセスする。ここで、制御部１６は各行毎にアクティブなＲＡＭの数を求め、その最大値（図２の例では「５」）をＭＡＴ状態テーブル５０に記憶させる。ＭＡＴ状態テーブル５０は、４ビットのレジスタで実現される。
【００２６】
制御部１６は、ＭＡＣアドレスを検索する際、左端のＲＡＭから、ＭＡＴ状態テーブル５０に記憶されている数分、図２の例では５つ分までのＲＡＭに対しアクセスする。このようにすることで、有効なデータが記憶されていないＲＡＭに対してアクセスすることが無くなり、省電力化を図ることができる。
【００２７】
またＲＡＭ電源制御部４は、左端のＲＡＭから、ＭＡＴ状態テーブル５０に記憶されている数分、図２の例では５つ分までのＲＡＭ以外のＲＡＭの電力供給を停止させる。このようにすることで、有効なデータが記憶されていないＲＡＭに対しての電力供給が停止するため、更に省電力化を図ることができる。
【００２８】
また、ＲＡＭの行をグループ化して、グループ毎にアクセスの対象となるＲＡＭの数をＭＡＴ状態テーブル５０に記憶させる例を図３に示す。図３では、行を４つずつにグループ化している例を示している。このようにすることで、図２の例に比べアクセスするＲＡＭの数をさらに減らすことが可能となる。図２の例では、ハッシュキーがどの行を指しても５個のＲＡＭにアクセスする必要があるが、図３の例では、ハッシュキーが上位４行を指した場合は３個のＲＡＭにアクセスするだけでよい。
【００２９】
反面、ＭＡＴ状態テーブル５０は図４に示すように大きくなる。図３の例のようにＲＡＭが４行毎にグループ化されている場合、２５６×４ビットのテーブルとなる。なお、図３の実体はＭＡＴであるが、説明の都合上、ビットを使ったテーブルを用いて説明する。
【００３０】
次に、移動部１５によるＭＡＴ１１の操作について、図５を参照しつつ説明する。なお、図５の実体はＭＡＴであるが、説明の都合上、ビットを使ったテーブルを用いて説明する。
【００３１】
図５（Ａ）に、何もエントリされていない初期状態を示し、図５（Ｂ）に、その後ＭＡＴ１１にアドレスが登録されている状態を示す。ここで、あるエントリがエイジアウトして空になり、無効なデータになった場合（図５（Ｃ）参照）、移動部１５は、図５（Ｄ）で示すように、５行目のＲＡＭをアクセスの対象から外すために５行目の登録情報を４行目に移動させる。図５（Ｅ）は、移動が終わって５行目のＲＡＭがアクセスの対象から外れた状態を示している。
【００３２】
本実施の形態では、エイジングが起こる際に、移動部１５がＭＡＴ１１の状態を図５（Ｃ）から図５（Ｄ）の状態となるようにし、制御部１６がＭＡＴ状態テーブル５０をアップデートする。制御部１６は、ＭＡＴ状態テーブル５０を参照し、ＭＡＣアドレスが登録されていないＲＡＭをアクセス対象から外し、ＭＡＣアドレスが登録されているＲＡＭのみをアクセス対象とすることで省電力化が図られる。またＲＡＭ電源制御部４は、ＭＡＴ状態テーブル５０を参照し、ＭＡＣアドレスの移動元のＲＡＭ（図５の例では５行目のＲＡＭ）の電力供給を停止する。このようにすることで、更に省電力化が図られる。尚、ラーニングやデリートなどＭＡＴ機構１に対するテーブル操作が発生した場合、移動部１５は、ＭＡＴ状態テーブル５０をアップデートする。
【００３３】
次に、図６から図１１のフローチャートを参照しつつ、中継装置１００、１００Ａの動作を説明する。
【００３４】
まず、図６に中継装置１００（ＳＭＡＴ機構３が無い構成）のアドレス検索処理について示す。中継装置１００は、送信先のＭＡＣアドレスを外部から取得し（Ｓ１）、ハッシュキー計算部２は、取得されたＭＡＣアドレスからハッシュキーを計算する（Ｓ２）。制御部１６は、ＭＡＴ状態テーブル５０を参照し、アクセス対象となるＲＡＭを選択し（Ｓ３）、ハッシュキーを使って選択されたＲＡＭにアクセスする。制御部１６は、各ＲＡＭからＭＡＣアドレスと送信先ポート番号を取得し、これらを比較部１２へ出力する（Ｓ４）。尚、図３のように各行がグループ化されている場合、制御部１６は、ステップＳ３の処理ではハッシュキーからいずれのグループであるかを求め、該当するグループの数値をＭＡＴ状態テーブル５０から取得することで、アクセス対象となるＲＡＭを選択する。
【００３５】
比較部１２は、ステップＳ１で取得された送信先ＭＡＣアドレスと、ステップＳ４で出力されたＭＡＣアドレスとを比較する（Ｓ５）。比較した結果、一致するエントリがあった場合（Ｓ６、Ｙｅｓ）、そのＭＡＣアドレスと対応する送信先ポート番号のポートがデータ出力先ポートとなる（Ｓ７）。一方、一致するエントリが無い場合（Ｓ６、Ｎｏ）、中継装置１００は、アドレスは登録されていないためフラッディングを発生させる（Ｓ８）。
【００３６】
次に、中継装置１００（ＳＭＡＴ機構３が無い構成）のアドレス登録処理について、図７を参照しつつ説明する。尚、図７のステップＳ１０からステップＳ１５までの処理は、送信元となるＭＡＣアドレスが取得され、この送信元ＭＡＣアドレスに対し処理されること以外は、図６のステップＳ１からステップＳ６までの処理と同様であるため、説明を割愛する。
【００３７】
ステップＳ１５で、一致するエントリがＭＡＴ機構１のＭＡＴ１１内にあった場合（Ｓ１５、ＹＥＳ）、送信元のＭＡＣアドレスは既に登録済みであるため処理は終了する（Ｓ１６）。一方、一致するエントリがＭＡＴ機構１のＭＡＴ１１に無い場合（Ｓ１５、ＮＯ）、ＲＡＭ電源制御部４は、現在電力が供給が停止されているＲＡＭに対して電力を供給し（Ｓ１６Ａ）、制御部１６は、ＭＡＴ機構１のＭＡＴ１１に空きがあるかを判定する（Ｓ１７）。ＭＡＴ１１に空きがある場合（Ｓ１７、ＹＥＳ）、制御部１６はＲＡＭにアクセスし送信元のＭＡＣアドレスを登録し（Ｓ１８）、ＭＡＣ状態テーブル５０を必要に応じアップデートする（Ｓ１９）。ステップＳ１７で空きが無いと判定された場合（Ｓ１７、ＮＯ）、制御部１６は、退去（Ｅｖｉｃｔ）させるエントリを決定し（Ｓ２０）、そのエントリに送信元のＭＡＣアドレスを登録する（Ｓ２１）。
【００３８】
ＲＡＭ電源制御部４は、ＭＡＴ状態テーブル５０を参照し、ＭＡＣアドレスが登録されていないＲＡＭの電力供給を停止する（Ｓ２２）。
【００３９】
次に、中継装置１００Ａ（ＳＭＡＴ機構３がある構成）のアドレス検索処理について、図８を参照しつつ説明する。まず、図６のステップＳ１、Ｓ２と同様に、送信先ＭＡＣアドレスが取得され（Ｓ２５）、ハッシュキーが計算される（Ｓ２６）。その後、ＳＭＡＴアクセスエンジン２０は、計算されたハッシュキーを使ってＳＭＡＴ２１にアクセスし、ＳＭＡＴ２１に記憶されているＭＡＣアドレスと送信先ポート番号を比較部２２へ出力させる（Ｓ２７）。比較部２２は、ステップＳ２５で取得された送信先ＭＡＣアドレスとステップＳ２７で出力されたＭＡＣアドレスとを比較する（Ｓ２８）。ここで、比較した結果、一致するＭＡＣアドレスがＳＭＡＴ２１にあった場合（Ｓ２９、Ｙｅｓ）、ＭＡＴ電源制御部２３は、ＭＡＴ機構１の電源切断処理を行い（Ｓ３０）、ＭＡＣアドレスと対応関係にある送信先ポート番号のポートをデータ出力先ポートとする（Ｓ３１）。
【００４０】
一方、一致するＭＡＣアドレスがＳＭＡＴ２１にない場合（Ｓ２９、ＮＯ）、ＭＡＴ電源制御部２３は、ＭＡＴ機構１の電源を投入する（Ｓ３２）。以降のステップＳ３３からステップＳ３８までの処理は、図６のステップＳ３からステップＳ８までの処理と同様であるため、説明を割愛する。
【００４１】
ＲＡＭ電源制御部４は、ＭＡＴ状態テーブル５０を参照し、ＭＡＣアドレスが登録されていないＲＡＭの電力供給を停止する（Ｓ３９）。
【００４２】
中継装置１００Ａ（ＳＭＡＴ機構３がある構成）のアドレス登録処理について、図９を参照しつつ説明する。尚、ステップＳ４０からステップＳ５２までは、送信元となるＭＡＣアドレスが取得され、この送信元ＭＡＣアドレスに対し処理されること以外は、図８のステップＳ２５からステップＳ３７までと同様の処理であるため、説明を割愛する。
【００４３】
ステップＳ５１で、一致するエントリがＭＡＴ機構１のＭＡＴ１１に無い場合（Ｓ５１、ＮＯ）、次に、ＳＭＡＴアクセスエンジン２０は、ＳＭＡＴ機構３のＳＭＡＴ２１に空きがあるかを判定する（Ｓ５３）。ＳＭＡＴ２１に空きがある場合（Ｓ５３、ＹＥＳ）、ＳＭＡＴアクセスエンジン２０はＳＭＡＴ２１にアクセスし送信元のＭＡＣアドレスを登録する（Ｓ５９）。ＳＭＡＴ２１に空きがない場合（Ｓ５３、ＮＯ）のステップＳ５４からステップＳ５９までの処理は、図７のＳ１７からＳ２２と同様であるため、説明を割愛する。
【００４４】
次に、アドレスの削除処理について図１０、図１１を参照しつつ説明する。
【００４５】
まず、ＭＡＴ１１内をグループ化しない場合の中継装置１００および中継装置１００Ａのアドレス削除処理を図１０に示す。ＭＡＴアクセスエンジン１０の制御部１６は、事前に備えられたレジスタであって、各行毎の最大数を記憶するためのレジスタ（以降、ｔｍｐと表記）に値０を設定する（Ｓ６０）。次に、ＲＡＭ電源制御部４は、現在電力が供給が停止されているＲＡＭの電力を供給し（Ｓ６０Ａ）、制御部１６は、エイジング処理を行うため各ＲＡＭから１行ずつ読み出す（Ｓ６１）。エイジアウトしたＭＡＣアドレスがある場合（Ｓ６２、ＹＥＳ）、制御部１６は、エイジアウトしたＭＡＣアドレスと送信先ポート番号の対であるアドレス登録情報をＲＡＭから削除し、移動部１５は、削除した後のエントリ数が、その行の最大数より小さい場合にアドレス登録情報を左に移動する（Ｓ６３）。
【００４６】
制御部１６は、削減後、ｔｍｐに記憶されている値と、現在処理を行っている行のエントリ数とを比較し、現在処理を行っているエントリ数の方が大きい場合、ｔｍｐ内の値を更新する（Ｓ６４）。
【００４７】
一方、ステップＳ６２でエイジアウトしたＭＡＣアドレスが無い場合（Ｓ６２、ＮＯ）、処理はＳ６５に進む。
【００４８】
全ての行のエイジングが終了した場合（Ｓ６５、ＹＥＳ）、制御部１６は、ｔｍｐとＭＡＴ状態テーブル５０との値を比較し、ｔｍｐの値が小さければＭＡＴ状態テーブルの値をｔｍｐの値となるよう更新する（Ｓ６６）。ＲＡＭ電源制御部４は、ＭＡＴ状態テーブル５０を参照し、ＭＡＣアドレスが登録されていないＲＡＭの電力供給を停止し（Ｓ６６Ａ）、ＭＡＣアドレスの削除処理が終了する（Ｓ６７）。
【００４９】
一方、全ての行のエイジングが終了していない場合（Ｓ６５、ＮＯ）、制御部１６は、新規のＭＡＣアドレスの登録があるかを判定し（Ｓ６８）、新規登録が無い場合（Ｓ６８、ＮＯ）、処理はステップＳ６１へ戻り、制御部１６は次の行に対して処理を実施する。新規登録がある場合（Ｓ６９、ＹＥＳ）、制御部１６は、そのＭＡＣアドレスを登録し（Ｓ６９）、アドレス登録後の最大数がｔｍｐに記憶された値より大きければ、ｔｍｐに記憶されている値を更新する（Ｓ７０）。また制御部１６は、アドレス登録後の最大数がＭＡＴ状態テーブル５０に設定された値より大きければ、ＭＡＴ状態テーブル５０に記憶されている値も更新し（Ｓ７１）、処理はステップＳ６１へ戻り、次の行に移る。
【００５０】
次に、ＭＡＴ１１内をグループ化した場合の中継装置１００、１００Ａのアドレス削除処理を図１１に示す。ステップＳ７５からステップＳ７９までの処理は、図１０のステップＳ６０からステップＳ６４までの処理と同様であるため、説明を割愛する。
【００５１】
エイジアウトしたＭＡＣアドレスが無い場合（Ｓ７７、ＮＯ）、またはステップＳ７９の処理が行われた後に、制御部１６は、管理単位行（ＭＡＴ１１は所定行数を単位としてグループ化されているが、管理単位行はその所定行数のこと）のエイジングが終了したかを判定する（Ｓ８０）。ここで、管理単位行のエイジングが終了した場合（Ｓ８０、ＹＥＳ）、制御部１６は、ｔｍｐに記憶されている値とＭＡＴ状態テーブル５０に記憶されている値とを比較し、ｔｍｐ内の値が小さければＭＡＴ状態テーブル５０の値をｔｍｐの値に更新する（Ｓ８１）。制御部１６は、全ての行に対しエイジングが終了したかを判定し（Ｓ８２）、終了した場合（Ｓ８２、ＹＥＳ）、ＲＡＭ電源制御部４は、ＭＡＴ状態テーブル５０を参照し、ＭＡＣアドレスが登録されていないＲＡＭの電力供給を停止し（Ｓ８２Ａ）、ＭＡＣアドレスの削除処理は終了する（Ｓ８３）。
【００５２】
一方、管理単位行のエイジングが終了していない場合（Ｓ８０、ＮＯ）、または全てのエイジング処理が終了していない場合（Ｓ８２、ＮＯ）、処理はステップＳ８４に進む。以降のステップＳ８４からステップＳ８７の処理は、図１０のステップＳ６８からステップＳ７１までの処理と同様であるため、説明を割愛する。
【００５３】
本実施の形態では、エイジアウトした際、移動部１５はデータを左側のＲＡＭに移動するようにしたが、逆に右側に移動してもよい。その場合、制御部１６は、最右端からＭＡＴ状態テーブル５０に記憶されている値分までのＲＡＭをアクセス対象とする。
【００５４】
また、本実施の形態では、行方向のいずれかの端の方にデータが偏るように格納することで、ＭＡＣアドレスが格納されているＲＡＭとそれ以外のＲＡＭとのを分離を行ったが、例えば端からつめずに一つ飛ばしにデータを格納したり、格納する場所を計算させたり等、様々な方法で分離を図ることができる。
【００５５】
本実施の形態によって、ＭＡＣアドレスが登録されているアクセスの対象となるＲＡＭを管理し、アクセスの対象とならないＲＡＭとそれに関連する論理へのクロック、または電力の供給を止めることによって、省電力を実現することができる。
【００５６】
さらに、ＭＡＴアクセスにおいて、ＭＡＴの外部にある小容量エントリのテーブルであるＳＭＡＴを使用することによって、ＳＭＡＴへのヒットの際にＭＡＴ本体とそれに関連する回路へのクロック、または電力の供給を止めることによって、省電力を実現する。
【００５７】
ＩＴ機器の省電力化は喫緊の課題であり、特に、今後は中継装置の消費電力は飛躍的に大きくなることが予想されている。本実施の形態によって、中継装置の消費電力を大きく削減することが可能になる。
【００５８】
以上、本実施の形態によれば、以下の付記で示す技術的思想が開示されている。
（付記１）  ＭＡＣアドレスとポート番号とを有するデータを複数組記憶する、複数の記憶部と、
ＭＡＣアドレスからポート番号を検索する際、前記複数の記憶部のうちで、前記データが記憶されている記憶部以外の記憶部を検索対象としない検索部と、
前記データを移動させて、前記データが記憶されている記憶部と、前記データが記憶されている記憶部以外の記憶部とを分離するデータ移動部と、
前記データが記憶されている記憶部以外の記憶部への電力供給を停止させる電力供給制御部と、
を有する中継装置。
（付記２）  付記１に記載の中継装置において、
前記複数の記憶部は、それぞれ複数に分割された記憶領域を有し、該記憶領域ごとに、前記データを記憶し、
前記データ移動部は、前記複数の記憶部の並び方向を行方向とし、前記複数の記憶領域の並び方向を列方向とした場合において、記憶領域内のデータが移動または削除された場合、前記行方向にデータを移動させることで、前記データが記憶されている記憶部と前記データが記憶されている記憶部以外の記憶部とを分離することを特徴とする中継装置。
（付記３）  付記２に記載の中継装置において、
前記データ移動部は、記憶領域内のデータが移動または削除された場合、前記行方向のいずれかの端の方にデータが偏るように、データを行方向にシフトさせ、
前記検索部は、前記データが保持されている記憶領域の数を前記行方向ごとに集計し、前記端から前記集計の最大値分以外の記憶部を検索対象としないようにすることを特徴とする中継装置。
（付記４）  付記１に記載の中継装置において、
さらに、前記データを一時記憶するキャッシュ部と、
前記キャッシュ部に対しての検索が成功した場合、前記複数の記憶部への電力供給を停止させる第２電力供給制御部と、
を有する中継装置。
（付記５）  付記３に記載の中継装置において、
前記検索部は、前記複数の記憶領域を列方向に複数のグループに分割されている場合、前記データが保持されている記憶領域の数を前記行方向ごとに集計し、前記グループごとに集計の最大値を取得し、前記グループごとに、前記端から該グループに対応する集計の最大値分以外の記憶装置を検索対象としないようにすることを特徴とする中継装置。
（付記６）  ＭＡＣアドレスとポート番号とを有するデータを複数組記憶する、複数の記憶部を有する中継装置が、
前記データを移動させて、前記データが記憶されている記憶部と、前記データが記憶されている記憶部以外の記憶部とを分離し、
ＭＡＣアドレスからポート番号を検索する際、前記複数の記憶部のうちで、前記データが記憶されている記憶部以外の記憶部を検索対象としないよう検索する処理を実行するＭＡＣアドレス検索方法。
（付記７）  付記６に記載のＭＡＣアドレス検索方法において、
前記複数の記憶部は、それぞれ複数に分割された記憶領域を有し、該記憶領域ごとに、前記データを記憶し、
前記複数の記憶部の並び方向を行方向とし、前記複数の記憶領域の並び方向を列方向とした場合において、記憶領域内のデータが移動または削除された場合、前記行方向にデータを移動させることで、前記データが記憶されている記憶部と前記データが記憶されている記憶部以外の記憶部とを分離することを特徴とするＭＡＣアドレス検索方法。
（付記８）  付記７に記載のＭＡＣアドレス検索方法において、
記憶領域内のデータが移動または削除された場合、前記行方向のいずれかの端の方にデータが偏るように、データを行方向にシフトさせることで、前記データが記憶されている記憶部と前記データが記憶されている記憶部以外の記憶部とを分離し、
前記データが保持されている記憶領域の数を前記行方向ごとに集計し、前記端から前記集計の最大値分以外の記憶部を検索対象としないようにすることを特徴とするＭＡＣアドレス検索方法。
（付記９）  付記６に記載のＭＡＣアドレス検索方法において、
前記中継装置は、さらに、前記データを一時記憶するキャッシュ部を有し、
前記キャッシュ部に対しての検索が成功した場合、前記複数の記憶部への電力供給を停止させる処理をさらに実行することを特徴とするＭＡＣアドレス検索方法。
（付記１０）  付記８に記載のＭＡＣアドレス検索方法において、
前記複数の記憶領域を列方向に複数のグループに分割されている場合、前記データが保持されている記憶領域の数を前記行方向ごとに集計し、前記グループごとに集計の最大値を取得し、前記グループごとに、前記端から該グループに対応する集計の最大値分以外の記憶装置を検索対象としないようにすることを特徴とするＭＡＣアドレス検索方法。
【符号の説明】
【００５９】
１  ＭＡＴ機構、２  ハッシュキー計算部、３  ＳＭＡＴ機構、４  ＲＡＭ電源制御部、１０  ＭＡＴアクセスエンジン、１１  ＭＡＴ、１２  比較部、１５  移動部、１６  制御部、２０  ＳＭＡＴアクセスエンジン、２１  ＳＭＡＴ、２２  比較部、２３  ＭＡＴ電源制御部、５０  ＭＡＴ状態テーブル、１００、１００Ａ  中継装置。
【図１】
2011039904.tif 000003
【図２】
2011039904.tif 000004
【図３】
2011039904.tif 000005
【図４】
2011039904.tif 000006
【図５】
2011039904.tif 000007
【図６】
2011039904.tif 000008
【図７】
2011039904.tif 000009
【図８】
2011039904.tif 000010
【図９】
2011039904.tif 000011
【図１０】
2011039904.tif 000012
【図１１】
2011039904.tif 000013
【図１２】
2011039904.tif 000014
【図１３】
2011039904.tif 000015