KR100600303B1 - Method of page programming in a flash memory device - Google Patents

Method of page programming in a flash memory device Download PDF

Info

Publication number
KR100600303B1
KR100600303B1 KR1020040034451A KR20040034451A KR100600303B1 KR 100600303 B1 KR100600303 B1 KR 100600303B1 KR 1020040034451 A KR1020040034451 A KR 1020040034451A KR 20040034451 A KR20040034451 A KR 20040034451A KR 100600303 B1 KR100600303 B1 KR 100600303B1
Authority
KR
South Korea
Prior art keywords
page
program
address
block
last
Prior art date
Application number
KR1020040034451A
Other languages
Korean (ko)
Other versions
KR20050108986A (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 KR1020040034451A priority Critical patent/KR100600303B1/en
Publication of KR20050108986A publication Critical patent/KR20050108986A/en
Application granted granted Critical
Publication of KR100600303B1 publication Critical patent/KR100600303B1/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)

Abstract

본 발명은 플래쉬 메모리 소자의 페이지 프로그램 방법에 관한 것으로, 셋업 명령을 인식한 후 프로그램할 페이지 어드레스를 설정하고, 각각의 페이지 버퍼에 데이터를 로딩하는 단계와, 상기 어드레스 및 상기 데이터가 제대로 설정되었는지를 확인하는 단계와, 페이지 프로그램을 실시한 후 상기 페이지 프로그램이 성공적으로 실시되었는지 검증하는 단계와, 페이지 어드레스 카운터 및 블럭 어드레스 카운터에 의해 페이지 어드레스 및 블럭 어드레스를 증가시켜 마지막 블럭의 마지막 페이지까지 상기 페이지 프로그램 및 검증을 실시하는 단계를 포함함으로써 페이지 프로그램 시간을 줄일 수 있어 전체적인 테스트 시간을 줄일 수 있는 플래쉬 메모리 소자의 페이지 프로그램 방법이 제시된다.
The present invention relates to a method of programming a page of a flash memory device, comprising: recognizing a setup command, setting a page address to be programmed, loading data into each page buffer, and whether the address and the data are correctly set. Verifying, verifying whether the page program is successfully executed after executing the page program, increasing the page address and the block address by a page address counter and a block address counter, and increasing the page program and the last page of the last block. The method of page programming of a flash memory device, which can reduce the page program time by including the verification step, can reduce the overall test time.

NAND 플래쉬, 페이지 프로그램, 프로그램 시간NAND flash, page program, program time

Description

플래쉬 메모리 소자의 페이지 프로그램 방법{Method of page programming in a flash memory device} Method of page programming in a flash memory device             

도 1은 일반적인 NAND형 플래쉬 메모리 소자의 페이지 프로그램 방법을 설명하기 위한 흐름도.1 is a flowchart for explaining a page program method of a general NAND type flash memory device.

도 2는 본 발명의 실시 예에 따른 NAND형 플래쉬 메모리 소자의 페이지 프로그램 방법을 설명하기 위한 흐름도.
2 is a flowchart illustrating a page program method of a NAND type flash memory device according to an exemplary embodiment of the present invention.

본 발명은 NAND형 플래쉬 메모리 소자의 페이지 프로그램(page program) 방법에 관한 것으로, 특히 페이지 프로그램 시간을 줄일 수 있어 전체 테스트 시간을 줄일 수 있는 플래쉬 메모리 소자의 페이지 프로그램 방법에 관한 것이다.
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a page program method of a NAND type flash memory device, and more particularly, to a page program method of a flash memory device capable of reducing page program time and thus reducing overall test time.

일반적인 NAND형 플래쉬 메모리 소자의 페이지 프로그램 방법을 도 1을 이용 하여 설명하면 다음과 같다.A page program method of a general NAND flash memory device will be described with reference to FIG. 1 as follows.

셋업 명령(setup command)을 인식한 후(11) 어드레스를 입력하여 프로그램할 페이지 어드레스를 설정하고(12), 데이터를 입력하여 각각의 페이지 버퍼에 데이터를 로딩한다(13). 그리고난 후 이러한 어드레스 및 데이터가 제대로 설정되었는지를 확인한 후(14) 페이지 프로그램을 실시한다(15). 페이지 프로그램이 성공적으로 실시되었는지 검증한다(16). 검증 결과 페이지 프로그램이 성공적으로 실시되었다면(17) 다음 페이지에 대하여 단계 11 내지 단계 16을 반복하고, 검증 결과 페이지 프로그램이 성공적으로 실시되지 않았다면(17) 페일 처리한 후 종료한다(18).After recognizing the setup command (11), input the address to set the page address to be programmed (12), and input the data to load the data into each page buffer (13). Then, after confirming that these addresses and data are set correctly (14), the page program is executed (15). Verify that the page program ran successfully (16). If the verification result page program has been successfully executed (17), steps 11 to 16 are repeated for the next page, and if the verification result page program has not been successfully executed (17), the process is terminated after failing (18).

상기와 같은 방법으로 페이지 프로그램을 실시랄 경우 일반적으로 512M 플래쉬 메모리 소자(512byte×32page×4096block)를 기준으로 칩 전체를 프로그램하기 위해 1 페이지 프로그램 시간을 t라고 하면 t×32×4096배의 시간이 필요하다. 그런데, 한 페이지가 프로그램되는 시간은 보통 250㎲이고, 그중 50㎲ 정도가 데이터를 입력하는 과정에 소모된다. 이러한 방법을 이용하여 칩 전체를 프로그램하려면 250㎲×32×4096=32768000㎲의 시간이 필요하다. 따라서, 이러한 프로그램 시간은 테스트 시간에 반영되어 테스트 비용을 증가시킨다.
In the case of implementing a page program in the above manner, in order to program the entire chip based on a 512M flash memory device (512 bytes x 32 pages x 4096 blocks), one page program time t is t x 32 x 4096 times the time. need. However, the time for programming a page is usually 250 ms, of which about 50 ms is consumed in inputting data. Programming the entire chip using this method requires 250ms x 32x4096 = 32768000ms. Therefore, this program time is reflected in the test time, which increases the test cost.

본 발명의 목적을 프로그램 시간을 줄여 테스트 비용을 감소시킬 수 있는 플래쉬 메모리 소자의 페이지 프로그램 방법을 제공하는데 있다.An object of the present invention is to provide a page program method of a flash memory device that can reduce the test cost by reducing the program time.

본 발명의 다른 목적은 테스트시에는 랜덤 데이터 입력보다는 일정한 패턴(all"0", all"1", CKBD, ICKBD등)을 가지고 프로그램하는데 착안하여 단한번의 데이터 입력으로 칩 프로그램이 가능하도록 구현함으로써 칩 전체의 프로그램 시간을 줄일 수 있는 플래쉬 메모리 소자의 페이지 프로그램 방법을 제공하는데 있다.
Another object of the present invention is to implement a chip program with a single data input by focusing on programming with a certain pattern (all "0", all "1", CKBD, ICKBD, etc.) rather than random data input during testing. The present invention provides a method of programming a page of a flash memory device that can reduce programming time of an entire chip.

본 발명의 실시 예에 따른 플래쉬 메모리 소자의 페이지 프로그램 방법은 (a) 셋업 명령을 인식한 후 프로그램할 페이지 어드레스를 설정하고, 각각의 페이지 버퍼에 데이터를 로딩하는 단계와, (b) 상기 어드레스 및 상기 데이터가 제대로 설정되었는지를 확인하는 단계와, (c) 페이지 프로그램을 실시한 후 상기 페이지 프로그램이 성공적으로 실시되었는지 검증하는 단계와, (d) 상기 검증 결과 상기 페이지 프로그램이 성공적으로 실시되었으면 상기 프로그램된 페이지가 마지막 페이지인지 확인하는 단계와, (e) 상기 (d)의 확인 결과 마지막 페이지가 아니면 페이지 어드레스 카운터에 의해 페이지 어드레스를 증가시켜 마지막 페이지까지 상기 페이지 프로그램 및 검증을 실시하는 단계와, (f) 상기 마지막 페이지까지 프로그램을 실시한 후 프로그램된 페이지의 블럭이 마지막 블럭인지를 확인하는 단계와, (g) 상기 (f)의 확인 결과 마지막 블럭이 아니면 블럭 어드레스 카운터에 의해 블럭 어드레스를 증가시켜 마지막 블럭까지 상기 페이지 프로그램 및 검증을 실시하는 단계와, (h) 상기 검증 결과 상기 페이지 프로그램이 성공적으로 실시되지 않았을 경우 페일 처리하는 단계를 포함한다.According to an embodiment of the present invention, a page program method of a flash memory device may include (a) setting a page address to be programmed after recognizing a setup command, loading data into each page buffer, and (b) the address and Checking whether the data is correctly set; (c) verifying whether the page program is successfully executed after executing the page program; and (d) if the page program is successfully executed, the programmed Checking whether the page is the last page; (e) if the page is not the last page as a result of the check in (d), increasing the page address by a page address counter to perform the page program and verification up to the last page; and (f ) After executing the program up to the last page, Checking whether the block is the last block; (g) if the block is not the last block as a result of the check in (f), increasing the block address by a block address counter to perform the page program and verification up to the last block; (h) failing if the page program is not successfully executed as a result of the verification.

본 발명의 다른 실시 예에 따른 플래쉬 메모리 소자의 페이지 프로그램 방법 은 셋업 명령을 인식한 후 프로그램할 페이지 어드레스를 설정하고, 각각의 페이지 버퍼에 데이터를 로딩하는 단계와, 상기 어드레스 및 상기 데이터가 제대로 설정되었는지를 확인하는 단계와, 페이지 프로그램을 실시한 후 상기 페이지 프로그램이 성공적으로 실시되었는지 검증하는 단계와, 페이지 어드레스 카운터 및 블럭 어드레스 카운터에 의해 페이지 어드레스 및 블럭 어드레스를 증가시켜 마지막 블럭의 마지막 페이지까지 상기 페이지 프로그램 및 검증을 실시하는 단계를 포함한다.
In accordance with another aspect of the present invention, a page program method of a flash memory device may include: setting a page address to be programmed after recognizing a setup command, loading data into each page buffer, and properly setting the address and the data. Verifying that the page program is successfully executed after executing the page program, and incrementing the page address and the block address by a page address counter and a block address counter to increase the page to the last page of the last block. Performing the program and verification.

이하, 첨부된 도면을 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.Hereinafter, with reference to the accompanying drawings will be described an embodiment of the present invention;

도 2는 본 발명의 실시 예에 따른 NAND형 플래쉬 메모리 소자의 페이지 프로그램 방법을 설명하기 위한 흐름도로서, 페이지 프로그램 시간을 최대한 줄이기 위해 동일한 패턴을 갖는 프로그램을 실시할 때 셋업 명령부터 확인 명령까지 한번만 입력하고서도 칩 프로그램이 가능하도록 알고리즘을 구성하였다.FIG. 2 is a flowchart illustrating a page program method of a NAND type flash memory device according to an exemplary embodiment of the present invention. When a program having the same pattern is executed to reduce the page program time, FIG. And the algorithm is configured to enable chip programming.

셋업 명령(setup command)을 인식한 후(201) 어드레스를 입력하여 프로그램할 페이지 어드레스를 설정하고(202), 데이터를 입력하여 각각의 페이지 버퍼에 데이터를 로딩한다(203). 그리고, 이러한 어드레스 및 데이터가 제대로 설정되었는지를 확인한 후(204) 페이지 프로그램을 실시한다(205). 페이지 프로그램이 성공적으로 실시되었는지 검증한다(206). 검증 결과 페이지 프로그램이 성공적으로 실시되었다면(207) 프로그램된 페이지가 마지막 페이지인지 확인한다(208). 확인 결과 마지막 페이지가 아니면 페이지 어드레스 카운터가 동작하여 페이지 어드레스를 1 증 가시켜(209) 다음 페이지에 대해 상기 페이지 프로그램 및 검증을 실시한다(205 내지 207). 이렇게 페이지 어드레스를 증가시켜 마지막 페이지까지 프로그램 및 검증을 실시한 후 프로그램된 페이지의 블럭이 마지막 블럭인지를 확인한다(210). 확인 결과 마지막 블럭이 아니면 블럭 어드레스 카운터가 동작하여 블럭 어드레스를 1 증가시켜(211) 다음 블럭의 각각의 페이지에 대해 상기와 같은 방법으로 프로그램 및 검증을 실시한다. 이렇게 페이지 어드레스 및 블럭 어드레스를 증가시켜 마지막 블럭의 마지막 페이지까지 프로그램 및 검증을 실시한다. 한편, 상기 프로그램 검증 과정에서 프로그램되지 않은 것을 판정되면 페일 처리한 후(212) 종료한다.
After recognizing the setup command (201), the address is inputted to set the page address to be programmed (202), and the data is inputted to load the data into each page buffer (203). After confirming that these addresses and data are set correctly (204), the page program is executed (205). Verify that the page program ran successfully (206). If the verification result page program was successfully executed (207), it is checked whether the programmed page is the last page (208). If the result of the check is not the last page, the page address counter is operated to increase the page address by one (209) to perform the page program and verification on the next page (205 to 207). After increasing the page address and performing a program and verification to the last page, it is checked whether the block of the programmed page is the last block (210). If the result of the check is not the last block, the block address counter is operated to increase the block address by 1 (211) to program and verify each page of the next block in the same manner as described above. In this way, the page address and the block address are increased to program and verify the last page of the last block. On the other hand, if it is determined that the program is not programmed in the program verification process, it ends after fail processing (212).

상술한 바와 같이 본 발명에 의하면 단한번 데이터를 입력한 후 내부 페이지 어드레스 카운터 및 블럭 어드레스 카운터를 이용하여 순차적으로 각각의 페이지 및 블럭을 프로그램함으로써 첫번째 페이지 프로그램 시간은 노멀 페이지 프로그램과 같고 그 이후부터는 페이지당 50㎲ 정도의 시간이 줄어든다. 따라서, 전체 집의 프로그램 시간이 50㎲+(200㎲×32×4096)=26214450㎲ 정도 소요되어 종래의 페이지 프로그램에 비해 20% 정도의 시간을 절약할 수 있으며, 전체적인 테스트에서는 약 약 10%의 시간을 절약할 수 있다.As described above, according to the present invention, after inputting data once, each page and block are sequentially programmed using an internal page address counter and a block address counter, so that the first page program time is the same as that of a normal page program. This saves about 50ms per hour. Therefore, the program time of the entire home takes about 50㎲ + (200㎲ × 32 × 4096) = 26214450㎲, which saves 20% of the time compared to the conventional page program. You can save time.

Claims (2)

(a) 셋업 명령을 인식한 후 프로그램할 페이지 어드레스를 설정하고, 각각의 페이지 버퍼에 데이터를 로딩하는 단계;(a) setting a page address to be programmed after recognizing the setup command, and loading data into each page buffer; (b) 상기 어드레스 및 상기 데이터가 제대로 설정되었는지를 확인하는 단계;(b) confirming that the address and the data are set correctly; (c) 페이지 프로그램을 실시한 후 상기 페이지 프로그램이 성공적으로 실시되었는지 검증하는 단계;(c) verifying whether the page program was successfully executed after executing the page program; (d) 상기 검증 결과 상기 페이지 프로그램이 성공적으로 실시되었으면 상기 프로그램된 페이지가 마지막 페이지인지 확인하는 단계;(d) confirming whether the programmed page is the last page if the page program is successfully executed as a result of the verification; (e) 상기 (d)의 확인 결과 마지막 페이지가 아니면 페이지 어드레스 카운터에 의해 페이지 어드레스를 증가시켜 마지막 페이지까지 상기 페이지 프로그램 및 검증을 실시하는 단계;(e) increasing the page address by a page address counter and performing the page program and verification until the last page if it is not the last page as a result of the checking in (d); (f) 상기 마지막 페이지까지 프로그램을 실시한 후 프로그램된 페이지의 블럭이 마지막 블럭인지를 확인하는 단계;(f) checking whether the block of the programmed page is the last block after executing the program to the last page; (g) 상기 (f)의 확인 결과 마지막 블럭이 아니면 블럭 어드레스 카운터에 의해 블럭 어드레스를 증가시켜 마지막 블럭까지 상기 페이지 프로그램 및 검증을 실시하는 단계; 및(g) increasing the block address by a block address counter to perform the page program and verifying to the last block if it is not the last block as a result of the checking in (f); And (h) 상기 검증 결과 상기 페이지 프로그램이 성공적으로 실시되지 않았을 경우 페일 처리하는 단계를 포함하는 플래쉬 메모리 소자의 페이지 프로그램 방법.(h) failing if the page program is not successfully executed as a result of the verification. 셋업 명령을 인식한 후 프로그램할 페이지 어드레스를 설정하고, 각각의 페이지 버퍼에 데이터를 로딩하는 단계;Setting a page address to be programmed after recognizing the setup command, and loading data into each page buffer; 상기 어드레스 및 상기 데이터가 제대로 설정되었는지를 확인하는 단계;Confirming that the address and the data are set correctly; 페이지 프로그램을 실시한 후 상기 페이지 프로그램이 성공적으로 실시되었는지 검증하는 단계; 및Verifying whether the page program was successfully executed after executing the page program; And 페이지 어드레스 카운터 및 블럭 어드레스 카운터에 의해 페이지 어드레스 및 블럭 어드레스를 증가시켜 마지막 블럭의 마지막 페이지까지 상기 페이지 프로그램 및 검증을 실시하는 단계를 포함하는 플래쉬 메모리 소자의 페이지 프로그램 방법.And incrementing the page address and the block address by a page address counter and a block address counter to perform the page program and verification up to the last page of the last block.
KR1020040034451A 2004-05-14 2004-05-14 Method of page programming in a flash memory device KR100600303B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040034451A KR100600303B1 (en) 2004-05-14 2004-05-14 Method of page programming in a flash memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040034451A KR100600303B1 (en) 2004-05-14 2004-05-14 Method of page programming in a flash memory device

Publications (2)

Publication Number Publication Date
KR20050108986A KR20050108986A (en) 2005-11-17
KR100600303B1 true KR100600303B1 (en) 2006-07-13

Family

ID=37284992

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040034451A KR100600303B1 (en) 2004-05-14 2004-05-14 Method of page programming in a flash memory device

Country Status (1)

Country Link
KR (1) KR100600303B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100590219B1 (en) 2004-12-01 2006-06-19 삼성전자주식회사 Non-volatile memory device capable of reducing program time
KR100672105B1 (en) * 2005-09-15 2007-01-19 주식회사 하이닉스반도체 Method for operating flash memory chips
KR100874441B1 (en) 2007-01-09 2008-12-17 삼성전자주식회사 Flash memory device capable of storing multi-bit data, memory controller controlling it, and memory system including the same

Also Published As

Publication number Publication date
KR20050108986A (en) 2005-11-17

Similar Documents

Publication Publication Date Title
KR100918707B1 (en) Flash memory-based memory system
KR101197556B1 (en) Device and method capable of verifying program operation of non-volatile memory and memory card including the same
US20080016415A1 (en) Evaluation system and method
CN102592679B (en) Flash memory chip and testing method thereof
CN113010190A (en) MAC address burning method, device, equipment and storage medium
US9786373B2 (en) EEPROM backup method and device
KR970003248A (en) Erasing Method of Flash Memory Device
CN113127071A (en) Starting method and device based on solidified starting code, computer equipment and storage medium
KR100600303B1 (en) Method of page programming in a flash memory device
CN107657153B (en) Code protection method and device for flash area in chip
CN115602242B (en) Storage device and test method thereof
CN110473585B (en) Replacement method, device and equipment for erasing failed storage unit and storage medium
US7274585B2 (en) Methods of operating integrated circuit memory devices
US20090210613A1 (en) Method for Programming a Controller in a Motor Vehicle
JP2011059023A (en) Function test method of electronic control device for vehicle
CN115705914A (en) Method and device for detecting bad block of flash memory and computer storage medium
JP2002056692A (en) Test method for semiconductor memory, test device for semiconductor memory
CN111782145B (en) Answer-type or-type flash memory digital verification method, system, storage medium and terminal
CN107305792B (en) Method and device for testing memory
JP6594712B2 (en) Semiconductor memory and method for verifying semiconductor memory
KR100293633B1 (en) Method for erasing flash memory device
WO2019172746A1 (en) A method of optimizing a march test algorithm (mta)
CN111367816B (en) Mobile test method and device, computer equipment and storage medium
US20070083351A1 (en) Integrated circuit test simulator
KR100231724B1 (en) Flash memory device and repair method

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

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee