KR100255955B1 - Flash memory device and programmble method thereof - Google Patents
Flash memory device and programmble method thereof Download PDFInfo
- Publication number
- KR100255955B1 KR100255955B1 KR1019970035819A KR19970035819A KR100255955B1 KR 100255955 B1 KR100255955 B1 KR 100255955B1 KR 1019970035819 A KR1019970035819 A KR 1019970035819A KR 19970035819 A KR19970035819 A KR 19970035819A KR 100255955 B1 KR100255955 B1 KR 100255955B1
- Authority
- KR
- South Korea
- Prior art keywords
- signal
- program
- generating
- data bits
- input
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/24—Bit-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
- G11C16/3459—Circuits or methods to verify correct programming of nonvolatile memory cells
Abstract
Description
본 발명은 불 휘발성 반도체 메모리 장치에 관한 것으로서, 구체적으로는 전기적으로 소거 및 프로그래 가능한 셀들을 구비한 플래시 메모리 장치 및 그것의 프로그램 방법에 관한 것이다.The present invention relates to a nonvolatile semiconductor memory device, and more particularly, to a flash memory device having electrically erasable and programmable cells and a program method thereof.
플래시 메모리 장치(flash memory device)는 전기적으로 프로그램 및 소거 동작이 가능한 불 휘발성 반도체 메모리 장치들과 비교할 경우 프로그램 및 읽기 동작에 있어서 속도가 월등히 빠르기 때문에 빠른 처리 속도를 요구하는 사용자들로부터 많은 호응을 받고 있다. 플래시 메모리 장치에는 낸드형 (NAND type)과 노어형 (NOR type) 플래시 메모리 장치로 분류될 수 있다. 이중 상기 노어형 플래시 메모리 장치의 셀 어레이는 하나의 비트 라인에 복수 개의 메모리 셀들이 병렬로 배열되는 구조를 갖는 반면에 상기 낸드형 플래시 메모리 장치의 셀 어레이는 하나의 비트 라인에 복수 개의 메모리 셀들이 직렬로 배열되는 구조를 갖는다.Flash memory devices have received a lot of attention from users who demand high processing speed because they are much faster in program and read operations than nonvolatile semiconductor memory devices that can electrically program and erase. have. Flash memory devices may be classified into NAND type and NOR type flash memory devices. A cell array of the NOR flash memory device has a structure in which a plurality of memory cells are arranged in parallel on one bit line, whereas a cell array of the NAND flash memory device has a plurality of memory cells in one bit line. It has a structure that is arranged as.
도 1을 참조하면, 일반적인 플래시 메모리 셀의 구조를 보여주는 단면도가 도시되어 있다. 플래시 메모리 셀은, 도 1에 도시된 바와같이, P형 반도체 기판 (2)의 표면에 채널 영역을 사이에 두고 N+ 불순물로 형성된 소오스 (3) 및 드레인 (4)과, 상기 채널 영역 상에 100Å 이하의 얇은 절연막 (7)을 사이에 두고 형성된 플로팅 게이트 (floating gate) (6)와, 상기 플로팅 게이트 (floating gate) (6) 상에 절연막 (예를들면, ONO막) (9)을 사이에 두고 콘트롤 게이트 (control gate) (8)가 형성되어 있다. 그리고, 상기 소오스 (3), 상기 드레인 (4), 상기 콘트롤 게이트 (8), 그리고 상기 반도체 기판 (2)에는 각각 프로그램, 소거, 그리고 독출 동작시 요구되는 전압들을 인가하기 위한 전원 단자들 (Vs), (Vd), (Vg), 그리고 (Vb)이 접속되어 있다.1, there is shown a cross-sectional view showing the structure of a typical flash memory cell. As shown in Fig. 1, a flash memory cell has a
통상적인 플래시 메모리의 프로그램 동작에 의하면, 드레인 영역 (4)과 인접한 채널 영역에서 플로팅 게이트 (8)로의 핫 일렉트론 인젝션 (hot electron injection)이 발생되도록 함으로써 플래시 메모리 셀은 프로그램된다. 상기한 전자 주입은 상기 소오스 영역 (3)과 상기 P형 반도체 기판 (2)을 접지시키고, 상기 콘트롤 게이트 전극 (Vg)에 높은 고전압 (예를들면, +10V)을 인가하고, 그리고 상기 드레인 영역 (4)에 핫 일렉트론을 발생시키기 위해 적당한 양의 전압 (예를들면, 5V∼6V)를 인가함으로써 이루어진다. 이러한 전압 인가 조건에 따라 플래시 메모리 셀이 프로그램되면, 즉 음의 전하 (negative charge)가 상기 플로팅 게이트 (6)에 충분히 축적되면, 상기 플로팅 게이트 (6)에 축적된(또는 포획된) (-) 전하는 일련의 독출 동작이 수행되는 동안 상기 프로그램된 플래시 메모리 셀의 드레솔드 전압 (threshold voltage)을 높이는 역할을 한다.According to a conventional flash memory program operation, a flash memory cell is programmed by causing hot electron injection to the
통상적으로, 독출 동작의 전압 인가 조건은 플래시 메모리 셀의 상기 드레인 영역 (4)에 양의 전압 (예를들면, 1V)을 인가하고, 그것의 콘트롤 게이트 (8)에 소정 전압 (예를들면, 전원 전압 또는 약 4.5V)을 인가하고, 그리고 그것의 소오스 영역 (3)에 0V를 인가하는 것이다. 상기한 조건에 따라 독출 동작이 수행되면, 상기한 핫 일렉트론 인젝션 방법에 의해서 그것의 드레솔드 전압이 높아진, 즉 프로그램된 플래시 메모리 셀은 그것의 드레인 영역 (4)으로부터 그것의 소오스 영역 (3)으로 전류가 주입되는 것이 방지된다. 이때, 상기 프로그램된 플래시 메모리 셀은 "오프" (off)되었다고 하며, 그것의 드레솔드 전압은, 통상적으로, 약 6V∼7V 사이의 분포를 갖는다.Typically, the voltage application condition of the read operation applies a positive voltage (e.g., 1V) to the
계속해서, 플래시 메모리 셀의 소거 동작에 의하면, 상기 반도체 기판 (2), 즉 벌크 영역, 에서 상기 콘트롤 게이트 (8)로의 F-N 터널링 (Fowler-Nordheim tunneling)을 발생시킴으로써 메모리 셀은 소거된다. 일반적으로, 상기 F-N 터널링은 음의 고전압 (예를들면, -10V)를 상기 콘트롤 게이트 (8)에 인가하고, 상기 벌크 영역 (2)과 상기 콘트롤 게이트 (8) 사이의 F-N 터널링을 발생시키기 위해 적당한 양의 전압 (예를들면, 5V)을 인가함으로써 이루어진다. 이때, 그것의 드레인 영역 (4)은 소거의 효과를 극대화시키기 위해 고 임피던스 상태 (high impedance state) (예를들면, 플로팅 상태)로 유지된다. 이러한 소거 조건에 따른 전압들을 대응하는 전원 단자들 (Vg), (Vd), (Vs) 및 (Vb)로 인가하면, 상기 콘트롤 게이트 (8)와 상기 벌크 영역 (2) 사이에 강한 전계가 형성된다. 이로인해 상기한 F-N 터널링이 발생되고, 그 결과 프로그램된 셀의 플로팅 게이트 (6) 내의 음의 전하는 그것의 소오스 영역 (3)으로 방출된다.Subsequently, according to the erase operation of the flash memory cell, the memory cell is erased by generating F-N tunneling (Fowler-Nordheim tunneling) to the
통상적으로, 상기 F-N 터널링은 6∼7MV/cm의 전계 (electric field)가 상기 절연막 (7) 사이에 형성되었을 때 발생된다. 이는 플로팅 게이트 (6)와 벌크 영역 (2) 사이에 100Å 이하의 상기 얇은 절연막 (7)이 형성되어 있기 때문에 가능하다. 상기 F-N 터널링에 따른 소거 방법에 의해서 음의 전하가 플로팅 게이트 (6)로부터 벌크 영역 (2)으로 방전 (또는 방출)되는 것은, 일련의 독출 동작이 수행되는 동안, 상기 소거된 플래시 메모리 셀의 드레솔드 전압을 낮추는 역할을 한다.Typically, the F-N tunneling occurs when an electric field of 6-7 MV / cm is formed between the
일반적인 플래시 메모리 셀 어레이 구성에 있어서, 각각의 벌크 영역은 메모리 장치의 고집적화를 위해 복수 개의 셀들이 함께 연결되며, 이로인해 상기한 소거 방법에 따라 소거 동작이 수행될 경우 복수 개의 메모리 셀들이 동시에 소거된다. 소거 단위는 각각의 벌크 영역 (2)이 분리된 영역에 따라 결정된다. {예를들면, 64K byte : 이하, 섹터(sector)라 칭한다.} 일련의 독출 동작이 수행되는 동안 상기 소거 동작에 의해 드레솔드 전압이 낮아진 플래시 메모리 셀은 콘트롤 게이트 (8)에 일정 전압을 인가하면, 드레인 영역 (4)으로부터 소오스 영역 (3)으로 전류 통로 (current path)가 형성된다. 이러한 플래시 메모리 셀은 "온" (on)되었다고 하며, 그것의 드레솔드 전압은 약 1V∼3V 사이의 분포를 갖는다. 표 1은 플래시 메모리 셀에 대한 프로그램, 소거, 및 독출 동작시 각 전원 단자들 (Vg), (Vd), (Vs) 및 (Vb)에 인가되는 전압 레벨을 보여준다.In a general flash memory cell array configuration, each bulk area is connected to a plurality of cells together for high integration of the memory device, so that when the erase operation is performed according to the above-described erase method, the plurality of memory cells are simultaneously erased. . The erasing unit is determined according to the area in which each
[표 1]TABLE 1
도 2는 프로그램 동작시 메모리 셀의 상태를 보여주는 도면이다. 일반적으로, 프로그램 동작은 메모리 셀의, 약 5볼트의 전원이 인가된, 드레인 단자에서 접속된 소오스 단자로 흐르는 많은 양의 전류 (예를들면, 400μA)로 인해 한 번에 프로그램될 수 있는 비트 수가 한정되기 때문에, 바이트 단위(즉, 8비트) 또는 워드 단위(즉, 16비트)로 수행된다. 상기한 프로그램 동작시 바이트 단위로 프로그램을 수행할 경우 3.2mA(400μA×8)의 전류가 소모되고, 워드 단위로 프로그램을 수행할 경우 6.4mA(400μA×16)의 전류가 소모된다.2 is a diagram illustrating a state of a memory cell during a program operation. In general, program operation results in a large number of bits that can be programmed at one time due to the large amount of current (eg 400 μA) flowing from the drain terminal to the connected source terminal to which the memory cell is powered by about 5 volts. Because it is limited, it is performed in byte units (ie 8 bits) or word units (ie 16 bits). In the above program operation, 3.2 mA (400 μA × 8) current is consumed when the program is executed in byte unit, and 6.4 mA (400 μA × 16) current is consumed when the program is executed in the word unit.
하지만, 프로그램 동작시 메모리 셀의 드레인 단자에 인가되는 약 5V 정도의 전압을 칩 내부의 펌프 회로를 사용하여 발생시키기 위해 많은 수의 챠아지 펌프 회로(charge pump circuit, 또는 internal drain pump라 칭함)가 요구된다. 이러한 경우, 챠아지 펌프 회로의 수가 증가하면 할수록 칩의 레이 아웃 면적이 증가하게 된다. 그리고, 상기 챠아지 펌프 회로를 구동하기 위한 회로의 동작으로 인해 전원 전압에서 그라운드 전위로 흐르는 많은 양의 액티브 전류(active current)가 발생하게 되는 문제점이 생겼다.However, in order to generate a voltage of about 5V applied to the drain terminal of the memory cell by using the pump circuit inside the chip during the program operation, a large number of charge pump circuits (called an internal drain pump) are used. Required. In this case, as the number of charge pump circuits increases, the layout area of the chip increases. The operation of the circuit for driving the charge pump circuit causes a large amount of active current flowing from the power supply voltage to the ground potential.
따라서, 이러한 문제점을 해결하기 위해 하나의 워드를 프로그램하기 위해 4-비트 단위로 4번에 걸쳐 프로그램 동작을 수행하는 기술이 AMD(advanced micro devices)사에 의해 96' VLSI circuit의 "A 2.7V only 8Mb×16 NOR Flash Memory"(p172-p173)라는 제목으로 게재되었다. 그러나, 상기 문헌에 게재된 기술을 사용하여 프로그램 동작을 수행하게 되면 프로그램 성능이 저하되는 문제점이 발생하기 때문에 이를 또 다시 해결하기 위해 AMD사에서는 특별한 프로그램 알고리즘(algorithm)을 제안하였다.Therefore, to solve this problem, the technique of performing program operation four times in 4-bit units in order to program one word is described by AMD (advanced micro devices), which uses "A 2.7V only" of 96 'VLSI circuit. 8Mb × 16 NOR Flash Memory ”(p172-p173). However, when the program operation is performed using the technique disclosed in the above document, a problem occurs that the program performance is degraded. Thus, AMD has proposed a special program algorithm to solve the problem again.
도 3을 참조하면, 이러한 프로그램 알고리즘을 이용한 종래의 플래시 메모리 장치의 구성을 보여주는 블럭도가 도시되어 있다. 프로그램 동작에 진입하게 되면 데이터 입력 버퍼들(Dinbuf0)∼(Dinbuf15)은 외부 입출력 핀들 (I/O0)∼(I/O15)에 각각 대응되는 프로그램 데이터 비트들을 저장하며, 상기 데이터 비트들에 의해 적당한 양의 프로그램 전압을 선택된 메모리 셀의 드레인 단자에 인가할 것인지를 결정하게 된다. 상기 데이터 입력 버퍼들 (Dinbuf0)∼(Dinbuf15)은 4 개의 그룹들로 구분된다. 상기 각 그룹들은 프로그램 제어 상태 장치 (program control state machine) (10)에서 발생된 프로그램 활성화 신호들 (S0)∼(S3)에 의해 선택된다.3, there is shown a block diagram showing the configuration of a conventional flash memory device using such a program algorithm. When entering a program operation, the data input buffers Dinbuf0 to Dinbuf15 store program data bits corresponding to the external input / output pins I / O0 to I / O15, respectively. It is determined whether to apply a positive program voltage to the drain terminal of the selected memory cell. The data input buffers Dinbuf0 to Dinbuf15 are divided into four groups. Each of these groups is selected by program activation signals S0-S3 generated in a program
또한 세 개의 검출기들 (low byte detector), (high byte detector) 및 (word detector) (12), (14) 및 (16)은 상기 데이터 입력 버퍼들 (Dinbuf0)∼(Dinbuf15)에 저장된 데이터 비트들 중 프로그램될 비트들의 수를 제어하여 프로그램 시간(program time)을 최적화하기 위해 사용된다. 프로그램될 비트의 수가 4 개 또는 그 이하인 경우, 상기 검출기들 (12)∼(16)의 출력 신호들 (4bdetL), (4bdetH) 및 (4bdetW)은 모두 하이 레벨 (high level)로 설정되고, 그렇지 않을 경우 모두 로우 레벨 (low level)로 유지된다.Also, three detectors (low byte detector), (high byte detector) and (word detector) 12, 14 and 16 are data bits stored in the data input buffers Dinbuf0 to Dinbuf15. It is used to optimize the program time by controlling the number of bits to be programmed. If the number of bits to be programmed is four or less, the output signals 4bdetL, 4bdetH and 4bdetW of the
도 4를 참조하면, 검출기들 (12), (14) 및 (16)의 출력 신호들 (4bdetL), (4bdetH) 및 (4bdetW)에 대한 개념을 보여주기 위한 도면이 도시되어 있다. 그리고, 도 5는 모든 가능한 워드 프로그램 조건에 따른 프로그램 활성화 신호의 변화를 보여주는 도면이다.Referring to Fig. 4, there is shown a diagram to illustrate the concept of output signals 4bdetL, 4bdetH and 4bdetW of
상기 프로그램 제어 상태 장치 (10)는 상기 검출기들 (12), (14) 및 (16)의 출력들 (4bdetL), (4bdetH) 및 (4bdetW)을 입력으로하여 프로그램 활성화 신호들 (S0)∼(S3)를 발생한다. 만약, 상기 검출기들 (12)∼(16)의 출력 신호들 (4bdetL), (4bdetH) 및 (4bdetW)이 모두 로우 레벨 (low level)이면 하위 바이트 (low byte)와 상위 바이트 (high byte)에 각각 4 개 이상의 프로그램될 데이터 비트들이 포함되어 있음을 의미한다. 이때, 상기 장치 (10)는 프로그램 활성화 신호 (S0)∼(S3)를 적당한 타이밍 시퀀스 (timing sequence)에 따라 활성화시키게 된다. 그리고, 상기 검출기들 (12), (14) 및 (16)의 출력 신호들 (4bdetL), (4bdetH) 및 (4bdetW)이 하이 레벨이면 하위 바이트와 상위 바이트를 모두 합친 워드의 총 프로그램될 데이터 비트들의 수가 4 개 또는 그 이하라는 것을 의미한다. 이때, 상기 장치 (10)는 (S0)∼(S3)를 동시에 활성화시키게 된다.The program
또한 챠아지 펌프 회로의 램프-업 시간 (ramp-up time)을 보상하기 위해, 도 5에 도시된 바와같이, 초기 펄스는 4.8μs 정도로 길게 유지되고, 상기 챠아지 펌프 회로의 출력인 프로그램이 가능한 적당한 양의 전압에 도달한 후 다음 펄스는 2.6μs 정도로 유지된다. 즉, 패턴의 형태에 따라 프로그램 펄스는 4.8μs에서 12.6μs까지 변화될 수 있다. 상기의 기술은 3.4μs의 프로그램 검증 시간 (program verify time) 및 다른 오버헤드 시간 (overhead time)을 포함하여 최대 16μs의 프로그램 시간을 가지게 된다. 이와같이, 상기한 종래 기술의 프로램 방법에 의하면, 하위 바이트 (I/O0)∼(I/O7)와 상위 바이트 (I/O8)∼(I/O15)에 적어도 4 개의 프로그램될 데이터 비트들이 포함되는 경우 4 번에 걸쳐 프로그램 동작이 수행되어야 하기 때문에 전체적인 플래시 메모리 장치의 프로그램 성능이 저하된다.In addition, to compensate for the ramp-up time of the charge pump circuit, as shown in FIG. 5, the initial pulse is maintained as long as 4.8 μs, and is programmable as the output of the charge pump circuit. After reaching the right amount of voltage, the next pulse is held at 2.6µs. That is, the program pulse can vary from 4.8 μs to 12.6 μs depending on the shape of the pattern. The above technique has a program time of up to 16 μs, including a program verify time of 3.4 μs and other overhead time. As described above, according to the conventional program method, at least four data bits to be programmed are included in the lower byte (I / O0) to (I / O7) and the upper byte (I / O8) to (I / O15). If the program operation is performed four times, the overall program performance of the flash memory device is degraded.
따라서 본 발명의 목적은 프로그램 성능이 향상된 플래시 메모리 장치 및 그것의 프로그램 방법을 제공하는 것이다.It is therefore an object of the present invention to provide a flash memory device having improved program performance and a program method thereof.
도 1은 일반적인 플래시 메모리 셀의 구조를 보여주는 단면도;1 is a cross-sectional view showing the structure of a typical flash memory cell;
도 2는 프로그램 동작시 메모리 셀의 상태를 보여주는 도면;2 illustrates a state of a memory cell during a program operation;
도 3은 종래의 노어형 플래시 메모리 장치의 구성을 보여주는 블럭도;3 is a block diagram showing the configuration of a conventional NOR flash memory device;
도 4는 도 3의 검출기들의 출력 신호들에 대한 개념을 보여주기 위한 도면;4 is a diagram illustrating a concept of output signals of the detectors of FIG. 3;
도 5는 모든 가능한 워드 프로그램 조건에 따른 프로그램 활성화 신호의 변화를 보여주는 도면;5 shows a change in program activation signal according to all possible word program conditions;
도 6은 본 발명에 따른 노어형 플래시 메모리 장치의 구성을 보여주는 블록도;6 is a block diagram showing a configuration of a NOR flash memory device according to the present invention;
도 7은 도 6의 데이터 입력 버퍼 회로 및 기입 드라이버 회로에 대한 상세한 구성을 보여주는 블럭도;7 is a block diagram showing a detailed configuration of the data input buffer circuit and the write driver circuit of FIG.
도 8은 본 발명의 바람직한 실시예에 따른 데이터 입력 버퍼 회로를 보여주는 회로도;8 is a circuit diagram showing a data input buffer circuit according to a preferred embodiment of the present invention;
도 9A 및 도 9B는 도 6의 프로그램 제어 회로 내의 계수부의 회로 구성을 보여주는 회로도;9A and 9B are circuit diagrams showing a circuit configuration of a counting unit in the program control circuit of Fig. 6;
도 10은 도 9A의 계수부 내의 하나의 카운터 회로를 보여주는 회로도;10 is a circuit diagram showing one counter circuit in the counter portion of FIG. 9A;
도 11은 도 6의 비교부의 구성을 보여주는 블럭도;11 is a block diagram showing a configuration of a comparison unit of FIG. 6;
도 12는 본 발명에 따른 프로그램 제어 회로의 프로그램 제어 신호 발생부의 구성을 보여주는 블럭도;12 is a block diagram showing a configuration of a program control signal generator of a program control circuit according to the present invention;
도 13은 도 12의 플립플롭의 상세 회로를 보여주는 회로도;13 is a circuit diagram showing a detailed circuit of the flip-flop of FIG.
도 14는 본 발명의 바람직한 실시예에 따른 플래시 메모리 장치의 프로그램 방법을 보여주는 흐름도;14 is a flowchart showing a program method of a flash memory device according to a preferred embodiment of the present invention;
도 15는 본 발명의 바람직한 실시예에 따른 프로그램 동작을 위한 신호들의 타이밍을 보여주는 동작 타이밍도;15 is an operation timing diagram showing timing of signals for a program operation according to a preferred embodiment of the present invention;
도 16은 종래 및 본 발명에 따른 프로그램 성능을 비교하기 위한 도면,16 is a view for comparing the program performance according to the prior art and the present invention,
*도면의 주요 부분에 대한 부호 설명* Explanation of symbols on the main parts of the drawings
100 : 셀 어레이 110 : 행 및 열 어드레스 버퍼100: cell array 110: row and column address buffer
120 : 행 디코더 130 : 열 디코더120: row decoder 130: column decoder
140 : 열 패스 게이트 회로 150 : 데이터 입력 버퍼 회로140: column pass gate circuit 150: data input buffer circuit
160 : 기입 드라이버 회로 170 : 프로그래 활성화 신호 발생 회로160: write driver circuit 170: program activation signal generation circuit
180 : 계수부 190 : 비교부180: counter 190: comparison
200 : 프로그래 제어 신호 발생부 210 : 프로그램 제어 회로200: program control signal generator 210: program control circuit
상술한 바와같은 목적을 달성하기 위한 본 발명의 일특징에 의하면, 플래시 메모리 장치에 있어서, 복수 개의 비트 라인들과; 복수 개의 메모리 셀들을 포함하는 셀 어레이와; 상기 메모리 셀들 각각은 부유 게이트 및 제어 게이트를 구비하며, 상기 부유 게이트에 전하를 축적하거나 상기 축적된 전하를 방출함으로써 전기적으로 소거 및 프로그램 가능한 트랜지스터들을 포함하며; 래치 신호에 응답하여 외부로부터 인가되는 데이터 비트들을 각각 래치하기 위한 버퍼들과; 프로그램 동작을 수행하기 위한 프로그램 활성화 신호를 발생하는 수단과; 상기 프로그램 활성화 신호에 응답하여 상기 버퍼들에 래치된 상기 데이터 비트들에 해당하는 전압 레벨들로 대응되는 비트 라인들을 구동하기 위한 구동기들과; 발진 신호에 응답하여 상기 래치된 데이터 비트들을 각각 나타내는 입출력 포인터 신호를 순차적으로 발생하는 수단과; 상기 버퍼들은 상기 입출력 포인터 신호에 의해서 그것에 래치된 데이터 비트를 순차적으로 대응되는 구동기로 출력하며; 상기 입출력 포인터 신호에 대응되는 데이터 비트가 프로그램 상태를 나타내는 데이터 비트일 때 숏 펄스 신호를 발생하는 수단 및; 상기 숏 펄스 신호가 일회 프로그램 가능한 수만큼 발생될 때 상기 프로그램 활성화 신호 발생 수단을 활성화시키기 위한 제어 신호 (ONfin)를 발생하는 수단을 포함한다.According to one aspect of the present invention for achieving the above object, a flash memory device comprising: a plurality of bit lines; A cell array including a plurality of memory cells; Each of the memory cells has a floating gate and a control gate, and includes transistors electrically erasable and programmable by accumulating charge or releasing the accumulated charge in the floating gate; Buffers for respectively latching data bits applied from outside in response to the latch signal; Means for generating a program activation signal for performing a program operation; Drivers for driving bit lines corresponding to voltage levels corresponding to the data bits latched in the buffers in response to the program activation signal; Means for sequentially generating an input / output pointer signal representing each of the latched data bits in response to an oscillation signal; The buffers sequentially output data bits latched thereto by the input / output pointer signal to corresponding drivers; Means for generating a short pulse signal when the data bit corresponding to the input / output pointer signal is a data bit indicating a program state; Means for generating a control signal (ON fin ) for activating said program activation signal generating means when said short pulse signal is generated by one programmable number.
이 실시예에 있어서, 상기 제어 신호 발생 수단은 상기 프로그램 활성화 신호가 비활성화될 때 동기된 신호에 의해서 초기화되는 것을 특징으로 한다.In this embodiment, the control signal generating means is initialized by a synchronized signal when the program activation signal is deactivated.
이 실시예에 있어서, 상기 래치 신호는 기입 활성화 신호에 동기된 신호인 것을 특징으로 한다.In this embodiment, the latch signal is a signal synchronized with the write enable signal.
이 실시예에 있어서, 상기 버퍼들 각각은 상기 래치 신호에 응답하여 대응되는 데이터 비트를 래치하기 위한 제 1 래치 및; 상기 입출력 포인터 신호에 응답하여 상기 제 1 래치로부터 상기 데이터 비트를 받아들어서 래치하기 위한 제 2 래치를 포함하는 것을 특징으로 한다.In this embodiment, each of the buffers comprises: a first latch for latching a corresponding data bit in response to the latch signal; And a second latch for receiving and latching the data bit from the first latch in response to the input / output pointer signal.
본 발명의 다른 특징에 의하면, 복수 개의 비트 라인들과; 복수 개의 메모리 셀들을 포함하는 셀 어레이와; 상기 메모리 셀들 각각은 부유 게이트 및 제어 게이트를 구비하며, 상기 부유 게이트에 전하를 축적하거나 상기 축적된 전하를 방출함으로써 전기적으로 소거 및 프로그램 가능한 트랜지스터들을 포함하며; 래치 신호에 응답하여 외부로부터 인가되는 데이터 비트들을 각각 래치하기 위한 버퍼들과; 프로그램 동작을 수행하기 위한 프로그램 활성화 신호를 발생하는 수단과; 상기 프로그램 활성화 신호에 응답하여 상기 버퍼들에 래치된 상기 데이터 비트들에 해당하는 전압 레벨들로 대응되는 비트 라인들을 구동하기 위한 구동기들 및; 상기 버퍼들에 각각 래치된 상기 데이터 비트들을 최하위 비트로부터 프로그램 상태를 나타내는 데이터 비트들의 일회 프로그램 가능한 데이터 비트들이 대응되는 구동기들로 공급된 후 상기 일회 프로그램 가능한 데이터 비트들에 대한 프로그램 동작이 수행되도록 상기 버퍼들 및 상기 프로그램 활성화 신호 발생 수단을 제어하는 수단을 포함한다.According to another feature of the invention, a plurality of bit lines; A cell array including a plurality of memory cells; Each of the memory cells has a floating gate and a control gate, and includes transistors electrically erasable and programmable by accumulating charge or releasing the accumulated charge in the floating gate; Buffers for respectively latching data bits applied from outside in response to the latch signal; Means for generating a program activation signal for performing a program operation; Drivers for driving bit lines corresponding to voltage levels corresponding to the data bits latched in the buffers in response to the program activation signal; The program operation for the one programmable data bits is performed after the one programmable data bits of the data bits representing the program state from the least significant bit are supplied to the corresponding drivers from the least significant bits respectively. Means for controlling buffers and means for generating said program activation signal.
이 실시예에 있어서, 상기 프로그램 제어 수단은, 발진 신호에 응답하여 상기 래치된 데이터 비트들을 각각 나타내는 입출력 포인터 신호를 순차적으로 발생하는 수단과; 상기 입출력 포인터 신호에 대응되는 데이터 비트가 프로그램 상태를 나타내는 데이터 비트일 때 숏 펄스 신호를 발생하는 수단 및; 상기 숏 펄스 신호가 일회 프로그램 가능한 수만큼 발생될 때 상기 프로그램 활성화 신호 발생 수단을 활성화시키기 위한 제어 신호 (ONfin)를 발생하는 수단을 구비해서, 상기 버퍼들이 상기 입출력 포인터 신호에 의해서 그것에 래치된 데이터 비트를 순차적으로 대응되는 구동기로 출력하도록 한다.In this embodiment, the program control means comprises: means for sequentially generating an input / output pointer signal representing each of the latched data bits in response to an oscillation signal; Means for generating a short pulse signal when the data bit corresponding to the input / output pointer signal is a data bit indicating a program state; Means for generating a control signal (ON fin ) for activating said program activation signal generating means when said short pulse signal is generated by one programmable number, so that said buffers are data latched to it by said input / output pointer signal; The bits are sequentially output to the corresponding driver.
이 실시예에 있어서, 상기 제어 신호 발생 수단은 상기 프로그램 활성화 신호가 비활성화될 때 동기된 신호에 의해서 초기화된다.In this embodiment, the control signal generating means is initialized by a signal synchronized when the program activation signal is deactivated.
이 실시예에 있어서, 상기 래치 신호는 기입 활성화 신호에 동기된 신호이다.In this embodiment, the latch signal is a signal synchronized with the write enable signal.
이 실시예에 있어서, 상기 버퍼들 각각은 상기 래치 신호에 응답하여 대응되는 데이터 비트를 래치하기 위한 제 1 래치 및; 상기 입출력 포인터 신호에 응답하여 상기 제 1 래치로부터 상기 데이터 비트를 받아들어서 래치하기 위한 제 2 래치를 포함한다.In this embodiment, each of the buffers comprises: a first latch for latching a corresponding data bit in response to the latch signal; And a second latch for receiving and latching the data bit from the first latch in response to the input / output pointer signal.
본 발명의 또 다른 특징에 의하면, 복수 개의 비트 라인들과; 복수 개의 메모리 셀들을 포함하는 셀 어레이와; 래치 신호에 응답하여 외부로부터 인가되는 데이터 비트들을 각각 래치하기 위한 버퍼들과; 프로그램 동작을 수행하기 위한 프로그램 활성화 신호를 발생하는 프로그램 활성화 신호 발생 회로와; 상기 프로그램 활성화 신호에 응답하여 상기 버퍼들에 래치된 상기 데이터 비트들에 해당하는 전압 레벨들로 대응되는 비트 라인들을 구동하기 위한 구동기들을 포함하는 플래시 메모리 장치의 프로그램 방법에 있어서, 상기 래치된 데이터 비트들을 각각 나타내는 입출력 포인터 신호를 순차적으로 발생하는 단계와; 상기 입출력 포인터 신호에 응답해서 상기 버퍼들에 래치된 데이터 비트를 대응되는 구동기로 순차적으로 출력하는 단계와; 상기 입출력 포인터 신호에 대응되는 데이터 비트가 프로그램 상태를 나타내는 데이터 비트일 때 숏 펄스 신호를 발생하는 단계와; 상기 숏 펄스 신호가 일회 프로그램 가능한 수만큼 발생될 때 상기 프로그램 활성화 신호 발생 수단을 활성화시키기 위한 제어 신호 (ONfin)를 발생하여 프로그램 동작을 수행하는 단계를 포함한다.According to another feature of the invention, a plurality of bit lines; A cell array including a plurality of memory cells; Buffers for respectively latching data bits applied from outside in response to the latch signal; A program activation signal generation circuit for generating a program activation signal for performing a program operation; 17. A method of programming a flash memory device comprising drivers for driving bit lines corresponding to voltage levels corresponding to the data bits latched in the buffers in response to the program activation signal. Sequentially generating input and output pointer signals respectively representing the signals; Sequentially outputting data bits latched in the buffers to corresponding drivers in response to the input / output pointer signal; Generating a short pulse signal when the data bit corresponding to the input / output pointer signal is a data bit indicating a program state; And generating a control signal (ON fin ) for activating the program activation signal generating means when the short pulse signal is generated by one programmable number.
이와같은 장치 및 방법에 의해서, 데이터 버퍼들에 래치된 데이터 비트들 중 최하위 비트로부터 프로그램 상태의 비트들만이 대응되는 기입 드라이버들로 전달되도록 제어할 수 있다.By such an apparatus and method, it is possible to control that only the bits of the program state from the least significant of the data bits latched in the data buffers are transferred to the corresponding write drivers.
이하 본 발명의 실시예에 따른 참조도면들 도 6 내지 도 16에 의거하여 상세히 설명한다.Reference drawings according to embodiments of the present invention will be described in detail with reference to FIGS. 6 to 16.
도 6을 참조하면, 본 발명의 신규한 플래시 메모리 장치는 프로그램 제어 회로 (program controlling circuit) (210)를 제공하며, 상기 프로그램 제어 회로 (210)는 버퍼들 (Dinbufi)에 각각 래치된 데이터 비트들 (DINi) 중 최하위 비트로부터 일회 프로그램 가능한 프로그램 상태의 데이터 비트들을 대응되는 구동기들 (WDi)로 공급한 후 상기 일회 프로그램 가능한 데이터 비트들에 대한 프로그램 동작이 수행되도록 상기 버퍼들 (Dinbufi) 및 프로그램 활성화 신호 발생 회로 (170)를 제어하기 위한 제어 신호 (ONfin)를 발생한다. 상기 프로그램 활성화 신호 발생 회로 (170)는 상기 프로그램 제어 신호 (ONfin)에 제어되어서 상기 구동기들 (WDi)을 활성화시키기 위한 프로그래 활성화 신호 (
도 6을 참조하면, 본 발명에 따른 플래시 메모리 장치의 구성을 보여주는 블록도가 도시되어 있다. 본 발명의 플래시 메모리 장치는 메모리 셀 어레이 (memory cell array) (100), 행 및 열 어드레스 버퍼 회로 (row and column address buffer circuit) (110), 행 디코더 (row decoder) (120), 열 디코더 (column decoder) (130), 열 패스 게이트 회로 (Y-pass gate circuit) (140), 데이터 입력 버퍼 회로 (data input buffer circuit) (150), 기입 드라이버 회로 (write driver circuit) (160), 프로그램 활성화 신호 발생 회로 (program enable signal generating circuit) (170), 그리고 프로그램 제어 회로 (program control circuit) (210)을 포함한다.6, there is shown a block diagram showing the configuration of a flash memory device according to the present invention. The flash memory device of the present invention includes a
상기 메모리 셀 어레이 (100), 행 및 열 어드레스 버퍼 회로 (110), 행 디코더 (120), 열 디코더 (130) 및 열 패스 게이트 회로 (140)는 이 분야의 통상적인 지식을 습득한 자들에게 잘 알려져 있는 것으로서, 여기서 그것들에 대한 설명은 생략된다.The
상기 데이터 입력 버퍼 회로 (150)는 신호 (nDlch)에 응답하여 입출력 핀들(미도시된)을 통해 외부로부터 인가되는 데이터 비트들 (DINi, 여기서 i=0∼15)을 래치한다. 여기서, 상기 신호 (nDlch)는 기입 활성화 신호 (
상기 기입 드라이버 회로 (160)는 상기 데이터 입력 버퍼 회로 (150)로부터 순차적으로 출력된 데이터 비트들 (DINi)을 입력받아 프로그램 활성화 신호 (
상기 프로그램 제어 회로 (210)는 상기 데이터 입력 버퍼들에 각각 래치된 상기 데이터 비트들 (DINi)을 최하위 비트로부터 프로그램 상태를 나타내는 데이터 비트들의 일회 프로그램 가능한 그룹으로 분할하여 상기 그룹의 데이터 비트들에 대응되는 비트 라인들이 상기 데이터 비트들에 각각 해당하는 전압 레벨들로 구동되도록 상기 데이터 입력 버퍼 회로 (150) 및 상기 프로그램 활성화 신호 발생 회로 (170)을 제어한다. 상기 프로그램 제어 회로 (210)은 계수부 (count section) (180), 비교부 (comparating section) (190), 그리고 프로그램 제어 신호 발생부 (program control signal generating section) (200)을 포함한다.The
상기 계수부 (180)는 발진 신호 (OSC)에 응답하여 상기 입출력 핀들을 각각 나타내기 위한 상기 입출력 포인터 신호 (IOfgi)을 발생하며, 프로그램 동작 모드를 알리는 신호 (
계속해서, 상기 비교부 (190)는 상기 입출력 포인터 신호 (IOfgi)에 대응되는 상기 입출력 버퍼들에 래치된 데이터 비트들 (DINi)과 상기 입출력 포인터 신호 (IOfgi)을 순차적으로 비교하여 상기 데이터 비트들 (DINi)이 프로그램 상태를 나타내는 데이터 비트일 때 숏 펄스 신호 (SRB)를 발생한다. 그리고, 상기 프로그램 제어 신호 발생부 (200)는 상기 숏 펄스 신호 (SRB)가 일회 프로그램 가능한 데이터 비트수(예를들면, 4비트 또는 그 보다 적은 비트)에 해당하는 수만큼 발생될 때 프로그램 동작 수행을 알리는 제어 신호 (ONfin)을 발생한다.Subsequently, the
그리고, 상기 제어 신호 (ONfin)가 상기 프로그램 활성화 신호 발생 회로 (170)로 인가되면 상기 프로그램 활성화 신호 (
도 7을 참조하면, 도 6의 데이터 입력 버퍼 회로 (150) 및 기입 드라이버 회로 (150)을 좀 더 상세히 설명하기 위한 구성도가 도시되어 있다.Referring to FIG. 7, a configuration diagram for describing the data
도 7을 참조하면, 데이터 입력 버퍼 회로 (150)는 신호 (nDlch)에 의해서 외부로부터의 데이터 비트들 (DINi, i=0∼15)이 입출력 핀들을 통해 인가되는 16 개의 데이터 입력 버퍼들 (Dinbuf0)∼(Dinbuf15)로 구성된다. 그리고, 상기 기입 드라이버 회로 (160)는 상기 데이터 입력 버퍼들 (Dinbuf0)∼(Dinbuf15)에 각각 대응되는 기입 드라이버들 (WDi)로 구성된다. 상기 데이터 입력 버퍼들 (Dinbuf0)∼(Dinbuf15)은 도 6의 프로그램 제어 회로 (210)로부터 출력되는 각각 대응되는 입출력 포인터 신호 (IOfgi)에 의해서 순차적으로 래치된 데이터 비트들 (LDi)을 대응되는 상기 기입 드라이버들 (WDi)로 출력한다. 계속해서, 상기 기입 드라이버들 (WDi)은 도 6의 프로그램 활성화 신호 발생부 (170)로부터의 신호 (
도 8은 본 발명의 바람직한 실시예에 따른 데이터 입력 버퍼 회로를 보여주는 회로도이다. 도 8을 참조하면, 데이터 입력 버퍼 회로 (150)는, 도 7에 도시된 바와같이, 입출력 핀들에 각각 대응되는 복수 개의 데이터 입력 버퍼들 (Dinbufi)로 구성되며, 도 8의 데이터 입력 버퍼 회로 (150)는 데이터 입력 버퍼들 (DinbufI) 중 하나에 해당하는 회로만을 도시하였지만, 나머지 버퍼들 역시 이와 동일한 구성을 갖는다.8 is a circuit diagram showing a data input buffer circuit according to a preferred embodiment of the present invention. Referring to FIG. 8, as illustrated in FIG. 7, the data
다시 8을 참조하면, 데이터 입력 버퍼 (Dinbufi)는 대응되는 데이터 비트 (DINi)와 신호 (nCEf)을 입력으로 하는 노어 게이트 (G52), 3 개의 인버터들 (IV27), (IV28) 및 (IV35), 상기 신호 (nDlch)에 제어되고 인버터들 (IV29), (IV30) 및 (IV31)과 전달 게이트 (G53)으로 구성된 제 1 래치 (152), 그리고 신호 (IOfgi)에 제어되고 인버터들 (IV32), (IV33) 및 (IV34)과 전달 게이트 (G54)으로 구성되며 상기 인버터 (IV35)을 통해 대응되는 기입 드라이버 (WDi)에 접속되는 제 2 래치 (154)을 포함한다. 이러한 구성을 갖는 데이터 입력 버퍼 (Dinbufi)는 상기 신호 (nDlch)에 응답하여 외부로부터 인가되는 데이터 비트 (DINi)를 상기 제 1 래치 (152)에 래치한 후, 상기 데이터 비트 (DINi)에 대응되는 입출력 포인터 신호 (IOfgi)가 활성화될 때 상기 제 1 래치 (152)에 저장된 데이터 비트는 상기 인버터 (IV35)를 통해 대응되는 기입 드라이버 (WDi)로 전달된다. 여기서, 상기 신호 (nCEf)는 스탠바이시 전류 소모를 막기 위한 신호로서 인가된다.Referring again to 8, the data input buffer (Dinbufi) comprises a NOR gate (G52), three inverters (IV27), (IV28) and (IV35) which input the corresponding data bits (DINi) and the signal (nCE f ). ), A
도 9A 및 도 9B을 참조하면, 도 6의 프로그램 제어 회로 내의 계수부의 회로 구성을 보여주는 회로도가 도시되어 있다. 그리고, 도 10은 도 9A의 계수부 (180) 내의 하나의 카운터 회로를 보여주는 회로도이다. 도 9A 및 도 9B에 도시된 바와같이, 상기 계수부 (180)는 카운터 (182) 및 디코더 (184)로 구성되어 있다.9A and 9B, a circuit diagram showing a circuit configuration of the counter portion in the program control circuit of FIG. 6 is shown. 10 is a circuit diagram showing one counter circuit in the
다시 도 9A을 참조하면, 상기 카운터 (182)는 발진 신호 (OSC) 및 그것의 상보 신호 (
상기 카운터 (182)는, 도 10에 도시된 바와같이, 2 개의 낸드 게이트들 (G1) 및 (G2), 4 개의 전달 게이트들 (G3)∼(G6) 및 2 개의 인버터 회로들 (IV1) 및 (IV2)로 구성되어 있다. 이에 대한 동작은 이 분야의 통상적인 지식을 습득한 자들에게 잘 알려져 있기 때문에 그것에 대한 설명은 생략된다.The
도 9B을 참조하면, 상기 디코더 (184)는 상기 카운터 (182)로부터 출력된 신호들 (IOp0)∼(IPp3)을 입력받아 입출력 핀들을 각각 나타내기 위한 입출력 포인터 신호 (IOfgi)을 출력한다. 여기서, 상기 신호 (IOfgi)는, 앞서 설명된 바와같이, 상기 발진 신호 (OSC)가 토글되기 이전에 가장 먼저 신호 (IOfg0)가 활성화되고, 이후 계속되는 상기 신호 (OSC)의 토글에 따라 순차적으로 활성화되는 신호들 (IOfg1)∼(IOfg15)을 출력하게 된다. 그리고, 상기 발진 신호 (OSC)는, 도면에는 도시되지 않았지만, 상기 제어 신호 (ONfin)가 발생될 때 홀드 상태로 유지된다.9B, the
상기 디코더 (184)는 상기 신호들 (IOfg0)∼(IOfg15)에 대응되도록 인버터들 (IV7)∼(IV22) 및 낸드 게이트들 (G7)∼(G22)과 상기 카운터 (182)로부터 출력된 2진 카운터 신호들 (IOp0)∼(IOp3)을 반전시키기 위한 인버터들 (IV3)∼(IV6)을 이용하여 상기 신호들 (IOp0)∼(IOp3)을 디코딩한 신호들 (IOfg0)∼(IOfg15)을 출력한다. 여기서, 도 9A 및 도 9B에 도시된 회로 구성이 다르게 변형될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다. 따라서, 그것들에 대한 일예로서의 회로 구성은 도 9A 및 도 9B을 참조한다.The
도 11을 참조하면, 도 6의 비교부의 구성을 보여주는 블럭도가 도시되어 있다. 상기 비교부 (190)는 판별부 (192), 펄스 발생부 (194) 및 2 개의 인버터들 (IV23) 및 (IV24)을 포함한다. 상기 판별부 (192)는 상기 데이터 입력 버퍼 회로 (150)로 인가되는 데이터 비트들 (DINi)과 상기 계수부 (180)로부터 출력되며 순차적으로 활성화되는 입출력 포인터 신호 (IOfgi)을 입력받아, 상기 입출력 포인터 신호 (IOfgi)와 상기 데이터 비트 (DINi)을 비교하여 상기 데이터 비트 (DINi)가 프로그램 상태 (여기서, '1'로 정의함.)를 나타내는 데이터 비트일 경우 활성화되는 검출 신호 (Det)를 발생한다. 즉, 신호 (IOfg0)가 활성화될 때 그에 대응되는 데이터 비트 (DIN0)가 프로그램 상태(예를들면, '1')를 나타내는 경우 하이 레벨로 천이되는 상기 신호 (Det)를 출력한다. 그리고, 상기 펄스 발생부 (194)는 상기 검출 신호 (Det)가 로우 레벨에서 하이 레벨로 천이될 때 소정 폭을 갖는 숏 펄스 신호 (SRG)을 발생한다. 계속해서, 상기 숏 펄스 신호 (SPG)는 상기 인버터 (IV23)을 통해 신호 (SRB)로서 출력되고, 상기 인버터들 (IV23) 및 (IV24)을 통해 상기 신호 (SRB)의 상보 신호 (
상기 판별부 (192)는 각각 대응되는 입출력 포인터 신호 (IOfgi)와 데이터 비트 (DINi)을 입력으로 하는 낸드 게이트들 (G23)∼(G38)과, 최하위 비트로부터 4 개씩 하나의 그룹에 해당하는 낸드 게이트들 (G23)∼(G26), (G27)∼(G30), (G31)∼(G34) 및 (G35)∼(G38)을 입력으로 하는 4 개의 낸드 게이트들 (G39)∼(G43)과, 상기 4 개의 낸드 게이트들 (G39)∼(G43) 중 2 개의 낸드 게이트들 (G39)와 (G40) 그리고 (G42)와 (G43)을 입력으로 하는 노어 게이트들 (G41) 및 (G44), 그리고 상기 노어 게이트들 (G41) 및 (G44)의 출력들을 입력으로 하는 하나의 낸드 게이트 (G45)를 포함한다.The
도 12은 본 발명에 따른 프로그램 제어 회로의 프로그램 제어 신호 발생부의 구성을 보여주는 블럭도이다.12 is a block diagram showing a configuration of a program control signal generator of a program control circuit according to the present invention.
도 12을 참조하면, 프로그램 제어 신호 발생부 (200)는 4 개의 플립플롭들 (DFF0)∼(DFF3)로 구성되고, 도 6의 비교부 (190)로부터 출력되는 숏 펄스 신호 (SRB)에 의해서 한단계씩 오른쪽으로 이동하기 위한 쉬프트 레지스터 (shift register : SR)로서 동작한다. 즉, 상기 쉬프트 레지스터 (SR)의 입력이 전원 전압 (Vcc)인 하이 레벨이기 때문에, 상기 레지스터 (SR)는 상기 숏 펄스 신호 (SRB) 및 그것의 상보 신호 (
따라서, 상기 프로그램 동작은 최대 프로그램될 비트들의 수가 4 개로 제한되며, 이는 레이 아웃적으로 제한된 챠아지 펌프 회로의 동작에 의해서도 메모리 셀의 프로그램이 가능함을 의미한다. 이때, 상기 프로그램 동작이 진행되는 동안에는 상기 입출력 포인터 신호 (IOfgi)에 대한 스캐닝 동작은 정지된다. 이후, 상기 쉬프트 레지스터 (SR)의 플립플롭들 (DFF0)∼(DFF3)은 도 6의 프로그램 활성화 신호 발생부 (170)로부터의 신호 (
도 14는 본 발명의 바람직한 실시예에 따른 플래시 메모리 장치의 프로그램 방법을 보여주는 흐름도이다. 도 15는 본 발명의 바람직한 실시예에 따른 프로그램 동작을 위한 신호들의 파형을 보여주는 타이밍도이다. 그리고, 도 16은 종래 및 본 발명에 따른 프로그램 성능을 비교하기 위한 도면이다. 도 14 및 도 15에 의거하여, 본 발명에 따른 프로그램 동작이 참조도면들 도6 내지 도 13 및 도 16을 참조하여 이하 설명된다.14 is a flowchart illustrating a program method of a flash memory device according to an exemplary embodiment of the present invention. 15 is a timing diagram showing waveforms of signals for a program operation according to an exemplary embodiment of the present invention. And, Figure 16 is a view for comparing the program performance according to the prior art and the present invention. 14 and 15, the program operation according to the present invention is described below with reference to the reference figures 6 to 13 and 16.
외부로부터 프로그램 명령, 즉 기입 활성화 신호 (
계속해서, 다음 단계 (S20)에서는 입출력 포인터, 즉 입출력 핀을 스캐닝하기 시작한다. 즉, 프로그램 제어 회로 (210)의 계수부 (180)는 발진 신호 (OSC)에 응답하여 입출력 핀들을 각각 나타내는 입출력 포인터 신호 (IOfgi)을 순차적으로 활성화시키게 된다. 상기 발진 신호 (OSC)가 토글하기 이전에 최하위 비트에 대응되는 입출력 핀을 나타내는 신호 (IOfg0)가 가장 먼저 활성화된다. 여기서, 상기 신호 (IOfgi)가 순차적으로 활성화됨에 따라 상기 버퍼 (Dinbufi)에 래치된 데이터 비트 (LDi)는 대응되는 데이터 입력 버퍼 (Dinbufi)로부터 대응되는 기입 드라이버 (WDi)로 전달된다.Subsequently, in the next step S20, scanning of the input / output pointer, that is, the input / output pin starts. That is, the
그 다음에, 상기 단계 (S10)에서 데이터 입력 버퍼들 (Dinbufi)에 래치된 데이터 비트들은 비교 단계 (S30)에서 순차적으로 활성화되는 상기 신호 (IOfgi)과 비교된다. 상기 데이터 비트가 프로그램 상태일 때, 도 6의 비교부 (190)는 숏 펄스 신호 (SRB)을 발생한다.Then, the data bits latched in the data input buffers (Dinbufi) in the step (S10) are compared with the signal (IOfgi) sequentially activated in the comparison step (S30). When the data bit is in a program state, the
이어, 일회 프로그램 가능한 데이터 비트수가 소정 수 (바람직한 실시예의 경우 4)와 같은지를 판별하여 프로그램 가능한 데이터 비트수가 4개이면 다음 단계의 프로그램 동작을 수행하게 된다. 즉, 도 6에서 알 수 있듯이, 상기 데이터 비트수가 4 개이면, 프로그램 제어 신호 발생부 (210)로부터 프로그램 동작을 알리는 제어 신호 (ONfin)가 발생된다. 따라서, 도 6의 프로그램 활성화 신호 발생부 (170)는 상기 신호 (ONfin)에 동기된 프로그램 활성화 신호 (
이후, 상기 프로그램 활성화 신호 (
여기서, 프로그램 동작이 수행되는 동안, 도면에는 도시되지 않았지만, 발진 신호 (OSC)을 발생하는 회로는 상기 신호 (ONfin)에 의해서 홀드 상태로 유지되기 때문에 상기 프로그램 동작 동안에 입출력 포인터 스캐닝 동작 단계 (S20)은 중지된다. 그리고, 상기 프로그램 동작이 완료되면, 도 15에 도시된 바와같이, 비활성화되는 상기 신호 (
이러한 일련의 동작을 통해 프로그램 동작이 수행되면, 도 16에 도시된 바와같이, 종래의 경우 4 번의 프로그램 사이클이 수행되는 반면에 본 발명의 경우 3 번의 프로그램 사이클만이 수행되기 때문에, 프로그램 성능이 향상될 수 있음은 자명하다.When a program operation is performed through this series of operations, as shown in FIG. 16, since four program cycles are performed in the conventional case, only three program cycles are performed in the present invention, thereby improving program performance. It can be obvious.
상기한 바와같이, 프로그램될 데이터 비트들을 최하위 비트로부터 스캐닝하여 일회 프로그램 가능한 데이터 비트들이 검출되었을 때, 프로그램 동작을 수행함으로써 플래시 메모리 장치의 프로그램 성능을 향상시킬 수 있다.As described above, when the programmable data bits are detected by scanning the data bits to be programmed from the least significant bit, the program performance of the flash memory device may be improved by performing a program operation.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970035819A KR100255955B1 (en) | 1997-07-29 | 1997-07-29 | Flash memory device and programmble method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970035819A KR100255955B1 (en) | 1997-07-29 | 1997-07-29 | Flash memory device and programmble method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990012428A KR19990012428A (en) | 1999-02-25 |
KR100255955B1 true KR100255955B1 (en) | 2000-05-01 |
Family
ID=19516100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970035819A KR100255955B1 (en) | 1997-07-29 | 1997-07-29 | Flash memory device and programmble method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100255955B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7443728B2 (en) | 2004-12-31 | 2008-10-28 | Samsung Electronic Co., Ltd. | NAND flash memory device and method of programming same |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7379372B2 (en) | 2004-09-15 | 2008-05-27 | Samsung Electronics Co., Ltd. | Non-volatile memory device with scanning circuit and method |
-
1997
- 1997-07-29 KR KR1019970035819A patent/KR100255955B1/en not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7443728B2 (en) | 2004-12-31 | 2008-10-28 | Samsung Electronic Co., Ltd. | NAND flash memory device and method of programming same |
Also Published As
Publication number | Publication date |
---|---|
KR19990012428A (en) | 1999-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100332001B1 (en) | Semiconductor nonvolatile memory device | |
US5555204A (en) | Non-volatile semiconductor memory device | |
JP4510031B2 (en) | Efficient verification for coarse / fine programming of non-volatile memory | |
US6426894B1 (en) | Method and circuit for writing data to a non-volatile semiconductor memory device | |
JP3583703B2 (en) | Semiconductor device | |
US6411551B1 (en) | Multi-state nonvolatile semiconductor memory device which is capable of regularly maintaining a margin between threshold voltage distributions | |
US7489566B2 (en) | High voltage generator and related flash memory device | |
US6128231A (en) | Nonvolatile semiconductor memory device capable of optimizing program time | |
JP2007520029A (en) | Variable current sinking for non-volatile memory miscellaneous / fine programming | |
JP2007520028A (en) | Charge packet measurement for non-volatile memory miscellaneous / fine programming | |
JP3820330B2 (en) | Semiconductor memory device | |
US20160012900A1 (en) | Semiconductor device | |
JP4426082B2 (en) | Nonvolatile semiconductor memory device for shortening read time | |
US6256702B1 (en) | Nonvolatile memory device with extended storage and high reliability through writing the same data into two memory cells | |
KR100605275B1 (en) | Semiconductor storage device | |
KR100274590B1 (en) | Flash memory device capable of operating stably read-out at low power supply voltage | |
KR100268442B1 (en) | Program method of non-volatile semiconductor memory device | |
US6711062B1 (en) | Erase method of split gate flash memory reference cells | |
KR100255955B1 (en) | Flash memory device and programmble method thereof | |
KR100449864B1 (en) | Boosting circuit | |
JP3862092B2 (en) | Nonvolatile memory device | |
US6229735B1 (en) | Burst read mode word line boosting | |
JPH1186573A (en) | Non-volatile semiconductor memory | |
JP3722372B2 (en) | System and device having nonvolatile memory | |
KR100222575B1 (en) | Dummy cell driving circuit |
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: 20080201 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |