JP2012243332A - Semiconductor device - Google Patents

Semiconductor device Download PDF

Info

Publication number
JP2012243332A
JP2012243332A JP2011109228A JP2011109228A JP2012243332A JP 2012243332 A JP2012243332 A JP 2012243332A JP 2011109228 A JP2011109228 A JP 2011109228A JP 2011109228 A JP2011109228 A JP 2011109228A JP 2012243332 A JP2012243332 A JP 2012243332A
Authority
JP
Japan
Prior art keywords
data
bit
parity
read
bits
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.)
Withdrawn
Application number
JP2011109228A
Other languages
Japanese (ja)
Inventor
Ken Matsubara
謙 松原
Kunihiko Suzuki
州彦 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2011109228A priority Critical patent/JP2012243332A/en
Publication of JP2012243332A publication Critical patent/JP2012243332A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a semiconductor device able to improve the reliability of data at low cost.SOLUTION: For example, in a semiconductor device with a complementary memory, a parity bit is created with respect to positive polarity (Posi) data of (N+1) bits and a parity bit is created with respect to negative polarity (Nega) data of (N+1) bits during writing. During reading, parity check is carried out for the positive polarity side and the negative polarity side and also the positive polarity data and negative polarity data are compared for each bit number. Here, in the case where a bit number in which the positive polarity data and negative polarity data are the same is present, this bit number of the positive polarity data is specified as erroneous data if the positive polarity side parity check results to be abnormal, and this bit number of negative polarity data can be specified as erroneous data conversely when the negate polarity side parity check results to be abnormal.

Description

本発明は、メモリユニットを備えた半導体装置に関し、特に、2個の記憶素子で1ビットを記憶するメモリユニットを備えた半導体装置に適用して有効な技術に関する。   The present invention relates to a semiconductor device including a memory unit, and more particularly to a technique effective when applied to a semiconductor device including a memory unit storing one bit with two storage elements.

例えば特許文献1には、2つのメモリセルに相補的なデータを書き込む半導体不揮発性メモリにおいて、ベリファイ読み出しと通常読み出しを同一のセンスアンプを利用して行う技術が示されている。また、特許文献2には、2つのメモリセル(ツインセル)に相補的なデータを書き込む半導体不揮発性メモリにおいて、複数のツインセルが書き込み状態かブランク状態かを高速に検出する技術が示されている。   For example, Patent Document 1 discloses a technique in which verify read and normal read are performed using the same sense amplifier in a semiconductor nonvolatile memory in which complementary data is written in two memory cells. Patent Document 2 discloses a technique for detecting at high speed whether a plurality of twin cells are in a write state or a blank state in a semiconductor nonvolatile memory in which complementary data is written in two memory cells (twin cells).

特開2009−252290号公報JP 2009-252290 A 特開2009−272028号公報JP 2009-272028 A

例えば、マイクロコンピュータ(所謂マイコン)等では、従来のデータ格納用のEEPROM(Electrically Erasable Programmable Read Only Memory)に代わってフラッシュメモリ等が搭載される場合がある。フラッシュメモリでは、メモリセルの記憶情報となるしきい値電圧(フローティング・ゲートの電荷)が時間経過と共に徐々に変動する。このしきい値電圧を正常な範囲に維持できる期間はデータリテンションと呼ばれる。フラッシュメモリをマイコン等のデータ格納領域として用いた場合、書き換え動作が多く発生し得るが、データリテンションは、特に書き換え回数が多くなると劣化する傾向にある。そこで、書き換え回数が多い場合でもデータ保持特性(データリテンション)を確保するため、特許文献1や特許文献2に示されるような不揮発性の相補型メモリを用いることが有益となる。相補型メモリでは、1ビットのデータを記憶するために2ビットの記憶領域を用い、その一方に正極(positive)データが記憶され、他方に負極(negative)データが記憶される。読み出し動作時には、正極データと負極データの差分を用いることでデータ保持特性(データの信頼性)をある程度改善することができる。   For example, a microcomputer (so-called microcomputer) or the like may be equipped with a flash memory or the like instead of a conventional EEPROM (Electrically Erasable Programmable Read Only Memory) for data storage. In the flash memory, the threshold voltage (charge of the floating gate) serving as storage information of the memory cell gradually varies with time. A period during which the threshold voltage can be maintained in a normal range is called data retention. When the flash memory is used as a data storage area of a microcomputer or the like, many rewrite operations can occur, but data retention tends to deteriorate particularly when the number of rewrites increases. Therefore, in order to ensure data retention characteristics (data retention) even when the number of rewrites is large, it is beneficial to use a nonvolatile complementary memory as shown in Patent Document 1 or Patent Document 2. In the complementary memory, a 2-bit storage area is used to store 1-bit data, positive data is stored in one of the storage areas, and negative data is stored in the other. During the read operation, the data retention characteristic (data reliability) can be improved to some extent by using the difference between the positive electrode data and the negative electrode data.

近年、このような不揮発性の相補型メモリを内蔵したマイコンでは、多様な使用環境に伴い、小領域(例えば数バイト、数ワード等)単位でのアクセス(書き換え、読み出し)がより多く行われるようになってきている。このため、データの信頼性の更なる向上が望まれる。データの信頼性を向上させるためには、例えば、エラー検出やエラー訂正といった技術を用いることが考えられる。このような技術の代表として、データにハミングコード(ECC(Error Checking and Correction)コード)を付加することが知られている。しかしながら、この場合、ハミングコードの記憶領域の付加やエラー検出/訂正用の演算回路の付加に伴う面積オーバヘッドが大きく、マイコン等の小型化・低コスト化が図れない恐れがある。   In recent years, microcomputers incorporating such a nonvolatile complementary memory are likely to be accessed (rewritten or read out) in units of small areas (for example, several bytes, several words, etc.) in accordance with various usage environments. It is becoming. For this reason, further improvement in the reliability of data is desired. In order to improve the reliability of data, it is conceivable to use techniques such as error detection and error correction, for example. As a representative of such a technique, it is known to add a Hamming code (ECC (Error Checking and Correction) code) to data. However, in this case, the area overhead associated with the addition of a Hamming code storage area and the addition of an arithmetic circuit for error detection / correction is large, and there is a possibility that the microcomputer and the like cannot be reduced in size and cost.

特に、この面積オーバヘッドの問題は、アクセス単位が小さくなるほどより顕著となる。ハミングコードは、検査用ビット数をnとすると、2−1のビット数を持つ。すなわち、本来のデータのビット数は、2−1−nである。例えば、8バイト(64ビット)をアクセス単位とするデータに対しては7ビットのハミングコードを付加する必要があり、記憶領域としては71/64倍(約1.1倍)の確保が必要となる。また、2バイト(16ビット)をアクセス単位とするデータに対しては5ビットのハミングコードを付加する必要があり、記憶領域としては21/16倍(約1.3倍)の確保が必要となる。 In particular, the problem of area overhead becomes more prominent as the access unit becomes smaller. The Hamming code has 2 n −1 bits, where n is the number of bits for inspection. That is, the number of original data bits is 2 n −1−n. For example, it is necessary to add a 7-bit Hamming code to data having an access unit of 8 bytes (64 bits), and it is necessary to secure 71/64 times (about 1.1 times) as a storage area. Become. In addition, it is necessary to add a 5-bit Hamming code to data having an access unit of 2 bytes (16 bits), and it is necessary to secure 21/16 times (about 1.3 times) as a storage area. Become.

本発明は、このようなことを鑑みてなされたものであり、その目的の一つは、データの信頼性の向上を低コストで実現可能な半導体装置(または記憶装置)を提供することにある。本発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。   The present invention has been made in view of the above, and an object of the present invention is to provide a semiconductor device (or a storage device) capable of improving data reliability at a low cost. . The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.

本願において開示される発明のうち、代表的な実施の形態の概要を簡単に説明すれば、次のとおりである。   Of the inventions disclosed in the present application, the outline of a typical embodiment will be briefly described as follows.

本実施の形態による半導体装置は、N(N≧1)個の第1記憶ノードと、N個の第2記憶ノードと、パリティー生成回路と、第1および第2パリティー記憶ノードと、エラー処理回路とを備える。第1記憶ノードにはNビットの第1データが書き込まれ、第2記憶ノードには第1データの反転データとなる第2データが書き込まれる。パリティー生成回路は、第1データの書き込みに伴い当該データを対象とした第1パリティーデータを生成し、第2データの書き込みに伴い当該データを対象とした第2パリティーデータを生成する。第1および第2パリティー記憶ノードには、第1および第2パリティーデータがそれぞれ書き込まれる。エラー処理回路は、読み出し動作時に第1〜第5処理を実行する。第1処理では第1記憶ノードからのNビットの第1読み出しデータと第2記憶ノードからのNビットの第2読み出しデータとの一致・不一致が各ビット番号毎に判定される。第2処理では、第1読み出しデータと第1パリティーデータを用いてパリティー判定が行われ、第3処理では、第2読み出しデータと第2パリティーデータを用いてパリティー判定が行われる。第4処理では、第1処理で一致するビット番号が1個存在し、かつ第2処理/第3処理の判定結果が異常/正常な場合にNビットの第1読み出しデータにおける当該ビット番号が誤りと判定される。また、第4処理では、第1処理で一致するビット番号が1個存在し、かつ第3処理/第2処理の判定結果が異常/正常な場合に、Nビットの第2読み出しデータにおける当該ビット番号が誤りと判定される。第5処理では、第4処理で誤りと判定されたビットの訂正が行われる。   The semiconductor device according to the present embodiment includes N (N ≧ 1) first storage nodes, N second storage nodes, a parity generation circuit, first and second parity storage nodes, and an error processing circuit. With. N-bit first data is written to the first storage node, and second data that is inverted data of the first data is written to the second storage node. The parity generation circuit generates first parity data for the data as the first data is written, and generates second parity data for the data as the second data is written. First and second parity data are written to the first and second parity storage nodes, respectively. The error processing circuit executes the first to fifth processes during the read operation. In the first process, a match / mismatch between the N-bit first read data from the first storage node and the N-bit second read data from the second storage node is determined for each bit number. In the second process, parity determination is performed using the first read data and the first parity data, and in the third process, parity determination is performed using the second read data and the second parity data. In the fourth process, if there is one matching bit number in the first process and the determination result of the second process / third process is abnormal / normal, the bit number in the first read data of N bits is incorrect. It is determined. In the fourth process, when there is one bit number that matches in the first process and the determination result of the third process / second process is abnormal / normal, the bit in the second read data of N bits The number is determined to be incorrect. In the fifth process, the bit determined to be an error in the fourth process is corrected.

このような半導体装置を用いることで、データの信頼性を向上させることができ、また、例えばハミングコード等を用いてエラー訂正を行うような場合と比べて、エラー訂正に伴う回路面積のオーバヘッドを抑制でき、低コスト化等が図れる。なお、より望ましくは、第1および第2パリティー記憶ノードのそれぞれを、相補ビット(2ビット)の記憶ノードで構成するとよい。これによって、データの信頼性を更に向上させることが可能になる。また、第1記憶ノードからの読み出し動作と第2記憶ノードからの読み出し動作は、それぞれ個別のセンスアンプ回路等を用いて並行して行うことが望ましい。これによって、エラー処理動作(読み出し動作)の高速化が図れる。   By using such a semiconductor device, the reliability of data can be improved, and the overhead of the circuit area associated with error correction can be reduced compared to the case where error correction is performed using, for example, a Hamming code. This can be suppressed and cost reduction can be achieved. More preferably, each of the first and second parity storage nodes may be constituted by a storage node of complementary bits (2 bits). As a result, the reliability of the data can be further improved. Further, it is desirable that the read operation from the first storage node and the read operation from the second storage node are performed in parallel using individual sense amplifier circuits or the like. As a result, the error processing operation (reading operation) can be speeded up.

本願において開示される発明のうち、代表的な実施の形態によって得られる効果を簡単に説明すると、メモリユニットを備えた半導体装置(または記憶装置)において、データの信頼性の向上を低コストで実現可能になる。   The effects obtained by typical embodiments of the invention disclosed in this application will be briefly described. In a semiconductor device (or a storage device) including a memory unit, data reliability is improved at low cost. It becomes possible.

本発明の実施の形態1による半導体装置(記憶装置)において、それに含まれるメモリユニットの構成例を示す概略図である。1 is a schematic diagram illustrating a configuration example of a memory unit included in a semiconductor device (storage device) according to a first embodiment of the present invention. 図1におけるパリティー生成回路の動作例を示す説明図である。It is explanatory drawing which shows the operation example of the parity generation circuit in FIG. 図1におけるエラー処理回路ブロックの動作例を示すフロー図である。It is a flowchart which shows the operation example of the error processing circuit block in FIG. (a)〜(e)は、図2および図3の動作例を用いた場合のそれぞれ異なる具体的な処理結果の一例を示す説明図である。(A)-(e) is explanatory drawing which shows an example of a different specific process result at the time of using the operation example of FIG. 2 and FIG. (a)〜(e)は、図4(a)〜(e)の変形例を示す説明図である。(A)-(e) is explanatory drawing which shows the modification of FIG. 4 (a)-(e). 本発明の実施の形態2による半導体装置において、その全体構成の一例を示すブロック図である。In the semiconductor device by Embodiment 2 of this invention, it is a block diagram which shows an example of the whole structure. 図6の半導体装置において、そのデータ格納用のフラッシュメモリの概略構成例を示す回路ブロック図である。FIG. 7 is a circuit block diagram illustrating a schematic configuration example of a flash memory for storing data in the semiconductor device of FIG. 6. 図7における各メモリセルの詳細を示すものであり、(a)は各メモリセルの詳細な構成例を示す回路図、(b)は(a)における各種動作条件の一例を示す説明図、(c)は(b)の動作に伴う各メモリセルのしきい値状態の一例を示す説明図である。FIG. 8 shows details of each memory cell in FIG. 7, (a) is a circuit diagram showing a detailed configuration example of each memory cell, (b) is an explanatory diagram showing examples of various operating conditions in (a), (c) is explanatory drawing which shows an example of the threshold value state of each memory cell accompanying the operation | movement of (b). 図7のフラッシュメモリにおけるメモリマットのレイアウト構成例を示す概略図である。FIG. 8 is a schematic diagram illustrating a layout configuration example of a memory mat in the flash memory of FIG. 7. 図7および図9における各センスアンプ回路ブロック周りの概略構成例を示す回路図である。FIG. 10 is a circuit diagram illustrating a schematic configuration example around each sense amplifier circuit block in FIGS. 7 and 9. 図10を変形した各センスアンプ回路ブロック周りの概略構成例を示す回路図である。FIG. 11 is a circuit diagram illustrating a schematic configuration example around each sense amplifier circuit block obtained by modifying FIG. 10. (a)は図7におけるパリティー生成回路の詳細な構成例を示す回路図であり、(b)は(a)における加算回路の動作例を示す真理値表である。(A) is a circuit diagram showing a detailed configuration example of the parity generation circuit in FIG. 7, (b) is a truth table showing an operation example of the addition circuit in (a). 図7におけるエラー処理回路ブロックの詳細な動作例を示す真理値表である。FIG. 8 is a truth table showing a detailed operation example of the error processing circuit block in FIG. 7. FIG. 図7におけるエラー処理回路ブロックの詳細な構成例を示す回路図である。FIG. 8 is a circuit diagram illustrating a detailed configuration example of an error processing circuit block in FIG. 7. 本発明の実施の形態3による半導体装置(記憶装置)において、それに含まれるメモリユニットの構成例を示す概略図である。In the semiconductor device (memory | storage device) by Embodiment 3 of this invention, it is the schematic which shows the structural example of the memory unit contained in it. 図15におけるエラー処理回路ブロックの主要な動作例を示すフロー図である。FIG. 16 is a flowchart showing a main operation example of the error processing circuit block in FIG. 15. 本発明の実施の形態4による半導体装置(記憶装置)において、それに含まれるメモリユニットの構成例を示す概略図である。In the semiconductor device (memory | storage device) by Embodiment 4 of this invention, it is the schematic which shows the structural example of the memory unit contained in it. 図17におけるエラー処理回路ブロックの動作例を示すフロー図である。FIG. 18 is a flowchart showing an operation example of the error processing circuit block in FIG. 17. (a)〜(e)は、図18の動作例を用いた場合のそれぞれ異なる具体的な処理結果の一例を示す説明図である。(A)-(e) is explanatory drawing which shows an example of a different specific process result at the time of using the operation example of FIG.

以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。   In the following embodiment, when it is necessary for the sake of convenience, the description will be divided into a plurality of sections or embodiments. However, unless otherwise specified, they are not irrelevant, and one is the other. Some or all of the modifications, details, supplementary explanations, and the like are related. Further, in the following embodiments, when referring to the number of elements (including the number, numerical value, quantity, range, etc.), especially when clearly indicated and when clearly limited to a specific number in principle, etc. Except, it is not limited to the specific number, and may be more or less than the specific number.

さらに、以下の実施の形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。   Further, in the following embodiments, the constituent elements (including element steps and the like) are not necessarily indispensable unless otherwise specified and apparently essential in principle. Needless to say. Similarly, in the following embodiments, when referring to the shapes, positional relationships, etc. of the components, etc., the shapes are substantially the same unless otherwise specified, or otherwise apparent in principle. And the like are included. The same applies to the above numerical values and ranges.

また、実施の形態の各機能ブロックを構成する回路素子は、特に制限されないが、公知のCMOS(相補型MOSトランジスタ)等の集積回路技術によって、単結晶シリコンのような半導体基板上に形成される。なお、実施の形態では、MISFET(Metal Insulator Semiconductor Field Effect Transistor)の一例としてMOSFET(Metal Oxide Semiconductor Field Effect Transistor)(MOSトランジスタと略す)を用いるが、ゲート絶縁膜として非酸化膜を除外するものではない。   The circuit elements constituting each functional block of the embodiment are not particularly limited, but are formed on a semiconductor substrate such as single crystal silicon by a known integrated circuit technology such as a CMOS (complementary MOS transistor). . In the embodiment, a MOSFET (Metal Oxide Semiconductor Field Effect Transistor) (abbreviated as a MOS transistor) is used as an example of a MISFET (Metal Insulator Semiconductor Field Effect Transistor), but a non-oxide film is not excluded as a gate insulating film. Absent.

以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Note that components having the same function are denoted by the same reference symbols throughout the drawings for describing the embodiment, and the repetitive description thereof will be omitted.

(実施の形態1)
《メモリユニットの概略構成および概略動作[1]》
図1は、本発明の実施の形態1による半導体装置(記憶装置)において、それに含まれるメモリユニットの構成例を示す概略図である。図1に示すメモリユニットは、メモリ領域MEM1,MEM2と、パリティー生成回路PRTYG1,PRTYG2と、パリティー用記憶ノードSN1p,SN2pと、エラー処理回路ブロックERCBK1を備えている。MEM1は(N+1)ビットの記憶ノードSN1[0]〜SN1[N]を備え、MEM2は(N+1)ビットの記憶ノードSN2[0]〜SN2[N]を備える。
(Embodiment 1)
<< Schematic Configuration and Operation of Memory Unit [1] >>
FIG. 1 is a schematic diagram showing a configuration example of a memory unit included in a semiconductor device (storage device) according to Embodiment 1 of the present invention. The memory unit shown in FIG. 1 includes memory areas MEM1 and MEM2, parity generation circuits PRTYG1 and PRTYG2, parity storage nodes SN1p and SN2p, and an error processing circuit block ERCBK1. MEM1 includes (N + 1) -bit storage nodes SN1 [0] to SN1 [N], and MEM2 includes (N + 1) -bit storage nodes SN2 [0] to SN2 [N].

ここで、MEM1,MEM2は、MEM1を正極(Posi)データ、MEM2を負極(Nega)データとする相補型メモリとなる。また、ここでは、SN1pは記憶ノードSN1pp,SN1pnからなる相補ビット(2ビット)で構成され、SN2pは記憶ノードSN2pp,SN2pnからなる相補ビットで構成される。SN1p,SN2pのそれぞれは、場合によっては1ビットで構成することも可能であるが、パリティービットの信頼性を高めるためには、差分によって大きな読み出し信号が得られる相補ビット(2ビット)で構成する方が望ましい。   Here, MEM1 and MEM2 are complementary memories having MEM1 as positive electrode (Posi) data and MEM2 as negative electrode (Nega) data. Here, SN1p is composed of complementary bits (2 bits) composed of storage nodes SN1pp and SN1pn, and SN2p is composed of complementary bits composed of storage nodes SN2pp and SN2pn. Each of SN1p and SN2p can be configured with 1 bit depending on circumstances, but in order to increase the reliability of the parity bit, it is configured with complementary bits (2 bits) from which a large read signal can be obtained by the difference. Is preferable.

書き込み動作の際、MEM1のSN1[0]〜SN1[N]には、それぞれ、(N+1)ビットのデータ入力信号DI[0]〜DI[N](なお便宜上区別無くDI[0:N]と表記する場合もあり、その他の符号に関しても同様)が記憶される。また、MEM2のSN2[0]〜SN2[N]には、それぞれ、DI[0]〜DI[N]の反転データ入力信号(/DI[0]〜/DI[N])が記憶される。PRTYG1は、DI[0]〜DI[N]を対象としたパリティービットの値を演算し、その値をSN1pに書き込む。PRTYG2は、/DI[0]〜/DI[N]を対象としたパリティービットの値を演算し、その値をSN2pに書き込む。   During the write operation, SN1 [0] to SN1 [N] of MEM1 are respectively connected to (N + 1) -bit data input signals DI [0] to DI [N] (DI [0: N] without distinction for convenience). May be written, and the same applies to other codes). Further, inverted data input signals (/ DI [0] to / DI [N]) of DI [0] to DI [N] are stored in SN2 [0] to SN2 [N] of MEM2, respectively. PRTYG1 calculates the value of the parity bit for DI [0] to DI [N] and writes the value to SN1p. PRTYG2 calculates the value of the parity bit for / DI [0] to / DI [N] and writes the value to SN2p.

一方、読み出し動作の際、MEM1のSN1[0]〜SN1[N]の記憶データがプリデータ信号PREDATp[0]〜PREDATp[N]として読み出され、MEM2のSN2[0]〜SN2[N]の記憶データがプリデータ信号PREDATn[0]〜PREDATn[N]として読み出される。ERCBK1は、これらのプリデータ信号と、SN1p,SN2pから読み出した信号(パリティービット)を用いて、エラー検出およびエラー訂正を行い、エラー訂正後となる(N+1)ビットのデータ出力信号DO[0]〜DO[N]を出力する。   On the other hand, during the read operation, the stored data of SN1 [0] to SN1 [N] of MEM1 is read as pre-data signals PREDATp [0] to PREDATp [N], and SN2 [0] to SN2 [N] of MEM2 Stored data is read as pre-data signals PREDATn [0] to PREDATn [N]. ERCBK1 performs error detection and error correction using these pre-data signals and signals (parity bits) read from SN1p and SN2p, and (N + 1) -bit data output signal DO [0] after error correction. ~ DO [N] is output.

《エラー処理動作[1]》
図2は、図1におけるパリティー生成回路の動作例を示す説明図である。図2に示すように、パリティー生成回路PRTYG1は、(N+1)ビットの正極(Posi)データ(DI[0]〜DI[N])を対象として当該(N+1)ビットとパリティービット(SN1p)内に含まれる「1」情報の合計数が奇数個となるようなパリティービットの値を定める。すなわち、当該(N+1)ビット中に含まれる「1」情報の合計数が奇数個の場合にはSN1pに「0」情報を書き込み、当該(N+1)ビット中に含まれる「1」情報の合計数が偶数個の場合にはSN1pに「1」情報を書き込む。
<< Error handling operation [1] >>
FIG. 2 is an explanatory diagram showing an operation example of the parity generation circuit in FIG. As shown in FIG. 2, the parity generation circuit PRTYG1 targets (N + 1) bits of positive polarity (Posi) data (DI [0] to DI [N]) in the (N + 1) bits and the parity bit (SN1p). The parity bit value is determined such that the total number of included “1” information is an odd number. That is, when the total number of “1” information included in the (N + 1) bits is an odd number, “0” information is written into SN1p, and the total number of “1” information included in the (N + 1) bits. If the number is even, "1" information is written into SN1p.

同様に、パリティー生成回路PRTYG2は、(N+1)ビットの負極(Nega)データ(/DI[0]〜/DI[N])を対象として当該(N+1)ビットとパリティービット(SN2p)内に含まれる「1」情報の合計数が奇数個となるようなパリティービットの値を定める。このようにして、図2の例では、正極側のSN1pが「0」に、負極側のSN2pが「1」に定められる。このようなパリティー方式は奇数(odd)パリティー等と呼ばれる。ただし、勿論、奇数(odd)パリティーに限らず、「1」情報の合計数を偶数個に揃える偶数(even)パリティーを用いることも可能である。   Similarly, the parity generation circuit PRTYG2 includes (N + 1) bits of negative (Nega) data (/ DI [0] to / DI [N]) in the (N + 1) bits and the parity bit (SN2p). The parity bit value is determined such that the total number of “1” information is an odd number. In this way, in the example of FIG. 2, SN1p on the positive electrode side is set to “0”, and SN2p on the negative electrode side is set to “1”. Such a parity method is called odd parity. However, it goes without saying that not only odd parity but also even parity in which the total number of “1” information is even-numbered can be used.

図3は、図1におけるエラー処理回路ブロックの動作例を示すフロー図である。図3に示すように、エラー処理回路ブロックERCBK1は、まず、正極(Posi)用のシングルデータ列となるプリデータ信号(図1のPREDATp[0]〜PREDATp[N])と、正極用のパリティービット(図1のSN1pの情報)を読み出し、パリティーチェックを行う(S101)。ここでは、当該パリティーチェック結果(Parity Check P)が正常(すなわち、PREDATp[0:N],SN1pにおける「1」情報の数が奇数個)な場合を「Parity Check P=0」と表現し、異常(「1」情報の数が偶数個)な場合を「Parity Check P=1」と表現する。   FIG. 3 is a flowchart showing an operation example of the error processing circuit block in FIG. As shown in FIG. 3, first, the error processing circuit block ERCBK1 includes a pre-data signal (PREDATp [0] to PREDATp [N] in FIG. 1) that is a single data string for positive polarity (Posi) and a parity for positive polarity. A bit (information of SN1p in FIG. 1) is read and a parity check is performed (S101). Here, the case where the parity check result (Parity Check P) is normal (that is, PREDATp [0: N], the number of “1” information in SN1p is an odd number) is expressed as “Parity Check P = 0”. A case where there is an abnormality (the number of “1” information is an even number) is expressed as “Parity Check P = 1”.

次いで、ERCBK1は、負極(Nega)用のシングルデータ列となるプリデータ信号(図1のPREDATn[0]〜PREDATn[N])と、負極用のパリティービット(図1のSN2pの情報)を読み出し、パリティーチェックを行う(S102)。ここでは、当該パリティーチェック結果(Parity Check N)が正常(すなわち、PREDATn[0:N],SN2pにおける「1」情報の数が奇数個)な場合を「Parity Check N=0」と表現し、異常(「1」情報の数が偶数個)な場合を「Parity Check N=1」と表現する。なお、S101,S102では、正極用のデータ列と負極用のデータ列をそれぞれシングルデータ列として別個独立に読み出している点が特徴となっている。すなわち、通常の相補型メモリでは、正極用のデータ列と負極用のデータ列は差動対として一体不可分に読み出され、正極用のデータのみ又は負極用のデータのみを単独で読み出すようなことは通常行われない。   Next, ERCBK1 reads a pre-data signal (PREDATn [0] to PREDATn [N] in FIG. 1) that is a single data string for the negative electrode (Nega), and a parity bit for the negative electrode (information of SN2p in FIG. 1). Parity check is performed (S102). Here, a case where the parity check result (Parity Check N) is normal (that is, PREDATn [0: N], the number of “1” information in SN2p is an odd number) is expressed as “Parity Check N = 0”. A case where there is an abnormality (the number of “1” information is an even number) is expressed as “Parity Check N = 1”. Note that S101 and S102 are characterized in that the positive data string and the negative data string are each independently read as a single data string. In other words, in a normal complementary memory, the positive data string and the negative data string are inseparably read as a differential pair, and only the positive data or only the negative data is read alone. Is not usually done.

続いて、ERCBK1は、正極用のプリデータ信号(PREDATp[0]〜PREDATp[N])と負極用のプリデータ信号(PREDATn[0]〜PREDATn[N])の一致・不一致を各ビット毎に判定する(S103)。全てのビットが不一致であれば、相補データが正常に記憶されていることになるためエラー無しと判定する(S109)。一方、一致するビットが存在する場合には、ERCBK1は、S101におけるパリティーチェック結果(Parity Check P)が異常(「1」)か正常(「0」)かを判定する(S104)。異常であれば、ERCBK1は、正極用のプリデータ信号の中で、S103で一致したビットが誤データであると判定し(S106)、当該ビットを訂正する(S110)。   Subsequently, the ERCBK1 determines whether the positive pre-data signal (PREDATp [0] to PREDATp [N]) matches the negative pre-data signal (PREDATn [0] to PREDATn [N]) for each bit. Determine (S103). If all the bits do not match, it is determined that there is no error since complementary data is stored normally (S109). On the other hand, if there is a matching bit, ERCBK1 determines whether the parity check result (Parity Check P) in S101 is abnormal (“1”) or normal (“0”) (S104). If abnormal, ERCBK1 determines that the bit matched in S103 in the positive pre-data signal is erroneous data (S106), and corrects the bit (S110).

また、ERCBK1は、S104におけるパリティーチェック結果(Parity Check P)が正常(「0」)であった場合には、S102におけるパリティーチェック結果(Parity Check N)が異常(「1」)か正常(「0」)かを判定する(S105)。異常であれば、ERCBK1は、負極用のプリデータ信号の中で、S103で一致したビットが誤データであると判定し(S107)、当該ビットを訂正する(S110)。一方、S105の結果が正常であれば、ERCBK1は、エラーは存在するものの訂正は不可と判定する(S108)。なお、S106,S107,S110では、S103で一致したビットが1ビットである場合を前提とし、複数ビットの場合には、S108の場合と同様にエラーは存在するものの訂正は不可と判定される。   In addition, when the parity check result (Parity Check P) in S104 is normal (“0”), ERCBK1 determines whether the parity check result (Parity Check N) in S102 is abnormal (“1”) or normal (“1”). 0 ") is determined (S105). If abnormal, ERCBK1 determines that the bit matched in S103 in the negative pre-data signal is erroneous data (S107), and corrects the bit (S110). On the other hand, if the result of S105 is normal, ERCBK1 determines that there is an error but correction is not possible (S108). In S106, S107, and S110, it is assumed that the bit matched in S103 is 1 bit. In the case of a plurality of bits, it is determined that correction is impossible although an error exists as in S108.

図4(a)〜図4(e)は、図2および図3の動作例を用いた場合のそれぞれ異なる具体的な処理結果の一例を示す説明図である。まず、図4(a)には、図3のS109に対応するエラー無しの状態が示されている。ここでは、正極データ(PREDATp[0]〜PREDATp[N])と負極データ(PREDATn[0]〜PREDATn[N])における各ビットが相補データとなっており、正極データおよび負極データに対するパリティーチェック結果も共に正常である。   FIGS. 4A to 4E are explanatory diagrams illustrating examples of specific processing results different from each other when the operation examples of FIGS. 2 and 3 are used. First, FIG. 4A shows an error-free state corresponding to S109 in FIG. Here, each bit in the positive data (PREDATp [0] to PREDATp [N]) and the negative data (PREDATn [0] to PREDATn [N]) is complementary data, and the parity check result for the positive data and the negative data Both are normal.

図4(b)には、図3のS106に対応し、正極データ中の1ビットが「0」から「1」に化けた状態が示されている。ここでは、正極データと負極データにおける[0]ビット目が相補データでは無く、正極データに対するパリティーチェック結果が異常となっている。したがって、正極データの[0]ビット目が誤データであると判断でき、当該データを反転させることでエラー訂正が実現できる。図4(c)には、図3のS106に対応し、正極データ中の1ビットが「1」から「0」に化けた状態が示されている。ここでは、正極データと負極データにおける[1]ビット目が相補データでは無く、正極データに対するパリティーチェック結果が異常となっている。したがって、正極データの[1]ビット目が誤データであると判断でき、当該データを反転させることでエラー訂正が実現できる。   FIG. 4B shows a state in which one bit in the positive polarity data has changed from “0” to “1”, corresponding to S106 in FIG. Here, the [0] bit in the positive and negative data is not complementary data, and the parity check result for the positive data is abnormal. Therefore, it can be determined that the [0] bit of the positive polarity data is erroneous data, and error correction can be realized by inverting the data. FIG. 4C shows a state in which one bit in the positive polarity data has changed from “1” to “0”, corresponding to S106 in FIG. Here, the [1] -th bit in the positive and negative data is not complementary data, and the parity check result for the positive data is abnormal. Therefore, it can be determined that the [1] -th bit of the positive electrode data is erroneous data, and error correction can be realized by inverting the data.

図4(d)には、図3のS107に対応し、負極データ中の1ビットが「1」から「0」に化けた状態が示されている。ここでは、正極データと負極データにおける[0]ビット目が相補データでは無く、負極データに対するパリティーチェック結果が異常となっている。したがって、負極データの[0]ビット目が誤データであると判断でき、当該データを反転させることでエラー訂正が実現できる。図4(e)には、図3のS107に対応し、負極データ中の1ビットが「0」から「1」に化けた状態が示されている。ここでは、正極データと負極データにおける[1]ビット目が相補データでは無く、負極データに対するパリティーチェック結果が異常となっている。したがって、負極データの[1]ビット目が誤データであると判断でき、当該データを反転させることでエラー訂正が実現できる。   FIG. 4D shows a state in which one bit in the negative electrode data has changed from “1” to “0”, corresponding to S107 in FIG. Here, the [0] -th bit in the positive and negative data is not complementary data, and the parity check result for the negative data is abnormal. Therefore, it can be determined that the [0] bit of the negative electrode data is erroneous data, and error correction can be realized by inverting the data. FIG. 4E shows a state in which one bit in the negative electrode data is changed from “0” to “1” corresponding to S107 in FIG. Here, the [1] -th bit in the positive data and the negative data is not complementary data, and the parity check result for the negative data is abnormal. Therefore, it can be determined that the [1] -th bit of the negative electrode data is erroneous data, and error correction can be realized by inverting the data.

図5(a)〜図5(e)は、図4(a)〜図4(e)の変形例を示す説明図である。図5(a)〜図5(e)は、図4(a)〜図4(e)と比較して、正極データに対するパリティービットの値と負極データに対するパリティービットの値が同一値となっている点が異なっている。この点を除いて、図5(a)〜図5(e)に示す処理結果は、図4(a)〜図4(e)と同様である。   FIG. 5A to FIG. 5E are explanatory diagrams showing modifications of FIG. 4A to FIG. 5A to 5E, compared to FIGS. 4A to 4E, the value of the parity bit for the positive data and the value of the parity bit for the negative data are the same value. Is different. Except for this point, the processing results shown in FIGS. 5A to 5E are the same as those in FIGS. 4A to 4E.

ここで、前述した図2の動作例において、データのビット数(N+1)が奇数個の場合、図2および図4(a)〜図4(e)に示すように、正常なパリティービットの値として正極側と負極側で異なる値が書き込まれることになる。一方、前述した図2の動作例において、データのビット数(N+1)が偶数個の場合、図5(a)〜図5(e)に示すように、正常なパリティービットの値として正極側と負極側で同一値が書き込まれることになる。図5(a)〜図5(e)は、この図2の動作例におけるデータのビット数(N+1)が偶数個である場合を前提とした処理結果の一例を示したものである。多くの場合、データのビット数(パラレルビット数)はバイト(8ビット)の整数倍であるため、奇数個ではなく偶数個を前提とした図5(a)〜図5(e)のような処理結果がより現実的に生じ得る。   Here, in the operation example of FIG. 2 described above, when the number of data bits (N + 1) is an odd number, as shown in FIG. 2 and FIGS. As a result, different values are written on the positive electrode side and the negative electrode side. On the other hand, in the operation example of FIG. 2 described above, when the number of data bits (N + 1) is an even number, as shown in FIG. 5A to FIG. The same value is written on the negative electrode side. FIGS. 5A to 5E show an example of processing results on the assumption that the number of data bits (N + 1) is an even number in the operation example of FIG. In many cases, the number of data bits (the number of parallel bits) is an integer multiple of a byte (8 bits), and therefore, as shown in FIGS. 5A to 5E assuming an even number instead of an odd number. Processing results can occur more realistically.

《本実施の形態1の主要な効果》
以上のように、本実施の形態1の半導体装置(記憶装置)は、正極ビット列および負極ビット列のそれぞれに対するパリティーチェック結果から正極側と負極側のどちらが異常かを特定し、正極ビット列と負極ビット列間の各ビット毎の比較結果から1個のビット番号を特定し、当該特定箇所に対して1ビットのエラー訂正を行う機能を備えている。これによって、データの信頼性を向上させることが可能になる。また、この際に、パリティービットを相補ビットで記憶することで、パリティービットの信頼性が向上することからデータの信頼性の更なる向上が図れる。更に、このようなデータの信頼性の向上効果を低コストで得ることが可能になる。当該低コスト化の効果は、特にアクセス単位のパラレルビット数が少ない場合により有益なものとなる。
<< Main effects of the first embodiment >>
As described above, the semiconductor device (storage device) according to the first embodiment identifies which one of the positive side and the negative side is abnormal from the parity check result for each of the positive bit string and the negative bit string. A function is provided that specifies one bit number from the comparison result for each bit and corrects 1-bit error at the specified location. This makes it possible to improve data reliability. At this time, since the parity bit is stored as a complementary bit, the reliability of the parity bit is improved, so that the reliability of the data can be further improved. Furthermore, it is possible to obtain such an effect of improving the reliability of data at a low cost. The cost reduction effect is more beneficial particularly when the number of parallel bits in the access unit is small.

すなわち、比較例としてハミングコード(ECC)方式を用いた場合、例えば2バイト(16ビット)(相補時32ビット)のパラレルデータに対して5ビット(相補時10ビット)のハミングコードを付加するため、(32+10)/32倍(約1.3倍)の記憶領域を確保する必要がある。一方、本実施の形態の方式を用いた場合、16ビット(相補時32ビット)のパラレルデータに対して正極用の1ビットのパリティービット(相補時2ビット)と負極用の1ビットのパリティービット(相補時2ビット)を加えればよく、パリティービットを相補とした場合、(32+4)/32倍(約1.1倍)の記憶領域を確保すればよい。このように、本実施の形態の方式では、記憶領域の確保に伴う面積オーバヘッドを抑制することができる。更に、パリティービットの生成、パリティーチェック、およびエラー訂正を行う際の処理内容も、図2および図3から判るようにハミングコード(ECC)方式を用いる場合と比較して簡素であるため、当該処理に必要な各種処理回路に伴う面積オーバヘッドも十分に抑制される。これらの結果、半導体装置(記憶装置)の小型化や低コスト化が可能になる。   That is, when a Hamming code (ECC) method is used as a comparative example, for example, a 5-bit Hamming code (10 bits at complement) is added to parallel data of 2 bytes (16 bits) (32 bits at complement). , (32 + 10) / 32 times (about 1.3 times) storage area must be secured. On the other hand, when the system of the present embodiment is used, 1-bit parity bit for positive polarity (2 bits for complement) and 1-bit parity bit for negative polarity for 16-bit parallel data (32 bits when complementary) (2 bits at the time of complementation) may be added, and when the parity bit is complemented, a storage area of (32 + 4) / 32 times (about 1.1 times) may be secured. As described above, in the system according to the present embodiment, the area overhead associated with securing the storage area can be suppressed. Further, since the processing contents when generating parity bits, parity checking, and error correction are simple as compared with the case where the Hamming code (ECC) method is used as can be seen from FIGS. In addition, the area overhead associated with various processing circuits required for processing is sufficiently suppressed. As a result, the semiconductor device (memory device) can be reduced in size and cost.

(実施の形態2)
本実施の形態2では、実施の形態1のメモリユニットを備えた半導体装置の更なる具体例について説明する。
(Embodiment 2)
In the second embodiment, a further specific example of a semiconductor device including the memory unit of the first embodiment will be described.

《半導体装置の全体構成》
図6は、本発明の実施の形態2による半導体装置において、その全体構成の一例を示すブロック図である。図6には、半導体装置の一例として、例えばCMOSプロセス等により単結晶シリコンのような1個の半導体チップ上に形成されたマイクロコンピュータMCUが示されている。MCUは、特に制限されないが、高速バスHBSと低速バス(周辺バス)LBSの2バス構成を有する。HBSとLBSは、特に制限されないが、それぞれデータバス、アドレスバス及びコントロールバスを含んでいる。バスを2バス構成に分離することにより、共通バスに全ての回路を共通接続する場合に比べてバスの負荷が軽くなり、高速アクセス動作が実現可能となる。
<< Overall configuration of semiconductor device >>
FIG. 6 is a block diagram showing an example of the overall configuration of the semiconductor device according to the second embodiment of the present invention. FIG. 6 shows a microcomputer MCU formed as an example of a semiconductor device on one semiconductor chip such as single crystal silicon by a CMOS process or the like. The MCU is not particularly limited, but has a two-bus configuration of a high-speed bus HBS and a low-speed bus (peripheral bus) LBS. The HBS and the LBS are not particularly limited, but include a data bus, an address bus, and a control bus, respectively. By separating the bus into two bus configurations, the load on the bus is reduced as compared with the case where all the circuits are commonly connected to the common bus, and a high-speed access operation can be realized.

高速バスHBSには、中央処理ユニットCPU、ダイレクトメモリアクセスコントローラDMAC、バスインタフェース回路BSIF、ランダムアクセスメモリRAM、および不揮発性メモリモジュールとしてのフラッシュメモリモジュールFMDLが接続される。FMDLは、データ格納用のフラッシュメモリFMD_D、プログラム(コード)格納用のフラッシュメモリFMD_C、高速アクセスポートHACSP、および低速アクセスポートLACSPを備える。FMDLは、HACSPを介してHBSに接続される。CPUは、RAMをワーク領域として用いながら所定の演算処理等を実行する。DMACは、CPU等からの命令に基づいて、RAMとFMDLとの間のデータ転送を制御する。BSIFは、HBSやLBSの使用権の制御や、HBSとLBSの間のバスブリッジの制御などを行う。   A central processing unit CPU, a direct memory access controller DMAC, a bus interface circuit BSIF, a random access memory RAM, and a flash memory module FMDL as a nonvolatile memory module are connected to the high-speed bus HBS. The FMDL includes a flash memory FMD_D for storing data, a flash memory FMD_C for storing programs (codes), a high-speed access port HACSP, and a low-speed access port LACSP. FMDL is connected to the HBS via HACSP. The CPU executes predetermined arithmetic processing and the like while using the RAM as a work area. The DMAC controls data transfer between the RAM and FMDL based on a command from the CPU or the like. The BSIF controls the usage rights of the HBS and LBS, and controls the bus bridge between the HBS and the LBS.

低速バスLBSには、フラッシュメモリモジュールFMDL、フラッシュシーケンサFSEQ、タイマTMR、外部入出力ポートPORT1,PORT2、バスインタフェース回路BSIF、およびクロック生成回路PLLが接続される。FMDLは、低速アクセスポートLACSPを介してLBSに接続される。FSEQは、FMDLに対するコマンドアクセス制御を行う。PLLは、MCUの各種内部クロック信号を生成する。PORT1,PORT2は、MCUの外部端子Din/Doutを介して外部との間の通信を制御する。なお、MCUには、外部端子として更にXTAL/EXTAL、STBY/RES、Vcc/Vssが備わっている。XTAL/EXTALには、例えば水晶振動子が接続されるか或いは外部クロック信号が供給され、PLLは当該端子を用いて動作を行う。STBYはスタンバイ状態を指示する外部ハードウェアスタンバイ端子、RESはリセットを指示する外部リセット端子、Vccは外部電源電圧端子、Vssは外部接地電源電圧端子である。   A flash memory module FMDL, a flash sequencer FSEQ, a timer TMR, external input / output ports PORT1 and PORT2, a bus interface circuit BSIF, and a clock generation circuit PLL are connected to the low-speed bus LBS. The FMDL is connected to the LBS via the low speed access port LACSP. FSEQ performs command access control for FMDL. The PLL generates various internal clock signals of the MCU. PORT1 and PORT2 control communication with the outside via external terminals Din / Dout of the MCU. The MCU further includes XTAL / EXTAL, STBY / RES, and Vcc / Vss as external terminals. For example, a crystal resonator is connected to XTAL / EXTAL or an external clock signal is supplied, and the PLL operates using the terminal. STBY is an external hardware standby terminal for instructing a standby state, RES is an external reset terminal for instructing a reset, Vcc is an external power supply voltage terminal, and Vss is an external ground power supply voltage terminal.

ここで、例えばCPUとFMDL内のFMD_C又はFMD_Dとの間では、HBSおよびHACSPを介して高速な読み出しアクセス動作が可能となっている。また、例えばCPUとFMDL内のFMD_Dとの間では、LBS、FSEQ、およびLACSPを介した書き込みアクセス動作等が可能となっている。このようにFMDLは、CPU(又はDMAC)の読み出し・書き込みアクセス対象とされ、CPUは、例えば一時的なデータ等をRAMに、次回の電源投入後に使用するデータ等をFMD_Dに格納しながら、FMD_Cから読み出したコードを適宜実行する。なお、実際のフラッシュメモリでは、書き込み動作に伴い数ステップの処理が必要とされるため、ここではFSEQがCPUからFMD_Dに向けた書き込み命令を受け、FSEQがFMD_Dの書き込み動作に必要な各種処理(例えば、消去動作、書き込み動作、ベリファイ動作)を時系列的に制御する。FSEQは、ここではFMDLの外部に備わっているがFMDLの内部に備わっていてもよい。また、特に限定はされないが、FMD_Cは数百キロバイト以上の容量値を備え、FMD_Dは数十キロバイト以下の容量値を備える。   Here, for example, a high-speed read access operation is possible between the CPU and the FMD_C or FMD_D in the FMDL via the HBS and the HACSP. For example, a write access operation via LBS, FSEQ, and LACSP is possible between the CPU and FMD_D in FMDL. As described above, the FMDL is a read / write access target of the CPU (or DMAC), and the CPU stores, for example, temporary data in the RAM and data used after the next power-on in the FMD_D while the FMD_C The code read from is appropriately executed. Since an actual flash memory requires several steps of processing along with the write operation, the FSEQ receives a write command from the CPU to the FMD_D, and the FSEQ requires various processes (FMD_D write operation) For example, the erase operation, the write operation, and the verify operation) are controlled in time series. The FSEQ is provided outside the FMDL here, but may be provided inside the FMDL. Although not particularly limited, FMD_C has a capacity value of several hundred kilobytes or more, and FMD_D has a capacity value of several tens of kilobytes or less.

例えば、図6に示したようなマイクロコンピュータMCUでは、CPU(あるいはDMAC)等からデータ格納用のフラッシュメモリFMD_Dに向けて小領域(例えば数バイト)のアクセス単位で多数の書き込みアクセスが生じる場合がある。これに伴い、FMD_Dではデータリテンションが劣化する恐れがあるため、FMD_Dは相補メモリやエラー訂正機能を備えることが有益となる。ただし、この場合、面積オーバヘッドの増大が懸念されるが、通常、FMD_DはFMD_Cに比べて小容量であるため、ある程度は許容可能である。一方、FMD_Cは、実動作上、コード格納用のROM(Read Only Memory)として用いられるため、FMD_Dに比べてデータリテンションの劣化が生じ難く、また、FMD_Dに比べて大容量であるため小面積化に重点をおいたシングルメモリ等であってもよい。   For example, in the microcomputer MCU as shown in FIG. 6, a large number of write accesses may occur from the CPU (or DMAC) or the like to the flash memory FMD_D for data storage in an access unit of a small area (for example, several bytes). is there. Along with this, there is a possibility that data retention may be deteriorated in FMD_D. Therefore, it is beneficial that FMD_D has a complementary memory and an error correction function. However, in this case, although there is a concern about an increase in area overhead, since FMD_D usually has a smaller capacity than FMD_C, it is acceptable to some extent. On the other hand, since FMD_C is used as a ROM (Read Only Memory) for storing codes in actual operation, data retention is less likely to occur compared to FMD_D, and because it has a larger capacity than FMD_D, the area is reduced. It may be a single memory with an emphasis on.

《フラッシュメモリの全体構成》
図7は、図6の半導体装置において、そのデータ格納用のフラッシュメモリの概略構成例を示す回路ブロック図である。図8は、図7における各メモリセルの詳細を示すものであり、図8(a)は各メモリセルの詳細な構成例を示す回路図、図8(b)は図8(a)における各種動作条件の一例を示す説明図、図8(c)は図8(b)の動作に伴う各メモリセルのしきい値状態の一例を示す説明図である。図7に示すフラッシュメモリFMD_Dは、メモリマットMMAT、行デコード回路RDEC1,RDEC2、列デコード回路CDEC、書き込みデータラッチ回路WLT、書き込み列選択回路WSEL、ベリファイ回路VRFY、入出力バッファ回路IOBF、出力バッファ回路OBF、および内部電源生成回路VGを備えている。
<Overall configuration of flash memory>
FIG. 7 is a circuit block diagram showing a schematic configuration example of a flash memory for storing data in the semiconductor device of FIG. FIG. 8 shows details of each memory cell in FIG. 7, FIG. 8 (a) is a circuit diagram showing a detailed configuration example of each memory cell, and FIG. 8 (b) shows various types in FIG. FIG. 8C is an explanatory diagram showing an example of operating conditions, and FIG. 8C is an explanatory diagram showing an example of the threshold state of each memory cell accompanying the operation of FIG. 8B. The flash memory FMD_D shown in FIG. 7 includes a memory mat MMAT, row decode circuits RDEC1 and RDEC2, a column decode circuit CDEC, a write data latch circuit WLT, a write column selection circuit WSEL, a verify circuit VRFY, an input / output buffer circuit IOBF, and an output buffer circuit. An OBF and an internal power supply generation circuit VG are provided.

MMATは、1ビットの情報を相補(正極、負極)で記憶する2個のメモリセルMC1,MC2と、正極用の各メモリセルに対するパリティービットを相補で記憶する2個のメモリセルMCp1,MCp2と、負極用の各メモリセルに対するパリティービットを相補で記憶する2個のメモリセルMCn1,MCn2を備えている。各メモリセル(MC1,MC2,MCp1,MCp2,MCn1,MCn2)は、例えば、図8(a)に例示されるスプリットゲート型フラッシュメモリ素子とされる。このメモリ素子は、ソース・ドレイン領域の間のチャネル形成領域の上にゲート絶縁膜を介して配置されたコントロールゲートCGとメモリゲートMGを有し、メモリゲートとゲート絶縁膜の間にはシリコンナイトライド等の電荷トラップ領域(SiN)が配置されて構成される。CG側のソース又はドレイン領域はビット線BLに接続され、MG側のソース又はドレイン領域はソース線SLに接続される。   The MMAT includes two memory cells MC1 and MC2 that store 1-bit information in a complementary manner (positive and negative), and two memory cells MCp1 and MCp2 that store a parity bit for each positive-polarity memory cell in a complementary manner. , Two memory cells MCn1 and MCn2 for storing the parity bit for each memory cell for the negative electrode complementarily. Each memory cell (MC1, MC2, MCp1, MCp2, MCn1, MCn2) is, for example, a split gate type flash memory device illustrated in FIG. This memory element has a control gate CG and a memory gate MG disposed on a channel formation region between a source / drain region via a gate insulating film, and a silicon nitride is interposed between the memory gate and the gate insulating film. A charge trap region (SiN) such as a ride is arranged. The source or drain region on the CG side is connected to the bit line BL, and the source or drain region on the MG side is connected to the source line SL.

図8(b)に示すように、メモリセルのしきい値電圧(Vth)を下げる際には、BL=1.5V、CG=0V、MG=−10V、SL=6V、ウェル領域WELL=0Vとされる。これによって、WELLとMG間の高電界によって電荷トラップ領域(SiN)からWELLに電子が引き抜かれる。この処理単位はMGを共有する複数メモリセルとされる。メモリセルのVthを上げる際には、BL=0V、CG=1.5V、MG=10V、SL=6V、WELL=0Vとされる。これによって、SLからBLに書き込み電流が流れ、それによってCGとMGの境界部分で発生するホットエレクトロンが電荷トラップ領域(SiN)に注入される。電子の注入はBLに電流を流すか否かによって決まるため、この処理はビット単位で制御される。読み出しの際には、BL=1.5V、CG=1.5V,MG=0V、SL=0V、WELL=0Vとされる。メモリセルのVthが低ければメモリセルはオン状態にされ、高ければオフ状態にされる。また、ここでは、メモリセルのVthを下げる動作を消去動作とし、メモリセルのVthを上げる動作を書き込み動作としている。   As shown in FIG. 8B, when lowering the threshold voltage (Vth) of the memory cell, BL = 1.5V, CG = 0V, MG = −10V, SL = 6V, well region WELL = 0V It is said. As a result, electrons are extracted from the charge trap region (SiN) to WELL by a high electric field between WELL and MG. This processing unit is a plurality of memory cells sharing MG. When increasing the Vth of the memory cell, BL = 0V, CG = 1.5V, MG = 10V, SL = 6V, and WELL = 0V. As a result, a write current flows from SL to BL, whereby hot electrons generated at the boundary between CG and MG are injected into the charge trap region (SiN). Since the electron injection is determined by whether or not a current is supplied to BL, this process is controlled in units of bits. At the time of reading, BL = 1.5V, CG = 1.5V, MG = 0V, SL = 0V, and WELL = 0V. If Vth of the memory cell is low, the memory cell is turned on, and if it is high, it is turned off. Here, the operation of lowering the Vth of the memory cell is an erasing operation, and the operation of raising the Vth of the memory cell is a writing operation.

なお、メモリ素子は、このようなスプリットゲート型フラッシュメモリ素子に限定されず、例えば広く知られているスタックド・ゲート型フラッシュメモリ素子であってよい。このメモリ素子はソース・ドレイン領域の間のチャネル形成領域の上にゲート絶縁膜を介してフローティングゲート(FG)とコントロールゲート(CG)がスタックされて構成される。このようなメモリ素子では、例えば、ホットキャリア書き込み方式によってしきい値電圧を上げる動作が行われ、ウェル領域(WELL)への電子の放出によってしきい値電圧を下げる動作が行われる。また、例えば、FNトンネル書き込み方式によってしきい値電圧を上げる動作が行われ、ビット線(BL)への電子の放出によって閾値電圧を下げる動作が行われる。   The memory device is not limited to such a split gate flash memory device, and may be a widely known stacked gate flash memory device, for example. This memory element is configured by stacking a floating gate (FG) and a control gate (CG) on a channel formation region between a source / drain region via a gate insulating film. In such a memory element, for example, an operation for increasing the threshold voltage is performed by a hot carrier writing method, and an operation for decreasing the threshold voltage is performed by releasing electrons into the well region (WELL). In addition, for example, an operation of increasing the threshold voltage is performed by the FN tunnel writing method, and an operation of decreasing the threshold voltage is performed by releasing electrons to the bit line (BL).

相補ビット(ツインセル)となるメモリセルMC1,MC2は、例えば図8(c)に示すような状態で‘0’または‘1’の情報(データ)を記憶する。すなわち、MC1,MC2に対してデータを書き込む際には、まず図8(b)で述べた消去動作によってMC1,MC2が共に初期状態(Vthが低い状態)とされる。この状態から‘1’データを書き込む際には、負極用となるMC2に対して図8(b)で述べた書き込み動作が行われる。その結果、MC1が初期状態、MC2が書き込み状態(Vthが高い状態)となり、この状態がデータ‘1’に対応する。一方、MC1,MC2の初期状態から‘0’データを書き込む際には、正極用となるMC1に対して図8(b)で述べた書き込み動作が行われる。その結果、MC2が初期状態、MC1が書き込み状態となり、この状態がデータ‘0’に対応する。なお、ここでは、正極側においてVthが低い状態をデータ‘1’とし、Vthが高い状態をデータ‘0’としたが、勿論、データ‘0’と‘1’の対応関係を入れ替えることも可能である。   The memory cells MC1 and MC2 serving as complementary bits (twin cells) store information (data) of “0” or “1” in a state as shown in FIG. 8C, for example. That is, when writing data to MC1 and MC2, first, MC1 and MC2 are both brought into an initial state (a state in which Vth is low) by the erase operation described with reference to FIG. When writing "1" data from this state, the write operation described in FIG. 8B is performed on MC2 for negative electrode. As a result, MC1 is in an initial state, MC2 is in a write state (Vth is high), and this state corresponds to data ‘1’. On the other hand, when “0” data is written from the initial state of MC1 and MC2, the write operation described in FIG. As a result, MC2 is in an initial state and MC1 is in a write state, and this state corresponds to data “0”. Here, the state where Vth is low on the positive electrode side is data '1', and the state where Vth is high is data '0'. Of course, the correspondence relationship between data '0' and '1' can also be switched. It is.

図7のメモリマットMMATにおいて、MC1,MC2,MCp1,MCp2,MCn1,MCn2のメモリゲートMGは、共通のメモリゲート選択線MGLに接続され、コントロールゲートCGは共通のワード線WLに接続され、ソースノードは共通のソース線SLに接続される。ここでは、データ用のメモリセルとして代表的に、1個のツインセル(MC1,MC2)を示したが、実際には、同一のMGL,WL,SLに複数(例えば図1における(N+1)ビット分)のツインセルが接続される。また、ここでは、1本のMGL,WL,SLを示しているが、実際には、当該MGL,WL,SLに並んで複数本のMGL,WL,SLが順次配置され、これらのそれぞれに対して複数のツインセルおよびパリティー用のメモリセル(MCp1,MCp2,MCn1,MCn2)が接続される。   In the memory mat MMAT of FIG. 7, the memory gates MG of MC1, MC2, MCp1, MCp2, MCn1, and MCn2 are connected to a common memory gate selection line MGL, the control gate CG is connected to a common word line WL, and the source The nodes are connected to a common source line SL. Here, one twin cell (MC1, MC2) is typically shown as a memory cell for data, but in reality, a plurality of (for example, (N + 1) bits in FIG. 1) are provided in the same MGL, WL, SL. ) Twin cell is connected. In addition, although one MGL, WL, and SL are shown here, actually, a plurality of MGL, WL, and SL are sequentially arranged alongside the MGL, WL, and SL. A plurality of twin cells and memory cells for parity (MCp1, MCp2, MCn1, MCn2) are connected.

MC1,MC2,MCp1,MCp2,MCn1,MCn2は、それぞれ異なるサブビット線SBLに接続され、サブビット線選択回路BSELを介してそれぞれ異なる書き込み系メインビット線WMBLに接続される。また、MC1のサブビット線SBLは読み出し列選択回路RSELを介してセンスアンプ回路SA1の差動入力端子の一方に接続され、MC2のSBLはRSELを介してSA1の差動入力端子の他方に接続される。なお、SA1周りは、詳細は後述するが、図3で述べたように正極側と負極側をそれぞれシングルデータ列として読み出せるようにするため、工夫がなされている。   MC1, MC2, MCp1, MCp2, MCn1, and MCn2 are connected to different sub-bit lines SBL, and are connected to different write-related main bit lines WMBL via the sub-bit line selection circuit BSEL. The sub-bit line SBL of MC1 is connected to one of the differential input terminals of the sense amplifier circuit SA1 via the read column selection circuit RSEL, and the SBL of MC2 is connected to the other of the differential input terminals of SA1 via the RSEL. The Although the details around SA1 will be described later, as described with reference to FIG. 3, the positive electrode side and the negative electrode side are devised so that each can be read as a single data string.

MCp1のSBLはRSELを介してセンスアンプ回路SA2の差動入力端子の一方に接続され、MCp2のSBLはRSELを介してSA2の差動入力端子の他方に接続される。MCn1のSBLはRSELを介してセンスアンプ回路SA3の差動入力端子の一方に接続され、MCn2のSBLはRSELを介してSA3の差動入力端子の他方に接続される。このように、パリティービットを相補ビット(ツインセル)で記憶し、センスアンプ回路を用いて差動で読み出すことで、パリティービットの信頼性を向上させることが可能になる。すなわち、ツインセルの情報を差動で判定することで、例えばシングルセルの情報を中間レベルを基準として判定する場合と比べてマージンが大きくなり、その分だけパリティービットの信頼性(データ保持特性)が向上する。なお、パリティービットは、相補ビット(ツインセル)で構成することが望ましいが、場合によってシングルビット(シングルセル)で構成することも可能である。この場合、信頼性が低下するものの、面積オーバヘッドの抑制が図れる。   The SBL of MCp1 is connected to one of the differential input terminals of the sense amplifier circuit SA2 via RSEL, and the SBL of MCp2 is connected to the other of the differential input terminals of SA2 via RSEL. The SBL of MCn1 is connected to one of the differential input terminals of the sense amplifier circuit SA3 via RSEL, and the SBL of MCn2 is connected to the other of the differential input terminals of SA3 via RSEL. Thus, by storing parity bits as complementary bits (twin cells) and reading them differentially using a sense amplifier circuit, the reliability of the parity bits can be improved. That is, by determining the information of the twin cell differentially, for example, the margin becomes larger than when determining the information of the single cell on the basis of the intermediate level, and the reliability of the parity bit (data retention characteristic) is correspondingly increased. improves. The parity bit is preferably composed of complementary bits (twin cells), but may be composed of single bits (single cells) in some cases. In this case, although the reliability is lowered, the area overhead can be suppressed.

ワード線WLは、行デコード回路RDEC1によって駆動され、メモリゲート選択線MGL、ソース線SLおよびサブビット線選択回路BSELの選択信号は、行デコード回路RDEC2によって駆動される。RDEC1,RDEC2における選択動作は、読み出しアクセス時には図6のHACSPに供給されるアドレス情報等に従い、データの書き込み動作および消去動作では図6のLACSPに供給されるアドレス情報等に従う。各センスアンプ回路SA1〜SA3の出力信号は、それぞれ異なる読み出し系メインビット線RMBLに接続される。なお、実際には、SA1およびこれに対応するRMBLは、データのアクセス単位となるパラレルビット数(図1では(N+1)ビット分)が設けられる。   The word line WL is driven by the row decoding circuit RDEC1, and the selection signals of the memory gate selection line MGL, the source line SL, and the sub bit line selection circuit BSEL are driven by the row decoding circuit RDEC2. The selection operation in RDEC1 and RDEC2 follows the address information supplied to HACSP in FIG. 6 at the time of read access, and follows the address information supplied to LACSP in FIG. 6 in the data write operation and erase operation. Output signals of the sense amplifier circuits SA1 to SA3 are connected to different read-system main bit lines RMBL, respectively. In practice, SA1 and the corresponding RMBL are provided with the number of parallel bits (corresponding to (N + 1) bits in FIG. 1) as a data access unit.

出力バッファ回路OBFは、エラー処理回路ブロックERCBKを備える。ERCBKは、前述したメモリマットMMAT内のSA1〜SA3からの出力信号をRMBLを介して受け、図3で述べたような処理を行うことでエラー検出・エラー訂正を行う。すなわち、詳細は後述するが、ERCBKは、SA1を介してMC1を含む正極側のデータ列とMC2を含む負極側のデータ列を取得し、SA2を介して当該正極側のデータ列に対するパリティービット値を取得し、SA3を介して当該負極側のデータ列に対するパリティービット値を取得する。そして、ERCBKは、当該データ列に1ビットのエラーが存在する場合には当該エラーを訂正し、訂正後のデータ出力信号DO[0]〜DO[N]を図6の高速アクセスポートHACSPを介して高速バスHBSに出力する。   The output buffer circuit OBF includes an error processing circuit block ERCBK. The ERCBK receives the output signals from the SA1 to SA3 in the memory mat MMAT described above via the RMBL, and performs error detection and error correction by performing the processing described in FIG. That is, although details will be described later, ERCBK acquires a positive-side data string including MC1 and a negative-side data string including MC2 via SA1, and a parity bit value for the positive-side data string via SA2. And the parity bit value for the negative-side data string is obtained via SA3. The ERCBK corrects the error if there is a 1-bit error in the data string, and sends the corrected data output signals DO [0] to DO [N] via the high-speed access port HACSP in FIG. To the high-speed bus HBS.

書き込みデータラッチ回路WLTは、各書き込み系メインビット線WMBLにそれぞれ接続されるラッチ回路LT1,LT2,LTp1,LTn1を備え、当該ラッチ回路のラッチデータに基づいて各WMBLに対して選択的に書き込み電流を流す。なお、図7のWLTでは、MCp2のWMBLに接続されるラッチ回路(LTp2とする)とMCn2のWMBLに接続されるラッチ回路(LTn2とする)の記載を省略しているが、実際には存在する。書き込み列選択回路WSELは、WLT内の各ラッチ回路を選択的に入出力バッファ回路IOBFに接続すると共に、各ラッチ回路に接続されたWMBLを選択的にベリファイ回路VRFYに接続する。この際の選択信号は、列デコード回路CDECによって生成される。CDECの選択動作は、図6の低速アクセスポートLACSPに供給されるアドレス情報等に従う。   The write data latch circuit WLT includes latch circuits LT1, LT2, LTp1, and LTn1 respectively connected to the respective write main bit lines WMBL, and a write current is selectively applied to each WMBL based on the latch data of the latch circuit. Shed. In FIG. 7, the description of the latch circuit connected to the WMBL of MCp2 (referred to as LTp2) and the latch circuit connected to the WMBL of MCn2 (referred to as LTn2) are omitted. To do. The write column selection circuit WSEL selectively connects each latch circuit in the WLT to the input / output buffer circuit IOBF, and selectively connects the WMBL connected to each latch circuit to the verify circuit VRFY. The selection signal at this time is generated by the column decode circuit CDEC. The selection operation of CDEC follows the address information supplied to the low-speed access port LACSP in FIG.

ベリファイ回路VRFYは、各WMBLにそれぞれ接続されたベリファイ用センスアンプ回路VSAを備え、各VSAのベリファイ結果はIOBFに出力される。IOBFは、パリティー生成回路PRTYGを備え、図6の低速バスLBSから低速アクセスポートLACSPを介してデータ入力信号DI[0]〜DI[N]が入力され、またLACSPを介してLBSに向けてデータ出力信号DO[0]〜DO[N]を出力する。PRTYGは、DI[0]〜DI[N]を受けて正極用および負極用のパリティービット値を生成する。内部電源生成回路VGは、読み出し動作、書き込み動作、消去動作に必要な各種動作電源を生成する。   The verify circuit VRFY includes a verify sense amplifier circuit VSA connected to each WMBL, and the verify result of each VSA is output to the IOBF. The IOBF includes a parity generation circuit PRTYG, and data input signals DI [0] to DI [N] are input from the low-speed bus LBS of FIG. 6 through the low-speed access port LACSP, and data is transmitted to the LBS through LACSP. Output signals DO [0] to DO [N] are output. PRTYG receives DI [0] to DI [N] and generates parity bit values for positive and negative electrodes. The internal power supply generation circuit VG generates various operation power supplies necessary for the read operation, the write operation, and the erase operation.

《フラッシュメモリの全体動作》
図7のフラッシュメモリFMD_Dに対する書き込み動作および読み出し動作について簡単に説明する。まず、書き込み動作を行う際には、予め図6のフラッシュシーケンサFSEQの命令に応じてFMD_Dが図8(b)に示したような消去動作を行い、メモリセルMC1,MC2,MCp1,MCp2,MCn1,MCn2のしきい値電圧Vthを図8(c)に示すような低い状態にしておく。次いで、FSEQの命令に応じて、入出力バッファ回路IOBFが、データ入力信号DI[0]〜DI[N]に基づいて書き込みデータラッチ回路WLT内の各ラッチ回路の値を設定する。例えば、DI[0]に対応するツインセルがMC1,MC2であるものとして、DI[0]が‘1’の場合にはラッチ回路LT1に‘1’が設定され、ラッチ回路LT2に‘0’が設定される。逆に、DI[0]が‘0’の場合にはLT1に‘0’が設定され、LT2に‘1’が設定される。また、ラッチ回路LTp1,LTn1には、パリティー生成回路PRTYGによって生成されたパリティービット値がそれぞれ設定され、ラッチ回路LTp2,LTn2(図示せず)には当該パリティービット値を反転した値が設定される。
<Overall operation of flash memory>
A write operation and a read operation for the flash memory FMD_D in FIG. 7 will be briefly described. First, when performing a write operation, the FMD_D performs an erase operation as shown in FIG. 8B in advance in accordance with the instruction of the flash sequencer FSEQ of FIG. 6, and the memory cells MC1, MC2, MCp1, MCp2, MCn1 , MCn2 is kept low as shown in FIG. 8C. Next, the input / output buffer circuit IOBF sets the value of each latch circuit in the write data latch circuit WLT based on the data input signals DI [0] to DI [N] in accordance with the FSEQ command. For example, assuming that the twin cells corresponding to DI [0] are MC1 and MC2, when DI [0] is “1”, “1” is set in the latch circuit LT1, and “0” is set in the latch circuit LT2. Is set. Conversely, when DI [0] is “0”, “0” is set to LT1, and “1” is set to LT2. Further, the parity bit values generated by the parity generation circuit PRTYG are set in the latch circuits LTp1 and LTn1, respectively, and a value obtained by inverting the parity bit value is set in the latch circuits LTp2 and LTn2 (not shown). .

ここで、‘0’が設定されたラッチ回路は、対応する書き込み系メインビット線WMBLに対して書き込み電流を所定の期間供給し、‘1’が設定されたラッチ回路は、対応するWMBLに対して書き込み電流の供給を行わない。したがって、例えばDI[0]が‘1’の場合には、LT2がMC2を対象にWMBLおよびサブビット線選択回路BSELを介して書き込み電流を供給し、その結果、MC2のVthが上昇する。続いて、FSEQの命令に応じてベリファイ動作が行われる。ベリファイ動作では、MC1,MC2,MCp1,MCp2,MCn1,MCn2の記憶データがBSELおよび各WMBLを介して読み出される。各WMBLに読み出されたデータはベリファイ用センスアンプ回路VSAによって判定され、書き込み電流が供給されたメモリセル(対応するラッチ回路に‘0’が設定されたメモリセル)のVthが十分なレベルに達したかが検証される。この検証結果は、IOBFを介してFSEQに通知され、仮に十分なレベルに達していない場合にはFSEQの命令に応じて再度書き込み電流の供給が行われる。このような動作の結果、図8(c)に示したような書き込み状態が実現される。   Here, the latch circuit set to “0” supplies the write current to the corresponding write system main bit line WMBL for a predetermined period, and the latch circuit set to “1” corresponds to the corresponding WMBL. The write current is not supplied. Therefore, for example, when DI [0] is “1”, LT2 supplies a write current to MC2 via WMBL and the sub bit line selection circuit BSEL, and as a result, the Vth of MC2 increases. Subsequently, a verify operation is performed in accordance with the FSEQ command. In the verify operation, the data stored in MC1, MC2, MCp1, MCp2, MCn1, and MCn2 are read out via BSEL and each WMBL. The data read to each WMBL is determined by the verify sense amplifier circuit VSA, and the Vth of the memory cell to which the write current is supplied (the memory cell in which “0” is set in the corresponding latch circuit) is set to a sufficient level. It is verified whether it has been reached. The verification result is notified to the FSEQ via the IOBF, and if the level has not reached a sufficient level, the write current is supplied again in response to the FSEQ command. As a result of such an operation, a write state as shown in FIG. 8C is realized.

一方、読み出し動作を行う際には、MC1,MC2の記憶データが読み出し列選択回路RSELを介してセンスアンプ回路SA1に入力され、MCp1,MCp2の記憶データがRSELを介してセンスアンプ回路SA2に入力され、MCn1,MCn2の記憶データがRSELを介してセンスアンプ回路SA3に入力される。SA1〜SA3は、当該入力信号を差動増幅し、読み出し系メインビット線RMBLに出力を行う。出力バッファ回路OBF内のエラー処理回路ブロックERCBKは、当該RMBLの情報に基づいてエラー検出・エラー訂正を行い、高速バスHBSに向けてデータ出力信号DO[0]〜DO[N]を出力する。   On the other hand, when performing a read operation, the storage data of MC1 and MC2 is input to the sense amplifier circuit SA1 via the read column selection circuit RSEL, and the storage data of MCp1 and MCp2 is input to the sense amplifier circuit SA2 via the RSEL. The data stored in MCn1 and MCn2 is input to the sense amplifier circuit SA3 via RSEL. SA1 to SA3 differentially amplify the input signal and output to the read main bit line RMBL. The error processing circuit block ERCBK in the output buffer circuit OBF performs error detection / error correction based on the information of the RMBL, and outputs data output signals DO [0] to DO [N] to the high-speed bus HBS.

《フラッシュメモリのメモリマット構成》
図9は、図7のフラッシュメモリにおけるメモリマットのレイアウト構成例を示す概略図である。図9に示すように、メモリマットMMATは、複数のメモリアレイMARYj[0,0]〜MARYj[M,N+2],MARYk[0,0]〜MARYk[M,N+2]および複数のセンスアンプ回路ブロックSABK[0,0]〜SABK[M,N+2]を備えている。SABK[0,0]〜SABK[M,N+2]は、ワード線の配列方向を行、ビット線(サブビット線)の配列方向を列として、アレイ状に「(M+1)行×(N+3)列」で配置される。同様に、MARYj[0,0]〜MARYj[M,N+2]はアレイ状に「(M+1)行×(N+3)列」で配置され、MARYk[0,0]〜MARYk[M,N+2]は、アレイ状に「(M+1)行×(N+3)列」で配置される。この際に、MARYj[0,0]とMARYk[0,0]はSABK[0,0]を行方向で挟む形で配置され、MARYj[0,1]とMARYk[0,1]はSABK[0,1]を行方向で挟む形で配置され、以降同様にしてMARYj[M,N+2]とMARYk[M,N+2]はSABK[M,N+2]を行方向で挟む形で配置される。
<Flash memory memory mat configuration>
FIG. 9 is a schematic diagram showing a layout configuration example of a memory mat in the flash memory of FIG. As shown in FIG. 9, the memory mat MMAT includes a plurality of memory arrays MARYj [0,0] to MARYj [M, N + 2], MARYk [0,0] to MARYk [M, N + 2], and a plurality of sense amplifier circuit blocks. SABK [0, 0] to SABK [M, N + 2] are provided. SABK [0, 0] to SABK [M, N + 2] are “(M + 1) rows × (N + 3) columns” in the form of an array, with the word line array direction being the row and the bit line (sub-bit line) array direction being the column. It is arranged with. Similarly, MARYj [0,0] to MARYj [M, N + 2] are arranged in an array of “(M + 1) rows × (N + 3) columns”, and MARYk [0,0] to MARYk [M, N + 2] are It is arranged in an array of “(M + 1) rows × (N + 3) columns”. At this time, MARYj [0,0] and MARYk [0,0] are arranged so as to sandwich SABK [0,0] in the row direction, and MARYj [0,1] and MARYk [0,1] are SABK [0,1]. 0, 1] are arranged in the row direction, and MARYj [M, N + 2] and MARYk [M, N + 2] are similarly arranged in the form of sandwiching SABK [M, N + 2] in the row direction.

この内、「(M+1)行×(N+1)列」でそれぞれ配置されるMARYj[0,0]〜MARYj[M,N],MARYk[0,0]〜MARYk[M,N]とSABK[0,0]〜SABK[M,N]は、データ領域となる。一方、「(M+1)行×2列」でそれぞれ配置されるMARYj[0,N+1]〜MARYj[M,N+2],MARYk[0,N+1]〜MARYk[M,N+2]とSABK[0,N+1]〜SABK[M,N+2]は、パリティー領域となる。この2列分のパリティー領域の内、(N+1)列側の領域は正極(Posi)用であり、(N+2)列側の領域は負極(Nega)用である。   Among these, MARYj [0, 0] to MARYj [M, N], MARYk [0, 0] to MARYk [M, N] and SABK [0] arranged in “(M + 1) rows × (N + 1) columns”, respectively. , 0] to SABK [M, N] are data areas. On the other hand, MARYj [0, N + 1] to MARYj [M, N + 2], MARYk [0, N + 1] to MARYk [M, N + 2] and SABK [0, N + 1] respectively arranged in “(M + 1) rows × 2 columns”. ~ SABK [M, N + 2] is a parity area. Of the parity regions for two columns, the region on the (N + 1) column side is for the positive electrode (Posi), and the region on the (N + 2) column side is for the negative electrode (Nega).

このような構成において、データ用およびパリティー用の各メモリアレイは、X本(例えば256本)のワード線WLと、当該ワード線と交差するように配置されるY本(例えば32本)のサブビット線SBLと、WLとSBLの交点に配置されるメモリセルとを備えている。WLは、同一行に配置されたメモリアレイを横断するように列方向に向けて延伸する。例えば、読み出し動作の際に、同一行となるMARYj[0,0]〜MARYj[0,N+2]上に配置される1本のWLが活性化されると、当該WLに接続される複数のメモリセルが選択される。また、このWLで選択された複数のメモリセルの内、図7の読み出し列選択回路RSELを介して、データ用のMARYj[0,0]〜MARYj[0,N]のそれぞれの中から1個のツインセル(MC1,MC2)が選択される。更にこれに加えて、RSELを介して、パリティー(正極)用のMARYj[0,N+1]の中から1個のツインセル(MCp1,MCp2)が選択され、パリティー(負極)用のMARYj[0,N+2]の中から1個のツインセル(MCn1,MCn2)が選択される。   In such a configuration, each memory array for data and parity has X (for example, 256) word lines WL and Y (for example, 32) subbits arranged so as to intersect the word lines. A line SBL and a memory cell arranged at the intersection of WL and SBL are provided. WL extends in the column direction so as to cross the memory arrays arranged in the same row. For example, when one WL arranged on MARYj [0,0] to MARYj [0, N + 2] on the same row is activated during a read operation, a plurality of memories connected to the WL are activated. A cell is selected. Also, one of the plurality of memory cells selected by WL is selected from each of MARYj [0,0] to MARYj [0, N] for data via the read column selection circuit RSEL of FIG. Twin cells (MC1, MC2) are selected. In addition to this, one twin cell (MCp1, MCp2) is selected from MARYj [0, N + 1] for parity (positive electrode) via RSEL, and MARYj [0, N + 2 for parity (negative electrode) is selected. ], One twin cell (MCn1, MCn2) is selected.

このようにしてデータ用の各MARYj[0,0]〜MARYj[0,N]から出力されたツインセルの情報は、当該メモリアレイに隣接配置されたセンスアンプ回路ブロックSABK[0,0]〜SABK[0,N]内のセンスアンプ回路SA1でそれぞれ増幅され、対応する読み出し系メインビット線RMBL[0]〜RMBL[N]を介して出力される。このRMBL[0]〜RMBL[N]の信号によって、図1における(N+1)ビット分のパラレルデータ(PREDATp[0:N],PREDATn[0:N])が得られる。一方、パリティー(正極)用のMARYj[0,N+1]から出力されたツインセルの情報は、当該メモリアレイに隣接配置されたSABK[0,N+1]内のSA2で増幅され、RMBL[N+1]を介して出力される。同様に、パリティー(負極)用のMARYj[0,N+2]から出力されたツインセルの情報は、当該メモリアレイに隣接配置されたSABK[0,N+2]内のSA3で増幅され、RMBL[N+2]を介して出力される。これによって、図1における正極用のパリティービット(SN1p)の値と負極用のパリティービット(SN2p)の値が得られる。   Thus, the information of the twin cells output from each of the MARYj [0,0] to MARYj [0, N] for data is the sense amplifier circuit block SABK [0,0] to SABK arranged adjacent to the memory array. The signals are amplified by the sense amplifier circuit SA1 in [0, N] and output via the corresponding read system main bit lines RMBL [0] to RMBL [N]. With the signals RMBL [0] to RMBL [N], (N + 1) -bit parallel data (PREDATp [0: N], PREDATn [0: N]) in FIG. 1 is obtained. On the other hand, the information of the twin cell output from the parity (positive) MARYj [0, N + 1] is amplified by SA2 in the SABK [0, N + 1] adjacent to the memory array, and passes through RMBL [N + 1]. Is output. Similarly, the information of the twin cell output from the parity (negative electrode) MARYj [0, N + 2] is amplified by SA3 in the SABK [0, N + 2] adjacent to the memory array, and RMBL [N + 2] is obtained. Is output via. As a result, the value of the positive parity bit (SN1p) and the value of the negative parity bit (SN2p) in FIG. 1 are obtained.

なお、RMBL[0]〜RMBL[N+2]のそれぞれは、同一列に配置されたセンスアンプ回路ブロックを横断するように行方向に向けて延伸する。例えば、同一列となるSABK[0,0]〜SABK[M,0]上にはRMBL[0]が配置され、同様に、同一列となるSABK[0,N]〜SABK[M,N]上にはRMBL[N]が配置される。RMBL[0]には、SABK[0,0]〜SABK[M,0]内にそれぞれ含まれるSA1の出力ノードが共通に接続され、同様に、RMBL[N]には、SABK[0,N]〜SABK[M,N]内にそれぞれ含まれるSA1の出力ノードが共通に接続される。例えば、RMBL[0]を例として、読み出し動作時には1本のWLの活性化に応じてSABK[0,0]〜SABK[M,0]内における各SA1のいずれか1個の出力がRMBL[0]に出力され、他の出力はハイインピーダンス状態に制御される。また、各センスアンプ回路ブロックは、行方向に隣接配置された2個のメモリアレイを対象に増幅動作等を行う。例えば、MARYj[0,0]からのツインセル情報はSABK[0,0]で増幅され、MARYk[0,0]からのツインセル情報も同じくSABK[0,0]で増幅される。   Each of RMBL [0] to RMBL [N + 2] extends in the row direction so as to cross the sense amplifier circuit blocks arranged in the same column. For example, RMBL [0] is arranged on SABK [0,0] to SABK [M, 0] in the same column, and similarly, SABK [0, N] to SABK [M, N] in the same column. RMBL [N] is arranged above. The output nodes of SA1 included in SABK [0,0] to SABK [M, 0] are connected in common to RMBL [0]. Similarly, RMBL [N] has SABK [0, N ] To SABK [M, N], SA1 output nodes respectively connected in common. For example, taking RMBL [0] as an example, any one output of SA1 in SABK [0,0] to SABK [M, 0] is output to RMBL [0] in response to activation of one WL during a read operation. 0] and the other outputs are controlled to a high impedance state. Each sense amplifier circuit block performs an amplification operation or the like on two memory arrays adjacently arranged in the row direction. For example, twin cell information from MARYj [0, 0] is amplified by SABK [0, 0], and twin cell information from MARYk [0, 0] is also amplified by SABK [0, 0].

《センスアンプ回路ブロック周りの構成[1]》
図10は、図7および図9における各センスアンプ回路ブロック周りの概略構成例を示す回路図である。図10に示すように、センスアンプ回路ブロックSABKa(例えば図9のSABK[0,0])には、隣接する一方のメモリアレイ(例えば図9のMARYj[0,0])からの複数(ここでは32本)のサブビット線SBLj0<0>〜SBLj0<15>,SBLj1<0>〜SBLj1<15>が接続される。更に、当該SABKa(例えばSABK[0,0])には、隣接する他方のメモリアレイ(例えば図9のMARYk[0,0])からの複数(ここでは32本)のサブビット線SBLk0<0>〜SBLk0<15>,SBLk1<0>〜SBLk1<15>が接続される。
<< Configuration around the sense amplifier circuit block [1] >>
FIG. 10 is a circuit diagram showing a schematic configuration example around each sense amplifier circuit block in FIG. 7 and FIG. As shown in FIG. 10, the sense amplifier circuit block SABKa (for example, SABK [0, 0] in FIG. 9) includes a plurality (here, 32) sub-bit lines SBLj0 <0> to SBLj0 <15> and SBLj1 <0> to SBLj1 <15> are connected. Further, the SABKa (for example, SABK [0,0]) includes a plurality (32 in this case) of sub-bit lines SBLk0 <0> from the other adjacent memory array (for example, MARYk [0,0] in FIG. 9). To SBLk0 <15> and SBLk1 <0> to SBLk1 <15> are connected.

この例では、一方のメモリアレイに対応するSBLj0<0>〜SBLj0<7>,SBLj1<0>〜SBLj1<7>が当該メモリアレイ内における正極用の各メモリセルに接続され、SBLj0<8>〜SBLj0<15>,SBLj1<8>〜SBLj1<15>が当該メモリアレイ内における負極用の各メモリセルに接続される。同様に、他方のメモリアレイに対応するSBLk0<0>〜SBLk0<7>,SBLk1<0>〜SBLk1<7>が当該メモリアレイ内における正極用の各メモリセルに接続され、SBLk0<8>〜SBLk0<15>,SBLk1<8>〜SBLk1<15>が当該メモリアレイ内における負極用の各メモリセルに接続される。   In this example, SBLj0 <0> to SBLj0 <7> and SBLj1 <0> to SBLj1 <7> corresponding to one of the memory arrays are connected to each positive-electrode memory cell in the memory array, and SBLj0 <8>. ~ SBLj0 <15>, SBLj1 <8> to SBLj1 <15> are connected to the negative-polarity memory cells in the memory array. Similarly, SBLk0 <0> to SBLk0 <7> and SBLk1 <0> to SBLk1 <7> corresponding to the other memory array are connected to the positive memory cells in the memory array, and SBLk0 <8> to SBLk0 <15>, SBLk1 <8> to SBLk1 <15> are connected to each negative-electrode memory cell in the memory array.

SABKa(例えばSABK[0,0])は、センスアンプ回路SAと、読み出し列選択回路RSELj,RSELk,RSELjkと、8本の共通ビット線CBLj<0>〜CBLj<3>,CBLk<0>〜CBLk<3>と、8個のリファレンスメモリセルRMCを備えている。RSELjkは、図7の列デコード回路CDECから生成される8本の選択信号yrb<7:0>に応じて、8本の共通ビット線をSAの差動入力端子の一方又は他方に選択的に接続する。ここでは、SAの差動入力端子の一方には、CBLj<0>,CBLj<1>とCBLk<0>,CBLk<1>のいずれか1本が選択的に接続され、SAの差動入力端子の他方には、CBLj<2>,CBLj<3>とCBLk<2>,CBLk<3>のいずれか1本が選択的に接続される。   SABKa (for example, SABK [0, 0]) includes a sense amplifier circuit SA, read column selection circuits RSELj, RSELk, and RSELjk, and eight common bit lines CBLj <0> to CBLj <3>, CBLk <0> to CBLk <3> and eight reference memory cells RMC are provided. RSELjk selects eight common bit lines as one or the other of the differential input terminals of SA in response to eight selection signals yrb <7: 0> generated from the column decoding circuit CDEC in FIG. Connecting. Here, one of the SA differential input terminals is selectively connected to one of CBLj <0>, CBLj <1> and CBLk <0>, CBLk <1>. One of CBLj <2>, CBLj <3> and CBLk <2>, CBLk <3> is selectively connected to the other terminal.

CBLj<0>には、一方のメモリアレイの正極側に対応した16本のサブビット線中の8本がRSELjを介して接続され、CBLj<1>には、当該16本中の残りの8本がRSELjを介して接続される。CBLj<2>には、一方のメモリアレイの負極側に対応した16本のサブビット線中の8本がRSELjを介して接続され、CBLj<3>には、当該16本中の残りの8本がRSELjを介して接続される。CBLk<0>には、他方のメモリアレイの正極側に対応した16本のサブビット線中の8本がRSELkを介して接続され、CBLk<1>には、当該16本中の残りの8本がRSELkを介して接続される。CBLk<2>には、他方のメモリアレイの負極側に対応した16本のサブビット線中の8本がRSELkを介して接続され、CBLk<3>には、当該16本中の残りの8本がRSELkを介して接続される。   Eight of the 16 sub-bit lines corresponding to the positive side of one memory array are connected to CBLj <0> via RSELj, and the remaining 8 of the 16 are connected to CBLj <1>. Are connected via RSELj. Eight of the 16 sub-bit lines corresponding to the negative side of one memory array are connected to CBLj <2> via RSELj, and the remaining 8 of the 16 are connected to CBLj <3>. Are connected via RSELj. Eight of the 16 sub-bit lines corresponding to the positive side of the other memory array are connected to CBLk <0> via RSELk, and the remaining 8 of 16 are connected to CBLk <1>. Are connected via RSELk. Eight of the 16 sub-bit lines corresponding to the negative side of the other memory array are connected to CBLk <2> via RSELk, and the remaining 8 of 16 are connected to CBLk <3>. Are connected via RSELk.

RSELjは、図7のCDECから生成される8本の選択信号yraj<7:0>に応じて、CBLj<0>〜CBLj<3>のそれぞれに対して前述した8本のサブビット線のいずれか1本を接続する。RSELkは、図7のCDECから生成される8本の選択信号yrak<7:0>に応じて、CBLk<0>〜CBLk<3>のそれぞれに対して前述した8本のサブビット線のいずれか1本を接続する。8個のリファレンスメモリセルRMCは、前述した8本の共通ビット線CBLj<0>〜CBLj<3>,CBLk<0>〜CBLk<3>にそれぞれ接続される。各RMCは、対応する共通ビット線と接地電源電圧GNDの間にソース・ドレイン経路が直列接続されたPMOSトランジスタPQrとNMOSトランジスタNQrを備えている。NQrはゲートに固定電圧Vrefが印加されることで電流源として機能し、PQrはゲートに選択信号が印加されることでスイッチとして機能する。ここでは、CBLj<0>〜CBLj<3>に接続された4個のRMC内のPQrは選択信号refjによって共通に制御され、CBLk<0>〜CBLk<3>に接続された4個のRMC内のPQrは選択信号refkによって共通に制御される。   RSELj is one of the eight sub-bit lines described above for each of CBLj <0> to CBLj <3> according to the eight selection signals yraj <7: 0> generated from the CDEC of FIG. Connect one. RSELk is one of the eight sub-bit lines described above for each of CBLk <0> to CBLk <3> in response to the eight selection signals yrak <7: 0> generated from the CDEC of FIG. Connect one. Eight reference memory cells RMC are connected to the eight common bit lines CBLj <0> to CBLj <3> and CBLk <0> to CBLk <3>, respectively. Each RMC includes a PMOS transistor PQr and an NMOS transistor NQr in which source / drain paths are connected in series between the corresponding common bit line and the ground power supply voltage GND. NQr functions as a current source when a fixed voltage Vref is applied to the gate, and PQr functions as a switch when a selection signal is applied to the gate. Here, the PQr in the four RMCs connected to CBLj <0> to CBLj <3> are commonly controlled by the selection signal refj, and the four RMCs connected to CBLk <0> to CBLk <3> Are controlled in common by a selection signal refk.

《センスアンプ回路ブロック周りの動作[1]》
図10のような構成例を用いると、各種選択信号yrb<7:0>,yraj<7:0>,yrak<7:0>,refj,refkに応じて、一方のメモリアレイ(例えばMARYj[0,0])からの相補読み出し及びシングル読み出しと、他方のメモリアレイ(例えばMARYk[0,0])からの相補読み出しおよびシングル読み出しを実現できる。例えば、yraj<0>,yrak<0>とyrb<0>,yrb<2>がオンレベルに駆動された場合、SAの差動入力端子の一方には、図10の読み出し経路RT1に示すように、一方のメモリアレイ(例えばMARYj[0,0])における正極側の1本のサブビット線(SBLj0<0>)がCBLj<0>を介して接続される。この際に、SAの差動入力端子の他方には、図10の読み出し経路RT2に示すように、一方のメモリアレイ(例えばMARYj[0,0])における負極側の1本のサブビット線(SBLj0<8>)がCBLj<2>を介して接続される。これによって、SAではツインセルに対する相補読み出しが行われる。
<< Operation around the sense amplifier circuit block [1] >>
When the configuration example as shown in FIG. 10 is used, one memory array (for example, MARYj [[e.g., MARYj [[ 0,0]) and complementary reading and single reading from the other memory array (for example, MARYk [0,0]). For example, when yraj <0>, yrak <0> and yrb <0>, yrb <2> are driven to the on level, one of the SA differential input terminals has a read path RT1 shown in FIG. In addition, one sub-bit line (SBLj0 <0>) on the positive electrode side in one memory array (for example, MARYj [0, 0]) is connected via CBLj <0>. At this time, one sub-bit line (SBLj0) on the negative side in one memory array (for example, MARYj [0, 0]) is connected to the other SA differential input terminal as shown in the read path RT2 of FIG. <8>) are connected via CBLj <2>. As a result, in SA, complementary reading is performed on the twin cell.

また、例えば、yraj<0>,yrak<0>とyrb<0>,yrb<6>とrefkがオンレベルに駆動された場合、SAの差動入力端子の一方には、図10の読み出し経路RT1に示すように、一方のメモリアレイ(例えばMARYj[0,0])における正極側の1本のサブビット線(SBLj0<0>)がCBLj<0>を介して接続される。この際に、SAの差動入力端子の他方には、図10の読み出し経路RT4に示すように、CBLk<2>に接続されたリファレンスメモリセルRMCが接続される。RMCは、例えば、正規のメモリセルが書き込み状態の際に流れる電流と消去状態(初期状態)の際に流れる電流の中間値を持つ電流を生成する。これによって、SAでは、正極側のメモリセルに対するシングル読み出しが行われる。なお、この際にCBLk<2>には、RMCに加えて他方のメモリアレイ(例えばMARYk[0,0])における負極側の1本のサブビット線(SBLk0<8>)が接続されるが、当該サブビット線はワード線が非選択であるためフローティング状態となっており、容量として機能する。   Further, for example, when yraj <0>, yrak <0>, yrb <0>, yrb <6>, and refk are driven to the on level, one of the SA differential input terminals has a read path shown in FIG. As shown in RT1, one positive-side sub bit line (SBLj0 <0>) in one memory array (for example, MARYj [0, 0]) is connected via CBLj <0>. At this time, the reference memory cell RMC connected to CBLk <2> is connected to the other differential input terminal of SA as shown in the read path RT4 of FIG. For example, the RMC generates a current having an intermediate value between a current that flows when a normal memory cell is in a write state and a current that flows in an erase state (initial state). Thus, in SA, single reading is performed on the positive-side memory cell. At this time, in addition to RMC, one negative bit side sub-bit line (SBLk0 <8>) in the other memory array (for example, MARYk [0, 0]) is connected to CBLk <2>. The sub bit line is in a floating state because the word line is not selected, and functions as a capacitor.

また、例えば、yraj<0>,yrak<0>とyrb<2>,yrb<4>とrefkがオンレベルに駆動された場合、SAの差動入力端子の他方には、図10の読み出し経路RT2に示すように、一方のメモリアレイ(例えばMARYj[0,0])における負極側の1本のサブビット線(SBLj0<8>)がCBLj<2>を介して接続される。この際に、SAの差動入力端子の一方には、図10の読み出し経路RT3に示すように、CBLk<0>に接続されたリファレンスメモリセルRMCが接続される。これによって、SAでは、負極側のメモリセルに対するシングル読み出しが行われる。なお、この際にCBLk<0>には、RMCに加えて他方のメモリアレイ(例えばMARYk[0,0])における正極側の1本のサブビット線(SBLk0<0>)が接続されるが、当該サブビット線はワード線が非選択であるためフローティング状態となっており、容量として機能する。   Also, for example, when yraj <0>, yrak <0>, yrb <2>, yrb <4>, and refk are driven to the on level, the other of the SA differential input terminals is connected to the read path of FIG. As shown at RT2, one sub-bit line (SBLj0 <8>) on the negative electrode side in one memory array (for example, MARYj [0, 0]) is connected via CBLj <2>. At this time, the reference memory cell RMC connected to CBLk <0> is connected to one of the differential input terminals of SA as shown in the read path RT3 of FIG. As a result, in SA, single reading is performed on the memory cell on the negative electrode side. At this time, in addition to RMC, one positive bit side sub-bit line (SBLk0 <0>) in the other memory array (for example, MARYk [0, 0]) is connected to CBLk <0>. The sub bit line is in a floating state because the word line is not selected, and functions as a capacitor.

このように、正極側のデータ列と負極側のデータ列をそれぞれ個別にシングルモードで読み出し、加えて、正極側のデータ列のパリティービットに対応するツインセルを相補モードで読み出し、同様に負極側のパリティービットに対応するツインセルを相補モードで読み出すことで、前述した図3のエラー検出・エラー訂正処理が実現可能になる。ここで、当該シングルモードでの読み出しを実現するためには、通常の相補メモリ用のセンスアンプ回路に対して主にリファレンスメモリセルRMCを加えればよく、回路面積のオーバヘッドが抑制できる。また、当該センスアンプ回路をベリファイ時にも利用しているようなフラッシュメモリでは、RMCが既に備わっているような場合が有り、この場合、回路面積のオーバヘッドが更に抑制できる。   In this way, the positive-side data string and the negative-side data string are individually read out in the single mode, and in addition, the twin cell corresponding to the parity bit of the positive-side data string is read out in the complementary mode. By reading out the twin cell corresponding to the parity bit in the complementary mode, the above-described error detection / error correction processing of FIG. 3 can be realized. Here, in order to realize the reading in the single mode, it is only necessary to add the reference memory cell RMC to the normal complementary memory sense amplifier circuit, and the overhead of the circuit area can be suppressed. In addition, a flash memory that uses the sense amplifier circuit also at the time of verifying may already have an RMC, and in this case, the overhead of the circuit area can be further suppressed.

《センスアンプ回路ブロック周りの構成[2]》
図11は、図10を変形した各センスアンプ回路ブロック周りの概略構成例を示す回路図である。図11において、センスアンプ回路ブロックSABKb(例えば図9のSABK[0,0])には、図10の場合と同様に、隣接する一方のメモリアレイ(例えば図9のMARYj[0,0])からの複数(ここでは32本)のサブビット線SBLj0<0>〜SBLj0<15>,SBLj1<0>〜SBLj1<15>が接続される。更に、当該SABKbには、図10の場合と同様に、隣接する他方のメモリアレイ(例えば図9のMARYk[0,0])からの複数(ここでは32本)のサブビット線SBLk0<0>〜SBLk0<15>,SBLk1<0>〜SBLk1<15>が接続される。
<< Configuration around the sense amplifier circuit block [2] >>
FIG. 11 is a circuit diagram showing a schematic configuration example around each sense amplifier circuit block obtained by modifying FIG. In FIG. 11, the sense amplifier circuit block SABKb (for example, SABK [0,0] in FIG. 9) has one adjacent memory array (for example, MARYj [0,0] in FIG. 9) as in FIG. A plurality (32 in this case) of sub-bit lines SBLj0 <0> to SBLj0 <15> and SBLj1 <0> to SBLj1 <15> are connected. Further, in the SABKb, similarly to the case of FIG. 10, a plurality of (here, 32) sub-bit lines SBLk0 <0> to the other adjacent memory array (for example, MARYk [0, 0] in FIG. 9). SBLk0 <15> and SBLk1 <0> to SBLk1 <15> are connected.

SABKb(例えばSABK[0,0])は、図10の場合と同様の読み出し列選択回路RSELj,RSELk、8本の共通ビット線CBLj<0>〜CBLj<3>,CBLk<0>〜CBLk<3>、および8個のリファレンスメモリセルRMCを備えている。これに加えて、当該SABKbは、図10の場合と異なり3個のセンスアンプ回路SAm,SAp,SAnを備え、これに伴い図10の場合と異なる読み出し列選択回路RSELjk2を備えている点が主要な特徴となっている。RSELjk2は、図7の列デコード回路CDECから生成される4本の選択信号yrb<3:0>に応じて、8本の共通ビット線を3個のSAm,SAp,SAnの差動入力端子の一方又は他方に選択的に接続する。   SABKb (for example, SABK [0, 0]) includes read column selection circuits RSELj and RSELk similar to those in FIG. 10, eight common bit lines CBLj <0> to CBLj <3>, CBLk <0> to CBLk < 3> and 8 reference memory cells RMC. In addition to this, the SABKb mainly includes three sense amplifier circuits SAm, SAp, and SAn unlike the case of FIG. 10, and is accompanied by a read column selection circuit RSELjk2 that is different from the case of FIG. It has become a feature. RSELjk2 has eight common bit lines connected to three SAm, SAp, and SAn differential input terminals in response to four selection signals yrb <3: 0> generated from the column decoding circuit CDEC in FIG. Selectively connect to one or the other.

具体的には、RSELjk2は、yrb<0>がオンレベルに駆動された際、SAmの差動入力端子の一方にCBLj<0>を、他方にCBLj<2>を接続し、SApの差動入力端子の一方にCBLj<0>を、他方にCBLk<2>を接続し、SAnの差動入力端子の一方にCBLk<0>を、他方にCBLj<2>を接続する。すなわち、相補読み出し用のSAmには、ツインセルの正極データ(CBLj<0>に対応)と負極データ(CBLj<2>)が接続される。正極側のシングル読み出し用のSApには、ツインセルの正極データ(CBLj<0>に対応)とリファレンスメモリセル(CBLk<2>に対応)が接続される。負極側のシングル読み出し用のSAnには、リファレンスメモリセル(CBLk<0>に対応)とツインセルの負極データ(CBLj<2>に対応)が接続される。   Specifically, RSELjk2 connects CBLj <0> to one of the differential input terminals of SAm and CBLj <2> to the other when yrb <0> is driven to the on level, and differentials of SAp CBLj <0> is connected to one of the input terminals, CBLk <2> is connected to the other, CBLk <0> is connected to one of the differential input terminals of SAn, and CBLj <2> is connected to the other. In other words, the positive data (corresponding to CBLj <0>) and the negative data (CBLj <2>) of the twin cell are connected to the SAm for complementary reading. Twin-cell positive polarity data (corresponding to CBLj <0>) and a reference memory cell (corresponding to CBLk <2>) are connected to the SAp for single reading on the positive polarity side. Reference memory cells (corresponding to CBLk <0>) and twin-cell negative data (corresponding to CBLj <2>) are connected to SAn for single reading on the negative electrode side.

また、RSELjk2は、yrb<1>がオンレベルに駆動された際、SAmの差動入力端子の一方にCBLj<1>を、他方にCBLj<3>を接続し、SApの差動入力端子の一方にCBLj<1>を、他方にCBLk<3>を接続し、SAnの差動入力端子の一方にCBLk<1>を、他方にCBLj<3>を接続する。すなわち、相補読み出し用のSAmには、ツインセルの正極データ(CBLj<1>に対応)と負極データ(CBLj<3>)が接続される。正極側のシングル読み出し用のSApには、ツインセルの正極データ(CBLj<1>に対応)とリファレンスメモリセル(CBLk<3>に対応)が接続される。負極側のシングル読み出し用のSAnには、リファレンスメモリセル(CBLk<1>に対応)とツインセルの負極データ(CBLj<3>に対応)が接続される。   RSELjk2 connects CBLj <1> to one of the SAm differential input terminals, and CBLj <3> to the other when yrb <1> is driven to the on level, and the SAp differential input terminal CBLj <1> is connected to one side, CBLk <3> is connected to the other, CBLk <1> is connected to one of the differential input terminals of SAn, and CBLj <3> is connected to the other. In other words, the positive data (corresponding to CBLj <1>) and the negative data (CBLj <3>) of the twin cell are connected to the SAm for complementary reading. Twin-cell positive polarity data (corresponding to CBLj <1>) and a reference memory cell (corresponding to CBLk <3>) are connected to the SAp for single reading on the positive polarity side. Reference memory cells (corresponding to CBLk <1>) and twin-cell negative data (corresponding to CBLj <3>) are connected to SAn for single reading on the negative electrode side.

さらに、RSELjk2は、yrb<2>がオンレベルに駆動された際、SAmの差動入力端子の一方にCBLk<0>を、他方にCBLk<2>を接続し、SApの差動入力端子の一方にCBLk<0>を、他方にCBLj<2>を接続し、SAnの差動入力端子の一方にCBLj<0>を、他方にCBLk<2>を接続する。すなわち、前述したyrb<0>がオンレベルに駆動された場合に対して「j」と「k」を入れ替えたような処理を行う。同様に、RSELjk2は、yrb<3>がオンレベルに駆動された際、前述したyrb<1>がオンレベルに駆動された場合に対して「j」と「k」を入れ替えたような処理を行う。   Further, RSELjk2 connects CBLk <0> to one of the SAm differential input terminals and CBLk <2> to the other when yrb <2> is driven to the on level, and the SAp differential input terminal CBLk <0> is connected to one side, CBLj <2> is connected to the other, CBLj <0> is connected to one of the differential input terminals of SAn, and CBLk <2> is connected to the other. That is, a process is performed in which “j” and “k” are interchanged when the above-described yrb <0> is driven to the on level. Similarly, RSELjk2 performs a process in which “j” and “k” are interchanged when yrb <1> is driven to the on level when yrb <3> is driven to the on level. Do.

《センスアンプ回路ブロック周りの動作[2]》
図11のような構成例を用いると、各種選択信号yrb<3:0>,yraj<7:0>,yrak<7:0>,refj,refkに応じて、一方のメモリアレイ(例えばMARYj[0,0])のツインセルからの相補読み出しと、正極側セルからのシングル読み出しと、負極側セルからのシングル読み出しとを並行して行うこと可能になる。同様に、他方のメモリアレイ(例えばMARYk[0,0])のツインセルからの相補読み出しと、正極側セルからのシングル読み出しと、負極側セルからのシングル読み出しとを並行して行うこと可能になる。
<< Operation around the sense amplifier circuit block [2] >>
When the configuration example as shown in FIG. 11 is used, one memory array (for example, MARYj [[e.g., MARYj [[]]) is selected according to various selection signals yrb <3: 0>, yraj <7: 0>, yak <7: 0>, refj, 0,0]) complementary reading from the twin cell, single reading from the positive side cell, and single reading from the negative side cell can be performed in parallel. Similarly, complementary reading from the twin cell of the other memory array (for example, MARYk [0, 0]), single reading from the positive side cell, and single reading from the negative side cell can be performed in parallel. .

例えば、yraj<0>,yrak<0>,yrb<0>,refkがオンレベルに駆動された場合、SAmの差動入力端子の一方には、図11の読み出し経路RT1に示すように、一方のメモリアレイ(例えばMARYj[0,0])における正極側の1本のサブビット線(SBLj0<0>)がCBLj<0>を介して接続される。この際に、SAmの差動入力端子の他方には、図11の読み出し経路RT2に示すように、一方のメモリアレイ(例えばMARYj[0,0])における負極側の1本のサブビット線(SBLj0<8>)がCBLj<2>を介して接続される。これによって、SAmではツインセルに対する相補読み出しが行われる。   For example, when yraj <0>, yrak <0>, yrb <0>, and refk are driven to the on level, one of the SAm differential input terminals has one side as shown in the read path RT1 in FIG. One sub-bit line (SBLj0 <0>) on the positive side in the memory array (for example, MARYj [0, 0]) is connected through CBLj <0>. At this time, one sub-bit line (SBLj0) on the negative side in one memory array (for example, MARYj [0, 0]) is connected to the other differential input terminal of SAm as shown in the read path RT2 of FIG. <8>) are connected via CBLj <2>. As a result, in SAm, complementary reading with respect to the twin cell is performed.

また、これと並行して、SApの差動入力端子の一方には、図11の読み出し経路RT1に示すように、一方のメモリアレイ(例えばMARYj[0,0])における正極側の1本のサブビット線(SBLj0<0>)がCBLj<0>を介して接続される。この際に、SApの差動入力端子の他方には、図11の読み出し経路RT4に示すように、CBLk<2>に接続されたリファレンスメモリセルRMCが接続される。RMCは、例えば、正規のメモリセルが書き込み状態の際に流れる電流と消去状態(初期状態)の際に流れる電流の中間値を持つ電流を生成する。これによって、SApでは、正極側のメモリセルに対するシングル読み出しが行われる。なお、この際にCBLk<2>には、RMCに加えて他方のメモリアレイ(例えばMARYk[0,0])における負極側の1本のサブビット線(SBLk0<8>)が接続されるが、当該サブビット線はワード線が非選択であるためフローティング状態となっており、容量として機能する。   In parallel with this, one of the differential input terminals of the SAp is connected to one positive side of one memory array (for example, MARYj [0, 0]) as shown in the read path RT1 of FIG. Sub-bit lines (SBLj0 <0>) are connected via CBLj <0>. At this time, the reference memory cell RMC connected to CBLk <2> is connected to the other differential input terminal of SAp as shown in the read path RT4 of FIG. For example, the RMC generates a current having an intermediate value between a current that flows when a normal memory cell is in a write state and a current that flows in an erase state (initial state). Thus, in SAp, single reading is performed on the positive-side memory cell. At this time, in addition to RMC, one negative bit side sub-bit line (SBLk0 <8>) in the other memory array (for example, MARYk [0, 0]) is connected to CBLk <2>. The sub bit line is in a floating state because the word line is not selected, and functions as a capacitor.

更に、これらと並行して、SAnの差動入力端子の他方には、図11の読み出し経路RT2に示すように、一方のメモリアレイ(例えばMARYj[0,0])における負極側の1本のサブビット線(SBLj0<8>)がCBLj<2>を介して接続される。この際に、SAnの差動入力端子の一方には、図11の読み出し経路RT3に示すように、CBLk<0>に接続されたリファレンスメモリセルRMCが接続される。これによって、SAnでは、負極側のメモリセルに対するシングル読み出しが行われる。なお、この際にCBLk<0>には、RMCに加えて他方のメモリアレイ(例えばMARYk[0,0])における正極側の1本のサブビット線(SBLk0<0>)が接続されるが、当該サブビット線はワード線が非選択であるためフローティング状態となっており、容量として機能する。   Further, in parallel with these, one of the differential input terminals of SAn is connected to one negative electrode side of one memory array (for example, MARYj [0, 0]) as shown in the read path RT2 of FIG. Sub-bit lines (SBLj0 <8>) are connected via CBLj <2>. At this time, the reference memory cell RMC connected to CBLk <0> is connected to one of the differential input terminals of SAn as shown in the read path RT3 of FIG. Thereby, in SAn, single reading is performed on the memory cell on the negative electrode side. At this time, in addition to RMC, one positive bit side sub-bit line (SBLk0 <0>) in the other memory array (for example, MARYk [0, 0]) is connected to CBLk <0>. The sub bit line is in a floating state because the word line is not selected, and functions as a capacitor.

このように、正極側のデータ列と負極側のデータ列をそれぞれ個別にシングルモードで読み出し、加えて、正極側のデータ列のパリティービットに対応するツインセルを相補モードで読み出し、同様に負極側のパリティービットに対応するツインセルを相補モードで読み出すことで、前述した図3のエラー検出・エラー訂正処理が実現可能になる。ここで、前述した図10の構成例を用いた場合、正極側のシングルモード読み出しと負極側のシングルモード読み出しをシリアルに行う必要があるが、図11の構成例ではパラレルで読み出すことが可能であるため、図10の構成例と比較して読み出し時間の短縮が図れる。   In this way, the positive-side data string and the negative-side data string are individually read out in the single mode, and in addition, the twin cell corresponding to the parity bit of the positive-side data string is read out in the complementary mode. By reading out the twin cell corresponding to the parity bit in the complementary mode, the above-described error detection / error correction processing of FIG. 3 can be realized. Here, when the configuration example of FIG. 10 described above is used, it is necessary to perform single-mode readout on the positive electrode side and single-mode readout on the negative electrode side serially. However, in the configuration example of FIG. Therefore, the readout time can be shortened compared to the configuration example of FIG.

なお、図3の処理を用いる場合、図9のデータ領域に含まれる各センスアンプ回路ブロックでは特に相補読み出しを行う必要は無いため、図11のSAm並びにこれに伴うRSELjk2上の選択経路は省略することも可能である。ただし、例えばフラッシュメモリに前述したエラー検出・訂正機能を有効・無効に設定できる機能を設け、この無効時にSAmを用いるようなことも可能である。また、例えば、エラー検出は行われたがエラー訂正が失敗したような場合(例えば図3のS108のような場合)にSAmからの出力をデータ出力信号として用いるようなことも可能である。また、電源起動時に図3のようなフローでエラー検出の有無を実施し、それ以外の高速動作が要求される時はSAmからの相補読み出しによる出力データを有効にする事も可能である。更に、図3の処理を用いる場合、図9のパリティー領域に含まれる各センスアンプ回路ブロックでは特にシングル読み出しを行う必要は無いため、図11のSAp,SAn並びにこれに伴うRSELjk2上の選択経路は省略することも可能である。   When the processing of FIG. 3 is used, each sense amplifier circuit block included in the data area of FIG. 9 does not need to perform complementary reading, and therefore the SAm of FIG. 11 and the selection path on RSELjk2 associated therewith are omitted. It is also possible. However, for example, a function capable of enabling / disabling the error detection / correction function described above may be provided in the flash memory, and SAm may be used when this function is disabled. For example, when error detection is performed but error correction fails (for example, as in S108 of FIG. 3), the output from SAm can be used as a data output signal. It is also possible to check whether or not an error has been detected in the flow as shown in FIG. 3 when the power is turned on, and to validate the output data by complementary reading from SAm when other high-speed operation is required. Further, when the processing of FIG. 3 is used, each sense amplifier circuit block included in the parity area of FIG. 9 does not need to perform single reading in particular, so that SAp and SAn of FIG. 11 and the selection path on RSELjk2 associated therewith are It can be omitted.

《パリティー生成回路の構成》
図12(a)は、図7におけるパリティー生成回路の詳細な構成例を示す回路図であり、図12(b)は、図12(a)における加算回路の動作例を示す真理値表である。図12(a)のパリティー生成回路PRTYGは、相補データ生成回路CDS[0]〜CDS[N]と、正極用のN個の加算回路ADDp[1]〜ADDp[N]およびインバータ回路IVpと、負極用のN個の加算回路ADDn[1]〜ADDn[N]およびインバータ回路IVnを備えている。CDS[0]〜CDS[N]は、データ入力信号DI[0]〜DI[N]から正極側のデータ入力信号DIp[0]〜DIp[N]とその反転データとなる負極側のデータ入力信号DIn[0]〜DIn[N]を生成する。
<Configuration of parity generation circuit>
12A is a circuit diagram showing a detailed configuration example of the parity generation circuit in FIG. 7, and FIG. 12B is a truth table showing an operation example of the addition circuit in FIG. 12A. . The parity generation circuit PRTYG in FIG. 12A includes complementary data generation circuits CDS [0] to CDS [N], N addition circuits ADDp [1] to ADDp [N] for positive electrodes, and an inverter circuit IVp. N negative adder circuits ADDn [1] to ADDn [N] and an inverter circuit IVn are provided. CDS [0] to CDS [N] are data input signals DIp [0] to DIp [N] on the positive side from the data input signals DI [0] to DI [N] and data inputs on the negative side that are inverted data thereof. Signals DIn [0] to DIn [N] are generated.

ADDp[1]にはDIp[0]とDIp[1]が入力され、ADDp[2]にはADDp[1]の加算結果(EXOR(排他的論理和)演算結果)とDIp[2]が入力され、以降同様にして、ADDp[N]にはADDp[N−1]の加算結果とDIp[N]が入力される。IVpは、ADDp[N]の加算結果を反転して正極側のパリティービットPRTYBITp_Wを生成する。これによって、PRTYBITp_Wとして奇数パリティーの値が得られる。同様に、ADDn[1]にはDIn[0]とDIn[1]が入力され、ADDn[2]にはADDn[1]の加算結果(EXOR演算結果)とDIn[2]が入力され、以降同様にして、ADDn[N]にはADDn[N−1]の加算結果とDIn[N]が入力される。IVnは、ADDn[N]の加算結果を反転して負極側のパリティービットPRTYBITn_Wを生成する。これによって、PRTYBITn_Wとして奇数パリティーの値が得られる。なお、偶数パリティーを用いる場合にはIVp,IVnを省略すればよく、また、各加算回路はEXOR演算回路に置き換えることも可能である。   DIp [0] and DIp [1] are input to ADDp [1], and the addition result (EXOR (exclusive OR) operation result) and DIp [2] of ADDp [1] are input to ADDp [2]. Thereafter, similarly, the addition result of ADDp [N−1] and DIp [N] are input to ADDp [N]. IVp inverts the addition result of ADDp [N] to generate a parity bit PRTYBITp_W on the positive electrode side. As a result, an odd parity value is obtained as PRTYBITp_W. Similarly, DIn [0] and DIn [1] are input to ADDn [1], and the addition result (EXOR operation result) and DIn [2] of ADDn [1] are input to ADDn [2]. Similarly, the addition result of ADDn [N−1] and DIn [N] are input to ADDn [N]. IVn inverts the addition result of ADDn [N] to generate a negative parity bit PRTYBITn_W. As a result, an odd parity value is obtained as PRTYBITn_W. If even parity is used, IVp and IVn may be omitted, and each adder circuit can be replaced with an EXOR operation circuit.

《エラー処理回路ブロックの詳細》
図13は、図7におけるエラー処理回路ブロックの詳細な動作例を示す真理値表である。図14は、図7におけるエラー処理回路ブロックの詳細な構成例を示す回路図である。図14に示すように、エラー処理回路ブロックERCBKは、正極用のパリティーチェック回路PRTYCHKCTpと、負極用のパリティーチェック回路PRTYCHKCTnと、(N+1)個のエラー処理回路ERC[0]〜ERC[N]を備えている。PRTYCHKCTpは、図10又は図11の回路を介して正極側からシングルモードで読み出された(N+1)ビットのデータ列(プリデータ信号PREDATp[0]〜PREDATp[N])と、正極側のパリティービットPRTYBITp_Rを入力としてパリティーチェックを行う。PRTYBITp_Rは、図12(a)の回路によって生成されたのちメモリセル(ツインセル)に書き込まれているPRTYBITp_Wを読み出したものである。
<Details of error processing circuit block>
FIG. 13 is a truth table showing a detailed operation example of the error processing circuit block in FIG. FIG. 14 is a circuit diagram showing a detailed configuration example of the error processing circuit block in FIG. As shown in FIG. 14, the error processing circuit block ERCBK includes a parity check circuit PRTYCHKCTp for positive electrode, a parity check circuit PRTYCHKCTn for negative electrode, and (N + 1) error processing circuits ERC [0] to ERC [N]. I have. PRTYCHKCTp is an (N + 1) -bit data string (pre-data signals PREDATp [0] to PREDATp [N]) read in a single mode from the positive side via the circuit of FIG. 10 or FIG. Parity check is performed with bit PRTYBITp_R as an input. PRTYBITp_R is obtained by reading out PRTYBITp_W written in the memory cell (twin cell) after being generated by the circuit of FIG.

PRTYCHKCTpは、N個のEXOR演算回路EORp[1]〜EORp[N]と、1個のEXNOR(排他的反転論理和)演算回路ENRppを備える。EORp[1]〜EORp[N]は、PREDATp[0]〜PREDATp[N]の(N+1)入力に対するEXOR演算を行う。この例では、EORp[1]がPREDATp[0]とPREDATp[1]の演算を行い、EORp[2]がEORp[1]の演算結果とPREDATp[2]の演算を行い、以降同様にして、EORp[N]がEORp[N−1]の演算結果とPREDATp[N]の演算を行う。ENRppは、このPREDATp[0]〜PREDATp[N]のEXOR演算結果(EORp[N]の出力)とPRTYBITp_RのEXNOR演算を行い、その結果をパリティー判定信号PRTYCHKpとして出力する。   PRTYCHKCTp includes N EXOR operation circuits EORp [1] to EORp [N] and one EXNOR (exclusive inversion OR) operation circuit ENRpp. EORp [1] to EORp [N] perform an EXOR operation on the (N + 1) inputs of PREDATp [0] to PREDATp [N]. In this example, EORp [1] calculates PREDATp [0] and PREDATp [1], EORp [2] calculates EORp [1] and PREDATp [2], and so on. EORp [N] performs an operation result of EORp [N-1] and PREDATp [N]. ENRpp performs an EXOR operation result (output of EORp [N]) of this PREDATp [0] to PREDATp [N] and an EXNOR operation of PRTYBITp_R, and outputs the result as a parity determination signal PRTYCHKp.

同様に、PRTYCHKCTnは、図10又は図11の回路を介して負極側からシングルモードで読み出された(N+1)ビットのデータ列(プリデータ信号PREDATn[0]〜PREDATn[N])と、負極側のパリティービットPRTYBITn_Rを入力としてパリティーチェックを行う。PRTYBITn_Rは、図12(a)の回路によって生成されたのちメモリセル(ツインセル)に書き込まれているPRTYBITn_Wを読み出したものである。PRTYCHKCTnは、N個のEXOR演算回路EORn[1]〜EORn[N]と、1個のEXNOR(排他的反転論理和)演算回路ENRnnを備える。EORn[1]〜EORn[N]は、前述した正極側の場合と同様に、PREDATn[0]〜PREDATn[N]のEXOR演算結果を生成し、ENRnnは、このEXOR演算結果とPRTYBITn_RのEXNOR演算を行い、その結果をパリティー判定信号PRTYCHKnとして出力する。   Similarly, PRTYCHKCTn is an (N + 1) -bit data string (pre-data signals PREDATn [0] to PREDATn [N]) read in the single mode from the negative electrode side through the circuit of FIG. 10 or FIG. The parity check is performed with the parity bit PRTYBITn_R on the side as an input. PRTYBITn_R is obtained by reading PRTYBITn_W generated by the circuit of FIG. 12A and then written in the memory cell (twin cell). PRTYCHKCTn includes N EXOR operation circuits EORn [1] to EORn [N] and one EXNOR (exclusive inversion OR) operation circuit ENRnn. EORn [1] to EORn [N] generate the EXOR operation result of PREDATn [0] to PREDATn [N] as in the case of the positive electrode described above, and ENRnn generates the EXOR operation result of this EXOR operation and the EXNOR operation of PRTYBITn_R. And outputs the result as a parity determination signal PRTYCHKn.

ERC[0]は、正極データとなるPREDATp[0]と負極データとなるPREDATn[0]と、PRTYCHKCTpからのパリティー判定信号PRTYCHKpと、PRTYCHKCTnからのパリティー判定信号PRTYCHKnを入力として動作する。ERC[0]は、1個のEXNOR演算回路ENR1と、3個のアンド演算回路AD1〜AD3と、1個のオア演算回路OR1と、3個のEXOR演算回路EOR1〜EOR3を備え、これによって前述した入力信号を論理演算し、5個の出力信号を生成する。5個の出力信号は、それぞれ、正極側データ出力信号DOp[0]、負極側データ出力信号DOn[0]、エラー検出信号ERRPOT[0]、エラー訂正失敗信号ERCERR[0]、エラー訂正成功信号ERCSUC[0]である。   ERC [0] operates by inputting PREDATp [0] as positive data, PREDATn [0] as negative data, a parity determination signal PRTYCHKp from PRTYCHKCTp, and a parity determination signal PRTYCHKn from PRTYCHKCTn. ERC [0] includes one EXNOR operation circuit ENR1, three AND operation circuits AD1 to AD3, one OR operation circuit OR1, and three EXOR operation circuits EOR1 to EOR3. The input signal is subjected to a logical operation to generate five output signals. The five output signals are a positive-side data output signal DOp [0], a negative-side data output signal DOn [0], an error detection signal ERRPOT [0], an error correction failure signal ERRERR [0], and an error correction success signal, respectively. ERCSUC [0].

ERC[N]は、正極データとなるPREDATp[N]と負極データとなるPREDATn[N]と、ERC[0]と同様に、PRTYCHKCTpからのパリティー判定信号PRTYCHKpおよびPRTYCHKCTnからのパリティー判定信号PRTYCHKnを入力として動作する。ERC[N]は、ERC[0]と同様の内部回路を備え、これによって前述した入力信号を論理演算し、5個の出力信号を生成する。5個の出力信号は、それぞれ、正極側データ出力信号DOp[N]、負極側データ出力信号DOn[N]、エラー検出信号ERRPOT[N]、エラー訂正失敗信号ERCERR[N]、エラー訂正成功信号ERCSUC[N]である。なお、ERC[1]〜ERC[N−1]に関してもERC[N]と同様である。   ERC [N] inputs PREDATp [N] as positive data, PREDATn [N] as negative data, and parity determination signals PRTYCHKp and PRTYCHKCTn from PRTYCHKCTp as in ERC [0]. Works as. ERC [N] includes an internal circuit similar to ERC [0], and performs logical operation on the above-described input signal to generate five output signals. The five output signals are a positive-side data output signal DOp [N], a negative-side data output signal DOn [N], an error detection signal ERRPOT [N], an error correction failure signal ERERR [N], and an error correction success signal, respectively. ERCSUC [N]. Note that ERC [1] to ERC [N-1] are the same as ERC [N].

ERC[0]〜ERC[N]のそれぞれの内部回路は、図13の真理値表に基づいた動作を行う。図13において、まず、正極データとなるPREDATpと負極データとなるPREDATnをEXNOR演算することで、これらが相補データとなっているか否かが判定される(図13、図14の信号CJに対応)。このCJとPRTYCHKpのアンド演算を行うことでエラーが正極側か否かが判定され(図13、図14の信号ERRpに対応)、CJとPRTYCHKnのアンド演算を行うことでエラーが負極側か否かが判定される(図13、図14の信号ERRnに対応)。したがって、ERRpとPREDATpのEXOR演算を行うことでエラー訂正後の正極側データ出力信号DOpを生成することができ、ERRnとPREDATnのEXOR演算を行うことでエラー訂正後の負極側データ出力信号DOnが生成することができる。   Each internal circuit of ERC [0] to ERC [N] performs an operation based on the truth table of FIG. In FIG. 13, first, an EXNOR operation is performed on PREDATp serving as positive data and PREDATn serving as negative data to determine whether or not these are complementary data (corresponding to the signal CJ in FIGS. 13 and 14). . It is determined whether the error is on the positive side by performing an AND operation on CJ and PRTYCHKp (corresponding to the signal ERRp in FIGS. 13 and 14), and whether the error is on the negative side by performing an AND operation on CJ and PRTYCHKn. Is determined (corresponding to the signal ERRn in FIGS. 13 and 14). Therefore, the positive-side data output signal DOp after error correction can be generated by performing EXOR operation of ERRp and PREDATp, and the negative-side data output signal DOn after error correction can be generated by performing EXOR operation of ERRn and PREDATn. Can be generated.

また、PRTYCHKpとPRTYCHKnとCJのオア演算を行うことでエラーの有無を表すエラー検出信号ERRPOTが生成される。更に、PRTYCHPpとPRTYCHPnのEXOR演算結果と、CJとをアンド演算することでエラー訂正が成功したか否かを表すエラー訂正成功信号ERCSUCが生成され、ERRPOTと、ERCSUCの反転信号をアンド演算することで、エラー訂正が失敗したか否かを表すエラー訂正失敗信号ERCERRが生成される。ERRPOTは、パリティーチェック結果で異常が検出された場合かあるいは相補である筈のデータが相補でない場合に「1」(エラー有り)となり、それ以外の場合(パリティーチェック結果が正常かつ相補データが相補である)に「0」(エラー無し)となる。ERCSUCは、相補である筈のデータが相補でなく、かつ正極側と負極側のパリティーチェック結果の内の一方のみが異常となっている場合に「1」(エラー訂正成功)となる。したがって、DOp,DOnが正しく得られるのは、ERRPOTが「0」(エラー無し)の場合か、ERCSUCが「1」(エラー訂正成功)の場合かである。これらの場合にはERCERRが「0」となり、それ以外の場合にはERCERRが「1」となるため、ERCERRによってDOp,DOnの信頼性を識別できる。   Further, an OR operation of PRTYCHKp, PRTYCHKn, and CJ is performed to generate an error detection signal ERRPOT that indicates the presence or absence of an error. Furthermore, an error correction success signal ERCSUC indicating whether or not the error correction is successful is generated by performing an AND operation on the EXOR operation result of PRTYCHPp and PRTYCHPn and CJ, and AND operation is performed on the inverted signal of ERRPOT and ERUCUC. Thus, an error correction failure signal ERRERR indicating whether or not the error correction has failed is generated. ERRPOT is “1” (error is present) when an abnormality is detected in the parity check result or the complementary data is not complementary, otherwise (the parity check result is normal and the complementary data is complementary). Is "0" (no error). ERCSUC is “1” (error correction success) when the complementary data of 筈 is not complementary and only one of the parity check results on the positive side and the negative side is abnormal. Therefore, DOp and DOn can be obtained correctly only when ERRPOT is “0” (no error) or ERCSUC is “1” (error correction is successful). In these cases, ERRERR is “0”, and in other cases, ERRERR is “1”. Therefore, the reliability of DOp and DOn can be identified by ERCERR.

この図13および図14の説明から判るように、当該エラー処理回路ブロックERCBKは、前述した図3の処理内容を実行する回路となっている。また、図12のパリティー生成回路PRTYGおよび図14のエラー処理回路ブロックERCBKから判るように、本実施の形態のエラー検出・エラー訂正機能で必要とされる各種演算処理は、一般的なハミングコード(ECCコード)を用いる場合と比較して簡素であり、これに伴い当該演算回路の回路面積オーバヘッドも十分に抑制される。その結果、データの信頼性を低コストで向上させることが可能になる。   As can be seen from the description of FIGS. 13 and 14, the error processing circuit block ERCBK is a circuit for executing the processing contents of FIG. Further, as can be seen from the parity generation circuit PRTYG in FIG. 12 and the error processing circuit block ERCBK in FIG. 14, various arithmetic processes required for the error detection / error correction function of the present embodiment are general Hamming codes ( Compared with the case of using the ECC code), the circuit area overhead of the arithmetic circuit is sufficiently suppressed. As a result, the reliability of data can be improved at a low cost.

以上、本実施の形態2の半導体装置を用いることで、実施の形態1の場合と同様に、代表的には、データの信頼性の向上が可能となり、また、当該効果を低コストで得ることが可能になる。更に、本実施の形態のエラー検出・エラー訂正機能をマイクロコンピュータ等に内蔵されたデータ用の不揮発性メモリブロック等に適用することで、前述したような効果をより顕著に得ることが可能になる。   As described above, by using the semiconductor device of the second embodiment, as in the case of the first embodiment, typically, the reliability of data can be improved and the effect can be obtained at low cost. Is possible. Furthermore, by applying the error detection / error correction function of the present embodiment to a data non-volatile memory block or the like built in a microcomputer or the like, the above-described effects can be obtained more remarkably. .

(実施の形態3)
本実施の形態3では、前述した実施の形態1で述べたエラー検出・エラー訂正機能のうちの一部の機能のみを備えた半導体装置(記憶装置)について説明する。
(Embodiment 3)
In the third embodiment, a semiconductor device (memory device) having only a part of the error detection / error correction functions described in the first embodiment will be described.

《メモリユニットの概略構成および概略動作[2]》
図15は、本発明の実施の形態3による半導体装置(記憶装置)において、それに含まれるメモリユニットの構成例を示す概略図である。図15に示すメモリユニットは、図1の構成例と同様に、(N+1)ビットの記憶ノードSN1[0]〜SN1[N]を持つメモリ領域MEM1と、(N+1)ビットの記憶ノードSN2[0]〜SN2[N]を持つメモリ領域MEM2を備え、更に、図1とは異なるエラー処理回路ブロックERCBK2を備えている。MEM1とMEM2は、図1の構成例と同様にMEM1を正極(Posi)用、MEM2を負極(Nega)用とする相補メモリを構成する。
<< Schematic configuration and schematic operation of memory unit [2] >>
FIG. 15 is a schematic diagram showing a configuration example of a memory unit included in a semiconductor device (storage device) according to Embodiment 3 of the present invention. As in the configuration example of FIG. 1, the memory unit illustrated in FIG. 15 includes a memory area MEM1 having (N + 1) -bit storage nodes SN1 [0] to SN1 [N] and a (N + 1) -bit storage node SN2 [0. ] To SN2 [N], and an error processing circuit block ERCBK2 different from that shown in FIG. MEM1 and MEM2 form a complementary memory in which MEM1 is for the positive electrode (Posi) and MEM2 is for the negative electrode (Nega), as in the configuration example of FIG.

《エラー処理動作[2]》
図16は、図15におけるエラー処理回路ブロックの主要な動作例を示すフロー図である。図16に示すように、エラー処理回路ブロックERCBK2は、まず、正極(Posi)用のシングルデータ列となるプリデータ信号(図15のPREDATp[0]〜PREDATp[N])を読み出す(S201)。同様に、負極(Nega)用のシングルデータ列となるプリデータ信号(図15のPREDATn[0]〜PREDATn[N])を読み出す(S202)。次いで、ERCBK2は、正極用のプリデータ信号(PREDATp[0]〜PREDATp[N])と負極用のプリデータ信号(PREDATn[0]〜PREDATn[N])の一致・不一致を各ビット毎に判定する(S203)。全てのビットが不一致であれば、相補データが正常に記憶されていることになるためエラー無しと判定し(S205)、一致するビットが存在する場合には、エラー有りと判定する(S204)。
<< Error handling operation [2] >>
FIG. 16 is a flowchart showing a main operation example of the error processing circuit block in FIG. As shown in FIG. 16, the error processing circuit block ERCBK2 first reads a pre-data signal (PREDATp [0] to PREDATp [N] in FIG. 15) that is a single data string for the positive electrode (Posi) (S201). Similarly, pre-data signals (PREDATn [0] to PREDATn [N] in FIG. 15) that are single data strings for the negative electrode (Nega) are read (S202). Next, ERCBK2 determines whether or not the pre-data signal for the positive electrode (PREDATp [0] to PREDATp [N]) and the pre-data signal for the negative electrode (PREDATn [0] to PREDATn [N]) match each other for each bit. (S203). If all the bits do not match, it is determined that there is no error because complementary data is stored normally (S205). If there is a matching bit, it is determined that there is an error (S204).

このように、本実施の形態3の半導体装置(記憶装置)は、相補メモリを利用して、各ビットのエラー有無を判定していることが特徴となっている。このエラー有無の判定は、図15の例ではEXNOR演算回路ENR10によって行われ、ENR10はその判定結果を(N+1)ビットのエラー検出信号ERRPOT[0:N]として出力している。また、図15の例では、正極側のプリデータ信号と負極側のプリデータ信号の各ビットが差動増幅回路DAMPによって増幅され、DAMPはその増幅結果を(N+1)ビットのデータ出力信号DO[0:N]として出力している。例えば、ある読み出しサイクルにおいて、ERRPOT[0:N]のいずれかのビットに「1」(一致ビット有り)が出力された場合、当該サイクルにおけるDO[0:N]の信憑性が疑わしいことになり、その旨を読み出し要求元等に伝達することが可能になる。   As described above, the semiconductor device (storage device) of the third embodiment is characterized in that the presence or absence of an error in each bit is determined using a complementary memory. In the example of FIG. 15, this error presence / absence determination is performed by the EXNOR operation circuit ENR10, and the ENR10 outputs the determination result as an (N + 1) -bit error detection signal ERRPOT [0: N]. Further, in the example of FIG. 15, each bit of the positive-side predata signal and the negative-side predata signal is amplified by the differential amplifier circuit DAMP, and the DAMP outputs the amplification result as the (N + 1) -bit data output signal DO [ 0: N]. For example, if “1” (with a coincidence bit) is output in any bit of ERRPOT [0: N] in a certain read cycle, the credibility of DO [0: N] in that cycle is suspicious. This can be communicated to the read request source or the like.

以上、本実施の形態3の半導体装置(記憶装置)を用いると、図15から判るように、通常の相補メモリの構成に対してEXNR演算回路等を加えることでエラー検出が可能になるため、代表的には、データの信頼性を向上させることができ、また当該効果を低コストで実現することが可能になる。   As described above, when the semiconductor device (memory device) of the third embodiment is used, as can be seen from FIG. 15, an error can be detected by adding an EXNR arithmetic circuit or the like to the configuration of a normal complementary memory. Typically, the reliability of data can be improved, and the effect can be realized at low cost.

(実施の形態4)
本実施の形態4では、前述した実施の形態1の構成例を変形した構成例について説明する。
(Embodiment 4)
In the fourth embodiment, a configuration example obtained by modifying the configuration example of the first embodiment will be described.

《メモリユニットの概略構成および概略動作[3]》
図17は、本発明の実施の形態4による半導体装置(記憶装置)において、それに含まれるメモリユニットの構成例を示す概略図である。図17に示すメモリユニットは、図1の構成例と同様に、メモリ領域MEM1,MEM2と、パリティー生成回路PRTYG1,PRTYG2と、パリティー用記憶ノードSN1p,SN2pを備え、加えて図1とは異なるエラー処理回路ブロックERCBK3を備えている。図1との相違点は、MEM1が備える(N+1)ビットの記憶ノードSN1[0]〜SN1[N]とMEM2が備える(N+1)ビットの記憶ノードSN2[0]〜SN2[N]に同一のデータが書き込まれ(すなわちデータが多重化され)、これに応じてERCBK3の処理内容が若干変更されている点にある。以下、実施の形態1と重複する説明は省略し、相違点に着目して説明を行う。
<< Schematic Configuration and Operation of Memory Unit [3] >>
FIG. 17 is a schematic diagram showing a configuration example of a memory unit included in a semiconductor device (storage device) according to the fourth embodiment of the present invention. The memory unit shown in FIG. 17 includes memory areas MEM1 and MEM2, parity generation circuits PRTYG1 and PRTYG2, and parity storage nodes SN1p and SN2p, as well as the configuration example shown in FIG. A processing circuit block ERCBK3 is provided. The difference from FIG. 1 is the same as the (N + 1) -bit storage nodes SN1 [0] to SN1 [N] included in MEM1 and the (N + 1) -bit storage nodes SN2 [0] to SN2 [N] included in MEM2. The data is written (that is, the data is multiplexed), and the processing content of the ERCBK3 is slightly changed accordingly. Hereinafter, the description overlapping with the first embodiment will be omitted, and the description will be given focusing on the difference.

《エラー処理動作[3]》
図18は、図17におけるエラー処理回路ブロックの動作例を示すフロー図である。図18に示すように、エラー処理回路ブロックERCBK3は、まず、MEM1からのシングルデータ列となるデータ信号(図17のDATA1[0]〜DATA1[N])と、MEM1用のパリティービット(図17のSN1pの情報)を読み出し、パリティーチェックを行う(S301)。ここでは、当該パリティーチェック結果(Parity Check 1)が正常な場合を「Parity Check 1=0」と表現し、異常な場合を「Parity Check 1=1」と表現する。
<< Error handling operation [3] >>
FIG. 18 is a flowchart showing an operation example of the error processing circuit block in FIG. As shown in FIG. 18, first, the error processing circuit block ERCBK3 first receives a data signal (DATA1 [0] to DATA1 [N] in FIG. 17) from MEM1 and a parity bit for MEM1 (FIG. 17). SN1p information) is read and parity check is performed (S301). Here, the case where the parity check result (Parity Check 1) is normal is expressed as “Parity Check 1 = 0”, and the case where it is abnormal is expressed as “Parity Check 1 = 1”.

次いで、ERCBK3は、MEM2からのシングルデータ列となるデータ信号(図17のDATA2[0]〜DATA2[N])と、MEM2用のパリティービット(図17のSN2pの情報)を読み出し、パリティーチェックを行う(S302)。ここでは、当該パリティーチェック結果(Parity Check 2)が正常な場合を「Parity Check 2=0」と表現し、異常な場合を「Parity Check 2=1」と表現する。続いて、ERCBK3は、DATA1[0:N]とDATA2[0:N]の一致・不一致を各ビット毎に判定する(S303)。全てのビットが一致であれば、正常に記憶されていることになるためエラー無しと判定する(S309)。一方、不一致ビットが存在する場合には、ERCBK3は、S301におけるパリティーチェック結果(Parity Check 1)が異常(「1」)か正常(「0」)かを判定する(S304)。異常であれば、ERCBK3は、DATA1[0:N]の中で、S303での不一致ビットが誤データである判定し(S306)、当該ビットを訂正する(S310)。   Next, ERCBK3 reads a data signal (DATA2 [0] to DATA2 [N] in FIG. 17) and a parity bit for MEM2 (information of SN2p in FIG. 17) from MEM2 and performs a parity check. This is performed (S302). Here, the case where the parity check result (Parity Check 2) is normal is expressed as “Parity Check 2 = 0”, and the case where it is abnormal is expressed as “Parity Check 2 = 1”. Subsequently, ERCBK3 determines the match / mismatch of DATA1 [0: N] and DATA2 [0: N] for each bit (S303). If all bits match, it is determined that there is no error because it is stored normally (S309). On the other hand, when there is a mismatch bit, the ERCBK 3 determines whether the parity check result (Parity Check 1) in S301 is abnormal (“1”) or normal (“0”) (S304). If it is abnormal, ERCBK3 determines that the mismatch bit in S303 is erroneous data in DATA1 [0: N] (S306), and corrects the bit (S310).

また、ERCBK3は、S304におけるパリティーチェック結果(Parity Check 1)が正常(「0」)であった場合には、S302におけるパリティーチェック結果(Parity Check 2)が異常(「1」)か正常(「0」)かを判定する(S305)。異常であれば、ERCBK3は、DATA2[0:N]の中で、S303での不一致ビットが誤データであると判定し(S307)、当該ビットを訂正する(S310)。一方、S305の結果が正常であれば、ERCBK3は、エラーは存在するものの訂正は不可と判定する(S308)。なお、S306,S307,S310では、S303での不一致ビットが1ビットである場合を前提とし、複数ビットの場合には、S308の場合と同様にエラーは存在するものの訂正は不可と判定される。   In addition, when the parity check result (Parity Check 1) in S304 is normal (“0”), ERCBK3 determines whether the parity check result (Parity Check 2) in S302 is abnormal (“1”) or normal (“1”). 0 ") is determined (S305). If it is abnormal, ERCBK3 determines that the mismatch bit in S303 is erroneous data in DATA2 [0: N] (S307), and corrects the bit (S310). On the other hand, if the result of S305 is normal, ERCBK3 determines that there is an error but correction is not possible (S308). In S306, S307, and S310, it is assumed that the mismatch bit in S303 is 1 bit. In the case of a plurality of bits, it is determined that correction is impossible although an error exists as in S308.

図19(a)〜図19(e)は、図18の動作例を用いた場合のそれぞれ異なる具体的な処理結果の一例を示す説明図である。まず、図19(a)には、図18のS309に対応するエラー無しの状態が示されている。ここでは、DATA1[0:N]とDATA2[0:N]における各ビットが同一データとなっており、DATA1[0:N]およびDATA2[0:N]に対するパリティーチェック結果(この例では奇数パリティを用いている)も共に正常である。   FIGS. 19A to 19E are explanatory diagrams illustrating examples of different specific processing results when the operation example of FIG. 18 is used. First, FIG. 19A shows an error-free state corresponding to S309 in FIG. Here, the bits in DATA1 [0: N] and DATA2 [0: N] are the same data, and the parity check result for DATA1 [0: N] and DATA2 [0: N] (in this example, odd parity) Both are normal.

図19(b)には、図18のS306に対応し、DATA1[0:N]中の1ビットが「0」から「1」に化けた状態が示されている。ここでは、DATA1[0:N]とDATA2[0:N]における[0]ビット目が同一データでは無く、DATA1[0:N]に対するパリティーチェック結果が異常となっている。したがって、DATA1[0:N]の[0]ビット目が誤データであると判断でき、当該データを反転させることでエラー訂正が実現できる。図19(c)には、図18のS306に対応し、DATA1[0:N]中の1ビットが「1」から「0」に化けた状態が示されている。ここでは、DATA1[0:N]とDATA2[0:N]における[1]ビット目が同一データでは無く、DATA1[0:N]に対するパリティーチェック結果が異常となっている。したがって、DATA1[0:N]の[1]ビット目が誤データであると判断でき、当該データを反転させることでエラー訂正が実現できる。   FIG. 19B shows a state in which one bit in DATA1 [0: N] is changed from “0” to “1” corresponding to S306 in FIG. Here, the [0] bit in DATA1 [0: N] and DATA2 [0: N] is not the same data, and the parity check result for DATA1 [0: N] is abnormal. Accordingly, it can be determined that the [0] bit of DATA1 [0: N] is erroneous data, and error correction can be realized by inverting the data. FIG. 19C shows a state in which one bit in DATA1 [0: N] is changed from “1” to “0”, corresponding to S306 in FIG. Here, the [1] bit in DATA1 [0: N] and DATA2 [0: N] is not the same data, and the parity check result for DATA1 [0: N] is abnormal. Therefore, it can be determined that the [1] -th bit of DATA1 [0: N] is erroneous data, and error correction can be realized by inverting the data.

図19(d)には、図18のS307に対応し、DATA2[0:N]中の1ビットが「0」から「1」に化けた状態が示されている。ここでは、DATA1[0:N]とDATA2[0:N]における[0]ビット目が同一データでは無く、DATA2[0:N]に対するパリティーチェック結果が異常となっている。したがって、DATA2[0:N]の[0]ビット目が誤データであると判断でき、当該データを反転させることでエラー訂正が実現できる。図19(e)には、図18のS307に対応し、DATA2[0:N]中の1ビットが「1」から「0」に化けた状態が示されている。ここでは、DATA1[0:N]とDATA2[0:N]における[1]ビット目が同一データでは無く、DATA2[0:N]に対するパリティーチェック結果が異常となっている。したがって、DATA2[0:N]の[1]ビット目が誤データであると判断でき、当該データを反転させることでエラー訂正が実現できる。   FIG. 19D shows a state in which one bit in DATA2 [0: N] is changed from “0” to “1” corresponding to S307 in FIG. Here, the [0] bit in DATA1 [0: N] and DATA2 [0: N] is not the same data, and the parity check result for DATA2 [0: N] is abnormal. Therefore, it can be determined that the [0] bit of DATA2 [0: N] is erroneous data, and error correction can be realized by inverting the data. FIG. 19 (e) shows a state in which one bit in DATA2 [0: N] has changed from “1” to “0”, corresponding to S307 in FIG. Here, the [1] bit in DATA1 [0: N] and DATA2 [0: N] is not the same data, and the parity check result for DATA2 [0: N] is abnormal. Therefore, it can be determined that the [1] bit of DATA2 [0: N] is erroneous data, and error correction can be realized by inverting the data.

以上、本実施の形態4の半導体装置(記憶装置)を用いることで、代表的には、実施の形態1の場合と同様に、データの信頼性を向上させることができ、また当該効果を低コストで実現することが可能になる。例えば、ハードディスク等の記憶装置では、RAID(Redundant Arrays of Inexpensive Disks)1等で知られているように、データを二重化して記憶する場合がある。特に、このような場合に本実施の形態4の半導体装置(記憶装置)を適用することが有益となる。   As described above, by using the semiconductor device (memory device) of the fourth embodiment, typically, as in the case of the first embodiment, data reliability can be improved and the effect can be reduced. It can be realized at a cost. For example, in a storage device such as a hard disk, data is sometimes duplicated and stored, as is known from RAID (Redundant Arrays of Inexpensive Disks) 1 and the like. In particular, in such a case, it is beneficial to apply the semiconductor device (memory device) of the fourth embodiment.

以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。   As mentioned above, the invention made by the present inventor has been specifically described based on the embodiments. However, the present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the scope of the invention.

例えば、ここでは具体例としてフラッシュメモリへの適用例を示したが、勿論、これに限定されるものではなく、各種記憶ユニット全般に対して広く適応可能である。例えば、記憶素子の結晶状態を変化させてその抵抗値によって情報を記憶する相変化メモリや、記憶素子の磁化状態を変化させてその抵抗値によって情報を記憶する磁気抵抗メモリ(MRAM)等の各種半導体不揮発性メモリに対して同様に適用可能である。また、DRAM(Dynamic Random Access Memory)等を代表とする各種半導体揮発性メモリや、所謂ストレージと呼ばれる各種外部記憶装置等に対しても同様に適用可能である。   For example, an example of application to a flash memory is shown here as a specific example, but of course the invention is not limited to this and can be widely applied to various storage units in general. For example, a phase change memory that stores information according to its resistance value by changing the crystal state of the storage element, and a magnetoresistive memory (MRAM) that stores information according to its resistance value by changing the magnetization state of the storage element The present invention can be similarly applied to a semiconductor nonvolatile memory. Further, the present invention can be similarly applied to various semiconductor volatile memories represented by DRAM (Dynamic Random Access Memory) and the like, various external storage devices called so-called storages, and the like.

AD アンド演算回路
ADD 加算回路
BL ビット線
BSEL サブビット線選択回路
BSIF バスインタフェース回路
CBL 共通ビット線
CDEC 列デコード回路
CDS 相補データ生成回路
CG コントロールゲート
CJ,ERR 信号
CPU 中央処理ユニット
DAMP 差動増幅回路
DATA データ信号
DI データ入力信号
DMAC ダイレクトメモリアクセスコントローラ
DO データ出力信号
Din,Dout,XTAL,EXTAL,STBY,RES、Vcc,Vss 外部端子
ENR EXNOR演算回路
EOR EXOR演算回路
ERC エラー処理回路
ERCBK エラー処理回路ブロック
ERCERR エラー訂正失敗信号
ERCSUC エラー訂正成功信号
ERRPOT エラー検出信号
FMD フラッシュメモリ
FMDL フラッシュメモリモジュール
FSEQ フラッシュシーケンサ
HACSP 高速アクセスポート
HBS 高速バス
IOBF 入出力バッファ回路
IV インバータ回路
LACSP 低速アクセスポート
LBS 低速バス
LT ラッチ回路
MARY メモリアレイ
MC メモリセル
MCU マイクロコンピュータ
MEM メモリ領域
MG メモリゲート
MGL メモリゲート選択線
MMAT メモリマット
NQr NMOSトランジスタ
OBF 出力バッファ回路
OR オア演算回路
PLL クロック生成回路
PORT 外部入出力ポート
PQr PMOSトランジスタ
PREDAT プリデータ信号
PRTYBIT パリティービット
PRTYCHK パリティー判定信号
PRTYCHKCT パリティーチェック回路
PRTYG パリティー生成回路
RAM ランダムアクセスメモリ
RDEC 行デコード回路
RMBL 読み出し系メインビット線
RMC リファレンスメモリセル
RSEL 読み出し列選択回路
RT 読み出し経路
SA センスアンプ回路
SABK センスアンプ回路ブロック
SBL サブビット線
SL ソース線
SN 記憶ノード
TMR タイマ
VG 内部電源生成回路
VRFY ベリファイ回路
VSA ベリファイ用センスアンプ回路
WELL ウェル領域
WL ワード線
WLT 書き込みデータラッチ回路
WMBL 書き込み系メインビット線
WSEL 書き込み列選択回路
yrb,yraj,yrak,refj,refk 選択信号
AD AND operation circuit ADD addition circuit BL bit line BSEL sub bit line selection circuit BSIF bus interface circuit CBL common bit line CDEC column decoding circuit CDS complementary data generation circuit CG control gate CJ, ERR signal CPU central processing unit DAMP differential amplification circuit DATA data Signal DI Data input signal DMAC Direct memory access controller DO Data output signal Din, Dout, XTAL, EXTAL, STBY, RES, Vcc, Vss External terminal ENR EXNOR arithmetic circuit EOR EXOR arithmetic circuit ERC error processing circuit ERCBK error processing circuit block ERCERR error Correction failure signal ERUCUC Error correction success signal ERRPOT Error detection signal FMD Flash memory F DL flash memory module FSEQ flash sequencer HACSP high-speed access port HBS high-speed bus IOBF I / O buffer circuit IV inverter circuit LACSP low-speed access port LBS low-speed bus LT latch circuit MARY memory array MC memory cell MCU microcomputer MEM memory area MG memory gate MGL memory gate Selection line MMAT Memory mat NQr NMOS transistor OBF Output buffer circuit OR OR operation circuit PLL Clock generation circuit PORT External input / output port PQr PMOS transistor PREDAT Pre-data signal PRTYBIT Parity bit PRTYCHK Parity check signal PRTYCHKCT Parity check circuit PRTYG Parity generation circuit R AM random access memory RDEC row decode circuit RMBL read system main bit line RMC reference memory cell RSEL read column selection circuit RT read path SA sense amplifier circuit SABK sense amplifier circuit block SBL sub bit line SL source line SN storage node TMR timer VG internal power generation Circuit VRFY verify circuit VSA verify sense amplifier circuit WELL well region WL word line WLT write data latch circuit WMBL write system main bit line WSEL write column selection circuit yrb, yraj, yrak, refj, refk selection signal

Claims (13)

N(Nは1以上の整数)ビットのデータを記憶し、書き込み時にNビットの第1書き込みデータが入力され、読み出し時にNビットの第1読み出しデータを出力するN個の第1記憶ノードと、
Nビットのデータを記憶し、前記書き込み時にNビットの第2書き込みデータが入力され、前記読み出し時にNビットの第2読み出しデータを出力するN個の第2記憶ノードと、
前記書き込み時に、Nビットの前記第1書き込みデータを対象として第1パリティーデータを生成し、Nビットの前記第2書き込みデータを対象として第2パリティーデータを生成するパリティー生成回路と、
前記第1および第2パリティーデータを記憶する第1および第2パリティー記憶ノードと、
エラー処理回路とを備え、
Nビットの前記第2書き込みデータは、Nビットの前記第1書き込みデータの反転データであり、
前記エラー処理回路は、
Nビットの前記第1読み出しデータとNビットの前記第2読み出しデータの一致・不一致を各ビット番号毎に比較する第1処理と、
Nビットの前記第1読み出しデータと前記第1パリティーデータを用いてパリティー判定を行う第2処理と、
Nビットの前記第2読み出しデータと前記第2パリティーデータを用いてパリティー判定を行う第3処理と、
前記第1処理で一致するビット番号が1個存在し、かつ前記第2処理の判定結果が異常であり前記第3処理の判定結果が正常な場合に、Nビットの前記第1読み出しデータにおける当該ビット番号を誤りと判定し、前記第1処理で一致するビット番号が1個存在し、かつ前記第3処理の判定結果が異常であり前記第2処理の判定結果が正常な場合に、Nビットの前記第2読み出しデータにおける当該ビット番号を誤りと判定する第4処理と、
前記第4処理で誤りと判定されたビットを訂正する第5処理とを実行することを特徴とする半導体装置。
N first storage nodes that store N (N is an integer greater than or equal to 1) bits, receive N-bit first write data at the time of writing, and output N-bit first read data at the time of reading;
N second storage nodes that store N-bit data, input N-bit second write data at the time of writing, and output N-bit second read data at the time of reading;
A parity generation circuit for generating first parity data for the first write data of N bits at the time of writing and generating second parity data for the second write data of N bits;
First and second parity storage nodes for storing the first and second parity data;
An error processing circuit,
The N-bit second write data is inverted data of the N-bit first write data,
The error processing circuit includes:
A first process of comparing the match / mismatch of the N-bit first read data and the N-bit second read data for each bit number;
A second process for performing parity determination using the first read data of N bits and the first parity data;
A third process for performing parity determination using the second read data of N bits and the second parity data;
When there is one matching bit number in the first process, the determination result of the second process is abnormal, and the determination result of the third process is normal, the N-bit first read data N bits when it is determined that the bit number is an error, there is one matching bit number in the first process, the determination result of the third process is abnormal, and the determination result of the second process is normal A fourth process for determining that the bit number in the second read data is an error;
And a fifth process for correcting a bit determined to be an error in the fourth process.
請求項1記載の半導体装置において、
前記第1パリティー記憶ノードは、
前記第1パリティーデータを正極で記憶する第1正極パリティー記憶ノードと、
前記第1パリティーデータを負極で記憶する第1負極パリティー記憶ノードとを備え、
前記第2パリティー記憶ノードは、
前記第2パリティーデータを正極で記憶する第2正極パリティー記憶ノードと、
前記第2パリティーデータを負極で記憶する第2負極パリティー記憶ノードとを備え、
前記エラー処理回路の前記第2処理では、前記第1パリティーデータとして前記第1正極パリティー記憶ノードの出力信号と前記第1負極パリティー記憶ノードの出力信号の差動増幅結果が用いられ、
前記エラー処理回路の前記第3処理では、前記第2パリティーデータとして前記第2正極パリティー記憶ノードの出力信号と前記第2負極パリティー記憶ノードの出力信号の差動増幅結果が用いられることを特徴とする半導体装置。
The semiconductor device according to claim 1,
The first parity storage node is
A first positive parity storage node for storing the first parity data in a positive polarity;
A first negative parity storage node for storing the first parity data in a negative polarity;
The second parity storage node is
A second positive parity storage node for storing the second parity data in a positive polarity;
A second negative parity storage node for storing the second parity data in a negative polarity;
In the second processing of the error processing circuit, a differential amplification result of the output signal of the first positive parity storage node and the output signal of the first negative parity storage node is used as the first parity data,
In the third processing of the error processing circuit, a differential amplification result of the output signal of the second positive parity storage node and the output signal of the second negative parity storage node is used as the second parity data. Semiconductor device.
請求項1記載の半導体装置において、
前記エラー処理回路は、さらに、前記第5処理で訂正が行われる第1の場合か、あるいは前記第1処理で一致するビット番号が存在せず、なおかつ前記第2および第3処理の判定結果が共に正常である第2の場合に第1論理レベルの第1信号を出力し、前記第1および第2の場合以外の場合に第2論理レベルの前記第1信号を出力することを特徴とする半導体装置。
The semiconductor device according to claim 1,
The error processing circuit further includes a first case where correction is performed in the fifth process, or there is no bit number matching in the first process, and the determination results of the second and third processes are The first signal of the first logic level is output in the second case where both are normal, and the first signal of the second logic level is output in cases other than the first and second cases. Semiconductor device.
請求項1記載の半導体装置において、
N個の前記第1記憶ノードとN個の前記第2記憶ノードのそれぞれは、フラッシュメモリセルであることを特徴とする半導体装置。
The semiconductor device according to claim 1,
Each of the N first storage nodes and the N second storage nodes is a flash memory cell.
メモリユニットを備え、
前記メモリユニットは、
ワード線と、
前記ワード線と交差するN(Nは1以上の整数)本の第1ビット線、N本の第2ビット線、第3ビット線、および第4ビット線と、
前記ワード線とN本の前記第1ビット線の交点部分にそれぞれ配置されるN個の第1メモリセルと、
前記ワード線とN本の前記第2ビット線の交点部分にそれぞれ配置されるN個の第2メモリセルと、
前記ワード線と前記第3および第4ビット線の交点にそれぞれ配置される第3および第4メモリセルと、
Nビットの入力データを対象に第1パリティー書き込みデータを生成し、Nビットの前記入力データの反転データとなるNビットの反転入力データを対象に第2パリティー書き込みデータを生成するパリティー生成回路と、
書き込み動作に伴い前記ワード線が活性化された際に、Nビットの前記入力データをN本の前記第1ビット線を介してN個の前記第1メモリセルに書き込み、Nビットの前記反転入力データをN本の前記第2ビット線を介してN個の前記第2メモリセルに書き込み、前記第1および第2パリティー書き込みデータを前記第3および第4ビット線を介して前記第3および第4メモリセルに書き込む第1制御回路と、
読み出し動作に伴い前記ワード線が活性化された際に、N個の前記第1メモリセルからN本の前記第1ビット線を介して読み出された信号を増幅することでNビットの第1読み出しデータを出力し、N個の前記第2メモリセルからN本の前記第2ビット線を介して読み出された信号を増幅することでNビットの第2読み出しデータを出力し、前記第3および第4メモリセルから前記第3および第4ビット線を介して読み出された信号をそれぞれ増幅することで第1および第2パリティー読み出しデータを出力する第2制御回路と、
エラー処理回路とを有し、
前記エラー処理回路は、
Nビットの前記第1読み出しデータとNビットの前記第2読み出しデータの一致・不一致を各ビット番号毎に比較する第1処理と、
Nビットの前記第1読み出しデータと前記第1パリティー読み出しデータを用いてパリティー判定を行う第2処理と、
Nビットの前記第2読み出しデータと前記第2パリティー読み出しデータを用いてパリティー判定を行う第3処理と、
前記第1処理で一致するビット番号が1個存在し、かつ前記第2処理の判定結果が異常であり前記第3処理の判定結果が正常な場合に、Nビットの前記第1読み出しデータにおける当該ビット番号を誤りと判定し、前記第1処理で一致するビット番号が1個存在し、かつ前記第3処理の判定結果が異常であり前記第2処理の判定結果が正常な場合に、Nビットの前記第2読み出しデータにおける当該ビット番号を誤りと判定する第4処理と、
前記第4処理で誤りと判定されたビットを訂正する第5処理とを実行することを特徴とする半導体装置。
With a memory unit,
The memory unit is
A word line,
N (N is an integer of 1 or more) first bit lines, N second bit lines, third bit lines, and fourth bit lines that intersect the word lines;
N first memory cells respectively disposed at intersections of the word lines and the N first bit lines;
N second memory cells respectively disposed at intersections of the word line and the N second bit lines;
Third and fourth memory cells respectively disposed at intersections of the word line and the third and fourth bit lines;
A parity generation circuit that generates first parity write data for N-bit input data and generates second parity write data for N-bit inverted input data that is inverted data of the N-bit input data;
When the word line is activated in accordance with a write operation, the N-bit input data is written to the N first memory cells via the N first bit lines, and the N-bit inverted input Data is written to the N second memory cells via the N second bit lines, and the first and second parity write data are written to the third and fourth bit lines via the third and fourth bit lines. A first control circuit for writing to four memory cells;
When the word line is activated in accordance with a read operation, a signal read from the N first memory cells via the N first bit lines is amplified to thereby generate an N-bit first bit. Read data is output, and N bits of second read data are output by amplifying signals read from the N second memory cells via the N second bit lines, and the third And a second control circuit for outputting first and second parity read data by amplifying signals read from the fourth memory cell via the third and fourth bit lines, respectively.
An error processing circuit,
The error processing circuit includes:
A first process of comparing the match / mismatch of the N-bit first read data and the N-bit second read data for each bit number;
A second process for performing parity determination using the N-bit first read data and the first parity read data;
A third process for performing parity determination using the second read data of N bits and the second parity read data;
When there is one matching bit number in the first process, the determination result of the second process is abnormal, and the determination result of the third process is normal, the N-bit first read data N bits when it is determined that the bit number is an error, there is one matching bit number in the first process, the determination result of the third process is abnormal, and the determination result of the second process is normal A fourth process for determining that the bit number in the second read data is an error;
And a fifth process for correcting a bit determined to be an error in the fourth process.
請求項5記載の半導体装置において、
前記メモリユニットは、さらに、
前記ワード線と交差する第5および第6ビット線と、
前記ワード線と前記第5および第6ビット線の交点にそれぞれ配置される第5および第6メモリセルとを備え、
前記第1制御回路は、さらに、前記第1パリティー書き込みデータの反転データを前記第5ビット線を介して前記第5メモリセルに書き込み、前記第2パリティー書き込みデータの反転データを前記第6ビット線を介して前記第6メモリセルに書き込み、
前記第2制御回路は、前記第3メモリセルから前記第3ビット線を介して読み出された信号と前記第5メモリセルから前記第5ビット線を介して読み出された信号を差動増幅することで前記第1パリティー読み出しデータを出力し、前記第4メモリセルから前記第4ビット線を介して読み出された信号と前記第6メモリセルから前記第6ビット線を介して読み出された信号を差動増幅することで前記第2パリティー読み出しデータを出力することを特徴とする半導体装置。
The semiconductor device according to claim 5.
The memory unit further includes:
Fifth and sixth bit lines intersecting the word line;
Fifth and sixth memory cells disposed at intersections of the word line and the fifth and sixth bit lines, respectively.
The first control circuit further writes the inverted data of the first parity write data to the fifth memory cell via the fifth bit line, and the inverted data of the second parity write data as the sixth bit line. To the sixth memory cell via
The second control circuit differentially amplifies a signal read from the third memory cell via the third bit line and a signal read from the fifth memory cell via the fifth bit line. As a result, the first parity read data is output, and the signal read from the fourth memory cell via the fourth bit line and the signal read from the sixth memory cell via the sixth bit line are read out. The semiconductor device is characterized in that the second parity read data is output by differentially amplifying the received signal.
請求項5記載の半導体装置において、
前記第2制御回路は、
N個の前記第1メモリセルからN本の前記第1ビット線を介して読み出された信号を予め定めた第1基準信号を比較対象として増幅するN個の第1センスアンプ回路と、
N個の前記第2メモリセルからN本の前記第2ビット線を介して読み出された信号を前記第1基準信号を比較対象として増幅するN個の第2センスアンプ回路とを有することを特徴とする半導体装置。
The semiconductor device according to claim 5.
The second control circuit includes:
N first sense amplifier circuits that amplify signals read from the N first memory cells through the N first bit lines using a predetermined first reference signal as a comparison target;
And N second sense amplifier circuits that amplify signals read from the N second memory cells via the N second bit lines using the first reference signal as a comparison target. A featured semiconductor device.
請求項7記載の半導体装置において、
前記第2制御回路は、さらに、
N個の前記第1メモリセルからN本の前記第1ビット線を介して読み出された信号をN個の前記第2メモリセルからN本の前記第2ビット線を介して読み出された信号を比較対象として増幅するN個の第3センスアンプ回路とを有することを特徴とする半導体装置。
The semiconductor device according to claim 7.
The second control circuit further includes:
A signal read from N first memory cells via N first bit lines is read from N second memory cells via N second bit lines. A semiconductor device comprising: N third sense amplifier circuits that amplify signals as comparison targets.
請求項5記載の半導体装置において、
前記エラー処理回路は、さらに、前記第5処理で訂正が行われる第1の場合か、あるいは前記第1処理で一致するビット番号が存在せず、なおかつ前記第2および第3処理の判定結果が共に正常である第2の場合に第1論理レベルの第1信号を出力し、前記第1および第2の場合以外の場合に第2論理レベルの前記第1信号を出力することを特徴とする半導体装置。
The semiconductor device according to claim 5.
The error processing circuit further includes a first case where correction is performed in the fifth process, or there is no bit number matching in the first process, and the determination results of the second and third processes are The first signal of the first logic level is output in the second case where both are normal, and the first signal of the second logic level is output in cases other than the first and second cases. Semiconductor device.
請求項5記載の半導体装置において、
N個の前記第1メモリセル、N個の前記第2メモリセル、前記第3および第4メモリセルのそれぞれは、フラッシュメモリセルであることを特徴とする半導体装置。
The semiconductor device according to claim 5.
Each of the N first memory cells, the N second memory cells, and the third and fourth memory cells is a flash memory cell.
請求項10記載の半導体装置において、
前記半導体装置は、更に、
所定のプログラムを実行する中央処理ユニットと、
前記中央処理ユニットと前記メモリユニットを接続するバスとを備え、
前記メモリユニットは、前記中央処理ユニットの書き込みおよび読み出しアクセス対象であることを特徴とする半導体装置。
The semiconductor device according to claim 10.
The semiconductor device further includes:
A central processing unit for executing a predetermined program;
A bus connecting the central processing unit and the memory unit;
The semiconductor device according to claim 1, wherein the memory unit is a target of write and read access of the central processing unit.
N(Nは1以上の整数)ビットのデータを記憶し、書き込み時にNビットの第1書き込みデータが入力され、読み出し時にNビットの第1読み出しデータを出力するN個の第1記憶ノードと、
Nビットのデータを記憶し、前記書き込み時にNビットの第2書き込みデータが入力され、前記読み出し時にNビットの第2読み出しデータを出力するN個の第2記憶ノードと、
エラー処理回路とを備え、
Nビットの前記第2書き込みデータは、Nビットの前記第1書き込みデータと同一データ又はNビットの前記第1書き込みデータの反転データであり、
前記エラー処理回路は、Nビットの前記第1読み出しデータとNビットの前記第2読み出しデータの一致・不一致を各ビット番号毎に比較することでエラー有無を判定する第1処理を実行することを特徴とする半導体装置。
N first storage nodes that store N (N is an integer greater than or equal to 1) bits, receive N-bit first write data at the time of writing, and output N-bit first read data at the time of reading;
N second storage nodes that store N-bit data, input N-bit second write data at the time of writing, and output N-bit second read data at the time of reading;
An error processing circuit,
The second write data of N bits is the same data as the first write data of N bits or inverted data of the first write data of N bits,
The error processing circuit executes a first process for determining the presence or absence of an error by comparing the match / mismatch of the first read data of N bits and the second read data of N bits for each bit number. A featured semiconductor device.
請求項12記載の半導体装置において、
前記半導体装置は、さらに、
前記書き込み時に、Nビットの前記第1書き込みデータを対象として第1パリティーデータを生成し、Nビットの前記第2書き込みデータを対象として第2パリティーデータを生成するパリティー生成回路と、
前記第1および第2パリティーデータを記憶する第1および第2パリティー記憶ノードとを備え、
前記エラー処理回路は、さらに、
Nビットの前記第1読み出しデータと前記第1パリティーデータを用いてパリティー判定を行う第2処理と、
Nビットの前記第2読み出しデータと前記第2パリティーデータを用いてパリティー判定を行う第3処理と、
前記第1処理でエラーと判定されたビット番号が1個存在し、かつ前記第2処理の判定結果が異常であり前記第3処理の判定結果が正常な場合に、Nビットの前記第1読み出しデータにおける当該ビット番号を誤りと判定し、前記第1処理でエラーと判定されたビット番号が1個存在し、かつ前記第3処理の判定結果が異常であり前記第2処理の判定結果が正常な場合に、Nビットの前記第2読み出しデータにおける当該ビット番号を誤りと判定する第4処理と、
前記第4処理で誤りと判定されたビットを訂正する第5処理とを実行することを特徴とする半導体装置。
The semiconductor device according to claim 12, wherein
The semiconductor device further includes:
A parity generation circuit for generating first parity data for the first write data of N bits at the time of writing and generating second parity data for the second write data of N bits;
First and second parity storage nodes for storing the first and second parity data;
The error processing circuit further includes:
A second process for performing parity determination using the first read data of N bits and the first parity data;
A third process for performing parity determination using the second read data of N bits and the second parity data;
When there is one bit number determined to be an error in the first process, the determination result of the second process is abnormal, and the determination result of the third process is normal, the first read of N bits The bit number in the data is determined to be an error, there is one bit number determined to be an error in the first process, the determination result of the third process is abnormal, and the determination result of the second process is normal A fourth process for determining that the bit number in the second read data of N bits is an error,
And a fifth process for correcting a bit determined to be an error in the fourth process.
JP2011109228A 2011-05-16 2011-05-16 Semiconductor device Withdrawn JP2012243332A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011109228A JP2012243332A (en) 2011-05-16 2011-05-16 Semiconductor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011109228A JP2012243332A (en) 2011-05-16 2011-05-16 Semiconductor device

Publications (1)

Publication Number Publication Date
JP2012243332A true JP2012243332A (en) 2012-12-10

Family

ID=47464894

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011109228A Withdrawn JP2012243332A (en) 2011-05-16 2011-05-16 Semiconductor device

Country Status (1)

Country Link
JP (1) JP2012243332A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101814476B1 (en) 2011-07-15 2018-01-05 삼성전자주식회사 Nonvolatile memory device and driving method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101814476B1 (en) 2011-07-15 2018-01-05 삼성전자주식회사 Nonvolatile memory device and driving method thereof

Similar Documents

Publication Publication Date Title
US9892784B2 (en) Semiconductor device and error correction method
JP4138169B2 (en) Semiconductor memory device having on-chip error correction circuit and error correction method
JP4437519B2 (en) Memory controller for multilevel cell memory
JP4538034B2 (en) Semiconductor memory device and control method thereof
JP2525112B2 (en) Non-volatile memory device having error correction circuit
JP5657079B1 (en) Semiconductor memory device
US9613720B2 (en) Semiconductor storage device
US7937647B2 (en) Error-detecting and correcting FPGA architecture
US9312885B2 (en) Nonvolatile semiconductor memory system error correction capability of which is improved
US9552244B2 (en) Real time correction of bit failure in resistive memory
US7471562B2 (en) Method and apparatus for accessing nonvolatile memory with read error by changing read reference
JP2012069180A (en) Semiconductor storage device
TW201535399A (en) Semiconductor memory device and programming method of NAND flash memory
CN104969198A (en) Data path integrity verification
US7123501B2 (en) Semiconductor memory device using ferroelectric capacitor, and semiconductor device with the same
JP2014135105A (en) Nonvolatile semiconductor memory device and test method therefor
JP2012243332A (en) Semiconductor device
JP2013030251A (en) Memory system
US7773421B2 (en) Method and apparatus for accessing memory with read error by changing comparison
JP2004199833A (en) Control method of nonvolatile semiconductor storage device, and nonvolatile semiconductor storage device
TWI539465B (en) Semiconductor storing device and redundancy method thereof
JP2001202793A (en) Error correction encoding method in semiconductor storage, device and semiconductor storage device
JP6136767B2 (en) Semiconductor memory device and writing method thereof
JP2013016228A (en) Semiconductor device
US8077516B2 (en) Method and apparatus for accessing memory with read error by changing comparison

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140805