JP2006309917A - Cam装置及びcam装置の救済方法 - Google Patents

Cam装置及びcam装置の救済方法 Download PDF

Info

Publication number
JP2006309917A
JP2006309917A JP2006005134A JP2006005134A JP2006309917A JP 2006309917 A JP2006309917 A JP 2006309917A JP 2006005134 A JP2006005134 A JP 2006005134A JP 2006005134 A JP2006005134 A JP 2006005134A JP 2006309917 A JP2006309917 A JP 2006309917A
Authority
JP
Japan
Prior art keywords
cam
search
address
test
repair
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006005134A
Other languages
English (en)
Other versions
JP4861012B2 (ja
Inventor
Hideto Matsuoka
秀人 松岡
Kazunari Inoue
一成 井上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2006005134A priority Critical patent/JP4861012B2/ja
Priority to US11/389,359 priority patent/US7469369B2/en
Publication of JP2006309917A publication Critical patent/JP2006309917A/ja
Priority to US12/265,869 priority patent/US7661042B2/en
Application granted granted Critical
Publication of JP4861012B2 publication Critical patent/JP4861012B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/74Selecting or encoding within a word the position of one or more bits having a specified value, e.g. most or least significant one or zero detection, priority encoders

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

【課題】低電力消費化が図れ、また製造歩留まりの向上が図れるCAM装置を得ること。
【解決手段】分割したサブアレイ毎に、3値メモリと一致比較回路とサーチライン活性化制御回路とを設け、まず、分割した複数のサブアレイを任意に指定できる第2の検索要求と3値メモリの保持値との一致比較によって任意のサブアレイを選択し、その選択されたサブアレイの一致比較回路において第1の検索要求によるデータ列をサーチライン活性化制御回路に与えるようにしたので、簡単なハードウェアの追加によって低消費電力化が図れる。このとき、分割した複数のサブアレイを検索対象となる場合とならない場合とに自在に制御することができるので、経路検索機器に用いる場合に、アプリケーションの要求する自由度に追従する分割が行えるようになる。
【選択図】 図1

Description

この発明は、“1”“0”“X(不定)”の3値を記憶してデータ等の検索に用いるCAM(Content Addressable Memory)装置(以降、単に「CAM」という)及び救済方法に関するものである。
“1”“0”“X”の3値を記憶するCAMは、TCAM(Ternary Content Addressable Memory)と称されるが、近年、ネットワーク機器のルータ、スイッチなどのアドレス経路検索の用途において頻繁に用いられるようになったメモリLSIのひとつである。以下、図24〜図28を参照して従来のCAMについて概略説明する。なお、図24は、ネットワーク機器の構成例を示すブロック図である。図25は、イーサネット(登録商標)フレームでのパケット構成を示す図である。図26は、図24に示すCAMの要部構成を説明するブロック図である。図27は、図26に示すCAMアレイの構成を示す回路図である。図28は、図27に示すTCAMユニットセルの記憶値と検索値との関係を説明する真理値表である。
図24に示すネットワーク機器は、CAM100と、制御部(CPU)200と、アクションメモリ(SRAM)300と、パケットバッファ(DRAM)400と、イーサネット(登録商標)のインタフェース部(Ingress、Egress)500とがスイッチ回路600を介して接続される構成である。CAM100は、検索部として、MACテーブル100aとIPテーブル100bとフィルタリングテーブル100cとを備えている。
図24に示すように、イーサネット(登録商標)フレームでのパケットは、−般的に規格化され、「Pre-amble」フィールドと、「SFD」フィールドと、「Destination」フィールドと、「Source」フィールドと、「Type/Length」フィールドと、「Transmitting Message」フィールドと、「PAD」フィールドと、「FCS」フィールドとで構成される。
図24において、ネットワーク上のパケットは、インタフェース部500のIngressから取り込まれる。そして、取り込まれたパケットのうち、ヘッダ部(DestinationとSource)は検索のためにCAM100に送られ、コンテンツ部(Transmitting Message)は検索が終了するまで内部保持するためにパケットバッファ(DRAM)400に送られる。
1つのパケットについて、通常、要求される検索処理は複数回である。例えば、MACテーブル100aを用いたMACの送信先、発信元の検索(L2検索)と、IPテーブル100bを用いたIPの送信先、発信元の検索(L3検索)と、フィルタリングテーブル100cを用いたTCP、UDPのフィルタリング(L4のフィルタリング)とが行われるので、1パケット当たり5回検索となる。CAM100では、検索を行ったIP送信先と一致するデータ列がCAM100の内部に見つかれば、その−致したアドレスを出力する。そして、CAM100は、今度はそのアドレスをインデックスアドレスとしてアクションメモリ300から実際に取るべきルールを読み出す。
このように、CAM100は、検索動作において、検索要求されたデータ列と一致があるか否かを高速に判定し、一致したアドレスを外部出力する機能を有する。その先のアクションメモリ300は通常SRAMが使用される。代表的なアクションとしては、送信先に向けて次のホップアドレスを指定する他に、不要なパケットを破棄するフィルタリングや、パケット処理の優先順位付けをするQoS(Quality of Service)などがある。アクションが決定されれば、ヘッダ部の書き換えを行い、パケットバッファ400に格納されていたコンテンツを付けてパケットを再生し、インタフェース部500のEgressからインターネット環境へと再び送信される。
次に、図26〜図28を参照して、図24に示すCAM100の構成と動作について概略説明する。図26において、図24に示すCAM100を構成するMACテーブル100aとIPテーブル100bとフィルタリングテーブル100cとは、それぞれ、基本的に、CAMアレイ110と、その外周囲に配置される行デコーダ106,センスアンプ105,検索線駆動回路102,マッチアンプ103及びプライオリティエンコーダ104とを備えている。入力ノードである入力ピン101には、行デコーダ106とセンスアンプ105と検索線駆動回路102とが接続されている。なお、マッチアンプ103は、センスアンプ105と同様に「センスアンプ」とも称されるが、ここでは機能を明確にするために、「マッチアンプ」と称している。
入力ピン101は、検索データ入力用途の他、CAMへの書き込み、読み出しのデータ入出力、さらにアドレス入力ピンとして使用される。CAMへの書き込みでは、入力ピン101から書き込みデータを与えると、センスアンプ105を介してビットライン(BL)に転送される。そして、入力ピン101から書き込みアドレスを与えると、行デコーダ106が対応するワードライン(WL)を駆動し、書き込みを完了する。全てのCAMアレイ110への書き込みが完了すれば、その後の動作は、殆どが検索動作である。
実際、ネットワーク機器で使用されるCAMでは、書き込み、読み出しではなく、検索動作がおよそ90%以上を占める。検索動作においては、同じ入力ピン101に今度は検索対象となるデータ列を検索要求として与えると、検索線駆動回路102がサーチラインSLを駆動する。検索対象となったデータ列とCAMアレイ110内データ列との一致不一致の判定結果は、各データ列単位に共通のマッチラインSL上に現れる。マッチアンプ103は、マッチラインSLの応答を高速に増幅する。そして、プライオリティエンコーダ104に伝達され、最終一致アドレスが出力ノードである検索結果出力ピン107から外部ヘ出力される。
図27に示すように、CAMアレイ110は、“1”“0”“X”の3値を保持するTCAMユニットセル111を行列方向に配置して構成されている。TCAMユニットセル111は、SRAMを2ビット用いて“1”“0”“X”の3値を保持するようになっている。書き込みと読み出しは、ビットラインBLとワードラインWLとを使用する。この動作はSRAMの動作と基本的に同じである。
検索動作では、前述の通り検索対象データに基づきサーチラインSLを駆動する。そして、一致比較の結果がマッチラインMLに現れる。マッチラインMLは、ワードラインWLで制御されるCAMのデータ列と共通化されている。マッチラインMLは、検索動作開始前にハイレベルにプリチャージされる。そして、全てのビットの比較において一致(ヒット:HIT)したデータ列のマッチラインMLだけが、ハイレベルを保持する(図28:ML=H)。逆に、1ビットでも不一致(ミス:MISS)した場合には放電してロウレベルになる(図28:ML=L)。
通常、L2検索の場合は第3の値“X”は使用しないので、一致するデータ列は唯一のアドレスであり、その他全てのアドレスのマッチラインMLは放電される。反面、第3の値“X”を使用するアプリケーションの場合には、複数アドレスが同時にヒット(一致)することがしばしば発生する(図28参照)。この場合には、プライオリティエンコーダ104は、最も値の小さいアドレスを優先的に扱い、エンコード出力する。
そのため、通常“X”値を持たないよりスペシフィック(Specific)なデータ列ほどアドレス番号の若い順に選り分けるようにアプリケーションにてメンテナンスされる(Longest Prefix Match)。プライオリティエンコーダ104では、各セルが上下に互いにコミュニケーションしあい、多数の一致(ヒット)が発生したときには、自分自身よりも上位下位にヒットがあるかないかを先ず判断し、その後エンコードアドレスを最終出力するようになっている。
このようなCAMは、従来のツリー法、ハッシュ法による検索と比較して一斉かつ並列に検索実行するので、高速かつ一定時間で処理が可能である。しかしながら、一斉並列検索は、メモリ全域を動作領域とするので、同時にメモリ全域が一度に活性化することを意味し、今日の18Mビットのような大容量CAMでは、検索動作時の消費電力が大きな問題となっている。具体的に言えば、通常のSRAMであればその消費電力は1W、2W程度であるのに対して、例えば18MビットのTCAMが100MHzクラスで検索動作した場合の消費電力は10W以上にもなる。基本的に消費電力は、その動作時の活性化領域に比例するものであり、高速検索性能を犠牲にせず、いかにその動作領域を削減するかが低消費電力化において重要である。そのような観点から、種々の検討がなされている(例えば非特許文献1,2等)。ここでは、別の観点から低消費電力化を図る従来例について説明する。
すなわち、CAMの検索動作に伴う消費電力の問題には、以上の説明から理解できるように2つの原因がある。第1は、検索対象となるデータ列をサーチラインSLの活性化という処理に変換していることである。上記したようにCAMアレイ上の全てのサーチラインSLは一斉並列に活性化される。第2は、サーチラインSLの活性化によって不一致となったデータ列のマッチラインMLは全て放電されるということである。前述の通り殆ど全てのマッチラインMLは充放電を繰り返す。実際、サーチラインSLとマッチラインMLとを除いてしまえばSRAMと構造動作は同じであり、消費電力も問題となるレベルではない。
パケット1つに対して検索動作は複数回要求される。これに対してCAMの容量が1Mビット程度と小さかった時代では、L2用、L3用などというように用途別に異なったCAMLSIを用意し、まずはL2用、次いでL3用などというように、最小限の活性化領域において検索を実行していたので、消費電力もそれ程問題にはならなかった。
そこで、今日の18Mビットのような大容量CAMにおいても、上記の例に倣って低消費電力化を図る方法が、例えば特許文献1(図29)や特許文献2(図30)に提案されている。図29と図30は、大容量CAMの低消費電力化を図る従来例を示すブロック図である。
図29において、110a〜110dはCAMサブアレイである。102a〜102dは検索線駆動回路であり、検索要求のデータ列が配置されるバスに並列に接続される。103a〜103dはマッチアンプであり、それらの出力が並列に出力バスに送出され、プライオリティエンコーダ104が取り出して外部に出力する。そして、4つのサブアレイを個別に指定できるアドレス変換ロジック回路(Address Translation Logic)120が設けられている。
この構成では、アドレス変換ロジック回路120が、バンクアドレス信号BS_0,BS_1,BS_2,BS_3を発行することで、4つのサブアレイは分割動作が可能となる。例えば、BS_0サブアレイをL2用、BS_1サブアレイをIP用と定義し、検索動作時にアドレス変換ロジック回路120からバンクアドレス信号BS_0,BS_1,BS_2,BS_3をそれぞれ発行することで、複数のサブアレイの全てが同時に活性化することを防止でき、低消費電力化を図ることができる。
また、図30では、CAMアレイを2分割し、かつ、各分割アレイを図29に示すように4つのサブアレイで構成した場合が示されている。図中、左方の第1分割アレイには検索要求(1/2)が入力され、右方の第2分割アレイには検索要求(2/2)が入力される。そして、左方の第1分割アレイにおけるマッチアンプ103a_1,103b_1,103c_1,103d_1の出力が、右方の第2分割アレイにおけるCAMサブアレイ110a_2,110b_2,110c_2,110d_2の対応するマッチラインに与えられ、第2分割アレイにおけるマッチアンプ103a_2,103b_2,103c_2,103d_2の出力が並列に出力バスに送出され、プライオリティエンコーダ104が取り出して外部に出力する。この構成では、まず、第1の分割CAMアレイにて検索を行い、一致したマッチラインMLを有するサブアレイに接続される第2の分割アレイのマッチラインMLのみが動作するので、低消費電力化が図れる。
ところで、CAMでは、上記した消費電力の問題に加えて、製造コストの問題も抱えている。メモリLSIは、約4年毎にテクノロジ世代が交代し、ほぼ一定の価格帯を保持しながら容量のみを2倍、4倍に拡張してきた。ビット単価で言えば、世代交代につき2分の一、4分の一となっている。しかし、CAMは、メモリLSIのひとつであるが、このトレンド則が全く当て嵌まらない。例えば、4.5MビットのTCAMの市場価格は、およそ50ドル、その4倍の容量である18MビットのTCAMの市場価格は200ドル以上である。市場価格を左右する要因には、同業社間での競合や需給バランスなど色々あるが、CAMのビット当たりの単価がSRAMと比較して約20倍以上も高価な理由は、製品コストに起因している。
メモリLSIにおいて、メモリ搭載容量が2倍、4倍になってもその価格、製造コストかほぼ一定に保てる理由は、微細化と歩留り向上に係る技術によるところが大きい。トランジスタや配線層等の形成に伴う微細化技術は単位面積当たりに搭載可能な素子数、メモリ容量を大幅に向上してきた。反面、搭載容量が大きくなるということは、それだけ、製造歩留まりを支配する欠陥の主原因であるゴミ(微粒子)の付着に対する感度が高まることを意味するので、製造歩留りが著しく低減してしまう。例えば、0.25um、0.15um、90nmと微細化技術が進むにつれ、単位面瑞当たりに搭載できるメモリ容量は大きくなっているが、製造上のテスト歩留りは一般的に低減する。しかしながら、メモリLSIの場合は状況が異なる。
メモリLSIの場合、製造上のテスト工程はプリテストエ程とポストテスト工程とに分かれる。プリテストとは、製造過程終了時点での救済措置(リペア)前のテスト、歩留りを示し、ポストテストとは、プリテスト後の救済措置後のテスト、最終歩留りを示す。このリペア技術こそが、今日のメモリLSIの市場価格をほぼ一定に保つことができる最大の理由である。
例えば、0.25um、0.15um、90nm技術におけるメモリLSIのプリテスト歩留りがそれぞれ60%、50%、40%とすると、リペア措置による救済は25%、35%、40%と増える。その結果、ポストテスト歩留りは85%、85%、85%と一定値を示し、これによって、搭載メモリ容量によらずほぼ一定の製造コストを実現することができる。この例のように微細化された技術ほどリペア技術の貢献度は大きい。CAMについて、搭載容量の増加時に一定のコスト構造、一定の市場価格が保てない理由は、このリペア技術と大きな関係があると言える。
CAMへのデータ書き込み、続み出しは、デコーダによって選択されたデータ列に対して実行される。一方、検索は、CAMアレイに対して一斉並列に実行され、その結果全てのデータが一致したアドレスが工ンコードされて外部に出力される。つまり、通常のメモリ(DRAMやSRAMなど)のメモリアレイでは、デコーダだけが隣接するのに対し、CAMメモリアレイではデコーダとエンコーダとが隣接する。加えて、TCAMの場合には、上記したように、“X”値の効果によって複数のデータ列が検索時に同時にヒットすることが頻繁に生ずるので、“X”値の最も少ない“0”、“1”で一致したデータを最終的なアドレスとしてエンコードするプライオリティエンコーダが一般的に採用される。
この場合、プライオリティエンコーダの搭載は、メモリセルの占有面積を低下させる。例えば、0.13umテクノロジを用いた18MビットのTCAMの場合、TCAMセルサブアレイ面積1に対し、デコーダは0.03の占有面積であるが、プライオリティエンコーダは0.19の占有面積があった。デコーダは、他のアドレスを同時に活性化し、I/O部分で再度ブロック選択するような技術が一般約であるが、プライオリティエンコーダは各アドレスにエンコーダセルを搭載しなければならない。
そして、上記したように、CAMを構成するアレイは、ビットラインBL、ワードラインWLの他に、サーチラインSLとマッチラインMLという信号配線を要する。つまり、例えば、SRAMが4層配線で製造されるテクノロジをベースにTCAMを作成すると、普通は、6層配線の製造技術を要し、プロセスが複雑化する。このことはCAMメモリセルがゴミ(微粒子)の付着に対して過敏になることを意味し、SRAMと同等のゴミ発生頻度である工場で製造したとしてもSRAMと比較してCAMの製造歩留りは低くなる。勿論、無理に4層配線まででCAMメモリセルを作成することも可能である。しかし、その場合には、セル面積が大幅に拡張し、結局は、ビット当たりの製造原価が高くなってしまう。
CAMの製造コストの低減を図る上で深刻な問題は、冗長回路搭載による救済技術(リペア技術)が採用し難いことである。SRAMであれば、ゴミ(微粒子)がメモリセルに付着して欠陥となったとしても、そのメモリセル、或いはメモリセル群を全く別の場所に用意された冗長回路と置き換えることで、外部からは恰も欠陥が無かったかのように振る舞うことができる。しかし、CAMでは、種々のテスト方法が提案されているが(例えば特許文献3〜7等)、幾つかの技術的な問題点があることから、リペア技術の適用が困難である。
リペア技術によって救済するには、まず、欠陥を呈したアドレスをテストによって正確に認識しなければならない。この点、SRAM、或いはCAMセルアレイ内のSRAM部だけについて言えば、ビット単位での書き込みと読み出しとが可能であるので、1アドレス・1ビットずつの書き込みと読み出しとを繰り返していけば、欠陥アドレスの認識、特定は比較的容易に行える。しかし、CAMの検索部においては、そのような不良アドレスの正確な認識が容易ではない。
すなわち、図27にて説明したように、マッチラインMLは、ワイヤード・オア接続方式で並列に接続される多数のCAMセルが有するデータ列(CAMのデータ列)と検索要求データ列とがビット毎に全て一致すれば、予めプリチャージされているハイレベルを維持し、逆に、1ビットでも不一致であれば、放電してロウレベルになる。
そのため、例えば或る種の欠陥によってマッチラインMLが放電してしまう場合、その欠陥が1ビットだけであれば、期待値が「HIT状態」となるようにした上で、1ビットずつデータを書き換えていくことで不良アドレスの検出は可能である。しかし、他にもう1ビットでもMISSが存在すると、このMISSビットからマッチラインMLが放電してしまい、欠陥を持つ検索ポートを含むセルは検出できないことになる。
以上は、水平方向のマッチラインMLにワイヤード・オア接続されるCAMセルの問題点であるが、垂直方向に存在する上記したようにプライオリティエンコーダも、リペア技術の適用を困難にしている。これには、2つの側面がある。
プライオリティエンコーダが持つリペア技術の適用を困難にしている第一の側面は、プライオリティエンコーダのセルが優先制御のために上下のセルとコミュニケーションするので、欠陥が発生したときに当該プライオリティエンコーダを全く別の場所に置き換えることを許容しないことを意味する点である。そのため、CAMでは、例えば特許文献8(図31)に示されるように、冗長回路搭載による救済技術は、通常メモリアレイには採用されるが、デコーダと比較して占有率が無視できないプライオリティエンコーダには採用されないので、セル占有率の低下は、そのまま製造歩留まりの低下を意味することになっている。
図31は、CAMの製造歩留まりを向上させる従来例を示すブロック図である。図31において、REDUNDANT ROW0,REDUNDANT ROW1によって冗長メモリアレイから読み出したデータ列RML0,RML1は、この明細書で言うマッチアンプに対応するセンスアンプRSA0,RSA1にて増幅され、冗長側のマッチライン出力Rmatch0,Rmatch1となる。一方、本来のメモリアレイから読み出したデータ列ML0〜MLnは、センスアンプSA0〜SAnにて増幅され、メモリアレイ側のマッチライン出力Match0〜Matchnとなる。
この信号とPRIORITY ENCODERへの入力信号線PEln0〜PElnnとの間にセレクタ114−0〜114−nが設けられている。このセレクタ114−0〜114−nは、欠陥がない場合はMatch側を入力信号線PEln0〜PElnnに接続し、欠陥が発生しリペアが必要な場合はRmatch側を入力信号線PEln0〜PElnnに接続するようになっている。この構成によれば、リペア後もPRIORITY ENCODERでは、CAM動作上で必要な上下のセルとの優先関係が守られている。
また、図32は、CAMにおいてメモリセル占有率を上げる場合の一例を示すブロック図である。通常、メモリLSIの設計は、セル占有率を優先的に考え、メモリのアレイ配置やサブアレイ配置が考案される。CAMの搭載容量が大きくなった場合、例えば図32に示す方法で、プライオリティエンコーダの占有率を小さくし、メモリセル占有率を上げることが行われている。
図32において、110_00〜110_0n,110_10〜110_1n,110_m0〜110_mnは、分割したサブアレイであり、それぞれに、冗長メモリアレイ108が設けられている。そして、サブアレイ110_00〜110_0nのマッチラインはマッチアンプ103_00〜103_0nを介して共通のマッチライン105_0に接続されている。サブアレイ110_10〜110_1nのマッチラインはマッチアンプ103_10〜103_1nを介して共通のマッチライン105_1に接続されている。サブアレイ110_m0〜110_mnのマッチラインはマッチアンプ103_m0〜103_0nを介して共通のマッチライン105_mに接続されている。共通のマッチライン105_0〜105_mは、104に接続されている。このように、マッチラインを階層化し、図32に示す例で言えばローカルのマッチラインが接続されるマッチアンプ103_00〜103_0mの出力をグローバルのマッチライン105_0に共通に接続してからプライオリティエンコーダ104に入力する方法も採用されている。
また、プライオリティエンコーダが持つリペア技術の適用を困難にしている第二の側面は、優先順位決定のアルゴリズムと関係する。すなわち、プライオリティエンコーダは、検索命令実行結果、単一のアドレスではなく、複数のアドレスが同時にヒットし、複数のマッチラインMLがハイレベルを維持した場合に、上記したように通常、最も小さいアドレスを優先的に出力するように構成されている。その結果、その優先されたアドレス以外の多数のアドレス群では、検索結果がHITであったのか、MISSであったのかは、その動作が正常に機能しているか否かを含めて無視されてしまう結果となっている。このように、プライオリティエンコーダの機能は、欠陥検出テストの本質とも言える確認容易性を阻害している。
USP 6,324,087号公報 USP 6,470,418号公報 特開平9−180498号公報 特開平6−131897号公報 特開平8−147999号公報 特開2002−260389号公報 特開平5−190788号公報 USP 6,751,755号公報 K.J.Schults,and P.G.Gulak,"Fully Parallel Integrated CAM/RAM Using Pre-classification to Enable Large Capacities"IEEE Journal of Solid-State Circuits,vol.31,No.5,pp.689-699(May 1996) H.Noda,K.Inoue,M.Kuroiwa,F.Igaue,K.Yamamoto,A.Hachisuka,H.J.Mattausch,T.Koide,A.Amo,S.Soeda,I.Hayashi,F.Morishita,K.Dosaka,K.Arimoto,K.Fujishima,K.Anami,and T.Yoshihara,"A cost-Efficient High-Performance Dynamic TCAM with Pipeline Hierarchical Searching and Shift Redundancy Architecture,"IEEE Journal of Solid-State Ciucuits,vol.40,No.1 pp.245-253(Jan 2005)
しかしながら、消費電力の低減に関しては、特許文献1に記載の技術では、各用途別テーブルサイズを容易に変更できないという問題がある。例えは、アプリケーションからみた場合、L2、L3と比較するとフィルタリングに要するテーブルサイズは2倍以上も大きい。また、フィルタリング検索も多様化しており、フィルタリングテーブル全てを検索対象とすることもあれば、さらに階層化してテーブルの一部だけが対象になるなど様々な自由度をもった制御ができることが望ましい。
また、特許文献2に記載の技術では、ユーザ所望のテーブルサイズに従って第1のCAMアレイデータ列をプログラムすることができるので、自由度の高いテーブルサイズ指定が可能であり、特許文献1にて提起した問題は回避できる。しかし、全てのデータ列が拡張CAMデータ列を有することになるので、そのハードウェア上のコストオーバヘッドが大きいことが新たな問題点となる。
また、CAMの製造コストに関しては、前述したように、CAMメモリセルの複雑さによるプロセス層数の増加、多配線層構造による歩留まり低下、及び優先制御のために他のメモリと同等の冗長回路搭載による救済技術が採用し難いことが原因となって、CAMでの救済措置は、他のメモリ(SRAMやDRAM)と比較して非常に貧弱であり、CAMの製造歩留まりは、他のメモリと比較して著しく低下する状況にある。その結果、ビット当たりの製造コストが増大し、市場価格が高くなっている。
そして、CAMの製造歩留まりを向上させる特許文献8に記載の技術では、前述したように、メモリ領域の欠陥に対してはリペア可能であるが、プライオリティエンコーダやセンスアンプなどで発生する欠陥はリペアできない。0.13umテクノロジを用いた18MビットのTCAMを例に挙げると、メモリアレイ対センスアンプ及びプライオリティエンコーダのエリア比は、およそ5:1である。モリアレイ対デコーダのエリア比が39:1であるのと比較すると、CAM特有のプライオリティエンコーダとマッチアンプ(センスアンプ)にリペア技術が要求されることは言うまでもない。
また、CAMのメモリセル占有率を上げる図32に示す方法では、グローバルのマッチラインのような信号配線を要し、微粒子の付着に対して益々耐久性が危なくなる。
ここで、一般的に、テストの結果によって判別される不良は、functional failure(以降、「動作機能不良」と記す)とmarginal failure(以降、「動作限界不良」と記す)とに大きく分類される。動作機能不良は、例えば温度や電圧など如何なるテスト条件下においても常時観測できるハードエラーを指し、主としてプロセスに起因する場合が多い。一方、動作限界不良は、例えば高い動作周波数領域や電圧の高い側のみのように、或る条件下でのみ不良が再現するもので、主として設計に起因する場合が多い。
プロダクションにおいて、動作機能不良と動作限界不良とのカテゴリ分けは、生産管理上、評価すべき重要なファクタである。例えば、動作機能不良が何時も高い不良率で発生している場合は、そのプロセス技術に技術的改善が要求される。また、動作機能不良の不良率はそれ程高くないが、或る種の動作限界不良の不良率だけが高い場合は、その製品特有の何らかの設計不具合に起因していることが考えられるので、その方面からの解析や改善が行われる。通常、動作限界不良は、動作機能不良よりも低い不良率で推移すべきものである。同一のプロセス技術であれば、製品対応で製造歩留まりに大きな差異が無いようにすべきである。
テストに関して言えば、実際のテスト時間の内訳として、動作機能不良を検出するテストよりも動作限界不良を検出する目的のテスト時間の方が、複雑であるので、テスト時間は長い。これには、動作限界不良に特有の或る種の加速されたテスト条件を作り出すためである。SRAMやDRAMでは、動作機能不良の他、動作限界不良やそれを検出するためのテストもよく研究されている。しかし、CAMについての動作限界不良やそれを検出するテスト方法の研究報告などは殆ど無い。
実際には、CAMが使用されるシステム環境は、SRAMやDRAMよりも遙かに厳しい。何故なら、前述したように、CAM単体で10W以上の消費電力があることから、LSIだけでなく、ボードを含めた電源インピーダンスの動作マージンに大きく影響するからである。工場出荷テストボード上ではパスしていたものが、ユーザが使用するシステムボード上では動作限界不良となることも充分に考えられる。したがって、システム上で動作機能不良と動作限界不良とを区別し、それぞれ検出できるテストを実施することは、CAMにとって製品出荷後の品質を確保する上で大きな意味がある。
この発明は、上記に鑑みてなされたものであり、少ないハードウェアの追加によって低消費電力化が図れるとともに、アプリケーションが要求する自由度に追従することのできるサブアレイの分割が可能なCAM装置を得ることを目的とする。
また、この発明は、困難とされてきたプライオリティエンコーダの冗長回路搭載による救済技術を採用して製造歩留まりの向上を図りビット単価の低減を可能にするCAM装置を得ることを目的とする。
また、この発明は、動作機能不良と動作限界不良とを区別してテストできるようにし、信頼性と品質向上とが図れるCAM装置及びCAM装置の救済方法を得ることを目的とする。
上述した目的を達成するために、この発明は、“1”“0”“X”の3値を記憶するメモリセルの行方向に配置される複数個によるデータ列と外部から与えられる検索データ列との並列比較を一斉に行い、データ列毎の比較結果を出力するCAMサブアレイの複数個で構成されるCAM装置であって、前記検索データ列が入力される第1の入力ピン、及び前記複数のCAMサブアレイを任意に選択指定する検索データ列が入力される第2の入力ピンを設け、前記各CAMサブアレイに、前記第2の入力ピンから入力される検索データ列に基づき当該CAMサブアレイを活性化するか否かを制御する活性化制御手段を設けたことを特徴とする。
この発明によれば、第2の入力ピンから入力される検索データ列に基づき選択されたCAMサブアレイのみが活性化されるので、選択されないCAMサブアレイでの電力消費はない。活性化制御手段は、簡単なハードウェアで構成することができる。そして、第2の入力ピンから入力される検索データ列を用いることで、分割した複数のサブアレイを検索対象となる場合とならない場合とに自在に制御することができるので、アプリケーションが要求する自由度に追従することのできるCAMサブアレイの分割が可能となる。
この発明によれば、少ないハードウェアの追加によって低消費電力化が図れるとともに、アプリケーションが要求する自由度に追従することのできるサブアレイの分割が可能なCAM装置が得られるという効果を奏する。
以下に図面を参照して、この発明にかかるCAM装置及び救済方法の好適な実施の形態を詳細に説明する。
実施の形態1.
図1は、この発明の実施の形態1によるCAM装置の要部構成を示す図である。なお、図1では、従来例(図12)に示した構成要素と同一ないしは同等である構成要素には同一の符号が付されている。ここでは、この実施の形態1に関わる部分を中心に説明する。この実施の形態1では、図1に示すように、従来例(図12)と同様にCAMアレイ110を4つのサブアレイ110a,110b,110c,110dで構成した場合において低消費電力化を図る構成例が示されている。
図1に示すように、この実施の形態1によるCAM装置では、従来例(図12)に示した構成において、各サブアレイでは、検索線駆動回路102(a〜d)に代えて検索線駆動回路13(a〜d)が設けられるとともに、3値メモリ10(a〜d)と、一致比較回路11(a〜d)と、一致比較回路12(a〜d)とが追加されている。そして、この実施の形態1によるCAM装置では、第1の検索要求が入力されるノードである第1のデータピン7と第2の検索要求が入力されるノードである第2のデータピン8とがそれぞれ設けられ、第1のデータピン7にバス15が接続され、第2のデータピン8にバス16が接続されている。この構成によってサブアレイ毎の活性化を制御し、低消費電力化を図るようになっている。なお、第1の検索要求は、従来例(図12)で示す本来の検索要求に対応している。第2の検索要求は、サブアレイを選択するデータ列である。図1では、CAMアレイは4つのサブアレイに分割されているので、第2の検索要求は、2ビットのデータ列である。
3値メモリ10(a〜d)には、“0”“1”“X”の3値が記憶される。但し、図1では、CAMアレイは4つのサブアレイに分割されているので、3値メモリ10(a〜d)は2ビット長であり、“0”“1”“X”の3値のうちの2値が記憶される。図示例では、サブアレイ110aに対する3値メモリ10aには“00”が記憶され、サブアレイ110bに対する3値メモリ10bには“01”が記憶され、サブアレイ110cに対する3値メモリ10cには“0X”が記憶され、サブアレイ110dに対する3値メモリ10dには“XX”が記憶されるとしている。
一致比較回路11(a〜d)の一方の入力は3値メモリ10(a〜d)の保持値であり、他方の入力はバス16に送出される第2の検索要求によるデータ列である。一致比較回路12(a〜d)の一方の入力は一致比較回路11(a〜d)の出力であり、他方の入力はバス15に送出される第1の検索要求によるデータ列である。一致比較回路12(a〜d)の出力は検索線駆動回路13(a〜d)に入力される。
図2は、図1に示すCAM装置が備えるサーチライン活性化制御回路の構成例を示す要部回路図である。図2において、検索線駆動回路13では、従来例(図12)で示す検索線駆動回路102において、サーチライン活性化制御回路20が追加された構成になっている。サーチライン活性化制御回路20は、サーチラインSLの駆動端に設けられるAND回路21と、サーチライン/SLの駆動端に設けられるNAND回路22とを備えている。要するに、このAND回路21及びNAND回路22の一方の入力端には、従来通りに第1の検索要求によるデータ列に従って生成したサーチラインSL,/SL用の論理値レベルが印加される。そして、このAND回路21及びNAND回路22の他方の入力端は、一致比較回路12の出力端に接続される一致判定ライン23に接続されている。
以上の構成によれば、まず、一致比較回路11(a〜d)にて、3値メモリ10(a〜d)の保持値とバス16に送出される第2の検索要求によるデータ列との一致判定が行われ、一致を検出した一致比較回路11が出力をHレベルにする。図1では、サブアレイ110bにおける一致比較回路11bが一致を検出し、出力をHレベルにする。他の一致比較回路11a,11c,11dでは一致を検出できず、それぞれ出力をLレベルにするとしている。これによって、4つのサブアレイの中の1つが選択される。
そして、その選択された1つのサブアレイにおいて、対する一致比較回路12がバス15に送出される第1の検索要求によるデータ列を取り込んで一致判定ライン23上に送り出すので、対する検索線駆動回路13では、サーチライン活性化制御回路20にてサーチラインSL,/SLが駆動制御され、その選択された1つのサブアレイ内のデータ列との一致比較が行われ、その比較結果に基づきマッチラインMLのHレベル維持とLレベルにする放電動作とが行われる。
一方、選択されない3つのサブアレイでは、対する一致比較回路11が出力をLレベルにしているので、対する一致比較回路12はバス15に送出される第1の検索要求によるデータ列を取り込まず、一致判定ライン23をLレベルに保持するので、対する検索線駆動回路13では、サーチライン活性化制御回路20が動作しない。
つまり、選択されない3つのサブアレイでは、サーチラインSL,/SLは、全て非活性化がされる。そこでのマッチラインMLはHレベルを維持する。つまり、電力消費は、選択された1つのサブアレイでのみ発生し、選択されない3つのサブアレイでは、発生しない。
このように、実施の形態1によれば、分割したサブアレイ毎に、3値メモリと一致比較回路とサーチライン活性化制御回路とを設け、まず、分割した複数のサブアレイを任意に指定できる第2の検索要求と3値メモリの保持値との一致比較によって任意のサブアレイを選択し、その選択されたサブアレイ一致比較回路において第1の検索要求によるデータ列をサーチライン活性化制御回路に与えるようにしたので、簡単なハードウェアの追加によって低消費電力化が図れるのに加えて、分割した複数のサブアレイを検索対象となる場合とならない場合とに自在に制御することができるので、経路検索機器に用いる場合に、アプリケーションが要求する自由度に追従した分割ができるようになる。
実施の形態2.
図3は、この発明の実施の形態2によるCAM装置の要部構成を示す図である。この実施の形態2では、CAMアレイを冗長化するとともに、製造歩留まりの向上を図る上でネックとなっていたプライオリティエンコーダを冗長化する構成例が示されている。
図3において、CAMアレイは、複数のサブアレイ30(30_00,30_01,・・、30_10,30_11,・・、30_m0,30_m1,・・)に分割する。そして、各サブアレイ30には、冗長回路31が設けられる。但し、冗長回路31は、従来のように特定の場所に設けてあるのではなく、実際に欠陥の発生したメモリセルを含む行方向の全メモリセルの組(データ列)の選択を回避することで作られるものである。
各サブアレイ30(30_00,30_01,・・、30_10,30_11,・・、30_m0,30_m1,・・)には、プライオリティエンコーダ33(33_00,33_01,・・、33_10,33_11,・・、33_m0,33_m1,・・)が1対1の関係で配置される。中間に示す32(32_00,32_01,・・、32_10,32_11,・・、32_m0,32_m1,・・)は、マッチラインの信号を増幅するマッチアンプである。
そして、プライオリティエンコーダ33(33_00,33_01,・・)の各出力端は、共通の出力ライン35_0に接続され、プライオリティエンコーダ33(33_10,33_11,・・)の各出力端は、共通の出力ライン35_1に接続され、プライオリティエンコーダ33(33_m0,33_m1,・・)各出力端は、共通の出力ライン35_mに接続されている。
図4は、図3に示す冗長化したプライオリティエンコーダの構成例及び図3に示すサブアレイとの関係を説明する概念図である。図4において、CAMエントリ40は、サブアレイ30において行方向のワードラインで操作されるメモリセルによるデータ列を示している。このデータ列は、図8に示した行デコーダ106によるアドレスと1対1に対応している。このデータ列と検索データとの比較結果が、ワードラインと1対1の関係で並置されるマッチラインのヒット信号Hitであり、マッチアンプ32を介してプライオリティエンコーダ33に入力される。
プライオリティエンコーダ33は、マッチアンプ32の出力(ヒット信号Hit)を受ける優先決定回路41と、優先決定回路41の出力を受けるシフタ42と、シフタ42の出力を受けてエンコード結果を出力ライン35に送出する下位アドレスエンコーダ43とを備えている。
優先決定回路41は、サブアレイ30において、或るアドレス長毎に、例えば8アドレス(以降8ビットという)毎に分割して設けられている。図5は、図4に示す優先決定回路の具体例を示す回路図である。図5に示すように、優先決定回路41は、8個のマッチアンプ32の出力(ヒット信号Hit)を受けて、その8ビットの中で最下位ビットから上位ビットに向かって順に優先決定を行い、最終的に1つのアドレスビットを指定して出力するように構成されている。この構成によれば、優先決定を8ビット毎に行うので、例えば、ビット0〜ビット7までの中で優先的に出力するアドレス、ビット8〜ビット15までの中で優先的に出力するアドレスが、それぞれ独立して存在する。
シフタ42は、シフトレジスタ42aとこのシフトレジスタ42aの保持値を制御信号とする2入力1出力のセレクタ42bとを備えている。シフトレジスタ42aには、テスト工程にて検出された、どこで欠陥が発生しているかの情報が設定されている。例えば、メモリセルについてであれば、シフトレジスタ42aには、CAMエントリ40に対してリード、ライトを行って検出された欠陥アドレスがヒューズブローなどの方法でロードされている。セレクタ42bの各入力端には、優先決定回路41の出力のうち、上位と下位に隣接する2つの出力がそれぞれ入力される。これによって、このシフタ42では、記憶している欠陥情報に関わる優先決定回路41の出力以外を選択することができる。欠陥情報がCAMエントリ40に対するものであれば、記憶している欠陥となったエントリアドレスのエントリ(データ列)を回避するように動作するようになっている。この選択動作は、図4に示すように、優先決定回路41の各8ビット出力に、上位側1ビットと下位側1ビットとを加えた合計10ビットに対して行われる。
すなわち、図4において、例えば、エントリアドレス5で欠陥が発生した場合、シフトレジスタ42aの0ビット目のシフト段から5ビット目のシフト段までは“0”をロードし、6ビット目のシフト段以降には“1”をロードすれば、シフトレジスタ42aの0ビット目のシフト段から5ビット目のシフト段までに対応するセレクタ42bでは、優先決定回路41の出力のうち上位側出力を選択し、シフトレジスタ42aの6ビット目のシフト段以降に対応するセレクタ42bでは、優先決定回路41の出力のうち下位側出力を選択するように動作するので、エントリアドレス5は、選択されず下位アドレスエンコーダ43には入力されないことになる。
図6は、図4に示す下位アドレスエンコーダの具体例を示す回路図である。下位アドレスエンコーダ43は、優先決定回路41と同様に、8アドレスビット毎に分割され、優先決定回路41と同じ分割アドレスを用いて、セレクタ42bの出力を制御信号とし、下位側の3ビットアドレス(A0〜A2)をデコードして出力するようになっている。A3以降は、冗長回路がない場合と同様である。
シフタ42を経由したヒット信号Hitは、既に8ビット単位に優先決定処理が終了しているので、活性化されるのは、8ビットアドレスについて唯一つである。下位アドレスエンコーダ43では、この信号を用いてA0〜A2のエンコードを行う。エンコードするアドレスは、8ビットずつブロック分割されているので、この単位で救済が可能となる。
つまり、最終出力8ビットに対して上位1ビット、下位1ビットを加えた計10ビットから、シフタ42の選択によって欠陥アドレスの置き換えが可能である。このように8ビット単位での救済処理が完了した下位の3ビットアドレス(A0〜A2)が下位アドレスエンコーダ43の出力に現れる。A3以降は、従来例で説明したプライオリティエンコーダ104にて最終的に優先決定が行われる。
このように、実施の形態2によれば、分割されたサブアレイ毎にプライオリティエンコーダを設け、かつ当該いわゆるローカルのプライオリティエンコーダを一定数のアドレス毎に優先決定を行ってエンコードする構成に分割し、欠陥が発生したエントリを記憶しておき、優先決定してエンコードする過程で、欠陥が発生したエントリを回避できるようにしたので、サブアレイ内のメモリセルとプライオリティエンコーダ、両者の間に介在するマッチアンプのいずれで欠陥が発生した場合でも救済が可能となる。
つまり、SRAMやDRAMなどのメモリLSIと同様の冗長回路による救済措置をプライオリティエンコーダにも適用できるので、CAMの製造歩留まりを向上させることが可能となり、ビット単価の低減が期待できる。
以上、低消費電力化の構成方法と、プライオリティエンコーダが持つリペア技術の適用を困難にしている第一の側面に対する解決策であるプライオリティエンコーダの冗長構成方法とを説明したが、次に、実施の形態3〜9として、動作機能故障と動作限界故障との救済措置を採る構成方法について説明する。以下にその概要を示す。
(1)実施の形態3(図7、図8)は、リペア技術による救済を図る上で必要になる不良アドレスの正確な認識を可能にし、動作機能故障を呈したCAMセルのアドレスを容易に特定できるテスト回路の構成方法に関する。(2)実施の形態4(図9、図10)は、プライオリティエンコーダが持つリペア技術の適用を困難にしている第二の側面に対し、各マッチラインにおいてHIT状態とMISS状態とを検証可能にするテスト回路の構成方法に関する。(3)実施の形態5(図11〜図16)は、CAMで懸念される消費電力の大きさに起因する電源ノイズによる動作限界故障を検出するために不良の加速条件を与えるテスト回路の構成方法に関する。
(4)実施の形態6(図17)は、(イ)ユーザ側でのシステム搭載時のボード条件を想定した動作限界故障検出テストが実施でき、テスト結果、不良が発生した場合はその不良アドレスを記憶し、ユーザ側においてシステムからその不良アドレスの使用を回避できるようにしてシステムの品質維持を図る構成方法と、(ロ)ユーザ側でのシステム搭載時のボード条件を想定した動作限界故障検出テストが実施でき、テスト結果、不良が発生した場合はその不良アドレスを記憶し、ユーザ側においてシステムからその不良アドレスに基づき救済措置が採れるソフトリペア領域をCAMLSIに形成してシステムの品質維持を図る構成方法に関する。
(5)実施の形態7(図18、図19)は、(イ)製造側では製造過程で検出した動作機能故障をハード的に救済(ハードリペア)して出荷し、ユーザ側では受け入れテストにおいて検出した動作限界故障のアドレスを回避する措置をシステムとして施すことで、システムの品質維持を図る構成方法と、(ロ)CAMLSIにユーザ側が使用するソフトリペア領域を設け、製造側では製造過程で検出した動作機能故障をハード的に救済(ハードリペア)して出荷し、ユーザ側では受け入れテストにおいて検出した動作限界故障のアドレスをソフトリペア領域を使用して救済することで、システムの品質維持を図る構成方法に関する。(6)実施の形態8(図20〜図22)と実施の形態9(図23)は、CAMLSIに動作機能故障を救済するハードリペア機構と動作限界故障を救済するソフトリペア機構とを共に搭載し、信頼性と品質向上とを図る構成方法に関する。
実施の形態3.
この発明の実施の形態3では、図7と図8を参照して、全CAMセルの機能をマッチライン毎にテストする回路について説明する。なお、図7は、全CAMセルの機能をマッチライン毎にテストする回路のうちHIT機能のテスト回路を説明する図である。図8は、全CAMセルの機能をマッチライン毎にテストする回路のうちMISS機能のテスト回路を説明する図である。
図7と図8では、或る一つのマッチラインMLに、ワイヤード・オア接続方式で並列に接続されるアドレス<0>からアドレス<N−1>までのN個のCAMセルが示されている。各CAMセルは、簡略化して示してあるが、マッチラインMLと接地電位(グランド)との間にメモリセルMCと、サーチラインSLがゲート電極に接続される検索用トランジスタとを直列に配置した構成である。
マッチラインMLは、ワイヤード・オア接続方式で並列に接続される多数のCAMセルのメモリセルMCが有するデータ列(CAMのデータ列)とサーチラインSLに乗せられてくる検索要求データ列とがビット毎に全て一致(HIT)すれば、予めプリチャージされているハイレベルを維持し、逆に1ビットでも不一致(MISS)があれば、放電してロウレベルになる。
前述したように、この構成では、例えば或る種の欠陥によってマッチラインMLが放電してしまう場合、その欠陥が1ビットだけであれば、期待値が「HIT状態」となるようにした上で、1ビットずつ検索データを書き換えていくことで不良アドレスの検出は可能であるが、他にもう1ビットでもMISSが存在すると、このMISSビットからマッチラインMLが放電してしまい、欠陥を持つ検索ポートを含むセルは検出できないことになる。
そこで、この実施の形態3では、まず、図7に示すように、CAMのデータ列の全てについての検索結果が「HIT」となる状態を保ちつつ、CAMのデータ列いついて、ビット・バイ・ビットの方法で1ビットずつ、検索データ0と検索データ1の両方についてテストすることで、ビット単位で「HIT状態」が正常に機能できるか否かを確認する。
図7では、第一回目のテスト(1)として、全て“0”の検索データ列から全て“1”検索データ列まで1ビットずつ論理値を違えた検索データ列を用意し、この順に、その1ビットずつ論理値を違えた検索データ列をCAMのデータ列として各メモリセルMCに書き込み、サーチラインSLに対応する検索データ列を乗せて1ビット単位での「HIT機能」の有無を確認する。次にデータを入れ替えた第二回目のテスト(2)として、最下位ビットだけ“0”で残りは全て“1”である検索データ列から全て“0”の検索データ列まで1ビットずつ論理値を違えた検索データ列を用意し、この順に、その1ビットずつ論理値を違えた検索データ列をCAMのデータ列として各メモリセルMCに書き込み、サーチラインSLに対応する検索データ列を乗せて1ビット単位での「HIT機能」の有無を確認する例が示されている。
そして、全セルについて「HIT状態」が正常に機能できるか否かの確認ができると、図8に示すように、今度は、逆にCAMのデータ列の全てについての検索結果が1ビットだけ「MISS」となる状態を保ちつつ、CAMのデータ列いついて、ビット・バイ・ビットの方法で1ビットずつ、データ0とデータ1の両方についてテストすることで、ビット単位で「MISS状態」が正常に機能できるか否かを確認する。
図8では、第一回目のテスト(1)として、1ビットだけ検索データ0のときに「MISS状態」となり、残りの全てのビットは「HIT状態」となるようなCAMのデータ列を、CAMセルの最下位ビットから最上位ビットまで順に、各メモリセルMCに書き込み、サーチラインSLに対応する検索データ列を乗せて1ビット単位での「MISS機能」の有無を確認する。次にデータを入れ替えた第二回目のテスト(2)として、1ビットだけ検索データ1のときに「MISS状態」となり、残りの全てのビットは「HIT状態」となるようなCAMのデータ列を、CAMセルの最下位ビットから最上位ビットまで順に、各メモリセルMCに書き込み、サーチラインSLに対応する検索データ列を乗せて1ビット単位での「MISS機能」の有無を確認する例が示されている。
これによって、ビット単位でHITに対するMISSの不良が検出できるので、リペア技術による救済を図る上で必要になる不良アドレスの正確な認識が可能となり、動作機能故障を呈したCAMセルのアドレスが容易に特定できるようになる。
実施の形態4.
図9は、この発明の実施の形態4によるCAM装置が備えるマッチライン毎にHIT状態とMISS状態とを検証可能にする構成を説明する全体構成図である。この実施の形態4では、プライオリティエンコーダの優先度判定アルゴリズムがマッチライン毎のHIT状態及びMISS状態の検証を困難にしている第二の側面に対処した構成例について説明する。
図9に示すように、この実施の形態4によるCAM装置では、全てのマッチラインML(ここでは、アドレス0のマッチラインML<0>〜アドレスM−1のマッチラインML<M−1>のM本であるとする)が、それぞれマッチアンプ50を介してプライオリティエンコーダ51に接続される場合に、マッチラインML毎に、マッチアンプ50の出力端とプライオリティエンコーダ51との間に、マッチアンプ50の出力が分岐入力するテスト回路52と、マッチアンプ50の出力とテスト回路52の出力とが入力するセレクタ53とを設けられている。
各テスト回路52及びセレクタ53には、共通に、テストモードと通常動作モードとを指定するモード指定信号(テスト/非テスト)が入力される。各セレクタ53は、モード指定信号(テスト/非テスト)が、「テスト(テストモード)」であるときはテスト回路52の出力をプライオリティエンコーダ51に与え、「非テスト(通常動作モード)」であるときはマッチアンプ50の出力をプライオリティエンコーダ51に与えるように動作する。
各テスト回路52は、例えばAND回路52aとインバータ回路52bとセレクタ52cとを備えている。AND回路52aは、一方の入力がモード指定信号(テスト/非テスト)であり、他方の入力がマッチアンプ50の出力である。AND回路52aの出力は、直接セレクタ52cの一方の入力となり、またインバータ回路52bを介してセレクタ52cの他方の入力となっている。各セレクタ52cの出力が上記したテスト回路52の出力として対応するセレクタ53に入力される。
AND回路52aは、モード指定信号(テスト/非テスト)が、テストモードであるときはマッチアンプ50の出力をテスト回路52内に取り込み、通常動作モードであるときはマッチアンプ50の出力をテスト回路52内に取り込まない。図示例では、モード指定信号(テスト/非テスト)は、テストモードであるときは“1”レベル(Hレベルともいう)であり、通常動作モードであるときは“0”レベル(Lレベルともいう)である。
そして、各テスト回路52では、テストモードであるときに、セレクタ52cの制御信号として、テストするマッチラインMLの指定信号(テストML/非テストML)が個別に入力される。セレクタ52cは、テストするマッチラインMLの指定信号(テストML/非テストML)が、「テストML」であるときはAND回路52aの出力を選択し、「非テストML」であるときはインバータ回路52bの出力を選択するように動作する。
ここで、テストするマッチラインMLの指定信号(テストML/非テストML)は、着目する1つのマッチラインMLにおけるセレクタ52cには、「テストML」を与え、残りの全てのマッチラインMLにおけるセレクタ52cには、「非テストML」を与えるようになっている。これによって、図示例では、テストモードであるときに、着目する1つのマッチラインMLにおけるセレクタ52cは、AND回路52aが出力するHレベルを対応するセレクタ53を介してプライオリティエンコーダ51に与える一方、残りの全てのマッチラインMLにおけるセレクタ52cは、インバータ回路52bが反転出力するLレベルを対応するセレクタ53を介してプライオリティエンコーダ51に与えることになる。
次に、図10を参照して動作について説明する。なお、図10は、図9に示すテスト回路によるテスト方法を説明する図である。テストモード時では、着目するマッチラインMLを1つずつ順番に指定する。つまり、図10に示すように全てのマッチラインMLを、マッチラインML<0>からマッチラインML<M−1>まで順番に指定するとすれば、マッチラインML<0>のテスト時では、マッチラインML<0>がenable(有効)となり、HITの情報がプライオリティエンコーダ51に伝達される一方、マッチラインML<1>〜マッチラインML<M−1>は全てdisable(無効)=LレベルとなりHITの情報はプライオリティエンコーダ51に伝達されない。
以降、マッチラインML<M−1>まで同様であって、プライオリティエンコーダ51には、各回のテストにおいて、1つのマッチラインMLのHITの情報が入力され、他の残り全てのマッチラインMLはLレベルになりそれらのマッチラインMLでのHITの情報が入力されない。
プライオリティエンコーダ51は、HIT状態を示すマッチラインMLが複数本あるときに、その中のアドレスが一番小さいマッチラインMLを優先選択するので、上記のように、常に、1つのマッチラインMLのみがHIT状態を示す状況下では、優先度判定の機能は働かず、単にエンコーダとして機能することになる。
したがって、マッチラインML毎にpass(パス)/fail(フェイル)の判定を認識できるので、全てのCAMセルについて、実施の形態3にて説明したビット・バイ・ビットの方法で1ビットずつ動作機能故障の検出テストを容易に実施できるようになる。
実施の形態5.
この発明の実施の形態5では、図11〜図16を参照して動作限界故障の検出を可能にする構成例について説明する。図11は、この発明の実施の形態5によるCAM装置が備える不良の加速条件を与える構成を説明する全体構成図である。図10に示すように、CAMは、CAMアレイ60の周囲に、サーチラインSLを駆動して検索動作を行う検索線駆動回路61と、ビットラインBLを駆動してセルへの書き込みを行う書込駆動回路62とが対向して配置され、またマッチラインMLの状態を取り込むプライオリティエンコーダ63が配置される。そして、検索線駆動回路61及び書込駆動回路62には、外部から検索データ列及び書込データ列が入力されるが、この実施の形態5では、書込駆動回路62への書込データ列の入力ラインにテスト回路64が設けられる。なお、読み出し回路系は示してない。
図12は、図11に示すテスト回路の具体的な構成例を示す回路図である。図12に示すように、テスト回路64は、例えば、a、b、c(a<b<c)の3種類の遅延時間をセレクタ66によって選択して書込駆動回路62への書込データ列に与える遅延時間調整回路である。このテスト回路64は、図13〜図15に示すような動作限界故障を想定して設けてある。なお、図13は、動作限界故障の一例としてメモリセルにマージン不良が存在する場合を説明する図である。図14は、マージン不良が無い場合と有る場合とでメモリセルの動作を説明する図である。図15は、電源ノイズが動作限界故障に与える影響を説明する図である。
図13に示すように、CAMアレイ60における各メモリセル(MC)は、メモリ(SRAM)用トランジスタ67と、検索用トランジスタ68とで構成される。メモリ(SRAM)用トランジスタ67は、ワードラインWL及びビットラインBL、/BLに接続される。また、検索用トランジスタ68は、マッチラインML及びサーチラインSLに接続される。
ここで、SRAMやDRAMでは、書き込みが完了しない状態で、同一のメモリセルに対して直ちに読み出しが行われると、完全にメモリセルのノードが安定しない状態、つまりセルノードが電源Vddレベル、GNDレベルに到達しない状態で、ビットラインBL、/BLに接続されるので、ビットラインBL、/BL間に読み出される電位差が正常値よりも少なくなる。そのため、センスアンプは正常通りの時間内に増幅することが難しくなり、センスアンプで読み出しエラーを起こす可能性がある。最悪の場合、ビットラインBL、/BLに接続された瞬間にセルのデータが反転するおそれもある。
このように、SRAMやDRAMでは、書込命令Writeの実行後に、同一のメモリセルに対して直ちに読み出し命令Readを実行することは、メモリセルが正常通りにバランスを保った状態で製造できているか、動作しているか、アンバランスによる動作限界故障が起こる可能性はないか、をテストする有効な手段であることから、一般的に行われている。
CAMにおいても、書込命令Writeの実行後に、検索命令Searchを直ちに実行する場合に、図14に示すように、同様のことが起こるので、同様にマージン不良をテストする手段として使用することができる。
図14では、書込命令Writeを実行したクロックCLKの次のクロックCLKで検索命令Searchが実行される場合の動作が示されている。図13に示すようなメモリセル(MC)において、マージン不良が無く正常である場合は、図14のMC(正常)に示すように、書き込みを行ったクロックCLKの周期内に書き込みが完了するので、次のクロックCLKで検索が行われても、セルノードが正しく接地電位(GND)レベルに到達しているので、検索用トランジスタ68が誤動作することは無い。
しかし、図13において、メモリ(SRAM)用トランジスタ67内の丸印で囲って示すトランジスタが何らかの事情で、例えば製造上の欠陥でアンバランスになると、図14のMC(マージン不良)に示すように、書き込み完了に要する時間が正常時よりも長くなり次のクロックCLKに跨ることが起こる。そのため、書き込みを行ったクロックCLKの次のクロックCLKで検索命令が実行されると、セルノードが反転して直ぐに、或いは反転している過程でサーチラインSLが駆動されるので、セルノードが正しく接地電位(GND)レベルに到達していない状況となり、検索用トランジスタ68が誤ってオン動作してしまい、マッチラインMLが誤って放電されてしまう(図14のMLに丸印で囲って示す)という動作限界故障が起こる。
次に、CAMは、動作中の消費電力が非常に大きいので、電源ノイズも他のメモリよりも多く発生する。この電源ノイズも、以上のようなマージン不良に大きく関係する(図15参照)。図15では、書込命令Writeを実行したクロックCLKの次のクロックCLKで検索命令Searchが実行される場合の、書き込み信号、サーチラインSLに乗せた検索信号、検索時に電源レベル及び接地電位(GND)レベルに発生するノイズ、2つのメモリセル(MC−1,MC−2)での動作波形とが示されている。
図15に示すように、電源レベル及び接地電位(GND)レベルにノイズが発生し電源レベルが低下すれば、セルノードが書き込み完了するまでの時間が長くなり、または単にノイズによって被ったアンバランスを正常状態に戻す時間も長くなり、この動作限界故障を加速することが起こる。
このような動作限界故障の指標を与える動作マージンは、CAMLSI内部の電源の他に、パッケージ、ボードを含めたインピーダンスやインダクタンス等の差異に起因するセルアンバランスに大きく左右されることになる。CAMLSIの出荷テストの環境下では良品判定であったが、ユーザのシステムボードの電源状態において不良判定となる場合の多くは、この電源周りの条件の差異に起因する動作限界故障であるようである。
そこで、この実施の形態5では、図11と図12に示すように、遅延時間調整を行うテスト回路64によって、図16に示すようにa、b、c(a<b<c)の遅延時間毎に、メモリセルへの書き込みからサーチラインSLが活性化するまでの時間を調整できるようにしている。
図16は、図11に示す不良の加速条件を与える構成の動作を説明する図である。図16では、a、b、cの遅延時間毎の書込駆動回路62の動作状態と、ビットラインBL上のpass/failと、サーチラインSLの活性化との関係が示されている。図16に示すように、メモリセルへの書き込みからサーチラインSLが活性化するまでの時間を遅延時間a,b,cと長くする調整を行うことで、動作限界故障の因子を持つメモリセルを加速してテストすることができる。
したがって、例えば、CAMLSIの出荷テストにおいて、ノーマルモードと同じ遅延時間aの条件下でpass(合格)である場合に、ユーザのシステムボードに実装した状態では、遅延時間b或いは遅延時間cのように、書き込みに更に時間を要するような電源ノイズが発生することを想定して、つまりユーザ側での動作限界故障の発生を予期して、遅延時間を遅延時間aではなく、遅延時間b或いは遅延時間cのように加速した状態に調整して出荷品とすることが可能となり、信頼性と品質の向上が図れる。
加えて、この実施の形態5では、図14にて説明したように、書き込みと検索とのテストを、書き込みを行ったクロックの次のクロックで検索を行うことで、動作限界故障を発生する可能性の有るメモリセルのアドレスが特定できるので、前もってそのアドレスをヒューズブローなどの方法で救済措置が採れる冗長回路(ハードリペア領域)に設定して出荷することが可能となり、同様に信頼性と品質の向上が図れる。
実施の形態6.
図17は、この発明の実施の形態6によるCAM装置が備えるユーザ側でのソフトリペアを可能にする構成を説明する全体構成図である。図17では、CAM装置において、ソフトリペア領域(ソフト的に救済措置を採ることができる冗長回路)70と、レジスタ71とが追加されている。ソフトリペア領域70とレジスタ71とは、データピン74からアクセスできるようになっている。
CAMアレイ72では、実施の形態5にて説明したように、動作限界故障を発生する可能性の有るメモリセルの検出テストを行い、ユーザ側での電源環境下で発生する電源ノイズを想定して加速した状態(図12、図16の例で言えば、遅延時間b或いは遅延時間c)で救済措置を採るが、この実施の形態6では、その不良エントリアドレスがプライオリティエンコーダ73からレジスタ71に設定され、この状態で出荷される。
通常、ユーザ側では、流通過程における故障パーツを実装前にリジェクトすることやLSI製品ベンダー側での出荷テストが適切に行われているか否かを検証する目的で、受け入れテストを実施する。実施の形態5にて説明したようなメモリセルのアンバランスに起因する動作限界故障を予期したテストを施して出荷したCAMLSIは、ユーザ側での電源環境下で発生する電源ノイズを想定して加速した状態で救済措置を採ってあるので、基本的にはユーザ側の受け入れテストで同様の不良が発生する可能性は低い。しかし、ユーザ側のシステムボードの状態やCAMの駆動方法などによっては、ベンダー側で予期できなかった不良が発生する可能性はゼロでない。
つまり、実施の形態5によるCAMは、図12、図16の例で言えば、遅延時間b或いは遅延時間cに加速した状態で救済措置を採って出荷されるので、ユーザ側が遅延時間aの状態でテストしても、動作限界故障が発生する可能性は基本的には無いはずであるが、上記したようのにユーザ側の実際の電源状態によっては、可能性ゼロとは言えない。
そこで、この実施の形態6では、各メモリセルの通常状態(図12、図16の例で言えば、遅延時間a)をユーザ側にBIST(built in selftest)としてリリース(公開)しておく。そして、ユーザ側の受け入れテストにおいて万一不良が発生した場合には、ユーザ側にてシステムからデータピン74を通してレジスタ71に格納した不良エントリアドレスを認識し、ソフトリペア領域70を利用して救済措置を採ることができるようにしている。
但し、ソフトリペア領域70は、必ずしも必要ではなく、レジスタ71に格納する不良エントリアドレスの数が少ない場合は、不要にすることができる。すなわち、レジスタ71に格納する不良エントリアドレスが、例えば1つ或いはごく少数であれば、ユーザ側では、システムとしてそのアドレスのみを回避(削除)してCAMLSIを使用することが簡単にできる。
これによって、ユーザ側では、CAMLSIの不良に関わらずシステム全体の品質を保つことができる。また、ベンダー側としても、CAMLSIの品質向上の効果が期待できる。
実施の形態7.
この発明の実施の形態7では、図18、図19を参照して、CAMLSIのベンダー側でのハード的なリペア措置とユーザ側でのソフト的なリペア措置との組み合わせによって品質向上を図る場合について説明する。なお、図18と図19は、CAMLSIのベンダー側とユーザ側との協同作業によって品質向上を図る場合を説明するフローチャートである。
図18では、CAM装置がハードリペア機構のみを搭載する場合の救済手順が示されている。すなわち、図18において、LSIベンダー側では、製造工程において(ST1)、動作機能故障を検出するテストを実施して不良アドレスを認識すると(ST2)、ヒューズブローなど一般的に採用されるハード的なリペア措置を採り(ST3)、出荷する。LSIユーザ側では、受け入れ工程において、動作限界故障を検出するシステム診断テストを実施し(ST5)、不良アドレスを認識すると(ST6)、実使用において、システムとしてその不良アドレスを使用対象から除外する措置を採る(ST7)。
図19では、CAM装置がハードリペア機構のみを搭載するとともに、ユーザ側で使用可能なソフトリペア領域を備える場合の救済手順が示されている。すなわち、図19において、LSIベンダー側では、図18と同様であるが、LSIユーザ側では、受け入れ工程において動作限界故障を検出するシステム診断テストを実施し(ST5)、不良アドレスを認識すると(ST6)、CAMLSI上のソフトリペア領域を使用してその不良アドレスに対する救済措置を採り(ST10)、不使用アドレスが無い状態で実使用に移行する(ST11)。
動作限界故障は、前述したように、ユーザ側でのシステムボードや動作環境によって発生する場合もあるし、発生しない場合もあるので、ユーザ側でのソフト的なリペア措置が有効であると言える。これによって、ユーザ側では、システムの品質維持を図ることが可能となり、また、ベンダー側では、信頼性と品質の向上を図ることができる。
実施の形態8.
図20は、この発明の実施の形態8によるハードリペア機構とソフトリペア機構とを共に搭載したCAM装置(その1)を説明する全体構成図である。図20において、CAMアレイには、ハードリペアを含むCAMエントリ80の他にソフトリペア用CAMエントリ81を用意する。そして、CAMエントリ80とプライオリティエンコーダ82との間に、ハードウエア制御によって操作されるセレクタ83と、ソフトウエア制御によって操作されるセレクタ84とを設ける。
セレクタ83は、CAMエントリ80において以上説明した方法でハード的な置換・リペアが実施された方を選択する。また、セレクタ84は、セレクタ83の出力を選択してプライオリティエンコーダ82に与えるか、ソフトリペア用CAMエントリ81を使用してリペア措置を実施してものを選択してプライオリティエンコーダ82に与えるかを切り替える。
図21は、図20に示すハードウエア制御(ハードリペア)とソフトウエア制御(ソフトリペア)との相違を説明する図である。図22は、図20に示すハードウエア制御(ハードリペア)とソフトウエア制御(ソフトリペア)とによって救済した例を説明する図である。
図21に示すように、ハード的なリペア措置(HW)では、ヒューズ85をブローすることが行われ、ソフト的なリペア措置(SW)では、レジスタ86に不良エントリアドレスを格納することが行われる(図17参照)。この点が相違点である。それらの措置個数がカウンタ87にて計数され、シフトレジスタ88がシフト操作され、各シフト段の出力でセレクタ89を制御する構成は一般的である。
このような構成によって、図22に示すように、CAMLSIにおいて、動作機能故障をハード的なリペア措置によって救済し、動作限界故障をソフト的なリペア措置によって救済することができる。
実施の形態9.
図23は、この発明の実施の形態9によるハードリペア機構とソフトリペア機構とを共に搭載したCAM装置(その2)を説明する全体構成図である。図23において、CAMアレイ並びにハードリペア領域90は、アドレス0からアドレスN−1までのNアドレスで形成されている。そして、その外部のLSB側とMSB側とに、それぞれ一つのソフトリペア領域91,92が形成されている。また、入力アドレス側には比較器93が設けられ、出力アドレス側には比較器94が設けられている。
以上説明した方法によるテストの結果、CAMアレイ90内のエントリアドレスAとエントリアドレスBとに欠陥が生じた場合、そのエントリアドレスAとエントリアドレスBとがそれぞれ入力アドレス側の比較器93と出力アドレス側の比較器94にプログラムされる。
書き込みや読み出しの動作時では、まず、入力アドレス側の比較器93にて、入力アドレスとエントリアドレスA並びにエントリアドレスBとの大小関係が比較される。比較の結果、入力アドレス(Input addr.)<エントリアドレスAであれば、A−1なる内部アドレス(Int.addr)に変換する。また、入力アドレス(Input addr.)>エントリアドレスBであれば、B+1なる内部アドレス(Int.addr)を変換する。そして、このようにして変換した内部アドレス(Int.addr)を用いて書き込みや読み出しを実施する。
検索動作時では、出力アドレス側の比較器94にて、逆に、内部アドレス(Int.addr)<エントリアドレスAであれば、A+1なる外部アドレス(Ext.addr)に変換して出力する。また、内部アドレス(Int.addr)>エントリアドレスBであれば、B−1なる外部アドレス(Ext.addr)に変換して出力する。
このように、実施の形態9では、CAMLSI内部に設けた比較器での大小比較による内部アドレスの変換によってアレイ内に生じた欠陥をソフト的に救済することが可能である。なお、ハード的なリペア措置は実施の形態8と同様の方法で実施される。
以上のように、この発明にかかるCAM装置は、低電力消費化を図り、また製造歩留まりを向上させるのに有用である。
また、この発明にかかるCAM装置及び救済方法は、信頼性と品質向上を図るのに有用である。
この発明の実施の形態1によるCAM装置の要部構成を示す図である。 図1に示すCAM装置が備えるサーチライン活性化制御回路の構成例を示す要部回路図である。 この発明の実施の形態2によるCAM装置の要部構成を示す図である。 図3に示す冗長化したプライオリティエンコーダの構成例及び図3に示すサブアレイとの関係を説明する概念図である。 図4に示す優先決定回路の具体例を示す回路図である。 図4に示す下位アドレスエンコーダの具体例を示す回路図である。 この発明の実施の形態3によるCAM装置が備える全CAMセルの機能をマッチライン毎にテストする回路のうちHIT機能のテスト回路を説明する図である。 この発明の実施の形態3によるCAM装置が備える全CAMセルの機能をマッチライン毎にテストする回路のうちMISS機能のテスト回路を説明する図である。 この発明の実施の形態4によるCAM装置が備えるマッチライン毎にHIT状態とMISS状態とを検証可能にする構成を説明する全体構成図である。 図9に示すテスト回路によるテスト方法を説明する図である。 この発明の実施の形態5によるCAM装置が備える不良の加速条件を与える構成を説明する全体構成図である。 図11に示すテスト回路の具体的な構成例を示す回路図である。 動作限界故障の一例としてメモリセルにマージン不良が存在する場合を説明する図である。 マージン不良が無い場合と有る場合とでメモリセルの動作を説明する図である。 電源ノイズが動作限界故障に与える影響を説明する図である。 図11に示す不良の加速条件を与える構成の動作を説明する図である。 この発明の実施の形態6によるCAM装置が備えるユーザ側でのソフトリペアを可能にする構成を説明する全体構成図である。 この発明の実施の形態7として、CAMLSIのベンダー側とユーザ側との協同作業によって品質向上を図る場合(その1)を説明するフローチャートである。 この発明の実施の形態7として、CAMLSIのベンダー側とユーザ側との協同作業によって品質向上を図る場合(その2)を説明するフローチャートである。 この発明の実施の形態8によるハードリペア機構とソフトリペア機構とを共に搭載したCAM装置(その1)を説明する全体構成図である。 図20に示すハードウエア制御(ハードリペア)とソフトウエア制御(ソフトリペア)との相違を説明する図である。 図20に示すハードウエア制御(ハードリペア)とソフトウエア制御(ソフトリペア)とによって救済した例を説明する図である。 この発明の実施の形態9によるハードリペア機構とソフトリペア機構とを共に搭載したCAM装置(その2)を説明する全体構成図である。 ネットワーク機器の構成例を示すブロック図である。 イーサネット(登録商標)フレームでのパケット構成を示す図である。 図25に示すCAMの要部構成を示すブロック図である。 図26に示すCAMアレイの構成を示す回路図である。 図27に示すTCAMユニットセルの記憶値と検索値との関係を説明する真理値表である。 大容量CAMの低消費電力化を図る従来例(その1)示すブロック図である。 大容量CAMの低消費電力化を図る従来例(その2)示すブロック図である。 CAMの製造歩留まりを向上させる従来例を示すブロック図である。 CAMにおいてメモリセル占有率を上げる場合の一例を示すブロック図である。
符号の説明
7 第1のデータピン
8 第2のデータピン
10,10a,10b,10c,10d 3値メモリ
11,11a,11b,11c,11d 一致比較回路
12,12a,12b,12c,12d 一致比較回路
13,13a,13b,13c,13d 検索線駆動回路
20 サーチライン活性化制御回路
21 一致判定ライン
22 AND回路
23 NAND回路
30_00,30_01,・・,30_10,30_11,・・,30_m0,30_m1,・・ サブアレイ
31 冗長回路
32,32_00,32_01,・・、32_10,32_11,・・、32_m0,32_m1,・・ マッチアンプ
33,33_00,33_01,・・、33_10,33_11,・・、33_m0,33_m1,・・ 冗長化したプライオリティエンコーダ
35,35_0,35_1,・・、35_m 出力ライン
40 CAMエントリ
41 優先決定回路
42 シフタ
42a シフトレジスタ
42b セレクタ
43 下位アドレスエンコーダ
50 マッチアンプ
51 プライオリティエンコーダ
52 テスト回路
52a AND回路
52b インバータ回路
52c セレクタ
53 セレクタ
60 CAMアレイ
61 検索線駆動回路
62 書込駆動回路
63 プライオリティエンコーダ
64 テスト回路
70 ソフトリペア領域
71 レジスタ
72 CAMアレイ
73 プライオリティエンコーダ
74 データピン
80 ハードリペアを含むCAMエントリ
81 ソフトリペア用CAMエントリ
82 プライオリティエンコーダ
83 ハードウエア制御によって操作されるセレクタ
84 ソフトウエア制御によって操作されるセレクタ
85 ヒューズ
86 レジスタ
87 カウンタ
88 シフトレジスタ
89 セレクタ
90 CAMアレイ並びにハードリペア領域
91,92 ソフトリペア領域
103,103a,103b,103c,103d マッチアンプ
104 プライオリティエンコーダ
105 センスアンプ
107 検索結果出力ピン
110 CAMアレイ
111 TCAMユニットセル

Claims (20)

  1. “1”“0”“X”の3値を記憶するメモリセルの行方向に配置される複数個によるデータ列と外部から与えられる検索データ列との並列比較を一斉に行い、データ列毎の比較結果を出力するCAMサブアレイの複数個で構成されるCAM装置であって、
    前記検索データ列が入力される第1の入力ピン、及び前記複数のCAMサブアレイを任意に選択指定する検索データ列が入力される第2の入力ピンを設け、
    前記各CAMサブアレイに、前記第2の入力ピンから入力される検索データ列に基づき当該CAMサブアレイを活性化するか否かを制御する活性化制御手段を設けた、
    ことを特徴とするCAM装置。
  2. 前記活性化制御手段は、
    前記“1”“0”“X”の3値のうち少なくとも2値を記憶する1つの記憶手段と、
    前記記憶手段の保持値と前記第2の入力ピンから入力される検索データ列の値との一致を検出する比較手段と、
    前記比較手段の比較結果に基づき当該CAMサブアレイにおいて前記並列比較動作の実行許否を決定する実行許否決定手段と、
    を備えていることを特徴とする請求項1に記載のCAM装置。
  3. 前記実行許否決定手段は、当該CAMサブアレイにおける全サーチラインを前記第1の入力ピンから入力される検索データ列に従って駆動するか否かを前記比較手段の比較結果に基づき制御するように構成されることを特徴とする請求項2に記載のCAM装置。
  4. “1”“0”“X”の3値を記憶するメモリセルの行方向に配置される複数個によるデータ列と外部から与えられる検索データ列との並列比較を一斉に行い、データ列毎の比較結果を出力するCAMサブアレイの複数個と、
    前記各CAMサブアレイと1対1の関係で設けられるプライオリティエンコーダであって、前記データ列毎の比較結果を受けて複数のアドレスで一致した場合に優先的に出力するアドレスを決定し当該アドレスをエンコードする過程で、対応するCAMアレイと自プライオリティエンコーダのいずれかで発生した欠陥を救済する処理を行うプライオリティエンコーダの複数個と、
    を備えたことを特徴とするCAM装置。
  5. 前記各プライオリティエンコーダは、
    対応する前記CAMサブアレイにおける一定のアドレス長毎に分割して配置され、そのアドレス長分の前記比較結果について優先決定を行う優先決定回路の複数個と、
    前記優先決定回路の複数個と1対1の関係で設けられ、優先決定された下位アドレスをエンコードする下位アドレスエンコーダの複数個と、
    前記優先決定回路の複数個と前記下位アドレスエンコーダの複数個との間に設けられ、欠陥がどこで発生したかの情報を記憶し、前記各優先決定回路の出力のうち前記記憶内容と一致する経路に関わる出力以外を前記下位アドレスエンコーダに与える回路と、
    を備えていることを特徴とする請求項4に記載のCAM装置。
  6. CAMアレイの全CAMセルの健全性を確認し不良アドレスを特定できるテスト機構を備えていることを特徴とするCAM装置。
  7. 前記テスト機構は、
    検索結果であるHIT状態或いはMISS状態を出力する1つのマッチラインに並列に接続されるCAMセルのそれぞれに、全ての検索データについての検索結果がHIT状態となるようにデータの書き込みを行い、ビット単位で検索データ0と検索データ1とについてHIT状態が正常に機能するか否かを確認する手段と、
    その後、前記CAMセルのそれぞれに、1ビットのみMISS状態となり残りのビットは全てHIT状態となるようにデータを書き込み、ビット単位で検索データ0と検索データ1とについてMISS状態を確認する手段と、
    を備えていることを特徴とする請求項6に記載のCAM装置。
  8. 前記テスト機構は、
    検索結果であるHIT状態或いはMISS状態を出力するマッチラインのそれぞれに設けられるテスト回路であって、1つのテスト回路は対応するマッチラインの状態を有効として出力し、残りのテスト回路は全て対応するマッチラインの状態を無効状態にして出力するように、それぞれ制御を受けるテスト回路
    を備えていることを特徴とする請求項6に記載のCAM装置。
  9. テストモードであるときは、前記各テスト回路の出力をプライオリティエンコーダに与え、通常動作モードであるときは、前記各マッチラインの状態を前記プライオリティエンコーダに与える選択回路
    を備えていることを特徴とする請求項8に記載のCAM装置。
  10. 前記テスト機構は、
    CAMセル毎に連続する2つのクロックを用いて書込動作と検索動作とを実施し、動作状態を確認する手段と、
    前記確認の結果に基づき書き込み信号の印加からサーチラインの活性化までの遅延時間を各種に調整でき、その遅延時間を加速した状態に設定できる手段と、
    を備えていることを特徴とする請求項6に記載のCAM装置。
  11. 前記テスト機構は、
    CAMセル毎に連続する2つのクロックを用いて書込動作と検索動作とを実施し、動作状態を確認する手段と、
    前記動作状態を確認する手段が検出した不良アドレスにハード的なリペア措置を施す手段と、
    を備えていることを特徴とする請求項6に記載のCAM装置。
  12. 前記動作状態を確認する手段が検出した不良アドレスを記憶する記憶手段を外部からアクセス可能に備えていることを特徴とする請求項10または11に記載のCAM装置。
  13. 前記動作状態を確認する手段が検出した不良アドレスを記憶する記憶手段と、ソフト的なリペア措置を採ることができるソフトリペア領域とをそれぞれ外部からアクセス可能に備えていることを特徴とする請求項10または11に記載のCAM装置。
  14. CAMセル毎に連続する2つのクロックを用いて書込動作と検索動作とを実施し、その過程で検出した不良アドレスを外部からアクセス可能な記憶手段に格納して出荷する工程と、
    ユーザ側において前記記憶手段を参照し不良アドレスを回避する措置を採る工程と、
    を含むことを特徴とするCAM装置の救済方法。
  15. ソフト的なリペア措置を採ることができるソフトリペア領域を外部からアクセス可能に設けるとともに、CAMセル毎に連続する2つのクロックを用いて書込動作と検索動作とを実施し、その過程で検出した不良アドレスを外部からアクセス可能な記憶手段に格納して出荷する工程と、
    ユーザ側において前記記憶手段に格納される不良アドレスに基づき前記ソフトリペア領域をアクセスしてリペア措置を採る工程と、
    を含むことを特徴とするCAM装置の救済方法。
  16. 前記出荷する工程は、前記検出した不良アドレスにハード的なリペア措置を施す工程を含むことを特徴とする請求項14または15に記載のCAM装置の救済方法。
  17. 製造過程で検出した不良アドレスにハード的なリペア措置を施して出荷する工程と、
    ユーザ側において不良アドレスを検出したときその不良アドレスをシステムとして回避する措置を採る工程と、
    を含むことを特徴とするCAM装置の救済方法。
  18. ソフト的なリペア措置を採ることができるソフトリペア領域を外部からアクセス可能に設けるとともに、製造過程で検出した不良アドレスにハード的なリペア措置を施して出荷する工程と、
    ユーザ側において不良アドレスを検出したときその不良アドレスに基づき前記ソフトリペア領域をアクセスしてソフト的なリペア措置を採る工程と、
    を含むことを特徴とするCAM装置の救済方法。
  19. 前記テスト機構は、
    マッチライン毎にHIT状態とMISSとが確認できるようにし、前記確認できるようにした1つのマッチラインにおいて接続される各CAMセルに対して個別にHIT・MISSの機能確認を実行し、その過程で検出した不良アドレスにハード的なリペア措置を施す手段と、
    CAMセル毎に連続する2つのクロックを用いて書込動作と検索動作とを実施し、その過程で検出した不良アドレスを記憶手段に格納し、それに基づきソフトリペア領域をアクセスしてリペア措置を採る手段と、
    を備えていることを特徴とする請求項6に記載のCAM装置。
  20. 前記テスト機構は、
    マッチライン毎にHIT状態とMISSとが確認できるようにし、前記確認できるようにした1つのマッチラインにおいて接続される各CAMセルに対して個別にHIT・MISSの機能確認を実行し、その過程で検出した不良アドレスにハード的なリペア措置を施す手段と、
    CAMセル毎に連続する2つのクロックを用いて書込動作と検索動作とを実施し、その過程で検出した不良アドレスに対し、書き込み・読み出し時に用いる内部アドレスをその不良アドレスと入力アドレスとの大小関係から導出し、検索時に用いる出力アドレスをその不良アドレスと前記内部アドレスとの大小関係から導出することで、ソフト的なリペア措置を採る手段と、
    を備えていることを特徴とする請求項6に記載のCAM装置。
JP2006005134A 2005-03-31 2006-01-12 Cam装置 Active JP4861012B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006005134A JP4861012B2 (ja) 2005-03-31 2006-01-12 Cam装置
US11/389,359 US7469369B2 (en) 2005-03-31 2006-03-27 Low power content-addressable-memory device
US12/265,869 US7661042B2 (en) 2005-03-31 2008-11-06 Low-power content-addressable-memory device

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005102932 2005-03-31
JP2005102932 2005-03-31
JP2006005134A JP4861012B2 (ja) 2005-03-31 2006-01-12 Cam装置

Publications (2)

Publication Number Publication Date
JP2006309917A true JP2006309917A (ja) 2006-11-09
JP4861012B2 JP4861012B2 (ja) 2012-01-25

Family

ID=37108314

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006005134A Active JP4861012B2 (ja) 2005-03-31 2006-01-12 Cam装置

Country Status (2)

Country Link
US (2) US7469369B2 (ja)
JP (1) JP4861012B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009158027A (ja) * 2007-12-27 2009-07-16 Fujitsu Microelectronics Ltd 連想メモリ
US8169807B2 (en) 2007-10-31 2012-05-01 Renesas Electronics Corporation Content addressable memory device having match line equalizer circuit

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7940541B2 (en) * 2008-05-21 2011-05-10 Texas Instruments Incorporated Bit cell designs for ternary content addressable memory
TWI405215B (zh) * 2009-04-15 2013-08-11 Macronix Int Co Ltd 位址訊號傳輸方法及記憶體系統
US9076527B2 (en) 2009-07-16 2015-07-07 Mikamonu Group Ltd. Charge sharing in a TCAM array
US8238173B2 (en) * 2009-07-16 2012-08-07 Zikbit Ltd Using storage cells to perform computation
JP5477621B2 (ja) 2009-08-03 2014-04-23 ルネサスエレクトロニクス株式会社 連想メモリ
US9001601B2 (en) * 2011-09-30 2015-04-07 Samsung Electronics Co., Ltd. Memory device including repair circuit and repair method thereof
JP5998381B2 (ja) * 2012-05-06 2016-09-28 国立大学法人東北大学 半導体記憶装置
US9195607B1 (en) * 2012-05-15 2015-11-24 Inphi Corporation Content matching using a multi-hash function for replacement of a faulty memory cell
JP6096690B2 (ja) * 2014-02-25 2017-03-15 アラクサラネットワークス株式会社 通信装置、及びcamの異常診断方法
US9396794B1 (en) * 2015-08-14 2016-07-19 Qualcomm Incorporated Matchline retention for mitigating search and write conflict
US10090881B2 (en) 2015-11-13 2018-10-02 Renesas Electronics Corporation Semiconductor device
US9536608B1 (en) * 2015-11-17 2017-01-03 International Business Machines Corporation Content addressable memory device
JP6659486B2 (ja) * 2016-07-20 2020-03-04 ルネサスエレクトロニクス株式会社 半導体装置
KR102487553B1 (ko) * 2016-12-07 2023-01-11 삼성전자주식회사 리페어 가능한 휘발성 메모리를 포함하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법
CN111951850B (zh) * 2019-05-16 2022-10-04 联华电子股份有限公司 双端口三态内容可寻址存储器及其布局图案及存储器装置
US20240087662A1 (en) * 2022-09-14 2024-03-14 Qualcomm Incorporated Memory repair system and method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06333395A (ja) * 1993-05-19 1994-12-02 Kawasaki Steel Corp 連想メモリ
JPH10275496A (ja) * 1997-03-31 1998-10-13 Kawasaki Steel Corp 連想メモリ
JP2002260389A (ja) * 2001-03-01 2002-09-13 Kawasaki Microelectronics Kk 連想メモリ
JP2004265528A (ja) * 2003-03-03 2004-09-24 Kawasaki Microelectronics Kk 連想メモリ
JP2004288347A (ja) * 2003-03-03 2004-10-14 Renesas Technology Corp 連想メモリ

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05190788A (ja) 1992-01-10 1993-07-30 Hitachi Ltd 半導体記憶装置
JP2997370B2 (ja) 1992-10-14 2000-01-11 三菱電機株式会社 キャッシュメモリ
US6000008A (en) * 1993-03-11 1999-12-07 Cabletron Systems, Inc. Method and apparatus for matching data items of variable length in a content addressable memory
JPH08147999A (ja) 1994-11-17 1996-06-07 Kawasaki Steel Corp 内容アドレス式メモリのテスト方法
JP3816560B2 (ja) 1995-12-25 2006-08-30 株式会社ルネサステクノロジ 連想メモリ回路のテスト方法及び連想メモリ回路のテスト回路
US6470418B1 (en) * 1999-01-15 2002-10-22 Integrated Device Technology, Inc. Pipelining a content addressable memory cell array for low-power operation
US6324087B1 (en) * 2000-06-08 2001-11-27 Netlogic Microsystems, Inc. Method and apparatus for partitioning a content addressable memory device
US6751755B1 (en) * 2000-09-13 2004-06-15 Cypress Semiconductor Corporation Content addressable memory having redundancy capabilities
JP2002237190A (ja) * 2001-02-07 2002-08-23 Kawasaki Microelectronics Kk 連想メモリ装置およびその構成方法
JP3682462B2 (ja) * 2001-05-31 2005-08-10 セイコーエプソン株式会社 不揮発性半導体記憶装置
US6597595B1 (en) * 2001-08-03 2003-07-22 Netlogic Microsystems, Inc. Content addressable memory with error detection signaling
JP2003303495A (ja) 2002-04-09 2003-10-24 Fujitsu Ltd 半導体記憶装置
JP4282319B2 (ja) * 2002-12-13 2009-06-17 株式会社ルネサステクノロジ 半導体記憶装置
US6987683B2 (en) * 2003-05-19 2006-01-17 Micron Technology, Inc. Magnitude comparator based content addressable memory for search and sorting
US7116569B2 (en) * 2005-02-11 2006-10-03 International Business Machines Corporation Method and apparatus for selecting operating characteristics of a content addressable memory by using a compare mask

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06333395A (ja) * 1993-05-19 1994-12-02 Kawasaki Steel Corp 連想メモリ
JPH10275496A (ja) * 1997-03-31 1998-10-13 Kawasaki Steel Corp 連想メモリ
JP2002260389A (ja) * 2001-03-01 2002-09-13 Kawasaki Microelectronics Kk 連想メモリ
JP2004265528A (ja) * 2003-03-03 2004-09-24 Kawasaki Microelectronics Kk 連想メモリ
JP2004288347A (ja) * 2003-03-03 2004-10-14 Renesas Technology Corp 連想メモリ

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8169807B2 (en) 2007-10-31 2012-05-01 Renesas Electronics Corporation Content addressable memory device having match line equalizer circuit
JP2009158027A (ja) * 2007-12-27 2009-07-16 Fujitsu Microelectronics Ltd 連想メモリ

Also Published As

Publication number Publication date
US20060233011A1 (en) 2006-10-19
US20090067209A1 (en) 2009-03-12
JP4861012B2 (ja) 2012-01-25
US7469369B2 (en) 2008-12-23
US7661042B2 (en) 2010-02-09

Similar Documents

Publication Publication Date Title
JP4861012B2 (ja) Cam装置
US7911872B2 (en) Column/row redundancy architecture using latches programmed from a look up table
US7079432B2 (en) Semiconductor storage device formed to optimize test technique and redundancy technology
US7043672B2 (en) Layout for a semiconductor memory device having redundant elements
US6834016B2 (en) Semiconductor memory device having redundancy system
US8462570B2 (en) Memory address repair without enable fuses
US6324105B1 (en) Redundant row topology circuit, and memory device and test system using same
US11694762B2 (en) Memory device with a memory repair mechanism and methods for operating the same
CN111627487B (zh) 占据面积减少的熔丝电路
US7808848B2 (en) Semiconductor memory
US11232849B2 (en) Memory device with a repair match mechanism and methods for operating the same
CN108074620B (zh) 修复控制器件及包括其的半导体器件
US6400618B1 (en) Semiconductor memory device with efficient redundancy operation
US20220068428A1 (en) Latch circuit and memory device including the same
JP2000285695A (ja) 半導体記憶装置およびそれを用いたシステム
JP3923805B2 (ja) 半導体記憶装置
JP2007048458A (ja) 半導体記憶装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081208

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111011

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111101

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111104

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4861012

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141111

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350