KR20100107291A - 불휘발성 메모리 장치 및 그것의 프로그램 전압 생성방법 - Google Patents

불휘발성 메모리 장치 및 그것의 프로그램 전압 생성방법 Download PDF

Info

Publication number
KR20100107291A
KR20100107291A KR1020090025506A KR20090025506A KR20100107291A KR 20100107291 A KR20100107291 A KR 20100107291A KR 1020090025506 A KR1020090025506 A KR 1020090025506A KR 20090025506 A KR20090025506 A KR 20090025506A KR 20100107291 A KR20100107291 A KR 20100107291A
Authority
KR
South Korea
Prior art keywords
program
voltage
voltages
memory cells
logic state
Prior art date
Application number
KR1020090025506A
Other languages
English (en)
Other versions
KR101517597B1 (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 KR1020090025506A priority Critical patent/KR101517597B1/ko
Priority to US12/719,184 priority patent/US8164952B2/en
Priority to CN201010150541.4A priority patent/CN101847443B/zh
Publication of KR20100107291A publication Critical patent/KR20100107291A/ko
Application granted granted Critical
Publication of KR101517597B1 publication Critical patent/KR101517597B1/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
    • 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
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • 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/10Programming or data input circuits
    • G11C16/12Programming voltage switching 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/30Power supply 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure

Abstract

본 발명은 프로그램 전압들 및 검증 전압들을 제어하는 제어 로직을 포함하는 불휘발성 메모리 장치에 관한 것이다. 본 발명에 따른 불휘발성 메모리 장치는 현재 프로그램 루프에서 특정 상태에 대응하는 메모리 셀들의 프로그램 동작이 완료된 경우에, 다음 프로그램 루프에서는 해당 메모리 셀들에 대응하는 프로그램 전압을 생성하지 않는다.

Description

불휘발성 메모리 장치 및 그것의 프로그램 전압 생성방법{NONVOLATILE MEMORY DEVIE AND GENERATING PROGRAM VOLTAGE THEREOF}
본 발명은 불휘발성 메모리 장치에 관한 것으로, 더욱 상세하게는 프로그램 전압을 제어하는 제어 로직을 포함하는 불휘발성 메모리 장치에 관한 것이다.
반도체 메모리 장치에는 DRAM, SRAM 등과 같은 휘발성 메모리와 EEPROM, FRAM, PRAM, MRAM, Flash Memory 등과 같은 비휘발성 메모리 등이 있다. 휘발성 메모리는 전원이 차단될 때 저장된 데이터를 잃지만, 비휘발성 메모리는 전원이 차단되더라도 저장된 데이터를 보존한다.
최근 들어 비휘발성 메모리를 사용하는 장치들이 증가하고 있다. 예를 들면 MP3 플레이어, 디지털 카메라, 휴대전화, 캠코더, 플래시 카드 및 SSD(Solid State Disk) 등은 저장장치로 비휘발성 메모리를 사용하고 있다.
저장장치로 비휘발성 메모리를 사용하는 장치들이 증가하면서, 비휘발성 메모리의 용량도 급속히 증가하고 있다. 메모리 용량을 증가시키는 방법들 중 하나는 하나의 메모리 셀(cell)에 다수의 비트들을 저장하는 방식인 이른바 멀티 레벨 셀(MLC:Multi Level Cell) 방식이다.
그러나, 멀티 레벨 셀(MLC) 방식을 적용한 프로그램 방법은 인접한 메모리 셀들 사이에 프로그램 디스터브(Program Disturb)가 일어날 가능성이 크다. 더욱이, 특정 상태에 대응하는 메모리 셀들의 프로그램 동작이 완료된 후에도, 계속해서 해당 프로그램 전압이 선택 워드 라인에 인가된다면, 프로그램 시간이 증가한다.
본 발명은 상술한 기술적 과제를 해결하기 위해 제안된 것으로, 본 발명의 목적은 프로그램 디스터브를 감소하면서 프로그램 시간을 절약하는 불휘발성 메모리 장치를 제공하는 데 있다.
본 발명의 실시 예에 따른 불휘발성 메모리 장치는 복수의 메모리 셀을 포함하는 메모리 셀 어레이 ,상기 복수의 메모리 셀을 프로그램하기 위한 전압을 발생하는 전압 발생기, 및 하나의 프로그램 루프 동안에 상기 복수의 메모리 셀에 하나 또는 그 이상의 프로그램 전압을 제공하도록 상기 전압 발생기를 제어하는 제어 로직을 포함하되, 상기 제어 로직은 현재 프로그램 루프 동안에 특정 상태에 대응하는 메모리 셀들이 프로그램 패스된 경우, 상기 특정 상태에 대응하는 프로그램 전압이 다음 프로그램 루프 동안에는 생략되도록 상기 전압 발생기를 제어한다.
실시 예로서, 상기 제어 로직은 하나의 프로그램 루프에서 하나 또는 그 이상의 프로그램 전압을 생성하도록 상기 전압 발생기를 제어하고, 상기 하나 또는 그 이상의 프로그램 전압들은 각각 다른 상태에 대응한다.
실시 예로서, 상기 제어 로직은 상기 하나의 프로그램 루프에서 하나 또는 그 이상의 프로그램 검증 전압을 더 생성하도록 상기 전압 발생기를 제어한다.
실시 예로서, 상기 제어 로직은 하나 또는 그 이상의 프로그램 전압들이 생성되고 난 후, 상기 하나 또는 그 이상의 검증 전압들이 생성되도록 한다.
실시 예로서, 상기 제어 로직은 하나의 프로그램 전압이 하나 또는 그 이상의 상태에 대응하도록 한다.
실시 예로서,상기 제어 로직은 비트 라인들에 각각 다른 전압을 바이어스 한다.
실시 예로서, 상기 불휘발성 메모리 장치는 상기 특정 상태에 대응하는 메모리 셀들이 모두 프로그램되었는 지 여부의 정보를 저장하는 영역을 더 포함한다.
실시 예로서, 상기 메모리 셀 어레이는 적어도 2 비트 이상의 데이터를 저장한다.
본 발명의 실시 예에 따른 불휘발성 메모리 장치는 특정 상태의 프로그램 전압을 스킵 하여 프로그램 디스터브(Program Disturb)를 감소시키고, 프로그램 시간을 절약한다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명 의 실시 예를 첨부된 도면을 참조하여 설명한다.
도 1은 본 발명의 실시 예에 따른 불휘발성 메모리 장치(100)를 보여주는 블록도이다. 도 1를 참조하면, 본 발명의 실시 예에 따른 불휘발성 메모리 장치(100)는 메모리 셀 어레이(110), 읽기/쓰기 회로(120), 데이터 입출력 회로(130), 어드레스 디코더(140), 전압 발생기(150) 그리고 제어 로직(160)을 포함한다.
메모리 셀 어레이(110)는 워드 라인들(WL)을 통해 어드레스 디코더(140)에 연결되고, 비트 라인들(BL)을 통해 읽기/쓰기 회로(120)에 연결된다. 메모리 셀 어레이(110)는 복수의 메모리 셀들을 포함한다. 예시적으로, 메모리 셀들의 행들은 워드 라인들(WL)에 연결되고, 메모리 셀들의 열들은 비트 라인들(BL)에 연결될 것이다. 예시적으로, 메모리 셀들은 셀 당 하나 또는 그 이상의 비트를 저장할 것이다. 메모리 셀 어레이(110)는 도 3을 참조하여 더 상세하게 설명된다.
읽기/쓰기 회로(120)는 비트 라인들(BL)을 통해 메모리 셀 어레이(110)에 연결되고, 데이터 라인들(DL)을 통해 데이터 입출력 회로(130)에 연결된다. 읽기/쓰기 회로(120)는 전압 발생기(150)로부터 비트 라인 전압(VBL)을 전달받는다. 읽기/쓰기 회로(120)는 제어 로직(160)의 제어에 응답하여 동작한다. 읽기/쓰기 회로(120)는 어드레스 디코더(140)로부터 전달되는 디코딩된 열 어드레스에 응답하여 비트 라인들(BL)을 선택한다.
예시적으로, 읽기/쓰기 회로(120)는 데이터 입출력 회로(130)로부터 전달되는 데이터를 메모리 셀 어레이(110)에 저장할 것이다. 다른 예로서, 읽기/쓰기 회 로(120)는 메모리 셀 어레이(110)로부터 읽어지는 데이터를 데이터 입출력 회로(130)에 전달할 것이다. 다른 예로서, 읽기/쓰기 회로(120)는 메모리 셀 어레이(110)의 제 1 저장 영역으로부터 읽어지는 데이터를, 메모리 셀 어레이(110)의 제 2 저장 영역에 저장할 것이다. 예를 들면, 읽기/쓰기 회로(120)는 카피-백(copy-back) 동작을 수행할 것이다.
예시적으로, 읽기/쓰기 회로(120)는 페이지 버퍼, 열 선택 회로 등과 같이 잘 알려진 구성 요소들을 포함할 것이다. 다른 예로서, 읽기/쓰기 회로(120)는 감지 증폭기, 쓰기 드라이버, 열 선택 회로 등과 같이 잘 알려진 구성 요소들을 포함할 것이다.
데이터 입출력 회로(130)는 데이터 라인들(DL)을 통해 읽기/쓰기 회로(120)에 연결된다. 데이터 입출력 회로(130)는 제어 로직(160)의 제어에 응답하여 동작한다. 데이터 입출력 회로(130)는 외부와 데이터(DATA)를 교환한다. 외부로부터 전달되는 데이터(DATA)는 데이터 라인들(DL)을 통해 읽기/쓰기 회로(120)에 전달될 것이다. 읽기/쓰기 회로(120)로부터 전달되는 데이터(DATA)는 외부로 출력될 것이다. 예시적으로, 데이터 입출력 회로(130)는 데이터 버퍼 등과 같이 잘 알려진 구성 요소를 포함할 것이다.
어드레스 디코더(140)는 워드 라인들(WL)을 통해 메모리 셀 어레이(110)에 연결된다. 어드레스 디코더(140)는 전압 발생기(150)로부터 워드 라인 전압(VWL)들을 전달받는다. 어드레스 디코더(140)는 제어 로직(160)의 제어에 응답하여 동작한 다. 어드레스 디코더(140)는 외부로부터 어드레스(ADDR)를 전달받는다.
어드레스 디코더(140)는 전달된 어드레스(ADDR) 중 행 어드레스를 디코딩하여 워드 라인들(WL)을 선택한다. 어드레스 디코더(140)는 전달된 어드레스(ADDR) 중 열 어드레스를 디코딩하여, 읽기/쓰기 회로(120)에 전달한다. 예시적으로, 어드레스 디코더(140)는 행 디코더, 열 디코더, 어드레스 버퍼 등과 같이 잘 알려진 구성 요소들을 포함할 것이다.
전압 발생기(150)는 워드 라인 전압(VWL)들을 생성하여 어드레스 디코더(140)에 전달하고, 워드 라인 전압(VWL)들은 워드 라인(WL)들을 통하여 메모리 셀 어레이(110)에 전달된다. 전압 발생기(150)는 비트 라인 전압(VBL)들을 생성하여 읽기/쓰기 회로(120)에 전달하고 비트 라인 전압(VBL)들은 비트 라인(BL)들을 통하여 메모리 셀 어레이(110)에 전달된다.
본 발명에 따른 실시 예에 있어서, 전압 발생기(150)는 복수의 프로그램 전압들 및 복수의 검증 전압들을 하나의 프로그램 루프로 하는 복수의 프로그램 루프를 생성한다. 전압 발생기(150)의 동작은 도 3 내지 도 7을 참조하여 더 상세하게 설명된다.
한편, 본 발명에 따른 실시 예에 있어서, 전압 발생기(150)는 제어 로직(169)에 포함될 수 있음이 이해될 것이다. 또한, 전압 발생기(150)는 비트 라인 전압(VBL)들을 생성하여 제어 로직(160) 또는 읽기/쓰기 회로(120)에 전달 할 수 있 음이 이해될 것이다.
제어 로직(160)은 읽기/쓰기 회로(120), 데이터 입출력 회로(130), 어드레스 디코더(140), 그리고 전압 발생기(150)에 연결된다. 제어 로직(160)은 불휘발성 메모리 장치(160)의 제반 동작을 제어한다. 제어 로직(160)은 외부로부터 전달되는 제어 신호(CTRL)에 응답하여 동작한다.
제어 로직(160)은 프로그램 제어부(161)를 포함한다. 프로그램 제어부(161)는 메모리 셀 어레이(110)에 대한 프로그램 동작을 제어하도록 구성된다. 프로그램 제어부(161)는 전압 발생기(150)에 대한 전압 생성 동작을 제어하도록 구성된다. 프로그램 제어부(161)의 동작은 도 3 내지 7을 참조하여 더 상세하게 설명된다.
제어 로직(160)은 저장 영역(162)을 포함한다. 저장 영역(162)은 메모리 셀 어레이(110)의 메모리 셀들이 프로그램되었는지 여부의 정보를 저장한다. 예시적으로, 저장 영역(162)은 복수의 레지스터들(Register1 내지 Register3)을 포함한다. 저장 영역(162)의 동작은 도 3 내지 7을 참조하여 더 상세하게 설명된다.
도 1에서, 프로그램 제어부(161)와 저장 영역(162)은 제어 로직(160)의 구성 요소인 것으로 도시되어 있다. 그러나, 프로그램 제어부(161)와 저장 영역(162)은 제어 로직(160)의 구성 요소인 것으로 한정되지 않는다. 예시적으로, 프로그램 제어부(161)와 저장 영역(162)은 제어 로직(160)과 별도의 기능 블록을 형성할 수 있음이 이해될 것이다.
예시적으로, 프로그램 제어부(161)와 저장 영역(162)은 디지털 회로, 아날로그 회로, 또는 디지털 및 아날로그 회로들이 결합된 형태의 하드 웨어로 구현될 것 이다. 다른 예로서, 프로그램 제어부(161)와 저장 영역(162)은 불휘발성 메모리 장치(100)에서 구동되는 소프트 웨어의 형태로 구현될 것이다. 다른 예로서, 프로그램 제어부(161)와 저장 영역(162)은 하드 웨어 및 소프트 웨어가 조합된 형태로 구현될 수 있음이 이해될 것이다.
도 2는 도 1의 메모리 셀 어레이(110)를 보여주는 회로도이다. 예시적으로, 메모리 셀 어레이(110)는 복수의 메모리 블록들을 포함할 것이다. 간결한 설명을 위하여, 메모리 셀 어레이(110)의 하나의 메모리 블록이 도 2에 도시되어 있다. 예시적으로, 낸드 플래시 메모리 장치의 메모리 셀 어레이의 하나의 메모리 블록이 도 2에 도시되어 있다. 그러나, 본 발명의 실시 예에 따른 불휘발성 메모리 장치(100)는 낸드 플래시 메모리 장치에 한정되지 않음이 이해될 것이다.
도 2을 참조하면, 복수의 메모리 셀이 직렬 연결되어 스트링 구조를 형성한다. 메모리 셀 어레이(110)는 메모리 셀들이 직렬 연결되어 형성되는 복수의 스트링들을 포함한다. 메모리 셀들의 스트링 및 대응하는 비트 라인 사이에 스트링 선택 트랜지스터(SST)가 연결된다. 메모리 셀들의 스트링 및 공통 소스 라인(CSL) 사이에 접지 선택 트랜지스터(GST)가 연결된다.
메모리 셀들의 행들은 워드 라인들(WL1~WLn)에 연결된다. 예시적으로, 메모리 셀들(MC1~MCm)을 포함하는 행은 워드 라인(WL2)에 연결된다. 스트링 선택 트랜지스터들(SST)은 스트링 선택 라인(SSL)에 연결된다. 접지 선택 트랜지스터들(GST)은 접지 선택 라인(GSL)에 연결된다. 워드 라인들(WL1~WLn), 접지 선택 라인(GSL), 그리고 스트링 선택 라인(SSL)은 도 1의 어드레스 디코더(140)에 연결될 것이다. 메모리 셀들의 열들은 비트 라인들(BL1~BLm)에 연결된다. 예시적으로, 메모리 셀들의 열들에 연결된 스트링 선택 트랜지스터들(SST)에 비트 라인들이 연결된다. 비트 라인들(BL1~BLm)은 도 1의 읽기/쓰기 회로(120)에 연결될 것이다.
예시적으로, 메모리 셀들(MC1~MCm)은 셀 당 2 개의 비트를 저장할 수 있는 것으로 가정하자. 이때, 메모리 셀들(MC1~MCm)에 저장되는 하위 비트들(LSB, Least significant Bits)은 하위 페이지를 형성할 것이다. 메모리 셀들(MC1~MCm)에 저장되는 상위 비트들(MSB, Most Significant Bits)은 상위 페이지를 형성할 것이다.
일반적인 하위 비트 프로그래밍(LSB Programing)에 따르면, 선택 워드 라인으로 고전압을 인가하여, 셀 들의 문턱 전압의 분포가 타깃 전압 부근까지 이동된다. 하위 비트 프로그래밍(LSB Programing)에 의하여 프로그램된 셀 들의 문턱 전압의 분포는 목표로 하는 문턱 전압의 윈도우 분포보다 확산된 형태를 갖는다.
하위 비트 프로그래밍(LSB Programing) 이후에는 상위 비트 프로그래밍(MSB Programing)이 수행된다. 일반적으로 상위 비트 프로그래밍(MSB Programing)에서는 증가형 스텝 펄스 프로그램(Incremental Step Pulse Program; 이하 ISPP) 방식이 수행된다.
본 발명에 따른 실시 예에 있어서, 워드 라인(WL 2)에 연결된 메모리 셀들(MC1~MCm)이 프로그램되는 것으로 가정한다. 구체적으로, 메모리 셀(MC1)은 논리 상태(E)를 유지하는 것으로 가정한다. 메모리 셀(MC2)는 논리 상태(P1)으로 프로그램되는 것으로 가정한다. 메모리 셀(MC3)은 논리 상태(P2)로 프로그램되는 것으로 가정한다. 메모리 셀(MC4)는 논리 상태(P3)로 프로그램되는 것으로 가정한다. 논리 상태들(E, P0 내지 P4) 및 메모리 셀들(MC1~MCm)의 프로그램 동작은 이하에서 상세히 설명된다.
도 3은 문턱 전압의 분포에 따른 메모리 셀들의 상태를 보여주는 다이어그램이다. 도 3(a)는 하위 비트 프로그램(LSB Program)이 완료된 상태를 나타내는 다이어그램이다. 도 3(b)는 상위 비트 프로그램(MSB Program) 동작 중의 상태를 나타내는 다이어그램이다. 도 3(c)는 상위 비트 프로그램(MSB Program)이 완료된 상태를 나타내는 다이어그램이다. 가로축은 메모리 셀들의 문턱 전압(Vth)을 나타내고, 세로축은 메모리 셀들의 개수를 나타낸다. Vf1, Vf2 그리고 Vf3는 검증 전압들을 나타낸다. Vr1, Vr2 그리고 Vr3는 읽기 전압을 나타낸다.도 3(a)는 하위 비트 프로그램(LSB Program)이 완료된 상태를 나타내는 다이어그램이다. 도 3(b)는 상위 비트 프로그램(MSB Program) 동작 중의 상태를 나타내는 다이어그램이다. 도 3(c)는 상위 비트 프로그램(MSB Program)이 완료된 상태를 나타내는 다이어그램이다. 가로축은 메모리 셀들의 문턱 전압(Vth)을 나타내고, 세로축은 메모리 셀들의 개수를 나타낸다. Vf1, Vf2 그리고 Vf3는 검증 전압들을 나타낸다. VR1, VR2 그리고 VR3는 읽기 전압을 나타낸다.
도 3(a)를 참조하면, 메모리 셀들은 논리 상태(E)를 유지하거나, 논리 상태(P0)로 프로그램된다. 논리 상태(E)는 소거 상태라 칭해진다.
도 3(b)를 참조하면, 예시적으로, 도 3(a)에서 논리 상태(E)에 대응하는 메모리 셀들은 논리 상태(E)를 유지하거나, 논리 상태(P1)로 프로그램되는 것으로 가정한다. 예시적으로 논리 상태(P0)에 대응하는 메모리 셀들은 논리 상태(P2) 또는 논리 상태(P3)로 프로그램되는 것으로 가정한다.
본 발명에 따른 실시 예에 있어서, 메모리 셀들이 상위 비트 프로그램(MSB Program) 완료되는 시간은 각 메모리 셀들 및 각 메모리 셀들이 대응하는 논리 상태에 따라 상이할 수 있다. 예시적으로, 도 3(b)를 참조하면, 논리 상태(P1)으로 프로그램하려는 메모리 셀들이 먼저 프로그램되는 것으로 가정한다. 이때, 논리 상태(P2) 또는 논리 상태(P3)로 프로그램하려는 메모리 셀들 중 일부는 프로그램 완료되지 않은 것(빗금으로 도시)으로 가정한다. 이 경우, 프로그램 완료되지 않은 메모리 셀들의 프로그램 동작은 이하 상세하게 설명된다.
한편, 도 3(c)는 메모리 셀들이 프로그램 완료된 상태를 나타낸다.
도 4는 본 발명에 따른 상위 비트 프로그램(MSB Program)에서의 프로그램 전압들 및 검증 전압들을 보여주는 다이어그램이다. 도 4에서, 가로 축은 시간(t)을 나타내며, 세로 축은 전압(V)의 레벨을 나타낸다.
도 2 내지 4을 참조하면, 상위 비트 프로그램(MSB Program)에서, 세 개의 프로그램 시작 전압들(Vpgm1~Vpgm3)이 프로그램 전압으로서 선택 워드 라인(WL2)에 제공된다. 그리고, 세 개의 검증 전압들(Vf1~Vf3)이 선택 워드 라인(WL2)에 제공된다. 세 개의 프로그램 전압(Vpgm1~Vpgm3) 및 세 개의 검증 전압(Vf1~Vf3)은 제 1 프로그램 루프(Program Loop 1)를 구성한다.
이 후, 프로그램 전압들(Vpgm1~Vpgm3)의 레벨이 일정한 스텝크기(△V)로 상승되고, 일정한 스텝크기(△V)로 상승된 세 개의 프로그램 전압들(Vpgm4~Vpgm6)과 세 개의 검증 전압들(Vf1~Vf3)이 선택 워드 라인(WL2)에 제공된다. 이를 제 2 프로 그램 루프(Program Loop 2)라 칭한다.
이 후에는 선행 프로그램 루프보다 일정한 스텝크기(△V)로 상승된 프로그램 전압들을 포함하는 프로그램 루프가 반복될 것이다. 즉, ISPP 프로그램이 수행될 것이다. 간결한 설명을 위하여, 이하에서는 메모리 셀들(MC1 내지 MC 4, 도 2 참고)을 기준으로 설명한다. 프로그램 전압들(Vpgm1, Vpmg4)은 논리 상태(P1)에 대응하고, 프로그램 전압들(Vpgm2, Vpmg5)은 논리 상태(P2)에 대응하고, 프로그램 전압들(Vpgm3, Vpmg6)은 논리 상태(P3)에 대응하는 것으로 가정한다.
제 1 프로그램 루프(Program Loop 1)가 진행되면, 프로그램 전압(Vpgm1)이 선택 워드 라인(WL2)에 인가될 것이다. 예시적으로, 프로그램 전압(Vpgm1)은 메모리 셀들을 논리 상태(P1)로 프로그램하기 위해 이용될 것이다.
예를 들면, 논리 상태(P1)에 대응하는 비트 라인들(BL2)에는 접지 전압(0V)이 인가되고, 그 외의 논리 상태에 대응하는 비트 라인들에는 프로그램 금지 전압(Vcc)이 인가될 것이다. 프로그램 전압(Vpgm1)이 선택 워드 라인(WL2)에 제공될 때, 메모리 셀(MC2)은 프로그램될 것이다. 그리고, 프로그램 전압(Vpgm1)이 선택 워드 라인(WL2)에 제공될 때, 메모리 셀들(MC1, MC3, MC4)은 프로그램 금지될 것이다.
프로그램 전압(Vpgm1)이 선택 워드 라인(WL2)에 인가된 후에는, 프로그램 전압(Vpgm2)이 선택 워드 라인(WL2)에 인가될 것이다. 예시적으로, 프로그램 전압(Vpgm2)은 메모리 셀들을 논리 상태(P2)로 프로그램하기 위해 이용될 것이다. 예를 들면, 논리 상태(P2)에 대응하는 비트 라인(BL3)에는 접지 전압(0V)이 인가되 고, 그 외의 논리 상태에 대응하는 비트 라인들에는 프로그램금지 전압(Vcc)이 인가될 것이다. 프로그램 전압(Vpgm2)이 선택 워드 라인(WL2)에 제공될 때, 메모리 셀(MC3)은 프로그램될 것이다. 그리고, 프로그램 전압(Vpgm2)이 선택 워드 라인(WL2)에 제공될 때, 메모리 셀들(MC1, MC2, MC4)은 프로그램 금지될 것이다.
프로그램 전압(Vpgm2)이 선택 워드 라인(WL2)에 인가된 후에는, 프로그램 전압(Vpgm3)이 선택 워드 라인(WL2)에 인가될 것이다. 예시적으로, 프로그램 전압들(Vpgm3)은 메모리 셀들을 논리 상태(P3)로 프로그램하기 위해 이용될 것이다. 예를 들면, 논리 상태(P3)에 대응하는 비트 라인(BL4)에는 접지 전압(0V)이 인가되고, 그 외의 논리 상태에 대응하는 비트 라인들에는 프로그램금지 전압(Vcc)이 인가될 것이다. 프로그램 전압(Vpgm3)이 선택 워드 라인(WL2)에 제공될 때, 메모리 셀(MC4)은 프로그램될 것이다. 그리고, 프로그램 전압(Vpgm3)이 선택 워드 라인(WL2)에 제공될 때, 메모리 셀들(MC1, MC2, MC3)은 프로그램 금지될 것이다.
프로그램 전압(Vpgm3)이 선택 워드 라인(WL2)에 인가된 후에는, 검증 전압(Vf1)이 선택 워드 라인(WL2)에 인가될 것이다. 예시적으로, 검증 전압(Vf1)은 논리 상태(P1)로 프로그램되는 메모리 셀들의 패스 여부를 판별하기 위하여 이용될 것이다. 예를 들면, 비트 라인들(BL1 내지 BL4)이 프리 차지되고, 선택 워드 라인(WL2)을 통하여 검증 전압(Vf1)이 인가될 것이다. 검증 전압(Vf1)이 선택 워드 라인(WL2)에 인가되면, 논리 상태(P1)에 대응하는 메모리 셀들이 프로그램 여부가 판별될 것이다. 예시적으로, 판별된 메모리 셀들의 정보는 읽기/쓰기 회로(120, 도 1 참조)에 저장될 것이다. 예시적으로, 읽기/쓰기 회로(120)는 페이지 버퍼를 포함한다.
검증 전압(Vf1)이 선택 워드 라인(WL2)에 인가된 후 에는, 검증 전압(Vf2)이 선택 워드 라인(WL2)에 인가될 것이다. 검증 전압(Vf2)은 논리 상태(P2)로 프로그램되는 메모리 셀들의 패스 여부를 판별하기 위하여 이용될 것이다. 예를 들면, 비트 라인들(BL1 내지 BL4)이 프리 차지되고, 선택 워드 라인(WL2)을 통하여 검증 전압(Vf2)이 인가될 것이다. 검증 전압(Vf2)이 선택 워드 라인(WL2)에 인가되면, 논리 상태(P2)에 대응하는 메모리 셀들이 프로그램 여부가 판별될 것이다. 예시적으로, 판별된 메모리 셀들의 정보는 읽기/쓰기 회로(120, 도 1 참조)에 저장될 것이다. 예시적으로, 읽기/쓰기 회로(120)는 페이지 버퍼를 포함한다.
검증 전압(Vf2)이 선택 워드 라인(WL2)에 인가된 후 에는, 검증 전압(Vf3)이 선택 워드 라인(WL2)에 인가될 것이다. 검증 전압(Vf3)은 논리 상태(P3)로 프로그램되는 메모리 셀들의 패스 여부를 판별하기 위하여 이용될 것이다. 검증 전압(Vf3)은 논리 상태(P3)로 프로그램되는 메모리 셀들의 패스 여부를 판별하기 위하여 이용될 것이다. 예를 들면, 비트 라인들(BL1 내지 BL4)이 프리 차지되고, 선택 워드 라인(WL2)을 통하여 검증 전압(Vf3)이 인가될 것이다. 검증 전압(Vf3)이 선택 워드 라인(WL2)에 인가되면, 논리 상태(P3)에 대응하는 메모리 셀들이 프로그램 여부가 판별될 것이다. 예시적으로, 판별된 메모리 셀들의 정보는 읽기/쓰기 회로(120, 도 1 참조)에 저장될 것이다. 예시적으로, 읽기/쓰기 회로(120)는 페이지 버퍼를 포함한다.
제 1 프로그램 루프(Program Loop 1)가 진행된 후에는 제 2 프로그램 루 프(Program Loop 2)가 진행될 것이다. 도 4의 상위 비트 프로그램(MSB Program) 방식에 있어서, 메모리 셀들(MC1~MCm)이 모두 프로그램 패스될 때까지, 또는 미리 설정된 수의 프로그램 루프가 수행될 때까지, 프로그램 루프가 반복될 것이다.
간결한 설명을 위하여, 예시적으로, 제 1 프로그램 루프(Program Loop 1)에 의하여 논리 상태(P1)에 대응하는 메모리 셀(MC2)이 프로그램 완료되었다고 가정한다. 논리 상태(P2)에 대응하는 메모리 셀(MC3)은 프로그램 완료되지 않았다고 가정한다. 논리 상태(P3)에 대응하는 메모리 셀(MC4)은 프로그램 완료되지 않았다고 가정한다. 미리 설정된 수의 프로그램 루프가 모두 수행되지 않았다고 가정한다.
이 경우, 논리 상태(P1)에 대응하는 메모리 셀(MC2)은 프로그램완료되었기 때문에, 해당 메모리 셀에 대응하는 비트 라인(BL2)에는 프로그램 금지 전압(Vcc)이 제공된다. 논리 상태(P2, P3)에 대응하는 메모리 셀들(MC3, MC4)은 프로그램 완료되지 않았기 때문에, 해당 메모리 셀들에 대응하는 비트 라인들(BL3,BL4)에는 접지 전압이 제공된다. 이 후, 제 2 프로그램 루프(Program Loop 2)의 전압들이 워드 라인(WL2)에 제공된다.
이 경우, 논리 상태(P1)에 대응하는 메모리 셀(M1)이 프로그램완료되었음에도 불구하고, 논리 상태(P1)에 대응하는 프로그램 전압(Vpgm4)은 정해진 수의 프로그램 루프가 수행될 때까지 선택 워드 라인(WL2)에 제공된다. 이는 선택 워드 라인(WL2)의 인접 메모리 셀들에 프로그램 디스터브(Program Disturb) 또는 커플링 현상을 야기한다. 또한, 논리 상태(P1)에 대응하는 메모리 셀(MC1)이 모두 프로그램되었기 때문에, 논리 상태(P1)에 대응하는 프로그램 전압(Vpgm4)은 프로그램 시 간의 증가를 야기한다. 더욱이, 제 2 프로그램 루프(Program Loop 2)에서 논리 상태(P2)와 논리 상태(P3)에 대응하는 메모리 셀들이 프로그램되지 않았다면, 프로그램 디스터브(Program Disturb)와 프로그램 시간은 더욱 증가할 것이다.
도 5는 본 발명에 따른 다른 실시 예에 있어서, 상위 비트 프로그램(MSB Program)에서의 프로그램 전압들 및 검증 전압들을 보여주는 다이어그램이다. 도 5에서, 가로 축은 시간(t)을 나타내며, 세로 축은 전압(V)의 레벨을 나타낸다.
도 2 및 도 5를 참조하면, 세 개의 프로그램 시작 전압들(Vpgm1~Vpgm3)이 프로그램 전압으로서 선택 워드 라인(WL2)에 제공된다. 그리고, 세 개의 검증 전압들(Vf1~Vf3)이 선택 워드 라인(WL2)에 제공된다. 세 개의 프로그램 전압 및 세 개의 검증 전압은 제 1 프로그램 루프(Program Loop 1)를 구성한다.
제 1 프로그램 루프(Program Loop 1)에서의 동작은 도 4에서 상세히 설명하였으므로, 이하 생략한다. 간결한 설명을 위하여, 이하에서는 메모리 셀들(MC1 내지 MC 4, 도 2 참고)을 기준으로 설명한다. 프로그램 전압(Vpgm1)은 논리 상태(P1)에 대응하고, 프로그램 전압들(Vpgm2, Vpmg5)은 논리 상태(P2)에 대응하고, 프로그램 전압들(Vpgm3, Vpmg6)은 논리 상태(P3)에 대응하는 것으로 가정한다.
간결한 설명을 위하여, 제 1 프로그램 루프(Program Loop 1)에서 논리 상태(P1)로 프로그램되는 메모리 셀(M2)이 패스 되었다고 가정한다. 논리 상태(P2)로 프로그램되는 메모리 셀들 중 일부(MC3포함)는 패스 되지 않았다고 가정한다. 논리 상태(P3)로 프로그램되는 메모리 셀들 중 일부(MC4포함)는 패스 되지 않았다고 가정한다. 다만, 이는 예시적인 것으로 이해되어야 할 것이다. 예시적으로, 논리 상 태(Pn, n은 1 내지 4 사이의 정수)에 대응하는 메모리 셀들은 제 M 프로그램 루프(M은 1 또는 그 이상의 정수)에서 프로그램될 수 있다.
이 경우, 도 1을 참조하면, 논리 상태(P1)에 대응하는 메모리 셀(MC2)이 패스 완료되었다는 정보가 저장 영역(162)의 제 1 레지스터(Register 1)에 저장된다. 논리 상태(P2)에 대응하는 메모리 셀들(MC3포함)이 패스 완료되지 않았다는 정보는 저장영역(162)의 제 2 레지스터(Register 2)에 저장된다. 논리 상태(P3)에 대응하는 메모리 셀들(MC4포함)이 패스 완료되지 않았다는 정보는 저장영역(162)의 제 3 레지스터(Register 3)에 저장된다. 다만, 도 1에서 설명한 바와 같이, 저장영역(162)의 구성 등은 예시적인 것으로 이해되어야 할 것이다.
저장 영역(162)에 저장된 특정 논리 상태에 대응하는 메모리 셀들이 모두 프로그램 되었다는 정보를 기초로 하여, 제어 로직(160)의 프로그램 제어부(161)는 전압 발생기(150)를 제어한다. 예시적으로, 이 경우, 프로그램 제어부(161)는 논리 상태(P1)에 대응하는 프로그램 전압(Vpgm1) 및 검증 전압(Vf1)을 생성하지 않도록 전압 발생기(150)를 제어한다.
이 경우, 프로그램 제어부(161)는 논리 상태(P2)에 대응하는 프로그램 전압(Vpgm5) 및 검증 전압(Vf2)을 생성하도록 전압 발생기(150)를 제어한다. 프로그램 전압(Vpgm5)은 프로그램 전압(Vpmg2)보다 일정한 스텝 크기(△V)만큼 증가한 전압이다. 프로그램 제어부(161)는 논리 상태(P3)에 대응하는 프로그램 전압(Vpgm6) 및 검증 전압(Vf3)을 생성하도록 전압 발생기(150)를 제어한다. 프로그램 전압(Vpgm6)은 프로그램 전압(Vpmg3)보다 일정한 스텝 크기(△V)만큼 증가한 전압이 다.
전압 발생기(150)는 프로그램 제어부(161)의 제어에 응답하여 프로그램 전압들(Vpmg5, Vpmg6)을 생성하고, 검증 전압들(Vf2, Vf3)을 생성한다. 프로그램 전압들(Vpmg5, Vpmg6) 및 검증 전압들(Vf2,Vf3)은 제 2 프로그램 루프(Program Loop 2)를 구성한다. 제 2 프로그램 루프의 전압들은 어드레스 디코더(140)에 전달되고, 어드레스 디코더(140)는 제 2 프로그램 루프의 전압들을 선택 워드 라인(WL2)에 인가한다.
이 경우, 선택 워드 라인(WL2)에는 논리 상태(P1)에 대응하는 프로그램 전압(Vpmg4, 도 3 참조) 및 검증 전압(Vf1, 도 3 참조)이 인가되지 않는다. 따라서, 프로그램 전압(Vpmg4, 도 3 참조) 또는 검증 전압(Vf1, 도 3 참조)에 의하여 야기되는 프로그램 디스터브(Program Disturb) 및 커플링 현상이 방지된다. 이는 프로그램 동작의 효율성이 증대됨을 의미한다.
또한, 제 2 프로그램 루프는 프로그램 전압(Vpgm4, 도 3 참조) 및 검증 전압(Vf2, 도 3 참조)을 포함하지 않는다. 따라서, 본 발명에 따른 프로그램 동작시간은 프로그램 전압(Vpgm4, 도 3 참조) 및 검증 전압(Vf1, 도 3 참조)에 의한 동작 시간만큼 절약된다.
한편, 상술한 프로그램 방법은 상위 비트 프로그램(MSB Program) 방식에 한정되지 않는 것으로 이해되어야 할 것이다. 예시적으로, 상술한 프로그램 방법은 논리 상태(E)로부터 논리 상태(P1), 논리 상태(P2) 그리고 논리 상태(P3)를 프로그램 하는 경우에도 적용될 수 있음이 이해될 것이다.
도 6은 도 5의 프로그램 방식을 설명하는 순서도이다.
S110 단계에서, 프로그램 전압들 및 검증 전압들이 생성된다. 프로그램 제어부(161)는 제어 신호(CTRL)에 응답하여 전압 발생기(150)를 제어하고, 전압 발생기(150)는 프로그램 제어부(161)에 응답하여 전압들을 생성한다. 예시적으로, 도 5를 참조하면, 전압 발생기는 세 개의 프로그램 전압들(Vpgm1 내지 Vpgm 3) 및 세 개의 검증 전압들(Vf1 내지 Vf3)을 생성한다.
S120 단계에서, 프로그램 동작 및 검증 동작이 수행된다. 예시적으로, 프로그램 전압들(Vpgm1 내지 Vpgm3)이 선택 워드 라인(WL2)을 통하여 메모리 셀들에 인가될 것이다. 따라서 각 논리 상태(E, P1, P2 또는 P3)에 대응하는 메모리 셀들이 프로그램될 것이다. 이는 도 4 및 도 5에서 상세히 설명하였으므로 생략한다.
이 후 전압 발생기(150)에서 생성된 검증 전압들이 선택 워드 라인에 인가된다. 예시적으로, 검증 전압들(Vf1 내지 Vf3)이 선택 워드 라인(WL2)을 통하여 메모리 셀들에 인가될 것이다. 따라서 각 논리 상태(E, P1, P2 또는 P3)에 대응하는 메모리 셀들의 프로그램 완료여부가 판별될 것이다.
S125 단계에서, 특정 논리 상태에 대응하는 메모리 셀들이 프로그램완료되었는 지 여부가 판별된다. 예시적으로, 특정 논리 상태에 대응하는 메모리 셀들이 프로그램 완료되지 않았다면, S130 단계가 진행될 것이다.
S130 단계에서, 다음 프로그램 루프가 진행된다. 예시적으로, 프로그램 제어부(161)는 선행 프로그램 루프의 프로그램 전압들보다 일정한 스텝 크기(△V)로 증가한 프로그램 전압들을 생성하도록 전압 발생기(150)를 제어한다. 전압 발생 기(150)는 프로그램 제어부(161)에 응답하여, 일정한 스텝 크기(△V)로 증가한 프로그램 전압들과 검증 전압들(Vf1 내지 Vf3)을 생성한다.(S120 단계)
한편, S125 단계에서, 특정 논리 상태(P1, P2 또는 P3)에 대응하는 메모리 셀들이 프로그램 완료되었다면, S140 단계가 진행될 것이다.
S140 단계에서, 프로그램완료된 상태의 프로그램 동작 및 검증 동작이 수행되지 않도록, 프로그램 제어부(161)는 전압 발생기를 제어한다. 예시적으로, 논리 상태(P1)에 대응하는 메모리 셀들이 프로그램 완료되었다면, 프로그램 제어부는 논리 상태(P1)에 대응하는 프로그램 전압 및 검증 전압(Vf1)을 생성하지 않도록 전압 발생기를 제어할 것이다.
한편, 각 상태에 대응하는 메모리 셀들이 모두 프로그램되지 않은 경우, 다음 프로그램 루프가 진행될 것이다.
도 7은 본 발명에 따른 다른 실시 예에 있어서, 상위 비트 프로그램(MSB Program)에서의 프로그램 전압들 및 검증 전압들을 보여주는 다이어그램이다. 가로축은 시간(t)을 나타내고, 세로축은 전압(V) 레벨을 나타낸다.
도 2 및 도 7을 참조하면, 두 개의 프로그램 전압들(Vpgm1, Vpgm2)이 선택 워드 라인(WL2)에 제공된다. 그리고, 세 개의 검증 전압들(Vf1~Vf3)이 선택 워드 라인(WL2)에 제공된다. 두 개의 프로그램 전압들 및 세 개의 검증 전압들은 제 1 프로그램 루프(Program Loop 1)를 구성한다.
예시적으로, 프로그램 전압(Vpgm1)은 메모리 셀들을 논리 상태(P1)로 프로그램하기 위해 이용될 것이다. 이는 도 5에서 상세히 설명하였으므로 자세한 설명은 생략된다.
예시적으로, 프로그램 전압(Vpgm2)은 메모리 셀들을 논리 상태(P2) 및 논리 상태(P3)로 프로그램하기 위해 이용될 것이다. 예를 들면, 논리 상태(P2)에 대응하는 비트 라인(BL3)에 프로그램 금지 전압(Vcc)보다 낮고 접지 전압(0V)보다 높은 전압(예를 들면, 약 1V)이 인가될 것이다. 또한, 논리 상태(P3)에 대응하는 비트 라인(BL4)에 접지 전압(0V)이 인가될 것이다. 논리 상태(E) 또는 논리 상태(P1)에 대응하는 비트 라인들(BL1,BL2)에는 프로그램 금지 전압이 인가될 것이다.
이 경우, 프로그램 전압(Vpgm2)이 선택 워드 라인(WL2)에 제공될 때, 논리 상태(P2)에 대응하는 메모리 셀(MC3)은 프로그램되고, 논리 상태(P3)에 대응하는 메모리 셀(MC4)은 프로그램될 것이다. 그리고, 프로그램 전압(Vpgm2)이 선택 워드 라인(WL2)에 제공될 때, 논리 상태(E) 또는 논리 상태(P1)에 대응하는 메모리 셀들을 프로그램 금지될 것이다.
예시적으로, 검증 전압(Vf1)은 논리 상태(P1)로 프로그램되는 메모리 셀들의 패스 여부를 판별하기 위하여 이용될 것이다. 검증 전압(Vf2)은 논리 상태(P2)로 프로그램되는 메모리 셀들의 패스 여부를 판별하기 위하여 이용될 것이다. 검증 전압(Vf3)은 논리 상태(P3)로 프로그램되는 메모리 셀들의 패스 여부를 판별하기 위하여 이용될 것이다.
예시적으로, 논리 상태(P1)로 프로그램되는 메모리 셀들(M2포함)이 패스 되었다고 가정한다. 논리 상태(P2)로 프로그램되는 메모리 셀들 중 일부(MC3포함)는 패스 되지 않았다고 가정한다. 논리 상태(P3)로 프로그램되는 메모리 셀들 중 일 부(MC4포함)는 패스 되지 않았다고 가정한다.
이 경우, 프로그램 제어부(161)는 논리 상태(P1)에 대응하는 프로그램 전압(Vpgm1) 및 검증 전압(Vf1)을 생성하지 않도록 전압 발생기(150)를 제어할 것이다. 이는 도 5에서 설명한 방식과 유사하므로 자세한 설명은 생략된다.
제 2 프로그램 루프(Program Loop 2)에서, 프로그램 전압(Vpgm3)이 선택 워드 라인(WL2)에 인가될 것이다. 예시적으로, 프로그램 전압들(Vpgm3)은 메모리 셀들을 논리 상태(P2) 및 논리 상태(P3)로 프로그램하기 위해 이용될 것이다. 예를 들면, 논리 상태(P2)에 대응하는 비트 라인(BL3)에는 프로그램 금지 전압(Vcc)보다 낮고 접지 전압(0V)보다 높은 전압(예를 들면, 약 1V)이 인가될 것이다. 또한, 논리 상태(P3)에 대응하는 비트 라인(BL4)에 접지 전압(0V)이 인가될 것이다. 논리 상태(E) 또는 논리 상태(P1)에 대응하는 비트 라인들(BL1,BL2)에는 프로그램 금지 전압이 인가될 것이다. 그 후 프로그램 전압(Vpgm3)이 선택 워드 라인(WL2)에 인가될 것이다.
이 후, 검증 전압들(Vf2, Vf3)이 선택 워드 라인(WL2)에 인가될 것이다. 검증 전압들이 인가되어 메모리 셀들의 데이터를 판별하는 과정은 도 5에서 설명한 방식과 유사하므로 자세한 설명은 생략된다.
도 5의 프로그램 방식과 비교하면, 도 5의 프로그램 방식은 제 1 프로그램 루프에서 세 개의 프로그램 전압들을 포함하고 제 2 프로그램 루프에서 한 개의 프로그램 전압을 포함한다. 그러나, 도 7의 프로그램 방식은 제 1 프로그램 루프에서 두 개의 프로그램 전압들을 포함하고 제 2 프로그램 루프에서 한 개의 프로그램 전 압을 포함한다. 즉, 상술한 프로그램 방식은 하나의 프로그램 전압이 두 개의 논리 상태에 대응한다. 이는 하나의 프로그램 루프에서 선택 워드 라인(WL2)에 인가되는 프로그램 전압들의 수가 감소되는 것을 의미한다.
상술한 프로그램 방식에 의하면, 선택 워드 라인(WL2)에 인가되는 프로그램 전압의 수가 감소하기 때문에, 프로그램 디스터브(Program Disturb) 및 커플링에 의한 영향이 감소한다. 또한, 프로그램 전압의 수가 감소하기 때문에, 프로그램 동작 시간이 감소한다. 이는 프로그램 동작 효율의 증대를 의미한다.
도 8은 본 발명의 다른 실시 예에 있어서, 문턱 전압의 분포에 따른 3 비트 테이터를 저장하는 메모리 셀들의 상태를 보여주는 다이어그램이다. 도 8(a)는 2 비트 데이터의 프로그램이 완료된 상태를 나타내는 다이어그램이다. 도 8(b)는 3 비트 데이터의 프로그램 동작 중의 상태를 나타내는 다이어그램이다. 도 8(c)는 3 비트 데이터의 프로그램이 완료된 상태를 나타내는 다이어그램이다. 가로축은 메모리 셀들의 문턱 전압(Vth)을 나타내고, 세로축은 메모리 셀들의 개수를 나타낸다. Vf1 내지 Vf3는 검증 전압들을 나타낸다. VR1 내지 VR7은 읽기 전압을 나타낸다.
도 8(a) 및 도 8(b)를 참조하면, 멀티 펄스 프로그램(Multi Pulse Program)에 있어서, 메모리 셀들의 3 비트 데이터의 프로그램이 완료되는 시간은 각 메모리 셀들 및 각 메모리 셀들이 대응하는 논리 상태에 따라 상이할 수 있다. 예시적으로, 논리 상태(P2)으로 프로그램하려는 메모리 셀들이 먼저 프로그램 되는 것으로 가정한다. 이때, 논리 상태(P1), 논리 상태(P3) 내지 논리 상태(P7)로 프로그램하려는 메모리 셀들 중 일부는 프로그램 완료되지 않은 것(빗금으로 도시)으로 가정 한다. 이 경우, 프로그램 완료되지 않은 메모리 셀들의 프로그램 동작은 도 9에서 설명된다.
한편, 도 3(c)는 메모리 셀들이 프로그램 완료된 상태를 나타낸다.
도 9는 본 발명에 따른 다른 실시 예에 있어서, 3 비트 데이터의 프로그래밍에서의 프로그램 전압들 및 검증 전압들을 보여주는 다이어그램이다. 도 9에서, 가로 축은 시간(t)을 나타내며, 세로 축은 전압(V)의 레벨을 나타낸다.
도 9를 참조하면, 제 1 프로그램 루프(Program Loop 1)는 프로그램 전압들(Vpgm1 내지 Vpgm7) 및 검증 전압들(Vf1 내지 Vf7)을 포함한다. 예시적으로, 프로그램 전압들(Vpgm1 내지 Vpgm7) 및 검증 전압들(Vf1 내지 Vf7)은 각각 논리 상태들(P1 내지 P7)에 대응하는 것으로 가정한다. 예를 들어, 프로그램 전압(Vpgm1) 및 검증 전압(Vf1)은 논리 상태(P1)에 대응하고, 프로그램 전압(Vpgm2) 및 검증 전압(Vf2)은 논리 상태(P2)에 대응하고, 프로그램 전압(Vpgm3) 및 검증 전압(Vf3)은 논리 상태(P3)에 대응한다.
먼저, 제 1 프로그램 루프(Program Loop 1)가 진행된다. 이는 도 4 및 도 5에서의 제 1 프로그램 루프에서의 동작과 유사한바 이하 생략한다. 간결한 설명을 위하여, 제 1프로그램 루프(Program Loop 1)에서, 논리 상태(P2)에 대응하는 메모리 셀들이 프로그램 완료되었다고 가정한다.
논리 상태(P2)에 대응하는 메모리 셀들이 프로그램 완료된 경우, 프로그램 컨트롤 로직(161, 도 1 참조)은 제 2 프로그램 루프(Program Loop 2)에서 논리 상태(P2)에 대응하는 프로그램 전압 및 검증 전압이 발생하지 않도록 전압 발생 기(150, 도 1 참조)를 제어한다. 이는 도 4 및 도 5에서 상세히 설명하였는 바 이하 생략한다.
그러므로 제 2 프로그램 루프(Program Loop 2)에서는, 프로그램 전압(Vpgm2) 및 검증 전압(Vf2)이 선택 워드 라인에 인가되지 않고 프로그램 동작 및 검증 동작이 수행된다. 따라서, 논리 상태(P2)에 대응하는 프로그램 전압에 의하여 야기되는 프로그램 디스터브(Program Disturb) 및 커플링 현상이 방지된다. 이는 프로그램 동작의 효율성이 증대됨을 의미한다. 또한, 프로그램 전압들 및 검증 전압들의 수가 감소하기 때문에, 프로그램 동작시간이 감소한다. 이는 프로그램 동작 효율의 증대를 의미한다.
도 10은 상기 본 발명을 적용한 실시 예로서, 본 발명의 프로그램 방법을 반도체 메모리 장치에 적용한 예를 보여주는 블록도이다. 반도체 메모리 장치(200)는 메모리 컨트롤러(210) 및 플래시 메모리(220)를 포함한다. 반도체 메모리 장치(200)는 메모리 카드(예를 들면 SD, MMC 등)나 착탈 가능한 이동식 저장 장치(예를 들면, USB 메모리)와 같이 휘발성 메모리 또는 불휘발성 메모리를 포함하는 저장 장치를 모두 포함한다.
도 10를 참조하면 메모리 컨트롤러(210)는 중앙처리장치(CPU, 211), 호스트인터페이스(212), 랜덤 액서스 메모리(RAM, 213), 그리고 플래시 인터페이스(214)를 포함한다.
도 11은 본 발명을 적용한 실시 예로서, 본 발명의 프로그램 방법을 사용자 장치에 적용한 예를 보여주는 블록도이다. 상용자 장치(300)는 퍼스널 컴퓨터(PC) 로 구현되거나, 노트북 컴퓨터, 휴대폰, PDA(Personal Digital Assistant), 그리고 카메라 등과 같은 휴대용 전자 장치로 구현될 수 있다.
도 11을 참조하면, 사용자 장치(300)는 버스 및 전원 라인(305), 메모리 시스템(310), 전원 장치(320), 중앙처리장치(330), 램(340), 그리고 사용자 인터페이스(350)를 포함한다. 메모리 시스템(310)은 비휘발성 메모리 장치(311) 및 컨트롤러(312)를 포함한다.
컨트롤러(312)는 호스트(Host) 및 불휘발성 메모리 장치(311)에 연결된다. 컨트롤러(312)는 불휘발성 메모리 장치(311)로부터 읽은 데이터를 호스트(Host)에 전달하고, 호스트(Host)로부터 전달되는 데이터를 불휘발성 메모리 장치(311)에 저장한다.
컨트롤러(312)는 램, 프로세싱 유닛, 호스트 인터페이스, 그리고 메모리 인터페이스와 같은 잘 알려진 구성 요소들을 포함할 것이다. 램은 프로세싱 유닛의 동작 메모리로서 이용될 것이다. 프로세싱 유닛은 컨트롤러(312)의 제반 동작을 제어할 것이다. 호스트 인터페이스는 호스트(Host) 및 컨트롤러(312) 사이의 데이터 교환을 수행하기 위한 프로토콜을 포함할 것이다. 예시적으로, 컨트롤러(312)는 USB, MMC, PCI-E, ATA(Advanced Technology Attachment), Serial-ATA, Parallel-ATA, SCSI, ESDI, 그리고 IDE(Integrated Drive Electronics) 등과 같은 다양한 인터페이스 프로토콜들 중 하나를 통해 외부(호스트)와 통신하도록 구성될 것이다. 메모리 인터페이스는 불휘발성 메모리 장치(311)와 인터페이싱할 것이다. 컨트롤러(312)는 오류 정정 블록을 추가적으로 포함할 수 있다. 오류 정정 블록은 불휘발 성 메모리 장치(311)로부터 읽어진 데이터의 오류를 검출하고, 정정할 것이다.
불휘발성 메모리 장치(311)는 데이터를 저장하기 위한 메모리 셀 어레이, 메모리 셀 어레이에 데이터를 기입 및 독출하기 위한 읽기/쓰기 회로, 외부로부터 전달되는 어드레스를 디코딩하여 읽기/쓰기 회로에 전달하는 어드레스 디코더, 불휘발성 메모리 장치(311)의 제반 동작을 제어하기 위한 제어 로직 등을 포함할 것이다.
컨트롤러(312) 및 불휘발성 메모리 장치(311)는 하나의 반도체 장치로 집적될 수 있다. 예시적으로, 컨트롤러(312) 및 불휘발성 메모리 장치(311)는 하나의 반도체 장치로 집적되어, 메모리 카드를 구성할 것이다. 예를 들면, 컨트롤러(312) 및 불휘발성 메모리 장치(311)는 하나의 반도체 장치로 집적되어 PC 카드(PCMCIA), 컴팩트 플래시 카드(CF), 스마트 미디어 카드(SM/SMC), 메모리 스틱, 멀티미디어 카드(MMC, RS-MMC, MMCmicro), SD 카드(SD, miniSD, microSD), 유니버설 플래시 기억장치(UFS) 등을 구성할 것이다.
다른 예로서, 컨트롤러(312) 및 불휘발성 메모리 장치(311)는 하나의 반도체 장치로 집적되어 반도체 디스크/드라이브(SSD, Solid State Disk/Drive)를 구성할 것이다. 메모리 시스템(310)이 반도체 디스크(SSD)로 이용되는 경우, 메모리 시스템(410)에 연결된 호스트(Host)의 동작 속도는 획기적으로 개선될 것이다.
다른 예로서, 메모리 시스템(310)은 PDA, 포터블(portable) 컴퓨터, 웹 타블렛(web tablet), 무선 전화기(wireless phone), 모바일 폰(mobile phone), 디지털 뮤직 플레이어(digital music player), 또는 정보를 무선 환경에서 송수신할 수 있 는 장치들에 적용될 것이다.
다른 예로서, 불휘발성 메모리 장치(311) 또는 메모리 시스템(310)은 다양한 형태들의 패키지로 실장 될 수 있다. 예를 들면, 불휘발성 메모리 장치(311) 또는 메모리 시스템(310)은 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP) 등과 같은 방식으로 패키지화되어 실장될 것이다.
본 발명의 범위 또는 기술적 사상을 벗어나지 않고 본 발명의 구조가 다양하게 수정되거나 변경될 수 있음은 이 분야에 숙련된 자들에게 자명하다. 상술한 내용을 고려하여 볼 때, 만약 본 발명의 수정 및 변경이 아래의 청구항들 및 동등물의 범주 내에 속한다면, 본 발명이 이 발명의 변경 및 수정을 포함하는 것으로 여겨진다.
도 1은 본 발명의 실시 예에 따른 불휘발성 메모리 장치(100)를 보여주는 블록도이다.
도 2는 도 1의 메모리 셀 어레이(110)를 보여주는 회로도이다.
도 3(a)는 하위 비트 프로그램(LSB Program)이 완료된 상태를 나타내는 다이어그램이다.
도 3(b)는 상위 비트 프로그램(MSB Program) 동작 중의 상태를 나타내는 다이어그램이다.
도 3(c)는 상위 비트 프로그램(MSB Program)이 완료된 상태를 나타내는 다이어그램이다.
도 4는 본 발명에 따른 상위 비트 프로그램(MSB Program)에서의 프로그램 전압들 및 검증 전압들을 보여주는 다이어그램이다.
도 5는 본 발명에 따른 다른 실시 예에 있어서, 상위 비트 프로그램(MSB Program)에서의 프로그램 전압들 및 검증 전압들을 보여주는 다이어그램이다.
도 6은 도 5의 프로그램 방식을 설명하는 순서도이다.
도 7은 본 발명에 따른 다른 실시 예에 있어서, 상위 비트 프로그램(MSB Program)에서의 프로그램 전압들 및 검증 전압들을 보여주는 다이어그램이다.
도 8(a)는 2 비트 데이터의 프로그램이 완료된 상태를 나타내는 다이어그램이다.
도 8(b)는 3 비트 데이터의 프로그램 동작 중의 상태를 나타내는 다이어그램 이다.
도 8(c)는 3 비트 데이터의 프로그램이 완료된 상태를 나타내는 다이어그램이다.
도 9는 본 발명에 따른 다른 실시 예에 있어서, 3 비트 데이터의 프로그래밍에서의 프로그램 전압들 및 검증 전압들을 보여주는 다이어그램이다.
도 10은 상기 본 발명을 적용한 실시 예로서, 본 발명의 프로그램 방법을 반도체 메모리 장치에 적용한 예를 보여주는 블록도이다.
도 11은 본 발명을 적용한 실시 예로서, 본 발명의 프로그램 방법을 사용자 장치에 적용한 예를 보여주는 블록도이다.

Claims (8)

  1. 복수의 메모리 셀을 포함하는 메모리 셀 어레이;
    상기 복수의 메모리 셀을 프로그램하기 위한 전압을 발생하는 전압 발생기; 및
    하나의 프로그램 루프 동안에 상기 복수의 메모리 셀에 하나 또는 그 이상의 프로그램 전압을 제공하도록 상기 전압 발생기를 제어하는 제어 로직을 포함하되,
    상기 제어 로직은 현재 프로그램 루프 동안에 특정 상태에 대응하는 메모리 셀들이 프로그램 패스된 경우, 상기 특정 상태에 대응하는 프로그램 전압이 다음 프로그램 루프 동안에는 생략되도록 상기 전압 발생기를 제어하는 불휘발성 메모리 장치.
  2. 제 1 항에 있어서,
    상기 제어 로직은 하나의 프로그램 루프에서 하나 또는 그 이상의 프로그램 전압을 생성하도록 상기 전압 발생기를 제어하고, 상기 하나 또는 그 이상의 프로그램 전압들은 각각 다른 상태에 대응하는 불휘발성 메모리 장치.
  3. 제 2 항에 있어서,
    상기 제어 로직은 상기 하나의 프로그램 루프에서 하나 또는 그 이상의 프로그램 검증 전압을 더 생성하도록 상기 전압 발생기를 제어하는 불휘발성 메모리 장 치.
  4. 제 3 항에 있어서,
    상기 제어 로직은 하나 또는 그 이상의 프로그램 전압들이 생성되고 난 후, 상기 하나 또는 그 이상의 검증 전압들이 생성되도록 하는 불휘발성 메모리 장치.
  5. 제 2 항에 있어서,
    상기 제어 로직은 하나의 프로그램 전압이 하나 또는 그 이상의 상태에 대응하도록 하는 불휘발성 메모리 장치.
  6. 제 5 항에 있어서,
    상기 제어 로직은 비트 라인들에 각각 다른 전압을 바이어스 하는 불휘발성 메모리 장치.
  7. 제 1 항에 있어서,
    상기 불휘발성 메모리 장치는 상기 특정 상태에 대응하는 메모리 셀들이 모두 프로그램되었는 지 여부의 정보를 저장하는 영역을 더 포함하는 불휘발성 메모리 장치.
  8. 제 1 항에 있어서,
    상기 메모리 셀 어레이는 적어도 2 비트 이상의 데이터를 저장하는 불휘발성 메모리 장치.
KR1020090025506A 2009-03-25 2009-03-25 불휘발성 메모리 장치 및 그것의 프로그램 전압 생성방법 KR101517597B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020090025506A KR101517597B1 (ko) 2009-03-25 2009-03-25 불휘발성 메모리 장치 및 그것의 프로그램 전압 생성방법
US12/719,184 US8164952B2 (en) 2009-03-25 2010-03-08 Nonvolatile memory device and related method of programming
CN201010150541.4A CN101847443B (zh) 2009-03-25 2010-03-23 非易失性存储器器件和相关的编程方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090025506A KR101517597B1 (ko) 2009-03-25 2009-03-25 불휘발성 메모리 장치 및 그것의 프로그램 전압 생성방법

Publications (2)

Publication Number Publication Date
KR20100107291A true KR20100107291A (ko) 2010-10-05
KR101517597B1 KR101517597B1 (ko) 2015-05-07

Family

ID=42772026

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090025506A KR101517597B1 (ko) 2009-03-25 2009-03-25 불휘발성 메모리 장치 및 그것의 프로그램 전압 생성방법

Country Status (3)

Country Link
US (1) US8164952B2 (ko)
KR (1) KR101517597B1 (ko)
CN (1) CN101847443B (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8934298B2 (en) 2011-10-05 2015-01-13 Samsung Electronics Co., Ltd. Nonvolatile memory device and related programming method
US9478304B2 (en) 2014-08-18 2016-10-25 SK Hynix Inc. Semiconductor memory device and operating method thereof

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8929142B2 (en) * 2013-02-05 2015-01-06 Sandisk Technologies Inc. Programming select gate transistors and memory cells using dynamic verify level
US9384799B2 (en) * 2013-03-21 2016-07-05 Micron Technology, Inc. Advanced memory interfaces and methods
JP2014186787A (ja) 2013-03-25 2014-10-02 Toshiba Corp 不揮発性半導体記憶装置、メモリコントローラ、及びメモリシステム
US8908441B1 (en) * 2013-10-15 2014-12-09 Sandisk Technologies Inc. Double verify method in multi-pass programming to suppress read noise
CA2878742C (en) * 2014-01-23 2016-10-25 Sidense Corp. Redundancy system for non-volatile memory
KR20160047667A (ko) * 2014-10-22 2016-05-03 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
KR20160117713A (ko) * 2015-03-30 2016-10-11 에스케이하이닉스 주식회사 반도체 장치 및 그것의 동작 방법
KR20160129430A (ko) * 2015-04-30 2016-11-09 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 프로그램 방법
KR102595291B1 (ko) * 2016-09-23 2023-10-30 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
KR20180062158A (ko) * 2016-11-30 2018-06-08 삼성전자주식회사 루프 상태 정보를 생성하는 불휘발성 메모리 장치, 그것을 포함하는 저장 장치 및 그것의 동작 방법
JP2018113084A (ja) * 2017-01-06 2018-07-19 東芝メモリ株式会社 半導体記憶装置
CN109522237B (zh) * 2017-09-20 2023-12-29 旺宏电子股份有限公司 存储器的数据管理方法及存储器装置
US10403359B2 (en) * 2017-12-20 2019-09-03 Micron Technology, Inc. Non-contact electron beam probing techniques and related structures
US10381101B2 (en) * 2017-12-20 2019-08-13 Micron Technology, Inc. Non-contact measurement of memory cell threshold voltage
KR102442216B1 (ko) * 2018-04-19 2022-09-08 에스케이하이닉스 주식회사 메모리 장치 및 그 동작 방법
CN110838323A (zh) * 2018-08-17 2020-02-25 北京兆易创新科技股份有限公司 一种存储器的编程方法和系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001067884A (ja) 1999-08-31 2001-03-16 Hitachi Ltd 不揮発性半導体記憶装置
US6700820B2 (en) * 2002-01-03 2004-03-02 Intel Corporation Programming non-volatile memory devices
JP2005353242A (ja) 2004-06-14 2005-12-22 Toshiba Corp 不揮発性半導体記憶装置及びそのデータ書き込み方法
JP4786171B2 (ja) * 2004-12-10 2011-10-05 株式会社東芝 半導体記憶装置
KR100816748B1 (ko) * 2006-03-16 2008-03-27 삼성전자주식회사 프로그램 서스펜드/리줌 모드를 지원하는 상 변화 메모리장치 및 그것의 프로그램 방법
JP2006190488A (ja) 2006-04-13 2006-07-20 Renesas Technology Corp 半導体記憶装置の書き込み方法
KR100845135B1 (ko) * 2006-12-22 2008-07-09 삼성전자주식회사 불휘발성 메모리 장치에서의 프로그램 방법 및 이를 위한불휘발성 메모리 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8934298B2 (en) 2011-10-05 2015-01-13 Samsung Electronics Co., Ltd. Nonvolatile memory device and related programming method
US9478304B2 (en) 2014-08-18 2016-10-25 SK Hynix Inc. Semiconductor memory device and operating method thereof

Also Published As

Publication number Publication date
CN101847443A (zh) 2010-09-29
US20100246258A1 (en) 2010-09-30
CN101847443B (zh) 2015-04-15
US8164952B2 (en) 2012-04-24
KR101517597B1 (ko) 2015-05-07

Similar Documents

Publication Publication Date Title
KR101517597B1 (ko) 불휘발성 메모리 장치 및 그것의 프로그램 전압 생성방법
KR102302187B1 (ko) 비휘발성 메모리 장치의 동작 방법 및 비휘발성 메모리 장치
USRE46238E1 (en) Semiconductor memory device and related method of programming
KR101605381B1 (ko) 비휘발성 메모리 장치, 이를 구비하는 비휘발성 메모리 시스템
KR20100107294A (ko) 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 불휘발성 메모리 장치의 프로그램 방법
KR101616097B1 (ko) 불휘발성 메모리 장치의 프로그램 방법
US9281068B2 (en) Nonvolatile memory and related reprogramming method
KR101891164B1 (ko) 프로그램 스케줄러를 포함하는 플래시 메모리 장치
US8385120B2 (en) Method of programming a nonvolatile memory device
KR101600539B1 (ko) 불휘발성 메모리 장치의 프로그램 방법
CN107403636B (zh) 读取非易失性存储设备的方法
KR20110131648A (ko) 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 메모리 카드 및 그것의 프로그램 방법
CN111258793B (zh) 存储器控制器及其操作方法
KR102359979B1 (ko) 솔리드 스테이트 드라이브 장치 및 이를 포함하는 저장 시스템
KR102128825B1 (ko) 불휘발성 메모리 장치 및 그것의 동작 방법
KR20140013383A (ko) 불휘발성 메모리 장치 및 그것의 동작 방법
KR20150031381A (ko) 불휘발성 메모리 장치 및 그것의 프로그램 방법
US9030878B2 (en) Semiconductor memory device including a plurality of cell strings, memory system including the same, and control method thereof
KR20150010381A (ko) 비휘발성 메모리 장치 및 그 프로그램 방법
US8760919B2 (en) Nonvolatile memory device and method of reading data in nonvolatile memory device
KR102182804B1 (ko) 메모리 장치의 독출 방법
US9424942B2 (en) Reduced timing and read verifying operation for non-volatile memory device
KR20180028312A (ko) 반도체 메모리 장치 및 그 프로그램 방법
KR20100045739A (ko) 불휘발성 메모리 장치, 그것의 프로그램 방법, 그리고 그것을 포함하는 메모리 시스템
KR20100120517A (ko) 불휘발성 메모리 장치 및 그것의 워드 라인 또는 비트 라인의 제어방법

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

Year of fee payment: 5