KR19990054400A - Semiconductor memory device and program verification method thereof - Google Patents

Semiconductor memory device and program verification method thereof Download PDF

Info

Publication number
KR19990054400A
KR19990054400A KR1019970074212A KR19970074212A KR19990054400A KR 19990054400 A KR19990054400 A KR 19990054400A KR 1019970074212 A KR1019970074212 A KR 1019970074212A KR 19970074212 A KR19970074212 A KR 19970074212A KR 19990054400 A KR19990054400 A KR 19990054400A
Authority
KR
South Korea
Prior art keywords
data
program
register
cell
storing
Prior art date
Application number
KR1019970074212A
Other languages
Korean (ko)
Other versions
KR100466979B1 (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 KR1019970074212A priority Critical patent/KR100466979B1/en
Publication of KR19990054400A publication Critical patent/KR19990054400A/en
Application granted granted Critical
Publication of KR100466979B1 publication Critical patent/KR100466979B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)

Abstract

본 발명은 프로그램 검증에 관한 것으로서, 더 구체적으로는 디스터브 셀까지 검증할 수 있는 프로그램 검증 방법에 관한 것으로서, 데이터를 저장하기 위한 메모리 셀 어레이, 선택된 셀의 데이터를 저장하기 위한 제 1 레지스터, 제 2 레지스터, 그리고 프로그램된 셀의 데이터를 검증한 결과를 저장하는 제 3 레지스터를 포함하는 반도체 메모리 장치의 프로그램 검증 방법에 있어서, 어드레스를 입력하는 단계와; 프로그램 할 데이터를 제 1 및 제 2 레지스터에 입력하되, 프로그램 방지 셀에 대응되는 논리 0의 데이터를 저장하고, 선택된 셀에 대응되는 논리 1의 프로그램 데이터를 저장하는 단계와; 프로그램 동작을 수행하는 단계와; 프로그램 셀을 검증하는 단계와; 선택된 셀들이 제대로 프로그램 되었는지 판단하는 단계와; 선택된 셀들이 제대로 프로그램 되었을 때, 제 2 차 프로그램 검증을 수행하는 단계와; 제 2 차 프로그램 검증 완료후, 검증된 패스 데이터를 제 3 레지스터에 저장하는 단계와; 프로그램된 셀의 패스 데이터를 출력하는 단계를 포함하고, 선택된 셀들이 프로그램 제대로 수행되지 않았을 때, 최대 프로그램 횟수와 비교하는 단계와; 최대 프로그램 횟수보다 작을 때, 프로그램 더 수행하는 단계와; 최대 프로그램 회수보다 클 때, 페일 데이터를 상기 제 3 레지스터에 저장하는 단계와; 선택된 셀의 페일 여부를 출력하는 단계를 출력하는 단계를 포함하는 것을 특징으로 한다.The present invention relates to program verification, and more particularly, to a program verification method capable of verifying even a disturb cell, comprising: a memory cell array for storing data, a first register for storing data of a selected cell, and a second A program verification method for a semiconductor memory device comprising a register and a third register for storing a result of verifying data of a programmed cell, the method comprising: inputting an address; Inputting data to be programmed into the first and second registers, storing data of logic 0 corresponding to the program protection cell and storing program data of logic 1 corresponding to the selected cell; Performing a program operation; Verifying a program cell; Determining whether the selected cells are correctly programmed; When the selected cells are correctly programmed, performing a second program verification; After completion of the second program verify, storing the verified pass data in a third register; Outputting the pass data of the programmed cell, and comparing the maximum number of programs when the selected cells are not properly programmed; Performing a further program when less than the maximum number of programs; Storing fail data in the third register when greater than a maximum number of programs; And outputting whether or not the selected cell is to be failed.

Description

반도체 메모리 장치 및 그 장치의 프로그램 검증 방법(semiconductor memory device and program verification method thereof)Semiconductor memory device and program verification method

본 발명은 반도체 메모리 장치의 프로그램 검증 방법에 관한 것으로서, 더 구체적으로는 디스터브 셀을 검출할 수 있는 프로그램 검증 방법에 관한 것이다.The present invention relates to a program verification method of a semiconductor memory device, and more particularly, to a program verification method capable of detecting a disturb cell.

일반적으로 전기적으로 소거 및 프로그램이 가능한 반도체 메모리 장치(electrically erasable programmable ROM : 이하 EEPROM이라 칭함 )의 각 셀들은 플로팅 게이트(floating gate)를 구비하고 있어 셀에 고전압을 인가하면 핫 일렉트론 인젝션(hot electron injection)과 F-N 터널링(Fowler-Nordheim tunneling)에 의해 선택된 셀의 플로팅 게이트로 전하가 축적되거나, 방출되므로서 프로그램(program)과 소거(erase) 동작이 수행된다. 반도체 메모리 장치에서 프로그램 및 소거 동작을 수없이 반복하다 보면 플로팅 게이트와 채널 사이 또는 플로팅 게이트와 소오스 및 드레인간의 산화막에 스트레스가 가해져 셀의 신뢰성은 물론 디바이스 전체의 신뢰성을 저하시킬 수 있다. 일반적으로 EEPROM은 프로그램 및 소거 방법에 따라 105∼106의 사이클(cycle)을 스펙상(specification)으로 명시하고 있어 유저(user)로 하여금 참고할 수 있도록 하였다.In general, each cell of an electrically erasable programmable ROM (hereinafter referred to as an EEPROM) has a floating gate so that when a high voltage is applied to the cell, hot electron injection is performed. Charge and accumulation are discharged to the floating gate of the selected cell by Fowler-Nordheim tunneling and program and erase operations are performed. When the program and erase operations are repeatedly performed in the semiconductor memory device, stress is applied to the oxide layer between the floating gate and the channel or between the floating gate and the source and the drain, thereby reducing the reliability of the cell and the overall device. In general, the EEPROM specifies a cycle of 10 5 to 10 6 as a specification according to a program and an erase method, so that the user can refer to it.

EEPROM의 신뢰성에 영향을 미치는 또 한 요인은 선택된 셀들에 프로그램을 수행할 때, 비선택된 셀들이 프로그램 또는 소거되는 디스터번스 오류(disturbance fail)의 발생이다. 상기 디스터번스 오류는 비선택된 셀의 프로그램 커플링율(program coupling ration)이 정상적인 셀들(normal cells)보다 클 때. 방지 바이어스 조건(inhibit bias condition)에서 프로그램되는 경우를 들 수 있다.Another factor affecting the reliability of the EEPROM is the occurrence of a disturbance failure in which unselected cells are programmed or erased when programming the selected cells. The disturbance error occurs when the program coupling ratio of an unselected cell is greater than normal cells. One example is programming under an inhibitor bias condition.

도 1은 디스터번스 셀들을 포함할 경우의 EEPROM의 문턱 전압의 분포를 보여주는 도면이다.FIG. 1 is a diagram illustrating a distribution of threshold voltages of an EEPROM in the case of including disturbance cells.

도 1을 참조하면, 소거된 셀들이 디스터브 영향을 받아 일부 셀의 문턱 전압이 A방향으로 높아지면 독출 동작시 논리 0이 되어 독출 오류가 발생된다. 그리고 프로그램된 셀이 디스터브 영향을 받아 B 방향으로 셀의 문턱 전압이 더욱 높아지면, 독출 동작시 한 스트링(string)의 모든 셀들은 문턱 전압에 상관없이 항상 논리 0의 데이터가 독출된다.Referring to FIG. 1, when the erased cells are affected by the disturb, the threshold voltage of some cells becomes high in the A direction, resulting in a logic 0 during a read operation, thereby causing a read error. When the programmed cell is affected by the disturb, the threshold voltage of the cell becomes higher in the B direction. In the read operation, all cells of a string are always read out of logic 0 regardless of the threshold voltage.

도 2는 프로그램 검증 방법을 순차적으로 보여주는 흐름도이다.2 is a flowchart sequentially illustrating a program verification method.

도 2를 참조하면, 프로그램할 데이터를 로딩하기 위한 모드 선택 코드를 입력하고(S20), 프로그램 셀을 선택하기 위한 어드레스 신호들을 입력한다(S22). 그리고 선택된 셀로 프로그램할 데이터를 레지스터에 입력하며, 이때 프로그램 방지 셀에 대한 데이터로 논리 1을 입력하고, 프로그램 할 셀에 대한 데이터로는 논리 0을 입력한다. 상기 데이터 입력 후에 프로그램 모드 선택 코드를 입력하고(S26) 나면 프로그램 동작이 수행되는데(S28), 칩 내부의 프로그램 제어 로직에 의해 미리 정해진 시간만큼 프로그램을 수행하고 나면 선택된 셀의 문턱 전압이 원하는 레벨을 유지하는 검증을 거쳐야 한다(S30). 셀들이 제대로 프로그램 되었는지 판단할 때(S32), 원하는 만큼 프로그램이 되었으면 모든 레지스터들은 논리 1의 패스 데이터로서 페일/패스 레지스터에 저장된다(S34). 만일에 셀들의 프로그램이 덜 수행될 것으로 판단되면 그에 해당되는 레지스터는 입력 당시의 논리 0을 유지하고 정해진 프로그램 횟수(S32-1)만큼 프로그램 및 검증 동작을 반복한다(S32-2). 이때 프로그램 방지 셀에 대응되는 데이터를 저장하는 레지스터는 원래 논리 1의 상태를 유지한다. 각 셀의 검증 결과는 프로그램이 완료되기 전에 패스/페일 레지스터에 저장되며(S34) 프로그램 완료후 독출 선택 코드를 입력받으면(S38) 프로그램 셀들에 대한 독출 동작 없이도 프로그램 결과(S40)를 알수 있다.Referring to FIG. 2, a mode selection code for loading data to be programmed is input (S20), and address signals for selecting a program cell are input (S22). The data to be programmed to the selected cell is input into a register. At this time, logic 1 is input as data for the program protection cell and logic 0 is input as data for the cell to be programmed. After inputting the program mode selection code after inputting the data (S26), the program operation is performed (S28). After the program is executed for a predetermined time by the program control logic inside the chip, the threshold voltage of the selected cell sets a desired level. Must be verified to maintain (S30). When determining whether the cells have been programmed properly (S32), if the desired number of programs are programmed, all registers are stored in the fail / pass register as pass data of logic 1 (S34). If it is determined that the program of the cells is to be performed less, the corresponding register maintains the logic 0 at the time of input and repeats the program and verify operations for a predetermined number of programs (S32-1) (S32-2). At this time, the register which stores the data corresponding to the program protection cell maintains the state of original logic 1. The verification result of each cell is stored in the pass / fail register before the program is completed (S34). If the read selection code is input after the program is completed (S38), the program result (S40) can be known without the read operation on the program cells.

그러나 선택된 메모리 셀 어레이내에 프로그램 방지 셀들이 디스터브를 받아 프로그램 될 경우 디스터브 셀들을 검출할 수가 없다. 그러므로 프로그램 검증시 패스/페일을 정확하게 판단할 수가 없다. 이는 프로그램 방지 셀에 대응되는 레지스터가 프로그램 완료까지 논리 1의 상태를 계속 유지함에 따라 일어나는 문제이다. 그러므로 프로그램 종료후 독출 동작으로 반드시 확인해야 하는 번거로움과 함께 전반적인 시스템의 실행을 저하시킨다.However, when the program protection cells in the selected memory cell array receive the disturb, the disturb cells cannot be detected. Therefore, the pass / fail cannot be accurately determined during program verification. This is a problem that occurs as the register corresponding to the program protection cell maintains the state of logic 1 until the program completion. Therefore, the read operation after the program is terminated and the overall system execution is reduced with the trouble of checking.

따라서, 본 발명의 목적은 프로그램 동작 중에 디스터브 셀을 검출할 수 있는 프로그램 검증 방법을 제공하는데 있다.Accordingly, an object of the present invention is to provide a program verification method capable of detecting a disturb cell during a program operation.

도 1은 메모리 셀의 문턱 전압의 분포를 보여주는 도면:1 shows a distribution of threshold voltages of a memory cell:

도 2는 종래 기술에 따른 프로그램 검증 방법을 순차적으로 보여주는 동작 흐름도:2 is an operation flowchart sequentially showing a program verification method according to the prior art:

도 3은 본 발명의 실시예에 따른 반도체 메모리 장치의 구성을 보여주는 블록도:3 is a block diagram illustrating a configuration of a semiconductor memory device according to an embodiment of the present invention:

도 4는 본 발명의 실시예에 따른 프로그램 검증 방법을 순차적으로 보여주는 동작 흐름도:4 is a flowchart illustrating a program verification method sequentially according to an embodiment of the present invention:

도 5는 제 2 프로그램 검증 방법을 상세하게 보여주는 동작 흐름도:5 is an operation flowchart showing in detail a second program verification method:

도 6은 본 발명의 실시예에 따른 반도체 메모리 장치의 구성을 보여주는 블록도:6 is a block diagram illustrating a configuration of a semiconductor memory device according to an embodiment of the present invention:

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

100 : 메모리 셀 어레이 110 : X 어드레스 버퍼100: memory cell array 110: X address buffer

120 : Y 어드레스 버퍼 130 : 모드 선택 코드 레지스터120: Y address buffer 130: mode selection code register

140 : 데이터 입력 버퍼 150 : 컨트롤 로직140: data input buffer 150: control logic

160 : Y 어드레스 카운터 170 : 코어 제어 회로160: Y address counter 170: core control circuit

180 : 제 1 레지스터 190 : 제 2 레지스터180: first register 190: second register

200 : 제 1 선택 회로 210 : 제 2 선택 회로200: first selection circuit 210: second selection circuit

220 : 비교 회로 230 : 제 3 레지스터220: comparison circuit 230: third register

(구성)(Configuration)

상술한 바와 같은 목적을 달성하기 위한 일 특징에 의하면, 복수 개의 워드 라인들, 복수 개의 비트 라인들 및 상기 워드 라인들과 상기 비트 라인들이 교차하는 영역에 배열된 복수 개의 메모리 셀들을 가지는 메모리 셀 어레이와; 상기 셀들에 기입될 데이터와 독출되는 데이터를 저장하는 제 1 레지스터와; 상기 셀들에 기입될 데이터를 저장하는 제 2 레지스터와; 비트 라인 수에 대응되는 상기 제 1 레지스터를 선택하기 위한 제 1 선택 회로와; 상기 제 1 레지스터 수에 대응되는 제 2 레지스터를 선택하기 위한 제 2 선택 회로와; 상기 제 1 선택 회로 및 제 2 선택 회로들을 최하위 비트부터 최상위 비트까지 순차적으로 인에이블 시키기 위한 카운터와; 프로그램 후, 인에이블된 제 1 선택 회로와 제 2 선택 회로에 대응되는 제 1 및 제 2 레지스터의 데 이터들을 비교하기 위한 비교 회로와; 프로그램 종료후, 선택된 셀의 패스/페일을 출력하기 위한 회로를 포함한다.According to an aspect of the present invention, a memory cell array includes a plurality of word lines, a plurality of bit lines, and a plurality of memory cells arranged in an area where the word lines and the bit lines intersect. Wow; A first register for storing data to be written to the cells and data to be read; A second register for storing data to be written to the cells; A first selection circuit for selecting the first register corresponding to the number of bit lines; A second selection circuit for selecting a second register corresponding to the first register number; A counter for sequentially enabling the first select circuit and the second select circuits from least significant bit to most significant bit; A comparison circuit for comparing the data of the first and second registers corresponding to the enabled first selection circuit and the second selection circuit after the program; And circuit for outputting the pass / fail of the selected cell after the program ends.

바람직한 실시예에 있어서, 프로그램후 상기 제 1 레지스터와 제 2 레지스터에 저장된 데이터가 서로 다를 때, 프로그램을 위한 데이터가 입력되지 않는 것을 특징으로 한다.In a preferred embodiment, when the data stored in the first register and the second register after the program is different from each other, data for the program is not input.

본 발명이 또 다른 일 특징에 의하면, 복수개의 메모리 셀들을 포함하는 메모리 셀 어레이, 선택된 셀의 데이터를 저장하기 위한 제 1 레지스터 및 제 2 레지스터, 그리고 프로그램된 셀의 데이터를 검증한 결과를 저장하는 제 3 레지스터를 포함하는 반도체 메모리 장치의 프로그램 검증 방법에 있어서, 어드레스를 입력하는 단계와; 프로그램 할 데이터를 제 1 및 제 2 레지스터에 입력하되, 프로그램 방지 셀에 대응되는 논리 0의 데이터를 저장하고, 선택된 셀에 대응되는 논리 1의 프로그램 데이터를 저장하는 단계와; 프로그램 동작을 수행하는 단계와; 프로그램 셀을 검증하는 단계와; 선택된 셀들이 제대로 프로그램 되었는지 판단하는 단계와; 선택된 셀들이 제대로 프로그램 되었을 때, 제 2 차 프로그램 검증을 수행하는 단계와; 제 2 차 프로그램 검증 완료후, 검증된 패스 데이터를 제 3 레지스터에 저장하는 단계와; 프로그램된 셀의 패스 데이터를 출력하는 단계를 포함하고, 선택된 셀들이 프로그램 제대로 수행되지 않았을 때, 최대 프로그램 횟수와 비교하는 단계와; 최대 프로그램 횟수보다 작을 때, 프로그램 더 수행하는 단계와; 최대 프로그램 회수보다 클 때, 페일 데이터를 상기 제 3 레지스터에 저장하는 단계와; 선택된 셀의 페일 여부를 출력하는 단계를 출력하는 단계를 포함하는 것을 특징으로 한다.According to still another aspect of the present invention, a memory cell array including a plurality of memory cells, a first register and a second register for storing data of a selected cell, and a result of verifying data of a programmed cell are stored. A program verification method for a semiconductor memory device including a third register, comprising: inputting an address; Inputting data to be programmed into the first and second registers, storing data of logic 0 corresponding to the program protection cell and storing program data of logic 1 corresponding to the selected cell; Performing a program operation; Verifying a program cell; Determining whether the selected cells are correctly programmed; When the selected cells are correctly programmed, performing a second program verification; After completion of the second program verify, storing the verified pass data in a third register; Outputting the pass data of the programmed cell, and comparing the maximum number of programs when the selected cells are not properly programmed; Performing a further program when less than the maximum number of programs; Storing fail data in the third register when greater than a maximum number of programs; And outputting whether or not the selected cell is to be failed.

바람직한 실시예에 있어서, 상기 제 2차 프로그램 검증 단계는 최하위 비트의 어드레스 신호를 인가받는 단계와; 상기 제 1 레지스터와 제 2 레지스터에 저장된 데이터를 비교하는 단계와; 비교된 데이터가 동일한지 판단하는 단계와; 상기 데이터들이 동일할 때, 제 3 레지스터에 저장하는 단계와; 비교된 상기 데이터들이 동일하지 않을 때, 어드레스 신호가 최상위 비트인지 판단하는 단계와; 상기 어드레스 신호가 최상위 비트가 아닐 때, 프로그램 검증을 수행하는 단계와; 상기 최상위 비트일 때 프로그램을 종료하고, 페일 데이터를 상기 제 3 레지스터에 저장하는 단계와; 데이터의 페일 발생을 외부로 알리는 단계를 포함하는 것을 특징으로 한다.In a preferred embodiment, the second program verifying step comprises: receiving an address signal of a least significant bit; Comparing data stored in the first and second registers; Determining whether the compared data is the same; When the data are the same, storing in a third register; Determining whether an address signal is most significant bit when the data compared are not the same; When the address signal is not the most significant bit, performing program verification; Terminating a program when the most significant bit and storing fail data in the third register; And notifying the occurrence of the failure of data to the outside.

(실시예)(Example)

이하 본 발명의 바람직한 실시예에 따른 참조 도면 도 3내지 도 6에 의거하여 설명하면 다음과 같다.Hereinafter, a description will be given with reference to FIGS. 3 to 6 according to a preferred embodiment of the present invention.

도 3은 본 발명의 바람직한 실시예에 따른 불 휘발성 반도체 메모리 장치의 구성을 보여주는 블록도이다.3 is a block diagram illustrating a configuration of a nonvolatile semiconductor memory device according to an exemplary embodiment of the present invention.

도 3을 참조하면, 불 휘발성 반도체 메모리 장치는 메모리 셀 어레이(100), X 어드레스 버퍼(110), Y 어드레스 버퍼(120), 모드 선택 코드 레지스터(130), 데이터 입력 버퍼(140), 독출/프로그램/소거 콘트롤 로직(150), Y 어드레스 카운터(160), 코어 제어 회로(170), 제 1 레지스터(180), 제 2 레지스터(190), 제 1 Y 선택 회로(200), 제 2 Y 선택 회로(210), 비교 회로(220), 제 3 레지스터(230), 그리고 출력 데이터 선택 회로(240), 그리고 데이터 출력 버퍼(250)를 구비한다.Referring to FIG. 3, a nonvolatile semiconductor memory device includes a memory cell array 100, an X address buffer 110, a Y address buffer 120, a mode selection code register 130, a data input buffer 140, and read / write. Program / erase control logic 150, Y address counter 160, core control circuit 170, first register 180, second register 190, first Y select circuit 200, second Y select A circuit 210, a comparison circuit 220, a third register 230, an output data selection circuit 240, and a data output buffer 250.

도 4는 본 발명의 바람직한 실시예에 따른 프로그램 검증 방법을 순차적으로 보여주는 동작 흐름도이다. 프로그램 동작시 프로그램 데이터 입력 선택 모드를 입력하고(S120), 프로그램된 셀에 데이터(S122)를 입력한다. 상기 셀에 입력되는 데이터를 제 1 레지스터(180)와 제 2 레지스터(190)에 동일하게 인가된다. 그런 다음에 프로그램 모드 선택 코드를 입력(S126)하여 프로그램 동작을 수행하고(S128), 프로그램된 셀들이 제대로 프로그램 되었는지 1차로 검증하게 된다(S130). 이때 선택된 셀이 충분히 프로그램 될 때 제 1 레지스터(180)를 논리 1의 상태를 유지하고(132), 프로그램된 셀들 중에 디스터브 셀들을 검출하기 위해 2차 검증을 거쳐야 한다(100). 상기 2차 검증(100)을 통해 디스터브 셀들이 존재하면 제 3 레지스터(230)에 페일 데이터를 저장하고 반대로 디스터브 셀들이 존재하지 않으면 패스 데이터를 저장하여 프로그램 모드가 종료된 후(S140) 독출 모드에서 패스/페일(pass/fail)을 판단한다.4 is an operation flowchart sequentially showing a program verification method according to an exemplary embodiment of the present invention. In the program operation, a program data input selection mode is input (S120), and data S122 is input to a programmed cell. Data input to the cell is equally applied to the first register 180 and the second register 190. Then, the program mode selection code is input (S126) to perform a program operation (S128), and firstly verify whether the programmed cells are correctly programmed (S130). In this case, when the selected cell is sufficiently programmed, the first register 180 maintains the state of logic 1 (132), and undergoes secondary verification to detect the disturb cells among the programmed cells (100). In the read mode, after the program mode is terminated by storing the fail data in the third register 230 when the disturb cells are present through the second verification 100 and the pass data when the disturb cells are not present (S140). Determine pass / fail.

도 5는 2차 프로그램 검증 방법을 순차적으로 보여주는 흐름도이다.5 is a flowchart sequentially illustrating a secondary program verification method.

도 5를 참조하면, 상기 2차 검증은 1차 검증(S130)을 거친 결과가 패스이면(S132), 프로그램시 선택된 셀들을 센싱하여 독출된 데이터를 제 1 레지스터(180)에 저장한다(S138). 이때, 프로그램 방지 셀의 데이터는 논리 1의 상태로 저장되고, 프로그램 셀이나 디스터브 셀들에 대한 데이터는 논리 0의 상태로 저장된다. 상기와 같이 셀들의 독출 데이터가 저장되고 나면 칼럼 어드레스를 최하위 비트로 셋팅하고(S100) 이에 대응되는 제 1 레지스터(180)에 저장된 데이터와 제 2 레지스터(190)의 데이터를 비교 회로(220)를 통해 비교한다(S102). 상기 비교되는 데이터가 상호 동일하면, Y-어드레스를 카운트 업(count up)(S104-1, S104-2)하여 다시 데이터를 비교한다. 이와 반대로 비교되는 데이터가 서로 다르게 판별되면 2차 프로그램 검증 동작을 종료하고 페일을 제 3 레지스터(230)에 저장한다(S110). 만일 Y-어드레스의 최상위 비트(MSB)까지 데이터들이 동일하면 패스를 제 3 레지스터(230)에 저장한다.Referring to FIG. 5, when the result of the first verification (S130) is a pass (S132), the second verification senses selected cells during programming and stores the read data in the first register 180 (S138). . At this time, the data of the program protection cell is stored in the logic 1 state, and the data for the program cell or the disturb cells are stored in the logic 0 state. After the read data of the cells are stored as described above, the column address is set to the least significant bit (S100), and the data stored in the first register 180 corresponding to the data stored in the first register 180 and the data of the second register 190 are compared through the comparison circuit 220. Comparison is made (S102). If the data to be compared are equal to each other, the Y-address is counted up (S104-1, S104-2) to compare the data again. On the contrary, if the data to be compared are different from each other, the second program verification operation is terminated and the fail is stored in the third register 230 (S110). If the data up to the most significant bit (MSB) of the Y-address is the same, the path is stored in the third register 230.

앞서 상술한 바와 같은 1차 검증과 2차 검증후 제 1 레지스터와 제 2 레지스터의 상태가 표에 상세하게 나타나 있다.The states of the first register and the second register after the first verification and the second verification as described above are shown in detail in the table.

[표][table]

디스터브 셀 존재 하나 ?Is there a disturb cell? 데이터 입력Data entry 1차 검증Primary verification 2차 검증2nd verification 데이터 상태Data status NONO 제 1 데이터 레지스터First data register 1010‥‥‥01011010 ‥‥‥ 0101 1010‥‥‥01011010 ‥‥‥ 0101 1010‥‥‥01011010 ‥‥‥ 0101 passpass 제 2 데이터 레지스터Second data register 1010‥‥‥01011010 ‥‥‥ 0101 1010‥‥‥01011010 ‥‥‥ 0101 1010‥‥‥01011010 ‥‥‥ 0101 YESYES 제 1 데이터 레지스터First data register 1010‥‥‥01011010 ‥‥‥ 0101 1111‥‥‥11111111 ‥‥ 1111 0010‥‥‥01000010 ‥‥‥ 0100 failfail 제 2 데이터 레지스터Second data register 1010‥‥‥01011010 ‥‥‥ 0101 1010‥‥‥01011010 ‥‥‥ 0101 1010‥‥‥01011010 ‥‥‥ 0101

도 6은 벌크가 분리된 두 개의 EEPROM의 셀 어레이에서 한쪽에 대한 프로그램 동작이 수행될 때, 나머지 어레이 블록에는 제 2 레지스터가 대응되고 있음을 보여주고 있다.FIG. 6 shows that when a program operation is performed on one cell in a cell array of two EEPROMs in which bulk is separated, a second register corresponds to the other array block.

이상에서, 본 발명에 따른 회로의 구성 및 동작을 상기한 설명 및 도면에 따라 도시하였지만 이는 예를 들어 설명한 것에 불과하며 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양한 변화 및 변경이 가능함은 물론이다.In the above, the configuration and operation of the circuit according to the present invention are shown in accordance with the above description and drawings, but this is merely described, for example, and various changes and modifications are possible without departing from the spirit of the present invention. .

따라서, 프로그램 동작시의 디스터브된 셀들까지 검출할 수 있는 효과가 있다.Therefore, there is an effect that can detect even the disturbed cells during the program operation.

Claims (4)

복수 개의 워드 라인들, 복수 개의 비트 라인들 및 상기 워드 라인들과 상기 비트 라인들이 교차하는 영역에 배열된 복수 개의 메모리 셀들을 가지는 메모리 셀 어레이와;A memory cell array having a plurality of word lines, a plurality of bit lines, and a plurality of memory cells arranged in an area where the word lines and the bit lines cross each other; 상기 셀들에 기입될 데이터와 독출되는 데이터를 저장하는 제 1 레지스터와;A first register for storing data to be written to the cells and data to be read; 상기 셀들에 기입될 데이터를 저장하는 제 2 레지스터와;A second register for storing data to be written to the cells; 비트 라인 수에 대응되는 상기 제 1 레지스터를 선택하기 위한 제 1 선택 수단과;First selecting means for selecting the first register corresponding to the number of bit lines; 상기 제 1 레지스터 수에 대응되는 제 2 레지스터를 선택하기 위한 제 2 선택 수단과;Second selecting means for selecting a second register corresponding to the first register number; 상기 제 1 선택 수단 및 제 2 선택 수단들을 최하위 비트부터 최상위비트까지 순차적으로 인에이블 시키기 위한 카운터와;A counter for sequentially enabling said first and second selection means from least significant bit to most significant bit; 프로그램 후, 인에이블된 제 1 선택 수단과 제 2 선택 수단에 대응되는 제 1 및 제 2 레지스터의 데이터들을 비교하기 위한 비교 수단과;After program, comparing means for comparing data of the first and second registers corresponding to the first and second selection means enabled; 프로그램 종료후, 선택된 셀의 패스/페일을 출력하기 위한 수단을 포함하는 반도체 메모리 장치.And means for outputting a pass / fail of the selected cell after the program ends. 제 1 항에 있어서,The method of claim 1, 프로그램후 상기 제 1 레지스터와 제 2 레지스터에 저장된 데이터가 서로 다를 때, 프로그램을 위한 데이터가 입력되지 않는 것을 특징으로 하는 반도체 메모리 장치.And when data stored in the first register and the second register are different from each other after programming, data for the program is not input. 복수개의 메모리 셀들을 구비하는 메모리 셀 어레이, 선택된 셀들의 데이터를 저장하기 위한 제 1 레지스터, 제 2 레지스터, 그리고 프로그램된 셀의 데이터를 검증한 결과를 저장하는 제 3 레지스터를 포함하는 반도체 메모리 장치의 프로그램 검증 방법에 있어서,A memory cell array including a plurality of memory cells, a first register for storing data of selected cells, a second register, and a third register for storing a result of verifying data of a programmed cell. In the program verification method, 어드레스를 입력하는 단계와;Inputting an address; 프로그램 할 데이터를 제 1 및 제 2 레지스터에 입력하되, 프로그램 방지 셀에 대응되는 논리 0의 데이터를 저장하고, 선택된 셀에 대응되는 논리 1의 프로그램 데이터를 저장하는 단계와;Inputting data to be programmed into the first and second registers, storing data of logic 0 corresponding to the program protection cell and storing program data of logic 1 corresponding to the selected cell; 프로그램 동작을 수행하는 단계와;Performing a program operation; 프로그램 셀을 검증하는 단계와;Verifying a program cell; 선택된 셀들이 제대로 프로그램 되었는지 판단하는 단계와;Determining whether the selected cells are correctly programmed; 선택된 셀들이 제대로 프로그램 되었을 때, 제 2 차 프로그램 검증을 수행하는 단계와;When the selected cells are correctly programmed, performing a second program verification; 제 2 차 프로그램 검증 완료후, 검증된 패스 데이터를 제 3 레지스터에 저장하는 단계와;After completion of the second program verify, storing the verified pass data in a third register; 프로그램된 셀의 패스 데이터를 출력하는 단계를 포함하고,Outputting path data of the programmed cell, 선택된 셀들이 프로그램 제대로 수행되지 않았을 때, 최대 프로그램 횟수와 비교하는 단계와;Comparing the maximum number of programs when the selected cells are not properly programmed; 최대 프로그램 횟수보다 작을 때, 프로그램 더 수행하는 단계와;Performing a further program when less than the maximum number of programs; 최대 프로그램 회수보다 클 때, 페일 데이터를 상기 제 3 레지스터에 저장하는 단계와;Storing fail data in the third register when greater than a maximum number of programs; 선택된 셀의 페일 여부를 출력하는 단계를 출력하는 단계를 포함하는 것을 특징으로 하는 반도체 메모리 장치의 프로그램 검증 방법.And outputting whether or not the selected cell is to be failed. 제 3 항에 있어서,The method of claim 3, wherein 상기 제 2차 프로그램 검증 단계는 최하위 비트의 어드레스 신호를 인가받는 단계와;The second program verifying step includes receiving an address signal of a least significant bit; 상기 제 1 레지스터와 제 2 레지스터에 저장된 데이터를 비교하는 단계와;Comparing data stored in the first and second registers; 비교된 데이터가 동일한지 판단하는 단계와;Determining whether the compared data is the same; 상기 데이터들이 동일할 때, 제 3 레지스터에 저장하는 단계와;When the data are the same, storing in a third register; 비교된 상기 데이터들이 동일하지 않을 때, 어드레스 신호가 최상위 비트인지 판단하는 단계와;Determining whether an address signal is most significant bit when the data compared are not the same; 상기 어드레스 신호가 최상위비트가 아닐 때, 프로그램 검증을 수행하는 단계와;Performing program verification when the address signal is not the most significant bit; 상기 최상위 비트일 때 프로그램을 종료하고, 페일 데이터를 상기 제 3 레지스터에 저장하는 단계와;Terminating a program when the most significant bit and storing fail data in the third register; 데이터의 페일 발생을 외부로 알리는 단계를 포함하는 것을 특징으로 하는 반도체 메모리 장치의 프로그램 검증 방법.And informing a failure occurrence of data to the outside.
KR1019970074212A 1997-12-26 1997-12-26 Semiconductor memory device and program verification method thereof KR100466979B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970074212A KR100466979B1 (en) 1997-12-26 1997-12-26 Semiconductor memory device and program verification method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970074212A KR100466979B1 (en) 1997-12-26 1997-12-26 Semiconductor memory device and program verification method thereof

Publications (2)

Publication Number Publication Date
KR19990054400A true KR19990054400A (en) 1999-07-15
KR100466979B1 KR100466979B1 (en) 2005-04-06

Family

ID=37302074

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970074212A KR100466979B1 (en) 1997-12-26 1997-12-26 Semiconductor memory device and program verification method thereof

Country Status (1)

Country Link
KR (1) KR100466979B1 (en)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2740459B2 (en) * 1994-12-05 1998-04-15 日本電気アイシーマイコンシステム株式会社 Semiconductor storage device
KR0181204B1 (en) * 1995-08-31 1999-04-15 김광호 Self-repair circuit of semiconductor memory device
KR970029864A (en) * 1995-11-21 1997-06-26 윌리엄 이. 힐러 Snap Programming Preconditioning Process for Nonvolatile Memory Devices
KR970049570A (en) * 1995-12-20 1997-07-29 김주용 How to Write / Erase Flash Memory Cells
JPH09181134A (en) * 1995-12-27 1997-07-11 Hitachi Ltd Inspection equipment and method of semiconductor integrated circuit device
KR0172350B1 (en) * 1995-12-29 1999-03-30 김광호 Fast disturb test of semiconductor memory device and wordline decoder
JPH10162600A (en) * 1996-11-26 1998-06-19 Mitsubishi Electric Corp Semiconductor storage device having built-in testing function
KR100244278B1 (en) * 1997-07-09 2000-02-01 김영환 Manufacturing method for non-volatile memory device

Also Published As

Publication number Publication date
KR100466979B1 (en) 2005-04-06

Similar Documents

Publication Publication Date Title
US6646930B2 (en) Non-volatile semiconductor memory
KR100315321B1 (en) Nonvolatile semiconductor memory device and erase verify method therefor
US5954828A (en) Non-volatile memory device for fault tolerant data
US7512014B2 (en) Comprehensive erase verification for non-volatile memory
US6751122B2 (en) Nonvolatile semiconductor memory device
US7162668B2 (en) Memory with element redundancy
JP4642018B2 (en) NONVOLATILE SEMICONDUCTOR DEVICE AND AUTOMATIC REMEDY METHOD FOR ERASE OPERATION OF NONVOLATILE SEMICONDUCTOR DEVICE
KR100884234B1 (en) Flash memory device capable of improving program performance and programming method thereof
US20070141731A1 (en) Semiconductor memory with redundant replacement for elements posing future operability concern
JP2006012367A (en) Nonvolatile semiconductor storage device
KR100291807B1 (en) A nonvolatile storage device and control method therefor
US9824775B2 (en) Feedback validation of arbitrary non-volatile memory data
US20050028052A1 (en) Memory with element redundancy
CN113342255A (en) Bad block detection method and test system for nonvolatile memory device
KR100191445B1 (en) Nonvolatile semiconductor memory
US7640465B2 (en) Memory with element redundancy
US6385112B1 (en) Nonvolatile semiconductor memory device with reliable verify operation
EP0680050B1 (en) Flash EEPROM with auto-function for automatically writing or erasing data
KR100572166B1 (en) Nonvolatile semiconductor memory
KR100466979B1 (en) Semiconductor memory device and program verification method thereof
US8045403B2 (en) Programming method and memory device using the same
US11797193B2 (en) Error detection method for memory device
WO1996021229A1 (en) Non-volatile memory device for fault tolerant data
CN117238350A (en) Data storage device for checking defect of row line and method of operating the same

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee