KR20180039970A - 불휘발성 메모리 장치를 프로그램하는 방법과, 상기 메모리 장치를 포함하는 시스템의 작동 방법 - Google Patents

불휘발성 메모리 장치를 프로그램하는 방법과, 상기 메모리 장치를 포함하는 시스템의 작동 방법 Download PDF

Info

Publication number
KR20180039970A
KR20180039970A KR1020160131435A KR20160131435A KR20180039970A KR 20180039970 A KR20180039970 A KR 20180039970A KR 1020160131435 A KR1020160131435 A KR 1020160131435A KR 20160131435 A KR20160131435 A KR 20160131435A KR 20180039970 A KR20180039970 A KR 20180039970A
Authority
KR
South Korea
Prior art keywords
memory cell
bit
memory device
programming
cell
Prior art date
Application number
KR1020160131435A
Other languages
English (en)
Other versions
KR102649347B1 (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 KR1020160131435A priority Critical patent/KR102649347B1/ko
Priority to US15/478,679 priority patent/US9966132B2/en
Priority to CN201710883574.1A priority patent/CN107919147B/zh
Publication of KR20180039970A publication Critical patent/KR20180039970A/ko
Application granted granted Critical
Publication of KR102649347B1 publication Critical patent/KR102649347B1/ko

Links

Images

Classifications

    • 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
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion 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
    • 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
    • G11C11/5642Sensing or reading circuits; Data output 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/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/24Bit-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output 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
    • 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
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/12Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines
    • 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
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5648Multilevel memory programming, reading or erasing operations wherein the order or sequence of the operations is relevant

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

불휘발성 메모리 장치의 프로그램 방법이 개시된다. 상기 프로그램 방법은 상기 불휘발성 메모리 장치에 포함된 메모리 셀에 하위 비트를 프로그램하는 단계와, 상기 메모리 셀에 상위 비트를 프로그램하기 이전에 상기 메모리 셀에 프로그램된 상기 하위 비트를 리드하는 단계와, 상기 리드의 결과에 따라 상기 메모리 셀의 문턱 전압을 판단하는 단계와, 상기 판단의 결과에 따라 상기 메모리 셀의 타입을 결정하는 단계와, 결정된 타입에 따라 복수의 펄스들 중에서 어느 하나를 상기 메모리 셀에 연결된 비트 라인으로 공급하는 단계를 포함한다.

Description

불휘발성 메모리 장치를 프로그램하는 방법과, 상기 메모리 장치를 포함하는 시스템의 작동 방법{METHOD FOR PROGRAMMING NON-VOLATILE MEMORY DEVICE AND METHOD FOR OPERATING SYSTEM HAVING THE SAME}
본 발명의 개념에 따른 실시 예는 불휘발성 메모리 장치를 프로그램하는 방법에 관한 것으로, 특히 상기 불휘발성 메모리 장치에 포함된 메모리 셀에 상위 비트를 프로그램하기 이전에, 상기 메모리 셀의 타입을 결정하고, 결정된 타입에 따라 복수의 펄스들 중에서 어느 하나의 펄스를 상기 메모리 셀에 연결된 비트 라인으로 공급하고, 상기 메모리 셀에 상기 상위 비트를 프로그램하는 방법에 관한 것이다.
반도체 메모리 장치는, 상기 반도체 메모리 장치에 저장된 데이터를 유지하기 위하여 지속적인 전원 공급의 필요 여부에 따라 휘발성 메모리 장치(volatile memory device)와 불휘발성 메모리 장치(non-volatile memory device)로 분류될 수 있다.
플래시(flash) 메모리 장치는 불휘발성 메모리 장치의 종류들 중에서 하나로, 전기적으로 프로그램(program)과 소거(erase)가 가능한 메모리 장치로서 많은 전자 제품에 사용된다.
본 발명이 해결하고자 하는 기술적인 과제는 불휘발성 메모리 장치에 포함된 메모리 셀에 상위 비트를 프로그램하기 이전에, 상기 메모리 셀의 문턱 전압에 기초하여 상기 메모리 셀의 타입을 결정하고, 결정된 타입에 따라 복수의 펄스들 중에서 어느 하나의 펄스를 상기 메모리 셀에 연결된 비트 라인으로 공급하고, 상기 메모리 셀에 상기 상위 비트를 프로그램하는 방법들을 제공하는 것이다.
본 발명의 실시 예에 따른 불휘발성 메모리 장치의 프로그램 방법은 상기 불휘발성 메모리 장치에 포함된 메모리 셀에 하위 비트를 프로그램하는 단계와, 상기 메모리 셀에 상위 비트를 프로그램하기 이전에 상기 메모리 셀에 프로그램된 상기 하위 비트를 리드하는 단계와, 상기 리드의 결과에 따라 상기 메모리 셀의 문턱 전압을 판단하는 단계와, 상기 판단의 결과에 따라 상기 메모리 셀의 타입을 결정하는 단계와, 결정된 타입에 따라 복수의 펄스들 중에서 어느 하나를 상기 메모리 셀에 연결된 비트 라인으로 공급하는 단계를 포함한다.
본 발명의 실시 예에 따라, 컨트롤러와 상기 컨트롤러의 제어에 따라 프로그램 작동을 수행하는 불휘발성 메모리 장치를 포함하는 메모리 시스템의 작동 방법은 상기 불휘발성 메모리 장치가 상기 불휘발성 메모리 장치에 포함된 메모리 셀에 하위 비트를 프로그램하는 단계와, 상기 메모리 셀에 상위 비트를 프로그램하기 이전에, 상기 불휘발성 메모리 장치가 상기 메모리 셀에 프로그램된 상기 하위 비트를 리드하는 단계와, 상기 불휘발성 메모리 장치가 상기 리드의 결과에 따라 상기 메모리 셀의 문턱 전압을 판단하는 단계와, 상기 불휘발성 메모리 장치가 상기 판단의 결과에 따라 상기 메모리 셀의 타입을 결정하는 단계와, 상기 불휘발성 메모리 장치가, 결정된 타입에 따라 복수의 펄스들 중에서 어느 하나를 상기 메모리 셀에 연결된 비트 라인으로 공급하는 단계를 포함한다.
본 발명의 실시 예에 따른 불휘발성 메모리 장치의 프로그램 방법은, 상기 불휘발성 메모리 장치에 포함된 메모리 셀의 타입에 따라 복수의 펄스들 중에서 어느 하나의 펄스를 상기 메모리 셀에 연결된 비트 라인으로 공급한 후, 상기 메모리 셀에 상기 상위 비트를 프로그램할 수 있다. 따라, 허용 가능한 프로그램 시작 전압이 증가하는 효과가 있으므로, 상기 불휘발성 메모리 장치의 프로그램의 성능이 향상되는 효과가 있다.
도 1은 본 발명의 실시 예에 따른 호스트와 메모리 시스템을 개념적으로 나타낸다.
도 2는 도 1에 도시된 불휘발성 메모리 장치를 개념적으로 나타낸다.
도 3은 도 1에 도시된 불휘발성 메모리 장치의 메모리 셀들의 문턱 전압의 분포(spread or distribution)를 나타낸다.
도 4는 증가형 스텝 펄스 프로그램(incremental step pulse program(ISPP))에 따라 생성된 프로그램 전압들을 예시적으로 나타낸다.
도 5는 본 발명의 실시 예들에 따른 불휘발성 메모리 장치의 프로그램 방법에 따라 메모리 셀의 타입을 결정하는 방법을 나타낸다.
도 6은 본 발명의 실시 예들에 따른 불휘발성 메모리 장치의 프로그램 방법에 따라 메모리 셀에 공급되는 펄스들을 나타낸다.
도 7의 (a)와 (b)는 본 발명의 실시 예들에 따른 불휘발성 메모리 장치의 프로그램 방법에 따라 메모리 셀들에 펄스들을 공급하는 방법을 나타낸다.
도 8의 (a)는 본 발명의 실시 예에 따른 불휘발성 메모리 장치의 프로그램 방법을 사용하지 않고 메모리 셀에 상위 비트를 프로그램한 경우를 나타낸다.
도 8의 (b)는 본 발명의 실시 예에 따른 불휘발성 메모리 장치의 프로그램 방법을 사용하여 메모리 셀에 상위 비트를 프로그램한 경우를 나타낸다.
도 9는 본 발명의 실시 예들에 따른 불휘발성 메모리 장치의 프로그램 방법을 나타내는 순서도이다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.
도 1은 본 발명의 실시 예에 따른 호스트와 메모리 시스템을 개념적으로 나타낸다. 도 1을 참조하면, 호스트(10)와 연결되는 메모리 시스템(20)은 메모리 컨트롤러(200)와 불휘발성 메모리 장치(100)를 포함한다.
실시 예들에 따라, 메모리 시스템(20)은 메모리 카드, 메모리 드라이브, 솔리드 스테이트 드라이브(solid state drive(SSD), 또는 매니지드 NAND(managed NAND) 일 수 있다.
상기 메모리 카드는 SD 카드(secure digital card), 멀티미디어 카드(multi media card(MMC)), 임베디드 MMC(embedded MMC(eMMC)), 또는 유니버셜 플래시 스토리지(universal flash storage (UFS)) 등일 수 있다. 상기 메모리 드라이브는 USB (universal serial Bus) 플래시 드라이브 또는 메모리 스틱(memory stick)으로 구현될 수 있다. 상기 매니지드 NAND는 컨트롤러 내장형 NAND 칩을 의미할 수 있다.
메모리 시스템(20)은 본 명세서에서 설명될 불휘발성 메모리 장치(100)를 포함하는 다양한 메모리 시스템을 의미할 수 있다. 예컨대, 메모리 컨트롤러(200)와 불휘발성 메모리 장치(100) 각각은 별개의 패키지(package)에 패키징될 수 있고, 하나의 패키지에 함께 패키징될 수도 있다.
모바일 컴퓨팅 장치(또는 휴대용 전자 장치)는 호스트(10)와 메모리 시스템 (20)을 포함할 수 있다. 상기 모바일 컴퓨팅 장치(또는 휴대용 전자 장치)는 랩탑 컴퓨터, 스마트폰, 사물 인터넷(Internet of Things) 장치, IoE(internet of Everything) 장치, 또는 모바일 인터넷 장치(mobile internet device(MID))로 구현될 수 있다. 호스트(10)와 메모리 시스템(20)을 포함하는 전자 시스템은 PC (personal computer), 데이터베이스, 서버, 데이터 센터, 인터넷 데이터 센터뿐만 아니라 자동차 시스템, 스마트 카, 또는 홈 오토메이션 등에 사용될 수 있다.
실시 예들에 따라 불휘발성 메모리 장치(100)는 NAND 플래시 메모리 장치로 구현될 수 있다. 불휘발성 메모리 장치(100)는 하나의 메모리 셀에 2-비트 이상의 정보(또는 데이터)를 저장할 수 있는 멀티 레벨 셀(multi level cell(MLC)) 구조를 가질 수 있다.
메모리 컨트롤러(200)는 호스트(10)의 제어에 따라 불휘발성 메모리 장치 (100)의 작동, 예를 들면 프로그램(program) 작동, 리드(read) 작동, 또는 이레이즈(erase) 작동을 제어하기 위한 어드레스와 명령(예를 들면, 프로그램 명령, 리드 명령, 또는 이레이즈 명령)을 생성할 수 있다.
상기 프로그램 작동과 상기 리드 작동은 페이지(page) 단위로 수행되고, 상기 이레이즈 작동은 블록(block) 단위로 수행된다. 메모리 컨트롤러(200)는 불휘발성 메모리 장치(100)의 작동을 제어하기 위한 명령을 불휘발성 메모리 장치(100)로 출력할 수 있다.
불휘발성 메모리 장치(100)는 상기 명령에 따라 작동을 수행하고, 수행의 결과를 메모리 컨트롤러(200)로 전송할 수 있다.
도 2는 도 1에 도시된 불휘발성 메모리 장치를 개념적으로 나타낸다. 도 1과 도 2를 참조하면, 본 발명의 실시 예에 따른 불휘발성 메모리 장치(100)는 메모리 셀 어레이(memory cell array; 110), 로우 디코더(또는 로우 드라이버; 120), 데이터 입출력 회로(I/O circuit; 130), 읽기/쓰기 회로(R/W circuit; 140), 펄스 생성기(voltage generator; 150), 및 제어 로직(또는 제어 로직 회로; 160)을 포함한다.
메모리 셀 어레이(110)는 스트링 선택 라인(string selection line; SSL), 워드 라인들(WL1~WLm; m은 2 이상의 자연수), 및 접지 선택 라인(ground selection line; GSL)을 통해 로우 디코더(120)에 연결되고, 비트 라인들(BL1~BLn; n은 2 이상의 자연수)을 통해 읽기/쓰기 회로(140)와 연결된다.
메모리 셀 어레이(110)는 복수의 셀 스트링들(CS1~CSn)을 포함한다. 복수의 셀 스트링들(CS1~CSn) 각각은 복수의 메모리 셀들을 포함한다. 상기 복수의 메모리 셀들 각각은 하나의 비트 또는 2-비트 이상을 저장할 수 있는 구조를 갖는다.
비록, 도 2에서 메모리 셀 어레이(110)는 2차원 구조를 가지는 것으로 도시되어 있으나, 실시 예들에 따라, 메모리 셀 어레이(110)는 3차원 메모리 셀 어레이를 포함할 수 있다. 상기 3차원 메모리 셀 어레이는 실리콘 기판 위(on or above)에 배치된 액티브 영역을 갖는 메모리 셀들의 어레이의 하나 또는 그 이상의 물리적인 레벨들 내에서 모노리식하게(monolithically) 형성되고, 상기 메모리 셀들의 작동에 관련된 회로를 포함할 수 있다. 상기 회로는 상기 기판의 내부 또는 위(on or above)에 형성될 수 있다.
모노리식(monolithic) 이라는 용어는 어레이의 각 레벨의 레이어들(layers)이 상기 어레이의 각 하부 레벨(each underlying level)의 레이어들에 직접 증착 (directly deposited )되는 것을 의미한다.
3차원 메모리 셀 어레이는 적어도 하나의 메모리 셀이 다른 메모리 셀의 위에 위치하도록 수직으로 배향되는(vertically oriented) 수직 NAND 스트링을 포함할 수 있다. 상기 적어도 하나의 메모리 셀은 전하 트랩 레이어(charge trap layer)를 포함할 수 있다.
각 셀 스트링(CS1~CSn)은 스트링 선택 트랜지스터(string selection transistor; SST), 복수의 메모리 셀들, 및 접지 선택 트랜지스터(ground selection transistor; GST)를 포함한다. 각 스트링 선택 트랜지스터는 각 비트 라인(BL1~BLn)에 연결되고, 각 접지 선택 트랜지스터는 공통 소스 라인(common source line; CSL)에 연결된다. 예컨대, 제1셀 스트링(CS1)에서, 제1스트링 선택 트랜지스터(SST)는 제1비트 라인(BL1)에 연결되고, 제1접지 선택 트랜지스터(GST)는 공통 소스 라인(CSL)에 연결된다.
각 메모리 셀(MC)의 게이트는 각 워드 라인이 연결되고, 각 스트링 선택 트랜지스터의 게이트는 스트링 선택 라인(SSL)에 연결되고, 각 접지 선택 트랜지스터의 게이트에는 접지 선택 라인(GSL)이 연결된다.
예컨대, 메모리 셀 어레이(110)에 구현된 각 메모리 셀(MC이 1-비트를 저장할 수 있는 싱글 레벨 셀(single level cell(SLC))일 때, 각 워드 라인(WL0~WLn)은 각 페이지(page)로 정의될 수 있다. 여기서, 페이지는 하나의 워드 라인에 접속된 복수의 메모리 셀들로 정의되는 메모리 영역을 의미할 수 있다. 또한, 페이지는 상기 메모리 영역에 저장될 수 있는 데이터의 집합을 의미할 수 있다.
실시 예에 따라, 각 메모리 셀(MC)이 2-비트 이상을 저장할 수 있는 MLC일 때, 하나의 워드 라인은 상기 하나의 워드 라인에 연결된 복수의 MLC들 각각에 프로그램되는 비트 수와 동일한 페이지 수를 갖는 것으로 정의될 수도 있다.
예컨대, 복수의 MLC들 각각이 2-비트 이상을 저장할 수 있는 MLC일 때, 하나의 워드 라인은 두 개의 페이지들(예컨대, 제1페이지와 제2페이지)를 포함한다. 이때, 상기 제1페이지는 LSB(least significant bit) 페이지로 불릴 수 있고, 상기 제2페이지는 MSB(most significant bit) 페이지로 불릴 수 있다.
또한, 복수의 MLC들 각각이 3-비트를 저장할 수 있는 MLC일 때(이 경우, 상기 MLC는 TLC(triple level cell)를 의미한다.), 하나의 워드 라인은 세 개의 페이지들(예컨대, 제1페이지, 제2페이지 및 제3페이지)을 포함할 수 있다. 상기 제1페이지, 상기 제2페이지, 및 상기 제3페이지 각각은 LSB(least significant bit) 페이지, CSB (center significant bit) 페이지 및 MSB(most significant bit) 페이지를 의미할 수 있다. 상술한 바와 같이, 각 페이지는 상기 각 페이지에 의해 정의된 메모리 영역에 저장되는 데이터의 집합을 의미할 수 있다.
로우 디코더(120)는 메모리 셀 어레이(110), 읽기/쓰기 회로(140), 및 제어 로직 회로(160)에 연결된다. 실시 예들에 따라, 로우 디코더(120)는 제어 로직 회로(160)의 제어에 따라 작동할 수 있다.
로우 디코더(120)는 외부로부터 입력되는 어드레스(ADDR)를 수신할 수 있다. 실시 예들에 따라, 로우 디코더(120)는 어드레스(ADDR)에 포함된 열(column) 어드레스를 디코드하고, 디코드 결과에 따라 생성된 복수의 열 선택 신호들을 읽기/쓰기 회로(140)로 제공할 수 있다. 실시 예들에 따라, 로우 디코더(120)는 어드레스 (ADDR)에 포함된 행(row) 어드레스를 디코드하고, 디코드 결과에 따라 생성된 복수의 행 선택 신호들을 이용하여 워드 라인들(WL1~WLm) 각각을 선택할 수 있다. 로우 디코더(120)는 열 선택 신호들을 생성하는 컬럼 디코더와 행 선택 신호들을 생성하는 로우 디코더를 집합적(collectively) 또는 총괄적으로 나타낼 수 있다.
데이터 입출력 회로(130)는 쓰기/읽기 회로(140)와 데이터(DATA)를 주고받을 수 있다. 실시 예들에 따라, 데이터 입출력 회로(130)는 제어 로직 회로(160)의 제어에 따라 작동할 수 있다.
데이터 입출력 회로(130)는 읽기/쓰기 회로(140)로부터 전송된 데이터를 외부로 전송할 수 있고, 상기 외부로부터 전송된 데이터를 쓰기/읽기 회로(140)로 전송할 수도 있다.
읽기/쓰기 회로(140)는 페이지 버퍼(page buffer; 145)를 포함할 수 있다. 도 2에서는 읽기/쓰기 회로(140)가 하나의 페이지 버퍼(145)를 포함하는 것으로 도시되어 있으나, 실시 예들에 따라 읽기/쓰기 회로(140)에 포함되는 페이지 버퍼의 개수는 다양하게 변경될 수 있다.
읽기/쓰기 회로(140)는 로우 디코더(120)로부터 제공되는 열 선택 신호에 응답하여 비트 라인들(BL1~BLn)을 선택할 수 있다. 읽기/쓰기 회로(140)는 데이터 입출력 회로(130)로부터 전송되는 데이터를 선택된 메모리 셀들에 프로그램(또는 라이트(write))할 수 있다.
읽기/쓰기 회로(140)는 선택된 메모리 셀에 저장된 데이터를 리드 (read)하고, 리드된 데이터를 데이터 입출력 회로(130)로 전송할 수 있다. 예컨대, 읽기/쓰기 회로(140)는 메모리 셀에 저장된 데이터를 서로 다른 리드 전압들 각각을 이용하여 서로 다른 시점에 리드하고, 리드된 각 데이터를 데이터 입출력 회로(130)로 전송할 수 있다.
리드 작동시에, 읽기/쓰기 회로(140)는, 제어 로직 회로(160)의 제어에 따라, 메모리 셀 어레이(110)에 포함된 복수의 비트 라인들(BL1~BLn) 각각의 전압 레벨을 감지 증폭할 수 있는 감지 증폭기로써 작동할 수 있다.
페이지 버퍼(145)는 메모리 셀 어레이(110)로부터 리드된 데이이터를 수신하고 저장할 수 있다.
페이지 버퍼(145)는 펄스 생성기(150)로부터 전송된 펄스들을 각 비트 라인 (BL1~BLn)으로 전송할 수 있다.
펄스 생성기(150)는 불휘발성 메모리 장치(100)의 작동에 필요한 전압들(또는 펄스들)을 생성하고, 생성된 전압들(또는 펄스들)을 읽기/쓰기 회로(140)로 전송할 수 있다. 실시 예들에 따라, 펄스 생성기(150)는 생성된 전압들(또는 펄스들)을 페이지 버퍼(145)로 전송할 수 있다. 비록, 도 2에서는 펄스들을 생성하는 펄스 생성기(150)가 예시적으로 도시되어 있으나, 펄스 생성기(150)는 프로그램 작동에 필요한 전압들, 리드 작동에 필요한 전압들, 또는 이레이즈 작동에 필요한 전압들을 생성하는 전압 생성기로 대체될 수 있고, 상기 전압 생성기는 본 명세서에서 설명된 펄스들을 생성할 수 있다.
제어 로직 회로(160)는, 메모리 컨트롤러(200)로부터 출력된 명령들에 기초하여, 로우 디코더(120), 데이터 입출력 회로(130), 읽기/쓰기 회로(140), 및 펄스 생성기(150)의 전반적인 작동을 제어할 수 있다.
도 3은 도 1에 도시된 불휘발성 메모리 장치에 포함된 메모리 셀들의 문턱 전압의 분포(spread or distribution)를 나타낸다. 도 2와 도 3을 참조하면, X-축(또는 가로축)은 메모리 셀 어레이(110)에 포함된 각 메모리 셀의 문턱 전압 (threshold voltage; Vth)을 나타내고, Y-축(또는 세로축)은 각 문턱 전압(Vth)에 해당하는 각 메모리 셀의 개수를 나타낸다.
k-비트를 저장할 수 있는 메모리 셀은 2k-개의 상태들(states)을 가질 수 있다. 예컨대, 2-비트를 저장할 수 있는 메모리 셀은 도 3에 도시된 것처럼 22=4개의 상태들을 가질 수 있다. 각 상태는 문턱 전압(Vth) 분포에 따라, 소거(erase) 상태 (E), 제1프로그램 상태(P1), 제2프로그램 상태(P2), 및 제3프로그램 상태(P3)로 나누어 질 수 있다. 상태들(E, P1, P2 및 P3) 각각은 기준 전압들(V1, V2 및 V3) 각각에 의해 구분된다.
메모리 셀의 상태는 상기 메모리 셀에 프로그램된 비트로 나타낼 수 있다. 예컨대, 프로그램이 되지 않은 상태를 비트 '1'로 나타내고 프로그램된 상태를 비트 '0'으로 나타낼 때, 소거 상태(E)는 '11', 제1프로그램 상태(P1)는 '01', 제2프로그램 상태(P2)는 '10', 제3프로그램 상태(P3)는 '00'으로 나타낼 수 있다. 예컨대, 소거 상태(E)와 제1프로그램 상태(P1)에서 LSB는 '1' 이다.
본 발명의 실시 예에 따른 불휘발성 메모리 장치의 프로그램 방법은 하위 비트(lower bit, 예컨대 LSB)의 프로그램 작동과 상위 비트(upper bit, 예컨대 MSB)의 프로그램 작동으로 이루어진다. 즉, 메모리 셀(MC)에 하위 비트가 프로그램된 이후에 상위 비트가 메모리 셀(MC)에 프로그램된다. 상기 상위 비트와 상기 하위 비트는 연속하는 두 비트들을 의미할 수 있으나 이에 한정되는 것은 아니다.
도 4는 증가형 스텝 펄스 프로그램(incremental step pulse program(ISPP))에 따라 생성된 프로그램 전압들(VPGM)을 예시적으로 나타낸다. 도 4의 그래프에서 X-축은 시간을 나타내고, Y-축은 프로그램 전압(VPGM)을 나타낸다.
도 2와 도 4를 참조하면, 불휘발성 메모리 장치(100)는 메모리 셀(MC)을 프로그램할 수 있다. 실시 예들에 따라, 불휘발성 메모리 장치(100)는 메모리 셀(MC)에 하위 비트를 프로그램하고, 그 후에 메모리 셀(MC)에 상위 비트를 프로그램할 수 있다.
불휘발성 메모리 장치(100)는 메모리 셀(MC)을 프로그램하기 위해 메모리 셀(MC)이 연결된 워드 라인(WL1)으로 프로그램 전압(VPGM)을 공급할 수 있다. 실시 예들에 따라, 불휘발성 메모리 장치(100)는 워드 라인(WL1)으로 프로그램 전압 (VPGM)을 복수 회 공급할 수 있다. 예컨대, 불휘발성 메모리 장치(100)는 메모리 셀 (MC)을 프로그램하기 위해 프로그램 전압(VPGM)을 l(l은 1 이상의 자연수)번 공급할 수 있다.
프로그램 전압(VPGM)은 불휘발성 메모리 장치(100)의 프로그램 조건 (condition)에 따라 결정될 수 있다. 실시 예들에 따라, 프로그램 전압(VPGM)은 불휘발성 메모리 장치(100)의 프로그램 횟수가 증가할 때마다 증가할 수 있다.
불휘발성 메모리 장치(100)의 프로그램은 프로그램 시작 전압(VPGM _START)이 공급될 때 시작되고, 프로그램 종료 전압(VPGM _LAST)이 공급될 때 종료된다. 실시 예들에 따라, '상위 비트의 프로그램 시작 이전'은, '프로그램 시작 전압(VPGM _START)의 공급 전'을 의미할 수 있다.
프로그램 전압(VPGM)의 레벨이 ISPP에 따라 결정될 때, 프로그램 전압(VPGM)은 프로그램 시작 전압(VPGM _START)부터 프로그램 종료 전압(VPGM _LAST)까지 일정한 값(△VISPP)만큼씩 증가할 수 있다.
불휘발성 메모리 장치(100)의 프로그램 작동이 진행될수록, 프로그램 전압 (VPGM)은 △VISPP 만큼씩 증가할 수 있다. 예컨대, 프로그램 시작 전압(VPGM _START)이 1V이고, △VISPP 0.3V 일 때, 프로그램 전압(VPGM)은 1V, 1.3V, 1.6V,... 와 같이 일정하게 증가할 수 있다.
불휘발성 메모리 장치(100)의 프로그램 작동의 성능은 프로그램 작동에 소요되는 시간으로 정의될 수 있다. 예컨대, 상기 프로그램 작동에 소요되는 시간은 상기 프로그램 작동의 프로그램 루프(program loop)의 개수와 상기 프로그램 루프를 수행하는 데 소요되는 시간(예컨대, △T=T2-T1)의 곱으로 결정될 수 있다. 프로그램 루프는 프로그램 작동이 완료될 때까지 프로그램 전압(VPGM)이 증가한 횟수 (=(VPGM_LAST-VPGM_START)/(△VISPP))를 의미한다.
불휘발성 메모리 장치(100)에서 프로그램에 소요되는 시간이 짧을수록, 상기 프로그램의 성능은 더 우수하다. 예컨대, 불휘발성 메모리 장치(100)의 프로그램 시작 전압(VPGM _START)이 증가하면, 프로그램 루프의 개수가 감소하므로 불휘발성 메모리 장치(100)의 프로그램 성능은 향상될 수 있다.
비록, 도 4에는 ISPP에 따라 결정된 프로그램 전압(VPGM)이 도시되어 있으나, 본 발명의 실시 예에 따른 불휘발성 메모리 장치의 프로그램 방법은 이에 한정되는 것은 아니다.
도 5는 본 발명의 실시 예에 따른 불휘발성 메모리 장치의 프로그램 방법에 따라 메모리 셀의 타입을 결정하는 방법을 나타낸다. 도 5에 도시된 현재 분포(PS)는 프로그램 이전의 메모리 셀들의 문턱 전압들의 분포를 나타내고, 목표 분포(TS)는 프로그램된 메모리 셀들이 나타내어야 하는 문턱 전압들의 분포를 나타낸다. 실시 예들에 따라, 목표 분포(TS)는 도 3에 도시된 제1프로그램 상태(P1)를 의미할 수 있으나 이에 한정되는 것은 아니다.
도 2와 도 5를 참조하면, 불휘발성 메모리 장치(100)는 메모리 셀(MC)의 문턱 전압을 판단할 수 있다.
불휘발성 메모리 장치(100)는 메모리 셀(MC)에 상위 비트를 프로그램하기 이전에 메모리 셀(MC)에 프로그램된 하위 비트를 리드한 결과에 따라 메모리 셀(MC)의 문턱 전압을 판단할 수 있다. 실시 예들에 따라, 동일한 메모리 셀(MC)에 대한 리드 작동은 한번 또는 복수번 수행될 수 있다.
불휘발성 메모리 장치(100)는 메모리 셀(MC)에 프로그램된 하위 비트가 제1값(예컨대, '1', 로직(logic) '1' 또는 데이터 '1')인지 또는 제2값(예컨대, '0', 로직 '0', 또는 데이터 0) 인지 판단될 수 있다.
예컨대, 메모리 셀(MC)이 도 3에 도시된 문턱 전압 분포를 갖고 메모리 셀 (MC)의 문턱 전압이 제2기준 전압(V2)보다 클 때 메모리 셀(MC)의 LSB는 '0'으로 판단될 수 있고, 메모리 셀(MC)이 도 3에 도시된 문턱 전압 분포를 갖고 메모리 셀(MC)의 문턱 전압이 제2기준 전압(V2)보다 작을 때 메모리 셀(MC)의 LSB는 '1'로 판단될 수 있다.
실시 예들에 따라, 불휘발성 메모리 장치(100)는 동일한 메모리 셀의 문턱 전압을 복수 번 측정할 수 있다. 예컨대, 불휘발성 메모리 장치(100)는 상기 메모리 셀의 문턱 전압을 두 번 측정할 수 있다. 예컨대, 도 3에 도시된 문턱 전압 분포를 가지는 메모리 셀의 문턱 전압이 제2기준 전압(V2)보다 크다고 판단되었을 때, 불휘발성 메모리 장치(100)는 상기 메모리 셀의 문턱 전압이 제3기준 전압(V3)보다 큰지 판단할 수 있다.
실시 예에 따라, 불휘발성 메모리 장치(100)는 서로 다른 검증 전압들(예컨대, 리드 검증 전압들) 각각을 메모리 셀로 공급하고, 상기 메모리 셀의 문턱 전압들 각각을 측정할 수 있다. 예컨대, 불휘발성 메모리 장치(100)는 복수 개의 검증 전압들을 순차적으로 메모리 셀로 공급하여 상기 메모리 셀의 문턱 전압들을 순차적으로 복수 번 측정할 수 있다.
실시 예들에 따라, 불휘발성 메모리 장치(100)는 메모리 셀에 하나의 검증 전압을 공급하고, 서로 다른 시점들 각각에서 상기 메모리 셀의 문턱 전압을 측정할 수도 있다. 예컨대, 불휘발성 메모리 장치(100)는 메모리 셀의 문턱 전압을 일정한 시간 간격에 따라 복수 번 측정할 수 있다.
불휘발성 메모리 장치(100)는 서로 다른 시점들 각각에서 서로 다른 검증 전압들 각각을 메모리 셀에 공급하거나 동일한 검증 전압을 서로 다른 시점들 각각에서 상기 메모리 셀에 공급하고, 이러한 과정들을 통해 상기 메모리 셀의 문턱 전압(또는 문턱 전압들)을 판단하고, 판단의 결과에 따라 상기 메모리 셀의 타입을 결정할 수 있다.
메모리 셀의 타입은 상기 메모리 셀의 문턱 전압(또는 문턱 전압들)에 따라, 제1타입 셀(MC1), 제2타입 셀(MC2) 및 제3타입 셀(MC3)로 구분될 수 있다. 제1타입 셀(MC1)은 제1영역(R1)에 속하는 메모리 셀이고, 제2타입 셀(MC2)은 제2영역(R2)에 속하는 메모리 셀이고, 제3타입 셀(MC3)은 제3영역(R3)에 속하는 메모리 셀이라고 정의한다.
제1영역(R1)과 제2영역(R2)은 문턱 전압(VT12)에 의해 나누어지고, 제2영역 (R2)과 제3영역(R3)은 문턱 전압(VT23)에 의해 나누어진다. 도 5에 도시된 바와 같이, 제1타입 셀(MC1)의 제1문턱 전압(VMC1)은 제2타입 셀(MC2)의 제2문턱 전압(VMC2)보다 높고, 제2타입 셀(MC2)의 제2문턱 전압(VMc2)은 제3타입 셀(MC3)의 제3문턱 전압(VMC3)보다 높다.
예컨대, 제1타입 셀(MC1)은 이미 목표 분포(TS)로 프로그램된 메모리 셀이고, 제2타입 셀(MC2)과 제3타입 셀(MC3) 각각은 목표 분포(TS)로 프로그램되어야 할 메모리 셀이다.
특히, 제2타입 셀(MC2)의 제2문턱 전압(VMC2)은 제3타입 셀(MC3)의 제3문턱 전압(VMC3)보다 높으므로, 제2타입 셀(MC2)의 제2문턱 전압(VMC2)의 변화량을 제3타입 셀(MC3)의 제3문턱 전압(VMC3)의 변화량보다 작게 하면, 목표 분포(TS)는 조밀하게 될 수 있다.
예컨대, 제1타입 셀(MC1)은 프로그램이 되지 않는 메모리 셀이고, 제2타입 셀(MC2)과 제3타입 셀(MC3) 각각은 프로그램되는 메모리 셀일 수 있다.
불휘발성 메모리 장치(100), 예컨대 제어 로직 회로(160)는 판단 대상이 되는 메모리 셀이 제1타입 셀(MC1)인지, 제2타입 셀(MC2)인지, 또는 제3타입 셀(MC3)인지 판단할 수 있다. 예컨대, 본 발명의 실시 예에 따른 불휘발성 메모리 장치 (100)는 메모리 셀(MC)에 프로그램된 하위 비트를 적어도 한번 리드하고, 상기 리드의 결과에 따라 메모리 셀(MC)에 상위 비트를 프로그램하기 이전에 메모리 셀 (MC)의 타입을 판단할 수 있다.
도 5를 참조하여 설명한 본 발명의 실시 예에 따른 메모리 셀의 타입을 판단하는 작동들은 상기 메모리 셀에 상위 비트를 프로그램하기 이전에 이루어질 수 있다.
도 6은 본 발명의 실시 예에 따른 불휘발성 메모리 장치의 프로그램 방법에 따라 메모리 셀에 공급되는 펄스들을 나타낸다. 도 2와 도 6을 참조하면, 불휘발성 메모리 장치(100)는 비트 라인들(BL1~BLn)로 펄스(PULSE)를 공급할 수 있다. 여기서, 펄스(PULSE)는 크기(amplitude) 및/또는 위상(phase)이 다른 적어도 두 개의 펄스들을 포함하는 펄스 시퀀스(pulse sequence)를 의미할 수 있다.
펄스 생성기(실시 예에 따라 전압 생성기; 150)는 펄스 시퀀스(PULSE)를 생성하고, 생성된 펄스 시퀀스(PULSE)를 읽기/쓰기 회로(140)로 공급할 수 있다. 읽기/쓰기 회로(140)는 펄스 시퀀스(PULSE)를 비트 라인들(BL1~BLn) 각각으로 공급할 수 있다.
실시 예들에 따라, 펄스 시퀀스(PULSE)는 제1펄스(PULSE1), 제2펄스 (PULSE2), 및 제3펄스(PULSE3) 중에서 적어도 두 개를 포함할 수 있다. 예컨대, 도 6에 도시된 바와 같이, 펄스 생성기(150)는 제1펄스(PULSE1), 제2펄스(PULSE2), 및 제3펄스(PUSLE3) 중에서 적어도 두 개를 생성할 수 있다.
펄스들(PULSE1~PULSE3) 각각의 높이(height) 또는 크기(amplitude) (H1~H3)는 서로 다를 수 있다.
제1펄스(PULSE1)의 제1높이(H1)는 제2펄스(PUSLE2)의 제2높이(H2)보다 크고, 제2펄스(PULSE2)의 제2높이(H2)는 제3펄스(PULSE)의 제3높이(H3)보다 클 수 있다. 예컨대, 제1높이(H1)는 전원 전압(VDD)의 크기와 동일하고, 제2높이(H2)는 전원 전압(VDD)의 크기의 절반에 해당하고, 제3높이(H2)는 접지 전압(GND)의 레벨보다 높고 제2높이(H2)보다 작을 수 있다.
예컨대, 제2펄스(PULSE2)의 제2높이(H2)가 전원 전압(VDD)보다 작고 접지 전압(GND)의 크기보다 클 때, 제2펄스(PULSE2)는 비트 라인 포싱(bit line forcing)을 위한 펄스(또는 전압)이라고 불릴 수 있다.
펄스 생성기(150)는 펄스 시퀀스(PULSE)를 주기적으로(periodically) 생성할 수 있다. 예컨대, 펄스 생성기(150)는 일정한 주기로 제1펄스(PULSE1), 제2펄스 (PULSE2), 및 제3펄스(PULSE)를 순차적으로(sequentially) 생성할 수 있다.
비록, 도 6에는 세 개의 펄스들(PULSE1~PUSLE3)이 도시되어 있으나, 본 발명의 개념에 따른 실시 예는 펄스 시퀀스(PULSE)에 포함된 펄스들의 개수는 다양하게 변경될 수 있고, 상기 펄스들 각각의 크기 및/또는 위상은 다양하게 변경될 수 있다.
도 7의 (a)와 (b)는 본 발명의 실시 예에 따른 불휘발성 메모리 장치의 프로그램 방법에 따라 메모리 셀들에 펄스들을 공급하는 방법을 나타낸다. 도 5와 도 7의 (a)를 참조하면, 도 7의 (a)의 제1타입 셀(MC1), 제2타입 셀(MC2), 및 제3타입 셀(MC3)은 도 5에 도시된 제1타입 셀(MC1), 제2타입 셀(MC2), 및 제3타입 셀(MC3)을 의미한다.
도 7의 (a)에 도시된 바와 같이 불휘발성 메모리 장치(100)는 제1타입 셀 (MC1)에 연결된 제1비트 라인(BL1)으로 펄스 시퀀스(PULSE) 중에서 제1펄스 (PULSE1)를 공급할 수 있고, 제2타입 셀 (MC2)에 연결된 제2비트 라인(BL2)으로 펄스 시퀀스(PULSE) 중에서 제2펄스 (PULSE2)를 공급할 수 있고, 제3타입 셀(MC3)에 연결된 제3비트 라인(BL3)으로 펄스 시퀀스(PULSE) 중에서 제3펄스(PULSE3)를 공급할 수 있다.
실시 예들에 따라, 도 7의 (b)에 도시된 것처럼 각 비트 라인(BL1~BL3)에 각 비트 라인 선택 트랜지스터(BST1~BST3)가 연결될 수 있다. 각 비트 라인 선택 트랜지스터(BST1~BST3)는 각 비트 라인(BL1~BL3)으로 공급되는 전압을 조절할 수 있다.
실시 예에 따라, 각 비트 라인 선택 트랜지스터(BST1~BST3)는 각 비트 라인 (BL1~BL3)으로 공급되는 전압의 크기를 조절할 수 있고, 각 비트 라인(BL1~BL3)으로 복수 개의 전압들이 공급될 때, 각 비트 라인 선택 트랜지스터(BST1~BST3)는 상기 복수 개의 전압들 중에서 적어도 어느 하나를 선택하고, 선택된 전압을 각 비트 라인(BL1~BL3)으로 공급할 수 있다.
예컨대, 각 비트 라인(BL1~BL3)으로 도 6에 도시된 펄스 시퀀스(PULSE)가 공급될 때, 제1비트 라인 선택 트랜지스터(BST1)는 제1제어 신호(CTR1)에 응답하여 펄스 시퀀스(PULSE)에 포함된 제1펄스(PULSE1)만을 제1비트 라인(BL1)으로 공급할 수 있고, 제2비트 라인 선택 트랜지스터(BST2)는 제2제어 신호(CTR2)에 응답하여 펄스 시퀀스(PULSE)에 포함된 제2펄스(PULSE2)만을 제2비트 라인(BL2)으로 공급할 수 있고, 제3비트 라인 선택 트랜지스터(BST3)는 제3제어 신호(CTR3)에 응답하여 펄스 시퀀스(PULSE)에 포함된 제3펄스(PULSE3)만을 제3비트 라인(BL3)으로 공급할 수 있다. 예컨대, 각 제어 신호(CTR1~CTR3)는 각 메모리 셀의 타입(MC1, MC2, 및 MC3)에 기초하여 제어 로직 회로(160)에 의해 생성될 수 있다.
도 6에 도시된 제1펄스(PULSE1))가 제1비트 라인(BL1)으로 공급될 때, 제1비트 라인(BL1)의 제1스트링 선택 트랜지스터(SST1)의 게이트(gate)-소스(source) 전압은 문턱 전압에 도달하지 못하므로, 제1스트링 선택 트랜지스터(SST1)는 오프된다. 즉, 제1타입 셀(MC1)은 프로그램 금지(program inhibit; INHIBIT)로 설정된다.
도 6에 도시된 제3펄스(PULSE3)가 제3비트 라인(BL3)으로 공급될 때, 제3비트 라인(BL3)의 제3스트링 선택 트랜지스터(SST3)의 게이트-소스 전압은 문턱 전압에 도달하므로, 제3스트링 선택 트랜지스터(SST3)는 턴-온 (turn-on)된다. 즉, 제3타입 셀(MC3)은 프로그램(PROGRAM)으로 설정된다.
도 6에 도시된 제2펄스(PULSE1)가 제2비트 라인(BL2)으로 공급될 때, 제2비트 라인(BL2)의 제2스트링 선택 트랜지스터(SST2)의 게이트-소스 전압은 문턱 전압에 도달하므로, 제2스트링 선택 트랜지스터(SST2)는 턴-온(turn on) 된다. 제2타입 셀(MC2)은 프로그램 전압(VPGM)에 의해 프로그램된다. 제3비트 라인(BL3)과 달리, 제2펄스(PULSE2)에 의해 제2타입 셀(MC2)에 대한 프로그램 전압(VPGM)의 영향 (effect)이 감소할 수 있다.
즉, 제2펄스(PULSE2)에 의해 제2타입 셀(MC2)의 채널과 게이트 간에는 전위차가 형성된다. 제2타입 셀(MC2)에 대한 프로그램 전압(VPGM)의 영향이 감소하므로, 프로그램 작동이 종료된 후, 제2타입 셀(MC2)의 문턱 전압의 변화는 제3타입 셀 (MC3)의 문턱 전압의 변화보다 작을 수 있다. 즉, 제2메모리 셀(MC2)은 포싱 (FORCING)으로 설정된다.
본 발명의 실시 예들에 따른 불휘발성 메모리 장치(100)의 프로그램 방법에 따르면, 제2타입 셀(MC2)의 문턱 전압의 변화는 제3타입 셀(MC3)의 문턱 전압의 변화보다 작을 수 있으므로, 각 워드 라인으로 공급되는 프로그램 시작 전압(VPGM _START)은 증가할 수 있다. 따라서 불휘발성 메모리 장치(100)의 프로그램 작동의 성능이 향상될 수 있다.
도 8의 (a)는 본 발명의 실시 예에 따른 불휘발성 메모리 장치의 프로그램 방법을 사용하지 않고 메모리 셀에 상위 비트를 프로그램한 경우를 나타내고, 도 8의 (b)는 본 발명의 실시 예에 따른 불휘발성 메모리 장치의 프로그램 방법을 사용하여 메모리 셀에 상위 비트를 프로그램한 경우를 나타낸다.
도 8의 (a)를 참조하면, 프로그램 이전 분포(PS0)는 상위 비트가 프로그램되기 이전의 메모리 셀들의 문턱 전압들의 분포를 나타내고, 프로그램 이후 분포 (PS1)는 상위 비트를 프로그램한 후의 메모리 셀들의 문턱 전압들의 분포를 나타낸다. 목표 분포(TS)는 상기 상위 비트의 프로그램이 목표로 하는 문턱 전압들의 분포를 의미한다.
목표 분포(TS)에 속하는 메모리 셀들의 문턱 전압의 최대값은 V2이고, 프로그램 이전 분포(PS0)에 속하는 메모리 셀들의 문턱 전압의 최대값은 V1이므로, 허용 가능한 프로그램 시작 전압(VPGM_START)은 V2-V1이다.
도 7의 (a), (b), 및 도 8의 (b)를 참조하면, 목표 분포(TS)에 속하는 메모리 셀들의 문턱 전압들의 최대값은 V2이고, 프로그램 이전 분포(PS0)에 속하는 메모리 셀들의 문턱 전압들의 최대값은 V1이다.
본 발명의 실시 예에 따른 불휘발성 메모리 장치(100)의 프로그램 방법에 따르면, 상위 비트들이 프로그램되기 이전에 제1영역(R1)에 포함되는 메모리 셀들에 연결된 비트 라인들 각각으로 펄스 시퀀스(PULSE) 중에서 제1펄스(PULSE1)가 공급되므로 제1영역(R1)에 포함되는 메모리 셀들은 프로그램 금지(INHIBIT)로 설정된다.
제2영역(R2)에 포함되는 메모리 셀들에 연결된 비트 라인들 각각으로 펄스 시퀀스(PULSE) 중에서 제2펄스(PULSE2)가 공급되므로, 제2영역(R2)에 포함되는 메모리 셀들은 포싱(FORCING)으로 설정될 수 있다.
따라서, 본 발명의 실시 예에 따른 불휘발성 메모리 장치의 프로그램 방법은 제2영역(R2)에 포함된 메모리 셀의 문턱 전압의 변화를 제3영역(R3)에 포함된 메모리 셀의 문턱 전압의 변화보다 작게 할 수 있으므로, 허용 가능한 프로그램 시작 전압(VPGM_START)는 V3-V1이 된다.
도 8의 (b)에 도시된 프로그램 시작 전압(VPGM _START=V3-V1)은 도 8의 (a)에 도시된 프로그램 시작 전압(VPGM _START=V2-V1) 보다 크다. 따라서, 본 발명의 실시 예에 따른 불휘발성 메모리 장치의 프로그램 방법에 따라, 허용 가능한 프로그램 시작 전압(VPGM_START)은 종래에 비해 증가할 수 있는 효과가 있다. 그 결과, 메모리 셀에 상위 비트를 프로그램하는 데 소요되는 시간이 소모하므로, 불휘발성 메모리 장치 (100)의 프로그램의 성능은 향상된다.
도 9는 본 발명의 실시 예에 따른 불휘발성 메모리 장치의 프로그램 방법을 나타내는 순서도이다. 도 1부터 도 9를 참조하면, 불휘발성 메모리 장치(100)의 프로그램 작동에 따라, 불휘발성 메모리 장치(100)는 불휘발성 메모리 장치(100)에 포함된 메모리 셀에 하위 비트를 프로그램 한다(S100).
불휘발성 메모리 장치(100)는 상기 메모리 셀에 상위 비트를 프로그램하기 이전에 상기 하위 비트를 적어도 한번 리드 한다(S110).
불휘발성 메모리 장치(100)는 상기 리드의 결과(또는 초기 리드(initial read)의 결과)에 따라 상기 메모리 셀의 문턱 전압(또는 문턱 전압들)을 판단한다 (S120).
불휘발성 메모리 장치(100)는 상기 판단의 결과에 따라 상기 메모리 셀이 제1타입 셀(MC1)인지 제2타입 셀(MC2)인지를 결정한다(S130). 실시 예들에 따라, 제1타입 셀(MC1)은 프로그램이 금지되는 메모리 셀이고, 제2타입 셀(MC2)은 비트 라인 포싱이 수행되는 메모리 셀일 수 있다.
불휘발성 메모리 장치(100)는 결정된 타입에 따라 복수의 비트 라인 포싱 전압들(예컨대, PULSE) 중에서 어느 하나를 상기 메모리 셀에 연결된 비트 라인으로 공급한다(S140). 실시 예들에 따라, 상기 메모리 셀이 제1타입 셀(MC1)일 때 불휘발성 메모리 장치(100)는 펄스 시퀀스(PULSE) 중에서 제1펄스(PULSE1)를 상기 비트 라인으로 공급하고(S140), 상기 메모리 셀이 제2타입 셀(MC2)일 때 불휘발성 메모리 장치(100)는 펄스 시퀀스(PULSE) 중에서 제2펄스(PULSE2)를 상기 비트 라인으로 공급한다(S150). 도 6에 도시된 바와 같이, 제1펄스(PULSE1)의 제1높이(H1)는 제2펄스(PULSE2)의 제2높이(H2)보다 클 수 있다. 실시 예들에 따라, 제1펄스(PULSE1)의 제1높이(H1)는 제2펄스(PULSE2)의 제2높이(H2)보다 작을 수 있다.
일련의 단계들(S100~S150)은 불휘발성 메모리 장치(100)가 메모리 셀에 상위 비트를 프로그램하기 이전(예컨대, 첫 번째 루프)에 이루어질 수 있다.
본 발명의 실시 예에 따른 불휘발성 메모리 장치의 프로그램 방법은, 상기 불휘발성 메모리 장치에 포함된 메모리 셀에 상위 비트를 프로그램하기 이전에, 상기 메모리 셀의 문턱 전압에 기초하여 상기 메모리 셀의 타입을 결정하고, 결정된 타입에 따라 펄스 시퀀스 중에서 어느 하나의 펄스를 상기 메모리 셀로 공급할 수 있으므로, 상기 메모리 셀의 프로그램 시작 전압이 감소하는 효과가 있다. 따라서 상기 불휘발성 메모리 장치의 프로그램 성능은 향상되는 효과가 있다.
예컨대, ISPP에 따라 메모리 셀을 프로그램하는 경우, 본 발명의 실시 예에 따른 불휘발성 메모리 장치의 프로그램 방법에 따르면, 프로그램 시작 전압이 감소하고, 그 결과 프로그램 루프의 개수가 감소하므로, 상기 불휘발성 메모리 장치의 프로그램에 소요되는 시간이 감소한다.
10: 호스트
20: 메모리 시스템
100: 불휘발성 메모리 장치
110: 메모리 셀 어레이
120: 로우 디코더
130: 데이터 입출력 회로
140: 리드/라이트 회로
150: 펄스 생성기
160: 제어 로직 회로
200: 메모리 컨트롤러

Claims (10)

  1. 불휘발성(non-volatile) 메모리 장치의 프로그램 방법에 있어서,
    상기 불휘발성 메모리 장치에 포함된 메모리 셀에 하위(lower) 비트를 프로그램하는 단계;
    상기 메모리 셀에 상위(upper) 비트를 프로그램하기 이전에, 상기 메모리 셀에 프로그램된 상기 하위 비트를 리드하는 단계;
    상기 리드의 결과에 따라, 상기 메모리 셀의 문턱 전압을 판단하는 단계;
    상기 판단의 결과에 따라 상기 메모리 셀의 타입을 결정하는 단계; 및
    결정된 타입에 따라 복수의 펄스들 중에서 어느 하나를 상기 메모리 셀에 연결된 비트 라인으로 공급하는 단계를 포함하는 불휘발성 메모리 장치의 프로그램 방법.
  2. 제1항에 있어서, 상기 하위 비트를 리드하는 단계는,
    서로 다른 리드 전압들 각각을 이용하여 서로 다른 시점에 리드하는 불휘발성 메모리 장치의 프로그램 방법.
  3. 제1항에 있어서,
    상기 복수의 펄스들 중에서 상기 어느 하나를 상기 비트 라인으로 공급한 이후에, 상기 메모리 셀에 상기 상위 비트를 프로그램하는 단계를 더 포함하는 불휘발성 메모리 장치의 프로그램 방법.
  4. 제3항에 있어서,
    상기 상위 비트는 ISPP(incremental step pulse programming)에 따라 상기 메모리 셀에 프로그램 되고,
    상기 메모리 셀로 상기 ISPP에 따라 결정된 프로그램 시작 전압을 공급하기 이전에, 상기 메모리 셀에 상기 상위 비트를 프로그램하는 단계를 더 포함하는 불휘발성 메모리 장치의 프로그램 방법.
  5. 제1항에 있어서,
    상기 어느 하나를 상기 메모리 셀에 연결된 비트 라인으로 공급하는 단계는,
    결정된 상기 메모리 셀의 타입이 제1타입 셀일 때 상기 복수의 펄스들 중에서 제1높이를 갖는 제1펄스를 상기 비트 라인으로 공급하고, 결정된 상기 메모리 셀의 타입이 제2타입 셀일 때 상기 복수의 펄스들 중에서 제2높이를 갖는 제2펄스를 상기 비트 라인으로 공급하고,
    상기 복수의 펄스들 각각의 높이는 서로 다르고,
    상기 제1타입 셀의 제1문턱 전압은 상기 제2타입 셀의 제2문턱 전압보다 높고,
    상기 제1높이는 상기 제2높이보다 큰 불휘발성 메모리 장치의 프로그램 방법.
  6. 제1항에 있어서,
    상기 메모리 셀은 멀티 레벨 셀(multi level cell)이고,
    상기 상위 비트는 MSB (most significant bit)이고, 상기 하위 비트는 LSB (least significant bit)인 불휘발성 메모리 장치의 프로그램 방법.
  7. 제1항에 있어서, 상기 메모리 셀은 3차원 메모리 셀인 불휘발성 메모리 장치의 프로그램 방법.
  8. 컨트롤러와, 상기 컨트롤러의 제어에 따라 프로그램 작동을 수행하는 불휘발성(non-volatile) 메모리 장치를 포함하는 메모리 시스템의 작동 방법에 있어서,
    상기 불휘발성 메모리 장치가 상기 불휘발성 메모리 장치에 포함된 메모리 셀에 하위 비트를 프로그램하는 단계;
    상기 메모리 셀에 상위 비트를 프로그램하기 이전에, 상기 불휘발성 메모리 장치가 상기 메모리 셀에 프로그램된 상기 하위 비트를 리드하는 단계;
    상기 불휘발성 메모리 장치가 상기 리드의 결과에 따라 상기 메모리 셀의 문턱 전압을 판단하는 단계;
    상기 불휘발성 메모리 장치가 상기 판단의 결과에 따라 상기 메모리 셀의 타입을 결정하는 단계; 및
    상기 불휘발성 메모리 장치가, 결정된 타입에 따라 복수의 펄스들 중에서 어느 하나를 상기 메모리 셀에 연결된 비트 라인으로 공급하는 단계를 포함하는 메모리 시스템의 작동 방법.
  9. 제8항에 있어서,
    상기 불휘발성 메모리 장치가, 상기 복수의 펄스들 중에서 상기 어느 하나가 상기 비트 라인으로 공급된 이후, 상기 메모리 셀에 상기 상위 비트를 프로그램하는 단계를 더 포함하는 메모리 시스템의 작동 방법.
  10. 제9항에 있어서,
    상기 상위 비트는 ISPP(incremental step pulse programming)에 따라 상기 메모리 셀에 프로그램되고,
    상기 불휘발성 메모리 장치가, 상기 메모리 셀에 상기 ISPP에 따라 결정된 프로그램 시작 전압이 공급되기 이전에, 상기 메모리 셀에 상기 상위 비트를 프로그램하는 단계를 더 포함하는 메모리 시스템의 작동 방법.
KR1020160131435A 2016-10-11 2016-10-11 불휘발성 메모리 장치를 프로그램하는 방법과, 상기 메모리 장치를 포함하는 시스템의 작동 방법 KR102649347B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020160131435A KR102649347B1 (ko) 2016-10-11 2016-10-11 불휘발성 메모리 장치를 프로그램하는 방법과, 상기 메모리 장치를 포함하는 시스템의 작동 방법
US15/478,679 US9966132B2 (en) 2016-10-11 2017-04-04 Method for programming a non-volatile memory device and a method for operating a system having the same
CN201710883574.1A CN107919147B (zh) 2016-10-11 2017-09-26 对非易失性存储器编程的方法和操作具有其的系统的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160131435A KR102649347B1 (ko) 2016-10-11 2016-10-11 불휘발성 메모리 장치를 프로그램하는 방법과, 상기 메모리 장치를 포함하는 시스템의 작동 방법

Publications (2)

Publication Number Publication Date
KR20180039970A true KR20180039970A (ko) 2018-04-19
KR102649347B1 KR102649347B1 (ko) 2024-03-20

Family

ID=61829122

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160131435A KR102649347B1 (ko) 2016-10-11 2016-10-11 불휘발성 메모리 장치를 프로그램하는 방법과, 상기 메모리 장치를 포함하는 시스템의 작동 방법

Country Status (3)

Country Link
US (1) US9966132B2 (ko)
KR (1) KR102649347B1 (ko)
CN (1) CN107919147B (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120076787A (ko) * 2010-12-30 2012-07-10 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법
KR20130015401A (ko) * 2011-08-03 2013-02-14 삼성전자주식회사 비휘발성 메모리 장치 및 그것의 프로그램 방법
KR20130133419A (ko) * 2012-05-29 2013-12-09 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법 및 그것의 메모리 시스템

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7251160B2 (en) * 2005-03-16 2007-07-31 Sandisk Corporation Non-volatile memory and method with power-saving read and program-verify operations
DE602005012625D1 (de) 2005-07-22 2009-03-19 Hynix Semiconductor Inc Verfahren zum Zugreifen auf eine nichtflüchtige Mehrpegelspeichervorrichtung vom Typ FLASH NAND
KR100669351B1 (ko) * 2005-07-29 2007-01-16 삼성전자주식회사 멀티 레벨 셀 플래시 메모리의 프로그램 방법 및 장치
KR100729359B1 (ko) 2005-09-23 2007-06-15 삼성전자주식회사 낸드 플래시 메모리 장치 및 그것의 프로그램 방법
KR100877104B1 (ko) 2007-06-26 2009-01-07 주식회사 하이닉스반도체 멀티 레벨 셀 플래시 메모리소자의 프로그램 방법
KR100933860B1 (ko) * 2007-06-27 2009-12-24 주식회사 하이닉스반도체 불휘발성 메모리 장치의 멀티 레벨 셀 프로그램 방법
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
KR20100107294A (ko) * 2009-03-25 2010-10-05 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 메모리 시스템 및 불휘발성 메모리 장치의 프로그램 방법
KR101512199B1 (ko) * 2009-06-29 2015-04-14 에스케이하이닉스 주식회사 불휘발성 메모리 소자의 동작 방법
KR101734204B1 (ko) * 2010-06-01 2017-05-12 삼성전자주식회사 프로그램 시퀀서를 포함하는 플래시 메모리 장치 및 시스템, 그리고 그것의 프로그램 방법
KR20130060749A (ko) * 2011-11-30 2013-06-10 에스케이하이닉스 주식회사 불휘발성 메모리 장치, 그것의 읽기 방법 및 그것을 포함하는 데이터 저장 장치
US9036417B2 (en) 2012-09-06 2015-05-19 Sandisk Technologies Inc. On chip dynamic read level scan and error detection for nonvolatile storage
KR20140100143A (ko) * 2013-02-05 2014-08-14 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법 및 읽기 방법
US9082502B2 (en) * 2013-10-10 2015-07-14 Sandisk Technologies Inc. Bit line and compare voltage modulation for sensing nonvolatile storage elements
TW201535385A (zh) * 2014-03-14 2015-09-16 Toshiba Kk 非揮發性半導體記憶裝置及記憶體系統
KR102235492B1 (ko) * 2014-08-25 2021-04-05 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 검증 방법
KR102239868B1 (ko) 2014-11-28 2021-04-13 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120076787A (ko) * 2010-12-30 2012-07-10 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법
KR20130015401A (ko) * 2011-08-03 2013-02-14 삼성전자주식회사 비휘발성 메모리 장치 및 그것의 프로그램 방법
KR20130133419A (ko) * 2012-05-29 2013-12-09 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법 및 그것의 메모리 시스템

Also Published As

Publication number Publication date
US20180102167A1 (en) 2018-04-12
US9966132B2 (en) 2018-05-08
KR102649347B1 (ko) 2024-03-20
CN107919147A (zh) 2018-04-17
CN107919147B (zh) 2023-04-07

Similar Documents

Publication Publication Date Title
KR102656828B1 (ko) 메모리 장치 및 이의 동작 방법
US11862248B2 (en) Semiconductor storage device
KR101434403B1 (ko) 플래시 메모리 장치, 그것의 프로그램 방법, 그리고 그것을포함하는 메모리 시스템
KR100660544B1 (ko) 신뢰성을 향상시킬 수 있는 플래시 메모리 장치
KR101423612B1 (ko) 불휘발성 메모리 장치 및 그것의 동작 방법, 그리고 그것을포함하는 메모리 시스템
KR101735586B1 (ko) 불휘발성 메모리 장치, 그것의 프로그램 방법, 그리고 그것을 포함하는 메모리 시스템
KR101616097B1 (ko) 불휘발성 메모리 장치의 프로그램 방법
US9741438B2 (en) Nonvolatile memory device and program method thereof
CN108074596B (zh) 页缓冲区、包括该页缓冲区的存储器件及其读取操作方法
US10553283B2 (en) Semiconductor storage device
US10685721B2 (en) Apparatuses and methods for charging a global access line prior to accessing a memory
KR20170075886A (ko) 센싱 제어 신호 생성 장치 및 그를 포함하는 반도체 메모리 장치
KR101504342B1 (ko) 불휘발성 메모리 장치, 그것을 포함한 컴퓨팅 시스템 및그것의 워드 라인 구동 방법
CN111354401B (zh) 半导体装置、存储器系统及半导体装置的操作方法
KR20210062502A (ko) 메모리 장치 및 그 동작 방법
JP7404203B2 (ja) 半導体記憶装置
KR102649347B1 (ko) 불휘발성 메모리 장치를 프로그램하는 방법과, 상기 메모리 장치를 포함하는 시스템의 작동 방법
US20240145008A1 (en) Memory device and operating method of the memory device
KR20230066769A (ko) 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 동작 방법
KR20240006341A (ko) 메모리 장치 및 이의 동작 방법
KR20050073297A (ko) 플래쉬 메모리 소자의 비트라인 디스차징 방법
CN118053478A (zh) 存储器装置及操作存储器装置的方法

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