JP3935880B2 - ネットワーク・プロセッサおよびコンピュータ・システム用ハイブリッド・サーチ・メモリ - Google Patents

ネットワーク・プロセッサおよびコンピュータ・システム用ハイブリッド・サーチ・メモリ Download PDF

Info

Publication number
JP3935880B2
JP3935880B2 JP2003555385A JP2003555385A JP3935880B2 JP 3935880 B2 JP3935880 B2 JP 3935880B2 JP 2003555385 A JP2003555385 A JP 2003555385A JP 2003555385 A JP2003555385 A JP 2003555385A JP 3935880 B2 JP3935880 B2 JP 3935880B2
Authority
JP
Japan
Prior art keywords
cam
leaf
entry
search
tree
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003555385A
Other languages
English (en)
Other versions
JP2005513895A (ja
JP2005513895A5 (ja
Inventor
カルヴィナック、ジーン、ルイス
ヴェルプランケン、ファブリス、ジャン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2005513895A publication Critical patent/JP2005513895A/ja
Publication of JP2005513895A5 publication Critical patent/JP2005513895A5/ja
Application granted granted Critical
Publication of JP3935880B2 publication Critical patent/JP3935880B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、コンピュータ・データベース構造に関し、より詳細には、ネットワーク・プロセッサ・データベース構造に関する。
情報配布のためのコンピュータ・ネットワークの使用は、従来技術において周知である。従来のコンピュータ・ネットワークは、通信インフラストラクチャによって相互接続された複数の端末を含む。このインフラストラクチャには、交換機、ルータ、ネットワーク・プロセッサおよびインターネットや、イントラネットと呼ばれる専用ネットワークなどの伝送設備が含まれる。経路指定その他の決定は、通常、パケット内の情報に基づいて交換機で行われる。
この決定を支援するために、各ネットワーク・プロセッサ交換機その他のデバイス(device)はデータベースおよび検索(lookup)方法を備える。パケットを受信すると、交換機またはネットワーク・プロセッサ制御機構あるいはその両方が、そのパケットをデータベースに相関付け、事前に記憶された情報に基づいてそのパケットを処理する。データベース検索方法の一例が米国特許第5,414,704号に記載されている。
この決定が行われる速度は、ネットワークの有効性にとって非常に重大である。ネットワークの有効性を測定する1つの基準は、それが媒体速度で情報を処理する(すなわち決定を行う)能力である。
米国特許第5,414,704号
本発明は、以下で述べるように、制御機構がパケットをデータベースに相関付ける速度を向上させる。
米国特許第5,414,704号には、プログラム可能ハッシュ法、二分探索法、および小型連想記憶メモリ(CAM)の組み合わせを使用するデータベースのサーチ方法が開示されている。これは、平均2回の読取り、最悪の場合は4回の読取りを必要とする。
第1の態様によれば、本発明は、サーチ・キーからのNビット(Nは整数)を、少なくとも1つのエントリを持つダイレクト・テーブルおよび前記1つのエントリに動作可能なように結合された複数のノードを含むツリー構造を含むデータ構造への指標として使用する動作と、そのツリー構造をサーチするときに横断されるノード数のカウントである閾値を設定する動作と、サーチ・キーからの選択ビットを使用して閾値が満たされるまで前記ツリー構造を横断する動作と、閾値が満たされたことに応答して、そのサーチ・キーに関連して講ずべき処置を得るために連想記憶メモリ(CAM)内の少なくとも1つのエントリから情報を読み取る動作と、エントリが所与の期間使用されていないときにCAMからそのエントリを削除する動作とを含むサーチ方法を提供する。
好ましくは、この方法は、閾値が満たされたことに応答して、サーチ・キーの選択ビット、およびそのキーに関連して講ずべき処置をそこから見つけることのできる情報を含む少なくとも1つのエントリを、連想記憶メモリに記憶するステップも含む。
好ましくは、このツリー構造は、選択されたノードに動作可能なように結合された複数のノードおよびリーフを含む。好ましくは、このツリー構造は、選択されたノードに位置決めされた、サーチ情報を運ぶパターン・サーチ制御ブロック(PSCB)をさらに含む。
例えば、Nビットは、宛先MACアドレスの先頭16ビットを含むことができ、さらに選択ビットは、その宛先MACアドレスの残り32ビットを含むことができる。
任意選択で、サーチ・キーは、データ・パケットの一部を含む。
任意選択で、読み取りのステップは、NビットをCAMへの指標として使用するステップをさらに含む。
第2の態様によれば、本発明は、複数のプロトコル・プロセッサを含む組み込みプロセッサ複合体と、プロセッサ複合体に動作可能なように結合された制御点プロセッサと、各プロトコル・プロセッサにアクセス可能であり、高速パターン・サーチ、データ操作およびフレーム構文解析を提供する複数のハードウェア・アクセラレータ・コプロセッサと、ダイレクト・テーブル、および相互に動作可能なように連鎖するノードおよびリーフを持つツリー構造を含むデータ構造を記憶する、プロセッサ複合体に動作可能なように結合された少なくとも1つのメモリ・デバイスと、プロセッサ複合体に動作可能なように結合され、ツリー・サーチ・ルーチンの間にアクセスされるノードの最大数を表す値を記憶するメモリ位置と、プロセッサ複合体に動作可能なように結合され、パケットに関連して講ずべき処置に関する情報を含むリーフが記憶された位置を識別するポインタを記憶する連想記憶メモリ(CAM)とを含み、少なくとも1つのコプロセッサが、サーチ・キーからのNビット(Nは整数)を、ダイレクト・テーブルを含むデータ構造への指標として使用する方法ステップと、そのサーチ・キーからの選択ビットを使用してアクセスされるノードの最大数が満たされるまで前記ツリー構造を横断する方法ステップと、サーチ・キーの選択ビットを含む少なくとも1つのエントリ、およびパケットに関連して講ずべき処置に関する情報を含むリーフが記憶された位置を識別するポインタをCAMに記憶する方法ステップと、サーチ・キーに関連して講ずべき処置を得るためにCAM内の少なくとも1つのエントリから情報を読み取る方法ステップと、エントリが所与の期間使用されていないときにそれをCAMから削除する方法ステップとを実施するように動作する装置を提供する。
任意選択で、この装置は、プロセッサ複合体に動作可能なように結合され、ツリー・サーチ・ルーチンの間にアクセスされるノードの最大数を表す値を記憶するメモリ位置と、プロセッサ複合体に動作可能なように結合され、リーフが記憶された位置を識別するポインタを記憶する連想記憶メモリ(CAM)とをさらに含む。
好ましくは、制御点プロセッサは、データ構造を調整する情報を含むフレームを生成し、転送するようにプログラムされる。
第3の態様によれば、本発明は、少なくとも2つのエントリを持つダイレクト・テーブルと、それら少なくとも2つのエントリに動作可能なように結合され、相互に動作可能なように連鎖する複数のノードおよびリーフを持つツリー構造と、前記ツリー構造の探索(walk)中にアクセスされるノードの最大数を示す閾値を記憶する記憶と含むデータ構造を提供する。
好ましくは、このデータ構造は、リーフが閾値の上のノードに接続されている場合にはそのリーフ情報が記憶された連想記憶メモリ(CAM)をさらに含む。
本発明の一実施形態は、例えば、データ・パケットから取り出されたキーを提供するプロセッサと、そのキーを使用して、閾値に達するまでツリー構造を探索するためのツリー・ウォーク論理(tree walk logic)と、そのキーを使用してCAMをサーチするCAM制御機構と、ツリー・ウォーク論理またはCAM制御機構からの最初の使用可能な結果を使用してそのデータ・パケットに関連して講ずべき処置を決定する制御機構とを含むシステムを提供することができるであろう。
本発明の別の実施形態は、例えば、データ・パケットから取り出されたキーを提供する動作と、前記キーをツリー・ウォーク論理で使用して閾値に達するまでツリー構造をサーチする動作と、前記キーをCAM制御機構で使用してCAMをサーチする動作と、動作(b)または(c)からの最初の結果を使用してデータ・パケットに関連して講ずべき処置を決定する動作とを含むサーチ方法を提供することができるであろう。
したがって、本発明は、ダイレクト・テーブル(DT)、パトリシア・ツリー構造および連想記憶メモリ(CAM)を含むメモリ構造を使用してデータベース情報を記憶する。このメモリ構造およびサーチ方法は、パケットをネットワーク・プロセッサ内のデータベースに相関付けることに伴う待ち時間を短縮する。
好ましくは、データベース構造は、複数のエントリに区分されたダイレクト・テーブル(DT)を含む。各エントリは、「パターン・サーチ制御ブロック(PSCB)」と呼ばれる、リーフおよび複数のノードを持つパトリシア・ツリーに関連付けられる。パケットの一部に関連して講ずべき処置は、DT内のエントリに合致する「キー」と呼ばれ、そのリーフに記述される。リーフに到達するには、ツリーを探索する必要がある(以下で詳細を述べる)。
一般に、待ち時間は、DT内のエントリとリーフとを隔てるPSCBの数によって決定される。PSCBの数が大きいほど、そのリーフ内の情報にアクセスするのにかかる時間が長くなり、PSCBの数が少ないほど、情報がより迅速に得られる。ツリーのリーフに向かって各ノードにアクセスするプロセスは、「ツリー・ウォーク」、「ツリーの探索(ウォーキング)」などと呼ばれる。
任意選択で、1つのテーブル・エントリと関連するリーフの間で横断されるPSCBの数を制限する閾値が設定される。その後、CAMは、フレームに関連して講ずべき処置を含むリーフが位置するアドレスを記憶する。リーフにアクセスすることによって、フレームに関連して講ずべき処置が得られる。
データ構造は、ツリーのリーフを付加し、または削除し、あるいはその両方を行うことによって維持することができる。この付加または削除あるいはその両方によってPSCBの数を増減させることができる。データベース調整を補うために、CAM経時処理機構(CAM aging mechanism)によってCAMに適当な削除または付加あるいはその両方が行われる。
本発明の一利点は、本発明の教示によるブースタCAMまたは閾値あるいはその両方を援用することによって、メモリ・ベースの検索論理システムの待ち時間が制限される(短縮される)ことである。例えば、この閾値は、個々のサーチの間に横断することのできるPSCBの数に限度を設定する。
別の利点は、CAMを使用して選択されたリーフに関連する情報を追跡し、それ以外のリーフには(以下で述べる)通常の「ツリー・ウォーク」によってアクセスする場合、大規模なパトリシア・ツリーをより低コストで実装できることである。
本発明の別の利点は、本発明が、データ構造内で大規模なパトリシア・ツリーを実装するための、比較的低コストで待ち時間の短い解決法を提供することである。本発明以前には、大規模なパトリシア・ツリー・データ構造のサーチに伴う長い待ち時間が原因で、ある種の設計では大規模パトリシア・ツリー・データ構造が許容されなかった。
次に本発明を、一例として、添付の図面に示す本発明の好ましい一実施形態を参照して説明する。
本明細書で説明する本発明は、任意nコンピュータ・データベース・システムで使用することができる。本発明は、ネットワーク・プロセッサ(NP)で適切に働き、したがって、以下ではその環境で説明する。
図1に、本発明の好ましい実施形態によるブースタCAMシステム15を含むネットワーク・プロセッサのアーキテクチャを示す。ブースタCAMシステム15は、通信媒体15aによって組み込みプロセッサ複合体(EPC)12に結合される。単一チップとしても複数のチップとしても実装できるこのネットワーク・プロセッサは、イーサネット(R)・パケットやIP over SONET(POS)を含む物理層デバイス26、PMM入り(PMM-Ingress)多重化MAC22、および入りデータ記憶42および入りスイッチ・インターフェース18を含むエンキュー・デキュー・スケジューリング(EDS)14を含む。出口側では、このネットワーク・プロセッサは、出スイッチ・インターフェース20、エンキュー・デキュー・スケジューリング16、および出データ記憶44を含む。
さらに図1を参照すると、組み込みプロセッサ複合体(EPC)12は、通信媒体を介して入りEDSおよび出EDSに結合される。組み込みプロセッサ複合体には、内蔵S−RAM28、D−RAM32および外付けS−RAM30を含む複数の異なる記憶モジュールが接続される。組み込みプロセッサ複合体には組み込みPCプロセッサ34が結合される。PCIバスは外部から組み込みプロセッサ34へのアクセスを提供する。図1ではプロセッサ34は組み込まれるものとして示されているが、代替の好ましい一実施形態として、このプロセッサが外付けとして提供され、物理層デバイスを介してネットワーク・プロセッサに結合されるものもある。以下で説明するように、本発明のデータ構造は、PowerPC34で生成され、記憶モジュールにダウンロードされる。簡略にするために、以下では、本発明に密接に関連するネットワーク・プロセッサの要素および機能だけを説明する。このネットワーク・プロセッサは、特にイーサネット(R)・パケットまたはIP over SONETあるいはその両方に対応するプログラム可能な交換/経路指定システムであると言えば十分であろう。PowerPC34は、以下では制御点(CP)と呼ばれ、図1に示すように組み込むこともでき、代替の実施形態では、外付けで、物理層デバイス26また制御および管理支援を提供する他の適当な機構を介してプロセッサに接続することもできる。この組み込みプロセッサ複合体は、処理能力を提供する複数の並列プロトコル・プロセッサを含む。各プロトコル・プロセッサは、パターン・サーチ、データ操作、内部データ管理、フレーム構文解析、フィルタリング機能のためのデータ事前取り出しを提供するコプロセッサにアクセスすることができる。
本発明は、具体的には、ネットワーク・プロセッサのフィルタリング機能に関連し、以下では、このフィルタリングまたは分類プロセスで使用されるデバイスだけについて説明する。これらのデバイスには、コプロセッサを備える組み込みプロセッサ複合体、外付けまたは組み込みで提供される汎用プロセッサであるCP34、ブースタCAMシステム15、および本発明と密接に関連するデータ・パターンが記憶されるメモリが含まれる。以下でより詳細に説明するように、コプロセッサは、パケットの各部分を、ネットワーク・プロセッサ・メモリに記憶されたデータ構造に相関付け、そのパケットに関連して講ずべき処置を記述する情報を取り出す。ブースタCAMシステムは、メモリからこの決定が取り出される速度を加速する。
図2に、組み込みプロセッサ複合体の例示的一実施形態を示す。これは、約2128MIPSの副次処理能力を提供する複数のプロトコル・プロセッサを含む。各プロトコル・プロセッサ40は、3段階パイプライン(取り出し、復号化および実行)汎用レジスタ、専用レジスタ、8命令キャッシュ(eight instruction cache)、専用算術論理演算装置(ALU)およびすべてが133MHzで動作するコプロセッサを含む。プロトコル・プロセッサのうち少なくとも2つは専用である。1つは、誘導フレーム(guidedframe)・ハンドラと呼ばれ、制御プロセッサからネットワーク・プロセッサ内の他のエンティティに情報を搬送する誘導フレームを処理するためのものであり、1つは、汎用ツリー・ハンドラと呼ばれ、制御されたメモリ内で検索データを構築すると共に、パケットに関連してどの処置を講ずべきか決定するためにそのメモリをサーチするためのものである。
図3に、プロトコル・プロセッサ40の例示的一実施形態を示す。プロトコル・プロセッサ40は、汎用レジスタ(GPR)および算術論理演算装置(ALU)を備えるCLP(コア言語プロセッサ(core language processor))72を含む。チェックサム・コプロセッサ62、データ・ストア(DS)コプロセッサ64、エンキュー・コプロセッサ66、WEBコプロセッサ68およびツリー・サーチ・エンジン(TSE)コプロセッサ70は独立のバスを介してCLPに結合される。
チェックサム・コプロセッサ62はヘッダ・チェックサムを計算する。
データ・ストア(DS)コプロセッサ64は、フレーム・バッファ・メモリ42、44(入り方向および出方向)をインターフェースして直接メモリ・アクセス(DMA)機能を提供する。
エンキュー・コプロセッサ66は、256ビット作業レジスタへのアクセスを制御し、キー・フレーム・パラメータを含む。このコプロセッサは完了ユニット46(図1および図2)とのインターフェースを提供してフレームをスイッチおよび宛先ポート待ち行列に入れる。
WEBコプロセッサは、内部レジスタ、カウンタおよびデバッガ統計収集用メモリへのすべてのプロトコル・プロセッサ・アクセスを提供する。
ツリー・サーチ・エンジン(TSE)コプロセッサ70は、プロトコル・プロセッサと並列に動作し、(メモリREAD、WRITE、READ/WRITEを含む)ツリー・サーチ命令、メモリ範囲チェックを実施する。また、TSEコプロセッサは、パトリシア・ツリー構造に記憶されたデータベースに対してパケットのサーチを行うと共に、本発明の教示によるブースタCAMへのアクセスも行う。代替の一実施形態では、論理を使用してCAM内の情報のコピーまたはそこからの情報の削除、あるいはその両方を行うこともできる。
図1および図2に戻ると、図示のように組み込み、あるいは物理層デバイス26を介してネットワーク・プロセッサに接続することのできる制御点プロセッサ34は、ネットワーク・プロセッサ全体の管理を提供する。このために、(以下で説明する)データ構造が汎用プロセッサで生成され、メモリにダウンロードされる。リーフの削除や付加などの更新は、前述の誘導セルを使用して組み込みプロセッサ複合体との間で制御情報をやりとりするCPプロセッサ34を介して実施される。組み込みプロセッサ複合体のうちの選択されたものがそれに関連するツリー・サーチ・エンジンを使用してそれぞれの記憶およびブースタCAMシステム15とやりとりする。
図4から図14に、本発明の教示による様々なデータ構造を示す。これらのデータ構造を使用して特許請求される発明をさらに説明する。
図4にプロトコル・プロセッサ10のメモリに記憶されたデータ構造を表す図を示す。このデータ構造は、複数のエントリを持つダイレクト・テーブル(DT)を含み、その1つのエントリだけが横線で挟まれた領域として示され、それがパターン・サーチ制御ブロック(PSCB)と呼ばれる複数のノードを持つパトリシア・ツリー構造に接続されている。各PSCBは、経路指定決定情報を含み、1つまたは複数のリーフに接続される。図4にそのうちの5つを示す。これらのリーフに含まれるのは、このツリー構造に記憶された情報に対して相関付けられているパケットに関連して行うべき決定または処置である。前述のように、この相関付けは、ピコ命令またはピコ・コードを実行するピコプロセッサ(コプロセッサ)によって実施されることになるが、他の手段によって実施することもできる。
図4をさらに参照すると、各ツリー構造にCAMコピー閾値が関連付けられている。このCAMコピー閾値(縦線で示す)は、システムに記憶された、リーフに到達するために横断することのできるPSCGの最大数を示す数である。横断されるノード数がCAMコピー閾値を超えると、相関機構(コプロセッサまたはハード)がCAMにアクセスしてそのリーフに関連する情報を取得する。普通、リーフのアドレスは、そのリーフ内の情報ではなくCAMに記憶される。リーフが位置するアドレスだけを記憶することによって、CAM内のスペースが保たれる。CAMが非常に高速で、低密度で、高価な記憶機構であるため、CAM内のスペースは貴重である。図4〜図14で、「CAMコピー閾値」と表示された破線は、システムのメモリに記憶された閾値を図示したものである。ダイレクト・テーブルに記憶された情報は、データ構造に相関付けられているパケット内の情報の複製である。
次に図5を見ると、データ・パターンまたは構造に相関付けられるパケットの宛先アドレス(DA)が示されている。このDAアドレスはA部およびB部に区分される。A部はダイレクト・テーブル内で指標として使用され、B部はツリーの探索(ウォーキング)に使用される。この適用例で使用されるように、ツリーを探索するとは、PSCBにアクセスし、あるPSCBに記憶された情報を使用して次のPSCBに進むことを意味する。このプロセスはリーフに到達するまで続けられる。リーフは、パケットに関連して講ずべき処置を含む情報を記憶する。好ましい一実施形態では、この宛先アドレスは、48ビットMACアドレスである。Aと表示された最初の16ビットはダイレクト・テーブルへのアクセスに使用され、残りの32ビットはそのエントリに関連するツリーの探索に使用される。より詳細には、MAC宛先アドレスの最初の16ビットはDT内の各エントリと比較される。この最初の16ビットと1つのエントリの間で一致が見つかった場合は、それ以外の32ビットのうちの選択されたビットを使用して、関連するリーフに到達するまでツリーを探索する。ハッシュ手順を使用してDTおよびそのDTへのエントリをセットアップすることもできることに留意すべきである。ハッシュ手順は当分野では周知であり、以下ではこれ以上説明しない。
パケット内の他のエンティティを使用してダイレクト・テーブルにアクセスし、そのエントリに関連するツリーを探索することもできることに留意すべきである。例を挙げると、データ・テーブル内の各エントリは、フレームのA部と相関するはずである。ピコ・コードを実行するコプロセッサは、データ・テーブルを個々のパケットのうちの16ビットに相関付ける。データ・テーブル内の1つのエントリがそのテーブル内のエントリに一致する場合は、残り32ビットを使用して以下のようにツリーを探索する。残り32ビット中の有効ビットをPCB1に対して突き合わせる。ビットが論理0の場合は、PSCBに0で記憶された処置を実施する。ビットが論理1の場合は、PSCBに1で記憶された処置を実施する。基本的に、PSCB内の情報は、PSCB3に至る「X」と表示された経路に沿ってツリーを探索するか、それともPSCB2に至る「Y」と表示された経路に沿ってツリーを探索するかを指図する。PSCB2は、リーフ2またはリーフ1にある情報を指し示す情報を持つはずである。「X」経路を探索する場合、次のノードはPSCB3、次いでPSCB4になるはずである。この例では、閾値は3に設定され、すべてのリーフがこの閾値の下に位置しているので、ブースタCAMは使用されないことになる。
次に図15を見ると、ブースタCAMが図示されている。このCAMは、CAMに情報を書き込むと共にCAM内の情報の計時処理(削除)を行う機構を含む既製品である。このCAMは従来技術で周知であり、したがって、本明細書では詳細には論じない。CAMは複数のエントリを持つと言えば十分であろう。その1つを15Bに示す。本発明のために、CAMを15C部と15D部に区分する。15C部には、MACデータ・アドレスのA+B部(図5)が入れられ、15D部にはツリー構造からのリーフの位置アドレス(LA)が記録される。動作に際して、パケットの宛先アドレスのビット32〜ビット48がブースタCAMに記憶され、ブースタCAMシステム15のブースタCAMにアクセスするための指標としても使用される。ブースタCAMの15D部内の関連するリーフ・アドレスが読み出され、そのリーフ・アドレスに記憶された情報へのアクセスに使用される。次に図4を見ると、ブースタCAMの使用は図4のデータ構造には適用できないはずである。というのは、図4の各リーフは、CAMコピー閾値の左側のPSCBに接続されており、これはPSCBが設定閾値より下にあることを示すからである。次に、リーフが閾値より上にあるPSCBに接続されているためにCAMが使用されることになる状態について論じる。ツリーにリーフが付加されると、いくつかの状況が起こり得る。
A)リーフが閾値の上(すなわちCAMコピー閾値の右側)にあるノードに挿入される。この状況では、挿入はCAM内のリーフのコピーをトリガすることになるサーチを必要とする。図6はそうした状況の一例である。図6では閾値は3に設定される。リーフ6が挿入され、4つのノード(すなわちPSCB1、PSCB3、PSCB4、PSCB5)を経た後で初めてそこに到達する。挿入時に、リーフ6のアドレスはCAMにコピーされる。ここでリーフ5は閾値の上にあるが、これは、このリーフを必要とするトラフィックがない場合は、CAMにコピーされない。
B)別の状況が、リーフが閾値の下に挿入され、閾値を超えるリーフを生じない場合である。この場合、CAM内容に関しては何も変更されない。
C)別の状態が、リーフは閾値の下に挿入されるが、他の1つまたは複数のリーフが閾値を超え、またはその外側になる場合である。この場合、閾値を超えたどのリーフも直ぐにはCAMにコピーされない。その代わり、そのリーフは、そこに通常の検索によって到達した時点で、すなわちそれが実際に使用されるときにはじめてコピーされる。したがって、CAMは、現在のネットワーク・トラフィックに必要とされる「有用な」リーフだけを含む。
D)図7に、今度はリーフ5およびリーフ6が検索時にCAMにコピーされる状況を示す。図6を参照して、リーフ6がCAMにコピーされたときに、リーフ5はトラフィックに必要とされなかったのでコピーされなかったことを想起する必要がある。しかし、それは、必要とされればすぐにCAMにコピーされる。これもやはり、CAMが高価なタイプの記憶であるためにCAMリソースを保持するための技法である。
E)図8に、3つのリーフ、すなわちリーフ5、リーフ6、リーフ7がCAMにコピーされる状況を示す。リーフ7が挿入されるのは、5つのPSCB(閾値より上=3)を経た後でそこに到達するからである。これはCAMにコピーされる。
F)図9に、CAMからリーフ6のアドレスが削除される状況を示す。この削除はCAM経時処理機構によって実行される。これが活動化されるのは、リーフ6が、所与の期間どのトラフィックによっても使用されていないからである。
G)図10に、リーフ6が検索時にCAMに再コピーされる状況を示す。図9では、リーフ6は、トラフィックがその使用を必要としなかったために削除された。図10では、今度はトラフィックがリーフ6を再度必要としている。したがって、それはCAMに再コピーされ、しかるべくマークされる。これらの例は、経時処理機構が、リーフ内の情報の使用または不使用に基づいて周期的にCAMからリーフ情報を削除することを示すことに留意すべきである。
H)以上、ツリーにリーフを付加するときに存在する状態について論じてきた。次に、ツリーからリーフを削除するときに存在する状態について論じる。ツリーからのリーフの削除は、経時処理または制御点動作が原因でトリガされ得る。経時現象は、リーフが一定期間使用されず、経時処理機構がそれを記憶から削除するときに発生する。制御点削除は、制御点にある汎用プロセッサが、何らかの理由で、記憶からリーフを削除すべきであると決定したときに発生する。経時による削除または制御点による削除のどちらの場合にも、そのリーフが論理1に設定されたコピー済みビットを持つ場合には、それに対応するエントリがCAMから除去される。
I)このリーフが0に設定されたコピー済みビットを持つ場合には、CAM内容は変更されない。リーフを削除した結果、閾値より上にあった他のリーフが、リーフが削除されると閾値の下に戻ることがある。これらのリーフが以前にCAMにコピーされていた場合は、それらはCAM経時処理機構によってCAMから削除される。この経時処理のタイムアウトは、通常、ツリーの経時処理より短い。これによって、検索でより頻繁に使用されるリーフによるCAMエントリの効率的な再利用が可能になる。CAM経時処理によってCAMエントリが削除されると、検索でそこに到達したときに、それに対応するリーフがCAMに再コピーされる。その検索だけが閾値より長い存続期間を有し、それに続く検索はそのCAMコピーを有利に利用することになる。
J)図11に、リーフ5がツリーから削除される状況を示す。この削除は、制御点プロセッサからの、またはツリー経時処理機構による明示的削除処置に基づくものであり得る。この状況では、CAMコピーも削除される。リーフ6およびリーフ7のCAMコピーは、閾値より上にあるPSCB6に接続されているため残存することに留意すべきである。
K)図12に、リーフ4が、明示的削除処置またはツリー経時処理によってツリーから削除される状況を示す。リーフ4のCAMコピーもCAMから削除される。リーフ6およびリーフ7は閾値の下に戻るが、それらのCAMコピーはこのときには削除されないことに留意すべきである。
L)図13に、以前にCAMに記録されたリーフ7が、CAM経時処理機構によって今度は除去される例を示す。この除去がトリガされるのは、リーフ7が、所与の期間どのトラフィックによっても使用されていないからである。
M)図14では、リーフ6は所与の期間使用されておらず、CAM経時処理機構はこれをCAMから削除する。
図16に本発明に教示によるハイブリッド検索機構の構成図を示す。このハイブリッド検索機構は、CLP(コア言語プロセッサ)72、ツリー・サーチ・エンジン(TSE)70、記憶30(S−RAM、DDRAMなど)およびCAM15を含む。記憶30には前述のツリー構造が記憶される。CAMには前述のCAM情報が記憶される。
TSE70は、ツリー・ウォーク論理151、CAM制御機構152、およびメモリ・アービタ153を含む。TSEはCLP72、S−RAM、D−RAMその他の任意の適当なメモリである記憶30、およびCAM15に接続される。記憶は、前述検索データ構造(DT、PSDB、リーフ)を記憶する。CAMは、前述したようなキーの動的コピーを含む。
CLP72は、フレームから生成された、サーチすべきキーをTSEに与える。メモリ・アービタ153は、このキーを、ツリー・ウォーク論理151とCAM制御機構152とに転送する。
ツリー・ウォーク論理はDTで最初の検索ステップを自動的に実施し、リーフに到達するまでPSCBの連鎖をたどってサーチ動作を続行する。PSCBノードの連鎖をたどる際に、PSCBカウンタ154は、横断されるノード数をカウントする。
同時に、CAM制御機構は、キーを、そのキーの高速サーチを実施するCAMに転送する。
同時に開始されたこれら2つの動作は、ツリー・ウォーク論理とCAMのどちらが先に終了してもよい。
CAMが先に終了した場合、それはメモリ・アービタに結果(リーフ・アドレス)を返し、それによってウォーク・ツリー論理でまだ実行されている動作が打ち切られる。これは、CAMでキーが見つかり、そのため、ツリー・ウォーク論理でサーチを続行させる際に値がないからである。次いで、メモリ・アービタは、リーフの実際の内容を取り出すために、ツリー・ウォーク論理を介して記憶に読取り要求を出す。
ツリー・ウォーク論理が先に終了した場合、それは結果(リーフ・アドレスおよびリーフ内容、PSCBカウント)をメモリ・アービタに返す。メモリ・アービタは、CAM制御機構にCAMでのサーチ・プロセスを打ち切るよう要求する。これによって、CAMの経時処理機構が、記憶内で非常に高速で(CAMを介するよりも高速で)実際にサーチされるキーに対応するCAMエントリを削除することができ、記憶内でより長時間のサーチを必要とするはずの他のキーにより多くの余地を残すことができるようになる。
PSCBカウントは、ツリー・ウォーク論理によって提供されるサーチ結果に含まれる。メモリ・アービタは、このカウントが閾値を超えた場合には、直前にサーチされたキーに対応するCAMエントリを付加するようCAM制御機構に要求するために、このカウントを使用してそれを事前設定された閾値と比較する。
この閾値は、すでに記憶されているがメモリ内より低速でサーチされるキーのCAMへの付加を求める要求を回避するために、記憶内のサーチ動作がCAM内のサーチより長くなることを保証するように構成される。
ネットワーク・プロセッサの一例を示す構成図である。 組み込みプロセッサ複合体(EPC)の詳細を示す図である。 プロトコル・プロセッサ構造を示す図である。 ツリー・データ構造を示す図である。 パケットをデータベースに相関付けるのに使用されるパケットの一部を示す図である。 リーフ6がCAMコピー閾値の上に挿入され、このリーフがネットワーク・トラフィックによって必要とされる場合に限りCAMに挿入される、ツリー・データ構造を示す図である。 リーフ5が現在CAM閾値の上にあり、このリーフがネットワーク・トラフィックによって必要とされる場合に限りコピーされるツリー・データ構造を示す図である。 第2のリーフ7がCAMコピー閾値の上に挿入されるツリー・データ構造を示す図である。 一定期間ネットワーク・トラフィックによって使用されないリーフがCAMから削除されるツリー・データ構造を示す図である。 図9で削除されたリーフが、今度は、トラフィックによって必要とされ、それが検索時にCAMに再コピーされるツリー・データ構造を示す図である。 ツリーからリーフが削除され、それが同様にCAMからも削除されるツリー・データ構造を示す図である。 削除されたリーフによって、以前にCAMコピー閾値の上にあったリーフをCAMコピー閾値の下になるツリー・データ構造を示す図である。 一定期間トラフィックによって使用されないリーフ7がCAMから除去されるツリー・データ構造を示す図である。 トラフィックによって使用されない別のリーフ6がCAMから削除されるツリー・データ構造を示す図である。 ブースタCAM内のデータの構造を示す図である。 本発明の教示によるハイブリッド検索機構を示す構成図である。

Claims (7)

  1. サーチ・キーからのNビット(Nは整数)を、少なくとも1つのエントリを持つダイレクト・テーブルおよび前記1つのエントリに動作可能なように結合された複数のノードを含むツリー構造を含むデータ構造への指標として使用する動作と、
    前記ツリー構造をサーチするときにアクセスされるノード数の最大数を表す閾値を設定する動作と、
    前記サーチ・キーからの選択ビットを使用して前記閾値が満たされるまで前記ツリー構造を探索する動作と、
    前記閾値が満たされたことに応答して、前記サーチ・キーに関連して講ずべき処置を得るために連想記憶メモリ(CAM)内の少なくとも1つのエントリから情報を読み取る動作と、
    エントリが所与の期間使用されていないときに前記CAMからそのエントリを削除する動作と
    を含むサーチ方法。
  2. 前記閾値が満たされたことに応答して、前記サーチ・キーの選択ビット、および前記キーに関連して講ずべき処置をそこから見つけることのできる情報を含む少なくとも1つのエントリを連想記憶メモリに記憶するステップをさらに含む請求項1に記載の方法。
  3. Nビットが宛先MACアドレスの最初の16ビットを含む請求項1または2に記載の方法。
  4. リーフが選択されたノードに動作可能なように結合され、
    リーフが前記所与の期間よりも長い期間使用されていないときに前記ツリーからそのリーフを削除するステップ
    をさらに含む、請求項1または請求項2に記載の方法。
  5. 前記情報が、前記処置が記憶された前記ツリー構造のリーフのアドレスを含む請求項1に記載の方法。
  6. 複数のプロトコル・プロセッサを含む組み込みプロセッサ複合体と、
    前記プロセッサ複合体に動作可能なように結合された制御点プロセッサと、
    各プロトコル・プロセッサにアクセス可能であり、高速パターン・サーチ、データ操作およびフレーム構文解析を提供する複数のハードウェア・アクセラレータ・コプロセッサと、
    ダイレクト・テーブル、および相互に動作可能なように連鎖するノードおよびリーフを持つツリー構造を含むデータ構造を記憶する、前記プロセッサ複合体に動作可能なように結合された少なくとも1つのメモリ・デバイスと、
    前記プロセッサ複合体に動作可能なように結合され、ツリー・サーチ・ルーチンの間にアクセスされるノードの最大数を表す値を記憶するメモリ位置と、
    前記プロセッサ複合体に動作可能なように結合され、パケットに関連して講ずべき処置に関する情報を含むリーフが記憶された場所を識別するポインタを記憶する連想記憶メモリ(CAM)と
    を含み、少なくとも1つのコプロセッサが、
    サーチ・キーからのNビット(Nは整数)を、ダイレクト・テーブルを含む前記データ構造への指標として使用する方法ステップと、
    前記サーチ・キーからの選択ビットを使用して、アクセスされるノードの最大数が満たされるまで前記ツリー構造を探索する方法ステップと、
    前記サーチ・キーの選択ビットを含む少なくとも1つのエントリ、およびパケットに関連して講ずべき処置に関する情報を含むリーフが記憶された位置を識別するポインタを前記CAMに記憶する方法ステップと、
    前記サーチ・キーに関連して講ずべき処置を得るために前記CAM内の少なくとも1つのエントリから情報を読み取る方法ステップと、
    エントリが所与の期間使用されていないときにそのエントリを前記CAMから削除する方法ステップと
    を実施するように動作する装置。
  7. 前記CAMが、前記ポインタと対をなす、前記パケット内の宛先MACアドレスの選択された一部をさらに含む請求項6に記載の装置。
JP2003555385A 2001-12-11 2002-12-09 ネットワーク・プロセッサおよびコンピュータ・システム用ハイブリッド・サーチ・メモリ Expired - Fee Related JP3935880B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/015,165 US8195705B2 (en) 2001-12-11 2001-12-11 Hybrid search memory for network processor and computer systems
PCT/GB2002/005562 WO2003054739A2 (en) 2001-12-11 2002-12-09 Hybrid search memory for network processor and computer systems

Publications (3)

Publication Number Publication Date
JP2005513895A JP2005513895A (ja) 2005-05-12
JP2005513895A5 JP2005513895A5 (ja) 2005-12-22
JP3935880B2 true JP3935880B2 (ja) 2007-06-27

Family

ID=21769867

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003555385A Expired - Fee Related JP3935880B2 (ja) 2001-12-11 2002-12-09 ネットワーク・プロセッサおよびコンピュータ・システム用ハイブリッド・サーチ・メモリ

Country Status (7)

Country Link
US (1) US8195705B2 (ja)
JP (1) JP3935880B2 (ja)
KR (1) KR100603699B1 (ja)
CN (1) CN1602485A (ja)
AU (1) AU2002347376A1 (ja)
BR (1) BR0214890A (ja)
WO (1) WO2003054739A2 (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7382736B2 (en) 1999-01-12 2008-06-03 Mcdata Corporation Method for scoring queued frames for selective transmission through a switch
US7596139B2 (en) 2000-11-17 2009-09-29 Foundry Networks, Inc. Backplane interface adapter with error control and redundant fabric
US7236490B2 (en) * 2000-11-17 2007-06-26 Foundry Networks, Inc. Backplane interface adapter
US7002980B1 (en) 2000-12-19 2006-02-21 Chiaro Networks, Ltd. System and method for router queue and congestion management
US7266117B1 (en) 2002-05-06 2007-09-04 Foundry Networks, Inc. System architecture for very fast ethernet blade
US7468975B1 (en) * 2002-05-06 2008-12-23 Foundry Networks, Inc. Flexible method for processing data packets in a network routing system for enhanced efficiency and monitoring capability
US7649885B1 (en) 2002-05-06 2010-01-19 Foundry Networks, Inc. Network routing system for enhanced efficiency and monitoring capability
US7187687B1 (en) 2002-05-06 2007-03-06 Foundry Networks, Inc. Pipeline method and system for switching packets
US20120155466A1 (en) 2002-05-06 2012-06-21 Ian Edward Davis Method and apparatus for efficiently processing data packets in a computer network
US6901072B1 (en) 2003-05-15 2005-05-31 Foundry Networks, Inc. System and method for high speed packet transmission implementing dual transmit and receive pipelines
US7082493B1 (en) * 2003-10-31 2006-07-25 Integrated Device Technology, Inc. CAM-based search engines and packet coprocessors having results status signaling for completed contexts
US7817659B2 (en) 2004-03-26 2010-10-19 Foundry Networks, Llc Method and apparatus for aggregating input data streams
US8730961B1 (en) 2004-04-26 2014-05-20 Foundry Networks, Llc System and method for optimizing router lookup
US7657703B1 (en) 2004-10-29 2010-02-02 Foundry Networks, Inc. Double density content addressable memory (CAM) lookup scheme
US7707217B2 (en) * 2005-01-24 2010-04-27 3Com Corporation Trie search engines and ternary CAM used as pre-classifier
US8448162B2 (en) 2005-12-28 2013-05-21 Foundry Networks, Llc Hitless software upgrades
CN100371936C (zh) * 2006-04-03 2008-02-27 无锡永中科技有限公司 用于树型结构文件的数据查找方法
US7903654B2 (en) 2006-08-22 2011-03-08 Foundry Networks, Llc System and method for ECMP load sharing
KR100786268B1 (ko) * 2006-10-31 2007-12-18 에스케이 텔레콤주식회사 이동 단말의 sms를 활용한 결제 서비스 제공 방법 및시스템
US8238255B2 (en) 2006-11-22 2012-08-07 Foundry Networks, Llc Recovering from failures without impact on data traffic in a shared bus architecture
US8155011B2 (en) 2007-01-11 2012-04-10 Foundry Networks, Llc Techniques for using dual memory structures for processing failure detection protocol packets
CN101231638B (zh) * 2007-01-24 2010-07-14 阿里巴巴集团控股有限公司 一种实现类目搜索的方法、系统及装置
US8271859B2 (en) 2007-07-18 2012-09-18 Foundry Networks Llc Segmented CRC design in high speed networks
US8037399B2 (en) 2007-07-18 2011-10-11 Foundry Networks, Llc Techniques for segmented CRC design in high speed networks
US8149839B1 (en) 2007-09-26 2012-04-03 Foundry Networks, Llc Selection of trunk ports and paths using rotation
US7814267B1 (en) * 2008-02-04 2010-10-12 Netlogic Microsystems, Inc. Processor with compare operations based on any of multiple compare data segments
CN101350788B (zh) * 2008-08-25 2011-10-26 中兴通讯股份有限公司 一种网络处理器内外混合查表方法
US8090901B2 (en) 2009-05-14 2012-01-03 Brocade Communications Systems, Inc. TCAM management approach that minimize movements
US8599850B2 (en) 2009-09-21 2013-12-03 Brocade Communications Systems, Inc. Provisioning single or multistage networks using ethernet service instances (ESIs)
CN102436453B (zh) * 2010-09-29 2015-03-11 金蝶软件(中国)有限公司 一种父子维的处理方法及装置
US10963426B1 (en) 2013-02-25 2021-03-30 EMC IP Holding Company LLC Method of providing access controls and permissions over relational data stored in a hadoop file system
US9805053B1 (en) 2013-02-25 2017-10-31 EMC IP Holding Company LLC Pluggable storage system for parallel query engines
CN104572648B (zh) * 2013-10-11 2018-01-16 中国石油化工股份有限公司 一种基于高性能计算的存储统计系统及方法
US10332008B2 (en) 2014-03-17 2019-06-25 Microsoft Technology Licensing, Llc Parallel decision tree processor architecture
US20150262062A1 (en) * 2014-03-17 2015-09-17 Microsoft Corporation Decision tree threshold coding
KR200488004Y1 (ko) 2014-07-28 2018-12-03 오종만 피자 고정구에 착탈되는 캐릭터
CN105701065A (zh) * 2016-01-15 2016-06-22 浪潮电子信息产业股份有限公司 一种协议表可变更协议处理器的实现方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5136580A (en) 1990-05-16 1992-08-04 Microcom Systems, Inc. Apparatus and method for learning and filtering destination and source addresses in a local area network system
EP0522743B1 (en) 1991-06-26 1997-12-17 Digital Equipment Corporation Combined hash table and CAM address recognition in a network
EP0594196B1 (en) 1992-10-22 1999-03-31 Cabletron Systems, Inc. Address lookup in packet data communications link, using hashing and content-addressable memory
JP3545858B2 (ja) 1995-12-01 2004-07-21 株式会社東芝 ネットワーク間接続装置及び情報検索装置
JP3520709B2 (ja) 1997-03-13 2004-04-19 三菱電機株式会社 ネットワークアドレス検索方式
US6553002B1 (en) * 1997-08-29 2003-04-22 Ascend Communications, Inc. Apparatus and method for routing data packets through a communications network
US6061712A (en) * 1998-01-07 2000-05-09 Lucent Technologies, Inc. Method for IP routing table look-up
US6173384B1 (en) * 1998-02-11 2001-01-09 Nortel Networks Limited Method of searching for a data element in a data structure
JP2000022736A (ja) 1998-07-06 2000-01-21 Nec Eng Ltd ルーティングエントリ検索システム及びその検索方法並びにその制御プログラムを記録した記録媒体
JP2000209216A (ja) 1999-01-12 2000-07-28 Shimada Phys & Chem Ind Co Ltd アドレス管理方法及び装置、記録媒体
JP3216630B2 (ja) 1999-06-09 2001-10-09 日本電気株式会社 通信制御装置
US6766381B1 (en) * 1999-08-27 2004-07-20 International Business Machines Corporation VLSI network processor and methods
US6985431B1 (en) 1999-08-27 2006-01-10 International Business Machines Corporation Network switch and components and method of operation
US6675163B1 (en) 2000-04-06 2004-01-06 International Business Machines Corporation Full match (FM) search algorithm implementation for a network processor
US7107265B1 (en) * 2000-04-06 2006-09-12 International Business Machines Corporation Software management tree implementation for a network processor
JP2001326679A (ja) 2000-05-15 2001-11-22 Fujitsu Ltd 情報装置、テーブル検索装置、テーブル検索方法、及び記録媒体
JP2002016638A (ja) * 2000-06-29 2002-01-18 Mitsubishi Electric Corp ルーチング情報検索装置およびルーチング情報検索制御データを記録したコンピュータ読み取り可能な記録媒体
JP2002166387A (ja) 2000-11-28 2002-06-11 Mitsubishi Heavy Ind Ltd ロボット視覚装置
US6691124B2 (en) * 2001-04-04 2004-02-10 Cypress Semiconductor Corp. Compact data structures for pipelined message forwarding lookups
JP3779619B2 (ja) 2002-01-11 2006-05-31 日本電信電話株式会社 パケット転送装置およびネットワークおよびプログラムおよび記録媒体
JP3757882B2 (ja) 2002-03-12 2006-03-22 日本電信電話株式会社 パケットのフィルタリング方法
JP3784054B2 (ja) 2002-06-10 2006-06-07 インターナショナル・ビジネス・マシーンズ・コーポレーション Macアドレスを並べ替えさせる方法および記録媒体

Also Published As

Publication number Publication date
KR20040058168A (ko) 2004-07-03
AU2002347376A1 (en) 2003-07-09
WO2003054739A3 (en) 2004-02-19
US8195705B2 (en) 2012-06-05
JP2005513895A (ja) 2005-05-12
US20030110180A1 (en) 2003-06-12
AU2002347376A8 (en) 2003-07-09
CN1602485A (zh) 2005-03-30
WO2003054739A2 (en) 2003-07-03
BR0214890A (pt) 2004-12-14
KR100603699B1 (ko) 2006-07-20

Similar Documents

Publication Publication Date Title
JP3935880B2 (ja) ネットワーク・プロセッサおよびコンピュータ・システム用ハイブリッド・サーチ・メモリ
JP2005513895A5 (ja)
US9154442B2 (en) Concurrent linked-list traversal for real-time hash processing in multi-core, multi-thread network processors
US6854117B1 (en) Parallel network processor array
US9787693B2 (en) Graph caching
US8180803B2 (en) Deterministic finite automata (DFA) graph compression
US7949683B2 (en) Method and apparatus for traversing a compressed deterministic finite automata (DFA) graph
US8335780B2 (en) Scalable high speed relational processor for databases and networks
US7680806B2 (en) Reducing overflow of hash table entries
US20070168377A1 (en) Method and apparatus for classifying Internet Protocol data packets
US20050248970A1 (en) Distributed content addressable memory
KR20150026979A (ko) 어드밴스드 피처를 갖는 정규 표현식 패턴에 대한 비결정성 유한 오토마톤 (nfa) 생성
KR102126592B1 (ko) 멀티코어 프로세서들에 대한 내부 및 외부 액세스를 갖는 룩-어사이드 프로세서 유닛
US20190294549A1 (en) Hash Table-Based Mask Length Computation for Longest Prefix Match Caching
US7739445B1 (en) Circuit, apparatus, and method for extracting multiple matching entries from a content addressable memory (CAM) device
US20140114995A1 (en) Scalable high speed relational processor for databases and networks
US7254687B1 (en) Memory controller that tracks queue operations to detect race conditions
US20200226099A1 (en) Method and apparatus for improving hash searching throughput in the event of hash collisions
CN110046286A (zh) 用于搜索引擎缓存的方法和装置
CN116599892B (zh) 一种服务器系统、路由方法、装置及电子设备和存储介质
JP2004194321A (ja) トライを基礎としたipルックアップアルゴリズムのパイプライン型ハードウエア実現におけるルックアップレイテンシーを減少させるメカニズム
JP2009017439A (ja) パケット転送装置およびパケット転送方法。
JP5324380B2 (ja) パケット転送装置
JP2009123050A (ja) 情報検索装置、及び情報検索装置へのエントリ情報の登録方法
JP2003234762A (ja) テーブル検索装置および方法およびプログラムおよび記録媒体

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060919

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061215

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070313

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070320

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees