(57)【特許請求の範囲】
【請求項１】
連想記憶装置（ＣＡＭ）を有する集積回路であって、該ＣＡＭは、
（ａ）カラム多重化を使用して構成されたＣＡＭセルの配列であって、該配列を通るビットスライスが該配列のｋ（ｋは１より大きい整数）個のカラムに対応し、該配列の行の各々はｋ個の語に対応するようになっているＣＡＭセルの配列と、
（ｂ）該配列中の行の各々に対する１組の行サポート回路と、
（ｃ）該配列中のｋ個のカラムの各々に対する１組のカラム・サポート回路と、
（ｄ）該配列中の行の各々に対する１つの語線とｋ個の一致線と、
（ｅ）該配列中のカラムの各々に対する２つのビット線と、
（ｆ）該配列中のｋ個のカラムの組の各々に対する２つの大域探索データ線と、
を備えることを特徴とする集積回路。
【請求項２】
請求項１に記載の集積回路において、該集積回路はさらに、該カラム・サポート回路の組の各々に対する１組のカラム復号器をさらに有する集積回路。
【請求項３】
請求項１に記載の集積回路において、該ＣＡＭセルの各々は、内容探索をサポートするように適合されたＳＲＡＭコアとＸＯＲ論理回路とからなる集積回路。
【請求項４】
請求項１に記載の集積回路において、該集積回路はさらに、該配列中のｋ個のカラムの組の各々に対する２つの局所探索データ線からなり、該ｋ個のカラムの組の各々のセルが２またはそれ以上のセルのブロックに分割され、該セルのブロックの各々は、局所探索データ線の各々と対応する大域探索データ線との間の単一接続を有する集積回路。
【請求項５】
請求項１に記載の集積回路において、カラム・サポート回路の組の各々はｋ−カラムのピッチを伴うレイアウトを有する集積回路。
【請求項６】
請求項１に記載の集積回路において、該ＣＡＭセルの配列が２：１カラム多重化を使用して構成され、ｋは２である集積回路。
【請求項７】
請求項６に記載の集積回路において、該集積回路はさらに、該配列中のカラムの対の各々に対する２つの局所探索データ線からなり、該カラムの対の各々のセルが、２またはそれ以上のセルのブロックに分割され、該セルのブロックの各々は、局所探索データ線の各々と、対応する大域探索データ線との間の単一接続を有する集積回路。
【請求項８】
請求項７に記載の集積回路において、該集積回路はさらに、カラム・サポート回路の組の各々に対する１組のカラム復号器からなり、
該ＣＡＭセルの各々は、内容探索をサポートするよう適合されたＳＲＡＭコアとＸＯＲ論理回路とからなり、
該カラム・サポート回路の組の各々は、２カラムのピッチを伴うレイアウトを有する集積回路。
【請求項９】
請求項１に記載の集積回路において、該ＣＡＭは、該配列における特定の内容のアドレスを識別する出力を発生するよう機能するものである集積回路。
【請求項１０】
請求項９に記載の集積回路において、該特定の内容のアドレスは、特定の内容についての行アドレスおよびカラムアドレスから成るものである集積回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータ・メモリ・アーキテクチャに関し、特に連想記憶装置のアーキテクチャに関する。
【０００２】
【従来の技術、及び、発明が解決しようとする課題】
連想記憶装置（ＣＡＭ）は、標準ＲＡＭのように書き込みおよび読み出しできるが、特定の内容を探索することもできる特殊な種類のランダムアクセス・メモリ（ＲＡＭ）である。すなわち、ＣＡＭメモリはデータ値の特定の列（ｓｔｒｉｎｇ）を有する１組の連続ＣＡＭセルを探索できる。通常、探索列のサイズはＣＡＭメモリの語長に対応し、探索は全てのデータ語で平行して行われ、列が発見されれば、その列が存在するＣＡＭ語のアドレスを出力する。通常のＣＡＭの設計では、列が２つかそれ以上のＣＡＭ語に存在する場合、探索によってそれらの１つだけ（例えば、最も低いアドレスを有するもの）が特定される。
【０００３】
図１は、１０２４の７２ビット・データ語をサポートする従来技術のＣＡＭメモリ１００のレイアウトの概略図を示す。ＣＡＭメモリ１００は、ＣＡＭセル１０２の７２カラムと１０２４行の二次元配列からなる。配列中のセルの各カラムについて、ＣＡＭメモリ１００はまた１組のカラム・サポート回路１０４を有する。類似的に、配列中のセルの各行について、ＣＡＭメモリ１００は１組の行サポート回路１０６を有する。当業技術分野に熟練した者には、カラムおよび行サポート回路には、センス増幅器、入力ラッチ、出力ドライバおよび、セルの配列にアクセスするために必要なその他の構成要素が含まれることを理解することができるだろう。
【０００４】
図２は、図１のＣＡＭメモリ１００のセル・アーキテクチャの概略図を示す。すなわち、図２は、図１のＣＡＭメモリ１００の配列のカラムの１つから２つの垂直に隣接するＣＡＭセル１０２を示す。各ＣＡＭセルは、２つがラッチ要素として交差結合され、２つが読み出しおよび書き込みのためトランジスタにアクセスする６つのトランジスタを有する従来のスタティックＲＡＭ（ＳＲＡＭ）コア・セル２０２を備えている。各ＣＡＭセルはまた、４つの追加素子（例えば、ｎ−ＦＥＴ）を備えるＸＯＲ論理回路２０４を有し、内容探索機能をサポートする。
【０００５】
各個別セル１０２へのアクセスは、対応する語線ＷＬ、一致線ＭＬ、真および補数ビット線ＢＬＴおよびＢＬＣ、および真および補数探索データ線ＭＴおよびＭＣによって提供されるが、ここで各線は、個々の設計によって、プリチャージ・ハイでアクティブ・ローであるか、またはプリチャージ・ローでアクティブ・ハイであるかの何れかである。図１および図２に示されるように、各水平語線ＷＬと各一致線ＭＬは対応する行の全てのセルによって共有される。同様に、各垂直ビット線ＢＬＴ／ＢＬＣと各探索データ線ＭＴ／ＭＣは対応するカラムの全てのセルによって共有される。
【０００６】
データ・ビットは、適当な行に対応する語線ＷＬを起動し、各カラムについて適当なビット線ＢＬＴまたはＢＬＣをパルスすることで、語の個別セルに平行して書き込まれる。ビット線ＢＬＴをパルスすることで対応するセルに１が保存され、ビット線ＢＬＣをパルスすることで０が保存される。
【０００７】
同様に、データ・ビットは、適当な行に対応する語線ＷＬを起動することで語の個別セルから平行して読み出される。次にその行の各セルは、セルに保存された値によって、ＢＬＴビット線かまたはＢＬＣビット線の何れかをドライブする。保存されたビット値が１である場合、セルはＢＬＴビット線をドライブする。そうでない場合、セルはＢＬＣビット線をドライブし、保存されたビット値が０であることを示す。
【０００８】
内容探索は、一致線ＭＬと探索データ線ＭＴおよびＭＣを使用して達成される。すなわち、１つの探索データ線は、探索列中の対応するデータ・ビットによって配列中の各カラムについてアクティブにドライブされる。探索列中の対応するデータ・ビットが１である場合、真探索データ線ＭＴがドライブされる。そうでない場合、補数探索データ線ＭＣがドライブされ、０のデータ・ビットに対応する。語中の何らかのセルがその探索入力ビットと一致しない場合、対応する一致線ＭＬは、その語について一致が存在しないことを示す。しかし、探索列中の各ビットが配列の個々の行の各対応するビットに一致するならば、対応する一致線ＭＬは、その語について一致が発見されたことを示す。個々の設計によって、各一致線のプリチャージ状態は一致状態または不一致状態の何れかに対応する。どちらの場合でも、各一致線が必要に応じてドライブされ、その語に関する適当な探索結果を示す。
【０００９】
図１に示されるように、ＣＡＭメモリ１００は、ＣＡＭセル１０２の各行については２つの水平な線（すなわち、語線ＷＬと一致線ＭＬ）を必要とするだけだが、配列中のＣＡＭセル１０２の各カラムについては４つの垂直な線（すなわち、ビット線ＢＬＴおよびＢＬＣと探索データ線ＭＴおよびＭＣ）を必要とする。図１に示されるように、４つの異なった垂直線についてカラム・サポート回路を提供し、そのカラム・サポート回路のレイアウトのピッチをセルのピッチと一致させるためには、レイアウト範囲の高さは通常比較的大きくなければならない。利用可能なピッチが狭いため、このカラム・サポート回路のレイアウトは比較的非効率的になる。
【００１０】
図１および図２のＣＡＭメモリ１００のような従来のＣＡＭアーキテクチャにまつわるもう１つの問題はビット線負荷に関する。ＣＡＭメモリ素子中の各行は個別セルからのデータビットの読み出しおよびそこへの書き込みのために使用されるビット線にキャパシタンスと抵抗をもたらすが、これはインピーダンスを増大し、ひいてはそのデータ・アクセスの速度を低下させる。ＣＡＭメモリが、ＣＡＭメモリ１００の１０２４語といった比較的大きな数の語を有する場合、こうした全てのインピーダンスに起因するビット線負荷が、容認できないほど低いＣＡＭ性能に帰結することがある。用途によっては、ＣＡＭ性能の要求によってＣＡＭセル配列のサイズが１０２４行未満（例えば、最大５１２行）に制限されることがある。その結果、ＣＡＭメモリのサイズが、サポートされる語の数によって、その用途について制限される。
【００１１】
【課題を解決するための手段】
本発明は、改善されたアーキテクチャを有する連想記憶装置（ＣＡＭ）に関する。特に、本発明のＣＡＭメモリはカラム多重化を使用し、より効率的なレイアウトと低減されたビット線負荷の両方を提供する。その結果、本発明のＣＡＭメモリは、同じ量のデータをサポートする同等の従来技術ＣＡＭメモリより、小さなレイアウト・サイズと良好な性能の両方を有する。
【００１２】
１つの実施形態では、本発明はＣＡＭを有する集積回路であって、このＣＡＭは、（ａ）ｋが１より大きい整数である場合、配列を通るビットスライスが配列のｋ個のカラムに対応し、配列の各行がｋ個の語に対応するようにカラム多重化を使用して構成されたＣＡＭセルの配列と、（ｂ）配列中の各行に関する１組の行サポート回路と、（ｃ）配列中の各ｋ個のカラムに関する１組のカラム・サポート回路とを備えている。好適実施形態では、ｋは２であり、ＣＡＭセルの配列は２：１カラム多重化を使用して構成される。
【００１３】
【発明の実施の形態】
本発明の他の態様、特徴及び利点は、後述の実施例、添付された特許請求の範囲及び図面により、より一層明らかになるであろう。
図３は、本発明の１つの実施形態による、ＣＡＭメモリ３００のレイアウトの概略図を示す。図１のＣＡＭメモリと同様、ＣＡＭメモリ３００は１０２４の７２ビットデータ語をサポートする。しかし、７２カラムと１０２４行のセルの二次元配列を有するＣＡＭメモリ１００と異なって、ＣＡＭメモリ３００中のセル３０２の二次元配列は１４４カラムと５１２だけの行を有する。この配列構成は２：１カラム多重化を使用して達成されるが、そこではＣＡＭメモリ１００の垂直に積み重ねられたセルの各対が、ＣＡＭメモリ３００では２つの水平に配置されたセルとして再構成される。すなわち、配列の各ビットスライスは、配列セルの２つの行を含むが、その配列は２つのデータ語毎に１行のセルだけを有する。ＣＡＭメモリ１００中のセル配列がＮカラムとＥ行を有するとすれば、同等のＣＡＭメモリ３００中のセル配列は２ＮカラムとＥ／２行を有する。
【００１４】
ＣＡＭメモリ１００の場合のように、配列中のセルの各行について、ＣＡＭメモリ３００は１組の行サポート回路３０６を有する。しかし、配列中のセルのカラムの各対について、ＣＡＭメモリ３００は１組の２カラム・サポート回路３０４を有する。これは、セル配列中の各カラムについて異なった組の回路を有していたＣＡＭメモリ１００と異なっている。
【００１５】
図４は、図３のＣＡＭメモリ３００のセル・アーキテクチャの概略図を示す。すなわち、図４は、ＣＡＭメモリ３００の配列の１つの行から２つの水平に隣接するＣＡＭセル３０２を示す。図４のＣＡＭセルは、本発明の２：１カラム多重化によって再構成された図２のＣＡＭセルに対応する。２：１カラム多重化の結果、図４に示される２つのＣＡＭセルは、配列中のセルの同じ行にあっても、ＣＡＭメモリ３００の２つの異なったデータ語に対応する。図２のＣＡＭセルの場合と同様、各ＣＡＭセル３０２はデータの読み出しおよび書き込み用に、従来の６トランジスタＳＲＡＭコア・セル４０２を備えている。各ＣＡＭセル３０２はまた、４つの追加素子（例えば、ｎ−ＦＥＴ）を備えるＸＯＲ論理回路４０４を有し、内容探索機能をサポートする。
【００１６】
図４に示されるように、水平に隣接するＣＡＭセル３０２の各対へのアクセスは、語線ＷＬ、一致線ＭＬ０およびＭＬ１、ビット線ＢＬＴ０、ＢＬＣ０、ＢＬＴ１およびＢＬＣ１、局所探索データ線ＭＴおよびＭＣおよび大域探索データ線ＭＤＬＴおよびＭＤＬＣによって提供されるが、ここで各線は、個々の設計によって、プリチャージ・ハイでアクティブ・ローであるか、またはプリチャージ・ローでアクティブ・ハイであるかの何れかである。水平な語線ＷＬおよび一致線ＭＬ０／ＭＬ１は、対応する行中の各々および全ての対によって共有されている。同様に、垂直なビット線ＢＬＴ０／ＢＬＣ０／ＢＬＴ１／ＢＬＣ１は対応するカラム中の各々および全ての対によって共有されている。
【００１７】
データ・ビットは、適当な行に対応する語線ＷＬを起動し、各カラムについて適当なビット線ＢＬＴ０／１またはＢＬＣ０／１をパルスすることで語の個別セルに平行して書き込まれる。ビット線ＢＬＴ０／１をパルスすることで対応するセルに１が保存され、ビット線ＢＬＣ０／１をパルスすることで０が保存される。
【００１８】
同様に、データビットは、適当な行に対応する語線ＷＬを起動することで語の個別セルから平行して読み出される。次にその行中の各セルは、セルに保存された値によって、ＢＬＴ０／１線またはＢＬＣ０／１ビット線の何れかをドライブする。値が１の場合、セルはＢＬＴ０／１ビット線をドライブする。そうでない場合、セルはＢＬＣ０／１ビット線をドライブし、ビット値が０であることを示す。
【００１９】
図５は、図３のＣＡＭメモリ３００中のセルの２つの隣接カラム中のセルの対の間の局所および大域探索データ線の共有を示す概略図を示す。図５に示されるように、図４の場合のように、同じ語ビットに対応するＣＡＭメモリ３００中のセルの隣接カラムの各対は、セル３０２の２つかそれ以上の異なったブロック５０２に分割される。各ブロックのセルは同じ局所探索データ線ＭＴおよびＭＣを共有し、それが今度は１対のバッファ５０４を通じて大域探索データ線ＭＤＬＴおよびＭＤＬＣに接続される。わかりやすくするために、図３および図４の語、一致およびビット線は図５では示されていない。
【００２０】
水平に隣接するセルの各対の中の２つのセルは、図４の場合のように、同じ局所探索データ線を共有しているので、必要な垂直金属チャネルの数は、図２の従来技術のセルと比較してセル毎に１つ減少する。この余分な金属チャネルは、好適には、大域探索データ線のために使用される。大域探索データ線ＭＤＬＴ／ＭＤＬＣは配列を通じて垂直に通過する差動真／補数信号である。配列を通じて周期的に（すなわち、図５の場合セル・ブロック毎に１度）、Ｎ−ウェルおよび基板接点を含むギャップ行が追加される。このギャップ行は垂直に拡大してインバータを含み、大域探索データ線を局所探索データ線ＭＴ／ＭＣにバッファし、それが各配列セルに接続される。局所探索データ線ＭＴ／ＭＣは各配列セルのＸＯＲ入力をドライブする差動真／補数信号である。個々の設計によって、大域探索データ線がプリチャージ・ハイでパルス・ローであれば局所探索データ線がプリチャージ・ローでパルス・ハイであり、またはその逆である。大域および局所探索データ線の使用によって大域データ線の負荷が大きく低減され、ひいては内容探索に関するＣＡＭの性能が改善される。
【００２１】
再び図３および図４を参照すると、ＣＡＭメモリ３００に関する内容探索は、一致線ＭＬ０／ＭＬ１、局所探索データ線ＭＴ／ＭＣおよび大域探索データ線ＭＤＬＴ／ＭＤＬＣを使用して達成される。すなわち、１つの大域探索データ線が配列中のカラムの各対についてドライブされる。探索列中の対応するデータ・ビットが１であれば、真の大域探索データ線ＭＤＬＴがドライブされる。そうでない場合、対応するデータ・ビット０について、補数大域探索データ線ＭＤＬＣがドライブされる。大域探索データ線（ＭＤＬＴまたはＭＤＬＣ）をドライブすることで、図５のセルの各ブロックについて対応する局所探索データ線（ＭＴまたはＭＣ）がドライブされる。
【００２２】
ＣＡＭメモリ３００中のセルの各行は、２つの異なったデータ語に対応し、内容探索のため２つの異なった一致線（ＭＬ０およびＭＬ１）を必要とすることを想起されたい。すなわち、語中の何らかのセルがその探索入力ビットに一致しない場合、対応する一致線（ＭＬ０またはＭＬ１）は、その語について一致がないことを示す。しかし、探索列中の各ビットが配列の特定の語中の各対応するビットに一致するならば、対応する一致線（ＭＬ０またはＭＬ１）がドライブされ、その語で一致が発見されたことを示す。一致線ＭＬ０は、セルの行中の各々および全ての奇数番目のセルが対応する探索ビットと一致する場合に、一致を示す。同様に、一致線ＭＬ１は、セルの行中の各々および全ての偶数番目のセルが対応する探索ビットと一致する場合一致を示す。
【００２３】
図３に示されるように、ＣＡＭメモリ３００はＣＡＭセル３０２の各行について、３つの水平線（すなわち、語線ＷＬおよび一致線ＭＬ０およびＭＬ１）を有する。ＣＡＭセルの各行は２つのデータ語に対応するが、これはＣＡＭメモリ３００が、データ語の各対について４つの水平線を必要とする図１のＣＡＭメモリ１００と比較して、データ語の各対について水平線を３つだけ有するということを意味する。さらに、ＣＡＭメモリ３００は、ＣＡＭセルのカラムの各対について８つの垂直線を必要とするＣＡＭメモリ１００と比較して、ＣＡＭセル３０２のカラムの各対について６つの垂直大域線（すなわち、ビット線ＢＬＴ０、ＢＬＣ０、ＢＬＴ１およびＢＬＣ１および大域探索データ線ＭＤＬＴおよびＭＤＬＣ）を有する。ＣＡＭメモリ３００はまた、各セルについて２つの局所データ線ＭＴおよびＭＣを有するが、それらはサポート回路まで延びる大域データ線ではない。その結果、２カラム・サポート回路の各組で必要とされる構成要素の数は、従来技術のＣＡＭメモリ１００の各２組のカラムサポート回路で必要とされる構成要素の数より小さい。
【００２４】
図６は、本発明の１つの実施形態による、ＣＡＭメモリ３００中のセルのカラムの各対に関する２カラム・サポート回路３０４のブロック図を示す。２カラム・サポート回路３０４は、（ａ）書き込みデータを受信し、ビット線ＢＬＴ０／ＢＬＣ０／ＢＬＴ１／ＢＬＣ１に沿って伝送する入力ラッチ６０２および書き込みデータ・ドライバ６０４、（ｂ）探索データを受信し、大域探索データ線ＭＤＬＣおよびＭＤＬＴに沿って伝送する入力ラッチ６０６および探索データ・ドライバ６０８、並びに（ｃ）ビット線ＢＬＴ０／ＢＬＣ０／ＢＬＴ１／ＢＬＣ１から読み出しデータを受信し出力データとして伝送する２：１多重装置６１０、センス増幅器６１２および出力ラッチ６１４を備えている。ＣＡＭメモリ３００においてカラム復号器として動作する２：１多重装置６１０の存在によって、カラム・サポート回路中のセンス増幅器の数がさらに２分の１に減少する。
【００２５】
以前の検討の結果、ＣＡＭメモリ３００の行サポート回路の各組と、カラム・サポート回路の各組で必要とされる構成要素の数は、ＣＡＭメモリ１００の行およびカラム・サポート回路の同等の組で必要とされる構成要素の数より少なく、それによってサポート回路の各組についてレイアウト・サイズが減少する。さらに、ＣＡＭメモリ３００の２カラム・サポート回路のレイアウトはセルの２つのカラムのピッチに対応するので、カラム・サポート回路の各組の構成要素のより有効なレイアウトが可能になる。本発明における水平に隣接するセルの対の間の探索データ入力のより良好なエッジ接点の共有のため、セル配列自体のサイズも、従来技術の２つの垂直に隣接するセルの間の探索データ入力の構成と比較して、少なくとも２０％減少する。
【００２６】
２：１カラム多重化の使用によって、配列中の行の数は２分の１に減少する。すなわち、各カラム中のセルの数による容量性および抵抗性ビット線負荷の量も２分の１に減少し、その結果配列のアクセスがより高速となりＣＡＭ性能がより良好になる。その結果、性能の要求のためＣＡＭメモリのサイズを（例えば、５１２語に）制限していた用途も、今や本発明によって、より大きなサイズ（例えば、１０２４語）を有するＣＡＭメモリを使用して、ＣＡＭ性能を犠牲にすることなく実現できる。
【００２７】
本発明は、大域および局所両方の探索データ線を有するアーキテクチャの場合で説明されたが、これは本発明のカラム多重化の任意選択機能であることを理解されたい。本発明によるＣＡＭメモリは、こうした大域および局所探索データ線を配置せず、代わりに従来技術のように大域探索データ線のみによって、実現することもできる。本発明のカラム多重化が２：１より大きい比を使用して実現され、ビット線負荷のさらなる低減を達成できることも理解されたい。
【００２８】
さらに、本発明の性質を説明するために記述および例示された部分の細部、材料および配置構成の様々な変更が、当業技術分野に熟練した者には、以下の特許請求の範囲で表現されるような本発明の範囲から逸脱することなくなされることを理解することができるだろう。
【図面の簡単な説明】
【図１】１０２４の７２ビット・データ語をサポートする従来技術のＣＡＭメモリのレイアウトの概略図を示す。
【図２】図１のＣＡＭメモリのセル・アーキテクチャの概略図を示す。
【図３】本発明の１つの実施形態による、１０２４の７２ビット・データ語をサポートするＣＡＭメモリのレイアウトの概略図を示す。
【図４】図３のＣＡＭメモリのセル・アーキテクチャの概略図を示す。
【図５】図３のＣＡＭメモリ中のセルの２つの隣接カラムのセルの対の間の局所および大域探索データ線の共有を示す概略図を示す。
【図６】図３のＣＡＭメモリ中のセルのカラムの各対に関する２カラム・サポート回路のブロック図を示す。
【図１】
0003721035.tif 000002
【図２】
0003721035.tif 000003
【図３】
0003721035.tif 000004
【図４】
0003721035.tif 000005
【図５】
0003721035.tif 000006
【図６】
0003721035.tif 000007