JP2006135660A - Association memory and packet transfer device - Google Patents

Association memory and packet transfer device Download PDF

Info

Publication number
JP2006135660A
JP2006135660A JP2004322425A JP2004322425A JP2006135660A JP 2006135660 A JP2006135660 A JP 2006135660A JP 2004322425 A JP2004322425 A JP 2004322425A JP 2004322425 A JP2004322425 A JP 2004322425A JP 2006135660 A JP2006135660 A JP 2006135660A
Authority
JP
Japan
Prior art keywords
search
unit
packet
tables
keys
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.)
Pending
Application number
JP2004322425A
Other languages
Japanese (ja)
Inventor
Shinichi Akaha
真一 赤羽
Tatsuro Kanetake
達郎 金武
Kazuo Sukai
和雄 須貝
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.)
Alaxala Networks Corp
Original Assignee
Alaxala Networks 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 Alaxala Networks Corp filed Critical Alaxala Networks Corp
Priority to JP2004322425A priority Critical patent/JP2006135660A/en
Publication of JP2006135660A publication Critical patent/JP2006135660A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To prevent the generation of noises by inhibiting the rapid increase of a power consumption. <P>SOLUTION: A retrieval control unit carries out retrievals in parallel by first and second retrieval-key storage sections receiving a plurality of retrieval keys on the basis of an operation clock, a plurality of retrieval tables 122-1 and 2 presetting address conditions, a retrieval-key distributor 121 making a plurality of the retrieval keys correspond to a plurality of the retrieval tables 122-1 and 2 and a plurality of tables to which a plurality of the retrieval keys are made to correspond. The retrieval control unit successively starts the retrievals regarding the retrieval keys made to correspond to a plurality of the tables 122-1 and 2. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、高速な経路テーブル検索を行う連想メモリ(CAM=Contents Addressable Memory)及びCAMを用いたネットワーク装置に関する。   The present invention relates to an associative memory (CAM = Contents Addressable Memory) for performing a high-speed route table search and a network device using the CAM.

IP(Internet Protocol)ネットワークを構成するルータやスイッチは、パケットの宛先を決定するルーティング検索や、パケットが属するフロー検出のためのフローテーブル検索を行っている。   Routers and switches constituting an IP (Internet Protocol) network perform a routing search for determining a packet destination and a flow table search for detecting a flow to which the packet belongs.

このようなネットワーク装置では、検索を行うアドレスを検索キー(ビット列)として入力し、予め設定したテーブルで入力した検索キーに対応するアドレスを出力する連想メモリ(CAM=Contents Addressable Memory)を用いた経路テーブル検索方法が広く採用されている。   In such a network device, a path using an associative memory (CAM = Contents Addressable Memory) that inputs an address to be searched as a search key (bit string) and outputs an address corresponding to the search key input in a preset table. A table search method is widely adopted.

近年、ネットワーク規模の大型化やトラフィックの増加などにより、連想メモリ(以下、CAM)の検索を高速化することが検討されている。CAMの高速化としては、CAMへ入力するデータ量を向上させる手法があり、単位クロック時間当りの入力データ量を増加させるため、クロック信号の立上がりエッジと立下りエッジの両エッジで異なるデータをCAMへ送信するDouble Data Rate (以下,DDR)方式がある。   In recent years, speeding up of associative memory (hereinafter referred to as CAM) search has been studied due to an increase in the size of a network and an increase in traffic. As an increase in the speed of CAM, there is a method of improving the amount of data input to the CAM. In order to increase the amount of input data per unit clock time, different data is generated at both the rising edge and falling edge of the clock signal. There is a Double Data Rate (hereinafter referred to as DDR) method.

また、他の高速化としては、CAMの検索処理を並列的に行うことで、単位時間当たりの検索処理能力を向上するものが知られている(例えば、特許文献1)。これは、CAMの記憶領域を複数のバンクに分けておき、入力された検索キーを上位ビットと下位ビットに分け、複数のバンクで同時に上位ビットと下位ビットの検索処理を行うものである。
米国特許第6374326号
As another speedup, there is known a technique in which search processing capability per unit time is improved by performing CAM search processing in parallel (for example, Patent Document 1). In this method, the storage area of the CAM is divided into a plurality of banks, the input search key is divided into upper bits and lower bits, and the upper bits and lower bits are searched simultaneously in the plurality of banks.
US Pat. No. 6,374,326

しかし、上記特許文献1の従来例では、並列検索を行う複数のバンクの検索動作タイミングが同一タイミングである。この場合、CAMの全てのバンクが同時に検索されることになり、全く検索を行っていない状態から検索頻度が高くなる場合に、消費電流が大きく増加し、消費電流の増加に伴うCAM内の電源ノイズが大きくなり、このノイズによりCAMの検索動作が正しく行われない可能性がある。   However, in the conventional example of Patent Document 1, the search operation timings of a plurality of banks performing parallel search are the same timing. In this case, all banks of the CAM are searched at the same time, and when the search frequency increases from a state where no search is performed at all, the current consumption greatly increases, and the power supply in the CAM accompanying the increase in the current consumption There is a possibility that noise becomes large and the search operation of CAM may not be performed correctly due to this noise.

また、CAMの入力に関して上述のようなDDRが知られているが、上記特許文献1の従来例では、検索キーの入力についてDDRを適用した場合にどのようなタイミングで処理が行われるかについて記載はなく、一般的なSDR(Single Data Rate)を適用した場合では、並列化により検索処理を向上させても、入力の帯域幅が拡張されていないため、CAM全体の性能向上は望めない、という問題がある。   In addition, DDR as described above is known regarding CAM input. However, in the conventional example of Patent Document 1, the timing at which processing is performed when DDR is applied to search key input is described. However, in the case of applying a general SDR (Single Data Rate), even if the search processing is improved by parallelization, the bandwidth of the input is not expanded, so that it is not possible to improve the performance of the entire CAM. There's a problem.

本発明は、これらの問題点に鑑みてなされたもので、CAMへの検索キーの入力帯域とCAMの検索性能をバランスさせて、CAMの全体的な性能を向上させながら、検索実行時の消費電流の急増に伴う電源ノイズを抑え、CAMの誤動作を防ぐことを目的とする。   The present invention has been made in view of these problems, and balances the input bandwidth of the search key to the CAM and the search performance of the CAM, thereby improving the overall performance of the CAM while consuming the search at the time of execution. An object of the present invention is to suppress power supply noise caused by a sudden increase in current and prevent malfunction of the CAM.

本発明は、動作クロックに基づいて複数の検索キーを受信する検索キー受信部と、予めアドレス条件を設定した複数の検索テーブルと、前記複数の検索キーを前記複数の検索テーブルに対応付ける検索キー分配部と、前記複数の検索キーが対応付けられた前記複数のテーブルで並列的に検索を実行する検索制御部と、を備え、前記検索制御部は、前記複数のテーブルに対応付けられた検索キーについて、順次検索を開始する。   The present invention relates to a search key receiving unit that receives a plurality of search keys based on an operation clock, a plurality of search tables in which address conditions are set in advance, and a search key distribution that associates the plurality of search keys with the plurality of search tables. And a search control unit that executes a search in parallel with the plurality of tables associated with the plurality of search keys, wherein the search control unit is associated with the plurality of tables. The search is sequentially started.

また、前記検索キー受信部は、前記動作クロックの立ち上がりエッジと立ち下がりエッジで、前記複数の検索キーを順次受信する。   The search key receiving unit sequentially receives the plurality of search keys at a rising edge and a falling edge of the operation clock.

したがって、本発明は、複数の検索テーブルを異なる検索キーで順次検索処理を開始させてから並列的に処理することで連想メモリの高速化を達成し、複数の検索処理を順次開始するようにしたので、連想メモリの消費電力が段階的に上昇させることができ、消費電力の急増に起因するノイズの誘発を抑制して、安定した検索処理を実現できる。   Therefore, the present invention achieves the speed of the associative memory by sequentially starting a plurality of search tables with different search keys and then processing in parallel, thereby starting a plurality of search processes sequentially. Therefore, the power consumption of the associative memory can be increased in stages, and the induction of noise caused by the rapid increase in power consumption can be suppressed and stable search processing can be realized.

また、検索キーの入力をDDRで行うようにしたので、単位時間当たりに検索テーブルへ入力可能なデータ(検索キー)量を増大し、連想メモリの処理能力をさらに向上させることが可能となる。   In addition, since the search key is input by DDR, the amount of data (search key) that can be input to the search table per unit time can be increased, and the processing capability of the associative memory can be further improved.

以下、本発明の一実施形態を添付図面に基づいて説明する。   Hereinafter, an embodiment of the present invention will be described with reference to the accompanying drawings.

図1は、本発明のCAM(Contents Addressable Memory)を用いたルータを示し、以下、ルータの概要動作を図1、図2および図3を用いて説明する。   FIG. 1 shows a router using a CAM (Contents Addressable Memory) of the present invention, and the general operation of the router will be described below with reference to FIGS.

図1は本発明のルータ200のブロック図を示す。ルータ200はネットワーク1からのパケットを受信するN個の入力回線201−i(i=1〜N)と、ネットワーク1にパケットを送信するN個の出力回線202−i(i=1〜N)と、送受信するパケットの処理を行うN個のインターフェース部210−i(i=1〜N)と、インターフェース部210−iを結合する一つのパケット中継処理部250と、各インターフェース部210−iを制御するプロセッサ280から構成される。なお、プロセッサ280は、制御端末10からの指令を受ける。   FIG. 1 shows a block diagram of a router 200 of the present invention. The router 200 receives N input lines 201-i (i = 1 to N) for receiving packets from the network 1, and N output lines 202-i (i = 1 to N) for transmitting packets to the network 1. N interface units 210-i (i = 1 to N) that process packets to be transmitted and received, one packet relay processing unit 250 that couples the interface units 210-i, and each interface unit 210-i It comprises a processor 280 for controlling. The processor 280 receives a command from the control terminal 10.

インターフェース部210−iは、パケットの受信処理を行うパケット受信回路230と、入力(受信)したパケットの宛先IPアドレスに基づいて該パケットの次ホップIPアドレスと該パケットを出力する回線の番号(出力回線番号あるいはポート番号)を判定し、これらの情報をパケット受信回路230に出力する経路テーブル検索部100と、パケット中継処理部250から受信したパケットの送信処理を行うパケット送信回路270と、MACアドレスとIPアドレスの対応関係を示すARP(Address Resolution Protocol)テーブル検索部220から構成される。   The interface unit 210-i includes a packet reception circuit 230 that performs packet reception processing, a next hop IP address of the packet based on a destination IP address of the input (received) packet, and a line number (output) that outputs the packet. A route table search unit 100 that outputs the information to the packet reception circuit 230, a packet transmission circuit 270 that performs transmission processing of the packet received from the packet relay processing unit 250, and a MAC address. And an ARP (Address Resolution Protocol) table search unit 220 indicating the correspondence between IP addresses.

パケットが入力回線201−iより入力されるとパケット受信回路230は、受信したパケットのヘッダに内部ヘッダ部を付加して本パケットを蓄積すると同時に、ヘッダ内の宛先IPアドレスを経路テーブル検索部100に送信する。   When a packet is input from the input line 201-i, the packet receiving circuit 230 adds an internal header portion to the header of the received packet and accumulates the packet, and at the same time, determines the destination IP address in the header as the route table search unit 100. Send to.

経路テーブル検索部100は前記宛先IPアドレスより入力したパケットを出力する出力回線の番号である出力回線番号と該パケットを受信する次のホップ(ルータまたは端末)のIPアドレスである次ホップIPアドレスを判定し、パケット出力回線情報としてパケット受信回路230に送信する。   The routing table search unit 100 obtains an output line number that is an output line number that outputs a packet input from the destination IP address and a next hop IP address that is an IP address of a next hop (router or terminal) that receives the packet. The determination is made and transmitted to the packet receiving circuit 230 as packet output line information.

パケット受信回路230は、パケット出力回線情報内の出力回線番号と次ホップIPアドレスを内部ヘッダ部に書き込み、パケット中継処理部250へ送信する。   The packet receiving circuit 230 writes the output line number and the next hop IP address in the packet output line information in the internal header part, and transmits them to the packet relay processing part 250.

パケットを受信したパケット中継処理部250は、出力回線番号に対応するインターフェース部210−iのパケット送信回路270に当該パケットを送信する。パケット送信回路270は本パケットを蓄積すると同時に、内部ヘッダ部の次ホップIPアドレスをARPテーブル検索部220に送信する。   The packet relay processing unit 250 that has received the packet transmits the packet to the packet transmission circuit 270 of the interface unit 210-i corresponding to the output line number. The packet transmission circuit 270 accumulates this packet and transmits the next hop IP address of the internal header part to the ARP table search unit 220 at the same time.

ARPテーブル検索部220は次ホップIPアドレスに対応するMACアドレスを判定し、MACアドレス情報としてパケット送信回路270に送信する。   The ARP table search unit 220 determines the MAC address corresponding to the next hop IP address and transmits it to the packet transmission circuit 270 as MAC address information.

パケット送信回路270は上記MACアドレス情報を受信すると、本情報内のMACアドレスを宛先MACアドレスとして、インターフェース部210−iの入出力回線のMACアドレスを送信元MACアドレスとしてそれぞれパケットに書き込み、内部ヘッダ部を削除して蓄積していたパケットを出力回線202−iに送信する。   Upon receiving the MAC address information, the packet transmission circuit 270 writes the MAC address in this information as a destination MAC address and the MAC address of the input / output line of the interface unit 210-i as a source MAC address in the packet, The packet that has been stored by deleting the part is transmitted to the output line 202-i.

次に図2は、本発明の経路テーブル検索部100のブロック図を示す。経路テーブル検索部100は宛先IPアドレスを蓄積する宛先IPアドレス蓄積部180が信号線21を介してパケット受信回路220に接続され、宛先IPアドレス蓄積部180は検索制御部110に接続される。検索制御部110の検索結果は、信号線22を介してパケット受信回路230に接続される。   Next, FIG. 2 shows a block diagram of the route table search unit 100 of the present invention. In the routing table search unit 100, a destination IP address storage unit 180 that stores a destination IP address is connected to the packet receiving circuit 220 via the signal line 21, and the destination IP address storage unit 180 is connected to the search control unit 110. The search result of the search control unit 110 is connected to the packet receiving circuit 230 via the signal line 22.

検索制御部110は、経路エントリのIPアドレス条件を設定するCAM120を有し、宛先IPアドレス蓄積部180に格納された情報(検索キー)から、ルータ200へ入力されたパケットの次ホップIPアドレスと出力回線番号を判定する。   The search control unit 110 has a CAM 120 for setting the IP address condition of the route entry. From the information (search key) stored in the destination IP address storage unit 180, the next hop IP address of the packet input to the router 200 Determine the output line number.

本発明の経路テーブル検索部100は、一つのCAM120の記憶領域を論理的に複数(例えば、2つ)のテーブル(検索グループ)に分割し、分割した第1検索グループ(検索テーブル)122−1と第2検索グループ(検索テーブル)122−2を用いて複数の検索キー(例えば、宛先IPアドレス)を、予め設定したアドレス条件に一致するかを並列的に検索する。ここで、「並列的」とは、処理開始、終了時刻が一致する場合だけでなく、2以上の処理が同時に進行している期間が少なくとも0.5クロック存在することをいう。   The route table search unit 100 of the present invention logically divides the storage area of one CAM 120 into a plurality of (for example, two) tables (search groups), and divides the first search group (search table) 122-1. And a second search group (search table) 122-2, a plurality of search keys (for example, destination IP addresses) are searched in parallel for matching with a preset address condition. Here, “parallel” means that there are at least 0.5 clock periods in which two or more processes are simultaneously progressing, not only when the process start and end times coincide.

CAM120は複数ビットの一致条件を格納するエントリを複数備え、検索キーが入力されるとエントリ内の一致条件(アドレス条件)と検索キーの一致比較を行い、一致したエントリのアドレスのなかで最も小さなアドレス値を高速に出力する。   The CAM 120 has a plurality of entries for storing a multi-bit matching condition. When a search key is input, the matching condition (address condition) in the entry is compared with the search key, and the address of the matching entry is the smallest. The address value is output at high speed.

そして、CAM120で一致すべきアドレス条件を判定した場合には、検索結果保持テーブル160より上記検索キーと一致したアドレス条件に対応する次ホップIPアドレスと出力回線番号を読み出して検索処理を終了する。   When the address condition to be matched is determined by the CAM 120, the next hop IP address and the output line number corresponding to the address condition matching the search key are read from the search result holding table 160, and the search process is terminated.

経路テーブル検索部100は、上記検索結果に対応した次ホップIPアドレスと出力回線番号をパケット出力回線情報としてパケット受信回路230に送信し、パケット受信回路230はこのパケット出力回線情報に基づいてパケットをパケット中継処理部250に送信する。   The route table search unit 100 transmits the next hop IP address and the output line number corresponding to the search result as packet output line information to the packet receiving circuit 230, and the packet receiving circuit 230 sends a packet based on the packet output line information. The packet is transmitted to the packet relay processing unit 250.

図3は、本発明のCAM120のブロック図である。   FIG. 3 is a block diagram of the CAM 120 of the present invention.

CAM120は、IPアドレスなどの検索キーを伝達する信号線(データ線)25を介して検索制御部110に接続され、検索制御部110はメモリクロック信号線27の動作クロックに同期してDDR(Doble Data Rate)で宛先IPアドレス蓄積部180に格納された複数の宛先IPアドレス等を検索キーとしてCAM120に送信する。CAM120は、受信した複数の検索キーで第1検索グループ122−1と第2検索グループ122−2を並列的に検索し、検索結果をメモリクロック信号線27のクロックに同期して、DDRで検索制御部110に送信する。なお、CAM120はメモリクロック信号線27を介して検索制御部110からクロックの供給を受け、CAM120の各部の同期をとる。   The CAM 120 is connected to the search control unit 110 via a signal line (data line) 25 that transmits a search key such as an IP address. The search control unit 110 synchronizes with the operation clock of the memory clock signal line 27 and performs DDR (Doble (Data Rate), a plurality of destination IP addresses stored in the destination IP address storage unit 180 are transmitted to the CAM 120 as search keys. The CAM 120 searches the first search group 122-1 and the second search group 122-2 in parallel with the received plurality of search keys, and searches the search result by DDR in synchronization with the clock of the memory clock signal line 27. It transmits to the control part 110. The CAM 120 is supplied with a clock from the search control unit 110 via the memory clock signal line 27 and synchronizes each unit of the CAM 120.

さらに、CAM120は、検索の種別を示す情報を伝達する信号線28を介して検索制御部110と接続され、後述するように、検索制御部110は、信号線28を介して検索の種別(モード)を示す情報(以下、検索種別情報)をCAM120に送信し、CAM120では受信した検索種別情報に応じて検索のモードを切り替える。

CAM120の記憶領域は、複数の検索グループに論理的に分割されており、ここでは、第1の検索グループ122−1と第2の検索グループ122−2の2つで構成した場合を示す。
Further, the CAM 120 is connected to the search control unit 110 via a signal line 28 that transmits information indicating the type of search. As will be described later, the search control unit 110 receives a search type (mode) via the signal line 28. ) (Hereinafter referred to as search type information) is transmitted to the CAM 120, and the CAM 120 switches the search mode according to the received search type information.

The storage area of the CAM 120 is logically divided into a plurality of search groups, and here, a case where the storage area is composed of two of the first search group 122-1 and the second search group 122-2 is shown.

CAM120は、検索制御部110から検索キー及び検索種別情報を受信し、複数の検索キーを第1検索グループ122−1と第2検索グループ122−2へ分配する検索キー分配部121を備える。ここで、信号線25から受信する検索キーは、後述するように、クロック線27の動作クロックの立ち上がり(Rise)エッジで一つの検索キーを受信し、同じくクロックの立ち下がり(Fall)エッジで一つの検索キーを受信するDDRでデータ転送が行われる。   The CAM 120 includes a search key distribution unit 121 that receives a search key and search type information from the search control unit 110 and distributes a plurality of search keys to the first search group 122-1 and the second search group 122-2. Here, as will be described later, the search key received from the signal line 25 receives one search key at the rising (Rise) edge of the operation clock of the clock line 27, and is also one at the falling edge (Fall) of the clock. Data transfer is performed by the DDR that receives one search key.

検索キー分配部121は、複数のデータ記憶ブロック123a−i(但し、i=1〜n)を備える第1検索グループ122−1と、複数のデータ記憶ブロック123b−i(但し、i=1〜n)を備える第2検索グループ122−2へ、検索種別情報に応じてDDRで受信した検索キーをそれぞれ投入し、並列的な一致検索を起動する。この並列的な一致検索をすることによって、DDRを用いて高速で受信した検索キーに対して逐一一致検索処理を行う場合に比べて、検索処理による遅延を低減することができ、高速に処理結果を出力することができる。   The search key distribution unit 121 includes a first search group 122-1 including a plurality of data storage blocks 123a-i (where i = 1 to n) and a plurality of data storage blocks 123b-i (where i = 1 to 1). The search key received by DDR is input to the second search group 122-2 having n) according to the search type information, and a parallel matching search is started. By performing this parallel search, it is possible to reduce the delay due to the search process compared to the case where the search process is sequentially performed on the search key received at high speed using DDR, and the processing result is high-speed. Can be output.

第1検索グループ122−1は、検索キーに一致したアドレス条件を生成するヒットアドレス生成回路124−1に接続され、同様に、第2検索グループ122−2は、検索キーに一致したアドレス条件を生成するヒットアドレス生成回路124−2に接続され、第1及び第2検索グループ122−1、2で行われた検索結果が生成される。   The first search group 122-1 is connected to a hit address generation circuit 124-1, which generates an address condition that matches the search key. Similarly, the second search group 122-2 sets the address condition that matches the search key. Connected to the hit address generation circuit 124-2 to be generated, the search results performed in the first and second search groups 122-1, 2 are generated.

2つのヒットアドレス生成回路124−1、2の検索結果は、検索結果出力部125へ送られる。検索結果出力部125では、2つの検索結果をDDRにより信号線26を介して検索制御部110に送信する。   The search results of the two hit address generation circuits 124-1 and 124-2 are sent to the search result output unit 125. The search result output unit 125 transmits two search results to the search control unit 110 via the signal line 26 by DDR.

ここで、第1検索グループ122−1と第2検索グループ122−2の各データ記憶ブロック123a−i、123b−iは、図4に示すように構成され、各データ記憶ブロックはデータA0i(i=1〜n)とマスクA0i(i=1〜n)を格納する領域に分けられる。   Here, each data storage block 123a-i, 123b-i of the first search group 122-1 and the second search group 122-2 is configured as shown in FIG. 4, and each data storage block is data A0i (i = 1 to n) and a mask A0i (i = 1 to n).

そして各検索グループ122−1、2は所定のデータ幅wとデータ記憶ブロック数で構成され、例えば、データ幅w=72bit、データ記憶ブロック数=64Kなどで構成される。この場合のCAM120のエントリ数は、データ記憶ブロック数に検索グループの数を乗じたものであり、上記の場合、128Kエントリとなる。これに対し、従来の並列検索処理では、同じ検索処理をしようとしたときに、144bitのCAMのデータ幅に合わせて、DDRで入力した2つの72bitの検索キーを合成して144bitの検索キーとし、この144bitの検索キーを複製して2つの144bitのCAMにそれぞれ入力し、さらに144bitのデータ幅のうちそれぞれのCAMでの検索対象外の72bitにマスクをかけて検索を行うことがあった。この場合、それぞれのCAMのデータ幅のうち、結果的にマスクをかけてしまう72bit分は検索に関与しない無駄なデータ記憶領域になっていた。この従来技術に比べて、図4を用いて説明した上記CAMでは、無駄なデータ記憶領域を確保する必要がなくなり、同じ容量のCAMでエントリ数又は並列段数を増やすことができる。   Each search group 122-1, 2 is configured with a predetermined data width w and the number of data storage blocks, for example, with a data width w = 72 bits and a data storage block number = 64K. The number of entries in the CAM 120 in this case is obtained by multiplying the number of data storage blocks by the number of search groups. In the above case, the number of entries is 128K. On the other hand, in the conventional parallel search processing, when trying to perform the same search processing, two 72-bit search keys input by DDR are combined into a 144-bit search key according to the data width of 144-bit CAM. In some cases, the 144-bit search key is duplicated and input to two 144-bit CAMs, and the search is performed by masking 72 bits of the 144-bit data width that are not to be searched by each CAM. In this case, of the data width of each CAM, 72 bits that are masked as a result are useless data storage areas not involved in the search. Compared to this prior art, in the CAM described with reference to FIG. 4, it is not necessary to secure a useless data storage area, and the number of entries or the number of parallel stages can be increased with a CAM having the same capacity.

次に、図5は検索キー分配部121の詳細を示すブロック図である。検索キー分配部121は、検索制御部110からの検索種別情報を受信し、この検索種別情報に対応して第1または第2検索グループに検索の実行指示を指令する検索種別判定部1211を有する。   Next, FIG. 5 is a block diagram showing details of the search key distribution unit 121. The search key distribution unit 121 includes a search type determination unit 1211 that receives the search type information from the search control unit 110 and instructs the first or second search group to execute a search corresponding to the search type information. .

さらに、検索種別判定部1211は、データ線25からクロック信号の立ち上がりエッジのデータを第1の検索キーとして取得し、蓄積する第1検索キー蓄積部1212へ第1の検索キーを第1検索グループ122−1へ送信するように指令する。また、検索種別判定部1211は、データ線25からクロック信号の立ち下がりエッジのデータを第2の検索キーとして取得し、蓄積する第2検索キー蓄積部1213へ第2の検索キーを第2検索グループ122−2へ送信するように指令する。   Further, the search type determination unit 1211 acquires the data of the rising edge of the clock signal from the data line 25 as the first search key, and sends the first search key to the first search key storage unit 1212 to be stored in the first search group. Command to transmit to 122-1. In addition, the search type determination unit 1211 acquires the data of the falling edge of the clock signal from the data line 25 as the second search key, and performs the second search for the second search key to the second search key storage unit 1213 to be stored. Command to send to group 122-2.

また、検索種別判定部1211は、検索制御部110から受信した検索種別情報に応じて第1検索グループ122−1と第2検索グループ122−2で並列的に行われる検索のモードを切り替える。   In addition, the search type determination unit 1211 switches the search mode performed in parallel between the first search group 122-1 and the second search group 122-2 in accordance with the search type information received from the search control unit 110.

この検索モードは、例えば、データ線25から複数の検索キーが入力され、第1検索グループ122−1と第2検索グループ122−2で並列的に検索を実行する並列モードと、データ線25から一つの検索キーが入力され、第1検索グループ122−1または第2検索グループ122−2の何れか一方で検索を実行する単独モードなどである。このモード切替を行うことによって、検索処理が集中的に必要な場合には高速検索のために並列処理を行い、検索処理がそれほど必要ない場合には一方の検索グループを用いずに消費電力を低減することができる。   This search mode includes, for example, a parallel mode in which a plurality of search keys are input from the data line 25 and the search is performed in parallel in the first search group 122-1 and the second search group 122-2; For example, a single mode in which one search key is input and a search is executed in either the first search group 122-1 or the second search group 122-2 is performed. By performing this mode switching, parallel processing is performed for high-speed searching when search processing is intensively required, and power consumption is reduced without using one search group when search processing is not necessary. can do.

検索制御部110は、データ線25に検索キーを出力するとともに信号線28に検索種別情報を出力する。   The search control unit 110 outputs a search key to the data line 25 and outputs search type information to the signal line 28.

検索種別判定部1211は、信号線28から受信した検索種別情報が並列モードを示す場合、第1検索キー蓄積部1212と第2検索キー蓄積部1213に、受信した検索キーを第1検索グループ122−1と第2検索グループ122−2へそれぞれ出力するよう指令する。この後、検索種別判定部1211は、第1及び第2検索グループ122−1、2に対して検索を実行するように指令する。また、検索種別判定部1211は、現在行っている検索の種別を検索結果出力部125に通知する。検索結果出力部125は、検索種別判定部1211からの検索種別情報に応じて、ヒットアドレス生成回路124−1または124−2の出力をどのように扱うかを決定する。このように検索種別判定部1211が検索種別を検索結果出力部125に通知することによって、DDRによる検索キー受信及び並列検索処理が行われた場合には、検索結果出力部125がこれに合わせてDDRで結果を出力することができ、検索結果を遅延させることなく出力することができる。   When the search type information received from the signal line 28 indicates the parallel mode, the search type determination unit 1211 sends the received search key to the first search group 122 in the first search key storage unit 1212 and the second search key storage unit 1213. -1 and the second search group 122-2 are instructed to output them respectively. Thereafter, the search type determination unit 1211 instructs the first and second search groups 122-1 and 122-2 to execute a search. In addition, the search type determination unit 1211 notifies the search result output unit 125 of the type of search currently being performed. The search result output unit 125 determines how to handle the output of the hit address generation circuit 124-1 or 124-2 according to the search type information from the search type determination unit 1211. As described above, when the search type determination unit 1211 notifies the search result output unit 125 of the search type, and the search key reception and parallel search processing by DDR is performed, the search result output unit 125 adjusts accordingly. The result can be output by DDR, and the search result can be output without delay.

図6は、検索結果出力部125の詳細を示すブロック図である。検索結果出力部125は、上記図5の検索種別判定部1211からの検索種別情報を受信して、検索モードを判定する検索種別判定部1251と、検索種別判定部1251からの指令に応じて、ヒットアドレス生成回路124−1から受信した第1の検索結果を出力する第1検索結果蓄積部1252と、検索種別判定部1251からの指令に応じて、ヒットアドレス生成回路124−2から受信した第2の検索結果を出力する第2検索結果蓄積部1253から構成される。   FIG. 6 is a block diagram showing details of the search result output unit 125. The search result output unit 125 receives the search type information from the search type determination unit 1211 of FIG. 5, and in response to a command from the search type determination unit 1251 that determines the search mode and the search type determination unit 1251, The first search result storage unit 1252 that outputs the first search result received from the hit address generation circuit 124-1, and the first search result received from the hit address generation circuit 124-2 in response to a command from the search type determination unit 1251. The second search result storage unit 1253 is configured to output 2 search results.

検索種別判定部1251は、検索種別情報が並列モードであれば、2つの検索結果蓄積部1252、1253に対して、DDRで検索制御部110に検索結果を送信するように指令し、単独モードの場合には第1検索結果蓄積部1252または第2検索結果蓄積部1253の何れか一方から検索結果を出力するよう指令する。   If the search type information is the parallel mode, the search type determination unit 1251 instructs the two search result storage units 1252 and 1253 to transmit the search result to the search control unit 110 by DDR, and sets the single mode. In this case, an instruction is issued to output the search result from either the first search result storage unit 1252 or the second search result storage unit 1253.

第1及び第2検索結果蓄積部1252、1253は、出力側を信号線26に接続されており、並列モードの場合、第1検索結果蓄積部1252は、メモリクロック信号線27のクロックに同期して立ち上がりエッジで第1の検索結果を信号線26に送り、第2検索結果蓄積部1253は、メモリクロック信号線27のクロックに同期して立ち下がりエッジで第2の検索結果を信号線26に送る。   The first and second search result storage units 1252 and 1253 are connected to the signal line 26 on the output side. In the parallel mode, the first search result storage unit 1252 is synchronized with the clock of the memory clock signal line 27. Then, the first search result is sent to the signal line 26 at the rising edge, and the second search result accumulation unit 1253 sends the second search result to the signal line 26 at the falling edge in synchronization with the clock of the memory clock signal line 27. send.

一方、検索種別判定部1251が単独モードと判定したときには、ヒットアドレス生成回路124−1または124−2の出力を取得した何れか一方の検索結果蓄積部の出力を信号線26から送信する。   On the other hand, when the search type determination unit 1251 determines that the mode is the single mode, the output of one of the search result storage units that has acquired the output of the hit address generation circuit 124-1 or 124-2 is transmitted from the signal line 26.

次に、図7を参照しながら、CAM120で行われる処理の一例について説明する。この図7のフローチャートは、CAM120に検索キーが入力されるたびに実行されるものである。   Next, an example of processing performed by the CAM 120 will be described with reference to FIG. The flowchart in FIG. 7 is executed every time a search key is input to the CAM 120.

まず、S1では検索キー分配部121の検索種別判定部1211が検索制御部110から信号線28より検索動作種別(検索種別情報)を受信して、検索処理を開始する。   First, in S1, the search type determination unit 1211 of the search key distribution unit 121 receives the search operation type (search type information) from the signal line 28 from the search control unit 110, and starts the search process.

S2では、検索種別判定部1211が、第1検索キー蓄積部1212および第2検索キー蓄積部1213に対して、受信した検索キーを記憶するように指令する。   In S2, the search type determination unit 1211 instructs the first search key storage unit 1212 and the second search key storage unit 1213 to store the received search key.

S3では、検索キーの記憶指示を受信した第1検索キー蓄積部1212が、メモリ動作クロック信号の立上りエッジのタイミングにて、データ線25から第1の検索キーを取得して、蓄積し、第1検索グループ122−1へ第1の検索キーを出力する。   In S3, the first search key storage unit 1212 that has received the search key storage instruction acquires and stores the first search key from the data line 25 at the timing of the rising edge of the memory operation clock signal. The first search key is output to one search group 122-1.

S4では、検索キーの記憶指示を受信した第2検索キー蓄積部1213がメモリ動作クロック信号の立下りエッジのタイミングにて、データ線25から第2の検索キーを取得し、蓄積し、第2検索グループ122−2へ第2検索キーを出力する。   In S4, the second search key storage unit 1213 that has received the search key storage instruction acquires and stores the second search key from the data line 25 at the falling edge timing of the memory operation clock signal, and stores the second search key. The second search key is output to the search group 122-2.

S5では、検索種別判定部1211が、第1検索グループ122−1と第2検索グループ122−2へ検索の実行を指令する。また、検索キー分配部121は、検索結果出力部125に検索種別情報を送信する。このように検索種別を検索結果出力部に通知することによって、DDRによる検索キー受信及び並列検索処理が行われた場合には、検索結果出力部がこれに合わせてDDRで結果を出力することができ、検索結果を遅延させることなく出力することができる。   In S5, the search type determination unit 1211 instructs the first search group 122-1 and the second search group 122-2 to execute a search. Further, the search key distribution unit 121 transmits the search type information to the search result output unit 125. By notifying the search result output unit of the search type in this way, when the search key reception by DDR and the parallel search processing are performed, the search result output unit may output the result by DDR accordingly. The search result can be output without delay.

S6では、第1検索グループ122−1と第2検索グループ122−2が、それぞれ上記入力された第1検索キーと第2検索キーの一致比較を並列的に行う。なお、本実施例では、第1検索グループ122−1と第2検索グループ122−2のデータA0−iとデータB0−iは同じであり、マスクA0−iとマスクB0−iも同一の内容とするが、検索目的によっては必ずしも同一の内容でなくてもよい。   In S6, the first search group 122-1 and the second search group 122-2 perform the comparison of the input first search key and second search key in parallel, respectively. In this embodiment, the data A0-i and the data B0-i of the first search group 122-1 and the second search group 122-2 are the same, and the mask A0-i and the mask B0-i have the same contents. However, depending on the purpose of the search, the content may not necessarily be the same.

第1検索グループ122−1と第2検索グループ122−2がそれぞれ、各エントリに設定されたアドレス条件と各検索キーとの比較を並列的に行う。そして、第1検索グループ122−1は検索結果をヒットアドレス生成回路124−1に出力し、第2検索グループ122−2は検索結果をヒットアドレス生成回路124−2に出力する。ヒットアドレス生成回路124−1、2では、それぞれ第1及び第2検索キーと一致したアドレス条件を生成して、検索結果出力部125へ出力する。   The first search group 122-1 and the second search group 122-2 respectively compare the address condition set in each entry with each search key in parallel. The first search group 122-1 outputs the search result to the hit address generation circuit 124-1, and the second search group 122-2 outputs the search result to the hit address generation circuit 124-2. In the hit address generation circuits 124-1 and 124-2, address conditions that match the first and second search keys are generated and output to the search result output unit 125.

S7では、検索キー分配部121から検索種別情報を受信した検索結果出力部125が、第1検索結果蓄積部1252および第2検索結果蓄積部1253に検索結果を記憶するよう指令する。ヒットアドレス生成回路124−1、2からの検索結果は、図6に示したように、第1検索キーに対応する検索結果が第1検索結果蓄積部1252に格納され、第2検索キーに対応する検索結果が第2検索結果蓄積部1253に格納される。     In S7, the search result output unit 125 that has received the search type information from the search key distribution unit 121 instructs the first search result storage unit 1252 and the second search result storage unit 1253 to store the search results. As shown in FIG. 6, the search results corresponding to the first search key are stored in the first search result accumulation unit 1252 and the search results from the hit address generation circuits 124-1 and 124-1 and 124-1 and 12-2 correspond to the second search key. The search result to be stored is stored in the second search result accumulation unit 1253.

S8では、検索結果の記憶指示を受信した第1検索結果蓄積部1252が、メモリ動作クロック信号の立上りエッジのタイミングにて、第1検索キーに対応する検索結果を信号線26から検索制御部110へ出力する。   In S8, the first search result storage unit 1252 that has received the search result storage instruction receives the search result corresponding to the first search key from the signal line 26 at the timing of the rising edge of the memory operation clock signal. Output to.

次に、S9では、検索結果の記憶指示を受信した第2検索結果蓄積部1253が、メモリ動作クロック信号の立ち下がりエッジのタイミングにて、第2検索キーに対応する検索結果を信号線26から検索制御部110へ出力する。   Next, in S9, the second search result accumulation unit 1253 that has received the search result storage instruction sends the search result corresponding to the second search key from the signal line 26 at the timing of the falling edge of the memory operation clock signal. Output to the search control unit 110.

以上の処理により、検索制御部110から入力された2つの検索キーに対して、第1検索グループ122−1と第2検索グループ122−2で並列的に検索が実行され、検索結果出力部125がDDRで検索制御部110に出力することになる。このようにDDRで出力することによって、DDRによる検索キー受信及び並列検索処理が行われた結果を遅延させることなく出力することができる。   As a result of the above processing, the two search keys input from the search control unit 110 are searched in parallel in the first search group 122-1 and the second search group 122-2, and the search result output unit 125 is searched. Is output to the search control unit 110 by DDR. By outputting in DDR in this way, the result of search key reception and parallel search processing by DDR can be output without delay.

上記CAM120の動作について、図8のタイミングチャートを参照しながら説明する。   The operation of the CAM 120 will be described with reference to the timing chart of FIG.

クロックが立ち上がりとなるC1の時点で、検索キー分配部121の検索種別判定部1211は第1検索キー(図中キー1)を取得し、次のクロックの立ち下がりとなるC2で、検索種別判定部1211は第2検索キー(図中キー2)を取得する。   At the time point C1 when the clock rises, the search type determination unit 1211 of the search key distribution unit 121 acquires the first search key (key 1 in the figure), and the search type determination is made at C2 when the next clock falls. The unit 1211 obtains the second search key (key 2 in the figure).

そして、第1検索キー蓄積部1212及び第2検索キー蓄積部1213へ入力された第1及び第2検索キーは、C3、C4の時点で第1検索グループ122−1と第2検索グループ122−2へそれぞれ入力される。   The first and second search keys input to the first search key storage unit 1212 and the second search key storage unit 1213 are the first search group 122-1 and the second search group 122- at the time of C3 and C4. 2 respectively.

第1検索グループ122−1では、C3〜C7の2クロックで第1検索キーの検索を行い、第2検索グループ122−2では、C4〜C8の2クロックで第2検索キーの検索を行う。したがって、C4〜C7の期間でCAM120の第1検索グループ122−1と第2検索グループ122−2は並列的に検索処理を実行する。なお、第1検索グループ122−1と第2検索グループ122−2の検索処理は、1クロックずつ2つのステップに分けて実行される。検索処理の負荷が低いときには、検索処理を1クロックで完了することも可能である。   In the first search group 122-1, the first search key is searched in two clocks C3 to C7, and in the second search group 122-2, the second search key is searched in two clocks C4 to C8. Accordingly, the first search group 122-1 and the second search group 122-2 of the CAM 120 execute search processing in parallel during the period from C4 to C7. Note that the search processing of the first search group 122-1 and the second search group 122-2 is executed in two steps for each clock. When the search processing load is low, the search processing can be completed in one clock.

C7〜C8では第1検索キーの検索結果に応じたアドレス条件が生成され、ヒットアドレス生成回路124−1から検索結果出力部125へ転送される。同様に、C8〜C9では第2検索キーの検索結果に応じたアドレス条件が生成され、ヒットアドレス生成回路124−2から検索結果出力部125へ転送される。   In C7 to C8, an address condition corresponding to the search result of the first search key is generated and transferred from the hit address generation circuit 124-1 to the search result output unit 125. Similarly, in C8 to C9, an address condition corresponding to the search result of the second search key is generated and transferred from the hit address generation circuit 124-2 to the search result output unit 125.

そして、C9のクロックの立ち上がりの時点で、信号線26に第1検索キーの検索結果が出力され、C10のクロックの立ち下がりの時点で、信号線26に第2検索キーの検索結果が出力される。   The search result of the first search key is output to the signal line 26 at the time when the clock of the C9 rises, and the search result of the second search key is output to the signal line 26 at the time of the fall of the clock of C10. The

このように、本発明のCAM120では、一つの記憶領域を2つの検索グループに分割し、各検索グループの各エントリの内容を同一のデータとマスクとすることにより、2つの異なる検索キーを並列的に処理することが可能となる。これにより、CAM120の見かけ上の性能を向上することができるのである。   As described above, in the CAM 120 of the present invention, one storage area is divided into two search groups, and the contents of each entry of each search group are set to the same data and mask, so that two different search keys are parallelized. Can be processed. As a result, the apparent performance of the CAM 120 can be improved.

つまり、図8の例では、一つの検索キーの入力から出力までに4.5クロックを要しており、2つの検索キーの処理に要する時間は5クロックとなり、従来技術では1つ処理するのに4.5クロックを要する検索キーを2つの処理するには9クロックを要していたのに対し、見かけ上の性能(検索処理能力)は80%程向上することになる。これにより、本発明では高速かつ低コストのCAMを提供することができる。   That is, in the example of FIG. 8, 4.5 clocks are required from input to output of one search key, and the time required for processing two search keys is 5 clocks. In contrast to the fact that 9 clocks are required to process two search keys that require 4.5 clocks, the apparent performance (search processing capability) is improved by about 80%. As a result, the present invention can provide a high-speed and low-cost CAM.

次に、CAMの検索動作には多大な電力を必要とするため、上記従来例のように複数のテーブル(バンク)で同時に検索を開始する場合、CAMの消費電力が急激に増える。このため、CAM内でノイズの発生を招くことになる。すなわち、前記従来例では、複数のテーブルで同時に検索処理の開始を開始するため、CAMの消費電力が急増し、一気に消費電力のピークに達するためノイズを誘発することになる。   Next, since a large amount of power is required for the search operation of the CAM, the power consumption of the CAM increases drastically when the search is simultaneously started in a plurality of tables (banks) as in the above-described conventional example. For this reason, noise is generated in the CAM. That is, in the conventional example, since the search processing is started simultaneously with a plurality of tables, the power consumption of the CAM increases rapidly, and noise is induced because the power consumption peak is reached at once.

これに対して、本発明のCAM120では、図8で示すように、第1検索キーの検索処理が開始される時刻C3で、第1検索グループ122−1の消費電力が増える。この後、第2検索キーの検索処理が開始される時刻C4で、第2検索グループ122−2の電力消費が増大する。したがって、検索処理の開始に伴う、CAM120の消費電力の増加は、2段化に分けて行われることになる。   On the other hand, in the CAM 120 of the present invention, as shown in FIG. 8, the power consumption of the first search group 122-1 increases at the time C3 when the search process for the first search key is started. Thereafter, at time C4 when the search process for the second search key is started, the power consumption of the second search group 122-2 increases. Therefore, the increase in power consumption of the CAM 120 accompanying the start of the search process is performed in two stages.

したがって、本発明では、CAM120の複数の検索テーブルを順次作動させることで、消費電力が一気にピークに達するのを防ぎ、段階的に消費電力を上昇させるので、ノイズの発生を抑制することが可能となるのである。   Therefore, in the present invention, by sequentially operating a plurality of search tables of the CAM 120, it is possible to prevent the power consumption from reaching a peak at once, and to increase the power consumption step by step, thereby suppressing the occurrence of noise. It becomes.

以上のように、本発明によれば、複数の検索テーブルを順次作動させてから並列的に処理することでCAM120の高速化を達成し、また、データ記憶ブロックを無駄なく利用することができるので、大容量のCAM120を提供できるのである。さらに、複数の検索処理を順次開始するようにしたので、CAM120の消費電力が急にピークに達するのを抑制し、ノイズの誘発を防止でき、安定した検索処理を実現できる。   As described above, according to the present invention, since the plurality of search tables are sequentially operated and then processed in parallel, the speed of the CAM 120 can be increased, and the data storage block can be used without waste. A large-capacity CAM 120 can be provided. Furthermore, since a plurality of search processes are started sequentially, the power consumption of the CAM 120 can be prevented from suddenly reaching a peak, noise can be prevented, and a stable search process can be realized.

<変形例1>
図9は、第1の変形例を示し、CAM120に設定した2つの検索グループを構成する各データ記憶ブロック123a−i、123b−iからマスクを削除して、データのみとしたもので、その他の構成は上記実施形態と同様である。
<Modification 1>
FIG. 9 shows a first modification example in which the mask is deleted from each of the data storage blocks 123a-i and 123b-i constituting the two search groups set in the CAM 120 to make only the data. The configuration is the same as in the above embodiment.

検索キーにマスクを施す必要がない場合には、図12のように、各エントリにはデータ(アドレス条件)のみを格納すれば良く、マスクを格納する記憶領域が不要となるので、さらに、CAM120のエントリ数を増大することができる。   If the search key does not need to be masked, only the data (address condition) needs to be stored in each entry as shown in FIG. 12, and a storage area for storing the mask becomes unnecessary. The number of entries can be increased.

なお、上記実施形態において、CAM120に検索キーを一つずつDDR入力する例を示したが、複数の検索キーを1ワードに結合し、CAM120がワード単位で受信するようにしても良い。この場合、CAM120は、1ワードから複数の検索キーを抽出し、これら複数の検索キーを、各検索グループへ順次投入すればよい。   In the above-described embodiment, an example in which search keys are input to the CAM 120 by DDR one by one has been described. However, a plurality of search keys may be combined into one word so that the CAM 120 receives the word by word. In this case, the CAM 120 may extract a plurality of search keys from one word and sequentially input the plurality of search keys to each search group.

以上のように、本発明は、CAMの検索リソースと、CAMと検索制御デバイス間の検索キーの入力帯域を有効活用し、経路テーブル検索を高速に行うことができるので、高速なルータやL3スイッチなどのパケット転送装置に適用することができる。   As described above, according to the present invention, the search resource of the CAM and the input band of the search key between the CAM and the search control device can be effectively used, and the routing table search can be performed at high speed. It can be applied to a packet transfer apparatus such as.

本発明の一実施形態を示す、ルータのブロック図。The block diagram of the router which shows one Embodiment of this invention. ルータの経路テーブル検索部の構成を示すブロック図。The block diagram which shows the structure of the routing table search part of a router. 経路テーブル検索部のCAMの構成を示すブロック図。The block diagram which shows the structure of CAM of a route table search part. CAMの検索グループの一例を示す説明図。Explanatory drawing which shows an example of the search group of CAM. CAMの検索キー分配部の詳細を示すブロック図。The block diagram which shows the detail of the search key distribution part of CAM. CAMの検索結果出力部の詳細を示すブロック図。The block diagram which shows the detail of the search result output part of CAM. CAMで行われる制御の手順の一例を示すフローチャート。The flowchart which shows an example of the procedure of the control performed by CAM. CAMで行われる制御の一例を示すタイミングチャート。The timing chart which shows an example of the control performed by CAM. 第1の変形例を示し、CAMの検索グループの一例を示す説明図。Explanatory drawing which shows a 1st modification and shows an example of the search group of CAM.

符号の説明Explanation of symbols

100 経路テーブル検索部
120 CAM
121 検索キー分配部
122−1 第1検索グループ
122−2 第2検索グループ
124−1、2 ヒットアドレス生成回路
125 検索結果出力部
100 Route table search unit 120 CAM
121 Search Key Distribution Unit 122-1 First Search Group 122-2 Second Search Group 124-1, Hit Address Generation Circuit 125 Search Result Output Unit

Claims (8)

動作クロックに基づいて複数の検索キーを受信する検索キー受信部と、
予めアドレス条件を設定した複数の検索テーブルと、
前記複数の検索キーを前記複数の検索テーブルに対応付ける検索キー分配部と、
前記複数の検索キーが対応付けられた前記複数のテーブルで並列的に検索を実行する検索制御部と、を備えた連想メモリにおいて、
前記検索制御部は、前記複数のテーブルに対応付けられた検索キーについて、順次検索を開始することを特徴とする連想メモリ。
A search key receiving unit for receiving a plurality of search keys based on an operation clock;
A plurality of search tables in which address conditions are set in advance;
A search key distribution unit that associates the plurality of search keys with the plurality of search tables;
An associative memory comprising: a search control unit that performs a search in parallel with the plurality of tables associated with the plurality of search keys;
The associative memory, wherein the search control unit sequentially starts searching for search keys associated with the plurality of tables.
前記検索制御部は、前記動作クロックの立ち上がりエッジと立ち下がりエッジで、前記複数の検索テーブルに対応付けられた検索キーについて順次検索を開始することを特徴とする請求項1に記載の連想メモリ。   2. The content addressable memory according to claim 1, wherein the search control unit sequentially starts searching for search keys associated with the plurality of search tables at a rising edge and a falling edge of the operation clock. 前記検索キー受信部は、前記動作クロックの立ち上がりエッジと立ち下がりエッジで、前記複数の検索キーを順次受信することを特徴とする請求項1に記載の連想メモリ。   2. The content addressable memory according to claim 1, wherein the search key receiving unit sequentially receives the plurality of search keys at a rising edge and a falling edge of the operation clock. 前記検索キー分配部は、前記検索キーを対応付ける検索テーブルを変更するための検索種別を設定する検索種別設定部を有し、
前記検索キー受信部は、前記検索種別を示す信号を受信する検索種別信号受信部を含み、
前記検索種別設定部は、前記検索種別信号受信部が受信した信号に基づいて前記検索キーを対応付ける検索テーブルを変更することを特徴とする請求項1に記載の連想メモリ。
The search key distribution unit includes a search type setting unit for setting a search type for changing a search table associated with the search key,
The search key receiving unit includes a search type signal receiving unit that receives a signal indicating the search type,
The associative memory according to claim 1, wherein the search type setting unit changes a search table that associates the search key based on a signal received by the search type signal receiving unit.
パケットを入力する入力回線と、
パケットを出力する複数の出力回線と、
宛先アドレスのビット毎に一致条件を指定した宛先アドレス条件と、宛先アドレス条件毎に転送情報を設定した経路エントリを複数備えて、前記入力回線へ入力されたパケットの宛先アドレスに一致する前記宛先アドレス条件を検索し、前記宛先アドレス条件に一致したパケットの転送先を、当該宛先アドレス条件に対応する転送情報に設定する経路テーブル検索部と、
前記転送情報に対応する前記複数の出力回線のいずれかに前記パケットを転送するパケット転送部と、
を備えたパケット転送装置において、
前記経路テーブル検索部は、
前記宛先アドレス条件を設定する複数のエントリを有する連想メモリと、
前記入力されたパケットの宛先アドレスと、前記連想メモリのエントリとを比較して、一致する宛先アドレス条件を検索する検索処理部と、
前記検索処理部で検索した前記パケットの宛先アドレスと一意に対応する宛先アドレス条件に基づいて、前記パケットの転送情報を設定する転送情報設定部と、を備え、
前記連想メモリは、
動作クロックに基づいて前記入力回線から複数の検索キーを受信する検索キー受信部と、
前記宛先アドレス条件を設定した複数の検索テーブルと、
前記複数の検索キーを前記複数の検索テーブルに対応付ける検索キー分配部と、
前記複数の検索キーが対応付けられた前記複数のテーブルで並列的に検索を実行する検索制御部と、を備え、
前記検索制御部は、前記複数のテーブルに対応付けられた検索キーについて、順次検索を開始することを特徴とするパケット転送装置。
An input line for entering packets;
Multiple output lines that output packets;
The destination address that matches a destination address of a packet input to the input line, comprising a plurality of destination address conditions that specify a matching condition for each bit of the destination address and a route entry in which forwarding information is set for each destination address condition A route table search unit that searches for a condition, and sets a transfer destination of a packet that matches the destination address condition in transfer information corresponding to the destination address condition;
A packet transfer unit for transferring the packet to any one of the plurality of output lines corresponding to the transfer information;
In a packet transfer device comprising:
The route table search unit
An associative memory having a plurality of entries for setting the destination address condition;
A search processing unit for comparing a destination address of the input packet with an entry in the associative memory and searching for a matching destination address condition;
A transfer information setting unit that sets transfer information of the packet based on a destination address condition uniquely corresponding to the destination address of the packet searched by the search processing unit,
The associative memory is
A search key receiving unit that receives a plurality of search keys from the input line based on an operation clock;
A plurality of search tables in which the destination address condition is set;
A search key distribution unit that associates the plurality of search keys with the plurality of search tables;
A search control unit that performs a search in parallel with the plurality of tables associated with the plurality of search keys,
The packet transfer apparatus, wherein the search control unit sequentially starts searching for search keys associated with the plurality of tables.
前記検索制御部は、前記動作クロックの立ち上がりエッジと立ち下がりエッジで、前記複数の検索テーブルに対応付けられた検索キーについて順次検索を開始することを特徴とする請求項5に記載のパケット転送装置。   6. The packet transfer apparatus according to claim 5, wherein the search control unit sequentially starts searching for search keys associated with the plurality of search tables at a rising edge and a falling edge of the operation clock. . 前記検索キー受信部は、前記動作クロックの立ち上がりエッジと立ち下がりエッジで、前記複数の検索キーを順次受信することを特徴とする請求項5に記載のパケット転送装置。   6. The packet transfer apparatus according to claim 5, wherein the search key receiving unit sequentially receives the plurality of search keys at a rising edge and a falling edge of the operation clock. 前記検索キー分配部は、前記検索キーを対応付ける検索テーブルを変更するための検索種別を設定する検索種別設定部を有し、
前記検索キー受信部は、前記検索種別を示す信号を受信する検索種別信号受信部を含み、
前記検索種別設定部は、前記検索種別信号受信部が受信した信号に基づいて前記検索キーを対応付ける検索テーブルを変更することを特徴とする請求項5に記載のパケット転送装置。
The search key distribution unit includes a search type setting unit for setting a search type for changing a search table associated with the search key,
The search key receiving unit includes a search type signal receiving unit that receives a signal indicating the search type,
6. The packet transfer apparatus according to claim 5, wherein the search type setting unit changes a search table for associating the search key based on a signal received by the search type signal receiving unit.
JP2004322425A 2004-11-05 2004-11-05 Association memory and packet transfer device Pending JP2006135660A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004322425A JP2006135660A (en) 2004-11-05 2004-11-05 Association memory and packet transfer device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004322425A JP2006135660A (en) 2004-11-05 2004-11-05 Association memory and packet transfer device

Publications (1)

Publication Number Publication Date
JP2006135660A true JP2006135660A (en) 2006-05-25

Family

ID=36728792

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004322425A Pending JP2006135660A (en) 2004-11-05 2004-11-05 Association memory and packet transfer device

Country Status (1)

Country Link
JP (1) JP2006135660A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008167340A (en) * 2006-12-29 2008-07-17 Fujitsu Ltd Entry compression/expansion method and entry compressing/expanding apparatus
WO2015052818A1 (en) * 2013-10-10 2015-04-16 富士通株式会社 Data forwarding device, information processing device, and data forwarding method
CN107622077A (en) * 2016-07-14 2018-01-23 瑞萨电子株式会社 Retrieve device and semiconductor device
CN112507652A (en) * 2020-12-11 2021-03-16 恒为科技(上海)股份有限公司 Grouping method and device for double-rate synchronous dynamic random access memory

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000322892A (en) * 1999-05-10 2000-11-24 Nec Corp Associative memory with shortest mask output function capable of continuous search operation
JP2001060970A (en) * 1999-08-24 2001-03-06 Nippon Telegr & Teleph Corp <Ntt> Address retrieving device
JP2001144801A (en) * 1999-11-10 2001-05-25 Fujitsu Ltd Header conversion device and frame transfer device
JP2003023437A (en) * 2001-07-11 2003-01-24 Nec Corp Packet-processing unit
JP2003256265A (en) * 2002-02-18 2003-09-10 Internatl Business Mach Corp <Ibm> Search memory, controller for memory search, and memory search method
JP2003324464A (en) * 2002-04-30 2003-11-14 Fujitsu Ltd Data search apparatus and data search method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000322892A (en) * 1999-05-10 2000-11-24 Nec Corp Associative memory with shortest mask output function capable of continuous search operation
JP2001060970A (en) * 1999-08-24 2001-03-06 Nippon Telegr & Teleph Corp <Ntt> Address retrieving device
JP2001144801A (en) * 1999-11-10 2001-05-25 Fujitsu Ltd Header conversion device and frame transfer device
JP2003023437A (en) * 2001-07-11 2003-01-24 Nec Corp Packet-processing unit
JP2003256265A (en) * 2002-02-18 2003-09-10 Internatl Business Mach Corp <Ibm> Search memory, controller for memory search, and memory search method
JP2003324464A (en) * 2002-04-30 2003-11-14 Fujitsu Ltd Data search apparatus and data search method

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008167340A (en) * 2006-12-29 2008-07-17 Fujitsu Ltd Entry compression/expansion method and entry compressing/expanding apparatus
US7933201B2 (en) 2006-12-29 2011-04-26 Fujitsu Limited Entry compression/decompression method and apparatus performing an entry compression and decompression
WO2015052818A1 (en) * 2013-10-10 2015-04-16 富士通株式会社 Data forwarding device, information processing device, and data forwarding method
CN107622077A (en) * 2016-07-14 2018-01-23 瑞萨电子株式会社 Retrieve device and semiconductor device
CN107622077B (en) * 2016-07-14 2023-12-05 瑞萨电子株式会社 Search device and semiconductor device
CN112507652A (en) * 2020-12-11 2021-03-16 恒为科技(上海)股份有限公司 Grouping method and device for double-rate synchronous dynamic random access memory

Similar Documents

Publication Publication Date Title
Kobayashi et al. A longest prefix match search engine for multi-gigabit IP processing
US8625604B2 (en) Hash-based prefix-compressed trie for IP route lookup
US7424468B2 (en) Internet protocol address look-up device
JP4336625B2 (en) Packet transfer device
US7286534B2 (en) SRAM based cache for DRAM routing table lookups
US6987762B2 (en) Packet exchange and router and input packet processing method thereof
US8295286B2 (en) Apparatus and method using hashing for efficiently implementing an IP lookup solution in hardware
US7630373B2 (en) Packet transfer apparatus
US6985483B2 (en) Methods and systems for fast packet forwarding
US7890672B2 (en) Data processing apparatus and data transfer method
US7313138B2 (en) Router device and routing method
US20200228449A1 (en) Exact match and ternary content addressable memory (tcam) hybrid lookup for network device
US8848707B2 (en) Method for IP longest prefix match using prefix length sorting
US6570866B1 (en) High-speed flexible longest match retrieval
US20160142316A1 (en) Apparatus and method for scalable and flexible table search in a network switch
JP2006135660A (en) Association memory and packet transfer device
JP2004046988A (en) Associative memory device and repeater using the same
US6853640B1 (en) Data selection apparatus
US20100318560A1 (en) Search processor and search processing method
US10476785B2 (en) IP routing search
EP2958286B1 (en) A method of using generic modification instructions to enable flexible modifications of packets and an apparatus thereof
JP3700574B2 (en) Search success signal look-ahead output data selection device
US20100228716A1 (en) Protocol processing apparatus and method
JP5848185B2 (en) Frame search processing apparatus and method
JP2001060969A (en) System and method for retrieving high speed ip route

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071026

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091124

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100323