(57)【要約】  検索のためのカスケード型メモリテーブルと関連付けられたデバイス、システム、方法、および他の実施形態について説明する。一実施形態では、集積チップは、２つ以上のアドレステーブルを伴って実装される。２つ以上のアドレステーブルは、アドレスを格納するための別個のメモリテーブルを伴って実装される。２つ以上のアドレステーブルは、第１のアドレステーブルと、第２のアドレステーブルとから成る。接続ラインは、第１のアドレステーブルと第２のアドレステーブルとを接続し、カスケード型アドレステーブルを生成する。検索論理は、あるアドレスに対して、第１のアドレステーブルの検索を起動する。アドレスが見つからない場合、検索論理は、接続ラインを通して、第２のアドレステーブルの検索を起動する。【選択図】図１
2011523334.tif 000002
【特許請求の範囲】
【請求項１】
アドレスを格納するように構成される別個のメモリテーブルにより実装される、２つ以上のアドレステーブルであって、第１のアドレステーブルと、第２のアドレステーブルとから成る、２つ以上のアドレステーブルと、
前記第１のアドレステーブルと前記第２のアドレステーブルとを接続し、カスケード型アドレステーブルを生成する、接続ラインと、
あるアドレスに対して、前記第１のアドレステーブルの検索を起動するための検索論理であって、前記アドレスが見つからない場合、前記接続ラインを通して、前記第２のアドレステーブルの検索を起動するように構成される、検索論理と、
を備える、集積チップ。
【請求項２】
前記接続ラインは、リング型トポロジで、前記２つ以上のアドレステーブルをさらに直列に電気接続し、前記検索論理は、前記２つ以上のアドレステーブルの選択されたアドレステーブルにおいて、あるアドレスを、検索を開始するように構成され、前記アドレスが見つからない場合、前記接続ラインを介して、前記２つ以上のアドレステーブルの隣接して接続されたアドレステーブルに対して、前記検索を継続する、請求項１に記載の集積チップ。
【請求項３】
前記集積チップは、アップリンクと複数のラインカードとの間のインターフェースであって、前記アップリンク上のデータ速度は、前記複数のラインカードのうちの１つの上のデータ速度を上回り、前記集積チップは、少なくとも部分的に、前記検索論理によって見つけられたアドレスと関連付けられた宛先アドレスに基づいて、前記アップリンクと前記複数のラインカードのうちの１つとの間のデータをルーティングするように構成される、請求項１に記載の集積チップ。
【請求項４】
前記第１のアドレステーブルは、第１の複数のラインカードと関連付けられ、前記第２のアドレステーブルは、第２の複数のラインカードと関連付けられ、前記集積チップは、アップリンクから受信されたネットワークパケットに対応するパケットアドレスを判定するように構成され、前記検索論理は、少なくとも部分的に、前記パケットアドレスに基づいて、前記検索を起動するように構成され、前記ネットワークパケットは、少なくとも部分的に、前記検索論理によって見つけられたアドレスに基づいて、前記第１の複数のラインカードのうちの１つまたは前記第２の複数のラインカードのうちの１つにルーティングされる、請求項１に記載の集積チップ。
【請求項５】
前記検索論理は、前記２つ以上のアドレステーブルを別々に検索し、前記２つ以上のアドレステーブルは、媒体アクセス制御（ＭＡＣ）アドレス、レイヤ２アドレス、インターネットプロトコル（ＩＰ）アドレス、およびレイヤ３アドレスのうちの１つ以上を格納する、請求項１に記載の集積チップ。
【請求項６】
前記検索論理および前記接続ラインは、前記第１のアドレステーブルおよび前記第２のアドレステーブル内の異なる検索を並行して実行するように構成可能である、請求項１に記載の集積チップ。
【請求項７】
前記集積チップは、ネットワークとの接続のためのネットワークスイッチであって、前記ネットワークスイッチは、前記カスケード型アドレステーブル内に前記アドレスが見つからない時、前記ネットワークに接続された他のデバイスにアドレス要求メッセージをフラッディングするように構成される、請求項１に記載の集積チップ。
【請求項８】
ネットワークパラメータを別々に格納する複数のテーブルとして構成され、前記複数のテーブルは、少なくとも１つの接続ラインを介して、順番に接続され、カスケード型パラメータテーブルを形成する、メモリブロックと、
ネットワークパラメータを受信し、前記複数のテーブルを順番に連続的に検索し、整合パラメータを見つけるように構成される、検索論理と、
を備える、半導体チップ。
【請求項９】
カスケードビットを格納する検索レジスタをさらに備え、前記カスケードビットが設定される時、前記検索論理は、前記整合ネットワークパラメータが見つかるまで、前記カスケード型パラメータテーブルを検索するように構成され、前記検索レジスタのカスケードビットが設定されない時、前記検索論理は、前記複数のテーブルのうちの１つが検索されるように、前記複数のテーブルを制御する、請求項８に記載の半導体チップ。
【請求項１０】
前記カスケードビットは、プログラム可能ファームウェアである、請求項９に記載の半導体チップ。
【請求項１１】
接続ポートさらに備え、１つの接続ポートは、複数のアップリンクのうちの１つのアップリンクへの接続のためのものであって、前記ネットワークパラメータは、複数のアップリンクのうちの１つから受信され、前記検索論理は、前記ネットワークパラメータが受信されたアップリンクと関連付けられた複数のテーブルのうちの１つにおいて、前記カスケード型パラメータテーブルの検索を選択的に起動するように構成される、請求項８に記載の半導体チップ。
【請求項１２】
ラインカードポートと、アップリンクポートとをさらに備え、前記半導体チップは、アップリンクポートから、アドレスであるネットワークパラメータを伴うネットワークパケットを受信するように構成され、前記検索論理は、少なくとも部分的に、前記２つ以上のラインカードのうちの１つと関連付けられた宛先ラインカードポートを見つけるためのアドレスに基づいて、前記複数のテーブルを検索するように構成され、前記半導体チップは、前記ネットワークパケットを前記宛先ラインカードポートにルーティングする、請求項８に記載の半導体チップ。
【請求項１３】
ネットワークパケットを受信するためのアップリンクポートをさらに備え、前記ネットワークパラメータは、フィルタパラメータであって、前記半導体チップは、少なくとも部分的に、前記フィルタパラメータに基づいて、ネットワークパケットをフィルタリングするように構成される、請求項８に記載の半導体チップ。
【請求項１４】
ネットワークパケットをデコードし、宛先アドレスを判定することと、
前記宛先アドレスと整合するアドレスに対して、第１のアドレステーブルを検索することと、
前記整合アドレスが見つからない場合、
前記第１のアドレステーブルに直列に接続されている第２のアドレステーブル内の検索を起動するための信号を発生することと、
前記宛先アドレスと整合するアドレスに対して、前記直列に接続された第２のアドレステーブルを検索することと、
前記宛先アドレスが見つかった場合、前記ネットワークパケットを前記宛先アドレスに対応する宛先ポートに伝送することと、
を備える、方法。
【請求項１５】
前記方法は、ネットワーキングスイッチ内で動作し、前記ネットワークパケットは、アップリンクポートから受信され、前記ネットワークパケットは、前記スイッチに接続された複数のラインカードポートのうちの１つである宛先にダイレクトされ、前記アップリンクポートは、前記複数のラインカードのうちの１つのポートより高速データ速度を有する、請求項１４に記載の方法。
【請求項１６】
前記ネットワークパケットと関連付けられたデータを低速で伝送することによって、前記ネットワークパケットを定格制限することをさらに備え、前記ネットワークパケットは、少なくとも部分的に、前記整合アドレスと関連付けられた定格制限情報に基づいて、定格制限され、前記ネットワークパケットは、前記ネットワークパケットを前記定格制限情報に対応する定格制限されたポートに送信することによって、定格制限される、請求項１４に記載の方法。
【請求項１７】
追加宛先アドレスと整合する追加アドレスに対して、前記第１のアドレステーブルを検索し、並行して、前記宛先アドレスと整合するアドレスに対して、前記直列に接続された第２のアドレステーブルを検索することをさらに備え、前記第１のアドレステーブル検索および前記第２のアドレステーブル検索は、並行して生じる、請求項１４に記載の方法。
【請求項１８】
高優先度アドレスが、第１のアドレステーブル検索中に見つかるように、前記第１のアドレステーブル内に前記高優先度アドレスを格納することをさらに備える、請求項１４に記載の方法。
【請求項１９】
前記第１のアドレステーブル内に前記アドレスが見つからない時、前記第１のアドレステーブルが、前記アドレスに対して、再度検索されないように、前記第１のアドレステーブルをマークによってマーキングすることをさらに備える、請求項１４に記載の方法。
【請求項２０】
前記方法は、ギガビット受動光ネットワーキング（ＧＰＯＮ）規格に従って、データを処理するネットワーキングスイッチ内に実装される、請求項１４に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
関連出願の相互参照
本願は、参照することによって、本明細書に組み込まれる、２００８年６月１９日出願の米国暫定出願整理番号第６１／０７４，００１号の利益を主張するものである。
【０００２】
電子デバイスは、ネットワークを通して、相互に通信可能である。ネットワーク内で通信する方法の１つは、情報のパケットを送信することによるものである。典型的には、パケットは、パケットヘッダと、データのペイロードとを含有する。データのペイロードは、２つの電子デバイス間で通信される情報である。ヘッダは、送信デバイスから受信／宛先デバイスにパケットを転送するために使用される情報を有する。
【０００３】
パケットが、大規模ネットワーク内の遠隔電子デバイスに到達するためには、パケットは、異なるネットワークリンクを交差することになるであろう。ネットワークリンクは、スイッチに加えて、他のネットワーキングデバイスにおいても終端する。スイッチは、ネットワークリンクおよび他のネットワークデバイスに対応する多くのポートを通して、ネットワークとインターフェースをとる。スイッチが、ポート上でパケットを受信すると、スイッチは、次いで、パケットを別のポートにルーティングし、別のリンクに沿って、伝送を継続する。最終的に、パケットは、エラーが生じない場合、受信／宛先デバイスに到達するであろう。スイッチは、ソースアドレス、宛先アドレス、またはパケットヘッダ内の他のアドレスに基づいて、パケットをルーティングする。ソースアドレスは、パケットを送信する電子デバイスのアドレスであって、宛先アドレスは、パケットを受信する電子デバイスである。
【０００４】
一実施例では、スイッチは、１００ポートに接続されてもよい。経時的に、スイッチは、アドレステーブル内の情報をコンパイルし、パケットの宛先アドレスに基づいて、パケットをルーティングするための最良ポートを格納するであろう。例えば、スイッチが、１０００の宛先アドレスを伴うパケットに２４のポート値を割り当てると仮定する。本割当（マッピングと称される）は、アドレステーブル内に設定される。その後、１０００のアドレスが、スイッチによって受信されると、スイッチは、アドレステーブルを検索し、２４のポート値がアドレス１０００に割り当てられていることを見つけるであろう。スイッチは、パケットが宛先デバイスに向かって進行するように、パケットをポート２４にルーティングするであろう。
【０００５】
時として、スイッチは、アドレステーブル内に存在しないアドレスを伴うパケットを受信する。この場合、スイッチは、パケットをルーティングすべき場所を判定することが不可能である。アドレステーブル内に存在しないアドレスのポートを判定するために、スイッチは、複数のポートにパケットをフラッディングしてもよい。スイッチは、スイッチがパケットの宛先が常駐する場所を把握するまで、複数のポートにパケットをフラッディングするであろう。
【０００６】
ポートに冗長メッセージをフラッディングすることは、スイッチのスループットに影響を及ぼす。複数のポートに対して、冗長メッセージを繰り返し処理させることは、受信したパケットの処理を中断させる。アドレスを見つける確率を向上させ、ポートのフラッディングを回避するために、比較的に大規模なアドレステーブルが、シリコンチップ内に設計される。例えば、チップは、４つの３２Ｋアドレステーブルを含有し、各アドレステーブルは、３２Ｋアドレスを格納してもよい。複数のアドレステーブルを提供することは、同一転送テーブルの複数のコピーを必要とし得る高転送速度を充足させる。
【０００７】
ギガビット受動光ネットワーキング（ＧＰＯＮ）規格等の新しい規格は、スイッチポート数の増加を必要とし、したがって、アドレステーブルのサイズの増加を必要とする。増加は、スイッチがＧＰＯＮ規格を充足させるための適切なデータスループットを提供するために必要とされる。しかしながら、３２Ｋエントリを上回るアドレステーブルサイズの増加は、シリコンチップの製造費に影響を及ぼす。メモリにアクセスするためのより優れた方法が所望され得る。
【発明の概要】
【０００８】
例示的実施形態は、２つ以上のアドレステーブルを伴って実装される、集積チップを含む。２つ以上のアドレステーブルは、アドレスを格納するための別個のメモリテーブルを伴って実装される。２つ以上のアドレステーブルは、第１のアドレステーブルと、第２のアドレステーブルとから成る。接続ラインは、第１のアドレステーブルと第２のアドレステーブルとを接続し、カスケード型アドレステーブルを生成する。検索論理は、あるアドレスに対して、第１のアドレステーブルの検索を起動する。アドレスが見つからない場合、検索論理は、接続ラインを通して、第２のアドレステーブルの検索を起動する。
【０００９】
別の実施形態は、メモリブロックから成る、半導体チップを含む。メモリブロックは、ネットワークパラメータを別々に格納する、複数のテーブルから成る。複数のテーブルは、少なくとも１つの接続ラインを介して、直列に接続され、カスケード型パラメータテーブルを形成する。半導体チップは、検索論理をさらに備える。検索論理は、ネットワークパラメータを受信し、複数のテーブルを連続的に順番に検索し、整合パラメータを見つける。
【００１０】
別の実施形態は、方法を含む。方法は、ネットワークパケットをデコードし、宛先アドレスを判定する。第１のアドレステーブルは、宛先アドレスと整合するアドレスに対して検索される。整合アドレスが見つからない場合、第１のアドレステーブルと直列に接続されている第２のアドレステーブル内の検索を起動するための信号が発生される。直列に接続された第２のアドレステーブルは、宛先アドレスと整合するアドレスに対して検索される。宛先アドレスが見つかった場合、ネットワークパケットは、宛先アドレスに対応する宛先ポートに伝送される。
【図面の簡単な説明】
【００１１】
本明細書に組み込まれ、その一部を成す付随の図面は、本発明の種々の態様の種々の例示的システム、方法、および他の例示的実施形態を例証する。図中に例証される要素の境界（例えば、ボックス、ボックス群、または他の形状）は、境界の一実施例を表すことを理解されるであろう。当業者は、いくつかの実施例では、一要素が、複数の要素として設計されてもよく、または複数の要素が、一要素として設計されてもよいことを理解するであろう。いくつかの実施例では、別の要素の内部構成要素として示される要素は、外部構成要素として実装されてもよく、またその逆も然りである。さらに、要素は、原寸に比例して描写されていない場合がある。
【００１２】
【図１】検索のためのカスケード型メモリテーブルと関連付けられたルーティングコントローラの実施形態を例証する。
【００１３】
【図２】検索のためのカスケード型メモリテーブルと関連付けられたネットワークスイッチの実施形態を例証する。
【００１４】
【図３】検索のためのカスケード型メモリテーブルと関連付けられた装置の実施形態を例証する。
【００１５】
【図４】検索のためのカスケード型メモリテーブルと関連付けられた装置の別の実施形態を例証する。
【００１６】
【図５】検索のためのカスケード型メモリテーブルと関連付けられた装置の別の実施形態を例証する。
【００１７】
【図６】検索のためのカスケード型メモリテーブルと関連付けられた方法の一実施形態を例証する。
【００１８】
【図７】検索のためのカスケード型メモリテーブルと関連付けられた方法の別の実施形態を例証する。
【００１９】
【図８】カスケード型メモリテーブルと関連付けられた例示的システムおよび方法、ならびに均等物が動作し得る、コンピューティング環境の実施形態を例証する。
【発明を実施するための形態】
【００２０】
本明細書では、カスケード型メモリテーブルと関連付けられた例示的システム、方法、および他の実施形態について説明する。カスケード型メモリテーブルを形成するメモリテーブルは、概して、相互に独立して動作し、別々に検索されるように構成される。しかしながら、メモリテーブル内にアドレスが見つからない時、カスケード型構成は、検索を次のメモリテーブルに転送させる。例えば、一構成では、テーブルは、転送情報に対して検索されてもよく、別の構成では、メモリテーブルは、データ値、フィルタリング情報、またはポリシング情報に基づいて、検索されてもよい。当業者は、テーブルが、他の情報に対して検索されてもよいことを理解するであろう。
【００２１】
一実施形態では、装置は、異なるポート群にサービシングするメモリアドレステーブルを伴って実装される。アドレステーブルは、アドレスを格納する別個のメモリテーブルとして実装される。電気接続ラインは、アドレステーブルを接続し、カスケード型アドレステーブル構成を形成する。一実施形態では、カスケード型アドレステーブル構成は、単一同質データベースと、カスケード型アドレステーブル検索を実行する能力とを提供するが、アドレステーブルは、別々に動作する。装置は、アドレステーブルのカスケード型検索および／または並行検索を起動するように構成される、検索論理を備える。
【００２２】
一実施形態では、装置がアドレスを受信すると、装置は、アドレステーブルのうちの１つ内のアドレスを検索する。アドレスが見つからない場合、検索は、電気接続ラインを介して接続された次のアドレステーブルにカスケーディングされる。次のアドレステーブルが、次いで、検索される。アドレステーブルを検索し、アドレスが見つからない時、検索をカスケーディングするプロセスは、アドレスが見つかるまで、または検索が終了するまで繰り返される。２つ以上のテーブルを検索する能力を提供することは、アドレスが見つけられる確率を増加させ、検索される第１のテーブル内でアドレスが見つからない時、要求メッセージがネットワークにフラッディングされる機会を減少させる。
【００２３】
一実施形態では、装置は、高データ速度アップリンクと低データ速度ラインカードとの間のインターフェースとして機能するように構成される、回路を備える。ラインカードは、電子デバイスとネットワークとの間にインターフェースを提供するデバイスである。装置は、少なくとも部分的に、アドレスルーティングテーブルに基づいて、アップリンクとラインカードとの間でパケットをルーティングする機能を果たす。
【００２４】
以下は、本明細書で採用される選択された用語の定義を含む。定義は、用語の範囲内にあって、実装のために使用され得る、構成要素の種々の実施例および／または形態を含む。実施例は、制限を意図するものではない。用語の単数形および複数形の両方とも、定義内であり得る。
【００２５】
「一実施形態」、「ある実施形態」、「一実施例」、「ある実施例」等の参照は、そのように記述される実施形態または実施例が、特定の機能、構造、特徴、特性、要素、または制限を含み得るが、あらゆる実施形態または実施例が、特定の機能、構造、特徴、特性、要素、または制限を必ずしも含むわけではないことを示す。さらに、語句「一実施形態では」の反復使用は、必ずしも同一実施形態を指すものではないが、同一実施形態を指す場合もある。
【００２６】
「コンピュータ可読媒体」は、本明細書で使用される場合、信号、命令、および／またはデータを格納する媒体を指す。コンピュータ可読媒体は、不揮発性媒体および／または揮発性媒体を含むが、それらに限定されない、形態をとってもよい。不揮発性媒体は、例えば、光ディスク、磁気ディスク等を含んでもよい。揮発性媒体は、例えば、半導体メモリ、動的メモリ等を含んでもよい。コンピュータ可読媒体の一般的形態は、フロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、磁気テープ、他の磁気媒体、特定用途向け集積回路（ＡＳＩＣ）、プログラム可能論理デバイス、コンパクトディスク（ＣＤ）、他の光媒体、ランダムアクセスメモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、メモリチップまたはカード、メモリスティック、およびコンピュータ、プロセッサ、あるいは他の電子デバイスが読取可能な他の媒体を含んでもよいが、それらに限定されない。
【００２７】
「論理」は、本明細書で使用される場合、機能あるいは作用を実行するために、および／または別の論理、方法、および／またはシステムから機能あるいは作用を生じさせるために、機械に格納される、あるいはそこで実行される、ハードウェア、ファームウェア、ソフトウェア、および／またはそれぞれの組み合わせを含むが、それらに限定されない。論理は、ソフトウェア制御マイクロプロセッサ、個別論理（例えば、ＡＳＩＣ）、アナログ回路、デジタル回路、プログラム式論理デバイス、命令を含有するメモリデバイス等を含んでもよい。論理は、１つ以上のゲート、ゲートの組み合わせ、または他の回路構成要素を含んでもよい。複数の論理的論理について説明される場合、複数の論理的論理を１つの物理的論理に組み込むことが可能であってもよい。同様に、単一の論理的論理について説明される場合、その単一の論理的論理を複数の物理的論理間に分散させることが可能であってもよい。
【００２８】
「メモリアクセス」は、本明細書で使用される場合、メモリセルあるいはメモリロケーション群の書込、読取、整合、および／またはプログラミングを含むが、それらに限定されない。メモリアクセスは、２つの読取ポートを使用する、同一メモリに対する二重読取を含んでもよい。メモリアクセスは、当業者によって理解されるように、メモリとの他の種類の交信を含むことも可能である。
【００２９】
図１は、ルーティング情報に対して、メモリテーブルを検索するように構成される、ルーティングコントローラ１００の一実施形態を例証する。ルーティングコントローラ１００は、別個のメモリブロック（例えば、メモリテーブル１〜Ｇ）を伴って実装される、２つ以上のメモリテーブルを備える。メモリテーブル１〜Ｇは、アドレスを格納する。電気接続ライン１１５Ａ〜Ｇは、メモリテーブルを接続し、カスケード型アドレステーブル構成を生成する。メモリテーブルは、１つのメモリテーブルが、１つの下流テーブルと、１つの上流テーブルとに直列に接続されるように、接続される。直列に接続されたメモリテーブル１−Ｇは、メモリテーブルのカスケード型チェーンを形成する。一実施形態では、チェーンは、閉鎖型であってもよい。別の実施形態では、チェーンは、チェーンの頂点において入力する検索情報による開放型であってもよい。このように、個々のメモリテーブル１〜Ｇは、直列リンク全体に検索を転送するように構成される、アドレスデータベースとして機能する。ある点では、構成は、単一同質データベースとしてみなされ得る。
【００３０】
一実施形態では、メモリテーブル１〜Ｇは、独立ネットワークパケット転送テーブルである。しかしながら、個々のメモリテーブル１〜Ｇのカスケーディングは、直列リンク１１５Ａ〜Ｇを通して接続される１つ以上の他のメモリテーブル１−Ｇを経由して、ネットワークパケットを転送する能力を提供する。カスケード型メモリテーブルを通したネットワークパケットの転送によって、単一メモリテーブルは、メモリテーブルがサイズ拡張されたかのように動作可能となるが（例えば、カスケード型テーブルと同程度の規模）、依然として同質である。最終メモリテーブルに対する検索要求は、最終メモリテーブルが検索される最終メモリテーブルであることを示す情報を含んでもよい。本情報によって、最終メモリテーブルは、前の検索テーブルによって実行されなかった他の特有タスクを実行することが可能となる。
【００３１】
一実施形態では、メモリテーブル１〜Ｇは、アドレスおよびルーティング情報を格納するように構成される。ルーティング情報は、ルーティングコントローラ１００によって使用され、アップリンクライン１０５Ａ〜Ｇとダウンリンクライン１１０Ａ〜Ｎとの間でデータをルーティングする。ネットワークトラフィック／パケットは、アップリンクライン１０５Ａ〜Ｇのうちの１つから、ダウンリンクライン１１０Ａ〜Ｎのうちの１つへと、またはその逆にルーティングされてもよい。
【００３２】
一実施形態では、ルーティングコントローラ１００は、検索論理１２０を含む。検索論理１２０は、メモリテーブル１〜Ｇ内の検索を制御する。パケットが受信されると、検索論理１２０は、パケットのアドレスに対して、対応するメモリテーブル内の検索を起動する。検索されるメモリテーブル内にアドレスが見つからない場合、検索論理１２０は、関連付けられた電気接続ライン１１５Ａ〜Ｇを通して、直列に接続されたメモリテーブル内のアドレスに対して、検索を起動するように構成される。別の実施形態では、１つのメモリは、１つの検索コントローラと関連付けられ、結合される。１つのメモリの検索コントローラは、別のメモリの前または後の検索を把握していない場合がある。したがって、１つのメモリに結合される検索コントローラは、メモリの最終検索と関連付けられたメモリの検索を考慮する。
【００３３】
一実施形態では、アドレステーブル１およびアドレステーブル２は、カスケード型アドレステーブルを生成するように、事前構成される、または構成可能である。カスケード型アドレステーブルは、ルーティングコントローラ１００によって、電気接続ライン１１５Ａをスイッティングし、アドレステーブル１およびアドレステーブル２をともにカスケーディングすることによって、構成されてもよい。代替として、マルチプレクサ制御信号は、テーブルと電気接続ライン１１５Ａ〜Ｇとの間に接続を動的に生成し、個々のメモリブロックからカスケード型アドレステーブルを形成するように選択され得る。
【００３４】
一実施形態では、メモリテーブル１〜Ｇは、別個のメモリブロックを伴って実装される。別の実施形態では、メモリテーブル１〜Ｇは、メモリセルを伴って実装される、メモリアレイであってもよい。メモリテーブル１〜Ｇは、媒体アクセス制御（ＭＡＣ）アドレス等、１つの種類のアドレスを格納するように構成される。後述のように、パケットは、少なくとも部分的に、パケットのＭＡＣアドレスに基づく宛先にルーティングされてもよい。別の実施形態では、パケットは、情報の小包（例えば、記述子）を含み、パケットを受信するデバイスに情報の小包に応答させてもよい。
【００３５】
別の実施形態では、メモリテーブル１〜Ｇは、２つ以上の種類のアドレスを格納するように構成される。例えば、メモリテーブル１〜Ｇは、ＭＡＣアドレスおよびインターネットプロトコル（ＩＰ）アドレスを格納可能である。パケットが、ＭＡＣアドレスである宛先アドレスを含有する場合、パケットは、少なくとも部分的に、ＭＡＣアドレスに基づいて、ルーティングされる。パケットが、ＩＰアドレスである宛先アドレスを含有する場合、パケットは、少なくとも部分的に、ＩＰアドレスに基づいて、ルーティングされる。他の実施形態では、メモリテーブル１〜Ｇは、レイヤ２アドレス、レイヤ３アドレス、および／またはこれらあるいは他のアドレスの一部を格納するように構成されてもよい。
【００３６】
メモリテーブル１〜Ｇは、相互に独立して動作するように構成される。例えば、検索論理１２０は、メモリテーブル１内の１つのアドレスの検索と、メモリテーブル２等の異なるメモリテーブル２〜Ｇ内の異なるアドレスの検索とを起動してもよい。メモリテーブル１および２は、互いに独立して、並行して検索される。しかしながら、メモリテーブル１のアドレスの検索が、アドレスを見つけられない時、検索は、電気接続ライン１１５Ａを介して、メモリテーブル２にカスケーディングされる。検索は、メモリテーブル２内の検索論理１２０によって、再起動される。
【００３７】
一実施形態では、電気接続ライン１１５Ａ〜Ｇは、円形のリング型トポロジとして、メモリテーブル１〜Ｇを電気的に接続する。ルーティングコントローラ１００内の検索論理１２０は、選択されたメモリテーブルにおいて、アドレスの検索を開始するように構成される。アドレスが見つからない場合、検索論理１２０は、対応する電気接続ライン１１５Ａ〜Ｇを介して、円形のリング型トポロジ内の隣接して接続されたメモリテーブル１〜Ｇに対して検索を継続する。
【００３８】
一実施形態では、ルーティングコントローラ１００は、アップリンクライン１０５Ａ〜Ｇとダウンリンクライン１１０Ａ〜Ｎに接続されたラインカードとの間のインターフェースである集積回路である。一実施形態では、アップリンクライン１０５Ａ〜Ｇ上のデータ速度は、ラインカード上のデータ速度を上回る。ルーティングコントローラ１００は、少なくとも部分的に、検索論理１２０によって見つけられたアドレスと関連付けられた宛先アドレスに基づいて、アップリンクライン１０５Ａ〜Ｇとラインカードとの間でデータをルーティングするように構成される。
【００３９】
一実施形態では、メモリテーブル１は、ダウンリンクライン１１０Ａ〜Ｎに接続された第１のラインカード群のパケットと関連付けられ、これをルーティングする。メモリテーブル２は、異なるダウンリンクライン１１０Ａ−Ｎに接続された第２のラインカード群のパケットと関連付けられ、ルーティングされる。パケットが、アップリンクライン１０５Ａ−Ｇから受信されると、検索論理１２０は、宛先アドレスをパケットから判定する。検索論理１２０は、次いで、少なくとも部分的に、宛先アドレスに基づいて、検索を起動する。ネットワークパケットは、少なくとも部分的に、メモリテーブルから見つけられたルーティング結果に基づいて、第１のラインカード群のうちの１つまたは第２のラインカード群のうちの１つにルーティングされる。
【００４０】
一実施形態では、ルーティングコントローラ１００は、ネットワークスイッチ内で動作する、集積チップである。チップは、シリコンまたは他の材料から製造されてもよい。別の実施形態では、チップは、ネットワークスイッチ内のプリント回路基板上に組み込まれる。ネットワークスイッチは、ネットワーク接続にネットワークを提供する。ルーティングコントローラ１００は、同質的に連動して動作する、２つ以上のチップを伴って実装されてもよい。２つ以上のチップは、検索されるアドレステーブルを２つ以上のチップ間に分散させてもよい。また、ルーティングコントローラ１００は、チップ（ＳｏＣ）上のシステムの一部であってもよい。
【００４１】
別の実施形態では、ネットワークスイッチは、メモリテーブル１〜Ｇのうちのいずれにもアドレスが見つからない時、アドレス要求メッセージをネットワークに接続された他のデバイスにフラッディングするように構成される。これは、スイッチが、対応するパケットをルーティングする手段を把握していないことを意味する。アドレス要求メッセージは、ルーティングコントローラ１００が、アドレスのルーティング情報を問い合わせるネットワークスイッチのポートまたはポートのサブセットに送信する、メッセージである。また、アドレス要求メッセージは、ネットワークスイッチに接続された他のデバイスにも送信可能である。最終的に、デバイスは、アドレス要求メッセージのうちの１つを受信し、ネットワークパケットのルーティング情報を返信するであろう。ネットワークコントローラ１００は、次いで、ルーティング情報をメモリテーブル１〜Ｇのうちの１つ内に格納するであろう。上述のように、カスケード型メモリテーブル構成を使用して、メッセージフラッディングの頻度を減少させる。
【００４２】
図２は、図１のルーティングコントローラ１００を伴って実装される、ネットワーキングスイッチ２００の一実施形態を例証する。ネットワークスイッチ２００は、ネットワークのアップリンク１〜Ｇとラインカード１〜Ｎとの間のインターフェースである。ルーティングコントローラ１００は、ネットワークパケットがルーティングされるべきアップリンクポート１〜Ｇまたはラインカードポート１〜Ｎを識別することによって、ネットワークスイッチのネットワークパケットのルーティングを補助する。一実施形態では、アップリンク１〜Ｇは、ラインカード１〜Ｎより高いデータ速度で動作する。他の実施形態では、データ速度は、同一とすることができる。ラインカード１〜Ｎは、電子デバイスとネットワーキングスイッチ２００との間にインターフェースを提供する。アップリンク１〜Ｇは、アップリンクポート１〜Ｇにおいて、ネットワーキングスイッチ２００に接続される。ラインカードは、ラインカードポート１−Ｎにおいて、ネットワーキングスイッチ２００に接続される。
【００４３】
ネットワーキングスイッチ２００が、アップリンクポート１−Ｇにおいて、ネットワークパケットを受信すると、ルーティングコントローラ１００は、ネットワークパケットを受信ポートが関連付けられるラインカードポート１〜Ｎのうちの１つにルーティングする。ルーティングは、上述のように、メモリテーブル１〜Ｇからのデータを使用して、アドレスを検索およびマッピングすることによって、実行される。ネットワークパケットは、後述のように、部分的に、ネットワークパケットのヘッダ内の情報に基づいて、ルーティングされる。代替として、ネットワーキングスイッチ２００は、ラインカードポート１−Ｎにおいて、ネットワークパケットを受信してもよく、ルーティングコントローラ１００は、ネットワークパケットをアップリンクポート１〜Ｇのうちの１つにルーティングする。
【００４４】
図３は、カスケード型メモリテーブル１〜Ｇにより構成され、メモリテーブル１〜Ｇをカスケーディング式に検索する、装置３００の一実施形態を例証する。装置３００は、図１のルーティングコントローラ１００と同様に動作可能である。一実施形態では、装置３００は、ネットワークスイッチ３０５内に実装され、パケットを宛先にルーティングするように動作する。メモリテーブル１〜Ｇは、ネットワークパケットをルーティングするためのルーティングデータを格納する。装置３００は、後述のように、格納されたデータを使用して、ネットワークパケットのルーティング方法、ネットワークパケットのフィルタリング方法、および／またはネットワークパケットのポリシング方法を判定するように構成される。
【００４５】
ネットワークパケットが受信されると、ネットワークスイッチ３０５は、宛先アドレスをネットワークパケットから識別し、アドレスを装置３００に転送する。装置３００内の検索論理３１０は、メモリテーブル１〜Ｇ内のアドレスに対応するルーティング情報を検索するように構成される。一実施形態では、メモリテーブル１〜Ｇは、別個のメモリブロックにより実装される、アドレステーブルである。メモリテーブル１〜Ｇは、アドレスを格納するメモリセルを伴って実装される、メモリアレイであってもよい。他の実施形態では、メモリテーブル１〜Ｇは、アドレス、アドレスの一部、パケットのコンテンツに関連するイベント情報、および／またはネットワークパケットと関連付けられた他の情報を格納するように構成される。
【００４６】
アップリンクポート１〜Ｇは、メモリテーブル１〜Ｇに接続される。１つのアップリンクポート１〜Ｇは、図３に示されるように、メモリテーブル１〜Ｇのうちの１つに接続されてもよい。他の実施形態では、１つのアップリンクポート１〜Ｇは、２つ以上のメモリテーブル１〜Ｇに接続され、メモリテーブルは、１つ以下のアップリンクポート１〜Ｇに接続される。
【００４７】
一実施形態では、装置３００に接続される異なるポートは、異なるメモリテーブル１〜Ｇと関連付けられる。ポートは、少なくとも部分的に、ポートがメモリテーブル１〜Ｇに接続される方法に基づいて、メモリテーブル１〜Ｇと関連付けられる。検索論理３１０は、ネットワークパケットが受信されると、ポートと関連付けられたメモリテーブルの検索を起動するであろう。例えばネットワークパケットが、アップリンクポート１で受信される場合、検索論理３１０は、ネットワークパケットをルーティングする方法に関する情報に対して、メモリテーブル１の検索を起動するであろう。メモリテーブル１は、ルーティング要求をアップリンクポート１にサービシングするように接続されるため、メモリテーブル１が、検索に対して選択される。別の実施形態では、最初に検索されるメモリテーブルは、ハッシュ機能を使用して判定可能である。ハッシュ機能は、少なくとも部分的に、対応するパケットを受信するポート番号に基づいて、最初に検索されるメモリテーブル１〜Ｇを判定する。
【００４８】
別の実施例では、アップリンクポート１が、メモリテーブル１および２の両方に接続される場合、検索論理３１０は、アップリンクポートが接続される最左メモリテーブルの検索を起動するであろう。アップリンクポート１は、メモリテーブル１および２に接続されるため、アップリンクポート１は、メモリテーブル１および２と関連付けられる。アップリンクポートが、２つ以上のメモリテーブル１〜Ｇと関連付けられる場合、メモリ論理３１０は、他の好適なアルゴリズムまたはハッシュ機能を使用して、検索を開始すべき場所を判定してもよい。
【００４９】
例示的動作では、ネットワークスイッチ３０５は、複数のアップリンクポート１〜Ｇまたはラインカードポート１〜Ｎにおいて、複数のパケットを並行して受信するように構成される。検索論理３１０は、２つ以上のメモリテーブル１〜Ｇの検索を並行して起動するように構成される。並行検索は、異なるメモリテーブル１〜Ｇ内の異なるアドレスを検索する。メモリテーブル１〜Ｇは、相互に独立して、並行して検索される。一実施形態では、メモリテーブル１〜Ｇは、１つのクロックサイクルにおいて、１つのテーブルの内の検索を完了するように構成される。
【００５０】
一実施形態では、検索が、初期検索されたアドレステーブル１〜Ｇ内でアドレスを見つけられない時、検索論理３１０は、近傍（直列に接続された）メモリテーブルを検索する。装置３００は、上述のように、メモリテーブル１〜Ｇを接続し、カスケード型メモリテーブルを生成する、電気接続ライン３１５により構成される。検索論理３１０は、初期検索がアドレスを見つけられない時、電気接続ラインを通して、近傍メモリテーブルに対して、カスケード型検索を起動するように構成される。検索論理３１０は、近傍メモリテーブルを効果的に中断し、カスケード型検索を実行する。したがって、近傍メモリテーブルは、その割り当てられたポートに対するアドレス検索の処理を遅延させ、割り当てられていないポートの検索を実行する。近傍メモリテーブル内にアドレスが見つからない場合、検索論理３１０は、次の接続されたメモリテーブルに対して、連続的検索を継続する、等々となるであろう。制御論理３１０は、アドレスが見つかるまで、またはメモリテーブル１−Ｇが検索されている間、検索を継続するように構成される。
【００５１】
メモリテーブル１〜Ｇのうちの１つの中でアドレスが見つかる／整合されると、テーブル内のメモリロケーションに格納されるルーティング情報が、読み出される。一実施形態では、ルーティング情報は、ネットワークパケットが装置３００によってルーティングされるポートを示す。ルーティング情報は、宛先アドレスであってもよく、装置３００は、少なくとも部分的に、宛先アドレスに基づいて、データをルーティングする。
【００５２】
装置３００は、所定のルーティング情報を収集し、メモリテーブル１〜Ｇ内に格納することが可能である。また、装置３００は、好適なルーティングテーブルアルゴリズムを使用して、ルーティング情報を判定可能である。当業者は、ネットワークスイッチ３０５が、ネットワークアドレスに関するルーティング情報を種々の方法で取得し、本情報を装置３００に提供してもよいことを理解するであろう。ルーティング情報は、パケットがルーティングのために処理される時、後で読み出されるように、メモリテーブル１〜Ｇ内に格納される。別の実施形態では、ネットワークスイッチ３０５は、ネットワークトラフィックを監視し、部分的に、収集された新しいルーティングデータに基づいて、メモリテーブル１〜Ｇ内のルーティング情報を定期的に更新する。
【００５３】
図３を継続して参照すると、ネットワークスイッチ３０５のラインカードポート１〜Ｎは、選択された割当内のメモリテーブル１〜Ｇに動作可能に接続される。例えば、ラインカードポート１および２は、メモリテーブル１に接続され、ラインカードポート３および４は、メモリテーブル３に接続され、ラインカードポートＮ−１およびＮは、メモリテーブルＧに接続される。２つのラインカードポートが、単一メモリテーブルと関連付けられて示されるが、異なる数の割当も、実装可能である。
【００５４】
ラインカードポート１−Ｎは、ラインカードに対するインターフェースである。ラインカードは、スイッチを伴う電子デバイスアクセスライン、ルータ、および／または他のネットワークデバイスとのインターフェースをとるためのデバイスである。デジタルおよびアナログラインカードは、種々の速度で動作する。ラインカードは、電気ケーブルまたは光ファイバに接続されてもよい。データネットワークためのデジタルラインカードは、パケットを転送し、ピング応答を提供し、パケットフラグメンテーション機能をもたらす。また、ラインカードは、データのキューイング、輻輳制御、専用アクセスレート（ＣＡＲ）機能、および／またはデータフローの統計を実行する。
【００５５】
別の実施形態では、メモリテーブル１〜Ｇは、ネットワークパラメータを格納するように別々に構成される。例えば、ネットワークパラメータは、フィルタパラメータであってもよい。装置３００は、少なくとも部分的に、フィルタパラメータに基づいて、ネットワークパケットをフィルタリングするように構成される。一実施例では、装置３００は、ネットワークパケットをフィルタリングし、ネットワークへの不正アクセスを防止するであろう。フィルタリングによって、メモリテーブル１−Ｇのうちの１つとして現れるＩＰアドレスを伴う認定ユーザまたはパケットは、ネットワークパケットを装置３００によって転送させることが可能となる。不正ネットワークパケットは、ドロップされる。ネットワークパケットは、少なくとも部分的に、ＩＰアドレスの一部に基づいて、フィルタリング可能である。
【００５６】
別の実施形態では、装置３００は、ネットワークパケットをポリシングするように構成される。ネットワークパケットは、ネットワークパケットを定格制限することによって、ポリシングされる。例えば、制御論理３１０は、上述のように、ネットワークパケットのアドレスに対して、メモリテーブル１〜Ｇを検索する。アドレスが見つかると、アドレスと関連付けられた定格制限フィールドは、最大データ伝送速度を示す。装置３００は、次いで、ネットワークパケットをポートにルーティングするように構成され、そのポートと関連付けられた論理は、最大データ伝送速度を下回って、ネットワークパケットを伝送するであろう。
【００５７】
別の実施形態では、装置３００は、カスケードビットを格納する検索レジスタを実装する。カスケードビットが設定される時、検索論理３１０は、整合ネットワークパラメータが見つかるまで、検索を次の接続されたメモリテーブルに転送することが許容される。カスケードビットが設定されない時、カスケーディング検索は、有効ではない。一実施形態では、カスケードビットは、プログラム可能なファームウェアである。
【００５８】
図４は、媒体アクセス制御（ＭＡＣ）アドレステーブル（例えばテーブル１〜４）を伴って構成される、装置４００の一実施形態を例証する。ＭＡＣテーブルは、上述のメモリテーブルのように、カスケーディング式に動作および検索される（図１参照）。装置４００は、図１のルーティングコントローラ１００および／または図３の装置３００と同様に動作する。一実施形態では、装置４００は、ネットワーク接続（例えば、アップリンク４０５Ａ〜Ｂおよびラインカード１〜８）間にインターフェースを提供するネットワーキングスイッチ内に実装可能である。ネットワークアップリンク４０５Ａ〜Ｂおよびラインカード１〜８は、示されるように、装置４００に電気的に接続される。図４に示されるものとは異なる数のネットワークアップリンク４０５Ａ〜Ｂおよびラインカード１〜８が、ＭＡＣアドレステーブル１〜４に電気的に接続されてもよい。例えば、４つのラインカードは、ＭＡＣアドレステーブル１〜４のうちの１つに接続されてもよく、１つのアップリンク４０５Ａ〜Ｂは、ＭＡＣアドレステーブル１〜４のうちの１つに接続されてもよい。
【００５９】
装置４００が、ネットワークパケットを受信すると、装置４００は、ネットワークパケットのＭＡＣアドレスである宛先アドレスを判定するであろう。装置４００は、図３の検索論理３１０が検索を起動する方法と同様に、ＭＡＣアドレステーブル１〜４のうちの１つ内のＭＡＣアドレスの検索を起動するであろう。ＭＡＣアドレスが見つからない場合、ＭＡＣアドレステーブル１〜４内に実装される検索論理（図５を参照して後述）は、上述のように、電気接続ライン４１０Ａ〜Ｄを通して、隣接するＭＡＣアドレステーブルの検索を起動するであろう。接続ライン４１０Ａ〜Ｄは、ＭＡＣアドレステーブル１〜４を直列に接続する。一実施形態では、電気接続ライン４１０Ａ〜Ｄは、リング型トポロジとして、ＭＡＣアドレステーブル１〜４を電気的に接続する。ＭＡＣアドレスが見つかると、ネットワークパケットは、少なくとも部分的に、ＭＡＣアドレスが見つかったＭＡＣアドレステーブル１〜４から読み出される対応するルーティングデータに基づいて、ルーティングされる。
【００６０】
図５は、分散検索論理により実装される、メモリテーブル（例えばテーブル７および８）の一実施形態を例証する。テーブル７〜８は、複数のメモリテーブル（例えば、図１のメモリテーブル１〜Ｇ）から成る、ルーティングシステムの２つのテーブルを表す。分散検索論理は、検索論理５０５、５１５およびミスロジック５１０、５２０を伴って実装される。２つのテーブル７〜８は、ルーティングネットワークパケットと関連付けられたアドレスおよび／または他の情報を格納する、メモリアレイを含む。メモリアレイは、少なくとも部分的に、アドレスに基づいて、検索可能なコンテントアドレッサブルメモリ（ＣＡＭ）であってもよい。メモリテーブルが検索され、整合エントリが見つからない場合、ミスロジック５１０、５２０は、整合性が見つからなかったことを示す、信号または値を発生させる。
【００６１】
動作中、テーブル７の検索論理５０５は、ラインカード１３、ラインカード１４、またはアップリンクポート５２５から検索される、アドレスを受信する。検索論理５０５は、次いで、アドレスに対して、メモリアレイ７の検索を起動するであろう。並行して、検索論理５１５は、ラインカード１５、ラインカード１６、またはアップリンクポート５２５から、検索要求を受信してもよい。検索論理５１５は、メモリアレイ８の検索を起動するように構成される。テーブル７では、検索論理５０５が、メモリアレイ７内でアドレスを見つけられない場合、ミスロジック５１０は、不整合信号を発生し、検索は、テーブル８にカスケーディングされる。不整合信号は、接続ラインを介して、テーブル８の検索論理５１５に入力される。一実施形態では、不整合信号は、ラインカード１５またはラインカード１６から受信したアドレスのさらなる検索を遅延あるいは防止する、インタラプトとして作用する。検索論理５１５は、次いで、テーブル７からのアドレスに対して、メモリアレイ８内で検索を起動する。アドレスが見つからない場合、テーブル８のミスロジック５２０は、次の直列に接続されたテーブルに信号を発し、直列に接続されたテーブル内で検索を継続する。本プロセスは、アドレスが見つかるまで、または直列に接続されたテーブルのいずれにもアドレスが見つけられない状態になるまで、繰り返されるであろう。
【００６２】
図６は、メモリセルをカスケーディング式に検索することと関連付けられた方法６００の実施形態を例証する。方法は、図１に示されるものに類似するメモリテーブル構造を使用して説明されるであろう。方法６００は、ルーティング情報を見つけるために、アドレステーブルのカスケード型検索を提供することによって、ネットワークデータのルーティングを改善する。ネットワーキング機器は、次いで、少なくとも部分的に、ルーティング情報に基づいて、パケットをルーティング可能である。
【００６３】
方法６００は、ネットワークパケットが受信されると、起動される（６０５）。パケットは、次いで、デコードされる（６１０）。ネットワークパケットがデコードされ、パケットがルーティングされる宛先アドレスを判定する。初期アドレステーブルは、６１５において、宛先アドレスと整合するアドレスに対して検索される。初期アドレステーブルは、コンテントアドレッサブルメモリ（ＣＡＭ）または宛先アドレスに対して検索されるために好適な別のメモリであってもよい。
【００６４】
６２０において、整合アドレスが見つかるかどうかを判定するための判定が行なわれる。初期テーブル内に整合アドレスが見つかる場合、格納されたルーティング情報が読み取られ、パケットは、それに従って、ルーティングされる。方法６００は、パケットがルーティングされた後、終了する。初期テーブル内に整合アドレスが見つからない場合、次のアドレステーブル内で検索を起動するための信号が、６２５において、発生される。次のアドレステーブルは、初期アドレステーブルに直列に接続される１つである。直列に接続されたアドレステーブルは、６３０において、宛先アドレスと整合するアドレスに対して、検索される。
【００６５】
このように、方法６００は、複数のアドレステーブルが単一同質データベースであるかのように、複数のアドレステーブルの検索が実行されるように、直列アドレステーブル接続全体に検索を転送可能である。
【００６６】
次のアドレステーブル内に宛先アドレスが見つかる場合、ネットワークパケットは、６３５において、宛先アドレスに対応する宛先ポートにダイレクトされる。宛先ポートは、少なくとも部分的に、上述のように、宛先アドレスが見つかったアドレステーブルエントリに格納されるルーティング情報を読み出すことによって、判定される。次のテーブル内に宛先アドレスが見つからない場合、方法６００は、アドレスが見つかるまで、またはテーブルが検索されるまで、別の次のアドレステーブルの検索を継続するであろう。一実施形態では、アドレスが、テーブルが検索された後、テーブルに内に見つかっていない場合、ネットワークパケットを正常に転送するための試みとして、フラッディングメッセージが、複数の宛先ポートに送信されてもよい。
【００６７】
別の実施形態では、状態機械が、対応するアドレステーブルの検索を制御してもよい。検索は、複数のアドレステーブルのうちのいずれか１つにおいて開始されてもよく、開始および終了アドレステーブルは、未知であり得る。したがって、特定のアドレステーブルと関連付けられた状態機械は、そのアドレステーブルの検索が、直列に接続されたアドレステーブルの最終検索であるかどうか確認するであろう。最終アドレステーブルの最終状態機械は、最終検索アドレステーブルではないアドレステーブルの状態機械に追加作用を行なってもよい。
【００６８】
図７は、カスケード型メモリセルを検索することと関連付けられた方法７００の別の実施形態を例証する。方法７００は、ルーティング情報を見つけるために、アドレステーブルのカスケード型検索を提供することによって、ネットワークデータをルーティングするためのネットワークスイッチの能力を改善する。ネットワークスイッチは、次いで、ルーティング情報を使用して、ネットワークパケットをルーティング可能である。１つのアドレステーブル内にソースアドレスが見つかる場合、本イベントは、他のアドレステーブルが同一情報を把握しようとしないように、マーキングされることが可能である。
【００６９】
方法７００は、７０５において、高優先度アドレステーブル内に高優先度アドレスを格納する。方法７００が、高優先度アドレスを検出する時、高優先度アドレステーブルは、アドレスが見つかるように検索される最初のテーブルである。高優先度アドレステーブルは、上述のように、個々のテーブルのカスケーディングチェーン内において、別のアドレステーブルに直列に接続される１つのアドレステーブルである。本明細書で使用される「最初の」アドレステーブルとは、アドレステーブルのチェーン内の最初のアドレステーブルである。
【００７０】
図７は、図６と同一作用のうちのいくつかを含み、対応するブロックは、同一参照番号（例えば、６０５〜６３５）によってマーキングされる。これらの作用の説明は、簡潔のため、繰り返さない。アドレスが見つからない場合（６２０）、アドレスが見つからないアドレステーブルは、マーキングされる（７１０）。アドレステーブルは、同一アドレスに対して、アドレステーブルが再度検索されないように、マーキングされる。アドレスが見つかる、または後に解決された後、マーキングされたアドレステーブルは、マーキングが解除される。
【００７１】
テーブルがマーキングされた後、上述の方法６００と同様に、６２５において、隣接するアドレステーブル内の検索を起動するように、信号が発生される。隣接するアドレステーブルは、初期アドレステーブルに直列に接続される。方法７００は、並行検索が実行されるという点において、方法６００と異なる。例えば、隣接するアドレステーブルが、６３０において、検索される間、新しい異なる検索が、並行して、７１５において、異なるアドレスに対して、初期アドレステーブル内で実行される。
【００７２】
隣接するアドレステーブルの検索後、宛先アドレスが見つかる場合、ネットワークパケットは、６３５において、図６の方法６００におけるように、宛先ポートにダイレクトされる。宛先アドレスが見つからない場合、他のアドレステーブルが、アドレスが見つかるまで、またはアドレステーブルが検索され終わるまで、順番に検索される。
【００７３】
一実施形態では、アドレスが見つかると、ネットワークパケットは、７２０において、定格制限される。ネットワークパケットは、７２０において、ネットワークパケットと関連付けられたデータを低速で伝送することによって、定格制限される。ネットワークパケットは、少なくとも部分的に、アドレステーブル内に見つけられた整合アドレスと関連付けられた定格制限情報に基づいて、定格制限される。定格制限情報は、アドレステーブルから読み取られ、ネットワークパケットは、定格制限情報に従って、定格制限される。例えば、ネットワークパケットは、ネットワークパケットを定格制限情報に対応する定格制限されたポートに送信することによって、定格制限される。パケットは、定格制限されたポートと関連付けられた論理によって、定格制限情報によって指定される速度を下回って、伝送されるであろう。
【００７４】
別の実施形態では、方法７００は、ネットワーキングスイッチ（例えば、図２に示されるスイッチ２００）によって、実行される。
【００７５】
一実施形態では、本明細書に記載される方法またはそれらの均等物は、コンピュータ可読媒体上に具現化され、格納される、コンピュータ実行可能命令として実行されてもよいことを理解されるであろう。機械（例えば、プロセッサ、デバイス）によって実行されると、命令は、機械に方法を実行させる。他の実施形態では、方法は、半導体メモリチップによって実行されるように実装される。また、方法は、回路を伴って実装されることも可能である。一実施形態では、方法は、ギガビット受動光ネットワーキング（ＧＰＯＮ）規格に従ってデータを処理する、ネットワーキングスイッチ内に実装される。
【００７６】
図８は、本明細書に記載される例示的システムおよび方法、または均等物が、実装される、例示的コンピュータ８００の一実施形態を例証する。例示的コンピュータ８００は、プロセッサ８０５と、メモリ８１０と、バス８２０によって動作可能に接続された入／出力ポート８１５とを備える。一実施例では、コンピュータ８００メモリテーブルアクセス論理８２５は、メモリテーブルをカスケーディングし、カスケード型メモリテーブルを検索するように構成される。
【００７７】
メモリアクセス論理８２５は、メモリテーブルをカスケーディングし、カスケード型メモリテーブルを検索するための手段（例えば、ハードウェア、格納されたソフトウェア、およびファームウェア）を提供する。メモリアクセス論理８２５は、図１のルーティングコントローラ１００、および／または図３ならびに図４の装置３００、４００、および／またはそれらの機能の組み合わせと同様に、実装することが可能である。メモリアクセス論理８２５は、例えば、ＡＳＩＣまたは他の種類の回路として実装される、論理を含み得る。
【００７８】
概して、コンピュータ８００の例示的構成について説明するが、プロセッサ８０５は、ディアルマイクロプロセッサおよび他のマルチプロセッサアーキテクチャを含む、多様な種々のプロセッサであってもよい。メモリ８１０は、揮発性メモリおよび／または不揮発性メモリを含んでもよい。不揮発性メモリは、例えば、読取専用メモリ（ＲＯＭ）、プログラム可能読取専用メモリ（ＰＲＯＭ）、消去可能プログラム可能読取専用メモリ（ＥＰＲＯＭ）、電気的消去可能プログラム可能読取専用メモリ（ＥＥＰＲＯＭ）等を含んでもよい。揮発性メモリは、例えば、ランダムアクセスメモリ（ＲＡＭ）、静的ランダムアクセスメモリ（ＳＲＡＭ）、動的ランダムアクセスメモリ（ＤＲＡＭ）等を含んでもよい。
【００７９】
ディクス８３０は、例えば、入／出力インターフェース（例えば、カード、デバイス）８３５および入／出力ポート８１５を通して、コンピュータ８００に動作可能に接続されてもよい。ディスク８３０は、例えば、磁気ディスクドライブ、固体ディスクドライブ、フロッピー（登録商標）ディスクドライブ、テープドライブ、Ｚｉｐドライブ、フラッシュメモリカード、メモリスティック等であってもよい。さらに、ディスク８３０は、コンパクトディスク読取専用メモリ（ＣＤ−ＲＯＭ）ドライブ、コンパクトディスク記録可能（ＣＤ−Ｒ）ドライブ、コンパクトディスク書換可能（ＣＤ−ＲＷ）ドライブ、デジタルビデオディスク読取専用メモリ（ＤＶＤ  ＲＯＭ）等であってもよい。メモリ８１０は、例えば、プロセス８４０および／またはデータ８４５を格納可能である。ディスク８３０および／またはメモリ８１０は、コンピュータ８００のリソースを制御および割り当てる、オペレーティングシステムを格納可能である。
【００８０】
バス８２０は、単一内部バス相互接続アーキテクチャおよび／または他のバスあるいはメッシュアーキテクチャであってもよい。単一バスが例証されるが、コンピュータ８００は、種々のデバイス、論理、および他のバス（例えば、周辺機器相互接続エクスプレス（ＰＣＩＥ）、１３９４、ユニバーサルシリアルバス（ＵＳＢ）、イーサネット（登録商標））を使用する周辺機器と通信してもよいことを理解されたい。バス８２０は、例えば、メモリバス、メモリコントローラ、周辺バス、外部バス、クロスバースイッチ、および／またはローカルバスを含む、種類とすることができる。
【００８１】
コンピュータ８００は、メモリアクセス論理８２５および入／出力ポート８１５を含む、入／出力（Ｉ／Ｏ）インターフェース８３５を介して、入／出力デバイスと交信してもよい。入／出力デバイスは、例えば、キーボード、マイクロホン、ポインティングデバイスおよび選択デバイス、カメラ、ビデオカード、ディスプレイ、ディスク８３０、ネットワークデバイス８５０等であってもよい。入／出力ポート８１５は、例えば、シリアルポート、パラレルポート、およびＵＳＢポートを含んでもよい。
【００８２】
コンピュータ８００は、ネットワーク環境内で動作可能であり、したがって、Ｉ／Ｏインターフェース８３５および／またはＩ／Ｏポート８１５を介して、ネットワークデバイス８５０に接続されてもよい。ネットワークデバイス８５０を通して、コンピュータ８００は、ネットワークと交信してもよい。ネットワークを通して、コンピュータ８００は、リモートコンピュータに論理的に接続されてもよい。コンピュータ８００が交信し得るネットワークは、ローカルエリアネットワーク（ＬＡＮ）、広域ローカルワークエリアネットワーク（ＷＬＡＮ）、広域ネットワーク（ＷＡＮ）、および他のネットワークを含むが、それらに限定されない。
【００８３】
例示的システム、方法等が、実施例を説明することによって例証され、実施例は、十分かつ詳細に記載されたが、出願人の意図は、添付の特許請求の範囲をそのような詳細に制限する、またはいかようにも限定するものではない。当然ながら、本明細書に記載されるシステム、方法等を説明する目的のために、構成要素または方法論のあらゆる企図可能な組み合わせを記述することは不可能である。したがって、本発明は、図示および説明される、特定の詳細、代表的装置、および例証的実施例に限定されない。故に、本願は、添付の請求項の範囲内にある代替例、修正例、および変形例を包含するものと意図される。
【図１】
2011523334.tif 000003
【図２】
2011523334.tif 000004
【図３】
2011523334.tif 000005
【図４】
2011523334.tif 000006
【図５】
2011523334.tif 000007
【図６】
2011523334.tif 000008
【図７】
2011523334.tif 000009
【図８】
2011523334.tif 000010
【国際調査報告】
2011523334.tif 000011
2011523334.tif 000012
2011523334.tif 000013