連想記憶装置
【課題】ソフトエラーおよびスタンバイ電流を発生させずに、高速検索が可能な連想記憶装置を提供する。
【解決手段】連想メモリセルは、一端がサーチ線SLに接続されるトンネル磁気抵抗素子TMRと、トンネル磁気抵抗素子TMRの他端に接続される容量素子C5と、トンネル磁気抵抗素子TMRの他端と接地電源との間に設けられ、制御電極がワード線RWLと接続される第1のMOSトランジスタN4と、マッチ線MLと接地電源との間に設けられ、制御電極がトンネル磁気抵抗素子TMRの他端に生じた電圧を受ける第2のMOSトランジスタN2とを含む。
【解決手段】連想メモリセルは、一端がサーチ線SLに接続されるトンネル磁気抵抗素子TMRと、トンネル磁気抵抗素子TMRの他端に接続される容量素子C5と、トンネル磁気抵抗素子TMRの他端と接地電源との間に設けられ、制御電極がワード線RWLと接続される第1のMOSトランジスタN4と、マッチ線MLと接地電源との間に設けられ、制御電極がトンネル磁気抵抗素子TMRの他端に生じた電圧を受ける第2のMOSトランジスタN2とを含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、連想記憶装置に関する。
【背景技術】
【0002】
連想記憶装置の一つであるネットワークルータ等に内蔵されている内容参照メモリ(CAM:Content Addressable Memory)は、データの読出/書込機能に加えて、アレイ内の全記憶データと与えられた検索データとの一致判定を並列に行なう検索機能を持ち、予め記憶しておいたルーティングテーブルからIPアドレスを検索する用途等に使われている。近年ネットワークの高速化やサーバの増加、インターネットの利用者の増加によってネットワークルータでのCAMメモリに高速化や大容量化が要求されている。
【0003】
近年のCAMメモリの開発では高速化のため先端の微細化プロセスを採用しているが、オフリーク電流やゲートリーク電流、SRAM(Static Random Access Memoryのスタンバイリーク電流が大きくなってきており、全体の消費電流に占めるこれらオフリーク電流、ゲートリーク電流等のスタンバイ電流の割合が大きくなってきている。この対策として特許文献1(米国特許第6191969号明細書)のパイプライン構成、および特許文献2(特開2007−317342号公報)のマッチ線プリチャージ電源の低電圧化などによってアクティブ電流の低減が提案されている。
【0004】
しかしながら、SRAMで構成する従来のCAMメモリではプロセスの微細化によって増加するSRAMのスタンバイリーク電流を抑えなければ全体の消費電流を低減できず、チップの熱設計が困難となる問題を抱えており、大容量化が難しい。
【0005】
また、CAMメモリの検索結果の状態を示すマッチ線をグランドレベルに引抜くNチャネルMOSトランジスタ(以下サーチトランジスタという)の動作やマッチアンプ回路によるマッチ線の一致/不一致状態を判定する処理は、プロセスの微細化だけでは、高速化を図ることができないという問題がある。
【0006】
上述のサーチトランジスタによるマッチ線のグランドへの引抜き動作を高速化できない理由は、従来のSRAMで構成するCAMメモリ1ビットはSRAMメモリ2ビット(12個のトランジスタ)とサーチトランジスタ(4個のトランジスタ)で構成されているため素子数が多い(16個のトランジスタ)からである。そのため、トランジスタの占有率が高いレイアウトに特有の各種ストレス(STIストレス:Shallow Trench Isolationストレス、PSEストレス:Poly Space Effectsストレス等)が発生しサーチトランジスタの電流駆動能力を下げ、また微細化によってサーチトランジスタサイズが小さくなるため、しきい値のローカルなばらつきによる変動量が大きくなるからである。
【0007】
上述のマッチアンプ回路によるマッチ線の一致/不一致状態を判定する処理を高速化できない理由は、高速化によってサーチトランジスタがマッチ線をグランドに引抜く時間(従来のCAMでは検索動作周期の1/2)が短くなってマッチ線の振幅レベルが小さくなること、さらにはそのマッチ線の小振幅を高速にアンプする必要があるが、微細化によってペアトランジスタのばらつきが大きくなりアンプ感度を悪化させる傾向にあるからである。
【0008】
また、CAMメモリはメモリアレイ内の全記憶データを並列に同時に検索する構成によって高速な検索メモリを実現している反面、検索データの状態を示すサーチ線や検索結果の一致、不一致の状態を示すマッチ線が全て活性化されるため、検索時には非常に大きな消費電流と電流変化(di/dt)ノイズが発生する。大容量化、高速化に比例して増加するdi/dtの増加によってノイズを抑えるために必要とされる基板上の電源電圧のバイパスコンデンサ容量が増大する問題を抱えている。
【0009】
これらの問題に対して、たとえば、特許文献3(特開2002−334585号公報)、特許文献4(特開2005−259206号公報)、特許文献5(特開2004−86934号公報)および特許文献6(特開2002−197853号公報)は、CAMアレイをMRAM(Magnetic Random Access Memory)で構成することによって、SRAMのソフトエラーおよびスタンバイリークの問題は解決している。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】米国特許第6191969号明細書
【特許文献2】特開2007−317342号公報
【特許文献3】特開2002−334585号公報
【特許文献4】特開2005−259206号公報
【特許文献5】特開2004−86934号公報
【特許文献6】特開2002−197853号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかしながら、特許文献3では、従来のSRAM構成よりも高速に検索できないという問題がある。その理由は、MRAMでは、データのHigh、Lowを抵抗値の大、小で区別するが、その抵抗比は最大でも2倍程度である。そのため、特許文献3の図4や図9のような電流センス回路構成では300MHz超える従来のような高速動作は不可能となるからである。
【0012】
特許文献4〜特許文献6でも、同様に2倍程度の抵抗比を判定するため高速に検索できない。また、特許文献4では、MRAMにデータを書き込みながら検索するため、MRAMの書き込み速度(100MHz程度)が遅いため高速検索動作は不可能である。特許文献6では、リファレンス抵抗を作りリファレンス電流を生成し電流センス回路を用いているが、ノイズ耐性が弱く、高速動作は不可能である。
【0013】
それゆえに、本発明の目的は、ソフトエラーおよびスタンバイ電流を発生させず、かつ電流変化(di/dt)ノイズが少なく、高速検索が可能な連想記憶装置を提供することである。
【課題を解決するための手段】
【0014】
本発明の一実施形態の連想記憶装置は、記憶データと検索データとの一致または不一致の検出が可能な連想記憶装置である。この連想記憶装置は、行列状に配置された複数の連想メモリセルを含むメモリアレイと、各々が、メモリアレイ内の対応のエントリに属する複数の連想メモリセルが接続される複数のマッチ線と、各々が、マッチ線の電圧に応じて、メモリアレイのエントリ内の連想メモリに記憶されたデータと検索データとの一致または不一致を表わす検索判定信号を出力する複数の判定回路と、各々が、データ検索時に、メモリアレイ内の列に属する複数の連想メモリに検索データの値に応じた電圧を供給する複数のサーチ線と、各々が、メモリアレイ内の対応のエントリに属する複数の連想メモリセルが接続される複数のワード線と、検索データが所定の値のときに、所定の幅のワンショットパルスをサーチ線に出力する第1のドライバを備える。連想メモリセルは、一端がサーチ線に接続されるトンネル磁気抵抗素子と、トンネル磁気抵抗素子の他端に接続される容量素子と、トンネル磁気抵抗素子の他端と接地電源との間に設けられ、制御電極がワード線と接続される第1のMOSトランジスタと、トンネル磁気抵抗素子の他端を入力とする第1のインバータと、マッチ線と接地電源との間に設けられ、制御電極が第1のインバータの出力電圧を受ける第2のMOSトランジスタとを含む。
【発明の効果】
【0015】
本発明の一実施形態の連想記憶装置によれば、ソフトエラーおよびスタンバイ電流や電流変化(di/dt)ノイズが低減し、かつ高速検索が可能である。
【図面の簡単な説明】
【0016】
【図1】第1の実施形態のCAM基本セルの回路構成を表わす図である。
【図2】図1のCAM基本セルの真理値を示す図である。
【図3】図1のCAM基本セルの検索結果が不一致の場合の動作波形図である。
【図4】図1のCAM基本セルの検索結果が一致の場合の動作波形図である。
【図5】図1のCAM基本セルの検索データがマスクデータの場合の動作波形図である。
【図6】第1の実施形態のTCAM(TernaryCAM)基本セルの回路構成を表わす図である。
【図7】図6のTCAM基本セルの真理値を示す図である。
【図8】検索データと、サーチ線SL,/SLに伝送されるデータとの関係を表わす図である。
【図9】第1の実施形態のTCAM基本セルを有する連想記憶装置の構成を表わす図である。
【図10】図9の連想記憶装置のTCAMアレイマットの構成を表わす図である。
【図11】図10のTCAMアレイマットの1エントリ(第0番目のエントリ)の構成を表わす図である。
【図12】図9の連想記憶装置における検索時の動作波形図である。
【図13】CAM基本セルに「0」をライトする時の動作波形図である。
【図14】CAM基本セルに「1」をライトする時の動作波形図である。
【図15】CAM基本セルからデータをリードする時の動作波形図である。
【図16】MLプリチャージ回路の構成を表わす図である。
【図17】マッチ線MLのプリチャージ時の動作波形図である。
【図18】CAMアレイマットのトランジスタ層と配線層のレイアウト図である。
【図19】CAMアレイマットの第3層金属層、第4層金属層およびトンネル磁気抵抗素子TMRのレイアウト図である。
【図20】CAMアレイマットのレイアウトの基板に垂直な断面図である。
【図21】TCAMアレイマットのトランジスタ層と配線層のレイアウト図である。
【図22】TCAMアレイマットの第3層金属層、第4層金属層およびトンネル磁気抵抗素子TMRのレイアウト図である。
【図23】第2の実施形態のCAM基本セルの回路構成を表わす図である。
【図24】第2の実施形態のTCAM基本セルの回路構成を表わす図である。
【図25】第2の実施形態のマッチアンプ(判定回路)とMLプリチャージ回路の構成を表わす図である。
【図26】マッチアンプの動作を説明するため動作波形図である。
【図27】第3の実施形態のTCAM基本セルの回路構成を表わす図である。
【図28】第3の実施形態のTCAM基本セルを有する連想記憶装置の構成を表わす図である。
【図29】図28の連想記憶装置のTCAMアレイマットの構成を表わす図である。
【図30】図29のTCAMアレイマットの1エントリ(第0番目のエントリ)の構成を表わす図である。
【図31】SLプリチャージ回路の構成を表わす図である。
【図32】サーチ線SLのプリチャージ時の動作波形図である。
【図33】第4の実施形態のTCAM基本セルの回路構成を表わす図である。
【図34】図33のTCAM基本セルを有する連想記憶装置における検索時の動作波形図である。
【発明を実施するための形態】
【0017】
以下、本発明の実施形態について図面を参照して説明する。
[第1の実施形態]
(CAM基本セル)
図1は、第1の実施形態のCAM基本セルの回路構成を表わす図である。
【0018】
従来のCAM基本セルは、SRAMをベースに構成されていた。この構成では、SRAMを構成する6個のトランジスタと、サーチ用の2個のトランジスタの計8素子で構成されていた。これに対して、本実施の形態のCAM基本セル12は、図1に示すように、インバータIV1と、NチャネルMOSトランジスタN2と、NチャネルMOSトランジスタN4と、容量素子C5と、トンネル磁気抵抗素子TMRと、容量素子C1とで構成される。
【0019】
トンネル磁気抵抗素子TMRの抵抗値が磁化の向きによって変化する。この抵抗値の小さい方をR、大きい方をR+ΔRと表わす。ここで、現状の技術ではΔR<Rであり、最大でもΔR≒Rである。
【0020】
本発明の実施形態のCAM基本セル12では、トンネル磁気抵抗素子TMRの抵抗値がRのときに「0」が記録され、抵抗値がR+ΔRのときに、「1」が記憶されているとする。
【0021】
トンネル磁気抵抗素子TMRの一方の端子はサーチ線/SL(検索データの反転論理が伝送される)に接続され、他方の端子SNはNチャネルMOSトランジスタで形成された容量素子C5と、データ読み出し用のNチャネルMOSトランジスタN4のドレインと、インバータIV1の入力に接続されている。容量素子C5を構成するNチャネルMOSトランジスタは、ゲートが端子SNに接続され、ソースとドレインがグランドに接続されている。
【0022】
NチャネルMOSトランジスタN4のゲートは、読出用ワード線RWLに接続され、ソースがグランドに接続されている。
【0023】
NチャネルMOSトランジスタN2は、そのドレインがマッチ線MLに接続され、そのソースがグランドに接続され、そのゲートがインバータIV1の出力端子/SNに接続されている。
【0024】
さらに、NチャネルMOSトランジスタで構成される容量素子C1が、電源線MLVDDとグランドとの間に接続されている。すなわち、容量素子C1を構成するNチャネルMOSトランジスタは、ゲートが電源線MLVDDに接続され、ソースとドレインがグランドに接続されている。
【0025】
サーチ線/SL側から見ると、トンネル磁気抵抗素子TMR容量素子C5は、ロウパスフィルタを形成している。ここで、トンネル磁気抵抗素子TMRの抵抗値R+ΔRが30K、容量素子C5の容量を20fFとすると、トンネル磁気抵抗素子TMRと容量素子C5は、600ps程度の遅延素子、あるいは600ps以上の幅のパルスを通過させるロウパスフィルタを形成している。トンネル磁気抵抗素子TMRの抵抗値Rが15K、容量素子C5の容量を20fFとすると、トンネル磁気抵抗素子TMRと容量素子C5は、300ps程度の遅延素子、あるいは300ps以上の幅のパルスを通過させるロウパスフィルタを形成している。
【0026】
記憶データが「0」の場合には、ロウパスフィルタは300ps以上のパルスを通過するので、データ検索時にサーチ線/SLに500psの幅のワンショットパルスが与えられた場合には、このワンショットパルスは、端子/SNに出力される。
【0027】
一方、記憶データが「1」の場合には、ロウパスフィルタは600ps以上の幅のパルスを通過するので、データ検索時に、サーチ線/SLに500psの幅のワンショットパルスが与えられた場合には、このワンショットパルスは、端子/SNに出力されない。
【0028】
ディジット線DLには、データ書込み時には、磁化電流が供給される。
サーチ線/SLは、ビット線BLを兼ねるものであり、データ書込み時には、書込電流が供給される。
【0029】
従来のSRAMの構成では構成するトランジスタ数が多いため、トランジスタ密度が大きくなる。そのため、近年問題となっているSTIストレスなどによって、サーチトランジスタのオン電流が劣化し、サーチ速度が劣化するという問題があった。また内部ノード数が多いため、微細化によって内部ノードの線間容量や寄生容量が増加し、アクセス劣化や消費電流増加の問題があった。また、SRAMのスタンバイリーク電流増加やソフトエラーの問題もあった。
【0030】
本発明の実施形態のCAM基本セルは、SRAMを含まないため、これらの問題は改善される。
【0031】
さらに、本発明の実施形態のCAM基本セルは、トランジスタ層にSRAMが配置されないため、以下のような利点を有する。CAMメモリでは、アレイ内のすべてのマッチ線MLを放電、充電するためにマッチ線MLがプリチャージされる。そのため、電流の時間変化di/dtが非常に大きいという問題がある。電流の時間変化di/dtによる電源ノイズを低減するために、従来は、基板上に大容量のバイパスコンデンサを設置しており基板実装面積を大きくしている。これに対して、本発明の実施形態のCAM基本セルは、従来のSRAMを配置していたトランジスタ層に電流の時間変化di/dtによる電源ノイズを低減するための容量素子C5(MOS容量)をローカルに搭載している。
【0032】
(CAM基本セルの真理値表)
図2は、図1のCAM基本セルの真理値を示す図である。
【0033】
図2に示すように、本実施の形態のCAM基本セルは、通常のSRAM構成のCAM基本セルと同様の真理値表で動作する。
【0034】
サーチ線SLに伝送されるデータが「1」で、サーチ線/SLに伝送されるデータが「0」(Lレベルのワンショットパルス)の場合に、トンネル磁気抵抗素子TMRの抵抗値がR+ΔRの場合に、端子SNが「1」(Hレベル)、端子/SNが「0」(Lレベル)となり、マッチ線MLは「1」(Hレベル)となり、検索結果はHit(一致)となる。
【0035】
サーチ線SLに伝送されるデータが「1」で、サーチ線/SLに伝送されるデータが「0」(Lレベルのワンショットパルス)の場合に、トンネル磁気抵抗素子TMRの抵抗値がRの場合に、端子SNが「0」(Lレベル)、端子/SNが「1」(Hレベル)となり、マッチ線MLは「0」(Lレベル)となり、検索結果はMiss(不一致)となる。
【0036】
サーチ線SLを伝送されるデータ「0」の場合は、一致判定せずマスク状態となる。
(CAM基本セルの動作)
図3は、図1のCAM基本セルの検索結果が不一致の場合の動作波形図である。
【0037】
図3を参照して、スタンバイ時には、サーチ線/SLのレベルは、「1」である。サーチ活性期間には、検索データが「1」の場合には、サーチ線/SLには、500psの幅のLレベルのワンショットパルスが伝送される。検索データが「0」の場合には、サーチ線/SLのレベルは、スタンバイ時の「H」のまま変化しない。
【0038】
図3では、検索データが「1」であり、記憶データが「0」、つまりトンネル磁気抵抗素子TMRの抵抗値がR、具体的には、15KΩとする。
【0039】
この場合には、ロウパスフィルタの時定数τ0(概ね15KΩx20fF=300ps)は、ワンショットパルスの幅(500ps)よりも小さいので、ワンショットパルスはフィルタされない。その結果、インバータIV1の出力端子/SNの電位は「H」となる。これにより、マッチ線MLの電圧がグランドに引抜かれるため、マッチ線MLのレベルは「L」に変化し、検索結果は、不一致(Miss)となる。
【0040】
図4は、図1のCAM基本セルの検索結果が一致の場合の動作波形図である。
図4では、検索データが「1」であり、記憶データが「1」、つまりトンネル磁気抵抗素子TMRの抵抗値がR+ΔR、具体的には、30KΩとする。
【0041】
この場合には、ロウパスフィルタの時定数τ1(概ね30KΩx20fF=600ps)よりもワンショットパルスの幅(500ps)が小さいので、ワンショットパルスは、フィルタされる。その結果、インバータIV1の出力端子/SNの電位は「L」のまま変化しない。したがって、マッチ線MLの電圧をグランドに引抜かないため、マッチ線MLのレベルは「H」のまま変化せず、検索結果は、一致(Hit)となる。
【0042】
上述の特性を利用して、検索データのサーチ線/SL=0に対して、記憶データの値(0/1)を比較し、その比較結果がマッチ線MLのレベル(0/1)に変換されることによって、検索結果がマッチ線MLに出力される。
【0043】
図5は、図1のCAM基本セルの検索データがマスクデータの場合の動作波形図である。
【0044】
検索データが「0」の時はマスク状態である。検索データが「0」の場合には、サーチ線/SLのレベルは、スタンバイ時の「H」のまま変化しない。この場合には、ワンショットパルスが生成されない。その結果、記憶データの値に関係なく、インバータIV1の出力端子/SNの電位は「L」のまま変化しない。したがって、マッチ線MLの電圧をグランドに引抜かないため、マッチ線MLのレベルは「H」のまま変化せず、検索結果は、一致(Hit)となる。
【0045】
(TCAM基本セル)
図6は、第1の実施形態のTCAM(TernaryCAM)基本セルの回路構成を表わす図である。
【0046】
図6を参照して、このTCAM基本セル10は、図1のCAM基本セルが2つ(2ビット)で構成される。
【0047】
TCAM基本セル10を構成するCAM基本セルの一方を第1部分セルMCXとし、他方を第2部分セルMCYとする。
【0048】
第1部分セルMCXにおいて、トンネル磁気抵抗素子TMRXと、NチャネルMOSトランジスタN4と、容量素子C5と、インバータIV1とが接続されている端子をSNXと表わし、インバータIV1の出力端子を端子/SNXと表わす。第1部分セルMCXにおいて、NチャネルMOSトランジスタN4のゲートは、第1の読出用ワード線RWLXに接続される。トンネル磁気抵抗素子TMRXは、サーチ線/SLに接続される。
【0049】
第2部分セルMCYにおいて、トンネル磁気抵抗素子TMRYと、NチャネルMOSトランジスタN4と、容量素子C5と、インバータIV1とが接続されている端子をSNYと表わし、インバータIV1の出力端子を端子/SNYと表わす。第2部分セルMCYにおいて、NチャネルMOSトランジスタN4のゲートは、第2の読出用ワード線RWLYに接続される。トンネル磁気抵抗素子TMRYは、サーチ線SLに接続される。
【0050】
(TCAM基本セルの真理値表)
図7は、図6のTCAM基本セルの真理値を示す図である。図8は、検索データと、サーチ線SL,/SLに伝送されるデータとの関係を表わす図である。
【0051】
図7に示すように、本実施の形態のTCAM基本セルは、通常のSRAM構成のTCAM基本セルと同様の真理値表で動作する。
【0052】
検索データが「0」、つまり、サーチ線SLに伝送されるデータが「0」(Lレベルのワンショットパルス)、かつサーチ線/SLに伝送されるデータが「1」の場合には、トンネル磁気抵抗素子TMRYの抵抗値に関わらず、端子/SNYは「0」(Lレベル)となる。検索データが「1」、つまり、サーチ線SLに伝送されるデータが「1」、かつサーチ線/SLに伝送されるデータが「0」(Lレベルのワンショットパルス)の場合には、トンネル磁気抵抗素子TMRXの抵抗値に関わらず、端子/SNXは「0」(Lレベル)となる。
【0053】
検索データが「0」、つまり、サーチ線SLに伝送されるデータが「0」(Lレベルのワンショットパルス)、かつサーチ線/SLに伝送されるデータが「1」の場合には、トンネル磁気抵抗素子TMRXの抵抗値がR(「0」が記憶)のときには、端子/SNXは「1」(Hレベル)となり、トンネル磁気抵抗素子TMRXの抵抗値がR+ΔR(「1」が記憶)のときには、端子/SNXは「0」(Lレベル)となる。
【0054】
検索データが「1」、つまり、サーチ線SLに伝送されるデータが「1」、かつサーチ線/SLに伝送されるデータが「0」(Lレベルのワンショットパルス)の場合には、トンネル磁気抵抗素子TMRYの抵抗値がR(「0」が記憶)のときには、端子/SNYは「1」(Hレベル)となり、トンネル磁気抵抗素子TMRYの抵抗値がR+ΔR(「1」が記憶)のときには、端子/SNYは「0」(Lレベル)となる。
【0055】
端子/SNXおよび端子/SNYがいずれも「0」の場合には、マッチ線MLは「1」(Hレベル)となり、一致(Hit)を示す。端子/SNXおよび端子/SNYがいずれかが「1」の場合には、マッチ線MLは「0」(Lレベル)となり、不一致(Miss)を示す。ただし、トンネル磁気抵抗素子TMRXの抵抗値およびトンネル磁気抵抗素子TMRYの抵抗値がいずれもR+ΔR(「1」が記憶)の場合には、検索データの値に関わらず、マッチ線MLは、常に一致(Hit)を示す「1」(Hレベル)となる。また、トンネル磁気抵抗素子TMRXの抵抗値およびトンネル磁気抵抗素子TMRYの抵抗値がいずれもR(「0」が記憶)の場合には、検索データの値に関わらず、マッチ線MLは、常に不一致(Miss)を示す「0」(Lレベル)となる。
【0056】
なお、サーチ線SLに伝送されるデータが「1」、かつサーチ線/SLに伝送されるデータが「1」の場合には、マスク状態となる。
【0057】
(全体構成)
図9は、第1の実施形態のTCAM基本セルを有する連想記憶装置の構成を表わす図である。
【0058】
図9を参照して、このMRAMは、TCAMアレイマット2と、SLドライバ3と、BLドライバ1と、リードセンスアンプ9と、マッチアンプ(判定回路)5と、MLプリチャージ回路95と、プライオリティエンコーダ6と、ロウデコーダ7と、DLドライバ11と、アレイ制御回路8とを備える。
【0059】
TCAMアレイマット2は、TCAM基本セルが行列状に配置される。
SLドライバ3は、データ検索時に、サーチ線SL,/SLに検索データを与える。
【0060】
BLドライバ1は、データ書込み時に、ビット線を兼ねているサーチ線SL,/SLに書込みデータに応じた向きの書込電流を与える。
【0061】
リードセンスアンプ9は、データ読出し時に、ビット線を兼ねているサーチ線SL,/SLを伝送される電流(データ)を増幅する。
【0062】
マッチアンプ(判定回路)5は、エントリごとに設けられており、データ検索時に、マッチアンプ活性化信号MAEが「H」レベルに活性化されると、マッチ線MLの電圧を増幅し、増幅した電圧に応じて、エントリ検索判定信号maoを出力する。
【0063】
MLプリチャージ回路95は、エントリごとに設けられており、マッチ線MLをプリチャージする。
【0064】
プライオリティエンコーダ6は、データ検索時に、検索結果が一致を示す複数個のエントリのロウアドレスに優先順位に従って出力する。
【0065】
ロウデコーダ7は、エントリを選択して、選択したエントリのワード線RWLX,RWLYを活性化する。
【0066】
DLドライバ11は、データ書込み時に、ディジット線DLに磁化電流を与える。
アレイ制御回路8は、MRAM全体を制御する。
【0067】
図10は、図9の連想記憶装置のTCAMアレイマット2の構成を表わす図である。図11は、図10のTCAMアレイマット2の1エントリ(第0番目のエントリ)の構成を表わす図である。
【0068】
図10および図11を参照して、TCAMアレイマット2は、第0〜第255の256個のエントリ14からなる。TCAMアレイマット2の1個のエントリは、第0〜第79の80個の列に配置された80ビット(80個)のTCAM基本セル10からなる。
【0069】
第iエントリのTCAM基本セルは、マッチ線ML<i>と接続されるとともに、電源線MLVDD<i>に接続される。また、図示しないが、第iエントリのTCAM基本セルは、読出用ワード線RWLX<i>,RWLY<i>に接続され、さらにディジット線DL<i>が配置される。
【0070】
第j列のTCAM基本セルは、サーチ線SL<j>,/SL<j>と接続される。
(検索動作)
図12は、図9の連想記憶装置における検索時の動作波形図である。
【0071】
図12は、第1部分セルMCXのトンネル磁気抵抗素子TMRXの抵抗値がR(「0」を記憶)で、第2部分セルMCYのトンネル磁気抵抗素子TMRYの抵抗値がR+ΔR(「1」を記憶)の場合について示している。
【0072】
アレイ制御回路8は、外部からサーチコマンドSEARCHを受ける。
アレイ制御回路8は、クロックCAMCLKを出力する。
【0073】
SLドライバ3は、スタンバイ時は、サーチ線SL,/SLを「H」レベルに設定する。
【0074】
アレイ制御回路8が、プリチャージ制御信号MLPREを「H」レベルに活性化すると、MLプリチャージ回路95は、マッチ線MLを「H」レベルにプリチャージする。
【0075】
外部から、値が「0」の検索データDBが与えられたときには、SLドライバ3は、サーチ活性期間、「L」レベルのワンショットパルスをサーチ線SLに出力し、サーチ線/SLを「H」レベルのまま維持させる。このワンショットパルスは、たとえばSLドライバ3内の遅延回路によって生成される。これによって、第1部分セルMCXのインバータIV1の出力端子/SNXは、「L」レベルのまま変化しない。また、第2部分セルMXYのインバータIV1の出力端子/SNYは、「H」レベルとなる。この結果、マッチ線MLの電位は「L」レベルに引き抜かれる。
【0076】
マッチアンプ5は、マッチアンプ活性化信号MAEが「H」レベルに活性化されると、マッチ線MLの電位を増幅する。マッチアンプ5は、マッチ線MLの電位が一定値以上でないので、Missを表わす「L」レベルのエントリ検索判定信号maoを出力する。
【0077】
プライオリティエンコーダ6は、すべてのエントリのマッチアンプ5からエントリ検索判定信号mao[0]〜mao[255]を受ける。プライオリティエンコーダ6は、「H」レベルのエントリ検索判定信号maoを出力したエントリのうちの優先度の高いエントリのアドレス(MATCH_ADD)をアレイ制御回路8へ出力する。アレイ制御回路8は、プライオリティエンコーダ6から出力されたアドレス(MATCH_ADD)と、一致を示す検索結果信号MATCHを出力する。
【0078】
一方、外部から、値が「1」の検索データDBが与えられたときには、SLドライバ3は、サーチ活性期間、「L」レベルのワンショットパルスをサーチ線/SLに出力し、サーチ線SLを「H」レベルのまま維持させる。これによって、第1部分セルMCXのインバータIV1の出力端子/SNXは、「L」レベルのまま変化しない。また、第2部分セルMXYのインバータIV1の出力端子/SNYは、「L」レベルのまま変化しない。この結果、マッチ線MLの電位は「H」レベルのまま維持される。
【0079】
マッチアンプ5は、マッチアンプ活性化信号MAEが「H」レベルに活性化されると、マッチ線MLの電位を増幅する。マッチアンプ5は、マッチ線MLの電位が一定値以上であるので、Hitを表わす「H」レベルのエントリ検索判定信号maoを出力する。
【0080】
プライオリティエンコーダ6は、すべてのエントリのマッチアンプ5からエントリ検索判定信号mao[0]〜mao[255]を受ける。プライオリティエンコーダ6は、「H」レベルのエントリ検索判定信号maoを出力したエントリのうちの優先度の高いエントリのアドレス(MATCH_ADD)をアレイ制御回路8へ出力する。エントリ検索判定信号mao[0]〜mao[255]がすべて「L」レベルの場合には、アドレスを出力しない。アレイ制御回路8は、不一致を示す検索結果信号MATCHを出力する。
【0081】
(ライト動作)
図13は、CAM基本セルに「0」をライトする時の動作波形図である。
【0082】
図13を参照して、アレイ制御回路8は、外部からライトコマンドWRITEと、ライトするアドレスADDと、クロックCAMCLKと、ライトデータDB(=「0」)を受ける。
【0083】
DLドライバ11は、磁化電流iDLをディジット線DLに与える。
BLドライバ1は、ライトデータDB(=「0」)により、ビット線BLを兼ねているサーチ線/SLに第1の方向(たとえば、ロウアドレスが大きい方から小さい方への方向)の書込電流iBLを与える。これによって、CAM基本セルのトンネル磁気抵抗素子TMRの抵抗値がRとなる。
【0084】
図14は、CAM基本セルに「1」をライトする時の動作波形図である。
図14を参照して、アレイ制御回路8は、外部からライトコマンドWRITEと、ライトするアドレスADDと、クロックCAMCLKと、ライトデータDB(=「1」)を受ける。
【0085】
DLドライバ11は、磁化電流iDLをディジット線DLに与える。
BLドライバ1は、ライトデータDB(=「1」)により、ビット線BLを兼ねているサーチ線/SLに第2の方向(たとえば、ロウアドレスが小さい方から大きい方への方向)の書込電流iBLを与える。これによって、CAM基本セルのトンネル磁気抵抗素子TMRの抵抗値がR+ΔRとなる。
【0086】
(リード動作)
図15は、CAM基本セルからデータをリードする時の動作波形図である。
【0087】
図15を参照して、アレイ制御回路8は、外部からリードコマンドREADと、リードするアドレスADDと、クロックCAMCLKとを受ける。
【0088】
ロウデコーダ7は、与えられたアドレスADDに対応するエントリの読出用ワード線RWLを「H」レベルに活性化する。
【0089】
このエントリのCAM基本セルのトンネル磁気抵抗素子TMRの抵抗値に応じて、サーチ線/SLの電圧変化が相違する。トンネル磁気抵抗素子の抵抗値がR+ΔRの場合(つまり、「1」が記憶されている場合)には、ビット線BLを兼ねているサーチ線/SLの電圧のプリチャージ電圧VDDからの減少量は、少量である。一方、トンネル磁気抵抗素子の抵抗値がR+ΔRの場合(つまり、「1」が記憶されている場合)には、ビット線BLを兼ねているサーチ線/SLの電圧のプリチャージ電圧VDDからの減少量は多量である。
【0090】
リードセンスアンプ9によって、サーチ線/SLの電圧が増幅されることによって、「0」または「1」のデータが外部へ出力される。
【0091】
(マッチ線MLのプリチャージ)
図16は、MLプリチャージ回路の構成を表わす図である。
【0092】
図16を参照して、このMLプリチャージ回路95は、各エントリごとに設けられる。
MLプリチャージ回路95は、電源VDDと内部ノードND1との間に設けられたPチャネルMOSトランジスタ191と、ノードND1とノードND2との間に設けられたPチャネルMOSトランジスタ192とを含む。PチャネルMOSトランジスタ192のゲートは、プリチャージ制御信号MLPRE_Nを受ける。PチャネルMOSトランジスタ191のゲートは、遅延プリチャージ制御信号MLPRE_N_dlyを受ける。遅延プリチャージ制御信号MLPRE_N_dlyは、プリチャージ制御信号MLPRE_Nを一定時間だけ遅らせた信号である。
【0093】
ノードND1は、電源線MLVDDに接続される。電源線MLVDDは、1エントリに含まれるTCAM基本セルに含まれる容量素子C1と接続される。1エントリに含まれるすべての容量素子C1の容量の合計値をCVとする。
【0094】
ノードND2は、マッチ線MLに接続される。マッチ線MLの寄生容量をCCとする。
(マッチ線MLのプリチャージ時の動作波形)
図17は、マッチ線MLのプリチャージ時の動作波形図である。
【0095】
図17を参照して、最初に、電源線MLVDDの電位は、VDDにプリチャージされ、基本セル内の容量素子C1に電荷が蓄積される。
【0096】
アレイ制御回路8が、プリチャージ制御信号MLPRE_Nを「L」レベルに活性化すると、PチャネルMOSトランジスタ192がオンする。これによって、容量素子C1の電荷が出力されるので、電源線MLVDDの電位はVDDから減少し、マッチ線MLの電位は上昇する。マッチ線MLの寄生容量CCに対して、1エントリに含まれるすべての容量素子C1の容量の合計値CVが10倍の場合には、プリチャージ制御信号MLPRE_Nを活性化することによって、マッチ線MLの電位を88%VDDまでチャージすることができる。
【0097】
次に、アレイ制御回路8が、遅延プリチャージ制御信号MLPRE_N_dlyを「L」レベルに活性化すると、PチャネルMOSトランジスタ191がオンする。これによって、マッチ線MLと電源線MLVDDの電位がVDDまで上昇する。
【0098】
その後、アレイ制御回路8が、プリチャージ制御信号MLPRE_Nを「H」レベルに非活性化して、PチャネルMOSトランジスタ192をオフにする。さらに、アレイ制御回路8が、遅延プリチャージ制御信号MLPRE_N_dlyを「H」レベルに非活性化し、PチャネルMOSトランジスタ191をオフにする。
【0099】
検索結果が一致(Hit)の場合には、マッチ線MLの電位は「H」レベル(VDD)を維持するが、検索結果が不一致(Miss)の場合には、マッチ線MLの電位は「L」レベル(VSS)に引き抜かれる。図17では、検索結果が不一致(Miss)の場合を示している。
【0100】
図17に示すように、マッチ線MLを流れる電流量iMLの変化di/dtは、ローカルな電源線MLVDDを用いているため、従来のようなマッチ線MLを直接プリチャージする場合に比べて、小さいという特徴がある。これによって急激な電流変化di/dtによるノイズを大幅に削減できる。
【0101】
(CAMのレイアウト)
図18は、CAMアレイマットのトランジスタ層と配線層のレイアウト図である。PチャネルMOSトランジスタP1とNチャネルMOSトランジスタN1は、インバータIV1を構成する。容量素子C1およびC5は、NチャネルMOSトランジスタで構成されるため、トランジスタ層に配置されている。
【0102】
図19は、CAMアレイマットの第3層金属層、第4層金属層およびトンネル磁気抵抗素子TMRのレイアウト図である。図20は、図18および図19のXIX−XIX断面図である。図19において、LVは、ローカルビアを表わし、LSはストラップ配線を示す。
【0103】
図20に示すように、半導体基板のP型ウェルPWの表面にゲート電極G1、G2,G3が所定のピッチで形成される。
【0104】
ゲート電極G1は、NチャネルMOSトランジスタN2のゲート電極である。ゲート電極G1には、端子/SNが接続される。ゲート電極G1の両側にN型不純物が拡散されてNチャネルMOSトランジスタN2のソースS1およびドレインD1が形成される。ドレインD1は、スルーホールTHおよび電極ELを介して第3層金属配線M2のマッチ線MLに接続される。ソースS1は、VSS(グランド)に接続される。
【0105】
ゲート電極G3は、NチャネルMOSトランジスタN4のゲート電極である。ゲート電極G3には、読出用ワード線RWLが接続される。ゲート電極G3の両側にN型不純物が拡散されてNチャネルMOSトランジスタN4のソースS2およびドレインD2が形成される。ソースS2は、VSS(グランド)に接続される。ドレインD2は、スルーホールTHおよび電極ELを介して端子SNに接続される。この端子SNは、電極ELを介してトンネル磁気抵抗素子TMRに接続される。トンネル磁気抵抗素子TMRはスルーホールTHを介してサーチ線/SLに接続される。ドレインD1は、VSS(グランド)に接続される。
【0106】
ゲート電極G2は、容量素子C5を構成するNチャネルMOSトランジスタのゲート電極である。ゲート電極は、端子SNと接続される。ゲート電極G3の両側にN型不純物が拡散されてこのNチャネルMOSトランジスタのソースおよびドレインが形成される。このソースは、NチャネルMOSトランジスタN2のソースS1と共有される。このドレインは、NチャネルMOSトランジスタN4のソースS2と共有される。
【0107】
(TCAMのレイアウト)
図21は、TCAMアレイマットのトランジスタ層と配線層のレイアウト図である。
【0108】
図22は、TCAMアレイマットの第3層金属層、第4層金属層およびトンネル磁気抵抗素子TMRのレイアウト図である。
【0109】
図21および図22を参照して、TAM基本セルのレイアウトの単位100,200は、2個のCAM基本セルのレイアウトの単位12,220で構成される。
【0110】
[第2の実施形態]
(CAM基本セル)
図23は、第2の実施形態のCAM基本セルの回路構成を表わす図である。
【0111】
図23のCAM基本セル112が、図1に示す第1の実施形態のCAMの基本セル12と相違する点は、図23のCAM基本セル112が、NチャネルMOSトランジスタN20を備える点である。
【0112】
インバータIV1の出力が、NチャネルMOSトランジスタN2のゲートとNチャネルMOSトランジスタN20のゲートに接続される。
【0113】
NチャネルMOSトランジスタN20は、第1マッチ線MLoと第1電源ノードVSSoに接続される。一方、NチャネルMOSトランジスタN2は、第2マッチ線MLeと第2電源ノードVSSeに接続される。
【0114】
アレイ制御回路8は、一定の幅を有する「L」レベルのパルスを交互に第1電源ノードVSSoの電位と第2電源ノードVSSeに与える。これらのパルスの周期は、クロックCLKの2倍の周期である。
【0115】
(TCAMの基本セル)
図24は、第2の実施形態のTCAM基本セルの回路構成を表わす図である。
【0116】
図24のTCAM基本セル110が、図6に示す第1の実施形態のTCAM基本セル10と相違する点は、図24のTCAM基本セル110が、NチャネルMOSトランジスタN20を備える点である。
【0117】
インバータIV1の出力が、NチャネルMOSトランジスタN2のゲートとNチャネルMOSトランジスタN20のゲートに接続される。
【0118】
NチャネルMOSトランジスタN20は、第1マッチ線MLoと第1電源ノードVSSoに接続される。一方、NチャネルMOSトランジスタN2は、第2マッチ線MLeと第2電源ノードVSSeに接続される。
【0119】
CAM基本セルの場合と同様に、アレイ制御回路8は、一定の幅を有する「L」レベルのパルスを交互に第1電源ノードVSSoの電位と第2電源ノードVSSeに与える。これらのパルスの周期は、クロックCLKの2倍の周期である。
【0120】
(マッチアンプ)
図25は、第2の実施形態のマッチアンプ(判定回路)とMLプリチャージ回路の構成を表わす図である。
【0121】
図25を参照して、このMLプリチャージ回路96は、PチャネルMOSトランジスタ55とPチャネルMOSトランジスタ56とを備える。
【0122】
PチャネルMOSトランジスタ55は、VDD電源と、第2マッチ線MLeとの間に設けられる。PチャネルMOSトランジスタ55のゲートは、プリチャージ制御信号MLPRE_Neを受ける。PチャネルMOSトランジスタ56は、VDD電源と、第1マッチ線MLoとの間に設けられる。PチャネルMOSトランジスタ56のゲートは、プリチャージ制御信号MLPRE_Noを受ける。
【0123】
マッチアンプ85は、インバータ53と、インバータ54と、マルチプレクサ52と、ラッチ回路51とを備える。
【0124】
インバータ53は、第2マッチ線MLeに接続され、第2マッチ線MLeの電圧を反転したエントリ検索第2判定信号maoeをマルチプレクサ52に出力する。
【0125】
インバータ54は、第1マッチ線MLoに接続され、第1マッチ線MLoの電圧を反転したエントリ検索第1判定信号maooをマルチプレクサ52に出力する。
【0126】
マルチプレクサ52は、エントリ検索第2判定信号maoeとエントリ検索第1判定信号maooとを受けて、クロックCLKの立ち上がりのタイミングで、出力する信号としてエントリ検索第2判定信号maoeとエントリ検索第1判定信号maooを交互に切替える。
【0127】
ラッチ回路51は、マルチプレクサ52の出力をラッチして、エントリ検索判定信号maoを出力する。
【0128】
(動作波形)
図26は、マッチアンプの動作を説明するため動作波形図である。
【0129】
図26では、サーチ線SLに常に、ワンショットパルスが与えられ、第1マッチ線MLoおよび第2マッチ線MLeのいずれもMiss(Lレベル)が設定される場合を示している。
【0130】
図26を参照して、アレイ制御回路8は、外部から「1.65ns」の周期のクロックCLKを受ける。
【0131】
アレイ制御回路8は、周期が「3.3ns」の一定の幅を有する「L」レベルのパルスを第1電源ノードVSSoの電位と第2電源ノードVSSeに与える。第2電源ノードVSSeに与えるパルスは、第1電源ノードVSSoに与えるパルスよりも「1.65ns」だけ遅れている。
【0132】
第1電源ノードVSSoの電位が「L」レベルになったことに応じて、第1マッチ線MLoのレベルが変化する。また、第2電源ノードVSSeの電位が「L」レベルになったことに応じて、第2マッチ線MLeのレベルが変化する。
【0133】
マッチアンプ85は、第1マッチ線MLoおよび第2マッチ線MLeの電圧を増幅し、第1マッチ線MLoおよび第2マッチ線MLeの電圧を交互に選択して、エントリ検索判定信号maoとして出力する。
【0134】
これにより、サーチ動作周波数は、従来の300MHzの2倍の600MHzとなり、アンプ(インバータ53、54)の高速動作が困難であるために、サーチ動作周波数を増加することができなかった問題を解決することができる。
【0135】
[第3の実施形態]
(TCAM基本セル)
図27は、第3の実施形態のTCAM基本セルの回路構成を表わす図である。
【0136】
図27のTCAM基本セルが、図6に示す第1の実施形態のTCAM基本セル10と相違する点は、図27のTCAM基本セル151は、電源線MLVDDに接続される容量素子C1の代りに、電源線SLVDDに接続される容量素子C2および電源線SLVDDNに接続される容量素子C2を備える点である。
【0137】
この容量素子C2を構成するNチャネルMOSトランジスタは、ゲートが電源線SLVDDもしくは電源線SLVDDNに接続され、ソースとドレインがグランドに接続されている。
【0138】
(構成)
図28は、第3の実施形態のTCAM基本セルを有する連想記憶装置の構成を表わす図である。
【0139】
図28の連想記憶装置が、図9に示す第1の実施形態の連想記憶装置と相違するのは、
MLプリチャージ回路96とTCAMアレイマット102が相違する点と、SLプリチャージ回路92を備える点である。
【0140】
TCAMアレイマット102には、電源線MLVDDが配置されるのではなく、電源線SLVDDおよびSLVDDNが配置される。
【0141】
MLプリチャージ回路96の構成は、図16において、電源線MLVDDに接続されるPチャネルMOSトランジスタ191を含まない構成である。
【0142】
図29は、図28の連想記憶装置のTCAMアレイマットの構成を表わす図である。図30は、図29のTCAMアレイマットの1エントリ(第0番目のエントリ)の構成を表わす図である。
【0143】
図29および図30を参照して、TCAMアレイマットは、第0〜第255の256個のエントリからなる。TCAMアレイマットの1エントリは、第0〜第79の80個の列に配置された80ビット(80個)のTCAM基本セルからなる。
【0144】
第iエントリのTCAM基本セルは、マッチ線ML<i>と接続されるとともに、第j列のTCAM基本セルは、サーチ線SL<j>,/SL<j>と、電源線SLVDD<j>,SLVDDN<j>と接続される。
【0145】
(SLプリチャージ回路)
図31は、SLプリチャージ回路の構成を表わす図である。
【0146】
図31を参照して、このSLプリチャージ回路92は、各サーチ線ごとに設けられる。
SLプリチャージ回路02は、電源VDDと内部ノードND3との間に設けられたPチャネルMOSトランジスタ193と、内部ノードND3とグランドとの間に設けられた、PチャネルMOSトランジスタ194とNチャネルMOSトランジスタ195とからなるインバータIV99とを含む。
【0147】
PチャネルMOSトランジスタ193のゲートは、遅延サーチ制御信号SLE_N_dlyを受ける。インバータIV99は、サーチ制御信号SLE_Nを受ける。遅延サーチ制御信号SLE_N_dlyは、サーチ制御信号SLE_Nを一定時間だけ遅らせた信号である。
【0148】
ノードND1は、電源線SLVDDに接続される。電源線SLVDDは、1つのサーチ線SLに接続されるTCAM基本セルに含まれる容量素子C2と接続される。1つのサーチ線SLに接続されるTCAM基本セルの容量素子C2の合計値をCSとする。
【0149】
インバータIV99の出力は、サーチ線SLに接続される。サーチ線SLの寄生容量をCDとする。
【0150】
(サーチ線SLのプリチャージ時の動作波形)
図32は、サーチ線SLのプリチャージ時の動作波形図である。
【0151】
図32を参照して、最初に、電源線SLVDDの電位は、VDDにプリチャージされており、基本セル内の容量素子C2に電荷が蓄積されている。
【0152】
アレイ制御回路8が、サーチ制御信号SLE_Nを「L」レベルに活性化すると、PチャネルMOSトランジスタ194がオンになり、NチャネルMOSトランジスタ195がオフになる。これによって、容量素子C2の電荷が出力されるので、電源線SLVDDの電位はVDDから減少し、サーチ線SLの電位は上昇する。サーチ線SLの寄生容量をCDに対して、1列に含まれるすべての容量素子C2の容量の合計値CSが10倍の場合には、サーチ制御信号SLE_Nを活性化することによって、サーチ線SLの電位を88%VDDまでチャージすることができる。
【0153】
次に、アレイ制御回路8が、遅延サーチ制御信号SLE_N_dlyを「L」レベルに活性化すると、PチャネルMOSトランジスタ193がオンする。これによって、サーチ線SLと電源線SLVDDの電位がVDDまで上昇する。
【0154】
その後、アレイ制御回路8が、サーチ制御信号SLE_Nを「H」レベルに非活性化して、PチャネルMOSトランジスタ194をオフにし、NチャネルMOSトランジスタ195がオンにする。これによって、サーチ線SLの電位は「L」レベル(VSS)に引き抜かれる。さらに、さらに、アレイ制御回路8が、遅延サーチ制御信号SLE_N_dlyを「H」レベルに非活性化し、PチャネルMOSトランジスタ193をオフにする。PチャネルMOSトランジスタ194がオンの間は、電源線SLVDDの電位は「H」レベル(VDD)を維持する。
【0155】
図32に示すように、サーチ線SLを流れる電流量iSLの変化di/dtは、従来のように、電源線SLVDDを用いずに、サーチ線SLを直接プリチャージする場合に比べて、小さいという特徴がある。これによって急激な電流変化di/dtによるノイズを大幅に削減できる。また、従来のように、di/dtによる電源ノイズを低減するために基板上に大容量のバイパスコンデンサを設置する必要がなく、基板実装面積を小さくすることができる。
【0156】
[第4の実施形態]
(TCAM基本セル)
図33は、第4の実施形態のTCAM基本セルの回路構成を表わす図である。
【0157】
図33のTCAM基本セル310が、図6に示す第1の実施形態のTCAM基本セル10と相違する点は、図33のTCAM基本セル310では、トンネル磁気抵抗素子TMRX,TMRYの他端(NチャネルMOSトランジスタN4および容量素子C4と接続されている端子)がインバータIV1を介さずに、直接NチャネルMOSトランジスタN2のゲートに接続されている点である。
【0158】
このTCAM基本セル310は、図6に示す第1の実施形態のTCAM基本セル10と概ね同様に動作する。
【0159】
(全体動作)
図34は、図33のTCAM基本セルを有する連想記憶装置における検索時の動作波形図である。
【0160】
図34の動作波形が、図12の第1の実施形態の動作波形と相違する点は、図34では、検索データが「0」の場合に、サーチ線SLに「H」レベルのワンショットパルスが与えられ、検索データが「1」の場合に、サーチ線/SLに「H」レベルのワンショットパルスが与えられる点である。
【0161】
また、図34では、端子/SNX,/SNYの電圧ではなく、端子SNX,SNYの電圧によって、マッチ線MLの電圧が決定される。端子SNX,SNYが、マッチ線MLとグランドの間に設けられたNチャネルMOSトランジスタN2のゲートに接続されているからである。
【0162】
端子SNX,SNYの電圧は、インバータIV1を経由した第1の実施の形態の端子/SNX,/SNYの電圧に比べて、電源電圧VDDを維持する期間は短いが、NチャネルMOSトランジスタN2の閾値を適切に設定することによって、端子SNX,SNYの電圧の大きさによって、マッチ線MLの電圧を変化させることができる。
【0163】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0164】
1 BLドライバ、2,102 TCAMアレイマット、3 SLドライバ、5,85 マッチアンプ、6 プライオリティエンコーダ、7 ロウデコーダ、8 アレイ制御回路、9 リードセンスアンプ、10,12,110,151,310 基本セル、11 DLドライバ、14,114 エントリ、51 ラッチ回路、52 マルチプレクサ、92 SLプリチャージ回路、95,96 MLプリチャージ回路、55,56,191,192,193,194,195 PチャネルMOSトランジスタ、ML,MLo,MLe マッチ線、RWL,RWLX,RWLY 読出用ワード線、DL ディジット線、SL(/BL),/SL(BL) サーチ線、MLVDD,SLVDD,SLVDDN 電源線、C1,C2,C5 容量素子、N2,N4,N20 NチャネルMOSトランジスタ、IV1,53,54 インバータ、SN,/SN,SNX,/SNX,SNY,/SNY 端子、TMR,TMRX,TMRY トンネル磁気抵抗素子、MCX,MCY メモリセル、VSSo,VSSe 電源ノード。
【技術分野】
【0001】
本発明は、連想記憶装置に関する。
【背景技術】
【0002】
連想記憶装置の一つであるネットワークルータ等に内蔵されている内容参照メモリ(CAM:Content Addressable Memory)は、データの読出/書込機能に加えて、アレイ内の全記憶データと与えられた検索データとの一致判定を並列に行なう検索機能を持ち、予め記憶しておいたルーティングテーブルからIPアドレスを検索する用途等に使われている。近年ネットワークの高速化やサーバの増加、インターネットの利用者の増加によってネットワークルータでのCAMメモリに高速化や大容量化が要求されている。
【0003】
近年のCAMメモリの開発では高速化のため先端の微細化プロセスを採用しているが、オフリーク電流やゲートリーク電流、SRAM(Static Random Access Memoryのスタンバイリーク電流が大きくなってきており、全体の消費電流に占めるこれらオフリーク電流、ゲートリーク電流等のスタンバイ電流の割合が大きくなってきている。この対策として特許文献1(米国特許第6191969号明細書)のパイプライン構成、および特許文献2(特開2007−317342号公報)のマッチ線プリチャージ電源の低電圧化などによってアクティブ電流の低減が提案されている。
【0004】
しかしながら、SRAMで構成する従来のCAMメモリではプロセスの微細化によって増加するSRAMのスタンバイリーク電流を抑えなければ全体の消費電流を低減できず、チップの熱設計が困難となる問題を抱えており、大容量化が難しい。
【0005】
また、CAMメモリの検索結果の状態を示すマッチ線をグランドレベルに引抜くNチャネルMOSトランジスタ(以下サーチトランジスタという)の動作やマッチアンプ回路によるマッチ線の一致/不一致状態を判定する処理は、プロセスの微細化だけでは、高速化を図ることができないという問題がある。
【0006】
上述のサーチトランジスタによるマッチ線のグランドへの引抜き動作を高速化できない理由は、従来のSRAMで構成するCAMメモリ1ビットはSRAMメモリ2ビット(12個のトランジスタ)とサーチトランジスタ(4個のトランジスタ)で構成されているため素子数が多い(16個のトランジスタ)からである。そのため、トランジスタの占有率が高いレイアウトに特有の各種ストレス(STIストレス:Shallow Trench Isolationストレス、PSEストレス:Poly Space Effectsストレス等)が発生しサーチトランジスタの電流駆動能力を下げ、また微細化によってサーチトランジスタサイズが小さくなるため、しきい値のローカルなばらつきによる変動量が大きくなるからである。
【0007】
上述のマッチアンプ回路によるマッチ線の一致/不一致状態を判定する処理を高速化できない理由は、高速化によってサーチトランジスタがマッチ線をグランドに引抜く時間(従来のCAMでは検索動作周期の1/2)が短くなってマッチ線の振幅レベルが小さくなること、さらにはそのマッチ線の小振幅を高速にアンプする必要があるが、微細化によってペアトランジスタのばらつきが大きくなりアンプ感度を悪化させる傾向にあるからである。
【0008】
また、CAMメモリはメモリアレイ内の全記憶データを並列に同時に検索する構成によって高速な検索メモリを実現している反面、検索データの状態を示すサーチ線や検索結果の一致、不一致の状態を示すマッチ線が全て活性化されるため、検索時には非常に大きな消費電流と電流変化(di/dt)ノイズが発生する。大容量化、高速化に比例して増加するdi/dtの増加によってノイズを抑えるために必要とされる基板上の電源電圧のバイパスコンデンサ容量が増大する問題を抱えている。
【0009】
これらの問題に対して、たとえば、特許文献3(特開2002−334585号公報)、特許文献4(特開2005−259206号公報)、特許文献5(特開2004−86934号公報)および特許文献6(特開2002−197853号公報)は、CAMアレイをMRAM(Magnetic Random Access Memory)で構成することによって、SRAMのソフトエラーおよびスタンバイリークの問題は解決している。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】米国特許第6191969号明細書
【特許文献2】特開2007−317342号公報
【特許文献3】特開2002−334585号公報
【特許文献4】特開2005−259206号公報
【特許文献5】特開2004−86934号公報
【特許文献6】特開2002−197853号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかしながら、特許文献3では、従来のSRAM構成よりも高速に検索できないという問題がある。その理由は、MRAMでは、データのHigh、Lowを抵抗値の大、小で区別するが、その抵抗比は最大でも2倍程度である。そのため、特許文献3の図4や図9のような電流センス回路構成では300MHz超える従来のような高速動作は不可能となるからである。
【0012】
特許文献4〜特許文献6でも、同様に2倍程度の抵抗比を判定するため高速に検索できない。また、特許文献4では、MRAMにデータを書き込みながら検索するため、MRAMの書き込み速度(100MHz程度)が遅いため高速検索動作は不可能である。特許文献6では、リファレンス抵抗を作りリファレンス電流を生成し電流センス回路を用いているが、ノイズ耐性が弱く、高速動作は不可能である。
【0013】
それゆえに、本発明の目的は、ソフトエラーおよびスタンバイ電流を発生させず、かつ電流変化(di/dt)ノイズが少なく、高速検索が可能な連想記憶装置を提供することである。
【課題を解決するための手段】
【0014】
本発明の一実施形態の連想記憶装置は、記憶データと検索データとの一致または不一致の検出が可能な連想記憶装置である。この連想記憶装置は、行列状に配置された複数の連想メモリセルを含むメモリアレイと、各々が、メモリアレイ内の対応のエントリに属する複数の連想メモリセルが接続される複数のマッチ線と、各々が、マッチ線の電圧に応じて、メモリアレイのエントリ内の連想メモリに記憶されたデータと検索データとの一致または不一致を表わす検索判定信号を出力する複数の判定回路と、各々が、データ検索時に、メモリアレイ内の列に属する複数の連想メモリに検索データの値に応じた電圧を供給する複数のサーチ線と、各々が、メモリアレイ内の対応のエントリに属する複数の連想メモリセルが接続される複数のワード線と、検索データが所定の値のときに、所定の幅のワンショットパルスをサーチ線に出力する第1のドライバを備える。連想メモリセルは、一端がサーチ線に接続されるトンネル磁気抵抗素子と、トンネル磁気抵抗素子の他端に接続される容量素子と、トンネル磁気抵抗素子の他端と接地電源との間に設けられ、制御電極がワード線と接続される第1のMOSトランジスタと、トンネル磁気抵抗素子の他端を入力とする第1のインバータと、マッチ線と接地電源との間に設けられ、制御電極が第1のインバータの出力電圧を受ける第2のMOSトランジスタとを含む。
【発明の効果】
【0015】
本発明の一実施形態の連想記憶装置によれば、ソフトエラーおよびスタンバイ電流や電流変化(di/dt)ノイズが低減し、かつ高速検索が可能である。
【図面の簡単な説明】
【0016】
【図1】第1の実施形態のCAM基本セルの回路構成を表わす図である。
【図2】図1のCAM基本セルの真理値を示す図である。
【図3】図1のCAM基本セルの検索結果が不一致の場合の動作波形図である。
【図4】図1のCAM基本セルの検索結果が一致の場合の動作波形図である。
【図5】図1のCAM基本セルの検索データがマスクデータの場合の動作波形図である。
【図6】第1の実施形態のTCAM(TernaryCAM)基本セルの回路構成を表わす図である。
【図7】図6のTCAM基本セルの真理値を示す図である。
【図8】検索データと、サーチ線SL,/SLに伝送されるデータとの関係を表わす図である。
【図9】第1の実施形態のTCAM基本セルを有する連想記憶装置の構成を表わす図である。
【図10】図9の連想記憶装置のTCAMアレイマットの構成を表わす図である。
【図11】図10のTCAMアレイマットの1エントリ(第0番目のエントリ)の構成を表わす図である。
【図12】図9の連想記憶装置における検索時の動作波形図である。
【図13】CAM基本セルに「0」をライトする時の動作波形図である。
【図14】CAM基本セルに「1」をライトする時の動作波形図である。
【図15】CAM基本セルからデータをリードする時の動作波形図である。
【図16】MLプリチャージ回路の構成を表わす図である。
【図17】マッチ線MLのプリチャージ時の動作波形図である。
【図18】CAMアレイマットのトランジスタ層と配線層のレイアウト図である。
【図19】CAMアレイマットの第3層金属層、第4層金属層およびトンネル磁気抵抗素子TMRのレイアウト図である。
【図20】CAMアレイマットのレイアウトの基板に垂直な断面図である。
【図21】TCAMアレイマットのトランジスタ層と配線層のレイアウト図である。
【図22】TCAMアレイマットの第3層金属層、第4層金属層およびトンネル磁気抵抗素子TMRのレイアウト図である。
【図23】第2の実施形態のCAM基本セルの回路構成を表わす図である。
【図24】第2の実施形態のTCAM基本セルの回路構成を表わす図である。
【図25】第2の実施形態のマッチアンプ(判定回路)とMLプリチャージ回路の構成を表わす図である。
【図26】マッチアンプの動作を説明するため動作波形図である。
【図27】第3の実施形態のTCAM基本セルの回路構成を表わす図である。
【図28】第3の実施形態のTCAM基本セルを有する連想記憶装置の構成を表わす図である。
【図29】図28の連想記憶装置のTCAMアレイマットの構成を表わす図である。
【図30】図29のTCAMアレイマットの1エントリ(第0番目のエントリ)の構成を表わす図である。
【図31】SLプリチャージ回路の構成を表わす図である。
【図32】サーチ線SLのプリチャージ時の動作波形図である。
【図33】第4の実施形態のTCAM基本セルの回路構成を表わす図である。
【図34】図33のTCAM基本セルを有する連想記憶装置における検索時の動作波形図である。
【発明を実施するための形態】
【0017】
以下、本発明の実施形態について図面を参照して説明する。
[第1の実施形態]
(CAM基本セル)
図1は、第1の実施形態のCAM基本セルの回路構成を表わす図である。
【0018】
従来のCAM基本セルは、SRAMをベースに構成されていた。この構成では、SRAMを構成する6個のトランジスタと、サーチ用の2個のトランジスタの計8素子で構成されていた。これに対して、本実施の形態のCAM基本セル12は、図1に示すように、インバータIV1と、NチャネルMOSトランジスタN2と、NチャネルMOSトランジスタN4と、容量素子C5と、トンネル磁気抵抗素子TMRと、容量素子C1とで構成される。
【0019】
トンネル磁気抵抗素子TMRの抵抗値が磁化の向きによって変化する。この抵抗値の小さい方をR、大きい方をR+ΔRと表わす。ここで、現状の技術ではΔR<Rであり、最大でもΔR≒Rである。
【0020】
本発明の実施形態のCAM基本セル12では、トンネル磁気抵抗素子TMRの抵抗値がRのときに「0」が記録され、抵抗値がR+ΔRのときに、「1」が記憶されているとする。
【0021】
トンネル磁気抵抗素子TMRの一方の端子はサーチ線/SL(検索データの反転論理が伝送される)に接続され、他方の端子SNはNチャネルMOSトランジスタで形成された容量素子C5と、データ読み出し用のNチャネルMOSトランジスタN4のドレインと、インバータIV1の入力に接続されている。容量素子C5を構成するNチャネルMOSトランジスタは、ゲートが端子SNに接続され、ソースとドレインがグランドに接続されている。
【0022】
NチャネルMOSトランジスタN4のゲートは、読出用ワード線RWLに接続され、ソースがグランドに接続されている。
【0023】
NチャネルMOSトランジスタN2は、そのドレインがマッチ線MLに接続され、そのソースがグランドに接続され、そのゲートがインバータIV1の出力端子/SNに接続されている。
【0024】
さらに、NチャネルMOSトランジスタで構成される容量素子C1が、電源線MLVDDとグランドとの間に接続されている。すなわち、容量素子C1を構成するNチャネルMOSトランジスタは、ゲートが電源線MLVDDに接続され、ソースとドレインがグランドに接続されている。
【0025】
サーチ線/SL側から見ると、トンネル磁気抵抗素子TMR容量素子C5は、ロウパスフィルタを形成している。ここで、トンネル磁気抵抗素子TMRの抵抗値R+ΔRが30K、容量素子C5の容量を20fFとすると、トンネル磁気抵抗素子TMRと容量素子C5は、600ps程度の遅延素子、あるいは600ps以上の幅のパルスを通過させるロウパスフィルタを形成している。トンネル磁気抵抗素子TMRの抵抗値Rが15K、容量素子C5の容量を20fFとすると、トンネル磁気抵抗素子TMRと容量素子C5は、300ps程度の遅延素子、あるいは300ps以上の幅のパルスを通過させるロウパスフィルタを形成している。
【0026】
記憶データが「0」の場合には、ロウパスフィルタは300ps以上のパルスを通過するので、データ検索時にサーチ線/SLに500psの幅のワンショットパルスが与えられた場合には、このワンショットパルスは、端子/SNに出力される。
【0027】
一方、記憶データが「1」の場合には、ロウパスフィルタは600ps以上の幅のパルスを通過するので、データ検索時に、サーチ線/SLに500psの幅のワンショットパルスが与えられた場合には、このワンショットパルスは、端子/SNに出力されない。
【0028】
ディジット線DLには、データ書込み時には、磁化電流が供給される。
サーチ線/SLは、ビット線BLを兼ねるものであり、データ書込み時には、書込電流が供給される。
【0029】
従来のSRAMの構成では構成するトランジスタ数が多いため、トランジスタ密度が大きくなる。そのため、近年問題となっているSTIストレスなどによって、サーチトランジスタのオン電流が劣化し、サーチ速度が劣化するという問題があった。また内部ノード数が多いため、微細化によって内部ノードの線間容量や寄生容量が増加し、アクセス劣化や消費電流増加の問題があった。また、SRAMのスタンバイリーク電流増加やソフトエラーの問題もあった。
【0030】
本発明の実施形態のCAM基本セルは、SRAMを含まないため、これらの問題は改善される。
【0031】
さらに、本発明の実施形態のCAM基本セルは、トランジスタ層にSRAMが配置されないため、以下のような利点を有する。CAMメモリでは、アレイ内のすべてのマッチ線MLを放電、充電するためにマッチ線MLがプリチャージされる。そのため、電流の時間変化di/dtが非常に大きいという問題がある。電流の時間変化di/dtによる電源ノイズを低減するために、従来は、基板上に大容量のバイパスコンデンサを設置しており基板実装面積を大きくしている。これに対して、本発明の実施形態のCAM基本セルは、従来のSRAMを配置していたトランジスタ層に電流の時間変化di/dtによる電源ノイズを低減するための容量素子C5(MOS容量)をローカルに搭載している。
【0032】
(CAM基本セルの真理値表)
図2は、図1のCAM基本セルの真理値を示す図である。
【0033】
図2に示すように、本実施の形態のCAM基本セルは、通常のSRAM構成のCAM基本セルと同様の真理値表で動作する。
【0034】
サーチ線SLに伝送されるデータが「1」で、サーチ線/SLに伝送されるデータが「0」(Lレベルのワンショットパルス)の場合に、トンネル磁気抵抗素子TMRの抵抗値がR+ΔRの場合に、端子SNが「1」(Hレベル)、端子/SNが「0」(Lレベル)となり、マッチ線MLは「1」(Hレベル)となり、検索結果はHit(一致)となる。
【0035】
サーチ線SLに伝送されるデータが「1」で、サーチ線/SLに伝送されるデータが「0」(Lレベルのワンショットパルス)の場合に、トンネル磁気抵抗素子TMRの抵抗値がRの場合に、端子SNが「0」(Lレベル)、端子/SNが「1」(Hレベル)となり、マッチ線MLは「0」(Lレベル)となり、検索結果はMiss(不一致)となる。
【0036】
サーチ線SLを伝送されるデータ「0」の場合は、一致判定せずマスク状態となる。
(CAM基本セルの動作)
図3は、図1のCAM基本セルの検索結果が不一致の場合の動作波形図である。
【0037】
図3を参照して、スタンバイ時には、サーチ線/SLのレベルは、「1」である。サーチ活性期間には、検索データが「1」の場合には、サーチ線/SLには、500psの幅のLレベルのワンショットパルスが伝送される。検索データが「0」の場合には、サーチ線/SLのレベルは、スタンバイ時の「H」のまま変化しない。
【0038】
図3では、検索データが「1」であり、記憶データが「0」、つまりトンネル磁気抵抗素子TMRの抵抗値がR、具体的には、15KΩとする。
【0039】
この場合には、ロウパスフィルタの時定数τ0(概ね15KΩx20fF=300ps)は、ワンショットパルスの幅(500ps)よりも小さいので、ワンショットパルスはフィルタされない。その結果、インバータIV1の出力端子/SNの電位は「H」となる。これにより、マッチ線MLの電圧がグランドに引抜かれるため、マッチ線MLのレベルは「L」に変化し、検索結果は、不一致(Miss)となる。
【0040】
図4は、図1のCAM基本セルの検索結果が一致の場合の動作波形図である。
図4では、検索データが「1」であり、記憶データが「1」、つまりトンネル磁気抵抗素子TMRの抵抗値がR+ΔR、具体的には、30KΩとする。
【0041】
この場合には、ロウパスフィルタの時定数τ1(概ね30KΩx20fF=600ps)よりもワンショットパルスの幅(500ps)が小さいので、ワンショットパルスは、フィルタされる。その結果、インバータIV1の出力端子/SNの電位は「L」のまま変化しない。したがって、マッチ線MLの電圧をグランドに引抜かないため、マッチ線MLのレベルは「H」のまま変化せず、検索結果は、一致(Hit)となる。
【0042】
上述の特性を利用して、検索データのサーチ線/SL=0に対して、記憶データの値(0/1)を比較し、その比較結果がマッチ線MLのレベル(0/1)に変換されることによって、検索結果がマッチ線MLに出力される。
【0043】
図5は、図1のCAM基本セルの検索データがマスクデータの場合の動作波形図である。
【0044】
検索データが「0」の時はマスク状態である。検索データが「0」の場合には、サーチ線/SLのレベルは、スタンバイ時の「H」のまま変化しない。この場合には、ワンショットパルスが生成されない。その結果、記憶データの値に関係なく、インバータIV1の出力端子/SNの電位は「L」のまま変化しない。したがって、マッチ線MLの電圧をグランドに引抜かないため、マッチ線MLのレベルは「H」のまま変化せず、検索結果は、一致(Hit)となる。
【0045】
(TCAM基本セル)
図6は、第1の実施形態のTCAM(TernaryCAM)基本セルの回路構成を表わす図である。
【0046】
図6を参照して、このTCAM基本セル10は、図1のCAM基本セルが2つ(2ビット)で構成される。
【0047】
TCAM基本セル10を構成するCAM基本セルの一方を第1部分セルMCXとし、他方を第2部分セルMCYとする。
【0048】
第1部分セルMCXにおいて、トンネル磁気抵抗素子TMRXと、NチャネルMOSトランジスタN4と、容量素子C5と、インバータIV1とが接続されている端子をSNXと表わし、インバータIV1の出力端子を端子/SNXと表わす。第1部分セルMCXにおいて、NチャネルMOSトランジスタN4のゲートは、第1の読出用ワード線RWLXに接続される。トンネル磁気抵抗素子TMRXは、サーチ線/SLに接続される。
【0049】
第2部分セルMCYにおいて、トンネル磁気抵抗素子TMRYと、NチャネルMOSトランジスタN4と、容量素子C5と、インバータIV1とが接続されている端子をSNYと表わし、インバータIV1の出力端子を端子/SNYと表わす。第2部分セルMCYにおいて、NチャネルMOSトランジスタN4のゲートは、第2の読出用ワード線RWLYに接続される。トンネル磁気抵抗素子TMRYは、サーチ線SLに接続される。
【0050】
(TCAM基本セルの真理値表)
図7は、図6のTCAM基本セルの真理値を示す図である。図8は、検索データと、サーチ線SL,/SLに伝送されるデータとの関係を表わす図である。
【0051】
図7に示すように、本実施の形態のTCAM基本セルは、通常のSRAM構成のTCAM基本セルと同様の真理値表で動作する。
【0052】
検索データが「0」、つまり、サーチ線SLに伝送されるデータが「0」(Lレベルのワンショットパルス)、かつサーチ線/SLに伝送されるデータが「1」の場合には、トンネル磁気抵抗素子TMRYの抵抗値に関わらず、端子/SNYは「0」(Lレベル)となる。検索データが「1」、つまり、サーチ線SLに伝送されるデータが「1」、かつサーチ線/SLに伝送されるデータが「0」(Lレベルのワンショットパルス)の場合には、トンネル磁気抵抗素子TMRXの抵抗値に関わらず、端子/SNXは「0」(Lレベル)となる。
【0053】
検索データが「0」、つまり、サーチ線SLに伝送されるデータが「0」(Lレベルのワンショットパルス)、かつサーチ線/SLに伝送されるデータが「1」の場合には、トンネル磁気抵抗素子TMRXの抵抗値がR(「0」が記憶)のときには、端子/SNXは「1」(Hレベル)となり、トンネル磁気抵抗素子TMRXの抵抗値がR+ΔR(「1」が記憶)のときには、端子/SNXは「0」(Lレベル)となる。
【0054】
検索データが「1」、つまり、サーチ線SLに伝送されるデータが「1」、かつサーチ線/SLに伝送されるデータが「0」(Lレベルのワンショットパルス)の場合には、トンネル磁気抵抗素子TMRYの抵抗値がR(「0」が記憶)のときには、端子/SNYは「1」(Hレベル)となり、トンネル磁気抵抗素子TMRYの抵抗値がR+ΔR(「1」が記憶)のときには、端子/SNYは「0」(Lレベル)となる。
【0055】
端子/SNXおよび端子/SNYがいずれも「0」の場合には、マッチ線MLは「1」(Hレベル)となり、一致(Hit)を示す。端子/SNXおよび端子/SNYがいずれかが「1」の場合には、マッチ線MLは「0」(Lレベル)となり、不一致(Miss)を示す。ただし、トンネル磁気抵抗素子TMRXの抵抗値およびトンネル磁気抵抗素子TMRYの抵抗値がいずれもR+ΔR(「1」が記憶)の場合には、検索データの値に関わらず、マッチ線MLは、常に一致(Hit)を示す「1」(Hレベル)となる。また、トンネル磁気抵抗素子TMRXの抵抗値およびトンネル磁気抵抗素子TMRYの抵抗値がいずれもR(「0」が記憶)の場合には、検索データの値に関わらず、マッチ線MLは、常に不一致(Miss)を示す「0」(Lレベル)となる。
【0056】
なお、サーチ線SLに伝送されるデータが「1」、かつサーチ線/SLに伝送されるデータが「1」の場合には、マスク状態となる。
【0057】
(全体構成)
図9は、第1の実施形態のTCAM基本セルを有する連想記憶装置の構成を表わす図である。
【0058】
図9を参照して、このMRAMは、TCAMアレイマット2と、SLドライバ3と、BLドライバ1と、リードセンスアンプ9と、マッチアンプ(判定回路)5と、MLプリチャージ回路95と、プライオリティエンコーダ6と、ロウデコーダ7と、DLドライバ11と、アレイ制御回路8とを備える。
【0059】
TCAMアレイマット2は、TCAM基本セルが行列状に配置される。
SLドライバ3は、データ検索時に、サーチ線SL,/SLに検索データを与える。
【0060】
BLドライバ1は、データ書込み時に、ビット線を兼ねているサーチ線SL,/SLに書込みデータに応じた向きの書込電流を与える。
【0061】
リードセンスアンプ9は、データ読出し時に、ビット線を兼ねているサーチ線SL,/SLを伝送される電流(データ)を増幅する。
【0062】
マッチアンプ(判定回路)5は、エントリごとに設けられており、データ検索時に、マッチアンプ活性化信号MAEが「H」レベルに活性化されると、マッチ線MLの電圧を増幅し、増幅した電圧に応じて、エントリ検索判定信号maoを出力する。
【0063】
MLプリチャージ回路95は、エントリごとに設けられており、マッチ線MLをプリチャージする。
【0064】
プライオリティエンコーダ6は、データ検索時に、検索結果が一致を示す複数個のエントリのロウアドレスに優先順位に従って出力する。
【0065】
ロウデコーダ7は、エントリを選択して、選択したエントリのワード線RWLX,RWLYを活性化する。
【0066】
DLドライバ11は、データ書込み時に、ディジット線DLに磁化電流を与える。
アレイ制御回路8は、MRAM全体を制御する。
【0067】
図10は、図9の連想記憶装置のTCAMアレイマット2の構成を表わす図である。図11は、図10のTCAMアレイマット2の1エントリ(第0番目のエントリ)の構成を表わす図である。
【0068】
図10および図11を参照して、TCAMアレイマット2は、第0〜第255の256個のエントリ14からなる。TCAMアレイマット2の1個のエントリは、第0〜第79の80個の列に配置された80ビット(80個)のTCAM基本セル10からなる。
【0069】
第iエントリのTCAM基本セルは、マッチ線ML<i>と接続されるとともに、電源線MLVDD<i>に接続される。また、図示しないが、第iエントリのTCAM基本セルは、読出用ワード線RWLX<i>,RWLY<i>に接続され、さらにディジット線DL<i>が配置される。
【0070】
第j列のTCAM基本セルは、サーチ線SL<j>,/SL<j>と接続される。
(検索動作)
図12は、図9の連想記憶装置における検索時の動作波形図である。
【0071】
図12は、第1部分セルMCXのトンネル磁気抵抗素子TMRXの抵抗値がR(「0」を記憶)で、第2部分セルMCYのトンネル磁気抵抗素子TMRYの抵抗値がR+ΔR(「1」を記憶)の場合について示している。
【0072】
アレイ制御回路8は、外部からサーチコマンドSEARCHを受ける。
アレイ制御回路8は、クロックCAMCLKを出力する。
【0073】
SLドライバ3は、スタンバイ時は、サーチ線SL,/SLを「H」レベルに設定する。
【0074】
アレイ制御回路8が、プリチャージ制御信号MLPREを「H」レベルに活性化すると、MLプリチャージ回路95は、マッチ線MLを「H」レベルにプリチャージする。
【0075】
外部から、値が「0」の検索データDBが与えられたときには、SLドライバ3は、サーチ活性期間、「L」レベルのワンショットパルスをサーチ線SLに出力し、サーチ線/SLを「H」レベルのまま維持させる。このワンショットパルスは、たとえばSLドライバ3内の遅延回路によって生成される。これによって、第1部分セルMCXのインバータIV1の出力端子/SNXは、「L」レベルのまま変化しない。また、第2部分セルMXYのインバータIV1の出力端子/SNYは、「H」レベルとなる。この結果、マッチ線MLの電位は「L」レベルに引き抜かれる。
【0076】
マッチアンプ5は、マッチアンプ活性化信号MAEが「H」レベルに活性化されると、マッチ線MLの電位を増幅する。マッチアンプ5は、マッチ線MLの電位が一定値以上でないので、Missを表わす「L」レベルのエントリ検索判定信号maoを出力する。
【0077】
プライオリティエンコーダ6は、すべてのエントリのマッチアンプ5からエントリ検索判定信号mao[0]〜mao[255]を受ける。プライオリティエンコーダ6は、「H」レベルのエントリ検索判定信号maoを出力したエントリのうちの優先度の高いエントリのアドレス(MATCH_ADD)をアレイ制御回路8へ出力する。アレイ制御回路8は、プライオリティエンコーダ6から出力されたアドレス(MATCH_ADD)と、一致を示す検索結果信号MATCHを出力する。
【0078】
一方、外部から、値が「1」の検索データDBが与えられたときには、SLドライバ3は、サーチ活性期間、「L」レベルのワンショットパルスをサーチ線/SLに出力し、サーチ線SLを「H」レベルのまま維持させる。これによって、第1部分セルMCXのインバータIV1の出力端子/SNXは、「L」レベルのまま変化しない。また、第2部分セルMXYのインバータIV1の出力端子/SNYは、「L」レベルのまま変化しない。この結果、マッチ線MLの電位は「H」レベルのまま維持される。
【0079】
マッチアンプ5は、マッチアンプ活性化信号MAEが「H」レベルに活性化されると、マッチ線MLの電位を増幅する。マッチアンプ5は、マッチ線MLの電位が一定値以上であるので、Hitを表わす「H」レベルのエントリ検索判定信号maoを出力する。
【0080】
プライオリティエンコーダ6は、すべてのエントリのマッチアンプ5からエントリ検索判定信号mao[0]〜mao[255]を受ける。プライオリティエンコーダ6は、「H」レベルのエントリ検索判定信号maoを出力したエントリのうちの優先度の高いエントリのアドレス(MATCH_ADD)をアレイ制御回路8へ出力する。エントリ検索判定信号mao[0]〜mao[255]がすべて「L」レベルの場合には、アドレスを出力しない。アレイ制御回路8は、不一致を示す検索結果信号MATCHを出力する。
【0081】
(ライト動作)
図13は、CAM基本セルに「0」をライトする時の動作波形図である。
【0082】
図13を参照して、アレイ制御回路8は、外部からライトコマンドWRITEと、ライトするアドレスADDと、クロックCAMCLKと、ライトデータDB(=「0」)を受ける。
【0083】
DLドライバ11は、磁化電流iDLをディジット線DLに与える。
BLドライバ1は、ライトデータDB(=「0」)により、ビット線BLを兼ねているサーチ線/SLに第1の方向(たとえば、ロウアドレスが大きい方から小さい方への方向)の書込電流iBLを与える。これによって、CAM基本セルのトンネル磁気抵抗素子TMRの抵抗値がRとなる。
【0084】
図14は、CAM基本セルに「1」をライトする時の動作波形図である。
図14を参照して、アレイ制御回路8は、外部からライトコマンドWRITEと、ライトするアドレスADDと、クロックCAMCLKと、ライトデータDB(=「1」)を受ける。
【0085】
DLドライバ11は、磁化電流iDLをディジット線DLに与える。
BLドライバ1は、ライトデータDB(=「1」)により、ビット線BLを兼ねているサーチ線/SLに第2の方向(たとえば、ロウアドレスが小さい方から大きい方への方向)の書込電流iBLを与える。これによって、CAM基本セルのトンネル磁気抵抗素子TMRの抵抗値がR+ΔRとなる。
【0086】
(リード動作)
図15は、CAM基本セルからデータをリードする時の動作波形図である。
【0087】
図15を参照して、アレイ制御回路8は、外部からリードコマンドREADと、リードするアドレスADDと、クロックCAMCLKとを受ける。
【0088】
ロウデコーダ7は、与えられたアドレスADDに対応するエントリの読出用ワード線RWLを「H」レベルに活性化する。
【0089】
このエントリのCAM基本セルのトンネル磁気抵抗素子TMRの抵抗値に応じて、サーチ線/SLの電圧変化が相違する。トンネル磁気抵抗素子の抵抗値がR+ΔRの場合(つまり、「1」が記憶されている場合)には、ビット線BLを兼ねているサーチ線/SLの電圧のプリチャージ電圧VDDからの減少量は、少量である。一方、トンネル磁気抵抗素子の抵抗値がR+ΔRの場合(つまり、「1」が記憶されている場合)には、ビット線BLを兼ねているサーチ線/SLの電圧のプリチャージ電圧VDDからの減少量は多量である。
【0090】
リードセンスアンプ9によって、サーチ線/SLの電圧が増幅されることによって、「0」または「1」のデータが外部へ出力される。
【0091】
(マッチ線MLのプリチャージ)
図16は、MLプリチャージ回路の構成を表わす図である。
【0092】
図16を参照して、このMLプリチャージ回路95は、各エントリごとに設けられる。
MLプリチャージ回路95は、電源VDDと内部ノードND1との間に設けられたPチャネルMOSトランジスタ191と、ノードND1とノードND2との間に設けられたPチャネルMOSトランジスタ192とを含む。PチャネルMOSトランジスタ192のゲートは、プリチャージ制御信号MLPRE_Nを受ける。PチャネルMOSトランジスタ191のゲートは、遅延プリチャージ制御信号MLPRE_N_dlyを受ける。遅延プリチャージ制御信号MLPRE_N_dlyは、プリチャージ制御信号MLPRE_Nを一定時間だけ遅らせた信号である。
【0093】
ノードND1は、電源線MLVDDに接続される。電源線MLVDDは、1エントリに含まれるTCAM基本セルに含まれる容量素子C1と接続される。1エントリに含まれるすべての容量素子C1の容量の合計値をCVとする。
【0094】
ノードND2は、マッチ線MLに接続される。マッチ線MLの寄生容量をCCとする。
(マッチ線MLのプリチャージ時の動作波形)
図17は、マッチ線MLのプリチャージ時の動作波形図である。
【0095】
図17を参照して、最初に、電源線MLVDDの電位は、VDDにプリチャージされ、基本セル内の容量素子C1に電荷が蓄積される。
【0096】
アレイ制御回路8が、プリチャージ制御信号MLPRE_Nを「L」レベルに活性化すると、PチャネルMOSトランジスタ192がオンする。これによって、容量素子C1の電荷が出力されるので、電源線MLVDDの電位はVDDから減少し、マッチ線MLの電位は上昇する。マッチ線MLの寄生容量CCに対して、1エントリに含まれるすべての容量素子C1の容量の合計値CVが10倍の場合には、プリチャージ制御信号MLPRE_Nを活性化することによって、マッチ線MLの電位を88%VDDまでチャージすることができる。
【0097】
次に、アレイ制御回路8が、遅延プリチャージ制御信号MLPRE_N_dlyを「L」レベルに活性化すると、PチャネルMOSトランジスタ191がオンする。これによって、マッチ線MLと電源線MLVDDの電位がVDDまで上昇する。
【0098】
その後、アレイ制御回路8が、プリチャージ制御信号MLPRE_Nを「H」レベルに非活性化して、PチャネルMOSトランジスタ192をオフにする。さらに、アレイ制御回路8が、遅延プリチャージ制御信号MLPRE_N_dlyを「H」レベルに非活性化し、PチャネルMOSトランジスタ191をオフにする。
【0099】
検索結果が一致(Hit)の場合には、マッチ線MLの電位は「H」レベル(VDD)を維持するが、検索結果が不一致(Miss)の場合には、マッチ線MLの電位は「L」レベル(VSS)に引き抜かれる。図17では、検索結果が不一致(Miss)の場合を示している。
【0100】
図17に示すように、マッチ線MLを流れる電流量iMLの変化di/dtは、ローカルな電源線MLVDDを用いているため、従来のようなマッチ線MLを直接プリチャージする場合に比べて、小さいという特徴がある。これによって急激な電流変化di/dtによるノイズを大幅に削減できる。
【0101】
(CAMのレイアウト)
図18は、CAMアレイマットのトランジスタ層と配線層のレイアウト図である。PチャネルMOSトランジスタP1とNチャネルMOSトランジスタN1は、インバータIV1を構成する。容量素子C1およびC5は、NチャネルMOSトランジスタで構成されるため、トランジスタ層に配置されている。
【0102】
図19は、CAMアレイマットの第3層金属層、第4層金属層およびトンネル磁気抵抗素子TMRのレイアウト図である。図20は、図18および図19のXIX−XIX断面図である。図19において、LVは、ローカルビアを表わし、LSはストラップ配線を示す。
【0103】
図20に示すように、半導体基板のP型ウェルPWの表面にゲート電極G1、G2,G3が所定のピッチで形成される。
【0104】
ゲート電極G1は、NチャネルMOSトランジスタN2のゲート電極である。ゲート電極G1には、端子/SNが接続される。ゲート電極G1の両側にN型不純物が拡散されてNチャネルMOSトランジスタN2のソースS1およびドレインD1が形成される。ドレインD1は、スルーホールTHおよび電極ELを介して第3層金属配線M2のマッチ線MLに接続される。ソースS1は、VSS(グランド)に接続される。
【0105】
ゲート電極G3は、NチャネルMOSトランジスタN4のゲート電極である。ゲート電極G3には、読出用ワード線RWLが接続される。ゲート電極G3の両側にN型不純物が拡散されてNチャネルMOSトランジスタN4のソースS2およびドレインD2が形成される。ソースS2は、VSS(グランド)に接続される。ドレインD2は、スルーホールTHおよび電極ELを介して端子SNに接続される。この端子SNは、電極ELを介してトンネル磁気抵抗素子TMRに接続される。トンネル磁気抵抗素子TMRはスルーホールTHを介してサーチ線/SLに接続される。ドレインD1は、VSS(グランド)に接続される。
【0106】
ゲート電極G2は、容量素子C5を構成するNチャネルMOSトランジスタのゲート電極である。ゲート電極は、端子SNと接続される。ゲート電極G3の両側にN型不純物が拡散されてこのNチャネルMOSトランジスタのソースおよびドレインが形成される。このソースは、NチャネルMOSトランジスタN2のソースS1と共有される。このドレインは、NチャネルMOSトランジスタN4のソースS2と共有される。
【0107】
(TCAMのレイアウト)
図21は、TCAMアレイマットのトランジスタ層と配線層のレイアウト図である。
【0108】
図22は、TCAMアレイマットの第3層金属層、第4層金属層およびトンネル磁気抵抗素子TMRのレイアウト図である。
【0109】
図21および図22を参照して、TAM基本セルのレイアウトの単位100,200は、2個のCAM基本セルのレイアウトの単位12,220で構成される。
【0110】
[第2の実施形態]
(CAM基本セル)
図23は、第2の実施形態のCAM基本セルの回路構成を表わす図である。
【0111】
図23のCAM基本セル112が、図1に示す第1の実施形態のCAMの基本セル12と相違する点は、図23のCAM基本セル112が、NチャネルMOSトランジスタN20を備える点である。
【0112】
インバータIV1の出力が、NチャネルMOSトランジスタN2のゲートとNチャネルMOSトランジスタN20のゲートに接続される。
【0113】
NチャネルMOSトランジスタN20は、第1マッチ線MLoと第1電源ノードVSSoに接続される。一方、NチャネルMOSトランジスタN2は、第2マッチ線MLeと第2電源ノードVSSeに接続される。
【0114】
アレイ制御回路8は、一定の幅を有する「L」レベルのパルスを交互に第1電源ノードVSSoの電位と第2電源ノードVSSeに与える。これらのパルスの周期は、クロックCLKの2倍の周期である。
【0115】
(TCAMの基本セル)
図24は、第2の実施形態のTCAM基本セルの回路構成を表わす図である。
【0116】
図24のTCAM基本セル110が、図6に示す第1の実施形態のTCAM基本セル10と相違する点は、図24のTCAM基本セル110が、NチャネルMOSトランジスタN20を備える点である。
【0117】
インバータIV1の出力が、NチャネルMOSトランジスタN2のゲートとNチャネルMOSトランジスタN20のゲートに接続される。
【0118】
NチャネルMOSトランジスタN20は、第1マッチ線MLoと第1電源ノードVSSoに接続される。一方、NチャネルMOSトランジスタN2は、第2マッチ線MLeと第2電源ノードVSSeに接続される。
【0119】
CAM基本セルの場合と同様に、アレイ制御回路8は、一定の幅を有する「L」レベルのパルスを交互に第1電源ノードVSSoの電位と第2電源ノードVSSeに与える。これらのパルスの周期は、クロックCLKの2倍の周期である。
【0120】
(マッチアンプ)
図25は、第2の実施形態のマッチアンプ(判定回路)とMLプリチャージ回路の構成を表わす図である。
【0121】
図25を参照して、このMLプリチャージ回路96は、PチャネルMOSトランジスタ55とPチャネルMOSトランジスタ56とを備える。
【0122】
PチャネルMOSトランジスタ55は、VDD電源と、第2マッチ線MLeとの間に設けられる。PチャネルMOSトランジスタ55のゲートは、プリチャージ制御信号MLPRE_Neを受ける。PチャネルMOSトランジスタ56は、VDD電源と、第1マッチ線MLoとの間に設けられる。PチャネルMOSトランジスタ56のゲートは、プリチャージ制御信号MLPRE_Noを受ける。
【0123】
マッチアンプ85は、インバータ53と、インバータ54と、マルチプレクサ52と、ラッチ回路51とを備える。
【0124】
インバータ53は、第2マッチ線MLeに接続され、第2マッチ線MLeの電圧を反転したエントリ検索第2判定信号maoeをマルチプレクサ52に出力する。
【0125】
インバータ54は、第1マッチ線MLoに接続され、第1マッチ線MLoの電圧を反転したエントリ検索第1判定信号maooをマルチプレクサ52に出力する。
【0126】
マルチプレクサ52は、エントリ検索第2判定信号maoeとエントリ検索第1判定信号maooとを受けて、クロックCLKの立ち上がりのタイミングで、出力する信号としてエントリ検索第2判定信号maoeとエントリ検索第1判定信号maooを交互に切替える。
【0127】
ラッチ回路51は、マルチプレクサ52の出力をラッチして、エントリ検索判定信号maoを出力する。
【0128】
(動作波形)
図26は、マッチアンプの動作を説明するため動作波形図である。
【0129】
図26では、サーチ線SLに常に、ワンショットパルスが与えられ、第1マッチ線MLoおよび第2マッチ線MLeのいずれもMiss(Lレベル)が設定される場合を示している。
【0130】
図26を参照して、アレイ制御回路8は、外部から「1.65ns」の周期のクロックCLKを受ける。
【0131】
アレイ制御回路8は、周期が「3.3ns」の一定の幅を有する「L」レベルのパルスを第1電源ノードVSSoの電位と第2電源ノードVSSeに与える。第2電源ノードVSSeに与えるパルスは、第1電源ノードVSSoに与えるパルスよりも「1.65ns」だけ遅れている。
【0132】
第1電源ノードVSSoの電位が「L」レベルになったことに応じて、第1マッチ線MLoのレベルが変化する。また、第2電源ノードVSSeの電位が「L」レベルになったことに応じて、第2マッチ線MLeのレベルが変化する。
【0133】
マッチアンプ85は、第1マッチ線MLoおよび第2マッチ線MLeの電圧を増幅し、第1マッチ線MLoおよび第2マッチ線MLeの電圧を交互に選択して、エントリ検索判定信号maoとして出力する。
【0134】
これにより、サーチ動作周波数は、従来の300MHzの2倍の600MHzとなり、アンプ(インバータ53、54)の高速動作が困難であるために、サーチ動作周波数を増加することができなかった問題を解決することができる。
【0135】
[第3の実施形態]
(TCAM基本セル)
図27は、第3の実施形態のTCAM基本セルの回路構成を表わす図である。
【0136】
図27のTCAM基本セルが、図6に示す第1の実施形態のTCAM基本セル10と相違する点は、図27のTCAM基本セル151は、電源線MLVDDに接続される容量素子C1の代りに、電源線SLVDDに接続される容量素子C2および電源線SLVDDNに接続される容量素子C2を備える点である。
【0137】
この容量素子C2を構成するNチャネルMOSトランジスタは、ゲートが電源線SLVDDもしくは電源線SLVDDNに接続され、ソースとドレインがグランドに接続されている。
【0138】
(構成)
図28は、第3の実施形態のTCAM基本セルを有する連想記憶装置の構成を表わす図である。
【0139】
図28の連想記憶装置が、図9に示す第1の実施形態の連想記憶装置と相違するのは、
MLプリチャージ回路96とTCAMアレイマット102が相違する点と、SLプリチャージ回路92を備える点である。
【0140】
TCAMアレイマット102には、電源線MLVDDが配置されるのではなく、電源線SLVDDおよびSLVDDNが配置される。
【0141】
MLプリチャージ回路96の構成は、図16において、電源線MLVDDに接続されるPチャネルMOSトランジスタ191を含まない構成である。
【0142】
図29は、図28の連想記憶装置のTCAMアレイマットの構成を表わす図である。図30は、図29のTCAMアレイマットの1エントリ(第0番目のエントリ)の構成を表わす図である。
【0143】
図29および図30を参照して、TCAMアレイマットは、第0〜第255の256個のエントリからなる。TCAMアレイマットの1エントリは、第0〜第79の80個の列に配置された80ビット(80個)のTCAM基本セルからなる。
【0144】
第iエントリのTCAM基本セルは、マッチ線ML<i>と接続されるとともに、第j列のTCAM基本セルは、サーチ線SL<j>,/SL<j>と、電源線SLVDD<j>,SLVDDN<j>と接続される。
【0145】
(SLプリチャージ回路)
図31は、SLプリチャージ回路の構成を表わす図である。
【0146】
図31を参照して、このSLプリチャージ回路92は、各サーチ線ごとに設けられる。
SLプリチャージ回路02は、電源VDDと内部ノードND3との間に設けられたPチャネルMOSトランジスタ193と、内部ノードND3とグランドとの間に設けられた、PチャネルMOSトランジスタ194とNチャネルMOSトランジスタ195とからなるインバータIV99とを含む。
【0147】
PチャネルMOSトランジスタ193のゲートは、遅延サーチ制御信号SLE_N_dlyを受ける。インバータIV99は、サーチ制御信号SLE_Nを受ける。遅延サーチ制御信号SLE_N_dlyは、サーチ制御信号SLE_Nを一定時間だけ遅らせた信号である。
【0148】
ノードND1は、電源線SLVDDに接続される。電源線SLVDDは、1つのサーチ線SLに接続されるTCAM基本セルに含まれる容量素子C2と接続される。1つのサーチ線SLに接続されるTCAM基本セルの容量素子C2の合計値をCSとする。
【0149】
インバータIV99の出力は、サーチ線SLに接続される。サーチ線SLの寄生容量をCDとする。
【0150】
(サーチ線SLのプリチャージ時の動作波形)
図32は、サーチ線SLのプリチャージ時の動作波形図である。
【0151】
図32を参照して、最初に、電源線SLVDDの電位は、VDDにプリチャージされており、基本セル内の容量素子C2に電荷が蓄積されている。
【0152】
アレイ制御回路8が、サーチ制御信号SLE_Nを「L」レベルに活性化すると、PチャネルMOSトランジスタ194がオンになり、NチャネルMOSトランジスタ195がオフになる。これによって、容量素子C2の電荷が出力されるので、電源線SLVDDの電位はVDDから減少し、サーチ線SLの電位は上昇する。サーチ線SLの寄生容量をCDに対して、1列に含まれるすべての容量素子C2の容量の合計値CSが10倍の場合には、サーチ制御信号SLE_Nを活性化することによって、サーチ線SLの電位を88%VDDまでチャージすることができる。
【0153】
次に、アレイ制御回路8が、遅延サーチ制御信号SLE_N_dlyを「L」レベルに活性化すると、PチャネルMOSトランジスタ193がオンする。これによって、サーチ線SLと電源線SLVDDの電位がVDDまで上昇する。
【0154】
その後、アレイ制御回路8が、サーチ制御信号SLE_Nを「H」レベルに非活性化して、PチャネルMOSトランジスタ194をオフにし、NチャネルMOSトランジスタ195がオンにする。これによって、サーチ線SLの電位は「L」レベル(VSS)に引き抜かれる。さらに、さらに、アレイ制御回路8が、遅延サーチ制御信号SLE_N_dlyを「H」レベルに非活性化し、PチャネルMOSトランジスタ193をオフにする。PチャネルMOSトランジスタ194がオンの間は、電源線SLVDDの電位は「H」レベル(VDD)を維持する。
【0155】
図32に示すように、サーチ線SLを流れる電流量iSLの変化di/dtは、従来のように、電源線SLVDDを用いずに、サーチ線SLを直接プリチャージする場合に比べて、小さいという特徴がある。これによって急激な電流変化di/dtによるノイズを大幅に削減できる。また、従来のように、di/dtによる電源ノイズを低減するために基板上に大容量のバイパスコンデンサを設置する必要がなく、基板実装面積を小さくすることができる。
【0156】
[第4の実施形態]
(TCAM基本セル)
図33は、第4の実施形態のTCAM基本セルの回路構成を表わす図である。
【0157】
図33のTCAM基本セル310が、図6に示す第1の実施形態のTCAM基本セル10と相違する点は、図33のTCAM基本セル310では、トンネル磁気抵抗素子TMRX,TMRYの他端(NチャネルMOSトランジスタN4および容量素子C4と接続されている端子)がインバータIV1を介さずに、直接NチャネルMOSトランジスタN2のゲートに接続されている点である。
【0158】
このTCAM基本セル310は、図6に示す第1の実施形態のTCAM基本セル10と概ね同様に動作する。
【0159】
(全体動作)
図34は、図33のTCAM基本セルを有する連想記憶装置における検索時の動作波形図である。
【0160】
図34の動作波形が、図12の第1の実施形態の動作波形と相違する点は、図34では、検索データが「0」の場合に、サーチ線SLに「H」レベルのワンショットパルスが与えられ、検索データが「1」の場合に、サーチ線/SLに「H」レベルのワンショットパルスが与えられる点である。
【0161】
また、図34では、端子/SNX,/SNYの電圧ではなく、端子SNX,SNYの電圧によって、マッチ線MLの電圧が決定される。端子SNX,SNYが、マッチ線MLとグランドの間に設けられたNチャネルMOSトランジスタN2のゲートに接続されているからである。
【0162】
端子SNX,SNYの電圧は、インバータIV1を経由した第1の実施の形態の端子/SNX,/SNYの電圧に比べて、電源電圧VDDを維持する期間は短いが、NチャネルMOSトランジスタN2の閾値を適切に設定することによって、端子SNX,SNYの電圧の大きさによって、マッチ線MLの電圧を変化させることができる。
【0163】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0164】
1 BLドライバ、2,102 TCAMアレイマット、3 SLドライバ、5,85 マッチアンプ、6 プライオリティエンコーダ、7 ロウデコーダ、8 アレイ制御回路、9 リードセンスアンプ、10,12,110,151,310 基本セル、11 DLドライバ、14,114 エントリ、51 ラッチ回路、52 マルチプレクサ、92 SLプリチャージ回路、95,96 MLプリチャージ回路、55,56,191,192,193,194,195 PチャネルMOSトランジスタ、ML,MLo,MLe マッチ線、RWL,RWLX,RWLY 読出用ワード線、DL ディジット線、SL(/BL),/SL(BL) サーチ線、MLVDD,SLVDD,SLVDDN 電源線、C1,C2,C5 容量素子、N2,N4,N20 NチャネルMOSトランジスタ、IV1,53,54 インバータ、SN,/SN,SNX,/SNX,SNY,/SNY 端子、TMR,TMRX,TMRY トンネル磁気抵抗素子、MCX,MCY メモリセル、VSSo,VSSe 電源ノード。
【特許請求の範囲】
【請求項1】
記憶データと検索データとの一致または不一致の検出が可能な連想記憶装置であって、
行列状に配置された複数の連想メモリセルを含むメモリアレイと、
各々が、前記メモリアレイ内の対応のエントリに属する複数の連想メモリセルが接続される複数のマッチ線と、
各々が、前記マッチ線の電圧に応じて、前記メモリアレイのエントリ内の連想メモリに記憶されたデータと検索データとの一致または不一致を表わす検索判定信号を出力する複数の判定回路と、
各々が、データ検索時に、前記メモリアレイ内の列に属する複数の連想メモリに検索データの値に応じた電圧を供給する複数のサーチ線と、
各々が、前記メモリアレイ内の対応のエントリに属する複数の連想メモリセルが接続される複数のワード線と、
前記検索データが所定の値のときに、所定の幅のワンショットパルスを前記サーチ線に出力する第1のドライバを備え、
前記連想メモリセルは、
一端が前記サーチ線に接続されるトンネル磁気抵抗素子と、
前記トンネル磁気抵抗素子の他端に接続される容量素子と、
前記トンネル磁気抵抗素子の前記他端と接地電源との間に設けられ、制御電極が前記ワード線と接続される第1のMOSトランジスタと、
前記マッチ線と前記接地電源との間に設けられ、制御電極が前記トンネル磁気抵抗素子の前記他端に生じた電圧を受ける第2のMOSトランジスタとを含む、連想記憶装置。
【請求項2】
前記連想記憶装置は、さらに、
各々が、前記メモリアレイ内の対応のエントリに属する複数の連想メモリセルに対して磁化電流を供給するディジット線と、
データ書込み時に、前記ディジット線に前記磁化電流を供給する第2のドライバと、
データ書込み時に、前記サーチ線に書込みデータの値に応じた向きの書込電流を供給する第3のドライバとを備えた、請求項1記載の連想記憶装置。
【請求項3】
前記連想メモリセルは、さらに、
入力端子が前記トンネル磁気抵抗素子の他端に接続され、出力端子が前記第2のMOSトランジスタの制御電極に接続されるインバータを含む、請求項1記載の連想記憶装置。
【請求項4】
前記連想記憶装置は、さらに、
各々が、前記複数のマッチ線の1つに対応して設けられる複数の補助配線を備え、
前記連想メモリセルは、さらに、
前記補助配線に接続される容量素子を含み、
各々が、最初に前記補助配線を正の電源電圧にプリチャージして、前記補助配線に接続される複数の容量素子に電荷を蓄積させ、その後、前記容量素子に蓄積された電荷を前記マッチ線に出力させ、その後、前記マッチ線と前記補助配線とを前記正の電源電圧にプリチャージする複数のプリチャージ回路とを備えた、請求項1記載の連想記憶装置。
【請求項5】
前記プリチャージ回路は、
前記正の電源電圧の電源と第1の内部ノードとの間に設けられ、制御電極に第1の制御信号を受ける第1のプリチャージ用MOSトランジスタと、
前記第1の内部ノードと第2の内部ノードとの間に設けられ、制御電極に第2の制御信号を受ける第2のプリチャージ用MOSトランジスタとを含み、
前記第1の内部ノードは、前記補助配線に接続され、前記第2の内部ノードは、前記マッチ線に接続され、
前記連想記憶装置は、さらに、
前記第2の制御信号を所定の時間間隔で活性化し、前記第2の制御信号の活性化後所定時間後に前記第1の制御信号を活性化させる制御回路を備える、請求項4記載の連想記憶装置。
【請求項6】
前記容量素子は、ソースとドレインが前記接地電源に接続されたMOSトランジスタで構成される、請求項4記載の連想記憶装置。
【請求項7】
前記連想記憶装置は、さらに、
各々が、前記複数のサーチ線の1つに対応して設けられる複数の補助配線を備え、
前記連想メモリセルは、さらに、
前記補助配線に接続される容量素子を含み、
各々が、最初に前記補助配線を正の電源電圧にプリチャージして、前記補助配線に接続される複数の容量素子に電荷を蓄積させ、その後、前記容量素子に蓄積された電荷を前記サーチ線に出力させ、その後、前記サーチ線と前記補助配線とを前記正の電源電圧にプリチャージする複数のプリチャージ回路を備えた、請求項1記載の連想記憶装置。
【請求項8】
前記第1のドライバは、
前記正の電源電圧の電源と第1の内部ノードとの間に設けられ、制御電極に第1の制御信号を受けるプリチャージ用MOSトランジスタと、
前記第1の内部ノードと接地電源との間に設けられ、入力に第2の制御信号を受け、出力が前記サーチ線に接続されるインバータとを含み、
前記第1の内部ノードは、前記補助配線に接続され、
前記連想記憶装置は、さらに、
前記第2の制御信号を所定の時間間隔で活性化し、前記第2の制御信号の活性化後所定時間後に前記第1の制御信号を活性化させる制御回路を備える、請求項7記載の連想記憶装置。
【請求項9】
前記容量素子は、ソースとドレインが前記接地電源に接続されたMOSトランジスタで構成される、請求項6記載の連想記憶装置。
【請求項10】
記憶データと検索データとの一致または不一致の検出が可能な連想記憶装置であって、
行列状に配置された複数の連想メモリセルを含むメモリアレイと、
各々が、前記メモリアレイ内の対応のエントリに属する複数の連想メモリセルが接続される複数の第1および第2のマッチ線と、
各々が、前記第1のマッチ線の電圧または前記第2のマッチ線の電圧に応じて、前記メモリアレイのエントリ内の連想メモリに記憶されたデータと検索データとの一致または不一致を表わす検索判定信号を出力する複数の判定回路と、
各々が、データ検索時に、前記メモリアレイ内の列に属する複数の連想メモリに検索データの値に応じた電圧を供給する複数のサーチ線と、
各々が、前記メモリアレイ内の対応のエントリに属する複数の連想メモリセルが接続される複数のワード線と、
前記検索データが所定の値のときに、所定の幅のワンショットパルスを前記サーチ線に出力する第1のドライバを備え、
前記連想メモリセルは、
一端が前記サーチ線に接続されるトンネル磁気抵抗素子と、
前記トンネル磁気抵抗素子の他端に接続される容量素子と、
前記トンネル磁気抵抗素子の前記他端と接地電源との間に設けられ、制御電極が前記ワード線と接続される第1のMOSトランジスタと、
前記第1のマッチ線と第1の電源ノードとの間に設けられ、制御電極が前記トンネル磁気抵抗素子の前記他端に生じた電圧を受ける第2のMOSトランジスタとを含み、
前記第2のマッチ線と第2の電源ノードとの間に設けられ、制御電極が前記トンネル磁気抵抗素子の前記他端に生じた電圧を受ける第3のMOSトランジスタとを含み、
前記判定回路は、前記第1の電源ノードと前記第2の電源ノードの電圧を交互に接地電圧とし、前記第1のマッチ線の電圧と前記第2のマッチ線の電圧を増幅し、増幅後の前記第1のマッチ線の電圧と前記第2のマッチ線の電圧を交互に選択して前記検索判定信号として出力する、連想記憶装置。
【請求項1】
記憶データと検索データとの一致または不一致の検出が可能な連想記憶装置であって、
行列状に配置された複数の連想メモリセルを含むメモリアレイと、
各々が、前記メモリアレイ内の対応のエントリに属する複数の連想メモリセルが接続される複数のマッチ線と、
各々が、前記マッチ線の電圧に応じて、前記メモリアレイのエントリ内の連想メモリに記憶されたデータと検索データとの一致または不一致を表わす検索判定信号を出力する複数の判定回路と、
各々が、データ検索時に、前記メモリアレイ内の列に属する複数の連想メモリに検索データの値に応じた電圧を供給する複数のサーチ線と、
各々が、前記メモリアレイ内の対応のエントリに属する複数の連想メモリセルが接続される複数のワード線と、
前記検索データが所定の値のときに、所定の幅のワンショットパルスを前記サーチ線に出力する第1のドライバを備え、
前記連想メモリセルは、
一端が前記サーチ線に接続されるトンネル磁気抵抗素子と、
前記トンネル磁気抵抗素子の他端に接続される容量素子と、
前記トンネル磁気抵抗素子の前記他端と接地電源との間に設けられ、制御電極が前記ワード線と接続される第1のMOSトランジスタと、
前記マッチ線と前記接地電源との間に設けられ、制御電極が前記トンネル磁気抵抗素子の前記他端に生じた電圧を受ける第2のMOSトランジスタとを含む、連想記憶装置。
【請求項2】
前記連想記憶装置は、さらに、
各々が、前記メモリアレイ内の対応のエントリに属する複数の連想メモリセルに対して磁化電流を供給するディジット線と、
データ書込み時に、前記ディジット線に前記磁化電流を供給する第2のドライバと、
データ書込み時に、前記サーチ線に書込みデータの値に応じた向きの書込電流を供給する第3のドライバとを備えた、請求項1記載の連想記憶装置。
【請求項3】
前記連想メモリセルは、さらに、
入力端子が前記トンネル磁気抵抗素子の他端に接続され、出力端子が前記第2のMOSトランジスタの制御電極に接続されるインバータを含む、請求項1記載の連想記憶装置。
【請求項4】
前記連想記憶装置は、さらに、
各々が、前記複数のマッチ線の1つに対応して設けられる複数の補助配線を備え、
前記連想メモリセルは、さらに、
前記補助配線に接続される容量素子を含み、
各々が、最初に前記補助配線を正の電源電圧にプリチャージして、前記補助配線に接続される複数の容量素子に電荷を蓄積させ、その後、前記容量素子に蓄積された電荷を前記マッチ線に出力させ、その後、前記マッチ線と前記補助配線とを前記正の電源電圧にプリチャージする複数のプリチャージ回路とを備えた、請求項1記載の連想記憶装置。
【請求項5】
前記プリチャージ回路は、
前記正の電源電圧の電源と第1の内部ノードとの間に設けられ、制御電極に第1の制御信号を受ける第1のプリチャージ用MOSトランジスタと、
前記第1の内部ノードと第2の内部ノードとの間に設けられ、制御電極に第2の制御信号を受ける第2のプリチャージ用MOSトランジスタとを含み、
前記第1の内部ノードは、前記補助配線に接続され、前記第2の内部ノードは、前記マッチ線に接続され、
前記連想記憶装置は、さらに、
前記第2の制御信号を所定の時間間隔で活性化し、前記第2の制御信号の活性化後所定時間後に前記第1の制御信号を活性化させる制御回路を備える、請求項4記載の連想記憶装置。
【請求項6】
前記容量素子は、ソースとドレインが前記接地電源に接続されたMOSトランジスタで構成される、請求項4記載の連想記憶装置。
【請求項7】
前記連想記憶装置は、さらに、
各々が、前記複数のサーチ線の1つに対応して設けられる複数の補助配線を備え、
前記連想メモリセルは、さらに、
前記補助配線に接続される容量素子を含み、
各々が、最初に前記補助配線を正の電源電圧にプリチャージして、前記補助配線に接続される複数の容量素子に電荷を蓄積させ、その後、前記容量素子に蓄積された電荷を前記サーチ線に出力させ、その後、前記サーチ線と前記補助配線とを前記正の電源電圧にプリチャージする複数のプリチャージ回路を備えた、請求項1記載の連想記憶装置。
【請求項8】
前記第1のドライバは、
前記正の電源電圧の電源と第1の内部ノードとの間に設けられ、制御電極に第1の制御信号を受けるプリチャージ用MOSトランジスタと、
前記第1の内部ノードと接地電源との間に設けられ、入力に第2の制御信号を受け、出力が前記サーチ線に接続されるインバータとを含み、
前記第1の内部ノードは、前記補助配線に接続され、
前記連想記憶装置は、さらに、
前記第2の制御信号を所定の時間間隔で活性化し、前記第2の制御信号の活性化後所定時間後に前記第1の制御信号を活性化させる制御回路を備える、請求項7記載の連想記憶装置。
【請求項9】
前記容量素子は、ソースとドレインが前記接地電源に接続されたMOSトランジスタで構成される、請求項6記載の連想記憶装置。
【請求項10】
記憶データと検索データとの一致または不一致の検出が可能な連想記憶装置であって、
行列状に配置された複数の連想メモリセルを含むメモリアレイと、
各々が、前記メモリアレイ内の対応のエントリに属する複数の連想メモリセルが接続される複数の第1および第2のマッチ線と、
各々が、前記第1のマッチ線の電圧または前記第2のマッチ線の電圧に応じて、前記メモリアレイのエントリ内の連想メモリに記憶されたデータと検索データとの一致または不一致を表わす検索判定信号を出力する複数の判定回路と、
各々が、データ検索時に、前記メモリアレイ内の列に属する複数の連想メモリに検索データの値に応じた電圧を供給する複数のサーチ線と、
各々が、前記メモリアレイ内の対応のエントリに属する複数の連想メモリセルが接続される複数のワード線と、
前記検索データが所定の値のときに、所定の幅のワンショットパルスを前記サーチ線に出力する第1のドライバを備え、
前記連想メモリセルは、
一端が前記サーチ線に接続されるトンネル磁気抵抗素子と、
前記トンネル磁気抵抗素子の他端に接続される容量素子と、
前記トンネル磁気抵抗素子の前記他端と接地電源との間に設けられ、制御電極が前記ワード線と接続される第1のMOSトランジスタと、
前記第1のマッチ線と第1の電源ノードとの間に設けられ、制御電極が前記トンネル磁気抵抗素子の前記他端に生じた電圧を受ける第2のMOSトランジスタとを含み、
前記第2のマッチ線と第2の電源ノードとの間に設けられ、制御電極が前記トンネル磁気抵抗素子の前記他端に生じた電圧を受ける第3のMOSトランジスタとを含み、
前記判定回路は、前記第1の電源ノードと前記第2の電源ノードの電圧を交互に接地電圧とし、前記第1のマッチ線の電圧と前記第2のマッチ線の電圧を増幅し、増幅後の前記第1のマッチ線の電圧と前記第2のマッチ線の電圧を交互に選択して前記検索判定信号として出力する、連想記憶装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【公開番号】特開2012−89205(P2012−89205A)
【公開日】平成24年5月10日(2012.5.10)
【国際特許分類】
【出願番号】特願2010−235522(P2010−235522)
【出願日】平成22年10月20日(2010.10.20)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【公開日】平成24年5月10日(2012.5.10)
【国際特許分類】
【出願日】平成22年10月20日(2010.10.20)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
[ Back to top ]