JP5632797B2 - Associative memory and network address search device - Google Patents
Associative memory and network address search device Download PDFInfo
- 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
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
しかし、特許文献1に開示してある連想メモリは、CAMアレイを複数のCAMサブアレイに分割し、分割したCAMサブアレイの間で検索動作を実行した結果を伝達するために、CAMサブアレイの間にフリップフロップ回路を用いている。フリップフロップ回路は多数のトランジスタで構成されているため、各々のCAMサブアレイの間にフリップフロップ回路を用いると、連想メモリは、構成する回路のレイアウト面積が大きくなるという問題があった。また、特許文献1に開示してある連想メモリは、動作時に消費する電力が大きいフリップフロップ回路を多数用いているので、消費電力が大きくなるという問題があった。
However, the associative memory disclosed in
さらに、特許文献2に開示してある連想メモリでは、検索動作を実行するたびに電源端子から接地端子へと貫通電流が流れる回路構成を有しているため、消費電力が大きくなるという問題があった。
Furthermore, the associative memory disclosed in
それゆえに、本発明は、上記問題点を解決するためになされたものであり、検索動作をパイプライン化してある連想メモリにおいて、構成する回路のレイアウト面積が小さく、検索動作を実行するときの消費電力を低減することができる連想メモリ、およびネットワークアドレス検索装置を提供することを目的とする。 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)
図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
図1に示す連想メモリ100は、半導体基板SUB上に形成されたCAMアレイ10と、一致検出部20と、検索データ転送部30と、サーチ制御回路40(制御部)と、プライオリティエンコーダ70と、サーチ結果出力バッファ81と、アドレス/データバッファ74と、命令コードバッファ75と、クロックバッファ76と、命令コードデコーダ77と、アドレスデコーダ78と、センスアンプ79とを含む。
An
連想メモリ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
CAMアレイ10は、行列状に配列された複数のCAMセル(メモリセル)によって構成される。各メモリセルは、1ビットのデータを記憶するとともに、検索データと予め記憶したデータとを比較する機能を有する。
The
一致検出部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
検索データ転送部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
サーチ制御回路40は、入力されたクロック信号CLKに基づいて検索データ転送部30および一致検出部20の動作タイミングを制御する。
The
プライオリティエンコーダ70は、一致検出部20の検出結果に基づいて、検索データと記憶データとが一致したアドレスを所定の優先順位に従って検索結果として出力する。
Based on the detection result of the
サーチ結果出力バッファ81は、プライオリティエンコーダ70から受けた検索結果を、サーチ結果出力端子82を介して外部に出力する。
The search
アドレス/データバッファ74は、アドレス/データ入力端子71を介して受けたアドレスまたはデータをアドレスデコーダ78およびセンスアンプ79に出力する。さらに、アドレス/データバッファ74は、検索動作に必要な多ビットの検索データSD,SD_Nをアドレス/データ入力端子71を介して受けて検索データ転送部30へ出力する。
Address / data buffer 74 outputs the address or data received via address /
命令コードバッファ75は、命令コード入力端子72を介して受けた命令コードを、命令コードデコーダ77に出力する。命令コードには、データ書込を表わす命令コードおよび検索動作を表わす命令コードなどがある。
The
命令コードデコーダ77は、命令コードバッファ75から受けた命令コードをデコードして、命令内容に応じた信号を発生する。たとえば、命令コードデコーダ77は、検索動作を表わす命令コードを受けたとき、検索信号SCMを発生する。命令コードデコーダ77は、リセット命令を表わす命令コードを受けたとき、リセット信号RSTを発生する。
The
クロックバッファ76は、クロック入力端子73を介して外部からクロック信号CLKを受け、連想メモリ100の各部に出力する。
The
アドレスデコーダ78は、アドレス/データバッファ74から受けたアドレスに基づいて、データ書込時には書込対象のメモリセル群を選択し、データ読出時には読出対象のメモリセル群を選択する。
Based on the address received from address / data buffer 74,
センスアンプ79は、データ読出時に読出対象のメモリセルが接続されたビット線対BL,BL_Nの論理レベルを検出する。
The
図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
データ記憶部22は、2つのメモリセル(XセルおよびYセル)を含む。これらのXセルおよびYセルは、SRAM(Static Random Access Memory)セルの構成を有する。XセルおよびYセル両者は、同一構造を有するため、図2においては、XセルおよびYセルにおいて対応する部分には同一の参照符号を付す。
The
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のデータを受ける。
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
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
図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
連想メモリ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
連想メモリ100は、複数のCAMセルCCによって構成された1エントリごとに、多ビットの検索データ(検索ワード)と予め記憶した記憶データ(記憶ワード)とを比較する。図3に示す連想メモリ100は、各マッチ線MLに接続された1行分(80個)のCAMセルCCによって1エントリが構成されている。すなわち、エントリビット幅は80ビットである。検索ワードは、80対の検索線対SL,SL_Nを介してCAMアレイ10の各エントリに入力される。連想メモリ100は、入力された検索ワードと記憶ワードとを、CAMセルCC(ビット単位)ごとに比較する。
The
検索動作について簡単に説明すると、まず、プリチャージ部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
したがって、各マッチ線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
図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サブアレイ10a〜10cは、マッチ線MLをプリチャージ状態、またはディスチャージ状態を制御するマッチ線制御部11、20ビットのCAMセルCC、検索動作を実行した結果を下位のCAMサブアレイに送るためのハーフラッチ回路12を含んでいる。CAMサブアレイ10dは、CAMサブアレイ10a〜10cの構成に加えて、検索動作を実行した結果をプライオリティエンコーダ70に伝送するスレーブラッチ回路13を含んでいる。CAMサブアレイ10dのハーフラッチ回路12およびスレーブラッチ回路13は、フルラッチ回路であるマスタースレーブ型のD−FF(FlipFlop)回路を構成している。
The
マッチ線制御部11は、CAMセルCCの前段に、マッチ線MLをプリチャージ状態またはディスチャージ状態に制御する。ハーフラッチ回路12は、CAMセルCCの後段に、検索動作を実行した結果を下位のCAMサブアレイに伝達する。マッチ線制御部11、CAMセルCC、ハーフラッチ回路12を含むCAMサブアレイが、パイプラインにおける1つのステージを構成している。図4に示すCAMアレイ10は、4つのCAMサブアレイ10a〜10dに分割して、4つのステージを持つパイプラインの構成として説明するが、分割数は任意の偶奇数でかまわない。
The match
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
従来の連想メモリの場合、第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,
図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
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
CAMサブアレイ10dは、CAMサブアレイ10a〜10cの構成に加えてスレーブラッチ回路13を含んでいる。CAMサブアレイ10dのハーフラッチ回路12およびスレーブラッチ回路13は、フルラッチ回路であるマスタースレーブ型のD−FF回路を構成し、2入力NAND回路12a、インバータ12b〜12d、インバータ13b〜13dを含んでいる。
The
ハーフラッチ回路12は、フルラッチ回路であるマスタースレーブ型のD−FF回路に比べて略半分のインバータ(トランジスタ)で構成することができる。そのため、連想メモリ100は、構成する回路のレイアウト面積を小さくすることができる。また、ハーフラッチ回路12は、動作時に、フルラッチ回路であるマスタースレーブ型のD−FF回路に比べて略半分のインバータを駆動するだけでよいので、連想メモリ100は、消費電力を低減することができる。
The
次に、本発明の実施の形態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
まず、第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
次に、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-
図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
つまり、従来の連想メモリのように、ハーフラッチ回路ではなく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
次に、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
次に、第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
第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
第3および第4ステージ([stage3],[stage4])において、CAMサブアレイ10c,10dは、第2ステージのCAMサブアレイ10bと同じ動作を行なうので、同じ説明を繰り返さない。
In the third and fourth stages ([stage3], [stage4]), the
なお、第4ステージのCAMサブアレイ10dは、スレーブラッチ回路13を備えているので、ハーフラッチ回路12とスレーブラッチ回路13とで、フルラッチ回路であるマスタースレーブ型のD−FF回路を構成している。CAMサブアレイ10dは、MAT_CLK線の値が“1”となるタイミング(第5ステージ[stage5])で、プライオリティエンコーダ70に、検索動作を実行した結果を伝送する。つまり、CAMサブアレイ10dは、従来の連想メモリと同じようにD−FF回路を用いて、プライオリティエンコーダ70に、検索動作を実行した結果を伝送している。
Since the fourth
以上のように、本実施の形態1に係る連想メモリ100は、上位のCAMサブアレイの動作の終了後に、下位のCAMサブアレイのマッチ線制御部11がマッチ線MLをプリチャージ状態またはディスチャージ状態に制御することで、検索動作を実行した結果を下位のCAMサブアレイに伝達する回路にフルラッチ回路(たとえばフリップフロップ回路)でなくハーフラッチ回路12を用いることができる。CAMサブアレイは、検索動作を実行した結果を下位のCAMサブアレイに伝達する回路に、フルラッチ回路(たとえばフリップフロップ回路)の略半分のトランジスタで構成されたハーフラッチ回路12を用いるので、構成する回路のレイアウト面積を小さくすることができる。また、CAMサブアレイは、フリップフロップ回路に比べて動作時に消費する電力が小さいハーフラッチ回路を用いるので、消費電力を低減することができる。
As described above, in the content
また、本実施の形態1に係る連想メモリ100は、検索動作をパイプライン化することで、あるステージにおいてCAMサブアレイの検索動作を実行した結果がミスの情報となると、そのステージ以降のCAMサブアレイにおいてマッチ線MLをプリチャージ状態にすることがないので、マッチ線MLを無駄にプリチャージ状態にしないで、マッチ線制御部で消費する電力を低減する。
In addition, the content
従来の連想メモリは、検索動作を実行した結果がミス−ミス−ミス−ミスと連続した場合、マッチ線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
また、本実施の形態1に係る連想メモリ100は、VBデータを第1ステージのマッチ線制御部11に入力することで、そのエントリにおけるマッチ線MLをプリチャージ状態にする制御を完全に止めることができるので、エントリ無効の場合の消費電力を抑えることができる。
Further, the content
また、本実施の形態1に係る連想メモリ100は、図5に示すように、ハーフラッチ回路12が、検索動作を実行するたびに電源端子から接地端子へと貫通電流が流れる回路構成でないため、連想メモリ100は、消費電力を低減することができる。
Further,
さらに、本実施の形態1に係る連想メモリ100は、マッチ線制御部11がマッチ線MLをディスチャージ状態にすることができるので、検索動作を実行した結果によりマッチ線MLが中間電位等になり、下位のCAMサブアレイのトランジスタに貫通電流が流れるのを抑えることができる。
Furthermore, in the
マッチ線制御部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
また、本実施の形態1に係る連想メモリ100は、パイプライン化するために、マッチ線MLを複数に分割するので、マッチ線MLの充放電容量を小さくして、検索動作を実行する速度(検索動作の周波数)を速くすることができる。
In addition, since the
なお、本実施の形態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
ただし、本実施の形態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
(実施の形態2)
図7は、本発明の実施の形態2に係るCAMアレイ10を複数のCAMサブアレイに分割した構成を示す模式図である。本発明の実施の形態2に係る連想メモリ100は、実施の形態1に係る連想メモリ100と同じ構成であるため、同じ構成要素に同じ符号を付して詳細な説明を繰り返さない。
(Embodiment 2)
FIG. 7 is a schematic diagram showing a configuration in which the
図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サブアレイ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
また、図7に示すCAMアレイ10は、CAMサブアレイ10aとCAMサブアレイ10bとに対して同じ配線16で、CAMサブアレイ10cとCAMサブアレイ10dとに対して同じ配線17でそれぞれ制御信号を供給している。図7に示すCAMアレイ10は、4つのCAMサブアレイ10a〜10dに分割して、4つのステージを持つパイプラインの構成として説明するが、分割数は任意の偶奇数でかまわない。
The
CAMアレイ10は、図中左側のCAMサブアレイ10aから順に検索動作を行い、図中右側のCAMサブアレイ10dに至る4つのステージを経て、検索動作を実行した結果をプライオリティエンコーダ70に伝送する。
The
図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
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
本発明の実施の形態2に係る連想メモリ100の動作も、実施の形態1に係る連想メモリ100の動作と同じであるため、説明を繰り返さない。
Since the operation of the content
以上のように、本発明の実施の形態2に係る連想メモリ100は、CAMサブアレイに接続する配線を、隣接する二つのCAMサブアレイ同士で共通にしてあるので、配線に供給する制御信号を減らし、消費電力を低減することができる。また、本発明の実施の形態2に係る連想メモリ100は、配線の数を減らすことで、構成する回路のレイアウト面積を小さくすることができる。
As described above, in the content
さらに、本発明の実施の形態2に係る連想メモリ100は、マッチ線制御部11およびハーフラッチ回路12を1つの制御回路15としてまとめて配置することで、構成する回路のレイアウト面積を小さくすることができる。
Furthermore, the content
(実施の形態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
図9に示すシステムLSI130は、実施の形態1(図4,図5)による連想メモリ100、または実施の形態2(図7,図8)による連想メモリ100を用いるTCAMセルアレイ131、優先制御部(プライオリティエンコーダ)132、アクションメモリ133を含んでいる。
A
以上のように、本発明の実施の形態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
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 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
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.
請求項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.
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) |
-
2011
- 2011-05-19 JP JP2011112300A patent/JP5632797B2/en active Active
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 |