JP5632797B2 - Associative memory and network address search device - Google Patents

Associative memory and network address search device Download PDF

Info

Publication number
JP5632797B2
JP5632797B2 JP2011112300A JP2011112300A JP5632797B2 JP 5632797 B2 JP5632797 B2 JP 5632797B2 JP 2011112300 A JP2011112300 A JP 2011112300A JP 2011112300 A JP2011112300 A JP 2011112300A JP 5632797 B2 JP5632797 B2 JP 5632797B2
Authority
JP
Japan
Prior art keywords
cam
match line
subarray
search
latch circuit
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.)
Active
Application number
JP2011112300A
Other languages
Japanese (ja)
Other versions
JP2012243350A (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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2011112300A priority Critical patent/JP5632797B2/en
Publication of JP2012243350A publication Critical patent/JP2012243350A/en
Application granted granted Critical
Publication of JP5632797B2 publication Critical patent/JP5632797B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、連想メモリ、およびネットワークアドレス検索装置に関し、特に消費電力を低減するための構成を備える連想メモリ、およびネットワークアドレス検索装置に関する。   The present invention relates to an associative memory and a network address search device, and more particularly to an associative memory and a network address search device having a configuration for reducing power consumption.

連想メモリ(CAM:Content Addressable Memory)は、データの読出/書込機能に加えて、検索データと記憶データとが一致するか否かの判定を行なう検索動作の機能を有する。検索データの1エントリを複数のCAMセル(CAMアレイ)で構成し、CAMセルは、検索候補のワードビット(記憶データ)を格納している。各エントリには、対応のCAMセルが並列に結合されるマッチ線が設けられている。検索データと記憶データとが一致した場合、対応のマッチ線の値は“1”の状態に維持され、一致しない場合、対応のマッチ線の値は“0”の状態となる。   The content addressable memory (CAM) has a search operation function for determining whether or not the search data matches the stored data in addition to the data read / write function. One entry of search data is composed of a plurality of CAM cells (CAM array), and the CAM cell stores search candidate word bits (stored data). Each entry is provided with a match line to which corresponding CAM cells are coupled in parallel. When the search data matches the stored data, the value of the corresponding match line is maintained in the “1” state, and when the search data does not match, the value of the corresponding match line is in the “0” state.

連想メモリは、このマッチ線の電圧レベルを識別することにより、検索データに対応するデータをCAMセルに格納してあるか否かを判定する。連想メモリを、例えばテーブルとして利用することにより、連想メモリは、検索データをテーブルに格納してあるか否かを判定し、テーブルに対応する内容を高速で読出すことができる。そのため、連想メモリは、たとえば、通信用途のルータおよびキャッシュメモリにおけるキャッシュミス/ヒットの判定などにおいて用いられている。   The content addressable memory determines whether or not the data corresponding to the search data is stored in the CAM cell by identifying the voltage level of the match line. By using the associative memory as, for example, a table, the associative memory can determine whether or not the search data is stored in the table, and can read the contents corresponding to the table at high speed. Therefore, the associative memory is used, for example, for determination of cache miss / hit in a router and a cache memory for communication use.

さらに、連想メモリは、さらに高速に検索動作を行うために、特許文献1および2に開示してあるように、検索動作をパイプライン化する。特許文献1に開示してある連想メモリでは、DRAM(Dynamic Random Access Memory)で構成したCAMセルを用い、マッチ線MLにクランプ回路を設け、検索動作をパイプライン化してある。また、特許文献2に開示してある連想メモリでは、一部の検索データと一部の記憶データとを比較した結果に基づき、残りの検索データと残りの記憶データとを比較するか否かを制御する制御回路を設け、検索動作をパイプライン化してある。   Further, the associative memory pipelines the search operation as disclosed in Patent Documents 1 and 2 in order to perform the search operation at higher speed. In the associative memory disclosed in Patent Document 1, a CAM cell configured by a DRAM (Dynamic Random Access Memory) is used, a clamp circuit is provided in the match line ML, and a search operation is pipelined. In the associative memory disclosed in Patent Document 2, whether or not the remaining search data and the remaining storage data are compared based on the result of comparing a part of the search data and the part of the storage data. A control circuit for controlling is provided, and the search operation is pipelined.

特開2008−10144号公報JP 2008-10144 A 特開2005−228461号公報JP 2005-228461 A

しかし、特許文献1に開示してある連想メモリは、CAMアレイを複数のCAMサブアレイに分割し、分割したCAMサブアレイの間で検索動作を実行した結果を伝達するために、CAMサブアレイの間にフリップフロップ回路を用いている。フリップフロップ回路は多数のトランジスタで構成されているため、各々のCAMサブアレイの間にフリップフロップ回路を用いると、連想メモリは、構成する回路のレイアウト面積が大きくなるという問題があった。また、特許文献1に開示してある連想メモリは、動作時に消費する電力が大きいフリップフロップ回路を多数用いているので、消費電力が大きくなるという問題があった。   However, the associative memory disclosed in Patent Document 1 divides a CAM array into a plurality of CAM subarrays, and transmits a result of executing a search operation between the divided CAM subarrays. A circuit is used. Since the flip-flop circuit is composed of a large number of transistors, if a flip-flop circuit is used between each CAM subarray, the content addressable memory has a problem that the layout area of the circuit to be configured becomes large. In addition, the associative memory disclosed in Patent Document 1 uses a large number of flip-flop circuits that consume a large amount of power during operation.

さらに、特許文献2に開示してある連想メモリでは、検索動作を実行するたびに電源端子から接地端子へと貫通電流が流れる回路構成を有しているため、消費電力が大きくなるという問題があった。   Furthermore, the associative memory disclosed in Patent Document 2 has a circuit configuration in which a through current flows from the power supply terminal to the ground terminal every time a search operation is executed, and thus there is a problem that power consumption increases. It was.

それゆえに、本発明は、上記問題点を解決するためになされたものであり、検索動作をパイプライン化してある連想メモリにおいて、構成する回路のレイアウト面積が小さく、検索動作を実行するときの消費電力を低減することができる連想メモリ、およびネットワークアドレス検索装置を提供することを目的とする。   Therefore, the present invention has been made to solve the above problems, and in an associative memory in which the search operation is pipelined, the layout area of the circuit to be configured is small, and the consumption when the search operation is executed. An object of the present invention is to provide an associative memory and a network address search device capable of reducing power.

上記課題を解決するために、本発明は、マッチ線に沿って配列され、各々がマッチ線と接続された複数のメモリセルを有するメモリアレイを複数のサブアレイに分割し、上位のサブアレイから下位のサブアレイに向かって順に検索動作を実行する連想メモリである。サブアレイは、マッチ線と接続された複数のメモリセルと、メモリセルの前段に、マッチ線をプリチャージ状態またはディスチャージ状態に制御するマッチ線制御部と、メモリセルの後段に、検索動作を実行した結果を下位のサブアレイに伝達するハーフラッチ回路と、最下位のサブアレイに、検索動作を実行した結果をエンコーダ部に伝送するフルラッチ回路とを備え、最下位のサブアレイは、ハーフラッチ回路に代えてフルラッチ回路を備え、上位のサブアレイの動作の終了後に、下位のサブアレイのマッチ線制御部がマッチ線をプリチャージ状態またはディスチャージ状態に制御する。   In order to solve the above-described problem, the present invention divides a memory array having a plurality of memory cells arranged along the match line and connected to the match line into a plurality of sub-arrays. This is an associative memory that sequentially executes a search operation toward the subarray. The subarray performs a search operation on a plurality of memory cells connected to the match line, a match line control unit that controls the match line to a precharge state or a discharge state on the preceding stage of the memory cell, and a subsequent stage on the memory cell. A half latch circuit that transmits the result to the lower sub-array and a full latch circuit that transmits the result of the search operation to the encoder section in the lowermost sub-array. The lowermost sub-array is a full latch instead of the half latch circuit. A circuit is provided, and after the operation of the upper subarray is completed, the match line control unit of the lower subarray controls the match line to a precharge state or a discharge state.

本発明に係る連想メモリによれば、上位のサブアレイの動作の終了後に、下位のサブアレイのマッチ線制御部がマッチ線をプリチャージ状態またはディスチャージ状態に制御することで、検索動作を実行した結果を下位のサブアレイに伝達する回路にフルラッチ回路(たとえばフリップフロップ回路)でなくハーフラッチ回路を用いることができる。サブアレイは、検索動作を実行した結果を下位のサブアレイに伝達する回路に、フルラッチ回路(たとえばフリップフロップ回路)の略半分のトランジスタで構成されたハーフラッチ回路を用いることができるので、構成する回路のレイアウト面積を小さくすることができる。また、サブアレイは、フリップフロップ回路に比べて動作時に消費する電力が小さいハーフラッチ回路を用いているので、消費電力を低減することができる。   According to the content addressable memory according to the present invention, after the operation of the upper subarray is completed, the match line control unit of the lower subarray controls the match line to the precharge state or the discharge state, thereby executing the search operation result. Instead of a full latch circuit (for example, a flip-flop circuit), a half latch circuit can be used as a circuit that transmits to a lower subarray. The subarray can use a half latch circuit composed of almost half of the transistors of a full latch circuit (for example, a flip-flop circuit) as a circuit that transmits the result of executing the search operation to the lower subarray. The layout area can be reduced. In addition, since the subarray uses a half latch circuit that consumes less power than the flip-flop circuit, power consumption can be reduced.

本発明の実施の形態1に係る連想メモリの全体構成を示すブロック図である。It is a block diagram which shows the whole structure of the content addressable memory which concerns on Embodiment 1 of this invention. 図1に示すCAMアレイに配列されるCAMセルの構成の一例を示す図である。It is a figure which shows an example of a structure of the CAM cell arranged in the CAM array shown in FIG. 本発明の実施の形態1に係る連想メモリの一部の構成を詳細に示すブロック図である。It is a block diagram which shows in detail the structure of a part of content addressable memory which concerns on Embodiment 1 of this invention. 本発明の実施の形態1に係るCAMアレイを複数のCAMサブアレイに分割した構成を示す模式図である。It is a schematic diagram which shows the structure which divided | segmented the CAM array which concerns on Embodiment 1 of this invention into the some CAM subarray. 本発明の実施の形態1に係るCAMサブアレイの詳細な構成を示す回路図である。It is a circuit diagram which shows the detailed structure of the CAM subarray which concerns on Embodiment 1 of this invention. 本発明の実施の形態1に係る連想メモリの動作を説明するためのタイミングチャートである。3 is a timing chart for explaining the operation of the associative memory according to the first embodiment of the present invention. 本発明の実施の形態2に係るCAMアレイを複数のCAMサブアレイに分割した構成を示す模式図である。It is a schematic diagram which shows the structure which divided | segmented the CAM array which concerns on Embodiment 2 of this invention into the some CAM subarray. 本発明の実施の形態2に係るCAMサブアレイの詳細な構成を示す回路図である。It is a circuit diagram which shows the detailed structure of the CAM subarray which concerns on Embodiment 2 of this invention. 本発明の実施の形態3に係るネットワークアドレス検索装置として機能するシステムLSIの構成を示すブロック図である。It is a block diagram which shows the structure of the system LSI which functions as a network address search apparatus concerning Embodiment 3 of this invention.

以下、本発明に係る実施の形態について図面を参照して説明する。
(実施の形態1)
図1は、本発明の実施の形態1に係る連想メモリ100の全体構成を示すブロック図である。
Hereinafter, embodiments according to the present invention will be described with reference to the drawings.
(Embodiment 1)
FIG. 1 is a block diagram showing an overall configuration of an associative memory 100 according to Embodiment 1 of the present invention.

図1に示す連想メモリ100は、半導体基板SUB上に形成されたCAMアレイ10と、一致検出部20と、検索データ転送部30と、サーチ制御回路40(制御部)と、プライオリティエンコーダ70と、サーチ結果出力バッファ81と、アドレス/データバッファ74と、命令コードバッファ75と、クロックバッファ76と、命令コードデコーダ77と、アドレスデコーダ78と、センスアンプ79とを含む。   An associative memory 100 shown in FIG. 1 includes a CAM array 10 formed on a semiconductor substrate SUB, a coincidence detection unit 20, a search data transfer unit 30, a search control circuit 40 (control unit), a priority encoder 70, A search result output buffer 81, an address / data buffer 74, an instruction code buffer 75, a clock buffer 76, an instruction code decoder 77, an address decoder 78, and a sense amplifier 79 are included.

連想メモリ100は、通常のデータ書込およびデータ読出のためにCAMアレイ10の各行に対応して設けられたワード線(図2で示すワード線WL_X,WL_Y)と、CAMアレイ10の各列に対応して設けられたビット線対(図2で示すビット線対BL,BL_N)とを含む。さらに、連想メモリ100は、検索動作のためにCAMアレイ10の各行に対応して設けられたマッチ線ML(一致線)と、CAMアレイ10の各列に対応して設けられた検索線対SL,SL_N(検索線対)とを含む。なお、本明細書では、参照符号の末尾に「_N」を付すことで、論理レベルを反転(たとえば、“0”を“1”に反転)させた相補的な関係にある参照符号を示してある。   The associative memory 100 includes word lines (word lines WL_X and WL_Y shown in FIG. 2) provided corresponding to each row of the CAM array 10 for normal data writing and data reading, and each column of the CAM array 10. Corresponding bit line pairs (bit line pairs BL and BL_N shown in FIG. 2). Further, the associative memory 100 includes a match line ML (match line) provided corresponding to each row of the CAM array 10 and a search line pair SL provided corresponding to each column of the CAM array 10 for a search operation. , SL_N (search line pair). In this specification, “_N” is added to the end of the reference symbol to indicate a complementary reference symbol in which the logic level is inverted (for example, “0” is inverted to “1”). is there.

CAMアレイ10は、行列状に配列された複数のCAMセル(メモリセル)によって構成される。各メモリセルは、1ビットのデータを記憶するとともに、検索データと予め記憶したデータとを比較する機能を有する。   The CAM array 10 includes a plurality of CAM cells (memory cells) arranged in a matrix. Each memory cell stores 1-bit data and has a function of comparing search data with previously stored data.

一致検出部20(マッチアンプ)は、各マッチ線MLの値(“1”または“0”)を検出する。これによって、一致検出部20は、各マッチ線MLに接続された各メモリセルにおいて、検索データと予め記憶したデータ(記憶データ)とが一致したか否かを検知する。   The match detector 20 (match amplifier) detects the value (“1” or “0”) of each match line ML. Thereby, the coincidence detection unit 20 detects whether or not the search data matches the data stored in advance (stored data) in each memory cell connected to each match line ML.

検索データ転送部30(検索線対ドライバ)は、検索動作時に検索線対SL,SL_Nを介してCAMアレイ10の各メモリセルに検索データを転送する。   The search data transfer unit 30 (search line pair driver) transfers search data to each memory cell of the CAM array 10 via the search line pair SL, SL_N during a search operation.

サーチ制御回路40は、入力されたクロック信号CLKに基づいて検索データ転送部30および一致検出部20の動作タイミングを制御する。   The search control circuit 40 controls the operation timing of the search data transfer unit 30 and the match detection unit 20 based on the input clock signal CLK.

プライオリティエンコーダ70は、一致検出部20の検出結果に基づいて、検索データと記憶データとが一致したアドレスを所定の優先順位に従って検索結果として出力する。   Based on the detection result of the match detection unit 20, the priority encoder 70 outputs an address where the search data matches the stored data as a search result according to a predetermined priority.

サーチ結果出力バッファ81は、プライオリティエンコーダ70から受けた検索結果を、サーチ結果出力端子82を介して外部に出力する。   The search result output buffer 81 outputs the search result received from the priority encoder 70 to the outside via the search result output terminal 82.

アドレス/データバッファ74は、アドレス/データ入力端子71を介して受けたアドレスまたはデータをアドレスデコーダ78およびセンスアンプ79に出力する。さらに、アドレス/データバッファ74は、検索動作に必要な多ビットの検索データSD,SD_Nをアドレス/データ入力端子71を介して受けて検索データ転送部30へ出力する。   Address / data buffer 74 outputs the address or data received via address / data input terminal 71 to address decoder 78 and sense amplifier 79. Further, the address / data buffer 74 receives multi-bit search data SD and SD_N necessary for the search operation via the address / data input terminal 71 and outputs them to the search data transfer unit 30.

命令コードバッファ75は、命令コード入力端子72を介して受けた命令コードを、命令コードデコーダ77に出力する。命令コードには、データ書込を表わす命令コードおよび検索動作を表わす命令コードなどがある。   The instruction code buffer 75 outputs the instruction code received via the instruction code input terminal 72 to the instruction code decoder 77. The instruction code includes an instruction code representing data writing and an instruction code representing a retrieval operation.

命令コードデコーダ77は、命令コードバッファ75から受けた命令コードをデコードして、命令内容に応じた信号を発生する。たとえば、命令コードデコーダ77は、検索動作を表わす命令コードを受けたとき、検索信号SCMを発生する。命令コードデコーダ77は、リセット命令を表わす命令コードを受けたとき、リセット信号RSTを発生する。   The instruction code decoder 77 decodes the instruction code received from the instruction code buffer 75 and generates a signal corresponding to the instruction content. For example, instruction code decoder 77 generates search signal SCM when it receives an instruction code representing a search operation. The instruction code decoder 77 generates a reset signal RST when receiving an instruction code representing a reset instruction.

クロックバッファ76は、クロック入力端子73を介して外部からクロック信号CLKを受け、連想メモリ100の各部に出力する。   The clock buffer 76 receives a clock signal CLK from the outside via the clock input terminal 73 and outputs it to each part of the associative memory 100.

アドレスデコーダ78は、アドレス/データバッファ74から受けたアドレスに基づいて、データ書込時には書込対象のメモリセル群を選択し、データ読出時には読出対象のメモリセル群を選択する。   Based on the address received from address / data buffer 74, address decoder 78 selects a memory cell group to be written at the time of data writing, and selects a memory cell group to be read at the time of data reading.

センスアンプ79は、データ読出時に読出対象のメモリセルが接続されたビット線対BL,BL_Nの論理レベルを検出する。   The sense amplifier 79 detects the logic level of the bit line pair BL, BL_N to which the memory cell to be read is connected during data reading.

図2は、図1に示すCAMアレイ10に配列されるCAMセルCCの構成の一例を示す図である。図2において、CAMセルCCは、記憶データを記憶するデータ記憶部22と、この記憶データと検索線対SL、SL_Nのデータとを比較し、その比較結果に従ってマッチ線MLを駆動する検索部24とを含む。   FIG. 2 is a diagram showing an example of the configuration of the CAM cells CC arranged in the CAM array 10 shown in FIG. In FIG. 2, a CAM cell CC compares a data storage unit 22 for storing stored data with the stored data and the data of the search line pair SL, SL_N, and a search unit 24 for driving the match line ML according to the comparison result. Including.

データ記憶部22は、2つのメモリセル(XセルおよびYセル)を含む。これらのXセルおよびYセルは、SRAM(Static Random Access Memory)セルの構成を有する。XセルおよびYセル両者は、同一構造を有するため、図2においては、XセルおよびYセルにおいて対応する部分には同一の参照符号を付す。   The data storage unit 22 includes two memory cells (X cell and Y cell). These X cell and Y cell have the structure of an SRAM (Static Random Access Memory) cell. Since both the X cell and the Y cell have the same structure, the same reference numerals are assigned to the corresponding portions in the X cell and the Y cell in FIG.

XセルおよびYセルの各々は、データを保持するラッチ回路を構成する反並列に接続されるインバータIV1およびIV2と、導通時、記憶ノードND1およびND2を、それぞれビット線/BLLおよびBLLに結合するアクセストランジスタTR1およびTR2を含む。   Each of the X cell and the Y cell couples inverters IV1 and IV2 connected in antiparallel to form a latch circuit for holding data, and storage nodes ND1 and ND2 to bit lines / BLL and BLL, respectively, when conductive. Access transistors TR1 and TR2 are included.

XセルのアクセストランジスタTR1およびTR2は、ワード線WL_Xの駆動信号に従って導通状態となる。YセルのアクセストランジスタTR1およびTR2は、ワード線WL_Yの駆動信号に従って導通状態となる。これらのワード線WL_Xの駆動信号およびワード線WL_Yの駆動信号は、CAMセルCCのデータの書込時および読出時において図示しない行駆動回路により生成される。   The access transistors TR1 and TR2 of the X cell become conductive according to the drive signal of the word line WL_X. The access transistors TR1 and TR2 of the Y cell become conductive according to the drive signal for the word line WL_Y. The drive signal for the word line WL_X and the drive signal for the word line WL_Y are generated by a row drive circuit (not shown) at the time of writing and reading data of the CAM cell CC.

ビット線BLLおよび/BLLには、図示しない書込回路により、相補なデータBLおよびBL_Nが伝達される。したがって、XセルおよびYセル各々において、記憶ノードND1およびND2には、相補データが記憶される。XセルおよびYセル各々に記憶するデータは、記憶データに応じて設定される。CAMセルCCにおいて、2つのメモリセルを利用することにより3値データを記憶することができる。   Complementary data BL and BL_N are transmitted to bit lines BLL and / BLL by a write circuit (not shown). Therefore, in each of the X cell and the Y cell, complementary data is stored in storage nodes ND1 and ND2. Data stored in each of the X cell and the Y cell is set according to the stored data. In the CAM cell CC, ternary data can be stored by using two memory cells.

検索部24は、Xセルに対して設けられるMOSトランジスタ(絶縁ゲート型電界効果型トランジスタ)TQ1およびTQ2と、Yセルに対応して設けられるMOSトランジスタTQ3およびTQ4を含む。MOSトランジスタTQ1およびTQ2とが、マッチ線MLと接地ノードの間に直列に接続される。MOSトランジスタTQ1は、そのゲートが、セルの記憶ノードND2に結合される。MOSトランジスタTQ2は、検索線SLのデータをゲートに受ける。MOSトランジスタTQ3は、そのゲートが、Yセルの記憶ノードND2に結合される。MOSトランジスタTQ4は、そのゲートに、検索線SL_Nのデータを受ける。   Search unit 24 includes MOS transistors (insulated gate field effect transistors) TQ1 and TQ2 provided for the X cell, and MOS transistors TQ3 and TQ4 provided corresponding to the Y cell. MOS transistors TQ1 and TQ2 are connected in series between match line ML and the ground node. MOS transistor TQ1 has its gate coupled to storage node ND2 of the cell. MOS transistor TQ2 receives data on search line SL at its gate. MOS transistor TQ3 has its gate coupled to storage node ND2 of the Y cell. MOS transistor TQ4 receives data on search line SL_N at its gate.

XセルおよびYセルは、ワード線WL_Xの駆動信号およびワード線WL_Yの駆動信号に従って、その記憶データを個々に設定することができる。このCAMセルCCは、以下に説明するように、3値状態を実現する。   The X cell and the Y cell can individually set storage data in accordance with the drive signal for the word line WL_X and the drive signal for the word line WL_Y. The CAM cell CC realizes a ternary state as described below.

(i) Xセルの記憶ノードND2が“1”(論理ハイレベル)、Yセルの記憶ノードND2が“0”(論理ローレベル)のとき:
この場合、検索線SLのデータが“1”であれば、MOSトランジスタTQ1およびTQ2がともに導通し、マッチ線MLが放電される。したがって、この状態においては、ミス状態である。一方、検索線SLのデータが“0”であれば、MOSトランジスタTQ2がオフ状態であり、また、MOSトランジスタTQ3もオフ状態である。したがって、この状態においては、マッチ線MLは放電されず、プリチャージ電圧レベルに維持される。この状態は、検索データと記憶データとが一致しているヒット状態である。
(I) When the storage node ND2 of the X cell is “1” (logic high level) and the storage node ND2 of the Y cell is “0” (logic low level):
In this case, if the data on the search line SL is “1”, both the MOS transistors TQ1 and TQ2 are turned on, and the match line ML is discharged. Therefore, in this state, it is a miss state. On the other hand, if the data on the search line SL is “0”, the MOS transistor TQ2 is off, and the MOS transistor TQ3 is also off. Therefore, in this state, match line ML is not discharged and is maintained at the precharge voltage level. This state is a hit state in which the search data matches the stored data.

(ii) Xセルの記憶ノードND2が“0”、Yセルの記憶ノードND2が“1”のとき:
この場合、検索線SLのデータが“0”であれば、検索線SL_Nのデータが“1”である。したがって、MOSトランジスタTQ3およびTQ4がともに導通し、マッチ線MLが放電される。したがって、この状態はミス状態である。一方、検索線SLのデータが“1”であれば、検索線SL_Nのデータが“0”である。したがって、MOSトランジスタTQ4が非導通状態となり、また、MOSトランジスタTQ1が非導通状態である。したがって、マッチ線MLはプリチャージ電圧状態に維持される。したがって、この状態は、ヒット状態である。
(Ii) When the storage node ND2 of the X cell is “0” and the storage node ND2 of the Y cell is “1”:
In this case, if the data on the search line SL is “0”, the data on the search line SL_N is “1”. Therefore, MOS transistors TQ3 and TQ4 are both turned on, and match line ML is discharged. Therefore, this state is a miss state. On the other hand, if the data on the search line SL is “1”, the data on the search line SL_N is “0”. Therefore, MOS transistor TQ4 is turned off, and MOS transistor TQ1 is turned off. Therefore, match line ML is maintained in the precharge voltage state. Therefore, this state is a hit state.

(iii) XセルおよびYセルの記憶ノードND2がともに“0”のとき:
この状態においては、MOSトランジスタTQ1およびTQ3はともに非導通状態である。したがって、マッチ線MLは検索線SLのデータに係らず、プリチャージ電圧レベルに維持される。したがって、この状態により、検索線SLに対し「ドントケア状態(X状態)」を実現することができる。
(Iii) When storage node ND2 of both X cell and Y cell is "0":
In this state, MOS transistors TQ1 and TQ3 are both non-conductive. Therefore, match line ML is maintained at the precharge voltage level regardless of data on search line SL. Therefore, in this state, the “don't care state (X state)” can be realized for the search line SL.

(iv) XセルおよびYセルの記憶ノードND2がともに“1”のとき:
この状態においては、検索線SLのデータに従って、MOSトランジスタTQ1およびTQ2の経路およびMOSトランジスタTQ3およびTQ4の経路の一方が、導通し、マッチ線MLが放電される。したがって、検索データに係らず、常にミス状態が指定されるため、この状態は、通常、禁止状態とされる。
(Iv) When the storage node ND2 of both the X cell and the Y cell is “1”:
In this state, according to the data on search line SL, one of the paths of MOS transistors TQ1 and TQ2 and the paths of MOS transistors TQ3 and TQ4 is rendered conductive, and match line ML is discharged. Therefore, since a miss state is always designated regardless of search data, this state is normally a prohibited state.

上述のように、このCAMセルCCは、状態(i)の記憶データとして“0”を記憶した状態、状態(ii)の記憶データとして“1”を記憶した状態、および状態(iii)のドントケア状態を含む3値データを記憶することができる。しかしながら、CAMセルCCとしては、2値データを記憶するCAMセルであってもよい。2値データを記憶するCAMセルとしては、データ記憶部が1つのSRAMセルで構成してもよい。1つのSRAMセルの相補な記憶ノードが、検索部のトランジスタTQ1およびTQ3のそれぞれのゲートに結合される。   As described above, the CAM cell CC has a state in which “0” is stored as the storage data in the state (i), a state in which “1” is stored as the storage data in the state (ii), and a don't care in the state (iii). Three-value data including the state can be stored. However, the CAM cell CC may be a CAM cell that stores binary data. As a CAM cell for storing binary data, the data storage unit may be composed of one SRAM cell. Complementary storage nodes of one SRAM cell are coupled to the respective gates of transistors TQ1 and TQ3 of the search unit.

以下、検索動作に関係する構成要素についてさらに詳しく説明する。
図3は、本発明の実施の形態1に係る連想メモリ100の一部の構成を詳細に示すブロック図である。図3に示す連想メモリ100は、説明を簡単にするため、検索動作をパイプライン化していない場合について説明する。なお、図3には、検索動作の説明に必要なCAMアレイ10と、一致検出部20と、検索データ転送部30と、サーチ制御回路40とを図示してある。
Hereinafter, the components related to the search operation will be described in more detail.
FIG. 3 is a block diagram showing in detail the configuration of a part of the associative memory 100 according to Embodiment 1 of the present invention. In the associative memory 100 shown in FIG. 3, a case where the search operation is not pipelined will be described for the sake of simplicity. FIG. 3 shows the CAM array 10, the match detection unit 20, the search data transfer unit 30, and the search control circuit 40 that are necessary for explaining the search operation.

CAMアレイ10は、n行m列の行列状に配列された複数のメモリセル(CAMセル)を含む。図3では、m=80である。以下、第i行第j列(iは1以上n−1以下の整数、jは1以上m−1以下の整数)のCAMセルをCAMセルCC[i−1,j−1]と記載し、CAMセルについて総称するとき、または不特定のCAMセルを示すときCAMセルCCと記載する。さらに、CAMアレイ10の行方向をX方向と称し、列方向をY方向と称する。X方向について向きを区別するときには+X方向、−X方向のように符号を付して記載する。Y方向についても同様である。   The CAM array 10 includes a plurality of memory cells (CAM cells) arranged in a matrix of n rows and m columns. In FIG. 3, m = 80. Hereinafter, a CAM cell in the i-th row and j-th column (i is an integer of 1 to n-1 and j is an integer of 1 to m-1) is referred to as a CAM cell CC [i-1, j-1]. , When referring generically to CAM cells or indicating unspecified CAM cells, it is described as CAM cell CC. Further, the row direction of the CAM array 10 is referred to as an X direction, and the column direction is referred to as a Y direction. When distinguishing the direction in the X direction, it is described with a reference numeral such as + X direction and -X direction. The same applies to the Y direction.

図3に示す連想メモリ100は、CAMアレイ10の行に対応して設けられ、X方向に延びるn本のマッチ線ML[0]〜ML[n−1]を含む。さらに、連想メモリ100は、CAMアレイ10の列に対応して設けられ、Y方向に延びるm対の検索線対SL[0],SL_N[0]〜SL[m−1],SL_N[m−1]を含む。マッチ線ML[0]〜ML[n−1]および検索線対SL[0],SL_N[0]〜SL[79],SL_N[79]について、総称する場合または不特定のマッチ線および検索線対を示す場合にマッチ線MLおよび検索線対SL,SL_Nとそれぞれ記載する。各CAMセルCCは、n本のマッチ線MLとm対の検索線対SL,SL_Nとの各交差点に対応して設けられる。各CAMセルCCは、対応のマッチ線MLおよび対応の検索線対SL,SL_Nと接続される。   The associative memory 100 shown in FIG. 3 is provided corresponding to the row of the CAM array 10 and includes n match lines ML [0] to ML [n−1] extending in the X direction. Furthermore, the associative memory 100 is provided corresponding to the column of the CAM array 10, and m pairs of search lines SL [0], SL_N [0] to SL [m−1], SL_N [m−] extending in the Y direction. 1]. The match lines ML [0] to ML [n−1] and the search line pairs SL [0], SL_N [0] to SL [79], SL_N [79] are collectively or unspecified match lines and search lines. When indicating a pair, they are described as a match line ML and a search line pair SL, SL_N, respectively. Each CAM cell CC is provided corresponding to each intersection of n match lines ML and m pairs of search lines SL, SL_N. Each CAM cell CC is connected to a corresponding match line ML and a corresponding search line pair SL, SL_N.

連想メモリ100は、さらに、n本のマッチ線ML[0]〜ML[n−1]にそれぞれ接続されたプリチャージ部PC[0]〜PC[n−1]を含む。プリチャージ部PC[0]〜PC[n−1]についても総称する場合または不特定のプリチャージ部を示す場合にプリチャージ部PCと記載する。各プリチャージ部PCは、サーチ制御回路40から受信したマッチ線プリチャージ信号MLPRE_Nが活性状態(“0”)になったとき、対応のマッチ線MLを所定の電圧(図3の場合、電源電圧)にプリチャージする。各プリチャージ部PCは、対応のマッチ線MLの−X方向側の端部に、すなわち、一致検出部20(マッチアンプMA[0]〜MA[n−1])に近接して設けられる。   The associative memory 100 further includes precharge units PC [0] to PC [n−1] connected to n match lines ML [0] to ML [n−1], respectively. The precharge units PC [0] to PC [n−1] are also referred to as a precharge unit PC when collectively referring to an unspecified precharge unit. When the match line precharge signal MLPRE_N received from the search control circuit 40 becomes active (“0”), each precharge unit PC sets the corresponding match line ML to a predetermined voltage (in the case of FIG. 3, the power supply voltage ) To precharge. Each precharge unit PC is provided at the end of the corresponding match line ML on the −X direction side, that is, close to the match detection unit 20 (match amplifiers MA [0] to MA [n−1]).

連想メモリ100は、複数のCAMセルCCによって構成された1エントリごとに、多ビットの検索データ(検索ワード)と予め記憶した記憶データ(記憶ワード)とを比較する。図3に示す連想メモリ100は、各マッチ線MLに接続された1行分(80個)のCAMセルCCによって1エントリが構成されている。すなわち、エントリビット幅は80ビットである。検索ワードは、80対の検索線対SL,SL_Nを介してCAMアレイ10の各エントリに入力される。連想メモリ100は、入力された検索ワードと記憶ワードとを、CAMセルCC(ビット単位)ごとに比較する。   The associative memory 100 compares multi-bit search data (search word) with stored data (storage word) stored in advance for each entry configured by a plurality of CAM cells CC. In the associative memory 100 shown in FIG. 3, one entry is configured by one row (80 cells) of CAM cells CC connected to each match line ML. That is, the entry bit width is 80 bits. The search word is input to each entry of the CAM array 10 through 80 search line pairs SL and SL_N. The associative memory 100 compares the input search word and storage word for each CAM cell CC (bit unit).

検索動作について簡単に説明すると、まず、プリチャージ部PCによって各マッチ線MLの値は“1”にプリチャージされる。次に、各CAMセルCCに、対応の検索線対SL,SL_Nを介して検索データが入力される。連想メモリ100は、各CAMセルCCで、入力された検索データと予め記憶している1ビットの記憶データとを比較し、両者が一致しないとき、プリチャージ状態にある対応のマッチ線MLを放電して、対応のマッチ線MLの論理レベルを変化する。   The search operation will be briefly described. First, the value of each match line ML is precharged to “1” by the precharge unit PC. Next, search data is input to each CAM cell CC via the corresponding search line pair SL, SL_N. The associative memory 100 compares the input search data with 1-bit stored data stored in advance in each CAM cell CC, and discharges the corresponding match line ML in the precharged state when they do not match. Then, the logic level of the corresponding match line ML is changed.

したがって、各マッチ線MLに接続された複数のCAMセルCCのすべての記憶データと検索データとが一致した(ヒット:HIT)とき、すなわち、検索ワードと記憶ワードとが一致したとき、マッチ線MLの値は“1”に維持される。各マッチ線MLに接続された少なくとも1つのCAMセルCCの記憶データと検索データとが一致しない(ミス:MISS)とき、すなわち、検索ワードと記憶ワードとが一致しないとき、マッチ線MLにプリチャージされた電荷が放電され、マッチ線MLの値は“0”に変化する。   Accordingly, when all the stored data of the plurality of CAM cells CC connected to each match line ML match the search data (hit: HIT), that is, when the search word and the storage word match, the match line ML The value of is maintained at “1”. When the storage data of at least one CAM cell CC connected to each match line ML does not match the search data (miss: MISS), that is, when the search word does not match the storage word, the match line ML is precharged. The charged charges are discharged, and the value of the match line ML changes to “0”.

なお、検索動作には、マッチ線MLの値を“0”にプリチャージし、記憶データと検索データとが一致したとき“1”に充電する場合や、マッチ線MLの値を“1”にプリチャージし、記憶データと検索データとが一致したとき“0”に放電する場合などが考えられる。本願では、特に検索動作に限定されるものではない。   In the search operation, the value of the match line ML is precharged to “0” and charged to “1” when the stored data matches the search data, or the value of the match line ML is set to “1”. A case where precharge is performed and the stored data and the search data coincide with each other and discharged to “0” can be considered. In the present application, the search operation is not particularly limited.

次に、検索動作をパイプライン化している場合の連想メモリ100について説明する。連想メモリ100は、図3に示すCAMアレイ10を複数のサブアレイに分割し、上位のCAMサブアレイから下位のCAMサブアレイに向かって順に検索動作を実行する。   Next, the content addressable memory 100 when the search operation is pipelined will be described. The associative memory 100 divides the CAM array 10 shown in FIG. 3 into a plurality of subarrays, and sequentially executes a search operation from the upper CAM subarray toward the lower CAM subarray.

図4は、本発明の実施の形態1に係るCAMアレイ10を複数のCAMサブアレイに分割した構成を示す模式図である。図4に示すCAMアレイ10は、4つのCAMサブアレイ10a〜10dに分割してある。CAMサブアレイ10aには、VB(valid Bit)データが入力され、CAMサブアレイ10dは、検索動作を実行した結果(ZMAT信号)をプライオリティエンコーダ70に出力する。なお、図3に示すようにCAMセルCCを80列(m=80)配置してある場合、CAMサブアレイ10a〜10dは、20列ずつ分割され、それぞれ20ビットのCAMセルCCを含んでいる。   FIG. 4 is a schematic diagram showing a configuration in which the CAM array 10 according to Embodiment 1 of the present invention is divided into a plurality of CAM subarrays. The CAM array 10 shown in FIG. 4 is divided into four CAM subarrays 10a to 10d. VB (valid bit) data is input to the CAM sub-array 10 a, and the CAM sub-array 10 d outputs the result (ZMAT signal) of the search operation to the priority encoder 70. As shown in FIG. 3, when CAM cells CC are arranged in 80 columns (m = 80), the CAM sub-arrays 10a to 10d are divided into 20 columns, each including a 20-bit CAM cell CC.

CAMサブアレイ10a〜10cは、マッチ線MLをプリチャージ状態、またはディスチャージ状態を制御するマッチ線制御部11、20ビットのCAMセルCC、検索動作を実行した結果を下位のCAMサブアレイに送るためのハーフラッチ回路12を含んでいる。CAMサブアレイ10dは、CAMサブアレイ10a〜10cの構成に加えて、検索動作を実行した結果をプライオリティエンコーダ70に伝送するスレーブラッチ回路13を含んでいる。CAMサブアレイ10dのハーフラッチ回路12およびスレーブラッチ回路13は、フルラッチ回路であるマスタースレーブ型のD−FF(FlipFlop)回路を構成している。   The CAM subarrays 10a to 10c include a match line control unit 11 that controls the match line ML in a precharge state or a discharge state, a 20-bit CAM cell CC, and a half for sending a result of executing a search operation to a lower CAM subarray. A latch circuit 12 is included. In addition to the configuration of the CAM subarrays 10a to 10c, the CAM subarray 10d includes a slave latch circuit 13 that transmits the result of executing the search operation to the priority encoder 70. The half latch circuit 12 and the slave latch circuit 13 of the CAM sub-array 10d constitute a master-slave type D-FF (FlipFlop) circuit that is a full latch circuit.

マッチ線制御部11は、CAMセルCCの前段に、マッチ線MLをプリチャージ状態またはディスチャージ状態に制御する。ハーフラッチ回路12は、CAMセルCCの後段に、検索動作を実行した結果を下位のCAMサブアレイに伝達する。マッチ線制御部11、CAMセルCC、ハーフラッチ回路12を含むCAMサブアレイが、パイプラインにおける1つのステージを構成している。図4に示すCAMアレイ10は、4つのCAMサブアレイ10a〜10dに分割して、4つのステージを持つパイプラインの構成として説明するが、分割数は任意の偶奇数でかまわない。   The match line control unit 11 controls the match line ML to a precharge state or a discharge state before the CAM cell CC. The half latch circuit 12 transmits the result of the search operation to the lower CAM sub-array after the CAM cell CC. The CAM subarray including the match line control unit 11, the CAM cell CC, and the half latch circuit 12 constitutes one stage in the pipeline. The CAM array 10 shown in FIG. 4 is divided into four CAM sub-arrays 10a to 10d and described as a pipeline configuration having four stages, but the number of divisions may be any even odd number.

CAMアレイ10は、図中左側のCAMサブアレイ10aから順に検索動作を行い、図中右側のCAMサブアレイ10dに至る4つのステージを経て、検索動作を実行した結果をプライオリティエンコーダ70に伝送する。たとえば、第1ステージにおいて、CAMサブアレイ10aが少なくとも1つのCAMセルCCの記憶データと検索データとが一致しない(ミス:MISS)とき、第2ステージ以降において、CAMサブアレイ10b〜10dは、マッチ線MLをプリチャージ状態にせず、ディスチャージ状態に制御する。そのため、CAMアレイ10は、検索動作を実行した結果(ミスの情報)をプライオリティエンコーダ70に伝送することができる。すべてのステージにおいて、CAMサブアレイが、すべてのCAMセルCCの記憶データと検索データとが一致する(ヒット:HIT)とき、CAMアレイ10は、検索動作を実行した結果(ヒットの情報)をプライオリティエンコーダ70に伝送することができる。   The CAM array 10 performs a search operation sequentially from the left CAM sub-array 10a in the drawing, and transmits the result of executing the search operation to the priority encoder 70 through four stages leading to the right CAM sub-array 10d in the drawing. For example, in the first stage, when the CAM subarray 10a does not match the stored data of the at least one CAM cell CC and the search data (miss: MISS), the CAM subarrays 10b to 10d are connected to the match line ML in the second stage and thereafter. Is not put into the precharge state, but is controlled to the discharge state. Therefore, the CAM array 10 can transmit the result of executing the search operation (miss information) to the priority encoder 70. In all stages, when the stored data and the search data of all the CAM cells CC match (hit: HIT), the CAM array 10 uses the priority encoder to obtain the result of the search operation (hit information). 70 can be transmitted.

従来の連想メモリの場合、第1ステージにおいて、CAMサブアレイが、少なくとも1つのCAMセルCCの記憶データと検索データとが一致しない(ミス:MISS)ときでも、第2ステージ以降において、CAMサブアレイは、マッチ線MLをプリチャージ状態にする。そのため、従来の連想メモリは、マッチ線MLを無駄にプリチャージ状態にするので、マッチ線制御部で消費する電力が大きい。そこで、本実施の形態に係る連想メモリ100は、前述したようにマッチ線MLを無駄にプリチャージ状態にせずに検索動作を実行することで、マッチ線制御部で消費する電力を低減する。   In the case of the conventional associative memory, in the first stage, even when the storage data and the search data of at least one CAM cell CC do not match (miss: MISS), in the first stage, the CAM subarray Match line ML is set to a precharge state. For this reason, the conventional associative memory puts the match line ML in a precharge state unnecessarily, so that the power consumed by the match line control unit is large. Therefore, associative memory 100 according to the present embodiment reduces the power consumed by the match line control unit by executing the search operation without using match line ML unnecessarily as described above.

図5は、本発明の実施の形態1に係るCAMサブアレイの詳細な構成を示す回路図である。図5に示すCAMアレイ10は、CAMサブアレイ10aおよびCAMサブアレイ10dの回路図である。なお、CAMサブアレイ10bおよびCAMサブアレイ10cは、CAMサブアレイ10aと同じ回路構成であるため、図示を繰り返さない。   FIG. 5 is a circuit diagram showing a detailed configuration of the CAM subarray according to Embodiment 1 of the present invention. The CAM array 10 shown in FIG. 5 is a circuit diagram of the CAM subarray 10a and the CAM subarray 10d. Note that the CAM subarray 10b and the CAM subarray 10c have the same circuit configuration as that of the CAM subarray 10a, and thus the illustration thereof will not be repeated.

CAMサブアレイ10aは、マッチ線制御部11、20ビットのCAMセルCC、ハーフラッチ回路12を含んでいる。マッチ線制御部11は、マッチ線MLと電源端子との間に直列に接続された2つのp型トランジスタ11a,11bと、マッチ線MLと接地端子との間に直列に接続された2つのn型トランジスタ11c,11dとを有する。p型トランジスタ11aはPRE_N[0]線、p型トランジスタ11bはPRE_ENA_N[0]線の値がそれぞれ“0”のとき、ON状態となり、マッチ線制御部11は、マッチ線MLをプリチャージ状態にする。n型トランジスタ11cはMAN_N[0]線、n型トランジスタ11dはPRE_ENA_N[0]線の値がそれぞれ“1”のとき、ON状態となり、マッチ線制御部11は、マッチ線MLをディスチャージ状態にする。ハーフラッチ回路12は、2入力NAND回路12a、インバータ12b〜12dを含んでいる。なお、[0]内の数字は、CAMサブアレイに接続する配線の番号を表し、[0]はCAMサブアレイ10aに接続する配線の番号、[1]はCAMサブアレイ10bに接続する配線の番号、[2]はCAMサブアレイ10cに接続する配線の番号、[3]はCAMサブアレイ10dに接続する配線の番号をそれぞれ表している。   The CAM sub-array 10 a includes a match line control unit 11, a 20-bit CAM cell CC, and a half latch circuit 12. The match line control unit 11 includes two p-type transistors 11a and 11b connected in series between the match line ML and the power supply terminal, and two n connected in series between the match line ML and the ground terminal. Type transistors 11c and 11d. When the value of the PRE_N [0] line for the p-type transistor 11a and the value of the PRE_ENA_N [0] line for the p-type transistor 11b are “0”, the match line control unit 11 sets the match line ML to the precharged state. To do. When the value of the n-type transistor 11c is MAN_N [0] line and the value of the PRE_ENA_N [0] line is “1”, the n-type transistor 11d is turned on, and the match line control unit 11 puts the match line ML into a discharge state. . The half latch circuit 12 includes a two-input NAND circuit 12a and inverters 12b to 12d. The numbers in [0] represent the numbers of wirings connected to the CAM subarray, [0] is the number of wirings connected to the CAM subarray 10a, [1] is the number of wirings connected to the CAM subarray 10b, [ 2] represents the number of the wiring connected to the CAM subarray 10c, and [3] represents the number of the wiring connected to the CAM subarray 10d.

CAMサブアレイ10dは、CAMサブアレイ10a〜10cの構成に加えてスレーブラッチ回路13を含んでいる。CAMサブアレイ10dのハーフラッチ回路12およびスレーブラッチ回路13は、フルラッチ回路であるマスタースレーブ型のD−FF回路を構成し、2入力NAND回路12a、インバータ12b〜12d、インバータ13b〜13dを含んでいる。   The CAM subarray 10d includes a slave latch circuit 13 in addition to the configuration of the CAM subarrays 10a to 10c. The half latch circuit 12 and the slave latch circuit 13 of the CAM sub-array 10d constitute a master-slave type D-FF circuit that is a full latch circuit, and includes a two-input NAND circuit 12a, inverters 12b to 12d, and inverters 13b to 13d. .

ハーフラッチ回路12は、フルラッチ回路であるマスタースレーブ型のD−FF回路に比べて略半分のインバータ(トランジスタ)で構成することができる。そのため、連想メモリ100は、構成する回路のレイアウト面積を小さくすることができる。また、ハーフラッチ回路12は、動作時に、フルラッチ回路であるマスタースレーブ型のD−FF回路に比べて略半分のインバータを駆動するだけでよいので、連想メモリ100は、消費電力を低減することができる。   The half latch circuit 12 can be configured by substantially half an inverter (transistor) compared to a master-slave type D-FF circuit which is a full latch circuit. For this reason, the content addressable memory 100 can reduce the layout area of the circuit to be configured. Further, since the half latch circuit 12 only needs to drive approximately half of the inverter in comparison with the master-slave type D-FF circuit which is a full latch circuit, the associative memory 100 can reduce power consumption. it can.

次に、本発明の実施の形態1に係る連想メモリ100の動作を説明する。図6は、本発明の実施の形態1に係る連想メモリ100の動作を説明するためのタイミングチャートである。以下では、連想メモリ100の動作をわかりやすく説明するために、VBデータが有効である場合について説明する。つまり、第1ステージ[stage1]において、CAMサブアレイ10aのマッチ線制御部11は、マッチ線MLを必ずプリチャージ状態にする。なお、VBデータが無効(エントリ無効)である場合、CAMアレイ10のマッチ線制御部11は、1エントリ分(4つのCAMサブアレイ10a〜10d)のマッチ線MLをプリチャージ状態にしない。つまり、1エントリ分のマッチ線MLの値は、常に“0”である。   Next, the operation of the content addressable memory 100 according to Embodiment 1 of the present invention will be described. FIG. 6 is a timing chart for explaining the operation of the associative memory 100 according to the first embodiment of the present invention. Hereinafter, in order to explain the operation of the associative memory 100 in an easy-to-understand manner, a case where VB data is valid will be described. That is, in the first stage [stage1], the match line control unit 11 of the CAM sub-array 10a always sets the match line ML to the precharge state. When the VB data is invalid (entry invalid), the match line control unit 11 of the CAM array 10 does not put the match lines ML for one entry (four CAM subarrays 10a to 10d) in a precharged state. That is, the value of the match line ML for one entry is always “0”.

まず、第1ステージにおいて、CAMサブアレイ10aは、PRE_N[0]線の値が“0”になると、マッチ線MLをプリチャージ状態にする。なお、図6に示すように、PRE_ENA_N[0]線の値も“0”である。マッチ線MLをプリチャージ状態にした後、第1ステージにおいて、CAMサブアレイ10aは、検索動作を実行する。検索動作を実行すると、マッチ線MLに放電が生じるので、マッチ線MLの値が“1”から“0”へと変化する。マッチ線MLの値が“1”から“0”へと変化する遷移時間が遅いことで、後段に位置するCMOSトランジスタに貫通電流が流れないように2入力NAND回路12aを設けてある。なお、マッチ線MLの値に低振幅の値を採用した場合、2入力NAND回路12aに代えてセンスアンプを用いる。   First, in the first stage, when the value of the PRE_N [0] line becomes “0”, the CAM sub-array 10a sets the match line ML to the precharge state. As shown in FIG. 6, the value of the PRE_ENA_N [0] line is also “0”. After the match line ML is set to the precharge state, in the first stage, the CAM sub-array 10a executes a search operation. When the search operation is executed, the match line ML is discharged, so that the value of the match line ML changes from “1” to “0”. A two-input NAND circuit 12a is provided so that a through current does not flow through a CMOS transistor located at a later stage due to a slow transition time in which the value of the match line ML changes from “1” to “0”. When a low amplitude value is adopted as the value of the match line ML, a sense amplifier is used instead of the 2-input NAND circuit 12a.

次に、2入力NAND回路12aは、MAE[0]線の値が“1”のとき、マッチ線MLの値をハーフラッチ回路12のインバータ12bに入力する。つまり、2入力NAND回路12aは、CAMサブアレイ10aの検索動作を実行した結果がヒットの情報“1”ならば“0”を、ミスの情報“0”ならば“1”をハーフラッチ回路12のインバータ12bに出力する。ハーフラッチ回路12は、LAT[0]線の値が“1”のとき、マッチ線MLの値を第2ステージ[stage2]のCAMサブアレイ10bに伝送する。   Next, the 2-input NAND circuit 12a inputs the value of the match line ML to the inverter 12b of the half latch circuit 12 when the value of the MAE [0] line is “1”. That is, the two-input NAND circuit 12a determines that the result of the search operation of the CAM subarray 10a is “0” if the hit information is “1”, and “1” if the miss information is “0”. It outputs to the inverter 12b. When the value of the LAT [0] line is “1”, the half latch circuit 12 transmits the value of the match line ML to the CAM subarray 10b of the second stage [stage2].

図6に示すように、LAT[0]線の値は、CAMサブアレイ10aが動作中(第1ステージ)に“1”となるので、CAMサブアレイ10aが動作中(第1ステージ)にマッチ線MLの値がCAMサブアレイ10bに伝送される。しかし、第2ステージのマッチ線制御部11は、CAMサブアレイ10aの動作(第1ステージ)の終了後に、マッチ線MLをプリチャージ状態、またはディスチャージ状態に制御するので、CAMサブアレイ10aが動作中(第1ステージ)にマッチ線MLの値がCAMサブアレイ10bに伝送されても、誤動作を生じない。   As shown in FIG. 6, the value of the LAT [0] line becomes “1” when the CAM sub-array 10a is operating (first stage), and therefore, the match line ML when the CAM sub-array 10a is operating (first stage). Is transmitted to the CAM sub-array 10b. However, the match line control unit 11 in the second stage controls the match line ML to the precharge state or the discharge state after the operation of the CAM subarray 10a (first stage) is completed, so that the CAM subarray 10a is in operation ( Even if the value of the match line ML is transmitted to the CAM sub-array 10b in the first stage), no malfunction occurs.

つまり、従来の連想メモリのように、ハーフラッチ回路ではなくD−FF回路を用いて、CAMサブアレイ10aが動作中(第1ステージ)にマッチ線MLの値が第2ステージのCAMサブアレイ10bに伝送されない構成とする必要がない。そのため、本実施の形態に係る連想メモリ100は、D−FF回路ではなくハーフラッチ回路12を用いることで、構成する回路のレイアウト面積を小さくすることができる。   That is, the value of the match line ML is transmitted to the CAM subarray 10b of the second stage while the CAM subarray 10a is operating (first stage) using the D-FF circuit instead of the half latch circuit as in the conventional associative memory. It is not necessary to have a configuration that is not performed. Therefore, the content addressable memory 100 according to the present embodiment can reduce the layout area of the circuit to be configured by using the half latch circuit 12 instead of the D-FF circuit.

次に、LAT[0]線の値が“0”になると、CAM_CLK信号が“1”となり第2ステージにおいて、CAMサブアレイ10bが動作を開始する。なお、CAM_CLK信号の1サイクルが、各ステージにおけるCAMサブアレイの動作と対応する。LAT[0]線の値が“0”になる時点で、第1ステージにおけるCAMサブアレイ10aの動作と、第2ステージにおけるCAMサブアレイ10bの動作とが完全に分離されるので、それぞれのパイプラインを完全に独立して動作することができる。また、図5に示すように、ハーフラッチ回路12は、検索動作を実行するたびに電源端子から接地端子へと貫通電流が流れる回路構成でないため、連想メモリ100は、消費電力を低減することができる。   Next, when the value of the LAT [0] line becomes “0”, the CAM_CLK signal becomes “1”, and the CAM sub-array 10b starts operating in the second stage. One cycle of the CAM_CLK signal corresponds to the operation of the CAM subarray in each stage. When the value of the LAT [0] line becomes “0”, the operation of the CAM subarray 10a in the first stage and the operation of the CAM subarray 10b in the second stage are completely separated. Can operate completely independently. Further, as shown in FIG. 5, the half latch circuit 12 does not have a circuit configuration in which a through current flows from the power supply terminal to the ground terminal every time the search operation is performed. Therefore, the content addressable memory 100 can reduce power consumption. it can.

次に、第2ステージにおいて、CAMサブアレイ10bは、上位のCAMサブアレイ10a(第1ステージ)の検索動作を実行した結果がヒットの情報“1”の場合(上位ヒット時)、上位のCAMサブアレイ10a(第1ステージ)のハーフラッチ回路12から出力されるマッチ線MLの値が“0”(前値(PRE_ENA_N[1]))となるので、PRE_ENA_N[0]線の値が“0”になると、マッチ線MLをプリチャージ状態にする。CAMサブアレイ10bは、マッチ線MLをプリチャージ状態にすることで、上位のCAMサブアレイ10a(第1ステージ)の検索動作を実行した結果のヒットの情報“1”を、下位のCAMサブアレイ10b(第2ステージ)の検索動作に伝えている。   Next, in the second stage, when the result of executing the search operation of the upper CAM subarray 10a (first stage) is the hit information “1” (at the time of the upper hit), the CAM subarray 10b Since the value of the match line ML output from the (first stage) half latch circuit 12 is “0” (previous value (PRE_ENA_N [1])), the value of the PRE_ENA_N [0] line becomes “0”. , The match line ML is set to the precharge state. The CAM sub-array 10b sets the match line ML to the precharged state, thereby obtaining the hit information “1” as a result of executing the search operation of the upper CAM sub-array 10a (first stage). 2 stage) search operation.

第2ステージにおいて、CAMサブアレイ10bは、上位のCAMサブアレイ10a(第1ステージ)の検索動作を実行した結果がミスの情報“0”の場合(上位ミス時)、上位のCAMサブアレイ10a(第1ステージ)のハーフラッチ回路12から出力されるマッチ線MLの値が“1”(前値(PRE_ENA_N[1]))となるので、PRE_ENA_N[0]線の値が“0”になっても、マッチ線MLをプリチャージ状態にすることはない。CAMサブアレイ10bは、マッチ線MLをプリチャージ状態にする期間よりも長いMAE_N[1]線の値が“1”となる期間(図6ではMAE[1]線の値が“0”となる期間)、マッチ線MLをディスチャージ状態にする。CAMサブアレイ10bは、マッチ線MLをディスチャージ状態にすることで、上位のCAMサブアレイ10a(第1ステージ)の検索動作を実行した結果のミスの情報“0”を、下位のCAMサブアレイ10b(第2ステージ)の検索動作に伝えている。なお、いずれかのステージにおいて、CAMサブアレイの検索動作を実行した結果がミスの情報となると、そのステージ以降のCAMサブアレイは、マッチ線MLをプリチャージ状態にすることはなく、検索動作を実行した結果がミスの情報となる。   In the second stage, when the result of executing the search operation of the upper CAM subarray 10a (first stage) is miss information “0” (at the time of the upper miss), the CAM subarray 10b Since the value of the match line ML output from the half latch circuit 12 of the stage) is “1” (previous value (PRE_ENA_N [1])), the value of the PRE_ENA_N [0] line becomes “0”. The match line ML is not put in the precharge state. The CAM sub-array 10b has a period in which the value of the MAE_N [1] line is “1” longer than the period in which the match line ML is in the precharge state (the period in which the value of the MAE [1] line is “0” in FIG. 6). ), The match line ML is set to a discharge state. The CAM sub-array 10b sets the match line ML to the discharge state, and thereby, information on the error “0” as a result of executing the search operation of the upper CAM sub-array 10a (first stage) is transferred to the lower CAM sub-array 10b (second Stage) search operation. Note that if the result of executing the search operation of the CAM subarray in any stage is misinformation, the CAM subarrays subsequent to that stage did not set the match line ML to the precharged state and executed the search operation. The result is information about a mistake.

第3および第4ステージ([stage3],[stage4])において、CAMサブアレイ10c,10dは、第2ステージのCAMサブアレイ10bと同じ動作を行なうので、同じ説明を繰り返さない。   In the third and fourth stages ([stage3], [stage4]), the CAM subarrays 10c and 10d perform the same operation as the second stage CAM subarray 10b, and thus the same description will not be repeated.

なお、第4ステージのCAMサブアレイ10dは、スレーブラッチ回路13を備えているので、ハーフラッチ回路12とスレーブラッチ回路13とで、フルラッチ回路であるマスタースレーブ型のD−FF回路を構成している。CAMサブアレイ10dは、MAT_CLK線の値が“1”となるタイミング(第5ステージ[stage5])で、プライオリティエンコーダ70に、検索動作を実行した結果を伝送する。つまり、CAMサブアレイ10dは、従来の連想メモリと同じようにD−FF回路を用いて、プライオリティエンコーダ70に、検索動作を実行した結果を伝送している。   Since the fourth stage CAM sub-array 10d includes the slave latch circuit 13, the half latch circuit 12 and the slave latch circuit 13 constitute a master-slave D-FF circuit that is a full latch circuit. . The CAM subarray 10d transmits the result of executing the search operation to the priority encoder 70 at the timing when the value of the MAT_CLK line becomes “1” (fifth stage [stage5]). That is, the CAM sub-array 10d transmits the result of executing the search operation to the priority encoder 70 using the D-FF circuit as in the conventional associative memory.

以上のように、本実施の形態1に係る連想メモリ100は、上位のCAMサブアレイの動作の終了後に、下位のCAMサブアレイのマッチ線制御部11がマッチ線MLをプリチャージ状態またはディスチャージ状態に制御することで、検索動作を実行した結果を下位のCAMサブアレイに伝達する回路にフルラッチ回路(たとえばフリップフロップ回路)でなくハーフラッチ回路12を用いることができる。CAMサブアレイは、検索動作を実行した結果を下位のCAMサブアレイに伝達する回路に、フルラッチ回路(たとえばフリップフロップ回路)の略半分のトランジスタで構成されたハーフラッチ回路12を用いるので、構成する回路のレイアウト面積を小さくすることができる。また、CAMサブアレイは、フリップフロップ回路に比べて動作時に消費する電力が小さいハーフラッチ回路を用いるので、消費電力を低減することができる。   As described above, in the content addressable memory 100 according to the first exemplary embodiment, the match line control unit 11 of the lower CAM subarray controls the match line ML to the precharge state or the discharge state after the operation of the upper CAM subarray is finished. Thus, the half latch circuit 12 can be used instead of the full latch circuit (for example, flip-flop circuit) for the circuit that transmits the result of executing the search operation to the lower CAM subarray. The CAM subarray uses the half latch circuit 12 composed of substantially half of the transistors of the full latch circuit (for example, flip-flop circuit) as a circuit that transmits the result of executing the search operation to the lower CAM subarray. The layout area can be reduced. Further, since the CAM subarray uses a half latch circuit that consumes less power than the flip-flop circuit, power consumption can be reduced.

また、本実施の形態1に係る連想メモリ100は、検索動作をパイプライン化することで、あるステージにおいてCAMサブアレイの検索動作を実行した結果がミスの情報となると、そのステージ以降のCAMサブアレイにおいてマッチ線MLをプリチャージ状態にすることがないので、マッチ線MLを無駄にプリチャージ状態にしないで、マッチ線制御部で消費する電力を低減する。   In addition, the content addressable memory 100 according to the first exemplary embodiment pipelines the search operation, and if the result of executing the search operation of the CAM subarray in a certain stage becomes information on a mistake, Since the match line ML is not put in the precharge state, the power consumed by the match line control unit is reduced without wastefully putting the match line ML in the precharge state.

従来の連想メモリは、検索動作を実行した結果がミス−ミス−ミス−ミスと連続した場合、マッチ線MLを4回プリチャージ状態にするために必要となる電力が消費電力のワーストケースとなる。しかし、本実施の形態1に係る連想メモリ100は、検索動作を実行した結果がヒット−ミス−ヒット−ミスと連続した場合、マッチ線MLを2回プリチャージ状態にするために必要となる電力が消費電力のワーストケースとなる。そのため、本実施の形態1に係る連想メモリ100は、従来の連想メモリに比べて、ワーストケースの消費電力が略半分になる。   In the conventional associative memory, when the result of executing the search operation is consecutively miss-miss-miss-miss, the power required to put the match line ML into the precharge state four times becomes the worst case of power consumption. . However, the content addressable memory 100 according to the first exemplary embodiment requires the power required to put the match line ML in the precharge state twice when the result of executing the search operation is continuous with hit-miss-hit-miss. Is the worst case of power consumption. Therefore, the worst-case power consumption of the associative memory 100 according to the first embodiment is approximately half that of the conventional associative memory.

また、本実施の形態1に係る連想メモリ100は、VBデータを第1ステージのマッチ線制御部11に入力することで、そのエントリにおけるマッチ線MLをプリチャージ状態にする制御を完全に止めることができるので、エントリ無効の場合の消費電力を抑えることができる。   Further, the content addressable memory 100 according to the first exemplary embodiment completely stops the control for setting the match line ML in the entry to the precharge state by inputting the VB data to the match line control unit 11 in the first stage. Therefore, the power consumption when the entry is invalid can be suppressed.

また、本実施の形態1に係る連想メモリ100は、図5に示すように、ハーフラッチ回路12が、検索動作を実行するたびに電源端子から接地端子へと貫通電流が流れる回路構成でないため、連想メモリ100は、消費電力を低減することができる。   Further, associative memory 100 according to the first embodiment, as shown in FIG. 5, half latch circuit 12 is not a circuit configuration in which a through current flows from a power supply terminal to a ground terminal every time a search operation is performed. The associative memory 100 can reduce power consumption.

さらに、本実施の形態1に係る連想メモリ100は、マッチ線制御部11がマッチ線MLをディスチャージ状態にすることができるので、検索動作を実行した結果によりマッチ線MLが中間電位等になり、下位のCAMサブアレイのトランジスタに貫通電流が流れるのを抑えることができる。   Furthermore, in the associative memory 100 according to the first embodiment, the match line control unit 11 can set the match line ML to the discharge state, so that the match line ML becomes an intermediate potential or the like according to the result of executing the search operation. It is possible to suppress a through current from flowing through the transistors of the lower CAM subarray.

マッチ線制御部11は、マッチ線MLをプリチャージ状態にするためにp型トランジスタ11a,11bを、マッチ線MLをディスチャージ状態にするためにn型トランジスタ11c,11dをそれぞれ備えている。図6で示すように、マッチ線MLをディスチャージ状態にする期間は、マッチ線MLをプリチャージ状態にする期間に比べて長くすることができるので、n型トランジスタ11c,11dは、p型トランジスタ11a,11bに比べて駆動能力が小さくてもよい。そのため、n型トランジスタ11c,11dは、p型トランジスタ11a,11bに比べてサイズを小さくすることができる。   The match line control unit 11 includes p-type transistors 11a and 11b for setting the match line ML in a precharge state, and n-type transistors 11c and 11d for setting the match line ML in a discharge state. As shown in FIG. 6, since the period during which the match line ML is in the discharge state can be made longer than the period during which the match line ML is in the precharge state, the n-type transistors 11c and 11d are connected to the p-type transistor 11a. , 11b may have a smaller driving capability. Therefore, the n-type transistors 11c and 11d can be reduced in size compared to the p-type transistors 11a and 11b.

また、本実施の形態1に係る連想メモリ100は、パイプライン化するために、マッチ線MLを複数に分割するので、マッチ線MLの充放電容量を小さくして、検索動作を実行する速度(検索動作の周波数)を速くすることができる。   In addition, since the associative memory 100 according to the first embodiment divides the match line ML into a plurality of lines in order to form a pipeline, the charge / discharge capacity of the match line ML is reduced, and the search operation speed ( The frequency of the search operation can be increased.

なお、本実施の形態1に係るマッチ線制御部11では、p型トランジスタ11aのゲートをPRE_N線に、p型トランジスタ11bのゲートをPRE_ENA_N線にそれぞれ接続してある。また、本実施の形態1に係るマッチ線制御部11では、n型トランジスタ11cのゲートをMAN_N線に、n型トランジスタ11dのゲートをPRE_ENA_N線にそれぞれ接続してある。   In the match line control unit 11 according to the first embodiment, the gate of the p-type transistor 11a is connected to the PRE_N line, and the gate of the p-type transistor 11b is connected to the PRE_ENA_N line. In the match line control unit 11 according to the first embodiment, the gate of the n-type transistor 11c is connected to the MAN_N line, and the gate of the n-type transistor 11d is connected to the PRE_ENA_N line.

ただし、本実施の形態1に係るマッチ線制御部11では、p型トランジスタ11aのゲートをPRE_ENA_N線に、p型トランジスタ11bのゲートをPRE_N線に、n型トランジスタ11cのゲートをPRE_ENA_N線に、n型トランジスタ11dのゲートをMAN_N線にそれぞれ接続しても良い。このような接続に変更することで、マッチ線制御部11は、マッチ線MLをプリチャージ状態またはディスチャージ状態とするときの動作を高速化することができる。   However, in the match line control unit 11 according to the first embodiment, the gate of the p-type transistor 11a is on the PRE_ENA_N line, the gate of the p-type transistor 11b is on the PRE_N line, the gate of the n-type transistor 11c is on the PRE_ENA_N line, and n The gate of the type transistor 11d may be connected to the MAN_N line. By changing to such a connection, the match line control unit 11 can speed up the operation when the match line ML is set to the precharge state or the discharge state.

(実施の形態2)
図7は、本発明の実施の形態2に係るCAMアレイ10を複数のCAMサブアレイに分割した構成を示す模式図である。本発明の実施の形態2に係る連想メモリ100は、実施の形態1に係る連想メモリ100と同じ構成であるため、同じ構成要素に同じ符号を付して詳細な説明を繰り返さない。
(Embodiment 2)
FIG. 7 is a schematic diagram showing a configuration in which the CAM array 10 according to Embodiment 2 of the present invention is divided into a plurality of CAM subarrays. The associative memory 100 according to the second embodiment of the present invention has the same configuration as that of the associative memory 100 according to the first embodiment.

図7に示すCAMアレイ10は、4つのCAMサブアレイ10a〜10dに分割してある。CAMサブアレイ10aには、VB(valid Bit)データが入力され、CAMサブアレイ10dは、検索動作を実行した結果(ZMAT信号)をプライオリティエンコーダ70に出力する。なお、図3に示すようにCAMセルCCを80列(m=80)配置してある場合、CAMサブアレイ10a〜10dは、20列ずつ分割され、それぞれ20ビットのCAMセルCCを含んでいる。   The CAM array 10 shown in FIG. 7 is divided into four CAM subarrays 10a to 10d. VB (valid bit) data is input to the CAM sub-array 10 a, and the CAM sub-array 10 d outputs the result (ZMAT signal) of the search operation to the priority encoder 70. As shown in FIG. 3, when CAM cells CC are arranged in 80 columns (m = 80), the CAM sub-arrays 10a to 10d are divided into 20 columns, each including a 20-bit CAM cell CC.

CAMサブアレイ10a〜10cは、20ビットのCAMセルCC、制御回路15を含んでいる。制御回路15は、マッチ線MLをプリチャージ状態、またはディスチャージ状態を制御するマッチ線制御部と、および検索動作を実行した結果を下位のCAMサブアレイに送るためのハーフラッチ回路とを含んでいる。CAMサブアレイ10dは、CAMサブアレイ10a〜10cの構成に加えて、検索動作を実行した結果をプライオリティエンコーダ70に伝送するスレーブラッチ回路13を含んでいる。制御回路15に含むハーフラッチ回路およびスレーブラッチ回路13は、フルラッチ回路であるマスタースレーブ型のD−FF回路を構成している。   The CAM subarrays 10 a to 10 c include a 20-bit CAM cell CC and a control circuit 15. The control circuit 15 includes a match line control unit that controls the match line ML in a precharge state or a discharge state, and a half latch circuit for sending a result of executing a search operation to a lower CAM subarray. In addition to the configuration of the CAM subarrays 10a to 10c, the CAM subarray 10d includes a slave latch circuit 13 that transmits the result of executing the search operation to the priority encoder 70. The half latch circuit and slave latch circuit 13 included in the control circuit 15 constitute a master-slave type D-FF circuit which is a full latch circuit.

また、図7に示すCAMアレイ10は、CAMサブアレイ10aとCAMサブアレイ10bとに対して同じ配線16で、CAMサブアレイ10cとCAMサブアレイ10dとに対して同じ配線17でそれぞれ制御信号を供給している。図7に示すCAMアレイ10は、4つのCAMサブアレイ10a〜10dに分割して、4つのステージを持つパイプラインの構成として説明するが、分割数は任意の偶奇数でかまわない。   The CAM array 10 shown in FIG. 7 supplies control signals to the CAM subarray 10a and the CAM subarray 10b through the same wiring 16, and to the CAM subarray 10c and the CAM subarray 10d through the same wiring 17. . The CAM array 10 shown in FIG. 7 is divided into four CAM sub-arrays 10a to 10d and described as a pipeline configuration having four stages. However, the number of divisions may be any even odd number.

CAMアレイ10は、図中左側のCAMサブアレイ10aから順に検索動作を行い、図中右側のCAMサブアレイ10dに至る4つのステージを経て、検索動作を実行した結果をプライオリティエンコーダ70に伝送する。   The CAM array 10 performs a search operation sequentially from the left CAM sub-array 10a in the drawing, and transmits the result of executing the search operation to the priority encoder 70 through four stages leading to the right CAM sub-array 10d in the drawing.

図8は、本発明の実施の形態2に係るCAMサブアレイの詳細な構成を示す回路図である。図8に示すCAMサブアレイ10aは、20ビットのCAMセルCC、制御回路15を含んでいる。制御回路15は、図3に示す回路構成と同じマッチ線制御部11、ハーフラッチ回路12を含んでいる。CAMサブアレイ10dは、CAMサブアレイ10a〜10cの構成に加えて、スレーブラッチ回路13を含んでいる。   FIG. 8 is a circuit diagram showing a detailed configuration of the CAM subarray according to Embodiment 2 of the present invention. The CAM subarray 10 a shown in FIG. 8 includes a 20-bit CAM cell CC and a control circuit 15. The control circuit 15 includes a match line control unit 11 and a half latch circuit 12 having the same circuit configuration as that shown in FIG. The CAM subarray 10d includes a slave latch circuit 13 in addition to the configuration of the CAM subarrays 10a to 10c.

CAMサブアレイ10aおよびCAMサブアレイ10bは、MAE[0]線、MAE_N[0]線、LAT[0]線、LAT_N[0]線およびPRE_N[0]線に対して共通に接続してある。CAMサブアレイ10cおよびCAMサブアレイ10dは、MAE[1]線、MAE_N[1]線、LAT[1]線、LAT_N[1]線およびPRE_N[1]線に対して共通に接続してある。なお、[0]内の数字は、CAMサブアレイに接続する配線の番号を表し、[0]はCAMサブアレイ10a,10bに接続する配線の番号、[1]はCAMサブアレイ10c,10dに接続する配線の番号をそれぞれ表している。   The CAM subarray 10a and the CAM subarray 10b are commonly connected to the MAE [0] line, the MAE_N [0] line, the LAT [0] line, the LAT_N [0] line, and the PRE_N [0] line. The CAM subarray 10c and the CAM subarray 10d are commonly connected to the MAE [1] line, the MAE_N [1] line, the LAT [1] line, the LAT_N [1] line, and the PRE_N [1] line. The numbers in [0] represent the numbers of wirings connected to the CAM subarrays, [0] represents the numbers of wirings connected to the CAM subarrays 10a and 10b, and [1] represents the wirings connected to the CAM subarrays 10c and 10d. Each number is represented.

本発明の実施の形態2に係る連想メモリ100の動作も、実施の形態1に係る連想メモリ100の動作と同じであるため、説明を繰り返さない。   Since the operation of the content addressable memory 100 according to Embodiment 2 of the present invention is also the same as that of the content addressable memory 100 according to Embodiment 1, the description thereof will not be repeated.

以上のように、本発明の実施の形態2に係る連想メモリ100は、CAMサブアレイに接続する配線を、隣接する二つのCAMサブアレイ同士で共通にしてあるので、配線に供給する制御信号を減らし、消費電力を低減することができる。また、本発明の実施の形態2に係る連想メモリ100は、配線の数を減らすことで、構成する回路のレイアウト面積を小さくすることができる。   As described above, in the content addressable memory 100 according to the second exemplary embodiment of the present invention, the wiring connected to the CAM subarray is common to the two adjacent CAM subarrays, so that the control signal supplied to the wiring is reduced. Power consumption can be reduced. Further, the content addressable memory 100 according to the second exemplary embodiment of the present invention can reduce the layout area of the circuit to be configured by reducing the number of wirings.

さらに、本発明の実施の形態2に係る連想メモリ100は、マッチ線制御部11およびハーフラッチ回路12を1つの制御回路15としてまとめて配置することで、構成する回路のレイアウト面積を小さくすることができる。   Furthermore, the content addressable memory 100 according to the second exemplary embodiment of the present invention reduces the layout area of the circuit to be configured by arranging the match line control unit 11 and the half latch circuit 12 together as one control circuit 15. Can do.

(実施の形態3)
図9は、本発明の実施の形態3に係るネットワークアドレス検索装置として機能するシステムLSIの構成を示すブロック図である。
(Embodiment 3)
FIG. 9 is a block diagram showing a configuration of a system LSI that functions as a network address search apparatus according to Embodiment 3 of the present invention.

図9に示すシステムLSI130は、実施の形態1(図4,図5)による連想メモリ100、または実施の形態2(図7,図8)による連想メモリ100を用いるTCAMセルアレイ131、優先制御部(プライオリティエンコーダ)132、アクションメモリ133を含んでいる。   A system LSI 130 shown in FIG. 9 includes a TCAM cell array 131 using a content addressable memory 100 according to the first embodiment (FIGS. 4 and 5) or a content addressable memory 100 according to the second embodiment (FIGS. 7 and 8), a priority control unit ( Priority encoder) 132 and action memory 133.

以上のように、本発明の実施の形態3に係るネットワークアドレス検索装置は、TCAMセルアレイ131に、実施の形態1による連想メモリ100、または実施の形態2による連想メモリ100を用いているので、消費電力を低減することができる。また、本発明の実施の形態3に係るネットワークアドレス検索装置は、TCAMセルアレイ131を構成する回路のレイアウト面積を小さくすることができる。   As described above, the network address search apparatus according to the third embodiment of the present invention uses the associative memory 100 according to the first embodiment or the associative memory 100 according to the second embodiment for the TCAM cell array 131. Electric power can be reduced. In addition, the network address search device according to Embodiment 3 of the present invention can reduce the layout area of the circuits constituting the TCAM cell array 131.

今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。   The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.

10 アレイ、10a〜10d サブアレイ、11 マッチ線制御部、11a,11b p型トランジスタ、11c,11d n型トランジスタ、12 ハーフラッチ回路、13 スレーブラッチ回路、15 制御回路、16,17 配線、20 一致検出部、22 データ記憶部、24 検索部、30 検索データ転送部、40 サーチ制御回路、70 プライオリティエンコーダ、71 データ入力端子、72 命令コード入力端子、73 クロック入力端子、74 データバッファ、75 命令コードバッファ、76 クロックバッファ、77 命令コードデコーダ、78 アドレスデコーダ、79 センスアンプ、81 サーチ結果出力バッファ、82 サーチ結果出力端子、100 連想メモリ、131 セルアレイ、133 アクションメモリ。   10 array, 10a to 10d subarray, 11 match line control unit, 11a, 11b p-type transistor, 11c, 11d n-type transistor, 12 half latch circuit, 13 slave latch circuit, 15 control circuit, 16, 17 wiring, 20 coincidence detection Unit, 22 data storage unit, 24 search unit, 30 search data transfer unit, 40 search control circuit, 70 priority encoder, 71 data input terminal, 72 instruction code input terminal, 73 clock input terminal, 74 data buffer, 75 instruction code buffer 76 clock buffer, 77 instruction code decoder, 78 address decoder, 79 sense amplifier, 81 search result output buffer, 82 search result output terminal, 100 content addressable memory, 131 cell array, 133 action memory.

Claims (8)

マッチ線に沿って配列され、各々が前記マッチ線と接続された複数のメモリセルを有するメモリアレイを複数のサブアレイに分割し、上位の前記サブアレイから下位の前記サブアレイに向かって順に検索動作を実行する連想メモリであって、
前記サブアレイは、
前記マッチ線と接続された複数の前記メモリセルと、
前記メモリセルの前段に、前記マッチ線をプリチャージ状態またはディスチャージ状態に制御するマッチ線制御部と、
前記メモリセルの後段に、検索動作を実行した結果を下位の前記サブアレイに伝達するハーフラッチ回路と、
最下位の前記サブアレイに、検索動作を実行した結果をエンコーダ部に伝送するフルラッチ回路と
を備え、
上位の前記サブアレイの動作の終了後に、下位の前記サブアレイの前記マッチ線制御部が前記マッチ線をプリチャージ状態またはディスチャージ状態に制御する連想メモリ。
A memory array having a plurality of memory cells arranged along the match line and each connected to the match line is divided into a plurality of subarrays, and search operations are executed in order from the upper subarray to the lower subarray. Associative memory
The subarray is
A plurality of the memory cells connected to the match line;
A match line control unit for controlling the match line to a precharge state or a discharge state in a previous stage of the memory cell;
A half latch circuit that transmits a result of executing a search operation to the lower subarray after the memory cell;
The lowermost subarray includes a full latch circuit that transmits a result of executing a search operation to the encoder unit, and
An associative memory in which the match line control unit of the lower subarray controls the match line to a precharge state or a discharge state after the operation of the upper subarray.
前記マッチ線制御部は、前記マッチ線と電源端子との間に接続されたp型トランジスタと、前記マッチ線と接地端子との間に接続されたn型トランジスタとを有する請求項1に記載の連想メモリ。   The match line control unit includes a p-type transistor connected between the match line and a power supply terminal, and an n-type transistor connected between the match line and a ground terminal. Associative memory. 前記マッチ線制御部は、上位の前記サブアレイの動作の終了後に、前記p型トランジスタまたは前記n型トランジスタがオン状態となる請求項2に記載の連想メモリ。   3. The content addressable memory according to claim 2, wherein the match line control unit turns on the p-type transistor or the n-type transistor after the operation of the upper subarray. 前記n型トランジスタは、前記p型トランジスタに比べてサイズが小さい請求項2または請求項3に記載の連想メモリ。   The content addressable memory according to claim 2 or 3, wherein the n-type transistor is smaller in size than the p-type transistor. 前記フルラッチ回路は、前記サブアレイから伝送された結果を保持するマスターラッチ回路と、前記マスターラッチ回路で保持した結果を前記エンコーダ部に伝送するスレーブラッチ回路とを有するフリップフロップ回路である請求項1〜請求項4のいずれか一項に記載の連想メモリ。   The full latch circuit is a flip-flop circuit having a master latch circuit that holds a result transmitted from the sub-array and a slave latch circuit that transmits a result held by the master latch circuit to the encoder unit. The associative memory according to claim 4. 前記マスターラッチ回路は、前記ハーフラッチ回路と同じ回路構成である請求項5に記載の連想メモリ。   The content addressable memory according to claim 5, wherein the master latch circuit has the same circuit configuration as the half latch circuit. 前記サブアレイに接続する配線を、隣接する二つの前記サブアレイ同士で共通にしてある請求項1〜請求項6のいずれか一項に記載の連想メモリ。   The content addressable memory according to any one of claims 1 to 6, wherein a wiring connected to the subarray is common to two adjacent subarrays. 入力したネットワークアドレスを、記憶してあるデータと一致するか否かを検索するネットワークアドレス検索装置であって、
請求項1〜請求項7のいずれか一項に記載の連想メモリと、
前記連想メモリを制御する制御部と
を備えるネットワークアドレス検索装置。
A network address search device for searching whether an input network address matches stored data,
An associative memory according to any one of claims 1 to 7,
A network address search device comprising: a control unit that controls the associative memory.
JP2011112300A 2011-05-19 2011-05-19 Associative memory and network address search device Active JP5632797B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011112300A JP5632797B2 (en) 2011-05-19 2011-05-19 Associative memory and network address search device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011112300A JP5632797B2 (en) 2011-05-19 2011-05-19 Associative memory and network address search device

Publications (2)

Publication Number Publication Date
JP2012243350A JP2012243350A (en) 2012-12-10
JP5632797B2 true JP5632797B2 (en) 2014-11-26

Family

ID=47464907

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011112300A Active JP5632797B2 (en) 2011-05-19 2011-05-19 Associative memory and network address search device

Country Status (1)

Country Link
JP (1) JP5632797B2 (en)

Also Published As

Publication number Publication date
JP2012243350A (en) 2012-12-10

Similar Documents

Publication Publication Date Title
CN105845168B (en) Method and apparatus for reducing power consumption in memory circuits by controlling precharge duration
US11404114B2 (en) Low voltage memory device
CA2384039C (en) Low power content addressable memory architecture
EP1470554B1 (en) Circuit and method for reducing power usage in a content addressable memory
US8462532B1 (en) Fast quaternary content addressable memory cell
US6901000B1 (en) Content addressable memory with multi-ported compare and word length selection
US7907432B2 (en) Content addressable memory device for simultaneously searching multiple flows
US8553441B1 (en) Ternary content addressable memory cell having two transistor pull-down stack
JPH1050076A (en) Associated memory
US7525867B2 (en) Storage circuit and method therefor
US7187606B1 (en) Read port circuit for register file
US8000156B2 (en) Memory device with propagation circuitry in each sub-array and method thereof
EP1461811B1 (en) Low power content addressable memory architecture
US7277353B2 (en) Register file
US8767429B2 (en) Low power content-addressable memory
US6839807B2 (en) Multi-way set associative cache memory
US8493763B1 (en) Self-timed match line cascading in a partitioned content addressable memory array
JP5632797B2 (en) Associative memory and network address search device
US11264081B1 (en) Memory circuit, electronic device having the memory circuit, and method of operating memory circuit
JP6170718B2 (en) Search system
US8787059B1 (en) Cascaded content addressable memory array having multiple row segment activation
JP2008192218A (en) Content reference memory
US11763882B2 (en) Low voltage memory device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140825

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141010

R150 Certificate of patent or registration of utility model

Ref document number: 5632797

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350