(57)【要約】【課題】  ソフトエラーに対して高い信頼性を確保するための技術を提供する。【解決手段】  ＣＡＭ部に書き込まれるエントリデータについてのエラー訂正コードを作成するためのエラー訂正コード作成回路（１０）と、上記ＣＡＭ部からの読み出しデータについて、上記エラー訂正コードに基づくエラー検出及びエラー訂正を行うためのエラー検出及び訂正回路（１１）と設け、エラー検出及び訂正回路は上記ＣＡＭ部からの読み出しデータについて、上記エラー訂正コードに基づくエラー検出及びエラー訂正を行う。このエラー検出及びエラー訂正は、ＣＡＭ部の性能に影響を与えない。そして、エラーによって比較データと一致しなくなる場合については、エラー発生からエラー検出までの期間をＴＣＰ／ＩＰなどの再送要求のタイムアウト時間以下に設定することによって、ネットワーク障害を回避することができる。【選択図】        図１
2005216400.tif 000002
【特許請求の範囲】
【請求項１】
エントリデータを保持可能なＣＡＭ部を含み、入力された比較データと上記エントリデータとを比較し、その比較結果を出力可能な半導体集積回路であって、
上記ＣＡＭ部に書き込まれるエントリデータについてのエラー訂正コードを作成するエラー訂正コード作成回路と、
上記ＣＡＭ部からの読み出しデータについて、上記エラー訂正コードに基づくエラー検出及びエラー訂正を行うエラー検出及び訂正回路と、を含むことを特徴とする半導体集積回路。
【請求項２】
上記エラー検出及び訂正回路は、上記ＣＡＭ部へのデータ書き込みサイクルを除くタイミングで、上記エラー訂正コードに基づくエラー検出及びエラー訂正を行う請求項１記載の半導体集積回路。
【請求項３】
上記エラー訂正コード作成回路によって生成されたエラー訂正コードを記憶可能なＲＡＭ部を含み、上記エラー検出及び訂正回路は、上記ＲＡＭ部内のエラー訂正コードに基づいて上記エラー検出及びエラー訂正を行う請求項１記載の半導体集積回路。
【請求項４】
上記ＣＡＭ部は、上記比較データを格納するための第１記憶エリアとは別に、上記エラー訂正コードを記憶するための第２記憶エリアを有し、上記エラー検出及び訂正回路は、上記第２記憶エリアに記憶されているエラー訂正コードに基づいて上記エラー検出及びエラー訂正を行う請求項１記載の半導体集積回路。
【請求項５】
上記ＣＡＭ部に書き込まれるデータに付加されるパリティビットを生成するためのパリティ生成回路を含む請求項１記載の半導体集積回路。
【請求項６】
上記エラー検出及び訂正回路は、エラー検出によってその状態を示す信号を出力する請求項１記載の半導体集積回路。
【請求項７】
上記ＣＡＭ部は３値データの記憶を可能とするセルを含み、上記エラー検出及び訂正回路は、上記３値データについてのエラー訂正を行う請求項１記載の半導体集積回路。
【請求項８】
上記ＣＡＭ部は、データ記憶のための電荷蓄積容量を備えたダイナミック型セルを含んで成り、上記エラー検出及び訂正回路は、上記ダイナミック型セルのリフレッシュのために読み出されたデータを利用して当該データについて上記エラー訂正コードに基づくソフトエラー検出及びエラー訂正を行う請求項１記載の半導体集積回路。
【請求項９】
リフレッシュ時における上記ダイナミック型セルへの書き込みデータを、上記上記エラー検出及び訂正回路でエラー訂正されたデータに代替可能なセレクタを含む請求項８記載の半導体集積回路。
【請求項１０】
上記ＣＡＭ部における隣接ビットは、エラー訂正コードの別セットとされた請求項１記載の半導体集積回路。
【請求項１１】
エラー訂正コードの同一セットには上記ＣＡＭ部における複数アドレスが含まれる請求項１０記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路、さらにはそれに含まれるメモリのエラー訂正技術に関する。
【背景技術】
【０００２】
同一基板上にコンテントアドレッサブルメモリ（「ＣＡＭ」と略記する）とランダムアクセスメモリ（「ＲＡＭ」と略記する）を有し、ＲＡＭにはデータとチェックビット（またはエンコードデータ）を格納し、ＲＡＭから読み出したデータとチェックビット（またはエンコードデータ）でエラー検出・訂正を行うとともに、ＲＡＭのデータでＣＡＭをリフレッシュする技術が知られている（例えば特許文献１参照）。
【０００３】
また、入力データから生成したパリティコードを保存しておき、入力データとＣＡＭデータが一致した場合に、そのワードに対応するパリティコードと入力データから生成したパリティコードを比較することで、ソフトエラーを検出するようにした技術が知られている（例えば特許文献２参照）。
【０００４】
【特許文献１】米国特許出願公開第２００３／０００７４０８号明細書
【０００５】
【特許文献２】米国特許第６０６７６５６号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００６】
キャッシュメモリの管理などの用途にＣＡＭが用いられる。このキャッシュメモリの管理などの用途では、ＣＡＭにおいてソフトエラーが発生し、誤一致した場合にのみに間違ったデータが読み出され、ソフトエラーによって一致しなくなった場合にミスヒットとして処理され、下位メモリからの再読み出しが行われることで自動的にエラーが修復されることから、大きな不都合とならなかった。そのため、従来は誤一致を防ぐための対策のみが行われている。
【０００７】
しかしながら、近年ＣＡＭの利用が始まっているネットワーク装置のルータやネットワークスイッチなどでＣＡＭをパケットの分類を行うために使用した場合には、ソフトエラーによって一致しなくなることによってパケットの処理に重大な不都合が発生する可能性がある。例えば、特定のＩＰアドレスのみを通過させる必要があり、ＣＡＭに通過可能ＩＰアドレスを格納した場合、ＣＡＭのソフトエラーによって一致しなくなった場合は、本来通過させるべきパケットが通過できなくなるため、ネットワークに障害を発生させることになる。これを回避するための方法として、特許文献１に記載されているようなエラー訂正技術は、ＣＡＭ自身のエラー検出がなされないために、エラー検出方法として十分とはいえない。また、特許文献２に記載されているようなパリティコード比較によるソフトエラー検出技術はＣＡＭデータに誤りが発生して入力データと一致する場合にのみ有効であり、上記のようにソフトエラーにより不一致となった場合にはエラー検出ができない。
【０００８】
本発明の目的は、ソフトエラーに対して高い信頼性を確保するための技術を提供することにある。
【０００９】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１０】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【００１１】
すなわち、ＣＡＭ部に書き込まれるエントリデータについてのエラー訂正コードを作成するためのエラー訂正コード作成回路と、上記ＣＡＭ部からの読み出しデータについて、上記エラー訂正コードに基づくエラー検出及びエラー訂正を行うためのエラー検出及び訂正回路と設ける。
【００１２】
上記の手段によれば、エラー検出及び訂正回路は上記ＣＡＭ部からの読み出しデータについて、上記エラー訂正コードに基づくエラー検出及びエラー訂正を行う。このエラー検出及びエラー訂正は、ＣＡＭ部の性能に影響を与えない。そして、エラーによって比較データと一致しなくなる場合については、エラー発生からエラー検出までの期間をＴＣＰ／ＩＰなどの再送要求のタイムアウト時間以下に設定することによって、ネットワーク障害を回避することができる。このことが、ソフトエラーに対して高い信頼性を達成する。
【００１３】
このとき、上記エラー検出及び訂正回路においては、ＣＡＭ部におけるデータ破壊を防ぐため、上記ＣＡＭ部へのデータ書き込みサイクルを除くタイミングで、上記エラー訂正コードに基づくエラー検出及びエラー訂正を行うようにすると良い。
【００１４】
上記エラー訂正コード作成回路によって生成されたエラー訂正コードを記憶可能なＲＡＭ部を設け、上記ＲＡＭ部内のエラー訂正コードに基づいて上記エラー検出及びエラー訂正を行うように構成することができる。
【００１５】
上記ＣＡＭ部において、上記比較データを格納するための第１記憶エリアとは別に、上記エラー訂正コードを記憶するための第２記憶エリアを設け、上記第２記憶エリアに記憶されているエラー訂正コードに基づいて上記エラー検出及びエラー訂正を行うように構成することができる。
【００１６】
エラー発生からエラー訂正までの期間についても、エラーの発生したエントリデータが間違って一致することを防止するため、上記ＣＡＭ部に書き込まれるデータに付加されるパリティビットを生成するためのパリティ生成回路を設けることができる。
【００１７】
エラー発生を知らしめるため、上記エラー検出及び訂正回路において、エラー検出の状態を示す信号を出力するようにすると良い。
【００１８】
上記ＣＡＭ部は３値データの記憶を可能とするセル構造を採用することができる。
【００１９】
上記ＣＡＭ部は、データ記憶のための電荷蓄積容量を備えたダイナミック型セルを含んで構成し、上記エラー検出及び訂正回路は、上記ダイナミック型セルのリフレッシュのために読み出されたデータを利用して当該データについて上記エラー訂正コードに基づくソフトエラー検出及びエラー訂正を行うように構成することができる。このとき、リフレッシュ時における上記ダイナミック型セルへの書き込みデータを、上記エラー検出及び訂正回路でエラー訂正されたデータに代替可能なセレクタを設けることができる。
【発明の効果】
【００２０】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００２１】
すなわち、ソフトエラーに対して高い信頼性を確保するための技術を提供することができる。
【発明を実施するための最良の形態】
【００２２】
図１５には、本発明にかかる半導体集積回路の一例であるルータ用ＬＳＩが示される。このルータ用ＬＳＩ２００は、所定のプログラムに従ってパケットデータに含まれる宛先アドレス情報に従って当該パケットの転送処理を行うルーティングプロセッサ２０１と、このルーティングプロセッサ２０１から伝達された宛先アドレスに対応するＩＰアドレス情報をルーティングテーブルに基づいて検索するためのＩＰアドレス検索部２１０と、このＩＰアドレス検索部２１０で検索されたＩＰアドレス情報に対応するルーティング情報を出力するためのルーティング情報出力部２２０とを含み、公知の半導体集積回路製造技術により単結晶シリコン基板などの一つの半導体基板に形成される。ルーティングプロセッサ２０１は、上記ルーティング情報出力部２２０から伝達されたルーティング情報に従ってパケットデータの転送処理を行う。上記ルーティング情報出力部２２０は、特に制限されないが、ルーティング情報がＩＰアドレスとの関係で記憶されたＲＡＭ（ランダム・アクセス・メモリ）２２１、上記ＩＰアドレス検索部２１０での検索結果をデコードするデコーダ２２２、ＲＡＭ２２１に対してデータの入出力を行うための直接周辺回路２２３を含む。上記デコーダ２２２のデコード結果に基づいてＲＡＭ２２１から対応するルーティング情報が読み出され、それが直接周辺回路２２３を介してルーティングプロセッサ２０１に伝達されるようになっている。
【００２３】
図１には、上記ＩＰアドレス検索部２１０の構成例が示される。
【００２４】
上記ＩＰアドレス検索部２１０は、特に制限されないが、アドレスバッファ１、データ入出力バッファ２、アドレスカウンタ３、コマンドデコーダ４、セレクタ５，６，７、ＣＡＭ部８、ＲＡＭ（ランダム・アクセス・メモリ）部９、ＥＣＣ生成回路１０、エラー検出及び訂正回路１１、訂正データラッチ１２、不良アドレスラッチ１３、プライオリティエンコーダ１４を含む。
【００２５】
上記ＣＡＭ部８は、アレイ状に配列された複数のメモリセルや、入力されたアドレス信号をデコードするためのアドレスデコーダなどを含む。
【００２６】
アドレスバッファ１は、ルーティングプロセッサ２０１から伝達されたアドレス信号を取り込むために設けられる。ルーティングプロセッサ２０１から伝達されたアドレス信号はこのアドレスバッファ１を介してセレクタ５に伝達される。
【００２７】
データ入出力バッファ２は、ルーティングプロセッサ２０１から伝達されたデータを取り込んだり、エラー検出及び訂正回路１１から伝達された訂正データをルーティングプロセッサ２０１に伝達するために設けられる。ルーティングプロセッサ２０１から伝達されたデータはこのデータ入出力バッファ２を介してセレクタ６に伝達される。また、エラー検出及び訂正回路１１から伝達された訂正データはこのデータ入出力バッファ２を介してルーティングプロセッサ２０１やセレクタ６へ伝達することができる。
【００２８】
上記コマンドデコーダ４は、ルーティングプロセッサ２０１から伝達されたコマンドをデコードする機能を有する。このコマンドデコーダ４でのデコード結果は、アドレスカウンタ３やセレクタ５，６，７に伝達される。
【００２９】
アドレスカウンタ３は、上記コマンドデコーダ４の出力信号に基づいてデータ読み出しのためのアドレス信号を生成する。生成されたアドレス信号はセレクタ５，７に伝達される。
【００３０】
セレクタ５は、上記アドレスバッファ１から伝達されたアドレス信号と、上記不良アドレスラッチ１３から伝達された不良アドレス信号と、アドレスカウンタ３から伝達されたアドレス信号とを選択的に後段のＣＡＭ部８に伝達する。このセレクタ５の選択動作は、コマンドデコーダ４の出力信号によって制御される。
【００３１】
セレクタ６は、上記データ入出力バッファ２を介して伝達されたデータや上記訂正データラッチ１２の出力データを選択的にＥＣＣ生成回路１０へ伝達する。このセレクタ６の選択動作は、コマンドデコーダ４の出力信号によって制御される。
【００３２】
セレクタ７は、上記アドレスバッファ１から伝達されたアドレス信号と、上記不良アドレスラッチ１３から伝達された不良アドレス信号と、アドレスカウンタ３から伝達されたアドレス信号とを選択的に後段のＲＡＭ部９に伝達する。このセレクタ７の選択動作は、コマンドデコーダ４の出力信号によって制御される。
【００３３】
ＥＣＣ生成回路１０は、上記ＣＡＭ部８に書き込まれるエントリデータについてのエラー訂正コード（ＥＣＣ）を作成する。作成されたエラー訂正コードはＲＡＭ部９に書き込まれる。
【００３４】
エラー検出及び訂正回路１１は、上記ＲＡＭ部９に記憶されているエラー訂正コードに基づいて、ＣＡＭ部８に記憶されているエントリデータのソフトエラー検出及びエラー訂正を行う。このソフトエラー検出及びエラー訂正は、上記ＣＡＭ部８への書き込みサイクルを除くタイミングで行われる。このエラー検出及び訂正回路１１での処理によりＥＣＣステータス信号、エラー訂正データ、及び不良アドレス信号が出力される。ＥＣＣステータス信号はルーティングプロセッサ２０１に伝達される。エラー訂正データは、訂正データラッチ１２を介してセレクタ６に伝達され、また、不良アドレス信号は、不良アドレスラッチ１３を介してセレクタ５，７に伝達される。
【００３５】
プライオリティエンコーダ１４は、複数のアドレスが一致した場合に最も優先順位の高いマッチアドレス情報とマッチステータス信号とを出力する。このマッチアドレス情報とマッチステータス信号はルーティング情報出力部２２０に伝達される。また、マッチステータス信号はルーティングプロセッサ２０１にも伝達される。
【００３６】
図４には、図１に示される構成における主要部の動作タイミングが示される。
【００３７】
コマンドデコーダ４に供給されたコマンドによってＣＡＭ部８への書き込みが指示された場合には、ＣＡＭ部８へデータが書き込まれるとともに、ＥＣＣ生成回路１０で生成されたエラー訂正コードがＲＡＭ部９に書き込まれる。
【００３８】
コマンドデコーダ４に供給されたコマンドによってＣＡＭ部８からのデータ読み出しが指示された場合には、ＣＡＭ部８からデータが読み出され、それがデータ入出力バッファ２を介してルーティングプロセッサ２０１に伝達される。
【００３９】
コマンドデコーダ４に供給されたコマンドによってＣＡＭ部８のデータ検索が指示された場合には、データ入出力バッファ２及びセレクタ６を介して伝達された比較データと、ＣＡＭ部８に格納されているエントリデータとの比較がＣＡＭ部８において行われる。この比較においてデータが一致するアドレスがあれば、マッチステータス信号がイネーブル状態にされるとともに当該アドレス情報が出力される。複数のアドレスが一致した場合は、最も優先順位の高いアドレス情報がプライオリティエンコーダ１４によって選択される。
【００４０】
そして、コマンドデコーダ４に供給されたコマンドが上記の何れでもない場合、例えばＣＡＭ部８の動作が不要な場合や、ＣＡＭが複数のブロックに分かれて一部のＣＡＭの動作が不要な場合には、ＣＡＭ部８及びＲＡＭ部９の双方からその記憶データが読み出され、エラー検出及び訂正回路１１においてエラー検出（ＥＣＣチェック）が行われる。エラーが発生している場合は、ＥＣＣステータス信号がエラー状態（例えば論理値“１”）にするとともに、エラー訂正されたデータと不良アドレスとがそれぞれ対応するラッチ１２，１３に格納される。ここで、上記読み出しのためのアドレス信号は、アドレスカウンタ３のインクリメント動作により自動的に生成される。つまり、アドレスカウンタ３においては、上記読み出しが行われる毎に１が加算されることでアドレス信号が生成される。上記ＣＡＭ部８が検索と同時に読み出し可能な回路とされる場合には、検索と同時にＣＡＭ部８の読み出しが行われることによって、エラー発生からエラー検出までの時間が短縮される。
【００４１】
コマンドデコーダ４に供給されたコマンドによってエラー訂正が指示された場合には、ＣＡＭ部８における該当アドレスに訂正データが書き込まれる。つまり、訂正データラッチ１２の保持データがセレクタ６を介してＣＡＭ部８に伝達され、不良アドレスラッチ１３の保持アドレスがセレクタ５を介してＣＡＭ部８に伝達されることで、ＣＡＭ部８における該当アドレスに訂正データが書き込まれる。また、このとき、ＥＣＣ生成回路１０において再びエラー訂正コードが生成され、それがＲＡＭ部９に書き込まれる。ＲＡＭ部９への書き込みアドレスは、不良アドレスラッチ１３に格納されている不良アドレスが使用される。
【００４２】
図４に示される例では、アドレスＡ０からＡｎまでのデータの書き込みを行った後で、Ｄｓ０からＤｓｋ＋３のデータの検索が行われる。書き込み時には、ＣＡＭ部８にデータＤｗ０からＤｗｎを書き込むと同時にＲＡＭ部９の対応するアドレスにエラー訂正コードｅｃｃ０からｅｃｃｎが書き込まれる。検索時はＣＡＭ部８の検索と同時にＣＡＭ部８とＲＡＭ部９からデータが読み出され、エラー検出が行われる。アドレスｋでエラーが発生し、次のサイクルでＥＣＣステータス信号を論理値“１”とするとともに、不良アドレスを出力している。エラー訂正コマンドが入力されることによって、ＣＡＭ部８とＲＡＭ部９のアドレスｋに、訂正したデータＤｗｋの書き込みが行われる。この例では、図１５に示されるルーティングプロセッサ２０１でＥＣＣステータス信号を監視し、エラーが発生した場合に検索を一時中断させてエラー訂正コマンドを発行している。検索の空き時間を検出して、コマンドを使用せずにエラーを訂正することも可能であるが、検索を中断させてエラーを修復することにより、エラー発生から訂正までの時間を短縮することができる。また、エラーアドレスをコントローラで収集することによって、エラーの発生状況を把握することができ、エラーがランダムなエラーであるのか、デバイスの不出来によるものかを識別することで、部品交換など装置の信頼度向上の対応を可能とすることができる。また、エラー訂正後のエラー検出は、エラーを起こしたアドレスから行うことによって、エラーが恒久的なエラーで無いことを確認することが可能である。
【００４３】
図５には、ＣＡＭ部８を構成する複数のＣＡＭセルのうちの一つについての構成例が示される。
【００４４】
このＣＡＭセルＭＣ（０，０）は、スタティック型の二つの記憶部を有する３値ＣＡＭと称されるもので、第１ワード線ＷＡ、第２ワード線ＷＢ、比較一致線ＭＡＴＣＨと、第１データ線ＤＯ、第２データ線Ｄ１、第１比較データ線ＣＤ０、第２比較データ線ＣＤ１とが交差するように配置され、それらの交差箇所に第１記憶部ＤＡ、第２記憶部ＤＢ、第１比較回路５１１、第２比較回路５１２が配置されて成る。
【００４５】
第１記憶部ＤＡは、ｐチャネル型ＭＯＳトランジスタＭＬ０Ａとｎチャネル型ＭＯＳトランジスタＭＤ０Ａとが直列接続されてなる第１インバータと、ｐチャネル型ＭＯＳトランジスタＭＬ１Ａとｎチャネル型ＭＯＳトランジスタＭＤ１Ａとが直列接続されて成る第２インバータとがループ状に結合されて成る。上記ｐチャネル型ＭＯＳトランジスタＭＬ０Ａ，ＭＬ１Ａのソース電極は高電位側電源Ｖｄｄに結合され、上記ｎチャネル型ＭＯＳトランジスタＭＤ０Ａ，ＭＤ１Ａのソース電極は低電位側電源Ｖｓｓに結合される。第１記憶部ＤＡは第１記憶ノード５１３と第２記憶ノード５１４とを有する。第１記憶ノード５１３はトランスファＭＯＳとされるｎチャネル型ＭＯＳトランジスタＭＴ０Ａを介して上記第１データ線Ｄ０に結合され、第２記憶ノード５１４は、トランスファＭＯＳとされるｎチャネル型ＭＯＳトランジスタＭＴ１Ａを介して第２データ線Ｄ１に結合される。このｎチャネル型ＭＯＳトランジスタＭＴ０Ａ，ＭＴ１Ａのゲート電極は第１ワード線ＷＡに結合され、この第１ワード線ＷＡがハイレベルに駆動されたときにｎチャネル型ＭＯＳトランジスタＭＴ０Ａ，ＭＴ１Ａが導通され、第１記憶部ＤＡからのデータ読み出しや第１記憶部ＤＡへのデータ書き込みが可能とされる。
【００４６】
第２記憶部ＤＢは、ｐチャネル型ＭＯＳトランジスタＭＬ０Ｂとｎチャネル型ＭＯＳトランジスタＭＤ０Ｂとが直列接続されてなる第１インバータと、ｐチャネル型ＭＯＳトランジスタＭＬ１Ｂとｎチャネル型ＭＯＳトランジスタＭＤ１Ｂとが直列接続されて成る第２インバータとがループ状に結合されて成る。上記ｐチャネル型ＭＯＳトランジスタＭＬ０Ｂ，ＭＬ１Ｂのソース電極は高電位側電源Ｖｄｄに結合され、上記ｎチャネル型ＭＯＳトランジスタＭＤ０Ｂ，ＭＤ１Ｂのソース電極は低電位側電源Ｖｓｓに結合される。第２記憶部ＤＢは第１記憶ノード５１５と第２記憶ノード５１６とを有する。第１記憶ノード５１５はトランスファＭＯＳとされるｎチャネル型ＭＯＳトランジスタＭＴ０Ｂを介して上記第１データ線Ｄ０に結合され、第２記憶ノード５１６は、トランスファＭＯＳとされるｎチャネル型ＭＯＳトランジスタＭＴ１Ｂを介して第２データ線Ｄ１に結合される。このｎチャネル型ＭＯＳトランジスタＭＴ０Ｂ，ＭＴ１Ｂのゲート電極は第２ワード線ＷＢに結合され、この第２ワード線ＷＢがハイレベルに駆動されたときにｎチャネル型ＭＯＳトランジスタＭＴ０Ｂ，ＭＴ１Ｂが導通され、第２記憶部ＤＢからのデータ読み出しや第２記憶部ＤＢへのデータ書き込みが可能とされる。
【００４７】
第１比較回路５１１は、二つのｎチャネル型ＭＯＳトランジスタＭＣＡ，ＭＣ０が直列接続されて成る。ｎチャネル型ＭＯＳトランジスタＭＣＡのドレイン電極は比較一致線ＭＡＴＣＨに結合され、ｎチャネル型ＭＯＳトランジスタＭＣＡのゲート電極は第１記憶部ＤＡの第１記憶ノード５１３に結合される。ｎチャネル型ＭＯＳトランジスタＭＣ０のソース電極は低電位側電源Ｖｓｓに結合され、ｎチャネル型ＭＯＳトランジスタＭＣ０のゲート電極は第１比較データ線ＣＤ０に結合される。
【００４８】
第２比較回路５１２は、二つのｎチャネル型ＭＯＳトランジスタＭＣＢ，ＭＣ１が直列接続されて成る。ｎチャネル型ＭＯＳトランジスタＭＣＢのドレイン電極は比較一致線ＭＡＴＣＨに結合され、ｎチャネル型ＭＯＳトランジスタＭＣＢのゲート電極は第２記憶部ＤＢの第１記憶ノード５１５に結合される。ｎチャネル型ＭＯＳトランジスタＭＣ１のソース電極は低電位側電源Ｖｓｓに結合され、ｎチャネル型ＭＯＳトランジスタＭＣ１のゲート電極は第２比較データ線ＣＤ１に結合される。
【００４９】
上記の構成において、ＤＡ＝’０’、ＤＢ＝’１’のとき記憶データは’１’となり、ＤＡ＝’１’＆ＤＢ＝’０’のとき記憶データは’０’であり、ＤＡ＝’０’＆ＤＢ＝’０’のときはこのＣＡＭセルは比較対象外となる。
【００５０】
図７には、図５に示されるＣＡＭセルを採用した場合のＣＡＭ部８におけるデータの配置例が示され、図８には、その場合のＲＡＭ部９へのエラー訂正データの配置例が示される。物理的な隣接セルがＥＣＣの別のセットとなるようにすることで、宇宙線などの高エネルギー粒子によって複数セルのデータが反転する場合でも、エラー検出と訂正を行うことができる。図８に示される例では偶数ビットと奇数ビットを別のセットにしている。また、この例では、物理的に隣接しない２つのアドレスを合わせてエラー訂正コードを作成することによってデータの幅を増やし、それによってエラー訂正コードの必要ビット数を低減している。ＣＡＭ部８へのデータ書込みの場合に、対象となるアドレスと対になるアドレスのデータを読み出してエラー訂正コードを作成することができる。
【００５１】
上記例によれば、以下の作用効果を得ることができる。
【００５２】
（１）ＣＡＭ部８の検索と同時またはＣＡＭ部８を使用しない期間を利用して、エラー検出と訂正を行うことにより、ＣＡＭ部８の性能に影響を与えないで済む。エラー発生からエラー検出までの期間については、パリティビットも比較対象とするために、誤一致を防止することができる。また、エラーによって比較データと一致しなくなる場合については、エラー発生からエラー検出までの期間をＴＣＰ／ＩＰなどの再送要求のタイムアウト時間以下に設定することによって、ネットワーク障害を回避することができる。それにより、性能に影響を与えずに、ソフトエラーに対して高い信頼度を確保することができる。
【００５３】
（２）上記（１）の作用効果により、プロセスを微細化した大容量ＣＡＭを内蔵するＬＳＩにおいても、性能を低下させずにソフトエラーについて高い信頼度を確保することができる。
【００５４】
（３）ＣＡＭ部８における物理的な隣接ビットを別のセットとして、エラー検出・訂正することで、宇宙線などの高エネルギー粒子によるマルチセルデータ反転エラーに対しても、エラー検出と訂正を可能にできる。それにより、宇宙線などの高エネルギー粒子によるソフトエラーに対しても高い信頼度を確保することができる。
【００５５】
（４）エラー訂正用コードのみを格納するため、エラー訂正を行うのに必要な回路の面積を小さくできる。また、ソフトエラー対策のためのキャパシタを付加するなどの余分な工程が不要とされる。
【００５６】
次に、別の構成例について説明する。
【００５７】
上記の例では、ＣＡＭセルにおける第１記憶部ＭＡ及び第２記憶部ＭＢがスタティック型とされたが、それをダイナミック型とすることができる。その場合におけるメモリセルＭＣ（０，０）の構成例が図６に示される。図６に示される構成が図５に示される構成と大きく相違するのは、第１記憶部ＤＡ、第２記憶部ＤＢがダイナミック型とされている点である。
【００５８】
図６において、第１記憶部ＤＡはｎチャネル型ＭＯＳトランジスタＭＴＡと、それに結合された電荷蓄積容量ＣＡとを含んで成り、第２記憶部ＤＢは、ｎチャネル型ＭＯＳトランジスタＭＴＢと、それに結合された電荷蓄積容量ＣＢとを含んで成る。上記電荷蓄積容量ＣＡの一端は低電位側電源Ｖｓｓに結合され、他端はｎチャネル型ＭＯＳトランジスタＭＴＡを介してデータ線Ｄに結合される。上記電荷蓄積容量ＣＢの一端は低電位側電源Ｖｓｓに結合され、他端はｎチャネル型ＭＯＳトランジスタＭＴＢを介してデータ線Ｄに結合される。そして、上記ｎチャネル型ＭＯＳトランジスタＭＴＡのゲート電極はワード線ＷＡに結合され、上記ｎチャネル型ＭＯＳトランジスタＭＴＢのゲート電極はワード線ＷＢに結合される。ワード線ＷＡが選択レベルに駆動された場合には、ｎチャネル型ＭＯＳトランジスタＭＴＡが導通されることにより、データＤを介して伝達されたデータを電荷蓄積容量ＣＡに書き込むことができ、また、この電荷蓄積容量ＣＡに記憶されたデータをデータ線Ｄに読み出すことができる。ワード線ＷＢが選択レベルに駆動された場合には、ｎチャネル型ＭＯＳトランジスタＭＴＢが導通されることにより、データＤを介して伝達されたデータを電荷蓄積容量ＣＢに書き込むことができ、また、この電荷蓄積容量ＣＢに記憶されたデータをデータ線Ｄに読み出すことができる。第１比較回路５１１は、ｎチャネル型ＭＯＳトランジスタＭＣＡ，ＭＣ０が直列接続され、ｎチャネル型ＭＯＳトランジスタＭＣＡのゲート電極は第１比較データ線ＣＤ０に結合され、ｎチャネル型ＭＯＳトランジスタＭＣ０のゲート電極は第１記憶部ＭＡの記憶ノード５１７に結合される。第２比較回路５１２は、ｎチャネル型ＭＯＳトランジスタＭＣＢ，ＭＣ１が直列接続され、ｎチャネル型ＭＯＳトランジスタＭＣＢのゲート電極は第２比較データ線ＣＤ１に結合され、ｎチャネル型ＭＯＳトランジスタＭＣ１のゲート電極は第２記憶部ＤＢの記憶ノード５１８に結合される。
【００５９】
ＣＡＭセルがダイナミック型の場合、リーク電流によるデータ破壊を防ぐために、一定の時間間隔以下でデータを読み出して、再書き込みを行う必要がある。この読み出しデータを使って、エラー検出を行うこともできる。図１１及び図１２にはその場合の構成例が示される。また、図１３には図１１に示される構成における主要部の動作タイミングが示され、図１４には図１２に示される構成における主要部の動作タイミングが示される。
【００６０】
図１１に示される構成においては、ダイナミック型セルのリフレッシュのためのリフレッシュカウンタ３０が設けられ、コマンドデコーダ４においてリフレッシュコマンドを受けることにより、リフレッシュカウンタ３０のアドレスを用いてリフレッシュが行われるとともに、このリフレッシュのためにＣＡＭ部８から読み出されたデータでエラー検出が行われる。また、エラー検出及び訂正回路１１においてエラーが検出された場合には、エラー訂正が完了されるまでの間、ＥＣＣステータスが論理値“１”に遷移されることで、ルーティングプロセッサ２０１に対してエラー発生を知らせる。そして、エラー検出及び訂正回路１１においてエラー訂正されたデータはＣＡＭ部８におけるエラー発生アドレスに書き込まれる。
【００６１】
また、図１２に示される構成のように、ＥＣＣ生成回路１０の出力とエラー検出及び訂正回路１１の出力とを選択的にＣＡＭ部８に伝達するためのセレクタ６０を設け、リフレッシュ時の再書き込みを行うデータを訂正したデータに代替するようにしても良い。このようにリフレッシュ動作と同時にエラー訂正を行うことで、ソフトエラーに対してより高い信頼度を得ることができる。
【００６２】
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００６３】
例えば、図２に示されるように、ＥＣＣ生成回路１０によって生成されたエラー訂正コードをＣＡＭ部８における所定エリアに格納し、ＣＡＭ部８から読み出されたエラー訂正コードに基づいてエラー検出及び訂正を行うようにしても良い。かかる構成においては、図１におけるＲＡＭ部９やそれに対応するセレクタ７は不要とされる。
【００６４】
また、エラー訂正コードをＲＡＭ部９に格納する場合は、図３に示されるようにパリティビットを生成するためのパリティ生成回路１５を設け、ＣＡＭ部８の比較データにパリティビットを含めることで、エラー発生からエラー訂正までの期間についても、エラーの発生したエントリデータが間違って一致することを防止することができる。このパリティビットは図３のように、同一チップ内で生成しても良いし、チップの外部で生成して、ＣＡＭ部８のデータの一部に含ませても良い。
【００６５】
上記の例では、ＣＡＭ部８が二つの記憶部を有するものについて説明したがそれに限定されるものではなく、種々の構成を採用することができる。例えばデータ用セルとマスク用セルとで３値ＣＡＭセルを構成することができる。図１６には、データ用セルとマスク用セルとで３値ＣＡＭセルを構成した例が示される。第１ワード線ＷD、第２ワード線ＷM、比較一致線ＭＡＴＣＨと、第１データ線ＤＯ、第２データ線Ｄ１、第１比較データ線ＣＤ０、第２比較データ線ＣＤ１とが交差するように配置され、それらの交差箇所に第１記憶部D、第２記憶部M、第１比較回路５２１、第２比較回路５２２が配置されて成る。
【００６６】
データ用セルに対応する第１記憶部Ｄは、ｐチャネル型ＭＯＳトランジスタＭＬ０Dとｎチャネル型ＭＯＳトランジスタＭＤ０Dとが直列接続されてなる第１インバータと、ｐチャネル型ＭＯＳトランジスタＭＬ１Dとｎチャネル型ＭＯＳトランジスタＭＤ１Dとが直列接続されて成る第２インバータとがループ状に結合されて成る。上記ｐチャネル型ＭＯＳトランジスタＭＬ０D，ＭＬ１Dのソース電極は高電位側電源Ｖｄｄに結合され、上記ｎチャネル型ＭＯＳトランジスタＭＤ０D，ＭＤ１Dのソース電極は低電位側電源Ｖｓｓに結合される。第１記憶部Ｄは第１記憶ノード５２３と第２記憶ノード５２４とを有する。第１記憶ノード５２３はトランスファＭＯＳとされるｎチャネル型ＭＯＳトランジスタＭＴ０Dを介して上記第１データ線Ｄ０に結合され、第２記憶ノード５２４は、トランスファＭＯＳとされるｎチャネル型ＭＯＳトランジスタＭＴ１Dを介して第２データ線Ｄ１に結合される。このｎチャネル型ＭＯＳトランジスタＭＴ０D，ＭＴ１Dのゲート電極は第１ワード線ＷDに結合され、この第１ワード線ＷDがハイレベルに駆動されたときにｎチャネル型ＭＯＳトランジスタＭＴ０D，ＭＴ１Dが導通され、第１記憶部Ｄからのデータ読み出しや第１記憶部Ｄへのデータ書き込みが可能とされる。
【００６７】
マスク用セルに対応する第２記憶部Mは、ｐチャネル型ＭＯＳトランジスタＭＬ０Mとｎチャネル型ＭＯＳトランジスタＭＤ０Mとが直列接続されてなる第１インバータと、ｐチャネル型ＭＯＳトランジスタＭＬ１Mとｎチャネル型ＭＯＳトランジスタＭＤ１Mとが直列接続されて成る第２インバータとがループ状に結合されて成る。上記ｐチャネル型ＭＯＳトランジスタＭＬ０M，ＭＬ１Mのソース電極は高電位側電源Ｖｄｄに結合され、上記ｎチャネル型ＭＯＳトランジスタＭＤ０M，ＭＤ１Mのソース電極は低電位側電源Ｖｓｓに結合される。第２記憶部Mは第１記憶ノード５２５と第２記憶ノード５２６とを有する。第１記憶ノード５２５はトランスファＭＯＳとされるｎチャネル型ＭＯＳトランジスタＭＴ０Mを介して上記第１データ線Ｄ０に結合され、第２記憶ノード５２６は、トランスファＭＯＳとされるｎチャネル型ＭＯＳトランジスタＭＴ１Mを介して第２データ線Ｄ１に結合される。このｎチャネル型ＭＯＳトランジスタＭＴ０M，ＭＴ１Mのゲート電極は第２ワード線ＷMに結合され、この第２ワード線ＷMがハイレベルに駆動されたときにｎチャネル型ＭＯＳトランジスタＭＴ０M，ＭＴ１Mが導通され、第２記憶部Mからのデータ読み出しや第２記憶部Mへのデータ書き込みが可能とされる。
【００６８】
第１比較回路５２１は、三つのｎチャネル型ＭＯＳトランジスタＭＣＤ０，ＭＣ０，ＭＣＭ０が直列接続されて成る。ｎチャネル型ＭＯＳトランジスタＭＣＤ０のドレイン電極は比較一致線ＭＡＴＣＨに結合され、ｎチャネル型ＭＯＳトランジスタＭＣＤ０のゲート電極は第１記憶部Ｄの第１記憶ノード５２３に結合される。ｎチャネル型ＭＯＳトランジスタＭＣ０のゲート電極は第１比較データ線ＣＤ０に結合される。ｎチャネル型ＭＯＳトランジスタＭＣＭ０のソース電極は低電位側電源Ｖｓｓに結合され、ｎチャネル型ＭＯＳトランジスタＭＣＭ０のゲート電極は第２記憶部Ｍの第１記憶ノード５２５に結合される。
【００６９】
第２比較回路５２２は、三つのｎチャネル型ＭＯＳトランジスタＭＣD1，ＭＣ１，MCM1が直列接続されて成る。ｎチャネル型ＭＯＳトランジスタＭＣD1のドレイン電極は比較一致線ＭＡＴＣＨに結合され、ｎチャネル型ＭＯＳトランジスタＭＣD1のゲート電極は第１記憶部Ｄの第１記憶ノード５２４に結合される。ｎチャネル型ＭＯＳトランジスタＭＣ１のゲート電極は第２比較データ線ＣＤ１に結合される。ｎチャネル型ＭＯＳトランジスタＭＣM１のソース電極は低電位側電源Ｖｓｓに結合され、ｎチャネル型ＭＯＳトランジスタＭＣM１のゲート電極は第２記憶部Ｍの第１記憶ノード５２５に結合される。
【００７０】
上記の構成において、記憶データは第１記憶部Dに記憶され、マスクデータは第２記憶部に記憶される。第２記憶部Mの第１記憶ノード５２５が低電位のときはこのＣＡＭセルは比較対象外となる。
【００７１】
ＣＡＭセルアレイへのデータとマスクの配置例を図９に示す。図９においてＤはデータ用セルに対応し、Ｍはマスク用セルに対応する。物理的な隣接セルがＥＣＣの別のセットとなるようにすることで、宇宙線などの高エネルギー粒子によって複数セルのデータが反転する場合でも、エラー検出と訂正を行なうことができる。ＲＡＭへの訂正コードの配置例を図１０に示す。この例においても、偶数ビットと奇数ビットを別のセットにしている。また、物理的に隣接しない２つのアドレスを合わせて訂正コードを作成することによって、データの幅を増やすことで、訂正コードの必要ビット数を低減している。
【００７２】
図１５においてルーティングプロセッサ２０１は、ＩＰアドレス検索部２１０やルーティング情報出力部２２０と別チップで構成される場合もある。
【００７３】
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるルータ用ＬＳＩに適用した場合について説明したが、本発明はそれに限定されるものではなく、各種半導体集積回路に適用することができる。
【００７４】
本発明は、少なくともエントリデータを保持可能なＣＡＭ部を含むことを条件に適用することができる。
【図面の簡単な説明】
【００７５】
【図１】本発明にかかる半導体集積回路の一例であるルータ用ＬＳＩにおけるＩＰアドレス検索部の構成例ブロック図である。
【図２】上記ルータ用ＬＳＩの別の構成例ブロック図である。
【図３】上記ルータ用ＬＳＩの別の構成例ブロック図である。
【図４】図１に示される構成における主要部の動作タイミング図である。
【図５】上記ルータ用ＬＳＩに含まれるＣＡＭ部における主要部の構成例回路図である。
【図６】上記ルータ用ＬＳＩに含まれるＣＡＭ部における主要部の別の構成例回路図である。
【図７】図５に示されるＣＡＭセルを採用した場合のＣＡＭ部におけるデータの配置例説明図である。
【図８】図５に示されるＣＡＭセルを採用した場合のＲＡＭ部へのエラー訂正データの配置例説明図である。
【図９】図１６に示されるＣＡＭセルを採用した場合のＣＡＭ部におけるデータの配置例説明図である。
【図１０】図１６に示されるＣＡＭセルを採用した場合のＲＡＭ部へのエラー訂正データの配置例説明図である。
【図１１】上記ルータ用ＬＳＩの別の構成例ブロック図である。
【図１２】上記ルータ用ＬＳＩの別の構成例ブロック図である。
【図１３】図１１に示される構成における主要部の動作タイミング図である。
【図１４】図１２に示される構成における主要部の動作タイミング図である。
【図１５】上記ルータ用ＬＳＩの全体的な構成例ブロック図である。
【図１６】上記ルータ用ＬＳＩに含まれるＣＡＭ部における主要部の別の構成例回路図である。
【符号の説明】
【００７６】
１  アドレス入力バッファ
２  データ入出力バッファ
３  アドレスカウンタ
４  コマンドデコーダ
５〜７，６０  セレクタ
８  ＣＡＭアレイ
９  訂正コード格納用ＲＡＭアレイ
１０  ＥＣＣ生成回路
１１  エラー検出及び訂正回路
１２  訂正データラッチ
１３  不良アドレスラッチ
１４  プライオリティエンコーダ
１５  パリティ生成回路
３０  リフレッシュカウンタ
【図１】
2005216400.tif 000003
【図２】
2005216400.tif 000004
【図３】
2005216400.tif 000005
【図４】
2005216400.tif 000006
【図５】
2005216400.tif 000007
【図６】
2005216400.tif 000008
【図７】
2005216400.tif 000009
【図８】
2005216400.tif 000010
【図９】
2005216400.tif 000011
【図１０】
2005216400.tif 000012
【図１１】
2005216400.tif 000013
【図１２】
2005216400.tif 000014
【図１３】
2005216400.tif 000015
【図１４】
2005216400.tif 000016
【図１５】
2005216400.tif 000017
【図１６】
2005216400.tif 000018