WO2016042751A1 - Memory diagnosis circuit - Google Patents
Memory diagnosis circuit Download PDFInfo
- Publication number
- WO2016042751A1 WO2016042751A1 PCT/JP2015/004656 JP2015004656W WO2016042751A1 WO 2016042751 A1 WO2016042751 A1 WO 2016042751A1 JP 2015004656 W JP2015004656 W JP 2015004656W WO 2016042751 A1 WO2016042751 A1 WO 2016042751A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- correction
- error
- error detection
- circuit
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
Definitions
- the present disclosure relates to a memory diagnostic circuit including an error detection correction circuit that performs error detection and error correction processing on data read after being written to a memory.
- an error detection and correction (ECC) circuit is provided to improve data reliability.
- the error detection and correction circuit has a function of detecting and correcting an error in data read from the memory.
- a countermeasure is required.
- the memory and the error detection circuit are all duplicated, and the detection results of the two error detection circuits are compared to select which memory side data is used to improve reliability.
- the microcomputer which aimed at is disclosed.
- This disclosure provides a memory diagnostic circuit that can detect a failure of an error detection and correction circuit with a simpler configuration.
- the memory diagnostic circuit includes an error detection and correction circuit that performs error detection of N bits or more and error correction of (N ⁇ 1) bits or less with respect to data read after being written to the memory, and the memory A first data buffer that stores data read from the memory and error-corrected by the error detection and correction circuit; a second data buffer that directly stores data read from the memory; and the first data buffer And a comparator for comparing data values respectively stored in the second data buffer, and an error detection / correction monitoring circuit.
- the error detection / correction monitoring circuit when both data values differ by (N ⁇ 1) bits or less in the comparison result of the comparator and the error detection / correction circuit performs error correction, the data is stored in the first data buffer.
- FIG. 1 is a functional block diagram illustrating a configuration of a memory diagnostic circuit according to a first embodiment of the present disclosure.
- FIG. 2 is a functional block diagram illustrating a configuration of the memory diagnostic circuit according to the second embodiment of the present disclosure, and is a diagram illustrating a state of each signal when the CPU reads the second check data.
- FIG. 3 is a diagram illustrating a state of each signal when the CPU reads the first check data, and
- FIG. 4 is a diagram illustrating a state of each signal when the CPU reads the first check data having an error in the ECC bit.
- the memory diagnostic circuit 1 of this embodiment is disposed between a memory 2 and a CPU (not shown).
- the memory 2 is, for example, a DRAM, SRAM, EEPROM, flash ROM, or the like.
- the memory diagnostic circuit 1 includes an ECC circuit 3 as an error detection / correction circuit.
- the ECC circuit 3 When the CPU performs write access to the memory 2, the ECC circuit 3 generates a plurality of ECC bits as error detection data based on the write data, and writes the ECC bits together with the write data.
- the error / correction result output unit 4 outputs a signal indicating whether 1-bit error correction or 2-bit error detection has been performed from the value of the ECC bit read when the CPU performs read access. .
- data read from the memory 2 as detection and correction target data is read through the ECC circuit 3 as described above, and is used as the BUF 1 as the first data buffer. 5 is stored.
- the ECC circuit 3 detects a 1-bit error, the error-corrected data is stored in the first data buffer 5. Then, the CPU reads the data once stored in the first data buffer 5.
- the data read from the memory 2 at the time of read access is simultaneously stored directly in the second data buffer 6 as the BUF 2 without passing through the ECC circuit 3.
- Data stored in the first and second data buffers 5 and 6 is input to the comparator 7 as a magnitude comparator.
- the comparator 7 compares the two input data, and if there is an error of 1 bit, outputs a high level signal to one input terminal of the EXOR gate 8 as a part of error detection and correction (ECC) monitoring circuit. . If there is an error of 2 bits or more, the comparator 7 outputs a high level signal (error) to one of the input terminals of the 3-input OR gate 9 as a part of the ECC monitoring circuit.
- ECC error detection and correction
- the error / correction result output unit 4 outputs a high level signal to the other input terminal of the EXOR gate 8 when the ECC circuit 3 performs 1-bit error correction.
- the error / correction result output unit 4 outputs a high level signal to the other input terminal of the OR gate 9 when the ECC circuit 3 detects an error of 2 bits or more.
- the other input terminal of the OR gate 9 is connected to the output terminal of the EXOR gate 8.
- the output terminal of the OR gate 9 is connected to one of the input terminals of the AND gate 10.
- the other input terminal of the AND gate 10 is supplied with a signal for controlling the signal output from the AND gate 10 by the CPU writing to a register (not shown).
- the control signal is set to a high level (H) when the microcomputer including the CPU, the memory diagnostic circuit 1 and the memory 2 normally operates.
- the case where the control signal is set to the low level (L) (when the function is checked) will be described in the second embodiment.
- the output signal of the AND gate 10 becomes a high level, it becomes an abnormality detection signal indicating that the ECC circuit 3 has an abnormality. For example, it becomes a signal (RESET) for resetting the microcomputer, or an abnormality is detected with respect to the host control device. The signal is used to notify detection.
- REET signal
- the CPU performs a read access to the memory 2
- the read data is stored in the first data buffer 5 through the error correction process by the ECC circuit 3 and also stored in the second data buffer 6 as described above.
- the comparator 7 compares the data stored in the data buffers 5 and 6. If there is no error in the data read from the memory 2, the signals output from the comparator 7 and the error / correction result output unit 4 all indicate a low level, so that the output signal of the AND gate 10 also remains at a low level.
- the following “normal” and “abnormal” are evaluations related to the operation of the ECC circuit 3.
- the ECC circuit 3 performs error correction in the same manner even when there is no error in the read data of the CPU and a 1-bit error occurs in the corresponding ECC bit, the state is the same as in the case (C). However, in this case, the data stored in the first data buffer 5 needs to be valid. It can be determined by referring to the ECC bit whether the 1-bit error has occurred in the read data or the ECC bit.
- three status bits are generated from the ECC bits, defined as follows, and given to the error / correction result output unit 4.
- the unit 4 refers to the status bit to determine which of error / correction is output. In the case of (C), since the third bit is set, the signal output to the EXOR gate 8 is kept at the low level.
- the ECC circuit 3 performs 2-bit or more error detection and 1-bit error correction on data read after being written to the memory 2.
- Data read from the memory 2 and error-corrected by the ECC circuit 3 is stored in the first data buffer 5, and data read from the memory 2 is directly stored in the second data buffer 6.
- the comparator 7 compares the data values stored in the first and second data buffers 5 and 6, respectively.
- the ECC monitoring circuit composed of the EXOR gate 8 and the OR gate 9 stores in the first data buffer 5 if both data values differ by 1 bit in the comparison result of the comparator 7 and the ECC circuit 3 performs error correction.
- the data value stored in the first data buffer 5 is invalidated for the abnormal case (B) (C) (E) and the normal case (D) described above. Therefore, it is possible to easily determine whether the ECC circuit 3 is abnormal.
- the error / correction result output unit 4 outputs an EXOR when there is no error in the data stored in the first data buffer 5 and there is a 1-bit error in the ECC bit corresponding to the data and the correction is performed. Mask the gate 8 without outputting the “correction” signal. Accordingly, it is possible to avoid invalidating data stored in the first data buffer 5 without error.
- the external logic configuration for that is simplified.
- the error / correction result output unit 4 stores and holds the above-described status bits in a register or the like, and after the diagnosis, by reading the status bits held by the upper control device or the like, an “error” , “Correction” can be determined. In addition, it is possible to determine how many error bits are present and whether “error” or “correction” has occurred.
- failure analysis can be easily performed by comparing the number of error bits from the status bits.
- the error / correction result output unit 4 also holds the bit position corrected by the ECC circuit 3, thereby enabling more detailed failure analysis.
- a check data storage area 12 is provided in a memory 11 that replaces the memory 2.
- the check data storage area 12 stores first and second check data in advance. These first and second check data are used when executing a check sequence for confirming whether the function of the ECC circuit 3 is normal or not when the system including the memory diagnostic circuit 1 is activated. .
- the first check data is set to a combination in which read data and ECC bits indicate a 1-bit error
- the second check data is set to a combination in which both indicate an error of 2 bits or more.
- the CPU sets one of the input terminals of the AND gate 10 as a low level as a part of the ECC monitoring circuit to prevent the reset signal from being output.
- the CPU when the CPU reads the first check data set so that there is a 1-bit error in the ECC bit, if the ECC circuit 3 is normal, the 1-bit error is corrected.
- the data stored in the first and second data buffers 5 and 6 match.
- the error / correction result output unit 4 masks without outputting “correction”. Therefore, as in the case shown in FIG. 3, the output signal of the OR gate 9 is at a low level.
- the memory 11 includes the check data storage area 12 in which the first and second check data are stored in advance. And reading the second check data, and executing a check sequence for confirming whether the ECC circuit 3 operates as expected, a low level signal is given to one of the input terminals of the AND gate 10 to perform memory diagnosis. The function of the circuit 1 is invalidated. Therefore, it is possible to confirm whether or not the function of the ECC circuit 3 is normal without outputting a reset signal to the outside.
- the present disclosure is not limited to the embodiment described above or illustrated in the drawings, and the following modifications or expansions are possible. If there is no problem ignoring the case where a 1-bit error occurs only in the ECC bits, it may be treated as abnormal in (C). Further, the function of the error / correction result output unit 4 may be built in the ECC circuit 3. Further, N may be set to “3” or more.
- the output signal of the AND gate 10 may not be a reset signal, but an interrupt may be generated in the CPU, for example, and the subsequent processing may be left to the CPU (for example, a reset is issued when the interrupt occurs a plurality of times). .
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
In the present invention, a memory diagnosis circuit is provided with the following: an error detection and correction circuit (3) that performs error detection of N (N is a natural number of 2 or greater) bits or more and error correction of (N-1) bits or less for data which is read from a memory (2, 11); a first data buffer (5) in which is held the data that was error corrected by the error detection and correction circuit; a second data buffer (6) in which the data is directly held; a comparator (7) that compares the data values held in the first and second data buffers; and an error detection and correction monitoring circuit (8, 9). In the error detection and correction monitoring circuit, on the basis of the comparison results of the comparator, the data value held in the first data buffer is validated. Or, in the error detection and correction monitoring circuit, the data value held in the first data buffer is invalidated, and an abnormal signal is output.
Description
本出願は、2014年9月16日に出願された日本特許出願番号2014-187659号と2015年5月14日に出願された日本特許出願番号2015-99035号に基づくもので、ここにそれぞれの記載内容を援用する。
This application is based on Japanese Patent Application No. 2014-187659 filed on September 16, 2014 and Japanese Patent Application No. 2015-99035 filed on May 14, 2015. The description is incorporated.
本開示は、メモリに書き込まれてから読み出されるデータについて、誤り検出及び誤り訂正処理を行うエラー検出訂正回路を備えてなるメモリ診断回路に関する。
The present disclosure relates to a memory diagnostic circuit including an error detection correction circuit that performs error detection and error correction processing on data read after being written to a memory.
例えばDRAMなどのメモリを使用する場合に、データの信頼性を向上させるためエラー検出訂正(ECC:Error Check and Correct)回路を設けることが行われる。エラー検出訂正回路は、メモリから読み出したデータについて誤りを検出したり訂正する機能がある。しかし、エラー検出訂正回路自体に故障が発生する可能性も考慮すると、その対策が必要となる。例えば、特許文献1では、メモリ及びエラー検出回路を全て2重化し、2つのエラー検出回路の検出結果を比較することで、何れのメモリ側のデータを使用するかを選択して信頼性の向上を図ったマイクロコンピュータが開示されている。
For example, when a memory such as a DRAM is used, an error detection and correction (ECC) circuit is provided to improve data reliability. The error detection and correction circuit has a function of detecting and correcting an error in data read from the memory. However, taking into consideration the possibility that a failure will occur in the error detection and correction circuit itself, a countermeasure is required. For example, in Patent Document 1, the memory and the error detection circuit are all duplicated, and the detection results of the two error detection circuits are compared to select which memory side data is used to improve reliability. The microcomputer which aimed at is disclosed.
しかしながら、特許文献1のように、全てを2重化する構成は冗長であり、システムのサイズが大型化してコストアップすることが避けられない。
However, as in Patent Document 1, the configuration in which everything is duplicated is redundant, and it is inevitable that the size of the system increases and the cost increases.
本開示は、より簡単な構成でエラー検出訂正回路の故障を検出できるメモリ診断回路を提供する。
This disclosure provides a memory diagnostic circuit that can detect a failure of an error detection and correction circuit with a simpler configuration.
本開示の一態様においては、メモリ診断回路は、メモリに書き込まれてから読み出されるデータについて、Nビット以上の誤り検出及び(N-1)ビット以下の誤り訂正を行うエラー検出訂正回路、前記メモリより読み出され、前記エラー検出訂正回路により誤り訂正されたデータが格納される第1データバッファと、前記メモリより読み出されたデータが直接格納される第2データバッファと、前記第1データバッファ及び前記第2データバッファにそれぞれ格納されたデータ値を比較する比較器と、エラー検出訂正監視回路と、を備える。前記エラー検出訂正監視回路においては、前記比較器の比較結果で双方のデータ値が(N-1)ビット以下異なり、且つ前記エラー検出訂正回路が誤り訂正を行うと、前記第1データバッファに格納されたデータ値を有効とし、i)前記比較器の比較結果で双方のデータ値が(N-1)ビット以下異なり、且つ前記エラー検出訂正回路が誤り訂正を行わないか、ii)若しくは前記双方のデータ値が(N-1)ビット以下異ならないが前記エラー検出訂正回路が誤り訂正を行ったかを確認すると、又はiii)前記比較器の比較結果で双方のデータ値がNビット以上異なるかを確認すると、又はiv)前記エラー検出訂正回路が誤り検出を行うを確認すると、前記第1データバッファに格納されたデータ値を無効として、異常信号を出力する。また、前記Nは2以上の自然数である。
In one aspect of the present disclosure, the memory diagnostic circuit includes an error detection and correction circuit that performs error detection of N bits or more and error correction of (N−1) bits or less with respect to data read after being written to the memory, and the memory A first data buffer that stores data read from the memory and error-corrected by the error detection and correction circuit; a second data buffer that directly stores data read from the memory; and the first data buffer And a comparator for comparing data values respectively stored in the second data buffer, and an error detection / correction monitoring circuit. In the error detection / correction monitoring circuit, when both data values differ by (N−1) bits or less in the comparison result of the comparator and the error detection / correction circuit performs error correction, the data is stored in the first data buffer. I) whether both data values differ by (N−1) bits or less in the comparison result of the comparator and the error detection / correction circuit does not perform error correction, ii) or both The data value of N is not different by (N-1) bits or less, but it is confirmed whether the error detection / correction circuit has corrected the error, or iii) whether both data values are different by N bits or more in the comparison result of the comparator When confirmed, or iv) When the error detection / correction circuit confirms that an error is detected, the data value stored in the first data buffer is invalidated and an abnormal signal is output.The N is a natural number of 2 or more.
このように、2つのデータバッファに格納されたデータ値を比較器により比較することで、エラー検出訂正回路の異常の有無を簡単に判別できる。
Thus, by comparing the data values stored in the two data buffers with the comparator, it is possible to easily determine whether there is an abnormality in the error detection / correction circuit.
本開示についての上記目的およびその他の目的、特徴や利点は、添付の図面を参照しながら下記の詳細な記述により、より明確になる。その図面は、
図1は、本開示の第1実施形態であり、メモリ診断回路の構成を示す機能ブロック図であり、
図2は、本開示の第2実施形態を示すメモリ診断回路の構成を示す機能ブロック図であり、CPUが第2チェックデータを読み出した場合の各信号の状態を示す図であり、
図3は、CPUが第1チェックデータを読み出した場合の各信号の状態を示す図であり、及び、
図4は、CPUが、ECCビットに誤りがある第1チェックデータを読み出した場合の各信号の状態を示す図である。
The above and other objects, features and advantages of the present disclosure will become more apparent from the following detailed description with reference to the accompanying drawings. The drawing
FIG. 1 is a functional block diagram illustrating a configuration of a memory diagnostic circuit according to a first embodiment of the present disclosure. FIG. 2 is a functional block diagram illustrating a configuration of the memory diagnostic circuit according to the second embodiment of the present disclosure, and is a diagram illustrating a state of each signal when the CPU reads the second check data. FIG. 3 is a diagram illustrating a state of each signal when the CPU reads the first check data, and FIG. 4 is a diagram illustrating a state of each signal when the CPU reads the first check data having an error in the ECC bit.
(第1実施形態)
図1に示すように、本実施形態のメモリ診断回路1は、メモリ2と図示しないCPUとの間に配置されている。メモリ2は、例えばDRAM,SRAM,EEPROM,フラッシュROMなどである。メモリ診断回路1は、エラー検出訂正回路としてECC回路3を備えている。ECC回路3は、CPUがメモリ2にライトアクセスを行うと、その書込みデータに基づいて誤り検出用データとして複数のECCビットを生成して、書き込みデータと共にメモリ2に書き込む。また、ECC回路3は、CPUがメモリ2にリードアクセスを行うと、メモリ2からデータと共にECCビットを読み出して、読み出しデータ及びECCビットについて所定の論理演算を行い、N(≧2)ビット以上の誤り検出(エラー)と、(N-1)ビット以下の誤り訂正とを行う。尚、以下では、N=2として説明する。 (First embodiment)
As shown in FIG. 1, the memorydiagnostic circuit 1 of this embodiment is disposed between a memory 2 and a CPU (not shown). The memory 2 is, for example, a DRAM, SRAM, EEPROM, flash ROM, or the like. The memory diagnostic circuit 1 includes an ECC circuit 3 as an error detection / correction circuit. When the CPU performs write access to the memory 2, the ECC circuit 3 generates a plurality of ECC bits as error detection data based on the write data, and writes the ECC bits together with the write data. When the CPU performs read access to the memory 2, the ECC circuit 3 reads ECC bits together with data from the memory 2, performs a predetermined logical operation on the read data and the ECC bits, and performs N (≧ 2) bits or more. Error detection (error) and error correction of (N-1) bits or less are performed. In the following description, it is assumed that N = 2.
図1に示すように、本実施形態のメモリ診断回路1は、メモリ2と図示しないCPUとの間に配置されている。メモリ2は、例えばDRAM,SRAM,EEPROM,フラッシュROMなどである。メモリ診断回路1は、エラー検出訂正回路としてECC回路3を備えている。ECC回路3は、CPUがメモリ2にライトアクセスを行うと、その書込みデータに基づいて誤り検出用データとして複数のECCビットを生成して、書き込みデータと共にメモリ2に書き込む。また、ECC回路3は、CPUがメモリ2にリードアクセスを行うと、メモリ2からデータと共にECCビットを読み出して、読み出しデータ及びECCビットについて所定の論理演算を行い、N(≧2)ビット以上の誤り検出(エラー)と、(N-1)ビット以下の誤り訂正とを行う。尚、以下では、N=2として説明する。 (First embodiment)
As shown in FIG. 1, the memory
エラー/訂正結果出力部4は、CPUがリードアクセスを行った際に読み出されたECCビットの値から、1ビットの誤り訂正、2ビット以上の誤り検出が行われたかを示す信号を出力する。また、CPUがメモリ2にリードアクセスを行うと、検出及び訂正対象データとして、メモリ2から読み出されたデータは、上記のようにECC回路3を介して読み出され、BUF1として第1データバッファ5に格納される。ECC回路3が1ビットの誤りを検出した場合は、誤り訂正が行われたデータが第1データバッファ5に格納される。そしてCPUは、一旦第1データバッファ5に格納されたデータを読み出す。
The error / correction result output unit 4 outputs a signal indicating whether 1-bit error correction or 2-bit error detection has been performed from the value of the ECC bit read when the CPU performs read access. . When the CPU performs read access to the memory 2, data read from the memory 2 as detection and correction target data is read through the ECC circuit 3 as described above, and is used as the BUF 1 as the first data buffer. 5 is stored. When the ECC circuit 3 detects a 1-bit error, the error-corrected data is stored in the first data buffer 5. Then, the CPU reads the data once stored in the first data buffer 5.
また、リードアクセスの際にメモリ2から読み出されたデータは同時に、ECC回路3を介すことなく、BUF2として第2データバッファ6に直接格納されるようになっている。マグニチュードコンパレータとして比較器7には、第1、第2データバッファ5、6に格納されたデータがそれぞれ入力されている。比較器7は、2つの入力データを比較して、1ビットの誤りがあれば、ハイレベルの信号を一部のエラー検出訂正(ECC)監視回路としてEXORゲート8の一方の入力端子に出力する。また比較器7は、2ビット以上の誤りがあれば、ハイレベルの信号(エラー)を一部のECC監視回路として3入力のORゲート9の入力端子の1つに出力する。
Further, the data read from the memory 2 at the time of read access is simultaneously stored directly in the second data buffer 6 as the BUF 2 without passing through the ECC circuit 3. Data stored in the first and second data buffers 5 and 6 is input to the comparator 7 as a magnitude comparator. The comparator 7 compares the two input data, and if there is an error of 1 bit, outputs a high level signal to one input terminal of the EXOR gate 8 as a part of error detection and correction (ECC) monitoring circuit. . If there is an error of 2 bits or more, the comparator 7 outputs a high level signal (error) to one of the input terminals of the 3-input OR gate 9 as a part of the ECC monitoring circuit.
エラー/訂正結果出力部4は、ECC回路3が1ビットの誤り訂正を行うと、ハイレベルの信号をEXORゲート8の他方の入力端子に出力する。またエラー/訂正結果出力部4は、ECC回路3が2ビット以上の誤り検出を行うと、ハイレベルの信号をORゲート9の入力端子の他の1つに出力する。そして、ORゲート9の入力端子の他の1つは、EXORゲート8の出力端子に接続されている。
The error / correction result output unit 4 outputs a high level signal to the other input terminal of the EXOR gate 8 when the ECC circuit 3 performs 1-bit error correction. The error / correction result output unit 4 outputs a high level signal to the other input terminal of the OR gate 9 when the ECC circuit 3 detects an error of 2 bits or more. The other input terminal of the OR gate 9 is connected to the output terminal of the EXOR gate 8.
ORゲート9の出力端子は、ANDゲート10の入力端子の一方に接続されている。ANDゲート10の入力端子の他方には、CPUが図示しないレジスタに書き込みを行うことでANDゲート10からの信号出力を制御する信号が与えられる。前記制御信号は、CPU、メモリ診断回路1及びメモリ2を含むマイクロコンピュータが通常動作する際には、ハイレベル(H)に設定される。制御信号をローレベル(L)に設定するケース(機能チェック時)については、第2実施形態で述べる。ANDゲート10の出力信号がハイレベルになると、ECC回路3に異常があることを示す異常検出信号となるので、例えばマイクロコンピュータをリセットする信号(RESET)としたり、上位の制御装置に対して異常検出を報知するための信号とする。
The output terminal of the OR gate 9 is connected to one of the input terminals of the AND gate 10. The other input terminal of the AND gate 10 is supplied with a signal for controlling the signal output from the AND gate 10 by the CPU writing to a register (not shown). The control signal is set to a high level (H) when the microcomputer including the CPU, the memory diagnostic circuit 1 and the memory 2 normally operates. The case where the control signal is set to the low level (L) (when the function is checked) will be described in the second embodiment. When the output signal of the AND gate 10 becomes a high level, it becomes an abnormality detection signal indicating that the ECC circuit 3 has an abnormality. For example, it becomes a signal (RESET) for resetting the microcomputer, or an abnormality is detected with respect to the host control device. The signal is used to notify detection.
次に、本実施形態の作用について説明する。CPUがメモリ2にリードアクセスを行うと、読み出されたデータは前述のように、ECC回路3による誤り訂正処理を経て第1データバッファ5に格納されると共に、第2データバッファ6に格納される。そして、比較器7が、各データバッファ5、6に格納されたデータを比較する。メモリ2から読み出したデータに誤りが無ければ、比較器7及びエラー/訂正結果出力部4が出力する各信号は何れもローレベルを示すので、ANDゲート10の出力信号もローレベルのままである。尚、以下の「正常」、「異常」は、ECC回路3の動作に関する評価である。
Next, the operation of this embodiment will be described. When the CPU performs a read access to the memory 2, the read data is stored in the first data buffer 5 through the error correction process by the ECC circuit 3 and also stored in the second data buffer 6 as described above. The Then, the comparator 7 compares the data stored in the data buffers 5 and 6. If there is no error in the data read from the memory 2, the signals output from the comparator 7 and the error / correction result output unit 4 all indicate a low level, so that the output signal of the AND gate 10 also remains at a low level. . The following “normal” and “abnormal” are evaluations related to the operation of the ECC circuit 3.
(A)<正常時:1ビット誤りを訂正>
ECC回路3が、メモリ2から読み出したデータに1ビットの誤りがあることを検出するとその誤りが訂正され、訂正されたデータが第1データバッファ5に格納される。その結果、第2データバッファ6に格納されたデータとは1ビットの相違が生じるので、比較器7は、EXORゲート8にハイレベルの信号を出力する。また、ECC回路3が訂正処理を行ったので、エラー/訂正結果出力部4も、EXORゲート8にハイレベルの信号を出力する。したがって、EXORゲート8の出力信号はローレベルになる。 (A) <Normal: 1 bit error corrected>
When theECC circuit 3 detects that the data read from the memory 2 has a 1-bit error, the error is corrected, and the corrected data is stored in the first data buffer 5. As a result, a difference of 1 bit from the data stored in the second data buffer 6 occurs, so that the comparator 7 outputs a high level signal to the EXOR gate 8. Since the ECC circuit 3 performs the correction process, the error / correction result output unit 4 also outputs a high level signal to the EXOR gate 8. Therefore, the output signal of the EXOR gate 8 becomes low level.
ECC回路3が、メモリ2から読み出したデータに1ビットの誤りがあることを検出するとその誤りが訂正され、訂正されたデータが第1データバッファ5に格納される。その結果、第2データバッファ6に格納されたデータとは1ビットの相違が生じるので、比較器7は、EXORゲート8にハイレベルの信号を出力する。また、ECC回路3が訂正処理を行ったので、エラー/訂正結果出力部4も、EXORゲート8にハイレベルの信号を出力する。したがって、EXORゲート8の出力信号はローレベルになる。 (A) <Normal: 1 bit error corrected>
When the
尚、CPUが実行するリードアクセスのタイミングに応じて、正常動作時のEXORゲート8の出力信号をマスクする期間が必要であれば、そのためのロジックを、EXORゲート8とORゲート9との間に適宜追加すれば良い。
If a period for masking the output signal of the EXOR gate 8 during normal operation is required according to the timing of read access executed by the CPU, the logic for this is placed between the EXOR gate 8 and the OR gate 9. What is necessary is just to add suitably.
(B)<異常時:訂正なしで1ビットの相違発生>
一方、データバッファ5、6に格納されたデータに1ビットの相違があり、比較器7がEXORゲート8にハイレベルの信号を出力しているが、ECC回路3が訂正処理を行っていなければエラー/訂正結果出力部4はローレベルの信号を出力する。したがって、EXORゲート8の出力信号はハイレベルになり、ORゲート9を介してANDゲート10の出力信号がハイレベルになり、故障が検出される。 (B) <In case of abnormality: 1-bit difference occurs without correction>
On the other hand, there is a 1-bit difference in the data stored in the data buffers 5 and 6, and the comparator 7 outputs a high level signal to the EXOR gate 8, but the ECC circuit 3 is not performing correction processing. The error / correction result output unit 4 outputs a low level signal. Therefore, the output signal of the EXOR gate 8 becomes high level, the output signal of the AND gate 10 becomes high level via the OR gate 9, and a failure is detected.
一方、データバッファ5、6に格納されたデータに1ビットの相違があり、比較器7がEXORゲート8にハイレベルの信号を出力しているが、ECC回路3が訂正処理を行っていなければエラー/訂正結果出力部4はローレベルの信号を出力する。したがって、EXORゲート8の出力信号はハイレベルになり、ORゲート9を介してANDゲート10の出力信号がハイレベルになり、故障が検出される。 (B) <In case of abnormality: 1-bit difference occurs without correction>
On the other hand, there is a 1-bit difference in the data stored in the
この場合、第2データバッファ6に格納されたデータの値が、ECC回路3がメモリ2から読み出したデータの値と相違している可能性が高いが、ECC回路3が故障している可能性もある。これにより、CPUが正しさの保障がない第1データバッファ5のデータを読み出して使用することは回避される。
In this case, it is highly possible that the value of the data stored in the second data buffer 6 is different from the value of the data read from the memory 2 by the ECC circuit 3, but there is a possibility that the ECC circuit 3 has failed. There is also. Thereby, it is avoided that the CPU reads and uses the data of the first data buffer 5 for which the correctness is not guaranteed.
(C)<異常時:訂正ありで1ビットの相違なし>
(B)のケースとは逆に、比較器7がEXORゲート8にローレベルの信号を出力しているがECC回路3が訂正処理を行うと、やはりEXORゲート8の出力信号がハイレベルになるので、ANDゲート10の出力信号がハイレベルになり、故障が検出される。この場合は、データバッファ5、6に格納されたデータに1ビットの相違があったが、ECC回路3が訂正処理を行った結果、双方のデータが一致したことが想定される。 (C) <In case of abnormality: 1 bit difference with correction>
Contrary to the case of (B), thecomparator 7 outputs a low level signal to the EXOR gate 8, but when the ECC circuit 3 performs correction processing, the output signal of the EXOR gate 8 also becomes high level. Therefore, the output signal of the AND gate 10 becomes high level, and a failure is detected. In this case, there is a 1-bit difference between the data stored in the data buffers 5 and 6, but it is assumed that both data match as a result of the ECC circuit 3 performing the correction process.
(B)のケースとは逆に、比較器7がEXORゲート8にローレベルの信号を出力しているがECC回路3が訂正処理を行うと、やはりEXORゲート8の出力信号がハイレベルになるので、ANDゲート10の出力信号がハイレベルになり、故障が検出される。この場合は、データバッファ5、6に格納されたデータに1ビットの相違があったが、ECC回路3が訂正処理を行った結果、双方のデータが一致したことが想定される。 (C) <In case of abnormality: 1 bit difference with correction>
Contrary to the case of (B), the
また、ECC回路3は、CPUの読み出しデータに誤りが無く、対応するECCビットに1ビット誤りが発生した場合にも同様に誤り訂正を行うため、ケース(C)と同様の状態になる。しかしこの場合、第1データバッファ5に格納されたデータは有効とする必要がある。1ビット誤りが発生したのが、読み出しデータ、ECCビットの何れであるかは、ECCビットを参照すれば判別可能である。
In addition, since the ECC circuit 3 performs error correction in the same manner even when there is no error in the read data of the CPU and a 1-bit error occurs in the corresponding ECC bit, the state is the same as in the case (C). However, in this case, the data stored in the first data buffer 5 needs to be valid. It can be determined by referring to the ECC bit whether the 1-bit error has occurred in the read data or the ECC bit.
例えばECCビットから3ビットのステータスビットを生成し、それらを以下のように定義して、エラー/訂正結果出力部4に与える。
For example, three status bits are generated from the ECC bits, defined as follows, and given to the error / correction result output unit 4.
第1ビット:2ビット以上の誤り→「エラー」出力
第2ビット:1ビットのデータ誤り→「訂正」出力
第3ビット:1ビットのECCビット誤り→「訂正」出力せず
エラー/訂正結果出力部4は、上記のステータスビットを参照してエラー/訂正の何れを出力するか決定する。(C)のケースでは第3ビットが立つので、EXORゲート8に出力する信号をローレベルのままとする。 1st bit: 2 bits or more error → “error” output 2nd bit: 1 bit data error → “correction” output 3rd bit: 1 bit ECC bit error → “correction” output not output Error / correction result output Theunit 4 refers to the status bit to determine which of error / correction is output. In the case of (C), since the third bit is set, the signal output to the EXOR gate 8 is kept at the low level.
第2ビット:1ビットのデータ誤り→「訂正」出力
第3ビット:1ビットのECCビット誤り→「訂正」出力せず
エラー/訂正結果出力部4は、上記のステータスビットを参照してエラー/訂正の何れを出力するか決定する。(C)のケースでは第3ビットが立つので、EXORゲート8に出力する信号をローレベルのままとする。 1st bit: 2 bits or more error → “error” output 2nd bit: 1 bit data error → “correction” output 3rd bit: 1 bit ECC bit error → “correction” output not output Error / correction result output The
(D)<正常時:2ビット以上の誤りを検出>
ECC回路3が、メモリ2から読み出したデータに2ビットの誤りがあることを検出すると、エラー/訂正結果出力部4は、ORゲート9にハイレベルの信号(エラー)を出力する。したがって、ANDゲート10の出力信号がハイレベルになり、故障が検出される。この場合も、CPUが第1データバッファ5のデータを読み出して使用することは回避される。 (D) <Normal: An error of 2 bits or more is detected>
When theECC circuit 3 detects that the data read from the memory 2 has a 2-bit error, the error / correction result output unit 4 outputs a high level signal (error) to the OR gate 9. Therefore, the output signal of the AND gate 10 becomes a high level, and a failure is detected. Also in this case, it is avoided that the CPU reads and uses the data in the first data buffer 5.
ECC回路3が、メモリ2から読み出したデータに2ビットの誤りがあることを検出すると、エラー/訂正結果出力部4は、ORゲート9にハイレベルの信号(エラー)を出力する。したがって、ANDゲート10の出力信号がハイレベルになり、故障が検出される。この場合も、CPUが第1データバッファ5のデータを読み出して使用することは回避される。 (D) <Normal: An error of 2 bits or more is detected>
When the
(E)<異常時:双方のデータに2ビット以上の相違>
データバッファ5、6に格納されたデータに2ビットの相違があると、比較器7はORゲート9にハイレベルの信号を出力する。したがって、ANDゲート10の出力信号がハイレベルになり、故障が検出される。この場合も、(B)のケースと同様に、第2データバッファ6に格納されたデータの値と、ECC回路3がメモリ2から読み出したデータの値とが相違しているか、ECC回路3が故障している可能性がある。 (E) <In case of abnormality: difference of 2 bits or more between both data>
If there is a difference of 2 bits in the data stored in the data buffers 5 and 6, thecomparator 7 outputs a high level signal to the OR gate 9. Therefore, the output signal of the AND gate 10 becomes a high level, and a failure is detected. Also in this case, as in the case of (B), the value of the data stored in the second data buffer 6 is different from the value of the data read from the memory 2 by the ECC circuit 3, or the ECC circuit 3 There may be a failure.
データバッファ5、6に格納されたデータに2ビットの相違があると、比較器7はORゲート9にハイレベルの信号を出力する。したがって、ANDゲート10の出力信号がハイレベルになり、故障が検出される。この場合も、(B)のケースと同様に、第2データバッファ6に格納されたデータの値と、ECC回路3がメモリ2から読み出したデータの値とが相違しているか、ECC回路3が故障している可能性がある。 (E) <In case of abnormality: difference of 2 bits or more between both data>
If there is a difference of 2 bits in the data stored in the data buffers 5 and 6, the
以上のように本実施形態によれば、メモリ診断回路1において、ECC回路3は、メモリ2に書き込まれてから読み出されるデータについて、2ビット以上の誤り検出及び1ビットの誤り訂正を行う。第1データバッファ5には、メモリ2より読み出されてECC回路3により誤り訂正されたデータが格納され、第2データバッファ6には、メモリ2より読み出されたデータが直接格納される。そして、比較器7は、第1及び第2データバッファ5及び6にそれぞれ格納されたデータ値を比較する。
As described above, according to the present embodiment, in the memory diagnostic circuit 1, the ECC circuit 3 performs 2-bit or more error detection and 1-bit error correction on data read after being written to the memory 2. Data read from the memory 2 and error-corrected by the ECC circuit 3 is stored in the first data buffer 5, and data read from the memory 2 is directly stored in the second data buffer 6. The comparator 7 compares the data values stored in the first and second data buffers 5 and 6, respectively.
EXORゲート8及びORゲート9で構成されるECC監視回路は、比較器7の比較結果で双方のデータ値が1ビット異なり、且つECC回路3が誤り訂正を行えば、第1データバッファ5に格納されたデータ値を有効とし、上述した異常時のケース(B)(C)(E)及び正常時のケース(D)については、第1データバッファ5に格納されたデータ値を無効とする。したがって、ECC回路3の異常の有無を簡単に判別できる。
The ECC monitoring circuit composed of the EXOR gate 8 and the OR gate 9 stores in the first data buffer 5 if both data values differ by 1 bit in the comparison result of the comparator 7 and the ECC circuit 3 performs error correction. The data value stored in the first data buffer 5 is invalidated for the abnormal case (B) (C) (E) and the normal case (D) described above. Therefore, it is possible to easily determine whether the ECC circuit 3 is abnormal.
また、エラー/訂正結果出力部4は、第1データバッファ5に格納されたデータに誤りが無く、前記データに対応するECCビットに1ビットの誤りがありその訂正を行った際には、EXORゲート8に「訂正」信号を出力せずにマスクする。したがって、第1データバッファ5に格納された誤りが無いデータを、無効にすることを回避できる。加えて、そのための外部ロジック構成が簡単になる。
In addition, the error / correction result output unit 4 outputs an EXOR when there is no error in the data stored in the first data buffer 5 and there is a 1-bit error in the ECC bit corresponding to the data and the correction is performed. Mask the gate 8 without outputting the “correction” signal. Accordingly, it is possible to avoid invalidating data stored in the first data buffer 5 without error. In addition, the external logic configuration for that is simplified.
ここで、エラー/訂正結果出力部4が前述のステータスビットをレジスタ等に格納して保持しておき、診断後に、上位の制御装置等が保持されているステータスビットを読み出すことで、「エラー」,「訂正」の何れが発生したかの判別が可能となる。また、誤りビット数が幾つで「エラー」又は「訂正」が発生したかの判別も可能となる。
Here, the error / correction result output unit 4 stores and holds the above-described status bits in a register or the like, and after the diagnosis, by reading the status bits held by the upper control device or the like, an “error” , “Correction” can be determined. In addition, it is possible to determine how many error bits are present and whether “error” or “correction” has occurred.
したがって、例えば「N」の値が比較的大きい場合に、外部の制御装置等が、ECC回路3が誤り訂正を実施した結果として正常に動作している状態を、「エラー」が発生する以前に認識できる。これにより、「故障」に至る前の正常動作の段階での誤りの発生をアラームとして、例えばメモリ2の交換などの処置を事前に実施できる。
Therefore, for example, when the value of “N” is relatively large, the external control device or the like is operating normally as a result of the error correction of the ECC circuit 3 before the “error” occurs. Can be recognized. As a result, the occurrence of an error at the stage of normal operation before the “failure” occurs as an alarm, and for example, treatment such as replacement of the memory 2 can be performed in advance.
更に、ステータスビットから誤りビット数を比較することで、不良解析を容易に行うことができる。加えて、エラー/訂正結果出力部4が、ECC回路3が訂正したビット位置についても保持しておくことで、より詳細な不良解析を行うことが可能になる。
Furthermore, failure analysis can be easily performed by comparing the number of error bits from the status bits. In addition, the error / correction result output unit 4 also holds the bit position corrected by the ECC circuit 3, thereby enabling more detailed failure analysis.
(第2実施形態)
以下、第1実施形態と同一部分については同一符号を付して説明を省略し、異なる部分について説明する。図2に示すように、第2実施形態では、メモリ2に替わるメモリ11にチェックデータ記憶領域12が設けられている。チェックデータ記憶領域12には、予め第1、第2チェックデータが格納されている。これらの第1、第2チェックデータは、メモリ診断回路1を含むシステムが起動された際に、ECC回路3の機能が正常か否かを確認するためのチェックシーケンスを実行する際に使用される。 (Second Embodiment)
Hereinafter, the same parts as those of the first embodiment are denoted by the same reference numerals, description thereof is omitted, and different parts will be described. As shown in FIG. 2, in the second embodiment, a checkdata storage area 12 is provided in a memory 11 that replaces the memory 2. The check data storage area 12 stores first and second check data in advance. These first and second check data are used when executing a check sequence for confirming whether the function of the ECC circuit 3 is normal or not when the system including the memory diagnostic circuit 1 is activated. .
以下、第1実施形態と同一部分については同一符号を付して説明を省略し、異なる部分について説明する。図2に示すように、第2実施形態では、メモリ2に替わるメモリ11にチェックデータ記憶領域12が設けられている。チェックデータ記憶領域12には、予め第1、第2チェックデータが格納されている。これらの第1、第2チェックデータは、メモリ診断回路1を含むシステムが起動された際に、ECC回路3の機能が正常か否かを確認するためのチェックシーケンスを実行する際に使用される。 (Second Embodiment)
Hereinafter, the same parts as those of the first embodiment are denoted by the same reference numerals, description thereof is omitted, and different parts will be described. As shown in FIG. 2, in the second embodiment, a check
第1チェックデータは、読み出しデータとECCビットとが1ビット誤りを示す組み合わせに設定されているもので、第2チェックデータは、双方が2ビット以上の誤りを示す組み合わせに設定されている。またこの場合、CPUは一部のECC監視回路としてANDゲート10の入力端子の一方をローレベルにして、リセット信号が出力されることを阻止する。
The first check data is set to a combination in which read data and ECC bits indicate a 1-bit error, and the second check data is set to a combination in which both indicate an error of 2 bits or more. Further, in this case, the CPU sets one of the input terminals of the AND gate 10 as a low level as a part of the ECC monitoring circuit to prevent the reset signal from being output.
図2に示すように、CPUが第2チェックデータを読み出すと、第1、第2データバッファ5,6に格納されたデータは一致するが、ECC回路3が正常であれば、エラー/訂正結果出力部4は「エラー」を出力する。したがって、ORゲート9の出力信号はハイレベルになる。
As shown in FIG. 2, when the CPU reads the second check data, the data stored in the first and second data buffers 5 and 6 match, but if the ECC circuit 3 is normal, an error / correction result is obtained. The output unit 4 outputs “error”. Therefore, the output signal of the OR gate 9 becomes high level.
図3に示すように、CPUが第1チェックデータを読み出すと、ECC回路3が正常であれば1ビット誤りを検出して訂正するので、エラー/訂正結果出力部4は「訂正」を出力する。また、比較器7は1ビットの相違を検出する。したがって、ORゲート9の出力信号はローレベルになる。
As shown in FIG. 3, when the CPU reads the first check data, if the ECC circuit 3 is normal, a 1-bit error is detected and corrected, so the error / correction result output unit 4 outputs “correction”. . The comparator 7 detects a 1-bit difference. Therefore, the output signal of the OR gate 9 becomes low level.
また、図4に示すように、CPUがECCビットに1ビット誤りがあるように設定された第1チェックデータを読み出すと、ECC回路3が正常であればその1ビット誤りを訂正するので、第1、第2データバッファ5,6に格納されたデータは一致する。この場合、第1実施形態で説明したように、エラー/訂正結果出力部4は「訂正」を出力せずにマスクする。したがって、図3に示すケースと同様に、ORゲート9の出力信号はローレベルになる。
Further, as shown in FIG. 4, when the CPU reads the first check data set so that there is a 1-bit error in the ECC bit, if the ECC circuit 3 is normal, the 1-bit error is corrected. The data stored in the first and second data buffers 5 and 6 match. In this case, as described in the first embodiment, the error / correction result output unit 4 masks without outputting “correction”. Therefore, as in the case shown in FIG. 3, the output signal of the OR gate 9 is at a low level.
これらのように、各ケースについて各信号の出力状態を確認すれば、ECC回路3の機能が正常か否かを確認できる。
As described above, if the output state of each signal is confirmed for each case, it can be confirmed whether or not the function of the ECC circuit 3 is normal.
以上のように第2実施形態によれば、メモリ11に、第1及び第2チェックデータが予め記憶されているチェックデータ記憶領域12を備え、起動時に、CPUがチェックデータ記憶領域12より第1及び第2チェックデータを読み出して、ECC回路3が所期通りに動作するか否かを確認するチェックシーケンスを実行する際に、ANDゲート10の入力端子の一方にローレベル信号を与えてメモリ診断回路1の機能を無効化する。したがって、外部にリセット信号を出力することなく、ECC回路3の機能が正常か否かを確認できる。
As described above, according to the second embodiment, the memory 11 includes the check data storage area 12 in which the first and second check data are stored in advance. And reading the second check data, and executing a check sequence for confirming whether the ECC circuit 3 operates as expected, a low level signal is given to one of the input terminals of the AND gate 10 to perform memory diagnosis. The function of the circuit 1 is invalidated. Therefore, it is possible to confirm whether or not the function of the ECC circuit 3 is normal without outputting a reset signal to the outside.
本開示は上記した、又は図面に記載した実施形態にのみ限定されるものではなく、以下のような変形又は拡張が可能である。ECCビットのみに1ビット誤りが発生するケースを無視して問題なければ、(C)で異常として扱っても良い。また、エラー/訂正結果出力部4の機能を、ECC回路3に内蔵しても良い。また、Nを「3」以上としても良い。また、ANDゲート10の出力信号をリセット信号とせず、例えばCPUに割り込みを発生させて、以降の処理をCPUに任せても良い(例えば、前記割り込みが複数回発生すると、リセットを発行する等)。
The present disclosure is not limited to the embodiment described above or illustrated in the drawings, and the following modifications or expansions are possible. If there is no problem ignoring the case where a 1-bit error occurs only in the ECC bits, it may be treated as abnormal in (C). Further, the function of the error / correction result output unit 4 may be built in the ECC circuit 3. Further, N may be set to “3” or more. The output signal of the AND gate 10 may not be a reset signal, but an interrupt may be generated in the CPU, for example, and the subsequent processing may be left to the CPU (for example, a reset is issued when the interrupt occurs a plurality of times). .
本開示は、実施例に準拠して記述されたが、本開示は当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。
Although the present disclosure has been described based on the embodiments, it is understood that the present disclosure is not limited to the embodiments and structures. The present disclosure includes various modifications and modifications within the equivalent range. In addition, various combinations and forms, as well as other combinations and forms including only one element, more or less, are within the scope and spirit of the present disclosure.
Claims (3)
- メモリ(2、11)に書き込まれてから読み出されるデータについて、Nビット以上の誤り検出及び(N-1)ビット以下の誤り訂正を行うエラー検出訂正回路(3)と、
前記メモリより読み出され、前記エラー検出訂正回路により誤り訂正されたデータが格納される第1データバッファ(5)と、
前記メモリより読み出されたデータが直接格納される第2データバッファ(6)と、
前記第1データバッファに格納されたデータの値及び前記第2データバッファに格納されたデータの値を比較する比較器(7)と、
エラー検出訂正監視回路(8,9)と、を備え、
前記エラー検出訂正監視回路においては、前記比較器の比較結果で前記第1データバッファに格納されたデータの値と前記第2データバッファに格納されたデータの値が(N-1)ビット以下異なり、且つ前記エラー検出訂正回路が誤り訂正を行ったことを確認すると、前記第1データバッファに格納されたデータ値を有効とし、
前記エラー検出訂正監視回路においては、i)前記比較器の比較結果で前記第1データバッファに格納されたデータの値及び前記第2データバッファに格納されたデータの値が(N-1)ビット以下異なり、且つ前記ECC回路が誤り訂正を行わないことを確認すると、若しくはii)前記第1データバッファに格納されたデータの値及び前記第2データバッファに格納されたデータの値が(N-1)ビット以下異ならないが前記エラー検出訂正回路が誤り訂正を行ったことを確認すると、又はiii)前記比較器の比較結果で前記第1データバッファに格納されたデータの値及び前記第2データバッファに格納されたデータの値がNビット以上異なるか、又はiv)前記エラー検出訂正回路が誤り検出を行うことを確認すると、前記第1データバッファに格納されたデータ値を無効として、異常信号を出力し、
前記Nは2以上の自然数であるメモリ診断回路。 An error detection and correction circuit (3) for performing error detection of N bits or more and error correction of (N-1) bits or less for data read after being written to the memory (2, 11);
A first data buffer (5) that stores data read from the memory and error-corrected by the error detection and correction circuit;
A second data buffer (6) directly storing data read from the memory;
A comparator (7) for comparing the value of the data stored in the first data buffer and the value of the data stored in the second data buffer;
An error detection and correction monitoring circuit (8, 9),
In the error detection / correction monitoring circuit, the value of data stored in the first data buffer differs from the value of data stored in the second data buffer by (N−1) bits or less as a result of comparison by the comparator. And when the error detection and correction circuit confirms that the error correction has been performed, the data value stored in the first data buffer is validated,
In the error detection / correction monitoring circuit, i) a value of data stored in the first data buffer and a value of data stored in the second data buffer in the comparison result of the comparator are (N−1) bits. When it is different and the ECC circuit confirms that error correction is not performed, or ii) the value of data stored in the first data buffer and the value of data stored in the second data buffer are (N− 1) If the error detection / correction circuit confirms that error correction has been performed, but the difference is not more than a bit, or iii) the value of data stored in the first data buffer and the second data in the comparison result of the comparator If the value of the data stored in the buffer differs by N bits or more, or iv) confirming that the error detection and correction circuit performs error detection, the first data As invalid data value stored in Tabaffa, outputs an abnormal signal,
The memory diagnostic circuit, wherein N is a natural number of 2 or more. - 前記エラー検出訂正回路は、前記第1データバッファに格納されたデータに1ビット以上の誤りが無く、前記データに対応する誤り検出及び訂正を行うための誤り検出用データに(N-1)ビット以下の誤りがありその訂正を行った際には、前記誤り検出用データに対する前記誤り訂正の実行を前記エラー検出訂正監視回路に対してマスクするように構成されている請求項1記載のメモリ診断回路。 The error detection / correction circuit includes (N−1) bits in error detection data for performing error detection and correction corresponding to the data, wherein the data stored in the first data buffer has no error of 1 bit or more. 2. The memory diagnosis according to claim 1, wherein when the following error is detected and corrected, the error correction execution on the error detection data is masked to the error detection / correction monitoring circuit. circuit.
- 検出及び訂正対象データと、前記データについて誤り検出及び訂正を行うための誤り検出用データとの組み合わせが(N-1)ビット以下の誤りとなるように設定された第1チェックデータと、
前記組み合わせがNビット以上の誤りとなるように設定された第2チェックデータとが予め記憶されているチェックデータ記憶領域(12)を備え、
前記エラー検出訂正監視回路(8,9,10)は、起動時に、CPUが前記チェックデータ記憶領域より前記第1チェックデータ及び前記第2チェックデータを読み出して、前記エラー検出訂正回路が所期通りに動作するか否かを確認するチェックシーケンスを実行する際に、前記エラー検出訂正監視回路の機能が無効化される請求項1又は2記載のメモリ診断回路。 First check data set such that a combination of data to be detected and corrected and error detection data for performing error detection and correction on the data is an error of (N-1) bits or less;
A check data storage area (12) in which the second check data set so that the combination results in an error of N bits or more is stored in advance;
When the error detection / correction monitoring circuit (8, 9, 10) is activated, the CPU reads the first check data and the second check data from the check data storage area, and the error detection / correction circuit is as expected. 3. The memory diagnostic circuit according to claim 1, wherein the function of the error detection / correction monitoring circuit is invalidated when executing a check sequence for confirming whether or not to operate normally.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/510,264 US20170262335A1 (en) | 2014-09-16 | 2015-09-14 | Memory diagnosis circuit |
CN201580049387.2A CN106716387B (en) | 2014-09-16 | 2015-09-14 | Memory diagnostic circuit |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014187659 | 2014-09-16 | ||
JP2014-187659 | 2014-09-16 | ||
JP2015099035A JP6332134B2 (en) | 2014-09-16 | 2015-05-14 | Memory diagnostic circuit |
JP2015-099035 | 2015-05-14 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016042751A1 true WO2016042751A1 (en) | 2016-03-24 |
Family
ID=55532808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2015/004656 WO2016042751A1 (en) | 2014-09-16 | 2015-09-14 | Memory diagnosis circuit |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2016042751A1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59206951A (en) * | 1983-05-11 | 1984-11-22 | Mitsubishi Electric Corp | Diagnostic system of circuit for detecting control storage error |
JPH05108385A (en) * | 1991-10-15 | 1993-04-30 | Hitachi Ltd | Error correction circuit diagnostic system |
JP2008176828A (en) * | 2007-01-16 | 2008-07-31 | Toshiba Microelectronics Corp | Test circuit and test method of error detection correcting circuit |
-
2015
- 2015-09-14 WO PCT/JP2015/004656 patent/WO2016042751A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59206951A (en) * | 1983-05-11 | 1984-11-22 | Mitsubishi Electric Corp | Diagnostic system of circuit for detecting control storage error |
JPH05108385A (en) * | 1991-10-15 | 1993-04-30 | Hitachi Ltd | Error correction circuit diagnostic system |
JP2008176828A (en) * | 2007-01-16 | 2008-07-31 | Toshiba Microelectronics Corp | Test circuit and test method of error detection correcting circuit |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5014899B2 (en) | Reconfigurable device | |
US20050204264A1 (en) | Error correction circuit | |
JP5010271B2 (en) | Error correction code generation method and memory control device | |
US8914708B2 (en) | Bad wordline/array detection in memory | |
KR20160024966A (en) | Circuits, apparatuses, and methods for correcting data errors | |
KR20130031888A (en) | Method for monitoring a data memory | |
US10108469B2 (en) | Microcomputer and microcomputer system | |
JP5344936B2 (en) | Control device | |
JP6332134B2 (en) | Memory diagnostic circuit | |
JP2006523868A (en) | Program-controlled unit and method | |
JP2008176828A (en) | Test circuit and test method of error detection correcting circuit | |
WO2016042751A1 (en) | Memory diagnosis circuit | |
US11379310B2 (en) | Anomaly detector | |
US11831337B2 (en) | Semiconductor device and error detection methods | |
WO2007026508A1 (en) | Semiconductor device and test mode control circuit | |
JP2011232910A (en) | Memory diagnosis system | |
WO2005124562A1 (en) | System for elevator electronic safety device | |
US20170337110A1 (en) | Data processing device | |
JP2006011576A (en) | High-reliability controller | |
JP2014225110A (en) | Safety controller | |
JP2009238168A (en) | Microprocessor | |
JP2006277133A (en) | Semiconductor integrated circuit and memory data checking method | |
JP2008192108A (en) | Duplex information processing system | |
JP2004326564A (en) | Nonvolatile semiconductor memory device | |
CN105830162B (en) | Method and device for detecting erroneous data in at least one memory element |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15841447 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 15510264 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 15841447 Country of ref document: EP Kind code of ref document: A1 |