KR19990088497A - Ecc회로를갖는멀티레벨메모리디바이스 - Google Patents
Ecc회로를갖는멀티레벨메모리디바이스 Download PDFInfo
- Publication number
- KR19990088497A KR19990088497A KR1019990018613A KR19990018613A KR19990088497A KR 19990088497 A KR19990088497 A KR 19990088497A KR 1019990018613 A KR1019990018613 A KR 1019990018613A KR 19990018613 A KR19990018613 A KR 19990018613A KR 19990088497 A KR19990088497 A KR 19990088497A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- read
- level
- memory cells
- outputs
- Prior art date
Links
- 208000011580 syndromic disease Diseases 0.000 claims description 43
- 230000007547 defect Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 230000007704 transition Effects 0.000 description 5
- 101150110971 CIN7 gene Proteins 0.000 description 2
- 101150110298 INV1 gene Proteins 0.000 description 2
- 101100397044 Xenopus laevis invs-a gene Proteins 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 101150070189 CIN3 gene Proteins 0.000 description 1
- 101100286980 Daucus carota INV2 gene Proteins 0.000 description 1
- 101100397045 Xenopus laevis invs-b gene Proteins 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
판독 전용의 멀티 레벨 메모리 디바이스가 판독 전용 데이타를 저장하는 메모리 셀들(111, 112, 113)과 판독 전용 데이타중 1비트를 정정하기 위한 패리티 데이타를 저장하는 메모리 셀들(114, 115)의 한 블럭을 포함한다. 각각의 메모리 셀(11)은 복수의 레벨로부터 선택된 임계 전압을 갖는 셀 트랜지스터를 포함한다. 인접한 레벨의 임계 전압을 갖는 셀 트랜지스터들로부터 판독 회로(12, 13, 16)에 의해 판독된 2개의 판독 데이타는 단지 하나의 비트만이 다르고 나머지 비트들은 동일하다. 판독 데이타는 패리티 비트들을 사용함으로써 효과적으로 정정될 수 있다.
Description
본 발명은 ECC (에러 검사 및 정정) 회로를 갖는 멀티 레벨 메모리 디바이스에 관한 것이며, 특히 멀티 레벨 메모리 셀 내에 저장되어 있는 데이타에 대한 1비트 ECC 기능을 구비하여 에러 정정의 가능성을 증가시킬 수 있는 ECC 회로에 관한 것이다.
ECC 회로는 신뢰성있는 데이타 전송을 위해 멀티 레벨 메모리 디바이스를 포함하는 반도체 집적 회로에 폭넓게 사용되고 있다. 멀티 레벨 메모리 셀에 대해 1비트 ECC 기능을 갖는 종래의 ECC 회로가 예를 들어, JP-A-7-238423호에 개시되어 있다. 이러한 종래의 ECC 회로가 2비트 데이타를 각각 저장하기 위한 멀티 레벨 메모리 셀을 갖는 판독 전용 메모리 디바이스를 참고하여 다음에서 설명될 것이다. ECC 회로는 6비트 판독 전용 데이타에 대해 4비트의 패리티 데이타(parity data)를 사용함으로써 1비트의 ECC 기능을 갖는다.
도 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)는 판독 데이타에 대한 신드롬 파라미터들을 생성하기 위한 신드롬 데이타 생성기를 구성한다.
도 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이다.
도 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로서 얻어진다.
도 5를 참조하면, 신드롬 디코더(18)는 인버터들, NAND 게이트들을 포함하며, ECC 코드들(ECC0 내지 ECC3)를 수신하여, 디코딩된 출력들(a00', a01', a11', a20', 및 a21')을 출력한다.
도 6을 참조하면, 각각의 정정 회로(19)는 엔코더(26)로부터의 출력 ani(n = 0, 1, 2 및 i = 0, 1)를 수신하여 정정된 데이타 Dni를 출력하기 위한 Ex-OR 게이트에 의해 구현된다. 정정 회로들(19)로부터 출력된 6비트 데이타(D00, D01, D10, D11, D20, 및 D21)는 멀티 레벨 ROM으로부터 판독된 판독 데이타로서 사용된다.
각각의 메모리 셀(11)은 4레벨의 정해진 임계 전압으로부터 선택되는 지정된 임계 전압 레벨을 갖는다. 도 7은 각각의 셀 트랜지스터의 게이트에 인가되는 게이트 전압을 나타내고 있다. 이 파형은 제1 스테이지의 제1 레벨, 제2 스테이지의 제2 레벨, 및 제3 스테이지의 제3 레벨을 포함하는데, 이는 시간에 따라 상승한다. 표 1은 셀 트랜지스터의 임계 전압(Vth)과 래치 회로들(13A, 13B, 및 13C) 및 엔코더(26)의 출력들 간의 관계를 나타내고 있다.
Vth | 래치A | 래치B | 래치C | 엔코더 | |
Ln1 | Ln2 | Ln3 | An0 | an1 | |
제1 레벨 | 0 | 0 | 0 | 0 | 0 |
제2 레벨 | 1 | 0 | 0 | 0 | 1 |
제3 레벨 | 1 | 1 | 0 | 1 | 0 |
고 레벨 | 1 | 1 | 1 | 1 | 1 |
즉, 센스 증폭기(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)에 공급되며, 이 엔코더는 엔코딩된 출력들 "1"을 출력한다. 따라서, 2비트 데이타가 엔코더(26)의 출력들로서 셀 트랜지스터로부터 판독될 수 있다.
각각의 출력 쌍(a00과 a01, a10과 a11, 또는 a20과 a21)은 블럭 내의 지정된 판독 전용 메모리 셀로부터 판독된 2비트 데이타를 구성하며, 각각의 출력 쌍(a30과 a31, 또는 a41과 a42)은 블럭 내의 패리티 셀 또는 리던던트 셀(redundant cell)로부터 출력된 2비트 패리티 데이타를 구성한다. 패리티 셀들(114및 115)은 또한 멀티 레벨 셀로서 구현되며 블럭 내의 메모리 셀들(114및 115) 내에 4비트의 패리티 데이타를 저장한다.
도 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"로 가정한다.
신드롬 디코더(18)로부터의 출력들은 정정 회로들(19)에 공급되는데, 이 정정 회로들중 하나는 도 6에 도시된 Ex-OR를 기초로 하여 신드롬 디코더(18)의 출력들(a00', a01', a10', a11', a20', 및 a21') 중에서 "1"로 가정한 비트에 대응하는 엔코더(26)로부터의 출력들(a00, a01, a10, a11, a20, 및 a21) 중 하나를 반대로 함으로써 엔코더(26)로부터 출력된 에러를 정정한다.
한 경우에, 메모리 셀들(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)이다.
상기 경우에, 만일 엔코더들(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)이 된다.
그러나, 상술한 바와 같은 멀티 레벨 메모리에서는, 셀 트랜지스터가 원하는 레벨과 다른 레벨로 턴 온되는 결함을 갖게 되는 경우, 때때로 EEC 회로가 에러를 정정할 수 없게 된다는 문제점이 존재한다.
예를 들어, 만일 출력들(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 기능을 갖는다.
상기와 같은 경우 대신에, 만일 메모리 셀(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 회로는 메모리 디바이스의 출력들 내의 에러를 정정할 수 없다.
상기와 같은 결함은 셀이 셀 트랜지스터가 턴 온되는 전압 레벨이 다음으로 낮은 또는 높은 레벨로 벗어나게 되는 결함을 갖는 경우에 때때로 발생하게 된다.
상기와 같은 점들을 고려하여, 본 발명의 목적은 메모리 셀 내에 결함이 발생하는 경우에 유효한 에러 정정의 가능성을 증가시킬 수 있는 멀티 레벨 메모리 셀을 위한 ECC회로를 갖는 메모리 디바이스를 제공하는 것이다.
본 발명은 멀티 레벨 데이타를 각각 저장하기 위한 복수의 멀티 레벨 메모리 셀, 메모리 셀들로부터 데이타를 판독하여 복수의 비트를 포함하는 판독 데이타를 출력하기 위한 판독 회로, 판독된 데이타의 비트수에 대응하는 비트수를 갖는 패리티 데이타를 생성하기 위한 신드롬 데이타 생성기, 패리티 데이타의 비트들 중 대응하는 하나의 비트를 기초로 하여 판독된 데이타의 비트들 중 하나의 비트를 정정하기 위한 정정 회로를 포함하는 메모리 디바이스에 관한 것으로서, 상기 판독 회로는 각각의 메모리 셀 내에 저장되어 있는 멀티 레벨 데이타의 2개의 인접한 레벨이 단일 비트에 대해서가 아닌 모든 비트에서 공통인 값들을 갖는 2개의 상이한 판독 데이타를 제공하도록 하는 판독 데이타를 생성한다.
본 발명의 메모리 디바이스에 따르면, 메모리 셀이 셀 트랜지스터가 원하는 레벨과 다른 레벨로 턴 온되는 결함을 갖는 경우, 메모리 디바이스의 ECC 회로가 결함으로 인해 발생된 에러를 정정하기 위한 유효 1비트 ECC 기능을 갖게 된다.
본 발명의 상기 및 다른 목적, 특징, 및 장점은 첨부된 도면과 함께 다음의 상세한 설명을 참조함으로써 보다 명백해질 것이다.
도 1은 ECC 회로를 갖는 종래의 멀티 레벨 메모리의 블럭도.
도 2는 도 1에 도시된 전형적인 메모리 셀의 회로도.
도 3은 도 1에 도시된 엔코더의 논리 회로도.
도 4는 도 1에 도시된 신드롬 계산기의 논리 회로도.
도 5는 도 1에 도시된 신드롬 디코더의 논리 회로도.
도 6은 도 1에 도시된 정정 회로의 논리 회로도.
도 7은 도 2에 도시된 셀 트랜지스터에 공급되는 게이트 전압의 파형을 도시한 타이밍 차트.
도 8은 본 발명의 제1 실시예에 따른 ECC 회로를 갖는 멀티 레벨 메모리의 블럭도.
도 9는 도 8에 도시된 엔코더의 논리 회로도.
도 10은 도 8에 도시된 패리티 셀에 패리티 비트들을 저장하는데 사용되는 패리티 회로의 논리 회로도.
도 11은 본 발명의 제2 실시예에 따른 ECC 회로를 갖는 멀터 레벨 메모리의 블럭도.
도 12는 도 11에 도시된 셀 트랜지스터들에 공급되는 게이트 전압의 파형을 도시한 타이밍 차트.
<도면의 주요 부분에 대한 부호의 설명>
11 : 메모리 셀
12 : 센스 증폭기
13A, 13B, 13C : 래치 회로
16 : 엔코더
17 : 신드롬 계산기
18 : 신드롬 디코더
19 : 정정 회로
이하, 본 발명이 보다 용이한 이해를 위해 유사한 구성 소자는 동일한 참조 번호로 표시되어 있는 첨부된 도면을 참조로 상세하게 설명될 것이다.
도 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비트의 패리티 데이타를 저장한다.
센스 증폭기(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)로서 각각 공급한다.
도 2를 참조하면, 각각의 메모리 셀(11)은 지정된 임계 전압을 갖는 셀 트랜지스터에 의해 구현되며, 각각의 열 내의 셀 트랜지스터들은 대응 비트 라인(20)과 접지 사이에 접속된다.
도 9를 참조하면, 각각의 엔코더(16)는 래치 회로(13C)부터의 출력(Ln3)을 수신하기 위한 인버터(INV0), 래치 회로들(13A 및 13B)로부터의 한 쌍의 출력(Ln1 및 Ln2)을 수신하기 위한 NAND 게이트(NAND1), 래치 회로(13A)로부터의 출력(Ln1)과 인버터(INV0)로부터의 출력을 수신하기 위한 NAND 게이트(NAND2), NAND1으로부터의 출력을 수신하여 엔코딩된 출력 비트(an0)를 출력하기 위한 인버터(INV1), 및 NAND2로부터의 출력을 수신하여 엔코딩된 출력 비트(an1)을 출력하기 위한 인버터(INV2)를 포함한다. 이러한 구성에서, 디코더(16)는 다음의 표 2를 따르는 지정된 출력 비트를 출력한다.
신드롬 계산기(17), 신드롬 디코더(18), 및 정정 회로들(19)은 각각 도 4, 도 5, 및 도 6을 참조로 한 종래의 기술에 대한 설명에서와 유사한 구성을 갖는다. 따라서, 이들 회로에 대한 상세한 설명은 생략할 것이다.
엔코더들(16)의 출력 쌍들(a00과 a01, a10과 a11, 및 a20과 a21)은 대응 메모리 셀들(111, 112, 및 113) 내의 2비트 데이타에 각각 대응하며, 출력 쌍들(a30과 a31, 및 a40과 a41)은 리던던트 셀들(114및 115) 내에 저장된 2비트 패리티 데이타에 각각 대응한다.
표 1과 유사한 표 2는 셀 트랜지스터를 위한 임계 전압의 레벨에 의해 실현된 셀 데이타와 래치 회로들(13A, 13B, 및 13C) 및 엔코더(16)의 출력들 간의 관계를 나타내고 있다.
임계 전압 | 래치A | 래치B | 래치C | 엔코더 | |
Ln1 | Ln2 | Ln3 | an0 | an1 | |
제1 레벨 | 0 | 0 | 0 | 0 | 0 |
제2 레벨 | 1 | 0 | 0 | 0 | 1 |
제3 레벨 | 1 | 1 | 0 | 1 | 1 |
고 레벨 | 1 | 1 | 1 | 1 | 0 |
본 실시예에서, 엔코더의 출력 쌍(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"으로 각각 천이하게 된다. 이는 종래의 메모리 디바이스가 잘못된 출력을 제공한다는 것을 의미한다.
동작 시에, 선택된 셀 트랜지스터의 게이트에는 도 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)에 공급된다.
엔코더(16)로부터 출력되는 2비트 데이타, 예를 들어, a00 및 a01은 선택된 메모리 셀(111) 내에 저장되어 있는 2비트 데이타에 대응하며, 신드롬 계산기(17)에 공급된다. 신드롬 계산기(17)는 그로부터 2비트 데이타로서 신드롬 파리미터를 계산하고, 이를 신드롬 디코더(18)에 공급한다. 만일 신드롬 디코더(18)로부터의 출력들 중 하나가 에러를 갖는다면 신드롬 디코더(18)의 출력들은 "1"일 것이다.
신드롬 디코더(18)의 출력들은 정정 회로들(19)에 공급되는데, 이들 정정 회로들(19) 각각은 도 6에 도시된 Ex-OR 게이트에 의해 실현되며 신드롬 디코더(18)로부터 출력되는 대응 비트가 "1"일 경우 엔코더들(16)로부터 출력되는 비트들 중 하나를 반대로 함으로써, 엔코더들(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)이다.
한 블럭 내의 리던던트 셀들(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)이 된다.
위에서 열거된 경우에, 만일 임계 전압의 예정된 제2 레벨에 관계없이 인가된 전압의 제1 레벨로 턴 온된 셀(111) 내의 셀 트랜지스터에 결함이 존재한다면, 래치 회로들의 출력들은 (L01, L02, L03) = (0, 0, 0)이 되고, 엔코더(16)의 출력들은 (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"을 기초로 하여 정정된다.
한편, 만일 셀 트랜지스터가 상기 경우에서 예정된 제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)인 올바른 출력들을 제공한다.
상술한 바와 같이, 본 실시예의 멀티 레벨 메모리의 ECC 회로에서는, 셀 트랜지스터가 예정된 레벨에 인접한 레벨로 턴 온되는 결함에 의해 발생된 에러가 휴과적으로 정정될 수 있어, 신뢰성 있는 판독 데이타가 얻어진다.
상기 실시예에서, 셀 트랜지스터들의 임계 전압들은 상이한 레벨의 게이트 전압을 공급함으로써 검출된다. 인가되는 게이트 전압이 일정하게 유지되면서, 셀 트랜지스터들의 상이한 전류 레벨들을 검출하는 대신에 복수의 기준 증폭기가 배치될 수 있다.
도 11을 참조하면, 제2 실시예에 따른 ECC 회로를 갖는 판독 전용 멀티 레벨 (8 레벨) 메모리 디바이스는 3비트의 데이타를 각각 저장하는 복수의 멀티 레벨 메모리 셀들(10) (101, 102, ...)을 포함한다. 제1 실시예와 유사하게, 판독 전용 데이타를 저장하는 3개의 메모리 셀이 한 그룹을 형성하고, 이에 한 쌍의 리던던트 메모리 셀들이 첨부되어 한 블럭을 형성한다. 이러한 구성에서, 한 블럭의 메모리 셀들은 9비트의 판독 전용 데이타 및 6비트의 패리티 데이타를 포함하는 15비트의 데이타를 저장한다. 이 메모리 디바이스는 각각의 메모리 셀(10)을 위한 한 그룹의 7개의 래치 회로들(13), 래치 회로들(13)의 그룹의 출력들을 엔코딩하기 위해 각각의 메모리 셀에 대해 배치된 엔코더(16), 신드롬 계산기(17), 신드롬 디코더(18), 및 정정 회로들(19)을 포함하는데, 이는 데이타의 비트수를 제외하고는 제1 실시예와 유사하다.
도 12를 참조하면, 각각의 셀 트랜지스터의 게이트에 인가되는 게이트 전압이 도시되어 있다. 게이트 전압은 시간에 따라 상승하는 각각의 제1 내지 제7 스테이지의 제1 내지 제7 레벨을 포함한다. 상이한 레벨의 게이트 전압들을 기초로 하여, 셀 트랜지스터들(10) 내에 저장된 데이타가 센스 증폭기(12)를 통해 래치 회로들(13)에 의해 판독될 수 있다. 표 3은 셀 트랜지스터의 임계 전압과 래치 회로들(13) 및 엔코더의 출력들 간의 관계를 나타내고 있다.
Vth | L.A | L.B | L.C | L.D | L.E | L.F | L.G | 엔코더 | ||
Ln1 | Ln2 | Ln3 | Ln4 | Ln5 | Ln6 | Ln7 | an0 | An1 | an2 | |
제1 L | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
제2 L | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
제3 L | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
제4 L | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
제5 L | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 |
제6 L | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 |
제7 L | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 |
하이 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
표 3에 나타나 있는 바와 같이, 임계 전압의 레벨이 셀 트랜지스터의 결함에 의해 인접한 레벨로 천이될 때, 어떠한 경우의 변화에 의해서도 엔코더(16)의 출력들인 3개의 비트들(an0, an1, 및 an2) 중 단지 하나만이 "1"에서 "0"으로 또는 "0"에서 "1"로 천이되어, 블럭 내의 1비트 에러를 효과적으로 정정함으로써 정정 회로들(19)이 잘못된 출력값을 출력하는 것이 방지된다.
상술한 실시예들은 단지 일례로서 설명된 것이므로, 본 발명은 상술한 실시예들에 의해서 제한되지 않으며 본 기술 분야에 숙련된 자라면 본 발명의 범위로부터 벗어나지 않으면서 다양한 수정 및 개조를 용이하게 이룰 수 있을 것이다.
본 발명의 메모리 디바이스에 따르면, 메모리 셀이 셀 트랜지스터가 원하는 레벨과 다른 레벨로 턴 온되는 결함을 갖는 경우, 메모리 디바이스의 ECC 회로가 결함으로 인해 발생된 에러를 정정하기 위한 유효 1비트 ECC 기능을 갖게 된다.
Claims (8)
- 메모리 디바이스에 있어서,멀티 레벨 데이타를 각각 저장하기 위한 복수의 멀티 레벨 메모리 셀(11),상기 메모리 셀들(11)로부터 데이타를 판독하여 복수의 비트를 포함하는 판독 데이타를 출력하기 위한 판독 회로(12, 13, 16),상기 판독 데이타의 상기 비트들의 수에 대응하는 비트수를 갖는 패리티 데이타(parity data)를 생성하기 위한 신드롬 데이타 생성기(syndrome data generator; 17, 18), 및상기 판독 데이타의 상기 비트들 중 하나를 이에 대응하는 상기 패리티 데이타의 비트에 기초하여 정정하기 위한 정정 회로(19)를 포함하며,상기 판독 회로(12, 13, 16)는 각각의 상기 메모리 셀(11) 내에 저장된 상기 멀티 레벨 데이타의 2개의 인접한 레벨이 하나의 비트를 제외한 모든 비트들에서 공통 값들을 갖는 2개의 상이한 판독 데이타를 제공하도록 상기 판독 데이타를 생성하는 메모리 디바이스.
- 제1항에 있어서, 상기 메모리 셀들(11)은 판독 전용 데이타를 저장하기 위한 복수의 제1 메모리 셀(111, 112, 113)과 상기 제1 메모리 셀들(111, 112,113) 내에 저장된 상기 판독 전용 데이타를 기초로 하여 형성된 패리티 비트들을 저장하기 위한 복수의 제2 메모리 셀(114, 115)을 포함하는 하나의 블럭을 형성하며, 상기 판독 회로(12, 13, 16)는 상기 패리티 비트들을 판독하여 상기 신드롬 데이타 생성기(17, 18)에 공급하는 메모리 디바이스.
- 제1항에 있어서, 상기 메모리 셀들(11) 각각은 복수의 레벨들 중 하나로부터 선택된 임계 전압을 갖는 MOSFET을 포함하는 메모리 디바이스.
- 제3항에 있어서, 상기 복수의 레벨은 4 레벨을 포함하는 메모리 디바이스.
- 제3항에 있어서, 상기 복수의 레벨은 8 레벨을 포함하는 메모리 디바이스.
- 제3항에 있어서, 상기 임계 전압의 레벨들에 대응하는 복수의 전압 레벨이 상기 MOSFET의 게이트에 인가되는 메모리 디바이스.
- 제3항에 있어서, 상기 판독 회로는 상기 MOSFET에서 상이한 레벨의 전류를 검출하기 위한 복수의 기준 증폭기를 포함하는 메모리 디바이스.
- 제1항에 있어서, 상기 판독 회로는 상기 메모리 셀들(11) 중 대응하는 하나에 대해 배치된 복수의 래치 회로(13A, 13B, 및 13C)와, 상기 복수의 래치 회로(13A, 13B, 13C)로부터 출력된 데이타를 디코딩하기 위한 디코더(16)를 포함하는 메모리 디바이스.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10158561A JPH11339496A (ja) | 1998-05-22 | 1998-05-22 | 多値セルのecc回路 |
JP1998-158561 | 1998-05-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990088497A true KR19990088497A (ko) | 1999-12-27 |
KR100293066B1 KR100293066B1 (ko) | 2001-06-15 |
Family
ID=15674402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019990018613A KR100293066B1 (ko) | 1998-05-22 | 1999-05-24 | Ecc 회로를 갖는 멀티 레벨 메모리 디바이스 |
Country Status (3)
Country | Link |
---|---|
JP (1) | JPH11339496A (ko) |
KR (1) | KR100293066B1 (ko) |
TW (1) | TW429346B (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100873656B1 (ko) * | 2001-08-23 | 2008-12-12 | 후지쯔 가부시끼가이샤 | 멀티레벨 셀 메모리용 메모리 제어기 |
US8972775B2 (en) | 2008-05-15 | 2015-03-03 | Samsung Electronics Co., Ltd. | Memory device and method of managing memory data error including determining verification voltages and changing threshold voltages based on a corrected error bit |
Families Citing this family (4)
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 |
US7966547B2 (en) * | 2007-07-02 | 2011-06-21 | International Business Machines Corporation | Multi-bit error correction scheme in multi-level memory storage system |
CN107133122B (zh) * | 2012-06-06 | 2020-10-27 | 慧荣科技股份有限公司 | 存储器控制方法 |
CN104794019B (zh) * | 2015-04-17 | 2017-12-05 | 深圳市江波龙电子有限公司 | 一种嵌入式存储器的数据保护方法及装置 |
-
1998
- 1998-05-22 JP JP10158561A patent/JPH11339496A/ja active Pending
-
1999
- 1999-05-21 TW TW088108483A patent/TW429346B/zh not_active IP Right Cessation
- 1999-05-24 KR KR1019990018613A patent/KR100293066B1/ko not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100873656B1 (ko) * | 2001-08-23 | 2008-12-12 | 후지쯔 가부시끼가이샤 | 멀티레벨 셀 메모리용 메모리 제어기 |
US8972775B2 (en) | 2008-05-15 | 2015-03-03 | Samsung Electronics Co., Ltd. | Memory device and method of managing memory data error including determining verification voltages and changing threshold voltages based on a corrected error bit |
Also Published As
Publication number | Publication date |
---|---|
JPH11339496A (ja) | 1999-12-10 |
KR100293066B1 (ko) | 2001-06-15 |
TW429346B (en) | 2001-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1019821B1 (en) | Method and apparatus for correcting a multilevel cell memory by using interleaving | |
US5719888A (en) | Memory system | |
US20120011416A1 (en) | Ecc controller for use in flash memory device and memory system including the same | |
EP0172734A2 (en) | Semiconductor memory device | |
US20110231738A1 (en) | Error correction decoding apparatus and error correction decoding method | |
US20080034253A1 (en) | Ferroelectric memory with spare memory cell array and ecc circuit | |
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 | |
JPH11312396A (ja) | マルチビット半導体メモリ装置及びその装置の誤り訂正方法 | |
JP2007193910A (ja) | 半導体記憶装置 | |
US7468923B2 (en) | Semiconductor integrated circuit | |
JP7343709B2 (ja) | 誤り訂正システム | |
EP0668561A3 (en) | Flexible error correction code / parity bit architecture. | |
US6438726B1 (en) | Method of dual use of non-volatile memory for error correction | |
KR100293066B1 (ko) | Ecc 회로를 갖는 멀티 레벨 메모리 디바이스 | |
US20050138537A1 (en) | Method and system to encode and decode wide data words | |
KR100737912B1 (ko) | 반도체 메모리 장치의 에러 검출 및 정정 회로 | |
US11417413B2 (en) | Semiconductor memory apparatus and method for reading the same | |
US6360347B1 (en) | Error correction method for a memory device | |
KR20210132784A (ko) | 메모리 장치 및 메모리 장치로부터 데이터를 읽는 방법 | |
CN114765054B (zh) | 纠错系统 | |
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 | |
US11264098B2 (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 |