(57)【要約】【課題】低消費電力化が可能な半導体装置を提供する。【解決手段】半導体装置であって、行列状に配置された複数の検索メモリセルと、メモリセル行にそれぞれ対応して設けられ、検索メモリセルに格納されたデータと、検索データとの一致／不一致を判定するための複数のマッチ線と、複数のマッチ線にそれぞれ対応して設けられた複数のマッチ線保持回路と、複数のマッチ線のそれぞれの状態に関する情報を格納する格納部と、格納部に格納されている情報に基づいて、複数のマッチ線保持回路を選択的に活性化させる選択回路とを備える。【選択図】図９
2019102108.tif 000002
【特許請求の範囲】
【請求項１】
行列状に配置された複数の検索メモリセルと、
メモリセル行にそれぞれ対応して設けられ、前記検索メモリセルに格納されたデータと、検索データとの一致／不一致を判定するための複数のマッチ線と、
前記複数のマッチ線にそれぞれ対応して設けられた複数のマッチ線保持回路と、
前記複数のマッチ線のそれぞれの状態に関する情報を格納する格納部と、
前記格納部に格納されている情報に基づいて、前記複数のマッチ線保持回路を選択的に活性化させる選択回路とを備える、半導体装置。
【請求項２】
前記格納部は、前記複数のマッチ線のそれぞれの状態に関する情報を格納するレジスタである、請求項１記載の半導体装置。
【請求項３】
前記複数の検索メモリセルの一部は、前記格納部として利用される、請求項１記載の半導体装置。
【請求項４】
電源電圧を供給する電源配線をさらに備え、
各前記マッチ線保持回路は、容量素子を含み、
前記選択回路は、
前記格納部に格納されている情報に基づいて前記容量素子と、対応するマッチ線とを電気的に接続するための第１のスイッチと、
前記格納部に格納されている情報に基づいて、前記第１のスイッチと相補的に動作し、前記容量素子と、前記電源配線とを電気的に接続するための第２スイッチとを含む、請求項１記載の半導体装置。
【請求項５】
前記複数の検索メモリセルは、行列状に設けられた複数の検索ユニットに分割され、
各検索ユニット毎に、前記複数のマッチ線、前記複数のマッチ線保持回路および前記選択回路が設けられ、
前記格納部は、前記複数の検索ユニットのうち同一行の検索ユニットに対応して共通に設けられる、請求項１記載の半導体装置。
【請求項６】
各前記マッチ線保持回路は、
電源電圧と、対応するマッチ線との間に設けられ、前記選択回路からの選択信号を受けて活性化するスイッチと、
前記マッチ線の電圧に基づいて前記スイッチが活性化するタイミングを調整するタイミング調整回路とを含む、請求項１記載の半導体装置。
【請求項７】
前記複数のマッチ線の状態をテストするテスト回路を備え、
前記テスト回路は、前記テスト結果に基づいて、前記格納部に前記情報を格納する、請求項１記載の半導体装置。
【請求項８】
前記複数の検索メモリセルは、前記テスト結果に基づいて一部の検索メモリセルの代替として用いる冗長検索メモリセルを有する、請求項７記載の半導体装置。
【請求項９】
前記テスト回路は、前記複数のメモリセルに格納されたデータを読み出し、読み出したデータを前記検索データとして、前記マッチ線の状態をテストする、請求項７記載の半導体装置。
【請求項１０】
前記テスト回路は、前記複数のメモリセルにデータを書き込み、書き込んだデータを前記検索データとして、前記マッチ線の状態をテストする、請求項７記載の半導体装置。
【請求項１１】
各前記マッチ線保持回路は、前記選択回路からの選択信号に基づいて対応するマッチ線をチャージする、請求項１記載の半導体装置。
【請求項１２】
各前記マッチ線保持回路は、電源電圧と対応するマッチ線との間に設けられ、前記選択回路からの選択信号および前記対応するマッチ線の電位に基づいて、前記対応するマッチ線を前記電源電圧に接続する、請求項１記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この開示は、半導体装置に関し、たとえば、連想メモリに関する。
【背景技術】
【０００２】
連想メモリまたはＣＡＭ（内容参照メモリ：Content Addressable Memory）と呼ばれる記憶装置は、記憶しているデータワードの中から検索ワードに一致しているものを検索し、一致しているデータワードが見つかった場合は、そのアドレスを出力するものである。
【０００３】
ＣＡＭにはＢＣＡＭ（Binary CAM）とＴＣＡＭ（Ternary CAM）とがある。ＢＣＡＭの各メモリセルは“０”か“１”かのいずれかの情報を記憶する。一方、ＴＣＡＭの場合には、各メモリセルは、“０”および“１”の他に“ドントケア（Don't Care）”（本例においては、“＊”の記号を用いる）の情報を記憶可能である。“＊”は“０”および“１”のどちらでも良いことを示す。
【０００４】
ＴＣＡＭ装置は、インターネットなどのネットワーク用のルータにおいてアドレス検索およびアクセス制御のために幅広く利用されている。大容量化に対応するために、ＴＣＡＭ装置は、通常、複数のアレイを有し、各アレイに対して同時にサーチ動作が実行される構成となっている。
【０００５】
ＴＣＡＭ装置は、入力サーチデータ（入力パケット）とＴＣＡＭセルデータとを一斉に比較することができるので、全ての検索用途においてＲＡＭ（Random Access Memory）よりも高速である。
【０００６】
具体的には、ＴＣＡＭ装置は、メモリセルに格納した情報とユーザーが検索したいデータとを比較して、双方のデータが一致、不一致を示すためのマッチ線（ＭＬ）を有している。
【０００７】
一般的にサーチ動作前に、マッチ線は、電源電圧（ＶＤＤ）に設定される。サーチ動作時に一致した場合には、マッチ線は電源電圧（ＶＤＤ）レベルに保持され、不一致の場合には、マッチ線は接地電圧（ＶＳＳ）レベルになる。
【０００８】
一方で、半導体プロセスの微細化に伴うトランジスタリークの増加、マッチ線に接続されているデータ比較用のトランジスタの製造ばらつきや経年劣化によるオフリークの変動により、マッチ線の電源電圧（ＶＤＤ）、すなわち「Ｈ」レベル状態の保持特性の悪化による歩留まりの低下が問題となっている。
【０００９】
この点で、マッチ線の電位の保持特性の改善として、サーチ動作時のマッチ線の電圧変動を回路的に補助する電圧保持回路が提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】米国特許第７９２０３９８号明細書
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、電圧保持回路は、マッチ線の電位の保持特性を改善できる一方で、サーチ動作時において、不一致のエントリで貫通電流が発生することになるため消費電力が増大するという課題がある。
【００１２】
本開示は、上記の課題を解決するためになされたものであって、低消費電力化が可能な半導体装置を提供する。
【００１３】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１４】
ある局面に従う半導体装置であって、行列状に配置された複数の検索メモリセルと、メモリセル行にそれぞれ対応して設けられ、検索メモリセルに格納されたデータと、検索データとの一致／不一致を判定するための複数のマッチ線とを備える。また、半導体装置は、複数のマッチ線にそれぞれ対応して設けられた複数のマッチ線保持回路と、複数のマッチ線のそれぞれの状態に関する情報を格納する格納部と、格納部に格納されている情報に基づいて、複数のマッチ線保持回路を選択的に活性化させる選択回路とを備える。
【発明の効果】
【００１５】
一実施例によれば、本開示の半導体装置は、低消費電力化を図ることが可能である。
【図面の簡単な説明】
【００１６】
【図１】実施形態１に基づく通信機器１の構成を説明する図である。
【図２】ＴＣＡＭセルの構成の一例を示す回路図である。
【図３】図２のＸセルおよびＹセルの記憶内容とＴＣＡＭデータとの対応関係を表形式で示す図である。
【図４】実施形態１に基づく検索メモリ８に含まれるセグメント（サブブロック）１２の構成を説明する図である。
【図５】実施形態１に基づくマッチアンプ部の構成を説明する図である。
【図６】実施形態１に基づくサーチ動作のタイミングチャートについて説明する図である。
【図７】実施形態２に基づくマッチアンプ部の構成を説明する図である。
【図８】実施形態２に基づくサーチ動作を説明する図である。
【図９】実施形態３に基づく検索メモリ８に含まれる複数のセグメントを説明する図である。
【図１０】実施形態４に基づくマッチアンプの構成を説明する図である。
【図１１】実施形態４に基づくサーチ動作を説明する図である。
【図１２】実施形態５に基づく検索メモリ８＃の構成について説明する図である。
【図１３】実施形態５に基づくテスト回路１００におけるテスト動作について説明するフロー図である。
【図１４】実施形態６に基づくテスト回路１００におけるテスト動作について説明するフロー図である。
【図１５】実施形態７に基づくテスト回路１００におけるテスト動作について説明するフロー図である。
【発明を実施するための形態】
【００１７】
実施形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付し、その説明は繰り返さない。
【００１８】
（実施形態１）
＜通信機器１の全体構成＞
図１は、実施形態１に基づく通信機器１の構成を説明する図である。
【００１９】
図１に示されるように、通信機器１は、スイッチあるいはルータ等の通信装置である。
通信機器１は、ＣＰＵ（Central Processing Unit）２と、転送制御回路４と、汎用メモリ６と、検索メモリ８とを含む。
【００２０】
ＣＰＵ２は、機器全体を制御する。
ＣＰＵ２は、汎用メモリ６に格納されたプログラムと協働して種々の機能を実現する。たとえば、汎用メモリ６は、ＤＲＡＭ（Dynamic Random Access Memory）で構成することが可能であり、ＣＰＵ２と協働することによりオペレーティングシステム（ＯＳ）を構築する。ＣＰＵ２は、隣接する通信機器等と情報交換し、転送処理に必要な情報を維持管理する。
【００２１】
転送制御回路４は、通信パケットの転送処理を実行する。転送制御回路４は、転送処理に特化したＡＳＩＣ（Application Specific Integrated Circuit）回路あるいはＮＰＵ(Network Processing Unit)といった専用ハードウェアが設けられている。転送制御回路４は、検索メモリ８にアクセスして、転送処理に必要な情報を取得する。
【００２２】
検索メモリ８は、本例においては、ＴＣＡＭ装置を用いる場合について説明する。
［ＴＣＡＭセルの構成］
図２は、ＴＣＡＭセルの構成の一例を示す回路図である。
【００２３】
図２を参照して、ＴＣＡＭセル（メモリセルＭＣとも称する）は、２個のＳＲＡＭセル（Static Random Access Memory Cell）１１，１２と、データ比較部１３とを含む。ＳＲＡＭセル１１をＸセルとも称し、ＳＲＡＭセル１４をＹセルとも称する。Ｘセル１１は、内部の記憶ノード対ＮＤ１，ＮＤ１＿ｎに互いに相補となる（一方が“１”のとき他方が“０”となる）１ビット（ｂｉｔ）のデータを記憶する。Ｙセル１４は、内部の記憶ノード対ＮＤ２，ＮＤ２＿ｎに互いに相補となる１ビットのデータを記憶する。ＴＣＡＭセルは、連想メモリセルとも称する。
【００２４】
ＴＣＡＭセルは、ビット線対ＢＬ，／ＢＬ、サーチ線対ＳＬ，／ＳＬ、マッチ線ＭＬ、およびワード線ＷＬＸ，ＷＬＹと接続される。ビット線対ＢＬ，／ＢＬは、図６のＴＣＡＭセルアレイ２０の列方向（Ｙ方向）に延在し、列方向に配列された複数のＴＣＡＭセルによって共有される。サーチ線対ＳＬ，／ＳＬは、ＴＣＡＭセルアレイ２０の列方向（Ｙ方向）に延在し、列方向に配列された複数のＴＣＡＭセルによって共有される。
【００２５】
マッチ線ＭＬは、ＴＣＡＭセルアレイ２０の行方向（Ｘ方向）に延在し、行方向に配列された複数のＴＣＡＭセルによって共有される。ワード線ＷＬＸ，ＷＬＹは、ＴＣＡＭセルアレイ２０の行方向（Ｘ方向）に延在し、行方向に配列された複数のＴＣＡＭセルによって共有される。
【００２６】
Ｘセル１１は、インバータＩＮＶ１，ＩＮＶ２と、ＮチャネルＭＯＳ（Metal Oxide Semiconductor）トランジスタＱ１，Ｑ２とを含む。インバータＩＮＶ１は、記憶ノードＮＤ１＿ｎから記憶ノードＮＤ１へ向かう方向が順方向となるように、記憶ノードＮＤ１と記憶ノードＮＤ１＿ｎの間に接続される。インバータＩＮＶ２は、ＩＮＶ１と並列かつ逆方向に接続される。ＭＯＳトランジスタＱ１は、記憶ノードＮＤ１とビット線ＢＬとの間に接続される。ＭＯＳトランジスタＱ２は、記憶ノードＮＤ１＿ｎとビット線／ＢＬとの間に接続される。ＭＯＳトランジスタＱ１，Ｑ２のゲートは、ワード線ＷＬＸと接続される。
【００２７】
Ｙセル１４は、インバータＩＮＶ３，ＩＮＶ４と、ＭＯＳ（Metal Oxide Semiconductor）トランジスタＱ３，Ｑ４とを含む。インバータＩＮＶ３は、記憶ノードＮＤ２＿ｎから記憶ノードＮＤ２に向かう方向が順方向となるように、記憶ノードＮＤ２と記憶ノードＮＤ２＿ｎの間に接続される。インバータＩＮＶ４は、ＩＮＶ３と並列かつ逆方向に接続される。ＭＯＳトランジスタＱ３は、記憶ノードＮＤ２とビット線ＢＬとの間に接続される。ＭＯＳトランジスタＱ４は、記憶ノードＮＤ２＿ｎとビット線／ＢＬとの間に接続される。ＭＯＳトランジスタＱ３，Ｑ４のゲートは、ワード線ＷＬＹと接続される。
【００２８】
データ比較部１３は、ＮチャネルＭＯＳトランジスタＱ６〜Ｑ９を含む。ＭＯＳトランジスタＱ６，Ｑ７はマッチ線ＭＬとの接続点であるノードＮＤ３と接地ノードＧＮＤとの間に直列に接続される。ＭＯＳトランジスタＱ８，Ｑ９は、ノードＮＤ３と接地ノードＧＮＤとの間に直列に、かつ、直列接続されたＭＯＳトランジスタＱ６，Ｑ７の全体と並列に接続される。ＭＯＳトランジスタＱ６，Ｑ８のゲートは、記憶ノードＮＤ１，ＮＤ２とそれぞれ接続される。ＭＯＳトランジスタＱ７，Ｑ９のゲートは、サーチ線ＳＬ，／ＳＬとそれぞれ接続される。
【００２９】
図３は、図２のＸセルおよびＹセルの記憶内容とＴＣＡＭデータとの対応関係を表形式で示す図である。
【００３０】
図２および図３を参照して、ＴＣＡＭセルは、２ビットのＳＲＡＭセルを用いて、“０”、“１”、“＊”（ドントケア：don't care）の３値を格納することができる。具体的に、Ｘセル１１の記憶ノードＮＤ１に“１”が格納され、Ｙセル１４の記憶ノードＮＤ２に“０”が格納されているとき、ＴＣＡＭセルには“０”が格納されているとする。Ｘセル１１の記憶ノードＮＤ１に“０”が格納され、Ｙセル１４の記憶ノードＮＤ２に“１”が格納されているとき、ＴＣＡＭセルには“１”が格納されているとする。Ｘセル１１の記憶ノードＮＤ１に“０”が格納され、Ｙセル１４の記憶ノードＮＤ２に“０”が格納されているとき、ＴＣＡＭセルには“＊”（ドントケア）が格納されているとする。Ｘセル１１の記憶ノードＮＤ１に“１”が格納され、Ｙセル１４の記憶ノードＮＤ２に“１”が格納されている場合は使用しない。
【００３１】
上記のＴＣＡＭセルの構成によれば、サーチデータが“１”（すなわち、サーチ線ＳＬが“１”、かつ、サーチ線／ＳＬが“０”）であり、ＴＣＡＭデータが“０”（記憶ノードＮＤ１が“１”、かつ、記憶ノードＮＤ２が“０”）である場合には、ＭＯＳトランジスタＱ６，Ｑ７がオン状態となるために、プリチャージされたマッチ線ＭＬの電位が接地電位まで引き抜かれる。サーチデータが“０”（すなわち、サーチ線ＳＬが“０”、かつ、サーチ線／ＳＬが“１”）であり、ＴＣＡＭデータが“１”（記憶ノードＮＤ１が“０”、かつ、記憶ノードＮＤ２が“１”）である場合には、ＭＯＳトランジスタＱ８，Ｑ９がオン状態となるために、プリチャージされたマッチ線ＭＬの電位が接地電位まで引き抜かれる。すなわち、サーチデータとＴＣＡＭデータとが不一致の場合には、マッチ線ＭＬの電位は接地電位まで引き抜かれる。
【００３２】
逆に、入力されたサーチデータが“１”であり、かつ、ＴＣＡＭデータが“１”または“＊”の場合、もしくは、サーチデータが“０”であり、かつ、ＴＣＡＭデータが“０”または“＊”の場合（すなわち、両者が一致する場合）、プリチャージされたマッチ線ＭＬの電位（電源電圧ＶＤＤレベル）は維持される。
【００３３】
上記のように、ＴＣＡＭでは、１つのエントリ（行）に対応するマッチ線ＭＬに接続された全てのＴＣＡＭセルのデータが入力サーチデータと一致しない限り、マッチ線ＭＬに蓄えられた電荷が引き抜かれる。このため、ＴＣＡＭでの検索は高速であるが、消費電流が大きいという問題がある。
【００３４】
図４は、実施形態１に基づく検索メモリ８に含まれるセグメント（サブブロック）１２の構成を説明する図である。
【００３５】
図４に示されるように、セグメント１２は、ＴＣＡＭセルアレイ２０（単にセルアレイとも称する）と、書込ドライバ２１と、サーチ線ドライバ２２と、マッチアンプ部２３と、制御論理回路２４と、読出回路２５とを含む。
【００３６】
セグメント１２は、図示していないがワード線ＷＬＸ，ＷＬＹを駆動するためのワード線ドライバ（不図示）と、制御信号やアドレス信号等の入力を受ける入出力回路（不図示）とを含む。
【００３７】
ＴＣＡＭセルアレイ２０は、行列状（ｍ行；ｋ列）に配列されたＴＣＡＭセルを含む。本例においては、セルアレイ２０は、行数（エントリ数）ｍがＮであり、列数（ビット数）ｋが４０の場合が示されている。なお、セルアレイ２０は、少なくとも１つ以上のマッチ線の電位の保持特性に関する情報を格納するための冗長メモリセル列を有している。
【００３８】
セルアレイ２０の各列に対応して、ｋ個（ｋ＝４０）のビット線対（ＢＬ０，／ＢＬ０からＢＬ（ｋ−１），／ＢＬ（ｋ−１）まで）と、ｋ個（ｋ＝４０）のサーチ線対（ＳＬ０，／ＳＬ０からＳＬ（ｋ−１），／ＳＬ（ｋ−１）まで）とが設けられる。
【００３９】
セルアレイ２０の各行に対応して、ｍ本（ｍ＝Ｎ）のマッチ線（ＭＬ０〜ＭＬ（Ｎ−１）まで）と、図示しないｍ本のＸセル用のワード線（ＷＬＸ０〜ＷＬＸ（Ｎ−１）まで）と、図示しないｍ本のＹセル用のワード線（ＷＬＹ０〜ＷＬＹ（Ｎ−１）まで）とが設けられる。
【００４０】
書込ドライバ２１は、書込時に、ビット線対ＢＬ，／ＢＬを介して各ＴＣＡＭセルに書込データを供給する。サーチ線ドライバ２２は、検索時に、サーチ線対ＳＬ，／ＳＬを介して各ＴＣＡＭセルにサーチデータを供給する。
【００４１】
制御論理回路２４は、セグメント１２全体の動作を制御する。たとえば、制御論理回路２４は、検索時には、サーチコマンドを受け取り、サーチ線ドライバ２２と、マッチアンプ部２３に制御信号を出力することによって、サーチ線ドライバ２２、マッチアンプ部２３、およびプリチャージ回路の動作を制御する。制御論理回路２４は、読出時には読出コマンドを受け取り、読出回路２５を制御する制御信号を出力する。これによりセルアレイ２０に格納されているエントリデータを読み出して出力することが可能である。
【００４２】
マッチアンプ部２３は、セルアレイの行にそれぞれ対応する複数のマッチアンプＭＡを含む。マッチアンプＭＡは、検索時に、対応するマッチ線ＭＬの電位に基づいて、対応するＴＣＡＭセルデータと入力サーチデータの対応部分とが一致するか否かを検出する。この実施形態では、マッチアンプＭＡは、検索時に対応するマッチ線ＭＬをプリチャージするためのプリチャージ回路を含む。
【００４３】
図５は、実施形態１に基づくマッチアンプ部の構成を説明する図である。
図５に示されるように、エントリ毎にマッチアンプが設けられる。
【００４４】
本例においては、複数のエントリ（ｅｎｔｒｙ０〜ｅｎｔｒｙ（Ｎ−１））にそれぞれ対応して複数のマッチアンプ（ＭＡ０〜ＭＡ（Ｎ−１））が設けられている場合が示されている。
【００４５】
各マッチアンプ（ＭＡ０〜ＭＡ（Ｎ−１））の構成は同じ構成である。
各エントリは、４０個のメモリセルＭＣと、ダミーメモリセルＤＭＣとを含む。ダミーメモリセルＤＭＣには、対応するマッチ線ＭＬの状態に関する情報が格納される。例えば、ダミーメモリセルＤＭＣには、対応するマッチ線ＭＬの電位（「Ｈ」レベル）の保持特性に関する情報が格納される。ダミーメモリセルＤＭＣは、サーチデータとの比較は行わないため、マッチ線ＭＬには接続されない。
【００４６】
マッチアンプＭＡは、マッチ線ＭＬのデータを増幅するためのアンプＡＰと、プリチャージ回路としてのＰチャネルＭＯＳトランジスタＰＴ１と、マッチ線ＭＬの電位を保持するためのマッチ線保持回路５０と、ＡＮＤ回路ＡＤと、設定回路ＳＴとを含む。
【００４７】
ＡＮＤ回路ＡＤと、設定回路ＳＴとはマッチ線保持回路５０を選択するための選択回路として機能する。
【００４８】
ＰチャネルＭＯＳトランジスタＰＴ１は、制御信号／ＰＲＥの入力を受ける。ＰチャネルＭＯＳトランジスタＰＴ１は、制御信号／ＰＲＥ（「Ｌ」レベル）に従ってオンする。これに伴い、電源電圧ＶＤＤとマッチ線ＭＬとが電気的に結合され、マッチ線ＭＬが電源電圧ＶＤＤの電圧レベルにプリチャージされる。これによりサーチ動作の準備が実行される。
【００４９】
マッチ線保持回路５０は、ＰチャネルＭＯＳトランジスタＰＴ２を含む。
ＰチャネルＭＯＳトランジスタＰＴ２は、ソース側が電源電圧ＶＤＤと接続され、ドレイン側がマッチ線ＭＬと接続される。ＰチャネルＭＯＳトランジスタＰＴ２のゲートは制御信号ＫＥｐｒｅの入力を受ける。
【００５０】
設定回路ＳＴは、制御信号ＳＥに従って活性化され、対応するダミーメモリセルＤＭＣに格納されている情報に基づいて制御信号ＫＥを出力する。
【００５１】
ＡＮＤ回路ＡＤは、制御信号ＫＥと、マッチ線ＭＬの電位に基づく信号とのＡＮＤ論理演算結果を制御信号ＫＥｐｒｅとして出力する。
【００５２】
たとえば、ダミーメモリセルＤＭＣにデータ「“１”」が格納されている場合に、設定回路ＳＴは、制御信号ＳＴ（「Ｈ」レベル）に従って制御信号ＫＥ（「Ｈ」レベル）を出力する。
【００５３】
マッチ線ＭＬの電位が「Ｈ」レベルの場合には、ＡＮＤ回路ＡＤは、制御信号ＫＥ（「Ｈ」レベル）とマッチ線ＭＬの電位（「Ｈ」レベル）とに基づいて制御信号ＫＥｐｒｅ（「Ｌ」レベル）を出力する。これに伴い、ＰチャネルＭＯＳトランジスタＰＴ２がオンして、電源電圧ＶＤＤとマッチ線ＭＬとが電気的に結合される。この結果、マッチ線ＭＬがチャージされ、マッチ線ＭＬの電位は「Ｈ」レベルに維持される。したがって、マッチ線ＭＬの電位（「Ｈ」レベル状態）の保持特性を改善することができる。
【００５４】
一方、マッチ線ＭＬの電位が「Ｌ」レベルの場合には、ＡＮＤ回路ＡＤは、制御信号ＫＥｐｒｅ（「Ｈ」レベル）を出力する。この場合、ＰチャネルＭＯＳトランジスタＰＴ２はオフの状態となる。しかしながら、マッチ線ＭＬの電位が「Ｈ」レベルから「Ｌ」レベルに変化する時、マッチ線保持回路５０に貫通電流Ｉｋｐが生じる。
【００５５】
次に、ダミーメモリセルＤＭＣにデータ「“０”」が格納されている場合、設定回路ＳＴは、制御信号ＳＥに従って、制御信号ＫＥ（「Ｌ」レベル）を出力する。
【００５６】
この場合は、マッチ線ＭＬの電位に関係なく、ＡＮＤ回路ＡＤは制御信号ＫＥｐｒｅ（「Ｌ」レベル）を出力する。
【００５７】
したがって、マッチ線の電位の保持特性の救済が不要なエントリのダミーメモリセルＤＭＣにデータ「”０”」を格納することで、マッチ線の電位の保持特性の救済が不要なエントリが不一致を示した場合には、貫通電流の発生を防ぐごとができる。
【００５８】
図６は、実施形態１に基づくサーチ動作のタイミングチャートについて説明する図である。
【００５９】
図６を参照して、セグメント１２のサーチ動作において全エントリが不一致の場合と一致の場合とが示されている。
【００６０】
本例においては、エントリ（ｅｎｔｒｙ０）のダミーメモリセルＤＭＣには「“１”」のデータが格納されているものとする。また、エントリ（ｅｎｔｒｙ１〜ｅｎｔｒｙ（Ｎ−１））のダミーメモリセルＤＭＣには「“０”」のデータが格納されているものとする。
【００６１】
時刻Ｔ０〜Ｔ１の期間においては、プリチャージ（ｐｒｅｃｈａｒｇｅ）期間に設定されている。この場合、制御信号／ＰＲＥは「Ｌ」レベルに設定される。
【００６２】
したがって、プリチャージ回路により全エントリのマッチ線ＭＬ０〜ＭＬ（Ｎ−１）は電源電圧ＶＤＤの電圧レベルにプリチャージされる。
【００６３】
次に、時刻Ｔ１において、サーチ動作を実行する制御信号ＳＥが活性化（「Ｈ」レベル）される。
【００６４】
これに伴い、サーチ線ドライバ２２は、サーチデータに従ってサーチ線ＳＬ，／ＳＬを駆動する。
【００６５】
マッチ線ＭＬの電位がサーチ結果（入力サーチデータの対応部分とＴＣＡＭセルデータとの比較結果）に依存して変化する。すなわち、一致（ヒット：hit）の場合、マッチ線ＭＬの電位は電源電圧ＶＤＤ（「Ｈ」レベル）のまま維持され、不一致（ミス：miss）の場合、マッチ線ＭＬの電荷が接地ノードに放電されるのでマッチ線の電位は接地電圧（「Ｌ」レベル）に変化する。
【００６６】
本例の場合には、全エントリにおいて不一致の場合が示されており、全マッチ線ＭＬ０〜ＭＬ（Ｎ−１）は接地電位（「Ｌ」レベル）に設定される。
【００６７】
この場合のマッチアンプＭＡ０について説明する。
エントリ（ｅｎｔｒｙ０）のダミーメモリセルＤＭＣには「“１”」のデータが格納されているため、制御信号ＳＥ（「Ｈ」レベル）に従って制御信号ＫＥ（「Ｈ」レベル）が出力される。ＡＤ回路ＡＤは、制御信号ＫＥおよびマッチ線ＭＬ０の電位（「Ｈ」レベル）に基づいて制御信号ＫＥｐｒｅ（「Ｌ」レベル）を出力する。したがって、ＰチャネルＭＯＳトランジスタＰＴ２がオンする。
【００６８】
したがって、エントリ（ｅｎｔｒｙ０）において、サーチ期間の初期においては、ＰチャネルＭＯＳトランジスタＰＴ２を貫通電流Ｉｋｐが流れる。サーチ期間の後半においては、ＡＤ回路ＡＤは、マッチ線ＭＬ０の電位（「Ｌ」レベル）に従って制御信号ＫＥｐｒｅ（「Ｈ」レベル）を出力する。これに伴い、ＰチャネルＭＯＳトランジスタＰＴ２がオフするため貫通電流Ｉｋｐは流れない。
【００６９】
次に、マッチアンプＭＡ１〜ＭＡ（Ｎ−１）について説明する。
エントリ（ｅｎｔｒｙ１〜ｅｎｔｒｙ（Ｎ−１））のダミーメモリセルＤＭＣには「“０”」のデータが格納されている。したがって、制御信号ＳＥ（「Ｈ」レベル）に従って制御信号ＫＥ（「Ｌ」レベル）が出力される。ＡＤ回路ＡＤは、制御信号ＫＥおよびマッチ線ＭＬの電位（「Ｈ」レベル）に基づいて制御信号ＫＥｐｒｅ（「Ｈ」レベル）を出力する。したがって、ＰチャネルＭＯＳトランジスタＰＴ２はオンしない。
【００７０】
それゆえ、エントリ（ｅｎｔｒｙ１〜ｅｎｔｒｙ（Ｎ−１））において、サーチ期間においては、ＰチャネルＭＯＳトランジスタＰＴ２がオフしているため貫通電流Ｉｋｐは流れない。
【００７１】
次に、時刻Ｔ２において、制御信号／ＰＲＥは「Ｌ」レベルに設定される。
したがって、プリチャージ回路により全エントリのマッチ線ＭＬ０〜ＭＬ（Ｎ−１）は電源電圧ＶＤＤの電圧レベルにプリチャージされる。
【００７２】
次に、時刻Ｔ３において、サーチ動作を実行する制御信号ＳＥが活性化（「Ｈ」レベル）される。
【００７３】
これに伴い、サーチ線ドライバ２２は、サーチデータに従ってサーチ線ＳＬ，／ＳＬを駆動する。
【００７４】
マッチ線ＭＬの電位がサーチ結果（入力サーチデータの対応部分とＴＣＡＭセルデータとの比較結果）に依存して変化する。
【００７５】
本例の場合には、全エントリにおいて一致の場合が示されており、全マッチ線ＭＬ０〜ＭＬ（Ｎ−１）は電源電圧ＶＤＤの電位（「Ｈ」レベル）に設定される。
【００７６】
この場合のマッチアンプＭＡ０について説明する。
エントリ（ｅｎｔｒｙ０）のダミーメモリセルＤＭＣには「“１”」のデータが格納されているため、制御信号ＳＥ（「Ｈ」レベル）に従って制御信号ＫＥ（「Ｈ」レベル）が出力される。ＡＤ回路ＡＤは、制御信号ＫＥおよびマッチ線ＭＬ０の電位（「Ｈ」レベル）に基づいて制御信号ＫＥｐｒｅ（「Ｌ」レベル）を出力する。したがって、ＰチャネルＭＯＳトランジスタＰＴ２がオンする。
【００７７】
したがって、エントリ（ｅｎｔｒｙ０）において、サーチ期間においては、ＰチャネルＭＯＳトランジスタＰＴ２を介してマッチ線ＭＬ０は、電源電圧ＶＤＤの電位を維持する。
【００７８】
次に、マッチアンプＭＡ１〜ＭＡ（Ｎ−１）について説明する。
エントリ（ｅｎｔｒｙ１〜ｅｎｔｒｙ（Ｎ−１））のダミーメモリセルＤＭＣには「“０”」のデータが格納されている。したがって、制御信号ＳＥ（「Ｈ」レベル）に従って制御信号ＫＥ（「Ｌ」レベル）が出力される。ＡＤ回路ＡＤは、制御信号ＫＥおよびマッチ線ＭＬ（Ｎ−１）の電位（「Ｈ」レベル）に基づいて制御信号ＫＥｐｒｅ（「Ｈ」レベル）を出力する。したがって、ＰチャネルＭＯＳトランジスタＰＴ２はオンしない。
【００７９】
それゆえ、エントリ（ｅｎｔｒｙ１〜ｅｎｔｒｙ（Ｎ−１））において、サーチ期間においては、ＰチャネルＭＯＳトランジスタＰＴ２がオフしている。マッチ線保持回路５０は機能していないため各マッチ線ＭＬは、電源電圧ＶＤＤから少し電位が下がった状態で維持されている場合が示されている。
【００８０】
従来は、サーチ動作時において、マッチ線保持回路５０を選択的に活性化する構成を有していなかったため、不一致の全エントリで貫通電流が発生することになるため消費電力が増大する可能性があった。
【００８１】
本実施形態１に基づく構成によりマッチ線保持回路５０を選択的に活性化させることが可能となり、不要な貫通電流を抑制して低消費電力化を図ることが可能である。
【００８２】
また、予めマッチ線の電位の保持特性をテストし、テスト結果に応じてマッチ線保持回路５０を活性化させるか否かの情報をダミーメモリセルＤＭＣに格納することで、マッチ線の電位の保持特性が不良であるマッチ線ＭＬのマッチ線保持回路５０を選択的に活性化させることによりマッチ線の電位の保持特性の改善かつ、歩留まりを向上することが可能である。
【００８３】
また、本例においては、ダミーメモリセルＤＭＣに、マッチ線の状態に関する情報（マッチ線保持回路５０を活性化させるか否かの情報）を格納するため当該情報を格納するための装置を別に設ける必要が無く、簡易な構成で実現することが可能である。
【００８４】
なお、ダミーメモリセルＤＭＣに当該情報を格納する必要はなく、他のメモリ（例えばＲＯＭ（Read Only Memory）等）やフューズやレジスタに当該情報を書き込むことも可能である。その場合、設定回路ＳＴが制御信号ＳＥに従って他のメモリ（例えばＲＯＭ（Read Only Memory）等）やフューズやレジスタ等から情報を取得して制御信号ＫＥを設定するようにすればよい。
【００８５】
（実施形態２）
図７は、実施形態２に基づくマッチアンプ部の構成を説明する図である。
【００８６】
図７に示されるように、エントリ毎にマッチアンプが設けられる。
本例においては、複数のエントリ（ｅｎｔｒｙ０〜ｅｎｔｒｙ（Ｎ−１））にそれぞれ対応して複数のマッチアンプ（ＭＡ＃０〜ＭＡ＃（Ｎ−１））が設けられている場合が示されている。
【００８７】
各マッチアンプ（ＭＡ＃０〜ＭＡ＃（Ｎ−１））の構成は同じ構成である。なお、総称して、マッチアンプＭＡ＃とも称する。
【００８８】
各エントリは、実施形態１と同様に、４０個のメモリセルＭＣと、ダミーメモリセルＤＭＣとを含む。ダミーメモリセルＤＭＣには、対応するマッチ線ＭＬの電位の保持特性に関する情報が格納される。
【００８９】
マッチアンプＭＡ＃は、マッチ線ＭＬのデータを増幅するためのアンプＡＰと、プリチャージ回路としてのＰチャネルＭＯＳトランジスタＰＴ１と、マッチ線ＭＬの電位を保持するためのマッチ線保持回路５１と、ＮチャネルＭＯＳトランジスタＭ０と、ＰチャネルＭＯＳトランジスタＭ１とを含む。
【００９０】
アンプＡＰは、制御信号ＳＰに従ってマッチ線ＭＬのデータを増幅する。
ＮチャネルＭＯＳトランジスタＭ０と、ＰチャネルＭＯＳトランジスタＭ１とはマッチ線保持回路５１を選択するための選択回路として機能する。
【００９１】
ＰチャネルＭＯＳトランジスタＰＴ１は、制御信号／ＰＲＥの入力を受ける。ＰチャネルＭＯＳトランジスタＰＴ１は、制御信号／ＰＲＥ（「Ｌ」レベル）に従ってオンする。これに伴い、電源電圧ＶＤＤとマッチ線ＭＬとが電気的に結合され、マッチ線ＭＬが電源電圧ＶＤＤの電圧レベルにプリチャージされる。これによりサーチ動作の準備が実行される。
【００９２】
マッチ線保持回路５０は、容量素子Ｃを含む。
容量素子Ｃは、ＮチャネルＭＯＳトランジスタＭ０を介してマッチ線ＭＬと接続される。また、容量素子Ｃは、ＮチャネルＭＯＳトランジスタＭ０と並列に接続されたＰチャネルＭＯＳトランジスタＭ１を介して電源電圧ＶＤＤを供給する電源配線６０と接続される。
【００９３】
ＮチャネルＭＯＳトランジスタＭ０およびＰチャネルＭＯＳトランジスタＭ１のゲートは、ダミーメモリセルＤＭＣの記憶ノードと接続されている。したがって、ＮチャネルＭＯＳトランジスタＭ０とＰチャネルＭＯＳトランジスタＭ１とは、ダミーメモリセルＤＭＣに格納されているデータに基づいてスイッチ機能を有し、互いに相補的に動作する。
【００９４】
たとえば、ダミーメモリセルＤＭＣにデータ「“１”」が格納されている場合に、ＮチャネルＭＯＳトランジスタＭ０はオンする。したがって、容量素子Ｃはマッチ線ＭＬと接続される。一方、ダミーメモリセルＤＭＣにデータ「“０”」が格納されている場合に、ＰチャネルＭＯＳトランジスタＭ１はオンする。したがって、容量素子Ｃは電源配線６０と接続される。
【００９５】
図８は、実施形態２に基づくサーチ動作を説明する図である。
図８（Ａ）を参照して、比較例として従来のサーチ動作の例が示されている。
【００９６】
ここでは、エントリ（ｅｎｔｒｙ０）のマッチ線ＭＬ０の電位の保持特性が不良である場合について説明する。マッチ線ＭＬ０の電位の保持特性が不良であるために一致の場合であってもマッチ線ＭＬ０の電位が低下する場合が示されている。
【００９７】
そして、アンプＡＰに対して制御信号ＳＰが入力されるタイミングにおいて、マッチ線ＭＬ０の電位が低下している。したがって、アンプＡＰは、マッチ線ＭＬ０の電位に従って出力信号ＭＯＵＴ０（「Ｌ」レベル）として出力する。すなわち、マッチ線ＭＬ０の電位の保持特性が不良である場合には、一致の場合であっても不一致と判定してしまう可能性がある。
【００９８】
図８（Ｂ）を参照して、実施形態２に基づくマッチアンプＭＡ＃の動作について説明する。
【００９９】
ここでは、エントリ（ｅｎｔｒｙ０）のマッチ線ＭＬ０の電位の保持特性が不良である場合にダミーメモリセルＤＭＣにデータ「“１”」が格納されている場合について説明する。
【０１００】
この場合、ＮチャネルＭＯＳトランジスタＭ０はオンしているため容量素子Ｃがマッチ線ＭＬ０と接続されている。
【０１０１】
マッチラインＭＬ０に容量素子Ｃが接続されているため、マッチラインＭＬ０の電圧変化が緩やかになる。
【０１０２】
電圧変化ΔＶ２からΔＶ１により小さくすることが可能となる。
したがって、アンプＡＰに対して制御信号ＳＰが入力されるタイミングにおいて、マッチ線ＭＬ０の電位の低下が抑制されている。したがって、アンプＡＰは、マッチ線ＭＬ０の電位に従って出力信号ＭＯＵＴ０（「Ｈ」レベル）として出力する。すなわち、マッチ線ＭＬ０の電位の保持特性が不良である場合でも、一致の場合に適切に判定することが可能である。
【０１０３】
マッチ線保持回路として容量素子を用いることにより、マッチ線保持回路を制御するための回路が不要となり、簡易な構成で実現することが可能である。
【０１０４】
また、マッチ線の電位の保持特性が良好でマッチ線保持回路をマッチ線の電位の保持特性の救済用として機能させる必要がない場合には、容量素子を電源配線６０と接続し、デカップル容量として用いることが可能であるため、電源ノイズの低減も可能となる。
【０１０５】
（実施形態３）
近年、検索システムの大容量化の要求か増えており、検索メモリ８のレイアウト面積も増加している。
【０１０６】
図９は、実施形態３に基づく検索メモリ８に含まれる複数のセグメントを説明する図である。
【０１０７】
図９に示されるように、本例においては、３２０ビット×４ｋエントリのアレイ構成が示されている。
【０１０８】
Ｎ個のブロックが設けられている。
各ブロック（０〜Ｎ−１）は、４０ビット×１２８エントリのセグメント１２が８個設けられている。
【０１０９】
実施形態３においては、マッチ線保持回路５０を選択的に活性化させる情報をレジスタ７０に格納する。レジスタ７０は、複数の記憶ユニット７１を含む。ブロック毎にマッチ線保持回路５０を活性化させるか否かを設定する情報を記憶ユニット７１に格納する。
【０１１０】
すなわち、ブロック（Ｂｌｏｃｋ０）に対して当該情報が記憶ユニット７１に格納された場合には、ブロックに属する８個のセグメント１２の全てのマッチ線保持回路５０が活性化される。
【０１１１】
また、従来は、全ブロック（Ｂｌｏｃｋ０〜Ｂｌｏｃｋ（Ｎ−１）)の全エントリのマッチアンプＭＡにあるマッチ線保持回路を動作させていた。したがって、上記したように不一致時にマッチ線の電位の保持特性が不良でないエントリに対して不要な貫通電流が流れていた。
【０１１２】
当該構成において、例えば、ブロック（Ｂｌｏｃｋ０）のみにマッチ線の不良が発生しているエントリがある場合は、当該ブロックのマッチ線保持回路５０を活性化させる情報を記憶ユニット７１に格納する。これにより、全アレイ構成のブロック数をＮとすると、約１／Ｎの電流削減効果を期待することが可能である。
【０１１３】
また、ブロック毎に記憶ユニット７１を設けて格納する情報を共有することにより、レイアウト面積を縮小することが可能となり、チップ面積増加を抑制することが可能となる。
【０１１４】
なお、記憶ユニット７１に情報を格納する方式について説明したが、特にこれに限られず、ダミーメモリセルＤＭＣに当該情報を格納しても良いし、他のメモリ（例えばＲＯＭ（Read Only Memory）等）やフューズやレジスタに当該情報を書き込むことも可能である。
【０１１５】
（実施形態４）
実施形態４においては、実施形態１に従う方式よりもさらに低消費電力化を図る方式について説明する。
【０１１６】
図１０は、実施形態４に基づくマッチアンプの構成を説明する図である。
図１０に示されるように、実施形態４に基づくマッチアンプＭＡＤが設けられる。
【０１１７】
マッチアンプＭＡＤは、マッチアンプＭＡと比較して設定回路ＳＴを設定回路ＳＴ＃に置換した点が異なる。その他の構成については同様であるのでその詳細な説明については繰り返さない。
【０１１８】
設定回路ＳＴ＃は、制御信号ＫＥを出力するタイミングを調整する。具体的には、設定回路ＳＴ＃は、設定回路ＳＴが出力する制御信号ＫＥのタイミングを所定期間遅延させて出力する。一例として、バッファあるいは、抵抗およびキャパシタ等で構成される遅延回路により遅延させるようにしてもよい。
【０１１９】
図１１は、実施形態４に基づくサーチ動作を説明する図である。
図１１（Ａ）を参照して、比較例として実施形態１のサーチ動作の例が示されている。
【０１２０】
本例においては、エントリ（ｅｎｔｒｙ０）について説明する。
ダミーメモリセルＤＭＣには「“１”」のデータが格納されているものとする。
【０１２１】
また、エントリ（ｅｎｔｒｙ０）において不一致の場合について説明する。
上記したように、エントリ（ｅｎｔｒｙ０）において、サーチ期間の初期においては、ＰチャネルＭＯＳトランジスタＰＴ２を貫通電流Ｉｋｐが流れる。サーチ期間の後半においてマッチ線ＭＬ０の電位が低下してくると、ＡＤ回路ＡＤは、マッチ線ＭＬ０の電位（「Ｌ」レベル）に従って制御信号ＫＥｐｒｅ（「Ｈ」レベル）を出力する。これに伴い、ＰチャネルＭＯＳトランジスタＰＴ２がオフするため、これ以降、貫通電流Ｉｋｐは流れない。
【０１２２】
図１１（Ｂ）を参照して、実施形態４のサーチ動作の例が示されている。
本例においては、設定回路ＳＴ＃は、制御信号ＫＥを出力するタイミングを遅延させる。具体的には、時刻Ｔ４に設定回路ＳＴ＃は、制御信号ＫＥ（「Ｈ」レベル）を出力する。
【０１２３】
ＡＮＤ回路ＡＤは、制御信号ＫＥと、マッチ線ＭＬの電位とのＡＮＤ論理演算結果を制御信号ＫＥｐｒｅとして出力する。
【０１２４】
この場合、ＡＮＤ回路ＡＤは、時刻Ｔ４においてマッチ線ＭＬの電位が低下しているため制御信号ＫＥｐｒｅ（「Ｈ」レベル）は変化しない。
【０１２５】
それゆえ、ＰチャネルＭＯＳトランジスタＰＴ２はオンしないため貫通電流Ｉｋｐは流れない。
【０１２６】
これにより、マッチ線保持回路を活性化させるべきエントリが、不一致を示す場合でも貫通電流Ｉｋｐをさらに抑制し、低消費電力化を図ることが可能である。
【０１２７】
また、実施形態３で説明した図９の大容量の検索メモリ８に対して当該方式を適用することにより不要な貫通電流を抑制して消費電力を大幅に低減することが可能である。さらに、実施形態３で説明したブロックごとに設けられた記憶ユニット７１により設定回路ＳＴ＃の遅延を制御することでエントリ毎に設けられているダミーメモリセルＤＭＣを不要にでき、面積の縮小が可能となる。
【０１２８】
（実施形態５）
図１２は、実施形態５に基づく検索メモリ８＃の構成について説明する図である。
【０１２９】
図１２を参照して、検索メモリ８＃は、複数のセグメント１２−１〜１２−３と、テスト回路１００とを含む。
【０１３０】
テスト回路１００は、各セグメント１２に対してテスト動作を実行する。
具体的には、テスト回路１００は、各セグメント１２に含まれる全エントリに対応するマッチ線ＭＬの電位の保持特性不良を判定し、救済する。
【０１３１】
図１３は、実施形態５に基づくテスト回路１００におけるテスト動作について説明するフロー図である。
【０１３２】
図１３を参照して、テスト回路１００は、マッチ線の電位の保持特性テストを実行する（ステップＳ２）。
【０１３３】
例えば、テスト回路１００は、セグメント１２のエントリ毎に所定のデータを書き込む。本例においては、図１２に示されるようにそれぞれエントリ毎にそれぞれ異なるデータを書き込む。テスト回路１００は、エントリ毎に書き込んだデータをサーチデータとしてサーチ動作を実行する。
【０１３４】
テスト回路１００は、書き込んだデータのエントリに対応するマッチアンプＭＡが一致を出力した場合（「Ｈ」レベル）には、当該エントリに対応するマッチ線ＭＬは良好であると判定する。一方、マッチアンプＭＡが不一致を出力した場合（「Ｌ」レベル）には、当該エントリに対応するマッチ線ＭＬは不良であると判定する。
【０１３５】
テスト回路１００は、サーチ動作によりマッチ線ＭＬは不良判定であるか否かを判断する（ステップＳ４）。
【０１３６】
ステップＳ４において、テスト回路１００は、マッチ線ＭＬは不良判定で無いと判断した場合（ステップＳ４においてＮＯ）の場合には、ステップＳ１４に進む。
【０１３７】
一方、ステップＳ４において、テスト回路１００は、マッチ線ＭＬは不良判定であると判断した場合（ステップＳ４においてＹＥＳ）には、不良情報を格納する（ステップＳ６）。具体的には、対応するエントリに含まれるダミーメモリセルＤＭＣに「“１”」のデータを格納する。
【０１３８】
次に、テスト回路１００は、マッチ線の電位の保持特性テストを再実行する（ステップＳ８）。
【０１３９】
具体的には、テスト回路１００は、書き込んだデータのエントリに対応するマッチアンプＭＡが一致を出力した場合（「Ｈ」レベル）には、当該エントリに対応するマッチ線ＭＬは良好であると判定する。一方、マッチアンプＭＡが不一致を出力した場合（「Ｌ」レベル）には、当該エントリに対応するマッチ線ＭＬは不良であると判定する。なお、この場合、実施形態１で説明したようにダミーメモリセルＤＭＣに「“１”」のデータが格納されているためマッチ線保持回路５０が機能して動作する。
【０１４０】
次に、テスト回路１００は、マッチ線ＭＬは不良判定であるか否かを判断する（ステップＳ１０）。
【０１４１】
ステップＳ１０において、テスト回路１００は、マッチ線ＭＬは不良判定で無いと判断した場合（ステップＳ１０においてＮＯ）には、ステップＳ１４に進む。
【０１４２】
一方、ステップＳ１０において、テスト回路１００は、マッチ線ＭＬは不良判定であると判断した場合（ステップＳ１０においてＹＥＳ）には、冗長メモリに置換する（ステップＳ１２）。具体的には、当該エントリは、マッチ線保持回路５０を用いても救済することができない不良であるため冗長メモリを用いて救済する。
【０１４３】
次に、テスト回路１００は、全エントリについてテスト完了したか否かを判断する（ステップＳ１４）。
【０１４４】
ステップＳ１４において、テスト回路１００は、全エントリについてテストが完了したと判断した場合には、処理を終了する（エンド）。
【０１４５】
ステップＳ１４において、テスト回路１００は、全エントリについてテストが完了していないと判断した場合には、ステップＳ２に戻り、全エントリについてテストが完了するまで上記処理を繰り返す。
【０１４６】
当該処理により、セグメント１２に含まれるマッチ線ＭＬの電位の保持特性をテストするとともにマッチ線保持回路５０を用いて救済可能であるか否かを確認し、救済できない場合には冗長メモリを用いて救済する。これによりマッチ線ＭＬの電位の保持特性が不良による歩留まりを抑制することが可能となる。
【０１４７】
また、当該方式によりマッチ線保持回路５０を用いて救済可能であれば冗長メモリは用いられないため冗長メモリの容量も削減することが可能であり、小型化を図ることが可能である。
【０１４８】
（実施形態６）
上記の実施形態においては、一例として出荷段階においてテスト回路１００を用いてマッチ線の電位の保持特性テストを実行する場合について説明した。一方で出荷後においても同様のテストを実行することが可能である。
【０１４９】
一般的に、検索メモリを搭載した半導体装置では、メモリセルに格納しているデータがソフトエラーや経年劣化などによる不良により、書き換わっていないかをチェックする機能であるパリティチェック機能を有する。
【０１５０】
当該パリティチェック機能を用いてマッチ線の電位の保持特性テストを実行するようにしても良い。
【０１５１】
図１４は、実施形態６に基づくテスト回路１００におけるテスト動作について説明するフロー図である。
【０１５２】
図１４を参照して、テスト回路１００は、パリティチェックを実行する（ステップＳ０）。
【０１５３】
例えば、テスト回路１００は、セグメント１２のエントリに格納されているデータを読みだして、パリティデータに基づいてパリティチェックを実行する。
【０１５４】
次に、テスト回路１００は、読み出したデータに基づいてマッチ線の電位の保持特性テストを実行する（ステップＳ１）。
【０１５５】
具体的には、テスト回路１００は、エントリ毎に読み出したデータをサーチデータとしてサーチ動作を実行する。
【０１５６】
テスト回路１００は、読み出したデータのエントリに対応するマッチアンプＭＡが一致を出力した場合（「Ｈ」レベル）には、当該エントリに対応するマッチ線ＭＬは良好であると判定する。一方、マッチアンプＭＡが不一致を出力した場合（「Ｌ」レベル）には、当該エントリに対応するマッチ線ＭＬは不良であると判定する。
【０１５７】
テスト回路１００は、サーチ動作によりマッチ線ＭＬは不良判定であるか否かを判断する（ステップＳ４）。
【０１５８】
ステップＳ４において、テスト回路１００は、マッチ線ＭＬは不良判定で無いと判断した場合（ステップＳ４においてＮＯ）の場合には、ステップＳ１４に進む。
【０１５９】
一方、ステップＳ４において、テスト回路１００は、マッチ線ＭＬは不良判定であると判断した場合（ステップＳ４においてＹＥＳ）には、不良情報を格納する（ステップＳ６）。具体的には、対応するエントリに含まれるダミーメモリセルＤＭＣに「“１”」のデータを格納する。
【０１６０】
次に、テスト回路１００は、マッチ線の電位の保持特性テストを再実行する（ステップＳ８）。
【０１６１】
具体的には、テスト回路１００は、読み出したデータのエントリに対応するマッチアンプＭＡが一致を出力した場合（「Ｈ」レベル）には、当該エントリに対応するマッチ線ＭＬは良好であると判定する。一方、マッチアンプＭＡが不一致を出力した場合（「Ｌ」レベル）には、当該エントリに対応するマッチ線ＭＬは不良であると判定する。なお、この場合、実施形態１で説明したようにダミーメモリセルＤＭＣに「“１”」のデータが格納されているためマッチ線保持回路５０が機能して動作する。
【０１６２】
次に、テスト回路１００は、マッチ線ＭＬは不良判定であるか否かを判断する（ステップＳ１０）。
【０１６３】
ステップＳ１０において、テスト回路１００は、マッチ線ＭＬは不良判定で無いと判断した場合（ステップＳ１０においてＮＯ）には、ステップＳ１４に進む。
【０１６４】
一方、ステップＳ１０において、テスト回路１００は、マッチ線ＭＬは不良判定であると判断した場合（ステップＳ１０においてＹＥＳ）には、冗長メモリに置換する（ステップＳ１２）。具体的には、当該エントリは、マッチ線保持回路５０を用いても救済することができない不良であるため冗長メモリを用いて救済する。
【０１６５】
次に、テスト回路１００は、全エントリについてテスト完了したか否かを判断する（ステップＳ１４）。
【０１６６】
ステップＳ１４において、テスト回路１００は、全エントリについてテストが完了したと判断した場合（ステップＳ１４においてＹＥＳ）には、処理を終了する（エンド）。
【０１６７】
ステップＳ１４において、テスト回路１００は、全エントリについてテストが完了していないと判断した場合（ステップＳ１４においてＮＯ）には、ステップＳ０に戻り、全エントリについてテストが完了するまで上記処理を繰り返す。
【０１６８】
当該処理により、マッチ線の電位の保持特性テストをパリティチェックとともに実行する。これにより、出荷後、マッチ線ＭＬの経年劣化等により電位の保持特性が悪化したマッチ線ＭＬについてもテストすることが可能となる。すなわち、マッチ線保持回路５０を用いて救済可能であるか否かを確認し、救済できない場合には冗長メモリを用いて救済する。これによりマッチ線の電位の保持特性が不良によるエラーを救済することが可能となる。
【０１６９】
また、当該方式によりマッチ線保持回路５０を用いて救済可能であれば冗長メモリは用いられないため冗長メモリの容量も削減することが可能であり、小型化を図ることが可能である。
【０１７０】
（実施形態７）
上記の実施形態６においては、パリティチェックとともにマッチ線の電位の保持特性テストを実行する場合について説明したが、検索メモリにデータを格納する際に実行するようにしても良い。
【０１７１】
図１５は、実施形態７に基づくテスト回路１００におけるテスト動作について説明するフロー図である。
【０１７２】
図１５を参照して、テスト回路１００は、データ書込を実行する（ステップＳ１０）。
例えば、テスト回路１００は、セグメント１２のエントリに対してデータ書込を指示する。
【０１７３】
次に、テスト回路１００は、書き込みしたデータに基づいてマッチ線の電位の保持特性テストを実行する（ステップＳ１１）。
【０１７４】
具体的には、テスト回路１００は、エントリ毎に書き込みしたデータをサーチデータとしてサーチ動作を実行する。
【０１７５】
テスト回路１００は、書き込みしたデータのエントリに対応するマッチアンプＭＡが一致を出力した場合（「Ｈ」レベル）には、当該エントリに対応するマッチ線ＭＬは良好であると判定する。一方、マッチアンプＭＡが不一致を出力した場合（「Ｌ」レベル）には、当該エントリに対応するマッチ線ＭＬは不良であると判定する。
【０１７６】
テスト回路１００は、サーチ動作によりマッチ線ＭＬは不良判定であるか否かを判断する（ステップＳ４）。
【０１７７】
ステップＳ４において、テスト回路１００は、マッチ線ＭＬは不良判定で無いと判断した場合（ステップＳ４においてＮＯ）の場合には、ステップＳ１４に進む。
【０１７８】
一方、ステップＳ４において、テスト回路１００は、マッチ線ＭＬは不良判定であると判断した場合（ステップＳ４においてＹＥＳ）には、不良情報を格納する（ステップＳ６）。具体的には、対応するエントリに含まれるダミーメモリセルＤＭＣに「“１”」のデータを格納する。
【０１７９】
次に、テスト回路１００は、マッチ線の電位の保持特性テストを再実行する（ステップＳ８）。
【０１８０】
具体的には、テスト回路１００は、書き込みしたデータのエントリに対応するマッチアンプＭＡが一致を出力した場合（「Ｈ」レベル）には、当該エントリに対応するマッチ線ＭＬは良好であると判定する。一方、マッチアンプＭＡが不一致を出力した場合（「Ｌ」レベル）には、当該エントリに対応するマッチ線ＭＬは不良であると判定する。なお、この場合、実施形態１で説明したようにダミーメモリセルＤＭＣに「“１”」のデータが格納されているためマッチ線保持回路５０が機能して動作する。
【０１８１】
次に、テスト回路１００は、マッチ線ＭＬは不良判定であるか否かを判断する（ステップＳ１０）。
【０１８２】
ステップＳ１０において、テスト回路１００は、マッチ線ＭＬは不良判定で無いと判断した場合（ステップＳ１０においてＮＯ）には、ステップＳ１４に進む。
【０１８３】
一方、ステップＳ１０において、テスト回路１００は、マッチ線ＭＬは不良判定であると判断した場合（ステップＳ１０においてＹＥＳ）には、冗長メモリに置換する（ステップＳ１２）。具体的には、当該エントリは、マッチ線保持回路５０を用いても救済することができない不良であるため冗長メモリを用いて救済する。
【０１８４】
次に、テスト回路１００は、全エントリについてテスト完了したか否かを判断する（ステップＳ１４）。
【０１８５】
ステップＳ１４において、テスト回路１００は、全エントリについてテストが完了したと判断した場合（ステップＳ１４においてＹＥＳ）には、処理を終了する（エンド）。
【０１８６】
ステップＳ１４において、テスト回路１００は、全エントリについてテストが完了していないと判断した場合（ステップＳ１４においてＮＯ）には、ステップＳ０に戻り、全エントリについてテストが完了するまで上記処理を繰り返す。
【０１８７】
当該処理により、マッチ線の電位の保持特性テストをデータ書込時にも実行する。これにより、出荷時および出荷後、マッチ線ＭＬの経年劣化等により電位の保持特性が悪化したマッチ線ＭＬについてもテストすることが可能となる。すなわち、マッチ線保持回路５０を用いて救済可能であるか否かを確認し、救済できない場合には冗長メモリを用いて救済する。これによりマッチ線の電位の保持特性が不良によるエラーを救済することが可能となる。
【０１８８】
また、当該方式によりマッチ線保持回路５０を用いて救済可能であれば冗長メモリは用いられないため冗長メモリの容量も削減することが可能であり、小型化を図ることが可能である。
【０１８９】
なお、データ書込毎に当該テストを実行する必要もなく、所定のタイミング毎に実行するようにしても良い。
【０１９０】
なお、本例においては、検索メモリの内部にテスト回路１００を設けて上記のテストを実行する方式について説明したが、当該テスト回路１００は検索メモリの内部に設ける必要はなく、検索メモリの外部に設けて検索メモリと協働するように構成してもよい。また、当該テスト回路１００のテストの機能を図１で説明した転送制御回路４に持たせるようにしてもよいし、ＣＰＵ２が実行するようにしてもよい。
【０１９１】
以上、本開示を実施形態に基づき具体的に説明したが、本開示は、実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【０１９２】
４  転送制御回路、６  汎用メモリ、８  検索メモリ、１１  ＴＣＡＭセル、１２  セグメント、１３  データ比較部、２０  セルアレイ、２１  書込ドライバ、２２  サーチ線ドライバ、２３  マッチアンプ部、２４  制御論理回路、２５  読出回路、５０，５１  マッチ線保持回路、６０  電源配線、７０  レジスタ、７１  記憶ユニット、１００  テスト回路。
【図１】
2019102108.tif 000003
【図２】
2019102108.tif 000004
【図３】
2019102108.tif 000005
【図４】
2019102108.tif 000006
【図５】
2019102108.tif 000007
【図６】
2019102108.tif 000008
【図７】
2019102108.tif 000009
【図８】
2019102108.tif 000010
【図９】
2019102108.tif 000011
【図１０】
2019102108.tif 000012
【図１１】
2019102108.tif 000013
【図１２】
2019102108.tif 000014
【図１３】
2019102108.tif 000015
【図１４】
2019102108.tif 000016
【図１５】
2019102108.tif 000017