(57)【要約】【課題】低電力消費化が図れ、また製造歩留まりの向上が図れるＣＡＭ装置を得ること。【解決手段】分割したサブアレイ毎に、３値メモリと一致比較回路とサーチライン活性化制御回路とを設け、まず、分割した複数のサブアレイを任意に指定できる第２の検索要求と３値メモリの保持値との一致比較によって任意のサブアレイを選択し、その選択されたサブアレイの一致比較回路において第１の検索要求によるデータ列をサーチライン活性化制御回路に与えるようにしたので、簡単なハードウェアの追加によって低消費電力化が図れる。このとき、分割した複数のサブアレイを検索対象となる場合とならない場合とに自在に制御することができるので、経路検索機器に用いる場合に、アプリケーションの要求する自由度に追従する分割が行えるようになる。【選択図】        図１
2006309917.tif 000002
【特許請求の範囲】
【請求項１】
“１”“０”“Ｘ”の３値を記憶するメモリセルの行方向に配置される複数個によるデータ列と外部から与えられる検索データ列との並列比較を一斉に行い、データ列毎の比較結果を出力するＣＡＭサブアレイの複数個で構成されるＣＡＭ装置であって、
前記検索データ列が入力される第１の入力ピン、及び前記複数のＣＡＭサブアレイを任意に選択指定する検索データ列が入力される第２の入力ピンを設け、
前記各ＣＡＭサブアレイに、前記第２の入力ピンから入力される検索データ列に基づき当該ＣＡＭサブアレイを活性化するか否かを制御する活性化制御手段を設けた、
ことを特徴とするＣＡＭ装置。
【請求項２】
前記活性化制御手段は、
前記“１”“０”“Ｘ”の３値のうち少なくとも２値を記憶する１つの記憶手段と、
前記記憶手段の保持値と前記第２の入力ピンから入力される検索データ列の値との一致を検出する比較手段と、
前記比較手段の比較結果に基づき当該ＣＡＭサブアレイにおいて前記並列比較動作の実行許否を決定する実行許否決定手段と、
を備えていることを特徴とする請求項１に記載のＣＡＭ装置。
【請求項３】
前記実行許否決定手段は、当該ＣＡＭサブアレイにおける全サーチラインを前記第１の入力ピンから入力される検索データ列に従って駆動するか否かを前記比較手段の比較結果に基づき制御するように構成されることを特徴とする請求項２に記載のＣＡＭ装置。
【請求項４】
“１”“０”“Ｘ”の３値を記憶するメモリセルの行方向に配置される複数個によるデータ列と外部から与えられる検索データ列との並列比較を一斉に行い、データ列毎の比較結果を出力するＣＡＭサブアレイの複数個と、
前記各ＣＡＭサブアレイと１対１の関係で設けられるプライオリティエンコーダであって、前記データ列毎の比較結果を受けて複数のアドレスで一致した場合に優先的に出力するアドレスを決定し当該アドレスをエンコードする過程で、対応するＣＡＭアレイと自プライオリティエンコーダのいずれかで発生した欠陥を救済する処理を行うプライオリティエンコーダの複数個と、
を備えたことを特徴とするＣＡＭ装置。
【請求項５】
前記各プライオリティエンコーダは、
対応する前記ＣＡＭサブアレイにおける一定のアドレス長毎に分割して配置され、そのアドレス長分の前記比較結果について優先決定を行う優先決定回路の複数個と、
前記優先決定回路の複数個と１対１の関係で設けられ、優先決定された下位アドレスをエンコードする下位アドレスエンコーダの複数個と、
前記優先決定回路の複数個と前記下位アドレスエンコーダの複数個との間に設けられ、欠陥がどこで発生したかの情報を記憶し、前記各優先決定回路の出力のうち前記記憶内容と一致する経路に関わる出力以外を前記下位アドレスエンコーダに与える回路と、
を備えていることを特徴とする請求項４に記載のＣＡＭ装置。
【請求項６】
ＣＡＭアレイの全ＣＡＭセルの健全性を確認し不良アドレスを特定できるテスト機構を備えていることを特徴とするＣＡＭ装置。
【請求項７】
前記テスト機構は、
検索結果であるＨＩＴ状態或いはＭＩＳＳ状態を出力する１つのマッチラインに並列に接続されるＣＡＭセルのそれぞれに、全ての検索データについての検索結果がＨＩＴ状態となるようにデータの書き込みを行い、ビット単位で検索データ０と検索データ１とについてＨＩＴ状態が正常に機能するか否かを確認する手段と、
その後、前記ＣＡＭセルのそれぞれに、１ビットのみＭＩＳＳ状態となり残りのビットは全てＨＩＴ状態となるようにデータを書き込み、ビット単位で検索データ０と検索データ１とについてＭＩＳＳ状態を確認する手段と、
を備えていることを特徴とする請求項６に記載のＣＡＭ装置。
【請求項８】
前記テスト機構は、
検索結果であるＨＩＴ状態或いはＭＩＳＳ状態を出力するマッチラインのそれぞれに設けられるテスト回路であって、１つのテスト回路は対応するマッチラインの状態を有効として出力し、残りのテスト回路は全て対応するマッチラインの状態を無効状態にして出力するように、それぞれ制御を受けるテスト回路
を備えていることを特徴とする請求項６に記載のＣＡＭ装置。
【請求項９】
テストモードであるときは、前記各テスト回路の出力をプライオリティエンコーダに与え、通常動作モードであるときは、前記各マッチラインの状態を前記プライオリティエンコーダに与える選択回路
を備えていることを特徴とする請求項８に記載のＣＡＭ装置。
【請求項１０】
前記テスト機構は、
ＣＡＭセル毎に連続する２つのクロックを用いて書込動作と検索動作とを実施し、動作状態を確認する手段と、
前記確認の結果に基づき書き込み信号の印加からサーチラインの活性化までの遅延時間を各種に調整でき、その遅延時間を加速した状態に設定できる手段と、
を備えていることを特徴とする請求項６に記載のＣＡＭ装置。
【請求項１１】
前記テスト機構は、
ＣＡＭセル毎に連続する２つのクロックを用いて書込動作と検索動作とを実施し、動作状態を確認する手段と、
前記動作状態を確認する手段が検出した不良アドレスにハード的なリペア措置を施す手段と、
を備えていることを特徴とする請求項６に記載のＣＡＭ装置。
【請求項１２】
前記動作状態を確認する手段が検出した不良アドレスを記憶する記憶手段を外部からアクセス可能に備えていることを特徴とする請求項１０または１１に記載のＣＡＭ装置。
【請求項１３】
前記動作状態を確認する手段が検出した不良アドレスを記憶する記憶手段と、ソフト的なリペア措置を採ることができるソフトリペア領域とをそれぞれ外部からアクセス可能に備えていることを特徴とする請求項１０または１１に記載のＣＡＭ装置。
【請求項１４】
ＣＡＭセル毎に連続する２つのクロックを用いて書込動作と検索動作とを実施し、その過程で検出した不良アドレスを外部からアクセス可能な記憶手段に格納して出荷する工程と、
ユーザ側において前記記憶手段を参照し不良アドレスを回避する措置を採る工程と、
を含むことを特徴とするＣＡＭ装置の救済方法。
【請求項１５】
ソフト的なリペア措置を採ることができるソフトリペア領域を外部からアクセス可能に設けるとともに、ＣＡＭセル毎に連続する２つのクロックを用いて書込動作と検索動作とを実施し、その過程で検出した不良アドレスを外部からアクセス可能な記憶手段に格納して出荷する工程と、
ユーザ側において前記記憶手段に格納される不良アドレスに基づき前記ソフトリペア領域をアクセスしてリペア措置を採る工程と、
を含むことを特徴とするＣＡＭ装置の救済方法。
【請求項１６】
前記出荷する工程は、前記検出した不良アドレスにハード的なリペア措置を施す工程を含むことを特徴とする請求項１４または１５に記載のＣＡＭ装置の救済方法。
【請求項１７】
製造過程で検出した不良アドレスにハード的なリペア措置を施して出荷する工程と、
ユーザ側において不良アドレスを検出したときその不良アドレスをシステムとして回避する措置を採る工程と、
を含むことを特徴とするＣＡＭ装置の救済方法。
【請求項１８】
ソフト的なリペア措置を採ることができるソフトリペア領域を外部からアクセス可能に設けるとともに、製造過程で検出した不良アドレスにハード的なリペア措置を施して出荷する工程と、
ユーザ側において不良アドレスを検出したときその不良アドレスに基づき前記ソフトリペア領域をアクセスしてソフト的なリペア措置を採る工程と、
を含むことを特徴とするＣＡＭ装置の救済方法。
【請求項１９】
前記テスト機構は、
マッチライン毎にＨＩＴ状態とＭＩＳＳとが確認できるようにし、前記確認できるようにした１つのマッチラインにおいて接続される各ＣＡＭセルに対して個別にＨＩＴ・ＭＩＳＳの機能確認を実行し、その過程で検出した不良アドレスにハード的なリペア措置を施す手段と、
ＣＡＭセル毎に連続する２つのクロックを用いて書込動作と検索動作とを実施し、その過程で検出した不良アドレスを記憶手段に格納し、それに基づきソフトリペア領域をアクセスしてリペア措置を採る手段と、
を備えていることを特徴とする請求項６に記載のＣＡＭ装置。
【請求項２０】
前記テスト機構は、
マッチライン毎にＨＩＴ状態とＭＩＳＳとが確認できるようにし、前記確認できるようにした１つのマッチラインにおいて接続される各ＣＡＭセルに対して個別にＨＩＴ・ＭＩＳＳの機能確認を実行し、その過程で検出した不良アドレスにハード的なリペア措置を施す手段と、
ＣＡＭセル毎に連続する２つのクロックを用いて書込動作と検索動作とを実施し、その過程で検出した不良アドレスに対し、書き込み・読み出し時に用いる内部アドレスをその不良アドレスと入力アドレスとの大小関係から導出し、検索時に用いる出力アドレスをその不良アドレスと前記内部アドレスとの大小関係から導出することで、ソフト的なリペア措置を採る手段と、
を備えていることを特徴とする請求項６に記載のＣＡＭ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、“１”“０”“Ｘ（不定）”の３値を記憶してデータ等の検索に用いるＣＡＭ（Content Addressable Memory）装置（以降、単に「ＣＡＭ」という）及び救済方法に関するものである。
【背景技術】
【０００２】
“１”“０”“Ｘ”の３値を記憶するＣＡＭは、ＴＣＡＭ（Ternary Content Addressable Memory）と称されるが、近年、ネットワーク機器のルータ、スイッチなどのアドレス経路検索の用途において頻繁に用いられるようになったメモリＬＳＩのひとつである。以下、図２４〜図２８を参照して従来のＣＡＭについて概略説明する。なお、図２４は、ネットワーク機器の構成例を示すブロック図である。図２５は、イーサネット（登録商標）フレームでのパケット構成を示す図である。図２６は、図２４に示すＣＡＭの要部構成を説明するブロック図である。図２７は、図２６に示すＣＡＭアレイの構成を示す回路図である。図２８は、図２７に示すＴＣＡＭユニットセルの記憶値と検索値との関係を説明する真理値表である。
【０００３】
図２４に示すネットワーク機器は、ＣＡＭ１００と、制御部（ＣＰＵ）２００と、アクションメモリ（ＳＲＡＭ）３００と、パケットバッファ（ＤＲＡＭ）４００と、イーサネット（登録商標）のインタフェース部（Ｉｎｇｒｅｓｓ、Ｅｇｒｅｓｓ）５００とがスイッチ回路６００を介して接続される構成である。ＣＡＭ１００は、検索部として、ＭＡＣテーブル１００ａとＩＰテーブル１００ｂとフィルタリングテーブル１００ｃとを備えている。
【０００４】
図２４に示すように、イーサネット（登録商標）フレームでのパケットは、−般的に規格化され、「Pre-amble」フィールドと、「ＳＦＤ」フィールドと、「Destination」フィールドと、「Source」フィールドと、「Type/Length」フィールドと、「Transmitting Message」フィールドと、「ＰＡＤ」フィールドと、「ＦＣＳ」フィールドとで構成される。
【０００５】
図２４において、ネットワーク上のパケットは、インタフェース部５００のＩｎｇｒｅｓｓから取り込まれる。そして、取り込まれたパケットのうち、ヘッダ部（DestinationとSource）は検索のためにＣＡＭ１００に送られ、コンテンツ部（Transmitting Message）は検索が終了するまで内部保持するためにパケットバッファ（ＤＲＡＭ）４００に送られる。
【０００６】
１つのパケットについて、通常、要求される検索処理は複数回である。例えば、ＭＡＣテーブル１００ａを用いたＭＡＣの送信先、発信元の検索（Ｌ２検索）と、ＩＰテーブル１００ｂを用いたＩＰの送信先、発信元の検索（Ｌ３検索）と、フィルタリングテーブル１００ｃを用いたＴＣＰ、ＵＤＰのフィルタリング（Ｌ４のフィルタリング）とが行われるので、１パケット当たり５回検索となる。ＣＡＭ１００では、検索を行ったＩＰ送信先と一致するデータ列がＣＡＭ１００の内部に見つかれば、その−致したアドレスを出力する。そして、ＣＡＭ１００は、今度はそのアドレスをインデックスアドレスとしてアクションメモリ３００から実際に取るべきルールを読み出す。
【０００７】
このように、ＣＡＭ１００は、検索動作において、検索要求されたデータ列と一致があるか否かを高速に判定し、一致したアドレスを外部出力する機能を有する。その先のアクションメモリ３００は通常ＳＲＡＭが使用される。代表的なアクションとしては、送信先に向けて次のホップアドレスを指定する他に、不要なパケットを破棄するフィルタリングや、パケット処理の優先順位付けをするＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）などがある。アクションが決定されれば、ヘッダ部の書き換えを行い、パケットバッファ４００に格納されていたコンテンツを付けてパケットを再生し、インタフェース部５００のＥｇｒｅｓｓからインターネット環境へと再び送信される。
【０００８】
次に、図２６〜図２８を参照して、図２４に示すＣＡＭ１００の構成と動作について概略説明する。図２６において、図２４に示すＣＡＭ１００を構成するＭＡＣテーブル１００ａとＩＰテーブル１００ｂとフィルタリングテーブル１００ｃとは、それぞれ、基本的に、ＣＡＭアレイ１１０と、その外周囲に配置される行デコーダ１０６，センスアンプ１０５，検索線駆動回路１０２，マッチアンプ１０３及びプライオリティエンコーダ１０４とを備えている。入力ノードである入力ピン１０１には、行デコーダ１０６とセンスアンプ１０５と検索線駆動回路１０２とが接続されている。なお、マッチアンプ１０３は、センスアンプ１０５と同様に「センスアンプ」とも称されるが、ここでは機能を明確にするために、「マッチアンプ」と称している。
【０００９】
入力ピン１０１は、検索データ入力用途の他、ＣＡＭへの書き込み、読み出しのデータ入出力、さらにアドレス入力ピンとして使用される。ＣＡＭへの書き込みでは、入力ピン１０１から書き込みデータを与えると、センスアンプ１０５を介してビットライン（ＢＬ）に転送される。そして、入力ピン１０１から書き込みアドレスを与えると、行デコーダ１０６が対応するワードライン（ＷＬ）を駆動し、書き込みを完了する。全てのＣＡＭアレイ１１０への書き込みが完了すれば、その後の動作は、殆どが検索動作である。
【００１０】
実際、ネットワーク機器で使用されるＣＡＭでは、書き込み、読み出しではなく、検索動作がおよそ９０％以上を占める。検索動作においては、同じ入力ピン１０１に今度は検索対象となるデータ列を検索要求として与えると、検索線駆動回路１０２がサーチラインＳＬを駆動する。検索対象となったデータ列とＣＡＭアレイ１１０内データ列との一致不一致の判定結果は、各データ列単位に共通のマッチラインＳＬ上に現れる。マッチアンプ１０３は、マッチラインＳＬの応答を高速に増幅する。そして、プライオリティエンコーダ１０４に伝達され、最終一致アドレスが出力ノードである検索結果出力ピン１０７から外部ヘ出力される。
【００１１】
図２７に示すように、ＣＡＭアレイ１１０は、“１”“０”“Ｘ”の３値を保持するＴＣＡＭユニットセル１１１を行列方向に配置して構成されている。ＴＣＡＭユニットセル１１１は、ＳＲＡＭを２ビット用いて“１”“０”“Ｘ”の３値を保持するようになっている。書き込みと読み出しは、ビットラインＢＬとワードラインＷＬとを使用する。この動作はＳＲＡＭの動作と基本的に同じである。
【００１２】
検索動作では、前述の通り検索対象データに基づきサーチラインＳＬを駆動する。そして、一致比較の結果がマッチラインＭＬに現れる。マッチラインＭＬは、ワードラインＷＬで制御されるＣＡＭのデータ列と共通化されている。マッチラインＭＬは、検索動作開始前にハイレベルにプリチャージされる。そして、全てのビットの比較において一致（ヒット：ＨＩＴ）したデータ列のマッチラインＭＬだけが、ハイレベルを保持する（図２８：ＭＬ＝Ｈ）。逆に、１ビットでも不一致（ミス：ＭＩＳＳ）した場合には放電してロウレベルになる（図２８：ＭＬ＝Ｌ）。
【００１３】
通常、Ｌ２検索の場合は第３の値“Ｘ”は使用しないので、一致するデータ列は唯一のアドレスであり、その他全てのアドレスのマッチラインＭＬは放電される。反面、第３の値“Ｘ”を使用するアプリケーションの場合には、複数アドレスが同時にヒット（一致）することがしばしば発生する（図２８参照）。この場合には、プライオリティエンコーダ１０４は、最も値の小さいアドレスを優先的に扱い、エンコード出力する。
【００１４】
そのため、通常“Ｘ”値を持たないよりスペシフィック（Specific）なデータ列ほどアドレス番号の若い順に選り分けるようにアプリケーションにてメンテナンスされる（Longest Prefix Match）。プライオリティエンコーダ１０４では、各セルが上下に互いにコミュニケーションしあい、多数の一致（ヒット）が発生したときには、自分自身よりも上位下位にヒットがあるかないかを先ず判断し、その後エンコードアドレスを最終出力するようになっている。
【００１５】
このようなＣＡＭは、従来のツリー法、ハッシュ法による検索と比較して一斉かつ並列に検索実行するので、高速かつ一定時間で処理が可能である。しかしながら、一斉並列検索は、メモリ全域を動作領域とするので、同時にメモリ全域が一度に活性化することを意味し、今日の１８Ｍビットのような大容量ＣＡＭでは、検索動作時の消費電力が大きな問題となっている。具体的に言えば、通常のＳＲＡＭであればその消費電力は１Ｗ、２Ｗ程度であるのに対して、例えば１８ＭビットのＴＣＡＭが１００ＭＨｚクラスで検索動作した場合の消費電力は１０Ｗ以上にもなる。基本的に消費電力は、その動作時の活性化領域に比例するものであり、高速検索性能を犠牲にせず、いかにその動作領域を削減するかが低消費電力化において重要である。そのような観点から、種々の検討がなされている（例えば非特許文献１，２等）。ここでは、別の観点から低消費電力化を図る従来例について説明する。
【００１６】
すなわち、ＣＡＭの検索動作に伴う消費電力の問題には、以上の説明から理解できるように２つの原因がある。第１は、検索対象となるデータ列をサーチラインＳＬの活性化という処理に変換していることである。上記したようにＣＡＭアレイ上の全てのサーチラインＳＬは一斉並列に活性化される。第２は、サーチラインＳＬの活性化によって不一致となったデータ列のマッチラインＭＬは全て放電されるということである。前述の通り殆ど全てのマッチラインＭＬは充放電を繰り返す。実際、サーチラインＳＬとマッチラインＭＬとを除いてしまえばＳＲＡＭと構造動作は同じであり、消費電力も問題となるレベルではない。
【００１７】
パケット１つに対して検索動作は複数回要求される。これに対してＣＡＭの容量が１Ｍビット程度と小さかった時代では、Ｌ２用、Ｌ３用などというように用途別に異なったＣＡＭＬＳＩを用意し、まずはＬ２用、次いでＬ３用などというように、最小限の活性化領域において検索を実行していたので、消費電力もそれ程問題にはならなかった。
【００１８】
そこで、今日の１８Ｍビットのような大容量ＣＡＭにおいても、上記の例に倣って低消費電力化を図る方法が、例えば特許文献１（図２９）や特許文献２（図３０）に提案されている。図２９と図３０は、大容量ＣＡＭの低消費電力化を図る従来例を示すブロック図である。
【００１９】
図２９において、１１０ａ〜１１０ｄはＣＡＭサブアレイである。１０２ａ〜１０２ｄは検索線駆動回路であり、検索要求のデータ列が配置されるバスに並列に接続される。１０３ａ〜１０３ｄはマッチアンプであり、それらの出力が並列に出力バスに送出され、プライオリティエンコーダ１０４が取り出して外部に出力する。そして、４つのサブアレイを個別に指定できるアドレス変換ロジック回路（Address Translation Logic）１２０が設けられている。
【００２０】
この構成では、アドレス変換ロジック回路１２０が、バンクアドレス信号ＢＳ＿０，ＢＳ＿１，ＢＳ＿２，ＢＳ＿３を発行することで、４つのサブアレイは分割動作が可能となる。例えば、ＢＳ＿０サブアレイをＬ２用、ＢＳ＿１サブアレイをＩＰ用と定義し、検索動作時にアドレス変換ロジック回路１２０からバンクアドレス信号ＢＳ＿０，ＢＳ＿１，ＢＳ＿２，ＢＳ＿３をそれぞれ発行することで、複数のサブアレイの全てが同時に活性化することを防止でき、低消費電力化を図ることができる。
【００２１】
また、図３０では、ＣＡＭアレイを２分割し、かつ、各分割アレイを図２９に示すように４つのサブアレイで構成した場合が示されている。図中、左方の第１分割アレイには検索要求（１／２）が入力され、右方の第２分割アレイには検索要求（２／２）が入力される。そして、左方の第１分割アレイにおけるマッチアンプ１０３ａ＿１，１０３ｂ＿１，１０３ｃ＿１，１０３ｄ＿１の出力が、右方の第２分割アレイにおけるＣＡＭサブアレイ１１０ａ＿２，１１０ｂ＿２，１１０ｃ＿２，１１０ｄ＿２の対応するマッチラインに与えられ、第２分割アレイにおけるマッチアンプ１０３ａ＿２，１０３ｂ＿２，１０３ｃ＿２，１０３ｄ＿２の出力が並列に出力バスに送出され、プライオリティエンコーダ１０４が取り出して外部に出力する。この構成では、まず、第１の分割ＣＡＭアレイにて検索を行い、一致したマッチラインＭＬを有するサブアレイに接続される第２の分割アレイのマッチラインＭＬのみが動作するので、低消費電力化が図れる。
【００２２】
ところで、ＣＡＭでは、上記した消費電力の問題に加えて、製造コストの問題も抱えている。メモリＬＳＩは、約４年毎にテクノロジ世代が交代し、ほぼ一定の価格帯を保持しながら容量のみを２倍、４倍に拡張してきた。ビット単価で言えば、世代交代につき２分の一、４分の一となっている。しかし、ＣＡＭは、メモリＬＳＩのひとつであるが、このトレンド則が全く当て嵌まらない。例えば、４．５ＭビットのＴＣＡＭの市場価格は、およそ５０ドル、その４倍の容量である１８ＭビットのＴＣＡＭの市場価格は２００ドル以上である。市場価格を左右する要因には、同業社間での競合や需給バランスなど色々あるが、ＣＡＭのビット当たりの単価がＳＲＡＭと比較して約２０倍以上も高価な理由は、製品コストに起因している。
【００２３】
メモリＬＳＩにおいて、メモリ搭載容量が２倍、４倍になってもその価格、製造コストかほぼ一定に保てる理由は、微細化と歩留り向上に係る技術によるところが大きい。トランジスタや配線層等の形成に伴う微細化技術は単位面積当たりに搭載可能な素子数、メモリ容量を大幅に向上してきた。反面、搭載容量が大きくなるということは、それだけ、製造歩留まりを支配する欠陥の主原因であるゴミ（微粒子）の付着に対する感度が高まることを意味するので、製造歩留りが著しく低減してしまう。例えば、０．２５ｕｍ、０．１５ｕｍ、９０ｎｍと微細化技術が進むにつれ、単位面瑞当たりに搭載できるメモリ容量は大きくなっているが、製造上のテスト歩留りは一般的に低減する。しかしながら、メモリＬＳＩの場合は状況が異なる。
【００２４】
メモリＬＳＩの場合、製造上のテスト工程はプリテストエ程とポストテスト工程とに分かれる。プリテストとは、製造過程終了時点での救済措置（リペア）前のテスト、歩留りを示し、ポストテストとは、プリテスト後の救済措置後のテスト、最終歩留りを示す。このリペア技術こそが、今日のメモリＬＳＩの市場価格をほぼ一定に保つことができる最大の理由である。
【００２５】
例えば、０．２５ｕｍ、０．１５ｕｍ、９０ｎｍ技術におけるメモリＬＳＩのプリテスト歩留りがそれぞれ６０％、５０％、４０％とすると、リペア措置による救済は２５％、３５％、４０％と増える。その結果、ポストテスト歩留りは８５％、８５％、８５％と一定値を示し、これによって、搭載メモリ容量によらずほぼ一定の製造コストを実現することができる。この例のように微細化された技術ほどリペア技術の貢献度は大きい。ＣＡＭについて、搭載容量の増加時に一定のコスト構造、一定の市場価格が保てない理由は、このリペア技術と大きな関係があると言える。
【００２６】
ＣＡＭへのデータ書き込み、続み出しは、デコーダによって選択されたデータ列に対して実行される。一方、検索は、ＣＡＭアレイに対して一斉並列に実行され、その結果全てのデータが一致したアドレスが工ンコードされて外部に出力される。つまり、通常のメモリ（ＤＲＡＭやＳＲＡＭなど）のメモリアレイでは、デコーダだけが隣接するのに対し、ＣＡＭメモリアレイではデコーダとエンコーダとが隣接する。加えて、ＴＣＡＭの場合には、上記したように、“Ｘ”値の効果によって複数のデータ列が検索時に同時にヒットすることが頻繁に生ずるので、“Ｘ”値の最も少ない“０”、“１”で一致したデータを最終的なアドレスとしてエンコードするプライオリティエンコーダが一般的に採用される。
【００２７】
この場合、プライオリティエンコーダの搭載は、メモリセルの占有面積を低下させる。例えば、０．１３ｕｍテクノロジを用いた１８ＭビットのＴＣＡＭの場合、ＴＣＡＭセルサブアレイ面積１に対し、デコーダは０．０３の占有面積であるが、プライオリティエンコーダは０．１９の占有面積があった。デコーダは、他のアドレスを同時に活性化し、Ｉ／Ｏ部分で再度ブロック選択するような技術が一般約であるが、プライオリティエンコーダは各アドレスにエンコーダセルを搭載しなければならない。
【００２８】
そして、上記したように、ＣＡＭを構成するアレイは、ビットラインＢＬ、ワードラインＷＬの他に、サーチラインＳＬとマッチラインＭＬという信号配線を要する。つまり、例えば、ＳＲＡＭが４層配線で製造されるテクノロジをベースにＴＣＡＭを作成すると、普通は、６層配線の製造技術を要し、プロセスが複雑化する。このことはＣＡＭメモリセルがゴミ（微粒子）の付着に対して過敏になることを意味し、ＳＲＡＭと同等のゴミ発生頻度である工場で製造したとしてもＳＲＡＭと比較してＣＡＭの製造歩留りは低くなる。勿論、無理に４層配線まででＣＡＭメモリセルを作成することも可能である。しかし、その場合には、セル面積が大幅に拡張し、結局は、ビット当たりの製造原価が高くなってしまう。
【００２９】
ＣＡＭの製造コストの低減を図る上で深刻な問題は、冗長回路搭載による救済技術（リペア技術）が採用し難いことである。ＳＲＡＭであれば、ゴミ（微粒子）がメモリセルに付着して欠陥となったとしても、そのメモリセル、或いはメモリセル群を全く別の場所に用意された冗長回路と置き換えることで、外部からは恰も欠陥が無かったかのように振る舞うことができる。しかし、ＣＡＭでは、種々のテスト方法が提案されているが（例えば特許文献３〜７等）、幾つかの技術的な問題点があることから、リペア技術の適用が困難である。
【００３０】
リペア技術によって救済するには、まず、欠陥を呈したアドレスをテストによって正確に認識しなければならない。この点、ＳＲＡＭ、或いはＣＡＭセルアレイ内のＳＲＡＭ部だけについて言えば、ビット単位での書き込みと読み出しとが可能であるので、１アドレス・１ビットずつの書き込みと読み出しとを繰り返していけば、欠陥アドレスの認識、特定は比較的容易に行える。しかし、ＣＡＭの検索部においては、そのような不良アドレスの正確な認識が容易ではない。
【００３１】
すなわち、図２７にて説明したように、マッチラインＭＬは、ワイヤード・オア接続方式で並列に接続される多数のＣＡＭセルが有するデータ列（ＣＡＭのデータ列）と検索要求データ列とがビット毎に全て一致すれば、予めプリチャージされているハイレベルを維持し、逆に、１ビットでも不一致であれば、放電してロウレベルになる。
【００３２】
そのため、例えば或る種の欠陥によってマッチラインＭＬが放電してしまう場合、その欠陥が１ビットだけであれば、期待値が「ＨＩＴ状態」となるようにした上で、１ビットずつデータを書き換えていくことで不良アドレスの検出は可能である。しかし、他にもう１ビットでもＭＩＳＳが存在すると、このＭＩＳＳビットからマッチラインＭＬが放電してしまい、欠陥を持つ検索ポートを含むセルは検出できないことになる。
【００３３】
以上は、水平方向のマッチラインＭＬにワイヤード・オア接続されるＣＡＭセルの問題点であるが、垂直方向に存在する上記したようにプライオリティエンコーダも、リペア技術の適用を困難にしている。これには、２つの側面がある。
【００３４】
プライオリティエンコーダが持つリペア技術の適用を困難にしている第一の側面は、プライオリティエンコーダのセルが優先制御のために上下のセルとコミュニケーションするので、欠陥が発生したときに当該プライオリティエンコーダを全く別の場所に置き換えることを許容しないことを意味する点である。そのため、ＣＡＭでは、例えば特許文献８（図３１）に示されるように、冗長回路搭載による救済技術は、通常メモリアレイには採用されるが、デコーダと比較して占有率が無視できないプライオリティエンコーダには採用されないので、セル占有率の低下は、そのまま製造歩留まりの低下を意味することになっている。
【００３５】
図３１は、ＣＡＭの製造歩留まりを向上させる従来例を示すブロック図である。図３１において、ＲＥＤＵＮＤＡＮＴ  ＲＯＷ０，ＲＥＤＵＮＤＡＮＴ  ＲＯＷ１によって冗長メモリアレイから読み出したデータ列ＲＭＬ０，ＲＭＬ１は、この明細書で言うマッチアンプに対応するセンスアンプＲＳＡ０，ＲＳＡ１にて増幅され、冗長側のマッチライン出力Ｒｍａｔｃｈ０，Ｒｍａｔｃｈ１となる。一方、本来のメモリアレイから読み出したデータ列ＭＬ０〜ＭＬｎは、センスアンプＳＡ０〜ＳＡｎにて増幅され、メモリアレイ側のマッチライン出力Ｍａｔｃｈ０〜Ｍａｔｃｈｎとなる。
【００３６】
この信号とＰＲＩＯＲＩＴＹ  ＥＮＣＯＤＥＲへの入力信号線ＰＥｌｎ０〜ＰＥｌｎｎとの間にセレクタ１１４−０〜１１４−ｎが設けられている。このセレクタ１１４−０〜１１４−ｎは、欠陥がない場合はＭａｔｃｈ側を入力信号線ＰＥｌｎ０〜ＰＥｌｎｎに接続し、欠陥が発生しリペアが必要な場合はＲｍａｔｃｈ側を入力信号線ＰＥｌｎ０〜ＰＥｌｎｎに接続するようになっている。この構成によれば、リペア後もＰＲＩＯＲＩＴＹ  ＥＮＣＯＤＥＲでは、ＣＡＭ動作上で必要な上下のセルとの優先関係が守られている。
【００３７】
また、図３２は、ＣＡＭにおいてメモリセル占有率を上げる場合の一例を示すブロック図である。通常、メモリＬＳＩの設計は、セル占有率を優先的に考え、メモリのアレイ配置やサブアレイ配置が考案される。ＣＡＭの搭載容量が大きくなった場合、例えば図３２に示す方法で、プライオリティエンコーダの占有率を小さくし、メモリセル占有率を上げることが行われている。
【００３８】
図３２において、１１０＿００〜１１０＿０ｎ，１１０＿１０〜１１０＿１ｎ，１１０＿ｍ０〜１１０＿ｍｎは、分割したサブアレイであり、それぞれに、冗長メモリアレイ１０８が設けられている。そして、サブアレイ１１０＿００〜１１０＿０ｎのマッチラインはマッチアンプ１０３＿００〜１０３＿０ｎを介して共通のマッチライン１０５＿０に接続されている。サブアレイ１１０＿１０〜１１０＿１ｎのマッチラインはマッチアンプ１０３＿１０〜１０３＿１ｎを介して共通のマッチライン１０５＿１に接続されている。サブアレイ１１０＿ｍ０〜１１０＿ｍｎのマッチラインはマッチアンプ１０３＿ｍ０〜１０３＿０ｎを介して共通のマッチライン１０５＿ｍに接続されている。共通のマッチライン１０５＿０〜１０５＿ｍは、１０４に接続されている。このように、マッチラインを階層化し、図３２に示す例で言えばローカルのマッチラインが接続されるマッチアンプ１０３＿００〜１０３＿０ｍの出力をグローバルのマッチライン１０５＿０に共通に接続してからプライオリティエンコーダ１０４に入力する方法も採用されている。
【００３９】
また、プライオリティエンコーダが持つリペア技術の適用を困難にしている第二の側面は、優先順位決定のアルゴリズムと関係する。すなわち、プライオリティエンコーダは、検索命令実行結果、単一のアドレスではなく、複数のアドレスが同時にヒットし、複数のマッチラインＭＬがハイレベルを維持した場合に、上記したように通常、最も小さいアドレスを優先的に出力するように構成されている。その結果、その優先されたアドレス以外の多数のアドレス群では、検索結果がＨＩＴであったのか、ＭＩＳＳであったのかは、その動作が正常に機能しているか否かを含めて無視されてしまう結果となっている。このように、プライオリティエンコーダの機能は、欠陥検出テストの本質とも言える確認容易性を阻害している。
【００４０】
【特許文献１】ＵＳＰ  ６，３２４，０８７号公報
【特許文献２】ＵＳＰ  ６，４７０，４１８号公報
【特許文献３】特開平９−１８０４９８号公報
【特許文献４】特開平６−１３１８９７号公報
【特許文献５】特開平８−１４７９９９号公報
【特許文献６】特開２００２−２６０３８９号公報
【特許文献７】特開平５−１９０７８８号公報
【特許文献８】ＵＳＰ  ６，７５１，７５５号公報
【非特許文献１】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)
【発明の開示】
【発明が解決しようとする課題】
【００４１】
しかしながら、消費電力の低減に関しては、特許文献１に記載の技術では、各用途別テーブルサイズを容易に変更できないという問題がある。例えは、アプリケーションからみた場合、Ｌ２、Ｌ３と比較するとフィルタリングに要するテーブルサイズは２倍以上も大きい。また、フィルタリング検索も多様化しており、フィルタリングテーブル全てを検索対象とすることもあれば、さらに階層化してテーブルの一部だけが対象になるなど様々な自由度をもった制御ができることが望ましい。
【００４２】
また、特許文献２に記載の技術では、ユーザ所望のテーブルサイズに従って第１のＣＡＭアレイデータ列をプログラムすることができるので、自由度の高いテーブルサイズ指定が可能であり、特許文献１にて提起した問題は回避できる。しかし、全てのデータ列が拡張ＣＡＭデータ列を有することになるので、そのハードウェア上のコストオーバヘッドが大きいことが新たな問題点となる。
【００４３】
また、ＣＡＭの製造コストに関しては、前述したように、ＣＡＭメモリセルの複雑さによるプロセス層数の増加、多配線層構造による歩留まり低下、及び優先制御のために他のメモリと同等の冗長回路搭載による救済技術が採用し難いことが原因となって、ＣＡＭでの救済措置は、他のメモリ（ＳＲＡＭやＤＲＡＭ）と比較して非常に貧弱であり、ＣＡＭの製造歩留まりは、他のメモリと比較して著しく低下する状況にある。その結果、ビット当たりの製造コストが増大し、市場価格が高くなっている。
【００４４】
そして、ＣＡＭの製造歩留まりを向上させる特許文献８に記載の技術では、前述したように、メモリ領域の欠陥に対してはリペア可能であるが、プライオリティエンコーダやセンスアンプなどで発生する欠陥はリペアできない。０．１３ｕｍテクノロジを用いた１８ＭビットのＴＣＡＭを例に挙げると、メモリアレイ対センスアンプ及びプライオリティエンコーダのエリア比は、およそ５：１である。モリアレイ対デコーダのエリア比が３９：１であるのと比較すると、ＣＡＭ特有のプライオリティエンコーダとマッチアンプ（センスアンプ）にリペア技術が要求されることは言うまでもない。
【００４５】
また、ＣＡＭのメモリセル占有率を上げる図３２に示す方法では、グローバルのマッチラインのような信号配線を要し、微粒子の付着に対して益々耐久性が危なくなる。
【００４６】
ここで、一般的に、テストの結果によって判別される不良は、functional failure（以降、「動作機能不良」と記す）とmarginal failure（以降、「動作限界不良」と記す）とに大きく分類される。動作機能不良は、例えば温度や電圧など如何なるテスト条件下においても常時観測できるハードエラーを指し、主としてプロセスに起因する場合が多い。一方、動作限界不良は、例えば高い動作周波数領域や電圧の高い側のみのように、或る条件下でのみ不良が再現するもので、主として設計に起因する場合が多い。
【００４７】
プロダクションにおいて、動作機能不良と動作限界不良とのカテゴリ分けは、生産管理上、評価すべき重要なファクタである。例えば、動作機能不良が何時も高い不良率で発生している場合は、そのプロセス技術に技術的改善が要求される。また、動作機能不良の不良率はそれ程高くないが、或る種の動作限界不良の不良率だけが高い場合は、その製品特有の何らかの設計不具合に起因していることが考えられるので、その方面からの解析や改善が行われる。通常、動作限界不良は、動作機能不良よりも低い不良率で推移すべきものである。同一のプロセス技術であれば、製品対応で製造歩留まりに大きな差異が無いようにすべきである。
【００４８】
テストに関して言えば、実際のテスト時間の内訳として、動作機能不良を検出するテストよりも動作限界不良を検出する目的のテスト時間の方が、複雑であるので、テスト時間は長い。これには、動作限界不良に特有の或る種の加速されたテスト条件を作り出すためである。ＳＲＡＭやＤＲＡＭでは、動作機能不良の他、動作限界不良やそれを検出するためのテストもよく研究されている。しかし、ＣＡＭについての動作限界不良やそれを検出するテスト方法の研究報告などは殆ど無い。
【００４９】
実際には、ＣＡＭが使用されるシステム環境は、ＳＲＡＭやＤＲＡＭよりも遙かに厳しい。何故なら、前述したように、ＣＡＭ単体で１０Ｗ以上の消費電力があることから、ＬＳＩだけでなく、ボードを含めた電源インピーダンスの動作マージンに大きく影響するからである。工場出荷テストボード上ではパスしていたものが、ユーザが使用するシステムボード上では動作限界不良となることも充分に考えられる。したがって、システム上で動作機能不良と動作限界不良とを区別し、それぞれ検出できるテストを実施することは、ＣＡＭにとって製品出荷後の品質を確保する上で大きな意味がある。
【００５０】
この発明は、上記に鑑みてなされたものであり、少ないハードウェアの追加によって低消費電力化が図れるとともに、アプリケーションが要求する自由度に追従することのできるサブアレイの分割が可能なＣＡＭ装置を得ることを目的とする。
【００５１】
また、この発明は、困難とされてきたプライオリティエンコーダの冗長回路搭載による救済技術を採用して製造歩留まりの向上を図りビット単価の低減を可能にするＣＡＭ装置を得ることを目的とする。
【００５２】
また、この発明は、動作機能不良と動作限界不良とを区別してテストできるようにし、信頼性と品質向上とが図れるＣＡＭ装置及びＣＡＭ装置の救済方法を得ることを目的とする。
【課題を解決するための手段】
【００５３】
上述した目的を達成するために、この発明は、“１”“０”“Ｘ”の３値を記憶するメモリセルの行方向に配置される複数個によるデータ列と外部から与えられる検索データ列との並列比較を一斉に行い、データ列毎の比較結果を出力するＣＡＭサブアレイの複数個で構成されるＣＡＭ装置であって、前記検索データ列が入力される第１の入力ピン、及び前記複数のＣＡＭサブアレイを任意に選択指定する検索データ列が入力される第２の入力ピンを設け、前記各ＣＡＭサブアレイに、前記第２の入力ピンから入力される検索データ列に基づき当該ＣＡＭサブアレイを活性化するか否かを制御する活性化制御手段を設けたことを特徴とする。
【００５４】
この発明によれば、第２の入力ピンから入力される検索データ列に基づき選択されたＣＡＭサブアレイのみが活性化されるので、選択されないＣＡＭサブアレイでの電力消費はない。活性化制御手段は、簡単なハードウェアで構成することができる。そして、第２の入力ピンから入力される検索データ列を用いることで、分割した複数のサブアレイを検索対象となる場合とならない場合とに自在に制御することができるので、アプリケーションが要求する自由度に追従することのできるＣＡＭサブアレイの分割が可能となる。
【発明の効果】
【００５５】
この発明によれば、少ないハードウェアの追加によって低消費電力化が図れるとともに、アプリケーションが要求する自由度に追従することのできるサブアレイの分割が可能なＣＡＭ装置が得られるという効果を奏する。
【発明を実施するための最良の形態】
【００５６】
以下に図面を参照して、この発明にかかるＣＡＭ装置及び救済方法の好適な実施の形態を詳細に説明する。
【００５７】
実施の形態１．
図１は、この発明の実施の形態１によるＣＡＭ装置の要部構成を示す図である。なお、図１では、従来例（図１２）に示した構成要素と同一ないしは同等である構成要素には同一の符号が付されている。ここでは、この実施の形態１に関わる部分を中心に説明する。この実施の形態１では、図１に示すように、従来例（図１２）と同様にＣＡＭアレイ１１０を４つのサブアレイ１１０ａ，１１０ｂ，１１０ｃ，１１０ｄで構成した場合において低消費電力化を図る構成例が示されている。
【００５８】
図１に示すように、この実施の形態１によるＣＡＭ装置では、従来例（図１２）に示した構成において、各サブアレイでは、検索線駆動回路１０２（ａ〜ｄ）に代えて検索線駆動回路１３（ａ〜ｄ）が設けられるとともに、３値メモリ１０（ａ〜ｄ）と、一致比較回路１１（ａ〜ｄ）と、一致比較回路１２（ａ〜ｄ）とが追加されている。そして、この実施の形態１によるＣＡＭ装置では、第１の検索要求が入力されるノードである第１のデータピン７と第２の検索要求が入力されるノードである第２のデータピン８とがそれぞれ設けられ、第１のデータピン７にバス１５が接続され、第２のデータピン８にバス１６が接続されている。この構成によってサブアレイ毎の活性化を制御し、低消費電力化を図るようになっている。なお、第１の検索要求は、従来例（図１２）で示す本来の検索要求に対応している。第２の検索要求は、サブアレイを選択するデータ列である。図１では、ＣＡＭアレイは４つのサブアレイに分割されているので、第２の検索要求は、２ビットのデータ列である。
【００５９】
３値メモリ１０（ａ〜ｄ）には、“０”“１”“Ｘ”の３値が記憶される。但し、図１では、ＣＡＭアレイは４つのサブアレイに分割されているので、３値メモリ１０（ａ〜ｄ）は２ビット長であり、“０”“１”“Ｘ”の３値のうちの２値が記憶される。図示例では、サブアレイ１１０ａに対する３値メモリ１０ａには“００”が記憶され、サブアレイ１１０ｂに対する３値メモリ１０ｂには“０１”が記憶され、サブアレイ１１０ｃに対する３値メモリ１０ｃには“０Ｘ”が記憶され、サブアレイ１１０ｄに対する３値メモリ１０ｄには“ＸＸ”が記憶されるとしている。
【００６０】
一致比較回路１１（ａ〜ｄ）の一方の入力は３値メモリ１０（ａ〜ｄ）の保持値であり、他方の入力はバス１６に送出される第２の検索要求によるデータ列である。一致比較回路１２（ａ〜ｄ）の一方の入力は一致比較回路１１（ａ〜ｄ）の出力であり、他方の入力はバス１５に送出される第１の検索要求によるデータ列である。一致比較回路１２（ａ〜ｄ）の出力は検索線駆動回路１３（ａ〜ｄ）に入力される。
【００６１】
図２は、図１に示すＣＡＭ装置が備えるサーチライン活性化制御回路の構成例を示す要部回路図である。図２において、検索線駆動回路１３では、従来例（図１２）で示す検索線駆動回路１０２において、サーチライン活性化制御回路２０が追加された構成になっている。サーチライン活性化制御回路２０は、サーチラインＳＬの駆動端に設けられるＡＮＤ回路２１と、サーチライン／ＳＬの駆動端に設けられるＮＡＮＤ回路２２とを備えている。要するに、このＡＮＤ回路２１及びＮＡＮＤ回路２２の一方の入力端には、従来通りに第１の検索要求によるデータ列に従って生成したサーチラインＳＬ，／ＳＬ用の論理値レベルが印加される。そして、このＡＮＤ回路２１及びＮＡＮＤ回路２２の他方の入力端は、一致比較回路１２の出力端に接続される一致判定ライン２３に接続されている。
【００６２】
以上の構成によれば、まず、一致比較回路１１（ａ〜ｄ）にて、３値メモリ１０（ａ〜ｄ）の保持値とバス１６に送出される第２の検索要求によるデータ列との一致判定が行われ、一致を検出した一致比較回路１１が出力をＨレベルにする。図１では、サブアレイ１１０ｂにおける一致比較回路１１ｂが一致を検出し、出力をＨレベルにする。他の一致比較回路１１ａ，１１ｃ，１１ｄでは一致を検出できず、それぞれ出力をＬレベルにするとしている。これによって、４つのサブアレイの中の１つが選択される。
【００６３】
そして、その選択された１つのサブアレイにおいて、対する一致比較回路１２がバス１５に送出される第１の検索要求によるデータ列を取り込んで一致判定ライン２３上に送り出すので、対する検索線駆動回路１３では、サーチライン活性化制御回路２０にてサーチラインＳＬ，／ＳＬが駆動制御され、その選択された１つのサブアレイ内のデータ列との一致比較が行われ、その比較結果に基づきマッチラインＭＬのＨレベル維持とＬレベルにする放電動作とが行われる。
【００６４】
一方、選択されない３つのサブアレイでは、対する一致比較回路１１が出力をＬレベルにしているので、対する一致比較回路１２はバス１５に送出される第１の検索要求によるデータ列を取り込まず、一致判定ライン２３をＬレベルに保持するので、対する検索線駆動回路１３では、サーチライン活性化制御回路２０が動作しない。
【００６５】
つまり、選択されない３つのサブアレイでは、サーチラインＳＬ，／ＳＬは、全て非活性化がされる。そこでのマッチラインＭＬはＨレベルを維持する。つまり、電力消費は、選択された１つのサブアレイでのみ発生し、選択されない３つのサブアレイでは、発生しない。
【００６６】
このように、実施の形態１によれば、分割したサブアレイ毎に、３値メモリと一致比較回路とサーチライン活性化制御回路とを設け、まず、分割した複数のサブアレイを任意に指定できる第２の検索要求と３値メモリの保持値との一致比較によって任意のサブアレイを選択し、その選択されたサブアレイ一致比較回路において第１の検索要求によるデータ列をサーチライン活性化制御回路に与えるようにしたので、簡単なハードウェアの追加によって低消費電力化が図れるのに加えて、分割した複数のサブアレイを検索対象となる場合とならない場合とに自在に制御することができるので、経路検索機器に用いる場合に、アプリケーションが要求する自由度に追従した分割ができるようになる。
【００６７】
実施の形態２．
図３は、この発明の実施の形態２によるＣＡＭ装置の要部構成を示す図である。この実施の形態２では、ＣＡＭアレイを冗長化するとともに、製造歩留まりの向上を図る上でネックとなっていたプライオリティエンコーダを冗長化する構成例が示されている。
【００６８】
図３において、ＣＡＭアレイは、複数のサブアレイ３０（３０＿００，３０＿０１，・・、３０＿１０，３０＿１１，・・、３０＿ｍ０，３０＿ｍ１，・・）に分割する。そして、各サブアレイ３０には、冗長回路３１が設けられる。但し、冗長回路３１は、従来のように特定の場所に設けてあるのではなく、実際に欠陥の発生したメモリセルを含む行方向の全メモリセルの組（データ列）の選択を回避することで作られるものである。
【００６９】
各サブアレイ３０（３０＿００，３０＿０１，・・、３０＿１０，３０＿１１，・・、３０＿ｍ０，３０＿ｍ１，・・）には、プライオリティエンコーダ３３（３３＿００，３３＿０１，・・、３３＿１０，３３＿１１，・・、３３＿ｍ０，３３＿ｍ１，・・）が１対１の関係で配置される。中間に示す３２（３２＿００，３２＿０１，・・、３２＿１０，３２＿１１，・・、３２＿ｍ０，３２＿ｍ１，・・）は、マッチラインの信号を増幅するマッチアンプである。
【００７０】
そして、プライオリティエンコーダ３３（３３＿００，３３＿０１，・・）の各出力端は、共通の出力ライン３５＿０に接続され、プライオリティエンコーダ３３（３３＿１０，３３＿１１，・・）の各出力端は、共通の出力ライン３５＿１に接続され、プライオリティエンコーダ３３（３３＿ｍ０，３３＿ｍ１，・・）各出力端は、共通の出力ライン３５＿ｍに接続されている。
【００７１】
図４は、図３に示す冗長化したプライオリティエンコーダの構成例及び図３に示すサブアレイとの関係を説明する概念図である。図４において、ＣＡＭエントリ４０は、サブアレイ３０において行方向のワードラインで操作されるメモリセルによるデータ列を示している。このデータ列は、図８に示した行デコーダ１０６によるアドレスと１対１に対応している。このデータ列と検索データとの比較結果が、ワードラインと１対１の関係で並置されるマッチラインのヒット信号Ｈｉｔであり、マッチアンプ３２を介してプライオリティエンコーダ３３に入力される。
【００７２】
プライオリティエンコーダ３３は、マッチアンプ３２の出力（ヒット信号Ｈｉｔ）を受ける優先決定回路４１と、優先決定回路４１の出力を受けるシフタ４２と、シフタ４２の出力を受けてエンコード結果を出力ライン３５に送出する下位アドレスエンコーダ４３とを備えている。
【００７３】
優先決定回路４１は、サブアレイ３０において、或るアドレス長毎に、例えば８アドレス（以降８ビットという）毎に分割して設けられている。図５は、図４に示す優先決定回路の具体例を示す回路図である。図５に示すように、優先決定回路４１は、８個のマッチアンプ３２の出力（ヒット信号Ｈｉｔ）を受けて、その８ビットの中で最下位ビットから上位ビットに向かって順に優先決定を行い、最終的に１つのアドレスビットを指定して出力するように構成されている。この構成によれば、優先決定を８ビット毎に行うので、例えば、ビット０〜ビット７までの中で優先的に出力するアドレス、ビット８〜ビット１５までの中で優先的に出力するアドレスが、それぞれ独立して存在する。
【００７４】
シフタ４２は、シフトレジスタ４２ａとこのシフトレジスタ４２ａの保持値を制御信号とする２入力１出力のセレクタ４２ｂとを備えている。シフトレジスタ４２ａには、テスト工程にて検出された、どこで欠陥が発生しているかの情報が設定されている。例えば、メモリセルについてであれば、シフトレジスタ４２ａには、ＣＡＭエントリ４０に対してリード、ライトを行って検出された欠陥アドレスがヒューズブローなどの方法でロードされている。セレクタ４２ｂの各入力端には、優先決定回路４１の出力のうち、上位と下位に隣接する２つの出力がそれぞれ入力される。これによって、このシフタ４２では、記憶している欠陥情報に関わる優先決定回路４１の出力以外を選択することができる。欠陥情報がＣＡＭエントリ４０に対するものであれば、記憶している欠陥となったエントリアドレスのエントリ（データ列）を回避するように動作するようになっている。この選択動作は、図４に示すように、優先決定回路４１の各８ビット出力に、上位側１ビットと下位側１ビットとを加えた合計１０ビットに対して行われる。
【００７５】
すなわち、図４において、例えば、エントリアドレス５で欠陥が発生した場合、シフトレジスタ４２ａの０ビット目のシフト段から５ビット目のシフト段までは“０”をロードし、６ビット目のシフト段以降には“１”をロードすれば、シフトレジスタ４２ａの０ビット目のシフト段から５ビット目のシフト段までに対応するセレクタ４２ｂでは、優先決定回路４１の出力のうち上位側出力を選択し、シフトレジスタ４２ａの６ビット目のシフト段以降に対応するセレクタ４２ｂでは、優先決定回路４１の出力のうち下位側出力を選択するように動作するので、エントリアドレス５は、選択されず下位アドレスエンコーダ４３には入力されないことになる。
【００７６】
図６は、図４に示す下位アドレスエンコーダの具体例を示す回路図である。下位アドレスエンコーダ４３は、優先決定回路４１と同様に、８アドレスビット毎に分割され、優先決定回路４１と同じ分割アドレスを用いて、セレクタ４２ｂの出力を制御信号とし、下位側の３ビットアドレス（Ａ０〜Ａ２）をデコードして出力するようになっている。Ａ３以降は、冗長回路がない場合と同様である。
【００７７】
シフタ４２を経由したヒット信号Ｈｉｔは、既に８ビット単位に優先決定処理が終了しているので、活性化されるのは、８ビットアドレスについて唯一つである。下位アドレスエンコーダ４３では、この信号を用いてＡ０〜Ａ２のエンコードを行う。エンコードするアドレスは、８ビットずつブロック分割されているので、この単位で救済が可能となる。
【００７８】
つまり、最終出力８ビットに対して上位１ビット、下位１ビットを加えた計１０ビットから、シフタ４２の選択によって欠陥アドレスの置き換えが可能である。このように８ビット単位での救済処理が完了した下位の３ビットアドレス（Ａ０〜Ａ２）が下位アドレスエンコーダ４３の出力に現れる。Ａ３以降は、従来例で説明したプライオリティエンコーダ１０４にて最終的に優先決定が行われる。
【００７９】
このように、実施の形態２によれば、分割されたサブアレイ毎にプライオリティエンコーダを設け、かつ当該いわゆるローカルのプライオリティエンコーダを一定数のアドレス毎に優先決定を行ってエンコードする構成に分割し、欠陥が発生したエントリを記憶しておき、優先決定してエンコードする過程で、欠陥が発生したエントリを回避できるようにしたので、サブアレイ内のメモリセルとプライオリティエンコーダ、両者の間に介在するマッチアンプのいずれで欠陥が発生した場合でも救済が可能となる。
【００８０】
つまり、ＳＲＡＭやＤＲＡＭなどのメモリＬＳＩと同様の冗長回路による救済措置をプライオリティエンコーダにも適用できるので、ＣＡＭの製造歩留まりを向上させることが可能となり、ビット単価の低減が期待できる。
【００８１】
以上、低消費電力化の構成方法と、プライオリティエンコーダが持つリペア技術の適用を困難にしている第一の側面に対する解決策であるプライオリティエンコーダの冗長構成方法とを説明したが、次に、実施の形態３〜９として、動作機能故障と動作限界故障との救済措置を採る構成方法について説明する。以下にその概要を示す。
【００８２】
（１）実施の形態３（図７、図８）は、リペア技術による救済を図る上で必要になる不良アドレスの正確な認識を可能にし、動作機能故障を呈したＣＡＭセルのアドレスを容易に特定できるテスト回路の構成方法に関する。（２）実施の形態４（図９、図１０）は、プライオリティエンコーダが持つリペア技術の適用を困難にしている第二の側面に対し、各マッチラインにおいてＨＩＴ状態とＭＩＳＳ状態とを検証可能にするテスト回路の構成方法に関する。（３）実施の形態５（図１１〜図１６）は、ＣＡＭで懸念される消費電力の大きさに起因する電源ノイズによる動作限界故障を検出するために不良の加速条件を与えるテスト回路の構成方法に関する。
【００８３】
（４）実施の形態６（図１７）は、（イ）ユーザ側でのシステム搭載時のボード条件を想定した動作限界故障検出テストが実施でき、テスト結果、不良が発生した場合はその不良アドレスを記憶し、ユーザ側においてシステムからその不良アドレスの使用を回避できるようにしてシステムの品質維持を図る構成方法と、（ロ）ユーザ側でのシステム搭載時のボード条件を想定した動作限界故障検出テストが実施でき、テスト結果、不良が発生した場合はその不良アドレスを記憶し、ユーザ側においてシステムからその不良アドレスに基づき救済措置が採れるソフトリペア領域をＣＡＭＬＳＩに形成してシステムの品質維持を図る構成方法に関する。
【００８４】
（５）実施の形態７（図１８、図１９）は、（イ）製造側では製造過程で検出した動作機能故障をハード的に救済（ハードリペア）して出荷し、ユーザ側では受け入れテストにおいて検出した動作限界故障のアドレスを回避する措置をシステムとして施すことで、システムの品質維持を図る構成方法と、（ロ）ＣＡＭＬＳＩにユーザ側が使用するソフトリペア領域を設け、製造側では製造過程で検出した動作機能故障をハード的に救済（ハードリペア）して出荷し、ユーザ側では受け入れテストにおいて検出した動作限界故障のアドレスをソフトリペア領域を使用して救済することで、システムの品質維持を図る構成方法に関する。（６）実施の形態８（図２０〜図２２）と実施の形態９（図２３）は、ＣＡＭＬＳＩに動作機能故障を救済するハードリペア機構と動作限界故障を救済するソフトリペア機構とを共に搭載し、信頼性と品質向上とを図る構成方法に関する。
【００８５】
実施の形態３．
この発明の実施の形態３では、図７と図８を参照して、全ＣＡＭセルの機能をマッチライン毎にテストする回路について説明する。なお、図７は、全ＣＡＭセルの機能をマッチライン毎にテストする回路のうちＨＩＴ機能のテスト回路を説明する図である。図８は、全ＣＡＭセルの機能をマッチライン毎にテストする回路のうちＭＩＳＳ機能のテスト回路を説明する図である。
【００８６】
図７と図８では、或る一つのマッチラインＭＬに、ワイヤード・オア接続方式で並列に接続されるアドレス＜０＞からアドレス＜Ｎ−１＞までのＮ個のＣＡＭセルが示されている。各ＣＡＭセルは、簡略化して示してあるが、マッチラインＭＬと接地電位（グランド）との間にメモリセルＭＣと、サーチラインＳＬがゲート電極に接続される検索用トランジスタとを直列に配置した構成である。
【００８７】
マッチラインＭＬは、ワイヤード・オア接続方式で並列に接続される多数のＣＡＭセルのメモリセルＭＣが有するデータ列（ＣＡＭのデータ列）とサーチラインＳＬに乗せられてくる検索要求データ列とがビット毎に全て一致（ＨＩＴ）すれば、予めプリチャージされているハイレベルを維持し、逆に１ビットでも不一致（ＭＩＳＳ）があれば、放電してロウレベルになる。
【００８８】
前述したように、この構成では、例えば或る種の欠陥によってマッチラインＭＬが放電してしまう場合、その欠陥が１ビットだけであれば、期待値が「ＨＩＴ状態」となるようにした上で、１ビットずつ検索データを書き換えていくことで不良アドレスの検出は可能であるが、他にもう１ビットでもＭＩＳＳが存在すると、このＭＩＳＳビットからマッチラインＭＬが放電してしまい、欠陥を持つ検索ポートを含むセルは検出できないことになる。
【００８９】
そこで、この実施の形態３では、まず、図７に示すように、ＣＡＭのデータ列の全てについての検索結果が「ＨＩＴ」となる状態を保ちつつ、ＣＡＭのデータ列いついて、ビット・バイ・ビットの方法で１ビットずつ、検索データ０と検索データ１の両方についてテストすることで、ビット単位で「ＨＩＴ状態」が正常に機能できるか否かを確認する。
【００９０】
図７では、第一回目のテスト（１）として、全て“０”の検索データ列から全て“１”検索データ列まで１ビットずつ論理値を違えた検索データ列を用意し、この順に、その１ビットずつ論理値を違えた検索データ列をＣＡＭのデータ列として各メモリセルＭＣに書き込み、サーチラインＳＬに対応する検索データ列を乗せて１ビット単位での「ＨＩＴ機能」の有無を確認する。次にデータを入れ替えた第二回目のテスト（２）として、最下位ビットだけ“０”で残りは全て“１”である検索データ列から全て“０”の検索データ列まで１ビットずつ論理値を違えた検索データ列を用意し、この順に、その１ビットずつ論理値を違えた検索データ列をＣＡＭのデータ列として各メモリセルＭＣに書き込み、サーチラインＳＬに対応する検索データ列を乗せて１ビット単位での「ＨＩＴ機能」の有無を確認する例が示されている。
【００９１】
そして、全セルについて「ＨＩＴ状態」が正常に機能できるか否かの確認ができると、図８に示すように、今度は、逆にＣＡＭのデータ列の全てについての検索結果が１ビットだけ「ＭＩＳＳ」となる状態を保ちつつ、ＣＡＭのデータ列いついて、ビット・バイ・ビットの方法で１ビットずつ、データ０とデータ１の両方についてテストすることで、ビット単位で「ＭＩＳＳ状態」が正常に機能できるか否かを確認する。
【００９２】
図８では、第一回目のテスト（１）として、１ビットだけ検索データ０のときに「ＭＩＳＳ状態」となり、残りの全てのビットは「ＨＩＴ状態」となるようなＣＡＭのデータ列を、ＣＡＭセルの最下位ビットから最上位ビットまで順に、各メモリセルＭＣに書き込み、サーチラインＳＬに対応する検索データ列を乗せて１ビット単位での「ＭＩＳＳ機能」の有無を確認する。次にデータを入れ替えた第二回目のテスト（２）として、１ビットだけ検索データ１のときに「ＭＩＳＳ状態」となり、残りの全てのビットは「ＨＩＴ状態」となるようなＣＡＭのデータ列を、ＣＡＭセルの最下位ビットから最上位ビットまで順に、各メモリセルＭＣに書き込み、サーチラインＳＬに対応する検索データ列を乗せて１ビット単位での「ＭＩＳＳ機能」の有無を確認する例が示されている。
【００９３】
これによって、ビット単位でＨＩＴに対するＭＩＳＳの不良が検出できるので、リペア技術による救済を図る上で必要になる不良アドレスの正確な認識が可能となり、動作機能故障を呈したＣＡＭセルのアドレスが容易に特定できるようになる。
【００９４】
実施の形態４．
図９は、この発明の実施の形態４によるＣＡＭ装置が備えるマッチライン毎にＨＩＴ状態とＭＩＳＳ状態とを検証可能にする構成を説明する全体構成図である。この実施の形態４では、プライオリティエンコーダの優先度判定アルゴリズムがマッチライン毎のＨＩＴ状態及びＭＩＳＳ状態の検証を困難にしている第二の側面に対処した構成例について説明する。
【００９５】
図９に示すように、この実施の形態４によるＣＡＭ装置では、全てのマッチラインＭＬ（ここでは、アドレス０のマッチラインＭＬ＜０＞〜アドレスＭ−１のマッチラインＭＬ＜Ｍ−１＞のＭ本であるとする）が、それぞれマッチアンプ５０を介してプライオリティエンコーダ５１に接続される場合に、マッチラインＭＬ毎に、マッチアンプ５０の出力端とプライオリティエンコーダ５１との間に、マッチアンプ５０の出力が分岐入力するテスト回路５２と、マッチアンプ５０の出力とテスト回路５２の出力とが入力するセレクタ５３とを設けられている。
【００９６】
各テスト回路５２及びセレクタ５３には、共通に、テストモードと通常動作モードとを指定するモード指定信号（テスト／非テスト）が入力される。各セレクタ５３は、モード指定信号（テスト／非テスト）が、「テスト（テストモード）」であるときはテスト回路５２の出力をプライオリティエンコーダ５１に与え、「非テスト（通常動作モード）」であるときはマッチアンプ５０の出力をプライオリティエンコーダ５１に与えるように動作する。
【００９７】
各テスト回路５２は、例えばＡＮＤ回路５２ａとインバータ回路５２ｂとセレクタ５２ｃとを備えている。ＡＮＤ回路５２ａは、一方の入力がモード指定信号（テスト／非テスト）であり、他方の入力がマッチアンプ５０の出力である。ＡＮＤ回路５２ａの出力は、直接セレクタ５２ｃの一方の入力となり、またインバータ回路５２ｂを介してセレクタ５２ｃの他方の入力となっている。各セレクタ５２ｃの出力が上記したテスト回路５２の出力として対応するセレクタ５３に入力される。
【００９８】
ＡＮＤ回路５２ａは、モード指定信号（テスト／非テスト）が、テストモードであるときはマッチアンプ５０の出力をテスト回路５２内に取り込み、通常動作モードであるときはマッチアンプ５０の出力をテスト回路５２内に取り込まない。図示例では、モード指定信号（テスト／非テスト）は、テストモードであるときは“１”レベル（Ｈレベルともいう）であり、通常動作モードであるときは“０”レベル（Ｌレベルともいう）である。
【００９９】
そして、各テスト回路５２では、テストモードであるときに、セレクタ５２ｃの制御信号として、テストするマッチラインＭＬの指定信号（テストＭＬ／非テストＭＬ）が個別に入力される。セレクタ５２ｃは、テストするマッチラインＭＬの指定信号（テストＭＬ／非テストＭＬ）が、「テストＭＬ」であるときはＡＮＤ回路５２ａの出力を選択し、「非テストＭＬ」であるときはインバータ回路５２ｂの出力を選択するように動作する。
【０１００】
ここで、テストするマッチラインＭＬの指定信号（テストＭＬ／非テストＭＬ）は、着目する１つのマッチラインＭＬにおけるセレクタ５２ｃには、「テストＭＬ」を与え、残りの全てのマッチラインＭＬにおけるセレクタ５２ｃには、「非テストＭＬ」を与えるようになっている。これによって、図示例では、テストモードであるときに、着目する１つのマッチラインＭＬにおけるセレクタ５２ｃは、ＡＮＤ回路５２ａが出力するＨレベルを対応するセレクタ５３を介してプライオリティエンコーダ５１に与える一方、残りの全てのマッチラインＭＬにおけるセレクタ５２ｃは、インバータ回路５２ｂが反転出力するＬレベルを対応するセレクタ５３を介してプライオリティエンコーダ５１に与えることになる。
【０１０１】
次に、図１０を参照して動作について説明する。なお、図１０は、図９に示すテスト回路によるテスト方法を説明する図である。テストモード時では、着目するマッチラインＭＬを１つずつ順番に指定する。つまり、図１０に示すように全てのマッチラインＭＬを、マッチラインＭＬ＜０＞からマッチラインＭＬ＜Ｍ−１＞まで順番に指定するとすれば、マッチラインＭＬ＜０＞のテスト時では、マッチラインＭＬ＜０＞がｅｎａｂｌｅ（有効）となり、ＨＩＴの情報がプライオリティエンコーダ５１に伝達される一方、マッチラインＭＬ＜１＞〜マッチラインＭＬ＜Ｍ−１＞は全てｄｉｓａｂｌｅ（無効）＝ＬレベルとなりＨＩＴの情報はプライオリティエンコーダ５１に伝達されない。
【０１０２】
以降、マッチラインＭＬ＜Ｍ−１＞まで同様であって、プライオリティエンコーダ５１には、各回のテストにおいて、１つのマッチラインＭＬのＨＩＴの情報が入力され、他の残り全てのマッチラインＭＬはＬレベルになりそれらのマッチラインＭＬでのＨＩＴの情報が入力されない。
【０１０３】
プライオリティエンコーダ５１は、ＨＩＴ状態を示すマッチラインＭＬが複数本あるときに、その中のアドレスが一番小さいマッチラインＭＬを優先選択するので、上記のように、常に、１つのマッチラインＭＬのみがＨＩＴ状態を示す状況下では、優先度判定の機能は働かず、単にエンコーダとして機能することになる。
【０１０４】
したがって、マッチラインＭＬ毎にｐａｓｓ（パス）／ｆａｉｌ（フェイル）の判定を認識できるので、全てのＣＡＭセルについて、実施の形態３にて説明したビット・バイ・ビットの方法で１ビットずつ動作機能故障の検出テストを容易に実施できるようになる。
【０１０５】
実施の形態５．
この発明の実施の形態５では、図１１〜図１６を参照して動作限界故障の検出を可能にする構成例について説明する。図１１は、この発明の実施の形態５によるＣＡＭ装置が備える不良の加速条件を与える構成を説明する全体構成図である。図１０に示すように、ＣＡＭは、ＣＡＭアレイ６０の周囲に、サーチラインＳＬを駆動して検索動作を行う検索線駆動回路６１と、ビットラインＢＬを駆動してセルへの書き込みを行う書込駆動回路６２とが対向して配置され、またマッチラインＭＬの状態を取り込むプライオリティエンコーダ６３が配置される。そして、検索線駆動回路６１及び書込駆動回路６２には、外部から検索データ列及び書込データ列が入力されるが、この実施の形態５では、書込駆動回路６２への書込データ列の入力ラインにテスト回路６４が設けられる。なお、読み出し回路系は示してない。
【０１０６】
図１２は、図１１に示すテスト回路の具体的な構成例を示す回路図である。図１２に示すように、テスト回路６４は、例えば、ａ、ｂ、ｃ（ａ＜ｂ＜ｃ）の３種類の遅延時間をセレクタ６６によって選択して書込駆動回路６２への書込データ列に与える遅延時間調整回路である。このテスト回路６４は、図１３〜図１５に示すような動作限界故障を想定して設けてある。なお、図１３は、動作限界故障の一例としてメモリセルにマージン不良が存在する場合を説明する図である。図１４は、マージン不良が無い場合と有る場合とでメモリセルの動作を説明する図である。図１５は、電源ノイズが動作限界故障に与える影響を説明する図である。
【０１０７】
図１３に示すように、ＣＡＭアレイ６０における各メモリセル（ＭＣ）は、メモリ（ＳＲＡＭ）用トランジスタ６７と、検索用トランジスタ６８とで構成される。メモリ（ＳＲＡＭ）用トランジスタ６７は、ワードラインＷＬ及びビットラインＢＬ、／ＢＬに接続される。また、検索用トランジスタ６８は、マッチラインＭＬ及びサーチラインＳＬに接続される。
【０１０８】
ここで、ＳＲＡＭやＤＲＡＭでは、書き込みが完了しない状態で、同一のメモリセルに対して直ちに読み出しが行われると、完全にメモリセルのノードが安定しない状態、つまりセルノードが電源Ｖｄｄレベル、ＧＮＤレベルに到達しない状態で、ビットラインＢＬ、／ＢＬに接続されるので、ビットラインＢＬ、／ＢＬ間に読み出される電位差が正常値よりも少なくなる。そのため、センスアンプは正常通りの時間内に増幅することが難しくなり、センスアンプで読み出しエラーを起こす可能性がある。最悪の場合、ビットラインＢＬ、／ＢＬに接続された瞬間にセルのデータが反転するおそれもある。
【０１０９】
このように、ＳＲＡＭやＤＲＡＭでは、書込命令Ｗｒｉｔｅの実行後に、同一のメモリセルに対して直ちに読み出し命令Ｒｅａｄを実行することは、メモリセルが正常通りにバランスを保った状態で製造できているか、動作しているか、アンバランスによる動作限界故障が起こる可能性はないか、をテストする有効な手段であることから、一般的に行われている。
【０１１０】
ＣＡＭにおいても、書込命令Ｗｒｉｔｅの実行後に、検索命令Ｓｅａｒｃｈを直ちに実行する場合に、図１４に示すように、同様のことが起こるので、同様にマージン不良をテストする手段として使用することができる。
【０１１１】
図１４では、書込命令Ｗｒｉｔｅを実行したクロックＣＬＫの次のクロックＣＬＫで検索命令Ｓｅａｒｃｈが実行される場合の動作が示されている。図１３に示すようなメモリセル（ＭＣ）において、マージン不良が無く正常である場合は、図１４のＭＣ（正常）に示すように、書き込みを行ったクロックＣＬＫの周期内に書き込みが完了するので、次のクロックＣＬＫで検索が行われても、セルノードが正しく接地電位（ＧＮＤ）レベルに到達しているので、検索用トランジスタ６８が誤動作することは無い。
【０１１２】
しかし、図１３において、メモリ（ＳＲＡＭ）用トランジスタ６７内の丸印で囲って示すトランジスタが何らかの事情で、例えば製造上の欠陥でアンバランスになると、図１４のＭＣ（マージン不良）に示すように、書き込み完了に要する時間が正常時よりも長くなり次のクロックＣＬＫに跨ることが起こる。そのため、書き込みを行ったクロックＣＬＫの次のクロックＣＬＫで検索命令が実行されると、セルノードが反転して直ぐに、或いは反転している過程でサーチラインＳＬが駆動されるので、セルノードが正しく接地電位（ＧＮＤ）レベルに到達していない状況となり、検索用トランジスタ６８が誤ってオン動作してしまい、マッチラインＭＬが誤って放電されてしまう（図１４のＭＬに丸印で囲って示す）という動作限界故障が起こる。
【０１１３】
次に、ＣＡＭは、動作中の消費電力が非常に大きいので、電源ノイズも他のメモリよりも多く発生する。この電源ノイズも、以上のようなマージン不良に大きく関係する（図１５参照）。図１５では、書込命令Ｗｒｉｔｅを実行したクロックＣＬＫの次のクロックＣＬＫで検索命令Ｓｅａｒｃｈが実行される場合の、書き込み信号、サーチラインＳＬに乗せた検索信号、検索時に電源レベル及び接地電位（ＧＮＤ）レベルに発生するノイズ、２つのメモリセル（ＭＣ−１，ＭＣ−２）での動作波形とが示されている。
【０１１４】
図１５に示すように、電源レベル及び接地電位（ＧＮＤ）レベルにノイズが発生し電源レベルが低下すれば、セルノードが書き込み完了するまでの時間が長くなり、または単にノイズによって被ったアンバランスを正常状態に戻す時間も長くなり、この動作限界故障を加速することが起こる。
【０１１５】
このような動作限界故障の指標を与える動作マージンは、ＣＡＭＬＳＩ内部の電源の他に、パッケージ、ボードを含めたインピーダンスやインダクタンス等の差異に起因するセルアンバランスに大きく左右されることになる。ＣＡＭＬＳＩの出荷テストの環境下では良品判定であったが、ユーザのシステムボードの電源状態において不良判定となる場合の多くは、この電源周りの条件の差異に起因する動作限界故障であるようである。
【０１１６】
そこで、この実施の形態５では、図１１と図１２に示すように、遅延時間調整を行うテスト回路６４によって、図１６に示すようにａ、ｂ、ｃ（ａ＜ｂ＜ｃ）の遅延時間毎に、メモリセルへの書き込みからサーチラインＳＬが活性化するまでの時間を調整できるようにしている。
【０１１７】
図１６は、図１１に示す不良の加速条件を与える構成の動作を説明する図である。図１６では、ａ、ｂ、ｃの遅延時間毎の書込駆動回路６２の動作状態と、ビットラインＢＬ上のｐａｓｓ／ｆａｉｌと、サーチラインＳＬの活性化との関係が示されている。図１６に示すように、メモリセルへの書き込みからサーチラインＳＬが活性化するまでの時間を遅延時間ａ，ｂ，ｃと長くする調整を行うことで、動作限界故障の因子を持つメモリセルを加速してテストすることができる。
【０１１８】
したがって、例えば、ＣＡＭＬＳＩの出荷テストにおいて、ノーマルモードと同じ遅延時間ａの条件下でｐａｓｓ（合格）である場合に、ユーザのシステムボードに実装した状態では、遅延時間ｂ或いは遅延時間ｃのように、書き込みに更に時間を要するような電源ノイズが発生することを想定して、つまりユーザ側での動作限界故障の発生を予期して、遅延時間を遅延時間ａではなく、遅延時間ｂ或いは遅延時間ｃのように加速した状態に調整して出荷品とすることが可能となり、信頼性と品質の向上が図れる。
【０１１９】
加えて、この実施の形態５では、図１４にて説明したように、書き込みと検索とのテストを、書き込みを行ったクロックの次のクロックで検索を行うことで、動作限界故障を発生する可能性の有るメモリセルのアドレスが特定できるので、前もってそのアドレスをヒューズブローなどの方法で救済措置が採れる冗長回路（ハードリペア領域）に設定して出荷することが可能となり、同様に信頼性と品質の向上が図れる。
【０１２０】
実施の形態６．
図１７は、この発明の実施の形態６によるＣＡＭ装置が備えるユーザ側でのソフトリペアを可能にする構成を説明する全体構成図である。図１７では、ＣＡＭ装置において、ソフトリペア領域（ソフト的に救済措置を採ることができる冗長回路）７０と、レジスタ７１とが追加されている。ソフトリペア領域７０とレジスタ７１とは、データピン７４からアクセスできるようになっている。
【０１２１】
ＣＡＭアレイ７２では、実施の形態５にて説明したように、動作限界故障を発生する可能性の有るメモリセルの検出テストを行い、ユーザ側での電源環境下で発生する電源ノイズを想定して加速した状態（図１２、図１６の例で言えば、遅延時間ｂ或いは遅延時間ｃ）で救済措置を採るが、この実施の形態６では、その不良エントリアドレスがプライオリティエンコーダ７３からレジスタ７１に設定され、この状態で出荷される。
【０１２２】
通常、ユーザ側では、流通過程における故障パーツを実装前にリジェクトすることやＬＳＩ製品ベンダー側での出荷テストが適切に行われているか否かを検証する目的で、受け入れテストを実施する。実施の形態５にて説明したようなメモリセルのアンバランスに起因する動作限界故障を予期したテストを施して出荷したＣＡＭＬＳＩは、ユーザ側での電源環境下で発生する電源ノイズを想定して加速した状態で救済措置を採ってあるので、基本的にはユーザ側の受け入れテストで同様の不良が発生する可能性は低い。しかし、ユーザ側のシステムボードの状態やＣＡＭの駆動方法などによっては、ベンダー側で予期できなかった不良が発生する可能性はゼロでない。
【０１２３】
つまり、実施の形態５によるＣＡＭは、図１２、図１６の例で言えば、遅延時間ｂ或いは遅延時間ｃに加速した状態で救済措置を採って出荷されるので、ユーザ側が遅延時間ａの状態でテストしても、動作限界故障が発生する可能性は基本的には無いはずであるが、上記したようのにユーザ側の実際の電源状態によっては、可能性ゼロとは言えない。
【０１２４】
そこで、この実施の形態６では、各メモリセルの通常状態（図１２、図１６の例で言えば、遅延時間ａ）をユーザ側にＢＩＳＴ（ｂｕｉｌｔ  ｉｎ  ｓｅｌｆｔｅｓｔ）としてリリース（公開）しておく。そして、ユーザ側の受け入れテストにおいて万一不良が発生した場合には、ユーザ側にてシステムからデータピン７４を通してレジスタ７１に格納した不良エントリアドレスを認識し、ソフトリペア領域７０を利用して救済措置を採ることができるようにしている。
【０１２５】
但し、ソフトリペア領域７０は、必ずしも必要ではなく、レジスタ７１に格納する不良エントリアドレスの数が少ない場合は、不要にすることができる。すなわち、レジスタ７１に格納する不良エントリアドレスが、例えば１つ或いはごく少数であれば、ユーザ側では、システムとしてそのアドレスのみを回避（削除）してＣＡＭＬＳＩを使用することが簡単にできる。
【０１２６】
これによって、ユーザ側では、ＣＡＭＬＳＩの不良に関わらずシステム全体の品質を保つことができる。また、ベンダー側としても、ＣＡＭＬＳＩの品質向上の効果が期待できる。
【０１２７】
実施の形態７．
この発明の実施の形態７では、図１８、図１９を参照して、ＣＡＭＬＳＩのベンダー側でのハード的なリペア措置とユーザ側でのソフト的なリペア措置との組み合わせによって品質向上を図る場合について説明する。なお、図１８と図１９は、ＣＡＭＬＳＩのベンダー側とユーザ側との協同作業によって品質向上を図る場合を説明するフローチャートである。
【０１２８】
図１８では、ＣＡＭ装置がハードリペア機構のみを搭載する場合の救済手順が示されている。すなわち、図１８において、ＬＳＩベンダー側では、製造工程において（ＳＴ１）、動作機能故障を検出するテストを実施して不良アドレスを認識すると（ＳＴ２）、ヒューズブローなど一般的に採用されるハード的なリペア措置を採り（ＳＴ３）、出荷する。ＬＳＩユーザ側では、受け入れ工程において、動作限界故障を検出するシステム診断テストを実施し（ＳＴ５）、不良アドレスを認識すると（ＳＴ６）、実使用において、システムとしてその不良アドレスを使用対象から除外する措置を採る（ＳＴ７）。
【０１２９】
図１９では、ＣＡＭ装置がハードリペア機構のみを搭載するとともに、ユーザ側で使用可能なソフトリペア領域を備える場合の救済手順が示されている。すなわち、図１９において、ＬＳＩベンダー側では、図１８と同様であるが、ＬＳＩユーザ側では、受け入れ工程において動作限界故障を検出するシステム診断テストを実施し（ＳＴ５）、不良アドレスを認識すると（ＳＴ６）、ＣＡＭＬＳＩ上のソフトリペア領域を使用してその不良アドレスに対する救済措置を採り（ＳＴ１０）、不使用アドレスが無い状態で実使用に移行する（ＳＴ１１）。
【０１３０】
動作限界故障は、前述したように、ユーザ側でのシステムボードや動作環境によって発生する場合もあるし、発生しない場合もあるので、ユーザ側でのソフト的なリペア措置が有効であると言える。これによって、ユーザ側では、システムの品質維持を図ることが可能となり、また、ベンダー側では、信頼性と品質の向上を図ることができる。
【０１３１】
実施の形態８．
図２０は、この発明の実施の形態８によるハードリペア機構とソフトリペア機構とを共に搭載したＣＡＭ装置（その１）を説明する全体構成図である。図２０において、ＣＡＭアレイには、ハードリペアを含むＣＡＭエントリ８０の他にソフトリペア用ＣＡＭエントリ８１を用意する。そして、ＣＡＭエントリ８０とプライオリティエンコーダ８２との間に、ハードウエア制御によって操作されるセレクタ８３と、ソフトウエア制御によって操作されるセレクタ８４とを設ける。
【０１３２】
セレクタ８３は、ＣＡＭエントリ８０において以上説明した方法でハード的な置換・リペアが実施された方を選択する。また、セレクタ８４は、セレクタ８３の出力を選択してプライオリティエンコーダ８２に与えるか、ソフトリペア用ＣＡＭエントリ８１を使用してリペア措置を実施してものを選択してプライオリティエンコーダ８２に与えるかを切り替える。
【０１３３】
図２１は、図２０に示すハードウエア制御（ハードリペア）とソフトウエア制御（ソフトリペア）との相違を説明する図である。図２２は、図２０に示すハードウエア制御（ハードリペア）とソフトウエア制御（ソフトリペア）とによって救済した例を説明する図である。
【０１３４】
図２１に示すように、ハード的なリペア措置（ＨＷ）では、ヒューズ８５をブローすることが行われ、ソフト的なリペア措置（ＳＷ）では、レジスタ８６に不良エントリアドレスを格納することが行われる（図１７参照）。この点が相違点である。それらの措置個数がカウンタ８７にて計数され、シフトレジスタ８８がシフト操作され、各シフト段の出力でセレクタ８９を制御する構成は一般的である。
【０１３５】
このような構成によって、図２２に示すように、ＣＡＭＬＳＩにおいて、動作機能故障をハード的なリペア措置によって救済し、動作限界故障をソフト的なリペア措置によって救済することができる。
【０１３６】
実施の形態９．
図２３は、この発明の実施の形態９によるハードリペア機構とソフトリペア機構とを共に搭載したＣＡＭ装置（その２）を説明する全体構成図である。図２３において、ＣＡＭアレイ並びにハードリペア領域９０は、アドレス０からアドレスＮ−１までのＮアドレスで形成されている。そして、その外部のＬＳＢ側とＭＳＢ側とに、それぞれ一つのソフトリペア領域９１，９２が形成されている。また、入力アドレス側には比較器９３が設けられ、出力アドレス側には比較器９４が設けられている。
【０１３７】
以上説明した方法によるテストの結果、ＣＡＭアレイ９０内のエントリアドレスＡとエントリアドレスＢとに欠陥が生じた場合、そのエントリアドレスＡとエントリアドレスＢとがそれぞれ入力アドレス側の比較器９３と出力アドレス側の比較器９４にプログラムされる。
【０１３８】
書き込みや読み出しの動作時では、まず、入力アドレス側の比較器９３にて、入力アドレスとエントリアドレスＡ並びにエントリアドレスＢとの大小関係が比較される。比較の結果、入力アドレス（Input addr.）＜エントリアドレスＡであれば、Ａ−１なる内部アドレス（Int.addr）に変換する。また、入力アドレス（Input addr.）＞エントリアドレスＢであれば、Ｂ＋１なる内部アドレス（Int.addr）を変換する。そして、このようにして変換した内部アドレス（Int.addr）を用いて書き込みや読み出しを実施する。
【０１３９】
検索動作時では、出力アドレス側の比較器９４にて、逆に、内部アドレス（Int.addr）＜エントリアドレスＡであれば、Ａ＋１なる外部アドレス（Ext.addr）に変換して出力する。また、内部アドレス（Int.addr）＞エントリアドレスＢであれば、Ｂ−１なる外部アドレス（Ext.addr）に変換して出力する。
【０１４０】
このように、実施の形態９では、ＣＡＭＬＳＩ内部に設けた比較器での大小比較による内部アドレスの変換によってアレイ内に生じた欠陥をソフト的に救済することが可能である。なお、ハード的なリペア措置は実施の形態８と同様の方法で実施される。
【産業上の利用可能性】
【０１４１】
以上のように、この発明にかかるＣＡＭ装置は、低電力消費化を図り、また製造歩留まりを向上させるのに有用である。
【０１４２】
また、この発明にかかるＣＡＭ装置及び救済方法は、信頼性と品質向上を図るのに有用である。
【図面の簡単な説明】
【０１４３】
【図１】この発明の実施の形態１によるＣＡＭ装置の要部構成を示す図である。
【図２】図１に示すＣＡＭ装置が備えるサーチライン活性化制御回路の構成例を示す要部回路図である。
【図３】この発明の実施の形態２によるＣＡＭ装置の要部構成を示す図である。
【図４】図３に示す冗長化したプライオリティエンコーダの構成例及び図３に示すサブアレイとの関係を説明する概念図である。
【図５】図４に示す優先決定回路の具体例を示す回路図である。
【図６】図４に示す下位アドレスエンコーダの具体例を示す回路図である。
【図７】この発明の実施の形態３によるＣＡＭ装置が備える全ＣＡＭセルの機能をマッチライン毎にテストする回路のうちＨＩＴ機能のテスト回路を説明する図である。
【図８】この発明の実施の形態３によるＣＡＭ装置が備える全ＣＡＭセルの機能をマッチライン毎にテストする回路のうちＭＩＳＳ機能のテスト回路を説明する図である。
【図９】この発明の実施の形態４によるＣＡＭ装置が備えるマッチライン毎にＨＩＴ状態とＭＩＳＳ状態とを検証可能にする構成を説明する全体構成図である。
【図１０】図９に示すテスト回路によるテスト方法を説明する図である。
【図１１】この発明の実施の形態５によるＣＡＭ装置が備える不良の加速条件を与える構成を説明する全体構成図である。
【図１２】図１１に示すテスト回路の具体的な構成例を示す回路図である。
【図１３】動作限界故障の一例としてメモリセルにマージン不良が存在する場合を説明する図である。
【図１４】マージン不良が無い場合と有る場合とでメモリセルの動作を説明する図である。
【図１５】電源ノイズが動作限界故障に与える影響を説明する図である。
【図１６】図１１に示す不良の加速条件を与える構成の動作を説明する図である。
【図１７】この発明の実施の形態６によるＣＡＭ装置が備えるユーザ側でのソフトリペアを可能にする構成を説明する全体構成図である。
【図１８】この発明の実施の形態７として、ＣＡＭＬＳＩのベンダー側とユーザ側との協同作業によって品質向上を図る場合（その１）を説明するフローチャートである。
【図１９】この発明の実施の形態７として、ＣＡＭＬＳＩのベンダー側とユーザ側との協同作業によって品質向上を図る場合（その２）を説明するフローチャートである。
【図２０】この発明の実施の形態８によるハードリペア機構とソフトリペア機構とを共に搭載したＣＡＭ装置（その１）を説明する全体構成図である。
【図２１】図２０に示すハードウエア制御（ハードリペア）とソフトウエア制御（ソフトリペア）との相違を説明する図である。
【図２２】図２０に示すハードウエア制御（ハードリペア）とソフトウエア制御（ソフトリペア）とによって救済した例を説明する図である。
【図２３】この発明の実施の形態９によるハードリペア機構とソフトリペア機構とを共に搭載したＣＡＭ装置（その２）を説明する全体構成図である。
【図２４】ネットワーク機器の構成例を示すブロック図である。
【図２５】イーサネット（登録商標）フレームでのパケット構成を示す図である。
【図２６】図２５に示すＣＡＭの要部構成を示すブロック図である。
【図２７】図２６に示すＣＡＭアレイの構成を示す回路図である。
【図２８】図２７に示すＴＣＡＭユニットセルの記憶値と検索値との関係を説明する真理値表である。
【図２９】大容量ＣＡＭの低消費電力化を図る従来例（その１）示すブロック図である。
【図３０】大容量ＣＡＭの低消費電力化を図る従来例（その２）示すブロック図である。
【図３１】ＣＡＭの製造歩留まりを向上させる従来例を示すブロック図である。
【図３２】ＣＡＭにおいてメモリセル占有率を上げる場合の一例を示すブロック図である。
【符号の説明】
【０１４４】
７  第１のデータピン
８  第２のデータピン
１０，１０ａ，１０ｂ，１０ｃ，１０ｄ  ３値メモリ
１１，１１ａ，１１ｂ，１１ｃ，１１ｄ  一致比較回路
１２，１２ａ，１２ｂ，１２ｃ，１２ｄ  一致比較回路
１３，１３ａ，１３ｂ，１３ｃ，１３ｄ  検索線駆動回路
２０  サーチライン活性化制御回路
２１  一致判定ライン
２２  ＡＮＤ回路
２３  ＮＡＮＤ回路
３０＿００，３０＿０１，・・，３０＿１０，３０＿１１，・・，３０＿ｍ０，３０＿ｍ１，・・  サブアレイ
３１  冗長回路
３２，３２＿００，３２＿０１，・・、３２＿１０，３２＿１１，・・、３２＿ｍ０，３２＿ｍ１，・・  マッチアンプ
３３，３３＿００，３３＿０１，・・、３３＿１０，３３＿１１，・・、３３＿ｍ０，３３＿ｍ１，・・  冗長化したプライオリティエンコーダ
３５，３５＿０，３５＿１，・・、３５＿ｍ  出力ライン
４０  ＣＡＭエントリ
４１  優先決定回路
４２  シフタ
４２ａ  シフトレジスタ
４２ｂ  セレクタ
４３  下位アドレスエンコーダ
５０  マッチアンプ
５１  プライオリティエンコーダ
５２  テスト回路
５２ａ  ＡＮＤ回路
５２ｂ  インバータ回路
５２ｃ  セレクタ
５３  セレクタ
６０  ＣＡＭアレイ
６１  検索線駆動回路
６２  書込駆動回路
６３  プライオリティエンコーダ
６４  テスト回路
７０  ソフトリペア領域
７１  レジスタ
７２  ＣＡＭアレイ
７３  プライオリティエンコーダ
７４  データピン
８０  ハードリペアを含むＣＡＭエントリ
８１  ソフトリペア用ＣＡＭエントリ
８２  プライオリティエンコーダ
８３  ハードウエア制御によって操作されるセレクタ
８４  ソフトウエア制御によって操作されるセレクタ
８５  ヒューズ
８６  レジスタ
８７  カウンタ
８８  シフトレジスタ
８９  セレクタ
９０  ＣＡＭアレイ並びにハードリペア領域
９１，９２  ソフトリペア領域
１０３，１０３ａ，１０３ｂ，１０３ｃ，１０３ｄ  マッチアンプ
１０４  プライオリティエンコーダ
１０５  センスアンプ
１０７  検索結果出力ピン
１１０  ＣＡＭアレイ
１１１  ＴＣＡＭユニットセル
【図１】
2006309917.tif 000003
【図２】
2006309917.tif 000004
【図３】
2006309917.tif 000005
【図４】
2006309917.tif 000006
【図５】
2006309917.tif 000007
【図６】
2006309917.tif 000008
【図７】
2006309917.tif 000009
【図８】
2006309917.tif 000010
【図９】
2006309917.tif 000011
【図１０】
2006309917.tif 000012
【図１１】
2006309917.tif 000013
【図１２】
2006309917.tif 000014
【図１３】
2006309917.tif 000015
【図１４】
2006309917.tif 000016
【図１５】
2006309917.tif 000017
【図１６】
2006309917.tif 000018
【図１７】
2006309917.tif 000019
【図１８】
2006309917.tif 000020
【図１９】
2006309917.tif 000021
【図２０】
2006309917.tif 000022
【図２１】
2006309917.tif 000023
【図２２】
2006309917.tif 000024
【図２３】
2006309917.tif 000025
【図２４】
2006309917.tif 000026
【図２５】
2006309917.tif 000027
【図２６】
2006309917.tif 000028
【図２７】
2006309917.tif 000029
【図２８】
2006309917.tif 000030
【図２９】
2006309917.tif 000031
【図３０】
2006309917.tif 000032
【図３１】
2006309917.tif 000033
【図３２】
2006309917.tif 000034