KR100293066B1 - Multi-level memory device having an ecc circuit - Google Patents

Multi-level memory device having an ecc circuit Download PDF

Info

Publication number
KR100293066B1
KR100293066B1 KR1019990018613A KR19990018613A KR100293066B1 KR 100293066 B1 KR100293066 B1 KR 100293066B1 KR 1019990018613 A KR1019990018613 A KR 1019990018613A KR 19990018613 A KR19990018613 A KR 19990018613A KR 100293066 B1 KR100293066 B1 KR 100293066B1
Authority
KR
South Korea
Prior art keywords
data
read
level
memory cells
outputs
Prior art date
Application number
KR1019990018613A
Other languages
Korean (ko)
Other versions
KR19990088497A (en
Inventor
마쯔바라히로유끼
Original Assignee
가네꼬 히사시
닛본 덴기 가부시끼가이샤
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 가네꼬 히사시, 닛본 덴기 가부시끼가이샤 filed Critical 가네꼬 히사시
Publication of KR19990088497A publication Critical patent/KR19990088497A/en
Application granted granted Critical
Publication of KR100293066B1 publication Critical patent/KR100293066B1/en

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

판독 전용의 멀티 레벨 메모리 디바이스가 판독 전용 데이타를 저장하는 메모리 셀들(111, 112, 113)과 판독 전용 데이타중 1비트를 정정하기 위한 패리티 데이타를 저장하는 메모리 셀들(114, 115)의 한 블럭을 포함한다. 각각의 메모리 셀(11)은 복수의 레벨로부터 선택된 임계 전압을 갖는 셀 트랜지스터를 포함한다. 인접한 레벨의 임계 전압을 갖는 셀 트랜지스터들로부터 판독 회로(12, 13, 16)에 의해 판독된 2개의 판독 데이타는 단지 하나의 비트만이 다르고 나머지 비트들은 동일하다. 판독 데이타는 패리티 비트들을 사용함으로써 효과적으로 정정될 수 있다.The read-only multi-level memory device stores memory cells 11 1 , 11 2 , 11 3 storing read-only data and memory cells 11 4 , 11 5 storing parity data for correcting one bit of read-only data. Contains a block of). Each memory cell 11 includes a cell transistor having a threshold voltage selected from a plurality of levels. The two read data read by the read circuits 12, 13 and 16 from cell transistors having adjacent voltage thresholds have only one bit different and the remaining bits are the same. Read data can be effectively corrected by using parity bits.

Description

ECC 회로를 갖는 멀티 레벨 메모리 디바이스{MULTI-LEVEL MEMORY DEVICE HAVING AN ECC CIRCUIT}MULTI-LEVEL MEMORY DEVICE HAVING AN ECC CIRCUIT}

본 발명은 ECC (에러 검사 및 정정) 회로를 갖는 멀티 레벨 메모리 디바이스에 관한 것이며, 특히 멀티 레벨 메모리 셀 내에 저장되어 있는 데이타에 대한 1비트 ECC 기능을 구비하여 에러 정정의 가능성을 증가시킬 수 있는 ECC 회로에 관한 것이다.The present invention relates to a multi-level memory device having an ECC (Error Checking and Correcting) circuit, and more particularly to an ECC capable of increasing the possibility of error correction by having a 1-bit ECC function for data stored in a multi-level memory cell. It is about a circuit.

ECC 회로는 신뢰성있는 데이타 전송을 위해 멀티 레벨 메모리 디바이스를 포함하는 반도체 집적 회로에 폭넓게 사용되고 있다. 멀티 레벨 메모리 셀에 대해 1비트 ECC 기능을 갖는 종래의 ECC 회로가 예를 들어, JP-A-7-238423호에 개시되어 있다. 이러한 종래의 ECC 회로가 2비트 데이타를 각각 저장하기 위한 멀티 레벨 메모리 셀을 갖는 판독 전용 메모리 디바이스를 참고하여 다음에서 설명될 것이다. ECC 회로는 6비트 판독 전용 데이타에 대해 4비트의 패리티 데이타(parity data)를 사용함으로써 1비트의 ECC 기능을 갖는다.ECC circuits are widely used in semiconductor integrated circuits including multi-level memory devices for reliable data transfer. A conventional ECC circuit having a 1-bit ECC function for a multi-level memory cell is disclosed, for example, in JP-A-7-238423. Such conventional ECC circuits will be described below with reference to read-only memory devices having multi-level memory cells for respectively storing 2-bit data. The ECC circuit has a 1-bit ECC function by using 4-bit parity data for 6-bit read-only data.

도 1을 참조하면, 종래의 멀티 레벨 반도체 ROM은 매트릭스로 배열되고 메모리 셀들(111내지 115)을 각각 포함하는 복수의 블럭을 형성하는 복수의 멀티 레벨 메모리 셀(11), 메모리 셀들(11)의 대응 열에 대해 배치된 각각의 비트 라인(20) 상의 데이타를 검출하기 위한 센스 증폭기(12), 대응하는 센스 증폭기(12)의 출력에 각각 접속된 3개의 래치 회로들(13A, 13B, 및 13C), 래치 회로들(13A, 13B, 및 13C)로부터의 출력들을 엔코딩하기 위한 엔코더(26), 엔코더들(26)로부터의 출력을 처리하여 신드롬 파라미터들을 생성하기 위한 신드롬 계산기(17), 신드롬 계산기(17)로부터 출력된 신드롬 파라미터들을 디코딩하기 위한 신드롬 디코더(18), 및 신드롬 디코더(18)로부터의 출력을 기초로 하여 엔코더들(26)로부터의 출력들 중 1비트를 정정하기 위한 정정 회로(19)를 포함한다. 센스 증폭기들(12), 레치 회로들(13A, 13B, 및 13C), 및 엔코더들(26)은 메모리 셀들의 어레이로부터 데이타를 판독하기 위한 판독 회로를 구성한다. 신드롬 계산기(17) 및 신드롬 디코더(18)는 판독 데이타에 대한 신드롬 파라미터들을 생성하기 위한 신드롬 데이타 생성기를 구성한다.Referring to FIG. 1, a conventional multi-level semiconductor ROM includes a plurality of multi-level memory cells 11 and memory cells arranged in a matrix and forming a plurality of blocks each including memory cells 11 1 to 11 5 . A sense amplifier 12 for detecting data on each bit line 20 arranged for the corresponding column of the < RTI ID = 0.0 >),< / RTI > three latch circuits 13A, 13B, respectively connected to the output of the corresponding sense amplifier 12, and 13C), an encoder 26 for encoding outputs from latch circuits 13A, 13B, and 13C, a syndrome calculator 17 for processing output from encoders 26 to generate syndrome parameters, syndrome A syndrome decoder 18 for decoding syndrome parameters output from the calculator 17 and a correction circuit for correcting one bit of the outputs from the encoders 26 based on the output from the syndrome decoder 18. Including 19 . Sense amplifiers 12, latch circuits 13A, 13B, and 13C, and encoders 26 constitute a read circuit for reading data from an array of memory cells. The syndrome calculator 17 and syndrome decoder 18 configure a syndrome data generator for generating syndrome parameters for read data.

도 2를 참조하면, 각각의 멀티 레벨 메모리 셀(11)이 셀 트랜지스터에 의해 구현되어 있다. 열에 배치된 복수의 셀 트랜지스터 (n 채널 MOSFET들)는 비트 라인(20)과 접지 사이에 접속된다. 도 3을 참조하면, 엔코더(26)는 NAND 게이트들 (NAND1 내지 NAND5)과 인버터들(INV1 내지 INV4)을 포함하고, 래치 회로들(13A, 13B, 및 13C)로부터의 출력들(Ln1, Ln2, 및 Ln3)을 수신하여 한 쌍의 엔코딩된 출력들(an0 및 an1)을 전달하는데, 여기서 한 블럭 내의 3개의 메모리 셀들(111내지 113)에 대해 n = 0, 1, 2이다.2, each multi-level memory cell 11 is implemented by a cell transistor. A plurality of cell transistors (n-channel MOSFETs) arranged in a column are connected between the bit line 20 and ground. Referring to FIG. 3, encoder 26 includes NAND gates NAND1 to NAND5 and inverters INV1 to INV4, and outputs Ln1, Ln2 from latch circuits 13A, 13B, and 13C. And Ln3) and deliver a pair of encoded outputs an0 and an1, where n = 0, 1, 2 for the three memory cells 1 1 to 11 3 in a block.

도 4를 참조하면, 신드롬 계산기(17)는 12개의 Ex-OR 게이트를 포함하며 엔코더들(26) 중 한 블럭으로부터의 출력들(a00, a01, a10, a11, a20, a21, a30, a31, a40, 및 a41)을 통해 입력값을 수신하여, 4비트 ECC 코드들(ECC0 내지 ECC3)을 생성한다. ECC0는 a00 및 a01의 Ex-OR와 a10 및 a30의 Ex-OR의 Ex-OR로서 얻어진다. ECC1은 a00 및 a11의 Ex-OR와 a20 및 a31의 Ex-OR의 Ex-OR로서 얻어진다. ECC2는 a01 및 a11의 Ex-OR와 a21 및 a40의 Ex-OR의 Ex-OR로서 얻어진다. ECC3은 a10 및 a20의 Ex-OR와 a21 및 a41의 Ex-OR의 Ex-OR로서 얻어진다.Referring to FIG. 4, the syndrome calculator 17 includes twelve Ex-OR gates and outputs a00, a01, a10, a11, a20, a21, a30, a31, from one block of encoders 26. Input values are received via a40 and a41 to generate 4-bit ECC codes ECC0 to ECC3. ECC0 is obtained as Ex-OR of a00 and a01 and Ex-OR of Ex10 to a10 and a30. ECC1 is obtained as Ex-OR of a00 and a11 and Ex-OR of Ex-OR of a20 and a31. ECC2 is obtained as Ex-OR of a01 and a11 and Ex-OR of a21 and a40 Ex-OR. ECC3 is obtained as an Ex-OR of a10 and a20 and an Ex-OR of a21 and a41 Ex-OR.

도 5를 참조하면, 신드롬 디코더(18)는 인버터들, NAND 게이트들을 포함하며, ECC 코드들(ECC0 내지 ECC3)를 수신하여, 디코딩된 출력들(a00', a01', a11', a20', 및 a21')을 출력한다.Referring to FIG. 5, the syndrome decoder 18 includes inverters, NAND gates, and receives the ECC codes ECC0 to ECC3 to decode the outputs a00 ', a01', a11 ', a20', And a21 ').

도 6을 참조하면, 각각의 정정 회로(19)는 엔코더(26)로부터의 출력 ani(n = 0, 1, 2 및 i = 0, 1)를 수신하여 정정된 데이타 Dni를 출력하기 위한 Ex-OR 게이트에 의해 구현된다. 정정 회로들(19)로부터 출력된 6비트 데이타(D00, D01, D10, D11, D20, 및 D21)는 멀티 레벨 ROM으로부터 판독된 판독 데이타로서 사용된다.6, each correction circuit 19 receives the output ani (n = 0, 1, 2 and i = 0, 1) from the encoder 26 and outputs Ex- for outputting the corrected data Dni. Implemented by the OR gate. The 6 bit data D00, D01, D10, D11, D20, and D21 output from the correction circuits 19 are used as read data read from the multi-level ROM.

각각의 메모리 셀(11)은 4레벨의 정해진 임계 전압으로부터 선택되는 지정된 임계 전압 레벨을 갖는다. 도 7은 각각의 셀 트랜지스터의 게이트에 인가되는 게이트 전압을 나타내고 있다. 이 파형은 제1 스테이지의 제1 레벨, 제2 스테이지의 제2 레벨, 및 제3 스테이지의 제3 레벨을 포함하는데, 이는 시간에 따라 상승한다. 표 1은 셀 트랜지스터의 임계 전압(Vth)과 래치 회로들(13A, 13B, 및 13C) 및 엔코더(26)의 출력들 간의 관계를 나타내고 있다.Each memory cell 11 has a specified threshold voltage level selected from four levels of predetermined threshold voltages. 7 shows a gate voltage applied to the gate of each cell transistor. The waveform includes a first level of the first stage, a second level of the second stage, and a third level of the third stage, which rises with time. Table 1 shows the relationship between the threshold voltage Vth of the cell transistor and the latch circuits 13A, 13B, and 13C and the outputs of the encoder 26.

VthVth 래치ALatch A 래치BLatch B 래치CLatch C 엔코더Encoder Ln1Ln1 Ln2Ln2 Ln3Ln3 An0An0 an1an1 제1 레벨First level 00 00 00 00 00 제2 레벨Second level 1One 00 00 00 1One 제3 레벨3rd level 1One 1One 00 1One 00 고 레벨High level 1One 1One 1One 1One 1One

즉, 센스 증폭기(12)에 접속된 래치 회로들(13A, 13B, 및 13C)의 출력들(Ln1 내지 Ln3) (n = 0, 1, 2)은 셀 트랜지스터들이 턴 온되는 스테이지를 기초로 하여 표 1에 표시된 바와 같은 값들일 것이다. 예를 들어, 만일 지정된 셀의 셀 트랜지스터가 제2 레벨로 턴 온된다면, 지정된 셀에 대응하는 래치 회로들(13A, 13B, 및 13C)의 출력들(Ln1, Ln2, 및 Ln3) (n = 0, 1, 2)은 표 1의 두번째 행에 표시된 바와 같이 (Ln1, Ln2, 및 Ln3) = (1, 0, 0)이 된다. 3개의 래치 회로들(13A, 13B, 및 13C)의 출력들은 대응하는 엔코더(26)에 공급되며, 이 엔코더는 엔코딩된 출력들 '01'을 출력한다. 따라서, 2비트 데이타가 엔코더(26)의 출력들로서 셀 트랜지스터로부터 판독될 수 있다.That is, the outputs Ln1 to Ln3 (n = 0, 1, 2) of the latch circuits 13A, 13B, and 13C connected to the sense amplifier 12 are based on the stage at which the cell transistors are turned on. Will be values as indicated in Table 1. For example, if the cell transistor of the designated cell is turned on to the second level, the outputs Ln1, Ln2, and Ln3 of the latch circuits 13A, 13B, and 13C corresponding to the designated cell (n = 0) , 1, 2) becomes (Ln1, Ln2, and Ln3) = (1, 0, 0) as indicated in the second row of Table 1. The outputs of the three latch circuits 13A, 13B, and 13C are supplied to a corresponding encoder 26, which outputs encoded outputs '01'. Thus, 2-bit data can be read from the cell transistor as the outputs of encoder 26.

각각의 출력 쌍(a00과 a01, a10과 a11, 또는 a20과 a21)은 블럭 내의 지정된 판독 전용 메모리 셀로부터 판독된 2비트 데이타를 구성하며, 각각의 출력 쌍(a30과 a31, 또는 a41과 a42)은 블럭 내의 패리티 셀 또는 리던던트 셀(redundant cell)로부터 출력된 2비트 패리티 데이타를 구성한다. 패리티 셀들(114및 115)은 또한 멀티 레벨 셀로서 구현되며 블럭 내의 메모리 셀들(114및 115) 내에 4비트의 패리티 데이타를 저장한다.Each output pair (a00 and a01, a10 and a11, or a20 and a21) constitutes 2-bit data read from a designated read-only memory cell in the block, and each output pair (a30 and a31, or a41 and a42). Configures 2-bit parity data output from a parity cell or a redundant cell in a block. Parity cells (11 4 and 11 5) is also implemented as a multilevel cell stores a 4-bit parity data in the memory cells (11 4 and 11 5) in the block.

도 1을 다시 참조하여, 5개의 엔코더(26)로부터 출력되는 10개의 비트들(a00, a01, a10, a11, a20, a22, a30, a31, a41, 및 a42)을 포함하는 판독 데이타 중 1개의 비트가 에러를 갖고 있다고 가정한다. 이 경우에, 에러 비트에 대응하는 신드롬 디코더(18)의 출력들(a00', a01', a10', a11', a20', 및 a21') 중 하나는 ECC 회로의 1비트 ECC 기능에 근거하여 '1'로 가정한다.Referring back to FIG. 1, one of the read data including the ten bits a00, a01, a10, a11, a20, a22, a30, a31, a41, and a42 output from the five encoders 26. Assume a bit has an error. In this case, one of the outputs a00 ', a01', a10 ', a11', a20 ', and a21' of the syndrome decoder 18 corresponding to the error bit is based on the 1-bit ECC function of the ECC circuit. Assume '1'.

신드롬 디코더(18)로부터의 출력들은 정정 회로들(19)에 공급되는데, 이 정정 회로들중 하나는 도 6에 도시된 Ex-OR를 기초로 하여 신드롬 디코더(18)의 출력들(a00', a01', a10', a11', a20', 및 a21') 중에서 '1'로 가정한 비트에 대응하는 엔코더(26)로부터의 출력들(a00, a01, a10, a11, a20, 및 a21) 중 하나를 반대로 함으로써 엔코더(26)로부터 출력된 에러를 정정한다.Outputs from the syndrome decoder 18 are supplied to correction circuits 19, one of which is based on the Ex-OR shown in FIG. 6 and outputs a00 ', of the outputs a00, a01, a10, a11, a20, and a21 from the encoder 26 corresponding to the bits assumed to be '1' among a01 ', a10', a11 ', a20', and a21 '. By inverting one, the error output from the encoder 26 is corrected.

한 경우에, 메모리 셀들(111, 112, 및 113)은 각각의 트랜지스터가 제2 스테이지, 제1 스테이지, 및 제3 스테이지로 각각 턴 온되도록 예정된다. 이러한 경우에, 래치 회로들(13A, 13B, 및 13C)의 3개의 출력 그룹들은 (L01, L02, L03) = (1, 0, 0), (L11, L12, L13) = (0, 0, 0), 및 (L21, L22, L23) = (1, 1, 0)이다. 따라서, 엔코더(26)의 출력들은 표 1로부터 알 수 있는 바와 같이 (a00, a01, a10, a11, a20, a21) = (0, 1, 0, 0, 1, 0)이다. 이 경우에 패리티 셀들(114및 115) 내에 저장되어 있는 패리티 비트들은 비트들 (a30, a31, a40, a41)에 대응하는 (1, 1, 1, 1)이다.In one case, the memory cells 11 1 , 11 2 , and 11 3 are scheduled such that each transistor is turned on to the second stage, the first stage, and the third stage, respectively. In this case, the three output groups of the latch circuits 13A, 13B, and 13C are (L01, L02, L03) = (1, 0, 0), (L11, L12, L13) = (0, 0, 0), and (L21, L22, L23) = (1, 1, 0). Thus, the outputs of encoder 26 are (a00, a01, a10, a11, a20, a21) = (0, 1, 0, 0, 1, 0) as can be seen from Table 1. The parity bit stored in the parity cells (11 4 and 11 5) in this case are (1, 1, 1, 1) corresponding to the bit (a30, a31, a40, a41).

상기 경우에, 만일 엔코더들(26)로부터의 출력들(a00, a01, a10, a11, a20, a21, a30, a31, a40, 및 a41)이 에러를 포함하지 않는다면, 신드롬 디코더(18)의 모든 출력들은 '0'일 것이며, 그 결과, 정정 회로의 출력들(D00과 D01, D10과 D11, D20과 D21)은 (a00, a01, a10, a11, a20, a21)과 일치하는 (0, 1, 0, 0. 1, 0)이 된다.In this case, if the outputs a00, a01, a10, a11, a20, a21, a30, a31, a40, and a41 from the encoders 26 do not contain an error, all of the syndrome decoder 18 The outputs will be '0', so that the outputs of the correction circuits D00 and D01, D10 and D11, D20 and D21 match (a00, a01, a10, a11, a20, a21) (0, 1) , 0, 0, 1, 0).

그러나, 상술한 바와 같은 멀티 레벨 메모리에서는, 셀 트랜지스터가 원하는 레벨과 다른 레벨로 턴 온되는 결함을 갖게 되는 경우, 때때로 EEC 회로가 에러를 정정할 수 없게 된다는 문제점이 존재한다.However, in the multi-level memory as described above, there is a problem that the EEC circuit sometimes cannot correct an error when the cell transistor has a defect turned on at a level different from the desired level.

예를 들어, 만일 출력들(D00 및 D01)에 대응하는 메모리 셀(111)이 상기 경우에서 원하는 제2 레벨과 다르게 제1 레벨로 턴 온된다면, 제1 그룹의 래치 회로들(13A, 13B, 및 13C)의 출력들은 (L01, L02, L03) = (0, 0, 0)이 되어, 엔코더들(26)의 출력들은 (a00, a01, a10, a11, a20, a21) = (0, 0, 0, 0, 1, 0)이 된다. 따라서, 신드롬 엔코더(18)의 출력들은 (a00', a01', a10', a11', a20', a21') = (0, 1, 0, 0, 0, 0)이 되어, 정정 회로(19)의 출력들은 a01비트의 유효 정정 후에 (D00, D01, D10, D11, D20, D21) = (0, 1, 0, 0, 1, 0)이 된다. 이 경우에, ECC 회로는 유효한 1비트 ECC 기능을 갖는다.For example, if the memory cell 11 1 corresponding to the outputs D00 and D01 is turned on to the first level differently from the desired second level in this case, the first group of latch circuits 13A, 13B , And 13C) outputs (L01, L02, L03) = (0, 0, 0), and the outputs of encoders 26 are (a00, a01, a10, a11, a20, a21) = (0, 0, 0, 0, 1, 0). Thus, the outputs of the syndrome encoder 18 are (a00 ', a01', a10 ', a11', a20 ', a21') = (0, 1, 0, 0, 0, 0), so that the correction circuit 19 ) Outputs (D00, D01, D10, D11, D20, D21) = (0, 1, 0, 0, 1, 0) after valid correction of a01 bit. In this case, the ECC circuit has a valid 1 bit ECC function.

상기와 같은 경우 대신에, 만일 메모리 셀(111)이 셀 트랜지스터가 원하는 제2 레벨과 다르게 제3 레벨로 턴 온되는 결함을 갖는다면, 제1 그룹의 래치 회로들(13A, 13B, 및 13C)의 출력들은 (L01, L02, L03) = (1, 1, 0)이 되어, 엔코더들(29)의 출력들은 (a00, a01, a10, a11, a20, a21) = (1, 0, 0, 0, 1, 0)이 된다. 이 경우에, 신드롬 디코더(18)의 출력들은 (a00', a01', a10', a11', a20', a21') = (0, 0, 0, 1, 0, 0)이 되어, 정정 회로의 출력들은 모든 비트의 잘못된 정정 후에 (D00, D01, D10, D11, D20, D21) = (1, 0, 0, 1, 1, 0)이 된다. 따라서, ECC 회로는 메모리 디바이스의 출력들 내의 에러를 정정할 수 없다.Instead of the above case, if the memory cell 1 1 1 has a defect in which the cell transistor is turned on to a third level different from the desired second level, the first group of latch circuits 13A, 13B, and 13C. ) Outputs (L01, L02, L03) = (1, 1, 0), and the outputs of encoders 29 are (a00, a01, a10, a11, a20, a21) = (1, 0, 0 , 0, 1, 0). In this case, the outputs of the syndrome decoder 18 are (a00 ', a01', a10 ', a11', a20 ', a21') = (0, 0, 0, 1, 0, 0), so that the correction circuit The outputs of are (D00, D01, D10, D11, D20, D21) = (1, 0, 0, 1, 1, 0) after the wrong correction of all bits. Thus, the ECC circuit cannot correct the error in the outputs of the memory device.

상기와 같은 결함은 셀이 셀 트랜지스터가 턴 온되는 전압 레벨이 다음으로 낮은 또는 높은 레벨로 벗어나게 되는 결함을 갖는 경우에 때때로 발생하게 된다.Such defects sometimes occur when the cell has a defect such that the voltage level at which the cell transistor is turned on deviates to the next lower or higher level.

상기와 같은 점들을 고려하여, 본 발명의 목적은 메모리 셀 내에 결함이 발생하는 경우에 유효한 에러 정정의 가능성을 증가시킬 수 있는 멀티 레벨 메모리 셀을 위한 ECC회로를 갖는 메모리 디바이스를 제공하는 것이다.In view of the above, it is an object of the present invention to provide a memory device having an ECC circuit for a multi-level memory cell that can increase the possibility of valid error correction in the event of a defect occurring in the memory cell.

본 발명은 멀티 레벨 데이타를 각각 저장하기 위한 복수의 멀티 레벨 메모리 셀, 메모리 셀들로부터 데이타를 판독하여 복수의 비트를 포함하는 판독 데이타를 출력하기 위한 판독 회로, 판독된 데이타의 비트수에 대응하는 비트수를 갖는 패리티 데이타를 생성하기 위한 신드롬 데이타 생성기, 패리티 데이타의 비트들 중 대응하는 하나의 비트를 기초로 하여 판독된 데이타의 비트들 중 하나의 비트를 정정하기 위한 정정 회로를 포함하는 메모리 디바이스에 관한 것으로서, 상기 판독 회로는 각각의 메모리 셀 내에 저장되어 있는 멀티 레벨 데이타의 2개의 인접한 레벨이 단일 비트에 대해서가 아닌 모든 비트에서 공통인 값들을 갖는 2개의 상이한 판독 데이타를 제공하도록 하는 판독 데이타를 생성한다.The present invention provides a plurality of multi-level memory cells for storing multi-level data, a read circuit for reading data from memory cells and outputting read data including a plurality of bits, and bits corresponding to the number of bits of the read data. A syndrome data generator for generating parity data having a number, and a correction circuit for correcting one of the bits of the read data based on the corresponding one of the bits of the parity data. In this regard, the readout circuitry reads the read data such that two adjacent levels of multi-level data stored in each memory cell provide two different read data having values common to all bits, not for a single bit. Create

본 발명의 메모리 디바이스에 따르면, 메모리 셀이 셀 트랜지스터가 원하는 레벨과 다른 레벨로 턴 온되는 결함을 갖는 경우, 메모리 디바이스의 ECC 회로가 결함으로 인해 발생된 에러를 정정하기 위한 유효 1비트 ECC 기능을 갖게 된다.According to the memory device of the present invention, when a memory cell has a defect in which a cell transistor is turned on at a level different from a desired level, the ECC circuit of the memory device has a valid 1-bit ECC function for correcting an error caused by the defect. Will have

본 발명의 상기 및 다른 목적, 특징, 및 장점은 첨부된 도면과 함께 다음의 상세한 설명을 참조함으로써 보다 명백해질 것이다.The above and other objects, features, and advantages of the present invention will become more apparent by reference to the following detailed description in conjunction with the accompanying drawings.

도 1은 ECC 회로를 갖는 종래의 멀티 레벨 메모리의 블럭도.1 is a block diagram of a conventional multi-level memory having an ECC circuit.

도 2는 도 1에 도시된 전형적인 메모리 셀의 회로도.2 is a circuit diagram of a typical memory cell shown in FIG.

도 3은 도 1에 도시된 엔코더의 논리 회로도.3 is a logic circuit diagram of the encoder shown in FIG.

도 4는 도 1에 도시된 신드롬 계산기의 논리 회로도.4 is a logic circuit diagram of the syndrome calculator shown in FIG.

도 5는 도 1에 도시된 신드롬 디코더의 논리 회로도.5 is a logic circuit diagram of the syndrome decoder shown in FIG. 1;

도 6은 도 1에 도시된 정정 회로의 논리 회로도.6 is a logic circuit diagram of the correction circuit shown in FIG.

도 7은 도 2에 도시된 셀 트랜지스터에 공급되는 게이트 전압의 파형을 도시한 타이밍 차트.7 is a timing chart showing waveforms of gate voltages supplied to the cell transistors shown in FIG. 2;

도 8은 본 발명의 제1 실시예에 따른 ECC 회로를 갖는 멀티 레벨 메모리의 블럭도.Fig. 8 is a block diagram of a multi level memory having an ECC circuit according to the first embodiment of the present invention.

도 9는 도 8에 도시된 엔코더의 논리 회로도.9 is a logic circuit diagram of the encoder shown in FIG. 8;

도 10은 도 8에 도시된 패리티 셀에 패리티 비트들을 저장하는데 사용되는 패리티 회로의 논리 회로도.10 is a logic circuit diagram of a parity circuit used to store parity bits in the parity cell shown in FIG.

도 11은 본 발명의 제2 실시예에 따른 ECC 회로를 갖는 멀터 레벨 메모리의 블럭도.Fig. 11 is a block diagram of a multilevel memory having an ECC circuit according to a second embodiment of the present invention.

도 12는 도 11에 도시된 셀 트랜지스터들에 공급되는 게이트 전압의 파형을 도시한 타이밍 차트.12 is a timing chart showing waveforms of gate voltages supplied to the cell transistors shown in FIG. 11;

〈도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for main parts of the drawings>

11 : 메모리 셀11: memory cell

12 : 센스 증폭기12: sense amplifier

13A, 13B, 13C : 래치 회로13A, 13B, 13C: Latch Circuit

16 : 엔코더16: encoder

17 : 신드롬 계산기17: syndrome calculator

18 : 신드롬 디코더18: syndrome decoder

19 : 정정 회로19: correction circuit

이하, 본 발명이 보다 용이한 이해를 위해 유사한 구성 소자는 동일한 참조 번호로 표시되어 있는 첨부된 도면을 참조로 상세하게 설명될 것이다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, similar components will be described in detail with reference to the accompanying drawings, wherein like reference numerals refer to like elements for easier understanding of the present invention.

도 8을 참조하면, 본 발명의 제1 실시예에 따른 ECC 회로를 갖는 멀티 레벨 (본 경우에는 4 레벨) 판독 전용 메모리 디바이스는 매트릭스로 배열되어 있으며 2비트 데이타를 각각 저장하는, 한 블럭의 메모리 셀들(111내지 115)을 포함하는 복수의 판독 전용 메모리 셀(11)을 포함한다. 저장되는 데이타는 제1 레벨, 제2 레벨, 제3 레벨, 또는 더 높은 레벨을 가질 수 있는 셀 트랜지스터를 위해 선택된 임계 전압에 의해 실현된다. 행으로 배앨된 3개의 판독 전용 메모리 셀(111내지 113)은 하나의 그룹을 형성하는데, 동일한 행에 배치된 한 쌍의 리던던트 메모리 셀들(114및 115)이 이에 첨부되어 한 블럭의 메모리 셀들(111내지 115)을 형성한다. 한 그룹의 판독 전용 메모리 셀들(111내지 113)이 셀 트랜지스터들을 위한 임계 전압들을 지정함으로써 프로그래밍될 때, 리던던트 셀들(114 및 115)의 쌍이 3개의 판독 전용 메모리 셀들(111내지 113) 내에 저장되는 데이타에 의해 지정된 데이타로 또한 프로그래밍된다. 따라서, 각각의 블럭은 6비트의 판독 전용 데이타와 이 6비트의 판독 전용 데이타를 정정하기 위한 1비트 ECC 기능을 달성하기 위한 4비트의 패리티 데이타를 저장한다.Referring to FIG. 8, a multilevel (in this case 4 level) read only memory device having an ECC circuit according to the first embodiment of the present invention is a block of memory arranged in a matrix and storing 2-bit data respectively. A plurality of read only memory cells 11 comprising cells 11 1 to 11 5 . The data to be stored is realized by a threshold voltage selected for the cell transistor, which may have a first level, a second level, a third level, or a higher level. Three read-only memory cells 11 1 to 11 3 arranged in rows form a group, with a pair of redundant memory cells 1 1 4 and 11 5 arranged in the same row attached thereto to Memory cells 1 1 1 to 11 5 are formed. When a group of read-only memory cells 1 1-11 3 are programmed by specifying threshold voltages for the cell transistors, the pair of redundant cells 114 and 115 cause three read-only memory cells 1 1-11 3 . It is also programmed with the data specified by the data stored therein. Thus, each block stores 6 bits of read only data and 4 bits of parity data to achieve a 1 bit ECC function for correcting this 6 bits of read only data.

센스 증폭기(12)는 대응 비트 라인(20)을 통해 선택된 셀 트랜지스터의 ON 또는 OFF를 검출하기 위해 메모리 셀들(11)의 각각의 열에 대해 배치된다. 3개의 래치 회로들(13A, 13B, 및 13C)이 각각의 센스 증폭기(!2)에 대해 배치되어 센스 증폭기(12)로부터 연속적으로 출력되는 데이타를 래칭(latching)하기 위해 연속적으로 활성화된다. 엔코더(16)가 3개의 래치 회로들(13A, 13B, 및 13C)의 각각의 출력들을 디코딩하기 위해 배치되어, 2비트의 데이타를 정정 회로들(19)에 출력한다. 메모리 셀들(111내지 115)의 각각의 블럭에 대해 배치된 엔코더들(16)의 출력들은 대응하는 신드롬 계산기(17)에 또한 공급되며, 그 출력은 신드롬 디코더(18)에 의해 디코덩된다. 신드롬 디코더(18)의 디코딩된 출력들은 정정 회로들(19)에 공급되는데, 이 정정 회로들(19)은 신드롬 디코더(18)의 대응 출력 비트를 기초로 하여 정정하거나 정정없이 엔코더(16)로부터 출력된 판독 데이타(a00, a01, a10, a11, a20, 또는 a21)를 메모리 디바이스의 출력 데이타(D00, D01, D10, D11, D20, 또는 D21)로서 각각 공급한다.A sense amplifier 12 is arranged for each column of memory cells 11 to detect ON or OFF of the selected cell transistor via corresponding bit line 20. Three latch circuits 13A, 13B, and 13C are arranged for each sense amplifier! 2 and are subsequently activated to latch data that is continuously output from the sense amplifier 12. An encoder 16 is arranged to decode the respective outputs of the three latch circuits 13A, 13B, and 13C to output two bits of data to the correction circuits 19. The outputs of the encoders 16 arranged for each block of memory cells 11 1 to 11 5 are also supplied to a corresponding syndrome calculator 17, the output of which is decoded by the syndrome decoder 18. . The decoded outputs of the syndrome decoder 18 are supplied to correction circuits 19, which are corrected from encoder 16 with or without correction based on the corresponding output bits of syndrome decoder 18. The output read data a00, a01, a10, a11, a20, or a21 is supplied as output data D00, D01, D10, D11, D20, or D21 of the memory device, respectively.

도 2를 참조하면, 각각의 메모리 셀(11)은 지정된 임계 전압을 갖는 셀 트랜지스터에 의해 구현되며, 각각의 열 내의 셀 트랜지스터들은 대응 비트 라인(20)과 접지 사이에 접속된다.2, each memory cell 11 is implemented by a cell transistor having a specified threshold voltage, and cell transistors in each column are connected between the corresponding bit line 20 and ground.

도 9를 참조하면, 각각의 엔코더(16)는 래치 회로(13C)부터의 출력(Ln3)을 수신하기 위한 인버터(INV0), 래치 회로들(13A 및 13B)로부터의 한 쌍의 출력(Ln1 및 Ln2)을 수신하기 위한 NAND 게이트(NAND1), 래치 회로(13A)로부터의 출력(Ln1)과 인버터(INV0)로부터의 출력을 수신하기 위한 NAND 게이트(NAND2), NAND1으로부터의 출력을 수신하여 엔코딩된 출력 비트(an0)를 출력하기 위한 인버터(INV1), 및 NAND2로부터의 출력을 수신하여 엔코딩된 출력 비트(an1)을 출력하기 위한 인버터(INV2)를 포함한다. 이러한 구성에서, 디코더(16)는 다음의 표 2를 따르는 지정된 출력 비트를 출력한다.Referring to FIG. 9, each encoder 16 has an inverter INV0 for receiving the output Ln3 from the latch circuit 13C, a pair of outputs Ln1 and the latch circuits 13A and 13B. NAND gate NAND1 for receiving Ln2, output Ln1 from latch circuit 13A and NAND gate NAND2 for receiving output from inverter INV0, and an output from NAND1 encoded An inverter INV1 for outputting the output bit an0, and an inverter INV2 for receiving the output from NAND2 and outputting the encoded output bit an1. In this configuration, the decoder 16 outputs the designated output bits according to the following Table 2.

신드롬 계산기(17), 신드롬 디코더(18), 및 정정 회로들(19)은 각각 도 4, 도 5, 및 도 6을 참조로 한 종래의 기술에 대한 설명에서와 유사한 구성을 갖는다. 따라서, 이들 회로에 대한 상세한 설명은 생략할 것이다.The syndrome calculator 17, the syndrome decoder 18, and the correction circuits 19 have a configuration similar to that in the description of the prior art with reference to FIGS. 4, 5, and 6, respectively. Therefore, detailed description of these circuits will be omitted.

엔코더들(16)의 출력 쌍들(a00과 a01, a10과 a11, 및 a20과 a21)은 대응 메모리 셀들(111, 112, 및 113) 내의 2비트 데이타에 각각 대응하며, 출력 쌍들(a30과 a31, 및 a40과 a41)은 리던던트 셀들(114및 115) 내에 저장된 2비트 패리티 데이타에 각각 대응한다.The output pairs a00 and a01, a10 and a11, and a20 and a21 of the encoders 16 correspond to 2-bit data in the corresponding memory cells 11 1 , 11 2 , and 11 3 , respectively, and output pairs a30. and a31, and a40 and a41) are respectively corresponding to the stored 2-bit parity data in the redundant cells (11 4 and 11 5).

표 1과 유사한 표 2는 셀 트랜지스터를 위한 임계 전압의 레벨에 의해 실현된 셀 데이타와 래치 회로들(13A, 13B, 및 13C) 및 엔코더(16)의 출력들 간의 관계를 나타내고 있다.Table 2, similar to Table 1, shows the relationship between the cell data realized by the level of the threshold voltage for the cell transistor and the outputs of the latch circuits 13A, 13B, and 13C and the encoder 16.

임계 전압Threshold voltage 래치ALatch A 래치BLatch B 래치CLatch C 엔코더Encoder Ln1Ln1 Ln2Ln2 Ln3Ln3 an0an0 an1an1 제1 레벨First level 00 00 00 00 00 제2 레벨Second level 1One 00 00 00 1One 제3 레벨3rd level 1One 1One 00 1One 1One 고 레벨High level 1One 1One 1One 1One 00

본 실시예에서, 엔코더의 출력 쌍(an0 및 an1)은 셀 트랜지스터를 위한 임계 전압의 지정된 레벨로 인해 셀 트랜지스터에 공급되는 게이트 전압의 제1 레벨, 제2 레벨, 제3 레벨, 및 고 레벨에 대해 각각 (0, 0), (0, 1), (1, 1) 및 (1, 0)으로 가정한다. 즉, 임계 전압의 레벨이 셀 트랜지스터의 결함으로 인해 인접한 레벨로 천이할 때, 어떠한 경우의 변화(transition)에 의해서도 엔코더(16)의 출력 비트 쌍(an0 및 an1) 중 단지 하나만이 변경된다. 반대로, 종래의 메모리에서의 엔코더(16)의 출력들에서는, 표 1에 표시되어 있는 바와 같이, 임계 전압이 셀 트랜지스터의 결함으로 인해 제2 레벨에서 제3 레벨로 천이할 때, 양 출력(an0 및 an1) 모두가 '0'에서 '1'로 그리고 '1'에서 '0'으로 각각 천이하게 된다. 이는 종래의 메모리 디바이스가 잘못된 출력을 제공한다는 것을 의미한다.In this embodiment, the output pairs an0 and an1 of the encoder are at a first level, a second level, a third level, and a high level of the gate voltage supplied to the cell transistor due to the specified level of the threshold voltage for the cell transistor. Assume (0, 0), (0, 1), (1, 1) and (1, 0), respectively. That is, when the level of the threshold voltage transitions to an adjacent level due to a defect in the cell transistor, only one of the output bit pairs an0 and an1 of the encoder 16 is changed by any transition. Conversely, in the outputs of encoder 16 in a conventional memory, as shown in Table 1, when the threshold voltage transitions from the second level to the third level due to a defect in the cell transistor, both outputs an0 And an1) all transition from '0' to '1' and from '1' to '0', respectively. This means that conventional memory devices provide a wrong output.

동작 시에, 선택된 셀 트랜지스터의 게이트에는 도 7에 도시된 파형을 갖는 전압이 공급된다. 이 파형은 시간에 따라 상승하는 제1 스테이지의 제1 레벨, 제2 스테이지의 제2 레벨, 제3 스테이지의 제3 레벨을 갖는다. 래치 회로의 출력들은 표 2를 따드도록 결정된다. 즉, 래치 회로(A)는 제1 스테이지에서 활성화되고, 래치 회로(B)는 제2 스테이지에서 활성화되며, 래치 회로(C)는 센스 증폭기의 출력 전압을 검출하기 위한 제3 스테이지에서 활성화된다. 예를 들어, 만일 선택된 셀 트랜지스터가 제2 레벨로 턴 온된다면, 한 그룹 내의 3개의 래치 회로들(A, B, 및 C)의 출력들(Ln1, Ln2, Ln3)은 n = 0, 1, 또는 2에 대해 (Ln1, Ln2, Ln3) = (1, 0, 0)이다. 이들 래치 회로들의 출력들은 2비트의 엔코딩된 데이타 (an0, an1) = (0, 1)를 출력하는 엔코더(16)에 공급된다.In operation, the gate of the selected cell transistor is supplied with a voltage having the waveform shown in FIG. This waveform has a first level of the first stage, a second level of the second stage, and a third level of the third stage that rises with time. The outputs of the latch circuit are determined to follow Table 2. That is, the latch circuit A is activated in the first stage, the latch circuit B is activated in the second stage, and the latch circuit C is activated in the third stage for detecting the output voltage of the sense amplifier. For example, if the selected cell transistor is turned on to the second level, the outputs Ln1, Ln2, Ln3 of the three latch circuits A, B, and C in one group are n = 0, 1, Or (Ln1, Ln2, Ln3) = (1, 0, 0) for 2. The outputs of these latch circuits are supplied to an encoder 16 which outputs two bits of encoded data an0, an1 = (0, 1).

엔코더(16)로부터 출력되는 2비트 데이타, 예를 들어, a00 및 a01은 선택된 메모리 셀(111) 내에 저장되어 있는 2비트 데이타에 대응하며, 신드롬 계산기(17)에 공급된다. 신드롬 계산기(17)는 그로부터 2비트 데이타로서 신드롬 파리미터를 계산하고, 이를 신드롬 디코더(18)에 공급한다. 만일 신드롬 디코더(18)로부터의 출력들 중 하나가 에러를 갖는다면 신드롬 디코더(18)의 출력들은 '1'일 것이다.The 2-bit data output from the encoder 16, for example, a00 and a01 correspond to the 2-bit data stored in the selected memory cell 1 1 1 and are supplied to the syndrome calculator 17. The syndrome calculator 17 calculates the syndrome parameter therefrom as 2-bit data and supplies it to the syndrome decoder 18. If one of the outputs from the syndrome decoder 18 has an error, the outputs of the syndrome decoder 18 will be '1'.

신드롬 디코더(18)의 출력들은 정정 회로들(19)에 공급되는데, 이들 정정 회로들(19) 각각은 도 6에 도시된 Ex-OR 게이트에 의해 실현되며 신드롬 디코더(18)로부터 출력되는 대응 비트가 '1'일 경우 엔코더들(16)로부터 출력되는 비트들 중 하나를 반대로 함으로써, 엔코더들(16)로부터의 출력들 중 에러 비트를 정정한다.The outputs of the syndrome decoder 18 are supplied to correction circuits 19, each of which is implemented by an Ex-OR gate shown in FIG. 6 and outputs from the syndrome decoder 18 a corresponding bit. If is '1', one of the bits output from the encoders 16 is reversed, thereby correcting the error bit among the outputs from the encoders 16.

한 경우에, 종래의 메모리 디바이스에 대해 설명된 경우와 유사하게, 한 블럭 내의 3개의 메모리 셀들(111, 112, 및 113)이 임계 전압의 제2 레벨, 제1 레벨, 및 제3 레벨에 각각 대응하는 데이타를 저장한다. 이러한 경우에, 3개의 그룹의 래치 회로들(13A, 13B, 및 13C)은 출력들 (L01, L02, L03) = (1, 0, 0), (L11, L12, L13) = (0, 0, 0), 및 (L21, L22, L23) = (1, 1, 0)을 전달하며 엔코더(16)의 출력들은 표 2로부터 알 수 있는 바와 같이 (a00, a01, a10, a11, a20, a21) = (0, 1, 0, 0, 1, 1)이다.In one case, similar to the case described for a conventional memory device, three memory cells 11 1 , 11 2 , and 11 3 in a block are configured to have a second level, a first level, and a third level of threshold voltage. Store data corresponding to each level. In this case, the three groups of latch circuits 13A, 13B, and 13C have outputs L01, L02, L03 = (1, 0, 0), (L11, L12, L13) = (0, 0 , 0), and (L21, L22, L23) = (1, 1, 0) and the outputs of encoder 16 are (a00, a01, a10, a11, a20, a21) as can be seen from Table 2. ) = (0, 1, 0, 0, 1, 1)

한 블럭 내의 리던던트 셀들(114및 115) 내에 저장되어 있는 패리티 비트들은 도 10에 도시된 바와 같은 논리 회로를 사용함으로써 3개의 판독 전용 메모리 셀들(111, 112, 및 113) 내에 저장되어 있는 데이타에 후속하며, 따라서 도 10에 도시된 것과 동일한 구성을 갖는 논리 회로에 의해 재생될 수 있다. 이러한 예에서, 패리티 셀들(114및 115) 내에 저장되는 패리티 데이타는 (a30, a31, a40, a41) = (1, 1, 0, 0)이다. 즉, 만일 엔코더(16)의 출력들(a00, a01, a11, a20, a21, a30, a31, a40, a41)에 에러가 존재하지 않는다면, 신드롬 디코더(18)의 출력들은 모두 '0'이 되어, 정정 회로들(19)의 출력들은 엔코더(16)의 출력들(a00, a01, a11, a20, a21)과 일치하는 (D00, D01, D10, D11, D20, D21) = (0, 1, 0, 0, 1, 1)이 된다.Stored in the redundant cells (11 4 and 11 5) parity bits by using a logic circuit such as that shown in Figure 10 the three read-only memory cells (11 1, 11 2, and 11 3) stored in the in the block It can be reproduced by a logic circuit having the same configuration as that shown in FIG. In this example, the parity data stored in the parity cells (11 4 and 11 5) is (a30, a31, a40, a41 ) = (1, 1, 0, 0). That is, if there are no errors in the outputs a00, a01, a11, a20, a21, a30, a31, a40, a41 of the encoder 16, the outputs of the syndrome decoder 18 are all '0'. , The outputs of the correction circuits 19 correspond to the outputs a00, a01, a11, a20, a21 of the encoder 16 (D00, D01, D10, D11, D20, D21) = (0, 1, 0, 0, 1, 1).

위에서 열거된 경우에, 만일 임계 전압의 예정된 제2 레벨에 관계없이 인가된 전압의 제1 레벨로 턴 온된 셀(111) 내의 셀 트랜지스터에 결함이 존재한다면, 래치 회로들의 출력들은 (L01, L02, L03) = (0, 0, 0)이 되고, 엔코더(16)의 출력들은 (a00, a01, a10, a11, a20, a21) = (0, 0, 0, 0, 1, 1)이 된다.In the case listed above, if there is a fault in the cell transistor in the cell 1 1 1 turned on to the first level of the applied voltage regardless of the predetermined second level of the threshold voltage, the outputs of the latch circuits are (L01, L02). , L03) = (0, 0, 0), and the outputs of encoder 16 are (a00, a01, a10, a11, a20, a21) = (0, 0, 0, 0, 1, 1) .

신드롬 디코더(18)의 출력들이 (a00', a01', a10', a11', a20', a21') = (0, 1, 0, 0, 0, 0)이면, 출력(a01)은 저장된 판독 전용 데이타와 일치하는 (D00, D01, D10, D11, D20, D21) = (0, 1, 0, 0, 1, 1)을 출력하는 정정 회로(19)에 의해 a01' 비트의 '1'을 기초로 하여 정정된다.If the outputs of the syndrome decoder 18 are (a00 ', a01', a10 ', a11', a20 ', a21') = (0, 1, 0, 0, 0, 0), then the output a01 is stored reading '1' of the a01 'bit is set by the correction circuit 19 which outputs (D00, D01, D10, D11, D20, D21) = (0, 1, 0, 0, 1, 1) matching the dedicated data. Corrected on the basis of

한편, 만일 셀 트랜지스터가 상기 경우에서 예정된 제2 레벨과 관계없이 제3 레벨로 턴 온되는 결함이 존재한다면, 래치 회로들(13A, 13B, 및 13C)의 출력들은 (L01, L02, L03) = (1, 1, 0)이 되고, 엔코더들(16)의 출력들은 (a00, a01, a10, a11, a20, a21) = (1, 1, 0, 0, 1, 1)이 된다. 이러한 경우에, 신드롬 디코더(18)의 출력들은 (a00', a01', a10', a11', a20', a21') = (1, 0, 0, 0, 0, 0)이 되는데, 이는 정정 회로들(19) 중 하나가 a00 비트를 정정하도록 한다. 따라서, ECC 회로는 종래의 ECC 회로가 에러를 발생하였던 결함에 관계없이 저장된 데이타와 일치하는 (D00, D01, D10, D11, D20, D21) = (0, 1, 0, 0, 1, 1)인 올바른 출력들을 제공한다.On the other hand, if there is a defect in which the cell transistor is turned on to the third level irrespective of the predetermined second level in this case, the outputs of the latch circuits 13A, 13B, and 13C are (L01, L02, L03) = (1, 1, 0), and the outputs of the encoders 16 are (a00, a01, a10, a11, a20, a21) = (1, 1, 0, 0, 1, 1). In this case, the outputs of the syndrome decoder 18 are (a00 ', a01', a10 ', a11', a20 ', a21') = (1, 0, 0, 0, 0, 0), which is correct One of the circuits 19 causes the a00 bit to be corrected. Therefore, the ECC circuit matches (D00, D01, D10, D11, D20, D21) = (0, 1, 0, 0, 1, 1) that matches the stored data regardless of the defect in which the conventional ECC circuit caused an error. Provide correct outputs.

상술한 바와 같이, 본 실시예의 멀티 레벨 메모리의 ECC 회로에서는, 셀 트랜지스터가 예정된 레벨에 인접한 레벨로 턴 온되는 결함에 의해 발생된 에러가 휴과적으로 정정될 수 있어, 신뢰성 있는 판독 데이타가 얻어진다.As described above, in the ECC circuit of the multi-level memory of the present embodiment, an error caused by a defect in which the cell transistor is turned on at a level adjacent to the predetermined level can be corrected intermittently, thereby obtaining reliable read data. .

상기 실시예에서, 셀 트랜지스터들의 임계 전압들은 상이한 레벨의 게이트 전압을 공급함으로써 검출된다. 인가되는 게이트 전압이 일정하게 유지되면서, 셀 트랜지스터들의 상이한 전류 레벨들을 검출하는 대신에 복수의 기준 증폭기가 배치될 수 있다.In this embodiment, the threshold voltages of the cell transistors are detected by supplying gate voltages of different levels. While the gate voltage applied is kept constant, a plurality of reference amplifiers may be arranged instead of detecting different current levels of the cell transistors.

도 11을 참조하면, 제2 실시예에 따른 ECC 회로를 갖는 판독 전용 멀티 레벨 (8 레벨) 메모리 디바이스는 3비트의 데이타를 각각 저장하는 복수의 멀티 레벨 메모리 셀들(10) (101, 102, ...)을 포함한다. 제1 실시예와 유사하게, 판독 전용 데이타를 저장하는 3개의 메모리 셀이 한 그룹을 형성하고, 이에 한 쌍의 리던던트 메모리 셀들이 첨부되어 한 블럭을 형성한다. 이러한 구성에서, 한 블럭의 메모리 셀들은 9비트의 판독 전용 데이타 및 6비트의 패리티 데이타를 포함하는 15비트의 데이타를 저장한다. 이 메모리 디바이스는 각각의 메모리 셀(10)을 위한 한 그룹의 7개의 래치 회로들(13), 래치 회로들(13)의 그룹의 출력들을 엔코딩하기 위해 각각의 메모리 셀에 대해 배치된 엔코더(16), 신드롬 계산기(17), 신드롬 디코더(18), 및 정정 회로들(19)을 포함하는데, 이는 데이타의 비트수를 제외하고는 제1 실시예와 유사하다.Referring to FIG. 11, a read-only multilevel (8 level) memory device having an ECC circuit according to the second embodiment includes a plurality of multilevel memory cells 10 (10 1 , 10 2 ) each storing three bits of data. , ...). Similar to the first embodiment, three memory cells storing read-only data form a group, and a pair of redundant memory cells are attached to form a block. In this configuration, one block of memory cells stores 15 bits of data including 9 bits of read-only data and 6 bits of parity data. This memory device comprises a group of seven latch circuits 13 for each memory cell 10, an encoder 16 arranged for each memory cell to encode the outputs of the group of latch circuits 13. ), Syndrome calculator 17, syndrome decoder 18, and correction circuits 19, which are similar to the first embodiment except for the number of bits of data.

도 12를 참조하면, 각각의 셀 트랜지스터의 게이트에 인가되는 게이트 전압이 도시되어 있다. 게이트 전압은 시간에 따라 상승하는 각각의 제1 내지 제7 스테이지의 제1 내지 제7 레벨을 포함한다. 상이한 레벨의 게이트 전압들을 기초로 하여, 셀 트랜지스터들(10) 내에 저장된 데이타가 센스 증폭기(12)를 통해 래치 회로들(13)에 의해 판독될 수 있다. 표 3은 셀 트랜지스터의 임계 전압과 래치 회로들(13) 및 엔코더의 출력들 간의 관계를 나타내고 있다.Referring to FIG. 12, a gate voltage applied to the gate of each cell transistor is shown. The gate voltage includes the first to seventh levels of each of the first to seventh stages that rise with time. Based on gate voltages of different levels, data stored in cell transistors 10 may be read by latch circuits 13 through sense amplifier 12. Table 3 shows the relationship between the threshold voltage of the cell transistor and the outputs of the latch circuits 13 and the encoder.

VthVth L.AL.A L.BL.B L.CL.C L.DL.D L.EL.E L.FL.F L.GL.G 엔코더Encoder Ln1Ln1 Ln2Ln2 Ln3Ln3 Ln4Ln4 Ln5Ln5 Ln6Ln6 Ln7Ln7 an0an0 An1An1 an2an2 제1 L1 L 00 00 00 00 00 00 00 00 00 00 제2 L2 L 1One 00 00 00 00 00 00 00 1One 00 제3 L3 L 1One 1One 00 00 00 00 00 00 1One 1One 제4 L4th L 1One 1One 1One 00 00 00 00 00 00 1One 제5 L5th L 1One 1One 1One 1One 00 00 00 1One 00 1One 제6 L6th L 1One 1One 1One 1One 1One 00 00 1One 1One 1One 제7 L7th L 1One 1One 1One 1One 1One 1One 00 1One 1One 00 하이Hi 1One 1One 1One 1One 1One 1One 1One 1One 00 00

표 3에 나타나 있는 바와 같이, 임계 전압의 레벨이 셀 트랜지스터의 결함에 의해 인접한 레벨로 천이될 때, 어떠한 경우의 변화에 의해서도 엔코더(16)의 출력들인 3개의 비트들(an0, an1, 및 an2) 중 단지 하나만이 '1'에서 '0'으로 또는 '0'에서 '1'로 천이되어, 블럭 내의 1비트 에러를 효과적으로 정정함으로써 정정 회로들(19)이 잘못된 출력값을 출력하는 것이 방지된다.As shown in Table 3, when the level of the threshold voltage is shifted to an adjacent level by a defect in the cell transistor, three bits, an0, an1, and an2, which are the outputs of the encoder 16 due to any change in the case. Only one transitions from '1' to '0' or from '0' to '1', thereby effectively correcting the 1 bit error in the block, thereby preventing the correction circuits 19 from outputting an incorrect output value.

상술한 실시예들은 단지 일례로서 설명된 것이므로, 본 발명은 상술한 실시예들에 의해서 제한되지 않으며 본 기술 분야에 숙련된 자라면 본 발명의 범위로부터 벗어나지 않으면서 다양한 수정 및 개조를 용이하게 이룰 수 있을 것이다.Since the above-described embodiments are only described as an example, the present invention is not limited to the above-described embodiments and those skilled in the art can easily make various modifications and adaptations without departing from the scope of the present invention. There will be.

본 발명의 메모리 디바이스에 따르면, 메모리 셀이 셀 트랜지스터가 원하는 레벨과 다른 레벨로 턴 온되는 결함을 갖는 경우, 메모리 디바이스의 ECC 회로가 결함으로 인해 발생된 에러를 정정하기 위한 유효 1비트 ECC 기능을 갖게 된다.According to the memory device of the present invention, when a memory cell has a defect in which a cell transistor is turned on at a level different from a desired level, the ECC circuit of the memory device has a valid 1-bit ECC function for correcting an error caused by the defect. Will have

Claims (8)

메모리 디바이스에 있어서,In a memory device, 멀티 레벨 데이타를 각각 저장하기 위한 복수의 멀티 레벨 메모리 셀(11),A plurality of multi-level memory cells 11 for storing multi-level data, respectively 상기 메모리 셀들(11)로부터 데이타를 판독하여 복수의 비트를 포함하는 판독 데이타를 출력하기 위한 판독 회로(12, 13, 16),Read circuits 12, 13, and 16 for reading data from the memory cells 11 and outputting read data including a plurality of bits; 상기 판독 데이타의 상기 비트들의 수에 대응하는 비트수를 갖는 패리티 데이타(parity data)를 생성하기 위한 신드롬 데이타 생성기(syndrome data generator; 17, 18), 및A syndrome data generator (17, 18) for generating parity data having a number of bits corresponding to the number of bits of said read data, and 상기 판독 데이타의 상기 비트들 중 하나를 이에 대응하는 상기 패리티 데이타의 비트에 기초하여 정정하기 위한 정정 회로(19)Correction circuitry (19) for correcting one of the bits of the read data based on the corresponding bit of the parity data 를 포함하며,Including; 상기 판독 회로(12, 13, 16)는 각각의 상기 메모리 셀(11) 내에 저장된 상기 멀티 레벨 데이타의 2개의 인접한 레벨이 하나의 비트를 제외한 모든 비트들에서 공통 값들을 갖는 2개의 상이한 판독 데이타를 제공하도록 상기 판독 데이타를 생성하는 메모리 디바이스.The read circuits 12, 13, and 16 store two different read data in which two adjacent levels of the multi-level data stored in each of the memory cells 11 have common values in all bits except one bit. And generate the read data to provide. 제1항에 있어서, 상기 메모리 셀들(11)은 판독 전용 데이타를 저장하기 위한 복수의 제1 메모리 셀(111, 112, 113)과 상기 제1 메모리 셀들(111, 112,113) 내에 저장된 상기 판독 전용 데이타를 기초로 하여 형성된 패리티 비트들을 저장하기 위한 복수의 제2 메모리 셀(114, 115)을 포함하는 하나의 블럭을 형성하며, 상기 판독 회로(12, 13, 16)는 상기 패리티 비트들을 판독하여 상기 신드롬 데이타 생성기(17, 18)에 공급하는 메모리 디바이스.2. The memory cells of claim 1, wherein the memory cells 11 comprise a plurality of first memory cells 11 1 , 11 2 , 11 3 and the first memory cells 11 1 , 11 2, 11 for storing read-only data. 3 ) one block including a plurality of second memory cells 1 1 4 and 11 5 for storing parity bits formed on the basis of the read-only data stored in 3 ), wherein the read circuit 12, 13, 16) reads the parity bits and supplies them to the syndrome data generator (17, 18). 제1항에 있어서, 상기 메모리 셀들(11) 각각은 복수의 레벨들 중 하나로부터 선택된 임계 전압을 갖는 MOSFET을 포함하는 메모리 디바이스.2. A memory device according to claim 1, wherein each of said memory cells (11) comprises a MOSFET having a threshold voltage selected from one of a plurality of levels. 제3항에 있어서, 상기 복수의 레벨은 4 레벨을 포함하는 메모리 디바이스.4. The memory device of claim 3, wherein the plurality of levels comprises four levels. 제3항에 있어서, 상기 복수의 레벨은 8 레벨을 포함하는 메모리 디바이스.4. The memory device of claim 3, wherein the plurality of levels comprises eight levels. 제3항에 있어서, 상기 임계 전압의 레벨들에 대응하는 복수의 전압 레벨이 상기 MOSFET의 게이트에 인가되는 메모리 디바이스.4. The memory device of claim 3, wherein a plurality of voltage levels corresponding to the levels of the threshold voltage is applied to the gate of the MOSFET. 제3항에 있어서, 상기 판독 회로는 상기 MOSFET에서 상이한 레벨의 전류를 검출하기 위한 복수의 기준 증폭기를 포함하는 메모리 디바이스.4. The memory device of claim 3, wherein the readout circuit comprises a plurality of reference amplifiers for detecting different levels of current in the MOSFET. 제1항에 있어서, 상기 판독 회로는 상기 메모리 셀들(11) 중 대응하는 하나에 대해 배치된 복수의 래치 회로(13A, 13B, 및 13C)와, 상기 복수의 래치 회로(13A, 13B, 13C)로부터 출력된 데이타를 디코딩하기 위한 디코더(16)를 포함하는 메모리 디바이스.2. The read circuit of claim 1, wherein the readout circuit comprises a plurality of latch circuits 13A, 13B, and 13C disposed for a corresponding one of the memory cells 11, and the plurality of latch circuits 13A, 13B, 13C. And a decoder (16) for decoding the data output from the.
KR1019990018613A 1998-05-22 1999-05-24 Multi-level memory device having an ecc circuit KR100293066B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP1998-158561 1998-05-22
JP10158561A JPH11339496A (en) 1998-05-22 1998-05-22 Ecc circuit for multivalued cell

Publications (2)

Publication Number Publication Date
KR19990088497A KR19990088497A (en) 1999-12-27
KR100293066B1 true KR100293066B1 (en) 2001-06-15

Family

ID=15674402

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990018613A KR100293066B1 (en) 1998-05-22 1999-05-24 Multi-level memory device having an ecc circuit

Country Status (3)

Country Link
JP (1) JPH11339496A (en)
KR (1) KR100293066B1 (en)
TW (1) TW429346B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140135605A (en) * 2013-05-16 2014-11-26 실리콘 모션 인코포레이티드 Flash memory control method, controller and electronic apparatus

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6990623B2 (en) 2001-05-16 2006-01-24 Fujitsu Limited Method for error detection/correction of multilevel cell memory and multilevel cell memory having error detection/correction function
JP4437519B2 (en) * 2001-08-23 2010-03-24 スパンション エルエルシー Memory controller for multilevel cell memory
US7966547B2 (en) * 2007-07-02 2011-06-21 International Business Machines Corporation Multi-bit error correction scheme in multi-level memory storage system
KR101506655B1 (en) 2008-05-15 2015-03-30 삼성전자주식회사 Memory device and method of managing memory data error
CN104794019B (en) * 2015-04-17 2017-12-05 深圳市江波龙电子有限公司 The data guard method and device of a kind of in-line memory

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9417958B2 (en) 2012-06-06 2016-08-16 Silicon Motion Inc. Flash memory control method, controller and electronic apparatus
KR20140135605A (en) * 2013-05-16 2014-11-26 실리콘 모션 인코포레이티드 Flash memory control method, controller and electronic apparatus
KR101659888B1 (en) 2013-05-16 2016-09-26 실리콘 모션 인코포레이티드 Flash memory control method, controller and electronic apparatus

Also Published As

Publication number Publication date
TW429346B (en) 2001-04-11
JPH11339496A (en) 1999-12-10
KR19990088497A (en) 1999-12-27

Similar Documents

Publication Publication Date Title
US5719888A (en) Memory system
US8140935B2 (en) ECC controller for use in flash memory device and memory system including the same
US9454414B2 (en) System and method for accumulating soft information in LDPC decoding
EP1019821B1 (en) Method and apparatus for correcting a multilevel cell memory by using interleaving
US8086933B2 (en) Semiconductor storage device, method of controlling the same, and error correction system
US7408824B2 (en) Ferroelectric memory with spare memory cell array and ECC circuit
US20110231738A1 (en) Error correction decoding apparatus and error correction decoding method
US6289481B1 (en) Multi-value type semiconductor memory device and its defect removal method
US9312885B2 (en) Nonvolatile semiconductor memory system error correction capability of which is improved
JP2007193910A (en) Semiconductor storage device
US7468923B2 (en) Semiconductor integrated circuit
ATE216096T1 (en) FLEXIBLE ERROR CORRECTION CODE/PARITY BIT ARCHITECTURE
US6438726B1 (en) Method of dual use of non-volatile memory for error correction
JP2776839B2 (en) Semiconductor memory
KR100293066B1 (en) Multi-level memory device having an ecc circuit
US20050138537A1 (en) Method and system to encode and decode wide data words
US11417413B2 (en) Semiconductor memory apparatus and method for reading the same
US6360347B1 (en) Error correction method for a memory device
KR20210132784A (en) Memory device and method for reading data from memory device
CN114765054B (en) Error correction system
US6584594B1 (en) Data pre-reading and error correction circuit for a memory device
EP1192544B1 (en) Error correction circuit and method for a memory device
US11004522B2 (en) Fail bit number counting circuit and non-volatile semiconductor storage device
US6958949B2 (en) Decoding structure for a memory device with a control code
US20200258576A1 (en) Memory controller

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090326

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee