JP2001202793A - Error correction encoding method in semiconductor storage, device and semiconductor storage device - Google Patents

Error correction encoding method in semiconductor storage, device and semiconductor storage device

Info

Publication number
JP2001202793A
JP2001202793A JP2000010301A JP2000010301A JP2001202793A JP 2001202793 A JP2001202793 A JP 2001202793A JP 2000010301 A JP2000010301 A JP 2000010301A JP 2000010301 A JP2000010301 A JP 2000010301A JP 2001202793 A JP2001202793 A JP 2001202793A
Authority
JP
Japan
Prior art keywords
area
error correction
data
correction code
page
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.)
Pending
Application number
JP2000010301A
Other languages
Japanese (ja)
Inventor
Hiromi Nobukata
浩美 信方
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2000010301A priority Critical patent/JP2001202793A/en
Publication of JP2001202793A publication Critical patent/JP2001202793A/en
Pending legal-status Critical Current

Links

Landscapes

  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Read Only Memory (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a semiconductor storage device in which the number of correctable errors can be increased without increasing ECC codes. SOLUTION: At the time of recording, a data region of one page is divided into first and second regions, first and second error correction codes are generated and added to data depending on the first or the second regions respectively, the third error correction code is generated and added to data in a whole region of one page. Syndrome of the first and the second regions are obtained from data read out from the first and the second regions at the time of read-out and reproduced data of the first and the second error correction codes generated and added for the first and the second regions respectively, further, the number of errors is judged from reproduced data read out from a whole region of one page and reproduced data of the third error correction code, error states in the first region and the second region are judged by the first and the second syndrome and the number of errors, and error correction processing is performed, and connection of two bits error data can be performed as far as an error of one bit is generated in each region.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】この発明は、ECC(Error
Correcting Codes)を付加してメモリセルの不良に対処
するようにした半導体記憶装置におけるエラー訂正符号
化方法および半導体記憶装置に関するもので、特に、E
CCコードのビット数を増加させずに、エラー訂正能力
を向上するようにしたものに係わる。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an ECC (Error
The present invention relates to an error correction coding method and a semiconductor memory device in a semiconductor memory device which add a Correcting Code to address a memory cell defect.
The present invention relates to a technique for improving the error correction capability without increasing the number of bits of a CC code.

【0002】[0002]

【従来の技術】フラッシュメモリは、消去/書き換えを
繰り返すと、酸化膜の劣化により、セル不良がランダム
に発生する。そこで、ECCを使って、信頼性を高める
ことが行なわれている。
2. Description of the Related Art In a flash memory, when erasing / rewriting is repeated, cell defects occur randomly due to deterioration of an oxide film. Therefore, the use of ECC has been used to improve reliability.

【0003】すなわち、記録時に、所定単位のデータに
対して演算処理が行なわれてECCコードが生成され、
記録データに対してECCコードが付加されて、メモリ
セルへの書き込みが行なわれる。読み出し時には、メモ
リセルから読み出されたデータ及びECCコードから演
算処理が行なわれ、エラーの有無やエラーの位置が検出
され、訂正可能な場合には、エラー訂正が行なわれる。
That is, at the time of recording, arithmetic processing is performed on data of a predetermined unit to generate an ECC code,
An ECC code is added to the recording data, and writing to the memory cell is performed. At the time of reading, arithmetic processing is performed from the data read from the memory cells and the ECC code, the presence or absence of an error and the position of the error are detected, and if correction is possible, error correction is performed.

【0004】NAND型のフラッシュメモリでは、フロ
ーティングゲートを有する複数のメモリセルが縦続接続
されてNAND型のメモリストリングが構成される。行
方向に並ぶメモリセルのゲートが共通のワード線に接続
されてページが構成される。1ページの大きさは例えば
512バイトからなる。データの書き込み/読み出し
は、ページ単位で行なわれる。
In a NAND flash memory, a plurality of memory cells having floating gates are cascaded to form a NAND memory string. The gates of the memory cells arranged in the row direction are connected to a common word line to form a page. The size of one page is, for example, 512 bytes. Data writing / reading is performed in page units.

【0005】NAND型のフラッシュメモリにおける現
在最も多い構成は、図5に示すように、1ページを、5
12バイトのデータ領域と、ユーザに使い方を委ねた1
6バイトのスペア領域とから構成するものである。デー
タ領域は512バイトであるから、512=29 とな
り、I/Oバスが8本とすると、アドレスバスは9本と
なる。
[0005] As shown in FIG. 5, the most common configuration of the NAND type flash memory at present is to store one page in 5 pages.
12-byte data area and 1 that entrusts usage to the user
And a 6-byte spare area. Since the data area is 512 bytes, 512 = 2 9 and if there are eight I / O buses, there are nine address buses.

【0006】このような構成のNAND型のフラッシュ
メモリでは、スペア領域の16バイトには、各ページの
管理領域情報の他に、各ページのECCコードが格納さ
れる。ECCの方式として、ECCコードに3バイトを
割り当てた、1ビット訂正、2ビット検出が可能なもの
が用いられる。
[0006] In the NAND flash memory having such a configuration, the ECC code of each page is stored in the 16 bytes of the spare area in addition to the management area information of each page. As an ECC method, a method in which three bytes are assigned to an ECC code and which can perform one-bit correction and two-bit detection is used.

【0007】1ビット訂正、2ビット検出可能なECC
コードの生成は、図6〜図21に示すようにして生成さ
れる。
1-bit correction, 2-bit detectable ECC
The code is generated as shown in FIGS.

【0008】(1) ロウ方向のコード生成 R0B={アドレス「A0」が「0」の全てのデータの
モジュロ2の加算}(図6参照) R0N={アドレス「A0」が「1」の全てのデータの
モジュロ2の加算}(図7参照) R1B={アドレス「A1」が「0」の全てのデータの
モジュロ2の加算}(図8参照) R1N={アドレス「A1」が「1」の全てのデータの
モジュロ2の加算}(図9参照) ・ ・ ・ ・ R8B={アドレス「A8」が「0」の全てのデータの
モジュロ2の加算} R8N={アドレス「A8」が「1」の全てのデータの
モジュロ2の加算} (2) カラム方向のコード生成 C0B={I/O0、2、4、6の全てのデータのモジ
ュロ2の加算}(図10参照) C0N={I/O1、3、5、7の全てのデータのモジ
ュロ2の加算}(図11参照) C1B={I/O0、1、4、5の全てのデータのモジ
ュロ2の加算}(図12参照) C1N={I/O2、3、6、7の全てのデータのモジ
ュロ2の加算}(図13参照) C2B={I/O0、1、2、3の全てのデータのモジ
ュロ2の加算}(図14参照) C2N={I/O4、5、6、7の全てのデータのモジ
ュロ2の加算}(図15参照) 以上により、ECCコードに必要な容量は、 2×9+2×3=24ビット=3バイト となる。生成されたECCコードも、一緒に書き込まれ
る。このECCコードの特徴は、「R0B,R0N」、
「R1B,R1N」、... 「R8B,R8N」、「C0
B,C0N」、「C1B,C1N」、「C2B,C2
N」の各々のうち、必ず一方の演算に含まれている点で
ある。この特徴がエラーの個数及び読み出し時のエラー
の位置の特定を容易にしている。
(1) Code generation in the row direction R0B = {addition of modulo 2 to all data whose address "A0" is "0" (see FIG. 6) R0N = {all of address "A0" is "1" R1B = {addition of modulo 2 of all data whose address "A1" is "0"} (see FIG. 8) R1N = {address "A1" is "1" R8B = {addition of modulo 2 for all data with address "A8" of "0" R8N = {addition of modulo 2 for all data with address "A8" of "1" (2) Code generation in column direction C0B = {addition of modulo 2 to all data of I / O0, 2, 4, and 6} (see FIG. 10) C0N = {I / O1, 3, 5 and 7 modulo 2 of all data Addition (see FIG. 11) C1B = {modulo 2 addition of all data of I / O0, 1, 4, 5} (see FIG. 12) C1N = {all data of I / O2, 3, 6, 7 C2B = {modulo 2 addition of all data of I / O0, 1, 2, and 3} (see FIG. 14) C2N = {I / O4, 5, 6, 7 (Modulo 2 addition of all data) (see FIG. 15) From the above, the capacity required for the ECC code is 2 × 9 + 2 × 3 = 24 bits = 3 bytes. The generated ECC code is also written together. The features of this ECC code are "R0B, R0N",
"R1B, R1N", ... "R8B, R8N", "C0
B, C0N "," C1B, C1N "," C2B, C2
N ”is always included in one operation. This feature makes it easy to specify the number of errors and the position of the error at the time of reading.

【0009】読み出し時には、以下のようにして、シン
ドロームが求められる。
At the time of reading, a syndrome is obtained as follows.

【0010】(1) ロウ方向のシンドロームの生成 S0B={R0B,アドレス「A0」が「0」の全ての
データのモジュロ2の加算} S0N={R0N,アドレス「A0」が「1」の全ての
データのモジュロ2の加算} S1B={R1B,アドレス「A1」が「0」の全ての
データのモジュロ2の加算} S1N={R1N,アドレス「A1」が「1」の全ての
データのモジュロ2の加算} ・ ・ ・ ・ S8B={R8B,アドレス「A8」が「0」の全ての
データのモジュロ2の加算} S8N={R3N,アドレス「A8」が「1」の全ての
データのモジュロ2の加算} (2) カラム方向のコード生成 D0B={C0B,I/O0,2,4,6の全てのデー
タのモジュロ2の加算} D0N={C0N,I/O1,3,5,7の全てのデー
タのモジュロ2の加算} D1B={C1B,I/O0,1,4,5の全てのデー
タのモジュロ2の加算} D1N={C1N,I/O2,3,6,7の全てのデー
タのモジュロ2の加算} D2B={C2B,I/O0,1,2,3の全てのデー
タのモジュロ2の加算} D2N={C2N,I/O4,5,6,7の全てのデー
タのモジュロ2の加算} ここで、エラーが発生していない場合には、シンドロー
ムS0B〜S8B、S0N〜S8N、D0B〜D2B、
D0N〜D2Nは、全て「0」になる。
(1) Generation of syndrome in the row direction S0B = {R0B, modulo 2 addition of all data with address “A0” of “0”} S0N = {R0N, all of address “A0” with “1” S1B = 2R1B, modulo 2 addition of all data whose address “A1” is “0”} S1N = {R1N, modulo addition of all data whose address “A1” is “1” Addition of 2} S8B = モ ジ ュ R8B, modulo 2 addition of all data whose address “A8” is “0”} S8N = {R3N, modulo of all data whose address “A8” is “1” Addition of 2} (2) Code generation in column direction D0B = {C0B, I / O0, 2, 4 and 6 modulo 2 addition} D0N = {C0N, I / O1, 3, 5, 7 Of all data Addition of Juro 21 D1B = {Modulo 2 addition of all data of C1B, I / O 0, 1, 4, 5} D1N = {Modulo 2 of all data of C1N, I / O 2, 3, 6, 7 D2B = {addition of modulo 2 of all data of C2B, I / O 0, 1, 2, 3} D2N = {addition of modulo 2 of all data of C2N, I / O 4, 5, 6, 7} } Here, if no error has occurred, the syndromes S0B to S8B, S0N to S8N, D0B to D2B,
D0N to D2N are all "0".

【0011】1ビットの不良がある場合、その不良セル
は、「S0B,S0N」、「S1B,S1N」、...
「S8B,S8N」、「D0B,D0N」、「D1B,
D1N」、「D2B,D2N」のうち、必ず、一方の演
算に含まれているため、各組の必ず一方は、不良セルの
データの反転により「1」が立つ。
If there is a one-bit defect, the defective cells are "S0B, S0N", "S1B, S1N",.
"S8B, S8N", "D0B, D0N", "D1B,
D1N "and" D2B, D2N "are always included in one operation, and therefore, one of each pair always becomes" 1 "due to the inversion of the data of the defective cell.

【0012】例えば、アドレス「15A」の「I/O
3」にエラーが発生している場合には、アドレス「15
A」は、「A8=1」、「A7=0」、「A6=1」、
「A5=0」、「A4=1」、「A3=1」、「A2=
0」、「A1=1」、「A0=0」であるから、「S8
N」、「S7B」、「S6N」、「S5B」、「S4
N」、「S3N」、「S2B」、「S1N」、「S0
B」に「1」が立ち、「S8B」、「S7N」、「S6
B」、「S5N」、「S4B」、「S3B」、「S2
N」、「S1B」、「S0N」に「0」が立つ。
For example, the "I / O" of the address "15A"
If an error has occurred in “3”, the address “15”
"A" is "A8 = 1", "A7 = 0", "A6 = 1",
“A5 = 0”, “A4 = 1”, “A3 = 1”, “A2 =
0, “A1 = 1”, and “A0 = 0”, so “S8
N "," S7B "," S6N "," S5B "," S4
N "," S3N "," S2B "," S1N "," S0
B is set to “1”, and “S8B”, “S7N”, “S6”
B "," S5N "," S4B "," S3B "," S2
“0” stands for “N”, “S1B”, and “S0N”.

【0013】ここで、 S8N×28 +S7N×27 +S6N×26 +S5N×
5 +S4N×24 +S3N×23 +S2N×22 +S
1N×21 +S0N×2 を計算すると、2進数表示で「1 1010 010
1」となり、16進数で「15A」となり、アドレス
「15A」にエラーがあることが判明する。
Here, S8N × 2 8 + S7N × 2 7 + S6N × 2 6 + S5N ×
2 5 + S4N × 2 4 + S3N × 2 3 + S2N × 2 2 + S
Calculating the 1N × 2 1 + S0N × 2 0, "1 1010 binary indication 010
"1", which is "15A" in hexadecimal, which indicates that there is an error at the address "15A".

【0014】また、「I/O3」にエラーがあるから、
「D2B」、「D1N」、「D0N」、に「1」が立
ち、「D2N」、「D1B」、「D0B」に「0」が立
つ。
Also, since there is an error in "I / O3",
“1” stands for “D2B”, “D1N”, and “D0N”, and “0” stands for “D2N”, “D1B”, and “D0B”.

【0015】そして、 D2N×2+D1N×21 +D0N×20 を計算すると、「3」になり、エラーが発生しているI
/Oは「I/O3」であることが判明し、データ出力時
に、アドレス「1A5」のデータを出力するときに「I
/O3」を反転させて出力することにより正しいデータ
が出力できる。
Then, when D2N × 2 2 + D1N × 2 1 + D0N × 2 0 is calculated, it becomes “3”, and I, in which an error has occurred, is obtained.
/ O is found to be "I / O3", and when outputting data at address "1A5" at the time of data output,
By inverting and outputting "/ O3", correct data can be output.

【0016】2ビット不良がある場合、例えば、 不良1:アドレス「15A」のI/O3 不良2:アドレス「15A」のI/O7 に不良がある場合、「D2B,D2N」に着目すると、
不良1は「D2B」の演算に、不良2は「D2N」の演
算に含まれるため、「D2B,D2N」は「1,1」と
なる。このペアで両方が「1」の場合は2ビットの不良
があると認識される。
If there is a 2-bit defect, for example, defect 1: I / O3 at address "15A" defect 2: if I / O7 at address "15A" has a defect, paying attention to "D2B, D2N"
Since the defect 1 is included in the calculation of “D2B” and the defect 2 is included in the calculation of “D2N”, “D2B, D2N” is “1,1”. If both are "1" in this pair, it is recognized that there is a 2-bit defect.

【0017】2ビット不良であることは認識されるが、
ハミングコードでは2ビット以上の不良は修正できない
ため、システムの方に2ビットの不良があることを示す
だけである。
Although it is recognized that there is a 2-bit defect,
Since a Hamming code cannot correct a defect of 2 bits or more, it merely indicates that the system has a 2-bit defect.

【0018】また、ECCコードにのみエラーが生じた
場合、例えば、「R0B」のみに不良が発生した場合、
「S0B」のみに「1」が立ち、後は全て「0」とな
る。この場合、すなわち、1個だけ「1」が立っている
場合はエラーコードに不良があるものと判断してデータ
をそのまま出力する。
When an error occurs only in the ECC code, for example, when a defect occurs only in “ROB”,
"1" stands only for "S0B", and all become "0" thereafter. In this case, that is, when only one “1” is set, it is determined that the error code is defective, and the data is output as it is.

【0019】[0019]

【発明が解決しようとする課題】上述のように、従来の
方式では、1ページが512バイトのデータに対して3
バイトのECCコードを割り当ててECC処理を行った
場合、1個のエラー訂正処理が可能である。しかしなが
ら、それ以上のエラー訂正能力を持たせようとすると、
今度は、ECCコードが冗長となり、回路規模が大きく
なる。
As described above, in the conventional method, one page is 3 bytes for 512 bytes of data.
When ECC processing is performed by allocating a byte ECC code, one error correction processing is possible. However, if you try to have more error correction capabilities,
This time, the ECC code becomes redundant and the circuit scale increases.

【0020】したがって、この発明の目的は、ECCコ
ードを増加することなく、訂正できるエラーの数を増加
できるようにした半導体記憶装置におけるエラー訂正符
号化方法及び半導体記憶装置を提供することにある。
It is therefore an object of the present invention to provide an error correction encoding method and a semiconductor memory device in a semiconductor memory device which can increase the number of errors that can be corrected without increasing the number of ECC codes.

【0021】[0021]

【課題を解決するための手段】この発明は、行方向に並
ぶメモリセルを共通のワード線に接続し、共通のワード
線に接続されたメモリセルからなるページ単位に書き込
み/読み出しを行う半導体記憶装置におけるエラー訂正
方法において、記録時に、1ページのデータ領域を第1
の領域と第2の領域に分割し、第1の領域により第1の
エラー訂正符号を生成付加すると共に、第2の領域によ
り第2のエラー訂正符号を生成付加し、更に、1ページ
の全領域により第3のエラー訂正符号を生成付加してお
き、読み出し時に、第1の領域から読み出されたデータ
及び第1の領域に対して生成付加された第1のエラー訂
正符号の再生データから第1の領域のシンドロームを求
めると共に、第2の領域から読み出されたデータ及び第
2の領域に対して生成付加された第2のエラー訂正符号
の再生データから第2の領域のシンドロームを求め、更
に、1ページの全領域から読み出された再生データ及び
第3のエラー訂正符号の再生データから、エラーの数を
判断し、第1のシンドローム及び第2のシンドローム
と、エラーの数により、第1の領域及び第2の領域での
エラー状態を判断して、エラー訂正処理を行うようにし
た半導体記憶装置におけるエラー訂正符号化方法であ
る。
SUMMARY OF THE INVENTION According to the present invention, a semiconductor memory in which memory cells arranged in a row direction are connected to a common word line and writing / reading is performed in units of pages composed of the memory cells connected to the common word line. In an error correction method in an apparatus, a data area of one page is set to a first data area during recording.
And a second area, a first error correction code is generated and added by the first area, and a second error correction code is generated and added by the second area. A third error correction code is generated and added according to the area, and at the time of reading, from the data read from the first area and the reproduction data of the first error correction code generated and added to the first area. The syndrome of the first area is obtained, and the syndrome of the second area is obtained from the data read from the second area and the reproduction data of the second error correction code generated and added to the second area. Further, the number of errors is determined from the reproduction data read from the entire area of one page and the reproduction data of the third error correction code, and the number of errors is determined based on the first and second syndromes and the number of errors. , To determine the error condition in the first region and the second region, the error correction coding method in the semiconductor memory device to perform the error correction process.

【0022】この発明は、行方向に並ぶメモリセルを共
通のワード線に接続し、共通のワード線に接続されたメ
モリセルからなるページ単位に書き込み/読み出しを行
う半導体記憶装置において、記録時に、1ページのデー
タ領域を第1の領域と第2の領域に分割し、第1の領域
により第1のエラー訂正符号を生成付加する手段と、第
2の領域により第2のエラー訂正符号を生成付加する手
段と、更に、1ページの全領域により第3のエラー訂正
符号を生成付加する手段と、読み出し時に、第1の領域
から読み出されたデータ及び第1の領域に対して生成付
加された第1のエラー訂正符号の再生データから第1の
領域のシンドロームを求める手段と、第2の領域から読
み出されたデータ及び第2の領域に対して生成付加され
た第2のエラー訂正符号の再生データから第2の領域の
シンドロームを求める手段と、更に、1ページの全領域
から読み出された再生データ及び第3のエラー訂正符号
の再生データから、エラーの数を判断する手段と、第1
のシンドローム及び第2のシンドロームと、エラーの数
により、第1の領域及び第2の領域でのエラー状態を判
断して、エラー訂正処理を行う手段とを備えるようにし
た半導体記憶装置である。
According to the present invention, in a semiconductor memory device in which memory cells arranged in a row direction are connected to a common word line and writing / reading is performed in units of pages composed of memory cells connected to the common word line, Means for dividing a data area of one page into a first area and a second area, generating and adding a first error correction code using the first area, and generating a second error correction code using the second area Adding means for generating and adding a third error correction code using the entire area of one page, and generating and adding to the data read from the first area and the first area at the time of reading. Means for obtaining a syndrome in the first area from the reproduced data of the first error correction code, and a second error correction generated and added to the data read from the second area and the second area. Means for determining the syndrome of the second area from the reproduced data of the code, and means for determining the number of errors from the reproduced data read from the entire area of one page and the reproduced data of the third error correction code. , First
And a means for performing an error correction process by determining an error state in the first area and the second area based on the syndrome and the second syndrome, and the number of errors.

【0023】1ページのデータを2つの領域に分割し、
各領域に対してハミング符号のECCコードを生成付加
すると共に、全領域に対して、モジュロ2の加算をして
付加している。これにより、各領域に1ビットのずつの
エラーが発生した場合に限り、エラーデータの訂正が可
能になる。この場合、1ページのデータを、1ページの
半分のデータ数より小さい領域と、1ページの半分のデ
ータ数より大きい領域とに分割すると、ECCコードに
割り当てられるビット数が増大しない。
The data of one page is divided into two areas,
An ECC code of a Hamming code is generated and added to each area, and modulo 2 is added to all the areas. As a result, error data can be corrected only when an error of one bit occurs in each area. In this case, if the data of one page is divided into an area smaller than half the number of data of one page and an area larger than half the number of data of one page, the number of bits allocated to the ECC code does not increase.

【0024】[0024]

【発明の実施の形態】以下、この発明の実施の形態につ
いて図面を参照して説明する。前述したように、1ペー
ジが512バイトのNAND型のフラッシュメモリでE
CCを付加する場合には、従来、512バイトの1ペー
ジのデータに対して、3バイトのECCコードを付加し
ている。この場合には、1ページで1ビットのエラーの
修正が可能とされている。
Embodiments of the present invention will be described below with reference to the drawings. As described above, one page is a 512-byte NAND flash memory and E
Conventionally, when a CC is added, a 3-byte ECC code is added to one page of 512-byte data. In this case, one-bit error can be corrected in one page.

【0025】これに対して、この発明の実施の形態で
は、従来例と同様に、512バイトの1ページのデータ
に対して3バイトのECCコードを付加し、条件付きで
はあるが、1ページに2ビットのエラーの修正が可能と
される。
On the other hand, in the embodiment of the present invention, similarly to the conventional example, a 3-byte ECC code is added to 512-byte 1-page data, and although there is a condition, the Correction of two-bit errors is enabled.

【0026】以下、この発明が適用されたNAND型の
フラッシュメモリにおけるECCの発生について詳述す
る。
Hereinafter, generation of ECC in a NAND flash memory to which the present invention is applied will be described in detail.

【0027】この発明の実施の形態では、ECC方式と
して、ハミングコードを用いている。ハミングコード
は、パリティ検査行列の各列が全ての異なるm次元の2
元列ベクトルより構成される符号であり、単一のエラー
修正が可能である。
In the embodiment of the present invention, a Hamming code is used as the ECC system. The Hamming code is such that each column of the parity check matrix has all different m-dimensional 2
This code is composed of the original column vector, and single error correction is possible.

【0028】ハミングコードでは、データのビット数
と、ECCコードのビット数との関係は、以下のように
なる。
In the Hamming code, the relationship between the number of data bits and the number of ECC code bits is as follows.

【0029】 データビット数 ECCコード −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 〜(512)〜1013 10ビット 〜(1024)〜2036 11ビット 〜(2048)〜4083 12ビット 〜(4096)〜8178 13ビット。Number of data bits ECC code ---------------------------------------------------------- (512) to 1013 10 bits ~ (1024) ~ 2036 11 bits ~ (2048) ~ 4083 12 bits ~ (4096) ~ 8178 13 bits.

【0030】以上の関係から、1ページが512バイト
のデータに対してハミング符号によるECCコードを付
加するようにした場合には、 512バイト=4096ビット となるから、13ビットのECCコードを付加すれば良
いことになる。ところが、1ページ全てのデータに対し
てハミング符号によりECCコードを付加したのでは、
1ビットのエラー修正しか行なえない。
From the above relationship, when an ECC code by a Hamming code is added to 512-byte data for one page, 512 bytes = 4096 bits, so that a 13-bit ECC code is added. It will be good. However, if the ECC code is added to the data of one page using the Hamming code,
Only one-bit error correction can be performed.

【0031】そこで、この発明の実施の形態では、図1
Aに示すように、1ページのデータを2つの領域AR1
及びAR2に分けて、図1B及び図1Cに示すように、
各領域AR1及びAR2毎に、ハミング符号によるEC
CコードEA 及びEB を生成付加するようにしている。
そして、更に、図1Dに示すように、1ページの全領域
のデータに対して、ECCコードEC を生成付加するよ
うにしている。
Therefore, in the embodiment of the present invention, FIG.
A, one page of data is stored in two areas AR1.
And AR2, as shown in FIGS. 1B and 1C,
For each area AR1 and AR2, an EC using a Hamming code
C code E A and E B are to generate added.
Further, as shown in FIG. 1D, an ECC code E C is generated and added to the data of the entire area of one page.

【0032】図1において、1ページのデータ領域は、
512バイトとされる。この512バイトのデータは、
192バイトの領域AR1と、320バイトの領域AR
2とに分割される。192バイトの領域AR1のデータ
からハミング符号によりECCコードEA が求められ
る。また、320バイトの領域AR2のデータからハミ
ング符号によりECCコードEB が求められる。512
バイトの1ページの全領域のデータから、ECCコード
C が求められる。これら、ECCコードEA 、EB
ECCコードEC がECC領域AR3に設けられる。
In FIG. 1, the data area of one page is
It is 512 bytes. This 512-byte data is
192 byte area AR1 and 320 byte area AR
It is divided into two. The ECC code E A is obtained from the data of the area AR1 of 192 bytes by the Hamming code. Further, the ECC code E B determined by Hamming code from the data of 320-byte area AR2. 512
The ECC code E C is obtained from the data of the entire area of one page of bytes. These, ECC code E A, E B,
The ECC code E C is provided in the ECC area AR3.

【0033】領域AR1で生成されるECCコードEA
はハミング符号であり、領域AR1のデータ数は 192バイト=1536ビット であるから、上表より、ECCコードEA は11ビット
である。
ECC code E A generated in area AR1
Is a Hamming code, and since the number of data in the area AR1 is 192 bytes = 1536 bits, the ECC code E A is 11 bits from the above table.

【0034】領域AR2で生成されるECCコードEB
はハミング符号であり、領域AR2のデータ数は 320バイト=2560ビット であるから、上表より、ECCコードEB は12ビット
である。
ECC code E B generated in area AR2
Is Hamming code, the number of data in the area AR2 is because it is 320 bytes = 2560 bits, from the above table, ECC code E B is 12 bits.

【0035】全領域AR1及びAR2で生成されるEC
CコードEC は、全データのモジュロ2の加算(排他的
論理和)から求められる。このECCコードEC のビッ
ト数は1ビットである。
EC generated in all areas AR1 and AR2
The C code E C is obtained by modulo 2 addition (exclusive OR) of all data. The number of bits of this ECC code E C is 1 bit.

【0036】したがって、この場合に付加されるECC
コードの総数は、 11+12+1=24ビット=3バイト である。これは、前述した従来例の場合と同様である。
Therefore, the ECC added in this case is
The total number of codes is 11 + 12 + 1 = 24 bits = 3 bytes. This is the same as in the above-described conventional example.

【0037】このように、この512バイトのデータ
を、192バイトの領域AR1と、320バイトの領域
AR2とに分割すると、各領域AR1及びAR2毎に、
1ビットのエラー修正が可能である。このため、領域A
R1と領域AR2の夫々に1ビットのエラーが発生して
いる場合には、エラー修正が可能である。
As described above, when this 512-byte data is divided into a 192-byte area AR1 and a 320-byte area AR2, for each of the areas AR1 and AR2,
One-bit error correction is possible. Therefore, the area A
When a one-bit error has occurred in each of R1 and area AR2, error correction is possible.

【0038】なお、この例では、512バイトの1ペー
ジのデータを256バイトずつ均等に分割せず、192
バイトの領域AR1と、320バイトの領域AR2とに
分割している。このように、256バイトより小さい領
域と、256バイトより大きい領域とに分割して、EC
Cコードを生成付加することで、ビット数が削減でき
る。
In this example, the data of one page of 512 bytes is not divided equally into 256 bytes, and 192 bytes are not divided.
It is divided into a byte area AR1 and a 320-byte area AR2. In this way, the area is divided into an area smaller than 256 bytes and an area
By generating and adding a C code, the number of bits can be reduced.

【0039】すなわち、512バイトの1ページのデー
タを256バイトずつ均等に分割すると、 256バイト=2048ビット であるから、夫々の領域で、ECCコードを12ビット
ずつ設ける必要があり、全体のECCコードは、 12+12+1=25 となり、3バイトより大きくなってしまう。
That is, if one page data of 512 bytes is equally divided into 256 bytes, 256 bytes = 2048 bits. Therefore, it is necessary to provide 12 bits of ECC code in each area. Is 12 + 12 + 1 = 25, which is larger than 3 bytes.

【0040】このように、1ページの領域を2つの領域
AR1及びAR2に分割し、各領域AR1及びAR2毎
にハミング符号によるECCコードを生成付加すると、
領域AR1及びAR2に夫々1ビットのエラーの発生と
いう条件はあるが、2ビットのエラー修正が可能であ
る。
As described above, when the area of one page is divided into two areas AR1 and AR2, and an ECC code based on a Hamming code is generated and added to each area AR1 and AR2,
There is a condition that a 1-bit error occurs in each of the areas AR1 and AR2, but 2-bit error correction is possible.

【0041】読み出し時には、領域AR1の再生データ
と再生ECCコードEA とで求められるシンドロームS
A と、領域AR2の再生データと再生ECCコードEB
とで求められるシンドロームSB と、全領域のデータと
再生ECCコードEC で求められるシンドロームSC
から、以下のようにして、エラーが判別される。
[0041] At the time of reading, the syndrome S obtained by the reproduction data of the area AR1 and the reproduction ECC code E A
A , the reproduction data of the area AR2 and the reproduction ECC code E B
A syndrome S B obtained by the, from the syndrome S C obtained by the reproduction ECC code E C and data of all areas, as follows, the error is determined.

【0042】なお、シンドロームSC は、ECCコード
C が全領域のデータをモジュロ2の加算をしたもので
あるから、エラーの数が「0」なら「0」となるが、更
に、エラーが発生した場合には、エラーの数が偶数個な
ら「0」、エラーの数が奇数なら「1」となり、エラー
の数が偶数個か奇数個かを示すものとなる。ここで、ハ
ミングコードは、エラー発生率の極めて低いものに対し
て採用されるエラー訂正方式であるため、3ビット以上
のエラーが発生しないものとすると、エラーの数が偶数
個というのは、エラーの数は「2」個と見做し、エラー
の数が奇数個というのは、エラーの数は「1」個と見做
すことで、判断処理が簡単になる。この例では、3ビッ
ト以上のエラーが発生しないものとして説明する。
Since the syndrome S C is obtained by adding modulo 2 to the data of the entire area of the ECC code E C, if the number of errors is “0”, it becomes “0”. If an error occurs, the error number is "0" if the number is even and "1" if the error number is odd, indicating whether the number of errors is even or odd. Here, the hamming code is an error correction method adopted for an extremely low error occurrence rate. Therefore, if an error of 3 bits or more does not occur, an even number of errors is defined as an error number. Is assumed to be "2" and the number of errors is odd because the number of errors is assumed to be "1", and the determination process is simplified. In this example, it is assumed that no error of 3 bits or more occurs.

【0043】(1) SA =0、SB =0、SC =0 この場合には、シンドロームSA 、シンドロームSB
「0」で、シンドロームSC が「0」であるから、図2
Aに示すように、領域AR1にも、領域AR2にも、エ
ラーは発生していない。
(1) S A = 0, S B = 0, S C = 0 In this case, the syndromes S A and S B are “0” and the syndrome S C is “0”. 2
As shown in A, no error has occurred in both the area AR1 and the area AR2.

【0044】(2) SA =0、SB =0、SC =1 この場合には、シンドロームSA 、シンドロームSB
「0」であるから、図2Aに示すように、領域AR1に
も、領域AR2にも、エラーは発生していない。この場
合、シンドロームSC が「1」であるから、図2Bに示
すように、ECCコードに誤りがあるかもしれないが、
データについては問題はない。
(2) S A = 0, S B = 0, S C = 1 In this case, since the syndromes S A and S B are “0”, as shown in FIG. Also, no error has occurred in the area AR2. In this case, since the syndrome S C is "1", as shown in FIG. 2B, but there may be an error in the ECC code,
There is no problem with the data.

【0045】(3) SA =0、SB ≠0、SC =0 この場合には、シンドロームSA は「0」であるから、
領域AR1には、エラー発生していない。シンドローム
B は「0」でないから、領域AR2にエラーが発生し
ている。シンドロームSC が「0」であることから、エ
ラーの数は「2」である(エラー数は偶数であるが、こ
こでは、エラー数を「3」個以下としているので「2」
個である)。したがって、図2Cに示すように、領域A
R2に2個のエラーが発生している場合(ケース1)
と、領域AR2に1個のエラーが発生していて、ECC
コードEC にエラーが発生している場合(ケース2)と
が考えられる。ケース2の場合には、エラーは1個なの
で、訂正可能であるが、ケース1とケース2のどちらか
が判定不可能である。したがって、この場合には、訂正
不能である。
(3) S A = 0, S B ≠ 0, S C = 0 In this case, since the syndrome S A is “0”,
No error has occurred in the area AR1. Since the syndrome S B is not "0", an error occurs in the area AR2. Since the syndrome S C is “0”, the number of errors is “2” (the number of errors is an even number, but here, the number of errors is “2” since the number of errors is 3 or less).
Individual). Therefore, as shown in FIG.
When two errors occur in R2 (Case 1)
And one error has occurred in the area AR2, and the ECC
It is considered that an error occurs in the code E C (case 2). In case 2, since there is one error, the error can be corrected, but either case 1 or case 2 cannot be determined. Therefore, in this case, it cannot be corrected.

【0046】(4) SA =0、SB ≠0、SC =1 この場合には、シンドロームSA は「0」であるから、
領域AR1には、エラー発生していない。シンドローム
B は「0」でないから、領域AR2にエラーが発生し
ている。シンドロームSC が「1」であることから、エ
ラーの数は「1」個である(エラー数は奇数であるが、
ここでは、エラー数を「3」個未満としているので
「1」個である)。したがって、図2Dに示すように、
領域AR2に1個のエラーが発生していると判断でき
る。この場合、領域AR2のエラーは1個なので、訂正
可能である。
(4) S A = 0, S B ≠ 0, S C = 1 In this case, since the syndrome S A is “0”,
No error has occurred in the area AR1. Since the syndrome S B is not "0", an error occurs in the area AR2. Since the syndrome S C is “1”, the number of errors is “1” (the number of errors is an odd number,
Here, since the number of errors is less than “3”, it is “1”.) Therefore, as shown in FIG. 2D,
It can be determined that one error has occurred in the area AR2. In this case, since there is one error in the area AR2, it can be corrected.

【0047】(5) SA ≠0、SB =0、SC =0 この場合には、シンドロームSB は「0」であるから、
領域AR2には、エラー発生していない。シンドローム
A は「0」でないから、領域AR1にエラーが発生し
ている。シンドロームSC が「0」であることから、エ
ラーの数は「2」個である。したがって、図2Eに示す
ように、領域AR1に2個のエラーが発生している場合
(ケース1)と、領域AR1に1個のエラーが発生して
いて、ECCコードEC にエラーが発生している場合
(ケース2)とが考えられる。ケース2の場合には、エ
ラーは1個なので、訂正可能であるが、ケース1とケー
ス2のどちらかが判定不可能である。したがって、この
場合には、訂正不能である。
(5) S A ≠ 0, S B = 0, S C = 0 In this case, since the syndrome S B is “0”,
No error has occurred in the area AR2. Since the syndrome S A is not “0”, an error has occurred in the area AR1. Since the syndrome S C is "0", the number of errors is "2" number. Accordingly, as shown in FIG. 2E, a case (case 1) that occurred two errors in the area AR1, have one error in the area AR1 is generated, an error occurs in the ECC code E C (Case 2). In case 2, since there is one error, the error can be corrected, but either case 1 or case 2 cannot be determined. Therefore, in this case, it cannot be corrected.

【0048】(6) SA ≠0、SB =0、SC =1 この場合には、シンドロームSB は「0」であるから、
領域AR2には、エラー発生していない。シンドローム
A は「0」でないから、領域AR1にエラーが発生し
ている。シンドロームSC が「1」であることから、エ
ラーの数は「1」個である。したがって、図2Fに示す
ように、領域AR1に1個のエラーが発生していると判
断できる。この場合、領域AR1のエラーは1個なの
で、訂正可能である。
(6) S A ≠ 0, S B = 0, S C = 1 In this case, since the syndrome S B is “0”,
No error has occurred in the area AR2. Since the syndrome S A is not “0”, an error has occurred in the area AR1. Since the syndrome S C is "1", the number of errors is "1" number. Therefore, as shown in FIG. 2F, it can be determined that one error has occurred in the area AR1. In this case, since there is one error in the area AR1, the error can be corrected.

【0049】(7) SA ≠0、SB ≠0、SC =0 この場合には、シンドロームSA は「0」でなく、シン
ドロームSB も「0」でないので、領域AR1と領域A
R2との双方にエラーが発生している。シンドロームS
C が「0」であることから、エラーの数は「2」個であ
る。したがって、図2Gに示すように、領域AR1に1
個のエラーが発生し、領域AR2に1個のエラーが発生
していると判断できる。この場合、領域AR1のエラー
は1個で、領域AR2のエラーは1個なので、双方と
も、訂正可能である。
(7) S A ≠ 0, S B ≠ 0, S C = 0 In this case, the syndrome S A is not “0” and the syndrome S B is not “0”.
An error has occurred in both R2. Syndrome S
Since C is “0”, the number of errors is “2”. Therefore, as shown in FIG.
Errors have occurred, and it can be determined that one error has occurred in the area AR2. In this case, since there is one error in the area AR1 and one error in the area AR2, both can be corrected.

【0050】(8) SA ≠0、SB ≠0、SC =1 この場合には、シンドロームSA は「0」でなく、シン
ドロームSB も「0」でないので、領域AR1と領域A
R2との双方にエラーが発生している。シンドロームS
C が「1」であることから、エラーの数は奇数個である
が、領域AR1と領域AR2との双方にエラーが発生し
ているなら、エラーの数は2個以上であり、3ビット以
上のエラーは発生しないものとしているので、エラーの
数を3個とすると、前提と矛盾する。したがって、これ
は起こりえない。
(8) S A ≠ 0, S B ≠ 0, S C = 1 In this case, the syndrome S A is not “0” and the syndrome S B is not “0”.
An error has occurred in both R2. Syndrome S
Since C is “1”, the number of errors is an odd number. However, if an error occurs in both the area AR1 and the area AR2, the number of errors is two or more and three bits or more. Is assumed not to occur, and if the number of errors is three, it is inconsistent with the premise. Therefore, this cannot happen.

【0051】このように、領域AR1の再生データと再
生ECCコードEA とで求められるシンドロームS
A と、領域AR2の再生データと再生CCコードEB
で求められるシンドロームSB と、全領域のデータと再
生ECCコードEC で求められるシンドロームSC を使
うと、領域AR1と領域AR2とに1つずつエラーが発
生しているような場合((7) の場合)には、1ページで
2ビットエラーであるが、修正が可能である。
[0051] Thus, the syndrome S obtained by the reproduction data of the area AR1 and the reproduction ECC code E A
And A, the reproduced data and the syndrome S B obtained by the reproduction CC code E B area AR2, when using the syndrome S C obtained by the reproduction ECC code E C and data of all areas, to the region AR1 and the region AR2 If an error occurs one by one (in the case of (7)), a two-bit error occurs in one page, but correction is possible.

【0052】図3はこの発明の実施の形態を示すもので
ある。この例は、上述のように、512バイトからなる
1ページを、256バイトより小さい領域と、256バ
イトより大きい領域とに分け、各領域毎にハミング符号
によるECCコードを付加すると共に、全体領域のモジ
ュロ2の加算をしたECCコードを付加して、ECCを
行うようにしたものである。
FIG. 3 shows an embodiment of the present invention. In this example, as described above, one page of 512 bytes is divided into an area smaller than 256 bytes and an area larger than 256 bytes, and an ECC code based on a Hamming code is added to each area, and the entire area is ECC is performed by adding an ECC code to which modulo 2 has been added.

【0053】図3において、メモリセルアレイ1は、縦
続接続されたメモリセルトランジスタMT0、MT
1、... と、縦続接続されたメモリセルトランジスタM
T0、MT1、... のドレイン側に接続された選択ゲー
トトランジスタSG1と、縦続接続されたメモリセルト
ランジスタのソース側に接続された選択ゲートトランジ
スタSG2とからなるNAND型のメモリストリングか
ら構成される。
In FIG. 3, memory cell array 1 includes cascade-connected memory cell transistors MT0 and MT
Memory cell transistors M cascaded with 1,...
, And a select-type gate transistor SG1 connected to the drain side of T0, MT1,..., And a select-type transistor SG2 connected to the source side of the cascade-connected memory cell transistors. .

【0054】選択ゲートトランジスタSG1のドレイン
は、データ領域のビット線BL0、BL1、BL
2、... 、及び、スペア領域のビット線BLS0、BL
S1、...に接続される。選択ゲートトランジスタSG
2のソースは、ソース線Vsに接続される。
The drain of the select gate transistor SG1 is connected to the bit lines BL0, BL1, BL in the data area.
2,... And bit lines BLS0, BL in the spare area
Are connected to S1,. Select gate transistor SG
2 are connected to the source line Vs.

【0055】行方向に並ぶメモリセルトランジスタMT
0、MT1、... のゲートは、ワード線WL0、WL
1,... に共通接続される。選択ゲートトランジスタS
G1は制御信号線DSGに接続され、選択ゲートトラン
ジスタSG2は制御信号線SSGに接続される。
Memory cell transistors MT arranged in the row direction
The gates of 0, MT1,... Are connected to the word lines WL0, WL
1, ... are connected in common. Select gate transistor S
G1 is connected to the control signal line DSG, and the select gate transistor SG2 is connected to the control signal line SSG.

【0056】同一のワード線WL0、WL1,... に接
続されているメモリセルトランジスタにより、ページが
構成される。ワード線WL0、WL1、... 及び選択ゲ
ートの制御信号線DSG及びSSGは、図示せずも、デ
コーダに接続されており、ページを単位として、データ
の読み出し/書き込みが行なわれる。
A page is formed by the memory cell transistors connected to the same word lines WL0, WL1,. The word lines WL0, WL1,... And the control signal lines DSG and SSG of the selection gate are connected to a decoder (not shown), and data is read / written in page units.

【0057】ビット線BL0、BL1、BL2、... 、
BLS0、BLS1、... に対して、ラッチ回路L0、
L1、L2、... 、LS0、LS1、... が設けられ
る。ラッチ回路L0、L1、L2、... は、I/Oバス
2に接続される。ビット線BLS0、BLS1、...
は、バス3に接続され。
Bit lines BL0, BL1, BL2,...
The latch circuits L0, BLS0, BLS1,.
, LS0, LS1,... Are provided. The latch circuits L0, L1, L2,... Are connected to the I / O bus 2. Bit lines BLS0, BLS1, ...
Is connected to the bus 3.

【0058】この例では、1ページは、例えば512バ
イトのデータ領域と、16バイトのスペア領域とからな
る。ラッチ回路L0、L1、L2、... は、データ領域
に対するラッチ回路であり、ラッチ回路LS0、LS
1、... は、スペア領域に対するラッチ回路である。
In this example, one page consists of, for example, a data area of 512 bytes and a spare area of 16 bytes. The latch circuits L0, L1, L2,... Are latch circuits for the data area, and the latch circuits LS0, LS
1,... Are latch circuits for the spare area.

【0059】512バイトの1ページデータは、図1に
示したように、192バイトの領域AR1と、320バ
イトの領域AR2とに分割される。そして、領域AR1
からハミング符号により11ビットのECCコードEA
が生成され、領域AR2からハミング符号により12ビ
ットのECCコードEB が生成される。また、512バ
イトの1ページの全体のデータをモジュロ2の加算をし
て、ECCコードECが求められる。これらのECCコ
ードEA 、EB 、EC は、スペア領域に格納される。
As shown in FIG. 1, one page data of 512 bytes is divided into an area AR1 of 192 bytes and an area AR2 of 320 bytes. Then, the area AR1
11 bit ECC code E A by Hamming code
There is produced, the ECC code E B of 12 bits by Hamming code from the area AR2 is generated. Further, the ECC code E C is obtained by adding modulo 2 to the entire data of one page of 512 bytes. These ECC codes E A , E B , and E C are stored in a spare area.

【0060】この例では、ECC演算回路11と、EC
C演算回路12と、ECC演算回路13とが設けられ、
ECC演算回路11は、192バイトの領域AR1につ
いてのECC演算を行うものである。ECC演算回路1
2は、320バイトの領域AR2についてのECC演算
を行うものである。ECC演算回路13は、全領域につ
いてモジュロ2の加算を行うものである。
In this example, the ECC operation circuit 11 and the EC
A C operation circuit 12 and an ECC operation circuit 13 are provided;
The ECC operation circuit 11 performs an ECC operation on a 192 byte area AR1. ECC operation circuit 1
No. 2 performs ECC calculation on the 320-byte area AR2. The ECC operation circuit 13 performs modulo 2 addition for all areas.

【0061】ECC演算回路11の前段に、トランスフ
ァゲート13が設けられる。また、ECC演算回路12
の前段に、トランスファゲート14が設けられる。トラ
ンスファゲート13は、192バイトの領域AR1のデ
ータをゲートするものである。トランスファゲート14
は、320バイトの領域AR2のデータをゲートするも
のである。
A transfer gate 13 is provided before the ECC operation circuit 11. The ECC operation circuit 12
Is provided with a transfer gate 14 at the preceding stage. The transfer gate 13 gates 192 bytes of data in the area AR1. Transfer gate 14
Is to gate the data of the area AR2 of 320 bytes.

【0062】NANDゲートG1、NANDゲートG
2、インバータIV1、インバータIV2は、カラムア
ドレスが「191」まで達したか否かを検出して、トラ
ンスファゲート13及び14を制御するためのデコーダ
を構成している。NANDゲートG2には、カラムアド
レスA6及びA7が供給され、インバータIV1には、
カラムアドレスA8が供給される。NANDゲートG2
の出力がNANDゲートG1に供給される。インバータ
IV1の出力がNANDゲートG1に供給される。NA
NDゲートG1の出力CNT1は、カラムアドレスが
「0」〜「191」のときには、ローレベルである。カ
ラムアドレスが「192」になると、カラムアドレスが
「511」になるまで、NANDゲートG1の出力CN
T1はハイレベルとなる。
NAND gate G1, NAND gate G
2. The inverter IV1 and the inverter IV2 constitute a decoder for detecting whether the column address has reached "191" and controlling the transfer gates 13 and 14. The column addresses A6 and A7 are supplied to the NAND gate G2, and the inverter IV1 receives the column addresses A6 and A7.
The column address A8 is supplied. NAND gate G2
Is supplied to the NAND gate G1. The output of inverter IV1 is supplied to NAND gate G1. NA
The output CNT1 of the ND gate G1 is at a low level when the column address is "0" to "191". When the column address becomes “192”, the output CN of the NAND gate G1 continues until the column address becomes “511”.
T1 becomes high level.

【0063】カラムアドレスが「0」〜「191」のと
きには、NANDゲートG1の出力CNT1により、ト
ランスファゲート13が開かれ、IOバス2を介された
データがECC演算回路11に供給される。このとき、
トランスファゲート14は閉じられ、ECC演算回路1
2には、データは供給されない。
When the column address is "0" to "191", the transfer gate 13 is opened by the output CNT1 of the NAND gate G1, and the data via the IO bus 2 is supplied to the ECC operation circuit 11. At this time,
The transfer gate 14 is closed and the ECC operation circuit 1
2, no data is supplied.

【0064】カラムアドレスが「192」〜「511」
のときには、NANDゲートG1の出力CNT1によ
り、トランスファゲート14が開かれ、IOバス2を介
されたデータがECC演算回路12に供給される。この
とき、トランスファゲート13は閉じられ、ECC演算
回路11には、データは供給されない。
The column address is "192" to "511"
In this case, the transfer gate 14 is opened by the output CNT1 of the NAND gate G1, and the data via the IO bus 2 is supplied to the ECC operation circuit 12. At this time, the transfer gate 13 is closed, and no data is supplied to the ECC operation circuit 11.

【0065】このように、ECC演算回路11には、I
Oバス2から、トランスファゲート13を介して、領域
AR1のデータが供給される。ECC演算回路12に
は、IOバス2から、トランスファゲート14を介し
て、領域AR2のデータが供給される。ECC演算回路
13には、IOバス2から、領域AR1と領域AR2と
の全領域のデータが供給される。
As described above, the ECC operation circuit 11
The data in the area AR1 is supplied from the O bus 2 via the transfer gate 13. The ECC operation circuit 12 is supplied with data in the area AR2 from the IO bus 2 via the transfer gate 14. The ECC operation circuit 13 is supplied with data of the entire area AR1 and area AR2 from the IO bus 2.

【0066】また、ラッチ回路LS0、LS1、... に
は、スペア領域のECCコードが取り込まれる。再生E
CCコードEA は、データがバス3を介して、ECC演
算回路11に供給される。再生ECCコードEB は、デ
ータバス3を介して、ECC演算回路12に供給され
る。再生ECCコードEC は、データバス3を介して、
ECC演算回路13に供給される。
The latch circuits LS0, LS1,... Receive the ECC code of the spare area. Playback E
The CC code E A is supplied to the ECC operation circuit 11 via the bus 3. Play ECC code E B via the data bus 3 is supplied to the ECC arithmetic circuit 12. The reproduced ECC code E C is transmitted via the data bus 3
It is supplied to the ECC operation circuit 13.

【0067】ECC演算回路11により、カラムアドレ
スが「0」〜「191」の領域AR1の再生データと、
再生ECCコードEA とから、シンドロームSA が求め
られる。ECC演算回路12により、カラムアドレスが
「192」〜「511」の領域AR2の再生データと、
再生ECCコードEB とから、シンドームSB が求めら
れる。ECC演算回路13により、領域AR1及び領域
AR2の再生データと、再生コードEC とから、シンド
ロームSC が求められる。
The reproduced data in the area AR1 having the column address of “0” to “191” is calculated by the ECC operation circuit 11,
The syndrome S A is obtained from the reproduced ECC code E A. By the ECC operation circuit 12, the reproduction data of the area AR2 having the column address of “192” to “511”,
From the reproduced ECC code E B , the sync dome S B is obtained. The ECC calculation circuit 13, a reproduction data area AR1 and the region AR2, and a playback code E C, the syndrome S C is obtained.

【0068】ECC演算回路11、12、13の出力が
ラッチ回路21、22、23に夫々供給される。512
バイトの1ページ分のデータの転送が終了されると、ラ
ッチ回路21、22、23に、シンドームSA 、シンド
ロームSB 、シンドロームSC がラッチされる。
Outputs of the ECC operation circuits 11, 12, and 13 are supplied to latch circuits 21, 22, and 23, respectively. 512
When the transfer of the data of one page of the byte is completed, the syndromes S A , S B , and S C are latched by the latch circuits 21, 22, and 23.

【0069】NANDゲートG11、G12、G13、
NORゲートG14、インバータIV11は、カラムア
ドレスが1ページの最後の「511」に達したか否かを
検出し、カラムアドレスが「511」に達したら、ラッ
チ回路21、22、23に、ECC演算回路11、1
2、13の出力を取り込むように制御するデコーダとし
て動作する。
The NAND gates G11, G12, G13,
The NOR gate G14 and the inverter IV11 detect whether or not the column address has reached the last "511" of one page, and when the column address has reached "511", the latch circuits 21, 22, and 23 perform the ECC operation. Circuits 11, 1
It operates as a decoder that controls so as to take in outputs 2 and 13.

【0070】NANDゲートG11には、カラムアドレ
スA6、A7、A8が供給される。NANDゲートG1
2には、カラムアドレスA3、A4、A5が供給され
る。NANDゲートG13には、カラムアドレスA0、
A1、A2が供給される。NANDゲートG11、G1
2、G13の出力がNORゲートG14に供給される。
NORゲートG14の出力がインバータIV11を介し
て、ラッチ回路21〜23に供給される。
The column addresses A6, A7, A8 are supplied to the NAND gate G11. NAND gate G1
2 is supplied with column addresses A3, A4 and A5. The NAND gate G13 has a column address A0,
A1 and A2 are supplied. NAND gates G11, G1
2. The output of G13 is supplied to NOR gate G14.
The output of the NOR gate G14 is supplied to the latch circuits 21 to 23 via the inverter IV11.

【0071】カラムアドレスが「511」以外のときに
は、インバータIV11の出力CNT2はハイレベルで
ある。カラムアドレスが「511」になると、インバー
タIV11の出力CNT2がローレベルになり、ECC
演算回路11、12、13の出力がラッチ回路21、2
2、23に取り込まれる。
When the column address is other than "511", the output CNT2 of the inverter IV11 is at the high level. When the column address becomes “511”, the output CNT2 of the inverter IV11 becomes low level and the ECC
The outputs of the arithmetic circuits 11, 12, and 13 are output from the latch circuits 21, 2,
2, 23.

【0072】ラッチ回路21、22、23の出力が判定
回路31に供給される。判定回路31は、ECC演算回
路11からのシンドロームSA 、ECC演算回路12か
らのシンドロームSB 、ECC演算回路13からのシン
ドロームSC により、エラー状態を判断し、訂正可能な
場合には、エラー訂正を行うものである。エラー状態の
判断やエラー訂正の仕方については、前述の(1)〜
(8)に示した通りである。
The outputs of the latch circuits 21, 22, and 23 are supplied to the decision circuit 31. The determination circuit 31 determines an error state based on the syndrome S A from the ECC operation circuit 11, the syndrome S B from the ECC operation circuit 12, and the syndrome S C from the ECC operation circuit 13. It is to make corrections. The method of determining the error state and the method of correcting the error are described in the above (1) to (1).
This is as shown in (8).

【0073】図4は、図3に示した構成のタイムチャー
トを示すものである。図4Bに示すように、データをシ
リアル転送するためのカラムアドレスが入力される前
に、制御信号XLDA、XLDB、XLDCがローレベ
ルとなり、ECC演算回路11、ECC演算回路12、
ECC演算回路13に、バス3を介して、再生ECCコ
ードEA 、EB 、EC が夫々取り込まれる。
FIG. 4 shows a time chart of the configuration shown in FIG. As shown in FIG. 4B, before a column address for serially transferring data is input, the control signals XLDA, XLDB, and XLDC go low, and the ECC operation circuit 11, the ECC operation circuit 12,
Reproduction ECC codes E A , E B , and E C are taken into the ECC operation circuit 13 via the bus 3, respectively.

【0074】カラムアドレスが「0」〜「191」のと
きには、図4Cに示すように、制御信号CNT1がロー
レベルとなり、ECC演算回路11に、領域AR1の再
生データが取り込まれる。ECC演算回路11は、この
領域AR1の再生データと、再生ECCコードEA とか
らシンドローム演算を行って、シンドロームSA を算出
する。
When the column address is "0" to "191", the control signal CNT1 goes low as shown in FIG. 4C, and the ECC operation circuit 11 takes in the reproduced data of the area AR1. ECC arithmetic circuit 11, the reproduction data in this area AR1, performs syndrome calculation from the reproduction ECC code E A, calculates the syndrome S A.

【0075】カラムアドレスが「192」〜「511」
のときには、図4Cに示すように、制御信号CNT1が
ハイレベルとなり、ECC演算回路12に、領域AR2
の再生データが取り込まれる。ECC演算回路12は、
この領域AR2の再生データと、再生ECCコードEB
とからシンドローム演算を行って、シンドロームSB
算出する。
The column address is "192" to "511"
4C, the control signal CNT1 goes high, and the ECC operation circuit 12
Playback data is captured. The ECC operation circuit 12
The reproduction data of this area AR2 and the reproduction ECC code E B
Performing syndrome calculation and a, and calculates the syndrome S B.

【0076】また、ECC演算回路13では、アドレス
「0」〜「511」の間、再生データと、再生ECCコ
ードEC とからモジュロ2の加算を行って、シンドロー
ムSC を算出する。
[0076] In the ECC arithmetic circuit 13 performs during the address "0" to "511", and the reproduced data, the addition modulo 2 from the reproduction ECC code E C, calculates a syndrome S C.

【0077】カラムアドレスが「511」になると、図
4Dに示すように、制御信号CNT2がローレベルとな
り、ECC演算回路11、12、13からのシンドロー
ムSA 、SB 、SC がラッチ回路21、22、23に夫
々取り込まれる。
When the column address becomes "511", as shown in FIG. 4D, the control signal CNT2 goes low, and the syndromes S A , S B , and S C from the ECC arithmetic circuits 11, 12, and 13 are latched by the latch circuit 21. , 22, and 23 respectively.

【0078】このように、この発明では、512バイト
の1ページのデータを、192バイトの領域AR1と3
20バイトの領域AR2とに分割し、領域AR1に対し
てハミング符号のECCコードEA を生成付加し、領域
AR2に対してハミングコードのECCコードEB を生
成付加すると共に、全領域に対して、モジュロ2の加算
をしてECCコードEC を生成付加するようにしてもい
る。これにより、領域AR1に1ビットのエラーがあ
り、領域AR2に1ビットのエラーがある場合について
は、訂正が可能になる。
As described above, according to the present invention, one page of data of 512 bytes is stored in the areas AR1 and AR3 of 192 bytes.
Divided into a 20-byte area AR2, generates additional ECC codes E A Hamming code for the region AR1, and generates additional ECC codes E B Hamming code for area AR2, relative to the total area , And modulo 2, the ECC code E C is generated and added. As a result, when a one-bit error exists in the area AR1 and a one-bit error exists in the area AR2, it becomes possible to correct the error.

【0079】なお、ここでは、512バイトの1ページ
のデータを、192バイトの領域AR1と320バイト
の領域AR2とに分割しているが、1ページのデータ数
が異なる場合にも同様に対応でき、また、1ページの分
割の仕方は、これに限るものではない。
In this case, one page of data of 512 bytes is divided into an area AR1 of 192 bytes and an area AR2 of 320 bytes. The method of dividing one page is not limited to this.

【0080】また、上述の例では、ECCコードをスペ
ア領域に配置するようにしているが、ECCコードをデ
ータ領域内に配置するようにしても良い。
In the above-described example, the ECC code is arranged in the spare area. However, the ECC code may be arranged in the data area.

【0081】[0081]

【発明の効果】この発明によれば、1ページのデータを
2つの領域に分割し、各領域に対してハミング符号のE
CCコードを生成付加すると共に、全領域に対してモジ
ュロ2の加算をしてECCコードを生成付加している。
これにより、各領域に1ビットづつのエラーが発生した
場合に限り、エラーデータの訂正が可能になる。この場
合、1ページのデータを、1ページの半分のデータ数よ
り小さい領域と、1ページの半分のデータ数より大きい
領域とに分割すると、ECCコードに割り当てられるビ
ット数が増大しない。
According to the present invention, one page of data is divided into two areas, and each area is provided with a Hamming code E.
In addition to generating and adding a CC code, an ECC code is generated and added by adding modulo 2 to the entire area.
Thus, error data can be corrected only when an error of one bit occurs in each area. In this case, if the data of one page is divided into an area smaller than half the number of data of one page and an area larger than half the number of data of one page, the number of bits allocated to the ECC code does not increase.

【図面の簡単な説明】[Brief description of the drawings]

【図1】この発明が適用されたフラッシュメモリのペー
ジの説明に用いる略線図である。
FIG. 1 is a schematic diagram used for describing a page of a flash memory to which the present invention is applied.

【図2】この発明の実施の形態の説明に用いる略線図で
ある。
FIG. 2 is a schematic diagram used for describing an embodiment of the present invention.

【図3】この発明の実施の一実施の形態の説明に用いる
略線図である。
FIG. 3 is a schematic diagram used for describing an embodiment of the present invention.

【図4】この発明の一実施の形成の説明に用いるタイミ
ング図である。
FIG. 4 is a timing chart used to describe an embodiment of the present invention.

【図5】従来のフラッシュメモリのページの説明に用い
る略線図である。
FIG. 5 is a schematic diagram used to describe a page of a conventional flash memory.

【図6】従来のフラッシュメモリのECC演算の説明に
用いる略線図である。
FIG. 6 is a schematic diagram used for explaining an ECC operation of a conventional flash memory.

【図7】従来のフラッシュメモリのECC演算の説明に
用いる略線図である。
FIG. 7 is a schematic diagram used for explaining an ECC operation of a conventional flash memory.

【図8】従来のフラッシュメモリのECC演算の説明に
用いる略線図である。
FIG. 8 is a schematic diagram used for explaining an ECC operation of a conventional flash memory.

【図9】従来のフラッシュメモリのECC演算の説明に
用いる略線図である。
FIG. 9 is a schematic diagram used for explaining an ECC operation of a conventional flash memory.

【図10】従来のフラッシュメモリのECC演算の説明
に用いる略線図である。
FIG. 10 is a schematic diagram used for explaining an ECC operation of a conventional flash memory.

【図11】従来のフラッシュメモリのECC演算の説明
に用いる略線図である。
FIG. 11 is a schematic diagram used for explaining an ECC operation of a conventional flash memory.

【図12】従来のフラッシュメモリのECC演算の説明
に用いる略線図である。
FIG. 12 is a schematic diagram used for explaining an ECC operation of a conventional flash memory.

【図13】従来のフラッシュメモリのECC演算の説明
に用いる略線図である。
FIG. 13 is a schematic diagram used for explaining an ECC operation of a conventional flash memory.

【図14】従来のフラッシュメモリのECC演算の説明
に用いる略線図である。
FIG. 14 is a schematic diagram used for explaining an ECC operation of a conventional flash memory.

【図15】従来のフラッシュメモリのECC演算の説明
に用いる略線図である。
FIG. 15 is a schematic diagram used for explaining an ECC operation of a conventional flash memory.

【図16】従来のフラッシュメモリのECC演算の説明
に用いる略線図である。
FIG. 16 is a schematic diagram used for explaining an ECC operation of a conventional flash memory.

【図17】従来のフラッシュメモリのECC演算の説明
に用いる略線図である。
FIG. 17 is a schematic diagram used for explaining an ECC operation of a conventional flash memory.

【図18】従来のフラッシュメモリのECC演算の説明
に用いる略線図である。
FIG. 18 is a schematic diagram used for explaining an ECC operation of a conventional flash memory.

【図19】従来のフラッシュメモリのECC演算の説明
に用いる略線図である。
FIG. 19 is a schematic diagram used for explaining an ECC operation of a conventional flash memory.

【図20】従来のフラッシュメモリのECC演算の説明
に用いる略線図である。
FIG. 20 is a schematic diagram used for explaining an ECC operation of a conventional flash memory.

【図21】従来のフラッシュメモリのECC演算の説明
に用いる略線図である。
FIG. 21 is a schematic diagram used for explaining an ECC operation of a conventional flash memory.

【符号の説明】[Explanation of symbols]

11、12、13・・・ECC演算回路、31・・・判
定回路
11, 12, 13 ... ECC operation circuit, 31 ... judgment circuit

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】 行方向に並ぶメモリセルを共通のワード
線に接続し、上記共通のワード線に接続されたメモリセ
ルからなるページ単位に書き込み/読み出しを行う半導
体記憶装置におけるエラー訂正方法において、 記録時に、上記1ページのデータ領域を第1の領域と第
2の領域に分割し、上記第1の領域により第1のエラー
訂正符号を生成付加すると共に、上記第2の領域により
第2のエラー訂正符号を生成付加し、更に、上記1ペー
ジの全領域により第3のエラー訂正符号を生成付加して
おき、 読み出し時に、上記第1の領域から読み出されたデータ
及び上記第1の領域に対して生成付加された第1のエラ
ー訂正符号の再生データから第1の領域のシンドローム
を求めると共に、上記第2の領域から読み出されたデー
タ及び上記第2の領域に対して生成付加された第2のエ
ラー訂正符号の再生データから第2の領域のシンドロー
ムを求め、更に、上記1ページの全領域から読み出され
た再生データ及び上記第3のエラー訂正符号の再生デー
タからエラーの数を判断し、 上記第1のシンドローム及び上記第2のシンドローム
と、上記エラーの数により、上記第1の領域及び上記第
2の領域でのエラー状態を判断して、エラー訂正処理を
行うようにした半導体記憶装置におけるエラー訂正符号
化方法。
1. An error correction method in a semiconductor memory device in which memory cells arranged in a row direction are connected to a common word line and writing / reading is performed in page units composed of the memory cells connected to the common word line. At the time of recording, the data area of one page is divided into a first area and a second area, a first error correction code is generated and added by the first area, and a second error correction code is generated by the second area. An error correction code is generated and added, and further a third error correction code is generated and added by the entire area of the one page, and at the time of reading, the data read from the first area and the first area , The syndrome of the first area is obtained from the reproduced data of the first error correction code generated and added, and the data read from the second area and the second area are obtained. , The syndrome of the second area is obtained from the reproduction data of the second error correction code generated and added to the reproduction data, and the reproduction data read from the entire area of the one page and the reproduction error of the third error correction code are obtained. Judging the number of errors from the reproduction data; judging the error state in the first area and the second area based on the first syndrome and the second syndrome and the number of the errors; An error correction encoding method in a semiconductor memory device that performs a correction process.
【請求項2】 上記第1の領域に生成付加する第1のエ
ラー訂正符号及び上記第2の領域に生成付加する第2の
エラー訂正符号は、ハミング符号である請求項1に記載
の半導体記憶装置におけるエラー訂正符号化方法。
2. The semiconductor memory according to claim 1, wherein the first error correction code generated and added to the first area and the second error correction code generated and added to the second area are Hamming codes. Error correction encoding method in the device.
【請求項3】 上記1ページの全領域により第3のエラ
ー訂正符号を生成付加する第3のエラー訂正符号は全デ
ータをモジュロ2の加算をしたものである請求項1に記
載の半導体記憶装置におけるエラー訂正符号化方法。
3. The semiconductor memory device according to claim 1, wherein the third error correction code for generating and adding the third error correction code by the entire area of one page is obtained by adding modulo 2 to all data. Error correction coding method in.
【請求項4】 上記第1の領域の大きさと、上記第2の
領域の大きさとを異なるようにした請求項1に記載の半
導体記憶装置におけるエラー訂正符号化方法。
4. The method according to claim 1, wherein the size of the first area is different from the size of the second area.
【請求項5】 行方向に並ぶメモリセルを共通のワード
線に接続し、上記共通のワード線に接続されたメモリセ
ルからなるページ単位に書き込み/読み出しを行う半導
体記憶装置において、 記録時に、上記1ページのデータ領域を第1の領域と第
2の領域に分割し、上記第1の領域により第1のエラー
訂正符号を生成付加する手段と、上記第2の領域により
第2のエラー訂正符号を生成付加する手段と、更に、上
記1ページの全領域により第3のエラー訂正符号を生成
付加する手段と、 読み出し時に、上記第1の領域から読み出されたデータ
及び上記第1の領域に対して生成付加された第1のエラ
ー訂正符号の再生データから第1の領域のシンドローム
を求める手段と、上記第2の領域から読み出されたデー
タ及び上記第2の領域に対して生成付加された第2のエ
ラー訂正符号の再生データから第2の領域のシンドロー
ムを求める手段と、更に、上記1ページの全領域から読
み出された再生データ及び上記第3のエラー訂正符号の
再生データから、エラーの数を判断する手段と、 上記第1のシンドローム及び上記第2のシンドローム
と、上記エラーの数により、上記第1の領域及び上記第
2の領域でのエラー状態を判断して、エラー訂正処理を
行う手段とを備えるようにした半導体記憶装置。
5. A semiconductor memory device in which memory cells arranged in a row direction are connected to a common word line and writing / reading is performed on a page basis consisting of memory cells connected to the common word line. Means for dividing a data area of one page into a first area and a second area, generating and adding a first error correction code by the first area, and a second error correction code by the second area Means for generating and adding a third error correction code using the entire area of the one page; and, when reading, the data read from the first area and the first area. Means for obtaining a syndrome in the first area from the reproduction data of the first error correction code generated and added to the data read from the second area; Means for obtaining a syndrome in the second area from the added reproduced data of the second error correction code; and further, reproduced data read from the entire area of the one page and reproduced data of the third error correction code. Means for determining the number of errors; determining the error state in the first area and the second area based on the first syndrome and the second syndrome and the number of errors; And a means for performing error correction processing.
【請求項6】 上記第1の領域に生成付加する第1のエ
ラー訂正符号及び上記第2の領域に生成付加する第2の
エラー訂正符号は、ハミング符号である請求項5に記載
の半導体記憶装置。
6. The semiconductor memory according to claim 5, wherein the first error correction code generated and added to the first area and the second error correction code generated and added to the second area are Hamming codes. apparatus.
【請求項7】 上記1ページの全領域により第3のエラ
ー訂正符号を生成付加する第3のエラー訂正符号は全デ
ータをモジュロ2の加算をしたものである請求項5に記
載の半導体記憶装置。
7. The semiconductor memory device according to claim 5, wherein the third error correction code for generating and adding the third error correction code by the entire area of one page is obtained by adding modulo 2 to all data. .
【請求項8】 上記第1の領域の大きさと、上記第2の
領域の大きさとを異なるようにした請求項5に記載の半
導体記憶装置。
8. The semiconductor memory device according to claim 5, wherein a size of said first region is different from a size of said second region.
JP2000010301A 2000-01-17 2000-01-17 Error correction encoding method in semiconductor storage, device and semiconductor storage device Pending JP2001202793A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000010301A JP2001202793A (en) 2000-01-17 2000-01-17 Error correction encoding method in semiconductor storage, device and semiconductor storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000010301A JP2001202793A (en) 2000-01-17 2000-01-17 Error correction encoding method in semiconductor storage, device and semiconductor storage device

Publications (1)

Publication Number Publication Date
JP2001202793A true JP2001202793A (en) 2001-07-27

Family

ID=18538335

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000010301A Pending JP2001202793A (en) 2000-01-17 2000-01-17 Error correction encoding method in semiconductor storage, device and semiconductor storage device

Country Status (1)

Country Link
JP (1) JP2001202793A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7589997B2 (en) 2006-10-23 2009-09-15 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device that performs data allocation
TWI381392B (en) * 2010-02-04 2013-01-01 Transcend Information Inc Two-plane error correction method for a memory device and the memory device thereof
US10719395B2 (en) 2018-03-22 2020-07-21 Toshiba Memory Corporation Memory system
US10951238B1 (en) 2019-08-21 2021-03-16 Kioxia Corporation Memory system and method for controlling non-volatile memory
CN114664366A (en) * 2020-12-08 2022-06-24 旺宏电子股份有限公司 Memory device and reading method thereof

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7589997B2 (en) 2006-10-23 2009-09-15 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device that performs data allocation
TWI381392B (en) * 2010-02-04 2013-01-01 Transcend Information Inc Two-plane error correction method for a memory device and the memory device thereof
US10719395B2 (en) 2018-03-22 2020-07-21 Toshiba Memory Corporation Memory system
US10951238B1 (en) 2019-08-21 2021-03-16 Kioxia Corporation Memory system and method for controlling non-volatile memory
CN114664366A (en) * 2020-12-08 2022-06-24 旺宏电子股份有限公司 Memory device and reading method thereof

Similar Documents

Publication Publication Date Title
JP4437519B2 (en) Memory controller for multilevel cell memory
TW556203B (en) Semiconductor memory device having ECC type error recovery circuit
US5172339A (en) Semiconductor memory device having error checking and correcting circuit and operating method therefor
US11088710B2 (en) Memory controllers and memory systems including the same
EP1164589A1 (en) Storage device having an error correction function
JP2002133892A (en) Defect control method for flash memory
JP2001084792A (en) Semiconductor device, synchronou semiconductor memory device, and error checking and correcting method of the memory device
JP4864395B2 (en) Semiconductor memory device
US7949933B2 (en) Semiconductor integrated circuit device
KR20080007806A (en) Method of parallel bit test using error correcting code engine and apparatus thereof
US11487614B2 (en) Semiconductor storing apparatus and readout method
US20090164711A1 (en) Semiconductor memory controller, semiconductor memory, and method of controlling semiconductor memory controller
US7075851B2 (en) Semiconductor memory device inputting/outputting data and parity data in burst operation
JP2010027163A (en) Semiconductor memory controller, semiconductor memory system, and recording/reproducing method for the semiconductor memory system
JP2001202792A (en) Error correction encoding method for semiconductor memory, and semiconductor storage device
JP2001202793A (en) Error correction encoding method in semiconductor storage, device and semiconductor storage device
TWI748507B (en) Data access system, and method for operating a data access system
TW202038248A (en) Memory with error correction circuit
JP2003100095A (en) Semiconductor integrated circuit device
JP2021150733A (en) Semiconductor device and semiconductor storage
JP2005216437A (en) Semiconductor storage device with error correction function, and its error correction method
TWI836534B (en) non-volatile memory
JPH0554697A (en) Semiconductor memory
JP2012243332A (en) Semiconductor device
JPH06301604A (en) Storage reproducing system