JP3558151B2 - Data search circuit - Google Patents

Data search circuit Download PDF

Info

Publication number
JP3558151B2
JP3558151B2 JP04144197A JP4144197A JP3558151B2 JP 3558151 B2 JP3558151 B2 JP 3558151B2 JP 04144197 A JP04144197 A JP 04144197A JP 4144197 A JP4144197 A JP 4144197A JP 3558151 B2 JP3558151 B2 JP 3558151B2
Authority
JP
Japan
Prior art keywords
data
address
register
search
pointer
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
JP04144197A
Other languages
Japanese (ja)
Other versions
JPH10222535A (en
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP04144197A priority Critical patent/JP3558151B2/en
Publication of JPH10222535A publication Critical patent/JPH10222535A/en
Application granted granted Critical
Publication of JP3558151B2 publication Critical patent/JP3558151B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、外部から入力された項目をキーとして、データ記憶手段に予め格納した複数のデータ群からなるデータテーブルの内から一致する項目を含むデータ群を検索し、該検索したデータ群の中の特定のデータを読み出すデータ検索回路に係り、特にインターネットプロトコル(IP)のためのルーティング処理などで用いられるベストマッチ処理を高速に行うような回路に好適なデータ検索回路に関するものである。
【0002】
【従来の技術】
複数の入出力ポートをもつIPルーティング処理装置(ルータ)を用いてIPルーティング処理を行うには、入力ポートに到着したパケットのヘッダ情報から32ビットの「相手IPアドレス」を検出し、その「相手IPアドレス」に対応した出力ポートにそのパケットを送出する必要がある。
【0003】
このとき、どの出力ポートにパケットを送出するかを決定する必要があるが、これは、ルータ内にあるルーティングテーブルを「相手IPアドレス」をキーとして検索し、一致したデータ群に設定されている出力ポートを選択することによって行う。
【0004】
この検索処理には、ベストマッチ方式が採用されている。このベストマッチ処理は、まず、ルーティングテーブル内のIPアドレスと、そのIPアドレスごとに一対一対応で別途用意されているネットマスク情報により「相手IPアドレス」の一部(例えば下位)のビットをマッチングの対象から除外した内容(マスキング処理した内容)とを比較処理する。この際、複数候補がマッチしたときは、マスクの長さ(ビット幅)が最も短いものを最優先候補として採用する。
【0005】
【発明が解決しようとする課題】
ところが、このベストマッチ処理は、ルーティング処理の主要部分であるにもかかわらず、従来ではCPUを使用してソフトウエアで処理していたため、ルータ自体のスループットを向上させる上で問題であった。すなわち、従来では、前回の検索で得た先のデータ群に一致するIPアドレスがなかったとき、次に検索すべき別のデータ群を指定するポインタ(次アドレス)を、ソフトウエア計算により得る必要があり、時間がかかっていた。
【0006】
本発明の目的は、上記したベストマッチ処理をはじめ、検索キーの一部を1回の検索ごとに別個の情報でマスクする必要のあるようなデータ検索処理を高速に行うことができるようにしたデータ検索回路を提供することである。
【0007】
(削除)
【0008】
(削除)
【0009】
【課題を解決するための手段】
本発明のデータ検索回路は、マスクデータ、検索IPアドレス、第1ポインタ、第2ポインタ、および前記検索IPアドレスと入力した「相手IPアドレス」の比較の結果が一致したときに出力されるデータである情報データの組を1つのデータ群とし、複数の該データ群からなるデータテーブルが格納されたデータ記憶手段(1〜4)と、入力した前記「相手IPアドレス」を一時的に保持する第1レジスタ(6)と、前記データ記憶手段(1〜4)において現在アクセスしているデータ群を指示するアドレスを保持する第2レジスタ(5)と、前記データ記憶手段(1〜4)における現在アクセスされているデータ群の前記検索IPアドレス、前記第1ポインタ、前記第2ポインタ、および前記情報データをそれぞれ一時的に保持する第3〜第6レジスタ(8〜11)と、前記第1レジスタ(6)から前記「相手IPアドレス」を受けて前記アクセスされているデータ群のマスクデータに応じてマスク処理を行うマスク処理器(7)と、該マスク処理器(7)から出力されるマスク処理された前記「相手IPアドレス」と前記第3レジスタ(8)の内容との大小および一致関係を判定する比較器(12)と、該比較器(12)の比較により一方が他方より大きいと判定した場合に前記第4レジスタ(9)の内容を、小さいと判定した場合に前記第5レジスタ(10)の内容を、前記第2レジスタ(5)に出力して、前記データ記憶手段(1〜4)をアクセスするアドレスを更新するセレクタ(13)と、を有し、前記比較器(12)の比較結果が一致と判定された場合に前記第6レジスタ(11)の内容を検索データとして出力するように構成した。
【0010】
【発明の実施の形態】
図1は本発明の1つの実施の形態のデータ検索回路の構成を示す図であり、IPのルーティング処理におけるベストマッチ処理を行うための回路である。1〜4はSRAMで構成され、検索対象がテーブル(ルーティングテーブル)として格納されたメモリ回路(データ記憶手段)であり、これらは全てアドレス用のレジスタ5によってアドレッシングされる。
【0011】
まず、メモリ回路1には入力する「相手IPアドレス」用のマスクデータが、メモリ回路2には入力する「相手IPアドレス」(ただし、マスク処理済み)と比較されるIPアドレスが、メモリ回路3にはその比較の結果が不一致だったときに次に検索すべきデータ群のアドレスを示すポインタが、メモリ回路4には比較の結果が一致したとき読み出す情報(例えば、当該パケットを次に送るべきルータのIPアドレス等)が、それぞれ格納されている。
【0012】
これらのマスクデータ、IPアドレス、ポインタ、および情報は、その1組で1つのアドレスをもつデータ群を構成し、該データ群の複数個が個々の異なったアドレスで、メモリ回路1〜4にルーティングテーブルとして格納されている。なお、メモリ回路3に格納されたポインタは、「left」と「right 」という2つのアドレスデータである。
【0013】
6は入力する「相手IPアドレス」を格納するレジスタ、7はその「相手IPアドレス」の特定のビットに対してメモリ回路1から読み出したマスクデータでマスク処理を行うマスク処理器、8はメモリ回路2から読み出した「検索IPアドレス」を格納するレジスタ、9はメモリ回路3から読み出したポインタ「left」を格納するレジスタ、10はメモリ回路3から読み出したポインタ「right 」を格納するレジスタ、11はメモリ回路4から読み出した情報を格納するレジスタである。
【0014】
12はマスク処理器7でマスク処理した「相手IPアドレス」とレジスタ8に格納した「検索IPアドレス」を比較する比較器であって、一致/不一致を判断し、さらに不一致の場合には入力された2つのデータを0以上の整数とみなし、「相手IPアドレス」が「検索IPアドレス」よりも大きいとき「0」を、その反対のとき「1」を出力する。
【0015】
13は比較器12の比較結果が不一致とき、その不一致内容によってレジスタ9のデータ又はレジスタ10のデータを選択して出力するセレクタ、14は初期に「相手IPアドレス」に応じて入力する「入力先頭アドレス」を選択し、その後にセレクタ13の出力データを選択するセレクタ、15はセレクタ13から出力するポインタが「アドレス0番地」を示すとき「一致データなし」の信号を出力する終了判断器である。
【0016】
次に動作を説明する。まず、レジスタ6に「相手IPアドレス」を格納し、またその「相手IPアドレス」に対応した「入力先頭アドレス」をレジスタに、セレクタ14を介して格納する。このセレクタ14は、レジスタ5への格納が完了した後に、次の処理のためにセレクタ13からデータ(ポインタ)を入力するよう設定される。
【0017】
次に、レジスタ5に格納された「入力先頭アドレス」によって、メモリ回路1〜4のマスクデータ、IPアドレス、ポインタ「left,right 」、情報が読み出され、それぞれマスク処理器7、レジスタ8、9、10、11に格納される。ここで、レジスタ6の「相手IPアドレス」は、マスク処理器7においてマスク処理され、比較器12の一方の入力となる。
【0018】
この比較器12では、マスク処理器7から出力する「相手IPアドレス」とジスタ8から出力する「検索IPアドレス」とを比較し、両者が一致するときは、レジスタ11に対して、そこに格納された情報を検索結果として出力するよう指示する。
【0019】
しかし、「相手IPアドレス」が「検索IPアドレス」よりも大きいときはセレクタ13でレジスタ9を選択し、そこに格納されているポインタ「left」をセレクタ14を介してレジスタ5に格納して、そのポインタ「left」の内容でメモリ回路1〜4に対して新たなアドレッシングを行い再検索する。また、逆に、「相手IPアドレス」が「検索IPアドレス」よりも小さいときはセレクタ13でレジスタ10を選択し、そこに格納されているポインタ「right 」をセレクタ14を介してレジスタ5に格納して、そのポインタ「right 」の内容で新たなアドレッシングを行い再検索する。
【0020】
このようにして、比較器12から一致信号がでるまで、比較処理と検索が繰り返される。しかし、セレクタ13から出るポインタ「left」、「right 」が「アドレス0番地」を示したときには、終了判断器15により、「一致データなし」の信号を外部に出力し、処理を中断する。
【0021】
以上から、ポインタが予めメモリ回路3に登録されているので、従来のようにソフトウエア計算等によりポインタを生成する手段が必要がなく、検索処理の速度を高速化できる。また、ハードウエア的にポインタ生成回路を設けると、通常では加算器等のように全体の処理速度を低下させる回路を必要とするが、それも必要ないため処理速度が更に向上する。
【0022】
図2は、図1におけるメモリ回路1〜4へのデータの格納の一形式を示した図である。これは、図2の上側に示したような2分木方式でデータを格納する際のデータ格納形式を模式的に表したものである。AからIまで9個のデータを図2の下側のようにテーブルに格納することにより、図1の回路での2分木探索処理が実現できる。この際、マスクの小さいものからA,B,C,....,Iの順に格納しておくと、その順に比較処理が実効されるため、図1の回路を使用してベストマッチ処理が実現できる。
【0023】
図3は、図1のメモリ回路1〜4へのデータの格納の別の形式を示した図である。図3の右側に示すように「left」,「right 」に同じ値のポインタを格納すると、左側に示したようなデータ検索の構造となり、これを図1の回路に適用すると、AからIに向かって順次線形探索を行うことができる。
【0024】
以上のように、本実施の形態では、メモリ回路3に格納するポインタの値を適宜設定/変更することにより、2分木方式の探索、あるいは線形方式の探索が実現でき、その他の方式の探索も可能となり、検索回路を変更する必要がない。
【0025】
【発明の効果】
以上から本発明によれば、先の検索で得た先のデータ群に一致する項目がなかったとき次に検索すべき別のデータ群を指定するポインタを、前記先のデータ群の内に持たせたので、次回の検索のためのポインタ計算を行うことなくそれを参照することで次の検索用のポインタを得ることができ、IPルーティング処理のベストマッチ処理に適用しても、その処理を高速化でき、スループットを向上させることができる。
【0026】
また、データ記憶手段に格納するポインタのデータ構造を変更するのみでデータ検索順序を実質的に変更できるため、回路を一旦構成した後であってもその回路を変更することなく、データの特性に合った方式の検索を容易に実現できるという利点がある。
【0027】
さらに、レジスタ等の単純な回路構成とデータ記憶手段を用いるのみで、ベストマッチ処理をはじめ、検索キーの一部を1回の検索ごとに別個の情報でマスクする必要のあるデータ検索処理を実行するデータ検索回路が実現できるという利点もある。
【図面の簡単な説明】
【図1】本発明の1つの実施の形態のデータ検索回路の構成を示す機能ブロック図である。
【図2】2分木方式の検索を実現するときのデータテーブルの構成の説明図である。
【図3】線形方式の検索を実現するときのデータテーブルの構成の説明図である。
[0001]
TECHNICAL FIELD OF THE INVENTION
According to the present invention, a data group including a matching item is searched from a data table including a plurality of data groups stored in advance in a data storage unit using an item input from the outside as a key. More particularly, the present invention relates to a data search circuit suitable for a circuit that performs high-speed best match processing used in routing processing for the Internet Protocol (IP) or the like.
[0002]
[Prior art]
To perform an IP routing process using an IP routing processing device (router) having a plurality of input / output ports, a 32-bit “partner IP address” is detected from header information of a packet arriving at an input port, and the “partner IP address” is detected. It is necessary to send the packet to an output port corresponding to the “IP address”.
[0003]
At this time, it is necessary to determine to which output port the packet is to be sent, but this is done by searching the routing table in the router using the “partner IP address” as a key, and setting it in the matched data group. This is done by selecting an output port.
[0004]
This search process employs a best match method. In this best match process, first, a part (for example, lower) bits of the "partner IP address" is matched by an IP address in the routing table and netmask information separately prepared for each IP address on a one-to-one basis. Is compared with the contents excluded from the target (contents subjected to the masking processing). At this time, when a plurality of candidates match, the one with the shortest mask length (bit width) is adopted as the highest priority candidate.
[0005]
[Problems to be solved by the invention]
However, although this best match process is a main part of the routing process, it has conventionally been processed by software using a CPU, which is a problem in improving the throughput of the router itself. That is, conventionally, when there is no IP address that matches the previous data group obtained in the previous search, it is necessary to obtain, by software calculation, a pointer (next address) specifying another data group to be searched next. There was a long time.
[0006]
An object of the present invention is to enable high-speed data search processing such as the above-described best match processing, in which a part of a search key needs to be masked with separate information for each search. A data search circuit is provided.
[0007]
(Delete)
[0008]
(Delete)
[0009]
[Means for Solving the Problems]
The data search circuit according to the present invention includes a mask data, a search IP address , a first pointer, a second pointer, and data output when a result of comparison between the search IP address and the input “partner IP address” matches. a set of certain information data as one data group, a plurality of data tables stored data storage means comprising the data groups (1 to 4), the temporarily holding the input "destination IP address" A first register (6), a second register (5) for holding an address indicating a data group currently accessed in the data storage means (1 to 4), and a current register in the data storage means (1 to 4). the search IP address of the data group being accessed, the holding said first pointer, the second pointer, and the information data in each temporary To a sixth register (8 to 11) and a mask processor (7) which receives the "partner IP address" from the first register (6) and performs a mask process in accordance with the mask data of the data group being accessed. ) And a comparator (12) for judging the magnitude and coincidence of the masked “partner IP address” output from the mask processor (7) and the contents of the third register (8). If the comparator (12) determines that one is greater than the other, the content of the fourth register (9) is replaced by the content of the fifth register (10). A selector (13) for outputting to the register (5) and updating an address for accessing the data storage means (1 to 4), and the comparison result of the comparator (12) is determined to be coincident. If the said And configured to output the contents of register (11) as the search data.
[0010]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 1 is a diagram showing a configuration of a data search circuit according to one embodiment of the present invention, which is a circuit for performing a best match process in an IP routing process. Reference numerals 1 to 4 denote SRAM circuits, each of which is a memory circuit (data storage means) in which a search target is stored as a table (routing table). These are all addressed by an address register 5.
[0011]
First, the mask data for the “partner IP address” input to the memory circuit 1 and the IP address to be compared with the “partner IP address” (masked) input to the memory circuit 2 are stored in the memory circuit 3. Indicates a pointer indicating the address of the data group to be searched next when the result of the comparison does not match, and information to be read when the result of the comparison matches (for example, the packet should be sent next). Router IP address, etc.).
[0012]
The mask data, the IP address, the pointer, and the information constitute a data group having one address as a set, and a plurality of the data groups are routed to the memory circuits 1 to 4 with individually different addresses. Stored as a table. Note that the pointer stored in the memory circuit 3 is two address data, “left” and “right”.
[0013]
Reference numeral 6 denotes a register for storing the input “partner IP address”, 7 denotes a mask processor for performing a mask process on a specific bit of the “partner IP address” using the mask data read from the memory circuit 1, and 8 denotes a memory circuit. 2, a register storing the pointer "left" read from the memory circuit 3, a register storing the pointer "right" read from the memory circuit 3, and a register 11 storing the pointer "right" read from the memory circuit 3. This is a register for storing information read from the memory circuit 4.
[0014]
Reference numeral 12 denotes a comparator for comparing the “other party IP address” masked by the mask processor 7 with the “search IP address” stored in the register 8. The comparator 12 determines a match / mismatch. The two data are regarded as integers equal to or greater than 0, and "0" is output when the "partner IP address" is larger than the "search IP address", and "1" is output when the opposite is true.
[0015]
A selector 13 selects and outputs the data of the register 9 or the data of the register 10 according to the content of the mismatch when the comparison result of the comparator 12 does not match. "Address", and thereafter, a selector for selecting the output data of the selector 13. Reference numeral 15 denotes an end determiner for outputting a signal of "no matching data" when the pointer output from the selector 13 indicates "address 0". .
[0016]
Next, the operation will be described. First, the “partner IP address” is stored in the register 6, and the “input head address” corresponding to the “partner IP address” is stored in the register 5 via the selector 14. The selector 14 is set to input data (pointer) from the selector 13 for the next processing after the storage in the register 5 is completed.
[0017]
Next, the mask data, the IP address, the pointer “left, right” and the information of the memory circuits 1 to 4 are read out by the “input head address” stored in the register 5, and the mask processor 7, the register 8, 9, 10, and 11. Here, the “partner IP address” of the register 6 is subjected to mask processing in the mask processor 7 and becomes one input of the comparator 12.
[0018]
In the comparator 12, when the output from the mask processor 7 as "Destination IP Address" is output from the register 8 is compared with the "search IP address", they are the same, the register 11, there Instructs to output the stored information as a search result.
[0019]
However, when the “partner IP address” is larger than the “search IP address”, the selector 13 selects the register 9 and stores the pointer “left” stored therein in the register 5 via the selector 14. New addressing is performed on the memory circuits 1 to 4 with the contents of the pointer "left", and the search is performed again. Conversely, when the “partner IP address” is smaller than the “search IP address”, the selector 13 selects the register 10 and stores the pointer “right” stored therein in the register 5 via the selector 14. Then, new addressing is performed using the content of the pointer "right" and the search is performed again.
[0020]
In this way, the comparison process and the search are repeated until a match signal is output from the comparator 12. However, when the pointers “left” and “right” output from the selector 13 indicate “address 0”, the end determination unit 15 outputs a signal indicating “no match data” to the outside and interrupts the processing.
[0021]
As described above, since the pointer is registered in the memory circuit 3 in advance, there is no need for a means for generating the pointer by software calculation or the like as in the related art, and the speed of the search process can be increased. Also, if a pointer generation circuit is provided in hardware, a circuit for lowering the overall processing speed such as an adder is usually required, but the processing speed is further improved since it is not necessary.
[0022]
FIG. 2 is a diagram showing one form of storing data in the memory circuits 1 to 4 in FIG. This is a schematic representation of a data storage format for storing data in a binary tree format as shown in the upper part of FIG. By storing nine data from A to I in the table as shown in the lower part of FIG. 2, the binary tree search processing in the circuit of FIG. 1 can be realized. At this time, A, B, C,. . . . , I are stored in this order, the comparison process is performed in that order, so that the best match process can be realized using the circuit of FIG.
[0023]
FIG. 3 is a diagram showing another format of storing data in the memory circuits 1 to 4 of FIG. When the pointers of the same value are stored in “left” and “right” as shown on the right side of FIG. 3, a data search structure as shown on the left side is obtained. When this is applied to the circuit of FIG. A linear search can be performed sequentially.
[0024]
As described above, in the present embodiment, the binary tree search or the linear search can be realized by appropriately setting / changing the value of the pointer stored in the memory circuit 3, and the search of other methods can be realized. And the search circuit need not be changed.
[0025]
【The invention's effect】
As described above, according to the present invention, when there is no item that matches the previous data group obtained in the previous search, a pointer designating another data group to be searched next is held in the previous data group. Therefore, a pointer for the next search can be obtained by referring to it without calculating a pointer for the next search, and even if the process is applied to the best match process of the IP routing process, the process is performed. The speed can be increased, and the throughput can be improved.
[0026]
Further, since the data search order can be substantially changed only by changing the data structure of the pointer stored in the data storage means, even if the circuit is once constructed, the circuit characteristics can be changed without changing the circuit. There is an advantage that it is possible to easily realize a search of a suitable method.
[0027]
Furthermore, only by using a simple circuit configuration such as a register and data storage means, a data search process that requires a part of a search key to be masked with separate information for each search, including a best match process. There is also an advantage that a data search circuit can be realized.
[Brief description of the drawings]
FIG. 1 is a functional block diagram showing a configuration of a data search circuit according to one embodiment of the present invention.
FIG. 2 is an explanatory diagram of the configuration of a data table when implementing a binary tree search.
FIG. 3 is an explanatory diagram of a configuration of a data table when realizing a linear search.

Claims (1)

マスクデータ、検索IPアドレス、第1ポインタ、第2ポインタ、および前記検索IPアドレスと入力した「相手IPアドレス」の比較の結果が一致したときに出力されるデータである情報データの組を1つのデータ群とし、複数の該データ群からなるデータテーブルが格納されたデータ記憶手段(1〜4)と、
入力した前記「相手IPアドレス」を一時的に保持する第1レジスタ(6)と、
前記データ記憶手段(1〜4)において現在アクセスしているデータ群を指示するアドレスを保持する第2レジスタ(5)と、
前記データ記憶手段(1〜4)における現在アクセスされているデータ群の前記検索IPアドレス、前記第1ポインタ、前記第2ポインタ、および前記情報データをそれぞれ一時的に保持する第3〜第6レジスタ(8〜11)と、
前記第1レジスタ(6)から前記「相手IPアドレス」を受けて前記アクセスされているデータ群のマスクデータに応じてマスク処理を行うマスク処理器(7)と、
該マスク処理器(7)から出力されるマスク処理された前記「相手IPアドレス」と前記第3レジスタ(8)の内容との大小および一致関係を判定する比較器(12)と、
該比較器(12)の比較により一方が他方より大きいと判定した場合に前記第4レジスタ(9)の内容を、小さいと判定した場合に前記第5レジスタ(10)の内容を、前記第2レジスタ(5)に出力して、前記データ記憶手段(1〜4)をアクセスするアドレスを更新するセレクタ(13)と、
を有し、前記比較器(12)の比較結果が一致と判定された場合に前記第6レジスタ(11)の内容を検索データとして出力することを特徴とするデータ検索回路。
One set of information data, which is data output when the result of comparison between the mask data, the search IP address , the first pointer, the second pointer, and the input IP address of the partner matches the search IP address, is defined as one A data storage means (1 to 4) in which a data group is stored as a data group and a data table including a plurality of the data groups;
First register for temporarily holding the input "destination IP address" and (6),
A second register (5) for holding an address indicating a data group currently being accessed in the data storage means (1-4);
Third to sixth registers for temporarily storing the search IP address , the first pointer, the second pointer, and the information data of the data group currently accessed in the data storage means (1 to 4), respectively (8-11),
A mask processor (7) for receiving the “partner IP address” from the first register (6) and performing a mask process according to mask data of the accessed data group;
A comparator (12) for judging a magnitude and a coincidence between the masked “partner IP address” output from the mask processor (7) and the content of the third register (8);
If the comparator (12) determines that one is greater than the other, the content of the fourth register (9) is replaced by the content of the fifth register (10). A selector (13) for outputting to a register (5) and updating an address for accessing the data storage means (1 to 4);
A data search circuit that outputs the contents of the sixth register (11) as search data when the comparison result of the comparator (12) is determined to be a match.
JP04144197A 1997-02-12 1997-02-12 Data search circuit Expired - Fee Related JP3558151B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP04144197A JP3558151B2 (en) 1997-02-12 1997-02-12 Data search circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04144197A JP3558151B2 (en) 1997-02-12 1997-02-12 Data search circuit

Publications (2)

Publication Number Publication Date
JPH10222535A JPH10222535A (en) 1998-08-21
JP3558151B2 true JP3558151B2 (en) 2004-08-25

Family

ID=12608467

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04144197A Expired - Fee Related JP3558151B2 (en) 1997-02-12 1997-02-12 Data search circuit

Country Status (1)

Country Link
JP (1) JP3558151B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100333250B1 (en) 1998-10-05 2002-05-17 가나이 쓰토무 Packet forwarding apparatus with a flow detection table
JP3735471B2 (en) * 1998-10-05 2006-01-18 株式会社日立製作所 Packet relay device and LSI
FR2789778B1 (en) * 1999-02-12 2001-09-14 France Telecom METHOD FOR ASSOCIATING ROUTING REFERENCES WITH DATA PACKETS BY MEANS OF A SORTED MEMORY, AND PACKET ROUTER APPLYING THIS METHOD
JP2001326679A (en) 2000-05-15 2001-11-22 Fujitsu Ltd Information unit, table retrieval device, table retrieval method, and recording medium
JP2006333438A (en) 2005-04-28 2006-12-07 Fujitsu Ten Ltd Gateway apparatus and routing method

Also Published As

Publication number Publication date
JPH10222535A (en) 1998-08-21

Similar Documents

Publication Publication Date Title
US6665297B1 (en) Network routing table
US5920886A (en) Accelerated hierarchical address filtering and translation using binary and ternary CAMs
JP4742167B2 (en) Method for performing a table lookup operation using a table index that exceeds the CAM key size
US6553002B1 (en) Apparatus and method for routing data packets through a communications network
US7418505B2 (en) IP address lookup using either a hashing table or multiple hash functions
US6654701B2 (en) Method and apparatus for measuring protocol performance in a data communication network
US6181698B1 (en) Network routing table using content addressable memory
US6430527B1 (en) Prefix search circuitry and method
US6778984B1 (en) Flexible and high-performance packet classification algorithm
US20040230583A1 (en) Comparison tree data structures of particular use in performing lookup operations
JP2001509978A (en) Fast Variable Length Best Match Lookup in Switching Devices
US6570866B1 (en) High-speed flexible longest match retrieval
Hayashi et al. High-speed table lookup engine for IPv6 longest prefix match
US7937495B2 (en) System and method for modifying data transferred from a source to a destination
JP3558151B2 (en) Data search circuit
TWI239476B (en) Address search
KR100456671B1 (en) Parallel lookup engine and method for fast packet forwarding in network router
JP2006246488A (en) Network router, address processing method, and computer program
US20050165958A1 (en) Data relay apparatus, content addressable/associative memory device, and content addressable/associative memory device use information search method
US11683039B1 (en) TCAM-based not logic
US9544226B1 (en) Efficient address-based rule resolution in a network employing a bit-mapped index
US8040882B2 (en) Efficient key sequencer
Ghosh et al. A hash based architecture of longest prefix matching for fast IP processing
JP3795881B2 (en) Table search method and apparatus
JP4726310B2 (en) Information retrieval apparatus, information retrieval multiprocessor and router

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040322

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040512

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090528

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090528

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100528

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100528

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110528

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120528

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees