KR20070115755A - 판독 레벨을 정확하게 보정할 수 있는 반도체 메모리디바이스 - Google Patents

판독 레벨을 정확하게 보정할 수 있는 반도체 메모리디바이스 Download PDF

Info

Publication number
KR20070115755A
KR20070115755A KR1020070053430A KR20070053430A KR20070115755A KR 20070115755 A KR20070115755 A KR 20070115755A KR 1020070053430 A KR1020070053430 A KR 1020070053430A KR 20070053430 A KR20070053430 A KR 20070053430A KR 20070115755 A KR20070115755 A KR 20070115755A
Authority
KR
South Korea
Prior art keywords
read
memory cell
level
data
threshold level
Prior art date
Application number
KR1020070053430A
Other languages
English (en)
Other versions
KR100916874B1 (ko
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 KR20070115755A publication Critical patent/KR20070115755A/ko
Application granted granted Critical
Publication of KR100916874B1 publication Critical patent/KR100916874B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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
    • G11C11/5621Digital 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 using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/12Programming voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B99/00Subject matter not provided for in other groups of this subclass
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5646Multilevel memory with flag bits, e.g. for showing that a "first page" of a word line is programmed but not a "second page"
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/565Multilevel memory comprising elements in triple well structure

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

메모리 셀 어레이(1)에서, 각기 복수의 비트를 저장하는 복수의 메모리 셀들은 복수의 워드 라인 및 복수의 비트 라인에 접속되며 매트릭스로 배열된다. 제어부(6 및 7)는 메모리 셀 어레이내의 제1 메모리 셀에 인접한 제2 메모리 셀의 임계 레벨을 판독하고, 제2 메모리 셀로부터 판독된 임계 레벨에 따라 보정 레벨을 결정하고, 결정된 보정 레벨을 제1 메모리 셀의 판독 레벨에 부가하여, 제1 메모리 셀의 임계 레벨을 판독한다. 저장부(7-1)는 보정 레벨을 저장한다.
반도체 메모리 디바이스, 메모리 셀 어레이, NAND 플래시 메모리, 래치 회로, 보정 레벨

Description

판독 레벨을 정확하게 보정할 수 있는 반도체 메모리 디바이스{SEMICONDUCTOR MEMORY DEVICE CAPABLE OF CORRECTING A READ LEVEL PROPERLY}
도 1은 NAND 플래시 메모리의 구성을 개략적으로 도시하는 도면.
도 2는 도 1의 메모리 셀 어레이 및 비트 라인 제어 회로의 구성예를 도시하는 회로도.
도 3a 및 3b는 각각, 메모리 셀 및 선택 트랜지스터의 단면도.
도 4는 NAND 플래시 메모리의 단면도.
도 5는 도 4의 다양한 영역에 공급되는 전압의 예를 열거하는 표.
도 6은 메모리 셀로부터 판독되는 시퀀스를 나타내는 도면.
도 7의 (a) 내지 (g)는 메모리 셀로 기입되는 임계 레벨의 예를 나타내는 도면.
도 8은 인접 셀의 임계 레벨의 변화에 따라 임계 레벨이 변하는 형태를 나타내는 도면.
도 9는 본 발명의 제1 실시예의 구성을 도시하는 도면.
도 10은 제1 실시예의 동작을 설명하기 위한 순서도.
도 11은 본 발명의 제2 실시예에 적용되는 메모리 셀 어레이의 회로도.
도 12는 제2 실시예의 동작을 설명하기 위한 순서도.
도 13은 제2 실시예의 판독 동작을 설명하기 위한 순서도.
도 14는 본 발명의 제3 실시예의 임계 레벨과 판독 레벨 간의 관계의 일부를 나타내는 도면.
도 15는 도 14에 후속하는, 임계 레벨과 판독 레벨 간의 관계의 일부를 나타내는 도면.
도 16은 도 15에 후속하는, 임계 레벨과 판독 레벨 간의 관계의 일부를 나타내는 도면.
도 17은 도 16에 후속하는, 임계 레벨과 판독 레벨 간의 관계의 일부를 나타내는 도면.
도 18은 제3 실시예의 판독 동작을 설명하기 위한 순서도.
도 19a는 하위(lower) 페이지의 판독 시퀀스를 나타내고, 도 19b는 중상위(upper) 페이지의 판독 시퀀스를 나타내고, 도 19c는 상위(higher) 페이지의 판독 시퀀스를 나타내는 도면.
도 20은 최고 레벨에서의 판독 시퀀스를 설명하기 위한 순서도.
도 21은 데이터 저장 회로의 회로도.
도 22는 데이터 저장 회로를 사용하는 정규(normal) 판독 시퀀스를 나타내는 도면.
도 23은 도 18에 대응하는 제3 실시예의 동작 시퀀스를 나타내는 도면.
도 24는 제3 실시예의 변형 1에 따른 동작 시퀀스를 나타내는 도면.
도 25는 변형 1의 동작을 설명하기 위한 순서도.
도 26은 변형 1의 임계 레벨과 판독 레벨 간의 관계의 일부를 나타내는 도면.
도 27은 도 26에 후속하는, 임계 레벨과 판독 레벨 간의 관계의 일부를 나타내는 도면.
도 28은 도 27에 후속하는, 임계 레벨과 판독 레벨 간의 관계의 일부를 나타내는 도면.
도 29는 도 28에 후속하는, 임계 레벨과 판독 레벨 간의 관계의 일부를 나타내는 도면.
도 30은 제3 실시예의 변형 2에 따른 동작 시퀀스를 나타내는 도면.
도 31은 변형 2의 임계 레벨과 판독 레벨 간의 관계의 일부를 나타내는 도면.
도 32는 도 31에 후속하는, 임계 레벨과 판독 레벨 간의 관계의 일부를 나타내는 도면.
도 33은 도 32에 후속하는, 임계 레벨과 판독 레벨 간의 관계의 일부를 나타내는 도면.
도 34는 도 33에 후속하는, 임계 레벨과 판독 레벨 간의 관계의 일부를 나타내는 도면.
도 35는 변형 2의 기입 데이터의 예를 열거하는 표.
도 36은 본 발명의 제4 실시예에서 인접 셀이 기입된 후의, 임계 레벨과 판독 레벨 간의 관계의 일부를 나타내는 도면.
도 37은 도 36에 후속하는, 임계 레벨과 판독 레벨 간의 관계의 일부를 나타내는 도면.
도 38은 도 37에 후속하는, 임계 레벨과 판독 레벨 간의 관계의 일부를 나타내는 도면.
도 39는 도 38에 후속하는, 인접 셀이 기입된 후의, 임계 레벨과 판독 레벨 간의 관계의 일부를 나타내는 도면.
도 40은 제4 실시예의 판독 동작을 설명하기 위한 순서도.
도 41a 및 41b는 제4 실시예에서 각 페이지가 상술한 바와 같이 보정된 후의 "H"의 수를 도시하는 도면.
도 42는 본 발명의 제5 실시예의 판독 동작을 설명하기 위한 순서도.
도 43은 제5 실시예의 도 42에 후속하는 판독 동작을 설명하기 위한 순서도.
도 44는 본 발명의 제6 실시예에서 임계 레벨의 변화량에 따라 "H"가 판독된 횟수를 나타내는 도면.
도 45는 도 44에 후속하는, 임계 레벨의 변화량에 따라 "H"가 판독된 횟수를 나타내는 도면.
도 46은 메모리 셀 어레이의 다른 예의 회로도.
도 47은 제6 실시예의 판독 동작을 설명하기 위한 순서도.
도 48 및 도 49는 제3 실시예의 변형 3에 따른 동작 시퀀스를 나타내는 도면.
<도면의 주요 부분에 대한 부호의 설명>
1 : 메모리 셀 어레이
2 : 비트 라인 제어 회로
3 : 컬럼 디코더
4 : 데이터 입/출력 버퍼
5 : 데이터 입/출력 단자
6 : 워드 라인 제어 회로
7 : 제어 신호 및 제어 전압 발생기 회로
7-1 : 판독 전압 정정 회로
8 : 제어 신호 입력 단자
10 : 데이터 저장 회로
11 : 제어기
11-1 : ECC 회로
본 발명은, 예를 들어, 단일 메모리에 2 레벨 이상의 데이터를 저장할 수 있는 반도체 메모리 디바이스에 관한 것이다.
예를 들어, NAND 플래시 메모리에서, 행 방향으로 배열된 복수의 메모리 셀은 각각 대응하는 래치 회로에 비트 라인을 통해 접속된다. 각 래치 회로는 데이터 기입 또는 판독시에 데이터를 홀딩한다. 행 방향으로 배열된 복수의 셀로/로부 터 동시에 기입/판독된다.
또한, 대용량의 데이터를 저장하기 위해서, 단일 메모리에 2 비트 이상을 저장할 수 있는 레벨 메모리가 개발되었다. 더욱이, 구성 요소들의 소형화로 인해, 복수의 인접 셀들의 부동 게이트들 간의 용량 커플링(capacity coupling)의 이펙트(effect)가 문제시되어 왔다. 구체적으로, 데이터가 메모리 셀에 기입되면, 이전에 기입된 메모리 셀에 인접한 메모리 셀의 임계 전압은 용량 커플링으로 인해 올라간다.
이 때문에, 다음의 방법이 제시되었다: 예를 들어, 데이터가 제1 메모리 셀로부터 판독되면, 제1 메모리 셀에 인접하며 제1 메모리 셀보다 이후에 기입되는 제2 메모리 셀의 임계 전압이 검출되고, 이 검출된 임계 전압에 대응하는 보정값이 제1 메모리 셀로부터 데이터를 판독할 때의 판독 전압에 부가되어, 제1 메모리 셀로부터 데이터를 판독한다(예를 들어, 일본특개평 제2004-326866호).
그러나, 인접 셀들의 부동 게이트 간의 커패시턴스(capacitance)는 칩들 간에 또는 워드 라인들 간에서 폭넓게 변화한다. 이 때문에, 적합한 보정값을 결정하는 것은 어려웠다. 따라서, 인접 셀의 부동 게이트 간의 커패시턴스에 따라서 적합한 보정값을 설정할 수 있는 반도체 메모리 디바이스가 요구된다.
본 발명의 제1 양상에 따르면, 복수의 메모리 셀들 -상기 복수의 메모리 셀들 각각은 복수의 비트를 저장함- 이 매트릭스로 배열되어 있는 메모리 셀 어레이; 보정 레벨을 저장하도록 형성되어 있는 저장부; 및 상기 메모리 셀 어레이내의 제1 메모리 셀에 인접한 제2 메모리 셀의 임계 레벨을 판독하도록 형성되어 있으며, 상기 제2 메모리 셀로부터 판독된 임계 레벨에 따라 상기 저장부로부터 상기 보정 레벨을 판독하고, 상기 판독된 보정 레벨을 상기 제1 메모리 셀의 임계 레벨에 부가하여, 상기 제1 메모리 셀의 임계 레벨을 판독하는 제어부를 포함하는 반도체 메모리 디바이스가 제공된다.
본 발명의 제2 양상에 따르면, 복수의 메모리 셀들 -상기 복수의 메모리 셀들 각각은 복수의 비트를 저장함- 이 매트릭스로 배열되어 있는 메모리 셀 어레이; 상기 메모리 셀 어레이내의 제1 메모리 셀; 상기 제1 메모리 셀에 인접하여 있으며 상기 제1 메모리 셀보다 나중에 기입되는 제2 메모리 셀; 상기 제1 메모리 셀과 동시에 선택되며 일정한 임계 레벨이 기입되는 제3 메모리 셀; 상기 제2 메모리 셀과 동시에 선택되며 상기 일정한 임계 레벨이 기입되는 제4 메모리 셀; 및 상기 제1 메모리 셀의 임계 레벨이 판독될 때 상기 제3 메모리 셀의 임계 레벨을 판독하고, 상기 판독된 임계 레벨에 대응하는 제1 보정 레벨과 상기 제2 메모리 셀의 임계 레벨에 대응하는 제2 보정 레벨을 상기 제1 메모리 셀의 판독 레벨에 부가하여 상기 제1 메모리 셀의 임계 레벨을 판독하는 제어부를 포함하는 반도체 메모리 디바이스가 제공된다.
본 발명의 제3 양상에 따르면, 복수의 메모리 셀들이 매트릭스로 배열되어 있으며 기입 데이터를 저장하기 위한 제1 메모리 셀과 상기 제1 메모리 셀내의 데이터에 대한 에러 보정 비트를 저장하기 위한 제2 메모리 셀을 갖는 메모리 셀 어레이; 상기 제1 및 제2 메모리 셀들로부터 판독된 데이터에 기초하여 상기 제1 메 모리 셀로부터 판독된 상기 데이터의 에러를 보정하는 에러 보정부; 및 복수의 판독 레벨에서 상기 제1 및 제2 메모리 셀들로부터 데이터를 복수회 판독하여 상기 에러 보정부에 사용된 확률 데이터를 생성하는 제어부를 포함하는 메모리 시스템이 제공된다.
본 발명의 제4 양상에 따르면, 복수의 메모리 셀들 -상기 복수의 메모리 셀들 각각은 복수의 비트를 저장함- 이 매트릭스로 배열되어 있는 메모리 셀 어레이; 상기 메모리 셀 어레이내의 제1 메모리 셀; 상기 제1 메모리 셀에 인접하여 있으며 상기 제1 메모리 셀보다 나중에 기입되는 제2 메모리 셀; 상기 제1 메모리 셀의 임계 레벨을 n(n은 자연수)번의 판독 레벨에서 판독하고, 상기 제2 메모리 셀의 임계 레벨을 k번(k는 n과 동일하거나 n보다 작음)의 판독 레벨에서 또한 판독하는 제어부; 및 상기 n번의 판독 레벨에서 판독된 제1 논리 레벨의 횟수를 카운트하고, 상기 k번의 판독 레벨에서 판독된 상기 제2 메모리 셀의 임계 레벨의 변화량을 찾고, 상기 변화량에 따라 상기 카운팅의 결과를 보정하여, 상기 보정된 데이터를 판독 데이터로서 출력하는 제어기를 포함하는 메모리 시스템이 제공된다.
본 발명의 제5 양상에 따르면, 복수의 메모리 셀들 -상기 복수의 메모리 셀들 각각은 복수의 비트를 저장함- 이 매트릭스로 배열되어 있는 메모리 셀 어레이; 상기 메모리 셀 어레이내의 제1 메모리 셀; 상기 제1 메모리 셀에 인접하여 있으며 상기 제1 메모리 셀보다 나중에 기입되는 제2 메모리 셀; 상기 제1 메모리 셀과 동시에 선택되며 일정한 임계 레벨이 기입되는 제3 메모리 셀; 상기 제2 메모리 셀과 동시에 선택되며 일정한 임계 레벨이 기입되는 제4 메모리 셀; 상기 복수의 메모리 셀들로부터 판독된 데이터에 기초하여 판독 데이터의 에러를 보정하는 에러 보정부; 및 복수의 판독 레벨에서 상기 제1 메모리 셀로부터 데이터를 복수회 판독하는 것은 물론 상기 제3 메모리 셀의 임계 레벨을 판독하여 상기 에러 보정부에 사용되는 확률 데이터를 생성하고, 상기 제3 메모리 셀의 판독된 임계 레벨에 대응하는 제1 보정 레벨과 상기 제2 메모리 셀의 임계 레벨에 대응하는 제2 보정 레벨을 상기 제1 메모리 셀로부터 판독된 데이터에 부가하여 상기 보정된 데이터를 상기 확률 데이터로서 이용하는 제어부를 포함하는 메모리 시스템이 제공된다.
본 발명의 제6 양상에 따르면, 복수의 메모리 셀들 -상기 복수의 메모리 셀들 각각은 복수의 비트를 저장함- 이 매트릭스로 배열되어 있는 메모리 셀 어레이; 상기 메모리 셀 어레이내의 제1 메모리 셀; 상기 제1 메모리 셀에 인접하여 있으며 상기 제1 메모리 셀보다 나중에 기입되는 제2 메모리 셀; 상기 제1 메모리 셀의 임계 레벨을 n(n은 자연수)번의 판독 레벨에서 판독하는 것은 물론, 상기 제2 메모리 셀의 임계 레벨을 k번(k는 n과 동일하거나 n보다 작음)의 판독 레벨에서 판독함으로써, 상기 제2 메모리 셀의 임계 레벨을 찾는 제어부; 및 상기 제2 메모리 셀의 각 임계 레벨에 대해 상기 제1 메모리 셀로부터 판독된 제1 논리 레벨의 횟수를 카운트하고, 상기 카운팅의 결과에 기초하여 상기 제1 메모리 셀에 기입된 임계 레벨의 중간값(center value)을 추정하여, 상기 중간값에 따라 상기 판독 레벨을 보정하는 제어기를 포함하는 메모리 시스템이 제공된다.
이후에, 첨부 도면을 참조하여, 본 발명의 실시예들이 설명될 것이다.
도 1은, 예를 들어, 3-비트, 8 레벨의 데이터를 저장하는 NAND 플래시 메모리의 개략적 구성을 도시한다.
메모리 셀 어레이(1)는 복수의 비트 라인, 복수의 워드 라인, 및 공통 소스 라인을 포함한다. 메모리 셀 어레이(1)에서, 예를 들어, EEPROM(electrically erasable and programmable read only memory) 셀로 구성된 전기적으로 되쓰기 가능한 메모리 셀은 매트릭스 형상으로 배열된다. 비트 라인을 제어하는 비트 라인 제어 회로(2) 및 워드 라인 제어 회로(6)는 메모리 셀 어레이(1)에 접속된다.
비트 라인 제어 회로(2)는 비트 라인을 통해 메모리 셀 어레이(1)의 메모리 셀의 데이터를 판독하고, 비트 라인을 통해 메모리 셀 어레이(1)의 메모리 셀의 상태를 검출하고, 기입 제어값을 비트 라인을 통해 메모리 셀에 인가함으로써 메모리 셀 어레이(1)의 메모리 셀에 데이터를 기입한다. 컬럼 디코더(3) 및 데이터 입/출력 버퍼(4)는 비트 라인 제어 회로(2)에 접속된다. 비트 라인 제어 회로(2)내의 데이터 저장 회로는 컬럼 디코더(3)에 의해 선택된다. 데이터 저장 회로로 판독되는 메모리 셀의 데이터는 데이터 입/출력 단자(5)에서 데이터 입/출력 버퍼(4)를 통해 외부로 출력된다. 데이터 입/출력 단자(5)는 메모리 칩 외부의 제어기(11)에 접속된다. 예를 들어, 마이크로컴퓨터(microcomputer)로 구성된 제어기(11)는 데이터 입/출력 단자(5)로부터 출력된 데이터를 수신한다. 제어기(11)는 NAND 플래시 메모리, 어드레스 ADD, 및 데이터 DT의 동작을 제어하기 위한 다양한 명령들을 출력한다. 제어기(11)로부터 데이터 입/출력 단자(5)로 입력되는 기입 데이터는, 데이터 입/출력 버퍼(4)를 통해, 컬럼 디코더(3)에 의해 선택된 데이터 저장 회로 로 공급된다. 명령 및 어드레스는 제어 신호 및 제어 전압 발생기 회로(7)에 공급된다.
워드 라인 제어 회로(6)는 메모리 셀 어레이(1)에 접속된다. 워드 라인 제어 회로(6)는 메모리 셀 어레이(1)의 워드 라인을 선택하고, 선택된 워드 라인에 판독, 기입, 또는 소거 동작 시에 필요한 전압을 인가한다.
메모리 셀 어레이(1), 비트 라인 제어 회로(2), 컬럼 디코더(3), 데이터 입/출력 버퍼(4), 및 워드 라인 제어 회로(6)는 제어 신호 및 제어 전압 발생기 회로(7)에 접속되고, 제어 신호 및 제어 전압 발생기 회로(7)에 의해 제어된다. 제어 신호 및 제어 전압 발생기 회로(7)는 제어 신호 입력 단자(8)에 접속되고, 제어기(11)로부터 제어 신호 입력 단자(8)를 통해 입력된, 제어 신호 어드레스 래치 인에이블(ALE;address latch enable), 명령 래치 인에이블(CLE;command latch enable), 기입 인에이블(WE;write enable), 및 판독 인에이블(RE;read enable)에 의해 제어된다.
비트 라인 제어 회로(2), 컬럼 디코더(3), 워드 라인 제어 회로(6), 제어 신호 및 제어 전압 발생기 회로(7)는 기입 회로 및 판독 회로를 구성한다.
제어 신호 및 제어 전압 발생기 회로(7)는 판독 전압 보정 회로(7-1) 및 동적 데이터 캐시(DDC;dynamic data cache) 제어 회로(미도시됨)를 포함한다. DDC 제어 회로는, 후술되는 데이터 저장 회로에 포함된 동적 래치 회로로서 작용하는 복수의 DRAM의 리프레시(refresh) 동작을 제어하기 위한 제어 신호를 생성한다.
도 2는, 도 1에 도시된 메모리 셀 어레이(1) 및 비트 라인 제어 회로(2)의 구성을 도시한다. 도 2는, 행 방향으로 배열된 모든 셀이 동시에 기입되는 경우를 도시한다. 메모리 셀 어레이(1)에, 복수의 NAND 셀이 배치된다. NAND 셀은, 예를 들어, 직렬로 접속된 32개의 EEPROM과 선택 게이트 S1, S2로 구성된 메모리 셀 MC로 구성된다. 선택 게이트 S2는 비트 라인 BLOe에 접속되고, 선택 게이트 S1는 소스 라인 SRC에 접속된다. 각 행에 배열된 메모리 셀 MC의 제어 게이트는 워드 라인 WL0 내지 WL29, WL30, WL31에 동일하게 접속된다. 선택 게이트 S2는 선택 라인 SGD에 동일하게 접속된다. 선택 게이트 S1는 선택 라인 SGS에 동일하게 접속된다.
비트 라인 제어 회로(2)는 복수의 데이터 저장 회로(10)를 포함한다. 비트 라인 BL0, BL1, ..., BLi, BL8k-2, BL8K-1은 각 데이터 저장 회로(10)에 접속된다.
메모리 셀 어레이(1)는 점선으로 도시된 바와 같이 복수의 블록을 포함한다. 각 블록은 복수의 NAND 셀로 구성된다. 메모리 셀 어레이(1)에서, 데이터는 예를 들어, 블록에서 소거된다.
단일 워드 라인에 접속된 복수의 메모리 셀(또는 점선으로 둘러싸인 메모리 셀)은 일 섹터(sector)를 구성한다. 데이터는 섹터에 기입 또는 판독된다. 구체적으로, 데이터는 행 방향으로 배열된 모든 메모리 셀로/로부터 동시에 기입/판독된다.
판독 동작, 프로그램 검증 동작, 및 프로그램 동작시에, 데이터 저장 회로(10)에 접속된 모든 비트 라인이 선택된다. 또한, 단일 워드 라인이 외부 어드레스에 따라 선택되어, 점선으로 둘러싸인 제3 페이지가 선택된다. 제3 페이지로 의 전환은 어드레스에 의해 행해진다.
도 3a 및 3b는 각각 메모리 셀 및 선택 트랜지스터의 단면도를 도시한다. 도 3a는 메모리 셀을 도시한다. 기판(51)(또는 후술될 p-웰 영역(55))에서, 메모리 셀의 소스 및 드레인으로서 작용하는 n-형 확산층(42)이 형성된다. p-웰 영역(55) 위에, 부동 게이트(FG;44)가 게이트 절연막(43)을 통해 형성된다. 부동 게이트(44) 위에, 제어 게이트(CG)가 절연막(45)을 통해 형성된다. 도 3b는 선택 게이트를 도시한다. p-웰 영역(55)에서, 소스 및 드레인으로서 작용하는 n-형 확산층(47)이 형성된다. p-웰 영역(55) 위에, 제어 게이트(49)가 게이트 절연막(48)을 통해 형성된다.
도 4는 제1 실시예에 따른 반도체 메모리 디바이스의 단면도이다. 예를 들어, p-형 반도체 기판(51)내에, n-웰 영역(52, 53, 54) 및 p-웰 영역(56)이 형성된다. n-웰 영역(52)내에, p-웰 영역(55)이 형성된다. p-웰 영역(55)내에, 메모리 셀 어레이(1)를 구성하는 저전압 n-채널 트랜지스터 LVNTr가 형성된다. n-웰 영역(53) 및 p-웰 영역(56)내에, 데이터 저장 회로(10)를 구성하는 저전압 p-채널 트랜지스터 LVPTr 및 저전압 n-채널 트랜지스터 LVNTr가 각각 형성된다. 기판(51)내에, 비트 라인 및 데이터 저장 회로(10)에 접속된 고전압 n-채널 트랜지스터 HVNTr가 형성된다. n-웰 영역(54)내에, 예를 들어, 워드 라인 구동 회로 등을 구성하는 고전압 p-채널 트랜지스터 HVPTr가 형성된다. 도 4에 도시된 바와 같이, 고전압 트랜지스터 HVNTr, HVPTr는, 예를 들어, 저전압 트랜지스터 LVNTr, LVPTr의 게이트 절연막보다 두꺼운 게이트 절연막을 갖는다. 도 1의 주변 회로(2 내지 8)도 저전 압 트랜지스터 LVNTr, LVPTr, 및 고전압 트랜지스터 HVNTr, HVPTr로 구성된다.
도 5는, 메모리 셀의 소거, 프로그래밍, 및 판독 시의, 도 4의 다양한 영역에 공급되는 전압의 예를 열거하는 표이다.
(제1 실시예)
도 6에 도시된 바와 같이, 본 발명의 제1 실시예에서 데이터가 셀(MC11)로부터 판독될 때, 셀(MC11)보다 늦게 기입된 셀(MC12)에서의 데이터 임계 전압(임계 레벨로도 칭해짐)이 우선 체크되고, 그 임계 레벨에 대응하는 판독 레벨에서 셀(MC11)로부터 판독된 값을 셀(MC11)로부터의 판독 데이터라고 판정한다.
도 7의 (a)에 도시된 바와 같이, 제1 데이터가 셀(MC11)에 기입된다. 그 후, 도 7의 (b)에 도시된 바와 같이, 인접 셀(MC12)이 기입되기 전에, 즉, 인접 셀이 소거 레벨에 있을 때, 판독 레벨(AR, BR, CR)에서 판독된 데이터가 셀(MC11)로부터의 판독 데이터이다.
또한, 도 7의 (c)에 도시된 바와 같이, 예를 들면, 소거 레벨 E로부터 레벨 A로 인접 셀이 기입된다면, 플로팅 게이트 간 커패시턴스 때문에 임계 레벨이 변동하게 된다. 이러한 이유로, 판독 레벨(AR, BR, CT)에 시프트 값(DA1, DB1, DC1)을 각각 더하여 레벨(AR+DA1, BR+DB1, CR+DC1)을 생성한다. 다음에, 레벨(AR+DA1, BR+DB1, CR+DC1)에서 판독된 값을 판독 데이터로 결정한다.
또한, 도 7의 (d)에 도시된 바와 같이, 예를 들면, 소거 레벨 E로부터 B 레벨로 인접 셀이 기입되었을 때, 판독 레벨(AR, BR, CR)에 시프트 값(DA2, DB2, DC2)을 각각 더하여 레벨(AR+DA2, BR+DB2, CR+DC2)을 생성한다. 다음에, 레 벨(AR+DA2, BR+DB2, CR+DC2)에서 판독된 값을 판독 데이터로 결정한다.
또한, 도 7의 (e)에 도시된 바와 같이, 예를 들면, 소거 레벨 E로부터 C 레벨로 인접 셀이 기입될 때, 판독 레벨(AR, BR, CR)에 시프트 값(DA3, DB3, DC3)을 각각 더하여 레벨(AR+DA3, BR+DB3, CR+DC3)을 생성한다. 다음에, 레벨(AR+DA3, BR+DB3, CR+DC3)에서 판독된 값을 판독 데이터로 결정한다.
DA1, DB1 및 DC1이 거의 동일한 값을 갖기 때문에, 하나의 레벨(D1)만이 파라미터로서 유지된다. 유사하게, DA2, DB2 및 DC2에 대하여, D2만이 파라미터로서 유지된다. DA3, DB3 및 DC3에 대하여, D3만이 파라미터로서 유지된다. 인접 셀의 소거 레벨이 -1V이면, A 레벨은 0.5V(A 레벨=0.5V)이고, B 레벨은 1.7V(B 레벨=1.7V)이며, C 레벨은 3V(C 레벨=3V)이고, D1, D2 및 D3는 인접 셀의 변화에 대략적으로 비례한다. 따라서, D1=0.5-(-1)=1.5, D2=1.7-(-1)=2.7 및 D3=3-(-1)=4이 된다. 그 비율은 D1:D2:D3=1:1.8:2.7이 된다.
도 8은, 예를 들면, 인접 셀(MC12)이 소거 레벨 E로부터 C 레벨로 변경될 때, 셀(MC11)의 임계 레벨에서의 변화를 실제로 측정하여 얻은 값을 도시한다. 도 8로부터 알 수 있는 바와 같이, 임계 레벨은 각 샘플에서 워드 라인(WL)의 위치에 따라 변한다.
도 9는 제1 실시예에 따른 판독 전압 보정 회로(7-1)의 구성을 도시한다. 판독 전압 보정 회로(7-1)는, 예를 들면, 도 1의 제어 신호 및 제어 전압 발생기 회로(7)에 제공된다. 판독 전압 보정 회로(7-1)는 시프트 값 저장 회로(71, 72, 73), 판독 레벨 저장 회로(74), 및 선택 회로(75)를 포함한다. 예를 들면, 칩 다 이(chip die) 분류 검사시에, 판독 전압 보정 회로(7-1)는 도 7의 (c), (d) 및 (e)에 도시된 개별 시프트 값(DA1, DB1, DC1 및 DA2, DB2, DC2 및 DA3, DB3, DC3)을 트리밍(trimming)한다. 트리밍된 시프트 값은 시프트 값 저장 회로(71, 72, 73)에 각각 저장된다. 시프트 값 저장 회로(71, 72, 73)에 저장된 시프트 값은 대응하는 판독에 따라 선택 회로(75)로 판독된다. 가산기(76)는 선택 회로(75)에 의해 선택된 시프트 값을 판독 레벨 저장 회로(74)로부터 판독된 판독 레벨에 부가한다. 제어 신호 및 제어 전압 발생기 회로(7)는 가산기(76)로부터 공급된 판독 레벨에 기초하여 판독 전압을 생성한다.
여기에서, 워드 라인 WL1 내지 워드 라인 WL29이 하나의 파라미터로서 설정된다. 트리밍 시에, 예를 들면, 도 6에 도시된 셀(MC11)이 A 레벨, B 레벨 또는 C 레벨로 기입된 후에, 인접 셀(MC12)의 임계 레벨이 소거 레벨 E로부터 C 레벨로 기입된다. 그 후에, A, B 또는 C 판독 레벨이 점차 변경되고 셀이 온(on)될 때의 값이 시프트 값으로 판정된다. NAND 플래시 메모리의 경우에, 워드 라인에 접속된 셀 모두 동시에 판독되기 때문에, 복수의 셀로부터 동시에 판독된 값의 평균을 취하는 것이 가능하다.
또한, 워드 라인에 접속된 셀의 절반이 한번에 판독되는 NAND 플래시 메모리의 경우에, 셀의 절반으로부터 한번에 판독된 임계 레벨의 평균을 얻는 것이 가능하다.
또한, D1, D2, 및 D3 각각을 트리밍하는 대신, 그들 중 하나를 트리밍할 수 있고, 나머지는 관계식 D1:D2:D3=1:1.8:2.7로부터 찾을 수 있다. 이러한 방식으로 찾아진 시프트 값이 시프트 값 저장 회로(71, 72, 73) 각각에 저장된다.
시프트 값 저장 회로는 비휘발성 기억 소자로 구성될 수 있다. 대안으로, 메모리 셀 어레이의 메모리 셀에 데이터가 저장될 수 있고, 전원이 턴 온될 때, 메모리 셀로부터 데이터가 판독되어 시프트 저장 회로의 레지스터에 저장될 수 있다.
도 10은, 예를 들면, 워드 라인(WLn)에 접속된 메모리 셀을 판독하는 동작을설명하는데 도움을 주는 순서도이다. 워드 라인(WLn)이 선택될 때, 우선 워드 라인(WLn+1)에 접속된 메모리 셀이 판독 레벨(AR, BR 및 CR)에서 순차적으로 판독되고, 어느 레벨이 임계 레벨인지 판정된다(S11). 그 후, 워드 라인(WLn)에 접속된 메모리 셀이 판독 레벨(AR, BR 및 CR)에서 순차적으로 판독되고, 어느 레벨이 임계 레벨인지가 판정된다(S12). 그 후, 워드 라인(WLn)에 접속된 메모리 셀이 판독 레벨(AR+DA1, BR+DB1 및 CR+DC1)에서 순차적으로 판독되고 어느 레벨이 임계 레벨인지가 판정된다(S13). 다음에, 워드 라인(WLn)에 접속된 메모리 셀이 판독 레벨(AR+DA2, BR+DB2 및 CR+DC2)에서 순차적으로 판독되고 어느 레벨이 임계 레벨인지가 판정된다(S14). 그 후, 워드 라인(WLn)에 접속된 메모리 셀이 판독 레벨(AR+DA3, BR+DB3 및 CR+DC3)에서 순차적으로 판독되고 어느 레벨이 임계 레벨인지가 판정된다(S15).
이 방식에서, 워드 라인(WLn+1)에 접속된 메모리 셀의 임계 레벨이 판독된다. 임계 레벨에 따라 보정값이 부가되고, 워드 라인(WLn)에 접속된 메모리 셀의 임계 레벨이 판독된다. 판독 결과로부터, 적절한 레벨에서 판독된 데이터가 선택되고, 판독 결과로 판정된다. 따라서, 인접 셀의 기입에 기인한 임계 레벨의 변동 을 억압하면서, 메모리 셀의 데이터를 정확하게 판독할 수 있게 된다.
제1 실시예에서, 임계 레벨의 시프트 값은 각 칩에 대하여 워드 라인별로 찾아진다. 그 시프트 값을 사용하여, 판독 레벨을 보정하고 메모리 셀의 데이터를 판독한다. 결과적으로, 인접 셀의 임계 레벨의 변화량이 각각의 워드 라인에 대하여 그리고 각각의 칩에 대하여 인접 메모리 셀의 플로팅 게이트(FG-FG) 간 커패시턴스에 따라 상이하더라도, 메모리 셀의 임계 레벨을 정확하게 판독할 수 있다.
제1 실시예에서, 시프트 값은 각각의 칩에 대하여 워드 라인별로 트리밍되었고, 그 결과 값이 보정값으로 설정되었다. 본 발명은 이에 한정되는 것은 아니다. 예를 들면, 칩 별로 시프트 값을 트리밍하여 단일 시프트 값을 결정할 수 있고, 이 단일 시프트 값에 따라 보정할 수도 있다.
또한, 각각의 워드 라인에 대한 시프트 값의 변화가 작을 때, 워드 라인별로 트리밍하는 것은 불필요하다.
또한, 각각의 칩에 대한 시프트 값의 변화가 작을 때, 각 칩에 대한 트리밍 없이 하나의 워드 라인으로부터 다른 워드 라인으로 상이한 고정 시프트 값을 칩에 설정할 수도 있다.
(제2 실시예)
도 11은 본 발명의 제2 실시예를 도시한다. 제1 실시예에서, 시프트 값(D1, D2 및 D3)은 각 칩에 대하여 워드 라인별로 트리밍되었고, 이들 시프트 값(D1, D2 및 D3)이 파라미터로서 저장 회로(71, 72 및 73)에 저장되었다. 이와는 대조적으로, 제2 실시예에서는, 메모리 셀 어레이(1)에 모니터 셀(monitor cell)이 제공되 고, 모니터 레벨이 모니터 셀에 설정되며, 모니터 레벨에 따라 개별 메모리 셀의 판독 레벨이 판정된다.
특히, 도 11에 도시된 바와 같이, 메모리 셀 어레이(1)는, 예를 들면, 복수의 모니터 셀(MMC0)을 포함한다. 모니터 셀(MMC0)은, 예를 들면, 비트 라인(BL-M0)에 접속된다. 비트 라인(BL-M0)은 데이터 저장 회로(10)의 각각에 접속되고, 비트 라인(BL-M0)에는 모니터 셀 어드레스(YA-M0)가 제공된다. 모니터 셀(MMC0)은 어드레스(YA-M0)와 행(row) 어드레스에 의해 선택된다. 즉, 모니터 셀(MMC0)은, 그 모니터 셀(MMC0)과 워드 라인을 공유하는 메모리 셀이 선택될 때 동시에 선택된다. A 레벨, B 레벨 또는 C 레벨 중, 예를 들면, C 레벨이 모니터 셀(MMC0)에 항상 기입된다. 워드 라인에 접속된 모니터 셀의 수가 1로 한정되는 것은 아니다. 도 11에 파선으로 도시한 MMC1 및 MMC2와 같이, 예를 들면, 또 다른 두 개 이상의 모니터 셀이 단일 워드 라인에 부가될 수 있고, 세 개 이상의 모니터 셀로부터 판독된 레벨 중 하나의 레벨을 다수에 의해 결정할 수 있다.
상기 구성을 갖고, 도 6, 도 7 및 도 12를 참조하여 동작을 설명한다. 도 6은 하나의 모니터 셀이 하나의 워드 라인에 접속된 경우를 도시한다. 우선, 예를 들면, 도 6의 셀(MC11)에 데이터가 기입될 때, 예를 들면, 셀(MC11)과 함께 선택된 모니터 셀(MMC11)에 C 레벨이 기입된다(S21). 다음에, 셀(MC11)이 기입된 후에, 셀(MC12)이 기입되기 전에 셀(MC11)이 판독될 때, 셀(MC12)이 기입될 때 동시에 기입된 모니터 셀(MMC11)의 임계 레벨이 체크된다(S22). 이 때, 셀(MC12)과 함께 선택된 모니터 셀(MMC12)은 기입되지 않는다. 이러한 이유로, 모니터 셀(MMC11) 이 FG와 FG 간 커플링에 의해 영향을 받지 않기 때문에, 모니터 셀(MMC11)의 임계 레벨이 변동되지 않는다. 따라서, 셀(MC11)이 판독 레벨(AR, BR 및 CR)에서 판독된다. 셀(MC12)이 기입될 때, 셀(MC12)과 함께 선택된 모니터 셀(MMC12)에는 C 레벨이 기입된다(S23). 그 후, 셀(MC11)이 판독될 때, 우선 셀(MC11)이 기입되는 때와 동시에 모니터 셀(MMC11)의 임계 레벨이 기입된다. 셀(MC12)과 함께 선택된 모니터 셀(MMC12)이 기입되었기 때문에, 모니터 셀(MMC11)의 임계 레벨은 FG와 FG 간의 커플링 영향으로 인해 변동되었다. 따라서, 시프트 값은 모니터 셀(MMC11)의 임계 레벨에서의 변동을 검출함으로써 결정된다.
구체적으로, 도 7의 (a) 및 (f)에 도시된 바와 같이, 메모리 셀(MC12)과 모니터 셀(MMC12) 어느 것도 기입되지 않았기 때문에, 메모리 셀(MC11)과 함께 선택된 모니터 셀(MMC11)은 도 7의 (b)에 도시된 바와 같은 C 레벨 임계 분포를 갖는다. 이러한 이유로, 레벨 CR+x에서 판독이 행해지면, 모니터 셀(MMC11)이 온된다. 이로부터, 메모리 셀(MC12)과 모니터 셀(MMC12) 어느 것도 기입되지 않았다는 것을 알 수 있다. 메모리 셀(MC11)로부터 판독된 데이터는 AR, BR 및 CR에서 판독된 데이터이다.
한편, 메모리 셀(MC12)과 모니터 셀(MMC12)이 기입되었을 때, 메모리 셀(MC11)과 함께 선택된 모니터 셀(MMC11)은 도 7의 (g)에 도시된 C 레벨 임계 분포를 갖는다. 이러한 이유로, 레벨 CR+x에서 판독이 행해지면, 모니터 셀(MMC11)이 오프(off)된다. 따라서, CR+x로부터 α만큼 상승한 "CR+x+α" 레벨에서 판독이 행해지면, 모니터 셀(MMC11)은 온된다. 이로부터, 메모리 셀(MC12)과 모니터 셀(MMC12)이 기입되었다는 것을 알 수 있다. 따라서, 메모리 셀(MC11) 판독시에, 보정값 "α"(DA3, DB3, DC3)를 AR, BR, CR에 부가함으로써 얻어진 레벨에서의 판독 결과로부터 MC12의 데이터에 따라 적절한 데이터가 선택된다. 따라서, "α"를 결정함으로써 각 칩에 대하여 워드 라인 간에 서로 다른 시프트 값을 검출하는 것이 가능하게 된다.
도 13은 제2 실시예의 판독 동작을 도시한다. 메모리 셀(MC11)의 시프트 값을 검출하기 위해, 우선 모니터 셀(MMC11)의 임계 레벨이 판독 레벨 "CR+x"에서 판독된다(S24). 그 다음, 모니터 셀(MMC11)이 턴 온되었는지가 판정된다(S25). 모니터 셀(MMC11)이 턴 온되지 않았다면, 즉, 판독 레벨이 모니터 셀(MMC11)의 임계 레벨보다 낮으면, 판독 레벨 "x"이, 예를 들면, "α"만큼 증가되고(S26), 판독이 다시 행해진다. 모니터 셀(MMC11)의 판독 동작이 그러한 방식으로 실행되고 모니터 셀(MMC11)이 턴 온될 때, 도 7의 (e)의 시프트 값 DC3이 검출될 수 있다. 구체적으로, C 레벨이 기입된 모니터 셀(MMC12)에 인접한 모니터 셀(MMC11)에도 C 레벨이 기입되기 때문에, 시프트 값 DA3, DB3 및 DC3 = D3으로 알려진다. 여기에서, DA3=DB3=DC3이라고 가정한다. D2 및 D1의 값은 관계식 D1:D2:D3=1:1.8:2.7로부터 결정될 수 있다(S27).
다음에, 제1 실시예에서와 같은 동일한 동작이 수행된다. 구체적으로, 셀(MC12)(워드 라인(WLn+1)에 접속된 셀)의 레벨이 소거 레벨 E로부터 레벨 E(임계값이 변하지 않음), A 레벨, B 레벨 또는 C 레벨로 변경되었는지 여부를 판정한다(S11). 그 후, 셀(MC11)(워드 라인(WLn)에 접속된 메모리 셀)이 판독 레벨(AR, BR, CR)에서 순차적으로 판독되고, 어느 레벨이 임계 레벨인지 판정된다(S12). 그 후, 워드 라인(WLn)에 접속된 메모리 셀(MC11)이 판독 레벨(AR+DA1, BR+DB1, CR+DC1)에서 순차적으로 판독되고 어느 레벨이 임계 레벨인지 판정된다(S13). 다음에, 워드 라인(WLn)에 접속된 메모리 셀(MC11)이 판독 레벨(AR+DA2, BR+DB2, CR+DC2)에서 순차적으로 판독되고, 어느 레벨이 임계 레벨인지 판정된다(S14). 또한, 워드 라인(WLn)에 접속된 메모리 셀(MC11)이 판독 레벨(AR+DA3, BR+DB3, CR+DC3)에서 순차적으로 판독되고, 어느 레벨이 임계 레벨인지 판정된다(S15). 이 방식에서, 워드 라인(WLn+1)에 접속된 메모리 셀의 임계 레벨이 판독되고, 그 임계 레벨에 따라 보정값이 부가되며, 워드 라인(WLn)에 접속된 메모리 셀의 임계 레벨이 판독된다. 그 판독 결과로부터, 적절한 레벨에서 판독된 데이터를 선택하여, 판독 결과로 판정한다. 이와 같이 함으로써, 인접 셀의 기입에 기인한 임계 레벨의 변동을 억압하면서, 메모리 셀의 데이터를 정확하게 판독할 수 있다.
제2 실시예에서, 모니터 셀(MMC)은 메모리 셀 어레이(1)에 제공된다. 임계 레벨 A, B, C 중 하나가 모니터 셀(MMC)에 항상 기입되고 임계 레벨이 임의의 메모리 셀로부터 판독될 때, 시프트 값 D3은 메모리 셀과 함께 선택된 모니터 셀(MMC)의 임계 레벨의 변화량으로부터 검출되고, 다른 관련 시프트 값 D1, D2은 상기 시프트 값으로부터 계산되며, 이들 시프트 값 D1, D2, D3이 판독 레벨에 부가됨으로써, 판독될 메모리 셀로부터의 임계 레벨을 판독한다. 이러한 이유로, 임의의 셀에 데이터가 기입되어 인접 셀 간 커플링의 영향을 억압할 때, 종래에 필요한 다음의 기입 동작, 즉, 임의의 셀이 오리지날 임계 레벨보다 작은 레벨로 기입된 다음, 그 셀 주위의 인접 셀이 기입되고, 그 후 오리지날 셀에 오리지날 임계 레벨까지 데이터가 기입되는 동작이 수행될 필요가 없다. 결과적으로, 기입 속도가 더 빠르게 될 수 있다.
또한, 워드 라인 WL에 접속된 메모리 셀의 데이터가 판독될 때, 먼저 칩 간 또는 워드 라인 간에 변경되는 인접 셀 간 커플링의 영향에 대한 보정값을 모니터 셀을 사용하여 결정한다. 다음에, 워드 라인(WL)보다 후에 선택되는 워드 라인(WLn+1)에 접속된 메모리 셀의 임계 레벨이 판독된다. 판독 임계 레벨 및 워드 라인(WLn)에 접속된 메모리 셀의 임계 레벨에 따라 이전에 결정된 보정값이 판독된다. 이 판독 결과로부터, 적절한 레벨에서 판독된 데이터가 선택되어 판독 결과로 결정된다. 이러한 이유로, 제1 실시예와는 다르게 워드 라인별로 시프트 값을 미리 트리밍할 필요가 없게 된다. 따라서, 시험 단계가 간단해 질 수 있다. 다수에 의한 결정을 위해 복수의 모니터 셀이 마련될 수 있다.
제2 실시예에서, 행 방향으로 배열된 모든 셀이 일제히 기입되었지만, 본 발명은 이에 한정되는 것은 아니다. 예를 들면, 본 발명은 행 방향으로 배열된 셀의 절반이 일제히 기입된 경우에도 적용가능하다.
더욱이, 제2 실시예에서, 본 발명은 4 레벨 (2 비트) 데이터, 8 레벨 (3 비트) 데이터, 또는 16 레벨 (4 비트) 데이터가 저장되는 경우에도 적용할 수 있다.
(제3 실시예)
도 14 내지 17은 본 발명의 제3 실시예를 도시한다.
상술한 바와 같이, NAND 플래시 메모리에서 데이터의 2KB(B:byte)는 행 방향 으로 배열된 셀의 전부 또는 절반에/으로부터 동시에 기입/판독된다. 이미 기입된 셀의 임계 레벨이 잘못된 기입의 영향 또는 인접 셀의 기입으로 인하여 변하는 경우, 판독된 데이터의 정확성은 떨어질 수 있다. 데이터의 정확성을 높이기 위하여, 예를 들어 64-B ECC(에러 보정 코드) 코드가 2-KB 데이터에 부가되어, 기입 또는 판독되는 (2KB+64B)의 데이터를 생성한다.
이런 이유 때문에, 예를 들어 ECC 회로(11-1)가 제어기(11)에 제공된다. ECC 회로(11-1)는 부정확한 데이터가 메모리 셀로부터 판독되는 경우에는 에러를 보정하고, 정확한 데이터를 출력하도록 설계된다. ECC 회로(11-1)는 제어기(11)뿐만 아니라 예를 들어 NAND 플래시 메모리에도 제공될 수 있다.
ECC 코드, 예를 들어 4 내지 8 비트를 보정하는 데 이용되는 BCH 코드 또는 4 내지 8 심볼(symbol)을 보정하는 데 이용되는 리드-솔로몬(Reed-Solomon) 코드가 이용된다. 더욱이, 100 비트 이상을 보정하기 위한 BCH 코드 또는 100 심볼 이상을 보정하기 위한 리드-솔로몬 코드가 이용될 수도 있다. 그러나 그와 같은 코드를 이용하여 100 비트 또는 100 심볼을 보정하는 경우, 데이터에 부가되는 ECC 코드의 수가 증가한다는 문제점이 발생한다. 이 문제점을 방지하기 위하여, ECC 코드의 수 증가를 억제하고, 강력한 보정 능력이 있는 저 밀도 패리티 체크(LDPC;Low Density Parity Check) 코드가 요즘에는 흔히 이용된다.
다른 코드와 마찬가지로, LDPC 코드는 ECC 코드를 예를 들어 16-KB 데이터에 부가하고, 그 결과 데이터를 메모리 셀에 기입함으로써 인코딩된다. 즉, 제어기(11)의 ECC 회로(11-1)는 인코더 및 디코더(둘 다 도시하지 않음)를 포함한다. 인코더는 ECC 코드를 예를 들어 16-KB 데이터에 대한 체크 비트로서 부가한다. ECC 코드가 부가된 데이터는 메모리 셀 어레이(1)의 각 페이지에 기입된다. 그러므로 데이터의 페이지는 기입 데이터 및 체크 비트로 구성된다. 디코더는 메모리 셀로부터 판독된 체크 비트 데이터를 확률값으로서 이용하고, 그 확률값에 기초하여 메모리 셀로부터 판독된 데이터를 보정한다. 즉, 확률값에 기초하여, 디코더는 메모리 셀로부터 판독된 부정확한 데이터를 보정하고, 정확한 데이터를 출력한다. 상술한 바와 같이, LDPC 코드의 경우, 판독된 데이터가 "1"이면, 그 판독된 데이터가 "1"이 되는 확률값이 또한 필요하다.
도 14 내지 17은 16 레벨 (4 비트) 데이터를 저장하는 NAND 플래시 메모리의 메모리 셀에 기입되는 데이터의 배치를 도시한다. 데이터는 도 14, 도 15, 도 16 및 도 17의 순서로 배치된다. 어드레스에 의해 선택되는 하위(lower) 페이지, 중상위(upper) 페이지, 상위(higher) 페이지 및 최상위(top) 페이지에 의해 4 비트가 구별된다. 도 14 내지 17에서 파선 0 내지 64는 판독 레벨을 나타낸다.
정상적인 판독 동작 시, 임계치 분포 간의 경계에 있는 판독 레벨에서 판독이 이루어진다. 예를 들어, 도 14의 하위 페이지에서 메모리 셀의 임계 레벨은 도 26에 있는 판독 레벨(29)에서 판독되고, 메모리 셀의 임계 레벨이 H 레벨 이상인지 또는 H 레벨보다 낮은지 여부가 판정된다. 임계 레벨이 H 레벨 이상인 경우, 메모리 셀은 오프가 되어 "H"(데이터 "0")가 된다. 임계 레벨이 H 레벨보다 낮은 경우, 메모리 셀은 온이 되어 "L"(데이터 "1")이 된다.
도 14의 중상위 페이지에서 메모리 셀의 임계 레벨은, 도 15에 있는 판독 레 벨(13) 및 도 17에 있는 판독 레벨(15)에서 판독되고, 메모리 셀의 임계 레벨이 D 레벨 이상인지 또는 D 레벨보다 낮은지 그리고 L 레벨 이상인지 또는 L 레벨보다 낮은지 여부, 즉 2개의 판독 동작에 의해 판정된다. 판독된 임계 레벨이 D 레벨 이상이고 L 레벨보다 낮은 경우, 그 결과는 "H"(데이터 "0")가 된다. 임계 레벨이 D 레벨보다 낮고 또는 L 레벨 이상인 경우, 그 결과는 "L"(데이터 "1")이 된다.
도 14의 상위 페이지에서 메모리 셀의 임계 레벨은, 도 14에 있는 판독 레벨(5), 도 15에 있는 판독 레벨(21), 도 16에 있는 판독 레벨(37) 및 도 17에 있는 판독 레벨(53)에서 판독되고, 메모리 셀의 임계 레벨이 B 레벨 이상인지 또는 B 레벨보다 낮은지, F 레벨 이상인지 또는 F 레벨보다 낮은지, J 레벨 이상인지 또는 J 레벨보다 낮은지, 그리고 N 레벨 이상인지 또는 N 레벨보다 낮은지 여부, 즉 4개의 판독 동작에 의해 판정된다. 판독된 임계 레벨이 B 레벨 이상이고 F 레벨보다 낮거나, 또는 J 레벨 이상이고 N 레벨보다 낮은 경우, 그 결과는 "H"(데이터 "0")가 된다. 임계 레벨이 B 레벨보다 낮거나, F 레벨 이상이거나 J 레벨보다 낮거나, 또는 N 레벨 이상인 경우, 그 결과는 "L"(데이터 "1")이 된다.
도 14의 최상위 페이지에서, 메모리 셀의 임계 레벨은, 도 14에 있는 판독 레벨(1) 및 판독 레벨(9), 도 15에 있는 판독 레벨(17) 및 판독 레벨(25), 도 16에 있는 판독 레벨(33) 및 판독 레벨(41), 그리고 도 17에 있는 판독 레벨(49) 및 판독 레벨(57), 즉 8개의 판독 레벨에서 판독되고, 메모리 셀의 임계 레벨이 A 레벨 이상인지 또는 A 레벨보다 낮은지, C 레벨 이상인지 또는 C 레벨보다 낮은지, E 레벨 이상인지 또는 E 레벨보다 낮은지, G 레벨 이상인지 또는 G 레벨보다 낮은지, I 레벨 이상인지 또는 I 레벨보다 낮은지, K 레벨 이상인지 또는 K 레벨보다 낮은지, M 레벨 이상인지 또는 M 레벨보다 낮은지, O 레벨 이상인지 또는 O 레벨보다 낮은지 여부, 즉, 8개 판독 동작에 의해 판정된다. 판독된 임계 레벨이 A 레벨 이상이고 C 레벨보다 낮거나, E 레벨 이상이고 G 레벨보다 낮거나, I 레벨 이상이고 K 레레보다 낮거나, N 레벨 이상이고 O 레벨보다 낮은 경우, 그 결과는 "H"(데이터 "0")가 된다. 임계 레벨이 A 레벨보다 낮거나, C 레벨 이상이거나 E 레벨보다 낮거나, G 레벨 이상이거나 I 레벨보다 낮거나, K 레벨 이상이거나 N 레벨보다 낮거나, O 레벨 이상인 경우, 그 결과는 "L"(데이터 "1")이 된다.
한편, LDPC 코드의 경우, 상술한 바와 같이 판독되는 데이터의 각 아이템(item)에 대한 확률값이 필요하다. 이런 이유 때문에, 정상적으로는 16 레벨 데이터가 15 레벨로 구별된다. 예를 들어, 각 레벨, 각 레벨 아래의 한 레벨 그리고 각 레벨 위의 2개 레벨, 총 4개 레벨이 판독된다. 구체적으로, 하위 페이지가 판독되는 경우, 임계 레벨은 판독 레벨 28, 29, 30 및 31, 또는 도 15 및 16에 화살표로 도시한 바와 같은 4개 판독 레벨에서 판독되고, 4개 판독 레벨에 따라 판독된 "H"의 수가 카운트된다. 확률값은 카운트된 수로부터 결정된다. 구체적으로, 도 14 내지 17에서 다음의 홀드(hold)를 가정한다.
"H"(데이터 "0")의 수가 4인 경우,
"H"(데이터 "0")의 확률은 100%(4/4)이다.
"H"(데이터 "0")의 수가 3인 경우,
"H"(데이터 "0")의 확률은 75%(3/4)이다.
"H"(데이터 "0")의 수가 2인 경우,
"H"(데이터 "0")의 확률은 50%(2/4)이다.
"H"(데이터 "0")의 수가 1인 경우,
"H"(데이터 "0")의 확률은 25%(1/4)이다.
중상위 페이지, 상위 페이지 및 최상위 페이지에 대해서도 동일한 홀드가 적용된다. 구체적으로, 도 14 내지 17에서 임계 레벨은 화살표로 도시한 4개의 판독 레벨를 이용하여 판독되고, "H"의 수가 카운트된다. 확률값은 카운트된 수로부터 결정된다. 데이터의 판독된 한 페이지는 확률값을 만든다. 한 페이지에 대해 결정된 확률값에 기초하여, ECC 회로(11-1)는 LDPC 코드를 처리하고, 부정확한 데이터를 보정한다.
도 18은 판독 시퀀스를 도시한다. 하위 페이지, 중상위 페이지, 상위 페이지 및 최상위 페이지는 동일한 시퀀스를 이용한다. 각 페이지에 대한 각 판독 레벨에 관하여, 판독 레벨 바로 아래 레벨, 판독 레벨, 판독 레벨 바로 위 레벨 및 판독 레벨보다 2 레벨 높은 레벨에서, 즉 4번(S31, S32, S33, S34) 판독된다. 즉, 데이터의 한 아이템을 판독하기 위하여, 워드 라인의 전위가 4번 변한다. 각 판독 레벨, 판독 레벨 바로 아래 레벨, 판독 레벨 바로 위 레벨 및 판독 레벨보다 2 레벨 높은 레벨은 예를 들어 후술하는 바와 같은 임계 레벨의 범위를 4등분 함으로써 설정된다. 이러한 판독 레벨을 이용하여 NAND 플래시 메모리의 셀로부터 판독된 데이터는 도 2의 데이터 저장 회로(10)에 저장된다. 그 데이터는 데이터 저장 회로(10)로부터 도 1에 도시한 데이터 입/출력 버퍼(4) 및 데이터 입/출력 단자(5)를 통해 ECC 회로(11-1)에 전송된다(S35, S36). 데이터 저장 회로(10)가 데이터를 제어기(11)에 전송하는 동안, 그 다음 데이터가 메모리 셀로부터 판독되어 데이터 저장 회로(10)에 저장된다. 제어기(11)에 전송된 데이터는 LDPC-코드 ECC 회로(11-2)에서 에러 보정 처리된다(S37). 에러 보정된 데이터가 제어기(11)로부터 출력된다(S38). ECC 회로(11-2)의 보정 프로세스가 본 실시예에 필수적인 것은 아니므로, 구체적인 설명은 생략한다.
도 19a는 하위 페이지에 대한 판독 시퀀스를 도시한다. 상술한 바와 같이, H 레벨의 경우, 데이터는 판독 레벨 28, 29, 30 및 31에서 판독된다(S40).
도 19b는 중상위 페이지에 대한 판독 시퀀스를 도시한다. L 레벨이 경우, 데이터는 판독 레벨 44, 45, 46 및 47에서 판독된다(S41). D 레벨의 경우, 데이터는 판독 레벨 12, 13, 14 및 15에서 판독된다(S42).
도 19c는 상위 페이지에 대한 판독 시퀀스를 도시한다. N 레벨의 경우, 데이터는 판독 레벨 52, 53, 54 및 55에서 판독된다(S43). J 레벨의 경우, 데이터는 판독 레벨 36, 37, 38 및 39에서 판독된다(S44). 또한, F 레벨의 경우, 데이터는 판독 레벨 20, 21, 22 및 23에서 판독된다(S45). B 레벨의 경우, 데이터는 판독 레벨 4, 5, 6 및 7에서 판독된다(S46).
도 20은 최상위 페이지에 대한 판독 시퀀스를 도시한다. O 레벨의 경우, 데이터는 판독 레벨 56, 57, 58 및 59에서 판독된다(S47). M 레벨의 경우, 데이터는 판독 레벨 48, 49, 50 및 51에서 판독된다(S48). 또한, K 레벨의 경우, 데이터는 판독 레벨 40, 41, 42 및 43에서 판독된다(S49). I 레벨의 경우, 데이터는 판독 레벨 32, 33, 34 및 35에서 판독된다(S50). 또한, G 레벨의 경우, 데이터는 판독 레벨 24, 25, 26 및 27에서 판독된다(S51). E 레벨의 경우, 데이터는 판독 레벨 16, 17, 18 및 19에서 판독된다(S52). 또한, C 레벨의 경우, 데이터는 판독 레벨 8, 9, 10 및 11에서 판독된다(S53). A 레벨의 경우, 데이터는 판독 레벨 0, 1, 2 및 3에서 판독된다(S54).
ECC 회로(11-2)가 에러 보정 프로세스를 실행하는 동안, 데이터는 메모리 셀로부터 판독되어 데이터 저장 회로(10)로부터 ECC 회로(11-1)에 전송될 수도 있다.
도 14 내지 17에서 Z 레벨은 -1.6V에 있고, O 레벨은 4V에 있는 경우, 각 분포 레벨은 다음과 같다: (4V - (-1.6V))/15 = 5.6/15 = 약 0.37V. LDPC 코드가 이용되는 경우, 4개의 판독 레벨이 이 예에서처럼 한 레벨에 제공되면, 한 판독 레벨과 또 다른 판독 레벨 간의 전압 차는 0.37V/4 = 약 0.0925V이다. 레벨이 높을수록, 데이터 보유는 나빠진다. 그러므로, 레벨 간격은 레벨이 높아질수록 점진적으로 증가하는 것이 바람직하다. 또한, 레벨이 낮을수록, 데이터 보유는 양호하게 된다. 그러므로, 레벨 간격은 레벨이 낮아질수록 점진적으로 감소하는 것이 바람직하다. 이러한 방식으로 판독 레벨을 설정하면, 판독 레벨이 높고 낮은 경우에 데이터 보유를 일정하게 유지하고, 임계 레벨을 신뢰성 있게 판독하는 것이 가능하게 된다.
제3 실시예를 이용하여 메모리 셀에 저장된 한 임계 레벨을 판독하기 위해서는, LDPC 코드로 에러를 보정하는 데 필요한 확률값이 워드 라인의 레벨을 4회 변경함으로써 결정될 수 있다. 이런 이유 때문에, 다른 ECC 코드보다 높은 보정 능 력을 갖고, 더 작은 수의 체크 비트가 저장되는 것을 필요로 하는 LDPC 코드가 에러 보정을 위하여 이용될 수 있다.
제3 실시예에서, 확률값을 찾기 위하여, 판독 레벨을 변경하는 4회의 판독 동작이 실행된다. 본 발명은 이에 한정하지 않는다. 예컨대, 판독 레벨은 6회, 8회 또는 다른 횟수로 변경될 수도 있다. 또한, 4회의 판독 동작은 판독 레벨을 변경하지 않으면서 동일한 레벨에서 실행될 수도 있고, 판독 동작에서 판독된 "H" 레벨의 수가 카운트될 수도 있다. 더욱이, 다른 셀이 판독되는 경우, 카운팅은 동작 타이밍, 프리차지 전압 등을 점차로 변경함으로써 이루어질 수도 있다.
(변형 1)
도 21은 도 2에 도시된 데이터 저장 회로(10)의 예를 도시한다.
도 21은 예를 들어 4 비트 16 레벨 데이터가 데이터 저장 회로(10)에/로부터 기입/판독되는 경우를 도시한다. 데이터 저장 회로(10)는 1차 데이터 캐시(PDC), 2차 데이터 캐시(SDC), 다이내믹 데이터 캐시(DDC0, DDC1, DDC2, DDC3) 및 임시 데이터 캐시(TDC)를 포함한다. SDC, PDC, DDC0, DDC1, DDC2 및 DDC3은 기입 동작 시 입력 데이터를 저장하고, 판독 동작 시 판독된 데이터를 저장하며, 검증 동작 시 데이터를 임시로 유지하며, 다치 데이터의 저장 시 내부 데이터를 처리하는 데 사용된다. TDC는, 데이터 판독 시 비트 라인상의 데이터를 증폭하고 그 데이터를 임시로 유지할 뿐만 아니라, 다치 데이터 저장 시 내부 데이터를 처리하는 데 사용된다.
SDC는, 스택 래치 회로를 구성하는 클록형 인버터 회로(61a, 61b)와 트랜지 스터(61c, 61d)로 구성된다. 트랜지스터(61c)는 클록형 인버터 회로(61a)의 입력단과 클록형 인버터 회로(61b)의 입력단 사이에 접속된다. 신호 EQ2는 트랜지스터(61c)의 게이트에 공급된다. 트랜지스터(61d)는 클록형 인버터 회로(61a)의 출력단과 접지 사이에 접속된다. 신호 PRST는 트랜지스터(61d)의 게이트에 공급된다. SDC의 노드(N2a)는 열(column) 선택 트랜지스터(61e)를 통해 입/출력 데이터 라인(IOn)에 접속된다. SDC의 노드(N2b)는 열 선택 트랜지스터(61f)를 통해 입/출력 데이터 라인(IO)에 접속된다. 열 선택 신호 CSLi는 트랜지스터(61e, 61f)의 게이트에 공급된다. SDC의 노드(N2a)는 트랜지스터(61g, 61h)를 통해 PDC의 노드(N1a)에 접속된다. 신호 BLC2는 트랜지스터(61g)의 게이트에 공급된다. 신호 BLC1는 트랜지스터(61h)의 게이트에 공급된다.
PDC는, 스택 래치 회로를 구성하는 클록형 인버터 회로(61i, 61j)와 트랜지스터(61k)로 구성된다. 트랜지스터(61k)는 클록형 인버터 회로(61i)의 입력단과 클록형 인버터 회로(61j)의 입력단 사이에 접속된다. 신호 EQ1는 트랜지스터(61k)의 게이트에 공급된다. PDC의 노드(N1b)는 트랜지스터(61l)의 게이트에 접속된다. 트랜지스터(61l)의 전류 경로의 일단은 트랜지스터(61m)를 통해 접지에 접속된다. 신호 CHK1는 트랜지스터(61m)의 게이트에 공급된다. 트랜지스터(61l)의 전류 경로의 타단은 전송 게이트를 구성하는 트랜지스터(61n, 61o)의 전류 경로의 일단에 접속된다. 신호 CHK2n는 트랜지스터(61n)의 게이트에 공급된다. 트랜지스터(61o)의 게이트는 노드(N3)에 접속된다. 트랜지스터(61n, 61o)의 전류 경로의 타단은 신호 라인(COMi)에 접속된다. 신호 라인(COMi)은 데이터 저장 회로(10) 모두에 동일하 게 접속된다. 신호 라인(COMi)의 레벨에 기초하여, 데이터 저장 회로(10) 모두가 검증되었는지 여부가 판정될 수 있다. 구체적으로, 후술하는 바와 같이, 검증이 완료되는 경우, PDC의 노드(N1b)는 로우(low)가 된다(또는 노드(N1a)는 하이(high)가 된다). 이 상태에서, 신호 CHK1, CHK2n이 하이가 되는 경우, 검증이 완료되면 신호 라인(COMi)은 하이가 된다.
또한, TDC는 예를 들어 MOS 커패시터(61p)로 구성된다. 커패시터(61p)의 일단은 트랜지스터(61g, 61h)의 접합 노드(N3)에 접속된다. 후술하는 신호 BOOST는 커패시터(61p)의 타단에 공급된다. DDC0, DDC1, DDC2 및 DDC3은 트랜지스터 61qA 내지 61qD를 통해 접합 노드(N3)에 접속된다. 신호 REGA 내지 REGD는 트랜지스터 61qA 내지 61qD의 게이트에 공급된다.
다이내믹 래치 회로를 구성하는 DDC0, DDC1, DDC2 및 DDC3은 트랜지스터 61rA 내지 61rD로 각각 구성된다. 신호 VPRE는 트랜지스터 61rA 내지 61rD 각각의 전류 경로의 일단에 공급된다. 트랜지스터 61rA 내지 61rD의 타단은 트랜지스터 61qA 내지 61qD의 전류 경로에 각각 접속된다. 트랜지스터 61rA 내지 61rD의 게이트는 트랜지스터 61sA 내지 61sD를 통해 PDC의 노드(N1a)에 접속된다. 신호 DTGA 내지 DTGD는 트랜지스터 61sA 내지 61sD의 게이트에 각각 공급된다.
또한, 트랜지스터(61t, 61u) 각각의 전류 경로의 일단은 접합 노드(N3)에 접속된다. 신호 VPRE는 트랜지스터(61u)의 전류 경로의 타단에 공급된다. 신호 BLPRE는 트랜지스터(61u)의 게이트에 공급된다. 신호 BLCLAMP는 트랜지스터(61t)의 게이트에 공급된다. 트랜지스터(61t)의 전류 경로의 타단은 트랜지스터(61v)를 통해 비트 라인(BLo)의 일단, 그리고 트랜지스터(61w)를 통해 비트 라인(BLe)의 일단에 접속된다. 비트 라인(BLo)의 일단은 트랜지스터(61x)의 전류 경로의 일단에 접속된다. 신호 BIASo는 트랜지스터(61x)의 게이트에 공급된다. 비트 라인(BLe)의 일단은 트랜지스터(61y)의 전류 경로의 일단에 접속된다. 신호 BIASe는 트랜지스터(61y)의 게이트에 공급된다. 신호 BLCRL는 이들 트랜지스터(61x, 61y)의 전류 경로의 타단에 공급된다. 트랜지스터(61x, 61y)는 트랜지스터(61v, 61w)와 상보형이 되도록 신호 BIASo 및 BIASe에 따라 턴 온되어, 신호 BLCRL의 전위를 비선택된 비트 라인에 공급한다.
노드(N3)와 그라운드 사이에는, 예를 들어 MOS 커패시터(61z)가 접속된다. 커패시터(61z)는 노드(N3)에서의 전위를 조절함으로써, 신호 BOOST에 의해 후술할 TDC의 커패시터(61p)의 전압이 상승할 때 노드(N3)에서의 전위가 커플링에 의해 너무 많이 상승하는 것을 방지한다. 이하에서는, PDC에서의 데이터가 노드(N1a)에서의 전위이고, SDC에서의 데이터가 노드(N2a)에서의 전위이고, TDC에서의 데이터가 노드(N3)에서의 전위이며, DDC0 내지 DDC3에서의 데이터가 트랜지스터(61rA 내지 61rD)의 게이트 전위인 것으로 가정한다.
데이터 저장 회로(10)의 각 섹션에 공급된 신호는 도 1의 제어 전압 및 제어 신호 발생기 회로(7)에 의해 생성된다. 개별 메모리 셀의 복수 페이지 상의 데이터는 어드레스를 변경함으로써 판독된다.
도 22는 데이터 저장 회로(10)를 이용한 정규 판독 시퀀스를 도시한다.
먼저, 하위 페이지 상의 데이터가 메모리 셀로부터 판독되고, PDC에서 유지 된 후에, 이 데이터는 PDC로부터 SDC로 전송된다(L(30㎲)). 하위 페이지 데이터는 SDC로부터 외부(DoutL)로 출력되지만, 중상위 페이지 상의 데이터는 메모리 셀로부터 판독되고, PDC에서 유지된다(U(60㎲)). 그 후, PDC의 데이터는 SDC로 전송된다. 중상위 페이지 상의 데이터는 SDC로부터 외부(DoutU)로 출력되지만, 상위 페이지 상의 데이터는 메모리 셀로부터 판독되고, PDC에서 유지된다(U(120㎲)). 그 후, PDC에서의 데이터는 SDC로 전송된다. 상위 페이지 상의 데이터는 SDC로부터 외부(DoutH)로 출력되지만, 최상위 페이지 상의 데이터는 메모리 셀로부터 판독되고, PDC에서 유지된다(U(240㎲)). 그 후, PDC에서의 데이터는 SDC로 전송되고, 최상위 페이지 상의 데이터는 SDC로부터 외부(DoutT)로 출력된다. 전술한 바와 같이, 정규 동작 시퀀스에서, 데이터의 4 페이지가 메모리 셀로부터 판독되어 외부로 전송될 때, 4번의 전송 동작이 수행된다.
이에 비해, 도 23은 도 18에 대응하는 제3 실시예에서의 동작 시퀀스를 나타내고 있다. 제3 실시예에서는, 데이터의 1 페이지가 판독되고, 레벨을 4번 변경한다. 각 레벨에서 판독된 데이터가 외부로 출력된다. 이런 이유로, 도 23에 도시된 바와 같이, 제3 실시예는 도 22의 정규 동작 시퀀스에서와 같은 외부로의 전송 동작을 4배 더 많이 필요로 한다. 즉, 정규 동작 시퀀스에서는, 4번의 외부로의 전송 동작이 수행되는 반면에, 제3 실시예는 4 × 4 = 16번의 외부로의 전송 동작을 필요로 한다.
한편, 도 24와 도 25, 및 도 26 내지 도 29는 제3 실시예의 변형 1을 도시한다. 변형 1의 경우에, 도 24, 도 25 및 도 28에 도시된 바와 같이, 먼저 하위 페 이지 상의 데이터가 레벨 29(대응 레벨)에서 셀로부터 판독되고, PDC에서 유지된다(31a). 그 후, 이 데이터는 PDC로부터 SDC로 전송되고, 하위 페이지 상의 데이터는 SDC로부터 외부로 출력된다(31b). 하위 페이지 상의 데이터는 SDC로부터 외부로 출력되지만, 이 하위 페이지 상의 데이터는 대응 레벨보다 2 레벨 높은 레벨(레벨 31)에서 셀로부터 판독되며, PDC에서 유지된다(31c). PDC에서의 데이터는 SDC에서 유지되는, 레벨 29에서 판독된 데이터와 배타적 논리합(XOR;exclusive OR)된다. 그 결과가 DDC0에 가산된다(31d). DDC0은 메모리 셀이 레벨 29 이상이고 레벨 31 이하일 때에만 "H"로 된다.
다음으로, 하위 페이지 상의 데이터는 대응 레벨 바로 위 레벨(레벨 30)에서 셀로부터 판독된다(S31e). 판독된 데이터는, PDC에 저장되어 있는 대응 레벨보다 2 레벨 높은 레벨(레벨 31)에서 판독된 데이터와 XOR된다. 그 결과가 DDC1에 가산된다(S31f). DDC1은 메모리 셀이 레벨 30 이상이고 레벨 31 이하일 때에만 "H"로 된다.
그 후, 하위 페이지 상의 데이터는 대응 레벨 바로 아래 레벨(레벨 28)에서 셀로부터 판독된다(S31g). 판독된 데이터는 SDC에 저장되어 있는 대응 레벨(레벨 29)에서 판독된 데이터와 XOR된다. 그 결과가 DDC1에 가산된다(S31h). 따라서, DDC1은 메모리 셀이 레벨 30 이상이고 레벨 31 이하이고, 레벨 28 이상이며, 레벨 29 이하일 때에만 "H"로 된다.
유사하게, 이 데이터는 중상위 페이지, 상위 페이지 및 최상위 페이지 각각의 대응 레벨에서 셀로부터 판독된다. 그 후, 이 데이터는 PDC로부터 SDC로 전송 된다. 하위 페이지 상의 데이터는 SDC로부터 외부로 출력되고, 그 대응 레벨보다 2 레벨 높은 레벨에서 판독된 데이터는 대응 레벨에서 판독된 데이터와 XOR된다. 그 결과가 DDC0에 가산된다. 더욱이, 그 대응 레벨 바로 위 레벨에서 판독된 데이터는 대응 레벨보다 2 레벨 높은 레벨에서 판독된 데이터와 XOR된다. 그 결과가 DDC1에 가산된다. 또한, 그 대응 레벨에서 판독된 데이터는 대응 레벨 바로 아래 레벨에서 판독된 데이터와 XOR된다. 그 결과가 DDC에 가산된다. 최종적으로, DDC0에서의 데이터 및 DDC1에서의 데이터가 외부로 출력된다(S36a, S36b).
예를 들면, XOR는 다음과 같이 계산된다. 먼저, XOR될 데이터가 DDC2 및 DDC3으로 전송된다. DDC2 및 DDC3에 저장된 데이터의 4개의 조합은 다음과 같다.
Figure 112007040151596-PAT00001
그 후, 신호 VPRE = Vss 및 신호 BLPRE = Vdd에 대해, TDC는 Vss로 설정된다. 그 다음, 신호 VPRE = Vdd 및 신호 REG2 = "H"에 대해, DDC2에서의 데이터가 TDC로 카피(copy)된다. 신호 VPRE = Vss 및 신호 REG3 = "H"에 대해, DDC3이 "1"이라면, TDC는 Vss로 설정되게 된다. 그 후, TDC에서의 데이터는 PDC로 전송된다. 이때, DDC2, DDC3 및 PDC에서 유지된 데이터의 조합은 다음과 같다.
Figure 112007040151596-PAT00002
그 후, 신호 VPRE = Vss 및 신호 BLPRE = Vdd에 대해, TDC는 Vss로 설정된 다. 그 다음, 신호 VPRE = Vdd 및 신호 REG3 = "H"에 대해, DDC3에서의 데이터가 TDC로 카피된다. 신호 VPRE = Vss 및 신호 REG2 = "H"에 대해, DDC2에서의 데이터가 "1"이라면, TDC는 Vss로 설정되게 된다. 이때, DDC2, DDC3, PDC 및 TDC에서 유지된 데이터의 조합은 다음과 같다.
Figure 112007040151596-PAT00003
그 후, 신호 DTG2는 "H"로 일시 설정되고, PDC에서의 데이터는 DD2로 전송된다. 그 다음, 신호 VPRE = Vdd 및 신호 REG2 = "H"에 대해, DDC2에서의 데이터가 "1"이라면, TDC는 Vss로 설정되게 된다. 그 후, TDC에서의 데이터는 PDC로 전송된다. 이때, DDC2, DDC3 및 PDC에서 유지된 데이터의 조합은 다음과 같다.
Figure 112007040151596-PAT00004
전술한 동작의 결과로서, DDC2를 DDC3과 XOR하여 얻어진 결과는 PDC에서 유지된다.
변형 1에 따르면, 외부로의 전송 동작의 횟수는 6(= 4+2)으로 감소된다. 하지만, 캐시가 사용될 때, 1 레벨에서의 판독 시간이 30㎲이고, 외부로의 전송 시간이 45㎲이면, 도 22에서의 동작 시간은 다음과 같은 수학식 1로 표현된다.
Figure 112007040151596-PAT00005
더욱이, 도 24에 도시되어 있는 변형 1에서의 동작 시간은 다음과 같은 수학식 2로 표현된다.
Figure 112007040151596-PAT00006
전술한 바와 같이, 변형 1의 경우에는, 동작 시간이 증가하는 문제가 있다.
(변형 2)
도 30 내지 도 34는 제3 실시예의 변형 2를 나타내고 있다. 도 31 내지 도 34에 도시된 바와 같이, 셀 임계값, 및 하위 페이지, 중상위 페이지, 상위 페이지 및 최상위 페이지가 할당되고, "H"가 하위 레벨로부터 판독된 횟수가 카운트된다. 구체적으로, 데이터 저장 회로(10)의 각 캐시는 카운터로서 기능하게 된다. 그 후, 카운트된 수는 도 31 내지 도 34에 도시된 바와 같이 PDC, DDC0, DDC1, DDC2, DDC3 및 SDC에 저장된다. 이들 저장된 값은 하위 페이지, 중상위 페이지, 상위 페이지 및 최상위 페이지의 할당치의 반전이다. 하지만, 이 값이 "0" 레벨보다 낮다면, 하위 페이지, 중상위 페이지, 상위 페이지 및 최상위 페이지는 "1111"의 값을 취한다. 이 값이 "1" 레벨보다 높다면, 하위 페이지, 중상위 페이지, 상위 페이지 및 최상위 페이지는 "1110"의 값을 취한다. 이런 이유로, 먼저, "000011"이 SDC, DDC3, DDC2, DDC1 및 DDC0에서 설정된다.
그 후, 이 셀에서의 데이터는 "0" 레벨에서 판독된다. 판독된 데이터가 "H"이면, /SDC, DDC3, DDC2, DDC1, DDC0 및 PDC는 "000100"을 유지한다. 판독된 데이터가 "L"이면, /SDC, DDC3, DDC2, DDC1 및 DDC0은 "000011"을 유지한다. 그 후, 이 셀에서의 데이터는 "1" 레벨 아래에서 시작하는 하위 레벨에서 판독된다. 판독된 데이터가 "H"이면, "1"은 /SDC, DDC3, DDC2, DDC1 및 DDC0 각각에 부가된다. 판독이 "28" 레벨에서 행해진 후에는, SDC에서의 데이터가 "0" 또는 "1"인지 판정된다. 도 30에서 Dout으로 나타낸 바와 같이, SDC에서의 데이터가 외부로 출력된다. 더욱이, 판독이 "44" 레벨에서 행해진 후에는, DDC3에서의 데이터가 또한 판정된다. 이런 이유로, DDC3에서의 데이터는 반전되고, 그 결과 데이터가 SDC로 전송된다. 그 후, SDC에서의 데이터가 외부로 출력된다. 또한, 판독이 "52" 레벨에서 행해진 후에는, DDC2에서의 데이터가 또한 판정된다. 이런 이유로, DDC2에서의 데이터는 반전되고, 그 결과 데이터가 SDC로 전송된다. 그 후, SDC에서의 데이터가 외부로 출력된다. 더욱이, 판독이 "56" 레벨에서 행해진 후에는, DDC1에서의 데이터 또한 판정된다. 이런 이유로, DDC1에서의 데이터는 반전되고, 그 결과 데이터가 SDC로 전송된다. 그 후, SDC에서의 데이터가 외부로 출력된다. 또한, 판독이 "58" 레벨에서 행해진 후에는, DDC0에서의 데이터가 또한 판정된다. 이런 이유로, DDC0에서의 데이터는 반전되고, 그 결과 데이터가 SDC로 전송된다. 그 후, SDC에서의 데이터가 외부로 출력된다. 또한, 판독이 "59" 레벨에서 행해진 후에는, PDC에서의 데이터가 또한 판정된다. 이런 이유로, PDC에서의 데이터는 반전되 고, 그 결과 데이터가 SDC로 전송된다. 그 후, SDC에서의 데이터가 외부로 출력된다. 이런 식으로 규정함으로써 변형 1에서와 같이 외부로의 전송 동작의 횟수를 4 + 2 = 6으로 감소시킨다. 변형 2의 작업 속도는 다음의 수학식 3에 의해 표시된 바와 같이 변형 1의 작업 속도보다 빨라질 수 있다.
Figure 112007040151596-PAT00007
기입 동작에서, 하위 페이지, 중상위 페이지, 상위 페이지 및 최상위 페이지가, 도 30 내지 도 34에 도시된 바와 같이, 동시에 16 레벨을 기입하고 각 레벨에서의 검증 동작에서 16 레벨을 구별하도록 할당될 때, 데이터는 도 35에 도시된 바와 같이 저장된다.
최상위 페이지 상의 데이터를 반전함으로써 얻어진 데이터는 DDC0에 저장된다.
상위 페이지 상의 데이터를 반전함으로써 얻어진 데이터는 DDC1에 저장된다.
중상위 페이지 상의 데이터를 반전함으로써 얻어진 데이터는 DDC2에 저장된다.
하위 페이지 상의 데이터를 반전함으로써 얻어진 데이터는 SDC에 저장된다.
기입 동작에서, "0"은 PDC에 저장된다. 비-기입 동작에서, "1"은 PDC에 저장된다.
정규 기입 동작에서, 저 임계 레벨을 셀에 기입하는 것은 더 일찍 완료된다. 이런 이유로, 레벨 A 내지 레벨 G의 기입이 완료되면, 기입이 레벨 A 내지 레벨 G 또는 레벨 H 내지 레벨 O로 행해질지 여부를 판정하는데 SDC를 이용할 필요가 없다. 따라서, SDC는 후속 페이지 상의 데이터를 유지하는데 이용될 수 있다. 더욱이, 레벨 H 내지 레벨 K의 기입이 완료되면, DDC2 또한 후속 페이지 상의 데이터를 유지하는데 이용될 수 있다. 또한, 레벨 L 및 레벨 M의 기입이 완료되면, DDC1 또한 후속 페이지 상의 데이터를 유지하는데 이용될 수 있다. 또한, 레벨 N의 기입이 완료되면, DDC0 또한 후속 페이지 상의 데이터를 유지하는데 이용될 수 있다. 이런 이유로, 후속 페이지 상의 데이터가 모든 레벨의 기입 종료를 기다리지 않고서도 유지될 수 있기 때문에, 고속 동작이 가능하다.
도 14 내지 도 17에 도시된 바와 같이, 데이터는 다음과 같이 하위 페이지, 중상위 페이지, 상위 페이지 및 최상위 페이지에서 설정된다.
Figure 112007040151596-PAT00008
레벨들 간의 간격은 균일하다. 하지만, 예를 들어, G 레벨과 H 레벨 간의 간격은 다른 레벨들 간의 간격보다 크게 설정된다. 이는 하위 페이지의 결함 비율을 감소시키는 것을 가능하게 한다.
또한, C 레벨과 D 레벨 간의 간격, 및 K 레벨과 L 레벨 간의 간격은 다른 레 벨들 간의 간격보다 크게 설정된다. 이는 중상위 페이지의 결함 비율을 감소시키는 것을 가능하게 한다.
A 레벨과 B 레벨 간의 간격, E 레벨과 F 레벨 간의 간격, I 레벨과 J 레벨 간의 간격, 및 M 레벨과 N 레벨 간의 간격은 다른 레벨들 간의 간격보다 크게 설정된다. 이는 상위 페이지의 결함 비율을 감소시키는 것을 가능하게 한다.
Z 레벨과 A 레벨 간의 간격, B 레벨과 C 레벨 간의 간격, D 레벨과 E 레벨 간의 간격, F 레벨과 G 레벨 간의 간격, H 레벨과 I 레벨 간의 간격, J 레벨과 K 레벨 간의 간격, L 레벨과 M 레벨 간의 간격, 및 N 레벨과 O 레벨 간의 간격은 다른 레벨들 간의 간격보다 크게 설정된다. 이는 최상위 페이지의 결함 비율을 감소시키는 것을 가능하게 한다.
(변형 3)
도 48은 제 3 실시예의 변형 3을 나타내고 있다. 도 48에 도시된 바와 같이, 16 레벨에서, L-페이지(하위 페이지)는 8 레벨에서 판독된다.
U-페이지(중상위 페이지)는 4 레벨 및 C 레벨에서 판독된다.
H-페이지(상위 페이지)는 2 레벨, 6 레벨, A 레벨 및 E 레벨에서 판독된다.
T-페이지(최상위 페이지)는 1 레벨, 3 레벨, 5 레벨, 7 레벨, 9 레벨, B 레벨, D 레벨 및 F 레벨에서 판독된다.
이 후, 도 49에 도시된 바와 같이, 레벨은 2/4 하향 시프트되고, 데이터는 T-페이지와 완전히 동일한 판독 동작으로 판독된다. 판독된 데이터는 데이터 저장 회로에서 유지된다.
그 후, 레벨은 2/4 상향 시프트되고, 데이터는 T-페이지를 판독하는 동작과 완전히 동일한 판독 동작으로 판독된다. 이 판독된 데이터 및 데이터 저장 회로에 현재 유지되어 있는 데이터의 XOR이 출력된다.
레벨은 3/4 하향 시프트되고, 데이터는 T-페이지를 판독하는 동작과 완전히 동일한 판독 동작으로 판독된다. 이 판독된 데이터는 데이터 저장 회로에서 유지된다.
레벨은 1/4 하향 시프트되고, 데이터는 T-페이지를 판독하는 동작과 완전히 동일한 판독 동작으로 판독된다. 이 판독된 데이터 및 데이터 저장 회로에 현재 유지되어 있는 데이터의 XOR이 데이터 저장 회로에서 유지된다.
레벨은 1/4 상향 시프트되고, 데이터는 T-페이지와 완전히 동일한 판독 동작으로 판독된다. 이 판독된 데이터 및 데이터 저장 회로에 현재 유지되어 있는 데이터의 XOR이 데이터 저장 회로에서 유지된다.
레벨은 3/4 상향 시프트되고, 데이터는 T-페이지를 판독하는 동작과 완전히 동일한 판독 동작으로 판독된다. 이 판독된 데이터 및 데이터 저장 회로에 현재 유지되어 있는 데이터의 XOR이 출력된다.
변형 1은 수학식 4가 나타내는 시간을 필요로 한다.
Figure 112007040151596-PAT00009
변형 3은 다음의 수학식 5가 나타내는 시간을 필요로 한다.
Figure 112007040151596-PAT00010
변형 3에 따르면, 변형 1에 비해, 판독 시간이 다소 길어진다. 하지만, T-페이지에서의 판독 레벨을 변경하고, 판독 데이터가 XOR되는 것만이 필요하다. 더욱이, 변형 1의 판독 횟수는 15 × 4 = 60이다. 변형 3의 판독 횟수는 15 + 8 × 6 = 63으로, 그 횟수가 변형 1에 비해 증가하였다. 이런 이유로, 변형 3은 변형 1에 비해 다소 정교하게 판독한다.
변형 3은 전술한 제3 실시예에 국한되지 않으며, 후술하는 제4 내지 제6 실시예에 적용될 수 있다.
(제4 실시예)
(인접 셀이 기입되어 발생하는 임계값 시프트가 보정되고 LDPC 코드가 이용되는 경우)
제3 실시예는, 인접 셀이 기입되는 결과로서의 임계 레벨의 변화를 고려하지 않았다. 그러나, 전술한 바와 같이, 도 6에 도시된 4 비트(16 레벨) 데이터가 셀(MC11)에 기입된 후에 4 비트(16 레벨) 데이터가 셀(MC12)에 기입되는 경우에는 셀들 사이의 커플링 커패시턴스의 영향에 기인하여 셀(MC11)의 임계 레벨은 보다 높은 레벨로 시프트된다. 이러한 커플링의 영향을 억제하기 위하여, 기입될 셀이 오리지날 임계 레벨보다 낮은 임계 레벨로 기입되며, 그 후에 주위 셀들이 오리지날 임계 레벨보다 낮은 임계 레벨로 기입된다. 그 후에, 기입될 셀이 오리지날 임 계 레벨로 기입된 다음, 주위 셀들이 오리지날 임계 레벨로 기입된다. 이러한 방식으로, 커플링의 영향이 억제될 수 있다. 그러나, 주위 셀들의 데이터가 결정되지 않으면 기입이 완료될 수 없는 문제점이 존재한다. 전술한 바와 같이, LDPC 코드가 이용되는 때에 주위 셀들이 기입되지 않는 경우에는, 하나의 임계 레벨이 확률값으로 판독되기 때문에, 확률값은 다수의 판독 동작에 의해서 찾아져야 한다. 이러한 이유로, 인접 셀의 기입에 기인하여 메모리 셀의 임계 레벨이 변경된 경우에는 4개의 판독 레벨에서 판독된 데이터의 정확도는 감소하고, 따라서 에러 보정의 정확도가 감소한다.
도 36 내지 39는 인접 셀이 도 14 내지 17에 도시된 임계 레벨로 기입되는 결과로서의 임계 레벨의 변화량을 도시한다. 변화량이 없는(naught) 경우, 작은(small) 경우, 평균보다 작은(below average) 경우, 평균인(average) 경우, 평균보다 큰(above average) 경우, 큰(large) 경우의 여섯 가지 경우를 가정한다. 도 36 내지 39는 각각의 경우에 판독된 "H"의 수를 도시한다. 이러한 방식으로 임계 레벨이 변할 때에, 판독이 통상적인 판독 레벨에서 행해지는 경우에는 데이터를 정확하게 판독하기 어렵다. 이러한 이유로, 인접 셀들의 기입에 의해서 야기되는 임계 레벨의 변화를 보정한 다음, 판독을 행하는 것이 필요하다.
각각의 6개의 임계 레벨의 변화량이 각각의 Z 레벨 내지 O 레벨에 각기 대응하고, 4개의 판독 레벨이 각각의 레벨에 대한 확률값을 구하도록 설정된 경우에는 도 36 내지 39의 파선 0 내지 64에 의해서 도시된 바와 같이 전체 65개의 판독 레벨이 요구된다.
도 40은 본 발명의 제4 실시예에서의 판독 시퀀스를 도시한다. 제4 실시예에서, 예컨대 도 6에 도시된 판독될 셀(MC11)은 레벨 0 내지 레벨 64, 즉 65개의 판독 레벨에서 판독된다(S61).
구체적으로, 도 1의 제어 신호 및 제어 전압 발생기 회로(7)는 레벨 0에서 레벨 64에 이르는 판독 레벨을 생성하고, 이들을 메모리 셀(1)의 선택된 워드 라인(WLn)에 공급한다. 예컨대, 셀의 임계 레벨이 판독 레벨보다 높은 경우에는 셀은 오프가 된다. 이러한 이유로, 결과는 "H"(데이터 "0")이다. 임계 레벨이 H 레벨보다 낮은 경우에는 셀이 온이 되기 때문에, 결과는 "L"(데이터 "1")이다. 각각의 판독 레벨에서 판독된 데이터는 도 2에 도시된 데이터 저장 회로(10)에 보유된다. 도 18의 동작에서처럼 다음 판독 레벨에서 메모리 셀로부터 데이터를 판독하면서, 데이터 저장 회로(10)에 보유된 데이터가 제어기(11)로 전송된다.
그 후에, 메모리 셀(MC11)에 인접하는 메모리 셀(MC12)의 임계 레벨의 변화가 검출된다(S62). 이러한 경우에, 인접 셀들의 임계 레벨의 시프트는 없거나, 작거나, 평균보다 작거나, 평균이거나, 평균보다 크거나, 큰 것으로만 판정되어야 한다. 이러한 이유로, 레벨 0에서 레벨 64에 이르는 65개의 판독 레벨에서 판독 동작을 수행할 필요가 없으며, 예컨대 도 36 내지 39에 도시된 바와 같이 판독 레벨 10, 21, 32, 43 및 54에서 판독이 행해진다. 즉, 판독 레벨 10, 21, 32, 43, 54가 워드 라인(WLn+1)에 공급되어 임계 레벨이 판독된다. 워드 라인(WLn+1)의 레벨을 변경함으로써 판독되는 인접 셀의 임계 레벨의 변화에 대응하는 데이터의 6개의 아이템이 제어기(11)에 순차적으로 공급된다.
제어기(11)는 단계 S61에서 얻어진 데이터로부터 "H"(데이터 "0")의 수를 카운트한다. 그 후에, 인접 셀들의 임계 레벨의 변화에 대응하는 6개의 데이터의 아이템에 기초하여, 65개의 데이터의 아이템이 보정된다. 따라서, 단계 S62에서의 판독 결과로서, 인접 셀의 임계 레벨의 변화량에 따라 카운트된 "H"의 수가 감소된다.
구체적으로, 그 수는 다음과 같이 감소된다.
임계 전압의 변화량이 없는 경우에는, 보정이 행해지지 않는다.
임계 전압의 변화량이 작은 경우에는, "H"의 수가 1만큼 감소된다.
임계 전압의 변화량이 평균보다 작은 경우에는, "H"의 수가 2만큼 감소된다.
임계 전압의 변화량이 평균인 경우에는, "H"의 수가 3만큼 감소된다.
임계 전압의 변화량이 평균보다 큰 경우에는, "H"의 수가 4만큼 감소된다.
임계 전압의 변화량이 큰 경우에는, "H"의 수가 5만큼 감소된다.
결과적으로, 셀(MC11)로부터 판독된 "H"(데이터 "0")가 출력되는 횟수는 0 내지 60이며, 이는 인접 셀들의 임계 레벨의 변화의 영향을 보정한다.
도 41a 및 41b의 최상위 행은 각각의 페이지가 보정된 후의 "H"의 수를 도시한다. 이것은 도 14 내지 17의 레벨 0 내지 레벨 59에서의 판독 결과에 대응한다. 예컨대, 보정 후의 "H"의 수가 "30"인 경우는, 도 14 내지 17의 레벨 29에서 판독이 행해졌음을 의미한다. 하위 페이지의 경우에, "H"의 수는 2이다. 또한, 보정 후의 "H"의 수가 "29"인 경우는, 도 14 내지 17의 레벨 28에서 판독이 행해졌음을 의미한다. 하위 페이지의 경우에, "H"의 수는 1이다. "H"의 수에 기초하여, "H" 의 확률은 다음과 같이 설정된다.
"H"의 수가 4인 경우에는, "H"(데이터 "0")의 확률은 100%(4/4)이다.
"H"의 수가 3인 경우에는, "H"(데이터 "0")의 확률은 75%(3/4)이다.
"H"의 수가 2인 경우에는, "H"(데이터 "0")의 확률은 50%(2/4)이다.
"H"의 수가 1인 경우에는, "H"(데이터 "0")의 확률은 25%(1/4)이다.
이러한 방식으로 설정된 확률에 기초하여, LDPC 코드를 위한 ECC 회로(11-1)는 잘못된 데이터를 보정한다.
도 40의 순서도에서, 셀(MC11)이 판독된 후에 셀(MC11)에 인접하는 셀(MC12)이 판독된다. 본 발명은 이에 한정되지 않는다. 예컨대, 셀(MC12)이 셀(MC11)보다 먼저 판독될 수도 있다.
제4 실시예에서, 인접 셀들과의 커플링의 영향에 기인하는 임계 레벨의 변화량이 검출된다. 검출된 변화량에 기초하여, LDPC 코드 판독 결과가 보정된다. 따라서, 인접 셀들의 기입의 결과로서의 임계 레벨의 변동이 제거될 수 있으며, 이는 LDPC 코드를 이용하는 에러 보정의 정확도가 향상될 수 있도록 한다.
물론, LDPC 코드가 이용되지 않는 경우에는 확률값은 출력되지 않아도 된다. 이러한 이유로, 인접 셀들의 임계 레벨의 변화량에 따라 카운트된 "H"의 수가 감소된다. 그 결과는 판독 결과로서 직접 사용된다.
(제5 실시예)
셀들 사이의 커플링은 프로세스의 변화 등에 크게 의존한다. 이러한 이유로, 임계 레벨은 제1 실시예에 도시된 바와 같이 워드 라인 단위로, 또는 칩 단위 로 트리밍된 시프트 값을 이용하여 보정된다. 대안적으로, 제2 실시예에 도시된 바와 같이, 모니터 셀은 메모리 셀 어레이에 제공된다. 관련된 임계 레벨의 시프트 값은 모니터 셀의 임계 레벨로부터 계산되고, 메모리 셀의 임계 레벨이 판독된다.
제2 실시예에서처럼, 제5 실시예에서는, 셀들 사이의 커플링의 영향이 도 11의 모니터 셀(MMC)을 이용하여 검출된다. 제5 실시예에서, O 레벨과 같이 도 17에서 가장 높은 임계 레벨은 항상 모니터 셀에 기입된다. 그 다음, 인접 셀이 기입되는 결과로서의 O 레벨의 임계 레벨의 변화량이 검출되어, 인접 셀의 판독 레벨을 보정한다.
도 42 및 43은 판독 동작을 도시한다. 도 6에 도시된 바와 같이, 먼저 셀(MC11)이 판독된다. 판독 동작은 도 40에 도시된 제4 실시예에서와 거의 동일하다. 구체적으로, 도 1의 제어 신호 및 제어 전압 발생기 회로(7)는 레벨 0에서 레벨 64까지의 판독 레벨을 생성하고, 이들을 메모리 셀(1)의 선택된 워드 라인(WLn)에 공급한다(S71). 예컨대, 셀의 임계 레벨이 판독 레벨보다 높은 경우에는 셀은 오프가 된다. 따라서, 결과는 "H"(데이터 "0")이다. 임계 레벨이 H 레벨보다 낮은 경우에는 셀이 온이 되기 때문에, 결과는 "L"(데이터 "1")이다. 이 때, 레벨 57 내지 레벨 64 중 하나의 레벨에서 모니터 셀(MMC)이 턴 온된 것이 검출된다(S72). 모니터 셀이 턴 온된 레벨에 따라, 셀(MC12)의 판독 레벨이 결정된다. 판독 결과에 기초하여 보정이 행해진다.
구체적으로, 도 43에 도시된 바와 같이, 모니터 셀(MMC)의 임계 레벨이 레벨 57 및 레벨 58인 경우에는 커플링의 영향이 존재하지 않기 때문에 셀(MC12)은 판독 레벨을 보정하지 않고서 판독된다(S73).
모니터 셀(MMC)의 임계 레벨이 레벨 59인 경우에는 커플링의 영향이 "작기" 때문에 레벨 32가 워드 라인(WLn+1)에 공급된다. 레벨 32에서, 인접 셀(MC12)의 임게 레벨이 판독된다(S74).
모니터 셀(MMC)의 임계 레벨이 레벨 60인 경우에는 커플링의 영향이 "평균보다 작기"때문에 레벨 10이 워드 라인(WLn+1)에 공급된다. 레벨 10에서, 인접 셀(MC12)의 임계 레벨이 판독된다. 그 후에, 레벨 21이 워드 라인(WLn+1)에 공급된다. 레벨 21에서, 인접 셀(MC12)의 임계 레벨이 판독된다(S75).
모니터 셀(MMC)의 임계 레벨이 레벨 61인 경우에는 커플링의 영향이 "평균"이기 때문에 레벨 10이 워드 라인(WLn+1)에 공급된다. 레벨 10에서, 인접 셀(MC12)의 임계 레벨이 판독된다. 그 후에, 레벨 21이 워드 라인(WLn+1)에 공급된다. 레벨 21에서, 인접 셀(MC21)의 임계 레벨이 판독된다. 또한, 레벨 32가 워드 라인(WLn+1)에 공급된다. 레벨 32에서, 인접 셀(MC12)의 임계 레벨이 판독된다(S76).
모니터 셀(MMC)의 임계 레벨이 레벨 62인 경우에는 커플링의 영향이 "평균보다 크기"때문에 레벨 10이 워드 라인(WLn+1)에 공급된다. 레벨 10에서, 인접 셀(MC12)의 임계 레벨이 판독된다. 그 후에, 레벨 21이 워드 라인(WLn+1)에 공급된다. 레벨 21에서, 인접 셀(MC12)의 임계 레벨이 판독된다. 또한, 레벨 32가 워드 라인(WLn+1)에 공급된다. 레벨 32에서, 인접 셀(MC12)의 임계 레벨이 판독된 다. 그 후에, 레벨 43이 워드 라인(WLn+1)에 공급된다. 레벨 43에서, 인접 셀(MC12)의 임계 레벨이 판독된다(S77).
모니터 셀(MMC)의 임계 레벨이 레벨 63 및 레벨 64인 경우에는 커플링의 영향이 "크기"때문에 레벨 10이 워드 라인(WLn+1)에 공급된다. 레벨 10에서, 인접 셀(MC12)의 임계 레벨이 판독된다. 그 후에, 레벨 21이 워드 라인(WLn+1)에 공급된다. 레벨 21에서, 인접 셀(MC12)의 임계 레벨이 판독된다. 또한, 레벨 32가 워드 라인(WLn+1)에 공급된다. 레벨 32에서, 인접 셀(MC12)의 임계 레벨이 판독된다. 그 후에, 레벨 43이 워드 라인(WLn+1)에 공급된다. 레벨 43에서, 인접 셀(MC12)의 임계 레벨이 판독된다. 그 후에, 레벨 54가 워드 라인(WLn+1)에 공급된다. 레벨 54에서, 인접 셀(MC12)의 임계 레벨이 판독된다(S78).
이러한 방식으로, 메모리 셀(MC11)에 인접하는 셀(MC12)의 임계 레벨이 검출된다. 인접 셀들의 커플링의 크기와 임계 레벨의 시프트(없음, 작음, 평균보다 작음, 평균, 평균보다 큼, 큼 중 하나)에 따라서, 메모리 셀(MC11)의 판독 결과가 보정된다(S79). 따라서, 인접 셀들의 커플링의 크기와 인접 셀들의 기입에 의해서 야기되는 임계 레벨의 변동이 제거될 수 있으며, 이는 메모리 셀(MC) 내의 데이터가 높은 정확도를 가지고서 판독될 수 있도록 한다.
제5 실시예에서, 메모리 셀과 함께 기입되는 모니터 셀(MMC)이 제공된다. 모니터 셀에서, 가장 높은 임계 레벨은 항상 기입된다. 모니터 셀(MMC)의 임계 레벨을 결정함으로써, 인접 셀들과의 커플링에 기인하는 모니터 셀(MMC)의 임계 레벨의 변화량이 6개의 단계에서 검출된다. 이것은 인접 셀들과의 커플링의 영향이 보 다 정확하게 검출될 수 있도록 한다. 따라서, 검출된 변화량에 기초하여 인접 셀의 판독 레벨을 보정하는 것은 인접 셀의 임계 레벨을 정확하게 판독하는 것을 가능하게 한다.
판독 레벨의 수는 0 내지 64로 한정되지 않으며, 더 세분화되거나 더 대략적으로 될 수 있을 것이다. 인접 셀들과의 커플링의 영향은 없거나, 작거나, 평균보다 작거나, 평균이거나, 평균보다 크거나, 큰, 전체 6개의 그룹으로 분류될 수 있다. 또한, 인접 셀들의 임계 레벨의 변화량 또한 없거나, 작거나, 평균보다 작거나, 평균이거나, 평균보다 크거나, 큰, 전체 6개의 그룹으로 분류될 수 있다. 이러한 분류는 변경될 수 있을 것이다.
제5 실시예에서, 다수의 모니터 셀들이 제공될 수 있을 것이다. 모니터 셀로부터 판독된 데이터의 아이템을 이용하여 다수에 의하여 판정이 행해질 수도 있다. 그 결과에 기초하여 보정이 이루어질 수 있다.
물론, LDPC 코드가 이용되지 않는 경우에는 확률값이 출력되지 않아도 된다. 이러한 이유로, 인접 셀들의 임계 레벨의 변화량에 따라 카운트되는 "H"의 수는 감소된다. 그 결과는 판독 결과로서 직접 사용된다.
(제6 실시예)
본 발명의 제6 실시예는 하나의 칩에서 다른 칩으로, 또는 하나의 워드 라인에서 다른 워드 라인으로의 임계 레벨의 변화가 데이터 또는 모니터 셀의 트리밍을 이용하지 않고서도 보정될 수 있도록 한다.
NAND 플래시 메모리에서, 행 방향으로 배열된 셀들 전부 또는 절반이, 예컨 대 (2KB×4) 데이터로 일제히 기입되기 때문에, 예컨대 2KB×4(4 비트/셀) = 16k×4(4비트/셀)이 된다. 구체적으로, 다음과 같이 16k 셀들이 균일하게 존재한다고 가정한다. 즉, 1k 셀들이 Z 레벨에 존재하고, 1k 셀들이 A 레벨에 존재하고, 1k 셀들이 B 레벨에 존재하고, 1k 셀들이 C 레벨에 존재하고, 1k 셀들이 D 레벨에 존재하고, 1k 셀들이 E 레벨에 존재하고, 1k 셀들이 F 레벨에 존재하고, 1k 셀들이 G 레벨에 존재하고, 1k 셀들이 H 레벨에 존재하고, 1k 셀들이 I 레벨에 존재하고, 1k 셀들이 J 레벨에 존재하고, 1k 셀들이 K 레벨에 존재하고, 1k 셀들이 L 레벨에 존재하고, 1k 셀들이 M 레벨에 존재하고, 1k 셀들이 N 레벨에 존재하고, 1k 셀들이 O 레벨에 존재한다. 이러한 상태에서 인접 셀들에 데이터가 기입되는 경우에, 이들 셀들의 임계 레벨이 균일하게 변경되는 것으로 가정한다. 이들 셀로부터 판독된 데이터가 임계 레벨의 변화량이 없거나, 작거나, 평균보다 작거나, 평균이거나, 평균보다 크거나, 큰, 6개의 패턴으로 분류되는 경우에는, 하나의 패턴에 대하여 16k/6 = 2666개의 셀들이 존재한다. 하나의 패턴에 대하여 16개의 레벨이 균일하게 존재하는 경우에는 하나의 레벨에 대하여 166개의 셀들이 존재할 것이다.
도 47은 제6 실시예에서의 동작을 도시한다. 도 40과 동일한 부분은 동일한 참조 부호에 의해서 지시된다.
(1) 도 47에 도시된 바와 같이, WLn의 셀들은 각각의 레벨 0 내지 레벨 64에서 판독된다(S61).
(2) WLn+1의 셀들은 레벨 10, 21, 32, 43 및 65에서 판독되고, 인접 셀(WLn+1)의 임계 레벨의 변화량이 없거나, 작거나, 평균보다 작거나, 평균이거나, 평균보다 크거나, 큰지를 확인하는 검사가 이루어진다(S62).
(3) "H"가 WLn의 셀들에서 판독된 횟수가 인접 셀(WLn+1)의 임계 레벨의 각각의 변화량에 대하여(즉, 없거나, 작거나, 평균보다 작거나, 평균이거나, 평균보다 크거나 큰 것 각각에 대하여) 카운트된다. 도 44 및 45는 카운팅의 결과를 도시한다(S81).
도 44 및 45에서, 인접 셀의 임계 레벨의 변화량이, 예컨대 없는(naught) 경우의 카운팅 결과는 다음과 같다.
즉, "H"가 판독된 횟수가 0인 셀은 143개이다.
"H"가 판독된 횟수가 1인 셀은 23개이다.
"H"가 판독된 횟수가 2인 셀은 23개이다.
"H"가 판독된 횟수가 3인 셀은 60개이다.
"H"가 판독된 횟수가 4인 셀은 60개이다.
"H"가 판독된 횟수가 5인 셀은 23개이다.
"H"가 판독된 횟수가 6인 셀은 23개이다.
"H"가 판독된 횟수가 7인 셀은 60개이다.
"H"가 판독된 횟수가 8인 셀은 60개이다.
"H"가 판독된 횟수가 9인 셀은 23개이다.
"H"가 판독된 횟수가 10인 셀은 23개이다.
"H"가 판독된 횟수가 11인 셀은 60개이다.
나머지는 생략된다.
또한, 예컨대 인접 셀의 임계 레벨의 변화량이, 예컨대 "큰" 경우의 카운팅 결과는 다음과 같다.
즉, "H"가 판독된 횟수가 0인 셀은 0개이다.
"H"가 판독된 횟수가 1인 셀은 0개이다.
"H"가 판독된 횟수가 2인 셀은 0개이다.
"H"가 판독된 횟수가 3인 셀은 23개이다.
"H"가 판독된 횟수가 4인 셀은 60개이다.
"H"가 판독된 횟수가 5인 셀은 60개이다.
"H"가 판독된 횟수가 6인 셀은 23개이다.
"H"가 판독된 횟수가 7인 셀은 23개이다.
"H"가 판독된 횟수가 8인 셀은 60개이다.
"H"가 판독된 횟수가 9인 셀은 60개이다.
"H"가 판독된 횟수가 10인 셀은 23개이다.
나머지는 생략된다.
상술한 바와 같이, 셀들의 개수는 "H"가 판독된 횟수에 대해 증가 또는 감소한다. 셀들의 개수가 큰 곳, 예를 들면, "60개의 셀들"은 중간값이라고 추정될 수 있다(S82). 이 때문에, 추정된 중간값에 따라서, 판독 레벨이 보정된다(S83).
상술한 바와 같이, 임계 레벨의 6개의 변화 패턴에 대응하는 변화는 도 44 및 도 45에 나타난 바와 같다. 임계 레벨의 변화량이 없을 때, 작을 때, 평균보다 작을 때, 평균일 때, 평균보다 클 때, 또는 클 때, 보정값은 예를 들면, "0", "- 1", "-2", "-3", "-4", 또는 "-5"로 설정된다. 이들 보정값은 "H"가 판독된 횟수로부터 차감되며, 도 44 및 도 45에 "변환 이후"에 도시된 값이 주어진다. "변환 이후"는 보정값에 따라 보정된 판독 레벨에 대응한다. 즉, "변환 이후"는 도 41의 최상위 행에 대응한다. 제4 실시예에서와 같이, 확률값은 각 페이지상의 "H"의 수에 기초하여 찾아진다. 따라서, 셀들 간의 커플링 커패시턴스가 프로세스의 변동 등으로 인해 커진다고 할지라도, 임계 레벨의 변동을 기입된 인접 셀들의 결과로서 보정하고 판독할 수 있다. 물론, LDPC 코드가 사용되지 않는 경우에는, 확률값은 출력될 필요가 없다. 이 때문에, 셀들의 수가 큰 곳은 각 임계 레벨의 중간값이라고 고려될 수 있다, 중간값에 따라 판독 레벨을 보정한 결과는 판독 데이터이다.
제6 실시예에 따르면, 메모리 셀을 이용하지 않고 하나의 메모리 셀로부터 다른 메모리 셀로 그리고 하나의 워드 라인으로부터 다른 워드 라인으로 임계 레벨의 변동을 검출하여 그 임계 레벨의 변동을 보정할 수 있다. 이는 높은 정확도의 판독을 가능하게 한다.
제6 실시예에서, 1k 셀들이 각 레벨에서 균일하게 존재한다고 가정되었다. 그러나, 실제 데이터는 랜덤하게 존재한다. 이 때문에, 극단적인 경우에는, 단 하나의 셀만이 하나의 레벨에 존재한다. 페이지 사이즈가 증가함에 따라, 데이터가 그러한 상태에 있게 될 가능성은 매우 낮다. 따라서, 그러한 경우에, 복수의 셀들(예를 들면, 10개의 셀들)이 하나의 레벨에 항상 존재할 수 있도록 제어기에 의해 데이터가 변경된다.
기입된 인접 셀들의 결과로서 임계 레벨의 시프트가 6개의 상태, 즉, 없는, 작은, 평균보다 작은, 평균인, 평균보다 큰, 및 큰 상태로 분류되지만, 이 시프트는 6개 이상의 상태로 분류될 수도 있다. 이 경우, 판독 정확도는 향상될 수 있다.
상술한 실시예 각각은 3비트의 8레벨 데이터 또는 4비트의 16 레벨 데이터에 국한되지 않으며, 다른 비트의 데이터에도 적용될 수도 있다.
도 46은 워드 라인에 접속된 복수의 메모리 셀의 절반을 한번에 선택하는 일례를 나타낸다. 한쌍의 비트 라인은 데이터 저장 회로(10)에 접속된다. 한쌍의 비트 라인들 중 하나는 데이터 저장 회로(10)에 선택적으로 접속된다. 제1 내지 제6 실시예는 메모리 셀 어레이에 적용될 수 있으며, 그 구성은 도 46에 나타난 바와 같다.
제3 실시예, 제4 실시예, 제5 실시예 및 제6 실시예에서와 같이, 그리고 도 40, 도 42, 도 44 및 도 45에 나타난 바와 같이, 임계 레벨은 워드 라인 WLn에 접속된 셀들로부터 65회 판독되고, 데이터는 데이터 저장 회로로부터 제어기로 65회 전송된다. 그러나, 65 레벨은 다음과 같이 27으로 표현될 수 있으며 7 비트로 표현될 수 있다.
"H"가 판독된 횟수가 0: 0000000
"H"가 판독된 횟수가 1: 0000001
"H"가 판독된 횟수가 2: 0000010
"H"가 판독된 횟수가 3: 0000011
"H"가 판독된 횟수가 4: 0000100
"H"가 판독된 횟수가 5: 0000101
.......
"H"가 판독된 횟수는 63이고: 1000000
"H"가 판독된 횟수는 64이고: 1000001
"H"가 판독된 횟수는 65이고: 1000010
이 때문에, 각 데이터 저장 회로는 예를 들면, 카운터로서 기능하게 된다. 카운터는 판독이 수행된 횟수를 카운트하여, 1비트 단위로 데이터를 제어기에 7회 전송한다.
제7 실시예에서와 같이, 메모리 셀들이 전체 판독 횟수의 절반 이상 판독되었을 때, 최상위 디지트(digit)는 외부로 출력될 수 있다. 이 때문에, 최상위 디지트 데이터가 외부로 출력중인 동안, 다음 데이터가 메모리 셀로부터 판독된다. 유사하게, 판독이 다수회 수행되기 때문에, 카운팅의 결과는 외부로 출력될 수 있다. 따라서, 결과가 외부로 순차적으로 출력중인 동안, 다음 데이터는 메모리 셀들로부터 판독될 수도 있다.
물론, LDPC 코드가 사용되지 않는 경우, 확률값은 출력될 필요가 없다. 이 때문에, 인접 셀들의 임계 레벨의 변동량에 따라 계산된 "H"의 수는 감소된다. 다음으로, 그 결과는 판독 데이터로서 직접 사용된다.
추가적인 이점 및 변형은 본 분야의 숙련된 자라면 바로 알 수 있을 것이다. 따라서, 좀 더 넓은 관점에서의 본 발명은 본 명세서에 도시되고 기술된 특정 상세 설명 및 대표 실시예들에 국한되지 않는다. 따라서, 첨부된 청구항 및 이들의 등가물에 의해 정의된 바와 같이 일반적인 발명 개념의 사상 또는 범위로부터 동떨어짐없이 다양한 변형이 이루어질 수도 있다.
본 발명은, 인접 셀의 부동 게이트 간의 커패시턴스에 따라서 적합한 보정값을 설정할 수 있는 반도체 메모리 디바이스를 제공한다.

Claims (19)

  1. 복수의 메모리 셀들 -상기 복수의 메모리 셀들 각각은 복수의 비트를 저장함- 이 매트릭스로 배열되어 있는 메모리 셀 어레이;
    보정 레벨을 저장하도록 형성되어 있는 저장부; 및
    상기 메모리 셀 어레이내의 제1 메모리 셀에 인접한 제2 메모리 셀의 임계 레벨을 판독하도록 형성되어 있으며, 상기 제2 메모리 셀로부터 판독된 임계 레벨에 따라 상기 저장부로부터 상기 보정 레벨을 판독하고, 상기 판독된 보정 레벨을 상기 제1 메모리 셀의 임계 레벨에 부가하여, 상기 제1 메모리 셀의 임계 레벨을 판독하는 제어부
    를 포함하는 반도체 메모리 디바이스.
  2. 제1항에 있어서, 상기 보정 레벨은 각 칩 또는 각 워드 라인에 대해 결정되는 반도체 메모리 디바이스.
  3. 제2항에 있어서, 상기 저장부는 칩들 각각 또는 워드 라인들 각각에 대한 상기 보정 레벨을 저장하는 반도체 메모리 디바이스.
  4. 제3항에 있어서, 상기 보정 레벨은 상기 반도체 메모리 디바이스가 언제 테스트될지를 결정하는 반도체 메모리 디바이스.
  5. 복수의 메모리 셀들 -상기 복수의 메모리 셀들 각각은 복수의 비트를 저장함- 이 매트릭스로 배열되어 있는 메모리 셀 어레이;
    상기 메모리 셀 어레이내의 제1 메모리 셀;
    상기 제1 메모리 셀에 인접하여 있으며 상기 제1 메모리 셀보다 나중에 기입되는 제2 메모리 셀;
    상기 제1 메모리 셀과 동시에 선택되며 일정한 임계 레벨이 기입되는 제3 메모리 셀;
    상기 제2 메모리 셀과 동시에 선택되며 상기 일정한 임계 레벨이 기입되는 제4 메모리 셀; 및
    상기 제1 메모리 셀의 임계 레벨이 판독될 때 상기 제3 메모리 셀의 임계 레벨을 판독하고, 상기 판독된 임계 레벨에 대응하는 제1 보정 레벨과 상기 제2 메모리 셀의 임계 레벨에 대응하는 제2 보정 레벨을 상기 제1 메모리 셀의 판독 레벨에 부가하여 상기 제1 메모리 셀의 임계 레벨을 판독하는 제어부를 포함하는 반도체 메모리 디바이스.
  6. 제5항에 있어서, 상기 제3 메모리 셀의 복수의 유닛과 상기 제4 메모리 셀의 복수의 유닛이 제공되고, 상기 제어부는 상기 복수의 제3 메모리 셀들로부터 판독된 임계 레벨을 다수에 의해 결정하는 반도체 메모리 디바이스.
  7. 복수의 메모리 셀들이 매트릭스로 배열되어 있으며 기입 데이터를 저장하기 위한 제1 메모리 셀과, 상기 제1 메모리 셀내의 데이터에 대한 에러 보정 비트를 저장하기 위한 제2 메모리 셀을 갖는 메모리 셀 어레이;
    상기 제1 및 제2 메모리 셀들로부터 판독된 데이터에 기초하여 상기 제1 메모리 셀로부터 판독된 상기 데이터의 에러를 보정하는 에러 보정부; 및
    복수의 판독 레벨에서 상기 제1 및 제2 메모리 셀들로부터 데이터를 복수회 판독하여 상기 에러 보정부에 사용되는 확률 데이터를 생성하는 제어부
    를 포함하는 메모리 시스템.
  8. 제7항에 있어서, 상기 제어부는 상기 메모리 셀에 인접한 메모리 셀의 임계 레벨을 검출하고, 상기 인접한 메모리 셀의 상기 검출된 임계 레벨의 변화량에 따라 상기 메모리 셀로부터 판독된 데이터를 보정하는 메모리 시스템.
  9. 제7항에 있어서, 동시에 선택된 상기 복수의 메모리 셀들은 복수의 데이터 페이지를 저장하고, 상기 제어부는 복수의 판독 레벨에서 상기 페이지 각각에 대해 상기 데이터를 판독하는 메모리 시스템.
  10. 제7항에 있어서,
    상기 페이지 각각에 대해 상기 데이터에 포함된 제1 논리 레벨의 횟수를 카운트하고 하나의 페이지에 대한 확률값을 생성하는 제어기를 더 포함하고,
    상기 에러 보정부는 상기 확률값에 기초하여 부정확한 데이터를 보정하는 메모리 시스템.
  11. 복수의 메모리 셀들 -상기 복수의 메모리 셀들 각각은 복수의 비트를 저장함- 이 매트릭스로 배열되어 있는 메모리 셀 어레이;
    상기 메모리 셀 어레이내의 제1 메모리 셀;
    상기 제1 메모리 셀에 인접하여 있으며 상기 제1 메모리 셀보다 나중에 기입되는 제2 메모리 셀;
    상기 제1 메모리 셀의 임계 레벨을 n(n은 자연수)번의 판독 레벨에서 판독하고, 상기 제2 메모리 셀의 임계 레벨을 k번(k는 n과 동일하거나 n보다 작음)의 판독 레벨에서 또한 판독하는 제어부; 및
    상기 n번의 판독 레벨에서 판독된 제1 논리 레벨의 횟수를 카운트하고, 상기 k번의 판독 레벨에서 판독된 상기 제2 메모리 셀의 임계 레벨의 변화량을 찾고, 상기 변화량에 따라 상기 카운팅의 결과를 보정하여, 상기 보정된 데이터를 판독 데이터로서 출력하는 제어기
    를 포함하는 메모리 시스템.
  12. 제11항에 있어서, 상기 제어기는 상기 n번의 판독 레벨에서 판독된 데이터에 포함된 상기 제1 논리 레벨 데이터 아이템(item)의 횟수를 카운트하고, 상기 k번의 판독 레벨에서 판독된 데이터의 변화량에 따라 상기 카운트된 횟수로부터 차동값을 차감하는 메모리 시스템.
  13. 제11항에 있어서, 동시에 선택된 상기 복수의 메모리 셀들은 복수의 데이터 페이지를 저장하고, 상기 제어부는 복수의 판독 레벨에서 상기 페이지들 각각에 대해 상기 데이터를 판독하는 메모리 시스템.
  14. 복수의 메모리 셀들 -상기 복수의 메모리 셀들 각각은 복수의 비트를 저장함- 이 매트릭스로 배열되어 있는 메모리 셀 어레이;
    상기 메모리 셀 어레이내의 제1 메모리 셀;
    상기 제1 메모리 셀에 인접하여 있으며 상기 제1 메모리 셀보다 나중에 기입되는 제2 메모리 셀;
    상기 제1 메모리 셀과 동시에 선택되며 일정한 임계 레벨이 기입되는 제3 메모리 셀;
    상기 제2 메모리 셀과 동시에 선택되며 일정한 임계 레벨이 기입되는 제4 메모리 셀;
    상기 복수의 메모리 셀들로부터 판독된 데이터에 기초하여 판독 데이터의 에러를 보정하는 에러 보정부; 및
    복수의 판독 레벨에서 상기 제1 메모리 셀로부터 데이터를 복수회 판독하는 것은 물론 상기 제3 메모리 셀의 임계 레벨을 판독하여 상기 에러 보정부에 사용되는 확률 데이터를 생성하고, 상기 제3 메모리 셀의 판독된 임계 레벨에 대응하는 제1 보정 레벨과 상기 제2 메모리 셀의 임계 레벨에 대응하는 제2 보정 레벨을 상기 제1 메모리 셀로부터 판독된 데이터에 부가하여 상기 보정된 데이터를 상기 확률 데이터로서 이용하는 제어부
    를 포함하는 메모리 시스템.
  15. 제14항에 있어서, 상기 제3 및 제4 메모리 셀들에는 가장 높은 임계 레벨이 기입되는 메모리 시스템.
  16. 제15항에 있어서,
    상기 제어부는, 상기 제3 메모리 셀의 임계 레벨이 상기 가장 높은 임계 레벨인 경우, 보정없이 상기 제2 메모리 셀내의 판독 레벨을 판독하고, 상기 제3 메모리 셀의 임계 레벨이 상기 가장 높은 임계 레벨보다 낮은 경우, 상기 레벨에 따라 보정된 판독 레벨에서 상기 제2 메모리 셀의 임계 레벨을 판독하고, 상기 제2 메모리 셀의 임계 레벨의 변화에 대응하는 값을 상기 제1 메모리 셀로부터 판독되는 데이터에 부가하는 메모리 시스템.
  17. 제14항에 있어서,
    동시에 선택된 상기 복수의 메모리 셀들은 복수의 데이터 페이지를 저장하고, 상기 제어부는 복수의 판독 레벨에서 상기 페이지 각각에 대해 상기 데이터를 판독하는 메모리 시스템.
  18. 복수의 메모리 셀들 -상기 복수의 메모리 셀들 각각은 복수의 비트를 저장함- 이 매트릭스로 배열되어 있는 메모리 셀 어레이;
    상기 메모리 셀 어레이내의 제1 메모리 셀;
    상기 제1 메모리 셀에 인접하여 있으며 상기 제1 메모리 셀보다 나중에 기입되는 제2 메모리 셀;
    상기 제1 메모리 셀의 임계 레벨을 n(n은 자연수)번의 판독 레벨에서 판독하는 것은 물론, 상기 제2 메모리 셀의 임계 레벨을 k번(k는 n과 동일하거나 n보다 작음)의 판독 레벨에서 판독함으로써, 상기 제2 메모리 셀의 임계 레벨을 찾는 제어부; 및
    상기 제2 메모리 셀의 각 임계 레벨에 대해 상기 제1 메모리 셀로부터 판독된 제1 논리 레벨의 횟수를 카운트하고, 상기 카운팅의 결과에 기초하여 상기 제1 메모리 셀에 기입된 임계 레벨의 중간값(center value)을 추정하여, 상기 중간값에 따라 상기 판독 레벨을 보정하는 제어기
    를 포함하는 메모리 시스템.
  19. 제18항에 있어서,
    동시에 선택된 상기 복수의 메모리 셀들은 복수의 데이터 페이지를 저장하고, 상기 제어부는 복수의 판독 레벨에서 상기 페이지들 각각에 대해 상기 데이터를 판독하는 메모리 시스템.
KR1020070053430A 2006-05-31 2007-05-31 판독 레벨을 정확하게 보정할 수 있는 반도체 메모리디바이스 KR100916874B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2006-00152660 2006-05-31
JP2006152660A JP5095131B2 (ja) 2006-05-31 2006-05-31 半導体記憶装置

Publications (2)

Publication Number Publication Date
KR20070115755A true KR20070115755A (ko) 2007-12-06
KR100916874B1 KR100916874B1 (ko) 2009-09-09

Family

ID=38789914

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070053430A KR100916874B1 (ko) 2006-05-31 2007-05-31 판독 레벨을 정확하게 보정할 수 있는 반도체 메모리디바이스

Country Status (3)

Country Link
US (2) US7525839B2 (ko)
JP (1) JP5095131B2 (ko)
KR (1) KR100916874B1 (ko)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7864574B2 (en) 2008-05-13 2011-01-04 Samsung Electronics Co., Ltd. Memory device and memory programming method
KR20110043210A (ko) * 2009-10-21 2011-04-27 삼성전자주식회사 불휘발성 메모리 장치, 그것의 읽기 방법, 그리고 그것을 포함하는 메모리 시스템
US8422307B2 (en) 2009-07-07 2013-04-16 Samsung Electronics Co., Ltd. Nonvolatile memory device and read method using dynamically determined read voltages
US8422291B2 (en) 2009-05-26 2013-04-16 Samsung Electronics Co., Ltd. Storage device and method for reading the same
US8503230B2 (en) 2008-12-12 2013-08-06 Samsung Electronics Co., Ltd. Access method of non-volatile memory device
US8773922B2 (en) 2008-11-10 2014-07-08 Samsung Electronics Co., Ltd. Non-volatile memory device, memory card and system, and method determining read voltage by comparing referenced program data with comparative read data
KR20150019410A (ko) * 2013-08-14 2015-02-25 삼성전자주식회사 비휘발성 메모리 장치의 독출 시퀀스 제어 방법 및 이를 수행하는 메모리 시스템
WO2019236168A3 (en) * 2018-04-30 2020-04-16 Western Digital Technologies, Inc. Memory failure detection and resource allocation

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7813170B2 (en) 2005-11-11 2010-10-12 Kabushiki Kaisha Toshiba Semiconductor memory device capable of memorizing multivalued data
JP4999921B2 (ja) * 2006-05-12 2012-08-15 アノビット テクノロジーズ リミテッド メモリ素子用の歪み推定と誤り訂正符号化の組み合せ
JP2008066466A (ja) * 2006-09-06 2008-03-21 Toshiba Corp 半導体記憶装置およびその読み出し電圧の補正方法
KR100818717B1 (ko) * 2007-01-18 2008-04-02 삼성전자주식회사 비휘발성 반도체 메모리 장치 및 상기 비휘발성 반도체메모리 장치의 프로그램 방법
US8006166B2 (en) * 2007-06-12 2011-08-23 Micron Technology, Inc. Programming error correction code into a solid state memory device with varying bits per cell
US7808831B2 (en) * 2008-06-30 2010-10-05 Sandisk Corporation Read disturb mitigation in non-volatile memory
JP5562329B2 (ja) 2008-07-01 2014-07-30 エルエスアイ コーポレーション フラッシュ・メモリ・コントローラとフラッシュ・メモリ・アレイの間でインタフェースをとるための方法および装置
JP5621175B2 (ja) * 2008-07-01 2014-11-05 エルエスアイコーポレーション 変調コーディングを使用するセル間干渉軽減のための方法および装置
US8458536B2 (en) * 2008-07-17 2013-06-04 Marvell World Trade Ltd. Data recovery in solid state memory devices
US8482976B2 (en) 2008-12-09 2013-07-09 Kabushiki Kaisha Toshiba Semiconductor memory device and semiconductor memory system storing multilevel data
KR101626528B1 (ko) * 2009-06-19 2016-06-01 삼성전자주식회사 플래시 메모리 장치 및 이의 데이터 독출 방법
JP2011044200A (ja) 2009-08-20 2011-03-03 Toshiba Corp 不揮発性半導体記憶装置
JP2011204299A (ja) * 2010-03-24 2011-10-13 Toshiba Corp 不揮発性半導体記憶装置
KR20110128436A (ko) 2010-05-24 2011-11-30 삼성전자주식회사 비휘발성 메모리 장치의 리드 레벨 추정 방법 및 이를 수행하는 메모리 컨트롤러, 및 기록매체
KR101203341B1 (ko) * 2010-09-14 2012-11-20 에스케이하이닉스 주식회사 불휘발성 메모리 장치 및 그의 동작 방법
JP2012069193A (ja) 2010-09-22 2012-04-05 Toshiba Corp 不揮発性半導体記憶装置およびその制御方法
JP2012069203A (ja) * 2010-09-22 2012-04-05 Toshiba Corp 不揮発性半導体記憶装置及び不揮発性半導体記憶装置の駆動方法
KR101196911B1 (ko) * 2010-12-30 2012-11-05 에스케이하이닉스 주식회사 반도체 장치 및 이를 이용한 전압 생성 방법
US9898361B2 (en) 2011-01-04 2018-02-20 Seagate Technology Llc Multi-tier detection and decoding in flash memories
US8988087B2 (en) 2011-01-24 2015-03-24 Microsoft Technology Licensing, Llc Touchscreen testing
US9965094B2 (en) 2011-01-24 2018-05-08 Microsoft Technology Licensing, Llc Contact geometry tests
US9542092B2 (en) 2011-02-12 2017-01-10 Microsoft Technology Licensing, Llc Prediction-based touch contact tracking
US8982061B2 (en) * 2011-02-12 2015-03-17 Microsoft Technology Licensing, Llc Angular contact geometry
US8879317B2 (en) 2011-03-01 2014-11-04 Sandisk Technologies Inc. System and method of decoding data from memory based on sensing information and decoded data of neighboring storage elements
US8913019B2 (en) 2011-07-14 2014-12-16 Microsoft Corporation Multi-finger detection and component resolution
US9785281B2 (en) 2011-11-09 2017-10-10 Microsoft Technology Licensing, Llc. Acoustic touch sensitive testing
JP2013118028A (ja) * 2011-12-02 2013-06-13 Toshiba Corp 半導体記憶装置
US8811081B2 (en) 2011-12-09 2014-08-19 Sandisk Technologies Inc. Systems and methods of updating read voltages in a memory
US8914254B2 (en) 2012-01-31 2014-12-16 Microsoft Corporation Latency measurement
US9001577B2 (en) * 2012-06-01 2015-04-07 Micron Technology, Inc. Memory cell sensing
JP2014157650A (ja) 2013-02-18 2014-08-28 Toshiba Corp 半導体記憶装置
KR102102233B1 (ko) 2013-02-22 2020-04-21 삼성전자주식회사 메모리 시스템 및 그것의 읽기 방법
JP2014225310A (ja) * 2013-05-16 2014-12-04 株式会社東芝 不揮発性半導体記憶装置
JP2015053096A (ja) * 2013-09-09 2015-03-19 マイクロン テクノロジー, インク. 半導体装置、及び誤り訂正方法
US9411668B2 (en) * 2014-01-14 2016-08-09 Nvidia Corporation Approach to predictive verification of write integrity in a memory driver
US10381102B2 (en) 2014-04-30 2019-08-13 Micron Technology, Inc. Memory devices having a read function of data stored in a plurality of reference cells
US9672928B2 (en) 2015-11-10 2017-06-06 Samsung Electronics Co., Ltd. Method and apparatus for estimating read levels of nonvolatile memory and for programming pilot signals used for such estimation
US10210042B2 (en) 2016-09-14 2019-02-19 Toshiba Memory Corporation Memory system
JP2018156711A (ja) * 2017-03-21 2018-10-04 東芝メモリ株式会社 メモリコントローラおよびデータ読み出し方法
JP2019153366A (ja) * 2018-03-06 2019-09-12 東芝メモリ株式会社 メモリシステム、読み出し方法、プログラム、およびメモリコントローラ
JP2020047339A (ja) 2018-09-18 2020-03-26 キオクシア株式会社 メモリシステム
JP2020047353A (ja) 2018-09-20 2020-03-26 キオクシア株式会社 メモリシステム
US11557350B2 (en) * 2020-10-16 2023-01-17 Western Digital Technologies, Inc. Dynamic read threshold calibration

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63308800A (ja) * 1987-06-10 1988-12-16 Hitachi Ltd 記憶装置
JPH02226597A (ja) * 1989-02-27 1990-09-10 Nec Corp メモリ装置のデータ補正方法
US5903495A (en) * 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
US5909449A (en) * 1997-09-08 1999-06-01 Invox Technology Multibit-per-cell non-volatile memory with error detection and correction
US6307783B1 (en) * 2001-02-26 2001-10-23 Advanced Micro Devices, Inc. Descending staircase read technique for a multilevel cell NAND flash memory device
JP2003051193A (ja) * 2001-08-07 2003-02-21 Hitachi Ltd 半導体装置
JP4068863B2 (ja) * 2002-03-08 2008-03-26 富士通株式会社 不揮発性多値半導体メモリ
JP3913704B2 (ja) * 2003-04-22 2007-05-09 株式会社東芝 不揮発性半導体記憶装置及びこれを用いた電子装置
JP2006114078A (ja) * 2004-10-12 2006-04-27 Toshiba Corp 不揮発性半導体記憶装置及びその動作方法
JP4786171B2 (ja) * 2004-12-10 2011-10-05 株式会社東芝 半導体記憶装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7864574B2 (en) 2008-05-13 2011-01-04 Samsung Electronics Co., Ltd. Memory device and memory programming method
US8773922B2 (en) 2008-11-10 2014-07-08 Samsung Electronics Co., Ltd. Non-volatile memory device, memory card and system, and method determining read voltage by comparing referenced program data with comparative read data
US8503230B2 (en) 2008-12-12 2013-08-06 Samsung Electronics Co., Ltd. Access method of non-volatile memory device
US8422291B2 (en) 2009-05-26 2013-04-16 Samsung Electronics Co., Ltd. Storage device and method for reading the same
US8422307B2 (en) 2009-07-07 2013-04-16 Samsung Electronics Co., Ltd. Nonvolatile memory device and read method using dynamically determined read voltages
KR20110043210A (ko) * 2009-10-21 2011-04-27 삼성전자주식회사 불휘발성 메모리 장치, 그것의 읽기 방법, 그리고 그것을 포함하는 메모리 시스템
KR20150019410A (ko) * 2013-08-14 2015-02-25 삼성전자주식회사 비휘발성 메모리 장치의 독출 시퀀스 제어 방법 및 이를 수행하는 메모리 시스템
WO2019236168A3 (en) * 2018-04-30 2020-04-16 Western Digital Technologies, Inc. Memory failure detection and resource allocation

Also Published As

Publication number Publication date
US20070279982A1 (en) 2007-12-06
JP2007323731A (ja) 2007-12-13
JP5095131B2 (ja) 2012-12-12
US7768830B2 (en) 2010-08-03
US20090190399A1 (en) 2009-07-30
US7525839B2 (en) 2009-04-28
KR100916874B1 (ko) 2009-09-09

Similar Documents

Publication Publication Date Title
KR100916874B1 (ko) 판독 레벨을 정확하게 보정할 수 있는 반도체 메모리디바이스
US11238925B2 (en) Semiconductor memory device and memory system
KR100893799B1 (ko) 불휘발성 반도체 기억 시스템
US8239730B2 (en) Non-volatile semiconductor memory device
KR101736414B1 (ko) 다른 메모리 셀들로부터의 영향을 감소시키는 것을 포함하는 비휘발성 저장 소자의 프로그래밍
US7808831B2 (en) Read disturb mitigation in non-volatile memory
JP3629144B2 (ja) 不揮発性半導体記憶装置
US8032810B2 (en) Non-volatile semiconductor storage device and non-volatile storage system
JP4945187B2 (ja) 半導体記憶装置
KR101328909B1 (ko) 데이터 신뢰성을 증가시키는 메모리 장치 프로그래밍
KR101688603B1 (ko) 비휘발성 저장 소자에 대한 프로그래밍 완료의 검출
TWI401686B (zh) 記憶體單元程式化
KR101030648B1 (ko) Ecc의 효율을 향상시킨 반도체 기억 장치
JP4157563B2 (ja) 半導体集積回路装置
KR101212387B1 (ko) 반도체 메모리 소자의 독출 방법
US8456907B2 (en) Semiconductor memory device and method of operating the same
JP2009016021A (ja) Nand型フラッシュメモリ
US20230197159A1 (en) Memory system and semiconductor storage device
JP5355667B2 (ja) メモリシステム

Legal Events

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

Payment date: 20120821

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130820

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150730

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160727

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170804

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180816

Year of fee payment: 10