KR100921848B1 - 데이터를 정확하게 판독할 수 있는 반도체 메모리 장치 - Google Patents

데이터를 정확하게 판독할 수 있는 반도체 메모리 장치 Download PDF

Info

Publication number
KR100921848B1
KR100921848B1 KR1020070076479A KR20070076479A KR100921848B1 KR 100921848 B1 KR100921848 B1 KR 100921848B1 KR 1020070076479 A KR1020070076479 A KR 1020070076479A KR 20070076479 A KR20070076479 A KR 20070076479A KR 100921848 B1 KR100921848 B1 KR 100921848B1
Authority
KR
South Korea
Prior art keywords
level
data
read
memory cells
write
Prior art date
Application number
KR1020070076479A
Other languages
English (en)
Other versions
KR20080012199A (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 KR20080012199A publication Critical patent/KR20080012199A/ko
Application granted granted Critical
Publication of KR100921848B1 publication Critical patent/KR100921848B1/ko

Links

Images

Classifications

    • 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
    • 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

Landscapes

  • Read Only Memory (AREA)

Abstract

제어부는 전압 생성 회로에 의해 생성된 제1 레벨 CR에서의 판독 동작(S31) 및 제2 레벨 CR-x에서의 판독 동작(S32)시 워드 라인들 중 한 워드 라인에 접속된 복수의 메모리 셀들로부터 데이터를 판독하고 데이터로부터 제1 레벨과 제2 레벨간에 포함된 셀들의 개수를 찾아내어(S33), 만일 그 개수가 특정값과 동일하거나 이보다 작은 경우, 제1 레벨에서의 판독 동작의 결과를 판독 데이터가 되도록 결정한다(S35).
반도체 메모리 장치, 판독, 기입, 레벨, 메모리 셀 어레이, 전압 생성 회로

Description

데이터를 정확하게 판독할 수 있는 반도체 메모리 장치{SEMICONDUCTOR MEMORY DEVICE CAPABLE OF READING DATA RELIABLY}
본 발명은, 예를 들어, 단일 메모리 셀에 데이터의 2개 이상의 레벨을 저장할 수 있는 불휘발성 반도체 메모리 장치에 관한 것이다.
예를 들어, NAND 플래시 메모리에서, 로우 방향으로 배열된 복수의 메모리 셀은 각각 대응하는 래치 회로에 비트 라인을 통해 접속된다. 각각의 래치 회로는 데이터의 기입 또는 판독시에 데이터를 유지한다. 로우 방향으로 배열된 모든 셀 또는 셀의 절반(예를 들어, 2 내지 4 KB의 셀)은 동시에 기입 또는 판독된다. 메모리 셀의 임계 전압은 소거 동작시에 네거티브 전압으로 설정되고, 기입 동작시에 전자는 메모리 셀로 주입되며, 이에 따라, 임계 전압이 포지티브 전압으로 설정된다(예를 들어, 일본 특개 제2004-192789호 참조).
NAND 플래시 메모리에서는 복수의 메모리 셀이 직렬로 접속되기 때문에, 판독 동작 시에 비선택된 셀을 턴 온시킬 필요가 있다. 따라서, 판독 동작 시에, 임계 전압보다 높은 전압(Vread)이 게이트 전극에 인가된다. 이 때문에, 기입 동작시의 임계 전압은 Vread를 초과하면 안된다. 기입 시퀀스에서는, 메모리 셀의 임 계 전압이 Vread를 초과하지 않도록 제어하기 위해서, 프로그램 동작 및 프로그램 검증 동작이 각 메모리 셀에 대해 반복해서 수행되어야 한다. 이는 기입 속도의 저감이라는 문제점을 야기한다.
대량의 데이터를 저장하기 위해서, 셀에 2 비트 이상을 저장할 수 있는 멀티레벨 메모리가 개발되었다. 예를 들어, 셀에 2 비트를 저장하기 위해서는, 4개의 임계 전압 분포를 설정할 필요가 있다. 이 때문에, 각각의 임계 전압 분포는, 셀에 1 비트를 저장하는 메모리에서 보다 더 좁게 설정되어야만 하고, 이는 기입 속도를 더욱 저감시킨다는 문제점을 야기한다.
판독 전압 Vread의 레벨이 증가하면, 고 Vread가 판독 동작 시에 인가되고, 이는 기입 동작에서 에러가 발생한다는 문제점을 야기한다. 또한, 복수의 임계 전압 중 높은 하나의 전압에서 데이터를 기입하려고 하는 경우에는, 높은 기입 전압이 요구된다. 로우 방향으로 배열된 모든 셀 또는 셀의 절반이 NAND 플래시 메모리에 동시에 기입되기 때문에, 고 전압이 비기입 셀에도 인가되고, 데이터에 따라, 이는 기입 동작에서 에러가 발생한다는 문제점을 야기한다.
이러한 문제점을 해결하기 위해서, 제한된 임계 전압 범위, 예를 들어, -2 내지 5V의 범위에서, 4-레벨의 데이터는 4개의 임계 전압 분포가 설정될 것을 요구하고, 8-레벨의 데이터는 8개의 임계 전압 분포가 설정될 것을 요구하고, 16-레벨의 데이터는 16개의 임계 전압 분포가 설정될 것을 요구한다. 에러-정정 코드(ECC)를 사용한 에러 정정 능력에 있어서의 최근의 향상으로, 임계 전압 분포의 폭이 더욱 좁게 설정될 수 있으며, 데이터 보유 마진이 전보다 더 작게 설정될 수 있다.
그러나, 프로그램 검증 동작 시의 온도 등의 조건은 판독 동작 시의 조건과 상이하다. 또한, 다이 분류 테스팅에서 전압 발생 회로의 저항을 트리밍함으로써 설정되는 기입 전압, 검증 전압, 및 판독 전압은 목표 전압에 있어서 변동될 수도 있다. 이 때문에, 예를 들어, 약 80mV의 마진이 임계 전압 분포 간에 설정되어야 한다. 따라서, ECC의 정정 능력이 증가하고, 각 임계 전압 분포 폭이 명백하게 좁아졌더라도, 설정 마진은 크게 유지된다.
상술한 바와 같이, 복수의 임계 전압이 설정되는 멀티레벨 메모리에서, 임계 전압 간의 마진은 더 좁게 설정되는 것이 바람직하다. 그러나, 프로그램 검증 동작시의 온도 등의 조건이 판독 동작 시의 조건과 상이하고, 판독 전압, 기입 전압, 및 검증 전압에서의 변동이 존재하기 때문에, 일부 마진은 설정되어야만 한다. 따라서, 임계 전압 분포 간의 마진이 좁더라도, 저장된 데이터를 정확하게 판독할 수 있는 반도체 메모리 장치가 요구된다.
본 발명의 제1 양상에 따라서, 복수의 워드 라인 및 복수의 비트 라인에 접속된 복수의 메모리 셀들이 매트릭스로 배열되는 메모리 셀 어레이; 상기 워드 라인 및 상기 비트 라인에 대한 전위를 생성하는 전압 생성 회로; 상기 비트 라인에 접속되며, 상기 메모리 셀들에 기입될 데이터 또는 상기 메모리 셀들로부터 판독되 는 데이터를 저장하는 데이터 저장 회로; 및 상기 전압 생성 회로에 의해 생성된 제1 레벨에서의 판독 동작 및 제2 레벨에서의 판독 동작시 상기 워드 라인들 중 한 워드 라인에 접속된 복수의 메모리 셀들로부터 데이터를 판독하고, 상기 제1 레벨과 상기 제2 레벨간에 포함된 셀들의 개수를 찾아내어, 만일 그 개수가 특정값과 동일하거나 이보다 작을 경우, 상기 제1 레벨에서의 판독 동작의 결과가 판독 데이터가 되도록 결정하는 제어부를 포함하는 반도체 메모리 장치가 제공된다.
본 발명의 제2 양상에 따라서, 복수의 워드 라인 및 복수의 비트 라인에 접속된 복수의 메모리 셀들이 매트릭스로 배열되는 메모리 셀 어레이; 상기 워드 라인 및 상기 비트 라인에 대한 전위를 생성하는 전압 생성 회로; 상기 비트 라인에 접속되며, 상기 메모리 셀들에 기입될 데이터 또는 상기 메모리 셀들로부터 판독되는 데이터를 저장하는 데이터 저장 회로; 및 상기 전압 생성 회로에 의해 생성된 제1 레벨에서의 판독 동작, 제2 레벨에서의 판독 동작, 및 상기 제1 레벨보다 높은 제3 레벨에서의 판독 동작시, 상기 제1 레벨과 상기 제2 레벨간에 포함된 메모리 셀들의 개수와 상기 제1 레벨과 상기 제3 레벨간에 포함된 메모리 셀들의 개수를 찾아내어, (제1 레벨과 제2 레벨간에 포함된 메모리 셀들의 개수)/(제1 레벨과 제3 레벨간에 포함된 메모리 셀들의 개수)가 특정 개수와 동일하거나 이보다 작은 경우 상기 제1 레벨에서의 판독 동작의 결과가 판독 데이터가 되도록 결정하는 제어부를 포함하는 반도체 메모리 장치가 제공된다.
본 발명의 제3 양상에 따라서, 복수의 워드 라인 및 복수의 비트 라인에 접속된 복수의 메모리 셀들이 매트릭스로 배열되는 메모리 셀 어레이; 상기 워드 라인 및 상기 비트 라인에 대한 전위를 생성하는 전압 생성 회로; 상기 비트 라인에 접속되며, 상기 메모리 셀들에 기입될 데이터 또는 상기 메모리 셀들로부터 판독되는 데이터를 저장하는 데이터 저장 회로; 및 상기 전압 생성 회로 및 상기 데이터 저장 회로를 제어하고 소거 동작시에 제1 레벨에서 상기 메모리 셀들의 임계 전압을 설정하고, 외부에서 입력된 기입 데이터에 따라, 기입 및 검증 동작을 반복함으로써 제1 레벨, 제2 레벨, ..., 제n 레벨(n=2k)에서 메모리 셀의 임계 전압을 설정하고, k 비트의 데이터를 저장하고, 제(h-b) 레벨이 초과된 후에 제h 레벨(h≤n)에서 기입될 셀들의 제(h-b) 레벨(1≤b<h, b는 자연수)을 초과하는 셀들의 기입 동작의 j 회수(j는 자연수)를 카운트하여, 제j 및 이후 기입 동작에서 기입 속도를 더 느리게 하거나 기입할 수 없게 하는 제어부를 포함하는 반도체 메모리 장치가 제공된다.
본 발명의 제4 양상에 따라서, 복수의 워드 라인 및 복수의 비트 라인에 접속된 복수의 메모리 셀들이 매트릭스로 배열되는 메모리 셀 어레이; 상기 워드 라인 및 상기 비트 라인에 대한 전위를 생성하는 전압 생성 회로; 상기 비트 라인에 접속되며, 상기 메모리 셀들에 기입될 데이터 또는 상기 메모리 셀들로부터 판독되는 데이터를 저장하는 데이터 저장 회로; 및 상기 전압 생성 회로 및 상기 데이터 저장 회로를 제어하고, 소거 동작시에 제1 레벨에서 상기 메모리 셀들의 임계 전압을 설정하고, 외부에서 입력된 기입 데이터에 따라, 기입 및 검증 동작을 반복함으로써 제1 레벨, 제2 레벨, ..., 제n 레벨(n=2k)에서 메모리 셀의 임계 전압을 설정하고, k 비트의 데이터를 저장하고, 제(h-c) 레벨이 초과할 때부터 제(h-b) 레벨(1≤b<c<h, b 및 c는 자연수)이 제h 레벨(h≤n)에서 기입될 셀에 비해 초과할 때까지 기입 동작의 i 회수(i는 자연수)를 카운트하고, 제h 레벨에서의 기입 동작시 제(h-b) 레벨을 초과한 셀에 대한 제j 및 이후 기입 동작(j=i+α)(α는 "0"을 포함한 자연수)에서 기입 속도를 더 느리게 하거나 기입할 수 없게 하는 제어부를 포함하는 반도체 메모리 장치가 제공된다.
본 발명의 제5 양상에 따라서, 복수의 워드 라인 및 복수의 비트 라인에 접속된 복수의 메모리 셀들이 매트릭스로 배열되는 메모리 셀 어레이; 상기 워드 라인 및 상기 비트 라인에 대한 전위를 생성하는 전압 생성 회로; 상기 비트 라인에 접속되며, 상기 메모리 셀들에 기입될 데이터 또는 상기 메모리 셀들로부터 판독되는 데이터를 저장하는 데이터 저장 회로; 및 상기 전압 생성 회로 및 상기 데이터 저장 회로를 제어하고 소거 동작시에 제1 레벨에서 상기 메모리 셀들의 임계 전압을 설정하고, 외부에서 입력된 기입 데이터에 따라, 기입 동작시 기입 및 검증 동작을 반복함으로써 제1 레벨, 제2 레벨, ..., 제n 레벨(n=2k)에서 메모리 셀의 임계 전압을 설정하고, 상기 메모리 셀들의 k 비트의 데이터를 저장하고, 기입 동작시 제1 레벨, 제2 레벨, ..., 제n 레벨(n=2k), 이 레벨들의 n 회수만큼 검증 동작을 수행하고, 제1 명령의 입력 이후의 기입 동작시 레벨의 n 회수 중 레벨의 h 회수(h < n)만큼 검증 동작만을 수행하는 제어부를 포함하는 반도체 메모리 장치가 제공된다.
본 발명의 제6 양상에 따라서, 데이터 서버에 및 이로부터 데이터를 송수신하는 통신부; 멀티미디어 데이터를 재생하는 재생부; 멀티미디어 데이터를 저장하 는 저장부; 및 상기 통신부, 상기 재생부 및 상기 저장부를 제어하고, 상기 데이터 서버에 멀티미디어 데이터 구매 요청을 전송하고, 상기 데이터 서버로부터 공급된 구매 권한 데이터 수신하고, 상기 저장부에 데이터를 저장하고, 상기 멀티미디어 데이터를 재생할 때, 상기 데이터 서버로부터 상기 저장부에 저장된 상기 구매 권한 데이터에 대응하는 멀티미디어 데이터를 다운로딩하고, 상기 재생부에서 상기 다운로딩된 멀티미디어 데이터를 재생하는 것은 물론 상기 저장부에 데이터를 저장하는 제어부를 포함하는 기록 및 재생 시스템이 제공된다.
본 발명은, 임계 전압 분포 간의 마진이 좁더라도, 저장된 데이터를 정확하게 판독할 수 있는 반도체 메모리 장치를 제공한다.
이후에, 첨부 도면을 참조해서 본 발명의 실시예들이 설명될 것이다.
도 2는, 본 발명의 각 실시예에 적용되는, 4 레벨(2 비트)을 저장하기 위한 NAND 플래쉬 메모리와 같은 반도체 메모리 장치의 구성을 도시한다.
메모리 셀 어레이(1)는 복수의 비트 라인, 복수의 워드 라인 및 공통 소스 라인을 포함한다. 메모리 셀 어레이(1)에서, 예컨대 EEPROM 셀로 구성되는 전기적으로 재기록가능한 메모리 셀은 매트릭스 형태로 배열된다. 비트 라인을 제어하기 위한 비트 라인 제어 회로(2) 및 워드 라인 제어 회로(6)는 메모리 셀 어레이(1)에 접속된다.
비트 라인 제어 회로(2)는 비트 라인을 통해서 메모리 셀 어레이(1)의 메모리 내의 데이터를 판독하고 비트 라인을 통해서 메모리 셀 어레이(1)의 메모리 셀의 상태를 검출하고, 기록 제어 전압을 비트 라인을 통해서 메모리 셀에 인가함으로써 데이터를 메모리 셀 어레이(1)의 메모리 셀에 기록한다. 컬럼 디코더(3) 및 데이터 입력/출력 버퍼(4)는 비트 라인 제어 회로(2)에 접속된다. 비트 라인 제어 회로(2) 내의 데이터 저장 회로는 컬럼 디코더(3)에 의해서 선택된다. 메모리 셀 내의 데이터의 데이터 저장 회로로의 판독은 외부로의 데이터 입력/출력 단자(5)에서 데이터 입력/출력 버퍼(4)를 통해서 출력된다. 데이터 입력/출력 단자(5)는, 예컨대 메모리 칩 외부의 호스트(11)에 접속된다. 예컨대, 마이크로컴퓨터로 구성되는 호스트(11)는 데이터 입력/출력 단자(5)로부터 출력된 데이터를 수신한다. 제어기(11)는 NAND 플래시 메모리의 동작, 어드레스(ADD) 및 데이터(DT)를 제어하기 위한 다양한 명령(CMD)을 출력한다. 호스트(11)로부터 데이터 입력/출력 단자(5)로의 기록 데이터 입력은 데이터 입력/출력 버퍼(4)를 통해서 컬럼 디코더(3)에 의해서 선택된 데이터 저장 회로에 공급된다. 명령 및 어드레스는 제어 신호 및 제어 전압 생성 회로(7)에 공급된다.
워드 라인 제어 회로(6)는 메모리 셀 어레이(1)에 접속된다. 워드 라인 제어 회로(6)는 메모리 셀 어레이(1) 내의 워드 라인을 선택하고, 선택된 워드 라인에 판독, 기록 또는 소거 동작을 위해 필요한 전압을 인가한다.
메모리 셀 어레이(1), 비트 라인 제어 회로(2), 컬럼 디코더(3), 데이터 입력/출력 버퍼(4) 및 워드 라인 제어 회로(6)는 제어 신호 및 제어 전압 생성 회로(7)에 접속되어 이에 의해서 제어된다. 제어 신호 및 제어 전압 생성 회로(7)는 제어 신호 입력 단자(8)에 접속되어 호스트(11)로부터 제어 신호 입력 단자(8)를 통해 입력되는 어드레스 래치 인에이블(ALE), 명령 래치 인에이블(CLE), 기록 인에이블(WE) 및 판독 인에이블(RE) 제어 신호 입력에 의해서 제어된다.
비트 라인 제어 회로(2)와, 컬럼 디코더(3)와, 워드 라인 제어 회로(6)와, 제어 신호 및 제어 전압 생성 회로(7)는 기록 회로 및 판독 회로를 구성한다.
도 3은 도 2에 도시된 메모리 셀 어레이(1)와 비트 라인 제어 회로(2)의 구성을 도시한다. 메모리 셀 어레이(1)에서, 다수의 NAND 셀이 배열된다. NAND 셀은, 예컨대 직렬 접속된 32개의 EEPROM으로 이루어지는 메모리 셀(MC) 및 선택 게이트(S1, S2)로 구성된다. 선택 게이트(S2)는 비트 라인(BL0e)에 접속되고, 선택 게이트(S1)는 소스 라인(SRC)에 접속된다. 각각의 로우에 배열된 메모리 셀(MC)의 제어 게이트는 워드 라인(WL0 내지 WL29, WL30, WL31)에 동일하게 접속된다. 선택 게이트(S2)는 선택 라인(SGD)에 동일하게 접속된다. 선택 게이트(S1)는 선택 라인(SGS)에 동일하게 접속된다.
비트 라인 제어 회로(2)는 다수의 데이터 저장 회로(10)를 가진다. 비트 라인쌍 (BL0e, BL0o), (BL1e, BL1o),..., (BLie, BLio), (BL8ke, BL8ko)은 일대일 대응 방식으로 개별적인 데이터 저장 회로(10)에 접속된다.
메모리 셀 어레이(1)는 파선으로 도시된 바와 같이 다수의 블록을 포함한다. 각각의 블록은 다수의 NAND 셀로 구성된다. 메모리 셀 어레이(1)에서 데이터는, 예컨대 블록 단위로 소거된다. 소거 동작은 데이터 저장 회로(10)에 접속된 2개의 비트 라인 상에서 동시에 수행된다.
매 비트 라인마다 배열되며 단일의 워드 라인에 접속되는 다수의 메모리 셀(즉, 파선에 의해서 둘러싸인 메모리 셀)은 하나의 섹터를 구성한다. 데이터가 섹터 내에 기록되거나 판독된다.
판독 동작, 프로그램 검증 동작 및 프로그램 동작시에, 데이터 저장 회로(10)에 접속된 두 개의 비트 라인 (BLie, BLio) 중 하나가 외부에서 공급되는 어드레스 신호 (YA0, YA1, ..., YAi, ..., YA8k)에 따라서 선택된다. 또한, 외부 어드레스에 따라서 단일 워드 라인이 선택된다.
더욱이, 단일의 워드 라인이 외부 어드레스에 따라서 선택되어, 결과적으로 점선으로 둘러싸인 2개의 페이지가 선택된다. 두 페이지 사이의 스위칭은 어드레스에 의해서 행해진다. 하나의 셀 내에 2 비트가 저장되는 경우에는 2개의 페이지가 선택되며, 하나의 셀 내에 3 비트가 저장되는 경우에는 3개의 페이지가 선택되며, 하나의 셀 내에 4 비트가 저장되는 경우에는 4개의 페이지가 선택된다. 소거 동작은 도 3의 점선에 의해서 도시된 블록부를 이용하여 수행된다.
도 4는 로우 방향으로 배열된 모든 셀이 동시에 기록되는 경우의 구성을 도시한다. 이러한 경우에, 개별적인 비트 라인(BL0, BL1, ..., BLik-1, BL8k)은 데이터 저장 회로(10)에 일대일 대응 방식으로 접속된다. 어드레스 신호(YA0, YA1, ..., YA8k-1, YA8k)는 개별적인 데이터 저장 회로(10)에 일대일 대응 방식으로 접속된다.
도 5a 및 5b는 메모리 셀 및 선택 게이트의 단면도를 각각 도시한다. 도 5a에서, 메모리 셀의 소스 및 드레인으로 동작하는 n 타입 확산층(32)이 기판(51)(또 는 이후에 설명될 p 웰 영역(55))에 형성된다. p 웰 영역(55) 위에는 게이트 절연막(43)을 통해서 플로팅 게이트(FG, 44)가 형성된다. 플로팅 게이트(44) 위에는 절연막(45)을 통해서 제어 게이트(CG, 46)가 형성된다. 도 5b에서, 소스 및 드레인으로 동작하는 n 타입 확산층(47)이 p 웰 영역(55)에 형성된다. p 웰 영역(55) 위에 게이트 절연막(48)을 통해서 제어 게이트(49)가 형성된다.
도 6은 제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)가 형성된다. 도 6에 도시된 바와 같이, 고전압 트랜지스터(HVNTr, HVPTr)는, 예컨대 저전압 트랜지스터(LVNTr, LVPTr)의 게이트 절연막보다 더 두꺼운 게이트 절연막을 가진다.
도 7은 메모리 셀의 소거, 프로그래밍 및 판독시에 도 6의 다양한 영역에 공급되는 전압의 예를 열거하는 표이다.
도 8은 도 3에 도시된 데이터 저장 회로(10)의 일례의 회로도이다.
데이터 저장 회로(10)는 주 데이터 캐시(primary data cache, PDC), 보조 데 이터 캐시(secondary data cache, SDC), 동적 데이터 캐시(dynamic data cache, DDC), 동적 데이터 캐시 Q(DDCQ) 및 임시 데이터 캐시(temporary data cache, TDC)를 포함한다. SDC, PDC 및 DDC는 기록 동작시에 입력 데이터를 유지하고, 판독 동작시에 판독 데이터를 유지하고, 검증 동작시에 데이터를 일시적으로 유지하고, 멀티레벨 데이터(multilevel data)의 저장시에 내부 데이터를 처리하는 데에 이용된다. TDC는 데이터 판독 및 데이터의 일시 유지시에 비트 라인 상의 데이터를 증폭할 뿐만 아니라, 멀티레벨 데이터의 저장시에 내부 데이터를 처리하는 데에도 이용된다. DDCQ는 이후에 기술되는 데이터 기록 동작시에 특정 검증 레벨보다 조금 낮은 검증 레벨에 도달하였는지 여부를 나타내는 데이터를 저장한다.
SDC는 래치 회로를 구성하는 클럭킹된(clocked) 인버터 회로(61a, 61b) 및 트랜지스터(61c, 61d)로 구성된다. 트랜지스터(61c)는 클럭킹된 인버터 회로(61a)의 입력 단부와 클럭킹된 인버터 회로(61b)의 입력 단부 사이에 접속된다. 신호(EQ2)는 트랜지스터(61c)의 게이트에 공급된다. 트랜지스터(61d)는 클럭킹된 인버터 회로(61b)의 출력 단부와 접지 사이에 접속된다. 신호(PRST)가 트랜지스터(61d)의 게이트에 공급된다. SDC의 노드(N2a)는 컬럼 선택 트랜지스터(61e)를 통해서 입력/출력 데이터 라인(IO)에 접속된다. SDC의 노드(N2b)는 컬럼 트랜지스터(61f)를 통해서 입력/출력 데이터 라인(IOn)에 접속된다. 컬럼 선택 신호(CSLi)는 트랜지스터(61e, 61f)의 게이트에 공급된다. SDC의 노드(N2a)는 트랜지스터(61g, 61h)를 통해서 PDC의 노드(N1a)에 접속된다. 신호(BLC2)가 트랜지스터(61g)의 게이트에 공급된다. 신호(BLC1)가 트랜지스터(51h)의 게이트에 공급된 다.
PDC는 클럭킹된 인버터 회로(61i, 61j)와 트랜지스터(61k)로 구성된다. 트랜지스터(61k)는 클럭킹된 인버터 회로(61i)의 입력 단부와 클럭킹된 인버터 회로(61j)의 입력 단부 사이에 접속된다. 신호(EQ1)가 트랜지스터(61k)의 게이트에 공급된다. PDC의 노드(N1b)가 트랜지스터(61l)의 게이트에 접속된다. 트랜지스터(61l)의 전류 경로의 한 단부가 트랜지스터(61m)를 통해서 접지에 접속된다. 신호(CHK1)가 트랜지스터(61m)의 게이트에 공급된다. 트랜지스터(61l)의 전류 경로의 다른 단부가 전달 게이트를 구성하는 트랜지스터(61n, 61o)의 전류 경로의 한 단부에 접속된다. 신호(CHK2n)가 트랜지스터(61n)의 게이트에 공급된다. 트랜지스터(61o)의 게이트는 클럭킹된 인버터 회로(61a)의 출력 단부에 접속된다. 트랜지스터(61n, 61o)의 전류 경로의 다른 단부는 기록 라인(COMi)에 접속된다. 기록 라인(COMi)은 데이터 저장 회로(10) 모두에 동일하게 접속된다. 모든 데이터 저장 회로(10)의 검증이 완료되는 때에 기록 라인의 전위는 높아진다. 특히, 이후에 기술될 바와 같이, 검증이 완료되는 경우에 PDC의 노드(N1b)는 낮아진다. 이러한 상태에서, 신호(CHK1, CHK2n)가 높아지는 때에 검증이 완료되는 경우에는 기록 라인(COMi)은 높아진다.
또한, TDC는, 예컨대 MOS 캐패시터(61p)로 구성된다. 캐패시터(61p)는 트랜지스터(61g, 61h)의 접합 노드(N3)와 접지 사이에 접속된다. DDC는 트랜지스터(61q)를 통해서 접합 노드(N3)에 공급된다. 신호(REG)가 트랜지스터(61q)의 게이트에 공급된다. 노드(N3)는 캐패시터의 한 단부에 접속된다. 신호(BOOST)가 캐 패시터의 다른 단부에 공급된다.
DDC는 트랜지스터(61r, 61s)로 구성된다. 신호(VPRE)가 트랜지스터(61r)의 전류 경로의 한 단부에 공급된다. 트랜지스터(614)의 다른 단부는 트랜지스터(61q)의 전류 경로에 접속된다. 트랜지스터(61r)의 게이트는 트랜지스터(61s)를 통해서 PDC의 단부(N1a)에 접속된다. 신호(DTG)가 트랜지스터(61s)의 게이트에 공급된다.
DDCQ는 트랜지스터(61Qr, 61Qs)로 구성된다. 신호(VPRE)가 트랜지스터(61Qr)의 전류 경로의 한 단부에 공급된다. 트랜지스터(61Qr)의 전류 경로의 다른 단부는 트랜지스터(61Qq)를 통해서 접합 노드(N3)에 접속된다. 신호(REGQ)가 트랜지스터(61Qq)의 게이트에 공급된다. 트랜지스터(61Qr)의 게이트는 트랜지스터(61Qs)를 통해서 PDC의 노드(N1a)에 접속된다. 신호(DTGQ)가 트랜지스터(61Qs)의 게이트에 공급된다.
더욱이, 각각의 트랜지스터(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)는 신호(BIASo, BIASe)에 따라서 턴온되어서 트랜지스터(61v, 61w)에 상보적인 관계가 되어 신호(BLCRL)의 전위를 미선택 비트 라인에 공급한다.
전술한 신호 및 전압은 도 3의 제어 신호 및 제어 전압 생성 회로(7)에 의해서 생성된다. 아래의 동작은 제어 신호 및 제어 전압 생성 회로(7)에 의해서 제어된다.
도 4의 데이터 저장 회로(10)는 비트 라인과의 접속을 제외하고는 도 8의 데이터 저장 회로(10)와 동일한 구성을 가진다. 특히, 도 8에 도시된 바와 같이, 예컨대 트랜지스터(61v)만이, 트랜지스터(61v)를 통해서 비트 라인(BLe 또는 BLo)에 접속되는 트랜지스터(61t)의 다른 단부에 접속된다.
멀티레벨 메모리인 메모리는 2 비트의 데이터를 셀 내에 저장할 수 있다. 2 비트 사이의 스위칭은 어드레스(제1 페이지, 제2 페이지)를 이용하여 행해진다. 2 비트가 단일 셀에 저장되는 때에는 2 페이지가 존재한다. 3 비트가 단일 셀에 저장되는 때에는 3 비트 사이의 스위칭이 어드레스(제1 페이지, 제2 페이지, 제3 페이지)를 이용하여 행해진다. 4 비트가 단일 셀에 저장되는 때에는 스위칭이 어드레스(제1 페이지, 제2 페이지, 제3 페이지, 제4 페이지)를 이용하여 행해진다.
도 9a, 9b, 9c는 데이터의 2 비트가 메모리 셀에 저장되는 경우의 데이터와 임계 전압 사이의 관계를 도시한다. 도 9c에 도시된 바와 같이 소거 동작이 수행 되는 때에 메모리 셀 내의 데이터는 "0"이다. 소거 동작 이후에, 기록은, 예컨대 검증 레벨 "z"를 이용하여 수행되어 임계 전압 분포의 확장을 줄인다. 데이터 "0"은, 예컨대 네거티브(negative) 임계 전압 분포로 설정된다.
도 9a에 도시된 바와 같이, 제1 페이지 기록 동작에서 기록 데이터가 "1"인 경우에는 메모리 셀 내의 데이터는 "0"으로 남는다. 기록 데이터가 "0"인 경우에는 메모리 셀 내의 데이터는 "1"이다.
도 9b에 도시된 바와 같이, 제2 페이지가 기록된 후에 메모리 셀 내의 데이터는 기록 데이터에 따라 "0", "2", "3", "4" 중 하나이다. 특히, 제1 페이지 기록 동작 이후의 메모리 셀 내의 데이터는 "0"이며 제2 페이지에 대한 기록 데이터는 "1"이며, 메모리 셀 내의 데이터는 "0"으로 남는다. 기록 데이터가 "0"인 경우에는 메모리 셀 내의 데이터는 "2"이다. 부가적으로, 제1 페이지 기록 동작 이후의 메모리 셀 내의 데이터가 "1"이고 기록 데이터가 "0"인 경우에는 메모리 셀 내의 데이터는 "3"이다. 기록 데이터가 "1"인 경우에는 메모리 셀 내의 데이터는 "4"이다. 이 실시예에서, 메모리 셀 내의 데이터는 임계 전압의 증가 순서로 규정된다. 데이터 "1", "2", "3", "4"는, 예컨대 포지티브(positive) 임계 전압이다.
도 10은 2개의 NAND 유닛이 기록되는 순서를 도시한다. 블록에서, 소스 라인에 보다 가까운 메모리 셀이 페이지에서 먼저 기록된다. 예컨대, 먼저 제1 페이지 상의 데이터가 메모리 셀(1, 2)에 기록된다. 그 후에, 제1 페이지 상의 데이터가 메모리 셀(3, 4)에 기록된다. 다음으로, 제2 페이지 상의 데이터가 메모리 셀(1, 2)에 기록되고, 그 후에 제1 페이지 상의 데이터가 메모리 셀(5, 6) 상에 기 록된다. 이후로부터는, 도 10에 도시된 것과 같이 기록이 행해진다.
(판독 동작)
도 9b에 도시된 바와 같이, 제2 페이지가 기록된 후에, 메모리 셀 내의 데이터는 데이터 "0", "2", "3", "4" 중 하나의 임계 전압 분포로 설정된다. 이러한 이유로, 제2 페이지의 판독은 판독 레벨을 "BR", "CR", "DR" 사이에서 설정함으로써 행해진다.
판독 동작이 구체적으로 기술될 것이다.
먼저, 제어 신호 및 제어 전압 생성 회로(7)는 전압(Vfix)(예컨대, 1.6V)을 생성하고, 이러한 전압을 선택된 셀의 웰, 소스 라인, 미선택 비트 라인 및 미선택 블록의 선택 게이트에 인가한다. 데이터 "0"의 임계 전압 분포가 네거티브 전압 측이 아닌 포지티브 전압 측에 설정되는 경우에는 Vfix는 0V로 설정된다.
판독 전위(Vfix + AR, BR, CR 또는 DR)가 선택된 워드 라인에 인가된다. 예컨대, AR = -0.5V인 경우에, Vfix + AR은 1.1V이다. 동시에, Vread + Vfix가 선택된 블록의 미선택 워드 라인에 인가되고, Vsg(Vdd+Vth) + Vfix (Vth: n 채널 MOS 트랜지스터의 임계 전압)가 선택된 블록의 선택 게이트(SGD)에 인가되며, Vfix가 SGS에 인가된다. Vfix는 소스 라인(SRC) 및 셀의 웰에도 인가된다.
다음으로, 도 8에 도시된 데이터 저장 회로(10)의 신호(VPRE)가 Vdd(예컨대, 2.5V)로 설정되고, 신호(BLPRE)가 Vsg(Vdd + Vth)로 설정되며, 신호(BLCLAMP)가, 예컨대 (0.6V + Vth) + Vfix로 설정되는데, 이들은 일시적으로 인가된다. 그 후에, 비트 라인은, 예컨대 0.6V + Vfix = 2.2V로 프리차지된다. 다음으로, 셀의 소스측 상의 선택 라인(SGS)은 Vsg(Vdd + Vth) + Vfix로 설정된다. 웰과 소스가 Vfix이기 때문에, 셀의 임계 전압이 AR, BR, CR 또는 DR인 경우에(예컨대, AR = -0.5V), 셀은 턴 오프된다. 이러한 이유로, 비트 라인은 높은 레벨(예컨대, 2.2V)로 남는다. 셀의 임계 전압이 AR, BR, CR 또는 DR보다 낮은 경우에는 셀은 턴 온된다. 결과적으로, 비트 라인이 방전되고, 소스의 전위, 즉 Vfix(예컨대, 1.6V)와 동일한 전위를 가진다.
그 후에, 도 8에 도시된 데이터 저장 회로(10)의 신호(BLPRE)가 일시적으로 Vsg(Vdd + Vth)로 설정된다. TDC의 노드가 Vdd로 프리차지된 후에, 신호(BOOST)가 저레벨에서 고레벨로 증가하여, TDC를 αVDD로 설정한다(즉, TDC = αVdd, 예컨대, α=1.7, αVdd=4.25V). 여기서, 예컨대 (0.45V + Vth) + Vfix의 전압이 신호(BLCLAMP)에 인가된다. 비트 라인이 0.45V + Vfix보다 낮은 경우에는 TDC의 노드는 저레벨(Vfix(예컨대, 1.6V))이다. 비트 라인이 0.45V보다 높은 경우에는 TDC의 노드는 고레벨(αVdd(예컨대, 4.25V))로 남는다. 신호(BLCLAMP)가 Vtr(예컨대, 0.1V + Vth)로 설정된 이후에(즉, BLCLAMP = Vtr), 신호(BOOST)는 고레벨에서 저레벨로 낮아진다. 여기서, TDC가 저레벨인 때에는 Vfix(예컨대, 1.6V)에서 하강한다. BLCLAMP = Vtr(예컨대, 0.1V + Vth)이므로, TDC는 0.1V 아래로 하강하지 않는다. TDC가 고레벨인 때에는 αVdd(예컨대, 4.25V)에서 Vdd로 하강한다. 따라서, 신호(BLC1)가 Vsg(VDdd + Vth)로 설정되고(즉, VSG(Vdd+Vth)), TDC의 전위가 PDC로 판독된다. 셀의 임계 전압이 AR, BR, CR, 또는 DR보다 낮은 경우에는 PDC는 저레벨이다. 임계 전압이 AR, BR, CR 또는 DR보다 높은 경우에는 PDC는 고레벨이다. 그 후에, 판독이 행해진다.
(프로그램)
도 11은 제1 페이지의 프로그램 동작을 설명하는 플로우차트이다. 도 12는 제2 페이지의 프로그램 동작을 설명하는 플로우차트이다.
프로그램 동작시, 먼저, 어드레스가 지정되어 도 3 및 4에 도시된 2개의 페이지를 선택한다. 메모리에서, 2개의 페이지는 제1 페이지와 제2 페이지의 순서대로 프로그램될 수 있다. 따라서, 먼저, 어드레스를 이용해 제1 페이지가 선택된다.
도 11에 도시된 제1 페이지의 프로그램 동작시, 호스트(11)로부터 기입 데이터가 입력될 때, 이러한 데이터 아이템들은 데이터 저장 회로(10)의 모든 SDC(도 8에 도시됨)에 저장된다(S11). 호스트(11)로부터 기입 명령이 입력될 때에는, 데이터 저장 회로(10)의 모든 SDC에서의 데이터가 PDC에 전송된다(S12). 호스트(11)로부터 데이터 "1"(어떠한 기입도 행해지지 않음)이 입력될 때, PDC의 노드(N11a)는 하이 레벨이 된다. 데이터 "0"(기입이 행해짐)이 입력될 때에는, PDC의 노드(N1a)가 로우 레벨이 된다. 이하에서는, PDC에서의 데이터가 노드(N1a)에서의 전위이고, SDC에서의 데이터가 노드(N2a)에서의 전위이다.
(프로그램 동작)(S13)
도 8의 신호(BLC1)가 Vdd+Vth로 설정될 때, 데이터 "1"(어떠한 기입도 행해지지 않음)이 PDC에 저장되었다면, 비트 라인은 Vdd이다. 데이터 "0"(기입이 행해짐)이 저장되었다면, 비트 라인은 Vss이다. 도 3에 도시되어 있는 구성의 경우에, 선택된 워드 라인에 접속되고, 비선택된 페이지들(비트 라인들이 비선택됨)의 셀들은 기입되어서는 안 된다. 이에 따라, 이러한 셀들에 접속된 비트 라인들은 데이터 "1"이 입력되었던 셀들에서와 같이 Vdd로 또한 설정된다.
이때, 선택된 블록의 선택 라인(SG1)이 Vdd로 설정되면, Vpgm(20V)은 선택된 워드 라인에 인가되고, Vpass(10V)는 비선택된 워드 라인에 인가되며, 비트 라인이 Vss이면, 이러한 셀의 채널은 Vss이고, 워드 라인은 Vpgm이어서 기입이 행해지게 한다. 비트 라인이 Vdd이면, 이러한 셀의 채널은 결합에 의해 Vss가 아닌 약 Vpgm/2이어서 프로그래밍이 수행되지 않게 한다.
제1 페이지가 기입된 후의 메모리 셀에서의 데이터는 데이터 "0"과 데이터 "1"이다.
(프로그램 검증 판독 동작)(S14)
프로그램 동작시, 메모리 셀은 임계 전압의 낮은 레벨로부터 기입된다. 이에 따라, 제1 페이지에 대해, 프로그램 검증 동작이 AV 레벨에서 수행된다. 프로그램 검증 동작은 전술한 판독 동작과 거의 동일하다.
먼저, 제어 신호 및 제어 전압 생성 회로(7)는 전압(Vfix)(예컨대, 1.6V)을 생성하여, 이 Vfix를 선택된 셀, 소스 라인, 비선택된 비트 라인 및 비선택된 블록의 선택 게이트에 인가한다. 이 상태에서, 판독 동작에서의 전위(Vfix+AR)보다 약간 높은 전위(Vfix+AV)(예컨대, AR이 -0.4V이면, Vfix+AV는 1.2V임)가 선택된 워드 라인에 인가된다. 검증 판독 동작에서의 전위(Vfix+AV)(예컨대, 1.2V)는 선택된 워드 라인에 인가되어, 네거티브 전위가 셀의 게이트에 인가되게 한다. 이와 동시 에, Vread+Vfix가 선택된 블록의 비선택된 워드 라인에 인가되고, Vsg(Vdd+Vth)+Vfix가 선택된 블록의 선택 게이트(SGD)에 인가되며, Vfix가 SGS에 인가된다. Vfix는 소스 라인(SRC)에 인가된다. Vfix는 셀의 웰에 또한 인가된다.
이어서, 도 8에 도시된 데이터 저장 회로(10)의 신호(VPRE)는 Vdd(예컨대, 2.5V)로 설정된다. 신호(BLPRE)는 일시적으로 Vsg(Vdd+Vth)로 설정된다. 신호(BLCLAMP)는 일시적으로 (0.6V+Vth)+Vfix 등으로 설정된다. 비트 라인은 0.6V+Vfix = 2.2V 등으로 프리차지된다.
다음으로, 셀 소스측의 선택 라인(SGS)은 Vsg(Vdd+Vth)+Vfix로 설정된다. 웰 및 소스가 Vfix이기 때문에, 그 임계 전압이 AV(예컨대, AV = -0.4V)보다 높은 셀은 턴오프된다. 그 결과, 비트 라인은 여전히 하이 레벨(예컨대, 2.2V)이다. 그 임계 전압이 AV보다 낮은 셀은 턴온된다. 그 결과, 비트 라인은 소스 전위와 동일한 전위, 즉 Vfix(예컨대, 1.6V)로 방전된다. 비트 라인이 방전되는 동안, 신호(DTG)는 일시적으로 Vsg(Vdd+Vth)로 설정되어, PDC를 DDC로 카피한다.
이어서, 데이터 저장 회로(10)의 신호(BLPRE)는 일시적으로 Vsg(Vdd+Vth)로 설정되어, TDC의 노드를 Vdd로 프리차지한다. 그 후, 신호(BOOST)는 로우 레벨로부터 하이 레벨로 증가하여, TDC를 αVdd(예컨대, α = 1.7, αVdd = 4.25V)로 설정한다. 이때, 신호(BLCLAMP)의 전위는 (0.45V+Vth)+Vfix 등으로 설정된다. 비트 라인이 0.45+Vfix보다 낮을 때, TDC의 노드는 로우 레벨(Vfix(예컨대, 1.6V))이다. 비트 라인이 0.45V보다 높을 때, TDC의 노드는 하이 레벨(αVdd(예컨대, 4.25V))을 유지한다. 신호(BLCLAMP)가 Vtr(예컨대, 0.1V+Vth)로 설정된 후, 신호(BOOST)는 하이 레벨로부터 로우 레벨로 낮아진다. 여기에서, 신호(BOOST)가 로우 레벨일 때, TDC는 Vfix(예컨대, 1.6V)로부터 떨어진다. 하지만, 신호(BLCLAMP)가 Vtr(예컨대, 0.1V+Vth)로 설정되기 때문에, TDC는 0.1V 이하로 떨어지지는 않는다. 또한, 신호(BOOST)가 하이 레벨일 때, TDC의 노드는 αVdd(예컨대, 4.25V)로부터 Vdd로 변한다. 이때, 신호(BLC1)는 Vsg(Vdd+Vth)로 설정되어 PDC로의 TDC 전위를 판독한다.
다음으로, 신호(VPRE)가 Vdd로 설정되고, 신호(REG)가 Vsg(Vdd+Vth)로 설정된다. DDC가 하이 레벨(어떠한 기입도 행해지지 않음)일 때, TDC는 하이 레벨로 유도된다. 하지만, DDC가 로우 레벨(기입이 행해짐)일 때에는, TDC에서의 값이 변하지 않는다. 이때, 신호(BLC1)는 Vsg(Vdd+Vth)로 설정되어 PDC로의 TDC 전위를 판독한다. 따라서, PDC가 로우 레벨(기입이 행해짐)일 때, 셀의 임계 전압이 레벨(AV)보다 낮으면, PDC는 로우 레벨(기입이 행해짐)로 다시 진행한다. 셀의 임계 전압이 레벨(AV)보다 높으면, PDC는 하이 레벨로 진행하여 기입이 다음 및 그 뒤의 프로그램 루프에서 행해지지 않게 한다.
또한, PDC가 더 높은 레벨(어떠한 기입도 행해지지 않음)이었다면, PDC는 하이 레벨이어서 다음 기입이 다음의 프로그램 루프에서 행해지지 않게 한다. 이 동작은 데이터 저장 회로(10)의 모든 PDC가 하이 레벨로 진행할 때까지 반복된다(S15 - S13).
(제2 페이지 프로그램)
(제2 페이지 기입 동작)
도 12에 도시된 제2 페이지 기입 동작에서는, 먼저, 기입 데이터가 외부에서 입력되어 데이터 저장 회로(10)의 모든 SDC에 저장된다(S21). 그 후, 제1 페이지 기입 동작시, 기입된 데이터를 체크하기 위해, 판독 레벨(AR)(예컨대, 네거티브 전압)이 워드 라인상에 설정되어 메모리 셀로부터의 데이터를 판독한다(S22). 판독 동작은 전술한 바와 같다. 셀의 임계 전압이 워드 라인의 전위(AR)보다 낮으면, PDC는 로우 레벨이다. 셀의 임계 전압이 전위(AR)보다 높으면, PDC는 하이 레벨이다.
그 후, 데이터 캐시가 설정된다(S23). 구체적으로, 제2 페이지가 도 9b에 도시된 바와 같이 기입된다.
제1 페이지 기입 동작에서 데이터가 "1"이고, 제2 페이지 기입 동작에서 데이터가 "1"일 때에는, 제2 페이지가 기입되지 않는다.
제1 페이지 기입 동작에서 데이터가 "1"이고, 제2 페이지 기입 동작에서 데이터가 "0"일 때, 메모리 셀에서의 데이터가 제2 페이지 기입 동작시 "2"로 설정된다.
제1 페이지 기입 동작에서 데이터가 "0"이고, 제2 페이지 기입 동작에서 데이터가 "0"일 때, 메모리 셀에서의 데이터는 제2 페이지 기입 동작시 "3"으로 설정된다.
제1 페이지 기입 동작에서 데이터가 "0"이고, 제2 페이지 기입 동작에서 데이터가 "1"일 때, 메모리 셀에서의 데이터는 제2 페이지 기입 동작시 "4"로 설정된다.
전술한 동작을 수행하기 위해, 데이터 캐시가 설정된다.
구체적으로, 메모리 셀에서의 데이터를 "0"으로 설정(제1 페이지 상의 데이터 "1" 및 제2 페이지 상의 데이터 "1")하기 위해, PDC는 하이 레벨로 설정되고, DDC는 로우 레벨로 설정되며, SDC는 하이 레벨로 설정된다.
메모리 셀에서의 데이터를 "2"로 설정(제1 페이지 상의 데이터 "1" 및 제2 페이지 상의 데이터 "0")하기 위해, PDC는 로우 레벨로 설정되고, DDC는 하이 레벨로 설정되며, SDC는 하이 레벨로 설정된다.
메모리 셀에서의 데이터를 "3"으로 설정(제1 페이지 상의 데이터 "0" 및 제2 페이지 상의 데이터 "0")하기 위해, PDC는 로우 레벨로 설정되고, DDC는 하이 레벨로 설정되며, SDC는 로우 레벨로 설정된다.
메모리 셀에서의 데이터를 "4"로 설정(제1 페이지 상의 데이터 "0" 및 제2 페이지 상의 데이터 "1")하기 위해, PDC는 로우 레벨로 설정되고, DDC는 로우 레벨로 설정되며, SDC는 로우 레벨로 설정된다.
PDC, DDC 및 SDC 각각에서의 데이터는 특정 시퀀스로 신호(BLC1, BLC2, DTG, REG 및 VPRE)를 공급하고, PDC, DDC, SDC 및 TDC에서의 데이터를 전달함으로써 설정된다. 구체적인 동작에 대한 설명은 생략한다.
(프로그램 동작)(S24)
프로그램 동작은 제1 페이지 프로그램 동작과 정확히 동일하다. 데이터 "1"이 PDC에 저장되었을 때, 어떠한 기입도 행해지지 않는다. 데이터 "0"이 저장될 때에, 기입이 행해진다.
(검증 동작)(S25, S26, S27)
프로그램 검증 판독 동작은 판독 동작과 동일하다. 검증 레벨(BV, CV 및 DV)은 판독 레벨에 마진을 더함으로써 판독 레벨보다 높은 레벨로 설정된다. 검증 레벨(BV, CV 및 DV)을 이용하여, 검증 판독 동작이 수행된다.
검증 동작은 예를 들어 검증 레벨 BV, CV 및 DV 순으로 수행된다.
구체적으로, 먼저, 검증 레벨(BV)이 워드 라인 상에 설정되어 메모리 셀의 임계 전압이 검증 레벨(BV)에 도달하였는지 여부를 검증한다(S25). 메모리 셀의 임계 전압이 검증 레벨에 도달하였다고 검증 결과가 나타내면, PDC는 하이 레벨로 진행하여 기입이 행해지지 않게 한다. 메모리 셀의 임계 전압이 검증 레벨에 도달하지 않았다고 검증 결과가 나타내면, PDC는 로우 레벨로 진행하여 다음 프로그램에서 기입이 행해지게 한다.
그 후, 검증 레벨(CV)이 워드 라인 상에 설정되어 메모리 셀의 임계 전압이 검증 레벨(CV)에 도달하였는지 여부를 검증한다(S26). 메모리 셀의 임계 전압이 검증 레벨에 도달하였다고 검증 결과가 나타내면, PDC는 하이 레벨로 진행하여 기입이 행해지지 않게 한다. 메모리 셀의 임계 전압이 검증 레벨에 도달하지 않았다고 검증 결과가 나타내면, PDC는 로우 레벨로 진행하여 다음 프로그램에서 기입이 행해지게 한다.
이어서, 검증 레벨(DV)이 워드 라인 상에 설정되어 메모리 셀의 임계 전압이 검증 레벨(DV)에 도달하였는지 여부를 검증한다(S27). 메모리 셀의 임계 전압이 검증 레벨에 도달하였다고 검증 결과가 나타내면, PDC는 하이 레벨로 진행하여 기 입이 행해지지 않게 한다. 메모리 셀의 임계 전압이 검증 레벨에 도달하지 않았다고 검증 결과가 나타내면, PDC는 로우 레벨로 진행하여 다음 프로그램에서 기입이 행해지게 한다.
제2 페이지가 기입될 때, 전술한 동작이 프로그램 검증 동작시 레벨 BV에서 행해지면, 레벨 CV 및 레벨 DV에서 기입될 셀들은 프로그램 검증 동작시 레벨 BV에서는 기입되지 않는다. 이에 따라, 예를 들어, 기입이 레벨 CV 및 레벨 DV에서 행해질 때, 도 8에 도시된 노드(N2a)는 로우 레벨로 설정된다. 기입이 레벨 BV에서 행해질 때, 노드(N2a)는 하이 레벨로 설정된다. 이 상태에서, 신호(REG)는 Vsg(REG = Vsg)로 설정된다. 어떠한 기입도 행해지지 않으면, 신호(BLC2)는 TDC가 하이 레벨이 되게 하는 동작 전에 Vtr(0.1V+Vth)로 설정된다. 기입이 레벨 CV 및 레벨 DV에서 행해지면, TDC는 로우 레벨이 된다. 이는 프로그램 검증 동작시 기입이 레벨 BV에서 완료되지 않게 한다.
또한, 제2 페이지가 기입될 때, 전술한 동작이 프로그램 검증 동작시 레벨 CV에서 행해지면, 레벨 DV에서 기입될 셀은 프로그램 검증 동작시 레벨 CV에서는 기입되지 않는다. 이에 따라, 예를 들어, 기입이 레벨 CV에서 행해질 때, 도 8에 도시된 노드(N1a)는 로우 레벨로 설정된다. 이 외의 경우에서는, 노드(N1a)가 하이 레벨로 설정된다. 이 상태에서, 신호(REG)는 Vsg로 설정된다. 또한, 어떠한 기입도 행해지지 않을 때, 신호(BLC1)는 TDC가 하이 레벨이 되기 전에 Vtr(0.1V+Vth)로 설정된다. 기입이 레벨 DV에서 행해질 때, TDC는 하이 레벨이 되어 프로그램 검증 동작시 기입이 레벨 DV에서 완료되지 않게 한다. PDC가 로우 레 벨일 때, 기입 동작이 다시 수행된다. 프로그램 동작 및 검증 동작은 데이터 저장 회로(10)의 모든 PDC가 하이 레벨로 진행할 때까지 반복된다(S28 - S24).
(소거 동작)
소거 동작은 도 3 및 4에 도시된 블록들에서 수행된다. 소거 동작 후, 셀의 임계 전압은 도 9C에 도시된 바와 같이 메모리 셀에서 데이터 "0"이다. 소거 후, 셀에서의 임계 전압 분포는 더 넓어진다. 이에 따라, EASB(erased area self-boost) 기입 방법에서, 셀의 임계 전압은 소거 후에 더 얕아진다. 먼저, EASB 기입 방법에 대해 설명한다. 이 기입 방법에서는, 기입이 소스측으로부터 행해진다.
도 13은 EASB 기입 방법을 나타내고 있다. 도 13에 도시된 바와 같이, 먼저, 기입이 행해질 때, 비트 라인은 Vss로 설정된다. 어떠한 기입도 행해지지 않을 때, 비트 라인은 Vdd로 설정된다. 다음으로, 예를 들어, 워드 라인(WL7) 상의 셀이 기입될 때, 워드 라인(WL0 - WL4)은 Vpass로 설정되고, 워드 라인(WL5)은 Vss로 설정되고, 워드 라인(WL6)은 Vdd로 설정되고, 워드 라인(WL7)은 Vpgm으로 설정되며, 워드 라인(WL8 - WL31)은 Vpass로 설정된다. 기입이 행해질 때, 워드 라인(WL7)의 게이트는 Vpgm이고, 채널은 Vss이다. 어떠한 기입도 행해지지 않을 때, 채널은 Vpass/2 등이다. 기입될 셀 수가 커지면, 채널은 부스트되기 더 어려워진다. 하지만, EASB 기입 방법에서는, 기입이 소스측으로부터 행해진다. 따라서, 워드 라인(WL5)이 Vss로 설정되고, 부스팅이 행해지면, 채널은 부스트되어 기입이 행해지지 않게 하며, 워드 라인(WL8 - WL31) 상의 셀들은 소거되었다. 전술한 바와 같이, 이미 기입된 셀에 부스트된 전하를 이동하지 못하게 하여야 한다. 소거 상태에서 워드 라인(WL5)에 접속된 셀에 있어, 임계 전압이 훨씬 더 낮아지면, 셀은 턴오프할 수 없다. 그러므로, 소거된 셀은 덜 낮아져야만 한다.
따라서, 소거 동작 후, 블록의 모든 워드 라인을 선택하고, 프로그램 및 프로그램 검증 판독 동작을 수행하여 도 9C에 도시된 바와 같이 기입 동작을 레벨 "z"까지 수행한다. 이때, 프로그램 동작 및 프로그램 검증 판독 동작시, 모든 워드 라인이 선택되고, 검증 동작시 선택된 워드 라인의 전위는 z+Vfix(예컨대, 0V)로 설정되고, 다른 전위들은 정규 프로그램 및 프로그램 검증 판독 동작과 정확히 동일한 방식으로 설정된다.
(제1 실시예)
도 1, 14a 및 14b는 본 발명의 제1 실시예와 관련된다. 이들 도면들은 제2 페이지 기입 동작 후의 제1 페이지의 판독 시퀀스 등을 나타내고 있다. 제2 페이지 기입 동작 후의 제1 페이지 판독시, 전위(CR)는 도 9b에 도시된 바와 같이 판독 레벨로서 선택된 워드 라인에 공급된다. 도 1, 14a 및 14b를 참조하여, 제1 페이지의 판독 동작을 설명한다.
도 14a에 도시된 바와 같이, 제1 실시예는 판독 레벨(CR)이 판독될 셀의 임계 전압 분포에 있는 경우에 관한 것이다. 이 경우에는, 먼저, 판독 레벨(CR)이 도 14a에 도시된 바와 같이 설정된다. 판독 레벨(CR)을 이용해, 제1 페이지의 메모리 셀(2-4 KB)로부터 데이터를 판독한다(S31). 그 후, 판독 레벨(CR)로부터 특정 레벨(x)을 감산하여 얻은 판독 레벨(CR-x)을 이용해, 제1 페이지의 데이터를 판독한다(S32). 예를 들어, 호스트(11)는 2개의 레벨, CR과 (CR-x) 간에 존재하는 셀 수를 카운트한다(S33). 또한, 예를 들어, 데이터 저장 회로(10)는 2개의 레벨, CR과 (CR-x)을 이용해 판독된 데이터를 배타적 논리합(XOR)하여, 그 결과를 호스트(11)에 제공한다. 호스트(11)는 제공된 데이터에서의 데이터 "1"의 수를 카운트하고, 2개의 레벨 간에 존재하는 셀 수를 찾는다. 이어서, 호스트(11)는 카운트가 특정값 이하인지 여부를 판정한다(S34). 셀 수가 특정값 미만이라고 판정 결과가 나타내면, 호스트는 레벨(CR)에서 판독된 데이터가 판독 결과라고 판정한다(S35).
카운트가 특정값 이상이면, 판독 레벨이 낮아지고, 판독 동작이 다시 수행된다(S36, S31, S32). 예컨대, 판독 레벨(CR)이 x만큼 감소될 때, 호스트는 판독 레벨 (CR-x)와 (CR-2x) 간에 존재하는 셀 수를 카운트하고, 그 카운트가 특정값 이하인지 여부를 판정한다(S33, S34). 셀 수가 특정값 미만이라고 판정 결과가 나타내면, 호스트는 그 레벨에서 판독된 데이터가 판독 결과라고 판정한다(S35).
이때, 판독 레벨에서의 감소분이 앞선 판독 동작에서 이용된 x와 동일한 값이라면, 단계 S31에서의 판독 레벨(CR)은 이미 판독되었던 단계 S32에서의 판독 레벨(CR-x)에서 판독된 데이터이다. 이에 따라, 판독 레벨(CR-x)에서 판독을 행할 필요가 없다. 따라서, 단계 S31을 생략할 수 있어 행해질 판독 회수를 줄인다.
도 15는 판독 동작시 데이터 저장 회로(10)의 구체적인 동작을 설명하는 플로우차트이다. 도 15에서는, 도 1에서와 동일한 부분에 대해서는 동일한 참조 번호를 이용해 표시하고 있다.
먼저, 판독 레벨(CR)이 선택된 워드 라인에 인가되어 메모리 셀에서의 데이터를 판독한다. 이 판독 데이터는 PDC에 래치된 후, DDC0에 카피된다(S31). 그 후, PDC에서의 데이터가 SDC에 카피된다. 이어서, 판독 레벨(CR-x)이 선택된 워드 라인에 인가되어 메모리 셀에서의 데이터를 판독한다. 이 판독 데이터는 PDC에 래치된 후, DDC1에 카피된다(S32).
다음으로, DDC0의 데이터는 DDC1의 데이터와 XOR된다(S33-1). 구체적으로, 신호 VPRE는 Vss로 설정되고, 신호 BLPRE는 Vdd로 설정되며, TDC는 Vss로 설정된다. 그 후, 신호 VPRE는 Vdd로 설정되고, 신호 REG0는 하이 레벨로 설정되며, 이에 의해 DDC0의 데이터를 TDC에 카피한다. 다음으로, 신호 VPRE는 Vss로 설정되고, 신호 REG1은 하이 레벨로 설정된다. DDC1의 데이터가 "1"인 경우, TDC는 Vss로 되어야 한다.
그 후, TDC의 데이터는 PDC로 이송된다. 그 결과, DDC0, DDC1 및 PDC의 데이터는 다음과 같다.
DDC0: 1 1 0 0
DDC1: 1 0 1 0
PDC : 0 1 0 0
다음으로, 신호 VPRE는 Vss로 설정되고, 신호 BLPRE는 Vdd로 설정되며, TDC는 Vss로 설정된다. 그 후, 신호 VPRE는 Vdd로 설정되고, 신호 REG1은 하이 레벨로 설정되며, DDC1의 데이터는 TDC로 카피된다. 또한, 신호 VPRE는 Vss로 설정되고, 신호 REG0은 하이 레벨로 설정된다. DDC1의 데이터가 "1"인 경우, TDC는 Vss로 되어야 한다. 그 결과, DDC0, DDC1, PDC 및 TDC의 데이터는 다음과 같다.
DDC0: 1 1 0 0
DDC1: 1 0 1 0
PDC : 0 1 0 0
TDC : 0 0 1 0
다음으로, 신호 DTG0은 일시적으로 하이로 된다. PDC의 데이터가 DDC0으로 이송된 후, 신호 VPRE는 Vdd로 설정되고, 신호 REG0은 하이 레벨로 설정된다. DDC0이 "1"인 경우, TDC는 Vdd로 되어야 한다. 그 후, TDC의 데이터는 PDC로 이송된다. 그 결과, DDC0의 데이터를 DDC1의 데이터와 XOR함으로써 얻은 데이터는 다음과 같이 PDC에 래치된다.
DDC0: 0 1 0 0
DDC1: 1 0 1 0
PDC : 0 1 1 0
그 후, 호스트(11)는 XOR의 결과로부터 데이터 "1"의 수를 카운트한다(S32-2). 구체적으로, 신호(DTG0)는 하이로 되고, 이로 인해 PDC의 데이터를 DDC0에 카피하고, SDC의 데이터를 PDC에 카피하며, DDC0의 데이터를 SDC에 카피한다. SDC의 데이터는 호스트(11)로 출력된다. 호스트(11)는 개별 데이터 저장 회로로부터 공급되는 데이터 "1"의 수를 카운트한다.
다음으로, 호스트는 그 카운트가 특정값 이하인지 여부를 판정한다(S34). 판정 결과가 그 카운트는 특정값 이하인 것을 나타내는 경우, 판독 레벨 (CR)에서 판독된 데이터는 PDC에 래치된다. 따라서, PDC의 데이터는 SDC로 카피되고, SDC는 그 데이터를 호스트(11)에 출력한다(S35).
또한, 단계 S34에서, 그 카운트가 특정값 이상인 경우, 판독 레벨은 낮아지고(S36), 판독 동작이 다시 실행된다. 여기서, 판독 레벨 (CR-x)에서 이전에 판독된 데이터가 이용되는 경우, 판독 레벨 (CR-x)에서 판독된 데이터는 DDC1에 존재한다. 따라서, DDC1의 데이터는 PDC로 카피되고, (CR-x)에서 판독된 데이터는 (CR)에서 판독된 데이터인지 판정된다. 이 경우, 도 15의 파선으로 도시한 바와 같이, 단계 S31은 생략될 수도 있다.
제1 실시예에서는, 데이터가 판독되고, 판독 레벨 (CR) 및 (CR-x)를 변경하며, 2개 판독 레벨 간의 셀의 수가 카운트된다. 그 카운트가 특정값 이하인 경우, 판독 레벨 (CR)에서 판독된 데이터는 정상적인 판독 데이터로서 출력된다. 이러한 이유로, 인접한 임계 전압 분포 간의 마진이 예를 들어 일시적인 변경에 따른 결과로서 좁아지더라도 각 임계값 분포 내 데이터는 정확하게 판독될 수 있다.
제1 실시예에서는 판독 레벨 (CR)에서 특정 레벨 (x)을 뺌으로써 얻은 판독 레벨 (CR-x)에서 판독이 이루어진다. 본 발명은 이에 한정하지 않는다. 예를 들어, 판독 레벨 (CR)에 (x)를 더함으로써 얻은 판독 레벨 (CR+x)에서 판독을 실행하고, 판독 레벨 (CR)과 (CR+x) 간에 존재하는 셀의 수를 카운트하고, 그 카운트와 기준 값을 비교하는 것이 가능하다.
또한, 제1 실시예에서는 셀의 수가 카운트되고, 그 카운트가 호스트(11)에서 기준 값과 비교되지만, 본 발명은 이에 한정하지 않는다. 예를 들어, 카운트 및 비교는 제어 신호 및 제어 전압 생성 회로(7)에서 이루어질 수도 있다.
(제2 실시예)
도 16a, 16b 및 17은 본 발명의 제2 실시예에 관한 것이다. 그 도면들은 메모리 셀의 제1 페이지 판독 순서를 도시한다. 도 17에서는 도 1의 것과 동일한 부분에 대해서는 동일한 참조번호로 나타낸다.
도 16a에 도시한 바와 같이, 판독 레벨 (CR)이 판독되는 메모리 셀의 임계 전압 분포보다 낮은 임계 전압 분포에 있는 경우, 판독 레벨 (CR)을 특정 레벨 (x)만큼 낮춤으로써 특정값이 증가하게 된다. 이 경우, 판독 레벨이 증가하고, 판독은 제2 실시예에서 다시 이루어진다.
구체적으로, 도 16b 및 17에 도시한 바와 같이, 우선, 제1 실시예와 동일한 방식으로 판독 레벨 (CR) 및 (CR-x)를 이용하여 제1 페이지(2 내지 4KB)의 메모리 셀로부터 데이터가 판독된다(S31,S32). 판독 레벨 (CR)과 (CR-x) 간에 존재하는 셀의 수는 카운트된다(S33). 그 카운트가 특정값 이하인지 여부가 판정된다(S34). 판정 결과가 그 카운트는 특정값 이하인 것을 나타내는 경우, 판독 레벨 (CR)에서 판독된 데이터는 정상적인 데이터로서 출력된다.
판정 결과가 그 카운트는 특정값 이상인 것을 나타내는 경우, 특정 레벨 (y)를 판독 레벨 (CR)에 더함으로써 얻은 판독 레벨 (CR+y)에서 판독이 이루어지고(S41), 이미 판독된 레벨 (CR)과 판독 레벨 (CR+y) 간에 존재하는 셀의 수가 카운트된다(S42). 그 후, ((CR-x) 이상 및 (CR) 이하인 셀의 수)<((CR) 이상 및 (CR+y) 이하인 셀의 수) 여부가 판정된다. 판정 결과가 그 조건을 준수하는 것을 나타내는 경우, 판독 레벨은 낮아지고(S45), 판독 동작이 다시 실행된다(S31).
이때, 특정 레벨 (x) 및 (y)가 동일한 전위 차를 갖는다고 가정하는 경우, 판독 레벨 (CR-x)에서 이전에 판독된 데이터를 (CR)에서 판독된 데이터로서 설정함으로써 판독 레벨 (CR)에서의 판독 동작(단계 S31)이 도 17에 파선으로 도시한 바와 같이 생략될 수 있다. 또한, 판독 레벨 (CR)에서 이전에 판독된 데이터를 (CR+y)에서 판독된 데이터로서 설정함으로써 판독 레벨 (CR+y)에서의 판독 동작(단계 S41)이 파선으로 도시한 바와 같이 생략될 수 있다.
또한, 단계 S43에서, 그 조건이 준수되지 않는 경우, 즉 ((CR-x) 이상 및 (CR) 이하인 셀의 수)>((CR) 이상 및 (CR+y) 이하인 셀의 수)인 경우, 판독 레벨은 예를 들어 특정 레벨 (y)만큼 증가하고, 판독 동작이 다시 실행된다(S44 내지 S31).
이때, 판독 레벨 (CR+y)에서 이전에 판독된 데이터를 (CR)에서 판독된 데이터로서 설정함으로써 판독 레벨 (CR)에서의 판독 동작(단계 S31)이 생략될 수 있다. 판독 레벨 (CR)에서 이전에 판독된 데이터를 (CR-x)에서 판독된 데이터로서 설정함으로써 판독 레벨 (CR-x)에서의 판독 동작(단계 S32)이 생략될 수 있다. 따라서, 이 경우에는 도 17에 파선으로 도시한 바와 같이, 제어가 단계 S44에서 단계 S33으로 전달된다. 또한, 이 경우, 단계 S44에서 판독 레벨 (CR)에 (+y)가 더해지므로, 단계 S41은 파선으로 도시한 바와 같이 생략될 수 있다.
상술한 동작이 반복되고, 단계 S34에서 조건이 충족되는 경우, 정상적인 데이터가 판독된다.
상술한 동작이 반복되는 경우, 그 결과는 수렴되지 않을 수도 있다. 이 경우, 반복 카운트에 대한 최대값이 설정된다. 반복 카운트가 최대값에 도달하는 경 우, 동작이 종료된다.
대안으로, 동작이 반복될 때마다 특정 레벨 (x) 및 (y)의 값이 더 작아질 수도 있다.
제2 실시예에서는, 판독 레벨을 올리고 낮춤으로써 인접한 임계 전압 분포 간의 최적 값에 판독 레벨을 설정할 수 있다. 따라서, 인접한 임계 전압 분포 간의 마진이 작더라도 데이터는 정확하게 판독될 수 있다.
(제3 실시예)
도 18a, 18b, 18c 및 19는 본 발명의 제3 실시예의 제1 페이지 판독 순서를 도시한다. 제3 실시예는 제1 실시예의 변형이다.
셀의 2 내지 4KB가 NAND 플래시 메모리에 동시에 기입되지만, 각 레벨에 기입된 데이터는 비율이 다르다. 예를 들어, 16 레벨을 이용하여 4비트의 데이터가 셀에 저장되고, 기입 단위가 4KB=32 킬로비트이고, 데이터가 각 레벨(임계 전압 분포)에 고르게 존재하는 경우, 32 킬로비트/16=2 킬로비트가 된다. 그러나 기입 데이터에 따라 그 결과는 10 비트 이하 또는 0 비트일 수도 있다.
이 경우, 도 18a에 도시한 바와 같이, 제1 실시예를 이용하여 판독 레벨 (CR) 및 (CR-x)에서 판독이 이루어지고, 이러한 판독 레벨 간에 존재하는 셀의 수가 카운트되는 경우, 그 카운트는 특정값 이하이다. 그러므로 반복적인 판독은 이루어지지 않는다.
제3 실시예에서는, 도 18b 및 18c에 도시한 바와 같이, 더욱 정확하게 판정하기 위하여, 판독 레벨 (CR), (CR-x) 및 특정 레벨 (z)을 판독 레벨 (CR)에 더함으로써 얻은 (CR+z)을 이용하여 셀로부터 데이터가 판독된다. 다음으로, (CR)과 (CR-x) 간에 존재하는 셀의 수와, (CR)과 (CR+z) 간에 존재하는 셀의 수의 비율이 특정값과 비교된다. 특정 레벨 (z)는 예를 들어 (x) 및 (y)보다 커지도록 설정되고, 판독 레벨 (CR)과 (CR+z) 간에 존재하는 셀의 수가 설정되어 임계 전압 분포에 존재하는 셀의 더 큰 부분이 셀의 수에 포함된다.
도 19에 도시한 순서에서, 제1 실시예의 것과 동일한 부분은 동일한 참조번호로 나타낸다. 단계 S31, S32에서, 판독 레벨 (CR) 및 (CR-x)를 이용하여 셀의 데이터가 판독된 후, 그 데이터는 특정 레벨 (z)(>(x))를 판독 레벨 (CR)에 더함으로써 얻은 판독 레벨 (CR+z)를 이용하여 셀로부터 판독된다(S32-1). 그 후, 예를 들어 호스트(11)는 판독 레벨 (CR)과 (CR-x) 간에 존재하는 셀의 수뿐만 아니라 판독 레벨 (CR)과 (CR+z) 간에 존재하는 셀의 수를 카운트한다(S33-3). 다음으로, (CR-x 이상 및 CR 이하인 셀의 수)/(CR보다 크고 CR+z 이하인 셀의 수)가 특정값 이하인지 여부를 판정한다(S34-1). 판정 결과가 그 몫이 특정값 이하인 것을 나타내는 경우, 판독 레벨 (CR)에서 판독된 데이터는 정상적인 데이터로서 출력된다. 판정 결과가 그 몫이 특정값 이상인 것을 나타내는 경우, 판독 레벨 (CR)은 특정값 (x)만큼 낮아지고, 판독 동작이 반복된다(S36).
제3 실시예에서는, 판독 레벨 (CR)과 (CR-x) 간에 존재하는 셀의 수뿐만 아니라 판독 레벨 (CR)과 (CR+z) 간에 존재하는 셀의 수가 카운트된다. 다음으로, (CR-x 이상 및 CR 이하인 셀의 수)/(CR보다 크고 CR+z 이하인 셀의 수)가 특정값 이하인지 여부가 판정되고, 이에 의해 판독 레벨을 판정한다. 따라서, 데이터가 셀의 각 레벨(또는 임계 전압 분포)에 고르게 존재하지 않는 경우이더라도 메모리 셀의 데이터는 정확하게 판독될 수 있다.
(제4 실시예)
도 20은 본 발명의 제4 실시예의 제1 페이지 판독 순서를 도시한다. 제4 실시예는 제2 및 제3 실시예의 변형이다. 도 17 및 19와 동일한 부분은 동일한 참조번호로 나타낸다.
도 20에 도시한 바와 같이, 제4 실시예에서는 제3 실시예에서와 같이 판독 레벨 (CR)과 (CR-x) 간에 존재하는 셀의 수뿐만 아니라 판독 레벨 (CR)과 (CR+z) 간에 존재하는 셀의 수가 카운트된다. 다음으로, (CR-x 이상 및 CR 이하인 셀의 수)/(CR보다 크고 CR+z 이하인 셀의 수)가 특정값 이하인지 여부가 판정된다(단계 S31 내지 S34-1).
판정 결과가 그 몫이 특정값과 동일하지도 작지도 않은 것을 나타내는 경우, 그 데이터는 제2 실시예에서와 같이 판독 레벨 (CR+y)를 이용하여 판독된다. 다음으로, 수학식 (CR-x 이상 및 CR 이하인 셀의 수)<(CR보다 크고 CR+y 이하인 셀의 수)이 충족되는지 여부가 판정된다(단계 S42 및 S43). 판정 결과가 그 수학식이 충족되는 것을 나타내는 경우, 판독 레벨은 낮아지고, 판독이 이루어진다(제어는 S31 또는 S32로 진행된다). 그 수학식이 충족되지 않는 경우, 판독 레벨은 높아지고, 판독이 이루어진다(제어는 단계 S44를 통해 단계 S31 또는 S32-1로 진행된다).
제4 실시예에서는, 판독 레벨이 서로 인접하는 2개 임계 전압 분포 중 더 낮은 하나에 존재하고, 임계 전압 분포가 비율이 다르더라도 메모리 셀의 데이터는 정확하게 판독될 수 있다.
제1 내지 제4 실시예에서는, 카운트 또는 카운트의 비율이 특정값과 비교된 후, 판정에 이용된 (x) 또는 (y)와 동일한 레벨만큼 증가 또는 감소하고, 판독이 다시 이루어진다. 그러나 본 발명은 이에 한정하지 않는다.
도 21은 제1 내지 제4 실시예를 변형을 도시한 것으로서, 제4 실시예를 예로서 이용한다. 그 변형에서, 도 21의 단계 S44-1 및 S44-2에 도시한 바와 같이, 판독 레벨 CR이 설정되고, 판독이 다시 이루어진다. 구체적으로, 단계 S44-1에서 판독 레벨 CR은 CR+α로 설정된다. 단계 S44-2에서 판독 레벨 CR은 CR-α로 설정된다. α의 값은 예를 들어 x 이상인 값이고, 판독이 이루어질 때마다 더 작게 설정된다.
상술한 바와 같이, 판독 레벨 CR에/로부터 부가 또는 빼는 값, 즉 α의 값을 점진적으로 감소시킴으로써 그리고 판독 동작을 반복함으로써 최적의 판독 레벨이 설정될 수 있다. 이 예에서도 판독이 반복적으로 이루어지는 경우, 그 결과는 수렴되지 않을 수도 있다. 이 경우, 반복 카운트에 대한 최대값이 설정된다. 반복 카운트가 최대값에 도달하는 경우, 동작이 종료된다.
제1 실시예에서처럼, 제2 내지 제4 실시예에서는, 셀의 수 카운트와, 그 카운트와 기준 값 간의 비교는 호스트(11)에 제한되지 않고, 예를 들어 제어 신호 및 제어 전압 생성 회로(7)에서 이루어질 수도 있다.
(제5 실시예)
도 22는 제1 실시예의 제1 변형예를 도시한다. 도 22에서, 도 15의 것과 동 일한 부분은 동일한 참조번호로 나타낸다.
제1 실시예에서, 판독 레벨 (CR)에서 판독된 데이터는 판독 레벨 (CR-x)에서 판독된 데이터와 XOR된다. 그 결과는 SDC로부터 호스트(11)에 출력되고, 호스트는 데이터 "1"의 수를 카운트한다. 데이터는 1 비트 내지 수 비트의 단위로 출력 및 카운트되므로, 이는 시간을 소모하는 문제를 발생시킨다. 도 8에 도시한 데이터 저장 회로(10)의 PDC가 데이터 "0"을 래치하는 경우, 노드 N1b는 하이 레벨로 된다. 그러므로 신호 CHK2n 및 신호 CHK1이 하이로 되는 경우, 배선 COMi상의 전위가 떨어진다. 배선 COMi는 데이터 저장 회로(10) 모두에 연결된다. 그 결과, 노드 N1b가 하이 레벨로 되는 데이터 저장 회로(10)의 수에 따라 전류가 흐른다. 따라서, 배선 COMi를 통해 흐르는 전류를 모니터함으로써, 판독 레벨 (CR)에서 판독한 결과와 판독 레벨 (CR-x)에서 판독한 결과를 XOR함으로써 얻은 데이터 "1"의 수를 검출할 수 있다.
구체적으로, 도 22에 도시한 바와 같이, XOR의 결과가 단계 S33-1에서 PDC에 이송된 후, PDC의 데이터는 반전된다(S33-3). 그 후, 배선 COMi의 전류가 모니터된다(S33-4). 그 결과, 배선 COMi의 전류 값이 특정값 이하인 경우, 판독 레벨 (CR)에서 판독된 데이터가 SDC에 래치되므로 SDC의 데이터가 출력된다(S35-1). 배선 COMi의 전류가 특정값과 동일하지도 작지도 않은 경우, 판독 레벨 (CR)은 (x)만큼 낮아지고, 판독 동작이 다시 실행된다.
상술한 구성은 제1 실시예의 구성과 동일한 효과를 제공한다. 또한, 호스트(11)는 배선 COMi의 전류 값을 특정값과 비교해야만 하고, 데이터 저장 회로(10) 로부터 공급되는 XOR에 의해 얻은 데이터 "1"의 수를 카운트할 필요는 없는데, 이는 판정 동작을 더욱 빨라지게 한다.
본 예는 제1 실시예를 변형함으로써 제공된다. 유사하게, 제2 내지 제4 실시예를 변형할 수도 있다.
(제6 실시예)
도 23은 제2 페이지의 판독 순서를 도시한다. 도 9b에 도시한 바와 같이, 제2 페이지는 전위 (BR) 또는 (DR)을 선택된 워드 라인에 대한 판독 레벨로서 공급함으로써 판독된다. 판독 레벨 (BR) 및 (DR)에서 판독이 이루어지는 경우, 판독 레벨 (BR) 및 (DR)은 제1 페이지 판독 동작에서 검출된 판독 레벨 CR의 정정값에 따라 정정된다.
구체적으로, 제1 페이지상의 데이터 "2", "3", "4"는 동시에 기입된다. 이러한 이유로, 데이터 항목 간의 인터벌은 거의 동일하다. 따라서, 제1 페이지가 판독되는 경우, 검출된 판독 레벨 (CR)의 정정값이 판독 레벨 (BR) 및 (DR)에 부가되고, 이는 판독 레벨 (BR) 및 (DR)이 최적으로 설정되게 할 수 있다.
정정값은 다음과 같이 설정된다. 예를 들어, 제1 페이지가 판독될 때, 판독 레벨 CR에서 판독된 데이터가 출력되는 경우, 정정값은 "0"이다. 판독 레벨 CR-x에서 판독된 데이터가 출력되는 경우, 정정값은 "-x"이다.
도 23의 제2 페이지가 판독되는 경우, 우선, 판독 레벨 (DR) + 정정값을 이용하여 선택된 워드 라인에 연결되는 복수의 메모리 셀로부터 데이터가 판독된다. 이러한 데이터 항목은 대응 데이터 저장 회로 및 DDC0의 PDC에 래치된다(S51). 그 후, 판독 레벨 (BR) + 정정값을 이용하여 선택된 워드 라인에 연결되는 복수의 메모리 셀로부터 데이터가 판독된다. 이러한 데이터 항목은 대응 데이터 저장 회로 및 DDC0의 PDC에 래치된다(S52). 다음으로, PDC의 데이터가 SDC에 카피되고, 외부로 출력된다(S53).
제6 실시예에서, 제1 페이지 판독 동작에서 얻어진 정정값을 제2 페이지 판독 동작에 사용되는 판독 레벨 (BR) 및 (DR)에 가산한다. 이에 의해, 제2 페이지의 데이터를 최적 판독 레벨에서 판독할 수 있게 된다. 더욱이, 제1 페이지 동작과는 달리, 최적 판독 레벨을 검출할 필요가 없다. 따라서, 제2 페이지 판독 동작의 지연이 방지될 수 있다.
물론, 제1 페이지 판독 시퀀스에서와 같이, 제2 페이지 판독 시퀀스에서도 정정값을 결정하여 각각의 판독 레벨 (BR) 및 (DR)에 대한 최적의 판독 레벨을 검출하고, 검출된 판독 레벨을 사용하여 데이터를 판독할 수도 있다.
또한, 동일 블록에 동시에 기입되는 제어가 수행되는 경우, 정정값은 서로 근사될 수 있다. 그러한 경우에, 워드 라인(WL0) 판독시 발견되는 정정값을 사용하여 동일 블록에 있는 다른 워드 라인(WL1 내지 WL31)을 판독할 수 있다. 이와 같이 함으로써, 판독 속도가 감소되는 것을 방지할 수 있다.
(제7 실시예)
제1 내지 제6 실시예에서, 판독 동작을 설명하였다. 본 발명의 제7 실시예에서는 프로그램 동작의 개선을 설명할 것이다.
기입 후 임계 전압 분포 폭을 좁히는 한편, 기입 시간의 증가를 억제하는 방 법으로서, QPW(quick-pass write) 방법을 제안하였다. QPW 방법에서, 다음 및 나중의 기입 동작시에, 오리지날 검증 레벨보다 더 낮은 레벨을 초과한 중간 전위를 셀의 비트 라인에 인가하여 기입의 크기를 감소시킴으로써, 임계 전압의 변동을 보다 작게할 수 있으며, 임계 전압 분포를 더 좁게 할 수 있다.
도 24 및 도 25는 QPW 방법을 개략적으로 도시한다. QPW 방법에서, 전술한 프로그램 동작에서와 같이, 각각의 데이터 저장 회로(10)에 데이터를 로딩한 후, 프로그램 동작을 수행한다(S51, S52). 각 레벨에서의 검증 동작시, 워드 라인 전위를 오리지날 검증 레벨보다 낮은 레벨(AVL, BVL, CVL)로 설정하고 제1 검증 동작을 수행한다(S53, S54, S55). 검증 동작의 결과로서, 레벨(AVL, BVL, CVL)에 도달하지 않은 경우, 프로그램 전압(Vpgm)을 특정 전압만큼 증가시키고, 프로그램 동작 및 검증 동작을 다시 실행한다(S56, S57, S52).
메모리 셀의 임계 전압이 오리지날 검증 레벨보다 낮은 레벨 (AVL, BVL, CVL)에 도달하였으면, 중간 전위를 그 다음 기입 동작시에 비트 라인에 인가하여, 셀의 채널과 제어 게이트 간의 전위차를 감소시킴으로써, 기입을 약화시키고 셀의 임계 전압 변화를 더 작게 한다. 이 상태에서, 오리지날 검증 레벨 (AV, BV, CV)에 도달할 때까지 기입 동작 및 검증 동작을 반복한다.
전술한 바와 같이, QPW 방법은 일반적으로 두개의 검증 동작, 즉, 오리지날 기입 검증 레벨보다 낮은 레벨을 사용하는 검증 동작 및 오리지날 검증 레벨을 사용하는 검증 동작을 필요로 한다. 이것은 검증 시간 중복 또는 거의 중복이라는 문제를 야기시킨다.
도 25는 셀에 인가된 프로그램 펄스 전압 및, QPW 방법에서 레벨 "C"이 기입될 때 프로그램 펄스 전압이 인가된 후의 임계 전압의 변화를 도시한다. 도 25에서 알 수 있는 바와 같이, 셀의 임계 전압이 보다 낮은 검증 레벨 CVL을 초과한 후, 프로그램 펄스 전압의 증가를 감소시켜 기입을 약화시킨다. 결과적으로, 셀의 임계 전압의 변화를 감소시킨다는 것을 알 수 있다.
도 26은 제7 실시예에서의 프로그램 시퀀스를 도시한다. 도 27은 레벨 "C"가 기입된 셀에 각각의 프로그램 펄스를 인가한 후의 임계 전압의 변화를 도시한다. 도 26에서, 도 24의 부분과 동일한 부분은 동일한 참조 번호를 사용한다. 도 24와 다른 것만을 설명한다. 제7 실시예에서는 검증 레벨 (AV, BV, CV)을 사용하여 세개의 임계 전압이 동시에 기입된다.
도 26에 도시된 바와 같이, 제7 실시예에서는 각 레벨에서의 검증 동작시, 오리지날 검증 레벨 (AV, BV, CV)을 사용하여 검증 동작(S58, S59, S60)만을 실행한다. 검증 동작시에, 기입될 메모리 셀의 임계 전압에 대응하는 검증 레벨보다 한 레벨 낮은 검증 레벨 (BV)이 초과된 후에, 기입이 행해지는 한편, 프로그램 전압(Vpgm)을 단계적으로 증가시킨다. 기입 횟수가 3을 초과하여 행해진 때, 비트 라인에 중간 전위를 공급하여 다음 및 나중의 프로그램 동작시 기입을 약화시킨다(S71). 이 상태에서, 레벨 CV에서 검증 동작을 수행한다. 결과적으로, 셀의 임계 전압이 레벨 CV에 도달하지 않았으면, PDC는 로우 레벨에 있게 된다(S56). 따라서, 프로그램 전압을 단계적으로 증가시키고(S57) 약한 기입을 다시 수행한다(S71). 모든 PDC가 하이 레벨로 갈 때까지 그러한 동작을 반복한다.
이 동작에서, 레벨 CV에서 검증 동작을 수행할 때, 두 레벨 낮은 검증 레벨 (AV)에서 기입이 완료되었다면, 검증 동작을 건너뛸 수 있다. 최저 검증 레벨(AV)에서의 검증 동작의 경우, 이 보다 낮은 레벨은 존재하지 않는다. 따라서, 도 26의 단계(S58)에서, 예를 들면, 더 낮은 검증 레벨에서 검증 동작(AVL)을 수행한 후 오리지날 검증 레벨에서 검증 동작(AV)을 수행하는 방식으로 레벨 AV에서 검증 동작을 두 번 실행할 수 있다.
제7 실시예에서, 도 27에 도시된 바와 같이, 레벨 "C"에서 셀이 기입되는 때, 레벨 "B"의 검증 레벨 BV(레벨 "C"보다 한 레벨 더 낮은 검증 레벨)이 초과된 후, 비트 라인에 중간 전위를 인가하여, n번째 및 그 후의 기입 동작, 예를 들면, 세번째 및 그 이후의 기입 동작(도 27에서는 아홉번 째 및 그 이후의 기입 동작)시에 기입을 약화시킨다. 이와 같이 함으로써, 임계 전압의 변화를 줄일 수 있다.
제7 실시예에서, 기입될 검증 레벨보다 한 레벨 더 낮은 검증 레벨이 초과된 후에, n번째 및 그 이후의 기입 동작시 기입이 약화된다. 이러한 이유로, 각각의 검증 프로세스에서 두 개의 검증 동작(즉, 오리지날 검증 레벨에서의 검증 동작 및 오리지날 검증 레벨보다 낮은 검증 레벨에서의 검증 동작)을 수행하는 일반적인 QPW 방법에서의 경우에 비해 검증 시간을 단축할 수 있다. 이러한 효과는 2비트 4레벨 이상의 데이터를 저장할 때 보다 현저하게 된다.
제7 실시예에서, n번째 및 그 이후의 기입 동작을 제3 및 그 이후의 기입 동작(n=3)으로 하였지만, 본 발명은 이에 한정되는 것은 아니고, 평가에 따라 최적 횟수로 n의 값을 설정할 수 있다.
제7 실시예에서, 기입된 검증 레벨보다 한 레벨 더 낮은 검증 레벨이 초과된 후의 처리를 설명한다. 그러나, 한 레벨 더 낮은 레벨로 한정하는 대신 임의의 레벨을 고려하는 것도 가능하다. n번째 기입 동작 후에, 본 실시예에서는 기입이 약화되지만 그 대신 정지할 수도 있다.
레벨 C에서 셀에 기입하는 것과 관련하여, 레벨 C에서의 검증 동작은 수행되지 않았고, 레벨 B를 초과한 후의 n번째 기입 후에 기입을 약화시키거나 중지하지 않았다. 그러나, 레벨 B에서의 기입 및 레벨 C에서의 기입은 레벨 B 및 C에서의 검증 동작없이 실행된다. 레벨 A를 초과한 후, 레벨 B에서 셀로의 기입은 n번째 기입 후에 약화되거나 정지된다. 레벨 C에서 셀로의 기입과 관련하여, m번째 기입 후에 기입이 약화되거나 정지될 수 있다(n<m). 따라서, 복수의 검증 레벨(2 이상의 자연수)에서 검증 동작을 실행하는 대신, 복수의 레벨(2 이상의 자연수) 중 단지 임의의 레벨(2 이상의 자연수)에서만 검증 동작을 실행하고, 몇 회 기입 후 다른 레벨에서 기입을 약화시키거나 정지하는 것도 가능하다.
(제8 실시예)
도 28은 본 발명의 제8 실시예의 프로그램 시퀀스를 설명하는 플로우차트이다. 도 29는 "C" 레벨에서 기입이 행해진 셀에 각각의 프로그램 펄스 전압을 인가한 후의 임계 전압의 변화를 도시한다. 제8 실시예는 제7 실시예의 수정예이다. 도 28에서, 도 26의 부분과 동일한 부분은 동일한 참조 번호를 사용한다.
제7 실시예에서, 기입될 검증 레벨보다 한 레벨 더 낮은 검증 레벨이 초과된 후에, n번째 및 그 이후의 기입 동작에서 기입이 약화된다. 그러나, 제8 실시예에 서, 기입될 검증 레벨보다 두 레벨 더 낮은 검증 레벨이 초과된 후에는, 기입될 검증 레벨보다 한 레벨 더 낮은 검증 레벨에 도달할 때까지 행해지는 기입 횟수 k가 카운트된다(여기에서는 세 번). h(h=k±α, α: 정정값)번째 기입 동작에서, 한 레벨 낮은 검증 레벨이 초과되었기 때문에, 비트 라인에 중간 전위를 인가하여 기입을 약화시킴으로써 임계 전압의 변동을 줄일 수 있다. 예를 들면, α=0이면, 횟수 "h"는 3이다.
특히, 도 29에 도시된 바와 같이, 레벨 "C"에서 기입이 행해지는 때에는 검증 레벨 AV을 초과하였기 때문에 검증 레벨 BV에 도달 할때까지 행해진 기입 횟수가 카운트된다. 각각의 셀에 대한 기입 횟수를 카운트하는 경우, 각각의 비트 라인에 접속된 데이터 저장 회로에 횟수를 카운트하는 회로를 제공한다. 동시에 기입된 셀의 평균값을 찾기 위해, 예를 들면, 세어 신호 및 제어 전압 생성 회로(7)에 카운터를 제공하고, 그 카운터를 이용하여 횟수를 카운트하고, 예를 들면, 프로그램 전압(Vpgm)을 단계적으로 증가시켰다. 카운터의 카운트가 "k"=3인 경우, "α"를 "0"으로 설정하면, 검증 레벨 BV로부터 제3 기입 동작("h"=3)시 비트 라인에 중간 전위를 공급하여, 기입을 약화시킨다.
횟수 "h"는 정정값 "α"에 카운트 "k"를 가산하여 얻은 값이다. 그러나, 일반적으로, 데이터 보유를 향상시키기 위해 레벨을 보다 높아지게 함에 따라, 메모리 셀들에 저장되어 있는 임계 전압들 간의 마진을 더 크게 해야 한다. 따라서, (BV-AV)≤(DV-BV)를 따른다. 이러한 이유로, 횟수 "h"와 카운트 "k"를 대략 동일하게 할 수 있다.
제8 실시예는 더 낮은 두개의 검증 레벨을 초과한 후에, 검증 레벨보다 더 낮은 하나의 레벨이 기입될 때까지 기입 횟수를 카운트한다. 그러나, 레벨을 보다 낮은 두개의 레벨 및 보다 낮은 하나의 레벨로 한정하는 대신 임의의 레벨을 고려하는 것도 가능하다. h번째 기입 동작 후에, 기입이 약화되었지만, 그 대신 중지될 수도 있다.
제8 실시예에서는 제7 실시예의 효과와 동일한 효과를 얻을 수 있다. 더욱이, 제8 실시예에서, 고속으로 기입된 셀과 저속으로 기입되는 셀이 존재하더라도, 각각의 임계 전압 분포를 정확하게 기입할 수 있다.
(제9 실시예)
도 30a는 셀에 1 비트가 저장되는 경우의 2-레벨 임계 전압 분포를 도시하고, 도 30b는 셀에 4 비트가 저장되는 경우의 16-레벨 임계 전압 분포를 도시한다. 16 레벨은 셀에 4 비트를 저장할 수 있는 장점을 갖는다. 그러나, 이 경우에, 각각의 임계 전압 분포는 협소하게 기입되어야 한다. 이러한 이유로, 기입 동작 및 검증 동작을 조금씩 반복적으로 수행하여, 기입 속도를 매우 느리게 한다. 도 30a 및 도 30b에서, 실선으로 도시된 임계 전압 분포는 기입 직후의 상태를 나타내고, 파선으로 도시된 임계 전압 분포는 오랫동안 남겨진 상태를 도시한다. 임계 전압 분포는 오랫동안 남겨진 경우 확대되기 때문에, 데이터 보유 마진(임계 전압 분포들 간의 마진)이 작다.
도 31은 NAND 플래시 메모리에서 기입/소거가 행해진 횟수와 필요 데이터 보유 마진 간의 관계를 도시한다. 도 31로부터 알 수 있는 바와 같이, NAND 플래시 메모리에서 기입/소거가 행해진 횟수가 증가됨에 따라, 필요 데이터 보유 마진이 증가한다. 따라서, 2 레벨에서 기입/소거가 행해진 횟수가 100,000으로 억압되고, 16 레벨에서 기입/소거가 행해진 횟수가 1,000으로 억압되면, 필요 보유 마진이 작게 될 수 있다. 따라서, 이들 도면에서는 기입/소거가 행해진 횟수를 억압하는 것을 상세히 고찰한다.
도 32는 제9 실시예에 따른 NAND 플래시 메모리를 개략적으로 도시한다. NAND 플래시 메모리의 (도 2의 메모리 셀 어레이(1)에 대응하는)메모리 셀 어레이(1)는 소거부인 복수의 블록(BLK0 내지 BLK4095)을 포함한다. 제9 실시예에서, 블록들 중, 파선으로 둘러싸인 제1 영역(91)에 포함된 블록들을 사용하여 2-레벨 데이터를 저장한다. 파선으로 둘러싸인 제2 영역(92)에 포함된 블록들을 사용하여 16-레벨 데이터를 저장한다. 예를 들면, 데이터를 고속으로 기입해야 하는 경우, 종종 기입되거나 소거될 데이터를 제1 영역(91)에 포함된 2-레벨 데이터 블록에 기입한다. 더욱이, 고속으로 기입될 필요가 없고 드물게 기입되거나 소거되는 데이터를 제2 영역(92)에 기입하기 위한 제어가 수행된다. 예를 들면, 호스트(11)에 의해 기입 영역의 선택 제어가 수행된다. 특히, 호스트(11)는 종종 데이터가 재기입될 때마다 갱신된 시스템 정보 같은 재기입 데이터를 제1 영역(91)에 그리고 다른 데이터를 제2 영역(92)에 기입한다.
제9 실시예에서, 메모리 셀 어레이(1)는 제1 영역(91)과 제2 영역(92)으로 분할된다. 제1 영역(91)에 포함된 복수의 블록을 2-레벨 데이터 저장 블록으로 사용한다. 제2 영역(92)에 포함된 복수의 블록을 16-레벨 데이터 저장 블록으로 사 용한다. 이와 같이 하면, 데이터 보유 마진이 저하되고 기입 속도가 감소되는 것을 방지할 수 있다.
도 33은 도 30b에 도시된 단일 셀에 16 레벨이 저장되는 경우의 기입 시퀀스를 설명하는 플로우차트이다. 이 경우에, 하나의 기입 동작 후에, 16개의 검증 동작이 수행된다(S81). 동시에 기입된 모든 셀이 검증 동작을 통과할 때까지 기입 동작 및 검증 동작을 반복한다. 기입될 레벨에 셀이 없는 경우에는 검증 동작을 건너뛴다.
다이 분류 테스트시에, 최저 임계 전압 및 최고 임계 전압의 데이터만을 평가하면 충분할 수 있다. 도 34는 다이 분류 테스트시의 기입 동작을 설명하는 플로우차트이다. 이 경우에, 우선 외부로부터 테스트 명령이 입력된다(S91). 테스트 명령에 따라, 단지 레벨 "0", 레벨 "1", 및 레벨 "F"만을 또는 단지 레벨 "1" 및 레벨 "F"만을 검증한다(S92). 이와 같이 함으로써, 테스트 시간이 단축될 수 있다.
테스트 시에, 단지 레벨 "0", 레벨 "1", 및 레벨 "F"만을 또는 단지 레벨 "1" 및 레벨 "F"만을 검증하였지만, 테스트 명령을 입력함으로써 복수의 레벨 중 단지 임의의 하나 또는 몇몇 임의의 레벨을 검증할 수 있다.
(제10 실시예)
도 35는 음악 데이터 또는 화상 데이터 같은 멀티미디어 데이터용의 기록 및 재생 장치에 NAND 플래시 메모리가 적용된 경우를 도시한다. 예를 들면, 개인용 컴퓨터 또는 이동 전화인 기록 및 재생 장치(100)는 인터넷 접속 수단 또는 무선 통신 수단 같은 통신 수단(101), NAND 플래시 메모리(102), 재생 회로(103) 및 제어부(104)를 포함한다. 오늘날, 기록 및 재생 장치(100)를 사용하여 음악 데이터 또는 화상 데이터를 데이터 서버(110)에서 구매하는 것이 가능하다. 특히, 음악 데이터 또는 화상 데이터를 구매할 때, 유저는, 예를 들면, 인터넷 또는 기록 및 재생 장치(100)의 무선 통신 수단을 통해 데이터 서버(11)에 액세스하여 음악 데이터 또는 화상 데이터를 구매하는 것을 요청한다. 요청에 따라, 데이터 서버(110)에 누적된 데이터를 인터넷 같은 통신 수단을 통해 기록 및 재생 장치(100)로 다운로딩한다. 기록 및 재생 장치(100)로 다운로딩된 데이터는 NAND 플래시 메모리(102)에 저장된다.
음악 데이터 또는 화상 데이터의 양이 매우 클 수 있다. 이러한 이유로, 데이터를 NAND 플래시 메모리(102)에 기입하는데 시간이 걸린다. 더욱이, NAND 플래시 메모리(12)가, 예를 들면, 셀에 16-레벨 데이터를 저장하는 경우에는, 기입 속도가 느리기 때문에 다량의 데이터를 기입하는데 더 많은 시간이 걸린다는 문제가 발생한다.
도 36 및 도 37은 본 발명의 제10 실시예에서 음악 데이터 또는 화상 데이터를 다운로딩하는 한편 데이터를 재생하는 방법을 설명하는 플로우차트이다.
기록 및 재생 장치(100)를 이용하여 NAND 플래시 메모리(102)에 저장된 음악 데이터 또는 화상 데이터를 재생하는 경우, 기록 및 재생 장치(100)의 제어부(104)는 재생될 음악 데이터 또는 화상 데이터에 대하여 NAND 플래시 메모리(102)를 검색한다(S100). 음악 데이터 또는 화상 데이터가 존재하면, 재생 회로(103)에 의해 그 데이터가 재생된다(S101).
NAND 플래시 메모리(102)에 음악 데이터도 없고 화상 데이터도 없는 경우에, 제어부(104)는 구매 권한 데이터에 대하여 NAND 플래시 메모리(102)를 검색한다. 검색 결과 구매 권한 데이터가 없으면, 제어부(104)는 유저가 데이터 구매를 희망하는지 여부에 대한 정보를 입력하도록 유저에게 알려준다(S103). 유저가 데이터 구매를 희망하면, 제어부는 인터넷 또는 무선 통신 수단 같은 통신 수단(101)을 통해 데이터 서버(110)에 액세스하여, 유저가 구매하고자 하는 음악 데이터 또는 화상 데이터를 구매하기 위한 요청을 전송한다(S104). 데이터 서버(110)가 구매 요청을 수용하면, 제어부(104)는 데이터 서버(110)로부터 구매 권한 데이터를 다운로딩하고, 다운로딩된 구매 권한 데이터를 NAND 플래시 메모리(102)에 저장한다(S106). 즉, 이 때, 양이 큰 음악 데이터 또는 화상 데이터를 다운로딩하지 않고, 양이 작은 구매 권한 데이터만을 다운로딩한다. 결과적으로, 구매 권한 데이터를 다운로딩하는데 필요한 시간을 단축하고, 그 데이터를 NAND 플래시 메모리(102)에 저장하는 것이 가능하다.
이후, 사용자가 음악 데이터 또는 화상 데이터를 재생할 때, 단계 S100를 거쳐 단계 S102에서 구매 권한 데이터가 있는지의 여부를 결정한다. 이 경우, 구매 권한 데이터가 NAND 플래시 메모리(102)에 저장되어 있기 때문에, 제어부(104)는 통신 수단(101)을 통해 데이터 서버(110)를 액세스하여 구매 권한 데이터에 대응하는 음악 데이터 또는 화상 데이터를 다운로딩한다(S107). 다운로딩된 데이터는 NAND 플래쉬 메모리(102)에 저장은 물론 재생된다(S108). 데이터 재생 시간은 NAND 플래쉬 메모리(102)에 데이터를 기입하는데 필요한 시간보다 훨씬 더 길기 때문에, NAND 플래쉬 메모리에 기입될 때, 다운로딩된 데이터가 재생중에 있다고 할지라도 아무런 문제도 없다.
다운로딩된 데이터는 예를 들면, 버퍼 회로(미도시됨)에 저장된다. 버퍼에 저장된 데이터는 재생은 물론 NAND 플래쉬 메모리(102)에 기입된다.
게다가, 파선으로 나타난 바와 같이, 단계 S106, S107 및 S108 직후에 실행될 수도 있다.
제10 실시예에 따르면, 음악 데이터 또는 화상 데이터가 구매될 때, 우선, 데이터량이 작은 구매 권한 데이터만이 다운로딩된다. 음악 데이터 또는 화상 데이터가 재생될 때, 구매 권한 데이터에 대응하는 음악 데이터 또는 화상 데이터는 재생되면서, NAND 플래쉬 메모리(102)에 기입된다. 데이터를 기입하는데 필요한 시간을 고려하지 않고도 데이터량이 큰 음악 데이터 또는 화상 데이터를 다운로딩할 수 있게 한다.
제9 및 제10 실시예에서, 제1 내지 제6 실시예는 판독 데이터의 동작에 적용될 수도 있으며, 제7 및 제8 실시예는 데이터의 기입 동작에 적용될 수도 있다.
상술한 실시예들 각각에서, 메모리 셀들에 기입될 데이터는 2비트 또는 4비트에 국한되지 않으며 3비트 또는 5 비트 이상과 동일한 n비트를 포함할 수도 있다.
추가적인 이점 및 변형은 본 분야의 숙련된 자라면 바로 알 수 있을 것이다. 따라서, 본 발명은 더 넓은 관점에서 본 명세서에 도시되고 기술된 특정 상세한 설 명 및 대표적인 실시예에 국한되지 않는다. 따라서, 첨부된 청구항 및 이들의 등가물에 의해 정의되는 일반적인 발명의 개념의 기술적 사상 및 범위로부터 동떨어짐없이 다양한 변형은 이루어질 수도 있다.
도 1은 본 발명의 제1 실시예의 판독 동작을 설명하는 플로우차트.
도 2는 본 발명의 각 실시예에 적용되는 반도체 메모리 장치의 구성을 도시하는 도면.
도 3은 도 2에 도시된 메모리 셀 어레이 및 비트 라인 제어 회로의 일 예의 회로도.
도 4는 도 2에 도시된 메모리 셀 어레이 및 비트 라인 제어 회로의 다른 예의 회로도.
도 5a는 메모리 셀의 단면도이고, 도 5b는 선택 게이트의 단면도.
도 6은 제1 실시예에 따른 반도체 메모리 장치의 단면도.
도 7은 도 6에 도시된 여러 부분에 인가되는 전압의 예를 열거하는 표.
도 8은 도 3 및 4에 도시된 데이터 저장 회로의 일 예의 회로도.
도 9a, 9b, 및 9c는 2 비트 데이터가 메모리 셀에 저장될 때의 데이터와 임계 전압 간의 관계를 도시하는 도면.
도 10은 2개의 NAND 유닛에서의 기입 시퀀스를 도시하는 도면.
도 11은 제1 페이지 프로그램 동작을 설명하는 플로우차트.
도 12는 제2 페이지 프로그램 동작을 설명하는 플로우차트.
도 13은 EASB 기입 방법을 설명하는 도면.
도 14a 및 14b는 제1 실시예에서 메모리 셀의 제1 페이지 판독 시퀀스를 설명하는 도면.
도 15는 제1 실시예에서 판독 동작 시의 데이터 저장 회로의 구체적인 동작을 설명하는 플로우차트.
도 16a 및 16b는 본 발명의 제2 실시예에 따른 메모리 셀의 제1 페이지 판독 시퀀스를 설명하는 도면.
도 17은 제2 실시예에서 메모리 셀의 제1 페이지 시퀀스를 설명하는 플로우차트.
도 18a, 18b, 및 18c는 본 발명의 제3 실시예에 따른 제1 페이지 판독 시퀀스를 설명하는 도면.
도 19는 제3 실시예에서 메모리 셀의 제1 페이지 시퀀스를 설명하는 플로우차트.
도 20은 본 발명의 제4 실시예에 따른 메모리 셀의 제1 페이지 판독 시퀀스를 설명하는 플로우차트.
도 21은 제1 내지 제4 실시예의 변형에 따른 메모리 셀의 제1 페이지 판독 시퀀스를 설명하는 플로우차트.
도 22는 제1 실시예의 제1 변형에 따른 메모리 셀의 제1 페이지 판독 시퀀스를 설명하는 플로우차트.
도 23은 제2 페이지 판독 시퀀스를 설명하는 플로우차트.
도 24는 QPW(quick-pass write) 방법을 개략적으로 설명하는 플로우차트.
도 25는 기입이 QPW 방법에 의해 수행되고 임계 전압이 변하는 경우, 셀에 인가되는 프로그램 펄스 전압을 도시하는 도면.
도 26은 본 발명의 제7 실시예에 따른 프로그램 시퀀스를 설명하는 플로우차트.
도 27은 제7 실시예에서 기입이 수행되고 임계 전압이 변하는 경우, 셀에 인가되는 프로그램 펄스 전압을 도시하는 도면.
도 28은 본 발명의 제8 실시예에 따른 프로그램 시퀀스를 설명하는 플로우차트.
도 29는 제8 실시예에서 기입이 수행되고 임계 전압이 변하는 경우, 셀에 인가되는 프로그램 펄스 전압을 도시하는 도면.
도 30a는 셀에 1 비트가 저장되는 경우 2-레벨의 임계 전압 분포를 도시하고, 도 30b는 셀에 4 비트가 저장되는 경우 16-레벨의 임계 전압 분포를 도시하는 도면.
도 31은 NAND 플래시 메모리에서 기입/소거가 수행되는 횟수와 데이터 보유 마진간의 관계를 도시하는 도면.
도 32는 본 발명의 제9 실시예에 따른 NAND 플래시 메모리를 개략적으로 도시하는 도면.
도 33은 16레벨이 도 30b에 도시된 셀에 저장될 때의 기입 시퀀스를 설명하는 플로우차트.
도 34는 다이 분류 테스트시의 기입 동작을 설명하는 플로우차트.
도 35는 NAND 플래시 메모리가 음악 데이터 또는 화상 데이터를 위한 기록 및 재생 장치에 적용될 때의 구성을 도시하는 도면.
도 36은 본 발명의 제10 실시예에 따라서 NAND 플래시 메모리가 음악 데이터 또는 화상 데이터를 위한 기록 및 재생 장치에 적용될 때의 구성을 도시하는 도면.
도 37은 도 36에 도시된 기록 및 재생 장치를 설명하는 플로우차트.

Claims (19)

  1. 반도체 메모리 장치에 있어서,
    복수의 워드 라인 및 복수의 비트 라인에 접속된 복수의 메모리 셀이 매트릭스로 배열되는 메모리 셀 어레이;
    상기 워드 라인들 및 상기 비트 라인들에 대한 전위를 생성하는 전압 생성 회로;
    상기 비트 라인들에 접속되며, 상기 메모리 셀들에 기입될 데이터 또는 상기 메모리 셀들로부터 판독되는 데이터를 저장하는 데이터 저장 회로; 및
    상기 전압 생성 회로에 의해 생성된 제1 레벨에서의 판독 동작 및 제2 레벨에서의 판독 동작 시 상기 워드 라인들 중 한 워드 라인에 접속된 복수의 메모리 셀로부터 데이터를 판독하고, 상기 판독된 데이터로부터 상기 제1 레벨과 상기 제2 레벨 사이에 존재하는 셀들의 개수를 찾아내어, 만일 그 개수가 특정값과 동일하거나 이보다 작을 경우, 상기 제1 레벨에서의 판독 동작의 결과가 판독 데이터가 되도록 결정하는 제어부
    를 포함하는 반도체 메모리 장치.
  2. 제1항에 있어서,
    상기 제어부는, 상기 제1 레벨과 상기 제2 레벨 사이에 존재하는 상기 메모리 셀들의 개수가 특정 개수를 초과했을 경우, 판독 레벨을 변경하여 판독 동작을 다시 수행하는 반도체 메모리 장치.
  3. 제1항에 있어서,
    상기 제2 레벨은 상기 제1 레벨보다 낮은 반도체 메모리 장치.
  4. 제1항에 있어서,
    상기 제어부는, 상기 제1 레벨과 상기 제2 레벨 사이에 존재하는 메모리 셀들의 개수가 상기 특정값과 동일하거나 이보다 클 경우, 상기 제1 및 제2 레벨을 더 낮추어 판독 동작을 다시 수행하는 반도체 메모리 장치.
  5. 제3항에 있어서,
    상기 제1 레벨과 상기 제2 레벨 사이에 존재하는 메모리 셀들의 개수가 특정 개수와 동일하거나 이보다 클 경우, 상기 제어부는 상기 제2 레벨보다 낮은 제3 레벨에서 판독을 수행하여 상기 제2 레벨과 상기 제3 레벨 사이에 존재하는 메모리 셀들의 개수를 찾아내고, 상기 제2 레벨과 상기 제3 레벨 사이에 존재하는 메모리 셀들의 개수가 상기 특정 개수와 동일하거나 이보다 작은 경우, 상기 제2 레벨에서의 판독 동작의 결과가 판독 데이터가 되도록 결정하는 반도체 메모리 장치.
  6. 제3항에 있어서,
    상기 제어부는 상기 제1 레벨보다 높은 제4 레벨에서 판독 동작을 수행하여, 상기 제1 레벨과 상기 제4 레벨 사이에 존재하는 메모리 셀들의 개수를 찾아내고, 상기 제1 레벨과 상기 제2 레벨 사이에 존재하는 메모리 셀들의 개수가 특정 개수와 동일하거나 이보다 크고, 상기 제1 레벨과 상기 제2 레벨 사이의 셀들의 개수가 상기 제1 레벨과 상기 제4 레벨 사이의 셀들의 개수보다 작은 경우, 판독 레벨을 더 낮추어 판독 동작을 다시 수행하는 반도체 메모리 장치.
  7. 제3항에 있어서,
    상기 제어부는 상기 제1 레벨보다 높은 제4 레벨에서 판독 동작을 수행하여 상기 제1 레벨과 상기 제4 레벨 사이에 존재하는 메모리 셀들의 개수를 찾아내고, 상기 제1 레벨과 상기 제2 레벨 사이에 존재하는 메모리 셀들의 개수가 특정 개수와 동일하거나 이보다 크고, 상기 제1 레벨과 상기 제2 레벨 사이의 셀들의 개수가 상기 제1 레벨과 상기 제4 레벨 사이의 셀들의 개수보다 클 경우, 판독 레벨을 더 올려서 판독 동작을 다시 수행하는 반도체 메모리 장치.
  8. 반도체 메모리 장치에 있어서,
    복수의 워드 라인 및 복수의 비트 라인에 접속된 복수의 메모리 셀이 매트릭스로 배열되는 메모리 셀 어레이;
    상기 워드 라인들 및 상기 비트 라인들에 대한 전위를 생성하는 전압 생성 회로;
    상기 비트 라인들에 접속되며, 상기 메모리 셀들에 기입될 데이터 또는 상기 메모리 셀들로부터 판독되는 데이터를 저장하는 데이터 저장 회로; 및
    상기 전압 생성 회로에 의해 생성된 제1 레벨에서의 판독 동작, 제2 레벨에서의 판독 동작 및 상기 제1 레벨보다 높은 제3 레벨에서의 판독 동작 시, 상기 제1 레벨과 상기 제2 레벨 사이에 존재하는 메모리 셀들의 개수 및 상기 제1 레벨과 상기 제3 레벨 사이에 존재하는 메모리 셀들의 개수를 찾아내어, (제1 레벨과 제2 레벨 사이에 존재하는 메모리 셀들의 개수)/(제1 레벨과 제3 레벨 사이에 존재하는 메모리 셀들의 개수)가 특정 개수와 동일하거나 이보다 작은 경우, 상기 제1 레벨에서의 판독 동작의 결과가 판독 데이터가 되도록 결정하는 제어부
    를 포함하는 반도체 메모리 장치.
  9. 제8항에 있어서,
    상기 제어부는, (제1 레벨과 제2 레벨 사이에 존재하는 메모리 셀들의 개수)/(제1 레벨과 제3 레벨 사이에 존재하는 메모리 셀들의 개수)가 상기 특정 개수를 초과하는 경우, 판독 레벨을 변경하여 판독 동작을 다시 수행하는 반도체 메모리 장치.
  10. 제8항에 있어서,
    상기 제2 레벨은 상기 제1 레벨보다 낮은 반도체 메모리 장치.
  11. 제8항에 있어서,
    상기 제어부는, (제1 레벨과 제2 레벨 사이에 존재하는 메모리 셀들의 개수)/(제1 레벨과 제3 레벨 사이에 존재하는 메모리 셀들의 개수)가 상기 특정 개수와 동일하거나 이보다 큰 경우, 상기 제1 및 제2 레벨을 더 낮추어 판독 동작을 다시 수행하는 반도체 메모리 장치.
  12. 제10항에 있어서,
    (제1 레벨과 제2 레벨 사이에 존재하는 메모리 셀들의 개수)/(제1 레벨과 제3 레벨 사이에 존재하는 메모리 셀들의 개수)가 상기 특정 개수와 동일하거나 이보다 클 경우, 상기 제어부는 상기 제2 레벨보다 낮은 제4 레벨에서 판독을 수행하여 상기 제2 레벨과 상기 제4 레벨 사이에 존재하는 메모리 셀들의 개수를 찾아내고, 상기 제2 레벨과 상기 제4 레벨 사이에 존재하는 메모리 셀들의 개수가 상기 특정 개수와 동일하거나 이보다 작은 경우, 상기 제2 레벨에서의 판독 동작의 결과를 판독 데이터가 되도록 결정하는 반도체 메모리 장치.
  13. 제10항에 있어서,
    상기 제어부는 상기 제1 레벨보다 높은 제5 레벨에서의 판독 동작을 수행하여, 상기 제1 레벨과 상기 제5 레벨 사이에 존재하는 메모리 셀들의 개수를 찾아내고, (제1 레벨과 제2 레벨 사이에 존재하는 메모리 셀들의 개수)/(제1 레벨과 제3 레벨 사이에 존재하는 메모리 셀들의 개수)가 상기 특정 개수와 동일하거나 이보다 크고, 상기 제1 레벨과 상기 제2 레벨 사이의 메모리 셀들의 개수가 상기 제1 레벨과 상기 제5 레벨 사이의 메모리 셀들의 개수보다 작은 경우, 판독 레벨을 더 낮추어 판독 동작을 다시 수행하는 반도체 메모리 장치.
  14. 제10항에 있어서,
    상기 제어부는 상기 제1 레벨보다 높은 제5 레벨에서의 판독 동작을 수행하여, 상기 제1 레벨과 상기 제5 레벨 사이에 존재하는 메모리 셀들의 개수를 찾아내고, (제1 레벨과 제2 레벨 사이에 존재하는 메모리 셀들의 개수)/(제1 레벨과 제3 레벨 사이에 존재하는 메모리 셀들의 개수)가 상기 특정 개수와 동일하거나 이보다 크고, 상기 제1 레벨과 상기 제2 레벨 사이의 메모리 셀들의 개수가 상기 제1 레벨과 상기 제5 레벨 사이의 메모리 셀들의 개수보다 큰 경우, 판독 레벨을 더 올려서 판독 동작을 다시 수행하는 반도체 메모리 장치.
  15. 반도체 메모리 장치에 있어서,
    복수의 워드 라인 및 복수의 비트 라인에 접속된 복수의 메모리 셀이 매트릭스로 배열되는 메모리 셀 어레이;
    상기 워드 라인들 및 상기 비트 라인들에 대한 전위를 생성하는 전압 생성 회로;
    상기 비트 라인들에 접속되며, 상기 메모리 셀들에 기입될 데이터 또는 상기 메모리 셀들로부터 판독되는 데이터를 저장하는 데이터 저장 회로; 및
    상기 전압 생성 회로 및 상기 데이터 저장 회로를 제어하고, 소거 동작 시 제1 레벨에서 상기 메모리 셀들의 임계 전압을 설정하고, 외부에서 입력된 기입 데이터에 따라, 기입 및 검증 동작을 반복함으로써 제1 레벨, 제2 레벨, ..., 제n 레벨(n=2k)에서 상기 메모리 셀들의 임계 전압을 설정하고, k 비트의 데이터를 저장하고, 제(h-b) 레벨이 초과된 후 제h 레벨(h≤n)에서 기입될 셀들의 제(h-b) 레벨(1≤b<h, b는 자연수)을 초과하는 셀들에 대한 기입 동작의 j 회수(j는 자연수)를 카운트하여, 제j 및 이후 기입 동작에서 기입 속도를 더 느리게 하거나 기입할 수 없게 하는 제어부
    를 포함하는 반도체 메모리 장치.
  16. 반도체 메모리 장치에 있어서,
    복수의 워드 라인 및 복수의 비트 라인에 접속된 복수의 메모리 셀이 매트릭스로 배열되는 메모리 셀 어레이;
    상기 워드 라인들 및 상기 비트 라인들에 대한 전위를 생성하는 전압 생성 회로;
    상기 비트 라인들에 접속되며, 상기 메모리 셀들에 기입될 데이터 또는 상기 메모리 셀들로부터 판독되는 데이터를 저장하는 데이터 저장 회로; 및
    상기 전압 생성 회로 및 상기 데이터 저장 회로를 제어하고, 소거 동작 시 제1 레벨에서 상기 메모리 셀들의 임계 전압을 설정하고, 외부에서 입력된 기입 데이터에 따라, 기입 및 검증 동작을 반복함으로써 제1 레벨, 제2 레벨, ..., 제n 레벨(n=2k)에서 상기 메모리 셀들의 임계 전압을 설정하고, k 비트의 데이터를 저장하고, 제(h-c) 레벨이 초과될 때부터 제(h-b) 레벨(1≤b<c<h, b 및 c는 자연수)이 제h 레벨(h≤n)에서 기입될 셀들에 대하여 초과될 때까지 기입 동작의 i 회수(i는 자연수)를 카운트하고, 제h 레벨에서의 기입 동작 시 제(h-b) 레벨을 초과한 셀들에 대한 제j 및 이후 기입 동작(j=i+α)(α는 "0"을 포함한 자연수)에서 기입 속도를 더 느리게 하거나 기입할 수 없게 하는 제어부
    를 포함하는 반도체 메모리 장치.
  17. 반도체 메모리 장치에 있어서,
    복수의 워드 라인 및 복수의 비트 라인에 접속된 복수의 메모리 셀이 매트릭스로 배열되는 메모리 셀 어레이;
    상기 워드 라인들 및 상기 비트 라인들에 대한 전위를 생성하는 전압 생성 회로;
    상기 비트 라인들에 접속되며, 상기 메모리 셀들에 기입될 데이터 또는 상기 메모리 셀들로부터 판독되는 데이터를 저장하는 데이터 저장 회로; 및
    상기 전압 생성 회로 및 상기 데이터 저장 회로를 제어하고, 소거 동작 시 제1 레벨에서 상기 메모리 셀들의 임계 전압을 설정하고, 외부에서 입력된 기입 데이터에 따라, 기입 동작 시 기입 및 검증 동작을 반복함으로써 제1 레벨, 제2 레벨, ..., 제n 레벨(n=2k)에서 상기 메모리 셀들의 임계 전압을 설정하고, 상기 메모리 셀들에 k 비트의 데이터를 저장하고, 기입 동작 시 제1 레벨, 제2 레벨, ..., 제n 레벨(n=2k)인 레벨의 n 회수만큼 검증 동작을 수행하고, 제1 명령의 입력 후의 기입 동작 시 레벨의 n 회수 중 레벨의 h 회수(h < n)만큼만 검증 동작을 수행하는 제어부
    를 포함하는 반도체 메모리 장치.
  18. 제17항에 있어서,
    상기 제어부는 상기 제1 명령의 입력 후의 기입 동작 시 상기 제1 레벨 또는 제n 레벨 검증 동작만을 수행하는 반도체 메모리 장치.
  19. 삭제
KR1020070076479A 2006-07-31 2007-07-30 데이터를 정확하게 판독할 수 있는 반도체 메모리 장치 KR100921848B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006209156A JP4945187B2 (ja) 2006-07-31 2006-07-31 半導体記憶装置
JPJP-P-2006-00209156 2006-07-31

Publications (2)

Publication Number Publication Date
KR20080012199A KR20080012199A (ko) 2008-02-11
KR100921848B1 true KR100921848B1 (ko) 2009-10-13

Family

ID=39123305

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070076479A KR100921848B1 (ko) 2006-07-31 2007-07-30 데이터를 정확하게 판독할 수 있는 반도체 메모리 장치

Country Status (3)

Country Link
US (1) US7843723B2 (ko)
JP (1) JP4945187B2 (ko)
KR (1) KR100921848B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140072697A (ko) * 2012-12-05 2014-06-13 삼성전자주식회사 메모리 장치, 메모리 시스템 및 이의 동작 방법

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4170952B2 (ja) 2004-01-30 2008-10-22 株式会社東芝 半導体記憶装置
KR100874441B1 (ko) * 2007-01-09 2008-12-17 삼성전자주식회사 멀티-비트 데이터를 저장할 수 있는 플래시 메모리 장치,그것을 제어하는 메모리 제어기, 그리고 그것을 포함한메모리 시스템
KR101378602B1 (ko) 2008-05-13 2014-03-25 삼성전자주식회사 메모리 장치 및 메모리 프로그래밍 방법
KR101423052B1 (ko) 2008-06-12 2014-07-25 삼성전자주식회사 메모리 장치 및 읽기 레벨 제어 방법
KR101516577B1 (ko) 2008-11-10 2015-05-06 삼성전자주식회사 비휘발성 반도체 메모리 장치, 그를 포함하는 메모리 카드와 메모리 시스템 및 그의 리드 전압 추정 방법
US8094495B2 (en) * 2008-11-25 2012-01-10 Samsung Electronics Co., Ltd. Nonvolatile memory device
JP2011008838A (ja) * 2009-06-23 2011-01-13 Toshiba Corp 不揮発性半導体記憶装置およびその書き込み方法
KR101094605B1 (ko) 2009-06-29 2011-12-15 주식회사 하이닉스반도체 불휘발성 메모리 소자 및 이의 독출 방법
US8484428B2 (en) * 2009-07-30 2013-07-09 Micron Technology, Inc. Enhanced block copy
US8358542B2 (en) 2011-01-14 2013-01-22 Micron Technology, Inc. Methods, devices, and systems for adjusting sensing voltages in devices
KR101818504B1 (ko) 2011-02-24 2018-01-15 삼성전자 주식회사 반도체 메모리 장치 및 반도체 메모리 시스템
US8631288B2 (en) * 2011-03-14 2014-01-14 Micron Technology, Inc. Methods, devices, and systems for data sensing in a memory system
JP5380506B2 (ja) * 2011-09-22 2014-01-08 株式会社東芝 不揮発性半導体記憶装置
JP2013186932A (ja) 2012-03-12 2013-09-19 Toshiba Corp 不揮発性半導体記憶装置
KR101942863B1 (ko) 2012-06-19 2019-01-28 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
KR101939234B1 (ko) * 2012-07-23 2019-01-16 삼성전자 주식회사 메모리 장치, 메모리 시스템 및 상기 메모리 장치의 독출 전압의 제어 방법
KR102050475B1 (ko) * 2013-01-14 2020-01-08 삼성전자주식회사 플래시 메모리, 플래시 메모리 장치 및 이의 동작 방법
JP2014157650A (ja) 2013-02-18 2014-08-28 Toshiba Corp 半導体記憶装置
KR102190694B1 (ko) 2014-03-14 2020-12-14 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 동작 방법
KR20170011644A (ko) * 2015-07-23 2017-02-02 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
JP6545631B2 (ja) * 2016-03-02 2019-07-17 東芝メモリ株式会社 不揮発性半導体記憶装置
KR102422478B1 (ko) * 2016-05-10 2022-07-19 삼성전자주식회사 불휘발성 메모리 장치의 독출 방법
KR102578153B1 (ko) * 2016-08-25 2023-09-14 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
JP6862951B2 (ja) * 2017-03-15 2021-04-21 富士通株式会社 メモリ制御装置、情報処理装置およびメモリ制御方法
US10990466B2 (en) * 2018-06-20 2021-04-27 Micron Technology, Inc. Memory sub-system with dynamic calibration using component-based function(s)
US10446237B1 (en) * 2018-06-29 2019-10-15 Micron Technology, Inc. Temperature sensitive NAND programming
JP2020035504A (ja) * 2018-08-30 2020-03-05 キオクシア株式会社 メモリシステム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000071771A (ko) * 1999-04-22 2000-11-25 가네꼬 히사시 다중값 메모리셀들을 갖는 반도체메모리장치
KR20030009090A (ko) * 2001-03-29 2003-01-29 가부시끼가이샤 도시바 반도체 기억 장치
KR20030034327A (ko) * 2001-10-22 2003-05-09 삼성전자주식회사 소노스 게이트 구조를 갖는 낸드형 비휘발성 메모리소자의구동방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001332096A (ja) * 2000-05-16 2001-11-30 Hitachi Ltd 不揮発性半導体メモリおよび不揮発性半導体メモリを用いた記録再生装置
US6963505B2 (en) * 2002-10-29 2005-11-08 Aifun Semiconductors Ltd. Method circuit and system for determining a reference voltage
JP3935139B2 (ja) 2002-11-29 2007-06-20 株式会社東芝 半導体記憶装置
US6657891B1 (en) 2002-11-29 2003-12-02 Kabushiki Kaisha Toshiba Semiconductor memory device for storing multivalued data
US6975542B2 (en) * 2003-05-08 2005-12-13 Micron Technology, Inc. NAND flash memory with improved read and verification threshold uniformity
KR100634412B1 (ko) * 2004-09-02 2006-10-16 삼성전자주식회사 향상된 프로그램 특성을 갖는 불 휘발성 메모리 장치
JP4268609B2 (ja) * 2005-04-12 2009-05-27 シャープ株式会社 半導体記憶装置及び電子機器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000071771A (ko) * 1999-04-22 2000-11-25 가네꼬 히사시 다중값 메모리셀들을 갖는 반도체메모리장치
KR20030009090A (ko) * 2001-03-29 2003-01-29 가부시끼가이샤 도시바 반도체 기억 장치
KR20030034327A (ko) * 2001-10-22 2003-05-09 삼성전자주식회사 소노스 게이트 구조를 갖는 낸드형 비휘발성 메모리소자의구동방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140072697A (ko) * 2012-12-05 2014-06-13 삼성전자주식회사 메모리 장치, 메모리 시스템 및 이의 동작 방법
KR102083491B1 (ko) * 2012-12-05 2020-03-02 삼성전자 주식회사 메모리 장치, 메모리 시스템 및 이의 동작 방법

Also Published As

Publication number Publication date
US7843723B2 (en) 2010-11-30
KR20080012199A (ko) 2008-02-11
JP4945187B2 (ja) 2012-06-06
US20080313387A1 (en) 2008-12-18
JP2008034065A (ja) 2008-02-14

Similar Documents

Publication Publication Date Title
KR100921848B1 (ko) 데이터를 정확하게 판독할 수 있는 반도체 메모리 장치
US7715231B2 (en) Flash memory device having multi-level cell and reading and programming method thereof
US8711621B2 (en) Flash multi-level threshold distribution scheme
US6876578B2 (en) Semiconductor memory device for storing multivalued data
JP4786171B2 (ja) 半導体記憶装置
KR100674546B1 (ko) 네가티브 임계 전압을 설정하는 것이 가능한 반도체 기억장치
KR100777848B1 (ko) 적은 수의 데이터 항목을 사용하여 복수의 전압을 발생하는전압 발생 회로를 갖는 반도체 메모리 장치
JP5414550B2 (ja) 半導体記憶装置
WO2005048266A1 (en) Nonvolatile semiconductor memory device
KR20090063133A (ko) 소거 시간을 단축하는 것이 가능한 반도체 기억 장치
JP5296175B2 (ja) 半導体記憶装置
USRE40110E1 (en) Nonvolatile semiconductor memory device for storing multivalued data
JP2011134422A (ja) 不揮発性半導体記憶装置
JP2011141944A (ja) 半導体記憶装置

Legal Events

Date Code Title Description
A201 Request for examination
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: 20120924

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130925

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140923

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150918

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160901

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170919

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180918

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190917

Year of fee payment: 11