KR100338553B1 - 프로그램 상태 검출 회로를 갖는 플래시 메모리 장치 및그것의 프로그램 방법 - Google Patents

프로그램 상태 검출 회로를 갖는 플래시 메모리 장치 및그것의 프로그램 방법 Download PDF

Info

Publication number
KR100338553B1
KR100338553B1 KR1020000000497A KR20000000497A KR100338553B1 KR 100338553 B1 KR100338553 B1 KR 100338553B1 KR 1020000000497 A KR1020000000497 A KR 1020000000497A KR 20000000497 A KR20000000497 A KR 20000000497A KR 100338553 B1 KR100338553 B1 KR 100338553B1
Authority
KR
South Korea
Prior art keywords
program
circuit
column
signal
columns
Prior art date
Application number
KR1020000000497A
Other languages
English (en)
Other versions
KR20010029546A (ko
Inventor
조태희
권석천
Original Assignee
윤종용
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 윤종용, 삼성전자 주식회사 filed Critical 윤종용
Priority to DE10043397A priority Critical patent/DE10043397B4/de
Priority to JP2000269304A priority patent/JP4566369B2/ja
Priority to US09/656,321 priority patent/US6282121B1/en
Publication of KR20010029546A publication Critical patent/KR20010029546A/ko
Application granted granted Critical
Publication of KR100338553B1 publication Critical patent/KR100338553B1/ko

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B63SHIPS OR OTHER WATERBORNE VESSELS; RELATED EQUIPMENT
    • B63HMARINE PROPULSION OR STEERING
    • B63H5/00Arrangements on vessels of propulsion elements directly acting on water
    • B63H5/07Arrangements on vessels of propulsion elements directly acting on water of propellers
    • B63H5/14Arrangements on vessels of propulsion elements directly acting on water of propellers characterised by being mounted in non-rotating ducts or rings, e.g. adjustable for steering purpose
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B63SHIPS OR OTHER WATERBORNE VESSELS; RELATED EQUIPMENT
    • B63HMARINE PROPULSION OR STEERING
    • B63H25/00Steering; Slowing-down otherwise than by use of propulsive elements; Dynamic anchoring, i.e. positioning vessels by means of main or auxiliary propulsive elements
    • B63H25/46Steering or dynamic anchoring by jets or by rudders carrying jets
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B63SHIPS OR OTHER WATERBORNE VESSELS; RELATED EQUIPMENT
    • B63HMARINE PROPULSION OR STEERING
    • B63H5/00Arrangements on vessels of propulsion elements directly acting on water
    • B63H5/07Arrangements on vessels of propulsion elements directly acting on water of propellers
    • B63H5/16Arrangements on vessels of propulsion elements directly acting on water of propellers characterised by being mounted in recesses; with stationary water-guiding elements; Means to prevent fouling of the propeller, e.g. guards, cages or screens
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B63SHIPS OR OTHER WATERBORNE VESSELS; RELATED EQUIPMENT
    • B63BSHIPS OR OTHER WATERBORNE VESSELS; EQUIPMENT FOR SHIPPING 
    • B63B2221/00Methods and means for joining members or elements
    • B63B2221/06Methods and means for joining members or elements by riveting
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B63SHIPS OR OTHER WATERBORNE VESSELS; RELATED EQUIPMENT
    • B63BSHIPS OR OTHER WATERBORNE VESSELS; EQUIPMENT FOR SHIPPING 
    • B63B2221/00Methods and means for joining members or elements
    • B63B2221/08Methods and means for joining members or elements by means of threaded members, e.g. screws, threaded bolts or nuts

Landscapes

  • Chemical & Material Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • Ocean & Marine Engineering (AREA)
  • Read Only Memory (AREA)

Abstract

여기에 개시되는 불휘발성 반도체 메모리 장치는 프로그램된 메모리 셀들의 상태를 판별하기 위한 프로그램 상태 검출 회로를 포함한다. 본 발명에 따른 프로그램 상태 검출 회로는 리던던시 정보를 포함하는 열 어드레스에 따라 열 선택 회로를 통해 전달되는 데이터를 이용하여 프로그램 패스/페일을 판별한다. 그러므로, 결함 열로 인해 메모리 장치가 페일 디바이스로 분류되는 것을 방지할 수 있다.

Description

프로그램 상태 검출 회로를 갖는 플래시 메모리 장치 및 그것의 프로그램 방법{FLASH MEMORY DEVICE WITH A PROGRAM-STATUS DETECTING CIRCUIT AND PROGRAM METHOD THEREOF}
본 발명은 불휘발성 반도체 메모리 장치에 관한 것으로서, 구체적으로는 프로그램 상태 검출 회로를 갖는 플래시 메모리 장치 및 그것의 프로그램 방법에 관한 것이다.
불휘발성 반도체 메모리 장치 예를 들면, NAND형 플래시 메모리 장치의 프로그램 사이클은 프로그램 동작, 검증 읽기 동작 및 Y-SCAN 동작을 통해 수행된다. 먼저, 프로그램 동작 동안, 임의의 선택된 페이지 즉, 워드 라인에 관련된 EEPROM 셀들이 요구되는 데이터 상태로 각각 프로그램된다. 그 다음에, 프로그램된 데이터가 요구되는 상태를 갖는 지의 여부를 판별하기 위해서, 프로그램된 EEPROM 셀들의 데이터를 읽기 위한 검증 읽기 동작이 수행된다. 마지막으로, 읽혀진 데이터가 요구되는 상태를 갖는 지의 여부가 점검된다. 만약 프로그램된 EEPROM 셀들 중 적어도 하나가 요구되는 상태를 만족하지 않으면, 정해진 횟수 내에서 요구되는 상태를 만족할 때까지 상술한 일련의 프로그램 사이클들을 반복적으로 수행한다. 그러므로, 플래시 메모리 장치는 프로그램 패스/페일을 점검하기 위한 회로를 포함하여야 하며, 그러한 기능을 갖는 회로가 U.S. Patent No. 5,299,162에 "NONVOLATILE SEMICONDUCTOR MEMORY DEVICE AND AN OPTIMIZING PROGRAMMING METHOD THEREOF"라는 제목으로 게재되어 있으며, 레퍼런스로 포함한다.
도 1은 앞서 언급된 문헌에 게재된 불휘발성 반도체 메모리 장치의 프로그램 상태 검출 회로를 보여주는 회로도이다.
도 1을 참조하면, 각 비트 라인 (BL1-BL1024)은 직렬로 연결된 스트링 선택 트랜지스터 (ST), 8개의 셀 트랜지스터들 (CT1-CT8), 그리고 접지 선택 트랜지스터 (GT)로 이루어진 스트링 단위의 NAND 구조 셀 (CE)이 연결된다. 스트링 선택 트랜지스터 (ST)와 접지 선택 트랜지스터 (GT)는 MOS 트랜지스터 구조를 가지며, 게이트들은 선택 라인들 (SL1, SL2)에 각각 연결된다. 각 셀 트랜지스터 (CT1-CT8)는제어 게이트와 기판 사이에 위치한 플로팅 게이트를 갖는 공핍형 MOS 트랜지스터 구조를 갖는다. 각 제어 게이트는 제어 라인들 (CL1-CL8)에 각각 연결된다. 또한, 각 비트 라인 (BL1-BL1024)은 고전위의 프로그램 전압을 공급하기 위한 각 고전압 공급 회로들 (HV)에, 외부로부터 입력되는 데이터가 로드되는 각 비트 라인 래치 회로들 (LT), 프로그램 검증 동작 동안 검증 전류를 공급하는 전류원 회로 (CS), 그리고 비트 라인 래치 회로 (LT)의 데이터를 반전시키기 위한 각 프로그램 점검 유니트들 (PC)에 연결된다.
고전압 공급 회로 (HV)는 트랜지스터들 (PT1, PT2)과 펌핑 커패시터로 구성된 일반적인 고전압 펌핑 회로이다. 트랜지스터 (PT1)의 드레인은 프로그램 전압 (Vpp)에 연결되고, 트랜지스터 (PT1)의 게이트는 비트 라인 (BL1)에 연결되며, 트랜지스터 (PT1)의 소오스는 트랜지스터 (PT2)의 게이트에 연결된다. 트랜지스터 (PT2)의 드레인은 펌핑 커패시터의 일 전극에 연결되고, 트랜지스터 (PT2)의 소오스는 비트 라인 (BL1)에 연결된다. 펌핑 커패시터 (C)는 클럭 신호 (øpp)가 하이로 갈 때 커패시터에 저장된 전하를 트랜지스터 (PT2)를 통해 비트 라인 (BL1)으로 방전하며, 비트 라인 (BL1)으로 소거 전압 또는 프로그램 금지 전압을 공급한다.
비트 라인 래치 회로 (LT)는 2개의 인버터들 (INV1, INV2)과 전달 트랜지스터 (TT1)로 이루어진다. 인버터들 (INV1, INV2)은 하나의 인버터의 입력이 다른 인버터의 출력에 연결되도록 연결된다. 전달 트랜지스터 (TT1)의 게이트는 클럭 신호 (ø1)에 연결되고, 트랜지스터 (TT1)의 제 1 전류 단자 (드레인 또는 소오스)는 비트 라인에 연결되며, 트랜지스터 (TT1)의 제 2 전류 단자 (소오스 또는 드레인)는인버터 (INV2)의 입력에 연결된다. 따라서, 비트 라인 래치 회로 (LT)는 클럭 신호 (ø1)의 고전위 동안 턴온되는 전달 트랜지스터 (TT1)를 통해 비트 라인 상에 인가된 외부 데이터를 받아들여 래치한다.
전류원 회로 (CS)는 각 비트 라인들과 공통의 기준 전류 설정 회로 (common reference-current setting circuit) (RC)에 연결된 복수 개의 출력 회로들 (OS)로 구성되며, 상기 회로들 (RC, OS)은 모든 출력 회로들 (OS)에 대한 기준 전류를 설정하기 위해서 잘 알려진 전류 미러 회로 형태로 서로 연결된다. 공통 기준 전류 설정 회로 (RC)는 전원 전압 (Vcc)과 접지 전압 (Vss) 사이에 연결된 P-채널 MOS 트랜지스터 (M1)와 N-채널 MOS 트랜지스터들 (M2, M3)로 구성된다. P-채널 MOS 트랜지스터 (M1)의 드레인 및 게이트는 서로 연결되어 있다. N-채널 MOS 트랜지스터 (M2)의 게이트는 기준 전압 (Vref)에 연결되고, N-채널 MOS 트랜지스터 (M3)의 게이트는 클럭 신호 (ø2)에 연결된다. 각 출력 회로 (OS)는 전원 전압 (Vcc)과 각 비트 라인들 사이에 연결된 P-채널 MOS 트랜지스터 (M4)와 N-채널 MOS 트랜지스터 (M5)로 구성된다. P-채널 MOS 트랜지스터 (M4)의 게이트는 P-채널 MOS 트랜지스터 (M1)의 게이트에 연결되고, N-채널 MOS 트랜지스터 (M5)의 게이트는 클럭 신호 (ø2)에 연결된다. 그러므로, 전류원 회로 (CS)는 클럭 신호 (ø2)가 하이로 갈 때 활성화되며, 그 결과 P-채널 MOS 트랜지스터 (M4)의 드레인 전류는 검증 전류로서 비트 라인 (BL1)으로 공급된다.
프로그램 검증 회로 (PC)는 MOS 트랜지스터 (M6)로 구성되며, 상기 MOS 트랜지스터 (M6)의 드레인은 비트 라인 래치 회로 (LT)의 인버터 (INV1)의 입력에 연결되고, 트랜지스터 (M6)의 소오스는 접지 전압 (Vss)에 연결되며, 트랜지스터 (M6)의 게이트는 비트 라인에 연결된다. 따라서, 비트 라인으로 공급되는 검증 전류가 선택된 셀을 포함하는 NAND 구조로 된 셀 스트링을 통해 접지로 흐르지 않을 때, 비트 라인의 전위는 하이가 되며, 그 결과 MOS 트랜지스터 (M6) (프로그램 검증 유니트)는 턴온된다. 이는 래치 회로 (LT)의 인버터 (INV1)의 입력이 낮은 전위 (예를 들면, 접지 전압)로 낮아지게 한다. 그러므로, 선택된 셀의 프로그램이 불충할 때, 프로그램 점검 회로 (PC)는 불충분한 프로그램을 점검하여 비트 라인 래치 회로 (LT)의 데이터를 반전시킨다.
도 1에서, 참조 부호 (PS)는 프로그램 상태 검출 회로 (program-statu detecting circuit)이다. 프로그램 상태 검출 회로 (PS)는 모든 선택된 셀들이 최적의 상태로 프로그램될 때 정상적인 검출 신호를 출력하거나, 적어도 하나의 선택된 셀이 불충분하게 프로그램되면 비정상적인 검출 신호를 출력한다. 프로그램 상태 검출 회로 (PS)는 노드 (N1)를 풀업하기 위한 풀업 회로로서 동작하는 P-채널 MOS 트랜지스터 (M7)와 풀업 로드로서 사용되는 공핍형 MOS 트랜지스터 (M8)를 갖는다. P-채널 MOS 트랜지스터 (M7)의 소오스는 전원 전압 (Vcc)에 연결되고, 트랜지스터 (M7)의 게이트는 클럭 신호 (ø3)에 연결되며, 트랜지스터 (M7)의 드레인은 공핍형 MOS 트랜지스터 (M8)의 소오스와 연결된다. 공핍형 MOS 트랜지스터 (M8)의 게이트 및 드레인은 서로 그리고 노드 (N1)에 연결된다. 풀다운 회로 (PD)로서 동작하는 복수 개의 N-채널 MOS 트랜지스터들 (PD1-PD1024)은 노드 (N1)와 접지 전압 (Vss) 사이에 병렬로 연결되어 있다. 각 MOS 트랜지스터의 게이트는 비트 라인 래치 회로들 (LT)의 반전 출력 ()에 연결된다. 노드 (N1)는 인버터 (INV3)를 통해 NOR 게이트 (G)의 일 입력 단자에 연결된다. NOR 게이트 (G)의 다른 입력 단자는 클럭 신호 ()에 연결된다.
도 1에 도시된 불휘발성 반도체 메모리 장치의 프로그램 및 검증 동작이 이하 상세히 설명된다.
셀 어레이에 데이터를 프로그램하기 위해서는, 먼저, 셀의 문턱 전압을 (-) 전위로 낮추기 위한 소거 동작이 수행된다. 소거 동작이 완료된 후, 외부 데이터가 비트 라인 래치 회로 (LT)에 로드된다. 이때, 로직 하이 레벨이 데이터 "1"로 로드되고 로직 로우 레벨이 데이터 "0"로 로드된다. 클럭 신호 (ø1)가 하이가 될 때, 비트 라인 래치 회로 (LT)에 데이터가 로드된다. 만약 비트 라인 래치 회로 (LT)에 래치된 데이터가 로직 하이 레벨이면, 고전압 공급 회로 (LT)가 동작하여 비트 라인 상의 전압을 프로그램 금지 전압으로 설정한다. 그러므로, 선택된 셀 트랜지스터 (예를 들면, CT6)의 게이트와 드레인 사이의 전위차가 F-N 터널링을 생기게 하기에 불충분하기 때문에, 선택된 셀 트랜지스터 (CT6)는 계속해서 음의 문턱 전압을 유지한다.
한편, 비트 라인 래치 회로 (LT)에 로드된 데이터가 로직 로우 레벨이면, 고전압 공급 회로 (HV)는 동작하지 않으며, 비트 라인 상의 전압을 0V로 유지한다. 따라서, 선택된 셀 트랜지스터 (M6)의 게이트와 드레인 사이의 전위차에 의해서 F-N 터널링이 생기기 때문에, 플로팅 게이트로 전하들이 주입되며, 그 결과 셀의 문턱 전압은 (+) 전위가 된다. 하지만, 불충분하게 프로그램되면, 선택된 셀 트랜지스터 (CT6)는 설정된 양의 문턱 전압을 얻을 수 없다. 프로그램 동작을 완료한 후 셀들이 올바르게 프로그램되었는 지의 여부를 점검하기 위해서, 전류원 (CS)은 클럭 신호 (ø2)의 하이 상태에 응답하여 동작하며, 그 결과 검증 전류가 비트 라인 (BL)으로 공급된다. 이때, 제어 라인들 (CL1-CL5, CL7, CL8)은 전원 전압 (Vcc)을 공급받고, 제어 라인 (CL6)은 소정의 검증 전압 (예를 들면, +0.8V)을 공급받는다. 그러므로, 선택된 셀 트랜지스터 (CT6)의 문턱 전압이 음의 전위를 가질 때, 검증 전류는 셀 스트링 (CE)을 통해 접지로 흐른다. 따라서, 비트 라인 (BL1)은 0V로 유지된다.
한편, 선택된 셀의 문턱 전압이 양의 전위 (Vth>0.8V)를 가질 때, 비트 라인 (BL1)은 검증 전류가 셀 스트링 (CE)을 통해 흐르지 않기 때문에 하이가 된다. 하지만, 선택된 셀이 불충분하게 프로그램되면 (이는 셀의 문턱 전압이 0.8V보다 낮음을 의미한다), 검증 전류는 접지로 빠져나가며, 비트 라인 (BL1)이 여전히 0V로 유지되게 한다.
검증 읽기 및 Y-SCAN 동작 동안에, 선택된 셀의 비트 라인이 낮은 전위로 유지될 때, 프로그램 점검 수단인 트랜지스터 (M6)는 턴오프되며, 그 결과 비트 라인 래치 회로 (LT) 내의 데이터는 반전되지 않는다. 그러므로, 초기 로드된 상태의 데이터 "0"가 출력 (Q) 상에 계속해서 유지된다. 또한, 비트 라인 래치 회로 (LT)의 반전 출력 () 상에 데이터 "1'이 유지되기 때문에, 게이트가 출력 ()에 연결된 프로그램 상태 검출 회로 (PS)의 풀다운 트랜지스터 (PD1)는 계속해서 턴-온 상태로 유지된다. 그러므로, 프로그램이 정상적으로 수행되지 않았기 때문에, 프로그램 상태 검출 회로 (PS)의 클럭 신호 (ø5)는 로직 로우 레벨로 유지된다.
재 프로그램 동작 동안, 비트 라인 래치 회로 (LT)의 데이터 "0"가 클럭 신호 (ø1)의 하이 구간 동안 비트 라인 (BL1)에 다시 공급되기 때문에, 불충분하게 프로그램된 선택된 셀의 플로팅 게이트로 전하들이 반복적으로 주입된다. 그러므로, 셀의 문턱 전압은 보다 높은 양의 전위를 갖는다. 만약 프로그램 사이클들을 반복함으로써 보다 높은 양의 전위를 갖는 선택된 셀의 문턱 전압의 상승으로 인해 상기 선택된 셀이 검증 전압 (0.8V)에 의해서 턴온되지 않으면, 비트 라인 전위는 로직 하이 레벨이 되어 트랜지스터 (M6)를 턴온시킨다. 그러므로, 비트 라인 래치 회로 (LT)의 출력 (Q)에 로드된 데이터 "0"는 데이터 "1"로 반전되고, 반전 출력 ()의 데이터 "1"은 데이터 "0"으로 반전되며, 그 결과 프로그램 상태 검출 회로 (PS)의 풀다운 트랜지스터 (PD1)는 턴오프된다. 이러한 반복적인 동작에 의하면, 페이지 버퍼 (PB)의 모든 데이터 비트들 즉, 모든 비트 라인 래치 회로들의 반전 출력들 ()은 데이터 "0"가 된다. 다시 말해서, 모든 반전 출력들 ()이 로직 로우 레벨이 될 때, 프로그램 상태 검출 회로 (PS)의 클럭 신호 (ø5)는 로직 하이 레벨이 된다. 즉, 선택된 셀들 모두 요구되는 상태로 프로그램된다.
앞서의 설명으로부터 알 수 있듯이, 도 1에 도시된 프로그램 상태 검출 회로 (PS)를 포함한 불휘발성 반도체 메모리 장치는 한 페이지에 관련된 셀 트랜지스터들의 프로그램 상태를 동시에 검증할 수 있다는 이점을 갖는다. 하지만, 종래 기술에 따른 불휘발성 반도체 메모리 장치는 결함 열로 인해 페일 디바이스 (fail device)로 분류되며, 이는 수율 저하의 원인으로 작용한다. 이를 좀 더 구체적으로 설명하면, 다음과 같다.
도 2를 참조하면, 인접한 2개의 비트 라인 래치 회로들 (LT1, LT2)이 점선으로 표시된 바와 같이 서로 전기적으로 연결되는 경우, 상기 비트 라인 래치 회로들 (LT1, LT2)에 연결된 비트 라인들 (BL1, BL2)은, 이 분야에 통상의 지식을 습득한 자들에게 잘 알려진 바와 같이, 셀 어레이에 제공되는 리던던트 비트 라인들 (미도시됨)로 대체된다. 하지만, 서로 전기적으로 연결된 비트 라인 래치 회로들 (LT1, LT2)의 반전 출력들 ()은 항상 상반된 로직 상태를 갖기 때문에, 프로그램 검증 동작 동안 상기 비트 라인 래치 회로들 (LT1, LT2)의 반전 출력들 ()에 각각 연결된 풀다운 트랜지스터들 (PD1, PD2) 중 하나는 항상 턴온된다. 예를 들면, 비트 라인 (BL1 또는 BL2)이 로직 로우 레벨로 설정되는 경우, 전기적으로 연결된 비트 라인 (BL2 또는 BL1) 역시 로직 로우 레벨로 설정되며, 그 결과, 도 2에 도시된 바와 같이, 비트 라인 래치 회로 (LT1)의 반전 출력 ()은 로직 하이 레벨이 된다. 이는 비트 라인 래치 회로 (LT1)의 반전 출력 ()에 연결된 풀다운 트랜지스터 (PD1)가 턴온되게 한다. 그러므로, 프로그램 상태 검출 회로 (PS)는 일련의 프로그램 동작 및 프로그램 검증 동작이 정해진 횟수만큼 반복될 때까지 프로그램 페일을 나타내는 로직 로우 레벨의 클럭 신호 (ø5)를 출력한다. 즉, 불휘발성 반도체 메모리 장치는 페일 디바이스로 분류된다.
만약 임의의 비트 라인이 접지 전압에 연결되면 (이는 결함 열로 분류되어 대응하는 리던던트 비트 라인으로 대체됨), 접지된 비트 라인에 연결된 비트 라인 래치 회로의 반전 출력 ()은 항상 로직 하이 레벨로 유지되며, 그 결과 프로그램 상태 검출 회로 (PS)는 프로그램 페일을 나타내는 로직 로우 레벨의 클럭 신호 (ø5)를 출력한다. 그리고, 프로그램될 셀 트랜지스터가 소거 상태로 유지될 때 (소거 상태를 갖는 셀 트랜지스터를 포함하는 셀 스트링에 연결된 비트 라인은 대응하는 리던던트 비트 라인으로 대체됨), 접지된 비트 라인에 연결된 비트 라인 래치 회로의 반전 출력 ()은 항상 로직 하이 레벨로 유지되며, 그 결과 프로그램 상태 검출 회로 (PS)는 프로그램 페일을 나타내는 로직 로우 레벨의 클럭 신호 (ø5)를 출력한다.
앞서 설명된 바와 같이, 비록 결함 비트 라인들이 대응하는 리던던트 비트 라인들로 대체되더라도, 종래 기술에 따른 프로그램 상태 검출 회로가 그러한 결함 비트 라인들로 인해 항상 프로그램 페일을 알리는 로직 로우 레벨의 클럭 신호 (ø5)를 출력하기 때문에, 불휘발성 반도체 메모리 장치는 페일 디바이스로 분류된다. 이는 수율 저하의 원인이 된다.
본 발명의 목적은 결함 열로 인한 수율 저하를 방지할 수 있는 프로그램 상태 검출 회로를 갖는 불휘발성 반도체 메모리 장치 및 그것의 프로그램 방법을 제공하는 것이다.
도 1은 종래 기술에 따른 불휘발성 반도체 메모리 장치의 프로그램 상태 검출 회로를 보여주는 회로도;
도 2는 종래 기술에 따른 문제점을 설명하기 위한 도면;
도 3은 본 발명의 제 1 실시예에 따른 프로그램 상태 검출 회로를 구비한 플래시 메모리 장치의 블록도;
도 4는 도 3의 데이터 상태 판별 회로의 바람직한 실시예;
도 5는 도 3의 패스/페일 판별 회로의 바람직한 실시예;
도 6은 본 발명의 제 1 실시예에 따른 프로그램 알고리즘을 보여주는 흐름도;
도 7a 및 도 7b는 본 발명에 따른 Y-SCAN 동작을 설명하기 위한 타이밍도;
도 8은 본 발명의 제 2 실시예에 따른 프로그램 상태 검출 회로를 구비한 플래시 메모리 장치의 블록도;
도 9는 도 8의 프로그램 상태 판별 회로를 보여주는 블록도;
도 10은 도 9의 데이터 상태 판별부의 바람직한 실시예;
도 11은 도 9의 제 1 레지스터의 바람직한 실시예;
도 12는 도 9의 발진 제어 신호 발생기의 바람직한 실시예;
도 13은 도 9의 인에이블 회로의 바람직한 실시예;
도 14는 도 9의 디세이블 회로의 바람직한 실시예;
도 15는 본 발명의 제 2 실시예에 따른 프로그램 알고리즘을 보여주는 흐름도; 그리고
도 16a 내지 도 16d는 본 발명에 따른 Y-SCAN 동작을 설명하기 위한 타이밍도들이다.
*도면의 주요 부분에 대한 부호의 설명*
100 : 메모리 셀 어레이 110 : 페이지 버퍼
120 : 어드레스 발생 회로 130 : 열 디코더
140 : 페이지 버퍼 회로 150 : 리던던시 회로
160 : 데이터 상태 판별 회로 170 : 발진 회로
180 : 프로그램 패스/페일 판별 회로 190, 300 : 프로그램 상태 검출 회로
(구성)
본 발명에 따른 불휘발성 반도체 메모리 장치는 NAND형 플래시 메모리 장치이며, 일련의 프로그램 동작, 검증 읽기 동작 및 Y-SCAN 동작에 따라 수행되는 프로그램 사이클을 갖는다. 상기 메모리 장치는 메모리 셀 어레이, 페이지 버퍼 회로, 어드레스 발생 회로, 열 선택 회로, 카운트 업 신호 발생 회로, 그리고 프로그램 패스/페일 판별 회로를 포함한다. 상기 메모리 셀 어레이는 복수 개의 행들, 복수 개의 열들, 복수 개의 리던던트 열들, 그리고 상기 행들 및 열들의 교차 영역들에 각각 배열된 복수 개의 메모리 셀들을 갖는다. 상기 페이지 버퍼 회로는 상기 열들을 통해 상기 메모리 셀 어레이로부터 프로그램된 데이터 비트들을 읽고, 그렇게 읽혀진 프로그램된 데이터 비트들을 래치한다. 어드레스 발생 회로는 Y-SCAN 동작 동안 카운트-업 펄스 신호에 응답하여 열 어드레스를 발생하고, 열 선택 회로는 상기 열 어드레스에 응답하여 상기 열들 중 일부를 선택한다. 상기 열 선택 회로는 상기 어드레스 발생 회로부터 출력된 열 어드레스를 디코딩하는 열 디코더, 상기 열 디코더에 의해서 디코딩된 열 어드레스에 응답하여 상기 열들 중 일부를 선택하는 열 패스 게이트 회로, 그리고 상기 열 어드레스를 받아들이는 리던던시 회로로 구성된다. 여기서, 상기 리던던시 회로는 상기 열 어드레스에 대응하는 열들이 적어도 하나의 결함 열을 포함할 때 상기 열 디코더가 비활성화되게 하며, 상기 결함 함이 상기 열 패스 게이트 회로를 통해 대응하는 리던던트 열로 대체되게 한다.
계속해서, 상기 카운트-업 신호 발생 회로는 Y-SCAN 동작 동안 상기 읽기 회로에 래치된 프로그램된 데이터 비트들 중 상기 선택된 열들에 대응하는 프로그램된 데이터 비트들을 받아들인다. 그다음에, 상기 카운트-업 신호 발생 회로는 그렇게 입력된 프로그램된 데이터 비트들 모두 프로그램 상태를 나타낼 때 상기 카운트-업 펄스 신호를 발생한다. 상기 카운트-업 신호 발생 회로는 상기 선택된 열들에 대응하는 프로그램된 데이터 비트들이 각각 상기 프로그램 상태를 나타내는 지의 여부를 판별하여 발진 제어 신호를 발생하는 데이터 상태 판별 회로와, 상기 발진 제어 신호에 응답하여 상기 카운트-업 펄스 신호를 발생하는 발진 회로로 구성된다. 다시 말해서, 상기 데이터 상태 판별 회로는 상기 선택된 열들에 대응하는 상기 프로그램된 데이터 비트들 모두가 프로그램 상태를 나타낼 때 상기 발진 제어 신호를 활성화시키며, 그 결과 상기 열 어드레스를 증가시키기 위한 상기 카운트-업 펄스 신호가 활성화된다. 게다가, 상기 데이터 상태 판별 회로는 상기 선택된 열들에 대응하는 상기 프로그램된 데이터 비트들 중 적어도 하나의 데이터 비트가 불충분하게 프로그램된 상태를 나타낼 때 상기 발진 제어 신호를 비활성화시키며, 그 결과 상기 카운트-업 펄스 신호가 비활성화된다.
상기 프로그램 패스/페일 판별 회로는 상기 카운트-업 펄스 신호와 상기 열 어드레스에 응답해서 프로그램 패스 및 프로그램 페일 중 하나를 알리는 패스/페일 플래그 신호를 발생한다. 상기 프로그램 패스/페일 판별 회로는 상기 발진 제어 신호가 활성화되고 상기 열 어드레스의 모든 비트들이 로직 하이 레벨일 때, 프로그램 패스를 알리는 상기 로직 하이 레벨의 패스/페일 플래그 신호를 발생한다. 그리고, 상기 프로그램 패스/페일 판별 회로는 상기 발진 제어 신호가 비활성화될 때그리고 상기 발진 제어 신호가 활성화되고 상기 열 어드레스 비트들 중 적어도 하나가 로직 로우 레벨일 때, 상기 프로그램 페일을 알리는 상기 로직 로우 레벨의 패스/페일 플래그 신호를 발생한다.
(작용)
이와 같은 장치에 의하면, 리던던시 정보를 포함하는 열 어드레스에 따라 열 패스 게이트 회로에 의해서 선택되는 데이터 비트들을 이용하여 프로그램 패스/페일 판별 동작이 수행된다. 그러므로, 결함 비트 라인(들)은 프로그램 패스/페일을 점검하는 동작에 영향을 미치지 못한다.
(실시예)
이하, 본 발명의 바람직한 실시예들이 참조 도면들에 의거하여 상세히 설명된다.
제 1 실시예
도 3을 참조하면, 본 발명의 제 1 실시예에 따른 불휘발성 반도체 메모리 장치의 블록도가 도시되어 있다. 도 3의 불휘발성 반도체 메모리 장치 즉, NAND형 플래시 메모리 장치는 정보를 저장하기 위한 메모리 셀 어레이 (100)를 포함하고, 복수 개의 비트 라인들 (BL1-BLi) (i는 정수) 및 복수 개의 리던던트 비트 라인들 (RBL1-RBLj) (j은 정수)이 상기 메모리 셀 어레이 (100)를 통해 열 방향으로 배열된다. 상기 리던던트 비트 라인들 (RBL1-RBLj)은 비트 라인들 (BL1-BLi) 중 결함이 생긴 비트 라인들을 구제하기 위해서 사용된다. 상기 비트 라인들 (BL1-BLi) 및 상기 리던던트 비트 라인들 (RBL1-RBLj) 각각에는, 도 1에서 설명된 그리고 도 1에도시된 것과 동일한 구조를 갖는 셀 스트링들이 각각 연결되어 있다. 비트 라인들 (BL1-BLi)과 리던던트 비트 라인들 (RBL1-RBLj)이 연결된 페이지 버퍼 회로 (110)는 프로그램 사이클의 프로그램 동작 동안 비트 라인들 및 리던던트 비트 라인들을 프로그램될 데이터 상태에 따라 구동하는 드라이버로서 사용되고, 프로그램 사이클의 검증 읽기 동작 동안 선택된 페이지에 연결된 셀 트랜지스터들에 프로그램된 데이터 비트들을 감지하는 감지 증폭기 (또는, 읽기 회로)로서 사용되며, 도 1에 도시된 것과 동일하게 구성된다.
여기서, 프로그램이 시작되면, 정해진 횟수의 프로그램 사이클들이 반복적으로 수행되며, 각 프로그램 사이클은 프로그램 동작, 검증 읽기 동작 그리고 프로그램 패스/페일 판별 동작 (이후, Y-SCAN 동작이라 칭함)으로 이루어진다. 반면에, 각 프로그램 사이클의 프로그램 동작과 Y-SCAN 동작이 동시에 수행될 수 있다.
계속해서 도 3을 참조하면, 플래시 메모리 장치에는, 어드레스 발생 회로 (address generating circuit) (120), 열 디코더 (column decoder) (130), 열 패스 게이트 회로 (column pass gate circuit) (140), 리던던시 회로 (redundancy circuit) (150), 그리고 프로그램 상태 검출 회로 (program-status detecting circuit) (190)가 제공된다.
도 3의 어드레스 발생 회로 (120)는, 잘 알려진 바와 같이, 카운터로 구성되며 Y-SCAN 동작 동안 프로그램 상태 검출 회로 (190)로부터 출력되는 카운트 업 펄스 신호 (YCNTUP)에 응답하여 열 어드레스 (Ai) (이 실시예에서, i=1-8)를 발생한다. 상기 열 디코더 (130)는 상기 어드레스 발생 회로 (120)에서 생성된 열 어드레스 (Ai)를 디코딩하며, 그렇게 디코딩된 열 어드레스는 열 패스 게이트 회로 (140)로 전달된다. 상기 열 패스 게이트 회로 (140)는 상기 디코딩된 열 어드레스에 대응하는 비트 라인들 (BL1-BLi) 중 일부를 선택한다. 즉, 페이지 버퍼 회로 (110)에 제공되는 페이지 버퍼들 중 상기 선택된 비트 라인들에 대응하는 페이지 버퍼들이 선택된다. 그렇게 선택된 페이지 버퍼들에 저장되어 있는 데이터 비트들 (프로그램 동작이 수행된 후, 검증 읽기 동작 동안 읽혀진 데이터 비트들을 의미함)은 Y-SCAN 동작 동안 열 패스 게이트 회로 (140)를 통해 프로그램 상태 검출 회로 (190)로 순차적으로 전달된다.
또한, 상기 어드레스 발생 회로 (120)에서 생성된 열 어드레스는, 도 3에 도시된 바와 같이, 리던던시 회로 (150)로 전달된다. 상기 리던던시 회로 (150)는 열 어드레스에 대응하는 비트 라인들 중 결함 비트 라인이 존재하는 지의 여부를 판별한다. 상기 선택된 비트 라인들이 적어도 하나의 결함 비트 라인을 포함하면, 리던던시 회로 (150)는 열 디코더 (130)를 비활성화시키고, 이와 동시에 결함 비트 라인에 대응하는 리던던트 비트 라인이 열 패스 게이트 회로 (140)에 의해서 선택되게 한다. 즉, 열 어드레스에 대응하는 열들 중 결함 열이 존재하는 경우 (즉, 리던던시가 요구될 때), 결함 열에 대응하는 비트 라인은 리던던시 회로 (150) 및 열 패스 게이트 회로 (140)에 의해서 선택되지 않는 반면에, 결함 열에 대응하는 리던던트 비트 라인이 리던던시 회로 (150) 및 열 패스 게이트 회로 (140)에 의해서 선택된다.
각 프로그램 사이클의 Y-SCAN 동작 동안에, 상기 선택된 페이지 버퍼들에 래치된 데이터 비트들은 상기 열 패스 게이트 회로 (140)를 통해 프로그램 상태 검출 회로 (190)로 전달되며, 상기 프로그램 상태 검출 회로 (190)는 그렇게 전달된 데이터 비트들 모두 요구되는 상태 즉, 프로그램 상태 (예를 들면, 로직 '1')를 나타내는 지의 여부를 판별한다. 만약 데이터 비트들 모두 프로그램 상태를 나타내면, 상기 프로그램 상태 검출 회로 (190)로부터 출력되는 카운트 업 펄스 신호 (YCNTUP)는 하이-로우 천이를 가지며, 그 결과 어드레스 발생 회로 (120)로부터 출력되는 열 어드레스가 '1'만큼 증가된다. 그렇게 증가된 열 어드레스가 열 디코더 (130) 및 리던던시 회로 (150)로 전달됨에 따라, 열 패스 게이트 회로 (140)에 의해서 다음의 열들이 선택된다. 만약 데이터 비트들 중 적어도 하나의 데이터 비트가 불충분하게 프로그램된 상태를 나타내면, 어드레스 발생 회로 (120)가 비활성화되도록 (이는 이전에 생성된 열 어드레스가 '1'만큼 증가됨 없이 그대로 유지됨을 의미함) 프로그램 상태 검출 회로 (190)로부터 출력되는 상기 카운트 업 펄스 신호 (YCNTUP)는 로직 하이 레벨로 유지된다. 여기서, 열 디코더 (130), 열 패스 게이트 회로 (140) 그리고 리던던시 회로 (150)는 열 선택 회로 (column selecting circuit)를 구성한다.
계속해서 도 3을 참조하면, 본 발명에 따른 프로그램 상태 검출 회로 (190)는 데이터 상태 판별 회로 (data status discriminating circuit) (160), 발진 회로 (oscillation circuit) (170) 그리고 프로그램 패스/페일 판별 회로 (program pass/fail discriminating circuit) (180)를 포함한다. 열 패스 게이트 회로 (140)로부터 전달되는 바이트/워드 단위의 데이터 비트들 (Li)이 요구되는 프로그램 상태를 나타낼 때, 상기 데이터 상태 판별 회로 (160)는 발진 회로 (170)를 동작시키기 위한 발진 제어 신호 (LTo)를 발생한다. 상기 데이터 상태 판별 회로 (160)는 도 4에 도시된 바와 같이 연결된 2개의 NAND 게이트들 (161, 162) 및 하나의 NOR 게이트 (163)로 구성된다. 도 4에서 알 수 있듯이, 열 패스 게이트 회로 (140)를 통해 페이지 버퍼 회로 (110)로부터 전달되는 한 바이트의 데이터 비트들 (L1-L8) 모두 로직 하이 레벨을 가질 때 (즉, 모든 데이터 비트들 (L1-L8)이 프로그램 상태를 나타낼 때), 상기 발진 제어 신호 (LTo)는 로직 하이 레벨이 된다. 만약 적어도 하나의 데이터 비트가 로직 로우 레벨을 가질 때 (즉, 적어도 하나의 데이터 비트가 불충분하게 프로그램된 상태를 가질 때), 발진 제어 신호 (LTo)는 로직 로우 레벨이 된다.
다시 도 3을 참조하면, Y-SCAN 동작 구간 (또는, 프로그램 패스/페일 점검 구간)을 알리는 신호 (PGMSCN)가 하이로 활성화될 때 발진 회로 (170)의 출력 신호 즉, 카운트 업 펄스 신호 (YCNTUP)는 로직 로우 레벨에서 로직 하이 레벨로 천이된다. 그리고, 발진 회로 (170)는 데이터 상태 판별 회로 (160)로부터 출력되는 발진 제어 신호 (LTo)의 상태에 따라 로직 하이 레벨에서 로직 로우 레벨로 천이하는 카운트 업 펄스 신호 (YCNTUP)를 출력한다. 예를 들면, 열 패스 게이트 회로 (140)를 통해 전달되는 데이터 비트들 (L1-L8)이 프로그램 상태를 나타낼 때 발생된 로직 하이 레벨의 발진 제어 신호 (LTo)가 인가되는 경우, 발진 회로 (170)는 어드레스 발생 회로 (120)로부터의 열 어드레스가 '1'만큼 증가되도록 로직 하이 레벨에서 로직 로우 레벨로 천이하는 카운트 업 펄스 신호 (YCNTUP)를 출력한다.
상기 Y-SCAN 동작 동안, 프로그램 패스/페일 판별 회로 (180)는 어드레스 발생 회로 (120)에서 생성된 열 어드레스와 발진 회로 (170)로부터 출력된 카운트 업 펄스 신호 (YCNTUP)에 응답하여 프로그램 패스 (program pass) 또는 프로그램 페일 (program fail)을 알리는 플래그 신호 (PFi)를 발생한다. 프로그램 패스/페일 판별 회로 (180)는 도 5에 도시된 바와 같이 연결된 2개의 NAND 게이트들 (181, 182), 인버터 (183) 그리고 NOR 게이트 (184)로 구성된다. 어드레스 발생 회로 (120)로부터 출력되는 열 어드레스의 모든 비트들 (A1-A8)이 각각 로직 하이 레벨이고, 카운트 업 펄스 신호 (YCNTUP)가 로직 하이 레벨일 때, 상기 프로그램 패스/페일 판별 회로 (180)는 프로그램 패스를 알리는 로직 하이 레벨의 패스/페일 플래그 신호 (PFi)를 발생한다. 만약 열 어드레스 비트들 중 적어도 하나가 로직 로우 레벨이면, 상기 회로 (180)는 카운트 업 펄스 신호 (YCNTUP)의 로직 상태에 관계없이 프로그램 페일을 알리는 로직 로우 레벨의 패스/페일 플래그 신호 (PFi)를 발생한다. 그리고, 상기 카운트 업 펄스 신호 (YCNTUP)가 로직 로우 레벨일 때, 상기 회로 (180)는 비록 열 어드레스 비트들이 모두 로직 하이 레벨이더라도 프로그램 페일을 알리는 로직 로우 레벨의 패스/페일 플래그 신호 (PFi)를 발생한다.
페이지 버퍼 회로 (110)에 래치된 프로그램된 데이터 비트들을 직접 이용하여 프로그램 상태를 점검하는 종래 기술의 프로그램 상태 검출 회로 (PS)와 달리, 본 발명에 따른 플래시 메모리 장치의 프로그램 상태 검출 회로 (190)는 리던던시 정보를 포함하는 열 어드레스에 따라 열 패스 게이트 회로 (140)를 통해 전달되는 프로그램된 데이터 비트들을 이용하여 프로그램 상태를 점검한다. 따라서, 결함 비트 라인이 리던던시 회로 (150)의 제어에 따라 대응하는 리던던트 비트 라인으로 대체되었기 때문에, 본 발명의 프로그램 상태 검출 회로 (190)는 결함 비트 라인에 의해서 영향을 받지 않는다. 즉, 플래시 메모리 장치가 결함 비트 라인으로 인해 페일 디바이스로 분류되는 문제를 해결할 수 있다.
도 6은 본 발명에 따른 프로그램 알고리즘을 보여주는 흐름도이다. 이하, 본 발명에 따른 플래시 메모리 장치의 동작이 도 6 내지 도 7을 참조하여 상세히 설명된다.
앞서 설명된 바와 같이, 프로그램을 수행하기 이전에 모든 셀 트랜지스터들의 문턱 전압을 (-) 전위로 만들기 위한 소거 동작이 수행된 후, 프로그램이 도 6의 프로그램 알고리즘에 따라 수행될 것이다. 프로그램이 시작되면, 단계 (S100)에서는 프로그램될 데이터가 페이지 버퍼 회로 (110)에 로드되고, 다음 단계 (S110)에서는 열 어드레스가 리셋된다. 즉, 어드레스 발생 회로 (120)가 리셋된다. 이후, 상기 로드된 데이터를 메모리 셀 어레이 (100)에 저장하기 위한 일련의 프로그램 사이클들이 다음과 같이 수행된다.
먼저, 단계 (S120)에서 프로그램 동작이 앞서 설명된 것과 동일한 방법으로 소정 시간 동안 수행된 후, 절차는 단계 (S130)으로 진행한다. 단계 (S130)에서는 선택된 페이지의 메모리 셀들에 프로그램된 데이터 비트들이 페이지 버퍼 회로 (110)에 의해서 감지되고 래치된다. 즉, 검증 읽기 동작이 수행된다. 이후, Y-SCAN 동작이 다음과 같이 수행된다.
Y-SCAN 동작이 시작되면, 도 7a에 도시된 바와 같이, Y-SCAN 동작을 알리는신호 (PGMSCN)가 로직 로우 레벨에서 로직 하이 레벨로 천이한다. 바이트 단위의 열들에 대응하는 비트 라인들은 단계 (S110)에서 리셋된 열 어드레스 비트들 (A1-A8) (예를 들면, '0')에 따라 열 디코더 (130) (또는, 리던던시 회로 (150)) 및 열 패스 게이트 회로 (140)에 의해서 선택된다 (선택된 열들이 하나의 결함 열을 포함하는 경우, 하나의 리던던트 비트 라인과 7개의 비트 라인들이 선택된다). 또한, 상기 신호 (PGMSCN)가 로직 로우 레벨에서 로직 하이 레벨로 천이할 때, 프로그램 상태 검출 회로 (190)의 발진 회로 (170)로부터 출력되는 카운트 업 펄스 신호 (YCNTUP)는 로직 로우 레벨에서 로직 하이 레벨로 천이한다.
상기 선택된 열들에 대응하는 페이지 버퍼들에 래치된 바이트 단위의 프로그램된 데이터 비트들 (L1-L8)은 열 패스 게이트 회로 (140)를 통해 데이터 상태 판별 회로 (160)로 전달된다. 단계 (S150)에서 입력된 데이터 비트들 (L1-L8)이 모두 로직 하이 레벨로 판별될 때, 데이터 상태 판별 회로 (160)로부터 출력되는 발진 제어 신호 (LTo)는 로직 하이 레벨로 유지된다. 이때, 발진 회로 (170)는 로직 하이 레벨의 발진 제어 신호 (LTo)에 응답하여 로직 하이 레벨에서 로직 로우 레벨로 천이하는 카운트 업 펄스 신호 (YCNTUP)를 출력한다. 프로그램 패스/페일 판별 회로 (180)는 열 어드레스 비트들 모두 로직 로우 레벨이기 때문에 로직 로우 레벨의 패스/페일 플래그 신호 (PFi)를 출력한다. 이와 동시에, 어드레스 발생 회로 (120)는 상기 카운트 업 펄스 신호 (YCNTUP)의 하이-로우 천이에 응답하여 열 어드레스를 '1'만큼 증가시킨다 (단계 S160).
그렇게 증가된 열 어드레스가 마지막 열 어드레스인 지의 여부가 단계(S170)에서 판별된다. 만약 마지막 열 어드레스가 아니면, 열 디코더 (130), 리던던시 회로 (150), 그리고 열 패스 게이트 회로 (140)로 구성된 열 선택 회로는 그렇게 증가된 열 어드레스에 응답하여 바이트 단위의 열들을 선택한다 (단지 바이트 단위의 비트 라인들이 선택되거나, 결함 열이 있는 경우 리던던트 비트 라인 및 정상적인 비트 라인들이 선택될 수 있음은 자명하다). 상기 선택된 열들에 대응하는 페이지 버퍼들에 래치된 바이트 단위의 프로그램된 데이터 비트들 (L1-L8)은 열 패스 게이트 회로 (140)를 통해 데이터 상태 판별 회로 (160)로 전달된다. 입력된 데이터 비트들 (L1-L8)이 모두 로직 하이 레벨로 판별되는 경우 (데이터 비트들 모두 프로그램 상태를 나타낼 때), 다음 동작은 앞서 설명된 것과 동일하게 수행된다. 이때, 프로그램 패스/페일 판별 회로 (180)의 출력 (PFi)은 계속해서 로직 로우 레벨로 유지된다.
계속해서, 만약 증가된 열 어드레스에 따라 선택된 데이터 비트들이 항상 프로그램된 상태를 나타내면, 앞서 설명된 일련의 동작은 어드레스 발생 회로 (120)에서 생성된 열 어드레스 비트들이 모두 로직 하이 레벨이 될 때까지 (즉, 모든 열들이 선택될 때까지) 반복적으로 수행된다. 그 결과, 도 7a에 도시된 바와 같이, 어드레스 비트들 모두 로직 하이 레벨이고 카운트 업 펄스 신호 (YCNTUP)가 로직 로우 레벨에서 로직 하이 레벨로 천이할 때, 프로그램 패스/페일 판별 회로 (180)로부터 출력되는 패스/페일 플래그 신호 (PFi)는 로직 로우 레벨에서 로직 하이 레벨로 천이한다. 이는 선택된 페이지에 연결된 모든 셀 트랜지스터들이 올바르게 프로그램되었음을 의미한다.
만약 열 어드레스 비트들 모두 로직 하이 레벨이 되기 이전에 (마지막 열 어드레스가 생성되기 이전에), 열 어드레스에 대응하는 선택된 페이지 버퍼들로부터 데이터 상태 판별 회로 (160)로부터 전달된 데이터 비트들 (L1-l8) 중 적어도 하나의 데이터 비트가 로직 로우 레벨을 가지면 (즉, 적어도 하나의 데이터 비트가 불충분하게 프로그램되면), 도 7b에 도시된 바와 같이, 발진 제어 신호 (LTo)는 로직 하이 레벨에서 로직 로우 레벨로 비활성화된다. 이는 발진 회로 (170)로부터 출력되는 카운트 업 펄스 신호 (YCNTUP)가 로직 하이 레벨로 유지되게 한다. 따라서, 열 어드레스는 증가됨 없이 이전에 증가된 값으로 유지된다. 게다가, 도 7a에 도시된 바와 같이, 상기 신호 (PGMSCN)는 발진 제어 신호 (LTo)의 하이-로우 천이에 의해서 로직 로우 레벨이 된다. 이때, 프로그램 패스/페일 판별 회로 (180)는 열 어드레스 비트들 중 적어도 하나가 로직 로우 레벨로 유지되기 때문에 로직 로우 레벨의 패스/페일 플래그 신호 (PFi)를 출력한다. 이후, 현재 수행된 프로그램 사이클이 마지막인 지의 여부가 단계 (S190)에서 판별된다. 만약 현재 수행된 프로그램 사이클이 마지막이면, 프로그램은 프로그램 실패로서 종료된다. 만약 현재 수행된 프로그램 사이클이 마지막이 아니면, 정해진 횟수의 프로그램 사이클에 따라 프로그램 동작, 검증 읽기 동작 및 Y-SCAN 동작이 앞서 설명된 것과 동일한 방법으로 반복적으로 수행된다.
여기서, 이전 프로그램 사이클의 Y-SCAN 동작에서 프로그램 페일로 판별된 메모리 셀들을 지정한 열 어드레스는 다음에 수행되는 프로그램 사이클의 Y-SCAN 동작의 시작 열 어드레스로서 사용된다. 이는 Y-SCAN 동작을 수행하는 데 필요한시간이 단축됨을 의미한다. 결과적으로, 전반적인 프로그램 시간이 단축될 수 있다.
본 발명의 프로그램 알고리즘에 따르면, 메모리 셀 어레이 (100)에 배열된 비트 라인들 중 결함이 생긴 비트 라인들은 이 분야에 잘 알려진 방법에 따라 대응하는 리던던트 비트 라인들로 대체된다. 리던던시 정보를 포함하는 열 어드레스에 따라 열 선택 회로 (열 디코더, 리던던시 회로, 그리고 열 패스 게이트 회로를 포함함)에 의해서 선택된 열들은 결함 열을 포함하지 않는다. 그러므로, 프로그램 패스/페일을 점검하기 위해서 열 패스 게이트 회로 (140)를 통해 페이지 버퍼 회로 (110)에서 데이터 상태 판별 회로 (160)로 전달되는 데이터 비트들은 결함이 없는 정상적인 열들에 관련된 것이다. 따라서, 구제된 결함 열은 프로그램 패스/페일을 판별하는 동작에 영향을 미치지 않는다.
제 2 실시예
본 발명의 제 2 실시예에 따른 플래시 메모리 장치를 보여주는 블록도가 도 8에 도시되어 있다.
도 8를 참조하면, 플래시 메모리 장치는 2개의 메모리 셀 어레이들 (200a, 200b)을 포함하며, 각 메모리 셀 어레이 (200a, 200b)는 도 3에 도시된 것과 동일하게 구성된다. 각 어레이 (200a, 200b)는 별도의 행들 (워드 라인들)과 열들 (비트 라인들)을 구비하며, "매트"라고 불린다. 플래시 메모리 장치는 메모리 셀 어레이들 (200a, 200b) 각각에 대응하는 페이지 버퍼 회로들 (210a/210b) 및 열 패스 게이트 회로들 (220a/220b)을 포함한다. 게다가, 상기 플래시 메모리 장치에는 열디코더 리던던시 회로 (230) 그리고 어드레스 발생 회로 (240)가 제공된다. 상기 페이지 버퍼 회로들 (210a, 210b), 열 패스 게이트 회로들 (220a, 220b), 열 디코더 열 패스 게이트 회로 (230), 그리고 어드레스 발생 회로 (240)는 도 3의 구성 요소들과 동일한 기능을 수행하며, 그것의 설명은 그러므로 생략된다.
제 2 실시예에 따른 플래시 메모리 장치는 2개의 메모리 셀 어레이들 (200a, 200b)이 동시에 프로그램되는 기능을 지원한다. 이후, 이러한 프로그램 기능을 1K 프로그램이라 칭한다. 플래시 메모리 장치는 프로그램 상태 검출 회로 (300)를 포함하며, 상기 회로 (300)는 열 패스 게이트 회로들 (220a, 220b)를 통해 전달되는 데이터 (DM1i, DM2i) (i는 양의 정수)를 받아들이고, 상기 각 데이터 (DM1i, DM2i)가 프로그램 상태를 갖는 지의 여부를 판별한다.
상기 메모리 셀 어레이들 (200a, 200b)에 배열된 비트 라인들 중 결함이 생긴 비트 라인들은 이 분야에 잘 알려진 방법에 따라 대응하는 리던던트 비트 라인들로 대체된다. 리던던시 정보를 포함하는 열 어드레스에 따라 열 디코더 리던던시 회로 (230) 그리고 열 패스 게이트 회로 (220a, 220b)를 통해 선택된 열들은 결함 열을 포함하지 않는다. 그러므로, 프로그램 패스/페일을 점검하기 위해서 열 패스 게이트 회로들 (220a, 220b)를 통해 페이지 버퍼 회로들 (210a, 210b)에서 프로그램 상태 검출 회로 (300)로 전달되는 데이터 비트들은 결함이 없는 정상적인 열들에 관련된 것이다. 따라서, 구제된 결함 열은 프로그램 패스/페일을 판별하는 동작에 영향을 미치지 않는다. 그러므로, 본 발명의 제 2 실시예에 따르면, 종래 기술에서 생기 문제점들을 해결할 수 있다.
계속해서 도 8을 참조하면, 상기 프로그램 상태 검출 회로 (300)는 메모리 셀 어레이 (200a)에 대응하는 열 패스 게이트 회로 (220a)를 통해 전달된 데이터 비트들 (DM1i)이 프로그램 상태 (예를 들면, 로직 '1')를 갖는 지의 여부를 판별함과 동시에, 메모리 셀 어레이 (200b)에 대응하는 열 패스 게이트 회로 (200b)를 통해 전달된 데이터 비트들 (DM2i)이 프로그램 상태 (예를 들면, 로직 '1')를 갖는 지의 여부를 판별한다. 상기 프로그램 상태 검출 회로 (300)는 판별 결과로서 신호들 (PF_OSC, PF_FSR1, PF_FSR2)를 출력한다. 이에 대한 설명은 이후 상세히 설명된다.
도 9를 참조하면, 본 발명의 제 2 실시예에 따른 프로그램 패스/페일 판별 회로를 보여주는 블록도가 도시되어 있다. 프로그램 상태 검출 회로 (300)는 2개의 데이터 상태 판별부들 (310, 312), 제 1 내지 제 3 레지스터들 (314, 316, 328), 발진기 콘트롤러 (324), 그리고 발진기 (326)를 포함한다.
상기 데이터 상태 판별부들 (310, 312)은 메모리 셀 어레이들 (200a, 200b)에 각각 대응한다. 데이터 상태 판별부 (310)는 대응하는 메모리 셀 어레이 (200a)로부터 읽혀진 데이터 비트들 중 열 패스 게이트 회로 (220a)를 통해 전달된 데이터 비트들 (DM1i) (예를 들면, 바이트 단위의 데이터 비트들) 모두 프로그램 상태를 갖는 지의 여부를 판별하며, 판별 결과로서 신호 (pf_dM1FAIL)를 출력한다. 마찬가지로, 데이터 상태 판별부 (312)는 대응하는 메모리 셀 어레이 (200b)로부터 읽혀진 데이터 비트들 중 열 패스 게이트 회로 (220b)를 통해 전달된 데이터 비트들 (DM2i) (예를 들면, 바이트 단위의 데이터 비트들) 모두 프로그램 상태를 갖는지의 여부를 판별하며, 판별 결과로서 신호 (pf_dM2FAIL)를 출력한다.
상기 데이터 상태 판별부 (310)의 바람직한 실시예를 보여주는 도 10을 참조하면, 데이터 상태 판별부 (310)는 도시된 바와 같이 연결된 3개의 NAND 게이트들 (501, 502, 505), NOR 게이트 (503) 그리고 2개의 인버터들 (504, 506)로 구성된다. 도 10에서, 신호 (ACP_M1)는 메모리 셀 어레이 (200a)의 선택 유무를 나타내며, 선택될 때 로직 하이 레벨을 갖는다. 만약 데이터 비트들 (DM1<0>-DM1<7>) 모두 로직 '1'이면 (모두 프로그램 상태를 가지면), 신호 (pf_dM1FAIL)는 로직 하이 레벨이 된다. 이는 선택된 열들에 대응하는 셀 트랜지스터들이 요구되는 프로그램 상태에 대응하는 문턱 전압으로 프로그램되었음을 의미한다. 이에 반해서, 데이터 비트들 (DM1<0>-DM1<7>) 중 적어도 하나가 로직 '0'이면, 신호 (pf_dM1FAIL)는 로직 로우 레벨이 된다. 이는 선택된 열들에 대응하는 셀 트랜지스터들이 충분히 프로그램되지 않았음을 의미한다. 비록 도면에는 도시되지 않았지만, 메모리 셀 어레이 (200b)에 대응하는 데이터 상태 판별부 (312) 역시 도 10과 동일하게 구성됨은 자명하다.
다시 도 9를 참조하면, 제 1 및 제 2 레지스터들 (314, 316)은 마지막 프로그램 사이클 동안 데이터 상태 판별부들 (310, 312)로부터 출력된 신호들 (pf_dM1FAIL, pf_dM2FAIL)을 각각 저장한다. 마지막 프로그램 사이클에서, 레지스터들 (314, 316)은 대응하는 데이터 상태 판별부들 (310, 312)로부터 출력된 신호들 (pf_dM1FAIL, pf_dM2FAIL)에 응답하여 신호들 (pf_fM1FAIL/pf_fM2FAIL)을 각각 출력한다. 데이터 상태 판별부 (310)에 대응하는 제 1 레지스터 (314)의 바람직한실시예가 도 11에 도시되어 있다.
도 11을 참조하면, 제 1 레지스터 (314)는 AND 게이트 (507), 3개의 NAND 게이트들 (508, 515, 516), 2개의 인버터들 (511, 514), 3개의 NOR 게이트들 (509, 510, 514) 그리고 펄스 발생기 (512)로 구성되며, 도면에 도시된 바와 같이 연결되어 있다. 상기 NAND 게이트들 (515, 516)은 SR 플립플롭으로 동작한다. 도 11에서, 신호 (INT_S1KPGM)는 1K 프로그램 동작을 알리는 신호이고, 신호 (PGM_FLPMAX)는 마지막 프로그램 사이클을 알리는 신호이며, 신호 (RD_PYSCNEN)는 펄스 신호로서 Y-SCAN 동작의 시작을 알리는 신호이다. 그리고, 신호 (INT_PPWRUP)는 파워-업시 활성화되는 신호이며, 신호 (pf_lSCNen)는 발진기 콘트롤러 (324)로부터 제공되는 신호이다. 도 11에서 사용되는 신호들 모두 액티브 하이 신호들이다.
회로 동작에 있어서, 상기 제 1 레지스터 (314)는 파워-업시 또는 1K 프로그램이 요구될 때 초기화되며, 그 결과 SR 플립플롭의 출력 신호 (pf_fM1FAIL)는 로직 로우 레벨이 된다. 만약 현재 수행되는 프로그램 사이클이 마지막이 아니면 즉, 신호 (PGM_FLPMAX)가 로직 로우 레벨이면, 신호 (pf_fM1FAIL)는 초기화된 레벨 (로직 로우 레벨)로 유지된다. 이는 NAND 게이트 (515)의 일 입력 (SET)이 로직 하이 레벨로 유지되기 때문이다. 결과적으로, 마지막 프로그램 사이클이 아닌 경우, 신호 (pf_fM1FAIL)는 대응하는 데이터 상태 판별부 (310)의 출력 신호 (pf_dM1FAIL)에 관계없이 초기화된 레벨로 유지된다. 이에 반해서, 현재 수행되는 프로그램 사이클이 마지막 프로그램 사이클인 경우, 신호 (PGM_FLPMAX)는 로직 로우 레벨에서 로직 하이 레벨로 천이한다. 그러므로, 신호 (pf_fM1FAIL)는 대응하는 데이터 상태판별부 (310)로부터 출력되는 신호 (pf_dM1FAIL)에 영향을 받는다. 예컨대, 데이터 상태 판별부 (310/312)의 출력 신호 (pf_dM1FAIL/pf_dM2FAIL)가 로직 하이 레벨일 때 (즉, 선택된 열들에 대응하는 셀 트랜지스터들 중 적어도 하나가 충분히 프로그램되지 않았을 때), NAND 게이트 (505)의 입력 신호 (SET)가 로직 하이 레벨에서 로직 로우 레벨로 천이하기 때문에 레지스터 (314/316)의 출력 신호 (pf_fM1FAIL/pf_fM2FAIL)는 로직 로우 레벨에서 로직 하이 레벨로 천이한다.
상기 데이터 상태 판별부 (312)에 대응하는 제 2 레지스터 (316) 역시 도 11과 동일하게 구성됨은 자명하며, 그것의 설명은 그러므로 생략된다. 앞서 설명으로부터 알 수 있듯이, 제 1 및 제 2 레지스터들 (314, 316)은 1K 프로그램이 수행되고 현재의 프로그램 사이클이 마지막일 때만 대응하는 데이터 상태 판별부들 (310, 312)의 출력 신호들 (pf_dM1FAIL, pf_dM2FAIL)에 의해서 각각 영향을 받는다.
도 9를 다시 참조하면, 발진기 콘트롤러 (324)는 인에이블 회로 (318), 디세이블 회로 (320) 그리고 발진 제어 신호 발생기 (322)로 구성된다. 상기 발진 제어 신호 발생기 (322)는 인에이블 회로 (318)로부터 출력되는 인에이블 신호 (PF_START)에 응답하여 발진 제어 신호 (pf_lSCNen)를 활성화시키고, 디세이블 회로 (320)로부터 출력되는 디세이블 신호 (PF_PPFEND)에 응답하여 발진 제어 신호 (pf_lSCNen)를 비활성화시킨다.
상기 발진 제어 신호 발생기 (322)의 바람직한 실시예가 도 12에 도시되어 있다. 도 12를 참조하면, 발진 제어 신호 발생기 (322)는 도면에 도시된 바와 같이 연결된 5개의 인버터들 (517, 519, 522, 523, 524), NOR 게이트 (518), 플립플롭(520) 그리고 지연부 (521)로 구성된다. 상기 플립플롭 (520)은 래치로서 기능하며, 파워-업시 초기화된다. 상기 플립플롭 (520)은 클럭 신호로서 신호 (RD_PYSCNEN)의 하이-로우 천이에 동기되어 인에이블 회로 (318)로부터 출력되는 인에이블 신호 (PF_START)를 래치한다. 만약 인에이블 신호 (PF_START)가 로직 하이 레벨이면, 발진 제어 신호 (pf_lSCNen)는 로직 로우 레벨에서 로직 하이 레벨로 천이한다. 이로 인해서, 발진기 (326)는 소정 주기를 갖는 발진 신호 (PF_OSC)를 발생한다. 이에 반해서, 인에이블 신호 (PF_START)가 로직 로우 레벨이면, 발진 제어 신호 (pf_lSCNen)는 계속해서 로직 로우 레벨의 초기 상태로 유지된다. 이로 인해서, 발진기 (326)는 동작하지 않는다. 게다가, 상기 플립플롭 (520)은 디세이블 회로 (320)로부터 출력되는 디세이블 신호 (PF_PPFEND)가 로직 로우 레벨에서 로직 하이 레벨로 천이할 때 초기화된다. 이는 발진 제어 신호 (pf_lSCNen)가 로직 하이 레벨에서 로직 로우 레벨로 천이하게 한다. 상기 지연부 (521)는 반전기로서 동작하며, 입력 신호 (DI)의 로우-하이 천이를 소정 시간 지연시켜 출력한다. 반면에, 입력 신호 (DI)의 하이-로우 천이는 지연없이 출력된다.
상기 인에이블 회로 (318)의 바람직한 실시예를 보여주는 도 13을 참조하면, 도면에 도시된 바와 같이 연결된 2개의 NAND 게이트들 (525, 526), 2개의 NOR 게이트들 (527, 530), 2개의 AND 게이트들 (528, 529), 그리고 인버터 (531)가 인에이블 회로 (318)를 구성한다. 회로 동작에 있어서, 현재 수행되는 프로그램 사이클이 마지막 프로그램 사이클이 아닐 때 (INT_S1KPGM='H', PGM_FLPMAX='L'), 인에이블 회로 (318)는 데이터 상태 판별부들 (310, 312)로부터 출력되는 신호들(pf_dM1FAIL, pf_dM2FAIL)에 응답하여 로직 로우 레벨 또는 로직 하이 레벨의 인에이블 신호 (PF_START)를 발생한다. 예컨대, 상기 신호들 (pf_dM1FAIL, pf_dM2FAIL) 중 어느 하나라도 로직 하이 레벨 (선택된 데이터에 대한 프로그램 실패를 의미함)이면, 인에이블 신호 (PF_START)는 로직 로우 레벨이 된다. 앞서 설명된 바와 같이, 이는 발진 제어 신호 (pf_lSCNen)가 로직 로우 레벨로 유지되게 하며, 그 결과 발진기 (326)로부터 발진 신호 (PF_OSC)가 생성되지 않는다 (Y-SCAN 동작이 수행되지 않는다). 이에 반해, 상기 신호들 (pf_dM1FAIL, pf_dM2FAIL) 모두 로직 로우 레벨 (선택된 데이터에 대한 프로그램 성공을 의미함)이면, 인에이블 신호 (PF_START)는 로직 하이 레벨이 된다. 이는 발진 제어 신호 (pf_lSCNen)가 로직 하이 레벨이 되게 하며, 그 결과 발진기 (326)는 소정 주기를 갖는 발진 신호 (PF_OSC)를 출력한다.
반면에, 현재 수행되는 프로그램 사이클이 마지막 프로그램 사이클인 경우, 상기 신호들 (pf_dM1FAIL, pf_dM2FAIL) 중 어느 하나라도 로직 로우 레벨 (선택된 데이터에 대한 또는 그에 대응하는 메모리 셀 어레이에 대한 프로그램 성공을 의미함)이면, 인에이블 신호 (PF_START)는 로직 하이 레벨이 된다. 이는 발진 제어 신호 (pf_lSCNen)가 로직 하이 레벨이 되게 하며, 그 결과 발진기 (326)는 소정 주기를 갖는 발진 신호 (PF_OSC)를 출력한다. 그리고, 상기 신호들 (pf_dM1FAIL, pf_dM2FAIL) 모두 로직 하이 레벨이면, 인에이블 신호 (PF_START)는 로직 로우 레벨이 된다. 이는 발진 제어 신호 (pf_lSCNen)가 로직 로우 레벨로 유지되게 한다. 이는 발진 제어 신호 (pf_lSCNen)가 로직 로우 레벨로 유지되게 하며, 그 결과 발진기 (326)로부터 발진 신호 (PF_OSC)가 생성되지 않는다 (Y-SCAN 동작이 수행되지 않는다).
상기 디세이블 회로 (320)의 바람직한 실시예를 보여주는 도 14를 참조하면, 도면에 도시된 바와 같이 연결된 NAND 게이트들 (533, 534, 536, 542), NOR 게이트들 (538, 545), OR 게이트 (532), AND 게이트 (544), 인버터들 (537, 539, 541, 545, 546, 548), 펄스 발생기들 (540, 547), 그리고 플립플롭 (543)은 디세이블 회로 (320)를 구성한다. 상기 펄스 발생기들 (540, 547) 각각은 입력 신호가 로직 로우 레벨에서 로직 하이 레벨로 천이할 때 액티브 로우의 펄스 신호를 발생한다.
회로 동작에 있어서, 상기 플립플롭 (543)은 파워-업시 초기화되거나, 디세이블 신호 (PF_PPFEND)가 로직 하이 레벨에서 로직 로우 레벨로 천이할 때 초기화된다. 그렇게 초기화된 플립플롭 (543)은 클럭 신호로서 신호 (RD_PYSCNEN)와 인버터 (537)를 통해 발진 신호 (PF_OSC)를 받아들이는 NOR 게이트 (538)의 출력 신호에 응답하여 (즉, 발진 신호 (PF_OSC)가 로직 로우 레벨에서 로직 하이 레벨로 천이할 때) NOR 게이트 (536)의 출력 신호를 래치한다.
현재 수행되는 프로그램 사이클이 마지막 프로그램 사이클이 아닐 때 (신호들 (PGM_FLPMAX, pf_fM1FAIL, pf_fM2FAIL) 모두 로직 로우 레벨로 유지될 때), NAND 게이트 (536)의 출력 신호는 데이터 상태 판별부들 (310, 312)의 출력 신호들 (pf_dM1FAIL, pf_dM2FAIL) 중 어느 하나가 로직 하이 레벨 (선택된 데이터에 대한 프로그램 실패를 의미함)일 때 신호 (ACP_FFYADD)에 관계없이 로직 하이 레벨이 된다. 이는 액티브 하이 펄스의 디세이블 신호 (PF_PPFEND)가 생성되게 한다. 결국,앞서 설명된 바와 같이, 발진 제어 신호 (pf_lSCNen)는 액티브 하이 펄스의 디세이블 신호 (PF_PPFEND)에 의해서 로직 로우 레벨로 비활성화된다. 상기 신호 (ACP_FFYADD)는 어드레스 발생 회로 (240)로부터 마지막 열 어드레스가 생성되었을 때 로직 로우 레벨에서 로직 하이 레벨로 천이하는 신호이다. 만약 현재 수행되는 프로그램 사이클이 마지막 프로그램 사이클이면 (PGM_FLPMAX='1'), NAND 게이트 (536)로부터 출력되는 신호의 로직 레벨은 데이터 상태 판별부들 (310, 312)의 출력 신호들 (pf_dM1FAIL, pf_dM2FAIL)에 관계없이 신호 (ACP_FFYADD)에 의해서 결정된다. 신호 (ACP_FFYADD)가 로직 로우 레벨일 때 (마지막 열 어드레스가 생성되지 않을 때), NAND 게이트 (536)의 출력 신호는 로직 로우 레벨이 된다. 이러한 조건 하에서, 제 1 및 제 2 레지스터들 (314, 316)의 출력 신호들 (pf_fM1FAIL, pf_fM2FAIL) 모두 로직 로우 레벨일 때 (열 패스 게이트 회로들 (220a, 220b)을 통해 전달된 데이터 (DM1i, DM2i) 모두 프로그램 상태를 가질 때), 디세이블 신호 (PF_PPFEND)는 계속해서 로직 로우 레벨로 유지되며, 그 결과 발진 제어 신호 (pf_lSCNen)는 계속해서 로직 하이 레벨로 유지된다. 이에 반해서, 출력 신호들 (pf_fM1FAIL, pf_fM2FAIL) 중 어느 하나라도 로직 하이 레벨이 되면, 액티브 하이 펄스의 디세이블 신호 (PF_PPFEND)가 생성된다. 이는 발진 제어 신호 (pf_lSCNen)가 로직 로우 레벨로 비활성화되게 한다.
다시 도 9를 참조하면, 프로그램 상태 검출 회로 (300)는 제 3 레지스터 (328)를 더 포함하며, 상기 레지스터 (328)는 메모리 셀 어레이들 (200a, 200b) 각각에 대한 프로그램 성공 또는 프로그램 실패를 알리는 플래그 신호들 (PF_FSR1,PF_FSR2)을 출력한다. 상기 신호들 (PF_FSR1, PF_FSR2)은, 먼저, 1K 프로그램을 알리는 명령 신호 (PGM)에 의해서 프로그램 실패를 의미하는 로직 하이 레벨로 각각 설정된다. 1K 프로그램이 시작된 후, 상기 신호들 (PF_FSR1, PF_FSR2)은 현재 수행되는 프로그램 사이클이 마지막 프로그램 사이클이 아닐 때 신호 (ACP_FFYADD)에 의해서 영향을 받는다. 만약 현재 수행되는 프로그램 사이클이 마지막 프로그램 사이클이면, 플래그 신호들 (PF_FSR1, PF_FSR2)은 신호들 (ACP_FFYADD, pf_fM1FAIL, pf_fM2FAIL)에 의해서 영향을 받는다. 이에 대한 설명은 이후 상세히 설명된다.
앞서 설명된 제 2 실시예의 플래시 메모리 장치에 따르면, 마지막 프로그램 사이클 이전에 메모리 셀 어레이들 중 어느 하나에서 선택된 열들의 메모리 셀들에 대한 프로그램 실패가 생기면, 메모리 셀 어레이들 (200a, 200b)에 대한 Y-SCAN 동작을 중지하고 다음의 프로그램 사이클이 수행된다. 이때, 다음의 프로그램 사이클의 Y-SCAN 동작의 시작 열 어드레스로서 이전 프로그램 사이클의 Y-SCAN 동작에서 마지막으로 사용된 열 어드레스 (충분히 프로그램되지 않은 셀들을 지정한 열 어드레스)가 사용됨에 유의해야 한다. 마지막 프로그램 사이클이 수행되는 동안, 메모리 셀 어레이들 (200a, 200b) 중 어느 하나에서 프로그램 실패가 생기더라도 다른 하나의 메모리 셀 어레이에 대한 프로그램 성공 또는 실패를 확인할 수 있도록 Y-SCAN 동작은 중단되지 않는다. 즉, 열 어드레스가 계속해서 생성된다.
도 15는 본 발명의 제 2 실시예에 따른 프로그램 알고리즘을 보여주는 흐름도이다. 이하, 본 발명의 제 2 실시예에 따른 플래시 메모리 장치의 동작이 도 15 및 도 16을 참조하여 상세히 설명된다.
앞서 설명된 바와 같이, 프로그램을 수행하기 이전에 모든 셀 트랜지스터들의 문턱 전압을 (-) 전위로 만들기 위한 소거 동작이 수행된 후, 1K 프로그램 (메모리 셀 어레이들 (200a, 200b)이 동시에 프로그램되는 것을 의미함)이 도 6의 프로그램 알고리즘에 따라 수행될 것이다. 1K 프로그램이 시작되면, 앞서 설명된 바와 같이, 프로그램 상태 검출 회로 (300)의 제 3 레지스터 (328)가 초기화된다. 즉, 플래그 신호들 (PF_FSR1, PF_FSR2)이 프로그램 실패를 의미하는 로직 하이 레벨로 각각 초기화된다. 그리고, 디세이블 신호 (PF_PPFEND) 및 발진 제어 신호 (pf_lSCNen) 역시 로직 로우 레벨로 초기화된다.
프로그램될 데이터가 페이지 버퍼 회로들 (210a, 210b)에 각각 로드되고 (S200), 어드레스 발생 회로 (240)는 단계 (S210)에서 리셋된다. 이후, 상기 로드된 데이터를 메모리 셀 어레이들 (200a, 200b)에 저장하기 위한 일련의 프로그램 사이클들 (프로그램 동작, 읽기 검증 동작 그리고 Y-SCAN 동작)이 다음과 같이 수행된다.
상기 페이지 버퍼 회로들 (210a, 210b)에 각각 로드된 데이터에 대한 1K 프로그램 동작이 앞서 설명된 것과 동일한 방법으로 단계 (S220)에서 수행되고, 절차는 단계 (S230)으로 진행한다. 단계 (S230)에서는 메모리 셀 어레이들 (200a, 200b)의 선택된 페이지에 대응하는 메모리 셀들에 프로그램된 데이터 비트들이 페이지 버퍼 회로들 (210a, 210b)에 의해서 감지되고 래치된다. 즉, 검증 읽기 동작이 수행된다. 이후, Y-SCAN 동작이 다음과 같이 수행된다.
Y-SCAN 동작이 시작되면, 도 16a에 도시된 바와 같이, Y-SCAN 동작의 시작을알리는 펄스 형태의 신호 (RD_PYSCNEN)가 생성된다. 이때, 각 메모리 셀 어레이 (200a, 200b)의 열들 중 바이트 단위의 열들 (비트 라인들 또는 열들에 대응하는 페이지 버퍼들)이 이전에 초기화된 열 어드레스에 따라 열 디코더 리던던시 회로 (230)와 열 패스 게이트 회로들 (220a, 220b)에 의해서 선택된다 (각 메모리 셀 어레이 (200a, 200b)에 대응하는 선택된 열들이 하나의 결함 열을 포함하는 경우, 메모리 셀 어레이 당 하나의 리던던트 비트 라인과 7개의 비트 라인들이 선택될 것이다) (S240). 상기 메모리 셀 어레이들 (200a, 200b)에 각각 대응하는 선택된 열들의 페이지 버퍼들에 래치된 데이터 (DM1i, DM2i) (이하, DM1i는 제 1 데이터라 칭하고, DM2i는 제 2 데이터라 칭한다)는 대응하는 데이터 상태 판별부들 (310, 312)에 각각 전달된다.
상기 제 1 및 제 2 데이터 (DM1i, DM2i)의 모든 비트들이 프로그램 상태 (로직 '1')를 갖는 지의 여부가 단계 (S250)에서 프로그램 상태 검출 회로 (300)에 의해서 판별된다. 만약 모든 비트들이 프로그램 상태를 가지면, 신호들 (pf_dM1FAIL, pf_dM2FAIL) 각각은 선택된 데이터가 올바르게 프로그램되었음을 나타내는 로직 로우 레벨이 된다. 이때, 인에이블 신호 (PF_START)는 로직 하이 레벨이 되며, 신호 (RD_PYSCNEN)의 하이-로우 천이시 발진 제어 신호 발생기 (322)의 플립플롭 (520)에 래치된다. 이로 인해서, 발진기 (326)가 동작하도록 발진 제어 신호 (pf_lSCNen)가 로직 로우 레벨에서 로직 하이 레벨로 천이한다. 발진 신호 (PF_OSC)가 로직 하이 레벨에서 로직 로우 레벨로 천이할 때, 어드레스 발생 회로 (240)는 다음의 열들이 선택되도록 열 어드레스를 '1'만큼 증가시킨다 (S260).
상기 어드레스 발생 회로 (240)로부터 출력된 열 어드레스가 마지막 열 어드레스인 지의 여부가 단계 (S270)에서 판별된다. 만약 그렇지 않다면, 앞서 설명된 단계들 (S240, S250, S260)이 모든 열들이 선택될 때까지 (즉, 마지막 열 어드레스가 생성될 때까지) 반복적으로 수행된다. 만약 그렇다면, 신호 (ACP_FFYADD)가 로직 로우 레벨에서 로직 하이 레벨로 천이하며, 그 결과 제 3 레지스터 (328)로부터 출력되는 플래그 신호들 (PF_FSR1, PF_FSR2) 모두 프로그램 실패를 의미하는 로직 로우 레벨로 천이한다. 이후, 도 16a에서 알 수 있듯이, 디세이블 신호 (PF_PPFEND) 및 발진 제어 신호 (pf_lSCNen)가 신호 (ACP_FFYADD)의 로우-하이 천이에 따라 순차적으로 비활성화된다.
도 16b를 참조하면, 임의의 프로그램 사이클의 Y-SCAN 동작 동안 (또는, 신호 (PGM_FLPMAX)가 로직 로우 레벨로 유지되는 동안) 데이터 상태 판별부들 (310, 312)로 각각 전달된 제 1 및 제 2 데이터 (DM1i, DM2i) 중 어느 하나 (예를 들면, 제 2 데이터)가 불충분하게 프로그램된 것으로 판별될 때 (S250), 제 2 데이터 (DM2i)에 대응하는 데이터 상태 판별부 (312)의 출력 신호 (pf_dM2FAIL)는 로직 로우 레벨에서 로직 하이 레벨로 천이한다. 현재 수행되는 프로그램 사이클이 마지막이 아니기 때문에 즉, 신호 (PGM_FLPMAX)가 로직 로우 레벨로 유지되기 때문에, 상기 디세이블 회로 (320)의 플립플립 (543)의 입력 신호 (DI), 즉 NAND 게이트 (536)의 출력 신호는 로직 로우 레벨에서 로직 하이 레벨로 천이한다. 결과적으로, 도 16b에 도시된 바와 같이, 상기 디세이블 회로 (320)는 액티브 하이 펄스의 디세이블 신호 (PF_PPFEND)를 발생하며, 이는 발진 제어 신호 (pf_lSCNen)가 하이-로우천이를 갖게 한다. 앞서 설명된 절차를 통해 상기 프로그램 사이클의 Y-SCAN 동작이 종료된다. 상기 Y-SCAN 동작에서 마지막으로 사용된 열 어드레스는 다음 프로그램 사이클의 Y-SCAN 동작의 시작 열 어드레스로 사용될 수 있도록 어드레스 발생 회로 (240)에 그대로 유지된다.
상기 프로그램 사이클의 Y-SCAN 동작이 종료된 후 즉, 메모리 셀 어레이들 (200a, 200b) 중 어느 하나에 대응하는 데이터 (DM1i/DM2i)에 대한 프로그램 실패가 판별된 후 (S250), 상기 프로그램 사이클이 마지막 프로그램 사이클인 지의 여부가 단계 (S280)에서 판별된다. 만약 그렇지 않으면, 절차는 프로그램 동작을 수행하는 단계 (S220)로 진행한다. 이후 동작은 앞서 설명된 것과 동일하게 수행된다.
도 16c를 참조하면, 신호 (PGM_FLPMAX)가 로직 하이 레벨로 유지되는 동안 즉, 마지막 프로그램 사이클의 Y-SCAN 동작 동안, 데이터 상태 판별부들 (310, 312)로 각각 전달된 제 1 및 제 2 데이터 (DM1i, DM2i) 중 어느 하나 (예를 들면, 제 2 데이터)가 불충분하게 프로그램된 것으로 판별될 때 (S250), 데이터 상태 판별부 (312)의 출력 신호 (pf_dM2FAIL)는 로직 하이 레벨이 된다. 현재 수행되는 프로그램 사이클이 마지막이기 때문에, 로직 하이 레벨의 신호 (pf_dM2FAIL)는 제 2 레지스터 (316)에 저장된다. 마찬가지로, 로직 로우 레벨의 신호 (pf_dM1FAIL)는 제 1 레지스터 (314)에 저장된다. 결과적으로, 제 2 레지스터 (316)의 출력 신호 (pf_fM2FAIL)는 로직 로우 레벨에서 로직 하이 레벨로 천이하는 반면에, 제 1 레지스터 (314)의 출력 신호 (pf_fM1FAIL)는 로직 로우 레벨로 유지된다. 비록 신호(pf_dM2FAIL)가 로직 하이 레벨이 되더라도, 디세이블 신호 (PF_PPFEND)는 계속해서 로직 로우 레벨로 유지된다. 왜냐하면, 현재 수행되는 프로그램 사이클이 마지막 프로그램 사이클이고 신호 (ACP_FFYADD)가 로직 로우 레벨이기 때문에, 디세이블 회로 (320)의 NAND 게이트 (536)의 출력 신호는 로직 로우 레벨로 유지된다. 그러므로, 디세이블 신호 (PF_PPFEND)는 AND 게이트 (536)의 입력 신호들 (pf_fM1FAIL, pf_fM2FAIL) 중 하나만이 로직 하이 레벨이기 때문에 계속해서 로직 로우 레벨로 유지된다. 결과적으로, 메모리 셀 어레이 (200b)이 프로그램 실패로 판별되더라도 (S290), 어드레스 발생 회로 (240)는 메모리 셀 어레이 (200a)의 다음의 열들이 선택되도록 발진 신호 (PF_OSC)의 하이-로우 천이에 응답하여 열 어드레스를 '1'만큼 증가시킨다 (S260). 이후, 마지막 열 어드레스가 생성될 때까지 앞서 설명된 과정들이 반복적으로 수행된다. 마지막 열 어드레스가 생성될 때 즉, 신호 (ACP_PFFYADD)가 로직 로우 레벨에서 로직 하이 레벨로 천이할 때, 디세이블 회로 (320)는 펄스 형태의 디세이블 신호 (PF_PPFEND)를 발생하며, 그 결과 발진 제어 신호 (pf_lSCNen)는 발진기 (326)가 동작하지 않도록 로직 로우 레벨로 비활성화된다.
또한, 신호 (ACP_FFYADD)가 로직 로우 레벨에서 로직 하이 레벨로 천이할 때, 제 3 레지스터 (328)의 출력 신호 (PF_FSR1)은, 도 16c에 도시된 바와 같이, 제 1 레지스터 (314)로부터 출력되는 로직 로우 레벨의 신호 (pf_fM1FAIL)에 의해서 로직 로우 레벨이 된다. 이는 메모리 셀 어레이 (200a)에 관련된 프로그램 동작이 성공하였음을 의미한다. 이에 반해서, 제 3 레지스터 (328)의 출력 신호(PF_FSR2)은, 도 16c에 도시된 바와 같이, 제 2 레지스터 (316)로부터 출력되는 로직 하이 레벨의 신호 (pf_fM2FAIL)에 의해서 계속해서 로직 하이 레벨로 유지된다. 이는 메모리 셀 어레이 (200b)에 관련된 프로그램 동작이 실패하였음을 의미한다.
계속해서 도 16d를 참조하면, 신호 (PGM_FLPMAX)가 로직 하이 레벨로 유지되는 동안 즉, 마지막 프로그램 사이클의 Y-SCAN 동작 동안, 데이터 상태 판별부들 (310, 312)로 각각 전달된 제 1 및 제 2 데이터 (DM1i, DM2i) 중 어느 하나 (예를 들면, 제 2 데이터)가 불충분하게 프로그램된 것으로 판별될 때 (S250), 데이터 상태 판별부 (312)의 출력 신호 (pf_dM2FAIL)는 로직 하이 레벨이 된다. 현재 수행되는 프로그램 사이클이 마지막이기 때문에, 로직 하이 레벨의 신호 (pf_dM2FAIL)는 제 2 레지스터 (316)에 저장된다. 마찬가지로, 로직 로우 레벨의 신호 (pf_dM1FAIL)는 제 1 레지스터 (314)에 저장된다. 결과적으로, 제 2 레지스터 (316)의 출력 신호 (pf_fM2FAIL)는 로직 로우 레벨에서 로직 하이 레벨로 천이하는 반면에, 제 1 레지스터 (314)의 출력 신호 (pf_fM1FAIL)는 로직 로우 레벨로 유지된다. 비록 신호 (pf_dM2FAIL)가 로직 하이 레벨이 되더라도, 디세이블 신호 (PF_PPFEND)는 계속해서 로직 로우 레벨로 유지된다. 왜냐하면, 현재 수행되는 프로그램 사이클이 마지막 프로그램 사이클이고 신호 (ACP_FFYADD)가 로직 로우 레벨이기 때문에, 디세이블 회로 (320)의 NAND 게이트 (536)의 출력 신호는 로직 로우 레벨로 유지된다. 그러므로, 디세이블 신호 (PF_PPFEND)는 AND 게이트 (536)의 입력 신호들 (pf_fM1FAIL, pf_fM2FAIL) 중 하나만이 로직 하이 레벨이기 때문에 계속해서 로직 로우 레벨로 유지된다. 결과적으로, 메모리 셀 어레이 (200b)이 프로그램 실패로 판별되더라도 (S290), 어드레스 발생 회로 (240)는 메모리 셀 어레이 (200a)의 다음의 열들이 선택되도록 발진 신호 (PF_OSC)의 하이-로우 천이에 응답하여 열 어드레스를 '1'만큼 증가시킨다 (S260).
만약 마지막 프로그램 사이클에서 마지막 열 어드레스가 생성되기 이전에 제 1 데이터 (DM1i)가 불충분하게 프로그램된 것으로 판별되면, 신호 (pf_dM1FAIL)가 로직 하이 레벨이 된다. 현재 수행되는 프로그램 사이클이 마지막이기 때문에, 로직 하이 레벨의 신호 (pf_dM1FAIL) 역시 제 1 레지스터 (314)에 저장된다. 결과적으로, 제 1 레지스터 (314)의 출력 신호 (pf_fM1FAIL)는 로직 로우 레벨에서 로직 하이 레벨로 천이한다. 그러므로, 디세이블 회로 (320)의 AND 게이트 (544)의 입력 신호들 (pf_fM1FAIL, pf_fM2FAIL) 모두 로직 하이 레벨이 되기 때문에, 도 16d에 도시된 바와 같이, 디세이블 신호 (PF_PPFEND)는 로직 로우 레벨에서 로직 하이 레벨로 변화되며, 그 결과 발진 제어 신호 (pf_lSCNen)는 로직 로우 레벨로 비활성화된다. 즉, 발진기 (326)는 더 이상 동작하지 않는다. 게다가, 제 3 레지스터 (328)로부터 출력되는 플래그 신호들 (PF_FSR1, PF_FSR2)은 제 1 및 제 2 레지스터들 (314, 316)의 출력 신호들 (pf_fM1FAIL, pf_fM2FAIL)이 로직 하이 레벨로 각각 유지되기 때문에 초기에 설정된 상태로 계속해서 유지된다. 이는 메모리 셀 어레이들 (200a, 200b)에 관련된 프로그램이 모두 실패하였음을 의미한다.
상술한 바와 같이, 리던던시 정보를 포함하는 열 어드레스에 따라 열 패스 게이트 회로에 의해서 선택되는 데이터 비트들을 이용하여 프로그램 패스/페일 판별 동작을 수행하기 때문에, 결함 비트 라인(들)은 프로그램 패스/페일을 점검하는 동작에 영향을 미치지 못한다. 그러므로, 불휘발성 반도체 메모리 장치가 결함 비트 라인으로 인해 페일 디바이스로 분류되는 것을 방지함으로써, 수율이 저하되는 것을 막을 수 있다.

Claims (15)

  1. 복수 개의 행들, 복수 개의 열들 그리고 상기 행들 및 열들의 교차 영역들에 각각 배열된 복수 개의 메모리 셀들을 갖는 메모리 셀 어레이와;
    상기 열들을 통해 상기 메모리 셀 어레이로부터 프로그램된 데이터 비트들을 읽고, 그렇게 읽혀진 프로그램된 데이터 비트들을 래치하는 읽기 회로와;
    열 어드레스에 응답하여 상기 열들 중 일부를 선택하는 열 선택 회로와;
    펄스 신호에 응답하여 상기 열 어드레스를 발생하는 어드레스 발생 회로 및;
    프로그램 사이클의 프로그램 패스/페일 판별 동작 동안 상기 열 선택 회로로부터 출력된 데이터 비트들 모두 프로그램 상태를 갖는 지의 여부를 판별하여 상기 펄스 신호를 발생하는 프로그램 상태 검출 회로를 포함하는 불휘발성 반도체 메모리 장치.
  2. 제 1 항에 있어서,
    상기 메모리 셀 어레이는 상기 열들 중 결함 열들을 대체하기 위한 복수 개의 리던던트 열들을 부가적으로 포함하는 불휘발성 반도체 메모리 장치.
  3. 제 2 항에 있어서,
    상기 열 선택 회로는 상기 어드레스 발생 회로부터 출력된 열 어드레스를 디코딩하는 열 디코더와; 상기 열 디코더에 의해서 디코딩된 열 어드레스에 응답하여상기 열들 중 일부를 선택하는 열 패스 게이트 회로 및; 상기 열 어드레스를 받아들이는 리던던시 회로를 포함하며,
    상기 리던던시 회로는 상기 열 어드레스에 대응하는 열들이 적어도 하나의 결함 열을 포함할 때 상기 열 디코더가 비활성화되게 하며, 상기 결함 열이 상기 열 패스 게이트 회로를 통해 대응하는 리던던트 열로 대체되게 하는 불휘발성 반도체 메모리 장치.
  4. 제 1 항에 있어서,
    상기 프로그램 상태 검출 회로는
    상기 읽기 회로에 래치된 프로그램된 데이터 비트들 중 상기 선택된 열들에 대응하는 프로그램된 데이터 비트들을 받아들이고, 그렇게 입력된 프로그램된 데이터 비트들 모두 프로그램 상태를 나타낼 때 상기 펄스 신호를 발생하는 수단 및;
    상기 펄스 신호와 상기 열 어드레스에 응답해서 프로그램 성공 및 프로그램 실패 중 하나를 알리는 패스/페일 플래그 신호를 발생하는 패스/페일 판별 회로를 포함하는 불휘발성 반도체 메모리 장치.
  5. 제 4 항에 있어서,
    상기 수단은 상기 선택된 열들에 대응하는 프로그램된 데이터 비트들이 각각 상기 프로그램 상태를 나타내는 지의 여부를 판별하여 발진 제어 신호를 발생하는 데이터 상태 판별 회로 및;
    상기 발진 제어 신호에 응답하여 상기 펄스 신호를 발생하는 발진 회로를 포함하는 불휘발성 반도체 메모리 장치.
  6. 제 5 항에 있어서,
    상기 데이터 상태 판별 회로는 상기 선택된 열들에 대응하는 상기 프로그램된 데이터 비트들 모두가 프로그램 상태를 나타낼 때 상기 발진 제어 신호를 활성화시키며, 그 결과 상기 열 어드레스를 증가시키기 위한 상기 펄스 신호가 생성되는 불휘발성 반도체 메모리 장치.
  7. 제 6 항에 있어서,
    상기 데이터 상태 판별 회로는 상기 선택된 열들에 대응하는 상기 프로그램된 데이터 비트들 중 적어도 하나의 데이터 비트가 불충분하게 프로그램된 상태를 나타낼 때 상기 발진 제어 신호를 비활성화시키며, 그 결과 상기 펄스 신호가 생성되지 않는 불휘발성 반도체 메모리 장치.
  8. 제 5 항에 있어서,
    상기 패스/페일 판별 회로는 상기 발진 제어 신호가 활성화되고 상기 열 어드레스의 모든 비트들이 제 1 로직 상태일 때, 프로그램 성공을 알리는 상기 제 1 로직 상태의 패스/페일 플래그 신호를 발생하며; 그리고
    상기 패스/페일 판별 회로는 상기 발진 제어 신호가 비활성화될 때 그리고상기 발진 제어 신호가 활성화되고 상기 열 어드레스 비트들 중 적어도 하나가 제 2 로직 상태일 때, 프로그램 실패를 알리는 상기 제 2 로직 상태의 패스/페일 플래그 신호를 발생하는 불휘발성 반도체 메모리 장치.
  9. 제 1 항에 있어서,
    상기 어드레스 발생 회로는 카운터 회로를 포함하는 불휘발성 반도체 메모리 장치.
  10. 제 1 항에 있어서,
    상기 불휘발성 반도체 메모리 장치는 낸드형 플래시 메모리 장치를 포함하는 불휘발성 반도체 메모리 장치.
  11. 제 1 항에 있어서,
    상기 프로그램 사이클은 프로그램 동작, 검증 읽기 동작 그리고 프로그램 패스/페일 판별 동작으로 구성되며, 상기 프로그램 사이클은 소정의 횟수만큼 반복적으로 수행되는 불휘발성 반도체 메모리 장치.
  12. 제 11 항에 있어서,
    임의의 프로그램 사이클의 프로그램 패스/페일 판별 동작이 수행되는 동안 상기 열 선택 회로를 통해 전달된 데이터 비트들 중 어느 하나가 불충분하게 프로그램 상태로 판별될 때 상기 임의의 프로그램 사이클은 종료되고 다음 프로그램 사이클이 수행되며;
    상기 다음의 프로그램 사이클의 프로그램 패스/페일 판별 동작의 시작 열 어드레스는 상기 임의의 프로그램 사이클의 프로그램 패스/페일 판별 동작에서 마지막으로 사용된 열 어드레스인 불휘발성 반도체 메모리 장치.
  13. 제 1 및 제 2 메모리 셀 어레이들과;
    상기 제 1 및 제 2 메모리 셀 어레이들 각각은 복수 개의 행들과, 복수 개의 열들과, 상기 행들 및 열들의 교차 영역들에 각각 배열된 복수 개의 메모리 셀들과, 상기 열들을 통해 대응하는 메모리 셀 어레이에 프로그램된 데이터 비트들을 읽고, 그렇게 읽혀진 프로그램된 데이터 비트들을 래치하는 읽기 회로를 가지며;
    열 어드레스에 응답하여 상기 제 1 메모리 셀 어레이의 열들 중 일부를 그리고 상기 제 2 메모리 셀 어레이의 열들 중 일부를 선택하는 열 선택 회로와;
    펄스 신호에 응답하여 상기 열 어드레스를 발생하는 어드레스 발생 회로 및;
    프로그램 사이클의 프로그램 패스/페일 판별 동작 동안 상기 열 선택 회로를 통해 전달된, 상기 제 1 및 제 2 메모리 셀 어레이들에 각각 대응하는, 데이터 모두 프로그램 상태를 갖는 지의 여부를 판별하여 상기 펄스 신호를 발생하는 프로그램 상태 검출 회로를 포함하는 불휘발성 반도체 메모리 장치.
  14. 제 13 항에 있어서,
    상기 프로그램 사이클은 프로그램 동작, 검증 읽기 동작 그리고 프로그램 패스/페일 판별 동작으로 구성되며, 상기 프로그램 사이클은 소정의 횟수만큼 반복적으로 수행되는 불휘발성 반도체 메모리 장치.
  15. 복수 개의 비트 라인들 및 복수 개의 리던던트 비트 라인들을 갖는 메모리 셀 어레이를 포함하는 플래시 메모리 장치의 프로그램 방법에 있어서:
    상기 메모리 셀 어레이로부터 프로그램된 데이터 비트들을 읽고 그렇게 읽혀진 프로그램된 데이터 비트들을 래치하는 단계와;
    열 어드레스에 응답하여 상기 프로그램된 데이터 비트들 중 일부를 전달하는 단계 및;
    그렇게 전달된 프로그램된 데이터 비트들이 프로그램 상태를 나타내는 지의 여부를 점검하는 단계를 포함하는 것을 특징으로 하는 프로그램 방법.
KR1020000000497A 1999-09-06 2000-01-06 프로그램 상태 검출 회로를 갖는 플래시 메모리 장치 및그것의 프로그램 방법 KR100338553B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE10043397A DE10043397B4 (de) 1999-09-06 2000-09-04 Flash-Speicherbauelement mit Programmierungszustandsfeststellungsschaltung und das Verfahren dafür
JP2000269304A JP4566369B2 (ja) 1999-09-06 2000-09-05 不揮発性半導体メモリ装置
US09/656,321 US6282121B1 (en) 1999-09-06 2000-09-06 Flash memory device with program status detection circuitry and the method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR19990037725 1999-09-06
KR1019990037725 1999-09-06

Publications (2)

Publication Number Publication Date
KR20010029546A KR20010029546A (ko) 2001-04-06
KR100338553B1 true KR100338553B1 (ko) 2002-05-27

Family

ID=19610271

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000000497A KR100338553B1 (ko) 1999-09-06 2000-01-06 프로그램 상태 검출 회로를 갖는 플래시 메모리 장치 및그것의 프로그램 방법

Country Status (1)

Country Link
KR (1) KR100338553B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100437461B1 (ko) * 2002-01-12 2004-06-23 삼성전자주식회사 낸드 플래시 메모리 장치 및 그것의 소거, 프로그램,그리고 카피백 프로그램 방법
KR100648277B1 (ko) 2004-12-30 2006-11-23 삼성전자주식회사 프로그램 시간을 줄일 수 있는 플래시 메모리 장치
KR100706835B1 (ko) * 2006-02-10 2007-04-13 주식회사 하이닉스반도체 반도체 메모리 장치
KR100884234B1 (ko) * 2007-05-25 2009-02-18 삼성전자주식회사 프로그램 성능을 향상시킬 수 있는 플래시 메모리 장치 및그것의 프로그램 방법

Also Published As

Publication number Publication date
KR20010029546A (ko) 2001-04-06

Similar Documents

Publication Publication Date Title
JP4566369B2 (ja) 不揮発性半導体メモリ装置
US6813184B2 (en) NAND flash memory and method of erasing, programming, and copy-back programming thereof
US5299162A (en) Nonvolatile semiconductor memory device and an optimizing programming method thereof
US6031760A (en) Semiconductor memory device and method of programming the same
KR960012359B1 (ko) 반도체 기억장치
US6181605B1 (en) Global erase/program verification apparatus and method
US5671178A (en) Erase verifying circuit for a nonvolatile semiconductor memory with column redundancy
US6845041B2 (en) Non-volatile semiconductor memory device with accelerated column scanning scheme
US6967868B2 (en) Semiconductor memory device having flexible column redundancy scheme
US6717857B2 (en) Non-volatile semiconductor memory device with cache function and program, read, and page copy-back operations thereof
JP3373632B2 (ja) 不揮発性半導体記憶装置
US6144592A (en) Semiconductor memory device having a redundant memory
JP3898349B2 (ja) 半導体記憶装置
EP0907955B1 (en) A multiple bits-per-cell flash shift register page buffer
JP4942991B2 (ja) プログラム時間を減らすことができるフラッシュメモリ装置
US5654925A (en) Circuit for applying a stress voltage in sequence to selected memory blocks in a semiconductor device
KR19990035979A (ko) 메모리 제어 파라미터용 비휘발성 데이터 기억 구조를 갖는 메모리 시스템과 시스템 동작의 제어 방법
JP2001312890A (ja) 不揮発性半導体メモリ
JP3647994B2 (ja) 不揮発性半導体メモリの読出回路
KR100590219B1 (ko) 프로그램 시간을 줄일 수 있는 불 휘발성 메모리 장치
KR100338553B1 (ko) 프로그램 상태 검출 회로를 갖는 플래시 메모리 장치 및그것의 프로그램 방법
JP4040232B2 (ja) 不揮発性半導体記憶装置
KR0172437B1 (ko) 칼럼불량 구제 및 고속 소거검증 기능을 가지는 불휘발성 반도체 메모리 장치
JP3759176B2 (ja) 不揮発性半導体記憶装置
JPH10199263A (ja) 不揮発性半導体記憶装置

Legal Events

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

Payment date: 20120430

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20130430

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee