KR100941745B1 - 플래시 메모리 셀들의 빌트인 셀프 테스트 - Google Patents

플래시 메모리 셀들의 빌트인 셀프 테스트 Download PDF

Info

Publication number
KR100941745B1
KR100941745B1 KR1020057001105A KR20057001105A KR100941745B1 KR 100941745 B1 KR100941745 B1 KR 100941745B1 KR 1020057001105 A KR1020057001105 A KR 1020057001105A KR 20057001105 A KR20057001105 A KR 20057001105A KR 100941745 B1 KR100941745 B1 KR 100941745B1
Authority
KR
South Korea
Prior art keywords
flash memory
memory cells
bist
state
array
Prior art date
Application number
KR1020057001105A
Other languages
English (en)
Other versions
KR20050021543A (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
Priority claimed from US10/200,518 external-priority patent/US7010736B1/en
Priority claimed from US10/200,330 external-priority patent/US6665214B1/en
Priority claimed from US10/200,544 external-priority patent/US6631086B1/en
Priority claimed from US10/200,526 external-priority patent/US7028240B1/en
Priority claimed from US10/200,539 external-priority patent/US6707718B1/en
Priority claimed from US10/200,540 external-priority patent/US20040049724A1/en
Application filed by 어드밴스드 마이크로 디바이시즈, 인코포레이티드 filed Critical 어드밴스드 마이크로 디바이시즈, 인코포레이티드
Publication of KR20050021543A publication Critical patent/KR20050021543A/ko
Application granted granted Critical
Publication of KR100941745B1 publication Critical patent/KR100941745B1/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/72Masking faults in memories by using spares or by reconfiguring with optimized replacement algorithms
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/14Implementation of control logic, e.g. test mode decoders
    • G11C29/16Implementation of control logic, e.g. test mode decoders using microprogrammed units, e.g. state machines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/48Arrangements in static stores specially adapted for testing by means external to the store, e.g. using direct memory access [DMA] or using auxiliary access paths
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS

Landscapes

  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

반도체 기판(302) 위에 제조되는 플래시 메모리 셀들(304)을 테스트하기 위한 BIST 시스템(300)에 있어서, BIST 인터페이스(312), 프론트 엔드 인터페이스(314) 및 백 엔드 BIST 상태 머신(316)이 반도체 기판(302) 위에 제조된다. BIST 인터페이스(312)는 외부 테스트 시스템(318)으로부터 테스트 모드 데이터를 입력하고, 프론트 엔드 상태 머신(314)은 테스트 모드 데이터를 디코드하여, 적어도 하나의 요구되는 테스트 모드를 수행하기 위한 순서를 결정한다. 플래시 메모리 셀들(304)의 온칩 테스트하기 위한 순서에 따라, 백 엔드 BIST 상태 머신(316)은 플래시 메모리 셀들(304)에 대해 적어도 하나의 요구되는 테스트 모드를 수행한다.
플래시 메모리, BIST, 온칩 테스트, 상태 머신, 테스트 모드, 테스트 순서

Description

플래시 메모리 셀들의 빌트인 셀프 테스트{BUILT-IN-SELF-TEST OF FLASH MEMORY CELLS}
본 발명은 일반적으로 플래시 메모리 디바이스들의 제조에 관한 것으로서, 특히 핀들의 수를 최소화하여 플래시 메모리 셀들의 어레이의 BIST(Built-in-Self-Test)를 수행함으로써 반도체 웨이퍼 위의 최대 수의 다이들이 동시에 테스트될 수 있게 하는 시스템 및 방법에 관한 것이다.
"상세한 설명" 부분은 다음과 같은 하위 부분들로 구성된다:
A. BIST(Built-in-Self-Test) 시스템;
B. BIST(Built-in-Self-Test) 인터페이스;
C. 백 엔드 BIST(Built-in-Self-Test) 상태 머신;
D. 코어 플래시 메모리 셀들의 결함 어드레스의 온칩 복구;
E. BIST(Built-in-Self-Test) 백 엔드 상태 머신의 기능을 테스트하기 위한 진단 모드;
F. BIST(Built-in-Self-Test) 시스템 내의 어드레스 시퀀서;
G. BIST(Built-in-Self-Test) 시스템의 패턴 발생기:
H. 효율적인 소거 검증 BIST(Built-in-Self-Test) 모드를 위한 온칩 소거 펄스 카운터; 및
I. 플래시 메모리 디바이스의 CAM 부분을 테스트하는 동안의 칩 위에서의 마지닝 전압의 발생
도 1을 참조하여, 플래시 메모리 디바이스의 플래시 메모리 셀(100)은 터널 유전 구조(102)를 포함하는바, 이는 전형적으로 집적 회로 제조 분야의 당업자에게 알려져있는 바와 같이 실리콘 이산화물(Si02) 또는 질화 산화물로 이루어진다. 이 터널 유전 구조(102)는 반도체 기판 또는 p웰(103) 위에 배치된다. 또한, 예를 들어 폴리실리콘과 같은 도전성 물질로 이루어진 플로팅 게이트 구조(104)가 터널 유전 구조(102) 위에 배치된다. 전형적으로 실리콘 이산화물(Si02)로 이루어진 유전 구조(106)가 플로팅 게이트 구조(104) 위에 배치된다. 도전성 물질로 이루어진 제어 게이트 구조(108)가 유전 구조(106) 위에 배치된다.
예를 들어 비소(As) 또는 인(P)과 같은 접합 도펀트에 의해 도핑된 드레인 비트 라인 접합(110)이 반도체 기판 또는 p웰(103)의 액티브 디바이스 영역(112) 내에서 도 1의 플로팅 게이트 구조(104)의 왼쪽 측벽쪽 가까이에 형성된다. 접합 도펀트에 의해 도핑된 소스 비트 라인 접합(114)이 반도체 기판 또는 p웰(103)의 액티브 디바이스 영역(112) 내에서 도 1의 플로팅 게이트 구조(104)의 오른쪽 측벽쪽 가까이에 형성된다.
도 1의 플래시 메모리 셀(100)의 프로그램 동작 또는 소거 동작 동안, 전하 캐리어들은 플로팅 게이트 구조(104) 내에 주입되거나 또는 이로부터 터널링되어 나온다. 플래시 메모리 기술 분야의 당업자에게 알려져있는 바와 같이, 플로팅 게이트 구조(104) 내에서의 전하 캐리어들의 양의 이러한 변화는 플래시 메모리 셀(100)의 임계 전압을 변경한다. 예를 들어, 전자들이 플로팅 게이트 구조(104) 내에 주입되는 전하 캐리어들일 때, 임계 전압은 증가한다. 대안적으로, 전자들이 플로팅 게이트 구조(104)로부터 터널링되어 나오는 전하 캐리어들일 때, 임계 전압은 감소한다. 플래시 메모리 기술 분야의 당업자에게 알려져있는 바와 같이, 이러한 2개의 조건들은 플래시 메모리 셀(100) 내에 디지털 정보를 저장하기 위한 2개의 상태들로서 이용된다.
예를 들어 플래시 메모리 셀(100)을 프로그램하는 동안에는, +9V의 전압이 제어 게이트 구조(108)에 인가되고, +5V의 전압이 드레인 비트 라인 접합(110)에 인가되며, 그리고 0V의 전압이 소스 비트 라인 접합(114) 및 반도체 기판 또는 p웰(103)에 인가된다. 이러한 바이어스에 의해, 플래시 메모리 셀(100)이 N 채널 플래시 메모리 셀일 때, 플래시 메모리 셀(100)을 프로그램하는 동안 전자들은 플로팅 게이트 구조(104) 내에 주입되어 이 플래시 메모리 셀(100)의 임계 전압을 증가시킨다.
대안적으로, 플래시 메모리 셀(100)을 소거하는 동안에는, -9.5V의 전압이 제어 게이트 구조(108)에 인가되고, 드레인 비트 라인 접합(110)은 플로팅되며, 그리고 +4.5V의 전압이 소스 비트 라인 접합(114) 및 반도체 기판 또는 p웰(103)에 인가된다. 이러한 바이어스에 의해, 플래시 메모리 셀(100)이 N 채널 플래시 메모리 셀일 때, 플래시 메모리 셀(100)을 소거하는 동안 전자들은 플로팅 게이트 구조(104)로부터 빠져나와 이 플래시 메모리 셀(100)의 임계 전압을 감소시킨다. 이러한 소거 동작은 플래시 메모리 기술 분야의 당업자에게 알려져있는 바와 같이 에지 소거 공정(edge erase process)이라 불린다.
대안적인 채널 소거 공정에서는, -9.5V의 전압이 제어 게이트 구조(108)에 인가되고, +9V의 전압이 반도체 기판 또는 또는 p웰(103)에 인가되며, 드레인 비트 라인 접합(110) 및 소스 비트 라인 접합(114)은 플로팅된다. 이러한 바이어스를 이용하여, 플래시 메모리 셀(100)이 N 채널 플래시 메모리 셀일 때, 플래시 메모리 셀(100)을 소거하는 동안 전자들이 플로팅 게이트 구조(104)로부터 기판 또는 p웰(103)로 빠져나와 이 플래시 메모리 셀(100)의 임계 전압을 감소시킨다.
도 2는 도 1의 플래시 메모리 셀(100)의 회로도 표현으로서, 제어 게이트 구조(108)에 결합된 제어 게이트 단자(150), 드레인 비트 라인 접합(110)에 결합된 드레인 단자(152), 소스 비트 라인 접합(114)에 결합된 소스 단자(154), 및 기판 또는 p웰(103)에 결합된 기판 또는 p웰 단자(156)를 포함한다. 도 3은 플래시 메모리 기술 분야의 당업자에게 알려져있는 플래시 메모리 셀들의 어레이로 이루어진 전기적으로 소거가능하고 프로그램가능한 메모리 디바이스(200)를 도시한다. 도 3을 참조하여, 플래시 메모리 셀들의 어레이(200)는 플래시 메모리 셀들의 로우들 및 칼럼들을 포함하고, 각 플래시 메모리 셀은 도 1, 2의 플래시 메모리 셀(100)과 유사한 구조를 갖는다. 도 3의 플래시 메모리 셀들의 어레이(200)는 예시를 단순하고 명확하게 하기 위해 플래시 메모리 셀들의 2개의 칼럼들 및 2개의 로우들을 갖는 것으로 나타내었다. 하지만, 전기적으로 소거가능하고 프로그램가능한 메모리 디바이스를 포함하는 플래시 메모리 어레이들의 전형적인 어레이는 플래시 메모리 셀들의 보다 많은 로우들 및 칼럼들을 갖는다.
도 3을 또한 참조하여, 전기적으로 소거가능하고 프로그램가능한 메모리 디바이스를 포함하는 플래시 메모리 셀들의 어레이(200)에서, 어레이의 로우의 모든 플래시 메모리 셀들의 제어 게이트 단자들은 함께 결합되어 그 로우를 위한 각각의 워드 라인을 형성한다. 도 3에서, 제 1 로우의 모든 플래시 메모리 셀들의 제어 게이트 단자들은 함께 결합되어 제 1 워드 라인(202)을 형성하고, 제 2 로우의 모든 플래시 메모리 셀들의 제어 게이트 단자들은 함께 결합되어 제 2 워드 라인(204)을 형성한다.
또한, 칼럼의 모든 플래시 메모리 셀들의 드레인 단자들은 함께 결합되어 그 칼럼에 대한 각각의 비트라인을 형성한다. 도 3에서, 제 1 칼럼의 모든 플래시 메모리 셀들의 드레인 단자들은 함께 결합되어 제 1 비트라인(206)을 형성하고, 제 2 칼럼의 모든 플래시 메모리 셀들의 드레인 단자들은 함께 결합되어 제 2 비트 라인(208)을 형성한다. 도 3을 또한 참조하여, 어레이(200)의 모든 플래시 메모리 셀들의 소스 단자는 소스 전압(VSS)에 함께 결합되고, 어레이(200)의 모든 플래시 메모리 셀들의 기판 또는 p웰 단자는 기판 전압(VSUB)에 함께 결합된다.
도 4를 참조하여, 예를 들어 도 3에 도시한 플래시 메모리 셀들의 어레이로 이루어지는 플래시 메모리 디바이스는 반도체 웨이퍼(220)의 반도체 다이 위에 제조된다. 다수의 반도체 다이들이 반도체 웨이퍼(220) 위에 제조된다. 도 4의 반도 체 웨이퍼(220)의 각 정사각형 영역은 1개의 반도체 다이를 나타낸다. 전형적으로, 도시의 명확성을 위해 도 4에 나타낸 것 보다 많은 수의 반도체 다이들이 반도체 웨이퍼 위에 제조된다. 도 4의 각 반도체 다이는 코어 플래시 메모리 셀들의 어레이로 이루어지는 각각의 플래시 메모리 디바이스를 갖는다.
반도체 웨이퍼(220) 위에 플래시 메모리 디바이스들을 제조하는 동안, 플래시 메모리 디바이스 제조 분야의 당업자에게 알려져있는 바와 같이, 반도체 다이 위의 각 플래시 메모리 디바이스는 적절한 기능에 대해 테스트된다. 도 5를 참조하여, 예시적인 반도체 다이(222)는 코어 플래시 메모리 셀들(224)의 어레이로 이루어지는 플래시 메모리 디바이스를 갖는다. 도 3, 5를 참조하여, 반도체 다이(222) 위의 플래시 메모리 디바이스를 테스트하는 동안, 외부 테스트 시스템은 반도체 다이(222)의 컨택 패드들(226)을 통해 코어 플래시 메모리 셀들(224)의 어레이에 바이어스 전압들을 인가하여, 코어 플래시 메모리 셀들(224)의 어레이를 테스트한다.
도 3, 5를 참조하여, 프로그래밍 및 소거 전압들의 패턴들은 다수의 플래시 메모리 테스트 모드들에 따라 컨택 패드들(226)을 통해 외부 테스트 시스템에 의해 코어 플래시 메모리 셀들(224)의 어레이에 인가된다. 예를 들어, 코어 플래시 메모리 셀들(224)의 어레이는 한 테스트 모드에서 교번적인 체커 보드 패턴으로 프로그램 및 소거된다. 대안적으로, 코어 플래시 메모리 셀들(224)의 어레이의 대각선에 위치하는 플래시 메모리 셀들은 다른 테스트 모드에서 프로그램된다. 이후, 코어 플래시 메모리 셀들(224)의 어레이가 적절하게 프로그램 및 소거되었는 지를 결정하기 위해, 컨택 패드들(226)을 통해 각 테스트 모드에 대해 외부 테스트 시스템에 의해 코어 플래시 메모리 셀들의 어레이에 대해 판독 동작이 수행된다. 코어 플래시 메모리 셀들의 어레이의 적절한 기능을 테스트하기 위한 다수의 이러한 플래시 메모리 테스트 모드들 및 이러한 외부 테스트 시스템은 플래시 메모리 디바이스 제조 분야의 당업자에게 알려져있다. 이러한 외부 테스트 시스템의 예로는 캘리포니아 팔로알토에 본사를 두고 있는 애질런트 테크놀로지스사로부터 입수할 수 있는 모델 V3300이 있다.
종래에, 외부 테스트 시스템은 코어 플래시 메모리 셀들의 어레이의 적절한 기능을 테스트하는 동안 반도체 다이(222)의 컨택 패드들(226)을 통해 코어 플래시 메모리 셀들의 어레이에 대해 프로그래밍 동작, 소거 동작 및 판독 동작을 수행하였다. (예를 들어, 16 메가비트 플래시 메모리 디바이스에 대한 것과 같은) 비교적 큰 코어 플래시 메모리 셀들의 어레이에 대해서는, 외부 테스트 시스템의 비교적 많은 수의 핀들을 이용하여 종래의 반도체 웨이퍼(220)의 각 반도체 다이를 테스트한다. 예를 들어, 16 메가비트 플래시 메모리 디바이스에 대해, 외부 테스트 시스템이 코어 플래시 메모리 셀들의 어레이에 대해 프로그램 동작, 소거 동작 및 판독 동작을 직접 수행할 때, 종래에는 외부 테스트 시스템의 46개의 핀들이 이용되었다. 외부 테스트 시스템이 총 500개의 핀들을 갖는 다면, 10개의 반도체 다이들이 동시에 테스트될 수 있는데, 이는 46개의 핀들의 각 세트가 각 반도체 다이의 테스트에 전용되기 때문이다.
하지만, 플래시 메모리 디바이스들을 제조하는 동안 쓰루풋을 최대화하기 위해서는 최대수의 반도체 다이들을 동시에 테스트할 필요가 있다. 예를 들어, 핀들의 총수가 보다 많은 외부 테스트 시스템을 이용하여 보다 많은 수의 반도체 다이들을 동시에 테스트할 수 있다. 하지만, 핀들의 수가 상당히 더 많은 외부 테스트 시스템은 더욱 비싸게 된다. 또한, 기술의 발달에 따라 플래시 메모리 디바이스의 비트 수가 증가함에 따라, 종래에는 외부 테스트 시스템이 코어 플래시 메모리 셀들의 어레이에 대해 프로그래밍 동작, 소거 동작 및 판독 동작을 직접 수행할 때 각 반도체 다이에 대해 외부 테스트 시스템의 보다 많은 핀들이 요구될 가능성이 있어 쓰루풋을 더욱 감소시켰다. 따라서, 핀들의 총수가 제한된 외부 테스트 시스템에 의해 최대수의 반도체 다이가 동시에 테스트될 수 있게 하여 플래시 메모리 디바이스를 제조하는 동안의 쓰루풋을 증가시키기 위해, 각 반도체 다이 위의 플래시 메모리 디바이스를 테스트하는 데에 이용되는 핀들의 수를 최소화하기 위한 메커니즘이 필요하다.
따라서, 본 발명의 일반적인 양상에서, 반도체 다이 위의 플래시 메모리 디바이스를 테스트하는 동안 프로그램 동작, 소거 동작 및 판독 동작은 동일한 반도체 다이 위에 플래시 메모리 디바이스와 함께 온칩 제조되는 BIST 시스템에 의해 반도체 다이 내에서 온칩으로 수행된다. 따라서, 프로그램 동작, 소거 동작 및 판독 동작에 대해 외부 테스트 시스템으로부터 핀들이 불필요하게 되어, 반도체 다이 위의 각 플래시 메모리 디바이스를 테스트하는 데에 이용되는 핀들의 수를 줄인다.
본 발명의 일 실시예에서, 반도체 다이 위에 제조되는 코어 플래시 메모리 셀들의 어레이를 테스트하는 시스템 및 방법에 있어서, 제 1 상태 동안, 테스트 타 입 데이터는 외부 테스트 시스템으로부터 반도체 다이 위에 제조된 데이터 저장 디바이스에 입력된다. 반도체 다이 위에 제조되는 테스트 타입 디코더는 이러한 테스트 타입 데이터를 디코드하여, 외부 테스트 시스템에 의해 BIST 모드가 호출되는 지의 여부를 결정한다. BIST 모드가 외부 테스트 시스템에 의해 호출되는 경우, 제 2 상태 동안, 테스트 모드 데이터가 외부 테스트 시스템으로부터 반도체 다이 위에 제조된 제 2 데이터 저장 디바이스 내에 연속적으로 입력된다.
이러한 테스트 모드 데이터는 코어 플래시 메모리 셀들의 어레이 상에서 수행될 요구되는 플래시 메모리 테스트 모드들의 세트를 정의한다. 각 테스트 모드는 코어 플래시 메모리 셀들의 어레이를 바이어싱하는 각 패턴, 및 코어 플래시 메모리 셀들의 어레이에 대한 프로그램 상태 및 소거 상태의 각각의 요구되는 패턴에 대응한다. 반도체 다이 위에 제조되는 프론트 엔드 상태 머신(front-end state machine)은 테스트 모드 데이터를 디코드하여, 요구되는 테스트 모드들을 수행하는 순서(order)를 결정한다.
반도체 다이 위에 제조되는 백 엔드 상태 머신(back-end state machine)은, 제 3 상태 동안, 프론트 엔드 상태 머신에 의해 결정되는 순서에 따라 요구되는 테스트 모드들을 수행한다. 백 엔드 상태 머신은, 요구되는 각 테스트 모드에 대해, 코어 플래시 메모리 셀들의 어레이를 바이어싱하는 각 패턴에 따라 코어 플래시 메모리 셀들의 어레이에 전압들을 인가한다. 백 엔드 상태 머신이 요구되는 각 테스트 모드에 대해 코어 플래시 메모리 셀들의 어레이를 바이어싱하는 각 패턴에 따라 코어 플래시 메모리 셀들의 어레이에 전압들을 인가한 후, 이 백 엔드 상태 머신은 코어 플래시 메모리 셀들의 어레이에 대한 프로그램 상태 및 소거 상태의 패턴을 측정한다. 또한, 백 엔드 상태 머신은, 코어 플래시 메모리 셀들의 어레이의 프로그램 상태 및 소거 상태의 요구되는 패턴과 프로그램 상태 및 소거 상태의 측정된 패턴을 비교함으로써, 요구되는 각 테스트 모드가 통과하는지 아니면 실패하는 지의 여부를 결정한다.
요구되는 각 테스트 모드에 대응하는 각각의 통과 또는 실패 결과는, 제 3 상태 동안, 반도체 다이 위에 제조되는 제 3 데이터 저장 디바이스에 저장된다. 제 3 데이터 저장 디바이스에 저장되는 요구되는 각 테스트 모드에 대응하는 각각의 통과 또는 실패 결과는, 제 4 상태 동안, 외부 테스트 시스템에 연속적으로 출력된다.
본 발명은 제 1 데이터 저장 디바이스, 제 2 데이터 저장 디바이스 및 제 3 데이터 저장 디바이스가 직렬 시프트 레지스터의 각 부분일 때에 특히 유익하게 이용될 수 있다. 이러한 경우, 테스트 모드 데이터는, 제 2 상태 동안, 외부 테스트 시스템으로부터 1개의 IO(입/출력) 핀을 통해 직렬 시프트 레지스터의 제 1 부분 내로 연속적으로 시프트된다. 또한, 요구되는 각 테스트 모드에 대응하는 각각의 통과 또는 실패 결과는 제 3 상태 동안 직렬 시프트 레지스터의 제 2 부분에 저장되고, 제 4 상태 동안 1개의 IO 핀을 통해 연속적으로 시프트 아웃된다.
플래시 메모리 셀들의 어레이에 대한 프로그래밍 동작, 소거 동작 및 판독 동작은 반도체 다이 상에서 온칩으로 수행되기 때문에, 각 반도체 다이를 테스트하는 데에 이용되는 외부 테스트 시스템의 핀들의 수가 감소된다. 각 반도체 다이를 테스트하는 데에 이용되는 외부 테스트 시스템의 핀들의 수는 제어 신호들에 대한 몇 개의 핀들, 파워 소스에 대한 몇 개의 핀들 및 몇 개의 IO(입/출력) 핀들을 포함한다. 예를 들어, 본 발명의 일 실시예에 따르면, 제어 신호들에 대해 3개의 핀들이 이용되고, 파워 소스에 대해 2개의 핀들이 이용되며, 그리고 IO 핀들에 대해 2개의 핀들이 이용된다.
따라서, 각 반도체 다이를 테스트하는 데에 전용되는 핀들의 수는 종래 기술의 46개에서 본 발명에서는 약 7개로 감소된다. 이와같이 핀들의 수가 감소하기 때문에, 핀들의 총수가 제한된 외부 테스트 시스템에 의해 보다 많은 수의 반도체 다이들을 동시에 테스트할 수 있게 되어, 플래시 메모리 디바이스들을 제조하는 동안의 쓰루풋을 최대화한다.
본 발명의 상기 및 다른 목적들 및 장점들은 첨부 도면들과 함께 제시되는 발명의 상세한 설명을 고려하여 보다 잘 이해될 것이다.
도 1은 플래시 메모리 셀의 단면도를 도시한다.
도 2는 도 1의 플래시 메모리 셀의 회로도 표현을 도시한다.
도 3은 플래시 메모리 디바이스를 포함하는 플래시 메모리 셀들의 어레이를 도시한다.
도 4는 다수의 반도체 다이들을 갖는 반도체 웨이퍼를 도시하는바, 여기서 각 반도체 다이의 위에는 플래시 메모리 셀들의 각 어레이가 제조된다.
도 5는 종래 기술에 따른 예시적인 반도체 다이를 도시하는바, 이는 그 위에 제조된 코어 플래시 메모리 셀들의 어레이 및 컨택 패드들을 갖는바, 이 컨택 패드들은 외부 테스트 시스템이 코어 플래시 메모리 셀들의 어레이를 테스트하기 위해 코어 플래시 메모리 셀들의 어레이에 대해 프로그래밍 동작, 소거 동작 및 판독 동작을 직접 수행할 때에 이용된다.
도 6은 본 발명의 일 양상에 따른, 플래시 메모리 디바이스를 테스트하는 동안 프로그래밍 동작, 소거 동작 및 판독 동작이 반도체 다이 내에서 온칩으로 수행될 수 있도록, 동일한 반도체 다이 위에 코어 플래시 메모리 셀들의 어레이와 함께 온칩으로 형성되는 BIST 시스템을 도시한다.
도 7은 본 발명의 일 실시예에 따른 도 6의 BIST 시스템의 구성 요소들의 일반적인 블록도이다.
도 8은 본 발명의 일 실시예에 따른 도 7의 BIST 인터페이스의 구성 요소들의 블록도이다.
도 9는 본 발명의 일 실시예에 따른, 다수의 플래시 메모리 테스트 모드들을 수행하기 위한 도 6 및 7의 BIST 시스템 내의 도 8의 BIST 인터페이스의 동작 단계들을 나타낸 흐름도이다.
도 10은 본 발명의 일 실시예에 따른, 도 8의 BIST 인터페이스의 제 1, 2, 3 및 4 상태의 타이밍을 발생시키기 위한 외부 테스트 시스템으로부터의 제어 신호들의 타이밍도이다.
도 11은 본 발명의 일 실시예에 따른 BIST 인터페이스의 직렬 시프트 레지스터 내의 예시적인 데이터를 나타낸다.
도 12는 본 발명의 다른 실시예에 따른, 다수의 반도체 다이들의 각각의 코어 플래시 메모리 셀들을 칩 위에서 테스트하는 동안 쓰루풋을 더욱 최대화하기 위해, 외부 테스트 시스템으로부터의 핀들이 다수의 반도체 다이들에 의해 공유되는 것을 도시한다.
도 13은 본 발명의 일 실시예에 따른 도 7의 백 엔드 BIST 상태 머신의 구성 요소들의 블록도를 도시한다.
도 14는 본 발명의 일 실시예에 따른, BIST 모드들 각각을 수행하기 위한 START, JUICE, VERIFY1, VERIFY2, APD, HTRB, DONE 및 HANG 상태들을 포함하는 도 13의 백 엔드 BIST 상태 머신의 비교적 적은 수의 상태들을 도시한다.
도 15는 본 발명의 일 실시예에 따른, 현재 BIST 모드가 코어 플래시 메모리 셀들에 프로그래밍 전압 그리고/또는 소거 전압을 인가하기 위한 것일 때의 도 13의 백 엔드 BIST 상태 머신의 동작 단계들의 흐름도이다.
도 16은 블럭들 및 섹터들로 분할되는 코어 플래시 메모리 셀들을 도시한다.
도 17은 도 16의 코어 플래시 메모리 셀들의 각 블럭 내에 형성되는 64개의 비트 라인들 및 64개의 워드 라인들의 예를 도시한다.
도 18은 본 발명의 일 실시예에 따른, 현재 BIST 모드가 코어 플래시 메모리 셀들의 각 플래시 메모리 셀에 대해 프로그램된 또는 소거된 각 논리 상태의 판독을 포함할 때의 도 13의 백 엔드 상태 머신의 동작 단계들의 흐름도이다.
도 19는 본 발명의 일 실시예에 따른, 현재 BIST 모드가 코어 플래시 메모리 셀들의 각 플래시 메모리 셀의 비트 라인 및 워드 라인에 스트레스 전압(stress voltage)들을 인가하기 위한 것일 때의 도 13의 백 엔드 BIST 상태 머신의 동작 단계들의 흐름도이다.
도 20은 종래 기술에 따라, 코어 플래시 메모리 셀들의 결함 어드레스를 플래시 메모리 셀들의 리던던시 요소로 대체함으로써 코어 플래시 메모리 셀들의 결함 어드레스를 복구하기 위해 CAM(콘텐츠 어드레스 가능 메모리)을 프로그램하는 외부 테스트 시스템의 블록도이다.
도 21은 본 발명의 일 실시예에 따라, 코어 플래시 메모리 셀들의 결함 어드레스를 플래시 메모리 셀의 리던던시 요소로 대체함으로써 코어 플래시 메모리 셀들의 결함 어드레스를 온칩 복구하기 위한 CAM의 온칩 프로그래밍 단계들이 부가된 도 15의 흐름도이다.
도 22는 플래시 메모리 셀들의 리던던시 요소들 내에 위치하는 플래시 메모리 셀들의 결함 어드레스를 나타낸다.
도 23은 본 발명의 일 실시예에 따라, 코어 플래시 메모리 셀들의 결함 어드레스를 플래시 메모리 셀들의 리던던시 요소로 대체함으로써 코어 플래시 메모리 셀들의 결함 어드레스를 온칩 복구하기 위한 CAM의 온칩 프로그래밍 단계들이 부가된 도 18의 흐름도이다.
도 24는 종래 기술에 따라 다수의 블럭들로 분할되는 코어 플래시 메모리 셀들을 도시한다.
도 25는 본 발명의 일 실시예에 따라 코어 플래시 메모리 셀들의 각 블럭 내의 코어 플래시 메모리 셀들의 결함 어드레스들을 복구하는 데에 이용할 수 있는 2 개의 리던던시 요소들의 각 세트를 도시한다.
도 26은 본 발명의 일 실시예에 따른, 코어 플래시 메모리 셀들의 결함 어드레스를 온칩 복구하기 위해 복구 루틴 동안 이용되는 구성 요소들의 블록도이다.
도 27은 본 발명의 일 실시예에 따른, 코어 플래시 메모리 셀들의 결함 어드레스를 온칩 복구하기 위해 도 26의 구성 요소들이 동작하는 동안의 복구 루틴의 단계들의 흐름도이다.
도 28은 본 발명의 일 실시예에 따른 도 26의 FAILREP 논리의 예시적인 구현을 도시한다.
도 29는 CAM의 적절한 프로그래밍을 검증하는 동안 이용되는 변수들을 발생시키기 위한 종래 기술의 CAM 논리를 도시한다.
도 30은 본 발명의 일 실시예에 따라 도 28의 FAILREP 논리에 의해 발생되는 FAILREP 값들의 표이다.
도 31은 본 발명의 일 실시예에 따른 도 26의 복구 매칭 유닛의 예시적인 구현을 나타낸다.
도 32는 본 발명의 일 실시예에 따라 도 26의 복구 매칭 유닛에 의해 발생되는 REDOK 값들의 표이다.
도 33은 본 발명의 다른 양상에 따른, 코어 플래시 메모리 셀들의 어레이의 기능과 독립적으로, 그 위에 코어 플래시 메모리 셀들의 어레이가 제조되어 있는 반도체 다이 위에 제조되는 BIST 시스템의 백 엔드 상태 머신의 기능을 테스트하기 위한 시스템의 구성 요소들을 도시한다.
도 34는 본 발명의 일 실시예에 따른 도 33의 시스템 내의 신호 선택기의 예시적인 구현을 나타낸다.
도 35는 본 발명의 일 실시예에 따른 도 33의 시스템 내의 진단 매칭 논리(diagnostic matching logic)의 예시적인 구현을 나타낸다.
도 36은 본 발명의 일 실시예에 따른 도 35의 진단 매칭 논리 내에서의 신호 래치의 예시적인 구현을 나타낸다.
도 37은 본 발명의 일 실시예에 따른, 도 36의 신호 래치에 대해 도 35의 진단 매칭 논리 내에서 발생되는 가능한 리셋 값, 세트 값 및 결과적인 Q 출력의 표이다.
도 38은 본 발명의 일 실시예에 따라, 진단 모드가 호출된 이후 백 엔드 상태 머신에 의해 수행되는 BIST 모드가 코어 플래시 메모리 셀들의 어레이의 플래시 메모리 셀들을 프로그래밍하기 위한 것일 때의 도 33의 백 엔드 상태 머신에 의해 들어가는 상태들의 흐름도이다.
도 39는 본 발명의 일 실시예에 따라, 진단 모드가 호출된 이후 백 엔드 상태 머신에 의해 수행되는 BIST 모드가 독립형 APDE(소거 이후의 자동 프로그램 디스터브)를 이용하여 코어 플래시 메모리 셀들의 어레이의 플래시 메모리 셀들을 소거하기 위한 것일 때의 도 33의 백 엔드 상태 머신에 의해 들어가는 상태들의 흐름도이다.
도 40은 본 발명의 일 실시예에 따라, 진단 모드가 호출된 이후 백 엔드 상태 머신에 의해 수행되는 BIST 모드가 인터리브된 APDE를 이용하여 코어 플래시 메 모리 셀들의 어레이의 플래시 메모리 셀들을 소거하기 위한 것일 때의 도 33의 백 엔드 상태 머신에 의해 들어가는 상태들의 흐름도이다.
도 41은 본 발명의 일 실시예에 따라, 진단 모드가 호출된 이후 백 엔드 상태 머신에 의해 수행되는 BIST 모드가 코어 플래시 메모리 셀들의 각 플래시 메모리 셀에 대해 프로그램 또는 소거된 각 논리 상태를 판독하기 위한 것일 때(이때, 복구 루틴이 호출된다)의 도 33의 백 엔드 상태 머신에 의해 들어가는 상태들의 흐름도이다.
도 42는 본 발명의 일 실시예에 따른 BIST 시스템 내의 어드레스 시퀀서 버퍼들 및 어드레스 시퀀서 제어 논리를 포함하는 어드레스 시퀀서의 블록도이다.
도 43은 본 발명의 일 실시예에 따른 도 42의 어드레스 시퀀서의 다수의 어드레스 시퀀서 버퍼들을 도시한다.
도 44는 본 발명의 일 실시예에 따라 BIST 모드의 시작시 어드레스 시퀀서 버퍼들을 시작 어드레스들로 리셋시키기 위해 어드레스 시퀀서 제어 논리에 의해 발생되는 리셋 신호들을 나타낸다.
도 45는 본 발명의 일 실시예에 따라, 2개의 인접하는 X-어드레스 디코더들이 서로의 거울 이미지로서 제조될 때, X-어드레스들의 물리적으로 인접하는 시퀀싱을 달성하기 위해 어드레스 시퀀서 제어 논리에 의해 X-어드레스 비트들의 서브셋을 제어하는 것을 나타낸다.
도 46은 본 발명의 일 실시예에 따라, 외부 테스트 시스템에 의해 액세스될 각 OTP(한번 프로그램가능) 플래시 메모리 셀의 어드레스를 나타내기 위해 BIST 인 터페이스의 레지스터로부터의 비트 패턴을 Y-어드레스 버퍼들의 서브셋에 결합하는 것을 나타낸다.
도 47은 본 발명의 일 실시예에 따라, 리던던시 플래시 메모리 셀들이 시퀀싱될 것인 지의 여부를 결정하기 위한 리던던시 시퀀싱 인에이블 논리 및 최대 칼럼 어드레스 선택기를 나타낸다.
도 48은 코어 플래시 메모리 셀들의 마지막 칼럼 및 리던던시 플래시 메모리 셀들의 마지막 칼럼을 나타낸다.
도 49는 본 발명의 일 실시예에 따라, 리던던시 플래시 메모리 셀들이 시퀀싱될 것인 지의 여부를 결정하기 위해 시퀀싱 인에이블 논리 및 최대 칼럼 어드레스 선택기에 의해 이용되는 타이밍도이다.
도 50은 본 발명의 일 실시예에 따라, 다수의 섹터들의 WPCAM(기록 보호 콘텐츠 어드레스 가능 메모리)들 각각을 통한 시퀀싱을 위해 어드레스 시퀀서 제어 논리에 의해 어드레스 시퀀서 버퍼들을 제어하는 것을 나타낸다.
도 51은 본 발명의 일 양상에 따른 다수의 섹터들의 WPCAM들을 통해 시퀀싱하기 위한 비트 패턴들의 표이다.
도 52는 본 발명의 일 실시예에 따라, 소거 트리밍(trimming)될 기준 셀의 어드레스를 나타내기 위해 BIST 인터페이스의 레지스터로부터의 비트 패턴을 Y-어드레스 버퍼들의 서브셋에 결합하는 것을 나타낸다.
도 53은 본 발명의 일 실시예에 따른 소거 트리밍 BIST 모드 동안의 Y-어드레스 버퍼들의 서브셋을 이용한 기준 셀들의 어드레스들의 시퀀싱 표이다.
도 54는 본 발명의 일 실시예에 따라 어드레스 시퀀서 버퍼들의 Y-어드레스 버퍼들의 서브셋을 이용한 기준 셀들을 통한 시퀀싱에 의해 기준 셀들을 소거 트리밍하기 위한 흐름도이다.
도 55는 본 발명의 일 실시예에 따라, Xminmax 제어 신호 및 Yminmax 제어 신호에 의존하여, 워드 라인 어드레스를 증가시키기 이전에 비트 라인들 각각을 통하여 시퀀싱하기 위해 또는 비트 라인 어드레스를 증가시키기 이전에 워드 라인들 각각을 통하여 시퀀싱하기 위해, 어드레스 시퀀서 제어 논리에 의해 어드레스 시퀀서 버퍼들을 제어하는 것을 나타낸다.
도 56은 본 발명의 일 실시예에 따라, 체커 보드 BIST 모드에 대한 플래시 메모리 셀들의 로우들 및 칼럼들을 통해 교번적인 플래시 메모리 셀들을 통하여 시퀀싱하기 위해 어드레스 시퀀서 제어 논리에 의해 어드레스 시퀀서 버퍼들을 제어하는 것을 나타낸다.
도 57은 본 발명의 일 실시예에 따라, 플래시 메모리 셀들의 섹터의 대각선 위치에 있는 플래시 메모리 셀들 각각을 통해 시퀀싱하기 위해 어드레스 시퀀서 제어 논리에 의해 어드레스 시퀀서 버퍼들을 제어하는 것을 나타낸다.
도 58은 본 발명의 일 실시예에 따라 플래시 메모리 셀들의 섹터의 8개의 서브 섹터들에 대해 8개의 대각선 라인들을 갖는 플래시 메모리 셀들의 섹터의 예를 도시한다.
도 59는 본 발명의 일 실시예에 따라, 그 위에 플래시 메모리 셀들의 어레이 가 제조되어 있는 반도체 다이 위에 제조되는 다수의 패턴 발생 논리 유닛들에 의해 BIST 모드들 각각에 대해 요구되는 비트 패턴을 발생시키는 시스템의 블록도이다.
도 60은 본 발명의 일 실시예에 따른 프로그램 패턴 발생 논리 유닛, 소거 패턴 발생 논리 유닛, 대각선 패턴 발생 논리 유닛 및 체코 보드 패턴 발생 논리 유닛의 예를 나타낸다.
도 61은 본 발명의 일 실시예에 따른 도 60의 대각선 패턴 발생 논리 유닛의 예시적인 구현을 나타낸다.
도 62는 본 발명의 일 실시예에 따른 도 60의 체커 보드 패턴 발생 유닛의 예시적인 구현을 나타낸다.
도 63은 4 ×4 플래시 메모리 셀들의 예시적인 어레이 및 이 어레이 내의 이들의 각 위치들을 나타낸다.
도 64는 현재 BIST 모드가 도 63의 플래시 메모리 셀들의 어레이의 각 플래시 메모리 셀을 프로그램하기 위한 것일 때 모두 논리 로우 상태들을 갖는 요구되는 비트 패턴을 나타낸다.
도 65는 현재 BIST 모드가 도 63의 플래시 메모리 셀들의 어레이의 각 플래시 메모리 셀을 소거하기 위한 것일 때 모두 논리 하이 상태들을 갖는 요구되는 비트 패턴을 나타낸다.
도 66은 현재 BIST 모드가 논리 로우 상태 및 하이 상태의 체커 보드 패턴을 위한 것일 때 도 63의 플래시 메모리 셀들의 어레이의 요구되는 비트 패턴을 나타 낸다.
도 67은 현재 BIST 모드가 플래시 메모리 셀들의 어레이의 단지 대각선 위치들에서의 논리 로우 상태의 대각 패턴을 위한 것일 때 도 63의 플래시 메모리 셀들의 어레이의 요구되는 비트 패턴을 나타낸다.
도 68은 도 63의 플래시 메모리 셀들의 어레이의 각 위치의 각각의 X-어드레스 및 각각의 Y-어드레스의 표이다.
도 69는 본 발명의 일 실시예에 따른 도 59의 패턴 선택기의 예시적인 구현을 나타낸다.
도 70은 소거 검증 BIST 모드 동안 소거 검증될 플래시 메모리 셀들의 4개의 로우들 ×4개의 칼럼들의 예시적인 섹터를 나타낸다.
도 71은 본 발명의 일 실시예에 따른, 칩 위에서의 소거 검증 BIST 모드 동안 플래시 메모리 셀들의 섹터에 인가되는 소거 펄스들의 수를 추적하기 위한 시스템의 블럭도이다.
도 72는 본 발명의 일 실시예에 따른, 칩 위에서의 소거 검증 BIST 모드 동안 플래시 메모리 셀들의 섹터에 인가되는 소거 펄스들의 수를 추적하기 위한 도 71의 시스템의 펄스 카운터 제어기 내의 구성 요소들을 나타낸다.
도 73은 본 발명의 일 실시예에 따른, 칩 위에서의 소거 검증 BIST 모드 동안 플래시 메모리 셀들의 섹터에 인가되는 소거 펄스들의 수를 추적하기 위한 도 71, 72의 시스템의 동작 흐름도이다.
도 74는 종래 기술에 따라, 주변 영역 내의 CAM을 포함하는 도 4의 반도체 다이의 구성 요소들을 나타낸 것으로서, 여기에서 프로그램 마지닝 전압(program margining voltage)은 반도체 칩 바깥의 외부 테스트 시스템으로부터 발생된다.
도 75는 본 발명에 따라, CAM을 테스트하는 동안 반도체 다이 내에, 마지닝 전압들을 칩 위에서 발생시키는 마지닝 전압 발생 장치를 BIST 시스템 내에 구비하는 도 4의 반도체 다이의 구성 요소들을 나타낸다.
도 76은 본 발명의 일 실시예에 따른 도 75의 마지닝 전압 발생 장치의 회로도이다.
도 77은 2개의 CAM 플래시 메모리 셀들의 부분들을 갖는 CAM의 블록도이다.
도 78은 본 발명의 일 실시예에 따라, 고전압 소스에 결합된 트랜지스터의 턴온 및 턴오프를 제어하기 위해 도 76의 마지닝 전압 발생 장치에서 이용되는 전압 레벨 시프터를 도시한다.
도 79는 본 발명의 일 실시예에 따라 도 76의 마지닝 전압 발생 장치가 동작하는 동안의 전압 레벨들의 표이다.
도 80은 본 발명의 일 실시예에 따라 BIST 모드가 호출되는 동안 프로그램 마지닝을 행할 때의 도 76의 마지닝 전압 발생 장치의 전압 레벨들을 나타낸다.
도 81은 본 발명의 일 실시예에 따라 BIST 모드가 호출되는 동안 소거 마지닝을 행할 때의 도 76의 마지닝 전압 발생 장치의 전압 레벨들을 나타낸다.
도 82는 본 발명의 일 실시예에 따라 매뉴얼 모드(manual mode)가 호출되는 동안 프로그램 마지닝을 행할 때의 도 76의 마지닝 전압 발생 장치의 전압 레벨들을 나타낸다.
도 83은 본 발명의 일 실시예에 따라 매뉴얼 모드가 호출되는 동안 소거 마지닝을 행할 때의 도 76의 마지닝 전압 발생 장치의 전압 레벨들을 나타낸다.
본원에서 참조하는 도면들은 예시의 명확성을 위해 묘사된 것으로서, 반드시 정확한 척도로 도시된 것은 아니다. 도 1 내지 83에서 동일한 참조 부호를 갖는 요소들은 동일한 구조 및 기능을 갖는 요소들을 나타낸다.
A. BIST(빌트인 셀프 테스트) 시스템
도 6을 참조하여, 본 발명의 일반적인 양상에서, BIST 시스템(300)은 플래시 메모리 디바이스(304)가 그 위에 제조되어 있는 반도체 다이(302) 위에 제조된다. 플래시 메모리 디바이스(304)는, 예를 들어 도 3에 도시된 코어 플래시 메모리 셀들의 어레이로 이루어진다. 반도체 다이(302) 위에는 또한 도전성 패드들(306)이 제조되는바, 이들은 코어 플래시 메모리 셀들의 어레이(304) 및 BIST 시스템(300)으로의 연결을 제공한다. 전형적으로, 예시의 명확성을 위해 도 6에 나타낸 것들 보다 많은 수의 도전성 패드들이 제조된다.
도 7은 코어 플래시 메모리 셀들의 어레이(304)와 함께 온칩 제조되는 도 6의 BIST 시스템(300)의 블록도이다. 이 BIST 시스템(300)은 BIST 인터페이스(312), 프론트 엔드 인터페이스(314) 및 백 엔드 BIST 상태 머신(316)으로 이루어진다. BIST 인터페이스(312)는 외부 테스트 시스템(318)과 프론트 엔드 인터페이스(314) 및 백 엔드 BIST 상태 머신(316) 사이에 결합된다. 백 엔드 BIST 상태 머신(316)은 프론트 엔드 인터페이스(314), BIST 인터페이스(312) 및 코어 플래시 메모리 셀들 의 어레이(304) 사이에 결합된다.
도 6, 7을 참조하여, BIST 인터페이스(312), 프론트 엔드 인터페이스(314) 및 백 엔드 BIST 상태 머신(316)이, 코어 플래시 메모리 셀들의 어레이(304)와 함께 반도체 다이(302) 위에 제조되는 BIST 시스템(300)을 구성하며, 이에 따라 BIST 시스템(300)은 코어 플래시 메모리 셀들의 어레이(304)와 함께 칩 위에 있게 된다. 외부 테스트 시스템(318)은 BIST 시스템(300)의 일부가 아니다. 그렇다기 보다, 이 외부 테스트 시스템(318)은 반도체 다이(302)의 외부에 있으며, 코어 플래시 메모리 셀들의 어레이(304)를 테스트하는 동안 BIST 시스템(300)과 인터페이스된다.
BIST 인터페이스(312)는 코어 플래시 메모리 셀들의 어레이(304)를 테스트하는 동안 외부 테스트 시스템(318)으로부터의 커맨드들을 해석하기 위해 외부 테스트 시스템(318)으로부터의 제어 신호들 및 테스트 데이터를 입력한다. 또한, BIST 인터페이스(312)는 코어 플래시 메모리 셀들의 어레이(304)를 테스트한 테스트 결과를 외부 테스트 시스템(318)에 출력한다. 백 엔드 BIST 상태 머신(316)은 코어 플래시 메모리 셀들의 어레이(304)를 테스트하기 위해 이 코어 플래시 메모리 셀들의 어레이(304)에 프로그래밍 전압 및 소거 전압을 인가한다. 또한, 백 엔드 BIST 상태 머신(316)은 코어 플래시 메모리 셀들의 어레이(304)에 대해 판독 동작들을 수행하여, 이 코어 플래시 메모리 셀들의 어레이(304)가 코어 플래시 메모리 셀들의 어레이(304)의 테스트에 통과했는지 아니면 실패했는 지의 여부를 결정한다.
프론트 엔드 인터페이스는 백 엔드 BIST 상태 머신(316)에게 테스트 모드 식 별 데이터를 제공하며, 이에 따라 백 엔드 BIST 상태 머신(316)은 테스트 모드 식별 데이터에 따라 코어 플래시 메모리 셀들의 어레이(304)를 테스트하기 위해 이 코어 플래시 메모리 셀들의 어레이(304)에 프로그램 전압 및 소거 전압의 적절한 패턴을 인가한다. 코어 플래시 메모리 셀들(304)을 테스트하는 동안 이 코어 플래시 메모리 셀들의 어레이(304)에 대해서는 다수의 테스트 모드들이 수행된다. 일 예에서, 코어 플래시 메모리 셀들의 어레이(304)를 테스트하는 동안, 이 코어 플래시 메모리 셀들의 어레이(304)에 대해서는 약 19개의 서로 다른 테스트 모드들이 수행된다.
각 테스트 모드는 코어 플래시 메모리 셀들의 어레이(304)의 프로그램 상태 및 소거 상태의 요구되는 패턴에 대해 코어 플래시 메모리 셀들의 어레이(304)의 각 플래시 메모리 셀을 바이어싱하는 각 패턴에 대응한다. 예를 들어, 코어 플래시 메모리 셀들은 한 테스트 모드에서 프로그램 및 소거된 코어 플래시 메모리 셀들의 요구되는 체커 보드 패턴에 대해 코어 플래시 메모리 셀들(304)의 교번적인 체커 보드 패턴으로 프로그램 및 소거된다. 대안적으로, 코어 플래시 메모리 셀들의 어레이(304)의 대각선에 위치하는 플래시 메모리 셀들은 다른 테스트 모드에서 플래시 메모리 셀들의 요구되는 대각선 패턴에 대해 프로그램된다. 코어 플래시 메모리 셀들의 어레이의 기능을 테스트하는 이러한 테스트 모드들은 플래시 메모리 디바이스 제조 분야의 당업자에게 알려져 있다.
백 엔드 BIST 상태 머신(316)은 테스트 모드에 대해 코어 플래시 메모리 셀들의 어레이(304)를 바이어싱하는 각 패턴에 따라 코어 플래시 메모리 셀들의 어레이(304)의 각 플래시 메모리 셀에 적절한 프로그래밍 전압 또는 소거 전압을 인가한다. 프론트 엔드 인터페이스(314)로부터의 테스트 모드 식별 데이터는 백 엔드 BIST 상태 머신(316)에 의해 수행될 현재의 테스트 모드를 나타낸다.
백 엔드 BIST 상태 머신(316)은 테스트 모드에 대해 코어 플래시 메모리 셀들의 어레이에 적절한 전압들을 인가한 후, 이 코어 플래시 메모리 셀들의 어레이에 대한 프로그램 상태 및 소거 상태의 패턴을 측정한다. 또한, 백 엔드 BIST 상태 머신(316)은 테스트 모드에 대해 코어 플래시 메모리 셀들의 어레이의 프로그램 상태 및 소거 상태의 요구되는 패턴과 프로그램된 상태 및 소거 상태의 측정 패턴을 비교함으로써 그 테스트 모드가 통과했는지 아니면 실패했는 지의 여부를 결정한다. 이 백 엔드 BIST 상태 머신(316)으로부터의 테스트 모드들에 대한 통과 또는 실패 결과들은 BIST 인터페이스(312)에 저장된다.
B. BIST 인터페이스
도 8은 BIST 인터페이스(312)의 예시적인 구현의 블록도이다. 도 8을 참조하여, BIST 인터페이스(312)는 직렬 시프트 레지스터(320)를 포함한다. 이러한 직렬 시프트 레지스터들은 전자 공학 분야의 당업자에게 알려져있다. 또한, BIST 인터페이스(312)는 직렬 시프트 레지스터(320)로 하여금 데이터 비트들을 연속적으로 시프트시키게 하는 시프트 레지스터 클럭(321)을 포함한다. BIST 인터페이스(312)는 또한 직렬 시프트 레지스터(320)로/로부터 데이터 비트들을 입력/출력하기 위한 제 1 버퍼(322), 제 2 버퍼(323) 및 제 3 버퍼(338)를 포함한다. 또한, BIST 인터페이스(312)는 논리 제어기(325), 테스트 타입 디코더(326), 로크 신호 발생기(327) 및 메모리 위치 디코더(328)를 포함한다.
도 9는 코어 플래시 메모리 셀들의 어레이(304)를 테스트하는 동안 BIST 시스템(300) 내의 BIST 인터페이스(312)의 동작 단계들의 흐름도이다. 또한, 도 10은 코어 플래시 메모리 셀들의 어레이(304)를 테스트하는 동안의 제어 신호들 및 데이터의 타이밍도이다. 도 7, 8, 9 및 10을 참조하여, 외부 테스트 시스템(318)은 하이로 세트된 CE/(칩 인에이블 바) 신호를 포함하는 제 1 세트의 제어 신호들을 CE/ 제어 핀을 통해 BIST 인터페이스(312)의 논리 제어기(325)에 보냄으로써, 제 1 상태의 시작을 통지한다(도 9의 단계(352) 및 도 10의 타이밍 포인트(402)). 이러한 하이 CE/ 신호를 이용하여, 직렬 시프트 레지스터(320)는 제 1 레지스터(330)에서의 하이 "1" 비트를 제외하고 로우 "0" 비트를 포함하도록 리셋된다.
또한, 이러한 하이 CE/ 신호를 이용하여, 논리 제어기(325)는 ST1 신호를 하이로 세트시킨다. 이 ST1 신호는 시프트 레지스터 클럭(321)에 결합되는바, 이는 외부 테스트 시스템(318)으로부터의 WE/(기록 인에이블 바) 클럭 신호에 의해 구동된다. 시프트 레지스터 클럭(321)은 외부 테스트 시스템(318)에 의해 제공되는 WE/ 클럭 신호로부터 클럭 신호를 발생시킴으로써, 직렬 시프트 레지스터(320)로 하여금 WE/ 클럭 신호에 의해 외부 테스트 시스템(318)으로부터의 테스트 타입 데이터를 시프트시키게 한다.
도 8 및 9를 참조하여, 제 1 상태 동안, 테스트 타입 데이터는 직렬 시프트 레지스터(320)의 3개의 레지스터들을 포함하는 제 1 부분(332) 내로 시프트되는 제 1의 3개의 데이터 비트들을 포함한다. 이러한 제 1의 3개의 데이터 비트들은, 제 1 버퍼(322)가 턴온될 때 외부 테스트 시스템(318)으로부터 제 1 IO1(입/출력) 핀을 통해 직렬 시프트 레지스터(320)의 제 1 부분(332) 내에 입력된다. 또한, 테스트 타입 데이터는 직렬 시프트 레지스터(320)의 3개의 레지스터들을 포함하는 제 2 부분(333) 내로 시프트되는 제 2의 3개의 데이터 비트들을 포함한다. 이러한 제 2의 3개의 데이터 비트들은, 제 1 버퍼(323)가 턴온될 때 외부 테스트 시스템(318)으로부터 제 2 IO2(입/출력) 핀을 통해 직렬 시프트 레지스터(320)의 제 2 부분(333) 내에 입력된다. 테스트 타입 데이터의 제 1, 2의 3개의 데이터 비트들은, WE/클럭 신호의 3개의 주기 이후 직렬 시프트 레지스터(320)의 제 1, 2 부분들(332 및 333) 내로 시프트된다(도 9의 단계(354)).
직렬 시프트 레지스터(320)의 제 1, 2 부분들(332 및 333)은 테스트 타입 디코더(326)에 결합된다. 테스트 타입 데이터의 제 1, 2의 3개의 비트들이 WE/클럭 신호의 3개의 주기들에 의해 직렬 시프트 레지스터(320)의 제 1, 2 부분들(332 및 333) 내로 시프트된 후, 테스트 타입 디코더(326)는 테스트 타입 데이터의 제 1, 2의 3개의 비트들을 디코드하여, 외부 테스트 시스템(318)이 BIST 모드를 호출하는지 아니면 매뉴얼 모드를 호출하는 지의 여부를 결정한다(도 9의 단계(356)). BIST 모드 및 매뉴얼 모드 각각을 호출하기 위해서는, 데이터 비트들의 각각의 적절한 조합이 외부 테스트 시스템(318)에 의한 테스트 타입 데이터의 제 1, 2의 3개의 비트들로서 입력되어야 한다. 이러한 테스트 타입 디코더(326)를 구현하는 디코더 기술은 전자 공학 분야의 당업자에게 알려져있다.
외부 테스트 시스템(318)은 매뉴얼 모드를 호출하여 BIST 시스템(300)을 디스에이블시키며, 이에 따라 이 외부 테스트 시스템(318)은, 예를 들어 종래 기술에서와 같이, 코어 플래시 메모리 셀들의 어레이(304)를 테스트하기 위해 코어 플래시 메모리 셀들의 어레이(304)에 프로그램 동작, 소거 동작 및 판독 동작을 직접 수행할 수 있다. 한편, 외부 테스트 시스템(318)은 BIST 모드를 호출해 BIST 시스템(300)을 이용하여, 프로그래밍 동작, 소거 동작 및 판독 동작을 칩 위에서 수행함으로써 코어 플래시 메모리 셀들의 어레이(304)를 테스트한다.
BIST 모드에 대응하는 데이터 비트들의 적절한 조합이 외부 테스트 시스템(318)에 의한 테스트 타입 데이터의 제 1, 2의 3개의 비트들로서 입력된다면, 테스트 타입 디코더(326)는 STEST 플래그를 하이로 세트시키고 MTEST 플래그는 로우로 유지한다. 대안적으로, 매뉴얼 모드에 대응하는 데이터 비트들의 다른 적절한 조합이 외부 테스트 시스템(318)에 의한 테스트 타입 데이터의 제 1, 2의 3개의 비트들로서 입력된다면, 테스트 타입 디코더는 MTEST 플래그를 하이로 세트시키고 STEST 플래그는 로우로 유지한다. 이러한 STEST 플래그 및 MTEST 플래그는 논리 제어기(325)에 전송된다. 한편, BIST 모드 또는 매뉴얼 모드에 대응하는 데이터 비트들의 각각의 적절한 조합이 외부 테스트 시스템(318)에 의한 테스트 타입 데이터의 제 1, 2의 3개의 비트들로서 입력되지 않는 다면, STEST 플래그 및 MTEST 플래그는 로우로 유지된다.
또한, 테스트 타입 데이터의 제 1, 2의 3개의 비트들이 WE/클럭 신호의 3개의 주기들에 의해 직렬 시프트 레지스터(320)의 제 1, 2 부분들(332 및 333) 내로 시프트된 후, 제 1 레지스터(330)에서 세트되었던 하이 비트가 제 4 레지스터(334)로 시프트된다. 제 4 레지스터(334)의 콘텐츠는 로크 신호 발생기(327)에 결합된다. 이 로크 신호 발생기(327)는, 테스트 타입 데이터의 제 1, 2의 3개의 비트들이 WE/클럭 신호의 3개의 주기들에 의해 직렬 시프트 레지스터(320)의 제 1, 2 부분들(332 및 333) 내로 시프트된 이후 제 4 레지스터(334)의 콘텐츠가 하이가 될 때, LOCK 플래그를 자동으로 하이로 세트시킨다. 이 시점에서, 제 1 레지스터(330)로부터의 하이 비트가 제 4 레지스터(334)로 시프트된다. 하이로 세트된 LOCK 플래그 또한 논리 제어기(325)에 전송되어, 테스트 타입 디코더(326)가 테스트 타입 데이터를 디코드했음을 나타낸다. 또한, LOCK 플래그가 하이로 세트되면, 제 1 상태는 끝나고, 직렬 시프트 레지스터(320)의 콘텐츠들은 로우로 리셋된다.
논리 제어기(325)가, MTEST 플래그가 테스트 타입 디코더에 의해 하이로 세트되었기 때문에 외부 테스트 시스템(318)이 매뉴얼 모드를 호출했음을 결정하면(도 9의 단계(358)), 플래시 메모리 셀들의 어레이는 BIST 시스템(300)을 이용하여 다수의 테스트 모드들에 대해 테스트되지 않는다. 그 대신, 외부 테스트 시스템(318)은 예를 들어 종래 기술의 매뉴얼 모드에 따라 다수의 테스트 모드들에 대해 테스트를 한다(도 9의 단계(360)).
논리 제어기(325)가, LOCK 플래그가 하이로 세트될 때 STEST 플래그 및 MTEST 플래그 모두가 로우로 세트되기 때문에 외부 테스트 시스템(318)이 매뉴얼 모드 또는 BIST 모드중 어느 것도 호출하지 않았음을 결정하면(도 9의 단계(358)), 논리 제어기에 의해 실패 모드에 들어간다(도 9의 단계(362)). 실패 모드에서는, 무의미한 데이터 비트(garbage data bit)들이 직렬 시프트 레지스터(320)에 저장됨으로써, 외부 테스트 시스템(318)이 이러한 무의미한 데이터 비트들을 판독할 때, 이 외부 테스트 시스템(318)은 실패 모드가 발생했음을 결정한다.
논리 제어기(325)가, STEST 플래그가 하이로 세트되기 때문에 외부 테스트 시스템(318)이 BIST 모드를 호출했음을 결정하면(도 9의 단계(356)), 도 9의 흐름도의 동작 단계들의 나머지가 수행된다. BIST 모드를 호출하기 위한 테스트 타입 데이터의 데이터 비트들의 디코딩은 사용자가 우연히 BIST 모드를 호출하지 않도록 하기 위해 이용되며, 이에 따라 코어 플래시 메모리 셀들의 어레이(304)는 이러한 코어 플레시 메모리 셀들(304)이 제조된 후 고객이 코어 플래시 메모리 셀들의 어레이(304)를 이용하는 동안 칩 위에서 제어 불가능하게 테스트되지 않는다.
도 8, 9 및 10을 참조하여, 논리 제어기(325)가 외부 테스트 시스템(318)이 BIST 모드를 호출했음을 결정하면, BIST 시스템(300)에 의해 제 2 상태에 들어간다(도 9의 단계(364) 및 도 10의 시점(404)). 이 경우, 논리 제어기로부터의 ST2 플래그는 하이로 세트되고 시프트 레지스터 클럭(321)에 결합된다. ST2 플래그가 하이로 세트되어 제 2 상태가 시작된 후, 외부 테스트 시스템(318)은 WE/제어 핀을 통해 WE/클럭 신호를 제공하고 제 2 IO2 핀을 통해 제 2 IO2(입/출력) 클럭 신호를 제공한다. ST2 플래그가 하이로 세트되기 때문에, 시프트 레지스터 클럭(321)은 WE/클럭 신호 및 제 2 IO2 클럭 신호의 조합으로부터 직렬 시프트 레지스터(320)를 구동하기 위한 클럭 신호를 발생시킨다. 예를 들어, 직렬 시프트 레지스터(320)는 하이가 되는 WE/클럭 신호와 이후 로우가 되는 제 2 IO2 클럭 신호의 조합의 각 발생시 1 비트 시프트된다. 이러한 조합에 의해, 직렬 시프트 레지스터(320)는 WE/클럭 신호 단독의 또는 제 2 IO2 클럭 신호 단독의 제어되지 않은 잡음 변화(noise transition)에서 잘못하여 1비트 시프트되지 않게 된다.
시프트 레지스터 클럭(321)이 직렬 시프트 레지스터(320)를 구동하면, 일련의 데이터 비트들을 포함하는 테스트 모드 데이터가 직렬 시프트 레지스터(320)의 제 3 부분(335) 내에 연속적으로 시프트된다. 테스트 모드 데이터는, 제 1 버퍼(322)가 턴온될 때, 외부 테스트 시스템(318)에 의해 제 1 IO1 핀을 통해 제 1 레지스터(330)에 제공된다. 도 11은 제 2 상태 이후의 직렬 시프트 레지스터(320)의 예시적인 콘텐츠를 나타낸다. 도 11의 예시적인 실시예에서, 직렬 시프트 레지스터(320)의 제 1의 8개의 레지스터들은 직렬 시프트 레지스터(320)의 제 3 부분(335)을 포함하고, 직렬 시프트 레지스터(320)의 제 2의 8개의 레지스터들은 직렬 시프트 레지스터(320)의 제 4 부분(336)을 포함한다. 테스트 모드 데이터는 직렬 시프트 레지스터(320)의 제 3 부분(335) 내에 연속적으로 시프트된다(도 9의 단계(366)). 이러한 테스트 모드 데이터는 BIST 시스템(300)에 의해 코어 플래시 메모리 셀들의 어레이(304)에 대해 수행될 외부 테스트 시스템(318)에 의해 선택된 요구되는 테스트 모드들의 세트를 나타낸다.
각 테스트 모드는 코어 플래시 메모리 셀들의 어레이(304)의 프로그램 상태 및 소거 상태의 요구되는 패턴에 대해 코어 플래시 메모리 셀들의 어레이(304)의 각 플래시 메모리 셀을 바이어싱하는 각 패턴에 대응한다. 예를 들어, 코어 플래시 메모리 셀들은 한 테스트 모드에서 프로그램 및 소거된 코어 플래시 메모리 셀들의 요구되는 체커 보드 패턴에 대해 코어 플래시 메모리 셀들(304)의 교번적인 체커 보드 패턴으로 프로그램 및 소거된다. 대안적으로, 코어 플래시 메모리 셀들의 어레이(304)의 대각선에 위치하는 플래시 메모리 셀들은 다른 테스트 모드에서 프로그램된 플래시 메모리 셀들의 요구되는 대각선 패턴에 대해 프로그램된다. 코어 플래시 메모리 셀들의 어레이의 기능을 테스트하는 이러한 테스트 모드들은 플래시 메모리 디바이스 제조 분야의 당업자에게 알려져있다.
코어 플래시 메모리 셀들의 어레이(304)를 테스트하는 동안 이 코어 플래시 메모리 셀들의 어레이(304)에 대해서는 다수의 테스트 모드들이 수행된다. 일 예에서, 코어 플래시 메모리 셀들의 어레이(304)를 테스트하는 동안, 약 19개의 서로 다른 테스트 모드들이 코어 플래시 메모리 셀들(304)의 어레이에 대해 수행될 수 있다. 본 발명의 일 실시예에서, 테스트 모드 데이터는 이러한 테스트 모드들중 어느 것이 BIST 시스템(300)에 의해 코어 플래시 메모리 셀들의 어레이(304)에 대해 수행될 요구되는 테스트 모드들로서 외부 테스트 시스템(318)에 의해 선택되는 지를 나타내는 데이터 비트들의 코드이다.
도 11을 참조하여, 제 1의 3개의 레지스터들로부터의 제 1의 3개의 비트들은 테스트 모드들의 세트중 어느 것이 외부 테스트 시스템(318)에 의해 선택되는 지를 나타낸다. 각 세트는 5개의 가능한 테스트 모드들의 세트에 대응한다. 가능한 각 테스트 모드는, 코어 플래시 메모리 셀들의 어레이(304)에 대해 수행될 요구되는 테스트 모드로서 그 테스트 모드를 선택할 수 있도록, 하이로 세트되는 직렬 시프트 레지스터(320)의 각 시프트 레지스터에 할당된다. 예를 들어, 제 1의 3개의 시프트 레지스터들 내의 "1,0,0"의 디지털 코드는 제 1 테스트 모드(#1), 제 2 테스트 모드(#2), 제 3 테스트 모드(#3), 제 4 테스트 모드(#4) 및 제 5 테스트 모드(#5)를 포함하는 가능한 테스트 모드들의 제 1 세트가 외부 테스트 시스템(318)에 의해 선택되었음을 나타낸다. 이렇게 되면, 제 4 시프트 레지스터는, 제 1 테스트 모드(#1)가 코어 플래시 메모리 셀들의 어레이(304)에 대해 수행될 요구되는 테스트 모드일 경우에는 하이로 세트되고, 그렇지 않은 경우에는 로우로 세트된다. 유사하게, 제 5 시프트 레지스터는 제 2 테스트 모드(#2)가 요구되는 테스트 모드일 경우에는 하이로 세트되고 그렇지 않은 경우에는 로우로 세트되고, 제 6 시프트 레지스터는 제 3 테스트 모드(#3)가 요구되는 테스트 모드일 경우에는 하이로 세트되고 그렇지 않은 경우에는 로우로 세트되며, 제 7 시프트 레지스터는 제 4 테스트 모드(#4)가 요구되는 테스트 모드일 경우에는 하이로 세트되고 그렇지 않은 경우에는 로우로 세트되고, 그리고 제 8 시프트 레지스터는 제 5 테스트 모드(#5)가 요구되는 테스트 모드일 경우에는 하이로 세트되고 그렇지 않은 경우에는 로우로 세트된다.
한편, 제 1의 3개의 시프트 레지스터들 내의 "1,0,1"의 디지털 코드는 제 6 테스트 모드(#6), 제 7 테스트 모드(#7), 제 8 테스트 모드(#8), 제 9 테스트 모드(#9) 및 제 10 테스트 모드(#10)를 포함하는 가능한 테스트 모드들의 제 2 세트가 외부 테스트 시스템(318)에 의해 선택되었음을 나타낸다. 이렇게 되면, 제 4 시프 트 레지스터는, 제 6 테스트 모드(#6)가 코어 플래시 메모리 셀들의 어레이(304)에 대해 수행될 요구되는 테스트 모드일 경우에는 하이로 세트되고, 그렇지 않은 경우에는 로우로 세트된다. 유사하게, 제 5 시프트 레지스터는 제 7 테스트 모드(#7)가 요구되는 테스트 모드일 경우에는 하이로 세트되고 그렇지 않은 경우에는 로우로 세트되고, 제 6 시프트 레지스터는 제 8 테스트 모드(#8)가 요구되는 테스트 모드일 경우에는 하이로 세트되고 그렇지 않은 경우에는 로우로 세트되며, 제 7 시프트 레지스터는 제 9 테스트 모드(#9)가 요구되는 테스트 모드일 경우에는 하이로 세트되고 그렇지 않은 경우에는 로우로 세트되고, 그리고 제 8 시프트 레지스터는 제 10 테스트 모드(#10)가 요구되는 테스트 모드일 경우에는 하이로 세트되고 그렇지 않은 경우에는 로우로 세트된다.
대안적으로, 제 1의 3개의 시프트 레지스터들 내의 "1,1,0"의 디지털 코드는 제 11 테스트 모드(#11), 제 12 테스트 모드(#12), 제 13 테스트 모드(#13), 제 14 테스트 모드(#14) 및 제 15 테스트 모드(#15)를 포함하는 가능한 테스트 모드들의 제 3 세트가 외부 테스트 시스템(318)에 의해 선택되었음을 나타낸다. 이렇게 되면, 제 4 시프트 레지스터는, 제 11 테스트 모드(#11)가 코어 플래시 메모리 셀들의 어레이(304)에 대해 수행될 요구되는 테스트 모드일 경우에는 하이로 세트되고, 그렇지 않은 경우에는 로우로 세트된다. 유사하게, 제 5 시프트 레지스터는 제 12 테스트 모드(#12)가 요구되는 테스트 모드일 경우에는 하이로 세트되고 그렇지 않은 경우에는 로우로 세트되고, 제 6 시프트 레지스터는 제 13 테스트 모드(#13)가 요구되는 테스트 모드일 경우에는 하이로 세트되고 그렇지 않은 경우에는 로우로 세트되며, 제 7 시프트 레지스터는 제 14 테스트 모드(#14)가 요구되는 테스트 모드일 경우에는 하이로 세트되고 그렇지 않은 경우에는 로우로 세트되고, 그리고 제 8 시프트 레지스터는 제 15 테스트 모드(#15)가 요구되는 테스트 모드일 경우에는 하이로 세트되고 그렇지 않은 경우에는 로우로 세트된다.
이러한 방식으로, 직렬 시프트 레지스터(320)의 제 3 부분(335)에 저장된 테스트 모드 데이터는 코어 플래시 메모리 셀들의 어레이(304)에 대해 수행될 요구되는 테스트 모드들의 세트를 나타낸다. 도 7 및 8을 참조하여, 직렬 시프트 레지스터(320)의 제 3 부분(335)은 프론트 엔드 인터페이스(314)에 결합되고, 이 프론트 엔드 인터페이스(314)는 직렬 시프트 레지스터(320)의 제 3 부분(335) 내의 데이터 비트들을 디코드하여, 테스트 모드들중 어느 것이 백 엔드 BIST 상태 머신(316)에 의해 수행될 필요가 있는 지를 결정한다. 또한, 프론트 엔드 인터페이스는 요구되는 테스트 모드들을 수행하는 순서를 규정한다(도 9의 단계(368)). 프론트 엔드 인터페이스(314)는 테스트 모드 데이터를 디코딩하는 것으로부터 백 엔드 BIST 상태 머신(316)에 의해 수행될 현재의 테스트 모드의 각 식별 데이터를 전송한다. 프론트 엔드 인터페이스(314)는, 요구되는 모든 테스트 모드들이 백 엔드 BIST 상태 머신(316)에 의해 수행될 때 까지, 현재 테스트 모드로서 상기 요구되는 각 테스트 모드들을 통해 순환한다.
외부 테스트 시스템(318)이 직렬 시프트 레지스터(320)의 제 3 부분(335)에 저장될 테스트 모드 데이터의 8 비트들을 전송한 후, 이 외부 테스트 시스템(318)은 OE/제어 핀을 통해 로우로 세트되는 OE/(출력 인에이블 바) 신호, WE/제어 핀을 통해 로우로 세트되는 WE/제어 신호, 및 제어 신호로서 로우로 세트되는 제 2 IO2 핀을 포함하여 제 3 상태의 시작을 나타내는 제 3 세트의 제어 신호들을 논리 제어기(325)에게 전송한다(도 9의 단계(370) 및 도 10의 시점(406)). 논리 제어기(325)는 ST3 플래그를 하이로 세트시켜 제 3 상태의 시작을 나타낸다. 이 ST3 플래그는 시프트 레지스터 클럭(321)에 결합되는바, 이 시프트 레지스터 클럭(321)은 직렬 시프트 레지스터(320)에 클럭 신호를 제공하지 않으며, 이에 따라 직렬 시프트 레지스터(320) 내의 데이터는 제 3 상태 동안 시프트되지 않는다.
제 3 상태 동안, 백 엔드 BIST 상태 머신(316)은 프론트 엔드 상태 머신(314)에 의해 결정된 순서로 테스트 모드 데이터에 의해 지시되는 요구되는 각 테스트 모드들을 수행한다(도 9의 단계(372)). 논리 제어기(325)는 프론트 엔드 인터페이스(314)에 의해 결정되는 요구되는 테스트 모드들의 수행을 시작하도록 백 엔드 BIST 상태 머신(316)을 제어하기 위해 BSTART 플래그를 하이로 세트시킨다. 프론트 엔드 인터페이스(314)는 백 엔드 BIST 상태 머신(316)에 의해 수행될 현재의 테스트 모드의 각각의 식별 데이터를 전송한다. 프론트 엔드 인터페이스(314) 및 백 엔드 BIST 상태 머신(316)은, 제 3 상태 동안 요구되는 모든 테스트 모드들이 백 엔드 BIST 상태 머신(316)에 의해 수행될 때 까지, 현재 테스트 모드로서 상기 요구되는 테스트 모드들 각각을 통해 순환한다.
예시적인 일 실시예에서, 프론트 엔드 인터페이스(314)는 직렬 시프트 레지스터(320)의 제 3 부분(335)을 포함하는 제 1의 8개의 레지스터들로 고정 배선(hardwire)되는 디코더이다. 또한, 프론트 엔드 인터페이스(314)는 15개의 테스트 모드 플래그들에 의해 백 엔드 BIST 상태 머신(316)에 결합된다. 각 테스트 모드 플래그는 15개의 테스트 모드들 각각에 대응한다. 이 경우, 프론트 엔드 인터페이스는 직렬 시프트 레지스터(320)의 제 3 부분(335)의 8개의 데이터 비트들을 디코드하고, 15개의 테스트 모드 플래그들중 하나를 백 엔드 BIST 상태 머신(316)에 의해 수행될 현재 테스트 모드에 대응하는 하이로 세트시킨다. 이러한 프론트 엔드 인터페이스(314)를 구현하는 디코더 기술은 전자 공학 분야의 당업자에게 알려져있다.
도 7, 8 및 11을 참조하여, 프론트 엔드 인터페이스는, 직렬 시프트 레지스터(320)의 제 4, 5, 6, 7 또는 8 레지스터들중 어느 하나 내의 데이터 비트가 하이로 세트될 때에 선택되는 테스트 모드들중 어느 하나를 통해 순환된다. 또한, 프론트 엔드 인터페이스는 이러한 5개의 테스트 모드들중 어느 것이 현재 테스트 모드인 지를 나타내는 BSTAT의 값을 제공한다. 예를 들어, 어떠한 테스트 모드들의 세트에 대해, 제 4 레지스터에 대응하는 테스트 모드가 현재 테스트 모드이면, BSTAT 값은 "1"이다. 제 5 레지스터에 대응하는 테스트 모드가 현재 테스트 모드이면, BSTAT 값은 "2"이다. 제 6 레지스터에 대응하는 테스트 모드가 현재 테스트 모드이면, BSTAT 값은 "3"이다. 제 7 레지스터에 대응하는 테스트 모드가 현재 테스트 모드이면, BSTAT 값은 "4"이다. 제 8 레지스터에 대응하는 테스트 모드가 현재 테스트 모드이면, BSTAT 값은 "5"이다. 이러한 BSTAT 값은 프론트 엔드 인터페이스(314)로부터 3개의 데이터 비트들을 갖는 이진 형태로 나타낼 수 있다.
프론트 엔드 인터페이스(314)가 백 엔드 BIST 상태 머신(316)에 의해 수행될 현재 테스트 모드의 각각의 식별 데이터를 전송하면, 백 엔드 BIST 상태 머신(316)은 현재 테스트 모드에 대해 코어 플래시 메모리 셀들의 어레이(304)를 바이어싱하는 각 패턴에 따라 코어 플래시 메모리 셀들의 어레이(304)의 각 플래시 메모리 셀에 적절한 프로그래밍 전압 또는 소거 전압을 인가한다. 또한, 백 엔드 BIST 상태 머신(316)이 현재 테스트 모드에 대해 코어 플래시 메모리 셀들의 어레이에 적절한 전압들을 인가한 후, 백 엔드 상태 머신은 코어 플래시 메모리 셀들의 어레이에 대한 프로그램 상태 및 소거 상태의 패턴을 측정한다. 또한, 백 엔드 BIST 상태 머신(316)은 현재 테스트 모드에 대해 코어 플래시 메모리 셀들의 어레이의 프로그램 상태 및 소거 상태의 요구되는 패턴과 프로그램 상태 및 소거 상태의 측정된 패턴을 비교함으로써 현재 테스트 모드가 통과했는지 아니면 실패했는 지의 여부를 결정한다(도 9의 단계(374)).
백 엔드 BIST 상태 머신(316)으로부터의 통과 또는 실패 결과는 제 3 상태 동안 직렬 시프트 레지스터(320)의 제 4 부분(336)에 저장된다(도 9의 단계(374)). 도 7, 8 및 11을 참조하여, 각 테스트 모드에 대응하는 각각의 통과 또는 실패 결과는 직렬 시프트 레지스터(320)의 제 4 부분(336)의 각 레지스터에 저장된다. 도 11을 참조하여, 예를 들어 제 1의 3개의 시프트 레지스터들 내의 "1,0,0"의 디지털 코드가 제 1 세트의 가능한 테스트 모드들이 선택되었음을 나타낼 때, 제 1 테스트 모드(#1)에 대응하는 각각의 통과 또는 실패 결과는 제 16 시프트 레지스터 내에 저장된다. 유사하게, 제 2 테스트 모드(#2)에 대응하는 각각의 통과 또는 실패 결 과는 제 15 시프트 레지스터 내에 저장되고, 제 3 테스트 모드(#3)에 대응하는 각각의 통과 또는 실패 결과는 제 14 시프트 레지스터 내에 저장되고, 제 4 테스트 모드(#4)에 대응하는 각각의 통과 또는 실패 결과는 제 13 시프트 레지스터 내에 저장되고, 그리고 제 5 테스트 모드(#5)에 대응하는 각각의 통과 또는 실패 결과는 제 12 시프트 레지스터 내에 저장된다.
한편, 제 1의 3개의 시프트 레지스터들 내의 "1,0,1"의 디지털 코드가 제 2 세트의 가능한 테스트 모드들이 선택되었음을 나타낼 때, 제 6 테스트 모드(#6)에 대응하는 각각의 통과 또는 실패 결과는 제 16 시프트 레지스터 내에 저장된다. 유사하게, 제 7 테스트 모드(#7)에 대응하는 각각의 통과 또는 실패 결과는 제 15 시프트 레지스터 내에 저장되고, 제 8 테스트 모드(#8)에 대응하는 각각의 통과 또는 실패 결과는 제 14 시프트 레지스터 내에 저장되고, 제 9 테스트 모드(#9)에 대응하는 각각의 통과 또는 실패 결과는 제 13 시프트 레지스터 내에 저장되고, 그리고 제 10 테스트 모드(#10)에 대응하는 각각의 통과 또는 실패 결과는 제 12 시프트 레지스터 내에 저장된다.
대안적으로, 제 1의 3개의 시프트 레지스터들 내의 "1,1,0"의 디지털 코드가 제 3 세트의 가능한 테스트 모드들이 선택되었음을 나타낼 때, 제 11 테스트 모드(#11)에 대응하는 각각의 통과 또는 실패 결과는 제 16 시프트 레지스터 내에 저장된다. 유사하게, 제 12 테스트 모드(#12)에 대응하는 각각의 통과 또는 실패 결과는 제 15 시프트 레지스터 내에 저장되고, 제 13 테스트 모드(#13)에 대응하는 각각의 통과 또는 실패 결과는 제 14 시프트 레지스터 내에 저장되고, 제 14 테스트 모드(#14)에 대응하는 각각의 통과 또는 실패 결과는 제 13 시프트 레지스터 내에 저장되고, 그리고 제 15 테스트 모드(#15)에 대응하는 각각의 통과 또는 실패 결과는 제 12 시프트 레지스터 내에 저장된다.
백 엔드 BIST 상태 머신(316)은 현재 테스트 모드에 대해 코어 플래시 메모리 셀들의 어레이의 프로그램 상태 및 소거 상태의 요구되는 패턴과 프로그램 상태 및 소거 상태의 측정된 패턴을 비교함으로써 현재 테스트 모드가 통과했는지 아니면 실패했는 지의 여부를 결정한다(도 9의 단계(374)). 프로그램 상태 및 소거 상태의 측정된 패턴이 코어 플래시 메모리 셀들의 어레이의 프로그램 상태 및 소거 상태의 요구되는 패턴과 실질적으로 같다면, 통과 결과가 현재 테스트 모드에 할당된다. 같지 않다면, 실패 결과가 현재 테스트 모드에 할당된다.
이러한 통과 또는 실패 결과는 백 엔드 BIST 상태 머신(316)으로부터 도 8의 메모리 위치 디코더(328)에 전송된다. 어떤 테스트 모드가 현재 모드인지를 나타내는 BSTAT 값이 또한 프론트 엔드 인터페이스(314)로부터 메모리 위치 디코더(328)에 전송된다. 메모리 위치 디코더는 BSTAT 값을 디코드하고, 그 현재 테스트 모드에 대응하는 직렬 시프트 레지스터(320)의 제 4 부분(336)을 포함하는 제 12, 13, 14, 15 또는 16 레지스터들중 적절한 하나의 레지스터 내에 현재 테스트 모드의 각각의 통과 또는 실패 결과를 저장한다.
본 발명의 일 실시예에서, 직렬 시프트 레지스터(320)의 제 4 부분(336)을 포함하는 제 12, 13, 14, 15 또는 16 레지스터들 각각은 제 2 상태 이전에 로우 "0"으로 리셋된다. 이후, 현재 테스트 모드가 통과 결과를 가지면, 메모리 위치 디 코더(328)는 그 현재 테스트 모드에 대응하는 직렬 시프트 레지스터(320)의 제 4 부분(336)을 포함하는 제 12, 13, 14, 15 또는 16 레지스터들중 하나의 레지스터 내에 하이 "1"을 세트시킨다. 한편, 현재 테스트 모드가 실패 결과를 갖는 경우, 이 현재 테스트 모드에 대응하는 레지스터는 로우 "0"으로 여전히 세트된다. 이러한 메모리 위치 디코더(328)를 구현하는 디코더 기술은 전자 공학 분야의 당업자에게 알려져있다.
프론트 엔드 인터페이스(314) 및 백 엔드 BIST 상태 머신(316)이 직렬 시프트 레지스터(320)의 제 3 부분(335)에 테스트 모드 데이터에 의해 표시되는 요구되는 모든 테스트 모드들을 통해 순환할 때, 백 엔드 BIST 상태 머신(316)은 BBUSY 플래그를 하이로부터 로우로 세트시킴으로써 제 3 상태의 끝을 나타낸다(도 10의 시점(407)). 제 3 상태 동안, 외부 테스트 시스템(318)은 제 2 IO2 핀을 통해 BIST 인터페이스를 폴링(polling)하고, 백 엔드 BIST 상태 머신(316)으로부터의 BBUSY 플래그가 이러한 폴링의 결과로서 제 1 IO1 핀을 통해 외부 테스트 시스템(318)에 전달된다. 이 경우, 제 2 IO2 핀은 제어 인에이블 핀으로서 이용되고, 제 1 IO1 핀은 제 3 상태 동안 BBUSY 플래그에 대한 출력 핀으로서 이용된다.
이러한 방식으로, BBUSY 플래그가 하이로부터 로우로 세트되어 백 엔드 BIST 상태 머신(316)에 의한 제 3 상태의 끝을 나타낼 때, 외부 테스트 시스템(318)은 백 엔드 BIST 상태 머신(316)이 요구되는 테스트 모드들 각각의 실행을 완료했음을 통지받는다. 이후, 외부 테스트 시스템(318)은 제어 신호로서 로우로 세트된 제 2 IO2 핀 및 로우로 세트된 WE/제어 신호를 포함하는 제 4 세트의 제어 신호들을 전송함으로써, 논리 제어기(325)에게 제 4 상태의 시작을 나타낸다(도 9의 단계(376) 및 도 10의 시점(408)). 이 경우, 논리 제어기(325)는 ST4 플래그를 하이로 세트시킨다. 이러한 제 4 상태 동안, 요구되는 테스트 모드들 각각에 대한 시프트 레지스터(320)의 제 4 부분(336)에 저장된 각각의 통과 또는 실패 결과는 외부 테스트 시스템(318)에 출력된다(도 9의 단계(378)).
제 4 상태 동안, 외부 테스트 시스템(318)은 제 2 IO2 핀을 통해 제 2 IO2 클럭 신호를 제공하고 OE/제어 핀을 통해 OE/클럭 신호를 제공한다. 시프트 레지스터 클럭(321)이 논리 제어기(325)로부터 하이인 ST4 플래그를 수신하면, 시프트 레지스터 클럭(321)은 제 2 IO2 클럭 신호와 OE/클럭 신호의 조합으로부터 발생되는 클럭 신호에 의해 직렬 시프트 레지스터(320)를 구동시킨다. 예를 들어, 직렬 시프트 레지스터(320)는 로우가 되는 OE/클럭 신호와 이후 하이가 되는 제 2 IO2 클럭 신호의 조합의 각 발생시 1 비트 시프트된다. 이러한 조합에 의해, 직렬 시프트 레지스터(320)는 OE/클럭 신호 단독의 또는 제 2 IO2 클럭 신호 단독의 제어되지 않은 잡음 천이에서 잘못하여 1비트 시프트되지 않게 된다. 직렬 시프트 레지스터(320)가 이러한 클럭 신호에 의해 구동될 때, 이 직렬 시프트 레지스터(320)의 콘텐츠가 외부 테스트 시스템(318)으로 시프트된다. 제 3 버퍼(338)가 턴온됨에 따라, 직렬 시프트 레지스터(320)의 콘텐츠가 외부 테스트 시스템(318)으로 시프트되는 동안 마지막 시프트 레지스터(337)의 콘텐츠가 제 1 IO1 핀을 통해 출력된다.
요구되는 각 테스트 모드에 대한 각각의 통과 또는 실패 결과는 직렬 시프트 레지스터(320)의 제 4 부분(336) 내의 각각의 위치에 저장된다. 따라서, 외부 테스트 시스템(318)은 직렬 시프트 레지스터(320)의 제 4 부분(336)에 저장된 각각의 통과 결과 또는 실패 결과의 각 위치로부터, 요구되는 테스트 모드들중 어느 것이 통과 결과를 갖는지, 그리고 요구되는 테스트 모드들중 어느 것이 실패 결과를 갖는 지를 결정한다. 이렇게 되면, 플래시 메모리 디바이스(304)는 이러한 통과 결과 또는 실패 결과로부터 분류될 수 있다. 예를 들어, 요구되는 테스트 모드들중 어느 것이 실패 결과를 갖는 경우, 플래시 메모리 디바이스(304)를 갖는 반도체 다이(302)는 폐기되는 것으로 표시될 수 있다.
본 발명의 다른 실시예에서, 직렬 시프트 레지스터(320)의 제 3 부분(335)에 저장된 테스트 모드 데이터의 8개의 비트들 또한 제 4 상태 동안 버퍼(338) 및 제 1 IO1 핀을 통해 외부 테스트 시스템(318)에 시프트된다(도 9의 단계(378)). 본 실시예에서, 외부 테스트 시스템(318)은 직렬 시프트 레지스터(320)의 제 3 부분(335)으로부터 시프트되는 테스트 모드 데이터의 8개의 비트들이 적절한 비트 패턴을 갖는 지의 여부를 결정함으로써, 제 2 상태 동안 테스트 모드 데이터의 8개의 비트들이 외부 테스트 시스템(318)으로부터 직렬 시프트 레지스터(320)의 제 3 부분(335)에 적절히 전송되었는 지의 여부를 결정한다.
어떠한 실시 형태의 경우에도, 직렬 시프트 레지스터(320)의 제 4 부분(336)으로부터의 모든 통과 또는 실패 결과들이 외부 테스트 시스템(318)에 출력되면, 제 4 상태는 끝난다. 이 시점에서, 외부 테스트 시스템(318)은 제어 신호로서 OE/제어 신호들이 하이로 세트되고 제 2 IO2 핀이 하이로 세트되는 동안 로우로 세트되는 WE/제어 신호를 포함하는 리셋 제어 신호를 논리 제어기(325)에 전송한다(도 9의 단계(380)).
외부 테스트 시스템(318)이 논리 제어기(325)에 리셋 제어 신호를 전송하면, BIST 인터페이스(312)는 제 2 상태에 다시 들어가(도 9의 단계(364)), 요구되는 테스트 모드들의 제 2 세트를 수행하기 위해 제 2 상태, 제 3 상태 및 제 4 상태를 반복한다. 도 11을 참조하여, 예를 들어 "1,0,0"의 디지털 코드가 직렬 시프트 레지스터(320)의 제 1의 3개의 시프트 레지스터들 내에 있을 때 요구되는 테스트 모드들의 제 1 세트를 실행한 후, 외부 테스트 시스템(318)에 의해 제 2 상태가 다시 수행되어, 직렬 시프트 레지스터(320)의 제 1의 3개의 시프트 레지스터들 내에 "1,0,1"의 디지털 코드를 입력함으로써, 요구되는 테스트 모드들의 제 2 세트를 나타낸다. 이 경우, 요구되는 테스트 모드들의 제 2 세트에 대한 각각의 통과 또는 실패 결과가 외부 테스트 시스템(318)에 출력될 때 까지, 요구되는 테스트 모드들의 이러한 제 2 세트에 대해 제 2 상태, 제 3 상태 및 제 4 상태가 반복된다.
이러한 방식으로, 요구되는 테스트 모드들의 각 세트에 대한 제 4 상태 이후 외부 테스트 시스템(318)이 논리 제어기(325)에 리셋 제어 신호를 전송할 때, 요구되는 테스트 모드들의 서로 상이한 세트에 대해 제 2 상태, 제 3 상태 및 제 4 상태가 반복됨으로써, BIST 시스템(300)에 의해 테스트 모드들의 다수의 세트들이 수 행될 수 있다. 한편, 어떠한 제 4 상태의 끝에서 외부 테스트 시스템(318)에 의해 리셋 제어 신호들이 표명(assert)되지 않는 다면, BIST 모드는 끝난다.
각 반도체 다이 내의 코어 플래시 메모리 셀들에 대해 프로그래밍 동작, 소거 동작 및 판독 동작을 칩 위에서 수행함으로써, 각 반도체 다이를 테스트하는 데에 외부 테스트 시스템(318)의 핀들의 최소수가 이용된다. 예를 들어, 본원에서 설명되는 본 발명의 실시예에서는, 테스트 타입 데이터 및 테스트 모드 데이터를 외부 테스트 시스템(318)으로부터 직렬 시프트 레지스터(320) 내로 입력하고 직렬 시프트 레지스터(320)로부터 외부 테스트 시스템(318)에 통과 결과 또는 실패 결과를 출력하는 데에 2개의 IO 핀들이 이용된다. 또한, CE/, WE/ 및 OE/ 제어 신호들에 대해서는 3개의 핀들이 이용되고, 외부 테스트 시스템(318)으로부터의 파워 서플라이 소스에 대해서는 2개의 핀들이 이용된다.
따라서, 각 반도체 다이를 테스트하는 데에 전용되는 핀들의 수가 종래의 46개에서 본 발명의 일 실시예에서 약 7개로 감소됨으로써, 외부 테스트 시스템(318)에 의해 동시에 테스트될 수 있는 반도체 다이의 수가 약 7배 증가한다. 도 4 및 6을 참조하여, 반도체 웨이퍼(220)의 각 반도체 다이는 코어 플래시 메모리 셀들(304)의 각각의 어레이와 함께 반도체 다이 위에 제조되는 각각의 BIST 시스템(300)을 갖는다. 도 4, 6, 7 및 8을 참조하여, 외부 테스트 시스템(318)의 7개의 핀들의 각 세트는 반도체 웨이퍼(220)의 다수의 각 반도체 다이의 각 BIST 시스템(300)에 결합된다.
도 9 및 도 10을 참조하여, 제 1 상태, 제 2 상태, 제 3 상태 및 제 4 상태 를 포함하는 도 9의 흐름도의 단계들은 반도체 웨이퍼(220)의 다수의 반도체 다이들 각각에서 동시에 수행된다. 본 발명에서는 각 반도체 다이를 테스트하는 데에 전용되는 핀들의 수가 감소하기 때문에, 핀들의 총수가 제한되는 외부 테스트 시스템(318)에 의해 동시에 테스트될 수 있는 반도체 다이의 수가 증가되어, 플래시 메모리 디바이스들을 제조하는 동안의 쓰루풋을 최대화한다.
도 12를 참조하여, 본 발명의 다른 실시예에서, 외부 테스트 시스템(318)으로부터의 핀들은 다수의 반도체 다이들에 의해 공유된다. 도 12는 제 1의 각 BIST 시스템(454) 및 제 1의 코어 플래시 메모리 셀들의 각 어레이(456)를 갖는 제 1 반도체 다이(452)와, 제 2의 각 BIST 시스템(460) 및 제 2의 코어 플래시 메모리 셀들의 각 어레이(462)를 갖는 제 2 반도체 다이(458)와, 그리고 제 3의 각 BIST 시스템(466) 및 제 3의 코어 플래시 메모리 셀들의 각 어레이(468)를 갖는 제 3 반도체 다이(464)를 보여준다.
BIST 시스템들(454, 460 및 466)은 코어 플래시 메모리 셀들의 각 어레이(456, 462 및 468)를 칩 위에서 테스트함에 있어서, 본원에서 설명되는 BIST 시스템(300)과 구조 및 기능에 있어서 유사하다. 본 발명의 일 실시예에서, 제 1, 2 및 3 반도체 다이들(452, 458 및 464)은 동일한 반도체 웨이퍼 위에 배치된다. 외부 테스트 시스템(318)으로부터의 제 1 핀(472), 제 2 핀(474) 및 제 3 핀(476)은 제 1, 2 및 3 반도체 다이들(452, 458 및 464)의 BIST 시스템들(454, 460 및 466) 각각에 결합되며 이들에 의해 공유된다. 이러한 공유 핀들은 각각 BIST 시스템들(454, 460 및 466)으로부터/으로 외부 테스트 시스템(318)으로/으로부터 양 방향으로 신호들을 제공하도록 양방향성이거나, BIST 시스템들(454, 460 및 466)으로부터/으로 외부 테스트 시스템(318)으로/으로부터 한 방향으로 신호들을 제공하도록 단방향성이 될 수 있다.
일 예에서, 외부 테스트 시스템(318)으로부터의 제 1 핀(472), 제 2 핀(474) 및 제 3 핀(476)은 CE/제어 신호를 제공하는 CE/제어 핀, WE/제어 신호를 제공하는 WE/제어 핀 및 OE/제어 신호를 제공하는 OE/제어 핀이 될 수 있다. 이 경우, 제 1, 2 및 3 반도체 다이들(452, 458 및 464)은 외부 테스트 시스템(318)으로부터의 제어 핀들을 공유한다. 하지만, 제 1, 2 및 3 반도체 다이들(452, 458 및 464)은 외부 테스트 시스템(318)으로부터의 핀들의 개별적인 세트인 각각의 제 1 IO1 핀 및 제 2 IO2 핀에 대한 각각의 핀들을 가질 수 있다.
이 예에서, 제 1, 2 및 3 반도체 다이들(452, 458 및 464)은 공유되는 제어 핀들(472, 474 및 476) 상의 동시에 존재하는 CE/, WE/ 및 OE/ 제어 신호들 및 외부 테스트 시스템(318)을 이용하여 동시에 테스트되는바, 상기 외부 테스트 시스템(318)은 제 1, 2 및 3 반도체 다이들(452, 458 및 464) 각각에 대해 각각의 제 1 IO1 핀 및 제 2 IO2 핀에 대한 개별적인 핀들을 이용하여 제 1, 2 및 3 반도체 다이들(452, 458 및 464)로/로부터 데이터를 출력 또는 입력한다.
다른 예에서는, 제 1, 2 및 3 반도체 다이들(452, 458 및 464)과 같은 다수의 반도체 다이들이 외부 테스트 시스템(318)으로부터의 공통의 제 1 IO1 핀 및 제 2 IO2 핀에 결합되어 이들을 공유한다. 이 경우, 반도체 다이들(452, 458 및 464) 각각은 외부 테스트 시스템(318)으로부터의 개별적인 핀들의 세트인 각각의 CE/, WE/ 및 OE/ 제어 핀들에 대한 각각의 핀들을 가질 수 있다.
이 예에서, 제 1, 2 및 3 반도체 다이들(452, 458 및 464)은 외부 테스트 시스템(318)에 의해 차례로 테스트되는바, 상기 외부 테스트 시스템(318)은 제 1, 2 및 3 반도체 다이들(452, 458 및 464)에 대해 공유되는 제 1 IO1 핀 및 제 2 IO2 핀을 통해 제 1, 2 및 3 반도체 다이들(452, 458 및 464)로/로부터 데이터를 차례로 출력 또는 입력한다. 제 1, 2 및 3 반도체 다이들(452, 458 및 464) 각각을 차례로 테스트하기 위한 타이밍은 제 1, 2 및 3 반도체 다이들(452, 458 및 464) 각각에 대한 개별적인 각 CE/, WE/ 및 OE/ 제어 핀들 상의 개별적인 CE/, WE/ 및 OE/ 제어 신호들에 의해 제어될 수 있다.
이와같이 외부 테스트 시스템(318)으로부터의 핀들을 공유함으로써, 각 반도체 다이의 코어 플래시 메모리 셀들의 각각의 어레이를 테스트하기 위해 외부 테스트 시스템(318)으로부터 요구되는 제어 및 입/출력 신호들의 수가 상당히 감소될 수 있다. 따라서, BIST에 대한 보다 비용 효율적인 외부 테스트 시스템이 생성되는바, 이는 플래시 메모리 디바이스들을 제조하는 동안 최대화된 쓰루풋을 갖는다.
상기 설명은 단지 예로서 한정적인 것으로 의도되지 않는다. 예를 들어, 본 발명은 보다 많은 수의 테스트 모드들 및 도 8의 직렬 시프트 레지스터(320)의 보다 많은 수의 데이터 비트들에 대해 실행될 수 있다. 본원에서 개시 또는 예시되는 어떠한 숫자들은 단지 예시적인 것이다. 본 발명은 단지 하기의 청구범위 및 그의 등가에 의해서만 한정된다.
C. 백 엔드 BIST 상태 머신
도 13은 도 7의 BIST 시스템(300)의 백 엔드 BIST 상태 머신(316)의 블록도이다. 도 13에서, 코어 플래시 메모리 셀들의 어레이(304), 프론트 엔드 인터페이스(314) 및 BIST 인터페이스(312)는 점선으로 나타내었는데, 이는 이들이 백 엔드 BIST 상태 머신(316)의 일부가 아니기 때문이다. 백 엔드 BIST 상태 머신(316)은 BIST 시스템(300)의 프론트 엔드 인터페이스(314) 및 BIST 인터페이스(312)에 결합된 백 엔드 BIST 제어기(502)를 포함한다. 도 6 및 13을 참조하여, BIST 제어기(502)는 그 위에 코어 플래시 메모리 셀들의 어레이(304)가 제조되어 있는 반도체 다이(302) 위에 온칩 제조된다.
프론트 엔드 인터페이스(314)는 BIST 제어기(502)에게 백 엔드 BIST 상태 머신(316)에 의해 수행될 현재 BIST 모드에 대응하는 각각의 식별 데이터를 전송한다. BIST 인터페이스(312)는 BIST 제어기(502)에게 BSTART 신호를 전송하여, 백 엔드 BIST 상태 머신(316)에 의한 BIST 모드들의 세트의 실행의 시작을 나타낸다.
또한, BIST 제어기(502)는 각 BIST 모드의 실행 이후 각 BIST 모드에 대한 각각의 DONE 또는 HANG 신호를 전송한다. BIST 제어기(502)는, 현재 BIST 모드의 성공적인 실행 이후, 즉 코어 플래시 메모리 셀들의 어레이가 현재 BIST 모드를 통과한 경우, DONE 신호를 전송한다. 대안적으로, BIST 제어기(502)는, 현재 BIST 모드가 성공적으로 완료될 수 없는 경우, 즉 코어 플래시 메모리 셀들이 현재 BIST 모드에 실패한 경우 HANG 신호를 전송한다. BIST 제어기(502)는 PLD(프로그램가능한 논리 디바이스)와 같은 데이터 프로세서이며, BIST 제어기를 구현하는 이러한 데이터 프로세서 디바이스들은 전자 공학 분야의 당업자에게 알려져있다.
백 엔드 BIST 상태 머신(316)은 또한 (도 13의 점선 내에 나타낸) 다수의 전압 소스들(504)을 포함한다. 이러한 다수의 전압 소스들은 코어 플래시 메모리 셀들의 어레이(304)에 인가될 전압들을 제공하는 APD 스트레스 전압 소스(506), HTRB 스트레스 전압 소스(508), 프로그램/소거 전압 소스(510) 및 판독/검증 전압 소스(512)를 포함한다. 이러한 다수의 전압 소스들(506, 508, 510 및 512)은 코어 플래시 메모리 셀들의 어레이(304)와 BIST 제어기(502) 사이에 결합된다. BIST 제어기(502)는 다수의 전압 소스들(506, 508, 510 및 512)을 제어하여, 각 BIST 모드에 대해 코어 플래시 메모리 셀들의 어레이(304)에 적절한 전압들을 인가한다. 도 6 및 13을 참조하여, 다수의 전압 소스들(506, 508, 510 및 512)은 그 위에 코어 플래시 메모리 셀들의 어레이(304)가 제조되어 있는 반도체 다이(302) 위에 온칩 제조된다. 전압들을 발생시키는 전압 소스들은 전자 공학 분야의 당업자에게 알려져있다. 또한, 코어 플래시 메모리 셀들의 어레이(304)의 어드레스의 선택된 플래시 메모리 셀들로의 선택된 전압들의 인가를 제어하기 위한 메커니즘은 플래시 메모리 디바이스 분야의 당업자에게 알려져있다.
백 엔드 BIST 상태 머신(316)은 또한 기준 회로(514) 및 비교 회로(516)를 포함한다. 기준 회로(514)는 기준 전류들 또는 전압들을 발생시키고, 비교 회로(516)는 코어 플래시 메모리 셀들의 어레이(304)의 플래시 메모리 셀의 전류 또는 전압을 비교하여, 플래시 메모리 셀의 판독 또는 검증 동작 동안 그 플래시 메모리 셀에 대응하는 각각의 논리 하이 또는 로우 상태를 발생시킨다. 도 6 및 13을 참조하여, 기준 회로(514) 및 비교 회로(516)는 그 위에 코어 플래시 메모리 셀들의 어레이(304)가 제조되어 있는 반도체 다이(302) 위에 온칩 제조된다. 플래시 메모리 셀의 판독 또는 검증 동작 동안 이용되는 이러한 기준 회로들 및 비교 회로들은 전자 공학 분야의 당업자에게 알려져있다.
플래시 메모리 셀들(304)의 판독 또는 검증 동작 동안, 어드레스를 포함하는 소정수의 플래시 메모리 셀들 각각에 대해 각각의 논리 하이 또는 로우 상태가 비교기(516)에 의해 발생되어, 측정된 비트 패턴을 형성한다. 비트 패턴 발생기(518)는 플래시 메모리 셀들의 그 어드레스에 대응하는 요구되는 비트 패턴을 발생시킨다. 이 비트 패턴 발생기(518)에 결합된 어드레스 시퀀서(524)는 비트 패턴 발생기(518)에 플래시 메모리 셀들의 현재 어드레스를 나타낸다. 비트 패턴 발생기(518)의 예시적인 구현은 본원에서 "BIST 시스템에서의 패턴 발생기"라는 제목의 "G" 섹션에서 설명된다. 도 6 및 13을 참조하여, 비트 패턴 발생기(518)는 그 위에 코어 플래시 메모리 셀들의 어레이(304)가 제조되어 있는 반도체 다이(302) 위에 온칩 제조된다.
매칭 회로(matching circuit)(520)는 비교 회로(516)로부터의 측정된 비트 패턴과 비트 패턴 발생기(518)로부터의 요구되는 비트 패턴을 비교하여, 측정된 비트 패턴이 요구되는 비트 패턴과 같은 지의 여부를 결정한다. 이러한 비교의 결과는 매칭 회로(520)로부터 BIST 제어기(502)에 전송된다. 이러한 매칭 회로의 구현 은 전자 공학 분야의 당업자에게 알려져있다. 도 6 및 13을 참조하여, 매칭 회로(520)는 그 위에 코어 플래시 메모리 셀들의 어레이(304)가 제조되어 있는 반도체 다이(302) 위에 온칩 제조된다.
또한, 백 엔드 BIST 상태 머신(316)은 어드레스 시퀀서(524)를 더 포함하며, 이에 따라 현재 BIST 모드가 플래시 메모리 셀들의 어레이(304)의 각 어드레스를 통해 수행된다. 백 엔드 BIST 상태 머신(316)의 어드레스 시퀀서(524)의 예시적인 구현은 "BIST 시스템 내의 어드레스 시퀀서"라는 제목의 "F" 섹션에서 설명된다. 도 6 및 13을 참조하여, 어드레스 시퀀서(524)는 그 위에 코어 플래시 메모리 셀들의 어레이(304)가 제조되어 있는 반도체 다이(302) 위에 온칩 제조된다.
타이머 또는 클럭(526)이 BIST 제어기(502)에 결합되며, 이에 따라 BIST 제어기(502)는 BIST 모드들을 실행하는 동안 단계들의 경과 기간의 시간을 정한다. 타이머들 및 클럭들에 대한 구현은 전자 공학 분야의 당업자들에게 알려져있다. 도 6 및 13을 참조하여, 타이머 또는 클럭(526)은 그 위에 코어 플래시 메모리 셀들의 어레이(304)가 제조되어 있는 반도체 다이(302) 위에 온칩 제조된다.
도 14는 코어 플래시 메모리 셀들의 어레이(304)를 테스트하기 위해 BIST 모드들 각각을 실행하는 도 13의 백 엔드 BIST 상태 머신(316)이 동작하는 동안 비교적 적은 수의 상태들을 갖는 상태 머신도(530)이다. 이 상태 머신도는 START 상태(532), APD(자동 프로그램 디스터브) 상태(534), HTRB(하이 템퍼러쳐 리텐션 베이크) 상태(536), VERIFY1 상태(538), VERIFY2 상태(540), JUICE 상태(542), DONE 상태(544) 및 HANG 상태(546)를 포함한다. 백 엔드 BIST 상태 머신(316)은 코어 플래 시 메모리 셀들의 어레이(304)의 테스트를 위해 각 BIST 모드를 수행하기 위하여 이러한 한정된 수의 상태들(532, 534, 536, 538, 540, 542, 544 및 546)의 각 세트에 들어간다.
이제, 도 14의 상태 머신도(530)와 관련하여, 백 엔드 BIST 상태 머신(316)이 코어 플래시 메모리 셀들의 어레이(304)를 테스트하기 위해 어떠한 예시적인 BIST 모드들을 실행하는 것에 대해 설명한다. 도 7을 참조하여, 백 엔드 BIST 상태 머신(316)에 의한 BIST 모드들의 세트의 실행의 시작을 나타내기 위해, BIST 인터페이스(312)는 백 엔드 BIST 상태 머신(316)에게 BSTART 신호를 전송한다.
또한, 프론트 엔드 인터페이스(314)는 백 엔드 BIST 상태 머신(316)에 의해 현재 수행될 BIST 모드들의 세트의 현재 BIST 모드에 대한 각각의 식별 데이터를 전송한다. 프론트 엔드 인터페이스(314)는, BIST 모드들의 세트의 각 BIST 모드가 백 엔드 BIST 상태 머신(316)에 의해 수행될 때 까지, 현재 BIST 모드로서 BIST 모드들의 세트의 각 BIST 모드를 통해 순환한다. BIST 모드들의 세트의 각 BIST 모드가 백 엔드 BIST 상태 머신(316)에 의해 수행되면, 백 엔드 BIST 상태 머신(316)으로부터의 BBUSY 신호는 BIST 인터페이스(312)에게 백 엔드 BIST 상태 머신(316)에 의한 BIST 모드들의 세트의 완료를 나타내기 위해 더 이상 표명되지 않는다. 그 전에는, BIST 모드들의 세트가 아직 완료되지 않았음을 나타내기 위해, 백 엔드 BIST 상태 머신(316)에 의해 BBUSY 신호가 BIST 인터페이스(312)에 표명되었다.
일반적으로, BIST 모드는 코어 플래시 메모리 셀들의 어레이(304)의 각 플래시 메모리 셀 상으로의 전압들의 인가 및 코어 플래시 메모리 셀들의 어레이(304) 의 각 플래시 메모리 셀의 각각의 논리 상태의 판독중 적어도 하나를 포함한다. BIST 모드가 코어 플래시 메모리 셀들의 어레이(304)의 각 플래시 메모리 셀에 프로그래밍 전압 또는 소거 전압을 인가하는 것을 포함할 때, BIST 모드는 또한 코어 플래시 메모리 셀들의 어레이(304)의 각 플래시 메모리 셀의 프로그램 상태 또는 소거 상태의 검증을 포함한다.
코어 플래시 메모리 셀들의 어레이(304)의 각 플래시 메모리 셀에 전압들을 인가하기 위한 BIST 모드들의 예들은, 코어 플래시 메모리 셀들의 어레이(304)의 각 플래시 메모리 셀에 대해 논리 로우 상태가 프로그램될 수 있도록 각 플래시 메모리 셀에 프로그래밍 전압들을 인가하거나, 또는 코어 플래시 메모리 셀들의 어레이(304)의 각 플래시 메모리 셀에 대해 논리 하이 상태가 프로그램될 수 있도록 각 플래시 메모리 셀에 소거 전압들을 인가하기 위한 BIST 모드를 포함한다. 대안적으로, 프로그래밍 전압들 및 소거 전압들은 코어 플래시 메모리 셀들의 어레이(304)에 대해서 논리 로우 상태 및 및 하이 상태의 체커 보드 패턴에 대해 각 플래시 메모리 셀에 교번적으로 인가된다.
도 15는 예시적인 BIST 모드가 코어 플래시 메모리 셀들의 어레이(304)의 각 플래시 메모리 셀에 프로그램 전압 또는 소거 전압을 인가함과 동시에, 코어 플래시 메모리 셀들의 어레이(304)의 각 플래시 메모리 셀의 프로그램 상태 또는 소거 상태를 검증하는 흐름도이다. 도 13, 14 및 15를 참조하여, BIST 제어기(502)는 코어 플래시 메모리 셀들의 어레이(304)의 각 플래시 메모리 셀에 전압들을 인가하기 위해 동시에 수행될 현재 BIST 모드의 각 식별 데이터를 수신한다. 이러한 BIST 모 드의 시작에서, BIST 제어기(502)는 도 14의 START 상태(532)에 들어간다(도 15의 단계(552)). START 상태 동안, 타이머(526)는 START 상태 동안 플래시 메모리 셀들의 워드 라인들에 인가될 전압을 제공하는 전압 소스들(504) 내의 조정 캐패시터들을 리셋시키기 위해 현재 BIST 모드를 시작하기 전에 소정의 대기 시간 기간을 정한다(도 15의 단계(554)). 플래시 메모리 셀들의 워드 라인들에 전압을 제공하는 전압 소스들(504) 내의 조정 캐패시터들을 리셋시키는 것은 플래시 메모리 디바이스 분야의 당업자에게 알려져있다. 대기 시간 기간의 만료 이전(대기 시간=참)에, 백 엔드 BIST 상태 머신(316)은 START 상태로 유지된다.
START 상태 내에서의 대기 시간 기간의 만료 이후(대기 시간=거짓), 백 엔드 BIST 상태 머신(316)은 도 14의 VERIFY1 상태(538)에 들어간다(도 15의 단계(556)). VERIFY1 상태 동안, 타이머(526)는 VERIFY2 상태 동안 다수의 전압 소스들(504)로부터의 전압들이 플래시 메모리 셀들의 어드레스에 인가되기 전에 소정의 대기 시간 기간을 정하며, 이에 따라 다수의 전압 소스들(504)로부터의 전압 레벨들이 VERIFY2 상태에 들어가기 전에 안정될 수 있게 된다(도 15의 단계(558)). VERIFY1 상태 내에서의 대기 시간 기간의 만료 이전(대기 시간=참)에, 백 엔드 BIST 상태 머신(316)은 VERIFY1 상태로 유지된다.
도 16은 코어 플래시 메모리 셀들의 어레이(304)의 예시적인 레이아웃으로서, 제 1 섹터(602) 제 2 섹터(604), 제 3 섹터(606), 제 4 섹터(608), 제 5 섹터(610), 제 6 섹터(612), 제 7 섹터(614) 및 제 8 섹터(616)를 포함하는 8개의 수평 섹터(horizontal sector)들을 포함한다. 또한, 코어 플래시 메모리 셀들의 어레이는 각 수평 섹터 내에 16개의 수직 블록들을 포함하는바, 이들은 제 1 블럭(622), 제 2 블럭(624), 제 3 블럭(626), 제 4 블럭(628), 제 5 블럭(630), 제 6 블럭(632), 제 7 블럭(634), 제 8 블럭(636), 제 9 블럭(638), 제 10 블럭(640), 제 11 블럭(642), 제 12 블럭(644), 제 13 블럭(646), 제 14 블럭(648), 제 15 블럭(650) 및 제 16 블럭(652)을 포함한다.
도 17을 참조하여, 플래시 메모리 셀들의 섹터 내의 각 블럭은 64개의 비트 라인들 및 64개의 워드 라인들을 포함한다. 예를 들어, 도 17은 제 1 섹터(602)의 제 1 블럭(622)에 대해, 제 1 비트 라인(662), 제 2 비트 라인(664), 제 3 비트 라인(666)... 제 64 비트 라인(668), 및 제 1 워드 라인(672), 제 2 워드 라인(674), 제 3 워드 라인(676)... 제 64 워드 라인(678)까지 포함한다. 비트 라인과 워드 라인의 교점이 플래시 메모리 셀들의 블럭 내에 플래시 메모리 셀을 형성한다. 워드 라인은 16개의 모든 블럭들(622, 624, 626, 628, 630, 632, 634, 636, 638, 640, 642, 644, 646, 648, 650 및 652)을 통해 수평 방향으로 그리고 연속적으로 연장된다.
도 16 및 17을 참조하여, 본 발명의 일 실시예에서, 어드레스를 포함하는 소정수의 플래시 메모리 셀들은 16개의 블럭들(622, 624, 626, 628, 630, 632, 634, 636, 638, 640, 642, 644, 646, 648, 650 및 652) 각각 내의 동일한 워드 라인 및 N번째 비트 라인에 결합된 16개의 플래시 메모리 셀들에 의해 형성된다. 예를 들어, 제 1 어드레스는 16개의 블럭들(622, 624, 626, 628, 630, 632, 634, 636, 638, 640, 642, 644, 646, 648, 650 및 652) 각각 내의 가장 윗쪽 워드 라인(672) 및 각각의 제 1의 가장 왼쪽 비트 라인(662)에 결합된 16개의 각 플래시 메모리 셀들에 의해 이루어진다. 그러면, 제 2 어드레스는 16개의 블럭들(622, 624, 626, 628, 630, 632, 634, 636, 638, 640, 642, 644, 646, 648, 650 및 652) 각각 내의 가장 윗쪽 워드 라인(672) 및 각각의 제 2의 가장 왼쪽 비트 라인(664)에 결합된 16개의 각 플래시 메모리 셀들에 의해 이루어진다. 따라서, 가능한 64개의 칼럼 어드레스들이 각 수평 워드 라인에 결합되는데, 이는 각각의 64개의 비트 라인들이 16개의 블럭들(622, 624, 626, 628, 630, 632, 634, 636, 638, 640, 642, 644, 646, 648, 650 및 652) 각각을 통해 연장되기 때문이다. 도 15를 참조하여, START 상태(552) 이전에, 어드레스 시퀀서는 16개의 플래시 메모리 셀들의 현재 어드레스로서 제 1 어드레스로 리셋된다.
도 15를 참조하여, VERIFY1 상태 내의 대기 시간 기간의 만료 이후(대기 시간=거짓), 백 엔드 BIST 상태 머신(316)은 도 14의 VERIFY2 상태(540)에 들어간다(도 15의 단계(560)). VERIFY2 상태 동안, BIST 제어기(502)는 플래시 메모리 셀들의 어레이(304)의 현재 어드레스를 포함하는 소정수(본원에서 설명되는 도 16 및 17의 예에서는 16개)의 플래시 메모리 셀들 각각에 검증 전압들을 인가하기 위한 판독/검증 전압 소스(504)를 제어한다.
플래시 메모리 셀들의 현재 어드레스에 대응하는 측정된 비트 패턴이 기준 회로(514)를 이용하여 비교 회로(516)에 의해 발생된다. 이러한 측정된 비트 패턴은, 검증 전압들이 현재 어드레스를 포함하는 플래시 메모리 셀들에 인가된 후 소정수의 플래시 메모리 셀들 각각으로부터 판독된 일련의 각 비트(이는 논리 하이 상태 "1" 또는 논리 로우 상태 "0"이 될 수 있다)로 이루어진다. 플래시 메모리 셀 들의 프로그램 상태 또는 소거 상태를 검증하기 위해 플래시 메모리 셀들에 인가되는 검증 전압들은 플래시 메모리 디바이스 분야의 당업자에게 알려져있다. 또한, 플래시 메모리 셀들의 현재 어드레스에 대응하는 요구되는 비트 패턴은 비트 패턴 발생기(518)에 의해 발생된다. 이러한 요구되는 비트 패턴은 현재 어드레스의 소정수의 플래시 메모리 셀들 각각에 대해 요구되는 각 비트(이는 논리 하이 상태 "1" 또는 논리 로우 상태 "0"이 될 수 있다)로 이루어진 일련의 비트들이다.
이후, 매칭 회로(520)는 플래시 메모리 셀들의 현재 어드레스에 대해 요구되는 비트 패턴과 측정된 비트 패턴을 비교한다(도 15의 단계(562)). 측정된 비트 패턴의 어느 비트가 요구되는 비트 패턴과 같지 않다면, BIST 제어기(502)는 Max_PC(최대 펄스 카운트)에 대해 PULSE_COUNT 변수를 체크한다. 현재 BIST 모드에 대한 START 상태(552) 이전에, PULSE_COUNT는 0으로 리셋된다. PULSE_COUNT가 Max_PC 보다 작으면(도 15의 단계(564)), BIST 제어기(502)는 도 14의 JUICE 상태(542)(도 15의 단계(566)) 동안 코어 플래시 메모리 셀들(304)의 현재 어드레스를 포함하는 플래시 메모리 셀들에 현재 BIST 모드에 대응하는 각각의 프로그래밍 전압 또는 소거 전압을 인가하도록 다수의 전압 소스들(504)을 제어한다. 또한, 이 경우, PULSE_COUNT는 1 증가한다.
예를 들어, 현재 BIST 모드가 플래시 메모리 셀들 각각에 프로그램 전압들을 인가하기 위한 것이라면, 현재 어드레스를 포함하는 플래시 메모리 셀들에 대한 요구되는 비트 패턴은 일련의 16개의 0이다. 측정된 비트 패턴의 어느 비트가 논리 하이 상태(즉, "1")이면, 프로그램 전압 소스(510)로부터 프로그래밍 전압들이 논 리 하이 상태를 갖는 어느 플래시 메모리 셀에 인가되고, PULSE_COUNT는 1 증가한다. 타이머(526)는 JUICE 상태 동안 이러한 전압들을 인가하기 위한 juice 시간 기간, JTIMEOUT의 시간을 정한다(도 15의 단계(568)). juice 시간 기간에 대한 값은 현재 BIST 모드에 의존한다. 예를 들어, juice 시간 기간에 대한 값은 현재 BIST 모드가 프로그램 전압들을 인가하기 위한 것인지, 아니면 소거 전압들을 인가하기 위한 것인 지에 의존하여 달라질 수 있다. juice 시간 기간의 만료 이전(JTIMEOUT=거짓)에, 벡 엔드 BIST 상태 머신(316)은 juice 시간 기간, JTIMEOUT 동안 현재 BIST 모드에 대응하는 각각의 전압들을 인가하기 위해 JUICE 상태 내에 유지된다.
juice 시간 기간의 만료 이후(JTIMEOUT=참), 백 엔드 BIST 상태 머신(316)은 도 14의 VERIFY1 및 VERIFY2 상태들(538 및 540)(도 15의 단계들(556, 558, 560 및 562))로 다시 간다. VERIFY1 및 VERIFY2 상태들에 다시 들어가면, 플래시 메모리 셀들의 현재 어드레스에 대응하는 측정된 비트 패턴이 마지막의 부가적인 JUICE 상태(566) 이후 기준 회로(514)를 이용하여 비교 회로(516)에 의해 발생되고, 매칭 회로(520)는 요구되는 비트 패턴과 측정된 비트 패턴을 비교한다. 부가적인 JUICE 상태(566)를 이용함으로써, 플래시 메모리 셀들의 현재 어드레스에 대응하는 측정된 비트 패턴과 요구되는 비트 패턴이 같을 가능성이 더욱 커지게 된다. 측정된 비트 패턴이 요구되는 비트 패턴과 같지 않다면, PULSE_COUNT가 Max_PC 보다 클 때 까지 또는 측정된 비트 패턴이 요구되는 비트 패턴과 같을 때 까지, PULSE_COUNT가 증가하면서 단계들(564, 566, 568, 556, 558, 560 및 562)이 다시 반복된다.
PULSE_COUNT가 Max_PC 보다 크면, JUICE 상태(도 15의 단계들(566 및 568))는 Max_PC 횟수 만큼 입력된다. 현재 BIST 모드에 대응하는 각각의 프로그래밍 또는 소거 전압들이 현재 어드레스의 플래시 메모리 셀들에 Max_PC 횟수 만큼 인가된 후 측정된 비트 패턴이 요구되는 비트 패턴과 같지 않다면, PULSE_COUNT는 0으로 리셋되고(도 15의 단계(570)), BIST 제어기(502)는 도 14의 HANG 상태(546)로 들어간다(도 15의 단계(572)).
한편, PULSE_COUNT가 Max_PC 보다 크기 전에 도 15의 단계(562)에서, 측정된 비트 패턴이 요구되는 비트 패턴과 같은 것으로 결정되면, 코어 플래시 메모리 셀들(304)의 현재 어드레스는 어드레스 시퀀서(524) 내의 다음 칼럼 어드레스로 증가하고, PULSE_COUNT는 0으로 리셋된다(도 15의 단계(574)). 또한, 현재 어드레스가 다음 칼럼 어드레스로 증가한 후, BIST 제어기(502)는 VERIFY1 상태로 루프 백(loop back)되어(도 15의 단계(574)), 후속 칼럼 어드레스에 대해 단계들(556, 558, 560, 562, 564, 566, 568, 570 및 574)이 반복된다.
도 16 및 17을 참조하여, 한 칼럼 어드레스는 16개의 블럭들(622, 624, 626, 628, 630, 632, 634, 636, 638, 640, 642, 644, 646, 648, 650 및 652) 각각 내의 동일한 워드 라인 및 N번째 비트 라인에 결합된 16개의 플래시 메모리 셀들에 대한 것이다. 예를 들어, 도 16 및 17에서, 제 1 칼럼 어드레스는 16개의 블럭들(622, 624, 626, 628, 630, 632, 634, 636, 638, 640, 642, 644, 646, 648, 650 및 652) 각각 내의 가장 윗쪽 워드 라인(672) 및 각각의 제 1의 가장 왼쪽 비트 라인(662)에 결합된 16개의 각 플래시 메모리 셀들로 이루어진다. 그러면, 제 2 칼럼 어드레스는 16개의 블럭들(622, 624, 626, 628, 630, 632, 634, 636, 638, 640, 642, 644, 646, 648, 650 및 652) 각각 내의 가장 윗쪽 워드 라인(672) 및 각각의 제 2의 가장 왼쪽 비트 라인(664)에 결합된 16개의 각 플래시 메모리 셀들로 이루어진다. 따라서, 가능한 64개의 칼럼 어드레스들이 각각의 수평 워드 라인에 결합되는데, 이는 64개의 수직 비트 라인들의 각 세트가 16개의 블럭들(622, 624, 626, 628, 630, 632, 634, 636, 638, 640, 642, 644, 646, 648, 650 및 652) 각각을 통해 연장되기 때문이다.
현재 칼럼 어드레스가 Max_CA(최대 칼럼 어드레스, 즉 도 16 및 17의 예에서는 64) 보다 클 때 까지, 도 15의 단계들(556, 558, 560, 562, 564, 566, 568, 570, 572 및 574)의 루프가 이러한 칼럼 어드레스들 각각에 대해 반복된다. 현재 칼럼 어드레스가 Max_CA 보다 크면(도 15의 단계(576)), 도 15의 단계들(556, 558, 560, 562, 564, 566, 568, 570, 572 및 574)에 의해 현재 BIST 모드가 현재 워드 라인에 대한 64개의 모든 칼럼 어드레스들에 대해 수행된다. 도 16 및 도 17을 참조하여, 각각의 수평 섹터(602, 604, 606, 608, 610, 612, 614 및 616)는 64개의 워드 라인들의 각 세트를 갖는다. 64개의 모든 칼럼 어드레스들에 대해 현재 BIST 모드를 수행하기 위한 루프는, 현재 블럭 어드레스가 Max_BA(최대 블럭 어드레스) 보다 클 때 까지(도 15의 단계(578)), 64개의 워드 라인들 각각에 대해 반복된다.
현재 블럭 어드레스가 Max_BA 보다 크다면(도 15의 단계(578)), 도 16 및 도 17을 참조하여, 현재 BIST 모드는 수평 섹터들(602, 604, 606, 608, 610, 612, 614 및 616)중 현재 섹터 내의 모든 어드레스들에 대해 수행된다. 그렇지 않고, 현재 블럭 어드레스가 Max_BA 보다 크지 않다면(도 15의 단계(578)), 현재 BIST 모드가 수평 섹터들중 현재 섹터 내의 모든 어드레스들에 대해 수행될 때 현재 블럭 어드레스가 Max_BA 보다 클 때 까지 도 15의 단계들(556, 558, 560, 562, 564, 566, 568, 570, 572, 574, 576 및 578)의 루프가 반복된다. 현재 블럭 어드레스가 수평 섹터들중 현재 섹터 내의 모든 어드레스들에 대해 수행되는 현재 BIST 모드에 대해 Max_BA 보다 클 때(도 15의 단계(578)), 현재 섹터 어드레스는 어드레스 시퀀서(524) 내의 다음 수직 섹터로 증가된다.
도 15의 단계들(552, 554, 556, 558, 560, 562, 564, 566, 568, 570, 572, 574, 576, 578, 580 및 582)의 루프는, 현재 BIST 모드가 모든 수평 섹터들(602, 604, 606, 608, 610, 612, 614 및 616) 내의 모든 어드레스들에 대해 수행될 때 현재 섹터 어드레스가 Max_SA(최대 섹터 어드레스) 보다 클 때 까지(도 15의 단계(582)) 반복된다. 이 시점에서, 변수 emb_Read(내장형 판독: embedded Read)가 논리 하이 상태 "1"로 세트되고(도 15의 단계(584)), 이렇게 되면 현재 BIST 모드는 플래시 메모리 셀들 각각에 대한 프로그램 또는 소거 상태들의 판독을 포함하게 된다. 이러한 결정 단계들(576, 578 및 582)의 내포된 루프(nested loop)들의 실행 및 어드레스 시퀀서(524)에 의해, 도 15의 현재 BIST 모드는 전체 코어 플래시 메모리 셀들의 어레이(304)의 각 어드레스를 통해 수행된다.
도 18은 코어 플래시 메모리 셀들의 어레이(304)의 각 플래시 메모리 셀의 각각의 논리 상태의 판독을 포함하는 BIST 모드의 흐름도이다. 예를 들어, 이러한 BIST 모드는, 도 15의 BIST 모드의 단계(584)에서 변수 emb_Read(내장형 판독)가 논리 하이 상태 "1"로 세트된 후에 수행될 수 있다. BIST 모드의 이러한 판독 동작의 시작에서, BIST 제어기(502)는 도 14의 START 상태(532)를 입력한다(도 18의 단 계(682)). START 상태 동안, 타이머(526)는 플래시 메모리 셀들의 워드 라인들 상에 인가되는 전압을 제공하는 전압 소스들(504) 내의 조정 캐패시터들을 리셋시키기 위해 현재 BIST 모드를 시작하기 전에 소정의 대기 시간 기간을 정한다(도 18의 단계(684)). 대기 시간 기간의 만료 이전(대기 시간=참)에, 백 엔드 BIST 상태 머신(316)는 START 상태 내에 유지된다.
START 상태 내에서의 대기 시간 기간의 만료 이후(대기 시간=거짓), 백 엔드 BIST 상태 머신(316)은 도 14의 VERIFY1 상태(538)에 들어간다(도 18의 단계(686)). VERIFY1 상태 동안, 타이머(526)는 VERIFY2 상태에 대해 다수의 전압 소스들(504)로부터의 전압들이 플래시 메모리 셀들의 어드레스에 인가되기 전에 소정의 대기 시간 기간을 정하며, 이에 따라 다수의 전압 소스들(504)로부터의 전압 레벨들이 VERIFY2 상태 이전에 안정화된다(도 18의 단계(688)). VERIFY2 상태 내에서의 대기 시간 기간의 만료 이전(대기 기간=참)에, 백 엔드 BIST 상태 머신(316)은 VERIFY1 상태 내에 유지된다.
VERIFY1 상태 내에서의 대기 시간 기간의 만료 이후(대기 시간=거짓), 백 엔드 BIST 상태 머신(316)은 도 14의 VERIFY2 상태(540)에 들어간다(도 18의 단계(690)). VERIFY2 상태 동안, BIST 제어기(502)는 플래시 메모리 셀들의 어레이(304)의 현재 어드레스를 포함하는 소정수(즉, 본원에서 설명되는 도 16 및 도 17의 예에 대해서는 16개)의 플래시 메모리 셀들 각각에 판독 전압들을 인가하도록 판독/검증 전압 소스(512)를 제어한다. 플래시 메모리 셀들의 프로그램 또는 소거 상태를 결정하기 위해 플래시 메모리 셀들에 인가되는 판독 전압들은 플래시 메모 리 디바이스들 분야의 당업자에게 알려져있다.
플래시 메모리 셀들의 현재 어드레스에 대응하는 측정된 비트 패턴이 기준 회로(514)를 이용하여 비교 회로(516)에 의해 발생된다. 이러한 측정된 비트 패턴은, 판독 전압들이 현재 어드레스를 포함하는 플래시 메모리 셀들에 인가된 후 소정수의 플래시 메모리 셀들 각각으로부터 판독된 일련의 각 비트(이는 논리 하이 상태 "1" 또는 논리 로우 상태 "0"이 될 수 있다)로 이루어진다.
또한, 플래시 메모리 셀들의 현재 어드레스에 대응하는 요구되는 비트 패턴이 비트 패턴 발생기(518)에 의해 발생된다. 요구되는 비트 패턴은 현재 어드레스의 소정수의 플래시 메모리 셀들 각각에 대해 요구되는 각 비트(이는 논리 하이 상태 "1" 또는 논리 로우 상태 "0"이 될 수 있다)로 이루어진 일련의 비트들이다. 예를 들어, 마지막 BIST 모드가 코어 플래시 메모리 셀들의 어레이(304)의 각 플래시 메모리 셀에 논리 로우 상태 "0"을 프로그램하기 위한 것이었을 때, 요구되는 비트 패턴은 16개의 플래시 메모리 셀들의 어드레스에 대해 일련의 16개의 0이다. 대안적으로, 마지막 BIST 모드가 코어 플래시 메모리 셀들의 어레이(304)의 각 플래시 메모리 셀에 대해 논리 하이 상태 "1"을 소거하기 위한 것이었을 때, 요구되는 비트 패턴은 16개의 플래시 메모리 셀들의 어드레스에 대해 일련의 16개의 1이다. 또는, 마지막 BIST 모드가 체커 보드 패턴으로 코어 플래시 메모리 셀들의 어레이(304)에 논리 로우 또는 하이 상태를 교번적으로 프로그램 및 소거하기 위한 것이었을 때, 요구되는 비트 패턴은 16개의 플래시 메모리 셀들의 어드레스의 일련의 16개의 교번적인 1 및 0이다.
매칭 회로(520)는 이후 플래시 메모리 셀들의 현재 어드레스에 대해 요구되는 비트 패턴과 측정된 비트 패턴을 비교한다(도 18의 단계(692)). 측정된 비트 패턴이 요구되는 비트 패턴과 같지 않다면(MATCH=FALSE), BIST 제어기(502)는 도 14의 HANG 상태(546)에 들어가고, HANG 신호를 BIST 인터페이스(312)에 전송한다(도 18의 단계(694)). 대안적으로, 플래시 메모리 셀들의 현재 어드레스에 대해 측정된 비트 패턴이 요구되는 비트 패턴과 같다면(MATCH=TRUE), 어드레스 시퀀서(524) 내의 칼럼 어드레스가 증가되고(도 18의 단계(696)), 최대 칼럼 어드레스(Max_CA)에 이를 때 까지(도 18의 단계(698)), 후속하는 각 칼럼 어드레스에 대해 VERIFY2 상태와 매칭 단계(692)가 반복된다. BIST 제어기(502)는 어드레스 시퀀서(524) 내의 플래시 메모리 셀들의 칼럼 어드레스를 증가시킨다.
이후, 수평 섹터들(602, 604, 606, 608, 610, 612, 614 및 616)중 하나에 대해 최대 블럭 어드레스(Max_BA)(즉, 최대 워드 라인)에 도달할 때 까지, 각 워드 라인에 대한 모든 가능한 칼럼 어드레스들에 대해 VERIFY2 상태와 매칭 단계(692)가 반복된다. 이 시점에서, 최대 섹터 어드레스(Max_SA)에 이를 때 까지(도 18의 단계(704)), 수평 섹터들(602, 604, 606, 608, 610, 612, 614 및 616) 각각에 대해 BIST 모드를 수행하기 위해 어드레스 시퀀서(524) 내의 섹터 어드레스가 증가된다(도 18의 단계(702)). 결정 단계들(698, 700 및 704)의 이러한 내포된 루프들의 실행 및 어드레스 시퀀서(524)에 의해, 도 18의 현재 BIST 모드는 HANG 신호가 발생되지 않는한(도 14에서 MATCH=TRUE 및 LAST_ADD=FALSE) 코어 플래시 메모리 셀들의 전체 어레이(304)의 각 어드레스를 통해 수행된다.
HANG 신호가 발생되어 플래시 메모리 셀들의 어느 어드레스에 대해 HANG 상태에 들어가자 마자(도 18의 단계(694)), 도 18의 현재 BIST 모드는 플래시 메모리 셀들의 후속하는 모든 어드레스에 대해 도 18의 현재 BIST 모드를 수행하지 않으면서 끝난다. 이 경우, 도 18의 BIST 모드에 의해 현재 테스트되고 있는 코어 플래시 메모리 셀들의 어레이(304)는 현재 BIST 모드에 실패하게 된다. 한편, 도 18의 현재 BIST 모드가 HANG 신호를 발생시키지 않으면서(도 14에서 MATCH=TRUE 및 LAST_ADD=TRUE) 결정 단계들(698, 700 및 704)의 내포된 루프들에 의해 코어 플래시 메모리 셀들(304)의 전체 어레이의 각 어드레스를 통해 수행될 때, BIST 제어기(502)는 도 14의 DONE 상태(544)에 들어가고, DONE 신호를 BIST 인터페이스(312)에 전송하며(도 18의 단계(706)), 그리고 도 18의 현재 BIST 모드는 끝난다. 이 경우, 도 18의 BIST 모드에 의해 현재 테스트되고 있는 코어 플래시 메모리 셀들의 어레이(304)는 현재 BIST 모드를 통과하게 된다.
도 19는 코어 플래시 메모리 셀들의 어레이(304)의 각 플래시 메모리 셀에 스트레스 전압들을 인가하기 위한 BIST 모드의 흐름도이다. BIST 모드는, 코어 플래시 메모리 셀들의 어레이(304)의 각 플래시 메모리 셀에 APD 및 HTRB 스트레스 전압들이 인가된 후 이 코어 플래시 메모리 셀들의 어레이(304)의 기능을 테스트한다. 도 16 및 도 17을 참조하여, HTRB 스트레스 전압들에 대해, 코어 플래시 메모리 셀들(304)의 전체 어레이의 모든 워드 라인들은, 코어 프래시 메모리 셀들의 어레이 내의 비트 라인들이 접지되는 동안, 예를 들어 HTRB 스트레스 전압 소스(508)로부터의 약 9V와 같은 비교적 높은 전압 레벨의 인가에 의해 스트레스를 받는다.
도 16 및 도 17을 참조하여, APD 스트레스 전압들에 대해, 수평 섹터들(602, 604, 606, 608, 610, 612, 614 및 616)중 하나의 모든 비트 라인들은, 이러한 플래시 메모리 셀들의 워드 라인들이 접지되는 동안, 예를 들어 약 5V와 같은 비교적 높은 전압 레벨의 인가에 의해 스트레스를 받는다. 비트 라인들을 통한 전류 흐름때문에, APD 스트레스 전압들은 1개의 수평 섹터에 한번에 인가된다. HTRB 및 APD 스트레스 전압들을 인가하기 위한 이러한 BIST 모드는 플래시 메모리 디바이스 분야의 당업자에게 알려져있다.
도 13, 도 14 및 도 19를 참조하여, BIST 제어기(502)는 코어 플래시 메모리 셀들의 어레이(304)의 각 플래시 메모리 셀에 HTRB 및 APD 스트레스 전압들을 인가하기 위해 현재 수행될 이러한 현재 BIST 모드의 각 식별 데이터를 수신한다. 이 시점에서, Exit_HTRB 변수가 논리 로우 상태 "0"으로 세트되고, PULSE_COUNT 및 SECTOR_ADDRESS 변수들은 0으로 리셋된다. 이러한 BIST 모드의 시작에서, BIST 제어기(502)는 도 14의 START 상태(532)에 들어간다(도 19의 단계(712)). START 상태 동안, 타이머(526)는 현재 BIST 모드를 시작하기 전에 소정의 대기 시간 기간을 정하며, 이에 따라 다수의 전압 소스들(506, 508, 510 및 512), 특히 APD 스트레스 전압 소스(506) 및 HTRB 스트레스 전압 소스(508)로부터의 전압 레벨들이 대기 시간 기간 동안 안정화된다(도 19의 단계(714)). 대기 시간 기간의 만료 이전(대기 시간=참)에, 백 엔드 BIST 상태 머신(316)은 START 상태 내에 유지된다.
START 상태 내에서의 대기 시간 기간의 만료 이후(대기 시간=거짓), Exit_HTRB 변수가 논리 하이 상태 "1"로 세트되지 않는 다면(도 19의 단계(716)), 도 14의 HTRB 상태(536)에 들어간다(도 19의 단계(718)). HTRB 상태 동안, 코어 플래시 메모리 셀들의 전체 어레이(304)의 모든 워드 라인들은, 코어 플래시 메모리 셀들 내의 비트 라인들이 접지되는 동안, 예를 들어 HTRB 스트레스 전압 소스(508)로부터의 약 9V와 같은 비교적 높은 전압 레벨의 인가에 의해 스트레스를 받는다. 타이머(526)는 HTRB 상태 동안 코어 플래시 메모리 셀들(304)에 이러한 HTRB 스트레스 전압을 인가하기 위해 juice 시간 기간, JTIMEOUT의 시간을 정한다(도 19의 단계(720)). juice 시간 기간의 만료 이전(JTIMEOUT=거짓)에, 백 엔드 BIST 상태 머신(316)은 juice 시간 기간, JTIMEOUT 동안 코어 플래시 메모리 셀들(304)에 HTRB 스트레스 전압을 인가하기 위해 HTRB 상태 내에 유지된다.
HTRB 상태 내에서의 juice 시간 기간의 만료 이후(JTIMEOUT=참), 백 엔드 BIST 상태 머신(316)은 PULSE_COUNT가 Max_PC(최대 펄스 카운트) 보다 큰지의 여부를 체크한다(도 19의 단계(722)). PULSE_COUNT가 Max_PC 보다 크지 않다면, JTIMEOUT 시간 기간 동안 다시 HTRB 상태에 들어가, PULSE_COUNT가 증가된다. PULSE_COUNT가 Max_PC 보다 클 때까지, 단계들(712, 714, 716, 718, 720 및 722)의 루프가 반복된다. 이 경우, PULSE_COUNT는 0으로 리셋되고(도 19의 단계(724)), Exit_HTRB 변수는 논리 하이 상태 "1"로 세트된다(도 19의 단계(726)).
이 시점에서, BIST 제어기(502)는 START 상태로 돌아간다(도 19의 단계(712)). Exit_HTRB 변수가 논리 하이 상태 "1"로 세트되기 때문에, 도 14의 APD 상태(534)에 들어간다(도 19의 단계(728)). 도 16을 참조하여, APD 상태에서, 수평 섹터들(602, 604, 606, 608, 610, 612, 614 및 616)중 하나의 모든 비트 라인들은, 이러한 플래시 메모리 셀들의 워드 라인들이 접지되는 동안, 예를 들어 약 5V와 같은 비교적 높은 전압 레벨의 인가에 의해 스트레스를 받는다. 비트 라인들을 통한 전류 흐름때문에, APD 스트레스 전압들은 1개의 수평 섹터에 한번에 인가된다.
현재 SECTOR_ADDRESS에 대해, APD 스트레스 전압 소스(506)는 juice 시간 기간 JTIMEOUT에 대해 현재 SECTOR_ADDRESS를 갖는 수평 섹터들(602, 604, 606, 608, 610, 612, 614 및 616)중 하나 내의 각 플래시 메모리 셀에 APD 스트레스 전압을 인가한다. 타이머(526)는 APD 상태 동안 이러한 APD 스트레스 전압을 인가하기 위해 juice 시간 기간, JTIMEOUT의 시간을 정한다(도 19의 단계(730)). juice 시간 기간의 만료 이전(JTIMEOUT=거짓)에, 백 엔드 BIST 상태 머신(316)은 juice 시간 기간, JTIMEOUT 동안 코어 플래시 메모리 셀들(304)의 현재 SECTOR_ADDRESS에 APD 스트레스 전압을 인가하기 위해 APD 상태 내에 유지된다.
APD 상태 내에서, juice 시간 기간, JTIMEOUT의 만료 이후, 어드레스 시퀀서(524) 내의 SECTOR_ADDRESS가 증가하고(도 19의 단계(732)), BIST 제어기(502)는 SECTOR_ADDRESS가 Max_SA 보다 큰지의 여부를 체크한다(도 19의 단계(734)). SECTOR_ADDRESS가 Max_SA 보다 크지 않다면, SECTOR_ADDRESS가 Max_SA 보다 클 때 까지 단계들(712, 714, 728, 730 및 732)이 반복된다. 이 시점에서, APD 스트레스 전압이 모든 수평 섹터들(602, 604, 606, 608, 610, 612, 614 및 616)의 각 플래시 메모리 셀에 인가되고, 도 14의 DONE 상태(544)에 들어감으로써(도 19의 단계(736)), 도 19의 BIST 모드를 끝낸다.
이러한 방식으로, BIST 모드들의 세트의 어떠한 BIST 모드가 START, JUICE, VERIFY1, VERIFY2, APD, HTRB, DONE 및 HANG 상태들을 포함하는 비교적 적은 수의 상태들을 갖는 백 엔드 BIST 상태 머신에 의해 수행된다. 백 엔드 BIST 상태 머신은 코어 플래시 메모리 셀들의 어레이와 함께 칩 위에 제조됨으로써, 프로그래밍 동작, 소거 동작 및 판독 동작이 플래시 메모리 셀들의 어레이의 반도체 다이 위에서 온칩으로 수행된다. 따라서, 각 반도체 다이를 테스트하는 데에 이용되는 외부 테스트 시스템의 핀들의 수가 감소된다. 이와같이 핀들의 수가 감소하기 때문에, 핀들의 총수가 제한되는 외부 테스트 시스템을 이용하여 보다 많은 수의 반도체 다이들을 동시에 테스트할 수 있게 됨으로써, 플래시 메모리 디바이스들을 제조하는 동안의 쓰루풋을 최대화한다.
상기 설명은 단지 예로서 한정적인 것으로 의도되지 않는다. 예를 들어, 본 발명은 보다 많은 수의 BIST 모드들, 및 도 16 및 도 17의 예 이외의 코어 플래시 메모리 셀들의 어레이(304)의 서로 다른 레이아웃을 이용하여 실행될 수 있다. 본원에서 개시 또는 예시되는 어떠한 숫자들은 단지 예시적인 것이다. 본 발명은 단지 하기의 청구범위 및 그의 등가에 의해서만 한정된다.
D. 코어 플래시 메모리 셀들의 결함 어드레스의 온칩 복구
또한, 도 20을 참조하여, 종래 기술의 코어 플래시 메모리 셀들의 어레이(224)를 테스트하는 동안, 코어 플래시 메모리 셀들의 어레이(224)의 결함 어드레스(750)가 검출되면, 이러한 결함 어드레스(750)는 이 결함 어드레스(750)를 포함하는 플래시 메모리 셀들의 세트를 플래시 메모리 셀들의 대응하는 리던던시 요소(752)로 대체함으로써 복구된다. 이러한 복구는 CAM(콘텐츠 어드레스 가능 메모리)(756) 내의 CAM 플래시 메모리 셀들(754)의 각 세트를 프로그램하여, 플래시 메모리 셀들의 결함 어드레스(750)의 액세스를 플래시 메모리 셀들의 리던던시 요소(752)로 대신 전환(redirect)함으로써 수행된다. CAM(756)은 그 위에 코어 플래시 메모리 셀들의 어레이(224)가 제조되어 있는 동일한 반도체 다이 위에 제조된다.
전형적으로는, 플래시 메모리 셀들의 결함 어드레스(750) 보다는, 코어 플래시 메모리 셀들의 어레이(224)의 보다 많은 수의 플래시 메모리 셀들을 갖는 보다 큰 영역(758)이 대응하는 플래시 메모리 셀들의 리던던시 요소(752)로 대체된다. 다수의 리던던시 요소들(760)은 코어 플래시 메모리 셀들의 어레이(224)의 다수의 결함 어드레스들을 복구하는 데에 이용될 수 있다. 플래시 메모리 셀들의 리던던시 요소들(760)을 이용하여 코어 플래시 메모리 셀들의 어레이(224)를 테스트하는 동안 플래시 메모리 셀들의 결함 어드레스를 이와같이 복구하는 것은 플래시 메모리 제조 분야의 당업자에게 알려져있다.
종래에는, 외부 테스트 시스템(762)이 플래시 메모리 셀들의 리던던시 요소들(760)을 이용하여 코어 플래시 메모리 셀들의 어레이(224)를 테스트하는 동안 플래시 메모리 셀들의 결함 어드레스들에 대해 이러한 복구를 수행하였다. 따라서, 종래에는, 외부 테스트 시스템(762)이 플래시 메모리 셀들의 결함 어드레스(750)의 액세스를 플래시 메모리 셀들의 리던던시 요소(752)로 전환하기 위해 CAM(756)을 프로그램하였다. 이러한 외부 테스트 시스템의 예로는 캘리포니아 팔로알토에 본사를 두고 있는 애질런트 테크놀로지스사로부터 입수할 수 있는 모델 V3300이 있다. 하지만, 외부 테스트 시스템(762)이 플래시 메모리 셀들의 결함 어드레스에 대한 이러한 복구를 수행할 때, 그 위에 코어 플래시 메모리 셀들의 어레이(224)가 제조되어 있는 동일한 반도체 다이 위에 제조되는 CAM(756)을 프로그램하기 위해서는 외부 테스트 시스템(762)으로부터의 부가적인 핀들이 이용된다.
이와같이 플래시 메모리 셀들의 결함 어드레스에 대한 이러한 복구를 수행하기 위해 외부 테스트 시스템(762)으로부터 부가적인 수의 핀들을 이용하는 것은, 코어 플래시 메모리 셀들의 반도체 다이들을 테스트하는 동안 쓰루풋이 감소하기 때문에 불리하다. 따라서, 플래시 메모리 셀들의 결함 어드레스들의 복구를 포함하여, 각 반도체 다이 위의 플래시 메모리 디바이스를 테스트하는 데에 이용되는 핀들의 수를 최소화하여, 핀들의 총수가 제한된 외부 테스트 시스템을 이용하여 최대수의 반도체 다이를 동시에 테스트함으로써, 플래시 메모리 디바이스를 제조하는 동안 쓰루풋을 증가시킬 수 있는 메커니즘이 필요하다.
또한, 외부 테스트 시스템(762)에 의한 코어 플래시 메모리 셀들의 테스트 및 복구는 이 외부 테스트 시스템(762)의 용량에 의존하여 느려질 수 있다. 따라서, 코어 플래시 메모리 셀들을 보다 빠르게 테스트 및 복구할 수 있는 효율적인 메커니즘이 필요하다.
백 엔드 BIST 상태 머신(316)이 플래시 메모리 셀들의 현재 어드레스가 플래시 메모리 셀들의 결함 어드레스로서 현재 BIST 모드에 실패했음을 결정하면, 이 백 엔드 BIST 상태 머신(316)은 복구 루틴을 호출한다. 도 15의 흐름도의 단계들과 동일한 참조 부호를 갖는 도 21의 흐름도의 단계들은 도 15의 흐름도에 대해 본원에서 설명한 것과 같다.
도 15 및 21의 단계들은, 코어 플래시 메모리 셀들의 어레이(304)의 각 플래시 메모리 셀에 프로그래밍 또는 소거 전압들을 인가하고 코어 플래시 메모리 셀들의 어레이(304)의 각 플래시 메모리 셀의 프로그램 또는 소거 상태를 검증하는 것을 포함하는 BIST 모드를 수행하기 위한 것이다. 하지만, 도 15에서와 대조적으로, 도 21에서, (도 21의 단계(564)에서) PULSE_COUNT가 Max_PC 보다 크기 때문에 MAX_PC 횟수 만큼 JUICE 상태(도 21의 단계들(566 및 568))에 들어갈 때, HANG 상태에 반드시 즉시 들어갈 필요는 없다. (도 21의 단계(564)에서) PULSE_COUNT가 Max_PC 보다 크기 때문에 MAX_PC 횟수 만큼 JUICE 상태(도 21의 단계들(566 및 568))에 들어가는 경우, 플래시 메모리 셀들의 현재 어드레스는 플래시 메모리 셀들의 결함 어드레스인 것으로 결정된다.
BIST 제어기(502)는 외부 테스트 시스템(318)에 의해 세트된 BREP 값을 체크한다(도 21의 단계(766)). 사용자는, BIST 제어기(502)에 의해 온칩 복구 루틴이 호출될 것을 요구하는 경우에는 외부 테스트 시스템(318)을 통해 BREP 값을 논리 하이 상태(즉, 참 상태)로 세트시키고, 그렇지 않은 경우에는 논리 로우 상태(즉, 거짓 상태)로 세트시킨다. 따라서, BREP 값이 논리 로우 상태(즉, 거짓 상태)로 세트된다면, 단계들(570 및 572)이 수행되어 도 15에서와 유사하게 도 21의 HANG 상태에 즉시 들어감으로써, 복구 루틴이 호출되지 않는다.
한편, BREP 값이 도 21에서 논리 하이 상태(즉, 참 상태)로 세트된다면, BIST 제어기(502)는 REDADD 값의 논리 상태를 결정한다(도 21의 단계(768)). 도 22를 참조하여, 이러한 REDADD 값은 플래시 메모리 셀들의 현재 결함 어드레스가 플 래시 메모리 셀들의 리던던시 요소들 내에 있는 지의 여부를 나타낸다. 도 22를 참조하여, 테스트되고 있는 플래시 메모리 셀들의 어레이(304)는 코어 플래시 메모리 셀들(780) 및 플래시 메모리 셀들의 리던던시 요소들(782)로 이루어진다. 전형적으로, 플래시 메모리 셀들의 어레이는 코어 플래시 메모리 셀들(780) 내의 결함 플래시 메모리 셀들을 복구하기 위해 플래시 메모리 셀들의 리던던시 요소들과 함께 제조되는바, 이는 플래시 메모리 제조 분야의 당업자에게 알려져있다.
플래시 메모리 셀들의 어레이(304)를 테스트하는 동안, 어드레스 시퀀서(524)는 플래시 메모리 셀들의 리던던시 요소들(782)의 적절한 기능을 또한 테스트하기 위해, 코어 플래시 메모리 셀들(780)의 어드레스들 뿐 아니라 플래시 메모리 셀들의 리던던시 요소들(782)의 어드레스들을 통해 시퀀싱한다. BIST 제어기(502)는 플래시 메모리 셀들의 현재 어드레스가 플래시 메모리 셀들의 리던던시 요소들(782)에 대한 것이라면 REDADD 변수가 논리 하이 상태(즉, 참 상태)인 것으로 결정하고, 플래시 메모리 셀들의 현재 어드레스가 코어 플래시 메모리 셀들(780)에 대한 것이라면 REDADD 변수가 논리 로우 상태(즉, 거짓 상태)인 것으로 결정한다.
도 21을 참조하여, REDADD 변수가 논리 하이 상태(즉, 참 상태)인 것으로 결정된다면, 단계들(570 및 572)이 수행되어 HANG 상태에 즉시 들어가는데, 이는 플래시 메모리 셀들의 현재 결함 어드레스(750)가 플래시 메모리 셀들의 리던던시 요소들(782) 내에 있기 때문이다. 본 발명의 일 실시예에 따르면, 코어 플래시 메모리 셀들(780)의 결함 어드레스들은 플래시 메모리 셀들의 리던던시 요소에 의해 대체됨으로써 복구될 것이 요구되지만, 플래시 메모리 셀들의 리던던시 요소들의 결 함 어드레스들은 이러한 방식으로 복구되지 않는다.
도 21을 참조하여, BREP 값이 논리 하이 상태로 세트되고(도 21의 단계(766)), REDADD 값이 논리 로우 상태인 것으로 결정되면(도 21의 단계(768)), 복구 루틴이 호출된다(도 21의 단계(770)). 이 복구 루틴 내에서, 플래시 메모리 셀들의 현재 결함 어드레스는 플래시 메모리 셀들의 리던던시 요소에 의해 대체됨으로써 복구될 수 있다.
유사하게, 도 18 및 도 23을 참조하여, 도 18의 흐름도의 단계들과 동일한 참조 부호를 갖는 도 23의 흐름도의 단계들은 도 18의 흐름도에 대해 본원에서 설명된 것과 동일하다. 도 18 및 도 23의 단계들은 플래시 메모리 셀들의 어레이(304)의 각 플래시 메모리 셀의 각각의 논리 상태의 판독을 포함하는 BIST 모드를 수행하기 위한 것이다. 하지만, 도 18과 대조적으로, 도 23에서, 플래시 메모리 셀들의 현재 어드레스에 대한 측정된 비트 패턴 및 요구되는 비트 패턴이 같지 않을 때(도 23의 단계(692)), 즉시 HANG 상태에 들어갈 필요는 없다. 플래시 메모리 셀들의 현재 어드레스에 대한 측정된 비트 패턴과 요구되는 비트 패턴이 같지 않은 경우, 플래시 메모리 셀들의 현재 어드레스는 플래시 메모리 셀들의 결함 어드레스인 것으로 결정된다.
BIST 제어기(502)는 외부 테스트 시스템(318)에 의해 세트되는 BREP 값을 체크한다(도 23의 단계(772)). 사용자는, BIST 제어기(502)에 의해 온칩 복구 루틴이 호출될 것을 요구하는 경우에는 외부 테스트 시스템(318)을 통해 BREP 값을 논리 하이 상태(즉, 참 상태)로 세트시키고, 그렇지 않은 경우에는 논리 로우 상태(즉, 거짓 상태)로 세트시킨다. 따라서, BREP 값이 논리 로우 상태(즉, 거짓 상태)로 세트되는 경우에는, 도 18에서와 유사하게 도 32의 단계(694)가 수행되어 HANG 상태에 즉시 들어감으로써, 복구 루틴이 호출되지 않는다.
한편, 도 23에서 BREP 값이 논리 하이 상태(즉, 참 상태)로 세트되면, BIST 제어기(502)는 REDADD 값의 논리 상태를 결정한다(도 23의 단계(774)). 도 22를 참조하여, REDADD 값은 플래시 메모리 셀들의 현재 결함 어드레스가 플래시 메모리 셀들의 리더던시 요소들 내에 있는 지의 여부를 나타낸다. 도 23을 참조하여, REDADD가 논리 하이 상태(즉, 참 상태)인 것으로 결정되면, 단계(694)가 수행되어 즉시 HANG 상태에 들어가는데, 이는 플래시 메모리 셀들의 현재 결함 어드레스(750)가 플래시 메모리 셀들의 리던던시 요소들(782) 내에 있기 때문이다. BREP 값이 논리 하이 상태로 세트되고(도 23의 단계(772)), REDADD 값이 논리 로우 상태인 것으로 결정되면(도 23의 단계(774)), 복구 루틴이 호출된다(도 23의 단계(776)). 복구 루틴 내에서, 플래시 메모리 셀들의 현재 결함 어드레스는 플래시 메모리 셀들의 리던던시 요소에 의해 대체됨으로써 복구될 수 있다.
도 24를 참조하여, 도 21 또는 도 23의 어느 한 경우에 있어서, 복구 루틴에 대해, 코어 플래시 메모리 셀들은, 예를 들어 제 1 블럭(783), 제 2 블럭(784), 제 3 블럭(786) 및 제 4 블럭(788)을 포함하는 블럭들(예를 들어, 4 메가비트 블럭들)로 분류(group)된다. 각 블럭들(783, 784, 786 및 788)은 또한 플래시 메모리 셀들의 다수의 수평 섹터들로 분할된다(하지만, 도시의 명확성을 위해 도 24에는 나타내지 않았다). 예를 들어, 본 발명의 일 실시예에서, 각 블럭들(783, 784, 786 및 788)은 플래시 메모리 셀들의 8개의 수평 섹터들을 포함한다. 전형적인 플래시 메모리 디바이스는 보다 많은 블럭들로 이루어지지만, 도 24에서는 도시의 명확성을 위하여 4개의 블럭들(783, 784, 786 및 788) 만을 나타내었다.
플래시 메모리 셀들의 현재 결함 어드레스는, 도 24에서의 제 3 블럭(786)과 같이, 블럭들(783, 784, 786 및 788)중 하나 내에 포함된다. 플래시 메모리 셀들의 결함 어드레스(750) 보다는, 제 3 블럭(786) 내에 보다 많은 수의 플래시 메모리 셀들을 갖는 보다 큰 영역(758)이 플래시 메모리 셀들의 리던던시 요소에 의해 대체됨으로써, 플래시 메모리 셀들의 결함 어드레스(750)를 복구하는바, 이는 플래시 메모리 제조 분야의 당업자에게 알려져있다. 예를 들어, 블럭들(783, 784, 786 및 788)중 어느 하나 내의 결함 어드레스의 플래시 메모리 셀을 갖는 플래시 메모리 셀들의 전체 칼럼들이 플래시 메모리 셀들의 리던던시 요소에 의해 대체된다.
도 25를 참조하여, 코어 플래시 메모리 셀들(780) 내의 플래시 메모리 셀들의 결함 어드레스를 갖는 플래시 메모리 셀들의 영역을 플래시 메모리 셀들의 리던던시 요소들(782) 내의 플래시 메모리 셀들의 리던던시 요소로 대체하도록 CAM(790)이 프로그램된다. 이 CAM(790)은 플래시 메모리 셀들의 결함 어드레스의 정보로 프로그램되는 플래시 메모리 셀들 및 플래시 메모리 셀들의 결함 어드레스를 대체하기 위한 대응하는 플래시 메모리 셀들의 리던던시 요소들로 이루어진다. 플래시 메모리 셀들의 결함 어드레스가 보다 늦게 액세스될 때, CAM(790)은 플래시 메모리 셀들의 결함 어드레스의 액세스를 플래시 메모리 셀들의 리던던시 요소로 전환한다. 코어 플래시 메모리 셀들의 결함 어드레스를 복구하기 위해 이와같이 CAM 및 코어 플래시 메모리 셀들의 리던던시 요소들을 이용하는 것은 플래시 메모리 제조 분야의 당업자에게 알려져있다.
도 25를 참조하여, 본 발명의 일 실시예에서, CAM 플래시 메모리 셀들의 각 세트는 코어 플래시 메모리 셀들(780) 내의 플래시 메모리 셀들의 각 결함 어드레스를 플래시 메모리 셀들의 리던던시 요소들(782) 내의 대응하는 플래시 메모리 셀들의 리던던시 요소로 대체하도록 프로그램된다. 플래시 메모리 셀들의 한정된 수의 결함 어드레스들을 복구하는 데에는 플래시 메모리 셀들의 한정된 수의 리던던시 요소들을 이용할 수 있다. 본 발명의 일 실시예에서는, 플래시 메모리 셀들의 2개의 리던던시 요소들이 각 블럭들(783, 784, 786 및 788) 내의 플래시 메모리 셀들의 결함 어드레스들을 복구하는 데에 이용될 수 있다.
도 25의 예에서는, 2개의 리던던시 요소들이 각 블럭들(783, 784, 786 및 788) 내의 플래시 메모리 셀들의 결함 어드레스를 복구하는 데에 이용될 수 있다. 제 1 CAM 플래시 메모리 셀들의 각 세트(792)는 코어 플래시 메모리 셀들(780)의 제 1 블럭(783) 내의 결함이 있는 플래시 메모리 셀들의 한 세트를 플래시 메모리 셀들의 제 1 리던던시 요소(794)로 대체하도록 프로그램된다. 제 2 CAM 플래시 메모리 셀들의 각 세트(796)는 코어 플래시 메모리 셀들(780)의 제 1 블럭(783) 내의 결함이 있는 플래시 메모리 셀들의 다른 세트를 플래시 메모리 셀들의 제 2 리던던시 요소(798)로 대체하도록 프로그램된다.
유사하게, 제 3 CAM 플래시 메모리 셀들의 각 세트(800)는 코어 플래시 메모리 셀들(780)의 제 2 블럭(784) 내의 결함이 있는 플래시 메모리 셀들의 한 세트를 플래시 메모리 셀들의 제 3 리던던시 요소(802)로 대체하도록 프로그램된다. 제 4 CAM 플래시 메모리 셀들의 각 세트(804)는 코어 플래시 메모리 셀들(780)의 제 2 블럭(784) 내의 결함이 있는 플래시 메모리 셀들의 다른 세트를 플래시 메모리 셀들의 제 4 리던던시 요소(806)로 대체하도록 프로그램된다.
또한, 제 5 CAM 플래시 메모리 셀들의 각 세트(808)는 코어 플래시 메모리 셀들(780)의 제 3 블럭(786) 내의 결함이 있는 플래시 메모리 셀들의 한 세트를 플래시 메모리 셀들의 제 5 리던던시 요소(810)로 대체하도록 프로그램된다. 제 6 CAM 플래시 메모리 셀들의 각 세트(812)는 코어 플래시 메모리 셀들(780)의 제 3 블럭(786) 내의 결함이 있는 플래시 메모리 셀들의 다른 세트를 플래시 메모리 셀들의 제 6 리던던시 요소(814)로 대체하도록 프로그램된다.
마지막으로, 제 7 CAM 플래시 메모리 셀들의 각 세트(816)는 코어 플래시 메모리 셀들(780)의 제 4 블럭(788) 내의 결함이 있는 플래시 메모리 셀들의 한 세트를 플래시 메모리 셀들의 제 7 리던던시 요소(818)로 대체하도록 프로그램된다. 제 8 CAM 플래시 메모리 셀들의 각 세트(820)는 코어 플래시 메모리 셀들(780)의 제 4 블럭(788) 내의 결함이 있는 플래시 메모리 셀들의 다른 세트를 플래시 메모리 셀들의 제 8 리던던시 요소(822)로 대체하도록 프로그램된다.
도 26은 본 발명의 일 실시예에 따라, CAM(790)을 프로그램함으로써 리던던시 요소들(782)을 이용하여 코어 플래시 메모리 셀들(780) 내의 플래시 메모리 셀들의 결함 어드레스를 온칩 복구하기 위해 도 21의 복구 루틴(770) 또는 도 23의 복구 루틴(776) 동안 이용되는 온칩 복구 구성 요소들(830)을 나타낸다. 이러한 온 칩 복구 구성 요소들(830)은 복구 제어기(832), 타이머/클럭(834) 및 전압 소스들(836)을 포함한다. 전압 소스들(836)은 CAM 프로그램 전압 소스(838) 및 CAM 마지닝 전압 소스(840)를 포함한다. 또한, 이러한 온칩 복구 구성 요소들은 리던던시 요소 배열 래치(redundancy element order latch)(842), 복구 매칭 유닛(846) 및 FAILREP 논리(848)를 포함한다. 본 발명의 일반적인 양상에서, 온칩 복구 구성 요소들(832, 834, 838, 840, 842, 846 및 848)은, 그 위에 코어 플래시 메모리 셀들(780), 리던던시 요소들(782) 및 CAM(790)이 제조되어 있는 반도체 다이 위에 제조된다.
도 27은 도 21의 복구 루틴(770) 또는 도 23의 복구 루틴(776)을 수행하기 위해 도 26의 온칩 복구 구성 요소들(830)이 동작하는 동안의 단계들의 흐름도이다. 본 발명의 일 실시예에서, 도 26의 복구 제어기(832)는 도 13의 백 엔드 BIST 제어기(502)로서 구현된다. 복구 제어기(832)가 (예를 들어, 도 21의 단계(770) 또는 도 23의 단계(776)와 같은) 복구 루틴이 호출됨을 결정하면, 이 복구 제어기(832)는 BREPAIR 변수를 논리 로우 상태로부터 논리 하이 상태로 세트시킴으로써(도 27의 단계(850)), 그 복구 루틴이 호출되고 있음을 나타낸다.
복구 루틴이 호출될 때, 복구 제어기(832)는 START 상태에 들어간다(도 27의 단계(852)). START 상태 동안, 타이머(834)는 CAM 플래시 메모리 셀들의 워드 라인들 상에 인가될 전압을 제공하는 전압 소스들(836) 내의 조정 캐패시터들을 리셋시키기 위해 소정의 대기 시간 기간을 정한다. CAM 플래시 메모리 셀들의 워드 라인들 상에 인가될 전압을 제공하는 전압 소스들(836) 내의 조정 캐패시터들을 리셋시 키는 것은 플래시 메모리 디바이스들 분야의 당업자에게 알려져있다. 대기 시간 기간의 만료 이전(대기 시간=참)에, 복구 제어기(832)는 START 상태 내에서 유지된다(도 27의 단계(854)). 소정의 시간 기간을 정하는 타이머들은 당업자에게 알려져있다.
또한, 도 29를 참조하여, START 상태 동안, CAM(790)과 함께 제조되는 CAM 논리(884)에 의해 변수들 YCE(0) 및 YCE(1)이 발생된다. 도 29의 CAM 플래시 메모리 셀들(886)은 코어 플래시 메모리 셀들의 결함 어드레스를 플래시 메모리 셀들의 리던던시 요소로 대체하도록 프로그램되는, 예를 들어 도 25의 CAM 플래시 메모리 셀들의 각 세트들(792, 796, 800, 804, 808, 812, 816 또는 820)중 하나를 나타낸다. CAM 논리(884)는 어드레스 시퀀서(524)로부터의 결함 어드레스 및 (CAM 플래시 메모리 셀들(886)이 프로그램 된 후) 이 CAM 플래시 메모리 셀들(886)의 출력을 입력받아, 변수들 YCE(0), YCE(1), LBMATCH_Q, REDL(0), REDH(0), REDL(1) 및 REDH(1)을 발생시킨다.
본 발명의 일 실시예에서, 코어 플래시 메모리 셀들의 각 어드레스는 도 16 및 도 17과 관련하여 설명된 바와 같이 16개의 코어 플래시 메모리 셀들에 대한 것이다. 본 발명의 다른 실시예에서, 16개의 코어 플래시 메모리 셀들중 8개로부터의 각 바이트는 한 번에 한 바이트씩 복구된다. 16개의 코어 플래시 메모리 셀들의 각 결함 어드레스는 8개의 코어 플래시 메모리 셀들의 로우 바이트 및 8개의 코어 플래시 메모리 셀들의 하이 바이트로 이루어진다. 일 실시예에서, 16개의 플래시 메모리 셀들의 결함 어드레스가 한 번에 한 바이트씩 복구될 때, 플래시 메모리 셀들의 2개의 리던던시 요소들 각각은 도 25의 예에서 코어 플래시 메모리 셀들의 각 블럭들(783, 784, 786 및 788) 내의 16개의 플래시 메모리 셀들의 결함 어드레스의 바이트를 대체한다.
도 29를 참조하여, 2개의 리던던시 요소들중 어느 것이 코어 플래시 메모리 셀들의 결함 어드레스의 2개의 바이트들중 어느 것을 대체하는 데에 이용되었는 지를 추적하기 위해, CAM 논리(884)에 의해 변수들 LBMATCH_Q, YCE(0), YCE(1), REDL(0), REDH(0), REDL(1) 및 REDH(1)이 발생된다. CAM 논리는 플래시 메모리 셀들의 결함 어드레스를 복구하기 위해 CAM(886) 내에 프로그램된 CAM 플래시 메모리 셀들의 각 세트의 출력과 어드레스 시퀀서(524)에 의해 발생되는 결함 어드레스를 비교하고, 상기 변수들 각각에 대한 이전의 각 논리 상태에 의존하여 변수들 LBMATCH_Q, YCE(0), YCE(1), REDL(0), REDH(0), REDL(1) 및 REDH(1) 각각에 대해 각 논리 상태를 발생시킨다.
변수 LBMATCH_Q는 결함 플래시 메모리 셀이 코어 플래시 메모리 셀들의 결함 어드레스의 로우 바이트에 존재하는지 아니면 하이 바이트에 존재하는 지의 여부를 나타낸다. 결함 플래시 메모리 셀이 코어 플래시 메모리 셀들의 결함 어드레스의 로우 바이트에 존재하면, 변수 LBMATCH_Q는 논리 로우 상태(즉, "0" 상태)로 세트된다. 한편, 결함 플래시 메모리 셀이 코어 플래시 메모리 셀들의 결함 어드레스의 하이 바이트에 존재하면, 변수 LBMATCH_Q는 논리 하이 상태(즉, "1" 상태)로 세트된다.
처음에, 각 변수들 YCE(0), YCE(1), REDL(0), REDH(0), REDL(1) 및 REDH(1)은 논리 로우 상태(즉, "0" 상태)로 세트된다. 또한, 어떠한 리던던시 요소들이 코어 플래시 메모리 셀들의 블럭들(783, 784, 786 및 788)중 하나 내의 어떠한 결함 어드레스를 복구하는 데에 이용되기 전에 먼저, 플래시 메모리 셀들의 2개의 리던던시 요소들이 플래시 메모리 셀들의 결함 어드레스의 어떠한 결함 바이트를 복구하는 데에 이용될 수 있다. 2개의 리던던시 요소들중 제 1 리던던시 요소가 코어 플래시 메모리 셀들의 결함 어드레스의 1 바이트를 복구하는 데에 이용될 때, 2개의 리던던시 요소들중 제 1 리던던시 요소에 대응하는 YCE(0) 변수는 논리 하이 상태(즉, "1" 상태)로 세트되고, 2개의 리던던시 요소들중 이 제 1 리던던시 요소는 더 이상 이용할 수 없게 된다. 이후, 2개의 리던던시 요소들중 제 2 리던던시 요소가 코어 플래시 메모리 셀들의 결함 어드레스의 1 바이트를 복구하는 데에 이용될 때, 2개의 리던던시 요소들중 이 제 2 리던던시 요소에 대응하는 YCE(1) 변수가 논리 하이 상태(즉, "1" 상태)로 세트되고, 2개의 리던던시 요소들중 이 제 2 리던던시 요소는 더 이상 이용할 수 없게 되며, 이에 따라 더 이상의 어떠한 리던던시 요소들도 코어 플래시 메모리 셀들의 블럭들(783, 784, 786 및 788)중 현재 블럭 내의 코어 플래시 메모리 셀들의 어떠한 결함 어드레스를 복구하는 데에 이용될 수 없다.
2개의 리던던시 요소들중 제 1 리던던시 요소를 이용하여 코어 플래시 메모리 셀들의 결함 어드레스의 로우 바이트를 복구할 때, REDL(0) 변수는 논리 하이 상태(즉, "1" 상태)로 세트된다. 한편, 2개의 리던던시 요소들중 제 1 리던던시 요소를 이용하여 코어 플래시 메모리 셀들의 결함 어드레스의 하이 바이트를 복구할 때, REDH(0)은 논리 하이 상태(즉, "1" 상태)로 세트된다. 리던던시 요소들중 어느 하나를 이용하여 코어 플래시 메모리 셀들의 결함 어드레스의 로우 바이트 또는 하이 바이트중 단지 하나 만이 복구된다. 따라서, REDL(0) 및 REDH(0) 변수들중 어느 하나 만이 논리 하이 상태로 세트된다.
유사하게, 2개의 리던던시 요소들중 제 2 리던던시 요소를 이용하여 코어 플래시 메모리 셀들의 결함 어드레스의 로우 바이트를 복구할 때, REDL(1)은 논리 하이 상태(즉, "1" 상태)로 세트된다. 한편, 2개의 리던던시 요소들중 제 2 리던던시 요소를 이용하여 코어 플래시 메모리 셀들의 결함 어드레스의 하이 바이트를 복구할 때, REDH(1) 변수는 논리 하이 상태(즉, "1" 상태)로 세트된다. 리던던시 요소들중 어느 하나를 이용하여 코어 플래시 메모리 셀들의 결함 어드레스의 로우 바이트 또는 하이 바이트중 단지 하나 만이 복구된다. 따라서, REDL(1) 및 REDH(1) 변수들중 단지 하나 만이 논리 하이 상태로 세트된다.
또한, 도 26 및 도 29를 참조하여, CAM 논리(884)는 DISYHB 및 DISYLB 신호들을 발생시키는바, 이 신호들은 코어 플래시 메모리 셀들(780)에 결합된 Y-어드레스 디코더(781)에 전송된다. 코어 플래시 메모리 셀들(780)의 어드레스의 콘텐츠가 액세스될 때, Y-어드레스 디코더는 이러한 어드레스를 디코드함으로써 이러한 어드레스의 플래시 메모리 셀들의 출력을 선택한다. Y-어드레스 디코더(781)가 코어 플래시 메모리 셀들(780)의 결함 어드레스의 콘텐츠를 출력하지 못하도록, DISYHB 및 DISYLB 신호들이 CAM 논리(884)에 의해 발생된다.
본원에서 설명되는 LBMATCH_Q, YCE(0), YCE(1), REDL(0), REDH(0), REDL(1), REDH(1), DISYHB 및 DISYLB 신호들을 발생시키는 이러한 CAM 논리(884)는 플래시 메모리 디바이스 분야의 당업자에게 알려져있다. 또한, 본원에서 설명되는 Y-어드레스 디코더(781)도 플래시 메모리 디바이스 분야의 당업자에게 알려져있다.
START 상태(도 27의 단계들(852 및 854)) 동안, CAM 논리(884)는 YCE(0) 및 YCE(1) 신호들 각각에 대해 각각의 논리 상태를 발생시킨다. START 상태 내에서의 대기 시간 기간의 만료 이후(대기 시간=거짓), 복구 제어기(832)는 FAILREP 논리(848)로부터의 FAILREP 값을 체크한다(도 27의 단계(856)). FAILREP 논리(848)는 플래시 메모리 셀들의 현재 결함 어드레스를 복구하는 데에 어떤 리던던시 요소를 이용할 수 있는 지를 결정한다. 도 25를 참조하여, 예를 들어, 플래시 메모리 셀들의 블럭들(783, 784, 786 및 788) 각각 내의 결함 어드레스들을 복구하는 데에는 2개의 리던던시 요소들이 이용될 수 있다. 2개의 리던던시 요소들이 플래시 메모리 셀들의 하나의 블럭 내의 결함 어드레스를 복구하는 데에 이미 이용되었다면, 더 이상의 어떠한 리던던시 요소도 플래시 메모리 셀들의 그 하나의 블럭 내의 어떠한 더 이상의 결함 어드레스를 복구하는 데에 이용될 수 없다.
또한, FAILREP 논리(848)는 플래시 메모리 셀들의 현재 결함 어드레스가 이전에 이미 복구되었는 지의 여부를 결정한다. 플래시 메모리 셀들의 현재 결함 어드레스가 이전에 이미 복구되었다면, 플래시 메모리 셀들의 그 결함 어드레스는 영구적으로 결함인 것으로 결정되며 복구될 수 없다. 더 이상의 어떠한 리던던시 요소도 이용할 수 없거나, 또는 플래시 메모리 셀들의 현재 결함 어드레스가 이전에 이미 복구되었다면, FAILREP 논리(848)는 FAILREP 변수를 논리 하이 상태(즉, 참 상태)로 세트시킨다. 한편, 리던던시 요소를 이용할 수 있고 플래시 메모리 셀들의 현재 결함 어드레스가 이전에 복구되지 않았다면, FAILREP 논리(848)는 FAILREP 변수를 논리 로우 상태(즉, 거짓 상태)로 세트시킨다.
도 27을 참조하여, FAILREP 변수가 논리 하이 상태로 세트되면, PULSE_COUNT 변수는 0으로 리셋되고(도 27의 단계(858)), HANG 상태에 들어감으로써(도 27의 단계(860)) 복구 루틴 및 현재 BIST 모드를 종료한다. 한편, FAILREP 변수가 논리 로우 상태로 세트되면, PULSE_COUNT 변수는 0으로 리셋되고(도 27의 단계(862)), 복구 루틴은 계속된다.
도 28은 제 1 NAND 게이트(864), 제 2 NAND 게이트(866), 제 1 인버터(870) 및 제 2 인버터(872)를 포함하는 FAILREP 논리(848)의 예시적인 구현을 나타낸다. 제 1 NAND 게이트(864)는 입력으로서 제 2 인버터(872)의 출력을 갖고, 이 제 2 인버터(872)는 입력으로서 제 1 입력 단자(874)에서 인가되는 LBMATCH_Q 변수를 갖는다. 제 1 NAND 게이트(864)는 또는 제 2 입력 단자(876)에서 인가되는 REDL(0) 변수 입력을 갖는다. 제 2 NAND 게이트(866)는 입력들로서 제 1 입력 단자(874)에서 인가되는 LBMATCH_Q 변수 및 제 3 입력 단자(878)에서 인가되는 REDH(0) 변수를 갖는다. 제 3 NAND 게이트(868)는 한 입력으로서 제 1 인버터(870)의 출력을 갖고(이 제 1 인버터(870)는 입력으로서 제 4 입력 단자(880)에서 인가되는 YCE(1) 변수를 갖는다), 다른 입력들로서 제 1, 2 NAND 게이트들(864 및 866)의 출력들을 갖는다. 제 3 NAND 게이트(868)의 출력은 출력 단자(882)에 FAILREP 변수를 제공한다.
도 30은 도 28의 FAILREP 논리(848)에 대한 입력으로서의 변수들 LBMATCH_Q, YCE(1), REDL(0) 및 REDH(0)에 대한 가능한 논리 상태들의 표이다. 도 28 및 도 30 을 참조하여, YCE(1) 변수가 논리 하이 상태(즉, "1" 상태)로 세트된다면, FAILREP 논리(848)는 각 변수들 LBMATCH_Q, REDL(0) 및 REDH(0)에 대한 각각의 논리 상태와 상관없이 논리 로우 상태가 되는 FAILREP 값을 발생시킨다. 논리 하이 상태로 세트되는 YCE(1) 변수는 코어 플래시 메모리 셀들의 블럭들(783, 784, 786 및 788)중 현재 블럭에 대한 코어 플래시 메모리 셀들의 그 이상의 결함 어드레스를 복구하는 데에 더 이상의 어떠한 리던던시 요소도 이용될 수 없음을 나타낸다. 이 경우, FAILREP 논리(848)는 논리 하이 상태가 되는 FAILREP 값을 발생시키고, 도 27의 흐름도의 단계들(858 및 860)에서 HANG 상태에 들어간다.
한편, 도 28 및 도 30을 참조하여, YCE(1) 변수가 논리 로우 상태(즉, "0" 상태)로 세트된다면, LBMATCH_Q, REDL(0) 및 REDH(0) 변수들 각각에 대한 각각의 논리 상태는 FAILREP 논리(848)에 의해 출력되는 FAILREP 값을 결정한다. YCE(1) 변수가 논리 로우 상태로 세트되면, 코어 플래시 메모리 셀들의 현재 결함 어드레스를 복구하는 데에 리던던시 요소가 이용될 수 있다. 도 30을 참조하여, LBMATCH_Q 변수가 논리 로우 상태로 세트되어, 결함이 있는 플래시 메모리 셀이 코어 플래시 메모리 셀들의 현재 결함 어드레스의 로우 바이트 내에 있음을 나타내면, REDL(0) 변수의 논리 상태는 FAILREP 논리(848)에 의해 출력되는 FAILREP 변수를 결정한다. 한편, LBMATCH_Q 변수가 논리 하이 상태로 세트되어, 결함이 있는 플래시 메모리 셀이 코어 플래시 메모리 셀들의 현재 결함 어드레스의 하이 바이트 내에 있음을 나타내면, REDH(0) 변수의 논리 상태는 FAILREP 논리(848)에 의해 출력되는 FAILREP 변수를 결정한다.
LBMATCH_Q 변수가 논리 로우 상태로 세트될 때, FAILREP 논리(848)에 의해 출력되는 FAILREP 변수는 REDH(0) 값의 논리 상태와 상관없이, REDL(0) 변수가 논리 하이 상태일 경우에는 논리 하이 상태이고, REDL(0) 변수가 논리 로우 상태일 경우에는 논리 로우 상태이다. LBMATCH_Q 변수가 논리 로우 상태로 세트되고 REDL(0) 변수가 논리 하이 상태일 때, FAILREP 논리(848)는 코어 플래시 메모리 셀들의 현재 결함 어드레스의 로우 바이트가 리던던시 요소들중 제 1 리던던시 요소를 이용하여 이전에 이미 복구되었음을 결정한다. 이 경우, FAILREP 변수는 논리 하이 상태로 세트되고, 도 27의 흐름도의 단계들(858 및 860)에서 HANG 상태에 들어간다. 한편, LBMATCH_Q 변수가 논리 로우 상태로 세트되고 REDL(0) 변수가 논리 로우 상태이면, FAILREP 논리(848)는 코어 플래시 메모리 셀들의 현재 결함 어드레스의 로우 바이트가 이전에 복구되지 않았음을 결정한다. 이 경우, YCE(1) 변수 또한 논리 로우 상태로 세트될 때 FAILREP 변수는 논리 로우 상태로 세트되고, 도 27에서 복구 루틴은 계속된다.
유사하게, LBMATCH_Q 변수가 논리 하이 상태로 세트될 때, FAILREP 논리(848)에 의해 출력되는 FAILREP 변수는 REDL(0) 값의 논리 상태와 상관없이, REDH(0) 변수가 논리 하이 상태일 경우에는 논리 하이 상태이고, REDH(0) 변수가 논리 로우 상태일 경우에는 논리 로우 상태이다. LBMATCH_Q 변수가 논리 하이 상태로 세트되고 REDH(0) 변수가 논리 하이 상태이면, FAILREP 논리(848)는 코어 플래시 메모리 셀들의 현재 결함 어드레스의 하이 바이트가 리던던시 요소들중 제 1 리던던시 요소를 이용하여 이전에 이미 복구되었음을 결정한다. 이 경우, FAILREP 변 수는 논리 하이 상태로 세트되고, 도 27의 흐름도의 단계들(858 및 860)에서 HANG 상태에 들어간다. 한편, LBMATCH_Q 변수가 논리 하이 상태로 세트되고 REDH(0) 변수가 논리 로우 상태이면, 코어 플래시 메모리 셀들의 현재 결함 어드레스의 하이 바이트는 이전에 복구되지 않았다. 이 경우, YCE(1) 변수 또한 논리 로우 상태로 세트될 때 FAILREP 변수는 논리 로우 상태로 세트되고, 도 27에서 복구 루틴은 계속된다.
FAILREP 논리(848)가 FAILREP 변수를 논리 로우 상태로 세트시킨 후 복구 루틴이 계속되면, PULSE_COUNT는 0으로 리셋되고(도 27의 단계(862)), 복구 제어기(832)는 JUICE 상태에 들어간다(도 27의 단계(888)). 도 26 및 도 28을 참조하여, JUICE 상태 동안, 복구 제어기(832)는 CAM 플래시 메모리 셀들의 각 세트에 프로그래밍 전압들을 인가하도록 CAM 프로그램 전압 소스(838)를 제어한다. 이러한 프로그래밍 전압들을 이용하여, CAM 플래시 메모리 셀들의 각 세트는 코어 플래시 메모리 셀들의 현재 결함 어드레스로 프로그램되며, 이에 따라 코어 플래시 메모리 셀들의 현재 결함 어드레스에 대한 액세스는 플래시 메모리 셀들의 대응하는 리던던시 요소로 전환된다. 본 발명의 일 실시예에서, 코어 플래시 메모리 셀들의 현재 결함 어드레스의 로우 바이트 또는 하이 바이트중 하나는, 이러한 코어 플래시 메모리 셀들의 현재 결함 어드레스의 로우 바이트 또는 하이 바이트중 하나에 대한 액세스가 플래시 메모리 셀들의 대응하는 리던던시 요소로 전환되기 때문에 복구된다.
또한, Y-어드레스 디코더(781)가 코어 플래시 메모리 셀들(780)의 결함 어드 레스의 콘텐츠를 출력하지 못하도록, CAM 논리(884)에 의해 DISYHB 및 DISYLB 신호들이 발생된다. DISYHB 신호는 CAM 논리(884)에 의해 표명되어 Y-어드레스 디코더(781)가 코어 플래시 메모리 셀들(780)의 결함 어드레스의 하이 바이트의 콘텐츠를 출력하지 못하게 한다. DISYLB 신호는 CAM 논리(884)에 의해 표명되어 Y-어드레스 디코더(781)가 코어 플래시 메모리 셀들(780)의 결함 어드레스의 로우 바이트의 콘텐츠를 출력하지 못하게 한다.
CAM 플래시 메모리 셀들을 프로그래밍하기 위한 프로그래밍 전압들은 플래시 메모리 제조 분야의 당업자에게 알려져있다. 또한, 그 위에 코어 플래시 메모리 셀들(780)이 제조되어 있는 반도체 다이 위에, 선택된 CAM 플래시 메모리 셀들에 인가되는 이러한 프로그래밍 전압들을 발생시키는 CAM 프로그램 전압 소스(838)를 제조하는 공정은 플래시 메모리 제조 분야의 당업자에게 알려져있다.
타이머(834)는 JUICE 상태 동안 CAM 플래시 메모리 셀들의 각 세트에 이러한 프로그래밍 전압들을 인가하기 위한 juice 시간 기간, JTIMEOUT을 정한다(도 27의 단계(890)). juice 시간 기간의 만료 이전(JTIMEOUT=거짓)에, 복구 제어기(832)는 JUICE 상태 내에 유지되어, juice 시간 기간 JTIMEOUT 동안 CAM 플래시 메모리 셀들의 각 세트에 프로그래밍 전압들을 인가한다.
juice 시간 기간의 만료 이후(JTIMEOUT=참), 복구 제어기(832)는 VERIFY1 상태로 간다(도 27의 단계(892)). VERIFY1 상태 동안, 타이머(834)는 CAM 마지닝 전압 소스(840)로부터의 마지닝 전압들이 VERIFY2 상태 동안 CAM 플래시 메모리 셀들의 각 세트에 인가되기 전에 소정의 대기 시간 기간을 정하며, 이에 따라 CAM 마지닝 전압 소스(840)로부터의 전압 레벨들이 VERIFY2 상태에 들어가기 전에 안정화된다(도 27의 단계(894)). VERIFY1 상태 내에서 대기 시간 기간의 만료 이전(대기 시간=참)에, 복구 제어기(832)는 VERIFY1 상태 내에 유지된다.
VERIFY1 상태 내에서의 대기 시간 기간의 만료 이후(대기 기간=거짓), 복구 제어기(832)는 VERIFY2 상태에 들어간다(도 27의 단계(896)). VERIFY2 상태 동안, 복구 제어기(832)는 도 27의 단계(888)의 JUICE 상태에서 프로그램되었던 CAM 플래시 메모리 셀들의 각 세트에 마지닝 전압들을 인가하도록 CAM 마지닝 전압 소스(840)를 제어한다. 이러한 마지닝 전압들은 JUICE 상태에서 프로그램되었던 CAM 플래시 메모리 셀들의 각 세트의 각 플래시 메모리 셀에 인가되는 검증 전압들로서, JUICE 상태 이후 이러한 플래시 메모리 셀들이 적절히 프로그램되었는 지를 검증한다.
JUICE 상태 이후 이러한 플래시 메모리 셀들이 적절히 프로그램되었는 지를 검증하는 이러한 마지닝 전압들은 플래시 메모리 제조 분야의 당업자에게 알려져있다. 또한, 그 위에 코어 플래시 메모리 셀들(780)이 제조되어 있는 반도체 다이 위에, 이러한 마지닝 전압들을 발생시키기 위한 CAM 마지닝 전압 소스(840)를 제조하는 공정은 플래시 메모리 제조 분야의 당업자에게 알려져있다.
VERIFY2 상태 동안, 복구 제어기(832)는 MATCH 단계 동안 복구 매칭 유닛(846)에 의해 발생된 REDOK 변수를 수신한다(도 27의 단계(898)). 도 29를 참조하여, JUICE 상태 동안 프로그래밍 전압들이 인가된 후(도 27의 단계(888)), 그런 다음 마지닝 전압들이 코어 플래시 메모리 셀들의 현재 결함 어드레스를 플래시 메모 리 셀들의 리던던시 요소로 대체하기 위해 CAM 플래시 메모리 셀들의 각 세트에 인가된 후, 도 29의 CAM 논리(884)는 이러한 각각의 CAM 플래시 메모리 셀들의 출력과 어드레스 시퀀서(524)로부터의 현재 결함 어드레스를 비교하여, YCE(0), YCE(1), REDL(0), REDH(0), REDL(1) 및 REDH(1) 변수들을 발생시킨다.
본원에서 설명되는 YCE(0), YCE(1), REDL(0), REDH(0), REDL(1) 및 REDH(1) 변수들이 도 29의 CAM 논리(884)에 의해 발생되어, 2개의 리던던시 요소들중 어느 것이 코어 플래시 메모리 셀들의 결함 어드레스의 2개의 바이트들중 어느 것을 대체하는 데에 이용되는 지를 추적한다. CAM 논리는 플래시 메모리 셀들의 현재 결함 어드레스를 복구하기 위해 CAM(790) 내에 프로그램된 플래시 메모리 셀들의 각 세트의 출력과 어드레스 시퀀서(524)에 의해 발생된 결함 어드레스를 비교하고, YCE(0), YCE(1), REDL(0), REDH(0), REDL(1) 및 REDH(1) 변수들 각각에 대한 각각의 논리 상태를 발생시키는바, 이러한 변수들 각각에 대한 이전의 각 논리 상태에 의존하여 발생시킨다.
처음에, YCE(0), YCE(1), REDL(0), REDH(0), REDL(1) 및 REDH(1) 변수들 각각은 논리 로우 상태(즉, "0" 상태)로 세트된다. 또한, 코어 플래시 메모리 셀들의 블럭들(783, 784, 786 및 788)중 하나 내의 어떠한 결함 어드레스를 복구하기 위해 어떠한 리던던시 요소가 이용되기 전에 먼저, 플래시 메모리 셀들의 2개의 리던던시 요소들이 플래시 메모리 셀들의 결함 어드레스의 어떠한 결함 바이트를 복구하는 데에 이용될 수 있다. 2개의 리던던시 요소들중 제 1 리던던시 요소가 코어 플래시 메모리 셀들의 결함 어드레스의 바이트를 복구하는 데에 이용될 때, 2개의 리 던던시 요소들중 제 1 리던던시 요소에 대응하는 YCE(0) 변수는 논리 하이 상태(즉, "1" 상태)로 세트되고, 2개의 리던던시 요소들중 이 제 1 리던던시 요소는 더 이상 이용할 수 없게 된다. 이후, 2개의 리던던시 요소들중 제 2 리던던시 요소가 코어 플래시 메모리 셀들의 결함 어드레스의 바이트를 복구하는 데에 이용될 때, 2개의 리던던시 요소들중 제 2 리던던시 요소에 대응하는 YCE(1) 변수는 논리 하이 상태(즉, "1" 상태)로 세트되고, 2개의 리던던시 요소들중 제 2 리던던시 요소는 더 이상 이용할 수 없게 되며, 이에 따라 그 이상의 어떠한 리던던시 요소들도 코어 플래시 메모리 셀들의 블록들(783, 784, 786 및 788)중 현재 블록 내의 코어 플래시 메모리 셀들의 어떠한 결함 어드레스를 복구하는 데에 이용될 수 없다.
REDL(0) 변수는 2개의 리던던시 요소들중 제 1 리던던시 요소를 이용하여 코어 플래시 메모리 셀들의 결함 어드레스의 로우 바이트를 복구할 때 논리 하이 상태(즉, "1" 상태)로 세트된다. 한편, REDH(0) 변수는 2개의 리던던시 요소들중 제 1 리던던시 요소를 이용하여 코어 플래시 메모리 셀들의 결함 어드레스의 하이 바이트를 복구할 때 논리 하이 상태(즉, "1" 상태)로 세트된다. 코어 플래시 메모리 셀들의 결함 어드레스의 로우 바이트 또는 하이 바이트중 단지 하나 만이 리던던시 요소들중 어느 하나를 이용하여 복구된다. 따라서, REDL(0) 및 REDH(0) 변수들중 단지 하나 만이 논리 하이 상태로 세트된다.
유사하게, REDL(1) 변수는 2개의 리던던시 요소들중 제 2 리던던시 요소를 이용하여 코어 플래시 메모리 셀들의 결함 어드레스의 로우 바이트를 복구할 때 논리 하이 상태(즉, "1" 상태)로 세트된다. 한편, REDH(1) 변수는 2개의 리던던시 요 소들중 제 2 리던던시 요소를 이용하여 코어 플래시 메모리 셀들의 결함 어드레스의 하이 바이트를 복구할 때 논리 하이 상태(즉, "1" 상태)로 세트된다. 코어 플래시 메모리 셀들의 결함 어드레스의 로우 바이트 또는 하이 바이트중 단지 하나 만이 리던던시 요소들중 어느 하나를 이용하여 복구된다. 따라서, REDL(1) 및 REDH(1) 변수들중 단지 하나 만이 논리 하이 상태로 세트된다.
도 26을 참조하여, 린던던시 요소 배열 래치(842)는 코어 플래시 메모리 셀들의 블럭들(783, 784, 786 및 788)중 현재 블럭에 대해 이용가능한 2개의 리던던시 요소들중 어느 것이 현재 이용되고 있는 지를 추적하기 위한 YCE(0) 변수를 입력받는다. YCE(0) 변수가 논리 로우 상태(즉, "0" 상태)로 세트되면, 이 YCE(0) 변수는 2개의 리던던시 요소들중 제 1 리던던시 요소가 이용가능함을 나타낸다. 이 경우, 리던던시 요소 배열 래치(842)는 BREP01 변수를 논리 로우 상태(즉, "0" 상태)로 세트시켜, 2개의 리던던시 요소들중 제 1 리던던시 요소가 코어 플래시 메모리 셀들의 현재 결함 어드레스를 복구하는 데에 이용될 것임을 나타낸다. 한편, YCE(0) 변수가 논리 하이 상태(즉, "1" 상태)로 세트되면, 이 YCE(0) 변수는 2개의 리던던시 요소들중 제 1 리던던시 요소는 이미 이용되었고, 제 2 리던던시 요소가 이용가능함을 나타낸다. 이 경우, 리던던시 요소 배열 래치(842)는 BREP01 변수를 논리 하이 상태(즉, "1" 상태)로 세트시켜, 2개의 리던던시 요소들중 제 2 리던던시 요소가 코어 플래시 메모리 셀들의 현재 결함 어드레스를 복구하는 데에 이용될 것임을 나타낸다. 이러한 리던던시 요소 배열 래치(842)에 대한 일반적인 래치의 구현은 전자 공학 분야의 당업자에게 알려져있다.
도 31은 제 1 NOR 게이트(902), 제 2 NOR 게이트(904), 제 3 NOR 게이트(906), 제 4 NOR 게이트(908), 제 5 NOR 게이트(910), 제 6 NOR 게이트(912), NAND 게이트(914) 및 인버터(916)를 포함하는 복구 매칭 유닛(846)의 예시적인 구현을 나타낸다. 제 1 NOR 게이트(902)는 입력들로서 제 1 입력 단자들(918)에 인가되는 REDL(0) 변수 및 제 2 입력 단자(920)에 인가되는 REDH(0) 변수를 갖는다. 제 2 NOR 게이트(904)는 입력들로서 제 1 NOR 게이트(902)의 출력 및 제 3 입력 단자(922)에 인가되는 BREP01 변수를 갖는다. 제 3 NOR 게이트(906)는 입력들로서 제 4 입력 단자(924)에 인가되는 REDL(1) 변수 및 제 5 입력 단자(926)에 인가되는 REDH(1) 변수를 갖는다. 제 4 NOR 게이트(908)는 입력들로서 제 3 NOR 게이트(906)의 출력 및 인버터(916)의 출력을 가지며, 이 인버터(916)는 입력으로서 제 6 입력 단자(928)에 인가되는 BREP01 변수를 갖는다.
제 5 NOR 게이트(910)는 입력들로서 제 2 NOR 게이트(904)의 출력 및 제 4 NOR 게이트(908)의 출력을 갖는다. NAND 게이트(914)는 입력들로서 제 7 입력 단자(930)에 인가되는 BREPAIR 변수 및 제 8 입력 단자(932)에 인가되는 VERIFY 변수를 갖는다. 제 6 NOR 게이트(912)는 입력들로서 제 5 NOR 게이트(910)의 출력 및 NAND 게이트(914)의 출력을 갖는다. 제 6NOR 게이트(912)의 출력은 출력 단자(934)에 REDOK 변수를 제공한다.
도 27의 MATCH 단계(898) 동안, 복구 제어기(832)에 의해 BREPAIR 변수는 논리 하이 상태(즉, "1" 상태)로 세트되고 VERIFY 변수는 논리 하이 상태(즉, "1" 상태)로 세트된다. 이 경우, BREP01, REDL(0), REDH(0), REDL(1) 및 REDH(1) 변수들 은 도 31의 복구 매칭 유닛(846)의 출력인 REDOK의 논리 상태를 결정한다. 도 32는 도 31의 복구 매칭 유닛(846)에 대한 입력으로서의 BREP01, REDL(0), REDH(0), REDL(1) 및 REDH(1) 변수들의 가능한 논리 상태들의 표이다. BREP01 변수는 본원에서 설명되는 리던던시 요소 배열 래치(842)에 의해 발생되고, REDL(0), REDH(0), REDL(1) 및 REDH(1) 변수들은 본원에서 설명되는 도 29의 CAM 논리(884)에 의해 발생된다.
도 31 및 도 32를 참조하여, BREP01 변수는 리던던시 요소 배열 래치(842)에 의해 논리 로우 상태(즉, "0" 상태)로 세트되어, 2개의 리던던시 요소들중 제 1 리던던시 요소가 코어 플래시 메모리 셀들의 현재 결함 어드레스의 로우 바이트 또는 하이 바이트중 하나를 복구하는 데에 이용되고 있음을 나타낸다. 대안적으로, BREP01 변수는 리던던시 요소 배열 래치(842)에 의해 논리 하이 상태(즉, "1" 상태)로 세트되어, 2개의 리던던시 요소들중 제 2 리던던시 요소가 코어 플래시 메모리 셀들의 현재 결함 어드레스의 로우 바이트 또는 하이 바이트중 하나를 복구하는 데에 이용되고 있음을 나타낸다.
도 31 및 도 32를 참조하여, BREP01 변수가 논리 로우 상태(즉, "0" 상태)로 세트되면, REDL(0) 및 REDH(0) 변수들은 REDL(1) 및 REDH(1) 변수들 각각의 논리 상태에 상관없이 REDOK 출력의 논리 상태를 결정한다. 이 경우, REDL(0) 및 REDH(0) 변수들중 하나는 논리 하이 상태로 세트되어, 2개의 리던던시 요소들중 제 1 리던던시 요소가 코어 플래시 메모리 셀들의 현재 결함 어드레스의 로우 바이트 또는 하이 바이트중 하나를 복구하는 데에 이용되었음을 나타낸다.
REDL(0)이 (REDH(0) 변수 대신) 논리 하이 상태로 세트되면, 2개의 리던던시 요소들중 제 1 리던던시 요소가 코어 플래시 메모리 셀들의 현재 결함 어드레스의 로우 바이트를 복구하는 데에 이용된 것이다. REDH(0)이 (REDL(0) 변수 대신) 논리 하이 상태로 세트되면, 2개의 리던던시 요소들중 제 1 리던던시 요소가 코어 플래시 메모리 셀들의 현재 결함 어드레스의 하이 바이트를 복구하는 데에 이용된 것이다. 어느 경우이든, 각각의 CAM 플래시 메모리 셀들은 적절히 프로그램됨으로써, 2개의 리던던시 요소들중 제 1 리던던시 요소는 코어 플래시 메모리 셀들의 현재 결함 어드레스의 로우 바이트 또는 하이 바이트중 하나를 복구하는 데에 적절히 이용된다. 따라서, BREP01 변수가 논리 로우 상태로 세트되고, REDL(0) 및 REDH(0) 변수들중 하나가 논리 하이 상태로 세트되면, 복구 매칭 유닛(848)에 의해 출력되는 REDOK 변수는 논리 하이 상태로 세트된다.
한편, BREP01 변수가 논리 로우 상태로 세트되고, REDL(0) 및 REDH(0) 변수들 모두가 CAM 논리(884)에 의해 논리 로우 상태로 세트되면, 각각의 CAM 플래시 메모리 셀들은 적절히 프로그램되지 않게 되며, 이에 따라 2개의 리던던시 요소들중 제 1 리던던시 요소는 코어 플래시 메모리 셀들의 현재 결함 어드레스의 로우 바이트 또는 하이 바이트중 하나를 복구하는 데에 적절히 이용되지 않는다. 이 경우, 복구 매칭 유닛(848)에 의해 출력되는 REDOK 변수는 논리 로우 상태로 세트된다.
유사하게, 도 31 및 도 32를 참조하여, BREP01 변수가 논리 하이 상태(즉, "1" 상태)로 세트되면, REDL(1) 및 REDH(1) 변수들은 REDL(0) 및 REDH(0) 변수들의 각 논리 상태에 상관없이 REDOK 출력의 논리 상태를 결정한다. 이 경우, REDL(1) 및 REDH(1)중 하나는 논리 하이 상태로 세트되어, 2개의 리던던시 요소들중 제 2 리던던시 요소가 코어 플래시 메모리 셀들의 현재 결함 어드레스의 로우 바이트 또는 하이 바이트중 하나를 복구하는 데에 이용되었음을 나타낸다.
REDL(1)이 (REDH(1) 변수 대신) 논리 하이 상태로 세트되면, 2개의 리던던시 요소들중 제 2 리던던시 요소가 코어 플래시 메모리 셀들의 현재 결함 어드레스의 로우 바이트를 복구하는 데에 이용된다. REDH(1)이 (REDL(1) 변수 대신) 논리 하이 상태로 세트되면, 2개의 리던던시 요소들중 제 2 리던던시 요소가 코어 플래시 메모리 셀들의 현재 결함 어드레스의 하이 바이트를 복구하는 데에 이용된다. 어느 경우이든, 각각의 CAM 플래시 메모리 셀들은 적절히 프로그램됨으로써, 2개의 리던던시 요소들중 제 2 리던던시 요소는 코어 플래시 메모리 셀들의 현재 결함 어드레스의 로우 바이트 또는 하이 바이트중 하나를 복구하는 데에 적절히 이용된다. 따라서, BREP01 변수가 논리 하이 상태로 세트되고, REDL(1) 및 REDH(1) 변수들중 하나가 논리 하이 상태로 세트되면, 복구 매칭 유닛(848)에 의해 출력되는 REDOK 변수는 논리 하이 상태로 세트된다.
한편, BREP01 변수가 논리 하이 상태로 세트되고, REDL(1) 및 REDH(1) 변수들 모두가 CAM 논리(884)에 의해 논리 로우 상태로 세트되면, 각각의 CAM 플래시 메모리 셀들은 적절히 프로그램되지 않게 되며, 이에 따라 2개의 리던던시 요소들중 제 2 리던던시 요소는 코어 플래시 메모리 셀들의 현재 결함 어드레스의 로우 바이트 또는 하이 바이트중 하나를 복구하는 데에 적절히 이용되지 않는다. 이 경 우, 복구 매칭 유닛(848)에 의해 출력되는 REDOK 변수는 논리 로우 상태로 세트된다.
도 27을 참조하여, REDOK 변수가 논리 로우 상태(즉, 거짓 상태)로 세트된다면, 각각의 CAM 플래시 메모리 셀들은 코어 플래시 메모리 셀들의 현재 결함 어드레스를 복구하도록 적절히 프로그램되지 않는다. 이 경우, 복구 제어기(832)는 Max_PC(최대 펄스 카운트)에 대해 PULSE_COUNT 변수를 체크한다(도 27의 단계(936)). PULSE_COUNT가 Max_PC 보다 작으면, 복구 제어기(832)는 JUICE 상태 및 VERIFY2 상태를 반복하고(도 27의 단계들(888, 890, 892, 894, 896 및 898)), PULSE_COUNT는 1 증가한다. 이 경우, 복구 제어기(832)는 juice 시간 기간 JTIMEOUT 동안 코어 플래시 메모리 셀들의 현재 결함 어드레스를 복구하기 위해 각각의 CAM 플래시 메모리 셀들에 프로그래밍 전압들을 재인가하도록 CAM 프로그램 전압 소스(838)를 제어한다. 또한, VERIFY2 상태 동안, 프로그래밍 전압들이 이와같이 재인가된 후, CAM 논리(884)로부터의 REDL(0), REDH(0), REDL(1) 및 REDH(1) 변수들의 새로운 값들에 대해, 복구 매칭 유닛(846)은 REDOK 변수를 다시 발생시킨다.
PULSE_COUNT가 Max_PC(최대 펄스 카운트)를 넘지 않는 상태로 REDOK 변수가 논리 하이 상태로 세트될 때 까지, 또는 REDOK 변수가 여전히 논리 로우 상태로 세트된 채로 PULSE_COUNT가 Max_PC를 넘을 때 까지, 복구 제어기는 REDOK 변수가 논리 로우 상태로 세트될 때 마다 PULSE_COUNT의 증가에 대해 JUICE 상태 및 VERIFY2 상태를 반복한다(도 27의 단계들(888, 890, 892, 894, 896 및 898)). REDOK 변수가 여전히 논리 로우 상태로 세트된 채로 PULSE_COUNT가 Max_PC를 넘을 때, PULSE_COUNT 변수는 0으로 리셋되고(도 27의 단계(938)), HANG 상태에 들어감으로써(도 27의 단계(940)), 도 27의 복구 루틴을 끝낸다. 이 경우, 복구 루틴은 코어 플래시 메모리 셀들의 현재 결함 어드레스를 플래시 메모리 셀들의 리던던시 요소로 대체하는 데에 성공하지 못하게 된다.
한편, PULSE_COUNT가 Max_PC를 넘지 않은 상태로 REDOK 변수가 논리 하이 상태로 세트되면, 복구 루틴은 계속된다. 이 경우, 복구 루틴은 플래시 메모리 셀들의 현재 결함 어드레스의 로우 바이트 또는 하이 바이트를 플래시 메모리 셀들의 리던던시 요소로 대체하는 데에 성공하게 된다. 또한, reg_READ 변수가 복구 제어기(832)에 의해 체크된다(도 27의 단계(942)). 이 reg_READ 변수는, 예를 들어 현재 BIST 모드가 도 23의 흐름도에 나타낸 BIST 모드에 대한 것과 같이 코어 플래시 메모리 셀들에 프로그래밍 전압 또는 소거 전압을 인가하지 않으면서 코어 플래시 메모리 셀들의 어레이의 각 플래시 메모리 셀의 각각의 논리 상태를 판독하기 위한 것일 때 BIST 시스템(300)의 프론트 엔드 디코더(314)에 의해 논리 하이 상태로 세트된다. 그렇지 않으면, 이 reg_READ 변수는 도 21의 흐름도에 의해 나타낸 BIST 모드에 대한 것과 같이 논리 로우 상태로 세트된다.
reg_READ 변수가 논리 하이 상태로 세트되면, 복구 제어기(832)는 어드레스 시퀀서(524)를 코어 플래시 메모리 셀의 결함 어드레스를 포함하는 코어 플래시 메모리 셀들의 현재 블럭의 시작 어드레스로 리셋시키고(도 27의 단계(944)), PULSE_COUNT는 0으로 리셋된다(도 27의 단계(946)). 예를 들어, 도 24를 참조하여, 코어 플래시 메모리 셀들의 결함 어드레스(750)는 코어 플래시 메모리 셀들의 제 3 블럭(786) 내에 포함된다. 이 예에서, reg_READ 변수가 논리 하이 상태로 세트되면, 복구 제어기(832)는 어드레스 시퀀서(524)를 코어 플래시 메모리 셀들의 제 3 블럭(786)의 시작 어드레스로 리셋시킨다. 이와같이 어드레스 시퀀서(524)를 코어 플래시 메모리 셀들의 제 3 블럭(786)의 시작 어드레스로 리셋시킴으로써, 플래시 메모리 셀들의 리던던시 요소에 의해 대체되는 코어 플래시 메모리 셀들의 결함 어드레스를 포함하는 코어 플래시 메모리 셀들의 전체 블럭에 대해, 코어 플래시 메모리 셀들의 어레이의 각 플래시 메모리 셀의 각 논리 상태를 판독하기 위한 BIST 모드가 수행되는바, 이러한 플래시 메모리 셀들의 리던던시 요소를 이용함으로써 적절한 복구가 더욱 확실하게 이루어질 수 있게 한다.
도 27을 참조하여, 복구 제어기(832)가 어드레스 시퀀서(524)를 코어 플래시 메모리 셀들의 결함 어드레스를 포함하는 코어 플래시 메모리 셀들의 현재 블럭의 시작 어드레스로 리셋시킨 후(도 27의 단계(944)), 그리고 reg_READ 변수가 논리 하이 상태로 세트될 때 PULSE_COUNT가 0으로 리셋된 후(도 27의 단계(946)), BREPAIR 변수는 논리 로우 상태(즉, "0" 상태)로 리셋되고(도 27의 단계(948)), 복구 루틴은 복구 루틴을 호출했던 현재 BIST 모드로 돌아간다(도 27의 단계(950)). 한편, reg_READ 변수가 논리 로우 상태로 세트되면, BREPAIR 변수는 논리 로우 상태(즉, "0" 상태)로 세트되고(도 27의 단계(948)), 복구 루틴은 도 27의 단계들(944 및 946)을 실행하지 않으면서 복구 루틴을 호출했던 현재 BIST 모드로 돌아간다(도 27의 단계(950)).
예를 들어, 복구 루틴(770)이 도 21의 현재 BIST 모드로 돌아가면, 플래시 메모리 셀들의 리던던시 요소에 의해 대체됨으로써 복구된 코어 플래시 메모리 셀들의 현재 결함 어드레스에 대해, START 상태(552)를 포함하여 그 이후의 단계들이 다시 한번 수행된다. 대안적으로, 복구 루틴(776)이 도 23의 현재 BIST 모드로 돌아가면, 코어 플래시 메모리 셀들의 결함 어드레스를 포함하는 코어 플래시 메모리 셀들(하지만 이들은 코어 플래시 메모리 셀들의 현재 블록 내의 플래시 메모리 셀들의 리던던시 요소에 의해 대체된다)의 현재 블럭의 시작 어드레스로부터, START 상태(682)를 포함하여 그 이후의 단계들이 다시 한번 수행된다.
이러한 방식으로, 플래시 메모리 셀들의 결함 어드레스를 플래시 메모리 셀들의 리던던시 요소(782)로 대체하도록 CAM(790)을 프로그램함으로써 코어 플래시 메모리 셀들(780)의 어레이를 테스트하는 동안 플래시 메모리 셀들의 결함 어드레스의 복구가 칩 위에서 수행된다. 따라서, 플래시 메모리 셀들의 결함 어드레스를 플래시 메모리 셀들의 리던던시 요소로 대체하도록 CAM을 프로그램하는 데에 외부 테스트 시스템으로부터의 핀들이 이용되지 않는다. 이와같이 외부 테스트 시스템으로부터 최소수의 핀들을 이용함으로써, 핀들의 총수가 제한된 외부 테스트 시스템에 의해 보다 많은 수의 반도체 다이들이 동시에 테스트 및 복구될 수 있게 되어, 플래시 메모리 디바이스를 제조하는 동안의 쓰루풋을 최대화한다.
또한, CAM 플래시 메모리 셀들을 프로그램하여 이루어지는 이러한 복구는 칩 위에서 수행되기 때문에, 이러한 복구 메커니즘을 수행하는 속도가 외부 테스트 시스템의 용량에 의해 제한되지 않는다. 따라서, 이러한 온칩 복구 메커니즘이 보다 효율적이게 된다.
상기 설명은 단지 예로서 한정적인 것으로 의도되지 않는다. 예를 들어, 본 발명은 플래시 메모리 셀들의 보다 많은 수의 이용가능한 리던던시 요소들에 대해 실행될 수 있다. 본원에서 개시 또는 예시되는 어떠한 숫자들은 단지 예시적인 것이다. 또한, 본 발명은 본원의 개시로부터 플래시 메모리 제조 분야의 당업자에게 자명한 바와 같이, 코어 플래시 메모리 셀들의 결함 어드레스의 바이트를 대체하는 대신, 코어 플래시 메모리 셀들의 전체 결함 어드레스를 플래시 메모리 셀들의 리던던시 요소로 대체하도록 실행될 수 있다. 본 발명은 단지 하기의 청구범위 및 그의 등가에 의해서만 한정된다.
E. 백 엔드 BIST 상태 머신의 기능을 테스트하기 위한 진단 모드
BIST 시스템(300)에 의한 코어 플래시 메모리 셀들의 어레이(304)의 테스트의 정확도는 또한 도 7의 BIST 시스템(300)의 구성 요소들, 특히 백 엔드 BIST 상태 머신(316)의 기능을 테스트함으로써도 보장된다. BIST 시스템(300)의 구성 요소들의 기능을 보장하는 이러한 테스트에 있어서, BIST 시스템(300)에 의한 테스트 이후 코어 플래시 메모리 셀들의 어레이(304)가 기능적이지 않은 것으로 간주될 때, 이러한 비 기능성은 코어 플래시 메모리 셀들의 어레이(304) 내의 결함으로부터 비롯된 것에 의존하고, 도 7의 BIST 시스템(300)의 구성 요소들 내의 결함으로부터 비롯된 것에는 의존하지 않는다.
본 발명의 다른 실시예에서, 백 엔드 BIST 상태 머신(316)의 기능은 코어 플래시 메모리 셀들의 어레이(304)의 기능과 독립적으로 결정된다. 도 33을 참조하여, 코어 플래시 메모리 셀들의 어레이(304)의 기능과 독립적으로 백 엔드 BIST 상태 머신(316)의 기능을 결정하는 시스템(960)은 모드 디코더(962), 진단 매칭 논리(964) 및 신호 선택기(966)를 포함한다. BIST 인터페이스(312), 프론트 엔드 인터페이스(314), 백 엔드 BIST 상태 머신(316), 어드레스 시퀀서(524) 및 외부 테스트 시스템(318)은 본원에서 설명된 것과 유사하다.
모드 디코더(962)는 외부 테스트 시스템(318)에 결합되어, 백 엔드 BIST 상태 머신(316)의 기능을 테스트하기 위해 진단 모드를 호출하기 위한 소정의 비트 패턴을 전송하는 외부 테스트 시스템(318)으로부터 상기 비트 패턴을 수신한다. 모드 디코더(962)는 외부 테스트 시스템(318)으로부터 전송된 비트 패턴을 디코드하고, 외부 테스트 시스템(318)이 백 엔드 BIST 상태 머신(316)의 기능을 테스트하기 위해 진단 모드를 호출하기 위한 소정의 비트 패턴을 전송하는 경우 AUTOL 신호를 논리 하이 상태(즉, "1" 상태)로 세트시킨다. 그렇지 않은 경우, 모드 디코더(962)는 AUTOL 신호를 논리 로우 상태(즉, "0" 상태)로 세트시킨다. 모드 디코더(962)에 대해 비트 패턴 디코더들을 구현하는 것은 디지털 전자 공학 분야의 당업자에게 알려져있다.
AUTOL 신호는 모드 디코더(962)로부터 진단 매칭 논리(964), 신호 선택기(966) 및 백 엔드 BIST 상태 머신(316)에 결합된다. 진단 매칭 논리(964)는 AUTOL 신호 및 백 엔드 BIST 상태 머신(316)으로부터의 제어 신호들을 입력 받아, 발생된 매치 출력을 발생시킨다. 신호 선택기(966)는 진단 매칭 논리(964)로부터의 발생된 매치 출력 및 도 13의 매칭 회로(520)으로부터의 코어 매치 출력을 입력받는다. 이 신호 선택기(966)는 AUTOL 신호 및 백 엔드 BIST 상태 머신(316)으로부터의 제어 신호들에 의존하여 진단 매칭 논리(964)로부터의 발생된 매치 출력 또는 매칭 회로(520)로부터의 코어 매치 출력중 하나로서 MATCH 신호를 출력한다.
AUTOL 신호가 논리 하이 상태로 세트됨으로써, 백 엔드 BIST 상태 머신(316)의 기능을 테스트하기 위한 진단 모드가 호출되면, 신호 선택기(966)는 진단 매칭 논리(964)로부터의 발생된 매치 출력을 MATCH 신호로서 선택하는바, 이 MATCH 신호는 백 엔드 BIST 상태 머신(316)에 전송된다. 한편, AUTOL 신호가 논리 로우 상태로 세트됨으로써, 진단 모드가 호출되지 않으면, 신호 선택기(966)는 매칭 회로(520)로부터의 코어 매치 출력을 MATCH 신호로서 선택하는바, 이 MATCH 신호는 백 엔드 BIST 상태 머신(316)에 전송된다.
어느 경우이든, 본원에서 설명되는 바와 같이, 백 엔드 BIST 상태 머신(316)은 BIST 모드 동안 이러한 BIST 모드가 통과 상태를 야기시키는지 아니면 실패 상태를 야기시키는 지의 여부를 결정하기 위해 VERIFY 상태 동안 상기 MATCH 신호를 이용한다. 도 13의 매칭 회로(520)는 코어 플래시 메모리 셀들의 어레이(304)의 어드레스의 측정된 비트 부분과 요구되는 비트 패턴의 비교에 의존하여 코어 매치 출력을 발생시킨다. 하지만, 진단 매칭 논리(904)는 모드 디코더(962)로부터의 AUTOL 신호 및 백 엔드 BIST 상태 머신(316)으로부터의 제어 신호들에 의존하여 발생된 매치 출력을 발생시킨다. 따라서, 진단 매칭 논리(964)로부터 발생된 매치 출력은 코어 플래시 메모리 셀들의 어레이(304)의 기능과 독립적이다.
도 34는 제 1 인버터(968), 제 1 AND 게이트(970), 제 1 NOR 게이트(972), 제 2 인버터(974), 제 2 AND 게이트(976), 제 3 인버터(978), 제 3 AND 게이트(980), 제 2 NOR 게이트(982) 및 제 4 인버터(984)를 포함하는 도 33의 신호 선택기(966)의 예시적인 구현을 나타낸다. 제 1 AND 게이트(970)는 입력들로서 제 1 입력 단자(986) 상의 BREAD 신호 및 제 1 인버터(968)의 출력을 갖고, 상기 제 1 인버터(968)는 입력으로서 제 2 입력 단자(998) 상의 BREP 신호를 갖는다. 제 1 NOR 게이트(972)는 입력들로서 제 1 AND 게이트(970)의 출력 및 제 3 입력 단자(990) 상의 MATCHD 신호를 갖는다. 제 2 AND 게이트(976)는 입력들로서 제 4 입력 단자(992) 상의 AUTOL 신호 및 제 2 인버터(974)의 출력을 갖는다. 제 2 인버터(974)는 입력으로서 제 1 NOR 게이트(972)의 출력을 갖는다.
또한, 제 3 AND 게이트(980)는 입력들로서 제 5 입력 단자(994) 상의 int_MATCH 신호 및 제 3 인버터(978)의 출력을 갖고, 상기 제 3 인버터(978)는 입력으로서 제 6 입력 단자(996) 상의 AUTOL 신호를 갖는다. 제 2 NOR 게이트(982)는 입력들로서 제 2 AND 게이트(976)의 출력 및 제 3 AND 게이트(980)의 출력을 갖는다. 제 4 인버터(984)는 입력으로서 제 2 NOR 게이트(982)의 출력을 갖는다. 제 4 인버터(984)의 출력은 신호 선택기의 출력으로서, 출력 단자(997)에 MATCH 신호를 제공한다.
제 5 입력 단자(994)에서의 int_MATCH 신호는 매칭 회로(520)로부터의 코어매치 출력이고, 제 3 입력 단자(990)에서의 MATCHD 신호는 진단 매칭 논리(964)로부터의 발생된 매치 출력이다. 제 4 입력 단자(992) 및 제 6 입력 단자(996) 상의 AUTOL 신호는 모드 디코더(962)에 의해 발생되는 AUTOL 신호이다. 제 1 입력 단자(986) 상의 BREAD 신호 및 제 2 입력 단자(998) 상의 BREP 신호는 백 엔드 BIST 상태 머신(316)으로부터의 제어 신호들이다.
도 35는 제 1 NOR 게이트(998), 제 2 NOR 게이트(1000) 및 제 3 NOR 게이트(1002)를 포함하는 도 33의 진단 매칭 논리(964)의 예시적인 구현을 나타낸다. 또한, 진단 매칭 논리(964)는 제 1 AND 게이트(1004), 제 1 NAND 게이트(1006), 제 2 NAND 게이트(1008), 제 3 NAND 게이트(1010), 제 4 NAND 게이트(1012) 및 제 5 NAND 게이트(1014)를 포함한다. 진단 매칭 논리(964)는 또한 제 1 OR 게이트(1016), 제 2 OR 게이트(1018), 제 3 OR 게이트(1020), 제 1 인버터(1022), 제 2 인버터(1024) 및 제 3 인버터(1026)를 포함한다. 또한, 진단 매칭 논리(964)는 래치(1028)를 포함한다.
제 1 NOR 게이트(998)는 입력들로서 제 1 입력 단자(1030) 상의 ERIP 신호 및 제 2 입력 단자(1032) 상의 APDE 신호를 갖는다. 제 1 AND 게이트(1004)는 입력들로서 제 1 NOR 게이트(998)의 출력 및 제 3 입력 단자(1034) 상의 BACLK 신호를 갖는다. 제 2 NOR 게이트(1000)는 입력들로서 제 1 AND 게이트(1004)의 출력 및 제 4 입력 단자(1036) 상의 SACLK 신호를 갖는다. 제 2 NAND 게이트(1008)는 입력들로서 제 5 입력 단자(1038) 상의 ER 신호 및 제 4 NAND 게이트(1012)의 출력을 갖는다.
또한, 제 1 OR 게이트(1016)는 입력들로서 제 1 인버터(1022)의 출력 및 제 7 입력 단자(1042) 상의 BAPDE_OPT 신호를 갖고, 제 1 인버터(1022)는 입력으로서 제 6 입력 단자(1040) 상의 BEREXE 신호를 갖는다. 제 4 NAND 게이트(1012)는 입력들로서 제 1 OR 게이트(1016)의 출력 및 제 8 입력 단자(1044) 상의 STEST 신호를 갖는다. 제 2 OR 게이트(1018)는 입력들로서 제 2 인버터(1024)의 출력 및 제 9 입력 단자(1046) 상의 PGM 신호를 갖고, 제 2 인버터(1024)는 입력으로서 제 4 NAND 게이트(1012)의 출력을 갖는다. 제 3 OR 게이트(1020)는 입력들로서 제 4 NAND 게이트(1012)의 출력 및 제 10 입력 단자(1048) 상의 JUICE 신호를 갖는다.
또한, 제 1 NAND 게이트(1006)는 입력들로서 제 2 NOR 게이트(1000)의 출력 및 제 2 NAND 게이트(1008)의 출력을 갖는다. 제 5 NAND 게이트(1014)는 입력들로서 제 2 OR 게이트(1018)의 출력 및 제 3 OR 게이트(1020)의 출력을 갖는다. 제 3 NAND 게이트(1010)는 입력들로서 제 11 입력 단자(1050) 상의 AUTOL 신호 및 제 1 NAND 게이트(1006)의 출력을 갖는다. 제 3 NOR 게이트(1002)는 입력들로서 제 3 인버터(1026) 및 제 5 NAND 게이트(1014)의 출력을 갖고, 제 3 인버터(1026)는 입력으로서 제 11 입력 단자(1050) 상의 AUTOL 신호 출력을 갖는다.
래치(1028)는 리셋 입력(즉, "R" 입력)으로서 제 3 NAND 게이트(1010)의 출력을 갖고, 세트 입력(즉, "S" 입력)으로서 제 3 NOR 게이트(1002)의 출력을 갖는다. 또한, 래치(1028)는 Q 출력으로서 출력 단자(1052)에 MATCHD 신호를 제공한다. 이 MATCHD 신호는 도 33 및 도 34의 신호 선택기(966)에 제공되는 발생된 매치 출력이다.
제 11 입력 단자(1050) 상의 AUTOL 신호는 도 33의 모드 디코더(962)에 의해 발생된다. 제 1 입력 단자(1030) 상의 ERIP 신호, 제 2 입력 단자(1032) 상의 APDE 신호, 제 3 입력 단자(1034) 상의 BACLK 신호, 제 4 입력 단자(1036) 상의 SACLK 신호, 제 5 입력 단자(1038) 상의 ER 신호, 제 6 입력 단자(1040) 상의 BEREXE 신호, 제 7 입력 단자(1042) 상의 BAPDE_OPT 신호, 제 8 입력 단자(1044) 상의 STEST 신호, 제 9 입력 단자(1046) 상의 PGM 신호 및 제 10 입력 단자(1048) 상의 JUICE 신호는 백 엔드 BIST 상태 머신(316), 특히 도 13의 백 엔드 BIST 제어기(502)에 의해 발생된다.
도 36은 제 1 PMOSFET(P-채널 금속 산화물 반도체 전계 효과 트랜지스터)(1051), 제 2 PMOSFET(1057), NMOSFET(N-채널 금속 산화물 반도체 전계 효과 트랜지스터)(1054), 제 1 인버터(1056) 및 제 2 인버터(1058)를 포함하는 도 35의 래치(1028)의 예시적인 구현이다. 제 1 PMOSFET(1051)의 소스 및 제 2 PMOSFET(1057)의 소스는 양 전압 소스(1059)에 결합되고, NMOSFET(1054)의 소스는 음 전압 소스(1061)에 결합된다. 양 전압 소스(1059)는 예를 들어 +5V와 같은 논리 하이 상태의 전압을 제공하고, 음 전압 소스(1061)는 래치(1028)의 예시적인 구현에서 접지 노드가 될 수 있다.
제 1 PMOSFET(1051)의 게이트는 래치(1028)의 리셋 입력(즉, "R" 입력)에 결합되고, 이 리셋 입력은 도 35의 제 3 NAND 게이트(1010)의 출력에 결합된다. NMOSFET(1054)의 게이트는 래치(1028)의 세트 입력(즉, "S" 입력)에 결합되고, 이 세트 입력은 도 35의 제 3 NOR 게이트(1002)의 출력에 결합된다. 제 1 PMOSFET(1051)의 드레인은 NMOSFET(1054)의 드레인에 결합되고, 이 NMOSFET(1054)의 드레인은 또한 제 1 인버터(1056)의 입력 및 제 2 인버터(1058)의 출력에 결합된다. 제 1 인버터(1056)의 출력은 제 2 인버터(1058)의 입력에 결합되며, 이는 진 단 매칭 논리(964)의 발생된 매치 출력 MATCHD를 제공하기 위한 래치(1028)의 Q 출력이다.
또한, 제 2 PMOSFET(1057)의 게이트는 리셋 입력(즉, "IRSTB" 입력)에 결합되고, 제 2 PMOSFET(1057)의 드레인은 제 1 PMOSFET(1051)의 드레인 및 NMOSFET(1054)의 드레인에 결합된다. AUTOL이 논리 하이 상태로 세트되면, 백 엔드 BIST 상태 머신(316)은 IRSTB 신호를 논리 하이 상태로 세트시켜 제 2 PMOSFET(1057)을 턴오프시키며, 이에 따라 제 1 PMOSFET(1051) 및 NMOSFET(1054) 상에 인가되는 세트 입력 및 리셋 입력에 의해 발생되는 매치 출력 MATCHD가 결정된다. 한편, AUTOL이 논리 로우 상태로 세트되면, 백 엔드 BIST 상태 머신(316)은 IRSTB 신호를 논리 로우 상태로 세트시켜 제 2 PMOSFET(1057)을 턴온시키는바, 이는 발생되는 매치 출력 MATCHD를 논리 로우 상태로 래치시킨다.
도 37은 AUTOL이 논리 하이 상태로 세트될 때, 그리고 IRSTB 신호가 논리 하이 상태로 세트될 때, 도 36의 래치(1028)가 동작하는 동안의 변수들의 표이다. 이 경우, 발생되는 매치 출력 MATCHD는 제 1 PMOSFET(1051) 및 NMOSFET(1054)에 인가되는 세트 입력 및 리셋 입력에 의해 결정된다. 리셋 입력(즉, "R" 입력) 및 세트 입력(즉, "S" 입력)이 논리 로우 상태(즉, "0" 상태)에 있을 때, 래치(1028)의 Q 출력(즉, MATCHD 출력)은 논리 로우 상태(즉, "0" 상태)가 된다. 한편, 리셋 입력(즉, "R" 입력) 및 세트 입력(즉, "S" 입력)이 논리 하이 상태(즉, "1" 상태)에 있을 때, 래치(1028)의 Q 출력(즉, MATCHD 출력)은 논리 하이 상태(즉, "1" 상태)가 된다.
리셋 입력(즉, "R" 입력)이 논리 하이 상태(즉, "1" 상태)에 있고 세트 입력(즉, "S" 입력)이 논리 로우 상태(즉, "0" 상태)에 있을 때, 래치(1028)의 Q 출력(즉, MATCHD 출력)은 Q 출력의 이전 논리 상태로 래치된다. 리셋 입력(즉, "R" 입력)이 논리 로우 상태(즉, "0" 상태)에 있고 세트 입력(즉, "S" 입력)이 논리 하이 상태(즉, "1" 상태)에 있는 조건은 도 35의 진단 매칭 논리(964) 내의 래치(1028)에 대해 이용되지 않는다.
이제, 백 엔드 BIST 상태 머신(316)의 기능을 테스트하기 위한 도 33의 시스템(960)의 구성 요소들의 동작에 대해 설명한다. 도 38은 진단 모드가 호출된 이후 백 엔드 BIST 상태 머신(316)에 의해 수행되는 BIST 모드가 코어 플래시 메모리 셀들의 어레이(304)의 플래시 메모리 셀들을 프로그램하기 위한 것일 때, 도 33의 백 엔드 BIST 상태 머신(316)에 의해 들어가는 상태들의 흐름도이다. 도 33 및 도 38을 참조하여, 외부 테스트 시스템(318)이 진단 모드를 호출하기 위한 소정의 비트 패턴을 입력하면 진단 모드가 시작된다(도 38의 단계(1060)). 또한, 도 33을 참조하여, 진단 모드의 시작에서, 사용자는 현재 BIST 모드를 호출하기 위해 BIST 인터페이스(312)에 데이터를 입력한다.
이 경우, 모드 디코더(962)로부터의 AUTOL 신호는 논리 하이 상태(즉, "1" 상태)로 세트된다. 또한, 진단 모드가 호출되면, 백 엔드 BIST 상태 머신(316)은 도 15의 단계들을 따르지만, 매칭 회로(520)의 출력 대신, VERIFY 상태 동안 신호 선택기(966)로부터의 MATCH 신호를 이용한다(도 15의 단계(560 및 562)).
도 34를 참조하여, 진단 모드가 호출된 후 백 엔드 BIST 상태 머신(316)에 의해 수행되는 BIST 모드가 코어 플래시 메모리 셀들의 어레이(304)의 플래시 메모리 셀들을 프로그램하기 위한 것일 때, BREAD 신호는 논리 로우 상태(즉, "0" 상태)로 세트된다. 따라서, AUTOL 신호가 논리 하이 상태로 세트되기 때문에, 도 34의 신호 선택기(966)로부터의 MATCH 신호는 진단 매칭 논리(964)로부터의 발생된 매치 출력 MATCHD가 된다.
도 36을 참조하여, 진단 모드를 시작하기 전에, 래치(1028)로부터의 IRSTB 신호 및 AUTOL 신호는 논리 로우 상태로 세트되며, 이에 따라 상기 발생된 매치 출력 MATCHD는 논리 로우 상태로 래치된다. 코어 플래시 메모리 셀들의 어레이(304)의 플래시 메모리 셀들을 프로그램하기 위한 BIST 모드의 시작에서, 상기 발생된 매치 출력 MATCHD는 코어 플래시 메모리 셀들의 어레이(304)의 시작 어드레스에서 논리 로우 상태(즉, "0" 상태)로 래치된다. 백 엔드 BIST 상태 머신(316)이 제 1 프로그램 VERIFY 상태에 들어가면(도 15의 단계들(560 및 562)), 상기 발생된 매치 출력 MATCHD는 논리 로우 상태(즉, "0" 상태)로 래치되며, 이에 따라 코어 플래시 메모리 셀들의 어레이의 시작 어드레스는 실패 결과를 갖게 된다(도 38의 단계(1062)). 이러한 실패 결과때문에, 백 엔드 BIST 상태 머신(316)은 프로그램 JUICE 상태에 들어간다(도 15의 단계(566)).
도 35를 참조하여, 모드 디코더(962)에 의해 제 11 입력 단자(1050) 상의 AUTOL 신호가 논리 하이 상태로 세트되는 것에 부가하여, 제 9 입력 단자(1046) 상의 PGM 신호, 제 10 입력 단자(1048) 상의 JUICE 신호 및 제 8 입력 단자(1044) 상의 STEST 신호는 프로그램 JUICE 상태에서 BIST 제어기(502)에 의해 논리 하이 상 태로 세트된다. 다른 신호들(즉, ERIP, APDE, BACLK, SACLK, ER, BEREXE 및 BAPDE_OPT 신호들)은 프로그램 JUICE 상태에서 BIST 제어기(502)에 의해 논리 로우 상태로 세트된다. 따라서, 발생된 매치 출력 MATCHD는 프로그램 JUICE 상태에서 논리 하이 상태(즉, "1" 상태)로 세트된다(도 38의 단계(1064)).
프로그램 JUICE 상태 이후, BIST 제어기(502)는 발생된 매치 출력 MATCHD가 이전 프로그램 JUICE 상태로부터 논리 하이 상태(즉, "1" 상태)로 세트된 상태로 이후의 프로그램 VERIFY 상태에 들어가며(도 15의 단계들(560 및 562)), 이에 따라 코어 플래시 메모리 셀들의 어레이의 시작 어드레스는 통과 결과를 갖게 된다(도 38의 단계(1066)). 도 33을 참조하여, 이러한 통과 결과때문에, 백 엔드 BIST 상태 머신(316)은 BACLK 신호를 논리 하이 상태로 세트시킴으로써 코어 플래시 메모리 셀들의 어레이(304)의 후속 어드레스로 증가하도록 어드레스 시퀀서(524)를 제어한다(도 38의 단계(1068)).
도 35를 참조하여, BACLK 신호가 논리 하이 상태로 세트되면(AUTOL 및 STEST 신호들 또한 논리 하이 상태로 세트되지만, ERIP, APDE, SACLK, ER, PGM, JUICE, BEREXE 및 BAPDE_OPT 신호들은 논리 로우 상태로 세트된다), 발생된 매치 출력 MATCHD는 다시 논리 로우 상태(즉, "0" 상태)로 세트된다. 어드레스 시퀀서(524)가 코어 플래시 메모리 셀들의 어레이(304)의 후속 어드레스로 증가한 후, BIST 제어기(502)는 이 어드레스가 코어 플래시 메모리 셀들의 어레이(304)의 마지막 어드레스를 지났는 지의 여부를 체크한다(도 38의 단계(1070)). 이 어드레스가 코어 플래시 메모리 셀들의 어레이(304)의 마지막 어드레스를 지났으면, BIST 모드는 끝난다. 그렇지 않으면, 어드레스 시퀀서(524)가 코어 플래시 메모리 셀들의 어레이(304)의 마지막 어드레스를 지나가는 어드레스에 이를 때 까지, 코어 플래시 메모리 셀들의 어레이(304)의 후속 어드레스들 각각에 대해 도 38의 단계들(1062, 1064, 1066, 1068 및 1070)이 반복된다.
도 13을 참조하여, 프로그램/소거 전압 소스(510)의 노드와 같은 백 엔드 BIST 상태 머신(316)의 노드들을 조사하여, 진단 모드가 호출된 이후 백 엔드 BIST 상태 머신(316)에 의해 수행되는 BIST 모드가 코어 플래시 메모리 셀들의 어레이(304)의 플래시 메모리 셀들을 프로그램하기 위한 것일 때 백 엔드 BIST 상태 머신(316)이 도 38의 단계들 동안 기능적인 지의 여부를 결정할 수 있다. 예를 들어, 도 13의 프로그램/소거 전압 소스(510)로부터의 노드는 백 엔드 BIST 상태 머신(316)이 기능적인 경우 도 38의 단계(1064)에서 프로그램 JUICE 상태에 들어갈 때 마다 +9V의 워드 라인 전압을 제공한다. 도 38의 단계들 동안 도 13의 백 엔드 BIST 상태 머신(316)의 노드들을 이와같이 조사함으로써, BIST 모드가 코어 플래시 메모리 셀들의 어레이(304)의 플래시 메모리 셀들을 프로그램하기 위한 것일 때 백 엔드 BIST 상태 머신(316)의 기능이 결정된다.
도 39는 진단 모드가 호출된 이후 백 엔드 BIST 상태 머신(316)에 의해 수행되는 BIST 모드가 독립형 APDE를 이용하여 코어 플래시 메모리 셀들의 어레이(304)의 플래시 메모리 셀들을 소거하기 위한 것일 때의 도 33의 백 엔드 BIST 상태 머신(316)에 의해 들어가는 상태들의 흐름도이다. 도 40은 진단 모드가 호출된 이후 백 엔드 BIST 상태 머신(316)에 의해 수행되는 BIST 모드가 인터리브된 APDE를 이용하여 코어 플래시 메모리 셀들의 어레이(304)의 플래시 메모리 셀들을 소거하기 위한 것일 때의 도 33의 백 엔드 BIST 상태 머신(316)에 의해 들어가는 상태들의 흐름도이다. 도 35를 참조하여, 독립형 APDE에 대해, BIST 제어기(502)는 BAPDE_OPT 신호를 논리 하이 상태(즉, "1" 상태)로 세트시킨다. 한편, 인터리브된 APDE에 대해, BIST 제어기(502)는 BAPDE_OPT 신호를 논리 로우 상태(즉, "0" 상태)로 세트시킨다.
도 33 및 도 39를 참조하여, 외부 테스트 시스템(318)이 진단 모드를 호출하기 위해 소정의 비트 패턴을 입력하면 진단 모드가 시작된다(도 39의 단계(1072)). 이 경우, 모드 디코더(962)로부터의 AUTOL 신호는 논리 하이 상태(즉, "1" 상태)로 세트된다. 또한, 도 33을 참조하여, 진단 모드의 시작에서, 사용자는 현재 BIST 모드를 호출하기 위해 BIST 인터페이스(312) 내에 데이터를 입력한다. 또한, 진단 모드가 호출되면, 백 엔드 BIST 상태 머신(316)은 매칭 회로(520)의 출력 대신, VERIFY 상태 동안 신호 선택기(966)로부터의 MATCH 신호를 이용한다(예를 들어, 도 15의 단계들(560 및 562)). 도 34를 참조하여, 진단 모드가 호출된 이후 백 엔드 BIST 상태 머신(316)에 의해 수행되는 BIST 모드가 코어 플래시 메모리 셀들의 어레이(304)의 플래시 메모리 셀들을 소거하기 위한 것일 때, BREAD 신호는 논리 로우 상태(즉, "0" 상태)로 세트된다. AUTOL 신호가 논리 하이 상태로 세트되기 때문에, 도 34의 신호 선택기(966)로부터의 MATCH 신호가 진단 매칭 논리(964)로부터의 발생된 매치 출력 MATCHD가 된다.
도 36을 참조하여, 진단 모드의 시작 이전에, AUTOL 신호 및 래치(1028)의 IRSTB 신호는 논리 로우 상태로 세트되며, 이에 따라 발생된 매치 출력 MATCHD는 논리 로우 상태로 래치된다. 따라서, 코어 플래시 메모리 셀들의 어레이(304)의 플래시 메모리 셀들을 소거하기 위한 BIST 모드의 시작에서, 발생된 매치 출력 MATCHD는 코어 플래시 메모리 셀들의 어레이(304)의 제 1 섹터의 제 1 어드레스에서 논리 로우 상태(즉, "0" 상태)로 래치된다. 도 16을 참조하여, 코어 플래시 메모리 셀들의 어레이(304)는 도 16과 관련하여 본원에서 설명된 바와 같이 다수의 수평 섹터들(602, 604, 606, 608, 610, 612, 614 및 616)로 분할된다. 백 엔드 BIST 상태 머신(316)이 제 1 소거 VERIFY 상태에 들어가면, 발생된 매치 출력 MATCHD는 논리 로우 상태(즉, "0" 상태)로 래치되며, 이에 따라 코어 플래시 메모리 셀들의 어레이의 제 1 섹터의 제 1 어드레스는 실패 결과를 갖게 된다(도 39의 단계(1074)).
이러한 실패 결과때문에, 백 엔드 BIST 상태 머신(316)은 소거 JUICE 상태에 들어간다. 도 35를 참조하여, 모드 디코더(962)에 의해 제 11 입력 단자(1050) 상의 AUTOL 신호가 논리 하이 상태로 세트되는 것에 부가하여, 제 5 입력 단자(1038) 상의 ER 신호, 제 10 입력 단자(1048) 상의 JUICE 신호, 제 8 입력 단자(1044) 상의 STEST 신호, 제 6 입력 단자(1040) 상의 BEREXE 신호, 제 1 입력 단자(1030) 상의 ERIP 신호 및 제 7 입력 단자(1042) 상의 BAPDE_OPT 신호는 소거 JUICE 상태에서 BIST 제어기(502)에 의해 논리 하이 상태로 세트된다. 다른 신호들(즉, APDE, BACLK, SACLK 및 PGM 신호들)은 소거 JUICE 상태에서 BIST 제어기(502)에 의해 논리 로우 상태로 세트된다. 따라서, 발생된 매치 출력 MATCHD는 소거 JUICE 상태에서 논리 하이 상태(즉, "1" 상태)로 세트된다(도 39의 단계(1076)).
소거 JUICE 상태 이후, BIST 제어기(502)는 발생된 매치 출력 MATCHD가 이전 소거 JUICE 상태로부터 논리 하이 상태(즉, "1" 상태)로 세트된 상태로 후속 소거 VERIFY 상태에 들어가며, 이에 따라 코어 플래시 메모리 셀들의 어레이의 제 1 섹터의 제 1 어드레스는 통과 결과를 갖게 된다(도 39의 단계(1078)). 도 33을 참조하여, 이러한 통과 결과때문에, 백 엔드 BIST 상태 머신(316)은 BACLK 신호를 논리 하이 상태로 세트시킴으로써 코어 플래시 메모리 셀들의 어레이(304)의 제 1 섹터의 후속 어드레스로 증가하도록 어드레스 시퀀서(524)를 제어한다(도 39의 단계(1080)).
도 35를 참조하여, BACLK 신호가 논리 하이 상태로 세트된다고 할지라도, STEST, BEREXE, ERIP 및 BAPDE_OPT 신호들이 논리 하이 상태로 세트되기 때문에, 발생된 매치 출력 MATCHD는 논리 하이 상태(즉, "1" 상태)로 여전히 래치된다. 어드레스 시퀀서(524)가 코어 플래시 메모리 셀들의 어레이(304)의 제 1 섹터의 후속 어드레스로 증가된 후, BIST 제어기(502)는 이 어드레스가 코어 플래시 메모리 셀들의 어레이(304)의 마지막 어드레스를 지났는 지의 여부를 체크한다(도 39의 단계(1082)).
이 어드레스가 코어 플래시 메모리 셀들의 어레이(304)의 제 1 섹터의 마지막 어드레스를 지났다면, 백 엔드 BIST 상태 머신(316)은 SACLK 신호를 논리 하이 상태로 세트시킴으로써 코어 플래시 메모리 셀들의 어레이(304)의 후속 섹터의 제 1 어드레스로 증가하도록 어드레스 시퀀서(524)를 제어한다(도 39의 단계(1084)). 그렇지 않으면, 어드레스 시퀀서(524)가 코어 플래시 메모리 셀들의 어레이(304)의 제 1 섹터의 마지막 어드레스를 지나는 어드레스에 이를 때 까지, 코어 플래시 메모리 셀들의 어레이(304)의 제 1 섹터의 후속 어드레스들 각각에 대해 도 39의 단계들(1078, 1080 및 1082)이 반복된다.
어드레스가 코어 플래시 메모리 셀들의 어레이(304)의 제 1 섹터의 마지막 어드레스를 지남에 따라, 백 엔드 BIST 상태 머신(316)이 SACLK 신호를 논리 하이 상태로 세트시킴으로써 코어 플래시 메모리 셀들의 어레이(304)의 후속 섹터의 제 1 어드레스로 증가하도록 어드레스 시퀀서(524)를 제어하는 경우(도 39의 단계(1084)), BIST 제어기(502)는 이 어드레스가 코어 플래시 메모리 셀들의 어레이(304)의 마지막 섹터를 지났는 지의 여부를 체크한다(도 39의 단계(1086)). 이 어드레스가 코어 플래시 메모리 셀들의 어레이(304)의 마지막 섹터를 지났다면, 도 39의 단계(1088)에서 독립형 APDE가 수행된다.
그렇지 않으면, 어드레스 시퀀서(524)가 코어 플래시 메모리 셀들의 어레이(304)의 마지막 섹터를 지난 어드레스에 이를 때 까지, 코어 플래시 메모리 셀들의 어레이(304)의 후속 섹터들 각각에 대해 도 39의 단계들(1074, 1076, 1078, 1080, 1082, 1084 및 1086)이 반복된다. 주목할 사항으로서, 본 발명의 이러한 실시예에서 단계들(1074 및 1076)은 코어 플래시 메모리 셀들의 각 섹터의 제 1 어드레스에 대해서만 수행되는데, 그 이유는 도 35의 (AUTOL, STEST, BEREXE, ERIP 및 BAPDE_OPT 신호들 뿐 아니라) 제 4 입력 단자에서의 SACLK 신호가 도 39의 단계(1084)에서 논리 하이 상태로 세트될 때, 발생된 매치 출력 MATCHD이 다시 논리 로우 상태로 래치되기 때문이다.
하지만, 발생된 매치 출력 MATCHD는 코어 플래시 메모리 셀들의 섹터 내의 후속 어드레스들 각각에 대해 도 39의 단계(1076)의 소거 JUICE 상태에서 논리 하이 상태로 다시 세트된다. 예를 들어, 단계들(1074 및 1076)은 코어 플래시 메모리 셀들의 각 섹터의 제 1 어드레스에 대해서만 수행되는데, 그 이유는 소거 JUICE 상태에 대한 시간 기간이, 예를 들어 10 밀리초와 같이 비교적 길기 때문에, 섹터의 각 어드레스에 대한 소거 JUICE 상태를 수행하는 것이 바람직하지 못하게 길어지기 때문이다.
단계(1086)에서 코어 플래시 메모리 셀들의 어레이(304)의 마지막 섹터를 지난 어드레스에 도달하면, 이러한 코어 플래시 메모리 셀들의 어레이의 각 어드레스는 소거 검증된 것이며, 도 39의 단계(1088)에서 독립형 APDE가 수행된다. 도 39의 단계(1088)에 의해, 발생된 매치 출력 MATCHD는 논리 로우 상태(즉, "0" 상태)로 래치되는데, 이는 도 35의 AUTOL, STEST, BEREXE, ERIP 및 BAPDE_OPT 신호들 뿐 아니라 SACLK 신호가 도 39의 단계(1084)에서 논리 하이 상태로 세트되기 때문이다. 또한, SACLK 신호가 도 39의 단계(1084)에서 논리 하이 상태로 세트되기 때문에, 어드레스 시퀀서(524)는 BIST 제어기(502)에 의해 코어 플래시 메모리 셀들(304)의 제 1 섹터의 제 1 칼럼 어드레스로 리셋된다.
발생된 매치 출력 MATCHD가 논리 로우 상태(즉, "0" 상태)로 래치된 채로, 백 엔드 BIST 상태 머신(316)은 코어 플래시 메모리 셀들(304)의 제 1 섹터의 제 1 칼럼 어드레스에서 제 1 APDE VERIFY 상태에 들어간다. 따라서, 제 1 APDE VERIFY 상태는 코어 플래시 메모리 셀들(304)의 제 1 섹터의 제 1 칼럼 어드레스에 대해 실패 결과를 갖게 된다(도 39의 단계(1088)). 이러한 실패 결과때문에, 백 엔드 BIST 상태 머신(316)은 APDE JUICE 상태에 들어간다(도 39의 단계(1090)).
도 35를 참조하여, 모드 디코더(962)에 의해 제 11 입력 단자(1050) 상의 AUTOL 신호가 논리 하이 상태로 세트되는 것에 부가하여, 제 2 입력 단자(1032) 상의 APDE 신호, 제 10 입력 단자(1048) 상의 JUICE 신호, 제 8 입력 단자(1044) 상의 STEST 신호, 제 6 입력 단자(1040) 상의 BEREXE 신호, 제 9 입력 단자(1046) 상의 PGM 신호 및 제 7 입력 단자(1042) 상의 BAPDE_OPT 신호는 APDE JUICE 상태에서 BIST 제어기(502)에 의해 논리 하이 상태로 세트된다. 다른 신호들(즉, ERIP, ER, BACLK 및 SACLK 신호들)은 APDE JUICE 상태에서 BIST 제어기(502)에 의해 논리 로우 상태로 세트된다. 따라서, 발생된 매치 출력 MATCHD는 APDE JUICE 상태에서 논리 하이 상태(즉, "1" 상태)로 세트된다(도 39의 단계(1090)).
APDE JUICE 상태 이후, 발생된 매치 출력 MATCHD가 이전 APDE JUICE 상태로부터 논리 하이 상태(즉, "1" 상태)로 세트된 채로, BIST 제어기(502)는 후속 APDE VERIFY 상태에 들어가며, 이에 따라 코어 플래시 메모리 셀들의 어레이의 제 1 섹터의 제 1 칼럼 어드레스는 통과 결과를 갖게 된다(도 39의 단계(1092)). 도 33을 참조하여, 이러한 통과 결과때문에, 백 엔드 BIST 상태 머신(316)은 BACLK 신호를 논리 하이 상태로 세트시킴으로써 코어 플래시 메모리 셀들의 어레이(304)의 제 1 섹터의 후속 칼럼 어드레스로 증가하도록 어드레스 시퀀서(524)를 제어한다(도 39의 단계(1094)).
도 35를 참조하여, BACLK 신호가 논리 하이 상태로 세트된다고 할지라도, AUTOL, STEST, BEREXE, APDE 및 BAPDE_OPT 신호들이 논리 하이 상태로 세트되기 때문에, 발생된 매치 출력 MATCHD는 여전히 논리 하이 상태(즉, "1" 상태)로 래치된 다. 어드레스 시퀀서(524)가 코어 플래시 메모리 셀들이 어레이(304)의 제 1 섹터의 후속 칼럼 어드레스로 증가된 후, BIST 제어기(502)는 이 칼럼 어드레스가 코어 플래시 메모리 셀들의 어레이(304)의 제 1 섹터의 마지막 칼럼 어드레스를 지났는 지의 여부를 체크한다(도 39의 단계(1096)). APDE VERIFY 상태는 백 엔드 상태 머신에 의해 한번에 하나의 칼럼 어드레스씩 수행되는데, 이는 플래시 메모리 디바이스 분야의 당업자에게 알려져있는 바와 같이, 전형적으로 APDE 검증 과정은 코어 플래시 메모리 셀들의 어레이의 한 칼럼을 통해 흐르는 전체 누설 전류를 결정하기 때문이다.
칼럼 어드레스가 코어 플래시 메모리 셀들의 어레이(304)의 제 1 섹터의 마지막 칼럼 어드레스를 지났다면, 백 엔드 BIST 상태 머신(316)은 SACLK 신호를 논리 하이 상태로 세트시킴으로써 코어 플래시 메모리 셀들의 어레이(304)의 후속 섹터의 제 1 칼럼 어드레스로 증가하도록 어드레스 시퀀서(524)를 제어한다(도 39의 단계(1098)). 그렇지 않으면, 어드레스 시퀀서(524)가 코어 플래시 메모리 셀들의 어레이(304)의 제 1 섹터의 마지막 칼럼 어드레스를 지난 칼럼 어드레스에 이를 때 까지, 코어 플래시 메모리 셀들의 어레이(304)의 제 1 섹터의 후속 칼럼 어드레스들 각각에 대해 도 39의 단계들(1092, 1094 및 1096)이 반복된다.
칼럼 어드레스가 코어 플래시 메모리 셀들의 어레이(304)의 제 1 섹터의 마지막 칼럼 어드레스를 지남에 따라, 백 엔드 BIST 상태 머신(316)이 SACLK 신호를 논리 하이 상태로 세트시킴으로써 코어 플래시 메모리 셀들의 어레이(304)의 후속 섹터의 제 1 칼럼 어드레스로 증가하도록 어드레스 시퀀서(524)를 제어하는 경우(도 39의 단계(1098)), BIST 제어기(502)는 이 어드레스가 코어 플래시 메모리 셀들의 어레이(304)의 마지막 섹터를 지났는 지의 여부를 체크한다(도 39의 단계(1100)). 이 칼럼 어드레스가 코어 플래시 메모리 셀들의 어레이(304)의 마지막 섹터를 지났다면, BIST 모드는 끝난다.
그렇지 않으면, 어드레스 시퀀서(524)가 코어 플래시 메모리 셀들의 어레이(304)의 마지막 섹터를 지난 칼럼 어드레스에 이를 때 까지, 코어 플래시 메모리 셀들의 어레이(304)의 후속 섹터들 각각에 대해 도 39의 단계들(1088, 1090, 1092, 1094, 1096, 1098 및 1100)이 반복된다. 주목할 사항으로서, 본 발명의 이러한 실시예에서 단계들(1088 및 1090)은 코어 플래시 메모리 셀들의 각 섹터의 제 1 칼럼 어드레스에 대해서만 수행되는데, 그 이유는 도 35의 AUTOL, STEST, BEREXE, ADPE 및 BAPDE_OPT 신호들 뿐 아니라 제 4 입력 단자에서의 SACLK 신호가 도 39의 단계(1098)에서 논리 하이 상태로 세트될 때, 발생된 매치 출력 MATCHD가 다시 논리 로우 상태로 래치되기 때문이다.
하지만, 발생된 매치 출력 MATCHD는 코어 플래시 메모리 셀들의 섹터 내의 후속 칼럼 어드레스들 각각에 대해 도 39의 단계(1092)에서 APDE JUICE 상태에서 논리 하이 상태로 다시 세트된다. 예를 들어, 단계들(1088 및 1090)은 코어 플래시 메모리 셀들의 각 섹터의 제 1 칼럼 어드레스에 대해서만 수행되는바, 그 이유는 플래시 메모리 디바이스 분야의 당업자에게 알려져있는 바와 같이, APDE JUICE 상태 동안, APDE 전압들은 플래시 메모리 셀들의 전체 섹터의 각 플래시 메모리 셀에 인가되기 때문이다.
칼럼 어드레스가 도 39의 단계(1100)에서 코어 플래시 메모리 셀들의 어레이(304)의 마지막 섹터를 지나게 되면, 코어 플래시 메모리 셀들의 어레이의 각 어드레스는 APDE 검증되고, BIST 모드는 끝난다. BAPDE_OPT 신호가 논리 하이 상태에 있는 도 39의 독립형 APDE에 대해, 실질적으로 코어 메모리 셀들의 전체 어레이(304)는 도 39의 단계들(1074, 1076, 1078, 1080, 1082, 1084 및 1086)을 통해 제 1 소거 검증된 다음, 실질적으로 코어 플래시 메모리 셀들의 전체 어레이(304)는 도 39의 단계들(1088, 1090, 1092, 1094, 1096 및 1098)을 통해 APDE 검증된다.
한편, 도 40은 진단 모드가 호출된 이후 백 엔드 BIST 상태 머신(316)에 의해 수행되는 BIST 모드가 인터리브된 APDE를 이용하여 코어 플래시 메모리 셀들의 어레이(304)의 플래시 메모리 셀들을 소거하기 위한 것일 때, 도 33의 백 엔드 BIST 상태 머신(316)에 의해 들어가는 상태들의 흐름도이다. 이러한 BIST 모드에 대해, BAPDE_OPT 신호는 논리 로우 상태(즉, "0" 상태)로 세트된다.
도 33 및 도 40을 참조하여, 외부 테스트 시스템(318)이 진단 모드를 호출하기 위해 소정의 비트 패턴을 입력하면 진단 모드가 시작된다(도 40의 단계(1102)). 이 경우, 모드 디코더(962)로부터의 AUTOL 신호는 논리 하이 상태(즉, "1" 상태)로 세트된다. 또한, 도 33을 참조하여, 진단 모드의 시작에서, 사용자는 현재 BIST 모드를 호출하기 위해 BIST 인터페이스(312) 내에 데이터를 입력한다. 또한, 진단 모드가 호출되면, 백 엔드 BIST 상태 머신(316)은 매칭 회로(520)의 출력 대신, VERIFY 상태 동안 신호 선택기(966)로부터의 MATCH 신호를 이용한다. 도 34를 참조하여, 진단 모드가 호출된 이후 백 엔드 BIST 상태 머신(316)에 의해 수행되는 BIST 모드가 코어 플래시 메모리 셀들의 어레이(304)의 플래시 메모리 셀들을 소거하기 위한 것일 때, BREAD 신호는 논리 로우 상태(즉, "0" 상태)로 세트된다. 따라서, AUTOL이 논리 하이 상태로 세트되기 때문에, 도 34의 신호 발생기(966)로부터의 MATCH 신호가 진단 매칭 논리(964)로부터의 발생된 매치 출력 MATCHD가 된다.
도 36을 참조하여, 진단 모드의 시작 이전에, AUTOL 신호 및 래치(1028)로부터의 IRSTB 신호는 논리 로우 상태로 세트되며, 이에 따라 상기 발생된 매치 출력 MATCHD는 논리 로우 상태로 래치된다. 따라서, 코어 플래시 메모리 셀들의 어레이(304)의 플래시 메모리 셀들을 소거하기 위한 BIST 모드의 시작에서, 발생된 매치 출력 MATCHD는 코어 플래시 메모리 셀들의 어레이(304)의 제 1 섹터의 제 1 어드레스에서 논리 로우 상태(즉, "0" 상태)로 래치된다. 도 16을 참조하여, 코어 플래시 메모리 셀들의 어레이(304)는 도 16과 관련하여 본원에서 설명된 바와 같이 다수의 수평 섹터들(602, 604, 606, 608, 610, 612, 614 및 616)로 분할된다. 백 엔드 BIST 상태 머신(316)이 제 1 소거 VERIFY 상태에 들어가면, 발생된 매치 출력 MATCHD는 논리 로우 상태(즉, "0" 상태)로 래치되며, 이에 따라 코어 플래시 메모리 셀들의 어레이의 제 1 섹터의 제 1 어드레스는 실패 결과를 갖게 된다(도 40의 단계(1104)).
이러한 실패 결과때문에, 백 엔드 BIST 상태 머신(316)은 소거 JUICE 상태에 들어간다. 도 35를 참조하여, 모드 디코더(962)에 의해 제 11 입력 단자(1050) 상의 AUTOL 신호가 논리 하이 상태로 세트되는 것에 부가하여, 제 5 입력 단자(1038) 상의 ER 신호, 제 10 입력 단자(1048) 상의 JUICE 신호, 제 8 입력 단자(1044) 상의 STEST 신호, 제 6 입력 단자(1040) 상의 BEREXE 신호 및 제 1 입력 단자(1030) 상의 ERIP 신호는 소거 JUICE 상태에서 BIST 제어기(502)에 의해 논리 하이 상태로 세트된다. 다른 신호들(즉, BAPDE_OPT, APDE, BACLK, SACLK 및 PGM 신호들)은 소거 JUICE 상태에서 BIST 제어기(502)에 의해 논리 로우 상태로 세트된다. 따라서, 발생된 매치 출력 MATCHD는 인터리브된 APDE에 대해 소거 JUICE 상태에서 여전히 논리 로우 상태(즉, "0" 상태)에 남게 된다(도 40의 단계(1106)).
인터리브된 APDE를 이용하여, 소거 JUICE 상태 이후 제 1 APDE VERIFY 상태에 들어간다(도 40의 단계(1108)). MATCHD는 논리 로우 상태로 여전히 래치되기 때문에, 제 1 APDE VERIFY 상태는 실패 결과를 갖는다. 이러한 실패 결과로 인해, APDE JUICE 상태에 들어간다(도 40의 단계(1110)). 도 35를 참조하여, APDE JUICE 상태 동안, 모드 디코더(962)에 의해 AUTOL 신호가 논리 하이 상태로 세트되는 것에 부가하여, APDE, JUICE, PGM, BEREXE 및 STEST 신호들은 BIST 제어기(502)에 의해 논리 하이 상태로 세트된다. 다른 신호들(즉, BAPDE_OPT, ERIP, ER, BACLK 및 SACLK 신호들)은 APDE JUICE 상태에서 BIST 제어기(502)에 의해 논리 로우 상태로 세트된다. 따라서, 발생된 매치 출력 MATCHD는 APDE JUICE 상태에서 논리 하이 상태(즉, "1" 상태)로 세트된다(도 40의 단계(1110)).
APDE JUICE 상태 이후, 발생된 매치 출력 MATCHD가 이전 APDE JUICE 상태로부터 논리 하이 상태(즉, "1" 상태)로 세트된 채로, BIST 제어기(502)는 후속 APDE VERIFY 상태에 들어가며, 이에 따라 코어 플래시 메모리 셀들의 어레이의 제 1 섹터의 제 1 어드레스는 통과 결과를 갖는다(도 40의 단계(1112)). 도 33을 참조하여, 이러한 통과 결과때문에, 백 엔드 BIST 상태 머신(316)은 BACLK 신호를 논리 하이 상태로 세트시킴으로써 코어 플래시 메모리 셀들의 어레이(304)의 제 1 섹터의 후속 칼럼 어드레스로 증가하도록 어드레스 시퀀서(524)를 제어한다(도 40의 단계(1114)).
도 35를 참조하여, BACLK 신호가 논리 하이 상태로 세트된다고 할지라도, AUTOL, STEST, BEREXE 및 APDE 신호들이 논리 하이 상태로 세트되기 때문에, 발생된 매치 출력 MATCHD는 여전히 논리 하이 상태(즉, "1" 상태)로 래치된다. 어드레스 시퀀서(524)가 코어 플래시 메모리 셀들의 어레이(304)의 제 1 섹터의 후속 칼럼 어드레스로 증가한 후, BIST 제어기(502)는 이 칼럼 어드레스가 코어 플래시 메모리 셀들의 어레이(304)의 제 1 섹터의 마지막 칼럼 어드레스를 지났는 지의 여부를 체크한다(도 40의 단계(1116)). APDE VERIFY 상태는 백 엔드 상태 머신에 의해 한번에 하나의 칼럼 어드레스씩 수행되는데, 그 이유는 플래시 메모리 디바이스 분야의 당업자에게 알려져있는 바와 같이, 전형적으로 APDE 검증 과정은 코어 플래시 메모리 셀들의 어레이의 한 칼럼을 통해 흐르는 총 누설 전류를 결정하기 때문이다.
칼럼 어드레스가 코어 플래시 메모리 셀들의 어레이(304)의 제 1 섹터의 마지막 칼럼 어드레스를 지났으면, 백 엔드 BIST 상태 머신(316)은 도 40의 단계(1104)에서 처음에 제 1 소거 검증 상태에서 실패했던 코어 플래시 메모리 셀들의 제 1 섹터의 제 1 어드레스로 돌아가도록 어드레스 시퀀서(524)를 제어한다(도 40의 단계(1118)). 그렇지 않으면, 어드레스 시퀀서(524)가 코어 플래시 메모리 셀들의 어레이(304)의 제 1 섹터의 마지막 칼럼 어드레스를 지나는 칼럼 어드레스에 이를 때 까지, 코어 플래시 메모리 셀들의 어레이(304)의 제 1 섹터의 후속 칼럼 어드레스들 각각에 대해 도 40의 단계들(1112, 1114 및 1116)이 반복된다.
칼럼 어드레스가 코어 플래시 메모리 셀들의 어레이(304)의 제 1 섹터의 마지막 칼럼 어드레스를 지나면, 백 엔드 BIST 상태 머신(316)은 BACLK 신호를 논리 하이 상태로 세트시킴으로써 도 40의 단계(1104)에서 처음에 제 1 소거 검증 상태에서 실패했던 코어 플래시 메모리 셀들의 제 1 섹터의 제 1 어드레스로 돌아가도록 어드레스 시퀀서(524)를 제어한다(도 40의 단계(1118)). 도 35를 참조하여, AUTOL, STEST, BEREXE, BACLK 및 ERIP 신호들이 논리 하이 상태로 세트되기 때문에, MATCHD 신호는 논리 하이 상태로 래치된다(도 40의 단계(1118)).
이후, MATCHD 신호가 논리 하이 상태로 래치되어 있는 채로, 코어 플래시 메모리 셀들의 제 1 섹터의 제 1 어드레스에 대해 제 2 소거 검증 상태에 들어가며(도 40의 단계(1120)), 이에 따라 제 2 소거 검증 상태는 통과 결과를 갖는다. 도 33을 참조하여, 이러한 통과 결과때문에, 백 엔드 BIST 상태 머신(316)은 BACLK 신호를 논리 하이 상태로 세트시킴으로써 코어 플래시 메모리 셀들의 어레이(304)의 제 1 섹터의 후속 어드레스로 증가하도록 어드레스 시퀀서(524)를 제어한다(도 40의 단계(1122)).
도 35를 참조하여, BACLK 신호가 논리 하이 상태로 세트된다고 할지라도, AUTOL, STEST, BEREXE 및 ERIP 신호들이 논리 하이 상태로 세트되기 때문에, 발생된 매치 출력 MATCHD는 여전히 논리 하이 상태(즉, "1" 상태)로 래치된다. 어드레스 시퀀서(524)가 코어 플래시 메모리 셀들의 어레이(304)의 제 1 섹터의 후속 어드레스로 증가된 후, BIST 제어기(502)는 이 어드레스가 코어 플래시 메모리 셀들 의 어레이(304)의 제 1 섹터의 마지막 어드레스를 지났는 지의 여부를 체크한다(도 40의 단계(1124)).
어드레스가 코어 플래시 메모리 셀들의 어레이(304)의 제 1 섹터의 마지막 어드레스를 지났으면, 백 엔드 BIST 상태 머신(316)은 SACLK 신호를 논리 하이 상태로 세트시킴으로써 코어 플래시 메모리 셀들의 어레이(304)의 후속 섹터의 제 1 어드레스로 증가되도록 어드레스 시퀀서(524)를 제어한다(도 40의 단계(1126)). 그렇지 않으면, 어드레스 시퀀서(524)가 코어 플래시 메모리 셀들의 어레이(304)의 제 1 섹터의 마지막 어드레스를 지난 어드레스에 이를 때 까지, 코어 플래시 메모리 셀들의 어레이(304)의 제 1 섹터의 후속 어드레스들 각각에 대해 단계들(1120, 1122 및 1124)이 반복된다.
어드레스가 코어 플래시 메모리 셀들의 어레이(304)의 제 1 섹터의 마지막 어드레스를 지남에 따라, 백 엔드 BIST 상태 머신(316)이 SACLK 신호를 논리 하이 상태로 세트시킴으로써 코어 플래시 메모리 셀들의 어레이(304)의 후속 섹터의 제 1 어드레스로 증가하도록 어드레스 시퀀서(524)를 제어하는 경우(도 40의 단계(1126)), BIST 제어기(502)는 이 어드레스가 코어 플래시 메모리 셀들의 어레이(304)의 마지막 섹터를 지났는지의 여부를 체크한다(도 40의 단계(1128)). 이 어드레스가 코어 플래시 메모리 셀들의 어레이(304)의 마지막 섹터를 지났다면, 도 40의 BIST 모드는 끝난다.
그렇지 않으면, 어드레스 시퀀서(524)가 코어 플래시 메모리 셀들의 어레이(304)의 마지막 섹터를 지난 어드레스에 이를 때 까지, 코어 플래시 메모리 셀들의 어레이(304)의 후속 섹터들 각각에 대해 단계들(1104, 1106, 1108, 1110, 1112, 1114, 1116, 1118, 1120, 1122, 1124, 1126 및 1128)이 반복된다. 주목할 사항으로서, 본 발명의 이러한 실시예에서 단계들(1104, 1106, 1108 및 1110)은 코어 플래시 메모리 셀들의 각 섹터의 제 1 어드레스에 대해서만 수행되는데, 그 이유는 도 35의 AUTOL, STEST, BEREXE 및 ERIP 신호들 뿐 아니라 제 4 입력 단자에서의 SACLK 신호가 도 40의 단계(1126)에서 논리 하이 상태로 세트될 때, 발생된 매치 출력 MATCHD는 논리 로우 상태로 다시 래치되기 때문이다.
하지만, 발생된 매치 출력 MATCHD는 코어 플래시 메모리 셀들의 섹터 내의 후속 어드레스들 각각에 대해 도 40의 단계(1110)에서의 APDE JUICE 상태에서 논리 하이 상태로 다시 세트된다. 예를 들어, 단계들(1104, 1106, 1108 및 1110)은 코어 플래시 메모리 셀들의 각 섹터의 제 1 어드레스에 대해서만 수행되는데, 이는 소거 JUICE 상태에 대한 시간 기간이, 예를 들어 10 밀리초와 같이 비교적 길기때문에, 각 칼럼 어드레스에 대해 소거 JUICE 상태를 수행하는 것이 바람직하지 못하게 길어지기 때문이다.
칼럼 어드레스가 도 40의 단계(1128)에서 코어 플래시 메모리 셀들의 어레이(304)의 마지막 섹터를 지나게 되면, 코어 플래시 메모리 셀들의 어레이의 각 어드레스는 소거 검증되고 APDE 검증되며, BIST 모드는 끝난다. BAPDE_OPT 신호가 논리 로우 상태로 세트된 채로, 도 40의 인터리브된 APDE에 대해, 최초로 코어 플래시 메모리 셀들의 전체 어레이가 제 1 소거 검증된 다음, 이후 코어 플래시 메모리 셀들의 어레이(304)가 APDE 검증되는 도 39의 독립형 APDE와 대조적으로, 코어 플래시 메모리 셀들의 어레이(304)는 한번에 한 섹터에 대해 소거 검증 및 APDE 검증된다.
도 13을 참조하여, 프로그램/소거 전압 소스(510)의 노드와 같은 백 엔드 BIST 상태 머신(316)의 노드들을 조사하여, 진단 모드가 호출된 이후 백 엔드 BIST 상태 머신(316)에 의해 수행되는 BIST 모드가 독립형 또는 인터리브된 APDE를 이용하여 코어 플래시 메모리 셀들의 어레이(304)의 플래시 메모리 셀들을 소거하기 위한 것일 때 백 엔드 BIST 상태 머신(316)이 도 39 또는 도 40의 단계들 동안 기능적인 지의 여부를 결정할 수 있다. 예를 들어, 도 13의 프로그램/소거 전압 소스(510)로부터의 노드는 백 엔드 BIST 상태 머신(316)이 기능적인 경우 도 39 또는 도 40에서 소거 JUICE 상태에 들어갈 때 마다 -9.5V의 워드 라인 전압을 제공한다. 도 39 또는 도 40의 단계들 동안 도 13의 백 엔드 BIST 상태 머신(316)의 노드들을 이와같이 조사함으로써, BIST 모드가 코어 플래시 메모리 셀들의 어레이(304)의 플래시 메모리 셀들을 소거하기 위한 것일 때 백 엔드 BIST 상태 머신(316)의 기능이 결정된다.
도 34를 참조하여, 진단 모드가 호출된 이후 백 엔드 BIST 상태 머신(316)에 의해 수행되는 BIST 모드가 복구 모드를 호출하지 않으면서 코어 플래시 메모리 셀들의 각 플래시 메모리 셀에 대해 프로그램 또는 소거된 각각의 논리 상태를 판독하기 위한 것일 때, BIST 인터페이스(312)에 의해, BREAD 신호는 논리 하이 상태로 세트되지만, BREP 신호는 논리 로우로 세트된다. 이 경우, 신호 선택기(966)로부터의 MATCH 신호는 논리 하이 상태로 세트된다. 진단 모드가 호출된 이후 백 엔드 BIST 상태 머신(316)에 의해 수행되는 BIST 모드가 코어 플래시 메모리 셀들의 각 플래시 메모리 셀에 대해 프로그램 또는 소거된 각각의 논리 상태를 판독하기 위한 것일 때, 백 엔드 BIST 상태 머신(316)은 판독 VERIFY 상태에서 신호 선택기(966)로부터의 MATCH 신호를 이용하여 도 18의 흐름도의 단계들을 따른다(도 18의 단계들(690 및 692)). 신호 선택기(966)로부터의 MATCH 신호는 논리 하이 상태로 세트되기 때문에, 통과 결과를 갖는 판독 VERIFY 상태가 실질적으로 코어 플래시 메모리 셀들의 전체 어레이의 각 어드레스를 통해 백 엔드 BIST 상태 머신(316)에 의해 수행된다.
한편, 어떠한 타입의 BIST 모드에 대해, 복구 루틴이 호출되면, 백 엔드 BIST 상태 머신(316)에 의해 BREP 신호가 논리 하이 상태로 세트된다. 이 경우, 도 34를 참조하여, 신호 선택기(966)로부터의 MATCH 신호는 진단 매칭 논리(964)로부터의 발생된 매치 출력 MATCHD에 의해 결정된다. 도 41은 진단 모드가 호출된 이후 백 엔드 BIST 상태 머신(316)에 의해 수행되는 BIST 모드가 코어 플래시 메모리 셀들의 각 플래시 메모리 셀에 대해 프로그램 또는 소거된 각각의 논리 상태를 판독하기 위한 것일 때(이때, 예를 들어 도 23의 흐름도에 대해서와 같이 복구 루틴이 호출된다), 백 엔드 BIST 상태 머신(316)에 의해 들어가는 상태들의 흐름도이다.
도 33 및 도 41을 참조하여, 외부 테스트 시스템(318)이 진단 모드를 호출하기 위해 소정의 비트 패턴을 입력하면 진단 모드가 시작된다(도 41의 단계(1130)). 이 경우, 모드 디코더(962)로부터의 AUTOL 신호는 논리 하이 상태(즉, "1" 상태)로 세트된다. 또한, 도 33을 참조하여, 진단 모드의 시작에서, 사용자는 현재 BIST 모드를 호출하기 위해 BIST 인터페이스(312) 내에 데이터를 입력한다. 또한, 진단 모드가 호출되면, 백 엔드 BIST 상태 머신(316)은 매칭 회로(520)의 출력 대신, 어떠한 VERIFY 상태 동안 신호 선택기(966)로부터의 MATCH 신호를 이용한다. 도 34를 참조하여, 복구 루틴이 호출되면, BREP 신호는 논리 하이 상태로 세트된다. 따라서, AUTOL 신호가 논리 하이 상태로 세트되기 때문에, 도 34의 신호 선택기(966)로부터의 MATCH 신호가 진단 매칭 논리(964)로부터의 발생된 매치 출력 MATCHD가 된다.
도 36을 참조하여, 진단 모드의 시작 이전에, AUTOL 신호 및 래치(1028)의 IRSTB 신호는 논리 로우 상태로 세트되며, 이에 따라 상기 발생된 매치 출력 MATCHD는 논리 로우 상태로 래치된다. 따라서, BIST 모드의 시작에서, 발생된 매치 출력 MATCHD는 코어 플래시 메모리 셀들의 어레이(304)의 제 1 어드레스에서 논리 로우 상태(즉, "0" 상태)로 래치된다. 백 엔드 BIST 상태 머신(316)이 제 1 판독 VERIFY 상태에 들어가면, 발생된 매치 출력 MATCHD는 논리 로우 상태(즉, "0" 상태)로 래치되며, 이에 따라 코어 플래시 메모리 셀들의 어레이의 제 1 섹터의 제 1 어드레스는 실패 결과를 갖는다(도 41의 단계(1132)). 복구 루틴이 호출되기 때문에, 백 엔드 BIST 상태 머신(316)은 제 1 CAM VERIFY 상태에 들어간다. MATCHD는 논리 로우 상태(즉, "0" 상태)로 래치되기 때문에, 코어 플래시 메모리 셀들의 어레이의 제 1 섹터의 제 1 어드레스는 여전히 실패 결과를 갖는다(도 41의 단계(1134)).
제 1 CAM VERIFY 상태의 이러한 실패 결과로 인해, 그리고 본원에서 도 27을 참조하여 설명된 복구 루틴에 의해, 백 엔드 BIST 상태 머신(316)은 CAM JUICE 상태에 들어간다. 도 35를 참조하여, PGM 및 JUICE 신호들은 CAM JUICE 상태에서 논리 하이 상태로 세트되며, 이에 따라 상기 발생된 매치 출력 MATCHD는 논리 하이 상태로 세트된다(도 41의 단계(1136)). 이후, 백 엔드 BIST 상태 머신(316)은 통과 결과를 갖는 제 2 CAM VERIFY 상태에 들어가는데(도 41의 단계(1138)), 이는 발생된 매치 출력 MATCHD가 도 41의 단계(1136)의 이전 CAM JUICE 상태로부터 논리 하이 상태로 래치되기 때문이다.
이후, 백 엔드 BIST 상태 머신(316)은 reg_READ 변수를 체크하여, BIST 모드가 독립형 판독 모드인지의 여부를 결정한다(도 41의 단계(1141)). 독립형 판독 모드들은 플래시 메모리 디바이스 분야의 당업자에게 알려져있다. 예를 들어, 현재 BIST 모드가 도 23의 흐름도에 의해 설명한 BIST 모드에 대해서와 같이 코어 플래시 메모리 셀들에 프로그래밍 전압 또는 소거 전압을 인가하지 않으면서 이 코어 플래시 메모리 셀들의 어레이의 각 플래시 메모리 셀의 각각의 논리 상태를 판독하기 위한 독립형 판독 모드일 때, reg_READ 변수는 BIST 시스템(300)의 프론트 엔드 디코더(314)에 의해 논리 하이 상태로 세트된다. 그렇지 않으면, reg_READ 변수는 도 21의 흐름도에 의해 설명한 BIST 모드에 대해서와 같이 논리 로우 상태로 세트된다.
reg_READ 변수가 논리 하이 상태로 세트됨으로써, BIST 모드가 독립형 판독 모드일 때, 백 엔드 BIST 상태 머신(316)은 어드레스 시퀀서(524)를, BACLK 신호가 논리 하이 상태로 세트되어 있는 현재 플래시 메모리 셀을 포함하는 코어 플래시 메모리 셀들의 현재 블럭의 시작 어드레스로 리셋시킨다(도 41의 단계(1144)). BACLK 신호가 논리 하이 상태로 세트되기 때문에, MATCHD 신호는 논리 로우 상태로 세트되고, 코어 플래시 메모리 셀들의 현재 블럭의 시작 어드레스에 대해 단계들(1132, 1134, 1136, 1138, 1141 및 1144)이 다시 한번 반복된다. 이러한 모드에서, BIST 상태 머신으로부터 파워 서플라이가 끊길 때 까지, 단계들(1132, 1134, 1136, 1138, 1141 및 1144)은 이러한 루프에서 무한정 반복된다. 도 13 및 도 26을 참조하여, 이러한 단계들의 루프 동안, 예를 들어 CAM 프로그램 전압 소스(838) 또는 CAM 마지닝 전압 소스(840)로부터의 노드와 같은, 복구 루틴 동안 이용되는 백 엔드 BIST 상태 머신(316)의 노드들 및 특히 도 26의 구성 요소들을 검사하여, 백 엔드 BIST 상태 머신(316)이 도 41의 단계들 동안 기능적인 지의 여부를 결정할 수 있다.
대안적으로, reg_READ 변수가 논리 로우 상태로 세트됨으로써, BIST 모드가 독립형 판독 모드가 아닐 때, 백 엔드 BIST 상태 머신(316)은 BIST 모드가 emb_READ 변수를 갖는 내장형 판독 모드인 지의 여부를 체크한다(도 41의 단계(1142)). 예를 들어, emb_READ 변수는 도 15 또는 도 21의 단계(584)에서 논리 하이 상태로 세트된다. emb_READ 변수가 논리 하이 상태로 세트되어 BIST 모드가 내장형 판독 모드이면, 백 엔드 BIST 상태 머신(316)은 제 2 판독 VERIFY 상태에 들어간다(이때, 발생된 매치 출력 MATCHD는 통과 결과에 대해 논리 하이 상태로 래치된다)(도 41의 단계(1145)). 한편, emb_READ 변수가 논리 로우 상태로 세트되어 BIST 모드가 내장형 판독 모드가 아니면, 백 엔드 BIST 상태 머신(316)은 프로그램, 소거 또는 APDE VERIFY 상태에 들어가는데, 그 이유는 복구 루틴이, 복구 루틴을 호출했던 현재 BIST 모드로 돌아가기 때문이다. 이 경우, 발생된 매치 출력 MATCHD는 통과 결과에 대해 논리 하이 상태로 래치된다(도 41의 단계(1143)).
emb_READ 변수가 논리 하이 상태 또는 로우 상태로 세트되는 어느 경우이든, 백 엔드 BIST 상태 머신(316)은 BACLK 신호를 논리 하이 상태로 세트시킴으로써 코어 플래시 메모리 셀들의 어레이(304)의 후속 어드레스로 증가하도록 어드레스 시퀀서(524)를 제어한다(도 41의 단계(1146)). BACLK 신호가 논리 하이 상태로 세트되기 때문에, 발생된 매치 출력 MATCHD는 논리 로우 상태(즉, "0" 상태)로 다시 세트된다. 어드레스 시퀀서(524)가 코어 플래시 메모리 셀들의 어레이(304)의 후속 어드레스로 증가한 후, BIST 제어기(502)는 이 어드레스가 코어 플래시 메모리 셀들의 어레이(304)의 마지막 어드레스를 지났는 지의 여부를 체크한다(도 41의 단계(1148)). 이 어드레스가 코어 플래시 메모리 셀들의 어레이(304)의 마지막 어드레스를 지났으면, BIST 모드는 끝난다. 그렇지 않으면, 어드레스 시퀀서(524)가 코어 플래시 메모리 셀들의 어레이(304)의 마지막 어드레스를 지나는 어드레스에 이를 때 까지, 코어 플래시 메모리 셀들의 어레이(304)의 후속 어드레스들 각각에 대해 도 41의 단계들(1132, 1134, 1136, 1138, 1141, 1142, 1145, 1146 및 1148)이 반복된다.
도 13 및 도 26을 참조하여, 예를 들어 CAM 프로그램 전압 소스(838) 또는 CAM 마지닝 전압 소스(840)로부터의 노드와 같은, 복구 루틴 동안 이용되는 백 엔드 BIST 상태 머신(316)의 노드들 및 특히 도 26의 구성 요소들을 조사하여, 백 엔드 BIST 상태 머신(316)이 도 41의 단계들 동안 기능적인지의 여부를 결정할 수 있다. 도 41의 단계들 동안 복구 루틴 동안 이용되는 도 13의 백 엔드 BIST 상태 머신(316) 및 특히 도 26의 구성 요소들의 노드들을 이와 같이 조사함으로써, 복구 루틴이 BIST 모드 동안 호출될 때 백 엔드 BIST 상태 머신(316)의 기능이 결정된다.
이러한 방식으로, 도 38, 39, 40 및 41의 어떠한 BIST 모드에서도, 백 엔드 BIST 상태 머신(316)은 발생된 매치 출력 MATCHD(이는 코어 플래시 메모리 셀들의 어레이(304)의 기능과 독립적이다)를 이용하기 때문에, 백 엔드 BIST 상태 머신(316)의 기능은 코어 플래시 메모리 셀들의 어레이(304)의 기능과 독립적으로 결정된다. 따라서, BIST 시스템(300)에 의한 코어 플래시 메모리 셀들의 어레이(304)에 대한 테스트의 정확도는 백 엔드 BIST 상태 머신(316)을 이와같이 독립적으로 테스트함으로써 보장된다. 백 엔드 BIST 상태 머신(316)의 기능을 보장하는 이러한 테스트를 이용하여, 코어 플래시 메모리 셀들의 어레이(304)가 BIST 시스템(300)에 의한 테스트 이후 비 기능적인 것으로 간주될 때, 이러한 비 기능성은 코어 플래시 메모리 셀들의 어레이(304) 내의 결함으로부터 비롯되는 것에 의존하고, 백 엔드 BIST 상태 머신(316) 내의 결함으로부터 비롯되는 것에는 의존하지 않는다.
상기 설명은 단지 예로서 한정적인 것으로 의도되지 않는다. 본원에서 개시 또는 예시되는 어떠한 숫자들은 단지 예시적인 것이다. 본 발명은 단지 하기의 청구범위 및 그의 등가에 의해서만 한정된다.
F. BIST 시스템 내의 어드레스 시퀀서
BIST 시스템(300)은 다수의 BIST 모드들을 수행하는바, 각 BIST 모드는 각각의 시퀀스로 플래시 메모리 셀들의 어레이(304)를 통해 시퀀싱한다. 따라서, BIST 시스템(300) 내의 어드레스 시퀀서는 다수의 BIST 모드들 각각에 대한 각 시퀀스에 따라 플래시 메모리 셀들의 어레이(304)를 통해 효율적으로 시퀀싱할 것이 요구된다.
본 발명의 다른 양상에서, 도 42는 그 위에 플래시 메모리 셀들의 어레이(304)가 제조되어 있는 반도체 다이 위에 제조되는 어드레스 시퀀서(1200)의 블록도이다. 이 어드레스 시퀀서(1200)는, 예를 들어 도 13 또는 도 26의 어드레스 시 퀀서(524)에 대해 이용될 수 있다. 도 7 및 도 33을 참조하여, 본 발명의 일 양상에 따르면, 어드레스 시퀀서(1200)는 BIST 시스템(300)의 일부로서 그 위에 플래시 메모리 셀들의 어레이(304)가 제조되어 있는 반도체 다이 위에 제조된다.
도 42를 참조하여, 어드레스 시퀀서(1200)는 어드레스 시퀀서 버퍼들(1202) 및 어드레스 시퀀서 제어 논리(1204)를 포함한다. 어드레스 시퀀서 버퍼들(1202)의 각 버퍼는 단일 데이터 비트를 저장하는바, 데이터 비트들을 저장하는 버퍼들은 전자 공학 분야의 당업자에게 알려져있다. 본 발명의 일 실시예에서, 도 42 및 도 43을 참조하여, 어드레스 시퀀서 버퍼들(1202)은 플래시 메모리 셀들의 어레이(304)의 각 플래시 메모리 셀의 어드레스를 나타내는 20개의 비트들을 제공하는 20개의 버퍼들로 이루어진다.
도 43의 예시적인 실시예를 참조하여, 어드레스 시퀀서 버퍼들(1202)은 코어 플래시 메모리 셀들의 어레이(304)의 플래시 메모리 셀들에 대한 Y-어드레스를 나타내는 제 1 그룹의 6 비트들 A[5:0]을 제공하는 제 1 다수의 6개의 버퍼들(1206)을 포함한다. 플래시 메모리 디바이스 당업자에게 알려져있는 바와 같이, Y-어드레스는 이러한 플래시 메모리 셀이 어떤 비트 라인에 결합되는 지를 나타내는 비트 라인 어드레스이다. 또한, 어드레스 시퀀서 버퍼들(1202)은 코어 플래시 메모리 셀들의 어레이(304)의 플래시 메모리 셀들에 대한 X-어드레스를 나타내는 제 2 그룹의 9 비트들 A[14:6]을 제공하는 제 2 다수의 9개의 버퍼들(1208)을 포함한다. 플래시 메모리 디바이스 당업자에게 알려져있는 바와 같이, X-어드레스는 이러한 플래시 메모리 셀이 어떤 워드 라인에 결합되는 지를 나타내는 워드 라인 어드레스이 다.
또한, 어드레스 시퀀서 버퍼들(1202)은 코어 플래시 메모리 셀들의 어레이(304)의 플래시 메모리 셀들에 대한 섹터 어드레스를 나타내는 제 3 그룹의 3 비트들 A[17:15]을 제공하는 제 3 다수의 3개의 버퍼들(1210)을 포함한다. 플래시 메모리 디바이스 분야의 당업자에게 알려져있는 바와 같이, 플래시 메모리 셀들의 어레이(304)는 다수의 섹터들로 분할되고, 섹터 어드레스는 어떤 섹터가 이러한 플래시 메모리 셀을 포함하는 지를 나타낸다. 마지막으로, 어드레스 시퀀서 버퍼들(1202)은 코어 플래시 메모리 셀들의 어레이(304)의 플래시 메모리 셀들에 대한 리던던시 블럭 어드레스를 나타내는 제 4 그룹의 2 비트들 A[19:18]을 제공하는 제 4 다수의 2개의 버퍼들(1212)을 포함한다. 다수의 섹터들은 리던던시 블럭들로 분류되며, 각 리던던시 블럭은 다수의 섹터들로 이루어진다. 리던던시 블럭 어드레스는 어떤 리던던시 블럭이 이러한 플래시 메모리 셀을 포함하는 지를 나타낸다.
도 42를 참조하여, 어드레스 시퀀서 제어 논리(1204)는 Y/X-어드레스 세트/리셋 논리(1214), Y/X-어드레스 시퀀싱 제어 논리(1216), CAM 시퀀싱 제어 논리(1218), OTP(한번 프로그램가능) 시퀀싱 제어 논리(1220) 및 리던던시 시퀀싱 제어 논리(1222)를 포함한다. 어드레스 시퀀서 제어 논리(1204)는 BIST 인터페이스(312), BIST 프론트 엔드 인터페이스 디코더(314), 백 엔드 BIST 상태 머신(316), 리던던시 CAM 논리(884) 및 어드레스 시퀀서 버퍼들(1202)에 결합되어, 이들로부터 제어 신호들을 입력받는다. BIST 인터페이스(312), BIST 프론트 엔드 인터페이스 디코더(314) 및 백 엔드 BIST 상태 머신(316)은 도 7과 관련하여 본원에서 이미 설명된 구조 그리고/또는 기능과 유사하고, 리던던시 CAM 논리(884)는 도 29와 관련하여 본원에서 이미 설명된 구조 그리고/또는 기능과 유사하다.
도 42를 참조하여, 어드레스 시퀀서 제어 논리(1204)는 현재 BIST 모드에 대해 BIST 인터페이스(312), BIST 프론트 엔드 인터페이스 디코더(314), 백 엔드 BIST 상태 머신(316), 리던던시 CAM 논리(884) 및 어드레스 시퀀서 버퍼들(1202)중 적어도 하나로부터 제어 신호들을 입력받는다. 이후, 어드레스 시퀀서 논리(1204)는 다수의 BIST 모드들 각각에 대해 이러한 제어 신호들에 의존하여 어드레스들의 각 시퀀스를 통해 시퀀싱하도록 어드레스 시퀀서 버퍼들(1202)을 제어한다.
이제, BIST 모드들에 대한 이러한 제어 신호들의 예들 및 대응하는 어드레스들의 시퀀스들에 대해 설명한다. 도 44를 참조하여, Y/X-어드레스 세트/리셋 논리(1214)는 BIST 프론트 엔드 인터페이스 디코더(314)로부터 현재 BIST 모드의 시작을 나타내는 제어 신호를 입력받는다. 이 경우, Y/X-어드레스 세트/리셋 논리(1214)는 YACRST 제어 신호를 표명하여 제 1 다수의 어드레스 시퀀서 버버들(1206)을 리셋시키며, 이에 따라 제 1 그룹의 6 비트들 A[5:0]은 코어 플래시 메모리 셀들의 어레이(304)의 시작 Y-어드레스를 나타낸다. 예를 들어, 제 1 그룹의 6 비트들 A[5:0]이 후속하는 각 Y-어드레스에 대해 1 비트씩 감소될 때, 시작 Y-어드레스는 "111111"과 같이 모두 하이인 6개의 비트들로 이루어질 수 있다.
또한, Y/X-어드레스 세트/리셋 논리(1214)는 XACRST 제어 신호를 표명하여 제 2 다수의 어드레스 시퀀서 버퍼들(1208)을 리셋시키며, 이에 따라 제 2 그룹의 9 비트들 A[14:6]은 현재 BIST 모드의 시작에서 플래시 메모리 셀들의 어레이(304) 의 시작 X-어드레스를 나타낸다. 예를 들어, 제 2 그룹의 9 비트들 A[14:6]이 후속하는 각 X-어드레스에 대해 1 비트씩 감소될 때, 시작 X-어드레스는 "111111111"과 같이 모두 하이인 9개의 비트들로 이루어질 수 있다.
유사하게, Y/X-어드레스 세트/리셋 논리(1214)는 SACRST 제어 신호를 표명하여 제 3 다수의 어드레스 시퀀서 버퍼들(1210)을 리셋시키며, 이에 따라 제 3 그룹의 3 비트들 A[17:15]은 현재 BIST 모드의 시작에서 플래시 메모리 셀들의 어레이(304)의 시작 섹터 어드레스를 나타낸다. 예를 들어, 제 3 그룹의 3 비트들 A[17:15]가 후속하는 각 섹터 어드레스에 대해 1 비트씩 감소될 때, 시작 섹터 어드레스는 "111"과 같인 모두 하이인 3개의 비트들로 이루어질 수 있다.
또한, Y/X-어드레스 세트/리셋 논리(1214)는 RBACRST 제어 신호를 표명하여 제 4 다수의 어드레스 시퀀서 버퍼들(1212)을 리셋시키며, 이에 따라 제 4 그룹의 2 비트들 A[19:18]은 현재 BIST 모드의 시작에서 플래시 메모리 셀들의 어레이(304)의 시작 리던던시 블럭 어드레스를 나타낸다. 예를 들어, 제 4 그룹의 2 비트들 A[19:18]이 후속하는 각 리던던시 블럭 어드레스에 대해 1 비트씩 감소될 때, 시작 리던던시 블럭 어드레스는 "11"과 같이 모두 하이인 2개의 비트들로 이루어질 수 있다.
도 45를 참조하여, 본 발명의 다른 실시예에서, X-어드레스에 대한 제 2 다수의 어드레스 시퀀서 버퍼들(1208)은 제 1 X-어드레스 디코더(1230) 및 제 2 X-어드레스 디코더(1232)에 결합된다. 제 2 다수의 어드레스 시퀀서 버퍼들(1208)로부터의 제 2 그룹의 9 비트들은 X-어드레스 디코더들(1230 및 1232)에 결합되며, 이 디코더들은 이러한 어드레스 비트들을 디코드하여 플래시 메모리 셀들의 어레이의 워드라인을 선택한다. 이러한 어드레스 디코더들은 플래시 메모리 디바이스 분야의 당업자에게 알려져있다. 본 발명의 일 실시예에서, X-어드레스 디코더들(1230 및 1232)의 레이아웃의 효율성을 위해, 제 2 X-어드레스 디코더(1232)는 그 위에 플래시 메모리 디바이스들의 어레이가 제조되어 있는 반도체 다이 위에 제 1 X-어드레스 디코더(1230)의 거울 이미지로서 레이아웃된다. 이 경우, Y/X 어드레스 시퀀싱 제어 논리는 플래시 메모리 셀들의 어레이(304)의 워드 라인들의 물리적으로 인접하는 시퀀싱을 달성하기 위해 제 2 그룹의 비트들의 서브셋 비트들 A[9:6]의 순서를 반전시킨다.
예를 들어, 제 1 X-어드레스 디코더(1230)는 코어 플래시 메모리 셀들의 어레이(304)의 상부로부터 제 1 내지 제 16 워드 라인들을 시퀀싱하기 위해 이러한 비트들의 순서를 반전시키지 않으면서 서브셋 비트들 A[9:6]을 입력한다. 제 2 X-어드레스 디코더(1232)는 제 1 X-어드레스 디코더(1230)의 거울 이미지로서 레이아웃되어 있기 때문에, 비트들의 순서가 반전되지 않으면서 제 2 X-어드레스 디코더(1232)가 서브셋 비트들 A[9:6]을 입력하면, 이 제 2 X-어드레스 디코더(1232)는 코어 플래시 메모리 셀들의 어레이(304)의 하부로부터 제 32 내지 제 17 워드 라인들을 시퀀싱한다. 이 경우, 먼저 제 1 X-어드레스 디코더(1230) 및 이후 제 2 X-어드레스 디코더(1232)에 의한 워드 라인들의 시퀀싱은 물리적으로 인접하지 않는데, 이는 제 1 X-어드레스 디코더(1230)가 제 16 워드 라인을 시퀀싱한 후 제 2 X-어드레스 디코더(1232)는 제 32 워드 라인으로 점프하기 때문이다.
하지만, 서브셋 비트들 A[9:6]의 순서가 반전되지 않은 상태로, 제 1 X-어드레스 디코더(1230)가 플래시 메모리 셀들의 어레이(304)의 상부로부터 제 1 내지 제 16 워드 라인들을 시퀀싱한 후, 제 2 X-어드레스 디코더(1232)가 제 17 내지 제 32 워드 라인들을 시퀀싱하기 때문에, 제 1 X-어드레스 디코더(1230) 및 제 2 X-어드레스 디코더(1232)에 의한 워드 라인들의 시퀀싱은 물리적으로 인접하지 않는다. 인접하는 상위 비트 A[10]은 Y/X 어드레스 시퀀싱 제어 논리(1216)에 결합된다. 이 인접하는 상위 비트 A[10]은, 제 1 X-어드레스 디코더(1230)가 플래시 메모리 셀들의 어레이(304)의 상부로부터 제 1 내지 제 16 워드 라인들을 시퀀싱한 후 토글(toggle)한다. 따라서, 인접하는 상위 비트 A[10]이 토글할 때, Y/X 어드레스 시퀀싱 제어 논리(1216)는 서브셋 비트들 A[9:6]의 순서를 반전시키도록 제 2 다수의 어드레스 시퀀서 버퍼들(1208)을 제어하며, 이에 따라 제 2 X-어드레스 디코더(1232)는 제 17 내지 제 32 워드 라인들을 시퀀싱한다.
도 46을 참조하여, 본 발명의 다른 실시예에서, OTP 시퀀싱 제어 논리(1220)는 BIST 프론트 엔드 인터페이스 디코더(314)로부터 현재 BIST 모드가 OTP 플래시 메모리 셀들을 액세스하기 위한 것임을 나타내는 제어 신호들을 입력받는다. OTP 플래시 메모리 셀들은 플래시 메모리 셀들의 어레이(304)의 일부로서, 이들은 전형적으로, 예를 들어 플래시 메모리 셀들의 어레이(304)를 묘사하는 식별 정보와 같은 정보를 저장하도록 단지 한번 프로그램된다. 사용자는 BIST 인터페이스(312)를 통해 외부 테스트 시스템(318)으로부터 OTP 플래시 메모리 셀들을 액세스한다. 사용자는 이러한 OTP 플래시 메모리 셀들중 하나의 어드레스를 BIST 인터페이스(312) 의 레지스터(1234) 내에 입력한다.
도 46의 예에서, 사용자는 4개의 데이터 비트들 BSRQ[6:3]을 BIST 인터페이스(312)의 레지스터(1234) 내에 입력한다. OTP 시퀀싱 제어 논리(1220)가 BIST 프론트 엔드 인터페이스 디코더(314)로부터 현재 BIST 모드가 OTP 플래시 메모리 셀들을 액세스하기 위한 것임을 나타내는 제어 신호들을 입력받으면, 이 OTP 시퀀싱 제어 논리(1220)는 서브셋 비트들 A[4:1]을 형성하는 제 1 다수의 어드레스 시퀀서 버퍼들(1206)의 서브셋을 BIST 인터페이스(312)의 레지스터(1234)에 결합시키도록 패스 게이트들(1236)을 제어한다. 따라서, BIST 인터페이스(312)의 레지스터(1234)의 4개의 데이터 비트들 BSRQ[6:3]은 제 1 그룹의 비트들 A[5:0]의 서브셋 비트들 A[4:1]을 형성하는 제 1 다수의 어드레스 시퀀서 버퍼들(1206)의 서브셋으로 전송된다. 최상위 비트 A[5] 및 최하위 비트 A[0]은 이 경우 이용되지 않으며, OTP 시퀀싱 제어 논리(1220)는 이러한 비트들 A[5] 및 A[0]에 대한 어드레스 시퀀서 버퍼들을 음의 파워 서플라이(VSS)에 결합시키도록 패스 게이트를 제어한다. 이러한 방식으로, 사용자는 외부 테스트 시스템(318)에 의해 액세스될 OTP 플래시 메모리 셀의 어드레스를 특정한다.
도 42 및 도 47을 참조하여, 리던던시 시퀀싱 제어 논리(1222)는 리던던시 시퀀싱 인에이블 논리(1240) 및 최대 칼럼 어드레스 선택기(1242)를 포함한다. 리던던시 시퀀싱 인에이블 논리(1240)는 BIST 인터페이스(312), BIST 프론트 엔드 인터페이스 디코더(314) 및 리던던시 CAM 논리(884)로부터 제어 신호들을 입력받는 다. 이러한 제어 신호들로부터, 리던던시 시퀀싱 인에이블 논리(1240)는 리던던시 플래시 메모리 셀들이 어드레스 시퀀서 버퍼들(1202)에 의해 시퀀싱될 것인 지의 여부를 결정한다.
도 48을 참조하여, 플래시 메모리 셀들의 어레이(304)는 도 22와 관련하여 본원에서 이미 설명된 바와 같이 코어 플래시 메모리 셀들(780) 및 리던던시 플래시 메모리 셀들(782)로 이루어진다. 코어 플래시 메모리 셀들(780)의 칼럼들을 통해 시퀀싱하는 동안, 코어 플래시 메모리 셀들의 마지막 칼럼(1244)의 마지막 칼럼 어드레스(즉, Y-어드레스)에 도달하면, MAXCA_REG 신호가 표명된다. 리던던시 플래시 메모리 셀들(782)의 칼럼들을 통해 시퀀싱하는 동안, 리던던시 플래시 메모리 셀들의 마지막 칼럼(1246)의 마지막 칼럼 어드레스(즉, Y-어드레스)에 도달하면, TGL01 신호가 표명된다.
리던던시 시퀀싱 인에이블 논리(1240)는 DIAG 신호를 발생시키는바, 이 DIAG 신호는 코어 플래시 메모리 셀들(780) 만이 시퀀싱되고 리던던시 플래시 메모리 셀들(782)은 시퀀싱되지 않을 때에는 논리 하이 상태로 세트되고, 코어 플래시 메모리 셀들(780)과 리던던시 플래시 메모리 셀들(782)이 함께 시퀀싱될 때에는 논리 로우 상태로 세트된다. 리던던시 시퀀싱 인에이블 논리(1240)는 다음의 조건들,
(A) BIST 프론트 엔드 인터페이스 디코더(314)로부터의 제어 신호가 현재 BIST 모드가 코어 플래시 메모리 셀들(780)의 어레이의 대각선을 프로그램하기 위한 것임을 나타낼 때;
(B) BIST 프론트엔드 인터페이스 디코더(314)로부터의 제어 신호가 현재 BIST 모드가 코어 플래시 메모리 셀들(780)의 어레이의 대각선을 소거 검증하기 위한 것임을 나타낼 때;
(C) 리던던시 CAM 논리(884)로부터의 YCE[1] 신호가 논리 하이 상태로 표명되어, 이용가능한 모든 리던던시 플래시 메모리 셀들이 결함있는 코어 플래시 메모리 셀들을 복구하는 데에 이미 이용되었음을 나타낼 때; 그리고
(D) BIST 인터페이스(312)로부터의 제어 신호가 현재 테스트 모드가 BIST 모드 대신 매뉴얼 테스트 모드를 위한 것임을 나타낼 때에, DIAG 신호를 논리 하이 상태로 표명한다.
그렇지 않으면, 시퀀싱 인에이블 논리(1240)는 DIAG 신호를 논리 로우 상태로 표명한다.
최대 칼럼 어드레스 선택기(1242)는 DIAG 신호가 논리 하이 상태로 세트되느냐 로우 상태로 세트되느냐에 의존하여, MAXCA_REG 신호, 또는 AND 조합된 REDADD 신호와 TGL01 신호중 하나로서 MAXCA 신호를 선택한다. 최대 칼럼 어드레스 선택기(1242)는 DIAG 신호가 논리 하이 상태로서 표명될 때에는 MAXCA 신호로서 MAXCA_REG 신호를 선택한다. 한편, 최대 칼럼 어드레스 선택기(1242)는 DIAG 신호가 논리 로우 상태로 표명될 때에는 MAXCA 신호로서 AND 조합된 REDADD 신호와 TGL01 신호를 선택한다.
도 49는 CLK 신호(1250)를 포함하여, 최대 칼럼 어드레스 선택기(1242)에 의해 이용되는 신호들의 타이밍도들이다. 도 48 및 도 49를 참조하여, CLK 신호의 제 1 기간(1251)에서, MAXCA_REG 신호(1252)는, 코어 플래시 메모리 셀들(780)의 마지막 칼럼(1244)의 어드레스가 Y-어드레스에 대한 제 1 다수의 어드레스 시퀀서 버퍼들(1206) 내에 도달할 때 Y/X 어드레스 시퀀싱 제어 논리(1216)에 의해 표명된다. 제 1 기간 이후 CLK 신호(1250)의 제 2 기간의 시작에서, 리던던시 시퀀싱 제어 논리(1222)는 리던던시 플래시 메모리 셀들(782)의 칼럼들을 통해 시퀀싱하도록 Y-어드레스에 대해 제 1 다수의 어드레스 시퀀서 버퍼들(1206)을 제어한다.
본 발명의 일 실시예에서는, 2개의 최하위 비트들 A[1:0]이 리던던시 플래시 메모리 셀들(782)의 칼럼들을 통해 시퀀싱하는 데에 이용된다. 예시적인 플래시 메모리 디바이스에서, 플래시 메모리 셀들의 각 리던던시 블럭은 리던던시 요소들을 액세스하기 위한 16개의 리던던시 I/O(입/출력)들을 갖는다. 이 예에서, 각 리던던시 요소에는 이러한 16개의 리던던시 I/O중 8개가 결합되며, 이에 따라 각 리던던시 블록은 2개의 리던던시 요소들을 갖는다. 또한, 리던던시 플래시 메모리 셀들의 4개의 리던던시 칼럼들이 이러한 I/O 각각과 결합된다. 따라서, 2개의 비트들 A[1:0]이 I/O 각각에 대해 리던던시 플래시 메모리 셀들의 이러한 4개의 리던던시 칼럼들 각각을 통해 시퀀싱하는 데에 이용된다.
이와같이 리던던시 플래시 메모리 셀들(782)의 칼럼들을 시퀀싱하는 동안, REDADD 신호(1254)가 논리 하이 상태로 표명된다. 논리 하이 상태로 표명되는 REDADD는 4개 이상의 상위 비트들 A[5:2]이 토글하는 것을 막는다. 2개의 최하위 비트들 A[1:0]이 리던던시 플래시 메모리 셀들(782)의 칼럼들을 통해 시퀀싱하기 위해 CLK 신호(1250)의 각 기간에 대해 "1 1", "1 0", "0 1" 및 "0 0"을 통해 감소될 때, REDADD는 논리 하이 상태로 표명된다.
도 48 및 도 49를 참조하여, 리던던시 플래시 메모리 셀들(782)의 마지막 칼럼(1246)의 어드레스 "0 0"이 제 1 다수의 어드레스 시퀀서 버퍼들(1206)의 2개의 최하위 비트들 A[1:0]에 의해 시퀀싱된 후, TGL01 신호(1256)가 CLK 신호(1250)의 제 5 기간(1257) 동안 논리 하이 상태로 표명된다. REDADD 신호(1254)는 CLK 신호(1250)의 제 5 기간(1257)의 끝까지 논리 하이 상태로 유지된 다음, 2개의 최하위 비트들 A[1:0]이 다시 "1 1"로 세트되어 REDADD 신호(1254)는 다시 논리 로우 상태로 세트된다.
도 47, 도 48 및 도 49를 참조하여, DIAG 신호가 논리 하이 상태로 표명되면, 최대 칼럼 어드레스 선택기(1242)는 CLK 신호(1250)의 제 1 기간(1251) 동안 이전에 표명된 MAXCA_REG 신호를 MAXCA 신호로 선택한다. 이 경우, 플래시 메모리 셀들(304)의 칼럼들의 처리는 코어 플래시 메모리 셀들(780)의 마지막 칼럼(1244)에서 멈추고, 리던던시 플래시 메모리 셀들(782)의 칼럼들은 처리되지 않는다. 한편, DIAG 신호가 논리 로우 상태로 세트되면, 최대 칼럼 어드레스 선택기(1242)는 AND 조합된 REDADD 신호와 TGL01 신호를 MAXCA 신호로서 선택한다.
도 49에서, 이러한 MAXCA 신호(1258)는 제 1 다수의 어드레스 시퀀서 버퍼들(1206)의 2개의 최하위 비트들 A[1:0]이 리던던시 플래시 메모리 셀들(782)의 칼럼들을 통해 시퀀싱한 이후 CLK 신호의 제 5 기간(1257) 동안 논리 하이 상태로 표명되는 것으로 도시된다. 이 경우, 플래시 메모리 셀들(304)의 칼럼들의 처리는 코어 플래시 메모리 셀들(782)이 마지막 칼럼(1244)에서 멈추지 않음으로써, 리던던시 플래시 메모리 셀들(782)의 칼럼들이 또한 처리된다.
도 50을 참조하여, 본 발명의 다른 실시예에서, Y/X-어드레스 시퀀싱 제어 논리(1216)는 프론트 엔드 인터페이스 디코더(314)로부터, 현재 BIST 모드가 플래시 메모리 셀들의 어레이(304)의 각 섹터에 대한 각각의 WPCAM(기록 보호 콘텐츠 어드레스 가능 메모리)를 테스트하기 위한 것임을 나타내는 제어 신호를 입력받는다. 도 51의 표를 참조하여, 플래시 메모리 셀들(304)의 하나의 예시적인 어레이에서, 플래시 메모리 셀들의 어레이(304)는 플래시 메모리 셀들의 32개의 64Kbyte(킬로 바이트) 섹터들로 분할된다. 또한, 마지막 64Kbyte(킬로 바이트) 섹터는 또한, 32Kbyte(킬로 바이트) 섹터인 서브 섹터 #31, 8Kbyte(킬로 바이트) 섹터인 서브 섹터 #32, 8Kbyte(킬로 바이트) 섹터인 서브 섹터 #33 및 16Kbyte(킬로 바이트) 섹터인 서브 섹터 #34를 포함하는 4개의 보다 작은 서브 섹터들로 분할된다. 섹터 #0, 섹터 #1, 섹터 #2 ... 내지 섹터 #30을 포함하는 31개의 이전의 모든 섹터들은 64Kbyte(킬로 바이트) 섹터이다.
도 50 및 도 51을 참조하여, 시퀀싱 제어 논리(1216)가 프론트 엔드 인터페이스 디코더(314)로부터 현재 BIST 모드가 플래시 메모리 셀들의 어레이(304)의 각 섹터에 대해 각각의 WPCAM을 테스트하기 위한 것임을 나타내는 제어 신호를 입력받으면, 이 시퀀싱 제어 논리(1216)는 제 3, 4 다수의 어드레스 시퀀서 버퍼들(1210 및 1212)의 비트들 A[19:15]의 시퀀싱을 제어한다. 또한, 이 경우, 시퀀싱 제어 논리(1216)는 제 2 다수의 어드레스 시퀀서 버퍼들(1208)의 서브셋 비트들 A[14:12]의 시퀀싱을 제어한다.
도 51의 표의 마지막 칼럼을 참조하여, 섹터 #34, 섹터 #33, 섹터 #32 및 섹터 #31을 액세스하기 위해, 시퀀싱 제어 논리(1216)는 제 2 다수의 어드레스 시퀀서 버퍼들(1208)의 서브셋을 제어하여 3개의 비트들 A[14:12]를 시퀀싱한다. 이러한 3개의 비트들 A[14:12]는 섹터 #34에 대한 "1 1 0"으로부터, 이후 섹터 #33에 대한 "1 0 1", 이후 섹터 #32에 대한 "1 0 0", 이후 섹터 #31에 대한 "0 1 1"로 시퀀싱된다. 이 3개의 비트들 A[14:12]의 시퀀싱 동안 5개의 비트들 A[19:15]는 비트 패턴 "11111"로 유지된다. 3개의 비트들 A[14:12]이 "0 1 1"이 되어 섹터 #31에 이르면, 비트 A[14]는 논리 하이 상태 "1"로부터 논리 로우 상태 "0"으로 토글한다.
이 시점 이후, Y/X-어드레스 시퀀싱 제어 논리(1216)는 섹터 #30, 이후 섹터 #29, 등으로 해서 섹터 #0까지 시퀀싱하기 위해 1비트씩 감소시키도록 제 3, 4 어드레스 시퀀서 버퍼들(1210 및 1212)을 제어한다. 또한, 3개의 비트들 A[14:12]이 "0 1 0"이 되어 섹터 #30이 액세스된 후, 비트 A[14]에 대한 버퍼는 비트 A[15]에 대한 버퍼로부터 연결이 끊기고, Y/X-어드레스 시퀀싱 제어 논리(1216)는 비트 A[12]에 대한 버퍼가 토글하는 것을 막음으로써, 이러한 3개의 비트들 A[14:12]는 나머지 64Kbyte 섹터 #30 내지 섹터 #0에 대해 "0 1 0"으로 고정된다.
이러한 방식으로, 제 2 다수의 어드레스 시퀀서 버퍼들(1208)의 서브셋의 3개의 비트들 A[14:12]는 서브 섹터들 #34, #33, #32 및 #31의 어드레스를 통해 시퀀싱하는 데에 이용된다. 그런 다음, 서브 섹터들 #34, #33, #32 및 #31의 시퀀싱 이후, 3개의 비트들 A[14:12]는 "0 1 0"으로 고정되고, 제 3, 4 어드레스 시퀀서 버퍼들(1210 및 1212)의 5개의 비트들 A[19:15]는 나머지 64Kbyte 섹터 #30 내지 섹터 #0를 통해 시퀀싱하기 위해 1비트씩 감소된다. 따라서, 31개의 64Kbyte 섹터들(#30부터 #0으로 낮아진다)을 통해 시퀀싱하는 동안, 서브 섹터들 #34, #33, #32 및 #31은 제 2 다수의 어드레스 시퀀서 버퍼들(1208)의 서브셋의 3개의 비트들 A[14:12]에 의해 시퀀싱되지 않는다.
도 52를 참조하여, 본 발명의 다른 실시예에서, Y/X-어드레스 시퀀싱 제어 논리(1216)는 프론트 엔드 인터페이스 디코더(314)로부터 현재 BIST 모드가 기준 셀들의 세트를 소거 트리밍하기 위한 것임을 나타내는 제어 신호들을 입력받는다. 도 13을 참조하여, 기준 플래시 메모리 셀들은 기준 회로(514) 내에 위치하며, 비교 회로(516)에 의해 이용되는 기준 전류 레벨(reference current level)을 제공하는바, 이에 대해서는 도 13을 참조하여 본원에서 이미 설명되었다. 본 발명의 일 실시예에서, 기준 플래시 메모리 셀들은 ERV(소거 검증) 기준 셀을 포함하는바, 이는 플래시 메모리 셀이 소거 검증 과정 동안 충분히 소거되었는 지의 여부를 결정하는 데에 이용되는 전류 레벨을 제공한다.
또한, RDV(판독 검증) 기준 셀은 판독 검증 동안 이용되는 전류 레벨을 제공한다. PGMV(프로그램 검증) 기준 셀은 플래시 메모리 셀이 프로그램 검증 과정 동안 충분히 프로그램되었는 지의 여부를 결정하는 데에 이용되는 전류 레벨을 제공한다. 도 51 및 도 53을 참조하여, APDEV1 기준 셀은 보다 작은 서브 섹터들(즉, 도 51의 서브 섹터들 #31, 32, 33 및 34)에 대한 APDEV(소거 검증후 자동 프로그램 디스터브) 과정 동안 이용되는 전류 레벨을 제공한다. 한편, APDEV2 기준 셀은 APDEV1 기준 셀과 함께 규칙적인 64 킬로 바이트 섹터들(즉, 도 51의 섹터들 #0 내지 30)에 대한 APDEV 과정 동안 이용되는 전류 레벨을 제공한다. 이러한 기준 셀들 및 이러한 검증 과정들은 플래시 메모리 디바이스 분야의 당업자에게 알려져있다.
도 52를 참조하여, Y/X-어드레스 시퀀싱 제어 논리(1216)가 프론트 엔드 인터페이스 디코더(314)로부터 현재 BIST 모드가 기준 셀들의 세트를 트리밍하기 위한 것임을 나타내는 제어 신호들을 입력받으면, 이 Y/X-어드레스 시퀀싱 제어 논리(1216)는 2개의 최하위 비트들 A[1:0]을 저장하기 위해 BIST 인터페이스(312)의 레지스터(1234)로부터의 2개의 비트들 BSRQ[10:9]를 제 1 다수의 어드레스 시퀀서 버퍼들(1206)의 서브셋에 결합시키도록 패스 게이트(1260)를 제어한다. 이 경우, BIST 인터페이스(312)의 레지스터(1234)로부터의 2개의 비트들 BSRQ[10:9]는 제 1 다수의 어드레스 시퀀서 버퍼들(1206)의 2개의 최하위 비트들 A[1:0]으로서 전달된다. 사용자는 외부 테스트 시스템(318)을 통해 BIST 인터페이스(312)의 레지스터(1234)의 2개의 비트들 BSRQ[10:9]를 입력한다.
도 53을 참조하여, 제 1 다수의 어드레스 시퀀서 버퍼들(1206)의 3개의 최하위 비트들 A[2:0]은 ERV, RDV, PGMV, APDEV1 및 APDEV2 기준 셀들을 통해 시퀀싱하는 데에 이용된다. 도 53의 표는 ERV, RDV, PGMV, APDEV1 및 APDEV2 기준 셀들 각각의 어드레스를 나타내기 위한 3개의 최하위 비트들 A[2:0]의 비트 패턴들의 예를 나타낸다. 도 53의 예에서, ERV 기준 셀은 3개의 최하위 비트들 A[2:0]에 대해 비트 패턴 "1 1 1"에 의해 표현되고, RDV 기준 셀은 비트 패턴 "1 1 0"에 의해 표현되고, PGMV 기준 셀은 비트 패턴 "1 0 1"에 의해 표현되고, APDEV1 기준 셀은 비트 패턴 "1 0 0"에 의해 표현되고, 그리고 APDEV2 기준 셀은 비트 패턴 "0 1 1"에 의해 표현된다.
도 54는 BIST 모드로서 기준 셀들을 소거 트리밍하기 위한 단계들의 흐름도 이다. 도 15의 흐름도의 단계들과 동일한 참조 부호를 갖는 도 54의 흐름도의 단계들은 도 15와 관련하여 본원에서 이미 설명된 것과 유사하다. 도 54를 참조하여, START 상태 이후(도 54의 단계(552 및 554)), 2개의 최하위 비트들 A[1:0]의 비트 패턴이 체크된다(도 54의 단계(1261)). 사용자가 2개의 최하위 비트들 A[1:0]에 대해 "1 1"의 비트 패턴을 입력하지 않았으면, 프로그래밍 전압들을 이용하여 RDV, PGMV, APDEV1 및 APDEV2 기준 셀들중 하나를 트리밍하기 위한 프로그램 트리밍 루틴에 들어간다(도 54의 단계(1262)). 이러한 프로그램 기준 트리밍 루틴은 플래시 메모리 디바이스 분야의 당업자에게 알려져있다.
한편, 사용자는 도 54의 소거 트리밍 루틴을 호출하기 위해 2개의 최하위 비트들 A[1:0]에 대해 "1 1"의 비트 패턴을 입력한다. 이 경우, 3개의 최하위 비트들 A[2:0]의 비트 패턴은 "1 1 1"이고, ERV 기준 셀을 통한 전류 레벨이 매칭 단계(562)에서 허용가능한 범위 내에 있는 지의 여부를 결정하기 위해 VERIFY1 및 VERIFY2 상태들에 들어간다. ERV 기준 셀을 통한 전류 레벨이 매치 단계(562)에서 허용가능한 범위 내에 있지 않고, 소거 펄스들의 MAX_PC 수가 인가되지 않았으면(도 54의 단계(564)), ERV, RDV, PGMV, APDEV1 및 APDEV2 기준 셀들 모두에 소거 펄스를 인가하기 위해 JUICE 상태에 들어간다(도 54의 단계들(566 및 568)). 이러한 JUICE 상태 동안, 제 1 ARVSS0 전압 레벨을 갖는 제 1 소거 펄스가 ERV, RDV 및 PGMV 기준 셀들에 인가되고, 제 2 ARVSS1 전압 레벨을 갖는 제 2 소거 펄스가 APDEV1 및 APDEV2 기준 셀들에 인가된다.
Pulse_Count가 MAX_PC에 도달하지 않은 상태로 ERV 기준 셀을 통한 전류 레 벨이 허용가능한 범위 내에 있을 때 까지, 또는 ERV 기준 셀을 통한 전류 레벨이 허용가능한 범위 내에 있지 않는 상태로 Pulse_Count가 MAX_PC에 이를 때 까지, Pulse_Count가 증가하면서 단계들(556, 558, 560, 562, 564, 566 및 568)이 반복된다. ERV 기준 셀을 통한 전류 레벨이 허용가능한 범위 내에 있지 않는 상태로 Pulse_Count가 MAX_PC에 이르면, HANG 상태에 들어간다(도 54의 단계들(570 및 572)). 이 경우, 현재 기준 셀은 성공적으로 소거 트리밍되지 않았다.
Pulse_Count가 MAX_PC에 도달하지 않은 상태로 ERV 기준 셀을 통한 전류 레벨이 허용가능한 범위 내에 있으면, 현재 기준 셀은 성공적으로 소거 트리밍되었다. 이 경우, 2개의 최하위 비트들 A[1:0]의 비트 패턴이 다시 체크된다(도 54의 단계(1264)). 이러한 2개의 최하위 비트들 A[1:0]이 "0 1"이면, PGMV 기준 셀은 소거 트리밍되었다. 그렇지 않으면, PGMV 기준 셀에 아직 이르지 못했다.
이 경우, 세번째 최하위 비트들 A[2]의 비트가 체크된다(도 54의 단계(1266)). 도 53을 참조하여, 세 번째 최하위 비트 A[2]가 논리 로우 상태 "0"에 도달하면, 마지막 기준 셀 APDEV2에 이르렀다. 이 경우, ERV, RDV, PGMV, APDEV1 및 APDEV2 기준 셀들 각각에 대한 소거 트리밍이 완료되었다. 따라서, 제 1, 2 어드레스 시퀀서 버퍼들(1202 및 1204)은 시작 Y-어드레스 및 X-어드레스로 리셋되고(도 54의 단계(1268)), 프로그래밍 전압들을 이용하여 ERV 기준 셀을 트리밍하기 위해 프로그램 트리밍 루틴에 들어간다(도 54의 단계(1270)). 이러한 기준 프로그램 트리밍 루틴은 플래시 메모리 디바이스 분야의 당업자에게 알려져있다.
단계(1266)를 다시 참조하여, 세 번째 최하위 비트 A[2]가 논리 로우 상태 "0"에 이르지 않았으면, 3개의 최하위 비트들 A[2:0]은 기준 셀들의 다음 것을 시퀀싱하기 위해 1비트씩 감소된다(도 54의 단계(1272)). ERV 기준 셀이 소거 트리밍된 후, 3개의 최하위 비트들 A[2:0]은 단계들(556, 558, 560, 562, 564, 566 및 568)을 통해 RDV 기준 셀을 소거 트리밍하기 위해 "1 1 0"으로 1비트씩 감소된다. 그런 다음, RDV 기준 셀이 소거 트리밍된 후, 3개의 최하위 비트들 A[2:0]은 단계들(556, 558, 560, 562, 564, 566 및 568)을 통해 PGMV 기준 셀을 소거 트리밍하기 위해 "1 0 1"로 1비트씩 감소된다.
도 54의 단계(1264)를 참조하여, PGMV 기준 셀이 소거 트리밍된 후, 2개의 최하위 비트들 A[1:0]에 대한 비트 패턴은 "0 1"이다. 이 경우, 제 1 ARVSSO 전압 레벨을 갖는 소거 펄스는 ERV, RDV 및 PGMV 기준 셀들로부터 분리되며(도 54의 단계(1274)), 이에 따라 소거 펄스는 어떠한 후속 JUICE 상태 동안 ERV, RDV 및 PGMV 기준 셀들에 더 이상 인가되지 않는다(도 54의 단계들(566 및 568)). ARVSS1 전압 레벨을 갖는 소거 펄스는 APDEV1 및 APDEV2 기준 셀들에만 결합되어 이들에만 인가되며, 이 포인트로부터는 ERV, RDV 및 PGMV 기준 셀들에 어떠한 소거 펄스도 인가되지 않는데, 그 이유는 ERV, RDV 및 PGMV 기준 셀들이 이미 소거 트리밍되었기 때문이다.
3개의 최하위 비트들 A[2:0]이 "1 0 0"으로 감소할 때, APDEV1 기준 셀은 단계들(556, 558, 560, 562, 564, 566 및 568)을 통해 소거 트리밍되는바, 이때 JUICE 상태에서 제 2 소거 펄스 전압 레벨(ARVSS1)은 APDEV1 및 APDEV2 기준 셀들에만 인가된다(도 54의 단계(566 및 568)). APDEV1 기준 셀이 소거 트리밍된 후, 3개의 최하위 비트들 A[2:0]은 단계들(556, 558, 560, 562, 564, 566 및 568)을 통해 APDEV2 기준 셀을 소거 트리밍하기 위해 "0 1 1"로 1비트씩 감소되는바, 이때 JUICE 상태에서 제 2 소거 펄스 전압 레벨(ARVSS1)은 APDEV1 및 APDEV2 기준 셀들에만 인가된다(도 54의 단계(566 및 568)). APDEV2 기준 셀이 소거 트리밍된 후, 세 번째 최하위 비트 A[2]가 단계(1266)에서 체크되고, ERV, RDV, PGMV, APDEV1 및 APDEV2 기준 셀들을 소거 트리밍하기 위한 루틴은 도 54의 단계들(1268 및 1270)로 끝난다.
도 55를 참조하여, 본 발명의 다른 실시예에서, Y/X-어드레스 시퀀싱 제어 논리(1216)는 프론트 엔드 인터페이스 디코더(314)로부터 Xminmax 및 Yminmax 제어 신호들을 입력받는다. Xminmax 제어 신호가 논리 하이 상태로 세트되고 Yminmax 제어 신호가 논리 로우 상태로 세트되면, Y/X-어드레스 시퀀싱 제어 논리(1216)는 워드 라인 어드레스가 증가하기 전에 X-어드레스에 대한 제 2 다수의 어드레스 시퀀서 버퍼들(1208)의 워드 라인 어드레스에 대해 비트 라인 어드레스들 각각을 시퀀싱하도록 Y-어드레스에 대한 제 1 다수의 어드레스 시퀀서 버퍼들(1206)을 제어한다. 이 경우, 플래시 메모리 셀들의 로우(즉, 워드 라인)에 대한 각 비트 라인 어드레스의 플래시 메모리 셀들은 플래시 메모리 셀들의 다음 로우로 시퀀싱하기 전에 처리된다.
한편, Xminmax 제어 신호가 논리 로우 상태로 세트되고, Yminmax 제어 신호가 논리 하이 상태로 세트될 때, Y/X-어드레스 시퀀싱 제어 논리(1216)는 비트 라인 어드레스가 증가하기 전에 Y-어드레스에 대한 제 1 다수의 어드레스 시퀀서 버퍼들(1206)의 비트 라인 어드레스에 대해 워드 라인 어드레스들 각각을 시퀀싱하도록 X-어드레스에 대한 제 2 다수의 어드레스 시퀀서 버퍼들(1208)을 제어한다. 이 경우, 플래시 메모리 셀들의 칼럼(즉, 비트 라인)에 대한 각 워드 라인 어드레스의 플래시 메모리 셀들은 플래시 메모리 셀들의 다음 칼럼으로 시퀀싱하기 전에 처리된다. 이러한 Xminmax 및 Yminmax 제어 신호들은 서로 다른 BIST 모드들에 대해 플래시 메모리 셀들의 로우들 및 칼럼들을 처리하기 위한 순서에 있어서 유연성을 제공한다.
도 56을 참조하여, 본 발명의 다른 실시예에서, Y/X-어드레스 시퀀싱 제어 논리(1216)는 프론트 엔드 인터페이스 디코더(314)로부터 현재 BIST 모드가 플래시 메모리 셀들의 체커 보드 프로그램을 위한 것임을 나타내는 제어 신호를 입력받는다. 이러한 체커 보드 BIST 모드에서는, 플래시 메모리 디바이스 분야의 당업자에게 알려져있는 바와 같이, 플래시 메모리 셀들이 교번적으로 액세스된다. 따라서, Y/X-어드레스 시퀀싱 제어 논리(1216)는 프론트 엔드 인터페이스 디코더(314)로부터 현재 BIST 모드가 체커 보드 BIST 모드를 위한 것임을 나타내는 제어 신호를 입력받으면, Y/X-어드레스 시퀀싱 제어 논리(1216)는 Y-어드레스를 2개씩 증가시키기 위해 단지 5 비트 서브셋 A[5:1] 만을 토글시키도록 제 1 다수의 어드레스 시퀀서 버퍼들(1206)을 제어한다. 따라서, 최하위 비트 A[0]은 플래시 메모리 셀들의 로우에 대해 토글되지 않으며, 이에 따라 체커 보드 BIST 모드에서는 플래시 메모리 셀들의 로우 내의 교번적인 플래시 메모리 셀들이 액세스되어 프로그램된다.
하지만, 최하위 비트 A[0]은 제 2 다수의 어드레스 시퀀서 버퍼들(1208)의 비트들 A[14:6]의 증가시 한번 토글된다. 이러한 최초 한번의 토글링 이후, Y-어드레스를 2씩 증가시키기 위해 나머지 비트들 A[5:1] 만이 토글되기 때문에 최하위 비트 A[0]은 토글되지 않으며, 이에 따라 플래시 메모리 셀들의 로우 내의 교번적인 플래시 메모리 셀들이 액세스된다. X-어드레스에 대한 비트들 A[14:6]의 증가시 최하위 비트 A[0]의 최초 한번의 토글링에 의해, 플래시 메모리 셀들의 칼럼 내의 교번적인 플래시 메모리 셀들이 액세스된다.
도 57을 참조하여, 본 발명의 다른 실시예에서, Y/X-어드레스 시퀀싱 제어 논리(1216)는 프론트 엔드 인터페이스 디코더(314)로부터 현재 BIST 모드가 플래시 메모리 셀들의 대각선 프로그램 또는 소거 검증을 위한 것임을 나타내는 제어 신호를 입력받는다. 이러한 대각선 BIST 모드에서는, 플래시 메모리 셀들의 섹터의 대각선 위치에 있는 플래시 메모리 셀들 만이 액세스된다. 대각선 위치는 동일한 로우 넘버 및 동일한 칼럼 번호를 갖는 위치로서 정의된다. 도 58을 참조하여, 예시적인 섹터(1280)는 제 1 서브 섹터(1282), 제 2 서브 섹터(1284), 제 3 서브 섹터(1286), 제 4 서브 섹터(1288), 제 5 서브 섹터(1290), 제 6 서브 섹터(1292), 제 7 서브 섹터(1294) 및 제 8 서브 섹터(1296)를 포함하는 8개의 서브 섹터들로 이루어진다. 8개의 서브 섹터들(1282, 1284, 1286, 1288, 1290, 1292, 1294 및 1296) 각각은 플래시 메모리 셀들의 같은 수의 로우들 및 칼럼들을 갖기 때문에, 이러한 8개의 각 서브 섹터들은 각각의 대각선 라인들(도 58에서 점선들로 나타내었다)을 갖는다.
도 58의 8개의 서브 섹터들중 하나의 서브 섹터의 대각선 라인을 통한 플래시 메모리 셀들의 어드레스들은 Y-어드레스 비트들 A[5:0] 및 X-어드레스 비트들 A[14:6] 모두의 1비트를 감소시킴으로써 시퀀싱된다. 주목할 사항으로서, Y-어드레스 비트들의 6개의 비트들 A[5:0] 및 6개의 최하위 X-어드레스 비트들 A[11:6]은 모두 대각선 위치에 있는 플래시 메모리 셀들 각각을 액세스하기 위해 1비트씩 감소된다. 이 경우, 3개의 최상위 X-어드레스 비트들 A[14:12]는 8개의 서브 섹터들(1282, 1284, 1286, 1288, 1290, 1292, 1294 및 1296) 각각을 통해 시퀀싱하기 위해 감소된다. 따라서, (도 58에서 각 서브 섹터를 통해 점선들로 나타낸) 플래시 메모리 셀들의 8개의 대각선 라인들(이때, 8개의 서브 섹터들(1282, 1284, 1286, 1288, 1290, 1292, 1294 및 1296) 각각에 대해 1개의 대각선 라인이 있다)이 이러한 방식으로 액세스된다.
이 경우, Y-어드레스의 6 비트들 A[5:0]은 6개의 논리 하이 비트들 "1 1 1 1 1 1"인 시작 Y-어드레스로 초기화되고, X-어드레스들의 9 비트들 A[14:6] 또한 9개의 논리 하이 비트들 "1 1 1 1 1 1 1 1 1"인 시작 X-어드레스로 초기화된다. 매 성공적인 대각선 프로그램 검증 또는 대각선 소거 검증 마다 발생하는 어드레스 시퀀서의 각 클럭 주기에 대해, Y-어드레스 A[5:0]은 1 비트씩 감소되고, X-어드레스 A[14:6] 또한 1 비트씩 감소된다. Y-어드레스의 6 비트들 A[5:0]이 6개의 논리 로우 비트들 "0 0 0 0 0 0"에 이르고, X-어드레스의 6개의 최하위 비트들 A[11:6]이 6개의 논리 로우 비트들 "0 0 0 0 0 0"에 이르면, 도 58의 8개의 서브 섹터들중 하나의 대각선 위치에 있는 모든 플래시 메모리 셀들이 액세스된 것이다.
이 시점에서, 서브 섹터들(1282, 1284, 1286, 1288, 1290, 1292, 1294 및 1296)중 후속하는 다음 서브 섹터의 대각선 위치의 플래시 메모리 셀들을 통해 시퀀싱하기 위해 3개의 최상위 X-어드레스 비트들 A[14:12]를 1 비트씩 감소시킴으로써, Y-어드레스의 6 비트들 A[5:0]은 다시 논리 하이 비트들 "1 1 1 1 1 1"이 되고, X-어드레스의 6개의 최하위 비트들 A[11:6] 또한 논리 하이 비트들 "1 1 1 1 1 1"이 된다. 이러한 방식으로, 각각 "1 1 1 1 1 1" 및 "1 1 1 1 1 1 1 1 1"으로 초기화된 것으로부터, 6개의 Y-어드레스 비트들 A[5:0]이 6개의 논리 로우 비트들 "0 0 0 0 0 0"에 이르고 9개의 X-어드레스 비트들 A[14:6]이 9개의 로우 비트들 "0 0 0 0 0 0 0 0 0"에 이를 때, 그리고 매 성공적인 대각선 프로그램 검증 또는 대각선 소거 검증 마다 발생하는 어드레스 시퀀서의 각 클럭 주기에서 6개의 Y-어드레스 비트들 A[5:0] 및 9개의 X-어드레스 비트들 A[14:6] 각각 모두가 1 비트씩 감소됨에 의해, 8개의 서브 섹터들(1282, 1284, 1286, 1288, 1290, 1292, 1294 및 1296)을 통해 8개의 각 대각선 라인들에 있는 플래시 메모리 셀들이 액세스된다.
이러한 방식으로, 각 BIST 모드에 대해 플래시 메모리 셀들의 어레이(304)의 어드레스들을 통한 시퀀싱이 어드레스 시퀀서 제어 논리(1204) 및 어드레스 시퀀서 버퍼들(1202)에 의해 칩 위에서 수행된다. 따라서, 외부 테스트 시스템(318)으로부터의 핀들이 플래시 메모리 셀들의 어레이(304)의 어드레스들을 통한 이러한 시퀀싱에 이용되지 않는다. 이와같이 외부 테스트 시스템(318)으로부터 최소화된 수의 핀들을 이용함으로써, 핀들의 총수가 제한된 외부 테스트 시스템에 의해 보다 많은 수의 반도체 다이들을 동시에 테스트할 수 있게 되어, 플래시 메모리 디바이스들을 제조하는 동안 쓰루풋을 최대화할 수 있게 된다. 또한, 플래시 메모리 셀들의 어레 이의 어드레스들을 통한 이러한 시퀀싱이 칩 위에서 수행되기 때문에, 이러한 어드레스 시퀀싱을 수행하는 속도가 외부 테스트 시스템의 성능에 의해 제한되지 않는다. 따라서, 플래시 메모리 셀들의 어레이의 어드레스들을 통한 이러한 시퀀싱은 다수의 BIST 모드들에 대해 보다 효율적이 될 수 있다.
상기 설명은 단지 예로서 한정적인 것으로 의도되지 않는다. 예를 들어, 본원에서 개시 또는 예시되는 어떠한 숫자들은 단지 예시적인 것이다. 또한, 도 42 내지 도 58의 개별적인 구성 요소들 각각에 대한 구현은 전자 공학 분야의 당업자에게 알려져있다. 예를 들어, Y/X 어드레스 세트/리셋 논리(1214), Y/X 어드레스 시퀀싱 제어 논리(1216), CAM 시퀀싱 제어 논리(1218), OTP 시퀀싱 제어 논리(1220) 및 리던던시 시퀀싱 제어 논리(1222)를 포함하는 어드레스 시퀀서 제어 논리(1204)는, 전자 공학 분야의 당업자에게 알려져있는 바와 같이, 본원에서 설명되는 기능을 수행하기 위한, 예를 들어 프로그램가능한 논리 디바이스들과 같은 데이터 처리 디바이스들로 구현될 수 있다. 본 발명은 단지 하기의 청구범위 및 그의 등가에 의해서만 한정된다.
G. BIST 시스템의 패턴 발생기
코어 플래시 메모리 셀들의 어레이의 프로그램 상태 및 소거 상태의 요구되는 비트 패턴을 효율적으로 발생시키는 메커니즘이 다수의 BIST 모드들 각각에 대해 요구된다. 종래에, 이러한 요구되는 비트 패턴은 메모리 디바이스에 저장되었다. 하지만, 많은 수의 BIST 모드들로 인해, 다수의 BIST 모드들 각각에 대해 요구되는 대응 비트 패턴을 이와같이 저장하게 되면 메모리 디바이스에 대해 불필요하 게 큰 반도체 다이 영역을 필요로 한다.
도 59를 참조하여, 본 발명의 다른 양상에서, 각 BIST 모드들에 대해 요구되는 비트 패턴을 발생시키는 시스템(1300)은 다수의 패턴 발생 논리 유닛들(1302) 및 패턴 선택기(1304)를 포함한다. 도 13 및 도 59를 참조하여, 도 59의 어드레스 시퀀서(524), 상태 머신(316)의 백 엔드 BIST 제어기(502), 매칭 회로(520) 및 플래시 메모리 셀들의 어레이(304)는 본원에서 이미 설명된 도 13의 유사한 참조 부호의 블럭들과 기능 및 구조에 있어서 유사하다. 또한, 본 발명의 일 실시예에 따르면, 패턴 발생 논리 유닛들(1302) 및 패턴 선택기(1304)가 도 13의 패턴 발생기(518)를 구성한다. 다수의 패턴 발생 논리 유닛들(1302)은 플래시 메모리 셀들의 어레이(304)의 각 플래시 메모리 셀의 각 위치에 대해 어드레스 시퀀서(524)로부터 각각의 X-어드레스 및 각각의 Y-어드레스를 입력받는다. 다수의 패턴 발생 논리 유닛들(1302)은 이러한 X-어드레스 및 Y-어드레스를 이용하여 다수의 비트 패턴들을 발생시킨다. 패턴 선택기(1304)는 백 엔드 BIST 상태 머신(316)의 백 엔드 BIST 제어기(502)로부터의 제어 신호들 및 다수의 패턴 발생 논리 유닛들(1302)로부터의 다수의 비트 패턴들을 입력받는다. 이 패턴 선택기(1304)는 백 엔드 BIST 제어기(502)로부터의 제어 신호들에 따라 다수의 패턴 발생 논리 유닛들(1302)로부터의 다수의 비트 패턴들중 하나를 요구되는 비트 패턴으로서 선택한다.
매칭 회로(520가 패턴 선택기(1304)에 결합되어, 이 패턴 선택기(1304)로부터 요구되는 비트 패턴을 입력받는다. 이 매칭 회로(520)는 패턴 선택기(1304)로부터의 요구되는 비트 패턴과 플래시 메모리 셀들의 어레이(304)의 측정된 비트 패턴 을 비교한 다음, 본원에서 이미 설명된 바와 같이 이러한 비교 결과를 현재 BIST 모드의 검증 상태 동안 백 엔드 BIST 제어기(502)에 전송하여 통과 또는 실패 결과를 나타낸다. 본 발명의 일 양상에 따르면, 다수의 패턴 발생 논리 유닛들(1302) 및 패턴 선택기(1304)는 그 위에 플래시 메모리 셀들의 어레이(304)가 제조되어 있는 반도체 다이 위에 제조된다.
도 60을 참조하여, 일 예에서, 패턴 발생 논리 유닛들(1302)은 프로그램 패턴 발생 논리 유닛(1306), 소거 패턴 발생 논리 유닛(1308), 대각선 패턴 발생 논리 유닛(1310) 및 체커 보드 패턴 발생 논리 유닛(1312)을 포함한다. 패턴 발생 논리 유닛들(1306, 1308, 1310 및 1312) 각각은 각각의 출력을 발생시키는바, 이는 플래시 메모리 셀들의 어레이(304)의 각 플래시 메모리 셀의 각 위치에 대응하는 각각의 논리 상태이다. 프로그램 패턴 발생 논리 유닛(1306)은 플래시 메모리 셀들의 어레이(304) 내의 플래시 메모리 셀의 각 위치에 대해 논리 로우 상태(즉, "0" 상태)를 발생시키고, 소거 패턴 발생 논리 유닛(1308)은 플래시 메모리 셀들의 어레이(304) 내의 플래시 메모리 셀의 각 위치에 대해 논리 하이 상태(즉, "1" 상태)를 발생시킨다.
대각선 패턴 발생 논리 유닛(1310)은 플래시 메모리 셀들의 어레이(304)의 각 대각선 위치들에서만 논리 로우 상태(즉, "0" 상태)를 발생시킴으로써 대각선 비트 패턴을 발생시킨다. 이 대각선 패턴 발생 논리 유닛(1310)은 플래시 메모리 셀의 각 위치를 나타내기 위해 어드레스 시퀀서(524)에 의해 발생된 X-어드레스의 6개의 비트들(A11, A10, A9, A8, A7 및 A6) 및 Y-어드레스의 6개의 비트들(A5, A4, A3, A2, A1 및 A0)을 입력받아, 요구되는 대각선 비트 패턴에 따라 플래시 메모리 셀의 각 위치에 대해 각각의 논리 상태를 발생시킨다.
체커 보드 패턴 발생 논리 유닛(1312)은 플래시 메모리 셀들의 어레이(304)의 플래시 메모리 셀들의 어떠한 2개의 인접하는 위치들에 대해 교번적인 논리 로우 상태 및 하이 상태를 발생시킴으로써 체커 보드 비트 패턴을 발생시킨다. 이 체커 보드 패턴 발생 논리 유닛(1312)은 요구되는 체커 보드 비트 패턴에 따라 플래시 메모리 셀의 각 위치에 대해 각각의 논리 상태를 발생시키기 위해 어드레스 시퀀서(524)로부터 X-어드레스의 최하위 비트(A6) 및 Y-어드레스의 최하위 비트(A0)를 입력받는다.
도 61은 제 1 배타적 OR 게이트(1314), 제 2 배타적 OR 게이트(1316), 제 3 배타적 OR 게이트(1318), 제 4 배타적 OR 게이트(1320), 제 5 배타적 OR 게이트(1322), 제 6 배타적 OR 게이트(1324) 및 OR 게이트(1326)를 포함하는 대각선 패턴 발생 논리 유닛(1310)의 예시적인 구현을 나타낸다. 제 1 배타적 OR 게이트(1314)는 입력들로서 X-어드레스의 최하위 비트(A6) 및 Y-어드레스의 최하위 비트(A0)를 갖는다. 제 2 배타적 OR 게이트(1316)는 입력들로서 X-어드레스의 제 2 최하위 비트(A7) 및 Y-어드레스의 제 2 최하위 비트(A1)를 갖는다. 제 3 배타적 OR 게이트(1318)는 입력들로서 X-어드레스의 제 3 최하위 비트(A8) 및 Y-어드레스의 제 3 최하위 비트(A2)를 갖는다.
유사하게, 제 4 배타적 OR 게이트(1320)는 입력들로서 X-어드레스의 제 4 최하위 비트(A9) 및 Y-어드레스의 제 4 최하위 비트(A3)를 갖는다. 제 5 배타적 OR 게이트(1322)는 입력들로서 X-어드레스의 제 5 최하위 비트(A10) 및 Y-어드레스의 제 5 최하위 비트(A4)를 갖는다. 제 6 배타적 OR 게이트(1324)는 입력들로서 X-어드레스의 최상위 비트(A11) 및 Y-어드레스의 최상위 비트(A5)를 갖는다. OR 게이트(1326)는 입력들로서 배타적 OR 게이트들(1314, 1316, 1318, 1320, 1322 및 1324) 각각의 출력들을 갖는다. 따라서, 대각선 패턴 발생 논리 유닛(1310)의 각 출력은 다음과 같이 표현된다:
OUTPUT = (A0 ? A6) + (A1 ? A7) + (A2 ? A8) + (A3 ? A9) + (A4 ? A10) + (A5 ? A11)
여기서, "?" 기호는 배타적 OR 기능을 나타내고, "+" 기호는 OR 기능을 나타낸다.
도 62는 배타적 OR 게이트(1330)를 포함하는 체커 보드 패턴 발생 논리 유닛(1312)의 예시적인 구현을 나타낸다. 도 62의 배타적 OR 게이트(1330)는 입력들로서 X-어드레스의 최하위 비트(A6) 및 Y-어드레스의 최하위 비트(A0)를 갖는다. 따라서, 대각선 패턴 발생 논리 유닛(1310)의 각 출력은 다음과 같이 표현된다:
OUTPUT = (A0 ? A6)
여기서, "?" 기호는 배타적 OR 기능을 나타낸다.
도 63은 플래시 메모리 셀들의 4개의 로우들 ×4개의 칼럼들로 이루어지는 예시적인 플래시 메모리 셀들의 어레이(304)를 나타낸다. 전형적인 플래시 메모리 셀들의 어레이는 플래시 메모리 셀들의 보다 많은 수의 로우들 및 칼럼들을 갖는다. 하지만, 도 63에서는 도시의 명확성을 위해 플래시 메모리 셀들의 4개의 로우 들 ×4개의 칼럼들을 도시하였다. 제 1 로우 및 제 1 칼럼의 플래시 메모리 셀의 위치는 "a1"으로서 지정되고, 제 1 로우 및 제 2 칼럼은 "a2"로서 지정되고, 제 1 로우 및 제 3 칼럼은 "a3"으로서 지정되고, 그리고 제 1 로우 및 제 4 칼럼은 "a4"로서 지정된다. 제 2 로우 및 제 1 칼럼의 플래시 메모리 셀의 위치는 "b1"으로서 지정되고, 제 2 로우 및 제 2 칼럼은 "b2"로서 지정되고, 제 2 로우 및 제 3 칼럼은 "b3"으로서 지정되고, 그리고 제 2 로우 및 제 4 칼럼은 "b4"로서 지정된다. 제 3 로우 및 제 1 칼럼의 플래시 메모리 셀의 위치는 "c1"으로서 지정되고, 제 3 로우 및 제 2 칼럼은 "c2"로서 지정되고, 제 3 로우 및 제 3 칼럼은 "c3"으로서 지정되고, 그리고 제 3 로우 및 제 4 칼럼은 "c4"로서 지정된다. 제 4 로우 및 제 1 칼럼의 플래시 메모리 셀의 위치는 "d1"으로서 지정되고, 제 4 로우 및 제 2 칼럼은 "d2"로서 지정되고, 제 4 로우 및 제 3 칼럼은 "d3"으로서 지정되고, 그리고 제 4 로우 및 제 4 칼럼은 "d4"로서 지정된다.
도 64를 참조하여, 현재 BIST 모드가 플래시 메모리 셀들의 어레이(304)의 각 플래시 메모리 셀을 프로그램하기 위한 것일 때, 요구되는 비트 패턴은 플래시 메모리 셀들의 어레이(304)의 각 위치에 대해 논리 로우 상태 "0"이다. 도 65를 참조하여, 현재 BIST 모드가 플래시 메모리 셀들의 어레이(304)의 각 플래시 메모리 셀을 소거하기 위한 것일 때, 요구되는 비트 패턴은 플래시 메모리 셀들의 어레이(304)의 각 위치에 대해 논리 하이 상태 "1"이다.
도 66을 참조하여, 현재 BIST 모드가 플래시 메모리 셀들의 어레이(304)를 체커 보드 프로그램하기 위한 것일 때, 요구되는 비트 패턴은 플래시 메모리 셀들 의 어레이(304)의 어떠한 2개의 인접하는 플래시 메모리 셀들에 대해 교번적인 논리 로우 상태 및 하이 상태 "0" 및 "1"이다. 도 67을 참조하여, 현재 BIST 모드가 플래시 메모리 셀들의 어레이(304)를 대각선 프로그램하기 위한 것일 때, 요구되는 비트 패턴은 플래시 메모리 셀들의 어레이(304)의 대각선에 위치하는 플래시 메모리 셀들에 대해서만 논리 로우 상태 "0"이다.
도 60 및 도 64를 참조하여, 플래시 메모리 셀들이 어레이(304)의 어떠한 위치에 대해 논리 로우 상태 "0"인 프로그램 패턴 발생 논리 유닛(1306)의 출력은 도 64의 요구되는 비트 패턴을 발생시키기 위해 선택된다. 항상 논리 로우 상태 "0"으로 래치되는 논리 회로는 전자 공학 분야의 당업자에게 알려져있다. 대안적으로, 도 60 및 도 65를 참조하여, 플래시 메모리 셀들의 어레이(304)의 어느 위치에 대해 논리 하이 상태 "1"인 소거 패턴 발생 논리 유닛(1308)의 출력은 도 65의 요구되는 비트 패턴을 발생시키기 위해 선택된다. 항상 논리 하이 상태 "1"로 래치되는논리 회로는 전자 공학 분야의 당업자에게 알려져있다.
도 60, 61 및 67을 참조하여, 대각선 패턴 발생 논리 유닛(1310)의 출력은 도 67의 요구되는 대각선 비트 패턴을 발생시키는 데에 이용된다. 도 68은 도 63의 코어 플래시 메모리 셀들의 어레이의 각 위치에 대한 각각의 X-어드레스 및 Y-어드레스의 예시적인 표를 나타낸다. 주목할 사항으로서, "a1"으로서 지정된 제 1 로우 및 제 1 칼럼에서의 플래시 메모리 셀들의 위치에 대해, X-어드레스의 6개의 비트들(A11, A10, A9, A8, A7 및 A6)은 "1 1 1 1 1 1"이고, Y-어드레스의 6개의 비트들(A5, A4, A3, A2, A1 및 A0)은 "1 1 1 1 1 1"이다. X-어드레스는 플래시 메모리 셀의 칼럼 위치를 나타내고, Y-어드레스는 플래시 메모리 셀의 로우 위치를 나타낸다. 도 68에서, 동일한 로우 내의 어떠한 2개의 인접하는 플래시 메모리 셀들에 대해, X-어드레스는 동일한 로우의 왼쪽에서부터 오른쪽으로 1 비트씩 감소된다. 유사하게, 동일한 칼럼 내의 어떠한 2개의 인접하는 플래시 메모리 셀들에 대해, Y-어드레스는 동일한 칼럼의 상부로부터 바닥으로 1 비트씩 감소된다. 이러한 어드레스 지정을 이용하여, 도 61의 대각선 패턴 발생 논리 유닛(1310)을 구현하게 되면 도 67의 요구되는 대각선 비트 패턴을 발생시킨다.
도 60, 도 62 및 도 66을 참조하여, 체커 보드 패턴 발생 논리 유닛(1312)의 출력은 도 66의 요구되는 체커 보드 비트 패턴을 발생시키는 데에 이용된다. 도 68의 표에 나타낸 어드레스 지정을 이용하여, 도 62의 체커 보드 패턴 발생 논리 유닛(1312)을 구현하게 되면 도 66의 요구되는 체커 보드 비트 패턴을 발생시킨다.
도 69는 도 60의 패턴 발생 논리 유닛들(1306, 1308, 1310 및 1312) 각각에 결합된 멀티플렉서(1336)를 포함하는 패턴 선택기(1304)의 예시적인 구현을 나타낸다. 이 멀티플렉서(1336)는 각 패턴 발생 논리 유닛들(1306, 1308, 1310 및 1312)의 각 출력을 입력받는다. 또한, 이 멀티플렉서(1336)는 백 엔드 BIST 제어기(502)로부터의 "프로그램 검증", "소거 검증", "대각선 검증" 및 "체커 보드 검증" 제어 신호들을 입력받는다.
백 엔드 BIST 제어기(502)는 현재 BIST 모드의 타입에 의존하여 "프로그램 검증", "소거 검증", "대각선 검증" 및 "체커 보드 검증" 제어 신호들중 하나를 표명한다. 현재 BIST 모드가 플래시 메모리 셀들의 어레이(304)의 각 플래시 메모리 셀을 프로그램하기 위한 것이면, BIST 제어기(502)는 "프로그램 검증" 제어 신호를 표명한다. 현재 BIST 모드가 플래시 메모리 셀들의 어레이(304)의 각 플래시 메모리 셀을 소거하기 위한 것이라면, BIST 제어기(502)는 "소거 검증" 제어 신호를 표명한다. 현재 BIST 모드가 플래시 메모리 셀들의 어레이(304)를 체커 보드 프로그램하기 위한 것이면, BIST 제어기(502)는 "체커 보드 검증" 제어 신호를 표명한다. 현재 BIST 모드가 플래시 메모리 셀들의 어레이(304)의 대각선 프로그램하기 위한 것이면, BIST 제어기(502)는 "대각선 검증" 제어 신호를 표명한다.
멀티플렉서(1336)는 패턴 발생 논리 유닛들(1306, 1308, 1310 및 1312)의 각 출력들중 하나를 선택된 출력으로서 선택하여, 플래시 메모리 셀들의 어레이(304)의 플래시 메모리 셀의 각 위치에 대한 요구되는 비트 패턴을 발생시킨다. "프로그램 검증" 제어 신호들이 표명되면, 멀티플렉서(1336)는 플래시 메모리 셀의 위치에 대한 선택된 출력으로서 프로그램 패턴 발생 논리 유닛(1306)으로부터 논리 로우 상태 "0"을 선택한다. "소거 검증" 제어 신호들이 표명되면, 멀티플렉서(1336)는 플래시 메모리 셀의 위치에 대한 선택된 출력으로서 소거 패턴 발생 논리 유닛(1308)으로부터 논리 하이 상태 "1"을 선택한다.
한편, "대각선 검증" 제어 신호가 표명되면, 멀티플렉서(1336)는 플래시 메모리 셀의 위치에 대한 선택된 출력으로서 대각선 패턴 발생 논리 유닛(1310)으로부터 대각선 비트 패턴 출력을 선택한다. 유사하게, "체커 보드 검증" 제어 신호들이 표명되면, 멀티플렉서(1336)는 플래시 메모리 셀의 위치에 대한 선택된 출력으로서 체커 보드 패턴 발생 논리 유닛(1312)로부터 체커 보드 비트 패턴을 선택한 다.
일반적으로, BIST 모드 동안의 VERIFY 상태는 "프로그램 검증", "소거 검증", "대각선 검증" 또는 "체커 보드 검증"중 하나로서 분류될 수 있다. 이러한 방식으로, 플래시 메모리 셀들의 어레이(304)를 온칩 테스트하기 위해 BIST 시스템에 의해 VERIFY 상태 동안 이용되는 요구되는 비트 패턴은, 또한 칩 위에 제조된 패턴 발생 논리 유닛들(1306, 1308, 1310 및 1312)에 의해 발생된다. 패턴 선택기(1304)는 현재 BIST 모드에 의존하여 패턴 발생 논리 유닛들(1306, 1308, 1310 및 1312)중 하나의 적절한 출력을 선택한다. 요구되는 비트 패턴을 발생시키는 이러한 메커니즘은 플래시 메모리 셀들의 어레이(304)를 온칩 테스트하는 동안 다수의 BIST 모드들을 수행하기 위하여 상기 요구되는 비트 패턴들을 저장하는 큰 용량 디바이스를 필요로 하지 않는다.
상기 설명은 단지 예로서 한정적인 것으로 의도되지 않는다. 예를 들어, 본 발명은 보다 많은 수의 요구되는 비트 패턴들을 발생시키기 위해 보다 많은 수의 패턴 발생 논리 유닛들(1306, 1308, 1310 및 1312)에 대해 실행될 수 있다. 또한, 본 발명은 플래시 메모리 셀들의 보다 큰 어레이에 대해 실행될 수 있다. 본원에서 개시 또는 예시되는 어떠한 숫자들은 단지 예시적인 것이다.
H. 효율적인 소거 검증 BIST 모드를 위한 온칩 소거 펄스 카운터
또한, BIST 모드들중 하나는 코어 플래시 메모리 셀들의 어레이의 각 플래시 메모리 셀이 적절하게 소거되었는 지를 테스트하는 소거 검증 BIST 모드이다. 이러한 소거 검증 BIST 모드 동안, 플래시 메모리 셀에 소거 펄스들의 최대수가 인가되 기 전에, 어레이의 각 플래시 메모리 셀은 (플래시 메모리 셀을 통해 흐르는 전류의 양에 의해 지시되는) 적절한 레벨로 소거되어야 한다.
소거 검증 과정은 플래시 메모리 셀에 소거 전압들의 소거 펄스를 인가하는 단계, 및 이후 플래시 메모리 셀에 인가된 전압들을 판독함으로써 플래시 메모리 셀을 통해 흐르는 전류 레벨을 측정하는 단계를 포함한다. 플래시 메모리 셀을 통해 흐르는 전류 레벨은, 소거 검증을 통과하기 위해 (적절하게 소거된 것으로 간주되기 위해서는) 적어도 플래시 메모리 셀에 대한 기준 전류 레벨이 되어야 한다. 플래시 메모리 셀을 통해 흐르는 전류 레벨이 적어도 기준 전류 레벨이 될 때 까지, 플래시 메모리 셀에 소거 전압들의 소거 펄스를 인가하는 것을 반복한다. 하지만, 플래시 메모리 셀이 소거 검증 BIST 모드를 통과하기 위해서는, 최대수의 소거 펄스들이 플래시 메모리 셀에 인가되기 전에, 이 플래시 메모리 셀을 통해 흐르는 전류 레벨이 적어도 기준 전류 레벨이 되어야 한다. 그렇지 않으면, 플래시 메모리 셀은 결함이 있는 것으로 간주된다.
플래시 메모리 디바이스 분야의 당업자에게 알려져있는 바와 같이, 플래시 메모리 셀들의 어레이는 플래시 메모리 셀들의 다수의 섹터들로 분할된다. 도 70은 플래시 메모리 셀들의 4개 로우들 ×4개 칼럼들로 이루어진 예시적인 섹터(1400)를 나타낸다. 플래시 메모리 셀들의 섹터는 전형적으로 훨씬 더 많은 수의 로우들 및 칼럼들을 가질 수 있지만, 도 70의 예시적인 섹터(1400)에 대해서는 도시의 명확성을 위해 4개의 로우들 및 4개의 칼럼들 만을 도시한다.
플래시 메모리 셀을 소거하기 위한 소거 전압들의 소거 펄스가 플래시 메모 리 셀들의 섹터의 모든 플래시 메모리 셀들에 동시에 인가된다. 도 70을 참조하여, 대각선 위치들(즉, 도 70에서 A1, B2, C3 및 D4로 지정된 위치들)에 있는 플래시 메모리 셀들이 먼저 소거 검증된다. 대각선 위치에 있는 플래시 메모리 셀들 각각을 소거 검증하는 동안, 플래시 메모리 셀들의 섹터(1400)의 모든 플래시 메모리 셀들에 소거 펄스가 인가된다.
먼저, 소거 검증을 통과하기 위해 대각선 위치들에 있는 플래시 메모리 셀들 각각에 대해 플래시 메모리 셀들의 섹터(1400)에 인가될 필요가 있는 소거 펄스들의 대각선 총수가 결정된다. 이후, 소거 펄스들의 대각선 총수의 선택된 퍼센티지가 플래시 메모리 셀들의 전체 섹터(1400)를 소거 검증하는 동안 플래시 메모리 셀들의 섹터(1400)에 인가될 수 있는 최대수의 펄스들로서 결정된다. 대각선 위치의 플래시 메모리 셀들이 이 플래시 메모리 셀들의 섹터(1400)에 인가되는 소거 펄스들의 대각선 총수에 의해 소거 검증을 통과한 후, 섹터(1400)가 소거 검증 BIST 모드를 통과하기 위해 소거 펄스들의 대각선 총수의 선택된 퍼센티지가 플래시 메모리 셀들의 섹터(1400)에 또한 인가되기 전에, 전체 섹터(즉, 도 70에서 A1, A2, A3, A4, B1, B2, B3, B4, C1, C2, C3, C4, D1, D2, D3 및 D4로 지정된 위치들에 있는) 각 플래시 메모리 셀들이 소거 검증을 통과해야 한다. 그렇지 않으면, 플래시 메모리 셀들의 섹터(1400)는 소거 검증 BIST 모드에 실패한 것으로 간주된다.
종래에, 외부 테스트 시스템은 소거 검증 테스트 모드 동안 플래시 메모리 셀들의 섹터(1400)에 인가되는 소거 펄스의 수를 추적한다. 하지만, 외부 테스트 시스템에 의해 소거 검증 테스트 모드 동안 플래시 메모리 셀의 섹터(1400)에 인가되는 소거 펄스들의 수를 추적하는 것은 이 외부 테스트 시스템의 용량에 의존하여 느려질 수 있다. 따라서, 소거 검증 BIST 모드 동안 플래시 메모리 셀들의 섹터(1400)에 인가되는 소거 펄스들의 수를 추적하기 위한 효율적인 메커니즘이 필요하다.
도 7 및 도 70을 참조하여, 본 발명의 다른 실시예에서, 소거 검증 BIST 모드 동안 인가되는 소거 펄스들의 수를 추적하기 위한 시스템(1402)은 그 위에 플래시 메모리 셀들의 어레이(304)가 제조되어 있는 반도체 다이 위에 제조된다. 이 시스템(1402)은 소거 펄스 카운터(1404), 클럭 발생기(1406) 및 펄스 카운터 제어기(1408)를 포함하는바, 이들은 모두 도 71에서 점선 내에 도시된다. 펄스 카운터 제어기(1408)는 BIST 인터페이스(312) 및 BIST 상태 머신(316)에 결합된다. 이러한 BIST 인터페이스(312) 및 BIST 상태 머신(316)은 도 7을 참조하여 본원에서 이미 설명되었다.
본 발명의 일 실시예에서, 소거 펄스 카운터(1404)는 클럭 발생기(1406)로부터 발생된 적어도 1개의 펄스에 의해 이진 카운트를 증가시키는 이진 카운터이다. 이러한 이진 카운터들은 전자 공학 분야의 당업자에게 알려져있다. BIST 상태 머신(316)은 소거 펄스가 플래시 메모리 셀들의 섹터(1400)에 인가되었음을 나타내기 위한 제어 신호를 발생시킨다. BIST 상태 머신(316)이 소거 펄스가 JUICE 상태 동안 플래시 메모리 셀들의 섹터(1400)에 인가되었음을 나타내는 제어 신호를 발생시킬 때, 펄스 카운터 제어기(1408)는 2개의 비 중첩 클럭 신호 펄스들, ERCLK1 및 ERCLK2를 발생시키도록 클럭 발생기(1406)를 제어한다. 클럭 신호 펄스들을 발생시 키는 클럭 신호 발생기들은 전자 공학 분야의 당업자에게 알려져있다. 클럭 발생기(1406)가 2개의 비 중첩 클럭 신호 펄스들, ERCLK1 및 ERCLK2를 발생시키면, 소거 펄스 카운터(1404)는 이진 카운트를 증가시킨다. 따라서, 소거 펄스 카운터(1404)는 플래시 메모리 셀들의 섹터(1400)에 인가되는 소거 전압들의 각 소거 펄스에 대한 이진 카운트를 증가시킨다.
도 72를 참조하여, 점선 내에는 펄스 카운터 제어기(1408) 내의 구성 요소들이 도시되는바, 클럭 제어 논리(1412), 리셋 논리(1413), 최대 펄스 카운트 디코더(1414), 재적재 논리(1416), 멀티플렉서(1418), 보수 발생기(complement generator)(1420) 및 다수의 재적재 카운트 값 발생기들을 포함하고, 상기 다수의 재적재 카운트 값 발생기는 2로 나누어지는 재적재 카운트 값 발생기(divide by two reload count value generator)(1422), 4로 나누어지는 재적재 카운트 값 발생기(1424) 및 8로 나누어지는 재적재 카운트 값 발생기(1426)를 포함한다. 도 73은 소거 검증 BIST 모드 동안 인가되는 소거 펄스들의 수를 추적하기 위해 도 72의 시스템이 동작하는 동안 이루어지는 단계들의 흐름도이다.
도 72 및 도 73을 참조하여, 리셋 논리(1413)는 BIST 상태 머신(316)으로부터 소거 검증 BIST 모드의 시작을 나타내는 제어 신호를 입력받는다. 리셋 논리(1413)는 BIST 상태 머신(316)으로부터 소거 검증 BIT 모드의 시작을 나타내는 제어 신호를 수신한 후, 소거 펄스 카운터(1404)를 최초의 0 펄스 카운트로 리셋시킨다(도 73의 단계(1429)). 예를 들어, 소거 펄스 카운터가 6비트 카운터이면, 최초의 0 펄스 카운터는 예를 들어 "0 0 0 0 0 0"이 될 수 있다.
도 70 및 도 72를 참조하여, BIST 상태 머신(316)은 플래시 메모리 셀들의 섹터(1400)에 대해 대각선 위치들(즉, 도 70에서 A1, B2, C3 및 D4로 지정된 위치들)에 있는 각 플래시 메모리 셀들을 제 1 소거 검증함으로써 소거 검증 BIST 모드를 수행한다. 소거 검증 과정은, 플래시 메모리 디바이스 분야의 당업자에게 알려져있는 바와 같이, 플래시 메모리 셀에 소거 전압들의 소거 펄스들을 인가하는 단계 및 플래시 메모리 셀들에 인가된 전압들을 판독함으로써 이 플래시 메모리 셀을 통해 흐르는 전류 레벨을 측정하는 단계를 포함한다. 플래시 메모리 디바이스 분야의 당업자에게 알려져있는 바와 같이, 플래시 메모리 셀을 통해 흐르는 전류 레벨은, 소거 검증을 통과하고 (적절하게 소거된 것으로 간주되기 위해서는) 플래시 메모리 셀에 대해 적어도 기준 전류 레벨이 되어야 한다. 플래시 메모리 셀을 통해 흐르는 전류 레벨이 적어도 기준 전류 레벨이 될 때 까지, 플래시 메모리 셀에 소거 전압들의 소거 펄스들을 반복적으로 인가한다.
플래시 메모리 셀을 소거하기 위한 소거 전압들의 소거 펄스가 플래시 메모리 셀들의 섹터(1400)의 모든 플래시 메모리 셀들에 한번에 인가된다. 대각선 위치에 있는 플래시 메모리 셀들 각각을 소거 검증하는 동안, 소거 펄스는 플래시 메모리 셀들의 섹터(1400)의 모든 플래시 메모리 셀들에 인가된다.
BIST 상태 머신(316)은, 대각선 플래시 메모리 셀들을 소거 검증하는 동안 소거 펄스가 플래시 메모리 셀들의 섹터(1400)의 각 플래시 메모리 셀에 인가될 때 마다 제어 신호를 보낸다. BIST 상태 머신(316)이 대각선 플래시 메모리 셀들을 소거 검증하는 동안 플래시 메모리 셀들의 섹터(1400)의 각 플래시 메모리 셀에 소거 펄스가 인가되었음을 나타내는 제어 신호를 전송할 때 마다, 클럭 제어 논리(1412)는 2개의 비중첩 클럭 신호 펄스들, ERCLK1 및 ERCLK2를 발생시키도록 클럭 발생기(1406)를 제어한다. 클럭 발생기(1406)가 2개의 비중첩 클럭 신호 펄스들, ERCLK1 및 ERCLK2를 발생시킬 때 마다, 소거 펄스 카운터(1404)는 이진 카운트를 증가시킨다. 따라서, 소거 펄스 카운터(1404)는 대각선 플래시 메모리 셀들을 소거 검증하는 동안 플래시 메모리 셀들의 섹터(1400)에 인가되는 소거 전압들의 각 소거 펄스에 대한 이진 카운트를 증가시킨다(도 73의 단계(1430)).
이러한 방식으로, 대각선 검증의 끝에 이르렀을 때 소거 펄스 카운터(1404)는 대각선 플래시 메모리 셀들 각각이 소거 검증을 통과하기 위해 플래시 메모리 셀들의 섹터(1400)에 인가될 필요가 있는 소거 펄스들의 대각선 총수를 카운트한다(도 73의 단계들(1430 및 1434)). 또한, 대각선 검증 동안, 최대 펄스 카운트 디코더(1414)는 소거 펄스 카운터(1404)로부터의 소거 펄스들의 대각선 총수를 나타내는 이진 카운트를 입력하여, 소거 펄스들의 대각선 총수가 최대 펄스 카운트 값(Max_PC)에 이르렀는지(즉, 같은지)의 여부를 결정한다(도 73의 단계(1432)).
도 73의 단계(1434)에서 대각선 검증이 끝나기 전에 소거 펄스들의 대각선 총수가 최대 펄스 카운트 값(Max_PC)에 도달하면(도 73의 단계(1432)), 소거 펄스들의 대각선 총수는 최대 펄스 카운트 값(Max_PC)으로 세트되고, 동작은 도 73의 단계(1438)로 계속된다. 한편, 도 73의 단계(1434)에서 대각선 검증이 끝남으로써 소거 펄스들의 대각선 총수가 최대 펄스 카운트 값(Max_PC)에 도달하지 않으면(도 73의 단계(1432)), 도 73의 흐름도의 단계들은 소거 펄스 카운터(1404)에 의해 카 운트되는 소거 펄스들의 대각선 총수를 가지고 단계(1438)에서 계속된다.
어느 경우이든, 소거 펄스들의 대각선 총수가 결정된 후, 플래시 메모리 셀들의 전체 섹터(1400)는 소거 검증된다. 재적재 논리(1416) 및 최대 펄스 카운트 디코더(1414)는 전체 섹터(즉, 도 70에서 A1, A2, A3, A4, B1, B2, B3, B4, C1, C2, C3, C4, D1, D2, D3 및 D4로 지정된 위치들에 있는) 플래시 메모리 셀들을 소거 검증하기 위해 플래시 메모리 셀들의 섹터(1400)에 인가될 소거 펄스들의 대각선 총수의 선택된 퍼센티지를 입력한다. 소거 펄스들의 대각선 총수의 이러한 선택된 퍼센티지는 BIST 인터페이스(312)를 통해 사용자에 의해 지시된다.
보수 발생기(1420)는 소거 펄스들의 대각선 총수의 이진 비트 패턴을 입력하고 이러한 비트 패턴의 이진 보수를 발생시킨다. 도 73의 단계(1434)에서 대각선 검증이 끝나기 전에 도 73의 단계(1432)에서 소거 펄스들의 대각선 총수가 최대 펄스 카운트 값(Max_PC)에 이른다면, 소거 펄스들의 대각선 총수는 최대 펄스 카운트 값(Max_PC)가 되도록 세트된다. 한편, 도 73의 단계(1434)에서 대각선 검증이 끝남으로써 도 73의 단계(1432)에서 소거 펄스들의 대각선 총수가 최대 펄스 카운트 값(Max_PC)에 이르지 못한다면, 소거 펄스들의 대각선 총수는 소거 펄스 카운터(1404)에 의해 카운트되는 것과 같다. 소거 펄스들의 대각선 총수의 비트 패턴에 대해, 이진 보수는 논리 하이 상태(즉, "1")를 논리 로우 상태(즉, "0")으로 변경시키고 논리 로우 상태(즉, "0")를 논리 하이 상태(즉, "1")를 변경시킴으로써 발생된다. 이러한 보수 발생기는 전자 공학 분야의 당업자에게 알려져있다.
본 발명의 일 실시예에서, 최대 펄스 카운트 값(Max_PC)은 2m-1로 표현되고, 소거 펄스 카운터는 m비트 카운터이다. 예를 들어, 설명의 단순화를 위해, m은 6, 이에 따라 26-1이 되어, Max_PC는 63인 것으로 가정한다. 이 경우, 소거 펄스 카운터(1404)는 6비트 이진 카운터이다.
도 72 및 도 73을 다시 참조하여, 다수의 재적재 카운트 값 발생기들(1422, 1424 및 1426)은 각각의 재적재 카운트 값을 발생시키는바, 이 값은 최대 펄스 카운트 값(Max_PC)에서 소거 펄스들의 대각선 총수의 각각의 퍼센티지를 뺀 것이다. 2로 나누어지는 재적재 카운트 값 발생기(1422)는, 소거 펄스들의 대각선 총수의 보수를 최하위 비트쪽으로 1비트 시프트시키고 최상위 비트에 대해 논리 하이 비트를 부가함으로써, Max_PC에서 소거 펄스들의 대각선 총수의 50%를 뺀 것인 제 1 재적재 카운트 값을 발생시킨다.
또한, 4로 나누어지는 재적재 카운트 값 발생기(1424)는, 소거 펄스들의 대각선 총수의 보수를 최하위 비트쪽으로 2비트 시프트시키고 2개의 최상위 비트들 각각에 대해 논리 하이 비트를 부가함으로써, Max_PC에서 소거 펄스들의 대각선 총수의 25%를 뺀 것인 제 2 재적재 카운트 값을 발생시킨다. 8로 나누어지는 재적재 카운트 값 발생기(1426)는, 소거 펄스들의 대각선 총수의 보수를 최하위 비트쪽으로 3비트 시프트시키고 3개의 최상위 비트들 각각에 대해 논리 하이 비트를 부가함으로써, Max_PC에서 소거 펄스들의 대각선 총수의 12.5%를 뺀 것인 제 3 재적재 카운트 값을 발생시킨다.
예시적인 설명을 위해, Max_PC가 63이며 소거 펄스 카운터(1404)가 6비트 이진 카운터인 경우에 있어서, 소거 펄스들의 대각선 총수는 40이며, 이에 따라 소거 펄스들의 대각선 총수의 이진 비트 패턴은 "1 0 1 0 0 0"인 것으로 가정한다. 이 경우 소거 펄스들의 대각선 총수의 보수는 "0 1 0 1 1 1"이다. 2로 나누어지는 재적재 카운트값 발생기(1422)의 출력은 "1 0 1 0 1 1"인바, 이는 소거 펄스들의 대각선 총수의 보수(즉, 본 예에서는 "0 1 0 1 1 1")를 최하위 비트쪽으로 1비트 시프트시키고 최상위 비트에 대해 논리 하이 비트를 부가함으로써 발생된다. 2로 나누어지는 재적재 카운트 값 발생기(1422)로부터의 제 1 재적재 카운트 값은 43인바, 이는 Max_PC 값(즉, 63)에서 소거 펄스들의 대각선 총수의 50%(즉, 40의 50%인 20)를 뺀 것이다.
유사하게, 4로 나누어지는 재적재 카운트값 발생기(1424)의 출력은 "1 1 0 1 0 1"인바, 이는 소거 펄스들의 대각선 총수의 보수(즉, 본 예에서는 "0 1 0 1 1 1")를 최하위 비트쪽으로 2비트 시프트시키고 2개의 최상위 비트들 각각에 대해 논리 하이 비트를 부가함으로써 발생된다. 4로 나누어지는 재적재 카운트 값 발생기(1424)로부터의 제 2 재적재 카운트 값은 53인바, 이는 Max_PC 값(즉, 63)에서 소거 펄스들의 대각선 총수의 25%(즉, 40의 25%인 10)를 뺀 것이다.
또한, 8로 나누어지는 재적재 카운트값 발생기(1426)의 출력은 "1 1 1 0 1 0"인바, 이는 소거 펄스들의 대각선 총수의 보수(즉, 본 예에서는 "0 1 0 1 1 1")를 최하위 비트쪽으로 3비트 시프트시키고 3개의 최상위 비트들 각각에 대해 논리 하이 비트를 부가함으로써 발생된다. 8로 나누어지는 재적재 카운트 값 발생기 (1426)로부터의 제 3 재적재 카운트 값은 58인바, 이는 Max_PC 값(즉, 63)에서 소거 펄스들의 대각선 총수의 12.5%(즉, 40의 12.5%인 5)를 뺀 것이다.
재적재 논리(1416)는 펄스 카운터(1404) 내에 적재될 선택된 재적재 카운트 값으로서 재적재 카운트 값 발생기들(1422, 1424 및 1426)로부터의 제 1, 2 및 3 재적재 카운트 값들중에서 하나를 선택하도록 멀티플렉서(1418)를 제어한다. 선택된 재적재 카운트 값은 BIST 인터페이스(312)를 통해 사용자에 의해 입력되는 소거 펄스들의 대각선 총수의 선택된 퍼센티지에 의존하여 제 1, 2 및 3 재적재 카운트 값들로부터 하나가 선택된다.
BIST 인터페이스(312)를 통해 사용자에 의해 입력되는 소거 펄스들의 대각선 총수의 선택된 퍼센티지가 재적재 카운트 값 발생기들(1422, 1424 또는 1426)중 하나와 대응하는 각각의 퍼센티지와 같다면, 하나의 재적재 카운트 값 발생기로부터의 재적재 카운트 값이 상기 선택된 재적재 카운트 값이 된다. 예를 들어, BIST 인터페이스(312)를 통해 사용자에 의해 입력되는 소거 펄스들의 대각선 총수의 선택된 퍼센티지가 50%이면, 멀티플렉서(1418)로부터의 선택된 재적재 카운트 값은 2로 나누어지는 재적재 카운트값 발생기(1422)로부터의 제 1 재적재 카운트 값이다. 또는, BIST 인터페이스(312)를 통해 사용자에 의해 입력되는 소거 펄스들의 대각선 총수의 선택된 퍼센티지가 25%이면, 멀티플렉서(1418)로부터의 선택된 재적재 카운트 값은 4로 나누어지는 재적재 카운트값 발생기(1424)로부터의 제 2 재적재 카운트 값이다. 대안적으로, BIST 인터페이스(312)를 통해 사용자에 의해 입력되는 소거 펄스들의 대각선 총수의 선택된 퍼센티지가 12.5%이면, 멀티플렉서(1418)로부터의 선택된 재적재 카운트 값은 8로 나누어지는 재적재 카운트값 발생기(1426)로부터의 제 3 재적재 카운트 값이다.
한편, BIST 인터페이스(312)를 통해 사용자에 의해 입력되는 소거 펄스들의 대각선 총수의 선택된 퍼센티지가 재적재 카운트 값 발생기들(1422, 1424 또는 1426)중 하나와 대응하는 각각의 퍼센티지와 같지 않다면, 선택된 재적재 카운트 값은 사용자에 의해 입력되는 소거 펄스들의 대각선 총수의 선택된 퍼센티지 보다 작은 각각의 퍼센티지에 대응하는 재적재 카운트 값 발생기들(1422, 1424 또는 1426)중 하나로부터 비롯된다. 예를 들어, BIST 인터페이스(312)를 통해 사용자에 의해 입력되는 소거 펄스들의 대각선 총수의 선택된 퍼센티지가 75%이면, 재적재 논리(1416)는 선택된 재적재 카운트 값을 2로 나누어지는 재적재 카운트 값 발생기(1422)로부터의 제 1 재적재 카운트 값 또는 4로 나누어지는 재적재 카운트 값 발생기(1424)로부터의 제 2 재적재 카운트 값중 어느 하나로서 선택하도록 멀티플렉서(1418)를 제어한다.
어느 경우이든, 소거 펄스들의 대각선 총수를 결정한 상태로, 플래시 메모리 셀들의 섹터(1400)의 대각선 플래시 메모리 셀들 각각을 소거 검증한 후, 플래시 메모리 셀들의 전체 섹터(1400)가 소거 검증된다. 플래시 메모리 셀들의 전체 섹터(1400)의 소거 검증을 시작하기 전에, 멀티플렉서로부터 선택된 재적재 카운트 값이 소거 펄스 카운터(1404) 내에 적재된다. 이후, 플래시 메모리 셀들의 전체 섹터(1400)를 소거 검증하기 위해, BIST 상태 머신(316)은 플래시 메모리 셀들의 전체 섹터의 소거 검증 동안 섹터(1400)의 각 플래시 메모리 셀에 소거 펄스가 인가될 때 마다 제어 신호를 보낸다. BIST 상태 머신(316)이 플래시 메모리 셀들의 전체 섹터의 소거 검증 동안 이 플래시 메모리 셀들의 섹터(1400)의 각 플래시 메모리 셀에 소거 펄스가 인가됨을 나타내는 제어 신호를 전송할 때 마다, 클럭 제어 논리(1412)는 2개의 비중첩 클럭 신호 펄스들, ERCLK1 및 ERCLK2를 발생시키도록 클럭 발생기(1406)를 제어한다.
클럭 발생기(1406)가 2개의 비중첩 클럭 신호 펄스들, ERCLK1 및 ERCLK2를 발생시킬 때 마다, 소거 펄스 카운터(1404)는 이진 카운트를 증가시킨다. 따라서, 소거 펄스 카운터(1404)는 플래시 메모리 셀들의 전체 섹터를 소거 검증하는 동안 플래시 메모리 셀들의 섹터(1400)에 인가되는 소거 전압들의 각 소거 펄스에 대해 이진 카운트를 증가시킨다(도 73의 단계(1440)). 하지만, 플래시 메모리 셀들의 전체 섹터(1400)를 소거 검증하기 위해, 소거 펄스 카운터(1404)는 플래시 메모리 셀들의 전체 섹터의 소거 검증을 시작하기 전에 소거 펄스 카운터 내에 적재되었던 선택된 재적재 카운트 값으로부터 증가한다.
플래시 메모리 셀들의 전체 섹터를 소거 검증하는 동안, 최대 펄스 카운트 디코더(1414)는 소거 펄스 카운터(1404)로부터 이진 카운트를 입력받아, 소거 펄스 카운터(1404)에 의해 최대 펄스 카운트(Max_PC)에 이르렀는지의 여부를 결정한다(도 73의 단계(1442)). 소거 펄스 카운터(1404)로부터의 이진 카운트가 최대 펄스 카운트(Max_PC)에 도달하면, 최대 펄스 카운트 디코더(1414)는 소거 펄스 카운터(1404)에 의해 최대 펄스 카운트(Max_PC)에 도달했음을 나타내는 제어 신호를 BIST 상태 머신(316)에 대해 발생시킨다.
플래시 메모리 셀들의 전체 섹터(1400)가 소거 검증을 통과함으로써, 이 섹터(1400)에 인가되는 소거 펄스들의 카운트가 최대 펄스 카운트(Max_PC)에 도달하기 전에 섹터(1400)의 끝에 도달하면(도 73의 단계(1444)), 이 섹터(1400)는 소거 검증 BIST 모드를 통과하고(도 73의 단계(1446)), 소거 검증 BIST 모드는 끝난다. 한편, 소거 펄스 카운터(1404)로부터의 섹터(1400)에 인가되는 소거 펄스들의 카운트가 최대 펄스 카운트(Max_PC)에 도달하면(도 73의 단계(1442)), 최대 펄스 카운트 디코더(1414)는 BIST 인터페이스(312)를 통해 사용자에 의해 입력되는 소거 펄스들의 대각선 총수의 선택된 퍼센티지가 플래시 메모리 셀들의 전체 섹터를 소거 검증하는 동안 섹터(1400)에 인가되었는 지의 여부를 결정한다(도 73의 단계(1452)). BIST 인터페이스(312)를 통해 사용자에 의해 입력되는 소거 펄스들의 대각선 총수의 선택된 퍼센티지가 재적재 카운트 값 발생기들(1422, 1424 또는 1426)중 하나에 대응하는 각각의 퍼센티지와 같다면, BIST 인터페이스(312)를 통해 사용자에 의해 입력되는 소거 펄스들의 대각선 총수의 선택된 퍼센티지가 플래시 메모리 셀들의 전체 섹터를 소거 검증하는 동안 섹터(1400)에 인가되었다.
예를 들어, BIST 인터페이스(312)를 통해 사용자에 의해 입력되는 소거 펄스들의 대각선 총수의 선택된 퍼센티지가 50%이면, 멀티플렉서(1418)로부터의 선택된 재적재 카운트 값은 2로 나누어지는 재적재 카운트 값 발생기(1422)으로부터의 제 1 재적재 카운트 값이다. 따라서, 섹터(1400)에 인가되는 소거 펄스들의 카운트가 소거 펄스 카운터(1404)로부터의 카운트에 의해 지시되는 최대 펄스 카운트(Max_PC)에 도달하는 시간에 의해(도 73의 단계(1442)), 플래시 메모리 셀들의 전 체 섹터를 소거 검증하는 동안 소거 펄스들의 대각선 총수의 50%가 플래시 메모리 셀들의 섹터(1400)에 인가됨으로써, 소거 펄스들의 대각선 총수의 선택된 퍼센티지(즉, 50%)가 섹터(1400)에 인가되었다.
또는, BIST 인터페이스(312)를 통해 사용자에 의해 입력되는 소거 펄스들의 대각선 총수의 선택된 퍼센티지가 25%이면, 멀티플렉서(1418)로부터의 선택된 재적재 카운트 값은 4로 나누어지는 재적재 카운트 값 발생기(1424)으로부터의 제 2 재적재 카운트 값이다. 따라서, 섹터(1400)에 인가되는 소거 펄스들의 카운트가 소거 펄스 카운터(1404)로부터의 카운트에 의해 지시되는 최대 펄스 카운트(Max_PC)에 도달하는 시간에 의해(도 73의 단계(1442)), 플래시 메모리 셀들의 전체 섹터를 소거 검증하는 동안 소거 펄스들의 대각선 총수의 25%가 플래시 메모리 셀들의 섹터(1400)에 인가됨으로써, 소거 펄스들의 대각선 총수의 선택된 퍼센티지(즉, 25%)가 섹터(1400)에 인가되었다.
대안적으로, 예를 들어, BIST 인터페이스(312)를 통해 사용자에 의해 입력되는 소거 펄스들의 대각선 총수의 선택된 퍼센티지가 12.5%이면, 멀티플렉서(1418)로부터의 선택된 재적재 카운트 값은 8로 나누어지는 재적재 카운트 값 발생기(1426)으로부터의 제 3 재적재 카운트 값이다. 따라서, 섹터(1400)에 인가되는 소거 펄스들의 카운트가 소거 펄스 카운터(1404)로부터의 카운트에 의해 지시되는 최대 펄스 카운트(Max_PC)에 도달하는 시간에 의해(도 73의 단계(1442)), 플래시 메모리 셀들의 전체 섹터를 소거 검증하는 동안 소거 펄스들의 대각선 총수의 12.5%가 플래시 메모리 셀들의 섹터(1400)에 인가됨으로써, 소거 펄스들의 대각선 총수 의 선택된 퍼센티지(즉, 12.5%)가 섹터(1400)에 인가되었다.
도 73의 단계(1442)에서 최대 펄스 카운트(Max_PC)에 도달하고, BIST 인터페이스(312)를 통해 사용자에 의해 입력되는 소거 펄스들의 대각선 총수의 선택된 퍼센티지가 플래시 메모리 셀들의 전체 섹터를 소거 검증하는 동안 섹터(1400)에 이미 인가되었으면(도 73의 단계(1452)), 플래시 메모리 셀들의 이 섹터(1400)는 소거 검증 BIST 모드에 실패한 것으로 간주된다(도 73의 단계(1454)). 이 경우, 소거 검증 BIST 모드가 끝나거나, 또는 복구 루틴에 들어갈 수 있다(이에 대해서는 본원에서 이미 설명했다).
한편, 도 73의 단계(1442)에서 최대 펄스 카운트(Max_PC)에 도달하고, BIST 인터페이스(312)를 통해 사용자에 의해 입력되는 소거 펄스들의 대각선 총수의 선택된 퍼센티지가 플래시 메모리 셀들의 전체 섹터를 소거 검증하는 동안 섹터(1400)에 아직 인가되지 않았으면(도 73의 단계(1452)), 최대 펄스 카운트 디코더(1414)는 재적재 논리(1416)에 재적재 제어 신호를 전송하며, 이에 따라 재적재 논리(1416)는 재적재 카운트 값 발생기들(1422, 1424 및 1426)로부터의 재적재 카운트 값들중 다른 값을 선택하도록 멀티플렉서를 제어한다(도 73의 단계(1456)). 이렇게 선택된 다른 재적재 카운트 값은, 플래시 메모리 셀들의 전체 섹터(1400)를 계속해서 소거 검증하기 전에, 소거 펄스 카운터(1404) 내로 적재된다.
재적재 카운트 값 발생기들(1422, 1424 및 1426)로부터의 재적재 카운트 값들중 하나로서 멀티플렉서(1418)에 의해 다른 재적재 카운트 값이 선택됨에 따라, 상기 이전 선택된 재적재 카운트 값의 각 퍼센티지와 상기 선택된 다른 재적재 카 운트 값의 각 퍼센티지는 BIST 인터페이스(312)를 통해 사용자에 의해 입력되는 소거 펄스들의 대각선 총수의 선택된 퍼센티지에 이르도록 더해진다. 예를 들어, BIST 인터페이스(312)를 통해 사용자에 의해 입력되는 소거 펄스들의 대각선 총수의 선택된 퍼센티지가 75%이면, 2로 나누어지는 재적재 카운트 값 발생기(1422)에 대응하는 각 퍼센티지(즉, 50%)와 4로 나누어지는 재적재 카운트 값 발생기(1424)에 대응하는 각 퍼센티지(즉, 25%)를 더하여, BIST 인터페이스(312)를 통해 사용자에 의해 입력되는 소거 펄스들의 대각선 총수의 선택된 퍼센티지(즉, 75%)에 이른다.
이 경우, 도 73의 이전 단계(1438)에서, 2로 나누어지는 재적재 카운트 값 발생기(1422)로부터의 제 1 재적재 카운트 값이 선택된 재적재 카운트 값으로서 멀티플렉서(1418)에 의해 선택되었고, 도 73의 단계(1456)에 이르렀다면, 도 73의 단계(1456)에서의 선택된 다른 재적재 카운트 값은 4로 나누어지는 재적재 카운트 값 발생기(1424)로부터의 제 2 재적재 카운트 값이 된다. 재적재 논리(1416)가 4로 나누어지는 재적재 카운트 값 발생기(1424)로부터의 재적재 카운트 값을 선택하도록 멀티플렉서(1418)를 제어하면, 소거 펄스 카운터는 이 새롭게 선택된 재적 카운트 값을 적재한다.
이후, 도 73의 흐름도는 단계(1440)로 돌아가, 플래시 메모리 셀들의 전체 섹터(1400)의 소거 검증을 계속하기 위해 단계들(1440, 1442, 1444, 1446, 1452, 1454 그리고/또는 1456)이 반복된다. 하지만, 이러한 단계들을 이와같이 반복하는 동안, 소거 펄스 카운터는 새롭게 선택된 재적재 카운트 값(즉, 본 예에서는 4로 나누어지는 재적재 카운트 값 발생기(1424)로부터의 제 2 재적재 카운트 값)으로부터 증가한다. 또한, 이러한 단계들을 반복하는 동안, 플래시 메모리 셀들의 전체 섹터(1400) 각각이 소거 검증을 통과함으로써, 섹터(1400)에 인가되는 소거 펄스들 의 카운트가 최대 펄스 카운트(Max_PC)에 도달하기 전에 섹터(1400)의 끝에 도달하면(도 73의 단계(1444)), 이 섹터(1400)는 소거 검증 BIST 모드를 통과하고(도 73의 단계(1446)), 소거 검증 BIST 모드는 끝난다.
하지만, 도 73의 단계(1442)에서 최대 펄스 카운트(Max_PC)에 도달하면, 최대 펄스 카운트 디코더(1414)는 BIST 인터페이스(312)를 통해 사용자에 의해 입력되는 소거 펄스들의 대각선 총수의 선택된 퍼센티지가 플래시 메모리 셀들의 전체 섹터를 소거 검증하는 동안 이 섹터(1400)에 인가되었는 지의 여부를 결정한다(도 73의 단계(1452)). 소거 펄스들의 대각선 총수의 선택된 퍼센티지가 75%인 이전 예에서, 소거 펄스 카운터(1404)에 의해 이때에 Max_PC 값에 도달하면, 대각선 총수의 선택된 퍼센티지가 섹터(1400)에 인가되었다. 단계들(1440, 1442, 1444, 1446, 1452, 1454 그리고/또는 1456)의 이전 주기 동안, 2로 나누어지는 재적재 카운트 값 발생기(1422)로부터의 제 1 재적재 카운트 값이 소거 펄스 카운터(1404) 내로 적재되고, 소거 펄스들의 대각선 총수의 50%에 이르는 Max_PC 값이 섹터(1400)에 인가된다. 이후, 단계들(1440, 1442, 1444, 1446, 1452, 1454 그리고/또는 1456)의 현재 주기 동안, 4로 나누어지는 재적재 카운트 값 발생기(1424)로부터의 제 2 재적재 카운트 값이 소거 펄스 카운터(1404) 내로 적재되고, 소거 펄스들의 대각선 총수의 25%에 이르는 Max_PC 값이 섹터(1400)에 인가된다. 따라서, 소거 펄스들의 대각선 총수의 총 75%가 섹터(1400)에 인가된다.
이러한 방식으로, 선택된 퍼센티지가 다수의 재적재 카운트 값 발생기들(1422, 1424 및 1426)의 각 퍼센티지들의 결합인 한, 재적재 논리(1416) 및 최대 펄스 카운트 디코더(1414)는 BIST 인터페이스(312)를 통해 사용자에 의해 입력되는 소거 펄스들의 대각선 총수의 어떠한 선택된 퍼센티지를 추적한다. 예를 들어, 다수의 재적재 카운트 값 발생기들(1422, 1424 및 1426)의 각 퍼센티지가 각각 50%, 25% 및 12.5%이기 때문에, BIST 인터페이스(312)를 통해 사용자에 의해 입력되는 선택된 퍼센티지는 75%, 62.5%, 50%, 37.5%, 25% 또는 12.5%중 어느 하나가 될 수 있다. 따라서, 소거 검증 BIST 모드 동안 플래시 메모리 셀들의 섹터(1400)에 인가되는 소거 펄스들의 수를 추적하기 위한 시스템(1402)은 플래시 메모리 셀들의 전체 섹터를 소거 검증하는 동안 인가될 소거 펄스들의 대각선 총수의 다수의 퍼센티지들중 어느 것을 제공함에 있어서 유연성을 준다.
또한, 부가적인 각각의 퍼센티지들은 다수의 재적재 카운트 값 발생기들(1422)의 부가적인 재적재 카운트 값 발생기들에 의해 발생될 수 있다. 특히, 1/16, 1/32, 1/64 등과 같이 1/2n에 의해 표현되는 분수인 어떠한 퍼센티지가 발생되는 것이 유익하며, 여기서 상기 "n"은 0 보다 큰 양의 정수이다. 또한, BIST 인터페이스(312)를 통해 사용자에 의해 입력되는 소거 펄스들의 대각선 총수의 선택된 퍼센티지는 다수의 재적재 카운트 값 발생기들로부터의 재적재 카운트 값들의 어떠한 재적재 수(number of reload)를 갖는 다수의 재적재 카운트 값 발생기들의 각각의 퍼센티지들의 어떠한 결합이 될 수 있다. 예를 들어, 소거 펄스들의 대각선 총수의 선택된 퍼센티지가 75%인 것에 대해, 50% 및 25%의 단지 2개의 재적재들 만을 설명하였다. 하지만, 3개의 재적재들, 또는 4개의 재적재들 등과 같은 다른 선 택된 퍼센티지들이 제공될 수 있다.
또한, 소거 검증 BIST 모드 동안 플래시 메모리 셀들의 섹터(1400)에 인가되는 소거 펄스들의 수를 추적하는 것은 칩 위에서 수행된다. 소거 검증 BIST 모드 동안 플래시 메모리 셀들의 섹터에 인가되는 소거 펄스들의 수를 추적하는 것이 칩 위에서 수행되기 때문에, 소거 검증 BIST 모드를 수행하는 속도는 외부 테스트 시스템의 용량에 의해 제한되지 않는다. 따라서, 소거 검증 BIST 모드 동안 플래시 메모리 셀들의 섹터에 인가되는 소거 펄스들의 수를 추적하는 것이 보다 효율적이 된다.
상기 설명은 단지 예로서 한정적인 것으로 의도되지 않는다. 예를 들어, 본원에서 개시 또는 예시되는 어떠한 숫자들은 단지 예시적인 것이다. 또한, 펄스 카운터 제어기(1408)의 구성 요소들(1412, 1413, 1414, 1416, 1418, 1420, 1422, 1424 및 1426) 각각의 구현은, 하드웨어 논리에 의해서 또는 데이터 프로세서 내의 소프트웨어 프로그래밍에 의해서와 같이, 전자 공학 분야의 당업자에게 알려져있는 다양한 수단에 의해 실시될 수 있다. 본 발명은 단지 하기의 청구범위 및 그의 등가에 의해서만 한정된다.
I. 플래시 메모리 디바이스의 CAM 부분을 테스트하는 동안 칩 위에서의 마지닝 전압의 발생
도 4를 참조하여, 반도체 웨이퍼(220)에는 다수의 반도체 다이들이 제조되어 있다. 도 4의 반도체 웨이퍼(220) 위의 각 정사각형 영역은 1개의 반도체 다이를 나타낸다. 전형적으로, 반도체 웨이퍼 위에는 도시의 명확성을 위해 도 4에 나타낸 것 보다 많은 수의 반도체 다이들이 제조된다. 각 반도체 다이는, 예를 들어 그 위에 제조된 플래시 메모리 디바이스를 갖는다. 도 74를 참조하여, 코어 플래시 메모리 셀들의 어레이로 이루어지는 플래시 메모리 디바이스(1466)를 갖는 예시적인 반도체 다이(1464)가 도시된다. 도 4의 각 반도체 다이는 코어 플래시 메모리 셀들의 어레이(1466)로 이루어지는 각각의 플래시 메모리 디바이스를 갖는다. 플래시 메모리 셀들의 어레이로 이루어지는 이러한 플래시 메모리 디바이스는 전자 공학 분야의 당업자에게 알려져있다.
또한, 반도체 다이(1464)는 코어 플래시 메모리 셀들의 어레이(1466)의 동작을 제어하기 위한 회로를 갖는 주변 영역(1468)을 갖는바, 이는 전자 공학 분야의 당업자에게 알려져있다. CAM(1470)은 전형적으로 주변 영역(1468)의 일부이다. 이 CAM(1470)은 코어 플래시 메모리 셀들의 어레이(1466)의 적절한 동작을 위해 코어 플래시 메모리 셀들의 어레이(1466)에 관한 다양한 타입의 정보를 저장한다. 예를 들어, CAM(1470)은 코어 플래시 메모리 셀들의 어레이(1466) 내의 어떠한 결함 셀을 대체하는 리던던시 셀의 어드레스 정보를 포함한다. 이와같이 주변 영역(1468) 내의 CAM(1470)을 이용하는 것은 전자 공학 분야의 당업자에게 알려져있다.
CAM(1470)은 코어 플래시 메모리 셀들의 어레이(1466)가 동작하는 동안 이용되는 정보를 저장하고 있기 때문에, CAM(1470)이 이용되기 전에 이 CAM(1470)의 신뢰성 및 적절한 동작이 검증된다. 전자 공학 분야의 당업자에게 알려져있는 바와 같이, CAM(1470)은 전형적으로 플래시 메모리 셀들의 어레이로 이루어진다. 예를 들어, CAM(1470)의 각 플래시 메모리 셀은 본원에서 이미 예시되어 설명된 도 1의 디바이스 구조를 갖는다.
CAM(1470)은 코어 플래시 메모리 셀들의 어레이(1466)가 동작하는 동안 이용되는 정보를 저장하기 때문에, CAM(1470)이 이용되기 전에 이 CAM(1470)의 신뢰성 및 적절한 동작이 검증된다. CAM(1470)의 플래시 메모리 셀의 신뢰성 및 적절한 동작을 검증하기 위해, 이 CAM(1470)의 플래시 메모리 셀들이 프로그램 및 소거된다. 그런 다음, 프로그램 또는 소거된 이후 이러한 플래시 메모리 셀에 대해서는 판독 동작이 수행되어, CAM의 플래시 메모리 셀의 적절한 기능을 체크하기 위해 플래시 메모리 셀이 확실하게 적절히 프로그램 또는 소거되게 한다. CAM의 플래시 메모리 셀을 프로그램한 후의 이러한 판독 동작은 플래시 메모리 기술 분야의 당업자에 의해 "프로그램 마지닝(programming margining)"이라 불린다. 유사하게, CAM의 플래시 메모리 셀을 소거한 후의 이러한 판독 동작은 플래시 메모리 기술 분야의 당업자에 의해 "소거 마지닝(erase margining)"이라 불린다.
CAM의 플래시 메모리 셀의 프로그램 마지닝 동안, 약 3.3V의 게이트 소스 전압이 플래시 메모리 셀에 인가되어, 이 플래시 메모리 셀이 여전히 턴오프되어 있는 지의 여부를 테스트한다. 플래시 메모리 셀이 이러한 게이트 소스 전압에 의해 턴온된다면, 이 플래시 메모리 셀은 결함이 있는 것으로 결정된다. 이러한 3.3V의 게이트 소스 전압은 마지닝 전압이라 불린다. CAM의 플래시 메모리 셀의 소거 마지닝 동안, 약 0V의 게이트 소스 전압이 플래시 메모리 셀에 인가되어, 이 플래시 메모리 셀이 턴온되는 지의 여부를 테스트한다. 플래시 메모리 셀이 이러한 게이트 소스 전압에 의해 여전히 턴오프되어 있다면, 이 플래시 메모리 셀은 결함이 있는 것으로 결정된다. 0V의 이러한 게이트 소스 전압은 마지닝 전압이라 불린다.
종래에, 3.3V의 마지닝 전압은 외부 테스트 시스템(1471)의 파워 소스(VCC)로부터 공급된다. 이 외부 테스트 시스템(1471)은 반도체 다이(1464) 위에 제조된 코어 플래시 메모리 셀들의 어레이(1466)를 포함하는 플래시 메모리 디바이스의 적절한 기능을 테스트한다. 이러한 외부 테스트 시스템(1471)의 예로는 캘리포니아 팔로알토에 본사를 두고 있는 애질런트 테크놀로지스사로부터 입수할 수 있는 모델 V3300이 있다. 하지만, 외부 테스트 시스템(1471)으로부터의 이러한 전압(VCC)은 온도와 같은 외부 조건들에 의해 날마다 달라질 수 있다. 또한, 코어 플래시 메모리 셀들(1466)을 테스트하기 위한 서로 다른 모드들에 대해, 외부 테스트 시스템(1471)으로부터의 VCC 전압에 대해 서로 다른 전압 레벨들이 요구될 수 있다. 하지만, 외부 테스트 시스템(1471)으로부터의 VCC 전압의 이러한 변화는 CAM(1470)의 플래시 메모리 셀들의 적절한 기능을 테스트하는 동안 원치않는 변화들을 야기시킨다. 따라서, CAM(1470)의 플래시 메모리 셀들의 적절한 기능의 테스트에 대해 보다 일관된 결과를 얻기 위해서는, 보다 안정한 마지닝 전압 소스가 요구된다.
도 75를 참조하여, 플래시 메모리 기술 분야의 당업자에게 알려져있는 바와 같이, 반도체 다이(1480)는 코어 플래시 메모리 셀들로 이루어진 플래시 메모리 디바이스(1482) 및 주변 영역(1484)을 포함하는바, 이 주변 영역(1484)은 논리 회로 및 CAM(1486)을 갖는다. 또한, 본 발명의 일 양상에 따른 반도체 다이(1480)는 마지닝 전압 발생기(1490)를 갖는 BIST 시스템(300)을 포함한다. 이 BIST 시스템 (300)은 본원에서 이미 설명된 BIST 시스템(300)과 기능 및 구조에 있어서 유사하다.
이 BIST 시스템(300)은 외부 테스트 시스템(1492)에 의해 호출되는 BIST 모드 동안 코어 플래시 메모리 셀들의 어레이(1482)의 적절한 기능을 테스트하는 동안, 반도체 다이(1480) 내에서 코어 플래시 메모리 셀들의 어레이(1482)에 대해 프로그래밍, 소거 및 판독 동작들을 칩 위에서 수행한다. 한편, 외부 테스트 시스템(1492)에 의해 매뉴얼 모드가 호출되면, 이 외부 테스트 시스템(1492)은 코어 플래시 메모리 셀들의 어레이(1482)에 직접적으로 프로그래밍, 소거 및 판독 동작들을 수행한다. BIST 모드 또는 매뉴얼 모드와 함께 이용될 수 있는 이러한 외부 테스트 시스템(1492)의 예로는 캘리포니아 팔로알토에 본사를 두고 있는 애질런트 테크놀로지스사로부터 입수할 수 있는 모델 V3300이 있다.
CAM(1486)은 코어 플래시 메모리 셀들의 어레이(1482)가 동작하는 동안 이용되는 정보를 저장하기 때문에, CAM(1486)의 신뢰성 및 적절한 동작은 CAM(1486)이 이러한 정보를 저장하는 데에 이용되기 전에 검증된다. 전자 공학 분야의 당업자에게 알려져있는 바와 같이, CAM(1486)은 전형적으로 플래시 메모리 셀들의 어레이로 이루어진다. CAM(1486)의 플래시 메모리 셀의 신뢰성 및 적절한 동작을 검증하기 위해, 플래시 메모리 셀들이 프로그램 및 소거된다. 그런 다음, 프로그램 또는 소거된 이후 이러한 플래시 메모리 셀에 대해서는 판독 동작이 수행되어, CAM(1486)의 플래시 메모리 셀의 적절한 기능을 체크하기 위해 플래시 메모리 셀이 확실하게 적절히 프로그램 또는 소거되게 한다. CAM(1486)의 플래시 메모리 셀을 프로그램한 후의 이러한 판독 동작은 플래시 메모리 기술 분야의 당업자에 의해 "프로그램 마지닝"이라 불린다. 유사하게, CAM(1486)의 플래시 메모리 셀을 소거한 후의 이러한 판독 동작은 플래시 메모리 기술 분야의 당업자에 의해 "소거 마지닝"이라 불린다.
CAM(1486)의 플래시 메모리 셀의 프로그램 마지닝 동안, 약 3.3V의 게이트 소스 전압이 플래시 메모리 셀에 인가되어, 이 플래시 메모리 셀이 여전히 턴오프되어 있는 지의 여부를 테스트한다. 플래시 메모리 셀이 이러한 게이트 소스 전압에 의해 턴온된다면, 이 플래시 메모리 셀은 결함이 있는 것으로 결정된다. 이러한 3.3V의 게이트 소스 전압은 프로그램 마지닝 전압이라 불린다. CAM의 플래시 메모리 셀의 소거 마지닝 동안, 약 0V의 게이트 소스 전압이 플래시 메모리 셀에 인가되어, 이 플래시 메모리 셀이 턴온되는 지의 여부를 테스트한다. 플래시 메모리 셀이 이러한 게이트 소스 전압에 의해 여전히 턴오프되어 있다면, 이 플래시 메모리 셀은 결함이 있는 것으로 결정된다. 0V의 이러한 게이트 소스 전압은 소거 마지닝 전압이라 불린다.
도 76은 CAM(1486)의 플래시 메모리 셀을 테스트하는 동안 이용되는 프로그램 마지닝 전압 및 소거 마지닝 전압을 발생시키는 마지닝 전압 발생 장치(1490)의 회로도이다. 도 75 및 도 76을 참조하여, 본 발명의 일 실시예에 따르면, 이러한 마지닝 전압 발생 장치(1490)는 반도체 다이(1480) 위에 BIST 시스템(300)의 일부로서 형성된다. 도 76을 참조하여, 마지닝 전압 발생 장치(1490)는 전압 조정기(1502) 및 고전압 전하 펌프(1503)를 포함하는바, 이들은 (도 76에서 점선 내에 나타낸) VPROG의 전압 레벨을 갖는 고전압 소스를 제공하기 위한 고전압 발생기 (1501)의 일부이다. 전압 조정기(1502) 및 전하 펌프(1503)는 반도체 다이(1480) 위에 제조된다. 비교적 안정한 전압을 발생기키기 위한 이러한 전하 펌프들 및 전압 조정기들은 전자 공학 분야의 당업자에게 알려져있다.
또한, 접지 노드(1504)와 같은 저전압 소스(1504)가 전압 조정기(1502)에 결합된다. VPROG의 고전압 레벨은 접지 노드(1504)를 기준으로 한 것이다. 도 76을 참조하여, 마지닝 전압 발생 장치(1490)는 또한 제 1 트랜지스터로서 PMOSFET(1506) 및 제 2 트랜지스터로서 NMOSFET(1508)을 포함한다. PMOSFET(1506)의 소스는 VPROG 전압을 제공하는 고전압 소스(1501)에 결합되고, NMOSFET(1508)의 소스는 저전압 소스(1504)의 접지 노드에 결합된다.
또한, R1의 저항값을 갖는 제 1 저항(1510)이 PMOSFET(1506)의 드레인과 출력 노드(1512) 사이에 결합되고, R2의 저항값을 갖는 제 2 저항(1514)이 NMOSFET(1508)의 드레인과 출력 노드(1512) 사이에 결합된다. CAM(1486)의 플래시 메모리 셀들을 테스트하는 데에 이용되는 프로그램 또는 소거 마지닝 전압은 출력 노드(1512)에서 발생된다.
마지닝 전압 발생 장치(1490)는 또한 (도 76의 점선 내에) BIST 모드 또는 매뉴얼 모드 동안의 프로그램 또는 소거 마지닝 전압의 발생을 제어하는 논리 회로(1516)를 포함한다. 이 논리 회로(1516)는 전압 레벨 시프터(1518)를 포함한다. 이 전압 레벨 시프터(1518)의 출력(OUTB)은 PMOSFET(1506)의 게이트에 결합된다. 제 1 NOR 게이트(1520)의 출력은 전압 레벨 시프터(1518)의 입력에 결합된다. 제 1 NOR 게이트(1520)는 제 1 입력으로서 제어 신호(ERMARGIN)를 갖고, 제 2 입력으로서 제 2 NOR 게이트(1522)의 출력을 갖는다. 제 2 NOR 게이트(1522)는 제 1 입력으로서 제어 신호(BVERIFY)를 갖고, 제 2 입력으로서 제 1 인버터(1524)의 출력을 갖는다. 제 1 인버터(1524)는 입력으로서 제어 신호(STEST)를 갖는다.
또한, 논리 회로(1516)는 제 3 NOR 게이트(1526) 및 제 2 인버터(1528)를 갖는다. 제 2 인버터(1528)의 출력은 NMOSFET(1508)의 게이트에 결합되고, 제 2 인버터(1528)의 입력은 제 3 NOR 게이트(1526)의 출력에 결합된다. 제 3 NOR 게이트(1526)는 3개의 입력들, 즉 제 3 NOR 게이트(1526)의 제 1 입력에 결합되는 제어 신호(ERMARGIN), 제 3 NOR 게이트(1526)의 제 2 입력에 결합되는 제어 신호(BREPAIR) 및 제 3 NOR 게이트(1526)의 제 3 입력에 결합되는 제어 신호(BWPPGM)를 갖는다.
또한, 마지닝 전압 발생 장치(1490)는 또한 제 1 패스 PMOSFET(1532) 및 제 1 패스 NMOSFET(1534)를 포함하는 제 1 세트의 패스 트랜지스터들을 포함한다. 이러한 제 1 세트의 패스 트랜지스터들(1532 및 1534)의 드레인들은 출력 노드(1512)에 결합되고, 제 1 세트의 패스 트랜지스터들(1532 및 1534)의 소스들은 도 77에 나타낸 CAM(1486)의 제 1 그룹의 플래시 메모리 셀들(1536)의 게이트들에 결합된다.
유사하게, 마지닝 전압 발생 장치(1490)는 또한 제 2 패스 PMOSFET(1538) 및 제 2 패스 NMOSFET(1540)을 포함하는 제 2 세트의 패스 트랜지스터들을 포함한다. 이러한 제 2 세트의 패스 트랜지스터들(1538 및 1540)의 드레인들은 출력 노드 (1512)에 결합되고, 제 2 세트의 패스 트랜지스터들(1538 및 1540)의 소스들은 도 77에 나타낸 CAM(1486)의 제 2 그룹의 플래시 메모리 셀들(1542)의 게이트들에 결합된다.
도 78은 전압 레벨 시프터(1518)의 예시적인 구현을 나타낸다. 이 전압 레벨 시프터(1518)는 제 1 시프트 PMOSFET(1552), 제 2 시프트 PMOSFET(1554), 제 1 시프트 NMOSFET(1556) 및 제 2 시프트 NMOSFET(1558)을 포함한다.
제 1, 2 시프트 PMOSFET들(1552 및 1554)의 소스들은 VPROG의 전압 레벨을 제공하는 고전압 소스(1501)에 함께 결합된다. 제 1 시프트 PMOSFET(1552) 및 제 1 시프트 NMOSFET(1556)의 드레인들은 제 1 출력 노드(OUTB)에 함께 결합된다. 제 2 시프트 PMOSFET(1554) 및 제 2 시프트 NMOSFET(1558)의 드레인들은 제 2 출력 노드(OUT)에 함께 결합된다. 제 1 시프트 PMOSFET(1552)의 게이트는 제 2 출력 노드(OUT)에서 제 2 시프트 PMOSFET(1554) 및 제 2 시프트 NMOSFET(1558)의 드레인들에 결합된다. 제 2 시프트 PMOSFET(1554)의 게이트는 제 1 출력 노드(OUTB)에서 제 1 시프트 PMOSFET(1552) 및 제 1 시프트 NMOSFET(1556)의 드레인들에 결합된다. 제 1 시프트 NMOSFET(1556)의 게이트는 입력 노드(IN)에 결합되고, 제 2 시프트 NMOSFET(1558)의 게이트는 제 3 인버터(1560)를 통해 입력 노드(IN)에 결합된다.
도 79는 도 76의 마지닝 전압 발생 장치(1490)가 동작하는 동안의 전압들의 표이다. 도 75, 도 76 및 도 79를 참조하여, 신호들(ERMARGIN, STEST, BVERIFY, BREPAIR 및 BWPPGM)은 BIST 시스템(300)으로부터 전송되는 제어 신호들이다. 제어 신호(ERMARGIN)는, 소거 마지닝 동작이 CAM(1486) 상에서 수행될 때에는 하이 상태 (즉, "1")로 세트되고, 프로그램 마지닝 동작이 CAM(1486) 상에서 수행될 때에는 로우 상태(즉, "0")로 세트된다. 제어 신호(STEST)는, 외부 테스트 시스템에 의해 BIST 모드가 호출되는 때에는 하이 상태(즉, "1")로 세트되고, 외부 테스트 시스템에 의해 매뉴얼 모드가 호출되는 때에는 로우 상태(즉, "0")로 세트된다.
전형적으로, 제어 신호가 하이(즉, "1")로 세트되면, 이 제어 신호에 대해서는 약 5V가 인가된다. 한편, 제어 신호가 로우(즉, "0")로 세트되면, 이 제어 신호에 대해서는 약 0V가 인가된다.
도 76 및 도 77을 참조하여, 제어 신호(BREPAIR)는 CAM(1486)의 제 1 그룹의 플래시 메모리 셀들(1536)의 기능을 테스트하기 위해 로우(즉, "0")로 세트되고, 제어 신호(BWPPGM)는 CAM(1486)의 제 2 그룹의 플래시 메모리 셀들(1542)의 기능을 테스트하기 위해 로우(즉, "0")로 세트된다. 제어 신호(BVERIFY)를 이용하게 되면, 고전압 소스(1501)로부터의 전압 레벨(VPROG)이 안정화된 후 PMOSFET(1506)이 턴온될 수 있게 된다.
도 80은 BIST 모드가 외부 테스트 시스템(1492)에 의해 호출될 때 출력 노드(1512)에 3.3V의 프로그램 마지닝 전압을 제공하기 위해 도 76의 마지닝 전압 발생 장치(1490)가 동작하는 동안의 전압 레벨들을 나타낸다. 도 79(즉, 도 79에서 "BIST 프로그램 마진"이라 타이틀이 부여된 제 1 칼럼) 및 도 80을 참조하여, BIST 모드가 호출되기 때문에, 제어 신호(STEST)는 하이(즉, "1")로 세트된다. 또한, 프로그램 마지닝 전압에 대해, 제어 신호(ERMARGIN)는 로우(즉, "0")로 세트된다. 본 발명의 일 실시예에서, 도 77의 CAM(1486)의 제 2 그룹의 플래시 메모리 셀들 (1542)에 3.3V의 프로그램 마지닝 전압을 인가하기 위해, BREPAIR 제어 신호는 하이(즉, "1")로 세트되고, BWPPGM 제어 신호는 로우(즉, "0")로 세트된다.
도 78 및 도 80을 참조하여, 이러한 제어 신호들을 이용하여, 전압 레벨 시프터(1518)로의 입력은 하이(즉, "1")로 세트되며, 이에 따라 제 1 출력 노드(OUTB)에서의 전압 레벨은 0V가 된다. PMOSFET(1506)의 게이트가 0V가 되기 때문에, 이 PMOSFET(1506)은 턴온된다. 또한, 이러한 제어 신호들을 이용하여, 5V의 전압 레벨이 NMOSFET(1508)의 게이트에 인가됨에 따라, 이 NMOSFET(1508)이 턴온된다. PMOSFET(1506) 및 NMOSFET(1508)이 턴온되기 때문에, 제 1, 2 저항들(1510 및 1514)은 고전압 소스(1501)와 접지 노드(1504) 사이에 저항 분할기(resistive divider)를 형성한다. 이 경우, 출력 노드(1512)에서의 출력 전압(VOUT)은 다음과 같다:
VOUT=VPROG[R2/(R1+R2)]
본 발명의 일 실시예에서, VPROG=5V이고, R1 및 R2의 값들은 VOUT =3.3V가 되도록 선택된다.
도 81은 외부 테스트 시스템(1492)에 의해 BIST 모드가 호출될 때 출력 노드(1512)에 0V의 소거 마지닝 전압을 제공하기 위해 도 76의 마지닝 전압 발생 장치(1490)가 동작하는 동안의 전압 레벨들을 나타낸다. 도 79(즉, 도 79에서 "BIST 소거 마진"이라 타이틀이 부여되는 제 2 칼럼) 및 도 81을 참조하여, BIST 모드가 호출되기 때문에, 제어 신호(STEST)는 하이(즉, "1")로 세트된다. 또한, 소거 마지닝 전압에 대해, 제어 신호(ERMARGIN)는 하이(즉, "1")로 세트된다. 또한, 도 77의 CAM(1486)의 플래시 메모리 셀들의 제 1, 2 그룹들(1536 및 1542) 모두에게 0V의 소거 마지닝 전압을 인가하기 위해, BREPAIR 제어 신호는 로우(즉, "0")로 세트되고, BWPPGM 제어 신호는 로우(즉, "0")로 세트된다.
도 78 및 도 81을 참조하여, 이러한 제어 신호들을 이용하여, 전압 레벨 시프터(1518)로의 입력은 로우(즉, "0")로 세트되며, 이에 따라 제 1 출력 노드(OUTB)에서의 전압 레벨은 VPROG의 고전압 레벨이 된다. PMOSFET(1506)의 게이트에서의 VPROG의 전압 레벨로 인하여, 이 PMOSFET(1506)은 턴오프된다. 또한, 이러한 제어 신호들을 이용하여, 5V의 전압 레벨이 NMOSFET(1508)의 게이트에 인가됨에 따라, 이 NMOSFET(1508)은 턴온된다. PMOSFET(1506)이 턴오프되고 NMOSFET(1508)이 턴온되기 때문에, 출력 노드(1512)는 로우 전압 소스(1504)의 접지 노드의 출력 전압(VOUT=0)으로 방전된다.
도 82는 외부 테스트 시스템(1492)에 의해 매뉴얼 모드가 호출될 때 출력 노드(1512)에 VPROG의 프로그램 마지닝 전압을 제공하기 위해 도 76의 마지닝 전압 발생 장치(1490)가 동작하는 동안의 전압 레벨들을 나타낸다. 도 79(즉, 도 79에서 "매뉴얼 프로그램 마진"이라 타이틀이 부여된 제 3 칼럼) 및 도 82를 참조하여, 매뉴얼 모드가 호출되기 때문에, 제어 신호(STEST)는 로우(즉, "0")로 세트된다. 또한, 프로그램 마지닝 전압에 대해, 제어 신호(ERMARGIN)는 로우(즉, "0")로 세트된다. 또한, 도 77의 CAM(1486)의 플래시 메모리 셀들의 제 1, 2 그룹들(1536 및 1542) 모두에게 VPROG의 프로그램 마지닝 전압을 인가하기 위해, BREPAIR 제어 신호는 로우(즉, "0")로 세트되고, BWPPGM 제어 신호는 로우(즉, "0")로 세트된다.
도 78 및 도 82를 참조하여, 이러한 제어 신호들을 이용하여, 전압 레벨 시프터(1518)로의 입력은 하이(즉, "1")로 세트되며, 이에 따라 제 1 출력 노드(OUTB)에서의 전압 레벨은 0V가 된다. PMOSFET(1506)의 게이트가 0V의 전압 레벨이 됨에 따라, 이 PMOSFET(1506)은 턴온된다. 또한, 이러한 제어 신호들을 이용하여, NMOSFET(1508)의 게이트에 0V의 전압 레벨이 인가되기 때문에, 이 NMOSFET(1508)은 턴오프된다. PMOSFET(1506)이 턴온되고 NMOSFET(1508)이 턴오프되기 때문에, 출력 노드(1512)는 고전압 소스(1501)의 출력 전압(VOUT=VPROG)으로 충전된다.
도 83은 외부 테스트 시스템(1492)에 의해 매뉴얼 모드가 호출될 때 출력 노드(1512)에 0V의 소거 마지닝 전압을 제공하기 위해 도 76의 마지닝 전압 발생 장치(1490)가 동작하는 동안의 전압 레벨들을 나타낸다. 도 79(즉, 도 79에서 "매뉴얼 소거 마진"이라 타이틀이 부여된 제 4 칼럼) 및 도 83을 참조하여, 매뉴얼 모드가 호출되기 때문에, 제어 신호(STEST)는 로우(즉, "0")로 세트된다. 또한, 소거 마지닝 전압에 대해, 제어 신호(ERMARGIN)는 하이(즉, "1")로 세트된다. 또한, 도 77의 CAM(1486)의 플래시 메모리 셀들의 제 1, 2 그룹들(1536 및 1542) 모두에게 0V의 소거 마지닝 전압을 인가하기 위해, BREPAIR 제어 신호는 로우(즉, "0")로 세트되고, BWPPGM 제어 신호는 로우(즉, "0")로 세트된다.
도 78 및 도 83을 참조하여, 이러한 제어 신호들을 이용하여, 전압 레벨 시 프터(1518)로의 입력은 로우(즉, "0")로 세트되며, 이에 따라 제 1 출력 노드(OUTB)에서의 전압 레벨은 VPROG의 전압 레벨이 된다. PMOSFET(1506)의 게이트가 VPROG의 전압 레벨이 됨에 따라, 이 PMOSFET(1506)은 턴오프된다. 또한, 이러한 제어 신호들을 이용하여, NMOSFET(1508)의 게이트에 5V의 전압 레벨이 인가되기 때문에, 이 NMOSFET(1508)은 턴온된다. PMOSFET(1506)이 턴오프고 NMOSFET(1508)이 턴온되기 때문에, 출력 노드(1512)는 저전압 소스(1504)의 접지 노드의 출력 전압(VOUT=0V)으로 방전된다.
또한, STEST 신호가 요구되는 하이 상태 또는 로우 상태로 세트된 이후 지연되면서, BVERIFY 신호가 요구되는 하이 상태 또는 로우 상태로 세트되기 때문에, PMOSFET은 상기 지연 이후에 턴온 또는 턴오프된다. 본 발명의 일 실시예에 따르면, 이러한 지연에 의해, 고전압 소스(1501)로부터의 VPROG 전압 레벨이 안정화된 후 PMOSFET이 턴온 또는 턴오프된다.
또한, 도 76 및 도 77을 참조하여, 제 1, 2 세트의 패스 트랜지스터들(1532, 1534, 1538 및 1540)의 게이트들에 인가되는 적절한 전압들에 의해, 제 1 세트의 패스 트랜지스터들(1532 및 1534)은 턴온되고, 제 2 세트의 패스 트랜지스터들(1538 및 1540)은 턴오프됨에 따라, 출력 노드(1512)의 출력 전압(VOUT)을 도 77에 나타낸 CAM(1486)의 제 1 그룹의 플래시 메모리 셀들(1536)에 결합한다. 한편, 제 1, 2 세트의 패스 트랜지스터들(1532, 1534, 1538 및 1540)의 게이트들에 인가되는 적절한 전압들에 의해, 제 2 세트의 패스 트랜지스터들(1538 및 1540)은 턴온되고, 제 1 세트의 패스 트랜지스터들(1532 및 1534)은 턴오프됨에 따라, 출력 노드(1512)의 출력 전압(VOUT)을 도 77에 나타낸 CAM(1486)의 제 2 그룹의 플래시 메모리 셀들(1542)에 결합한다. 대안적으로, 제 1, 2 세트의 패스 트랜지스터들(1532, 1534, 1538 및 1540)이 턴온되어, 출력 노드(1512)의 출력 전압(VOUT)을 도 77에 나타낸 CAM(1486)의 제 1, 2 그룹의 플래시 메모리 셀들(1536 및 1542)에 결합한다. 제 1, 2 세트의 패스 트랜지스터들(1532, 1534, 1538 및 1540)의 게이트들에 이러한 적절한 전압들을 인가하는 제어 회로는 전자 공학 분야의 당업자에게 알려져있다.
이러한 방식으로, CAM(1486)의 플래시 메모리 셀들을 테스트하기 위한 프로그램 마지닝 전압 또는 소거 마지닝 전압은 저항 분할기에 의해 칩 위에서 발생하며, 이에 따라 마지닝 전압들은 외부 테스트 시스템에 의해 제공되는 전압(VCC)으로부터 독립적이다. 프로그램 또는 소거 마지닝 전압들은 반도체 다이(1480) 내에서 칩 위에서 발생하는데, 이는 도 76의 마지닝 전압 발생 장치(1490)의 구성 요소들이 반도체 다이(1480)의 반도체 웨이퍼 위에 제조되기 때문이다. 보다 안정한 마지닝 전압들을 이용하게 되면, 플래시 메모리 디바이스의 CAM의 테스트 결과는 반도체 웨이퍼들의 많은 수의 로트(lot)들을 통해 더욱 일관되게 얻어진다. 또한, 외부 테스트 시스템으로부터의 VCC 전압과 상관없이 이와같이 칩 위에서 발생된 마지닝 전압들을 이용하게 되면, 심지어 외부 테스트 시스템으로부터의 VCC 전압의 다양한 레벨들이 코어 플래시 메모리 셀들을 테스트하는 데에 이용될 때 조차도, 플래시 메모리 디바이스의 CAM의 테스트 결과들이 더욱 일관되게 얻어진다.
상기 설명은 단지 예로서 한정적인 것으로 의도되지 않는다. 예를 들어, 본 발명은 PMOSFET(1506) 및 NMOSFET(1508) 이외의 다른 타입의 트랜지스터들에 의해 실행될 수 있다. 또한, 본원에서 설명되는 어떠한 전압 레벨들은 단지 예시적인 것이며, 본원의 설명으로부터 전자 공학 분야의 당업자에게 자명한 바와 같이 본 발명은 다른 전압 레벨들을 이용해서도 실행될 수 있다. 본 발명은 단지 하기의 청구범위 및 그의 등가에 의해서만 한정된다.

Claims (28)

  1. 반도체 기판(302) 위에 제조되는 플래시 메모리 셀들의 어레이(304)를 테스트하는 방법에 있어서,
    상기 반도체 기판(302) 위에 BIST 인터페이스(312) 및 백 엔드 BIST 상태 머신(316)을 제조하는 단계와;
    상기 BIST 인터페이스(312)에 의해, 외부 테스트 시스템(318)으로부터 테스트 모드 데이터의 비트들을 연속적으로 입력하는 단계와, 여기서 상기 테스트 모드 데이터는 복수의 BIST 모드들이 수행될 순서를 나타내고, 각 BIST 모드는 상기 플래시 메모리 셀들의 전체 어레이의 특성을 테스트하기 위한 것이며; 그리고
    상기 백 엔드 BIST 상태 머신(316)에 의해, 상기 플래시 메모리 셀들의 어레이(304)를 온칩 테스트하기 위해 상기 테스트 모드 데이터에 의해 지시되는 순서로 상기 BIST 모드들을 수행하는 단계를 포함하는 것을 특징으로 하는 반도체 기판(302) 위에 제조되는 플래시 메모리 셀들의 어레이(304)를 테스트하는 방법.
  2. 제 1 항에 있어서,
    상기 반도체 기판(302) 위에 프론트 엔드 상태 머신(314)을 제조하는 단계와; 그리고
    상기 프론트 엔드 상태 머신(314)에 의해, 상기 BIST 모드들을 수행하기 위한 순서를 결정하기 위해 상기 테스트 모드 데이터를 디코드하는 단계를 더 포함하는 것을 특징으로 하는 반도체 기판(302) 위에 제조되는 플래시 메모리 셀들의 어레이(304)를 테스트하는 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 반도체 기판(302) 위에 상기 BIST 인터페이스(312)의 시프트 레지스터(320)를 제조하는 단계와;
    1개의 IO 핀을 통해 상기 시프트 레지스터(320) 내에 상기 테스트 모드 데이터를 연속적으로 입력하는 단계와;
    수행되는 각 BIST 모드에 대한 각각의 통과 또는 실패 결과를 상기 시프트 레지스터(320) 내에 저장하는 단계와; 그리고
    상기 1개의 IO 핀을 통해 상기 시프트 레지스터(320)로부터의 상기 각 BIST 모드에 대한 각각의 통과 또는 실패 결과를 순차적으로 상기 외부 테스트 시스템(318)으로 시프트 아웃시키는 단계를 더 포함하는 것을 특징으로 하는 반도체 기판(302) 위에 제조되는 플래시 메모리 셀들의 어레이(304)를 테스트하는 방법.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 반도체 기판(302) 위에 복수의 패턴 발생 논리 유닛들(1302) 및 패턴 선택기(1304)를 제조하는 단계와;
    상기 각 패턴 발생 논리 유닛(1302)에 의해, 플래시 메모리 셀의 위치에 대응하는 각각의 논리 상태를 발생시키는 단계와;
    상기 패턴 선택기(1304)에 의해, 요구되는 비트 패턴을 형성하기 위해 상기 패턴 발생 논리 유닛들(1302)로부터의 각각의 논리 상태들중 하나를 선택하는 단계와; 그리고
    BIST 모드에 대한 검증 상태 동안 상기 요구되는 비트 패턴을 이용하는 단계를 더 포함하는 것을 특징으로 하는 반도체 기판(302) 위에 제조되는 플래시 메모리 셀들의 어레이(304)를 테스트하는 방법.
  5. 제 1 항 또는 제 2 항에 있어서,
    상기 반도체 기판(302) 위에 펄스 카운터(1404) 및 펄스 카운터 제어기(1408)를 제조하는 단계와;
    상기 펄스 카운터 제어기(1408)에 의해, 최대수를 입력하는 단계와; 그리고
    소거 검증 BIST 모드 동안 섹터에 상기 최대수 보다 적은 소거 펄스들이 인가됨으로 인하여, 상기 섹터의 플래시 메모리 셀들이 소거 검증을 통과하지 못하는 경우, 상기 펄스 카운터 제어기(1408)에 의해, 섹터 실패 표시를 출력하는 단계를 더 포함하는 것을 특징으로 하는 반도체 기판(302) 위에 제조되는 플래시 메모리 셀들의 어레이(304)를 테스트하는 방법.
  6. 제 5 항에 있어서,
    상기 섹터의 대각선 위치에 있는 각 플래시 메모리 셀이 소거 검증을 통과할 때 까지, 상기 섹터에 인가되는 소거 펄스들의 대각선 총수를 결정하는 단계와, 여기서 상기 최대수는 상기 소거 펄스들의 상기 대각선 총수의 퍼센티지이며;
    최대 펄스 카운트 값(Max_PC)에서 상기 소거 펄스들의 대각선 총수의 각 퍼센티지를 뺀 것인 적어도 하나의 재적재 카운트 값을 발생시키는 단계와;
    상기 펄스 카운터(1404) 내에 적재될 상기 최대수에 대응하는 상기 적어도 하나의 재적재 카운트 값중 하나를 선택하는 단계와;
    상기 펄스 카운터(1404)에 의해, 상기 섹터의 각 플래시 메모리 셀의 소거 검증 동안 상기 섹터에 인가되는 복수의 소거 펄스들의 수를 상기 선택된 재적재 카운트 값으로부터 카운트하는 단계와; 그리고
    상기 펄스 카운터(1404)가 상기 Max_PC에 이르기 전에 상기 섹터의 각 플래시 메모리 셀이 소거 검증을 통과하지 못한 경우, 상기 펄스 카운터 제어기(1408)에 의해, 상기 섹터 실패 표시를 출력하는 단계를 더 포함하는 것을 특징으로 하는 반도체 기판(302) 위에 제조되는 플래시 메모리 셀들의 어레이(304)를 테스트하는 방법.
  7. 제 1 항 또는 제 2 항에 있어서,
    상기 반도체 기판(302) 위에 복구 제어기(832) 및 복수의 전압 소스들(836)을 제조하는 단계와;
    BIST 모드에서 상기 플래시 메모리 셀들(304)을 테스트하는 동안 결함있는 플래시 메모리 셀들(750)을 검출하는 단계와; 그리고
    상기 복구 제어기(832)에 의해, 상기 결함있는 플래시 메모리 셀들(750)을 대응하는 플래시 메모리 셀들의 리던던시 요소(752)로 대체하기 위해, JUICE 상태에서 각각의 CAM(콘텐츠 어드레스 가능 메모리) 플래시 메모리 셀들에 프로그래밍 전압들을 인가하도록 상기 전압 소스들(836)을 제어하는 단계를 더 포함하는 것을 특징으로 하는 반도체 기판(302) 위에 제조되는 플래시 메모리 셀들의 어레이(304)를 테스트하는 방법.
  8. 제 7 항에 있어서,
    상기 반도체 기판(302) 위에 FAILREP 논리(848)를 제조하는 단계와; 그리고
    상기 FAILREP 논리(848)가 플래시 메모리 셀들의 어떠한 리던던시 요소도 이용할 수 없다고 결정하거나, 또는 상기 결함있는 플래시 메모리 셀들(750)이 이전에 복구되었다고 결정하는 경우, HANG 상태에 들어가는 단계를 더 포함하는 것을 특징으로 하는 반도체 기판(302) 위에 제조되는 플래시 메모리 셀들의 어레이(304)를 테스트하는 방법.
  9. 제 1 항 또는 제 2 항에 있어서,
    상기 반도체 기판(302) 위에, 상기 백 엔드 BIST 상태 머신(316)에 대한 복수의 전압 소스들(504) 및 백 엔드 BIST 제어기(502)를 제조하는 단계와; 그리고
    상기 백 엔드 BIST 제어기(502)에 의해, BIST 모드가 상태들의 제 1 시퀀스를 따르기 위해 상기 플래시 메모리 셀들(304)에 전압들을 인가하기 위한 것인 지의 여부, 또는 상기 BIST 모드가 상태들의 제 2 시퀀스를 따르기 위해 상기 플래시 메모리 셀들(304)의 각각의 논리 상태를 판독하기 위한 것인 지의 여부를 결정하는 단계를 더 포함하는 것을 특징으로 하는 반도체 기판(302) 위에 제조되는 플래시 메모리 셀들의 어레이(304)를 테스트하는 방법.
  10. 제 1 항 또는 제 2 항에 있어서,
    상기 반도체 기판(302) 위에 신호 선택기(966) 및 진단 매칭 논리(964)를 제조하는 단계와;
    상기 진단 매칭 논리(964)에 의해, 상기 백 엔드 BIST 상태 머신(316)으로부터의 제어 변수들에 의존하여, 발생되는 매치 출력을 통과 상태 또는 실패 상태로 세트시키는 단계와;
    상기 신호 선택기(966)에 의해, 진단 모드가 호출되는 경우 BIST 모드의 검증 단계에서 상기 백 엔드 BIST 상태 머신(316)에 의해 이용될 상기 발생된 매치 출력을 선택하는 단계를 더 포함하는 것을 특징으로 하는 반도체 기판(302) 위에 제조되는 플래시 메모리 셀들의 어레이(304)를 테스트하는 방법.
  11. 제 10 항에 있어서,
    상기 진단 모드가 호출된 상기 BIST 모드는 상기 플래시 메모리 셀들(304)을 프로그래밍하고, 독립형 APDE(소거 이후의 자동 프로그램 디스터브)를 이용하여 상기 플래시 메모리 셀들(304)을 소거하거나, 또는 인터리브된 APDE를 이용하여 상기 플래시 메모리 셀들(304)를 소거하는 것중 하나를 위한 것임을 특징으로 하는 반도체 기판(302) 위에 제조되는 플래시 메모리 셀들의 어레이(304)를 테스트하는 방법.
  12. 제 1 항 또는 제 2 항에 있어서,
    상기 반도체 기판(302) 위에 어드레스 시퀀서 제어 논리(1204) 및 어드레스 시퀀서 버퍼들(1202)을 제조하는 단계와;
    상기 버퍼들(1202)에 의해, 상기 플래시 메모리 셀들(304)의 어드레스를 나타내는 복수의 비트들을 발생시키는 단계와; 그리고
    상기 제어 논리(1204)에 의해, 상기 복수의 BIST 모드들 각각에 대한 비트 패턴들의 각 시퀀스를 통해 시퀀싱하도록 상기 버퍼들(1202)을 제어하는 단계를 더 포함하는 것을 특징으로 하는 반도체 기판(302) 위에 제조되는 플래시 메모리 셀들의 어레이(304)를 테스트하는 방법.
  13. 제 1 항에 있어서,
    상기 반도체 기판(302) 위에 고전압 소스(1501), 적어도 하나의 저항(1510, 1514), 적어도 하나의 스위칭 디바이스(1506, 1508) 및 논리 회로(1516)를 제조하는 단계와;
    상기 고전압 소스(1501)에 의해, 저전압 노드(1504)에서의 저전압을 기준으로 고전압을 발생시키는 단계와, 여기서 상기 적어도 하나의 저항(1510, 1514)과 상기 적어도 하나의 스위칭 디바이스(1506, 1508)는 상기 고전압 소스(1501)와 상기 저전압 노드(1504) 사이에 직렬 결합되며; 그리고
    상기 직렬 결합을 따라 출력 노드(1512)에 마지닝 전압을 칩 위에서 발생시키기 위해, BIST 모드의 타입에 의존하여, 상기 논리 회로(1516)에 의해 상기 각 스위칭 디바이스(1506, 1508)를 턴온 또는 턴오프시키는 단계를 더 포함하는 것을 특징으로 하는 반도체 기판(302) 위에 제조되는 플래시 메모리 셀들의 어레이(304)를 테스트하는 방법.
  14. 제 13 항에 있어서,
    상기 출력 노드(1512)에 상기 플래시 메모리 셀들(304)의 프로그램 마지닝을 위한 적어도 1개의 저항을 갖는 저항 전압 분할기(1510, 1514)를 형성하는 단계와; 그리고
    상기 플래시 메모리 셀들(304)의 소거 마지닝을 위해 상기 출력 노드(1512)를 저전압으로 방전시키는 단계를 더 포함하는 것을 특징으로 하는 반도체 기판(302) 위에 제조되는 플래시 메모리 셀들의 어레이(304)를 테스트하는 방법.
  15. 반도체 기판(302) 위에 제조되는 플래시 메모리 셀들의 어레이(304)를 테스트하기 위한 BIST 시스템(300)에 있어서,
    상기 반도체 기판(302) 위에 제조되어, 외부 테스트 시스템(318)으로부터 테스트 모드 데이터의 비트들을 연속적으로 입력하는 BIST 인터페이스(312)와, 여기서 상기 테스트 모드 데이터는 복수의 BIST 모드들이 수행될 순서를 나타내고, 각 BIST 모드는 상기 플래시 메모리 셀들의 전체 어레이의 특성을 테스트하기 위한 것이며; 그리고
    상기 반도체 기판(302) 위에 제조되어, 상기 플래시 메모리 셀들의 어레이(304)를 칩 위에서 테스트하기 위해 상기 테스트 모드 데이터에 의해 지시되는 순서로 상기 복수의 BIST 모드들을 수행하는 백 엔드 BIST 상태 머신(316)을 포함하는 것을 특징으로 하는 반도체 기판(302) 위에 제조되는 플래시 메모리 셀들의 어레이(304)를 테스트하기 위한 BIST 시스템.
  16. 제 15 항에 있어서,
    상기 반도체 기판(302) 위에 제조되어, 상기 BIST 모드들을 수행하기 위한 순서를 결정하기 위해 상기 테스트 모드 데이터를 디코드하는 프론트 엔드 상태 머신(314)을 더 포함하는 것을 특징으로 하는 반도체 기판(302) 위에 제조되는 플래시 메모리 셀들의 어레이(304)를 테스트하기 위한 BIST 시스템.
  17. 제 15 항 또는 제 16 항에 있어서,
    1개의 IO 핀을 통해 상기 테스트 모드 데이터를 연속적으로 입력하는, 상기 BIST 인터페이스(312) 내의, 시프트 레지스터(320)를 더 포함하고,
    상기 시프트 레지스터(320)는 상기 1개의 IO 핀을 통해 각 BIST 모드에 대한 각각의 통과 또는 실패 결과를 저장하고 연속적으로 출력하는 것을 특징으로 하는 반도체 기판(302) 위에 제조되는 플래시 메모리 셀들의 어레이(304)를 테스트하기 위한 BIST 시스템.
  18. 제 15 항 또는 제 16 항에 있어서,
    상기 반도체 기판(302) 위에 제조되어, 각각 플래시 메모리 셀의 위치에 대응하는 각각의 논리 상태를 발생시키는 복수의 패턴 발생 논리 유닛들(1302)과; 그리고
    요구되는 비트 패턴을 형성하기 위해 상기 패턴 발생 논리 유닛들(1302)로부터의 각각의 논리 상태들중 하나를 선택하는 패턴 선택기(1304)를 더 포함하고,
    상기 요구되는 비트 패턴은 BIST 모드의 검증 상태 동안 이용되는 것을 특징으로 하는 반도체 기판(302) 위에 제조되는 플래시 메모리 셀들의 어레이(304)를 테스트하기 위한 BIST 시스템.
  19. 제 15 항 또는 제 16 항에 있어서,
    상기 반도체 기판(302) 위에 제조되는 펄스 카운터(1404)와; 그리고
    상기 반도체 기판(302) 위에 제조되어, 최대수를 입력하고, 소거 검증 BIST 모드 동안 섹터에 상기 최대수 보다 적은 소거 펄스들이 인가됨으로 인하여 상기 섹터의 플래시 메모리 셀들이 소거 검증을 통과하지 못하는 경우, 섹터 실패 표시를 출력하는 펄스 카운터 제어기(1408)를 더 포함하는 것을 특징으로 하는 반도체 기판(302) 위에 제조되는 플래시 메모리 셀들의 어레이(304)를 테스트하기 위한 BIST 시스템.
  20. 제 19 항에 있어서,
    상기 펄스 카운터 제어기(1408)는 상기 섹터의 대각선 위치에 있는 각 플래시 메모리 셀이 소거 검증을 통과할 때 까지 상기 섹터에 인가되는 소거 펄스들의 대각선 총수를 결정하도록 상기 펄스 카운터(1404)를 제어하고, 상기 최대수는 소거 펄스들의 대각선 총수의 퍼센티지이며, 그리고 상기 BIST 시스템은:
    상기 반도체 기판(302) 위에 제조되어, 최대 펄스 카운트 값(Max_PC)에서 상기 소거 펄스들의 대각선 총수의 각 퍼센티지를 뺀 것인 각각의 재적재 카운트 값을 발생시키는 적어도 하나의 재적재 카운트 값 발생기(1422, 1424, 1426)와;
    상기 펄스 카운터 제어기 내의, 상기 최대수에 대응하는 1개의 각 재적재 카운트 값을 선택하는 멀티플렉서(1418)와; 그리고
    상기 펄스 카운터 제어기 내의, 상기 멀티플렉서(1418)로부터 선택된 재적재 카운트 값으로 적재하도록 상기 펄스 카운터를 제어하는 재적재 논리(1416)를 더 포함하고,
    상기 펄스 카운터(1404)는, 상기 선택된 재적재 카운트 값으로부터, 상기 섹터의 플래시 메모리 셀들을 소거 검증하는 동안 상기 섹터에 인가되는 복수의 소거 펄스들의 수를 카운트하고,
    상기 펄스 카운터 제어기(1408)는, 상기 펄스 카운터가 상기 Max_PC에 이르기 전에 상기 섹터의 각 플래시 메모리 셀이 소거 검증을 통과하지 못한 경우, 섹터 실패 표시를 출력하는 것을 특징으로 하는 반도체 기판(302) 위에 제조되는 플래시 메모리 셀들의 어레이(304)를 테스트하기 위한 BIST 시스템.
  21. 제 15 항 또는 제 16 항에 있어서,
    상기 반도체 기판(302) 위에 제조되는 CAM 플래시 메모리 셀들(790) 및 플래시 메모리 셀들의 리던던시 요소들(782)과;
    상기 반도체 기판(302) 위에 제조되는 복수의 전압 소스들(836)과, 여기서 결함이 있는 플래시 메모리 셀들(750)이 BIST 모드에서 상기 플래시 메모리 셀들을 테스트하는 동안 검출되며; 그리고
    상기 반도체 기판(302) 위에 제조되어, 상기 결함이 있는 플래시 메모리 셀들(750)을 상기 대응하는 플래시 메모리 셀들의 리던던시 요소(782)로 대체하기 위해 JUICE 상태에서 각각의 CAM 플래시 메모리 셀들(790)에 프로그래밍 전압들을 인가하도록 상기 전압 소스들(836)을 제어하는 복구 제어기(832)를 더 포함하는 것을 특징으로 하는 반도체 기판(302) 위에 제조되는 플래시 메모리 셀들의 어레이(304)를 테스트하기 위한 BIST 시스템.
  22. 제 21 항에 있어서,
    상기 반도체 기판(302) 위에 제조되는 FAILREP 논리(848)를 더 포함하고, 상기 FAILREP 논리가 플래시 메모리 셀들의 어떠한 리던던시 요소도 이용할 수 없다고 결정하거나, 또는 상기 결함있는 플래시 메모리 셀들(750)이 이전에 복구되었다고 결정하는 경우에는 HANG 상태에 들어가는 것을 특징으로 하는 반도체 기판(302) 위에 제조되는 플래시 메모리 셀들의 어레이(304)를 테스트하기 위한 BIST 시스템.
  23. 제 15 항 또는 제 16 항에 있어서,
    상기 반도체 기판(302) 위에 제조되어, BIST 모드에 대응하는 각각의 전압들을 발생시키는 복수의 전압 소스들(504)과; 그리고
    상기 반도체 기판(302) 위에 제조되어, BIST 모드가 상태들의 제 1 시퀀스를 따르기 위해 상기 플래시 메모리 셀들(304)에 전압들을 인가하기 위한 것인 지의 여부, 또는 상기 BIST 모드가 상태들의 제 2 시퀀스를 따르기 위해 상기 플래시 메모리 셀들(304)의 각각의 논리 상태를 판독하기 위한 것인 지의 여부를 결정하는 백 엔드 BIST 제어기(502)를 더 포함하는 것을 특징으로 하는 반도체 기판(302) 위에 제조되는 플래시 메모리 셀들의 어레이(304)를 테스트하기 위한 BIST 시스템.
  24. 제 15 항 또는 제 16 항에 있어서,
    상기 반도체 기판(302) 위에 제조되는 신호 선택기(966)와; 그리고
    상기 반도체 기판(302) 위에 제조되는 진단 매칭 논리(964)를 더 포함하고,
    상기 진단 매칭 논리(964)는 상기 백 엔드 BIST 상태 머신(316)으로부터의 제어 변수들에 의존하여, 발생되는 매치 출력을 통과 상태 또는 실패 상태로 세트시키고,
    상기 신호 선택기(966)는 진단 모드가 호출되는 경우 BIST 모드의 검증 단계에서 상기 백 엔드 BIST 상태 머신(316)에 의해 이용될 상기 발생된 매치 출력을 선택하는 것을 특징으로 하는 반도체 기판(302) 위에 제조되는 플래시 메모리 셀들의 어레이(304)를 테스트하기 위한 BIST 시스템.
  25. 제 24 항에 있어서,
    상기 진단 모드가 호출된 상기 BIST 모드는 상기 플래시 메모리 셀들(304)을 프로그래밍하고, 독립형 APDE를 이용하여 상기 플래시 메모리 셀들(304)을 소거하거나, 또는 인터리브된 APDE를 이용하여 상기 플래시 메모리 셀들(304)를 소거하는 것중 하나를 위한 것임을 특징으로 하는 반도체 기판(302) 위에 제조되는 플래시 메모리 셀들의 어레이(304)를 테스트하기 위한 BIST 시스템.
  26. 제 15 항 또는 제 16 항에 있어서,
    상기 반도체 기판(302) 위에 제조되어, 상기 플래시 메모리 셀들(304)의 어드레스를 나타내는 복수의 비트 패턴들을 발생시키는 어드레스 시퀀서 버퍼들(1202)과; 그리고
    상기 반도체 기판(302) 위에 제조되어, 복수의 BIST 모드들 각각에 대한 비트 패턴들의 각 시퀀스를 통해 시퀀싱하도록 상기 버퍼들(1202)을 제어하는 어드레스 시퀀서 제어 논리(1204)를 더 포함하는 것을 특징으로 하는 반도체 기판(302) 위에 제조되는 플래시 메모리 셀들의 어레이(304)를 테스트하기 위한 BIST 시스템.
  27. 제 15 항에 있어서,
    상기 반도체 기판(302) 위에 제조되어, 저전압 노드(1504)에서의 저전압을 기준으로 고전압을 발생시키는 고전압 소스(1501)와;
    상기 반도체 기판(302) 위에 제조되며, 상기 고전압 소스(1501)와 상기 저전압 노드(1504) 사이에 직렬 결합되는 적어도 하나의 저항(1510, 1514) 및 적어도 하나의 스위칭 디바이스(1506, 1508)와; 그리고
    상기 반도체 기판(302) 위에 제조되어, 상기 직렬 결합을 따라 출력 노드(1512)에서 마지닝 전압을 칩 위에서 발생시키기 위해, BIST 모드의 타입에 의존하여 상기 각 스위칭 디바이스(1506, 1508)를 턴온 또는 턴오프시키는 논리 회로(1516)를 더 포함하는 것을 특징으로 하는 반도체 기판(302) 위에 제조되는 플래시 메모리 셀들의 어레이(304)를 테스트하기 위한 BIST 시스템.
  28. 제 27 항에 있어서,
    상기 출력 노드(1512)에 상기 플래시 메모리 셀들(304)의 프로그램 마지닝을 위한 적어도 하나의 저항을 갖는 저항 전압 분할기(1510, 1514)가 형성되고, 상기 출력 노드(1512)는 상기 플래시 메모리 셀들(304)의 소거 마지닝을 위해 저전압으로 방전되는 것을 특징으로 하는 반도체 기판(302) 위에 제조되는 플래시 메모리 셀들의 어레이(304)를 테스트하기 위한 BIST 시스템.
KR1020057001105A 2002-07-22 2003-06-10 플래시 메모리 셀들의 빌트인 셀프 테스트 KR100941745B1 (ko)

Applications Claiming Priority (17)

Application Number Priority Date Filing Date Title
US20054302A 2002-07-22 2002-07-22
US20053802A 2002-07-22 2002-07-22
US10/200,540 2002-07-22
US10/200,539 2002-07-22
US10/200,543 2002-07-22
US10/200,518 US7010736B1 (en) 2002-07-22 2002-07-22 Address sequencer within BIST (Built-in-Self-Test) system
US10/200,330 US6665214B1 (en) 2002-07-22 2002-07-22 On-chip erase pulse counter for efficient erase verify BIST (built-in-self-test) mode
US10/200,518 2002-07-22
US10/200,538 2002-07-22
US10/200,544 2002-07-22
US10/200,526 2002-07-22
US10/200,544 US6631086B1 (en) 2002-07-22 2002-07-22 On-chip repair of defective address of core flash memory cells
US10/200,526 US7028240B1 (en) 2002-07-22 2002-07-22 Diagnostic mode for testing functionality of BIST (built-in-self-test) back-end state machine
US10/200,539 US6707718B1 (en) 2002-07-22 2002-07-22 Generation of margining voltage on-chip during testing CAM portion of flash memory device
US10/200,330 2002-07-22
US10/200,540 US20040049724A1 (en) 2002-07-22 2002-07-22 Built-in-self-test (BIST) of flash memory cells and implementation of BIST interface
PCT/US2003/018309 WO2004010437A1 (en) 2002-07-22 2003-06-10 Built-in-self-test of flash memory cells

Publications (2)

Publication Number Publication Date
KR20050021543A KR20050021543A (ko) 2005-03-07
KR100941745B1 true KR100941745B1 (ko) 2010-02-11

Family

ID=30773813

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057001105A KR100941745B1 (ko) 2002-07-22 2003-06-10 플래시 메모리 셀들의 빌트인 셀프 테스트

Country Status (8)

Country Link
EP (1) EP1529293B1 (ko)
JP (1) JP2005534131A (ko)
KR (1) KR100941745B1 (ko)
CN (1) CN1679118A (ko)
AU (1) AU2003243484A1 (ko)
DE (1) DE60302473T2 (ko)
TW (1) TW200410258A (ko)
WO (1) WO2004010437A1 (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7424659B2 (en) 2003-10-31 2008-09-09 Sandisk Il Ltd. System-in-package and method of testing thereof
US7730368B2 (en) * 2003-10-31 2010-06-01 Sandisk Il Ltd. Method, system and computer-readable code for testing of flash memory
CN101529518B (zh) * 2005-11-01 2013-10-30 晟碟以色列有限公司 用于测试快闪存储器的方法、系统和计算机可读代码
JP5023582B2 (ja) * 2006-07-05 2012-09-12 横河電機株式会社 半導体集積回路試験装置及び方法
TWI401690B (zh) * 2008-12-24 2013-07-11 Phison Electronics Corp 快閃儲存裝置及其測試方法與測試系統
US8627158B2 (en) 2011-12-08 2014-01-07 International Business Machines Corporation Flash array built in self test engine with trace array and flash metric reporting
JP5112566B1 (ja) * 2011-12-16 2013-01-09 株式会社東芝 半導体記憶装置、不揮発性半導体メモリの検査方法、及びプログラム
US8754640B2 (en) * 2012-06-18 2014-06-17 Allegro Microsystems, Llc Magnetic field sensors and related techniques that can provide self-test information in a formatted output signal
KR102055174B1 (ko) * 2012-06-18 2019-12-12 알레그로 마이크로시스템스, 엘엘씨 감지된 물체의 근접에 반응하여 근접 신호의 하나 또는 그 이상의 특성 값들이 분류되는 셋 또는 그 이상의 포텐셜 카테고리들의 적어도 하나를 전달할 수 있는 자기장 센서들 및 관련 기술들
CN103514129B (zh) * 2012-06-21 2017-03-29 深圳市中兴微电子技术有限公司 一种芯片接口转换方法及芯片
US8830756B2 (en) * 2013-01-23 2014-09-09 Freescale Semiconductor, Inc. Dynamic detection method for latent slow-to-erase bit for high performance and high reliability flash memory
TWI569284B (zh) * 2015-05-27 2017-02-01 慧榮科技股份有限公司 記憶體控制器與記憶體模組
CN107301880B (zh) * 2017-06-15 2020-03-17 西安微电子技术研究所 一种片上嵌入式Flash的内建自测试结构
US10656170B2 (en) 2018-05-17 2020-05-19 Allegro Microsystems, Llc Magnetic field sensors and output signal formats for a magnetic field sensor
US11081155B2 (en) * 2018-06-18 2021-08-03 Taiwan Semiconductor Manufacturing Company, Ltd. MRAM reference current
TWI676989B (zh) * 2018-11-20 2019-11-11 華邦電子股份有限公司 記憶體裝置及其內置自測試方法
CN111292795B (zh) * 2019-05-23 2022-02-01 展讯通信(上海)有限公司 存储器的内建自测试系统
CN110364214A (zh) * 2019-06-28 2019-10-22 珠海博雅科技有限公司 一种读失效存储单元的替换方法、装置、设备及存储介质
CN110473586B (zh) * 2019-07-31 2021-05-14 珠海博雅科技有限公司 一种写失效存储单元的替换方法、装置、设备及存储介质
CN112331253B (zh) * 2020-10-30 2023-12-08 深圳市宏旺微电子有限公司 一种芯片的测试方法、终端和存储介质
CN112733478B (zh) * 2021-04-01 2021-08-03 芯华章科技股份有限公司 用于对设计进行形式验证的装置
CN113409845A (zh) * 2021-05-11 2021-09-17 珠海博雅科技有限公司 非易失性存储器的替换方法、装置及存储介质
CN113225232B (zh) * 2021-05-12 2022-06-10 中国第一汽车股份有限公司 硬件测试方法、装置、计算机设备及存储介质
WO2023137647A1 (en) 2022-01-20 2023-07-27 Yangtze Memory Technologies Co., Ltd. Data protection in nand memory using internal firmware to perform self-verification

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5406566A (en) * 1992-10-26 1995-04-11 Nec Corporation Semiconductor memory device having diagnostic circuit for comparing multi-bit read-out test data signal with multi-bit write-in test data signal stored in serial-input shift register
US5675546A (en) * 1996-06-07 1997-10-07 Texas Instruments Incorporated On-chip automatic procedures for memory testing
US6297997B1 (en) * 1999-06-30 2001-10-02 Mitsubishi Denki Kabushiki Kaisha Semiconductor device capable of reducing cost of analysis for finding replacement address in memory array

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6044481A (en) * 1997-05-09 2000-03-28 Artisan Components, Inc. Programmable universal test interface for testing memories with different test methodologies
JPH11329000A (ja) * 1998-05-19 1999-11-30 Mitsubishi Electric Corp 内蔵メモリテスト方法、およびそれに用いるバスインタフェースユニット、コマンドデコーダ

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5406566A (en) * 1992-10-26 1995-04-11 Nec Corporation Semiconductor memory device having diagnostic circuit for comparing multi-bit read-out test data signal with multi-bit write-in test data signal stored in serial-input shift register
US5675546A (en) * 1996-06-07 1997-10-07 Texas Instruments Incorporated On-chip automatic procedures for memory testing
US6297997B1 (en) * 1999-06-30 2001-10-02 Mitsubishi Denki Kabushiki Kaisha Semiconductor device capable of reducing cost of analysis for finding replacement address in memory array

Also Published As

Publication number Publication date
JP2005534131A (ja) 2005-11-10
WO2004010437A1 (en) 2004-01-29
CN1679118A (zh) 2005-10-05
EP1529293A1 (en) 2005-05-11
EP1529293B1 (en) 2005-11-23
DE60302473D1 (de) 2005-12-29
DE60302473T2 (de) 2006-08-24
TW200410258A (en) 2004-06-16
KR20050021543A (ko) 2005-03-07
AU2003243484A1 (en) 2004-02-09

Similar Documents

Publication Publication Date Title
KR100941745B1 (ko) 플래시 메모리 셀들의 빌트인 셀프 테스트
US7010736B1 (en) Address sequencer within BIST (Built-in-Self-Test) system
US6631086B1 (en) On-chip repair of defective address of core flash memory cells
US20040049724A1 (en) Built-in-self-test (BIST) of flash memory cells and implementation of BIST interface
US6665214B1 (en) On-chip erase pulse counter for efficient erase verify BIST (built-in-self-test) mode
US6707718B1 (en) Generation of margining voltage on-chip during testing CAM portion of flash memory device
JP4413406B2 (ja) 不揮発性半導体メモリ及びそのテスト方法
US7778080B2 (en) Flash memory array system including a top gate memory cell
US6992937B2 (en) Column redundancy for digital multilevel nonvolatile memory
US7599236B2 (en) In-circuit Vt distribution bit counter for non-volatile memory devices
US5675546A (en) On-chip automatic procedures for memory testing
US7028240B1 (en) Diagnostic mode for testing functionality of BIST (built-in-self-test) back-end state machine
JPH09502043A (ja) 不揮発性状態書込みを備えた自動テスト回路
WO2008100602A1 (en) Embedded architecture with serial interface for testing flash memories
US8509001B2 (en) Adaptive write procedures for non-volatile memory
US6285608B1 (en) Method and apparatus for using supply voltage for testing in semiconductor memory devices
JP2002050199A (ja) テスト機能を有する不揮発性半導体メモリ装置
CN110383384A (zh) 存储器装置和用于操作或测试存储器装置的方法
WO2024049532A1 (en) Nand memory with different pass voltage ramp rates for binary and multi-state memory
WO2024049531A1 (en) Word line dependent pass voltage ramp rate to improve performance of nand memory
EP0721645B1 (en) Automatic test circuitry with non-volatile status write

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140124

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150126

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee