(57)【要約】【課題】  ＣＡＭを含む半導体装置の高速化、または消費電力の低減を実現する。【解決手段】  複数のバンクＢＫ１，ＢＫ２に分割したメモリアレイに異なる位相の制御クロックを分配して、異なる位相でエントリおよび検索キーの処理（読み書き動作、検索動作）を行う。バンク化されたメモリアレイは、さらに小さく分割された複数のサブアレイＳＡＲＹＵ，ＳＡＲＹＬで構成され、二つのサブアレイＳＡＲＹＵ，ＳＡＲＹＬで読み書き検索回路群ＲＷＳＢＫ内のセンスアンプを共有する。この際に、双方のサブアレイＳＡＲＹＵ，ＳＡＲＹＬからビット線を一本ずつセンスアンプに接続した所謂開放ビット線構成とする。複数のバンクＢＫ１，ＢＫ２に同一の検索テーブルを登録し、連続して入力される検索キーを複数のバンクＢＫ１，ＢＫ２に順繰りに入力して、異なる位相の制御クロックに同期させて検索動作を行う。【選択図】  図１
2006228325.tif 000002
【特許請求の範囲】
【請求項１】
第一のバンクと、第二のバンクと、前記第一のバンクと前記第二のバンクに接続されたバスとを有する半導体装置であって、
前記第一および前記第二のバンクのそれぞれは、第一のＣＡＭアレイと、第二のＣＡＭアレイと、前記第一のＣＡＭアレイと前記第二のＣＡＭアレイの間に配置されたセンスアンプ群、読み出し回路群、書き込み回路群、およびサーチ線駆動回路群とを有し、
前記第一および前記第二のＣＡＭアレイは、複数のビット線と、前記複数のビット線にそれぞれ平行に配置された複数のサーチ線と、前記複数のビット線に直交する複数のワード線と、前記複数のビット線と前記複数のワード線との交点にそれぞれ配置された複数のＣＡＭセルとを有し、
前記センスアンプ群は、前記第一または前記第二のＣＡＭアレイに含まれる複数のビット線の本数と同じ数だけの複数のセンスアンプを有し、
前記読み出し回路群は、前記第一または前記第二のＣＡＭアレイに含まれる複数のビット線の本数と同じ数だけの複数の読み出し回路を有し、
前記書き込み回路群は、前記第一または前記第二のＣＡＭアレイに含まれる複数のビット線の本数と同じ数だけの複数の書き込み回路を有し、
前記サーチ線駆動回路群は、前記第一または前記第二のＣＡＭアレイに含まれる複数のサーチ線の本数と同じ数だけの複数のサーチ線駆動回路を有し、
前記複数のセンスアンプのそれぞれは、前記第一のＣＡＭアレイに含まれる前記複数のビット線の中の一本のビット線と前記第二のＣＡＭアレイに含まれる前記複数のビット線の中の一本のビット線とに接続され、
前記複数のセンスアンプのそれぞれに接続された対となる前記ビット線は、前記複数の読み出し回路のいずれか一つおよび前記複数の書き込み回路のいずれか一つを介して前記バスに接続され、
前記複数のサーチ線は、前記複数のサーチ線駆動回路を介して前記バスに接続されることを特徴とする半導体装置。
【請求項２】
請求項１記載の半導体装置において、
前記第一のバンクは、第一のクロックに同期して活性化され、
前記第二のバンクは、第二のクロックに同期して活性化され、
前記第一のクロックと前記第二のクロックの位相は互いに異なり、
前記第一のバンクと前記第二のバンクは、異なる位相で検索動作を行うことを特徴とする半導体装置。
【請求項３】
請求項２記載の半導体装置において、
前記バスは、符号化回路と復号回路に接続され、
前記符号化回路は、第一のマッピングに基づく３値情報または第二のマッピングに基づく４値情報を符号化情報に変換して前記バスに出力し、
前記復号回路は、前記第一および前記第二のバンクから読み出され前記バスを介して入力された符号化情報を、第一のマッピングに基づく３値情報または第二のマッピングに基づく４値情報に変換することを特徴とする半導体装置。
【請求項４】
複数のビット線と、
前記複数のビット線にそれぞれ対応して設けられ、前記複数のビット線と平行に配置された複数のサーチ線と、
前記複数のビット線に交差する複数のワード線と、
前記複数のビット線と前記複数のワード線との交点に配置された複数のメモリセルと、
前記複数のワード線にそれぞれ対応して設けられ、前記複数のワード線と平行に配置された複数のメインマッチ線と、
前記複数のメインマッチ線のそれぞれに対応して複数設けられ、前記複数のメインマッチ線と平行に配置され、それぞれが前記複数のメモリセルの中の所定の数のメモリセルに接続された複数のサブマッチ線と、
前記複数のサブマッチ線と前記複数のサブマッチ線に対応するいずれかのメインマッチ線との間にそれぞれ接続された複数のサブマッチ判定回路と、
前記複数のメインマッチ線にそれぞれ接続され、それぞれセンスアンプを含む複数のメインマッチ判定回路とを備え、
前記複数のサーチ線を介して入力された情報と前記複数のメモリセルに保持された情報との比較を行い、前記比較した結果を前記複数のメインマッチ判定回路内のセンスアンプで増幅する半導体装置であって、
前記複数のメインマッチ判定回路は、検索動作に際し、まず、前記複数のメインマッチ線を前記複数のセンスアンプの論理しきい値より高い電圧に充電し、前記充電を停止後、前記複数のメインマッチ線の電荷が、前記複数のダミー・サブマッチ判定回路によって放電されることで前記複数のセンスアンプの論理しきい値より低い電圧になった段階で前記複数のセンスアンプを起動することを特徴とする半導体装置。
【請求項５】
請求項４記載の半導体装置において、さらに、
前記複数のワード線と平行に配置されたダミー・メインマッチ線と、
前記ダミー・メインマッチ線に対応して複数設けられ、前記ダミー・メインマッチ線と平行に配置された複数のダミー・サブマッチ線と、
前記複数のダミー・サブマッチ線と前記ダミー・メインマッチ線との間にそれぞれ接続された複数のダミー・サブマッチ判定回路と、
前記ダミー・メインマッチ線に接続されたダミー・メインマッチ判定回路とを有し、
前記複数のダミー・サブマッチ判定回路は前記複数のサブマッチ判定回路と同じ構成であり、
前記ダミー・メインマッチ判定回路は前記複数のメインマッチ判定回路と同じ構成のセンスアンプを有し、
前記ダミー・メインマッチ判定回路と前記複数のメインマッチ判定回路がセンスアンプ・イネーブル信号線で接続され、
前記ダミー・メインマッチ判定回路は、検索動作に際し、前記複数のメインマッチ判定回路と同じタイミングおよび駆動能力で前記ダミー・メインマッチ線を前記センスアンプの論理しきい値より高い電圧に充電し、前記充電を停止後、前記ダミー・メインマッチ線の電荷が、前記複数のダミー・サブマッチ判定回路内の所定のダミー・サブマッチ判定回路によって放電されることで前記センスアンプの論理しきい値より低い電圧になった段階で前記センスアンプの起動信号を発生することを特徴とする半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体装置に関し、特に、蓄積ノードに記憶された情報と入力された情報との比較を行うコンテント・アドレッサブル・メモリセル（ＣＡＭセル）を含む半導体装置において、装置内部で符号化した情報を記憶または比較するＣＡＭアレイを備えた半導体装置に適用して有効な技術に関するものである。
【背景技術】
【０００２】
インターネットの爆発的な普及に伴い、ネットワークにおけるルータやスイッチに要するテーブル規模が急増しており、テーブル検索の高速化が課題となっている。この課題をハードウェア的に解決する手段として、ターナリ・コンテント・アドレッサブル・メモリ（ＴＣＡＭ）が注目されている。
【０００３】
例えば、特許文献１には、‘０’／‘１’／‘Ｘ’（ｄｏｎ’ｔ  ｃａｒｅ）の３値を記憶するのに二つのダイナミック型記憶セルを用いたＴＣＡＭセルの構成が示されている。これによって、セルの占有面積を小さくして大容量化を可能にすると共に、検索動作の低消費電力化および高速化を可能にする。
【０００４】
また、例えば、非特許文献１には、ＴＣＡＭにおける容量不足と消費電力増大を解消するＣＡＭを実現するための、エントリあるいは検索キーの符号化方式とメモリアレイ構成が記載されている。本技術においては、Ｏｎｅ−ｈｏｔ−ｓｐｏｔブロック符号と呼ぶ符号化方式が用いられる。
【０００５】
ここで、ＴＣＡＭでは、ＤＲＡＭやＳＲＡＭで広く使われているワードに対応する言葉として、“エントリ”を用いるのが普通である。エントリは、各ワードに記憶された情報を指す言葉であるので、本明細書では慣例に従って記憶情報をエントリ、比較情報を検索キーと呼ぶことにする。
【特許文献１】特開２００３−２７２３８６号公報
【非特許文献１】「アイ・イー・イー・イー、２００４・シンポジウム・オン・ＶＬＳＩ・サーキッツ、ダイジェスト・オブ・テクニカル・ペーパーズ（ＩＥＥＥ  ２００４  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  ＶＬＳＩ  Ｃｉｒｃｕｉｔｓ，  Ｄｉｇｅｓｔ  ｏｆ  Ｔｅｃｈｎｉｃａｌ  Ｐａｐｅｒｓ）」、２００４年６月、ｐ．３８２−３８５
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本願発明者等は、本願に先立ち、Ｏｎｅ−ｈｏｔ−ｓｐｏｔブロック符号を用いたＣＡＭの高速化について検討した。なお、本願発明者等は、本願に先立ち、Ｏｎｅ−ｈｏｔ−ｓｐｏｔブロック符号を用いたＣＡＭに関連して、非公知の「特願２００３−４２９５０５号」（以降、参考文献１と称す）と非公知の「特願２００４−１６９３１４号」（以降、参考文献２と称す）とを出願している。本発明者は、これらの技術を含め、特に、メモリアレイの検索動作に要するサイクル時間を詳細に検討したところ、下記二つの問題等を見出した。
【０００７】
第一の問題は、ＣＡＭが主に適用されている通信分野では、回線速度が１０年で１０００倍の勢いで向上しているのに対して、半導体デバイスの性能向上が遅いために、ＣＡＭの心臓部であるメモリアレイの検索動作サイクル時間短縮の度合いが小さいと予測される点にある。ＣＡＭベンダーの中には、一つの検索キーに幾通りかのマスクをかけて、それぞれ別の検索テーブルで検索動作を行うことにより、単位時間当りの検索回数を向上する方式をウェブなどで公開している。しかし、回線速度を維持しながらパケット転送処理を行うには、複数のＣＡＭが必要となるため、実装コストが嵩む恐れがある。実装コストを抑制するには、ＣＡＭに順々に入力した検索キーを異なる位相で検索を行う並列処理が望ましい。
【０００８】
このような処理を実現するために、前述した特許文献１の図１１では、二分割されたターナリ・コンテント・アドレッサブル・メモリセル・アレイ（ＴＣＡＭセルアレイ）に同一の検索テーブルを記憶しておいて、これらに交互に検索キーを入力して検索動作を行う所謂インターリーブ方式が示されている。また、その詳細なメモリアレイ構成として、特許文献１の図１２では、ＴＣＡＭセルアレイ間でセンスアンプを共有し、各センスアンプに接続されたビット線対が同一のＴＣＡＭセルアレイに存在する、所謂折り返し型ビット線構成が示されている。そして、このビット線対に前述した二つのダイナミック型記憶セルが接続される。
【０００９】
しかしながら、折り返し型ビット線構成では、二つのダイナミック型記憶セルの記憶ノードに、論理値“００”や論理値“１１”の情報を正確に読み書きすることができない。また、ダイナミック型セルの場合、再書き込み（リフレッシュ）動作も正しく行うことが出来ない。誤動作を防ぐためには、ＴＣＡＭセルアレイ間で、所謂開放型ビット線構成のセンスアンプ配置とすることが望ましい。さらに、特許文献１では、サーチ線駆動回路はサーチ線対に相補の信号を発生する構成となっているために、検索キーの任意のビットにマスクをかけて該当ビットを強制的に一致とみなす検索動作を行うことができない。したがって、サーチ線駆動回路も新たな構成に置き換えるのが望ましい。
【００１０】
第二の問題は、検索動作のサイクル時間がマッチ線の充電時間で律側されている点にある。この問題を説明するため、非特許文献１や参考文献１で示されるメモリアレイ構成を示す。図２は、本発明の前提として検討したＣＡＭのメモリアレイ構成を示す回路ブロック図である。図３は、図２における各回路ブロックの詳細な構成を示す回路図である。
【００１１】
図２に示すメモリアレイは、マッチ線が、メインマッチ線ＭＭＬｍ（ｍ＝０，１，…）とサブマッチ線ＳＭＬｍｊ（ｍ＝０，１，…，ｊ＝０，１，…）からなる階層構造を形成する。メモリセルＤＭＣは、複数のワード線ＷＬｍ（ｍ＝０，１，…）と複数のビット線ＢＬｎｘ（ｎ＝０，１，…、ｘ＝０，１，２，３）との交点にそれぞれ配置される。複数のワード線の各々は、ワード・ドライバ群ＷＤＢにより駆動され、複数のビット線は、読み書き回路群ＲＷＢにより駆動される。
【００１２】
ビット線ＢＬｎｘ（ｎ＝０，１，…，ｘ＝０，１，２，３）には、対応する複数のサーチ線ＳＬｎｘ（ｎ＝０，１，…，ｘ＝０，１，２，３）がそれぞれ平行に配置される。複数のサーチ線の各々は、サーチ・ドライバ群ＳＤＢにより駆動される。また、ワード線ＷＬｍ（ｍ＝０，１，…）には、対応する複数のメインマッチ線ＭＭＬｍ（ｍ＝０，１，…）がそれぞれ平行に配置される。
【００１３】
さらに、複数のサブマッチ線ＳＭＬｍｊ（ｍ＝０，１，…、ｊ＝０，１，…）が、対応するメインマッチ線ＭＭＬｍ（ｍ＝０，１，…）にそれぞれ平行に配置され、対応するサブマッチ判定回路ＳＭＤｍｊ（ｍ＝０，１，…、ｊ＝０，１，…）を介してそれぞれ接続される。サブマッチ線には、例えばサブマッチ線ＳＭＬ００のように、四つのメモリセルＤＭＣｉ（ｉ＝０，１，２，３）がそれぞれ接続される。これら四つのメモリセルＤＭＣｉ（ｉ＝０，１，２，３）からなるグループを、参考文献１および非特許文献１ではメモリブロックＭＢｍｊ（ｍ＝０，１，…，ｊ＝０，１，…）とそれぞれ呼んでいる。
【００１４】
メモリセルＤＭＣの各々は、図３に示すように、３つのＮＭＯＳトランジスタＴ３１１，Ｔ３１２，Ｔ３１３とキャパシタＣで構成される。また、サブマッチ判定回路ＳＭＤは、対応するサブマッチ線ＳＭＬをプリチャージするためのＮＭＯＳトランジスタＴ３２１と、サブマッチ線ＳＭＬに発生された微小な信号の弁別するためのＮＭＯＳトランジスタＴ３２２で構成される。
【００１５】
さらに、図２のメインマッチ判定回路群ＭＭＤＢは、図３に示すように複数のメインマッチ判定回路ＭＭＤｍ（ｍ＝０，１，…）で構成され、それぞれ対応するメインマッチ線ＭＭＬを駆動するためのＰＭＯＳトランジスタＴ３３１と、対応するメインマッチ線上のエントリにおける比較結果を分別するためのセンスアンプＳＡで構成され、比較結果に応じた電圧のヒット信号（ここではＨＩＴ０）を出力する。
【００１６】
このような構成において、検索動作を行う際は、まず例えば、図３のメモリセルＤＭＣ０に記憶されているデータ（Ｎ００）とサーチ線ＳＬ００に入力されたデータとが比較され、その一致／不一致に応じて予めプリチャージされたサブマッチ線ＳＭＬ００の電荷保持または電荷放電が定められる。また、これに伴い、サブマッチ判定回路ＳＭＤ００内のＮＭＯＳトランジスタＴ３２２のＯＮ／ＯＦＦも定められる。
【００１７】
ここで、メインマッチ判定回路ＭＭＤ００によってサブマッチ線ＳＭＬ００の情報を読み出すために、予め接地電圧ＶＳＳを保持しているメインマッチ線ＭＭＬ００をＰＭＯＳトランジスタＴ３３１によって徐々に充電し、ＮＭＯＳトランジスタＴ３２２による放電有無を調べる動作が行われる。この際に、その充電する電流値は、ＮＭＯＳトランジスタＴ３２２のオン電流より小さな値に設定されているため、不一致時（ＮＭＯＳトランジスタＴ３２２がＯＮ時）のメインマッチ線ＭＭＬ００は、センスアンプＳＡの論理しきい値より低い電圧に抑えられる。
【００１８】
しかしながら、このようにメインマッチ線ＭＭＬ００を徐々に充電する方式では、センスアンプの起動タイミングが遅くなってしまう恐れがある。すなわち、一般に、ＰＭＯＳトランジスタよりもＮＭＯＳトランジスタの駆動能力の方が高いので、センスアンプの起動タイミングを早めるためには、高い電圧に充電したメインマッチ線をマッチ判定回路内のＮＭＯＳトランジスタにより駆動した方が、より早く一致／不一致に応じた信号を発生することができる。
【００１９】
そこで、本発明の目的は、このような問題等を鑑み、ＣＡＭを含む半導体装置の高速化、または消費電力の低減を実現することにある。
【００２０】
なお、参考文献２には、参考文献１および非特許文献１に記載のＯｎｅ−ｈｏｔ−ｓｐｏｔブロック符号を用いたＣＡＭにおけるインタフェイス回路方式が示されている。具体的には、データ領域に応じて複数の情報を圧縮して記憶したり、マスクをかけて記憶したりするための入出力信号のフォーマットと符号化および復号回路構成とが示される。この文献によるＣＡＭでは、ＩＰアドレスなどを入出力する際は最小値と差の組み合わせを扱う。このようなフォーマットの入出力信号を４値情報と呼んでいる。
【００２１】
その他の情報を入出力する際はデータとマスクの組み合わせを扱う。このようなフォーマットの入出力信号を３値情報と呼んでいる。この文献の技術を用いることにより、外付けされたＣＡＭコントローラはエントリの格納状況を容易に監視することが可能となり、Ｏｎｅ−ｈｏｔ−ｓｐｏｔブロック符号を用いたＣＡＭの利便性が増す。
【００２２】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００２３】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００２４】
本発明による半導体装置は、複数のバンクを備え、さらに、各バンク内に複数のＣＡＭアレイを備えるものである。ここで、各バンク内の複数のＣＡＭアレイの間には、センスアンプ、読み出し回路、書き込み回路、およびサーチ線駆動回路が共有状態で配置される。なお、複数のＣＡＭアレイ内のビット線とセンスアンプとの接続関係は、双方のＣＡＭアレイからビット線を一本ずつセンスアンプに接続した所謂開放ビット線構成となっている。また、ＣＡＭアレイ内のメモリセルは、例えば、ダイナミック型の記憶セルとすることができる。
【００２５】
このような構成によって、メモリセルに対する読み書きおよびリフレッシュといった動作を正しく行うことが可能となる。さらに、複数のバンクを用いたインターリーブ動作を行うことで、高速な検索処理を実現できる。
【００２６】
この場合、複数のバンクにそれぞれ異なる位相の制御クロックを分配して、異なる位相でエントリおよび検索キーの処理（読み出し動作、書き込み動作、検索動作）を行うとよい。さらに、複数のバンクに同一の検索テーブルを登録し、連続して入力される検索キーを複数のバンクに順繰りに入力して、異なる位相の制御クロックに同期させて検索動作を行うこともできる。
【００２７】
また、本発明による半導体装置は、ＣＡＭアレイによる検索動作の際、その検索結果の判定タイミングを発生するダミー回路を有するものである。このダミー回路は、例えば、正規のＣＡＭアレイが備えるメモリセル、ワード線、およびマッチ線などと同様な構成のダミーメモリセル、ダミーワード線、およびダミーマッチ線などを備え、検索動作の際、常に一致または不一致に固定された動作を行う。そして、ダミー回路は、一致または不一致のいずれかに応じて変動するダミーマッチ線の電圧レベルを監視し、最適なタイミングで正規のＣＡＭアレイ内におけるマッチ線の判定回路（センスアンプ）を起動する。このタイミングの最適化によって、高速化または消費電力の低減が可能となる。
【００２８】
さらに、マッチ線およびダミーマッチ線の判定を行う際には、前述した課題で述べたようにマッチ線を徐々に充電しながら放電経路の有無に応じて電圧が上昇するか否かを検出する方式ではなく、急速に充電したマッチ線の電圧が放電経路の有無に応じて下降するか否かを検出する方式にするとよい。これによって、検索動作の高速化が図れる。また、マッチ線の電圧レベルは、デフォルト状態で不一致時の電圧レベルにしておくとよい。これによって、実使用上の消費電力を低減することが可能となる。
【発明の効果】
【００２９】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、半導体装置の高速化または消費電力の低減を実現できる。
【発明を実施するための最良の形態】
【００３０】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。また、実施の形態の各機能ブロックを構成する回路素子は、特に制限されないが、公知のＣＭＯＳ（相補型ＭＯＳトランジスタ）等の集積回路技術によって、単結晶シリコンのような半導体基板上に形成される。
【００３１】
なお、実施の形態では、ＭＩＳＦＥＴ（Ｍｅｔａｌ  Ｉｎｓｕｌａｔｏｒ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ  Ｆｉｅｌｄ  Ｅｆｆｅｃｔ  Ｔｒａｎｓｉｓｔｏｒ）の一例としてＭＯＳ（Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）トランジスタを用いる。図面において、Ｐチャネル型ＭＯＳトランジスタ（ＰＭＯＳトランジスタ）にはゲートに矢印の記号を付すことで、Ｎチャネル型ＭＯＳトランジスタ（ＮＭＯＳトランジスタ）と区別することとする。図面にはＭＯＳトランジスタの基板電位の接続は特に明記していないが、ＭＯＳトランジスタが正常動作可能な範囲であれば、その接続方法は特に限定しない。
【００３２】
（実施の形態１）
まず、ＣＡＭの全体構成について説明する。
【００３３】
図１は、本発明の実施の形態１の半導体装置において、それに含まれるＣＡＭの要部ブロックの基本構成例を示すブロック図である。本構成は、コマンド・デコーダＣＤＥＣ、ＣＡＭ制御回路ＣＡＭＣＴＬ１、データ入出力回路ＤＩＯ、各種レジスタ群ＲＥＧＢＫ、符号化回路群ＥＮＣＢＫ、復号回路群ＤＥＣＢＫ、バンク化されたメモリアレイＢＫ１，ＢＫ２、ＲＡＭ制御回路ＲＡＭＣＴＬを有する。同図では、簡単のため検索動作におけるデータが送受信される経路に注目しており、アドレス関連の回路ブロックであるリフレッシュ・カウンタやロウ・デコーダなどは省略されている。
【００３４】
コマンド・デコーダＣＤＥＣは、コマンド信号ＣＭＤ［ｊ：１］の受信と符号化を行い、後述するレジスタを選択するための信号をコマンド・バスＣＢＳを介して各種レジスタ群ＲＥＧＢＫに出力する。あるいは、後述するＣＡＭ制御回路ＣＡＭＣＴＬ１などチップ内の制御回路ブロックにリード・イネーブル信号ＲＤＥ、ライト・イネーブル信号ＷＴＥ、サーチ・イネーブル信号ＳＣＥを出力する。
【００３５】
ＣＡＭ制御回路ＣＡＭＣＴＬ１は、本発明によるＣＡＭに接続されたコントローラ（または、ネットワーク・プロセッサや検索エンジンなどと呼ばれる制御回路）が発生するマスタ・クロックＭＣＬＫとマルチ・バンク・イネーブル信号ＭＢＫＥを受信すると共に、前述のリード・イネーブル信号ＲＤＥ、ライト・イネーブル信号ＷＴＥ、サーチ・イネーブル信号ＳＣＥに応じて、バンク制御クロックＢＣＬＫ１，ＢＣＬＫ２、データ・クロックＤＣＬＫ、コンテント・アドレス・クロックＡＣＬＫを発生する。
【００３６】
データ入出力回路ＤＩＯは、データ・バスＤＱ［ｋ：１］と内部データ・バスＤＢＳ［ｋ：１］との間に配置され、アドレス信号やデータ、さらにチップの各種設定を定義する制御信号の授受を行う。特に、データの授受の際は、前述のデータ・クロックＤＣＬＫに同期して、データの授受を行う。なお、バス幅ｋを偶数と仮定して、以下の説明を続ける。
【００３７】
各種レジスタ群ＲＥＧＢＫは、データ・バスＤＱの信号線数（ここではｋ本）に応じた複数ビットのレジスタでそれぞれ構成される。同図では、内部データ・バスＤＢＳを介して信号の授受を行うレジスタとして、四つのレジスタ群が示されている。
【００３８】
第一の入力マスク／差レジスタ群ＩＮＭＤ１〜ＩＮＭＤｓは、入力するエントリや検索キーのデータ領域に対応して、マスク情報や差を格納する。第二の出力マスク／差レジスタ群ＯＵＴＭＤ１〜ＯＵＴＭＤｓは、読み出すエントリのデータ領域に対応して、マスク情報や差を格納する。
【００３９】
第三のデータ領域識別レジスタ群ＤＦＩ１〜ＤＦＩｓは、ＣＡＭが処理する情報形式をビット毎に区別するための識別情報を格納する。第四のマッチ・アドレス・レジスタＭＡ１〜ＭＡｓは、後述するマッチ・アドレスＭＡＢＳと内部データ・バスＤＢＳとの間に挿入され、検索動作時に発生されたマッチ・アドレス（詳細は後述）を格納する。なお、一致したエントリが複数あった場合、最上位（例えば、対応するロウ・アドレスが最も小さい番号の行）のエントリに応じたアドレス信号から順に出力する機能を有する。なお、以上で述べたレジスタ群は、同じ構成の複数のレジスタでそれぞれ構成されており、前述のコマンド信号群やアドレス信号によって所望のレジスタが選択される。
【００４０】
符号化回路群ＥＮＣＢＫは、データ・バスＤＱの信号線数（ここではｋ本）に応じたｋビットの３値情報−Ｏｎｅ−ｈｏｔ−ｓｐｏｔブロック符号化回路群ＴＯＢＥＮＣと４値情報−Ｏｎｅ−ｈｏｔ−ｓｐｏｔブロック符号化回路群ＱＯＢＥＮＣを有し、データ領域識別バスＤＦＩＢＳを介して入力される前述のデータ領域識別レジスタ群ＤＦＩ１〜ＤＦＩｓの値に応じて、符号化ブロック毎に何れか一方の符号化回路が活性化される。
【００４１】
例えば、２ビット毎に符号化する場合、符号化ブロックに該当する情報が３値か４値かに応じて、２ビット毎に符号化回路群ＥＮＣＢＫの構成が設定される。そして、前述の入力マスク／差レジスタ群ＩＮＭＤ１〜ＩＮＭＤｓから入力マスク／差バスＩＮＭＤＢＳを介して得た情報（ここでは差およびマスク）と、内部データ・バスＤＢＳを介して入力された情報（ここでは最小値およびデータ）を受信して、エントリまたは検索キーをＯｎｅ−ｈｏｔ−ｓｐｏｔブロック符号化し、２ｋ本の信号線からなる符号化情報バスＥＮＣＢＳに出力する。
【００４２】
一方、復号回路群ＤＥＣＢＫは、データ・バスＤＱの信号線数（ここではｋ本）に応じた複数ビットのＯｎｅ−ｈｏｔ−ｓｐｏｔブロック符号−３値情報復号回路群ＯＢＴＤＥＣとＯｎｅ−ｈｏｔ−ｓｐｏｔブロック符号−４値情報復号回路群ＯＢＱＥＮＣを有し、データ領域識別バスＤＦＩＢＳを介して入力される前述のデータ領域識別レジスタ群ＤＦＩ１〜ＤＦＩｓの値に応じて、符号化ブロック毎に何れか一方の復号回路が活性化される。
【００４３】
例えば、２ビット毎に符号化する場合、符号化ブロックに該当する情報が３値か４値かに応じて、２ビット毎に復号回路群ＤＥＣＢＫの構成が設定される。そして、２ｋ本の信号線からなる符号化情報バスＥＮＣＢＳを介して読み出されたエントリを復号し、マスクおよび差を出力マスク／差バスＯＵＴＭＤＢＳを介して前述の出力マスク／差レジスタ群ＯＵＴＭＤ１〜ＯＵＴＭＤｓへ一時格納すると共に、内部データ・バスＤＢＳを介してデータおよび最小値をデータ入出力回路ＤＩＯへ出力する。
【００４４】
なお、これらの各種レジスタ群ＲＥＧＢＫ、符号化回路群ＥＮＣＢＫおよび復号回路群ＤＥＣＢＫの詳細は、参考文献２に記載されている。
【００４５】
バンクＢＫ１，ＢＫ２は、バンク化されたメモリアレイがさらに分割されたサブアレイＳＡＲＹＵ，ＳＡＲＹＬ、読み書き検索回路群ＲＷＳＢＫ、メモリ制御回路ＭＣ、プライオリティ・エンコーダＰＥをそれぞれ有する。サブアレイＳＡＲＹＵ、ＳＡＲＹＬは、図２に示した構成からサーチ・ドライバ群ＳＤＢと読み書き回路群ＲＷＢを省いた構成である。例えば、２ビット毎にエントリや検索キーが符号化される場合、データ・バスＤＱのバス幅に応じてｋビットのエントリを記憶できるように、一つのワード線にｋ／２個のメモリブロックが接続されている。また、詳細は後述するが、読み書き検索回路群ＲＷＳＢＫは、サブアレイＳＡＲＹＵ、ＳＡＲＹＬで共有される。
【００４６】
メモリ制御回路ＭＣは、前述のリード・イネーブル信号ＲＤＥ、ライト・イネーブル信号ＷＴＥ、サーチ・イネーブル信号ＳＣＥをそれぞれ受信し、これらの信号の何れかが動作に応じて活性化されると、バンク制御クロックＢＣＬＫ１，ＢＣＬＫ２に同期した複数の内部制御信号（詳細は後述する）を発生する。
【００４７】
プライオリティ・エンコーダＰＥは、検索動作において、バンクＢＫ１，ＢＫ２内のサブアレイＳＡＲＹＵ，ＳＡＲＹＬにおけるメインマッチ判定回路群ＭＭＤＢの出力信号（すなわち、図３に示したヒット信号ＨＩＴ０など）を一致信号バスＨＢＳＵ、ＨＢＳＬを介して受信し、検索キーと一致したエントリに対応するアドレス（以下では、マッチ・アドレスと呼ぶ。）信号を発生する。このアドレス信号は、マッチ・アドレス・バスＭＡＢＳを介してＲＡＭ制御回路ＲＡＭＣＴＬおよびマッチ・アドレス・レジスタ群ＭＡ０〜ＭＡｓに入力される。
【００４８】
ＲＡＭ制御回路ＲＡＭＣＴＬは、コンテント・アドレス・クロックＡＣＬＫに応じて、マッチ・アドレスをコンテント・アドレス信号群ＣＡＤＤ［ｒ：１］からＤＲＡＭ（ダイナミック・ランダム・アクセス・メモリ）やＳＲＡＭ（スタティック・ランダム・アクセス・メモリ）に出力する。ここで、ｒは、本実施の形態によるＣＡＭのメモリアレイ構成に応じて決まる整数である。
【００４９】
なお、本実施の形態によるＣＡＭを形成する構成要素は、図１に記載の回路ブロックや信号に限らず、様々な要素ブロックや信号が含まれる。例えば、クロックの位相調整用のフェーズ・ロックド・ループＰＬＬやディレイ・ロックド・ループＤＬＬ、テスト回路、カスケード接続したチップを制御するコントローラ、外付けのコンテント・メモリ（例えば、ＳＲＡＭやＤＲＡＭ）を制御するＲＡＭ用クロック、ＲＡＭ制御信号群などが図１では簡単のために省略されている。
【００５０】
つぎに、メモリアレイ構成と動作について説明する。
【００５１】
図４は、図１におけるバンクＢＫ１，ＢＫ２の構成の一例を示す回路ブロック図である。以下に示す記号の添え字‘ｎ’は、０、１、…、（ｋ／２）−１のいずれかである（‘ｋ’は偶数）。また、添え字‘ｘ’は、０、１、２、３のいずれかである。
【００５２】
符号化データ線ＥＮＣＬｎｘは、前述した２ｋ本の符号化情報バスＥＮＣＢＳの構成要素である。読み書き検索回路群ＲＷＳＢＫは、２ｋ個の読み書き検索回路ＲＷＳＣＴｎｘを有する。符号化情報バスＥＮＣＢＳは対応するＲＷＳＣＴｎｘを介して、サーチ線ＳＬｎｘにそれぞれ接続される。サーチ線ＳＬｎｘのそれぞれは、サブアレイＳＡＲＹＵ、ＳＡＲＹＬで共有され、双方のサブアレイ内の対応するメモリセルに接続される。また、サーチ線ＳＬｎｘに対応するサブアレイＳＡＲＹＵ内のビット線ＢＬｎｘＵとサブアレイＳＡＲＹＬ内のビット線ＢＬｎｘＬが、対応する読み書き検索回路ＲＷＳＣＴｎｘにそれぞれ接続される。
【００５３】
図５は、図４における読み書き検索回路ＲＷＳＣＴ００を例に、その構成の一例を示す回路図である。本実施の形態による読み書き検索回路は、センスアンプＳＡ、イコライズ回路ＥＱ、読み出し回路ＲＣＫＴ、書き込み回路ＷＣＫＴ、サーチ線駆動回路ＳＣＫＴで構成される。
【００５４】
センスアンプＳＡは、ＤＲＡＭで広く用いられているように、２個のＰＭＯＳトランジスタＰ５００，Ｐ５０１と２個のＮＭＯＳトランジスタＮ５００，Ｎ５０１とをクロスカップル接続した公知の回路構成である。待機時にビット線ＢＬ００Ｕ，ＢＬ００Ｌと共に参照電圧ＶＲＥＦ（ここでは、電源電圧ＶＤＤと接地電圧ＶＳＳとの中間電圧）となっている共通ソース線ＣＳＰを電源電圧ＶＤＤに、共通ソース線ＣＳＮを接地電圧ＶＳＳにそれぞれ駆動することにより活性化して、ビット線対に発生した微小な電圧信号を増幅する。
【００５５】
イコライズ回路ＥＱは、ＤＲＡＭで広く用いられているように、３個のＮＭＯＳトランジスタＮ５１０，Ｎ５１１，Ｎ５１２からなる公知の回路構成である。それぞれのゲートが接続されているビット線イコライズ信号ＢＬＥＱを、待機時に昇圧電圧ＶＰＰ（ここで、昇圧電圧ＶＰＰは電源電圧ＶＤＤよりもＮＭＯＳトランジスタのしきい電圧ＶＴＮだけ高いか、それよりも高い電圧に設定されている。）に駆動することにより、トランジスタＮ５１１とＮ５１２を導通させて参照電圧ＶＲＥＦをビット線対に供給すると共に、トランジスタＮ５１０を導通させてビット線対を短絡する。
【００５６】
以上のセンスアンプＳＡとイコライズ回路ＥＱの構成により、公知の開放ビット線構造のＤＲＡＭと同様の動作によるエントリの読み書きおよび再書き込み（リフレッシュ）動作を行うことができる。
【００５７】
読み出し回路ＲＣＫＴは、ＰＭＯＳトランジスタＰ５２０，Ｐ５２１と、ＮＭＯＳトランジスタＮ５２０，Ｎ５２１，Ｎ５２２，Ｎ５２３とで構成される。トランジスタＮ５２０，Ｎ５２１のソースもしくはドレインの一方をビット線ＢＬ００Ｕ，ＢＬ００Ｌにそれぞれ接続し、他方を互いに接続する。この共通ノードをＩＮ５０と呼ぶ。また、トランジスタＮ５２０，Ｎ５２１のゲート電極を、読み出し起動信号ＲＤＬ、ＲＤＵにそれぞれ接続する。トランジスタＮ５２２、Ｎ５２３を符号化データ線ＥＮＣＬ００と接地電圧ＶＳＳ端子との間で直列接続し、トランジスタＰ５２０を電源電圧ＶＤＤ端子と符号化データ線ＥＮＣＬ００との間に電流経路を形成するように挿入する。
【００５８】
また、トランジスタＰ５２１を電源電圧ＶＤＤ端子と共通ノードＩＮ５０との間に電流経路を形成するように挿入する。さらに、トランジスタＰ５２０，Ｎ５２２のゲート電極を共通ノードＩＮ５０に、トランジスタＰ５２１，Ｎ５２３のゲート電極を読み出し起動信号ＲＤにそれぞれ接続する。以上の接続により、トランジスタＰ５２０，Ｎ５２２，Ｎ５２３は、符号化データ線ＥＮＣＬ００を駆動するドライバ回路の構成をなす。なお、これらの読み出し系回路（および後述する書き込み系回路ならびにサーチ線駆動用の回路）は、ビット線対ＢＬ００Ｕ／ＢＬ００Ｌが共に同一の負荷容量となるような回路構成となっている。
【００５９】
このような回路構成において、待機時は、読み出し起動信号ＲＤＬ，ＲＤＵ，ＲＤの全てが接地電圧ＶＳＳに保持されているので、トランジスタＮ５２０，Ｎ５２１，Ｎ５２３がカットオフ状態にあり、ビット線対と共通ノードＩＮ５０は切り離される。また、トランジスタＰ５２１が導通されて、共通ノードＩＮ５０が電源電圧ＶＤＤに駆動されることにより、トランジスタＰ５２０がカットオフ状態となり、ドライバ回路はハイ・インピーダンス状態となる。
【００６０】
一方、サブアレイＳＡＲＹＵ側のエントリを読み出す場合、ビット線対に読み出された微小信号をセンスアンプＳＡで増幅した後に、読み出し起動信号ＲＤＬを接地電圧ＶＳＳに保持したまま、接地電圧ＶＳＳとなっている読み出し起動信号ＲＤ，ＲＤＵを昇圧電圧ＶＰＰに駆動することにより、トランジスタＮ５２１を導通させてビット線ＢＬ００Ｌと共通ノードＩＮ５０とを短絡する。また、ドライバ回路を活性化状態とすることにより、ビット線ＢＬ００Ｌと反対極性の電圧信号を符号化データ線ＥＮＣＬ００に出力する。
【００６１】
反対に、サブアレイＳＡＲＹＬ側のエントリを読み出す場合、信号ＲＤ，ＲＤＬを昇圧電圧ＶＰＰに駆動することにより、トランジスタＮ５２０を導通させてビット線ＢＬ００Ｕと共通ノードＩＮ５０とを短絡する。また、ドライバ回路を活性化状態とすることにより、ビット線ＢＬ００Ｕと反対極性の電圧信号を符号化データ線ＥＮＣＬ００に出力する。このような構成と動作により、読み出し動作におけるビット線対の負荷容量のバランスを維持すると共に、エントリと同じ極性の読み出し信号を負荷容量の大きな符号化データ線に高速に読み出すことができる。
【００６２】
書き込み回路ＷＣＫＴは、ＮＭＯＳトランジスタＮ５３０、Ｎ５３１とで構成される。トランジスタＮ５３０，Ｎ５３１のソースもしくはドレインの一方をビット線ＢＬ００Ｕ，ＢＬ００Ｌにそれぞれ接続し、他方を符号化データ線ＥＮＣＬ００に接続する。また、トランジスタＮ５３０，Ｎ５３１のゲートを、書き込み起動信号ＷＴＵ，ＷＴＬにそれぞれ接続する。
【００６３】
このような回路構成においてサブアレイＳＡＲＹＵ側にエントリを書き込む場合、ビット線対に読み出された微小信号をセンスアンプＳＡで増幅した後に、書き込み起動信号ＷＴＬを接地電圧ＶＳＳに保持したまま、接地電圧ＶＳＳとなっている書き込み起動信号ＷＴＵを昇圧電圧ＶＰＰに駆動することによりトランジスタＮ５３０を導通させて、ビット線ＢＬ００Ｕと符号化データ線ＥＮＣＬ００とを短絡する。
【００６４】
反対に、サブアレイＳＡＲＹＬ側にエントリを書き込む場合、信号ＷＴＬを昇圧電圧ＶＰＰに駆動することによりトランジスタＮ５３１を導通させて、ビット線ＢＬ００Ｌと符号化データ線ＥＮＣＬ００とを接続する。このような構成と動作により、読み出し動作におけるビット線対の負荷容量のバランスを維持すると共に、開放型ビット線構成のＤＲＡＭと同様の書き込み動作が可能となる。
【００６５】
サーチ線駆動回路ＳＣＫＴは、ＰＭＯＳトランジスタＰ５４０，Ｐ５４１と、ＮＭＯＳトランジスタＮ５４０，Ｎ５４１，Ｎ５４２とで構成される。ＰＭＯＳトランジスタＰ５４０，Ｐ５４１とＮＭＯＳトランジスタＮ５４０，Ｎ５４１は、所謂クロックド・インバータ型のドライバ回路構成をなす。トランジスタＰ５４０，Ｎ５４１のゲート電極を検索起動信号ＳＣＥＢ，ＳＣＥＴにそれぞれ接続し、トランジスタＰ５４１，Ｎ５４０のゲート電極を符号化データ線ＥＮＣＬ００に、出力ノードをサーチ線ＳＬ００に接続する。ＮＭＯＳトランジスタＮ５４２は、サーチ線ＳＬ００と接地電圧ＶＳＳ端子との間に電流経路を形成するように挿入され、ゲート電極が検索起動信号ＳＣＥＢに接続される。
【００６６】
このような回路構成において、待機時のサーチ線ＳＬ００は、検索起動信号ＳＣＥＢが電源電圧ＶＤＤに保持されているため、トランジスタＮ５４２が導通することにより接地電圧ＶＳＳに保持される。検索動作が始まると、接地電圧ＶＳＳとなっていた検索起動信号ＳＣＥＴを電源電極ＶＤＤに、電源電極ＶＤＤとなっていた検索起動信号ＳＣＥＢを接地電圧ＶＳＳに駆動することにより、トランジスタＮ５４２がカットオフ状態になると共に、ドライバ回路が活性化される。そして、待機時に電源電圧ＶＤＤとしていた符号化データ線ＥＮＣＬ００に符号化された検索キーと反対極性の信号が入力されることにより、サーチ線ＳＬ００が検索キーに応じた電圧に駆動される。
【００６７】
このような構成と動作により、検索動作におけるサーチ線の駆動時間を短縮し、メモリアレイのサイクルを向上することができる。また、ビット線とサーチ線が符号化情報バスを共有することにより、バス配線の本数を削減できて、チップ面積を抑制することができる。
【００６８】
つぎに、図１のＣＡＭを用いた基本モードの検索動作について説明する。
【００６９】
図６は、図１のＣＡＭにおいて、二つの検索キーＤ１，Ｄ２を基本モードで検索する場合の動作の一例を示す波形図である。本モードの特徴は、二つのバンクＢＫ１，ＢＫ２を跨いで一つの検索テーブルを登録し、検索動作を行う点にある。
【００７０】
まず、１サイクル目に、マスタ・クロックＭＣＬＫに同期してサーチ・コマンドＳ１がコマンド信号群ＣＭＤを介して入力され、サーチ・イネーブル信号ＳＣＥが活性化される。これに応じて、ＣＡＭ制御回路ＣＡＭＣＴＬ１は、マスタ・クロックＭＣＫＬを分周したデータ・クロックＤＣＬＫを発生することにより、この立ち上がりエッジに同期して、検索キーＤ１がデータ入出力回路ＤＩＯおよび符号化回路群ＥＮＣＢＫを介して符号化情報バスＥＮＣＢＳに入力される。
【００７１】
同時に、ＣＡＭ制御回路ＣＡＭＣＴＬ１は、パルス信号をバンク制御クロックＢＣＬＫ１，ＢＣＬＫ２にそれぞれ発生する。これらのバンク制御クロックとサーチ・イネーブル信号ＳＣＥに応じて、バンクＢＫ１，ＢＫ２の各メモリ制御回路ＭＣは、サーチ・イネーブル信号ＳＣＥＴ（１），ＳＣＥＢ（１），ＳＣＥＴ（２），ＳＣＥＢ（２）をそれぞれ活性化させることにより、検索キーＤ１がメモリアレイに入力される。すなわち、図５に示したサーチ線駆動回路ＳＣＫＴにより、サーチ線ＳＬ００（１），ＳＬ００（２）が検索キーＤ１の対応するビットに応じた電圧に駆動されて、各バンクで検索動作が行われる。なお、括弧内の数字はバンクＢＫ１，ＢＫ２の添え字に対応するものである。
【００７２】
次の２サイクル目では、１サイクル目に引き続いてサーチ・コマンドＳ２が入力され、サーチ・イネーブル信号ＳＣＥが活性状態に保持される。また、データ・クロックＤＣＬＫの立ち下がりエッジに同期して、検索キーＤ２が符号化回路群ＥＮＣＢＫを介して符号化情報バスＥＮＣＢＳに入力される。また、ＣＡＭ制御回路ＣＡＭＣＴＬ１が、サーチ・イネーブル信号ＳＣＥに応じて短いパルス信号を再びバンク制御クロックＢＣＬＫ１，ＢＣＬＫ２にそれぞれ発生することにより、検索キーＤ２がバンクＢＫ１，ＢＫ２にそれぞれ入力される。すなわち、２回目の検索動作が行われる。
【００７３】
同図では、バンクＢＫ１，ＢＫ２がサイクル時間ｔＡＲＹで検索動作を行い、この結果に応じたマッチ・アドレスＡ１、Ａ２が、検索キーＤ１、Ｄ２の入力から数えて４サイクル後に出力されるものと仮定している。したがって、５サイクル目に、ＣＡＭ制御回路ＣＡＭＣＴＬ１においてマスタ・クロックＭＣＫＬを分周したアドレス・クロックＡＣＬＫが発生し、その立ち上がりエッジに同期してマッチ・アドレスＡ１がＲＡＭ制御回路ＲＡＭＣＴＬから出力される。更に、６サイクル目では、このアドレス・クロックＡＣＬＫの立ち下がりエッジに同期してマッチ・アドレスＡ２が、ＲＡＭ制御回路ＲＡＭＣＴＬから出力される。以上の動作により、大規模なテーブル検索を一つのＣＡＭで実現することができる。
【００７４】
つぎに、図１のＣＡＭを用いたインターリーブ・モードの検索動作について説明する。
【００７５】
図７は、図１のＣＡＭにおいて、四つの検索キーＤ１，Ｄ２，Ｄ３，Ｄ４をインターリーブ・モードで検索する場合の動作の一例を示す波形図である。本動作の特徴は、バンクＢＫ１，ＢＫ２に同じ検索テーブルを登録し、異なる検索キーを交互に入力して検索動作を行う点にある。
【００７６】
まず、１サイクル目に、マルチ・バンク・イネーブル信号ＭＢＫＥを立ち上げて検索動作をインターリーブ・モードに設定する。同時に、マスタ・クロックＭＣＬＫに同期してサーチ・コマンドＳ１がコマンド信号群ＣＭＤを介して入力され、サーチ・イネーブル信号ＳＣＥが活性化される。これらの信号に応じて、ＣＡＭ制御回路ＣＡＭＣＴＬ１は、マスタ・クロックＭＣＫＬを分周したデータ・クロックＤＣＬＫを発生する。この立ち上がりエッジ同期して、検索キーＤ１がデータ入出力回路ＤＩＯおよび符号化回路群ＥＮＣＢＫを介して符号化情報バスＥＮＣＢＳに入力される。
【００７７】
ＣＡＭ制御回路ＣＡＭＣＴＬ１は、さらに、バンク制御クロックＢＣＬＫ１を発生する。このバンク制御クロックとサーチ・イネーブル信号ＳＣＥに応じて、バンクＢＫ１のメモリ制御回路ＭＣはサーチ・イネーブル信号ＳＣＥＴ（１），ＳＣＥＢ（１）をそれぞれ活性化させることにより、検索キーＤ１がメモリアレイに入力される。すなわち、図５に示したサーチ線駆動回路ＳＣＫＴにより、サーチ線ＳＬ００（１）が検索キーＤ１の対応するビットに応じた電圧に駆動されて、バンクＢＫ１で検索動作が行われる。
【００７８】
次に、マスタ・クロックＭＣＬＫの立ち下がりエッジに同期してサーチ・コマンドＳ２が入力され、データ・クロックＤＣＬＫの立ち下がりエッジに同期して、検索キーＤ２がデータ入出力回路ＤＩＯおよび符号化回路群ＥＮＣＢＫを介して符号化情報バスＥＮＣＢＳに入力される。また、ＣＡＭ制御回路ＣＡＭＣＴＬ１においてサーチ・イネーブル信号ＳＣＥに応じたパルス信号がバンク制御クロックＢＣＬＫ２に発生され、バンクＢＫ２内のメモリ制御回路ＭＣにおいてサーチ・イネーブル信号ＳＣＥに応じてサーチ・イネーブル信号ＳＣＥＴ（２），ＳＣＥＢ（２）がそれぞれ活性化されることにより、検索キーＤ２がバンクＢＫ２に入力される。すなわち、図５に示したサーチ線駆動回路ＳＣＫＴにより、サーチ線ＳＬ００（２）が検索キーＤ２の対応するビットに応じた電圧に駆動されて、バンクＢＫ２で検索動作が行われる。
【００７９】
続く２サイクル目には、１サイクル目と同様に検索キーＤ３，Ｄ４が、バンクＢＫ１，ＢＫ２へ交互に入力されて、検索動作が行われる。同図では、図６と同様に、検索キーの入力から数えて４サイクル後にマッチ・アドレスが出力されると仮定している。したがって、５サイクル目以降にＣＡＭ制御回路ＣＡＭＣＴＬ１によってマスタ・クロックＭＣＬＫと同じ周期で発生されたアドレス・クロックＡＣＬＫの立ち上がりと立ち下がりエッジに同期して、マッチ・アドレスＡ１，Ａ２，Ａ３，Ａ４がそれぞれＲＡＭ制御回路ＲＡＭＣＴＬから出力される。
【００８０】
以上の動作により、検索動作サイクル時間がｔＡＲＹのバンクＢＫ１，ＢＫ２を用いて、図６の動作の倍の速さで検索キーを受信して検索処理を行うＣＡＭを実現することができる。ただし、本動作を実現するためには、二つのバンクに同一の検索テーブルを登録するので、メモリ容量が半減してしまう。しかし、前述した非特許文献１に示されているように、エントリを圧縮して記憶することができるＯｎｅ−ｈｏｔ−ｓｐｏｔブロック符号化方式と高集積化に優れた汎用ＤＲＡＭセル・ベースのメモリセルとの組合せによるＣＡＭは、メモリ容量が従来のターナリＣＡＭよりも倍増されるので、メモリ不足を招く恐れが小さい。
【００８１】
また、インターリーブ・モードによる検索動作では、同時に二つのバンクが活性化されるために消費電力が増加する問題がある。しかし、Ｏｎｅ−ｈｏｔ−ｓｐｏｔブロック符号化方式を用いることによって、エントリを圧縮して記憶することができるので、１バンク内で活性化されるメモリ領域を従来のターナリＣＡＭよりも狭くすることができ、消費電力を抑えることが可能である。したがって、本発明は、特にＯｎｅ−ｈｏｔ−ｓｐｏｔブロック符号化方式によるメモリアレイを用いたＣＡＭに適用した場合に好適となり、これによって、大容量化と低電力化の観点で、複数バンクのインターリーブ動作によりネットワークの回線速度向上のトレンドに応じた高速ＣＡＭを実現することが可能となる。
【００８２】
なお、以上では検索動作について説明してきたが、読み出し動作や書き込み動作においても、リード・コマンドやライト・コマンドをコマンド信号群ＣＭＤから入力することによりリード・イネーブル信号ＲＤＥやライト・イネーブル信号ＷＴＥを発生し、さらにＣＡＭ制御回路ＣＡＭＣＴＬ１からバンク制御クロックＢＣＬＫ１，ＢＣＬＫ２を発生してバンクＢＫ１，ＢＫ２を活性化することは、容易に理解することができる。また、インターリーブ・モードによって、一方のバンクで検索動作を行いながら、他方のバンクにおいてリフレッシュ動作を行うことができることも、容易に理解することができる。この場合、リフレッシュ動作による検索速度低下のペナルティを緩和することも可能となる。
【００８３】
以上、本実施の形態１のＣＡＭを用いることによる代表的な効果を纏めると次のようになる。
【００８４】
まず、図１、図４、図５のＣＡＭの構成による第一の効果は、同一バンク内で所謂開放型ビット線構成のセンス方式とすることにより、エントリを正しく読み書き及び再書き込み（リフレッシュ）することが可能になる点にある。第二の効果は、ビット線とサーチ線が読み書き検索回路を介して共通の符号化データ線に接続されることにより、符号化情報バスの配線本数を削減することができ、チップ面積を抑制することが可能になる点にある。
【００８５】
第三の効果は、図６および図７の動作のように、マルチ・バンク・イネーブル信号ＭＢＫＥと二つのバンクを用いて、用途に応じて検索動作モードを切り替えることができる点にある。すなわち、基本モードでは、二つのバンクを跨いで大規模な検索テーブルを登録することにより、大容量ＣＡＭを実現することができる。一方、インターリーブ・モードでは、二つのバンクに同一のエントリを登録し、異なる検索キーを交互に入力するすることにより、バンクの検索動作サイクル時間よりも短いサイクル時間で検索キーを受信、検索処理する高速なＣＡＭを実現することが可能となる。また、一方のバンクで検索動作を行いながら、他方のバンクでリフレッシュ動作を行うことが可能となる。
【００８６】
なお、バンク数は二つに限らず、さらに多くのバンクをそれぞれ異なる位相のクロックに同期させて各種動作を行うことも可能であることは、容易に理解できる。この場合、さらに高い周波数で検索キーを受信して、検索処理を行う高速ＣＡＭを実現することが可能となる。
【００８７】
（実施の形態２）
本実施の形態２では、実施の形態１で説明したＣＡＭの別な構成例および動作例について説明する。
【００８８】
図８は、本発明の実施の形態２の半導体装置において、それに含まれるＣＡＭの要部ブロックの基本構成例を示すブロック図である。この構成の特徴は、バンク化されたメモリアレイが階層構造になっており、複数のバンクからなるメイン・バンクを二つ有するメモリアレイ構成を用いて、データ・バスＤＱのバス幅よりも広い検索キーの検索動作を行う点にある。以下では、図８の構成について、図１に示した構成と異なる点に注目して説明を行う。
【００８９】
ＣＡＭ制御回路ＣＡＭＣＴＬ８は、本発明によるＣＡＭに接続されたコントローラ（または、ネットワーク・プロセッサや検索エンジンなどと呼ばれる制御回路）が発生するマスタ・クロックＭＣＬＫとマルチ・バンク・イネーブル信号ＭＢＫＥとを受信すると共に、リード・イネーブル信号ＲＤＥ、ライト・イネーブル信号ＷＴＥ、サーチ・イネーブル信号ＳＣＥに応じて、バンク制御クロックＢＣＬＫＡ１，ＢＣＬＫＢ１，ＢＣＬＫＡ２，ＢＣＬＫＢ２、データ・クロックＤＣＬＫ、コンテント・アドレス・クロックＡＣＬＫを発生する。また、グローバルＩＯ制御クロックＧＣＬＫＷＳ，ＧＣＬＫＲ、マルチ・バンク・イネーブル信号ＧＭＢＫＥＮを発生する。
【００９０】
デマルチプレクサＷＳＤＭＵＸは、符号化回路群ＥＮＣＢＫで符号化されたエントリおよび検索キーを符号化情報バスＥＮＣＢＳを介して受信して、グローバルＩＯ制御クロックＧＣＬＫＷＳおよびマルチ・バンク・イネーブル信号ＧＭＢＫＥＮに応じて二つのグローバルＩＯ（ＧＩＯＡ、ＧＩＯＢ）に適宜分配し、後述のメイン・バンクに転送する。反対に、マルチプレクサＲＭＵＸは、メイン・バンクから読み出したエントリを、グローバルＩＯ制御クロックＧＣＬＫＲおよびマルチ・バンク・イネーブル信号ＧＭＢＫＥＮに応じて二つのグローバルＩＯ（ＧＩＯＡ、ＧＩＯＢ）から適宜受信し、符号化情報バスＥＮＣＢＳを介して復号回路群ＤＥＣＢＫに出力する。
【００９１】
メイン・バンクＭＢＫ１，ＭＢＫ２のそれぞれは、バンクＢＫＡ，ＢＫＢとメイン・プライオリティ・エンコーダＭＰＥとで構成される。バンクＢＫＡ，ＢＫＢは、図１に示したバンクＢＫ１、ＢＫ２とそれぞれ同じ構成である。メイン・バンクＭＢＫ１内のバンクＢＫＡは、バンク制御信号ＢＣＬＫＡ１に同期して、グローバルＩＯ（ＧＩＯＡ）との間で情報の授受を行う。メイン・バンクＭＢＫ１内のバンクＢＫＢは、バンク制御信号ＢＣＬＫＢ１に同期して、グローバルＩＯ（ＧＩＯＢ）との間で情報の授受を行う。メイン・バンクＭＢＫ２内のバンクＢＫＡは、バンク制御信号ＢＣＬＫＡ２に同期して、グローバルＩＯ（ＧＩＯＡ）との間で情報の授受を行う。メイン・バンクＭＢＫ２内のバンクＢＫＢは、バンク制御信号ＢＣＬＫＢ２に同期して、グローバルＩＯ（ＧＩＯＢ）との間で情報の授受を行う。
【００９２】
そして、これらのバンクで構成されるメイン・バンクＭＢＫ１，ＭＢＫ２は、リード・イネーブル信号ＲＤＥ、ライト・イネーブル信号ＷＴＥ、サーチ・イネーブル信号ＳＣＥに応じた動作を行う。メイン・プライオリティ・エンコーダＭＰＥは、サブ・マッチ・アドレス・バスＳＭＡＢＳＡ，ＳＭＡＢＳＢを介して受信したバンクＢＫＡ，ＢＫＢ内のプライオリティ・エンコーダＰＥの出力に応じたマッチ・アドレスをマッチ・アドレス・バスＭＡＢＳに発生する。
【００９３】
つぎに、図８のＣＡＭを用いた基本モードの検索動作について説明する。
【００９４】
図９は、図８のＣＡＭにおいて、データ・バスＤＱのバス幅よりも広い２ｋビット幅の二つの検索キーを基本モードで検索する場合の動作の一例を示す波形図である。
【００９５】
まず、１サイクル目に、マスタ・クロックＭＣＬＫに同期してサーチ・コマンドＳ１Ａがコマンド信号群ＣＭＤを介して入力され、サーチ・イネーブル信号ＳＣＥが活性化される。同時に、マスタ・クロックＭＣＬＫと同じ周期のデータ・クロックＤＣＬＫの立ち上がりエッジに同期して、第一の検索キーの前半ビットＤ１Ａがデータ入出力回路ＤＩＯおよび符号化回路群ＥＮＣＢＫを介して符号化情報バスＥＮＣＢＳに入力される。
【００９６】
また、マルチ・バンク・イネーブル信号ＧＭＢＫＥＮが非活性状態で、マスタ・クロックＭＣＬＫと同じ周期のグローバルＩＯ制御クロックＧＣＬＫＷＳが立ち上がることにより、検索キーがデマルチプレクサＷＳＤＭＵＸからグローバルＩＯ（ＧＩＯＡ）に転送される。さらに、ＣＡＭ制御回路ＣＡＭＣＴＬ８において、サーチ・イネーブル信号ＳＣＥに応じたパルス信号がバンク制御クロックＢＣＬＫＡ１，ＢＣＬＫＡ２にそれぞれ発生され、メイン・バンクＭＢＫ１，ＭＢＫ２内のバンクＢＫＡにおけるメモリ制御回路ＭＣにおいて、サーチ・イネーブル信号ＳＣＥに応じてサーチ・イネーブル信号ＳＣＥＴ（Ａ１）、ＳＣＥＴ（Ａ２）がそれぞれ活性化されることにより（簡単のため、サーチ・イネーブル信号ＳＣＥＢ（Ａ１）、ＳＣＥＢ（Ａ２）は省略）、検索キーがメイン・バンクＭＢＫ１およびＭＢＫ２内のバンクＢＫＡにそれぞれ入力される。
【００９７】
すなわち、図５に示したサーチ線駆動回路ＳＣＫＴにより、サーチ線ＳＬ００（Ａ１），ＳＬ００（Ａ２）が検索キーの対応するビットに応じた電圧にそれぞれ駆動されて、メイン・バンクＭＢＫ１，ＭＢＫ２内のバンクＢＫＡで検索動作がそれぞれ同時に行われる。なお、括弧内の英数字はメイン・バンクおよびバンクの添え字に対応するものであり、バンクの位置を示す。例えば、ＳＣＥＴ（Ａ１）は、メイン・バンクＭＢＫ１内のバンクＢＫＡにおけるサーチ・イネーブル信号を意味する。
【００９８】
次に、マスタ・クロックＭＣＬＫの立ち下がりエッジに同期してサーチ・コマンドＳ１Ｂが入力され、データ・クロックＤＣＬＫの立ち下がりエッジに同期して、第一の検索キーの後半ビットＤ１Ｂがデータ入出力回路ＤＩＯおよび符号化回路群ＥＮＣＢＫを介して符号化情報バスＥＮＣＢＳに入力される。また、マルチ・バンク・イネーブル信号ＧＭＢＫＥＮが非活性状態で、マスタ・クロックＭＣＬＫと同じ周期のグローバルＩＯ制御クロックＧＣＬＫＷＳが立ち下がることにより、検索キーがデマルチプレクサＷＳＤＭＵＸからグローバルＩＯ（ＧＩＯＢ）に転送される。
【００９９】
さらに、ＣＡＭ制御回路ＣＡＭＣＴＬ８において、サーチ・イネーブル信号ＳＣＥに応じたパルス信号がバンク制御クロックＢＣＬＫＢ１，ＢＣＬＫＢ２にそれぞれ発生され、さらにメイン・バンクＭＢＫ１，ＭＢＫ２内のバンクＢＫＢにおけるメモリ制御回路ＭＣにおいてサーチ・イネーブル信号ＳＣＥに応じたサーチ・イネーブル信号ＳＣＥＴ（Ｂ１）、ＳＣＥＴ（Ｂ２）がそれぞれ活性化されることにより（簡単のため、サーチ・イネーブル信号ＳＣＥＢ（Ｂ１）、ＳＣＥＢ（Ｂ２）は省略）、検索キーがメイン・バンクＭＢＫ１，ＭＢＫ２内のバンクＢＫＢにそれぞれ入力される。
【０１００】
すなわち、図５に示したサーチ線駆動回路ＳＣＫＴにより、サーチ線ＳＬ００（Ｂ１）、ＳＬ００（Ｂ２）が検索キーの対応するビットに応じた電圧にそれぞれ駆動されて、メイン・バンクＭＢＫ１，ＭＢＫ２内のバンクＢＫＢで検索動作がそれぞれ行われる。
【０１０１】
続く２サイクル目には、１サイクル目と同様に第二の検索キーが、前半ビットＤ２Ａと後半ビットＤ２Ｂとに分割して入力され、メイン・バンクＭＢＫ１，ＭＢＫ２において検索動作がそれぞれ行われる。同図では、図６と同様に、検索キーの入力から数えて４サイクル後にマッチ・アドレスが出力されると仮定しており、５サイクル目以降にマスタ・クロックＭＣＬＫを倍周したアドレス・クロックＡＣＬＫの立ち上がりと立ち下がりエッジに同期してマッチ・アドレスＡ１，Ａ２が、それぞれＲＡＭ制御回路ＲＡＭＣＴＬから出力される。以上の構成と動作により、ビット幅の広い検索キーの検索動作を、図６に示した動作と同じ６サイクルで行うことができる。
【０１０２】
つぎに、図８のＣＡＭを用いたインターリーブ・モードの検索動作について説明する。
【０１０３】
図１０は、図８のＣＡＭにおいて、２ｋビット幅の四つの検索キーをインターリーブ・モードで検索する場合の動作の一例を示す波形図である。本動作の特徴は、マスタ・クロックＭＣＬＫのサイクル時間を、メモリアレイの検索動作サイクル時間ｔＡＲＹよりも短く（ここではｔＡＲＹ／２）に設定して、高速に検索キーを受信して検索処理を行うことにある。
【０１０４】
まず、１サイクル目に、マルチ・バンク・イネーブル信号ＭＢＫＥを活性化して、検索動作をインターリーブ・モードに設定し、ＣＡＭ制御回路ＣＡＭＣＴＬ８を用いてマスタ・クロックＭＣＬＫと同じ周期のパルス信号をデータ・クロックＤＣＬＫとグローバルＩＯ制御クロックＧＣＬＫＷＳにそれぞれ発生する。また、マルチ・バンク・イネーブル信号ＭＢＫＥに応じて、マルチ・バンク・イネーブル信号ＧＭＢＫＥＮが立ち上がる。
【０１０５】
さらに、マスタ・クロックＭＣＬＫに同期してサーチ・コマンドＳ１Ａがコマンド信号群ＣＭＤを介して入力され、サーチ・イネーブル信号ＳＣＥが活性化される。同時に、データ・クロックＤＣＬＫの立ち上がりエッジに同期して、第一の検索キーの前半ビットＤ１Ａがデータ入出力回路ＤＩＯおよび符号化回路群ＥＮＣＢＫを介して符号化情報バスＥＮＣＢＳに入力され、マルチ・バンク・イネーブル信号ＧＭＢＫＥＮが活性状態で、グローバルＩＯ制御クロックＧＣＬＫＷＳが立ち上がることにより、検索キーが符号化回路群ＥＮＣＢＫからデマルチプレクサＷＳＤＭＵＸを介してグローバルＩＯ（ＧＩＯＡ）に転送される。
【０１０６】
さらに、ＣＡＭ制御回路ＣＡＭＣＴＬ８において、サーチ・イネーブル信号ＳＣＥとマルチ・バンク・イネーブル信号ＭＢＫＥに応じたパルス信号がバンク制御クロックＢＣＬＫＡ１に発生され、メイン・バンクＭＢＫ１内のバンクＢＫＡにおけるメモリ制御回路ＭＣにおいてサーチ・イネーブル信号ＳＣＥに応じてサーチ・イネーブル信号ＳＣＥＴ（Ａ１）が活性化されることにより（簡単のため、サーチ・イネーブル信号ＳＣＥＢ（Ａ１）は省略）、検索キーがメイン・バンクＭＢＫ１内のバンクＢＫＡに入力される。すなわち、図５に示したサーチ線駆動回路ＳＣＫＴにより、サーチ線ＳＬ００（Ａ１）が検索キーの対応するビットに応じた電圧に駆動されて、メイン・バンクＭＢＫ１内のバンクＢＫＡで検索動作が行われる。
【０１０７】
次に、マスタ・クロックＭＣＬＫの立ち下がりエッジに同期してサーチ・コマンドＳ１Ｂが入力され、データ・クロックＤＣＬＫの立ち下がりエッジに同期して、第一の検索キーの後半ビットＤ１Ｂがデータ入出力回路ＤＩＯおよび符号化回路群ＥＮＣＢＫを介して符号化情報バスＥＮＣＢＳに入力され、マルチ・バンク・イネーブル信号ＧＭＢＫＥＮが活性状態で、マスタ・クロックＭＣＬＫと同じ周期のグローバルＩＯ制御クロックＧＣＬＫＷＳが立ち下がることにより、検索キーがデマルチプレクサＷＳＤＭＵＸからグローバルＩＯ（ＧＩＯＢ）に転送される。
【０１０８】
さらに、ＣＡＭ制御回路ＣＡＭＣＴＬ８において、サーチ・イネーブル信号ＳＣＥに応じたパルス信号がバンク制御クロックＢＣＬＫＢ１に発生され、さらにメイン・バンクＭＢＫ１内のバンクＢＫＢにおけるメモリ制御回路ＭＣにおいて、サーチ・イネーブル信号ＳＣＥに応じてサーチ・イネーブル信号ＳＣＥＴ（Ｂ１）が活性化されることにより（簡単のため、サーチ・イネーブル信号ＳＣＥＢ（Ｂ１）は省略）、検索キーがメイン・バンクＭＢＫ１内のバンクＢＫＢに入力される。すなわち、サーチ線ＳＬ００（Ｂ１）が検索キーの対応するビットに応じた電圧に駆動されて、メイン・バンクＭＢＫ１内のバンクＢＫＢで検索動作が行われる。
【０１０９】
続く２サイクル目には、１サイクル目と同様に第二の検索キーが前半ビットＤ２Ａと後半ビットＤ２Ｂとに分割して入力され、バンク制御クロックＢＣＬＫＡ２，ＢＣＬＫＢ２が順次立ち上がるのに応じて、メイン・バンクＭＢＫ２内のバンクＢＫＡ，ＢＫＢにおいて検索動作が行われる。
【０１１０】
以上の動作を３サイクル目から４サイクル目にかけて行うことにより、第三、第四の検索キーがメイン・バンクＭＢＫ１、ＭＢＫ２でそれぞれ検索される。同図では、検索キーの入力からマッチ・アドレスが出力されるまでの時間を図６と同様と仮定している。前述したように、マスタ・クロックＭＣＬＫの周波数がバンクの検索動作周波数の倍になっているので、図６に示した動作時間に同等の８サイクル後に、ＣＡＭ制御回路ＣＡＭＣＴＬ８においてマスタ・クロックＭＣＬＫを分周して発生したアドレス・クロックＡＣＬＫの各エッジに同期してマッチ・アドレスＡ１，Ａ２，Ａ３，Ａ４が、それぞれＲＡＭ制御回路ＲＡＭＣＴＬから出力される。
【０１１１】
以上の構成と動作により、メモリアレイの検索動作サイクル時間ｔＡＲＹよりも短いサイクル時間でビット幅の広い検索キーを受信して検索動作を行うことができる。また、グローバルＩＯがチップの広範囲にわたって配線されるために負荷容量が増加し、グローバルＩＯの動作サイクル時間短縮が困難になった場合においても、二つのグローバルＩＯを交互に使うことにより、検索キーおよびエントリを高速にバンクへ転送して検索動作を行うことができる。
【０１１２】
なお、バンク数は二つに限らず、さらに多くのバンクをそれぞれ異なる位相のクロックに同期させて各種動作を行うことも可能であることは、実施の形態１と同様に、容易に理解できる。この場合、さらに高い周波数で検索キーを受信して、検索処理を行う高速ＣＡＭを実現することが可能となる。また、図８では、二つのグローバルＩＯを用いて符号化された情報をチップ内に分配する構成を示した。しかし、グローバルＩＯの数はこの限りではない。グローバルＩＯの動作サイクル時間が、検索キーの受信動作に要するサイクル時間よりも短いのであれば、一つのグローバルＩＯとすることもでき、チップ面積を抑制することが可能となる。
【０１１３】
（実施の形態３）
本実施の形態３では、実施の形態１および実施の形態２で説明したＣＡＭに用いられるサブアレイの別な構成と動作の例について説明する。図１１は、本発明による実施の形態３の半導体装置において、それに含まれるＣＡＭの図２とは異なるメモリアレイ構成例を示す回路ブロック図である。以下、図２のメモリアレイ構成との違いに注目して説明を行う。
【０１１４】
図１１に示すメモリアレイ構成の特徴は、図２および図３に示した通常のメモリブロックに加え、更にそれと同じ構成のダミー・メモリブロックＭＢＤ０，ＭＢＤ１，…をダミー・ワード線ＷＬＤ上に配置して、センスアンプ起動タイミングを発生する点にある。ダミー・メモリブロックＭＢＤ０，ＭＢＤ１，…内のダミー・サブマッチ線ＳＭＬＤ０，ＳＭＬＤ１，…とダミー・メインマッチ線ＭＭＬＤとの間には、対応するダミー・サブマッチ判定回路ＳＭＤＤ０，ＳＭＤＤ１，…がそれぞれ挿入される。
【０１１５】
また、ダミー・メモリブロックＭＢＤ０，ＭＢＤ１，…内のメモリセルＤＭＣ０，ＤＭＣ１，ＤＭＣ２，ＤＭＣ３の各々は、ダミー・ワード線ＷＬＤに接続され、各メモリセル内のトランジスタＴ３１２，Ｔ３１３のゲート電極が接地電圧ＶＳＳに固定される。ダミー・メインマッチ判定回路ＭＭＤＤは、ダミー・メインマッチ線ＭＭＬＤの電圧変化に応じたパルス信号をセンスアンプ・イネーブル信号ＳＡＥＢ，ＳＡＥＴに発生する。そして、正規のメモリブロックＭＢ００，ＭＢ０１，…に対応するメインマッチ判定回路群ＭＭＤＢ１１は、上記のセンスアンプ・イネーブル信号ＳＡＥＢ，ＳＡＥＴによって制御される。
【０１１６】
図１２は、図１１におけるダミー・サブマッチ判定回路、ダミー・メインマッチ判定回路、メインマッチ判定回路の詳細な構成例を示す回路図である。同図のダミー・サブマッチ判定回路ＳＭＤＤ０，ＳＭＤＤ１，…は、サブマッチ判定回路ＳＭＤ００，ＳＭＤ０１，…と同じトランジスタを有し、ダミー・サブマッチ判定回路ＳＭＤＤ０以外のダミー・サブマッチ判定回路ＳＭＤＤ１，…において、トランジスタＴ２０２のゲート電極がダミー・サブマッチ線から切り離されて接地されている構成となっている。また、トランジスタＴ２０１は、ゲート電極が昇圧電圧ＶＰＰに固定されているために導通しており、ダミー・サブマッチ線ＳＭＬＤ０，ＳＭＬＤ１、…は常時、プリチャージ電圧ＶＰＣに駆動されている。
【０１１７】
ここで、プリチャージ電圧ＶＰＣは、アレイ電圧ＶＤＬよりは低いが、トランジスタＴ２０２が十分導通する電圧レベルに設定されている。このため、ダミー・サブマッチ判定回路ＳＭＤＤ０内のトランジスタＴ２０２が導通し、それ以外のダミー・サブマッチ判定回路内のトランジスタＴ２０２はカットオフ状態となっている。すなわち、一つのメモリブロック（ここではダミー・メモリブロックＭＢＤ０）のみが不一致状態となっているエントリを仮定し、それに対応する信号をダミー・メインマッチ線ＭＭＬＤに発生する。なお、アレイ電圧ＶＤＬは、実施の形態１で述べた電源電圧ＶＤＤよりも低い電圧に設定されている。
【０１１８】
ダミー・メインマッチ判定回路ＭＭＤＤは、ＰＭＯＳトランジスタＴ２１１と、インバータ回路ＩＶ２１，ＩＶ２２，ＩＶ２３と、ＮＡＮＤ回路ＮＤ２１と、遅延回路ＤＬＹで構成される。トランジスタＴ２１１は、そのゲート寸法がサブマッチ判定回路内のトランジスタＴ２０２よりも大きな駆動能力となるように設定されており、ゲート電極に接続された検索イネーブル信号（検索イネーブル信号線）ＳＥＢに応じてダミー・メインマッチ線ＭＭＬＤを高速に充電する。
【０１１９】
インバータ回路ＩＶ２１は、入力端子に接続されたダミー・メインマッチ線ＭＭＬＤの電圧変化に応じた信号をノードＩＮ２０に出力する。インバータ回路ＩＶ２２，ＩＶ２３、ＮＡＮＤ回路ＮＤ２１および遅延回路ＤＬＹは、ノードＩＮ２０の電圧変化に応じてワン・ショット・パルスを発生する回路構成を実現する接続となっている。遅延回路ＤＬＹは、例えば偶数個のインバータ回路を従属接続した構成であり、ノードＩＮ２０の信号をインバータ回路ＩＶ２２で反転した後に遅延させて、ＮＡＮＤ回路ＮＤ２１の一方の入力端子に入力する。ＮＡＮＤ回路ＮＤ２１の他方の入力端子には、ノードＩＮ２０が直接接続され、ＮＡＮＤ回路ＮＤ２１の出力端子からは、センスアンプ・イネーブル信号ＳＡＥＢが発生する。また、センスアンプ・イネーブル信号ＳＡＥＢをインバータ回路ＩＶ２３で反転して、センスアンプ・イネーブル信号ＳＡＥＴを発生する。
【０１２０】
メインマッチ判定回路ＭＭＤ１１０は、図１１のメインマッチ判定回路群ＭＭＤＢ１１を構成する複数のメインマッチ判定回路の一つであり、ＰＭＯＳトランジスタＴ２２１，Ｔ２２２と、クロックド・インバータ回路ＣＩＶ２１と、ラッチ回路ＬＡで構成される。トランジスタＴ２２１は、ダミー・メインマッチ判定回路ＭＭＤＤ内におけるトランジスタＴ２１１と同じゲート寸法に設定されており、ゲート電極に接続された検索イネーブル信号ＳＥＢに応じてメインマッチ線ＭＭＬ０を高速に充電する。
【０１２１】
クロックド・インバータ回路ＣＩＶ２１は、図３に示したセンスアンプＳＡに相当するものであり、センスアンプ・イネーブル信号ＳＡＥＴ，ＳＡＥＢによって活性化され、メインマッチ線ＭＭＬ０の電圧に応じた信号をヒット信号ノードＨＩＴ０に出力する。トランジスタＴ２２２は、ソース電極とドレイン電極がアレイ電圧ＶＤＬ端子とヒット信号ノードＨＩＴ０にそれぞれ接続される。また、ゲート電極がセンスアンプ・イネーブル信号ＳＡＥＴに接続され、待機時にヒット信号ノードＨＩＴ０をアレイ電圧ＶＤＬに駆動する。ヒット信号ノードＨＩＴ０の電圧変化は、ラッチ回路ＬＡにより保持される。
【０１２２】
このような構成のメモリアレイにおいて、検索動作は以下のように行われる。
【０１２３】
はじめに、図１３に従って、検索キーとエントリとが一致する場合の検索動作を説明する。ここでは、説明を簡単にするために、図１１に示したメモリアレイが、１本のワード線あたり２つのメモリブロックを有する構成であるものと仮定する。また、注目するワード線ＷＬ０上のメモリブロックには、１〜３（１０進数）の範囲に対応するエントリが記憶されており、３（１０進数）に対応する検索キーとの比較が行われるものと仮定する。
【０１２４】
したがって、図１１では、２ビット毎にブロック符号化されたエントリ“０００１  １１１０”に応じて、メモリブロックＭＢ００内の記憶ノードＮ００およびメモリブロックＭＢ０１内の記憶ノードＮ１１〜Ｎ１３が接地電圧ＶＳＳ、メモリブロックＭＢ００内のＮ０１〜Ｎ０３およびメモリブロックＭＢ０１内の記憶ノードＮ１０が電源電圧ＶＤＤに保持されている。さらに、ダミー・ワード線ＷＬＤ上のメモリブロックにおける記憶ノードは、全て接地電圧ＶＳＳとなっているものと仮定する。
【０１２５】
まず、待機状態において、プリチャージ起動信号線ＰＣを昇圧電圧ＶＰＰに駆動することにより、サブマッチ判定回路内のトランジスタＴ２０１が導通状態にあるので、サブマッチ線ＳＭＬ００、ＳＭＬ０１がプリチャージ電圧ＶＰＣにそれぞれ駆動される。ここで、プリチャージ電圧ＶＰＣは、前述したように、サブマッチ判定回路内のトランジスタＴ２０２が十分導通する程度の電圧レベルであるので、メインマッチ線ＭＭＬ０が接地電圧ＶＳＳに駆動される。
【０１２６】
また、ダミー・サブマッチ判定回路内のトランジスタＴ２０１は、ゲート電極に昇圧電圧ＶＰＰが入力されているので導通状態にあり、ダミー・サブマッチ線ＳＭＬＤ０，ＳＭＬＤ１が常時、プリチャージ電圧ＶＰＣにそれぞれ駆動される。このため、ダミー・サブマッチ判定回路ＳＭＤＤ０内のトランジスタＴ２０２が導通しているので、ダミー・メインマッチ線ＭＭＬＤが接地電圧ＶＳＳに駆動される。
【０１２７】
検索動作が始まると、昇圧電圧ＶＰＰとなっているプリチャージ起動信号線ＰＣを接地電圧ＶＳＳに駆動して、サブマッチ線のプリチャージを止めてから、接地電圧ＶＳＳとなっているサーチ線を検索キーに応じてアレイ電圧ＶＤＬに駆動する。同図では、符号化された検索キー“０００１  １０００”に応じて、サーチ線ＳＬ００〜ＳＬ０２，ＳＬ１１〜ＳＬ１３を接地電圧ＶＳＳにそれぞれ保持したまま、接地電圧ＶＳＳとなっているサーチ線ＳＬ０３，ＳＬ１０をアレイ電圧ＶＤＬにそれぞれ駆動する例が示されている。
【０１２８】
ここで、メモリブロックＭＢ００内のメモリセルＤＭＣ３とメモリブロックＭＢ０１内のメモリセルＤＭＣ０において、トランジスタＴ３１２，Ｔ３１３が共に導通するので、プリチャージ電圧ＶＰＣとなっているサブマッチ線ＳＭＬ００，ＳＭＬ０１がそれぞれ放電される。したがって、サブマッチ判定回路ＳＭＤ００，ＳＭＤ０１内のトランジスタＴ２０２がカットオフされる。この状態で、アレイ電圧ＶＤＬとなっている検索イネーブル信号線ＳＥＢを接地電圧ＶＳＳに駆動すると、ダミー・メインマッチ判定回路ＭＭＤＤとメインマッチ判定回路ＭＭＤ１１０内のトランジスタＴ２１１が導通するので、接地電圧ＶＳＳとなっているダミー・メインマッチ線ＭＭＬＤおよびメインマッチ線ＭＭＬ０がアレイ電圧ＶＤＬに向かって高速に充電される。
【０１２９】
この後、ダミー・メインマッチ線ＭＭＬＤおよびメインマッチ線ＭＭＬ０が参照電圧ＶＲＥＦよりも十分高い電圧まで充電されたタイミングで、接地電圧ＶＳＳとなっている検索イネーブル信号ＳＥＢをアレイ電圧ＶＤＬに駆動することによりトランジスタＴ２１１をカットオフ状態として、充電を停止する。次いで、ダミー・サブマッチ判定回路ＳＭＤＤ０におけるトランジスタＴ２０２が導通しているので、ダミー・メインマッチ線ＭＭＬＤの電圧が接地電圧ＶＳＳに向けて低下していく。
【０１３０】
ここで、ダミー・メインマッチ判定回路ＭＭＤＤは、ダミー・メインマッチ線ＭＭＬＤの電圧が参照電圧ＶＲＥＦを下回った際のタイミングを検出し、このタイミングに基づいてメインマッチ判定回路ＭＭＤ１１０内のクロックド・インバータ回路ＣＩＶ２１（センスアンプＳＡ）を活性化すると共に、その活性化する時間幅を決定する。
【０１３１】
すなわち、図１２のダミー・メインマッチ判定回路ＭＭＤＤは、ダミー・メインマッチ線ＭＭＬＤの電圧変化に応じたパルス信号を、インバータ回路ＩＶ２１を介してノードＩＮ２０に発生し、更に、ＮＡＮＤ回路ＮＤ２１を介してアレイ電圧ＶＤＬとなっているセンスアンプ・イネーブル信号ＳＡＥＢを接地電圧ＶＳＳに、接地電圧ＶＳＳとなっているセンスアンプ・イネーブル信号ＳＡＥＴをアレイ電圧ＶＤＬにそれぞれ駆動する。これによって、メインマッチ判定回路ＭＭＤ１１０におけるトランジスタＴ２２２がカットオフ状態となり、クロックド・インバータＣＩＶ２１が活性化される。ここで、メインマッチ線ＭＭＬ０は高電圧に保持されているので、アレイ電圧ＶＤＬとなっているヒット信号ノードＨＩＴ０は接地電圧ＶＳＳに放電される。
【０１３２】
その後、ダミー・メインマッチ判定回路ＭＭＤＤは、ワン・ショット・パルス発生回路を用いて、接地電圧ＶＳＳとなっているセンスアンプ・イネーブル信号ＳＡＥＢをアレイ電圧ＶＤＬに、アレイ電圧ＶＤＬとなっているセンスアンプ・イネーブル信号ＳＡＥＴを接地電圧ＶＳＳにそれぞれ駆動して、クロックド・インバータＣＩＶ２１を不活性状態にする。また、トランジスタＴ２２２が導通することによりヒット信号ノードＨＩＴがアレイ電圧ＶＤＬに駆動される。さらに、接地電圧ＶＳＳとなっているプリチャージ起動信号線ＰＣを昇圧電圧ＶＰＰに駆動することにより、サブマッチ線ＳＭＬ００，ＳＭＬ０１をプリチャージ電圧ＶＰＣに、メインマッチ線ＭＭＬ０を接地電圧ＶＳＳに駆動して、再び待機状態に戻る。
【０１３３】
次に、図１４に従って、検索キーとエントリとが一致しない場合の検索動作を説明する。ここでは、図１３と同様に、ワード線ＷＬ０上のメモリブロックには、１〜３（１０進数）の範囲に対応するエントリ（“０００１  １１１０”）が記憶されており、０（１０進）に対応する検索キーとの比較が行われるものと仮定する。なお、プリチャージ動作や各信号の駆動タイミングは図１３の説明と同じであるので、以下では省略する。
【０１３４】
検索動作が始まると、符号化された検索キー“０００１  ０００１”に応じて、サーチ線ＳＬ０１〜ＳＬ０３，ＳＬ１１〜ＳＬ１３を接地電圧ＶＳＳにそれぞれ保持したまま、接地電圧ＶＳＳとなっているサーチ線ＳＬ００，ＳＬ１０をアレイ電圧ＶＤＬに駆動する。ここで、メモリブロックＭＢ０１内のメモリセルＤＭＣ０において、トランジスタＴ３１２，Ｔ３１３が共に導通するので、プリチャージ電圧ＶＰＣとなっているサブマッチ線ＳＭＬ０１が放電される。
【０１３５】
しかし、メモリブロックＭＢ００において導通状態となるトランジスタは、メモリセルＤＭＣ０内のトランジスタＴ３１２とメモリセルＤＭＣ１〜ＤＭＣ３内のトランジスタＴ３１３であるので、いずれのメモリセルにおいてもサブマッチ線ＳＭＬ００と接地電極との間に電流経路が形成されない。すなわち、サブマッチ線ＳＭＬ００は、プリチャージ電圧ＶＰＣに保たれ、サブマッチ判定回路ＳＭＤ００内のトランジスタＴ２０２は導通状態に保持される。
【０１３６】
したがって、検索イネーブル信号線ＳＥＢの活性化に伴いトランジスタＴ２１１から注入された電荷は、ダミー・メインマッチ線ＭＭＬＤと同様にメインマッチ線ＭＭＬ０からトランジスタＴ２０２を経て放電されるので、ダミー・メインマッチ線ＭＭＬＤとメインマッチ線ＭＭＬ０の電圧はセンスアンプの論理しきい値ＶＲＥＦより低いレベルに抑えられる。したがって、前述したセンスアンプ・イネーブル信号ＳＡＥＴ，ＳＡＥＢによってメインマッチ判定回路ＭＭＤ１１０内のクロックド・インバータＣＩＶ２１が活性化されても、ヒット信号ノードＨＩＴ０はアレイ電圧ＶＤＬに保持される。
【０１３７】
以上の構成と動作により、図１１および図１２に示したメモリアレイは、次の三つの効果を得る。第一に、メインマッチ判定回路ＭＭＤ１１０内のＰＭＯＳトランジスタＴ２１１のゲート寸法を、サブマッチ判定回路内のＮＭＯＳトランジスタＴ２０２よりも大きな駆動能力となるように設定して、先にメインマッチ線を高電圧に駆動してからトランジスタＴ２０２で放電することにより、検索キーとエントリとの比較結果に応じた電圧信号をメインマッチ線に高速に発生することが可能となる。
【０１３８】
第二に、ダミー・メモリブロックＭＢＤ０，ＭＢＤ１，…、ダミー・サブマッチ判定回路ＳＭＤＤ０，ＳＭＤＤ１，…、およびダミー・メインマッチ判定回路ＭＭＤＤを配置して、一つのメモリブロックが不一致だった場合のエントリに対応した信号をダミー・メインマッチ線ＭＭＬＤに発生することにより、不一致エントリの中でも最も信号の発生に時間を要する動作に応じたタイミングでセンスアンプ・イネーブル信号ＳＡＥＴ，ＳＡＥＢを発生することができる。このように、センスアンプ・イネーブル信号の起動タイミングを最適化することによって、起動タイミングが早すぎることによる消費電力の増加や起動タイミングが遅すぎることによる動作速度の低下を抑制することが可能となる。
【０１３９】
第三に、クロックド・インバータＣＩＶ２１の出力を、デフォルトで不一致信号レベルとしておくことで、検索動作における消費電力を大幅に抑制することが可能となる。すなわち、通常、一致エントリは検索テーブルの極僅かしか存在せず、その数少ない一致エントリに対応するクロックド・インバータＣＩＶ２１のみが出力を反転させる動作を行う。したがって、実使用上の消費電力は、一致エントリに対応するクロックド・インバータＣＩＶ２１とそれに対応するラッチ回路ＬＡに限定される。
【０１４０】
なお、図１２では、ダミー・メインマッチ線ＭＭＬＤを放電するダミー・サブマッチ判定回路をダミー・メインマッチ判定回路ＭＭＤＤに一番近いダミー・サブマッチ判定回路ＳＭＤＤ０とする構成を示した。しかし、ダミー・メインマッチ線ＭＭＬＤを放電するダミー・サブマッチ判定回路の配置はこれに限らず、種々の配置が可能である。一般に、信号の伝播時間は送信部（または駆動回路。ここでは、ダミー・サブマッチ判定回路。）から受信部（ここでは、ダミー・メインマッチ判定回路ＭＭＤＤ。）の距離に依存するので、例えば、ダミー・メインマッチ判定回路ＭＭＤＤの最遠端に位置するダミー・サブマッチ判定回路を、ダミー・メインマッチ線ＭＭＬＤを放電するダミー・サブマッチ判定回路としすることによって、センスアンプ・イネーブル信号ＳＡＥＴ，ＳＡＥＢの起動タイミング精度を高めることができる。
【０１４１】
以上、本発明者によってなされた発明を発明の実施の形態に基づき具体的に説明したが、最後に本発明によるＣＡＭを適用したネットワーク・ルータＮＲの構成例について、図１５に従い説明する。同図では、説明を簡単にするために、要部ブロックとしてルータ・マネージャ群ＲＭＢ、クロスバ・スイッチ群ＣＢＳＷＢ、およびパケット・プロセッサ・ユニットＰＰＵ０〜ＰＰＵｙが示されている。
【０１４２】
ルータ・マネージャ群ＲＭＢは、複数の中央演算処理装置（ＣＰＵ）で構成され、ネットワーク・ルータ全体の設定、制御を行う。クロスバ・スイッチ群ＣＢＳＷＢは、処理するパケットの転送経路に応じて所望のパケット・プロセッサ・ユニット同士を接続する。パケット・プロセッサ・ユニットＰＰＵ０〜ＰＰＵｙは、対応するネットワークＩＰＮ０〜ＩＰＮｙとの間でパケットの授受をそれぞれ行うブロックである。
【０１４３】
なお、１３０は、本ネットワーク・ルータが処理するパケットＰＣＴを模式的に示している。パケットＰＣＴは、二つの領域に大別される。一方の１４０はヘッダ領域ＨＤＲ、他方の１３１はペイロード領域ＰＹＬＤである。ヘッダ領域ＨＤＲ１４０は、さらに、図１６に示すような複数（ここでは三つ）の領域１４１，１４２，１４３で構成される。
【０１４４】
領域１４１は、第２層のヘッダＬ２ＨＤＲであり、送信元ＭＡＣアドレス（Ｓｏｕｒｃｅ  ａｄｄｒｅｓｓ  Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）や宛先ＭＡＣアドレス（Ｄｅｓｔｉｎａｔｉｏｎ  ａｄｄｒｅｓｓ  Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）などを有する。領域１４２は、第３層のヘッダＬ３ＨＤＲであり、送信元ＩＰアドレス（Ｓｏｕｒｃｅ  ＩＰ  ａｄｄｒｅｓｓ）や宛先ＩＰアドレス（Ｄｅｓｔｉｎａｔｉｏｎ  ＩＰ  ａｄｄｒｅｓｓ）などを有する。領域１４３は、第４層のヘッダＬ４ＨＤＲであり、プロトコルすなわち上位アプリケーションを表す送信元ポート（Ｓｏｕｒｃｅ  ｐｏｒｔ）や宛先ポート（Ｄｅｓｔｉｎａｔｉｏｎ  ｐｏｒｔ）などを有する。
【０１４５】
ペイロード領域ＰＹＬＤは、電子メールの本文やテキスト・ファイルなどの送信者が指定した情報などを有する。なお、同図に示された矢印１３２は、パケットＰＣＴの転送経路、矢印１３３は、ヘッダ領域の転送経路である。以下では、これらの経路に注目しながら、パケット・プロセッサ・ユニットＰＰＵ０〜ＰＰＵｙの詳細な構成を説明する。
【０１４６】
パケット・プロセッサ・ユニットＰＰＵ０〜ＰＰＵｙの各々は、ネットワーク・インタフェイスＮＩＦと、パケット・フォワーディング・プロセッサＰＦＰと、検索エンジンＳＥと、本実施の形態によるコンテント・アドレッサブル・メモリＣＡＭと、ＤＲＡＭなどが用いられるコンテント・メモリＣＭと、パケット・プロセッサ・ユニット用中央演算処理装置ＰＰＵＰなどで構成される。
【０１４７】
ネットワーク・インタフェイスＮＩＦとパケット・フォワーディング・プロセッサＰＦＰは、システム・バスＳＢＳで接続されている。パケット・フォワーディング・プロセッサＰＦＰと検索エンジンＳＥは、内部バスＩＢＳで接続されている。検索エンジンＳＥとコンテント・アドレッサブル・メモリＣＡＭは、データ・バスＤＱ、マスタ・クロックＭＣＬＫ、マルチ・バンク・イネーブル信号ＭＢＫＥで接続され、検索エンジンＳＥとコンテント・メモリＣＭは、コンテント・データ・バスＣＢＳで接続されている。コンテント・アドレッサブル・メモリＣＡＭとコンテント・メモリＣＭは、コンテント・アドレス・バスＣＡＤＤで接続されている。
【０１４８】
ルータＮＲは、例えばインターネット網ＩＰＮ０とパケット・プロセッシング・ユニットＰＰＵ０との間で、ネットワーク・インタフェイスＮＩＦを介してパケットＰＣＴの送受信を行う。パケット・フォワーディング・プロセッサＰＦＰは、受信したパケットの内容を解読し、そのペイロード領域ＰＹＬＤを保持しつつ、ヘッダ領域ＨＤＲを検索エンジンＳＥに転送する。検索エンジンＳＥは、パケット・プロセッシング・バスＰＰＢＳを介して接続されたパケット・プロセッシング・ユニット用中央演算処理装置ＰＰＵＰを用いてヘッダ領域から所望の情報を抽出して検索キーとしてコンテント・アドレッサブル・メモリＣＡＭに転送する。
【０１４９】
コンテント・アドレッサブル・メモリＣＡＭは、実施の形態１や実施の形態２で説明したように、マスタ・クロックＭＣＬＫに同期して検索キーを受信し、マルチ・バンク・イネーブル信号ＭＢＫＥに応じたモードで検索動作を行う。コンテント・アドレッサブル・メモリＣＡＭには、検索キーと同じ形式の情報で構成されたエントリが多数格納されており、検索動作によって一致したエントリに対応するアドレスを発生する。このアドレスがコンテント・アドレス・バスＣＡＤＤを介してコンテント・メモリＣＭに入力されることにより、該当するエントリに関する情報がコンテント・メモリＣＭから読み出され、検索エンジンＳＥを介してパケット・フォワーディング・プロセッサＰＦＰに転送される。
【０１５０】
ここで読み出された情報は、例えば、宛先までの最適な経路情報などが含まれる転送制御情報である。パケット・フォワーディング・プロセッサＰＦＰは、この転送制御情報に基づいてヘッダ領域ＨＤＲの内容を書き換え、前述したペイロード領域ＰＹＬＤと共にパケットＰＣＴを再構築する。そして、このパケットＰＣＴをクロスバ・スイッチ群ＣＢＳＷＢから指定されたパケット・プロセッシング・ユニットを介して、次の中継点であるネットワーク・ルータに接続されたネットワークへ転送する。
【０１５１】
このようなルータＮＲの構成において、検索キーは、検索エンジンＳＥおよびパケット・プロセッサ・ユニット用中央演算処理装置ＰＰＵＰを用いて発生される。一方、コンテント・アドレッサブル・メモリＣＡＭに記憶さるエントリは、ルータＮＲの管理者が設定した情報ＥＴＲをルータ・マネージャ群ＲＭＢもしくはパケット・プロセッサ・ユニット用中央演算処理装置ＰＰＵＰで解析しながら発生、登録する。
【０１５２】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【０１５３】
例えば、本発明によるＣＡＭは、オフチップすなわち単体デバイスに限らず、所謂システム・オン・チップ（ＳｏＣ）と呼ばれるシステムＬＳＩに搭載されるＣＡＭブロックにも適用することが可能であり、これまで述べた実施の形態と同様の効果が得られる。また、メモリセルは、図３のＤＲＡＭセルをベースとした構成以外とすることも可能である。例えば、ＳＲＡＭセルとすることによりＣＡＭの製造工程が簡素化されるので、チップ単価を抑制することができる。
【０１５４】
別の例として、フラッシュ・メモリや強誘電体ＲＡＭ（フェロエレクトリック・ランダム・アクセス・メモリ）、ＭＲＡＭ（マグネトレジスティブ・ランダム・アクセス・メモリ）などのメモリセルを適用することも可能である。この場合、いずれも不揮発性のメモリセル構造であるので、電源遮断事故が起こっても、短時間に検索動作を再開することができる。
【０１５５】
また、図３および図１２では、サブマッチ線と接地電極との間に、ＮＭＯＳトランジスタをＴ３１２、Ｔ３１３の順に直列接続するメモリセル構成を示したが、順番を逆にしても同様の検索動作が可能である。さらに、図１や図８では、３値情報および４値情報に対応した符号化回路群と復号回路群を具備した構成を示したが、周辺回路の構成はこの限りではなく、Ｏｎｅ−ｈｏｔ−ｓｐｏｔブロック符号化したエントリおよび検索キーを処理するＣＡＭであれば、種種の変形が可能である。例えば、参考文献１の図８に示されているように、チップ内部に圧縮回路および伸張回路を具備した回路構成でも同様な効果を得ることができる。
【０１５６】
なお、本実施の形態では、図２および図３に示したメモリブロックを例に、検索キーおよびエントリを２ビット毎に符号化して検索および記憶するＣＡＭ構成を示した。しかし、ＣＡＭ構成はこの限りではなく、符号化ビット数は、参考文献１の図２１に示されているように、３ビット以上でも可能である。例えば、３ビット毎に符号化する場合、メモリブロックを参考文献１の図１２に示されているように八つのメモリセルからなる構成とし、これに応じて符号化情報バスやグローバルＩＯなど符号化情報を伝達するバス幅を拡張した構成とする。このような構成とすることにより、一つのエントリあたりの情報量が向上し、実効的に容量の大きなＣＡＭを実現することができる。
【０１５７】
また、実施の形態１および実施の形態２で説明したインターリーブ動作を実現するＣＡＭ構成は、ターナリＣＡＭにも適用できる。すなわち、ターナリＣＡＭセルの構成は、参考文献１の図４に示されているように、本明細書の図２および図３に示したメモリセルを二つ組み合せた構成と同じであるので、図４および図５に示した構成を用いて正確な読み書きおよびリフレッシュ動作を行うことにより、高信頼、高速ターナリＣＡＭを実現可能となる。
【産業上の利用可能性】
【０１５８】
本発明の半導体装置は、複数にバンク化されたメモリアレイをインターリーブ動作させることにより、メモリアレイの検索動作サイクルよりも速いサイクルで検索キーを受信して、遅滞なく検索することが可能であり、急激に向上する回線速度を律することなくテーブル検索行うネットワーク・ルータ技術に適している。
【図面の簡単な説明】
【０１５９】
【図１】本発明の実施の形態１の半導体装置において、それに含まれるＣＡＭの要部ブロックの基本構成例を示すブロック図である。
【図２】本発明の前提として検討したＣＡＭのメモリアレイ構成を示す回路ブロック図である。
【図３】図２における各回路ブロックの詳細な構成を示す回路図である。
【図４】図１におけるバンクＢＫ１，ＢＫ２の構成の一例を示す回路ブロック図である。
【図５】図４における読み書き検索回路ＲＷＳＣＴ００を例に、その構成の一例を示す回路図である。
【図６】図１のＣＡＭにおいて、二つの検索キーＤ１，Ｄ２を基本モードで検索する場合の動作の一例を示す波形図である。
【図７】図１のＣＡＭにおいて、四つの検索キーＤ１，Ｄ２，Ｄ３，Ｄ４をインターリーブ・モードで検索する場合の動作の一例を示す波形図である。
【図８】本発明の実施の形態２の半導体装置において、それに含まれるＣＡＭの要部ブロックの基本構成例を示すブロック図である。
【図９】図８のＣＡＭにおいて、データ・バスＤＱのバス幅よりも広い２ｋビット幅の二つの検索キーを基本モードで検索する場合の動作の一例を示す波形図である。
【図１０】図８のＣＡＭにおいて、２ｋビット幅の四つの検索キーをインターリーブ・モードで検索する場合の動作の一例を示す波形図である。
【図１１】本発明による実施の形態３の半導体装置において、それに含まれるＣＡＭの図２とは異なるメモリアレイ構成例を示す回路ブロック図である。
【図１２】図１１におけるダミー・サブマッチ判定回路、ダミー・メインマッチ判定回路、メインマッチ判定回路の詳細な構成例を示す回路図である。
【図１３】図１２のサブアレイにおいて、一致エントリを検出する場合の検索動作の一例を示す波形図である。
【図１４】図１２のサブアレイにおいて、不一致エントリを検出する場合の検索動作の一例を示す波形図である。
【図１５】ルータの構成例を模式的に示す説明図である。
【図１６】図１５のルータで転送処理するパケットの構成例を模式的に示す説明図である。
【符号の説明】
【０１６０】
Ｔ２０１，Ｔ２０２，Ｔ２１１，Ｔ３１１，Ｔ３１２，Ｔ３１３，Ｔ３２１，Ｔ３２２，Ｔ３３１，Ｎ５００，Ｎ５０１，Ｎ５１０，Ｎ５１１，Ｎ５１２，Ｎ５２０，Ｎ５２１，Ｎ５２２，Ｎ５２３，Ｎ５３０，Ｎ５３１，Ｎ５４０，Ｎ５４１，Ｎ５４３  ＮＭＯＳトランジスタ
Ｔ２１１，Ｔ２２１，Ｔ２２２，Ｐ５００，Ｐ５０１，Ｐ５２０，Ｐ５２１，Ｐ５４０，Ｐ５４１  ＰＭＯＳトランジスタ
Ｃ  キャパシタ、
ＤＭＣ０，ＤＭＣ１，ＤＭＣ２，ＤＭＣ３  メモリセル
ＭＭＬｍ（ｍ＝０，１，…）  メインマッチ線
ＭＭＬＤ  ダミー・メインマッチ線
ＳＭＬｍｊ（ｍ＝０，１，…、ｊ＝０，１，…）  サブマッチ線
ＳＭＬＤｊ（ｊ＝０，１，…）  ダミー・サブマッチ線
ＷＬｍ（ｍ＝０，１，…）  ワード線
ＷＬＤ  ダミー・ワード線
ＢＬｎｘ（ｎ＝０，１，…、ｘ＝０，１，…）  ビット線
ＳＬｎｘ（ｎ＝０，１，…、ｘ＝０，１，…）  サーチ線
ＰＣ  プリチャージ起動信号線
ＳＥＢ  検索イネーブル信号線
Ｎｎｘ（ｎ＝０，１，…、ｘ＝０，１，…）  記憶ノード
ＭＢｍｊ（ｍ＝０，１，…、ｊ＝０，１，…）  メモリブロック
ＭＢＤｊ（ｍ＝０，１，…、ｊ＝０，１，…）  ダミー・メモリブロック
ＳＭＤｍｊ（ｍ＝０，１，…、ｊ＝０，１，…）  サブマッチ判定回路
ＳＭＤＤｊ（ｍ＝０，１，…、ｊ＝０，１，…）  ダミー・サブマッチ判定回路
ＷＤＢ  ワード・ドライバ群
ＭＭＤＢ，ＭＭＤＢ１１  メインマッチ判定回路群
ＳＤＢ  サーチ線駆動回路群
ＲＷＢ  読み書き回路群
ＲＷＳＢＫ  読み書き検索回路群
ＳＡＲＹＵ，ＳＡＲＹＬ  サブアレイ
ＭＭＤ０，ＭＭＤ１１０  メインマッチ判定回路
ＭＭＤＤ  ダミー・メインマッチ判定回路
ＲＷＳＢＫｎｘ（ｎ＝０，１，…、ｘ＝０，１，…）  読み書き検索回路
ＳＡ  センスアンプ
ＥＱ  イコライズ回路
ＲＣＫＴ  読み出し回路
ＷＣＫＴ  書き込み回路
ＳＣＫＴ  サーチ線駆動回路
ＶＤＤ  電源電圧
ＶＳＳ  接地電圧
ＶＤＬ  アレイ電圧
ＶＰＣ  プリチャージ電圧
ＣＳＰ，ＣＳＮ  共通ソース線
ＢＬＥＱ  ビット線イコライズ信号
ＲＤＵ，ＲＤＬ，ＲＤ  読み出し起動信号
ＷＴＵ，ＷＴＬ  書き込み起動信号
ＳＣＥＴ，ＳＣＥＢ  検索起動信号
ＩＶ２１，ＩＶ２２，ＩＶ２３  インバータ回路
ＣＩＶ２１  クロックド・インバータ回路
ＬＡ  ラッチ回路
ＮＤ  ＮＡＮＤ回路
ＤＬＹ  遅延回路
ＨＩＴ０  ヒット信号ノード
ＣＡＤＤ  コンテント・アドレス・バス
ＤＱ  データ・バス
ＤＢＳ  内部データ・バス
ＤＩＯ  データ入出力回路
ＢＫ１，ＢＫ２，ＢＫＡ，ＢＫＢ  バンク
ＭＣ  メモリ制御回路
ＭＢＫ１，ＭＢＫ２  メイン・バンク
ＣＡＭＣＴＬ１，ＣＡＭＣＴＬ８  ＣＡＭ制御回路
ＴＯＢＥＮＣ，ＱＯＢＥＮＣ  符号化回路群
ＥＮＣＢＫ  符号化回路群
ＯＢＴＤＥＣ，ＯＢＱＤＥＣ  復号回路群
ＤＥＣＢＫ  復号回路群
ＭＰＥ  メイン・プライオリティ・エンコーダ
ＰＥ  プライオリティ・エンコーダ
ＲＡＭＣＴＬ  ＲＡＭ制御回路
ＣＤＥＣ  コマンド・デコーダ
ＷＳＤＭＵＸ  デマルチプレクサ
ＲＭＵＸ  マルチプレクサ
ＲＥＧＢＫ  各種レジスタ群
ＩＮＭＤ１〜ＩＮＭＤｓ  入力マスク／差レジスタ群
ＯＵＴＭＤ１〜ＯＵＴＭＤｓ  出力マスク／差レジスタ群
ＤＦＩ１〜ＤＦＩｓ  データ領域識別レジスタ群
ＭＡ１〜ＭＡｓ  マッチ・アドレス・レジスタ
ＣＭＤ  外部コマンド信号群
ＭＣＬＫ  マスタ・クロック
ＭＢＫＥ，ＧＭＢＫＥＮ  マルチ・バンク・イネーブル信号
ＩＮＭＤＢＳ  入力マスク／差バス
ＯＵＴＭＤＢＳ  出力マスク／差バス
ＨＢＳＵ，ＨＢＳＬ  ヒット信号バス
ＭＡＢＳ  マッチ・アドレス・バス
ＳＭＡＢＳＡ，ＳＭＡＢＳＢ  サブ・マッチ・アドレス・バス
ＤＦＩＢＳ  データ領域識別バス
ＥＮＣＢＳ  符号化情報バス
ＧＩＯＡ，ＧＩＯＢ  グローバルＩＯ
ＥＮＣＬｎｘ（ｎ＝０，１，…、ｘ＝０，１，…）  符号化データ線
ＲＤＥ  リード・イネーブル信号
ＷＴＥ  ライト・イネーブル信号
ＳＣＥ  サーチ・イネーブル信号
ＡＣＬＫ  コンテント・アドレス・クロック
ＤＣＬＫ  データ・クロック
ＢＣＬＫ１，ＢＣＬＫ２，ＢＣＬＫＡ１，ＢＣＬＫＡ２，ＢＣＬＫＢ１，ＢＣＬＫＢ２  バンク制御クロック
ＧＣＬＫＷＳ，ＧＣＬＫＲ  グローバルＩＯ制御クロック
１３０  パケット
１３１  ペイロード領域
１４０  ヘッダ領域
１４１  第２層ヘッダ領域
１４２  第３層ヘッダ領域
１４３  第４層ヘッダ領域
ＮＲ  ネットワーク・ルータ
ＮＩＦ  ネットワーク・インタフェイス
ＰＦＰ  パケット・フォワーディング・プロセッサ
ＳＥ  検索エンジン
ＣＡＭ  コンテント・アドレッサブル・メモリ
ＣＭ  コンテント・メモリ
ＰＰＵ  パケット・プロセッシング・ユニット
ＰＰＵＰ  パケット・プロセッシング・ユニット用中央演算処理装置
ＲＭＢ  ルーティング・マネージャ群
ＣＢＳＷＢ  クロスバ・スイッチ群
ＣＢＳ  コンテント・バス
ＰＰＢＳ  パケット・プロセッシング・バス
ＩＰＮｘ（ｘ＝０，１，…，ｙ）  ネットワーク
ＳＢＳ  システム・バス
ＩＢＳ  内部バス
ＥＴＲ  ルータＮＲの管理者が設定した情報
【図１】
2006228325.tif 000003
【図２】
2006228325.tif 000004
【図３】
2006228325.tif 000005
【図４】
2006228325.tif 000006
【図５】
2006228325.tif 000007
【図６】
2006228325.tif 000008
【図７】
2006228325.tif 000009
【図８】
2006228325.tif 000010
【図９】
2006228325.tif 000011
【図１０】
2006228325.tif 000012
【図１１】
2006228325.tif 000013
【図１２】
2006228325.tif 000014
【図１３】
2006228325.tif 000015
【図１４】
2006228325.tif 000016
【図１５】
2006228325.tif 000017
【図１６】
2006228325.tif 000018