(57)【特許請求の範囲】
【請求項１】
記憶されたデータと，入力されるデータとを比較し，一致するデータが記憶されたアドレス情報を出力するコンテンツ・アドレッサブル・メモリにおいて，
行方向に延びるワード線と列方向に延びるビット線との交差位置にマトリクス状に配置され，一対のインバータを交差接続したラッチ回路を有するメモリセルと，
列方向に延びるサーチバス及び行方向に延びるマッチラインと，
各メモリセルに設けられ，前記サーチバスのデータとメモリセルに記憶されたデータとを比較し，比較結果をマッチラインに出力する比較回路と，
列方向に配置された一対の前記メモリセルの間に設けられ，第１のトランスファゲートと，前記メモリセルのデータを一時的に記憶するキャパシタを有するトランスファセルと，第２のトランスファゲートとを有するトランスファユニットとを有し，
前記一対のメモリセルの一方のデータを前記第１または第２のトランスファゲートを介して前記トランスファセルに記憶し，その後，当該記憶されたトランスファセルのデータを前記第２または第１のトランスファゲートを介して前記一対のメモリセルの他方に記憶し，前記トランスファセルから前記メモリセルにデータが転送される時，前記メモリセルのラッチ回路を一時的にニュートラル状態にした後，当該トランスファセルを当該メモリセルに接続し，当該当該メモリセルが転送データをラッチすることを特徴とするコンテンツ・アドレッサブル・メモリ。
【請求項２】
請求項１において，
前記メモリセルのラッチ回路に，当該ラッチ回路の一対のノードを短絡するショート回路と，当該ラッチ回路のラッチ動作の活性化を制御する活性化回路とを有し，
前記トランスファセルからメモリセルにデータが転送される時，前記活性化回路が前記ラッチ回路のラッチ動作を一時的に非活性化し，前記ショート回路が前記一対のノードを短絡することを特徴とするコンテンツ・アドレッサブル・メモリ。
【請求項３】
記憶されたデータと，入力されるデータとを比較し，一致するデータが記憶されたアドレス情報を出力するコンテンツ・アドレッサブル・メモリにおいて，
行方向に延びるワード線と列方向に延びるビット線との交差位置にマトリクス状に配置され，一対のインバータを交差接続したラッチ回路を有するメモリセルと，
列方向に延びるサーチバス及び行方向に延びるマッチラインと，
各メモリセルに設けられ，前記サーチバスのデータとメモリセルに記憶されたデータとを比較し，比較結果をマッチラインに出力する比較回路と，
列方向に配置された隣接する前記メモリセルの間に，第１及び第２のトランスファゲートを介して設けられ，前記メモリセルのデータを一時的に記憶するキャパシタを有するトランスファセルと，
前記第１及び第２のトランスファゲートを制御する第１及び第２のトランスファゲート信号を駆動するトランスファゲートドライバとを有し，
前記トランスファゲートドライバは，第１または第２のトランスファゲート信号を駆動して第１または第２のトランスファゲートを導通し，前記隣接するメモリセルのデータを前記トランスファセルに転送し，その後，第１または第２のトランスファゲート信号を駆動して第１または第２のトランスファゲートを導通し，前記トランスファセルのデータを前記メモリセルに転送し，前記トランスファセルから前記メモリセルにデータが転送される時，前記メモリセルのラッチ回路を一時的にニュートラル状態にした後，当該トランスファセルを当該メモリセルに接続し，当該当該メモリセルが転送データをラッチすることを特徴とするコンテンツ・アドレッサブル・メモリ。
【請求項４】
請求項３において，
複数のメモリセルのデータを，アドレスがより上位（または下位）のワード線に接続される複数のメモリセルにそれぞれ転送する時，前記トランスファゲートドライバは，第１（または第２）のトランスファゲート信号を駆動して第１（または第２）のトランスファゲートを導通し，それにより前記メモリセルのデータを前記トランスファセルに転送し，その後，第２（または第１）のトランスファゲートを導通して前記トランスファセルのデータを隣接するメモリセルに転送することを特徴とするコンテンツ・アドレッサブル・メモリ。
【請求項５】
請求項３において，
所定のアドレスに対応するワード線を境にして，当該ワード線よりアドレスが上位（または下位）のワード線に接続される複数のメモリセルのデータを，アドレスがより上位（または下位）のワード線に接続される複数のメモリセルにそれぞれ転送する時，
前記トランスファゲートドライバは，第１（または第２）のトランスファゲート信号を駆動して第１（または第２）のトランスファゲートを導通し，それにより前記メモリセルのデータを前記トランスファセルに転送し，その後，前記所定のアドレスより下位（または上位）の第１（または第２）のトランスファゲートを導通して前記トランスファセルのデータをメモリセルに戻し，前記所定のアドレスより上位（または下位）の第２（または第１）のトランスファゲートを導通して前記トランスファセルのデータをメモリセルに転送することを特徴とするコンテンツ・アドレッサブル・メモリ。
【請求項６】
請求項３において，
前記メモリセルのラッチ回路に，当該ラッチ回路の一対のノードを短絡するショート回路と，当該ラッチ回路のラッチ動作の活性化を制御する活性化回路とを有し，
前記トランスファセルからメモリセルにデータが転送される時，前記活性化回路が前記ラッチ回路のラッチ動作を一時的に非活性化し，前記ショート回路が前記一対のノードを短絡することを特徴とするコンテンツ・アドレッサブル・メモリ。
【請求項７】
記憶されたエントリデータと，入力されるエントリキーとを比較し，一致するデータが記憶されたアドレス情報を出力するコンテンツ・アドレッサブル・メモリにおいて，
行方向に延びるワード線と列方向に延びるビット線との交差位置にマトリクス状に配置され，一対のインバータを交差接続したラッチ回路を有し，前記エントリデータを記憶するメモリセルと，
各メモリセルに設けられ，前記入力されるエントリキーと前記メモリセルに記憶されたエントリデータとを比較し，比較結果を出力する比較回路と，
列方向に配置された隣接する前記メモリセルの間に設けられ，前記メモリセルのデータを一時的に記憶するキャパシタを有するトランスファセルとを有し，
複数の前記エントリデータを列方向に隣接するメモリセルにそれぞれ転送する時，前記メモリセルのエントリデータを前記トランスファセルに一旦転送し，その後，当該トランスファセルのエントリデータを転送先のメモリセルに転送し，前記トランスファセルから前記メモリセルにデータが転送される時，前記メモリセルのラッチ回路を一時的にニュートラル状態にした後，当該トランスファセルを当該メモリセルに接続し，当該当該メモリセルが転送データをラッチすることを特徴とするコンテンツ・アドレッサブル・メモリ。
【請求項８】
請求項７において，
前記メモリセルのラッチ回路に，当該ラッチ回路の一対のノードを短絡するショート回路と，当該ラッチ回路のラッチ動作の活性化を制御する活性化回路とを有し，
前記トランスファセルからメモリセルにデータが転送される時，前記活性化回路が前記ラッチ回路のラッチ動作を一時的に非活性化し，前記ショート回路が前記一対のノードを短絡することを特徴とするコンテンツ・アドレッサブル・メモリ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は，コンテンツ・アドレッサブル・メモリ（Contents Addressable Memory, CAM)に関し，特に，メモリセルに記憶されたエントリデータのセルアレイ内での入れ替えを高速化したコンテンツ・アドレッサブル・メモリに関する。
【０００２】
【従来の技術】
コンテンツ・アドレッサブル・メモリ（以下単にＣＡＭ）は，連想記憶メモリとも称され，入力されるデータに対してその入力データが格納されたアドレスを出力する。図１は，通常のメモリとＣＡＭの違いを説明する図であるが，通常のメモリの場合は，アドレスを入力するとメモリ内のそのアドレスに格納されているデータが出力される。それに対して，ＣＡＭは，データを入力するとそのデータが格納されているアドレスが出力される。
【０００３】
かかるＣＡＭは，近年のインターネットの普及に伴い，その需要が拡大している。即ち，一般的なＣＡＭの用途として，ネットワークサーバが転送データパケットに埋め込まれたＩＰアドレスを参照し，その転送先データを検出する場合，ＣＡＭにＩＰアドレスをデータとして入力し，それに対応するアドレスを読み出し，その読み出されたアドレスに基づいて転送先データを検出することが行われている。
【０００４】
ＣＡＭは，通常のメモリと同様にメモリセルアレイを内蔵する。そして，通常のメモリと同様に，アドレスを入力し所望のデータをメモリセルアレイ内に書き込み，同様に読み出すことができる。それに加えて，ＣＡＭは，エントリキーと呼ばれる入力データとメモリセルアレイ内に記憶されているエントリデータと呼ばれる記憶データとを比較する比較手段を有し，両者が一致したメモリセルのアドレスを一致アドレスとして出力する。
【０００５】
【発明が解決しようとする課題】
ＣＡＭの特有の機能として，メモリセルアレイ内でのエントリデータの入れ替えがある。エントリデータ列に優先順位付けが必要な場合，エントリデータ列が優先順位に従ってメモリセルアレイ内に記憶される。そして，所定の頻度でその優先順位が見直される。従って，優先順位が見直された後は，その新たな優先順位でエントリデータをメモリセルアレイ内に再配列する必要がある。または，新たなエントリデータをメモリセルアレイ内のエントリデータ列内の所定のアドレスの位置に書き込む必要がある。その場合も，新たに書き込みアドレス以下に記憶されていたエントリデータを，下位あるいは上位のアドレスに転送する必要がある。
【０００６】
上記のようなエントリデータの再配列や書き込みの為には，エントリデータの転送が必要になる。かかる転送は，単純に記憶済みのエントリデータを読み出し，新たなアドレス位置に書き込むという動作を複数回繰り返すことで実現される。このようなＣＡＭの読み出し動作と書き込み動作とを繰り返すことは，ＣＡＭを搭載したシステムのパフォーマンスを著しく低下させることになり，好ましくない。
【０００７】
そこで，本発明の目的は，記憶データのセルアレイ内での転送を高速に行うことができるＣＡＭを提供することにある。
【０００８】
更に，別の本発明の目的は，記憶データのセルアレイ内での転送を，外部への読み出しや外部からの書き込みを伴わずに行うことができるＣＡＭを提供することにある。
【０００９】
【課題を解決するための手段】
上記の目的を達成するために，本発明の一つの側面は，行方向に延びるワード線と列方向に延びるビット線との交差位置にマトリクス状に配置されたメモリセルを有し，更に，列方向に延びるサーチバスと行方向に延びるマッチラインとを有し，各メモリセルに前記サーチバスのデータとメモリセルに記憶されたデータとを比較し，比較結果をマッチラインに出力する比較回路を有するコンテンツ・アドレッサブル・メモリにおいて，列方向に配置された一対の前記メモリセルの間に，第１のトランスファゲートと，前記メモリセルのデータを一時的に記憶するトランスファセルと，第２のトランスファゲートとを有するトランスファユニットを設け，前記一対のメモリセルの一方のデータを前記第１または第２のトランスファゲートを介して前記トランスファセルに記憶し，その後，当該記憶されたトランスファセルのデータを前記第１または第２のトランスファゲートを介して前記一対のメモリセルの転送先に記憶することを特徴とする。
【００１０】
上記発明において，列方向に配置された一対のメモリセルの間に，トランスファ回路を設けて，例えば，第１のトランスファゲートを開いて一対のメモリセルの一方のデータをトランスファセルに転送して一時的に記憶し，その後，第１のトランスファゲートを閉じ，第２のトランスファゲートを開いて一時記憶したトランスファセルのデータを一対のメモリセルの他方に転送，記憶するという転送動作を行う。これにより，外部にデータを読み出したり外部からそれを書き込んだりすることなく，セルアレイ内でデータを転送することができる。
【００１１】
より好ましい実施例では，列方向に隣接するメモリセルの間に前記のトランスファユニットを配置させることで，複数のメモリセルのデータを一斉にコラム方向に隣接するメモリセルに転送することができる。従って，従来のようにある行方向のメモリセルのデータを一旦読み出し，それを別の行方向のメモリセルに書き込むという動作を複数回繰り返す必要がなくなる。
【００１２】
より好ましい実施例では，前記トランスファセルは，データを蓄積するキャパシタを有し，メモリセルは一対のインバータを交差接続したラッチ回路を有し，更に，前記トランスファセルからデータが転送される時，メモリセルのラッチ回路を一時的にニュートラル状態にしてから当該転送データをラッチすることを特徴とする。この実施例では，トランスファセルが受動素子であるキャパシタで構成され駆動能力がないので，ラッチ回路で構成されるメモリセルにデータをトランスファする場合は，当該ラッチ回路のノード間をショートさせてニュートラル状態にしてから転送データをラッチするよう構成される。それによりトランスファセルに駆動素子がなくても，キャパシタの転送データをメモリセルのラッチ回路がラッチすることができる。
【００１３】
更に，別の好ましい実施例では，前記トランスファセルは，一対のインバータを交差接続したラッチ回路を有し，更に，前記トランスファセルからデータが転送される時，メモリセルのラッチ回路のラッチ動作を一時的に解除してトランスファセルのラッチ回路からメモリセルを駆動し，その後当該転送データをメモリセルがラッチすることを特徴とする。第２のトランスファゲートを開いてトランスファセルからデータを転送する時に，メモリセルのラッチ回路のラッチ動作を一時的に解除することで，トランスファセル内のラッチ回路の小さい駆動能力であってもデータを確実に転送することができる。
【００１４】
上記目的を達成するために，本発明の別の側面によれば，記憶されたデータと，入力されるデータとを比較し，一致するデータが記憶されたアドレス情報を出力するコンテンツ・アドレッサブル・メモリにおいて，
行方向に延びるワード線と列方向に延びるビット線との交差位置にマトリクス状に配置されたメモリセルと，
列方向に延びるサーチバス及び行方向に延びるマッチラインと，
各メモリセルに設けられ，前記サーチバスのデータとメモリセルに記憶されたデータとを比較し，比較結果をマッチラインに出力する比較回路と，
列方向に配置された一対の前記メモリセルの間に設けられ，第１のトランスファゲートと，前記メモリセルのデータを一時的に記憶するトランスファセルと，第２のトランスファゲートとを有するトランスファユニットとを有し，
前記一対のメモリセルの一方のデータを前記第１または第２のトランスファゲートを介して前記トランスファセルに記憶し，その後，当該記憶されたトランスファセルのデータを前記第２または第１のトランスファゲートを介して前記一対のメモリセルの他方に記憶することを特徴とする。
【００１５】
【発明の実施の形態】
以下，図面を参照して本発明の実施の形態例を説明する。しかしながら，本発明の保護範囲は，以下の実施の形態例に限定されるものではなく，特許請求の範囲に記載された発明とその均等物にまで及ぶものである。
【００１６】
図２は，ＣＡＭの構成を示す図である。ＣＡＭは，あらかじめＣＡＭセルアレイ１０にエントリデータを記憶し，その後入力されるエントリキー１４と一致するエントリデータを検出し，そのアドレスを出力する。そのために，ＣＡＭセルアレイ１０に対して，外部からの書き込み用アドレスWAddをデコードするデコーダDEC，それに応じてワード線を駆動するワード線ドライバWLDRと，センスアンプ・ライトアンプSA/WAとを有する。ここまでは，通常のメモリと同じ構成である。
【００１７】
更に，ＣＡＭメモリは，データの検索時に外部からのエントリキー１４に応じてセルアレイ１０内に設けたスキャンバスを駆動するスキャンバスドライバSBDRと，スキャンバスのエントリキーとセルアレイ１０内に記憶されているエントリデータとの比較結果が出力されるマッチラインを増幅するマッチラインセンスアンプMLSAと，一致を示すマッチラインに対応するマッチアドレスMAddを生成するプライオリティエンコーダPEとを有する。
【００１８】
図３は，ＣＡＭメモリの動作を説明する図である。ＣＡＭセルアレイ１０内には，行方向のメモリセルによりエントリデータａ〜ｎが記憶され，エントリデータ列１２を構成する。このエントリデータは，行アドレスに対して優先度の高い順に並べられている。そして，外部から入力されるエントリキー１４とエントリデータ列１２内のデータとが比較され，一致・不一致データがプライオリティエンコーダPEに出力される。図３の例では，エントリデータａ，ｃが一致し，それ以外が不一致となっている。そこで，プライオリティエンコーダPEは，一致した行アドレスのうち最も低いアドレスをマッチアドレスMAddとして出力する。
【００１９】
図４は，ＣＡＭメモリの詳細構成図である。セルアレイ１０内には，行方向に延びるワード線ＷＬと列方向に延びるビット線ＢＬとの交差位置に，メモリセルＭＣがマトリクス状に配置される。更に，ビット線に平行にサーチバスＳＢが，行方向にマッチラインＭＬがそれぞれ配置される。メモリセルＭＣ内には，後述する比較回路が内蔵される。その比較回路により，サーチバスドライバSBDRにより駆動されたサーチバスＳＢのエントリキーと，メモリセルＭＣに記憶されているエントリデータとが比較され，その比較結果がマッチラインＭＬに出力される。例えば，一致した場合はＬレベル，不一致ならＨレベルが，マッチラインＭＬに出力される。それぞれのマッチラインＭＬの電圧は，マッチラインセンスアンプMLSAで増幅され，プライオリティエンコーダPEに供給される。
【００２０】
従って，あらかじめ記憶されるエントリデータは，ワード線を駆動してビット線からメモリセルに書き込まれる。そして，エントリキーが，サーチバスＳＢを経由してメモリセル内の比較回路に供給される。
【００２１】
図５は，ＣＡＭメモリのメモリセルの具体的回路例を示す図である。図５（Ａ）は回路図を，図５（Ｂ）はエントリデータ及びエントリキーに対応するビット線BLとサーチバスSBのＨ／Ｌレベルを示す図表である。エントリデータ及びエントリキーは，「０」「１」の二値と「マスク状態」からなる３値データである。マスク状態であれば比較動作ではそのデータは無視され，マスク解除状態であれば２値データの比較が行われる。そのため，この例のメモリセルＭＣは，３値を記憶するために，２つのラッチ回路LA1,2を有する。このラッチ回路LA1,2は，例えば，２つのインバータを交差接続したＳＲＡＭセルと同じ回路構成であり，それぞれのノードがトランスファゲートとトランジスタm10,m11,m12,m13を介して，２対のビット線対BL1,/BL1とBL2,/BL2に接続される。
【００２２】
また，メモリセルＭＣには，サーチバスSB,/SBとラッチ回路LA1,2内のノードn1,n2とを比較する比較回路を有する。第１の比較回路は，トランジスタm01,m02の直列回路で，第２の比較回路は，トランジスタn03,m04の直列回路でそれぞれ構成される。そして，ノードn1とサーチバスSBが共にＨレベルの時に，第１の比較回路のトランジスタm01,m02が共に導通してマッチラインＭＬがＬレベルになり，いずれかがＬレベルの時に一方のトランジスタが非導通となりマッチラインＭＬがＨレベルになる。第２の比較回路のトランジスタm03,m04も同様の動作である。
【００２３】
図５（Ｂ）の図表に示されるとおり，データ「０」を書き込む場合は，２組のビット線対BL1,/BL1とBL2,/BL2には，「ＬＨＨＬ」が印加され，ノードn1,n2は「ＬＨ」となる。そして，検索時にデータ「０」をエントリーする場合は，サーチバスSB,/SBには「ＨＬ」というノードn1,n2とは逆相の電圧が印加される。従って，メモリセルＭＣ内のデータ「０」とサーチバスのデータ「０」とが一致した時は，マッチラインＭＬがＨレベルになり，不一致の時はマッチラインＭＬはＬレベルになる。なお，マッチラインＭＬにはプリチャージ回路２０が設けられ，比較前にプリチャージ信号PREがＨレベルになり，マッチラインＭＬがＨレベルにプリチャージされる。
【００２４】
一方，データ「１」を書き込む場合は，２組のビット線対BL1,/BL1とBL2,/BL2には，「ＨＬＬＨ」が印加され，ノードn1,n2は「ＨＬ」となる。そして，検索時にデータ「１」をエントリーする場合は，サーチバスSB,/SBには「ＬＨ」というノードn1,n2とは逆相の電圧が印加される。従って，メモリセルＭＣ内のデータ「１」とサーチバスのデータ「１」とが一致した時は，マッチラインＭＬがＨレベルになり，不一致の時はマッチラインＭＬはＬレベルになる。
【００２５】
更に，マスク状態を書き込む場合は，ビット線対BL1,/BL1とBL2,/BL2には，「ＬＨＬＨ」が印加され，ノードn1,n2は「ＬＬ」となる。一方，サーチバスSB,/SBには「ＬＬ」が印加される。従って，検索時に，メモリセル内のエントリデータがマスク状態の場合またはサーチバスに印加されるエントリキーがマスク状態の場合に，マッチラインＭＬはＨレベルになり，いずれもマスク状態でない時は，データ「０」「１」が一致するか否かによりマッチラインＭＬがＨレベルまたはＬレベルになる。
【００２６】
そして，メモリセルＭＣの比較回路m10,m11,m12,m13は，行方向のマッチラインＭＬに沿ってワイヤードOR回路を構成するので，行方向の全てのメモリセルで一致状態になった時に，マッチラインＭＬがＨレベルを維持することになる。
【００２７】
メモリセルは，例えば１つのトランスファーゲートと１つの容量で構成されるＤＲＡＭセルと同じ構成にすることも可能である。その場合は，１対のセルに１対のビット線が接続される。
【００２８】
図６は，本実施の形態例におけるＣＡＭの全体構成図である。本実施の形態例のＣＡＭは，コラム方向の隣接するメモリセルＭＣの間に，一方のメモリセルＭＣの記憶データを一旦蓄え，他方のメモリセルＭＣにそのデータを転送するトランスファユニットＴＵが設けられている。トランスファユニットＴＵには，図示しないトランスファゲートが設けられ，トランスファゲート信号TG1,2により制御される。そして，トランスファゲート信号TG1,2は，トランスファゲート・デコーダ・ドライバ２２により駆動される。また，メモリセルＭＣには，内蔵するラッチ回路のラッチ活性化信号PSA,NSAが供給され，データを転送する時にラッチ回路のラッチ動作が一時的に解除される。また，ラッチ回路のノードを短絡して中間ン電位にリセットするためのショート信号ＳＧがメモリセルＭＣに供給され，ラッチ回路がニュートラル状態にされる。尚，図６には図５の２対のビット線が１対に省略して示されている。
【００２９】
例えば，メモリセルアレイ１０内の全てのメモリセルＭＣに記憶されているエントリデータをそれぞれ列方向（列の下方向）に転送するときは，まず，ＴＧデコーダトライバにより第１のトランスファゲート信号TG1を駆動して，全てのメモリセルＭＣ内のデータをトランスファユニットTU内のトランスファセルに転送し蓄積し，更に，第２のトランスファゲート信号TG2を駆動して，トランスファセル内に蓄積したデータをコラム方向に隣接するメモリセルＭＣ内に転送する。これにより，全てのエントリデータが優先度を一つ下げたアドレス（より上位のアドレス）に転送される。一方，最初に第２のトランスファゲート信号TG2を駆動した後，第１のトランスファゲート信号TG1を駆動することで，全てのエントリデータを優先度を一つ上げたアドレス（より下位のアドレス）に転送される。
【００３０】
更に，ＴＧデコーダ・ドライバ２２によりトランスファゲート信号TG1,2を選択的に駆動することで，任意のアドレスを境にして，それより上位または下位のアドレスにおけるメモリセル内のデータを一斉に転送することができる。
【００３１】
図７，図８は，第１の実施の形態例におけるＣＡＭの回路図である。図７には，トランスファユニットの具体的回路図が示され，図８にはその場合のメモリセルＭＣの具体的回路図が示されている。また，図７には，図６と同様に２対のビット線が１対に省略して示されている。
【００３２】
第１の実施の形態例では，図７のとおり，列方向に隣接するメモリセルＭＣの間に設けられるトランスファユニットTUn，TUn+1が，１対のキャパシタCa，CbからなるトランスファセルTCn，TCn+1と，第１及び第２のトランスファゲートtg1,tg2とを有する。また，トランスファユニットTUとメモリセルMCとを接続するトランスファバスTB,/TBが，ビット線対BL,/BLに平行に設けられる。トランスファゲートtg1，tg2は，Ｎチャネルトランジスタで構成され，それぞれトランスファゲート信号TG1n，TG2n及びTG1n+1，TG2n+1により制御される。また，トランスファセル内の１対のキャパシタCa，Cbには，データ転送時にメモリセルのＨレベルまたはＬレベルに応じて電荷が蓄積され，転送データを一時的に蓄積する。
【００３３】
更に，第１の実施の形態例では，図８に示されるとおり，メモリセルMCのラッチ回路LA1は，ＰチャネルトランジスタＰ１とＮチャネルトランジスタＮ２で構成される第１のインバータと，トランジスタＰ３とＮ４で構成される第２のインバータとで構成され，それらのインバータは，高い電源Vccに接続するＰチャネルトランジスタＰ５とグランドに接続するＮチャネルトランジスタＮ６とからなる活性化回路に接続される。そして，活性化信号PSA，NASがそれぞれＬ，Ｈレベルになると，活性化回路を構成するトランジスタＰ５，Ｎ６が導通してラッチ回路を活性化し，活性化信号PSA,NSAがそれぞれＨ，ＬレベルになるとトランジスタＰ５，Ｎ６が非導通となり，ラッチ回路LA1を非活性化する。
【００３４】
更に，メモリセルMCはラッチ回路の２つのノードn1，/n1間を短絡して中間電位VPCにするためのショート回路SG1を有する。ショート回路SG1は，ノードn1，/n1間を短絡するトランジスタＮ７と，ノードn1，/n1を中間電位VPCに接続するトランジスタＮ８，Ｎ９とを有し，それらのトランジスタは，ショート制御信号SGにより制御される。
【００３５】
図８には，メモリセルMCの一方のラッチ回路LA1とショート回路SG1とが示されるが，メモリセルMCには，それと同じ構成のラッチ回路LA2とそれに対応したショート回路SG2とが設けられている。そして，それぞれのラッチ回路LA1,LA2のノードn1，n2が，トランスファバスTB,/TBに接続される。また，図５に示したのと同様に，ラッチ回路LA1の一対のノードn1，/n1は，セル内のトランスファトランジスタn10,n11を介して第１のビット線対BL1,/BL1に接続されている。図示されないが，ラッチ回路LA2の一対のノードも同様に第２のビット線対BL2,/BL2に接続される。
【００３６】
図９は，メモリセル間のデータ転送動作のタイミングチャート図である。図９に従って，メモリセルMC1，MC2のデータをそれぞれコラム方向に隣接するメモリセルMC2，MC3（図示せず）に同時に転送する場合の動作を説明する。最初に，期間ｔ１にて，ＴＧデコーダ・ドライバ２２が，トランスファゲート信号TG1n，TG1n+1を駆動して，トランスファユニットＴＵn，ＴＵn+1内の第１のトランスファゲートtg1を導通し，メモリセルＭＣ１，ＭＣ２内のデータをキャパシタCa,Cbにそれぞれ転送する。この転送動作では，メモリセル内のラッチ回路のインバータが，トランジスタユニット内のキャパシタCa,Cbを駆動し，記憶データに従って，ノードn03n，n04n，n03n+1，n04n+1をそれぞれＨレベル，Ｌレベルに駆動する。この時，メモリセル内のラッチ回路は，活性状態であり，活性化信号PSA,NSAはそれぞれＬレベル，Ｈレベルであり，短絡制御信号SGはＬレベルである。キャパシタを駆動し終わると，トランスファゲート信号TG1n，TG1n+1がＬレベルになり，第１のトランスファゲートtg1は非導通になる。
【００３７】
次に，期間ｔ２にて，活性化信号PSA,NSAをそれぞれＨレベル，ＬレベルにしてメモリセルＭＣ内のラッチ回路を非活性化し，更に，ショート制御信号SGをＨレベルにして，ラッチ回路内の１対のノードn1,/n1及びn2,/n2を短絡する。その結果，それらのノードは中間電位VPCにプリチャージされ，ラッチ回路LA1はニュートラル状態になる。プリチャージ後，ショート制御信号SGはＬレベルに戻される。
【００３８】
その後期間ｔ３にて，ＴＧデコーダ・ドライバ２２が，トランスファゲート信号TG2n，TG2n+1を駆動して，トランスファユニットＴＵn，ＴＵn+1内の第２のトランスファゲートtg2を導通し，トランスファユニット内のノードn03n，n04n，n03n+1，n04n+1の電圧がメモリセルMC2,MC3のノードn1,n2に転送される。この時，トランスファセル内のキャパシタCa,Cbと，転送後のメモリセルのノードn1,n2の寄生容量との容量比に従って，メモリセルのノードn1,n2の電位が，上昇または下降する。その結果，メモリセル内のラッチ回路LA1において，ノードn1が上昇または下降し，中間電位のノード/n1との間に微少電圧が発生する。
【００３９】
そして，期間ｔ４にて，活性化制御信号PSA,NSAをそれぞれＬレベル，Ｈレベルの活性化レベルにすることで，メモリセル内のラッチ回路LA1,2がそれぞれ活性化される。その場合，ラッチ回路のノード間に生成された微少電圧がセンスされ増幅される。その結果，ラッチ回路内の１対のノードn1,/n1は，一方が電源Vccレベル（Ｈレベル），他方がグランドレベル（Ｌレベル）に駆動される。この結果，データの転送が終了する。
【００４０】
上記の説明したとおり，第１の実施の形態例において，トランスファユニット内のデータ保持手段であるトランスファセルは，１対のキャパシタCa,Cbで構成され，かかるキャパシタは転送時に後段のメモリセルMCを能動的に駆動することはできない。従って，メモリセル内にショート回路SG1と，ラッチ回路LA1,2の非活性化回路P5,N6を設けて，データ転送時にラッチ回路LA1,2を一旦非活性化して１対のノードn1,/n1を中間電位VPCにリセットする（ニュートラル状態）。そして，そのニュートラル状態で，トランスファセルのキャパシタCa,Cbを後段のメモリセルのラッチ回路に接続した後に，セルのラッチ回路を活性化する。このラッチ回路の活性化動作は，DRAMのセンスアンプ回路の増幅動作と同じであり，１対のノードn1,/n1間に発生した微少電圧をセンスし，増幅する。
【００４１】
第１の実施の形態例では，トランスファユニット内のトランスファセルがキャパシタCa,Cbで構成されるので，回路規模が小さくできる。但し，それに伴い，メモリセル内にショート回路CG1を設けて中間電位VPCを生成する必要があり，その分全体の回路規模が大きくなる。
【００４２】
図７において，メモリセルMC1のデータはそのまま保持し，メモリセルMC2のデータを隣接するメモリセルMC3に転送する場合について説明する。この場合は，図９の期間ｔ１，ｔ２までの動作は同じであり，各メモリセルのデータがトランスファユニット内のトランスファセル内に保持され，各メモリセルのラッチ回路がリセット状態になる。その後，期間ｔ３にて，トランスファゲート信号TG1nが再度駆動され，トランスファセルTCn内のデータがメモリセルMC1に戻されると共に，トランスファゲート信号TG2n+1が駆動されて，トランスファセルTCn+1内のデータがメモリセルMC3に転送される。即ち，どのアドレスを境にしてデータの転送をすべきかに応じて，ＴＧデコーダ・ドライバ２２が上記のようにトランスファゲート信号TG1n,TG2nとTG1n+1,TG2n+1を適宜制御することにより，任意のアドレス以下のメモリセルのデータが隣接するメモリセルに一斉に転送可能である。
【００４３】
図１０，図１１は，第２の実施の形態例におけるＣＡＭの回路図である。第２の実施の形態例では，図１０に示されるとおり，トランスファユニット内のトランスファセルTCn，TCn+1は，１対のインバータを交差接続したラッチ回路で構成される。各インバータは，通常のCMOSインバータであり，電源Vccに接続されたＰチャネルトランジスタと，グランドに接続されたＮチャネルトランジスタからなる。但し，このトランスファセルのインバータは，各メモリセル内のラッチ回路により反転駆動可能な程度の小規模なものである。
【００４４】
それに伴い，図１１に示されるとおり，メモリセルＭＣ内には，第１の実施の形態例のようなショート回路は設けられず，ラッチ回路LA1の一方のインバータ（トランジスタP3,N4）側にのみ活性化回路としてトランジスタP5,N6が設けられ，他方のインバータ（トランジスタP1,N2）側には活性回路は設けられない。ラッチ回路LA2も同様の構成となる。トランスファセルがメモリセルよりも小規模のインバータからなるラッチ回路であるので，トランスファセルのラッチ回路ではメモリセルのラッチ回路を反転駆動することは困難，或いは長時間を要する。そこで，本実施の形態例では，メモリセルのラッチ回路LA1の一方のインバータに活性化回路としてトランジスタP5,N6を設けて，データ転送時に活性化回路を非活性化して，インバータの出力ハイインピーダンス状態にし，ラッチ回路LA1のラッチ動作を一時的に解除する。
【００４５】
第２の実施の形態例のデータ転送動作は，次の通りである。図９のタイミングチャートを参照しながら説明すると，期間ｔ１にて，第１のトランスファゲート信号TG1n,TG1n+1を駆動して，第１のトランスファゲートtg1を導通する。それにより，メモリセルMC1，MC2内のラッチ回路が，トランスファセルTCn,TCn+1のラッチ回路を駆動してデータを転送する。この場合，メモリセルのラッチ回路がトランスファセル内のラッチ回路を反転駆動することができる。その後，第１のトランスファゲートは非導通になり，トランスファセル内のラッチ回路がデータを保持する。
【００４６】
そして，期間ｔ２にて，活性化信号PSA,NSAがそれぞれＨレベル，Ｌレベルにされ，メモリセル内のラッチ回路は非活性状態になる。この状態で，図１１の例では，ノードn1がハイインピーダンス状態になる。
【００４７】
その次に期間ｔ３にて，第２のトランスファゲート信号TG2n,TG2n+1を駆動し，第２のトランスファゲートtg2を導通する。これにより，トランスファセルTCn,TCn+1のインバータが，後段のメモリセルのラッチ回路LA1,LA2の一方のノードn1,n2を駆動する。これらのノードn1,n2はハイインピーダンス状態であるので，トランスファセルのインバータによりＨレベルまたはＬレベルに駆動可能である。この駆動に伴い，メモリセルのラッチ回路内の活性状態にあるインバータ（トランジスタP1,N2）が，他方のノード/n1，/n2を駆動し，ＬレベルまたはＨレベルにする。
【００４８】
そして，最後に期間ｔ４にて，活性化信号PSA,NSAをＬレベル，Ｈレベルの活性化レベルに戻すことにより，メモリセル内のラッチ回路LA1,LA2は，データをラッチする。
【００４９】
任意のアドレス以下のメモリセルのデータをより低い優先度のアドレスにシフトするためには，第１の実施の形態例と同様に，期間ｔ３，ｔ４にて，任意のアドレスより高い優先度のメモリセルに対しては第１のトランスファゲートtg1を導通し，それより低い優先度のメモリセルに対しては第２のトランスファゲートtg2を導通するように，トランスファゲート信号を制御すればよい。
【００５０】
第２の実施の形態例では，トランスファセルに１対のインバータからなるラッチ回路を設けたので，メモリセル内のラッチ回路にショート回路を設ける必要はない。それにより，メモリセルの構成は，活性化用のトランスファP5,N6を追加するのみでよい。但し，トランスファセルは，１対のインバータにするので，それに伴い回路規模が大きくなる。
【００５１】
以上説明したとおり，本実施の形態によれば，コラム方向に隣接するメモリセル間にデータを一旦保持するトランスファセルをトランスファゲートを介して設けて，エントリデータを優先度の異なる位置に転送する場合に，一方のトランスファゲートを開いてトランスファセルにメモリセルのデータを転送し，その後他方のトランスファゲートを開いてメモリセルにデータを転送することができる。
【００５２】
上記の実施例では，優先度の低い（より上位のアドレスの）メモリセルにエントリデータを転送する場合は，上記のとおり，最初に第１のトランスファゲートtg1を開き，その後第２のトランスファゲートtg2を開く。一方，優先度の高い（より下位のアドレスの）メモリセルにエントリデータを転送する場合は，その逆に，最初に第２のトランスファゲートtg2を開いて，その後第１のトランスファゲートtg1を開く。
【００５３】
更に，任意のアドレスより優先度の低い（より上位のアドレスの）メモリセルのエントリデータを，より優先度の低い（より上位のアドレスの）メモリセルに転送する場合は，最初に第１のトランスファゲートtg1を開き，その後，当該任意のアドレスより高い優先度（より下位のアドレス）に対しては再度第１のトランスファtg1を開き，それより低い優先度に対しては第２のトランスファゲートtg2を開く。
【００５４】
また，任意のアドレスより優先度の高い（より下位のアドレスの）メモリセルのエントリデータを，より優先度の高い（より下位のアドレスの）メモリセルに転送する場合は，最初に第２のトランスファゲートtg2を開き，その後，当該任意のアドレスより低い優先度に対しては再度第２のトランスファtg2を開き，それより高い優先度に対しては第１のトランスファゲートtg1を開く。
【００５５】
上記の実施の形態例では，メモリセルが２つのラッチ回路を有する。しかし，ＤＲＡＭのように１つのキャパシタと１つのトランスファトランジスタで構成される場合は，トランスファセルは，１対のインバータを交差接続したラッチ回路で構成することが好ましい。このラッチ回路は，DRAMにおけるセンスアンプ回路と同じ構成であり，メモリセルのデータを増幅してラッチし，その後転送先のメモリセルのキャパシタにデータを書き込むことができる。
【００５６】
このように，ＴＧデコーダ・ドライバがトランスファゲート信号を適宜制御することで，メモリセル内のエントリデータを一斉に別のメモリセルに転送することができる。従って，従来例のようなデータ転送時に読み出し動作と書き込み動作を繰り返す必要はない。
【００５７】
以上，実施の形態例をまとめると以下の付記の通りである。
【００５８】
（付記１）記憶されたデータと，入力されるデータとを比較し，一致するデータが記憶されたアドレス情報を出力するコンテンツ・アドレッサブル・メモリにおいて，
行方向に延びるワード線と列方向に延びるビット線との交差位置にマトリクス状に配置されたメモリセルと，
列方向に延びるサーチバス及び行方向に延びるマッチラインと，
各メモリセルに設けられ，前記サーチバスのデータとメモリセルに記憶されたデータとを比較し，比較結果をマッチラインに出力する比較回路と，
列方向に配置された一対の前記メモリセルの間に設けられ，第１のトランスファゲートと，前記メモリセルのデータを一時的に記憶するトランスファセルと，第２のトランスファゲートとを有するトランスファユニットとを有し，
前記一対のメモリセルの一方のデータを前記第１または第２のトランスファゲートを介して前記トランスファセルに記憶し，その後，当該記憶されたトランスファセルのデータを前記第２または第１のトランスファゲートを介して前記一対のメモリセルの他方に記憶することを特徴とするコンテンツ・アドレッサブル・メモリ。
【００５９】
（付記２）付記１において，
前記トランスファユニットが，前記列方向に配置された隣接するメモリセル間に設けられ，複数のメモリセルのデータが一斉に列方向に隣接するメモリセルに転送されることを特徴とするコンテンツ・アドレッサブル・メモリ。
【００６０】
（付記３）付記１において，
前記トランスファセルは，データを蓄積するキャパシタを有し，
前記メモリセルは一対のインバータを交差接続したラッチ回路を有し，
更に，前記トランスファセルからデータが転送される時，前記メモリセルのラッチ回路を一時的にニュートラル状態にした後，当該トランスファセルをメモリセルに接続し，当該転送データをラッチすることを特徴とするコンテンツ・アドレッサブル・メモリ。
【００６１】
（付記４）付記３において，
前記メモリセルのラッチ回路に，当該ラッチ回路の１対のノードを短絡するショート回路と，当該ラッチ回路のラッチ動作の活性化を制御する活性化回路とを有し，
前記トランスファセルからメモリセルにデータが転送される時，前記活性化回路が前記ラッチ回路のラッチ動作を一時的に非活性化し，前記ショート回路が前記１対のノードを短絡することを特徴とするコンテンツ・アドレッサブル・メモリ。
【００６２】
（付記５）付記４において，
前記活性化回路は，前記トランスファセルをメモリセルに接続して転送データをラッチするとき，前記ラッチ回路の動作を活性化することを特徴とするコンテンツ・アドレッサブル・メモリ。
【００６３】
（付記６）付記１において，
前記トランスファセルは，一対のインバータを交差接続したラッチ回路を有し，
前記メモリセルは一対のインバータを交差接続したラッチ回路を有し，
更に，前記トランスファセルからデータが転送される時，前記メモリセルのラッチ回路のラッチ動作を一時的に解除した後，前記トランスファセルをメモリセルに接続し，当該転送データをラッチすることを特徴とするコンテンツ・アドレッサブル・メモリ。
【００６４】
（付記７）付記６において，
前記トランスファセルのラッチ回路を構成する一対のインバータは，前記メモリセルのラッチ回路の一対のインバータより規模が小さいことを特徴とするコンテンツ・アドレッサブル・メモリ。
【００６５】
（付記８）付記６において，
前記メモリセルのラッチ回路の一方のインバータに，当該インバータの動作を活性化・非活性化する活性化回路が設けられ，
前記トランスファセルからメモリセルにデータが転送される時，前記活性化回路が前記ラッチ回路のラッチ動作を一時的に解除することを特徴とするコンテンツ・アドレッサブル・メモリ。
【００６６】
（付記９）記憶されたデータと，入力されるデータとを比較し，一致するデータが記憶されたアドレス情報を出力するコンテンツ・アドレッサブル・メモリにおいて，
行方向に延びるワード線と列方向に延びるビット線との交差位置にマトリクス状に配置されたメモリセルと，
列方向に延びるサーチバス及び行方向に延びるマッチラインと，
各メモリセルに設けられ，前記サーチバスのデータとメモリセルに記憶されたデータとを比較し，比較結果をマッチラインに出力する比較回路と，
列方向に配置された隣接する前記メモリセルの間に，第１及び第２のトランスファゲートを介して設けられ，前記メモリセルのデータを一時的に記憶するトランスファセルと，
前記第１及び第２のトランスファゲートを制御する第１及び第２のトランスファゲート信号を駆動するトランスファゲートドライバとを有し，
前記トランスファゲートドライバは，第１または第２のトランスファゲート信号を駆動して第１または第２のトランスファゲートを導通し，前記隣接するメモリセルのデータを前記トランスファセルに転送し，その後，第１または第２のトランスファゲート信号を駆動して第１または第２のトランスファゲートを導通し，前記トランスファセルのデータを前記メモリセルに転送することを特徴とするコンテンツ・アドレッサブル・メモリ。
【００６７】
（付記１０）付記９において，
複数のメモリセルのデータを，アドレスがより上位（または下位）のワード線に接続される複数のメモリセルにそれぞれ転送する時，前記トランスファゲートドライバは，第１（または第２）のトランスファゲート信号を駆動して第１（または第２）のトランスファゲートを導通し，それにより前記メモリセルのデータを前記トランスファセルに転送し，その後，第２（または第１）のトランスファゲートを導通して前記トランスファセルのデータを隣接するメモリセルに転送することを特徴とするコンテンツ・アドレッサブル・メモリ。
【００６８】
（付記１１）付記９において，
所定のアドレスに対応するワード線を境にして，当該ワード線よりアドレスが上位（または下位）のワード線に接続される複数のメモリセルのデータを，アドレスがより上位（または下位）のワード線に接続される複数のメモリセルにそれぞれ転送する時，
前記トランスファゲートドライバは，第１（または第２）のトランスファゲート信号を駆動して第１（または第２）のトランスファゲートを導通し，それにより前記メモリセルのデータを前記トランスファセルに転送し，その後，前記所定のアドレスより下位（または上位）の第１（または第２）のトランスファゲートを導通して前記トランスファセルのデータをメモリセルに戻し，前記所定のアドレスより上位（または下位）の第２（または第１）のトランスファゲートを導通して前記トランスファセルのデータをメモリセルに転送することを特徴とするコンテンツ・アドレッサブル・メモリ。
【００６９】
（付記１２）記憶されたエントリデータと，入力されるエントリキーとを比較し，一致するデータが記憶されたアドレス情報を出力するコンテンツ・アドレッサブル・メモリにおいて，
行方向に延びるワード線と列方向に延びるビット線との交差位置にマトリクス状に配置され，前記エントリデータを記憶するメモリセルと，
各メモリセルに設けられ，前記入力されるエントリキーと前記メモリセルに記憶されたエントリデータとを比較し，比較結果を出力する比較回路と，
列方向に配置された隣接する前記メモリセルの間に，前記メモリセルのデータを一時的に記憶するトランスファセルとを有し，
複数の前記エントリデータを列方向に隣接するメモリセルにそれぞれ転送する時，前記メモリセルのエントリデータを前記トランスファセルに一旦転送し，その後，当該トランスファセルのエントリデータを転送先のメモリセルに転送することを特徴とするコンテンツ・アドレッサブル・メモリ。
【００７０】
【発明の効果】
以上，本発明によれば，メモリセルに記憶されたエントリデータを一斉に列方向に隣接するメモリセルに転送することができ，メモリを有するシステムのパフォーマンスを向上させることができる。
【図面の簡単な説明】
【図１】通常のメモリとＣＡＭの違いを説明する図である
【図２】ＣＡＭの構成を示す図である。
【図３】ＣＡＭメモリの動作を説明する図である。
【図４】ＣＡＭメモリの詳細構成図である。
【図５】ＣＡＭメモリのメモリセルの具体的回路例を示す図である。
【図６】本実施の形態例におけるＣＡＭの全体構成図である。
【図７】第１の実施の形態例におけるＣＡＭの回路図である。
【図８】第１の実施の形態例におけるＣＡＭの回路図である。
【図９】メモリセル間のデータ転送動作のタイミングチャート図である。
【図１０】第２の実施の形態例におけるＣＡＭの回路図である。
【図１１】第２の実施の形態例におけるＣＡＭの回路図である。
【符号の説明】
ＭＣ      メモリセル
ＴＣ      トランスファセル
ＴＵ      トランスファユニット
tg1,tg2    第１及び第２のトランスファゲート
ＷＬ      ワード線
BL,/BL    ビット線
ＳＢ      サーチバス
ＭＬ      マッチライン
ＴＢ      トランスファバス
【図１】
0004749600.tif 000002
【図２】
0004749600.tif 000003
【図３】
0004749600.tif 000004
【図４】
0004749600.tif 000005
【図５】
0004749600.tif 000006
【図６】
0004749600.tif 000007
【図７】
0004749600.tif 000008
【図８】
0004749600.tif 000009
【図９】
0004749600.tif 000010
【図１０】
0004749600.tif 000011
【図１１】
0004749600.tif 000012