JP4397699B2 - Semiconductor integrated circuit - Google Patents
Semiconductor integrated circuit Download PDFInfo
- Publication number
- JP4397699B2 JP4397699B2 JP2004022789A JP2004022789A JP4397699B2 JP 4397699 B2 JP4397699 B2 JP 4397699B2 JP 2004022789 A JP2004022789 A JP 2004022789A JP 2004022789 A JP2004022789 A JP 2004022789A JP 4397699 B2 JP4397699 B2 JP 4397699B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- error
- cam
- error correction
- error detection
- 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.)
- Expired - Fee Related
Links
Images
Description
本発明は、半導体集積回路、さらにはそれに含まれるメモリのエラー訂正技術に関する。 The present invention relates to an error correction technique for a semiconductor integrated circuit and a memory included therein.
同一基板上にコンテントアドレッサブルメモリ(「CAM」と略記する)とランダムアクセスメモリ(「RAM」と略記する)を有し、RAMにはデータとチェックビット(またはエンコードデータ)を格納し、RAMから読み出したデータとチェックビット(またはエンコードデータ)でエラー検出・訂正を行うとともに、RAMのデータでCAMをリフレッシュする技術が知られている(例えば特許文献1参照)。 It has a content addressable memory (abbreviated as “CAM”) and a random access memory (abbreviated as “RAM”) on the same substrate, and stores data and check bits (or encoded data) in the RAM. A technique is known in which error detection / correction is performed using the data read from the data and the check bit (or encoded data), and the CAM is refreshed using the RAM data (see, for example, Patent Document 1).
また、入力データから生成したパリティコードを保存しておき、入力データとCAMデータが一致した場合に、そのワードに対応するパリティコードと入力データから生成したパリティコードを比較することで、ソフトエラーを検出するようにした技術が知られている(例えば特許文献2参照)。 In addition, the parity code generated from the input data is stored, and when the input data matches the CAM data, the parity code corresponding to that word is compared with the parity code generated from the input data, so that a soft error can be detected. A technique for detection is known (see, for example, Patent Document 2).
キャッシュメモリの管理などの用途にCAMが用いられる。このキャッシュメモリの管理などの用途では、CAMにおいてソフトエラーが発生し、誤一致した場合にのみに間違ったデータが読み出され、ソフトエラーによって一致しなくなった場合にミスヒットとして処理され、下位メモリからの再読み出しが行われることで自動的にエラーが修復されることから、大きな不都合とならなかった。そのため、従来は誤一致を防ぐための対策のみが行われている。 CAM is used for applications such as cache memory management. In applications such as cache memory management, a soft error occurs in the CAM and wrong data is read only when there is a mismatch, and when there is no match due to a soft error, it is processed as a miss and the lower memory Since the error is automatically repaired by re-reading from, there was no major inconvenience. For this reason, conventionally, only measures for preventing a mismatch are taken.
しかしながら、近年CAMの利用が始まっているネットワーク装置のルータやネットワークスイッチなどでCAMをパケットの分類を行うために使用した場合には、ソフトエラーによって一致しなくなることによってパケットの処理に重大な不都合が発生する可能性がある。例えば、特定のIPアドレスのみを通過させる必要があり、CAMに通過可能IPアドレスを格納した場合、CAMのソフトエラーによって一致しなくなった場合は、本来通過させるべきパケットが通過できなくなるため、ネットワークに障害を発生させることになる。これを回避するための方法として、特許文献1に記載されているようなエラー訂正技術は、CAM自身のエラー検出がなされないために、エラー検出方法として十分とはいえない。また、特許文献2に記載されているようなパリティコード比較によるソフトエラー検出技術はCAMデータに誤りが発生して入力データと一致する場合にのみ有効であり、上記のようにソフトエラーにより不一致となった場合にはエラー検出ができない。
However, when a CAM is used to classify packets in a router or a network switch of a network device that has started to use CAM in recent years, there is a serious inconvenience in packet processing due to a mismatch caused by a soft error. May occur. For example, it is necessary to pass only a specific IP address, and when a passable IP address is stored in the CAM, if it does not match due to a soft error of the CAM, a packet that should originally pass through cannot be passed. It will cause a failure. As a method for avoiding this, the error correction technique described in
本発明の目的は、ソフトエラーに対して高い信頼性を確保するための技術を提供することにある。 An object of the present invention is to provide a technique for ensuring high reliability against soft errors.
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。 The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。 The following is a brief description of an outline of typical inventions disclosed in the present application.
すなわち、CAM部に書き込まれるエントリデータについてのエラー訂正コードを作成するためのエラー訂正コード作成回路と、上記CAM部からの読み出しデータについて、上記エラー訂正コードに基づくエラー検出及びエラー訂正を行うためのエラー検出及び訂正回路と設ける。 That is, an error correction code generation circuit for generating an error correction code for entry data written in the CAM portion, and error detection and error correction based on the error correction code for read data from the CAM portion An error detection and correction circuit is provided.
上記の手段によれば、エラー検出及び訂正回路は上記CAM部からの読み出しデータについて、上記エラー訂正コードに基づくエラー検出及びエラー訂正を行う。このエラー検出及びエラー訂正は、CAM部の性能に影響を与えない。そして、エラーによって比較データと一致しなくなる場合については、エラー発生からエラー検出までの期間をTCP/IPなどの再送要求のタイムアウト時間以下に設定することによって、ネットワーク障害を回避することができる。このことが、ソフトエラーに対して高い信頼性を達成する。 According to the above means, the error detection and correction circuit performs error detection and error correction on the read data from the CAM unit based on the error correction code. This error detection and error correction does not affect the performance of the CAM unit. If the error does not match the comparison data due to an error, the network failure can be avoided by setting the period from the error occurrence to the error detection to be equal to or less than the timeout period of a retransmission request such as TCP / IP. This achieves high reliability against soft errors.
このとき、上記エラー検出及び訂正回路においては、CAM部におけるデータ破壊を防ぐため、上記CAM部へのデータ書き込みサイクルを除くタイミングで、上記エラー訂正コードに基づくエラー検出及びエラー訂正を行うようにすると良い。 At this time, in the error detection and correction circuit, in order to prevent data destruction in the CAM unit, error detection and error correction based on the error correction code is performed at a timing excluding the data write cycle to the CAM unit. good.
上記エラー訂正コード作成回路によって生成されたエラー訂正コードを記憶可能なRAM部を設け、上記RAM部内のエラー訂正コードに基づいて上記エラー検出及びエラー訂正を行うように構成することができる。 A RAM unit capable of storing the error correction code generated by the error correction code creating circuit may be provided, and the error detection and error correction may be performed based on the error correction code in the RAM unit.
上記CAM部において、上記比較データを格納するための第1記憶エリアとは別に、上記エラー訂正コードを記憶するための第2記憶エリアを設け、上記第2記憶エリアに記憶されているエラー訂正コードに基づいて上記エラー検出及びエラー訂正を行うように構成することができる。 In the CAM unit, a second storage area for storing the error correction code is provided separately from the first storage area for storing the comparison data, and the error correction code stored in the second storage area is provided. The error detection and the error correction can be performed based on the above.
エラー発生からエラー訂正までの期間についても、エラーの発生したエントリデータが間違って一致することを防止するため、上記CAM部に書き込まれるデータに付加されるパリティビットを生成するためのパリティ生成回路を設けることができる。 A parity generation circuit for generating a parity bit to be added to data to be written in the CAM unit is also provided in order to prevent erroneous entry data from matching with each other even during a period from error occurrence to error correction. Can be provided.
エラー発生を知らしめるため、上記エラー検出及び訂正回路において、エラー検出の状態を示す信号を出力するようにすると良い。 In order to notify the occurrence of an error, the error detection and correction circuit may output a signal indicating an error detection state.
上記CAM部は3値データの記憶を可能とするセル構造を採用することができる。 The CAM unit can adopt a cell structure that enables storage of ternary data.
上記CAM部は、データ記憶のための電荷蓄積容量を備えたダイナミック型セルを含んで構成し、上記エラー検出及び訂正回路は、上記ダイナミック型セルのリフレッシュのために読み出されたデータを利用して当該データについて上記エラー訂正コードに基づくソフトエラー検出及びエラー訂正を行うように構成することができる。このとき、リフレッシュ時における上記ダイナミック型セルへの書き込みデータを、上記エラー検出及び訂正回路でエラー訂正されたデータに代替可能なセレクタを設けることができる。 The CAM unit includes a dynamic cell having a charge storage capacity for data storage, and the error detection and correction circuit uses data read for refreshing the dynamic cell. Thus, the software can be configured to perform soft error detection and error correction based on the error correction code. At this time, it is possible to provide a selector capable of substituting the data corrected by the error detection and correction circuit for the write data to the dynamic cell at the time of refresh.
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。 The effects obtained by the representative ones of the inventions disclosed in the present application will be briefly described as follows.
すなわち、ソフトエラーに対して高い信頼性を確保するための技術を提供することができる。 That is, it is possible to provide a technique for ensuring high reliability against soft errors.
図15には、本発明にかかる半導体集積回路の一例であるルータ用LSIが示される。このルータ用LSI200は、所定のプログラムに従ってパケットデータに含まれる宛先アドレス情報に従って当該パケットの転送処理を行うルーティングプロセッサ201と、このルーティングプロセッサ201から伝達された宛先アドレスに対応するIPアドレス情報をルーティングテーブルに基づいて検索するためのIPアドレス検索部210と、このIPアドレス検索部210で検索されたIPアドレス情報に対応するルーティング情報を出力するためのルーティング情報出力部220とを含み、公知の半導体集積回路製造技術により単結晶シリコン基板などの一つの半導体基板に形成される。ルーティングプロセッサ201は、上記ルーティング情報出力部220から伝達されたルーティング情報に従ってパケットデータの転送処理を行う。上記ルーティング情報出力部220は、特に制限されないが、ルーティング情報がIPアドレスとの関係で記憶されたRAM(ランダム・アクセス・メモリ)221、上記IPアドレス検索部210での検索結果をデコードするデコーダ222、RAM221に対してデータの入出力を行うための直接周辺回路223を含む。上記デコーダ222のデコード結果に基づいてRAM221から対応するルーティング情報が読み出され、それが直接周辺回路223を介してルーティングプロセッサ201に伝達されるようになっている。
FIG. 15 shows a router LSI which is an example of a semiconductor integrated circuit according to the present invention. The router LSI 200 includes a
図1には、上記IPアドレス検索部210の構成例が示される。
FIG. 1 shows a configuration example of the IP
上記IPアドレス検索部210は、特に制限されないが、アドレスバッファ1、データ入出力バッファ2、アドレスカウンタ3、コマンドデコーダ4、セレクタ5,6,7、CAM部8、RAM(ランダム・アクセス・メモリ)部9、ECC生成回路10、エラー検出及び訂正回路11、訂正データラッチ12、不良アドレスラッチ13、プライオリティエンコーダ14を含む。
The IP
上記CAM部8は、アレイ状に配列された複数のメモリセルや、入力されたアドレス信号をデコードするためのアドレスデコーダなどを含む。
The
アドレスバッファ1は、ルーティングプロセッサ201から伝達されたアドレス信号を取り込むために設けられる。ルーティングプロセッサ201から伝達されたアドレス信号はこのアドレスバッファ1を介してセレクタ5に伝達される。
The
データ入出力バッファ2は、ルーティングプロセッサ201から伝達されたデータを取り込んだり、エラー検出及び訂正回路11から伝達された訂正データをルーティングプロセッサ201に伝達するために設けられる。ルーティングプロセッサ201から伝達されたデータはこのデータ入出力バッファ2を介してセレクタ6に伝達される。また、エラー検出及び訂正回路11から伝達された訂正データはこのデータ入出力バッファ2を介してルーティングプロセッサ201やセレクタ6へ伝達することができる。
The data input /
上記コマンドデコーダ4は、ルーティングプロセッサ201から伝達されたコマンドをデコードする機能を有する。このコマンドデコーダ4でのデコード結果は、アドレスカウンタ3やセレクタ5,6,7に伝達される。
The command decoder 4 has a function of decoding a command transmitted from the
アドレスカウンタ3は、上記コマンドデコーダ4の出力信号に基づいてデータ読み出しのためのアドレス信号を生成する。生成されたアドレス信号はセレクタ5,7に伝達される。
The
セレクタ5は、上記アドレスバッファ1から伝達されたアドレス信号と、上記不良アドレスラッチ13から伝達された不良アドレス信号と、アドレスカウンタ3から伝達されたアドレス信号とを選択的に後段のCAM部8に伝達する。このセレクタ5の選択動作は、コマンドデコーダ4の出力信号によって制御される。
The
セレクタ6は、上記データ入出力バッファ2を介して伝達されたデータや上記訂正データラッチ12の出力データを選択的にECC生成回路10へ伝達する。このセレクタ6の選択動作は、コマンドデコーダ4の出力信号によって制御される。
The
セレクタ7は、上記アドレスバッファ1から伝達されたアドレス信号と、上記不良アドレスラッチ13から伝達された不良アドレス信号と、アドレスカウンタ3から伝達されたアドレス信号とを選択的に後段のRAM部9に伝達する。このセレクタ7の選択動作は、コマンドデコーダ4の出力信号によって制御される。
The
ECC生成回路10は、上記CAM部8に書き込まれるエントリデータについてのエラー訂正コード(ECC)を作成する。作成されたエラー訂正コードはRAM部9に書き込まれる。
The
エラー検出及び訂正回路11は、上記RAM部9に記憶されているエラー訂正コードに基づいて、CAM部8に記憶されているエントリデータのソフトエラー検出及びエラー訂正を行う。このソフトエラー検出及びエラー訂正は、上記CAM部8への書き込みサイクルを除くタイミングで行われる。このエラー検出及び訂正回路11での処理によりECCステータス信号、エラー訂正データ、及び不良アドレス信号が出力される。ECCステータス信号はルーティングプロセッサ201に伝達される。エラー訂正データは、訂正データラッチ12を介してセレクタ6に伝達され、また、不良アドレス信号は、不良アドレスラッチ13を介してセレクタ5,7に伝達される。
The error detection and
プライオリティエンコーダ14は、複数のアドレスが一致した場合に最も優先順位の高いマッチアドレス情報とマッチステータス信号とを出力する。このマッチアドレス情報とマッチステータス信号はルーティング情報出力部220に伝達される。また、マッチステータス信号はルーティングプロセッサ201にも伝達される。
The
図4には、図1に示される構成における主要部の動作タイミングが示される。 FIG. 4 shows the operation timing of the main part in the configuration shown in FIG.
コマンドデコーダ4に供給されたコマンドによってCAM部8への書き込みが指示された場合には、CAM部8へデータが書き込まれるとともに、ECC生成回路10で生成されたエラー訂正コードがRAM部9に書き込まれる。
When writing to the
コマンドデコーダ4に供給されたコマンドによってCAM部8からのデータ読み出しが指示された場合には、CAM部8からデータが読み出され、それがデータ入出力バッファ2を介してルーティングプロセッサ201に伝達される。
When data read from the
コマンドデコーダ4に供給されたコマンドによってCAM部8のデータ検索が指示された場合には、データ入出力バッファ2及びセレクタ6を介して伝達された比較データと、CAM部8に格納されているエントリデータとの比較がCAM部8において行われる。この比較においてデータが一致するアドレスがあれば、マッチステータス信号がイネーブル状態にされるとともに当該アドレス情報が出力される。複数のアドレスが一致した場合は、最も優先順位の高いアドレス情報がプライオリティエンコーダ14によって選択される。
When the data search of the
そして、コマンドデコーダ4に供給されたコマンドが上記の何れでもない場合、例えばCAM部8の動作が不要な場合や、CAMが複数のブロックに分かれて一部のCAMの動作が不要な場合には、CAM部8及びRAM部9の双方からその記憶データが読み出され、エラー検出及び訂正回路11においてエラー検出(ECCチェック)が行われる。エラーが発生している場合は、ECCステータス信号がエラー状態(例えば論理値“1”)にするとともに、エラー訂正されたデータと不良アドレスとがそれぞれ対応するラッチ12,13に格納される。ここで、上記読み出しのためのアドレス信号は、アドレスカウンタ3のインクリメント動作により自動的に生成される。つまり、アドレスカウンタ3においては、上記読み出しが行われる毎に1が加算されることでアドレス信号が生成される。上記CAM部8が検索と同時に読み出し可能な回路とされる場合には、検索と同時にCAM部8の読み出しが行われることによって、エラー発生からエラー検出までの時間が短縮される。
When the command supplied to the command decoder 4 is not one of the above, for example, when the operation of the
コマンドデコーダ4に供給されたコマンドによってエラー訂正が指示された場合には、CAM部8における該当アドレスに訂正データが書き込まれる。つまり、訂正データラッチ12の保持データがセレクタ6を介してCAM部8に伝達され、不良アドレスラッチ13の保持アドレスがセレクタ5を介してCAM部8に伝達されることで、CAM部8における該当アドレスに訂正データが書き込まれる。また、このとき、ECC生成回路10において再びエラー訂正コードが生成され、それがRAM部9に書き込まれる。RAM部9への書き込みアドレスは、不良アドレスラッチ13に格納されている不良アドレスが使用される。
When the error correction is instructed by the command supplied to the command decoder 4, the correction data is written to the corresponding address in the
図4に示される例では、アドレスA0からAnまでのデータの書き込みを行った後で、Ds0からDsk+3のデータの検索が行われる。書き込み時には、CAM部8にデータDw0からDwnを書き込むと同時にRAM部9の対応するアドレスにエラー訂正コードecc0からeccnが書き込まれる。検索時はCAM部8の検索と同時にCAM部8とRAM部9からデータが読み出され、エラー検出が行われる。アドレスkでエラーが発生し、次のサイクルでECCステータス信号を論理値“1”とするとともに、不良アドレスを出力している。エラー訂正コマンドが入力されることによって、CAM部8とRAM部9のアドレスkに、訂正したデータDwkの書き込みが行われる。この例では、図15に示されるルーティングプロセッサ201でECCステータス信号を監視し、エラーが発生した場合に検索を一時中断させてエラー訂正コマンドを発行している。検索の空き時間を検出して、コマンドを使用せずにエラーを訂正することも可能であるが、検索を中断させてエラーを修復することにより、エラー発生から訂正までの時間を短縮することができる。また、エラーアドレスをコントローラで収集することによって、エラーの発生状況を把握することができ、エラーがランダムなエラーであるのか、デバイスの不出来によるものかを識別することで、部品交換など装置の信頼度向上の対応を可能とすることができる。また、エラー訂正後のエラー検出は、エラーを起こしたアドレスから行うことによって、エラーが恒久的なエラーで無いことを確認することが可能である。
In the example shown in FIG. 4, after data is written from addresses A0 to An, the data from Ds0 to Dsk + 3 is searched. At the time of writing, data Dw0 to Dwn are written to the
図5には、CAM部8を構成する複数のCAMセルのうちの一つについての構成例が示される。
FIG. 5 shows a configuration example for one of a plurality of CAM cells constituting the
このCAMセルMC(0,0)は、スタティック型の二つの記憶部を有する3値CAMと称されるもので、第1ワード線WA、第2ワード線WB、比較一致線MATCHと、第1データ線DO、第2データ線D1、第1比較データ線CD0、第2比較データ線CD1とが交差するように配置され、それらの交差箇所に第1記憶部DA、第2記憶部DB、第1比較回路511、第2比較回路512が配置されて成る。
The CAM cell MC (0, 0) is called a ternary CAM having two static storage units, and includes a first word line WA, a second word line WB, a comparison match line MATCH, The data line DO, the second data line D1, the first comparison data line CD0, and the second comparison data line CD1 are arranged so as to intersect with each other, and at the intersections, the first storage unit DA, the second storage unit DB, A
第1記憶部DAは、pチャネル型MOSトランジスタML0Aとnチャネル型MOSトランジスタMD0Aとが直列接続されてなる第1インバータと、pチャネル型MOSトランジスタML1Aとnチャネル型MOSトランジスタMD1Aとが直列接続されて成る第2インバータとがループ状に結合されて成る。上記pチャネル型MOSトランジスタML0A,ML1Aのソース電極は高電位側電源Vddに結合され、上記nチャネル型MOSトランジスタMD0A,MD1Aのソース電極は低電位側電源Vssに結合される。第1記憶部DAは第1記憶ノード513と第2記憶ノード514とを有する。第1記憶ノード513はトランスファMOSとされるnチャネル型MOSトランジスタMT0Aを介して上記第1データ線D0に結合され、第2記憶ノード514は、トランスファMOSとされるnチャネル型MOSトランジスタMT1Aを介して第2データ線D1に結合される。このnチャネル型MOSトランジスタMT0A,MT1Aのゲート電極は第1ワード線WAに結合され、この第1ワード線WAがハイレベルに駆動されたときにnチャネル型MOSトランジスタMT0A,MT1Aが導通され、第1記憶部DAからのデータ読み出しや第1記憶部DAへのデータ書き込みが可能とされる。
The first storage unit DA includes a first inverter formed by connecting a p-channel MOS transistor ML0A and an n-channel MOS transistor MD0A in series, and a p-channel MOS transistor ML1A and an n-channel MOS transistor MD1A connected in series. And a second inverter formed in a loop. The source electrodes of the p-channel MOS transistors ML0A and ML1A are coupled to the high potential power source Vdd, and the source electrodes of the n-channel MOS transistors MD0A and MD1A are coupled to the low potential power source Vss. The first storage unit DA includes a
第2記憶部DBは、pチャネル型MOSトランジスタML0Bとnチャネル型MOSトランジスタMD0Bとが直列接続されてなる第1インバータと、pチャネル型MOSトランジスタML1Bとnチャネル型MOSトランジスタMD1Bとが直列接続されて成る第2インバータとがループ状に結合されて成る。上記pチャネル型MOSトランジスタML0B,ML1Bのソース電極は高電位側電源Vddに結合され、上記nチャネル型MOSトランジスタMD0B,MD1Bのソース電極は低電位側電源Vssに結合される。第2記憶部DBは第1記憶ノード515と第2記憶ノード516とを有する。第1記憶ノード515はトランスファMOSとされるnチャネル型MOSトランジスタMT0Bを介して上記第1データ線D0に結合され、第2記憶ノード516は、トランスファMOSとされるnチャネル型MOSトランジスタMT1Bを介して第2データ線D1に結合される。このnチャネル型MOSトランジスタMT0B,MT1Bのゲート電極は第2ワード線WBに結合され、この第2ワード線WBがハイレベルに駆動されたときにnチャネル型MOSトランジスタMT0B,MT1Bが導通され、第2記憶部DBからのデータ読み出しや第2記憶部DBへのデータ書き込みが可能とされる。
The second storage unit DB includes a first inverter formed by connecting a p-channel MOS transistor ML0B and an n-channel MOS transistor MD0B in series, and a p-channel MOS transistor ML1B and an n-channel MOS transistor MD1B connected in series. And a second inverter formed in a loop. The source electrodes of the p-channel MOS transistors ML0B and ML1B are coupled to the high potential power source Vdd, and the source electrodes of the n-channel MOS transistors MD0B and MD1B are coupled to the low potential power source Vss. The second storage unit DB includes a
第1比較回路511は、二つのnチャネル型MOSトランジスタMCA,MC0が直列接続されて成る。nチャネル型MOSトランジスタMCAのドレイン電極は比較一致線MATCHに結合され、nチャネル型MOSトランジスタMCAのゲート電極は第1記憶部DAの第1記憶ノード513に結合される。nチャネル型MOSトランジスタMC0のソース電極は低電位側電源Vssに結合され、nチャネル型MOSトランジスタMC0のゲート電極は第1比較データ線CD0に結合される。
The
第2比較回路512は、二つのnチャネル型MOSトランジスタMCB,MC1が直列接続されて成る。nチャネル型MOSトランジスタMCBのドレイン電極は比較一致線MATCHに結合され、nチャネル型MOSトランジスタMCBのゲート電極は第2記憶部DBの第1記憶ノード515に結合される。nチャネル型MOSトランジスタMC1のソース電極は低電位側電源Vssに結合され、nチャネル型MOSトランジスタMC1のゲート電極は第2比較データ線CD1に結合される。
The
上記の構成において、DA=’0’、DB=’1’のとき記憶データは’1’となり、DA=’1’&DB=’0’のとき記憶データは’0’であり、DA=’0’&DB=’0’のときはこのCAMセルは比較対象外となる。 In the above configuration, when DA = “0” and DB = “1”, the stored data is “1”, and when DA = “1” & DB = “0”, the stored data is “0”, and DA = “ When 0 '& DB =' 0 ', this CAM cell is excluded from comparison.
図7には、図5に示されるCAMセルを採用した場合のCAM部8におけるデータの配置例が示され、図8には、その場合のRAM部9へのエラー訂正データの配置例が示される。物理的な隣接セルがECCの別のセットとなるようにすることで、宇宙線などの高エネルギー粒子によって複数セルのデータが反転する場合でも、エラー検出と訂正を行うことができる。図8に示される例では偶数ビットと奇数ビットを別のセットにしている。また、この例では、物理的に隣接しない2つのアドレスを合わせてエラー訂正コードを作成することによってデータの幅を増やし、それによってエラー訂正コードの必要ビット数を低減している。CAM部8へのデータ書込みの場合に、対象となるアドレスと対になるアドレスのデータを読み出してエラー訂正コードを作成することができる。
FIG. 7 shows an example of data arrangement in the
上記例によれば、以下の作用効果を得ることができる。 According to the above example, the following operational effects can be obtained.
(1)CAM部8の検索と同時またはCAM部8を使用しない期間を利用して、エラー検出と訂正を行うことにより、CAM部8の性能に影響を与えないで済む。エラー発生からエラー検出までの期間については、パリティビットも比較対象とするために、誤一致を防止することができる。また、エラーによって比較データと一致しなくなる場合については、エラー発生からエラー検出までの期間をTCP/IPなどの再送要求のタイムアウト時間以下に設定することによって、ネットワーク障害を回避することができる。それにより、性能に影響を与えずに、ソフトエラーに対して高い信頼度を確保することができる。
(1) By performing error detection and correction simultaneously with the search of the
(2)上記(1)の作用効果により、プロセスを微細化した大容量CAMを内蔵するLSIにおいても、性能を低下させずにソフトエラーについて高い信頼度を確保することができる。 (2) Due to the effect of (1) above, even in an LSI incorporating a large-capacity CAM with a miniaturized process, high reliability can be ensured for soft errors without degrading performance.
(3)CAM部8における物理的な隣接ビットを別のセットとして、エラー検出・訂正することで、宇宙線などの高エネルギー粒子によるマルチセルデータ反転エラーに対しても、エラー検出と訂正を可能にできる。それにより、宇宙線などの高エネルギー粒子によるソフトエラーに対しても高い信頼度を確保することができる。
(3) By detecting and correcting errors in a separate set of physical adjacent bits in the
(4)エラー訂正用コードのみを格納するため、エラー訂正を行うのに必要な回路の面積を小さくできる。また、ソフトエラー対策のためのキャパシタを付加するなどの余分な工程が不要とされる。 (4) Since only the error correction code is stored, the area of the circuit required for error correction can be reduced. In addition, an extra process such as adding a capacitor for countermeasures against soft errors is unnecessary.
次に、別の構成例について説明する。 Next, another configuration example will be described.
上記の例では、CAMセルにおける第1記憶部MA及び第2記憶部MBがスタティック型とされたが、それをダイナミック型とすることができる。その場合におけるメモリセルMC(0,0)の構成例が図6に示される。図6に示される構成が図5に示される構成と大きく相違するのは、第1記憶部DA、第2記憶部DBがダイナミック型とされている点である。 In the above example, the first storage unit MA and the second storage unit MB in the CAM cell are the static type, but can be the dynamic type. A configuration example of the memory cell MC (0, 0) in that case is shown in FIG. The configuration shown in FIG. 6 is greatly different from the configuration shown in FIG. 5 in that the first storage unit DA and the second storage unit DB are of a dynamic type.
図6において、第1記憶部DAはnチャネル型MOSトランジスタMTAと、それに結合された電荷蓄積容量CAとを含んで成り、第2記憶部DBは、nチャネル型MOSトランジスタMTBと、それに結合された電荷蓄積容量CBとを含んで成る。上記電荷蓄積容量CAの一端は低電位側電源Vssに結合され、他端はnチャネル型MOSトランジスタMTAを介してデータ線Dに結合される。上記電荷蓄積容量CBの一端は低電位側電源Vssに結合され、他端はnチャネル型MOSトランジスタMTBを介してデータ線Dに結合される。そして、上記nチャネル型MOSトランジスタMTAのゲート電極はワード線WAに結合され、上記nチャネル型MOSトランジスタMTBのゲート電極はワード線WBに結合される。ワード線WAが選択レベルに駆動された場合には、nチャネル型MOSトランジスタMTAが導通されることにより、データDを介して伝達されたデータを電荷蓄積容量CAに書き込むことができ、また、この電荷蓄積容量CAに記憶されたデータをデータ線Dに読み出すことができる。ワード線WBが選択レベルに駆動された場合には、nチャネル型MOSトランジスタMTBが導通されることにより、データDを介して伝達されたデータを電荷蓄積容量CBに書き込むことができ、また、この電荷蓄積容量CBに記憶されたデータをデータ線Dに読み出すことができる。第1比較回路511は、nチャネル型MOSトランジスタMCA,MC0が直列接続され、nチャネル型MOSトランジスタMCAのゲート電極は第1比較データ線CD0に結合され、nチャネル型MOSトランジスタMC0のゲート電極は第1記憶部MAの記憶ノード517に結合される。第2比較回路512は、nチャネル型MOSトランジスタMCB,MC1が直列接続され、nチャネル型MOSトランジスタMCBのゲート電極は第2比較データ線CD1に結合され、nチャネル型MOSトランジスタMC1のゲート電極は第2記憶部DBの記憶ノード518に結合される。
In FIG. 6, the first storage unit DA includes an n-channel MOS transistor MTA and a charge storage capacitor CA coupled thereto, and the second storage unit DB is coupled to the n-channel MOS transistor MTB. Charge storage capacitor CB. One end of the charge storage capacitor CA is coupled to the low potential side power supply Vss, and the other end is coupled to the data line D via the n-channel MOS transistor MTA. One end of the charge storage capacitor CB is coupled to the low potential side power supply Vss, and the other end is coupled to the data line D via the n-channel MOS transistor MTB. The gate electrode of the n-channel MOS transistor MTA is coupled to the word line WA, and the gate electrode of the n-channel MOS transistor MTB is coupled to the word line WB. When the word line WA is driven to the selected level, the n-channel MOS transistor MTA is turned on, so that the data transmitted via the data D can be written into the charge storage capacitor CA. Data stored in the charge storage capacitor CA can be read out to the data line D. When the word line WB is driven to the selection level, the n-channel MOS transistor MTB is turned on, so that the data transmitted via the data D can be written into the charge storage capacitor CB. Data stored in the charge storage capacitor CB can be read out to the data line D. In the
CAMセルがダイナミック型の場合、リーク電流によるデータ破壊を防ぐために、一定の時間間隔以下でデータを読み出して、再書き込みを行う必要がある。この読み出しデータを使って、エラー検出を行うこともできる。図11及び図12にはその場合の構成例が示される。また、図13には図11に示される構成における主要部の動作タイミングが示され、図14には図12に示される構成における主要部の動作タイミングが示される。 When the CAM cell is a dynamic type, it is necessary to read and rewrite data within a certain time interval in order to prevent data destruction due to leakage current. Error detection can also be performed using this read data. 11 and 12 show a configuration example in that case. 13 shows the operation timing of the main part in the configuration shown in FIG. 11, and FIG. 14 shows the operation timing of the main part in the configuration shown in FIG.
図11に示される構成においては、ダイナミック型セルのリフレッシュのためのリフレッシュカウンタ30が設けられ、コマンドデコーダ4においてリフレッシュコマンドを受けることにより、リフレッシュカウンタ30のアドレスを用いてリフレッシュが行われるとともに、このリフレッシュのためにCAM部8から読み出されたデータでエラー検出が行われる。また、エラー検出及び訂正回路11においてエラーが検出された場合には、エラー訂正が完了されるまでの間、ECCステータスが論理値“1”に遷移されることで、ルーティングプロセッサ201に対してエラー発生を知らせる。そして、エラー検出及び訂正回路11においてエラー訂正されたデータはCAM部8におけるエラー発生アドレスに書き込まれる。
In the configuration shown in FIG. 11, a
また、図12に示される構成のように、ECC生成回路10の出力とエラー検出及び訂正回路11の出力とを選択的にCAM部8に伝達するためのセレクタ60を設け、リフレッシュ時の再書き込みを行うデータを訂正したデータに代替するようにしても良い。このようにリフレッシュ動作と同時にエラー訂正を行うことで、ソフトエラーに対してより高い信頼度を得ることができる。
Further, as in the configuration shown in FIG. 12, a selector 60 for selectively transmitting the output of the
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。 Although the invention made by the present inventor has been specifically described above, the present invention is not limited thereto, and it goes without saying that various changes can be made without departing from the scope of the invention.
例えば、図2に示されるように、ECC生成回路10によって生成されたエラー訂正コードをCAM部8における所定エリアに格納し、CAM部8から読み出されたエラー訂正コードに基づいてエラー検出及び訂正を行うようにしても良い。かかる構成においては、図1におけるRAM部9やそれに対応するセレクタ7は不要とされる。
For example, as shown in FIG. 2, the error correction code generated by the
また、エラー訂正コードをRAM部9に格納する場合は、図3に示されるようにパリティビットを生成するためのパリティ生成回路15を設け、CAM部8の比較データにパリティビットを含めることで、エラー発生からエラー訂正までの期間についても、エラーの発生したエントリデータが間違って一致することを防止することができる。このパリティビットは図3のように、同一チップ内で生成しても良いし、チップの外部で生成して、CAM部8のデータの一部に含ませても良い。
When the error correction code is stored in the
上記の例では、CAM部8が二つの記憶部を有するものについて説明したがそれに限定されるものではなく、種々の構成を採用することができる。例えばデータ用セルとマスク用セルとで3値CAMセルを構成することができる。図16には、データ用セルとマスク用セルとで3値CAMセルを構成した例が示される。第1ワード線WD、第2ワード線WM、比較一致線MATCHと、第1データ線DO、第2データ線D1、第1比較データ線CD0、第2比較データ線CD1とが交差するように配置され、それらの交差箇所に第1記憶部D、第2記憶部M、第1比較回路521、第2比較回路522が配置されて成る。
In the above example, the
データ用セルに対応する第1記憶部Dは、pチャネル型MOSトランジスタML0Dとnチャネル型MOSトランジスタMD0Dとが直列接続されてなる第1インバータと、pチャネル型MOSトランジスタML1Dとnチャネル型MOSトランジスタMD1Dとが直列接続されて成る第2インバータとがループ状に結合されて成る。上記pチャネル型MOSトランジスタML0D,ML1Dのソース電極は高電位側電源Vddに結合され、上記nチャネル型MOSトランジスタMD0D,MD1Dのソース電極は低電位側電源Vssに結合される。第1記憶部Dは第1記憶ノード523と第2記憶ノード524とを有する。第1記憶ノード523はトランスファMOSとされるnチャネル型MOSトランジスタMT0Dを介して上記第1データ線D0に結合され、第2記憶ノード524は、トランスファMOSとされるnチャネル型MOSトランジスタMT1Dを介して第2データ線D1に結合される。このnチャネル型MOSトランジスタMT0D,MT1Dのゲート電極は第1ワード線WDに結合され、この第1ワード線WDがハイレベルに駆動されたときにnチャネル型MOSトランジスタMT0D,MT1Dが導通され、第1記憶部Dからのデータ読み出しや第1記憶部Dへのデータ書き込みが可能とされる。
The first storage unit D corresponding to the data cell includes a first inverter in which a p-channel MOS transistor ML0D and an n-channel MOS transistor MD0D are connected in series, a p-channel MOS transistor ML1D and an n-channel MOS transistor. A second inverter formed by connecting MD1D in series is coupled in a loop. The source electrodes of the p-channel MOS transistors ML0D and ML1D are coupled to the high potential side power supply Vdd, and the source electrodes of the n-channel MOS transistors MD0D and MD1D are coupled to the low potential side power supply Vss. The first storage unit D includes a
マスク用セルに対応する第2記憶部Mは、pチャネル型MOSトランジスタML0Mとnチャネル型MOSトランジスタMD0Mとが直列接続されてなる第1インバータと、pチャネル型MOSトランジスタML1Mとnチャネル型MOSトランジスタMD1Mとが直列接続されて成る第2インバータとがループ状に結合されて成る。上記pチャネル型MOSトランジスタML0M,ML1Mのソース電極は高電位側電源Vddに結合され、上記nチャネル型MOSトランジスタMD0M,MD1Mのソース電極は低電位側電源Vssに結合される。第2記憶部Mは第1記憶ノード525と第2記憶ノード526とを有する。第1記憶ノード525はトランスファMOSとされるnチャネル型MOSトランジスタMT0Mを介して上記第1データ線D0に結合され、第2記憶ノード526は、トランスファMOSとされるnチャネル型MOSトランジスタMT1Mを介して第2データ線D1に結合される。このnチャネル型MOSトランジスタMT0M,MT1Mのゲート電極は第2ワード線WMに結合され、この第2ワード線WMがハイレベルに駆動されたときにnチャネル型MOSトランジスタMT0M,MT1Mが導通され、第2記憶部Mからのデータ読み出しや第2記憶部Mへのデータ書き込みが可能とされる。
The second memory M corresponding to the mask cell includes a first inverter in which a p-channel MOS transistor ML0M and an n-channel MOS transistor MD0M are connected in series, a p-channel MOS transistor ML1M and an n-channel MOS transistor. A second inverter formed by connecting MD1M in series is coupled in a loop. The source electrodes of the p-channel MOS transistors ML0M and ML1M are coupled to the high potential power source Vdd, and the source electrodes of the n-channel MOS transistors MD0M and MD1M are coupled to the low potential power source Vss. The second storage unit M includes a
第1比較回路521は、三つのnチャネル型MOSトランジスタMCD0,MC0,MCM0が直列接続されて成る。nチャネル型MOSトランジスタMCD0のドレイン電極は比較一致線MATCHに結合され、nチャネル型MOSトランジスタMCD0のゲート電極は第1記憶部Dの第1記憶ノード523に結合される。nチャネル型MOSトランジスタMC0のゲート電極は第1比較データ線CD0に結合される。nチャネル型MOSトランジスタMCM0のソース電極は低電位側電源Vssに結合され、nチャネル型MOSトランジスタMCM0のゲート電極は第2記憶部Mの第1記憶ノード525に結合される。
The
第2比較回路522は、三つのnチャネル型MOSトランジスタMCD1,MC1,MCM1が直列接続されて成る。nチャネル型MOSトランジスタMCD1のドレイン電極は比較一致線MATCHに結合され、nチャネル型MOSトランジスタMCD1のゲート電極は第1記憶部Dの第1記憶ノード524に結合される。nチャネル型MOSトランジスタMC1のゲート電極は第2比較データ線CD1に結合される。nチャネル型MOSトランジスタMCM1のソース電極は低電位側電源Vssに結合され、nチャネル型MOSトランジスタMCM1のゲート電極は第2記憶部Mの第1記憶ノード525に結合される。
The
上記の構成において、記憶データは第1記憶部Dに記憶され、マスクデータは第2記憶部に記憶される。第2記憶部Mの第1記憶ノード525が低電位のときはこのCAMセルは比較対象外となる。
In the above configuration, the storage data is stored in the first storage unit D, and the mask data is stored in the second storage unit. When the
CAMセルアレイへのデータとマスクの配置例を図9に示す。図9においてDはデータ用セルに対応し、Mはマスク用セルに対応する。物理的な隣接セルがECCの別のセットとなるようにすることで、宇宙線などの高エネルギー粒子によって複数セルのデータが反転する場合でも、エラー検出と訂正を行なうことができる。RAMへの訂正コードの配置例を図10に示す。この例においても、偶数ビットと奇数ビットを別のセットにしている。また、物理的に隣接しない2つのアドレスを合わせて訂正コードを作成することによって、データの幅を増やすことで、訂正コードの必要ビット数を低減している。 An example of the arrangement of data and masks in the CAM cell array is shown in FIG. In FIG. 9, D corresponds to a data cell, and M corresponds to a mask cell. By making the physical adjacent cells a different set of ECCs, error detection and correction can be performed even when data of a plurality of cells are inverted by high energy particles such as cosmic rays. An example of the arrangement of the correction code in the RAM is shown in FIG. Also in this example, the even bits and the odd bits are set in different sets. Further, by generating a correction code by combining two addresses that are not physically adjacent to each other, the number of bits required for the correction code is reduced by increasing the data width.
図15においてルーティングプロセッサ201は、IPアドレス検索部210やルーティング情報出力部220と別チップで構成される場合もある。
In FIG. 15, the
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるルータ用LSIに適用した場合について説明したが、本発明はそれに限定されるものではなく、各種半導体集積回路に適用することができる。 In the above description, the case where the invention made mainly by the inventor is applied to a router LSI, which is the field of use behind the invention, has been described. However, the present invention is not limited to this, and various semiconductor integrated circuits are used. Can be applied.
本発明は、少なくともエントリデータを保持可能なCAM部を含むことを条件に適用することができる。 The present invention can be applied on the condition that it includes at least a CAM portion capable of holding entry data.
1 アドレス入力バッファ
2 データ入出力バッファ
3 アドレスカウンタ
4 コマンドデコーダ
5〜7,60 セレクタ
8 CAMアレイ
9 訂正コード格納用RAMアレイ
10 ECC生成回路
11 エラー検出及び訂正回路
12 訂正データラッチ
13 不良アドレスラッチ
14 プライオリティエンコーダ
15 パリティ生成回路
30 リフレッシュカウンタ
DESCRIPTION OF
Claims (9)
上記CAM部に書き込まれるエントリデータについてのエラー訂正コードを作成するエラー訂正コード作成回路と、
上記エラー訂正コード作成回路によって生成されたエラー訂正コードを記憶可能なRAM部と、
上記RAM部に記憶されているエラー訂正コードに基づいて、上記CAM部に記憶されているエントリデータのソフトウェアエラーを検出し、そのエラー訂正を行うためのエラー検出及び訂正回路と、
上記エラー検出及び訂正回路によってエラー訂正されたエントリデータを上記CAM部の該当アドレスに書き込むためのデータ伝達経路と、を含むことを特徴とする半導体集積回路。 A semiconductor integrated circuit that includes a CAM unit capable of storing entry data, compares the input comparison data with the entry data, and outputs the comparison result;
An error correction code creation circuit for creating an error correction code for entry data written in the CAM section;
A RAM unit capable of storing the error correction code generated by the error correction code creating circuit;
An error detection and correction circuit for detecting a software error in the entry data stored in the CAM unit and correcting the error based on the error correction code stored in the RAM unit ;
And a data transmission path for writing entry data error-corrected by the error detection and correction circuit to a corresponding address of the CAM unit .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004022789A JP4397699B2 (en) | 2004-01-30 | 2004-01-30 | Semiconductor integrated circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004022789A JP4397699B2 (en) | 2004-01-30 | 2004-01-30 | Semiconductor integrated circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005216400A JP2005216400A (en) | 2005-08-11 |
JP4397699B2 true JP4397699B2 (en) | 2010-01-13 |
Family
ID=34906020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004022789A Expired - Fee Related JP4397699B2 (en) | 2004-01-30 | 2004-01-30 | Semiconductor integrated circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4397699B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100967136B1 (en) | 2006-02-01 | 2010-07-05 | 후지쯔 가부시끼가이샤 | Parity generating circuit, arrangement circuit for parity generating circuit, information processing apparatus, and encoder |
-
2004
- 2004-01-30 JP JP2004022789A patent/JP4397699B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005216400A (en) | 2005-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6700827B2 (en) | Cam circuit with error correction | |
CN1242412C (en) | Semiconductor memory | |
US20240111625A1 (en) | Memory repair method and apparatus based on error code tracking | |
US7594158B2 (en) | Parity error checking and compare using shared logic circuitry in a ternary content addressable memory | |
US8954818B2 (en) | Error detection and correction scheme for a memory device | |
TW556203B (en) | Semiconductor memory device having ECC type error recovery circuit | |
US8276039B2 (en) | Error detection device and methods thereof | |
US20050036371A1 (en) | Semiconductor memory including error correction function | |
KR102378466B1 (en) | Memory devices and modules | |
JP2006209900A (en) | Memory circuit | |
JP3184738B2 (en) | Error-correctable memory device | |
US7509561B2 (en) | Parity checking circuit for continuous checking of the parity of a memory cell | |
US7949933B2 (en) | Semiconductor integrated circuit device | |
JP2007066423A (en) | Semiconductor integrated circuit apparatus | |
EP4134825A2 (en) | Memory device and operating method thereof | |
US8176388B1 (en) | System and method for soft error scrubbing | |
JP4050091B2 (en) | Semiconductor memory device | |
CN114765056A (en) | Storage system | |
JP4397699B2 (en) | Semiconductor integrated circuit | |
WO2022151724A1 (en) | Error correction system | |
US11681458B2 (en) | Memory device and method reading data | |
KR20230073915A (en) | Error check and scrub operation method and semiconductor system using the same | |
JP2000011688A (en) | Semiconductor memory device | |
WO2022151722A1 (en) | Storage system | |
CN114765053A (en) | Comparison system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061124 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090428 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090629 |
|
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: 20091020 |
|
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: 20091021 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121030 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121030 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131030 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |