KR20010029546A - Flash memory device with a program-status detecting circuit and program method thereof - Google Patents

Flash memory device with a program-status detecting circuit and program method thereof Download PDF

Info

Publication number
KR20010029546A
KR20010029546A KR1020000000497A KR20000000497A KR20010029546A KR 20010029546 A KR20010029546 A KR 20010029546A KR 1020000000497 A KR1020000000497 A KR 1020000000497A KR 20000000497 A KR20000000497 A KR 20000000497A KR 20010029546 A KR20010029546 A KR 20010029546A
Authority
KR
South Korea
Prior art keywords
program
circuit
column
signal
columns
Prior art date
Application number
KR1020000000497A
Other languages
Korean (ko)
Other versions
KR100338553B1 (en
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/en
Priority to JP2000269304A priority patent/JP4566369B2/en
Priority to US09/656,321 priority patent/US6282121B1/en
Publication of KR20010029546A publication Critical patent/KR20010029546A/en
Application granted granted Critical
Publication of KR100338553B1 publication Critical patent/KR100338553B1/en

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

PURPOSE: A nonvolatile semiconductor memory device and method for programming the memory device are provided to prevent yield from being degraded by a failed column. CONSTITUTION: The memory device includes a memory cell array(100), a read circuit, a column selecting circuit, an address generating circuit(120) and a program state detecting circuit(190). The memory cell array provides a plurality of memory cells which are arranged in each of a plurality of rows, a plurality of columns and the crossing area of the rows and the columns. The read circuit reads programmed data bits from the memory cell array through the columns and then latches the read programmed data bits. The column selecting circuit selects part of the columns in response to a column address. The address generating circuit generates the column address in response to a pulse signal. The program state detecting circuit generates the pulse signal by judging to have or not program state for all of data bits outputted from the column selecting circuit during a program pass/fail judgement operation of a program cycle is performed.

Description

프로그램 상태 검출 회로를 갖는 플래시 메모리 장치 및 그것의 프로그램 방법{FLASH MEMORY DEVICE WITH A PROGRAM-STATUS DETECTING CIRCUIT AND PROGRAM METHOD THEREOF}A flash memory device having a program state detection circuit and a program method thereof [FLASH MEMORY DEVICE WITH A PROGRAM-STATUS DETECTING CIRCUIT AND PROGRAM METHOD THEREOF]

본 발명은 불휘발성 반도체 메모리 장치에 관한 것으로서, 구체적으로는 프로그램 상태 검출 회로를 갖는 플래시 메모리 장치 및 그것의 프로그램 방법에 관한 것이다.The present invention relates to a nonvolatile semiconductor memory device, and more particularly, to a flash memory device having a program state detection circuit and a 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"라는 제목으로 게재되어 있으며, 레퍼런스로 포함한다.Nonvolatile semiconductor memory device For example, a program cycle of a NAND flash memory device is performed through a program operation, a verify read operation, and a Y-SCAN operation. First, during a program operation, EEPROM cells associated with any selected page, i.e., word line, are each programmed to the required data state. Then, a verify read operation for reading the data of the programmed EEPROM cells is performed to determine whether the programmed data has the required state. Finally, it is checked whether the read data has the required state. If at least one of the programmed EEPROM cells does not satisfy the required state, the above-described series of program cycles are repeatedly performed until the required state is satisfied within a predetermined number of times. Therefore, the flash memory device must include a circuit for checking a program pass / fail, and a circuit having such a function is described in U.S. Patent No. 5,299,162 entitled "NONVOLATILE SEMICONDUCTOR MEMORY DEVICE AND AN OPTIMIZING PROGRAMMING METHOD THEREOF", incorporated by reference.

도 1은 앞서 언급된 문헌에 게재된 불휘발성 반도체 메모리 장치의 프로그램 상태 검출 회로를 보여주는 회로도이다.1 is a circuit diagram illustrating a program state detection circuit of a nonvolatile semiconductor memory device disclosed in the aforementioned document.

도 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)에 연결된다.Referring to FIG. 1, each bit line BL1 -BL1024 has a NAND structure in a string unit including a string select transistor ST, eight cell transistors CT1-CT8, and a ground select transistor GT connected in series. The cell CE is connected. The string select transistor ST and the ground select transistor GT have a MOS transistor structure, and the gates are connected to the select lines SL1 and SL2, respectively. Each cell transistor CT1-CT8 has a depletion MOS transistor structure having a floating gate located between the control gate and the substrate. Each control gate is connected to control lines CL1-CL8, respectively. In addition, each bit line (BL1-BL1024) is each of the bit line latch circuits (LT), the program verification is loaded with data input from the outside, to each of the high voltage supply circuits (HV) for supplying a high-potential program voltage It is connected to a current source circuit CS for supplying a verify current during operation, and to respective program check units PC for inverting the data of the bit line latch circuit LT.

고전압 공급 회로 (HV)는 트랜지스터들 (PT1, PT2)과 펌핑 커패시터로 구성된 일반적인 고전압 펌핑 회로이다. 트랜지스터 (PT1)의 드레인은 프로그램 전압 (Vpp)에 연결되고, 트랜지스터 (PT1)의 게이트는 비트 라인 (BL1)에 연결되며, 트랜지스터 (PT1)의 소오스는 트랜지스터 (PT2)의 게이트에 연결된다. 트랜지스터 (PT2)의 드레인은 펌핑 커패시터의 일 전극에 연결되고, 트랜지스터 (PT2)의 소오스는 비트 라인 (BL1)에 연결된다. 펌핑 커패시터 (C)는 클럭 신호 (øpp)가 하이로 갈 때 커패시터에 저장된 전하를 트랜지스터 (PT2)를 통해 비트 라인 (BL1)으로 방전하며, 비트 라인 (BL1)으로 소거 전압 또는 프로그램 금지 전압을 공급한다.The high voltage supply circuit HV is a common high voltage pumping circuit consisting of transistors PT1 and PT2 and a pumping capacitor. The drain of the transistor PT1 is connected to the program voltage Vpp, the gate of the transistor PT1 is connected to the bit line BL1, and the source of the transistor PT1 is connected to the gate of the transistor PT2. The drain of the transistor PT2 is connected to one electrode of the pumping capacitor, and the source of the transistor PT2 is connected to the bit line BL1. The pumping capacitor C discharges the charge stored in the capacitor through the transistor PT2 to the bit line BL1 when the clock signal øpp goes high, and supplies an erase voltage or a program inhibit voltage to the bit line BL1. do.

비트 라인 래치 회로 (LT)는 2개의 인버터들 (INV1, INV2)과 전달 트랜지스터 (TT1)로 이루어진다. 인버터들 (INV1, INV2)은 하나의 인버터의 입력이 다른 인버터의 출력에 연결되도록 연결된다. 전달 트랜지스터 (TT1)의 게이트는 클럭 신호 (ø1)에 연결되고, 트랜지스터 (TT1)의 제 1 전류 단자 (드레인 또는 소오스)는 비트 라인에 연결되며, 트랜지스터 (TT1)의 제 2 전류 단자 (소오스 또는 드레인)는 인버터 (INV2)의 입력에 연결된다. 따라서, 비트 라인 래치 회로 (LT)는 클럭 신호 (ø1)의 고전위 동안 턴온되는 전달 트랜지스터 (TT1)를 통해 비트 라인 상에 인가된 외부 데이터를 받아들여 래치한다.The bit line latch circuit LT is composed of two inverters INV1 and INV2 and a transfer transistor TT1. The inverters INV1 and INV2 are connected such that the input of one inverter is connected to the output of the other inverter. The gate of the transfer transistor TT1 is connected to the clock signal ø1, the first current terminal (drain or source) of the transistor TT1 is connected to the bit line, and the second current terminal (source or of the transistor TT1) is connected. Drain) is connected to the input of the inverter INV2. Accordingly, the bit line latch circuit LT receives and latches external data applied on the bit line through the transfer transistor TT1 which is turned on during the high potential of the clock signal ø1.

전류원 회로 (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)으로 공급된다.The current source circuit CS is composed of a plurality of output circuits OS connected to respective bit lines and a common reference-current setting circuit RC, and the circuits RC and OS. Are connected to each other in the form of a well-known current mirror circuit for setting the reference current for all output circuits (OS). The common reference current setting circuit RC is composed of a P-channel MOS transistor M1 and N-channel MOS transistors M2 and M3 connected between a power supply voltage Vcc and a ground voltage Vss. The drain and gate of the P-channel MOS transistor M1 are connected to each other. The gate of the N-channel MOS transistor M2 is connected to the reference voltage Vref, and the gate of the N-channel MOS transistor M3 is connected to the clock signal ø2. Each output circuit OS consists of a P-channel MOS transistor M4 and an N-channel MOS transistor M5 connected between a power supply voltage Vcc and respective bit lines. The gate of the P-channel MOS transistor M4 is connected to the gate of the P-channel MOS transistor M1, and the gate of the N-channel MOS transistor M5 is connected to the clock signal? 2. Therefore, the current source circuit CS is activated when the clock signal? 2 goes high, so that the drain current of the P-channel MOS transistor M4 is supplied to the bit line BL1 as the verify current.

프로그램 검증 회로 (PC)는 MOS 트랜지스터 (M6)로 구성되며, 상기 MOS 트랜지스터 (M6)의 드레인은 비트 라인 래치 회로 (LT)의 인버터 (INV1)의 입력에 연결되고, 트랜지스터 (M6)의 소오스는 접지 전압 (Vss)에 연결되며, 트랜지스터 (M6)의 게이트는 비트 라인에 연결된다. 따라서, 비트 라인으로 공급되는 검증 전류가 선택된 셀을 포함하는 NAND 구조로 된 셀 스트링을 통해 접지로 흐르지 않을 때, 비트 라인의 전위는 하이가 되며, 그 결과 MOS 트랜지스터 (M6) (프로그램 검증 유니트)는 턴온된다. 이는 래치 회로 (LT)의 인버터 (INV1)의 입력이 낮은 전위 (예를 들면, 접지 전압)로 낮아지게 한다. 그러므로, 선택된 셀의 프로그램이 불충할 때, 프로그램 점검 회로 (PC)는 불충분한 프로그램을 점검하여 비트 라인 래치 회로 (LT)의 데이터를 반전시킨다.The program verifying circuit PC is composed of a MOS transistor M6, the drain of the MOS transistor M6 is connected to the input of the inverter INV1 of the bit line latch circuit LT, and the source of the transistor M6 is It is connected to the ground voltage Vss, and the gate of the transistor M6 is connected to the bit line. Thus, when the verify current supplied to the bit line does not flow to ground through the cell string of the NAND structure including the selected cell, the potential of the bit line becomes high, resulting in the MOS transistor M6 (program verify unit). Is turned on. This causes the input of the inverter INV1 of the latch circuit LT to be lowered to a low potential (for example, the ground voltage). Therefore, when the program of the selected cell is insufficient, the program check circuit PC checks the insufficient program to invert the data of the bit line latch circuit 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)의 다른 입력 단자는 클럭 신호 ()에 연결된다.In Fig. 1, reference numeral PS is a program-statu detecting circuit. The program state detection circuit PS outputs a normal detection signal when all selected cells are programmed to an optimal state, or outputs an abnormal detection signal when at least one selected cell is insufficiently programmed. The program state detection circuit PS has a P-channel MOS transistor M7 that acts as a pullup circuit for pulling up the node N1 and a depletion MOS transistor M8 used as a pullup load. The source of the P-channel MOS transistor M7 is connected to the power supply voltage Vcc, the gate of the transistor M7 is connected to the clock signal ø3, and the drain of the transistor M7 is the depletion MOS transistor M8. Is connected to the source of. The gate and the drain of the depletion MOS transistor M8 are connected to each other and to the node N1. A plurality of N-channel MOS transistors PD1-PD1024, which operate as pull-down circuit PD, are connected in parallel between node N1 and ground voltage Vss. The gate of each MOS transistor is the inverting output of the bit line latch circuits LT ( ) The node N1 is connected to one input terminal of the NOR gate G through the inverter INV3. The other input terminal of the NOR gate (G) is a clock signal ( )

도 1에 도시된 불휘발성 반도체 메모리 장치의 프로그램 및 검증 동작이 이하 상세히 설명된다.Program and verify operations of the nonvolatile semiconductor memory device shown in FIG. 1 will be described in detail below.

셀 어레이에 데이터를 프로그램하기 위해서는, 먼저, 셀의 문턱 전압을 (-) 전위로 낮추기 위한 소거 동작이 수행된다. 소거 동작이 완료된 후, 외부 데이터가 비트 라인 래치 회로 (LT)에 로드된다. 이때, 로직 하이 레벨이 데이터 "1"로 로드되고 로직 로우 레벨이 데이터 "0"로 로드된다. 클럭 신호 (ø1)가 하이가 될 때, 비트 라인 래치 회로 (LT)에 데이터가 로드된다. 만약 비트 라인 래치 회로 (LT)에 래치된 데이터가 로직 하이 레벨이면, 고전압 공급 회로 (LT)가 동작하여 비트 라인 상의 전압을 프로그램 금지 전압으로 설정한다. 그러므로, 선택된 셀 트랜지스터 (예를 들면, CT6)의 게이트와 드레인 사이의 전위차가 F-N 터널링을 생기게 하기에 불충분하기 때문에, 선택된 셀 트랜지스터 (CT6)는 계속해서 음의 문턱 전압을 유지한다.In order to program data into the cell array, first, an erase operation is performed to lower the threshold voltage of the cell to a negative potential. After the erase operation is completed, external data is loaded into the bit line latch circuit LT. At this time, the logic high level is loaded with data "1" and the logic low level is loaded with data "0". When the clock signal ø1 goes high, data is loaded into the bit line latch circuit LT. If the data latched in the bit line latch circuit LT is at a logic high level, the high voltage supply circuit LT operates to set the voltage on the bit line to the program inhibit voltage. Therefore, because the potential difference between the gate and the drain of the selected cell transistor (e.g., CT6) is insufficient to cause F-N tunneling, the selected cell transistor CT6 continues to maintain a negative threshold voltage.

한편, 비트 라인 래치 회로 (LT)에 로드된 데이터가 로직 로우 레벨이면, 고전압 공급 회로 (HV)는 동작하지 않으며, 비트 라인 상의 전압을 0V로 유지한다. 따라서, 선택된 셀 트랜지스터 (M6)의 게이트와 드레인 사이의 전위차에 의해서 F-N 터널링이 생기기 때문에, 플로팅 게이트로 전하들이 주입되며, 그 결과 셀의 문턱 전압은 (+) 전위가 된다. 하지만, 불충분하게 프로그램되면, 선택된 셀 트랜지스터 (CT6)는 설정된 양의 문턱 전압을 얻을 수 없다. 프로그램 동작을 완료한 후 셀들이 올바르게 프로그램되었는 지의 여부를 점검하기 위해서, 전류원 (CS)은 클럭 신호 (ø2)의 하이 상태에 응답하여 동작하며, 그 결과 검증 전류가 비트 라인 (BL)으로 공급된다. 이때, 제어 라인들 (CL1-CL5, CL7, CL8)은 전원 전압 (Vcc)을 공급받고, 제어 라인 (CL6)은 소정의 검증 전압 (예를 들면, +0.8V)을 공급받는다. 그러므로, 선택된 셀 트랜지스터 (CT6)의 문턱 전압이 음의 전위를 가질 때, 검증 전류는 셀 스트링 (CE)을 통해 접지로 흐른다. 따라서, 비트 라인 (BL1)은 0V로 유지된다.On the other hand, if the data loaded in the bit line latch circuit LT is at a logic low level, the high voltage supply circuit HV does not operate and maintains the voltage on the bit line at 0V. Thus, since F-N tunneling is caused by the potential difference between the gate and the drain of the selected cell transistor M6, charges are injected into the floating gate, and as a result, the threshold voltage of the cell becomes a positive potential. However, if insufficiently programmed, the selected cell transistor CT6 cannot obtain a set positive threshold voltage. In order to check whether the cells are correctly programmed after completing the program operation, the current source CS operates in response to the high state of the clock signal ø2, with the result that the verify current is supplied to the bit line BL. . In this case, the control lines CL1-CL5, CL7, and CL8 are supplied with a power supply voltage Vcc, and the control line CL6 is supplied with a predetermined verification voltage (eg, + 0.8V). Therefore, when the threshold voltage of the selected cell transistor CT6 has a negative potential, the verify current flows through the cell string CE to ground. Therefore, the bit line BL1 is kept at 0V.

한편, 선택된 셀의 문턱 전압이 양의 전위 (Vth>0.8V)를 가질 때, 비트 라인 (BL1)은 검증 전류가 셀 스트링 (CE)을 통해 흐르지 않기 때문에 하이가 된다. 하지만, 선택된 셀이 불충분하게 프로그램되면 (이는 셀의 문턱 전압이 0.8V보다 낮음을 의미한다), 검증 전류는 접지로 빠져나가며, 비트 라인 (BL1)이 여전히 0V로 유지되게 한다.On the other hand, when the threshold voltage of the selected cell has a positive potential (Vth> 0.8V), the bit line BL1 goes high because the verify current does not flow through the cell string CE. However, if the selected cell is insufficiently programmed (which means that the cell's threshold voltage is less than 0.8V), the verify current is drawn to ground, leaving the bit line BL1 still at 0V.

검증 읽기 및 Y-SCAN 동작 동안에, 선택된 셀의 비트 라인이 낮은 전위로 유지될 때, 프로그램 점검 수단인 트랜지스터 (M6)는 턴오프되며, 그 결과 비트 라인 래치 회로 (LT) 내의 데이터는 반전되지 않는다. 그러므로, 초기 로드된 상태의 데이터 "0"가 출력 (Q) 상에 계속해서 유지된다. 또한, 비트 라인 래치 회로 (LT)의 반전 출력 () 상에 데이터 "1'이 유지되기 때문에, 게이트가 출력 ()에 연결된 프로그램 상태 검출 회로 (PS)의 풀다운 트랜지스터 (PD1)는 계속해서 턴-온 상태로 유지된다. 그러므로, 프로그램이 정상적으로 수행되지 않았기 때문에, 프로그램 상태 검출 회로 (PS)의 클럭 신호 (ø5)는 로직 로우 레벨로 유지된다.During the verify read and Y-SCAN operations, when the bit line of the selected cell is held at a low potential, the transistor M6, which is the program check means, is turned off, so that the data in the bit line latch circuit LT is not inverted. . Therefore, the data "0" of the initially loaded state is kept on the output Q continuously. In addition, the inverting output of the bit line latch circuit LT ( Because data "1" is held on the gate, The pull-down transistor PD1 of the program state detection circuit PS connected to the < RTI ID = 0.0 > Therefore, because the program was not normally executed, the clock signal ø5 of the program state detection circuit PS is kept at a logic low level.

재 프로그램 동작 동안, 비트 라인 래치 회로 (LT)의 데이터 "0"가 클럭 신호 (ø1)의 하이 구간 동안 비트 라인 (BL1)에 다시 공급되기 때문에, 불충분하게 프로그램된 선택된 셀의 플로팅 게이트로 전하들이 반복적으로 주입된다. 그러므로, 셀의 문턱 전압은 보다 높은 양의 전위를 갖는다. 만약 프로그램 사이클들을 반복함으로써 보다 높은 양의 전위를 갖는 선택된 셀의 문턱 전압의 상승으로 인해 상기 선택된 셀이 검증 전압 (0.8V)에 의해서 턴온되지 않으면, 비트 라인 전위는 로직 하이 레벨이 되어 트랜지스터 (M6)를 턴온시킨다. 그러므로, 비트 라인 래치 회로 (LT)의 출력 (Q)에 로드된 데이터 "0"는 데이터 "1"로 반전되고, 반전 출력 ()의 데이터 "1"은 데이터 "0"으로 반전되며, 그 결과 프로그램 상태 검출 회로 (PS)의 풀다운 트랜지스터 (PD1)는 턴오프된다. 이러한 반복적인 동작에 의하면, 페이지 버퍼 (PB)의 모든 데이터 비트들 즉, 모든 비트 라인 래치 회로들의 반전 출력들 ()은 데이터 "0"가 된다. 다시 말해서, 모든 반전 출력들 ()이 로직 로우 레벨이 될 때, 프로그램 상태 검출 회로 (PS)의 클럭 신호 (ø5)는 로직 하이 레벨이 된다. 즉, 선택된 셀들 모두 요구되는 상태로 프로그램된다.During the reprogram operation, since the data "0" of the bit line latch circuit LT is supplied back to the bit line BL1 during the high period of the clock signal ø1, charges are transferred to the floating gate of the insufficiently programmed selected cell. It is injected repeatedly. Therefore, the threshold voltage of the cell has a higher positive potential. If the selected cell is not turned on by the verify voltage (0.8V) due to a rise in the threshold voltage of the selected cell with a higher positive potential by repeating program cycles, the bit line potential is at a logic high level and transistor M6. Turn on). Therefore, the data "0" loaded in the output Q of the bit line latch circuit LT is inverted to the data "1", and the inverted output ( ) Data "1" is inverted to data "0", and as a result, the pull-down transistor PD1 of the program state detection circuit PS is turned off. According to this iterative operation, all the data bits of the page buffer PB, i. ) Becomes data "0". In other words, all inverted outputs ( ) Goes to the logic low level, the clock signal? 5 of the program state detection circuit PS becomes the logic high level. That is, all selected cells are programmed to the required state.

앞서의 설명으로부터 알 수 있듯이, 도 1에 도시된 프로그램 상태 검출 회로 (PS)를 포함한 불휘발성 반도체 메모리 장치는 한 페이지에 관련된 셀 트랜지스터들의 프로그램 상태를 동시에 검증할 수 있다는 이점을 갖는다. 하지만, 종래 기술에 따른 불휘발성 반도체 메모리 장치는 결함 열로 인해 페일 디바이스 (fail device)로 분류되며, 이는 수율 저하의 원인으로 작용한다. 이를 좀 더 구체적으로 설명하면, 다음과 같다.As can be seen from the foregoing description, the nonvolatile semiconductor memory device including the program state detection circuit PS shown in FIG. 1 has an advantage of simultaneously verifying the program state of cell transistors related to one page. However, the nonvolatile semiconductor memory device according to the prior art is classified as a fail device due to a defect heat, which causes a decrease in yield. In more detail, it is as follows.

도 2를 참조하면, 인접한 2개의 비트 라인 래치 회로들 (LT1, LT2)이 점선으로 표시된 바와 같이 서로 전기적으로 연결되는 경우, 상기 비트 라인 래치 회로들 (LT1, LT2)에 연결된 비트 라인들 (BL1, BL2)은, 이 분야에 통상의 지식을 습득한 자들에게 잘 알려진 바와 같이, 셀 어레이에 제공되는 리던던트 비트 라인들 (미도시됨)로 대체된다. 하지만, 서로 전기적으로 연결된 비트 라인 래치 회로들 (LT1, LT2)의 반전 출력들 ()은 항상 상반된 로직 상태를 갖기 때문에, 프로그램 검증 동작 동안 상기 비트 라인 래치 회로들 (LT1, LT2)의 반전 출력들 ()에 각각 연결된 풀다운 트랜지스터들 (PD1, PD2) 중 하나는 항상 턴온된다. 예를 들면, 비트 라인 (BL1 또는 BL2)이 로직 로우 레벨로 설정되는 경우, 전기적으로 연결된 비트 라인 (BL2 또는 BL1) 역시 로직 로우 레벨로 설정되며, 그 결과, 도 2에 도시된 바와 같이, 비트 라인 래치 회로 (LT1)의 반전 출력 ()은 로직 하이 레벨이 된다. 이는 비트 라인 래치 회로 (LT1)의 반전 출력 ()에 연결된 풀다운 트랜지스터 (PD1)가 턴온되게 한다. 그러므로, 프로그램 상태 검출 회로 (PS)는 일련의 프로그램 동작 및 프로그램 검증 동작이 정해진 횟수만큼 반복될 때까지 프로그램 페일을 나타내는 로직 로우 레벨의 클럭 신호 (ø5)를 출력한다. 즉, 불휘발성 반도체 메모리 장치는 페일 디바이스로 분류된다.Referring to FIG. 2, when two adjacent bit line latch circuits LT1 and LT2 are electrically connected to each other as indicated by a dotted line, bit lines BL1 connected to the bit line latch circuits LT1 and LT2. , BL2) is replaced with redundant bit lines (not shown) provided in the cell array, as is well known to those skilled in the art. However, the inverted outputs of the bit line latch circuits LT1 and LT2 electrically connected to each other ( Invert outputs of the bit line latch circuits LT1 and LT2 during the program verify operation because One of the pull-down transistors PD1 and PD2, respectively, connected to C1) is always turned on. For example, when the bit line BL1 or BL2 is set to a logic low level, the electrically connected bit line BL2 or BL1 is also set to a logic low level, as a result, as shown in FIG. Inverting output of line latch circuit (LT1) ( ) Becomes the logic high level. This is inverted output of the bit line latch circuit LT1 ( The pull-down transistor PD1 connected to < RTI ID = 0.0 > Therefore, the program state detection circuit PS outputs a logic low level clock signal? 5 indicating program fail until a series of program operations and program verify operations are repeated a predetermined number of times. That is, the nonvolatile semiconductor memory device is classified as a fail device.

만약 임의의 비트 라인이 접지 전압에 연결되면 (이는 결함 열로 분류되어 대응하는 리던던트 비트 라인으로 대체됨), 접지된 비트 라인에 연결된 비트 라인 래치 회로의 반전 출력 ()은 항상 로직 하이 레벨로 유지되며, 그 결과 프로그램 상태 검출 회로 (PS)는 프로그램 페일을 나타내는 로직 로우 레벨의 클럭 신호 (ø5)를 출력한다. 그리고, 프로그램될 셀 트랜지스터가 소거 상태로 유지될 때 (소거 상태를 갖는 셀 트랜지스터를 포함하는 셀 스트링에 연결된 비트 라인은 대응하는 리던던트 비트 라인으로 대체됨), 접지된 비트 라인에 연결된 비트 라인 래치 회로의 반전 출력 ()은 항상 로직 하이 레벨로 유지되며, 그 결과 프로그램 상태 검출 회로 (PS)는 프로그램 페일을 나타내는 로직 로우 레벨의 클럭 신호 (ø5)를 출력한다.If any bit line is connected to ground voltage (which is classified as a fault column and replaced by the corresponding redundant bit line), the inverted output of the bit line latch circuit connected to the grounded bit line ( ) Is always kept at a logic high level, and as a result, the program state detection circuit PS outputs a logic low level clock signal? 5 indicating program fail. And a bit line latch circuit connected to the grounded bit line when the cell transistor to be programmed is kept in the erased state (the bit line connected to the cell string including the cell transistor having the erased state is replaced by a corresponding redundant bit line). Inverted output of ) Is always kept at a logic high level, and as a result, the program state detection circuit PS outputs a logic low level clock signal? 5 indicating program fail.

앞서 설명된 바와 같이, 비록 결함 비트 라인들이 대응하는 리던던트 비트 라인들로 대체되더라도, 종래 기술에 따른 프로그램 상태 검출 회로가 그러한 결함 비트 라인들로 인해 항상 프로그램 페일을 알리는 로직 로우 레벨의 클럭 신호 (ø5)를 출력하기 때문에, 불휘발성 반도체 메모리 장치는 페일 디바이스로 분류된다. 이는 수율 저하의 원인이 된다.As described above, although the defective bit lines are replaced with corresponding redundant bit lines, the logic low level clock signal (5) in which the program state detection circuit according to the prior art always informs of program failure due to such defective bit lines. ), The nonvolatile semiconductor memory device is classified as a fail device. This causes a decrease in yield.

본 발명의 목적은 결함 열로 인한 수율 저하를 방지할 수 있는 프로그램 상태 검출 회로를 갖는 불휘발성 반도체 메모리 장치 및 그것의 프로그램 방법을 제공하는 것이다.It is an object of the present invention to provide a nonvolatile semiconductor memory device having a program state detection circuit capable of preventing a decrease in yield due to a defective heat and a program method thereof.

도 1은 종래 기술에 따른 불휘발성 반도체 메모리 장치의 프로그램 상태 검출 회로를 보여주는 회로도;1 is a circuit diagram showing a program state detection circuit of a nonvolatile semiconductor memory device according to the prior art;

도 2는 종래 기술에 따른 문제점을 설명하기 위한 도면;2 is a view for explaining a problem according to the prior art;

도 3은 본 발명의 제 1 실시예에 따른 프로그램 상태 검출 회로를 구비한 플래시 메모리 장치의 블록도;3 is a block diagram of a flash memory device having a program state detection circuit according to the first embodiment of the present invention;

도 4는 도 3의 데이터 상태 판별 회로의 바람직한 실시예;4 is a preferred embodiment of the data state determination circuit of FIG. 3;

도 5는 도 3의 패스/페일 판별 회로의 바람직한 실시예;5 is a preferred embodiment of the pass / fail determination circuit of FIG. 3;

도 6은 본 발명의 제 1 실시예에 따른 프로그램 알고리즘을 보여주는 흐름도;6 is a flowchart showing a program algorithm according to the first embodiment of the present invention;

도 7a 및 도 7b는 본 발명에 따른 Y-SCAN 동작을 설명하기 위한 타이밍도;7A and 7B are timing diagrams for explaining Y-SCAN operation according to the present invention;

도 8은 본 발명의 제 2 실시예에 따른 프로그램 상태 검출 회로를 구비한 플래시 메모리 장치의 블록도;8 is a block diagram of a flash memory device having a program state detection circuit according to a second embodiment of the present invention;

도 9는 도 8의 프로그램 상태 판별 회로를 보여주는 블록도;9 is a block diagram showing a program state determination circuit of FIG. 8;

도 10은 도 9의 데이터 상태 판별부의 바람직한 실시예;FIG. 10 is a preferred embodiment of the data state discriminating unit of FIG. 9; FIG.

도 11은 도 9의 제 1 레지스터의 바람직한 실시예;11 illustrates a preferred embodiment of the first register of FIG. 9;

도 12는 도 9의 발진 제어 신호 발생기의 바람직한 실시예;12 is a preferred embodiment of the oscillation control signal generator of FIG. 9;

도 13은 도 9의 인에이블 회로의 바람직한 실시예;13 illustrates a preferred embodiment of the enable circuit of FIG. 9;

도 14는 도 9의 디세이블 회로의 바람직한 실시예;14 illustrates a preferred embodiment of the disable circuit of FIG. 9;

도 15는 본 발명의 제 2 실시예에 따른 프로그램 알고리즘을 보여주는 흐름도; 그리고15 is a flowchart showing a program algorithm according to a second embodiment of the present invention; And

도 16a 내지 도 16d는 본 발명에 따른 Y-SCAN 동작을 설명하기 위한 타이밍도들이다.16A through 16D are timing diagrams for describing a Y-SCAN operation according to the present invention.

*도면의 주요 부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings *

100 : 메모리 셀 어레이 110 : 페이지 버퍼100: memory cell array 110: page buffer

120 : 어드레스 발생 회로 130 : 열 디코더120: address generator circuit 130: column decoder

140 : 페이지 버퍼 회로 150 : 리던던시 회로140: page buffer circuit 150: redundancy circuit

160 : 데이터 상태 판별 회로 170 : 발진 회로160: data state determination circuit 170: oscillation circuit

180 : 프로그램 패스/페일 판별 회로 190, 300 : 프로그램 상태 검출 회로180: program pass / fail discrimination circuit 190, 300: program state detection circuit

(구성)(Configuration)

본 발명에 따른 불휘발성 반도체 메모리 장치는 NAND형 플래시 메모리 장치이며, 일련의 프로그램 동작, 검증 읽기 동작 및 Y-SCAN 동작에 따라 수행되는 프로그램 사이클을 갖는다. 상기 메모리 장치는 메모리 셀 어레이, 페이지 버퍼 회로, 어드레스 발생 회로, 열 선택 회로, 카운트 업 신호 발생 회로, 그리고 프로그램 패스/페일 판별 회로를 포함한다. 상기 메모리 셀 어레이는 복수 개의 행들, 복수 개의 열들, 복수 개의 리던던트 열들, 그리고 상기 행들 및 열들의 교차 영역들에 각각 배열된 복수 개의 메모리 셀들을 갖는다. 상기 페이지 버퍼 회로는 상기 열들을 통해 상기 메모리 셀 어레이로부터 프로그램된 데이터 비트들을 읽고, 그렇게 읽혀진 프로그램된 데이터 비트들을 래치한다. 어드레스 발생 회로는 Y-SCAN 동작 동안 카운트-업 펄스 신호에 응답하여 열 어드레스를 발생하고, 열 선택 회로는 상기 열 어드레스에 응답하여 상기 열들 중 일부를 선택한다. 상기 열 선택 회로는 상기 어드레스 발생 회로부터 출력된 열 어드레스를 디코딩하는 열 디코더, 상기 열 디코더에 의해서 디코딩된 열 어드레스에 응답하여 상기 열들 중 일부를 선택하는 열 패스 게이트 회로, 그리고 상기 열 어드레스를 받아들이는 리던던시 회로로 구성된다. 여기서, 상기 리던던시 회로는 상기 열 어드레스에 대응하는 열들이 적어도 하나의 결함 열을 포함할 때 상기 열 디코더가 비활성화되게 하며, 상기 결함 함이 상기 열 패스 게이트 회로를 통해 대응하는 리던던트 열로 대체되게 한다.The nonvolatile semiconductor memory device according to the present invention is a NAND type flash memory device and has a program cycle performed according to a series of program operations, verify read operations, and Y-SCAN operations. The memory device includes a memory cell array, a page buffer circuit, an address generator circuit, a column select circuit, a count up signal generator circuit, and a program pass / fail discrimination circuit. The memory cell array has a plurality of rows, a plurality of columns, a plurality of redundant columns, and a plurality of memory cells each arranged in intersections of the rows and columns. The page buffer circuit reads the programmed data bits from the memory cell array through the columns and latches the read programmed data bits. The address generation circuit generates a column address in response to a count-up pulse signal during the Y-SCAN operation, and the column selection circuit selects some of the columns in response to the column address. The column selection circuit accepts a column decoder for decoding a column address output from the address generation cycle, a column pass gate circuit for selecting some of the columns in response to the column address decoded by the column decoder, and the column address. Is composed of a redundancy circuit. Here, the redundancy circuit causes the column decoder to be deactivated when the columns corresponding to the column address include at least one defective column, and the defect is replaced by a corresponding redundant column through the column pass gate circuit.

계속해서, 상기 카운트-업 신호 발생 회로는 Y-SCAN 동작 동안 상기 읽기 회로에 래치된 프로그램된 데이터 비트들 중 상기 선택된 열들에 대응하는 프로그램된 데이터 비트들을 받아들인다. 그다음에, 상기 카운트-업 신호 발생 회로는 그렇게 입력된 프로그램된 데이터 비트들 모두 프로그램 상태를 나타낼 때 상기 카운트-업 펄스 신호를 발생한다. 상기 카운트-업 신호 발생 회로는 상기 선택된 열들에 대응하는 프로그램된 데이터 비트들이 각각 상기 프로그램 상태를 나타내는 지의 여부를 판별하여 발진 제어 신호를 발생하는 데이터 상태 판별 회로와, 상기 발진 제어 신호에 응답하여 상기 카운트-업 펄스 신호를 발생하는 발진 회로로 구성된다. 다시 말해서, 상기 데이터 상태 판별 회로는 상기 선택된 열들에 대응하는 상기 프로그램된 데이터 비트들 모두가 프로그램 상태를 나타낼 때 상기 발진 제어 신호를 활성화시키며, 그 결과 상기 열 어드레스를 증가시키기 위한 상기 카운트-업 펄스 신호가 활성화된다. 게다가, 상기 데이터 상태 판별 회로는 상기 선택된 열들에 대응하는 상기 프로그램된 데이터 비트들 중 적어도 하나의 데이터 비트가 불충분하게 프로그램된 상태를 나타낼 때 상기 발진 제어 신호를 비활성화시키며, 그 결과 상기 카운트-업 펄스 신호가 비활성화된다.Subsequently, the count-up signal generation circuit receives the programmed data bits corresponding to the selected columns of the programmed data bits latched in the read circuit during a Y-SCAN operation. Then, the count-up signal generation circuit generates the count-up pulse signal when all of the input data bits so input represent a program state. The count-up signal generation circuit may include a data state determination circuit configured to generate an oscillation control signal by determining whether programmed data bits corresponding to the selected columns each represent the program state, and in response to the oscillation control signal. It consists of an oscillating circuit that generates a count-up pulse signal. In other words, the data state determination circuitry activates the oscillation control signal when all of the programmed data bits corresponding to the selected columns indicate a program state, and as a result, the count-up pulse to increase the column address. The signal is activated. In addition, the data state determination circuitry deactivates the oscillation control signal when at least one of the programmed data bits corresponding to the selected columns indicates an insufficiently programmed state, and as a result, the count-up pulse. The signal is deactivated.

상기 프로그램 패스/페일 판별 회로는 상기 카운트-업 펄스 신호와 상기 열 어드레스에 응답해서 프로그램 패스 및 프로그램 페일 중 하나를 알리는 패스/페일 플래그 신호를 발생한다. 상기 프로그램 패스/페일 판별 회로는 상기 발진 제어 신호가 활성화되고 상기 열 어드레스의 모든 비트들이 로직 하이 레벨일 때, 프로그램 패스를 알리는 상기 로직 하이 레벨의 패스/페일 플래그 신호를 발생한다. 그리고, 상기 프로그램 패스/페일 판별 회로는 상기 발진 제어 신호가 비활성화될 때 그리고 상기 발진 제어 신호가 활성화되고 상기 열 어드레스 비트들 중 적어도 하나가 로직 로우 레벨일 때, 상기 프로그램 페일을 알리는 상기 로직 로우 레벨의 패스/페일 플래그 신호를 발생한다.The program pass / fail determination circuit generates a pass / fail flag signal indicating one of a program pass and a program fail in response to the count-up pulse signal and the column address. The program pass / fail determination circuit generates the logic high level pass / fail flag signal indicating a program pass when the oscillation control signal is activated and all bits of the column address are at a logic high level. And the program pass / fail determination circuit notifies the program fail when the oscillation control signal is inactive and when the oscillation control signal is activated and at least one of the column address bits is a logic low level. Generates a pass / fail flag signal.

(작용)(Action)

이와 같은 장치에 의하면, 리던던시 정보를 포함하는 열 어드레스에 따라 열 패스 게이트 회로에 의해서 선택되는 데이터 비트들을 이용하여 프로그램 패스/페일 판별 동작이 수행된다. 그러므로, 결함 비트 라인(들)은 프로그램 패스/페일을 점검하는 동작에 영향을 미치지 못한다.According to such an apparatus, a program pass / fail determination operation is performed by using data bits selected by a column pass gate circuit according to a column address including redundancy information. Therefore, the defective bit line (s) do not affect the operation of checking the program pass / fail.

(실시예)(Example)

이하, 본 발명의 바람직한 실시예들이 참조 도면들에 의거하여 상세히 설명된다.DESCRIPTION OF THE PREFERRED EMBODIMENTS Preferred embodiments of the present invention are described in detail below with reference to the drawings.

제 1 실시예First embodiment

도 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에 도시된 것과 동일하게 구성된다.3, a block diagram of a nonvolatile semiconductor memory device according to a first embodiment of the present invention is shown. The nonvolatile semiconductor memory device, that is, the NAND type flash memory device of FIG. 3 includes a memory cell array 100 for storing information, and includes a plurality of bit lines BL1 -BLi (i is an integer) and a plurality of redundant ones. Bit lines RBL1-RBLj (j is an integer) are arranged in the column direction through the memory cell array 100. The redundant bit lines RBL1 -RBLj are used to repair defective bit lines among the bit lines BL1 -BLi. Each of the bit lines BL1 -BLi and the redundant bit lines RBL1 -RBLj is connected with cell strings having the same structure as that illustrated in FIG. 1 and shown in FIG. 1. The page buffer circuit 110 connected with the bit lines BL1 -BLi and the redundant bit lines RBL1 -RBLj drives a driver to drive the bit lines and the redundant bit lines according to the data state to be programmed during the program operation of the program cycle. It is used as a sense amplifier (or read circuit) that senses data bits programmed into cell transistors connected to a selected page during a verify read operation of a program cycle, and is configured identically to that shown in FIG.

여기서, 프로그램이 시작되면, 정해진 횟수의 프로그램 사이클들이 반복적으로 수행되며, 각 프로그램 사이클은 프로그램 동작, 검증 읽기 동작 그리고 프로그램 패스/페일 판별 동작 (이후, Y-SCAN 동작이라 칭함)으로 이루어진다. 반면에, 각 프로그램 사이클의 프로그램 동작과 Y-SCAN 동작이 동시에 수행될 수 있다.Here, when a program is started, a predetermined number of program cycles are repeatedly performed, and each program cycle includes a program operation, a verify read operation, and a program pass / fail determination operation (hereinafter, referred to as a Y-SCAN operation). On the other hand, the program operation of each program cycle and the Y-SCAN operation may be performed at the same time.

계속해서 도 3을 참조하면, 플래시 메모리 장치에는, 어드레스 발생 회로 (address generating circuit) (120), 열 디코더 (column decoder) (130), 열 패스 게이트 회로 (column pass gate circuit) (140), 리던던시 회로 (redundancy circuit) (150), 그리고 프로그램 상태 검출 회로 (program-status detecting circuit) (190)가 제공된다.3, the flash memory device includes an address generating circuit 120, a column decoder 130, a column pass gate circuit 140, and redundancy. A redundancy circuit 150 and a program-status detecting circuit 190 are provided.

도 3의 어드레스 발생 회로 (120)는, 잘 알려진 바와 같이, 카운터로 구성되며 Y-SCAN 동작 동안 프로그램 상태 검출 회로 (190)로부터 출력되는 카운트 업 펄스 신호 (YCNTUP)에 응답하여 열 어드레스 (Ai) (이 실시예에서, i=1-8)를 발생한다. 상기 열 디코더 (130)는 상기 어드레스 발생 회로 (120)에서 생성된 열 어드레스 (Ai)를 디코딩하며, 그렇게 디코딩된 열 어드레스는 열 패스 게이트 회로 (140)로 전달된다. 상기 열 패스 게이트 회로 (140)는 상기 디코딩된 열 어드레스에 대응하는 비트 라인들 (BL1-BLi) 중 일부를 선택한다. 즉, 페이지 버퍼 회로 (110)에 제공되는 페이지 버퍼들 중 상기 선택된 비트 라인들에 대응하는 페이지 버퍼들이 선택된다. 그렇게 선택된 페이지 버퍼들에 저장되어 있는 데이터 비트들 (프로그램 동작이 수행된 후, 검증 읽기 동작 동안 읽혀진 데이터 비트들을 의미함)은 Y-SCAN 동작 동안 열 패스 게이트 회로 (140)를 통해 프로그램 상태 검출 회로 (190)로 순차적으로 전달된다.The address generating circuit 120 of FIG. 3, as is well known, is configured as a counter and in response to the count up pulse signal YCNTUP output from the program state detection circuit 190 during the Y-SCAN operation. (In this example, i = 1-8). The column decoder 130 decodes the column address Ai generated by the address generating circuit 120, and the decoded column address is passed to the column pass gate circuit 140. The column pass gate circuit 140 selects some of the bit lines BL1 -BLi corresponding to the decoded column address. That is, page buffers corresponding to the selected bit lines are selected among the page buffers provided to the page buffer circuit 110. The data bits stored in the selected page buffers (meaning the data bits read during the verify read operation after the program operation is performed) are transferred to the program state detection circuit through the column pass gate circuit 140 during the Y-SCAN operation. Are sequentially delivered to 190.

또한, 상기 어드레스 발생 회로 (120)에서 생성된 열 어드레스는, 도 3에 도시된 바와 같이, 리던던시 회로 (150)로 전달된다. 상기 리던던시 회로 (150)는 열 어드레스에 대응하는 비트 라인들 중 결함 비트 라인이 존재하는 지의 여부를 판별한다. 상기 선택된 비트 라인들이 적어도 하나의 결함 비트 라인을 포함하면, 리던던시 회로 (150)는 열 디코더 (130)를 비활성화시키고, 이와 동시에 결함 비트 라인에 대응하는 리던던트 비트 라인이 열 패스 게이트 회로 (140)에 의해서 선택되게 한다. 즉, 열 어드레스에 대응하는 열들 중 결함 열이 존재하는 경우 (즉, 리던던시가 요구될 때), 결함 열에 대응하는 비트 라인은 리던던시 회로 (150) 및 열 패스 게이트 회로 (140)에 의해서 선택되지 않는 반면에, 결함 열에 대응하는 리던던트 비트 라인이 리던던시 회로 (150) 및 열 패스 게이트 회로 (140)에 의해서 선택된다.In addition, the column address generated by the address generator circuit 120 is transferred to the redundancy circuit 150, as shown in FIG. The redundancy circuit 150 determines whether a defective bit line exists among the bit lines corresponding to the column address. If the selected bit lines include at least one defective bit line, the redundancy circuit 150 deactivates the column decoder 130, while at the same time a redundant bit line corresponding to the defective bit line is added to the column pass gate circuit 140. To be selected. That is, when a defective column exists among the columns corresponding to the column address (ie, when redundancy is required), the bit line corresponding to the defective column is not selected by the redundancy circuit 150 and the column pass gate circuit 140. On the other hand, the redundant bit line corresponding to the defective column is selected by the redundancy circuit 150 and the column pass gate circuit 140.

각 프로그램 사이클의 Y-SCAN 동작 동안에, 상기 선택된 페이지 버퍼들에 래치된 데이터 비트들은 상기 열 패스 게이트 회로 (140)를 통해 프로그램 상태 검출 회로 (190)로 전달되며, 상기 프로그램 상태 검출 회로 (190)는 그렇게 전달된 데이터 비트들 모두 요구되는 상태 즉, 프로그램 상태 (예를 들면, 로직 '1')를 나타내는 지의 여부를 판별한다. 만약 데이터 비트들 모두 프로그램 상태를 나타내면, 상기 프로그램 상태 검출 회로 (190)로부터 출력되는 카운트 업 펄스 신호 (YCNTUP)는 하이-로우 천이를 가지며, 그 결과 어드레스 발생 회로 (120)로부터 출력되는 열 어드레스가 '1'만큼 증가된다. 그렇게 증가된 열 어드레스가 열 디코더 (130) 및 리던던시 회로 (150)로 전달됨에 따라, 열 패스 게이트 회로 (140)에 의해서 다음의 열들이 선택된다. 만약 데이터 비트들 중 적어도 하나의 데이터 비트가 불충분하게 프로그램된 상태를 나타내면, 어드레스 발생 회로 (120)가 비활성화되도록 (이는 이전에 생성된 열 어드레스가 '1'만큼 증가됨 없이 그대로 유지됨을 의미함) 프로그램 상태 검출 회로 (190)로부터 출력되는 상기 카운트 업 펄스 신호 (YCNTUP)는 로직 하이 레벨로 유지된다. 여기서, 열 디코더 (130), 열 패스 게이트 회로 (140) 그리고 리던던시 회로 (150)는 열 선택 회로 (column selecting circuit)를 구성한다.During the Y-SCAN operation of each program cycle, the data bits latched in the selected page buffers are transferred to the program state detection circuit 190 through the column pass gate circuit 140 and the program state detection circuit 190 Determines whether all of the data bits thus conveyed represent a desired state, i.e., a program state (e.g., logic '1'). If all of the data bits indicate a program state, the count up pulse signal YCNTUP output from the program state detection circuit 190 has a high-low transition, so that the column address output from the address generation circuit 120 is Incremented by '1'. As the increased column address is passed to column decoder 130 and redundancy circuit 150, the following columns are selected by column pass gate circuit 140. If at least one of the data bits indicates an insufficiently programmed state, the address generating circuit 120 is deactivated (which means that the previously generated column address remains unchanged by '1'). The count up pulse signal YCNTUP output from the state detection circuit 190 is maintained at a logic high level. Here, the column decoder 130, the column pass gate circuit 140, and the redundancy circuit 150 constitute a 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, the program status detection circuit 190 according to the present invention includes a data status discriminating circuit 160, an oscillation circuit 170, and a program pass / fail discrimination circuit. (program pass / fail discriminating circuit) (180). When the data bits Li in byte / word units transmitted from the column pass gate circuit 140 indicate a required program state, the data state determination circuit 160 controls oscillation for operating the oscillation circuit 170. Generate signal LTo. The data state determination circuit 160 includes two NAND gates 161 and 162 and one NOR gate 163 connected as shown in FIG. As can be seen in FIG. 4, when one byte of data bits L1-L8 transmitted from the page buffer circuit 110 through the column pass gate circuit 140 have a logic high level (ie, all data bits). When (L1-L8 indicates a program state), the oscillation control signal LTo is at a logic high level. If at least one data bit has a logic low level (ie, at least one data bit has an insufficiently programmed state), the oscillation control signal LTo is at a logic low level.

다시 도 3을 참조하면, Y-SCAN 동작 구간 (또는, 프로그램 패스/페일 점검 구간)을 알리는 신호 (PGMSCN)가 하이로 활성화될 때 발진 회로 (170)의 출력 신호 즉, 카운트 업 펄스 신호 (YCNTUP)는 로직 로우 레벨에서 로직 하이 레벨로 천이된다. 그리고, 발진 회로 (170)는 데이터 상태 판별 회로 (160)로부터 출력되는 발진 제어 신호 (LTo)의 상태에 따라 로직 하이 레벨에서 로직 로우 레벨로 천이하는 카운트 업 펄스 신호 (YCNTUP)를 출력한다. 예를 들면, 열 패스 게이트 회로 (140)를 통해 전달되는 데이터 비트들 (L1-L8)이 프로그램 상태를 나타낼 때 발생된 로직 하이 레벨의 발진 제어 신호 (LTo)가 인가되는 경우, 발진 회로 (170)는 어드레스 발생 회로 (120)로부터의 열 어드레스가 '1'만큼 증가되도록 로직 하이 레벨에서 로직 로우 레벨로 천이하는 카운트 업 펄스 신호 (YCNTUP)를 출력한다.Referring back to FIG. 3, when the signal PGMSCN indicating the Y-SCAN operation section (or the program pass / fail check section) is activated high, the output signal of the oscillation circuit 170, that is, the count-up pulse signal YCNTUP ) Transitions from a logic low level to a logic high level. The oscillation circuit 170 outputs a count-up pulse signal YCNTUP that transitions from a logic high level to a logic low level according to the state of the oscillation control signal LTo output from the data state determination circuit 160. For example, when the logic high level oscillation control signal LTo, which is generated when the data bits L1-L8 transmitted through the column pass gate circuit 140 indicate a program state, is oscillated circuit 170. ) Outputs a count-up pulse signal YCNTUP that transitions from the logic high level to the logic low level such that the column address from address generation circuit 120 is incremented by '1'.

상기 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)를 발생한다.During the Y-SCAN operation, the program pass / fail determination circuit 180 responds to the column address generated by the address generator circuit 120 and the count up pulse signal YCNTUP output from the oscillator circuit 170. Generates a flag signal (PFi) indicating a program pass or program fail. The program pass / fail determination circuit 180 is composed of two NAND gates 181 and 182, an inverter 183 and a NOR gate 184 connected as shown in FIG. The program pass / fail determination circuit 180 when all bits A1-A8 of the column address output from the address generating circuit 120 are each at a logic high level and the count-up pulse signal YCNTUP is at a logic high level. ) Generates a logic high level pass / fail flag signal (PFi) indicating a program pass. If at least one of the column address bits is at a logic low level, the circuit 180 generates a logic low level pass / fail flag signal PFi indicating a program fail regardless of the logic state of the count up pulse signal YCNTUP. Occurs. When the count up pulse signal YCNTUP is at a logic low level, the circuit 180 generates a logic low level pass / fail flag signal PFi indicating a program fail even though the column address bits are all at a logic high level. Occurs.

페이지 버퍼 회로 (110)에 래치된 프로그램된 데이터 비트들을 직접 이용하여 프로그램 상태를 점검하는 종래 기술의 프로그램 상태 검출 회로 (PS)와 달리, 본 발명에 따른 플래시 메모리 장치의 프로그램 상태 검출 회로 (190)는 리던던시 정보를 포함하는 열 어드레스에 따라 열 패스 게이트 회로 (140)를 통해 전달되는 프로그램된 데이터 비트들을 이용하여 프로그램 상태를 점검한다. 따라서, 결함 비트 라인이 리던던시 회로 (150)의 제어에 따라 대응하는 리던던트 비트 라인으로 대체되었기 때문에, 본 발명의 프로그램 상태 검출 회로 (190)는 결함 비트 라인에 의해서 영향을 받지 않는다. 즉, 플래시 메모리 장치가 결함 비트 라인으로 인해 페일 디바이스로 분류되는 문제를 해결할 수 있다.Unlike the program state detection circuit PS of the prior art, which checks the program state by directly using the programmed data bits latched in the page buffer circuit 110, the program state detection circuit 190 of the flash memory device according to the present invention. Checks the program state using the programmed data bits passed through column pass gate circuit 140 according to the column address including redundancy information. Thus, the program state detection circuit 190 of the present invention is not affected by the defective bit line because the defective bit line has been replaced with the corresponding redundant bit line under the control of the redundancy circuit 150. That is, the problem of classifying a flash memory device as a fail device due to a defective bit line can be solved.

도 6은 본 발명에 따른 프로그램 알고리즘을 보여주는 흐름도이다. 이하, 본 발명에 따른 플래시 메모리 장치의 동작이 도 6 내지 도 7을 참조하여 상세히 설명된다.6 is a flowchart showing a program algorithm according to the present invention. Hereinafter, the operation of the flash memory device according to the present invention will be described in detail with reference to FIGS. 6 to 7.

앞서 설명된 바와 같이, 프로그램을 수행하기 이전에 모든 셀 트랜지스터들의 문턱 전압을 (-) 전위로 만들기 위한 소거 동작이 수행된 후, 프로그램이 도 6의 프로그램 알고리즘에 따라 수행될 것이다. 프로그램이 시작되면, 단계 (S100)에서는 프로그램될 데이터가 페이지 버퍼 회로 (110)에 로드되고, 다음 단계 (S110)에서는 열 어드레스가 리셋된다. 즉, 어드레스 발생 회로 (120)가 리셋된다. 이후, 상기 로드된 데이터를 메모리 셀 어레이 (100)에 저장하기 위한 일련의 프로그램 사이클들이 다음과 같이 수행된다.As described above, after the erase operation for making the threshold voltages of all the cell transistors to the negative potential before the program is performed, the program will be performed according to the program algorithm of FIG. When the program starts, in step S100, the data to be programmed is loaded into the page buffer circuit 110, and in the next step S110, the column address is reset. In other words, the address generating circuit 120 is reset. Thereafter, a series of program cycles for storing the loaded data in the memory cell array 100 are performed as follows.

먼저, 단계 (S120)에서 프로그램 동작이 앞서 설명된 것과 동일한 방법으로 소정 시간 동안 수행된 후, 절차는 단계 (S130)으로 진행한다. 단계 (S130)에서는 선택된 페이지의 메모리 셀들에 프로그램된 데이터 비트들이 페이지 버퍼 회로 (110)에 의해서 감지되고 래치된다. 즉, 검증 읽기 동작이 수행된다. 이후, Y-SCAN 동작이 다음과 같이 수행된다.First, after the program operation is performed for a predetermined time in the same manner as described above in step S120, the procedure goes to step S130. In step S130, data bits programmed into memory cells of the selected page are sensed and latched by the page buffer circuit 110. That is, the verify read operation is performed. Thereafter, the Y-SCAN operation is performed as follows.

Y-SCAN 동작이 시작되면, 도 7a에 도시된 바와 같이, Y-SCAN 동작을 알리는 신호 (PGMSCN)가 로직 로우 레벨에서 로직 하이 레벨로 천이한다. 바이트 단위의 열들에 대응하는 비트 라인들은 단계 (S110)에서 리셋된 열 어드레스 비트들 (A1-A8) (예를 들면, '0')에 따라 열 디코더 (130) (또는, 리던던시 회로 (150)) 및 열 패스 게이트 회로 (140)에 의해서 선택된다 (선택된 열들이 하나의 결함 열을 포함하는 경우, 하나의 리던던트 비트 라인과 7개의 비트 라인들이 선택된다). 또한, 상기 신호 (PGMSCN)가 로직 로우 레벨에서 로직 하이 레벨로 천이할 때, 프로그램 상태 검출 회로 (190)의 발진 회로 (170)로부터 출력되는 카운트 업 펄스 신호 (YCNTUP)는 로직 로우 레벨에서 로직 하이 레벨로 천이한다.When the Y-SCAN operation starts, as shown in FIG. 7A, the signal PGMSCN indicating the Y-SCAN operation transitions from the logic low level to the logic high level. The bit lines corresponding to the columns in byte units are the column decoder 130 (or the redundancy circuit 150) according to the column address bits A1-A8 (eg, '0') reset in step S110. ) And by column pass gate circuit 140 (when the selected columns contain one defective column, one redundant bit line and seven bit lines are selected). In addition, when the signal PGMSCN transitions from the logic low level to the logic high level, the count up pulse signal YCNTUP output from the oscillation circuit 170 of the program state detection circuit 190 is logic high at the logic low level. Transition to level.

상기 선택된 열들에 대응하는 페이지 버퍼들에 래치된 바이트 단위의 프로그램된 데이터 비트들 (L1-L8)은 열 패스 게이트 회로 (140)를 통해 데이터 상태 판별 회로 (160)로 전달된다. 단계 (S150)에서 입력된 데이터 비트들 (L1-L8)이 모두 로직 하이 레벨로 판별될 때, 데이터 상태 판별 회로 (160)로부터 출력되는 발진 제어 신호 (LTo)는 로직 하이 레벨로 유지된다. 이때, 발진 회로 (170)는 로직 하이 레벨의 발진 제어 신호 (LTo)에 응답하여 로직 하이 레벨에서 로직 로우 레벨로 천이하는 카운트 업 펄스 신호 (YCNTUP)를 출력한다. 프로그램 패스/페일 판별 회로 (180)는 열 어드레스 비트들 모두 로직 로우 레벨이기 때문에 로직 로우 레벨의 패스/페일 플래그 신호 (PFi)를 출력한다. 이와 동시에, 어드레스 발생 회로 (120)는 상기 카운트 업 펄스 신호 (YCNTUP)의 하이-로우 천이에 응답하여 열 어드레스를 '1'만큼 증가시킨다 (단계 S160).The byte-programmed data bits L1-L8 latched in the page buffers corresponding to the selected columns are transferred to the data state determination circuit 160 through the column pass gate circuit 140. When all of the data bits L1 to L8 input in step S150 are determined to be at a logic high level, the oscillation control signal LTo output from the data state determination circuit 160 is maintained at a logic high level. At this time, the oscillation circuit 170 outputs a count-up pulse signal YCNTUP that transitions from the logic high level to the logic low level in response to the oscillation control signal LTo of the logic high level. The program pass / fail determination circuit 180 outputs a pass / fail flag signal PFi of a logic low level because all of the column address bits are at a logic low level. At the same time, the address generating circuit 120 increases the column address by '1' in response to the high-low transition of the count up pulse signal YCNTUP (step S160).

그렇게 증가된 열 어드레스가 마지막 열 어드레스인 지의 여부가 단계 (S170)에서 판별된다. 만약 마지막 열 어드레스가 아니면, 열 디코더 (130), 리던던시 회로 (150), 그리고 열 패스 게이트 회로 (140)로 구성된 열 선택 회로는 그렇게 증가된 열 어드레스에 응답하여 바이트 단위의 열들을 선택한다 (단지 바이트 단위의 비트 라인들이 선택되거나, 결함 열이 있는 경우 리던던트 비트 라인 및 정상적인 비트 라인들이 선택될 수 있음은 자명하다). 상기 선택된 열들에 대응하는 페이지 버퍼들에 래치된 바이트 단위의 프로그램된 데이터 비트들 (L1-L8)은 열 패스 게이트 회로 (140)를 통해 데이터 상태 판별 회로 (160)로 전달된다. 입력된 데이터 비트들 (L1-L8)이 모두 로직 하이 레벨로 판별되는 경우 (데이터 비트들 모두 프로그램 상태를 나타낼 때), 다음 동작은 앞서 설명된 것과 동일하게 수행된다. 이때, 프로그램 패스/페일 판별 회로 (180)의 출력 (PFi)은 계속해서 로직 로우 레벨로 유지된다.Whether the column address thus increased is the last column address is determined in step S170. If it is not the last column address, the column selector circuit consisting of column decoder 130, redundancy circuit 150, and column pass gate circuit 140 selects columns in bytes in response to the increased column address (only It is apparent that redundant bit lines and normal bit lines can be selected if there are bit lines in bytes or there are defective columns. The byte-programmed data bits L1-L8 latched in the page buffers corresponding to the selected columns are transferred to the data state determination circuit 160 through the column pass gate circuit 140. If the input data bits L1-L8 are all determined to be at a logic high level (when the data bits all indicate a program state), the next operation is performed as described above. At this time, the output PFi of the program pass / fail determination circuit 180 remains at a logic low level.

계속해서, 만약 증가된 열 어드레스에 따라 선택된 데이터 비트들이 항상 프로그램된 상태를 나타내면, 앞서 설명된 일련의 동작은 어드레스 발생 회로 (120)에서 생성된 열 어드레스 비트들이 모두 로직 하이 레벨이 될 때까지 (즉, 모든 열들이 선택될 때까지) 반복적으로 수행된다. 그 결과, 도 7a에 도시된 바와 같이, 어드레스 비트들 모두 로직 하이 레벨이고 카운트 업 펄스 신호 (YCNTUP)가 로직 로우 레벨에서 로직 하이 레벨로 천이할 때, 프로그램 패스/페일 판별 회로 (180)로부터 출력되는 패스/페일 플래그 신호 (PFi)는 로직 로우 레벨에서 로직 하이 레벨로 천이한다. 이는 선택된 페이지에 연결된 모든 셀 트랜지스터들이 올바르게 프로그램되었음을 의미한다.Subsequently, if the data bits selected according to the increased column address always indicate a programmed state, the above-described series of operations may be performed until all of the column address bits generated by the address generating circuit 120 are at a logic high level. That is, until all columns are selected). As a result, as shown in FIG. 7A, when the address bits are both logic high level and the count up pulse signal YCNTUP transitions from the logic low level to the logic high level, the output from the program pass / fail determination circuit 180 The pass / fail flag signal PFi is transitioned from the logic low level to the logic high level. This means that all cell transistors connected to the selected page are correctly programmed.

만약 열 어드레스 비트들 모두 로직 하이 레벨이 되기 이전에 (마지막 열 어드레스가 생성되기 이전에), 열 어드레스에 대응하는 선택된 페이지 버퍼들로부터 데이터 상태 판별 회로 (160)로부터 전달된 데이터 비트들 (L1-l8) 중 적어도 하나의 데이터 비트가 로직 로우 레벨을 가지면 (즉, 적어도 하나의 데이터 비트가 불충분하게 프로그램되면), 도 7b에 도시된 바와 같이, 발진 제어 신호 (LTo)는 로직 하이 레벨에서 로직 로우 레벨로 비활성화된다. 이는 발진 회로 (170)로부터 출력되는 카운트 업 펄스 신호 (YCNTUP)가 로직 하이 레벨로 유지되게 한다. 따라서, 열 어드레스는 증가됨 없이 이전에 증가된 값으로 유지된다. 게다가, 도 7a에 도시된 바와 같이, 상기 신호 (PGMSCN)는 발진 제어 신호 (LTo)의 하이-로우 천이에 의해서 로직 로우 레벨이 된다. 이때, 프로그램 패스/페일 판별 회로 (180)는 열 어드레스 비트들 중 적어도 하나가 로직 로우 레벨로 유지되기 때문에 로직 로우 레벨의 패스/페일 플래그 신호 (PFi)를 출력한다. 이후, 현재 수행된 프로그램 사이클이 마지막인 지의 여부가 단계 (S190)에서 판별된다. 만약 현재 수행된 프로그램 사이클이 마지막이면, 프로그램은 프로그램 실패로서 종료된다. 만약 현재 수행된 프로그램 사이클이 마지막이 아니면, 정해진 횟수의 프로그램 사이클에 따라 프로그램 동작, 검증 읽기 동작 및 Y-SCAN 동작이 앞서 설명된 것과 동일한 방법으로 반복적으로 수행된다.If all of the column address bits are at the logic high level (before the last column address is generated), then the data bits L1- transferred from the data state determination circuit 160 from the selected page buffers corresponding to the column address. If at least one data bit of l8) has a logic low level (i.e., at least one data bit is insufficiently programmed), as shown in Fig. 7B, the oscillation control signal LTo is logic low at the logic high level. Deactivated to level. This causes the count up pulse signal YCNTUP output from the oscillation circuit 170 to be maintained at a logic high level. Thus, the column address remains at the previously increased value without being increased. In addition, as shown in FIG. 7A, the signal PGMSCN is brought to a logic low level by the high-low transition of the oscillation control signal LTO. In this case, the program pass / fail determination circuit 180 outputs a pass / fail flag signal PFi having a logic low level because at least one of the column address bits is maintained at a logic low level. Then, it is determined in step S190 whether the currently performed program cycle is the last. If the currently executed program cycle is the end, the program ends with a program failure. If the currently executed program cycle is not the last, the program operation, the verify read operation and the Y-SCAN operation are repeatedly performed in the same manner as described above according to a predetermined number of program cycles.

여기서, 이전 프로그램 사이클의 Y-SCAN 동작에서 프로그램 페일로 판별된 메모리 셀들을 지정한 열 어드레스는 다음에 수행되는 프로그램 사이클의 Y-SCAN 동작의 시작 열 어드레스로서 사용된다. 이는 Y-SCAN 동작을 수행하는 데 필요한 시간이 단축됨을 의미한다. 결과적으로, 전반적인 프로그램 시간이 단축될 수 있다.Here, the column address specifying the memory cells determined as the program fail in the Y-SCAN operation of the previous program cycle is used as the start column address of the Y-SCAN operation of the next program cycle. This means that the time required to perform the Y-SCAN operation is shortened. As a result, the overall program time can be shortened.

본 발명의 프로그램 알고리즘에 따르면, 메모리 셀 어레이 (100)에 배열된 비트 라인들 중 결함이 생긴 비트 라인들은 이 분야에 잘 알려진 방법에 따라 대응하는 리던던트 비트 라인들로 대체된다. 리던던시 정보를 포함하는 열 어드레스에 따라 열 선택 회로 (열 디코더, 리던던시 회로, 그리고 열 패스 게이트 회로를 포함함)에 의해서 선택된 열들은 결함 열을 포함하지 않는다. 그러므로, 프로그램 패스/페일을 점검하기 위해서 열 패스 게이트 회로 (140)를 통해 페이지 버퍼 회로 (110)에서 데이터 상태 판별 회로 (160)로 전달되는 데이터 비트들은 결함이 없는 정상적인 열들에 관련된 것이다. 따라서, 구제된 결함 열은 프로그램 패스/페일을 판별하는 동작에 영향을 미치지 않는다.According to the program algorithm of the present invention, defective bit lines of the bit lines arranged in the memory cell array 100 are replaced with corresponding redundant bit lines according to a method well known in the art. The columns selected by the column selection circuit (including the column decoder, redundancy circuit, and column pass gate circuit) according to the column address containing the redundancy information do not include the defective column. Therefore, the data bits passed from the page buffer circuit 110 to the data state determination circuit 160 through the column pass gate circuit 140 to check the program pass / fail are related to normal columns without defects. Thus, the repaired defect string does not affect the operation of determining the program pass / fail.

제 2 실시예Second embodiment

본 발명의 제 2 실시예에 따른 플래시 메모리 장치를 보여주는 블록도가 도 8에 도시되어 있다.8 is a block diagram illustrating a flash memory device according to a second embodiment of the present invention.

도 8를 참조하면, 플래시 메모리 장치는 2개의 메모리 셀 어레이들 (200a, 200b)을 포함하며, 각 메모리 셀 어레이 (200a, 200b)는 도 3에 도시된 것과 동일하게 구성된다. 각 어레이 (200a, 200b)는 별도의 행들 (워드 라인들)과 열들 (비트 라인들)을 구비하며, "매트"라고 불린다. 플래시 메모리 장치는 메모리 셀 어레이들 (200a, 200b) 각각에 대응하는 페이지 버퍼 회로들 (210a/210b) 및 열 패스 게이트 회로들 (220a/220b)을 포함한다. 게다가, 상기 플래시 메모리 장치에는 열 디코더 & 리던던시 회로 (230) 그리고 어드레스 발생 회로 (240)가 제공된다. 상기 페이지 버퍼 회로들 (210a, 210b), 열 패스 게이트 회로들 (220a, 220b), 열 디코더 & 열 패스 게이트 회로 (230), 그리고 어드레스 발생 회로 (240)는 도 3의 구성 요소들과 동일한 기능을 수행하며, 그것의 설명은 그러므로 생략된다.Referring to FIG. 8, a flash memory device includes two memory cell arrays 200a and 200b, and each memory cell array 200a and 200b is configured in the same manner as shown in FIG. 3. Each array 200a, 200b has separate rows (word lines) and columns (bit lines) and is called a "mat". The flash memory device includes page buffer circuits 210a / 210b and column pass gate circuits 220a / 220b corresponding to each of the memory cell arrays 200a and 200b. In addition, the flash memory device is provided with a column decoder & redundancy circuit 230 and an address generating circuit 240. The page buffer circuits 210a and 210b, the column pass gate circuits 220a and 220b, the column decoder & column pass gate circuit 230, and the address generating circuit 240 have the same function as the components of FIG. And its description is therefore omitted.

제 2 실시예에 따른 플래시 메모리 장치는 2개의 메모리 셀 어레이들 (200a, 200b)이 동시에 프로그램되는 기능을 지원한다. 이후, 이러한 프로그램 기능을 1K 프로그램이라 칭한다. 플래시 메모리 장치는 프로그램 상태 검출 회로 (300)를 포함하며, 상기 회로 (300)는 열 패스 게이트 회로들 (220a, 220b)를 통해 전달되는 데이터 (DM1i, DM2i) (i는 양의 정수)를 받아들이고, 상기 각 데이터 (DM1i, DM2i)가 프로그램 상태를 갖는 지의 여부를 판별한다.The flash memory device according to the second embodiment supports a function of simultaneously programming two memory cell arrays 200a and 200b. This program function is hereinafter referred to as 1K program. The flash memory device includes a program state detection circuit 300, which receives data DM1i, DM2i (i is a positive integer) that is passed through the column pass gate circuits 220a, 220b. It is determined whether each of the data DM1i and DM2i has a program state.

상기 메모리 셀 어레이들 (200a, 200b)에 배열된 비트 라인들 중 결함이 생긴 비트 라인들은 이 분야에 잘 알려진 방법에 따라 대응하는 리던던트 비트 라인들로 대체된다. 리던던시 정보를 포함하는 열 어드레스에 따라 열 디코더 & 리던던시 회로 (230) 그리고 열 패스 게이트 회로 (220a, 220b)를 통해 선택된 열들은 결함 열을 포함하지 않는다. 그러므로, 프로그램 패스/페일을 점검하기 위해서 열 패스 게이트 회로들 (220a, 220b)를 통해 페이지 버퍼 회로들 (210a, 210b)에서 프로그램 상태 검출 회로 (300)로 전달되는 데이터 비트들은 결함이 없는 정상적인 열들에 관련된 것이다. 따라서, 구제된 결함 열은 프로그램 패스/페일을 판별하는 동작에 영향을 미치지 않는다. 그러므로, 본 발명의 제 2 실시예에 따르면, 종래 기술에서 생기 문제점들을 해결할 수 있다.The defective bit lines among the bit lines arranged in the memory cell arrays 200a and 200b are replaced with corresponding redundant bit lines according to a method well known in the art. Columns selected through the column decoder & redundancy circuit 230 and the column pass gate circuits 220a and 220b according to the column address including the redundancy information do not include a defective column. Therefore, the data bits transferred from the page buffer circuits 210a and 210b to the program state detection circuit 300 through the column pass gate circuits 220a and 220b to check the program pass / fail are normal columns without defects. Related to. Thus, the repaired defect string does not affect the operation of determining the program pass / fail. Therefore, according to the second embodiment of the present invention, problems arising in the prior art can be solved.

계속해서 도 8을 참조하면, 상기 프로그램 상태 검출 회로 (300)는 메모리 셀 어레이 (200a)에 대응하는 열 패스 게이트 회로 (220a)를 통해 전달된 데이터 비트들 (DM1i)이 프로그램 상태 (예를 들면, 로직 '1')를 갖는 지의 여부를 판별함과 동시에, 메모리 셀 어레이 (200b)에 대응하는 열 패스 게이트 회로 (200b)를 통해 전달된 데이터 비트들 (DM2i)이 프로그램 상태 (예를 들면, 로직 '1')를 갖는 지의 여부를 판별한다. 상기 프로그램 상태 검출 회로 (300)는 판별 결과로서 신호들 (PF_OSC, PF_FSR1, PF_FSR2)를 출력한다. 이에 대한 설명은 이후 상세히 설명된다.8, the program state detection circuit 300 stores the data bits DM1i transferred through the column pass gate circuit 220a corresponding to the memory cell array 200a in a program state (for example, At the same time as having a logic '1', the data bits DM2i transferred through the column pass gate circuit 200b corresponding to the memory cell array 200b are in a program state (e.g., Whether or not having a logic '1'). The program state detection circuit 300 outputs signals PF_OSC, PF_FSR1, and PF_FSR2 as the determination result. This will be described in detail later.

도 9를 참조하면, 본 발명의 제 2 실시예에 따른 프로그램 패스/페일 판별 회로를 보여주는 블록도가 도시되어 있다. 프로그램 상태 검출 회로 (300)는 2개의 데이터 상태 판별부들 (310, 312), 제 1 내지 제 3 레지스터들 (314, 316, 328), 발진기 콘트롤러 (324), 그리고 발진기 (326)를 포함한다.9, there is shown a block diagram illustrating a program pass / fail determination circuit according to a second embodiment of the present invention. The program state detection circuit 300 includes two data state determination units 310 and 312, first to third registers 314, 316, and 328, an oscillator controller 324, and an oscillator 326.

상기 데이터 상태 판별부들 (310, 312)은 메모리 셀 어레이들 (200a, 200b)에 각각 대응한다. 데이터 상태 판별부 (310)는 대응하는 메모리 셀 어레이 (200a)로부터 읽혀진 데이터 비트들 중 열 패스 게이트 회로 (220a)를 통해 전달된 데이터 비트들 (DM1i) (예를 들면, 바이트 단위의 데이터 비트들) 모두 프로그램 상태를 갖는 지의 여부를 판별하며, 판별 결과로서 신호 (pf_dM1FAIL)를 출력한다. 마찬가지로, 데이터 상태 판별부 (312)는 대응하는 메모리 셀 어레이 (200b)로부터 읽혀진 데이터 비트들 중 열 패스 게이트 회로 (220b)를 통해 전달된 데이터 비트들 (DM2i) (예를 들면, 바이트 단위의 데이터 비트들) 모두 프로그램 상태를 갖는 지의 여부를 판별하며, 판별 결과로서 신호 (pf_dM2FAIL)를 출력한다.The data state determination units 310 and 312 correspond to the memory cell arrays 200a and 200b, respectively. The data state determination unit 310 may transmit data bits DM1i (eg, data bits in a byte unit) transmitted through the column pass gate circuit 220a among the data bits read from the corresponding memory cell array 200a. ) It discriminates whether or not all of them have a program state, and outputs a signal (pf_dM1FAIL) as a determination result. Similarly, the data state determination unit 312 may transmit the data bits DM2i (for example, data in byte units) transmitted through the column pass gate circuit 220b among the data bits read from the corresponding memory cell array 200b. Bits) determine whether all of them have a program state, and output a signal (pf_dM2FAIL) as a result of the determination.

상기 데이터 상태 판별부 (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과 동일하게 구성됨은 자명하다.Referring to FIG. 10, which shows a preferred embodiment of the data state determination unit 310, the data state determination unit 310 includes three NAND gates 501, 502, and 505 and a NOR gate 503 connected as shown. And two inverters 504 and 506. In FIG. 10, the signal ACP_M1 indicates whether or not the memory cell array 200a is selected and has a logic high level when selected. If all of the data bits DM1 <0> -DM1 <7> are logic '1' (all have a program state), then the signal pf_dM1FAIL is at a logic high level. This means that the cell transistors corresponding to the selected columns have been programmed with a threshold voltage corresponding to the desired program state. In contrast, if at least one of the data bits DM1 <0> -DM1 <7> is logic '0', the signal pf_dM1FAIL is at a logic low level. This means that the cell transistors corresponding to the selected columns are not sufficiently programmed. Although not shown in the drawing, it is obvious that the data state discriminating unit 312 corresponding to the memory cell array 200b is also configured in the same manner as in FIG. 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에 도시되어 있다.Referring back to FIG. 9, the first and second registers 314 and 316 respectively store signals pf_dM1FAIL and pf_dM2FAIL output from the data state determination units 310 and 312 during the last program cycle. In the last program cycle, registers 314 and 316 output signals pf_fM1FAIL / pf_fM2FAIL, respectively, in response to signals pf_dM1FAIL and pf_dM2FAIL output from corresponding data state determination units 310 and 312. A preferred embodiment of the first register 314 corresponding to the data state determination unit 310 is shown in FIG.

도 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에서 사용되는 신호들 모두 액티브 하이 신호들이다.Referring to FIG. 11, the first register 314 includes an AND gate 507, three NAND gates 508, 515, 516, two inverters 511, 514, three NOR gates 509, 510, 514 and pulse generator 512, which are connected as shown in the figure. The NAND gates 515 and 516 operate as SR flip flops. In FIG. 11, the signal INT_S1KPGM is a signal indicating a 1K program operation, the signal PGM_FLPMAX is a signal indicating a last program cycle, and the signal RD_PYSCNEN is a signal indicating the start of the Y-SCAN operation. The signal INT_PPWRUP is a signal that is activated at power-up, and the signal pf_lSCNen is a signal provided from the oscillator controller 324. All signals used in FIG. 11 are active high signals.

회로 동작에 있어서, 상기 제 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)는 로직 로우 레벨에서 로직 하이 레벨로 천이한다.In circuit operation, the first register 314 is initialized at power-up or when a 1K program is required, so that the output signal pf_fM1FAIL of the SR flip-flop is at a logic low level. If the current program cycle is not last, i.e., if signal PGM_FLPMAX is at a logic low level, signal pf_fM1FAIL remains at an initialized level (logic low level). This is because one input SET of the NAND gate 515 is maintained at a logic high level. As a result, when it is not the last program cycle, the signal pf_fM1FAIL is maintained at the initialized level regardless of the output signal pf_dM1FAIL of the corresponding data state determination unit 310. In contrast, when the currently executed program cycle is the last program cycle, the signal PGM_FLPMAX transitions from the logic low level to the logic high level. Therefore, the signal pf_fM1FAIL is affected by the signal pf_dM1FAIL output from the corresponding data state determination unit 310. For example, when the output signal pf_dM1FAIL / pf_dM2FAIL of the data state determination unit 310/312 is at a logic high level (that is, at least one of the cell transistors corresponding to the selected columns is not sufficiently programmed), the NAND gate ( Since the input signal SET of 505 transitions from the logic high level to the logic low level, the output signal pf_fM1FAIL / pf_fM2FAIL of the register 314/316 transitions from the logic low level to the logic high level.

상기 데이터 상태 판별부 (312)에 대응하는 제 2 레지스터 (316) 역시 도 11과 동일하게 구성됨은 자명하며, 그것의 설명은 그러므로 생략된다. 앞서 설명으로부터 알 수 있듯이, 제 1 및 제 2 레지스터들 (314, 316)은 1K 프로그램이 수행되고 현재의 프로그램 사이클이 마지막일 때만 대응하는 데이터 상태 판별부들 (310, 312)의 출력 신호들 (pf_dM1FAIL, pf_dM2FAIL)에 의해서 각각 영향을 받는다.It is apparent that the second register 316 corresponding to the data state determination unit 312 is also configured in the same manner as in FIG. 11, and a description thereof is therefore omitted. As can be seen from the foregoing description, the first and second registers 314 and 316 are output signals (pf_dM1FAIL) of the corresponding data state determination units 310 and 312 only when a 1K program is performed and the current program cycle is the last. , pf_dM2FAIL).

도 9를 다시 참조하면, 발진기 콘트롤러 (324)는 인에이블 회로 (318), 디세이블 회로 (320) 그리고 발진 제어 신호 발생기 (322)로 구성된다. 상기 발진 제어 신호 발생기 (322)는 인에이블 회로 (318)로부터 출력되는 인에이블 신호 (PF_START)에 응답하여 발진 제어 신호 (pf_lSCNen)를 활성화시키고, 디세이블 회로 (320)로부터 출력되는 디세이블 신호 (PF_PPFEND)에 응답하여 발진 제어 신호 (pf_lSCNen)를 비활성화시킨다.Referring back to FIG. 9, oscillator controller 324 is comprised of an enable circuit 318, a disable circuit 320, and an oscillation control signal generator 322. The oscillation control signal generator 322 activates the oscillation control signal pf_lSCNen in response to the enable signal PF_START output from the enable circuit 318 and disables the disable signal output from the disable circuit 320. PF_PPFEND) to deactivate the oscillation control signal (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)의 하이-로우 천이는 지연없이 출력된다.A preferred embodiment of the oscillation control signal generator 322 is shown in FIG. Referring to FIG. 12, the oscillation control signal generator 322 includes five inverters 517, 519, 522, 523, 524, a NOR gate 518, a flip-flop 520, and a delay as shown in the figure. Section 521. The flip-flop 520 functions as a latch and is initialized at power-up. The flip-flop 520 latches the enable signal PF_START output from the enable circuit 318 in synchronization with the high-low transition of the signal RD_PYSCNEN as a clock signal. If the enable signal PF_START is at the logic high level, the oscillation control signal pf_lSCNen transitions from the logic low level to the logic high level. As a result, the oscillator 326 generates the oscillation signal PF_OSC having a predetermined period. In contrast, when the enable signal PF_START is at the logic low level, the oscillation control signal pf_lSCNen is continuously maintained at the initial state of the logic low level. Because of this, oscillator 326 does not operate. In addition, the flip-flop 520 is initialized when the disable signal PF_PPFEND output from the disable circuit 320 transitions from the logic low level to the logic high level. This causes the oscillation control signal (pf_lSCNen) to transition from the logic high level to the logic low level. The delay unit 521 operates as an inverter and outputs the low-high transition of the input signal DI by a predetermined time delay. On the other hand, the high-low transition of the input signal DI is output without delay.

상기 인에이블 회로 (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)를 출력한다.Referring to FIG. 13 showing a preferred embodiment of the enable circuit 318, two NAND gates 525, 526, two NOR gates 527, 530, two connected as shown in the figure. AND gates 528, 529, and inverter 531 make up enable circuit 318. In the circuit operation, when the currently executed program cycle is not the last program cycle (INT_S1KPGM = 'H', PGM_FLPMAX = 'L'), the enable circuit 318 is output from the data state determination units 310 and 312. An enable signal PF_START of a logic low level or logic high level is generated in response to the signals pf_dM1FAIL and pf_dM2FAIL. For example, if any one of the signals pf_dM1FAIL and pf_dM2FAIL is at the logic high level (meaning program failure for the selected data), the enable signal PF_START is at the logic low level. As described above, this causes the oscillation control signal pf_lSCNen to remain at a logic low level, resulting in no oscillation signal PF_OSC being generated from the oscillator 326 (the Y-SCAN operation is not performed). In contrast, if the signals pf_dM1FAIL and pf_dM2FAIL are all at the logic low level (meaning program success for the selected data), the enable signal PF_START is at the logic high level. This causes the oscillation control signal pf_lSCNen to be at a logic high level, so that the oscillator 326 outputs an oscillation signal PF_OSC having a predetermined period.

반면에, 현재 수행되는 프로그램 사이클이 마지막 프로그램 사이클인 경우, 상기 신호들 (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 동작이 수행되지 않는다).On the other hand, if the program cycle that is currently being performed is the last program cycle, any one of the signals pf_dM1FAIL, pf_dM2FAIL means a logic low level (meaning program success for the memory cell array for or corresponding to the selected data). In this case, the enable signal PF_START becomes a logic high level. This causes the oscillation control signal pf_lSCNen to be at a logic high level, so that the oscillator 326 outputs an oscillation signal PF_OSC having a predetermined period. If all of the signals pf_dM1FAIL and pf_dM2FAIL are at the logic high level, the enable signal PF_START is at the logic low level. This keeps the oscillation control signal pf_lSCNen at a logic low level. This causes the oscillation control signal pf_lSCNen to remain at a logic low level, so that no oscillation signal PF_OSC is generated from the oscillator 326 (the Y-SCAN operation is not performed).

상기 디세이블 회로 (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) 각각은 입력 신호가 로직 로우 레벨에서 로직 하이 레벨로 천이할 때 액티브 로우의 펄스 신호를 발생한다.Referring to FIG. 14, which shows a preferred embodiment of the disable circuit 320, NAND gates 533, 534, 536, 542, NOR gates 538, 545, and OR gates connected as shown in the figure. 532, AND gate 544, inverters 537, 539, 541, 545, 546, 548, pulse generators 540, 547, and flip-flop 543 constitute the disable circuit 320. do. Each of the pulse generators 540 and 547 generates an active low pulse signal when the input signal transitions from a logic low level to a logic high level.

회로 동작에 있어서, 상기 플립플롭 (543)은 파워-업시 초기화되거나, 디세이블 신호 (PF_PPFEND)가 로직 하이 레벨에서 로직 로우 레벨로 천이할 때 초기화된다. 그렇게 초기화된 플립플롭 (543)은 클럭 신호로서 신호 (RD_PYSCNEN)와 인버터 (537)를 통해 발진 신호 (PF_OSC)를 받아들이는 NOR 게이트 (538)의 출력 신호에 응답하여 (즉, 발진 신호 (PF_OSC)가 로직 로우 레벨에서 로직 하이 레벨로 천이할 때) NOR 게이트 (536)의 출력 신호를 래치한다.In circuit operation, the flip-flop 543 is initialized at power-up or when the disable signal PF_PPFEND transitions from a logic high level to a logic low level. The flip-flop 543 thus initialized is in response to the output signal of the NOR gate 538 which receives the oscillation signal PF_OSC via the signal RD_PYSCNEN and the inverter 537 as the clock signal (ie, the oscillation signal PF_OSC). Latches the output signal of the NOR gate 536 when it transitions from the logic low level to the logic high level.

현재 수행되는 프로그램 사이클이 마지막 프로그램 사이클이 아닐 때 (신호들 (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)가 로직 로우 레벨로 비활성화되게 한다.When the currently executed program cycle is not the last program cycle (when the signals PGM_FLPMAX, pf_fM1FAIL, pf_fM2FAIL are all kept at logic low levels), the output signal of the NAND gate 536 is the data state determination units 310, 312. When any one of the output signals pf_dM1FAIL and pf_dM2FAIL is at the logic high level (meaning program failure for the selected data), the logic signal is at the logic high level regardless of the signal ACP_FFYADD. This causes an active high pulse disable signal (PF_PPFEND) to be generated. As a result, as described above, the oscillation control signal pf_lSCNen is deactivated to the logic low level by the active high pulse disable signal PF_PPFEND. The signal ACP_FFYADD is a signal that transitions from a logic low level to a logic high level when the last column address is generated from the address generating circuit 240. If the current program cycle is the last program cycle (PGM_FLPMAX = '1'), the logic level of the signal output from the NAND gate 536 is the output signals (pf_dM1FAIL, pf_dM2FAIL) of the data state determination units 310 and 312. It is determined by the signal ACP_FFYADD regardless. When the signal ACP_FFYADD is at the logic low level (when the last column address is not generated), the output signal of the NAND gate 536 is at the logic low level. Under these conditions, when the output signals pf_fM1FAIL, pf_fM2FAIL of the first and second registers 314, 316 are both at a logic low level (data DM1i, transmitted through the column pass gate circuits 220a, 220b), DM2i) both have a program state), the disable signal (PF_PPFEND) continues to be at a logic low level, and as a result, the oscillation control signal (pf_lSCNen) remains at a logic high level. In contrast, when any one of the output signals pf_fM1FAIL and pf_fM2FAIL is at the logic high level, an active high pulse disable signal PF_PPFEND is generated. This causes the oscillation control signal (pf_lSCNen) to be deactivated to a logic low level.

다시 도 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)에 의해서 영향을 받는다. 이에 대한 설명은 이후 상세히 설명된다.Referring again to FIG. 9, the program state detection circuit 300 further includes a third register 328, which registers the program success or program failure for each of the memory cell arrays 200a, 200b. The informing flag signals PF_FSR1 and PF_FSR2 are output. The signals PF_FSR1 and PF_FSR2 are first set to logic high levels indicating a program failure by a command signal PGM indicating a 1K program. After the 1K program is started, the signals PF_FSR1 and PF_FSR2 are affected by the signal ACP_FFYADD when the currently executed program cycle is not the last program cycle. If the currently executed program cycle is the last program cycle, the flag signals PF_FSR1 and PF_FSR2 are affected by the signals ACP_FFYADD, pf_fM1FAIL, pf_fM2FAIL. This will be described in detail later.

앞서 설명된 제 2 실시예의 플래시 메모리 장치에 따르면, 마지막 프로그램 사이클 이전에 메모리 셀 어레이들 중 어느 하나에서 선택된 열들의 메모리 셀들에 대한 프로그램 실패가 생기면, 메모리 셀 어레이들 (200a, 200b)에 대한 Y-SCAN 동작을 중지하고 다음의 프로그램 사이클이 수행된다. 이때, 다음의 프로그램 사이클의 Y-SCAN 동작의 시작 열 어드레스로서 이전 프로그램 사이클의 Y-SCAN 동작에서 마지막으로 사용된 열 어드레스 (충분히 프로그램되지 않은 셀들을 지정한 열 어드레스)가 사용됨에 유의해야 한다. 마지막 프로그램 사이클이 수행되는 동안, 메모리 셀 어레이들 (200a, 200b) 중 어느 하나에서 프로그램 실패가 생기더라도 다른 하나의 메모리 셀 어레이에 대한 프로그램 성공 또는 실패를 확인할 수 있도록 Y-SCAN 동작은 중단되지 않는다. 즉, 열 어드레스가 계속해서 생성된다.According to the flash memory device of the second embodiment described above, if a program failure occurs for the memory cells of the selected rows in any one of the memory cell arrays before the last program cycle, the Y for the memory cell arrays 200a and 200b is lost. -Stop the SCAN operation and execute the next program cycle. At this time, it should be noted that the column address last used in the Y-SCAN operation of the previous program cycle (column address specifying cells not sufficiently programmed) is used as the start column address of the Y-SCAN operation of the next program cycle. During the last program cycle, even if a program failure occurs in either of the memory cell arrays 200a and 200b, the Y-SCAN operation is not interrupted to confirm the program success or failure for the other memory cell array. . That is, column addresses continue to be generated.

도 15는 본 발명의 제 2 실시예에 따른 프로그램 알고리즘을 보여주는 흐름도이다. 이하, 본 발명의 제 2 실시예에 따른 플래시 메모리 장치의 동작이 도 15 및 도 16을 참조하여 상세히 설명된다.15 is a flowchart showing a program algorithm according to a second embodiment of the present invention. Hereinafter, the operation of the flash memory device according to the second embodiment of the present invention will be described in detail with reference to FIGS. 15 and 16.

앞서 설명된 바와 같이, 프로그램을 수행하기 이전에 모든 셀 트랜지스터들의 문턱 전압을 (-) 전위로 만들기 위한 소거 동작이 수행된 후, 1K 프로그램 (메모리 셀 어레이들 (200a, 200b)이 동시에 프로그램되는 것을 의미함)이 도 6의 프로그램 알고리즘에 따라 수행될 것이다. 1K 프로그램이 시작되면, 앞서 설명된 바와 같이, 프로그램 상태 검출 회로 (300)의 제 3 레지스터 (328)가 초기화된다. 즉, 플래그 신호들 (PF_FSR1, PF_FSR2)이 프로그램 실패를 의미하는 로직 하이 레벨로 각각 초기화된다. 그리고, 디세이블 신호 (PF_PPFEND) 및 발진 제어 신호 (pf_lSCNen) 역시 로직 로우 레벨로 초기화된다.As described above, after the erase operation is performed to bring the threshold voltages of all the cell transistors to the negative potential before performing the program, it is assumed that the 1K program (memory cell arrays 200a and 200b are simultaneously programmed). Will be performed according to the program algorithm of FIG. When the 1K program is started, as described above, the third register 328 of the program state detection circuit 300 is initialized. That is, the flag signals PF_FSR1 and PF_FSR2 are respectively initialized to a logic high level indicating a program failure. The disable signal PF_PPFEND and the oscillation control signal pf_lSCNen are also initialized to a logic low level.

프로그램될 데이터가 페이지 버퍼 회로들 (210a, 210b)에 각각 로드되고 (S200), 어드레스 발생 회로 (240)는 단계 (S210)에서 리셋된다. 이후, 상기 로드된 데이터를 메모리 셀 어레이들 (200a, 200b)에 저장하기 위한 일련의 프로그램 사이클들 (프로그램 동작, 읽기 검증 동작 그리고 Y-SCAN 동작)이 다음과 같이 수행된다.Data to be programmed is loaded into the page buffer circuits 210a and 210b, respectively (S200), and the address generating circuit 240 is reset in step S210. Then, a series of program cycles (program operation, read verify operation and Y-SCAN operation) for storing the loaded data in the memory cell arrays 200a and 200b are performed as follows.

상기 페이지 버퍼 회로들 (210a, 210b)에 각각 로드된 데이터에 대한 1K 프로그램 동작이 앞서 설명된 것과 동일한 방법으로 단계 (S220)에서 수행되고, 절차는 단계 (S230)으로 진행한다. 단계 (S230)에서는 메모리 셀 어레이들 (200a, 200b)의 선택된 페이지에 대응하는 메모리 셀들에 프로그램된 데이터 비트들이 페이지 버퍼 회로들 (210a, 210b)에 의해서 감지되고 래치된다. 즉, 검증 읽기 동작이 수행된다. 이후, Y-SCAN 동작이 다음과 같이 수행된다.The 1K program operation for data loaded in the page buffer circuits 210a and 210b, respectively, is performed in step S220 in the same manner as described above, and the procedure goes to step S230. In step S230, data bits programmed in memory cells corresponding to the selected page of the memory cell arrays 200a and 200b are sensed and latched by the page buffer circuits 210a and 210b. That is, the verify read operation is performed. Thereafter, the Y-SCAN operation is performed as follows.

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)에 각각 전달된다.When the Y-SCAN operation starts, as shown in FIG. 16A, a signal RD_PYSCNEN in the form of a pulse indicating the start of the Y-SCAN operation is generated. In this case, columns of the byte unit (page buffers corresponding to bit lines or columns) of the columns of the memory cell arrays 200a and 200b may be aligned with the column decoder & redundancy circuit 230 according to the column address previously initialized. Selected by pass gate circuits 220a, 220b (if the selected columns corresponding to each memory cell array 200a, 200b contain one defective column, one redundant bit line and seven redundant bit lines per memory cell array Bit lines will be selected) (S240). The data DM1i, DM2i (hereinafter, DM1i is referred to as first data and DM2i is referred to as second data) latched in page buffers of selected columns corresponding to the memory cell arrays 200a and 200b, respectively. Are transmitted to the data state determination units 310 and 312, respectively.

상기 제 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).Whether or not all the bits of the first and second data DM1i, DM2i have a program state (logic '1') is determined by the program state detection circuit 300 in step S250. If all bits have a program state, each of the signals pf_dM1FAIL, pf_dM2FAIL is at a logic low level indicating that the selected data was correctly programmed. At this time, the enable signal PF_START becomes a logic high level and is latched to the flip-flop 520 of the oscillation control signal generator 322 at the high-low transition of the signal RD_PYSCNEN. As a result, the oscillation control signal pf_lSCNen transitions from the logic low level to the logic high level for the oscillator 326 to operate. When the oscillation signal PF_OSC transitions from the logic high level to the logic low level, the address generation circuit 240 increases the column address by '1' so that the following columns are selected (S260).

상기 어드레스 발생 회로 (240)로부터 출력된 열 어드레스가 마지막 열 어드레스인 지의 여부가 단계 (S270)에서 판별된다. 만약 그렇지 않다면, 앞서 설명된 단계들 (S240, S250, S260)이 모든 열들이 선택될 때까지 (즉, 마지막 열 어드레스가 생성될 때까지) 반복적으로 수행된다. 만약 그렇다면, 신호 (ACP_FFYADD)가 로직 로우 레벨에서 로직 하이 레벨로 천이하며, 그 결과 제 3 레지스터 (328)로부터 출력되는 플래그 신호들 (PF_FSR1, PF_FSR2) 모두 프로그램 실패를 의미하는 로직 로우 레벨로 천이한다. 이후, 도 16a에서 알 수 있듯이, 디세이블 신호 (PF_PPFEND) 및 발진 제어 신호 (pf_lSCNen)가 신호 (ACP_FFYADD)의 로우-하이 천이에 따라 순차적으로 비활성화된다.It is determined in step S270 whether the column address output from the address generating circuit 240 is the last column address. If not, the steps S240, S250, S260 described above are performed repeatedly until all columns are selected (ie, until the last column address is generated). If so, the signal ACP_FFYADD transitions from a logic low level to a logic high level, and as a result, all of the flag signals PF_FSR1 and PF_FSR2 output from the third register 328 transition to a logic low level, meaning a program failure. . Thereafter, as shown in FIG. 16A, the disable signal PF_PPFEND and the oscillation control signal pf_lSCNen are sequentially deactivated according to the low-high transition of the signal 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)에 그대로 유지된다.Referring to FIG. 16B, first and second delivered to data state determination units 310 and 312, respectively, during Y-SCAN operation of any program cycle (or while signal PGM_FLPMAX remains at a logic low level). When it is determined that any one of the data DM1i and DM2i (for example, the second data) is insufficiently programmed (S250), the output signal of the data state discriminating unit 312 corresponding to the second data DM2i (pf_dM2FAIL) transitions from the logic low level to the logic high level. Since the current program cycle is not the last, i.e., because the signal PGM_FLPMAX remains at the logic low level, the input signal DI of the flip-flip 543 of the disable circuit 320, i.e., the NAND gate 536. Output signal transitions from a logic low level to a logic high level. As a result, as shown in FIG. 16B, the disable circuit 320 generates an active high pulse disable signal PF_PPFEND, which causes the oscillation control signal pf_lSCNen to have a high-low transition. Through the above-described procedure, the Y-SCAN operation of the program cycle is terminated. The column address last used in the Y-SCAN operation is kept in the address generating circuit 240 so that it can be used as the starting column address of the Y-SCAN operation in the next program cycle.

상기 프로그램 사이클의 Y-SCAN 동작이 종료된 후 즉, 메모리 셀 어레이들 (200a, 200b) 중 어느 하나에 대응하는 데이터 (DM1i/DM2i)에 대한 프로그램 실패가 판별된 후 (S250), 상기 프로그램 사이클이 마지막 프로그램 사이클인 지의 여부가 단계 (S280)에서 판별된다. 만약 그렇지 않으면, 절차는 프로그램 동작을 수행하는 단계 (S220)로 진행한다. 이후 동작은 앞서 설명된 것과 동일하게 수행된다.After the Y-SCAN operation of the program cycle ends, that is, after a program failure for the data DM1i / DM2i corresponding to any one of the memory cell arrays 200a and 200b is determined (S250), the program cycle Whether or not this is the last program cycle is determined in step S280. If not, the procedure proceeds to step S220 of performing a program operation. Subsequent operations are performed as described above.

도 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)가 동작하지 않도록 로직 로우 레벨로 비활성화된다.Referring to FIG. 16C, while the signal PGM_FLPMAX is maintained at a logic high level, that is, during the Y-SCAN operation of the last program cycle, the first and second data transmitted to the data state determination units 310 and 312, respectively, When it is determined that either one of DM1i and DM2i (e.g., the second data) is insufficiently programmed (S250), the output signal pf_dM2FAIL of the data state determining unit 312 is at a logic high level. Since the program cycle currently being performed is the last, the logic high level signal pf_dM2FAIL is stored in the second register 316. Similarly, the logic low level signal pf_dM1FAIL is stored in the first register 314. As a result, the output signal pf_fM2FAIL of the second register 316 transitions from the logic low level to the logic high level, while the output signal pf_fM1FAIL of the first register 314 remains at the logic low level. Although the signal pf_dM2FAIL goes to the logic high level, the disable signal PF_PPFEND continues to be at the logic low level. Because the currently executed program cycle is the last program cycle and the signal ACP_FFYADD is at the logic low level, the output signal of the NAND gate 536 of the disable circuit 320 remains at the logic low level. Therefore, the disable signal PF_PPFEND remains at a logic low level because only one of the input signals pf_fM1FAIL, pf_fM2FAIL of the AND gate 536 is at a logic high level. As a result, even if the memory cell array 200b is determined to be a program failure (S290), the address generation circuit 240 is subjected to the high-low transition of the oscillation signal PF_OSC such that the next columns of the memory cell array 200a are selected. In response, the column address is increased by '1' (S260). Then, the processes described above are repeatedly performed until the last column address is generated. When the last column address is generated, that is, when the signal ACP_PFFYADD transitions from a logic low level to a logic high level, the disable circuit 320 generates a disable signal PF_PPFEND in the form of a pulse, resulting in oscillation control. Signal pf_lSCNen is deactivated to a logic low level such that oscillator 326 is inoperative.

또한, 신호 (ACP_FFYADD)가 로직 로우 레벨에서 로직 하이 레벨로 천이할 때, 제 3 레지스터 (328)의 출력 신호 (PF_FSR1)은, 도 16c에 도시된 바와 같이, 제 1 레지스터 (314)로부터 출력되는 로직 로우 레벨의 신호 (pf_fM1FAIL)에 의해서 로직 로우 레벨이 된다. 이는 메모리 셀 어레이 (200a)에 관련된 프로그램 동작이 성공하였음을 의미한다. 이에 반해서, 제 3 레지스터 (328)의 출력 신호 (PF_FSR2)은, 도 16c에 도시된 바와 같이, 제 2 레지스터 (316)로부터 출력되는 로직 하이 레벨의 신호 (pf_fM2FAIL)에 의해서 계속해서 로직 하이 레벨로 유지된다. 이는 메모리 셀 어레이 (200b)에 관련된 프로그램 동작이 실패하였음을 의미한다.Also, when the signal ACP_FFYADD transitions from the logic low level to the logic high level, the output signal PF_FSR1 of the third register 328 is output from the first register 314, as shown in FIG. 16C. The logic low level is caused by the logic low level signal pf_fM1FAIL. This means that the program operation related to the memory cell array 200a is successful. In contrast, the output signal PF_FSR2 of the third register 328 continues to the logic high level by the logic high level signal pf_fM2FAIL output from the second register 316 as shown in FIG. 16C. maintain. This means that a program operation associated with the memory cell array 200b has failed.

계속해서 도 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).With continued reference to FIG. 16D, the first and second delivered to the data state determination units 310, 312, respectively, while the signal PGM_FLPMAX remains at a logic high level, that is, during the Y-SCAN operation of the last program cycle. When it is determined that any one of the data DM1i and DM2i (for example, the second data) is insufficiently programmed (S250), the output signal pf_dM2FAIL of the data state determination unit 312 becomes a logic high level. . Since the program cycle currently being performed is the last, the logic high level signal pf_dM2FAIL is stored in the second register 316. Similarly, the logic low level signal pf_dM1FAIL is stored in the first register 314. As a result, the output signal pf_fM2FAIL of the second register 316 transitions from the logic low level to the logic high level, while the output signal pf_fM1FAIL of the first register 314 remains at the logic low level. Although the signal pf_dM2FAIL goes to the logic high level, the disable signal PF_PPFEND continues to be at the logic low level. Because the currently executed program cycle is the last program cycle and the signal ACP_FFYADD is at the logic low level, the output signal of the NAND gate 536 of the disable circuit 320 remains at the logic low level. Therefore, the disable signal PF_PPFEND remains at a logic low level because only one of the input signals pf_fM1FAIL, pf_fM2FAIL of the AND gate 536 is at a logic high level. As a result, even if the memory cell array 200b is determined to be a program failure (S290), the address generation circuit 240 is subjected to the high-low transition of the oscillation signal PF_OSC such that the next columns of the memory cell array 200a are selected. In response, the column address is increased by '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)에 관련된 프로그램이 모두 실패하였음을 의미한다.If it is determined that the first data DM1i is insufficiently programmed before the last column address is generated in the last program cycle, the signal pf_dM1FAIL is at a logic high level. Since the program cycle currently being performed is the last, the logic high level signal pf_dM1FAIL is also stored in the first register 314. As a result, the output signal pf_fM1FAIL of the first register 314 transitions from the logic low level to the logic high level. Therefore, since the input signals pf_fM1FAIL, pf_fM2FAIL of the AND gate 544 of the disable circuit 320 are all at the logic high level, as shown in FIG. 16D, the disable signal PF_PPFEND is at the logic low level. The oscillation control signal (pf_lSCNen) is deactivated to the logic low level. That is, oscillator 326 no longer operates. In addition, the flag signals PF_FSR1 and PF_FSR2 output from the third register 328 have the output signals pf_fM1FAIL and pf_fM2FAIL of the first and second registers 314 and 316 respectively maintained at a logic high level. It remains set at the initial state. This means that all of the programs associated with the memory cell arrays 200a and 200b have failed.

상술한 바와 같이, 리던던시 정보를 포함하는 열 어드레스에 따라 열 패스 게이트 회로에 의해서 선택되는 데이터 비트들을 이용하여 프로그램 패스/페일 판별 동작을 수행하기 때문에, 결함 비트 라인(들)은 프로그램 패스/페일을 점검하는 동작에 영향을 미치지 못한다. 그러므로, 불휘발성 반도체 메모리 장치가 결함 비트 라인으로 인해 페일 디바이스로 분류되는 것을 방지함으로써, 수율이 저하되는 것을 막을 수 있다.As described above, since the program pass / fail determination operation is performed using data bits selected by the column pass gate circuit according to the column address including the redundancy information, the defective bit line (s) may cause the program pass / fail to fail. It does not affect the checking operation. Therefore, by preventing the nonvolatile semiconductor memory device from being classified as a fail device due to a defective bit line, the yield can be prevented from being lowered.

Claims (15)

복수 개의 행들, 복수 개의 열들 그리고 상기 행들 및 열들의 교차 영역들에 각각 배열된 복수 개의 메모리 셀들을 갖는 메모리 셀 어레이와;A memory cell array having a plurality of rows, a plurality of columns and a plurality of memory cells each arranged in intersection regions of the rows and columns; 상기 열들을 통해 상기 메모리 셀 어레이로부터 프로그램된 데이터 비트들을 읽고, 그렇게 읽혀진 프로그램된 데이터 비트들을 래치하는 읽기 회로와;Read circuitry for reading the programmed data bits from the memory cell array through the columns and for latching the programmed data bits so read; 열 어드레스에 응답하여 상기 열들 중 일부를 선택하는 열 선택 회로와;A column selection circuit for selecting some of the columns in response to a column address; 펄스 신호에 응답하여 상기 열 어드레스를 발생하는 어드레스 발생 회로 및;An address generating circuit for generating the column address in response to a pulse signal; 프로그램 사이클의 프로그램 패스/페일 판별 동작 동안 상기 열 선택 회로로부터 출력된 데이터 비트들 모두 프로그램 상태를 갖는 지의 여부를 판별하여 상기 펄스 신호를 발생하는 프로그램 상태 검출 회로를 포함하는 불휘발성 반도체 메모리 장치.And a program state detection circuit for generating the pulse signal by determining whether all of the data bits output from the column selection circuit have a program state during a program pass / fail determination operation of a program cycle. 제 1 항에 있어서,The method of claim 1, 상기 메모리 셀 어레이는 상기 열들 중 결함 열들을 대체하기 위한 복수 개의 리던던트 열들을 부가적으로 포함하는 불휘발성 반도체 메모리 장치.And the memory cell array further includes a plurality of redundant columns for replacing defective ones of the rows. 제 2 항에 있어서,The method of claim 2, 상기 열 선택 회로는 상기 어드레스 발생 회로부터 출력된 열 어드레스를 디코딩하는 열 디코더와; 상기 열 디코더에 의해서 디코딩된 열 어드레스에 응답하여 상기 열들 중 일부를 선택하는 열 패스 게이트 회로 및; 상기 열 어드레스를 받아들이는 리던던시 회로를 포함하며,The column selection circuit comprises: a column decoder for decoding a column address output from the address generation cycle; A column pass gate circuit that selects some of the columns in response to a column address decoded by the column decoder; A redundancy circuit receiving the column address; 상기 리던던시 회로는 상기 열 어드레스에 대응하는 열들이 적어도 하나의 결함 열을 포함할 때 상기 열 디코더가 비활성화되게 하며, 상기 결함 열이 상기 열 패스 게이트 회로를 통해 대응하는 리던던트 열로 대체되게 하는 불휘발성 반도체 메모리 장치.The redundancy circuit causes the column decoder to be deactivated when the columns corresponding to the column address include at least one defective column, and causes the defective column to be replaced by a corresponding redundant column through the column pass gate circuit. Memory device. 제 1 항에 있어서,The method of claim 1, 상기 프로그램 상태 검출 회로는The program state detection circuit 상기 읽기 회로에 래치된 프로그램된 데이터 비트들 중 상기 선택된 열들에 대응하는 프로그램된 데이터 비트들을 받아들이고, 그렇게 입력된 프로그램된 데이터 비트들 모두 프로그램 상태를 나타낼 때 상기 펄스 신호를 발생하는 수단 및;Means for accepting programmed data bits corresponding to the selected columns of programmed data bits latched in the read circuit, and generating the pulse signal when all of the inputted programmed data bits indicate a program state; 상기 펄스 신호와 상기 열 어드레스에 응답해서 프로그램 성공 및 프로그램 실패 중 하나를 알리는 패스/페일 플래그 신호를 발생하는 패스/페일 판별 회로를 포함하는 불휘발성 반도체 메모리 장치.And a pass / fail determination circuit for generating a pass / fail flag signal informing of one of a program success and a program failure in response to the pulse signal and the column address. 제 4 항에 있어서,The method of claim 4, wherein 상기 수단은 상기 선택된 열들에 대응하는 프로그램된 데이터 비트들이 각각 상기 프로그램 상태를 나타내는 지의 여부를 판별하여 발진 제어 신호를 발생하는 데이터 상태 판별 회로 및;The means includes: a data state determination circuit for determining whether programmed data bits corresponding to the selected columns each represent the program state and generating an oscillation control signal; 상기 발진 제어 신호에 응답하여 상기 펄스 신호를 발생하는 발진 회로를 포함하는 불휘발성 반도체 메모리 장치.And an oscillation circuit generating the pulse signal in response to the oscillation control signal. 제 5 항에 있어서,The method of claim 5, 상기 데이터 상태 판별 회로는 상기 선택된 열들에 대응하는 상기 프로그램된 데이터 비트들 모두가 프로그램 상태를 나타낼 때 상기 발진 제어 신호를 활성화시키며, 그 결과 상기 열 어드레스를 증가시키기 위한 상기 펄스 신호가 생성되는 불휘발성 반도체 메모리 장치.The data state discrimination circuit activates the oscillation control signal when all of the programmed data bits corresponding to the selected columns indicate a program state, and as a result, a non-volatile that generates the pulse signal to increase the column address. Semiconductor memory device. 제 6 항에 있어서,The method of claim 6, 상기 데이터 상태 판별 회로는 상기 선택된 열들에 대응하는 상기 프로그램된 데이터 비트들 중 적어도 하나의 데이터 비트가 불충분하게 프로그램된 상태를 나타낼 때 상기 발진 제어 신호를 비활성화시키며, 그 결과 상기 펄스 신호가 생성되지 않는 불휘발성 반도체 메모리 장치.The data state determination circuitry deactivates the oscillation control signal when at least one of the programmed data bits corresponding to the selected columns indicates an insufficiently programmed state, so that the pulse signal is not generated. Nonvolatile Semiconductor Memory Device. 제 5 항에 있어서,The method of claim 5, 상기 패스/페일 판별 회로는 상기 발진 제어 신호가 활성화되고 상기 열 어드레스의 모든 비트들이 제 1 로직 상태일 때, 프로그램 성공을 알리는 상기 제 1 로직 상태의 패스/페일 플래그 신호를 발생하며; 그리고The pass / fail determination circuit generates a pass / fail flag signal of the first logic state indicating a program success when the oscillation control signal is activated and all bits of the column address are in a first logic state; And 상기 패스/페일 판별 회로는 상기 발진 제어 신호가 비활성화될 때 그리고 상기 발진 제어 신호가 활성화되고 상기 열 어드레스 비트들 중 적어도 하나가 제 2 로직 상태일 때, 프로그램 실패를 알리는 상기 제 2 로직 상태의 패스/페일 플래그 신호를 발생하는 불휘발성 반도체 메모리 장치.The pass / fail determination circuit passes a path of the second logic state to signal a program failure when the oscillation control signal is deactivated and when the oscillation control signal is activated and at least one of the column address bits is in a second logic state. A nonvolatile semiconductor memory device that generates a / fail flag signal. 제 1 항에 있어서,The method of claim 1, 상기 어드레스 발생 회로는 카운터 회로를 포함하는 불휘발성 반도체 메모리 장치.And the address generation circuit comprises a counter circuit. 제 1 항에 있어서,The method of claim 1, 상기 불휘발성 반도체 메모리 장치는 낸드형 플래시 메모리 장치를 포함하는 불휘발성 반도체 메모리 장치.The nonvolatile semiconductor memory device includes a NAND flash memory device. 제 1 항에 있어서,The method of claim 1, 상기 프로그램 사이클은 프로그램 동작, 검증 읽기 동작 그리고 프로그램 패스/페일 판별 동작으로 구성되며, 상기 프로그램 사이클은 소정의 횟수만큼 반복적으로 수행되는 불휘발성 반도체 메모리 장치.And the program cycle includes a program operation, a verify read operation, and a program pass / fail determination operation, wherein the program cycle is repeatedly performed a predetermined number of times. 제 11 항에 있어서,The method of claim 11, 임의의 프로그램 사이클의 프로그램 패스/페일 판별 동작이 수행되는 동안 상기 열 선택 회로를 통해 전달된 데이터 비트들 중 어느 하나가 불충분하게 프로그램 상태로 판별될 때 상기 임의의 프로그램 사이클은 종료되고 다음 프로그램 사이클이 수행되며;When any one of the data bits passed through the column selection circuitry is insufficiently determined during a program pass / fail determination operation of any program cycle, the arbitrary program cycle ends and the next program cycle is terminated. Performed; 상기 다음의 프로그램 사이클의 프로그램 패스/페일 판별 동작의 시작 열 어드레스는 상기 임의의 프로그램 사이클의 프로그램 패스/페일 판별 동작에서 마지막으로 사용된 열 어드레스인 불휘발성 반도체 메모리 장치.And a start column address of the program pass / fail determination operation of the next program cycle is a column address last used in the program pass / fail determination operation of the arbitrary program cycle. 제 1 및 제 2 메모리 셀 어레이들과;First and second memory cell arrays; 상기 제 1 및 제 2 메모리 셀 어레이들 각각은 복수 개의 행들과, 복수 개의 열들과, 상기 행들 및 열들의 교차 영역들에 각각 배열된 복수 개의 메모리 셀들과, 상기 열들을 통해 대응하는 메모리 셀 어레이에 프로그램된 데이터 비트들을 읽고, 그렇게 읽혀진 프로그램된 데이터 비트들을 래치하는 읽기 회로를 가지며;Each of the first and second memory cell arrays includes a plurality of rows, a plurality of columns, a plurality of memory cells arranged in intersection regions of the rows and columns, and a corresponding memory cell array through the columns. Has read circuitry for reading the programmed data bits and latching the programmed data bits so read; 열 어드레스에 응답하여 상기 제 1 메모리 셀 어레이의 열들 중 일부를 그리고 상기 제 2 메모리 셀 어레이의 열들 중 일부를 선택하는 열 선택 회로와;A column select circuit for selecting some of the columns of the first memory cell array and some of the columns of the second memory cell array in response to a column address; 펄스 신호에 응답하여 상기 열 어드레스를 발생하는 어드레스 발생 회로 및;An address generating circuit for generating the column address in response to a pulse signal; 프로그램 사이클의 프로그램 패스/페일 판별 동작 동안 상기 열 선택 회로를 통해 전달된, 상기 제 1 및 제 2 메모리 셀 어레이들에 각각 대응하는, 데이터 모두 프로그램 상태를 갖는 지의 여부를 판별하여 상기 펄스 신호를 발생하는 프로그램 상태 검출 회로를 포함하는 불휘발성 반도체 메모리 장치.The pulse signal is generated by determining whether data has both a program state corresponding to the first and second memory cell arrays, respectively, passed through the column selection circuit during a program pass / fail determination operation of a program cycle. A nonvolatile semiconductor memory device comprising a program state detection circuit. 제 13 항에 있어서,The method of claim 13, 상기 프로그램 사이클은 프로그램 동작, 검증 읽기 동작 그리고 프로그램 패스/페일 판별 동작으로 구성되며, 상기 프로그램 사이클은 소정의 횟수만큼 반복적으로 수행되는 불휘발성 반도체 메모리 장치.And the program cycle includes a program operation, a verify read operation, and a program pass / fail determination operation, wherein the program cycle is repeatedly performed a predetermined number of times. 복수 개의 비트 라인들 및 복수 개의 리던던트 비트 라인들을 갖는 메모리 셀 어레이를 포함하는 플래시 메모리 장치의 프로그램 방법에 있어서:A program method of a flash memory device comprising a memory cell array having a plurality of bit lines and a plurality of redundant bit lines: 상기 메모리 셀 어레이로부터 프로그램된 데이터 비트들을 읽고 그렇게 읽혀진 프로그램된 데이터 비트들을 래치하는 단계와;Reading programmed data bits from the memory cell array and latching the programmed data bits so read; 열 어드레스에 응답하여 상기 프로그램된 데이터 비트들 중 일부를 전달하는 단계 및;Conveying some of the programmed data bits in response to a column address; 그렇게 전달된 프로그램된 데이터 비트들이 프로그램 상태를 나타내는 지의 여부를 점검하는 단계를 포함하는 것을 특징으로 하는 프로그램 방법.Checking whether the transferred programmed data bits indicate a program state.
KR1020000000497A 1999-09-06 2000-01-06 Flash memory device with a program-status detecting circuit and program method thereof KR100338553B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE10043397A DE10043397B4 (en) 1999-09-06 2000-09-04 Flash memory device with programming state detection circuit and the method therefor
JP2000269304A JP4566369B2 (en) 1999-09-06 2000-09-05 Nonvolatile semiconductor memory device
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 true KR20010029546A (en) 2001-04-06
KR100338553B1 KR100338553B1 (en) 2002-05-27

Family

ID=19610271

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000000497A KR100338553B1 (en) 1999-09-06 2000-01-06 Flash memory device with a program-status detecting circuit and program method thereof

Country Status (1)

Country Link
KR (1) KR100338553B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100437461B1 (en) * 2002-01-12 2004-06-23 삼성전자주식회사 Nand-type flash memory device and erase, program, and copy-back program methods thereof
KR100706835B1 (en) * 2006-02-10 2007-04-13 주식회사 하이닉스반도체 Semiconductor memory apparatus
KR100884234B1 (en) * 2007-05-25 2009-02-18 삼성전자주식회사 Flash memory device capable of improving program performance and programming method thereof
US7719897B2 (en) 2004-12-30 2010-05-18 Samsung Electronics Co., Ltd. Program verification for non-volatile memory

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100437461B1 (en) * 2002-01-12 2004-06-23 삼성전자주식회사 Nand-type flash memory device and erase, program, and copy-back program methods thereof
US6813184B2 (en) 2002-01-12 2004-11-02 Samsung Electronics Co., Ltd. NAND flash memory and method of erasing, programming, and copy-back programming thereof
US7719897B2 (en) 2004-12-30 2010-05-18 Samsung Electronics Co., Ltd. Program verification for non-volatile memory
KR100706835B1 (en) * 2006-02-10 2007-04-13 주식회사 하이닉스반도체 Semiconductor memory apparatus
KR100884234B1 (en) * 2007-05-25 2009-02-18 삼성전자주식회사 Flash memory device capable of improving program performance and programming method thereof
US7746703B2 (en) 2007-05-25 2010-06-29 Samsung Electronics Co., Ltd. Flash memory device and method of programming flash memory device

Also Published As

Publication number Publication date
KR100338553B1 (en) 2002-05-27

Similar Documents

Publication Publication Date Title
JP4566369B2 (en) Nonvolatile semiconductor memory device
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
US6831859B2 (en) Non-volatile semiconductor memory for storing initially-setting data
US5671178A (en) Erase verifying circuit for a nonvolatile semiconductor memory with column redundancy
US6967868B2 (en) Semiconductor memory device having flexible column redundancy scheme
US7719897B2 (en) Program verification for non-volatile memory
US20030039139A1 (en) Nonvolatile semiconductor memory device having electrically and collectively erasable characteristics
US5654925A (en) Circuit for applying a stress voltage in sequence to selected memory blocks in a semiconductor device
JP2001084800A (en) Nonvolatile semiconductor memory
KR960004740B1 (en) Eeprom and operating method having test circuit for detecting critical level of memory cell
US5936970A (en) Repair circuit of a flash memory cell and repair method
KR100338553B1 (en) Flash memory device with a program-status detecting circuit and program method thereof
JP3441161B2 (en) Nonvolatile semiconductor memory device
KR0172437B1 (en) Non-volatile semiconductor memory device
JP2001250395A (en) Non-volatile semiconductor storage device
JP4049779B2 (en) Semiconductor memory device
JP3737070B2 (en) Semiconductor memory device
KR100538382B1 (en) Method for verifying cache program of nand flash memory device
JP2005243232A (en) Semiconductor memory device
JP2003036689A (en) Semiconductor memory
JP2005196966A (en) Semiconductor memory

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