(57)【特許請求の範囲】
【請求項１】
外部から与えられた検索データについて順に検索対象とされる第１、第２、…、第ｋ（但し、ｋ＝２以上の整数である。）のメモリセルアレイと、
第ｉ（但し、ｉ＝１、２、…、ｋである。）のメモリセルアレイに対応して設けられた第ｉのマッチライン・センスアンプと、
第ｊ（但し、ｊ＝１、…、ｋ−１である。）のマッチライン・センスアンプの出力値が、第ｊのメモリセルアレイが前記検索データと同一データを記憶しているメモリセルアレイでないことを示している場合にのみ、第ｊ＋１のメモリセルアレイについて検索を行うように検索動作を制御する第ｊの制御部と、
前記第ｉのマッチライン・センスアンプの出力値が、前記検索データが前記第ｉのメモリセルアレイに記憶されているデータのいずれかと一致したことを示している場合には、前記検索データと同一データを記憶するメモリセル部分の前記第ｉのメモリセルアレイ内の番地を示す第１型の第ｉのアドレス信号を出力する第１型の第ｉのエンコーダと、
前記第１型の第ｉのアドレス信号を入力し、前記第１型の第ｉのアドレス信号が示す番地を前記第１〜第ｋのメモリセルアレイを１つのメモリセルアレイとして見た場合の番地に変換し、該変換した番地を示す第２型の第ｉのアドレス信号を出力する第２型の第ｉのエンコーダとを備え、
第２型の第１、第２、…、第ｋのエンコーダは、第２型の第１、…、第ｋ−１のエンコーダが出力する第２型の第１、…、第ｋ−１のアドレス信号を第２型の第ｋのエンコーダに向けてパイプライン転送できるように接続されていること
を特徴とする連想メモリ。
【請求項２】
前記第ｉのメモリセルアレイに対応して設けられ、前記第ｉのメモリセルアレイ内のメモリセルに接続された第ｉのサーチバスと、
前記第ｉのメモリセルアレイに対応して設けられ、前記第ｉのサーチバスを駆動して前記第ｉのメモリセルアレイ内のメモリセルを検索動作状態に設定する第ｉのサーチドライバ部とを備え、
前記第ｊの制御部は、
前記第ｊのマッチライン・センスアンプの出力値から、前記第ｊのメモリセルアレイが前記検索データと同一データを記憶しているメモリセルアレイでないことを示しているか否かを判定する第ｊの検索結果判定回路と、
前記第ｊの検索結果判定回路が、前記第ｊのメモリセルアレイは前記検索データと同一データを記憶しているメモリセルアレイではないと判定した場合には、第ｊ＋１のサーチドライバ部を活性化し、前記第ｊのメモリセルアレイが前記検索データと同一データを記憶しているメモリセルアレイであると判定した場合には、前記第ｊ＋１のサーチドライバ部を非活性とする第ｊ＋１のサーチドライバ部活性化回路とを備えること
を特徴とする請求項１に記載の連想メモリ。
【請求項３】
第ｊのサーチバスの論理値を前記第ｊ＋１のサーチドライバ部に転送する転送手段を備え、
第１のサーチドライバ部は、前記外部から与えられた検索データに基づいて第１のサーチバスを駆動し、
前記第ｊ＋１のサーチドライバ部は、第ｊ＋１のサーチバスの論理値が前記第ｊのサーチバスの論理値と同一となるように前記第ｊ＋１のサーチバスを駆動すること
を特徴とする請求項２に記載の連想メモリ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、連想メモリ（ＣＡＭ：Content Addressable Memory）、即ち、外部から与えられた検索データと同一データを記憶するアドレスを検索し、検索データと同一データを記憶するアドレスを示すアドレス信号を外部に出力する機能（いわゆる検索機能）を有するメモリに関する。
【背景技術】
【０００２】
図１７は連想メモリの機能をＲＡＭ（Random Access Memory）と比較して説明するための図である。図１７中、１はＲＡＭ、２は連想メモリである。ＲＡＭ１は、書き込み及び読み出しが可能とされたものであり、（Ａ）に示すように、ライトコマンドとアドレス信号とデータが与えられると、アドレス信号が指示するアドレスに対するデータの書き込みを行い、（Ｂ）に示すように、リードコマンドとアドレス信号が与えられると、アドレス信号が指示するアドレスからデータを読み出して出力する。
【０００３】
連想メモリ２は、書き込み、読み出し及び検索が可能とされたものであり、（Ｃ）に示すように、ライトコマンドとアドレス信号とデータが与えられると、アドレス信号が指示するアドレスに対するデータの書き込みを行い、（Ｄ）に示すように、リードコマンドとアドレス信号が与えられると、アドレス信号が指示するアドレスからデータを読み出して出力し、（Ｅ）に示すように、検索コマンドとデータが与えられると、与えられたデータと同一データを記憶するアドレスを検索し、検索したアドレスを示すアドレス信号を出力する。
【０００４】
図１８は連想メモリが備えるメモリセルの一例を示す回路図である。図１８中、ＷＬはライト／リード時にメモリセルの選択を行うためのワードライン、ＢＬ、ＸＢＬはライト時にはライトアンプが出力する相補化されたライトデータのメモリセルへの伝送を行い、リード時にはメモリセルから読み出された相補化されたリードデータのセンスアンプへの伝送を行うためのビットライン、ＳＢ、ＸＳＢは外部から与えられた検索データを相補化してなるデータをサーチドライバからメモリセルに伝送するためのサーチバス、ＭＬは検索データとメモリセルの記憶データとの一致、不一致を検出するためのマッチライン、３はＳＲＡＭ（Static Random Access Memory）セルからなるメモリセルである。
【０００５】
また、メモリセル３において、４は記憶媒体をなすフリップフロップであり、５、６はインバータ、Ｓ０、Ｓ１はストレージノードである。７、８はワードラインＷＬの電位によりＯＮ、ＯＦＦが制御されるＮＭＯＳトランジスタ、９はストレージノードＳ０の電位によりＯＮ、ＯＦＦが制御されるＮＭＯＳトランジスタ、１０はストレージノードＳ１の電位によりＯＮ、ＯＦＦが制御されるＮＭＯＳトランジスタ、１１はサーチバスＸＳＢの電位によりＯＮ、ＯＦＦが制御されるＮＭＯＳトランジスタ、１２はサーチバスＳＢの電位によりＯＮ、ＯＦＦが制御されるＮＭＯＳトランジスタである。
【０００６】
本例では、メモリセル３に対するデータの書き込み及びメモリセル３からのデータの読み出しは、ワードラインＷＬと、ビットラインＢＬ、ＸＢＬと、ＮＭＯＳトランジスタ７、８とを使用して行われる。表１はメモリセル３に対するデータ書き込み時及びメモリセル３からのデータ読み出し時におけるメモリセル３の記憶データとストレージノードＳ０、Ｓ１の論理値とビットラインＢＬ、ＸＢＬの論理値との関係を示している。
【０００７】
【表１】
0005119912.tif 000002
【０００８】
ここで、メモリセル３にデータ“０”を書き込む場合には、ワードラインＷＬの論理値＝“１”、ＮＭＯＳトランジスタ７、８の状態＝ＯＮ、ビットラインＢＬの論理値＝“０”、ビットラインＸＢＬの論理値＝“１”とすることにより、ストレージノードＳ０の論理値＝“０”、ストレージノードＳ１の論理値＝“１”とし、その後、ワードラインＷＬの論理値＝“０”、ＮＭＯＳトランジスタ７、８の状態＝ＯＦＦとする。
【０００９】
これに対して、メモリセル３にデータ“１”を書き込む場合には、ワードラインＷＬの論理値＝“１”、ＮＭＯＳトランジスタ７、８の状態＝ＯＮ、ビットラインＢＬの論理値＝“１”、ビットラインＸＢＬの論理値＝“０”とすることにより、ストレージノードＳ０の論理値＝“１”、ストレージノードＳ１の論理値＝“０”とし、その後、ワードラインＷＬの論理値＝“０”、ＮＭＯＳトランジスタ７、８の状態＝ＯＦＦとする。
【００１０】
また、メモリセル３の記憶データが“０”の場合、即ち、ストレージノードＳ０の論理値＝“０”、ストレージノードＳ１の論理値＝“１”とされている場合において、ワードラインＷＬの論理値＝“１”、ＮＭＯＳトランジスタ７、８の状態＝ＯＮとし、メモリセル３からデータを読み出すと、ビットラインＢＬの論理値＝“０”、ビットラインＸＢＬの論理値＝“１”となる。
【００１１】
これに対して、メモリセル３の記憶データが“１”の場合、即ち、ストレージノードＳ０の論理値＝“１”、ストレージノードＳ１の論理値＝“０”とされている場合において、ワードラインＷＬの論理値＝“１”、ＮＭＯＳトランジスタ７、８の状態＝ＯＮとし、メモリセル３からデータを読み出すと、ビットラインＢＬの論理値＝“１”、ビットラインＸＢＬの論理値＝“０”となる。
【００１２】
また、メモリセル３に対する検索は、サーチバスＳＢ、ＸＳＢと、ＮＭＯＳトランジスタ９〜１２と、マッチラインＭＬとを使用して行われる。表２は検索時におけるメモリセル３の記憶データとストレージノードＳ０、Ｓ１の論理値と検索データとサーチバスＳＢ、ＸＳＢの論理値とマッチラインＭＬの論理値との関係を示しており、図１９〜図２２はメモリセル３に対する検索動作を説明するための回路図である。
【００１３】
【表２】
0005119912.tif 000003
【００１４】
本例では、非検索時には、サーチバスＳＢ、ＸＳＢの論理値＝“０”、ＮＭＯＳトランジスタ１１、１２の状態＝ＯＦＦとされる。これに対して、検索時には、マッチラインＭＬは、電源電圧ＶＤＤにプリチャージされ、その論理値を“１”とされる。そして、検索データ＝“０”の場合には、サーチバスＳＢの論理値＝“０”、サーチバスＸＳＢの論理値＝“１”とされ、検索データ＝“１”の場合には、サーチバスＳＢの論理値＝“１”、サーチバスＸＳＢの論理値＝“０”とされる。
【００１５】
ここで、図１９に示すように、メモリセル３の記憶データ＝“０”の場合（即ち、ストレージノードＳ０の論理値＝“０”、ストレージノードＳ１の論理値＝“１”とされている場合）に、検索データとして“０”が入力された場合（即ち、サーチバスＳＢの論理値＝“０”、サーチバスＸＳＢの論理値＝“１”とされた場合）には、ＮＭＯＳトランジスタ９はＯＦＦ、ＮＭＯＳトランジスタ１０はＯＮ、ＮＭＯＳトランジスタ１１はＯＮ、ＮＭＯＳトランジスタ１２はＯＦＦとなるので、マッチラインＭＬの論理値＝“１”が維持される。
【００１６】
これに対して、図２０に示すように、メモリセル３の記憶データ＝“０”の場合（即ち、ストレージノードＳ０の論理値＝“０”、ストレージノードＳ１の論理値＝“１”とされている場合）に、検索データとして“１”が入力された場合（即ち、サーチバスＳＢの論理値＝“１”、サーチバスＸＳＢの論理値＝“０”とされた場合）には、ＮＭＯＳトランジスタ９はＯＦＦ、ＮＭＯＳトランジスタ１０はＯＮ、ＮＭＯＳトランジスタ１１はＯＦＦ、ＮＭＯＳトランジスタ１２はＯＮとなるので、マッチラインＭＬは、ＮＭＯＳトランジスタ１０、１２を介して接地され、マッチラインＭＬの論理値は“０”に遷移する。
【００１７】
また、図２１に示すように、メモリセル３の記憶データ＝“１”の場合（即ち、ストレージノードＳ０の論理値＝“１”、ストレージノードＳ１の論理値＝“０”とされている場合）に、検索データとして“１”が入力された場合（即ち、サーチバスＳＢの論理値＝“１”、サーチバスＸＳＢの論理値＝“０”とされた場合）には、ＮＭＯＳトランジスタ９はＯＮ、ＮＭＯＳトランジスタ１０はＯＦＦ、ＮＭＯＳトランジスタ１１はＯＦＦ、ＮＭＯＳトランジスタ１２はＯＮとなるので、マッチラインＭＬの論理値＝“１”が維持される。
【００１８】
また、図２２に示すように、メモリセル３の記憶データ＝“１”の場合（即ち、ストレージノードＳ０の論理値＝“１”、ストレージノードＳ１の論理値＝“０”とされている場合）に、検索データとして“０”が入力された場合（即ち、サーチバスＳＢの論理値＝“０”、サーチバスＸＳＢの論理値＝“１”とされた場合）には、ＮＭＯＳトランジスタ９はＯＮ、ＮＭＯＳトランジスタ１０はＯＦＦ、ＮＭＯＳトランジスタ１１はＯＮ、ＮＭＯＳトランジスタ１２はＯＦＦとなるので、マッチラインＭＬは、ＮＭＯＳトランジスタ９、１１を介して接地され、マッチラインＭＬの論理値は“０”に遷移する。
【００１９】
図２３はメモリセル３に対する検索時のサーチバスＳＢ、ＸＳＢ及びマッチラインＭＬの電位変化を示す波形図であり、（Ａ）はサーチバスＳＢ、ＸＳＢの電位変化、（Ｂ）はマッチラインＭＬの電位変化を示している。前述のように、マッチラインＭＬは、電源電圧ＶＤＤ（論理１）にプリチャージされるが、検索データとメモリセル３の記憶データとが不一致のときは、マッチラインＭＬは、ＮＭＯＳトランジスタ９、１１又はＮＭＯＳトランジスタ１０、１２を介して接地され、マッチラインＭＬの電位は０Ｖ（論理０）に下降し、検索データとメモリセル３の記憶データとが一致したときは、マッチラインＭＬは、接地されず、電源電圧ＶＤＤ（論理１）を維持する。
【００２０】
図２４は実際の連想メモリにおけるメモリセルとマッチラインとの関係を示す回路図である。図２４中、３（０）、３（１）、３（２）、３（ｎ−１）はメモリセルであり、メモリセル３（３）〜３（ｎ−２）は図示を省略している。ＳＢ（０）、ＸＳＢ（０）、ＳＢ（１）、ＸＳＢ（１）、ＳＢ（２）、ＸＳＢ（２）、ＳＢ（ｎ−１）、ＸＳＢ（ｎ−１）はサーチバスであり、サーチバスＳＢ（３）、ＸＳＢ（３）〜ＳＢ（ｎ−２）、ＸＳＢ（ｎ−２）は図示を省略している。
【００２１】
また、１５は検索時にマッチラインＭＬの電位変化を検出して検索結果信号ＭＳＺを出力するマッチライン・センスアンプ（ＭＬＳＡ：Match Line Sense Amplifier）である。マッチライン・センスアンプ１５は、マッチラインＭＬの論理値＝“１”のときは、検索結果信号ＭＳＺの論理値＝“１”とし、マッチラインＭＬの論理値＝“０”のときは、検索結果信号ＭＳＺの論理値＝“０”とする。
【００２２】
図２４に示すように、実際の連想メモリにおいては、メモリセルとマッチラインとの関係は、１対１ではなく、マッチラインＭＬには、検索データのビット数と同じ数のメモリセル３（０）〜３（ｎ−１）が接続されている。そして、マッチラインＭＬは、ｎビットからなる検索データの各ビットの論理値が、対応するメモリセルの記憶データの論理値と一致するときは、“１”を維持するが、検索データのいずれかのビットの論理値が、対応するメモリセルの記憶データの論理値と一致しないときは、“０”に遷移する。
【００２３】
図２５は従来の連想メモリの一例の一部分を示すブロック図である。図２５中、１６は図１８に示す構成のメモリセルを１行（１ワードライン）当たりｎ個配列したメモリセル列が５１２行配列されてなるメモリセルアレイ、１７はワードラインを駆動するワードデコーダ（ＷＤＥＣ）のグループであるワードデコーダ部、１８はメモリセルに書き込みを行うライトアンプ（Ｗ／Ａ）のグループであるライトアンプ部、１９はビットラインに読み出されたデータを増幅するセンスアンプ（Ｓ／Ａ）のグループであるセンスアンプ部である。
【００２４】
２０はサーチバスを駆動するサーチドライバ（Ｓ／Ｄ）のグループであるサーチドライバ部、２１はマッチラインのレベル検出を行うマッチライン・センスアンプ（ＭＬＳＡ）のグループであるマッチライン・センスアンプ部、２２はマッチライン・センスアンプ部２１が出力する検索結果信号ＭＳＺをエンコードして、検索データと同一のデータが記憶されているアドレスを示すアドレス信号を出力するエンコーダ（ＥＮＣ）である。
【００２５】
２３は外部から与えられる検索コマンド信号をデコードするコマンドデコーダ（ＣＯＭＤＥＣ）、２４はコマンドデコーダ２３が出力する検索コマンドデコード信号を入力してサーチドライバ部２０のサーチドライバに与えるサーチドライバ活性化信号を生成するサーチドライバ活性化信号生成回路（ＳＢＥＧＥＮ）である。
【００２６】
図２６は図２５に示す従来の連想メモリの一部分をより詳しく示す回路図である。メモリセルアレイ１６において、３（０、０）は１行目の１ビット目のメモリセル、３（０、１）は１行目の２ビット目のメモリセル、３（０、ｎ−１）は１行目のｎビット目のメモリセルであり、１行目の３ビット目〜ｎ−１ビット目のメモリセル３（０、２）〜３（０、ｎ−２）は図示を省略している。３（１、０）は２行目の１ビット目のメモリセル、３（１、１）は２行目の２ビット目のメモリセル、３（１、ｎ−１）は２行目のｎビット目のメモリセルであり、２行目の３ビット目〜ｎ−１ビット目のメモリセル３（１、２）〜３（１、ｎ−２）は図示を省略している。
【００２７】
３（５１１、０）は５１２行目の１ビット目のメモリセル、３（５１１、１）は５１２行目の２ビット目のメモリセル、３（５１１、ｎ−１）は５１２行目のｎビット目のメモリセルであり、５１２行目の３ビット目〜ｎ−１ビット目のメモリセル３（５１１、２）〜３（５１１、ｎ−２）は図示を省略している。また、３行目〜５１１行目のメモリセル３（２、０）〜３（２、ｎ−１）、…、３（５１０、０）〜３（５１０、ｎ−１）も図示を省略している。図２７は図２５に示すメモリセルアレイ１６の部分をより詳しく示している。なお、本例では、ｍ行目（但し、ｍ＝１、２、…、５１２であり、以下、同様である。）のメモリセル列の番地は、ｍ−１番地とされる。
【００２８】
また、図２６において、ＷＬ０は１行目のワードライン、ＷＬ１は２行目のワードライン、ＷＬ５１１は５１２行目のワードラインであり、３行目〜５１１行目のワードラインＷＬ２〜ＷＬ５１０は図示を省略している。ＭＬ０は１行目のマッチライン、ＭＬ１は２行目のマッチライン、ＭＬ５１１は５１２行目のマッチラインであり、３行目〜５１１行目のマッチラインＭＬ２〜ＭＬ５１０は図示を省略している。
【００２９】
ワードデコーダ部１７において、２５（０）は１行目のワードラインＷＬ０に対応して設けられたワードデコーダ、２５（１）は２行目のワードラインＷＬ１に対応して設けられたワードデコーダ、２５（５１１）は５１２行目のワードラインＷＬ５１１に対応して設けられたワードデコーダであり、３行目〜５１１行目のワードラインＷＬ２〜ＷＬ５１０に対応して設けられたワードデコーダ２５（２）〜２５（５１０）は図示を省略している。
【００３０】
ライトアンプ部１８において、２６（０）は１ビット目のビットラインＢＬ（０）、ＸＢＬ（０）に対応して設けられたライトアンプ、２６（１）は２ビット目のビットラインＢＬ（１）、ＸＢＬ（１）に対応して設けられたライトアンプ、２６（ｎ−１）はｎビット目のビットラインＢＬ（ｎ−１）、ＸＢＬ（ｎ−１）に対応して設けられたライトアンプであり、３ビット目〜ｎ−１ビット目のビットラインＢＬ（２）、ＸＢＬ（２）〜ＢＬ（ｎ−２）、ＸＢＬ（ｎ−２）に対応して設けられたライトアンプ２６（２）〜２６（ｎ−２）は図示を省略している。
【００３１】
センスアンプ部１９において、２７（０）は１ビット目のビットラインＢＬ（０）、ＸＢＬ（０）に対応して設けられたセンスアンプ、２７（１）は２ビット目のビットラインＢＬ（１）、ＸＢＬ（１）に対応して設けられたセンスアンプ、２７（ｎ−１）はｎビット目のビットラインＢＬ（ｎ−１）、ＸＢＬ（ｎ−１）に対応して設けられたセンスアンプであり、３ビット目〜ｎ−１ビット目のビットラインＢＬ（２）、ＸＢＬ（２）〜ＢＬ（ｎ−２）、ＸＢＬ（ｎ−２）に対応して設けられたセンスアンプ２７（２）〜２７（ｎ−２）は図示を省略している。
【００３２】
サーチドライバ部２０において、２８（０）は１ビット目のサーチバスＳＢ（０）、ＸＳＢ（０）に対応して設けられたサーチドライバ、２８（１）は２ビット目のサーチバスＳＢ（１）、ＸＳＢ（１）に対応して設けられたサーチドライバ、２８（ｎ−１）はｎビット目のサーチバスＳＢ（ｎ−１）、ＸＳＢ（ｎ−１）に対応して設けられたサーチドライバであり、３ビット目〜ｎ−１ビット目のサーチバスＳＢ（２）、ＸＳＢ（２）〜ＳＢ（ｎ−２）、ＸＳＢ（ｎ−２）に対応して設けられたサーチドライバ２８（２）〜２８（ｎ−２）は図示を省略している。
【００３３】
マッチライン・センスアンプ部２１において、１５（０）は１行目のマッチラインＭＬ０に対応して設けられたマッチライン・センスアンプ、１５（１）は２行目のマッチラインＭＬ１に対応して設けられたマッチライン・センスアンプ、１５（５１１）は５１２行目のマッチラインＭＬ５１１に対応して設けられたマッチライン・センスアンプであり、３行目〜５１１行目のマッチラインＭＬ２〜ＭＬ５１０に対応して設けられたマッチライン・センスアンプ１５（２）〜１５（５１０）は図示を省略している。
【００３４】
図２８は図２５に示す従来の連想メモリの検索動作例を説明するための回路図、図２９及び図３０は図２５に示す従来の連想メモリの検索動作例を示すタイミング図であり、図２９は検索データＤＩＮと１番地の記憶データとが一致した場合、図３０は検索データＤＩＮと０番地の記憶データとが一致した場合である。
【００３５】
図２８において、ＸＳＥＲは外部からコマンドデコーダ２３に与えられる検索コマンド信号、ＳＥＲＺはコマンドデコーダ２３が出力する検索コマンドデコード信号、ＳＢＥＺはサーチドライバ活性化信号生成回路２４が出力するサーチドライバ活性化信号、ＤＩＮは外部から与えられるｎビットからなる検索データ、Ｄ（０）は検索データＤＩＮの１ビット目のデータ、Ｄ（ｎ−１）は検索データＤＩＮのｎビット目のデータであり、検索データＤＩＮの２ビット目〜ｎ−１ビット目のデータＤ（１）〜Ｄ（ｎ−２）は図示を省略している。また、ＭＳ０Ｚは１行目のマッチライン・センスアンプ１５（０）が出力する検索結果信号、ＭＳ１Ｚは２行目のマッチライン・センスアンプ１５（１）が出力する検索結果信号、ＥＡはエンコーダ２２が出力する９ビットからなるアドレス信号である。
【００３６】
また、図２９及び図３０において、（Ａ）は動作サイクルを決めるクロック信号ＣＬＫ、（Ｂ）は検索コマンド信号ＸＳＥＲ、（Ｃ）は検索コマンドデコード信号ＳＥＲＺ、（Ｄ）はサーチドライバ活性化信号ＳＢＥＺ、（Ｅ）はサーチバスＳＢ（ｐ）、ＸＳＢ（ｐ）の論理値（但し、ｐ＝０、１、…、ｎ−１であり、以下、同様である。）、（Ｆ）はマッチラインＭＬ０の論理値、（Ｇ）は検索結果信号ＭＳ０Ｚ、（Ｈ）はマッチラインＭＬ１の論理値、（Ｉ）は検索結果信号ＭＳ１Ｚを示している。
【００３７】
即ち、図２５に示す従来の連想メモリにおいては、検索前（スタンバイ時）には、検索コマンド信号ＸＳＥＲ＝“１”、検索コマンドデコード信号ＳＥＲＺ＝“０”、サーチドライバ活性化信号ＳＢＥＺ＝“０”、サーチバスＳＢ（ｐ）、ＸＳＢ（ｐ）の論理値＝“０”、マッチラインＭＬ０〜ＭＬ５１１の論理値＝“１”、検索結果信号ＭＳ０Ｚ〜ＭＳ５１１Ｚ＝“１”とされる。
【００３８】
そして、検索を行う場合には、図２９及び図３０に示すように、検索コマンド信号ＸＳＥＲ＝“０”とされ、検索が指示されると共に、サーチドライバ２８（０）〜２８（ｎ−１）に検索データＤ（０）〜Ｄ（ｎ−１）が与えられる。この結果、コマンドデコーダ２３は、検索コマンドデコード信号ＳＥＲＺ＝“１”とし、これに応答して、サーチドライバ活性化信号生成回路２４は、サーチドライバ活性化信号ＳＢＥＺ＝“１”とし、サーチドライバ２８（ｐ）は、検索データＤ（ｐ）の値に対応してサーチバスＳＢ（ｐ）、ＸＳＢ（ｐ）の一方の論理値＝“１”、他方の論理値＝“０”とする。
【００３９】
ここで、検索データＤ（０）〜Ｄ（ｎ−１）が０番地の記憶データ（即ち、メモリセル３（０、０）〜３（０、ｎ−１）の記憶データ）と一致せず、１番地の記憶データ（即ち、メモリセル３（１、０）〜３（１、ｎ−１）の記憶データ）と一致すると、図２９に示すように、マッチラインＭＬ０の論理値＝“０”となり、マッチラインＭＬ１の論理値＝“１”が維持される。この結果、マッチライン・センスアンプ１５（０）は、検索結果信号ＭＳ０Ｚ＝“０”とし、マッチライン・センスアンプ１５（１）は、検索結果信号ＭＳ１Ｚ＝“１”を維持する。したがって、この場合には、エンコーダ２２は、１番地を示すアドレス信号ＥＡとして［００００００００１］を出力する。
【００４０】
これに対して、検索データＤ（０）〜Ｄ（ｎ−１）が０番地の記憶データ（即ち、メモリセル３（０、０）〜３（０、ｎ−１）の記憶データ）と一致し、１番地の記憶データ（即ち、メモリセル３（１、０）〜３（１、ｎ−１）の記憶データ）と一致しなかった場合には、図３０に示すように、マッチラインＭＬ０の論理値＝“１”が維持され、マッチラインＭＬ１の論理値＝“０”となる。この結果、マッチライン・センスアンプ１５（０）は、検索結果信号ＭＳ０Ｚ＝“１”を維持し、マッチライン・センスアンプ１５（１）は、検索結果信号ＭＳ１Ｚの論理値＝“０”とする。したがって、この場合には、エンコーダ２２は、０番地を示すアドレス信号ＥＡとして［０００００００００］を出力する。
【００４１】
なお、連想メモリは、検索データが複数番地の記憶データと一致した場合、どの番地を示すアドレス信号を出力するかについて予め優先順位を定めておき、これに従ってアドレス信号を出力するという機能、即ち、プライオリティ・マッチ（Priority match）機能を備えている。例えば、図２５に示す従来の連想メモリが、検索データＤＩＮが複数番地の記憶データと一致した場合には、最小番地を示すアドレス信号を出力するという優先順位を定めている場合において、例えば、図３１に示すように、検索データＤＩＮが０番地の記憶データと２番地の記憶データとに一致した場合には、エンコーダ２２は、０番地を検出して、０番地を示すアドレス信号を出力することになる。
【特許文献１】特開２０００−２１５６７８号公報
【特許文献２】特開平７−２８７７１８号公報
【特許文献３】特開平３−２１２８９６号公報
【発明の開示】
【発明が解決しようとする課題】
【００４２】
図２５に示す従来の連想メモリにおいては、検索データＤＩＮについての検索動作は、５１２個の全アドレス（０番地〜５１１番地）に対して行われるが、検索データＤＩＮと同一データを記憶するアドレスは、ほんの一部であり、５１２本のマッチラインＭＬ０〜ＭＬ５１１のほとんどは、その論理値が“０”に遷移するので、検索後、スタンバイ状態に戻る際には５１２本のマッチラインＭＬ０〜ＭＬ５１１のほとんどについて充電が必要となる。ここに、検索後、スタンバイ状態に戻る際に充電を必要とするマッチラインの数を減らすことができれば、消費電流を低減することができるので、これを可能とする連想メモリの開発が要請されている。
【００４３】
本発明は、かかる点に鑑み、検索後、スタンバイ状態に戻る際に充電を必要とするマッチラインの数を減らし、消費電流の低減化を図ることができるようにした連想メモリを提供することを目的とする。
【課題を解決するための手段】
【００４４】
本出願で開示する連想メモリは、外部から与えられた検索データについて順に検索対象とされる複数のメモリセルアレイと、前記検索データと同一データを記憶するメモリセルアレイについて検索を実行したときは、前記検索データと同一データを記憶するメモリセルアレイ以降に検索対象とされているメモリセルアレイについては検索を実行しないように検索動作を制御する制御部とを備えるものである。
【発明の効果】
【００４５】
開示した連想メモリによれば、前記制御部は、前記検索データと同一データを記憶するメモリセルアレイについて検索を実行したときは、前記検索データと同一データを記憶するメモリセルアレイ以降に検索対象とされているメモリセルアレイについては検索を実行しないように検索動作を制御するので、検索後、スタンバイ状態に戻る際に、前記検索データと同一データを記憶するメモリセルアレイ以降に検索対象とされているメモリセルアレイに設けられているマッチラインについては充電の必要がない。したがって、検索後、スタンバイ状態に戻る際に充電を必要とするマッチラインの数を減らし、消費電流の低減化を図ることができる。
【発明を実施するための最良の形態】
【００４６】
（第１実施形態）
図１は本発明の第１実施形態の一部分を示す回路図である。図１中、３１、３２はそれぞれ図１８に示す構成のメモリセルを１行（１ワードライン）当たりｎ個配列したメモリセル列が２５６行配列されたメモリセルアレイ（ＭＣＡ）である。これらメモリセルアレイ３１、３２は、図２５に示す従来の連想メモリが備えるメモリセルアレイ１６を０番地〜２５５番地までの部分と２５６番地〜５１２番地までの部分に分割したものであり、メモリセルアレイ３１は０番地〜２５５番地の部分、メモリセルアレイ３２は２５６番地〜５１２番地の部分である。
【００４７】
本発明の第１実施形態においては、ビットラインは、メモリセルアレイ３１、３２に対してビットラインＢＬ（０）、ＸＢＬ（０）〜ＢＬ（ｎ−１）、ＸＢＬ（ｎ−１）が共通に設けられるが、サーチバスは、メモリセルアレイ３１に対してはサーチバスＳＢ０（０）、ＸＳＢ０（０）〜ＳＢ０（ｎ−１）、ＸＳＢ０（ｎ−１）が設けられ、メモリセルアレイ３２に対してはサーチバスＳＢ１（０）、ＸＳＢ１（０）〜ＳＢ１（ｎ−１）、ＸＳＢ１（ｎ−１）が設けられる。
【００４８】
３３はメモリセルアレイ３１に配列されているワードラインＷＬ０〜ＷＬ２５５及びメモリセルアレイ３２に配列されているワードラインＷＬ２５６〜ＷＬ５１１を駆動するワードデコーダのグループであるワードデコーダ部、３４はメモリセルアレイ３１、３２のメモリセルに書き込みを行うライトアンプのグループであるライトアンプ部、３５はメモリセルアレイ３１、３２のメモリセルからビットラインＢＬ（０）、ＸＢＬ（０）〜ＢＬ（ｎ−１）、ＸＢＬ（ｎ−１）に読み出されたデータを増幅するセンスアンプのグループであるセンスアンプ部である。
【００４９】
３６はメモリセルアレイ３１に配列されているサーチバスＳＢ０（０）、ＸＳＢ０（０）〜ＳＢ０（ｎ−１）、ＸＳＢ０（ｎ−１）を駆動するサーチドライバのグループであるサーチドライバ部、３７はメモリセルアレイ３２に配列されているサーチバスＳＢ１（０）、ＸＳＢ１（０）〜ＳＢ１（ｎ−１）、ＸＳＢ１（ｎ−１）を駆動するサーチドライバのグループであるサーチドライバ部、３８はメモリセルアレイ３１に配置されているサーチバスＳＢ０（０）、ＸＳＢ０（０）〜ＳＢ０（ｎ−１）、ＸＳＢ０（ｎ−１）の論理値を取り込んでサーチドライバ部３７のサーチドライバに転送するフリップフロップ（ＦＦ）のグループであるフリップフロップ部である。
【００５０】
３９はメモリセルアレイ３１に配列されているマッチラインＭＬ０〜ＭＬ２５５のレベル検出を行うマッチライン・センスアンプのグループであるマッチライン・センスアンプ部、４０はメモリセルアレイ３２に配列されているマッチラインＭＬ２５６〜ＭＬ５１１のレベル検出を行うマッチライン・センスアンプのグループであるマッチライン・センスアンプ部である。
【００５１】
４１はマッチライン・センスアンプ部３９が出力する検索結果信号ＭＳ０Ｚ〜ＭＳ２５５Ｚとマッチライン・センスアンプ部４０が出力する検索結果信号ＭＳ２５６Ｚ〜ＭＳ５１１Ｚとを入力し、検索データＤＩＮと同一データを記憶しているアドレスを示す９ビットのアドレス信号ＥＡを生成するエンコーダである。なお、エンコーダ４１は、検索データＤＩＮが複数番地の記憶データと一致した場合、これら複数番地のうち、最小番地を示すアドレス信号ＥＡを出力するものである。
【００５２】
４２は外部から与えられた検索コマンド信号ＸＳＥＲをデコードして検索コマンドデコード信号ＳＥＲＺを出力するコマンドデコーダ、４３はコマンドデコーダ４２が出力する検索コマンドデコード信号ＳＥＲＺを入力してサーチドライバ部３６のサーチドライバに与えるサーチドライバ活性化信号ＳＢＥ０Ｚを生成するサーチドライバ活性化信号生成回路、４４はサーチドライバ活性化信号生成回路４３が出力するサーチドライバ活性化信号ＳＢＥ０Ｚをクロック信号ＣＬＫに同期して取り込むフリップフロップである。
【００５３】
４５はマッチライン・センスアンプ部３９が出力する検索結果信号ＭＳ０Ｚ〜ＭＳ２５５Ｚを入力し、検索結果信号ＭＳ０Ｚ〜ＭＳ２５５Ｚが全て“０”の場合（即ち、検索データＤＩＮがメモリセルアレイ３１に記憶されているデータの全てと不一致の場合）であるか、あるいは、検索結果信号ＭＳ０Ｚ〜ＭＳ２５５Ｚのいずれかが“１”の場合（即ち、検索データＤＩＮがメモリセルアレイ３１に記憶されているデータのいずれかと一致した場合）であるかを判定して検索結果判定信号ＤＥＴ０Ｚを出力する検索結果判定回路（ＤＥＴ）である。
【００５４】
検索結果判定回路４５は、検索結果信号ＭＳ０Ｚ〜ＭＳ２５５Ｚが全て“０”の場合（即ち、検索データＤＩＮがメモリセルアレイ３１に記憶されているデータの全てと不一致の場合）には、検索結果判定信号ＤＥＴ０Ｚ＝“１”とし、検索結果信号ＭＳ０Ｚ〜ＭＳ２５５Ｚのいずれかが“１”の場合（即ち、検索データＤＩＮがメモリセルアレイ３１に記憶されているデータのいずれかと一致した場合）には、検索結果判定信号ＤＥＴ０Ｚ＝“０”とする。
【００５５】
４６は検索結果判定回路４５が出力する検索結果判定信号ＤＥＴ０Ｚとフリップフロップ４４が出力するサーチドライバ活性化信号ＳＢＥ０Ｚとを入力して、サーチドライバ部３７のサーチドライバに与えるサーチドライバ活性化信号ＳＢＥ１Ｚを出力するサーチドライバ活性化信号バッファ（ＳＢＥＢＵＦ）である。サーチドライバ活性化信号バッファ４６は、検索結果判定信号ＤＥＴ０Ｚ＝“１”のときは、フリップフロップ４４が出力するサーチドライバ活性化信号ＳＢＥ０Ｚをサーチドライバ活性化信号ＳＢＥ１Ｚとして出力し、検索結果判定信号ＤＥＴ０Ｚ＝“０”のときは、サーチドライバ活性化信号ＳＢＥ１Ｚ＝“０”とする。
【００５６】
図２は本発明の第１実施形態の一部分をより詳しく示す回路図であり、メモリセルアレイ３１、３２、ライトアンプ部３４、センスアンプ部３５、サーチドライバ部３６、３７及びフリップフロップ部３８の部分をより詳細に示している。
【００５７】
メモリセルアレイ３１において、５０（０、０）は１行目の１ビット目のメモリセル、５０（０、ｎ−１）は１行目のｎビット目のメモリセルであり、１行目の２ビット目〜ｎ−１ビット目のメモリセル５０（０、１）〜５０（０、ｎ−２）は図示を省略している。５０（２５５、０）は２５６行目の１ビット目のメモリセル、５０（２５５、ｎ−１）は２５６行目のｎビット目のメモリセルであり、２行目の２ビット目〜ｎ−１ビット目のメモリセル５０（２５５、１）〜５０（２５５、ｎ−２）は図示を省略している。また、２行目〜２５５行目のメモリセル５０（１、０）〜５０（１、ｎ−１）、…、５０（２５４、０）〜５０（２５４、ｎ−１）も図示を省略している。図３はメモリセルアレイ３１の部分をより詳しく示している。
【００５８】
メモリセルアレイ３２において、５０（２５６、０）は２５７行目の１ビット目のメモリセル、５０（２５６、ｎ−１）は２５７行目のｎビット目のメモリセルであり、２５７行目の２ビット目〜ｎ−１ビット目のメモリセル２５６（０、１）〜２５６（０、ｎ−２）は図示を省略している。５０（５１１、０）は５１２行目の１ビット目のメモリセル、５０（５１１、ｎ−１）は５１２行目のｎビット目のメモリセルであり、５１２行目の２ビット目〜ｎ−１ビット目のメモリセル５０（５１１、１）〜５０（５１１、ｎ−２）は図示を省略している。また、２５８行目〜５１１行目のメモリセル５０（２５７、０）〜５０（２５７、ｎ−１）、…、５０（５１０、０）〜５０（５１０、ｎ−１）も図示を省略している。図４はメモリセルアレイ３２の部分をより詳しく示している。
【００５９】
ＷＬ０は１行目のワードライン、ＷＬ２５５は２５６行目のワードラインであり、２行目〜２５５行目のワードラインＷＬ１〜ＷＬ２５４は図示を省略している。ＷＬ２５６は２５７行目のワードライン、ＷＬ５１１は５１２行目のワードラインであり、２５８行目〜５１１行目のワードラインＷＬ２５７〜ＷＬ５１０は図示を省略している。
【００６０】
ＭＬ０は１行目のマッチライン、ＭＬ２５５は２５６行目のマッチラインであり、２行目〜２５５行目のマッチラインＭＬ１〜ＭＬ２５４は図示を省略している。ＭＬ２５６は２５７行目のマッチライン、ＭＬ５１１は５１２行目のマッチラインであり、２５８行目〜５１１行目のマッチラインＭＬ２５７〜ＭＬ５１０は図示を省略している。
【００６１】
ライトアンプ部３４において、５１（０）は１ビット目のビットラインＢＬ（０）、ＸＢＬ（０）に対応して設けられたライトアンプ、５１（ｎ−１）はｎビット目のビットラインＢＬ（ｎ−１）、ＸＢＬ（ｎ−１）に対応して設けられたライトアンプであり、２ビット目〜ｎ−１ビット目のビットラインＢＬ（１）、ＸＢＬ（１）〜ＢＬ（ｎ−２）、ＸＢＬ（ｎ−２）に対応して設けられたライトアンプ５１（１）〜５１（ｎ−２）は図示を省略している。
【００６２】
センスアンプ部３５において、５２（０）は１ビット目のビットラインＢＬ（０）、ＸＢＬ（０）に対応して設けられたセンスアンプ、５２（ｎ−１）はｎビット目のビットラインＢＬ（ｎ−１）、ＸＢＬ（ｎ−１）に対応して設けられたセンスアンプであり、２ビット目〜ｎ−１ビット目のビットラインＢＬ（１）、ＸＢＬ（１）〜ＢＬ（ｎ−２）、ＸＢＬ（ｎ−２）に対応して設けられたセンスアンプ５２（１）〜５２（ｎ−２）は図示を省略している。
【００６３】
サーチドライバ部３６において、５３（０）は１ビット目のサーチバスＳＢ０（０）、ＸＳＢ０（０）に対応して設けられたサーチドライバ、５３（ｎ−１）はｎビット目のサーチバスＳＢ０（ｎ−１）、ＸＳＢ０（ｎ−１）に対応して設けられたサーチバスであり、２ビット目〜ｎ−１ビット目のサーチバスＳＢ０（１）、ＸＳＢ０（１）〜ＳＢ０（ｎ−２）、ＸＳＢ０（ｎ−２）に対応して設けられたサーチドライバ５３（２）〜５３（ｎ−２）は図示を省略している。
【００６４】
サーチドライバ５３（ｐ）は、サーチドライバ活性化信号ＳＢＥ０Ｚ＝“１”のときは活性化され、与えられた検索データＤ（ｐ）に対応して、サーチバスＳＢ０（ｐ）、ＸＳＢ０（ｐ）の一方の論理値＝“１”、他方の論理値＝“０”とし、サーチドライバ活性化信号ＳＢＥ０Ｚ＝“０”のときは非活性とされ、サーチバスＳＢ０（ｐ）、ＸＳＢ０（ｐ）の論理値＝“０”とする。
【００６５】
サーチドライバ部３７において、５４（０）は１ビット目のサーチバスＳＢ１（０）、ＸＳＢ１（０）に対応して設けられたサーチドライバ、５４（ｎ−１）はｎビット目のサーチバスＳＢ１（ｎ−１）、ＸＳＢ１（ｎ−１）に対応して設けられたサーチバスであり、２ビット目〜ｎ−１ビット目のサーチバスＳＢ１（１）、ＸＳＢ１（１）〜ＳＢ１（ｎ−２）、ＸＳＢ１（ｎ−２）に対応して設けられたサーチドライバ５４（２）〜５４（ｎ−２）は図示を省略している。
【００６６】
サーチドライバ５４（ｐ）は、サーチドライバ活性化信号ＳＢＥ１Ｚ＝“１”のときは活性化され、フリップフロップ部３８を介して与えられるサーチバスＳＢ０（ｐ）、ＸＳＢ０（ｐ）の論理値（検索データＤＩＮ）に対応して、サーチバスＳＢ１（ｐ）、ＸＳＢ１（ｐ）の一方の論理値＝“１”、他方の論理値＝“０”とし、サーチドライバ活性化信号ＳＢＥ１Ｚ＝“０”のときは非活性とされ、サーチバスＳＢ１（ｐ）、ＸＳＢ１（ｐ）の論理値＝“０”とする。
【００６７】
図５は本発明の第１実施形態の一部分をより詳しく示す回路図であり、ワードデコーダ部３３及びマッチライン・センスアンプ部３９、４０の部分をより詳細に示している。ワードデコーダ部３３において、５５（０）は１行目のワードラインＷＬ０に対応して設けられたワードデコーダ、５５（２５５）は２５６行目のワードラインＷＬ２５５に対応して設けられたワードデコーダであり、２行目〜２５５行目のワードラインＷＬ１〜ＷＬ２５４に対応して設けられたワードデコーダ５５（１）〜５５（２５４）は図示を省略している。
【００６８】
また、５５（２５６）は２５７行目のワードラインＷＬ２５６に対応して設けられたワードデコーダ、５５（５１１）は５１２行目のワードラインＷＬ５１１に対応して設けられたワードデコーダであり、２５８行目〜５１１行目のワードラインＷＬ２５７〜ＷＬ５１０に対応して設けられたワードデコーダ５５（２５７）〜５５（５１０）は図示を省略している。
【００６９】
マッチライン・センスアンプ部３９において、５６（０）は１行目のマッチラインＭＬ０に対応して設けられたマッチライン・センスアンプ、５６（２５５）は２５６行目のマッチラインＭＬ２５５に対応して設けられたマッチライン・センスアンプであり、２行目〜２５５行目のマッチラインＭＬ１〜ＭＬ２５４に対応して設けられたマッチライン・センスアンプ５６（１）〜５６（２５４）は図示を省略している。
【００７０】
マッチライン・センスアンプ部４０において、５６（２５６）は２５７行目のマッチラインＭＬ２５６に対応して設けられたマッチライン・センスアンプ、５６（５１１）は５１２行目のマッチラインＭＬ５１１に対応して設けられたマッチライン・センスアンプであり、２５８行目〜５１１行目のマッチラインＭＬ２５７〜ＭＬ５１０に対応して設けられたマッチライン・センスアンプ５６（２５７）〜５６（５１０）は図示を省略している。
【００７１】
図６及び図７は本発明の第１実施形態の検索動作例を示すタイミング図であり、図６は検索データＤＩＮがメモリセルアレイ３１に記憶されているデータの全てと不一致の場合、図７は検索データＤＩＮがメモリセルアレイ３１に記憶されているデータのいずれかと一致した場合である。
【００７２】
図６及び図７において、（Ａ）は動作サイクルを決めるクロック信号ＣＬＫ、（Ｂ）は検索コマンド信号ＸＳＥＲ、（Ｃ）は検索コマンドデコード信号ＳＥＲＺ、（Ｄ）はサーチドライバ活性化信号ＳＢＥ０Ｚ、（Ｅ）はサーチバスＳＢ０（ｐ）、ＸＳＢ０（ｐ）の論理値、（Ｆ）はマッチラインＭＬ０〜ＭＬ２５５の論理値、（Ｇ）は検索結果信号ＭＳ０Ｚ〜ＭＳ２５５Ｚ、（Ｈ）は検索結果判定信号ＤＥＴ０Ｚ、（Ｉ）はサーチドライバ活性化信号ＳＢＥ１Ｚ、（Ｊ）はサーチバスＳＢ１（ｐ）、ＸＳＢ１（ｐ）の論理値、（Ｋ）はマッチラインＭＬ２５６〜ＭＬ５１１の論理値、（Ｌ）は検索結果判定信号ＭＳ２５６Ｚ〜ＭＳ５１１Ｚを示している。
【００７３】
即ち、本発明の第１実施形態においては、検索前（スタンバイ時）には、検索コマンド信号ＸＳＥＲ＝“１”、検索コマンドデコード信号ＳＥＲＺ＝“０”、サーチドライバ活性化信号ＳＢＥ０Ｚ＝“０”、サーチバスＳＢ０（ｐ）、ＸＳＢ０（ｐ）の論理値＝“０”、マッチラインＭＬ０〜ＭＬ２５５の論理値＝“１”、検索結果信号ＭＳ０Ｚ〜ＭＳ２５５Ｚ＝“１”、検索結果判定信号ＤＥＴ０Ｚ＝“０”、サーチドライバ活性化信号ＳＢＥ１Ｚ＝“０”、サーチバスＳＢ１（ｐ）、ＸＳＢ１（ｐ）の論理値＝“０”、マッチラインＭＬ２５６〜ＭＬ５１１の論理値＝“１”、検索結果信号ＭＳ２５６Ｚ〜ＭＳ５１１Ｚ＝“１”とされる。
【００７４】
そして、検索を行う場合には、図６（Ｂ）及び図７（Ｂ）に示すように、例えば、サイクルＳwで、検索コマンド信号ＸＳＥＲ＝“０”とされ、検索が指示されると共に、サーチドライバ５３（０）〜５３（ｎ−１）に検索データＤ（０）〜Ｄ（ｎ−１）が与えられる。この結果、コマンドデコーダ４２は、図６（Ｃ）及び図７（Ｃ）に示すように、検索コマンドデコード信号ＳＥＲＺ＝“１”とし、これに応答して、サーチドライバ活性化信号生成回路４３は、図６（Ｄ）及び図７（Ｄ）に示すように、サーチドライバ活性化信号ＳＢＥ０Ｚ＝“１”とすると共に、サーチドライバ５３（ｐ）は、検索データＤ（ｐ）の値に対応して、図６（Ｅ）及び図７（Ｅ）に示すように、サーチバスＳＢ０（ｐ）、ＸＳＢ０（ｐ）の一方の論理値＝“１”、他方の論理値＝“０”とする。
【００７５】
ここで、検索データＤ（０）〜Ｄ（ｎ−１）がメモリセルアレイ３１に記憶されているデータの全てと不一致の場合には、図６（Ｆ）に示すように、マッチラインＭＬ０〜ＭＬ２５５の論理値＝“０”となる。この結果、マッチライン・センスアンプ５６（０）〜５６（２５５）は、図６（Ｇ）に示すように、検索結果信号ＭＳ０Ｚ〜ＭＳ２５５Ｚ＝“０”とし、これに応答して、検索結果判定回路４５は、図６（Ｈ）に示すように、検索結果判定信号ＤＥＴ０Ｚ＝“１”とする。
【００７６】
したがって、サーチドライバ活性化信号生成回路４３は、図６（Ｉ）に示すように、サイクルＳw+1において、サーチドライバ活性化信号ＳＢＥ１Ｚ＝“１”とし、サーチドライバ５４（ｐ）を活性化する。また、サーチバスＳＢ０（ｐ）、ＸＳＢ０（ｐ）の論理値がフリップフロップ５５（ｐ）を介してサーチドライバ５４（ｐ）に供給される。この結果、サーチドライバ５４（ｐ）は、図６（Ｊ）に示すように、検索データＤ（ｐ）の値に対応してサーチバスＳＢ１（ｐ）、ＸＳＢ１（ｐ）の一方の論理値＝“１”、他方の論理値＝“０”とする。
【００７７】
そして、検索データＤ（０）〜Ｄ（ｎ−１）がメモリセルアレイ３２に記憶されているデータのいずれかと一致すると、図６（Ｋ）に示すように、マッチラインＭＬ２５５〜ＭＬ５１１のうち、検索データＤ（０）〜Ｄ（ｎ−１）と同一データを記憶するアドレスのマッチラインの論理値が“１”に維持されるので、マッチライン・センスアンプ５６（２５６）〜５６（５１１）は、図６（Ｌ）に示すように、検索結果信号ＭＳ２５６Ｚ〜ＭＳ５１１Ｚのうち、検索データＤ（０）〜Ｄ（ｎ−１）と同一データを記憶するアドレスの検索結果信号を“１”に維持する。
【００７８】
これに対して、検索データＤ（０）〜Ｄ（ｎ−１）がメモリセルアレイ３１に記憶されているデータのいずれかと一致すると、図７（Ｆ）に示すように、マッチラインＭＬ０〜ＭＬ２５５のうち、検索データＤ（０）〜Ｄ（ｎ−１）と同一データを記憶するアドレスのマッチラインの論理値が“１”に維持される。この結果、マッチライン・センスアンプ５６（０）〜５６（２５５）は、図７（Ｇ）に示すように、検索結果信号ＭＳ０Ｚ〜ＭＳ２５５Ｚのうち、検索データＤ（０）〜Ｄ（ｎ−１）と同一データを記憶するアドレスの検索結果信号を“１”に維持し、検索結果判定回路４５は、図７（Ｈ）に示すように、検索結果判定信号ＤＥＴ０Ｚ＝“０”を維持する。
【００７９】
したがって、この場合には、サーチドライバ活性化信号生成回路４３は、図７（Ｉ）に示すように、サイクルＳw+1においても、サーチドライバ活性化信号ＳＢＥ１Ｚ＝“０”を維持し、サーチドライバ５４（ｐ）を活性化せず、図７（Ｊ）に示すように、サーチバスＳＢ１（ｐ）、ＸＳＢ１（ｐ）の論理値＝“０”に維持されるので、図７（Ｋ）に示すように、マッチラインＭＬ２５６〜ＭＬ５１１の論理値＝“１”、図７（Ｌ）に示すように、検索結果信号ＭＳ２５６Ｚ〜ＭＳ５１１Ｚの論理値＝“１”に維持される。
【００８０】
ここで、エンコーダ４１は、図６に示す場合（検索結果信号ＭＳ０Ｚ〜ＭＳ２５５Ｚの全ての論理値＝“０”、検索結果信号ＭＳ２５６Ｚ〜ＭＳ５１１Ｚのいずれかの論理値＝“１”の場合）も、図７に示す場合（検索結果信号ＭＳ０Ｚ〜ＭＳ２５５Ｚのいずれかの論理値＝“１”、検索結果信号ＭＳ２５６Ｚ〜ＭＳ５１１Ｚの全ての論理値が“１”場合）も、検索結果信号ＭＳ０Ｚ〜ＭＳ５１１Ｚを入力し、検索データＤＩＮと同一データを記憶するアドレスを示すアドレス信号ＥＡを出力する。なお、本発明の第１実施形態においては、フリップフロップ４４と、検索結果判定回路４５と、サーチバス活性化信号バッファ４６とで、メモリセルアレイ３２に対する検索動作を制御する制御部が構成されている。
【００８１】
以上のように、本発明の第１実施形態によれば、検索コマンド信号ＸＳＥＲが“０”とされると共に、検索データＤＩＮが与えられると、メモリセルアレイ３１を対象として検索が実行され、検索データＤＩＮがメモリセルアレイ３１に記憶されているデータのいずれかと一致した場合には、メモリセルアレイ３２を対象とした検索は実行されず、検索データＤＩＮがメモリセルアレイ３１に記憶されているデータの全てと不一致の場合にのみ、メモリセルアレイ３２を対象とした検索動作が実行される。
【００８２】
この結果、検索データＤＩＮがメモリセルアレイ３１に記憶されているデータのいずれかと一致し、メモリセルアレイ３２を対象とした検索を実行しないで済んだ場合には、スタンバイ状態に戻る際に、メモリセルアレイ３２に設けられているマッチラインＭＬ２５６〜ＭＬ５１１については充電の必要がない。したがって、検索後、スタンバイ状態に戻る際に充電を必要とするマッチラインの数を減らし、消費電流の低減化を図ることができる。
【００８３】
（第２実施形態）
図８は本発明の第２実施形態の一部分を示す回路図である。図８中、６１〜６４はそれぞれ図１８に示す構成のメモリセルを１行（１ワードライン）当たりｎ個配列したメモリセル列が１２８行配列されたメモリセルアレイである。これらメモリセルアレイ６１〜６４は、図２５に示す従来の連想メモリが備えるメモリセルアレイ１６を、０番地〜１２７番地までの部分と、１２８番地〜２５５番地までの部分と、２５６番地〜３８３番地の部分と、３８４番地〜５１１番地の部分とに分割したものであり、メモリセルアレイ６１は０番地〜１２７番地の部分、メモリセルアレイ６２は１２８番地〜２５５番地の部分、メモリセルアレイ６３は２５６番地〜３８３番地の部分、メモリセルアレイ６４は３８４番地〜５１１番地の部分である。
【００８４】
本発明の第２実施形態においては、ビットラインは、図９及び図１０に示すように、メモリセルアレイ６１〜６４に対してビットラインＢＬ（０）、ＸＢＬ（０）〜ＢＬ（ｎ−１）、ＸＢＬ（ｎ−１）が共通に設けられるが、サーチバスは、メモリセルアレイ６１に対しては、図９に示すように、サーチバスＳＢ０（０）、ＸＳＢ０（０）〜ＳＢ０（ｎ−１）、ＸＳＢ０（ｎ−１）が設けられ、メモリセルアレイ６２に対しては、同じく図９に示すように、サーチバスＳＢ１（０）、ＸＳＢ１（０）〜ＳＢ１（ｎ−１）、ＸＳＢ１（ｎ−１）が設けられ、メモリセルアレイ６３に対しては、図１０に示すように、サーチバスＳＢ２（０）、ＸＳＢ２（０）〜ＳＢ２（ｎ−１）、ＸＳＢ２（ｎ−１）が設けられ、メモリセルアレイ６４に対しては、同じく図１０に示すように、サーチバスＳＢ３（０）、ＸＳＢ３（０）〜ＳＢ３（ｎ−１）、ＸＳＢ３（ｎ−１）が設けられる。
【００８５】
６５はメモリセルアレイ６１に配列されているワードラインＷＬ０〜ＷＬ１２７、メモリセルアレイ６２に配列されているワードラインＷＬ１２８〜ＷＬ２５５、メモリセルアレイ６３に配列されているワードラインＷＬ２５６〜ＷＬ３８３及びメモリセルアレイ６４に配列されているワードラインＷＬ３８４〜ＷＬ５１１を駆動するワードデコーダのグループであるワードデコーダ部、６６はメモリセルアレイ６１〜６４のメモリセルに書き込みを行うライトアンプのグループであるライトアンプ部、６７はビットラインＢＬ（０）、ＸＢＬ（０）〜ＢＬ（ｎ−１）、ＸＢＬ（ｎ−１）に読み出されたデータを増幅するセンスアンプのグループであるセンスアンプ部である。
【００８６】
６８はメモリセルアレイ６１に配列されているサーチバスＳＢ０（０）、ＸＳＢ０（０）〜ＳＢ０（ｎ−１）、ＸＳＢ０（ｎ−１）を駆動するサーチドライバのグループであるサーチドライバ部、６９はメモリセルアレイ６２に配列されているサーチバスＳＢ１（０）、ＸＳＢ１（０）〜ＳＢ１（ｎ−１）、ＸＳＢ１（ｎ−１）を駆動するサーチドライバのグループであるサーチドライバ部、７０はメモリセルアレイ６３に配列されているサーチバスＳＢ２（０）、ＸＳＢ２（０）〜ＳＢ２（ｎ−１）、ＸＳＢ２（ｎ−１）を駆動するサーチドライバのグループであるサーチドライバ部、７１はメモリセルアレイ６４に配列されているサーチバスＳＢ３（０）、ＸＳＢ３（０）〜ＳＢ３（ｎ−１）、ＸＳＢ３（ｎ−１）を駆動するサーチドライバのグループであるサーチドライバ部である。
【００８７】
７２はメモリセルアレイ６１に配列されているサーチバスＳＢ０（０）、ＸＳＢ０（０）〜ＳＢ０（ｎ−１）、ＸＳＢ０（ｎ−１）の論理値を取り込んでサーチドライバ部６９のサーチドライバに転送するフリップフロップのグループであるフリップフロップ部、７３はメモリセルアレイ６２に配列されているサーチバスＳＢ１（０）、ＸＳＢ１（０）〜ＳＢ１（ｎ−１）、ＸＳＢ１（ｎ−１）の論理値を取り込んでサーチドライバ部７０のサーチドライバに転送するフリップフロップのグループであるフリップフロップ部、７４はメモリセルアレイ６３に配列されているサーチバスＳＢ２（０）、ＸＳＢ２（０）〜ＳＢ２（ｎ−１）、ＸＳＢ２（ｎ−１）の論理値を取り込んでサーチドライバ部７１のサーチドライバに転送するフリップフロップのグループであるフリップフロップ部である。
【００８８】
７５はメモリセルアレイ６１に配列されているマッチラインＭＬ０〜ＭＬ１２７のレベル検出を行うマッチライン・センスアンプのグループであるマッチライン・センスアンプ部、７６はメモリセルアレイ６２に配列されているマッチラインＭＬ１２８〜ＭＬ２５５のレベル検出を行うマッチライン・センスアンプのグループであるマッチライン・センスアンプ部、７７はメモリセルアレイ６３に配列されているマッチラインＭＬ２５６〜ＭＬ３８３のレベル検出を行うマッチライン・センスアンプのグループであるマッチライン・センスアンプ部、７８はメモリセルアレイ６４に配列されているマッチラインＭＬ３８４〜ＭＬ５１１のレベル検出を行うマッチライン・センスアンプのグループであるマッチライン・センスアンプ部である。
【００８９】
７９はマッチライン・センスアンプ部７５が出力する検索結果信号ＭＳ０Ｚ〜ＭＳ１２７Ｚと、マッチライン・センスアンプ部７６が出力する検索結果信号ＭＳ１２８Ｚ〜ＭＳ２５５Ｚと、マッチライン・センスアンプ部７７が出力する検索結果信号ＭＳ２５６Ｚ〜ＭＳ３８３Ｚと、マッチライン・センスアンプ部７８が出力する検索結果信号ＭＳ３８４Ｚ〜ＭＳ５１１Ｚとを入力し、検索データＤＩＮと同一データを記憶しているアドレスを示す９ビットのアドレス信号ＥＡを生成するエンコーダである。なお、エンコーダ７９は、検索データＤＩＮが複数番地の記憶データと一致した場合、これら複数番地のうち、最小番地を示すアドレス信号ＥＡを出力するものである。
【００９０】
８０は外部から与えられた検索コマンド信号ＸＳＥＲをデコードして検索コマンドデコード信号ＳＥＲＺを出力するコマンドデコーダ、８１はコマンドデコーダ８０が出力する検索コマンドデコード信号ＳＥＲＺを入力してサーチドライバ部６８のサーチドライバに与えるサーチドライバ活性化信号ＳＢＥ０Ｚを生成するサーチドライバ活性化信号生成回路、８２はサーチドライバ活性化信号生成回路８１が出力するサーチドライバ活性化信号ＳＢＥ０Ｚをクロック信号ＣＬＫに同期して取り込むフリップフロップである。
【００９１】
８３はマッチライン・センスアンプ部７５が出力する検索結果信号ＭＳ０Ｚ〜ＭＳ１２７Ｚを入力し、検索結果信号ＭＳ０Ｚ〜ＭＳ１２７Ｚが全て“０”の場合（即ち、検索データＤＩＮがメモリセルアレイ６１に記憶されているデータの全てと不一致の場合）であるか、あるいは、検索結果信号ＭＳ０Ｚ〜ＭＳ１２７Ｚのいずれかが“１”の場合（即ち、検索データＤＩＮがメモリセルアレイ６１に記憶されているデータのいずれかと一致した場合）であるかを判定して検索結果判定信号ＤＥＴ０Ｚを出力する検索結果判定回路である。
【００９２】
検索結果判定回路８３は、検索結果信号ＭＳ０Ｚ〜ＭＳ１２７Ｚが全て“０”の場合（即ち、検索データＤＩＮがメモリセルアレイ６１に記憶されているデータの全てと不一致の場合）には、検索結果判定信号ＤＥＴ０Ｚ＝“１”とし、検索結果信号ＭＳ０Ｚ〜ＭＳ１２７Ｚのいずれかが“１”の場合（即ち、検索データＤＩＮがメモリセルアレイ６１に記憶されているデータのいずれかと一致した場合）には、検索結果判定信号ＤＥＴ０Ｚ＝“０”とする。
【００９３】
８４は検索結果判定回路８３が出力する検索結果判定信号ＤＥＴ０Ｚをクロック信号ＣＬＫに同期して取り込むフリップフロップ、８５はフリップフロップ８２が出力するサーチドライバ活性化信号ＳＢＥ０Ｚとフリップフロップ８４が出力する検索結果判定信号ＤＥＴ０Ｚａとを入力して、サーチドライバ部６９のサーチドライバに与えるサーチドライバ活性化信号ＳＢＥ１Ｚを出力するサーチドライバ活性化信号バッファである。
【００９４】
サーチドライバ活性化信号バッファ８５は、検索結果判定信号ＤＥＴ０Ｚａの論理値＝“１”のときは、フリップフロップ８２から与えられたサーチドライバ活性化信号ＳＢＥ０Ｚをサーチドライバ活性化信号ＳＢＥ１Ｚとして出力し、検索結果判定信号ＤＥＴ０Ｚａの論理値＝“０”のときは、サーチドライバ活性化信号ＳＢＥ１Ｚの論理値＝“０”とする。
【００９５】
８６はサーチドライバ活性化信号バッファ８５が出力するサーチドライバ活性化信号ＳＢＥ１Ｚをクロックに同期して取り込むフリップフロップ、８７はマッチライン・センスアンプ部７６が出力する検索結果信号ＭＳ１２８Ｚ〜ＭＳ２５５Ｚを入力し、検索結果信号ＭＳ１２８Ｚ〜ＭＳ２５５Ｚが全て“０”の場合（即ち、検索データＤＩＮがメモリセルアレイ６２に記憶されているデータの全てと不一致の場合）であるか、あるいは、検索結果信号ＭＳ１２８Ｚ〜ＭＳ２５５Ｚのいずれかが“１”の場合（即ち、検索データＤＩＮがメモリセルアレイ６２に記憶されているデータのいずれかと一致した場合）であるかを判定して検索結果判定信号ＤＥＴ１Ｚを出力する検索結果判定回路である。
【００９６】
検索結果判定回路８７は、検索結果信号ＭＳ１２８Ｚ〜ＭＳ２５５Ｚが全て“０”の場合（即ち、検索データＤＩＮがメモリセルアレイ６２に記憶されているデータの全てと不一致の場合）には、検索結果判定信号ＤＥＴ１Ｚ＝“１”とし、検索結果信号ＭＳ１２８Ｚ〜ＭＳ２５５Ｚのいずれかが“１”の場合（即ち、検索データＤＩＮがメモリセルアレイ６２に記憶されているデータのいずれかと一致した場合）には、検索結果判定信号ＤＥＴ１Ｚ＝“０”とする。
【００９７】
８８は検索結果判定回路８７が出力する検索結果判定信号ＤＥＴ１Ｚをクロック信号ＣＬＫに同期して取り込むフリップフロップ、８９はフリップフロップ８６が出力するサーチドライバ活性化信号ＳＢＥ１Ｚとフリップフロップ８８が出力する検索結果判定信号ＤＥＴ１Ｚａとを入力して、サーチドライバ部７０のサーチドライバに与えるサーチドライバ活性化信号ＳＢＥ２Ｚを出力するサーチドライバ活性化信号バッファである。
【００９８】
サーチドライバ活性化信号バッファ８９は、検索結果判定信号ＤＥＴ１Ｚａの論理値＝“１”のときは、フリップフロップ８６から与えられたサーチドライバ活性化信号ＳＢＥ１Ｚをサーチドライバ活性化信号ＳＢＥ２Ｚとして出力し、検索結果判定信号ＤＥＴ１Ｚａの論理値＝“０”のときは、サーチドライバ活性化信号ＳＢＥ２Ｚの論理値＝“０”とする。
【００９９】
９０はサーチドライバ活性化信号バッファ８９が出力するサーチドライバ活性化信号ＳＢＥ２Ｚをクロックに同期して取り込むフリップフロップ、９１はマッチライン・センスアンプ部７７が出力する検索結果信号ＭＳ２５６Ｚ〜ＭＳ３８３Ｚを入力し、検索結果信号ＭＳ２５６Ｚ〜ＭＳ３８３Ｚが全て“０”の場合（即ち、検索データＤＩＮがメモリセルアレイ６３に記憶されているデータの全てと不一致の場合）であるか、あるいは、検索結果信号ＭＳ２５６Ｚ〜ＭＳ３８３Ｚのいずれかが“１”の場合（即ち、検索データＤＩＮがメモリセルアレイ６３に記憶されているデータのいずれかと一致した場合）であるかを判定して検索結果判定信号ＤＥＴ２Ｚを出力する検索結果判定回路である。
【０１００】
検索結果判定回路９１は、検索結果信号ＭＳ２５６Ｚ〜ＭＳ３８３Ｚが全て“０”の場合（即ち、検索データＤＩＮがメモリセルアレイ６３に記憶されているデータの全てと不一致の場合）には、検索結果判定信号ＤＥＴ２Ｚ＝“１”とし、検索結果信号ＭＳ２５６Ｚ〜ＭＳ３８３Ｚのいずれかが“１”の場合（即ち、検索データＤＩＮがメモリセルアレイ６３に記憶されているデータのいずれかと一致した場合）には、検索結果判定信号ＤＥＴ２Ｚ＝“０”とする。
【０１０１】
９２は検索結果判定回路９１が出力する検索結果判定信号ＤＥＴ２Ｚをクロック信号ＣＬＫに同期して取り込むフリップフロップ、９３はフリップフロップ９０が出力するサーチドライバ活性化信号ＳＢＥ２Ｚとフリップフロップ９２が出力する検索結果判定信号ＤＥＴ２Ｚａとを入力して、サーチドライバ部７１のサーチドライバに与えるサーチドライバ活性化信号ＳＢＥ３Ｚを出力するサーチドライバ活性化信号バッファである。
【０１０２】
サーチドライバ活性化信号バッファ９３は、検索結果判定信号ＤＥＴ２Ｚａの論理値＝“１”のときは、フリップフロップ９０から与えられるサーチドライバ活性化信号ＳＢＥ２Ｚをサーチドライバ活性化信号ＳＢＥ３Ｚとして出力し、検索結果判定信号ＤＥＴ２Ｚａの論理値＝“０”のときは、サーチドライバ活性化信号ＳＢＥ３Ｚの論理値＝“０”とする。
【０１０３】
図９は本発明の第２実施形態の一部分をより詳しく示す回路図であり、メモリセルアレイ６１、６２、ライトアンプ部６６、センスアンプ部６７、サーチドライバ部６８、６９及びフリップフロップ部７２の部分をより詳細に示している。
【０１０４】
メモリセルアレイ６１において、９６（０、０）は１行目の１ビット目のメモリセル、９６（０、ｎ−１）は１行目のｎビット目のメモリセルであり、１行目の２ビット目〜ｎ−１ビット目のメモリセル９６（０、１）〜９６（０、ｎ−２）は図示を省略している。９６（１２７、０）は１２８行目の１ビット目のメモリセル、９６（１２７、ｎ−１）は１２８行目のｎビット目のメモリセルであり、１２８行目の２ビット目〜ｎ−１ビット目のメモリセル９６（１２７、１）〜９６（１２７、ｎ−２）は図示を省略している。また、２行目〜１２７行目のメモリセル９６（１、０）〜９６（１、ｎ−２）、…、９６（１２６、０）〜９６（１２６、ｎ−２）も図示を省略している。
【０１０５】
メモリセルアレイ６２において、９６（１２８、０）は１２９行目の１ビット目のメモリセル、９６（１２８、ｎ−１）は１２９行目のｎビット目のメモリセルであり、１２９行目の２ビット目〜ｎ−１ビット目のメモリセル９６（１２８、１）〜９６（１２８、ｎ−２）は図示を省略している。９６（２５５、０）は２５６行目の１ビット目のメモリセル、９６（２５５、ｎ−１）は２５６行目のｎビット目のメモリセルであり、２５６行目の２ビット目〜ｎ−１ビット目のメモリセル９６（２５５、１）〜９６（２５５、ｎ−２）は図示を省略している。また、１３０行目〜２５５行目のメモリセル９６（１２９、０）〜９６（１２９、ｎ−２）、…、９６（２５４、０）〜９６（２５４、ｎ−２）も図示を省略している。
【０１０６】
ＷＬ０は１行目のワードライン、ＷＬ１２７は１２８行目のワードラインであり、２行目〜１２７行目のワードラインＷＬ１〜ＷＬ１２６は図示を省略している。ＷＬ１２８は１２９行目のワードライン、ＷＬ２５５は２５６行目のワードラインであり、１３０行目〜２５５行目のワードラインＷＬ１２９〜ＷＬ２５４は図示を省略している。
【０１０７】
ＭＬ０は１行目のマッチライン、ＭＬ１２７は１２８行目のマッチラインであり、２行目〜１２７行目のマッチラインＭＬ１〜ＭＬ１２６は図示を省略している。ＭＬ１２８は１２９行目のマッチライン、ＭＬ２５５は２５６行目のマッチラインであり、１３０行目〜２５５行目のマッチラインＭＬ１２９〜ＭＬ２５４は図示を省略している。
【０１０８】
ライトアンプ部６６において、９７（０）は１ビット目のビットラインＢＬ（０）、ＸＢＬ（０）に対応して設けられたライトアンプ、９７（ｎ−１）はｎビット目のビットラインＢＬ（ｎ−１）、ＸＢＬ（ｎ−１）に対応して設けられたライトアンプであり、２ビット目〜ｎ−１ビット目のビットラインＢＬ（１）、ＸＢＬ（１）〜ＢＬ（ｎ−２）、ＸＢＬ（ｎ−２）に対応して設けられたライトアンプ９７（１）〜９７（ｎ−２）は図示を省略している。
【０１０９】
センスアンプ部６７において、９８（０）は１ビット目のビットラインＢＬ（０）、ＸＢＬ（０）に対応して設けられたセンスアンプ、９８（ｎ−１）はｎビット目のビットラインＢＬ（ｎ−１）、ＸＢＬ（ｎ−１）に対応して設けられたセンスアンプであり、２ビット目〜ｎ−１ビット目のビットラインＢＬ（１）、ＸＢＬ（１）〜ＢＬ（ｎ−２）、ＸＢＬ（ｎ−２）に対応して設けられたセンスアンプ９８（１）〜９８（ｎ−２）は図示を省略している。
【０１１０】
サーチドライバ部６８において、９９（０）は１ビット目のサーチバスＳＢ０（０）、ＸＳＢ０（０）に対応して設けられたサーチドライバ、９９（ｎ−１）はｎビット目のサーチバスＳＢ０（ｎ−１）、ＸＳＢ０（ｎ−１）に対応して設けられたサーチバスであり、２ビット目〜ｎ−１ビット目のサーチバスＳＢ０（１）、ＸＳＢ０（１）〜ＳＢ０（ｎ−２）、ＸＳＢ０（ｎ−２）に対応して設けられたサーチドライバ９９（１）〜９９（ｎ−２）は図示を省略している。
【０１１１】
サーチドライバ９９（ｐ）は、サーチドライバ活性化信号ＳＢＥ０Ｚ＝“１”のときは活性化され、外部から与えられる検索データＤ（ｐ）に対応して、サーチバスＳＢ０（ｐ）、ＸＳＢ０（ｐ）の一方の論理値＝“１”、他方の論理値＝“０”とし、サーチドライバ活性化信号ＳＢＥ０Ｚ＝“０”のときは非活性とされ、サーチバスＳＢ０（ｐ）、ＸＳＢ０（ｐ）の論理値＝“０”とする。
【０１１２】
サーチドライバ部６９において、１００（０）は１ビット目のサーチバスＳＢ１（０）、ＸＳＢ１（０）に対応して設けられたサーチドライバ、１００（ｎ−１）はｎビット目のサーチバスＳＢ１（ｎ−１）、ＸＳＢ１（ｎ−１）に対応して設けられたサーチドライバであり、２ビット目〜ｎ−１ビット目のサーチバスＳＢ１（１）、ＸＳＢ１（１）〜ＳＢ１（ｎ−２）、ＸＳＢ１（ｎ−２）に対応して設けられたサーチドライバ１００（１）〜１００（ｎ−２）は図示を省略している。
【０１１３】
サーチドライバ１００（ｐ）は、サーチドライバ活性化信号ＳＢＥ１Ｚ＝“１”のときは活性化され、サーチバスＳＢ１（ｐ）、ＸＳＢ１（ｐ）及びフリップフロップ部７２を介して与えられる検索データＤ（ｐ）に対応して、サーチバスＳＢ１（ｐ）、ＸＳＢ１（ｐ）の一方の論理値＝“１”、他方の論理値＝“０”とし、サーチドライバ活性化信号ＳＢＥ１Ｚ＝“０”のときは非活性とされ、サーチバスＳＢ１（ｐ）、ＸＳＢ１（ｐ）の論理値＝“０”とする。
【０１１４】
フリップフロップ部７２において、１０１（０）はサーチバスＳＢ０（０）、ＸＳＢ０（０）に対応して設けられたフリップフロップであり、クロック信号ＣＬＫに同期してサーチバスＳＢ０（０）、ＸＳＢ０（０）の論理値を取り込み、サーチドライバ１００（０）に転送するものである。１０１（ｎ−１）はサーチバスＳＢ０（ｎ−１）、ＸＳＢ０（ｎ−１）に対応して設けられたフリップフロップであり、クロック信号ＣＬＫに同期してサーチバスＳＢ０（ｎ−１）、ＸＳＢ０（ｎ−１）の論理値を取り込み、サーチドライバ１００（ｎ−１）に転送するものである。サーチバスＳＢ０（１）、ＸＳＢ０（１）〜ＳＢ０（ｎ−２）、ＸＳＢ０（ｎ−２）に対応して設けられているフリップフロップ１０１（１）〜１０１（ｎ−２）は図示を省略している。
【０１１５】
図１０は本発明の第２実施形態の一部分をより詳しく示す回路図であり、メモリセルアレイ６３、６４、サーチドライバ部７０、７１及びフリップフロップ部７３、７４の部分をより詳細に示している。
【０１１６】
メモリセルアレイ６３において、９６（２５６、０）は２５７行目の１ビット目のメモリセル、９６（２５６、ｎ−１）は２５７行目のｎビット目のメモリセルであり、２５７行目の２ビット目〜ｎ−１ビット目のメモリセル９６（２５６、１）〜９６（２５６、ｎ−２）は図示を省略している。９６（３８３、０）は３８４行目の１ビット目のメモリセル、９６（３８３、ｎ−１）は３８４行目のｎビット目のメモリセルであり、３８４行目の２ビット目〜ｎ−１ビット目のメモリセル９６（３８３、１）〜９６（３８３、ｎ−２）は図示を省略している。また、２５８行目〜３８３行目のメモリセル９６（２５７、０）〜９６（２５７、ｎ−２）、…、９６（３８２、０）〜９６（３８２、ｎ−２）も図示を省略している。
【０１１７】
メモリセルアレイ６４において、９６（３８４、０）は３８５行目の１ビット目のメモリセル、９６（３８４、ｎ−１）は３８５行目のｎビット目のメモリセルであり、３８５行目の２ビット目〜ｎ−１ビット目のメモリセル９６（３８４、１）〜９６（３８４、ｎ−２）は図示を省略している。９６（５１１、０）は５１２行目の１ビット目のメモリセル、９６（５１１、ｎ−１）は５１２行目のｎビット目のメモリセルであり、５１２行目の２ビット目〜ｎ−１ビット目のメモリセル９６（５１１、１）〜９６（５１１、ｎ−２）は図示を省略している。また、３８６行目〜５１１行目のメモリセル９６（３８５、０）〜９６（３８５、ｎ−２）、…、９６（５１０、０）〜９６（５１０、ｎ−２）も図示を省略している。
【０１１８】
ＷＬ２５６は２５７行目のワードライン、ＷＬ３８３は３８４行目のワードラインであり、２５８行目〜３８３行目のワードラインＷＬ２５７〜ＷＬ３８２は図示を省略している。ＷＬ３８４は３８５行目のワードライン、ＷＬ５１１は５１２行目のワードラインであり、３８６行目〜５１１行目のワードラインＷＬ３８５〜ＷＬ５１０は図示を省略している。
【０１１９】
ＭＬ２５６は２５７行目のマッチライン、ＭＬ３８３は３８４行目のマッチラインであり、２５８行目〜３８３行目のマッチラインＭＬ２５７〜ＭＬ３８２は図示を省略している。ＭＬ３８４は３８５行目のマッチライン、ＭＬ５１１は５１２行目のマッチラインであり、３８６行目〜５１１行目のマッチラインＭＬ３８５〜ＭＬ５１０は図示を省略している。
【０１２０】
サーチドライバ部７０において、１０２（０）は１ビット目のサーチバスＳＢ２（０）、ＸＳＢ２（０）に対応して設けられたサーチドライバ、１０２（ｎ−１）はｎビット目のサーチバスＳＢ２（ｎ−１）、ＸＳＢ２（ｎ−１）に対応して設けられたサーチドライバであり、２ビット目〜ｎ−１ビット目のサーチバスＳＢ２（１）、ＸＳＢ２（１）〜ＳＢ２（ｎ−２）、ＸＳＢ２（ｎ−２）に対応して設けられたサーチドライバ１０２（２）〜１０２（ｎ−２）は図示を省略している。
【０１２１】
サーチドライバ１０２（ｐ）は、サーチドライバ活性化信号ＳＢＥ２Ｚ＝“１”のときは活性化され、サーチバスＳＢ１（ｐ）、ＸＳＢ１（ｐ）及びフリップフロップ部７３を介して与えられる検索データＤ（ｐ）に対応して、サーチバスＳＢ２（ｐ）、ＸＳＢ２（ｐ）の一方の論理値＝“１”、他方の論理値＝“０”とし、サーチドライバ活性化信号ＳＢＥ２Ｚ＝“０”のときは非活性とされ、サーチバスＳＢ２（ｐ）、ＸＳＢ２（ｐ）の論理値＝“０”とする。
【０１２２】
サーチドライバ部７１において、１０３（０）は１ビット目のサーチバスＳＢ３（０）、ＸＳＢ３（０）に対応して設けられたサーチドライバ、１０３（ｎ−１）はｎビット目のサーチバスＳＢ３（ｎ−１）、ＸＳＢ３（ｎ−１）に対応して設けられたサーチドライバであり、２ビット目〜ｎ−１ビット目のサーチバスＳＢ３（１）、ＸＳＢ３（１）〜ＳＢ３（ｎ−２）、ＸＳＢ３（ｎ−２）に対応して設けられたサーチドライバ１０３（２）〜１０３（ｎ−２）は図示を省略している。
【０１２３】
サーチドライバ１０３（ｐ）は、サーチドライバ活性化信号ＳＢＥ３Ｚ＝“１”のときは活性化され、サーチバスＳＢ２（ｐ）、ＸＳＢ２（ｐ）及びフリップフロップ部７４を介して与えられる検索データＤ（ｐ）に対応して、サーチバスＳＢ３（ｐ）、ＸＳＢ３（ｐ）の一方の論理値＝“１”、他方の論理値＝“０”とし、サーチドライバ活性化信号ＳＢＥ３Ｚ＝“０”のときは非活性とされ、サーチバスＳＢ３（ｐ）、ＸＳＢ３（ｐ）の論理値＝“０”とする。
【０１２４】
フリップフロップ部７３において、１０４（０）はサーチバスＳＢ１（０）、ＸＳＢ１（０）に対応して設けられたフリップフロップであり、クロック信号ＣＬＫに同期してサーチバスＳＢ１（０）、ＸＳＢ１（０）の論理値を取り込み、サーチドライバ１０２（０）に転送するものである。１０４（ｎ−１）はサーチバスＳＢ１（ｎ−１）、ＸＳＢ１（ｎ−１）に対応して設けられたフリップフロップであり、クロック信号ＣＬＫに同期してサーチバスＳＢ１（ｎ−１）、ＸＳＢ１（ｎ−１）の論理値を取り込み、サーチドライバ１０２（ｎ−１）に転送するものである。サーチバスＳＢ１（１）、ＸＳＢ１（１）〜ＳＢ１（ｎ−２）、ＸＳＢ１（ｎ−２）に対応して設けられているフリップフロップ１０４（１）〜１０４（ｎ−２）は図示を省略している。
【０１２５】
フリップフロップ部７４において、１０５（０）はサーチバスＳＢ２（０）、ＸＳＢ２（０）に対応して設けられたフリップフロップであり、クロック信号ＣＬＫに同期してサーチバスＳＢ２（０）、ＸＳＢ２（０）の論理値を取り込み、サーチドライバ１０３（０）に転送するものである。１０５（ｎ−１）はサーチバスＳＢ２（ｎ−１）、ＸＳＢ２（ｎ−１）に対応して設けられたフリップフロップであり、クロック信号ＣＬＫに同期してサーチバスＳＢ２（ｎ−１）、ＸＳＢ２（ｎ−１）の論理値を取り込み、サーチドライバ１０３（ｎ−１）に転送するものである。サーチバスＳＢ２（１）、ＸＳＢ２（１）〜ＳＢ２（ｎ−２）、ＸＳＢ２（ｎ−２）に対応して設けられているフリップフロップ１０５（１）〜１０５（ｎ−２）は図示を省略している。
【０１２６】
図１１は本発明の第２実施形態の一部分をより詳しく示す回路図であり、メモリセルアレイ６１〜６４、ワードデコーダ部６５及びマッチライン・センスアンプ部７５〜７８の部分をより詳細に示している。
【０１２７】
ワードデコーダ部６５において、１０６（０）は１行目のワードラインＷＬ０に対応して設けられたワードデコーダ、１０６（１２７）は１２８行目のワードラインＷＬ１２７に対応して設けられたワードデコーダであり、２行目〜１２７行目のワードラインＷＬ１〜ＷＬ１２６に対応して設けられたワードデコーダ１０６（１）〜１０６（１２６）は図示を省略している。１０６（１２８）は１２９行目のワードラインＷＬ１２８に対応して設けられたワードデコーダ、１０６（２５５）は２５６行目のワードラインＷＬ２５５に対応して設けられたワードデコーダであり、１３０行目〜２５５行目のワードラインＷＬ１２９〜ＷＬ２５４に対応して設けられたワードデコーダ１０６（１２９）〜１０６（２５４）は図示を省略している。
【０１２８】
１０６（２５６）は２５７行目のワードラインＷＬ２５６に対応して設けられたワードデコーダ、１０６（３８３）は３８４行目のワードラインＷＬ３８３に対応して設けられたワードデコーダであり、２５８行目〜３８３行目のワードラインＷＬ２５７〜ＷＬ３８２に対応して設けられたワードデコーダ１０６（２５７）〜１０６（３８２）は図示を省略している。１０６（３８４）は３８５行目のワードラインＷＬ３８４に対応して設けられたワードデコーダ、１０６（５１１）は５１２行目のワードラインＷＬ５１１に対応して設けられたワードデコーダであり、３８６行目〜５１１行目のワードラインＷＬ３８５〜ＷＬ５１０に対応して設けられたワードデコーダ１０６（３８５）〜１０６（５１０）は図示を省略している。
【０１２９】
マッチライン・センスアンプ部７５において、１０７（０）は１行目のマッチラインＭＬ０に対応して設けられたマッチライン・センスアンプ、１０７（１２７）は１２８行目のマッチラインＭＬ１２７に対応して設けられたマッチライン・センスアンプであり、２行目〜１２７行目のマッチラインＭＬ１〜ＭＬ１２６に対応して設けられたマッチライン・センスアンプ１０７（１）〜１０７（１２６）は図示を省略している。
【０１３０】
マッチライン・センスアンプ部７６において、１０７（１２８）は１２９行目のマッチラインＭＬ１２８に対応して設けられたマッチライン・センスアンプ、１０７（２５５）は２５６行目のマッチラインＭＬ２５５に対応して設けられたマッチライン・センスアンプであり、１３０行目〜２５５行目のマッチラインＭＬ１２９〜ＭＬ２５４に対応して設けられたマッチライン・センスアンプ１０７（１２９）〜１０７（２５４）は図示を省略している。
【０１３１】
マッチライン・センスアンプ部７７において、１０７（２５６）は２５７行目のマッチラインＭＬ２５６に対応して設けられたマッチライン・センスアンプ、１０７（３８３）は３８４行目のマッチラインＭＬ３８３に対応して設けられたマッチライン・センスアンプであり、２５８行目〜３８３行目のマッチラインＭＬ２５７〜ＭＬ３８２に対応して設けられたマッチライン・センスアンプ１０７（２５７）〜１０７（３８２）は図示を省略している。
【０１３２】
マッチライン・センスアンプ部７８において、１０７（３８４）は３８５行目のマッチラインＭＬ３８４に対応して設けられたマッチライン・センスアンプ、１０７（５１１）は５１２行目のマッチラインＭＬ５１１に対応して設けられたマッチライン・センスアンプであり、３８６行目〜５１１行目のマッチラインＭＬ３８５〜ＭＬ５１０に対応して設けられたマッチライン・センスアンプ１０７（３８５）〜１０７（５１０）は図示を省略している。
【０１３３】
図１２は本発明の第２実施形態の検索動作例を示すタイミング図であり、検索データＤＩＮ＝Ｄ（０）〜Ｄ（ｎ−１）がメモリセルアレイ６１に記憶されているデータのいずれかと一致した場合を例にしている。
【０１３４】
図１２において、（Ａ）は動作サイクルを決めるクロック信号ＣＬＫ、（Ｂ）は検索コマンド信号ＸＳＥＲ、（Ｃ）は検索コマンドデコード信号ＳＥＲＺ、（Ｄ）はサーチドライバ活性化信号ＳＢＥ０Ｚ、（Ｅ）はサーチバスＳＢ０（ｐ）、ＸＳＢ０（ｐ）の論理値、（Ｆ）はマッチラインＭＬ０〜ＭＬ１２７の論理値、（Ｇ）は検索結果信号ＭＳ０Ｚ〜ＭＳ１２７Ｚ、（Ｈ）は検索結果判定信号ＤＥＴ０Ｚ、（Ｉ）はサーチドライバ活性化信号ＳＢＥ１Ｚ、（Ｊ）はサーチバスＳＢ１（ｐ）、ＸＳＢ１（ｐ）の論理値、（Ｋ）はマッチラインＭＬ１２８〜ＭＬ２５５の論理値、（Ｌ）は検索結果信号ＭＳ１２８Ｚ〜ＭＳ２５５Ｚ、（Ｍ）は検索結果判定信号ＤＥＴ１Ｚ、（Ｎ）はサーチドライバ活性化信号ＳＢＥ２Ｚ、（Ｏ）はサーチバスＳＢ２（ｐ）、ＸＳＢ２（ｐ）の論理値、（Ｐ）はマッチラインＭＬ２５６〜ＭＬ３８３の論理値、（Ｑ）は検索結果信号ＭＳ２５６Ｚ〜ＭＳ３８３Ｚ、（Ｒ）は検索結果判定信号ＤＥＴ２Ｚ、（Ｓ）はサーチドライバ活性化信号ＳＢＥ３Ｚ、（Ｔ）はサーチバスＳＢ３（ｐ）、ＸＳＢ３（ｐ）の論理値、（Ｕ）はマッチラインＭＬ３８４〜ＭＬ５１１の論理値、（Ｖ）は検索結果信号ＭＳ３８４Ｚ〜ＭＳ５１１Ｚを示している。
【０１３５】
即ち、本発明の第２実施形態においては、検索前（スタンバイ時）には、検索コマンド信号ＸＳＥＲ＝“１”、検索コマンドデコード信号ＳＥＲＺ＝“０”、サーチドライバ活性化信号ＳＢＥ０Ｚ＝“０”、サーチバスＳＢ０（ｐ）、ＸＳＢ０（ｐ）〜ＳＢ３（ｐ）、ＸＳＢ３（ｐ）の論理値＝“０”、マッチラインＭＬ０〜ＭＬ５１１の論理値＝“１”、検索結果信号ＭＳ０Ｚ〜ＭＳ５１１Ｚ＝“１”、検索結果判定信号ＤＥＴ０Ｚ〜ＤＥＴ２Ｚ＝“０”、サーチドライバ活性化信号ＳＢＥ１Ｚ〜ＳＢＥ３Ｚ＝“０”とされる。
【０１３６】
そして、検索を行う場合には、例えば、サイクルＳwにおいて、検索コマンド信号ＸＳＥＲ＝“０”とされ、検索が指示されると共に、サーチドライバ９９（０）〜９９（ｎ−１）に検索データＤ（０）〜Ｄ（ｎ−１）が与えられる。この結果、コマンドデコーダ８０は、検索コマンドデコード信号ＳＥＲＺ＝“１”とし、これに応答して、サーチドライバ活性化信号生成回路８１は、サーチドライバ活性化信号ＳＢＥ０Ｚ＝“１”とすると共に、サーチドライバ９９（ｐ）は、検索データＤ（ｐ）の値に対応してサーチバスＳＢ０（ｐ）、ＸＳＢ０（ｐ）の一方の論理値＝“１”、他方の論理値＝“０”とする。
【０１３７】
ここで、検索データＤ（０）〜Ｄ（ｎ−１）がメモリセルアレイ６１に記憶されているデータのいずれかと一致すると、マッチラインＭＬ０〜ＭＬ１２７のうち、検索データＤ（０）〜Ｄ（ｎ−１）と同一データを記憶するアドレスのマッチラインの論理値＝“１”が維持される。この結果、マッチライン・センスアンプ１０７（０）〜１０７（１２７）は、検索結果信号ＭＳ０Ｚ〜ＭＳ１２７Ｚのうち、検索データＤ（０）〜Ｄ（ｎ−１）と同一データを記憶するアドレスの検索結果信号＝“１”を維持し、検索結果判定回路８３は、検索結果判定信号ＤＥＴ０Ｚ＝“０”を維持する。したがって、サーチドライバ活性化信号バッファ８５は、サイクルＳw、Ｓw+1においては、サーチドライバ活性化信号ＳＢＥ１Ｚ＝“０”を維持し、サーチドライバ１００（０）〜１００（ｎ−１）を活性化しない。
【０１３８】
また、この結果、サイクルＳw、Ｓw+1においては、マッチラインＭＬ１２８〜ＭＬ２５５の論理値＝“１”が維持されるので、マッチライン・センスアンプ１０７（１２８）〜１０７（２５５）は、検索結果信号ＭＳ１２８Ｚ〜ＭＳ２５５Ｚ＝“１”を維持し、検索結果判定回路８７は、検索結果判定信号ＤＥＴ１Ｚ＝“０”を維持する。したがって、サーチドライバ活性化信号バッファ８９は、サイクルＳw〜Ｓw+2においては、サーチドライバ活性化信号ＳＢＥ２Ｚ＝“０”を維持し、サーチドライバ１０２（０）〜１０２（ｎ−１）を活性化しない。
【０１３９】
また、この結果、サイクルＳw〜Ｓw+2においては、マッチラインＭＬ２５６〜ＭＬ３８３の論理値＝“１”が維持されるので、マッチライン・センスアンプ１０７（２５６）〜１０７（３８３）は、検索結果信号ＭＳ２５６Ｚ〜ＭＳ３８３Ｚ＝“１”を維持し、検索結果判定回路９１は、検索結果判定信号ＤＥＴ２Ｚ＝“０”を維持する。したがって、サーチドライバ活性化信号バッファ９３は、サイクルＳw〜Ｓw+3においては、サーチドライバ活性化信号ＳＢＥ３Ｚ＝“０”を維持し、サーチドライバ１０３（０）〜１０３（ｎ−１）を活性化しない。
【０１４０】
これに対して、図示は省略するが、検索データＤ（０）〜Ｄ（ｎ−１）が、メモリセルアレイ６１に記憶されているデータの全てと不一致で、メモリセルアレイ６２に記憶されているデータと一致する場合には、マッチラインＭＬ０〜ＭＬ１２７の論理値＝“０”となる。この結果、マッチライン・センスアンプ１０７（０）〜１０７（１２７）は、検索結果信号ＭＳ０Ｚ〜ＭＳ１２７Ｚ＝“０”とし、検索結果判定回路８３は、検索結果判定信号ＤＥＴ０Ｚ＝“１”とする。
【０１４１】
したがって、サーチドライバ活性化信号バッファ８５は、サイクルＳw+1においては、サーチドライバ活性化信号ＳＢＥ１Ｚ＝“１”とし、サーチドライバ９９（ｐ）を活性化する。また、サーチバスＳＢ１（ｐ）、ＸＳＢ１（ｐ）の論理値がフリップフロップ１０１（ｐ）を介してサーチドライバ１００（ｐ）に供給される。この結果、サーチドライバ１００（ｐ）は、検索データＤ（ｐ）の値に対応してサーチバスＳＢ１（ｐ）、ＸＳＢ１（ｐ）の一方の論理値＝“１”、他方の論理値＝“０”とする。
【０１４２】
ここで、検索データＤ（０）〜Ｄ（ｎ−１）がメモリセルアレイ６２に記憶されているデータのいずれかと一致すると、マッチラインＭＬ１２８〜ＭＬ２５５のうち、検索データＤ（０）〜Ｄ（ｎ−１）と同一データを記憶するアドレスのマッチラインの論理値＝“１”が維持される。この結果、マッチライン・センスアンプ１０７（１２８）〜１０７（２５５）は、検索結果信号ＭＳ１２８Ｚ〜ＭＳ２５５Ｚのうち、検索データＤ（０）〜Ｄ（ｎ−１）と同一データを記憶するアドレスの検索結果信号＝“１”を維持し、検索結果判定回路８７は、検索結果判定信号ＤＥＴ１Ｚ＝“０”を維持する。したがって、サーチドライバ活性化信号バッファ８９は、サイクルＳw〜Ｓw+2においては、サーチドライバ活性化信号ＳＢＥ２Ｚ＝“０”を維持し、サーチドライバ１０２（０）〜１０２（ｎ−１）を活性化しない。
【０１４３】
また、この結果、サイクルＳw〜Ｓw+2においては、マッチラインＭＬ２５６〜ＭＬ３８３の論理値＝“１”が維持される。この結果、マッチライン・センスアンプ１０７（２５６）〜１０７（３８３）は、検索結果信号ＭＳ２５６Ｚ〜ＭＳ３８３Ｚ＝“１”を維持し、検索結果判定回路８７は、検索結果判定信号ＤＥＴ２Ｚ＝“０”を維持する。したがって、サーチドライバ活性化信号バッファ９３は、サイクルＳw〜Ｓw+3においては、サーチドライバ活性化信号ＳＢＥ３Ｚ＝“０”を維持し、サーチドライバ１０３（０）〜１０３（ｎ−１）を活性化しない。
【０１４４】
また、図示は省略するが、検索データＤ（０）〜Ｄ（ｎ−１）がメモリセルアレイ６１、６２に記憶されているデータの全てと不一致で、メモリセルアレイ６３に記憶されているデータと一致する場合には、マッチラインＭＬ０〜ＭＬ１２７の論理値＝“０”となる。この結果、マッチライン・センスアンプ１０７（０）〜１０７（１２７）は、検索結果信号ＭＳ０Ｚ〜ＭＳ１２７Ｚ＝“０”となり、検索結果判定回路８３は、検索結果判定信号ＤＥＴ０Ｚ＝“１”とする。
【０１４５】
したがって、サーチドライバ活性化信号バッファ８５は、サイクルＳw+1においては、サーチドライバ活性化信号ＳＢＥ１Ｚ＝“１”とし、サーチドライバ１００（ｐ）を活性化する。また、サーチバスＳＢ０（ｐ）、ＸＳＢ０（ｐ）の論理値がフリップフロップ１０１（ｐ）を介してサーチドライバ１００（ｐ）に供給される。この結果、サーチドライバ１００（ｐ）は、検索データＤ（ｐ）の値に対応してサーチバスＳＢ１（ｐ）、ＸＳＢ１（ｐ）の一方の論理値＝“１”、他方の論理値＝“０”とする。
【０１４６】
しかし、この場合には、マッチラインＭＬ１２８〜ＭＬ２５５の論理値＝“０”となるので、マッチライン・センスアンプ１０７（１２８）〜１０７（２５５）は、検索結果信号ＭＳ１２８Ｚ〜ＭＳ２５５Ｚ＝“０”とし、検索結果判定回路８７は、検索結果判定信号ＤＥＴ１Ｚ＝“１”とする。
【０１４７】
したがって、サーチドライバ活性化信号バッファ８９は、サイクルＳw+2においては、サーチドライバ活性化信号ＳＢＥ２Ｚ＝“１”とし、サーチドライバ１０２（ｐ）を活性化する。また、サーチバスＳＢ１（ｐ）、ＸＳＢ１（ｐ）の論理値がフリップフロップ１０４（ｐ）を介してサーチドライバ１０２（ｐ）に供給される。この結果、サーチドライバ１０２（ｐ）は、検索データＤ（ｐ）の値に対応してサーチバスＳＢ２（ｐ）、ＸＳＢ２（ｐ）の一方の論理値＝“１”、他方の論理値＝“０”とする。
【０１４８】
ここで、検索データＤ（０）〜Ｄ（ｎ−１）がメモリセルアレイ６３に記憶されているデータのいずれかと一致すると、マッチラインＭＬ２５６〜ＭＬ３８３のうち、検索データＤ（０）〜Ｄ（ｎ−１）と同一データを記憶するアドレスのマッチラインの論理値＝“１”が維持される。この結果、マッチライン・センスアンプ１０７（２５６）〜１０７（３８３）は、検索結果信号ＭＳ２５６Ｚ〜ＭＳ３８３Ｚのうち、検索データＤ（０）〜Ｄ（ｎ−１）と同一データを記憶するアドレスの検索結果信号＝“１”を維持し、検索結果判定回路９１は、検索結果判定信号ＤＥＴ２Ｚ＝“０”を維持する。したがって、サーチドライバ活性化信号バッファ９３は、サイクルＳw〜Ｓw+3においては、サーチドライバ活性化信号ＳＢＥ３Ｚ＝“０”を維持し、サーチドライバ１０３（０）〜１０３（ｎ−１）を活性化しない。
【０１４９】
また、図示は省略するが、検索データＤ（０）〜Ｄ（ｎ−１）がメモリセルアレイ６１〜６３に記憶されているデータの全てと不一致で、メモリセルアレイ６４に記憶されているデータと一致する場合には、まず、マッチラインＭＬ０〜ＭＬ１２７の論理値＝“０”となる。この結果、マッチライン・センスアンプ１０７（０）〜１０７（１２７）が出力する検索結果信号ＭＳ０Ｚ〜ＭＳ１２７Ｚ＝“０”となり、検索結果判定回路８３が出力する検索結果判定信号ＤＥＴ０Ｚ＝“１”となる。
【０１５０】
したがって、サーチドライバ活性化信号バッファ８５は、サイクルＳw+1においては、サーチドライバ活性化信号ＳＢＥ１Ｚ＝“１”とし、サーチドライバ１００（ｐ）を活性化する。また、サーチバスＳＢ０（ｐ）、ＸＳＢ０（ｐ）の論理値がフリップフロップ１０１（ｐ）を介してサーチドライバ１００（ｐ）に供給される。この結果、サーチドライバ１００（ｐ）は、検索データＤ（ｐ）の値に対応してサーチバスＳＢ１（ｐ）、ＸＳＢ１（ｐ）の一方の論理値＝“１”、他方の論理値＝“０”とする。
【０１５１】
しかし、この場合には、マッチラインＭＬ１２８〜ＭＬ２５５の論理値＝“０”となるので、マッチライン・センスアンプ１０７（１２８）〜１０７（２５５）は、検索結果信号ＭＳ１２８Ｚ〜ＭＳ２５５Ｚ＝“０”とし、検索結果判定回路８７は、検索結果判定信号ＤＥＴ１Ｚ＝“１”とする。
【０１５２】
したがって、サーチドライバ活性化信号バッファ８９は、サイクルＳw+2においては、サーチドライバ活性化信号ＳＢＥ２Ｚ＝“１”とし、サーチドライバ１０２（ｐ）を活性化する。また、サーチバスＳＢ１（ｐ）、ＸＳＢ１（ｐ）の論理値がフリップフロップ１０４（ｐ）を介してサーチドライバ１０２（ｐ）に供給される。この結果、サーチドライバ１０２（ｐ）は、検索データＤ（ｐ）の値に対応してサーチバスＳＢ２（ｐ）、ＸＳＢ２（ｐ）の一方の論理値＝“１”、他方の論理値＝“０”とする。
【０１５３】
しかし、この場合には、マッチラインＭＬ２５６〜ＭＬ３８３の論理値＝“０”となるので、マッチライン・センスアンプ１０７（２５６）〜１０７（３８３）は、検索結果信号ＭＳ２５６Ｚ〜ＭＳ３８３Ｚ＝“０”とし、検索結果判定回路９１が出力する検索結果判定信号ＤＥＴ２Ｚ＝“１”とする。
【０１５４】
したがって、サーチドライバ活性化信号バッファ９３は、サイクルＳw+3においては、サーチドライバ活性化信号ＳＢＥ３Ｚ＝“１”とし、サーチドライバ１０３（ｐ）を活性化する。また、サーチバスＳＢ２（ｐ）、ＸＳＢ２（ｐ）の論理値がフリップフロップ１０５（ｐ）を介してサーチドライバ１０３（ｐ）に供給される。この結果、サーチドライバ１０３（ｐ）は、検索データＤ（ｐ）の値に対応してサーチバスＳＢ３（ｐ）、ＸＳＢ３（ｐ）の一方の論理値＝“１”、他方の論理値＝“０”とする。
【０１５５】
ここで、エンコーダ７９は、検索データＤＩＮが、メモリセルアレイ６１に記憶されているデータのいずれかと一致した場合においても、メモリセルアレイ６２に記憶されているデータのいずれかと一致した場合においても、メモリセルアレイ６３に記憶されているデータのいずれかと一致した場合においても、メモリセルアレイ６４に記憶されているデータのいずれかと一致した場合においても、検索結果信号ＭＳ０Ｚ〜ＭＳ５１１Ｚを入力し、検索データＤＩＮと同一のデータを記憶するアドレスを示すアドレス信号ＥＡを出力する。
【０１５６】
なお、本発明の第２実施形態においては、フリップフロップ部７２〜７４と、検索結果判定回路８３、８７、９１と、サーチバス活性化信号バッファ８５、８９、９３とで、メモリセルアレイ６２〜６４に対する検索動作を制御する制御部が構成されている。
【０１５７】
以上のように、本発明の第２実施形態によれば、検索コマンド信号ＸＳＥＲが“０”とされると共に、検索データＤＩＮが与えられると、メモリセルアレイ６１を対象として検索が実行され、検索データＤＩＮがメモリセルアレイ６１に記憶されているデータのいずれかと一致した場合には、メモリセルアレイ６２〜６４を対象とした検索は実行されない。
【０１５８】
また、メモリセルアレイ６１を対象として検索が実行された場合において、検索データＤＩＮがメモリセルアレイ６１に記憶されているデータの全てと不一致の場合には、メモリセルアレイ６２を対象とした検索が実行され、検索データＤＩＮがメモリセルアレイ６２に記憶されているデータのいずれかと一致した場合には、メモリセルアレイ６３、６４を対象とした検索は実行されない。
【０１５９】
また、メモリセルアレイ６１、６２を対象として検索が実行された場合において、検索データＤＩＮがメモリセルアレイ６１、６２に記憶されているデータの全てと不一致の場合には、メモリセルアレイ６３を対象とした検索が実行され、検索データＤＩＮがメモリセルアレイ６３に記憶されているデータのいずれかと一致した場合には、メモリセルアレイ６４を対象とした検索は実行されない。
【０１６０】
したがって、検索データＤＩＮがメモリセルアレイ６１に記憶されているデータのいずれかと一致し、メモリセルアレイ６２〜６４を対象とした検索を実行しないで済んだ場合には、スタンバイ状態に戻る際に、メモリセルアレイ６２〜６４に設けられているマッチラインＭＬ１２８〜ＭＬ５１１については充電の必要がなく、また、検索データＤＩＮがメモリセルアレイ６２に記憶されているデータのいずれかと一致し、メモリセルアレイ６３、６４を対象とした検索を実行しないで済んだ場合には、スタンバイ状態に戻る際に、メモリセルアレイ６３、６４に設けられているマッチラインＭＬ２５６〜ＭＬ５１１については充電の必要がなく、また、検索データＤＩＮがメモリセルアレイ６３に記憶されているデータのいずれかと一致し、メモリセルアレイ６４を対象とした検索を実行しないで済んだ場合には、スタンバイ状態に戻る際に、メモリセルアレイ６４に設けられているマッチラインＭＬ３８４〜ＭＬ５１１については充電の必要がないので、検索後、スタンバイ状態に戻る際に充電を必要とするマッチラインの数を減らし、消費電流の低減化を図ることができる。
【０１６１】
（第３実施形態）
図１３は本発明の第３実施形態の一部分を示す回路図である。本発明の第３実施形態は、本発明の第２実施形態が備えるエンコーダ７９の代わりに、エンコーダ１１０〜１２０とフリップフロップ１１８〜１２０とを設けると共に、その他については、本発明の第２実施形態が備える回路部と同一の回路部を備えている。
【０１６２】
エンコーダ１１０は、マッチライン・センスアンプ１０７（０）〜１０７（１２７）が出力する検索結果信号ＭＳ０Ｚ〜ＭＳ１２７Ｚを入力してエンコードし、７ビットのアドレス信号ＥＡＡ０を出力すると共に、このアドレス信号ＥＡＡ０が有効であるか否かを示す１ビットの有効／無効信号Ｃ０を出力するものであり、また、検索データＤＩＮが複数番地の記憶データと一致した場合、これら複数番地のうち、最小番地を示すアドレス信号ＥＡＡ０を出力するものである。
【０１６３】
ここで、検索結果信号ＭＳ０Ｚ〜ＭＳ１２７Ｚのいずれかが“１”である場合（即ち、検索データＤＩＮがメモリセルアレイ６１に記憶されているデータのいずれかと一致した場合）には、エンコーダ１１０は、検索データＤＩＮと同一データを記憶する番地のメモリセルアレイ６１内での番地を示すアドレス信号ＥＡＡ０を出力すると共に、有効／無効信号Ｃ０＝“１”とし、このアドレス信号ＥＡＡ０が有効であることを示す。これに対して、検索結果信号ＭＳ０Ｚ〜ＭＳ１２７Ｚの全てが“０”である場合（即ち、検索データＤＩＮがメモリセルアレイ６１に記憶されているデータの全てと不一致の場合）には、有効／無効信号Ｃ０＝“０”とし、アドレス信号ＥＡＡ０が無効であることを示す。
【０１６４】
エンコーダ１１１は、マッチライン・センスアンプ１０７（１２８）〜１０７（２５５）が出力する検索結果信号ＭＳ１２８Ｚ〜ＭＳ２５５Ｚを入力してエンコードし、７ビットのアドレス信号ＥＡＡ１を出力すると共に、このアドレス信号ＥＡＡ１が有効であるか否かを示す１ビットの有効／無効信号Ｃ１を出力するものであり、また、検索データＤＩＮが複数番地の記憶データと一致した場合、これら複数番地のうち、最小番地を示すアドレス信号ＥＡＡ１を出力するものである。
【０１６５】
ここで、検索結果信号ＭＳ１２８Ｚ〜ＭＳ２５５Ｚのいずれかが“１”である場合（即ち、検索データＤＩＮがメモリセルアレイ６２に記憶されているデータのいずれかと一致した場合）には、エンコーダ１１１は、検索データＤＩＮと同一データを記憶している番地のメモリセルアレイ６２内での番地を示すアドレス信号ＥＡＡ１を出力すると共に、有効／無効信号Ｃ１＝“１”とし、このアドレス信号ＥＡＡ１が有効であることを示す。これに対して、検索結果信号ＭＳ１２８Ｚ〜ＭＳ２５５Ｚの全てが“０”である場合（即ち、検索データＤＩＮがメモリセルアレイ６２に記憶されているデータの全てと不一致の場合）には、有効／無効信号Ｃ１＝“０”とし、アドレス信号ＥＡＡ１が無効であることを示す。
【０１６６】
エンコーダ１１２は、マッチライン・センスアンプ１０７（２５６）〜１０７（３８３）が出力する検索結果信号ＭＳ２５６Ｚ〜ＭＳ３８３Ｚを入力してエンコードし、７ビットのアドレス信号ＥＡＡ２を出力すると共に、このアドレス信号ＥＡＡ２が有効であるか否かを示す１ビットの有効／無効信号Ｃ２を出力するものであり、また、検索データＤＩＮが複数番地の記憶データと一致した場合、これら複数番地のうち、最小番地を示すアドレス信号ＥＡＡ２を出力するものである。
【０１６７】
ここで、検索結果信号ＭＳ２５６Ｚ〜ＭＳ３８３Ｚのいずれかが“１”である場合（即ち、検索データＤＩＮがメモリセルアレイ６３に記憶されているデータのいずれかと一致した場合）には、エンコーダ１１２は、検索データＤＩＮと同一データを記憶している番地のメモリセルアレイ６３内での番地を示すアドレス信号ＥＡＡ２を出力すると共に、有効／無効信号Ｃ２＝“１”とし、このアドレス信号ＥＡＡ２が有効であることを示す。これに対して、検索結果信号ＭＳ２５６Ｚ〜ＭＳ３８３Ｚの全てが“０”である場合（即ち、検索データＤＩＮがメモリセルアレイ６３に記憶されているデータの全てと不一致の場合）には、有効／無効信号Ｃ２＝“０”とし、アドレス信号ＥＡＡ２が無効であることを示す。
【０１６８】
エンコーダ１１３は、マッチライン・センスアンプ１０７（３８４）〜１０７（５１１）が出力する検索結果信号ＭＳ３８４Ｚ〜ＭＳ５１１Ｚを入力してエンコードし、７ビットのアドレス信号ＥＡＡ３を出力すると共に、アドレス信号ＥＡＡ３が有効であるか否かを示す１ビットの有効／無効信号Ｃ３を出力するものであり、また、検索データＤＩＮが複数番地の記憶データと一致した場合、これら複数番地のうち、最小番地を示すアドレス信号ＥＡＡ３を出力するものである。
【０１６９】
ここで、検索結果信号ＭＳ３８４Ｚ〜ＭＳ５１１Ｚのいずれかが“１”である場合（即ち、検索データＤＩＮがメモリセルアレイ６４に記憶されているデータのいずれかと一致した場合）には、エンコーダ１１３は、検索データＤＩＮと同一データを記憶している番地のメモリセルアレイ６４内での番地を示すアドレス信号ＥＡＡ３を出力すると共に、有効／無効信号Ｃ３＝“１”とし、このアドレス信号ＥＡＡ３が有効であることを示す。これに対して、検索結果信号ＭＳ３８４Ｚ〜ＭＳ５１１Ｚの全てが“０”である場合（即ち、検索データＤＩＮがメモリセルアレイ６４に記憶されているデータの全てと不一致の場合）には、有効／無効信号Ｃ３＝“０”とし、アドレス信号ＥＡＡ３が無効であることを示す。
【０１７０】
なお、ｑ＝０、１、…、１２７とすると、メモリセルアレイ６１内のメモリセル９６（ｑ、０）〜９６（ｑ、ｎ−１）の部分のメモリセルアレイ６１内での番地はｑ番地であり、メモリセルアレイ６２内のメモリセル９６（ｑ＋１２８、０）〜９６（ｑ＋１２８、ｎ−１）の部分のメモリセルアレイ６２内での番地はｑ番地であり、メモリセルアレイ６３内のメモリセル９６（ｑ＋２５６、０）〜９６（ｑ＋２５６、ｎ−１）の部分のメモリセルアレイ６３内での番地はｑ番地であり、メモリセルアレイ６４内のメモリセル９６（ｑ＋３８４、０）〜９６（ｑ＋３８４、ｎ−１）の部分のメモリセルアレイ６４内での番地はｑ番地である。
【０１７１】
エンコーダ１１４は、エンコーダ１１０が出力するアドレス信号ＥＡＡ０と有効／無効信号Ｃ０とを入力し、アドレス信号ＥＡＡ０に９ビット目及び８ビット目を設定し、これら９ビット目及び８ビット目に“００”を付加して９ビットのアドレス信号ＥＡＢ０を出力すると共に、このアドレス信号ＥＡＢ０が有効であるか否かを示す１ビットの有効／無効信号ＣＢ０を出力するものである。エンコーダ１１４は、有効／無効信号Ｃ０＝“１”の場合には、有効／無効信号ＣＢ０＝“１”とし、アドレス信号ＥＡＢ０が有効であることを示し、有効／無効信号Ｃ０＝“０”の場合には、有効／無効信号ＣＢ０＝“０”とし、アドレス信号ＥＡＢ０が無効であることを示す。
【０１７２】
このように、エンコーダ１１４は、検索データＤＩＮがメモリセルアレイ６１に記憶されているデータのいずれかと一致した場合には、検索データＤＩＮと同一データを記憶するメモリセル部分の、メモリセルアレイ６１〜６４を１つのメモリセルアレイと見たときの番地（本発明の第３実施形態内での番地）を示すアドレス信号ＥＡＢ０を出力する。また、フリップフロップ１１８は、エンコーダ１１４が出力するアドレス信号ＥＡＢ０と有効／無効信号ＣＢ０とをクロック信号ＣＬＫに同期して取り込んでエンコーダ１１５に転送するものである。
【０１７３】
エンコーダ１１５は、フリップフロップ１１８が出力するアドレス信号ＥＡＢ０及び有効／無効信号ＣＢ０と、エンコーダ１１１が出力するアドレス信号ＥＡＡ１及び有効／無効信号Ｃ１とを入力し、９ビットのアドレス信号ＥＡＢ１を出力すると共に、このアドレス信号ＥＡＢ１が有効であるか否かを示す１ビットの有効／無効信号ＣＢ１を出力するものである。
【０１７４】
エンコーダ１１５は、有効／無効信号ＣＢ０＝“１”、有効／無効信号Ｃ１＝“０”の場合には、アドレス信号ＥＡＢ０と同一値のアドレス信号ＥＡＢ１を出力すると共に、有効／無効信号ＣＢ１＝“１”とし、このアドレス信号ＥＡＢ１が有効であることを示す。これに対して、有効／無効信号ＣＢ０＝“０”、有効／無効信号Ｃ１＝“１”の場合には、エンコーダ１１５は、アドレス信号ＥＡＡ１に９ビット目及び８ビット目を設定し、これら９ビット目及び８ビット目に“０１”を付加してなるアドレス信号ＥＡＢ１を出力すると共に、有効／無効信号ＣＢ１＝“１”とし、このアドレス信号ＥＡＢ１が有効であることを示す。また、有効／無効信号ＣＢ０＝“０”、有効／無効信号Ｃ１＝“０”の場合には、エンコーダ１１５は、有効／無効信号ＣＢ１＝“０”とし、アドレス信号ＥＡＢ１が無効であることを示す。
【０１７５】
このように、エンコーダ１１５は、検索データＤＩＮがメモリセルアレイ６２に記憶されているデータのいずれかと一致した場合には、検索データＤＩＮと同一データを記憶するメモリセル部分の、メモリセルアレイ６１〜６４を１つのメモリセルアレイと見たときの番地（本発明の第３実施形態内での番地）を示すアドレス信号ＥＡＢ１を出力する。また、フリップフロップ１１９は、エンコーダ１１５が出力するアドレス信号ＥＡＢ１と有効／無効信号ＣＢ１とをクロック信号ＣＬＫに同期して取り込んでエンコーダ１１６に転送するものである。
【０１７６】
エンコーダ１１６は、フリップフロップ１１９が出力するアドレス信号ＥＡＢ１及び有効／無効信号ＣＢ１と、エンコーダ１１２が出力するアドレス信号ＥＡＡ２及び有効／無効信号Ｃ２とを入力し、９ビットのアドレス信号ＥＡＢ２を出力すると共に、このアドレス信号ＥＡＢ２が有効であるか否かを示す１ビットの有効／無効信号ＣＢ２を出力するものである。
【０１７７】
エンコーダ１１６は、有効／無効信号ＣＢ１＝“１”、有効／無効信号Ｃ２＝“０”の場合には、アドレス信号ＥＡＢ１と同一値のアドレス信号ＥＡＢ２を出力すると共に、有効／無効信号ＣＢ２＝“１”とし、このアドレス信号ＥＡＢ２が有効であることを示す。これに対して、有効／無効信号ＣＢ１＝“０”、有効／無効信号Ｃ２＝“１”の場合には、エンコーダ１１６は、アドレス信号ＥＡＡ２に９ビット目及び８ビット目を設定し、これら９ビット目及び８ビット目に“１０”を付加してなるアドレス信号ＥＡＢ２を出力すると共に、有効／無効信号ＣＢ２＝“１”とし、このアドレス信号ＥＡＢ２が有効であることを示す。また、有効／無効信号ＣＢ１＝“０”、有効／無効信号Ｃ２＝“０”の場合には、エンコーダ１１６は、有効／無効信号ＣＢ２＝“０”とし、アドレス信号ＥＡＢ２が無効であることを示す。
【０１７８】
このように、エンコーダ１１６は、検索データＤＩＮがメモリセルアレイ６３に記憶されているデータのいずれかと一致した場合には、検索データＤＩＮと同一データを記憶するメモリセル部分の、メモリセルアレイ６１〜６４を１つのメモリセルアレイと見たときの番地（本発明の第３実施形態内での番地）を示すアドレス信号ＥＡＢ２を出力する。また、フリップフロップ１２０は、エンコーダ１１６が出力するアドレス信号ＥＡＢ２と有効／無効信号ＣＢ２とをクロック信号ＣＬＫに同期して取り込んでエンコーダ１１７に転送するものである。
【０１７９】
エンコーダ１１７は、フリップフロップ１２０が出力するアドレス信号ＥＡＢ２及び有効／無効信号ＣＢ２と、エンコーダ１１３が出力するアドレス信号ＥＡＡ３及び有効／無効信号Ｃ３とを入力し、９ビットのアドレス信号ＥＡを出力すると共に、このアドレス信号ＥＡが有効であるか否かを示す有効／無効信号ＣＢ３を出力ものである。
【０１８０】
エンコーダ１１７は、有効／無効信号ＣＢ２＝“１”、有効／無効信号Ｃ３＝“０”の場合には、アドレス信号ＥＡＢ２と同一値のアドレス信号ＥＡを出力すると共に、有効／無効信号ＣＢ３＝“１”とし、このアドレス信号ＥＡが有効であることを示す。これに対して、有効／無効信号ＣＢ２＝“０”、有効／無効信号Ｃ３＝“１”の場合には、エンコーダ１１７は、アドレス信号ＥＡＡ３に９ビット目及び８ビット目を設定し、これら９ビット目及び８ビット目に“１１”を付加してなるアドレス信号ＥＡを出力すると共に、有効／無効信号ＣＢ３＝“１”とし、このアドレス信号ＥＡが有効であることを示す。また、有効／無効信号ＣＢ２＝“０”、有効／無効信号Ｃ３＝“０”の場合には、エンコーダ１１７は、有効／無効信号ＣＢ３＝“０”とし、アドレス信号ＥＡが無効であることを示す。
【０１８１】
このように、エンコーダ１１７は、検索データＤＩＮがメモリセルアレイ６４に記憶されているデータのいずれかと一致した場合には、検索データＤＩＮと同一データを記憶するメモリセル部分の、メモリセルアレイ６１〜６４を１つのメモリセルアレイと見たときの番地（本発明の第３実施形態内での番地）を示すアドレス信号ＥＡを出力する。
【０１８２】
また、本発明の第３実施形態においては、サーチドライバ９９（ｐ）は、サーチドライバ活性化信号ＳＢＥ０Ｚ＝“１”、かつ、クロック信号ＣＬＫ＝“１”のときに活性化され、検索データＤ（ｐ）の値に対応して、サーチバスＳＢ０（ｐ）、ＸＳＢ０（ｐ）の一方の論理値＝“０”、他方の論理値＝“１”とし、サーチドライバ活性化信号ＳＢＥ０Ｚ＝“０”又はクロック信号ＣＬＫ＝“０”のときは非活性状態とされ、サーチバスＳＢ０（ｐ）、ＸＳＢ０（ｐ）の論理値＝“０”とする。
【０１８３】
また、サーチドライバ１００（ｐ）は、サーチドライバ活性化信号ＳＢＥ１Ｚ＝“１”、かつ、クロック信号ＣＬＫ＝“１”のときに活性化され、検索データＤ（ｐ）の値に対応して、サーチバスＳＢ１（ｐ）、ＸＳＢ１（ｐ）の一方の論理値＝“０”、他方の論理値＝“１”とし、サーチドライバ活性化信号ＳＢＥ１Ｚ＝“０”又はクロック信号ＣＬＫ＝“０”のときは非活性状態とされ、サーチバスＳＢ１（ｐ）、ＸＳＢ１（ｐ）の論理値＝“０”とする。
【０１８４】
また、サーチドライバ１０２（ｐ）は、サーチドライバ活性化信号ＳＢＥ２Ｚ＝“１”、かつ、クロック信号ＣＬＫ＝“１”のときに活性化され、検索データＤ（ｐ）の値に対応して、サーチバスＳＢ２（ｐ）、ＸＳＢ２（ｐ）の一方の論理値＝“０”、他方の論理値＝“１”とし、サーチドライバ活性化信号ＳＢＥ２Ｚ＝“０”又はクロック信号ＣＬＫ＝“０”のときは非活性状態とされ、サーチバスＳＢ２（ｐ）、ＸＳＢ２（ｐ）の論理値＝“０”とする。
【０１８５】
また、サーチドライバ１０３（ｐ）は、サーチドライバ活性化信号ＳＢＥ３Ｚ＝“１”、かつ、クロック信号ＣＬＫ＝“１”のときに活性化され、検索データＤ（ｐ）の値に対応して、サーチバスＳＢ３（ｐ）、ＸＳＢ３（ｐ）の一方の論理値＝“０”、他方の論理値＝“１”とし、サーチドライバ活性化信号ＳＢＥ３Ｚ＝“０”又はクロック信号ＣＬＫ＝“０”のときは非活性状態とされ、サーチバスＳＢ３（ｐ）、ＸＳＢ３（ｐ）の論理値＝“０”とする。
【０１８６】
また、マッチラインＭＬ０〜ＭＬ５１１は、レベル検出時においては、クロック信号ＣＬＫ＝“０”のときにプリチャージされる。その他については、本発明の第２実施形態と同様に構成されている。
【０１８７】
図１４及び図１５は本発明の第３実施形態の検索動作例を示すタイミング図であり、検索データＤＩＮ１〜ＤＩＮ６が連続して与えられ、検索データＤＩＮ１がメモリセルアレイ６１に記憶されているデータのいずれかと一致し、検索データＤＩＮ２がメモリセルアレイ６２に記憶されているデータのいずれかと一致し、検索データＤＩＮ３がメモリセルアレイ６３に記憶されているデータのいずれかと一致し、検索データＤＩＮ４がメモリセルアレイ６４に記憶されているデータのいずれかと一致し、検索データＤＩＮ５がメモリセルアレイ６１〜６４に記憶されているデータの全てと不一致であり、検索データＤＩＮ６がメモリセルアレイ６１に記憶されているデータのいずれかと一致した場合を例にしている。
【０１８８】
図１４において、（Ａ）は動作サイクルを決めるクロック信号ＣＬＫ、（Ｂ）は検索データＤＩＮ１〜ＤＩＮ６、（Ｃ）は検索コマンド信号ＸＳＥＲ、（Ｄ）はサーチドライバ活性化信号ＳＢＥ０Ｚ、（Ｅ）はサーチバスＳＢ０（ｐ）、ＸＳＢ０（ｐ）の論理値、（Ｆ）はマッチラインＭＬ０〜ＭＬ１２７の論理値、（Ｇ）は検索結果信号ＭＳ０Ｚ〜ＭＳ１２７Ｚ、（Ｈ）はフリップフロップ８４が出力する検索結果判定信号ＤＥＴ０Ｚａ、（Ｉ）はサーチドライバ活性化信号ＳＢＥ１Ｚ、（Ｊ）はサーチバスＳＢ１（ｐ）、ＸＳＢ１（ｐ）の論理値、（Ｋ）はマッチラインＭＬ１２８〜ＭＬ２５５の論理値、（Ｌ）は検索結果信号ＭＳ１２８Ｚ〜ＭＳ２５５Ｚ、（Ｍ）はフリップフロップ８８が出力する検索結果判定信号ＤＥＴ１Ｚａ、（Ｎ）はサーチドライバ活性化信号ＳＢＥ２Ｚ、（Ｏ）はサーチバスＳＢ２（ｐ）、ＸＳＢ２（ｐ）の論理値、（Ｐ）はマッチラインＭＬ２５６〜ＭＬ３８３の論理値、（Ｑ）は検索結果信号ＭＳ２５６Ｚ〜ＭＳ３８３Ｚ、（Ｒ）はフリップフロップ９２が出力する検索結果判定信号ＤＥＴ２Ｚａ、（Ｓ）はサーチドライバ活性化信号ＳＢＥ３Ｚ、（Ｔ）はサーチバスＳＢ３（ｐ）、ＸＳＢ３（ｐ）の論理値、（Ｕ）はマッチラインＭＬ３８４〜ＭＬ５１１の論理値、（Ｖ）は検索結果信号ＭＳ３８４Ｚ〜ＭＳ５１１Ｚを示している。
【０１８９】
図１５において、（Ａ）はクロック信号ＣＬＫ、（Ｂ）は検索データＤＩＮ１〜ＤＩＮ６、（Ｃ）はエンコーダ１１０が出力するアドレス信号ＥＡＡ０、（Ｄ）はエンコーダ１１４が出力するアドレス信号ＥＡＢ０、（Ｅ）はエンコーダ１１１が出力するアドレス信号ＥＡＡ１、（Ｆ）はエンコーダ１１５が出力するアドレス信号ＥＡＢ１、（Ｇ）はエンコーダ１１２が出力するアドレス信号ＥＡＡ２、（Ｈ）はエンコーダ１１６が出力するアドレス信号ＥＡＢ２、（Ｉ）はエンコーダ１１３が出力するアドレス信号ＥＡＡ３、（Ｊ）はエンコーダ１１７が出力するアドレス信号ＥＡを示している。
【０１９０】
また、Ａ１は検索データＤＩＮ１と同一データを記憶しているメモリセルアレイ６１のメモリセル部分のメモリセルアレイ６１内での番地（０〜１２７番地のいずれか）であり、アドレス信号ＥＡＡ０が示すものである。Ａ１ＣはＡ１番地をメモリセルアレイ６１〜６４を１つのメモリセルアレイと見たときの番地（本発明の第３実施形態内での番地＝Ａ１＝０〜１２７番地のいずれか）であり、アドレス信号ＥＡＢ０、ＥＡＢ１、ＥＡＢ２、ＥＡが示すものである。
【０１９１】
Ａ２は検索データＤＩＮ２と同一データを記憶しているメモリセルアレイ６２内のメモリセル部分のメモリセルアレイ６２内での番地（０〜１２７番地のいずれか）であり、アドレス信号ＥＡＡ１が示すものである。Ａ２ＣはＡ２番地をメモリセルアレイ６１〜６４を１つのメモリセルアレイと見たときの番地（本発明の第３実施形態内での番地＝Ａ２＋１２８＝１２８〜２５５番地のいずれか）であり、アドレス信号ＥＡＢ１、ＥＡＢ２、ＥＡが示すものである。
【０１９２】
Ａ３は検索データＤＩＮ３と同一データを記憶しているメモリセルアレイ６３内のメモリセル部分のメモリセルアレイ６３内での番地（０〜１２７番地のいずれか）であり、アドレス信号ＥＡＡ２が示すものである。Ａ３ＣはＡ３番地をメモリセルアレイ６１〜６４を１つのメモリセルアレイと見たときの番地（本発明の第３実施形態内での番地＝Ａ３＋２５６＝２５６〜３８３番地のいずれか）であり、アドレス信号ＥＡＢ２、ＥＡが示すものである。
【０１９３】
Ａ４は検索データＤＩＮ４と同一データを記憶しているメモリセルアレイ６４内のメモリセル部分のメモリセルアレイ６４内での番地（０〜１２７番地のいずれか）であり、アドレス信号ＥＡＡ３が示すものである。Ａ４ＣはＡ４番地をメモリセルアレイ６１〜６４を１つのメモリセルアレイと見たときの番地（本発明の第３実施形態内での番地＝Ａ４＋３８４＝３８４〜５１１番地のいずれか）であり、アドレス信号ＥＡが示すものである。
【０１９４】
Ａ６は検索データＤＩＮ６と同一データを記憶しているメモリセルアレイ６１内のメモリセル部分のメモリセルアレイ６４内での番地（０〜１２７番地のいずれか）であり、アドレス信号ＥＡＡ０が示すものである。Ａ６ＣはＡ６番地の、メモリセルアレイ６１〜６４を１つのメモリセルアレイと見たときの番地（本発明の第３実施形態内での番地＝Ａ６＝０〜１２７番地のいずれか）であり、アドレス信号ＥＡＢ０、ＥＡＢ１、ＥＡＢ２、ＥＡが示すものである。
【０１９５】
即ち、本発明の第３実施形態においては、例えば、サイクルＳwの後半時に検索コマンド信号ＸＳＥＲが“０”とされると共に、サイクルＳwの後半時及びサイクルＳw+1の前半時に検索データＤＩＮ１が入力されると、サイクルＳw+1の前半時に、サーチドライバ９９（０）〜９９（ｎ−１）は活性化され、メモリセルアレイ６１のサーチバスＳＢ０（０）、ＸＳＢ０（０）〜ＳＢ０（ｎ−１）、ＸＳＢ０（ｎ−１）を駆動する。
【０１９６】
ここで、検索データＤＩＮ１は、メモリセルアレイ６１に記憶されているデータのいずれかと一致するので、マッチラインＭＬ０〜ＭＬ１２７のいずれかの論理値＝“１”、検索結果信号ＭＳ０Ｚ〜ＭＳ１２７Ｚのいずれかの論理値＝“１”が維持され、サイクルＳw+1、Ｓw+2においては、検索結果判定信号ＤＥＴ０Ｚａ＝“０”、サーチドライバ活性化信号ＳＢＥ１Ｚ＝“０”が維持され、サーチドライバ１００（０）〜１００（ｎ−１）は非活性とされる。
【０１９７】
この結果、サイクルＳw+1、Ｓw+2においては、マッチラインＭＬ１２８〜ＭＬ２５５の論理値＝“１”、検索結果信号ＭＳ１２８Ｚ〜ＭＳ２５５Ｚの論理値＝“１”が維持され、サイクルＳw+1〜Ｓw+3においては、検索結果判定信号ＤＥＴ１Ｚａ＝“０”、サーチドライバ活性化信号ＳＢＥ２Ｚ＝“０”が維持され、サーチドライバ１０２（０）〜１０２（ｎ−１）は非活性とされる。
【０１９８】
また、この結果、サイクルＳw+1〜Ｓw+3においては、マッチラインＭＬ２５６〜ＭＬ３８３の論理値＝“１”、検索結果信号ＭＳ２５６Ｚ〜ＭＳ３８３Ｚの論理値＝“１”が維持され、サイクルＳw+1〜Ｓw+4においては、検索結果判定信号ＤＥＴ２Ｚａ＝“０”、サーチドライバ活性化信号ＳＢＥ３Ｚ＝“０”が維持され、サーチドライバ１０３（０）〜１０３（ｎ−１）は非活性とされる。
【０１９９】
次に、サイクルＳw+1の後半時及びサイクルＳw+2の前半時に検索データＤＩＮ２が入力されると、サイクルＳw+2の前半時に、サーチドライバ９９（０）〜９９（ｎ−１）は活性化され、メモリセルアレイ６１のサーチバスＳＢ０（０）、ＸＳＢ０（０）〜ＳＢ０（ｎ−１）、ＸＳＢ０（ｎ−１）を駆動する。
【０２００】
ここで、検索データＤＩＮ２は、メモリセルアレイ６１に記憶されているデータの全てと不一致となるので、マッチラインＭＬ０〜ＭＬ１２７の論理値＝“０”、検索結果信号ＭＳ０Ｚ〜ＭＳ１２７Ｚの論理値＝“０”となり、サイクルＳw+3においては、検索結果判定信号ＤＥＴ０Ｚａ＝“１”、サーチドライバ活性化信号ＳＢＥ１Ｚ＝“１”となり、サーチドライバ１００（０）〜１００（ｎ−１）は、サイクルＳw+3の前半では、活性化され、メモリセルアレイ６２のサーチバスＳＢ１（０）、ＸＳＢ１（０）〜ＳＢ１（ｎ−１）、ＸＳＢ１（ｎ−１）を駆動する。
【０２０１】
ここで、検索データＤＩＮ２は、メモリセルアレイ６２に記憶されているデータのいずれかと一致するので、マッチラインＭＬ１２８〜ＭＬ２５５のいずれかの論理値＝“１”、検索結果信号ＭＳ１２８Ｚ〜ＭＳ２５５Ｚのいずれかの論理値＝“１”が維持され、サイクルＳw+1〜Ｓw+4においては、検索結果判定信号ＤＥＴ１Ｚａ＝“０”、サーチドライバ活性化信号ＳＢＥ２Ｚ＝“０”が維持され、サーチドライバ１０２（０）〜１０２（ｎ−１）は非活性とされる。
【０２０２】
また、この結果、サイクルＳw+1〜Ｓw+4においては、マッチラインＭＬ２５６〜ＭＬ３８３の論理値＝“１”、検索結果信号ＭＳ２５６Ｚ〜ＭＳ３８３Ｚの論理値＝“１”が維持され、サイクルＳw+1〜Ｓw+5においては、検索結果判定信号ＤＥＴ２Ｚａ＝“０”、サーチドライバ活性化信号ＳＢＥ３Ｚ＝“０”が維持され、サーチドライバ１０３（０）〜１０３（ｎ−１）は非活性とされる。
【０２０３】
次に、サイクルＳw+2の後半時及びサイクルＳw+3の前半時に検索データＤＩＮ３が入力されると、サイクルＳw+3の前半時に、サーチドライバ９９（０）〜９９（ｎ−１）は活性化され、メモリセルアレイ６１のサーチバスＳＢ０（０）、ＸＳＢ０（０）〜ＳＢ０（ｎ−１）、ＸＳＢ０（ｎ−１）を駆動する。
【０２０４】
ここで、検索データＤＩＮ３は、メモリセルアレイ６１に記憶されているデータの全てと不一致となるので、マッチラインＭＬ０〜ＭＬ１２７の論理値＝“０”、検索結果信号ＭＳ０Ｚ〜ＭＳ１２７Ｚの論理値＝“０”となり、サイクルＳw+4においては、検索結果判定信号ＤＥＴ０Ｚａ＝“１”、サーチドライバ活性化信号ＳＢＥ１Ｚ＝“１”となり、サイクルＳw+4の前半時に、サーチドライバ１００（０）〜１００（ｎ−１）は活性化され、メモリセルアレイ６２のサーチバスＳＢ１（０）、ＸＳＢ１（０）〜ＳＢ１（ｎ−１）、ＸＳＢ１（ｎ−１）を駆動する。
【０２０５】
ここで、検索データＤＩＮ３は、メモリセルアレイ６２に記憶されているデータの全てと不一致となるので、マッチラインＭＬ１２８〜ＭＬ２５５の論理値＝“０”、検索結果信号ＭＳ１２８Ｚ〜ＭＳ２５５Ｚの論理値＝“０”となり、サイクルＳw+5においては、検索結果判定信号ＤＥＴ１Ｚａ＝“１”、サーチドライバ活性化信号ＳＢＥ２Ｚ＝“１”となり、サイクルＳw+5の前半時に、サーチドライバ１０２（０）〜１０２（ｎ−１）は活性化され、メモリセルアレイ６３のサーチバスＳＢ２（０）、ＸＳＢ２（０）〜ＳＢ２（ｎ−１）、ＸＳＢ２（ｎ−１）を駆動する。
【０２０６】
ここで、検索データＤＩＮ３は、メモリセルアレイ６３に記憶されているデータのいずれかと一致するので、マッチラインＭＬ２５６〜ＭＬ３８３のいずれかの論理値＝“１”、検索結果信号ＭＳ２５６Ｚ〜ＭＳ３８３Ｚのいずれかの論理値＝“１”が維持され、サイクルＳw+1〜Ｓw+6においては、検索結果判定信号ＤＥＴ２Ｚａ＝“０”、サーチドライバ活性化信号ＳＢＥ３Ｚ＝“０”が維持され、サーチドライバ１０３（０）〜１０３（ｎ−１）は非活性とされる。
【０２０７】
次に、サイクルＳw+3の後半時及びサイクルＳw+4の前半時に検索データＤＩＮ４が入力されると、サイクルＳw+4の前半時に、サーチドライバ９９（０）〜９９（ｎ−１）は活性化され、メモリセルアレイ６１のサーチバスＳＢ０（０）、ＸＳＢ０（０）〜ＳＢ０（ｎ−１）、ＸＳＢ０（ｎ−１）を駆動する。
【０２０８】
ここで、検索データＤＩＮ４は、メモリセルアレイ６１に記憶されているデータの全てと不一致となるので、マッチラインＭＬ０〜ＭＬ１２７の論理値＝“０”、検索結果信号ＭＳ０Ｚ〜ＭＳ１２７Ｚの論理値＝“０”が維持され、サイクルＳw+5においては、検索結果判定信号ＤＥＴ０Ｚａ＝“１”、サーチドライバ活性化信号ＳＢＥ１Ｚ＝“１”となり、サイクルＳw+5の前半時に、サーチドライバ１００（０）〜１００（ｎ−１）は活性化され、メモリセルアレイ６２のサーチバスＳＢ１（０）、ＸＳＢ１（０）〜ＳＢ１（ｎ−１）、ＸＳＢ１（ｎ−１）を駆動する。
【０２０９】
ここで、検索データＤＩＮ４は、メモリセルアレイ６２に記憶されているデータの全てと不一致となるので、マッチラインＭＬ１２８〜ＭＬ２５５の論理値＝“０”、検索結果信号ＭＳ１２８Ｚ〜ＭＳ２５５Ｚの論理値＝“０”となり、サイクルＳw+6においては、検索結果判定信号ＤＥＴ１Ｚａ＝“１”、サーチドライバ活性化信号ＳＢＥ２Ｚ＝“１”となり、サイクルＳw+6の前半時に、サーチドライバ１０２（０）〜１０２（ｎ−１）は活性化され、メモリセルアレイ６３のサーチバスＳＢ２（０）、ＸＳＢ２（０）〜ＳＢ２（ｎ−１）、ＸＳＢ２（ｎ−１）を駆動する。
【０２１０】
ここで、検索データＤＩＮ４は、メモリセルアレイ６３に記憶されているデータの全てと不一致となるので、マッチラインＭＬ２５６〜ＭＬ３８３の論理値＝“０”、検索結果信号ＭＳ２５６Ｚ〜ＭＳ３８３Ｚの論理値＝“０”となり、サイクルＳw+7においては、検索結果判定信号ＤＥＴ２Ｚａ＝“１”、サーチドライバ活性化信号ＳＢＥ３Ｚ＝“１”となり、サイクルＳw+7の前半時に、サーチドライバ１０３（０）〜１０３（ｎ−１）は、活性化され、メモリセルアレイ６４のサーチバスＳＢ３（０）、ＸＳＢ３（０）〜ＳＢ３（ｎ−１）、ＸＳＢ３（ｎ−１）を駆動する。ここで、検索データＤＩＮ４は、メモリセルアレイ６４に記憶されているデータの全てと一致となるので、マッチラインＭＬ３８４〜ＭＬ５１１のいずれかの論理値＝“１”、検索結果信号ＭＳ３８４Ｚ〜ＭＳ５１１Ｚのいずれかの論理値＝“０”となる。
【０２１１】
次に、サイクルＳw+4の後半時及びサイクルＳw+5の前半時に検索データＤＩＮ５が入力されると、サイクルＳw+5の前半時に、サーチドライバ９９（０）〜９９（ｎ−１）は活性化され、メモリセルアレイ６１のサーチバスＳＢ０（０）、ＸＳＢ０（０）〜ＳＢ０（ｎ−１）、ＸＳＢ０（ｎ−１）を駆動する。
【０２１２】
ここで、検索データＤＩＮ５は、メモリセルアレイ６１に記憶されているデータの全てと不一致となるので、マッチラインＭＬ０〜ＭＬ１２７の論理値＝“０”、検索結果信号ＭＳ０Ｚ〜ＭＳ１２７Ｚの論理値＝“０”となり、サイクルＳw+6においては、検索結果判定信号ＤＥＴ０Ｚａ＝“１”、サーチドライバ活性化信号ＳＢＥ１Ｚ＝“１”となり、サイクルＳw+6の前半時に、サーチドライバ１００（０）〜１００（ｎ−１）は、活性化され、メモリセルアレイ６２のサーチバスＳＢ１（０）、ＸＳＢ１（０）〜ＳＢ１（ｎ−１）、ＸＳＢ１（ｎ−１）を駆動する。
【０２１３】
ここで、検索データＤＩＮ５は、メモリセルアレイ６２に記憶されているデータの全てと不一致となるので、マッチラインＭＬ１２８〜ＭＬ２５５の論理値＝“０”、検索結果信号ＭＳ１２８Ｚ〜ＭＳ２５５Ｚの論理値＝“０”となり、サイクルＳw+7においては、検索結果判定信号ＤＥＴ１Ｚａ＝“１”、サーチドライバ活性化信号ＳＢＥ２Ｚ＝“１”となり、サイクルＳw+7の前半時に、サーチドライバ１０２（０）〜１０２（ｎ−１）は活性化され、メモリセルアレイ６３のサーチバスＳＢ２（０）、ＸＳＢ２（０）〜ＳＢ２（ｎ−１）、ＸＳＢ２（ｎ−１）を駆動する。
【０２１４】
ここで、検索データＤＩＮ５は、メモリセルアレイ６３に記憶されているデータの全てと不一致となるので、マッチラインＭＬ２５６〜ＭＬ３８３の論理値＝“０”、検索結果信号ＭＳ２５６Ｚ〜ＭＳ３８３の論理値＝“０”となり、サイクルＳw+8においては、検索結果判定信号ＤＥＴ２Ｚａ＝“１”、サーチドライバ活性化信号ＳＢＥ３Ｚ＝“１”となり、サイクルＳw+8の前半時に、サーチドライバ１０３（０）〜１０３（ｎ−１）は活性化され、メモリセルアレイ６４のサーチバスＳＢ３（０）、ＸＳＢ３（０）〜ＳＢ３（ｎ−１）、ＸＳＢ３（ｎ−１）を駆動する。
【０２１５】
次に、サイクルＳw+5の後半時及びサイクルＳw+6の前半時に検索データＤＩＮ６が入力されると、サイクルＳw+6の前半時に、サーチドライバ９９（０）〜９９（ｎ−１）は活性化され、メモリセルアレイ６１のサーチバスＳＢ０（０）、ＸＳＢ０（０）〜ＳＢ０（ｎ−１）、ＸＳＢ０（ｎ−１）を駆動する。
【０２１６】
ここで、検索データＤＩＮ６は、メモリセルアレイ６１に記憶されているデータのいずれかと一致するので、マッチラインＭＬ０〜ＭＬ１２７のいずれかの論理値＝“１”、検索結果信号ＭＳ０Ｚ〜ＭＳ１２７Ｚのいずれかの論理値＝“１”が維持され、サイクルＳw+7においては、検索結果判定信号ＤＥＴ０Ｚａ＝“０”、サーチドライバ活性化信号ＳＢＥ１Ｚ＝“０”が維持され、サーチドライバ１００（０）〜１００（ｎ−１）は非活性とされる。
【０２１７】
この結果、サイクルＳw+7においては、マッチラインＭＬ１２８〜ＭＬ２５５の論理値＝“１”、検索結果信号ＭＳ１２８〜ＭＳ２５５Ｚの論理値＝“１”が維持され、サイクルＳw+8においては、検索結果判定信号ＤＥＴ１Ｚａ＝“０”、サーチドライバ活性化信号ＳＢＥ２Ｚ＝“０”が維持され、サーチドライバ１０２（０）〜１０２（ｎ−１）は非活性とされる。
【０２１８】
また、この結果、サイクルＳw+8においては、マッチラインＭＬ２５６〜ＭＬ３８３の論理値＝“１”、検索結果信号ＭＳ２５６〜ＭＬ３８３の論理値＝“１”が維持され、サイクルＳw+9においては、検索結果判定信号ＤＥＴ２Ｚａ＝“０”、サーチドライバ活性化信号ＳＢＥ３Ｚ＝“０”が維持され、サーチドライバ１０３（０）〜１０３（ｎ−１）は非活性とされる。
【０２１９】
また、本発明の第３実施形態においては、サイクルＳw+1の前半時に、サーチドライバ９９（０）〜９９（ｎ−１）が活性化され、検索データＤＩＮ１がメモリセルアレイ６１に記憶されているデータのいずれかと一致すると、エンコーダ１１０は、図１５（Ｃ）に示すように、検索データＤＩＮ１と同一データを記憶するメモリセル部分のメモリセルアレイ６１内での番地であるＡ１番地を示すアドレス信号ＥＡＡ０を出力する。
【０２２０】
この結果、エンコーダ１１４は、サイクルＳw+1で、Ａ１番地を示すアドレス信号ＥＡＡ０を入力し、図１５（Ｄ）に示すように、メモリセルアレイ６１内での番地であるＡ１番地をメモリセルアレイ６１〜６４を１つのメモリセルアレイとして見た場合の番地に変換し、この変換した番地であるＡ１Ｃ番地を示すアドレス信号ＥＡＢ０を出力する。
【０２２１】
また、この結果、エンコーダ１１５は、サイクルＳw+2で、フリップフロップ１１８を介してＡ１Ｃ番地を示すアドレス信号ＥＡＢ０を入力し、図１５（Ｆ）に示すように、Ａ１Ｃ番地を示すアドレス信号ＥＡＢ１を出力する。エンコーダ１１６は、サイクルＳw+3で、フリップフロップ１１９を介してＡ１Ｃ番地を示すアドレス信号ＥＡＢ１を入力し、図１５（Ｈ）に示すように、Ａ１Ｃ番地を示すアドレス信号ＥＡＢ２を出力する。エンコーダ１１７は、サイクルＳw+4で、フリップフロップ１２０を介してＡ１Ｃ番地を示すアドレス信号ＥＡＢ２を入力し、図１５（Ｊ）に示すように、Ａ１Ｃ番地を示すアドレス信号ＥＡを出力する。
【０２２２】
また、サイクルＳw+3の前半時に、サーチドライバ１００（０）〜１００（ｎ−１）が活性化され、検索データＤＩＮ２がメモリセルアレイ６２に記憶されているデータのいずれかと一致すると、エンコーダ１１１は、図１５（Ｅ）に示すように、検索データＤＩＮ２と同一データを記憶するメモリセル部分のメモリセルアレイ６２内での番地であるＡ２番地を示すアドレス信号ＥＡＡ１を出力する。
【０２２３】
この結果、エンコーダ１１５は、サイクルＳw+3で、Ａ２番地を示すアドレス信号ＥＡＢ１を入力し、図１５（Ｆ）に示すように、メモリセルアレイ６２内での番地であるＡ２番地をメモリセルアレイ６１〜６４を１つのメモリセルアレイとして見た場合の番地に変換し、この変換した番地であるＡ２Ｃ番地を示すアドレス信号ＥＡＢ１を出力する。
【０２２４】
また、この結果、エンコーダ１１６は、サイクルＳW+4で、フリップフロップ１１９を介してＡ２Ｃ番地を示すアドレス信号ＥＡＢ１を入力し、図１５（Ｈ）に示すように、Ａ２Ｃ番地を示すアドレス信号ＥＡＢ２を出力する。エンコーダ１１７は、サイクルＳW+5で、フリップフロップ１２０を介してＡ２Ｃ番地を示すアドレス信号ＥＡＢ２を入力し、図１５（Ｊ）に示すように、Ａ２Ｃ番地を示すアドレス信号ＥＡを出力する。
【０２２５】
また、サイクルＳw+5の前半時に、サーチドライバ１０２（０）〜１０２（ｎ−１）が活性化され、検索データＤＩＮ３がメモリセルアレイ６３に記憶されているデータのいずれかと一致すると、エンコーダ１１２は、図１５（Ｇ）に示すように、検索データＤＩＮ３と同一データを記憶するメモリセル部分のメモリセルアレイ６３内での番地であるＡ３番地を示すアドレス信号ＥＡＡ２を出力する。
【０２２６】
この結果、エンコーダ１１６は、サイクルＳw+5で、Ａ３番地を示すアドレス信号ＥＡＡ２を入力し、図１５（Ｈ）に示すように、メモリセルアレイ６３内での番地であるＡ３番地をメモリセルアレイ６１〜６４を１つのメモリセルアレイとして見た場合の番地に変換し、この変換した番地であるＡ３Ｃ番地を示すアドレス信号ＥＡＢ２を出力する。エンコーダ１１７は、サイクルＳw+6で、フリップフロップ１２０を介してＡ３Ｃ番地を示すアドレス信号ＥＡＢ２を入力し、図１５（Ｊ）に示すように、Ａ３Ｃ番地を示すアドレス信号ＥＡを出力する。
【０２２７】
また、サイクルＳw+7の前半時に、サーチドライバ１０３（０）〜１０３（ｎ−１）が活性化され、検索データＤＩＮ４がメモリセルアレイ６４に記憶されているデータのいずれかと一致すると、エンコーダ１１３は、図１５（Ｉ）に示すように、検索データＤＩＮ４と同一データを記憶するメモリセル部分のメモリセルアレイ６４内での番地であるＡ４番地を示すアドレス信号ＥＡＡ３を出力する。エンコーダ１１７は、サイクルＳw+7で、Ａ４番地を示すアドレス信号ＥＡＡ３を入力し、図１５（Ｊ）に示すように、Ａ４Ｃ番地を示すアドレス信号ＥＡを出力する。
【０２２８】
また、サイクルＳw+6の前半時に、サーチドライバ９９（０）〜９９（ｎ−１）が活性化され、検索データＤＩＮ６がメモリセルアレイ６１に記憶されているデータのいずれかと一致すると、エンコーダ１１０は、図１５（Ｃ）に示すように、検索データＤＩＮ６と同一データを記憶するメモリセル部分のメモリセルアレイ６１内での番地であるＡ６番地を示すアドレス信号ＥＡＡ０を出力する。
【０２２９】
この結果、エンコーダ１１４は、サイクルＳw+6で、Ａ６番地を示すアドレス信号ＥＡＡ０を入力し、図１５（Ｄ）に示すように、メモリセルアレイ６１内での番地であるＡ６番地をメモリセルアレイ６１〜６４を１つのメモリセルアレイとして見た場合の番地に変換し、この変換した番地であるＡ６Ｃ番地を示すアドレス信号ＥＡＢ０を出力する。
【０２３０】
また、この結果、エンコーダ１１５は、サイクルＳw+7で、フリップフロップ１１８を介してＡ６Ｃ番地を示すアドレス信号ＥＡＢ０を入力し、図１５（Ｆ）に示すように、Ａ６Ｃ番地を示すアドレス信号ＥＡＢ１を出力する。エンコーダ１１６は、サイクルＳw+8で、フリップフロップ１１９を介してＡ６Ｃ番地を示すアドレス信号ＥＡＢ１を入力し、図１５（Ｈ）に示すように、Ａ６Ｃ番地を示すアドレス信号ＥＡＢ２を出力する。エンコーダ１１７は、サイクルＳw+9で、フリップフロップ１２０を介してＡ６Ｃ番地を示すアドレス信号ＥＡＢ２を入力し、図１５（Ｊ）に示すように、Ａ６Ｃ番地を示すアドレス信号ＥＡを出力する。
【０２３１】
以上のように、本発明の第３実施形態においては、エンコーダ１１０を設け、検索データＤＩＮがメモリセルアレイ６１に記憶されているデータのいずれかと一致した場合には、検索データＤＩＮと同一データを記憶するメモリセル部分のメモリセルアレイ６１内での番地を示すアドレス信号ＥＡＡ０を出力するようにしている。また、エンコーダ１１１を設け、検索データＤＩＮがメモリセルアレイ６２に記憶されているデータのいずれかと一致した場合には、検索データＤＩＮと同一データを記憶するメモリセル部分のメモリセルアレイ６２内での番地を示すアドレス信号ＥＡＡ１を出力するようにしている。
【０２３２】
また、エンコーダ１１２を設け、検索データＤＩＮがメモリセルアレイ６３に記憶されているデータのいずれかと一致した場合には、検索データＤＩＮと同一データを記憶するメモリセル部分のメモリセルアレイ６３内での番地を示すアドレス信号ＥＡＡ２を出力するようにしている。また、エンコーダ１１３を設け、検索データＤＩＮがメモリセルアレイ６４に記憶されているデータのいずれかと一致した場合には、検索データＤＩＮと同一データを記憶するメモリセル部分のメモリセルアレイ６４内での番地を示すアドレス信号ＥＡＡ３を出力するようにしている。
【０２３３】
そして、アドレス信号ＥＡＡ０が有効であるときは、アドレス信号ＥＡＡ０が示すメモリセルアレイ６１内の番地がメモリセルアレイ６１〜６４を１つのメモリセルアレイとして見た場合の番地に変換され、アドレス信号ＥＡＢ０、ＥＡＢ１、ＥＡＢ２としてエンコーダ１１４からエンコーダ１１５、１１６を介してエンコーダ１１７にパイプライン転送され、エンコーダ１１７からアドレス信号ＥＡとして出力される。
【０２３４】
また、アドレス信号ＥＡＡ１が有効であるときは、アドレス信号ＥＡＡ１が示すメモリセルアレイ６２内の番地がメモリセルアレイ６１〜６４を１つのメモリセルアレイとして見た場合の番地に変換され、アドレス信号ＥＡＢ１、ＥＡＢ２としてエンコーダ１１５からエンコーダ１１６を介してエンコーダ１１７にパイプライン転送され、エンコーダ１１７からアドレス信号ＥＡとして出力される。
【０２３５】
また、アドレス信号ＥＡＡ２が有効であるときは、アドレス信号ＥＡＡ２が示すメモリセルアレイ６３内の番地がメモリセルアレイ６１〜６４を１つのメモリセルアレイとして見た場合の番地に変換され、アドレス信号ＥＡＢ２としてエンコーダ１１６からエンコーダ１１７にパイプライン転送される。また、アドレス信号ＥＡＡ３が有効であるときは、エンコーダ１１７において、アドレス信号ＥＡＡ３が示すメモリセルアレイ６４内の番地がメモリセルアレイ６１〜６４を１つのメモリセルアレイとして見た場合の番地に変換され、アドレス信号ＥＡとして出力される。
【０２３６】
本発明の第３実施形態によれば、図８に示す本発明の第２実施形態と同様に、検索後、スタンバイ状態に戻る際に充電を必要とするマッチラインの数を減らし、消費電流の低減化を図ることができると共に、メモリセルアレイ６１〜６４に対してそれぞれ異なる検索データについての検索動作を同時に行うことができ、連続する検索動作の高速化を図ることができる。
【０２３７】
（その他）
本発明の第１実施形態〜第３実施形態においては、二値（binary）タイプのメモリセルを使用した場合について説明したが、その他、本発明は、例えば、図１６に示すような三値（ternary）タイプのメモリセルを使用することもできる。図１６中、１２３は一方の記憶媒体であるフリップフロップであり、１２４、１２５はインバータである。また、Ｓ０、Ｓ１はストレージノード、１２６、１２７はワードラインＷＬの電位によりＯＮ、ＯＦＦが制御されるＮＭＯＳトランジスタである。１２８は他方の記憶媒体であるフリップフロップであり、１２９、１３０はインバータである。また、Ｓ３、Ｓ４はストレージノード、１３１、１３２はワードラインＷＬの電位によりＯＮ、ＯＦＦが制御されるＮＭＯＳトランジスタである。
【０２３８】
１３３はストレージノードＳ１の電位によりＯＮ、ＯＦＦが制御されるＮＭＯＳトランジスタ、１３４はストレージノードＳ４の電位によりＯＮ、ＯＦＦが制御されるＮＭＯＳトランジスタ、１３５はサーチバスＳＢの電位によりＯＮ、ＯＦＦが制御されるＮＭＯＳトランジスタ、１３６はサーチバスＸＳＢの電位によりＯＮ、ＯＦＦが制御されるＮＭＯＳトランジスタである。
【０２３９】
図１６に示すメモリセルに対するデータの書き込み及び図１６に示すメモリセルからのデータの読み出しは、ワードラインＷＬとビットラインＢＬ０、ＸＢＬ０、ＢＬ１、ＸＢＬ１とＮＭＯＳトランジスタ１２６、１２７、１３１、１３２とを使用して行われる。表３は図１６に示すメモリセルに対するデータ書き込み時及び図１６に示すメモリセルからのデータ読み出し時における図１６に示すメモリセルの記憶データとビットラインＢＬ０、ＸＢＬ０、ＢＬ１、ＸＢＬ１の論理値との関係を示している。
【０２４０】
【表３】
0005119912.tif 000004
【０２４１】
また、図１６に示すメモリセルに対する検索は、サーチバスＳＢ、ＸＳＢと、ＮＭＯＳトランジスタ１３３〜１３６と、マッチラインＭＬを使用して行われる。表４は検索時における図１６に示すメモリセルの記憶データとサーチバスＳＢ、ＸＳＢの論理値との関係を示している。
【０２４２】
【表４】
0005119912.tif 000005
【０２４３】
また、本発明の第１実施形態〜第３実施形態においては、メモリセルとしてＳＲＡＭセルを使用した場合について説明したが、本発明は、ＳＲＡＭセル以外のメモリセルを使用する場合にも適用することができることは当然である。
【図面の簡単な説明】
【０２４４】
【図１】本発明の第１実施形態の一部分を示す回路図である。
【図２】本発明の第１実施形態の一部分をより詳しく示す回路図である。
【図３】本発明の第１実施形態が備える一方のメモリセルアレイの部分をより詳しく示す回路図である。
【図４】本発明の第１実施形態が備える他方のメモリセルアレイの部分をより詳しく示す回路図である。
【図５】本発明の第１実施形態の一部分をより詳しく示す回路図である。
【図６】本発明の第１実施形態の検索動作例を示すタイミング図である。
【図７】本発明の第１実施形態の検索動作例を示すタイミング図である。
【図８】本発明の第２実施形態の一部分を示す回路図である。
【図９】本発明の第２実施形態の一部分をより詳しく示す回路図である。
【図１０】本発明の第２実施形態の一部分をより詳しく示す回路図である。
【図１１】本発明の第２実施形態の一部分をより詳しく示す回路図である。
【図１２】本発明の第２実施形態の検索動作例を示すタイミング図である。
【図１３】本発明の第３実施形態の一部分を示す回路図である。
【図１４】本発明の第３実施形態の検索動作例を示すタイミング図である。
【図１５】本発明の第３実施形態の検索動作例を示すタイミング図である。
【図１６】本発明に使用することができるメモリセルの他の例を示す回路図である。
【図１７】連想メモリの機能をＲＡＭと比較して説明するための図である。
【図１８】連想メモリが備えるメモリセルの一例を示す回路図である。
【図１９】図１８に示すメモリセルに対する検索動作を説明するための回路図である。
【図２０】図１８に示すメモリセルに対する検索動作を説明するための回路図である。
【図２１】図１８に示すメモリセルに対する検索動作を説明するための回路図である。
【図２２】図１８に示すメモリセルに対する検索動作を説明するための回路図である。
【図２３】図１８に示すメモリセルに対する検索時のサーチバス及びマッチラインの電位変化を示す波形図である。
【図２４】実際の連想メモリにおけるメモリセルとマッチラインとの関係を示す回路図である。
【図２５】従来の連想メモリの一例の一部分を示すブロック図である。
【図２６】図２５に示す従来の連想メモリの一部分をより詳しく示す回路図である。
【図２７】図２５に示す従来の連想メモリが備えるメモリセルアレイの部分をより詳しく示す回路図である。
【図２８】図２５に示す従来の連想メモリの検索動作例を説明するための回路図である。
【図２９】図２５に示す従来の連想メモリの検索動作例を説明するためのタイミング図である。
【図３０】図２５に示す従来の連想メモリの検索動作例を説明するためのタイミング図である。
【図３１】図２５に示す従来の連想メモリが有するプライオリティ・マッチ機能を説明するための図である。
【符号の説明】
【０２４５】
１…ＲＡＭ
２…連想メモリ（ＣＡＭ）
３…メモリセル（ＭＣ）
４…フリップフロップ
５、６…インバータ
７〜１２…ＮＭＯＳトランジスタ
１５…マッチライン・センスアンプ（ＭＬＳＡ）
１６…メモリセルアレイ
１７…ワードデコーダ（ＷＤＥＣ）部
１８…ライトアンプ（Ｗ／Ａ）部
１９…センスアンプ（Ｓ／Ａ）部
２０…サーチドライバ（Ｓ／Ｄ）部
２１…マッチライン・センスアンプ（ＭＬＳＡ）部
２２…エンコーダ（ＥＮＣ）
２３…コマンドデコーダ（ＣＯＭＤＥＣ）
２４…サーチドライバ活性化信号生成回路（ＳＢＥＧＥＮ）
２５…ワードドライバ（ＷＤＥＣ）
２６…ライトアンプ（Ｗ／Ａ）
２７…センスアンプ（Ｓ／Ａ）
２８…サーチドライバ（Ｓ／Ｄ）
３１、３２…メモリセルアレイ（ＭＣＡ）
３３…ワードデコーダ（ＷＤＥＣ）部
３４…ラインアンプ（Ｗ／Ａ）部
３５…センスアンプ（Ｓ／Ａ）部
３６、３７…サーチドライバ（Ｓ／Ｄ）部
３８…フリップフロップ（ＦＦ）部
３９、４０…マッチライン・センスアンプ（ＭＬＳＡ）部
４１…エンコーダ（ＥＮＣ）
４２…コマンドデコーダ（ＣＯＭＤＥＣ）
４３…サーチドライバ活性化信号生成回路（ＳＢＥＧＥＮ）
４４…フリップフロップ（ＦＦ）
４５…検索結果判定回路（ＤＥＴ）
４６…サーチドライバ活性化信号バッファ（ＳＢＥＢＵＦ）
５０…メモリセル（ＭＣ）
５１…ライトアンプ（Ｗ／Ａ）
５２…センスアンプ（Ｓ／Ａ）
５３、５４…サーチドライバ（Ｓ／Ｄ）
５５…フリップフロップ（ＦＦ）
５６…マッチライン・センスアンプ（ＭＬＳＡ）
６１〜６４…メモリセルアレイ（ＭＣＡ）
６５…ワードデコーダ（ＷＤＥＣ）部
６６…ライトアンプ（Ｗ／Ａ）部
６７…センスアンプ（Ｓ／Ａ）部
６８〜７１…サーチドライバ（Ｓ／Ｄ）部
７２〜７４…フリップフロップ（ＦＦ）部
７５〜７８…マッチライン・センスアンプ（ＭＬＳＡ）部
７９…エンコーダ（ＥＮＣ）
８０…コマンドデコーダ（ＣＯＭＤＥＣ）
８１…サーチドライバ活性化信号生成回路（ＳＢＥＧＥＮ）
８２…フリップフロップ（ＦＦ）
８３…検索結果判定回路（ＤＥＴ）
８４…フリップフロップ（ＦＦ）
８５…サーチドライバ活性化信号バッファ（ＳＢＥＢＵＦ）
８６…フリップフロップ（ＦＦ）
８７…検索結果判定回路（ＤＥＴ）
８８…フリップフロップ（ＦＦ）
８９…サーチドライバ活性化信号バッファ（ＳＢＥＢＵＦ）
９０…フリップフロップ（ＦＦ）
９１…検索結果判定回路（ＤＥＴ）
９２…フリップフロップ（ＦＦ）
９３…サーチドライバ活性化信号バッファ（ＳＢＥＢＵＦ）
９６…メモリセル（ＭＣ）
９７…ライトアンプ（Ｗ／Ａ）
９８…センスアンプ（Ｓ／Ａ）
９９、１００…サーチドライバ（Ｓ／Ｄ）
１０１…フリップフロップ（ＦＦ）
１０２、１０３…サーチドライバ（Ｓ／Ｄ）
１０４、１０５…フリップフロップ（ＦＦ）
１０６…ワードデコーダ（ＷＤＥＣ）
１０７…マッチライン・センスアンプ（ＭＬＳＡ）
１１０〜１１７…エンコーダ（ＥＮＣ）
１１８〜１２０…フリップフロップ（ＦＦ）
１２３…フリップフロップ（ＦＦ）
１２４、１２５…インバータ
１２６、１２７…ＮＭＯＳトランジスタ
１２８…フリップフロップ
１２９、１３０…インバータ
１３１〜１３６…ＮＭＯＳトランジスタ
【図１】
0005119912.tif 000006
【図２】
0005119912.tif 000007
【図３】
0005119912.tif 000008
【図４】
0005119912.tif 000009
【図５】
0005119912.tif 000010
【図６】
0005119912.tif 000011
【図７】
0005119912.tif 000012
【図８】
0005119912.tif 000013
【図９】
0005119912.tif 000014
【図１０】
0005119912.tif 000015
【図１１】
0005119912.tif 000016
【図１２】
0005119912.tif 000017
【図１３】
0005119912.tif 000018
【図１４】
0005119912.tif 000019
【図１５】
0005119912.tif 000020
【図１６】
0005119912.tif 000021
【図１７】
0005119912.tif 000022
【図１８】
0005119912.tif 000023
【図１９】
0005119912.tif 000024
【図２０】
0005119912.tif 000025
【図２１】
0005119912.tif 000026
【図２２】
0005119912.tif 000027
【図２３】
0005119912.tif 000028
【図２４】
0005119912.tif 000029
【図２５】
0005119912.tif 000030
【図２６】
0005119912.tif 000031
【図２７】
0005119912.tif 000032
【図２８】
0005119912.tif 000033
【図２９】
0005119912.tif 000034
【図３０】
0005119912.tif 000035
【図３１】
0005119912.tif 000036