KR100566848B1 - 불휘발성 반도체 기억 장치 - Google Patents

불휘발성 반도체 기억 장치 Download PDF

Info

Publication number
KR100566848B1
KR100566848B1 KR1020040073744A KR20040073744A KR100566848B1 KR 100566848 B1 KR100566848 B1 KR 100566848B1 KR 1020040073744 A KR1020040073744 A KR 1020040073744A KR 20040073744 A KR20040073744 A KR 20040073744A KR 100566848 B1 KR100566848 B1 KR 100566848B1
Authority
KR
South Korea
Prior art keywords
circuit
pulse
voltage
signal
write
Prior art date
Application number
KR1020040073744A
Other languages
English (en)
Other versions
KR20050027950A (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 KR20050027950A publication Critical patent/KR20050027950A/ko
Application granted granted Critical
Publication of KR100566848B1 publication Critical patent/KR100566848B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/84Masking faults in memories by using spares or by reconfiguring using programmable devices with improved access time or stability
    • 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
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/12Programming voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • 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/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • 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/30Power supply 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/344Arrangements for verifying correct erasure or for detecting overerased cells

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

펄스 인가 횟수(n)가 12회까지는 전반 펄스로서 펄스 폭이 고정인 2ms로 설정되고, 또한 1회마다 펄스 전압이 증가된다. 또한, 후반 펄스로서 전압이 최대 전압에 도달하기까지는 3ms의 고정 펄스 폭이며, 또한 1회마다 펄스 전압이 증가된다. 최대 전압 도달 이후에는 먼저 펄스 폭 3ms로 2회 펄스가 인가되고, 다음에 최대 전압에서 펄스 폭 4ms로 2회 펄스가 인가되며, 이어 최대 전압에서 펄스 폭 5ms로 2회 펄스가 인가된다. 최대 전압 도달 이후에도 임계치 전압의 시간적 변화를 리니어로 근접시킬 수 있다.
따라서, 프로그램 동작이나 소거 동작을 단시간에 또한 효율적으로 수행할 수 있는 불휘발성 반도체 기억 장치를 제공할 수 있다.
불휘발성 반도체 기억 장치, 메모리 블록, 전원 회로, 제어부, 소거 펄스

Description

불휘발성 반도체 기억 장치{NON-VOLATILE SEMICONDUCTOR MEMORY DEVICE ALLOWING EFFICIENT PROGRAMMING OPERATION AND ERASING OPERATION IN SHORT PERIOD OF TIME}
도1은 본 발명의 불휘발성 반도체 기억 장치1의 구성을 도시한 블록도이다.
도2는 본 발명의 불휘발성 반도체 기억 장치1의 블록 소거 제어를 설명하기 위한 흐름도이다.
도3은 도2의 스텝S1에서 판독되는 변수에 대하여 설명하기 위한 도면이다.
도4는 도2의 소거 펄스 인가를 수행하는 스텝S4의 동작을 상세히 설명하기 위한 흐름도이다.
도5는 소거 펄스 인가가 반복되는 경과를 설명하기 위한 파형도이다.
도6은 펄스 폭을 일정하게 유지한 상태로 펄스 인가를 수행하는 경우의 메모리 셀의 임계치 전압의 변화를 도시한 도면이다.
도7은 도5에 도시된 것과 같은 파형을 인가하는 경우의 임계치 전압의 변화를 도시한 도면이다.
도8은 과소거 상태를 해소하는 오버 이레이즈 리커버리(OER) 동작을 설명하기 위한 도면이다.
도9는 OER시의 전압 인가 상태를 설명하기 위한 도면이다.
도10은 실시예 2의 OER 동작에 있어서 펄스의 인가를 설명하기 위한 도면이다.
도11은 실시예 2에 있어서의 복수 비트 선택의 구성을 설명하기 위한 블록도이다.
도12는 메모리 셀 어레이(20)내의 메모리 블록을 개략적으로 도시한 회로도이다.
도13은 도11의 디코더(14)의 구성을 도시한 회로도이다.
도14는 실시예 2의 블록 소거 제어를 설명하기 위한 흐름도이다.
도15는 채널 핫 일렉트론 주입에 대하여 설명하기 위한 도면이다.
도16은 메모리 트랜지스터의 축소에 따른 셀렉트 트랜지스터의 축소를 설명하기 위한 도면이다.
도17은 메모리 트랜지스터와 셀렉트 트랜지스터의 단면을 도시한 모식도이다.
도18은 실시예 3에 있어서 불휘발성 반도체 기억 장치의 컨트롤 게이트 전위(Vcg)를 제어하는 구성을 설명하기 위한 블록도이다.
도19는 기입 펄스 인가의 검토 예를 설명하기 위한 흐름도이다.
도20은 도19에 도시된 흐름도에 따라 전압을 인가하는 경우의 파형을 도시한 동작 파형도이다.
도21은 실시예 3의 불휘발성 반도체 기억 장치에서 이용되는 기입 펄스의 제어 흐름을 도시한 흐름도이다.
도22는 도21에 도시된 흐름도를 이용하는 경우의 동작을 설명하기 위한 동작 파형도이다.
도23은 도20에 도시된 파형을 부여하는 경우의 임계치 전압 변화의 분산을 설명하기 위한 도면이다.
도24는 도22에 도시된 파형을 부여하는 경우의 임계치 전압 변화의 분산을 설명하기 위한 도면이다.
도25는 로크 비트를 설명하기 위한 도면이다.
도26은 로크 비트를 유지하는 2개의 메모리 트랜지스터의 단면도이다.
도27은 실시예 4에 있어서의 로크 비트를 프로그램하는 동작을 설명하기 위한 흐름도이다.
도28은 도27의 스텝S63 내지 S67가 반복하여 인가되는 상태를 설명하는 동작 파형도이다.
도29는 스텝S69에서 사다리꼴파 2가 인가되는 상태를 설명하기 위한 파형도이다.
도30은 ACC 모드에 관련된 구성을 설명하기 위한 블록도이다.
도31은 도30의 검증 회로(16)의 프로그램에 관한 구성을 도시한 회로도이다.
도32는 실시예 5의 기입 동작을 설명하기 위한 흐름도이다.
도33은 도32에서의 노멀 기입을 실행하는 스텝S72를 보다 상세히 설명한 흐름도이다.
도34는 첫회 펄스 인가 파형을 설명하기 위한 파형도이다.
도35는 도32의 스텝S73의 ACC 기입의 상세 동작을 설명하기 위한 흐름도이다.
도36은 ACC 기입시의 첫회 펄스를 설명하기 위한 파형도이다.
도37은 차지 펌프의 셋업 시간에 대하여 설명하기 위한 도면이다.
도38은 블록 소거시의 차지 펌프의 제어 방법을 검토하기 위한 검토예를 설명하기 위한 블록도이다.
도39는 도38에 도시딘 검토예의 블록 소거 동작을 설명하기 위한 흐름도이다.
도40은 실시예 6의 블록 소거시의 차지 펌프의 제어에 관한 구성을 설명하기 위한 블록도이다.
도41은 도40의 카운터(212)의 구성을 도시한 블록도이다.
도42는 실시예 6의 블록 소거 동작을 설명하기 위한 흐름도이다.
도43은 스페어 메모리 셀 어레이에 대한 기입 동작을 설명하기 위한 블록도이다.
도44는 도43의 노멀 디코더(260), 노멀 메모리 셀 어레이(264) 및 스페어 디코더(262), 스페어 메모리 셀 어레이(266)의 구성을 설명하기 위한 회로도이다.
도45는 도44의 셀렉터(282)의 구성을 도시한 회로도이다.
도46은 도44에 도시된 구성의 스페어 선택에 관한 변형예를 도시한 도면이다.
도47은 도46의 4분의 1 선택 회로(374)의 구성을 도시한 회로도이다.
<도면의 주요 부분에 대한 부호의 설명>
1 : 불휘발성 반도체 기억 장치
2, 2a : 커맨드 유저 인터페이스부
4 : 내부 클럭 발생부
6, 6a : CPU
8 : ROM
10, 10a : 전원 제어 회로
12, 142, 144, 258 : 전원 회로
14 : 디코더
16 : 검증 회로
18 : 페이지 버퍼
20 : 메모리 셀 어레이
22, 24, 26, 28 : 트랜지스터
30 - 69 : 메모리 트랜지스터
82 : 비트선 디코드 회로
84 : 워드선 디코드 회로
86 : 게이트 회로
90 - 93, 100 - 113, 164, 174, 208, 256, 256a, 292 - 298, 362, 364 : OR 회로
168 : 게이트 회로
98 : 워드선 드라이브
120 - 123, 180, 202 - 206, 302 - 308, 366, 370 : AND 회로
140, 210, 212 : 카운터
146 : 검출기
148 : 차지 펌프
150 : 내부 회로
152 : 비교 회로
162, 166, 232, 236 : 래치회로
170, 172, 178 : NAND 회로
176 : 게이트
179 : 셀렉터
192 : 튜닝 퓨즈 회로
194 : 선택 신호 발생 회로
196 - 200 : 디코드 회로
221 - 226 : 보유 회로
228 : 가산기
234, 238, 282 - 288 : 셀렉터
252 : 중복 판정 회로
254 : TEST 회로
260 : 노멀 디코더
262, 262a : 스페어 디코더
264 : 노멀 메모리 셀 어레이
266 : 스페어 메모리 셀 어레이
272 - 278, 312 - 318, 368, 372 : 버퍼 회로
322 - 328, 342 - 350, 382 - 390 : 트랜지스터
374, 376 : 선택 회로
BLO - BL3 : 비트선
LBL : 로크 비트선
MBL : 메인 비트선
MBL[0] - MBL[31] : 비트선
MBLSP[0] - MBLSP[7] : 스페어 비트선
SG[0] - SG[3] : 셀렉트 게이트선
SL : 소스선
WL : 워드선
WL0 - WL255 : 워드선
본 발명은 불휘발성 반도체 기억 장치에 관한 것으로, 특히 메모리 블록의 일괄 소거가 가능한 플래시 메모리에 관한 것이다.
불휘발성 반도체 기억 장치, 특히 플래시 메모리는 전지 구동의 휴대형 기기에 최근 활발히 탑재되며, 보다 효율이 좋은 기입 방법이나 소거 방법이 요구되고 있다.
그 일례로서, 특개평11-191296호 공보에는 불휘발성 메모리 셀을 위한 제어된 핫 일렉트론 기입 방법에 관한 기술이 개시되어 있다. 이 기입 방법에서는 셀 기입의 최적화가 도모되고 있다. 특히, 프로그램과 소거후의 소프트 기입에 대응하여 셀의 기판은 소스 영역에 대하여 마이너스의 전압으로 바이어스되고, 또한 셀의 제어 게이트 영역은 평형 조건을 만족시키는 선택된 미리 정해진 경사를 갖는 램프 전압을 입력받는다.
휴대 단말기의 보다 경쾌한 동작이나 장시간의 동작을 실현하기 위하여, 플래시 메모리의 내부 동작 시퀀스, 예를 들면 프로그램 동작이나 소거 동작을 한층 효율 좋게 할 필요가 있다.
본 발명의 목적은, 프로그램 동작이나 소거 동작을 단시간에 또한 효율적으로 수행할 수 있는 불휘발성 반도체 기억 장치를 제공하는 것이다.
본 발명은, 불휘발성 반도체 기억 장치에 있어서, 불휘발성으로 데이터를 기억하는 복수의 메모리 셀을 포함하는 메모리 블록과, 복수의 메모리 셀로 인가되는 전압을 발생하는 전원 회로와, 전원 회로를 제어하여 메모리 블록의 복수의 메모리 셀에 일괄적으로 소거 펄스를 인가하는 제어부를 구비한다. 제어부는 소거 펄스를 반복하여 인가할 때에 소거 펄스의 전압이 인가 최대 전압치에 도달할 때까지는 제 1 고정 펄스 폭으로 소거 펄스의 전압을 인가 횟수에 대응하여 증가시키고, 소거 펄스의 전압이 인가 최대 전압치에 도달하면 인가 횟수에 대응하여 소거 펄스의 펄스 폭을 증가시킨다.
본 발명의 다른 국면에 따르면, 불휘발성 반도체 기억 장치에 있어서, 불휘발성으로 데이터를 기억하는 복수의 메모리 셀을 포함하는 메모리 블록과, 복수의 메모리 셀로 인가되는 전압을 발생하는 전원 회로와, 복수의 메모리 셀의 일부를 선택하기 위하여 어드레스 신호를 디코드하는 디코드 회로를 구비한다. 디코드 회로는 어드레스 신호에 대응하여 일부를 선택하는 제1 동작과, 어드레스 신호에 대응하여 일부에 더하여 다른 영역을 다중으로 선택하는 제2 동작을 제어 신호에 따라 전환 실행한다. 불휘발성 반도체 기억 장치는 전원 회로 및 상기 디코드 회로를 제어하여 메모리 블록의 소거를 수행하는 제어부를 더 구비한다. 제어부는 메모리 블록이 제1 소거 상태가 된 이후에 제어 신호를 통해 디코드 회로에 제2 동작을 수행시키고, 메모리 블록에 대하여 과소거 리커버리 펄스를 인가시킨다.
본 발명의 또 다른 국면에 따르면, 불휘발성 반도체 기억 장치에 있어서, 불휘발성으로 데이터를 기억하는 복수의 메모리 트랜지스터를 포함하는 메모리 블록과, 복수의 메모리 트랜지스터의 컨트롤 게이트로 인가되는 게이트 전압과 드레인으로 인가되는 드레인 전압을 발생하는 전원 회로와, 게이트 전압의 목표 전압치에 상당하는 카운터 값을 클럭 신호에 대응하여 카운트 업하는 카운터와, 전원 회로를 제어하는 제어부를 구비한다. 제어부는 전원 회로에 드레인 전압의 활성화를 지시하고, 그 후 카운트 값의 초기치를 카운터에 세트시키고, 카운터의 카운트 업 동작 의 스타트 및 스톱을 제어한다.
본 발명의 또 다른 국면에 따르면, 통상의 기입 모드와 가속 기입 모드를 갖는 불휘발성 반도체 기억 장치에 있어서, 불휘발성으로 데이터를 기억하는 복수의 메모리 셀을 포함하는 메모리 블록과, 기입시 처음에 기입 데이터가 세트되며 일시적으로 데이터를 유지하는 완충 기억부와, 메모리 블록으로부터의 판독 데이터와 상기 완충 기억부의 유지값을 입력받아 메모리 블록에 기입 펄스를 인가하기 위한 정보를 출력하는 검증 회로를 구비한다. 검증 회로는 완충 기억부의 유지값과 판독 데이터를 비교하여 완충 기억부의 유지값을 갱신하고 정보를 출력하는 제1 동작과, 완충 기억부의 유지값을 그대로 정보로서 출력하는 제2 동작을 실행한다. 불휘발성 반도체 기억 장치는 검증 회로의 제어를 수행하는 제어부를 더 구비한다. 제어부는 통상의 기입 모드에서 검증 회로에 제1 동작을 실행시키므로써 첫번째 기입 펄스를 위한 정보를 출력하고, 가속 기입 모드에서 검증 회로에 제2 동작을 실행시키므로써 첫번째 기입 펄스를 위한 정보를 출력시킨다.
본 발명의 또 다른 국면에 따르면, 불휘발성 반도체 기억 장치에 있어서, 불휘발성으로 데이터를 기억하는 복수의 메모리 트랜지스터를 포함하는 메모리 블록과, 복수의 메모리 트랜지스터로 인가되는 전압을 발생하는 전원 회로와, 전압의 목표 전압치에 상당하는 카운트 값을 클럭 신호에 대응하여 카운트 업하는 카운터와, 전원 회로를 제어하는 제어부를 구비한다. 제어부는 메모리 블록의 일괄 소거가 지시되면 카운트 값의 초기치를 카운터에 세트시키고, 카운터의 카운트 업 동작의 스타트 및 스톱을 제어한다.
본 발명의 또 다른 국면에 따르면, 불휘발성 반도체 기억 장치에 있어서, 노멀 메모리 셀 어레이와, 스페어 메모리 셀 어레이와, 어드레스 신호에 대응하여 노멀 메모리 셀 어레이의 일부를 선택하는 노멀 디코드 회로와, 어드레스 신호를 입력받아 중복 판정을 수행하는 중복 판정 회로와, 중복 판정 회로의 출력을 테스트 신호에 대응하여 강제적으로 활성화시키는 게이트 회로와, 게이트 회로의 출력과 어드레스 신호에 대응하여 스페어 메모리 셀 어레이의 일부를 선택하는 스페어 디코드 회로를 구비한다. 스페어 디코드 회로는 테스트 신호의 활성화시 어드레스 신호가 인크리먼트되면 복수회에서 1회의 비율로 스페어 메모리 셀 어레이의 특정 부분을 선택한다.
본 발명에 따르면, 최대 전압에 펄스 전압이 도달한 이후에도 임계치 전압의 변화를 리니어로 근접시킬 수 있다.
따라서, 블록 소거 시간을 단축시킬 수 있으므로, 고속으로 소거 가능하고 효율적으로 동작시킬 수 있는 불휘발성 반도체 기억 장치를 제공할 수 있다.
본 발명의 상기 및 다른 목적, 특징, 국면 및 이점이 첨부 도면과 관련하여 이해되는 본 발명에 관한 다음의 상세한 설명에서 명확해질 것이다.
이하, 본 발명의 실시예에 대하여 도면을 참조하여 상세히 설명한다. 또한, 도면중 동일 부호는 동일 또는 상당 부분을 도시한다.
[실시예 1]
도1은 본 발명의 불휘발성 반도체 기억 장치(1)의 구성을 도시한 블록도이 다.
도1을 참조하면, 불휘발성 반도체 기억 장치(1)는 외부로부터 주어지는 데이터 신호(DIN), 어드레스 신호(ADR) 및 커맨드 신호(CMD)를 입력받아 내부 블록으로 분배하는 커맨드 유저 인터페이스부(2)와, 커맨드 유저 인터페이스부(2)로부터의 지시에 응답하여 내부 클럭(ICLK)을 발생하는 내부 클럭 발생부(4)와, 커맨드 유저 인터페이스부(2)로부터 커맨드 신호(CMD)를 입력받고 내부 클럭 발생부(4)로부터 내부 클럭 신호(ICLK)를 입력받아 불휘발성 반도체 기억 장치(1)의 전체 제어를 수행하는 CPU(중앙 연산 유니트)(6)와, CPU(6)와 데이터를 주고 받는 리드 온리 메모리(ROM)(8)를 포함한다.
불휘발성 반도체 기억 장치(1)는 또한 전원 회로(12)와, CPU(6)의 지시에 따라 전원 회로(12)를 제어하는 전원 제어 회로(10)와, 전원 회로(12)에서 발생되는 고전압이나 마이너스 전압을 전원 제어 회로(10)를 경유하여 주어지는 어드레스 신호(ADR)에 대응하여 분배하는 디코더(14)를 포함한다.
불휘발성 반도체 기억 장치(1)는 또한 페이지 버퍼(18)와, 검증 회로(16)와, 메모리 셀 어레이(20)를 포함한다.
검증 회로(16)는 소거시에 메모리 셀 어레이에 소거 펄스를 인가한 후, 메모리 셀 어레이의 데이터를 판독하여 소거가 완료되었는지 여부를 확인한다. 또한, 검증 회로(16)는 기입시에 외부로부터 주어지는 데이터 신호(DIN)와 메모리 셀 어레이의 유지 데이터의 판독 결과를 비교하여 프로그램 펄스를 인가할 필요가 있는지 여부를 판단한다.
페이지 버퍼(18)는 완충 기억부로, 일시적으로 데이터를 보유한다. 페이지 버퍼(18)에는 기입시에 검증 회로(16)를 경유하여 기입 데이터가 처음에 세트되며, 그 후 계속해서 검증 회로(16)에 의해 비교된 결과가 기입된다.
메모리 셀 어레이(20)는 복수의 메모리 블록을 포함한다. ROM(8)에 기록된 소프트웨어의 명령에 따라 CPU(6)가 전원 제어 회로(10)에 제어 신호를 보내어 전원 회로(12)를 제어한다. 구체적으로, 전원 제어 회로(10)는 전원 회로(12)내에 있는 도시되지 않은 차지 펌프 회로에 대한 목표 전압치을 설정하고, 차지 펌프 회로는 그 목표 전압치에 따른 전압을 발생시킨다. 여기서 발생된 전압을 최종적으로 메모리 셀 어레이내의 메모리 블록에 일괄 인가함으로써, FN(Fowler-Nordheim) 터널 현상을 일으킨다. 이러한 전압 인가를 소거 펄스의 인가라 한다.
도2는 본 발명의 불휘발성 반도체 기억 장치(1)의 블록 소거 제어를 설명하기 위한 흐름도이다.
도2를 참조하면, 소정의 소거 커맨드가 입력되어 블록 소거 동작이 개시되면 스텝S1에서 변수의 판독이 이루어진다.
도3은 도2의 스텝S1에서 판독되는 변수에 대하여 설명하기 위한 도면이다.
도3을 참조하면, 변수 X는 펄스 인가 횟수로, 예를 들면 13회와 같이 설정된다. 변수 △V1은 소거 펄스 전압의 증가분치를 도시하며, 예를 들면 O.1, O.1, O.2···(V)와 같은 배열이 설정된다. 변수 △V1은 배열이 아니라 O.1(V) 고정이어도 된다. 변수 △V2는 소거 펄스 전압의 증가분치를 도시하며, 예를 들면 O.2, O.3, 0.5···(V)와 같은 배열이 설정된다. 변수 △V2는 배열이 아니라 O.2(V) 고정이어도 된다.
변수 A는 펄스 폭을 나타내며, 예를 들면 2(ms)와 같은 값이 설정된다. 변수 B는 펄스 폭을 나타내며, 예를 들면 3(ms)와 같은 값이 설정된다. 변수 K는 펄스 연속 인가 횟수를 나타내며, 예를 들면 2(회)와 같은 값이 설정된다. 변수 △t는 펄스 폭의 증가분치를 나타내며, 예를 들면 1, 1, 1···(ms)와 같은 배열이 설정된다. 이와 같이 각종 파라미터를 변수로 하고 판독되도록 하면, 메모리 트랜지스터의 특성이 서로 다른 경우에도 변수를 변경하는 것만으로 대응할 수 있다.
다시 도2를 참조하면, 스텝S1의 변수 판독이 종료되면 계속해서 스텝S2로 나아간다. 스텝S2에서는 펄스 인가 횟수나 펄스 전압의 초기화가 수행된다. 그리고 스텝S3로 나아간다. 스텝S3에서는 소거 검증이 이루어진다. 소거 검증 스텝에서는 도1의 검증 회로(16)가 메모리 셀 어레이(20)로부터 데이터를 판독함으로써 소거가 완료되었는지 여부가 판단된다. 그리고, 스텝S3에서 소거 검증이 페일되면 스텝S4로 나아가 후술되는 소거 펄스의 인가가 수행된다. 그리고, 스텝S3로 다시 되돌아가 소거 검증이 이루어진다.
스텝S3에서 소거 검증이 패스되면 블록 소거 동작이 종료된다.
도4는 도2의 소거 펄스 인가를 수행하는 스텝S4의 동작을 상세히 설명하기 위한 흐름도이다.
도4를 참조하면, 스텝S4의 소거 펄스 인가 동작이 스타트되면 먼저 스텝S11에서 펄스 인가 횟수(n)가 X보다 작은지 여부가 판단된다. X는 도3의 변수에 대한 설명의 예에서 예를 들면 13회이었다. 스텝S11에서 펄스 인가 횟수(n)가 변수 X보 다 작은 경우에는 스텝S12로 나아가 펄스 폭 고정(A)이고 펄스 전압 V인 펄스 인가가 수행된다. 그리고, 스텝S13으로 나아가 펄스 전압(V)을 1스텝 증가되도록 설정한다.
도5는 소거 펄스 인가가 반복되는 경과를 설명하기 위한 파형도이다.
변수 X가 13인 경우, 펄스 인가 횟수(n)가 12회까지는 펄스 폭이 고정인 A(예를 들면 2ms)로 설정되며 또한 1회 마다 펄스 전압이 증가된다. 예를 들면, 이 펄스 전압의 증가는 도2에 도시된 바와 같이 변수 △V1로 유지되어 있는 배열에 의해 정해진다. 또한, 배열이 아니더라도 증가분을 고정치로 하여도 된다.
다시 도4를 참조하면, 스텝S13가 종료되면 스텝S20으로 나아가 펄스 인가 횟수(n)는 1 증가된다. 그리고, 도2에 도시된 바와 같이 펄스 인가가 종료되면 다시 스텝S3의 소거 검증이 수행된다. 이와 같이 펄스 인가 횟수가 X를 넘을 때까지는 스텝S11, S12, S13, S20의 순서로 펄스 인가가 반복된다. 이는 도5에 전반 펄스로 기재되어 있는 부분에 상당한다.
스텝S11에서 펄스 인가 횟수(n)가 X보다 작지 않은 경우에는 스텝S14로 나아가 펄스 전압(V)이 최대 전압(Vmax)으로 되었는지 여부가 판단된다. 펄스 전압(V)이 아직 최대 전압(Vmax)에 도달하지 않은 경우에는 스텝S15로 나아가 펄스 폭 고정(B)이고 펄스 전압 V인 펄스 인가가 이루어지고, 스텝S16으로 나아가 펄스 전압(V)을 1 스텝 증가시킨다. 스텝S16가 종료되면 스텝S20으로 나아가 펄스 인가 횟수(n)의 인크리먼트가 이루어진다.
스텝S15, S16를 통과하는 처리 경로는 도5의 후반 펄스의 인가에 상당한다. 후반 펄스의 인가에서는, 예를 들어 도3에 도시된 바와 같이 펄스 폭을 나타내는 변수 B가 3ms로 설정된 경우에 3ms의 펄스 폭이고 펄스 전압이 최대 전압에 도달할 때까지 펄스가 인가된다.
다시 도4를 참조하면, 스텝S14에서 펄스 전압(V)이 최대 전압(Vmax)에 도달한 경우에는 스텝S17로 나아간다. 스텝S17에서는 현재의 펄스 폭으로 K회 인가되었는지 여부가 판단된다. 도5의 파형은 K가 2인 경우의 예이다. 아직 K회 인가되지 않은 경우에는 스텝S18로 나아가 현재의 펄스 폭으로 다시 한번 펄스 전압(Vmax)을 인가한다. 스텝S18이 종료되면 스텝S20으로 나아가 펄스 인가 횟수(n)가 인크리먼트된다.
한편, 스텝S17에서 현재의 펄스 폭으로 K회 인가되었다고 판단된 경우에는 스텝S19로 나아가 펄스 폭을 1스텝 만큼 증가시킨다. 그리고, 펄스 전압(Vmax)을 인가한다. 스텝S19가 종료되면 스텝S20으로 나아가 펄스 인가 횟수(n)가 인크리먼트된다.
도5에 도시된 바와 같이, 스텝S18, S19를 통과하는 경로는 최대 전압 도달후 먼저 펄스 폭 3ms로 2회 펄스가 인가되고, 다음에는 최대 전압인 펄스 폭 4ms로 2회 펄스가 인가되며, 또한 계속해서 최대 전압인 펄스 폭 5ms로 2회 펄스가 인가되는 펄스 인가 동작에 상당한다. 이와 같이 최대 전압(Vmax)을 넘을 때까지는 펄스 인가 전압을 증가시키지 않는다. 이는 도1의 전원 회로로부터 디코더를 통해 메모리 셀 어레이(20)에 전압을 인가하는 경로의 트랜지스터 내압을 넘지 않도록 하기 위해서이다.
도6은 펄스 폭을 일정하게 유지한 상태로 펄스 인가를 수행하는 경우의 메모리 셀의 임계치 전압의 변화를 도시한 도면이다.
도7은 도5에 도시된 것과 같은 파형을 인가하는 경우의 임계치 전압의 변화를 도시한 도면이다.
도6, 도7을 참조하면, 펄스 폭을 고정하여 계속 인가하는 경우에 도6에 도시된 바와 같이 최대 전압으로 인가 펄스의 전압치가 도달한 이후에는 임계치 전압의 변화가 펄스 인가 횟수에 대하여 리니어하지 않는다. 한편, 도5에 도시된 바와 같이 최대 전압 도달 이후에 1회당 펄스 폭을 서서히 길게하면 최대 전압으로 펄스 전압이 도달한 이후에도 임계치 전압의 변화를 도6의 경우보다 리니어에 근접시킬 수 있다. 따라서, 블록 소거 시간을 단축시킬 수가 있으므로, 고속으로 소거 가능하고 효율적으로 동작 가능한 불휘발성 반도체 기억 장치를 제공할 수 있다.
[실시예 2]
도8은 과소거 상태를 해소하는 오버 이레이즈 리커버리(OER) 동작을 설명하기 위한 도면이다.
도8을 참조하면, 프로그램 상태에 있으며 임계치가 높게 되어 있는 메모리 블록내의 메모리 셀에 소거 펄스를 일괄 인가하면, 임계치 전압이 작아지는 쪽으로 메모리 셀의 임계치 전압의 분포가 이동한다. 메모리 블록내의 모든 메모리 셀이 임계치 전압(Vth) 이하로 그 임계치가 변화될 때까지 소거 펄스를 일괄 인가하면, 소거시의 임계치 전압의 하한인 임계치 전압(Vth1)보다 임계치 전압이 작아지는 메모리 셀이 존재하게 된다. 이와 같은 메모리 셀을 과소거 비트라 한다면, 메모리 셀의 비트마다 채널 핫 일렉트론(CHE)을 발생시켜 이 과소거 비트를 임계치 전압(Vth1)보다 임계치 전압이 커지도록 소정의 임계치 전압의 분포내로 되돌리기 위한 동작이 있다. 이 동작을 오버 이레이즈 리커버리(이하 OER)라 부른다.
도9는 OER시의 전압 인가 상태를 설명하기 위한 도면이다.
도9를 참조하면, 메모리 셀 트랜지스터의 소스 전위(Vs)는 0V로 설정된다. 기판 전위(Vsub)는 마이너스 전위, 예를 들면 -1.2V로 설정된다. 드레인 전위는 플러스 전위, 예를 들면 +4.8V로 설정된다.
이 상태에서 제어 전극(컨트롤 게이트라고도 부른다)의 전위(Vcg)를, 예를 들면 2V 정도로 설정하면 임계치 전압이 작은 메모리 셀 트랜지스터에는 많은 드레인 전류(Id)가 흐르고, 임계치 전압이 비교적 높은 트랜지스터에는 드레인 전류(Id)가 거의 흐르지 않는다. 복수의 메모리 셀 트랜지스터에 이러한 전압 인가를 동시에 수행하면, 임계치 전압이 낮은 메모리 셀 트랜지스터에 선택적으로 임계치 전압의 변화가 발생하게 된다. 이와 같이 드레인 전류를 흘려 채널 핫 일렉트론을 발생시켜 임계치 전압을 상승시키면 비트마다 정밀하게 제어할 수 있다는 이점이 있다. 그러나, 드레인 전류가 크기 때문에 블록에 일괄적으로 이러한 채널 핫 일렉트론에 의한 기입을 실시할 수는 없다.
한편, 소거 펄스를 인가하는 경우에는 FN 터널 전류를 기판으로부터 부유 게이트(플로팅 게이트라고도 부른다)로 흘려 보내 임계치 전압을 변화시킨다. 이 FN 터널 전류의 전류치는 그다지 크지 않기 때문에 메모리 블록에 일괄적으로 소거나 기입을 수행할 수 있지만 그다지 정밀하게 기입할 수는 없다. 정밀하게 기입을 수 행하기 위하여 블록보다 작은 단위로 전류를 인가하려면 인가 단위마다 메모리 셀을 형성하는 웰을 분리할 필요가 있으므로, 메모리 셀 어레이의 레이아웃 면적이 커져 현실적이지 않다.
도10은 실시예 2의 OER 동작에서의 펄스 인가를 설명하기 위한 도면이다.
도10을 참조하면, 통상 OER 동작에서는 펄스를 비트마다 인가하고, 그 때마다 검증 동작을 수행하여 임계치 전압이 소정의 전압보다 높아졌는지 여부를 확인하여 더욱 펄스를 인가할지 여부를 결정하고 있다. 그러나, 전술한 바와 같이 제어 전극의 전위(Vcg)를 넘어서까지 임계치 전압이 시프트하는 일은 없다. 이는 드레인 전류가 임계치 전압의 상승에 의해 흐르지 않게 되기 때문에 채널 핫 일렉트론이 발생하지 않기 때문이다. 따라서, 시간 단축을 위하여 펄스 인가마다 검증 동작을 수행하지는 않는다.
도10에 도시된 바와 같이, 타깃 시간에 도달할 때까지 펄스를 계속 인가하고, 타깃 시간에 도달하면 펄스 인가를 정지시키는 것이 좋다. 첫번째 펄스 인가에 의해 P1으로 도시된 바와 같이 임계치 전압은 상승한다. 2회째 펄스 인가시(P2)에는 P1만큼의 임계치 전압의 변화는 없다. 그리고, 타깃 시간에 상당하는 횟수 인가시(Pmax)에는 임계치 전압의 변화가 거의 발생하지 않는다.
그리고, 실시예 2에서는 소거 시간의 단축을 위하여 OER 동작시에 복수의 비트에 대하여 동시에 펄스를 인가한다. 드레인 전류를 블록에 일괄적으로 흘려 보내는 것은 전류 공급 능력 사정상 곤란하지만, 수 비트 정도라면 드레인 전류를 흘려 보내는 것이 가능하기 때문이다.
도11은 실시예 2의 복수 비트 선택의 구성을 설명하기 위한 블록도이다.
도11을 참조하면, CPU(6)는 복수 비트를 선택하기 위한 제어 신호(MM1 내지 MM3)를 디코더(14)로 출력한다. 디코더(14)는 어드레스 신호(A0 내지 A22)와 제어 신호(MM1 내지 MM3)를 입력받아 워드선(WL), 셀렉트 게이트선(SG) 및 메인 비트선(MBL)을 선택하고, 메모리 셀 어레이(20)중에서 OER를 수행할 메모리 셀을 지정한다.
도12는 메모리 셀 어레이(20)내의 메모리 블록을 개략적으로 도시한 회로도이다.
도12를 참조하여 메인 비트선(MBL) 1개당의 구성에 대하여 설명한다.
메모리 셀 어레이(20)는 선택용 트랜지스터(22, 24, 26, 28)를 포함한다. 선택용 트랜지스터(22, 24, 26, 28)는 셀렉트 게이트선(SG0 내지 SG3)에 대응하여 각각 비트선(BL0 내지 BL3)을 선택한다.
메모리 셀 어레이(20)는 또한 소스선(SL)에 각각의 소스가 접속되고, 비트선(BL0)에 각각의 드레인이 접속되며, 워드선(WL0, WLl, WL2, WL3)에 각각의 게이트가 접속되는 메모리 트랜지스터(30, 31, 32, 33)를 포함한다. 메모리 트랜지스터는 컨트롤 게이트와 기판 사이에 부유 게이트가 개재된 2층 게이트(M0S) 트랜지스터이다.
메모리 셀 어레이(20)는 또한 소스선(SL)에 각각의 소스가 접속되고, 비트선(BL0)에 각각의 드레인이 접속되고, 워드선(WL252, WL253, WL254, WL255)에 각각의 게이트가 접속되는 메모리 트랜지스터(36, 37, 38, 39)를 포함한다.
메모리 셀 어레이(20)는 또한 소스선(SL)에 각각의 소스가 접속되고, 비트선(BL1)에 각각의 드레인이 접속되고, 워드선(WL0, WL1, WL2, WL3)에 각각의 게이트가 접속되는 메모리 트랜지스터(40, 41, 42, 43)를 포함한다.
메모리 셀 어레이(20)는 또한 소스선(SL)에 각각의 소스가 접속되고, 비트선(BL1)에 각각의 드레인이 접속되고, 워드선(WL252, WL253, WL254, WL255)에 각각의 게이트가 접속되는 메모리 트랜지스터(46, 47, 48, 49)를 포함한다.
메모리 셀 어레이(20)는 또한 소스선(SL)에 각각의 소스가 접속되고, 비트선(BL2)에 각각의 드레인이 접속되고, 워드선(WL0, WL1, WL2, WL3)에 각각의 게이트가 접속되는 메모리 트랜지스터(50, 51, 52, 53)를 포함한다.
메모리 셀 어레이(20)는 또한 소스선(SL)에 각각의 소스가 접속되고, 비트선(BL2)에 각각의 드레인이 접속되고, 워드선(WL252, WL253, WL254, WL255)에 각각의 게이트가 접속되는 메모리 트랜지스터(56, 57, 58, 59)를 포함한다.
메모리 셀 어레이(20)는 또한 소스선(SL)에 각각의 소스가 접속되고, 비트선(BL3)에 각각의 드레인이 접속되고, 워드선(WL0, WL1, WL2, WL3)에 각각의 게이트가 접속되는 메모리 트랜지스터(60, 61, 62, 63)를 포함한다.
메모리 셀 어레이(20)는 또한 소스선(SL)에 각각의 소스가 접속되고, 비트선(BL3)에 각각의 드레인이 접속되고, 워드선(WL252, WL253, WL254, WL255)에 각각의 게이트가 접속되는 메모리 트랜지스터(66, 67, 68, 69)를 포함한다.
도13은 도11의 디코더(14)의 구성을 도시한 회로도이다.
도13을 참조하면, 디코더(14)는 어드레스 신호(A5, A7)에 대응하여 셀렉트 게이트선(SG0 내지 SG3)을 활성화시키는 비트선 디코드 회로(82)와, 어드레스 신호(A6, A8)에 대응하여 워드선(WLO 내지 WL3)을 선택하는 워드선 디코드 회로(84)를 포함한다.
비트선 디코드 회로(82)는 도시되지 않은 프리 디코드 회로에서 프리 디코드된 신호를 제어 신호(MM1)로 마스크하고, 셀렉트 게이트선(SG0 내지 SG3)을 일괄적으로 활성화시킬 수 있는 게이트 회로(86)를 포함한다.
게이트 회로(86)는 프리 디코드 신호(/A5·/A7)와 제어 신호(MM1)를 입력받아 셀렉트 게이트선(SG0)을 활성화시키는 OR 회로(90)와, 프리 디코드 신호(A5·/A7)와 제어 신호(MM1)를 입력받아 셀렉트 게이트선(SG1)을 활성화시키는 OR 회로(91)와, 프리 디코드 신호(/A5·A7)와 제어 신호(MM1)를 입력받아 셀렉트 게이트선(SG2)을 활성화시키는 OR 회로(92)와, 프리 디코드 신호(A5·A7)와 제어 신호(MM1)를 입력받아 셀렉트 게이트선(SG3)을 활성화시키는 OR 회로(93)를 포함한다.
워드선 디코드 회로(84)는 글로벌 워드선(GWL0)이 선택되었을 때에 선택 신호(SLO 내지 SL3)에 대응하여 워드선(WL0 내지 WL3)을 각각 선택하는 워드선 드라이버(98)와, 어드레스 신호(A6, A8) 및 제어 신호(MM2, MM3)에 대응하여 선택 신호(SLO 내지 SL3)를 출력하는 게이트 회로(96)를 포함한다.
게이트 회로(96)는 어드레스 신호(/A6)와 제어 신호(MM2)를 입력받는 OR 회로(100)와, 어드레스 신호(A6)와 제어 신호(MM2)를 입력받는 OR 회로(101)와, 어드레스 신호(/A6)와 제어 신호(MM2)를 입력받는 OR 회로(102)와, 어드레스 신호(A6)와 제어 신호(MM2)를 입력받는 OR 회로(103)를 포함한다.
게이트 회로(96)는 또한 어드레스 신호(/A8)와 제어 신호(MM3)를 입력받는 OR 회로(110)와, 어드레스 신호(/A8)와 제어 신호(MM3)를 입력받는 OR 회로(111)와, 어드레스 신호(A8)와 제어 신호(MM3)를 입력받는 OR 회로(112)와, 어드레스 신호(A8)와 제어 신호(MM3)를 입려받는 OR 회로(113)를 포함한다.
게이트 회로(96)는 또한 OR 회로(100)의 출력과 OR 회로(110)의 출력을 입력받아 선택 신호(SL0)를 출력하는 AND 회로(120)와, OR 회로(101)의 출력과 OR 회로(111)의 출력을 입력받아 선택 신호(SL1)를 출력하는 AND 회로(121)와, OR 회로(102)의 출력과 OR 회로(112)의 출력을 입력받아 선택 신호(SL2)를 출력하는 AND 회로(122)와, OR 회로(103)의 출력과 OR 회로(113)의 출력을 입력받아 선택 신호(SL3)를 출력하는 AND 회로(123)를 포함한다.
도12, 도13에서 알 수 있듯이, 제어 신호(MM1)가 활성화되면 셀렉트 게이트선(SG0 내지 SG3)이 일괄적으로 활성화됨에 따라 4개의 비트선이 동시에 선택되고 이에 기입 데이터가 전달된다.
또한, 제어 신호(MM2)가 H레벨이고 제어 신호(MM3)가 L레벨인 경우에는 어드레스 신호(A6)에 관계 없이 어드레스 신호(A8)가 H레벨인 경우에 워드선(WL2, WL3)이 동시에 선택된다. 또한, 어드레스 신호(/A8)가 H레벨인 경우에는 워드선(WL0, WL1)이 동시에 선택된다.
제어 신호(MM2, MM3)가 모두 H레벨로 선택되면 선택 신호(SL0 내지 SL3)는 H레벨로 모두 활성화되며, 글로벌 워드선(GWL0)이 선택된 때에는 워드선(WLO 내지 WL3)이 일괄적으로 선택된다. 이와 같이 제어 신호(MM1 내지 MM3)를 제어함으로 써, OER시에 선택되는 메모리 셀의 수를 바꿀 수 있다. 메모리 셀의 전류 특성과 전원 회로의 전원 전류 공급 능력의 밸런스에 의해 한번에 선택할 수 있는 셀의 수가 변한다. 이에 대응하기 위하여, 멀티 선택하는 메모리 트랜지스터의 수를 CPU로부터의 명령에 의해 자유롭게 변경 가능하게 하고 있다.
또한, 선택 수의 설정은 제어 신호(MM1 내지 MM3)를 변화시킴으로써, 출력이 16비트인 경우, 즉 데이터 출력 단자가 16인 경우에는 다음과 같이 변화시킬 수 있다.
먼저, 제어 신호(MM1 내지 MM3)가 모두 L레벨인 경우에는 1워드, 즉 1개의 출력 단자당 1개의 메모리 트랜지스터에 대한 OER 동작이 이루어진다. 이는 통상의 OER과 동일하여 시간은 걸리지만 전원 회로의 전류 공급 능력에 여유가 있으므로, 확실하게 임계치 전압을 시프트시킬 수 있다.
다음으로, 제어 신호(MM1)를 H레벨로 설정하고 제어 신호(MM2, MM3)를 L레벨로 설정하는 경우에는 4워드 멀티 선택이 가능하다. 이 경우에는, OER 동작에 있어서의 어드레스 인크리먼트로서, 어드레스 신호 비트(A<14:8>, A<6>, A<4:0>)를 순차 인크리먼트할 필요가 있다.
제어 신호(MMl, MM2)를 H레벨로 설정하고 제어 신호(MM3)를 L레벨로 설정하는 경우에는 8워드의 멀티 선택이 가능하다. 이 경우에 어드레스 인크리먼트는 어드레스 신호 비트(A<14:8>, A<4:0>)를 순차 인크리먼트한다.
제어 신호(MM1 내지 MM3)를 전부 H레벨로 설정하면 16워드의 멀티 선택이 가능하다. 이 경우에는 어드레스 신호 비트(A<14:9>, A<4:0>)를 순차 인크리먼트한 다. 이들 모든 어드레스 인크리먼트 방법은 ROM(8)에 저장된 소프트웨어의 코드가 CPU(6)에서 판독되는 것에 의해 제어된다.
도14는 실시예 2의 블록 소거 제어를 설명하기 위한 흐름도이다.
도14를 참조하면, 블록 소거가 개시되면 먼저 스텝S30에서 소거 검증이 이루어진다. 소거 검증이 페일인 경우에는 도8의 임계치 전압(Vth2)보다 임계치 전압이 작아질 때까지 스텝S31에서 소거 펄스의 인가가 메모리 블록 전체에 대하여 일괄적으로 이루어진다. 이 경우에 소거 펄스의 인가는 FN 터널 전류에 의한 임계치 전압의 변화를 일으킨다.
스텝S30에서 소거 검증이 패스되면 스텝S32로 나아가 초기 설정 동작이 수행된다. 이 초기 설정 동작에서는 OER 펄스의 인가 횟수의 최대 수(MAX)의 설정이나 제어 신호(MM1 내지 MM3)의 설정 등이 이루어진다.
그리고, 스텝S33으로 나아가 OER 펄스의 인가 횟수(n)가 타깃 시간에 대응하는 횟수(MAX)와 일치하는지 여부가 판단된다. 아직 횟수가 MAX에 도달하지 않은 경우에 스텝S34로 나아가 도10의 P1으로 도시한 것처럼 오버 이레이즈 리커버리 기입 펄스의 인가가 이루어져 임계치 전압은 상승된다. 그리고, 스텝S35로 나아가 OER 펄스 인가 횟수(n) 인크리먼트가 이루어지고 스텝S33으로 되돌아간다.
이와 같이 스텝S33 내지 스텝S35가 도10의 타깃 시간에 상당할 때까지 반복된다. 인가 횟수가 MAX에 도달하여 과소거된 비트의 임계치 전압이 임계치 전압의 하한치 부근으로 변화되었다고 상정되면, 스텝S36으로 나아가 과소거 검증이 이루어진다. 메모리 셀 트랜지스터의 특성에 분산이 있기 때문에 과소거 검증이 페일 되는 경우도 있는데, 이때에는 다시 한번 스텝S32로 되돌아가 소정 횟수의 OER 기입 펄스의 인가가 이루어진다.
한편, 스텝S36에서 과소거 검증이 패스되면 스텝S37로 나아가 OER 처리를 수행한 비트의 어드레스가 최종 어드레스인지 여부가 판단된다. 어드레스가 최종 어드레스가 아닌 경우에는 스텝S38로 나아가 어드레스의 인크리먼트가 이루어진다. 이때, 제어 신호(MM1 내지 MM3)의 설정에 따라 인크리먼트되는 비트가 달라진다. 어드레스의 인크리먼트가 이루어지면 스텝S32로 나아가 다시 OER 펄스의 인가가 이루어진다.
스텝S37에서 어드레스가 최종 어드레스인 경우에는 스텝S39로 나아가 소거 검증이 이루어진다. 소거 검증이 패스되면 종료하고, 페일되면 페일 엔드가 된다.
또한, 스텝S30과 스텝S32 사이에서 과소거 비트의 임계치 전압을 블록 일괄로 조금 크게 하는 소프트 플래시 프로그램 동작을 수행하여도 된다.
통상의 OER 동작에서는 먼저 모든 어드레스에 대하여 과소거되어 있는지 아닌지 검증을 수행하고, 필요한 비트에만 OER 펄스를 인가한다. 따라서, 모든 어드레스에 대하여 검증을 수행하기 때문에 그 만큼 많은 시간을 필요로 한다. 또한, 검증에서 페일된 비트에 대하여 OER 펄스를 인가하기 때문에 페일 비트의 수가 증가함에 따라 1비트씩의 펄스 인가 시간이 증가하여 블록 소거를 위한 시간이 전체적으로 길어져 버리고, 최악의 경우에는 소거 타임 오버로 칩이 페일되는 경우도 있다.
그에 반하여 실시예 2에서 설명된 OER 동작에서는 복수 비트를 선택하여 과 소거 리커버리 펄스를 인가할 수 있다. 이에 의해, 도14의 스텝S30의 소거 검증이 패스된 이후에는 과소거 검증없이 모든 메모리 셀을 대상으로 한번에 여러 개씩 선택하여 OER 펄스를 인가함에 따라 블록 소거 시간을 단축시킬 수 있다.
또한, 한번에 선택할 수 있는 메모리 셀의 수를 제어 신호(MM1 내지 MM3)로 변경할 수 있고, 또한 타깃 시간이나 초기 설정으로 변수(MAX)를 바꾸는 것으로 변경할 수 있으므로, 특성이 다른 플래시 메모리에 대해서도 변수를 변경하는 것만으로 대응할 수 있다.
특히, 제어 신호 MM1 = H로 하고 SG0 내지 SG3를 모두 선택하는 경우를 기본으로 하면, 그 이상 선택 수를 늘리려는 경우에는 메인 비트선을 복수 선택하여 메모리 컬럼을 더욱 다중으로 선택하는 방법과, 워드선을 복수 선택하여 메모리 로우를 다중으로 선택하는 방법을 생각할 수 있다. 그러나, 메인 비트선을 복수 선택하는 방법은 메모리 셀로 흘려 보내는 전류의 합이 지나치게 커진다는 문제가 있다. 따라서, 더욱 선택 수를 늘리려는 경우에는 메모리 컬럼을 추가로 선택하는 것이 아니라, 제어 신호(MM2, MM3)을 통해 워드선을 다중으로 선택하고 있다.
즉, 추가의 멀티 선택을 비트선측에서 수행하지 않고 워드선측에서 수행하는 것은 셀렉트 게이트(22 내지 28)의 사이즈에 의해 원래 전류가 작아지기 때문에 셀렉트 게이트(22 내지 28)에서의 전압 강하를 생각하면 비트선을 더욱 멀티 선택하는 것보다는 워드선을 멀티 선택함으로써 전체의 전류를 줄이는 편이 이득이 되기 때문이다.
[실시예 3]
실시예 3은 채널 핫 일렉트론 기입 방법을 통해 플로팅 게이트에 전자를 축적하고 메모리 트랜지스터의 임계치를 제어하여 정보를 기억시키는 불휘발성 반도체 기억 장치에 있어서, 전압 인가 방법의 변경을 통해 제어의 안정화를 도모하는 것이다.
불휘발성 반도체 기억 장치에 있어서의 임계치 전압 제어 동작의 하나로 채널 핫 일렉트론 주입 방법이 있다.
도15는 채널 핫 일렉트론의 주입에 대하여 설명하기 위한 도면이다.
도15를 참조하면, 메모리 트랜지스터의 소스를 0V로 설정하고 드레인에 전압 Vd를 인가하고 제어 전극에 전위 Vcg를 인가하면, 드레인으로부터 소스로 드레인 전류가 흐른다. 이때, 전자의 일부가 플로팅 게이트에 주입된다. 이것이 채널 핫 일렉트론 주입이다. 이 경우, 플로팅 게이트측으로 이동시키기 위한 전자를 채널 영역의 드레인측 근방에 충분히 생성하도록 드레인과 소스 사이에 충분한 전위차를 공급할 필요가 있다.
도16은 메모리 트랜지스터의 축소에 따라 셀렉트 트랜지스터도 축소되는 것을 설명하기 위한 도면이다.
도16을 참조하면, 미세화에 의한 메모리 트랜지스터 사이즈의 축소에 따라 메모리 트랜지스터의 드레인에 전압을 공급하는 측의 트랜지스터, 즉 셀렉트 트랜지스터의 사이즈도 축소된다. 셀렉트 트랜지스터의 사이즈가 축소되면 메모리 트랜지스터의 드레인으로의 전압 공급 능력이 저하된다. 즉, 전류가 흐르면 저항치가 크기 때문에 전압 강하가 커져 버린다. 따라서, 메모리 트랜지스터를 축소하기 이전의 상태에서 수행되던 제어 방법과 동일한 방법으로 소스 드레인간에 전류를 흘려 보내면, 메모리 트랜지스터의 드레인 전압이 강하된다는 문제가 발생한다.
도17은 메모리 트랜지스터와 셀렉트 트랜지스터의 단면을 도시한 모식도이다.
도17을 참조하면, 사이즈 축소에 의해 셀렉트 트랜지스터의 저항이 증대되면 셀렉트 트랜지스터의 저항치에 의한 전압 강하도 커진다. 셀렉트 트랜지스터에 인가되는 드레인 전압(STrVd)에 비해 메모리 트랜지스터에 인가되는 드레인 전압(MTrVd)이 저하되어 메모리 트랜지스터에 드레인 전류가 흐르지 않게 된다. 이 경우, 채널 핫 일렉트론 주입을 수행하기 위한 충분한 전자를 생성할 수 없으므로, 임계치 전압의 제어가 곤란하다.
다시 말해, 셀렉트 트랜지스터의 구조가 변하면. 특히 채널 폭이 좁아지면 온 저항이 증대되어 전압 공급 능력이 저하된다. 이 경우에 드레인 전류(Id)가 일정 레벨을 넘으면 충분한 전압(MTrVd)을 공급할 수 없게 된다.
임계치 전압의 제어 시간을 길게 하고 메모리 트랜지스터의 소스·드레인간에 흐르는 전류를 억제하여 조금씩 임계치를 변동시키는 수단도 있다. 그러나, 이 제어 시간은 제품의 사양에 따라 임의의 소정 시간 이내로 정해져 있으므로, 함부로 연장시킬 수 없다. 따라서, 드레인 전압의 저하가 발생하지 않도록 메모리 트랜지스터의 소스·드레인간에 흐르는 드레인 전류를 억제하면서 지금까지의 제품과 동일한 제어 시간 내에서 제어 동작이 완료되도록 제어 방법을 변경할 필요가 있다.
도18은 실시예 3의 불휘발성 반도체 기억 장치의 컨트롤 게이트 전위(Vcg)를 제어하는 구성을 설명하기 위한 블록도이다.
도18을 참조하면, 커맨드 유저 인터페이스부(2)는 제어 전극에 인가되는 전위(Vcg)를 설정하기 위한 설정치(CNUMBER)를 발생하는 카운터(140)를 포함한다. CPU(6)는 카운터(140)로 리세트 신호(RESET), 인에이블 신호(C-ENABLE) 및 초기치를 로드하는 로드 신호(LOAD) 및 로드하기 위한 초기치를 나타내는 신호(DSET)를 송출한다. 전원 제어 회로(10)는 카운터(140)로부터 카운트 값(CNUMBER)를 입력받으며, 카운트 값(CNUMBER)과 CPU(6)로부터의 제어 신호(CSIG)에 의거하여 전원 회로(12)에 대한 제어를 수행한다.
전원 회로(12)는 컨트롤 게이트용 전위(Vcg)를 발생하는 전원 회로(142)와 소스 전압(Vs), 드레인 전압(Vd) 및 기판 전압(Vsub)을 출력하는 전원 회로(144)를 포함한다. 전원 회로(142)는 검출기(146)와 차지 펌프(148)를 포함한다. 검출기(146)는 내부 회로(150)를 통해 전원 제어 회로(10)로부터 인가되는 수치(VNUMBER)를 디지털 값으로부터 아날로그 전압으로 변환하고, 비교 회로(152)를 통해 차지 펌프(148)가 출력하는 전위(Vcg)와 비교하여 차지 펌프를 제어하는 인에이블 신호(ENABLE)를 발생한다.
전원 회로(144)는 전원 제어 회로(10)로부터 지시되는 타이밍에 의거하여 전위 Vd, Vs 및 Vsub의 활성화/비활성화 제어를 수행한다.
도19는 기입 펄스 인가의 검토 예를 설명하기 위한 흐름도이다.
도20은 도19에 도시된 흐름도에 따라 전압을 인가하는 경우의 파형을 도시한 동작 파형도이다.
도19, 도20을 참조하면, 기입 펄스가 스타트되면 먼저 스텝S41에서 Vcg용 카운터(140)가 리세트되어 카운트 값(CNUMBER)는 0으로 리세트된다. 그리고, 스텝S42에서 전위 Vsub, Vd 및 Vs의 전압 인가가 개시된다. 그 결과, 도20의 시각 0㎲ 내지 1㎲ 부근에서 선택 트랜지스터의 드레인 전압(STrVd) 및 메모리 트랜지스터의 드레인 전압(MTrVd)는 모두 4.8V가 된다.
이어 스텝S43으로 나아가 Vcg용 카운터의 카운트가 개시된다. CPU(6)가 인에이블 신호(C-ENABLE)를 L레벨에서 H레벨로 활성화시킴으로써, 카운터(140)가 도시되지 않은 클럭 신호에 의거하여 카운트 값(CNUMBER)을 순차적으로 인크리먼트한다. 그리고, 스텝S44로 나아가 카운터(140)의 카운트 값이 목표치에 도달하였는지 여부가 판단되며 목표치가 아니면 스텝S45로 나아가 카운트 값의 증가가 더 이어진다. 그리고, 스텝S44에서 카운트 값이 목표치에 도달하면 스텝S46으로 나아가 Vcg용 카운터(140)는 카운트를 정지한다. 이에 따라, 도20의 시각 1㎲ 부근에서 3㎲ 직전 부근에 도시된 바와 같이 전위 Vcg는 점차 증가되며 9V 부근이 되면 상승을 정지한다.
그리고, 도20의 시각 4.75㎲ 부근에서 스텝S47의 전압 인가 정지가 CPU에 의해 지시된다. 이 검토 예에서는 도20의 드레인 전류(Id)의 피크 전류치가 109㎂이었다. 드레인 전류(Id)가 피크일 때, 셀렉트 트랜지스터의 드레인 전위(STrVd)에서 전압 강하된 메모리 트랜지스터의 드레인 전위(MTrVd)의 값이 가장 낮게 된다.
도21은 실시예 3의 불휘발성 반도체 기억 장치에서 이용되는 기입 펄스의 제 어 흐름을 도시한 흐름도이다.
도22는 도21에 도시된 흐름도를 이용하는 경우의 동작을 설명하기 위한 동작 파형도이다.
도21, 도22를 참조하면, 먼저 기입 펄스의 인가 동작이 스타트되면 스텝S51에서 Vcg용 카운터(140)가 리세트되고, 이어 스텝S52에서 전위 Vsub, Vd 및 Vs의 인가가 개시된다. 이에 따라, 도22의 시각 0㎲에서 1㎲의 사이에서 전위 Vcg는 0V이고, 전위 STrVd 및 MTrVd는 모두 4.8V로 설정된다.
이어, 스텝S53에서 Vcg용 카운터(140)에 초기치가 세트된다. 이에 따라 시각 1㎲에서 컨트롤 게이트 전위(Vcg)는 증가되고, 드레인 전류(ld)는 소정의 최대 전류(Idmax)를 넘지 않을 정도까지 흐른다. 또한, 컨트롤 게이트 전위(Vcg)가 동일하더라도 정성적으로는 저온일수록 또한 메모리 트랜지스터의 초기 임계치 전압이 낮을수록 제어 동작 개시시의 드레인 전류(Id)의 값은 커진다. 도22에서 설명된 경우는 이들 특성을 근거로 하고, 도20의 경우에서는 0V였던 제어 동작 개시시의 컨트롤 제어 전위(Vcg)의 초기치를 4.5V로 하였다.
스텝S53에서 초기치가 세트된 이후에는 스텝S54로 나아가 Vcg용 카운터의 카운트가 개시된다. 카운트 개시는 CPU(6)에 의해 인에이블 신호(C-ENABLE)가 활성화됨으로써 이루어진다. 이때, CPU(6)는 카운터의 1클럭당 증가분치를 나타내는 제어 신호(DV)를 변경하여 도20에 도시된 경우보다 전위(Vcg)의 기울기를 변경한다.
도20의 경우에는 메모리 트랜지스터의 임계치 전압의 거동에 대하여 인가되 고 있는 전위(Vcg)의 기울기가 급경사이다. 이 경우에는 아직 임계치 전압이 낮은 상태임에도 불구하고 높은 전위(Vcg)가 컨트롤 게이트에 인가되기 때문에 드레인 전류(Id)가 보다 많이 흐르게 된다. 이에 반해 도22에 도시된 경우는 전위(Vcg)의 변화 기울기가 메모리 트랜지스터의 임계치 전압의 거동에 맞도록 완만하다. 임계치 전압의 거동(기울기)에 전위(Vcg)의 기울기를 근접시킴으로써, 급격한 드레인 전류(Id)의 증가를 억제하면서 제어 동작 개시시, 제어 동작 중반, 제어 동작 종반에서 거의 동등하게 채널 핫 일렉트론을 플로팅 게이트에 주입할 수 있다.
카운터의 카운트가 개시된 이후에는 스텝S55에서 카운터의 카운트 값이 목표치에 도달하였는지 여부가 판단되고, 목표치에 도달하지 않은 경우에는 스텝S56에서 카운트 값이 증가된다. 그리고, 스텝S55에서 카운트 값이 목표치에 도달하였을 때에는 스텝S57로 나아가 카운터의 카운트가 정지된다. 그리고, 스텝S58에서 Vcg, Vsub, Vd 및 Vs의 각 전위의 인가가 정지된다.
동일한 임계치 전압 제어 방법(여기서는 핫 일렉트론 주입)하에서도 그 제어 대상인 메모리 트랜지스터가 복수가 되면, 분산의 범위에서 임계치 전압의 변화에 차이가 생긴다. 동일한 전압을 동일한 시간 인가한 후라도 복수의 메모리 트랜지스터가 있으면 그 수에 상당하게 각 요소에 분산이 생긴다. 이 요소는, 예를 들면 플로팅 게이트 내의 전자의 축적, 플로팅 게이트 전위, 메모리 트랜지스터의 임계치 등이다.
예를 들면, 플로팅 게이트내의 전자의 축적이 비교적 적은 메모리 트랜지스터(임계치 전압이 낮다)에 다른 메모리 트랜지스터와 동일한 전위(Vcg)를 인가하면 드레인 전류가 필요 이상으로 흐르게 된다. 따라서, 채널 핫 일렉트론을 발생하는 효율이 떨어져 다른 메모리 트랜지스터와 비교하면 임계치가 효율적으로 상승되지 않는다.
도23은 도20에 도시된 파형을 부여한 경우의 임계치 전압의 변화의 분산을 설명하기 위한 도면이다.
도24는 도22에 도시된 파형을 부여한 경우의 임계치 전압의 변화의 분산을 설명하기 위한 도면이다.
도23, 도24에는 각각 500K개의 메모리 트랜지스터의 임계치 전압의 변화가 도시되어 있다.
도23의 경우와 도24의 경우에서는 각 메모리 트랜지스터간의 동일한 제어 시간(도면의 횡축)에 있어서의 임계치 전압의 차(도면의 종축)에 차이가 보인다. 전위(Vcg)의 상승을 완만하게 하면 플로팅 게이트내로의 전자의 축적이 충분하지 않은 시점에서 Vcg의 절대값이 필요 이상으로 지나치게 높아지는 일이 없으므로, 드레인 전류가 지나치게 흐르는 현상을 비교적 억제시킬 수 있다.
도23의 경우에서는 표준 변화를 나타내는 메모리 트랜지스터의 임계치 전압이 6V에 도달하였을 때(시각 6.4㎲ 부근), 가장 변화가 느린 메모리 트랜지스터의 임계치가 약 4V이었다. 양자의 차이가 약 2V이었다.
이에 반해, 도24에 도시된 경우에서는 컨트롤 게이트 전위(Vcg)의 변화를 완만하게 함으로써, 그 차이를 약 1.5V까지 좁힐 수 있었다(시각 7.8㎲ 부근).
즉, 도23에 도시된 수치 약 2.0V에 비해 도24에 도시된 수치가 약 1.5V이므 로, 분산을 억제할 수 있다는 효과가 있다.
이와 같이 실시예 3에서는 램프 파형을 인가할 수 있기 때문에 기입의 효율을 상승시킬 수 있다. 즉, 컨트롤 게이트 전위(Vcg)의 기울기를 완만하게 함으로써, 임계치 전압의 변화의 분산을 억제하는 효과가 얻어지므로, 보다 안정된 임계치 전압 제어 동작을 수행할 수 있다.
또한, 실시예 3에서는 먼저 기판, 드레인 및 소스에 대한 전압을 설정하고 그 후에 컨트롤 게이트에 전압을 인가한다. 이를 통해 채널 영역의 드레인측으로 미리 전자를 생성하여 둘 수 있으므로, 효율적으로 핫 일렉트론 주입을 수행할 수 있다는 효과가 있다.
이상에서 설명된 바와 같이, 실시예 3에서는 복수의 메모리 트랜지스터간에 발생하는 임계치 변화의 분산을 억제함으로써, 안정된 기입 시간의 제품 스펙을 달성하는 데에 유효하다. 또한, 다중 레벨의 프로그래밍에 있어서 임계치의 분포 폭을 협대화시키는 것이 필수적인데, 이를 달성하기 위해 이용하여도 효과가 있다.
[실시예 4]
실시예 4에서는 로크 비트를 프로그램하는 방법에 대하여 설명한다.
도25는 로크 비트 설명을 하기 위한 도면이다.
로크 비트는 메모리 어레이내에 존재하며, 각 메모리 블록에 대하여 내부 오페레이션을 수행하여도 되는지 여부를 판정하기 위한 비트이다. 도25의 노멀 영역에는 워드선(WL0 내지 WLn)과 비트선(BL0, BL1,…)의 각 교점에 노멀 메모리 트랜지스터가 배치되어 있다. 노멀 영역에서는 1개의 메모리 트랜지스터로 1비트의 정 보를 기억한다. 이에 반하여 로크 비트는 노멀 영역에 인접한 스페어 영역의 로크 비트선(LBL)과 워드선(WL1, WL0)의 교점 2개에 배치되는 메모리 트랜지스터를 이용하여 1비트가 유지된다. 이와 같이 로크 비트는 2개의 메모리 트랜지스터를 이용하여 1비트를 기억하고 있기 때문에 그 프로그램은 2개의 메모리 트랜지스터에 대하여 동시에 프로그램을 수행할 필요가 있다.
도26은 로크 비트를 유지하는 2개의 메모리 트랜지스터의 단면도이다.
도26를 참조하면, 로크 비트선(LBL)과 워드선(WLO, WL1)의 2개의 교점에 2개의 메모리 트랜지스터가 존재하며 로크 비트를 유지한다. 로크 비트를 프로그램하기 위해서는, 예를 들면 소스를 0V로 설정하고 기판을 -1.2V로 설정하고 로크 비트선(LBL)의 전위를 4.8V로 설정하고 워드선(WL0 및 WL1)의 전위를 3 내지 9V로 설정한다. 이에 의해, 2개의 메모리 트랜지스터에 동시에 채널 핫 일렉트론이 발생하여 임계치 전압이 변화하게 된다.
그러나, 2셀을 동시에 프로그램하면 노멀 영역에 배치된 통상의 메모리 트랜지스터를 프로그램하는 경우에 비해 로크 비트선으로부터 소스로 흐르는 드레인 전류가 2배가 된다. 따라서, 실시예 3에서 도22를 통해 설명된 사다리꼴파 프로그램에서는 드레인 전류가 지나치게 흐르며 전원 회로에 내장된 차지 펌프의 능력이 부족하여 안정된 동작을 수행하지 못할 우려가 있다.
따라서, 실시예 4에서는 로크 비트의 프로그램 커맨드가 입력되면 CPU(6)가 로크 비트인지 여부를 판정하여 사다리꼴파의 전위 상승 스피드를 절반으로 한다.
도27은 실시예 4에서의 로크 비트를 프로그램하는 동작을 설명하기 위한 흐 름도이다.
도27을 참조하면, 커맨드가 입력되어 기입 동작이 스타트되면 먼저 스텝S61에서 지정된 비트가 로크 비트인지 여부가 판단된다.
스텝S61에서 지정된 비트가 통상의 비트인 경우에는 먼저 스텝S62에서 기입 검증이 실행된다. 그리고, 스텝S63으로 나아가 기입 펄스의 인가 횟수가 첫번째인지 그 이후인지 판단된다. 첫번째인 경우에는 스텝S64로 나아가 실시예 3에서 설명된 바와 같은 사다리꼴파1이 인가된다.
한편, 스텝S63에서 인가 횟수가 2회째인 경우에는 스텝S65에서 전압 V의 방형파가 인가된다. 스텝S64 또는 스텝S65가 종료되면, 도18의 카운터(140)가 인크리먼트됨에 따라 전압의 설정치가 증가되고, 스텝S67에서 인가 횟수(n)가 인크리먼트된다.
도28은 도27의 스텝 S63 내지 S67이 반복하여 인가되는 상태를 설명하는 동작 파형도이다.
도28에 도시된 바와 같이, 첫번째 펄스는 실시예 3에서 설명된 것과 같은 사다리꼴파 펄스가 인가되고, 2회째, 3회째, 4회째, 5회째의 순으로 방형파 펄스가 전압치가 증가되면서 반복하여 인가된다.
다시 도27을 참조하면, 스텝S61에서 로크 비트라고 판단된 경우에는 스텝S68로 나아가 먼저 기입 검증이 실행된다. 그리고, 기입 검증이 페일인 경우에는 스텝S69로 나아가 사다리꼴파2가 인가된다.
도29는 스텝S69에서 사다리꼴파2가 인가되는 상태를 설명하기 위한 파형도이 다.
CPU(6)가 로크 비트인 것을 판정하면 도18의 카운터(140)에 대한 1클럭당의 카운트 증가치를 나타내는 증가분치(DV)를 변화시킴으로써, 도29에서는 사다리꼴파의 전압 상승 스피드를 도28에 도시된 노멀 인가 펄스에 비해 절반으로 하고 있다. 즉, 도28의 기울기(G1)에 비해 도29의 기울기(G2)는 절반의 값이 된다. 그리고, 1펄스당의 인가 시간은 T1에서 T2로 증가된다. 이와 같이, 스텝S68에서 기입 검증이 패스될 때까지 반복하여 동일한 사다리꼴파가 인가된다.
이는 첫번째 사다리꼴파로 로크 비트의 임계치 전압이 프로그램 영역까지 가지 않은 경우에 2회째 이후의 인가를 노멀인 경우와 동일하게 방형파로 수행하면 임계치 전압이 시프트되지 않을 것으로 상정되기 때문이다. 왜냐하면, 드레인 전류가 지나치게 많이 흐름에 따라 충분한 전압이 메모리 트랜지스터의 드레인에 인가되지 않기 때문이다.
따라서, 실시예 4에서는 2회째 이후의 로크 비트 펄스에도 동일한 사다리꼴파를 사용함으로써, 임계치 전압의 시프트가 확실하게 일어나도록 하고 있다. 실시예 4에서는 로크 비트인지 여부에 따라 기입 펄스의 인가 방법을 변경함으로써, 복수의 메모리 트랜지스터를 사용하는 로크 비트에 대하여 효율적으로 기입을 수행할 수 있다.
[실시예 5]
실시예 5에서는 ACC(accelerate) 모드 프로그램에 대하여 설명한다. ACC 모드란, 불휘발성 반도체 기억 장치의 메모리 셀 어레이의 데이터가 소거 완료되었다 는 것을 전제로 고속으로 기입하는 모드이다. ACC 모드는, 예를 들면 불휘발성 반도체 기억 장치를 구입한 업체가 대량의 디바이스에 기입 장치를 통해 양산용 프로그램을 연이어 기입할 때에 이용된다.
도30은 ACC 모드에 관련된 구성을 설명하기 위한 블록도이다.
도30을 참조하면, 메모리 셀 어레이(20)에 데이터를 기입할 때에는 먼저 기입 데이터(SD[15:0])가 검증 회로(16)를 그대로 통과하여 페이지 버퍼(18)에 기입된다.
그 후, 페이지 버퍼(18)의 출력(PD[15:0])과 메모리 셀 어레이(20)로부터 판독된 데이터(RD[15:0])가 검증 회로(16)에서 비교된다. 검증 회로(16)는 검증이 패스되면 CPU(6)로 기입 완료를 나타내는 신호(CD_ALL)를 출력한다. 검증 회로(16)는 검증이 페일되면 기입 펄스를 인가할 필요가 있는 비트에 대해서는 “0"을, 기입 펄스를 인가할 필요가 없는 비트에 대해서는 “1"로 설정된 신호(CD[15:0])를 출력한다. 이 결과에 대응하여 메모리 셀 어레이(20)에는 기입 펄스가 인가된다. 이 값은 동시에 페이지 버퍼(18)에 유지되어 다음번 검증 회로(16)에서의 비교의 기대치(PD[15:0])가 된다.
통상의 기입 동작은 처음에 검증 동작을 수행하기 때문에 기입 시간이 길다. 그러나, 메모리 셀 어레이(20)의 데이터가 소거된 상태인 것을 알고 있다면 첫번째 검증 동작을 생략할 수 있다. 단, 이 경우에는 외부로부터 입력되어 그대로 페이지 버퍼에 유지되는 기입 데이터를 직접 메모리 셀 어레이에 전할 필요가 있다. 따라서, 처음에 검증 회로(16)가 출력하는 신호 CD[15:0]에 신호 PD[15:0]를 반영 시킬 필요가 있다.
이로 인해, 검증 회로(16)는 CPU(6)로부터 출력되는 각종 제어 신호(VCS1, VCS2, ENl, EN2, RESET, SACC)에 대응하여 동작 모드마다 다른 동작을 수행한다.
도31은 도30의 검증 회로(16)의 프로그램에 관한 구성을 도시한 회로도이다.
도31을 참조하면, 검증 회로(16)는 페이지 버퍼로부터의 데이터 PD[15:0]를 인에이블 신호(EN1)에 대응하여 입력받고 출력이 리세트 신호(RESET)에 대응하여 “0"으로 리세트되는 래치 회로(162)와, 메모리 셀 어레이로부터 판독된 데이터 RD[15:0]를 ACC 모드시에 활성화되는 신호(SACC)에 의해 “1"로 고정하기 위한 OR 회로(164)와, OR 회로(164)의 출력을 인에이블 신호(EN2)에 대응하여 입력받고 리세트 신호(RESET)에 대응하여 출력이 “0"으로 리세트되는 래치 회로(166)를 포함한다.
검증 회로(16)는 또한 신호(VCS1, VCS2)에 대응하여 래치 회로(162)의 출력 및 래치 회로(166)의 출력을 처리하는 게이트 회로(168)를 포함한다.
게이트 회로(168)는 래치 회로(166)의 출력과 제어 신호(VCS1)를 입력받는 NAND 회로(l70)와, 래치 회로(162)의 출력과 제어 신호(VCS2 및 VCS1)를 받는 NAND 회로(172)와, 래치 회로(166)의 출력과 제어 신호(VCS1)를 받는 OR 회로(174)와, 래치 회로(162)의 출력과 제어 신호(VCS1, VCS2)를 받는 게이트(176)를 포함한다. 게이트(176)는 래치 회로(162)의 출력 및 제어 신호(VCS2)가 H레벨이고 제어 신호(VCS1)가 L레벨인 경우에만 L레벨을 출력하고, 다른 경우에는 H레벨을 출력한다.
검증 회로(16)는 또한 NAND 회로(170)의 출력과 NAND 회로(172)의 출력과 OR 회로(174)의 출력과 게이트(176)의 출력을 입력받아 데이터 WD[15:0]를 출력하는 4입력 NAND 회로(178)와, 데이터 WD[15:0]와 외부로부터 기입 커맨드와 함께 입력되는 기입 데이터 SD[15:0]중 어느 한쪽을 커맨드 유저 인터페이스부(2)로부터의 제어 신호(SETUP)에 따라 선택하여 신호 CD[15:0]를 출력하는 셀렉터(179)와, 셀렉터(179)가 출력하는 16비트의 신호 CD[15:0]의 모든 논리곱을 연산하여 신호 CD_ALL를 출력하는 AND 회로(180)를 포함한다.
커맨드 유저 인터페이스부(2)는 기입 커맨드가 입력되면 일단 제어 신호(SETUP)를 활성화하여 기입 데이터 SD[15:0]를 CD[15:0]로 출력하고, 이를 페이지 버퍼(18)에 유지시킨다. 그 후, 커맨드 유저 인터페이스부(2)는 제어 신호(SETUP)를 비활성화시키고, 이후 페이지 버퍼(18)에는 비교 결과를 반영한 데이터 WD[15:0]가 CD[15:0]로서 기입된다.
검증 회로(16)는 OEV, PV, VLC, EV, Flash to PB 등의 각 모드에 겸용으로 이용되는 회로이다. 따라서, 제어 신호(VCS1, VCS2)에 의해 동작 전환을 수행하고 있다.
OEV(0ver Erase Verify) 모드는 과소거 검증을 수행하는 모드이다. PV(Program Verify) 모드는 기입 검증을 수행하는 모드이다. VLC(Vth Lower Check) 모드는 과소거 비트 기입후의 하부 검증을 수행하는 모드이다. EV(Erase Verify) 모드는 소거 검증을 수행하는 모드이다. Flash to PB 모드는 메모리 셀의 내용을 검증 경로를 이용하여 페이지 버퍼에 기입하기 위하여 검증 회로(16)에서의 비교 없이 동작을 수행하게 하는 모드이다.
제어 신호(VCS1, VCS2)를 변경함으로써, 각 모드에 대응하는 동작이 수행된다. OEV 모드에서 신호(VCS1, VCS2)는 모두 L레벨로 설정된다. PV 모드 및 VLC 모드에서 신호(VCS1)는 L레벨로 설정되고, 신호(VCS2)는 H레벨로 설정된다. EV 모드 및 Flash to PB 모드에서 신호(VCS1)는 H레벨로 설정되고, 신호(VCS2)는 L레벨로 설정된다.
실시예 5에서 설명되는 ACC 모드시에는 PV 모드에서의 제어가 된다. 이 경우에 NAND 회로(170, 172)의 출력은 모두 H레벨로 고정되고, OR 회로(174) 및 게이트(176)의 조합 논리에 의해 검증의 판정이 이루어진다.
앞서 설명한 바와 같이, ACC 모드에서는 첫번째 검증을 수행하지 않도록 하여 시간을 단축시킨다. 이를 위해 OR 회로(164)가 설치되어 있다. 통상의 프로그램에서는 래치 회로(162)가 첫번째 검증시에 외부로부터 입력되는 기대치, 즉 프로그램해야 할 기입치를 출력하는데, 이 출력은 게이트(176)를 경유하여 NAND 회로(178)로 전달된다. 한편, 메모리 셀에서 판독된 데이터 RD[15:0]는 래치 회로(166)와 OR 회로(174)를 경유하여 NAND 회로(178)로 전달된다.
ACC 모드에서 처음에 검증 동작을 수행하지 않는 경우에는 메모리 셀 어레이로부터 메모리 셀 데이터 RD[15:0]가 입력되지 않기 때문에 래치 회로(166)는 리세트된 상태로 “0"을 유지한다. 따라서, OR 회로(174)에서 출력되는 16비트가 모두 “0"이 되므로, NAND 회로(178)에서 출력되는 신호 WD[15:0]의 16비트는 모두 “1"이 되고, CD[15:0]의 비트도 모두 “1"이 된다.
신호 CD[15:0]의 비트가 “0"인 경우에는 메모리 셀에 기입 펄스가 인가된 다. 한편, 이 비트가 “1"이면 프로그램이 완료되었다고 간주되어 더 이상 펄스가 인가되지 않는다. 이로 인해, ACC 모드시에는 신호 SACC를 H레벨로 활성화한다. 이에 따라 OR 회로(174)가 H레벨을 출력함으로써, 첫번째 검증을 수행하지 않아도 래치 회로(162)의 출력에 대응하는 펄스 인가가 반드시 이루어진다.
도32는 실시예 5의 기입 동작을 설명하기 위한 흐름도이다.
도30, 도32를 참조하면, 기입 동작이 개시되면 먼저 스텝S71에서 CPU(6)는 동작 모드가 ACC 모드인지 여부를 판단한다. ACC 모드가 아닌 경우에는 스텝S72로 나아가 노멀 기입이 실행된다.
한편, 모드가 ACC 모드인 경우에는 스텝S73에서 ACC 기입이 실행된다.
도33은 도32의 노멀 기입을 실행하는 스텝S72를 보다 상세히 설명한 흐름도이다.
도30, 도33을 참조하면, 노멀 기입이 스타트되면 먼저 스텝S81에서 CPU(6)는 검증 회로(16)에 대한 신호(SACC)를 L레벨로 설정한다. 그리고, 스텝S82에서 기입 검증이 이루어진다. 기입 검증이 패스된 경우에는 스텝S90으로 나아간다. 한편, 기입 검증이 페일된 경우에는 첫번째 펄스 인가 동작이 수행된다.
첫번째 펄스 인가 동작은 스텝S83, S84에서 수행된다.
도34는 첫번째 펄스 인가 파형을 설명하기 위한 파형도이다.
도33, 도34를 참조하면, 먼저 스텝S83에서 펄스 전압이 소정치에 도달할 때까지 전압이 상승된다. 전압이 목표치에 도달하면 계속해서 스텝S84에서 서스펜드/어보트 판정이 수행된다. 서스펜드란, 예를 들면 15㎲ 이내에 외부로부터 인터럽 트 처리 요구가 있는 경우에는 기입 동작을 정지하는 것을 말한다. 또한, 어보트 처리란, 예를 들면 기입 시간이 소정치보다 길어지는 경우에 강제적으로 기입을 종료시키는 처리를 말한다.
스텝S83, S84에서 첫번째 펄스 인가가 종료되면 스텝S86으로 나아가 기입 검증이 이루어진다. 기입 검증이 페일되면 두번째 펄스 인가가 수행된다.
두번째 이후의 펄스 인가에서는 먼저 스텝S87에서 프로그램 전압의 인가가 스타트되고, 그것에 이어 스텝S88에서 서스펜드/어보트 판정이 이루어진다. 스텝S88에서 서스펜드 또는 어보트 판정이 이루어진 경우에는 스텝S89로 나아가 서스펜드/어보트 처리가 이루어진다. 한편, 스텝S88에서 서스펜드/어보트 판정이 이루어지지 않은 경우에는 다시 스텝S86으로 나아가 기입 검증이 수행된다.
스텝S86에서 기입 검증이 패스된 경우에는 계속해서 스텝S90으로 나아간다.
스텝S90에서는 기입 어드레스의 하위 4비트의 인크리먼트가 수행되고, 이어서 스텝S91에서 서스펜드/어보트 판정이 수행된다. 스텝S91에서 서스펜드 또는 어보트라고 판정된 경우에는 스텝S92로 나아가 서스펜드/어보트 처리가 수행된다. 한편, 스텝S91에서 서스펜드 및 어보트라고 판정되지 않은 경우에는 스텝S93으로 나아가 4비트의 어드레스를 인크리먼트한 결과에 자릿수 올림, 즉 캐리가 발생하였는지 여부가 판단된다. 캐리가 “1"인 경우에는 스텝S94로 나아가 어드레스의 상위 4비트가 인크리먼트된다. 한편, 스텝S93에서 캐리가 “1"이 아닌 경우에는 다음 어드레스에 대한 기입을 수행하기 위하여 다시 스텝S81로 되돌아간다.
스텝S94에서 어드레스의 상위 4비트의 인크리먼트가 이루어진 이후에는 스텝 S95로 나아가 인크리먼트한 결과에 캐리가 발생하였는지 여부가 판단된다. 캐리가 발생한 경우, 즉 캐리가 “1"이면 기입이 종료된다. 캐리가 발생하지 않은 경우에는 다음 어드레스에 대한 기입을 수행하기 위하여 다시 스텝S81로 되돌아간다.
도35는 도32의 스텝S73의 ACC 기입의 상세 동작을 설명하기 위한 흐름도이다.
도30, 도35를 참조하면, ACC 기입에서는 첫번째 기입 검증이 수행되지 않고 첫번째 펄스 인가가 이루어진다는 점과 서스펜드 처리의 판정이 수행되지 않는다는 점이 도33에 도시된 노멀 기입의 경우와 크게 다르다.
노멀 기입에서는 외부로부터의 인터럽트 요구에 대비하여 내부 동작중이더라도 동작을 일시 중단시키기 위한 포인트가 프로그램상에 준비되어 있다. 인터럽트 요구가 있는 경우에 이를 확실하게 처리하기 위하여 외부로부터의 인터럽트 요구를 접수하는 간격의 규격치, 예를 들면 15㎲에 대하여 마진을 지니게 하여 10㎲ 정도마다 ROM에 저장되어 있는 소프트웨어에 인터럽트 처리 루틴을 삽입하여 두었다.
도33의 처리에서는 인터럽트 처리 루틴을 실행하여 매회 서스펜드가 걸렸는지 조사하기 때문에 그 만큼 시간이 길어졌다. 양산시의 기입과 같이 통상 인터럽트가 발생하지 않는 소거 완료된 플래시 메모리에 기입을 수행하는 경우에는 이 서스펜드 포인트를 삭제한 도35에 도시된 ACC 모드의 처리 흐름으로 프로그램 시간의 고속화를 도모하고 있다.
그러나, 여기서 서스펜드 요구 판정 루틴과 함께 삽입되어 있는 어보트 판정 루틴까지 동시에 삭제하면 문제가 생긴다.
가령, 메모리 셀 트랜지스터의 특성이 나빠 프로그램 동작이 규격 시간내에 종료되지 않는 경우에는 타임 오버로 처리를 어보트시킬 필요가 있다. 도33에서 설명된 노멀 기입의 경우에는 이들 판정 포인트가 서스펜드와 동일한 루틴으로 수행되고 있다. 따라서, 도33의 흐름도서 서스펜드/어보트 판정을 단순히 삭제해 버리면 타임 오버시의 어보트를 처리할 수 없게 된다. 이하, 도35의 흐름도에 대하여 순서대로 설명한다.
ACC 기입이 개시되면 스텝S101에서 CPU는 제어 신호(SACC)를 H레벨로 설정한다. 기입 커맨드가 커맨드 유저 인터페이스부(2)로 입력되면 제어 신호(SETUP)가 활성화되어 페이지 버퍼(18)로 기입 데이터가 전송된다. 이 기입 데이터는 그 후 제어 신호(SETUP)가 비활성화되면 검증 회로(16)를 그대로 통과하여 CD[ 15:0]로서 메모리 셀 어레이에 전달된다. 그리고, 첫번째 펄스 인가가 검증 동작 없이 수행된다. 첫번째 펄스 인가시에 스텝S102에서 어보트 판정이 수행되고, 스텝S104에서 전압 판정이 수행된다.
도36은 ACC 기입시의 첫번째 펄스를 설명하기 위한 파형도이다.
도36을 참조하면, ACC 기입시에 실시예 3에서 설명되었던 사다리꼴파 펄스가 인가된다. 처음에 카운터를 소정치로 세트하는 것으로 초기 전압이 인가되고, 그리고 그 후 카운터가 목표치가 되었는지 여부를 판정하는 전압 판정이 수행된다. 그 때, 초기 단계에서는 카운트 값을 관측하지 않아도 목표치에 도달하지 않은 것이 분명하기 때문에 그 펄스 인가의 전반에서 어보트 판정을 수행한다.
구체적으로, 어보트 루틴은 10코드 정도이므로, 전압은 그 사이에 2V 정도밖 에 상승되지 않는다. 따라서, 3V에서 전압 인가를 개시하는 경우에는 어보트 루틴을 처리하는 동안 5V 정도까지밖에 상승되지 않는다. 따라서, CPU(6)가 일부러 카운트 값을 참조하여 전압 판정을 수행하지 않아도 설정 도달 전압의 목표치(9V 정도)를 넘는 경우는 있을 수 없다. 또한, 첫번째 펄스로 사다리꼴파 이후에 방형파가 인가되는 도34의 파형을 ACC 모드의 첫번째 펄스에 이용하여도 되는데, 그 때는 램프파에 이어지는 방형파 인가 부분에서 어보트 판정을 수행한다.
다시 도35를 참조하면, 스텝S102에서 타임 오버 등에 의한 어보트라고 판정되면 스텝S103으로 나아가 어보트 처리가 이루어진다.
스텝S102에서 어보트로 판정되지 않은 경우에는 스텝S104로 나아가 전압 판정이 수행되며 전압은 목표치에 도달할 때까지 상승한다. 스텝S104에서 전압이 목표치에 도달하면 스텝S105로 나아간다.
스텝S105에서 CPU(6)는 신호(SACC)를 L레벨로 비활성화시킨다. 이에 따라, 검증 회로(16)는 통상의 검증을 수행하도록 설정된다. 그리고, 스텝S106에서 기입 검증이 이루어진다. 기입 검증이 페일인 경우에는 두번째 이후의 펄스 인가가 스텝S107, S108에서 수행된다. 스텝S107에서 프로그램 전압의 인가가 스타트되고, 이어 스텝S108에서 어보트 판정이 이루어진다.
스텝S108에서 어보트로 판정된 경우에는 스텝S109로 나아가 어보트 처리가 이루어진다. 한편, 스텝S108에서 어보트로 판정되지 않은 경우에는 다시 스텝S105로 되돌아간다.
스텝S106에서 기입 검증이 패스되면 다음 어드레스에 대한 기입을 수행한다.
페이지 프로그램의 경우에는 128워드의 프로그램을 수행한다. 따라서, 반드시 어드레스 인크리먼트 루틴이 필요하다. 본 명세서에서의 플래시 메모리의 CPU(6)는 4비트 마이크로 컴퓨터이기 때문에 한번의 명령으로 처리할 수 있는 것은 4비트폭, 즉 4비트 카운터로 최고 16회이다. 즉, CPU의 소프트웨어로 어드레스 인크리먼트를 수행하기 위해서는 하위 4비트가 꽉 차면 다른 루틴을 사용하여 3비트의 카운터 연산을 더 해줄 필요가 있다.
스텝S106이 패스되면 먼저 스텝S110으로 나아가 기입 어드레스의 하위 4비트의 인크리먼트가 이루어진다.
그리고, 인크리먼트에 의해 캐리가 발생하였는지 여부가 스텝S111에서 판단된다. 캐리가 발생한 경우에는 스텝S112로 나아가 어드레스의 상위 4비트의 인크리먼트가 이루어진다. 한편, 캐리가 발생하지 않은 경우에는 스텝S101로 되돌아가 다음 어드레스에 대한 기입 처리가 이루어진다.
스텝S112에서 어드레스의 상위 4비트의 인크리먼트가 이루어진 경우에는 스텝S113에서 어보트 판정이 이루어진다.
상위 3비트의 연산은 128회중 7회밖에 수행되지 않으며, 그 연산 루틴에 10코드의 어보트 판정 루틴을 삽입한다 하여도 10 × 70ns = 700ns가 합계치가 된다. 이를 128회로 나누면 1워드당 5.5ns의 시간밖에 되기 않으므로 이것은 무시할 수 있는 범위이다.
스텝S113에서 어보트로 판정된 경우에는 스텝S114로 나아가 어보트 처리가 이루어진다.
한편, 스텝S113에서 어보트로 판정되지 않은 경우에는 스텝S115로 나아가 스텝S112의 인크리먼트에 의해 캐리가 발생하였는지 여부가 판단된다. 캐리가 발생하지 않은 경우에는 스텝S101로 되돌아가 인크리먼트 이후의 어드레스에 대한 기입 처리가 수행된다. 한편, 스텝S115에서 캐리가 발생하였다고 판단된 경우에는 기입 처리는 종료된다.
실시예 5에서는 ACC 모드를 설치하고 첫번째 펄스 인가 이전에는 기입 검증을 수행하지 않는다. 그리고, 어드레스 인크리먼트 처리시 상위 3비트의 인크리먼트 처리 직후에 어보트 판정 루틴을 삽입하여 두고 있다. 따라서, 시간의 증가를 방지하고 또한 어보트가 가능한 기입 제어 시퀀스가 실현되어 있다. 즉, 시간 단축이 달성된 가속 기입 모드를 구비하기 때문에 사용자가 쓰기 쉬운 불휘발성 반도체 기억 장치를 실현할 수 있다.
[실시예 6]
실시예 6에서는 블록 소거시 전원 회로내의 차지 펌프의 제어 방법에 대하여 설명한다.
도37는 차지 펌프의 셋업 시간에 대하여 설명하기 위한 도면이다.
도37를 참조하면, CPU가 카운터를 0부터 증가시켜 전압 목표치를 0부터 카운트 업시키면 셋업 시간이 길어진다. 이에 반하여, 차지 펌프의 능력에 여유가 있는 경우에는 이 셋업 시간을 단축시킬 수 있다.
도38은 블록 소거시의 차지 펌프의 제어 방법을 검토하기 위한 검토 예를 설명하기 위한 블록도이다.
도38을 참조하면, 이 검토 예에서 커맨드 유저 인터페이스부(2A)내의 카운터(210)는 소거가 아니라 프로그램에 맞춘 사양으로 구성되어 있다. 즉, 카운터(210)는 CPU(6A)에서 리세트 신호가 보내지면 출력치(CNUMBER)가 “0"으로 리세트되고, CPU(6A)가 출력하는 제어 신호(C-ENABLE)가 활성화되면 카운트를 개시하며, 비활성화되면 카운트를 정지한다. 이는 프로그램시에 삼각파를 만들어낼 목적으로 카운터가 설계되어 있기 때문이다. 삼각파란 램프파라고도 불리우는데, OV에서 설정치까지 설정 전압을 시간 스텝으로 올려 가는 파형이다.
전원 제어 회로(10A)는 CPU(6A)로부터 보내어지는 동작 모드와 튜닝 퓨즈 회로(192)에 설정되어 있는 튜닝 신호에 대응하여 카운터(210)의 출력이 소정치가 되었을 때에 CPU(6A)로 정지 신호(C-STOP)를 출력한다. 디코드 회로(196, 198,·‥, 200)는 각종 조건에 대응하는 전압치를 검출하는 디코드 회로이다. 그리고, 선택 신호 발생 회로(194)는 동작 모드와 튜닝 신호에 의거하여 디코드 회로(196 내지 200)의 출력중 어느 하나를 AND 회로(202 내지 206) 및 OR 회로(208)를 통해 선택한다.
그러나, 블록 소거로서 소거 펄스를 인가하는 경우에는 삼각파가 특별히 필요하지 않으며, 일정한 전압의 펄스 인가가 필요하다. 도38에 도시된 구성에서는 설정 목표 전압에 도달할 때까지 전압 제어 회로(10A)가 카운트 값을 판정하고, 전압 제어 회로가 출력하는 신호(C-STOP)에 대응하여 CPU(6A)가 인에이블 신호(C-ENABLE)를 제어하여 카운터(210)를 동작시킬 필요가 있다.
예를 들면, 8V의 전압이 필요하여 0.1V/70ns의 스텝으로 0부터 8V까지 Vcg를 상승시키는 경우에는 80회 × 70ns = 5.6㎲의 셋업 시간이 필요하게 된다. 이것을 전압의 세트마다 수행하면 상당한 시간이 필요하다. 또한, 전압의 도달을 CPU(6A)에 알릴 필요가 있기 때문에 소거 동작시의 전압 설정마다 도달 전압 판정용 제어 신호를 생성하는 디코드 회로(196, 198,···, 200)가 필요하므로, 큰 면적을 필요로 한다.
도39는 도38에 도시된 검토 예의 블록 소거 동작을 설명하기 위한 흐름도이다.
도39를 참조하면, 블록 소거가 개시되면 먼저 스텝S121에서 소거 검증이 수행된다. 스텝S121에서 소거 검증이 패스되면 그대로 블록 소거 동작은 완료된다.
스텝S121에서 소거 검증이 페일된 경우에는 스텝S122로 나아가 CPU는 카운터를 리세트한 이후에 “0"부터 카운트를 스타트시킨다. 그리고, 스텝S123에서 카운트 값이 목표치에 도달하였는지 여부가 판단된다. 그리고, 카운터가 목표치에 도달하지 않은 경우에는 스텝S124에서 카운트 값의 증가가 이루어지고 다시 스텝S123에서 카운트 값이 목표치에 도달하였는지 여부가 판단된다.
스텝S123에서 카운트 값이 목표치에 도달한 것으로 판단되면 전원 제어 회로(10A)로부터 카운터 스톱 신호가 CPU(6A)로 인가되므로, 카운터(210)는 카운트 동작을 정지한다(스텝S125). 그리고, 스텝S126에서 소정 시간 펄스 인가가 수행되고, 스텝S127에서 소거 검증이 수행된다.
스텝S127에서 소거 검증이 페일된 경우에는 스텝S128에서 카운트 값이 증가되어, 즉 CPU(6A)로부터의 인에이블 신호에 의해 카운터(210)가 동작을 개시하고, 전원 제어 회로(10A)로부터 인가되는 스톱 신호(C-STOP)에 대응하여 CPU(6A)는 카운터(210)를 스톱시킨다. 그리고, 소정 시간 펄스 인가가 스텝S129에서 수행된다. 펄스 인가가 스텝S129에서 수행된 이후에 다시 소거 검증이 스텝S127에서 수행된다.
그리고, 스텝S127의 소거 검증이 패스되면 블록 소거가 완료된다.
도40은 실시예 6의 블록 소거시의 차지 펌프의 제어에 관한 구성을 설명하기 위한 블록도이다.
도40을 참조하면, 커맨드 유저 인터페이스부(2)에 포함되는 카운터(212)는 CPU(6)로부터 인가되는 신호(LOAD)에 따라 초기치(DSET)를 세트할 수 있다. 또한, 카운터(212)는 CPU(6)가 출력하는 리세트 신호(RESET)에 대응하여 카운트 값을 “0"으로 리세트하며, 신호(C-ENABLE)가 활성화되면 카운트 업을 수행하고 비활성화되면 카운트 업을 수행하지 않는다. 또한, 카운터(212)는 신호(DV)에 대응하여 카운트 업을 수행하는 1스텝의 카운트 값의 증가분을 변화시킬 수 있다.
도41은 도40의 카운터(212)의 구성을 도시한 블록도이다.
도41을 참조하면, 카운터(212)는 6비트분의 유지 회로(221 내지 226)와 가산기(228)를 포함한다.
유지 회로(221)는 리세트 신호(RESET)에 대응하여 리세트되고 클럭 신호(P2)에 대응하여 입력치를 입력받는 래치 회로(232)와, 래치 회로(232)의 출력과 초기 설정치(DSET)를 로드 신호(LOAD)에 대응하여 전환 출력하는 셀렉터(234)와, 셀렉터(234)의 출력을 클럭 신호(P1)에 대응하여 입력받는 래치 회로(236)를 포함한다. 래치 회로(236)는 리세트 신호(RESET)에 대응하여 리세트된다.
유지 회로(221)는 또한 래치 회로(236)의 출력과 가산기(228)의 6비트의 출력중 대응하는 비트를 C-ENABLE 신호에 대응하여 전환하는 셀렉터(238)를 포함한다. 셀렉터(238)의 출력은 래치 회로(232)의 입력이 된다.
가산기(228)는 유지 회로(221 내지 226)의 6비트의 출력에 증가분치(DV)를 가산하고 다시 유지 회로(221 내지 226)로 출력한다. 증가분치는, 예를 들면 +1인 경우에 카운터(212)는 1클럭당 카운트 값을 하나씩 증가시킨다. 또한, 증가분치가 +2인 경우에 카운터(212)는 1클럭당 카운트 값을 2씩 증가시킨다. 따라서, 램프 파형의 기울기를 바꿀 수 있다.
도42는 실시예 6의 블록 소거 동작을 설명하기 위한 흐름도이다.
도42를 참조하면, 블록 소거가 커맨드에 의해 지시되면 먼저 스텝S131에서 소거 검증이 수행된다. 소거 검증이 패스되면 그대로 블록 소거는 종료된다.
한편, 소거 검증이 페일되면 스텝S132에서 CPU(6)는 카운터(212)에 목표 전압치를 세트한다. 따라서, 차지 펌프의 전류 공급 능력에 따른 스피드에 의해 전압이 상승하여 스텝S133에서 단축된 셋업 시간으로 펄스 인가를 수행할 수 있다.
그리고 스텝S134에서 소거 검증이 수행되고, 소거 검증이 페일된 경우에는 스텝S135에서 카운트 값의 증가에 의해 전압이 상승되며, 스텝S136에서 펄스 인가가 수행되고, 스텝S134에서 다시 소거 검증이 수행된다. 스텝S134에서 소거 검증이 패스되면 블록 소거가 완료된다.
이상에서 설명한 바와 같이, 실시예 6에서는 전압치를 카운트 업하는 카운터 에 초기치를 세트할 수 있도록 변경하였기 때문에 전원 회로내의 차지 펌프의 능력에 따른 속도로 재빠르게 전압을 인가할 수 있다. 예를 들면, 인가 전압으로 8V가 필요한 경우에는 종래 5.6㎲이던 셋업 시간이 1.5㎲로 단축된다. 또한, 도38의 경우에는 복수의 디코드 회로(196 내지 200)가 필요하지만, 도40의 경우에는 카운터에 초기치를 직접 세트할 수 있기 때문에 회로 규모도 작게 할 수 있어 레이아웃 면적의 삭감이 가능해진다.
[실시예 7]
실시예 7에서는 플래시 메모리의 스페어 메모리 셀에 대한 기입 동작에 대하여 설명한다.
종래에는 노멀 메모리 셀 어레이에서 불량이 발견되면 스페어 메모리 셀 어레이에 대한 동작 기입의 체크를 수행하지 않은 단계에서 치환을 수행하고, 이 치환 동작을 수행한 스페어 메모리 셀에 대한 기입 및 판독 동작의 체크를 수행하고 있다. 그러나, 제품 수율을 한층 향상시키기 위해서는 스페어 메모리 셀 어레이 부분을 동작 체크하고 나서, 즉 불량이 아닌 것을 확인하고 나서 치환을 수행하는 편이 좋다.
그러나, 플래시 메모리는 특히 기입 동작에 시간이 걸리기 때문에 종래 노멀 메모리 셀 어레이의 기입 및 판독을 수행하고 더욱이 스페어 메모리 셀 어레이에 대해서도 동일한 처리를 별도로 수행한다면 기입 시간이 길어져 버린다. 따라서, 기입을 노멀 메모리 셀 어레이와 스페어 메모리 셀 어레이에 대하여 동시에 수행하는 멀티 기입을 수행하면 기입 시간을 단축시킬 수 있다.
도43은 스페어 메모리 셀 어레이에 대한 기입 동작을 설명하기 위한 블록도이다.
도43를 참조하면, 입력되는 어드레스(ADDRESS)는 노멀 디코더(260)와 중복 판정 회로(252)에 주어진다. 어드레스가 노멀 메모리 셀 어레이내의 불량 메모리 셀에 상당하는 경우에 중복 판정 회로(252)는 신호(HIT)를 활성화한다. 이에 대응하여 스페어 디코더(262)는 스페어 메모리 셀 어레이(266)의 일부를 선택한다.
한편, 스페어 메모리 셀 어레이(266)의 기입 체크를 사전에 수행하기 위해서는 TEST 회로(254)에서 테스트 신호(TEST)를 활성화시켜 스페어 디코더(262)에 테스트 동작을 수행하게 한다. 테스트 동작시 스페어 디코더(262)는 어드레스 신호(ADDRESS)에 대응하여 스페어 메모리 셀 어레이(266)를 선택한다. 스페어 디코더(262)가 테스트 동작시에 어드레스 신호(ADDRESS)에 대응하여 스페어 메모리 셀 어레이의 일부를 선택하도록 한 것은 선택률의 문제를 해결하기 위해서이다.
선택률의 문제란, 후술되는 바와 같이 노멀 디코더가 어드레스에 대응하여 32분의 1의 선택률로 노멀 메모리 셀 어레이의 일부를 선택한다. 한편, 테스트 동작시에 히트 신호만을 강제적으로 활성화시켜 스페어 디코더가 일대일의 선택을 수행한다면 스페어 메모리 셀 어레이에 기입 펄스가 노멀 셀 어레이의 32배의 빈도로 인가된다. 따라서, 스페어 메모리 셀 어레이가 열화되기 쉽다는 문제가 있다.
또한, 전원 회로(258)는 고전압(VPY)을 노멀 디코더(260)와 스페어 디코더(262)로 공급하는데, 신호(HIT)를 강제적으로 활성화시켰을 때에 스페어 메모리 셀 어레이를 모두 선택한다면 전원 회로(258)의 전류 공급 능력이 부족하게 된다는 문 제가 생긴다. 예를 들면, 통상의 동작으로 노멀 메모리 셀(16)에 비트를 동시 기입하는 경우에 비해 테스트 동작시에 8비트의 스페어에도 동시에 기입한다면 전원 회로(258)의 차지 펌프의 능력은 1.5배 필요하게 된다. 그러나, 16비트를 동시에 기입하는 경우에 스페어 메모리 셀 어레이를 여분으로 1비트 기입한다면 그만큼 차지 펌프의 능력을 크게 할 필요가 없다.
도44는 도43의 노멀 디코더(260), 노멀 메모리 셀 어레이(264) 및 스페어 디코더(262), 스페어 메모리 셀 어레이(266)의 구성을 설명하기 위한 회로도이다.
도44를 참조하면, 노멀 디코더(260)는 기입 데이터 D[0]에 대응하는 출력 신호 BDO[0]를 고전압(VPY)에 따라 출력하는 버퍼 회로(272)와, 기입 데이터 D[1]에 대응하는 출력 신호 BDO[1]를 고전압(VPY)에 따라 출력하는 버퍼 회로(274)와, 기입 데이터 D[2]에 대응하는 출력 신호 BDO[2]를 고전압(VPY)에 따라 출력하는 버퍼 회로(276)와, 기입 데이터 D[15]에 대응하는 출력 신호 BDO[15]를 고전압(VPY)에 따라 출력하는 버퍼 회로(278)를 포함한다.
노멀 디코더(260)는 또한 어드레스 신호(A0 내지 A4)에 대응하여 32개의 메인 비트선중 1개를 선택하여 신호 BDO[0]를 전달하는 셀렉터(282)와, 어드레스 신호(A0 내지 A4)에 대응하여 32개의 메인 비트선중 1개를 선택하여 신호 BDO[1]를 전달하는 셀렉터(284)와, 어드레스 신호(A0 내지 A4)에 대응하여 32개의 메인 비트선중 1개를 선택하여 신호 BDO[2]를 전달하는 셀렉터(286)와, 어드레스 신호(A0 내지 A4)에 대응하여 32개의 메인 비트선중 1개를 선택하여 신호 BDO[15]를 전달하는 셀렉터(288)를 포함한다.
노멀 메모리 셀 어레이(264)에는 각 셀렉터(282, 284, 286, 288)에 대응하는 메인 비트선 MBL[31:0]이 설치되고, 행렬형으로 메모리 셀 트랜지스터가 배치된다.
OR 회로(256)는 신호 HIT[0]와 신호 TEST를 입력받는 OR 회로(292)와, 신호 HIT[1]와 신호 TEST를 입력받는 OR 회로(294)와, 신호 HIT[2]와 신호 TEST를 입력받는 OR 회로(296)와, 신호 HIT[7]와 신호 TEST를 입력받는 OR 회로(298)를 포함한다.
스페어 디코더(262)는 신호 DSP[0]와 OR 회로(292)의 출력과 프리 디코드 신호 /A4·/A3·/A2·/Al·/A0를 입력받는 AND 회로(302)와, 신호 DSP[1]와 OR 회로(294)의 출력과 프리 디코드 신호 /A4·/A3·/A2·/Al·A0를 입력받는 AND 회로(304)와, 신호 DSP[2]와 OR 회로(296)의 출력과 프리 디코드 신호 /A4·/A3·/A2·A1·/A0를 입력받는 AND 회로(306)와, 신호 DSP[7]와 OR 회로(298)의 출력과 프리 디코드 신호 /A4·/A3·A2·A1·A0를 입력받는 AND 회로(308)를 포함한다.
스페어 디코더(262)는 또한 AND 회로(302, 304, 306, 308)의 출력을 각각 입력받는 버퍼 회로(312, 314, 316, 318)를 포함한다. 버퍼 회로(312, 314, 316, 3l8)는 고전압(VPY)을 전원 전압으로 입력받고, 각각 출력 신호 BDOSP[0], BDOSP[1], BDOSP[2], BDOSP[7]를 출력한다.
스페어 디코더(262)는 또한 신호 CAU0를 게이트로 입력받아 신호 BDOSP[0], BDOSP[1], BDOSP[2], BDOSP[7]를 각각 스페어 비트선 MBLSP[0], MBLSP[1], MBLSP[2], MBLSP[7]으로 전달하기 위한 N채널 MOS 트랜지스터(322, 324, 326, 328)를 포함한다.
도45는 도44의 셀렉터(282)의 구성을 도시한 회로도이다.
도45를 참조하면, 셀렉터(282)는 프로그램시에 활성화되는 신호 BDO를 신호 CAUO의 활성화시에 노드(N1)로 전달하는 N채널 MOS 트랜지스터(342)와, 리드시에 노드(N1)의 신호를 신호 BDE로 출력하기 위해 설치되며 게이트로 신호 CAUE를 입력받는 N채널 MOS 트랜지스터(344)를 포함한다.
셀렉터(282)는 또한 노드(N1)와 비트선 MBL[0]의 사이에 접속되며 게이트로 프리 디코드 신호 /A4·/A3·/A2·/Al·/A0를 입력받는 N채널 MOS 트랜지스터(346)와, 노드(N1)와 메인 비트선 MBL[1]의 사이에 접속되며 게이트로 프리 디코드 신호 /A4·/A3·/A2·/A1·A0를 입력받는 N채널 MOS 트랜지스터(348)와, 노드(N1)와 비트선 MBL[31]의 사이에 설치되며 게이트로 프리 디코드 신호 A4·A3·A2·Al·A0를 입력받는 N채널 MOS 트랜지스터(350)를 포함한다.
다시 도44를 참조하면, 셀렉터(282 내지 288)는 32분의 1의 선택률로 비트선(MBL)을 선택한다. 멀티 기입시에는 스페어 판정 신호(HlT)에 상관없이 제어를 수행하기 때문에 테스트 신호(TEST)를 H레벨로 활성화한다. 스페어 비트선(MBLSP[0] 내지 MBLSP[7])에 고전압을 인가하는 경우에 어드레스 신호(A4 내지 A0)를 이용하여 선택률을 32분의 1로 강제적으로 설정한다.
도44에서 신호 A[4:0]가 “00000"인 경우에는 비트선 MBLSP[0]이 선택된다. 또한, 신호 A[4:0]가 “00001"인 경우에는 비트선 MBLSP[1]이 선택되어 프로그램시에 고전압이 인가된다.
도46은 도44에 도시된 구성의 스페어 선택에 관한 변형예를 도시한 도면이 다.
도46을 참조하면, OR 회로(256A)는 신호 HIT[0]와 신호 TEST를 입력받는 OR 회로(362)와, 신호 HIT[1]와 신호 TEST를 입력받는 OR 회로(364)를 포함한다.
스페어 디코더(262A)는 데이터 신호 DSP[0]와 OR 회로(362)의 출력과 프리 디코드 신호 /A4·/A3·/A2를 입력받는 AND 회로(366)와, 데이터 신호 DSP[1]와 OR 회로(364)의 출력과 프리 디코드 신호 /A4·/A3·A2를 입력받는 AND 회로(370)와, 전원 전압으로 고전압(VPY)을 입력받고 입력으로 AND 회로(366)의 출력을 입력받아 신호 BDOSP[0]를 출력하는 버퍼 회로(368)와, 전원 전압으로 고전압(VPY)을 입력받고 입력으로 AND 회로(370)의 출력을 입력받아 신호 BDOSP[1]를 출력하는 버퍼 회로(372)와, 어드레스 신호 A0, A1에 대응하여 비트선 MBLSP[0] 내지 MBLSP[3]중 1개를 선택하고 이것으로 신호 BDOSP[0]를 인가하는 4분의 1 선택 회로(374)와, 어드레스 신호 A0, A1에 대응하여 비트선 MBLSP[4] 내지 MBLSP[7]중 1개를 선택하고 이것으로 신호 BDOSP[1]를 인가하는 4분의 1 선택 회로(376)를 포함한다.
도47은 도46의 4분의 1 선택 회로(374)의 구성을 도시한 회로도이다.
도47를 참조하면, 4분의 1 선택 회로(374)는 프로그램시에 활성화되는 신호 BDO를 신호 CAUO의 활성화시에 노드(N2)로 전달하는 N채널 MOS 트랜지스터(382)와, 리드시에 노드(N2)의 신호를 신호 BDE로서 출력하기 위하여 설치되며 게이트로 신호 CAUE를 입력받는 N채널 MOS 트랜지스터(384)를 포함한다.
4분의 1 선택 회로(374)는 또한 노드(N2)와 비트선 MBLSP[0]의 사이에 접속되며 게이트로 프리 디코드 신호 /Al·/A0를 입력받는 N채널 MOS 트랜지스터(386) 와, 노드(N2)와 메인 비트선 MBLSP[1]의 사이에 접속되며 게이트로 프리 디코드 신호 /A1·A0를 입력받는 N채널 MOS 트랜지스터(388)와, 노드(N1)와 비트선 MBLSP[3]의 사이에 설치되며 게이트로 프리 디코드 신호 A1·A0를 입력받는 N채널 MOS 트랜지스터(390)를 포함한다.
도46, 도47에 도시된 변형예에서는 신호 BDO[7:0]의 고전압 신호를 디코드할 뿐만 아니라 컬럼 디코드측에서 어드레스 A[1:0]에 따라 4분의 1로 선택하고, 또한 AND 회로(366, 370)에서 어드레스 A[4:2]에 따라 8분의 1로 선택을 수행하는 것으로 도44의 경우와 동일한 효과를 얻을 수 있다.
실시예 7에서는 스페어 메모리 셀에 대한 신뢰성이 향상되어 전원 회로의 능력을 그다지 증대시키지 않아도 노멀 메모리 셀과 스페어 메모리 셀에 대한 동시 기입이 가능한 불휘발성 반도체 기억 장치를 제공할 수 있다.
본 발명을 상세히 설명하였으나, 이는 예시를 위한 것으로 한정으로 간주되어서는 안되며, 발명의 정신과 범위는 첨부의 청구 범위에 의해서만 한정되는 것으로 분명히 이해될 것이다.
본 발명에 따르면, 최대 전압에 펄스 전압이 도달한 이후에도 임계치 전압의 변화를 리니어로 근접시킬 수 있다.
따라서, 블록 소거 시간을 단축시킬 수 있으므로, 고속으로 소거 가능하고 효율적으로 동작시킬 수 있는 불휘발성 반도체 기억 장치를 제공할 수 있다.

Claims (15)

  1. 불휘발성 반도체 기억 장치에 있어서,
    불휘발성으로 데이터를 기억하는 복수의 메모리 셀을 포함하는 메모리 블록과,
    상기 복수의 메모리 셀에 인가되는 전압을 발생하는 전원 회로와,
    상기 전원 회로를 제어하여 상기 메모리 블록의 상기 복수의 메모리 셀에 일괄적으로 소거 펄스를 인가하는 제어부를 구비하며,
    상기 제어부는 상기 소거 펄스를 반복하여 인가할 때에 상기 소거 펄스의 전압이 인가 최대 전압치에 도달할 때까지는 제1 고정 펄스 폭으로 상기 소거 펄스의 전압을 인가 횟수에 대응하여 증가시키고, 상기 소거 펄스의 전압이 상기 인가 최대 전압치에 도달하면 상기 인가 횟수에 대응하여 상기 소거 펄스의 펄스 폭을 증가시키는 불휘발성 반도체 기억 장치.
  2. 제1항에 있어서,
    상기 제어부는 상기 인가 횟수가 소정 횟수에 도달할 때까지는 제2 고정 펄스 폭으로 상기 소거 펄스를 인가하고, 상기 인가 횟수가 상기 소정 횟수에 도달하면 상기 제1 펄스 폭으로 상기 소거 펄스를 인가하는 불휘발성 반도체 기억 장치.
  3. 제1항에 있어서,
    상기 제어부는 상기 소거 펄스의 전압이 상기 인가 최대 전압치에 도달하면 동일한 펄스 폭의 상기 소거 펄스를 소정 횟수 인가시킨 이후에 펄스 폭을 증가시키는 불휘발성 반도체 기억 장치.
  4. 제1항에 있어서,
    상기 제어부는 상기 인가 최대 전압치와, 상기 제1 고정 펄스 폭과, 상기 소거 펄스 전압의 증가분과, 상기 펄스 폭의 증가분을 변수로서 판독하는 불휘발성 반도체 기억 장치.
  5. 불휘발성 반도체 기억 장치에 있어서,
    불휘발성으로 데이터를 기억하는 복수의 메모리 셀을 포함하는 메모리 블록과,
    상기 복수의 메모리 셀에 인가되는 전압을 발생하는 전원 회로와,
    상기 복수의 메모리 셀의 일부를 선택하기 위하여 어드레스 신호를 디코드하는 디코드 회로를 구비하며,
    상기 디코드 회로는 상기 어드레스 신호에 대응하여 상기 일부를 선택하는 제1 동작과, 상기 어드레스 신호에 대응하여 상기 일부에 더하여 다른 영역을 다중으로 선택하는 제2 동작을 제어 신호에 따라 전환 실행하며,
    상기 전원 회로 및 상기 디코드 회로를 제어하여 상기 메모리 블록의 소거를 수행하는 제어부를 더 구비하고,
    상기 제어부는 상기 메모리 블록이 제1 소거 상태가 된 이후에 상기 제어 신호를 통해 상기 디코드 회로에 상기 제2 동작을 수행시키고, 상기 메모리 블록에 대하여 과소거 리커버리 펄스를 인가시키는 불휘발성 반도체 기억 장치.
  6. 제5항에 있어서,
    상기 제어부는 타깃 시간에 상당하는 수의 상기 과소거 리커버리 펄스를 연속하여 인가하고, 그 후 과소거 검증을 실행하는 불휘발성 반도체 기억 장치.
  7. 불휘발성 반도체 기억 장치에 있어서,
    불휘발성으로 데이터를 기억하는 복수의 메모리 트랜지스터를 포함하는 메모리 블록과,
    상기 복수의 메모리 트랜지스터의 컨트롤 게이트로 인가되는 게이트 전압과 드레인으로 인가되는 드레인 전압을 발생하는 전원 회로와,
    상기 게이트 전압의 목표 전압치에 상당하는 카운터 값을 클럭 신호에 대응하여 카운트 업하는 카운터와,
    상기 전원 회로를 제어하는 제어부를 구비하며,
    상기 제어부는 상기 전원 회로에 상기 드레인 전압의 활성화를 지시하고, 그 후 상기 카운트 값의 초기치를 상기 카운터에 세트시키고, 상기 카운터의 카운트 업 동작의 스타트 및 스톱을 제어하는 불휘발성 반도체 기억 장치.
  8. 제7항에 있어서,
    상기 카운터의 카운트 업 속도는 상기 제어부로부터의 지시 신호에 대응하여 변화하고,
    상기 메모리 블록은,
    상기 메모리 블록이 기입 허가 상태인지 여부를 나타내는 로크 비트를 기억하는 한 쌍의 메모리 트랜지스터를 더 포함하고,
    상기 제어부는 기입 대상이 상기 로크 비트인 경우에 상기 기입 대상이 상기 로크 비트가 아닌 경우에 비해 상기 카운트 업 속도가 늦어지도록 상기 지시 신호를 출력하고, 또한 상기 기입 대상이 상기 로크 비트가 아닌 경우에 비해 1회의 펄스 폭이 길어지도록 기입 펄스를 인가하는 불휘발성 반도체 기억 장치.
  9. 제8항에 있어서,
    상기 제어부는 상기 기입 대상이 상기 로크 비트인 경우에 기입 펄스의 인가시 마다 상기 카운터에 상기 카운트 값의 초기치를 세트시키고 상기 카운터의 카운트 업 동작을 스타트시키며, 상기 기입 대상이 상기 로크 비트가 아닌 경우에는 두번째 이후의 기입 펄스로서 방형파를 인가하는 불휘발성 반도체 기억 장치.
  10. 통상의 기입 모드와 가속 기입 모드를 갖는 불휘발성 반도체 기억 장치에 있어서,
    불휘발성으로 데이터를 기억하는 복수의 메모리 셀을 포함하는 메모리 블록 과,
    기입시 처음에 기입 데이터가 세트되며 일시적으로 데이터를 유지하는 완충 기억부와,
    상기 메모리 블록으로부터의 판독 데이터와 상기 완충 기억부의 유지값을 입력받아 상기 메모리 블록에 기입 펄스를 인가하기 위한 정보를 출력하는 검증 회로를 구비하며,
    상기 검증 회로는 상기 완충 기억부의 상기 유지값과 상기 판독 데이터를 비교하여 상기 완충 기억부의 유지값을 갱신하고 상기 정보를 출력하는 제1 동작과, 상기 완충 기억부의 상기 유지값을 그대로 상기 정보로서 출력하는 제2 동작을 실행하며,
    상기 불휘발성 반도체 기억 장치는,
    상기 검증 회로의 제어를 수행하는 제어부를 더 구비하며,
    상기 제어부는 상기 통상의 기입 모드에서 상기 검증 회로에 상기 제1 동작을 실행시키므로써 첫번째 기입 펄스를 위한 상기 정보를 출력하고, 상기 가속 기입 모드에서 상기 검증 회로에 상기 제2 동작을 실행시키므로써 첫번째 기입 펄스를 위한 상기 정보를 출력시키는 불휘발성 반도체 기억 장치.
  11. 제10항에 있어서,
    상기 제어부는 기입을 위한 연속되는 어드레스를 발생하며, 상기 통상의 기입 모드에서는 상기 어드레스의 인크리먼트시 마다 인터럽트 요구의 유무와 시간 초과를 판별하고, 상기 가속 기입 모드에서는 인터럽트 요구의 유무 판별을 수행하지 않고 상기 어드레스의 인크리먼트 복수회에서 1회의 비율로 시간 초과를 판별하는 불휘발성 반도체 기억 장치.
  12. 불휘발성 반도체 기억 장치에 있어서,
    불휘발성으로 데이터를 기억하는 복수의 메모리 트랜지스터를 포함하는 메모리 블록과,
    상기 복수의 메모리 트랜지스터에 인가되는 전압을 발생하는 전원 회로와,
    상기 전압의 목표 전압치에 상당하는 카운트 값을 클럭 신호에 대응하여 카운트 업하는 카운터와,
    상기 전원 회로를 제어하는 제어부를 구비하며,
    상기 제어부는 상기 메모리 블록의 일괄 소거가 지시되면 상기 카운트 값의 초기치를 상기 카운터에 세트시키고, 상기 카운터의 카운트 업 동작의 스타트 및 스톱을 제어하는 불휘발성 반도체 기억 장치.
  13. 제12항에 있어서,
    상기 카운터는,
    복수 비트의 입력값에 상기 제어부로부터 주어지는 값을 가산하는 가산기와,
    로드 신호에 대응하여 유지값이 세트되고 인에이블 신호의 활성화에 대응하여 상기 가산기의 출력을 입력받으며 인에이블 신호의 비활성화에 대응하여 현재의 유지값을 유지하고, 유지값을 상기 복수 비트의 입력값으로서 상기 가산기로 출력하는 유지 회로를 포함하는 불휘발성 반도체 기억 장치.
  14. 불휘발성 반도체 기억 장치에 있어서,
    노멀 메모리 셀 어레이와,
    스페어 메모리 셀 어레이와,
    어드레스 신호에 대응하여 상기 노멀 메모리 셀 어레이의 일부를 선택하는 노멀 디코드 회로와,
    상기 어드레스 신호를 입력받아 중복 판정을 수행하는 중복 판정 회로와,
    상기 중복 판정 회로의 출력을 테스트 신호에 대응하여 강제적으로 활성화시키는 게이트 회로와,
    상기 게이트 회로의 출력과 상기 어드레스 신호에 대응하여 상기 스페어 메모리 셀 어레이의 일부를 선택하는 스페어 디코드 회로를 구비하며,
    상기 스페어 디코드 회로는 상기 테스트 신호의 활성화시 상기 어드레스 신호가 인크리먼트되면 복수회에서 1회의 비율로 상기 스페어 메모리 셀 어레이의 특정 부분을 선택하는 불휘발성 반도체 기억 장치.
  15. 제14항에 있어서,
    상기 테스트 신호의 활성화시 상기 어드레스 신호가 소정의 범위만큼 인크리먼트될 때에 상기 스페어 메모리 셀 어레이내의 특정 메모리 트랜지스터가 선택되 는 비율은 상기 노멀 메모리 셀 어레이내의 특정 메모리 트랜지스터가 선택되는 비율과 동일한 불휘발성 반도체 기억 장치.
KR1020040073744A 2003-09-16 2004-09-15 불휘발성 반도체 기억 장치 KR100566848B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003322643A JP4424952B2 (ja) 2003-09-16 2003-09-16 不揮発性半導体記憶装置
JPJP-P-2003-00322643 2003-09-16

Publications (2)

Publication Number Publication Date
KR20050027950A KR20050027950A (ko) 2005-03-21
KR100566848B1 true KR100566848B1 (ko) 2006-04-03

Family

ID=34270004

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040073744A KR100566848B1 (ko) 2003-09-16 2004-09-15 불휘발성 반도체 기억 장치

Country Status (3)

Country Link
US (3) US7230852B2 (ko)
JP (1) JP4424952B2 (ko)
KR (1) KR100566848B1 (ko)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4441929B2 (ja) * 2005-01-19 2010-03-31 日本電気株式会社 ディスク装置及びホットスワップ方法
GB2436272B (en) * 2005-01-27 2011-01-19 Spansion Llc Semiconductor device, address assignment method, and verify method
KR100719368B1 (ko) 2005-06-27 2007-05-17 삼성전자주식회사 플래시 메모리 장치의 적응적 프로그램 방법 및 장치
JP4790335B2 (ja) * 2005-07-07 2011-10-12 ルネサスエレクトロニクス株式会社 不揮発性半導体記憶装置
US7656710B1 (en) 2005-07-14 2010-02-02 Sau Ching Wong Adaptive operations for nonvolatile memories
JP4794231B2 (ja) * 2005-07-22 2011-10-19 ルネサスエレクトロニクス株式会社 不揮発性半導体記憶装置
US20070086244A1 (en) * 2005-10-17 2007-04-19 Msystems Ltd. Data restoration in case of page-programming failure
US7554843B1 (en) * 2005-11-04 2009-06-30 Alta Analog, Inc. Serial bus incorporating high voltage programming signals
US20070136640A1 (en) * 2005-12-14 2007-06-14 Jarrar Anis M Defect detection and repair in an embedded random access memory
KR100724342B1 (ko) * 2006-01-06 2007-06-04 삼성전자주식회사 모드별 기준 페일수를 가지는 기준 페일 비트 확인회로 및이를 포함하는 불휘발성 반도체 메모리 장치
US7403425B2 (en) * 2006-03-07 2008-07-22 Micron Technology, Inc. Programming a flash memory device
US7663925B2 (en) * 2006-05-15 2010-02-16 Micron Technology Inc. Method and apparatus for programming flash memory
US7915916B2 (en) * 2006-06-01 2011-03-29 Micron Technology, Inc. Antifuse programming circuit with snapback select transistor
JP4901348B2 (ja) * 2006-07-20 2012-03-21 株式会社東芝 半導体記憶装置およびその制御方法
KR100744014B1 (ko) 2006-07-31 2007-07-30 삼성전자주식회사 플래시 메모리 장치 및 그것의 멀티 블록 소거 방법
JP2008117505A (ja) * 2006-11-03 2008-05-22 Spansion Llc 半導体装置およびその制御方法
KR100851853B1 (ko) 2006-11-22 2008-08-13 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 및 프로그램 검증방법
US7515485B2 (en) * 2006-12-18 2009-04-07 Micron Technology, Inc. External clock tracking pipelined latch scheme
KR100871700B1 (ko) * 2007-02-13 2008-12-08 삼성전자주식회사 불휘발성 메모리 장치에서 전하 손실에 기인한 오류 데이터정정 방법
KR100837282B1 (ko) * 2007-06-14 2008-06-12 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함하는 메모리 시스템,그것의 프로그램 방법 및 읽기 방법
US7539058B2 (en) * 2007-07-17 2009-05-26 Macronix International Co., Ltd. Non-volatile memory and operating method thereof
US7804722B2 (en) * 2007-07-25 2010-09-28 Hynix Semiconductor Inc. Voltage supply circuit and flash memory device including the same, and method of supplying operating voltage
US7978520B2 (en) 2007-09-27 2011-07-12 Sandisk Corporation Compensation of non-volatile memory chip non-idealities by program pulse adjustment
US7864589B2 (en) * 2008-08-14 2011-01-04 Micron Technology, Inc. Mitigation of runaway programming of a memory device
KR101532584B1 (ko) * 2009-01-30 2015-06-30 삼성전자주식회사 비휘발성 메모리 장치, 및 그의 프로그램 방법
KR101074539B1 (ko) * 2009-02-04 2011-10-17 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 그 동작 방법
JP2010267341A (ja) * 2009-05-15 2010-11-25 Renesas Electronics Corp 半導体装置
KR101201840B1 (ko) 2010-04-26 2012-11-15 에스케이하이닉스 주식회사 반도체 메모리 장치
KR101201839B1 (ko) 2010-04-26 2012-11-15 에스케이하이닉스 주식회사 반도체 메모리 장치 및 프로그래밍 전류펄스 생성방법
JP2013229080A (ja) * 2012-04-26 2013-11-07 Toshiba Corp 半導体記憶装置および半導体記憶装置のテスト方法
US8787088B2 (en) 2012-06-29 2014-07-22 Sandisk Technologies Inc. Optimized erase operation for non-volatile memory with partially programmed block
US9007822B2 (en) * 2012-09-14 2015-04-14 Micron Technology, Inc. Complementary decoding for non-volatile memory
CN103794251B (zh) * 2012-11-01 2016-09-14 北京兆易创新科技股份有限公司 一种快闪存储器的擦除方法和装置
KR101903842B1 (ko) 2013-03-04 2018-10-02 샌디스크 테크놀로지스 엘엘씨 비휘발성 메모리의 개선된 내구성을 위한 동적 소거 깊이
US10134470B2 (en) * 2015-11-04 2018-11-20 Micron Technology, Inc. Apparatuses and methods including memory and operation of same
US10446226B2 (en) 2016-08-08 2019-10-15 Micron Technology, Inc. Apparatuses including multi-level memory cells and methods of operation of same
CN107863127A (zh) * 2017-10-31 2018-03-30 杭州迪普科技股份有限公司 一种存储设备存储单元选择方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950009730A (ko) * 1993-09-06 1995-04-24 가나이 쯔또무 반도체 불휘발성기억장치
JPH11110977A (ja) 1997-10-06 1999-04-23 Sony Corp 不揮発性半導体記憶装置
JPH11219593A (ja) 1998-02-03 1999-08-10 Sony Corp 不揮発性半導体記憶装置
KR20010044902A (ko) * 1999-11-01 2001-06-05 윤종용 문턱 전압 분포들 사이의 마진을 일정하게 유지할 수 있는멀티-스테이트 불휘발성 반도체 메모리 장치
KR20020012523A (ko) * 2000-08-07 2002-02-16 마찌다 가쯔히꼬 반도체 비휘발성 메모리의 시험 방법

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4556975A (en) * 1983-02-07 1985-12-03 Westinghouse Electric Corp. Programmable redundancy circuit
DE68928112T2 (de) * 1988-03-18 1997-11-20 Toshiba Kawasaki Kk Masken-rom mit Ersatzspeicherzellen
US5844842A (en) * 1989-02-06 1998-12-01 Hitachi, Ltd. Nonvolatile semiconductor memory device
US5343429A (en) * 1991-12-06 1994-08-30 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device having redundant circuit and method of testing to see whether or not redundant circuit is used therein
JP3015661B2 (ja) * 1994-04-27 2000-03-06 株式会社東芝 不揮発性半導体メモリ
JP3774500B2 (ja) * 1995-05-12 2006-05-17 株式会社ルネサステクノロジ 半導体記憶装置
JP3865828B2 (ja) * 1995-11-28 2007-01-10 株式会社ルネサステクノロジ 半導体記憶装置
US5914896A (en) * 1996-08-01 1999-06-22 Aplus Flash Technology, Inc. Flash memory with high speed erasing structure using thin oxide and thick oxide semiconductor devices
TW393645B (en) * 1997-07-22 2000-06-11 Sanyo Electric Co Non-volatile semiconductor memory device
EP0908895A1 (en) 1997-10-09 1999-04-14 STMicroelectronics S.r.l. Controlled hot-electron writing method for non-volatile memory cells
US5991201A (en) * 1998-04-27 1999-11-23 Motorola Inc. Non-volatile memory with over-program protection and method therefor
JP3228225B2 (ja) * 1998-06-01 2001-11-12 日本電気株式会社 記憶装置の消去装置、記憶装置の消去方法及びそのプログラムを記憶した記憶媒体
TW451427B (en) * 1999-02-19 2001-08-21 Mitsubishi Electric Corp Non-volatile semiconductor memory device and the driving method, operation method and manufacturing method of the same
JP2001006387A (ja) * 1999-06-18 2001-01-12 Mitsubishi Electric Corp テスト回路を備える半導体装置および半導体装置の試験装置
JP3844917B2 (ja) * 1999-07-26 2006-11-15 株式会社東芝 半導体記憶装置
US6914827B2 (en) * 1999-07-28 2005-07-05 Samsung Electronics Co., Ltd. Flash memory device capable of preventing an over-erase of flash memory cells and erase method thereof
JP4360736B2 (ja) * 2000-01-27 2009-11-11 株式会社ルネサステクノロジ 不揮発性半導体記憶装置および不揮発性半導体記憶装置のデータ消去方法
JP4141656B2 (ja) * 2000-06-07 2008-08-27 株式会社東芝 半導体メモリ集積回路および半導体メモリ装置をテストする方法
JP3704460B2 (ja) * 2000-07-05 2005-10-12 シャープ株式会社 不揮発性半導体メモリ装置の消去方法
JP4413406B2 (ja) * 2000-10-03 2010-02-10 株式会社東芝 不揮発性半導体メモリ及びそのテスト方法
JP4250325B2 (ja) * 2000-11-01 2009-04-08 株式会社東芝 半導体記憶装置
JP2002319298A (ja) * 2001-02-14 2002-10-31 Mitsubishi Electric Corp 半導体集積回路装置
US6785180B2 (en) * 2001-03-15 2004-08-31 Micron Technology, Inc. Programmable soft-start control for charge pump
JP2003203496A (ja) * 2002-01-08 2003-07-18 Mitsubishi Electric Corp 半導体記憶装置
JP4071967B2 (ja) * 2002-01-17 2008-04-02 株式会社ルネサステクノロジ 不揮発性半導体記憶装置及びそのデータ消去方法
US6724662B2 (en) * 2002-09-04 2004-04-20 Atmel Corporation Method of recovering overerased bits in a memory device
JP4007909B2 (ja) * 2002-12-26 2007-11-14 株式会社ルネサステクノロジ 不揮発性半導体記憶装置のデータ消去方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950009730A (ko) * 1993-09-06 1995-04-24 가나이 쯔또무 반도체 불휘발성기억장치
JPH11110977A (ja) 1997-10-06 1999-04-23 Sony Corp 不揮発性半導体記憶装置
JPH11219593A (ja) 1998-02-03 1999-08-10 Sony Corp 不揮発性半導体記憶装置
KR20010044902A (ko) * 1999-11-01 2001-06-05 윤종용 문턱 전압 분포들 사이의 마진을 일정하게 유지할 수 있는멀티-스테이트 불휘발성 반도체 메모리 장치
KR20020012523A (ko) * 2000-08-07 2002-02-16 마찌다 가쯔히꼬 반도체 비휘발성 메모리의 시험 방법

Also Published As

Publication number Publication date
US20050057997A1 (en) 2005-03-17
US20080151625A1 (en) 2008-06-26
JP2005092948A (ja) 2005-04-07
KR20050027950A (ko) 2005-03-21
US7230852B2 (en) 2007-06-12
US20070285987A1 (en) 2007-12-13
JP4424952B2 (ja) 2010-03-03
US7339831B2 (en) 2008-03-04

Similar Documents

Publication Publication Date Title
KR100566848B1 (ko) 불휘발성 반도체 기억 장치
US7426138B1 (en) Parallel programming of multiple-bit-per-cell memory cells by controlling program pulsewidth and programming voltage
KR100632940B1 (ko) 프로그램 사이클 시간을 가변시킬 수 있는 불 휘발성반도체 메모리 장치
US5627782A (en) Electrically erasable and programmable non-volatile semiconductor memory with automatic write-verify controller
JP3836643B2 (ja) 不揮発性集積回路メモリ装置とその駆動方法
US5774397A (en) Non-volatile semiconductor memory device and method of programming a non-volatile memory cell to a predetermined state
US6414874B2 (en) Nonvolatile semiconductor memory device having electrically and collectively erasable characteristics
JP3761333B2 (ja) 電気的に消去及びプログラムできるメモリセルを備えている半導体メモリ装置
US7405977B2 (en) Flash memory device with improved read speed
KR100322470B1 (ko) 고밀도 노어형 플래시 메모리 장치 및 그것의 프로그램 방법
JPH076593A (ja) 不揮発性半導体メモリ装置
JP2008084471A (ja) 半導体記憶装置
JP5264047B2 (ja) 半導体メモリ装置の制御情報をプログラムするための方法と装置
KR101213729B1 (ko) 반도체 메모리 장치 및 그 구동 방법
JP2001143489A (ja) 読出時間を短縮させる不揮発性半導体メモリ装置
TW202305805A (zh) 半導體裝置及抹除方法
KR100648249B1 (ko) 소거 시간을 단축시킬 수 있는 불 휘발성 메모리 장치의소거 방법
JP3600424B2 (ja) 半導体記憶装置
JP2009151937A (ja) 不揮発性半導体記憶装置
JP5217848B2 (ja) 不揮発性半導体記憶装置
KR100660541B1 (ko) 소거 시간을 단축시킬 수 있는 불 휘발성 메모리 장치의소거 방법
EP0818788B1 (en) Fast FLASH EPROM programming and pre-programming circuit design

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

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140228

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150302

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160304

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170302

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180316

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee