KR101423612B1 - 불휘발성 메모리 장치 및 그것의 동작 방법, 그리고 그것을포함하는 메모리 시스템 - Google Patents

불휘발성 메모리 장치 및 그것의 동작 방법, 그리고 그것을포함하는 메모리 시스템 Download PDF

Info

Publication number
KR101423612B1
KR101423612B1 KR1020080090752A KR20080090752A KR101423612B1 KR 101423612 B1 KR101423612 B1 KR 101423612B1 KR 1020080090752 A KR1020080090752 A KR 1020080090752A KR 20080090752 A KR20080090752 A KR 20080090752A KR 101423612 B1 KR101423612 B1 KR 101423612B1
Authority
KR
South Korea
Prior art keywords
program
pulses
erase
start voltage
control value
Prior art date
Application number
KR1020080090752A
Other languages
English (en)
Other versions
KR20100031893A (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 KR1020080090752A priority Critical patent/KR101423612B1/ko
Priority to US12/542,882 priority patent/US7929350B2/en
Publication of KR20100031893A publication Critical patent/KR20100031893A/ko
Priority to US13/046,838 priority patent/US8149625B2/en
Application granted granted Critical
Publication of KR101423612B1 publication Critical patent/KR101423612B1/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/32Timing 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/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/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/10Programming or data input 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
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups

Abstract

본 발명의 실시 예에 따른 불휘발성 메모리 장치는 메모리 셀 어레이, 메모리 셀 어레이의 메모리 셀들의 논리 상태를 가변하기 위한 단계적으로 증가하는 스텝 펄스들을 제공하는 전압 발생기, 그리고 메모리 셀들의 논리 상태를 가변하기 위해 인가되는 단계적으로 증가하는 스텝 펄스들의 수에 따라, 단계적으로 증가하는 스텝 펄스들의 시작 전압을 조절하는 제어 로직을 포함한다.

Description

불휘발성 메모리 장치 및 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템{NONVOLATILE MEMORY DEVICE AND OPERATING METHOD THEREOF, AND MEMORY SYSTEM INCLUDING THE SAME}
본 발명은 반도체 메모리 장치에 관한 것으로, 더 상세하게는 불휘발성 메모리 장치 및 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템에 관한 것이다.
반도체 메모리 장치(semiconductor memory device)는 데이터를 저장해 두고 필요할 때 꺼내어 읽어볼 수 있는 기억장치이다. 반도체 메모리 장치는 크게 휘발성 메모리 장치(Volatile memory device)와 불휘발성 메모리 장치(Nonvolatile mmory device)로 구분된다.
휘발성 메모리 장치는 전원 공급이 차단되면 저장하고 있던 데이터가 소멸되는 메모리 장치이다. 휘발성 메모리 장치에는 SRAM, DRAM, SDRAM 등이 있다. 불휘발성 메모리 장치는 전원 공급이 차단되어도 저장하고 있던 데이터가 소멸하지 않는 메모리 장치이다. 불휘발성 메모리 장치에는 ROM, PROM, EPROM, EEPROM, 플래시 메모리 장치, PRAM, MRAM, RRAM, FRAM 등이 있다. 플래시 메모리 장치는 크게 노어 타입과 낸드 타입으로 구분된다.
불휘발성 메모리 장치는 복수의 불휘발성 메모리 셀을 포함한다. 불휘발성 메모리 장치에 대해 프로그램/소거 동작이 반복되면, 불휘발성 메모리 셀들이 열화되어 동작 특성이 변화한다. 불휘발성 메모리 셀들이 열화되면, 불휘발성 메모리 장치의 동작 특성 및 신뢰성이 저하될 수 있으며, 불휘발성 메모리 장치의 동작 속도가 저하될 수 있다.
본 발명의 목적은 동작 속도가 향상되는 불휘발성 메모리 장치를 제공하는 데에 있다.
본 발명의 다른 목적은 읽기 마진이 향상되는 불휘발성 메모리 장치를 제공하는 데에 있다.
본 발명의 실시 예에 따른 불휘발성 메모리 장치는 메모리 셀 어레이; 상기 메모리 셀 어레이의 메모리 셀들의 논리 상태를 가변하기 위한 단계적으로 증가하는 스텝 펄스들을 제공하는 전압 발생기; 그리고 상기 메모리 셀들의 논리 상태를 가변하기 위해 인가되는 상기 단계적으로 증가하는 스텝 펄스들의 수에 따라, 상기 단계적으로 증가하는 스텝 펄스들의 시작 전압을 조절하는 제어 로직을 포함한다.
실시 예로서, 상기 단계적으로 증가하는 스텝 펄스들은 프로그램 펄스들이고, 상기 시작 전압은 프로그램 시작 전압이다. 상기 프로그램 펄스들의 수가 감소 하면, 상기 제어 로직은 상기 프로그램 시작 전압을 감소시킨다.
실시 예로서, 상기 단계적으로 증가하는 스텝 펄스들은 소거 펄스들이고, 상기 시작 전압은 소거 시작 전압이다. 상기 소거 펄스들의 수가 증가하면, 상기 제어 로직은 상기 소거 시작 전압을 증가시킨다.
실시 예로서, 상기 제어 로직은 제어값 및 상기 스텝 펄스들의 수를 비교하고, 비교 결과에 따라 상기 시작 전압을 조절하고, 상기 제어값은 프로그램 동작 시에 요구되는 스텝 펄스들의 수이다. 상기 제어값은 상기 메모리 셀 어레이에 저장된다. 상기 제어값은 상기 시작 전압에 대응하는 정보를 더 포함하고, 상기 시작 전압이 조절되는 경우, 상기 제어 로직은 상기 시작 전압에 대응하는 정보를 갱신한다.
실시 예로서, 상기 메모리 셀 어레이는 복수의 영역으로 분할되고, 상기 복수의 영역 각각은 대응하는 제어값을 저장한다. 상기 제어 로직은 상기 복수의 영역 중 외부로부터 전달되는 어드레스에 대응하는 영역의 제어값을 읽고, 상기 제어값 및 상기 스텝 펄스들의 수를 비교하고, 비교 결과에 따라 상기 시작 전압을 조절하고, 조절된 상기 시작 전압에 따라 상기 외부로부터 전달되는 어드레스에 대응하는 영역의 제어값을 갱신하는 영역에 저장한다.
실시 예로서, 상기 제어 로직은 상기 제어값을 저장하기 위한 불휘발성 저장 장치를 포함한다. 상기 제어 로직은 상기 조절된 시작 전압을 저장하기 위한 불휘발성 저장 장치를 더 포함한다.
본 발명의 실시 예에 따른 불휘발성 메모리 장치의 동작 방법은 메모리 셀들 의 논리 상태를 가변시키기 위한 단계적으로 증가하는 스텝 펄스들을 상기 메모리 셀들에 인가하는 단계; 상기 메모리 셀들의 논리 상태를 가변시키기 위해 인가된 스텝 펄스들의 수 및 상기 불휘발성 메모리 장치의 동작을 위해 요구되는 스텝 펄스들의 수를 비교하는 단계; 그리고 상기 비교 결과에 따라 상기 단계적으로 증가하는 스텝 펄스들의 시작 전압을 조절하는 단계를 포함한다.
실시 예로서, 상기 스텝 펄스들은 프로그램 펄스들이고, 상기 시작 전압은 프로그램 시작 전압이다.
실시 예로서, 상기 스텝 펄스들은 소거 펄스들이고, 상기 시작 전압은 소거 시작 전압이다.
실시 예로서, 상기 제어 로직은 상기 메모리 셀들의 논리 상태를 가변하기 위해 인가되는 상기 단계적으로 증가하는 스텝 펄스들의 수에 따라, 패스 전압 레벨을 조절한다.
실시 예로서, 상기 비교 결과에 따라 패스 전압을 조절하는 단계를 더 포함한다.
본 발명의 실시 예에 따른 메모리 시스템은 불휘발성 메모리 장치; 그리고 상기 불휘발성 메모리 장치를 제어하기 위한 컨트롤러를 포함하고, 상기 불휘발성 메모리 장치는 메모리 셀 어레이; 상기 메모리 셀 어레이의 메모리 셀들의 논리 상태를 가변하기 위한 단계적으로 증가하는 스텝 펄스들을 제공하는 전압 발생기; 그리고 상기 메모리 셀들의 논리 상태를 가변하기 위해 인가되는 상기 단계적으로 증가하는 스텝 펄스들의 수에 따라, 상기 단계적으로 증가하는 스텝 펄스들의 시작 전압을 조절하는 제어 로직을 포함한다.
실시 예로서, 상기 불휘발성 메모리 장치 및 상기 컨트롤러는 하나의 반도체 장치로 집적된다.
실시 예로서, 상기 불휘발성 메모리 장치 및 상기 컨트롤러는 반도체 디스크 드라이브/장치를 구성한다.
실시 예로서, 상기 불휘발성 메모리 장치 및 상기 컨트롤러는 메모리 카드를 구성한다.
실시 예로서, 상기 컨트롤러는 외부의 호스트와 통신한다.
본 발명에 따르면, 단계적으로 증가하는 스텝 펄스들의 수에 따라 시작 전압이 조절된다. 따라서, 불휘발성 메모리 장치의 동작 속도가 향상되고, 읽기 마진이 향상된다.
본 발명의 실시 예에 따른 불휘발성 메모리 장치는 메모리 셀 어레이, 메모리 셀 어레이의 메모리 셀들의 논리 상태를 가변하기 위한 단계적으로 증가하는 스텝 펄스들을 제공하는 전압 발생기, 그리고 메모리 셀들의 논리 상태를 가변하기 위해 인가되는 단계적으로 증가하는 스텝 펄스들의 수에 따라, 단계적으로 증가하는 스텝 펄스들의 시작 전압을 조절하는 제어 로직을 포함한다. 이하에서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시 예를 첨부된 도면을 참조하여 설명하기로 한다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템(10)을 보여주는 블록도이다. 도 1을 참조하면, 본 발명의 실시 예에 따른 메모리 시스템(10)은 불휘발성 메모리 장치(200) 및 컨트롤러(100)를 포함한다.
본 발명의 실시 예에 따른 불휘발성 메모리 장치(200)는 메모리 셀 어레이, 메모리 셀 어레이의 메모리 셀들의 논리 상태를 가변하기 위한 단계적으로 증가하는 스텝 펄스들을 제공하는 전압 발생기, 그리고 메모리 셀들의 논리 상태를 가변하기 위해 인가되는 단계적으로 증가하는 스텝 펄스들의 수에 따라, 단계적으로 증가하는 스텝 펄스들의 시작 전압을 조절하는 제어 로직을 포함한다. 본 발명의 실시 예에 따른 불휘발성 메모리 장치(200)는 이하에서 도 2 내지 10을 참조하여 더 상세하게 설명된다.
컨트롤러(100)는 호스트(Host) 및 불휘발성 메모리 장치(200)에 연결된다. 컨트롤러(100)는 불휘발성 메모리 장치(200)로부터 읽은 데이터를 호스트(Host)에 전달하고, 호스트(Host)로부터 전달되는 데이터를 불휘발성 메모리 장치(200)에 저장한다.
컨트롤러(100)는 램, 프로세싱 유닛, 호스트 인터페이스, 그리고 메모리 인터페이스와 같은 잘 알려진 구성 요소들을 포함할 것이다. 램은 프로세싱 유닛의 동작 메모리로서 이용될 것이다. 프로세싱 유닛은 컨트롤러(100)의 제반 동작을 제어할 것이다. 호스트 인터페이스는 호스트(Host) 및 컨트롤러(100) 사이의 데이터 교환을 수행하기 위한 프로토콜을 포함할 것이다. 예시적으로, 컨트롤러(100)는 USB, MMC, PCI-E, ATA(Advanced Technology Attachment), Serial-ATA, Parallel-ATA, SCSI, ESDI, 그리고 IDE(Integrated Drive Electronics) 등과 같은 다양한 인터페이스 프로토콜들 중 하나를 통해 외부(호스트)와 통신하도록 구성될 것이다. 메모리 인터페이스는 불휘발성 메모리 장치(200)와 인터페이싱할 것이다. 컨트롤러(100)는 오류 정정 블록을 추가적으로 포함할 수 있다. 오류 정정 블록은 불휘발성 메모리 장치(200)로부터 읽어진 데이터의 오류를 검출하고, 정정할 것이다.
컨트롤러(100) 및 불휘발성 메모리 장치(200)는 하나의 반도체 장치로 집적될 수 있다. 예시적으로, 컨트롤러(100) 및 불휘발성 메모리 장치(200)는 하나의 반도체 장치로 집적되어, 메모리 카드를 구성할 것이다. 예를 들면, 컨트롤러(100) 및 불휘발성 메모리 장치(200)는 하나의 반도체 장치로 집적되어 PC 카드(PCMCIA), 컴팩트 플래시 카드(CF), 스마트 미디어 카드(SM/SMC), 메모리 스틱, 멀티미디어 카드(MMC, RS-MMC, MMCmicro), SD 카드(SD, miniSD, microSD), 유니버설 플래시 기억장치(UFS), 등을 구성할 것이다.
다른 예로서, 컨트롤러(100) 및 불휘발성 메모리 장치(200)는 하나의 반도체 장치로 집적되어 반도체 디스크/드라이브(SSD, Solid State Disk/Drive)를 구성할 것이다. 메모리 시스템(10)이 반도체 디스크(SSD)로 이용되는 경우, 메모리 시스템(10)에 연결된 호스트(Host)의 동작 속도는 획기적으로 개선될 것이다.
도 2는 도 1의 불휘발성 메모리 장치(200)의 제 1 실시 예를 보여주는 블록도이다. 도 2를 참조하면, 본 발명의 제 1 실시 예에 따른 불휘발성 메모리 장치(200)는 메모리 셀 어레이(210), 읽기/쓰기 회로(220), 어드레스 디코더(230), 그리고 제어 로직(240)을 포함한다.
메모리 셀 어레이(210)는 비트 라인(BL)을 통해 읽기/쓰기 회로(220)에 연결되고, 워드 라인(WL)을 통해 어드레스 디코더(230)에 연결된다. 메모리 셀 어레이(210)는 복수의 불휘발성 메모리 셀을 포함한다. 메모리 셀 어레이(210)는 읽기/쓰기 회로(220)로부터 전달되는 데이터를 불휘발성 메모리 셀들에 저장한다.
예시적으로, 메모리 셀 어레이(210)의 불휘발성 메모리 셀들은 상 변화 물질을 포함하며, 인가되는 온도에 따라 상이한 저항 값으로 설정되는 가변 저항 메모리 셀들일 것이다. 다른 예로서, 메모리 셀 어레이(210)의 불휘발성 메모리 셀들은 인가되는 자기장에 따라 상이한 저항 값으로 설정되는 가변 저항 메모리 셀들일 것이다. 다른 예로서, 메모리 셀 어레이(210)의 불휘발성 메모리 셀들은 강유전체에 미리 설정된 전압들을 인가하여, 강유전체의 분극 상태를 가변함으로써 데이터를 저장할 것이다. 다른 예로서, 메모리 셀 어레이(210)의 불휘발성 메모리 셀들은 미리 설정된 전압들에 따라 전하 저장층(예를 들면, 도전체 또는 절연체)에 전하를 축적/포획함으로써 데이터를 저장할 것이다.
메모리 셀 어레이(210)는 복수의 메모리 블록들(BLK1~BLKn)로 구성된다. 각각의 메모리 블록은 복수의 불휘발성 메모리 셀들을 포함한다. 본 발명의 제 1 실시 예에 따른 불휘발성 메모리 장치(200)의 메모리 셀 어레이(210)는 제어값(CV)을 저장하기 위한 저장 공간(CV_BLK)을 더 포함한다. 도 2에서, 제어값(CV)을 저장하기 위한 저장 공간(CV_BLK)은 별도의 메모리 블록인 것으로 도시되어 있다. 그러나, 본 발명의 제 1 실시 예에 따른 불휘발성 메모리 장치(200)에서, 제어값(CV)은 별도의 메모리 블록에 저장되는 것으로 한정되지 않는다. 예시적으로, 제어값(CV)은 메모리 블록들(BLK1~BLKn)에 저장될 수 있음이 이해될 것이다.
읽기/쓰기 회로(220)는 어드레스 디코더(230)로부터 디코딩된 어드레스를 전달받고, 비트 라인들(BL)을 선택한다. 예시적으로, 읽기/쓰기 회로(220)는 어드레스 디코더(230)로부터 디코딩된 열 어드레스를 전달받아 비트 라인들(BL)을 선택할 것이다. 읽기/쓰기 회로(220)는 제어 로직(240)의 제어에 응답하여 동작할 것이다.
본 발명의 제 1 실시 예에 따른 불휘발성 메모리 장치(210)의 읽기/쓰기 회로(220)는 프로그램 펄스 카운터(221)를 포함한다. 프로그램 펄스 카운터(221)는 프로그램 동작 시에 상기 메모리 셀 어레이(210)에 인가되는 단계적으로 증가하는 스텝 펄스들의 수를 카운트한다. 예시적으로, 메모리 셀 어레이(210)의 메모리 셀들이 프로그램 패스될 때까지 4 개의 스텝 펄스가 인가된 경우, 프로그램 펄스 카운터(221)는 4의 값을 카운트할 것이다.
읽기/쓰기 회로(220)는 메모리 셀 어레이(210)로부터 제어값(CV)을 읽는다. 예시적으로, 읽기/쓰기 회로(220)는 파워-온 읽기 동작 시에 메모리 셀 어레이(210)로부터 제어값(CV)을 읽는다. 다른 예로써, 읽기/쓰기 회로(220)는 제어 로직(240)의 제어에 응답하여 메모리 셀 어레이(210)로부터 제어값(CV)을 읽는다. 읽기/쓰기 회로(220)는 메모리 셀 어레이(210)로부터 읽어진 제어값(CV) 그리고 프로그램 펄스 카운터(221)의 프로그램 펄스 카운트 값(PPC)을 제어 로직(240)에 전달한다.
읽기/쓰기 회로(220)는 외부와 데이터(DATA)를 교환한다. 예시적으로, 읽기/ 쓰기 회로(220)는 도 1의 컨트롤러(100)와 데이터(DATA)를 교환할 것이다. 읽기/쓰기 회로(220)는 컨트롤러(100)로부터 전달되는 데이터(DATA)를 메모리 셀 어레이(210)에 기입하고, 메모리 셀 어레이(210)로부터 읽은 데이터(DATA)를 컨트롤러(100)에 전달할 것이다.
읽기/쓰기 회로(220)는 읽기 및 쓰기 동작을 수행하기 위한 구성 요소들을 포함할 것이다. 예시적으로, 읽기/쓰기 회로(220)는 페이지 버퍼, 열 패스 게이트, 그리고 데이터 버퍼와 같은 잘 알려져 있는 구성 요소들을 포함할 것이다. 다른 예로써, 읽기/쓰기 회로(221)는 쓰기 드라이버, 감지 증폭기, 그리고 데이터 버퍼와 같은 잘 알려져 있는 구성 요소들을 포함할 것이다.
도 2에서, 프로그램 펄스 카운터(221)는 읽기/쓰기 회로(220)의 구성 요소인 것으로 도시되어 있다. 그러나, 프로그램 펄스 카운터(221)는 읽기/쓰기 회로(220)의 구성 요소인 것으로 한정되지 않는다. 예시적으로, 프로그램 펄스 카운터(221)는 제어 로직(240) 또는 어드레스 디코더(230)의 구성 요소일 수 있으며, 도 2에 도시되어 있는 기능 블록들 이외의 다른 기능 블록의 구성 요소일 수 있다. 또는, 프로그램 펄스 카운터(221)는 도 2에 도시되어 있는 기능 블록들과 독립적으로 형성될 수도 있음이 이해될 것이다. 프로그램 펄스 카운터(221)는 프로그램 동작 시에 인가되는 프로그램 펄스들의 수를 카운트하기 위한 기능을 수행할 수 있는 것으로 충분하며, 프로그램 펄스 카운터(221)가 형성되는 위치는 한정되지 않음이 이해될 것이다.
어드레스 디코더(230)는 외부로부터 어드레스(ADDR)를 전달받는다. 예시적으 로, 어드레스 디코더(230)는 도 1의 컨트롤러(100)로부터 어드레스(ADDR)를 전달받을 것이다. 어드레스 디코더(230)는 어드레스(ADDR)를 디코딩하여 워드 라인들(WL)을 선택하고, 읽기/쓰기 회로(220)에 디코딩된 어드레스를 전달할 것이다. 예시적으로, 어드레스 디코더(ADDR)는 행 어드레스를 디코딩하기 위한 행 디코더 그리고 열 어드레스를 디코딩하기 위한 열 디코더를 포함할 것이다. 어드레스 디코더(230)는 제어 로직(240)으로부터 프로그램 동작을 수행하기 위한 프로그램 전압/전류를 제공받아 워드 라인들(WL)을 통해 메모리 셀 어레이(210)에 전달할 것이다. 어드레스 디코더(230)는 제어 로직(240)의 제어에 응답하여 동작할 것이다.
제어 로직(240)은 읽기/쓰기 회로(220) 및 어드레스 디코더(230)에 연결된다. 제어 로직(240)은 불휘발성 메모리 장치(200)의 제반 동작을 제어한다. 제어 로직(240)은 외부로부터 전달되는 제어 신호(CTRL)에 응답하여 동작한다. 예시적으로, 제어 신호(CTRL)는 도 1의 컨트롤러(100)로부터 제공될 것이다.
제어 로직(240)은 읽기/쓰기 회로(220)로부터 제어값(CV)을 전달받아 저장한다. 예시적으로, 제어 로직(240)은 파워-온 읽기 동작 시에 읽기/쓰기 회로(220)로부터 제어값(CV)을 전달받아 저장할 것이다. 다른 예로써, 제어 로직(240)은 읽기/쓰기 회로(220)가 제어값(CV)을 읽도록 제어하고, 읽기 쓰기 회로(220)로부터 읽어진 제어값(CV)을 전달받아 저장할 것이다. 제어 로직(240)은 프로그램 펄스 카운터(221)로부터 프로그램 펄스 카운트값(PPC)을 전달받는다.
제어 로직(240)은 시작 전압 제어기(241) 및 전압 발생기(243)를 포함한다. 시작 전압 제어기(241)는 제어값(CV) 및 프로그램 펄스 카운트값(PPC)을 비교하여 시작 전압(Vini)을 제어한다. 예시적으로, 시작 전압 제어기(241)는 프로그램 시작 전압(Vini_p)을 제어할 것이다.
전압 발생기(243)는 프로그램 동작을 수행하기 위한 전압을 발생한다. 예시적으로, 전압 발생기(243)는 단계적으로 증가하는 스텝 펄스를 발생하여 어드레스 디코더(230)에 제공한다. 예를 들면, 전압 발생기(243)는 단계적으로 증가하는 프로그램 펄스를 발생할 것이다. 단계적으로 증가하는 프로그램 펄스는 프로그램 시작 전압(Vini_p)으로부터 단계적으로 증가할 것이다.
도 3은 도 2의 시작 전압 제어기(241)의 실시 예를 보여주는 블록도이다. 도 2 및 3을 참조하면, 시작 전압 제어기(241)는 제어값 레지스터(245) 및 제어값 계산기(247)를 포함한다.
제어값 레지스터(245)는 읽기/쓰기 회로(220)로부터 전달되는 제어값(CV)을 저장한다. 제어값 계산기(247)는 제어값 레지스터(245)로부터 제어값(CV)을 전달받고, 읽기/쓰기 회로(220)로부터 프로그램 펄스 카운트값(PPC)을 전달받는다. 제어값 계산기(247)는 제어값(CV) 및 프로그램 펄스 카운트값(PPC)을 비교하여 플래그 신호(Flag)를 발생한다.
도 4는 본 발명의 제 1 실시 예에 따른 불휘발성 메모리 장치(200)의 동작을 설명하기 위한 다이어그램이다. 도 4에서, 가로 축은 프로그램/소거 횟수를 나타내고, 세로 축은 전압을 나타낸다. 이하에서, 도 2 내지 4를 참조하여, 본 발명의 제 1 실시 예에 따른 불휘발성 메모리 장치(200)의 동작이 설명된다.
프로그램/소거 동작 시에, 불휘발성 메모리 장치(200)는 단계적으로 증가하 는 스텝 펄스를 이용하여 프로그램/소거 동작을 수행한다. 프로그램/소거 동작이 반복되면, 프로그램/소거 동작에 요구되는 전압 레벨이 가변될 수 있다. 예시적으로, 플래시 메모리 장치의 경우, 전하 저장층과 기판 사이의 절연막에 전하가 축적될 수 있다. 이 경우에, 플래시 메모리 셀의 프로그램 동작에 요구되는 전압 레벨은 낮아지고, 플래시 메모리 셀의 소거 동작에 요구되는 전압 레벨은 높아질 것이다. 플래시 메모리 장치와 마찬가지로, PRAM, RRAM, MRAM, EEPROM 등에서도 메모리 셀이 열화되면 프로그램/소거 동작시에 요구되는 전압 레벨이 가변될 것이다.
본 발명의 제 1 실시 예에 따른 불휘발성 메모리 장치(200)는 프로그램/소거 동작이 반복됨으로 인해 프로그램/소거 동작 시에 요구되는 전압 레벨이 가변되는 것을 보상한다. 이하에서, 플래시 메모리 장치의 예를 들어 본 발명의 기술적 사상이 더 상세하게 설명된다.
도 4에서, 선(Vpgm)은 프로그램 동작 시에 요구되는 전압 레벨을 나타낸다. 선(Vini_p)는 단계적으로 증가하는 프로그램 펄스의 시작 전압을 나타낸다. 그리고, △V는 프로그램 펄스가 단계적으로 증가하는 레벨을 나타낸다. 도 4에서, 프로그램 펄스는 프로그램 시작 전압(Vini_p)으로부터 단계적으로 △V만큼 증가하며, 프로그램 펄스가 프로그램 시작 전압(Vini_p)으로부터 단계적으로 3회 증가하면 프로그램 전압(Vpgm)에 도달하는 것으로 도시되어 있다. 도 4에서, 프로그램 펄스는 단계적으로 3회 증가하는 것으로 한정되지 않음이 이해될 것이다.
프로그램/소거 동작이 반복되면, 프로그램 동작 시에 요구되는 프로그램 전압(Vpgm)의 레벨은 점차 감소한다. 프로그램/소거 횟수가 시점(t1)에 도달한 경우, 프로그램 펄스가 단계적으로 2회 증가하면 프로그램 전압(Vpgm)에 도달한다. 즉, 프로그램 동작 시에 인가되는 프로그램 펄스의 수가 3회에서 2회로 감소한다. 프로그램 동작 시에 인가되는 프로그램 펄스의 수가 감소되면, 프로그램된 메모리 셀들의 문턱 전압 산포가 증가한다. 즉, 읽기 마진이 감소되고, 읽기 오류가 발생될 것이다.
이와 같은 문제를 방지하기 위하여, 종래의 플래시 메모리 장치는 메모리 셀들이 열화되어도 미리 설정된 횟수 이상의 프로그램 펄스들이 메모리 셀들에 인가되도록 프로그램 시작 전압을 설정한다. 즉, 메모리 셀들이 열화되어 프로그램 전압(Vpgm)이 낮아지는 경우에도 미리 설정된 횟수 이상의 프로그램 펄스들이 메모리 셀들에 인가되도록 프로그램 시작 전압을 낮게 설정한다. 프로그램 시작 전압이 낮게 설정되면, 메모리 셀들이 충분히 열화되지 않은 경우에 메모리 셀들에 인가되는 프로그램 펄스의 수가 메모리 셀들이 열화된 경우에 메모리 셀들에 인가되는 프로그램 펄스의 수보다 많다. 즉, 프로그램 시작 전압을 메모리 셀들이 열화되는 경우에 대비하여 낮게 설정하면, 프로그램 시간이 증가된다.
본 발명의 제 1 실시 예에 따른 불휘발성 메모리 장치(200)는 프로그램 동작 시에 인가되는 프로그램 펄스의 수를 유지함으로써, 읽기 마진을 증가시키고 읽기 오류를 방지/감소하며, 프로그램 시간을 감소시킨다. 예시적으로, 본 발명의 제 1 실시 예에 따른 불휘발성 메모리 장치(200)는 프로그램 시작 전압(Vini_p)을 조절함으로써, 프로그램 펄스의 수를 유지한다.
제어값 계산기(247)는 제어값(CV) 및 프로그램 펄스 카운트값(PPC)을 비교한 다. 예시적으로, 제어값(CV)은 프로그램 동작 시에 요구되는 프로그램 펄스의 수일 것이다. 예를 들면, 제어값(CV)은 프로그램 동작 시에 메모리 셀들의 문턱 전압 산포가 미리 설정된 범위 내에 존재하도록 프로그램하기 위한 프로그램 펄스의 수일 것이다. 간결하고 명확한 설명을 위하여, 프로그램 동작 시에 요구되는 프로그램 펄스의 수는 3인 것으로 가정한다. 즉, 제어값(CV)은 3인 것으로 가정한다. 그러나, 프로그램 동작 시에 요구되는 프로그램 펄스의 수는 3으로 한정되지 않음이 이해될 것이다.
도 4에 도시된 바와 같이, 프로그램/소거 동작이 반복되면 불휘발성 메모리 셀들이 열화되어, 프로그램 동작 시에 요구되는 프로그램 전압(Vpgm)이 감소한다. 시점(t1)에서, 프로그램 전압(Vpgm)의 감소로 인해 프로그램 동작 시에 인가되는 프로그램 펄스의 수는 3에서 2로 감소한다. 즉, 프로그램 펄스 카운트값(PPC)은 3에서 2로 감소한다. 반면, 제어값 레지스터(245)는 제어값(CV)으로서 3을 저장하고 있다. 제어값(CV) 및 프로그램 펄스 카운트값(PPC)이 상이하면, 제어값 계산기(247)는 플래그 신호(Flag)를 발생한다. 플래그 신호(Flag)가 발생되면, 전압 발생기(243)는 프로그램 펄스의 시작 전압(Vini_p)을 감소시킨다. 예시적으로, 전압 발생기(243)는 △V만큼 프로그램 시작 전압(Vini_p)을 감소시킬 것이다.
도 4에 도시된 바와 같이, 시점(t1)에서 프로그램 시작 전압(Vini_p)이 감소되면, 프로그램 동작시에 인가되는 프로그램 펄스의 수가 2에서 3으로 증가한다. 즉, 시점(t1) 이전 및 이후에서 프로그램 펄스의 수가 동일하게 유지된다. 따라서, 읽기 마진이 향상되고 읽기 오류가 방지/감소된다.
시점(t2)에서, 프로그램 동작 시에 요구되는 프로그램 펄스의 수는 3에서 2로 감소한다. 따라서, 제어값 계산기(247)가 플래그 신호(Flag)를 발생하고, 전압 발생기(243)는 프로그램 시작 전압(Vini_p)을 감소시킨다. 따라서, 시점(t2) 이전 및 이후에서, 프로그램 펄스의 수는 동일하게 유지된다. 따라서, 읽기 마진이 향상되고 읽기 오류가 방지/감소된다.
상술한 바와 같이, 본 발명의 제 1 실시 예에 따른 불휘발성 메모리 장치(200)는 프로그램/소거 동작이 반복되어도 프로그램 펄스의 수를 일정하게 유지한다. 따라서, 프로그램 시간이 감소된다.
제어값(CV)은 프로그램 시작 전압(Vini_p)에 대응하는 정보를 추가적으로 포함할 것이다. 예시적으로, 시점들(t1, t2) 사이에서, 프로그램 시작 전압(Vini_p)은 초기 레벨로부터 1회 감소되어 있다. 제어값(CV)은 프로그램 시작 전압(Vini_p)이 초기 레벨로부터 감소된 횟수에 대응하는 정보를 포함할 것이다. 파워-온 읽기 동작 시에, 제어값 계산기(247)는 제어값(CV)을 참조하여 프로그램 시작 전압(Vini_p)을 조절할 것이다. 프로그램/소거 동작의 반복에 의해 프로그램 시작 전압(Vini_p)이 변경되는 경우, 제어값 계산기(247)는 제어값 레지스터(245)에 저장되어 있는 제어값(CV)을 갱신할 것이다. 그리고, 제어 로직(240)은 메모리 셀 어레이(210)의 저장 공간(CV_BLK)의 제어값(CV) 또한 갱신할 것이다.
예시적으로, 제어값(CV)은 메모리 셀 어레이(210)에 저장되지 않으며, 제어값 레지스터(245)에 불휘발성으로 저장될 수 있음이 이해될 것이다.
전압 발생기(243)는 전압 트림 회로와 같이, 이 분야에 잘 알려져 있는 회로 를 이용하여 프로그램 시작 전압(Vini_p)을 가변할 것이다. 프로그램 시작 전압(Vini_p)을 가변하는 트림 회로가 전기 퓨즈를 이용하여 프로그램 시작 전압(Vini_p) 레벨을 불휘발성으로 저장하는 경우, 제어값(CV)은 프로그램 동작 시에 요구되는 프로그램 펄스의 수를 포함하는 것으로 충분할 것이다. 즉, 프로그램 시작 전압(Vini_p)에 대응하는 정보는 요구되지 않을 것이다.
이 경우에, 제어값(CV)은 프로그램 동작 시에 요구되는 프로그램 펄스의 수에 대한 정보이며, 이 정보는 항상 일정할 것이다. 따라서, 제어값 레지스터(245)는 프로그램 동작 시에 요구되는 프로그램 펄스의 수에 대응하는 값을 발생하는 회로로 대체될 수 있음이 이해될 것이다.
도 5는 본 발명의 제 1 실시 예에 따른 불휘발성 메모리 장치(200)의 동작을 설명하기 위한 순서도이다. 도 2 내지 5를 참조하면, S110 단계에서, 파워-온 읽기 동작 시에 메모리 셀 어레이(210)로부터 제어값(CV)이 독출된다. 제어값(CV)은 제어 로직(240)의 제어값 레지스터(245)에 저장된다.
S120 단계에서, 프로그램 커맨드가 전달되면 S130 단계가 수행된다. S130 단계에서, 프로그램 동작이 수행된다. 시작 전압 제어기(241)는 제어값(CV)에 응답하여 프로그램 시작 전압(Vini_p)을 설정한다. 전압 발생기(243)는 프로그램 시작 전압(Vini_p)으로부터 단계적으로 증가하는 프로그램 펄스들을 발생한다. 이때, 읽기/쓰기 회로(220)의 프로그램 펄스 카운터(221)는 메모리 셀 어레이(210)에 인가되는 프로그램 펄스의 수를 카운트한다.
S140 단계에서, 프로그램 펄스의 수가 감소되었는지 판별된다. 제어값 계산 기(247)는 제어값(CV) 및 프로그램 펄스 카운트값(PPC)을 비교한다. 제어값(CV) 및 프로그램 펄스 카운트값(PPC)이 상이하면, 제어값 계산기(247)는 플래그 신호(Flag)를 발생한다.
S150 단계에서, 제어값(CV)이 갱신된다. 시작 전압 제어기(241)은 플래그 신호(Flag)에 응답하여 프로그램 시작 전압(Vini_p)을 조절한다. 그리고, 제어 로직(240)은 프로그램 시작 전압(Vini_p)이 조절되었음을 나타내도록 제어값(CV)을 갱신한다.
S160 단계에서, 갱신된 제어값(CV)이 메모리 셀 어레이(210)에 기입된다. 예시적으로, 파워-오프 동작 시에, 제어 로직(240)은 제어값(CV)을 메모리 셀 어레이(210)에 기입할 것이다. 다른 예로써, 제어 로직(240)은 제어값(CV)이 갱신될 때마다 제어값(CV)을 메모리 셀 어레이(210)에 기입할 것이다.
상술한 바와 같이, 본 발명의 제 1 실시 예에 따른 불휘발성 메모리 장치(200)는 메모리 셀 어레이(210), 메모리 셀 어레이(210)의 메모리 셀들의 논리 상태를 가변하기 위한 단계적으로 증가하는 스텝 펄스들을 제공하는 전압 발생기(243), 그리고 메모리 셀들의 논리 상태를 가변하기 위해 인가되는 단계적으로 증가하는 스텝 펄스들의 수에 따라, 단계적으로 증가하는 스텝 펄스들의 시작 전압을 조절하는 제어 로직(240)을 포함한다. 본 발명에 따르면, 읽기 마진이 확보되고 읽기 오류가 방지/감소된다.
도 6은 본 발명의 제 2 실시 예에 따른 불휘발성 메모리 장치(300)를 보여주는 블록도이다. 도 6을 참조하면, 본 발명의 제 2 실시 예에 따른 불휘발성 메모리 장치(300)는 메모리 셀 어레이(310), 읽기/쓰기 회로(320), 어드레스 디코더(330), 그리고 제어 로직(340)을 포함한다.
메모리 셀 어레이(310)는 제어값(CV)을 저장하기 위한 저장 공간(CV_BLK)을 포함한다. 예시적으로, 제어값(CV)은 소거 동작 시에 요구되는 소거 펄스들의 수 및 소거 시작 전압(Vini_e) 레벨에 대응하는 값을 포함할 것이다. 메모리 셀 어레이(310)가 저장하는 제어값(CV)을 제외하면, 메모리 셀 어레이(310)는 도 2를 참조하여 설명된 메모리 셀 어레이(210)와 동일하다. 따라서, 더 이상의 상세한 설명은 생략된다.
읽기/쓰기 회로(320)는 소거 펄스 카운터(321)를 포함한다. 소거 펄스 커운터(321)는 소거 동작 시에 메모리 셀 어레이(310)에 인가되는 소거 펄스의 수를 카운트할 것이다. 소거 펄스 카운트값(EPC)은 제어 로직(340)에 전달된다. 읽기/쓰기 회로(320)는 소거 펄스 카운터(321)를 제외하면 도 2를 참조하여 설명된 읽기/쓰기 회로(221)와 동일하다. 따라서, 더 이상의 상세한 설명은 생략된다.
도 2를 참조하여 설명된 바와 마찬가지로, 소거 펄스 카운터(321)는 읽기/쓰기 회로(320)의 구성요소로 한정되지 않음이 이해될 것이다. 소거 펄스 카운터(321)는 소거 동작 시에 메모리 셀 어레이(310)에 인가되는 소거 펄스의 수를 카운트하는 기능을 갖는 것으로 충분하며, 소거 펄스 카운터(321)가 형성되는 위치는 한정되지 않는다.
어드레스 디코더(330)는 도 2를 참조하여 설명된 어드레스 디코더(230)와 동일하다. 따라서, 어드레스 디코더(330)에 대한 상세한 설명은 생략된다.
제어 로직(340)은 불휘발성 메모리 장치(300)의 제반 동작을 제어한다. 제어 로직(340)은 시작 전압 제어기(341) 및 전압 발생기(343)를 포함한다. 시작 전압 제어기(341)는 단계적으로 증가하는 소거 펄스들의 소거 시작 전압(Vini_e)을 제어한다. 전압 발생기(343)는 소거 동작 시에 소거 시작 전압(Vini_e)으로부터 단계적으로 증가하는 소거 펄스들을 발생한다.
시작 전압 제어기(341)가 프로그램 펄스 카운트값(PPC) 대신 소거 펄스 카운트값(EPC)을 저장하고, 프로그램 시작 전압(Vini_p) 대신 소거 시작 전압(Vini_e)을 조절하는 것을 제외하면 도 3을 참조하여 설명된 시작 전압 제어기(241)와 동일하게 구성된다. 따라서, 시작 전압 제어기(341)의 구성에 대한 상세한 설명은 생략된다.
시작 전압 제어기(341)는 도 3을 참조하여 설명된 바와 마찬가지로, 제어값 레지스터 및 제어값 계산기로 구성될 것이다. 제어값 계산기(341)는 제어값(CV)과 소거 펄스 카운트값(EPC)을 비교하여 플래그 신호(Flag)를 발생할 것이다.
도 7은 도 6의 불휘발성 메모리 장치(300)의 동작을 설명하기 위한 다이어그램이다. 도 7에서, 가로 축은 프로그램/소거 횟수를 나타내고, 세로 축은 전압을 나타낸다. 이하에서, 도 6 및 7을 참조하여, 본 발명의 제 2 실시 예에 따른 불휘발성 메모리 장치(200)의 동작이 설명된다.
프로그램/소거 동작 시에, 불휘발성 메모리 장치(300)는 단계적으로 증가하는 스텝 펄스를 이용하여 프로그램/소거 동작을 수행한다. 프로그램/소거 동작이 반복되면, 프로그램/소거 동작에 요구되는 전압 레벨이 가변될 수 있다. 예시적으 로, 플래시 메모리 장치의 경우, 전하 저장층과 기판 사이의 절연막에 전하가 축적될 수 있다. 이 경우에, 플래시 메모리 셀의 프로그램 동작에 요구되는 전압 레벨은 낮아지고, 플래시 메모리 셀의 소거 동작에 요구되는 전압 레벨은 높아질 것이다. 플래시 메모리 장치와 마찬가지로, PRAM, RRAM, MRAM, EEPROM 등에서도 메모리 셀이 열화되면 프로그램/소거 동작시에 요구되는 전압 레벨이 가변될 것이다.
본 발명의 제 2 실시 예에 따른 불휘발성 메모리 장치(300)는 프로그램/소거 동작이 반복됨으로 인해 프로그램/소거 동작 시에 요구되는 전압 레벨이 가변되는 것을 보상한다. 이하에서, 플래시 메모리 장치의 예를 들어 본 발명의 기술적 사상이 더 상세하게 설명된다.
도 7에서, 선(Vera)은 소거 동작 시에 요구되는 전압 레벨을 나타낸다. 선(Vini_e)은 단계적으로 증가하는 소거 펄스의 시작 전압을 나타낸다. 그리고, △V는 소거 펄스가 단계적으로 증가하는 레벨을 나타낸다. 도 7에서, 소거 펄스는 소거 시작 전압(Vini_e)으로부터 단계적으로 △V만큼 증가하며, 소거 펄스가 소거 시작 전압(Vini_e)으로부터 단계적으로 3회 증가하면 소거 전압(Vera)에 도달하는 것으로 도시되어 있다. 그러나, 소거 펄스는 단계적으로 3회 증가하는 것으로 한정되지 않음이 이해될 것이다.
프로그램/소거 동작이 반복되면, 소거 동작 시에 요구되는 소거 전압(Vera)의 레벨은 점차 증가한다. 프로그램/소거 횟수가 시점(t1)에 도달한 경우, 소거 펄스가 단계적으로 4회 증가하면 소거 전압(Vera)에 도달한다. 소거 동작 시에 인가되는 소거 펄스의 수가 증가되면, 소거 동작이 수행되는 시간이 증가한다. 즉, 불 휘발성 메모리(300)의 동작 속도가 저하될 것이다.
본 발명의 제 2 실시 예에 따른 불휘발성 메모리 장치(300)는 소거 동작 시에 인가되는 소거 펄스의 수를 유지함으로써, 불휘발성 메모리 장치(300)의 동작 속도를 향상시킨다. 예시적으로, 본 발명의 제 2 실시 예에 따른 불휘발성 메모리 장치(300)는 소거 시작 전압(Vini_e)을 조절함으로써, 소거 펄스의 수를 유지한다.
제어값 계산기(347)는 제어값(CV) 및 소거 펄스 카운트값(EPC)을 비교한다. 예시적으로, 제어값(CV)은 소거 동작 시에 요구되는 소거 펄스의 수일 것이다. 간결하고 명확한 설명을 위하여, 소거 동작 시에 요구되는 소거 펄스의 수는 3인 것으로 가정한다. 즉, 제어값(CV)은 3인 것으로 가정한다. 그러나, 소거 동작 시에 요구되는 소거 펄스의 수는 3인 것으로 한정되지 않음이 이해될 것이다.
시점(t1)에서, 소거 펄스 카운트값(EPC)은 3에서 4로 증가한다. 반면, 제어값 레지스터(345)는 제어값(CV)으로서 3을 저장하고 있다. 제어값(CV) 및 소거 펄스 카운트값(EPC)이 상이하면, 제어값 계산기(347)는 플래그 신호(Flag)를 발생한다. 플래그 신호(Flag)가 발생되면, 전압 발생기(343)는 소거 펄스의 소거 시작 전압(Vini_e)을 증가시킨다. 예시적으로, 전압 발생기(343)는 △V만큼 소거 시작 전압(Vini_e)을 감소시킬 것이다.
도 7에 도시된 바와 같이, 시점(t1)에서 소거 시작 전압(Vini_e)이 증가되면, 소거 동작시에 인가되는 소거 펄스의 수가 4에서 3으로 감소한다. 즉, 시점(t1) 이전 및 이후에서 소거 펄스의 수가 동일하게 유지된다. 따라서, 불휘발성 메모리 장치(300)의 동작 속도가 향상된다.
시점(t2)에서, 소거 동작 시에 인가되는 소거 펄스의 수는 3에서 4로 증가한다. 따라서, 제어값 계산기(347)가 플래그 신호(Flag)를 발생하고, 전압 발생기(343)는 소거 시작 전압(Vini_e)을 증가시킨다. 이때, 소거 동작 시에 인가되는 소거 펄스의 수는 4에서 3으로 감소한다. 즉, 시점(t2) 이전 및 이후에서, 소거 펄스의 수는 동일하게 유지된다. 따라서, 불휘발성 메모리 장치(300)의 동작 속도가 향상된다.
제어값(CV)은 소거 시작 전압(Vini_e)에 대응하는 정보를 추가적으로 포함할 것이다. 예시적으로, 시점들(t1, t2) 사이에서, 소거 시작 전압(Vini_e)은 초기 레벨로부터 1회 증가되어 있다. 제어값(CV)은 소거 시작 전압(Vini_e)이 초기 레벨로부터 증가된 횟수에 대응하는 정보를 포함할 것이다. 파워-온 읽기 동작 시에, 제어값 계산기(347)는 제어값(CV)을 참조하여 소거 시작 전압(Vini_e)을 조절할 것이다. 프로그램/소거 동작의 반복에 의해 소거 시작 전압(Vini_p)이 변경되는 경우, 제어값 계산기(347)는 제어값 레지스터(345)에 저장되어 있는 제어값(CV)을 갱신할 것이다. 그리고, 제어 로직(340)은 메모리 셀 어레이(210)의 저장 공간(CV_BLK)의 제어값(CV) 또한 갱신할 것이다.
제어값(CV)은 메모리 셀 어레이(310)에 저장되는 대신 제어값 레지스터에 불휘발성으로 저장될 수 있음이 이해될 것이다.
전압 발생기(343)는 전압 트림 회로와 같이, 이 분야에 잘 알려져 있는 회로를 이용하여 소거 시작 전압(Vini_e)을 가변할 것이다. 소거 시작 전압(Vini_e)을 가변하는 트림 회로가 전기 퓨즈를 이용하여 소거 시작 전압(Vini_e) 레벨을 불휘 발성으로 저장하는 경우, 제어값(CV)은 소거 동작 시에 요구되는 소거 펄스의 수를 포함하는 것으로 충분할 것이다. 즉, 소거 시작 전압(Vini_e)에 대응하는 정보는 요구되지 않을 것이다. 이 경우에, 제어값 레지스터(345)는 소거 동작 시에 요구되는 소거 펄스의 수에 대응하는 값을 발생하는 회로로 대체될 수 있음이 이해될 것이다.
도 8은 본 발명의 제 2 실시 예에 따른 불휘발성 메모리 장치(300)의 동작을 설명하기 위한 순서도이다. 도 6 내지 8을 참조하면, S210 단계에서, 파워-온 읽기 동작 시에 메모리 셀 어레이(310)로부터 제어값(CV)이 독출된다. 제어값(CV)은 제어 로직(340)의 제어값 레지스터에 저장된다.
S220 단계에서, 소거 커맨드가 전달되면 S230 단계가 수행된다. S230 단계에서, 소거 동작이 수행된다. 시작 전압 제어기(341)는 제어값(CV)에 응답하여 소거 시작 전압(Vini_e)을 설정한다. 전압 발생기(343)는 소거 시작 전압(Vini_e)으로부터 단계적으로 증가하는 소거 펄스들을 발생한다. 이때, 읽기/쓰기 회로(320)의 소거 펄스 카운터(321)는 메모리 셀 어레이(310)에 인가되는 소거 펄스들의 수를 카운트한다.
S240 단계에서, 소거 펄스의 수가 증가되었는지 판별된다. 제어값 계산기(347)는 제어값(CV) 및 소거 펄스 카운트값(EPC)을 비교한다. 제어값(CV) 및 소거 펄스 카운트값(EPC)이 상이하면, 제어값 계산기(347)는 플래그 신호(Flag)를 발생한다.
S250 단계에서, 제어값(CV)이 갱신된다. 제어 로직(340)은 플래그 신 호(Flag)에 응답하여 소거 시작 전압(Vini_e)을 조절한다. 그리고, 소거 시작 전압(Vini_e)이 조절되었음을 나타내도록 제어값(CV)을 갱신한다.
S260 단계에서, 갱신된 제어값(CV)이 메모리 셀 어레이(310)에 기입된다. 예시적으로, 파워-오프 동작 시에, 제어 로직(340)은 제어값(CV)을 메모리 셀 어레이(310)에 기입할 것이다. 다른 예로써, 제어 로직(340)은 제어값(CV)이 갱신될 때마다 제어값(CV)을 메모리 셀 어레이(310)에 기입할 것이다.
상술한 바와 같이, 본 발명의 제 2 실시 예에 따른 불휘발성 메모리 장치(300)는 메모리 셀 어레이(310), 메모리 셀 어레이(310)의 메모리 셀들의 논리 상태를 가변하기 위한 단계적으로 증가하는 스텝 펄스들을 제공하는 전압 발생기(343), 그리고 메모리 셀들의 논리 상태를 가변하기 위해 인가되는 단계적으로 증가하는 스텝 펄스들의 수에 따라, 단계적으로 증가하는 스텝 펄스들의 시작 전압을 조절하는 제어 로직(340)을 포함한다. 본 발명에 따르면, 불휘발성 메모리 장치(300)의 동작 속도가 향상된다.
도 2 내지 5를 참조하여 본 발명의 제 1 실시 예에 따른 불휘발성 메모리 장치(200)가 설명되고, 도 6 내지 8을 참조하여 본 발명의 제 2 실시 예에 따른 불휘발성 메모리 장치(300)가 설명되었다. 본 발명의 제 1 실시 예의 프로그램 시작 전압을 조절하는 장치들 및 방법들과, 본 발명의 제 2 실시 예의 소거 시작 전압을 조절하는 장치들 및 방법들은 하나의 불휘발성 메모리 장치에 구현될 수 있음이 이해될 것이다.
예시적으로, 읽기/쓰기 회로는 프로그램 펄스 카운터(221) 및 소거 펄스 카 운터(321)를 포함하고, 제어 로직은 제어값(CV), 프로그램 펄스 카운트값(PPC), 그리고 소거 펄스 카운트값(EPC)을 이용하여 프로그램 시작 전압(Vini_p) 및 소거 시작 전압(Vini_e)을 조절할 것이다.
다른 예로써, 도 2 내지 5를 참조하여 설명된 본 발명의 제 1 실시 예에 따른 불휘발성 메모리 장치(200)는 프로그램 펄스 카운트값(PPC)에 응답하여, 프로그램 시작 전압(Vini_p) 및 소거 시작 전압(Vini_e) 모두를 조절할 수 있음이 이해될 것이다.
예시적으로, 본 발명의 제 1 실시 예에 따른 불휘발성 메모리 장치(200)는 프로그램 펄스 카운트값(PPC)이 변경되면, 예를 들면 프로그램 펄스 카운트값(PPC)이 감소되면, 프로그램 시작 전압(Vini_p)을 감소시키고 소거 시작 전압(Vini_e)을 증가시킬 것이다. 이때, 제어값 저장 영역(CV_BLK)은 프로그램 시작 전압(Vini_p) 및 소거 시작 전압(Vini_e)에 대한 정보를 저장할 것이다. 불휘발성 메모리 장치(200)가 소거 시작 전압(Vini_e)을 제어하는 방법은 제어값(CV) 및 소거 펄스 카운트값(EPC)을 비교하는 대신 제어값(CV) 및 프로그램 펄스 카운트값(PPC)을 비교하는 것을 제외하면, 도 6 내지 8을 참조하여 설명된 것과 같은 방법으로 수행될 것이다.
다른 예로써, 도 6 내지 8을 참조하여 설명된 본 발명의 제 2 실시 예에 따른 불휘발성 메모리 장치(300)는 소거 펄스 카운트값(EPC)에 응답하여 프로그램 시작 전압(Vini_p) 및 소거 시작 전압(Vini_e) 모두를 제어할 수 있음이 이해될 것이다.
예시적으로, 본 발명의 제 2 실시 예에 따른 불휘발성 메모리 장치(300)는 소거 펄스 카운트값(EPC)이 변경되면, 예를 들면 소거 펄스 카운트값(EPC)이 증가되면, 프로그램 시작 전압(Vini_p)을 감소시키고 소거 시작 전압(Vini_e)을 증가시킬 것이다. 이때, 제어값 저장 영역(CV_BLK)은 프로그램 시작 전압(Vini_p) 및 소거 시작 전압(Vini_e)에 대한 정보를 저장할 것이다. 불휘발성 메모리 장치(300)가 프로그램 시작 전압(Vini_e)을 제어하는 방법은 제어값(CV) 및 프로그램 펄스 카운트값(PPC)을 비교하는 대신 제어값(CV) 및 소거 펄스 카운트값(EPC)을 비교하는 것을 제외하면, 도 2 내지 5를 참조하여 설명된 것과 같은 방법으로 수행될 것이다.
도 9는 본 발명의 제 3 실시 예에 따른 불휘발성 메모리 장치(400)를 보여주는 블록도이다. 도 9를 참조하면, 본 발명의 제 3 실시 예에 따른 불휘발성 메모리 장치(400)는 메모리 셀 어레이(410), 읽기/쓰기 회로(410), 어드레스 디코더(430), 그리고 제어 로직(440)을 포함한다.
메모리 셀 어레이(410)는 복수의 저장 영역들(BLK1~BLKn)로 구성된다. 예시적으로, 저장 영역들(BLK1~BLKn)은 각각 메모리 블록들에 대응할 것이다. 다른 예로써, 저장 영역들(BLK1~BLKn)은 각각 싱글-레벨 저장 영역 및 멀티-레벨 저장 영역에 대응할 것이다. 다른 예로써, 저장 영역들(BLK1~BLKn)은 각각 사용자 데이터 영역 및 메타 데이터 영역에 대응할 것이다. 다른 예로써, 저장 영역들(BLK1~BLKn)은 각각 데이터 저장 영역 및 코드 저장 영역에 대응할 것이다.
저장 영역들(BLK1~BLKn)은 각각 대응하는 제어값 저장 영역(CV1~CVn)을 포함한다. 예시적으로, 제어값 저장 영역(CV1)은 저장 영역(BLK1)에 대응하는 제어 값(CV1)을 저장할 것이다. 제어값 저장 영역(CV2)은 저장 영역(BLK2)에 대응하는 제어값(CV2)을 저장할 것이다. 제어값 저장 영역(CVn)은 저장 영역(BLKn)에 대응하는 제어값(CVn)을 저장할 것이다. 예시적으로, 제어값 저장 영역들(CV1~CVn)은 각각 저장 영역들(BLK1~BLKn)에 대응하는 스페어 영역 또는 플래그 영역일 것이다.
메모리 셀 어레이(410)는 제어값 저장 영역들(CV1~CVn)을 제외하면 도 2 및 도 6을 참조하여 설명된 메모리 셀 어레이(210, 310)와 동일하다. 따라서, 메모리 셀 어레이(410)의 더 상세한 설명은 생략된다.
읽기/쓰기 회로(420)는 프로그램/소거 펄스 카운터(421)를 포함한다. 프로그램/소거 펄스 카운터(421)는 프로그램 동작 시에 메모리 셀 어레이(410)에 인가되는 프로그램 펄스의 수를 카운트하고, 소거 동작 시에 메모리 셀 어레이(410)에 인가되는 소거 펄스의 수를 카운트한다. 읽기/쓰기 회로(420)는 프로그램/소거 펄스 카운터(421)를 제외하면 도 2 및 6을 참조하여 설명된 읽기/쓰기 회로(220, 320)와 동일하다. 따라서, 읽기/쓰기 회로(420)의 더 상세한 설명은 생략된다.
도 2 및 6을 참조하여 설명된 바와 마찬가지로, 프로그램 및 소거 펄스 카운터(421)가 형성되는 위치는 읽기/쓰기 회로(420)에 한정되지 않음이 이해될 것이다.
어드레스 디코더(430)는 도 2 및 6을 참조하여 설명된 어드레스 디코더(230, 330)와 동일하다. 따라서, 어드레스 디코더(430)의 상세한 설명은 생략된다.
제어 로직(440)은 불휘발성 메모리 장치(400)의 제반 동작을 제어한다. 제어 로직(440)은 시작 전압 제어기(441) 및 전압 발생기(443)를 포함한다. 도 2 내지 5 를 참조하여 설명된 바와 마찬가지로, 시작 전압 제어기(441)는 프로그램 펄스 카운트값(PPC) 및 제어값(CV)을 비교하고, 비교 결과에 따라 프로그램 시작 전압(Vini_p)을 조절한다. 도 6 내지 8을 참조하여 설명된 바와 마찬가지로, 시작 전압 제어기(441)는 소거 펄스 카운트값(EPC) 및 제어값(CV)을 비교하고, 비교 결과에 따라 소거 시작 전압(Vini_e)을 조절한다.
전압 발생기(443)는 시작 전압 발생기(441)로부터 전달되는 플래그 신호(Flag)에 응답하여, 미리 설정된 레벨을 갖는 프로그램/소거 펄스들을 발생할 것이다. 제어 로직(440)은 시작 전압 제어기(441) 및 전압 발생기(443)를 제외하면 도 2 및 6을 참조하여 설명된 제어 로직(240, 340)과 동일하게 구성된다. 따라서, 제어 로직(440)의 더 상세한 설명은 생략된다.
시작 전압 제어기(441)는 도 3을 참조하여 설명된 바와 마찬가지로, 제어값 레지스터 및 제어값 계산기로 구성될 것이다. 제어값 계산기는 제어값(CV1~CVn)과 프로그램/소거 펄스 카운트값(PPC/EPC)을 비교하여 플래그 신호(Flag)를 발생할 것이다.
도 10은 도 9의 불휘발성 메모리 장치(400)의 동작을 설명하기 위한 순서도이다. 도 9 및 10을 참조하면, S310 단계에서, 프로그램/소거 커맨드가 전달되었는지 판별된다. 프로그램/소거 커맨드가 전달되면, S320 단계가 수행된다.
S320 단계에서, 읽기/쓰기 회로(420)는 저장 영역들(BLK1~BLKn) 중 프로그램/소거 커맨드에 대응하는 저장 영역(예를 들면, BLK2)의 제어값(예를 들면, CV2)을 읽어 제어 로직(440)에 전달한다. 제어 로직(440)은 읽기/쓰기 회로(420)로부터 전 달되는 제어값(CV2)을 제어값 레지스터(CV2)에 저장한다.
예시적으로, S310 단계에서 프로그램 커맨드가 전달된 경우, 읽기/쓰기 회로(420)는 프로그램 커맨드에 대응하는 저장 영역(BLK2)의 제어값 저장 영역(CV2)에서 프로그램 동작에 관련된 정보를 읽을 것이다. 예시적으로, 읽기/쓰기 회로(420)는 프로그램 동작 시에 요구되는 프로그램 펄스의 수와 저장 영역(BLK2)의 프로그램 시작 전압(Vini_p)의 조절 여부를 나타내는 정보를 제어값 저장 영역(CV2)으로부터 읽을 것이다.
다른 예로써, S310 단계에서 소거 커맨드가 전달된 경우, 읽기/쓰기 회로(420)는 소거 커맨드에 대응하는 저장 영역(BLK2)의 제어값 저장 영역(CV2)에서 소거 동작에 관련된 정보를 읽을 것이다. 예시적으로, 읽기/쓰기 회로(420)는 소거 동작 시에 요구되는 소거 펄스의 수와 저장 영역(BLK2)의 소거 시작 전압(Vini_e)의 조절 여부를 나타내는 정보를 제어값 저장 영역(CV2)으로부터 읽을 것이다.
S330 단계에서, 프로그램/소거 동작이 수행된다. 전압 발생기(443)는 프로그램/소거 시작 전압(Vini_p/Vini_e)으로부터 단계적으로 증가하는 프로그램/소거 펄스들을 메모리 셀 어레이(410)에 전달할 것이다.
S340 단계에서, 프로그램/소거 펄스의 수가 변화되었는지 판별된다. 제어 로직(440)은 제어값 레지스터에 저장되어 있는 제어값(CV2)을 프로그램/소거 펄스 카운트값(PPC/EPC)과 비교한다. S320 단계에서 프로그램 커맨드가 전달되었고, 제어값(CV2)이 프로그램 펄스 카운트값(PPC)과 상이하면, 제어 로직(440)은 프로그램 시작 전압(Vini_p)을 감소시킨다. S320 단계에서 소거 커맨드가 전달되었고, 제어 값(CV2)이 소거 펄스 카운트값(EPC)과 상이하면, 제어 로직(440)은 소거 시작 전압(Vini_e)을 증가시킨다. 프로그램/소거 펄스의 수가 변경된 경우, S350 단계가 수행된다.
S350 단계에서, 제어값(CV2)이 갱신된다. 제어 로직(CV2)은 제어값 레지스터에 저장되어 있는 제어값(CV2)을 갱신할 것이다.
S360 단계에서, 갱신된 제어값(CV2)이 프로그램/소거 커맨드에 대응하는 저장 영역(BLK2)의 제어값 저장 영역(CV2)에 기입된다. 예시적으로, 제어 로직(440)은 프로그램/소거 동작이 수행될 때마다, 제어값(CV2)을 메모리 셀 어레이(410)의 제어값 저장 영역(CV2)에 기입할 것이다.
도 9 및 10을 참조하여 설명된 바와 같이, 본 발명의 제 3 실시 예에 따른 불휘발성 메모리 장치(400)는 메모리 셀 어레이(410), 메모리 셀 어레이(410)의 메모리 셀들의 논리 상태를 가변하기 위한 단계적으로 증가하는 스텝 펄스들을 제공하는 전압 발생기(443), 그리고 메모리 셀들의 논리 상태를 가변하기 위해 인가되는 단계적으로 증가하는 스텝 펄스들의 수에 따라, 단계적으로 증가하는 스텝 펄스들의 시작 전압(Vini_p, Vini_e)을 조절하는 제어 로직(440)을 포함한다. 본 발명에 따르면, 불휘발성 메모리 장치(400)의 읽기 마진이 향상되고, 읽기 오류가 방지되고, 그리고 동작 속도가 향상된다.
본 발명의 제 3 실시 예에 따른 불휘발성 메모리 장치(400)는 프로그램 및 소거 시작 전압들(Vini_e, Vini_p)을 조절하는 것으로 설명되었다. 그러나, 본 발명의 제 3 실시 예에 따른 불휘발성 메모리 장치(400)는 도 2 내지 5를 참조하여 설명된 바와 같이 프로그램 시작 전압(Vini_p)을 조절할 수 있고, 도 6 내지 8을 참조하여 설명된 바와 같이 소거 시작 전압(Vini_e)을 조절할 수 있음이 이해될 것이다.
또한, 상술한 바와 같이, 본 발명의 제 3 실시 예에 따른 불휘발성 메모리 장치(400)는 프로그램 펄스 카운트값(PPC)에 응답하여 프로그램 시작 전압(Vini_p) 및 소거 시작 전압(Vini_e)을 제어할 수 있고, 소거 펄스 카운트값(EPC)에 응답하여 프로그램 시작 전압(Vini_p) 및 소거 시작 전압(Vini_e)을 제어할 수도 있음이 이해될 것이다.
상술한 실시 예에서, 본 발명의 실시 예들에 따른 불휘발성 메모리 장치(200, 300, 400)는 프로그램 시작 전압(Vini_p) 및 소거 시작 전압(Vini_e)을 제어하는 것으로 설명되었다. 그러나, 본 발명의 실시 예들에 따른 불휘발성 메모리 장치(200, 300, 400)는 프로그램 시작 전압(Vini_p) 및 소거 시작 전압(Vini_e) 이외의 다른 전압들도 제어할 수 있음이 이해될 것이다.
예시적으로, 본 발명의 실시 예들에 따른 불휘발성 메모리 장치(200, 300, 400)는 패스 전압(Vpass)과 같이 일정한 레벨을 갖는 전압을 제어할 것이다. 상술한 바와 같이, 프로그램/소거 동작이 반복되면, 프로그램 동작을 위해 요구되는 전압 레벨이 낮아진다. 즉, 프로그램/소거 동작이 반복되어도 패스 전압(Vpass)이 일정한 레벨을 유지하는 경우, 패스 전압(Vpass)에 의한 프로그램 교란(program disturb)의 영향이 증대될 것이다.
패스 전압(Vpass)에 의한 프로그램 교란(program disturv)의 영향을 방지하 기 위해, 본 발명의 실시 예들에 따른 불휘발성 메모리 장치(200, 300, 400)는 프로그램/소거 동작이 반복되면 패스 전압(Vpass) 레벨을 조절할 것이다. 예시적으로, 불휘발성 메모리 장치(200, 300, 400)는 패스 전압(Vpass) 레벨이 낮아지도록 제어할 것이다.
예시적으로, 불휘발성 메모리 장치(200, 400)는 프로그램 펄스 카운트값(PPC)이 변화되면, 예를 들면 프로그램 펄스 카운트값(PPC)이 감소하면, 패스 전압(Vpass) 레벨을 조절할 것이다. 이때, 제어값 저장 영역(CV_BLK)에 패스 전압(Vpass) 레벨에 대한 정보가 저장될 것이다. 즉, 제어값(CV)은 패스 전압(Vpass) 레벨에 대한 정보를 추가적으로 포함할 것이다.
예시적으로, 불휘발성 메모리 장치(200, 400)는 소거 펄스 카운트값(EPC)이 변화되면, 예를 들면 소거 펄스 카운트값(EPC)이 증가하면, 패스 전압(Vpass) 레벨을 조절할 것이다. 이때, 제어값 저장 영역(CV_BLK)에 패스 전압(Vpass) 레벨에 대한 정보가 저장될 것이다. 즉, 제어값(CV)은 패스 전압(Vpass) 레벨에 대한 정보를 추가적으로 포함할 것이다.
전압 발생기(243, 343, 443)는 당업자에게 잘 알려져 있는 트림 회로를 이용하여 패스 전압(Vpass)을 발생할 것이다. 전압 발생기(243, 343, 443)는 제어값(CV)에 응답하여 조절된 패스 전압(Vpass)을 발생할 것이다.
상술한 바와 같이, 패스 전압(Vpass)을 발생하기 위한 트림 회로가 전기 퓨즈와 같은 회로를 통해 패스 전압(Vpass) 레벨을 불휘발성으로 저장하는 경우,패스전압(Vpass) 레벨에 대한 정보는 제어값(CV)에 포함되지 않을 수 있음이 이해될 것 이다. 또한, 상술한 바와 같이, 제어 로직(240, 340, 440)이 패스 전압(Vpass) 레벨에 대한 정보를 불휘발성으로 저장하는 경우, 패스 전압(Vpass) 레벨에 대한 정보는 제어값(CV)에 포함되지 않을 수 있음이 이해될 것이다.
본 발명의 실시 예들에 따른 불휘발성 메모리 장치(200, 300, 400)는 일정한 레벨을 갖는 전압들 중 패스 전압(Vpass) 레벨을 제어하는 것으로 한정되지 않음이 이해될 것이다. 불휘발성 메모리 장치의 동작 시에, 다양한 레벨의 전압들이 이용된다. 예를 들면, 불휘발성 메모리 장치의 동작 시에, 읽기 전압, 프로그램 금지 전압, 프리차지 전압 등의 다양한 전압들이 이용된다. 불휘발성 메모리 장치의 동작 시에 이용되는 다양한 전압들에 본 발명의 기술적 사상이 적용될 수 있음이 이해될 것이다. 즉, 불휘발성 메모리 셀의 프로그램/소거 동작이 반복됨에 따라, 불휘발성 메모리 장치의 동작 시에 이용되는 다양한 전압들의 레벨들이 조절될 수 있음이 이해될 것이다.
도 11은 도 1의 메모리 시스템(10)을 포함하는 컴퓨팅 시스템(500)의 실시 예를 보여주는 블록도이다. 도 11을 참조하면, 본 발명의 실시 예에 따른 컴퓨팅 시스템(500)은 중앙 처리 장치(510), 램(520, RAM, Random Access Memory), 사용자 인터페이스(530), 전원(540), 그리고 메모리 시스템(10)을 포함한다.
메모리 시스템(10)은 시스템 버스(550)를 통해, 중앙처리장치(510), 램(520), 사용자 인터페이스(530), 그리고 전원(540)에 전기적으로 연결된다. 사용자 인터페이스(530)를 통해 제공되거나, 중앙 처리 장치(510)에 의해서 처리된 데이터는 메모리 시스템(10)에 저장된다. 메모리 시스템(10)은 컨트롤러(100) 및 불 휘발성 메모리 장치(200/300/400)를 포함한다.
메모리 시스템(10)이 반도체 디스크 장치(SSD)로 장착되는 경우, 컴퓨팅 시스템(500)의 부팅 속도가 획기적으로 빨라질 수 있다. 도면에 도시되지 않았지만, 본 발명에 따른 시스템은 응용 칩셋(Application Chipset), 카메라 이미지 프로세서(Camera Image Processor) 등을 더 포함할 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 이해될 것이다.
본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위와 기술적 사상에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 자명하다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템을 보여주는 블록도이다.
도 2는 도 1의 불휘발성 메모리 장치의 제 1 실시 예를 보여주는 블록도이다.
도 3은 도 2의 시작 전압 제어기의 실시 예를 보여주는 블록도이다.
도 4는 본 발명의 제 1 실시 예에 따른 불휘발성 메모리 장치의 동작을 설명하기 위한 다이어그램이다.
도 5는 본 발명의 제 1 실시 예에 따른 불휘발성 메모리 장치의 동작을 설명하기 위한 순서도이다.
도 6은 본 발명의 제 2 실시 예에 따른 불휘발성 메모리 장치를 보여주는 블록도이다.
도 7은 도 6의 불휘발성 메모리 장치의 동작을 설명하기 위한 다이어그램이다.
도 8은 본 발명의 제 2 실시 예에 따른 불휘발성 메모리 장치의 동작을 설명하기 위한 순서도이다.
도 9는 본 발명의 제 3 실시 예에 따른 불휘발성 메모리 장치를 보여주는 블록도이다.
도 10은 도 9의 불휘발성 메모리 장치의 동작을 설명하기 위한 순서도이다.
도 11은 도 1의 메모리 시스템을 포함하는 컴퓨팅 시스템의 실시 예를 보여주는 블록도이다.

Claims (22)

  1. 메모리 셀 어레이;
    상기 메모리 셀 어레이의 메모리 셀들의 논리 상태를 가변하기 위한 단계적으로 증가하는 스텝 펄스들을 제공하는 전압 발생기; 그리고
    상기 단계적으로 증가하는 스텝 펄스들의 수에 따라, 상기 단계적으로 증가하는 스텝 펄스들의 시작 전압을 조절하는 제어 로직을 포함하는 불휘발성 메모리 장치.
  2. 제 1 항에 있어서,
    상기 단계적으로 증가하는 스텝 펄스들은 프로그램 펄스들이고, 상기 시작 전압은 프로그램 시작 전압인 불휘발성 메모리 장치.
  3. 제 2 항에 있어서,
    상기 프로그램 펄스들의 수가 감소하면, 상기 제어 로직은 상기 프로그램 시작 전압을 감소시키는 불휘발성 메모리 장치.
  4. 제 1 항에 있어서,
    상기 단계적으로 증가하는 스텝 펄스들은 소거 펄스들이고, 상기 시작 전압은 소거 시작 전압인 불휘발성 메모리 장치.
  5. 제 4 항에 있어서,
    상기 소거 펄스들의 수가 증가하면, 상기 제어 로직은 상기 소거 시작 전압을 증가시키는 불휘발성 메모리 장치.
  6. 제 1 항에 있어서,
    상기 제어 로직은 제어값 및 상기 단계적으로 증가하는 스텝 펄스들의 수를 비교하고, 비교 결과에 따라 상기 시작 전압을 조절하고,
    상기 제어값은 프로그램/소거 동작 시에 요구되는 스텝 펄스들의 수인 불휘발성 메모리 장치.
  7. 제 6 항에 있어서,
    상기 제어값은 상기 메모리 셀 어레이에 저장되는 불휘발성 메모리 장치.
  8. 제 7 항에 있어서,
    상기 제어값은 상기 시작 전압에 대응하는 정보를 더 포함하고,
    상기 시작 전압이 조절되는 경우, 상기 제어 로직은 상기 시작 전압에 대응하는 정보를 갱신하는 불휘발성 메모리 장치.
  9. 제 7 항에 있어서,
    상기 메모리 셀 어레이는 복수의 영역으로 분할되고,
    상기 복수의 영역 각각은 대응하는 제어값을 저장하는 불휘발성 메모리 장치.
  10. 제 9 항에 있어서,
    상기 제어 로직은 상기 복수의 영역 중 외부로부터 전달되는 어드레스에 대응하는 영역의 제어값을 읽고, 상기 읽어진 제어값 및 상기 단계적으로 증가하는 스텝 펄스들의 수를 비교하고, 비교 결과에 따라 상기 시작 전압을 조절하고, 상기 조절된 시작 전압에 따라 상기 외부로부터 전달되는 어드레스에 대응하는 영역의 제어값을 갱신하는 불휘발성 메모리 장치.
  11. 제 6 항에 있어서,
    상기 제어 로직은 상기 제어값을 저장하기 위한 불휘발성 저장 장치를 포함하는 불휘발성 메모리 장치.
  12. 제 11 항에 있어서,
    상기 제어 로직은 상기 조절된 시작 전압을 저장하기 위한 불휘발성 저장 장치를 더 포함하는 불휘발성 메모리 장치.
  13. 제 1 항에 있어서,
    상기 제어 로직은 상기 메모리 셀들의 논리 상태를 가변하기 위해 인가되는 상기 단계적으로 증가하는 스텝 펄스들의 수에 따라, 패스 전압 레벨을 조절하는 불휘발성 메모리 장치.
  14. 불휘발성 메모리 장치의 동작 방법에 있어서:
    메모리 셀들의 논리 상태를 가변시키기 위한 단계적으로 증가하는 스텝 펄스들을 상기 메모리 셀들에 인가하는 단계;
    상기 메모리 셀들의 논리 상태를 가변시키기 위해 인가된 스텝 펄스들의 수 및 상기 불휘발성 메모리 장치의 동작을 위해 요구되는 스텝 펄스들의 수를 비교하는 단계; 그리고
    상기 비교 결과에 따라 상기 단계적으로 증가하는 스텝 펄스들의 시작 전압을 조절하는 단계를 포함하는 동작 방법.
  15. 제 14 항에 있어서,
    상기 단계적으로 증가하는 스텝 펄스들은 프로그램 펄스들이고, 상기 시작 전압은 프로그램 시작 전압인 동작 방법.
  16. 제 14 항에 있어서,
    상기 단계적으로 증가하는 스텝 펄스들은 소거 펄스들이고, 상기 시작 전압은 소거 시작 전압인 동작 방법.
  17. 제 14 항에 있어서,
    상기 비교 결과에 따라 패스 전압을 조절하는 단계를 더 포함하는 동작 방법.
  18. 불휘발성 메모리 장치; 그리고
    상기 불휘발성 메모리 장치를 제어하기 위한 컨트롤러를 포함하고,
    상기 불휘발성 메모리 장치는
    메모리 셀 어레이;
    상기 메모리 셀 어레이의 메모리 셀들의 논리 상태를 가변하기 위한 단계적으로 증가하는 스텝 펄스들을 제공하는 전압 발생기; 그리고
    상기 단계적으로 증가하는 스텝 펄스들의 수에 따라, 상기 단계적으로 증가하는 스텝 펄스들의 시작 전압을 조절하는 제어 로직을 포함하는 메모리 시스템.
  19. 삭제
  20. 제 18 항에 있어서,
    상기 불휘발성 메모리 장치 및 상기 컨트롤러는 반도체 디스크 드라이브/장치(SSD, Solid State Drive)를 구성하는 메모리 시스템.
  21. 제 18 항에 있어서,
    상기 불휘발성 메모리 장치 및 상기 컨트롤러는 메모리 카드를 구성하는 메모리 시스템.
  22. 삭제
KR1020080090752A 2008-09-16 2008-09-16 불휘발성 메모리 장치 및 그것의 동작 방법, 그리고 그것을포함하는 메모리 시스템 KR101423612B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020080090752A KR101423612B1 (ko) 2008-09-16 2008-09-16 불휘발성 메모리 장치 및 그것의 동작 방법, 그리고 그것을포함하는 메모리 시스템
US12/542,882 US7929350B2 (en) 2008-09-16 2009-08-18 Nonvolatile memory device, operating method thereof, and memory system including the same
US13/046,838 US8149625B2 (en) 2008-09-16 2011-03-14 Nonvolatile memory device, operating method thereof, and memory system including the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080090752A KR101423612B1 (ko) 2008-09-16 2008-09-16 불휘발성 메모리 장치 및 그것의 동작 방법, 그리고 그것을포함하는 메모리 시스템

Publications (2)

Publication Number Publication Date
KR20100031893A KR20100031893A (ko) 2010-03-25
KR101423612B1 true KR101423612B1 (ko) 2014-07-25

Family

ID=42007103

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080090752A KR101423612B1 (ko) 2008-09-16 2008-09-16 불휘발성 메모리 장치 및 그것의 동작 방법, 그리고 그것을포함하는 메모리 시스템

Country Status (2)

Country Link
US (2) US7929350B2 (ko)
KR (1) KR101423612B1 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101535267B1 (ko) * 2008-12-01 2015-07-09 삼성전자주식회사 파워-온 검출기, 파워-온 검출기의 동작 방법, 그리고 파워-온 검출기를 포함하는 메모리 장치
US9741436B2 (en) 2010-07-09 2017-08-22 Seagate Technology Llc Dynamically controlling an operation execution time for a storage device
JP2012063871A (ja) * 2010-09-14 2012-03-29 Univ Of Tokyo 制御装置およびデータ記憶装置
KR101780422B1 (ko) 2010-11-15 2017-09-22 삼성전자주식회사 불휘발성 메모리 장치, 그것의 읽기 방법, 그리고 그것을 포함하는 메모리 시스템
KR20120098079A (ko) * 2011-02-28 2012-09-05 에스케이하이닉스 주식회사 불휘발성 메모리 장치 및 이의 프로그램 방법
US9218876B2 (en) 2012-05-08 2015-12-22 Micron Technology, Inc. Methods, articles and devices for pulse adjustments to program a memory cell
US9183929B2 (en) 2012-08-29 2015-11-10 Micron Technology, Inc. Systems, methods and devices for programming a multilevel resistive memory cell
US9117519B2 (en) 2012-08-29 2015-08-25 Micron Technology, Inc. Methods, devices and systems using over-reset state in a memory cell
KR102030330B1 (ko) 2012-12-11 2019-10-10 삼성전자 주식회사 저항체를 이용한 비휘발성 메모리 장치 및 그 구동 방법
US8971128B2 (en) 2013-01-31 2015-03-03 Sandisk Technologies Inc. Adaptive initial program voltage for non-volatile memory
US9142298B2 (en) 2013-02-11 2015-09-22 Sandisk Technologies Inc. Efficient smart verify method for programming 3D non-volatile memory
US9042181B2 (en) * 2013-03-15 2015-05-26 SanDisk Technologies, Inc. Periodic erase operation for a non-volatile medium
US8891308B1 (en) 2013-09-11 2014-11-18 Sandisk Technologies Inc. Dynamic erase voltage step size selection for 3D non-volatile memory
US8982637B1 (en) 2013-09-12 2015-03-17 Sandisk Technologies Inc. Vread bias allocation on word lines for read disturb reduction in 3D non-volatile memory
US9123424B2 (en) * 2013-12-17 2015-09-01 Sandisk Technologies Inc. Optimizing pass voltage and initial program voltage based on performance of non-volatile memory
KR102218735B1 (ko) * 2014-01-21 2021-02-23 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 그것의 소거 방법
US9666244B2 (en) 2014-03-01 2017-05-30 Fusion-Io, Inc. Dividing a storage procedure
US9933950B2 (en) 2015-01-16 2018-04-03 Sandisk Technologies Llc Storage operation interrupt
US9852800B2 (en) * 2016-03-07 2017-12-26 Sandisk Technologies Llc Adaptive determination of program parameter using program of erase rate
US11461035B2 (en) * 2020-12-18 2022-10-04 Micron Technology, Inc. Adjusting a preprogram voltage based on use of a memory device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100550789B1 (ko) 2002-07-18 2006-02-08 주식회사 하이닉스반도체 플래시 메모리 소자의 프로그램/소거 전압 공급 회로
US7038949B2 (en) 2004-05-31 2006-05-02 Samsung Electronics Co., Ltd. Non-volatile memory device capable of changing increment of program voltage according to mode of operation
KR20080016598A (ko) * 2005-06-03 2008-02-21 샌디스크 코포레이션 비휘발성 메모리 사이클에 따른 시작 프로그램 전압 시프트
KR20080032765A (ko) * 2006-10-10 2008-04-16 삼성전자주식회사 프로그램 전압 발생 회로 및 방법, 그리고 이를 이용한불휘발성 메모리 장치

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3987715B2 (ja) * 2001-12-06 2007-10-10 富士通株式会社 不揮発性半導体メモリおよび不揮発性半導体メモリのプログラム電圧制御方法
JP2005235287A (ja) * 2004-02-19 2005-09-02 Nec Electronics Corp 不揮発性半導体記憶装置のプログラミング方法、プログラミング装置、及び、不揮発性半導体記憶装置
US7236402B2 (en) * 2005-11-30 2007-06-26 Freescale Semiconductor, Inc. Method and apparatus for programming/erasing a non-volatile memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100550789B1 (ko) 2002-07-18 2006-02-08 주식회사 하이닉스반도체 플래시 메모리 소자의 프로그램/소거 전압 공급 회로
US7038949B2 (en) 2004-05-31 2006-05-02 Samsung Electronics Co., Ltd. Non-volatile memory device capable of changing increment of program voltage according to mode of operation
KR20080016598A (ko) * 2005-06-03 2008-02-21 샌디스크 코포레이션 비휘발성 메모리 사이클에 따른 시작 프로그램 전압 시프트
KR20080032765A (ko) * 2006-10-10 2008-04-16 삼성전자주식회사 프로그램 전압 발생 회로 및 방법, 그리고 이를 이용한불휘발성 메모리 장치

Also Published As

Publication number Publication date
US7929350B2 (en) 2011-04-19
KR20100031893A (ko) 2010-03-25
US20100067306A1 (en) 2010-03-18
US20110164454A1 (en) 2011-07-07
US8149625B2 (en) 2012-04-03

Similar Documents

Publication Publication Date Title
KR101423612B1 (ko) 불휘발성 메모리 장치 및 그것의 동작 방법, 그리고 그것을포함하는 메모리 시스템
KR100660544B1 (ko) 신뢰성을 향상시킬 수 있는 플래시 메모리 장치
KR102089532B1 (ko) 메모리 컨트롤러, 메모리 시스템 및 메모리 시스템의 동작 방법
KR101434403B1 (ko) 플래시 메모리 장치, 그것의 프로그램 방법, 그리고 그것을포함하는 메모리 시스템
US7688634B2 (en) Method of operating an integrated circuit having at least one memory cell
US20110044113A1 (en) Nonvolatile memory device, method for programming same, and memory system incorporating same
KR102239868B1 (ko) 메모리 시스템 및 그것의 동작 방법
US8422292B2 (en) Nonvolatile memory device and program method thereof
US20120287711A1 (en) Flash memory device and memory system including the same
KR102031742B1 (ko) 불휘발성 메모리 장치 및 그것의 동작 방법
CN110622249B (zh) 数据存储装置
KR101468096B1 (ko) 불휘발성 메모리 장치의 동작 방법 및 그것을 포함하는 메모리 시스템
JP2009301616A (ja) 不揮発性半導体記憶装置
JP2003217288A (ja) リードディスターブを緩和したフラッシュメモリ
CN108335711B (zh) 非易失性存储器件、其操作方法及存储设备
KR20170011324A (ko) 반도체 메모리 장치 및 그것의 동작 방법
KR20170079832A (ko) 반도체 메모리 장치 및 그것의 동작 방법
KR20170064834A (ko) 데이터 저장 장치 및 그것의 동작 방법
CN111833949A (zh) 存储器控制器、存储器系统及其操作方法
US10079063B2 (en) Apparatuses and methods for charging a global access line prior to accessing a memory
US11315650B2 (en) Memory system, memory controller, and method of operating memory system
KR101354608B1 (ko) 플래시 메모리 장치 및 그것의 프로그램 방법
US20190369920A1 (en) Resistive memory
US20240145008A1 (en) Memory device and operating method of the memory device
US20240127892A1 (en) Memory device and operating method of the memory device

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180629

Year of fee payment: 5