KR20000048392A - 반도체 기억 장치 및 그 기억 방법 - Google Patents

반도체 기억 장치 및 그 기억 방법 Download PDF

Info

Publication number
KR20000048392A
KR20000048392A KR1019990061665A KR19990061665A KR20000048392A KR 20000048392 A KR20000048392 A KR 20000048392A KR 1019990061665 A KR1019990061665 A KR 1019990061665A KR 19990061665 A KR19990061665 A KR 19990061665A KR 20000048392 A KR20000048392 A KR 20000048392A
Authority
KR
South Korea
Prior art keywords
data
memory cell
state
logic level
read
Prior art date
Application number
KR1019990061665A
Other languages
English (en)
Other versions
KR100329950B1 (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 KR20000048392A publication Critical patent/KR20000048392A/ko
Application granted granted Critical
Publication of KR100329950B1 publication Critical patent/KR100329950B1/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • 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
    • 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/5628Programming or writing circuits; Data input circuits
    • 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/5628Programming or writing circuits; Data input circuits
    • G11C11/5635Erasing circuits
    • 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
    • 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/562Multilevel memory programming aspects
    • G11C2211/5621Multilevel programming verification
    • 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/5642Multilevel memory with buffers, latches, registers at input or output

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)
  • Semiconductor Memories (AREA)
  • Non-Volatile Memory (AREA)

Abstract

전위 Vb'로 베리파이 동작을 하는 경우, 전위 Vai+1로 셀의 데이터를 예비 리드하고, 이 상태를 래치 회로에 기억한다. 이어서, 전위 Vbi'로 베리파이 리드한다. 여기서, 셀의 상태가 Ai+1보다 높은 경우는 강제적으로 베리파이 리드 결과를 로우 레벨로 한다. 이 때문에, n 비트의 정보를 기억하는 경우에도, 래치 회로의 수는 기록 데이터를 기억하기 위한 하나의 래치 회로와 Ai+1보다 높은 셀인가 어떤가 예비 리드를 실행하고, 이 결과를 기억하기 위한 하나의 래치 회로의 합계 2개로 좋다.

Description

반도체 기억 장치 및 그 기억 방법{SEMICONDUCTOR MEMORY DEVICE AND MEMORY METHOD THEREOF}
본 발명은 예를 들면 불휘발성 반도체 기억 장치에 관한 것으로, 특히 다치 데이터를 기억하는 기억 장치 및 그 기억 방법에 관한 것이다.
전기적으로 재기록 가능한 불휘발성 반도체 기억 장치로서의 EEPROM을 사용한 NAND형 프래쉬 메모리가 제안되고 있다. 이 NAND형 프래쉬 메모리는 인접하여 배치된 복수의 메모리 셀의 소스, 드레인이 직렬 접속되고, 이 직렬 접속된 복수의 메모리 셀이 1단위로서 비트선에 접속된다. 이 NAND형 프래쉬 메모리에 있어서, 로우 방향으로 배열된 복수의 셀의 모두 또는 절반의 셀에 대하여 일괄해서 기록 또는 판독 동작이 실행된다.
근년, 이 NAND형 프래쉬 메모리의 하나의 셀에 복수의 데이터(n비트)를 기록하는 다치 메모리가 개발되어 있다. 이 다치 메모리의 경우, 하나의 셀에 복수의 데이터를 기록하고, 이 기록한 복수의 데이터를 판독하기 위해, 하나의 셀에 대하여 적어도 n개의 기록 및 판독용 래치 회로가 필요하였다. 왜냐하면, 이들 래치 회로에 래치되어 있는 데이터의 내용에 따라 셀의 임계값이 정해지기 때문이다.
그러나, 하나의 셀에 기억하는 데이터의 수 n이 커감에 따라, 데이터 래치 회로의 수도 n배로 되고, 칩내에 있어서의 래치 회로가 점유하는 면적이 크게 된다고 하는 문제를 갖고 있었다.
또한, 셀에 데이터를 기억하는 경우, 셀의 임계값이 기록한 데이터에 대응하고 있는가 어떤가가 베리파이된다. 이 베리파이 회수는 셀에 기록하는 데이터의 수가 증가함에 따라 늘어난다. 이 때문에, 데이터의 기록 및 기록 베리파이(write verify)에 요하는 시간이 길게 된다고 하는 문제를 갖고 있다.
본 발명의 목적은 상기 과제를 해결하기 위해 이루어진 것으로, 칩내에 있어서의 래치 회로가 점유하는 면적의 증가를 방지함과 동시에 기록 베리파이에 요하는 시간의 증가를 억제하는 것이 가능한 기억 장치 및 그 기억 방법을 제공하는 것이다.
도 1은 본 발명의 동작을 개략적으로 도시한 도면.
도 2는 본 발명의 제1 실시 형태를 도시한 것으로, 불휘발성 반도체 기억 장치의 개략 구성을 도시한 구성도.
도 3은 도 2에 도시한 메모리 셀 어레이 및 비트선 제어 회로를 도시한 회로도.
도 4a 및 도 4b는 메모리 셀 및 선택 트랜지스터를 도시한 단면도.
도 5는 NAND 셀의 일예를 도시한 단면도.
도 6은 본 발명의 제1 실시 형태를 도시한 것으로, 도 3에 도시한 데이터 기억 회로의 일예를 도시한 회로도.
도 7은 본 발명의 제1 실시 형태를 도시한 것으로, 메모리 셀의 데이터와 메모리 셀의 임계치 전압의 관계를 도시한 도면.
도 8은 메모리 셀의 데이터와 메모리 셀의 임계치 전압의 관계를 도시한 도면.
도 9는 프로그램 시의 동작을 도시한 타이밍도.
도 10은 최고값을 갖는 셀의 베리파이 동작을 도시한 타이밍도.
도 11은 중간의 임계값을 갖는 셀의 베리파이 동작을 도시한 타이밍도.
도 12는 최고값을 갖는 셀의 리드 동작을 도시한 타이밍도.
도 13a는 제1 페이지의 프로그램 베리파이 동작을 나타내고, 도 13b, 도 13c는 제2 페이지의 프로그램 베리파이 동작을 도시하고, 도 13d는 프로그램 베리파이 동작을 나타낸 플로우차트.
도 14a, 도 14b는 제3 페이지의 가장 높은 임계값을 갖는 셀의 프로그램 베리파이 동작을 도시한 도면.
도 15a, 도 15b는 제3 페이지의 중간 임계값을 갖는 셀의 프로그램 베리파이 동작을 도시한 도면.
도 16a, 도 16b는 제3 페이지의 중간 임계값을 갖는 셀의 프로그램 베리파이 동작을 도시한 도면.
도 17a, 도 17b는 제3 페이지의 중간 임계값을 갖는 셀의 프로그램 베리파이 동작을 도시한 도면.
도 18a는 제1 페이지의 리드 동작을 도시하고, 도 18b, 도 18c는 제2 페이지의 리드 동작을 도시한 도면.
도 19는 제3 페이지의 리드 동작을 도시한 도면.
도 20은 이레이즈 동작을 도시한 타이밍도.
도 21은 이레이즈 베리파이 동작을 도시한 타이밍도.
도 22는 본 발명의 제2 실시 형태를 도시한 것으로, 메모리 셀 어레이 및 비트선 제어 회로의 구성을 도시한 회로도.
도 23은 본 발명의 제2 실시 형태를 도시한 것으로, 데이터 기억 회로와 차동 앰프 및 로직 회로를 도시한 구성도.
도 24는 본 발명의 제2 실시 형태를 도시한 것으로, 도 23에 도시한 데이터 기억 회로의 일예를 도시한 회로도.
도 25는 본 발명의 제2 실시예를 도시한 것으로, 도 23에 도시한 차동 앰프 및 로직 회로를 도시한 회로도.
도 26은 차동 앰프와 레퍼런스 전위의 관계를 도시한 도면.
도 27은 본 발명의 제2 실시 형태에 있어서의 데이터와 임계치 전압의 관계를 도시한 도면.
도 28은 본 발명의 제2 실시 형태에 있어서의 데이터와 임계치 전압의 관계를 도시한 도면.
도 29는 프로그램 동작을 도시한 타이밍도.
도 30은 프로그램 베리파이 및 리드 동작을 도시한 타이밍도.
도 31은 차동 앰프에 공급되는 레퍼런스 전위를 도시한 도면.
도 32는 메모리 셀의 데이터와 레퍼런스 전위의 관계를 도시한 도면.
도 33a, 도 33b, 도 33c는 베리파이 동작을 도시한 도면.
도 34a, 도 34b, 도 34c는 리드 동작을 도시한 도면.
도 35는 이레이즈 동작을 도시한 타이밍도.
도 36은 본 발명의 제3 실시 형태를 도시한 것으로, 메모리 셀의 데이터와 메모리 셀의 임계치 전압의 관계를 도시한 도면.
도 37은 본 발명의 제3 실시 형태에 있어서의 제2 페이지의 프로그램 동작을 도시한 도면.
도 38은 본 발명의 제3 실시 형태에 있어서의 내부 입력 데이터 변환 동작을 도시한 도면.
도 39a, 도 39b는 각각 제1 페이지, 제2 페이지의 리드 동작을 도시한 도면.
도 40은 제3 페이지의 리드 동작을 도시한 도면.
도 41은 본 발명의 제3 실시 형태를 도시한 것으로, 메모리 셀의 데이터와 메모리 셀의 임계치 전압의 다른 관계를 도시한 도면.
<도면의 주요 부분에 대한 부호의 설명>
1 : 메모리 셀 어레이
2 : 비트선 제어 회로
3 : 컬럼 디코더
4 : 데이터 입출력 버퍼
6 : 워드선 제어 회로
7a : 제어 신호 발생 회로
7b : 제어 전압 발생 회로
본 발명의 목적은 다음의 방법에 의해 달성된다.
1회째의 기록에서 21개의 상태, 2회째의 기록에서 22개의 상태, k회째의 기록에서 2k= n개의 상태(k, n은 자연수)를 갖는 메모리 셀(M1∼M16)을 포함하는 기억 장치의 기억 방법에 있어서, k회째의 기록에 있어서, 제1 논리 레벨의 데이터 또는 제2 논리 레벨의 데이터를 데이터 기억 회로(310∼312111)에 기억하고, 상기 데이터 기억 회로의 데이터가 제1 논리 레벨의 데이터인 경우, 상기 메모리 셀(M1∼M16)의 상태 "i-1"(i≤n, i는 자연수)를 "i"로 하고, 상기 데이터 기억 회로의 데이터가 제2 논리 레벨의 데이터인 경우, 상기 메모리 셀의 상태를 유지하고, 상기 메모리 셀의 상태가 "i"의 상태에 도달하여 있고 또한 상기 메모리 셀의 상태가 "1"∼"i"인 경우, 상기 데이터 기억 회로의 데이터를 제1 논리 레벨에서 제2 논리 레벨로 변경하고, 상기 메모리 셀의 상태가 "i"상태에 도달하지 않고 또한 상기 메모리 셀의 상태가 "1"∼"i"인 경우, 상기 데이터 기억 회로의 데이터를 제1 논리 레벨에 유지하고, 상기 메모리 셀의 상태가 "i+1"∼"n "인 경우, 상기 데이터 기억 회로의 데이터를 유지하고, 상기 메모리 셀의 상태가 "i-1"에서 "i"의 상태로 천이할 때, 상기 메모리 셀의 상태는 일시적으로라도 "i+1"에서 "n "의 상태로 되지 않도록 상기 메모리 셀의 상태를 제어한다.
또한, 본 발명의 목적은 다음의 방법에 의해 달성된다.
n치의 상태를 갖는 메모리 셀을 포함하는 기억 장치의 기억 방법에 있어서, 외부에서 입력되는 제1 논리 레벨 또는 제2 논리 레벨의 데이터를 데이터 기억 회로에 기억하고, 상기 메모리 셀에서 판독되는 제1 논리 레벨 또는 제2 논리 레벨에 의해, 상기 데이터 기억 회로에 기억되어 있는 논리 레벨을 변경하고, 상기 데이터 기억 회로에 기억되어 있는 상기 변경된 논리 레벨이 제1 논리 레벨인 경우, 상기 메모리 셀의 상태를 변경하고, 제2 논리 레벨인 경우, 상기 메모리 셀의 상태를 유지한다.
본 발명의 목적은 다음 장치에 의해 달성된다.
상태 "0 ", 상태 "2 ", ... 상태 "n "(3≤n, n은 자연수)로 이루어진 n개의 상태를 갖는 메모리 셀(M1∼M16), 외부에서 입력되고 제1 논리 레벨 또는 제2 논리 레벨인 데이터를 기억하는 제1 데이터 기억 회로(LAT(A)), 상기 메모리 셀의 상태를 판독하는 판독 회로(2, 3, 6, 7a, 7b), 상기 판독 회로에 의해 판독된 상기 메모리 셀의 상태가 "0 "∼"i"인 경우에 제1 논리 레벨의 데이터를 기억하고, 상기 판독 회로에 의해 판독된 상기 메모리 셀의 상태가 "i"∼"n "의 경우에 제2 논리 레벨의 데이터를 기억하는 제2 데이터 기억 회로(LAT(B)), 상기 제1 데이터 기억 회로의 데이터가 제1 논리 레벨의 데이터인 경우, 메모리 셀의 상태 "i-1"을 "i"의 상태로 천이시키고, 상기 제2 데이터 기억 회로의 데이터가 제2 논리 레벨의 데이터인 경우, 상기 메모리 셀의 상태를 유지하는 기록 회로(2, 3, 6, 7a, 7b), 상기 메모리 셀의 상태가 "i"의 상태에 도달하여 있고 또한 상기 제2 데이터 기억 회로의 데이터가 제1 논리 레벨인 경우에 상기 제1 데이터 기억 회로의 데이터를 제1 논리 레벨에서 제2 논리 레벨로 변경하고, 상기 메모리 셀의 상태가 "i"상태에 도달하지 않고 또한 상기 제2 데이터 기억 회로의 데이터가 제1 논리 레벨인 경우에 상기 제1 데이터 기억 회로의 데이터를 유지하고, 상기 제2 데이터 기억 회로의 데이터가 제2 논리 레벨인 경우, 상기 제1 데이터 기억 회로의 데이터를 유지하는 기록 베리파이 회로(7a), 및 상기 메모리 셀의 상태가 "i-1"에서 "i"의 상태로 천이할 때, 상기 메모리 셀의 상태가 일시적으로라도 "i+1"에서 "n "의 상태로 되지 않도록 상기 메모리 셀의 상태를 제어하는 기록 상태 제어 회로(7a)를 포함하는 반도체 메모리 장치에 의해 상기 목적이 달성된다.
또한, 본 발명의 목적은 다음의 장치에 의해 달성된다.
상태 "1", 상태 "2 ", ... 상태 "n "(3≤n, n은 자연수)의 n개의 상태를 갖는 메모리 셀(M1∼M16), 상기 메모리 셀에서 출력된 전위가 제1입력단에 각각 공급되고, 제2입력단에 다른 전위의 레퍼런스 전위가 각각 공급되는 적어도 하나의 차동 증폭기(DFA1∼DFA7)를 갖는 차동 증폭 회로부(231), 상기 적어도 하나의 차동 증폭기의 출력 신호를 선택적으로 인출하는 로직 회로(232), 상기 메모리 셀에 접속되어, 제1 논리 레벨의 데이터 또는 제2 논리 레벨의 데이터를 기억하는 데이터 기억 회로(LAT(C)), 및 상기 데이터 기억 회로의 데이터가 제1 논리 레벨의 데이터인 경우, 상기 메모리 셀의 상태 "i-1"을 "i"로 하고, 상기 데이터 기억 회로의 데이터가 제2 논리 레벨의 데이터인 경우, 상기 메모리 셀의 상태를 유지하고, 상기 메모리 셀의 상태가 "i"상태에 도달하여 있고 또한 상기 메모리 셀의 상태가 "1"∼"i"인 경우, 상기 데이터 기억 회로의 데이터를 제1 논리 레벨에서 제2 논리 레벨로 변경하고, 상기 메모리 셀의 상태가 "i"상태에 도달하지 않고 또한 상기 메모리 셀의 상태가 "1"∼"i"인 경우, 상기 데이터 기억 회로의 데이터를 제1 논리 레벨로 유지하고, 상기 메모리 셀의 상태가 "i+1"∼"n "인 경우, 상기 데이터 기억 회로의 데이터를 유지하고, 상기 메모리 셀의 상태가 "i-1"에서 "i"의 상태로 천이할 때, 상기 메모리 셀의 상태가 일시적으로라도 "i+1"에서 "n"의 상태로 되지 않도록 상기 메모리 셀의 상태를 제어하는 제어 회로(2, 3, 6, 7a, 7b)를 포함하는 반도체 메모리 장치에 의해 달성된다.
본 발명의 기억 장치 및 기억 방법에 의하면, 칩내에 있어서의 래치 회로가 점유하는 면적의 증가를 방지함과 동시에 기록 베리파이에 요하는 시간의 증대를 억제할 수 있다.
이하, 본 발명의 실시 형태에 대하여 도면을 참조하여 설명한다.
(제1 실시 형태)
먼저, 본 발명의 제1 실시 형태에 대하여 개략적으로 설명한다.
본 발명은 1회의 기록 동작시에 하나의 셀에 1비트의 데이터를 기록한다. 이 셀에 다음 1비트의 데이터를 기록할 때, 외부에서 새로 데이터를 페치하여 기록하는 동작을 실행한다. 이후 순차, 1회의 기록 동작당 1비트씩 기록을 실행한다.
종래, 예를 들면, 처음에 1비트의 데이터를 셀에 기록하면, 셀은 데이터의 "1"또는 "0"에 따라 2개의 임계값의 상태로 된다. 다음 1비트의 데이터를 셀에 기록하면, 이 기록한 데이터에 따라, 앞서 2개의 임계값의 상태 각각에 대하여, 하나씩 새로운 임계값의 상태가 필요하게 된다. 이 때문에, 앞서 2개의 임계값 상태와 기록시에 선택되지 않은 기록 비선택 상태(write non-select state)의 3개의 임계값 상태를 기억하므로, 적어도 2개의 래치 회로가 필요하였다. 또한, 다음 1비트의 데이터를 기록하는 경우, 앞서 4개의 임계값 상태 각각에 대하여, 하나씩 새로운 상태가 필요하게 되므로, 앞서 4개의 임계값 상태와 기록 비선택인 상태의 합계 5개의 상태를 기억할 필요가 있다. 이 때문에, 적어도 3개의 래치 회로가 필요하게 된다. 따라서, 하나의 셀에 n비트 기록하고자 하면 n개의 래치 회로가 필요하게 된다.
본 발명에 있어서, 하나의 셀에 n-1비트의 데이터가 기록되어 있는 경우, 셀의 임계값은 M = 2(n-1)값 존재한다. 도 1에 도시한 바와 같이, A1∼Am까지 m값의 임계값의 레벨이 있는 경우, 셀의 임계값은 이들 레벨 내의 어느 값으로 되어 있다. 다음 1비트의 데이터를 도 1에 도시한 B1과 같이 A1, Ai+1 사이에 설정하고, 기록하는 1비트의 데이터가 데이터 "1"(기록을 실행하지 않음)일 때는 셀의 임계값을 변화시키지 않고 Ai그대로 한다. 또한, 데이터 "0"(기록을 실행함)일 때는 기록 동작을 실행하여 Bi로 한다. 이와 같이 하면, 앞서 쓰여져 있는 상태가 A1∼Am의 어느것이라도 금회 기록을 실행하는 데이터가 "1"인 경우는 기록을 실행하지 않고, "0"인 경우는 기록을 실행할 수 있다. 즉, 셀에 기록되어 있는 데이터에 의하지 않고 기록 동작을 개시할 수 있다.
이어서, 금회 기록한 셀의 임계값이 Bi의 레벨까지 기록되었는가 베리파이 동작을 실행할 필요가 있다. 이 경우, 셀의 게이트 전위를 Vbi'로 하고, 이때 셀이 온하는가 오프하는가를 조사하고, 오프한 경우, 셀의 임계값이 전위 Vbi'보다 높으므로 기록 종료로 된다.
그러나, 처음 셀의 상태가 A1∼Am중 어디에 있는가 알 수 없으므로, 전위 Vbi'∼Vbm' 모두의 임계값으로 베리파이 동작을 실행하고, A1에서 Bi에 기록 동작이 실행되어 있는 셀만 올바르게 기록되어 있는가 어떤가를 판단해야 한다.
전위 Vbi'로 베리파이 동작을 하는 경우, 셀의 임계값이 Ai+1보다 높은 경우도, 셀이 오프, 즉 베리파이 OK로 되어 버린다. 따라서, 전위 Vai+1로 셀의 데이터를 예비 리드하고, 이 상태를 래치 회로에 기억한다. 이어서, 전위 Vbi로 베리파이 리드한다. 여기서, 셀의 상태가 Ai+1보다 높은 경우는 강제적으로 베리파이 리드 결과를 로우 레벨(베리파이 NG)로 한다. 한편, 이 때, 셀의 상태가 Ai미만인 경우는 셀이 반드시 온하므로 베리파이 NG로 된다. 따라서, 비트선의 레벨은 Bi에서의 베리파이 OK시만 하이 레벨로 된다.
이어서, 기록 데이터가 기억되어 있는 래치 회로가 하이 레벨(기록을 실행하지 않음)인 경우는 비트선이 강제적으로 하이 레벨로 된다. 이 동작에 의해, 비트선은 베리파이 OK 또는 처음부터 하이 레벨이 래치되어 있는 (기록을 실행하지 않음) 경우만 하이 레벨로 된다. 이 결과를 기록하는 데이터가 래치되어 있는 래치 회로에 래치한다. 한편, 기록 NG의 경우만 래치 회로는 로우 레벨로 된다.
이와 같이 하여, 전위 Vb1'∼Vbm'의 모든 베리파이 동작이 실행된다. 그러나, Ai 내지 Bi에 기록 동작이 실행되고 있는 셀에서 전위 Vbi'의 베리파이 OK시만 데이터 래치 회로가 기록 비선택(데이터 "1")으로 된다. 이 때문에, 다른 베리파이 전위에서는 데이터 래치 회로의 내용이 변하지 않는다.
이상의 동작에 의해, 본 발명의 경우, n비트의 정보를 기억하는 경우에도 항상 기록 데이터를 기억하기 위한 하나의 래치 회로와 Ai+1보다 높은 셀(베리파이를 무시하는 셀)인가 아닌가 예비 리드를 실행하고 그 결과를 기억하기 위한 하나의 래치 회로의 합계 2개의 래치 회로만으로 된다.
도 2는 본 발명의 불휘발성 반도체 기억 장치의 개략 구성을 도시한 것으로, 예를 들면, 8치(3비트)를 기억하는 NAND형 프래쉬 메모리의 구성을 도시하고 있다.
메모리 셀 어레이(1)는 복수의 비트선과 복수의 워드선과 공통 소스선을 포함하고, 예를 들면, EEPROM 셀로 이루어진 전기적으로 데이터를 리라트할 수 있는 메모리 셀이 매트릭스 형상으로 배치되어 있다. 이 메모리 셀 어레이(1)에는 비트선을 제어하기 위한 비트선 제어 회로(2)와 워드선 제어 회로(6)가 접속되어 있다.
비트선 제어 회로(2)는 후술하는 바와 같이 복수의 데이터 기억 회로를 포함하고, 비트선을 거쳐 메모리 셀 어레이(1) 중의 메모리 셀의 데이터를 판독하거나 비트선을 거쳐 메모리 셀 어레이(1) 중의 메모리 셀의 상태를 검출하거나 비트선을 거쳐 메모리 셀 어레이(1) 중의 메모리 셀에 기록 제어 전압을 인가하여 메모리 셀에 기록을 실행한다. 비트선 제어 회로(2)에는 컬럼 디코더(3), 데이터 입출력 버퍼(4)가 접속되어 있다. 비트선 제어 회로(2) 내의 데이터 기억 회로는 컬럼 디코더(3)에 의해 선택되고, 이 데이터 기억 회로에 판독된 메모리 셀의 데이터는 상기 데이터 입출력 버퍼(4)를 거쳐 데이터 입출력 단자(5)에서 외부로 출력된다.
또한, 외부에서 데이터 입출력 단자(5)에 입력된 기록 데이터는 데이터 입출력 버퍼(4)를 거쳐 컬럼 디코더(3)에 의해 선택된 데이터 기억 회로에 입력된다.
워드선 제어 회로(6)는 메모리 셀 어레이(1)에 접속되어 있다. 이 워드선 제어 회로(6)는 메모리 셀 어레이(1) 중의 워드선을 선텍하고, 판독 또는 기록 또는 소거에 필요한 전압을 부여한다.
메모리 셀 어레이(1), 비트선 제어 회로(2), 컬럼 디코더(3), 데이터 입출력 버퍼(4) 및 워드선 제어 회로(6)는 제어 신호 발생 회로(7a) 및 제어 전압 발생 회로(7b)에 접속되고, 이 제어 신호 발생 회로(7a) 및 제어 전압 발생 회로(7b)에 의해 제어된다. 제어 신호 발생 회로(7a) 및 제어 전압 발생 회로(7b)는 제어 신호 입력 단자(8)에 접속되고, 외부에서 제어 신호 입력 단자(8)를 거쳐 입력되는 제어 신호에 의해 제어된다. 즉, 제어 신호 발생 회로(7a) 및 제어 전압 발생 회로(7b)는 외부에서 공급되는 제어 신호에 따라, 메모리 셀의 프로그램 동작, 프로그램 베리파이 동작, 리드 동작, 이레이즈 동작, 이레이즈 베리파이 동작 등에 필요한 신호 및 전압을 발생한다.
도 3은 도 2에 도시한 메모리 셀 어레이(1) 및 비트선 제어 회로(2)의 구성을 도시하고 있다. 비트선 제어 회로(2)는 예를 들면, 2112개의 데이터 기억 회로(310), (311)∼(312111)를 갖고 있다. 각 데이터 기억 회로(310), (311)∼(312111)는 컬럼 셀렉트 게이트(320), (321)∼(322112)를 거쳐 상기 데이터 입출력 버퍼에 접속되어 있다. 즉, 컬럼 셀렉트 게이트(320), (321)∼(322112)는 컬럼 선택 신호 CSL0, CSL1∼CSL2112에 의해 제어된다. 각 데이터 기억 회로(310), (311)∼(312111)에는 한쌍의 비트선이 접속된다. 즉, 데이터 기억 회로(310)에는 비트선 BL0, BL1이 접속되고, 데이터 기억 회로(311)에는 비트선 BL2, BL3이 접속되고, 데이터 기억 회로(312111)에는 비트선 BL4222, BL4223이 접속되어 있다.
메모리 셀 어레이(1)에는 복수의 NAND 셀이 배치되어 있다. 하나의 NAND 셀은 직렬 접속된 예를 들면 16개의 EEPROM으로 이루어진 메모리 셀 M1, M2, M3∼M16과 이 메모리 셀 M1에 접속된 선택 게이트 S1과 메모리 셀 M16에 접속된 선택 게이트 S2에 의해 구성되어 있다. 제1선택 게이트 S1은 비트선 BL0에 접속되고, 제2선택 게이트 S2는 소스선 SRC에 접속되어 있다. 각 행에 배치된 메모리 셀 M1, M2, M3∼M16의 제어 게이트는 워드선 WL1, WL2, WL3∼WL16에 공통 접속되어 있다. 제1선택 게이트 S1은 셀렉트선 SG1에 공통 접속되고, 제2선택 게이트 S2는 셀렉트선 SG2에 공통 접속되어 있다.
1블럭은 4224개의 NAND 셀에 의해 구성되고, 이 블록 단위로 데이터가 소거된다. 하나의 워드선에 접속된 메모리 셀은 1섹터를 구성하고, 이 섹터마다 데이터가 기록되고, 판독된다. 또한, 1섹터에는 예를 들면, 3페이지분의 데이터가 기억된다.
도 4a, 도 4b는 메모리 셀 및 선택 트랜지스터의 단면도를 도시하고 있다. 도 4a는 멤리 셀을 도시하고 있다. 기판(41)에는 메모리 셀의 소스, 드레인으로서의 n형 확산층(42)이 형성되어 있다. 기판(41) 상에는 게이트 절연막(43)을 거쳐 부유 게이트(44)가 형성되고, 이 부유 게이트(44) 상에는 절연막(45)을 거쳐 제어 게이트(46)가 형성되어 있다. 도 4b는 선택 트랜지스터를 도시하고 있다. 기판(41)에는 소스, 드레인으로서의 n형 확산층(47)이 형성되어 있다. 기판(41) 상에는 게이트 절연막(48)을 거쳐 제어 게이트(49)가 형성되어 있다.
도 5는 메모리 셀 어레이의 하나의 NAND 셀의 단면을 도시하고 있다. 이 예에 있어서, 하나의 NAND 셀은 도 4a에 도시한 구성의 16개의 메모리 셀 M1∼M16이 직렬 접속되어 구성되어 있다. NAND 셀의 드레인측, 소스측에는 도 4b에 도시한 구성의 제1선택 게이트 S1 및 제2선택 게이트 S2가 마련되어 있다.
도 6은 도 3에 도시한 데이터 기억 회로(310)을 도시하고 있다. 데이터 기억 회로는 모두 동일 구성이므로, 데이터 기억 회로(310)에 대해서만 설명한다.
비트선 BLi에는 N채널 트랜지스터(61a)의 전류 통로의 한쪽끝이 접속되어 있다. 이 트랜지스터(61a)의 게이트에는 신호 BLTR이 공급되어 있다. 이 트랜지스터(61a)의 전류 통로의 다른쪽끝은 트랜지스터(61b)의 전류 통로의 한쪽끝 및 트랜지스터(61c)의 전류 통로의 한쪽 끝에 접속되어 있다. 상기 트랜지스터(61b)의 전류 통로의 다른쪽끝은 단자(62a)에 접속되어 있다. 이 단자(62a)에는 전압 VBLA가 공급되어 있다. 또한, 상기 트랜지스터(61b)의 게이트에는 신호 PREA가 공급되어 있다. 상기 트랜지스터(61c)의 게이트에는 신호 BLSA가 공급되어 있다.
또한, 비트선 BLi+1에는 N채널 트랜지스터(61d)의 전류 통로의 한쪽끝이 접속되어 있다. 이 트랜지스터(61d)의 게이트에는 상기 신호 BLTR이 공급되어 있다. 이 트랜지스터(61d)의 전류 통로의 다른쪽끝은 트랜지스터(61e)의 전류 통로의 한쪽끝 및 트랜지스터(61f)의 전류 통로의 한쪽 끝에 접속되어 있다. 상기 트랜지스터(61e)의 전류 통로의 다른쪽끝은 단자(62b)에 접속되어 있다. 이 단자(62b)에는 전압 VBLB가 공급되어 있다. 또한, 상기 트랜지스터(61e)의 게이트에는 신호 PREB가 공급되어 있다. 상기 트랜지스터(61f)의 게이트에는 신호 BLSB가 공급되어 있다. 트랜지스터(61b), (61e)는 신호 PREA, PREB에 따라 비선택의 비트선을 전위 VBLA, VBLB로 프리차지한다. 상기 트랜지스터(61c), (61f)는 신호 BLSA, BLSB에 따라 비트선을 선택한다.
상기 트랜지스터(61c), (61f)의 전류 통로의 다른쪽끝은 트랜지스터(61g)를 거쳐 단자(62c)에 접속됨과 동시에 노드 NE에 접속되어 있다. 상기 트랜지스터(61g)의 게이트에는 신호 BIAS가 공급되고, 단자(62c)에는 전압 VCC가 공급되어 있다. 이 트랜지스터(61g)는 데이터 판독시에 신호 BIAS에 따라 비트선을 프리차지한다.
상기 노드 NE에는 트랜지스터(61h)의 전류 통로의 한쪽끝이 접속되어 있다. 이 트랜지스터(61h)의 게이트에는 신호 BLC1이 공급되고, 이 트랜지스터(61h)의 전류 통로의 다른쪽끝에는 제1래치 회로 LAT(A)가 접속되어 있다. 이 제1래치 회로 LAT(A)는 2개의 클럭드 인버터 회로(61i), (61j)에 의해 구성되어 있다. 클럭드 인버터 회로(61i)는 신호 SEN1, SEN1B(B는 반전 신호를 나타냄)에 의해 제어되고, 클럭드 인버터 회로(61j)는 신호 LAT1, LAT1B에 의해 제어된다. 이 제1래치 회로 LAT(A)는 기록 데이터를 래치한다.
또한, 상기 노드 NE에는 트랜지스터(61k), (61l)이 직렬 접속되어 있다. 트랜지스터(61k)의 게이트는 상기 제1래치 회로 LAT(A)의 노드 NC에 접속되고, 트랜지스터(61l)의 게이트에는 신호 VRFY1이 공급되어 있다. 또한, 트랜지스터(61l)의 전류 통로에는 전압 VREG가 공급되어 있다. 이들 트랜지스터(61k), (61l)는 제1래치 회로 LAT(A)에 래치된 데이터에 따라 비트선의 전위를 설정한다.
또한, 상기 제1래치 회로 LAT(A)의 노드 NA는 P채널 트랜지스터(61m)을 거쳐 단자(62d)에 접속되어 있다. 이 트랜지스터(61m)의 게이트에는 신호 PRSTB1이 공급되고, 상기 단자(62d)에는 전압 VCC가 공급되어 있다. 이 트랜지스터(61m)는 데이터의 기록시 또는 판독시에 제1래치 회로 LAT(A)의 노드 NA를 하이 레벨로 설정한다. 또한, 노드 NA는 커패시터(61n)를 거쳐 접지되어 있다. 이 커패시터(61n)는 데이터의 판독시에 노드 NA의 전하를 유지한다.
또한, 상기 노드 NA는 병렬 접속된 트랜지스터(61o)와 클럭드 인버터 회로(61p)를 거쳐 도시하지 않은 상기 컬럼 셀렉트 게이트에 접속된다. 트랜지스터(61o)의 게이트에는 시호 SPB가 공급되고, 클럭드 인버터 회로(61p)는 신호 Osac, Osacb에 의해 제어된다. 트랜지스터(61o)는 데이터의 기록시는 상기 컬럼 셀렉트 게이트를 거쳐 공급되는 데이터를 제1래치 회로 LAT(A)로 전송한다. 상기 클럭드 인버터 회로(61p)는 데이터의 판독시에 버퍼로서 동작한다.
한편, 상기 노드 NE에는 트랜지스터(61q)의 전류 통로의 한쪽끝이 접속되어 있다. 이 트랜지스터(61q)의 게이트에는 신호 BLC2가 공급되고, 이 트랜지스터(61q)의 전류 통로의 다른쪽끝에는 제2래치 회로 LAT(B)가 접속되어 있다. 이 제2래치회로 LAT(B)는 2개의 클럭드 인버터 회로(61r), (61s)에 의해 구성되어 있다. 클럭드 인버터 회로(61r)는 신호 SEN2, SEN2B에 의해 제어되고, 클럭드 인버터 회로(61s)는 신호 LAT2, LAT2B에 의해 제어된다. 이 제2래치 회로 LAT(B)는 메모리 셀에서 판독된 데이터를 래치한다.
또한, 상기 노드 NE에는 트랜지스터(61t), (61u)가 직렬 접속되어 있다. 트랜지스터(61t)의 게이트는 상기 제2래치 회로 LAT(B)의 노드 ND에 접속되고, 트랜지스터(61u)의 게이트에는 신호 VRFY2가 공급되어 있다. 또한, 트랜지스터(61u)의 전류 통로에는 전압 VREG가 공급되어 있다. 또한, 트랜지스터(61t), (61u)는 제2래치 회로 LAT(B)에 래치된 데이터에 따라 비트선의 전위를 설정한다.
또한, 제2래치 회로 LAT(B)의 노드 NB는 P채널 트랜지스터(61v)를 거쳐 단자(62e)에 접속되어 있다. 이 트랜지스터(61v)의 게이트에는 신호 PRSTB2가 공급되고, 상기 단자(62e)에는 전압 VCC가 공급되어 있다. 이 트랜지스터(61v)는 베리파이 리드시에 제2래치 회로 LAT(B)의 노드 NB를 하이 레벨로 설정한다. 또한, 노드 NB는 커패시터(61w)를 거쳐 접지되어 있다. 이 커패시터(61w)는 베리파이 리드시에 노드 NB의 전하를 유지한다.
상기 구성에 있어서 동작에 대하여 설명한다.
도 7, 도 8에 도시한 바와 같이, 메모리 셀의 데이터와 메모리 셀의 임계치 전압의 관계를 정의한다. 도 7에 있어서, 메모리 셀의 데이터 "0"∼"7"는 메모리 셀의 임계값이 낮은쪽부터 높은 쪽으로 정의되어 있다. 또한, "a"∼"g"는 리드 동작시에 있어서의 워드선의 전위를 나타내고, "a' "∼"g' "는 베리파이 리드(verify read) 동작시에 있어서의 워드선의 전위를 나타내고 있다.
이 메모리는 다치 메모리이므로, 1셀에 3비트의 데이터를 기억할 수 있다. 이 3비트의 전환은 어드레스(제1 페이지, 제2 페이지, 제3 페이지)에 의해 실행한다. 도 8은 기록 및 판독 데이터와 메모리 셀의 데이터 및 임계치 전압의 관계를 나타내고 있다. 여기서, 예를 들면, 판독시를 고려한다. 예를 들면, 어드레스에 제1 페이지를 지정하면, 메모리 셀의 데이터가 "0"∼"3"이면 데이터 "1"이 판독되고, 메모리 셀의 데이터가 "4"∼"7"이면, 데이터 "0"가 판독된다. 이어서, 어드레스에 제2 페이지를 지정하면, 메모리 셀의 데이터가 "0", "1", "4", "5"이면 데이터 "1"이 판독되고, 메모리 셀의 데이터가 "2", "3", "6", "7"이면 데이터 "0"이 판독된다. 또한, 어드레스에 제3 페이지를 지정하면, 메모리 셀의 데이터가 "0", "2", "4", "6"이면 데이터 "1"이 판독되고, 메모리 셀의 데이터가 "1", "3", "5", "7"이면 데이터 "0"이 판독된다. 데이터의 기록 동작은 이 판독 동작의 역으로 된다.
소거 동작을 실행하면 메모리 셀의 데이터는 "0"으로 되고, 어드레스에 제1, 제2, 제3 페이지의 어느것을 지정하여도 판독되는 데이터는 "1"로 된다.
(셀 선택 방법)
판독(리드) 동작, 프로그램 베리파이 동작 및 프로그램 동작시에는 데이터 기억 회로에 접속되어 있는 2줄의 비트선(BLi, BLi+1) 중 외부에서 지정된 어드레스에 의해 1줄의 비트선이 선택된다. 또한, 외부 어드레스에 의해, 1줄의 워드선이 선택되고, 도 3에 도시한 1섹터가 선택된다. 이 섹터의 전환은 어드레스에 의해 실행된다.
소거(이레이즈) 동작은 도 3에 도시한 블록 단위로 실행한다. 또한, 데이터 기억 회로에 접속되어 있는 2줄의 비트선(BLi, BLi+1)에 대하여 동시에 실행한다.
이레이즈 베리파이 동작은 1회의 동작으로 데이터 기억 회로에 접속되어 있는 2줄의 비트선(BLi, BLi+1)중 비트선(BLi)에 대하여 베리파이 리드 동작을 실행하고, 이 결과를 도 6에 도시한 제1래치 회로 LAT(A)에 기억한다. 이어서, 비트선(BLi+1)에 대하여 베리파이 동작을 실행하고, 이 결과와 전의 베리파이 리드의 결과의 논리합을 제1래치 회로 LAT(A)에 기억한다. 이 이레이즈 베리파이 동작은 모든 제1래치 회로 LAT(A)의 노드 NA가 로우 레벨로 될 때까지 반복된다.
(프로그램 및 프로그램 베리파이)
(제1 페이지 프로그램)
도 9는 프로그램시에 있어서의 각부의 전압을 나타내고 있다. 각부를 이와 같은 전압으로 설정하여 프로그램 동작이 실행된다.
프로그램 동작은 먼저 어드레스를 지정하고, 도 3에 도시한 하나의 섹터를 선택한다. 이 메모리는 3페이지중 제1 페이지, 제2 페이지, 제3 페이지의 순서로 밖에 프로그램 동작할 수 없다. 따라서, 처음에 어드레스로 제1 페이지를 선택한다.
이어서, 기록 데이터를 데이터 입출력 버퍼(4), 컬럼 셀렉트 게이트, 도 6에 도시한 트랜지스터(61o)를 거쳐 모든 데이터 기억 회로내의 제1래치 회로 LAT(A)에 기억한다. 외부에서 데이터 "1"(기록을 실행하지 않음)이 입력되면, 제1래치 회로 LAT(A)의 노드 NA는 하이 레벨로 설정된다. 또한, 데이터 "0"(기록을 실행함)이 입력되면, 로우 레벨로 설정된다. 이후, 제1래치 회로 LAT(A)의 데이터는 데이터 기억 회로의 노드 NA의 전위, 제2래치 회로 LAT(B)의 데이터는 데이터 기억 회로의 노드 NB의 전위로 한다.
도 6에 도시한 트랜지스터(61h)의 게이트에 신호 BLC1로서 전압 VCC+Vth를 공급하면, 이 트랜지스터(61h)가 온한다. 또한, 트랜지스터 Tr(61c), (61a)가 온으로 되어 있으므로, 제1래치 회로 LAT(A)에 데이터 "1"이 기억되어 있을 때, 비트선은 전원 전위 VCC로 되고, 제1래치 회로 LAT(A)에 데이터 "0"이 기억되어 있을 때, 비트선은 접지 전위 VSS로 된다. 또한, 선택된 워드선에 접속되고, 비선택 페이지의 셀은 비트선이 비선택이므로, 기록이 실행되지는 않는다. 이 때문에, 이들 셀에 접속되어 있는 비트선도 데이터 "1"이 기억되어 있는 경우와 마찬가지로 전원 전위 VCC로 된다.
도 9에 도시한 바와 같이, 선택되어 있는 블록의 셀렉트선 SG1에 VCC를 공급하고, 선택 워드선에 VPGM(20V)를 공급하고, 비선택 워드선에 Vpass(10V)를 공급하면, 비트선이 VSS로 되어 있는 경우, 셀의 채널이 VSS, 워드선이 VPGM이므로 셀의 부유 게이트에 전자가 주입되고, 기록이 실행된다. 한편, 비트선이 VCC로 되어 있는 경우, 제1선택 게이트 S1이 오프한다. 이 때문에, 셀의 채널은 VSS가 아니고 Vpass이고, 커플링으로 Vpass/2로 되므로 프로그램이 실행되지 않는다.
데이터 "0"을 기록하는 경우, 도 8에 도시한 바와 같이, 메모리 셀의 데이터를 "4"로 한다. 데이터 "1"을 기록할 때, 메모리 셀의 데이터는 그대로 "0"이다.
(제1 페이지의 베리파이)
{가장 높은 임계값을 갖는 셀의 베리파이}
도 10, 도 13a를 참조하여 가장 높은 임계값을 갖는 셀의 베리파이 동작에 대하여 설명한다.
제1 페이지의 베리파이는 선택되어 있는 워드선에 리드시의 전위 d보다 조금 높은 전위 "d' "를 부여한다. 이후, "' "를 붙인 전위는 베리파이 전위를 나타내고, 리드 전위보다 약간 높은 값으로 한다.
이어서, 선택되어 있는 블록내의 비선택 워드선 및 셀렉트선 SG1에 전압 Vread를 공급한다. 이것과 함께, 도 6에 도시한 트랜지스터(61g)의 게이트에 공급되는 신호 BIAS를 하이 레벨로 하고, 비트선을 프리차지한다. 이후, 셀의 소스측의 셀렉트선 SG2를 하이 레벨로 한다. 셀의 임계치 전압이 "d' "보다 높을때는 셀이 오프하므로 비트선은 그대로 하이 레벨이다. 또한, 임계치 전압 "d' "에 도달하지 않은 경우, 셀이 온하므로 비트선은 VSS로 된다.
상술한 바와 같이, 기록을 실행하는 경우, 도 6에 도시한 제1래치 회로 LAT(A)에 로우 레벨이 기억되고, 기록을 실행하지 않는 경우, 제1래치회로 LAT(A)에 하이 레벨이 기억되어 있다. 이 때문에, VREG를 VCC로 하고, VRFY1을 하이 레벨로 하면, 기록을 실행하지 않는 경우에만 트랜지스터(61k), (61l)이 온하고, 비트선이 하이 레벨로 된다. 이 동작후, 비트선의 전위를 제1래치 회로 LAT(A)로 판독한다. 제1래치 회로 LAT(A)에 하이 레벨이 래치되는 것은 셀이 임계치 전압에 도달한 경우와 기록이 실행되지 않는 경우이다. 또한, 제1래치 회로 LAT(A)에 로우 레벨이 래치되는 경우는 셀이 임계치 전압에 도달하지 않은 경우뿐이다. 따라서, 제1래치 회로 LAT(A)가 로우 레벨인 경우는 다시 기록 동작을 실행하고, 모든 데이터 기억 회로의 데이터가 하이 레벨로 될 때까지 이 프로그램 동작과 베리파이 동작을 반복한다.
이상은 2치의 경우와 모든 같은 동작이다.
(제2 페이지의 프로그램)
제2 페이지의 프로그램도 제1 페이지의 프로그램과 마찬가지로, 다음 기록 데이터를 모든 데이터 기억 회로의 제1래치 회로 LAT(A)에 기억한다. 이어서, 소정의 전압을 공급하는 것에 의해 선택되어 있는 페이지 모두의 셀에 대하여 기록을 실행한다.
도 8에 도시한 바와 같이, 제1 페이지의 메모리 셀의 데이터가 "0"로 되어 있는(제1 페이지째에 기록 동작을 실행하지 않았음) 경우, 이 메모리 셀에 대하여 기록을 실행하면, 이 메모리 셀의 데이터는 "2"로 된다. 또한, 기록을 실행하지 않은 경우, 이 메모리 셀의 데이터는 그대로 "0"이다. 한편, 제1 페이지의 메모리 셀의 데이터가 "4"로 되어 있는(제1 페이지째에 기록 동작을 실행한) 경우, 이 메모리 셀에 대하여 기록을 실행하면 메모리 셀의 데이터는 "6"으로 된다. 또한, 기록을 실행하지 않으면 메모리 셀의 데이터는 그대로 "4"이다. 이와 같이, 제2 페이지의 프로그램은 메모리 셀의 데이터가 "2"로 기록되는 경우와 "6"으로 기록되는 경우가 있다.
(제2 페이지의 베리파이)
{가장 높은 임계값을 갖는 셀의 베리파이}
먼저, 도 10, 도 13b를 참조하여 메모리 셀의 데이터가 "6"인 경우의 베리파이 동작에 대하여 설명한다. 도 10은 각부의 전압을 나타내고, 도 13b는 동작 시퀀스를 나타내고 있다.
이 베리파이 동작은 상술한 제1 페이지 베리파이와 모든 같다. 왜냐하면, 전위 "f' "보다 높은 셀은 데이터 "6"의 셀이외 존재하지 않기 때문이다. 제1 페이지의 베리파이에서는 메모리 셀의 데이터가 "4"로 되었지만 베리파이를 하기 위해 워드선에 전위 "d' "를 부여하였다. 그러나, 금회는 메모리 셀의 데이터가 "6"으로 되었는가 베리파이하므로, 워드선에 전위 "f' "를 공급한다. 제1 페이지의 베리파이와 마찬가지 동작을 실행한 결과, 제1래치 회로 LAT(A)에 하이 레벨이 래치되는 것은 셀이 임계치 전압에 도달한 경우와 기록을 샐행하지 않은(처음부터 제1래치 회로 LAT(A)에 하이 레벨이 래치되어 있는) 경우이다. 또한, 제1래치 회로 LAT(A)에 로우 레벨이 래치되는 경우는 셀이 임계치 전압에 도달하지 않은 경우, 즉 메모리 셀에 데이터 "6"이 충분히 기록되어 있지 않은 경우와 메모리 셀에 데이터 "2"를 기록하고 있는 경우이다.
{중간의 임계값을 갖는 셀의 베리파이}
이어서, 도 11, 도 13c를 참조하여 중간의 임계값을 갖는 셀, 예를 들면, 메모리 셀의 데이터가 "2"로 되는 경우의 베리파이 동작에 대하여 설명한다. 도 11은 이 베리파이 동작시에 있어서의 각부의 전압을 나타내고, 도 13c는 이 동작 시퀀스를 나타내고 있다. 이 베리파이 동작은 워드선에 전위 "b' "를 공급하여 베리파이한다. 그러나, 이 경우, 메모리 셀의 데이터가 "4"이상으로 되어 있는 셀도 임계치 전압이 높다. 이 때문에, 이 메모리 셀도 오프하여 베리파이 OK로 되어 버린다. 이 때문에, 미리 메모리 셀의 데이터가 "4"이상으로 되어 있는가 조사하여 둘 필요가 있다. 그래서, 워드선에 전위 "d"를 공급하여 메모리 셀의 데이터를 판독하고, 이 판독한 데이터를 도 6에 도시한 데이터 기억 회로의 제2래치 회로 LAT(B)에 기억한다. 메모리 셀의 데이터가 "4"이상인 경우, 제2래치 회로 LAT(B)에 하이 레벨이 기억된다.
이어서, 워드선에 전위 "b' "를 공급하여 메모리 셀의 데이터를 판독한다. 이 결과, 비트선이 임계치 전압 "b' "에 도달하고 있든가 메모리 셀의 데이터가 "4"이상이면 하이 레벨로 된다. 또한, 비트선이 임계치 전압이 "b' "에 도달하고 있지 않든가 메모리 셀의 데이터 "0"인 경우, 로우 레벨로 된다. 여기서, 도 6에 도시한 신호 VREG를 전위 VSS, 트랜지스터(61u)의 게이트에 공급되는 전위 VRFY2를 하이 레벨로 하면, 제2래치 회로 LAT(B)가 하이 레벨로 되어 있는 경우, 트랜지스터(61t)가 온한다. 이때, 트랜지스터(61c, 61a, 61f, 61d)가 온하고 있으므로, 비트선이 로우 레벨로 된다. 즉, 메모리 셀의 데이터가 "4"이상인 경우, 비트선이 로우 레벨로 된다.
이어서, 제1래치 회로 LAT(A) 측의 신호 VREG를 VCC로 하고, 신호 VRFY1을 하이 레벨로 한다. 그러면, 제1래치 회로 LAT(A)에 하이 레벨이 래치되어 있을(기록을 실행하지 않는 경우) 때, 비트선이 하이 레벨로 된다. 이 동작후, 비트선의 전위를 제1래치 회로 LAT(A)로 판독한다. 제1래치 회로 LAT(A)에 하이 레벨이 래치되는 것은 데이터 "2"를 기록한 메모리 셀이 임계치 전압에 도달한 경우와 기록을 실행하지 않는 경우이다. 또한, 제1래치 회로 LAT(A)에 로우 레벨이 래치되는 경우는 데이터 "2"의 기록을 실행하고 있는 메모리 셀이 임계치 전압에 도달하지 않은 경우와 기록을 실행하고 있는 메모리 셀의 데이터가 "4"이상인 경우이다.
따라서, 제2 페이지의 베리파이 동작은 메모리 셀이 데이터 "2"로 기록되는 경우의 베리파이와 데이터 "6"으로 기록되는 경우의 베리파이 2회 실행한다. 이 결과, 제1래치 회로 LAT(A)가 로우 레벨인 경우는 다시 기록 동작을 실행하고, 모든 데이터 기억 회로의 데이터가 하이 레벨로 될 때까지 이 프로그램 동작과 베리파이 동작을 반복한다. 그러나, 메모리 셀의 데이터가 "6"인 경우, 임계치 전압이 높으므로, 기록에 시간을 요한다.
이 때문에, 도 13d에 도시한 바와 같이, 반복 실행하는 프로그램 베리파이 동작중, 처음 수회는 메모리 셀의 데이터가 "6"으로 되었는가 어떤가의 베리파이 동작을 생략할 수 있다. 또한, 수회 프로그램 베리파이 동작을 반복하면, 임계치 전압이 낮은 데이터 "2"의 기록은 당연히 종료하고 있는 것이다. 이 때문에, 이후 메모리 셀의 데이터 "2"에 대해서의 베리파이 동작을 생략하는 것이 가능하다. 또한, 데이터 "2"의 기록 종료에 가까워지면, 데이터"2"의 프로그램 베리파이와 데이터 "6"의 프로그램 베리파이 양쪽이 실행된다.
또한, 제2 페이지의 베리파이에서는 데이터 "2"를 기록하는 메모리 셀의 베리파이 동작중, 메모리 셀의 데이터가 "4"이상으로 되어 있는가 조사하므로, 워드선에 도 7에 도시한 "d"의 전위를 공급하여 리드 동작을 실행하고, 이 결과를 데이터 기억 회로의 제2래치 회로 LAT(B)에 기억하였다. 그러나, 제2래치 회로 LAT(B)는 이 동작 이외에 사용하지 않는다. 그러나, 전위 "d"를 사용한 예비 리드 동작은 반복 실행하는 프로그램과 베리파이 동작중 처음 1회만 실행하면 좋다.
(제3 페이지의 프로그램)
제3 페이지의 프로그램도 제1, 제2 페이지 프로그램과 마찬가지로, 다음 기록 데이터를 모두 데이터 기억 회로의 제1래치 회로 LAT(A)에 기억한다. 이어서, 워드선에 소정의 전압을 공급하는 것에 의해, 선택되어 있는 전페이지의 셀에 데이터가 기록된다.
도 8, 도 14a, 도 14b에 도시한 바와 같이, 메모리 셀의 데이터가 "0"인 경우, 기록된 메모리 셀의 데이터는 "1"로 되고, 기록되지 않은 메모리 셀의 데이터는 그대로 "0"이다. 메모리 셀의 데이터가 "2"인 경우, 기록된 메모리 셀의 데이터는 "3"으로 되고, 기록되지 않은 메모리 셀의 데이터는 그대로 "2"이다. 메모리 셀의 데이터가 "4"인 경우, 기록된 메모리 셀의 데이터는 "5"로 되고, 기록되지 않은 메모리 셀의 데이터는 그대로 "4"이다. 메모리 셀의 데이터가 "6"인 경우, 기록된 메모리 셀의 데이터는 "7"로 되고, 기록되지 않은 메모리 셀의 데이터는 그대로 "6"이다.
(제3 페이지의 베리파이)
제3 페이지의 프로그램에 의해 메모리 셀의 데이터가 "7", "5", "3", "1"의 4와 같이 기록된다. 이 때문에, 제3 페이지의 베리파이는 4회의 동작이 실행된다.
{가장 높은 임계값을 갖는 셀의 베리파이}
먼저, 도 10, 도 14b를 참조하여 메모리 셀의 데이터가 "7"로 되는 경우의 베리파이에 대하여 설명한다. 도 10은 이 베리파이 동작에 있어서의 각부의 전압을 나타내고, 도 14b는 이 베리파이 동작의 시퀀스를 나타내고 있다.
이 베리파이 동작은 상기 제1 페이지의 베리파이에서 메모리 셀의 데이터가 "4"로 되는 경우의 베리파이 동작 또는 제2 페이지의 베리파이에서 메모리 셀의 데이터가 "6"으로 되는 경우의 베리파이 동작과 모두 같다. 왜냐하면, 도 7에 도시한 "g"의 전위보다 높은 셀은 데이터 "7"의 셀로 하는 이외 존재하지 않기 때문이다. 이 경우, 워드선에 전위 "g' "를 공급하여 베리파이 동작을 실행한다.
이 베리파이 동작의 결과, 제1래치 회로 LAT(A)에 하이 레벨이 래치되는 것은 셀이 임계치 전압에 도달한 경우와 기록을 실행하지 않는(처음부터 제1래치 회로 LAT(A)에 하이 레벨이 래치되어 있는) 경우이다. 또한, 제1래치 회로 LAT(A)에 로우 레벨이 래치되는 경우는 셀이 임계치 전압에 도달하지 않은 경우, 즉 메모리 셀에 데이터 "7"이 충분히 기록되어 있지 않은 경우와 메모리 셀에 "1", "3", "5"의 데이터를 기록하고 있는 경우이다.
{중간의 임계값을 갖는 셀의 베리파이}
이어서, 메모리 셀의 데이터가 "5"로 되는 경우의 베리파이에 대하여 설명한다. 이 베리파이는 제2 페이지의 베리파이의 메모리 셀의 데이터가 "2"로 되는 베리파이와 같다.
단, 메모리 셀의 데이터가 "5"로 되어 있는가 어떤가를 베리파이하는 것이므로, 앞서 메모리 셀의 데이터를 읽어 두는 경우, 워드선은 도 7에 도시한 전위 "f"로 된다. 그리고, 다음 베리파이 리드시, 워드선은 전위 "e' "로 된다. 도 11은 이 베리파이시에 있어서의 각부의 전압을 나타내고, 도 15a, 도 15b는 이 동작 시퀀스를 나타낸다.
{중간의 임계값을 갖는 셀의 베리파이}
이어서, 메모리 셀의 데이터가 "3"으로 되는 경우의 베리파이 동작에 대하여 설명한다. 도 11은 이 동작에 있어서의 각부의 전압을 나타내고, 도 16a, 도 16b는 이 동작 시퀀스를 나타낸다.
이 베리파이 동작은 제2 페이지의 베리파이의 메모리 셀의 데이터가 "2"로 되는 경우의 베리파이 동작 및 제3 페이지의 베리파이의 메모리 셀의 데이터가 "5"로 되는 경우의 베리파이 동작과 같다.
단, 메모리 셀의 데이터가 "3"으로 되어 있는가 어떤가를 베리파이하는 것이므로, 앞서 메모리 셀의 데이터를 읽어 두는 경우의 워드선 전위는 도 7에 도시한 "d"이고, 다음 베리파이 리드시의 워드선 전위는 "c' "이다.
{중간의 임계값을 갖는 셀의 베리파이}
이어서, 메모리 셀의 데이터가 "1"로 되는 경우의 베리파이 동작에 대하여 설명한다. 도 11은 이 동작에 있어서의 각부의 전압을 나타내고, 도 17a, 도 17b는 이 동작 시퀀스를 나타내고 있다.
이 베리파이 동작은 제2 페이지의 베리파이의 메모리 셀의 데이터가 "2"로 되는 베리파이 동작 또는 제3 페이지의 베리파이의 메모리 셀의 데이터가 "5", "3"으로 되는 경우와 같다.
단, 메모리 셀의 데이터가 "1"로 되어 있는가 어떤가를 베리파이하므로, 앞서 메모리 셀의 데이터를 읽어 두는 경우의 워드선 전위는 도 7에 도시한 "b"이다. 그리고, 다음 베리파이 리드시의 워드선 전위는 "a' "이다.
상기와 같이, 메모리 셀의 데이터가 "7", "5", "3", "1"로 기록되므로, 제3 페이지의 베리파이 동작은 4회 실행된다. 이 결과, 제1래치 회로 LAT(A)가 로우 레벨인 경우는 다시 프로그램 동작이 실행되고, 모든 데이터 기억 회로의 데이터가 하이 레벨로 될 때까지 이 프로그램 동작과 베리파이 동작을 반복한다. 그러나, 제2 페이지의 프로그램 베리파이 동작과 마찬가지로, 메모리 셀의 데이터가 높은 임계치 전압인만큼 기록에 요하는 시간이 길다. 이 때문에, 반복 실행하는 프로그램 베리파이 동작중 처음 수회는 데이터 "7", "5", "3"에 대한 베리파이 동작을 생략하고, 데이터 "1"에 대해서만 실행한다. 이후, 수회 메모리 셀의 데이터 "1"과 "3"으로 베리파이하고, 이어서 데이터 "1"과 "3"과 "5"에 대하여 베리파이하고, 최후에 "1", "3", "5", "7"에 대하여 베리파이한다. 또한, 수회 반복해서 동작을 실행하면, 임계치 전압이 낮은 데이터가 "1"인 메모리 셀은 기록이 당연히 종료하고 있다. 이 때문에, 이후 데이터 "3", "5", "7", 이어서 데이터 "5", "7", 최후에 데이터 "7"만 베리파이하는 것에 의해, 베리파이 시간을 단축하는 것이 가능하다.
또한, 앞서 메모리 셀의 데이터를 판독하는 예비 리드는 베리파이시 매회 실행할 필요는 없고, 도 6의 제2래치 회로 LAT(B)에 데이터가 남아 있는 경우, 이 예비 리드를 생략할 수 있다.
(리드 동작)
(제1 페이지의 리드)
{가장 높은 임계값을 갖는 셀의 리드}
도 12는 이 리드 동작에 있어서의 각부의 전압을 나타내고, 도 18a는 이 동작 시퀀스를 도시하고 있다.
제1 페이지의 리드는 선택되어 있는 워드선에 리드시의 전위 "d"를 공급한다. 이어서, 선택되어 있는 블록내의 비선택 워드선 및 셀렉트선 SG1에 전위 Vread(4. 5 V)를 공급하고, 도 6에 도시한 트랜지스터(61g)의 게이트에 공급되는 전위 BIAS를 하이 레벨로 하고, 비트선을 프라차지한다. 이후, 셀의 소스측의 셀렉트선 SG2를 하이 레벨로 한다. 임계치 전압이 전위 "d"보다 높은 셀은 오프하므로 비트선은 그대로 하이 레벨이다. 또한, 임계치 전압이 "d"에 도달하지 않은 셀은 온하므로, 비트선은 접지 전위 VSS로 된다. 도 8에 도시한 바와 같이, 메모리 셀의 데이터와 메모리 셀의 임계치 전압을 정의하고 있으므로, 메모리 셀의 데이터가 "0", "1", "2", "3"이면, 비트선의 전위는 로우 레벨, 메모리 셀의 데이터가 "4", "5", "6", "7"이면, 비트선의 전위는 하이 레벨로 된다.
이어서, 이들 비트선의 전위를 제1래치 회로 LAT(A)로 판독하면, 메모리 셀의 데이터가 "0", "1", "2", "3"이면 제1래치 회로 LAT(A)는 로우 레벨로 된다. 또한, 메모리 셀의 데이터가 "4", "5", "6", "7"이면 제1래치 회로 LAT(A)는 하이 레벨로 된다. 그러나, 제1래치 회로 LAT(A)에 기억된 데이터를 출력할 때, 도 6에 도시한 클럭드 인버터 회로(61p)의 신호 Osac가 인에이블로 된다. 이 때문에, 데이터 기억 회로에서 출력되는 데이터는 메모리 셀의 데이터가 "0", "1", "2", "3"이면 "1", 메모리 셀의 데이터가 "4", "5", "6", "7"이면 "0"으로 된다.
상기 리드 동작은 2치의 경우와 마찬가지이다.
(제2 페이지의 리드)
제2 페이지의 리드 동작에 의해 얻어진 데이터가 "0"인 경우, 도 8에 도시한 바와 같이, 메모리 셀의 데이터가 "2"와 "3"및 "6"과 "7"의 2개의 떨어진 영역으로 되어 있다.
따라서, 최초에 메모리 셀의 데이터가 "6", "7"인가를 판단하고, 이어서 메모리 셀의 데이터가 "2", "3"인가를 판단한다.
{가장 높은 임계값을 갖는 셀의 리드}
도 12는 이 동작에 있어서의 각부의 전압을 나타내고, 도 18b는 동작 시퀀스를 나타내고 있다.
먼저, 메모리 셀의 데이터가 "6", "7"인가를 조사한다. 이것은 상술한 제1 페이지의 리드와 같다. 왜냐하면, 전위 "f"보다 높은 셀은 데이터 "6"이나 "7"의 셀이외 존재하지 않기 때문이다. 제1 페이지의 리드에서는 메모리 셀의 데이터가 "4", "5", "6", "7"인가를 조사하기 위해 워드선에 전위 "d"를 공급하였다. 이것에 대하여, 금회는 메모리 셀의 데이터가 "6"인가 "7"인가를 조사하기 위한 전위 "f"를 사용하여 리드 동작한다.
제1 페이지의 리드와 마찬가지로, 이 동작의 결과, 제1래치 회로 LAT(A)에 하이 레벨이 래치되는 것은 메모리 셀의 데이터가 "6", "7"의 경우뿐이다. 또한, 제1래치 회로 LAT(A)에 로우 레벨이 래치되는 경우는 메모리 셀의 데이터가 "0", "1", "2", "3", "4", "5"의 경우이다.
{중간의 임계값을 갖는 셀의 리드}
이어서, 메모리 셀의 데이터가 "2", "3"에 있는 가를 조사하는 리드 동작에 대하여 설명한다. 도 11은 이 동작에 있어서의 각부의 전압을 나타내고, 도 18b, 도 18c는 이 동작 시퀀스를 나타내고 있다.
이 리드 동작은 워드선에 전위 "b"를 공급하여 리드하면 좋다. 그러나, 메모리 셀의 데이터가 "4"이상으로 되어 있는 셀도 임계치 전압이 높으므로, 이 셀이 오프하여 버린다. 이 때문에, 미리 메모리 셀의 데이터가 "4"이상으로 되어 있는가 조사하여 둘 필요가 있다. 그래서, 워드선에 전위 "d"를 공급하여 리드 동작을 실행하고, 이 결과를 도 6에 도시한 제2래치 회로 LAT(B)에 기억한다. 이어서, 워드선에 전위 "b"를 공급하여 리드 동작을 실행하면, 비트선은 메모리 셀의 데이터가 "2"이상이면 하이 레베, 메모리 셀의 데이터가 "0"또는 "1"이면 로우 레벨로 된다.
여기서, 신호 VREG를 접지 전위 VSS, 신호 VRFY2를 하이 레벨로 하여, 트랜지스터(61u)를 온시키면, 제2래치 회로 LAT(B)가 하이 레벨로 되어 있는 경우, 비트선이 로우 레벨로 된다. 즉, 메모리 셀의 데이터가 "4"이상인 경우, 비트선이 로우 레벨로 된다. 따라서, 현시점에서는 메모리 셀의 데이터가 "2", "3"일때만 하이 레벨로 된다. 이 레벨을 제1래치 회로 LAT(A)에 페치하는 것이 고려된다. 그러나, 메모리 셀의 데이터가 "6", "7"이었던 경우, 앞선만큼 판독하여 제1래치 회로 LAT(A)에 기억한 내용이 없어져 버린다. 이 때문에, 신호 VREG를 전원 전위 VCC로 하고, 신호 VRFY1을 하이 레벨로 하여 트랜지스터(61l)을 온으로 한다. 제1래치 회로 LAT(A)에 하이 레벨이 래치되어 있는 경우(메모리 셀의 데이터가 "6", "7"), 비트선이 하이 레벨로 된다.
이 동작후, 비트선의 전위를 제1래치 회로 ALT(A)에 판독한다. 제1래치 회로 LAT(A)에 하이 레벨이 래치되는 것은 메모리 셀의 데이터가 "2", "3", "6", "7"일때이고, 로우 레벨이 래치되는 것은 메모리 셀의 데이터가 "0", "1", "4", "5"일때이다. 제1 페이지의 리드와 마찬가지로, 제1래치 회로 LAT(A)에 기억된 데이터를 출력할 때, 도 6에 도시한 클럭드 인버터 회로(61p)의 신호 Osac가 인에이블로 된다. 이 때문에, 데이터 기억 회로에서는 메모리 셀의 데이터가 "0", "1", "4", "5"이면 데이터 "1"이 출력되고, 메모리 셀의 데이터가 "2", "3", "6", "7"이면, 데이터 "0"이 출력된다.
또한, 제2 페이지의 리드에서는 메모리 셀의 데이터가 "2", "3"으로 되는 경우의 리드 동작중, 메모리 셀의 데이터가 "4"이상으로 되어 있는 가를 조사하여 두므로, 워드선에 전위 d를 인가하여 리드 동작을 실행하고, 이 결과를 도 6에 도시한 제2래치 회로 LAT(B)에 기억시켰다. 그러나, 제1 페이지의 리드후에 제2 페이지의 리드를 실행하는 경우, 제1래치 회로 LAT(A)에는 메모리 셀의 데이터가 "4"이상으로 되어 있는 경우, 하이 레벨이 래치되어 있다. 이 때문에, 이 제1래치 회로 LAT(A)의 내용을 제2래치 회로 LAT(B)로 전송하는 것에 의해 생략하는 것도 가능하다.
(제3 페이지의 리드)
제3 페이지의 리드에 있어서, 출력되는 데이터가 "0"인 경우, 도 8에 도시한 바와 같이, 메모리 셀의 데이터가 "1", "3", "5", "7"이다.
따라서, 처음에 메모리 셀의 데이터가 "7"인 가를 판단하고, 이어서 메모리 셀의 데이터가 "5"인 가를 판단한다. 이어서, 메모리 셀의 데이터가 "3"인가를 판단하고, 최후에 메모리 셀의 데이터가 "1"인가를 판단한다. 이 때문에, 4회 동작을 필요로 한다.
{가장 높은 임계값을 갖는 셀의 리드}
도 12는 이 리드 동작에 있어서의 각부의 전압이고, 도 19의 (a)는 동작 시퀀스를 나타내고 있다.
먼저, 메모리 셀의 데이터가 "7"인 가를 조사한다. 이것은 상기 제1 페이지의 리드와 제2 페이지의 리드의 메모리 셀의 데이터가 "6", "7"에 있는 경우와 마찬가지이다. 왜냐하면, 전위 "g"보다 높은 셀은 데이터 "7"이외 존재하지 않기 때문이다. 제1 페이지의 리드에서는 메모리 셀의 데이터가 "4", "5", "6", "7"인 가를 조사하기 위해 워드선에 전위 "d"를 공급하고, 제2 페이지의 리드에서는 메모리 셀의 데이터가 "6", "7"에 있으므로, 워드선에 전위 "f"를 공급하였다. 그러나, 금회는 메모리 셀의 데이터가 "7"인가를 조사하기 위해 전위 "g"로 리드 동작을 실행한다.
제1 페이지의 리드의 메모리 셀의 데이터가 "4", "5", "6", "7"인 경우면, 제2 페이지의 리드의 메모리 셀의 데이터가 "6", "7"에 있는 경우와 마찬가지로, 이 동작의 결과, 제1래치 회로 LAT(A)에 하이 레벨이 래치되는 것은 메모리 셀의 데이터가 "7"인 경우뿐이다. 또한, 제1래치 회로 LAT(A)에 로우 레벨이 래치되는 경우는 메모리 셀의 데이터가 "0", "1", "2", "3", "4", "5", "6"인 경우이다.
{중간의 임계값을 갖는 셀의 리드}
이어서, 메모리 셀의 데이터가 "5"로 되어 있는 경우의 리드 동작에 대하여 설명한다. 이 리드 동작은 제2 페이지의 리드의 메모리 셀의 데이터가 "2", "3"인 경우와 같다.
단, 메모리 셀의 데이터가 "5"인가 아닌가를 판단하기 위해, 앞서 메모리 셀의 데이터를 읽어 두는 경우, 워드선에는 전위 "f"가 공급된다. 다음 리드시, 워드선에는 전위 "e"가 공급된다. 이 동작 시퀀스를 도 19의 (b)에 도시한다.
{중간의 임계값을 갖는 셀의 리드}
이어서, 메모리 셀의 데이터가 "3"으로 되어 있는 경우의 리드 동작에 대하여 설명한다. 이 리드 동작은 제2 페이지의 리드의 메모리 셀의 데이터가 "2", "3"인 경우, 제3 페이지의 리드의 메모리 셀의 데이터가 "5"로 되어 있는 경우와 같다.
단, 메모리 셀의 데이터가 "3"인가 아닌가를 판단하기 위해, 앞서 메모리 셀의 데이터를 읽어 두는 경우, 워드선에는 전위 "d"가 공급되고, 다음 리드시에는 워드선에 전위 "c"가 공급된다. 이 동작을 도 19의 (c)에 도시한다.
{중간의 임계값을 갖는 셀의 리드}
이어서, 메모리 셀의 데이터가 "1"로 되어 있는 경우의 리드 동작에 대하여 설명한다. 이 리드 동작은 제2 페이지의 리드의 메모리 셀의 데이터가 "2", "3"인 경우, 제3 페이지의 리드의 메모리 셀의 데이터가 "5"및 "3"으로 되어 있는 경우와 같다.
단, 메모리 셀의 데이터가 "1"인가 아닌가를 판단하기 위해, 앞서 메모리 셀의 데이터를 읽어 두는 경우, 워드선에는 전위 "b"가 공급되고, 다음 리드시, 워드선에는 전위 "a"가 공급된다. 이 동작 시퀀스를 도 19의 (d)에 도시한다.
이상 4개의 동작에 의해, 메모리 셀의 데이터가 제1래치 회로 LAT(A)에 페치된다.
(이레이즈 및 이레이즈 베리파이 동작)
(이레이즈)
도 20은 이레이즈 동작을 도시하고 있다. 이레이즈 동작은 먼저 어드레스에 의해 도 3에 점선으로 나타낸 블록을 선택한다. 이레이즈 동작을 실행하면, 이 블록내의 각 메모리 셀의 데이터는 "0"으로 되고, 제1 페이지, 제2 페이지, 제3 페이지 어느것에서 리드를 실행하여도 데이터 "1"이 출력된다.
(이레이즈 베리파이)
도 21은 이레이즈 베리파이 동작을 나타내고 있다. 이레이즈 베리파이 동작은 데이터 기억 회로에 접속되어 있는 2줄의 비트선(BLi, BLi+1)에 대하여 1줄씩 실행된다. 예를 들면, 먼저 비트선(BLi)에 대하여 이레이즈 베리파이 동작이 실행된다. 이 결과는 도 6에 도시한 제1래치 회로 LAT(A)에 기억된다. 이 이레이즈 베리파이 동작은 리드 동작과 모두 같다. 그러나, 블록내의 모든 셀을 베리파이하기 위해, 선택되어 있는 블록내의 모든 워드선을 선택 상태, 즉 접지 전위 VSS로 한다. 셀렉트선 SG1에 전위 Vread를 공급하고, 도 6에 도시한 트랜지스터(61g)의 게이트에 공급되는 신호 BIAS를 하이 레벨로 하고, 비트선을 프리차지한다. 이후, 셀의 소스측의 셀렉트선 SG2를 하이 레벨로 한다.
소거가 충분히 실행되고, 셀의 임계치 전압이 기준값(0 V)이하이면, 비트선의 전위가 로우 레벨로 된다. 또한, 소거가 불충분, 즉 셀의 임계치 전압이 기준값(0 V)이상이면, 비트선의 전위가 하이 레벨로 된다. 이 데이터는 제1래치 회로 LAT(A)에 래치된다. 소거가 불충분할 때, 제1래치 회로 LAT(A)에는 하이 레벨이 래치되고, 소거가 충분한 경우, 제1래치 회로 LAT(A)에는 로우 레벨이 래치된다.
이어서, 다른쪽 비트선(BLi+1)에 대하여 베리파이 동작이 실행된다. 이 결과를 제1래치 회로 LAT(A)에 페치하는 것이 고려된다. 그러나, 제1래치 회로 LAT(A)에 기억한 데이터가 파괴되어 버리므로, 신호 VREG를 전원 전위 VCC로 하고, 신호 VRFY1을 하이 레벨로 하여 트랜지스터(61l)를 온으로 한다. 제1래치 회로 LAT(A)에 하이 레벨이 래치되어 있을(소거 불충분) 때, 트랜지스터(61k, 61l)를 거쳐 비트선이 하이 레벨로 된다. 이 동작후, 비트선의 전위를 제1래치 회로 LAT(A)로 판독한다. 제1래치 회로 LAT(A)에 하이 레벨이 래치되는 것은 양쪽 비트선(BLi, BLi+1)의 어느것인가가 소거 불충분일때이다.
이와 같이 하여, 모든 제1래치 회로 LAT(A)의 데이터가 로우 레벨로 될 때까지 이레이즈, 이레이즈 베리파이 동작이 반복된다.
또한, 본 실시예에서는 1셀에 8치, 3비트를 기억하는 메모리를 예로 설명하였다. 그러나, 1셀에 16치, 4비트를 기억하는 경우, 제3 페이지에서 정한 8치에 대하여 하나씩 설정값을 정하고, 상기와 모두 같은 프로그램 동작 및 프로그램 베리파이 동작을 실행하는 것에 의해 실현할 수 있다. 따라서, 본 발명을 사용하면, 데이터 기억 회로 및 이것을 제어하는 동작을 전혀 변동하는 일 없이 16치이상에 대해서도 실시할 수 있다.
상기 제1 실시 형태에 의하면, 1회의 기록 동작으로, 하나의 셀에 1비트의 데이터만 기록된다. n-1비트의 데이터가 기록되어 있는 경우, 셀의 임계치 전압은 2(n-1)개 존재한다. 다음 1비트의 데이터 기록에 의해, 2n값의 레베로 된다. 새로 설정하는 임계치 전압을 이미 존재하는 임계치 전압과 임계치 전압 사이로 정하면, 이 새로 설정한 임계치 전압에 도달하였는가가 베리파이할 때, 이미 이 임계치 전압보다 높은 임계치 전압으로 데이터가 기록되어 있는가 어떤가를 앞서 조사하고, 이 결과를 제거하는 것에 의해, 새로 설정한 임계치 전압에서의 베리파이 결과 만을 낼 수 있다. 이 때문에, 전에 기록한 데이터 모두를 래치 회로로 판독할 필요가 없다. 따라서, 제1 실시 형태의 경우, 기록 데이터를 기억하기 위한 하나의 제1래치 회로 LAT(A)와 베리파이 동작시에 소정의 임계치 전압보다 높은 임계치 전압에 데이터가 있는가 어떤가를 조사한 결과를 기억하기 위한 하나의 제2래치 회로 LAT(B)를 갖고 있으면 좋다. 따라서, n의 값이 크게 되어도, 2개의 래치 회로만으로 구성할 수 있으므로, 칩에 대한 래치 회로의 점유 면적 증대를 방지할 수 있다.
또한, 이 래치 회로를 움직이는 기본 시퀀스는 워드선의 전위와 프로그램 회수 만을 변경하는 것만으로 좋다. 이 때문에, 제어를 용이화할 수 있는 이점을 갖고 있다.
또한, 도 6에 도시한 데이터 기억 회로에 대하여, 제1래치 회로 LAT(A) 만이 트랜지스터(61o)와 클럭드 인버터 회로(61p) 및 도시하지 않은 컬럼 셀렉트 게이트를 거쳐 데이터 입출력 버퍼(4)에 접속되고, 제2래치 회로 LAT(B)는 데이터 입출력 버퍼(4)에 접속되지 않는다. 이 때문에 패턴 면적을 축소할 수 있다.
(제2 실시 형태)
상기 제1 실시 형태에서는 제n페이지시의 프로그램 베리파이 동작 및 리드 동작 시, 워드선을 하이 레벨로 하여 셀의 데이터를 읽고 래치하는 동작을 2n회 실행해야 한다. 따라서, n의 값이 크게 됨에 따라 프로그램 베리파이 및 리드 시간이 증대한다.
NAND형 셀에서는 셀의 임계치 전압을 부로 하면, 이 임계치 전압에 대응하는 전압을 비트선으로 출력할 수 있다. 따라서, 모든 데이터에 대응하는 임계치 전압을 부로 설정하고, 1회의 리드 동작으로 비트선에 메모리 셀의 임계치 전압에 상당하는 전위를 출력시킨다. 이들 비트선의 전위를 복수의 차동 앰프에서 동시에 베리파이하여 OK인가 NG인가를 판단하거나 또는 데이터가 "1"인가 "0"인가를 판별한다. 이와 같이 하면, 프로그램 베리파이 및 리드 시간의 증대를 제어할 수 있다. 그러나, 복수의 차동 앰프 및 이들의 출력에 접속되는 로직 회로는 큰 패턴으로 된다. 이 때문에, 하나의 차동 앰프 및 로직 회로를 복수의 센스 앰프에 공유시키고, 시분할로 사용한다. 이하, 제2 실시 형태에 대하여 설명한다.
제2 실시 형태에 있어서의 불휘발성 반도체 기억 장치의 전체 구성은 도 2와 마찬가지이다.
도 22는 도 2에 도시한 메모리 셀 어레이(1) 및 비트선 제어 회로(2)의 구성을 도시한 것이고, 도 3과 동일 부분에는 동일 부호를 붙이고, 다른 부분에 대해서만 설명한다. 도 22에 있어서, 비트선 제어 회로(2)를 구성하는 데이터 기억 회로(220), (221)∼(222111)이 도 3과 다르다. 각 데이터 기억 회로(220), (221)∼(222111)는 차동 앰프와 로직 회로에 접속된다.
즉, 도 23에 도시한 바와 같이, 264개의 차동 앰프부(231)와 로직 회로(232)는 264개의 Y셀렉터군(233)에 접속되어 있다. 각 셀렉터군(233)은 8개의 데이터 기억 회로에 접속되어 있다. 각 Y셀렉터군(233)에 있어서, 각 데이터 기억 회로와 차동 앰프부(231)와 로직 회로(232) 사이에는 한쌍의 트랜지스터가 접속되어 있다. 이들 한쌍의 트랜지스터는 신호 YA0∼YA7에 의해 제어되고, 각 데이터 기억 회로와 차동 앰프부(231)와 로직 회로(232)를 접속한다.
도 24는 도 22, 도 23에 도시한 데이터 기억 회로(220)의 구성을 도시하고 있다. 하나의 데이터 기억 회로(220)는 하나의 래치 회로를 포함하고 있다. 비트선 BLi에는 N채널 트랜지스터(241a)의 전류 통로의 한쪽끝이 접속되어 있다. 이 트랜지스터(241a)의 게이트에는 신호 BLTR이 공급되고 있다. 이 트랜지스터(241a)의 전류 통로의 다른쪽끝은 트랜지스터(241b)의 전류 통로의 한쪽끝 및 트랜지스터(241c)의 전류 통로의 한쪽 끝에 접속되어 있다. 상기 트랜지스터(241b)의 전류 통로의 다른쪽끝은 단자(242a)에 접속되어 있다. 이 단자(242a)에는 전압 VBLA가 공급되고 있다. 또한, 상기 트랜지스터(241b)의 게이트에는 신호 PREA가 공급되고 있다. 상기 트랜지스터(241c)의 게이트에는 신호 BLSA가 공급되고 있다.
또한, 비트선 BLi+1에는 N채널 트랜지스터(241d)의 전류 통로의 한쪽끝이 접속되어 있다. 이 트랜지스터(241d)의 게이트에는 상기 신호 BLTR이 공급되고 있다. 이 트랜지스터(241d)의 전류 통로의 다른쪽끝은 트랜지스터(241e)의 전류 통로의 한쪽끝 및 트랜지스터(241f)의 전류 통로의 한쪽 끝에 접속되어 있다. 상기 트랜지스터(241e)의 전류 통로의 다른쪽끝은 단자(242b)에 접속되어 있다. 이 단자(242b)에는 전압 VBLB가 공급되고 있다. 또한, 상기 트랜지스터(241e)의 게이트에는 신호 PREB가 공급되고 있다. 상기 트랜지스터(241f)의 게이트에는 신호 BLSB가 공급되고 있다. 트랜지스터(241b, 241e)는 신호 PREA, PREB에 따라 비선택 비트선을 전위 VBLA, VBLB로 프리차지한다. 상기 트랜지스터(241c, 241f)는 신호 BLSA, BLSB에 따라 비트선을 선택한다.
상기 트랜지스터(241c, 241f)의 전류 통로의 다른쪽끝은 노드 NE에 접속되어 있다. 이 노드 NE에는 트랜지스터(241h)의 전류 통로의 한쪽끝이 접속되어 있다. 이 트랜지스터(241h)의 게이트에는 신호 BLC1이 공급되고, 이 트랜지스터(241h)의 전류 통로의 다른쪽끝에는 래치 회로 LAT(C)가 접속되어 있다. 이 래치 회로 LAT(C)는 2개의 클럭드 인버터 회로(241i, 241j)에 의해 구성되어 있다. 클럭드 인버터 회로(241i)는 신호 SEN1, SEN1B(B는 반전 신호를 나타냄)에 의해 제어되고, 클럭드 인버터 회로(241j)는 신호 LAT1, LAT1B에 의해 제어된다. 이 래치 회로 LAT(C)는 기록 데이터를 래치한다.
또한, 상기 래치 회로 LAT(C)의 노드 NA는 P채널 트랜지스터(241m)를 거쳐 단자(242d)에 접속되어 있다. 이 트랜지스터(241m)의 게이트에는 신호 PRSTB1이 공급되고, 상기 단자(242d)에는 전압 VCC가 공급되고 있다. 이 트랜지스터(241m)는 데이터의 기록시 또는 판독시에 래치 회로 LAT(C)의 노드 NA를 하이 레벨로 설정한다.
또한, 상기 노드 NA는 병렬 접속된 트랜지스터(241o)와 클럭드 인버터 회로(241p)를 거쳐 도시하지 않은 상기 로직 회로(232) 및 상기 컬럼 셀렉트 게이트에 접속된다. 트랜지스터(241o)의 게이트에는 신호 SPB가 공급되고, 클럭드 인버터 회로(241p)는 신호 Osac, Osacb에 의해 제어된다. 트랜지스터(241o)는 데이터의 기록시에 상기 컬럼 셀렉트 게이트를 거쳐 공급되는 데이터를 래치 회로 LAT(C)로 전송한다. 상기 클럭드 인버터 회로(241p)는 데이터의 판독시에 버퍼로서 동작한다. 또한, 상기 노드 NE는 상기 Y 셀렉터를 거쳐 도시하지 않은 상기 차동 앰프부(231)에 접속된다.
도 25는 차동 앰프부(231)와 로직 회로(232)를 도시하고 있다. 차동 앰프부(231)는 7개의 차동 앰프 DFA1∼DFA7을 갖고 있다. 본 실시 형태에서는 하나의 셀에 8치(3 비트) 기억하고 있으므로 7개 필요하다. 그러나, 하나의 셀에 2n치(n 비트)기억하는 경우는 (2n)-1개 필요하다. 상기 차동 앰프 DFA1∼DFA7의 반전 입력단에는 상기 데이터 기억 회로의 노드 NE에서 출력된 신호가 각각 공급되고, 비반전 입력단에는 제어 전압 발생 회로(253)에서 소정의 전압이 공급된다.
상기 차동 앰프 DFA3의 출력단에는 인버터 회로(251a)의 입력단이 접속되어 있다. 이 인버터 회로(251a)의 출력 신호, 차동 앰프 DFA2의 출력 신호 및 신호 EN1은 노어 회로(251b)에 공급되고 있다. 상기 차동 앰프 DFA5의 출력단에는 인버터 회로(251c)의 입력단이 접속되어 있다. 이 인버터 회로(251c)의 출력 신호, 차동 앰프 DFA4의 출력 신호 및 신호 EN1, EN2는 노어 회로(251d)에 공급되고 있다. 상기 차동 앰프 DFA7의 출력단에는 인버터 회로(251e)의 입력단이 접속되어 있다. 이 인버터 회로(251e)의 출력 신호, 차동 앰프 DFA6의 출력 신호 및 신호 EN1, EN2는 노어 회로(251f)에 공급되고 있다.
상기 로직 회로(232)에 있어서, 노어 회로(252a)에는 상기 데이터 기억 회로의 출력 신호와 신호 VerifyB가 공급되고 있다. 이 노어 회로(252a)의 출력 신호, 차동 앰프 DFA1의 출력 신호 및 노어 회로(251b, 251d, 251f)의 출력 신호는 노어 회로(252b)에 공급된다. 이 노어 회로(252b)의 출력 신호는 래치 회로 LAT(D)에 공급된다. 이 래치 회로 LAT(D)는 클럭드 인버터 회로(252c, 252d)에 의해 구성되어 있고, 이들 클럭드 인버터 회로(252c, 252d)는 신호 PD에 의해 제어된다. 이 래치 회로 LAT(D)의 출력 신호는 인버터 회로(252e), 클럭드 인버터 회로(252f)를 거쳐 상기 Y 셀렉터, 데이터 기억 회로에 접속된다.
도 26은 상기 제어 전압 발생 회로(7b)에 의해 발생되는 전압과 그 전압의 차동 앰프 DFA1∼DFA7로의 공급 전위를 나타내고 있다.
도 27, 도 28에 도시한 바와 같이, 메모리 셀의 데이터와 메모리 셀의 임계치 전압을 정의한다. 모든 임계치 전압이 부인 것을 알 수 있다. 여기서, 메모리 셀의 데이터 "0"∼"7"는 메모리 셀의 임계치 전압이 낮은쪽에서 높은 쪽으로 정의되어 있다. 또한, 이 메모리는 다치 메모리이므로, 1셀에 3비트의 데이터를 기억할 수 있다. 이 3비트의 전환은 어드레스(제1 페이지, 제2 페이지, 제3 페이지)에의해 실행한다. 예를 들면, 데이터의 판독시에 있어서, 어드레스에 의해 제1 페이지를 지정하면, 메모리 셀의 데이터가 "0"∼"3"이면 데이터 "1"이 판독되고, 메모리 셀의 데이터가 "4"∼"7"이면, 데이터 "0"이 판독된다. 어드레스에 의해 제2 페이지를 지정하면, 메모리 셀의 데이터가 "0", "1", "4", "5"이면, 데이터 "1"이 판독되고, 메모리 셀의 데이터가 "2", "3", "6", "7"이면, 데이터 "0"이 판독된다. 어드레스에 의해 제3 페이지를 지정하면, 메모리 셀의 데이터가 "0", "2", "4", "6"이면, 데이터 "1"이 판독되고, 메모리 셀의 데이터가 "1", "3", "5", "7"이면, 데이터 "0"이 판독된다.
소거 동작을 실행하면, 메모리 셀의 데이터는 "0"으로 되고, 어드레스에 제1, 제2, 제3 페이지의 어느것을 지정하여도, 판독되는 데이터는 "1"로 된다.
(셀 선택 방법)
셀 선택 방법은 제1 실시 형태와 마찬가지이고, 리드 동작, 프로그램 베리파이 동작 및 프로그램 동작시에는 도 22에 도시하는 1섹터(3페이지)가 선택된다. 이 3페이지는 어드레스에 의해 전환된다. 이레이즈 동작은 도 22에 도시한 블록 단위로 실행된다. 이레이즈 베리파이 동작도 처음에 한쪽 비트선(BLi)에 대하여 베리파이 리드 동작을 실행하고, 이 결과가 도 24에 도시한 래치 회로 LAT(C)에 기억된다. 이어서, 다른쪽 비트선(BLi+1)에 대하여 베리파이 동작을 실행하고, 이 결과와 앞서의 베리파이 리드 결과의 논리합이 래치 회로 LAT(C)에 기억된다.
(프로그램 및 프로그램 베리파이)
(제1 페이지의 프로그램)
도 29는 프로그램 동작의 시퀀스를 나타내고 있고, 각부의 전위를 이와 같이 설정하여, 프로그램 동작이 실행된다. 즉, 제1 실시 형태와 마찬가지로, 먼저 기록하는 데이터를 외부에서 입력하고, 모든 데이터 기억 회로의 래치 회로 LAT(C)에 기억한다. 외부에서 데이터 "1"(기록을 실행하지 않음)이 입력되면, 도 24에 도시한 래치 회로 LAT(C)의 노드 NA가 하이 레벨로 되고, 데이터 "0"(기록을 실행함)이 입력되면, 노드 NA가 로우 레벨로 된다. 이 기억된 데이터에 따라, 선택되어 있는 페이지의 모든 셀에 대하여 기록이 실행된다.
데이터 "0"의 기록시는 도 28에 도시한 바와 같이, 메모리 셀의 데이터를 "4"로 한다. 데이터 "1"의 기록시, 메모리 셀의 데이터는 그대로 "0"이다.
(제1 페이지의 베리파이)
도 30은 프로그램 베리파이 및 리드 동작을 나타내고 있다. 각부를 이와 같은 전압으로 설정하는 것에의해, 프로그램 베리파이 및 리드 동작이 실행된다.
먼저, 선택된 프로그램 내의 비선택 워드선 및 셀렉트선 SG1이 전위 Vread7(=Vread+Vth), 소스선 SRC가 전위 Vread, 비선택 워드선이 접지 전위 VSS로 설정된다. 이후, 셀의 소스측의 셀렉트선 SG2가 전위 Vread7로 설정된다. 각부의 전위를 이와 같이 설정하면, 도 28에 도시한 바와 같이, 셀의 임계치 전압에 따라 비트선으로 전위가 출력된다. 이 비트선의 전위는 Y 셀렉터군(233)을 거쳐 시분할로 차동 앰프부(231) 및 로직 회로(232)에 공급된다.
제1 페이지의 베리파이는 도 25에 도시한 7개의 차동 앰프중, 차동 앰프 DFA1만이 사용된다. 이 때문에, 신호 EN1이 하이 레벨로 되고, 노어 회로(251b, 251d, 251f)의 출력 신호가 로우 레벨로 고정된다.
이어서, 도 26, 도 31, 도 32에 도시한 바와 같이, 차동 앰프 DFA1의 비반전 입력단에 제어 전압 발생 회로(253)에서 레퍼런스 전위로서 리드시의 전위 "d"보다 조금 낮은 전위 "d' "가 공급된다. 이후, "' "는 베리파이 전위를 나타내고, 리드의 전위보다 약간 낮은 값으로 한다. 여기서, Y 셀렉터군(233)을 거쳐 하나의 데이터 기억 회로의 출력 신호가 차동 앰프부(231) 및 로직 회로(232)에 공급된다. 또한, 베리파이중이므로, 로직 회로(232)의 노어 회로(252a)에 공급되는 신호 VerifyB는 로우 레벨로 되고, 데이터 기억 회로(232)의 래치 회로 LAT(C)에 기억되어 있는 데이터가 로직 회로(232)에 공급된다. 데이터 기억 회로의 래치 회로 LAT(C)에 데이터 "1"이 래치되어 있는 경우(기록을 실행하지 않음), 클럭드 인버터 회로(241p)에 의해 반전된 데이터 "0"이 도 25에 도시한 노어 회로(252a)에 공급된다. 이 때문에, 래치 회로 LAT(D)의 출력단 ND에는 차동 앰프 DFA1의 출력 신호에 관계없이 하이 레벨이 래치된다.
한편, 데이터 기억 회로의 래치 회로 LAT(C)에 데이터 "0"이 래치되어 있는 경우(기록을 실행하지 않음)의 동작은 도 33a에 도시한 바와 같이 된다.
즉, 비트선에 판독된 전위가 레퍼런스 전위 "d' "보다 낮을 때(충분히 기록되어 있을 때)는 차동 앰프 DFA1의 출력 신호는 하이 레벨로 된다. 이 때문에, 래치 회로 LAT(D)의 출력단 ND에는 하이 레벨이 래치된다.
비트선으로 판독된 전위가 레퍼런스 전위 "d' "보다 높을 때(기록 불충분)는 차동 앰프 DFA1의 출력 신호는 로우 레벨로 된다. 이 때문에, 래치 회로 LAT(D)의 출력단은 로우 레벨로 래치된다.
상기 래치 회로 LAT(D)는 도 25, 도 30에 도시한 신호 PD를 로우 레벨로 함으로써 입력 신호를 래치한다. 이 래치 회로 LAT(D)에 래치된 데이터는 인버터 회로(252e), 클럭드 인버터 회로(252f)를 거쳐 상기 데이터 기억 회로에 공급된다. 이어서, 도 24의 트랜지스터(241o)의 게이트에 공급되는 신호 SPB가 도 30에 도시한 바와 같이, 하이 레벨로 된다. 그러면, 이 트랜지스터(241o)를 거쳐 로직 회로(232)로 부터의 데이터가 데이터 기억 회로의 래치 회로 LAT(C)에 공급된다. 이 때문에, 래치 회로 LAT(C)의 데이터가 로직 회로(232)의 래치 회로 LAT(D)에 기억되어 있는 데이터로 치환된다. 즉, 데이터 기억 회로의 래치 회로 LAT(D)에 데이터 "1"이 래치되어 있을(기록을 실행하지 않을) 때, 래치 회로 LAT(C)의 데이터는 그대로 "1"이다. 또한, 래치 회로 LAT(C)에 데이터 "0"이 래치되어 있을(기록을 실행할) 때, 셀의 기록이 불충분할 때는 그대로 "0"이다. 또한, 셀의 기록이 충분할 때는 데이터 "1"로 바뀌어진다.
이어서, Y 셀렉터군(233)을 전환하고, 다른 데이터 기억 회로의 출력 신호에 대하여 상기 일련의 동작을 순차 실행한다. 이때, 셀의 데이터는 이미 비트선으로 판독되어 있다. 이 때문에, Y 셀렉터군(233)을 전환하고, 차동 앰프부(231)와 로직 회로(232)를 동작하는 것만으로 상기 동작을 실행시킬 수 있다.
상기 동작을 반복하고, 모든 데이터 기억 회로의 데이터가 하이 레벨로 될 때까지 이 프로그램 동작과 베리파이 동작을 반복한다.
(제2 페이지의 프로그램)
제2 페이지의 프로그램도 제1 페이지의 프로그램과 마찬가지로, 먼저 외부에서 공급된 다음 기록 데이터를 모든 데이터 기억 회로의 래치 회로 LAT(C)에 기억한다. 이어서, 이 래치 회로 LAT(C)에 기억된 데이터에 따라 선택되어 있는 페이지의 모든 셀에 기록을 실행한다.
도 28에 도시한 바와 같이, 메모리 셀의 데이터가 "0"으로 되어 있는 경우(제1 페이지에 기록 동작을 실행하지 않았던 경우)에 있어서, 이 셀에 기록을 실행하면, 이 셀의 데이터는 "2"로 된다. 또한, 기록을 실행하지 않으면, 이 메모리 셀의 데이터는 그대로 "0"이다. 메모리 셀의 데이터가 "4"로 되어 있는 경우(제1 페이지에 기록 동작을 실행한 경우), 이 셀에 대하여 기록을 실행하면, 이 셀의 데이터는 "6"으로 된다. 또한, 기록을 실행하지 않으면, 이 셀의 데이터는 그대로 "4"이다.
(제2 페이지의 베리파이)
먼저, 제1 페이지의 베리파이와 마찬가지로, 비트선에 임계치 전압에 따른 전위를 출력시킨다. 도 25에 도시한 바와 같이, 제2 페이지의 베리파이는 7개의 차동 앰프중, 차동 앰프 DFA1∼DFA3을 사용한다. 이 때문에, 신호 EN2를 하이 레벨로 하여, 노어 회로(251d, 251f)의 출력 신호를 로우 레벨로 고정한다. 이어서, 도 26, 도 31, 도 32에 도시한 바와 같이, 차동 앰프 DFA1∼DFA3D의 비반전 입력단에 레퍼런스 전위로서 "f' ", "d", "b' "를 공급한다. 이후, Y 셀렉터군(233)에 의해 선택된 하나의 데이터 기억 회로가 이 차동 앰프 DFA1∼DFA3 및 로직 회로(232)에 접속된다. 또한, 베리파이중이므로, 신호 VerifyB는 로우 레벨로 되고, 데이터 기억 회로의 래치 회로 LAT(C)에 기억되어 있는 데이터도 로직 회로(232)에 공급된다. 래치회로 LAT(C)에 데이터 "1"이 래치되어 있는 경우(기록을 실행하지 않는 경우), 로직 회로(232)의 래치 회로 LAT(D)의 출력단은 차동 앰프 DFA1∼DF3의 출력에 관계없이, 하이 레벨로 래치된다.
한편, 데이터 기억 회로의 래치 회로 LAT(C)에 데이터 "0"이 래치되어 있는 경우(기록을 실행하는 경우)는 도 33b에 도시한 바와 같이 된다.
즉, 비트선으로 판독된 전위가 레퍼런스 전위 "f'"보다 낮을 때(기록 충분일때), 차동 앰프 DFA1의 출력 신호는 하이 레벨로 된다. 이 때문에, 래치 회로 LAT(D)의 출력단에는 하이 레벨이 래치된다.
비트선으로 판독된 전위가 레퍼런스 전위 "d"보다 낮고, "f'"보다 높을 경우(기록 불충분일 때), 차동 앰프 DFA3은 하이 레벨로 된다. 그러나, 차동 앰프 DFA2의 출력도 하이 레벨이므로, 래치 회로 LAT(D)의 출력단에는 로우 레벨이 래치된다.
비트선으로 판독된 전위가 레퍼런스 전위 "b' "보다 낮고 "d"보다 높을 때(기록 불충분인 경우), 차동 앰프 DFA3의 출력 신호는 하이 레벨로 된다. 이 때문에, 래치 회로 LAT(D)의 출력단에는 하이 레벨이 래치된다.
비트선으로 판독된 전위가 레퍼런스 전위 "b' "보다 높을때(기록 불충분인 경우), 차동 앰프 DFA1∼DFA3의 출력 신호는 모두 로우 레벨이다. 이 때문에, 래치 회로 LAT(D)의 출력단에는 로우 레벨이 래치된다.
또한, 로직 회로(232)의 래치 회로 LAT(D)에 데이터를 래치한후의 동작은 제1 페이지의 베리파이와 마찬가지이다. 이 결과, 데이터 기억 회로의 래치 회로 LAT(C)에 "1"이 래치되어 있을때(기록을 실행하지 않을때)는 래치회로 LAT(C)는 그대로 데이터 "1"이다. 또한, 래치 회로 LAT(C)에 데이터 "0"이 래치되어 있을때(기록을 실행할 때), 기록 불충분일때는 그대로 "0"이다. 또한, 기록 충분일 때 래치 회로 LAT(C)의 데이터는 "1"로 변한다. 이어서, Y 셀렉터군(233)을 순차 전환하여, 상기와 마찬가지 동작이 실행된다.
이와 같이 하여, 모든 데이터 기억 회로의 데이터가 하이 레벨로 될 때까지 이 프로그램 동작과 베리파이 동작이 반복된다.
(제3 페이지의 프로그램)
제3 페이지의 프로그램도 제1, 제2 페이지의 프로그램과 마찬가지로, 먼저 외부에서 공급되는 다음 기록 데이터가 모두 데이터 기억 회로의 래치 회로 LAT(C)에 기억된다. 이어서, 이들 래치 회로 LAT(C)에 기억된 데이터에 따라, 선택되어 있는 페이지의 모든 셀에 대하여 기록이 실행된다.
도 28에 도시한 바와 같이, 메모리 셀의 데이터가 "0"으로 되어 있는 경우, 이 메모리 셀에 대하여 기록을 실행하면, 메모리 셀의 데이터가 "1"로 되고, 기록을 실행하지 않으면, 메모리 셀의 데이터는 그대로 "0"이다. 메모리 셀의 데이터가 "2"로 되어 있는 경우, 이 메모리 셀에 대하여 기록을 실행하면, 메모리 셀의 데이터가 "3"으로 된다. 또한, 기록을 실행하지 않으면, 메모리 셀의 데이터는 그대로 "2"이다. 메모리 셀의 데이터가 "4"로 되어 있는 경우, 이 메모리 셀에 대하여 기록을 실행하면 메모리 셀의 데이터가 "5"로 된다. 또한, 기록을 실행하지 않으면, 메모리 셀의 데이터는 그대로 "4"이다. 메모리 셀의 데이터가 "6"으로 되어 있는 경우, 이 메모리 셀에 대하여 기록을 실행하면, 메모리 셀의 데이터는 "7"로 되고, 기록을 실행하지 않으면, 메모리 셀의 데이터는 그대로 "6"이다.
(제3 페이지의 베리파이)
제1, 제2 페이지의 베리파이와 마찬가지로, 비트선에 메모리 셀의 임계치 전압에 따른 전위를 출력시킨다. 제3 페이지의 베리파이는 도 25에 도시한 모든 차동 앰프 DFA1∼DFA7을 사용한다. 이 경우, 차동 앰프 DFA1∼DFA7의 비반전 입력단에는 레퍼런스 전위로서, 도 26, 도 31, 도 32에 도시한 "g' ", "f' ", "e' ", "d", "c' ", "b", "a' "가 공급된다. 여기서, Y 셀렉터군(233)에 의해 선택된 하나의 데이터 기억 회로가 차동 앰프부(231) 및 로직 회로(232)에 접속된다. 또한, 베리파이 중이므로, VerifyB는 로우 레벨로 되고, 데이터 기억 회로의 래치 회로 LAT(C)에 기억되어 있는 데이터가 로직 회로(232)에 공급된다. 데이터 기억 회로의 래치 회로 LAT(C)에 데이터 "1"이 래치되어 있는 경우(기록을 실행하지 않는 경우), 상술한 바와 같이, 래치 회로 LAT(D)의 출력단에는 차동 앰프 DFA1∼DFA7의 출력 신호에 관계없이, 하이 레벨이 래치된다.
한편, 데이터 기억 회로의 래치 회로 LAT(C)에 데이터 "0"이 래치되어 있는 경우(기록을 실행하는 경우)는 도 33c에 도시한 바와 같이 된다.
즉, 비트선으로 판독된 전위가 레퍼런스 전위 "g' "보다 낮을 때(기록 충분일 때), 차동 앰프 DFA1의 출력 신호가 하이 레벨로 된다. 이 때문에, 래치 회로 LAT(D)의 출력단에는 하이 레벨이 래치된다.
비트선으로 판독된 전위가 레퍼런스 전위 "f"보다 낮고, "g' "보다 높을 때(기록 불충분일 때), 차동 앰프 DFA3의 출력 신호는 하이 레벨로 되지만, 차동 앰프 DFA2의 출력 신호도 하이 레벨이다. 이 때문에, 래치 회로 LAT(D)의 출력단에는 로우 레벨이 래치된다.
비트선으로 판독된 전위가 레퍼런스 전위 "e' "보다 낮고, "f"보다 높을 때(기록 충분일 때), 차동 앰프 DFA3의 출력 신호는 하이 레벨, 차동 앰프 DFA2의 출력 신호는 로우 레벨로 된다. 이 때문에, 래치 회로 LAT(D)의 출력단에는 하이 레벨이 래치된다.
비트선으로 판독된 전위가 레퍼런스 전위 "d"보다 낮고, "e' "보다 높을 때(기록 불충분일 때), 차동 앰프 DFA5의 출력 신호는 하이 레벨로 되지만, 차동 앰프 DFA4의 출력 신호도 하이 레벨로된다. 이 때문에, 래치 회로 LAT(D)의 출력단에는 로우 레벨이 래치된다.
비트선으로 판독된 전위가 레퍼런스 전위 "c' "보다 낮고, "d"보다 높을 때(기록 충분일 때), 차동 앰프 DFA5의 출력 신호는 하이 레벨로 되므로, 래치 회로 LAT(D)의 출력단에는 하이 레벨이 래치된다.
비트선으로 판독된 전위가 레퍼런스 전위 "b"보다 낮고, "c' "보다 높을 때(기록 불충분일 때), 차동 앰프 DFA7의 출력 신호는 하이 레벨로 되지만, 차동 앰프 DFA6의 출력 신호도 하이 레벨이다. 이 때문에, 래치 회로 LAT(D)의 출력단에는 로우 레벨이 래치된다.
비트선으로 판독된 전위가 레퍼런스 전위 "a' "보다 낮고, "b"보다 높을 때(기록 충분일 때), 차동 앰프 DFA7의 출력 신호는 하이 레벨로 된다. 이 때문에, 래치 회로 LAT(D)에는 하이 레벨이 래치된다.
비트선으로 판독된 전위가 레퍼런스 전위 "a' "보다 높을 때(기록 불충분일 때), 차동 앰프 DFA1∼DFA7의 출력 신호가 모두 로우 레벨이다. 이 때문에, 래치 회로 LAT(D)의 출력단에는 로우 레벨이 래치된다.
또한, 로직 회로의 래치 회로 LAT(D)에 데이터를 래치한 후의 동작은 제1, 제2 페이지의 베리파이와 마찬가지이다. 이 결과, 데이터 기억 회로의 래치 회로 LAT(C)에 데이터 "1"이 래치되어 있을 때(기록을 실행하지 않을때)는 래치 회로 LAT(C)의 데이터는 그대로 "1"이다. 또한, 래치 회로 LAT(C)에 데이터 "0"이 래치되어 있을 때(기록을 실행할 때), 기록 불충분일때는 그대로 데이터 "0"이다. 또한, 기록 충분일때는 래치 회로 LAT(C)의 데이터는 "1"로 변한다. 이어서, Y 셀렉터(233)를 순차 전환하여, 상기와 마찬가지 동작이 반복된다.
이와 같이 하여, 모든 데이터 기억 회로의 데이터가 하이 레벨로 될 때까지 이 프로그램 동작과 베리파이 동작이 반복된다.
(리드 동작)
(제1 페이지의 리드)
리드 동작에 있어서, 먼저 프로그램 베리파이와 마찬가지로, 비트선으로 메모리 셀의 임계치 전압에 따른 전위를 출력시킨다. 제1 페이지의 리드는 제1 페이지의 베리파이와 마찬가지로, 도 25에 도시한 7개의 차동 앰프중, 차동 앰프 DFA1 만을 사용한다. 이 때문에, 신호 EN1은 하이 레벨로 되고, 노어 회로(251b, 251d, 251f)의 출력 신호가 로우 레벨로 고정된다. 이어서, 도 26, 도 31, 도 32에 도시한 바와 같이, 차동 앰프 DFA1의 비반전 입력단에 레퍼런스 전위로서 "d"를 공급한다. 여기서, Y 셀렉터(233)에 의해 선택된 하나의 데이터 기억 회로가 차동 앰프부(231) 및 로직 회로(232)에 접속된다. 리드중이므로, VerifyB는 하이 레벨로 되고, 데이터 기억 회로의 래치 회로 LAT(C)에 기억되어 있는 데이터(부정)는 로직 회로(232)에 공급되지 않는다.
도 34a는 제1 페이지의 리드 동작을 나타내고 있다. 비트선으로 판독된 전위가 레퍼런스 전위 "d"보다 낮을 때(메모리 셀의 데이터가 "4", "5", "6", "7"일 때), 차동 앰프 DFA1의 출력 신호는 하이 레벨로 된다. 이 때문에, 래치회로 LAT(D)의 출력단에는 하이 레벨이 래치된다.
비트선으로 판독된 전위가 레퍼런스 전위 "d' "보다 높을 때(메모리 셀의 데이터가 "0", "1", "2", "3"일 때), 차동 앰프 DFA1의 출력 신호는 로우 레벨로 된다. 이 때문에, 래치 회로 LAT(D)의 출력단에는 로우 레벨이 래치된다.
래치 회로 LAT(D)에 래치된 데이터는 데이터 기억 회로에 공급된다. 이때, 도 30에 도시한 바와 같이, 신호 SPB가 하이 레벨로 되고, 도 24에 도시한 트랜지스터(241o)를 거쳐 래치 회로 LAT(D)로 부터의 데이터가 래치 회로 LAT(C)에 공급된다. 이어서, Y 셀렉터군(233)을 전환하고, 상기 일련의 동작을 순차 실행한다. 이때, 셀의 데이터는 비트선으로 판독되고 있으므로, Y 셀렉터군(233)에 의해 데이터 기억 회로를 전환하고, 차동 앰프부(231)와 로직 회로(232)를 동작하는 것만으로 좋다. 이와 같이 하여, Y 셀렉터군(233)을 전환하여 마찬가지 동작을 실행하는 것에 의해, 모든 데이터 기억 회로에 제1 페이지시의 데이터가 기억된다.
도 28에 도시한 바와 같이, 메모리 셀의 데이터와 메모리 셀의 임계값을 정의하고 있으므로, 래치 회로 LAT(C)에는 메모리 셀의 데이터가 "0", "1", "2", "3"이면, 로우 레벨이 기억되고, "4", "5", "6", "7"이면, 하이 레벨이 기억된다. 그러나, 래치 회로 LAT(C)에 기억된 데이터는 클럭드 인버터 회로(241p)를 거쳐 데이터 입출력 버퍼(4)로 출력된다. 이 때문에, 데이터 입출력 버퍼(4)에는 메모리 셀의 데이터 "0", "1", "2", "3"이면, 데이터 "1"이 공급되고, 메모리 셀의 데이터가 "4", "5", "6", "7"이면, 데이터 "0"이 공급된다.
(제2 페이지의 리드)
제2 페이지의 리드는 제1 페이지의 리드와 마찬가지로, 먼저 비트선으로 메모리 셀의 임계치 전압에 따른 전위를 출력시킨다. 제2 페이지의 리드는 7개의 차동 앰프중, 차동 앰프 DFA1∼DFA3을 사용한다. 이 때문에, 신호 EN2를 하이 레벨로 하는 것에 의해, 노어 회로(251b, 251d, 251f)의 출력 신호를 로우 레벨로 고정한다. 이어서, 도 26, 도 31, 도 32에 도시한 바와 같이, 차동 앰프의 비반전 입력단에 레퍼런스로서 전위 "f", "b", "d"를 공급한다. 여기서, Y 셀렉터(233)에 의해 선택된 하나의 데이터 기억 회로가 차동 앰프부(231) 및 로직 회로(232)에 접속된다. 리드중이므로, VerifyB는 하이 레벨로 되고, 래치 회로 LAT(C)에 기억된 데이터는 로직 회로(232)에 공급되지 않는다.
도 34b는 제2 페이지의 리드 동작을 나타내고 있다. 비트선으로 판독된 전위가 레퍼런스 전위 "f"보다 낮을 때(메모리 셀의 데이터가 "6", "7"일 때), 차동 앰프 DFA1의 출력 신호는 하이 레벨로 된다. 이 때문에, 로직 회로(232)의 래치 회로 LAT(D)의 출력단에는 하이 레벨이 래치된다.
비트선으로 판독된 전위가 레퍼런스 전위 "d"보다 낮고, "f"보다 높을 때(메모리 셀의 데이터가 "4", "5"일 때), 차동 앰프 DFA3의 출력 신호는 하이 레벨로 된다. 또한, 차동 앰프 DFA2의 출력 신호도 하이 레벨이므로, 래치 회로 LAT(D)에는 로우 레벨이 래치된다.
비트선으로 판독된 전위가 레퍼런스 전위 "b"보다 낮고, "d"보다 높을 때(메모리 셀의 데이터가 "2", "3"일 때), 차동 앰프 DFA3의 출력 신호는 하이 레벨로 된다. 이 때문에, 래치 회로 LAT(D)에는 하이 레벨이 래치된다.
비트선으로 판독된 전위가 레퍼런스 전위 "b"보다 높을 때(메모리 셀의 데이터가 "0", "1"일 때), 차동 앰프 DFA∼DFA7의 출력 신호가 모두 로우 레벨로 된다. 이 때문에, 래치 회로 LAT(D)의 출력단에는 로우 레벨이 래치된다.
로직 회로(232)의 래치 회로 LAT(D)에 데이터를 래치한 후의 동작은 제1 페이지의 리드와 마찬가지이다. 이 결과, 데이터 기억 회로의 래치 회로 LAT(C)에는 메모리 셀의 데이터가 "0", "1", "4", "5"이면, 로우 레벨이 기억되고, 메모리 셀의 데이터가 "2", "3", "6", "7"이면, 하이 레벨이 기억된다. 래치 회로 LAT(C)에 기억된 데이터는 클럭드 인버터 회로(241p)를 거쳐 데이터 입출력 버퍼(4)에 공급된다. 이 때문에, 데이터 입출력 버퍼(4)에는 메모리 셀의 데이터가 "0", "1", "4", "5"이면, 데이터 "1"이 공급되고, 메모리 셀의 데이터가 "2", "3", "6", "7"이면, 데이터 "0"이 공급된다.
(제3 페이지의 리드)
제3 페이지의 리드는 제1, 제2 페이지의 리드와 마찬가지로, 먼저 비트선에 메모리 셀의 임계치 전압에 따른 전위를 출력시킨다. 제3 페이지의 베리파이는 7개의 차동 앰프 모두를 사용한다. 각 차동 앰프 DFA1∼DFA7의 비반전 입력단에는 레퍼런스 전위로서 "g", "f", "e", "d", "c", "b", "a"를 공급한다. 여기서, Y 셀렉터군(233)에 의해 선택된 하나의 데이터 기억 회로가 차동 앰프부(231) 및 로직 회로(232)에 접속된다. 리드중이므로, VerifyB는 하이 레벨로 되고, 데이터 기억 회로의 래치 회로 LAT(C)에 기억된 데이터(부정)는 로직 회로(232)에 공급되지 않는다.
도 34c는 제3 페이지의 리드 동작을 나타내고 있다. 비트선으로 판독된 전위가 레퍼런스 전위 "g"보다 낮을 때(메모리 셀의 데이터가 "7"일 경우), 차동 앰프 DFA1의 출력 신호가 하이 레벨로 된다. 이 때문에, 로직 회로(232)의 래치 회로 LAT(D)의 출력단에는 하이 레벨이 래치된다.
비트선으로 판독된 전위가 레퍼런스 전위 "f"보다 낮고, "g"보다 높을 때(메모리 셀의 데이터가 "6"일 경우), 차동 앰프 DFA3의 출력 신호는 하이 레벨로 된다. 그러나, 차동 앰프 DFA2의 출력 신호도 하이 레벨이므로, 래치 회로 LAT(D)의 출력단에는 로우 레벨이 래치된다.
비트선으로 판독된 전위가 레퍼런스 전위 "e"보다 낮고, "f"보다 높을 때(메모리 셀의 데이터가 "5"일 경우), 차동 앰프 DFA3의 출력 신호는 하이 레벨로 된다. 이 때문에, 래치 회로 LAT(D)의 출력단에는 하이 레벨이 래치된다.
비트선으로 판독된 전위가 레퍼런스 전위 "d"보다 낮고, "e"보다 높을 때(메모리 셀의 데이터가 "4"일 경우), 차동 앰프 DFA5의 출력 신호는 하이 레벨로 된다. 그러나, 차동 앰프 DFA4의 출력 신호도 하이 레벨이므로, 래치 회로 LAT(D)의 출력단에는 하이 레벨이 래치된다.
비트선으로 판독된 전위가 레퍼런스 전위 "c"보다 낮고, "d"보다 높을 때(메모리 셀의 데이터가 "3"일 경우), 차동 앰프 DFA5의 출력 신호는 하이 레벨로 된다. 이 때문에, 래치 회로 LAT(D)의 출력단에는 하이 레벨이 래치된다.
비트선으로 판독된 전위가 레퍼런스 전위 "b"보다 낮고, "c"보다 높을 때(메모리 셀의 데이터가 "2"일 경우), 차동 앰프 DFA7의 출력 신호는 하이 레벨로 된다. 그러나, 차동 앰프 DFA6의 출력 신호도 하이 레벨이므로, 래치 회로 LAT(D)의 출력단에는 로우 레벨이 래치된다.
비트선으로 판독된 전위가 레퍼런스 전위 "a"보다 낮고, "b"보다 높을 때(메모리 셀의 데이터가 "1"일 경우), 차동 앰프 DFA7은 하이 레벨로 되므로, 래치 회로 LAT(D)의 출력단에는 하이 레벨이 래치된다.
비트선으로 판독된 전위가 레퍼런스 전위 "a"보다 높을 때(메모리 셀의 데이터가 "0"일 경우), 차동 앰프 DFA1∼DFA7의 출력 신호가 모두 로우 레벨이다. 이 때문에, 래치 회로 LAT(D)의 출력단에는 로우 레벨이 래치된다.
로직 회로의 래치 회로 LAT(D)에 데이터를 래치한 후의 동작은 제1, 제2 페이지의 리드와 마찬가지이다. 이 결과, 데이터 기억 회로의 래치 회로 LAT(C)에는 메모리 셀의 데이터가 "0", "2", "4", "6"이면, 로우 레벨이 기억되고, 메모리 셀의 데이터가 "1", "3", "5", "7"이면, 하이 레벨이 기억된다. 래치 회로 LAT(C)에 기억된 데이터는 클럭드 인버터 회로(241p)를 거쳐 데이터 입출력 버퍼(4)에 공급된다. 이 때문에, 데이터 입출력 버퍼(4)에는 메모리 셀의 데이터가 "0", "2", "4", "6"이면, 데이터 "1"이 공급되고, 메모리 셀의 데이터가 "1", "3", "5", "7"이면, 데이터 "0"이 공급된다.
(이레이즈 및 이레이즈 베리파이 동작)
(이레이즈)
이레이즈 동작은 제1 실시 형태와 마찬가지이다. 먼저, 어드레스를 지정하고, 도 22에 도시한 하나의 블록을 선택한다.
도 35에 도시한 바와 같이, 각부의 전압을 설정하고 이레이즈 동작을 실행하면, 메모리 셀의 데이터는 모두 "0"으로 된다. 이 때문에, 제1 페이지, 제2 페이지, 제3 페이지 어느것에서 리드를 실행하여도 데이터 "1"이 출력된다.
(이레이즈 베리파이)
이레이즈 베리파이 동작은 데이터 기억 회로에 접속되어 있는 2줄의 비트선(BLi, BLi+1)의 한줄씩 실행된다. 예를 들면, 먼저 비트선(BLi)에 대하여 이레이즈 베리파이 동작을 실행하고, 이 결과를 도 24에 도시한 데이터 기억 회로의 래치 회로 LAT(C)에 기억한다. 이 이레이즈 베리파이 동작은 리드 동작과 대략 마찬가지이다. 그러나, 하나의 블록내의 모든 셀에 대하여 실행하므로, 선택되어 있는 블록내의 모든 워드선을 선택 상태, 즉 접지 전위 VSS로 한다.
이어서, 도 30에 도시한 바와 같이, 프로그램 베리파이 및 리드와 마찬가지로, 비트선에 메모리 셀의 임계치 전압에 따른 전위를 출력시킨다. 이레이즈 베리파이는 제1 페이지의 베리파이 및 리드와 마찬가지로, 도 25에 도시한 7개의 차동 앰프중, 차동 앰프 DFA1 만을 사용한다. 이 때문에, 신호 EN1을 하이 레벨로 하는 것에 의해, 노어 회로(251b, 251d, 251f)의 출력 신호를 로우 레벨로 고정한다.
이어서, 도 31, 도 32에 도시한 바와 같이, 차동 앰프 DFA1의 비반전 입력단에 레퍼런스 전위로서 이레이즈 베리파이 전위(4. 0 V)를 공급한다. 여기서, Y 셀렉터군(233)에 의해 선택된 하나의 데이터 기억 회로가 차동 앰프부(231) 및 로직 회로(232)에 접속된다. 1회째의 이레이즈 베리파이에 있어서, VerifyB는 하이 레벨로 된다. 이 때문에, 데이터 기억 회로의 래치 회로 LAT(C)에 기억되어 있는 데이터(부정)는 로직 회로(232)에 공급되지 않는다.
비트선으로 판독된 전위가 레퍼런스 전위보다 낮을 때(이레이즈가 충분하게 실행되어 있지 않을 때), 차동 앰프 DFA1의 출력 신호는 하이 레벨로 된다. 이 때문에, 래치 회로 LAT(D)의 출력단에는 하이 레벨이 래치된다.
비트선으로 판독된 전위가 레퍼런스 전위보다 높을 때(이레이즈가 충분하게 실행되어 있지 않을 때), 차동 앰프 DFA1의 출력 신호는 로우 레벨로 된다. 이 때문에, 래치 회로 LAT(D)의 출력단에는 로우 레벨이 래치된다.
로직 회로(232)의 래치 회로 LAT(D)에 래치된 데이터는 도 24의 트랜지스터(241o)를 거쳐 데이터 기억 회로의 래치 회로 LAT(C)에 전송되어 기억된다. 이어서, 셀렉트 신호 YA0∼YA7에 따라 Y 셀렉터군(233)을 전환하여 상기 일련의 동작을 실행한다. 이때, 셀의 데이터는 이미 비트선으로 판독되어 있으므로, Y 셀렉터군(233)을 전환하고, 차동 앰프부(231)와 로직 회로(232)를 동작하는 것만으로 좋다. 이와 같이 하여, Y 셀렉터군(233)을 전환하여 같은 동작을 실행하고, 모든 데이터 기억 회로에 제1 페이지의 셀의 데이터가 기억된다.
도 28에 도시한 바와 같이, 메모리 셀의 데이터와 메모리 셀의 임계치 전압을 정의하고 있으므로, 래치 회로 LAT(C)에는 이레이즈가 충분히 실행되어 있으면, 로우 레벨이 기억되고, 이레이즈가 불충분하면, 하이 레벨이 기억된다.
상기 동작후, 비트선(BLi+1)에 대하여, 상기와 모두 같은 동작을 실행한다. 이때, 로직 회로(232)의 VerifyB를 로우 레벨로 한다. 이와 같이 하면, 상기 1회째의 이레이즈 베리파이에 있어서, 베리파이가 불량이면, 래치 회로 LAT(C)의 노드 NA가 하이 레벨로 되어 있으므로, 2회째의 이레이즈 베리파이 결과에 관계없이 래치 회로 LAT(C)에는 하이 레벨이 래치된다. 즉, 래치 회로 LAT(C)에 하이 레벨이 래치되는 것은 비트선(BLi, BLi+1)의 어느것이 이레이즈 베리파이에 있어서, 불량일 때이다. 따라서, 모든 래치 회로 LAT(C)의 데이터가 로우 레벨로 될 때까지, 이레이즈 및 이레이즈 베리파이 동작이 반복된다.
상기 제2 실시 형태에 있어서도, 제1 실시 형태와 마찬가지로, 기억하는 데이터의 수가 증가한 경우에 있어서도, 래치 회로의 증가를 방지할 수 있다. 게다가 차동 앰프부(231) 및 로직 회로(232)는 복수의 데이터 기억 회로당 하나씩 배치하고, Y 셀렉터군에 의해 시분할로, 데이터 기억 회로에 접속하고 있다. 따라서, 면적이 큰 차동 앰프부(231) 및 로직 회로(232)의 수를 삭감할 수 있으므로, 칩 사이즈의 증대를 억제할 수 있다.
또한, 제1 실시 형태에 있어서, 제n페이지의 프로그램 베리파이 및 리드 동작시, 워드선을 하이 레벨로 하여 셀의 데이터를 읽어 래치하는 동작을 2n회 실행해야 한다. 그러나, 제2 실시 형태의 경우, 차동 앰프를 사용하여 일괄해서 메모리 셀의 임계치 전압을 판단하고 있다. 이 때문에, n이 크게 되어도, 차동 앰프의 수를 늘리는 것만으로, 프로그램 베리파이 및 리드 시간이 증대하는 것을 방지할 수 있다.
(제3 실시 형태)
제1 실시 형태에서는 제n페이지시의 리드 동작을 실행할 때, (2n-1)회 워드선의 레벨을 바꾸어 리드 동작을 실행할 필요가 있다. 이것에 대하여, 제3 실시 형태는 리드 동작 회수를 저감할 수 있다. 즉, 제3 실시 형태에서는 제(n-1)페이지의 기록후, 제n페이지의 기록을 실행하는 경우, 외부에서 입력되는 데이터를 그대로 셀에 기록하지 않고, 이 외부에서 입력되는 데이터와 내부에 이미 기록되어 있는 데이터 사이에서, 논리 연산을 한 값을 기록한다. 이와 같이 하여, 데이터를 기록하면, 제 n페이지시의 리드 동작에서는 (2n-1)회 워드선의 레벨을 바꾸어 리드 동작을 실행할 필요가 없고, (2n/2)회로 판독하는 것이 가능하게 된다. 예를 들면, 8치의 예의 경우, 제3 페이지의 리드는 제1 실시 형태에서는 7회 리드 동작이 실행되고 있다. 이것에 대하여, 제3 실시 형태에서는 4회로 판독이 가능하게 된다.
이하, 제3 실시 형태에 대하여 설명한다. 제3 실시 형태에 있어서, 회로 구성은 제1 실시 형태와 모두 같다.
도 7, 도 36에 도시한 바와 같이, 메모리 셀의 데이터와 메모리 셀의 임계값을 정의한다. 여기서, 메모리 셀의 데이터 "0"∼"7"은 메모리 셀의 임계값이 낮은쪽에서 높은 쪽으로 정의되어 있다. 또한, 본 메모리 장치는 다치 메모리이므로, 1셀에 3비트의 데이터를 기억할 수 있다. 이 3비트의 전환은 제1 페이지, 제2 페이지, 제3 페이지 마다 어드레스에 의해 실행한다. 이와 같이 정의한 경우에 있어서, 예를 들면, 메모리 셀에서 데이터를 판독하는 경우, 어드레스에 의해 제1 페이지를 지정하면, 메모리 셀의 데이터가 "0"∼"3"이면, 데이터 "1"이 판독된다. 또한, 메모리 셀의 데이터가 "4"∼"7"이면, 데이터 "0"이 판독된다. 이어서, 어드레스에 의해 제2 페이지를 지정하면, 메모리 셀의 데이터가 "0", "1", "6", "7"이면, 데이터 "1"이 판독되고, 메모리 셀의 데이터가 "2"∼"5"이면, "0"데이터가 판독된다. 따라서, 제2 페이지에서는 메모리 셀의 데이터가 "1"이하인가 "2"이상인가의 판단과 메모리 셀의 데이터가 "5"이하인가 "6"이상인가의 판단의 2회 동작으로 판단할 수 있다. 또한, 어드레스에 의해, 제3 페이지를 지정하면, 메모리 셀의 데이터가 "0", "3", "4", "7"이면, 데이터 "1"이 판독되고, 메모리 셀의 데이터가 "1", "2", "5", "6"이면, 데이터 "0"이 판독된다. 따라서, 제3 페이지에서는 메모리 셀의 데이터가 "0"이하인가 "1"이상인가의 판단과 메모리 셀의 데이터가 "2"이하인가 "3"이상인가의 판단과 메모리 셀의 데이터가 "4"이하인가 "5"이상인가의 판단과 메모리 셀의 데이터가 "6"이하인가 "7"이상인 가의 판단의 4회의 동작으로 판단할 수 있다.
소거 동작을 실행하면, 메모리 셀의 데이터는 "0"으로 되고, 어드레스에 제1, 제2, 제3 페이지 어떤것을 지정하여도, 판독되는 데이터는 "1"로 된다.
(셀 선택 방법)
리드 동작, 프로그램 베리파이 동작 및 프로그램 동작시에는 도 3에 도시한 데이터 기억 회로(310)∼(312111)에 접속되어 있는 2줄의 비트선(BLi, BLi+1)중, 외부에서 지정된 어드레스에 의해 1줄의 비트선이 선택된다. 또한, 외부 어드레스에 의해, 1줄의 워드선이 선택되고, 도 3에 점선으로 도시한 3페이지가 선택된다. 이 3페이지의 전환은 어드레스에 의해 실행된다.
이레이즈 동작은 상술한 바와 같이, 블록 단위로 실행된다. 또한, 데이터 기억 회로(310)∼(312111)에 접속되어 있는 2줄의 비트선(BLi, BLi+1)에 대하여 동시에 실행한다.
이레이즈 베리파이 동작은 1회의 동작으로, 데이터 기억 회로(310)∼(312111)에 접속되어 있는 2줄의 비트선(BLi, BLi+1)의 1줄씩 실행된다. 예를 들면, 먼저 비트선(BLi)에 대하여 이레이즈 베리파이 동작이 실행되고, 이 결과는 도 6의 래치 회로 LAT(A)에 기억된다. 이어서, 비트선(BLi+1)에 대하여 베리파이 동작이 실행된다. 이 결과와 앞서의 베리파이 리드 결과의 합이 래치 회로 LAT(A)에 기억된다.
(프로그램 및 프로그램 베리파이)
(제1 페이지의 프로그램)
프로그램 동작은 먼저 어드레스를 지정하고, 도 3에 도시한 3페이지를 선택한다. 이 메모리는 이 3페이지중, 제1 페이지, 제2 페이지, 제3 페이지의 순으로 밖에 프로그램 동작을 실행할 수 없다. 따라서, 처음에 어드레스에 따라 제1 페이지를 선택한다.
이어서, 기록해야할 데이터(판독되는 데이터)를 외부에서 입력하고 모든 데이터 기억 회로(310)∼(312111) 내의 래치 회로 LAT(A)에 기억한다. 제1 페이지의 프로그램은 제1 실시 형태와 전부 같고, 래치 회로 LAT(A)의 데이터가 "1"이면, 기록을 실행하지 않고, 메모리 셀의 데이터를 그대로 "0"으로 한다. 또한, 래치 회로 LAT(A)의 데이터가 "0"이면, 기록을 실행하고, 메모리 셀의 데이터를 "4"로 한다.
(제2 페이지의 프로그램)
제2 페이지의 프로그램도 제1 페이지의 프로그램과 모두 마찬가지로, 다음에 기록해야할 데이터(판독되는 데이터)를 외부에서 입력하고, 모든 데이터 기억 회로(310)∼(312111)의 래치 회로 LAT(A)에 기억한다. 이어서, 제1 페이지의 프로그램에서 메모리 셀의 데이터가 "0"으로 되어 있는 경우, 외부에서 입력된 데이터가 "1"인 경우는 기록을 실행하지 않는다. 또한, 외부에서 입력된 데이터가 "0"인 경우, 기록을 실행하는 메모리 셀의 데이터를 "2"로 한다. 제1 페이지의 프로그램에서 메모리 셀의 데이터가 "4"로 되어 있는 경우, 외부에서 입력된 데이터가 "1"인 경우는 기록을 실행하여 메모리 셀의 데이터를 "6"으로 한다. 또한, 외부에서 입력된 데이터가 "0"인 경우, 기록을 실행하지 않고 메모리 셀의 데이터를 그대로 "4"로 해 두어야 한다. 그러나, 래치 회로 LAT(A)의 데이터가 "0"이면, 기록이 실행되어 버린다. 이 때문에, 메모리 셀의 상태가 "4"인 경우, 래치 회로 LAT(A)에 기억되어 있는 데이터의 "1"과 "0"을 반전시켜야 한다.
(내부 입력 데이터 변환)
제1 페이지의 프로그램에서 메모리 셀의 데이터가 "0"인가 메모리 셀의 데이터가 "4"로 되어 있는 가를 조사한다. 이를 위해, 선택되어 있는 워드선에 도 7에 도시한 리드시의 전위 "d"를 인가하여 리드 동작을 실행하고, 이 결과를 래치 회로 LAT(B)에 기억시킨다. 여기서, 래치 회로 LAT(B)에는 메모리 셀의 데이터가 "0"인 경우, 로우 레벨이 기억되고, 메모리 셀의 데이터가 "4"인 경우, 하이 레벨이 기억된다.
여기서, 비트선은 래치 회로 LAT(B)와 같은 데이터의 레벨이다. 도 6에 도시한 신호 VREG를 접지 전위 VSS로 하고, 신호 VRFY1을 하이 레벨로 하면, 래치 회로 LAT(A)가 하이 레벨로 되어 있을 때, 비트선의 데이터가 로우 레벨로 된다. 이어서, 신호 BLSA를 접지 전위 VSS로 하여 비트선에서 데이터 기억 회로를 절리한다. 신호 VREG를 접지 전위 VSS, 신호 VRFY2 및 신호 BLC1을 하이 레벨로 하면, 래치 회로 LAT(B)에 하이 레벨이 기억되어 있는 경우, 래치 회로 LAT(A)의 데이터는 강제적으로 로우 레벨로 된다. 다시 신호 BLSA를 하이 레벨로 하여 비트선을 데이터 기억 회로에 접속하고, 신호 VREG를 하이 레벨, 신호 VRFY1을 하이 레벨로 한다. 그러면, 래치 회로 LAT(A)가 하이 레벨일 때, 비트선이 하이 레벨로 된다. 여기서, 비트선의 데이터를 래치 회로 LAT(A)에 페치한다. 이 결과, 도 37에 도시한 바와 같이, 메모리 셀의 데이터가 "0"이고, 외부에서 "1"데이터가 입력된 경우, 래치 회로 LAT(A)는 하이 레벨로 된다. 또한, 외부에서 데이터 "0"이 공급된 경우, 래치 회로 LAT(A)는 로우 레벨로 된다. 메모리 셀의 데이터가 "4"이고, 외부에서 "1"데이터가 입력된 경우, 래치 회로 LAT(A)는 로우 레벨로 된다. 이 때문에, 외부에서 "0"데이터가 입력된 경우, 래치 회로 LAT(A)는 하이 레벨로 되고, 이 상태에서 기록을 실행하면, 메모리 셀에 데이터 "2", "6"이 각각 기록된다. 이후의 프로그램 및 베리파이 방법은 제1 실시 형태와 모두 같다.
(제3 페이지의 프로그램)
제3 페이지의 프로그램도 제1 페이지, 제2 페이지의 프로그램과 모두 마찬가지로, 이어서 기록해야할 데이터(판독되는 데이터)를 외부에서 입력하고, 모든 데이터 기억 회로(310)∼(312111)의 래치 회로 LAT(A)에 기억한다. 이어서, 제1, 제2 페이지의 프로그램에서 메모리 셀의 데이터가 "0"으로 되어 있는 경우, 외부에서 입력된 데이터가 "1"인 경우, 기록을 실행하지 않는다. 또한, 외부에서 입력된 데이터가 "0"인 경우, 기록을 실행하고 메모리 셀의 데이터를 "1"로 한다. 제1, 제2 페이지의 프로그램에서 메모리 셀의 데이터가 "2"로 되어 있는 경우, 외부에서 입력된 데이터가 "1"인 경우, 기록을 실행하고 메모리 셀의 데이터를 "3"으로 한다. 또한, 외부에서 입력된 데이터가 "0"인 경우, 기록을 실행하지 않고 메모리 셀의 데이터를 그대로 "2"로 하여 두여야 한다.
제1 및 제2 페이지의 프로그램에 있어서, 메모리 셀의 데이터가 "4"로 되어 있는 경우, 외부에서 입력된 데이터가 "1"인 경우, 기록을 실행하지 않는다. 또한, 외부에서 입력된 데이터가 "0"인 경우, 기록을 실행하고 메모리 셀의 데이터를 "5"로 한다. 제1 및 제2 페이지의 프로그램에서 메모리 셀의 데이터가 "6"으로 되어 있는 경우, 외부에서 입력된 데이터가 "1"인 경우, 기록을 실행하고 메모리 셀의 데이터를 "7"로 한다. 또한, 외부에서 입력된 데이터가 "0"인 경우, 기록을 실행하지 않고 메모리 셀의 데이터를 그대로 "6"으로 하여 두어야 한다. 그러나, 래치 회로 LAT(A)의 데이터가 "0"이면 기록이 실행되어 버린다. 이 때문에, 메모리 셀의 상태가 "2", "6"에 있는 경우, 래치 회로 LAT(A)에 기억되어 있는 데이터의 "1"과 "0"을 반전시켜야 한다.
(내부 입력 데이터 변환)
제1 및 제2 페이지의 프로그램에서 메모리 셀의 데이터가 어느 상태로 되어 있는 가를 조사한다. 이를 위해, 선택되어 있는 워드선에 도 7에 도시한 리드시의 전위 "f"를 인가하여 리드 동작을 실행하고, 그 결과를 래치 회로 LAT(B)에 기억한다. 여기서, 래치 회로 LAT(B)에는 메모리 셀의 데이터가 "0", "2", "4"인 경우, 로우 레벨이 기억되고, 메모리 셀의 데이터가 "6"인 경우 하이 레벨이 기억된다. 이어서, 워드선에 리드시의 전위 "d"를 공급하여 리드 동작을 실행하고, 비트선으로 데이터를 판독한다. 여기서, 래치 회로 LAT(B)가 하이 레벨인 경우, 강제적으로 비트선을 로우 레벨로 한다. 이 결과를 래치 회로 LAT(B)에 기억시킨다. 이 경우, 래치 회로 LAT(B)에는 메모리 셀의 데이터가 "0", "2", "6"인 경우, 로우 레벨이 기억되고, 메모리 셀의 데이터가 "4"인 경우, 하이 레벨이 기억된다. 이어서, 워드선에 리드시의 전위 "b"를 인가하여 리드 동작을 실행하고, 비트선으로 데이터를 판독한다. 여기서, 래치 회로 LAT(B)가 하이 레벨인 경우, 강제적으로 비트선을 로우 레벨로 하고, 이 결과를 래치 회로 LAT(B)에 기억시킨다. 이 경우, 래치 회로 LAT(B)에는 메모리 셀의 데이터가 "0", "4"인 경우, 로우 레벨이 기억되고, 메모리 셀의 데이터가 "2", "6"인 경우, 하이 레벨이 기억된다.
여기서, 비트선에는 래치 회로 LAT(B)와 같은 데이터의 레벨이다. 도 6에 도시한 신호 VREG를 접지 전위 VSS로 하고, 신호 VRFY1을 하이 레벨로 하면, 래치 회로 LAT(A)가 하이 레벨로 되어 있을 때, 비트선의 데이터가 로우 레벨로 된다. 이어서, 신호 BLSA를 접지 전위 VSS로 하여 비트선에서 데이터 기억 회로(310)∼(312111)를 절리한다. 신호 VREG를 접지 전위 VSS로 하고, 신호 VRFY2를 BLCL1을 하이 레벨로 하면, 래치 회로 LAT(B)에 하이 레벨이 기억되어 있는 경우, 래치 회로 LAT(A)의 데이터는 강제적으로 로우 레벨로 된다. 다시, 신호 BLSA를 하이 레벨로 하여 비트선을 데이터 기억 회로(310)∼(312111)에 접속하고, 신호 VREG를 하이 레벨, 신호 VRFY1을 하이 레벨로 한다. 그러면, 래치 회로 LAT(A)가 하이 레벨일때, 비트선이 하이 레벨로 된다. 여기서, 비트선의 데이터를 래치 회로 LAT(A)에 페치한다.
이 결과, 도 38에 도시한 바와 같이, 메모리 셀의 데이터가 "0"이고, 외부에서 데이터 "1"이 공급된 경우, 래치 회로 LAT(A)는 하이 레벨로 된다. 또한, 외부에서 데이터 "0"이 공급된 경우, 래치 회로 LAT(A)는 로우 레벨로 된다. 메모리 셀의 데이터가 "2"이고, 외부에서 데이터 "1"이 공급된 경우, 래치 회로 LAT(A)는 로우 레벨로 되고, 외부에서 데이터 "0"이 공급된 경우, 래치 회로 LAT(A)는 하이 레벨로 된다. 메모리 셀의 데이터가 "4"이고, 외부에서 데이터 "1"이 공급된 경우, 래치 회로 LAT(A)는 하이 레벨로 된다. 또한, 외부에서 데이터 "0"이 공급된 경우, 래치 회로 LAT(A)는 로우 레벨로 된다. 메모리 셀의 데이터가 "6"이고, 외부에서 데이터 "1"이 공급된 경우, 래치 회로 LAT(A)는 로우 레벨로 된다. 또한, 외부에서 데이터 "0"이 입력된 경우, 래치 회로 LAT(A)는 하이 레벨로 된다. 이 상태에서 기록을 실행하면, 메모리 셀의 데이터가 "1", "3", "5", "7"로 각각 기록된다. 래치 회로 LAT(A)의 데이터가 확정한 후의 프로그램 및 베리파이 방법은 제1 실시 형태와 모두 같다.
(리드 동작)
(제1 페이지의 리드)
도 39a는 제1 페이지의 리드 동작을 도시하고 있다. 도 36에 도시한 바와 같이, 제1 페이지의 리드에서 출력되는 데이터가 "0"인 경우, 메모리 셀의 데이터는 "4"∼"7"의 범위에 있다. 또한, 출력되는 데이터가 "1"인 경우, 메모리 셀의 데이터는 "0"∼"3"의 범위에 존재한다. 이 때문에, 제1 페이지의 리드는 선택되어 있는 워드선에 도 7에 도시한 리드시의 전위 "d"를 인가한다.
이어서, 선택되어 있는 블록내의 비선택 워드선 및 셀렉트선 SG1에 전위 Vread(4. 5 V)를 공급하고, 도 6에 도시한 데이터 기억 회로의 신호 bias를 하이 레벨로 하여, 비트선을 프리차지한다. 이후, 셀의 소스측의 셀렉트선 SG2를 하이 레벨로 한다. 임계치 전압이 도 7에 도시한 전위 "d"보다 높을 때, 셀은 오프하므로 비트선은 그대로 하이 레벨이다. 또한, 임계치 전압이 전위 "d"에 도달하고 있지 않은 경우, 셀이 온하므로, 비트선은 접지 전위 VSS로 된다.
도 39a에 도시한 바와 같이, 메모리 셀의 데이터와 메모리 셀의 임계 값을 정의하고 있으므로, 비트선의 전위는 메모리 셀의 데이터가 "0", "1", "2", "3"이면, 로우 레벨, "4", "5", "6", "7"이면 하이 레벨로 된다.
이어서, 이들 비트선의 전위를 래치 회로 LAT(A)로 판독하면, 래치회로 LAT(A)는 메모리 셀의 데이터가 "0", "1", "2", "3"이면, 로우 레벨, "4", "5", "6", "7"이면, 하이 레벨로 된다. 그러나, 래치 회로 LAT(A)의 데이터를 출력할 때, 도 6에 도시한 클럭드 인버터 회로(61p)의 신호 Osac, Osacb가 인에이블로 된다. 이 때문에, 데이터 기억 회로의 출력단에는 메모리 셀의 데이터가 "0", "1", "2", "3"이면, "1"데이터가 출력되고, "4", "5", "6", "7"이면, "0"데이터가 출력된다. 이상은 2치, 제1 실시 형태의 경우와 모두 같은 동작이다.
(제2 페이지의 리드)
도 39B는 제2 페이지의 리드 동작을 도시하고 있다. 도 36에 도시한 바와 같이, 제2 페이지의 리드에서 출력되는 데이터가 "0"인 경우, 메모리 셀의 데이터는 "2", "3", "4", "5"의 범위에 있다. 또한, 출력되는 데이터가 "1"인 경우, 메모리 셀의 데이터는 "0", "1", "6", "7"의 범위에 존재한다.
먼저, 메모리 셀의 데이터가 "0"∼"5"에 있는가 "6", "7"에 있는 가를 조사한다. 이를 위해, 워드선의 전위를 도 7에 도시한 "f"로 하여, 리드 동작을 실행하고, 이 결과를 래치 회로 LAT(A)에 기억시킨다. 래치 회로 LAT(A)에 하이 레벨이 래치되는 것은 메모리 셀의 데이터가 "6", "7"인 경우뿐이다. 또한, 래치 회로 LAT(A)에 로우 레벨이 래치되는 경우는 메모리 셀의 데이터가 "0", "1", "2", "3", "4", "5"인 경우이다.
이어서, 메모리 셀의 데이터가 "0"∼"3"에 있는가 "4"∼"7"에 있는 가를 조사한다. 이를 위해, 워드선의 전위를 도 7에 도시한 "c"로 하여, 리드 동작을 실행한다. 여기서, 래치 회로 LAT(A)에 하이 레벨이 래치되어 있는 경우, 비트선을 강제적으로 로우 레벨로 한다. 이 결과를 래치 회로 LAT(A)에 기억시킨다. 래치 회로 LAT(A)에 하이 레벨이 래치되는 것은 메모리 셀의 데이터가 "2"∼"5"인 경우이다. 또한, 래치 회로 LAT(A)에 로우 레벨이 래치되는 경우는 메모리 셀의 데이터가 "0", "1", "6", "7"인 경우이다. 그러나, 래치 회로 LAT(A)의 데이터 출력시, 도 6에 도시한 클럭드 인버터 회로(61p)의 신호 Osac, Osacb가 인에이블로 된다. 이 때문에, 출력단에는 메모리 셀의 데이터가 "0", "1", "6", "7"이면, "1"데이터가 출력되고, "2"∼"5"이면, "0"데이터가 출력된다.
상기 제1 실시 형태에서는 제2 페이지의 리드시에 리드 동작을 3회 실행하고 있었다. 이것에 대하여, 제3 실시 형태에서는 제2 페이지의 리드 동작이 2회로 종료한다. 따라서, 제2 페이지의 리드 동작을 고속화할 수 있다.
(제3 페이지의 리드)
도 40은 제3 페이지의 리드 동작을 도시하고 있다. 도 36에 도시한 바와 같이, 제3 페이지의 리드에서 출력되는 데이터가 "0"인 경우, 메모리 셀의 데이터는 "1", "2", "5", "6"의 범위에 있다. 또한, 출력되는 데이터가 "1"인 경우, 메모리 셀의 데이터는 "0", "3", "4", "7"의 범위에 존재한다.
먼저, 메모리 셀의 데이터가 "0"∼"6"에 있는가, "7"에 있는 가를 조사한다. 이를 위해, 워드선의 전위를 도 7에 도시한 전위 "g"로 하여 리드 동작을 실행하고, 이 결과를 래치 회로 LAT(A)에 기억시킨다. 래치 회로 LAT(A)에 하이 레벨이 래치되는 것은 메모리 셀의 데이터가 "7"인 경우뿐이다. 또한, 래치 회로 LAT(A)에 로우 레벨이 래치되는 경우는 메모리 셀의 데이터가 "0", "1", "2", "3", "4", "5", "6"인 경우이다.
이어서, 메모리 셀의 데이터가 "0"∼"4"에 있는가, "5"∼"7"에 있는 가를 조사한다. 이를 위해, 워드선의 전위를 도 7에 도시한 전위 "e"로 하여 리드 동작을 실행한다. 여기서, 래치 회로 LAT(A)에 하이 레벨이 래치되어 있는 경우, 비트선을 강제적으로 로우 레벨로 하고, 이 결과를 래치 회로 LAT(A)에 기억시킨다. 래치 회로 LAT(A)에 하이 레벨이 래치되는 것은 메모리 셀의 데이터가 "5", "6"인 경우이다. 또한, 래치 회로 LAT(A)에 로우 레벨이 래치되는 경우는 메모리 셀의 데이터가 "0"∼"4", "7"인 경우이다.
이어서, 메모리 셀의 데이터가 "0"∼"2"에 있는가, "3"∼"7"에 있는 가를 조사한다. 이를 위해, 워드선의 전위를 도 7에 도시한 전위 "c"로 하여 리드 동작을 실행한다. 여기서, 래치 회로 LAT(A)에 하이 레벨이 래치되어 있는 경우, 비트선을 강제적으로 로우 레벨로 하고, 이 결과를 래치 회로 LAT(A)에 기억시킨다. 래치 회로 LAT(A)에 하이 레벨이 래치되는 것은 메모리 셀의 데이터가 "3", "4", "7"인 경우이다. 또한, 래치 회로 LAT(A)에 로우 레벨이 래치되는 경우는 메모리 셀의 데이터가 "0"∼"2", "5", "6"인 경우이다.
이어서, 메모리 셀의 데이터가 "0"에 있는가, "1"∼"7"에 있는 가를 조사한다. 이를 위해, 워드선의 전위를 도 7에 도시한 전위 "a"로 하여 리드 동작을 실행한다. 여기서, 래치 회로 LAT(A)에 하이 레벨이 래치되어 있는 경우, 비트선을 강제적으로 로우 레벨로 하고, 이 결과를 래치 회로 LAT(A)에 기억시킨다. 래치 회로 LAT(A)에 하이 레벨이 래치되는 것은 메모리 셀의 데이터가 "1", "2", "5", "6"인 경우이다. 또한, 래치 회로 LAT(A)에 로우 레벨이 래치되는 경우는 메모리 셀의 데이터가 "0", "3", "4", "7"인 경우이다.
래치 회로 LAT(A)의 데이터 출력시, 도 6에 도시한 클럭드 인버터 회로(61p)의 신호 Osac, Osacb가 인에이블로 된다. 이 때문에, 출력단에는 메모리 셀의 데이터가 "0", "3", "4", "7"이면, "1"데이터가 출력되고, "1", "2", "5", "6"이면, "0"데이터가 출력된다.
상기 제1 실시 형태에서는 제3 페이지의 리드에 있어서, 리드 동작을 7회 실행하였다. 이것에 대하여, 제3 실시 형태에서는 제3 페이지의 리드 동작이 4회로 종료한다. 이 때문에, 제3 페이지의 리드 동작을 고속화할 수 있다.
(이레이즈 및 이레이즈 베리파이)
이레이즈 및 이레이즈 베리파이 동작은 제1 실시 형태와 모두 같다. 즉 소거 동작을 실행하면, 메모리 셀의 데이터는 "0"로 되고, 어드레스에 의해, 제1, 제2, 제3 페이지의 어느것을 지정하여도, 판독되는 데이터는 "1"로 된다.
상기 제3 실시 형태에 의하면, 제(n-1)페이지 기록후, 제n페이지 기록을 실행하는 경우, 외부에서 입력되는 데이터를 그대로 기록하지 않고, 이 외부에서 입력되는 데이터와 내부에 이미 기록되어 있는 데이터 사이에서, 논리합을 연산한 값을 기록하고 있다. 이 때문에, 제n페이지시의 리드 동작에서는 (2n-1)회 워드선의 레벨을 바꾸어 리드 동작을 실행할 필요가 없고, (2n/2)회로 판독하는 것이 가능하게 된다. 따라서, 리드 동작 회수를 저감할 수 있고, 리드 동작을 고속화할 수 있다.
상기 제3 실시 형태에서는 도 36에 도시한 바와 같이, 외부에서 입력되는 기록 데이터 및 판독되는 데이터를 정의하였다. 이 때문에, 판독 동작에 있어서, 제1 페이지에서는 1회, 제2 페이지에서는 2회, 제3 페이지에서는 4회의 합계 7회의 리드 동작을 실행하였다. 그러나, 이것에 한정되는 것은 아니다.
예를 들면, 도 41에 도시한 바와 같이, 외부에서 입력되는 기록 데이터 및 판독되는 데이터를 정의한 경우, 판독 동작에 있어서, 제1 페이지는 3회, 제2 페이지는 2회, 제3 페이지는 3회의 리드 동작을 실행해도 좋다. 이 경우, 제1 내지 제3 페이지를 읽는 총 회수는 도 36에 도시한 경우의 7회에서 8회로 증가하여 버린다. 그러나, 가장 액세스 시간이 긴 제3 페이지의 리드 동작을 4회에서 3회로 할 수 있으므로, 총 리드 동작 시간을 단축할 수 있다.
또한, 제1 내지 제3 실시 형태에 있어서, 1셀에는 8치, 3비트의 데이터를 기억하였지만, 1셀에 16치, 4비트의 데이터를 기억하는 것도 가능하다. 이 경우, 제3 페이지에서 정한 8개의 임계치 전압 사이에 하나씩 새로운 임계치 전압을 정하고, 상술한 것과 마찬가지 프로그램 동작 및 프로그램 베리파이 동작을 실행하면 좋다. 따라서, 본 발명은 셀에 기억하는 비트수를 증가한 경우에 있어서도, 데이터 기억 회로 및 이것을 제어하는 동작을 전혀 변경할 필요가 없는 이점을 갖고 있다.
또한, 상기 제1 내지 제3 실시 형태는 메모리 셀에 데이터를 기록하는 것에 의해, 메모리 셀의 임계치 전압을 변화시켰다. 그러나, 본 발명은 이들 실시 형태에 한정되는 것이 아니고, 예를 들면 메모리 셀의 데이터를 소거하는 것에 의해, 메모리 셀의 임계치 전압을 설정하는 경우에도 적용할 수 있다. 즉, 블록마다 동일 데이터를 일괄해서 기록하는 것에 의해, 각 메모리 셀의 임계치 전압을 소정의 전압으로 한다. 이 상태에서 기록 데이터에 따라, 각 메모리 셀의 임계치 전압을 소거하는 것에 의해, 각 메모리 셀의 임계치 전압을 설정한다. 이 경우에, 본 발명의 각 실시 형태를 적용하는 것에 의해, 각 실시 형태와 마찬가지 효과를 얻을 수 있다.
또한, 제3 실시 형태에 있어서, 예를 들면, 이 메모리 장치를 다치의 리드 온리 메모리로서 사용하는 경우, 데이터 기억 회로에 있어서, 래치 회로 LAT(B)는 필요없고, 래치 회로 LAT(A) 만으로 구성할 수도 이다.
또한, 제1, 제2 실시 형태에서는 NAND형 셀을 사용하였지만, 이것에 한정되는 것은 아니고, NOR형 셀, DINOR형 셀 등을 사용하는 것도 가능하다.
상술한 바와 같이, 본 발명의 기억 장치 및 기억 방법에 의하면, 칩내에 있어서 래치 회로가 점유하는 면적의 증가를 방지함과 동시에 기록 베리파이에 요하는 시간의 증대를 억제할 수 있다.

Claims (20)

1회째의 기록에서 21개의 상태, 2회째의 기록에서 22개의 상태, k회째의 기록에서 2k= n개의 상태(k, n은 자연수)를 갖는 메모리 셀(M1∼M16)을 포함하는 기억 장치의 기억 방법에 있어서,
k회째의 기록에서, 제1 논리 레벨의 데이터 또는 제2 논리 레벨의 데이터를 데이터 기억 회로(310∼312111)에 기억하는 스텝;
상기 데이터 기억 회로의 데이터가 제1 논리 레벨의 데이터인 경우, 상기 메모리 셀(M1∼M16)의 상태 "i-1"(i≤n, i는 자연수)를 "i"로 하고, 상기 데이터 기억 회로의 데이터가 제2 논리 레벨의 데이터인 경우, 상기 메모리 셀의 상태를 유지하는 스텝;
상기 메모리 셀의 상태가 "i"의 상태에 도달하여 있고 상기 메모리 셀의 상태가 "1"∼"i"인 경우, 상기 데이터 기억 회로의 데이터를 제1 논리 레벨에서 제2 논리 레벨로 변경하는 스텝;
상기 메모리 셀의 상태가 "i"상태에 도달해 있지 않고 상기 메모리 셀의 상태가 "1"∼"i"인 경우, 상기 데이터 기억 회로의 데이터를 제1 논리 레벨로 유지하는 스텝;
상기 메모리 셀의 상태가 "i+1"∼"n "인 경우, 상기 데이터 기억 회로의 데이터를 유지하는 스텝; 및
상기 메모리 셀의 상태가 "i-1"에서 "i"의 상태로 천이할 때, 상기 메모리 셀의 상태는 일시적으로라도 "i+1"에서 "n "의 상태로 되지 않도록 상기 메모리 셀의 상태를 제어하는 스텝
을 포함하는 것을 특징으로 하는 기억 장치의 기억 방법.
제1항에 있어서,
상기 제어 스텝은 외부에서 입력되는 제1 데이터에 따라 상기 메모리 셀(M1∼M16)을 상태 "0 "또는 상태 "n/2 "로 설정하고, 외부에서 입력되는 제2 데이터에 따라 상기 메모리 셀을 상태 "n/4 "및 상태 "3n/4 "로 설정하며, 외부에서 입력되는 제3 데이터에 따라 상기 메모리 셀을 상태 "n/8 ", "3n/8 ", "5n/8 ", "7n/8 "로 설정하고, 외부에서 입력되는 제k 데이터에 따라 상기 메모리 셀을 상태 "n/2k", "3n/2k", "5n/2k", ... "(2k-1)n/2k"로 설정하는 것을 특징으로 하는 기억 장치의 기억 방법.
제1항에 있어서, 상기 "i"(i≤n, i는 자연수)의 상태에 도달하여 있는지 베리파이 동작을 실행할 때, 상태 "i"보다 충분히 작은 상태의 베리파이 동작을 생략하는 것을 특징으로 하는 기억 장치의 기억 방법.
제1항에 있어서, 상기 "i"(i≤n, i는 자연수)의 상태에 도달하여 있는지 베리파이 동작을 실행할 때, 상태 "i"보다 충분히 큰 상태의 베리파이 동작을 생략하는 것을 특징으로 하는 기억 장치의 기억 방법.
제1항에 있어서, 상기 메모리 셀(M1∼M16)은 불휘발성 반도체 메모리 셀에 의해 구성되는 것을 특징으로 하는 기억 장치의 기억 방법.
제1항에 있어서, 상기 n개의 상태는 상기 불휘발성 메모리 셀(M1∼M16)의 임계치 전압의 차이에 의해 구별되는 것을 특징으로 하는 기억 장치의 기억 방법.
반도체 메모리 장치에 있어서,
상태 "0 ", 상태 "2 ", ... 상태 "n "(3≤n, n은 자연수)로 이루어지는 n개의 상태를 갖는 메모리 셀(M1∼M16);
외부에서 입력되는 데이터 - 상기 데이터는 제1 논리 레벨 또는 제2 논리 레벨임 - 를 기억하는 제1 데이터 기억 회로(LAT(A));
상기 메모리 셀의 상태를 판독하는 판독 회로(2, 3, 6, 7a, 7b);
상기 판독 회로에 의해 판독된 상기 메모리 셀의 상태가 "0 "∼"i"인 경우에 제1 논리 레벨의 데이터를 기억하고, 상기 판독 회로에 의해 판독된 상기 메모리 셀의 상태가 "i"∼"n "의 경우에 제2 논리 레벨의 데이터를 기억하는 제2 데이터 기억 회로(LAT(B));
상기 제1 데이터 기억 회로의 데이터가 제1 논리 레벨의 데이터인 경우에 메모리 셀의 상태 "i-1"을 "i"의 상태로 천이시키고, 상기 제2 데이터 기억 회로의 데이터가 제2 논리 레벨의 데이터인 경우에 상기 메모리 셀의 상태를 유지하는 기록 회로(2, 3, 6, 7a, 7b);
상기 메모리 셀의 상태가 "i"의 상태에 도달하여 있고 상기 제2 데이터 기억 회로의 데이터가 제1 논리 레벨인 경우에 상기 제1 데이터 기억 회로의 데이터를 제1 논리 레벨에서 제2 논리 레벨로 변경하고, 상기 메모리 셀의 상태가 "i"상태에 도달해 있지 않고 상기 제2 데이터 기억 회로의 데이터가 제1 논리 레벨인 경우에 상기 제1 데이터 기억 회로의 데이터를 유지하며, 상기 제2 데이터 기억 회로의 데이터가 제2 논리 레벨인 경우 상기 제1 데이터 기억 회로의 데이터를 유지하는 기록 베리파이 회로(7a); 및
상기 메모리 셀의 상태가 "i-1"에서 "i"의 상태로 천이할 때, 상기 메모리 셀의 상태가 일시적으로라도 "i+1"에서 "n "의 상태로 되지 않도록 상기 메모리 셀의 상태를 제어하는 기록 상태 제어 회로(7a)
를 포함하는 것을 특징으로 하는 반도체 메모리 장치.
제7항에 있어서,
상기 제1 데이터 기억 회로(LAT(A))에 접속되고, 외부에서 데이터를 페치하기 위한 제1 전송 수단(61o); 및
상기 제1 데이터 기억 회로(LAT(A))에 접속되고, 상기 메모리 셀에서 판독된 데이터를 외부로 전송하기 위한 제2 전송 수단(61p)
을 더 포함하는 것을 특징으로 하는 반도체 메모리 장치.
제7항에 있어서, 상기 메모리 셀(M1∼M16)은 불휘발성 반도체 메모리 셀에 의해 구성되어 있는 것을 특징으로 하는 반도체 메모리 장치.
제7항에 있어서,
상기 외부에서 입력되는 데이터는 제1 데이터, 제2 데이터, 제3 데이터를 포함하고, 상기 제1 데이터는 상기 메모리 셀(M1∼M16)을 상태 "0 "또는 상태 "n/2"로 설정하기 위한 데이터이며, 상기 제2 데이터는 상기 메모리 셀(M1∼M16)을 상태 "n/4 "및 상태 "3n/4"로 설정하기 위한 데이터이고, 상기 제3 데이터는 상기 메모리 셀(M1∼M16)을 상태 "n/8 ", "3n/8 ", "5n/8 ", "7n/8 "로 설정하기 위한 데이터인 것을 특징으로 하는 반도체 메모리 장치.
반도체 메모리 장치에 있어서,
상태 "1", 상태 "2 ", ... 상태 "n "(3≤n, n은 자연수)의 n개의 상태를 갖는 메모리 셀(M1∼M16);
상기 메모리 셀에서 출력된 전위가 제1입력단에 각각 공급되고, 제2입력단에 다른 전위의 레퍼런스 전위가 각각 공급되는 적어도 하나의 차동 증폭기(DFA1∼DFA7)를 갖는 차동 증폭 회로부(231);
상기 적어도 하나의 차동 증폭기의 출력 신호를 선택적으로 인출하는 로직 회로(232);
상기 메모리 셀에 접속되고, 제1 논리 레벨의 데이터 또는 제2 논리 레벨의 데이터를 기억하는 데이터 기억 회로(LAT(C)); 및
상기 데이터 기억 회로의 데이터가 제1 논리 레벨의 데이터인 경우 상기 메모리 셀의 상태 "i-1"을 "i"로 하고, 상기 데이터 기억 회로의 데이터가 제2 논리 레벨의 데이터인 경우 상기 메모리 셀의 상태를 유지하며, 상기 메모리 셀의 상태가 "i"상태에 도달하여 있고 상기 메모리 셀의 상태가 "1"∼"i"인 경우 상기 데이터 기억 회로의 데이터를 제1 논리 레벨에서 제2 논리 레벨로 변경하고, 상기 메모리 셀의 상태가 "i"상태에 도달해 있지 않고 상기 메모리 셀의 상태가 "1"∼"i"인 경우 상기 데이터 기억 회로의 데이터를 제1 논리 레벨로 유지하며, 상기 메모리 셀의 상태가 "i+1"∼"n"인 경우, 상기 데이터 기억 회로의 데이터를 유지하고, 상기 메모리 셀의 상태가 "i-1"에서 "i"의 상태로 천이할 때 상기 메모리 셀의 상태가 일시적으로라도 "i+1"에서 "n"의 상태로 되지 않도록 상기 메모리 셀의 상태를 제어하는 제어 회로(2, 3, 6, 7a, 7b)
를 포함하는 것을 특징으로 하는 반도체 메모리 장치.
제11항에 있어서,
상기 데이터 기억 회로(LAT(C))에 접속되고, 상기 데이터 기억 회로에 기억된 데이터를 상기 차동 증폭 회로부(231) 및 로직 회로(232)로 전송하는 제1 전송 수단(241p); 및
상기 데이터 기억 회로(LAT(C))에 접속되고, 상기 차동 증폭 회로부(231) 및 로직 회로(232)에 의해 검출된 데이터를 상기 데이터 기억 회로로 전송하는 제2 전송 수단(241o)
을 더 포함하는 것을 특징으로 하는 반도체 메모리 장치.
제12항에 있어서,
상기 데이터 기억 회로(LAT(C))를 상기 차동 증폭 회로부(231) 및 상기 로직 회로(232)에 선택적으로 접속하는 셀렉터를 더 포함하고,
상기 차동 증폭 회로부 및 상기 로직 회로의 갯수는 상기 데이터 기억 회로의 갯수보다 작은 것을 특징으로 하는 반도체 메모리 장치.
제12항에 있어서, 상기 메모리 셀은 불휘발성 반도체 메모리 셀에 의해 구성되고, 상기 불휘발성 반도체 메모리 셀은 부의 임계치 전압을 갖고 있는 것을 특징으로 하는 반도체 메모리 장치.
제14항에 있어서, 상기 메모리 셀에서 판독되는 전압은 상기 메모리 셀의 임계치 전압에 대응하고 있는 것을 특징으로 하는 반도체 메모리 장치.
제11항에 있어서,
상기 외부에서 입력되는 데이터는 제1 데이터, 제2 데이터, 제3 데이터를 포함하고, 상기 제1 데이터는 상기 메모리 셀(M1∼M16)을 상태 "0"또는 상태 "n/2 "로 설정하기 위한 데이터이며, 상기 제2 데이터는 상기 메모리 셀(M1∼M16)을 상태 "n/4"및 상태 "3n/4"로 설정하기 위한 데이터이고, 상기 제3 데이터는 상기 메모리 셀(M1∼M16)을 상태 "n/8", "3n/8", "5n/8", "7n/8"로 설정하기 위한 데이터인 것을 특징으로 하는 반도체 메모리 장치.
n치의 상태를 갖는 메모리 셀을 포함하는 기억 장치의 기억 방법에 있어서,
외부에서 입력되는 제1 논리 레벨 또는 제2 논리 레벨의 데이터를 데이터 기억 회로에 기억하는 스텝;
상기 메모리 셀에서 판독되는 제1 논리 레벨 또는 제2 논리 레벨에 따라 상기 데이터 기억 회로에 기억되어 있는 논리 레벨을 변경하는 스텝; 및
상기 데이터 기억 회로에 기억되어 있는 상기 변경된 논리 레벨이 제1 논리 레벨인 경우 상기 메모리 셀의 상태를 변경하고, 제2 논리 레벨인 경우 상기 메모리 셀의 상태를 유지하는 스텝
을 포함하는 것을 특징으로 하는 기억 장치의 기억 방법.
제17항에 있어서,
상기 외부에서 입력되는 데이터는 제1 데이터, 제2 데이터, 제3 데이터를 포함하고, 상기 제1 데이터는 상기 메모리 셀(M1∼M16)을 상태 "0"또는 상태 "n/2"로 설정하기 위한 데이터이며, 상기 제2 데이터는 상기 메모리 셀(M1∼M16)을 상태 "n/4"및 상태 "3n/4"로 설정하기 위한 데이터이고, 상기 제3 데이터는 상기 메모리 셀(M1∼M16)을 상태 "n/8", "3n/8", "5n/8", "7n/8"로 설정하기 위한 데이터인 것을 특징으로 하는 기억 장치의 기억 방법.
k 비트 n(=2k)치 (k, n은 정수)의 상태를 갖는 메모리 셀을 포함하는 기억 장치의 기억 방법에 있어서,
외부에서 입력되는 제1 논리 레벨 또는 제2 논리 레벨의 데이터를 데이터 기억 회로에 기억하는 스텝; 및
상기 데이터 기억 회로에 기억된 데이터에 따라, (2k-1)/k이상 중에서 가장 작은 정수에 의해, n치의 상태에서 1비트의 상태를 구별하도록 상기 메모리 셀의 상태를 결정하는 스텝
을 포함하는 것을 특징으로 하는 기억 장치의 기억 방법.
제19항에 있어서,
상기 외부에서 입력되는 데이터는 제1 데이터, 제2 데이터, 제3 데이터를 포함하고, 상기 제1 데이터는 상기 메모리 셀(M1∼M16)을 상태 "0"또는 상태 "n/2"로 설정하기 위한 데이터이며, 상기 제2 데이터는 상기 메모리 셀(M1∼M16)을 상태 "n/4"및 상태 "3n/4"로 설정하기 위한 데이터이고, 상기 제3 데이터는 상기 메모리 셀(M1∼M16)을 상태 "n/8", "3n/8", "5n/8", "7n/8"로 설정하기 위한 데이터인 것을 특징으로 하는 기억 장치의 기억 방법.
KR1019990061665A 1998-12-25 1999-12-24 반도체 기억 장치 및 그 기억 방법 KR100329950B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP1998-369467 1998-12-25
JP36946798A JP3905990B2 (ja) 1998-12-25 1998-12-25 記憶装置とその記憶方法

Publications (2)

Publication Number Publication Date
KR20000048392A true KR20000048392A (ko) 2000-07-25
KR100329950B1 KR100329950B1 (ko) 2002-03-27

Family

ID=18494501

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990061665A KR100329950B1 (ko) 1998-12-25 1999-12-24 반도체 기억 장치 및 그 기억 방법

Country Status (6)

Country Link
US (6) US6178115B1 (ko)
EP (3) EP1870902B1 (ko)
JP (1) JP3905990B2 (ko)
KR (1) KR100329950B1 (ko)
DE (2) DE69942640D1 (ko)
TW (1) TW449923B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101034112B1 (ko) * 2003-12-17 2011-05-13 엘지전자 주식회사 이동 통신 단말기 및 그의 데이터 검색 및 정렬 방법

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3905990B2 (ja) 1998-12-25 2007-04-18 株式会社東芝 記憶装置とその記憶方法
KR100388179B1 (ko) * 1999-02-08 2003-06-19 가부시끼가이샤 도시바 불휘발성 반도체 메모리
JP2001093288A (ja) 1999-09-20 2001-04-06 Toshiba Corp 不揮発性半導体記憶装置
USRE40110E1 (en) * 1999-09-20 2008-02-26 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device for storing multivalued data
JP4002710B2 (ja) * 2000-01-31 2007-11-07 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
JP2002100192A (ja) * 2000-09-22 2002-04-05 Toshiba Corp 不揮発性半導体メモリ
JP3631463B2 (ja) * 2001-12-27 2005-03-23 株式会社東芝 不揮発性半導体記憶装置
FR2822286A1 (fr) * 2001-03-19 2002-09-20 St Microelectronics Sa Memoire eeprom programmable par mot comprenant des verrous de selection de colonne a double fonction
US6891864B2 (en) * 2001-07-09 2005-05-10 California Institute Of Technology Fiber-coupled microsphere Raman laser
JP3977799B2 (ja) * 2003-12-09 2007-09-19 株式会社東芝 不揮発性半導体記憶装置
US6751129B1 (en) 2002-05-21 2004-06-15 Sandisk Corporation Efficient read, write methods for multi-state memory
JP3935139B2 (ja) 2002-11-29 2007-06-20 株式会社東芝 半導体記憶装置
JP3920768B2 (ja) * 2002-12-26 2007-05-30 株式会社東芝 不揮発性半導体メモリ
US6996011B2 (en) * 2004-05-26 2006-02-07 Macronix International Co., Ltd. NAND-type non-volatile memory cell and method for operating same
JP4041057B2 (ja) * 2003-11-13 2008-01-30 株式会社東芝 不揮発性半導体記憶装置
JP4170952B2 (ja) 2004-01-30 2008-10-22 株式会社東芝 半導体記憶装置
JP2008176924A (ja) * 2004-01-30 2008-07-31 Toshiba Corp 半導体記憶装置
JP4427382B2 (ja) * 2004-04-28 2010-03-03 株式会社東芝 不揮発性半導体記憶装置
JP4713873B2 (ja) 2004-11-12 2011-06-29 株式会社東芝 半導体記憶装置
JP4786171B2 (ja) 2004-12-10 2011-10-05 株式会社東芝 半導体記憶装置
JP4660243B2 (ja) 2005-03-28 2011-03-30 株式会社東芝 半導体記憶装置
KR100721012B1 (ko) * 2005-07-12 2007-05-22 삼성전자주식회사 낸드 플래시 메모리 장치 및 그것의 프로그램 방법
US7656710B1 (en) 2005-07-14 2010-02-02 Sau Ching Wong Adaptive operations for nonvolatile memories
JP4721797B2 (ja) * 2005-07-20 2011-07-13 ルネサスエレクトロニクス株式会社 不揮発性半導体記憶装置の書込方法
JP4991131B2 (ja) 2005-08-12 2012-08-01 株式会社東芝 半導体記憶装置
JP4846314B2 (ja) * 2005-09-22 2011-12-28 株式会社東芝 半導体記憶装置
JP4785150B2 (ja) * 2005-10-04 2011-10-05 ルネサスエレクトロニクス株式会社 ディスターブを防止したnand型フラッシュメモリ
JP2007179669A (ja) * 2005-12-28 2007-07-12 Toshiba Corp メモリシステム
JP5367210B2 (ja) 2006-01-20 2013-12-11 株式会社東芝 半導体記憶装置
KR100724339B1 (ko) * 2006-01-25 2007-06-04 삼성전자주식회사 고속의 제1 페이지 독출속도를 가지는 3-레벨 불휘발성반도체 메모리 장치 및 이에 대한 구동방법
DE602006006029D1 (de) * 2006-04-12 2009-05-14 St Microelectronics Srl Spaltendekodierungssystem für mit Niederspannungstransistoren implementierte Halbleiterspeichervorrichtungen
US7486561B2 (en) 2006-06-22 2009-02-03 Sandisk Corporation Method for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages
US7489549B2 (en) * 2006-06-22 2009-02-10 Sandisk Corporation System for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages
JP4892307B2 (ja) 2006-09-08 2012-03-07 株式会社東芝 不揮発性半導体格納装置
KR100885912B1 (ko) * 2007-01-23 2009-02-26 삼성전자주식회사 기입된 데이터 값에 기초하여 데이터를 선택적으로검증하는 데이터 검증 방법 및 반도체 메모리 장치
JP2009059453A (ja) * 2007-09-03 2009-03-19 Toshiba Corp 不揮発性半導体記憶装置及びメモリシステム
JP4444320B2 (ja) 2007-09-07 2010-03-31 株式会社東芝 不揮発性半導体記憶装置
US7710781B2 (en) * 2007-09-25 2010-05-04 Intel Corporation Data storage and processing algorithm for placement of multi-level flash cell (MLC) VT
US7924628B2 (en) * 2007-11-14 2011-04-12 Spansion Israel Ltd Operation of a non-volatile memory array
US7945825B2 (en) * 2007-11-25 2011-05-17 Spansion Isreal, Ltd Recovery while programming non-volatile memory (NVM)
US8127091B2 (en) * 2008-10-30 2012-02-28 Micron Technology, Inc. Programming memory cells with additional data for increased threshold voltage resolution
US8077515B2 (en) 2009-08-25 2011-12-13 Micron Technology, Inc. Methods, devices, and systems for dealing with threshold voltage change in memory devices
JP5566797B2 (ja) * 2010-07-02 2014-08-06 株式会社東芝 不揮発性半導体記憶装置
JP5296175B2 (ja) * 2011-10-24 2013-09-25 株式会社東芝 半導体記憶装置
KR102053958B1 (ko) 2013-05-27 2019-12-10 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 재프로그램 방법
JP6199838B2 (ja) 2014-09-12 2017-09-20 東芝メモリ株式会社 半導体記憶装置
KR20160115484A (ko) * 2015-03-27 2016-10-06 에스케이하이닉스 주식회사 전원 구동 회로 및 이를 포함하는 반도체 장치
EP3251661B1 (en) 2016-05-30 2020-12-23 Sun Pharmaceutical Industries Limited Raloxifene sprinkle composition
JP2018163724A (ja) * 2017-03-27 2018-10-18 東芝メモリ株式会社 メモリシステム

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5440505A (en) * 1994-01-21 1995-08-08 Intel Corporation Method and circuitry for storing discrete amounts of charge in a single memory element
US5903495A (en) * 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
US5969985A (en) * 1996-03-18 1999-10-19 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device
EP0904587B1 (en) * 1996-06-14 2003-10-08 Macronix International Co., Ltd. Page mode floating gate memory device storing multiple bits per cell
KR100205309B1 (ko) * 1996-07-23 1999-07-01 구본준 비휘발성 메모리셀 및 이 비휘발성 메모리셀을 프로그래밍하는 방법
JPH1055687A (ja) * 1996-08-09 1998-02-24 Sony Corp 不揮発性半導体記憶装置
JP3090066B2 (ja) * 1996-10-29 2000-09-18 日本電気株式会社 多値不揮発性半導体メモリ
US6141243A (en) * 1996-11-12 2000-10-31 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Sensor element
TW380255B (en) * 1997-02-26 2000-01-21 Toshiba Corp Semiconductor memory
JP3405651B2 (ja) * 1997-02-27 2003-05-12 株式会社東芝 不揮発性半導体記憶装置
TW407234B (en) * 1997-03-31 2000-10-01 Hitachi Ltd Semiconductor memory device, non-volatile semiconductor memory device and data reading method thereof
JP3592887B2 (ja) * 1997-04-30 2004-11-24 株式会社東芝 不揮発性半導体記憶装置
JP3214395B2 (ja) * 1997-05-20 2001-10-02 日本電気株式会社 不揮発性半導体記憶装置
JP3572179B2 (ja) * 1997-10-07 2004-09-29 シャープ株式会社 不揮発性半導体記憶装置およびその書き込み方法
US6058042A (en) * 1997-12-26 2000-05-02 Sony Corporation Semiconductor nonvolatile memory device and method of data programming the same
US5949708A (en) * 1997-12-31 1999-09-07 Micron Technology, Inc. Integrated circuit charge coupling circuit
JP3629144B2 (ja) * 1998-06-01 2005-03-16 株式会社東芝 不揮発性半導体記憶装置
JP3905990B2 (ja) * 1998-12-25 2007-04-18 株式会社東芝 記憶装置とその記憶方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101034112B1 (ko) * 2003-12-17 2011-05-13 엘지전자 주식회사 이동 통신 단말기 및 그의 데이터 검색 및 정렬 방법

Also Published As

Publication number Publication date
JP2000195280A (ja) 2000-07-14
US20050111288A1 (en) 2005-05-26
EP1677310B1 (en) 2010-07-28
DE69934961D1 (de) 2007-03-15
US20030021156A1 (en) 2003-01-30
TW449923B (en) 2001-08-11
DE69942640D1 (de) 2010-09-09
US20020057596A1 (en) 2002-05-16
DE69934961T2 (de) 2007-10-31
EP1870902A2 (en) 2007-12-26
US6178115B1 (en) 2001-01-23
EP1870902A3 (en) 2008-05-14
JP3905990B2 (ja) 2007-04-18
US6552930B2 (en) 2003-04-22
US6487122B2 (en) 2002-11-26
EP1014381B1 (en) 2007-01-24
US6377485B1 (en) 2002-04-23
US6707719B2 (en) 2004-03-16
US6944055B2 (en) 2005-09-13
EP1677310A1 (en) 2006-07-05
KR100329950B1 (ko) 2002-03-27
US20030137872A1 (en) 2003-07-24
EP1870902B1 (en) 2014-08-20
EP1014381A1 (en) 2000-06-28

Similar Documents

Publication Publication Date Title
KR100329950B1 (ko) 반도체 기억 장치 및 그 기억 방법
KR100376234B1 (ko) 불휘발성 반도체 기억 장치
KR100380775B1 (ko) 불휘발성 반도체 메모리 장치
KR100244863B1 (ko) 반도체 기억 장치 및 기억 시스템
US7359245B2 (en) Flash memory device having multi-level cell and reading and programming method thereof
US6026014A (en) Nonvolatile semiconductor memory and read method
KR100923810B1 (ko) 메모리 소자와 그 동작 방법
KR20140033255A (ko) 플래시 멀티-레벨 임계값 분배 방식
KR20100059937A (ko) 불휘발성 반도체 기억 장치 및 메모리 시스템
JP2008010046A (ja) 不揮発性半導体記憶装置
JP3961759B2 (ja) 不揮発性半導体記憶装置
JP2000228092A (ja) 半導体集積回路装置
JP2006127762A (ja) 記憶装置の制御方法
USRE40110E1 (en) Nonvolatile semiconductor memory device for storing multivalued data
JP2000090677A (ja) 不揮発性半導体記憶装置
JP2007122845A (ja) 半導体メモリ

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: 20130227

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20140220

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20150130

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20160203

Year of fee payment: 15

LAPS Lapse due to unpaid annual fee