(57)【要約】【課題】機能メモリのメモリセルに書き込まれたデータと一致検索用のデータとのExclusive-ORを少ない構成素子で演算する。【解決手段】Exclusive-OR型機能メモリのメモリセル２のデータ蓄積部７に書き込まれたデータと一致検索用のデータとの排他的論理和を演算するに当たり、一致検索用のデータが真の値である場合、データ蓄積部７に書き込まれたデータを、正論理と負論理のうちの一方のデータとして読み出し、一致検索用のデータが偽の値である場合、データ蓄積部７に書き込まれたデータを、その他方のデータとして読み出す。【選択図】図１
2006120321.tif 000002
【特許請求の範囲】
【請求項１】
真の値又は偽の値のデータを記憶する複数のメモリセルを有する記憶手段と、
前記メモリセルに記憶すべきデータ及び一致検索用のデータが外部から入力されるデータ入力手段と、
前記メモリセルに記憶すべきデータを、前記メモリセルに個々に又は複数まとめて正論理又は負論理で書き込むデータ書込み手段と、
前記メモリセルから、記憶されたデータを個々に又は複数まとめて読み出すデータ読出し手段と、
記憶されたデータを読み出すべきメモリセル及び記憶すべきデータを書き込むべきメモリセルを選択する読出し及び書き込み選択手段と、
前記データ読出し手段によって読み出されたデータを外部に出力するデータ出力手段とを具え、
前記メモリセルの各々が、記憶すべきデータが書き込まれるデータ蓄積部を有し、
前記データ読出し手段が、
前記一致検索用のデータが１であるとともに前記データ蓄積部に書き込まれたデータが０である場合には、前記メモリセルからの読出しデータを１とし、前記一致検索用のデータが１であるとともに前記データ蓄積部に書き込まれたデータが１である場合には、前記メモリセルからの読出しデータを０とし、
前記一致検索用のデータが０であるとともに前記データ蓄積部に書き込まれたデータが０である場合には、前記メモリセルからの読出しデータを０とし、前記一致検索用のデータが０であるとともに前記データ蓄積部に書き込まれたデータが１である場合には、前記メモリセルからの読出しデータを１とし、
前記データ蓄積部を、分極方向に応じた真の値又は偽の値のデータを保持する強誘電体又は誘電体としたことを特徴とするExclusive-OR型機能メモリ。
【請求項２】
真の値又は偽の値のデータを記憶する複数のメモリセルを有する記憶手段と、
前記メモリセルに記憶すべきデータ及び一致検索用のデータが外部から入力されるデータ入力手段と、
前記メモリセルに記憶すべきデータを、前記メモリセルに個々に又は複数まとめて正論理又は負論理で書き込むデータ書込み手段と、
前記メモリセルから、記憶されたデータを個々に又は複数まとめて読み出すデータ読出し手段と、
記憶されたデータを読み出すべきメモリセル及び記憶すべきデータを書き込むべきメモリセルを選択する読出し及び書き込み選択手段と、
前記データ読出し手段によって読み出されたデータを外部に出力するデータ出力手段とを具え、
前記メモリセルの各々が、記憶すべきデータが書き込まれるデータ蓄積部を有し、
前記データ読出し手段が、
前記一致検索用のデータが１であるとともに前記データ蓄積部に書き込まれたデータが０である場合には、前記メモリセルからの読出しデータを０とし、前記一致検索用のデータが１であるとともに前記データ蓄積部に書き込まれたデータが１である場合には、前記メモリセルからの読出しデータを１とし、
前記一致検索用のデータが０であるとともに前記データ蓄積部に書き込まれたデータが０である場合には、前記メモリセルからの読出しデータを１とし、前記一致検索用のデータが０であるとともに前記データ蓄積部に書き込まれたデータが１である場合には、前記メモリセルからの読出しデータを０とし、
前記データ蓄積部を、分極方向に応じた真の値又は偽の値のデータを保持する強誘電体又は誘電体としたことを特徴とするExclusive-OR型機能メモリ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベース、人工知能、画像処理、文字列処理等で重要な検索や一致／不一致の問題を解くExclusive-OR型機能メモリ及びその読出し方法に関するものである。なお、本明細書中、Exclusive-OR型機能メモリとは、Exclusive-OR（排他的論理和）の演算を行う機能メモリを意味するものとする。
【背景技術】
【０００２】
機能メモリ(Functional Memory)は、記憶素子に演算回路を付加して、単なる記憶だけでなく各種の演算を並列に行うことができるようにしたものである。この種のメモリに関連する分類としては、前記の他に、連想記憶(Associative Memory)、論理付き記憶(Logic in Memory)、分布論理記憶(Distributed Logic Memory)等がある。また、機能メモリの一種に連想記憶があり、これには、内容アドレスメモリ(Content Addressable Memory)、データアドレスメモリ(Data Address Memory)、探索メモリ(Search Memory)等と呼ばれ、これらの分類には諸説がある。
【０００３】
この種のメモリのハードウェアの歴史は大変古く、１９５６年に発表されたShade とMcMahon の"The Cryotron Catalog Memory System"に始まるとされている。しかしながら、これらの研究や開発に関する歴史にも諸説があることを付け加えておく。
【０００４】
次いで、磁気コア（１９６１年）などの磁気を利用したものや半導体のフリップフロップ回路（E.S.Lee;１９６３年）と一致検出回路の組合せによるものが試みられた。しかしながら、磁気コアを用いたものは、主記憶と同じ電流一致方式による選択制御を行うので、破壊読出しと非破壊読出しの制御が困難であり、結果的には速度の遅い破壊読出しを行う必要があったので検索速度が遅く、量産化されていない。その外には、磁気を用いたものに磁気バブルを用いたものが研究された時期もあった。
【０００５】
現在では、半導体集積回路のＳＲＡＭ(Static Random Access Memory) やＤＲＡＭ(Dynamic Random Access Memory)と一致検出回路を組み合わせたものが実用化されている。しかしながら、ＳＲＡＭやＤＲＡＭ自体に比べてトランジスタ数が増加することやそれに伴う記憶容量の減少が問題で小容量のものに留まっている。例えば、（１）仮想記憶システムのアドレス変換（２）キャッシュメモリのメモリマッピングの高速化（３）記号アドレスの変換が実用化されている。
【０００６】
近年、フラッシュメモリの技術を用いた構成素子が少なく大容量なものが実用化されつつあるが、データの書込み速度が十分でなく、ＤＲＡＭやＳＲＡＭと同様の高速かつ大容量のものが実現されるには至っていない。
【０００７】
また、機能メモリ素子の配列からＷＰＢＰ(Word Parallel Bit Parallel)方式とＷＰＢＳ(Word Parallel Bit Serial)方式のものがある。ＷＰＢＰ方式は、１回の命令で全てが演算できるが、集積度が増大するに従ってその構成、演算結果の読出し方式、消費電力等から適切に分割して演算するのが現実的である。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
機能メモリは、仮想記憶システムのアドレス変換、キャッシュメモリのメモリマッピングの高速化、記号アドレスの変換等の小規模の用途に加えて、データベース、人工知能、画像処理、大規模のリスト処理、ソーティング、テーブルの処理、データ構造の処理及びパターンの処理等で最も重要な検索や一致／不一致の問題を高速に解くことができる。しかしながら、既に説明したような長い歴史を持つとともにその重要性が指摘されてきたにもかかわらず、特定用途の小規模メモリからの発展がない。
【０００９】
一方、主記憶は計算機の発展にとって最も重要な素子であることから半導体ランダムアクセスメモリの研究開発が進み、ＤＲＡＭの出現によって劇的な進歩を遂げ、既に１個の記憶素子（電荷を蓄積するコンデンサ）と１個のトランジスタで構成されるまでになっている。また、その占有面積も極限まで小さくなってきている。
【００１０】
しかしながら、一般に、機能メモリは記憶素子及び演算素子から構成されている。すなわち、記憶素子が、主記憶で用いられるＳＲＡＭやＤＲＡＭから構成されていることから、素子とそれに伴う占有面積も広くなるので、機能メモリの素子数が常にＳＲＡＭやＤＲＡＭより多くなり、その占有面積も増大する。また、専用の機能メモリを構成するよりは、大量に生産されるＤＲＡＭやＳＲＡＭから構成された主記憶と計算機で演算処理した方が汎用性があり、速度を犠牲にしても経済的に処理することができる。これらの事情から、既に説明したような長い歴史を持っているにもかかわらず、機能メモリは主記憶のように発展しなかった。
【００１１】
近年、フラッシュメモリの技術を用いた構成素子数が少なく大容量化が可能なものも実用化されつつあるが、この場合でも、構成素子数がＤＲＡＭの２倍必要となり、データの書込み速度が十分でなく、ＤＲＡＭやＳＲＡＭと同様の高速かつ大容量のものが実現されるには至っていない。また、フラッシュメモリと同様の記憶素子で複数のしきい値を用いたものも考えられている。
【００１２】
これまで説明したように、基本的なものから高機能の演算ができるものまで様々な機能メモリが提案されてきたが、集積化が進行するに従って、機能メモリに要求されることは、
（１）半導体メモリに極力近い構造（１個のトランジスタと１個の記憶素子）
（２）ＷＰＢＰに近いＷＰＢＳ動作（データ転送速度や消費電力が許す範囲の並列演算）
（３）単純な演算ができる機能に限定（一致／不一致：排他的論理和演算（すなわち、modulo-2を法とする加法演算））
等に集約されてきつつある。
【００１３】
本発明の目的は、機能メモリのメモリセルに書き込まれたデータと一致検索用のデータとのExclusive-ORを少ない構成素子で演算することができるExclusive-OR型機能メモリ及びその読出し方法を提供することである。
【課題を解決するための手段】
【００１４】
本発明のうち請求項１記載のExclusive-OR型機能メモリは、
真の値又は偽の値のデータを記憶する複数のメモリセルを有する記憶手段と、
前記メモリセルに記憶すべきデータ及び一致検索用のデータが外部から入力されるデータ入力手段と、
前記メモリセルに記憶すべきデータを、前記メモリセルに個々に又は複数まとめて正論理又は負論理で書き込むデータ書込み手段と、
前記メモリセルから、記憶されたデータを個々に又は複数まとめて読み出すデータ読出し手段と、
記憶されたデータを読み出すべきメモリセル及び記憶すべきデータを書き込むべきメモリセルを選択する読出し及び書き込み選択手段と、
前記データ読出し手段によって読み出されたデータを外部に出力するデータ出力手段とを具え、
前記メモリセルの各々が、記憶すべきデータが書き込まれるデータ蓄積部を有し、
前記データ読出し手段が、
前記一致検索用のデータが１であるとともに前記データ蓄積部に書き込まれたデータが０である場合には、前記メモリセルからの読出しデータを１とし、前記一致検索用のデータが１であるとともに前記データ蓄積部に書き込まれたデータが１である場合には、前記メモリセルからの読出しデータを０とし、
前記一致検索用のデータが０であるとともに前記データ蓄積部に書き込まれたデータが０である場合には、前記メモリセルからの読出しデータを０とし、前記一致検索用のデータが０であるとともに前記データ蓄積部に書き込まれたデータが１である場合には、前記メモリセルからの読出しデータを１とし、
前記データ蓄積部を、分極方向に応じた真の値又は偽の値のデータを保持する強誘電体又は誘電体としたことを特徴とするものである。
【００１５】
本発明のうち請求項１記載のExclusive-OR型機能メモリによれば、図１に示すように、記憶手段１のメモリセル２に記憶すべきデータ及び一致検索用のデータが外部からデータ入力手段３に入力されると、読出し及び書込み選択手段４は、このデータを書き込むべきメモリセル２のうちの少なくとも一つを選択する。その後、データ書込み手段５は、個々に又は複数まとめて選択されたメモリセル２に、記憶すべきデータを正論理又は負論理で書き込む。
【００１６】
また、一致検索用のデータ及び部分検索のためのフラグが与えられた読出し及び書込み選択手段４によって読み出すべきメモリセル２が選択されると、データ読出し手段６は、真の値の一致検索用のデータを読み出した場合、その一致検索用のデータに対応するメモリセル２のデータ蓄積部７に書き込まれたデータを、正論理と負論理のうちの一方のデータとして読み出し、偽の値の一致検索用のデータを読み出した場合、その一致検索用のデータに対応するデータ蓄積部７に書き込まれたデータを、その他方のデータとして読み出す。読み出されたデータは、データ出力手段８によって外部に出力される。
【００１７】
このように一致検索用のデータの真又は偽の値に応じてデータ蓄積部７に書き込まれたデータを正論理又は負論理のデータとして読み出すことによって、メモリセル２が別の排他的論理和演算回路を有することなく、データ蓄積部７に書き込まれたデータと一致検索用のデータとの排他的論理和を演算することができるようになる。
【００１８】
また、データ蓄積部７（図１）を、分極方向に応じた真の値又は偽の値のデータを保持する強誘電体又は誘電体とすることによって、分極方向に応じて真及び偽の値のデータを決定して１ビットの記憶を行うことができる。
【００１９】
更に詳しく説明すると、一致検索用のデータが真の値である場合、データ蓄積部に書き込まれたデータを正論理と負論理のうちの一方のデータとして読み出す。例えば、データの真の値を１とするとともに偽の値を０とした正論理で表現する。すなわち、データ蓄積部に正論理で書き込まれたデータを正論理で読み出すと、一致検索用のデータが１であるとともにデータ蓄積部に書き込まれたデータが０である場合には、メモリセルからの読出しデータ（すなわち、演算結果）を１とし、一致検索用のデータが１であるとともにデータ蓄積部に書き込まれたデータが１である場合には、メモリセルからの読出しデータを０とする。
【００２０】
それに対して、一致検索用のデータが偽の値である場合、データ蓄積部に書き込まれたデータをその他方のデータとして読み出す。同様にデータの真の値を０とするとともに偽の値を１とした負論理で表現すると、一致検索用のデータが０であるとともにデータ蓄積部に書き込まれたデータが０である場合には、メモリセルからの読出しデータを０とし、一致検索用のデータが０であるとともにデータ蓄積部に書き込まれたデータが１である場合には、メモリセルからの読出しデータを１とする。
【００２１】
このように一致検索用のデータの真又は偽の値に応じてデータ蓄積部に書き込まれたデータを正論理又は負論理のデータとして読み出すことによって、メモリセルが別の排他的論理和演算回路を有することなく、Exclusive-OR型機能メモリのメモリセルのデータ蓄積部に書き込まれたデータと一致検索用のデータとの排他的論理和を演算することができるようになる。なお、一方、データの真の値を０とするとともに偽の値を１とした負論理で表現すると、すなわち、データ蓄積部に負論理で書き込まれたデータを負論理で読み出しても、同様の結果が得られる。また、本明細書中、データ蓄積部に正論理で書き込まれたデータを正論理で読み出すこと及びデータ蓄積部に負論理で書き込まれたデータを負論理で読みだすことを「肯定的に読み出す」と定義し、データ蓄積部に正論理で書き込まれたデータを負論理で読み出すこと及びデータ蓄積部に負論理で書き込まれたデータを正論理で読みだすことを「否定的に読み出す」と定義する。
【００２２】
本発明のうち請求項２記載のExclusive-OR型機能メモリは、
真の値又は偽の値のデータを記憶する複数のメモリセルを有する記憶手段と、
前記メモリセルに記憶すべきデータ及び一致検索用のデータが外部から入力されるデータ入力手段と、
前記メモリセルに記憶すべきデータを、前記メモリセルに個々に又は複数まとめて正論理又は負論理で書き込むデータ書込み手段と、
前記メモリセルから、記憶されたデータを個々に又は複数まとめて読み出すデータ読出し手段と、
記憶されたデータを読み出すべきメモリセル及び記憶すべきデータを書き込むべきメモリセルを選択する読出し及び書き込み選択手段と、
前記データ読出し手段によって読み出されたデータを外部に出力するデータ出力手段とを具え、
前記メモリセルの各々が、記憶すべきデータが書き込まれるデータ蓄積部を有し、
前記データ読出し手段が、
前記一致検索用のデータが１であるとともに前記データ蓄積部に書き込まれたデータが０である場合には、前記メモリセルからの読出しデータを０とし、前記一致検索用のデータが１であるとともに前記データ蓄積部に書き込まれたデータが１である場合には、前記メモリセルからの読出しデータを１とし、
前記一致検索用のデータが０であるとともに前記データ蓄積部に書き込まれたデータが０である場合には、前記メモリセルからの読出しデータを１とし、前記一致検索用のデータが０であるとともに前記データ蓄積部に書き込まれたデータが１である場合には、前記メモリセルからの読出しデータを０とし、
前記データ蓄積部を、分極方向に応じた真の値又は偽の値のデータを保持する強誘電体又は誘電体としたことを特徴とするものである。
【００２３】
この場合も、メモリセルが別の排他的論理和演算回路を有することなく、Exclusive-OR型機能メモリのメモリセルのデータ蓄積部に書き込まれたデータと一致検索用のデータとの排他的論理和を演算することができるようになり、データ蓄積部７（図１）を、分極方向に応じた真の値又は偽の値のデータを保持する強誘電体又は誘電体とすることによって、分極方向に応じて真及び偽の値のデータを決定して１ビットの記憶を行うことができる。
【発明を実施するための最良の形態】
【００２４】
本発明によるExclusive-OR型機能メモリ及びその読出し方法の実施の形態を、図面を参照して詳細に説明する。図２は、本発明によるExclusive-OR型機能メモリを示す図である。このExclusive-OR型機能メモリは、真の値又は偽の値のデータを記憶する行列配置された複数のメモリセル及びその周辺部（いずれも図示せず）を有する記憶部９と、制御部１０、ワード処理部１１及びデータ処理部１２を有する一致／不一致検出可能な処理部１３とを具える。
【００２５】
制御部１０は、外部の計算機及び／又は各種の機器（いずれも図示せず）に接続した制御線１４を通じた制御命令によって、記憶部９、ワード処理部１１及びデータ処理部１２の動作を制御する。
【００２６】
ワード処理部１１は、アドレスデコーダ部１１ａ、演算結果処理部１１ｂ及び演算結果レジスタ１１ｃを有する。アドレスデコーダ部１１ａは、外部の計算機及び／又は各種の機器（いずれも図示せず）に接続したアドレス線１５を通じてアドレスを受け取り、これを復号化して記憶部９のメモリセル（図示せず）のアドレスが選択できるようにする。演算結果レジスタ１１ｃは、記憶部９のメモリセルのアドレス方向から一度に、又は複数に分けて、又は単数でワード単位で得られた排他的論理和の演算結果（この演算については後に説明する。）を保持し、演算結果処理部１１ｂから参照できるようにする。演算結果処理部１１ｂは、演算結果の読出しの変化を検出し又はカウントして、演算結果レジスタ１１ｃに得られた一致／不一致の演算結果を、一致検出回路（図示せず）を用いて全体の一致／不一致の答えを得る。その答えは、演算結果線１６を通じてデータ処理部１２に伝送され、データ線１７を通じて外部に答えを送る。
【００２７】
データ処理部１２は、データレジスタ１２ａ及びマスクレジスタ１２ｂを有し、データ線１７から入力されたデータ及びマスクをデータレジスタ１２ａ及びマスクレジスタ１２ｂにそれぞれセットし、書込みの際にはデータ選択線（図示せず）の対をデータに対応させてワード処理部１１からのアドレス選択信号に従って書込み動作を行う。
【００２８】
図３は、本発明による他のExclusive-OR型機能メモリを示す図である。このExclusive-OR型機能メモリは、一致／不一致検出可能であり、排他的論理和(Exclusive-OR)、すなわち、modulo-2を法とする加法の演算結果を処理し、一致／不一致の箇所の特定やそのアドレスや参照ポインタを答えるなどの複雑な動作が可能である。
【００２９】
このExclusive-OR型機能メモリも、真の値又は偽の値のデータを記憶する行列配置された複数のメモリセル及びその周辺部（いずれも図示せず）を有する記憶部１８と、制御部１９、ワード処理部２０及びデータ処理部２１を有する一致／不一致検出可能な処理部２２とを具える。なお、記憶部１８及び制御部１９は、図２の記憶部９及び制御部１０と同様な構成及び動作を有する。
【００３０】
ワード処理部２０は、アドレスデコーダ／アドレスエンコーダ部２０ａ、演算結果処理部２０ｂ及び演算結果レジスタ２０ｃを有する。アドレスデコーダ／アドレスエンコーダ部２０ａは、外部の計算機及び／又は各種の機器（いずれも図示せず）に接続したアドレス線２３を通じてアドレスを受け取り、これを復号化して記憶部１８のメモリセルのアドレスが選択できるようにするとともに、アドレスに対応した参照ポインタを得てそれを符号化して、アドレス線２３又は演算結果線２４を通じたデータ線２５から答えを送り出す。また、演算結果処理部２０ｂは、演算結果レジスタ２０ｃの演算結果を分離して、一致／不一致のアドレスを特定する。
【００３１】
データ処理部２１は、データレジスタ２１ａ及びマスクレジスタ２１ｂを有する。データレジスタ部２１ａはｎ個のデータレジスタ２１ａ−１〜２１ａ−ｎを有し、記憶部１８の被演算データを読み出し、それを交換し又は変更する。
【００３２】
図４は、本発明によるExclusive-OR型機能メモリの第１の記憶部を示す図である。この記憶部は、図２及び３の記憶部９及び１８に対応するものであり、行列配置された複数のメモリセル２６と、ワード処理部１１（図２）又は２０（図３）から受け取ったアドレス選択信号に応じてアドレスを選択するアドレス選択部２７と、このアドレス選択部２７の選択に応じてメモリセル２６に書き込むべきデータを書き込むデータ書込み部２８と、後に説明するような演算結果及びアドレスを読み出す演算結果／アドレス読出し部２９とを有する。なお、メモリセル２６に書き込むべきデータはデータ処理部１２（図２）又は２１（図３）から供給され、演算結果／アドレス読出し部２９は、メモリセル２６を１ワード単位として後に説明するようにして演算することによって変化を一度に、又は複数に分けて、又は単数で検出し又はカウントして演算結果をアドレスの集合として集め、それをワード処理部１１（図２）又は２０（図３）に供給する。
【００３３】
図５は、本発明によるExclusive-OR型機能メモリの第２の記憶部を示す図である。図２及び３の記憶部９及び１８に対応するこの記憶部は、行列配置された複数のメモリセル３０と、ワード処理部１１（図２）又は２０（図３）から受け取ったアドレス選択信号に応じてアドレスを選択するアドレス選択部３１と、このアドレス選択部３１の選択に応じてメモリセル３０に書き込むべきデータを書き込むデータ書込み部３２と、後に説明するような演算結果及びデータを読み出す演算結果／データ読出し部３３とを有する。なお、メモリセル３０に書き込むべきデータもデータ処理部１２（図２）又は２１（図３）から供給され、演算結果／データ読出し部３３は、メモリセル２６を各１ワードを構成するビット単位の集合として変化を一度に、又は複数に分けて、又は単数で検出し又はカウントして演算結果を集め、それをデータ処理部１２（図２）又は２１（図３）に供給する。
【００３４】
図６は、本発明によるExclusive-OR型機能メモリの第３の記憶部を示す図である。図２及び３の記憶部９及び１８に対応するこの記憶部は、行列配置された複数のメモリセル３４と、ワード処理部１１（図２）又は２０（図３）から受け取ったアドレス選択信号に応じてアドレスを選択するアドレス選択部３５と、このアドレス選択部３５の選択に応じてメモリセル３４に書き込むべきデータを書き込むデータ書込み部３６と、後に説明するような演算結果及びアドレスを読み出す演算結果／データ読出し部３７と、後に説明するような演算結果及びデータを読み出す演算結果／データ読出し部３８とを有する。なお、メモリセル３４に書き込むべきデータもデータ処理部１２（図２）又は２１（図３）から供給され、演算結果／アドレス読出し部３７は、メモリセル２６を１ワード単位として後に説明するようにして演算することによって変化を一度に、又は複数に分けて、又は単数で検出し又はカウントして演算結果をアドレスの集合として集め、それをワード処理部１１（図２）又は２０（図３）に供給し、演算結果／データ読出し部３８は、メモリセル２６を各１ワードを構成するビット単位の集合として変化を一度に、複数に分けて又は単数で検出し又はカウントして演算結果を集め、それをデータ処理部１２（図２）又は２１（図３）に供給する。この場合、演算結果／アドレス読出し部３７及び演算結果／データ読出し部３８を設けることによって、複雑な演算結果の高速処理を可能にする。
【００３５】
図７は、図５の記憶部の一例を示す図であり、これを用いて本発明によるExclusive-OR型機能メモリ及びその読出し方法の動作の一例を説明する。なお、図７において、図５と同様の符号を用いるが、簡単のためにメモリセル３０を一つのみ示した。
【００３６】
本例では、メモリセル３０は、ＮＭＯＳトランジスタ３９と、それに接続した導線を巻回することによって磁気回路を構成する（例えば、集積化するには環状に磁化できる構造を有する）強磁性体４０（例えば、パーマロイ）とを有する。
【００３７】
データ書込み部３２は、単数又は複数のメモリセル３０からなる行又は列をワードと呼ばれる単位としてこれに付けられた番地に書込みを行うに当たり、単数又は複数のビットからなるデータを準備し、記憶すべきメモリセル３０をアドレス選択部３１によって選択し、そのデータを、ＮＭＯＳトランジスタ３９のソース及びドレインが接続されたデータ線４１ａ及び４１ｂを通じて強磁性体４０に書き込む。また、読出し動作の際には、データ書込み部３２をデータ読出しの電源として、電流をデータ線４１ａ及び４１ｂに供給し、読み出す対象となる単数又は複数のメモリセル３０を選択し、読出し動作に備える。
【００３８】
演算結果／データ読出し部３３は、強磁性体４０に巻回した導線を非反転入力部及び反転入力部に接続するとともに出力部をワード処理部１１（図２）又は２０（図３）に接続したセンスアンプ４２を有する。
【００３９】
メモリセル３０を使用するに先立って、次の表のように初期化する。
【００４０】
【表１】
2006120321.tif 000003
【００４１】
なお、この場合、データの真の値を１とするとともに偽の値を０とした正論理で表現する。また、通常、メモリセル３０の動作は、強磁性体４０に書き込んだデータの論理と読み出したときのデータの論理が同一になるものとして説明する。この正論理で表現されたデータを、次の表に示すような書込み動作で強磁性体４０に記憶する。
【００４２】
【表２】
2006120321.tif 000004
【００４３】
なお、読出し動作については、メモリセル３０に記憶されたデータが読み出せるように書込み動作の逆に強磁性体４０を駆動し、次の表のようにして行う。
【００４４】
【表３】
2006120321.tif 000005
【００４５】
また、データの読出しには破壊読出しと非破壊読出しとがあるが、破壊読出しを行うと読出しと同時に記憶内容が破壊されるので、読出し後には再書込みを行って記憶内容を復元する必要がある。このような再書込みは次の表のようにして行う。
【００４６】
【表４】
2006120321.tif 000006
【００４７】
次に、Exclusive-OR演算動作について説明する。先ず、強磁性体４０に書き込まれたデータを肯定的に読み出す場合、すなわち、強磁性体４０に正論理で書き込まれたデータを正論理のデータとして読み出す場合、次の表のようになる。
【００４８】
【表５】
2006120321.tif 000007
【００４９】
なお、破壊読出し動作の場合、次の表のような再書込み動作が必要となる。
【００５０】
【表６】
2006120321.tif 000008
【００５１】
次に、強磁性体４０に書き込まれたデータを否定的に読み出す場合、すなわち、強磁性体４０に正論理で書き込まれたデータを負論理のデータとして読み出す場合、次の表のようになる。
【００５２】
【表７】
2006120321.tif 000009
【００５３】
なお、破壊読出し動作の場合、次の表のような再書込み動作が必要となる。
【００５４】
【表８】
2006120321.tif 000010
【００５５】
一方、強磁性体４０に記憶された内容を肯定的に読み出す方法と否定的に読み出す方法とを組み合わせた動作は、次の表に示したExclusive-OR演算と同一である。
【００５６】
【表９】
2006120321.tif 000011
【００５７】
したがって、これら肯定的に読み出す方法と否定的に読み出す方法を組み合わせることによって、Exclusive-OR演算を行うことができる。その結果、読出しデータ（演算データ）の真偽に応じて肯定的に読み出す方法又は否定的に読み出す方法が行われ、結果的にExclusive-OR演算がデータ処理部（図示せず）に出力される。
【００５８】
次に、強磁性体を用いた場合の肯定的な読出し及び否定的な読出しについて、図８を用いて更に具体的に説明する。読出しデータが真の場合、参照電源４３ａを有するデータ読出し部４４ａ（図８Ｂ）を選択し、端子ａ（図８Ａ）を端子ａ’（図８Ｂ）に接続するとともに端子ｂ（図８Ａ）を端子ｂ’（図８Ｂ）に接続する。強磁性体４０’（図８Ａ）が矢印Ａ方向に磁化されている場合、その逆方向の矢印Ｂ方向に駆動することによって磁束変化が生じ、それに対して、強磁性体４０’（図８Ａ）が矢印Ｂ方向に磁化されている場合、その磁化方向と同一の矢印Ｂ方向に駆動することによって磁束変化が生じることなく、これによって、誘導される起電力を肯定的に検出器４５（図８Ａ）によって“１”，“０”の値を検出する。
【００５９】
それに対して、読出しデータが偽の場合、参照電源４３ｂ（図８Ｃ）を有するデータ読出し部４４ｂ（図８Ｃ）を選択し、端子ａ（図８Ａ）を端子ａ”（図８Ｃ）に接続するとともに端子ｂ（図８Ａ）を端子ｂ”（図８Ｃ）に接続する。強磁性体４０’（図８Ａ）が矢印Ａ方向に磁化されている場合、その磁化方向と同一の矢印Ａ方向に駆動することによって磁束変化が生じることなく、それに対して、強磁性体４０’（図８Ａ）が矢印Ｂ方向に磁化されている場合、その逆方向の矢印Ａ方向に駆動することによって磁束変化が生じ、これによって、誘導される起電力を否定的に検出器４５（図８Ａ）によって“０”，“１”の値を検出する。
【００６０】
このようにして、磁化方向Ａ，Ｂを肯定的読出し方法又は否定的読出し方法によって読み出すことによって、Exclusive-OR演算と同一結果が得られる。
【００６１】
次に、図７の記憶部の動作を更に具体的に説明する。ここでは、データの真の値を“1"、例えば５Ｖとし、偽の値を“０”、例えば０Ｖとした正論理で表現する。最初に記憶動作について説明すると、強磁性体４０、すなわち、メモリセル３０にデータを記憶するに当たり、データ書込み部３２に理論値１、例えば、５Ｖが与えられ、これによってデータ書込み部３２は、データ線４１ａ及び４１ｂにそれぞれ５Ｖ及び０Ｖの電圧を付与し、アドレス選択部３１がメモリセル３０を選択する前に又はメモリセル３０を選択するのと同時に、データ線４１ａ及び４１ｂにデータとなる電圧又は電荷を加える。
【００６２】
アドレス選択部３１によってアドレスを選択するために、ＮＭＯＳトランジスタ３９のゲートに、例えば５Ｖの電圧が印加されると、ＮＭＯＳトランジスタ３９がオンになり、そのソース−ドレイン間に電流が流れ、データ線４１ａ及び４１ｂを通して強磁性体４０に供給された電圧又は電流の方向に応じた磁気が、例えば論理値１に対応する矢印Ｃ方向に発生する。
【００６３】
それに対して、ＮＭＯＳトランジスタ３９をオフにすると、強磁性体４０のヒステリシス特性によって強磁性体４０には矢印Ｃ方向の残留磁束が残り、結果的には論理値１のデータが記憶される。
【００６４】
同様に、論理値０の記憶は、データ書込み部３２によってデータ線４１ａ及び４１ｂにそれぞれ０Ｖ及び５Ｖの電圧を付与し、論理値１の書込みと逆の論理値０に対応したＢ方向に強磁性体４０が磁化されるように電圧又は電荷を加える。これによって、強磁性体４０には論理値０に対応した矢印Ｄ方向の残留磁束によるデータが記憶される。
【００６５】
次に、読出し動作について説明する。データを肯定的に読み出す場合、記憶したデータと同一の値が読み出せるようにするために、書込みを行ったデータの電圧又は電流の方向と逆に駆動する。例えば、データ線４１ａ及び４１ｂに０Ｖ及び５Ｖをそれぞれ付与し、読出しと同時にアドレス選択してＮＭＯＳトランジスタ３９をオンにし、強磁性体４０を駆動する。これによって、センスアンプ４２によって記憶内容を検出することができる。
【００６６】
例えば、論理値１が残留磁束として矢印Ｃ方向に記憶されている場合には、この磁束を変化させることができるように矢印Ｄ方向に磁化させると、その変化が電磁誘導によって起電力として誘起される。その変化をセンスアンプ４２で検出することによって記憶内容の論理値１が読み出される。
【００６７】
同様に、論理値０が記憶されている場合には、例えば、残留磁束が矢印Ｄ方向に記憶されているので、読出しのために矢印Ｄ方向に磁束を変化させても残留磁束の変化がなく、したがって、誘起される起電力もなく、センスアンプ４２からは論理値０が得られる。ここでは、強磁性体４０の残留磁束が破壊されてしまうまで磁束を変化させて読み出す方法を破壊読出し方法といい、残留磁束が破壊されない程度、例えば、破壊読出しに必要な電流又は電圧の約１／２で駆動して読み出した後、磁束をなくすと元の記憶状態に復元する読出し方法を非破壊読出し方法という。
【００６８】
なお、データを否定的に読み出す場合、書込み方向と同一方向に、例えば、論理値１を記憶した矢印Ｃ方向に強磁性体４０を駆動すると磁束の変化がなく、センスアンプ４２は、記憶データの否定の論理値０を出力する。それに対して、記憶データの論理値０に相当する残留磁束が例えば矢印Ｄ方向に記憶されている場合、磁束の変化が生じ、センスアンプ４２からは記憶データの否定の論理値１が得られる。
【００６９】
図９は、図４の記憶部の一例を示す図である。なお、図９において、図４と同様の符号を用いるが、メモリセル２６を一つのみ示した。本例では、メモリセル２６は、ＮＭＯＳトランジスタ４６と、それに接続した導線を巻回することによって磁気回路を構成する強磁性体４７とを有する。データ書込み部２８は、データ書込み部３２（図７）と同様の構成及び動作を有する。演算結果／アドレス読出し部２９は、強磁性体４７に巻回した導線を非反転入力部及び反転入力部に接続したセンスアンプ４８を有し、その非反転入力部をデータ書込み部２８に接続し、その反転出力部を参照電源４９に接続し、その出力部をワード処理部１１（図２）又は２０（図３）に接続する。
【００７０】
図１０は、図６の記憶部の一例を示す図である。なお、図１０において、図６と同様の符号を用いるが、メモリセル３４を一つのみ示した。本例では、メモリセル３４は、ＮＭＯＳトランジスタ４７（図９）に対応するＮＭＯＳトランジスタ５０と、強磁性体４８（図９）に対応する強磁性体５１とを有する。演算結果／アドレス読出し部３７は、センスアンプ４２（図７）に対応するセンスアンプ５２と、参照電源４３（図７）に対応する参照電源５３とを有する。また、演算結果／データ読出し部３８は、センスアンプ４９（図９）に対応するセンスアンプ５４を有する。
【００７１】
図１１は、図５の記憶部の一例を示す図である。なお、図１１において、図５及び９と同様の符号を用いるが、メモリセル３０を一つのみ示した。本例では、メモリセル３０は、ＮＭＯＳトランジスタ４７（図９）に対応するＮＭＯＳトランジスタ５５と、強磁性体薄膜５６（例えば、パーマロイ）とを有する。
【００７２】
この場合、磁化ベクトルの回転によって磁束を反転させるようにしている。したがって、第１の値（例えば、１）を、第１の磁化ベクトルＥに対応させるとともに、第２の値（例えば、０）を、第１の磁化ベクトルＥの向きと正反対の向きを有する第２の磁化ベクトルＦに対応させて、１ビットの記憶を行う。
【００７３】
図１２は、図４の記憶部の他の例を示す図である。なお、図１２において、図４及び７と同様の符号を用いるが、メモリセル２６を一つのみ示した。本例では、メモリセル２６は、ＮＭＯＳトランジスタ４７（図９）に対応するＮＭＯＳトランジスタ５７と、不揮発性の強磁性体５８と、その記憶を読み出す磁気抵抗素子５９とを有する。
【００７４】
このような記憶部は、不揮発性の磁気ヒステリシスを利用するものであり、駆動電流又は電圧を制御することによって破壊読出し、非破壊読出し又はその両方を選択できるようにして実現する。なお、破壊読出しを行った場合には再書込みを行う。なお、読出し及び書込み動作については、図７〜１２で説明した記憶部と同様にして行われる。
【００７５】
図１３は、図４の記憶部の他の例を示す図である。なお、図１２において、図４及び７と同様の符号を用いるが、メモリセル２６を一つのみ示した。本例では、メモリセル２６は、ＮＭＯＳトランジスタ４７（図９）に対応するＮＭＯＳトランジスタ６０と、不揮発性でヒステリシス特性を有する強誘電体６１とを有する。
【００７６】
次に、強誘電体を用いた場合の肯定的な読出し及び否定的な読出しについて、図１４を用いて更に具体的に説明する。読出しデータが真の場合、参照電源６２ａ（図１４Ｂ）を有するデータ読出し部６３ａ（図１４Ｂ）を選択し、端子ｃ（図１４Ａ）を端子ｃ’（図１４Ｂ）に接続するとともに端子ｄ（図１４Ａ）を端子ｄ’（図１４Ｂ）に接続し、強誘電体６１’（図１４Ａ）の電位と参照電源６２ａ（図１４Ｂ）の電位とを比較し、その差又は等価性を検出器６４ａ（図１４Ｂ）によって肯定的に検出する。
【００７７】
それに対して、読出しデータが偽の場合、参照電源６２ｂ（図１４Ｃ）を有するデータ読出し部６３ｂ（図１４Ｃ）を選択し、端子ｃ（図１４Ａ）を端子ｃ”（図１４Ｃ）に接続するとともに端子ｄ（図１４Ａ）を端子ｄ”（図１４Ｃ）に接続し、強誘電体６１’（図１４Ａ）の電位と参照電源６２ｂ（図１４Ｃ）の電位とを比較し、その差又は等価性を検出器６４ｂ（図１４Ｃ）によって否定的に検出する。
【００７８】
このようにして、強誘電体６１’を肯定的読出し方法又は否定的読出し方法によって読み出すことによって、Exclusive-OR演算と同一結果が得られる。なお、図１３の記憶部の読出し及び書込み動作は、図７で説明したものと同様にして行われる。すなわち、読出し動作の際には、演算結果／アドレス読出し部２９に演算データを設定する。例えば、“０”（肯定的読出し）を設定すると、一方のデータ線がセンスアンプ４２の第１のノードに結合され、他方のデータ線がセンスアンプ４２の第２のノードに結合される。
【００７９】
次いで、参照電源４３のスイッチをオンにして比較電位Ｖrefを発生させるとともに、一方のデータ線と他方のデータ線との平衡をとることによって、読出し経路の平衡をとる。次いで、メモリセル２６のワードライン及び参照電源４３のスイッチをオンにして、演算を行う。次いで、センスアンプ４２のスイッチをオンにして演算結果を読み出し、センスアンプの第１及び第２のノードの状態を確定した後、演算結果を出力する。同様にして、演算データを“１”に設定して否定的に読み出す。また、書込み動作も読出し動作と同様にして行われる。
【００８０】
図１５は、図５の記憶部の別の例を示す図である。なお、図１５において、図５と同様の符号を用いるが、メモリセル３０を一つのみ示した。本例では、メモリセル３０は、ＮＭＯＳトランジスタ６５ａ及び６５ｂと、揮発性でヒステリシス特性を有する半導体のFlip/Flop からなるデータ蓄積部６６とを具える。なお、図１５の記憶部の読出し及び書込み動作は、図７で説明したものと同様にして行われる。
【００８１】
本実施の形態によれば、一致検索用のデータの真又は偽の値に応じてデータ蓄積部に書き込まれたデータを正論理又は負論理のデータとして読み出すことによって、メモリセルが別の排他的論理和演算回路を有することなく、Exclusive-OR型機能メモリのメモリセルのデータ蓄積部に書き込まれたデータと一致検索用のデータとの排他的論理和を演算することができるようになる。
【００８２】
本発明は、上記実施の形態に限定されるものではなく、幾多の変更及び変形が可能である。例えば、上記実施の形態では、肯定的に読み出すに当たり、強磁性体、強誘電体等に正論理で書き込まれたデータを正論理で読み出した場合についてのみ説明したが、強磁性体、強誘電体等に負論理で書き込まれたデータを負論理で読み出すこともできる。また、否定的に読み出すに当たり、強磁性体、強誘電体等に正論理で書き込まれたデータを負論理で読み出した場合についてのみ説明したが、強磁性体、強誘電体等に正論理で書き込まれたデータを負論理で読み出すこともできる。
【図面の簡単な説明】
【００８３】
【図１】本発明によるExclusive-OR型機能メモリの態様を示す図である。
【図２】本発明によるExclusive-OR型機能メモリの実施の形態を示す図である。
【図３】本発明によるExclusive-OR型機能メモリの他の実施の形態を示す図である。
【図４】本発明によるExclusive-OR型機能メモリの第１の記憶部を示す図である。
【図５】本発明によるExclusive-OR型機能メモリの第２の記憶部を示す図である。
【図６】本発明によるExclusive-OR型機能メモリの第３の記憶部を示す図である。
【図７】図５の記憶部の一例を示す図である。
【図８】強磁性体を用いた場合の肯定的な読出し及び否定的な読出しについて説明するための図である。
【図９】図４の記憶部の一例を示す図である。
【図１０】図６の記憶部の一例を示す図である。
【図１１】図５の記憶部の他の例を示す図である。
【図１２】図４の記憶部の他の例を示す図である。
【図１３】図４の記憶部の他の例を示す図である。
【図１４】強誘電体を用いた場合の肯定的な読出し及び否定的な読出しについて説明するための図である。
【図１５】図５の記憶部の別の例を示す図である。
【符号の説明】
【００８４】
１  記憶手段
２，２６，３０，３４  メモリセル
３  データ入力手段
４  読出し及び書込み選択手段
５  データ書込み手段
６  データ読出し手段
７  データ蓄積部
８  データ出力手段
９，１８  記憶部
１０，１９  制御部
１１，２０  ワード処理部
１１ａ  アドレスデコーダ部
１１ｂ，２０ｂ  演算結果処理部
１１ｃ，２０ｃ  演算結果レジスタ
１２，２１  データ処理部
１２ａ，２１ａ−１，２１−２，．．．，２１ａ−ｎ  データレジスタ
１２ｂ，２１ｂ  マスクレジスタ
１３，２２  処理部
１４  制御線
１５，２３  アドレス線
１６，２４  演算結果線
１７，２５，４１ａ，４１ｂ  データ線
２０ａ  アドレスデコーダ／アドレスエンコーダ部
２７，３１，３５  アドレス選択部
２８，３２，３６  データ書込み部
２９，３７  演算結果／アドレス読出し部
３３，３８  演算結果／データ読出し部
３９，４６，５０，５５，５７，６０  ＮＭＯＳトランジスタ
４０，４０’，４７，５１，５８  強磁性体
４２，４８，５２，５４  センスアンプ
４３ａ，４３ｂ，４９，５３，６２ａ，６２ｂ  参照電源
４４ａ，４４ｂ，６３ａ，６３ｂ  データ読出し部
４５，６４ａ，６４ｂ  検出器
５６  強磁性体薄膜
５９  磁気抵抗素子
６１，６１’  強誘電体
ａ，ｂ，ｃ，ｄ，ａ’，ｂ’，ｃ’，ｄ’，ａ”，ｂ”，ｃ”，ｄ”  端子
【図１】
2006120321.tif 000012
【図２】
2006120321.tif 000013
【図３】
2006120321.tif 000014
【図４】
2006120321.tif 000015
【図５】
2006120321.tif 000016
【図６】
2006120321.tif 000017
【図７】
2006120321.tif 000018
【図８】
2006120321.tif 000019
【図９】
2006120321.tif 000020
【図１０】
2006120321.tif 000021
【図１１】
2006120321.tif 000022
【図１２】
2006120321.tif 000023
【図１３】
2006120321.tif 000024
【図１４】
2006120321.tif 000025
【図１５】
2006120321.tif 000026