JP6858636B2 - Semiconductor storage device - Google Patents
Semiconductor storage device Download PDFInfo
- Publication number
- JP6858636B2 JP6858636B2 JP2017099120A JP2017099120A JP6858636B2 JP 6858636 B2 JP6858636 B2 JP 6858636B2 JP 2017099120 A JP2017099120 A JP 2017099120A JP 2017099120 A JP2017099120 A JP 2017099120A JP 6858636 B2 JP6858636 B2 JP 6858636B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- error
- circuit
- bits
- data
- 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.)
- Active
Links
- 239000004065 semiconductor Substances 0.000 title claims description 87
- 238000007689 inspection Methods 0.000 claims description 161
- 238000001514 detection method Methods 0.000 claims description 114
- 208000011580 syndromic disease Diseases 0.000 description 66
- 238000000034 method Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 238000013500 data storage Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 101100119135 Mus musculus Esrrb gene Proteins 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 6
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 6
- 230000007547 defect Effects 0.000 description 4
- 230000001902 propagating effect Effects 0.000 description 4
- 230000002950 deficient Effects 0.000 description 3
- 230000009897 systematic effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
Images
Landscapes
- Detection And Correction Of Errors (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Description
本発明は、半導体記憶装置に関する。 The present invention relates to a semiconductor storage device.
性能向上や歩留まり向上を目的にしてメモリセルから読み出されたデータのエラーを検出して訂正するECC(Error Checking and Correcting)機能を備えた半導体記憶装置がある。たとえば、MRAM(Magnetoresistive Random Access Memory)などの不揮発性メモリでは、正常なビットであってもある確率(エラーレート)で不良となるため、上記のようなECC機能を実行するECC回路が用いられている。その一例として、ハミング符号を用いて1ビットのエラー検出及び訂正を行うECC回路がある。 There is a semiconductor storage device having an ECC (Error Checking and Correcting) function that detects and corrects an error in data read from a memory cell for the purpose of improving performance and yield. For example, in a non-volatile memory such as MRAM (Magnetoresistive Random Access Memory), even a normal bit becomes defective with a certain probability (error rate), so an ECC circuit that executes the above ECC function is used. There is. As an example, there is an ECC circuit that detects and corrects a 1-bit error using a Hamming code.
なお、2ビット以上のエラー検出及び訂正に対応した符号もある。その一例としてゴレイ符号がある。ゴレイ符号を用いることで、11ビットの検査ビット(パリティビットと呼ばれる場合もある)と12ビットのデータビットを合わせた23ビットから、3ビットのエラーの検出及び訂正が可能となる。 There is also a code corresponding to error detection and correction of 2 bits or more. One example is the Golay code. By using the Golay code, it is possible to detect and correct a 3-bit error from 23 bits, which is a combination of an 11-bit inspection bit (sometimes called a parity bit) and a 12-bit data bit.
ところで、従来の半導体記憶装置では、出荷前試験などの工程において歩留まりを上げるためにECC回路を用いてエラー検出及び訂正が行われる。しかし、その工程において、訂正できるビット数分のエラービットの訂正を行ってしまった場合、その工程後に増加したエラービット(たとえば、出荷後に増えたエラービット)を訂正できなくなる問題がある。 By the way, in a conventional semiconductor storage device, error detection and correction are performed using an ECC circuit in order to increase the yield in a process such as a pre-shipment test. However, if the error bits corresponding to the number of correctable bits are corrected in the process, there is a problem that the error bits increased after the process (for example, the error bits increased after shipment) cannot be corrected.
1つの側面では、本発明は、増加したエラービットを訂正可能とする半導体記憶装置を提供することを目的とする。 In one aspect, it is an object of the present invention to provide a semiconductor storage device capable of correcting an increased error bit.
1つの実施態様では、第1のビット数のライトデータと、第2のビット数の第1のデータとに基づいて、第3のビット数を上限とした複数ビットのエラー検出及び訂正に対応した符号の第1の検査ビットを生成する検査ビット生成回路と、前記ライトデータと、前記第1の検査ビットとを記憶するメモリセル部と、設定信号に基づいて設定される動作状態が第1の状態のときに、前記第1のデータに対して少なくとも1ビットの値が異なる第2のデータを出力し、前記動作状態が第2の状態のときに、前記第2のデータよりも前記第1のデータに対して値が異なるビット数が少ない第3のデータを出力する設定回路と、前記ライトデータに対応しており前記メモリセル部から読み出された第1のリードデータと、前記設定回路が出力する前記第2のデータまたは前記第3のデータと、に基づいて前記符号の第2の検査ビットを生成し、前記第1の検査ビットに対応しており前記メモリセル部から読み出された第3の検査ビットと、前記第2の検査ビットと、に基づいてエラービットを検出し、検出結果を出力するエラー検出回路と、前記検出結果に基づいて、前記エラービットのうち、少なくとも前記第1のリードデータに含まれる第1のエラービットを訂正するエラー訂正回路と、を有する半導体記憶装置が提供される。 In one embodiment, a plurality of bits of error detection and correction up to a third bit number are supported based on the write data of the first bit number and the first data of the second bit number. The inspection bit generation circuit that generates the first inspection bit of the code, the memory cell unit that stores the write data and the first inspection bit, and the operating state set based on the set signal are the first. In the state, the second data having a value different from the first data by at least one bit is output, and when the operating state is the second state, the first data is higher than the second data. A setting circuit that outputs a third data having a different value from the data of the above and a small number of bits, a first read data corresponding to the write data and read from the memory cell unit, and the setting circuit. Generates the second inspection bit of the code based on the second data or the third data output by, and corresponds to the first inspection bit and is read from the memory cell unit. An error detection circuit that detects an error bit based on the third inspection bit and the second inspection bit and outputs a detection result, and at least the above error bits based on the detection result. Provided is a semiconductor storage device including an error correction circuit that corrects a first error bit included in the first read data.
1つの側面では、本発明は、増加したエラービットの訂正が可能となる。 In one aspect, the invention allows for correction of increased error bits.
以下、発明を実施するための形態を、図面を参照しつつ説明する。
(第1の実施の形態)
図1は、第1の実施の形態の半導体記憶装置の一例を示す図である。
Hereinafter, embodiments for carrying out the invention will be described with reference to the drawings.
(First Embodiment)
FIG. 1 is a diagram showing an example of a semiconductor storage device according to the first embodiment.
半導体記憶装置10は、データ入出力部11、仮想データ設定回路12、検査ビット生成回路13、メモリセル部14、試験モード設定回路15、エラー検出回路16、エラー訂正回路17を有する。仮想データ設定回路12、検査ビット生成回路13、メモリセル部14、試験モード設定回路15、エラー検出回路16、エラー訂正回路17は、ECC回路として機能する。なお、図1では、メモリセル部14へのアドレスの指定を受け付ける部分や、書き込みコマンドや読み出しコマンドを受け付ける部分、アドレスに応じてメモリセルを選択する回路、書き込み回路や読み出し回路などについては、図示が省略されている。
The
データ入出力部11は、メモリセル部14へ書き込まれるライトデータwdを半導体記憶装置10の外部から受け、メモリセル部14から読み出され、エラー訂正されたリードデータrdaを半導体記憶装置10の外部へ出力する。
The data input /
仮想データ設定回路12は、検査ビット生成回路13に、ライトデータwdに付加される所定のビット数のデータ(以下仮想データと呼ぶ)18aを供給する。図1の例では、仮想データ18aは、各ビットの値が0の4ビット値(0000)である。
The virtual
検査ビット生成回路13は、所定のビット数のライトデータwdと、仮想データ18aとに基づいて、所定のビット数を上限とした複数ビットのエラー検出及び訂正に対応した符号の検査ビットwpbを生成する。複数ビットのエラー検出及び訂正に対応した符号として、ゴレイ符号やBCH符号などがある。なお、ライトデータwdは、たとえば、1バイト(8ビット)単位でメモリセル部14に書き込まれる。
The inspection
たとえば、検査ビット生成回路13が3ビットを上限としたエラー検出及び訂正に対応したゴレイ符号の検査ビットwpbを生成する場合、8ビットのライトデータwdと4ビットの仮想データ18aから、12ビットの検査ビットwpbを生成する。
For example, when the inspection
メモリセル部14は、ライトデータwdと、検査ビットwpbとを記憶する。図1の例では、検査ビットwpbは、メモリセル部14の検査ビット記憶部14aに書き込まれ、ライトデータwdは、メモリセル部14のデータ記憶部14bに書き込まれる。メモリセル部14には、たとえば、図示しない複数のメモリセルがアレイ状に配置されている。メモリセルは、MRAMセルや、FeRAM(Ferroelectric Random Access Memory)セル、DRAM(Dynamic Random Access Memory)セルなどの記憶素子である。
The
試験モード設定回路15は、設定信号setに基づいて設定される動作状態が第1の状態のとき、仮想データ18aに対して少なくとも1ビットの値が異なる仮想データ18bを出力する。また、試験モード設定回路15は、動作状態が第2の状態のとき、仮想データ18bよりも仮想データ18aに対して値が異なるビット数が少ない仮想データ18cを出力する。設定信号setは、たとえば、図示しない制御回路または、半導体記憶装置10の外部から供給される。
The test mode setting
図1の例では、仮想データ18bは、仮想データ18aの最下位ビットが反転された4ビット値(0001)であり、仮想データ18cは、仮想データ18aと同じ4ビット値(0000)である。たとえば、意図的にエラーを発生させる場合には第1の状態が試験モード設定回路15に設定され、意図的なエラーを発生させない場合には第2の状態が試験モード設定回路15に供給される。
In the example of FIG. 1, the
エラー検出回路16は、試験モード設定回路15が出力する仮想データ18bまたは仮想データ18cと、メモリセル部14から読み出されたリードデータrd(ライトデータwdに対応している)とに基づいて上記の符号の検査ビットを生成する。そして、エラー検出回路16は、その検査ビットと検査ビット記憶部14aから読み出された検査ビットrpbとに基づいてエラービットを検出し、検出結果を出力する。
The
なお、リードデータrdは、ライトデータwdに対応しており、エラービットがなければ、ライトデータwdと同じ値である。また、検査ビットrpbは、検査ビットwpbに対応しており、エラービットがなければ、検査ビットwpbと同じ値である。 The read data rd corresponds to the write data wd, and if there is no error bit, the read data rd has the same value as the write data wd. Further, the inspection bit rpb corresponds to the inspection bit wpb, and if there is no error bit, the inspection bit rpb has the same value as the inspection bit wpb.
エラー訂正回路17は、エラー検出回路16が出力する検出結果に基づいて、エラービットのうち、リードデータrdに含まれるエラービットを訂正する。図1の例では、エラー訂正回路17は、リードデータrdを受けて、リードデータrdのエラービットを訂正したリードデータrdaを出力している。
The
なお、エラー訂正回路17は、検査ビットrpbを受けて、検査ビットrpbのエラービットを訂正し、出力してもよい。
以下、第1の実施の形態の半導体記憶装置10の動作の一例を説明する。
The
Hereinafter, an example of the operation of the
なお、以下では、検査ビット生成回路13は、3ビットのエラー検出及び訂正可能な符号の検査ビットwpbを生成するものとして説明する。
たとえば、半導体記憶装置10に対する出荷前試験時において、設定信号setに基づいて第1の状態が試験モード設定回路15に設定される場合、エラー検出回路16には、仮想データ18bが供給される。
In the following description, the inspection
For example, in the pre-shipment test for the
このとき、エラー検出回路16は、仮想データ18bとリードデータrdとに基づいて上記の符号の検査ビットを生成する。そして、エラー検出回路16は生成した検査ビットと、検査ビット記憶部14aから読み出された検査ビットrpbとに基づいてエラービットを検出する。
At this time, the
図1の例では、仮想データ18bは、仮想データ18aに対して1ビットの値が異なるため、エラー検出回路16では、少なくとも1ビットのエラービットが検出される。言い換えると、エラー検出回路16は、さらに2ビットのエラービットを検出可能となる。
In the example of FIG. 1, since the
そのため、検査ビットrpbにエラービットがなく、ライトデータwdに対してリードデータrdの2ビットの値が異なる場合(2ビットエラーが発生している場合)、エラー検出回路16は、3ビットのエラービットを検出する。このとき、エラー訂正回路17は、エラー検出回路16が出力する検出結果に基づいて、リードデータrdに含まれる2ビットのエラービットの値を1から0または0から1に反転することでエラー訂正を行う。そして、エラー訂正回路17は、リードデータrdaを出力する。
Therefore, when there is no error bit in the inspection bit rpb and the 2-bit value of the read data rd is different from the write data wd (when a 2-bit error occurs), the
なお、図1に示すような仮想データ18bが用いられ、リードデータrdに3ビット以上のエラービットが含まれる場合、4ビット以上のエラーとなるため、エラー検出回路16ではエラービットが正常には検出されない。これによりエラービットの訂正は正常に行われず、リードデータrdaは、ライトデータwdと異なるものとなり、半導体記憶装置10の不良が検出される。
If the
上記のような半導体記憶装置10の出荷前試験後に、設定信号setに基づいて第2の状態が試験モード設定回路15に設定される場合、エラー検出回路16には、仮想データ18cが供給される。
When the second state is set in the test
このとき、エラー検出回路16は、仮想データ18cとリードデータrdとに基づいて上記の符号の検査ビットを生成する。そして、エラー検出回路16は生成した検査ビットと、検査ビット記憶部14aから読み出された検査ビットrpbとに基づいてエラービットを検出する。
At this time, the
図1の例では、仮想データ18cは、仮想データ18aと同じ値をもつため、エラー検出回路16では、意図的に発生させたエラービットは検出されない。言い換えると、エラー検出回路16は、3ビットのエラービットを検出可能となる。
In the example of FIG. 1, since the
そのため、出荷前試験時に検出された2ビットのエラーに加えてさらに1ビットのエラーが発生した場合でも、エラー検出回路16は、その増加したエラービットを検出できる。たとえば、検査ビットrpbにエラービットがなく、リードデータrdに3ビットのエラービットが生じている場合、エラー訂正回路17は、エラー検出回路16が出力する検出結果に基づいて、その3ビットのエラービットの値を反転することでエラー訂正を行う。そして、エラー訂正回路17は、リードデータrdaを出力する。
Therefore, even if a 1-bit error occurs in addition to the 2-bit error detected during the pre-shipment test, the
このように、第1の実施の形態の半導体記憶装置10によれば、ライトデータwdとメモリセル部14に書き込まれない仮想データ18aとに基づいて検査ビットwpbが生成される。そして、読み出された検査ビットrpbを用いたエラー検出及び訂正時に、仮想データ18b,18cを用いて意図的なエラービット数が設定されることで、リードデータrdに対するエラーの訂正能力(検出し訂正できるエラービットの上限)を変えられる。たとえば、上記のように出荷前試験時には訂正能力を制限し、その後に訂正能力を最大にするなどの変更ができる。これにより、出荷後などに増加するエラービットの訂正が可能になる。
As described above, according to the
なお、上記では、意図的に1ビットエラーを発生させる仮想データ18bを用いた例を説明したが、2ビット以上のエラービットを発生させる仮想データを用いてもよい。その例については後述する。
In the above description, an example using
(第2の実施の形態)
図2は、第2の実施の形態の半導体記憶装置の一例を示す図である。
半導体記憶装置20は、ゴレイ符号を用いてエラー検出及び訂正を行うECC機能を有する。半導体記憶装置20は、データ入出力部21、仮想データ設定回路22、検査ビット生成回路23、メモリセル部24、試験モード設定回路25、エラー検出回路26、エラー訂正回路27を有する。
(Second Embodiment)
FIG. 2 is a diagram showing an example of the semiconductor storage device of the second embodiment.
The semiconductor storage device 20 has an ECC function that detects and corrects errors using the Golay code. The semiconductor storage device 20 includes a data input /
なお、図2では、メモリセル部24へのアドレスの指定を受け付ける部分や、書き込みコマンドや読み出しコマンドを受け付ける部分、アドレスに応じてメモリセルを選択する回路、書き込み回路や読み出し回路などについては、図示が省略されている。
Note that FIG. 2 shows a portion that accepts an address designation to the
データ入出力部21は、メモリセル部24へ8ビット単位で書き込まれるライトデータWDを半導体記憶装置20の外部から受け、メモリセル部24から8ビット単位で読み出され、エラー訂正されたリードデータRDaを半導体記憶装置20の外部へ出力する。
The data input /
仮想データ設定回路22は、検査ビット生成回路23に、ライトデータWDに付加される4ビットの仮想データを供給する。
検査ビット生成回路23は、8ビットのライトデータWDに対して、たとえば、上位側に4ビットの仮想データを付加した12ビットのデータに基づいて、ゴレイ符号の11ビットの検査ビットWPBを生成する。
The virtual
The inspection
メモリセル部24は、ライトデータWDと、検査ビットWPBとを記憶する。図2の例では、検査ビットWPBは、メモリセル部24の検査ビット記憶部24aに書き込まれ、ライトデータWDは、メモリセル部24のデータ記憶部24bに書き込まれる。メモリセル部24には、たとえば、図示しない複数のメモリセルがアレイ状に配置されている。メモリセルは、MRAMセルや、FeRAMセル、DRAMセルなどの記憶素子である。各メモリセルは、半導体記憶装置20の図示しないアドレス端子または、図示しない制御回路から供給されるアドレスによって指定される。そして、指定されたメモリセルから図示しない読み出し回路によってデータが読み出される、または指定されたメモリセルに図示しない書き込み回路によってデータが書き込まれる。
The
試験モード設定回路25は、設定信号seta,setb,setcを受ける。設定信号seta〜setcは、たとえば、図示しない制御回路または、半導体記憶装置20の外部から供給される。この設定信号seta〜setcの値に基づいて、動作状態として4つの状態(試験モード)の何れかが、試験モード設定回路25に設定される。そして、試験モード設定回路25は、設定された試験モードに対応付けられた4ビットの仮想データを出力する。
The test
設定信号seta〜setcのそれぞれは、たとえば、0または1の1ビット値である。その場合、設定信号seta〜setcのそれぞれは、3ビットの設定信号の各ビット値に対応しているとみなすこともできる。3ビットの設定信号は、設定信号seta〜setcの値に応じた複数の値をもつ。そして、その複数の値のそれぞれは、仮想データ設定回路22が出力する仮想データに対して異なるビット数がそれぞれ異なる複数の仮想データの何れか1つに対応付けられている。
Each of the setting signals seta to setc is, for example, a 1-bit value of 0 or 1. In that case, each of the setting signals seta to setc can be considered to correspond to each bit value of the 3-bit setting signal. The 3-bit setting signal has a plurality of values according to the values of the setting signals seta to setc. Each of the plurality of values is associated with any one of the plurality of virtual data having different numbers of bits with respect to the virtual data output by the virtual
図2には、設定信号seta〜setcによる3ビット値と仮想データとの対応関係の一例が示されている。たとえば、仮想データ設定回路22が出力する仮想データが“0000”である場合、設定信号setaが1、設定信号setb,setcが0である3ビット値は、仮想データ“0001”に対応付けられている。また、設定信号setbが1、設定信号seta,setcが0である3ビット値は、仮想データ“0011”に対応付けられている。また、設定信号setcが1、設定信号seta,setbが0である3ビット値は、仮想データ“0111”に対応付けられている。また、設定信号seta〜setcが全て0である3ビット値は、仮想データ“0000”に対応付けられている。なお、ゴレイ符号でエラー検出及び訂正が可能であるのは23ビット当たり3ビットまでであるため、試験モード設定回路25が出力する仮想データの最上位ビットは0で固定であるものとする。
FIG. 2 shows an example of the correspondence between the 3-bit value by the setting signals seta to setc and the virtual data. For example, when the virtual data output by the virtual
試験モード設定回路25は、上記のような4種類の3ビット値のうちの1つの値を受け、複数の仮想データのうち、その1つの値に対応付けられた仮想データを選択して出力する。
The test
以下上記4つの試験モード(4種類の仮想データの何れかを出力する動作状態)を、第1試験モード、第2試験モード、第3試験モード、通常モードという。
第1試験モードは、意図的に1ビットエラーを発生させる試験モードである。第1試験モードでは、試験モード設定回路25は、仮想データ設定回路22が出力する仮想データに対して1ビットの値が異なる仮想データを出力する。
Hereinafter, the above four test modes (operating states for outputting any of the four types of virtual data) are referred to as a first test mode, a second test mode, a third test mode, and a normal mode.
The first test mode is a test mode in which a 1-bit error is intentionally generated. In the first test mode, the test
第2試験モードは、意図的に2ビットエラーを発生させる試験モードである。第2試験モードでは、試験モード設定回路25は、仮想データ設定回路22が出力する仮想データに対して2ビットの値が異なる仮想データを出力する。
The second test mode is a test mode in which a 2-bit error is intentionally generated. In the second test mode, the test
第3試験モードは、意図的に3ビットエラーを発生させる試験モードである。第3試験モードでは、試験モード設定回路25は、仮想データ設定回路22が出力する仮想データに対して3ビットの値が異なる仮想データを出力する。
The third test mode is a test mode in which a 3-bit error is intentionally generated. In the third test mode, the test
通常モードは、意図的なビットエラーを発生させない試験モードである。通常モードでは、試験モード設定回路25は、仮想データ設定回路22が出力する仮想データと同じ値の仮想データを出力する。
The normal mode is a test mode in which an intentional bit error does not occur. In the normal mode, the test
たとえば、設定信号setaが1、設定信号setb,setcが0のときは、第1試験モードが設定され、設定信号setbが1、設定信号seta,setcが0のときは、第2試験モードが設定される。また、設定信号setcが1、設定信号seta,setbが0のときは、第3試験モードが設定され、設定信号seta〜setcが全て0のときは、通常モードが設定される。 For example, when the setting signal seta is 1 and the setting signals setb and setc are 0, the first test mode is set, and when the setting signal setb is 1 and the setting signals seta and setc are 0, the second test mode is set. Will be done. When the setting signal setc is 1 and the setting signals seta and setb are 0, the third test mode is set, and when the setting signals seta to setc are all 0, the normal mode is set.
エラー検出回路26は、試験モード設定回路25が出力する仮想データと、メモリセル部24から読み出されたリードデータRDとに基づいてゴレイ符号の検査ビットを生成する。そして、エラー検出回路26は、その検査ビットと検査ビット記憶部24aから読み出された検査ビットRPBとに基づいてエラービットを検出し、その検出結果に基づいてエラー信号を出力する。
The
なお、リードデータRDは、ライトデータWDに対応しており、エラービットがなければ、ライトデータWDと同じ値である。また、検査ビットRPBは、検査ビットWPBに対応しており、エラービットがなければ、検査ビットWPBと同じ値である。 The read data RD corresponds to the write data WD, and if there is no error bit, the read data RD has the same value as the write data WD. Further, the inspection bit RPB corresponds to the inspection bit WPB, and if there is no error bit, the inspection bit RPB has the same value as the inspection bit WPB.
エラー検出回路26は、シンドローム生成回路26a、シンドロームデコーダ26b、仮想データエラー検出回路26c、エラー信号出力回路26dを有する。
シンドローム生成回路26aは、8ビットのリードデータRDと試験モード設定回路25から供給される4ビットの仮想データとに基づいて、ゴレイ符号の検査ビットを生成する。そしてシンドローム生成回路26aは、生成した検査ビットと検査ビットRPBとに基づいてシンドロームを生成し、出力する。
The
The
シンドロームデコーダ26bは、シンドロームをデコードし、エラービットの検出結果を出力する。
仮想データエラー検出回路26cは、シンドロームデコーダ26bが出力するエラービットの検出結果と、設定信号seta〜setcとに基づいて、試験モード設定回路25が出力する仮想データに意図しないエラーが生じているか否かを検出する。
The
The virtual data
エラー信号出力回路26dは、シンドロームデコーダ26bが出力するエラービットの検出結果と、仮想データエラー検出回路26cによる仮想データのエラーの検出結果とに基づいて、エラー信号を出力する。
The error
エラー訂正回路27は、エラー検出回路26が出力するエラー信号に基づいて、リードデータRD、検査ビットRPB、仮想データに含まれるエラービットを訂正する。図2の例では、エラー訂正回路27は、リードデータRDと検査ビットRPBと仮想データを受けて、それらのエラービットを訂正したリードデータRDa、検査ビットRPBa、仮想データVDaを出力している。なお、検査ビットRPBa、仮想データVDaは、データ入出力部21には送られない。つまり、半導体記憶装置20の外部には出力されない。
The
(ゴレイ符号に用いられる11ビットのデータパターンと、検査ビットWPBの生成方法)
ゴレイ符号では、12ビットのデータの各ビットに、以下に示すような11ビットのデータパターンが対応付けられている。
(11-bit data pattern used for Golay code and method of generating inspection bit WPB)
In the Golay code, each bit of the 12-bit data is associated with an 11-bit data pattern as shown below.
図3は、12ビットのデータの各ビットに対応付けられたゴレイ符号の11ビットのデータパターンを示す図である。
たとえば、ビットD<0>には、“10001110101”の11ビットが対応付けられており、ビットD<11>には、“11000111010”の11ビットが対応付けられている。
FIG. 3 is a diagram showing an 11-bit data pattern of the Golay code associated with each bit of the 12-bit data.
For example, bit D <0> is associated with 11 bits of “100001110101”, and bit D <11> is associated with 11 bits of “11000111010”.
以下、図3のビットD<0>〜D<11>のうち、たとえば、下位8ビットであるビットD<0>〜D<7>が、第2の実施の形態の半導体記憶装置20における8ビットのライトデータWDに対応するものとする。また、図3のビットD<0>〜D<11>のうち、上位4ビットであるビットD<8>〜D<11>が、第2の実施の形態の半導体記憶装置20において、仮想データ設定回路22が出力する4ビットの仮想データに対応するものとする。
Hereinafter, among the bits D <0> to D <11> in FIG. 3, for example, the lower 8 bits D <0> to D <7> are 8 in the semiconductor storage device 20 of the second embodiment. It shall correspond to the bit write data WD. Further, among the bits D <0> to D <11> in FIG. 3, the upper four bits D <8> to D <11> are virtual data in the semiconductor storage device 20 of the second embodiment. It corresponds to the 4-bit virtual data output by the setting
また、ビットD<0>〜D<11>のそれぞれに対応付けられた上記の11ビットのデータパターンの各ビットは、図3に示されているように、検査ビットWPBのビットP<0>〜P<10>のそれぞれに対応付けられているものとする。 Further, as shown in FIG. 3, each bit of the above 11-bit data pattern associated with each of the bits D <0> to D <11> is the bit P <0> of the inspection bit WPB. It is assumed that they are associated with each of ~ P <10>.
検査ビットWPBのビットP<0>〜P<10>のそれぞれは、ビットD<0>〜D<11>のうち、上記11ビットのデータパターンにおいて“1”となっているビットの値を排他的論理和演算(以下XOR演算という)することで得られる。 Each of the inspection bits WPB bits P <0> to P <10> excludes the value of the bit D <0> to D <11> that is "1" in the above 11-bit data pattern. It can be obtained by performing an exclusive OR operation (hereinafter referred to as XOR operation).
たとえば、ビットP<0>の値は、ビットD<0>〜D<4>,D<7>,D<10>の値をXOR演算することで得られる。ビットP<10>の値は、ビットD<0>〜D<3>,D<6>,D<9>,D<11>の値をXOR演算することで得られる。ビットP<0>〜P<10>の何れの値も、ビットD<0>〜D<11>のうちの7つの値をXOR演算することで得られる。 For example, the value of bit P <0> can be obtained by XORing the values of bits D <0> to D <4>, D <7>, and D <10>. The value of the bit P <10> can be obtained by XORing the values of the bits D <0> to D <3>, D <6>, D <9>, and D <11>. Any value of bits P <0> to P <10> can be obtained by XORing seven values of bits D <0> to D <11>.
すなわち、検査ビット生成回路23として、7入力1出力のXOR演算を行うXOR回路を用いることで、検査ビットWPBを生成することができる。
図4は、7入力1出力のXOR演算を行うXOR回路の一例を示す図である。
That is, the inspection bit WPB can be generated by using the XOR circuit that performs the XOR calculation of 7 inputs and 1 output as the inspection
FIG. 4 is a diagram showing an example of an XOR circuit that performs an XOR operation with 7 inputs and 1 output.
7入力1出力のXOR演算を行うXOR回路23aは、6つの2入力1出力のXOR演算を行うXOR回路23a1,23a2,23a3,23a4,23a5,23a6により実現可能である。
The
XOR回路23a1は、入力値in1と入力値in2とのXOR演算を行う。XOR回路23a2は、入力値in3と入力値in4とのXOR演算を行う。XOR回路23a3は、入力値in5と入力値in6とのXOR演算を行う。XOR回路23a4は、XOR回路23a1の出力値と、XOR回路23a2の出力値とのXOR演算を行う。XOR回路23a5は、入力値in7とXOR回路23a3の出力値とのXOR演算を行う。XOR回路23a6は、XOR回路23a4の出力値とXOR回路23a5の出力値とのXOR演算を行う。XOR回路23a6の出力値が、7入力1出力のXOR回路23aの出力値outとなる。
The XOR circuit 23a1 performs an XOR operation on the input value in1 and the input value in2. The XOR circuit 23a2 performs an XOR operation on the input value in3 and the input value in4. The XOR circuit 23a3 performs an XOR operation on the input value in5 and the input value in6. The XOR circuit 23a4 performs an XOR operation on the output value of the XOR circuit 23a1 and the output value of the XOR circuit 23a2. The XOR circuit 23a5 performs an XOR operation on the input value in7 and the output value of the XOR circuit 23a3. The XOR circuit 23a6 performs an XOR operation on the output value of the XOR circuit 23a4 and the output value of the XOR circuit 23a5. The output value of the XOR circuit 23a6 becomes the output value out of the
図5は、7入力1出力のXOR演算回路の各入力とデータビットと出力される検査ビットとの対応関係を示す図である。
たとえば、入力値in1〜in7として、図3に示したデータのビットD<0>〜D<4>,D<7>,D<10>の値を用いることで、出力値outとして、ビットP<0>が得られる。また、入力値in1〜in7として、図3に示したデータのビットD<0>〜D<3>,D<6>,D<9>,D<11>の値を用いることで、ビットP<10>の値が得られる。
FIG. 5 is a diagram showing the correspondence between each input of the 7-input / 1-output XOR arithmetic circuit, the data bit, and the output inspection bit.
For example, by using the values of the data bits D <0> to D <4>, D <7>, and D <10> shown in FIG. 3 as the input values in1 to in7, the bit P is used as the output value out. <0> is obtained. Further, by using the values of the data bits D <0> to D <3>, D <6>, D <9>, and D <11> shown in FIG. 3 as the input values in1 to in7, the bit P The value of <10> is obtained.
図5に示すようなビットP<0>〜P<10>を全て同時に生成するためには、11個の7入力1出力のXOR回路を用いればよい。
(シンドロームの生成方法)
図6は、12ビットのデータと11ビットの検査ビットの各ビットに対応付けられたゴレイ符号の11ビットのデータパターンを示す図である。
In order to generate all the bits P <0> to P <10> as shown in FIG. 5 at the same time, an XOR circuit having 11 7 inputs and 1 output may be used.
(Syndrome generation method)
FIG. 6 is a diagram showing an 11-bit data pattern of the Golay code associated with each bit of the 12-bit data and the 11-bit inspection bit.
ビットp<0>〜p<10>は、検査ビット記憶部24aから読み出された検査ビットRPBのビットに対応している。
たとえば、ビットp<0>には、“00000000001”の11ビットが対応付けられており、ビットp<10>には、“10000000000”の11ビットが対応付けられている。
The bits p <0> to p <10> correspond to the bits of the inspection bit RPB read from the inspection bit storage unit 24a.
For example, the bit p <0> is associated with 11 bits of “0000000000001”, and the bit p <10> is associated with 11 bits of “10000000000000”.
ビットd<0>〜d<11>は、8ビットのリードデータRDと、試験モード設定回路25から供給される4ビットの仮想データのビットである。ビットd<0>〜d<11>のうち、たとえば、下位8ビットであるビットd<0>〜d<7>がリードデータRDに対応しており、上位4ビットであるビットd<8>〜d<11>が仮想データに対応している。
The bits d <0> to d <11> are 8-bit read data RD and 4-bit virtual data bits supplied from the test
ビットd<0>〜d<11>のそれぞれに対応付けられているデータパターンは、図3に示したビットD<0>〜D<11>のそれぞれに対応付けられているデータパターンと同じである。 The data pattern associated with each of the bits d <0> to d <11> is the same as the data pattern associated with each of the bits D <0> to D <11> shown in FIG. is there.
さらに、ビットd<0>〜d<11>,p<0>〜p<10>のそれぞれに対応付けられた上記の11ビットのデータパターンの各ビットは、11ビットのシンドロームのビットS<0>〜S<10>のそれぞれに対応付けられている。シンドロームのビットS<0>〜S<10>のそれぞれは、ビットd<0>〜d<11>,p<0>〜p<10>のうち、上記11ビットのデータパターンにおいて“1”となっているビットの値をXOR演算することで得られる。 Further, each bit of the above 11-bit data pattern associated with each of the bits d <0> to d <11> and p <0> to p <10> is a bit S <0 of the 11-bit syndrome. > To S <10> are associated with each other. Each of the bits S <0> to S <10> of the syndrome is set to "1" in the above 11-bit data pattern among the bits d <0> to d <11> and p <0> to p <10>. It can be obtained by XORing the value of the bit that has become.
たとえば、ビットS<0>の値は、ビットd<0>〜d<4>,d<7>,d<10>,p<0>の値をXOR演算することで得られる。ビットS<10>の値は、ビットd<0>〜d<3>,d<6>,d<9>,d<11>,p<10>の値をXOR演算することで得られる。ビットS<0>〜S<10>の何れの値も、ビットd<0>〜d<11>,p<0>〜p<10>のうちの8つの値をXOR演算することで得られる。 For example, the value of bit S <0> can be obtained by XORing the values of bits d <0> to d <4>, d <7>, d <10>, and p <0>. The value of bit S <10> can be obtained by XORing the values of bits d <0> to d <3>, d <6>, d <9>, d <11>, and p <10>. Any value of bits S <0> to S <10> can be obtained by XORing eight values of bits d <0> to d <11> and p <0> to p <10>. ..
すなわち、シンドローム生成回路26aとして、8入力1出力のXOR演算を行うXOR回路を用いることで、シンドロームを生成することができる。
図7は、8入力1出力のXOR演算を行うXOR回路の一例を示す図である。
That is, the syndrome can be generated by using the XOR circuit that performs the XOR operation of 8 inputs and 1 output as the
FIG. 7 is a diagram showing an example of an XOR circuit that performs an XOR operation with 8 inputs and 1 output.
8入力1出力のXOR演算を行うXOR回路26a1は、7入力1出力のXOR演算を行うXOR回路26a2と、2入力1出力のXOR演算を行うXOR回路26a3により実現可能である。 The XOR circuit 26a1 that performs the XOR calculation of 8 inputs and 1 output can be realized by the XOR circuit 26a2 that performs the XOR calculation of 7 inputs and 1 output and the XOR circuit 26a3 that performs the XOR calculation of 2 inputs and 1 output.
XOR回路26a2は、入力値IN1,IN2,IN3,IN4,IN5,IN6,IN7のXOR演算を行う。XOR回路26a2の出力は、リードデータRDに基づいて生成された1ビットの検査ビットPBに相当する。XOR回路26a2の回路構成は、図4に示したXOR回路23aと同じである。
The XOR circuit 26a2 performs an XOR operation on the input values IN1, IN2, IN3, IN4, IN5, IN6, IN7. The output of the XOR circuit 26a2 corresponds to a 1-bit inspection bit PB generated based on the read data RD. The circuit configuration of the XOR circuit 26a2 is the same as that of the
XOR回路26a3は、入力値IN0と検査ビットPBとのXOR演算を行う。XOR回路26a3の出力が、8入力1出力のXOR回路26a1の出力値OUT(すなわちシンドロームの1ビット)となる。 The XOR circuit 26a3 performs an XOR operation between the input value IN0 and the inspection bit PB. The output of the XOR circuit 26a3 becomes the output value OUT (that is, 1 bit of the syndrome) of the XOR circuit 26a1 having 8 inputs and 1 output.
図8は、8入力1出力のXOR演算回路の各入力とリードデータ及び読み出された検査ビットの各ビットと、出力されるシンドロームの各ビットとの対応関係を示す図である。
たとえば、入力値IN0〜IN7として、図6に示したビットp<0>,d<0>〜d<4>,d<7>,d<10>の値を用いることで、出力値OUTとして、ビットS<0>が得られる。また、入力値IN0〜IN7として、図6に示したビットp<10>,d<0>〜d<3>,d<6>,d<9>,d<11>の値を用いることで、ビットS<10>の値が得られる。
FIG. 8 is a diagram showing the correspondence between each input of the XOR arithmetic circuit having 8 inputs and 1 output, each bit of the read data and the read inspection bit, and each bit of the output syndrome.
For example, by using the values of bits p <0>, d <0> to d <4>, d <7>, and d <10> shown in FIG. 6 as the input values IN0 to IN7, the output value OUT can be set. , Bit S <0> is obtained. Further, by using the values of bits p <10>, d <0> to d <3>, d <6>, d <9>, and d <11> shown in FIG. 6 as the input values IN0 to IN7. , The value of bit S <10> is obtained.
図8に示すようなビットS<0>〜S<10>を全て同時に生成するためには、11個の8入力1出力のXOR回路を用いればよい。
(シンドロームデコーダ26bによるエラービットの検出方法)
シンドローム生成回路26aが出力する11ビットのシンドロームによって、2048通りのエラービットの検出結果が表せる。シンドロームデコーダ26bは、シンドロームをデコードし、エラービットの検出結果を出力する。
In order to generate all the bits S <0> to S <10> as shown in FIG. 8 at the same time, 11 XOR circuits with 8 inputs and 1 output may be used.
(Method of detecting error bit by
The 11-bit syndrome output by the
図9は、シンドロームに基づくデコード信号とエラービットとの対応関係を示す図である。
シンドロームデコーダ26bは、11ビットのシンドロームに基づいて、デコード信号SO<*>を生成する。“*”は、11ビットのシンドロームを10進数で表した値である。たとえば、ビットS<0>〜S<10>が全て0であれば、*=0であり、ビットS<0>が1でビットS<1>〜S<10>が0であれば、*=1であり、ビットS<0>〜S<10>が全て1であれば、*=2047である。
FIG. 9 is a diagram showing the correspondence between the decoded signal based on the syndrome and the error bit.
The
シンドロームデコーダ26bは、シンドロームに基づいて、何れか1つが1となり、他が0となるデコード信号SO<0>〜SO<2047>を生成する。そしてシンドロームデコーダ26bは、デコード信号SO<0>〜SO<2047>に基づいて、エラービットの検出結果を出力する。図9において、ビットd<0>〜d<11>,p<0>〜p<10>のうち、黒い四角のマークが付されたビットが、デコード信号SO<0>〜SO<2047>が示すエラービットである。
The
たとえば、デコード信号SO<15>が1となる場合、ビットd<3>,d<6>,p<5>がエラービットであることが示される。また、デコード信号SO<0>が1となる場合、エラービットがないことが示される。 For example, when the decode signal SO <15> is 1, it is indicated that the bits d <3>, d <6>, and p <5> are error bits. When the decode signal SO <0> is 1, it is indicated that there is no error bit.
図10は、シンドロームデコーダの一例を示す図である。図10では、シンドロームデコーダ26bの一部が示されている。
シンドロームデコーダ26bは、デコード信号生成回路30、複数のトランジスタ(たとえば、トランジスタ31a,31b,31c,31d,31e,31f,31g,31h,31i,31j,31k,31l,31m,31n,31o)を有する。さらにシンドロームデコーダ26bは、wired−OR型の信号バス32a1〜32a23、エラー訂正フラグ出力回路33a1〜33a23を有する。
FIG. 10 is a diagram showing an example of a syndrome decoder. In FIG. 10, a part of the
The
デコード信号生成回路30は、タイミング信号time(たとえば、クロック信号)が1になるタイミングで、シンドロームのビットS<0>〜S<10>の値に基づいて、デコード信号SO<0>〜SO<2047>を出力する論理回路である。なお、デコード信号生成回路30は、タイミング信号timeが0になるタイミングで、デコード信号SO<0>〜SO<2047>を全て0にリセットする。
The decode
複数のトランジスタは、nチャネル型MOSFET(Metal-Oxide Semiconductor Field Effect Transistor)である。複数のトランジスタのそれぞれのゲートには、デコード信号SO<1>〜SO<2047>の何れかが供給され、複数のトランジスタのそれぞれのドレインは、信号バス32a1〜32a23の何れかに接続されている。また複数のトランジスタのそれぞれのソースは接地されている(基準電位(たとえば、0V)となっている)。 The plurality of transistors are n-channel MOSFETs (Metal-Oxide Semiconductor Field Effect Transistors). One of the decoded signals SO <1> to SO <2047> is supplied to each gate of the plurality of transistors, and the drain of each of the plurality of transistors is connected to any of the signal buses 32a1 to 22a23. .. Further, each source of the plurality of transistors is grounded (at a reference potential (for example, 0V)).
たとえば、トランジスタ31aのゲートには、デコード信号SO<1>が供給され、トランジスタ31aのドレインは、信号バス32a13に接続されている。また、トランジスタ31f,31gのゲートには、デコード信号SO<5>が供給され、トランジスタ31fのドレインは、信号バス32a13に接続され、トランジスタ31gのドレインは、信号バス32a15に接続されている。
For example, the decode signal SO <1> is supplied to the gate of the
信号バス32a1〜32a23のそれぞれは、エラー訂正フラグ出力回路33a1〜33a23のうち対応する1つに接続されている。たとえば、信号バス32a1は、エラー訂正フラグ出力回路33a1に接続され、信号バス32a23は、エラー訂正フラグ出力回路33a23に接続されている。以下信号バス32a1〜32a23を伝搬する信号を信号ebd<0>〜ebd<11>,ebp<0>〜ebp<10>という。 Each of the signal buses 32a1 to 22a23 is connected to the corresponding one of the error correction flag output circuits 33a1 to 23a23. For example, the signal bus 32a1 is connected to the error correction flag output circuit 33a1, and the signal bus 32a23 is connected to the error correction flag output circuit 33a23. Hereinafter, the signals propagating on the signal buses 32a1 to 22a23 are referred to as signals edb <0> to ebd <11> and ebp <0> to ebp <10>.
エラー訂正フラグ出力回路33a1〜33a23は、信号ebd<0>〜ebd<11>,ebp<0>〜ebp<10>に基づいて、エラービットの検出結果として、エラー訂正フラグを出力する。 The error correction flag output circuits 33a1 to 33a23 output an error correction flag as an error bit detection result based on the signals ebd <0> to ebd <11> and ebp <0> to ebp <10>.
たとえば、エラー訂正フラグ出力回路33a23は、pチャネル型MOSFETであるトランジスタ33b,33c、インバータ回路33dを有する。なお、トランジスタ33cは、弱トランジスタである。
For example, the error correction flag output circuit 33a23 includes
トランジスタ33b,33cのドレイン及びインバータ回路33dの入力端子は、信号バス32a23に接続されている。トランジスタ33b,33cのソースには、電源電圧が供給される。トランジスタ33bのゲートには、リセット信号rstbが、たとえば、図示しない制御回路から供給され、トランジスタ33cのゲート及びインバータ回路33dの出力端子の電位が、エラー訂正フラグerrpa<10>となる。
The drain of the
図10では図示が省略されているが、エラー訂正フラグ出力回路33a1〜33a23のうち、エラー訂正フラグ出力回路33a23以外についても同様の回路構成となっており、エラー訂正フラグを出力する。以下、エラー訂正フラグ出力回路33a1〜33a23の出力をエラー訂正フラグerrda<0>〜errda<11>,errpa<0>〜errpa<10>という。エラー訂正フラグerrda<0>〜errda<11>は、信号ebd<0>〜ebd<11>に基づいて生成され、エラー訂正フラグerrpa<0>〜errpa<10>は、信号ebp<0>〜ebp<10>に基づいて生成される。 Although not shown in FIG. 10, the same circuit configuration is used for the error correction flag output circuits 33a1 to 33a23 other than the error correction flag output circuits 33a23, and the error correction flag is output. Hereinafter, the outputs of the error correction flag output circuits 33a1 to 33a23 are referred to as error correction flags errda <0> to errda <11> and errpa <0> to errpa <10>. The error correction flags errda <0> to errda <11> are generated based on the signals ebd <0> to ebd <11>, and the error correction flags errpa <0> to errpa <10> are the signals ebp <0> to errpa <10>. Generated based on ebp <10>.
なお、エラー訂正フラグerrda<0>〜errda<11>は、リードデータRD及び試験モード設定回路25から供給される仮想データの、ビットd<0>〜d<11>のエラーの有無を示すものである。エラー訂正フラグerrpa<0>〜errpa<10>は、検査ビットRPBのビットp<0>〜p<10>のエラーの有無を示すものである。リセット信号rstbの電位がH(High)レベルのとき、エラー訂正フラグerrda<0>〜errda<11>,errpa<0>〜errpa<10>のうち、(電位が)Hレベルになるエラー訂正フラグに対応するリードデータRD、仮想データまたは検査ビットRPBのビットがエラービットである。
The error correction flags errda <0> to errda <11> indicate the presence or absence of an error in bits d <0> to d <11> of the read data RD and the virtual data supplied from the test
たとえば、エラー訂正フラグerrda<5>が、Hレベルである場合、リードデータRDのビットd<5>がエラービットである。
なお、デコード信号SO<0>は、エラー訂正フラグerrda<0>〜errda<11>,errpa<0>〜errpa<10>の生成には用いられないが、エラービットの有無を示すために、半導体記憶装置20の外部に出力されるようにしてもよい。
For example, when the error correction flag errda <5> is H level, the bit d <5> of the read data RD is an error bit.
The decode signal SO <0> is not used to generate the error correction flags errda <0> to errda <11> and errpa <0> to errpa <10>, but to indicate the presence or absence of an error bit, It may be output to the outside of the semiconductor storage device 20.
図11は、2ビットエラーが生じている場合のシンドロームデコーダの動作の一例を示すタイミングチャートである。図11には、検査ビットRPBのビットp<0>,p<2>の2ビットにエラーが生じている場合のシンドロームデコーダの動作の一例が示されている。 FIG. 11 is a timing chart showing an example of the operation of the syndrome decoder when a 2-bit error occurs. FIG. 11 shows an example of the operation of the syndrome decoder when an error occurs in the two bits p <0> and p <2> of the inspection bit RPB.
図11には、シンドロームのビットS<0>〜S<10>、リセット信号rstb、タイミング信号time、デコード信号SO<0>〜SO<2047>の時間変化の一例が示されている。さらに、図11には、信号ebd<0>〜ebd<11>,ebp<0>〜ebp<10>、エラー訂正フラグerrda<0>〜errda<11>,errpa<0>〜errpa<10>の時間変化の一例が示されている。 FIG. 11 shows an example of time changes of the syndrome bits S <0> to S <10>, the reset signal rstb, the timing signal time, and the decode signals SO <0> to SO <2047>. Further, in FIG. 11, signals ebd <0> to ebd <11>, ebp <0> to ebp <10>, error correction flags errda <0> to errda <11>, errpa <0> to errpa <10>. An example of the time change of is shown.
初期状態ではリセット信号rstbは、(電位が)L(Low)レベルであり、図10に示したトランジスタ33bがオンし、信号ebp<10>は(電位が)Hレベル、エラー訂正フラグerrpa<10>はLレベルである。同様に信号ebd<0>〜ebd<10>,ebp<0>〜ebp<9>はHレベルであり、エラー訂正フラグerrda<0>〜errda<11>,errpa<0>〜errpa<9>はLレベルである。
In the initial state, the reset signal rstb is at the (potential) L (Low) level, the
なお、たとえば、Hレベルは電源電圧の電位レベルであり、Lレベルは基準電位(たとえば、接地電位)である。Hレベルは、“1”に対応し、Lレベルは、“0”に対応する。 For example, the H level is the potential level of the power supply voltage, and the L level is the reference potential (for example, the ground potential). The H level corresponds to "1" and the L level corresponds to "0".
タイミングt1において、メモリセル部24からリードデータRDと検査ビットRPBが読み出された後、シンドローム生成回路26aでシンドロームが生成される(タイミングt2)。図11の例では、シンドロームのビットS<0>〜S<10>のうち、ビットS<0>,S<2>の値がHレベル(つまり“1”)で、他のビットの値はLレベル(つまり“0”)となっている。
At the timing t1, after the read data RD and the inspection bit RPB are read from the
タイミングt3においてタイミング信号timeがHレベルに立ち上がっている。これによって、シンドロームデコーダ26bのデコード信号生成回路30は、ビットS<0>〜S<10>の値に基づいて、デコード信号SO<0>〜SO<2047>を生成する。図11の例では、タイミングt4において、デコード信号SO<5>だけがHレベルとなり、他はLレベルとなるデコード信号SO<0>〜SO<2047>が生成されている。なお、タイミングt3では、リセット信号rstbもHレベルに立ち上がっている。
At the timing t3, the timing signal time rises to the H level. As a result, the decode
デコード信号SO<5>がHレベルとなるとき、図10に示したシンドロームデコーダ26bにおいて、トランジスタ31f,31gがオンする。したがって、信号バス32a13,32a15が基準電位となり、信号ebp<0>,ebp<2>がLレベルとなる(タイミングt5)。そして、エラー訂正フラグerrpa<0>,errpa<2>がHレベルとなる(タイミングt6)。信号ebp<0>,ebp<2>は、検査ビットRPBのビットp<0>,p<2>に対応している。したがって、シンドロームデコーダ26bから、検査ビットRPBのビットp<0>,p<2>がエラービットであることを示す検出結果が出力されることになる。
When the decode signal SO <5> reaches the H level, the
タイミングt7において、タイミング信号timeがLレベルに立ち下がっている。これによって、デコード信号SO<5>がLレベルになる(タイミングt8)。また、タイミングt9において、リセット信号rstbがLレベルに立ち下がっている。これによって、信号ebp<0>,ebp<2>がHレベルに戻り(タイミングt10)、エラー訂正フラグerrpa<0>,errpa<2>はLレベルに戻る(タイミングt11)。 At the timing t7, the timing signal time falls to the L level. As a result, the decoded signal SO <5> becomes the L level (timing t8). Further, at the timing t9, the reset signal rstb drops to the L level. As a result, the signals ebp <0> and ebp <2> return to the H level (timing t10), and the error correction flags errapa <0> and errapa <2> return to the L level (timing t11).
図12は、4ビットエラーが生じている場合のシンドロームデコーダの動作の一例を示すタイミングチャートである。図12には、検査ビットRPBのビットp<4>,p<5>,p<9>,p<10>の4ビットにエラーが生じている場合の、図11に示した各信号や値の時間変化の一例が示されている。 FIG. 12 is a timing chart showing an example of the operation of the syndrome decoder when a 4-bit error occurs. FIG. 12 shows each signal and value shown in FIG. 11 when an error occurs in 4 bits of the inspection bit RPB bits p <4>, p <5>, p <9>, and p <10>. An example of the time change of is shown.
初期状態ではリセット信号rstbは、Lレベルであり、図11に示したタイミングチャートと同様に、信号ebd<0>〜ebd<10>,ebp<0>〜ebp<10>はHレベルであり、エラー訂正フラグerrda<0>〜errda<11>,errpa<0>〜errpa<10>はLレベルである。 In the initial state, the reset signal rstb is at the L level, and the signals ebd <0> to ebd <10> and ebp <0> to ebp <10> are at the H level, as in the timing chart shown in FIG. The error correction flags errda <0> to errda <11> and errpa <0> to errpa <10> are L levels.
タイミングt20において、メモリセル部24からリードデータRDと検査ビットRPBが読み出された後、シンドローム生成回路26aでシンドロームが生成される(タイミングt21)。図12の例では、シンドロームのビットS<0>〜S<10>のうち、ビットS<10>,S<9>(“S<10:9>”と表記されている)と、ビットS<5>,S<4>(“S<5:4>”と表記されている)の値がHレベル(つまり“1”)となっている。他のビット(“S<8:6>”、“S<3:0>”と表記されている)の値はLレベル(つまり“0”)となっている。
At the timing t20, after the read data RD and the inspection bit RPB are read from the
タイミングt22においてタイミング信号timeがHレベルに立ち上がっている。これによって、シンドロームデコーダ26bのデコード信号生成回路30は、ビットS<0>〜S<10>の値に基づいて、デコード信号SO<0>〜SO<2047>を生成する。図12の例では、タイミングt23において、デコード信号SO<1584>だけがHレベルとなり、他はLレベルとなるデコード信号SO<0>〜SO<2047>が生成されている。なお、タイミングt22では、リセット信号rstbもHレベルに立ち上がっている。
At the timing t22, the timing signal time rises to the H level. As a result, the decode
デコード信号SO<1584>がHレベルとなるとき、図10に示したシンドロームデコーダ26bにおいて、デコード信号SO<1584>に対応した複数のトランジスタ(図示せず)がオンする。これにより、信号ebp<1>,ebp<3>,ebd<11>がLレベルとなる(タイミングt24)。そして、エラー訂正フラグerrpa<1>,errpa<3>,errda<11>がHレベルとなる(タイミングt25)。信号ebp<1>,ebp<3>は、検査ビットRPBのビットp<1>,p<3>に対応している。また、信号ebd<11>は、4ビットの仮想データの最上位ビットであるビットd<11>に対応している。
When the decode signal SO <1584> reaches the H level, a plurality of transistors (not shown) corresponding to the decode signal SO <1584> are turned on in the
したがって、シンドロームデコーダ26bから、検査ビットRPBのビットp<1>,p<3>、仮想データの最上位ビットであるビットd<11>がエラービットであることを示す検出結果が出力されることになる。
Therefore, the
この場合、エラー訂正回路27では、実際にエラーが生じている検査ビットRPBのビットp<4>,p<5>,p<9>,p<10>の4ビットは訂正されず、エラー訂正回路27が誤訂正するビットp<1>,p<3>,d<11>がエラーとして加わることになる。ビットd<11>は仮想データのビットであるため、外部には出力されない。
In this case, in the
このような4ビットエラーの発生を半導体記憶装置20の外部に通知するために、後述するような仮想データエラー検出回路26cとエラー信号出力回路26dが用いられる。 なお、図12のタイミングt26において、タイミング信号timeがLレベルに立ち下がっている。これによって、デコード信号SO<1584>がLレベルになる(タイミングt27)。また、タイミングt28において、リセット信号rstbがLレベルに立ち下がっている。これによって、信号ebp<1>,ebp<3>,ebd<11>がHレベルに戻り(タイミングt29)、エラー訂正フラグerrpa<1>,errpa<3>,errda<11>はLレベルに戻る(タイミングt30)。
In order to notify the occurrence of such a 4-bit error to the outside of the semiconductor storage device 20, a virtual data
(仮想データエラー検出回路26cとエラー信号出力回路26dの一例)
図13は、仮想データエラー検出回路とエラー信号出力回路の一例を示す図である。
なお、図13の仮想データエラー検出回路26cでは、設定信号setaが1(Hレベル)、設定信号setb,setcが0(Lレベル)のときは、第1試験モードが設定されるものとしている。また、設定信号setbが1、設定信号seta,setcが0のときは、第2試験モードが設定されるものとしている。また、設定信号setcが1、設定信号seta,setbが0のときは、第3試験モードが設定され、設定信号seta〜setcが全て0のときは、通常モードが設定されるものとしている。
(Example of virtual data
FIG. 13 is a diagram showing an example of a virtual data error detection circuit and an error signal output circuit.
In the virtual data
また、図13の仮想データエラー検出回路26cでは、仮想データ設定回路22からライトデータWDに付加される4ビットデータが“0000”、第1試験モードで試験モード設定回路25が出力する仮想データが“0001”であるものとしている。また、第2試験モードで試験モード設定回路25が出力する仮想データが“0011”、第3試験モードで試験モード設定回路25が出力する仮想データが“0111”、通常モードで試験モード設定回路25が出力する仮想データが“0000”であるものとしている。ゴレイ符号でエラー検出及び訂正が可能であるのは23ビット当たり3ビットまでであるため、試験モード設定回路25が出力する仮想データの最上位ビットは0(Lレベル)で固定であるものとしている。
Further, in the virtual data
仮想データエラー検出回路26cは、インバータ回路26c1,26c2,26c3,26c4、NAND回路26c5,26c6,26c7,26c8,26c9,26c10,26c11,26c12を有する。さらに、仮想データエラー検出回路26cは、NOR回路26c13,26c14,26c15,26c16,26c17,26c18を有する。
The virtual data
NOR回路26c13の3つの入力端子には設定信号seta〜setcが供給される。NOR回路26c13の出力端子は、NAND回路26c5の一方の入力端子に接続されている。NAND回路26c5の他方の入力端子には、エラー訂正フラグerrda<11>がインバータ回路26c4を介して供給される。NAND回路26c6の3つの入力端子の1つ目には、エラー訂正フラグerrda<10>がインバータ回路26c3を介して供給され、2つ目には、エラー訂正フラグerrda<9>がインバータ回路26c2を介して供給される。また、3つ目には、エラー訂正フラグerrda<8>がインバータ回路26c1を介して供給される。 The setting signals seta to setc are supplied to the three input terminals of the NOR circuit 26c13. The output terminal of the NOR circuit 26c13 is connected to one input terminal of the NAND circuit 26c5. An error correction flag errda <11> is supplied to the other input terminal of the NAND circuit 26c5 via the inverter circuit 26c4. The error correction flag errda <10> is supplied to the first of the three input terminals of the NAND circuit 26c6 via the inverter circuit 26c3, and the error correction flag errda <9> provides the inverter circuit 26c2 to the second. Supplied through. Thirdly, the error correction flag errda <8> is supplied via the inverter circuit 26c1.
NAND回路26c7の一方の入力端子には、設定信号setaが供給され、他方の入力端子には、エラー訂正フラグerrda<11>がインバータ回路26c4を介して供給される。NAND回路26c8の3つの入力端子の1つ目には、エラー訂正フラグerrda<10>がインバータ回路26c3を介して供給され、2つ目には、エラー訂正フラグerrda<9>がインバータ回路26c2を介して供給される。また、3つ目には、エラー訂正フラグerrda<8>が供給される。 The setting signal seta is supplied to one input terminal of the NAND circuit 26c7, and the error correction flag errda <11> is supplied to the other input terminal via the inverter circuit 26c4. The error correction flag errda <10> is supplied to the first of the three input terminals of the NAND circuit 26c8 via the inverter circuit 26c3, and the error correction flag errda <9> supplies the inverter circuit 26c2 to the second. Supplied through. Thirdly, the error correction flag errda <8> is supplied.
NAND回路26c9の一方の入力端子には、設定信号setbが供給され、他方の入力端子には、エラー訂正フラグerrda<11>がインバータ回路26c4を介して供給される。NAND回路26c10の3つの入力端子の1つ目には、エラー訂正フラグerrda<10>がインバータ回路26c3を介して供給され、2つ目には、エラー訂正フラグerrda<9>が供給される。また、3つ目には、エラー訂正フラグerrda<8>が供給される。 The setting signal setb is supplied to one input terminal of the NAND circuit 26c9, and the error correction flag errda <11> is supplied to the other input terminal via the inverter circuit 26c4. The error correction flag errda <10> is supplied to the first of the three input terminals of the NAND circuit 26c10 via the inverter circuit 26c3, and the error correction flag errda <9> is supplied to the second. Thirdly, the error correction flag errda <8> is supplied.
NAND回路26c11の一方の入力端子には、設定信号setcが供給され、他方の入力端子には、エラー訂正フラグerrda<11>がインバータ回路26c4を介して供給される。NAND回路26c12の3つの入力端子の1つ目には、エラー訂正フラグerrda<10>が供給され、2つ目には、エラー訂正フラグerrda<9>が供給され、3つ目には、エラー訂正フラグerrda<8>が供給される。 The setting signal setc is supplied to one input terminal of the NAND circuit 26c11, and the error correction flag errda <11> is supplied to the other input terminal via the inverter circuit 26c4. The error correction flag errda <10> is supplied to the first of the three input terminals of the NAND circuit 26c12, the error correction flag errda <9> is supplied to the second, and the error is supplied to the third. The correction flag errda <8> is supplied.
NOR回路26c14の一方の入力端子は、NAND回路26c5の出力端子に接続されており、他方の入力端子は、NAND回路26c6の出力端子に接続されている。NOR回路26c15の一方の入力端子は、NAND回路26c7の出力端子に接続されており、他方の入力端子は、NAND回路26c8の出力端子に接続されている。NOR回路26c16の一方の入力端子は、NAND回路26c9の出力端子に接続されており、他方の入力端子は、NAND回路26c10の出力端子に接続されている。NOR回路26c17の一方の入力端子は、NAND回路26c11の出力端子に接続されており、他方の入力端子は、NAND回路26c12の出力端子に接続されている。 One input terminal of the NOR circuit 26c14 is connected to the output terminal of the NAND circuit 26c5, and the other input terminal is connected to the output terminal of the NAND circuit 26c6. One input terminal of the NOR circuit 26c15 is connected to the output terminal of the NAND circuit 26c7, and the other input terminal is connected to the output terminal of the NAND circuit 26c8. One input terminal of the NOR circuit 26c16 is connected to the output terminal of the NAND circuit 26c9, and the other input terminal is connected to the output terminal of the NAND circuit 26c10. One input terminal of the NOR circuit 26c17 is connected to the output terminal of the NAND circuit 26c11, and the other input terminal is connected to the output terminal of the NAND circuit 26c12.
NOR回路26c18の4つの入力端子には、NOR回路26c14〜26c17の出力端子が接続されている。NOR回路26c18の出力端子は、エラー信号出力回路26dに接続されている。
The output terminals of the NOR circuits 26c14 to 26c17 are connected to the four input terminals of the NOR circuit 26c18. The output terminal of the NOR circuit 26c18 is connected to the error
このような仮想データエラー検出回路26cでは、試験モード設定回路25が出力する仮想データに意図しないエラーが生じているか否か(設定信号seta〜setcに対応した仮想データか否か)を検出する。そして、仮想データエラー検出回路26cは、その検出結果を示す仮想データビットエラーフラグerrvdを出力する。仮想データビットエラーフラグerrvdがHレベルのときは、仮想データに意図しないエラーが生じていることを示し、仮想データビットエラーフラグerrvdがLレベルのときは、仮想データに意図しないエラーが生じていないことを示す。
Such a virtual data
たとえば、意図的に1ビットエラーを発生させる試験モードである第1試験モードが設定されている場合、エラー訂正フラグerrda<11>がHレベルであれば、NAND回路26c7の出力信号は、Hレベルとなる。この場合、NOR回路26c15の出力信号は、NAND回路26c8の出力信号の論理レベルにかかわらず、Lレベルになる。第1試験モードの場合、設定信号setb,setcは0であり、NOR回路26c14,26c16,26c17の出力信号はLレベルになる。そのため、NOR回路26c18の出力信号である仮想データビットエラーフラグerrvdは、Hレベルとなる。つまり、仮想データに意図しないエラーが生じていることが検出される。 For example, when the first test mode, which is a test mode for intentionally generating a 1-bit error, is set, if the error correction flag errda <11> is H level, the output signal of the NAND circuit 26c7 is H level. It becomes. In this case, the output signal of the NOR circuit 26c15 becomes the L level regardless of the logic level of the output signal of the NAND circuit 26c8. In the first test mode, the set signals setb and setc are 0, and the output signals of the NOR circuits 26c14, 26c16, and 26c17 are at the L level. Therefore, the virtual data bit error flag errvd, which is the output signal of the NOR circuit 26c18, becomes H level. That is, it is detected that an unintended error has occurred in the virtual data.
エラー訂正フラグerrda<11>は、仮想データの最上位ビットであるビットd<11>に対応している。仮想データの最上位ビットは、前述のように0で固定であるので、ビットd<11>にエラーが生じている場合には、そのエラーは、意図しないエラーである。 The error correction flag errda <11> corresponds to bit d <11>, which is the most significant bit of virtual data. Since the most significant bit of the virtual data is fixed at 0 as described above, when an error occurs in bit d <11>, the error is an unintended error.
エラー訂正フラグerrda<11>がHレベルとなる場合は、試験モードによらず、仮想データビットエラーフラグerrvdは、Hレベルとなる。
一方、第1試験モードが設定されており、エラー訂正フラグerrda<11>がLレベルの場合、NAND回路26c7の出力信号は、Lレベルとなる。この場合、NOR回路26c15の出力信号は、NAND回路26c8の出力信号の論理レベルによって決まる。エラー訂正フラグerrda<8>がHレベルで、エラー訂正フラグerrda<9>,errda<10>がLレベルの場合は、NAND回路26c8の出力信号はLレベルとなり、それ以外の場合は、NAND回路26c8の出力信号はHレベルとなる。
When the error correction flag errda <11> becomes the H level, the virtual data bit error flag errvd becomes the H level regardless of the test mode.
On the other hand, when the first test mode is set and the error correction flag errda <11> is L level, the output signal of the NAND circuit 26c7 becomes L level. In this case, the output signal of the NOR circuit 26c15 is determined by the logic level of the output signal of the NAND circuit 26c8. When the error correction flag errda <8> is H level and the error correction flags errda <9> and errda <10> are L level, the output signal of the NAND circuit 26c8 is L level. In other cases, the NAND circuit The output signal of 26c8 becomes H level.
NAND回路26c8の出力信号がLレベルの場合、NOR回路26c15の出力信号はHレベルとなり、NOR回路26c18の出力信号である仮想データビットエラーフラグerrvdはLレベルとなる。NAND回路26c8の出力信号がHレベルの場合、NOR回路26c15の出力信号はLレベルとなり、NOR回路26c18の出力信号である仮想データビットエラーフラグerrvdはHレベルとなる。つまり、仮想データに意図しないエラーが生じていることが検出される。 When the output signal of the NAND circuit 26c8 is L level, the output signal of the NOR circuit 26c15 is H level, and the virtual data bit error flag errvd which is the output signal of the NOR circuit 26c18 is L level. When the output signal of the NAND circuit 26c8 is H level, the output signal of the NOR circuit 26c15 is L level, and the virtual data bit error flag errvd which is the output signal of the NOR circuit 26c18 is H level. That is, it is detected that an unintended error has occurred in the virtual data.
エラー訂正フラグerrda<9>,errda<10>は、仮想データの2つのビットであるビットd<9>,d<10>に対応している。仮想データのビットd<9>,d<10>は、第1試験モードが設定されている場合には、意図的なエラーを生じさせないビットであるため、ビットd<9>,d<10>にエラーが生じている場合には、そのエラーは、意図しないエラーである。 The error correction flags errda <9> and errda <10> correspond to bits d <9> and d <10>, which are two bits of virtual data. Since the bits d <9> and d <10> of the virtual data are bits that do not cause an intentional error when the first test mode is set, the bits d <9> and d <10> If there is an error in, the error is an unintended error.
エラー信号出力回路26dは、回路部26d1〜26d8,26d9〜26d12,26d13〜26d23を有する。
回路部26d1〜26d23のそれぞれは、OR回路である。図13の例では、NOR回路とインバータ回路とを用いてOR回路が実現されている。たとえば、回路部26d1は、NOR回路26daとインバータ回路26dbを有し、回路部26d9は、NOR回路26dcとインバータ回路26ddを有し、回路部26d13は、NOR回路26deとインバータ回路26dfを有する。
The error
Each of the circuit units 26d1 to 26d23 is an OR circuit. In the example of FIG. 13, the OR circuit is realized by using the NOR circuit and the inverter circuit. For example, the circuit unit 26d1 has a NOR circuit 26da and an inverter circuit 26db, the circuit unit 26d9 has a NOR circuit 26dc and an inverter circuit 26dd, and the circuit unit 26d13 has a NOR circuit 26de and an inverter circuit 26df.
回路部26d1〜26d8のそれぞれは、仮想データビットエラーフラグerrvdと、エラー訂正フラグerrda<0>〜errda<7>の何れか1つとの論理和を、エラー信号errd<0>〜errd<7>の1つとして出力する。 Each of the circuit units 26d1 to 26d8 is ORed with the virtual data bit error flag errvd and any one of the error correction flags errda <0> to errda <7>, and the error signals errd <0> to errd <7>. Output as one of.
たとえば、回路部26d1は、仮想データビットエラーフラグerrvdと、エラー訂正フラグerrda<0>との論理和を、エラー信号errd<0>として出力する。回路部26d8は、仮想データビットエラーフラグerrvdと、エラー訂正フラグerrda<7>との論理和を、エラー信号errd<7>として出力する。 For example, the circuit unit 26d1 outputs the logical sum of the virtual data bit error flag errvd and the error correction flag errda <0> as an error signal errd <0>. The circuit unit 26d8 outputs the logical sum of the virtual data bit error flag errvd and the error correction flag errda <7> as an error signal errd <7>.
回路部26d1〜26d8は、仮想データビットエラーフラグerrvdがHレベルになると、エラー訂正フラグerrda<0>〜errda<7>の値によらず、Hレベルのエラー信号errd<0>〜errd<7>を出力する。 When the virtual data bit error flag errvd becomes H level, the circuit units 26d1 to 26d8 have H level error signals errd <0> to errd <7 regardless of the values of the error correction flags errda <0> to errda <7>. > Is output.
回路部26d9〜26d12のそれぞれは、基準電位(Lレベルの電位)と、エラー訂正フラグerrda<8>〜errda<11>の何れか1つとの論理和を、エラー信号errd<8>〜errd<11>の1つとして出力する。 Each of the circuit units 26d9 to 26d12 is ORed with the reference potential (L level potential) and any one of the error correction flags errda <8> to errda <11>, and the error signals errd <8> to errd < Output as one of 11>.
たとえば、回路部26d9は、基準電位と、エラー訂正フラグerrda<8>との論理和を、エラー信号errd<8>として出力する。回路部26d12は、基準電位と、エラー訂正フラグerrda<11>との論理和を、エラー信号errd<11>として出力する。 For example, the circuit unit 26d9 outputs the logical sum of the reference potential and the error correction flag errda <8> as an error signal errd <8>. The circuit unit 26d12 outputs the logical sum of the reference potential and the error correction flag errda <11> as an error signal errd <11>.
回路部26d9〜26d12は、エラー訂正フラグerrda<8>〜errda<11>のうちHレベルになるものに対応したエラー信号をHレベルとする。たとえば、エラー訂正フラグerrda<8>がHレベルである場合、エラー信号errd<8>がHレベルになる。 The circuit units 26d9 to 26d12 set the error signal corresponding to the error correction flags errda <8> to errda <11> that become the H level as the H level. For example, when the error correction flag errda <8> is H level, the error signal errd <8> becomes H level.
回路部26d13〜26d23のそれぞれは、基準電位と、エラー訂正フラグerrpa<0>〜errpa<10>の何れか1つとの論理和を、エラー信号errp<0>〜errp<10>の1つとして出力する。 Each of the circuit units 26d13 to 26d23 uses the logical sum of the reference potential and any one of the error correction flags errpa <0> to errpa <10> as one of the error signals errp <0> to errp <10>. Output.
たとえば、回路部26d13は、基準電位と、エラー訂正フラグerrpa<0>との論理和を、エラー信号errp<0>として出力する。回路部26d23は、基準電位と、エラー訂正フラグerrpa<10>との論理和を、エラー信号errp<10>として出力する。 For example, the circuit unit 26d13 outputs the logical sum of the reference potential and the error correction flag errp <0> as an error signal errp <0>. The circuit unit 26d23 outputs the logical sum of the reference potential and the error correction flag errp <10> as an error signal errp <10>.
回路部26d13〜26d23は、エラー訂正フラグerrpa<0>〜errpa<10>のうちHレベルになるものに対応したエラー信号をHレベルとする。たとえば、エラー訂正フラグerrpa<0>がHレベルである場合、エラー信号errp<0>がHレベルになる。 The circuit units 26d13 to 26d23 set the error signal corresponding to the error correction flags errpa <0> to errpa <10> that become the H level as the H level. For example, when the error correction flag errp <0> is H level, the error signal errp <0> becomes H level.
図14は、4ビットエラーが生じている場合の仮想データエラー検出回路とエラー信号出力回路の動作の一例を示すタイミングチャートである。
図14には、エラー訂正フラグerrpa<0>〜errpa<10>,errda<0>〜errda<11>の時間変化の一例が示されている。また、図14には、仮想データビットエラーフラグerrvd、エラー信号errd<0>〜errd<11>,errp<0>〜errp<10>の時間変化の一例が示されている。
FIG. 14 is a timing chart showing an example of the operation of the virtual data error detection circuit and the error signal output circuit when a 4-bit error occurs.
FIG. 14 shows an example of the time change of the error correction flags errpa <0> to errpa <10> and errda <0> to errda <11>. Further, FIG. 14 shows an example of time changes of the virtual data bit error flag errvd, the error signals errd <0> to errd <11>, and errp <0> to errp <10>.
Lレベルのエラー訂正フラグerrpa<0>〜errpa<10>,errda<0>〜errda<11>のうち、エラー訂正フラグerrpa<1>,errpa<3>,errda<11>が、タイミングt40で、Hレベルに立ち上がっている。前述のように、エラー訂正フラグerrda<11>がHレベルになると、試験モードによらず、仮想データビットエラーフラグerrvdは、Hレベルとなる。これにより、エラー信号errd<0>〜errd<7>がHレベルになる。 Of the L-level error correction flags errpa <0> to errpa <10> and errda <0> to errda <11>, the error correction flags errpa <1>, errpa <3>, and errda <11> are at timing t40. , Standing up to H level. As described above, when the error correction flag errda <11> becomes the H level, the virtual data bit error flag errvd becomes the H level regardless of the test mode. As a result, the error signals errd <0> to errd <7> become H level.
また、エラー訂正フラグerrpa<1>,errpa<3>,errda<11>がHレベルになると、それらに対応したエラー信号errp<1>,errp<3>,errd<11>がHレベルになる。 When the error correction flags errpa <1>, errpa <3>, and errda <11> reach the H level, the corresponding error signals errp <1>, errp <3>, and errd <11> become the H level. ..
タイミングt41において、エラー訂正フラグerrpa<1>,errpa<3>,errda<11>がLレベルに立ち下がると、仮想データビットエラーフラグerrvdも、Lレベルとなる。また、エラー信号errd<0>〜errd<7>,errd<11>,errp<1>,errp<3>も、Lレベルになる。 At the timing t41, when the error correction flags errpa <1>, errpa <3>, and errda <11> fall to the L level, the virtual data bit error flag errvd also becomes the L level. Further, the error signals errd <0> to errd <7>, errd <11>, errp <1>, and errp <3> also reach the L level.
(エラー訂正回路27の一例)
エラー訂正回路27は、複数の2入力1出力のXOR回路で実現できる。
図15は、エラー訂正回路の一例を示す図である。図15には、ビットd<0>〜d<7>のエラーを訂正する回路部分が示されている。
(Example of error correction circuit 27)
The
FIG. 15 is a diagram showing an example of an error correction circuit. FIG. 15 shows a circuit portion that corrects an error of bits d <0> to d <7>.
エラー訂正回路27は、2入力1出力のXOR回路27a1〜27a8を有する。
XOR回路27a1〜27a8のそれぞれには、リードデータRDのビットd<0>〜d<7>のうちの1ビットと、そのビットに対応するエラー訂正フラグ(errd<0>〜errd<7>の何れか1つ)が入力される。XOR回路27a1〜27a8の出力値であるビットdECC<0>〜dECC<7>が、8ビットのリードデータRDaとなる。
The
In each of the XOR circuits 27a1 to 27a8, one of the bits d <0> to d <7> of the read data RD and the error correction flags (errd <0> to errd <7> corresponding to the bits Any one) is input. Bits dECC <0> to dECC <7>, which are output values of the XOR circuits 27a1 to 27a8, are 8-bit read data RDas.
図示を省略しているが、ビットd<8>〜d<11>のエラーを訂正する回路部分は、4つのXOR回路で実現され、エラー信号errd<8>〜errd<11>が用いられる。また、図示を省略しているが、検査ビットp<0>〜p<10>のエラーを訂正する回路部分は、11個のXOR回路で実現され、エラー信号errp<0>〜errp<10>が用いられる。 Although not shown, the circuit portion for correcting the error of the bits d <8> to d <11> is realized by four XOR circuits, and the error signals errd <8> to errd <11> are used. Further, although not shown, the circuit portion for correcting the error of the inspection bits p <0> to p <10> is realized by 11 XOR circuits, and the error signals errp <0> to errp <10> are realized. Is used.
図16は、2ビットエラーが生じている場合のエラー訂正回路の動作の一例を示すタイミングチャートである。
図16には、リードデータRDのビットd<0>〜d<7>、エラー信号errd<0>〜errd<7>、リードデータRDaのビットdECC<0>〜dECC<7>の時間変化の一例が示されている。
FIG. 16 is a timing chart showing an example of the operation of the error correction circuit when a 2-bit error occurs.
In FIG. 16, the time changes of the bits d <0> to d <7> of the read data RD, the error signals errd <0> to errd <7>, and the bits dECC <0> to dECC <7> of the read data RD are shown. An example is shown.
なお、リードデータRDのビットd<0>〜d<7>の期待値(ライトデータWDのビットD<0>〜D<7>に相当)は、全てHレベルであるものとする。
また、エラー信号errd<0>〜errd<7>の初期値はLレベルである。
It is assumed that the expected values of the bits d <0> to d <7> of the read data RD (corresponding to the bits D <0> to D <7> of the write data WD) are all H level.
Further, the initial value of the error signals errd <0> to errd <7> is the L level.
タイミングt50においてメモリセル部24から読み出されたリードデータRDのビットd<0>〜d<7>のうち、ビットd<0>,d<2>の値は、Lレベルとなっている。つまり、ビットd<0>,d<2>がエラービットとなっている。
Of the bits d <0> to d <7> of the read data RD read from the
また、タイミングt50では、エラー信号errd<0>〜errd<7>がLレベルであるため、XOR回路27a1〜27a8の出力値であるビットdECC<0>〜dECC<7>は、ビットd<0>〜d<7>の値と同じとなる。 Further, at the timing t50, since the error signals errd <0> to errd <7> are at the L level, the bits dECC <0> to dECC <7>, which are the output values of the XOR circuits 27a1 to 27a8, are bit d <0. > ~ D <7> is the same as the value.
その後、前述したエラー検出回路26の動作により、エラー信号errd<0>,errd<2>がLレベルからHレベルになる(タイミングt51)。
これによって、XOR回路27a1〜27a8の出力値であるビットdECC<0>〜dECC<7>のうち、ビットdECC<0>,dECC<2>がLレベルからHレベル(つまり0から1)に反転する(タイミングt52)。つまり、2ビットエラー訂正が行われる。
After that, due to the operation of the
As a result, among the bits dECC <0> to dECC <7>, which are the output values of the XOR circuits 27a1 to 27a8, the bits dECC <0> and dECC <2> are inverted from the L level to the H level (that is, from 0 to 1). (Timing t52). That is, 2-bit error correction is performed.
図17は、4ビットエラーが生じている場合のエラー訂正回路の動作の一例を示すタイミングチャートである。
図17には、ビットp<0>〜p<10>,d<0>〜d<11>、仮想データビットエラーフラグerrvd、エラー信号errp<0>〜errp<10>,errd<0>〜errd<11>の時間変化の一例が示されている。さらに、検査ビットRPBのエラー訂正後のビットpECC<0>〜pECC<10>、リードデータRDaのビットdECC<0>〜dECC<7>、仮想データのエラー訂正後のビットdECC<8>〜dECC<11>の時間変化の一例が示されている。
FIG. 17 is a timing chart showing an example of the operation of the error correction circuit when a 4-bit error occurs.
In FIG. 17, bits p <0> to p <10>, d <0> to d <11>, virtual data bit error flag errvd, error signal errp <0> to errp <10>, errd <0> to An example of time variation of error <11> is shown. Further, the check bit RPB error-corrected bits pECC <0> to pECC <10>, the read data RDa bits dECC <0> to dECC <7>, and the virtual data error-corrected bits dECC <8> to dECC. An example of the time change of <11> is shown.
なお、ビットp<0>〜p<10>,d<0>〜d<11>の期待値は、全てHレベルであるものとする。
また、エラー信号errp<0>〜errp<10>,errd<0>〜errd<11>の初期値はLレベルである。
It is assumed that the expected values of the bits p <0> to p <10> and d <0> to d <11> are all H levels.
Further, the initial values of the error signals errp <0> to errp <10> and errd <0> to errd <11> are L levels.
タイミングt60においてメモリセル部24から読み出されたビットp<0>〜p<10>,d<0>〜d<7>のうち、ビットp<4>,p<5>,p<9>,p<10>の値は、Lレベルとなっている。つまり、4ビットエラーが生じている。
Of the bits p <0> to p <10> and d <0> to d <7> read from the
また、タイミングt60では、エラー信号errp<0>〜errp<10>がLレベルであるため、ビットpECC<0>〜pECC<10>は、ビットp<0>〜p<10>の値と同じとなる。また、タイミングt60では、エラー信号errd<0>〜errd<11>がLレベルであるため、ビットdECC<0>〜dECC<11>は、ビットd<0>〜d<11>の値と同じとなる。 Further, at the timing t60, since the error signals errp <0> to errp <10> are at the L level, the bits pECC <0> to pECC <10> are the same as the values of the bits p <0> to p <10>. It becomes. Further, at the timing t60, since the error signals errd <0> to errd <11> are at the L level, the bits dECC <0> to dECC <11> are the same as the values of the bits d <0> to d <11>. It becomes.
その後、エラー検出回路26の動作により、エラー信号errp<1>,errp<3>,errd<11>がHレベルになる(タイミングt61)。また、タイミングt61では、仮想データエラー検出回路26cの動作により、仮想データビットエラーフラグerrvdがHレベルになる。これにより、エラー信号出力回路26dの動作により、エラー信号errd<0>〜errd<7>もHレベルになる。
After that, due to the operation of the
エラー信号errp<1>,errp<3>,errd<11>がHレベルになるため、エラー訂正回路27の動作により、ビットpECC<1>,pECC<3>,dECC<11>がHレベルからLレベル(つまり1から0)に反転する(タイミングt62)。実際にビットエラーが生じているのは、ビットp<4>,p<5>,p<9>,p<10>であるため、3ビットの誤訂正が生じている。しかし、タイミングt62では、エラー信号出力回路26dの動作により、リードデータRDaのビットdECC<0>〜dECC<7>が全て、HレベルからLレベルに反転している。リードデータRDaは、半導体記憶装置20から出力されるため、ビットdECC<0>〜dECC<7>を全てLレベルとすることで、4ビットエラーの発生を半導体記憶装置20の外部に通知することができる。なお、上記の説明では、エラー信号出力回路26dは、ビットdECC<0>〜dECC<7>を全て、HレベルからLレベルに反転しているが、これに限定されず、エラー検出及び訂正可能な3ビットよりも多くのビットを反転することで、4ビットエラーの発生を半導体記憶装置20の外部に通知するようにしてもよい。
Since the error signals errp <1>, errp <3>, and errd <11> are at the H level, the bits pECC <1>, pECC <3>, and dECC <11> are changed from the H level by the operation of the
(半導体記憶装置20の試験モード変更例)
たとえば、半導体記憶装置20に対する出荷前試験時において、試験モード設定回路25に第2試験モードが設定される場合、エラー検出回路26には、仮想データ“0011”が供給される。
(Example of changing the test mode of the semiconductor storage device 20)
For example, when the second test mode is set in the test
メモリセル部24から8ビットのリードデータRDが読み出された場合、シンドローム生成回路26aには、リードデータRDの上位側に仮想データ“0011”を追加した12ビット(前述したビットd<0>〜d<11>)の値が供給される。さらに、シンドローム生成回路26aには、メモリセル部24から読み出された11ビットの検査ビットRPB(前述したビットp<0>〜p<10>)が供給される。なお、メモリセル部24から読み出される検査ビットRPBは、メモリセル部24から読み出されるリードデータRDに対応付けられたものである。
When 8-bit read data RD is read from the
シンドローム生成回路26aは、図8に示したような対応関係に基づいてXOR演算により、シンドロームのビットS<0>〜S<10>を生成する。そして、シンドロームデコーダ26bは、ビットS<0>〜S<10>に基づいて、エラービットの検出結果を示すエラー訂正フラグerrda<0>〜errda<11>,errpa<0>〜errpa<10>を出力する。
The
第2試験モードでは、仮想データ“0011”が用いられているため、エラー訂正フラグerrda<0>〜errda<11>,errpa<0>〜errpa<10>のうち少なくともエラー訂正フラグerrda<8>,errda<9>はHレベルとなる。また、リードデータRD及び検査ビットRPBの全19ビットのうちの1ビットにエラーが生じている場合には、そのビットに対応したエラー訂正フラグがHレベルとなる。 In the second test mode, since the virtual data “0011” is used, at least the error correction flag errda <8> out of the error correction flags errda <0> to errda <11> and errpa <0> to errpa <10>. , Error <9> is H level. If an error occurs in one of all 19 bits of the read data RD and the inspection bit RPB, the error correction flag corresponding to that bit becomes the H level.
エラー訂正回路27は、エラー信号errp<0>〜errp<10>,errd<0>〜errd<11>に基づいて、ビットp<0>〜p<10>,d<0>〜d<11>nのうちのエラービットを訂正する。
The
たとえば、リードデータRD及び検査ビットRPBの全19ビットのうち、リードデータRDに1ビットのエラービットが生じている場合、エラー訂正回路27によりエラー訂正が行われる。この場合、エラー訂正で得られたリードデータRDaは、期待値であるライトデータWDと同じになる。
For example, if an error bit of 1 bit occurs in the read data RD out of all 19 bits of the read data RD and the inspection bit RPB, the
半導体記憶装置20の出荷前試験後、たとえば、設定信号seta〜setcが全て0となり、通常モードが設定される。通常モードでは、エラー検出回路26には、仮想データ“0000”が供給される。
After the pre-shipment test of the semiconductor storage device 20, for example, the setting signals seta to set become all 0, and the normal mode is set. In the normal mode, virtual data “0000” is supplied to the
通常モードでは、仮想データ“0000”が用いられているため、4ビット以上のエラーが生じていない場合には、エラー訂正フラグerrda<8>〜errda<11>はLレベルとなる。また、リードデータRD及び検査ビットRPBの全19ビットのうちの1乃至3ビットがエラービットである場合には、そのビットに対応したエラー訂正フラグがHレベルとなる。 In the normal mode, since the virtual data “0000” is used, the error correction flags errda <8> to errda <11> are at the L level when an error of 4 bits or more has not occurred. Further, when 1 to 3 bits of all 19 bits of the read data RD and the inspection bit RPB are error bits, the error correction flag corresponding to the bits becomes the H level.
エラー訂正回路27は、リードデータRD及び検査ビットRPBの全19ビットのうち、検査ビットRPBにエラービットがなく、リードデータRDに3ビットまでのエラービットが生じている場合、エラー訂正回路27により正しくエラー訂正が行われる。また、検査ビットRPBに1ビットのエラービットがあっても、そのエラービットと、リードデータRDに生じる2ビットまでのエラービットが正しく訂正可能である。また、検査ビットRPBに2ビットのエラービットがあっても、それらのエラービットと、リードデータRDに生じる1ビットまでのエラービットが正しく訂正可能である。
The
上記のような方法では、出荷前試験において、第2試験モードにより意図的に追加された2ビットエラーが発生し、リードデータRD及び検査ビットRPBの全19ビットに対してエラー検出及び訂正が可能なビット数が1ビットに制限される。その後、試験モードが通常モードに変更されることによって、たとえば、検査ビットRPBにエラービットの増加がなく、リードデータRDのエラービットが2ビット増加した場合でも正しくエラー訂正が可能となる。また、検査ビットRPBのエラービットが1ビット増加しても、リードデータRDの1ビットのエラービットの増加に対応できる。さらに、検査ビットRPBのエラービットが2ビット増加しても、リードデータRDを誤訂正することなく正常な動作を行うことが可能である。 In the above method, in the pre-shipment test, a 2-bit error intentionally added by the second test mode occurs, and it is possible to detect and correct all 19 bits of the read data RD and the inspection bit RPB. The number of bits is limited to 1 bit. After that, by changing the test mode to the normal mode, for example, even if the error bit does not increase in the inspection bit RPB and the error bit of the read data RD increases by 2 bits, the error can be corrected correctly. Further, even if the error bit of the inspection bit RPB increases by 1 bit, it is possible to cope with the increase of the error bit of 1 bit of the read data RD. Further, even if the error bit of the inspection bit RPB increases by 2 bits, normal operation can be performed without erroneously correcting the read data RD.
なお、出荷前試験を第1試験モードで行う場合には、意図的に追加された1ビットエラーが発生し、リードデータRD及び検査ビットRPBの全19ビットに対してエラー検出及び訂正が可能なビット数が2ビットに制限される。その後、試験モードが通常モードに変更されることによって、たとえば、検査ビットRPBにエラービットの増加がなく、リードデータRDのエラービットが1ビット増加した場合でも正しくエラー訂正が可能となる。また、検査ビットRPBのエラービットが1ビット増加しても、リードデータRDを誤訂正することなく正常な動作を行うことが可能である。 When the pre-shipment test is performed in the first test mode, an intentionally added 1-bit error occurs, and the error can be detected and corrected for all 19 bits of the read data RD and the inspection bit RPB. The number of bits is limited to 2 bits. After that, by changing the test mode to the normal mode, for example, even if the error bit does not increase in the inspection bit RPB and the error bit of the read data RD increases by 1 bit, the error can be corrected correctly. Further, even if the error bit of the inspection bit RPB increases by 1 bit, normal operation can be performed without erroneously correcting the read data RD.
また、出荷前試験を第3試験モードで行う場合には、意図的に追加された3ビットエラーが発生し、リードデータRD及び検査ビットRPBの全19ビットに対してエラー検出及び訂正が可能なビット数は0ビットとなる。その後、試験モードが通常モードに変更されることによって、たとえば、検査ビットRPBにエラービットの増加がなく、リードデータRDのエラービットが3ビット増加した場合でも正しくエラー訂正が可能となる。また、検査ビットRPBのエラービットが1ビット増加しても、リードデータRDの2ビットのエラービットの増加に対応できる。また、検査ビットRPBのエラービットが2ビット増加しても、リードデータRDの1ビットのエラービットの増加に対応できる。さらに、検査ビットRPBのエラービットが3ビット増加しても、リードデータRDを誤訂正することなく正常な動作を行うことが可能である。 Further, when the pre-shipment test is performed in the third test mode, an intentionally added 3-bit error occurs, and the error can be detected and corrected for all 19 bits of the read data RD and the inspection bit RPB. The number of bits is 0 bits. After that, by changing the test mode to the normal mode, for example, even if the error bit does not increase in the inspection bit RPB and the error bit of the read data RD increases by 3 bits, the error can be corrected correctly. Further, even if the error bit of the inspection bit RPB increases by 1 bit, it is possible to cope with the increase of the error bit of 2 bits of the read data RD. Further, even if the error bit of the inspection bit RPB increases by 2 bits, it is possible to cope with the increase of 1 bit of the error bit of the read data RD. Further, even if the error bit of the inspection bit RPB increases by 3 bits, normal operation can be performed without erroneously correcting the read data RD.
このように、第2の実施の形態の半導体記憶装置20によれば、第1の実施の形態の半導体記憶装置10と同様に、出荷後に増えたエラービットの検出及び訂正が可能になる。
なお、出荷前試験を通常モードで行い、3ビットエラーが生じている半導体記憶装置20についても良品として出荷できるようにして、歩留まりを向上させてもよい。
As described above, according to the semiconductor storage device 20 of the second embodiment, as in the
The pre-shipment test may be performed in the normal mode so that the semiconductor storage device 20 in which a 3-bit error occurs can also be shipped as a non-defective product to improve the yield.
また、出荷前後で試験モードを変更することに限定されず、ある試験では、第3試験モードを使用し、次の試験では、第2試験モード、第1試験モードまたは通常モードに変更するようにしてもよい。 In addition, the test mode is not limited to change before and after shipment, and one test uses the third test mode, and the next test changes to the second test mode, the first test mode, or the normal mode. You may.
これによって、たとえば、チップグレードの分別も可能になる。
図18は、チップグレードの分別方法の一例を示すフローチャートである。
初めは、第3試験モードで試験が行われ(ステップS1)、パスした場合(つまり、リードデータRDと検査ビットRPBにエラービットが生じていない場合)、通常モードへの変更が行われ、半導体記憶装置20は高信頼性チップとして出荷される。この、半導体記憶装置20は、たとえば、突発的にエラービットが増加しても、19ビットのリードデータRDと検査ビットRPBの各組あたり、3ビットまでならそのエラービットを訂正することができるためである。たとえば、高信頼性が要求される車載チップ用として、第3試験モードでの試験にパスした半導体記憶装置20が出荷される。
This also allows, for example, chip grade sorting.
FIG. 18 is a flowchart showing an example of a chip grade sorting method.
Initially, the test is performed in the third test mode (step S1), and if it passes (that is, if there is no error bit in the read data RD and the inspection bit RPB), the change to the normal mode is performed and the semiconductor is used. The storage device 20 is shipped as a highly reliable chip. For example, even if the error bit suddenly increases, the semiconductor storage device 20 can correct the error bit up to 3 bits for each set of the 19-bit read data RD and the inspection bit RPB. Is. For example, a semiconductor storage device 20 that has passed the test in the third test mode is shipped for an in-vehicle chip that requires high reliability.
第3試験モードでの試験でフェイルとなった場合(つまり、リードデータRDまたは検査ビットRPBにエラービットが生じている場合)、通常モードでの試験が行われる(ステップS2)。通常モードの試験でパスした場合は、半導体記憶装置20は低価格チップとして出荷される。第3試験モードの試験にパスできなかった半導体記憶装置20は、第3試験モードの試験にパスしたものよりも、エラービットの増加に対する訂正能力が劣るためである。 If the test in the third test mode fails (that is, an error bit occurs in the read data RD or the inspection bit RPB), the test in the normal mode is performed (step S2). If the normal mode test passes, the semiconductor storage device 20 is shipped as a low-cost chip. This is because the semiconductor storage device 20 that failed to pass the test in the third test mode is inferior in its ability to correct an increase in error bits than the device that passed the test in the third test mode.
半導体記憶装置20が、通常モードの試験でフェイルとなった場合(つまり、リードデータRDと検査ビットRPBによる各組の何れかに、合計4ビット以上のエラービットが生じている場合)、その半導体記憶装置20は、不良チップであるとして出荷されない。 When the semiconductor storage device 20 fails in the normal mode test (that is, when any of the sets of the read data RD and the inspection bit RPB has an error bit of 4 bits or more in total), the semiconductor. The storage device 20 is not shipped as a defective chip.
(第3の実施の形態)
図19は、第3の実施の形態の半導体記憶装置の一例を示す図である。図19において、図2に示した第2の実施の形態の半導体記憶装置20と同じ要素については、同一符号が付されている。
(Third Embodiment)
FIG. 19 is a diagram showing an example of the semiconductor storage device of the third embodiment. In FIG. 19, the same elements as those of the semiconductor storage device 20 of the second embodiment shown in FIG. 2 are designated by the same reference numerals.
第3の実施の形態の半導体記憶装置40は、エラー訂正後の検査ビットRPBaと、エラー訂正後のリードデータRDaをメモリセル部24に書き戻す機能を有している。第3の実施の形態の半導体記憶装置40は、ゴレイ符号によりエラー訂正できる上限である3ビットエラーが生じている場合に、上記書き戻し機能を実行する。
The semiconductor storage device 40 of the third embodiment has a function of writing back the inspection bit RPBa after error correction and the read data RDa after error correction to the
そのための要素として、半導体記憶装置40のエラー訂正回路41は、検査ビット訂正部41aとリードデータ訂正部41bを有する。なお、エラー訂正回路41は、仮想データのエラーを訂正する回路部を有しているが、図示が省略されている。
As an element for that purpose, the
また、半導体記憶装置40は、選択回路42a,42bを有する。さらに、半導体記憶装置40のエラー検出回路43は、エラーMAXフラグ生成回路43aを有する。また、半導体記憶装置40はビジー信号出力回路44、制御回路45を有する。
Further, the semiconductor storage device 40 has
なお、図19の例では、メモリセル部24は、固定不良のメモリセルの代わりに使用される複数の冗長セルを含む冗長セル部24cを有しているがなくてもよい。
検査ビット訂正部41aと、リードデータ訂正部41bは、図15に示したような複数のXOR回路により実現できる。
In the example of FIG. 19, the
The inspection
選択回路42aは、エラーMAXフラグ生成回路43aが出力するフラグERRmaxに基づいて、検査ビットWPBまたはエラー訂正された検査ビットRPBaの何れか一方を選択して出力する。
The
選択回路42bは、フラグERRmaxに基づいて、ライトデータWDまたはエラー訂正されたリードデータRDaの何れか一方を選択して出力する。
図20は、選択回路の一例を示す図である。
The
FIG. 20 is a diagram showing an example of a selection circuit.
図20では、図19に示した選択回路42aの一例が示されている。選択回路42bについても、選択回路42aと同様の回路で実現できる。
選択回路42aは、インバータ回路42a1,42a2,42a3,42a4、nチャネル型MOSFETであるトランジスタ42a5,42a6、pチャネル型MOSFETであるトランジスタ42a7,42a8を有する。
FIG. 20 shows an example of the
The
インバータ回路42a1の入力端子にはビットP<*>の値が入力され、インバータ回路42a2の入力端子には、ビットpa<*>の値が供給される。ビットP<*>は、11ビットの検査ビットWPBのビットP<0>〜P<10>の何れかである。ビットpa<*>は、エラー訂正された11ビットの検査ビットRPBaのビットpa<0>〜pa<10>の何れかである。インバータ回路42a1の出力端子は、トランジスタ42a5,42a7の一方の入出力端子(ドレインまたはソース)に接続されており、インバータ回路42a2の出力端子は、トランジスタ42a6,42a8の一方の入出力端子に接続されている。 The value of bit P <*> is input to the input terminal of the inverter circuit 42a1, and the value of bit pa <*> is supplied to the input terminal of the inverter circuit 42a2. Bit P <*> is any of bits P <0> to P <10> of the 11-bit inspection bit WPB. Bit pa <*> is any of bits pa <0> to pa <10> of the error-corrected 11-bit inspection bit RPBa. The output terminal of the inverter circuit 42a1 is connected to one input / output terminal (drain or source) of the transistors 42a5 and 42a7, and the output terminal of the inverter circuit 42a2 is connected to one input / output terminal of the transistors 42a6 and 42a8. ing.
トランジスタ42a5,42a7の他方の入出力端子と、トランジスタ42a6,42a8の他方の入出力端子は、インバータ回路42a4の入力端子に接続されている。また、トランジスタ42a6,42a7の制御端子(ゲート)とインバータ回路42a3の入力端子にはフラグERRmaxが供給され、トランジスタ42a5,42a8の制御端子には、インバータ回路42a3の出力端子に接続されている。 The other input / output terminals of the transistors 42a5 and 42a7 and the other input / output terminals of the transistors 42a6 and 42a8 are connected to the input terminals of the inverter circuit 42a4. Further, the flag ERRmax is supplied to the control terminals (gates) of the transistors 42a6 and 42a7 and the input terminals of the inverter circuit 42a3, and the control terminals of the transistors 42a5 and 42a8 are connected to the output terminals of the inverter circuit 42a3.
フラグERRmaxがLレベルの場合、トランジスタ42a5,42a7がオンし、トランジスタ42a6,42a8がオフするので、インバータ回路42a4の出力は、ビットP<*>の値となる。 When the flag ERRmax is L level, the transistors 42a5 and 42a7 are turned on and the transistors 42a6 and 42a8 are turned off, so that the output of the inverter circuit 42a4 becomes the value of the bit P <<.
フラグERRmaxがHレベルの場合、トランジスタ42a5,42a7がオフし、トランジスタ42a6,42a8がオンするので、インバータ回路42a4の出力は、ビットpa<*>の値となる。 When the flag ERRmax is H level, the transistors 42a5 and 42a7 are turned off and the transistors 42a6 and 42a8 are turned on, so that the output of the inverter circuit 42a4 becomes the value of the bit pa <*>.
選択回路42aは、検査ビットWPBのビットP<0>〜P<10>の各ビットに対応して、上記のような回路を11個有する。
図19のエラーMAXフラグ生成回路43aは、シンドロームデコーダ26bが生成するデコード信号SO<0>〜SO<2047>に基づいて、エラービットの数が検出可能な最大数に達したときに、その旨を示す検出信号であるフラグERRmaxを生成する。第3の実施の形態の半導体記憶装置40では、ゴレイ符号を用いるため、検出可能な最大数は3ビットである。以下では、エラーMAXフラグ生成回路43aは、エラービットが3ビットである場合、HレベルのフラグERRmaxを出力するものとする。
The
The error MAX
図21は、エラーMAXフラグ生成回路の一例を示す図である。
なお、図21には、シンドロームデコーダ26bの一部と共に、エラーMAXフラグ生成回路43aの一部が示されている。
FIG. 21 is a diagram showing an example of an error MAX flag generation circuit.
Note that FIG. 21 shows a part of the error MAX
エラーMAXフラグ生成回路43aは、複数のトランジスタ(たとえば、トランジスタ50a,50b,50c,50d,50e,50f,50g,50h,50i)、wired−OR型の信号バス51a,51b,51cを有する。さらにエラーMAXフラグ生成回路43aは、0ビットエラー検出回路52a1、1ビットエラー検出回路52a2、2ビットエラー検出回路52a3、フラグ出力回路53を有する。
The error MAX
複数のトランジスタは、nチャネル型MOSFETである。複数のトランジスタのそれぞれのゲートには、デコード信号SO<0>〜SO<2047>のうち、0ビットエラー、1ビットエラー、2ビットエラーの発生の有無を示すデコード信号の何れかが供給される。たとえば、図9に示したように、デコード信号SO<7>などの3ビットエラーの発生の有無を示す信号は、複数のトランジスタの何れのゲートにも供給されない。複数のトランジスタのそれぞれのドレインは、信号バス51a〜51cの何れかに接続されている。また複数のトランジスタのそれぞれのソースは接地されている(基準電位(たとえば、0V)となっている)。
The plurality of transistors are n-channel MOSFETs. Of the decoded signals SO <0> to SO <2047>, one of the decoded signals indicating whether or not a 0-bit error, a 1-bit error, or a 2-bit error has occurred is supplied to each gate of the plurality of transistors. .. For example, as shown in FIG. 9, a signal indicating whether or not a 3-bit error has occurred, such as the decode signal SO <7>, is not supplied to any of the gates of the plurality of transistors. Each drain of the plurality of transistors is connected to any of the
たとえば、トランジスタ50aのゲートには、デコード信号SO<0>が供給され、トランジスタ50aのドレインは、信号バス51aに接続されている。
信号バス51aは、0ビットエラー検出回路52a1に接続されており、信号バス51bは、1ビットエラー検出回路52a2に接続されており、信号バス51cは、2ビットエラー検出回路52a3に接続されている。以下信号バス51aを伝搬する信号を信号e0b、信号バス51bを伝搬する信号を信号e1b、信号バス51cを伝搬する信号を信号e2bという。
For example, the decode signal SO <0> is supplied to the gate of the
The
0ビットエラー検出回路52a1は、信号e0bに基づいて、0ビットエラー(つまりエラービットがないこと)の発生の有無を示す信号err0を出力する。1ビットエラー検出回路52a2は、信号e1bに基づいて、1ビットエラーの発生の有無を示す信号err1を出力する。2ビットエラー検出回路52a3は、信号e2bに基づいて、2ビットエラーの発生の有無を示す信号err2を出力する。 The 0-bit error detection circuit 52a1 outputs a signal err0 indicating whether or not a 0-bit error (that is, no error bit) has occurred, based on the signal e0b. The 1-bit error detection circuit 52a2 outputs a signal err1 indicating whether or not a 1-bit error has occurred, based on the signal e1b. The 2-bit error detection circuit 52a3 outputs a signal err2 indicating whether or not a 2-bit error has occurred, based on the signal e2b.
たとえば、2ビットエラー検出回路52a3は、pチャネル型MOSFETであるトランジスタ52b,52c、インバータ回路52dを有する。なお、トランジスタ52cは、弱トランジスタである。
For example, the 2-bit error detection circuit 52a3 includes
トランジスタ52b,52cのドレイン及びインバータ回路52dの入力端子は、信号バス51cに接続されている。トランジスタ52b,52cのソースには、電源電圧が供給される。トランジスタ52bのゲートには、リセット信号rstbが、たとえば、制御回路45から供給され、トランジスタ52cのゲート及びインバータ回路52dの出力端子の電位が、信号err2となる。
The drain of the
2ビットエラー検出回路52a3は、リセット信号rstbがHレベルで、信号e2bがLレベルになるとき、2ビットエラーが検出されたことを示すHレベルの信号err2を出力する。 The 2-bit error detection circuit 52a3 outputs an H-level signal err2 indicating that a 2-bit error has been detected when the reset signal rstb is at the H level and the signal e2b is at the L level.
図21では図示が省略されているが、0ビットエラー検出回路52a1、1ビットエラー検出回路52a2についても、2ビットエラー検出回路52a3と同様の回路構成となっている。 Although not shown in FIG. 21, the 0-bit error detection circuit 52a1 and the 1-bit error detection circuit 52a2 have the same circuit configuration as the 2-bit error detection circuit 52a3.
フラグ出力回路53は、信号err0〜err2に基づいて、エラービットが3ビットであるか否かを示すフラグERRmaxを出力する。
図22は、フラグ出力回路の一例を示す図である。
The
FIG. 22 is a diagram showing an example of a flag output circuit.
フラグ出力回路53は、NAND回路53a,53b、NOR回路53c,53d,53e、インバータ回路53f,53g,53h,53i,53j,53k、信号線53l、トランジスタ53m,53n,53oを有する。
The
NAND回路53aの4つの入力端子の3つには電源電圧が供給され、1つの入力端子にはタイミング信号timeが供給される。NAND回路53aの出力端子は、NOR回路53cの一方の入力端子に接続されている。NOR回路53cの他方の入力端子は接地されており、NOR回路53cの出力端子は、NAND回路53bの一方の入力端子に接続されている。NAND回路53bの他方の入力端子には電源電圧が供給され、NAND回路53bの出力端子は、インバータ回路53fを介してトランジスタ53mのゲートに接続されている。
A power supply voltage is supplied to three of the four input terminals of the
トランジスタ53mは、nチャネル型MOSFETである。トランジスタ53mのドレインは信号線53lを介して、pチャネル型MOSFETであるトランジスタ53n,53oのドレイン及びインバータ回路53gの入力端子に接続されている。トランジスタ53mのソースは接地されている。
The
トランジスタ53n,53oのソースには電源電圧が供給され、トランジスタ53nのゲートにはリセット信号rstbが供給される。トランジスタ53lのゲート及びインバータ回路53gの出力端子は、インバータ回路53h〜53jを介してNOR回路53eの一方の入力端子に接続されている。なお、トランジスタ53oは弱トランジスタである。
A power supply voltage is supplied to the sources of the
NOR回路53eの他方の入力端子には、インバータ回路53kの出力端子が接続されている。NOR回路53eの出力端子の電位が、フラグERRmaxである。インバータ回路53kの入力端子には、NOR回路53dの出力端子が接続されている。NOR回路53dの3つの入力端子には、信号err0〜err2が供給される。
The output terminal of the
このような、フラグ出力回路53では、信号err0〜err2が何れもLレベルの場合、すなわち3ビット以上のエラービットがある場合、インバータ回路53kの出力はLレベルとなる。リセット信号rstbがHレベルで、タイミング信号timeがHレベルになるとき、3ビットエラーの発生を示すデコード信号が出力されるタイミングを考慮した遅延時間後に、インバータ回路53jの出力はLレベルとなる。これにより、NOR回路53eは、3ビットエラーの発生を示す検出信号であるHレベルのフラグERRmaxを出力する。
In such a
図19のビジー信号出力回路44は、フラグERRmaxがHレベルになると、半導体記憶装置40が書き戻しを行うためにビジー状態であることを示す信号busy(たとえば、Hレベルの信号)を所定期間出力する。ビジー信号出力回路44は、たとえば、フラグERRmaxがHレベルになると、所定期間Hレベルの信号busyを出力するパルス信号発生回路である。
When the flag ERRmax reaches the H level, the busy
(第3の実施の形態の半導体記憶装置40の動作例)
以下、半導体記憶装置40の動作の一例を説明する。
メモリセル部24から8ビットのリードデータRDが読み出された場合、エラー検出回路43には、そのリードデータRDと、試験モード設定回路25から設定信号seta〜setcに基づく4ビットの仮想データが供給される。さらに、そのリードデータRDに対応付けられた検査ビットRPBもメモリセル部24から読み出され、エラー検出回路43に供給される。
(Operation example of the semiconductor storage device 40 of the third embodiment)
Hereinafter, an example of the operation of the semiconductor storage device 40 will be described.
When 8-bit read data RD is read from the
なお、図21では図示を省略しているが、エラーMAXフラグ生成回路43aは、制御信号setrにより制御され、制御信号setrが1のとき有効となる。また、エラーMAXフラグ生成回路43aは、制御信号setrが0のときは無効となり、フラグERRmaxはLレベルとなる。前述の設定信号seta〜setcを用いた出荷前試験においては、設定信号setrは0となり、エラーMAXフラグ生成回路43aが無効となる。設定信号setrを1に変えて出荷することで、出荷後にエラーMAXフラグ生成回路43aが機能し、エラービットが3ビットに達したときにエラーMAXフラグがHレベルとなる。
Although not shown in FIG. 21, the error MAX
エラー検出回路43のシンドローム生成回路26aは、前述のように、図8に示したような対応関係に基づいてXOR演算により、シンドロームのビットS<0>〜S<10>を生成する。そして、シンドロームデコーダ26bは、シンドロームのビットS<0>〜S<10>に基づいて、エラービットの検出結果である、エラー訂正フラグerrda<0>〜errda<11>,errpa<0>〜errpa<10>を出力する。
As described above, the
エラー信号出力回路26dは、エラー訂正フラグerrda<0>〜errda<11>と、仮想データビットエラーフラグerrvdに基づいて、エラー信号errd<0>〜errd<11>を出力する。また、エラー信号出力回路26dは、エラー訂正フラグerrpa<0>〜errpa<10>に基づいて、エラー信号errp<0>〜errp<10>を出力する。
The error
検査ビット訂正部41aは、エラー信号errd<0>〜errd<11>,errp<0>〜errp<10>のうち、エラー信号errp<0>〜errp<10>に基づいて、検査ビットRPBのエラービットを訂正する。また、リードデータ訂正部41bは、エラー信号errd<0>〜errd<7>に基づいて、リードデータRDのエラービットを訂正する。
The inspection
さらに、第3の実施の形態の半導体記憶装置40のエラー検出回路43において、エラーMAXフラグ生成回路43aは、シンドロームデコーダ26bが生成するデコード信号SO<0>〜SO<2047>に基づいて、フラグERRmaxを生成する。
Further, in the
リードデータRDと検査ビットRPBと仮想データとを合わせた全23ビット中、エラービットが2ビット以下の場合には、フラグERRmaxはLレベルとなる。このとき、選択回路42aは、検査ビットWPBを選択して出力する。これにより、図示しない書き込み回路によって、検査ビットWPBがメモリセル部24の検査ビット記憶部24aに書き込まれる。また、選択回路42bは、ライトデータWDを選択して出力する。これにより、図示しない書き込み回路によって、ライトデータWDがメモリセル部24のデータ記憶部24bに書き込まれる。またビジー信号出力回路44が出力する信号busyはLレベルとなる。
If the error bit is 2 bits or less out of the total of 23 bits including the read data RD, the inspection bit RPB, and the virtual data, the flag ERRmax becomes the L level. At this time, the
リードデータRDと検査ビットRPBと仮想データとを合わせた全23ビット中、エラービットが3ビットの場合、フラグERRmaxはHレベルとなる。このとき、選択回路42aは、エラー訂正された検査ビットRPBaを選択して出力する。これにより、図示しない書き込み回路によって、検査ビットRPBaがメモリセル部24の検査ビット記憶部24aに書き込まれる。また、選択回路42bは、エラー訂正されたリードデータRDaを選択して出力する。これにより、図示しない書き込み回路によって、リードデータRDaがメモリセル部24のデータ記憶部24bに書き込まれる。
If the error bit is 3 bits out of a total of 23 bits including the read data RD, the inspection bit RPB, and the virtual data, the flag ERRmax becomes the H level. At this time, the
なお、検査ビットRPBaとリードデータRDaは、検査ビットRPBとリードデータRDが読み出されたアドレスのメモリセルに書き込まれる。
またビジー信号出力回路44が出力する信号busyはHレベルとなる。なお、信号busyがHレベルの場合、データ入出力部21を介した外部からのライトデータWDの供給は停止される。
The inspection bit RPBa and the read data RDa are written to the memory cell at the address where the inspection bit RPB and the read data RD are read.
Further, the signal busy output by the busy
たとえば、出荷前試験が第2試験モードで行われ、その後、通常モードへの変更が行われる場合、半導体記憶装置40は、出荷後に新たに発生したエラービットを23ビット当たり最低でも2ビットまで訂正できる。出荷後に突発的なエラーが累積され、エラービットの数が、トータルで3ビットになった時点で、エラー訂正された検査ビットRPBaと、リードデータRDaが、メモリセル部24に書き戻される。
For example, if the pre-shipment test is performed in the second test mode and then the mode is changed to the normal mode, the semiconductor storage device 40 corrects the newly generated error bits after shipment to at least 2 bits per 23 bits. it can. When sudden errors are accumulated after shipment and the total number of error bits reaches 3 bits, the error-corrected inspection bit RPBa and read data RDa are written back to the
以下、半導体記憶装置40が有する効果を説明する。
半導体記憶装置には、読み出し時にメモリセルにストレスがかかるものがあり、まれではあるが、読み出しを行うことでメモリセルに記憶されたデータが壊れ、突発的なエラーが生じる場合がある。読み出しが繰り返されると、そのエラーが複数回発生し、エラービットが累積することになる。エラービット数が、ECCの訂正能力の上限(ゴレイ符号が用いられる場合は3ビット)を超えると、システム的なメモリエラーが引き起こされる。
Hereinafter, the effects of the semiconductor storage device 40 will be described.
Some semiconductor storage devices put stress on the memory cells at the time of reading, and in rare cases, the data stored in the memory cells may be corrupted by the reading, and a sudden error may occur. When the reading is repeated, the error occurs a plurality of times, and the error bits are accumulated. If the number of error bits exceeds the upper limit of ECC correction capability (3 bits when Golay code is used), a systematic memory error is caused.
第3の実施の形態の半導体記憶装置40では、エラービット数が訂正能力の上限である3ビットになると、エラー訂正回路41でエラー訂正された検査ビットRPBaと、リードデータRDaが、メモリセル部24に書き戻される。つまり、揮発性メモリにおけるリフレッシュ動作に対応した動作が行われる。これにより、上記突発的なエラーがメモリセル自体の固定不良でなければ、エラービットの累積をゼロにリセットでき、システム的なメモリエラーの発生を未然に防ぐことができる。
In the semiconductor storage device 40 of the third embodiment, when the number of error bits reaches 3 bits, which is the upper limit of the correction capability, the check bit RPBa and the read data RDa that have been error-corrected by the
なお、半導体記憶装置40のメモリセル部24は冗長セルを有していてもよい。その場合、半導体記憶装置40の制御回路45は、検査ビットRPBaと、リードデータRDaの検査ビット記憶部24a、データ記憶部24bへの書き戻し後に、再度読み出しを行い、再びフラグERRmaxがHレベルとなるか否かを検出する。再びフラグERRmaxがHレベルとなる場合、制御回路45は、メモリセル自身の固定不良が発生しているとみなし、そのメモリセルのアドレスを冗長セルのアドレスに置き換える処理を行う。これにより、そのメモリセルのアドレスに対するデータの書き込みや読み出しが行われる場合、冗長セルへデータの書き込み、または冗長セルからデータの読み出しが行われるようになる。
The
図23は、冗長セルを有する第3の実施の形態の半導体記憶装置の一例の動作の流れを示すフローチャートである。
読み出し処理が行われると(ステップS10)、制御回路45は、フラグERRmaxがHレベルであるか否かを判定する(ステップS11)。読み出し処理では、メモリセル部24からリードデータRDとそのリードデータRDに対応付けられた検査ビットRPBが読み出される。
FIG. 23 is a flowchart showing an operation flow of an example of the semiconductor storage device of the third embodiment having redundant cells.
When the read process is performed (step S10), the
フラグERRmaxがHレベルである場合には、エラー訂正されたリードデータRDaと検査ビットRPBaが、メモリセル部24に書き戻される(ステップS12)。ステップS12の処理では、検査ビットRPBaとリードデータRDaは、検査ビットRPBとリードデータRDが読み出されたアドレスのメモリセルに書き込まれる。 When the flag ERRmax is H level, the error-corrected read data RDa and the inspection bit RPBa are written back to the memory cell unit 24 (step S12). In the process of step S12, the inspection bit RPBa and the read data RDa are written to the memory cell at the address where the inspection bit RPB and the read data RD are read.
フラグERRmaxがLレベルである場合、半導体記憶装置40に入力されるコマンドに応じた通常動作(書き込み処理や読み出し処理など)が行われる(ステップS17)。
一方、ステップS12の処理後、制御回路45の制御のもと、再読み出し処理が行われる(ステップS13)。再読み出し処理では、メモリセル部24に書き戻された検査ビットRPBaとリードデータRDaが、再度読み出される。
When the flag ERRmax is at the L level, normal operations (write processing, read processing, etc.) according to the command input to the semiconductor storage device 40 are performed (step S17).
On the other hand, after the processing of step S12, the re-reading processing is performed under the control of the control circuit 45 (step S13). In the re-reading process, the inspection bit RPBa and the read data RDa written back to the
そして、制御回路45は、フラグERRmaxがHレベルであるか否かを再度判定する(ステップS14)。フラグERRmaxがLレベルである場合、ステップS17の処理が行われる。
Then, the
フラグERRmaxが再度Hレベルとなる場合には、たとえば、制御回路45が、3ビットのエラービットが記憶されているメモリセルのアドレスの代わりに、冗長セルのアドレスを指定する。そして図示しない書き込み回路が、検査ビットRPBaとリードデータRDaに含まれるエラー訂正された上記3ビットの値を、指定されたアドレスの冗長セルに書き込む(ステップS15)。検査ビットRPBaとリードデータRDaに含まれるその他のビットの値は、検査ビット記憶部24aまたはデータ記憶部24bに書き込まれる。
When the flag ERRmax becomes H level again, for example, the
なお、検査ビット記憶部24aやデータ記憶部24bのアドレスの冗長セルのアドレスへの置き換え処理がメモリセルアレイの行または列ごとに行われる場合、エラービットが記憶されているメモリセルと同じ行または列アドレスの値も読み出される。そして、その値も指定された行または列アドレスの冗長セルに書き込まれる。
When the processing of replacing the address of the inspection bit storage unit 24a or the
その後、制御回路45の制御のもと、図示しない書き込み回路は、冗長セルのアドレスに置き換えられた検査ビット記憶部24aまたはデータ記憶部24bのアドレスを、冗長セルに書き込む(ステップS16)。これにより、次に冗長セルのアドレスに置き換えられた検査ビット記憶部24aまたはデータ記憶部24bのアドレスが指定された場合、たとえば、制御回路45は、冗長セルのアドレスに変換して、読み出しや書き込みを行えるようにする。
After that, under the control of the
ステップS16の処理後は、ステップS17の処理が行われる。
以上のような処理によれば、メモリセル自身の固定不良にも対応でき、さらに半導体記憶装置40の信頼性を高めることができる。
After the process of step S16, the process of step S17 is performed.
According to the above processing, it is possible to deal with improper fixing of the memory cell itself, and further improve the reliability of the semiconductor storage device 40.
以上、実施の形態に基づき、本発明の半導体記憶装置の一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
たとえば、上記の説明では、主に3ビットエラー検出及び訂正に対応した符号を用いた半導体記憶装置を説明したが、これに限定されない。2ビットエラー検出及び訂正に対応した符号または4ビットエラー検出及び訂正に対応した符号を用いた半導体記憶装置についても、その符号に対応するように仮想データのビット数や意図的に発生させるビット数を変更し、回路を適宜変更すれば実現可能である。
Although one aspect of the semiconductor storage device of the present invention has been described above based on the embodiments, these are merely examples and are not limited to the above description.
For example, in the above description, a semiconductor storage device using a code corresponding to 3-bit error detection and correction has been mainly described, but the present invention is not limited thereto. For semiconductor storage devices that use a code that supports 2-bit error detection and correction or a code that supports 4-bit error detection and correction, the number of bits of virtual data and the number of bits that are intentionally generated so as to correspond to the code. This can be achieved by changing the above and changing the circuit as appropriate.
10 半導体記憶装置
11 データ入出力部
12 仮想データ設定回路
13 検査ビット生成回路
14 メモリセル部
14a 検査ビット記憶部
14b データ記憶部
15 試験モード設定回路
16 エラー検出回路
17 エラー訂正回路
18a〜18c 仮想データ
rd,rda リードデータ
rpb,wpb 検査ビット
set 設定信号
wd ライトデータ
10
Claims (9)
前記ライトデータと、前記第1の検査ビットとを記憶するメモリセル部と、
設定信号に基づいて設定される動作状態が第1の状態のときに、前記第1のデータに対して少なくとも1ビットの値が異なる第2のデータを出力し、前記動作状態が第2の状態のときに、前記第2のデータよりも前記第1のデータに対して値が異なるビット数が少ない第3のデータを出力する設定回路と、
前記ライトデータに対応しており前記メモリセル部から読み出された第1のリードデータと、前記設定回路が出力する前記第2のデータまたは前記第3のデータと、に基づいて前記符号の第2の検査ビットを生成し、前記第1の検査ビットに対応しており前記メモリセル部から読み出された第3の検査ビットと、前記第2の検査ビットと、に基づいてエラービットを検出し、検出結果を出力するエラー検出回路と、
前記検出結果に基づいて、前記エラービットのうち、少なくとも、前記第1のリードデータにエラーが含まれていれば、該エラーを前記第3のビット数の範囲で訂正するエラー訂正回路と、
を有する半導体記憶装置。 Based on the write data of the first bit number and the first data of the second bit number, the first inspection of the code corresponding to the error detection and correction of a plurality of bits up to the third bit number. An inspection bit generation circuit that generates bits, and
A memory cell unit that stores the write data and the first inspection bit, and
When the operating state set based on the setting signal is the first state, the second data in which the value of at least one bit is different from the first data is output, and the operating state is the second state. At this time, a setting circuit that outputs a third data having a smaller number of bits with a different value from the first data than the second data, and a setting circuit.
The number of the code is based on the first read data corresponding to the write data and read from the memory cell unit and the second data or the third data output by the setting circuit. 2 inspection bits are generated, and an error bit is detected based on the third inspection bit corresponding to the first inspection bit and read from the memory cell unit and the second inspection bit. And the error detection circuit that outputs the detection result,
Based on the detection result, an error correction circuit that corrects the error within the range of the third bit number if at least the first read data contains an error among the error bits.
A semiconductor storage device having.
前記設定回路は、前記複数の値のうちの第1の値を受け、前記複数の第4のデータの1つであり、前記第1の値に対応付けられた前記第2のデータを選択して出力する、請求項1乃至3の何れか一項に記載の半導体記憶装置。 The setting signal has a plurality of values, and each of the plurality of values is associated with any one of a plurality of fourth data having different values and different numbers of bits with respect to the first data. ,
The setting circuit receives the first value of the plurality of values, is one of the plurality of fourth data, and selects the second data associated with the first value. The semiconductor storage device according to any one of claims 1 to 3, wherein the semiconductor storage device is output.
前記エラー検出回路は、前記エラービットの数が前記第3のビット数に達したときに、前記第3のビット数に達したことを示す検出信号を出力し、
前記半導体記憶装置は、さらに、
前記エラー検出回路が前記検出信号を出力した場合、前記ライトデータの代わりに、前記第2のリードデータを選択して、前記メモリセル部に供給する第1の選択回路と、
前記エラー検出回路が前記検出信号を出力した場合、前記第1の検査ビットの代わりに、前記第4の検査ビットを選択して、前記メモリセル部に供給する第2の選択回路と、
を有する請求項1乃至6の何れか一項に記載の半導体記憶装置。 The error correction circuit, the first to correct the first error bit is Ru contained in the read data and outputs the second read data, of the error bit, first included in the third check bit Correct the error bit of 2 and output the 4th check bit.
When the number of the error bits reaches the third number of bits, the error detection circuit outputs a detection signal indicating that the number of the third bits has been reached.
The semiconductor storage device further
When the error detection circuit outputs the detection signal, the first selection circuit that selects the second read data instead of the write data and supplies it to the memory cell unit and the first selection circuit.
When the error detection circuit outputs the detection signal, the second selection circuit that selects the fourth inspection bit instead of the first inspection bit and supplies it to the memory cell unit and the second selection circuit.
The semiconductor storage device according to any one of claims 1 to 6.
前記半導体記憶装置は、さらに、
前記メモリセル部に記憶された前記第2のリードデータと前記第4の検査ビットの読み出し時に、再度、前記検出信号が出力されるか否かを判定し、前記検出信号が出力される場合に、前記第1のエラービットと前記第2のエラービットの値を、前記エラー訂正回路による訂正後に、前記冗長セルに書き込む制御を行う制御回路、を有する請求項7に記載の半導体記憶装置。 The memory cell portion has a redundant cell and has a redundant cell.
The semiconductor storage device further
When reading the second read data and the fourth inspection bit stored in the memory cell unit, it is determined again whether or not the detection signal is output, and when the detection signal is output. The semiconductor storage device according to claim 7, further comprising a control circuit that controls writing the values of the first error bit and the second error bit into the redundant cell after being corrected by the error correction circuit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017099120A JP6858636B2 (en) | 2017-05-18 | 2017-05-18 | Semiconductor storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017099120A JP6858636B2 (en) | 2017-05-18 | 2017-05-18 | Semiconductor storage device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018195122A JP2018195122A (en) | 2018-12-06 |
JP6858636B2 true JP6858636B2 (en) | 2021-04-14 |
Family
ID=64570514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017099120A Active JP6858636B2 (en) | 2017-05-18 | 2017-05-18 | Semiconductor storage device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6858636B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022112914A (en) * | 2021-01-22 | 2022-08-03 | ソニーセミコンダクタソリューションズ株式会社 | semiconductor storage device |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008117430A (en) * | 2006-10-31 | 2008-05-22 | Toshiba Corp | Integrated circuit with built-in rom having error correction function, and test method thereof |
JP2008176828A (en) * | 2007-01-16 | 2008-07-31 | Toshiba Microelectronics Corp | Test circuit and test method of error detection correcting circuit |
JP5176646B2 (en) * | 2008-03-28 | 2013-04-03 | 富士通セミコンダクター株式会社 | Error correction function confirmation circuit, error correction function confirmation method, computer program thereof, and storage device |
-
2017
- 2017-05-18 JP JP2017099120A patent/JP6858636B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018195122A (en) | 2018-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10803971B2 (en) | Device for supporting error correction code and test method thereof | |
US9727412B2 (en) | Memory device having error notification function | |
EP1815338B1 (en) | Predictive error correction code generation facilitating high-speed byte-write in a semiconductor memory | |
US10198314B2 (en) | Memory device with in-system repair capability | |
JP6841698B2 (en) | Semiconductor device | |
JP2001014888A (en) | Flash memory | |
US20070226597A1 (en) | Semiconductor memory having embedded microcomputer with ECC function | |
US20170132075A1 (en) | Serial bus dram error correction event notification | |
CN110580927A (en) | Variable Resistor Random Access Memory | |
US10565049B2 (en) | Memory device and repair method with column-based error code tracking | |
US9529667B2 (en) | DRAM error correction event notification | |
KR20160016051A (en) | Semiconductor memory device having selective ECC function | |
US8949694B2 (en) | Address error detection | |
US11003529B2 (en) | Encoding method and memory storage apparatus using the same | |
US20120151300A1 (en) | Error Correcting | |
US10481973B2 (en) | Memory module with dedicated repair devices | |
JPH03248251A (en) | Information processor | |
JP4353329B2 (en) | Semiconductor memory device and test method thereof | |
US12222829B2 (en) | Memory module with dedicated repair devices | |
KR20070026075A (en) | Semiconductor integrated circuit device | |
TWI808098B (en) | Device for supporting error correction code and test method thereof | |
US10839935B2 (en) | Dynamic redundancy for memory | |
JP6858636B2 (en) | Semiconductor storage device | |
US20200089418A1 (en) | Memory having different reliabilities | |
JP7235591B2 (en) | Information processing circuit and information processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200129 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20200129 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20200129 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20200708 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20200714 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201208 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210127 |
|
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: 20210309 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210324 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6858636 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |