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

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

Info

Publication number
KR20100043935A
KR20100043935A KR1020080103198A KR20080103198A KR20100043935A KR 20100043935 A KR20100043935 A KR 20100043935A KR 1020080103198 A KR1020080103198 A KR 1020080103198A KR 20080103198 A KR20080103198 A KR 20080103198A KR 20100043935 A KR20100043935 A KR 20100043935A
Authority
KR
South Korea
Prior art keywords
program
voltage
level
bit line
programmed
Prior art date
Application number
KR1020080103198A
Other languages
English (en)
Inventor
김무성
권오석
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020080103198A priority Critical patent/KR20100043935A/ko
Priority to US12/461,934 priority patent/US8508996B2/en
Publication of KR20100043935A publication Critical patent/KR20100043935A/ko
Priority to US13/949,833 priority patent/US9064581B2/en
Priority to US14/614,992 priority patent/US9087608B2/en
Priority to US14/741,582 priority patent/US20150287466A1/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/12Programming voltage switching circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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
    • 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
    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3427Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7206Reconfiguration of flash memory system
    • 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/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • 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/562Multilevel memory programming aspects
    • G11C2211/5621Multilevel programming verification
    • 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/1048Data bus control circuits, e.g. precharging, presetting, equalising

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)

Abstract

본 발명에 따른 불휘발성 메모리 장치의 프로그램 방법은, (a) 프로그램 전압의 레벨을 검출하는 단계; 및 (b) 상기 검출된 프로그램 전압의 레벨에 따라 각각 가변적인 레벨을 갖는 비선택 워드 라인 전압과 비트 라인의 프리차지 전압을 제공하는 단계를 포함한다.

Description

불휘발성 메모리 장치 및 그것의 프로그램 방법{NON-VOLATILE MEMORY DEVICE AND PROGRAM METHOD THEREOF}
본 발명은 반도체 메모리 장치에 관한 것으로, 좀 더 구체적으로는 불휘발성 반도체 메모리 장치 및 그것의 프로그램 방법에 관한 것이다.
반도체 메모리 장치는 크게 휘발성 반도체 메모리 장치(Volatile semiconductor memory device)와 불휘발성 반도체 메모리 장치(Non-volatile semiconductor memory device)로 구분된다. 휘발성 반도체 메모리 장치는 읽고 쓰는 속도가 빠르지만 외부 전원 공급이 끊기면 저장된 내용이 사라져 버리는 단점이 있다. 반면에 불휘발성 반도체 메모리 장치는 외부 전원 공급이 중단되더라도 그 내용을 보존한다. 그러므로 불휘발성 반도체 메모리 장치는 전원이 공급되었는지의 여부에 관계없이 보존되어야 할 내용을 기억시키는 데 쓰인다.
불휘발성 메모리들 중에서도 플래시 메모리는 전기적으로 셀의 데이터를 일괄적으로 소거하는 기능을 가지고 있기 때문에 컴퓨터 및 메모리 카드 등에 널리 사용되고 있다. 플래시 메모리는 셀과 비트 라인의 연결 상태에 따라 노어형과 낸드형으로 구분된다. 노어형 플래시 메모리는 1개의 비트 라인에 2개 이상의 셀 트 랜지스터가 병렬로 연결된 형태로서, 채널 핫 일렉트론(Channel Hot Electron) 방식을 사용하여 데이터를 저장하고, F-N 터널링(Fowler-Nordheim tunneling) 방식을 사용하여 데이터를 소거한다. 그리고 낸드형 플래시 메모리는 1개의 비트 라인에 2개 이상의 셀 트랜지스터가 직렬로 연결된 형태로서, F-N 터널링 방식을 사용하여 데이터를 저장 및 소거한다.
낸드 플래시 메모리의 메모리 셀에 데이터를 프로그램하기 위해서는, 선택된 메모리 셀의 워드 라인으로 고전압(예를 들면, 20V)을 인가한다. 낸드 플래시 메모리 장치에 있어서, 선택된 메모리 셀이 정확하게 프로그램되기 위해 선택된 메모리 셀의 문턱 전압은 더 높은 레벨로 변화되어야 한다. 반면, 비선택된 메모리 셀들의 문턱 전압들은 변화되지 않아야 한다. 프로그램되는 메모리 셀과 동일 워드 라인에 연결되는 비선택된 메모리 셀들이 프로그램되지 않도록 바이어스 조건을 제공하는 동작을 프로그램 금지(Program Inhibit)이라 한다. 비선택된 메모리 셀들은 일반적으로 채널 전위(Channel Potential)를 상승시켜 전하 저장층에 인가되는 전계의 세기를 감소시킴으로써 F-N 터널링 현상을 차단한다. 선택된 워드 라인에 연결된 비선택 메모리 셀에 대한 의도하지 않은 프로그램을 '프로그램 디스터브(Program disturbance)'라 한다. 한편, 프로그램되는 스트링에 연결된 비선택 메모리 셀들은 패스 전압(Vpass)을 제공받는다. 패스 전압(Vpass)에 의해서 비선택 메모리 셀들의 채널-게이트 간의 전위차는 F-N 터널링의 발생에는 부족한 세기의 전계를 형성한다. 그러나, 패스 전압(Vpass)에 의해서도 역시 의도하지 않은 프로그램이 발생하는데 이를 '패스 디스터브(Pass disturbance)'라 한다.
본 발명의 목적은 상술한 제반 문제점을 해결하기 위해 제안된 것으로, 플래시 메모리 장치에서 발생하는 의도하지 않은 메모리 셀의 프로그램 현상을 차단하기 위한 프로그램 방법 및 장치를 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명에 따른 불휘발성 메모리 장치의 프로그램 방법은, (a) 프로그램 전압의 레벨을 검출하는 단계; 및 (b) 상기 검출된 프로그램 전압의 레벨에 따라 각각 가변적인 레벨을 갖는 비선택 워드 라인 전압과 비트 라인의 프리차지 전압을 제공하는 단계를 포함한다.
상기 목적을 달성하기 위한 본 발명에 따른 메모리 시스템은, (a) 프로그램 전압의 레벨을 검출하는 단계; 및 (b) 상기 검출된 프로그램 전압의 레벨에 따라 각각 가변적인 레벨을 갖는 비선택 워드 라인 전압과 비트 라인의 프리차지 전압을 제공하는 단계를 포함하는 프로그램 방법에 따라 메모리 셀들을 프로그램하는 불휘발성 메모리 장치; 및 상기 불휘발성 메모리 장치를 제어하기 위한 메모리 컨트롤러를 포함한다.
이상과 같은 본 발명에 따른 장치 및 방법에 따르면, 프로그램 디스터브 및 패스 디스터브로 인한 플래시 메모리 장치의 의도하지 않은 에러를 줄일 수 있다.
앞의 일반적인 설명 및 다음의 상세한 설명 모두 예시적이라는 것이 이해되어야 하며, 청구된 발명의 부가적인 설명이 제공되는 것으로 여겨져야 한다. 참조 부호들이 본 발명의 바람직한 실시 예들에 상세히 표시되어 있으며, 그것의 예들이 참조 도면들에 표시되어 있다. 가능한 어떤 경우에도, 동일한 참조 번호들이 동일한 또는 유사한 부분을 참조하기 위해서 설명 및 도면들에 사용된다.
이하에서는, 낸드형(NAND type) 플래시 메모리 장치가 본 발명의 특징 및 기능을 설명하기 위한 한 예로서 사용된다. 하지만, 이 기술 분야에 정통한 사람은 여기에 기재된 내용에 따라 본 발명의 다른 이점들 및 성능을 쉽게 이해할 수 있을 것이다. 본 발명은 다른 실시 예들을 통해 또한, 구현되거나 적용될 수 있을 것이다. 게다가, 상세한 설명은 본 발명의 범위, 기술적 사상 그리고 다른 목적으로부터 상당히 벗어나지 않고 관점 및 응용에 따라 수정되거나 변경될 수 있다. 이하, 본 발명에 따른 실시예를 첨부된 도면을 참조하여 상세히 설명한다.
도 1은 본 발명의 플래시 메모리 장치(100)의 구성을 간략히 보여주는 블록도이다. 도 1을 참조하면, 본 발명의 플래시 메모리 장치(100)는 프로그램 동작시 프로그램 디스터브 및 패스 디스터브를 줄일 수 있는 워드 라인 및 비트 라인 바이어스를 제공한다.
셀 어레이(110)는 복수의 비트 라인들(BL<0>~BL<m-1>) 및 워드 라인들(WL<0>~WL<n-1>)과, 비트 라인들 및 워드 라인들이 교차하는 영역에 배치된 복수의 메모리 셀들을 포함한다. 셀 어레이(110)는 복수의 스트링을 포함한다. 스트링은 비트 라인에 연결되는 스트링 선택 트랜지스터(SST), 접지 선택 트랜지스 터(GST) 및 스트링 선택 트랜지스터(SST)와 접지 선택 트랜지스터(GST) 사이에 직렬로 연결된 복수의 셀 트랜지스터들(MC0~MCn-1)로 구성된다. 일반적인 프로그램 동작시 프로그램 금지 스트링의 비트 라인에는 전원 전압(Vcc)이, 프로그램 스트링의 비트 라인에는 접지 전압(0V)이 제공될 것이다. 그리고 선택 워드 라인으로는 프로그램 전압(Vpgm)이, 비선택 워드 라인들로는 고정적인 레벨의 패스 전압(Vpass)이 제공된다. 그러나, 본 발명의 프로그램 동작시 비선택 워드 라인들 및 프로그램 금지 스트링의 비트 라인에는 프로그램 전압(Vpgm)의 레벨에 따라 가변되는 레벨의 전압이 제공된다. 이러한 프로그램 환경을 통해 프로그램 금지 스트링(Program inhibited string)의 채널 부스팅 전압을 패스 전압(Vpass)의 과도한 상승 없이도 충분히 높일 수 있다. 이는 패스 전압(Vpass)이 보다 낮아질 수 있음을 의미하며, 패스 전압(Vpass)에 의한 프로그램 스트링의 패스 디스터브(Pass disturbance)의 개선을 의미한다.
행 디코더(120)는 행 어드레스(미도시됨)에 응답하여 고전압 발생기(150)로부터의 고전압을 워드 라인들 및 선택 라인들(SSL, GSL)로 전달한다. 행 디코더(120)는, 프로그램될 메모리 셀의 행 어드레스(Row address)를 디코딩하는 디코딩 기능과, 디코딩된 어드레스에 대응하는 워드 라인을 선택하는 워드 라인 선택 기능을 수행한다. 그리고 선택된 워드 라인과 비선택 워드 라인들로 고전압 발생기(150)로부터 제공되는 고전압들을 인가하는 기능을 수행한다. 행 디코더(120)는 프로그램 동작시 선택된 워드 라인으로는 프로그램 전압(Vpgm)을, 비선택된 워드 라인들로는 패스 전압(Vpass<j:0>, j는 자연수)을 제공한다. 즉, 행 디코더(120)는 프로그램 전압(Vpgm)의 레벨에 따라 가변될 수 있는 패스 전압(Vpass<j:0>)을 비선택 워드 라인들로 제공하게 될 것이다.
페이지 버퍼(130)는 셀 어레이(110)에 데이터를 저장하거나, 그것으로부터 데이터를 읽어들이는 기능을 수행한다. 페이지 버퍼(130)는 복수의 비트 라인들(BL<0>~BL<m-1>)을 통해 셀 어레이(110)와 연결된다. 페이지 버퍼(130)는 프로그램 동작시 프로그램되는 데이터 값에 따라서 비트 라인으로 접지 전압(0V) 또는 비트 라인의 프리차지 전압(Vcc, 또는 Vcc+α)을 인가한다. 예를 들어, 페이지 버퍼(130)는 논리 '0'이 프로그램되는 메모리 셀의 비트 라인으로 접지 전압(0V)을 인가한다. 그리고, 논리 '1'의 데이터가 프로그램되는 메모리 셀의 비트 라인(프로그램 금지 스트링의 비트 라인)으로는 비트 라인의 프리차지 전압(Vcc, 또는 Vcc+α)을 인가한다. 더불어, 페이지 버퍼(130)는 열 스캔 동작에 의해서 프로그램의 패스(Pass) 또는 페일(Fail)에 대한 정보를 가진 패스/페일 신호(P/F)를 제어부(140)로 제공한다.
제어부(140)는 설정 데이터 저장부(160)로부터의 정보를 참조하여 워드 라인들(WL<0>~WL<n-1>) 및 선택 라인들(SSL, GSL)로의 인가 전압을 선택한다. 제어부(140)는 설정 데이터 저장부(160)의 설정 데이터와 현재의 프로그램 동작 또는 현재의 프로그램 루프에서 제공될 프로그램 전압의 레벨을 검출한다. 제어부(140)는 검출된 프로그램 전압(Vpgm)의 레벨에 따라 프로그램 동작을 위한 패스 전압(Vpass<j:0>)과 비트 라인의 프리차지 전압(VBL<p:0>, p는 자연수)의 레벨을 선택한다. 즉, 현재 프로그램 루프에서 제공될 프로그램 전압(Vpgm)의 레벨이 낮은 경우에, 제어부(140)는 낮은 레벨의 패스 전압(Vpass<j:0>)과 비트 라인의 프리차지 전압(VBL<p:0>)을 제공하도록 고전압 발생기(150) 및 페이지 버퍼(130)를 제어할 것이다. 그리고 프로그램 루프 수가 증가하고, 현재 프로그램 루프에서 제공될 프로그램 전압(Vpgm)의 레벨이 높아질수록, 제어부(140)는 높은 레벨의 패스 전압(Vpass<j:0>)과 프리차지 전압(VBL<p:0>)을 제공하도록 고전압 발생기(150) 및 페이지 버퍼(130)를 제어할 것이다. 여기서, 비트 라인의 프리차지 전압(VBL<p:0>)에 의해서 프로그램 금지 스트링의 비트 라인이 프리차지되는 전압을 더 높이기 위해서는 스트링 선택 트랜지스터(SST)의 게이트 전압을 더 높게 제공할 수 있다. 즉, 프로그램 금지 스트링의 프리차지 전압을 높이기 위해서 비트 라인의 프리차지 전압(VBL<p:0>)과 동기하여 스트링 선택 라인의 선택 전압(VSL = Vcc +α)이 전원 전압(Vcc)보다 높게 제공될 수 있을 것이다.
고전압 발생기(150)는 프로그램 동작에 요구되는 제반 워드 라인 전압들(Vpgm, Vpass<j:0>) 및 선택 라인 전압(VSL)을 생성한다. 일반적으로, 워드 라인으로는 외부로부터 제공되는 전원 전압(Vcc)보다 높은 고전압이 인가된다. 고전압 발생기(150)는 외부로부터 제공되는 전원 전압(Vcc)으로부터 다양한 레벨의 고전압들을 생성하기 위한 복수의 차지 펌프들(Charge pump)들을 포함한다. 그러나, 본 발명의 프로그램 동작시에 사용되는 워드 라인들(WL<0>~WL<n-1>) 및 스트링 선택 라인(SSL)에 제공되는 전압들에 대해서만 설명하기로 한다. 본 발명의 고전압 발생기(150)는 제어부(140)의 제어에 응답하여 선택 워드 라인으로 프로그램 전압(Vpgm)이 인가되는 복수의 프로그램 루프 동안 가변되는 패스 전압(Vpass<j:0>)을 비선택 워드 라인들로 제공한다. 여기서, 로컬 셀프 부스팅을 위해 선택 워드 라인과 인접한 워드 라인으로 제공되는 차단 전압(Blocking voltage)들이 제공될 수 있다. 그러나, 고전압 발생기(150)는 비선택 워드 라인들 중에 인가되는 패스 전압(Vpass<j:0>)의 레벨을 프로그램 전압(Vpgm)의 크기에 따라 가변되도록 생성한다. 또한, 고전압 발생기(150)는 스트링 선택 라인(SSL)에 제공되는 선택 전압(VSL)의 레벨도 전원 전압보다 높은 레벨(Vcc+α)로 제공할 수 있다.
설정 데이터 저장부(160)는 패스 전압(Vpass<j:0>) 및 비트 라인의 프리차지 전압(VBL<p:0>)의 레벨을 가변하는 시점을 결정하기 위한 기준 정보를 제공한다. 설정 데이터 저장부(160)는 선택된 메모리 셀들이 프로그램되는 타깃 상태(State), 또는 프로그램 루프 수나 스텝 수 등에 대한 정보로 제공될 수 있다. 설정 데이터 저장부(160)는 퓨즈, e-퓨즈(e-Fuse) 등으로 구현될 수 있다. 또는, 설정 데이터 저장부(160)는 레지스터로 구성되며, 플래시 메모리 장치(100)의 파워-온시에 셀 어레이(110)에 저장된 기준 정보가 독출되어 레지스터에 저장되는 방식으로 구성될 수 있다. 설정 데이터 저장부(160)로부터 제공되는 설정 데이터를 참조하여 제어부(140)는 현재 프로그램 동작에서 제공될 프로그램 전압(Vpgm)의 레벨을 검출하고 패스 전압(Vpass<j:0>) 및 비트 라인의 프리차지 전압(VBL<p:0>)의 레벨을 가변하는 시점을 결정하게 될 것이다.
이상에서 설명된 본 발명의 낸드 플래시 메모리 장치(100)는 선택 워드 라인에 제공되는 프로그램 전압(Vpgm)의 레벨에 따라 가변되는 패스 전압(Vpass<j:0>) 과 비트 라인의 프리차지 전압(VBL<p:0>)을 제공할 수 있다. 따라서, 프로그램 금지 스트링의 채널 전압을 높게 프리차지할 수 있고, 결과적으로 채널의 부스팅 전압을 높게 형성할 수 있다. 이러한 구성을 포함하여 본 발명의 플래시 메모리 장치(100)는 프로그램 디스터브(Program disturbance) 특성을 개선할 수 있다. 또한, 채널의 부스팅을 위해 제공되는 패스 전압(Vpass<j:0>)을 낮게 설정할 수 있어, 패스 전압에 의한 의도하지 않은 소프트 프로그램 현상을 차단할 수 있다.
도 2는 도 1의 낸드 플래시 메모리 장치(100)의 셀 어레이(110)를 간략히 보여주는 회로도이다. 도 2를 참조하면, 셀 어레이(110)는 복수의 셀 스트링들(Cell string: 111, 115)을 포함한다. 셀 스트링들(111, 115) 각각은 동일한 구성을 가지며, 비트 라인(BL<0>, BL<1>)과 공통 소스 라인(CSL) 사이에 연결된다.
셀 스트링(111)은 비트 라인(BL<0>)에 연결되어 있다. 셀 스트링(111)에는 접지 선택 트랜지스터(Ground Selection Transistor: GST), 복수의 메모리 셀들(MC0~MCn-1), 그리고 스트링 선택 트랜지스터(String Selection Transistor: SST)가 직렬로 연결되어 있다. 접지 선택 트랜지스터(GST)는 공통 소스 라인(Common Source Line: CSL)에 연결되어 있고, 스트링 선택 트랜지스터(SST)는 비트 라인(BL<0>)에 연결되어 있다. 복수의 메모리 셀들(MC0~MCn-1)은 접지 선택 트랜지스터(GST)와 스트링 선택 트랜지스터(SST) 사이에 연결되어 있다. 여기에서, 메모리 셀의 수는 16개, 32개, 64개 등과 같이 다양하게 변할 수 있다. 셀 스트링(115) 또한 셀 스트링(111)과 동일한 회로 구조를 가진다.
복수의 메모리 셀들(MC0~MCn-1)의 게이트에는 복수의 워드 라인 들(WL<0>~WL<n-1>)이 각각 연결되고, 스트링 선택 트랜지스터(SST)의 게이트에는 스트링 선택 라인(SSL)이 연결된다. 접지 선택 트랜지스터(GST)의 게이트에는 접지 선택 라인(GSL)이 연결된다. 프로그램 동작 시에, 선택된 워드 라인(WL<n-3>)에는 프로그램 전압(Vpgm, 예를 들면 약 18V)이 인가되고, 비선택 워드 라인들(WL<0>~WL<n-4>, WL<n-2>~WL<n-1>)에는 패스 전압(Vpass<x>)이 인가된다. 또한, 셀 스트링(111)은 프로그램 스트링(Program string)으로, 셀 스트링(115)는 프로그램 금지 스트링(Program inhibited string)으로 가정하여 본 발명의 이점을 설명하기로 한다.
프로그램이 실행되기 이전에 본 발명의 제어부(140)에 의한 프로그램 전압(Vpgm)의 범위가 검출된다. 프로그램 전압(Vpgm)의 범위가 검출되면, 제어부(140)는 프로그램 전압의 레벨에 대응하는 패스 전압(Vpass<x>, 0≤x≤j) 및 비트 라인의 프리차지 전압(VBL<y>, 0≤y≤p)을 결정한다. 이어서, 프로그램 동작이 시작되면, 프로그램 스트링(111)의 비트 라인(BL<0>)은 접지 전압(0V)이, 프로그램 금지 스트링(115)의 비트 라인(BL<1>)으로는 비트 라인의 프리차지 전압(VBL<y>)이 제공된다. 이어서, 선택 라인들(SSL, GSL)과 워드 라인들로 패스 전압(Vpass<x>) 및 프로그램 전압(Vpgm)이 제공된다. 그러면, 프로그램 금지 스트링의 채널은 플로팅되고 커플링에 의해서 부스팅된다. 부스팅된 프로그램 금지 스트링의 채널 전위에 의해 선택 워드 라인(WL<n-3>)에 연결된 메모리 셀(116, MCn-3′)은 프로그램되지 않는다. 반면에, 선택 워드 라인(WL<n-3>)에 연결된 메모리 셀(113, MCn-3)은 프로그램될 것이다.
패스 전압(Vpass<x>)과 프로그램 금지 스트링의 프리차지 전압(VBL<y>)은 프로그램 전압(Vpgm)의 레벨에 의존적이다. 만일, 프로그램 전압(Vpgm)의 레벨이 낮은 경우에는 프로그램 금지 스트링(115)의 채널 부스팅 전압이 낮더라도 메모리 셀(116)의 소프트 프로그램은 발생하지 않을 것이다. 그러나, 프로그램 전압(Vpgm)의 레벨이 높은 경우, 채널 부스팅 전압이 충분히 높지 않으면, 메모리 셀(116, MCn-3′)이 소프트 프로그램되는 프로그램 디스터브(Program disturbance)가 발생한다.
본 발명의 프로그램 방법에 따르면, 프로그램 전압(Vpgm)이 높은 경우에는 프로그램 금지 스트링의 프리차지 전압(VBL<y>)을 높여, 채널 부스팅 전압을 충분히 높여 줄 수 있다. 따라서, 패스 전압(Vpass<x>)에 의한 채널 부스팅에 덜 의존하게 되며, 패스 전압(Vpass<x>)은 상대적으로 낮게 제공될 수 있다. 상대적으로 낮은 패스 전압(Vpass<x>)에 의해서 메모리 셀들(112, 114)의 패스 디스터브(Pass disturbance)도 차단될 수 있다.
도 3a는 프로그램 전압(Vpgm)의 레벨에 따라서 가변될 수 있는 패스 전압(Vpass<x>)의 레벨을 보여주는 그래프이다. 도 3a를 참조하면, 프로그램 전압(Vpgm)의 레벨이 높아짐에 따라 패스 전압(Vpass<x>)의 레벨도 점차 증가한다. 프로그램 전압(Vpgm)의 레벨에 관계없이 고정적인 레벨의 패스 전압(Vpass)이 제공되는 스킴에서는 프로그램 스트링(Program string)에 포함되는 비선택 메모리 셀들의 패스 디스터브(Pass disturbance)는 불가피하다. 그러나 본 발명에 따르면, 프로그램 전압(Vpgm)의 레벨이 낮은 경우(V1≤Vpgm<V4)에는 이전의 고정적인 패스 전 압(Vpass)보다 낮은 레벨의 패스 전압들(예를 들면, Vpass<0>, Vpass<1>, Vpass<2> 등)이 제공된다. 낮은 패스 전압들(pass<0>, Vpass<1>, Vpass<2>)의 제공에 따라 프로그램 스트링의 비선택 메모리 셀들이 받는 전압 스트레스가 감소될 수 있다.
도 3b는 프로그램 전압(Vpgm)의 레벨에 따라서 가변되는 비트 라인의 프리차지 전압(VBL<y>)의 레벨을 보여주는 그래프이다. 도 3b를 참조하면, 프로그램 전압(Vpgm)의 레벨이 높아짐에 따라 프로그램 금지 스트링의 비트 라인에 제공되는 프리차지 전압(VBL<y>)도 점차 증가한다. 프로그램 전압(Vpgm)의 레벨에 관계없이 고정적인 레벨의 비트 라인의 프리차지 전압(VBL)이 제공되는 스킴에서는 프로그램 금지 스트링(Program string)에 포함되며, 프로그램 전압을 제공받는 메모리 셀에서 발생하는 프로그램 디스터브(Program disturbance)는 불가피하다. 그러나 본 발명에 따르면, 프로그램 전압(Vpgm)의 레벨이 낮은 경우(V1′≤ Vpgm < V2′)에는 상대적으로 낮은 비트 라인의 프리차지 전압(VBL<0>)을 제공한다. 그러나, 프로그램 전압(Vpgm)이 높아지면, 채널의 부스팅 전압의 레벨을 높이기 위하여 비트 라인의 프리차지 전압도 높여준다. 즉, 높은 비트 라인 전압이 제공되면, 이전보다 높은 채널 전압으로 플로팅되며, 높은 플로팅 전압으로 인하여 프로그램 전압이 제공되면 커플링에 따라 상대적으로 높은 채널 전압으로 부스팅될 것이다. 프로그램 전압이 높아지더라도 채널의 부스팅 전압도 동반하여 상승하기 때문에 게이트-채널간의 전위차는 감소하게 될 것이다. 따라서, 프로그램 전압에 의한 의도하지 않은 소프트 프로그램 현상은 차단될 수 있다. 여기서, 프로그램 금지 스트링의 채널이 플로팅되는 프리차지 전압의 레벨을 높이기 위해서는 스트링 선택 트랜지스터의 게이 트 전압을 높여 주는 방법도 가능하다.
도 4는 본 발명의 프로그램 동작을 간략히 보여주는 순서도이다. 도 4를 참조하면, 매 프로그램 동작마다 제공되는 프로그램 전압(Vpgm)의 레벨이 검출되고, 검출된 프로그램 전압(Vpgm)의 레벨에 따라 비선택 워드 라인에 제공되는 전압(예를 들면, Vpass<x>)과 프로그램 금지된 스트링의 비트 라인에 제공되는 프리차지 전압(VBL<y>)을 가변적으로 제공한다. 좀더 자세히 설명하면 다음과 같다.
프로그램 모드가 시작되면, 먼저 고전압 발생기(150)에 의한 고전압이 생성된다. 고전압은 다양한 레벨의 워드 라인 전압들을 포함한다. 즉, 고전압에는 다양한 레벨의 프로그램 전압과 패스 전압 그리고 선택 라인 전압들이 포함된다(S10). 이어서, 제어부(140)에 의한 현재의 프로그램 동작(Current program operation)에서 선택된 메모리 셀들에 인가될 프로그램 전압(Vpgm)의 레벨이 검출된다. 프로그램 전압(Vpgm)의 레벨의 검출은 고전압 발생기(150)의 출력 전압을 직접 측정하는 방식으로 진행될 수도 있겠지만, 그 외의 다양한 방법으로 진행될 수 있다. 즉, 현재의 프로그램 동작에서 제공되는 프로그램 전압의 스텝 수(Step count)를 확인하여 프로그램 전압(Vpgm)의 레벨을 검출할 수 있다. 또는, 현재 프로그램 동작에서의 타깃 상태를 확인하는 동작을 통해서 프로그램 전압의 레벨을 검출할 수 있다. 그리고, 현재 프로그램 동작에서의 루프 수나, 이전 루프에서의 검증 읽기 결과를 참조하여 현지 프로그램 동작에서의 프로그램 전압(Vpgm)의 레벨을 검출할 수 있다(S20).
프로그램 전압(Vpgm)의 레벨 검출이 완료되면, 검출된 프로그램 전압(Vpgm) 의 레벨에 대응하는 프로그램 금지 스트링의 비트 라인 전압(VBL<y>)과 비선택 워드 라인에 제공될 워드 라인 전압(예를 들면, Vpass<x>)이 선택된다. 또한, 프로그램 금지된 스트링의 비트 라인으로는 선택된 레벨의 비트 라인의 프리차지 전압(VBL<y>)이 제공되고, 이어서, 비선택 워드 라인에는 선택된 레벨의 패스 전압(Vpass<x>)이 제공될 것이다. 그리고 선택된 워드 라인에 프로그램 전압(Vpgm)이 제공됨으로써, 프로그램 실행 동작이 진행된다(S30).
프로그램 전압(Vpgm)이 제공된 이후 선택된 메모리 셀들에 대한 프로그램 패스 여부를 판단하기 위한 검증 읽기 동작(Verify read operation)이 실시될 것이다. 검증 읽기 결과, 검증 패스(Verify pass)로 판정되면, 제반 프로그램 절차는 종료된다. 반면에, 검증 읽기 결과, 검증 페일(Verify fail)로 판정되면, 절차는 재프로그램을 위한 단계(S50)로 이동한다(S40). 재프로그램을 위해서 프로그램 전압(Vpgm)의 레벨을 증가하게 될 것이다. 또한, 증가된 프로그램 전압(Vpgm)의 레벨에 대응하는 비트 라인의 프리차지 전압(VBL<y>)과 패스 전압(Vpass<x>)이 재프로그램 동작시에 제공될 것이다(S50).
이상의 본 발명에 따른 프로그램 절차에 의하면, 프로그램 금지 스트링의 채널 부스팅 전압은 높아지고, 비선택 워드 라인들에 제공되는 패스 전압(Vpass)은 상대적으로 낮아질 수 있다. 따라서, 프로그램 디스터브(Program disturbance)와 패스 디스터브(Pass disturbance)를 감소시킬 수 있다.
도 5는 본 발명의 제 1 실시예를 설명하기 위한 메모리 셀의 문턱 전압 분포도이다. 도 5를 참조하면, 프로그램 전압(Vpgm)의 레벨을 검출하기 위한 일 실시예 로써 타깃 상태를 검출하는 방법이 개시된다. 또한, 타깃 상태를 검출하는 방법의 예로 멀티 레벨 셀(MLC)의 경우에는 LSB 페이지 프로그램 동작인지 또는 MSB 페이지의 프로그램인지를 파악하는 것으로도 구현될 수 있다. 즉, LSB 페이지의 프로그램에는 상대적으로 낮은 레벨의 프로그램 전압이 소요될 것이다. 분포도 (a)에는 LSB 페이지를 프로그램하는 경우의 문턱 전압 분포들이 도시되어 있다. 소거 상태(E0)로부터 프로그램 상태(P0)로 프로그램하는 경우에 인가되는 프로그램 전압(Vpgm)은 상대적으로 낮다. 분포도 (b)에는 MSB 페이지의 프로그램시 갖게되는 타깃 문턱 전압 상태들(P1, P2, P3)이 도시되어 있다.
도 6은 본 발명의 제 1 실시예에 따른 프로그램 방법을 보여주는 순서도이다. 도 6을 참조하면, 타깃 상태(Target state)를 기준으로 하여 현재 프로그램 동작에서 제공될 프로그램 전압의 레벨을 판단하는 프로그램 전압 검출 방법이 개시된다. 좀더 자세히 설명하면 다음과 같다.
프로그램 모드가 시작되면, 먼저 고전압 발생기(150)에 의한 고전압이 생성된다(S100). 이어서, 제어부(140)에 의한 현재의 프로그램 동작(Current program operation)에서 선택된 메모리 셀들에 인가될 프로그램 전압(Vpgm)의 레벨이 검출된다. 이 실시예에서, 프로그램 전압(Vpgm)의 레벨 검출은 현재 프로그램 동작 또는 프로그램 루프에서의 타깃 상태(Target state)를 체크하는 동작을 통해서 구현된다. 즉, 현재의 프로그램 동작에서 메모리 셀들이 프로그램되는 타깃 상태(Target state)에 따라서 메모리 셀들에 인가되는 프로그램 전압의 레벨이 차등화되기 때문이다. 또한, 멀티 레벨 셀 메모리에서 현재 프로그램되는 페이지가 LSB 페이지인지 또는 MSB 페이지인지에 따라서도 메모리 셀들에 인가되는 프로그램 전압(Vpgm)의 레벨은 달라질 수 있다. 여기서는 2-비트 MLC를 예로 들어서 설명하기로 한다(S105).
타깃 상태(Target state)를 체크하여 프로그램 전압(Vpgm)의 레벨을 검출하는 동작에서, 제어부(140)는 우선 프로그램되는 페이지가 LSB 페이지인지를 판단한다. 만일, 현재 프로그램 동작에서 프로그램되는 데이터가 LSB 페이지에 해당되면, 절차는 단계(S115)로 분기한다. 반면, 현재 프로그램 동작에서 프로그램되는 데이터가 MSB 페이지에 해당되면, 절차는 타깃 상태가 MSB 페이지의 어느 타깃 상태에 대응하는지 판단하는 단계(S125)로 이동한다(S110).
현재 프로그램 동작에서 프로그램되는 데이터가 LSB 페이지에 해당되면, 제어부(140)는 프로그램 금지 스트링의 비트 라인으로는 프리차지 전압(VBL<0>)을 인가하는 비트 라인 프리차지를 실시한다(S115). 이어서, 비선택 워드 라인들로는 패스 전압(Vpass<O>)를 인가한다(S120). 그리고, 선택된 워드 라인에는 고전압 발생기(150)로부터 제공되는 프로그램 전압(Vpgm)을 제공함으로써 선택된 메모리 셀들을 프로그램한다(S165).
반면, 현재 프로그램 동작에서 프로그램되는 데이터가 MSB 페이지에 해당되면, 제어부(140)는 현재 프로그램 동작의 타깃 상태를 확인하는 동작 단계(S125)로 이동한다. 우선, 현재 타깃 상태가 타깃 상태 (P1)이라면, 제어부(140)는 프로그램 금지 스트링의 비트 라인으로는 비트 라인의 프리차지 전압(VBL<1>)을 인가한다(S130). 이어서, 비선택 워드 라인들로는 패스 전압(Vpass<1>)을 인가한 다(S135). 그리고, 선택된 워드 라인에는 고전압 발생기(150)로부터 제공되는 프로그램 전압(Vpgm)을 제공함으로써 선택된 메모리 셀들을 프로그램한다(S165). 현재 프로그램 동작의 타깃 상태가 타깃 상태 (P1)이 아니라면, 제어부(140)는 동작 절차를 현재의 프로그램 동작의 타깃 상태를 확인하는 단계(S140)로 이동한다. 이어서, 현재 타깃 상태가 타깃 상태(P2)라면, 제어부(140)는 프로그램 금지 스트링의 비트 라인으로는 프리차지 전압(VBL<2>)을 인가하는 비트 라인 프리차지를 실시한다(S145). 이어서, 비선택 워드 라인들로는 패스 전압(Vpass<2>)을 인가한다(S150). 그리고, 선택된 워드 라인에는 고전압 발생기(150)로부터 제공되는 프로그램 전압(Vpgm)을 제공함으로써 선택된 메모리 셀들을 프로그램한다(S165). 그러나, 현재 프로그램 동작의 타깃 상태가 타깃 상태(P2)가 아니라면, 프로그램 동작의 타깃 상태는 타깃 상태(P3)를 의미한다. 따라서, 제어부(140)는 프로그램 금지 스트링의 비트 라인으로는 프리차지 전압(VBL<3>)을 인가하는 비트 라인 프리차지를 실시한다(S165). 이어서, 비선택 워드 라인들로는 패스 전압(Vpass<3>)을 인가한다(S135). 그리고, 선택된 워드 라인에는 고전압 발생기(150)로부터 제공되는 프로그램 전압(Vpgm)을 제공함으로써 선택된 메모리 셀들을 프로그램한다(S165).
상술한 바와 같이 현재 프로그램되는 메모리 셀들의 타깃 상태에 따라서, 비트 라인의 프리차지 전압과 비선택 워드 라인 전압을 가변적으로 제공하는 프로그램 동작이 설명되었다. 프로그램 전압(Vpgm)이 제공된 이후 선택된 메모리 셀들에 대한 프로그램 여부를 검증하는 검증 읽기 동작이 실시될 것이다. 검증 읽기 결과, 검증 패스(Verify pass)로 판정되면 제반 프로그램 절차는 종료된다. 반면에, 검증 읽기 결과, 검증 페일(Verify fail)로 판정되면, 절차는 재프로그램을 위한 단계(S175)로 이동한다(S170).
재프로그램을 위해서 프로그램 전압(Vpgm)의 레벨은 스텝 전압(ΔV)만큼 증가하게 될 것이다. 또한, 증가된 프로그램 전압(Vpgm+ΔV)의 레벨에 대응하는 비트 라인의 프리차지 전압과 비선택 워드 라인 전압이 재프로그램 동작시에 제공될 것이다(S175).
이상에서는 프로그램되는 메모리 셀들의 페이지 어드레스(MSB 또는 LSB 페이지)를 통해서 또는 타깃 상태의 검출을 통해서 프로그램 전압의 레벨을 검출하는 실시예가 설명되었다. 여기서, 비트 라인의 프리차지 전압들(VBL<0>, VBL<1>, VBL<2>, VBL<3>)은 서로 다른 레벨을 나타낸다. 예를 들면, 타깃 상태가 높을 수록 더 높은 비트 라인의 프리차지 전압이 제공되도록 비트 라인의 프리차지 전압들(VBL<0>, VBL<1>, VBL<2>, VBL<3>)이 설정될 수 있다. 또한, 비선택 워드 라인에 제공되는 패스 전압들(Vpass<0>, Vpass<1>, Vpass<2>, Vpass<3>)은 서로 다른 레벨을 나타낸다. 예를 들면, 타깃 상태가 높을 수록 더 높은 패스 전압이 제공되도록 설정될 수 있다. 비선택 워드 라인 전압들(Vpass<0>, Vpass<1>, Vpass<2>, Vpass<3>)은 예를 들면 서로 다른 레벨을 갖는 패스 전압(Vpass)일 수 있다.
도 7은 본 발명의 제 2 실시예를 보여주는 순서도이다. 도 7을 참조하면, 현재 프로그램 동작에서 제공되는 프로그램 전압의 레벨을 고전압 발생기(150)에 설정된 스텝 수(step<i>)를 참조하여 판단하는 검출 방법이 개시된다. 스텝 수(step<i>)는 프로그램 동작에서 제공될 수 있는 프로그램 전압(Vpgm)의 하한에서 부터 상한까지의 레벨을 복수의 스텝들로 구분한 값이다. 따라서, 스텝 수(step<i>)의 크기는 프로그램 전압의 레벨을 의미한다. 좀더 자세히 설명하면 다음과 같다.
프로그램 모드가 시작되면, 먼저 고전압 발생기(150)에 의한 고전압이 생성된다(S200). 이어서, 제어부(140)에 의한 현재의 프로그램 동작(Current program operation)에서 선택된 메모리 셀들에 인가될 프로그램 전압(Vpgm)의 레벨이 검출된다. 제 2 실시예에서는 프로그램 전압(Vpgm)의 레벨 검출은 현재 프로그램 동작 또는 프로그램 루프에 대응하는 프로그림 전압의 스텝 수(step<i>)를 참조하여 이루어진다. 즉, 현재의 프로그램 동작에서 선택된 메모리 셀들의 워드 라인으로 제공될 프로그램 전압의 스텝 수(step<i>)를 비교하고 그 결과를 참조하여 비트 라인의 프리차지 전압과 비선택 워드 라인 전압을 선택하게 될 것이다(S205).
현재 프로그램 동작 또는 프로그램 루프에서 제공되는 프로그램 전압(Vpgm)에 대응하는 스텝 수(step<i>)가 특정 스텝 수(step<m>) 보다 큰지 또는 작은지를 판단한다(S210). 만일, 현재 프로그램 동작에 대응하는 프로그램 전압의 스텝 수(step<i>)가 특정 스텝 수(step<m>)보다 작은 것으로 판단되면, 절차는 단계(S215)로 분기한다. 반면, 현재 프로그램 동작에 대응하는 프로그램 전압의 스텝 수(step<i>)가 특정 스텝 수(step<m>)보다 크거나 같은 것으로 판단되면, 절차는 현재의 프로그램 전압의 스텝 수(step<i>)와 특정 스텝 수(step<n>, n > m)를 비교하기 위한 단계(S225)로 이동한다(S210).
현재 프로그램 동작에서의 프로그램 전압의 스텝 수(step<i>)가 특정 스텝 수(step<m>)보다 작은 것으로 판단되면, 제어부(140)는 프로그램 금지 스트링의 비트 라인으로는 프리차지 전압(VBL<0>)을 인가한다(S215). 이어서, 비선택 워드 라인들로는 패스 전압(Vpass<0>)을 인가한다(S220). 그리고, 선택된 워드 라인에는 고전압 발생기(150)로부터 제공되는 프로그램 전압(Vpgm)을 제공함으로써 선택된 메모리 셀들을 프로그램한다(S250).
반면, 현재 프로그램 동작에서의 프로그램 전압의 스텝 수(step<i>)가 특정 스텝 수(step<m>)보다 같거나 큰 것으로 판단되면, 제어부(140)는 현재의 프로그램 전압의 스텝 수(step<i>)와 특정 스텝 수(step<n>, n > m)를 비교하기 위한 단계(S225)로 이동한다. 현재 프로그램 전압의 스텝 수(step<i>)가 특정 스텝 수(step<n>)보다 작은 것으로 판단되면, 제어부(140)는 프로그램 금지 스트링의 비트 라인으로는 프리차지 전압(VBL<1>)을 인가한다(S230). 이어서, 비선택 워드 라인들로는 패스 전압(Vpass<1>)을 인가한다(S235). 그리고, 선택된 워드 라인에는 고전압 발생기(150)로부터 제공되는 프로그램 전압(Vpgm)을 제공함으로써 선택된 메모리 셀들을 프로그램한다(S250).
단계(S225)에서, 현재 프로그램 동작에서의 프로그램 전압의 스텝 수(step<i>)가 특정 스텝 수(step<m>)보다 같거나 큰 것으로 판단되면, 제어부(140)는 프로그램 금지 스트링의 비트 라인으로는 프리차지 전압(VBL<2>)을 인가하는 비트 라인 프리차지를 실시한다(S240). 이어서, 비선택 워드 라인들로는 패스 전압(Vpass<2>)을 인가한다(S245). 그리고, 선택된 워드 라인에는 고전압 발생기(150)로부터 제공되는 프로그램 전압(Vpgm)을 제공함으로써 선택된 메모리 셀들 을 프로그램한다(S250).
프로그램 전압(Vpgm)이 제공된 이후 선택된 메모리 셀들에 대한 프로그램 여부를 검증하는 검증 읽기 동작이 실시될 것이다. 검증 읽기 결과, 검증 패스(Verify pass)로 판정되면 제반 프로그램 절차는 종료된다. 반면에, 검증 읽기 결과, 검증 페일(Verify fail)로 판정되면, 절차는 재프로그램을 위한 단계(S260)로 이동한다(S255). 재프로그램을 위해서 프로그램 전압(Vpgm)의 레벨은 스텝 전압(ΔV)만큼 증가하게 될 것이다. 또한, 증가된 프로그램 전압(Vpgm+ΔV)의 레벨에 대응하는 비트 라인의 프리차지 전압과 비선택 워드 라인 전압이 재프로그램 동작시에 제공될 것이다(S260).
이상에서는 프로그램 전압의 스텝 수(step<i>)를 참조하여 현재 프로그램 동작에서의 프로그램 전압(Vpgm)의 레벨을 검출하는 실시예가 설명되었다. 여기서, 비트 라인의 프리차지 전압들(VBL<0>, VBL<1>, VBL<2>)은 서로 다른 레벨을 나타낸다. 예를 들면, 높은 스텝 수(step<i>)에 대응하는 프로그램 전압일수록 높은 비트 라인의 프리차지 전압이 제공되도록 프리차지 전압들(VBL<0>, VBL<1>, VBL<2>)이 설정될 수 있다. 또한, 비선택 워드 라인 전압들(Vpass<0>, Vpass<1>, Vpass<2>)은 서로 다른 레벨을 나타낸다. 예를 들면, 높은 스텝 수(step<i>)에 대응하는 프로그램 전압일수록 높은 비선택 워드 라인 전압이 제공되도록 설정될 수 있다.
도 8은 본 발명의 제 3 실시예를 보여주는 순서도이다. 도 8을 참조하면, 현재 프로그램 동작에서 제공되는 프로그램 전압의 레벨을 검증 읽기 결과를 참조하여 판단하는 실시예가 개시된다. 일반적으로 멀티 레벨 셀을 프로그램하는 동작에 서 하나의 프로그램 사이클 동안 복수의 타깃 상태들로 메모리 셀들이 프로그램되는 경우가 존재한다. 즉, 앞서 설명된 도 5에서 어느 하나의 타깃 상태로 프로그램되는 것이 아니라, 타깃 상태들(P2, P3)을 갖는 메모리 셀들이 동시에 프로그램될 수 있다. 또는, 타깃 상태들(P1, P2, P3)를 갖는 메모리 셀들이 동시에 프로그램될 수 있음은 물론이다. 이 경우, 낮은 타깃 상태(예를 들면, P1)로 프로그램되는 메모리 셀들이 패스되지 않았다면, 프로그램 전압의 레벨은 여전히 낮은 레벨의 ISPP 전압으로 제공되고 있을 것이다. 그러나, 동시에 프로그램되는 메모리 셀들 중 타깃 상태들(P1, P2)에 대응하는 메모리 셀들이 프로그램 패스되고, 높은 타깃 상태(P3)를 갖는 메모리 셀들이 프로그램되는 동작에서는 상대적으로 높은 레벨의 ISPP 전압이 제공될 것이다. 따라서, 검증 읽기 결과를 참조하여 패스된 상태를 체크하여 비트 라인 전압과 비선택 워드 라인 전압을 가변하여 본 발명의 목적을 달성할 수 있을 것이다. 설명의 편의를 위하여, 제 3 실시예는 타깃 상태들(P1, P2, P3)로 동시에 프로그램되는 경우를 예로 설명하기로 한다.
프로그램 모드가 시작되면, 먼저 고전압 발생기(150)에 의한 고전압이 생성된다(S300). 이어서, 제어부(140)에 의한 현재의 프로그램 동작(Current program operation)에서 선택된 메모리 셀들에 인가될 프로그램 전압(Vpgm)의 레벨이 검출된다. 제 3 실시예에서는 프로그램 전압(Vpgm)의 레벨 검출은 검증 읽기 결과에 의하여 구현된다. 이전 프로그램 동작(또는, 프로그램 루프)에서 실시된 검증 읽기 결과가 프로그램 패스(Program pass)인 상태(State)를 참조하여 현재 프로그램 동작(또는, 프로그램 루프)에서 제공되는 프로그램 전압의 레벨을 검출한다. 검출된 결과에 따라 비트 라인의 프리차지 전압(VBL<y>)과 비선택 워드 라인으로 제공되는 패스 전압(Vpass<x>)을 선택하게 될 것이다(S305).
우선, 현재 프로그램 동작 또는 프로그램 루프의 이전에 실시된 검증 읽기 동작의 결과, 타깃 상태(P1)로 프로그램되는 메모리 셀들이 정상적으로 프로그램되었는지 또는 프로그램 페일(Program fail)인지의 여부가 판단된다(S310). 만일, 현재 프로그램 동작이 최초 프로그램 루프인 경우라면, 절차는 단계(S315)로 분기한다. 또한, 현재 프로그램 동작의 이전에 검증 읽기 동작이 실시되었고, 타깃 상태(P1)로 메모리 셀들이 모두 프로그램되지 못한 경우에도 절차는 단계(S315)로 분기한다. 반면, 검증 읽기 결과, 타깃 상태(P1)로 프로그램되는 메모리 셀들이 모두 프로그램 완료되면, 절차는 타깃 상태(P2)에 대한 검증 읽기 결과를 검출하기 위한 단계(S325)로 이동한다.
타깃 상태(P1)로 메모리 셀들이 모두 프로그램되지 못한 것으로 검출되면, 제어부(140)는 프로그램 금지 스트링의 비트 라인으로는 프리차지 전압(VBL<0>)을 인가하는 비트 라인 프리차지 동작을 실시한다(S315). 이어서, 비선택 워드 라인들로는 패스 전압(Vpass<0>)을 인가한다(S320). 그리고, 선택된 워드 라인에는 고전압 발생기(150)로부터 제공되는 프로그램 전압(Vpgm)을 제공함으로써 선택된 메모리 셀들을 프로그램한다(S350).
단계(S310)에서의 판단 결과, 타깃 상태(P1)로 프로그램되는 메모리 셀들이 모두 프로그램 완료된 것으로 검출되면, 절차는 타깃 상태(P2)에 대한 검증 읽기 결과를 검출하기 위한 단계(S325)로 이동한다. 단계(S325)에서, 타깃 상태(P2)로 프로그램되는 메모리 셀들이 모두 프로그램되지 못한 경우, 절차는 단계(S330)로 분기한다. 타깃 상태(P2)로 메모리 셀들이 모두 프로그램되지 못한 것으로 검출되면, 제어부(140)는 프로그램 금지 스트링의 비트 라인으로는 프리차지 전압(VBL<1>)을 인가한다(S330). 이어서, 비선택 워드 라인들로는 패스 전압(Vpass<1>)을 인가한다(S335). 그리고, 선택된 워드 라인에는 고전압 발생기(150)로부터 제공되는 프로그램 전압(Vpgm)을 제공함으로써 선택된 메모리 셀들이 프로그램된다(S350).
반면, 타깃 상태(P2)로 프로그램되는 메모리 셀들이 모두 프로그램 완료된 것으로 검출되면, 제어부(140)는 프로그램 금지 스트링의 비트 라인으로는 프리차지 전압(VBL<2>)을 인가하는 비트 라인 프리차지 동작을 실시한다(S340). 이어서, 비선택 워드 라인들로는 패스 전압(Vpass<2>)을 인가한다(S345). 그리고, 선택된 워드 라인에는 고전압 발생기(150)로부터 제공되는 프로그램 전압(Vpgm)을 제공함으로써 선택된 메모리 셀들을 프로그램한다(S350).
프로그램 전압(Vpgm)이 제공된 이후 선택된 메모리 셀들에 대한 프로그램 여부를 검증하는 검증 읽기 동작이 실시될 것이다. 검증 읽기 결과, 검증 패스(Verify pass)로 판정되면 제반 프로그램 절차는 종료된다. 반면에, 검증 읽기 결과, 검증 페일(Verify fail)로 판정되면, 절차는 재프로그램을 위한 단계(S360)로 이동한다(S355). 재프로그램을 위해서 프로그램 전압(Vpgm)의 레벨은 스텝 전압(ΔV)만큼 증가하게 될 것이다. 또한, 증가된 프로그램 전압(Vpgm+ΔV)의 레벨에 대응하는 비트 라인의 프리차지 전압과 비선택 워드 라인 전압이 재프로그램 동작 시에 제공될 것이다(S360).
이상에서는 복수의 타깃 상태들로 프로그램되는 메모리 셀들의 경우, 검증 읽기 결과를 참조하여 프로그램 전압의 레벨을 검출하는 제 3 실시예가 설명되었다. 여기서, 비트 라인으로 제공되는 프리차지 전압들(VBL<0>, VBL<1>, VBL<2>)은 서로 다른 레벨을 나타낸다. 예를 들면, 높은 타깃 상태(P2)로 프로그램되는 메모리 셀들이 패스로 판정된 이후에 제공될 프로그램 전압일수록 높은 비트 라인의 프리차지 전압이 제공되도록 프리차지 전압들(VBL<0>, VBL<1>, VBL<2>)이 설정될 수 있다. 또한, 패스 전압들(Vpass<0>, Vpass<1>, Vpass<2>)은 서로 다른 레벨을 나타낸다. 예를 들면, 높은 타깃 상태(P2)로 프로그램되는 메모리 셀들이 패스로 판정된 이후에 제공될 프로그램 전압일수록 높은 패스 전압이 제공되도록 설정될 수 있다.
도 9는 본 발명의 제 4 실시예를 보여주는 순서도이다. 도 9를 참조하면, 현재 프로그램 동작에서 제공되는 프로그램 전압의 레벨을 프로그램 루프 수(Loop<i>)를 참조하여 판단하는 검출 방법이 개시된다. 프로그램 루프 수(Loop<i>)는 프로그램 전압을 제공하는 프로그램 구간과 프로그램 결과를 검증하는 검증 구간을 포함하며, 이러한 프로그램과 검증 구간이 하나의 프로그램 루프를 구성한다. 그리고, 복수의 프로그램 루프가 선택된 메모리 셀들이 모두 프로그램될 때까지 반복될 것이다. 따라서, 프로그램 루프 수(Loop<i>)의 크기는 상대적이긴 하지만 프로그램 전압(Vpgm)의 레벨에 대한 정보를 포함하고 있다.
프로그램 모드가 시작되면, 먼저 고전압 발생기(150)에 의한 고전압이 생성 된다(S400). 이어서, 제어부(140)에 의한 현재의 프로그램 동작(Current program operation)에서 선택된 메모리 셀들에 인가될 프로그램 전압(Vpgm)의 레벨이 검출된다. 제 4 실시예에서는 프로그램 전압(Vpgm)의 레벨 검출은 현재 프로그램 동작 또는 프로그램 루프에 대응하는 프로그램 루프 수(Loop<i>)를 참조하여 이루어진다. 즉, 현재의 프로그램 동작에서 선택된 메모리 셀들의 워드 라인으로 제공될 프로그램 루프 수(Loop<i>)를 비교하고 그 결과를 참조하여 비트 라인의 프리차지 전압(VBL<y>)과 패스 전압(Vpass<x>)을 선택하게 될 것이다(S405).
현재 프로그램 동작 또는 프로그램 루프의 루프 수(Loop<i>)가 특정 수(M) 보다 큰지 또는 작은지를 판단한다(S410). 만일, 현재 프로그램 동작에 대응하는 프로그램 루프 수(Loop<i>)가 특정 수(M)보다 작은 것으로 판단되면, 절차는 단계(S415)로 분기한다. 반면, 현재 프로그램 동작에 대응하는 프로그램 루프 수(Loop<i>)가 특정 수(M)보다 크거나 같은 것으로 판단되면, 절차는 현재의 프로그램 루프 수(Loop<i>)와 특정 수(N, N > M)를 비교하기 위한 단계(S225)로 이동한다(S410).
현재 프로그램 동작에서의 프로그램 루프 수(Loop<i>)가 특정 수(M)보다 작은 것으로 판단되면, 제어부(140)는 프로그램 금지 스트링의 비트 라인으로는 프리차지 전압(VBL<0>)을 인가하는 비트 라인 프리차지 동작을 실시한다(S415). 이어서, 비선택 워드 라인들로는 패스 전압(Vpass<1>)을 인가한다(S420). 그리고, 선택된 워드 라인에는 고전압 발생기(150)로부터 제공되는 프로그램 전압(Vpgm)을 제공함으로써 선택된 메모리 셀들을 프로그램한다(S450).
반면, 현재 프로그램 동작의 프로그램 루프 수(Loop<i>)가 특정 수(M)보다 같거나 큰 것으로 판단되면, 제어부(140)는 현재의 프로그램 루프 수(Loop<i>)와 특정 수(N, N > M)를 비교하기 위한 단계(S425)로 이동한다. 현재의 프로그램 루프 수(Loop<i>)가 특정 수(N)보다 작은 것으로 판단되면, 제어부(140)는 프로그램 금지 스트링의 비트 라인으로는 프리차지 전압(VBL<1>)을 인가한다(S430). 이어서, 비선택 워드 라인들로는 패스 전압(Vpass<1>)을 인가한다(S435). 그리고, 선택된 워드 라인에는 고전압 발생기(150)로부터 제공되는 프로그램 전압(Vpgm)을 제공함으로써 선택된 메모리 셀들을 프로그램한다(S450).
단계(S425)에서, 현재 프로그램 동작에 대응하는 프로그램 루프 수(Loop<i>)가 특정 수(N)보다 같거나 큰 것으로 판단되면, 제어부(140)는 프로그램 금지 스트링의 비트 라인으로는 프리차지 전압(VBL<2>)을 인가하는 비트 라인 프리차지 동작을 실시한다(S440). 이어서, 비선택 워드 라인들로는 패스 전압(Vpass<2>)을 인가한다(S445). 그리고, 선택된 워드 라인에는 고전압 발생기(150)로부터 제공되는 프로그램 전압(Vpgm)을 제공함으로써 선택된 메모리 셀들을 프로그램한다(S450).
프로그램 전압(Vpgm)이 제공된 이후 선택된 메모리 셀들에 대한 프로그램 여부를 검증하는 검증 읽기 동작이 실시될 것이다. 검증 읽기 결과, 검증 패스(Verify pass)로 판정되면 제반 프로그램 절차는 종료된다. 반면에, 검증 읽기 결과, 검증 페일(Verify fail)로 판정되면, 절차는 재프로그램을 위한 단계(S460)로 이동한다(S455). 재프로그램을 위해서 프로그램 전압(Vpgm)의 레벨은 스텝 전압(ΔV)만큼 증가하게 될 것이다. 또한, 증가된 프로그램 전압(Vpgm+ΔV)의 레벨에 대응하는 비트 라인의 프리차지 전압과 비선택 워드 라인 전압이 재프로그램 동작시에 제공될 것이다(S460).
이상에서는 프로그램 루프 수(Loop<i>)를 참조하여 현재 프로그램 동작에서의 프로그램 전압(Vpgm)의 레벨을 검출하는 실시예가 설명되었다. 여기서, 비트 라인의 프리차지 전압들(VBL<0>, VBL<1>, VBL<2>)은 서로 다른 레벨을 나타낸다. 예를 들면, 높은 프로그램 루프 수(Loop<i>)에 대응하는 프로그램 전압일수록 높은 비트 라인의 프리차지 전압이 제공되도록 프리차지 전압들(VBL<0>, VBL<1>, VBL<2>)이 설정될 수 있다. 또한, 비선택 워드 라인에 제공되는 패스 전압들(Vpass<0>, Vpass<1>, Vpass<2>)은 서로 다른 레벨을 나타낸다. 예를 들면, 높은 프로그램 루프 수(Loop<i>)에 대응하는 프로그램 전압일수록 높은 패스 전압이 제공되도록 설정될 수 있다.
도 10은 본 발명의 효과를 간략히 보여주는 도면이다. 도 10을 참조하면, 본 발명의 프로그램 방법에 따르면, 프로그램 디스터브(Program disturbance)와 패스 디스터브(Pass disturbance)의 특성이 개선되는 특징이 도시되어 있다.
먼저, 곡선 (A)는 프로그램 금지 스트링에 포함되면서 프로그램 전압(Vpgm)을 제공받는 메모리 셀들(예를 들면, 도 2의 116)의 소프트 프로그램 정도 또는 페일 비트의 발생 크기를 보여준다. 그러나, 본 발명의 프로그램 전압(Vpgm)의 레벨에 따라 가변적인 비트 라인의 프리차지 전압의 제공을 통하여 채널 전압의 부스팅 효율을 높일 수 있다. 따라서, 곡선 (A)는 곡선 (A′)으로 이동한다.
곡선 (B)는 프로그램 스트링에 포함되는 메모리 셀들 중 비선택 워드 라인들 에 연결되는 메모리 셀들의 소프트 프로그램 정도 또는 페일 비트의 발생 크기를 보여준다. 본 발명의 패스 전압(Vpass) 제공 방법에 따르면, 프로그램 전압(Vpgm)의 레벨에 따라 선택적으로 다양한 레벨의 패스 전압(Vpass)의 제공이 가능하다. 따라서, 곡선 (B)는 곡선 (B′)로 이동하며, 결국 본 발명의 프로그램 방법에 따른 패스 전압 윈도(VPW_2)의 확보가 가능하다. 가변적이지 못한 비트 라인의 프리차지 전압과 패스 전압 레벨을 적용하는 경우의 패스 전압 윈도(VPW_1)에 비하여 본 발명의 패스 전압 윈도(VPW_2)의 확장을 의미한다.
도 11은 본 발명에 따른 프로그램 동작을 수행하는 플래시 메모리 장치(220)를 포함하는 메모리 시스템(200)을 보여주는 블록도이다. 도 11을 참조하면, 본 발명에 따른 메모리 시스템(200)은 플래시 메모리 장치(220)와 메모리 컨트롤러(210)를 포함할 것이다. 플래시 메모리 장치(220)는 앞서 설명된 도 1에 도시된 플래시 메모리 장치(100)와 실질적으로 동일하며, 따라서 그것에 대한 상세한 설명은 생략될 것이다. 메모리 컨트롤러(210)는 플래시 메모리 장치(220)를 제어하도록 구성될 것이다. 플래시 메모리 장치(220)와 메모리 컨트롤러(210)의 결합에 의해 메모리 카드 또는 반도체 디스크 장치(Solid State Disk: SSD)로 제공될 수 있을 것이다.
SRAM(211)은 프로세싱 유닛(212)의 동작 메모리로써 사용된다. 호스트 인터페이스(213)는 메모리 시스템(200)과 접속되는 호스트의 데이터 교환 프로토콜을 구비한다. 에러 정정 블록(214)은 플래시 메모리 장치(220)로부터 독출된 데이터에 포함되는 에러를 검출 및 정정한다. 메모리 인터페이스(214)는 본 발명의 플래시 메모리 장치(220)와 인터페이싱 한다. 프로세싱 유닛(212)은 메모리 컨트롤러(210) 의 데이터 교환을 위한 제반 제어 동작을 수행한다. 비록 도면에는 도시되지 않았지만, 본 발명에 따른 메모리 시스템(200)은 호스트(Host)와의 인터페이싱을 위한 코드 데이터를 저장하는 ROM(미도시됨) 등이 더 제공될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다. 플래시 메모리 장치(220)는 복수의 플래시 메모리 칩들로 구성되는 멀티-칩 패키지로 제공될 수도 있다.
이상의 본 발명의 메모리 시스템(200)은 에러의 발생 확률이 낮은 고신뢰성의 저장 매체로 제공될 수 있다. 특히, 최근 활발히 연구되고 있는 반도체 디스크 장치(Solid State Disk: 이하 SSD)와 같은 메모리 시스템에서 본 발명의 플래시 메모리 장치가 구비될 수 있다. 이 경우, 메모리 컨트롤러(210)는 USB, MMC, PCI-E, SATA, PATA, SCSI, ESDI, 그리고 IDE 등과 같은 다양한 인터페이스 프로토콜들 중 하나를 통해 외부(예를 들면, 호스트)와 통신하도록 구성될 것이다.
플래시 메모리 장치는 전력이 차단되어도 저장된 데이터를 유지할 수 있는 불휘발성 메모리 장치이다. 셀룰러 폰, PDA 디지털 카메라, 포터블 게임 콘솔, 그리고 MP3P와 같은 모바일 장치들의 사용 증가에 따라, 플래시 메모리 장치는 데이터 스토리지로서 뿐만 아니라 코드 스토리지로서 널리 사용된다. 플래시 메모리 장치는, 또한, HDTV, DVD, 라우터, 그리고 GPS와 같은 홈 애플리케이션에 사용될 수 있다.
도 12에는 본 발명에 따른 플래시 메모리 장치(312)를 포함한 컴퓨팅 시스템(300)이 개략적으로 도시되어 있다. 본 발명에 따른 컴퓨팅 시스템(300)은 시스템 버스(360)에 전기적으로 연결된 마이크로프로세서(320), 램(330), 사용자 인터 페이스(340), 베이스밴드 칩셋(Baseband chipset)과 같은 모뎀(350) 및 메모리 시스템(310)을 포함한다. 메모리 시스템(310)은 도 11에 도시된 것과 실질적으로 동일하게 구성될 것이다. 본 발명에 따른 컴퓨팅 시스템이 모바일 장치인 경우, 컴퓨팅 시스템의 동작 전압을 공급하기 위한 배터리(미도시됨)가 추가적으로 제공될 것이다. 비록 도면에는 도시되지 않았지만, 본 발명에 따른 컴퓨팅 시스템(400)에는 응용 칩셋(Application chipset), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램, 등이 더 제공될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다. 메모리 시스템(310)은, 예를 들면, 데이터를 저장하는 데 불휘발성 메모리를 사용하는 SSD(Solid State Drive/Disk)를 구성할 수 있다. 또는, 메모리 시스템(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은 본 발명의 플래시 메모리 장치를 간략히 보여주는 블록도;
도 2는 도 1의 셀 어레이(110)의 구성을 보여주는 회로도;
도 3a 및 도 3b는 본 발명에 따른 패스 전압 및 비트 라인의 프리차지 전압의 변화를 보여주는 도면;
도 4는 본 발명에 따른 프로그램 방법의 개략적인 절차를 보여주는 순서도;
도 5는 본 발명의 프로그램 방법을 설명하기 위한 MLC의 문턱 전압 분포도;
도 6은 본 발명의 제 1 실시예에 따른 프로그램 방법을 보여주는 순서도;
도 7은 본 발명의 제 2 실시예에 따른 프로그램 방법을 보여주는 순서도;
도 8은 본 발명의 제 3 실시예에 따른 프로그램 방법을 보여주는 순서도;
도 9는 본 발명의 제 4 실시예에 따른 프로그램 방법을 보여주는 순서도;
도 10은 본 발명의 효과를 보여주는 그래프;
도 11은 본 발명에 따른 메모리 시스템을 보여주는 블록도; 및
도 12는 본 발명에 따른 컴퓨팅 시스템을 보여주는 블록도.
*도면의 주요 부분에 대한 부호의 설명*
110 : 셀 어레이 120 : 행 디코더
130 : 페이지 버퍼 140 : 제어부
150 : 고전압 발생기 160 : 설정 데이터 저장부
210 : 메모리 컨트롤러 211 : 에스램
212 : 프로세싱 유닛 213 : 호스트 인터페이스
214 : 에러 정정 블록 215 : 메모리 인터페이스
220 : 플래시 메모리 장치 310 : 메모리 시스템
311 : 메모리 컨트롤러 312 : 플래시 메모리 장치
320 : 마이크로프로세서 330 : 램
340 : 사용자 인터페이스 350 : 모뎀
360 : 시스템 버스

Claims (10)

  1. 불휘발성 메모리 장치의 프로그램 방법에 있어서:
    (a) 프로그램 전압의 레벨을 검출하는 단계; 및
    (b) 상기 검출된 프로그램 전압의 레벨에 따라 비선택 워드 라인 전압과 비트 라인의 프리차지 전압을 조절하는 단계를 포함하는 프로그램 방법.
  2. 제 1 항에 있어서,
    상기 (a) 단계에서, 상기 프로그램 전압의 레벨은 선택된 메모리 셀들이 프로그램되는 타깃 프로그램 상태를 참조하여 검출되는 프로그램 방법.
  3. 제 1 항에 있어서,
    상기 (a) 단계에서, 상기 프로그램 전압의 레벨은 상기 프로그램 전압에 대응하는 프로그램 스텝 수의 크기를 참조하여 검출되는 프로그램 방법.
  4. 제 1 항에 있어서,
    상기 (a) 단계에서, 상기 프로그램 전압의 레벨은 검증 읽기의 결과를 참조하여 검출되는 프로그램 방법.
  5. 제 4 항에 있어서,
    상기 불휘발성 메모리 장치는 복수의 타깃 프로그램 상태들로 프로그램되며, 상기 복수의 타깃 프로그램 상태들 각각으로 프로그램되는 메모리 셀들에 대한 검증 읽기 결과, 패스로 판정되는 타깃 프로그램 상태에 따라 상기 프로그램 전압의 레벨이 검출되는 프로그램 방법.
  6. 제 1 항에 있어서,
    상기 (a) 단계에서, 상기 프로그램 전압의 레벨은 상기 프로그램 전압에 대응하는 프로그램 루프의 크기를 참조하여 검출되는 프로그램 방법.
  7. 제 1 항에 있어서,
    상기 (a)단계 및 상기 (b) 단계는 프로그램 루프를 구성하며, 상기 프로그램 전압이 증가함에 따라 상기 비선택 워드 라인 전압의 레벨은 증가하는 프로그램 방법.
  8. 제 7 항에 있어서,
    상기 프로그램 전압이 증가함에 따라 상기 비트 라인의 프리차지 전압의 레벨은 증가하는 프로그램 방법.
  9. 제 1 항에 있어서,
    상기 비선택 워드 라인 전압은 상기 프로그램 전압이 제공되지 않는 워드 라 인에 제공되는 패스 전압을, 상기 비트 라인의 프리차지 전압은 프로그램 금지 스트링의 비트 라인에 제공되는 전압인 것을 특징으로 하는 프로그램 방법.
  10. 불휘발성 메모리 장치; 및
    상기 불휘발성 메모리 장치를 제어하기 위한 메모리 컨트롤러를 포함하되, 상기 불휘발성 메모리 장치는 청구항 1에 기재된 프로그램 방법에 따라 메모리 셀들을 프로그램하는 불휘발성 메모리 장치인 것을 특징으로 하는 메모리 시스템.
KR1020080103198A 2008-10-21 2008-10-21 불휘발성 메모리 장치 및 그것의 프로그램 방법 KR20100043935A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020080103198A KR20100043935A (ko) 2008-10-21 2008-10-21 불휘발성 메모리 장치 및 그것의 프로그램 방법
US12/461,934 US8508996B2 (en) 2008-10-21 2009-08-28 Method of programming non-volatile memory device and non-volatile memory device using the same
US13/949,833 US9064581B2 (en) 2008-10-21 2013-07-24 Method of programming non-volatile memory device and non-volatile memory device using the same
US14/614,992 US9087608B2 (en) 2008-10-21 2015-02-05 Method of programming non-volatile memory device and non-volatile memory device using the same
US14/741,582 US20150287466A1 (en) 2008-10-21 2015-06-17 Method of programming non-volatile memory device and non-volatile memory device using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080103198A KR20100043935A (ko) 2008-10-21 2008-10-21 불휘발성 메모리 장치 및 그것의 프로그램 방법

Publications (1)

Publication Number Publication Date
KR20100043935A true KR20100043935A (ko) 2010-04-29

Family

ID=42108560

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080103198A KR20100043935A (ko) 2008-10-21 2008-10-21 불휘발성 메모리 장치 및 그것의 프로그램 방법

Country Status (2)

Country Link
US (4) US8508996B2 (ko)
KR (1) KR20100043935A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011031811A2 (en) * 2009-09-10 2011-03-17 Micron Technology, Inc. Data line management in a memory device
KR20150032389A (ko) * 2013-09-16 2015-03-26 삼성전자주식회사 불휘발성 메모리 및 그것의 프로그램 방법
US9318203B2 (en) 2014-02-03 2016-04-19 SK Hynix Inc. Semiconductor device being capable of improving program speed and program disturbance characteristics
US10650903B2 (en) 2010-02-17 2020-05-12 Samsung Electronics Co., Ltd. Non-volatile memory devices, operating methods thereof and memory systems including the same

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7796436B2 (en) * 2008-07-03 2010-09-14 Macronix International Co., Ltd. Reading method for MLC memory and reading circuit using the same
KR20100043935A (ko) * 2008-10-21 2010-04-29 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
US9378831B2 (en) 2010-02-09 2016-06-28 Samsung Electronics Co., Ltd. Nonvolatile memory devices, operating methods thereof and memory systems including the same
KR101691092B1 (ko) 2010-08-26 2016-12-30 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
US9324440B2 (en) 2010-02-09 2016-04-26 Samsung Electronics Co., Ltd. Nonvolatile memory devices, operating methods thereof and memory systems including the same
KR101658479B1 (ko) 2010-02-09 2016-09-21 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
US8908431B2 (en) 2010-02-17 2014-12-09 Samsung Electronics Co., Ltd. Control method of nonvolatile memory device
US9007832B2 (en) 2011-03-03 2015-04-14 Micron Technology, Inc. Methods for programming a memory device and memory devices
US8369157B2 (en) 2011-03-03 2013-02-05 Micron Technology, Inc. Methods for programming a memory device and memory devices
TWI486955B (zh) * 2011-03-23 2015-06-01 Macronix Int Co Ltd 快閃記憶體裝置與其程式化方法
US8526233B2 (en) * 2011-05-23 2013-09-03 Sandisk Technologies Inc. Ramping pass voltage to enhance channel boost in memory device, with optional temperature compensation
US9684520B2 (en) * 2011-10-20 2017-06-20 Smart Modular Technologies, Inc. Computing system with non-disruptive fast memory restore mechanism and method of operation thereof
KR20130044693A (ko) * 2011-10-24 2013-05-03 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
TWI489465B (zh) * 2011-11-17 2015-06-21 Macronix Int Co Ltd 使用兩階段源極端偏壓進行反及閘快閃記憶體之低電壓程式化
US20140198576A1 (en) * 2013-01-16 2014-07-17 Macronix International Co, Ltd. Programming technique for reducing program disturb in stacked memory structures
JP6179206B2 (ja) * 2013-06-11 2017-08-16 株式会社リコー メモリ制御装置
KR102272238B1 (ko) * 2014-09-02 2021-07-06 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
CN106158040B (zh) * 2015-04-21 2019-08-27 群联电子股份有限公司 读取电压准位估测方法、存储器存储装置及控制电路单元
US9595317B2 (en) * 2015-05-28 2017-03-14 Sandisk Technologies Llc Multi-state programming for non-volatile memory
US9754645B2 (en) * 2015-10-27 2017-09-05 Sandisk Technologies Llc Bit line charging for a device
JP2017111847A (ja) 2015-12-17 2017-06-22 株式会社東芝 半導体記憶装置
US10381094B2 (en) 2016-10-11 2019-08-13 Macronix International Co., Ltd. 3D memory with staged-level multibit programming
KR102656828B1 (ko) * 2017-01-05 2024-04-18 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법
US9773567B1 (en) * 2017-02-22 2017-09-26 Qualcomm Incorporated Reduced silicon-oxide-nitride-oxide-silicon (SONOS) flash memory program disturb
CN109411002B (zh) * 2017-08-15 2021-01-29 华为技术有限公司 一种数据读取的方法及闪存控制器
JP2019200826A (ja) * 2018-05-14 2019-11-21 東芝メモリ株式会社 半導体記憶装置
US10643720B2 (en) 2018-05-23 2020-05-05 Sandisk Technologies Llc Bit line voltage control for damping memory programming
US10741262B2 (en) * 2018-10-12 2020-08-11 Macronix International Co., Ltd. NAND flash operating techniques mitigating program disturbance
JP2020102287A (ja) * 2018-12-21 2020-07-02 キオクシア株式会社 半導体記憶装置
KR20200138894A (ko) * 2019-06-03 2020-12-11 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 메모리 장치
TWI692761B (zh) * 2019-06-05 2020-05-01 旺宏電子股份有限公司 非揮發性記憶體裝置的操作方法
KR102657140B1 (ko) * 2019-12-26 2024-04-15 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
WO2021207965A1 (en) 2020-04-15 2021-10-21 Yangtze Memory Technologies Co., Ltd. 3d nand flash and operation method thereof
WO2021232223A1 (en) * 2020-05-19 2021-11-25 Yangtze Memory Technologies Co., Ltd. 3d nand flash and operation method thereof
KR20220068541A (ko) 2020-11-19 2022-05-26 삼성전자주식회사 비휘발성 메모리 장치 및 이의 동작 방법
KR20220107578A (ko) * 2021-01-25 2022-08-02 에스케이하이닉스 주식회사 메모리 장치 및 그 동작 방법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10241388A (ja) 1996-12-29 1998-09-11 Sony Corp 電圧供給回路および半導体不揮発性記憶装置
JPH11177071A (ja) 1997-12-11 1999-07-02 Toshiba Corp 不揮発性半導体記憶装置
JP2000048581A (ja) 1998-07-28 2000-02-18 Sony Corp 不揮発性半導体記憶装置
JP2000251485A (ja) 1999-02-26 2000-09-14 Sony Corp 不揮発性半導体記憶装置およびそのデータ書き込み方法
JP2000348494A (ja) 1999-06-09 2000-12-15 Sony Corp 不揮発性半導体記憶装置
US6894931B2 (en) 2002-06-20 2005-05-17 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device
KR20050108136A (ko) 2004-05-11 2005-11-16 주식회사 하이닉스반도체 낸드 플래시 메모리 소자의 프로그램 방법
KR20060108324A (ko) 2005-04-12 2006-10-17 주식회사 하이닉스반도체 Nand형 플래쉬 메모리 셀의 프로그램 방법
JP2007042166A (ja) 2005-08-01 2007-02-15 Toshiba Corp 不揮発性半導体記憶装置及びその動作方法
US7471565B2 (en) * 2006-08-22 2008-12-30 Micron Technology, Inc. Reducing effects of program disturb in a memory device
KR100770754B1 (ko) * 2006-10-12 2007-10-29 삼성전자주식회사 비휘발성 반도체 메모리 장치 및 그것의 프로그램 방법
JP2008117471A (ja) 2006-11-02 2008-05-22 Toshiba Corp 不揮発性半導体記憶装置及び不揮発性メモリシステム
US7894263B2 (en) * 2007-09-28 2011-02-22 Sandisk Corporation High voltage generation and control in source-side injection programming of non-volatile memory
KR20100043935A (ko) * 2008-10-21 2010-04-29 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011031811A2 (en) * 2009-09-10 2011-03-17 Micron Technology, Inc. Data line management in a memory device
WO2011031811A3 (en) * 2009-09-10 2011-06-09 Micron Technology, Inc. Data line management in a memory device
US10650903B2 (en) 2010-02-17 2020-05-12 Samsung Electronics Co., Ltd. Non-volatile memory devices, operating methods thereof and memory systems including the same
US11062784B2 (en) 2010-02-17 2021-07-13 Samsung Electronics Co., Ltd. Non-volatile memory devices, operating methods thereof and memory systems including the same
US11715537B2 (en) 2010-02-17 2023-08-01 Samsung Electronics Co., Ltd. Non-volatile memory devices, operating methods thereof and memory systems including the same
KR20150032389A (ko) * 2013-09-16 2015-03-26 삼성전자주식회사 불휘발성 메모리 및 그것의 프로그램 방법
US9318203B2 (en) 2014-02-03 2016-04-19 SK Hynix Inc. Semiconductor device being capable of improving program speed and program disturbance characteristics

Also Published As

Publication number Publication date
US8508996B2 (en) 2013-08-13
US20100097863A1 (en) 2010-04-22
US9064581B2 (en) 2015-06-23
US20150146485A1 (en) 2015-05-28
US20150287466A1 (en) 2015-10-08
US20130308391A1 (en) 2013-11-21
US9087608B2 (en) 2015-07-21

Similar Documents

Publication Publication Date Title
US9087608B2 (en) Method of programming non-volatile memory device and non-volatile memory device using the same
KR100890016B1 (ko) 비휘발성 메모리 장치, 그것을 포함하는 메모리 시스템 및그것의 프로그램 방법
US8270227B2 (en) Nonvolatile memory device and method of reading same
JP5106817B2 (ja) 信頼性を向上させることができるフラッシュメモリ装置
US10297299B2 (en) Semiconductor device and operating method thereof
KR101308014B1 (ko) 플래시 메모리 장치 및 그것의 프로그램 리커버리 방법
US8773910B2 (en) Programming to mitigate memory cell performance differences
KR20180104379A (ko) 비휘발성 메모리 장치의 동작 방법 및 비휘발성 메모리 장치
KR101468099B1 (ko) 불휘발성 메모리 장치의 프로그램 방법
US9818477B2 (en) Methods of programming memory cells in non-volatile memory devices
KR101468096B1 (ko) 불휘발성 메모리 장치의 동작 방법 및 그것을 포함하는 메모리 시스템
JP5367697B2 (ja) 不揮発性記憶装置における読み出し動作中の消費電力の低減
KR20090108953A (ko) 불휘발성 메모리 장치 및 그것의 프로그램 방법
KR101462489B1 (ko) 비휘발성 메모리 장치의 프로그램 방법 및 이니셜 차징 방법
JP2013125576A (ja) 不揮発性半導体記憶装置
US11423998B2 (en) Semiconductor device and reading method thereof
KR20130072665A (ko) 반도체 메모리 장치 및 이의 동작 방법
JP2006155871A (ja) 不揮発性メモリ装置
US8218371B2 (en) Multi-bit flash memory device and method of analyzing flag cells of the same
KR20090054125A (ko) 플래시 메모리 장치 및 그것의 읽기 방법
KR20120059035A (ko) 반도체 메모리 장치의 프로그램 방법
KR101642930B1 (ko) 더미 셀을 갖는 불휘발성 메모리 장치 및 그것의 프로그램 방법
KR102040904B1 (ko) 반도체 메모리 장치 및 이의 동작 방법
KR101402230B1 (ko) 더미 셀을 포함하는 불휘발성 메모리 장치 및 그것의프로그램 방법
KR20080103362A (ko) 낸드 플래시 메모리소자의 구동방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E601 Decision to refuse application