(57)【要約】  手書き文字認識のような認識アプリケーションにては、完全一致を見出せない場合が多く、そのような場合には幾分かの不一致を許容し、「ある程度以上一致している」と見なせるワードを判定し照合するワードを検出することが求められている。「Ｄｏｎ‘ｔ  Ｃａｒｅ」の設定を変えた複数の行を用いることで、従来の３値連想メモリにても部分一致を検出することは可能であるが、複数の行を費やすことはコスト上のディメリットが大きかった。本発明にては、通常の連想メモリセルのアレイの他に、第２の連想メモリセルのアレイを備え、与えられる入力データとの間に期待する一致の程度（もしくは、不一致の程度）に応じた情報を第２の連想メモリセルのアレイの記憶回路に設定する。マッチの判定は、第１の連想メモリセルのアレイからマッチ線に生ずる電流と第２の連想メモリセルのアレイからマッチ線に生ずる電流とを比較することにより行う。
2020075658.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリセルからなる第１の記憶回路と第１のマッチ線とを有し、入力された第１の入力データと前記第１の記憶回路の記憶データとの一致ビット数に応じて前記マッチ線に電流を導通する第１の連想メモリセルのアレイと、
複数のメモリセルからなる第２の記憶回路と第２のマッチ線とを有し、入力もしくは所定の値に固定された第２の入力データと前記第２の記憶回路の記憶データとの一致ビット数に応じて前記マッチ線に電流を導通する第２の連想メモリセルのアレイと、
前記第２の連想メモリセルのアレイが前記第２のマッチ線に導通する電流と前記第１の連想メモリセルのアレイが前記第１のマッチ線に導通する電流により、前記第１の記憶回路の記憶データと前記第１の入力データとの一致の程度が、前記第２の記憶回路の記憶データと前記第２の入力データとの一致の程度以上であることを判定するマッチ判定回路と、
判定結果出力回路を備え、
マッチ判定回路の判定結果に応じて、前記判定結果出力回路より一致、もしくは、不一致を意味する出力する複合連想メモリ回路。
【請求項２】
複数のメモリセルからなる第１の記憶回路と第１のマッチ線とを有し、入力された第１の入力データと前記第１の記憶回路の記憶データとの不一致ビット数に応じて前記マッチ線に電流を導通する第１の連想メモリセルのアレイと、
複数のメモリセルからなる第２の記憶回路と第２のマッチ線とを有し、入力もしくは所定の値に固定された第２の入力データと前記第２の記憶回路の記憶データとの不一致ビット数に応じて前記マッチ線に電流を導通する第２の連想メモリセルのアレイと、
前記第２の連想メモリセルのアレイが前記第２のマッチ線に導通する電流と前記第１の連想メモリセルのアレイが前記第１のマッチ線に導通する電流により、前記第１の記憶回路の記憶データと前記第１の入力データとの不一致の程度が、前記第２の記憶回路の記憶データと前記第２の入力データとの一致の程度以上以下であることを判定するマッチ判定回路と、
判定結果出力回路を備え、
マッチ判定回路の判定結果に応じて、前記判定結果出力回路より一致、もしくは、不一致を意味する出力する複合連想メモリ回路。
【請求項３】
前記複合連想メモリ回路は、更に、
前記第１の連想メモリセルの１ビットが、対応する前記第１の入力データの箇所との一致時に第１のマッチ線に導通させる電流の約半整数倍の電流を生成する半整数倍電流発生回路を備え、
前記半整数倍電流発生回路の電流を、前記第１の連想メモリセルのアレイの前記第１のマッチ線に導通する、
ことを特徴とした前記請求項１、もしくは前記請求項２に記載の複合連想メモリ回路。
【請求項４】
前記複合連想メモリ回路は、更に、
前記第２の連想メモリセルの１ビットが、対応する前記第２の入力データの箇所との一致時に第２のマッチ線に導通させる電流の約半整数倍の電流を生成する半整数倍電流発生回路を備え、
前記半整数倍電流発生回路の電流を、前記第２の連想メモリセルのアレイの前記第２のマッチ線に導通する、
ことを特徴とした前記請求項１、もしくは前記請求項２に記載の複合連想メモリ回路。
【請求項５】
前記複合連想メモリ回路は、更に、書き込みデータ生成回路を備え、
前記書き込みデータ生成回路にて、前記第１の記憶回路への書き込みデータから、前記第２の記憶回路への書き込むデータの少なくとも一部を生成することを特徴とする前記請求項１から４のいずれか１項に記載の複合連想メモリ回路。
【請求項６】
前記複合連想メモリ回路は、
少なくとも、前記第１の連想メモリセルのアレイと、前記第２の連想メモリセルのアレイと、前記マッチ判定回路と、前記判定結果出力回路からなるワード回路を複数備え、
前記第１の記憶回路の前記メモリセルが記憶する記憶データの書き込みを行う第１の共通書き込み回路と、
前記第２の記憶回路の前記メモリセルが記憶する記憶データの書き込みを行う第２の共通書き込み回路と、
共通書き込みデータ生成回路を備えることを特徴とする前記請求項１から５のいずれか１項に記載の複合連想メモリ回路。
【請求項７】
請求項６に記載の前記複合連想メモリ回路は、更に、
前記判定結果出力回路より出力される、一致を意味する出力する信号の本数を数え、本数を出力するマッチ本数カウント回路と、
前記マッチ本数カウント回路の期待値を設定する閾値発生回路と、
共通閾値設定回路と、
共通閾値設定信号発生回路を備え、
前記期待値によって、前記本数が過剰か不足かを共通閾値設定回路にて判定する共通閾値設定回路の結果を受けて、共通閾値設定信号発生回路にて、前記前記マッチ判定回路、もしくは、判定結果出力回路の入力閾値を調整することを特徴とする前記請求項６に記載の複合連想メモリ回路。
【請求項８】
請求項６に記載の前記複合連想メモリ回路は、更に、
前記判定結果出力回路より出力される、一致を意味する出力する信号の本数に応じた第１の電流を発生させるマッチ本数カウント回路と、
前記第１の電流の許容値を判定する上での閾値の意味を持つ第２の電流を発生させる閾値電流発生回路と、
共通閾値設定回路と、
共通閾値設定電流源を備え、
前記第２の電流によって、第１の電流が過剰か不足かを共通閾値設定回路にて判定する共通閾値設定回路の結果を受けて、共通閾値設定電流源にて、前記マッチ判定回路への供給電流を調整することを特徴とする前記請求項６に記載の複合連想メモリ回路。
【請求項９】
請求項４に記載の前記複合連想メモリ回路は、更に、入力信号生成回路を備え、
前記マッチ判定回路の出力を前記入力信号生成回路に入力し、
前記入力信号生成回路の出力を前記第１の連想メモリセルのアレイの第１の入力データの一部、もしくは、第２の入力データの一部として使うことを特徴とする前記請求項６から８のいずれか１項に記載の複合連想メモリ回路。
【請求項１０】
請求項４に記載の前記複合連想メモリ回路は、更に、入力信号生成回路を備え、
前記判定結果出力回路の出力を前記入力信号生成回路に入力し、
前記入力信号生成回路の出力を前記第１の連想メモリセルのアレイの第１の入力データの一部、もしくは、第２の入力データの一部として使うことを特徴とする前記請求項６から９のいずれか１項に記載の複合連想メモリ回路。
【請求項１１】
前記ワード回路内に、前記マッチ判定回路に対応して、複数のメモリセルからなる第３の記憶回路を備え、更に、
前記第３の記憶回路の前記メモリセルが記憶する記憶データの書き込みを行う第３の書き込み回路と、
前記第３の記憶回路の前記メモリセルが記憶する記憶データの読み出しを行う第３の読み出し回路を備え、
記判定結果出力回路の出力データに応じて、前記第３の記憶回路の記憶データを第３の共通読み出し回路を通じて読み出し、出力することを特徴とした前記請求項１から１０のいずれか１項に記載の複合連想メモリ回路。
【請求項１２】
前記ワード回路内に、前記第１の記憶回路、もしくは、前記第２の記憶回路に有効なデータが記憶されているのか否かの情報を記憶する、少なくとも１ビットのメモリセルを有する第４の記憶回路を備え、
前記第４の記憶回路の前記メモリセルのデータに応じて、対応する前記マッチ判定回路の動作を停止もしくは活性化することを特徴とする前記請求項６から１１のいずれか１項に記載の複合連想メモリ回路。
【請求項１３】
前記ワード回路のいずれからも、前記判定結果出力回路より一致を意味する出力がなかった場合に、
第４の記憶回路を参照して、有効なデータが記憶されていない前記ワード回路の前記第１の記憶回路に、前記第１の入力データの一部または全てを書き込むことを特徴とする前記請求項１２に記載の複合連想メモリ回路。
【請求項１４】
前記マッチ判定回路にて、前記判定結果出力回路より一致を意味する出力があったワード回路の前記第１の記憶回路に、前記第１の入力データの一部または全てを書き込むことを特徴とする前記請求項１から１３のいずれか１項に記載の複合連想メモリ回路。
【請求項１５】
前記第１もしくは前記第２の記憶回路を構成する前記メモリセルが、多値メモリ、もしくは、アナログメモリであることを特徴とする前記請求項１から１４のいずれか１項に記載の複合連想メモリ回路。
【請求項１６】
請求項４以降に記載の複合連想メモリ回路において、
前記ワード回路の前記第１の記憶回路のデータと、前記第２の記憶回路のデータと、前記第３の記憶回路のデータと、前記第４の記憶回路のデータとからなるデータの対応関係を壊さずに、前記第１の記憶回路のデータ、もしくは、前記第２の記憶回路のデータ、もしくは、前記第３の記憶回路のデータ、もしくは、前記第４の記憶回路のデータが、昇順、もしくは、降順となるように、所定の頻度で並べ替え作業を行う制御回路を備えることを特徴とする前記請求項６から１５のいずれか１項に記載の複合連想メモリ回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は連想メモリ回路に関する。
【背景技術】
【０００２】
従来の連想メモリ技術の概要を、図１から図３を用いて説明する。従来の連想メモリ技術は、セル・マトリックス内のセルへの読み出し（Ｒｅａｄ）動作や書き込み（Ｗｒｉｔｅ）動作のように一般のメモリが行う動作の他に、検索（Ｓｅａｒｃｈ）動作を行うことに特徴がある。
連想メモリセルとしては、図１に示すように多彩な方式が知られている。【０００３】
連想メモリセルの記憶回路（又は、記憶素子）には、検索の対象となる記憶データが記憶されている。検索時に検索キーとなる入力データがサーチ線（または、サーチ線兼ビット線）によって、連想メモリセルに伝えられる。【０００４】
ＳＲＡＭを使った連想メモリセル（（Ａ）から（Ｄ））は、記憶回路であるＦＦ（Ｆｌｉｐ―Ｆｌｏｐ）に記憶データを記憶し、ＤＲＡＭを使った連想メモリセル（Ｅ）は、フローティングとなるノードの寄生容量に記憶データを記憶し、抵抗変化型素子を使った連想メモリセル（Ｆ）は、抵抗変化素子に記憶データを記憶する。【０００５】
いずれの場合も、記憶データとサーチ線から入力される電位に応じて、マッチ線から電流を導通する素子をもっている。
ＳＲＡＭを使った連想メモリセル（（Ａ）から（Ｄ））は、記憶回路であるＦＦ（Ｆｌｉｐ―Ｆｌｏｐ）に記憶する記憶データとサーチ線から入力される電位に応じて、２個直列となっているトランジスタ列のＯＮ、もしくはＯＦＦが制御され、ＯＮの場合には、マッチ線から電流を導通する。
ＤＲＡＭを使った連想メモリセル（Ｅ）は、フローティングとなるノードの寄生容量に記憶する記憶データとサーチ線から入力される電位に応じて、マッチ線から電流を導通する。
抵抗変化型素子を使った連想メモリセル（Ｆ）は、抵抗変化素子に記憶する記憶データとサーチ線から入力される電位に応じて、マッチ線から電流を導通する。【０００６】
ＳＲＡＭを使ったＴｅｒｎａｒｙ型の連想メモリセルの場合は、（Ｃ）と（Ｄ）のように、書き込みや読み出し、検索の動作を行うためのビット線とサーチ線が兼用される場合が多い。【０００７】
一般に、Ｂｉｎａｒｙ（２値）タイプの連想メモリセルは、記憶回路（又は、記憶素子）を１個有し、Ｔｅｒｎａｒｙ（３値）タイプの連想メモリセルは、記憶回路（又は、記憶素子）を２個持つ。Ｔｅｒｎａｒｙタイプの記憶回路（又は、記憶素子）が多いのは、データとして、値１、もしくは、値０を記憶するだけでなく、無視（Ｄｏｎ‘ｔ  Ｃａｒｅ）と呼ばれるマスク状態を記憶するためである。【０００８】
以下、ＳＲＡＭを使ったＴｅｒｎａｒｙ型の連想メモリセル（（Ｃ）もしくは（Ｄ））を使った場合を元に、従来例を説明する。【０００９】
図２は、ＳＲＡＭベースのＴｅｒｎａｒｙ（３値）タイプの連想メモリ（ＣＡＭ：Ｃｏｎｔｅｎｔ Ａｄｄｒｅｓｓａｂｌｅ Ｍｅｍｏｒｙ）のセルが、Ｍ行×Ｎ列のマトリックス状に配置された連想メモリのブロック図である。図２には、Ｍ行×Ｎ列のマトリックスの四隅のみ表示されている。【００１０】
検索動作時には、サーチ線経由で、外部から入力された検索キー（入力データ）が、セルマトリクス内の各行の連想メモリセルに伝えられる。各連想メモリセル内では、連想メモリセルのＦＦの記憶データとサーチ線より伝わる入力信号とが逆相となる時に、両データが「一致（もしくは、マッチ）」であると解釈される。記憶データと入力データが、ＨｉｇｈとＬｏｗ、または、ＬｏｗとＨｉｇｈのように、逆相の時が「一致（もしくは、マッチ）」である。【００１１】
連想メモリセル内には、２個直列のトランジスタがあり、両トランジスタのゲート電極にはＦＦの記憶データと入力データが電位として供給されており、「一致（もしくは、マッチ）」を意味する時には、２個直列のトランジスタのいずれかはＯＦＦ状態となり、マッチ線には電流を導通しない。【００１２】
記憶データと入力データが「不一致」な場合には、連想メモリセル内の２個直列のトランジスタの２個あるゲート電極には、ＨｉｇｈとＨｉｇｈ、または、ＬｏｗとＬｏｗのように、同相の入力が加えられるが、連想メモリセル内には、２個直列のトランジスタが、２セットあるため、いずれかのセットはＯＮ状態となるため、いずれかのセットを通じてマッチ線に電流を導通することとなる。【００１３】
２セットある２個直列のトランジスタは、各セル内で、排他的論理和（ＥＸＣＬＵＳＩＶＥ−ＮＯＲ）の論理を取っていると言われることがあるが、「一致」の場合には電流を導通することなく、「不一致」の場合には電流を導通する。【００１４】
連想メモリセル１ビットには、記憶回路であるＦＦが２個含まれるので、読み出し動作にも、書き込み動作の時にも、サーチ線兼ビット線の対を少なくとも２サイクル動作させる必要ある。読み出しデータも書き込みデータも、２Ｎビットである。【００１５】
以降、連想メモリセルＮビットからなる行に、対応するマッチ判定回路を加えた部分を、ワード回路と呼ぶ。ワード回路には、１本のマッチ線と、２本のワード線を含む。【００１６】
図３は、図１（Ｃ）のＳＲＡＭベースのＴｅｒｎａｒｙ（３値）タイプの連想メモリのセルがＮ個からなるワード回路の構成と動作を示している。セル［３］から、セル［Ｎ−２］までの表記は省いている。また、この図においては、検索動作のみを説明するため、セル中の記憶回路（ＦＦ）に対する読み出し動作や書き込み動作に使われるアクセストランジスタ（ビット線と記憶回路の間に電流を導通するトランジスタ）の表示も省いている。【００１７】
各セル内で、左右に１対ある２個直列のトランジスタは、記憶データと入力データが「一致」の場合には電流を導通することなく、「不一致」の場合には電流を導通する。
マッチ線は、各セルが導通する電流をワード回路内で集計して、マッチ判定回路に送る。【００１８】
マッチ判定回路には、マッチ判定前には、マッチ線をＲＥＳＥＴ電位に電圧に設定するためのトランジスタと、そのための制御信号（ＲＥＳＥＴ＿ｂａｒ）が備えられているのが通常であった。【００１９】
ワード内に不一致ビットが１ビットも無い場合には、マッチ線には、連想メモリのセルが導通する電流が全く無く、電位変動が無いので、入力データが伝えられる前の電位レベル（ＲＥＳＥＴ電位）を維持する。【００２０】
ワード内に不一致ビットが１ビットでも有る場合には、マッチ線には連想メモリのセルが導通する電流が生じ、マッチ線は電位変動する。【００２１】
この不一致を意味する電位変動を検出するために、マッチ線に電位変動が生じない場合と、最小の電流が導通した場合の電位との中間の電位が、閾値電位発生回路により生成され、閾値電位としてマッチ判定回路に供給されていた。（例えば、特許文献１参照）【００２２】
図３（Ｂ）に示すように、従来技術では、入力データと記憶データとの間が、逆相であれば一致とし、全てのセルが一致の場合には電流を導通せず、マッチ線に電位変動が生じない。逆に、入力データと記憶データとの間が、同相であれば不一致とし、１ビットでも不一致の場合には電流を導通し、マッチ線に電位変動を生じた。【００２３】
マッチ判定回路の出力は、図１に示すように、アドレスエンコーダ回路に送られ、マッチを検出したマッチ判定回路の物理アドレスを生成し、「マッチアドレス出力」として出力した。
このような連想メモリは、ネットワークルータ内のパケットデータ処理や並列計算機のメモリ管理等に用いられている。【００２４】
従来の連想メモリ技術は、数学的には、入力データの逆相と記憶データとの間のハミング距離がゼロとなる場合を一致としていると解釈することができる。
【先行技術文献】
【特許文献】
【００２５】
【特許文献１】特許第５４８０９８６号
【特許文献２】特許第５８９３４６５号
【特許文献３】特許第５８００４２２号
【非特許文献】
【００２６】
【非特許文献１】K. Pagiamtzis and A. Sheikholeslami,“Content-addressable memory (CAM) circuits and architectures:A tutorial and survey,” IEEE J. Solid-State Circuits , vol. 41, no. 3, Mar. 2006, pp. 712727.
【発明の概要】
【発明が解決しようとする課題】
【００２７】
手書き文字認識のような認識アプリケーションにては、ハミング距離がゼロでは一致を見出せない場合が多く、そのような場合には、幾分かの不一致を許容し、「ある程度以上一致している」と見なせるワードを判定し照合するワードを検出することが求められる。
「無視（Ｄｏｎ‘ｔ  Ｃａｒｅ）」の設定を変えた複数の行（ワード）を用いることで、従来の３値連想メモリ(Ｔｅｒｎａｒｙ ＣＡＭ)にても、「部分一致」を検出することは可能であるが、複数の行（ワード）を費やすことはコスト上のディメリットが大きかった。【００２８】
「ある程度一致している」と見なして判定・検出するニーズは、ニューロンの演算を模倣するニューラルネットワーク回路を構成する時にも存在する。
ニューラルネットワーク回路では、一般的に、入力データと照合データを、共に、多次元のベクトルとみなし、両ベクトル間の内積により一致度を計量するが、内積の最大値は一定値ではなく、照合データ毎に異なりうるので、従来型の３値連想メモリ(Ｔｅｒｎａｒｙ ＣＡＭ)では対応できないのが問題であった。【００２９】
従来技術では、連想セル毎に、入力データと記憶データとの間を「不一致」と見做す場合に、マッチ線に電流を導通していたが、連想メモリ登録するデータが大きくなると、少なくとも、ワード単位では、「不一致」となるケースが、「一致」となるケースよりも圧倒的に多くなるので、消費電力の面では問題であった。【００３０】
前述のニューラルネットワーク回路を使った手書き文字認識のようなアプリケーションにては、個別のビットとしても、ワード長が長くなると、値が０であるビット数に比べ、値が１であるビット数が減るという傾向がある。【００３１】
連想メモリセルとマッチ線の間の電流の導通は、「不一致」の時ではなく「一致」の時とし、複数の行（ワード）を費やさずに、「ある程度の一致」を検出するアーキテクチャが求められていた。
【課題を解決するための手段】
【００３２】
本発明にては、図４に示すように、第１の連想メモリセルのアレイ（１３１）の他に、第２の連想メモリセルのアレイ（２３１）を備える複合連想メモリ回路であり、第１の連想メモリセルのアレイ（１３１）のマッチ線（１５１）に、第１の記憶回路の記憶データと第１のサーチ線から与えられる入力データの間の一致の程度（もしくは、不一致の程度）に応じた電流（１５２）を導通させ、第２の連想メモリセルのアレイ（２３１）のマッチ線（２５１）に、第２の記憶回路の記憶データと、第２のサーチ線から与えられる入力データ(もしくは、所定の設定データ)の間の一致の程度（もしくは、不一致の程度）に応じた電流（２５２）を導通させ、両マッチ線（１５１と２５１）を導通する電流（１５２と２５２）と両マッチ線の負荷抵抗（３２３と３２４）によって得られる電圧降下値を比較することによって、第２の連想メモリセルのアレイ（２３１）が設定する以上に、第１の連想メモリセルのアレイ（１３１）の記憶データが入力データと一致しているのかどうかを判定する。【００３３】
第１の連想メモリセルのアレイ（１３１）と第２の連想メモリセルのアレイ（２３１）の一致ビット数が同量である場合に、マッチ判定が不安定となる懸念がある場合には、第１のマッチ線（１５１）、もしくは、第２のマッチ線（２５１）に、マッチ時に連想メモリセルが導通しうる電流の半整数倍の電流を供給する「半整数倍電流発生回路（３１１）」の電流を導通することで、不安定動作を避けることができる。
【発明の効果】
【００３４】
本発明は、期待する一致ビットの数をワード毎に設定することに特徴であり、そのことにより、完全一致ではなく、第１の入力データと第１の記憶データが「ある程度以上一致である（もしくは、ある程度以下で不一致である）」状況も、第２の入力データと第２の記憶データを設定することにより、判定・検出することができる。【００３５】
画像認識やニューラルネットワークを表現する用途では、連想メモリアレイの記憶回路に設定するデータ値が値０であるビットの個数と、データが値１であるビットの個数は等量ではないのが一般的であり、その場合、第２の連想メモリの記憶回路に、個数が少ない値１を持つビット個数を設定し、第１の連想メモリにて、記憶回路の記憶データと入力データが、共に値１である時にマッチ線に電流を導通することとするとすれば良く、連想メモリのセルアレイの占有面積を減ずることができる。
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
【図面の簡単な説明】
【００３６】
【図１】従来の連想メモリセル
【図２】従来の連想メモリ回路
【図３】従来の連想メモリのワード回路
【図４】本発明の第１の実施の形態図
【図５】本発明の第２の実施の形態図
【図６】本発明の第２の実施の形態図
【図７】本発明の第３の実施の形態図
【図８】本発明の第４の実施の形態図
【図９】マッチ判定回路群
【図１０】共通閾値制御回路
【図１１】本発明の第５の実施の形態図
【図１２】本発明の第６の実施の形態図
【図１３】動作波形の模式図
【発明を実施するための形態】
【００３７】
以下、本発明の実施形態について図面を参照して説明する。
説明文中においては、構成回路要素に関しては、特定の回路を意味しない総称として使うのではない限り、構成回路要素の名称の語尾に付ける括弧記号「（）」の中に、数字による符号を付す。その符号の数字は、説明文中と説明図面では対応させる。
【００３８】
説明図面においては、その構成回路要素を示す回路ブロックや信号線に対して対応させた符号の数字を付すが、明瞭さを増すために、その構成回路要素の名称、もしくは、連想メモリ回路技術においては一般的に使われている英数字表現を元にした短縮形を記載する。名称や英数字表現を元にした短縮形と対応させた符号の数字が並ぶ場合には、間に、仕切りとして、コロン「：」を挿入する。
【００３９】
短縮形は、サーチ線をＳＬ、マッチ線をＭＬ、ビット線をＢＬ、ワード線をＷＬ、マッチ判定回路をＭＳＡ、書き込み回路をＷＡ、読み出し回路をＳＡとするなどである。極性が逆となる反転信号であることを強調する場合においては、構成回路要素を示す表現の短縮形の語尾に＿ｂaｒを付す。
【００４０】
複数が存在することを強調する構成回路要素の場合には、構成回路要素を意味する符号の数字に、括弧記号〔〕で括った英数字による数、もしくは数式を付し、その英数字による数、もしくは数式によって構成回路要素の個数、または、本数を表現する。複数が存在する構成回路要素の符号の数字の範囲を示す時には、括弧記号〔〕で括った中に、英数字による数、もしくは数式によりその範囲を表現する。
【００４１】
連想メモリのブロックの説明においては、連想メモリやメモリという表現が多数登場するが、本発明とは独立して従来から知られている読み出し回路や書き込み回路や電源回路等に関する回路ブロックやそれに伴う信号線の記載と表現と説明を省く。
従って、多くの説明において、連想メモリセルやメモリセルが接続するビット線やワード線についても表記しない。それら、回路や配線の構成や機能については、本発明を適用した場合でも、通常良く知られている連想メモリやメモリの従来技術の典型や変形が適用されることを前提とする。
【００４２】
説明文中や説明図中に、適切な用語が確立していないため、「マッチ」との表現を「程度の一致」、もしくは、「ある程度の一致」との意味でも用いる。従って、本発明の実施形態の説明文中の「マッチ」は、従来の連想メモリにおける「全ビットの一致」とは必ずしも同じではない。
【００４３】
なお、説明文中や説明図中では、記憶回路のビットセルの値が１であり、サーチ線を経由して入力される入力データの値が１の時に、そのビットセルは入力データと一致（マッチ）するとの場合を元に説明を進め、極性が異なる変形例もこの実施例にて説明する。
また、連想メモリセルや、メモリセル、センスアンプ、書き込み回路、読み出し回路、制御回路などの構成回内部の形態や配置形態が異なる変形例についても同じ実施例として表現する。
【実施例】
【００４４】
以下、図４、図６と図９を参照して、本発明の第１の実施形態による複合連想メモリ回路のワード回路（４０１）について説明する。
図４は、本発明の第１の実施形態による複合連想メモリ回路のワード回路の構成を概略的に示すブロック図である。
図９においては、回路ブロックや配線を示す添字の末尾に、「ｍ番目の行の構成要素」であることを強調するために、「［ｍ］」の表記を付す。表記中の「ｍ」の箇所には、追番を意味する英数字、もしくは、数式を挿入する。【００４５】
[本発明の複合連想メモリ回路のワード回路の構成と動作]
本発明のよる複合連想メモリ回路は、図４に示すように、
第１の連想メモリセルのアレイ（１３１）の他に、第２の連想メモリセルのアレイ（２３１）を備え、
第１の連想メモリセルのアレイ（１３１）のマッチ線（１５１）に、Ｎ本供給される第１のサーチ線(１６１)から与えられるデータと、第１の連想メモリセル（１４１）のＮビットの記憶回路（ＦＦ）の記憶データとの間の一致の程度（もしくは、不一致の程度）に応じた第１のマッチ線電流（１５２）を導通させ、
第２の連想メモリセルのアレイ（２３１）のマッチ線（２５１）に、Ｋ本供給される第２のサーチ線(２６１)から与えられる入力データと、第２の連想メモリセル（３４１）のＫビットの記憶回路（ＦＦ）の記憶データとの間の一致の程度（もしくは、不一致の程度）に応じた第２のマッチ線電流（２５２）を導通させ、
第１のマッチ線電流（１５２）と第１の負荷抵抗（３２３）によって得られる電圧降下値を
第２のマッチ線電流（２５２）と第２の負荷抵抗（３２４）によって得られる電圧降下値とを比較することによって、
第２の連想メモリセルのアレイ（２３１）が設定する以上に、第１の連想メモリセルのアレイ（１３１）の記憶データと第１のサーチからのデータ（１６１）とが一致しているのか（もしくは、不一致しているのか）を判定する。［請求項１］【００４６】
第１の連想メモリセルのアレイ（１３１）と第２の連想メモリセルのアレイ（２３１）の一致ビット数が同量である場合に、マッチ判定が不安定となる懸念がある場合には、第１のマッチ線（１５１）、もしくは、第２のマッチ線（２５１）に、マッチ時に連想メモリセルが導通しうる電流の半整数倍の電流を供給する「半整数倍電流発生回路（３１１）」の電流を導通することで、不安定動作を避けることができる。［請求項２］及び［請求項３］【００４７】
本発明のよる複合連想メモリ回路の典型的な動作では、第２の連想メモリセルのアレイ（２３１）のＫビットの記憶回路（ＦＦ）には、第１の連想メモリセルのアレイ（１３１）のＮビットの記憶回路（ＦＦ）に存在する値が１のビットの個数よりも、一定数少ない個数の値１が記憶される。【００４８】
例えば、Ｎ＝１６、Ｋ＝８とし、以下の設定はなされているとする。
・半整数倍電流発生回路（３１１）の電流量(ＪＧ:３１３)は、連想メモリセル１ビットが導通しうる電流量（ＪＨ）の１．５倍の電流である。
・第２の連想メモリセルのアレイ（２３１）の記憶回路の中には、１ビットだけが値１で、その他のビットには値０が書き込まれている。
・第２の連想メモリセルのアレイ（２３１）の８本あるサーチ線（２６１）のデータが全て値１である。
・負荷抵抗（Ｒ１：３２３）と負荷抵抗（Ｒ２：３２４）は同じ抵抗値である。
・第１の連想メモリセル（１４１）と、第２の連想メモリセル（２４１）は、同じである。【００４９】
この場合、第２サーチ線（２６１）には、全てのサーチ線に値１という所定の入力データが入力されているので、第２の連想メモリセルのアレイ（２３１）では、記憶回路に値１が書き込まれた１ビットの連想メモリだけが第２のマッチ線から電流(ＪＭＬ２:２５２)を導通する。【００５０】
第２のマッチ線（２５１）に導通する電流の総量は、ＪＭＬ２（２５２）にＪＧ（３１３）を加えた量となるので、合計は、「マッチ時に連想メモリセル１ビットが導通しうる電流」の２．５倍の電流となる。
正確には、第２のマッチ線（２５１）の電位変動のために、導通する電流量は減ずる筈ではあるが、ここでは説明を簡易とするために、その効果が比較的小さな領域で第２の連想メモリセルのアレイ（２３１）が動作していると仮定している。【００５１】
従って、第１の連想メモリセルのアレイ（１３１）の記憶回路（ＦＦ）の１６ビットのデータと、１６本供給される第１のサーチ線（１６１）が３箇所以上で一致し、マッチ時に連想メモリセル１ビットが導通しうる電流（ＪＨ）の３倍以上の電流が第１のマッチ線（１５１）に導通すると、第１の負荷抵抗（３２３）の電圧降下が第２の負荷抵抗（３２４）の電圧降下よりも大きくなるので、マッチ線センス回路（３２５）は、マッチと判定することとなる。【００５２】
本発明にて用いる連想メモリセルは、図６に示すような従来の３値連想メモリ(Ｔｅｒｎａｒｙ ＣＡＭ)の半分の回路を想定することができる。ビット線とサーチ線の使い方や兼用の仕方に関する変形を代表して、図６に、３種類を例と挙げているが、いずれの場合にも、本発明で用いる場合には、占有面積の面でも、必要な配線本数の面でも３値連想メモリの約半分であると見積もれる。
図６に上げたメモリセルを多値メモリとしての動作させる場合、入力データ（１６１）が作るベクトルと照合データに相当する第１の連想メモリセルのアレイ（１３１）の記憶回路の記憶データが作るベクトルの次元は変わらない。但し、両ベクトルの内積の計算の精度が高くなる。[請求項１５]【００５３】
第２の連想メモリセルのアレイ（２３１）に配置すべき「連想メモリセル」の数（Ｋ）は、最大でも、第１の連想メモリセルのアレイ（１３１）に配置すべき「連想メモリセル」の数（Ｎ）以下であるが、「半整数倍電流発生回路（３１１）」に設定すべき電流量（ＪＧ）をマッチ時に連想メモリセル１ビットが導通しうる電流（ＪＨ）の単位で表現すると、Ｋの値は｛Ｎ−ＪＧ｝以下として良いこととなり、本発明でのセル面積が従来の半分であることと合わせて考慮すると、本発明ではトータルのセル面積の面でも、必要なトータルの配線本数の面でも従来の３値連想メモリよりも減ずることができると見積もられる。【００５４】
実際のアプリケーションにおいては、Ｋの値は、第１の連想メモリセルのアレイ（１３１）への記憶データに現れる値１のビット数の最大値（ｎ）を元に、｛ｎ−ＪＨ｝とすることが考えられるが、ニューラルネットワーク回路への応用の場合などでは、ｎの値はＮよりも大幅に小さいことが想定されるので、トータルのセル面積の面でも、必要なトータルの配線本数の面でも従来の３値連想メモリよりも減ずることが積もられる。【００５５】
[マッチ判定回路（３２１）の構成]
図４と図９を用いて、マッチ判定回路（３２１）の構成を説明する。
両図に示すように、マッチ判定回路（３２１）は、「マッチ線センス回路（３２５）」と「半整数倍電流発生回路（３１１）」とから構成される。
この図の多くの回路ブロックや信号線には、ｍ番目の行の構成要素であることを強調するために添字の末尾に［ｍ］を添えて教示している。【００５６】
図９のＡＭＰ（３２５［ｍ］）は、図４のマッチ線センス回路（３２５）であり、図９の負荷抵抗として機能するトランジスタである（３２３）と（３２４）は、図４の負荷抵抗（Ｒ１：３２３）と（Ｒ２：３２４）である。
マッチセンス回路（３２５）は、図９に示すように、差動回路であるオペアンプ部と、動作を制御するＮＡＮＤゲート（３２７）とからなり、第１のマッチ線電流（１５２）とトランジスタ（３２３）によって得られる電圧降下値を、第２のマッチ線電流（２５２）とトランジスタ（３２４）によって得られる電圧降下値とを比較し、その出力であるマッチ判定結果(３２９［ｍ］)をマッチ判定回路（３３１［ｍ］）に伝える。【００５７】
「第１のマッチ線電流（１５２）と負荷抵抗として機能するトランジスタ（３２３）によって得られる電圧降下値」が、「第２のマッチ線電流（２５２）と負荷抵抗として機能するトランジスタ（３２４）によって得られる電圧降下値」よりも大きいと、差動回路であるオペアンプの応答時間後に、マッチ線センス回路（３２５）の出力であるＭＳＡＱ(３２９)の電圧レベルは、Ｈｉｇｈとなり、更に、判定結果出力回路(３３１)の出力(３３３)をＨｉｇｈとする。
このＨｉｇｈ出力は、そのワード回路（４０１）が、第１の連想メモリセルのアレイ（１３１）から、第２の連想メモリセルのアレイ（２３１）に設定した一致ビット数よりも多い一致ビット数を検出し、「第２の連想メモリセルのアレイ（２３１）が設定した定義において、サーチ線信号（１６１）が、そのワード回路(４０１)の第１の記憶（１４１）のデータと、ワード回路(４０１)の単位で一致（マッチ）した」ことを意味する。【００５８】
[半整数倍電流発生回路（３１１）の構成]
図９を用いて、半整数倍電流発生回路（３１１）の構成を説明する。
この図の多くの回路ブロックや信号線には、ｍ番目の行の構成要素であることを強調するために添字の末尾に［ｍ］を添えて教示している。【００５９】
半整数倍電流発生回路（３１１［ｍ］）は、２分の１電流発生回路（３１６［ｍ］）と、１個、もしくは複数のＪＨ電流発生回路（３１７）から構成される。図９では、半整数倍電流発生回路（３１１［ｍ］）が第２のマッチ線（２５１［ｍ］）に接続されているケースが示されている。以下は、このケースについて説明する。
２分の１電流発生回路（３１６）を第１のマッチ線（１５１［ｍ］）に接続する構成の場合も、構成の概念は同様である。【００６０】
図９における、２分の１電流発生回路（３１６［ｍ］）は、第２の連想メモリセルのアレイ（２３１）の連想メモリセル（２４１）の１個が、一致時にマッチ線から導通する電流（ＪＨ）の半分の電流の生成を模倣する。
また、ＪＨ電流発生回路（３１７）は、第２の連想メモリセルのアレイ（２３１）の連想メモリセル（２４１）の１個が、一致時にマッチ線から導通する電流（ＪＨ）の生成を模倣する。
この追加の電流により、「半整数倍電流発生回路（３１１［ｍ］）」は、第１のマッチ線電流（１５２［ｍ］）と負荷抵抗として機能するトランジスタ（３２３）によって得られる電圧降下値が、第２のマッチ線電流（２５２［ｍ］）と負荷抵抗として機能するトランジスタ（３２４）によって得られる電圧降下値と等しくなることを防止する。【００６１】
[判定結果出力回路（３３１）の構成]
判定結果出力回路（３３１）は、図９に示すように、Ｅｎａｂｌｅ＿ｂａｒ信号がＬｏｗの時に、マッチ線センス回路（３２５）の出力（３２９）と同相の信号を判定結果出力回路の出力（３３３）として出力する。マッチ線センス回路（３２５）の出力（３２９）がＨｉｇｈの間に、Ｅｎａｂｌｅ＿ｂａｒ信号がＨｉｇｈとなると、その状態をラッチし、判定結果出力回路の出力（３３３）を保全する。
マッチ線センス回路（３２５）の出力（３２９）をフィルタリングし、ディジタル信号を生成する回路である。【００６２】
判定結果出力回路（３３１）の出力（３３３）がＨｉｇｈであることは、そのワード回路（４０１）が、第２の連想メモリセルのアレイ（２３１）に設定した程度に「一致」もしくは「マッチ」したことを意味する。ここで、「この出力は、そのワード回路がＨｉｔした意味を成す」と表現することもありうるが、それは表現の変形である。
逆に、判定結果出力回路（３３１）の出力（３３３）がＬｏｗであることは、そのワード回路（４０１）が、第２の連想メモリセルのアレイ（２３１）に設定した閾値の元では、「不一致」もしくは「ミスマッチ」もしくは「ミスＨｉｔ」したことを意味する。【００６３】
ワード回路（４０１）には、第１の連想メモリセルのアレイ（１３１）や、第２の連想メモリセルのアレイ（２３１）のワード線を駆動する回路や、ワード線を選択するデコーダ回路の一部を含めることができるが、その説明は、図８を用いた「第４の実施形態図（複合連想メモリ回路３０の説明）」の説明文中で行う。【００６４】
[発明を実施するための第２の形態]
発明を実施するための第２の形態として、本発明による複合連想メモリ回路（１０）を、図５を参照して説明する。【００６５】
[複合連想メモリ回路１０の構成と動作]
図５は、本発明の第２の実施形態による複合連想メモリ回路を概略的に示すブロック図である。
複合連想メモリ回路１（１０）は、Ｍ本のワード回路（４０１）と、
第１のサーチ線駆動回路（ＳＬＤ１：１６２）と、
第２のサーチ線駆動回路（ＳＬＤ２：２６２）と、
第１の共通書き込み回路（ＣＷＡ１：１１１）と、
第２の共通書き込み回路（ＣＷＡ２：２１１）と、
書き込みデータ生成回路（８２０）と、
制御回路（４２１）から構成される。［請求項５］と［請求項６］
各ワード回路（４０１）のマッチ判定回路（３２１）と判定結果出力回路（３３１）は、Ｍ個が列状に表現されており、マッチ判定回路群（ＭＳ：３０１）と表記されている。Ｍの値は１以上である。
各ワード回路（４０１）内の記憶回路のセルの読み出し（Ｒｅａｄ）動作に関する回路ブロックは公知な技術を用いるので表記していない。【００６６】
第１の共通書き込み回路（１１１）は、第１の書き込みデータ（１１２）の入力を受け、そのデータ（１１２）を、第１の連想メモリセルのアレイ（１３１）のＮビットの連想メモリセル（１４１）内の記憶回路（ＦＦ）に書き込む。【００６７】
書き込み動作では、第１の共通書き込み回路（１１１）から第１の連想メモリセルのアレイ（１３１）のＮビットの記憶回路（ＦＦ）につながるビット線か、サーチ線（１６１）を経由する必要あるが、図５においては、サーチ線（１６１）を経由して書き込まれる方式を前提して記載している。【００６８】
書き込みデータ生成回路（８２０）は、第１の書き込みデータ（１１２）の「値が１のビットの個数」をカウントし、その個数よりも、一定数少ない個数の「値１」を生成し、その個数を表す２進数を、第２の連想メモリセルアレイ（２３１）の書き込みデータとしては、第２の共通書き込み回路（２１１）に送る。【００６９】
但し、第２の連想メモリセルアレイ（２３１）の書き込みデータの中での「値１」のビットの位置は、原理的には任意で良い。【００７０】
第２の連想メモリセルアレイ（２３１）への書き込み動作では、第２の共通書き込み回路（２１１）から第２の連想メモリセルのアレイ（２３１）のＫビットの記憶回路（ＦＦ）につながるビット線か、ビット線に相当する配線を経由する必要あるが、図５においては、サーチ線（２６１）を経由して書き込まれる方式を前提して記載している。【００７１】
複合連想メモリ回路１（１０）への検索（サーチ）動作としては、第１の連想メモリセルアレイ（１３１）に、検索データとして、第１の入力データ（１７１）が第１の連想メモリセル（１４１）に伝えられ、以降、「発明を実施するための第１の形態」と同様に検索動作が行われる。【００７２】
この時、第２の入力データ（２７１）としては、外部からの第２の入力データは必要なく、代わりに、所定のデータとして、全てのビットが値１に固定されたデータが使われる。
従って、「本発明を実施するための第２の形態」としては、第２の入力データ（２７１）も第２の書き込みデータ（２１２）も外部から供給される必要はない。【００７３】
制御回路は、制御信号の入力（４２２）を受けて、書き込みデータ生成回路（８２０）や第２の共通書き込み回路（２１１）の動作の設定を行う。【００７４】
ワード回路（４０１）には、第１の連想メモリセルのアレイ（１３１）や、第２の連想メモリセルのアレイ（２３１）のワード線を駆動する回路や、ワード線を選択するデコーダ回路の一部を含めることができるが、その説明は、図８を用いた「第４の実施形態図（複合連想メモリ回路３０の説明）」の説明文中で行う。【００７５】
[発明を実施するための第３の形態]
発明を実施するための第３の形態を含む、複合連想メモリ回路（２０）を、図７と図９と図１０と図１３を参照して説明する。【００７６】
[複合連想メモリ回路２０の構成と動作]
図７は、本発明の第３の実施形態による複合連想メモリ回路を概略的に示すブロック図である。
複合連想メモリ回路２０は、
Ｍ本のワード回路（４０１）と、
第１のサーチ線駆動回路（ＳＬＤ１：１６２）と、
第２のサーチ線駆動回路（ＳＬＤ２：２６２）と、
第１の共通書き込み回路（ＣＷＡ１：１１１）と、
第２の共通書き込み回路（ＣＷＡ２：２１１）と、
書き込みデータ生成回路（８２０）と、
制御回路（４２１）と、
マッチ本数カウント回路（ＭＬＣ：４１１）と、
共通閾値設定回路（ＴＣＧ:４３１）と、
共通閾値設定電流源（ＪＣＴ:４３５）と、
閾値電流発生回路２（ＪＲＥＦ：４５０）と
から構成される。［請求項７］と［請求項８］【００７７】
各ワード回路（４０１）のマッチ判定回路（３２１）と判定結果出力回路（３３１）は、Ｍ個が列状に表現されており、マッチ判定回路群（ＭＳ：３０１）と表記されている。Ｍの値は１以上である。
各ワード回路（４０１）内の記憶回路のセルの読み出し（Ｒｅａｄ）動作に関する回路ブロックは公知な技術を用いるので表記していない。【００７８】
Ｍ本のワード回路（４０１）と、第１の共通書き込み回路（１１１）と、第２の共通書き込み回路（２１１）と、書き込みデータ生成回路（８２０）の機能と動作は前述の「本発明の第２と実施形態による複合連想メモリ回路１０」の構成と同じである。【００７９】
複合連想メモリ回路（２０）は、閾値電流発生回路２（４５０）により、マッチ本数カウント回路（４１１）から出力される「一致（マッチ）」の本数の期待値を設定し、一方で、共通閾値設定回路（４３１）により、判定結果出力回路から一致（マッチ）」の実際値が期待値よりも多いか少ないかを判定した上で、共通閾値設定電流源（４３５）の出力を加減し、各ワード回路内のマッチ判定回路（３２１）、もしくは、判定結果出力回路（３３１）の入力閾値を調整し、一致（マッチ）と見做すワード回路の本数を制御する。
この構成は、ディジタル回路によっても、アナログ回路によっても構成坂能であるが、以下は、実施例として、アナログ回路による構成を説明する。【００８０】
[マッチ本数カウント回路（４１１）の構成と動作]
図９の右端部に、マッチ本数カウント回路（４１１［ｍ］）の内部の構成を示す。
この図の多くの回路ブロックや信号線には、ｍ番目の行の構成要素であることを強調するために添字の末尾に［ｍ］を添えて教示している。【００８１】
マッチ本数カウント回路（４１１［ｍ］）は、電流源として機能するトランジスタ（Ｍ５１）とトランジスタ（Ｍ５２）からなる。
トランジスタ（Ｍ５１）は、判定結果出力回路（３３１［ｍ］）の出力（３３３［ｍ］）をゲート電極に受けて、ＯＮ状態、または、ＯＦＦ状態を取り、ＯＮ状態の時には、マッチ本数カウント回路出力（４１４）と電源の間に電流を導通する。トランジスタ（Ｍ５２）は、ゲート電極に「セル部の正電源」の電位を受けており、常にＯＮ状態にある。
なお、図９におけるマッチ本数カウント回路（４１１［ｍ］）は、１個のワード回路（４０１［ｍ］）に対応する１個の回路であるが、図７や、図１１におけるマッチ本数カウント回路（４１１）は、同名で複数の回路を表現している。【００８２】
マッチ本数カウント回路（４１１［ｍ］）は、対応するワード回路（４０１［ｍ］）が「一致」もしくは「マッチ」もしくは「Ｈｉｔ」し、判定結果出力回路（３３１）の出力（３３３）よりＨｉｇｈを出力する時、一定の電流を「マッチ本数カウント回路出力（４１４）」に導通する。【００８３】
マッチ本数カウント回路出力（４１４）は、他のワード回路にも接続されており、電流を集計して、図１０の共通閾値設定回路（４３１）の中のマッチ線センス回路２(４４３)とマッチ線センス回路３(４４６)に集計した電流を伝えている。【００８４】
図１０に、共通閾値設定回路（ＣＴＧ：４３１）と、閾値電流発生回路２（ＪＲＥＦ：４５０）と、共通閾値設定電流源(ＪＣＴ:４３５)の内部の構成と、相互の接続関係を示す。【００８５】
マッチ線センス回路２(４４３)とマッチ線センス回路３(４４６)には、マッチ本数カウント回路出力（４１４）の電流値の大小を判定するために、閾値を示す電流として、閾値電流発生回路２（４５０）が生成する２種類の電流が供給されており、両者の電流の大小をマッチ線センス回路２(４４３)とマッチ線センス回路３(４４６)の中の差動オペアンプにて判定する。【００８６】
閾値電流発生回路２（４５０）は、半整数倍電流発生回路２（４４１）と期待マッチ本数レジスタ（４３９）からなる。一種のメモリ回路である期待マッチ本数レジスタ（４３９）の記憶データに応じて、半整数倍電流発生回路２（４４１）の中の電流源トランンジスタであるＭ３１やＭ３２やＭ３３やＭ３４等を、ＯＮ状態もしくはＯＦＦ状態に設定する。Ｍ３１、Ｍ３２、Ｍ３３、Ｍ３４は、同様の電流源トランンジスタが複数セットあることを示している。【００８７】
Ｍ３１、Ｍ３２、Ｍ３３、Ｍ３４、および、Ｍ１３、Ｍ１４は、図９に示されていたマッチ本数カウント回路（４１１［ｍ］）内のトランジスタであるＭ５１とＭ５２が生成する電流値を模倣する。【００８８】
閾値電流発生回路２（４５０）の出力である共通閾値判定閾値１(４３６)を流れる電流値と、マッチ本数カウント回路出力（４１４）を流れる電流値は、共通閾値設定回路（４３１）の中の２本の負荷抵抗(Ｒ１１とＲ１２)によって電圧に変換され、マッチ線センス回路２（ＡＭＰ２：４４３）の中の差動オペアンプに入力され、両者の電位を比較し、マッチ本数カウント回路出力（４１４）を流れる電流値が、閾値電流発生回路２（４５０）の出力である共通閾値判定閾値１(４３６)を流れる電流値以下である場合には、マッチ線センス回路２（４４３）は、その出力であるＡＰＱ２出力（４２６）をＨｉｇｈレベルとする。【００８９】
閾値電流発生回路２（４５０）の出力である共通閾値判定閾値２(４２９)を流れる電流値は、共通閾値設定回路（４３１）の中の負荷抵抗(Ｒ１３)によって電圧に変換さる。共通閾値判定閾値２(４２９)の電位と、マッチ本数カウント回路出力（４１４）の電位は、共に、マッチ線センス回路３（ＡＭＰ３：４４６）の中の差動オペアンプに入力され、両者の電位は比較され、マッチ本数カウント回路出力（４１４）を流れる電流値が、共通閾値判定閾値２(４２９)の出力である共通閾値判定閾値(４３６)流れる電流値以上である場合には、マッチ線センス回路３（４４６）は、その出力であるＡＰＱ３出力（４２７）をＨｉｇｈレベルとする。【００９０】
この動作では、マッチ線センス回路２（ＡＭＰ２:４４３）と、マッチ線センス回路３（ＡＭＰ３：４４６）は、Ｅｎａｂｌｅ＿ｂａｒ信号にＬｏｗレベルが印加され、活性化されていることが前提されている。
Ｅｎａｂｌｅ＿ｂａｒ信号がＬｏｗの時は、判定結果出力回路２（４４４）も活性化されているから、ＡＰＱ２出力（４２６）とＡＰＱ３出力（４２７）は、ＡＮＤ論理を取って、共通閾値設定信号（４３４）として出力され、制御回路（４２１）に送られる。【００９１】
共通閾値設定信号（４３４）がＨｉｇｈであることは、マッチ本数カウント回路出力（４１４）を流れる電流値が、共通閾値判定閾値２（４２９）よりも多く、共通閾値判定閾値１（４３６）よりも少ないことを意味する。【００９２】
期待マッチ本数レジスタ（４３９）の中の１ビットのみ値１を取るように設定して、一定の応答時間後に、共通閾値設定回路（４３１）の出力である共通閾値設定信号（４３４）に、Ｈｉｇｈレベルを得る場合は、マッチ本数カウント回路出力（４１４）を流れる電流値が、１本のワード回路からだけであることを示す。【００９３】
制御回路（４２１）は、共通閾値設定信号（４３４）等を受け、共通閾値設定回路制御信号２（ＣＶＳ２：４３２）を生成し、共通閾値設定電流源（ＪＣＴ：４３５）の中の電流設定レジスタ制御回路（ＲＧ２：４３８）経由で、電流設定レジスタ（ＲＧ１：４３７）の値を加減して、共通閾値設定回路出力（ＣＶＱ２：４３３）として送る電流値を加減することで、各ワード回路（４０１）からのマッチの本数を制御する。【００９４】
共通閾値設定回路出力（４３３）が流す電流が少ないと、「マッチ」と判定するワード回路（４０１）は減る。【００９５】
制御回路（４２１）が、各ワード回路（４０１）からのマッチの本数を制御する方法としては、第２の連想メモリへの第２の入力データの値を変更することによることも可能であるが、そのような方式は上記方式と共に用いることができる。【００９６】
複合連想メモリ回路２０における「マッチ本数カウント回路（４１１）」と、
「閾値電流発生回路２（４５０）」と、
「共通閾値設定回路（４３１）」と、
「共通閾値設定電流源(４３５)」の構成による、一致（マッチ）検出ワード回路の本数の調整に関する回路の構成は、本発明の第１の実施形態による複合連想メモリ回路のワード回路（４０１）の実施例でもあり、
「マッチ本数カウント回路（４１１）」が第１の連想メモリセルのアレイ（１３１）、
「閾値電流発生回路２（４５０）」が第２の連想メモリセルのアレイ（２３１）、
「共通閾値設定回路（４３１）」がマッチ判定回路、
「共通閾値設定電流源(４３５)」が判定結果出力回路
に相当している【００９７】
［動作波形の説明］
図１３の波形（a）から、波形（ｈ）までが、上記の動作における各ブロックの出力の波形図である。【００９８】
[発明を実施するための第４の形態]
発明を実施するための第４の形態を含む、複合連想メモリ回路（３０）を、図８と図９を参照して説明する。【００９９】
[複合連想メモリ回路３０の構成と動作]
図８は、本発明の第４の実施形態による複合連想メモリ回路を概略的に示すブロック図である。【０１００】
複合連想メモリ回路（３０）は、
本発明の第２の複合連想メモリ回路（1０）の構成要素に加えて、
第４の共通書き込み回路（ＣＷＡ４：７１１）と
各ワード（４０１）内に、第１の連想メモリセルのアレイ（１３１）の第１の記憶回路に有効なデータが記憶されているのか否かの情報を記憶する、少なくとも１ビットの第４の記憶回路のセル（７４１）を備える。
以下の説明文中では、１個の第４の記憶回路に含まれるメモリセル（７４１）は１ビットとの例で説明を進める。
尚、第４の記憶回路のセル（７４１）は、ワード回路（４０１）の個数と同様にＭ個存在するが、Ｍ個は、列として第４の記憶回路（７０１）を成す。【０１０１】
第４の記憶回路のセル（７４１）は、第1の連想メモリのセルのアレイ（１３１）や第２の連想メモリのセルのアレイ（２３１）のデータを有効、もしくは、無効とする機能を持つ。無効なデータが書き込まれたワードのことを「白紙のワード」と呼ぶ。
(一部削除)以下の説明文中では、第４の記憶回路のセル（７４１）のデータが値０の時には、出力はＬｏｗレベルとなり、そのワード回路（４０１）内の第1の連想メモリのセルのアレイ（１３１）や第２の連想メモリのセルのアレイ（２３１）のデータを無効とし、白紙のワードとすると位相の関係にて説明を進める。
もし、第４の記憶回路のセル（７４１）の値０と値１に、それぞれ、有効と無効の意味を持たせた場合には、図に示す回路中の信号線の一部の位相が変更となる。【０１０２】
(一部削除)第1の連想メモリのセルのアレイ（１３１）の連想メモリセル（１４１）や、第２の連想メモリのセルのアレイ（２３１）の連想メモリセル（２４１）に、有効なデータを書き込む場合には、同じワード回路（４０１）内の第４の記憶回路のセル（７４１）に、値１を書き込む必要ある。［請求項１２］【０１０３】
第４の記憶回路のセル（７４１）への書き込み動作は、制御回路（４２１）より伝えられる信号（７１２）が、第４の共通書き込み回路（７１１）に伝えられることにより行われる。
ここで、第４の記憶回路のセル（７４１）への書き込み動作は、第1の連想メモリのセルのアレイ（１３１）の連想メモリセル（１４１）への書き込み動作が行われると同時に行われても、第２の連想メモリのセルのアレイ（２３１）の連想メモリセル（２４１）への書き込み動作が行われると同時に行われても良いが、本説明上は、第1の連想メモリのセルのアレイ（１３１）の連想メモリセル（１４１）への書き込みと同時に行われるとの前提にて、説明を続ける。【０１０４】
この前提においては、第４の記憶回路のセル（７４１）は第1の連想メモリのセルのアレイ（１３１）の連想メモリセル（１４１）と第１のワード線（１８１）を共有することができる。【０１０５】
この書き込み動作を行うための、複合連想メモリ回路（３０）のマッチ判定回路群内のワード線選択のための回路について、以下に説明する。【０１０６】
[マッチ判定回路群内のワード線選択のための回路]
以下に、図８と図９を参照して、本発明における複合連想メモリの第１の連想メモリのセル（１４１）と第２の連想メモリのセル（２４１）と、第４の記憶回路のセル（７４１）の読み出しや書き込み動作時に制御されるワード線の制御について説明する。
第４の記憶回路のセル（７４１）のワード線は、第１の連想メモリのセル（１４１）と共有しており、以下、第１のワード線（１８１）の制御について説明する時には、同時に、第４の記憶回路のセル（７４１）のワード線も制御されていることとなる。【０１０７】
第２の連想メモリのセルのアレイ（２３１）の連想メモリセル（２４１）が共有する第２のワード線（２８１）と、第１の連想メモリのセルのアレイ（１３１）の連想メモリセル（１４１）が共有する第１のワード線（１８１）は、同じワード回路（４０１［ｍ］）内のマッチ判定回路群（３０１）のワード線制御回路（３４０）と、第１のワード線選択回路（３５１）と、第１のワード線選択回路（３６１）によって行われる。
そのために、それらの回路には、制御回路（４２１）から第１のワード線選択信号(ＷＬＳ１：３５２)、第２のワード線選択信号(ＷＬＳ２：３６２)、ワード選択信号（ＷＳＬＱ：３４２）や、学習制御信号（ＬＣＳ:４１３［ｍ］）、アドレスアクセス（３５０）、白紙ワード学習（３４３）、ＨＥＢＢ学習（３４８）の制御信号を受ける。【０１０８】
[アドレスアクセスによる書き込み動作]
第１の連想メモリのセルのアレイ（１３１）の連想メモリセル（１４１）と第４の記憶回路のセル（７４１）の書き込み動作においては、第１のワード線（１８１［ｍ］）を選択状態に設定するが、そのためには、制御回路（４２１）から送られる第１のワード線選択信号(３５２)とワード選択信号（３４２）とアドレスアクセス（３５０）を、選択レベル（例えば、Ｈｉｇｈレベル）に設定する。
但し、第２のワード線選択信号(３６２)にはＬｏｗレベルを与え、ＨＥＢＢ学習（３４８）と、白紙ワード学習（３４８）にＬｏｗレベルに設定する。
これらにより、行（ワード）デコーダの最終段を構成する第１のワード線選択回路（３５１）とワード線選択回路（３４１）を通じ、第１のワード線（１８１）が選択される。【０１０９】
第１の連想メモリのセルのアレイ（１３１）の連想メモリセル（１４１）の書き込み時には、対応するビット線を経由して、第１の共通書き込み回路（１１１）からの書き込みデータが選択された連想メモリセル（１４１）に送られてくる必要があるが、ここで参照している図8においては、第１の連想メモリのセル（１４１）への書き込みは第１のサーチ線（１６１）を経由して伝えられる。
但し、第４の記憶回路のセル（７４１）書き込みは、ビット線(ＢＬ４：７９１)を経由して行われる。【０１１０】
第２の連想メモリのセルのアレイ（２３１）の連想メモリセル（２４１）の書き込み動作においては、第２のワード線（２８１［ｍ］）を選択状態に設定するが、そのためには、制御回路（４２１）から送られる第２のワード線選択信号(３６２)とワード選択信号（３４２）とアドレスアクセス（３５０）を、選択レベル（例えば、Ｈｉｇｈレベル）に設定する。
但し、第１のワード線選択信号(３５２)にはＬｏｗレベルを与え、ＨＥＢＢ学習（３４８）と、白紙ワード学習（３４８）にＬｏｗレベルに設定する。
それらにより、行（ワード）デコーダの最終段を構成する第１のワード線選択回路（３６１）とワード線選択回路（３４１）を通じ、第２のワード線（２８１）が選択される。【０１１１】
第２の連想メモリのセル（２４１）への書き込みは第２のサーチ線（２６１）を経由して伝えられる。【０１１２】
［検索後の学習動作（白紙ワード学習）］
以下に、図８と図９を参照して、複合連想メモリ回路（３０）における検索動作と、検索後の学習動作を説明する。
この動作時においては、ＨＥＢＢ学習（３４８）とアドレスアクセス（３５０）はＬｏｗレベルとされ、白紙ワード学習（３４３）はＨｉｇｈを与えている。【０１１３】
図９に記載されたワード回路は、Ｍ行存在するワード回路のうちの、ｍ番目のワード回路の一部であるので、回路に付された「符号」を表示する時には、ｍ番目であることを強調して、「［ｍ］」を付して符号を表示する。【０１１４】
図９には、
半整数倍電流発生回路（３１１［ｍ］）を含むマッチ判定回路（３２１［ｍ］）と、
判定結果出力回路（３３１［ｍ］）と、
ワード線制御回路（３４０［ｍ］）と、  
第１のワード線選択回路となるＡＮＤゲート（３５１［ｍ］）と、
第２のワード線選択回路となるＡＮＤゲート（３６１［ｍ］）と、
マッチ本数カウント回路のｍ行に対応する回路部分（４１１［ｍ］）
が示されている。【０１１５】
白紙学習の制御のための学習制御信号（４１３［ｍ］）は、制御回路（４２１）から発せられ、各ワード回路（４０１［ｍ］）内の最上位ワード選択回路（ＭＷＬ:３４９［ｍ］）にて、マッチ判定回路（３２１［ｍ］）内のＮＡＮＤゲート（３２７）の出力と論理を取られ、学習制御信号（４１３［ｍ＋１］）となって、次の各ワード回路（４０１［ｍ＋１］）に送られる。【０１１６】
最上位ワード選択回路（ＭＷＬ:３４９［ｍ］）には、前段の各ワード回路（４０１［ｍ−１］からの信号である学習制御信号（４１３［ｍ］）と、マッチ判定回路（３２１［０］）内のＮＡＮＤゲート（３２７）の出力が入力され、次の各ワード回路（４０１［ｍ＋１］）に送る信号である学習制御信号（４１３［ｍ＋１］）と共に、最上位ワード選択回路の出力（３３７［ｍ］）を出力する。【０１１７】
最上位ワード選択回路（３４９［ｍ］）の出力（３３７［ｍ］）は、前段のワード回路（４０１［ｍ−１］）から伝えられる学習制御信号（４１３［ｍ］）がＬｏｗであり、かつ、７４１[ｍ]の出力がＬｏｗ（値０：「無効」であり「白紙」の意味）である時に、Ｈｉｇｈとなることができ、同じワード回路内のワード線を選択することを可能とする。【０１１８】
次のワード回路（４０１［ｍ＋１］）に送る学習制御信号（４１３［ｍ＋１］）は、ワード回路（４０１［ｍ］）の中のワード線が選択可能となった時（つまり、３３７［ｍ］がＨｉｇｈの時）には、Ｈｉｇｈが出力される。
【０１１９】
学習制御信号（４１３［ｍ］）のＬｏｗレベルは、「それ以前のワード回路では白紙なし」を意味し、
学習制御信号（４１３［ｍ］）のＨｉｇｈレベルは、「それ以前のワード回路のどこかが、白紙学習で使われる」を意味する。【０１２０】
即ち、学習制御信号（４１３［ｍ］）のチェーンは、制御回路（４２１）に物理的に最も近い「無効なデータを持つ第１、第２の連想メモリアレイの記憶回路」の第１ワード線（１８１）、もしくは、第２のワード線（２８１）のみを選択可能とするような制御を行う。
「無効なデータを持つ第１、第２の連想メモリアレイの記憶回路」とは、「白紙のワード回路」である。【０１２１】
１本のワード回路（例えば、ワード回路（４０１［ｍ］））にて、ワード選択線選択を可能とすると、次のワード回路（４０１［ｍ＋１］）に送る学習制御信号(４１３［ｍ＋１］は、Ｈｉｇｈレベルとなり、それ以降のワード回路には白紙学習を要求しない。【０１２２】
即ち、制御回路（４２１）に物理的に最も近い「無効なデータを持つ第１、第２の連想メモリアレイの記憶回路」の第１ワード線（１８１）、もしくは、第２のワード線（２８１）のみを白紙学習にて選択可能とする。【０１２３】
制御回路（４２１）から、白紙ワード学習（３４３）をＬｏｗとして、白紙なワードを使った学習を要求しない時には、最上位ワード選択回路（３４９［ｍ］）の出力（３３７［ｍ］）は有効ではなくなる。【０１２４】
以上の動作は、学習制御信号（４１３）にて学習が要求されている場合、検索動作に引き続いて行われ、図１３の波形（i）以降にあるように、物理アドレスが最も大きい白紙のワード回路の第１ワード線（１８１）と第２のワード線（２８１）のいずれかを選択し、その時に設定されたビット線のデータを書き込む。【０１２５】
白紙学習の学習動作は、制御回路（４２１）からの書き込みデータ生成回路制御信号（８２１）により終了する。終了時には、同時に、共通書き込み回路（１１１と２１１）より、ビット線を読み出し時のレベルに戻し、更に、制御回路（４２１）からの第１のワード線選択信号(３５２)と第１のワード線選択信号(３６２)より、ワード線を非選択とする。【０１２６】
[発明を実施するための第５の形態]
発明を実施するための第５の形態を含む、複合連想メモリ回路（４０）を、図１１を参照して説明する。【０１２７】
[複合連想メモリ回路４０の構成と動作]
図１１に示す「本発明の第５の実施形態」として示す複合連想メモリ回路（４０）の内部回路の構成は、複合連想メモリ回路（３０）に加え、第３の記憶回路（ＭＣ３：６８１）を備える。【０１２８】
第３の記憶回路（６８１）は、マッチ判定回路群（３０１）の中の判定結果出力回路（３３１）の出力（３３３）のＭビットを元に、第３の記憶回路（６８１）のワード線である第３のワード線（６８１）の１本を選択し、含まれるＬ個のメモリセル（６４１）のデータを第３のビット線（６９１）経由で読み出し、第３の読み出し回路の出力（ＱＳＡ：６２２）として出力する。［請求項１１］【０１２９】
ここで、この第３の記憶回路（６８１）が機能するには、２点の前提がある。【０１３０】
１点目の前提は、複合連想メモリ回路（４０）には、本発明の第４の複合連想メモリ回路（３０）のマッチ本数カウント回路（４１１）、共通閾値設定回路（４３１）、閾値電流発生回路２（４５０）、共通閾値設定電流源（４３５）と制御回路（４２１）等の機能により、「（一致）ヒット」とする判定結果出力回路の出力（３３３［ｍ］）が、１本となっていることが、制御回路（４２１）に伝えられ、制御回路（４２１）から第３の記憶回路制御信号（４８１）により、第３のワード線駆動回路（ＲＷＣ：６６１）に、第３の記憶回路（６０１）に、読み出し動作が指示されるとの制御が行われていることである。【０１３１】
２点目の前提は、第３の記憶回路（６８１）のデータは、予め、外部からの第３の書き込み回路の入力（６１２）を元に、第３の共通書き込み回路（６２１）に書き込みデータを与え、制御信号（４２２）と制御回路（４２１）と第３の記憶回路制御信号（４８１）により、書き込み動作が実行されて用意されていることである。【０１３２】
制御回路（４２１）から第３の記憶回路制御信号（４８１）による読み出し動作が指示されるとの制御が行われていない場合には、第３のワード線駆動回路（６５１）は動作せず、いずれの第３のワード線（６３１［ｍ］）も選択状態にはならず、読み出し動作も行われない。【０１３３】
図１１においては、第３の記憶回路（６０１）には、Ｌ本のビット線（６９１）と、ワード線（６８１）の交点に位置するＬビットのメモリセル（第３の記憶回路のセル：６４１）が示されているが、このビット数やビット線の本数は、第３の記憶回路（６０１）に出力することを期待するデータの大きさに依存している。【０１３４】
第３の記憶回路（６０１）に出力することを期待するデータとは、例えば、マッチ判定回路群（ＭＳ：３０１）が「一致（マッチ」とした情報を伝えるべき「次段の回路」のアドレスその回路に期待する処理に関する情報である。この「次段の回路」とは、複合連想メモリ回路（４０）のワード回路（４０１[ｍ]）が「一致（マッチ」した時に、そのワード回路が活性化したことを伝えられ、その信号に基づいて処理を行う回路である。【０１３５】
[発明を実施するための第６の形態]
発明を実施するための第６の形態として、複合連想メモリ回路（３０）をニューラルネットワークの表現に用いる形態を、図１２と図９を参照して説明する。【０１３６】
[複合連想メモリ回路５０の構成と動作]
図１２に示す「本発明の第６の実施形態」として示す複合連想メモリ回路（５０）の内部回路の構成は、複合連想メモリ回路（３０）に加え、入力信号生成回路（９０１）を備え、
マッチ判定回路（３２５）の出力（３２９）のＭビット、もしくは、判定結果出力回路（３３１）の出力（３３３）のＭビットを、入力信号生成回路（９０１）に入力し、入力信号生成回路（９０１）にて、第１の入力データ（１７１）のＮビットの一部、もしくは、第２の入力データ（２７１）のＫビットの一部または全てを生成する。
図１２においては、判定結果出力回路（３３１）の出力（３３３）のＭビットを、入力信号生成回路（９０１）に入力する実施例を表示している。【０１３７】
また、図１２においては、入力信号生成回路（９０１）は、「第１の入力データ（１７１）」用にＭ１ビット、「第２の入力データ（２７１）」用にＭ２ビットを出力している。【０１３８】
「第１の入力データ（１７１）」用のＭ１ビットは、第１の入力データ（１７１）のＮビットの一部として使われ、
「第２の入力データ（２７１）」用のＭ２ビットは、第２の入力データ（２７１）のＫビットの一部として使われるので、
この場合、外部から供給される「第１の入力データ（１７１）」は、(Ｎ−Ｍ１)ビットであり、「第２の入力データ（２７１）」は、(Ｋ−Ｍ２)ビットである。［請求項９］及び［請求項１０］【０１３９】
複合連想メモリ回路５０は、ニューラルネットワークの有力な表現手法である。【０１４０】
［ヘブ学習の表現］
ニューラルネットワークにおいて知られている「Ｈｅｂｂ学習（３４８）」を実行させる時には、図９に示されているＨＥＢＢ学習（ＨＥＢＢ：３４８）をＨｉｇｈとして、各ワード回路（４０１［ｍ］）に、ＨＥＢＢ学習モードが有効となることを示し、更に、白紙ワード学習（ＬＤ１：３４３）とアドレスアクセス（ＬＤ３：３５０）をＬｏｗとして、白紙ワード学習モードとアドレスアクセスモードを無効とする。【０１４１】
ヘブ学習モードでは、検索時にヒットしたワード回路（４０１［ｍ］）に、検索時に入力した第１のサーチ線駆動回路（１６２）のデータと、第２のサーチ線駆動回路（２６２）のデータを上書きする。【０１４２】
検索時にヒットしたワード回路では、図９の判定結果出力回路の出力（３３３［ｍ］）がＨｉｇｈとなり、ＨＥＢＢ学習（３４８）もＨｉｇｈとなるワード回路（４０１［ｍ］）にて、、ＮＡＮＤゲート（３４４）とＮＡＮＤゲート（３４１）を通じて、第１のワード線（１８１［ｍ］）か第２のワード線（２８１［ｍ］）を選択状態とすることができる。
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
【産業上の利用可能性】
【０１４３】
本発明は、期待する一致ビットの数をワード毎に設定することに特徴であり、そのことにより、完全一致ではなく、第１の入力データと第１の記憶データが「ある程度以上一致である（もしくは、ある程度以下で不一致である）」状況も、第２の入力データと第２の記憶データを設定することにより、判定・検出することができる。【０１４４】
画像認識やニューラルネットワークを表現する用途では、連想メモリアレイの記憶回路に設定するデータ値が値０であるビットの個数と、データが値１であるビットの個数は等量ではないのが一般的であり、その場合、第２の連想メモリの記憶回路に、個数が少ない値１を持つビット個数を設定し、第１の連想メモリにて、記憶回路の記憶データと入力データが、共に値１である時にマッチ線に電流を導通することとするとすれば良く、連想メモリのセルアレイの占有面積を減ずることができる。【０１４５】
連想メモリセルを多値メモリとして動作させる場合、入力データ（１６１）が作るベクトルと照合データに相当する第１の連想メモリセルのアレイ（１３１）の記憶回路の記憶データが作るベクトルの次元は変わらないが、両ベクトルの内積の計算の精度が高くなる。
【符号の説明】
【０１４６】
１０  複合連想メモリ回路１０
２０  複合連想メモリ回路２０
３０  複合連想メモリ回路３０
４０  複合連想メモリ回路４０
５０  複合連想メモリ回路５０
６０  複合連想メモリ回路６０
１０１  第１の連想メモリ（ＡＭ１）
１１１  第１の共通書き込み回路（ＷＡ１）
１１２  第１の書き込みデータ（ＷＤ１）
１２１  第１の共通読み出し回路（ＣＳＡ１）
１３１  第１の連想メモリセルのアレイ（ＡＭＡ１）
１３２  第１の記憶回路（ＡＭＭ１）
１４１  第１の連想メモリのセル（ＡＭＣ１）
１５１  第１のマッチ線（ＭＬ１）
１５２  第１のマッチ線電流（ＪＭＬ１）
１６１  第１のサーチ線（ＳＬ１）
１６２  第１のサーチ線駆動回路（ＳＬＤ１）
１７１  第１の入力データ（ＳＤ１）
１８１  第１のワード線（ＷＬ１）
１９１  第１のビット線（ＢＬ１）
２０１  第２の連想メモリ（ＡＭ２）
２１１  第２の共通書き込み回路（ＣＷＡ２）
２１２  第２の書き込みデータ（ＷＤ２）
２２１  第２の共通読み出し回路（ＣＳＡ２）
２３１  第２の連想メモリセルのアレイ（ＡＭＡ２）
２３２  第２の記憶回路（ＡＭＭ２）
２４１  第２の連想メモリのセル（ＡＭＣ２）
２５１  第２のマッチ線（ＭＬ２）
２５２  第２のマッチ線電流（ＪＭＬ２）
２６１  第２のサーチ線（ＳＬ２）
２６２  第２のサーチ線駆動回路（ＳＬＤ２）
２７１  第２の入力データ（ＳＤ２）
２８１  第２のワード線（ＷＬ２）
２９１  第２のビット線（ＢＬ２）
３０１  マッチ判定回路群（ＭＳ）
３１１  半整数倍電流発生回路（ＪＨＧ）
３１２  連想メモリセル１ビットがマッチ線から導通しうる電流量（ＪＨ）
３１３  半整数倍電流発生回路が導通しうる電流量（ＪＧ）
３１６  ２分の１電流発生回路（ＪＨ１）
３１７  ＪＨ電流発生回路（ＪＨ２）
３２１  マッチ判定回路（ＭＳＡ）
３２２  マッチ判定回路の電流源（ＪＭＳ）
３２３  マッチ判定回路の負荷抵抗１（Ｒ１）
３２４  マッチ判定回路の負荷抵抗２（Ｒ２）
３２５  マッチ線センス回路（ＡＭＰ）
３２６  マッチ線センス電源（ＶＳＡ）
３２７  マッチ判定回路の制御ゲート（ＳＥ）
３２９  マッチ判定回路の出力（ＭＳＡＱ）
３３１  判定結果出力回路（ＭＳＤ）
３３３  判定結果出力回路の出力（ＭＳＤＱ）
３３６  ＮＡＮＤ５
３３７  最上位ワード選択回路の出力（ＷＬＤＱ）
３３８  マッチ判定回路の出力制御信号（ＳＥＱ）
３３９  ＮＡＮＤ４
３４０  ワード線制御回路（ＷＬＤ）
３４１  ワード線選択回路（ＮＡＮＤ３）（ＷＳＬ）
３４２  ワード線選択信号（ＷＳＬＱ）
３４３  学習指示信号１（ＬＤ１）
３４４  ＮＡＮＤ２
３４５  ＮＯＲ１（ＮＯＲ１）
３４６  ＮＯＲ２（ＮＯＲ２）
３４７  ＮＡＮＤ１（ＮＡＮ１）
３４８  Ｈｅｂｂ学習（ＨＥＢＢ）
３４９  最上位ワード選択回路（ＭＷＬ）
３５０  学習指示信号３（ＬＤ３）
３５１  第１のワード線選択回路（ＡＮＤ）（ＷＬＤ１）
３５２  第１のワード線選択信号（ＷＬＳ１）
３６１  第２のワード線選択回路（ＡＮＤ）（ＷＬＤ２）
３６２  第２のワード線選択信号（ＷＬＳ２）
４０１  ワード回路（ＷＤＣ）
４１１  マッチ本数カウント回路（ＭＬＣ）
４１３  学習制御信号（ＬＣＳ）
４１４  マッチ本数カウント回路出力（ＵＤＳ）
４２１  制御回路（ＣＴＬ）
４２２  制御信号入力（ＺＣＴＬ）
４２３  サーチ線駆動回路制御信号（ＣＳＬ）
４２６  ＡＭＰ２出力（ＡＰＱ２）
４２７  ＡＭＰ３出力（ＡＰＱ３）
４２８  マッチ判定制御信号（ＭＳＣ）
４２９  共通閾値判定閾値１（ＣＴＴ１）
４３０  共通閾値設定回路制御信号１（ＣＶＳ１）
４３１  共通閾値設定回路（ＣＴＧ）
４３２  共通閾値設定回路制御信号２（ＣＶＳ２）
４３３  共通閾値設定回路出力（ＣＶＱ）
４３４  共通閾値設定信号（ＣＶＣ）
４３５  共通閾値設定電流源（ＪＣＴ）
４３６  共通閾値判定閾値２（ＣＴＴ２）
４３７  電流設定レジスタ（ＲＧ１）
４３８  電流設定レジスタ制御回路（ＲＧ２）
４３９  期待マッチ本数レジスタ（ＲＧ３）
４４０  セル部正電源（ＶＣ）
４４１  半整数倍電流発生回路２（ＪＨＧ２）
４４３  マッチ線センス回路２（ＡＭＰ２）
４４４  判定結果出力回路２（ＭＳＤ２）
４４５  マッチ線センス電源２（ＶＳＡ２）
４４６  マッチ線センス回路３（ＡＭＰ３）
４５０  閾値電流発生回路２（ＪＲＥＦ）
４８１  第３の記憶回路制御信号（ＣＲＭ）
６０１  第３の記憶回路（ＭＣ３）
６１１  第３の書き込み回路（ＣＷＡ３）
６１２  第３の書き込み回路の入力信号（ＷＤ３）
６２１  第３の読み出し回路（ＣＳＡ３）
６２２  第３の読み出し回路の出力信号（ＱＳＡ３）
６３１  第３の記憶回路のセルのアレイ（ＡＭＡ３）
６４１  第３の記憶回路のセル（ＡＭＣ３）
６５１  第３のワード線駆動回路（ＷＬＤ３）
６６１  第３の記憶回路の制御回路（ＲＷＣ３）
６８１  第３のワード線（ＷＬ３）
６９１  第３のビット線（ＢＬ３）
７０１  第４の記憶回路（ＭＣ４）
７１１  第４の共通書き込み回路（ＣＷＡ４）
７１２  第４の書き込み回路の入力信号（ＷＤ４）
７２１  第４の読み出し回路（ＳＡ４）
７２２  第４の記憶回路の出力（ＱＳＡ４）
７４１  第４の記憶回路のセル（ＡＭＣ４）
７７１  第４の入力データ（ＳＤ４）
７８１  第４のワード線（ＷＬ４）
７９１  第４のビット線（ＢＬ４）
８１０  制御回路（ＣＴＬ）
８２０  書き込みデータ生成回路（ＷＤＧ）
８２１  書き込みデータ生成回路制御信号（ＷＤＧＳ）
８２２  書き込みデータ生成回路の出力（ＷＤＧＱ）
９０１  入力信号生成回路（ＳＩＧ）
９０２  入力信号生成回路の制御信号（ＺＳＩＧ）
【図１】
2020075658.tif 000003
【図２】
2020075658.tif 000004
【図３】
2020075658.tif 000005
【図４】
2020075658.tif 000006
【図５】
2020075658.tif 000007
【図６】
2020075658.tif 000008
【図７】
2020075658.tif 000009
【図８】
2020075658.tif 000010
【図９】
2020075658.tif 000011
【図１０】
2020075658.tif 000012
【図１１】
2020075658.tif 000013
【図１２】
2020075658.tif 000014
【図１３】
2020075658.tif 000015
【手続補正書】
【提出日】令和2年1月14日(2020.1.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のメモリセルからなる第１の記憶回路と第１のマッチ線とを有し、入力された第１の入力データと前記第１の記憶回路の記憶データとの一致ビット数に応じて前記マッチ線に電流を導通する第１の連想メモリセルのアレイと、
複数のメモリセルからなる第２の記憶回路と第２のマッチ線とを有し、入力もしくは所定の値に固定された第２の入力データと前記第２の記憶回路の記憶データとの一致ビット数に応じて前記マッチ線に電流を導通する第２の連想メモリセルのアレイと、
前記第２の連想メモリセルのアレイが前記第２のマッチ線に導通する電流と前記第１の連想メモリセルのアレイが前記第１のマッチ線に導通する電流により、前記第１の記憶回路の記憶データと前記第１の入力データとの一致の程度が、前記第２の記憶回路の記憶データと前記第２の入力データとの一致の程度以上であることを判定するマッチ判定回路と、
判定結果出力回路を備え、
マッチ判定回路の判定結果に応じて、前記判定結果出力回路より一致、もしくは、不一致を意味する信号を出力する複合連想メモリ回路。
【請求項２】
複数のメモリセルからなる第１の記憶回路と第１のマッチ線とを有し、入力された第１の入力データと前記第１の記憶回路の記憶データとの不一致ビット数に応じて前記マッチ線に電流を導通する第１の連想メモリセルのアレイと、
複数のメモリセルからなる第２の記憶回路と第２のマッチ線とを有し、入力もしくは所定の値に固定された第２の入力データと前記第２の記憶回路の記憶データとの不一致ビット数に応じて前記マッチ線に電流を導通する第２の連想メモリセルのアレイと、
前記第２の連想メモリセルのアレイが前記第２のマッチ線に導通する電流と前記第１の連想メモリセルのアレイが前記第１のマッチ線に導通する電流により、前記第１の記憶回路の記憶データと前記第１の入力データとの不一致の程度が、前記第２の記憶回路の記憶データと前記第２の入力データとの一致の程度以上以下であることを判定するマッチ判定回路と、
判定結果出力回路を備え、
マッチ判定回路の判定結果に応じて、前記判定結果出力回路より一致、もしくは、不一致を意味する信号を出力する複合連想メモリ回路。
【請求項３】
前記複合連想メモリ回路は、更に、
前記第１の連想メモリセルの１ビットが前記第１の入力データの対応する箇所との一致時に前記第１のマッチ線に導通させる電流の約半整数倍の電流を生成する半整数倍電流発生回路を備え、
前記半整数倍電流発生回路の電流を、前記第１の連想メモリセルのアレイの前記第１のマッチ線に導通することを特徴とした前記請求項１、もしくは前記請求項２に記載の複合連想メモリ回路。
【請求項４】
前記複合連想メモリ回路は、更に、
前記第２の連想メモリセルの１ビットが前記第２の入力データの対応する箇所との一
致時に前記第２のマッチ線に導通させる電流の約半整数倍の電流を生成する半整数倍電流発生回路を備え、
前記半整数倍電流発生回路の電流を、前記第２の連想メモリセルのアレイの前記第２のマッチ線に導通することを特徴とした前記請求項１、もしくは前記請求項２に記載の複合連想メモリ回路。
【請求項５】
前記複合連想メモリ回路は、更に、書き込みデータ生成回路を備え、
前記書き込みデータ生成回路にて、前記第１の記憶回路への書き込みデータから前記第２の記憶回路への書き込みデータの少なくとも一部を生成することを特徴とする前記請求項１から４のいずれか１項に記載の複合連想メモリ回路。
【請求項６】
前記複合連想メモリ回路は、
前記第１の連想メモリセルのアレイと、前記第２の連想メモリセルのアレイと、前記マッチ判定回路と、前記判定結果出力回路からなるワード回路を複数備え、更に、
前記第１の記憶回路の前記メモリセルへの書き込みデータを設定する第１の共通書き込み回路と、
前記第２の記憶回路の前記メモリセルへの書き込みデータを設定する第２の共通書き込み回路と、
書き込みデータ生成回路を備え、
前記書き込みデータ生成回路によって前記第１の共通書き込み回路に設定される前記書き込みデータから前記第２の共通書き込み回路に設定される前記書き込みデータの少なくとも一部を生成することを特徴とすることを特徴とする前記請求項１から５のいずれか１項に記載の複合連想メモリ回路。
【請求項７】
前記複合連想メモリ回路は、更に、
前記一致を意味する信号の前記複合連想メモリ回路全体における本数を意味する信号を出力するマッチ本数カウント回路と、
前記マッチ本数カウント回路の期待値を設定する閾値発生回路と、
前記第１のマッチ本数カウント回路の出力値が過剰か不足かを判定する閾値を設定する共通閾値設定回路と、
前記共通閾値設定信号回路の出力レベルを加減する共通閾値設定信号発生回路を備え、
前記期待値より前記本数が過剰か不足かを共通閾値設定回路にて判定し、共通閾値設定信号発生回路にて前記マッチ判定回路もしくは判定結果出力回路の入力閾値を調整することを特徴とする前記請求項６に記載の複合連想メモリ回路。
【請求項８】
前記複合連想メモリ回路は、更に、
前記一致を意味する信号の本数に応じて第１の電流を発生させるマッチ本数カウント回路と、
前記第１の電流の許容値を判定する上での閾値の意味を持つ第２の電流を発生させる閾値電流発生回路と、
前記第２の電流によって、前記第１の電流が過剰か不足かを判定する共通閾値設定回路と、
前記マッチ判定回路への供給電流を調整する共通閾値設定電流源を備え、
前記第２の電流によって前記第１の電流が過剰か不足かを共通閾値設定回路にて判定し、共通閾値設定電流源にて前記マッチ判定回路への供給電流を調整することを特徴とする前記請求項６に記載の複合連想メモリ回路。
【請求項９】
前記複合連想メモリ回路は、更に、入力信号生成回路を備え、
前記マッチ判定回路の出力を前記入力信号生成回路に入力し、
前記入力信号生成回路の出力を前記第１の連想メモリセルのアレイの前記第１の入力データの一部、もしくは、前記第２の入力データの一部として使うことを特徴とする前記請求項６から８のいずれか１項に記載の複合連想メモリ回路。
【請求項１０】
前記複合連想メモリ回路は、更に、入力信号生成回路を備え、
前記判定結果出力回路の出力を前記入力信号生成回路に入力し、
前記入力信号生成回路の出力を前記第１の連想メモリセルのアレイの前記第１の入力データの一部、もしくは、前記第２の入力データの一部として使うことを特徴とする前記請求項６から９のいずれか１項に記載の複合連想メモリ回路。
【請求項１１】
前記ワード回路内に、更に、前記マッチ判定回路に対応した複数のメモリセルからなる第３の記憶回路と、
前記第３の記憶回路の前記メモリセルへの書き込みデータを設定する第３の書き込み回路と、
前記第３の記憶回路の前記メモリセルの記憶データの読み出しを行う第３の読み出し回路を備え、
前記判定結果出力回路の出力信号に応じて、前記第３の記憶回路の前記記憶データを前記第３の共通読み出し回路を通じて読み出し、出力することを特徴とした前記請求項１から１０のいずれか１項に記載の複合連想メモリ回路。
【請求項１２】
前記ワード回路内に、更に、前記第１の記憶回路、もしくは、前記第２の記憶回路に有効なデータが記憶されているのか否かの情報を記憶する、少なくとも１ビットのメモリセルを有する第４の記憶回路を備え、
前記第４の記憶回路の前記メモリセルのデータに応じて、対応する前記マッチ判定回路の動作を停止もしくは活性化することを特徴とする前記請求項６から１１のいずれか１項に記載の複合連想メモリ回路。
【請求項１３】
いずれの前記ワード回路の前記判定結果出力回路からも一致を意味する出力がなかった場合に、
前記第４の記憶回路に記憶しているデータによって前記マッチ判定回路の動作を停止している前記ワード回路内の前記第１の記憶回路に、前記第１の入力データの一部または全てを書き込むことを特徴とする前記請求項１２に記載の複合連想メモリ回路。
【請求項１４】
前記判定結果出力回路より一致を意味する出力があった前記ワード回路の前記第１の記憶回路に、前記第１の入力データの一部または全てを書き込むことを特徴とする前記請求項１から１３のいずれか１項に記載の複合連想メモリ回路。
【請求項１５】
前記第１もしくは前記第２の記憶回路を構成する前記メモリセルが、多値メモリ、もしくは、アナログメモリであることを特徴とする前記請求項１から１４のいずれか１項に記載の複合連想メモリ回路。
【請求項１６】
前記ワード回路の前記第１の記憶回路のデータと、前記第２の記憶回路のデータと、前記第３の記憶回路のデータの対応関係を壊さずに、前記第１の記憶回路のデータ、もしくは、前記第２の記憶回路のデータ、もしくは、前記第３の記憶回路のデータ、もしくは、前記第４の記憶回路のデータが、昇順、もしくは、降順となるように、所定の頻度で並べ替え作業を行う制御回路を備えることを特徴とする前記請求項６から１５のいずれか１項に記載の複合連想メモリ回路。
【国際調査報告】
2020075658.tif 000016
2020075658.tif 000017
2020075658.tif 000018
2020075658.tif 000019