JP4397699B2 - Semiconductor integrated circuit - Google Patents

Semiconductor integrated circuit Download PDF

Info

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
Application number
JP2004022789A
Other languages
Japanese (ja)
Other versions
JP2005216400A (en
Inventor
恵一 日下田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2004022789A priority Critical patent/JP4397699B2/en
Publication of JP2005216400A publication Critical patent/JP2005216400A/en
Application granted granted Critical
Publication of JP4397699B2 publication Critical patent/JP4397699B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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).

米国特許出願公開第2003/0007408号明細書US Patent Application Publication No. 2003/0007408

米国特許第6067656号明細書US Pat. No. 6,067,656

キャッシュメモリの管理などの用途に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 Patent Document 1 is not sufficient as an error detection method because the error detection of the CAM itself is not performed. Also, the soft error detection technique based on parity code comparison as described in Patent Document 2 is effective only when an error occurs in the CAM data and matches the input data. If this happens, error detection is not possible.

本発明の目的は、ソフトエラーに対して高い信頼性を確保するための技術を提供することにある。   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 routing processor 201 that performs transfer processing of the packet according to destination address information included in the packet data in accordance with a predetermined program, and IP address information corresponding to the destination address transmitted from the routing processor 201 in a routing table. And a routing information output unit 220 for outputting routing information corresponding to the IP address information searched by the IP address search unit 210, and a known semiconductor integrated circuit. It is formed on one semiconductor substrate such as a single crystal silicon substrate by a circuit manufacturing technique. The routing processor 201 performs packet data transfer processing according to the routing information transmitted from the routing information output unit 220. The routing information output unit 220 is not particularly limited, but includes a RAM (random access memory) 221 in which routing information is stored in relation to an IP address, and a decoder 222 that decodes a search result in the IP address search unit 210. A direct peripheral circuit 223 for inputting / outputting data to / from the RAM 221 is included. Based on the decoding result of the decoder 222, the corresponding routing information is read from the RAM 221 and transmitted directly to the routing processor 201 via the peripheral circuit 223.

図1には、上記IPアドレス検索部210の構成例が示される。   FIG. 1 shows a configuration example of the IP address search unit 210.

上記IPアドレス検索部210は、特に制限されないが、アドレスバッファ1、データ入出力バッファ2、アドレスカウンタ3、コマンドデコーダ4、セレクタ5,6,7、CAM部8、RAM(ランダム・アクセス・メモリ)部9、ECC生成回路10、エラー検出及び訂正回路11、訂正データラッチ12、不良アドレスラッチ13、プライオリティエンコーダ14を含む。   The IP address search unit 210 is not particularly limited, but includes an address buffer 1, a data input / output buffer 2, an address counter 3, a command decoder 4, selectors 5, 6, and 7, a CAM unit 8, and a RAM (random access memory). Section 9, ECC generation circuit 10, error detection and correction circuit 11, correction data latch 12, defective address latch 13, and priority encoder 14.

上記CAM部8は、アレイ状に配列された複数のメモリセルや、入力されたアドレス信号をデコードするためのアドレスデコーダなどを含む。   The CAM unit 8 includes a plurality of memory cells arranged in an array, an address decoder for decoding an input address signal, and the like.

アドレスバッファ1は、ルーティングプロセッサ201から伝達されたアドレス信号を取り込むために設けられる。ルーティングプロセッサ201から伝達されたアドレス信号はこのアドレスバッファ1を介してセレクタ5に伝達される。   The address buffer 1 is provided for capturing an address signal transmitted from the routing processor 201. The address signal transmitted from the routing processor 201 is transmitted to the selector 5 through the address buffer 1.

データ入出力バッファ2は、ルーティングプロセッサ201から伝達されたデータを取り込んだり、エラー検出及び訂正回路11から伝達された訂正データをルーティングプロセッサ201に伝達するために設けられる。ルーティングプロセッサ201から伝達されたデータはこのデータ入出力バッファ2を介してセレクタ6に伝達される。また、エラー検出及び訂正回路11から伝達された訂正データはこのデータ入出力バッファ2を介してルーティングプロセッサ201やセレクタ6へ伝達することができる。   The data input / output buffer 2 is provided for taking in data transmitted from the routing processor 201 and transmitting correction data transmitted from the error detection and correction circuit 11 to the routing processor 201. Data transmitted from the routing processor 201 is transmitted to the selector 6 via the data input / output buffer 2. The correction data transmitted from the error detection and correction circuit 11 can be transmitted to the routing processor 201 and the selector 6 via the data input / output buffer 2.

上記コマンドデコーダ4は、ルーティングプロセッサ201から伝達されたコマンドをデコードする機能を有する。このコマンドデコーダ4でのデコード結果は、アドレスカウンタ3やセレクタ5,6,7に伝達される。   The command decoder 4 has a function of decoding a command transmitted from the routing processor 201. The result of decoding by the command decoder 4 is transmitted to the address counter 3 and the selectors 5, 6 and 7.

アドレスカウンタ3は、上記コマンドデコーダ4の出力信号に基づいてデータ読み出しのためのアドレス信号を生成する。生成されたアドレス信号はセレクタ5,7に伝達される。   The address counter 3 generates an address signal for reading data based on the output signal of the command decoder 4. The generated address signal is transmitted to selectors 5 and 7.

セレクタ5は、上記アドレスバッファ1から伝達されたアドレス信号と、上記不良アドレスラッチ13から伝達された不良アドレス信号と、アドレスカウンタ3から伝達されたアドレス信号とを選択的に後段のCAM部8に伝達する。このセレクタ5の選択動作は、コマンドデコーダ4の出力信号によって制御される。   The selector 5 selectively sends the address signal transmitted from the address buffer 1, the defective address signal transmitted from the defective address latch 13, and the address signal transmitted from the address counter 3 to the subsequent CAM unit 8. introduce. The selection operation of the selector 5 is controlled by the output signal of the command decoder 4.

セレクタ6は、上記データ入出力バッファ2を介して伝達されたデータや上記訂正データラッチ12の出力データを選択的にECC生成回路10へ伝達する。このセレクタ6の選択動作は、コマンドデコーダ4の出力信号によって制御される。   The selector 6 selectively transmits the data transmitted via the data input / output buffer 2 and the output data of the correction data latch 12 to the ECC generation circuit 10. The selection operation of the selector 6 is controlled by the output signal of the command decoder 4.

セレクタ7は、上記アドレスバッファ1から伝達されたアドレス信号と、上記不良アドレスラッチ13から伝達された不良アドレス信号と、アドレスカウンタ3から伝達されたアドレス信号とを選択的に後段のRAM部9に伝達する。このセレクタ7の選択動作は、コマンドデコーダ4の出力信号によって制御される。   The selector 7 selectively sends the address signal transmitted from the address buffer 1, the defective address signal transmitted from the defective address latch 13, and the address signal transmitted from the address counter 3 to the subsequent RAM unit 9. introduce. The selection operation of the selector 7 is controlled by the output signal of the command decoder 4.

ECC生成回路10は、上記CAM部8に書き込まれるエントリデータについてのエラー訂正コード(ECC)を作成する。作成されたエラー訂正コードはRAM部9に書き込まれる。   The ECC generation circuit 10 creates an error correction code (ECC) for the entry data written to the CAM unit 8. The created error correction code is written in the RAM unit 9.

エラー検出及び訂正回路11は、上記RAM部9に記憶されているエラー訂正コードに基づいて、CAM部8に記憶されているエントリデータのソフトエラー検出及びエラー訂正を行う。このソフトエラー検出及びエラー訂正は、上記CAM部8への書き込みサイクルを除くタイミングで行われる。このエラー検出及び訂正回路11での処理によりECCステータス信号、エラー訂正データ、及び不良アドレス信号が出力される。ECCステータス信号はルーティングプロセッサ201に伝達される。エラー訂正データは、訂正データラッチ12を介してセレクタ6に伝達され、また、不良アドレス信号は、不良アドレスラッチ13を介してセレクタ5,7に伝達される。   The error detection and correction circuit 11 performs soft error detection and error correction of the entry data stored in the CAM unit 8 based on the error correction code stored in the RAM unit 9. This soft error detection and error correction are performed at a timing excluding the write cycle to the CAM unit 8. By the processing in the error detection and correction circuit 11, an ECC status signal, error correction data, and a defective address signal are output. The ECC status signal is transmitted to the routing processor 201. The error correction data is transmitted to the selector 6 through the correction data latch 12, and the defective address signal is transmitted to the selectors 5 and 7 through the defective address latch 13.

プライオリティエンコーダ14は、複数のアドレスが一致した場合に最も優先順位の高いマッチアドレス情報とマッチステータス信号とを出力する。このマッチアドレス情報とマッチステータス信号はルーティング情報出力部220に伝達される。また、マッチステータス信号はルーティングプロセッサ201にも伝達される。   The priority encoder 14 outputs match address information and a match status signal with the highest priority when a plurality of addresses match. The match address information and the match status signal are transmitted to the routing information output unit 220. The match status signal is also transmitted to the routing processor 201.

図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 CAM unit 8 is instructed by a command supplied to the command decoder 4, data is written to the CAM unit 8 and the error correction code generated by the ECC generation circuit 10 is written to the RAM unit 9. It is.

コマンドデコーダ4に供給されたコマンドによってCAM部8からのデータ読み出しが指示された場合には、CAM部8からデータが読み出され、それがデータ入出力バッファ2を介してルーティングプロセッサ201に伝達される。   When data read from the CAM unit 8 is instructed by a command supplied to the command decoder 4, the data is read from the CAM unit 8 and transmitted to the routing processor 201 via the data input / output buffer 2. The

コマンドデコーダ4に供給されたコマンドによってCAM部8のデータ検索が指示された場合には、データ入出力バッファ2及びセレクタ6を介して伝達された比較データと、CAM部8に格納されているエントリデータとの比較がCAM部8において行われる。この比較においてデータが一致するアドレスがあれば、マッチステータス信号がイネーブル状態にされるとともに当該アドレス情報が出力される。複数のアドレスが一致した場合は、最も優先順位の高いアドレス情報がプライオリティエンコーダ14によって選択される。   When the data search of the CAM unit 8 is instructed by the command supplied to the command decoder 4, the comparison data transmitted via the data input / output buffer 2 and the selector 6 and the entry stored in the CAM unit 8 are stored. Comparison with the data is performed in the CAM unit 8. If there is an address with matching data in this comparison, the match status signal is enabled and the address information is output. When a plurality of addresses match, the priority encoder 14 selects the address information with the highest priority.

そして、コマンドデコーダ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 CAM unit 8 is unnecessary, or when the CAM is divided into a plurality of blocks and the operation of some CAMs is unnecessary. The stored data is read out from both the CAM unit 8 and the RAM unit 9, and error detection (ECC check) is performed in the error detection and correction circuit 11. If an error has occurred, the ECC status signal is set to an error state (eg, logical value “1”), and the error-corrected data and the defective address are stored in the corresponding latches 12 and 13, respectively. Here, the address signal for reading is automatically generated by the increment operation of the address counter 3. That is, the address counter 3 generates an address signal by adding 1 each time the above reading is performed. When the CAM unit 8 is a circuit that can be read simultaneously with the search, the time from the occurrence of the error to the error detection is shortened by reading the CAM unit 8 simultaneously with the search.

コマンドデコーダ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 CAM unit 8. That is, the data held in the correction data latch 12 is transmitted to the CAM unit 8 via the selector 6, and the holding address of the defective address latch 13 is transmitted to the CAM unit 8 via the selector 5. Correction data is written to the address. At this time, an error correction code is generated again in the ECC generation circuit 10 and written in the RAM unit 9. A defective address stored in the defective address latch 13 is used as a write address to the RAM unit 9.

図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 CAM unit 8 and at the same time, error correction codes ecc0 to ecn are written to corresponding addresses of the RAM unit 9. At the time of retrieval, data is read from the CAM unit 8 and the RAM unit 9 simultaneously with the retrieval of the CAM unit 8, and error detection is performed. An error occurs at address k, and the ECC status signal is set to a logical value “1” in the next cycle, and a defective address is output. When the error correction command is input, the corrected data Dwk is written to the address k of the CAM unit 8 and the RAM unit 9. In this example, the ECC status signal is monitored by the routing processor 201 shown in FIG. 15, and when an error occurs, the search is temporarily suspended and an error correction command is issued. It is possible to detect the search idle time and correct the error without using the command, but by stopping the search and repairing the error, the time from error occurrence to correction can be shortened. it can. Also, by collecting error addresses with the controller, it is possible to grasp the error occurrence status, and by identifying whether the error is a random error or due to a device failure, it is possible to replace parts such as parts replacement. It is possible to cope with improvement in reliability. Further, error detection after error correction is performed from the address where the error has occurred, so that it is possible to confirm that the error is not a permanent error.

図5には、CAM部8を構成する複数のCAMセルのうちの一つについての構成例が示される。   FIG. 5 shows a configuration example for one of a plurality of CAM cells constituting the CAM unit 8.

この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 first comparison circuit 511 and a second comparison circuit 512 are arranged.

第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 first storage node 513 and a second storage node 514. The first storage node 513 is coupled to the first data line D0 via an n-channel MOS transistor MT0A that is a transfer MOS, and the second storage node 514 is connected via an n-channel MOS transistor MT1A that is a transfer MOS. Are coupled to the second data line D1. The gate electrodes of the n-channel MOS transistors MT0A and MT1A are coupled to the first word line WA. When the first word line WA is driven to a high level, the n-channel MOS transistors MT0A and MT1A are turned on, It is possible to read data from one storage unit DA and write data to the first storage unit DA.

第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 first storage node 515 and a second storage node 516. The first storage node 515 is coupled to the first data line D0 via an n-channel MOS transistor MT0B which is a transfer MOS, and the second storage node 516 is connected via an n-channel MOS transistor MT1B which is a transfer MOS. Are coupled to the second data line D1. The gate electrodes of the n-channel MOS transistors MT0B and MT1B are coupled to the second word line WB. When the second word line WB is driven to a high level, the n-channel MOS transistors MT0B and MT1B are turned on, It is possible to read data from the two storage units DB and write data to the second storage unit DB.

第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 first comparison circuit 511 includes two n-channel MOS transistors MCA and MC0 connected in series. The drain electrode of n channel type MOS transistor MCA is coupled to comparison match line MATCH, and the gate electrode of n channel type MOS transistor MCA is coupled to first storage node 513 of first storage unit DA. The source electrode of the n-channel MOS transistor MC0 is coupled to the low potential side power supply Vss, and the gate electrode of the n-channel MOS transistor MC0 is coupled to the first comparison data line CD0.

第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 second comparison circuit 512 includes two n-channel MOS transistors MCB and MC1 connected in series. The drain electrode of n-channel MOS transistor MCB is coupled to comparison match line MATCH, and the gate electrode of n-channel MOS transistor MCB is coupled to first storage node 515 of second storage unit DB. The source electrode of the n-channel MOS transistor MC1 is coupled to the low potential side power source Vss, and the gate electrode of the n-channel MOS transistor MC1 is coupled to the second comparison data line CD1.

上記の構成において、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 CAM unit 8 when the CAM cell shown in FIG. 5 is adopted, and FIG. 8 shows an example of error correction data arrangement in the RAM unit 9 in that case. It is. By making the physical adjacent cells become another set of ECC, 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. In the example shown in FIG. 8, the even bits and the odd bits are set in different sets. In this example, the data width is increased by creating an error correction code by combining two physically non-adjacent addresses, thereby reducing the number of bits required for the error correction code. In the case of data writing to the CAM unit 8, the error correction code can be created by reading the data of the address paired with the target address.

上記例によれば、以下の作用効果を得ることができる。   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 CAM unit 8 or using a period when the CAM unit 8 is not used, the performance of the CAM unit 8 is not affected. In the period from the occurrence of an error to the detection of an error, the parity bit is also subject to comparison, so that mismatch can be prevented. In the case where the comparison data does not match due to an error, a network failure can be avoided by setting the period from the occurrence of the error to the detection of the error to be equal to or less than the timeout time of a retransmission request such as TCP / IP. Thereby, it is possible to ensure high reliability against soft errors without affecting the performance.

(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 CAM unit 8, error detection and correction are possible even for multi-cell data inversion errors due to high-energy particles such as cosmic rays it can. As a result, it is possible to ensure high reliability against soft errors caused by high-energy particles such as cosmic rays.

(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 first comparison circuit 511, n-channel MOS transistors MCA and MC0 are connected in series, the gate electrode of the n-channel MOS transistor MCA is coupled to the first comparison data line CD0, and the gate electrode of the n-channel MOS transistor MC0 is It is coupled to the storage node 517 of the first storage unit MA. In the second comparison circuit 512, n-channel MOS transistors MCB and MC1 are connected in series, the gate electrode of the n-channel MOS transistor MCB is coupled to the second comparison data line CD1, and the gate electrode of the n-channel MOS transistor MC1 is It is coupled to the storage node 518 of the second storage unit DB.

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 refresh counter 30 for refreshing dynamic cells is provided. When a refresh command is received by the command decoder 4, refresh is performed using the address of the refresh counter 30. Error detection is performed on the data read from the CAM unit 8 for refresh. Further, when an error is detected in the error detection and correction circuit 11, the ECC status is changed to the logical value “1” until the error correction is completed. Inform about the occurrence. Then, the data corrected by the error detection and correction circuit 11 is written to the error occurrence address in the CAM unit 8.

また、図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 ECC generation circuit 10 and the output of the error detection and correction circuit 11 to the CAM unit 8 is provided, and rewriting at the time of refreshing is performed. The data to be performed may be replaced with corrected data. By performing error correction simultaneously with the refresh operation in this manner, higher reliability can be obtained for soft errors.

以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。   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 ECC generation circuit 10 is stored in a predetermined area in the CAM unit 8, and error detection and correction is performed based on the error correction code read from the CAM unit 8. May be performed. In such a configuration, the RAM unit 9 and the selector 7 corresponding thereto in FIG. 1 are unnecessary.

また、エラー訂正コードをRAM部9に格納する場合は、図3に示されるようにパリティビットを生成するためのパリティ生成回路15を設け、CAM部8の比較データにパリティビットを含めることで、エラー発生からエラー訂正までの期間についても、エラーの発生したエントリデータが間違って一致することを防止することができる。このパリティビットは図3のように、同一チップ内で生成しても良いし、チップの外部で生成して、CAM部8のデータの一部に含ませても良い。   When the error correction code is stored in the RAM unit 9, a parity generation circuit 15 for generating a parity bit is provided as shown in FIG. 3, and the parity bit is included in the comparison data of the CAM unit 8, Even in the period from the occurrence of an error to the error correction, entry data in which an error has occurred can be prevented from being accidentally matched. This parity bit may be generated within the same chip as shown in FIG. 3, or may be generated outside the chip and included in a part of the data of the CAM unit 8.

上記の例では、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 CAM unit 8 has two storage units. However, the present invention is not limited to this, and various configurations can be employed. For example, a ternary CAM cell can be composed of a data cell and a mask cell. FIG. 16 shows an example in which a ternary CAM cell is composed of a data cell and a mask cell. The first word line WD, the second word line WM, the comparison coincidence line MATCH and the first 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. The first storage unit D, the second storage unit M, the first comparison circuit 521, and the second comparison circuit 522 are arranged at the intersections.

データ用セルに対応する第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 first storage node 523 and a second storage node 524. The first storage node 523 is coupled to the first data line D0 via an n-channel MOS transistor MT0D which is a transfer MOS, and the second storage node 524 is connected via an n-channel MOS transistor MT1D which is a transfer MOS. Are coupled to the second data line D1. The gate electrodes of the n-channel MOS transistors MT0D and MT1D are coupled to the first word line WD. When the first word line WD is driven to a high level, the n-channel MOS transistors MT0D and MT1D are turned on, Data can be read from the first storage unit D and written to the first storage unit D.

マスク用セルに対応する第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 first storage node 525 and a second storage node 526. The first storage node 525 is coupled to the first data line D0 via an n-channel MOS transistor MT0M which is a transfer MOS, and the second storage node 526 is connected via an n-channel MOS transistor MT1M which is a transfer MOS. Are coupled to the second data line D1. The gate electrodes of the n-channel MOS transistors MT0M and MT1M are coupled to the second word line WM. When the second word line WM is driven to a high level, the n-channel MOS transistors MT0M and MT1M are turned on. Data can be read from the second storage unit M and written to the second storage unit M.

第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 first comparison circuit 521 includes three n-channel MOS transistors MCD0, MC0, MCM0 connected in series. The drain electrode of n-channel MOS transistor MCD0 is coupled to comparison match line MATCH, and the gate electrode of n-channel MOS transistor MCD0 is coupled to first storage node 523 of first storage unit D. The gate electrode of n channel type MOS transistor MC0 is coupled to first comparison data line CD0. The source electrode of the n-channel MOS transistor MCM0 is coupled to the low potential side power supply Vss, and the gate electrode of the n-channel MOS transistor MCM0 is coupled to the first storage node 525 of the second storage unit M.

第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 second comparison circuit 522 includes three n-channel MOS transistors MCD1, MC1, and MCM1 connected in series. The drain electrode of n-channel MOS transistor MCD1 is coupled to comparison match line MATCH, and the gate electrode of n-channel MOS transistor MCD1 is coupled to first storage node 524 of first storage unit D. The gate electrode of n channel type MOS transistor MC1 is coupled to second comparison data line CD1. The source electrode of the n-channel MOS transistor MCM1 is coupled to the low potential side power supply Vss, and the gate electrode of the n-channel MOS transistor MCM1 is coupled to the first storage node 525 of the second storage unit M.

上記の構成において、記憶データは第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 first storage node 525 of the second storage unit M is at a low potential, this CAM cell is excluded from comparison.

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 routing processor 201 may be configured as a separate chip from the IP address search unit 210 and the routing information output unit 220.

以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるルータ用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.

本発明にかかる半導体集積回路の一例であるルータ用LSIにおけるIPアドレス検索部の構成例ブロック図である。FIG. 3 is a block diagram illustrating a configuration example of an IP address search unit in a router LSI which is an example of a semiconductor integrated circuit according to the present invention. 上記ルータ用LSIの別の構成例ブロック図である。It is a block diagram of another example of the configuration of the router LSI. 上記ルータ用LSIの別の構成例ブロック図である。It is a block diagram of another example of the configuration of the router LSI. 図1に示される構成における主要部の動作タイミング図である。It is an operation | movement timing diagram of the principal part in the structure shown by FIG. 上記ルータ用LSIに含まれるCAM部における主要部の構成例回路図である。It is a circuit diagram of a configuration example of a main part in a CAM unit included in the router LSI. 上記ルータ用LSIに含まれるCAM部における主要部の別の構成例回路図である。FIG. 10 is a circuit diagram illustrating another configuration example of a main part in a CAM unit included in the router LSI. 図5に示されるCAMセルを採用した場合のCAM部におけるデータの配置例説明図である。FIG. 6 is an explanatory diagram of a data arrangement example in a CAM unit when the CAM cell shown in FIG. 5 is adopted. 図5に示されるCAMセルを採用した場合のRAM部へのエラー訂正データの配置例説明図である。It is explanatory drawing of the example of arrangement | positioning of the error correction data to RAM part at the time of employ | adopting the CAM cell shown by FIG. 図16に示されるCAMセルを採用した場合のCAM部におけるデータの配置例説明図である。FIG. 17 is an explanatory diagram of a data arrangement example in a CAM unit when the CAM cell shown in FIG. 16 is adopted. 図16に示されるCAMセルを採用した場合のRAM部へのエラー訂正データの配置例説明図である。It is explanatory drawing of the example of arrangement | positioning of the error correction data to RAM part at the time of employ | adopting the CAM cell shown by FIG. 上記ルータ用LSIの別の構成例ブロック図である。It is a block diagram of another example of the configuration of the router LSI. 上記ルータ用LSIの別の構成例ブロック図である。It is a block diagram of another example of the configuration of the router LSI. 図11に示される構成における主要部の動作タイミング図である。FIG. 12 is an operation timing chart of main parts in the configuration shown in FIG. 11. 図12に示される構成における主要部の動作タイミング図である。FIG. 13 is an operation timing chart of main parts in the configuration shown in FIG. 12. 上記ルータ用LSIの全体的な構成例ブロック図である。It is a block diagram of an example of the overall configuration of the router LSI. 上記ルータ用LSIに含まれるCAM部における主要部の別の構成例回路図である。FIG. 10 is a circuit diagram illustrating another configuration example of a main part in a CAM unit included in the router LSI.

符号の説明Explanation of symbols

1 アドレス入力バッファ
2 データ入出力バッファ
3 アドレスカウンタ
4 コマンドデコーダ
5〜7,60 セレクタ
8 CAMアレイ
9 訂正コード格納用RAMアレイ
10 ECC生成回路
11 エラー検出及び訂正回路
12 訂正データラッチ
13 不良アドレスラッチ
14 プライオリティエンコーダ
15 パリティ生成回路
30 リフレッシュカウンタ
DESCRIPTION OF SYMBOLS 1 Address input buffer 2 Data input / output buffer 3 Address counter 4 Command decoder 5-7, 60 Selector 8 CAM array 9 Correction code storage RAM array 10 ECC generation circuit 11 Error detection and correction circuit 12 Correction data latch 13 Defective address latch 14 Priority encoder 15 Parity generation circuit 30 Refresh counter

Claims (9)

エントリデータを記憶可能なCAM部を含み、入力された比較データと上記エントリデータとを比較し、その比較結果を出力可能な半導体集積回路であって、
上記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 .
上記エラー検出及び訂正回路は、上記CAM部へのデータ書き込みサイクルを除くタイミングで、上記エラー訂正コードに基づくエラー検出及びエラー訂正を行う請求項1記載の半導体集積回路。   2. The semiconductor integrated circuit according to claim 1, wherein the error detection and correction circuit performs error detection and error correction based on the error correction code at a timing excluding a data write cycle to the CAM unit. 上記CAM部に書き込まれるデータに付加されるパリティビットを生成するためのパリティ生成回路を含む請求項1記載の半導体集積回路。 2. The semiconductor integrated circuit according to claim 1 , further comprising a parity generation circuit for generating a parity bit to be added to data written to the CAM unit . 上記エラー検出及び訂正回路は、エラー検出によってその状態を示す信号を出力する請求項1記載の半導体集積回路。 2. The semiconductor integrated circuit according to claim 1, wherein the error detection and correction circuit outputs a signal indicating the state upon error detection . 上記CAM部は3値データの記憶を可能とするセルを含み、上記エラー検出及び訂正回路は、上記3値データについてのエラー訂正を行う請求項1記載の半導体集積回路。 The semiconductor integrated circuit according to claim 1, wherein the CAM unit includes a cell capable of storing ternary data, and the error detection and correction circuit performs error correction on the ternary data . 上記CAM部は、データ記憶のための電荷蓄積容量を備えたダイナミック型セルを含んで成り、上記エラー検出及び訂正回路は、上記ダイナミック型セルのリフレッシュのために読み出されたデータを利用して当該データについて上記エラー訂正コードに基づくソフトエラー検出及びエラー訂正を行う請求項1記載の半導体集積回路。 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. 2. The semiconductor integrated circuit according to claim 1, wherein soft error detection and error correction are performed on the data based on the error correction code . リフレッシュ時における上記ダイナミック型セルへの書き込みデータを、上記エラー検出及び訂正回路でエラー訂正されたデータに代替可能なセレクタを含む請求項6記載の半導体集積回路。 7. The semiconductor integrated circuit according to claim 6, further comprising a selector capable of substituting data that has been error-corrected by the error detection and correction circuit for writing data to the dynamic cell at the time of refresh . 上記CAM部における隣接ビットは、エラー訂正コードの別セットとされた請求項1記載の半導体集積回路。 2. The semiconductor integrated circuit according to claim 1, wherein the adjacent bits in the CAM portion are different sets of error correction codes . エラー訂正コードの同一セットには上記CAM部における複数アドレスが含まれる請求項8記載の半導体集積回路。 9. The semiconductor integrated circuit according to claim 8, wherein the same set of error correction codes includes a plurality of addresses in the CAM unit .
JP2004022789A 2004-01-30 2004-01-30 Semiconductor integrated circuit Expired - Fee Related JP4397699B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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