KR100884234B1 - 프로그램 성능을 향상시킬 수 있는 플래시 메모리 장치 및그것의 프로그램 방법 - Google Patents

프로그램 성능을 향상시킬 수 있는 플래시 메모리 장치 및그것의 프로그램 방법 Download PDF

Info

Publication number
KR100884234B1
KR100884234B1 KR1020070050960A KR20070050960A KR100884234B1 KR 100884234 B1 KR100884234 B1 KR 100884234B1 KR 1020070050960 A KR1020070050960 A KR 1020070050960A KR 20070050960 A KR20070050960 A KR 20070050960A KR 100884234 B1 KR100884234 B1 KR 100884234B1
Authority
KR
South Korea
Prior art keywords
program
fail
data bits
flash memory
circuit
Prior art date
Application number
KR1020070050960A
Other languages
English (en)
Other versions
KR20080103783A (ko
Inventor
김경애
이진욱
최윤호
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020070050960A priority Critical patent/KR100884234B1/ko
Priority to US12/126,080 priority patent/US7746703B2/en
Publication of KR20080103783A publication Critical patent/KR20080103783A/ko
Application granted granted Critical
Publication of KR100884234B1 publication Critical patent/KR100884234B1/ko

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
    • 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/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • 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

Abstract

여기에 개시된 플래시 메모리 장치는 행들 및 열들로 배열된 메모리 셀들을 갖는 메모리 셀 어레이, 열 스캔 동작시 열 어드레스에 의해 선택된 데이터 비트들이 모두 프로그램 데이터 값을 갖는지를 검증하는 패스페일 체크 회로, 및 상기 선택된 데이터 비트들 중 페일 데이터 비트들을 검출하고, 상기 패스페일 체크 회로의 검증 결과에 응답하여 상기 열 어드레스를 저장하는 제어로직을 포함하고, 상기 제어 로직은 상기 페일 데이터 비트들의 갯수를 기준값과 비교하고, 상기 비교 결과에 따라서 상기 열 어드레스의 발생을 제어한다.

Description

프로그램 성능을 향상시킬 수 있는 플래시 메모리 장치 및 그것의 프로그램 방법{FLASH MEMORY DEVICE CAPABLE OF IMPROVING PROGRAM PERFORMANCE AND PROGRAMMING METHOD THEREOF}
도 1은 일반적인 낸드 플래시 메모리 장치를 보여주는 블록도;
도 2는 증가형 스텝 펄스 프로그램(ISPP) 방식에 따라 프로그램되는 일반적인 플래시 메모리 장치의 셀들의 문턱 전압 산포도의 변화를 보여주는 도면;
도 3은 본 발명의 실시예에 따른 플래시 메모리 장치의 블록도;
도 4는 본 발명의 실시 예에 따른 플래시 메모리 장치의 프로그램 및 프로그램 동작을 설명하기 위한 순서도;
도 5는 본 발명의 실시예에 따른 열-스캔 동작의 흐름을 보여주는 도면;
도 6 및 도 7은 도 4에 도시된 열-스캔 동작에 따른 시간손실을 보상하기 위한 본 발명의 실시 예에 따른 프로그램 및 열-스캔 동작의 흐름을 보여주는 도면; 그리고
도 8은 본 발명의 실시예에 따른 플래시 메모리 장치를 포함하는 플래시 메모리 시스템을 개략적으로 보여주는 블록도 이다.
<도면의 주요 부분에 대한 부호 설명>
100: 플래시 메모리 장치 110: 메모리 셀 어레이
120: 행 선택 회로 130: 페이지 버퍼 회로
140: 열 선택 회로 150: 패스페일 체크 회로
160: 어드레스 발생 회로 170: 제어 로직
171: 프로그램 컨트롤러 172: 페일 데이터비트 검출회로
173: 어드레스 저장 회로 1000: 플래시 메모리 시스템
200: 플래시 메모리 컨트롤러 201: 에러 정정 회로
2000: 호스트
본 발명은 플래시 메모리 장치에 관한 것으로, 좀더 구체적으로는 프로그램 성능을 향상시킬 수 있는 플래시 메모리 장치 및 그것의 프로그램 방법에 관한 것이다.
일반적으로, 플래시 메모리 장치는 복수의 메모리 영역들이 한 번의 프로그램 동작으로 소거 또는 프로그램되는 일종의 EEPROM이다. EEPROM은 전기적으로 소거 및 쓰기가 가능하므로 계속적인 갱신이 필요한 시스템 프로그래밍(system programming)이나 보조 기억 장치로의 응용이 확대되고 있다. 특히 플래시 EEPROM (이하, 플래시 메모리라 칭함)은 기존의 EEPROM에 비해 집적도가 높아 대용량 보조 기억 장치로의 응용에 매우 유리하다. 플래시 메모리 장치는 각 저장소자에 사용되는 로직 게이트의 형태에 따라 낸드(NAND) 플래시 메모리 장치와 노어(NOR) 플래시 메모리 장치로 이루어진다. 낸드 플래시 메모리 장치는 노어 플래시 메모리장치에 비해 집적도가 매우 높다.
도 1은 일반적인 낸드 플래시 메모리 장치를 보여주는 블록도이다.
도 1을 참조하면, 낸드 플래시 메모리 장치(10)는 메모리 셀 어레이(20), 행 선택 회로(도면에는 "X-SEL"라 표기됨)(40), 그리고 페이지 버퍼 회로(60)를 포함한다. 메모리 셀 어레이(20)는 비트 라인들(BL0~BLm-1)에 각각 연결되는 복수 개의 셀 스트링들(또는 낸드 스트링들)(21)을 포함한다. 각 열의 셀 스트링(21)은 제 1 선택 트랜지스터로서 스트링 선택 트랜지스터(string selection transistor, SST), 제 2 선택 트랜지스터로서 접지 선택 트랜지스터(ground selection transistor, GST), 그리고 선택 트랜지스터들(SST, GST) 사이에 직렬 연결된 복수의 플래시 EEPROM 셀들 또는 메모리 셀들(MC0~MCn-1)로 구성된다. 각 열의 스트링 선택 트랜지스터(SST)는 대응하는 비트 라인에 연결된 드레인과 스트링 선택 라인(string selection line, SSL)에 연결된 게이트를 갖는다. 접지 선택 트랜지스터(GST)는 공통 소오스 라인(common source line, CSL)에 연결된 소오스와 접지 선택 라인(ground selection line, GSL)에 연결된 게이트를 갖는다. 스트링 선택 트랜지스터(SST)의 소오스와 접지 선택 트랜지스터(GST)의 드레인 사이에는 메모리 셀들(MCn-1~MC0)이 직렬 연결되어 있다. 각 셀 스트링의 셀들은 플로팅 게이트 트랜지스터들로 구성되며, 트랜지스터들의 제어 게이트들은 대응하는 워드 라인들(WLn-1~WL0)에 각각 연결된다.
스트링 선택 라인(SSL), 워드 라인들(WL0~WLn-1), 그리고 접지 선택 라 인(GSL)은 행 선택 회로(40)에 전기적으로 연결되어 있다. 행 선택 회로(40)는 행 어드레스 정보에 따라 워드 라인들 중 하나의 워드 라인을 선택하고, 선택된 워드 라인과 비선택된 워드 라인들로 각 동작 모드에 따른 워드 라인 전압들을 공급한다. 예를 들면, 행 선택 회로(40)는 프로그램 동작 모드시 선택되는 워드 라인으로 프로그램 전압(program voltage)을 공급하고 비선택되는 워드 라인들로 패스 전압(pass voltage)을 공급한다. 행 선택 회로(40)는 읽기 동작 모드시 선택되는 워드 라인으로 접지 전압(GND)을 공급하고 비선택되는 워드 라인들로 읽기 전압(read voltage)을 공급한다. 프로그램 전압, 패스 전압, 그리고 읽기 전압은 전원 전압보다 높은 고전압이다. 메모리 셀 어레이(20)를 통해 배열되는 비트 라인들(BL0~BLm-1)은 페이지 버퍼 회로(60)에 전기적으로 연결되어 있다. 페이지 버퍼 회로(60)는 읽기/검증 동작 모드에서 비트 라인들(BL0~BLm-1)을 통해 선택된 워드 라인의 메모리 셀들로부터 데이터를 감지한다. 페이지 버퍼 회로(60)의 감지 동작을 통해 메모리 셀이 프로그램된 셀인지 소거된 셀인지 여부가 확인된다. 또한, 페이지 버퍼 회로(60)는 프로그램 동작 모드에서 프로그램될 데이터에 따라 비트 라인들(BL0~BLm-1)로 전원 전압(또는 프로그램 금지 전압: program-inhibited voltage) 또는 접지 전압(또는 프로그램 전압: program voltage)을 각각 공급한다. 페이지 버퍼 회로(60)에는 비트 라인들(BL0~BLm-1)에 각각 대응하는 페이지 버퍼들이 제공될 수 있다. 또는, 각 페이지 버퍼는 한 쌍의 비트 라인들을 공유하도록 구현될 수 있다.
잘 알려진 바와 같이, 낸드형 플래시 메모리(10)의 메모리 셀은 F-N 터널링 전류(Fowler-Nordheim tunneling current)를 이용하여 소거 및 프로그램된다. 낸드 형 플래시 메모리의 소거 및 프로그램 방법들은 미국특허공보 5,473,563호에 "NONVOLATILE SEMICONDUCTOR MEMORY"라는 제목으로, 미국특허공보 5,696,717호에 "NONVOLATILE INTEGRATED CIRCUIT MEMORY DEVICES HAVING ADJUSTABLE ERASE/PROGRAM THRESHOLD VOLTAGE VERIFICATION CAPABILITY"라는 제목으로 각각 게재되어 있다. 한편, 플래시 메모리 장치는 메모리 셀들의 문턱 전압 산포를 정확하게 제어하기 위해, 증가형 스텝 펄스 프로그래밍(incremental step pulse programming: ISPP) 방식에 의해 프로그램된다. ISPP 방식을 이용한 플래시 메모리 장치의 예시적인 프로그램 방법이 U.S Patent No.6,266,270 "NON-VOLATILE SEMICOMDUCTOR MEMORY AND PROGRAMMING METHOD OF THE SAME"라는 제목으로 게재되어 있다. ISPP 방식에 따라 프로그램 전압을 생성하는 회로의 예는, 미국특허공보 5,642,309호에 " AUTO - PROGRAM CIRCUIT IN A NONVOLATILE SEMICONDUCTOR MEMORY DEVICE"라는 제목으로 그리고 대한민국공개특허 제2002-39744호에 "FLASH MEMORY DEVICE DAPABLE OF PREVENTING PROGRAM DISTURB AND METHOD OF PROGRAMMING THE SAME"라는 제목으로 각각 게재되어 있다.
플래시 메모리 장치(10)의 프로그램 동작시, 일반적으로, 프로그램될 데이터는 바이트 또는 워드 단위로 페이지 버퍼 회로(60)로 순차적으로 전달된다. 프로그램될 데이터 즉, 한 페이지 분량의 데이터가 모두 페이지 버퍼 회로(60)에 로드되면, 페이지 버퍼 회로(60)에 보관된 데이터는 프로그램 명령에 따라 메모리 셀 어레이(즉, 선택된 페이지의 메모리 셀들)에 동시에 프로그램된다. ISSP 방식을 이용한 플래시 메모리 장치의 프로그램 방법에서, 데이터가 프로그램되는 사이클(이하, 프로그램 사이클이라 칭함)은 복수의 프로그램 루프들(또는 ISSP 루프들)로 이루어진다. 또한, 각 프로그램 루프는 프로그램 구간과 프로그램 검증 구간으로 나눠진다. 프로그램 구간에서는, 잘 알려진 방식에 따라 메모리 셀들이 주어진 바이어스 조건하에서 프로그램된다. 프로그램 검증 구간에서는 메모리 셀들이 원하는 문턱 전압까지 프로그램되었는 지의 여부가 검증된다. 정해진 횟수 내에서 메모리 셀들이 모두 프로그램될 때까지 상술한 프로그램 루프들이 반복적으로 수행된다. 잘 알려진 바와 같이, 프로그램 검증 동작은 읽혀진 데이터가 외부로 출력되지 않는다는 점을 제외하면 읽기 동작과 동일하다.
메모리 셀들이 원하는 문턱 전압까지 프로그램되었는 지의 여부를 판별하는 검증 방식으로는 와이어드 오어 방식(wired-OR type) 및 열 스캔 방식(column scan type) (이하, Y-스캔 방식이라 칭함)이 있다. 열 스캔 방식을 채용한 예시적인 메모리 장치가 U.S. Patent No. 6,282,121에 "FLASH MEMORY DEVICE WITH PROGRAM STATUS DETECTION CIRCUITRY AND THE METHOD THEREOF"라는 제목으로 게재되어 있다.
일반적인 플래시 메모리 장치(10)는 열 선택 회로(미도시됨) 및 패스페일 체크 회로(미 도시됨)를 더 포함한다. 프로그램 동작 후, Y-스캔 방식에 의해 프로그램 상태를 검증할 경우, 열 선택 회로는 열 어드레스에 응답하여 페이지 버퍼 회로(60)의 페이지 버퍼들을 소정 단위로 선택한다. 선택된 페이지 버퍼들의 데이터 비트들은 열 선택 회로를 통해 패스페일 체크 회로에 전달된다. 패스페일 체크 회로는 입력된 데이터 비트들이 모두 프로그램 데이터 값을 갖는 지의 여부를 판별한 다. 셀들이 정상적으로 프로그램된 경우, 데이터 비트들은 프로그램 데이터 값을 가지며, 프로그램 패스(pass) 되었다고 한다. 이러한 경우, 열 어드레스는 카운트 업(열 어드레스 1만큼 증가) 되고, 카운트 업 된 열 어드레스는 열 선택 회로에 제공된다. 열 어드레스에 의해 다음 데이터 값들이 선택될 것이다.
정상적으로 프로그램되지 않은 셀이 있는 경우, 그 셀의 데이터 비트는 프로그램 데이터 값을 갖지 않으며, 프로그램 페일(fail) 되었다고 한다. 이러한 경우, 플래시 메모리 장치는 Y-스캔 동작을 종료하고, 열 어드레스를 저장한 후, ISSP 방식에 의해 프로그램 전압을 소정의 레벨만큼 높여서 다시 프로그램 동작을 수행한다. 프로그램 동작 후, 플래시 메모리 장치는 저장된 열 어드레스부터 다시 Y-스캔 동작을 수행한다. 이러한 프로그램 검증 동작은 페일 셀이 정상적으로 프로그램될 때까지 반복적으로 수행되며, 선택된 페이지의 모든 메모리 셀들이 선택될 때까지, 즉, 마지막 열 어드레스가 생성될 때까지 행해진다.
도 2는 증가형 스텝 펄스 프로그램(ISPP) 방식에 따라 프로그램되는 일반적인 플래시 메모리 장치의 셀들의 문턱 전압 산포도의 변화를 보여주는 도면이다.
도 2를 참조하면, 일반적인 플래시 메모리 장치는 읽기 전압(Read voltage)을 기준으로 소거 상태(Erased state)인 셀의 문턱 전압(threshold voltage)을 검증전압(Verify voltage) 이상으로 올리기 위해 ISPP 방식에 따라 프로그램 동작(Program operation)을 수행한다. ISPP 방식을 사용할 경우, 셀의 문턱 전압 산포는 정상적으로 프로그램된 셀의 산포도로 모아진다. 프로그램 검증 동작에서 프로그램 대상이 된 모든 셀들이 정상적으로 프로그램된 경우, 플래시 메모리 장치는 검증 동작을 마치고 프로그램을 종료한다. 정상적으로 프로그램된 셀들의 산포도(Programmed)는 도 2에 도시된 바와 같이, 검증 전압(Verify voltage) 이상이다.
그러나, 프로그램 동작시 검증 전압(Verify voltage) 이상으로 올라가지 못하는 소수의 셀들이 발생할 수 있다. 이러한 소수의 셀들은 정상적으로 프로그램되지 않은 셀들이며, 슬로우 셀(slow cell) 또는 페일 비트 셀이라 한다. 도 2에 도시된 바와 같이, 슬로우 셀(이하, 페일 비트 셀이라 칭함)의 문턱 전압 산포(slow)는 검증 전압(Verify voltage)보다 낮다.
Y-스캔 방식을 이용하여 검증 동작을 수행할 경우, 페일 비트 셀이 발생하면, 플래시 메모리 장치는 Y-스캔 동작을 종료하고, 열 어드레스를 저장한 후, ISSP 방식에 의해 프로그램 전압을 소정의 레벨만큼 높여서 다시 프로그램 동작을 수행한다. 프로그램 동작 후, 플래시 메모리 장치는 저장된 열 어드레스부터 다시 Y-스캔 동작을 수행한다. 이러한 동작을 통해 플래시 메모리 장치는 페일 비트 셀의 문턱 전압을 높인다. 이러한 동작은 페일 비트 셀이 정상적으로 프로그램될 때까지 반복적으로 수행되며, 동작이 반복될 때마다 프로그램 전압은 단계적으로 상승 된다. 그 결과, 프로그램 루프의 횟수가 증가 되므로, 플래시 메모리 장치의 프로그램 시간은 길어진다. 또한, 정상적으로 프로그램된 셀들은 반복적으로 수행되는 프로그램 루프에 의해, 불필요한 프로그램 전압을 인가받게 되므로, 스트레스를 받는다. 이러한 스트레스로 인해 정상적으로 프로그램된 셀들의 문턱전압 산포폭은, 도 2에 도시된 바와 같이, 화살표 방향으로 변화할 수 있다. 이러한 경우, 프로그램된 셀의 신뢰도는 떨어지게 된다.
결과적으로, 플래시 메모리 장치는 소수의 페일 비트 셀들을 정상적으로 프로그램시키기 위해 프로그램 루프를 반복적으로 수행하게 되므로, 프로그램 성능이 저하된다.
따라서, 본 발명의 목적은 프로그램 성능을 향상시킬 수 있는 플래시 메모리 장치 및 그것의 프로그램 방법을 제공하는데 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 특징에 의하면, 플래시 메모리 장치는 행들 및 열들로 배열된 메모리 셀들을 갖는 메모리 셀 어레이; 열 스캔 동작시 열 어드레스에 의해 선택된 데이터 비트들이 모두 프로그램 데이터 값을 갖는지를 검증하는 패스페일 체크 회로; 및 상기 선택된 데이터 비트들 중 페일 데이터 비트들을 검출하고, 상기 패스페일 체크 회로의 검증 결과에 응답하여 상기 열 어드레스를 저장하는 제어로직을 포함하고, 상기 제어 로직은 상기 페일 데이터 비트들의 갯수를 기준값과 비교하고, 상기 비교 결과에 따라서 상기 열 어드레스의 발생을 제어한다.
이 실시 예에 있어서, 상기 제어로직의 제어에 의해 열 어드레스를 발생하는 어드레스 발생 회로를 더 포함하고, 상기 어드레스 발생회로는 발생된 열 어드레스를 상기 제어로직에 제공한다.
이 실시 예에 있어서, 프로그램 동작시 상기 데이터들은 증가형 스텝 펄스 프로그래밍 방식에 따라서 메모리 셀 어레이에 프로그램된다.
이 실시 예에 있어서, 다음 프로그램 루프의 프로그램 동작은 상기 열 스캔 동작시 함께 시작된다.
이 실시 예에 있어서, 상기 제어로직은 상기 열 어드레스에 의해 선택된 데이터 비트들 중 상기 페일 데이터 비트들을 검출하고, 상기 검출된 페일 데이터 비트들의 수를 카운트하는 페일 데이터비트 검출회로; 상기 패스페일 체크 회로의 검증 결과 및 상기 페일 데이터비트 검출회로로부터 제공된 상기 페일 데이터 비트들의 갯수에 응답하여 상기 어드레스 발생 회로를 제어하는 프로그램 컨트롤러; 및 상기 프로그램 컨트롤러의 제어에 의해 상기 어드레스 발생 회로로부터 제공된 상기 열 어드레스를 저장하는 어드레스 저장 회로를 포함한다.
이 실시 예에 있어서, 상기 패스페일 체크 회로는 상기 선택된 데이터 비트들이 모두 프로그램 패스된 데이터인 경우 검증 결과로서 패스 신호를 출력한다.
이 실시 예에 있어서, 상기 메모리 컨트롤러는 상기 패스 신호에 응답하여 상기 열 어드레스를 카운트 업 하도록 상기 어드레스 발생 회로를 제어한다.
이 실시 예에 있어서, 상기 패스페일 체크 회로는 상기 선택된 데이터 비트들 중 프로그램 페일된 데이터가 검출될 때 검증결과로서 페일 신호를 출력한다.
이 실시 예에 있어서, 상기 프로그램 컨트롤러는 열 스캔 동작중, 상기 패스페일 체크 회로로부터 처음으로 페일 신호를 입력받을 경우, 상기 페일 신호에 응답해서 상기 어드레스 발생 회로로부터 제공받은 열 어드레스를 저장하도록 상기 어드레스 저장회로를 제어한다.
이 실시 예에 있어서, 상기 프로그램 컨트롤러는 상기 페일 데이터 비트들의 갯수가 상기 소정의 기준값 이하일 경우, 상기 열 어드레스를 카운트 업 하도록 상기 어드레스 발생 회로를 제어한다.
이 실시 예에 있어서, 상기 페일 데이터 비트들의 갯수가 상기 기준 값보다 클 경우, 상기 열 스캔 동작은 중지된다.
이 실시 예에 있어서, 상기 프로그램 컨트롤러는 상기 페일 데이터 비트들의 갯수가 상기 기준 값보다 클 경우, 상기 페일 데이터 비트 수를 초기화하도록 상기 페일 데이터비트 검출회로를 제어한다.
이 실시 예에 있어서, 상기 어드레스 저장 회로는 상기 페일 데이터 비트들의 갯수가 상기 기준 값보다 클 경우, 저장된 열 어드레스를 상기 어드레스 발생 회로에 제공한다.
이 실시 예에 있어서, 상기 다음 루프의 프로그램 동작 후, 상기 어드레스 발생 회로는 상기 제공받은 열 어드레스부터 열 어드레스를 발생한다.
이 실시 예에 있어서, 상기 기준 값은 상기 플래시 메모리 장치를 제어하는 플래시 메모리 컨트롤러에 포함된 에러 정정 회로에서 정정할 수 있는 에러 비트 수로 정해진다.
이 실시 예에 있어서, 상기 기준값은 미리 셀들의 테스트를 통해서 정해질 수 있으며, 상기 테스트를 통해 정해지는 기준값은 상기 에러 정정 회로에서 정정할 수 있는 에러 비트 수 이하로 정해진다.
본 발명의 다른 특징에 따른 행들 및 열들로 배열된 메모리 셀들을 갖는 메모리 셀 어레이를 포함하는 플래시 메모리 장치의 프로그램 방법은: (a) 프로그램 동작을 수행하는 단계; (b) 열 어드레스에 응답하여 상기 프로그램된 데이터들을 소정 단위로 선택하는 단계; (c) 상기 선택된 데이터 비트들이 모두 프로그램 데이터 값을 갖는지를 검증하는 단계; 그리고 (d) 상기 선택된 데이터 비트들 중 페일 데이터 비트들의 갯수와 기준값을 비교하고, 상기 비교 결과 또는 상기 검증 결과에 따라서 상기 열 어드레스의 발생을 제어하는 단계를 포함한다.
이 실시 예에 있어서, 상기 (b), (c), (d) 단계는 열 스캔 동작을 구성한다.
이 실시 예에 있어서, 다음 루프의 프로그램 동작은 상기 열 스캔 동작과 함께 시작된다.
이 실시 예에 있어서, 상기 (d) 단계는 상기 선택된 데이터 비트들이 모두 프로그램 데이터 값을 갖을 경우 상기 열 어드레스가 카운트 업 된다.
이 실시 예에 있어서, 상기 (d) 단계는 상기 검증 결과가 처음으로 페일 상태를 나타낼 경우, 상기 열 어드레스를 저장하는 단계를 더 포함한다.
이 실시 예에 있어서, 상기 (d) 단계는 상기 페일 데이터 비트들의 갯수가 상기 기준값 이하일 경우, 상기 열 어드레스가 카운트 업 된다.
이 실시 예에 있어서, 상기 (d) 단계는 상기 페일 데이터 비트들의 갯수가 상기 기준 값보다 클 경우, 상기 열 스캔 동작이 중지되고, 상기 저장된 열 어드레스부터 열 어드레스가 생성된다.
이 실시 예에 있어서, 상기 (d) 단계는 상기 페일 데이터 비트들의 갯수가 상기 기준 값보다 클 경우, 상기 페일 데이터 비트 수를 초기화하는 단계를 더 포함한다.
이 실시 예에 있어서, 상기 기준값은 상기 플래시 메모리 장치를 제어하는 플래시 메모리 컨트롤러에 포함된 에러 정정 회로에서 정정할 수 있는 에러 비트 수로 정해진다.
이 실시 예에 있어서, 상기 기준값은 미리 셀들의 테스트를 통해서 정해질 수 있으며, 상기 테스트를 통해 정해지는 기준값은 상기 에러 정정 회로에서 정정할 수 있는 에러 비트 수 이하로 정해진다.
(실시예)
이하, 첨부된 도면을 참조하여 본 발명의 실시 예에 대하여 상세히 설명한다.
본 발명의 플래시 메모리 장치는 행들 및 열들로 배열된 메모리 셀들을 갖는 메모리 셀 어레이, 열 스캔 동작시 열 어드레스에 의해 선택된 데이터 비트들이 모두 프로그램 데이터 값을 갖는지를 검증하는 패스페일 체크 회로, 및 상기 선택된 데이터 비트들 중 페일 데이터 비트들을 검출하고, 상기 패스페일 체크 회로의 검증 결과에 응답하여 상기 열 어드레스를 저장하는 제어로직을 포함한다. 상기 제어 로직은 상기 페일 데이터 비트들의 갯수를 기준값과 비교하고, 상기 비교 결과에 따라서 상기 열 어드레스의 발생을 제어한다. 이러한 구성에 의해, 본 발명에 따른 플래시 메모리 장치는 소수의 페일 비트 셀들이 발생했을 경우, 소수의 페일 비트 셀들을 정상적으로 프로그램시키기 위해 프로그램 루프를 반복적으로 수행하지 않는다. 따라서, 플래시 메모리 장치의 프로그램 시간은 단축되며, 정상적으로 프로그램된 셀들이 받는 스트레스는 줄어든다. 그 결과 플래시 메모리 장치는 프로그램 성능을 향상시킬 수 있다.
도 3은 본 발명의 실시예에 따른 플래시 메모리 장치의 블록도이다.
도 3을 참조하면, 본 발명의 실시예에 따른 플래시 메모리 장치(100)는 메모리 셀 어레이(110), 행 선택 회로 (120), 페이지 버퍼 회로(130), 열 선택 회로(140), 패스페일 체크 회로(150), 어드레스 발생 회로(160), 및 제어 로직(170)을 포함한다. 제어로직(170)은 프로그램 컨트롤러(171), 페일 데이터비트 검출회로(172), 및 어드레스 저장 회로(173)를 포함한다. 메모리 셀 어레이(110), 행 선택 회로(120), 그리고 페이지 버퍼 회로(130)는 도 1에 도시된 것과 동일하므로, 그것에 대한 설명은 생략한다.
열 선택 회로(140)는 어드레스 발생 회로(160)로부터 제공된 열 어드레스(Y-addr)에 응답하여 페이지 버퍼 회로(130)의 페이지 버퍼들을 소정 단위로 선택한다. 프로그램 검증 동작시, 선택된 페이지 버퍼들의 데이터 비트들은 열 선택 회로(140)를 통해 패스페일 체크 회로(150) 및 제어로직(170)으로 전달된다.
패스페일 체크 회로(150)는 입력된 데이터 비트들이 모두 프로그램 데이터 값을 갖는 지의 여부를 판별(verify)하고, 판별 결과를 제어로직(170)에 제공한다.
제어로직(170)은 입력된 데이터 비트들 중 페일 데이터 비트들의 갯수를 검출하고, 페일 데이터 비트들의 갯수 및 패스페일 체크 회로(150)로부터 제공받은 판별 결과에 응답하여 프로그램 및 프로그램 검증 동작을 제어한다.
제어로직(170)의 프로그램 컨트롤러(171)는 패스페일 체크 회로(150)의 판별 결과를 제공받고, 제공받은 판별 결과에 응답하여 어드레스 발생 회로(160)로부터 제공받은 열 어드레스(Y-addr)를 저장하도록 어드레스 저장 회로(173)를 제어한다.
제어로직(170)의 페일 데이터비트 검출회로(172)는 열 선택 회로(140)를 통해 제공받은 데이터 비트들 중 페일 데이터비트들의 갯수를 검출하고, 검출된 페일 데이터비트들의 갯수를 프로그램 컨트롤러(171)로 제공한다. 프로그램 컨트롤러(171)는 페일 데이터비트 검출회로(172)로부터 제공받은 페일 데이터비트들의 갯수를 내부에 저장된 기준 값과 비교한다. 프로그램 컨트롤러(171)는 비교 결과에 따라서 어드레스 발생 회로(160) 및 어드레스 저장회로(173)를 제어한다.
어드레스 발생 회로(160)는 제어로직(170)의 제어에 의해 열 어드레스(Y-addr)를 순차적으로 발생하거나 유지(hold)한다. 발생된 열 어드레스(Y-addr)는 열 선택 회로(140) 및 어드레스 저장 회로(173)에 제공된다.
이러한 구성에 의해, 플래시 메모리 장치(100)는 소수의 페일 비트 셀들이 발생했을 경우, 소수의 페일 비트 셀들을 정상적으로 프로그램시키기 위해 ISPP 방식에 따른 프로그램 루프를 반복적으로 수행하지 않는다. 따라서, 플래시 메모리 장치(100)의 프로그램 시간은 단축되며, 정상적으로 프로그램된 셀들이 받는 스트레스는 줄어든다. 그 결과 플래시 메모리 장치(100)의 프로그램 성능은 향상된다.
도 4는 본 발명의 실시 예에 따른 플래시 메모리 장치의 프로그램 및 프로그램 검증 동작을 설명하기 위한 순서도이다.
도 3 및 도 4를 참조하여, 플래시 메모리 장치(100)의 프로그램 동작 및 Y-스캔 방식에 따른 프로그램 검증 동작(이하, Y-스캔 동작이라 칭함)을 설명하면 다음과 같다.
플래시 메모리 장치(100)는 ISPP방식에 따라서 프로그램 동작(S100)을 수행한다. 단계(S110)에서, 이전 Y-스캔 동작의 결과가 패스 상태이면, 프로그램은 성공한 것(S180)이나, 페일 상태이면, 검증 읽기 동작(S120)이 수행된다. Y-스캔 동작의 초기값은 페일 상태로 설정된다. 따라서, 최초 프로그램 동작시에는 Y-스캔 동작이 수행되지 않은 상태이므로, 초기값(페일 상태)에 따라서 플래시 메모리 장치(100)는 검증 읽기 동작(S120)을 수행한다.
검증 읽기 동작시(S120), 페이지 버퍼(130)는 메모리 셀들에 저장된 데이터 비트들을 감지한다. 플래시 메모리 장치(100)는 검증 읽기 동작(S120) 후, 프로그램 루프를 증가시키고(S130), Y-스캔 동작을 수행한다. 따라서, 다음 루프의 프로그램 동작의 수행은 Y-스캔 동작과 함께 수행된다. 이러한 플래시 메모리 장치(100)의 동작은 이하 상세히 설명될 것이다.
어드레스 발생 회로(160)에서 생성된 열 어드레스(Y-addr)는 열 선택 회로(140) 및 어드레스 저장 회로(173)에 제공된다. 어드레스 저장 회로(173)에 제공된 열 어드레스(Y-addr)는 열 어드레스(Y-addr)에 의해 선택된 데이터 비트들의 검증 결과에 따라서 저장된다(이하, 상세히 설명됨).
Y-스캔 동작시, 열 선택 회로(140)는 열 어드레스(Y-addr)에 응답하여 페이지 버퍼 회로(130)의 페이지 버퍼들을 소정의 단위로 선택한다(S140). 단계(S140)에서 열 선택 회로(140)에 의해 선택된 페이지 버퍼들의 데이터 비트들은 열 선택 회로(140)를 통해 패스페일 체크 회로(150) 및 제어로직(170)의 페일 데이터비트 검출회로(172)에 제공된다.
단계(S150)에서, 패스페일 체크 회로(150)는 선택된 데이터 비트들에 대한 검증 동작을 수행한다. 패스페일 체크 회로(150)는 입력된 데이터 비트들이 모두 프로그램 데이터 값을 갖을 경우, 패스 신호(pass)를 출력한다. 프로그램 데이터 값을 갖는 데이터들은 프로그램 패스된 데이터라 한다. 그러나, 패스페일 체크 회로(150)는 입력된 데이터 비트들 중 프로그램 데이터 값을 갖지 않는 데이터 비트를 검출할 경우, 페일 신호(fail)를 출력한다. 프로그램 데이터 값을 갖지 않는 데이터들은 프로그램 페일된 데이터라 한다. 패스 신호(pass)가 출력될 경우, 선택된 셀들은 정상적으로 프로그램된 상태이며, 페일 신호(fail)가 출력될 경우, 정상적으로 프로그램되지 않은 셀이 있다.
제어로직(170)의 페일 데이터비트 검출회로(172)는 열 선택 회로(140)를 통해 제공받은 데이터 비트들 중 페일 데이터비트들을 검출한다. 또한, 페일 데이터비트 검출회로(172)는 페일 데이터비트들의 갯수를 카운트하고, 카운트된 페일 데이터비트들의 갯수를 프로그램 컨트롤러(171)로 제공한다.
패스페일 체크 회로(150)에서 패스 신호(pass)를 출력할 경우, 페일 데이터비트는 검출되지 않는다. 패스페일 체크 회로(150)에서 페일 신호(fail)를 출력할 경우, 페일 데이터비트 검출회로(172)는 페일 데이터비트들의 갯수를 검출하게 된다.
단계(S150)에서 검증 결과가 패스 상태일 경우, 단계(S160)에서 열 어드레스는 카운트 업 되고, 단계(S170)에서 카운트 업 된 열 어드레스가 마지막 열 어드레스 인지 여부가 판별된다. 마지막 열 어드레스가 아니면, 프로그램 및 프로그램 검 증 동작은 단계(S140)으로 진행한다. 단계(S140)에서는 앞서 설명한 바와 같이 카운트 업 된 열 어드레스에 대응하는 데이터 비트들이 선택된다.
패스페일 체크 회로(150)의 검증 결과가 패스 상태일 경우, 제어로직(170)의 프로그램 컨트롤러(171)는 페스페일 체크 회로(150)로부터 패스 신호(pass)를 입력받는다. 프로그램 컨트롤러(171)는 입력받은 패스 신호(pass)에 응답해서 어드레스 발생 회로(160)로부터 제공된 열 어드레스(Y-addr)를 저장하지 않도록 어드레스 저장 회로(173)를 제어한다. 또한, 프로그램 컨트롤러(171)는 입력받은 패스 신호(pass)에 응답해서 어드레스 발생 회로(160)를 제어한다. 이때, 어드레스 발생 회로(160)는 프로그램 컨트롤러(171)의 제어에 의해 열 어드레스(Y-addr)를 카운트 업(열 어드레스 1만큼 증가) 한다.
단계(S170)에서 카운트 업 된 열 어드레스가 마지막 열 어드레스가 아니면, 프로그램 및 프로그램 검증 동작은 단계(S140)으로 진행한다. 즉, 카운트 업 된 열 어드레스(Y-addr)는 열 선택 회로(140) 및 어드레스 저장 회로(173)에 제공된다. 따라서, 카운트 업된 열 어드레스(Y-addr)에 의해 다음 데이터 비트들이 선택되고, 플래시 메모리 장치(100)는 계속 Y-스캔 동작을 수행한다. 열 어드레스(Y-addr)는 마지막 열 어드레스까지 카운트 업 된다. 어드레스 저장 회로(173)에 제공된 카운트 업된 열 어드레스(Y-addr)는 앞서 설명한 바와 같이, 카운트 업 된 열 어드레스(Y-addr)에 의해 선택된 데이터 비트들의 검증 결과에 따라서 저장된다.
패스페일 체크 회로(150)의 검증 결과가 페일 상태일 경우, 제어로직(170)의 프로그램 컨트롤러(171)는 패스페일 체크 회로(150)로부터 페일 신호(fail)를 입력 받는다. 프로그램 컨트롤러(171)는 입력받은 페일 신호(fail)가 Y-스캔 동작중 처음으로 입력받은 페일 신호일 경우, 어드레스 발생 회로(160)로부터 제공된 열 어드레스(Y-addr)를 저장하도록 어드레스 저장 회로(173)를 제어한다(S190). 프로그램 컨트롤러(171)는 패스페일 체크 회로(150)로부터 입력받은 페일 신호(fail)가 처음으로 입력받은 페일 신호(fail)가 아닐 경우, 어드레스 발생 회로(160)로부터 제공된 열 어드레스(Y-addr)를 저장하지 않도록 어드레스 저장 회로(173)를 제어한다.
패스페일 체크 회로(150)의 검증 결과가 페일 상태일 경우, 단계(S200)에서는 프로그램 루프 횟수가 최대 프로그램 루프 횟수에 도달하였는지의 여부를 판별한다. ISPP 방식에 의해 복수의 프로그램 루프들 중 마지막 루프까지 프로그램 동작을 수행하였으나, 페일 셀이 정상적으로 프로그램되지 않은 경우, 페일 셀은 더이상 프로그램되지 못한다. 따라서, 프로그램 루프 횟수가 최대 프로그램 루프 횟수에 도달하였을 경우, 프로그램은 실패(또는, 페일)(S210)되고, 프로그램 및 프로그램 검증 동작은 종료한다. 프로그램 루프 횟수가 최대 프로그램 루프 횟수에 도달하지 않았을 경우, 프로그램 및 프로그램 검증 동작은 단계(220)으로 진행한다.
단계(220)에서 프로그램 컨트롤러(171)는 페일 데이터비트 검출회로(172)로부터 제공받은 페일 데이터 비트들의 갯수를 내부에 저장된 기준값(Ref)과 비교한다.
이하, 기준 값(Ref)은 3으로 설정하고, Y-스캔 동작을 설명한다. 그러나, 기준 값은 다른 값으로 설정될 수도 있다.
페일 데이터 비트 수가 기준값(Ref) 이하이면, 프로그램 및 프로그램 검증 동작은 단계(170)으로 진행한다. 즉, 프로그램 컨트롤러(171)는 입력받은 페일 비트들의 갯수가 기준값(Ref) 이하일 경우, 열 어드레스(Y-addr)를 카운트 업 하도록 어드레스 발생 회로(160)를 제어한다.
어드레스 발생 회로(160)는 카운트 업 된 열 어드레스(Y-addr)를 열 선택 회로(140) 및 어드레스 저장 회로(173)에 제공한다. 따라서, 카운트 업된 열 어드레스에 의해 소정의 다음 데이터 비트들이 선택되고(S140), 플래시 메모리 장치(100)는 계속 Y-스캔 동작을 수행한다.
예를 들어 기준값(Ref)은 3이고, 프로그램 컨트롤러(171)는 Y-스캔 동작중 처음으로 페일 신호(fail)를 입력받았으며, 페일 데이터비트 검출회로(172)는 2개의 페일 비트들을 검출하였다. 어드레스 저장 회로(173)는 프로그램 컨트롤러(171)의 제어에 의해 어드레스 발생 회로(160)로부터 제공받은 열 어드레스(Y-addr)를 저장한다.
이때, 프로그램 컨트롤러(171)는 기준값(Ref)과 페일 데이터비트 검출회로(172)로부터 입력받은 페일 데이터 비트들의 갯수를 비교한다. 페일 데이터 비트들의 갯 수는 기준값 이하이므로, 앞서 설명한 바와 같이 프로그램 컨트롤러(171)는 열 어드레스를 카운트 업 하도록 어드레스 발생 회로(160)를 제어한다. 열 어드레스(Y-addr)의 증가에 따라서, 다음 소정의 데이터 비트들이 선택되고, 선택된 데이터 비트들이 검증될 때마다, 페일 데이터비트 검출회로(172)는 페일 데이터 비트 수를 검출한다.
프로그램 컨트롤러(171)는 페일 데이터비트 검출회로(172)로부터 입력받은 페일 데이터비트 수가 3개일 때까지 앞서 설명한 바와 같이 어드레스 발생 회로(160)를 제어한다. 따라서, 플래시 메모리 장치(100)는 소수의 페일 데이터 비트 셀들(예를들어, 3개의 페일 비트)이 발생했을 경우, 소수의 페일 데이터 비트 셀들을 정상적으로 프로그램시키기 위해 프로그램 루프를 반복적으로 수행할 필요가 없다.
페일 데이터비트 검출회로(172)에서 검출한 페일 데이터 비트의 수가 4개일 경우, 페일 데이터 비트 수는 소정의 기준 값보다 크다. 이러한 경우, Y-스캔 동작은 중지된다(S230). 따라서, 프로그램 컨트롤러(171)는 열 어드레스를 카운트 업 하지 않도록 어드레스 발생 회로 (160)를 제어한다. 또한, 어드레스 저장 회로(173)는 프로그램 컨트롤러(171)의 제어에 의해 처음 페일 신호(fail)를 입력받았을 때 저장한 열 어드레스(Y-addr)를 어드레스 발생 회로(160)에 제공한다. 즉, 처음 페일 데이터 비트가 발생한 열 어드레스는 어드레스 발생 회로(160)에 제공된다. 이때, 페일 데이터비트 검출회로(172)는 프로그램 컨트롤러(171)의 제어에 의해 4개로 카운트된 페일 데이터 비트 수를 초기화한다. 이때, 앞서 설명된 단계(S100) 및 단계(S130)을 참조하면, 플래시 메모리 장치(100)는 다음 루프의 프로그램 동작을 이미 수행하였다. 또한, Y-스캔 동작의 결과가 페일 상태이므로, 전술한 바와 같이, 플래시 메모리 장치(100)는 검증 읽기 동작(S120) 후, 프로그램 루프를 증가시키고(S130), Y-스캔 동작을 다시 수행한다.
어드레스 발생 회로(160)는 입력받은 열 어드레스(Y-addr)부터 다시 열 어드 레스를 생성하므로, 열 어드레스(Y-addr)를 열 선택회로(140) 및 어드레스 저장 회로(173)에 제공한다. 따라서, Y-스캔 동작은 처음 페일 데이터 비트가 발생한 열 어드레스(Y-addr)부터 다시 시작된다. 이후, Y-스캔 방식에 따른 Y-스캔 동작은 앞서 설명한 바와 같다. 즉, 페일 데이터 비트 수는 다시 검출되고, 처음 페일 신호(fail)를 입력받았을 때의 열 어드레스(Y-addr)가 저장된다. 또한, 페일 데이터비트 수와 기준값(Ref)이 비교되고, 비교 결과에 따라서 프로그램 및 Y-스캔 동작이 제어된다.
결과적으로, 플래시 메모리 장치(100)는 소수의 페일 비트 셀들의 갯수가 기준값(Ref) 이하일 경우, 최초 페일 비트가 나타난 열 어드레스를 저장하고, 패스 상태와 동일하게 Y-스캔 동작을 수행한다. 따라서, 플래시 메모리 장치(100)는 소수의 페일 비트 셀을 정상적으로 프로그램시키기 위해 ISPP 방식에 따른 프로그램 루프를 반복적으로 수행할 필요가 없다. 그러므로, 플래시 메모리 장치(100)의 프로그램 시간은 단축되며, 정상적으로 프로그램된 셀들이 받는 스트레스는 줄어든다. 그 결과 플래시 메모리 장치(100)의 프로그램 성능은 향상된다.
프로그램 컨트롤러(171)는 플래시 메모리 장치(100)의 전반적인 동작을 제어하는 플래시 메모리 컨트롤러(도 3에 미 도시됨)의 에러 정정 회로(error correction circuit)(또는 에러 정정 코드)(도 3에 미 도시됨)로부터 기준값(Ref)을 제공받는다. 프로그램 컨트롤러(171)는 제공받은 기준값(Ref)을 내부에 저장한다. 기준값(Ref)은 테스트에 의해 정해질 수도 있다.(이하, 상세히 설명함) 테스트에 의해 정해진 기준값(Ref)은 프로그램 컨트롤러(171) 내부에 미리 저장된다.
에러 정정 회로는 읽기 동작시, 읽혀진 데이터 비트 중 페일된 데이터 비트(또는, 에러 비트)들을 검출하고, 검출된 페일 데이터 비트들을 정정하는 역할을 한다. 이때 에러 정정 회로에서 검출할 수 있는 에러 비트 수 및 정정할 수 있는 에러 비트 수는 정해져 있다. 기준 값(Ref)은 에러 정정 회로에서 정정할 수 있는 에러 비트 수이다.
기준값(Ref)은 미리 셀들의 테스트를 통해서 정해질 수도 있다. 이때, 정해지는 기준값은 에러 정정 회로에서 정정할 수 있는 에러 비트 수를 넘지 않는다. 예를 들면, 에러 정정 회로에서 3개의 에러 비트를 정정할 수 있으며, 테스트에 의해 2 개의 에러 비트가 발생할 경우, 기준값(Ref)은 2로 한다. 그러나, 테스트에 의해 5개의 에러비트가 발생할 경우, 기준값(Ref)은 3으로 한다.
플래시 메모리 장치(100)는 단계(S100) 내지 단계(130)을 참조하면, 앞서 설명한 Y-스캔 동작에 의해 발생할 수 있는 시간 손실을 보상하기 위해 Y-스캔 동작과 ISPP에 따른 다음 루프의 프로그램 동작을 동시에 수행한다.(이하 상세히 설명함)
도 5는 본 발명의 실시예에 따른 열-스캔 동작의 흐름을 보여주는 도면이다.
도 5를 참조하면, 본 발명의 실시예에 플래시 메모리 장치(100)는 프로그램 동작(Program Loop 1)후 Y-스캔 동작을 시작한다. Y-스캔 동작(0th Y-scan)은 어드레스 발생 회로(160)에서 생성된 첫 번째 열 어드레스(CA0)에 의해 선택된 데이터 비트들에 대해 수행된다. 도 5에 도시된 바와 같이, Y-스캔 동작(0th Y-scan)에 의해 데이터 비트들은 프로그램 데이터 값을 갖는 패스(Pass) 상태로 검증되었다. 따 라서, 앞서 설명한 바와 같이 카운트 업 된 열어드레스(CA1)에 의해 다음 데이터 비트들이 선택된다. 선택된 데이터 비트들은 다시 Y-스캔 동작(1th Y-scan)에 의해 검증된다. 도 4에 도시된 바와 같이, Y-스캔 동작(1th Y-scan)에 의해 페일 데이터 비트들(fail1, fail2)가 검출되었으므로, 패스페일 체크 회로(150)는 페일 신호(fail)를 출력한다. 이때, 출력되는 페일 신호(fail)는 프로그램 동작(Program Loop 1)에 대한 열 스캔 동작중 첫 번째로 발생 된 페일 신호이다. 따라서, 첫 번째 페일 비트가 검출된 열 어드레스(CA1)는 프로그램 컨트롤러(171)의 제어에 의해 어드레스 발생 회로(173)에 저장된다.
페일 데이터비트 검출회로(172)는 검출된 페일 데이터 비트들의 갯수를 프로그램 컨트롤러(171)에 제공한다. 기준값(Ref)은 앞서 설명한 바와 같이 3개로 가정한다.
페일 데이터 비트들의 갯수는 소정의 기준값(Ref) 이하이다. 따라서, 앞서 설명한 바와 같이 열 어드레스(CA1)는 카운트 업 된다. 카운트 업된 열 어드레스(CA2)에 의해 선택된 데이터 비트들은 다시 Y-스캔 동작(2th Y-scan)에 의해 검증된다. 이때, 도 4에 도시된 바와 같이, Y-스캔 동작(2th Y-scan)에 의해 페일 데이터 비트(fail3, fail4)가 검출되었으므로, 패스페일 체크 회로(150)는 페일 신호(fail)를 출력한다. 이때, 출력되는 페일 신호(fail)는 프로그램 동작(Program Loop 1)에 대한 열 스캔 동작 중 첫 번째로 발생된 페일 신호가 아니므로, 열 어드레스(CA2)는 어드레스 저장 회로(173)에 저장되지 않는다. 페일 데이터비트 검출회로(172)는 2 개의 페일 데이터 비트를 검출하게 되므로, 검출된 페일 데이터 비트 들의 갯수를 4개로 카운트한다. 4개로 카운트된 페일 데이터 비트 수는 프로그램 컨트롤러(171)에 제공된다. 페일 데이터 비트 수는 소정의 기준 값보다 크다.
따라서, 앞서 설명한 바와 같이, Y-스캔 동작은 중지되고, 어드레스 저장 회로(173)에 저장된 열 어드레스(CA1)는 프로그램 컨트롤러(171)의 제어에 의해 어드레스 발생 회로(160)에 제공된다. 이때, 페일 데이터비트 검출회로(172)는 프로그램 컨트롤러(171)의 제어에 의해 4개로 카운트된 페일 데이터 비트 수를 초기화한다. 종래의 플래시 메모리 장치의 프로그램 동작에 따르면, Y-스캔 동작이 중지된 후, ISSP 방식에 의해 소정의 레벨만큼 높여진 프로그램 전압에 의해 다시 프로그램 동작(Program Loop2)이 수행된다. 어드레스 발생 회로(160)는 입력받은 열 어드레스(CA1)부터 열 어드레스를 다시 생성하므로, 열 어드레스(CA1)를 열 선택회로(140) 및 어드레스 저장 회로(173)에 제공한다. 따라서, 프로그램 동작(Program Loop2)에 대한 Y-스캔 동작(Y-scan restart)은 처음 페일 데이터 비트가 발생한 열 어드레스(CA1)부터 다시 시작된다. 이후, Y-스캔 동작은 앞서 설명하였으므로 생략한다.
이때, 열 어드레스(CA2)까지 수행된 Y-스캔 동작(2th Y-scan)은 열 어드레스(CA1)부터 다시 수행되므로, 플래시 메모리 장치(100)의 프로그램동작 시간이 길어진다. 즉, 시간 손실(time loss)이 발생 된다.
도 6 및 도 7은 도 5에 도시된 열-스캔 실시에 따른 시간손실을 보상하기 위한 본 발명의 실시예에 따른 프로그램 및 열-스캔 동작의 흐름을 보여주는 도면이다.
도 6을 참조하면, 본 발명의 실시예에 따른 플래시 메모리 장치(100)는 ISPP 방식에 의해 프로그램 동작(Program Loop 1 ~ Program Loop (n+1))을 수행하고, 프로그램 검증을 위해 검증 읽기 동작(Verify read)을 수행한다. 검증 읽기 동작(Verify read)은 프로그램된 데이터들을 페이지 버퍼들에 감지하는 동작이다. 검증 읽기 동작에 의해 페이지 버퍼들에 감지된 데이터 비트들은 Y-스캔 동작에 의해 검증된다. 이때, 도 6에 도시된 바와 같이, 열 스캔 동작과 다음 스텝의 프로그램동작은 동시에 수행된다.
예를들어, 첫 번째 루프의 프로그램 동작(Program Loop 1) 및 검증읽기 동작(Verify read)후, Y-스캔 동작(Y-scan1)이 수행된다. 앞서 설명된 도 4의 단계(S110) 내지 단계(S130)를 참조하면, Y-스캔 동작의 초기값은 페일 상태로 설정된다. 따라서, Y-스캔 동작(Y-scan1)시 두 번째 루프의 프로그램 동작(Program Loop 2)도 함께 수행된다.
Y-스캔 동작(Y-scan1)에 의해 검증 결과는 페일 상태이고, 검출된 페일 데이터 비트 수가 기준 값(Ref)보다 크면, Y-스캔 동작(Y-scan1)은 중지된다. 이후 첫 번째 페일 데이터 비트가 발생한 열 어드레스부터 다시 Y-스캔 동작(Y-scan2)이 수행된다.
본 발명에 따른 플래시 메모리 장치(100)는 종래의 플래시 메모리 장치 처럼, Y-스캔 동작(Y-scan1) 후 다음 루프의 프로그램 동작(Program Loop 2)을 수행하지 않고, 다음 루프의 프로그램 동작(Program Loop 2)을 Y-스캔 동작(Y-scan1)이 시작될 때 동시에 시작한다. 따라서, Y-스캔 동작(Y-scan2)은 좀 더 빨리 시작될 수 있다. 결과적으로, 플래시 메모리 장치(100)는 앞서 도 5에서 설명된 시간 손실(time loss)을 줄일 수 있다.
Y-스캔 동작에 의해 검증된 모든 데이터 비트들이 패스된 상태(Pass)이거나, 페일 데이터 비트 수가 기준값 이하일 경우, 다음 루프의 프로그램 동작(Program Loop(N+1))이 종료된 시점(Program termination))에서 프로그램은 종료된다. 이러한 경우, 프로그램은 성공된 것이다.
도 7을 참조하면, 최대 루프(Max Loop)까지 프로그램 동작을 수행한 후, Y-스캔 동작을 수행할 경우, 더 이상 프로그램 전압을 소정의 레벨만큼 증가시켜 수행할 수 있는 프로그램 루프의 프로그램 동작은 없다. 이러한 경우, 프로그램 루프는 더 이상 증가하지 않고, 최대 루프(Max Loop)의 프로그램 동작 후, Y-스캔 동작(Y-scan)만 수행된다.
이때, Y-스캔 동작에 의해 검증 결과가 페일 상태일 경우, 더 이상 수행할 수 있는 프로그램 루프의 프로그램 동작이 없다. 따라서, 검출된 페일 비트 수와 기준 값의 비교 결과에 상관없이, 프로그램은 종료된다. 이러한 경우, 프로그램은 실패된 것이다.
도 8은 본 발명의 실시예에 따른 플래시 메모리 장치를 포함하는 플래시 메모리 시스템을 개략적으로 보여주는 블록도 이다.
도 8을 참조하면, 본 발명의 실시예에 따른 플래시 메모리 장치(100)를 포함하는 플래시 메모리 시스템(1000)은 플래시 메모리 장치(100) 및 플래시 메모리 장치(100)를 제어하기 위한 플래시 메모리 컨트롤러(200)를 포함한다. 플래시 메모리 컨트롤러(200)는 에러 정정 회로(ECC)(Error Correction Circuit)(201)를 포함한다. 에러 정정 회로(201)의 기능은 앞서 설명하였으므로 생략한다.
플래시 메모리 장치(100)는 프로그램 검증 동작에 의해 프로그램된 데이터들을 검증한다. 이때 페일 데이터 비트 수가 기준 값(Ref) 이하일 경우, 프로그램은 성공된 상태로 종료된다.
읽기 동작시 플래시 메모리 장치(100)에 프로그램된 데이터들은 플래시 메모리 컨트롤러(200)를 통해 외부의 호스트(2000)로 제공된다. 이때, 플래시 메모리 컨트롤러(200)의 에러 정정 회로(201)는 플래시 메모리 장치(100)로부터 제공된 데이터들 중 에러 상태인 에러 비트들(예를들어, 페일 데이터 비트들)을 정정한다. 플래시 메모리 장치(100)로부터 제공된 데이터들 중 페일 데이터 비트 수는 기준값(Ref) 이하이다. 또한, 기준값(Ref)은 에러 정정 회로(201)에서 정정할 수 있는 에러 비트 수이다. 따라서, 플래시 메모리 장치(100)로부터 제공된 데이터들 중 페일 비트 데이터들은 에러 정정 회로(201)에서 충분히 정정할 수 있는 갯수이다. 그러므로, 기준값(Ref)은 에러 정정 회로(201)에서 정정할 수 있는 에러 비트수를 기준으로 설정한다.
호스트(2000) 및 앞서 설명한 플래시 메모리 시스템(1000)을 포함한 구성은 컴퓨팅 시스템(Computing system)이라 한다.
결과적으로, 본 발명에 따른 플래시 메모리 장치(100)는 소수의 페일 비트 셀들이 발생했을 경우, 소수의 페일 비트 셀들을 정상적으로 프로그램시키기 위해 프로그램 루프를 반복적으로 수행하지 않는다. 따라서, 플래시 메모리 장치(100)의 프로그램 시간은 단축되며, 정상적으로 프로그램된 셀들이 받는 스트레스는 줄어든다. 그 결과 플래시 메모리 장치(100)는 프로그램 성능을 향상시킬 수 있다.
이상에서와 같이 도면과 명세서에서 최적의 실시 예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
이상과 같은 본 발명에 의하면, 플래시 메모리 장치는 프로그램 성능을 향상시킬 수 있다.

Claims (28)

  1. 행들 및 열들로 배열된 메모리 셀들을 갖는 메모리 셀 어레이;
    열 스캔 동작시 열 어드레스에 의해 선택된 데이터 비트들이 모두 프로그램 데이터 값을 갖는지를 검증하는 패스페일 체크 회로; 및
    상기 선택된 데이터 비트들 중 페일 데이터 비트들을 검출하고, 상기 패스페일 체크 회로의 검증 결과에 응답하여 상기 열 어드레스를 저장하는 제어로직을 포함하고,
    상기 제어 로직은 상기 페일 데이터 비트들의 갯수를 기준값과 비교하고, 상기 비교 결과에 따라서 상기 열 어드레스의 발생을 제어하는 플래시 메모리 장치.
  2. 청구항 2은(는) 설정등록료 납부시 포기되었습니다.
    제 1 항에 있어서,
    상기 제어로직의 제어에 의해 열 어드레스를 발생하는 어드레스 발생 회로를 더 포함하고, 상기 어드레스 발생회로는 발생된 열 어드레스를 상기 제어로직에 제공하는 플래시 메모리 장치.
  3. 청구항 3은(는) 설정등록료 납부시 포기되었습니다.
    제 1 항에 있어서,
    프로그램 동작시 상기 프로그램 데이터들은 증가형 스텝 펄스 프로그래밍 방식에 따라서 메모리 셀 어레이에 프로그램되는 플래시 메모리 장치.
  4. 청구항 4은(는) 설정등록료 납부시 포기되었습니다.
    다음 프로그램 루프의 프로그램 동작은 상기 열 스캔 동작시 함께 시작되는 플래시 메모리 장치.
  5. 제 1 항에 있어서,
    상기 제어로직은
    상기 열 어드레스에 의해 선택된 데이터 비트들 중 상기 페일 데이터 비트들을 검출하고, 상기 검출된 페일 데이터 비트들의 수를 카운트하는 페일 데이터비트 검출회로;
    상기 패스페일 체크 회로의 검증 결과 및 상기 페일 데이터비트 검출회로로부터 제공된 상기 페일 데이터 비트들의 갯수에 응답하여 어드레스 발생 회로를 제어하는 프로그램 컨트롤러; 및
    상기 프로그램 컨트롤러의 제어에 의해 상기 어드레스 발생 회로로부터 제공된 상기 열 어드레스를 저장하는 어드레스 저장 회로를 포함하는 플래시 메모리 장치.
  6. 제 5 항에 있어서,
    상기 패스페일 체크 회로는 상기 선택된 데이터 비트들이 모두 프로그램 패스된 데이터인 경우 검증 결과로서 패스 신호를 출력하는 플래시 메모리 장치.
  7. 제 6 항에 있어서,
    상기 프로그램 컨트롤러는 상기 패스 신호에 응답하여 상기 열 어드레스를 카운트 업 하도록 상기 어드레스 발생 회로를 제어하는 플래시 메모리 장치.
  8. 제 5 항에 있어서,
    상기 패스페일 체크 회로는 상기 선택된 데이터 비트들 중 프로그램 페일된 데이터가 검출될 때 검증결과로서 페일 신호를 출력하는 플래시 메모리 장치.
  9. 제 8 항에 있어서,
    상기 프로그램 컨트롤러는 열 스캔 동작중, 상기 패스페일 체크 회로로부터 처음으로 페일 신호를 입력받을 경우, 상기 페일 신호에 응답해서 상기 어드레스 발생 회로로부터 제공받은 열 어드레스를 저장하도록 상기 어드레스 저장회로를 제어하는 플래시 메모리 장치.
  10. 제 5 항에 있어서,
    상기 프로그램 컨트롤러는 상기 페일 데이터 비트들의 갯수가 상기 소정의 기준값 이하일 경우, 상기 열 어드레스를 카운트 업 하도록 상기 어드레스 발생 회로를 제어하는 플래시 메모리 장치.
  11. 제 5 항에 있어서,
    상기 페일 데이터 비트들의 갯수가 상기 기준 값보다 클 경우, 상기 열 스캔 동작은 중지되는 플래시 메모리 장치.
  12. 제 11 항에 있어서,
    상기 프로그램 컨트롤러는 상기 페일 데이터 비트들의 갯수가 상기 기준 값보다 클 경우, 상기 페일 데이터 비트 수를 초기화하도록 상기 페일 데이터비트 검출회로를 제어하는 플래시 메모리 장치.
  13. 제 11 항에 있어서,
    상기 어드레스 저장 회로는 상기 페일 데이터 비트들의 갯수가 상기 기준 값보다 클 경우, 저장된 열 어드레스를 상기 어드레스 발생 회로에 제공하는 플래시 메모리 장치.
  14. 제 13 항에 있어서,
    다음 루프의 프로그램 동작 후, 상기 어드레스 발생 회로는 상기 제공받은 열 어드레스부터 열 어드레스를 발생하는 플래시 메모리 장치.
  15. 제 1 항에 있어서,
    상기 기준 값은 상기 플래시 메모리 장치를 제어하는 플래시 메모리 컨트롤러에 포함된 에러 정정 회로에서 정정할 수 있는 에러 비트 수로 정해지는 플래시 메모리 장치.
  16. 청구항 16은(는) 설정등록료 납부시 포기되었습니다.
    제 15 항에 있어서,
    상기 기준값은 미리 셀들의 테스트를 통해서 정해질 수 있으며, 상기 테스트를 통해 정해지는 기준값은 상기 에러 정정 회로에서 정정할 수 있는 에러 비트 수 이하로 정해지는 플래시 메모리 장치.
  17. 행들 및 열들로 배열된 메모리 셀들을 갖는 메모리 셀 어레이를 포함하는 플래시 메모리 장치의 프로그램 방법에 있어서:
    (a) 프로그램 동작을 수행하는 단계;
    (b) 열 어드레스에 응답하여 프로그램된 데이터들을 소정 단위로 선택하는 단계;
    (c) 상기 선택된 데이터 비트들이 모두 프로그램 데이터 값을 갖는지를 검증하는 단계; 그리고
    (d) 상기 선택된 데이터 비트들 중 페일 데이터 비트들의 갯수와 기준값을 비교하고, 상기 비교 결과 또는 상기 검증 결과에 따라서 상기 열 어드레스의 발생을 제어하는 단계를 포함하는 플래시 메모리 장치의 프로그램 방법.
  18. 청구항 18은(는) 설정등록료 납부시 포기되었습니다.
    제 17 항에 있어서,
    상기 (b), (c), (d) 단계는 열 스캔 동작을 구성하는 플래시 메모리 장치의 프로그램 방법.
  19. 청구항 19은(는) 설정등록료 납부시 포기되었습니다.
    제 18 항에 있어서,
    다음 루프의 프로그램 동작은 상기 열 스캔 동작과 함께 시작되는 플래시 메모리 장치의 프로그램 방법.
  20. 청구항 20은(는) 설정등록료 납부시 포기되었습니다.
    제 17 항에 있어서,
    상기 (d) 단계는 상기 선택된 데이터 비트들이 모두 프로그램 데이터 값을 갖을 경우 상기 열 어드레스가 카운트 업 되는 플래시 메모리 장치의 프로그램 방법.
  21. 청구항 21은(는) 설정등록료 납부시 포기되었습니다.
    제 17 항에 있어서,
    상기 (d) 단계는 상기 검증 결과가 처음으로 페일 상태를 나타낼 경우, 상기 열 어드레스를 저장하는 단계를 더 포함하는 플래시 메모리 장치의 프로그램 방법.
  22. 청구항 22은(는) 설정등록료 납부시 포기되었습니다.
    제 17 항에 있어서,
    상기 (d) 단계는 상기 페일 데이터 비트들의 갯수가 상기 기준값 이하일 경우, 상기 열 어드레스가 카운트 업 되는 플래시 메모리 장치의 프로그램 방법.
  23. 청구항 23은(는) 설정등록료 납부시 포기되었습니다.
    제 21 항에 있어서,
  24. 청구항 24은(는) 설정등록료 납부시 포기되었습니다.
    제 23 항에 있어서,
    상기 (d) 단계는 상기 페일 데이터 비트들의 갯수가 상기 기준 값보다 클 경우, 상기 페일 데이터 비트 수를 초기화하는 단계를 더 포함하는 플래시 메모리 장치의 프로그램 방법.
  25. 청구항 25은(는) 설정등록료 납부시 포기되었습니다.
    제 17 항에 있어서,
    상기 기준값은 상기 플래시 메모리 장치를 제어하는 플래시 메모리 컨트롤러에 포함된 에러 정정 회로에서 정정할 수 있는 에러 비트 수로 정해지는 플래시 메모리 장치의 프로그램 방법.
  26. 청구항 26은(는) 설정등록료 납부시 포기되었습니다.
    제 25 항에 있어서,
    상기 기준값은 미리 셀들의 테스트를 통해서 정해질 수 있으며, 상기 테스트를 통해 정해지는 기준값은 상기 에러 정정 회로에서 정정할 수 있는 에러 비트 수 이하로 정해지는 플래시 메모리 장치의 프로그램 방법.
  27. 플래시 메모리 시스템에 있어서:
    플래시 메모리 장치;및
    상기 플래시 메모리 장치를 제어하는 플래시 메모리 컨트롤러를 포함하고,
    상기 플래시 메모리 컨트롤러는 읽기 동작시 에러 비트를 정정하는 에러 정정 회로를 포함하고,
    상기 플래시 메모리 시스템은 상기 청구항 1에 기재된 플래시 메모리 장치를 포함하는 것을 특징으로 하는 플래시 메모리 시스템.
  28. 컴퓨팅 시스템에 있어서:
    호스트; 및
    읽기 동작시 데이터를 상기 호스트로 제공하는 플래시 메모리 시스템을 포함하고,
    상기 컴퓨팅 시스템은 상기 청구항 27에 기재된 플래시 메모리 시스템을 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
KR1020070050960A 2007-05-25 2007-05-25 프로그램 성능을 향상시킬 수 있는 플래시 메모리 장치 및그것의 프로그램 방법 KR100884234B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070050960A KR100884234B1 (ko) 2007-05-25 2007-05-25 프로그램 성능을 향상시킬 수 있는 플래시 메모리 장치 및그것의 프로그램 방법
US12/126,080 US7746703B2 (en) 2007-05-25 2008-05-23 Flash memory device and method of programming flash memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070050960A KR100884234B1 (ko) 2007-05-25 2007-05-25 프로그램 성능을 향상시킬 수 있는 플래시 메모리 장치 및그것의 프로그램 방법

Publications (2)

Publication Number Publication Date
KR20080103783A KR20080103783A (ko) 2008-11-28
KR100884234B1 true KR100884234B1 (ko) 2009-02-18

Family

ID=40160227

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070050960A KR100884234B1 (ko) 2007-05-25 2007-05-25 프로그램 성능을 향상시킬 수 있는 플래시 메모리 장치 및그것의 프로그램 방법

Country Status (2)

Country Link
US (1) US7746703B2 (ko)
KR (1) KR100884234B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8411502B2 (en) 2010-02-11 2013-04-02 Samsung Electronics Co., Ltd. Flash memory device using adaptive program verification scheme and related method of operation

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ITMI20071012A1 (it) 2007-05-18 2008-11-19 St Microelectronics Srl Dispositivo di memoria migliorato a veloce programmazione
KR101518199B1 (ko) * 2008-05-23 2015-05-06 삼성전자주식회사 오류 정정 장치, 그 방법 및 상기 장치를 포함하는 메모리장치
JP2010176761A (ja) * 2009-01-30 2010-08-12 Toshiba Corp 半導体記憶装置
KR101617641B1 (ko) 2009-08-27 2016-05-03 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템, 및 그것의 프로그램 방법
KR101201582B1 (ko) 2010-09-06 2012-11-14 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
US9007832B2 (en) * 2011-03-03 2015-04-14 Micron Technology, Inc. Methods for programming a memory device and memory devices
US11437094B2 (en) 2015-08-13 2022-09-06 Samsung Electronics Co., Ltd. Nonvolatile memory device, storage device, and operation method of storage device
KR102291456B1 (ko) 2015-08-13 2021-08-23 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법 및 프로그램 검증 방법
KR102372889B1 (ko) 2015-10-23 2022-03-10 삼성전자주식회사 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치를 포함하는 메모리 시스템
KR102377469B1 (ko) 2015-11-02 2022-03-23 삼성전자주식회사 불휘발성 메모리 장치, 불휘발성 메모리 장치를 포함하는 스토리지 장치 및 불휘발성 메모리 장치의 동작 방법
CN111383697B (zh) * 2018-12-30 2022-09-06 北京兆易创新科技股份有限公司 用于部分页编程的位扫描方法,部分页编程方法及非易失性存储器
CN114582402A (zh) * 2022-02-28 2022-06-03 东芯半导体股份有限公司 非易失性存储器及其编程方法、计算机系统
KR102610253B1 (ko) * 2022-11-23 2023-12-06 넷솔 주식회사 데이터 복구 방법 및 데이터 복구를 수행하는 비휘발성 메모리

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010029546A (ko) * 1999-09-06 2001-04-06 윤종용 프로그램 상태 검출 회로를 갖는 플래시 메모리 장치 및그것의 프로그램 방법
KR20020043378A (ko) * 2000-12-04 2002-06-10 윤종용 페일 비트 검출 스킴을 구비한 불휘발성 반도체 메모리장치 및 그것의 페일 비트 카운트 방법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960000616B1 (ko) * 1993-01-13 1996-01-10 삼성전자주식회사 불휘발성 반도체 메모리 장치
KR0142368B1 (ko) * 1994-09-09 1998-07-15 김광호 불휘발성 반도체 메모리장치의 자동프로그램 회로
KR0169412B1 (ko) * 1995-10-16 1999-02-01 김광호 불휘발성 반도체 메모리 장치
JP2005018983A (ja) 1996-12-03 2005-01-20 Sony Corp 半導体不揮発性記憶装置およびメモリシステム
JP2000040382A (ja) * 1998-07-23 2000-02-08 Sony Corp 不揮発性半導体記憶装置およびそのデータ書き込み方法
DE10043397B4 (de) * 1999-09-06 2007-02-08 Samsung Electronics Co., Ltd., Suwon Flash-Speicherbauelement mit Programmierungszustandsfeststellungsschaltung und das Verfahren dafür
KR100385226B1 (ko) 2000-11-22 2003-05-27 삼성전자주식회사 프로그램 디스터브를 방지할 수 있는 플래시 메모리 장치및 그것을 프로그램하는 방법
JP2005353242A (ja) 2004-06-14 2005-12-22 Toshiba Corp 不揮発性半導体記憶装置及びそのデータ書き込み方法
JP2006048783A (ja) 2004-08-02 2006-02-16 Renesas Technology Corp 不揮発性メモリおよびメモリカード
KR100590219B1 (ko) 2004-12-01 2006-06-19 삼성전자주식회사 프로그램 시간을 줄일 수 있는 불 휘발성 메모리 장치
US7403424B2 (en) * 2005-03-31 2008-07-22 Sandisk Corporation Erasing non-volatile memory using individual verification and additional erasing of subsets of memory cells
KR100655430B1 (ko) * 2005-11-17 2006-12-08 삼성전자주식회사 플래시 메모리 장치 및 그것의 워드 라인 인에이블 방법
KR100706816B1 (ko) * 2006-03-10 2007-04-12 삼성전자주식회사 프로그램 속도를 향상시킬 수 있는 불휘발성 메모리 장치및 그것의 프로그램 방법
US7738296B2 (en) * 2007-12-13 2010-06-15 Macronix International Co., Ltd. Method for reading nonvolatile memory at power-on stage

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010029546A (ko) * 1999-09-06 2001-04-06 윤종용 프로그램 상태 검출 회로를 갖는 플래시 메모리 장치 및그것의 프로그램 방법
KR20020043378A (ko) * 2000-12-04 2002-06-10 윤종용 페일 비트 검출 스킴을 구비한 불휘발성 반도체 메모리장치 및 그것의 페일 비트 카운트 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8411502B2 (en) 2010-02-11 2013-04-02 Samsung Electronics Co., Ltd. Flash memory device using adaptive program verification scheme and related method of operation

Also Published As

Publication number Publication date
US7746703B2 (en) 2010-06-29
KR20080103783A (ko) 2008-11-28
US20090003064A1 (en) 2009-01-01

Similar Documents

Publication Publication Date Title
KR100884234B1 (ko) 프로그램 성능을 향상시킬 수 있는 플래시 메모리 장치 및그것의 프로그램 방법
US8526239B2 (en) Semiconductor memory device and method of operating the same
US9087608B2 (en) Method of programming non-volatile memory device and non-volatile memory device using the same
US7616499B2 (en) Retention margin program verification
KR100706816B1 (ko) 프로그램 속도를 향상시킬 수 있는 불휘발성 메모리 장치및 그것의 프로그램 방법
TWI391944B (zh) 非揮發性儲存裝置及用於程式化非揮發性儲存器之方法
TWI496152B (zh) 非揮發性半導體記憶裝置及其寫入方法
KR100890017B1 (ko) 프로그램 디스터브를 감소시킬 수 있는 플래시 메모리 장치및 그것의 프로그램 방법
JP4931404B2 (ja) 不揮発性メモリ装置
US10854250B2 (en) Memory device including a circuit for detecting word line defect and operating method thereof
US8929148B2 (en) Semiconductor memory device having improved erase characteristic of memory cells and erase method thereof
KR101184814B1 (ko) 불휘발성 메모리 장치 및 이의 프로그램 방법
JP2008525941A (ja) 不揮発性メモリ消去オペレーションにおけるワード・ライン補正
KR20130072668A (ko) 반도체 메모리 장치 및 그의 동작 방법
US7652918B2 (en) Retention margin program verification
CN110580929A (zh) 非易失性存储器装置及非易失性存储器装置的擦除方法
US7362612B2 (en) Program method for flash memory capable of compensating for the reduction of read margin between states
JP5784788B2 (ja) 不揮発性半導体記憶装置とその書き込み方法
US8000154B2 (en) Non-volatile memory device and method of controlling a bulk voltage thereof

Legal Events

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

Payment date: 20130131

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140129

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150202

Year of fee payment: 7