KR20130047400A - 불휘발성 메모리 및 그것의 제어 방법 - Google Patents

불휘발성 메모리 및 그것의 제어 방법 Download PDF

Info

Publication number
KR20130047400A
KR20130047400A KR1020110112401A KR20110112401A KR20130047400A KR 20130047400 A KR20130047400 A KR 20130047400A KR 1020110112401 A KR1020110112401 A KR 1020110112401A KR 20110112401 A KR20110112401 A KR 20110112401A KR 20130047400 A KR20130047400 A KR 20130047400A
Authority
KR
South Korea
Prior art keywords
program
word line
voltages
program operation
selected word
Prior art date
Application number
KR1020110112401A
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 KR1020110112401A priority Critical patent/KR20130047400A/ko
Priority to US13/600,327 priority patent/US8934302B2/en
Publication of KR20130047400A publication Critical patent/KR20130047400A/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/10Programming or data input circuits
    • G11C16/12Programming voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • 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
    • 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
    • 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
    • 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
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B43/00EEPROM devices comprising charge-trapping gate insulators
    • H10B43/20EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels
    • H10B43/23EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels
    • H10B43/27EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels the channels comprising vertical portions, e.g. U-shaped channels
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B43/00EEPROM devices comprising charge-trapping gate insulators
    • H10B43/30EEPROM devices comprising charge-trapping gate insulators characterised by the memory core region
    • H10B43/35EEPROM devices comprising charge-trapping gate insulators characterised by the memory core region with cell select transistors, e.g. NAND
    • 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
    • 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/5644Multilevel memory comprising counting devices
    • 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)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Semiconductor Memories (AREA)
  • Non-Volatile Memory (AREA)

Abstract

본 발명은 반도체 메모리에 관한 것으로, 구체적으로는 불휘발성 메모리에 관한 것이다. 본 발명의 실시 예에 따른 제어 방법은 제 1 프로그램 동작 시에 선택된 워드 라인에 인가된 프로그램 전압들의 인가 횟수를 카운트하고, 제 2 프로그램 동작이 수행되기 전에 카운트된 인가 횟수에 따라 제 2 프로그램 동작에 사용될 프로그램 전압들 사이의 증가량을 조절하는 것을 포함한다.

Description

불휘발성 메모리 및 그것의 제어 방법{NONVOLATILE MEMORY AND CONTROLLING METHOD THEREOF}
본 발명은 반도체 메모리에 관한 것으로, 구체적으로는 불휘발성 메모리에 관한 것이다.
반도체 메모리(semiconductor memory)는 실리콘(Si, silicon), 게르마늄(Ge, Germanium), 비화 갈륨(GaAs, gallium arsenide), 인화인듐(InP, indium phospide) 등과 같은 반도체를 이용하여 구현되는 기억장치이다. 반도체 메모리는 크게 휘발성 메모리(Volatile memory)와 불휘발성 메모리(Nonvolatile memory)로 구분된다.
휘발성 메모리는 전원 공급이 차단되면 저장하고 있던 데이터가 소멸되는 메모리 장치이다. 휘발성 메모리에는 SRAM (Static RAM), DRAM (Dynamic RAM), SDRAM (Synchronous DRAM) 등이 있다. 불휘발성 메모리는 전원 공급이 차단되어도 저장하고 있던 데이터를 유지하는 메모리 장치이다. 불휘발성 메모리에는 ROM (Read Only Memory), PROM (Programmable ROM), EPROM (Electrically Programmable ROM), EEPROM (Electrically Erasable and Programmable ROM), 플래시 메모리, PRAM (Phase-change RAM), MRAM (Magnetic RAM), RRAM (Resistive RAM), FRAM (Ferroelectric RAM) 등이 있다. 플래시 메모리는 크게 노어 타입과 낸드 타입으로 구분된다.
최근에, 반도체 메모리 장치의 집적도를 향상시키기 위하여, 3차원 어레이 구조를 갖는 반도체 메모리 장치가 연구되고 있다.
본 발명의 목적은 3 차원 불휘발성 메모리에서 수행되는 프로그램 동작의 신뢰성을 향상시키는 것이다.
본 발명의 실시 예에 따른 불휘발성 메모리의 제어 방법은 제 1 프로그램 동작 시에 선택된 워드 라인에 인가된 프로그램 전압들의 인가 횟수를 카운트하고; 상기 선택된 워드 라인에 대한 제 2 프로그램 동작이 수행되기 전에, 상기 카운트된 인가 횟수에 따라 상기 제 2 프로그램 동작에 사용될 프로그램 전압들 사이의 증가량을 조절하고; 상기 조절된 증가량만큼 단계적으로 증가하는 프로그램 전압들을 상기 선택된 워드 라인에 인가하여 상기 제 2 프로그램 동작을 수행하는 것을 포함한다.
실시 예로서, 상기 프로그램 전압들 사이의 증가량을 조절하는 것은 상기 선택된 워드 라인에 대한 상기 제 2 프로그램 동작 요청에 응답하여 수행될 수 있다.
실시 예로서, 상기 제 1 프로그램 동작 시에 상기 선택된 워드 라인에 연결된 메모리 셀들에 하위 비트 데이터가 프로그램되고, 상기 제 2 프로그램 동작 시에 상기 선택된 워드 라인에 연결된 메모리 셀들에 상기 하위 비트 데이터보다 높은 상위 비트 데이터가 프로그램될 수 있다.
실시 예로서, 상기 제 1 프로그램 동작 시에 상기 선택된 워드 라인에 연결된 메모리 셀들에 최하위 비트(Least Significant Bit) 데이터가 프로그램되고, 상기 제 2 프로그램 동작 시에 상기 선택된 워드 라인에 연결된 메모리 셀들에 최상위 비트(Most Significant Bit) 데이터가 프로그램될 수 있다.
실시 예로서, 상기 제어 방법은 상기 제 1 프로그램 동작 후에 상기 선택된 워드 라인에 연결된 메모리 셀들의 데이터를 소거하는 것을 더 포함할 것이다. 이때, 상기 제 2 프로그램 동작은 상기 소거 동작 후에 수행될 것이다. 그리고, 상기 선택된 워드 라인에 연결된 메모리 셀들 각각은 하나의 비트 데이터(Single Bit Data)를 저장할 것이다.
실시 예로서, 상기 프로그램 전압들 사이의 증가량을 조절하는 것은 상기 카운트된 인가 횟수가 특정한 값보다 작을 때 상기 제 2 프로그램 동작 시에 인가될 프로그램 전압들 사이의 증가량을 디폴트 값보다 낮은 전압으로 조절하는 것을 포함할 것이다.
실시 예로서, 상기 프로그램 전압들 사이의 증가량을 조절하는 것은 상기 카운트된 인가 횟수가 상기 특정한 값보다 클 때 상기 제 2 프로그램 동작 시에 인가될 프로그램 전압들 사이의 증가량을 디폴트 값보다 높은 전압으로 조절하는 것을 포함할 것이다.
실시 예로서, 상기 제 2 프로그램 동작 시에 상기 선택된 워드 라인에 프로그램 전압들이 인가된 횟수를 카운트하는 것을 더 포함할 수 있다.
본 발명의 다른 일면은 불휘발성 메모리에 관한 것이다. 본 발명의 실시 예에 따른 불휘발성 메모리는 기판 위에 적층되는 복수의 메모리 셀들을 포함하고, 복수의 워드 라인들에 연결되는 메모리 셀 어레이; 프로그램 동작들이 수행될 때마다, 단계적으로 증가하는 프로그램 전압들을 발생하도록 구성되는 전압 발생기; 상기 발생된 프로그램 전압들을 상기 복수의 워드 라인들 중 선택된 워드 라인에 인가하는 어드레스 디코더; 및 제 1 프로그램 동작이 수행될 때 선택된 워드 라인에 인가된 프로그램 전압들의 인가 횟수를 카운트하도록 구성되는 루프 카운터, 그리고 상기 카운트된 인가 횟수를 저장하도록 구성되는 카운트 레지스터를 가지는 제어 로직을 포함한다. 상기 제어 로직은 상기 선택된 워드 라인에 대한 제 2 프로그램 동작이 수행되기 전에, 상기 저장된 인가 횟수에 따라 상기 제 2 프로그램 동작 시에 사용될 프로그램 전압들 사이의 증가량을 조절하도록 구성된다.
실시 예로서, 상기 제어 로직은 상기 선택된 워드 라인에 대한 상기 제 2 프로그램 동작 요청에 응답하여, 상기 제 2 프로그램 동작 시에 사용될 상기 프로그램 전압들 사이의 증가량을 조절하도록 구성될 수 있다.
실시 예로서, 상기 카운트 레지스터에 저장된 상기 인가 횟수는 상기 선택된 워드 라인에 대응할 수 있다.
실시 예로서, 상기 제 2 프로그램 동작 시에, 상기 선택된 워드 라인을 가리키는 어드레스가 수신되고, 상기 제어 로직은 상기 카운트 레지스터에 저장된 상기 인가 횟수가 상기 어드레스에 대응하는지에 따라 상기 프로그램 전압들 사이의 증가량을 조절하도록 구성될 수 있다.
실시 예로서, 상기 제 1 프로그램 동작 시에 상기 선택된 워드 라인에 연결된 메모리 셀들에 하위 비트 데이터가 프로그램되고, 상기 제 2 프로그램 동작 시에 상기 선택된 워드 라인에 연결된 메모리 셀들에 상기 하위 비트 데이터보다 높은 상위 비트 데이터가 프로그램될 수 있다.
실시 예로서, 상기 제 2 프로그램 동작은 상기 제 1 프로그램 동작 시에 프로그램된 데이터가 소거된 후에 수행될 것이다.
본 발명의 실시 예에 따르면, 프로그램 동작 시에 인가된 프로그램 전압들의 인가 횟수가 카운트된다. 그리고, 카운트된 인가 횟수에 따라 다음 프로그램 동작 시에 선택된 워드 라인에 인가될 프로그램 전압들 사이의 증가량이 조절될 것이다. 프로그램 전압들의 증가량이 조절됨에 따라, 불휘발성 메모리에서 수행되는 프로그램 동작의 신뢰성은 향상될 것이다.
도 1은 본 발명의 제 1 실시 예에 따른 불휘발성 메모리를 보여주는 블록도이다.
도 2는 도 1의 메모리 셀 어레이를 보여주는 블록도이다.
도 3은 도 2의 메모리 블록들 중 어느 하나의 Ⅲ-Ⅲ'선에 따른 사시단면도를 예시적으로 보여준다.
도 4는 Ⅲ-Ⅲ'선에 따른 단면도를 예시적으로 보여준다.
도 5은 도 4의 셀 트랜지스터들 중 하나를 보여주는 확대도이다.
도 6은 메모리 블록의 등가 회로를 보여주는 회로도이다.
도 7은 도 4의 제 1 및 제 2 셀 트랜지스터들의 제 1 방향 및 제 3 방향에 따른 단면도이다.
도 8은 프로그램 동작 시에 선택된 워드 라인에 인가되는 프로그램 전압들을 보여주는 그래프이다.
도 9는 최하위 비트 프로그램 및 최상위 비트 프로그램 시의 문턱 전압 산포를 보여주는 다이어그램이다.
도 10은 도 1의 제어 로직을 좀 더 구체적으로 보여주는 블록도이다.
도 11은 본 발명의 실시 예에 따른 불휘발성 메모리의 프로그램 방법을 보여주는 순서도이다.
도 12는 제 1 및 제 6 워드 라인들에 대한 프로그램 동작들이 수행될 때 제 1 및 제 6 워드 라인들에 인가되는 프로그램 전압들을 보여주는 그래프이다.
도 13은 본 발명의 실시 예에 따른 불휘발성 메모리의 제어 방법을 보여주는 순서도이다.
도 14는 도 13의 제어 방법의 제 1 실시 예를 보여주는 순서도이다.
도 15는 도 13의 제어 방법의 제 2 실시 예를 보여주는 순서도이다.
도 16은 본 발명의 다른 실시 예에 따른 불휘발성 메모리의 프로그램 방법을 보여주는 순서도이다.
도 17은 최하위 비트 프로그램 시에 프로그램되는 메모리 셀들의 문턱 전압 산포를 보여준다.
도 18은 본 발명의 실시 예에 따른 메모리 시스템을 보여주는 블록도이다.
도 19는 도 1의 컨트롤러가 불휘발성 메모리를 제어하는 방법을 보여주는 순서도이다.
도 20은 도 18의 메모리 시스템의 응용 예를 보여주는 블록도이다.
도 21은 도 20을 참조하여 설명된 메모리 시스템을 포함하는 컴퓨팅 시스템을 보여주는 블록도이다.
본 발명의 이점 및 특징, 그리고 그것을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 통해 설명될 것이다. 그러나 본 발명은 여기에서 설명되는 실시 예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 단지, 본 실시 예들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여 제공되는 것이다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 발명의 제 1 실시 예에 따른 불휘발성 메모리(100)를 보여주는 블록도이다. 도 1을 참조하면, 불휘발성 메모리(100)는 메모리 셀 어레이(110, Memory Cell Array), 어드레스 디코더(120, ADDR Decoder), 전압 발생 회로(130, Voltage Generator), 제어 회로(140, Control Circuit), 읽기 및 쓰기 회로(150, Read & Write Circuit) 및 입출력 회로(160, I/O Circuit)를 포함한다.
메모리 셀 어레이(110)는 행 라인들(RL)을 통해 어드레스 디코더(120)에 연결된다. 행 라인들(RL)은 스트링 선택 라인들, 접지 선택 라인들, 및 복수의 워드 라인들을 포함할 것이다. 메모리 셀 어레이(110)는 비트 라인들(BL)을 통해 읽기 및 쓰기 회로(140)에 연결된다. 메모리 셀 어레이(110)는 복수의 메모리 셀들을 포함한다. 복수의 메모리 셀들은 기판 위에 적층된다. 예시적으로, 복수의 메모리 셀들은 셀 당 하나 또는 그 이상의 비트를 저장할 수 있다.
어드레스 디코더(120)는 메모리 셀 어레이(110), 전압 발생 회로(130) 및 입출력 버퍼(160)에 연결된다. 어드레스 디코더(120)는 제어 로직(140)의 제어에 응답하여 동작한다. 어드레스 디코더(120)는 입출력 버퍼(160)로부터 어드레스(ADDR)를 수신한다.
어드레스 디코더(120)는 수신된 어드레스(ADDR) 중 블록 어드레스를 디코딩 하도록 구성된다. 어드레스 디코더(120)는 디코딩된 블록 어드레스에 기반하여 메모리 셀 어레이(110)에 포함된 메모리 블록들 중 하나를 선택한다.
어드레스 디코더(120)는 어드레스(ADDR) 중 행 어드레스를 디코딩할 것이다. 어드레스 디코더(120)는 디코딩된 행 어드레스(DA)에 따라 행 라인들(RL) 각각에 전압을 인가할 것이다. 어드레스 디코더(120)는 디코딩된 행 어드레스(DA)를 제어 로직(140)에 전송할 것이다.
예시적으로, 프로그램 동작 시에, 어드레스 디코더(120)는 전압 발생기(130)로부터 프로그램 전압 및 패스 전압을 수신할 것이다. 어드레스 디코더(120)는 행 라인들(RL) 중 선택된 워드 라인(즉, 어드레스에 대응하는 워드 라인)에 프로그램 전압을 인가할 것이다. 어드레스 디코더(120)는 행 라인들(RL) 중 비선택된 워드 라인들(즉, 어드레스에 대응하지 않는 워드 라인들) 각각에 패스 전압을 인가할 것이다. 어드레스 디코더(120)는 선택된 스트링 선택 라인에 전원 전압을 인가하고, 선택된 메모리 블록의 접지 선택 라인을 플로팅시킬 것이다.
예시적으로, 읽기 동작 및 검증 읽기 동작 시에, 어드레스 디코더(120)는 전압 발생기(130)에서 발생된 선택 읽기 전압을 선택된 워드 라인에 인가할 것이다. 그리고, 어드레스 디코더(120)는 전압 발생기(130)에서 발생된 비선택 읽기 전압을 비선택된 워드 라인들에 인가할 것이다.
예시적으로, 어드레스 디코더(120)는 행 어드레스를 디코딩하는 행 디코더 및 어드레스(ADDR)를 저장하는 어드레스 버퍼를 포함할 수 있다.
전압 발생기(130)는 제어 로직(140) 및 어드레스 디코더(120)에 연결된다. 전압 발생기(130)는 제어 로직(140)의 제어에 따라 동작할 것이다. 전압 발생기(130)는 고전압들을 생성하도록 구성될 것이다. 예를 들면, 전압 발생기(130)는 복수의 펌핑 커패시터를 포함하도록 구성될 것이다. 전압 발생기(130)는 복수의 펌핑 커패시터를 이용하여 다양한 고전압들을 생성하도록 구성될 것이다. 예시적으로, 프로그램 동작 시에, 전압 발생기(130)는 프로그램 전압 및 패스 전압을 생성하도록 구성될 것이다. 전압 발생기(130)에 의해 생성된 프로그램 전압 및 패스 전압은 어드레스 디코더(120)를 통해 행 라인들(RL) 중 복수의 워드 라인들에 전달될 것이다.
예시적으로, 메모리 셀 어레이(110)에 더미 워드 라인에 연결되는 더미 메모리 셀들이 포함되는 경우에, 전압 발생기(130)는 더미 워드 라인 전압을 더 발생할 것이다. 더미 워드 라인 전압은 어드레스 디코더(120)를 통해 더미 워드 라인에 인가될 것이다.
한 번의 프로그램 동작은 복수의 프로그램 루프들을 포함할 것이다. 하나의 프로그램 루프는 프로그램 전압을 선택된 워드 라인에 인가하는 하위 프로그램 동작과 프로그램된 메모리 셀들 각각이 원하는 문턱 전압을 갖는지 검증하는 검증 읽기 동작을 포함할 것이다. 전압 발생기(130)는 각 프로그램 루프 시에 프로그램 전압을 발생할 것이다. 프로그램 루프의 수행 횟수가 증가할수록, 프로그램 루프 시에 발생하는 프로그램 전압은 단계적으로 상승할 것이다. 즉, 전압 발생기(130)는 한 번의 프로그램 동작 시에 단계적으로 증가하는 프로그램 전압들을 발생할 것이다.
단계적으로 증가하는 프로그램 전압들은 어드레스 디코더(120)를 통해 선택된 워드 라인에 인가될 것이다. 한 번의 프로그램 동작 시에 복수의 프로그램 전압들이 선택된 워드 라인에 인가됨으로써 프로그램 동작이 수행될 것이다. 이때, 프로그램 전압들 사이의 증가량은 제어 로직(140)에 의해 제어될 것이다.
제어 로직(140)은 어드레스 디코더(120), 전압 발생기(130), 읽기 및 쓰기 회로(150), 및 입출력 버퍼(160)에 연결된다. 제어 로직(140)은 입출력 버퍼(160)로부터 제어 신호(CTRL)를 수신한다. 제어 로직(140)은 제어 신호(CTRL)에 응답하여 불휘발성 메모리(100)의 제반 동작을 제어할 것이다. 프로그램 동작을 가리키는 제어 신호(CTRL)가 수신되면, 제어 로직(140)은 프로그램 동작을 수행하도록 불휘발성 메모리(100)를 제어할 것이다.
본 발명의 실시 예에 따르면, 제어 로직(140)은 카운트 레지스터(140)를 포함한다. 제어 로직(140)은 프로그램 동작 시에 프로그램 전압들이 선택된 워드 라인에 인가된 횟수를 카운트하고, 인가 횟수를 카운트 레지스터(140)에 저장한다. 저장되는 인가 횟수는 선택된 워드 라인에 대응할 것이다. 예시적으로, 제어 로직(140)은 각 워드 라인에 대응하는 인가 횟수를 테이블 형태로 저장할 것이다.
예시적으로, 프로그램 전압들이 선택된 워드 라인에 인가된 횟수는 읽기 및 쓰기 회로(150)로부터 수신되는 패스/페일 신호(P/F)에 따라 카운트될 것이다. 패스/페일 신호(P/F)는 프로그램 동작의 각 프로그램 루프마다 수신될 것이다. 패스/페일 신호(P/F)가 프로그램 페일을 가리키면, 제어 로직(140)은 인가 횟수를 1 증가시킬 것이다. 패스/페일 신호(P/F)가 프로그램 패스를 가리키면, 제어 로직(140)은 카운트된 인가 횟수를 카운트 레지스터(145)에 저장할 것이다.
예시적으로, 카운트 레지스터(145)에 저장된 인가 횟수는 메모리 셀 어레이(110)에 저장될 것이다. 예를 들면, 메모리 셀 어레이(110)는 프로그램될 데이터가 저장되는 사용자 영역과 메타 데이터가 저장되는 스페어 영역을 포함할 것이다. 제어 로직(140)은 카운트 레지스터(145)에 저장된 인가 횟수를 메모리 셀 어레이(110)에 저장할 것이다.
또한, 제어 로직(140)은 프로그램 시에 선택된 워드 라인에 대응하는 인가 횟수가 카운트 레지스터(145)에 저장되어 있는지에 따라 프로그램 전압들 사이의 증가량의 조절 여부를 결정할 것이다. 인가 횟수가 메모리 셀 어레이(110)에 저장된 경우, 제어 로직(140)은 메모리 셀 어레이(110)로부터 카운트 레지스터(145)에 인가 횟수를 로드할 것이다.
선택된 워드 라인에 대응하는 인가 횟수가 카운트 레지스터(145)에 저장된 경우, 제어 로직(140)은 인가 횟수에 따라 프로그램 전압들 사이의 증가량을 조절한다. 예시적으로, 제어 로직(140)은 프로그램 동작 시에 어드레스 디코더(120)로부터 디코딩된 행 어드레스(DA)를 수신할 것이다. 제어 로직(140)은 디코딩된 행 어드레스(DA)에 따라 선택된 워드 라인을 인식하고, 선택된 워드 라인에 대응하는 인가 횟수가 카운트 레지스터(140)에 저장되어 있는지 판별할 것이다. 다른 예로서, 제어 로직(140)은 입출력 버퍼(160)로부터 어드레스(ADDR)를 직접 수신하고, 어드레스(ADDR)에 따라 선택된 워드 라인을 인식할 수 있다.
읽기 및 쓰기 회로(150)는 비트 라인들(BL)을 통해 메모리 셀 어레이(110)에 연결된다. 읽기 및 쓰기 회로(150)는 제어 로직(140)의 제어에 응답하여 동작한다. 읽기 및 쓰기 회로(150)는 입출력 버퍼(160)와 데이터(DATA)를 교환한다. 프로그램 동작 시에, 읽기 및 쓰기 회로(150)는 입출력 버퍼(160)로부터 프로그램될 데이터(DATA)를 수신할 것이다. 그리고, 읽기 및 쓰기 회로(150)는 프로그램될 데이터(DATA)를 선택된 워드 라인의 메모리 셀들에 프로그램할 것이다. 예시적으로, 프로그램될 데이터(DATA)에 따라 비트 라인들(BL)에 프로그램 전압(예를 들면, 접지 전압) 또는 프로그램 금지 전압(예를 들면, 전원 전압)을 인가할 것이다.
검증 읽기 동작 시에, 읽기 및 쓰기 회로(150)는 선택된 워드 라인의 메모리 셀들에 저장된 데이터를 읽고, 프로그램될 데이터(DATA)와 읽어진 데이터를 비교할 것이다. 선택된 워드 라인의 메모리 셀들에 저장된 데이터가 프로그램될 데이터(DATA)와 다른 경우, 프로그램 페일을 가리키는 패스/페일 신호(P/F)를 발생할 것이다. 선택된 워드 라인의 메모리 셀들에 저장된 데이터가 프로그램될 데이터(DATA)와 같은 경우, 프로그램 패스를 가리키는 패스/페일 신호(P/F)를 발생할 것이다.
예시적으로, 읽기 및 쓰기 회로(150)는 페이지 버퍼(또는 페이지 레지스터), 열 선택 회로 등과 같은 구성 요소들을 포함할 수 있다. 다른 예로서, 읽기 및 쓰기 회로(150)는 감지 증폭기, 쓰기 드라이버, 열 선택 회로 등과 같은 구성 요소들을 포함할 수 있다.
입출력 버퍼(160)는 어드레스 디코더(120), 제어 로직(140) 및 읽기 및 쓰기 회로(150)에 연결된다. 입출력 버퍼(160)는 외부로부터 제어 신호(CTRL) 및 어드레스(ADDR)를 수신하고, 제어 신호(CTRL) 및 어드레스(ADDR)를 각각 제어 로직(140) 및 어드레스 디코더(120)에 전송한다.
입출력 버퍼(160)는 외부와 데이터(DATA)를 교환한다. 프로그램 동작 시에, 입출력 버퍼(160)는 외부로부터 수신된 데이터(DATA)를 읽기 및 쓰기 회로(150)에 전달할 것이다. 읽기 동작 시에, 입출력 버퍼(160)는 읽기 및 쓰기 회로(150)로부터 수신된 데이터(DATA)를 외부로 전송할 것이다.
도 2는 도 1의 메모리 셀 어레이(110)를 보여주는 블록도이다. 도 2를 참조하면, 메모리 셀 어레이(110)는 복수의 메모리 블록들(BLK1~BLKz)을 포함한다. 각 메모리 블록은 3차원 구조(또는 수직 구조)를 갖는다. 예를 들면, 각 메모리 블록은 제 1 내지 제 3 방향들을 따라 신장된 구조물들을 포함한다. 예를 들면, 각 메모리 블록(BLK)은 제 2 방향을 따라 신장된 복수의 셀 스트링들을 포함한다. 예를 들면, 제 1 및 제 3 방향들을 따라 배치된 복수의 셀 스트링들이 제공될 것이다. 각 메모리 블록은 복수의 비트 라인들(BL), 복수의 스트링 선택 라인들(SSL). 접지 선택 라인(GSL), 복수의 워드 라인들(WL), 그리고 공통 소스 라인(CSL)에 연결된다. 메모리 블록들(BLK1~BLKz)은 도 3을 참조하여 더 상세하게 설명된다.
도 3은 도 2의 메모리 블록들(BLK1~BLKz) 중 어느 하나(BLK1)의 Ⅲ-Ⅲ'선에 따른 사시단면도를 예시적으로 보여준다. 도 4는 Ⅲ-Ⅲ'선에 따른 단면도를 예시적으로 보여준다.
기판(111)이 제공된다. 예시적으로, 기판(111)은 제 1 도전형(conductive type)을 갖는 웰(well) 일 수 있다. 예를 들면, 기판(111)은 붕소(B, Boron)와 같은 3족 원소가 주입되어 형성된 P 웰 일 수 있다. 예를 들면, 기판(111)은 N 웰 내에 제공되는 포켓 P 웰 일 수 있다. 이하에서, 기판(111)은 P 웰(또는 포켓 P 웰)인 것으로 가정한다. 그러나, 기판(111)은 P 도전형을 갖는 것으로 한정되지 않는다.
기판(111) 상에, 제 1 방향을 따라 신장된 복수의 도핑 영역들(311~313)이 제공된다. 복수의 도핑 영역들(311~313)은 기판(111) 상에서 제 3 방향을 따라 특정 거리만큼 이격되어 제공된다. 도 3 및 도 4에 도시된 복수의 도핑 영역들(311~313)은 순차적으로 제 1 도핑 영역(311), 제 2 도핑 영역(312), 그리고 제 3 도핑 영역(313)으로 정의된다.
제 1 내지 제 3 도핑 영역들(311~313)은 기판(111)과 상이한 제 2 도전형(conductive type)을 갖는다. 이하에서, 제 1 내지 제 3 도핑 영역들(311~313)은 N 도전형을 갖는 것으로 가정한다. 그러나, 제 1 내지 제 3 도핑 영역들(311~313)은 N 도전형을 갖는 것으로 한정되지 않는다.
제 1 내지 제 3 도핑 영역들(311~313) 중 인접한 두 개의 도핑 영역들 사이에서, 복수의 절연 물질들(112, 112a)이 제 2 방향(즉, 기판과 수직한 방향)을 따라 기판(111) 상에 순차적으로 제공된다. 복수의 절연 물질들(112, 112a)은 제 2 방향을 따라 특정한 거리만큼 이격되어 제공된다. 복수의 절연 물질들(112, 112a)은 제 1 방향을 따라 신장된다. 예시적으로, 복수의 절연 물질들(112, 112a)은 실리콘 산화막과 같은 절연 물질을 포함할 수 있다. 예시적으로, 복수의 절연 물질들(112, 112a) 중 기판(111)과 접촉하는 절연 물질(112a)의 두께는 다른 절연 물질들(112)의 두께보다 얇을 수 있다.
제 1 내지 제 3 도핑 영역들(311~313) 중 인접한 두 개의 도핑 영역들 사이에서, 제 1 방향을 따라 순차적으로 배치되며 제 2 방향을 따라 복수의 절연 물질들(112, 112a)을 관통하는 복수의 필라들(pillar, PL11, PL12, PL21, PL22)이 제공된다. 예시적으로, 복수의 필라들(PL11, PL12, PL21, PL22)은 절연 물질들(112)을 관통하여 기판(111)과 접촉할 수 있다. 복수의 필라들(PL11, PL12, PL21, PL22) 각각의 폭들은 기판에 인접할수록 감소한다.
복수의 필라들(PL11, PL12, PL21, PL22) 각각은 다층으로 구성될 수 있다. 복수의 필라들(PL11, PL12, PL21, PL22)은 채널막들(114) 및 내부 물질들(115)을 포함할 수 있다. 복수의 필라들(PL11, PL12, PL21, PL22) 각각에서, 내부 물질 및 내부 물질을 둘러싸는 채널막이 제공될 수 있다.
채널막들(114)은 제 1 도전형을 갖는 반도체 물질(예를 들면, 실리콘)을 포함할 수 있다. 예를 들면, 채널막들(114)은 기판(111)과 동일한 도전형 갖는 반도체 물질(예를 들면, 실리콘)을 포함할 수 있다. 이하에서, 채널막들(114)은 P 타입 실리콘을 포함하는 것으로 가정한다. 그러나, 채널막들(114)은 P 타입 실리콘을 포함하는 것으로 한정되지 않는다. 예를 들면, 채널막들(114)은 도전형을 갖지 않는 진성 반도체(intrinsic semiconductor)를 포함할 수 있다.
내부 물질들(115)은 절연 물질을 포함한다. 예를 들면, 내부 물질들(115)은 실리콘 산화물(Silicon Oxide)과 같은 절연 물질을 포함할 수 있다. 예를 들면, 내부 물질들(115)은 에어 갭(air gap)을 포함할 수 있다.
제 1 내지 제 3 도핑 영역들(311~313) 중 인접한 두 개의 도핑 영역들 사이에서, 복수의 절연 물질들(112) 및 복수의 필라들(PL11, PL12, PL21, PL22)의 노출된 표면들 상에 정보 저장막들(116)이 제공된다. 도 4에서, 예시적으로, 정보 저장막들(116)의 두께는 절연 물질들(112) 사이의 거리보다 작을 수 있다.
제 1 내지 제 3 도핑 영역들(311~313) 중 인접한 두 개의 도핑 영역들 사이에서, 정보 저장막들(116) 사이에 도전 물질들(CM1~CM8)이 제공된다. 예시적으로, 도전 물질들(CM1~CM8)은 금속성 도전 물질을 포함 수 있다. 도전 물질들(CM1~CM8)은 폴리 실리콘 등과 같은 비금속성 도전 물질을 포함할 수 있다.
복수의 필라들(PL11, PL12, PL21, PL22) 상에 복수의 드레인들(320)이 제공된다. 예시적으로, 드레인들(320)은 제 2 도전형을 갖는 반도체 물질(예를 들면, 실리콘)을 포함할 수 있다. 예를 들면, 드레인들(320)은 N 도전형을 갖는 반도체 물질(예를 들면, 실리콘)을 포함할 수 있다. 이하에서, 드레인들(320)은 N 타입 실리콘을 포함하는 것으로 가정한다. 그러나, 드레인들(320)은 N 타입 실리콘을 포함하는 것으로 한정되지 않는다.
드레인들(320) 상에, 제 3 방향으로 신장되며, 제 1 방향을 따라 특정 거리만큼 이격된 비트 라인들(BL1, BL2)이 제공된다. 비트 라인들(BL1, BL2)은 드레인들(320)과 연결된다. 예시적으로, 드레인들(320) 및 비트 라인들(BL1, BL2)은 콘택 플러그들(미도시)을 통해 연결될 수 있다. 예시적으로, 비트 라인들(BL1, BL2)은 금속성 도전 물질들을 포함할 수 있다. 예시적으로, 비트 라인들(BL1, BL2)은 폴리 실리콘 등과 같은 비금속성 도전 물질들을 포함할 수 있다.
이하에서, 메모리 블록(BLK1)의 필라들(PL11, PL12, PL21, PL22)의 행들 및 열들이 정의된다. 제 1 도핑 영역(311) 및 제 2 도핑 영역(312) 사이에 제공되는 도전 물질들(CM1~CM8)과 정보 저장막들(116)을 통해 결합된 필라들(PL11, PL12)이 제 1 행의 필라들로 정의된다. 제 2 도핑 영역(312) 및 제 3 도핑 영역(313) 사이에 제공되는 도전 물질들(CM1~CM8)과 정보 저장막들(116)을 통해 결합된 필라들(PL21, PL22)이 제 2 행의 필라들로 정의된다. 즉, 행 방향은 제 1 방향을 의미한다. 비트 라인들(BL1, BL2)에 따라, 필라들(PL11, PL12, PL21, PL22)의 열들이 정의된다. 제 1 비트 라인(BL1)과 드레인(320)을 통해 연결된 필라들(PL11, PL21)이 제 1 열의 필라들로 정의된다. 제 2 비트 라인(BL2)과 드레인(320)을 통해 연결된 필라들(PL12, PL22)이 제 2 열의 필라들로 정의된다. 즉, 열 방향은 제 3 방향을 의미한다.
이하에서, 도전 물질들(CM1~CM8)의 높이들이 정의된다. 도전 물질들(CM1~CM8)은 기판(111)으로부터의 순서에 따라, 제 1 내지 제 8 높이를 갖는 것으로 정의된다. 기판(111)과 가장 인접한 제 1 도전 물질들(CM1)은 제 1 높이를 갖는다. 비트 라인들(BL1, BL2)과 가장 인접한 제 8 도전 물질들(CM8)은 제 8 높이를 갖는다.
필라들(PL11, PL12, PL21, PL22) 각각은 인접한 정보 저장막들(116), 그리고 인접한 도전 물질들(CM1~CM8)과 함께 하나의 셀 스트링을 구성한다. 즉, 필라들(PL11, PL12, PL21, PL22)은 정보 저장막들(116) 및 복수의 도전 물질들(CM1~CM8)과 함께 복수의 셀 스트링들을 형성한다.
셀 스트링들 각각은 기판 상에 적층된 복수의 셀 트랜지스터들을 포함한다.
도 5는 도 4의 셀 트랜지스터들 중 하나(CT1)를 보여주는 확대도이다. 예시적으로, 제 1 행 제 1 열의 필라(PL11)에 대응하는 복수의 셀 트랜지스터들 중 제 7 높이를 갖는 제 1 셀 트랜지스터(CT1)가 도시되어 있다.
도 4 및 도 5를 참조하면, 제 1 셀 트랜지스터(CT1)는 도 5에 도시된 제 7 도전 물질(CM7), 제 7 도전 물질(CM7)에 인접한 필라(PL11)의 일부분, 그리고 제 7 도전 물질(CM7)과 필라(PL11) 사이에 제공되는 정보 저장막으로 구성된다.
정보 저장막(116)은 제 7 도전 물질(CM7) 및 필라(PL11)의 사이로부터 제 7 도전 물질(CM7)의 상면 및 하면으로 신장된다. 정보 저장막(116)은 제 1 내지 제 3 서브 절연막들(117, 118, 119)을 포함한다.
채널막(114)은 기판(111)과 동일한 P 타입 실리콘을 포함할 수 있다. 채널막(114)은 셀 트랜지스터들에서 바디(body)로 동작한다. 채널막(114)은 기판(111)과 수직한 방향으로 형성되어 있다. 필라(PL11)의 채널막(114)은 수직 바디로 동작하는 것으로 정의된다. 또한, 채널막(114)에 형성되는 채널은 수직 채널인 것으로 정의된다.
제 7 도전 물질들(CM7)은 게이트(또는 제어 게이트)로 동작한다.
필라(PL11)에 인접한 제 1 서브 절연막(117)은 터널링 절연막으로 동작한다. 예를 들면, 필라(PL11)에 인접한 제 1 서브 절연막(117)은 열산화막을 포함할 수 있다. 제 1 서브 절연막(117)은 실리콘 산화막을 포함할 수 있다.
제 2 서브 절연막(118)은 전하 저장막으로 동작한다. 예를 들면, 제 2 서브 절연막(118)은 전하 포획막으로 동작할 수 있다. 예를 들면, 제 2 서브 절연막(118)은 질화막 또는 금속 산화막(예를 들면, 알루미늄 산화막, 하프늄 산화막 등)을 포함할 수 있다. 제 2 서브 절연막(118)은 실리콘 질화막을 포함할 수 있다.
제 7 도전 물질들(CM7)에 인접한 제 3 서브 절연막(119)은 블로킹 절연막으로 동작한다. 예시적으로, 제 3 서브 절연막(119)은 단일층 또는 다층으로 형성될 수 있다. 제 3 서브 절연막(119)은 제 1 및 제 2 서브 절연막들(117, 118) 보다 높은 유전상수를 갖는 고유전막(예를 들면, 알루미늄 산화막, 하프늄 산화막 등)일 수 있다. 제 3 서브 절연막(119)은 실리콘 산화막을 포함할 수 있다.
예시적으로, 제 1 내지 제 3 서브 절연막들(117~119)은 ONO (oxide-nitride-oxide)를 구성할 수 있다.
즉, 게이트(또는 제어 게이트)로 동작하는 제 7 도전 물질(CM7), 블로킹 절연막으로 동작하는 제 3 서브 절연막(119), 전하 저장막으로 동작하는 제 2 서브 절연막(118), 터널링 절연막으로 동작하는 제 1 서브 절연막(117), 그리고 수직 바디로 동작하는 채널막(114)은 셀 트랜지스터들로 동작한다. 예시적으로, 셀 트랜지스터은 전하 포획형 셀 트랜지스터이다.
셀 트랜지스터들은 높이에 따라 상이한 용도로 사용될 수 있다. 예를 들면, 셀 트랜지스터들 중 상부에 제공되는 적어도 하나의 셀 트랜지스터는 스트링 선택 트랜지스터(SST)로 사용될 수 있다. 셀 트랜지스터들 중 하부에 제공되는 적어도 하나의 셀 트랜지스터는 접지 선택 트랜지스터(GST)로 사용될 수 있다. 나머지 셀 트랜지스터들은 메모리 셀로 사용될 수 있다.
제 1 셀 트랜지스터(CT1)가 메모리 셀로 사용된다고 가정한다. 프로그램 동작 시에, 제 7 도전 물질(CM7)에 고전압이 인가되고, 채널막(114)에 저전압(예를 들면, 전원 전압)의 채널이 형성될 것이다. 채널 상의 전하들은 제 2 서브 절연막(118)에 포획될 것이다. 그러나, 채널 상의 전하들 중 일부의 전하들은 제 3 서브 절연막(119)을 통해 제 7 도전 물질(CM7)로 방출될 수 있다. 예를 들면, 백 터널링(back tunneling) 현상이 발생될 수 있다. 이러한 백 터널링 현상은 제 1 내지 제 3 서브 절연막들(117~119) 각각에 인가되는 전압들의 비율에 따라 결정될 것이다.
다시 도 4를 참조하면, 도전 물질들(CM1~CM8)은 행 방향(제 1 방향)을 따라 신장되고 복수의 필라들(PL11, PL12 또는 PL21, PL22)에 결합된다. 즉, 도전 물질들(CM1~CM8)은 동일한 행의 필라들(PL11, PL12 또는 PL21, PL22)의 셀 트랜지스터들을 서로 연결하는 도전 라인들을 구성한다.
예시적으로, 도전 물질들(CM1~CM8)은 높이에 따라 스트링 선택 라인(SSL), 접지 선택 라인(GSL), 또는 워드 라인(WL)으로 사용될 수 있다.
도 6은 메모리 블록(BLK1)의 등가 회로를 보여주는 회로도이다. 도 3 내지 도 6을 참조하면, 제 1 비트 라인(BL1) 및 공통 소스 라인(CSL) 사이에 셀 스트링들(CS11, CS21)이 제공된다. 제 2 비트 라인(BL2) 및 공통 소스 라인(CSL) 사이에 셀 스트링들(CS12, CS22)이 제공된다. 셀 스트링들(CS11, CS21, CS12, CS22)은 각각 필라들(PL11, PL21, PL12, PL22)에 대응한다.
제 1 행 제 1 열의 필라(PL11)는 도전 물질들(CM1~CM8) 및 정보 저장막들(116)과 함께 제 1 행 제 1 열의 셀 스트링(CS11)을 구성한다. 제 1 행 제 2 열의 필라(PL12)는 도전 물질들(CM1~CM8) 및 정보 저장막들(116)과 함께 제 1 행 제 2 열의 셀 스트링(CS12)을 구성한다. 제 2 행 제 1 열의 필라(PL21)는 도전 물질들(CM1~CM8) 및 정보 저장막들(116)과 함께 제 2 행 제 1 열의 셀 스트링(CS21)을 구성한다. 제 2 행 제 2 열의 필라(PL22)는 도전 물질들(CM1~CM8) 및 정보 저장막들(116)과 함께 제 2 행 제 2 열의 셀 스트링(CS22)을 구성한다.
셀 스트링들(CS11, CS21, CS12, CS22)에서 제 1 높이의 셀 트랜지스터들은 접지 선택 트랜지스터들(GST)로 동작한다. 예시적으로, 제 1 도전 물질들(CM1)이 서로 연결되어 접지 선택 라인(GSL)을 형성할 수 있다. 셀 스트링들(CS11, CS21, CS12, CS22)에서 제 8 높이의 셀 트랜지스터들은 스트링 선택 트랜지스터들(SST)로 동작한다. 스트링 선택 트랜지스터들(SST)은 제 1 및 제 2 스트링 선택 라인들(SSL1, SSL2)에 연결된다.
동일한 행의 셀 스트링들은 스트링 선택 라인을 공유한다. 상이한 행의 셀 스트링들은 상이한 스트링 선택 라인들에 각각 연결된다. 예시적으로, 제 1 도전 물질들(CM1)은 공통으로 연결되어 접지 선택 라인(GSL)을 형성한다. 제 2 도전 물질들(CM2)이 공통으로 연결되어 제 1 워드 라인(WL1)을 형성한다. 제 3 도전 물질들(CM3)이 공통으로 연결되어 제 2 워드 라인(WL2)을 형성한다. 제 4 도전 물질들(CM4)이 공통으로 연결되어 제 3 워드 라인(WL3)을 형성한다. 제 5 도전 물질들(CM5)이 공통으로 연결되어 제 4 워드 라인(WL4)을 형성한다. 제 6 도전 물질들(CM6)이 공통으로 연결되어 제 5 워드 라인(WL5)을 형성한다. 제 7 도전 물질들(CM7)이 공통으로 연결되어 제 6 워드 라인(WL6)을 형성한다. 예시적으로, 제 1 및 제 2 스트링 선택 라인들(SSL1, SSL2)은 제 8 도전 물질들(CM8)에 대응한다.
공통 소스 라인(CSL)은 셀 스트링들(CS11, CS12, CS21, CS22)에 공통으로 연결된다. 예를 들면, 제 1 내지 제 3 도핑 영역들(311~313)이 서로 연결되어 공통 소스 라인(CSL)을 형성할 수 있다.
동일한 높이의 메모리 셀들은 하나의 워드 라인에 공통으로 연결되어 있다. 따라서, 특정 높이의 워드 라인이 선택될 때, 선택된 워드 라인에 연결된 모든 셀 스트링들(CS11, CS12, CS21, CS22)이 선택된다.
상이한 행의 셀 스트링들은 상이한 스트링 선택 라인들에 각각 연결되어 있다. 따라서, 제 1 및 제 2 스트링 선택 라인들(SSL1, SSL2)을 선택 및 비선택함으로써, 동일한 워드 라인에 연결된 셀 스트링들(CS11, CS12, CS21, CS22) 중 비선택된 행의 셀 스트링들(CS11 및 CS12, 또는 CS21 및 CS22)이 비트 라인들(BL1, BL2)로부터 전기적으로 분리된다. 그리고, 선택된 행의 셀 스트링들(예를 들면, CS21 및 CS22, 또는 CS11 및 CS12)이 비트 라인들(BL1, BL2)에 전기적으로 연결될 수 있다.
즉, 제 1 및 제 2 스트링 선택 라인들(SSL1, SSL2)을 선택 및 비선택함으로써, 셀 스트링들(CS11, CS12, CS21, CS22)의 행들이 선택될 수 있다. 그리고, 비트 라인들(BL1, BL2)을 선택함으로써, 선택된 행의 셀 스트링들의 열들이 선택될 수 있다.
프로그램 동작 및 읽기 동작은 페이지 단위로 수행된다. 즉, 동일한 스트링 선택 라인에 연결된 셀 스트링들 중 동일한 워드 라인에 연결된 메모리 셀들은 한 번에 프로그램된다. 또한, 동일한 스트링 선택 라인에 연결된 셀 스트링들 중 동일한 워드 라인에 연결된 메모리 셀들의 데이터는 한 번에 읽혀진다. 프로그램 및 읽기 동작 시에, 외부로부터 수신되는 어드레스(ADDR)는 특정한 페이지에 대응될 것이다.
각 필라(PL11, PL12, PL21, PL22)의 폭(다른 예로, 제 1 및 제 3 방향에 따른 단면적)은 기판(111)과 인접할수록 감소한다. 공정 상의 특성 또는 오차에 의해, 메모리 블록(BL1)의 각 높이에 대응하는 필라의 폭은 가변될 수 있다.
도 3 내지 도 6에서, 인식의 편의를 위해 메모리 블록(BL1)이 2행 2열의 셀 스트링들을 포함하는 것이 예시적으로 설명되었다. 메모리 블록(BLK1)의 형태는 다양하게 변경될 수 있음이 이해될 것이다. 예시적으로, 메모리 블록(BLK1)의 높이와 열 방향으로 배치되는 셀 스트링들의 수는 동일할 수 있다. 예를 들면, 메모리 블록(BLK1)이 제 1 내지 제 8 높이들을 가질 때, 메모리 블록(BLK1)은 제 1 내지 제 8 열들에 걸쳐 배치되는 셀 스트링들을 포함할 수 있다. 메모리 블록(BLK1)에 8 개의 스트링 선택 라인들 및 1개의 접지 선택 라인이 연결될 것이다.
한편, 필라들(PL11, PL12, PL21, PL22)은 각각 식각에 의해 형성된 홀(hole)에 실리콘 물질 및 절연 물질이 제공되어 형성된다. 식각되는 깊이가 증가할수록, 식각에 의해 형성되는 홀의 폭은 감소할 것이다. 즉, 각 필라(PL11, PL12, PL21, PL22)의 폭은 기판(111)에 인접할수록 감소할 것이다. 도 4를 참조하면, 제 7 높이의 필라(PL11)의 폭(P1)은 제 2 높이의 필라(PL11)의 폭(P2)보다 크다.
도 7은 도 4의 제 1 및 제 2 셀 트랜지스터들(CT1, CT2)의 제 1 방향 및 제 3 방향에 따른 단면도들이다.
이하, 도 4, 도 6 및 도 7을 참조한 설명에서, 셀 스트링(CS12)이 선택된다고 가정한다. 예를 들면, 제 1 스트링 선택 라인(SSL1)에 전원 전압이 인가되고, 제 2 비트 라인(BL2)에 접지 전압이 인가될 것이다. 프로그램 동작 시에, 비선택된 워드 라인들에 패스 전압들이 인가되고, 선택된 워드 라인에 프로그램 전압이 인가될 것이다. 셀 스트링(CS12)에 대응하는 필라(PL11)의 채널막(114)에 채널이 형성될 것이다. 필라(PL11)의 채널막(114)은 예를 들면 제 2 비트 라인(BL2)으로부터 수신된 접지 전압일 것이다.
제 1 셀 트랜지스터(CT1)가 프로그램된다고 가정한다. 즉, 제 1 셀 트랜지스터(CT1)에 연결된 제 6 워드 라인(WL6)이 선택된 워드 라인이라고 가정한다. 제 7 도전 물질들(CM7)에 프로그램 전압이 인가될 것이다. 이때, 제 1 셀 트랜지스터(CT1)의 채널막(114)과 제 7 도전 물질(CM7) 사이에 전압차가 발생할 것이다.
제 2 셀 트랜지스터(CT2)가 프로그램된다고 가정한다. 제 2 셀 트랜지스터(CT2)에 연결된 제 1 워드 라인(WL1)이 선택된 워드 라인이라고 가정한다. 제 2 도전 물질들(CM2)에 프로그램 전압이 인가될 것이다. 이때, 제 2 셀 트랜지스터(CT2)의 채널막(114)과 제 2 도전 물질(CM2) 사이에 전압차가 발생할 것이다.
한편, 제 1 및 제 2 셀 트랜지스터들(CT1, CT2)이 각각 프로그램될 때 백 터널링 현상에 따라 제 2 및 제 7 도전 물질들(CM2, CM7)로 전하들이 방출된다고 가정한다. 이러한 백 터널링 현상은 제 1 내지 제 3 서브 절연막들(117~119) 각각에 인가되는 전압들의 비율에 따라 결정될 것이다.
제 1 셀 트랜지스터(CT1)에 대응하는 필라의 폭(P1)은 제 2 셀 트랜지스터(CT2)에 대응하는 필라의 폭(P2)보다 크다. 제 1 셀 트랜지스터(CT1)에 대응하는 정보 저장막(116) 중 제 1 내지 제 3 서브 절연막들(117~119)에 각각 인가되는 전압들의 비율과 제 2 셀 트랜지스터(CT2)에 대응하는 정보 저장막(116) 중 제 1 내지 제 3 서브 절연막들(117~119)에 각각 인가되는 전압들의 비율은 서로 다를 것이다. 따라서, 제 1 셀 트랜지스터(CT1)가 프로그램 될 때 제 2 도전 물질(CM7)로 방출되는 전하들의 량과 제 2 셀 트랜지스터(CT2)가 프로그램 될 때 제 2 도전 물질(CM7)로 방출되는 전하들의 량은 상이할 것이다.
좀 더 구체적으로 설명하면, 제 1 내지 제 3 서브 절연막들(117~119)에 각각 인가되는 전압들의 비율은 직렬 연결된 커패시터들과 같이 동작하는 제 1 내지 제 3 서브 절연막들(117~119)의 커패시턴스들에 의해 결정될 것이다. 제 1 내지 제 3 서브 절연막들(117~119) 각각에 인가되는 전압은 제 1 내지 제 3 서브 절연막들(117~119) 각각의 커패시턴스에 반비례 할 것이다. 제 1 내지 제 3 서브 절연막들(117~119)의 커패시턴스들은 각각 제 1 내지 제 3 서브 절연막들(117~119)의 면적에 비례할 것이다. 따라서, 제 1 내지 제 3 서브 절연막들(117~119) 각각에 인가되는 전압은 제 1 내지 제 3 서브 절연막들(117~119) 각각의 면적에 반비례 할 것이다.
제 1 셀 트랜지스터(CT1)에 대응하는 필라의 폭(P1)은 제 2 셀 트랜지스터(CT2)에 대응하는 필라의 폭(P2)보다 크다. 이는 제 1 셀 트랜지스터(CT1)의 채널막(114)의 반지름이 제 2 셀 트랜지스터(CT2)의 채널막(114)의 반지름보다 큰 것을 의미할 것이다. 채널막의 반지름이 큰 것은 제 1 내지 제 3 서브 절연막들(117~119)의 단면적들 중 제 3 서브 절연막(119)의 단면적의 비율은 작은 것을 의미할 것이다. 따라서, 제 1 셀 트랜지스터(CT1) 내의 제 3 서브 절연막(119)의 단면적의 비율은 제 2 셀 트랜지스터(CT2) 내의 제 3 서브 절연막(119)의 단면적의 비율보다 작을 것이다. 결과적으로, 제 1 셀 트랜지스터(CT1)의 제 3 서브 절연막(119)에 인가되는 전압은 제 2 트랜지스터(CT2)의 제 3 서브 절연막(119)에 인가되는 전압보다 클 것이다. 따라서, 제 1 셀 트랜지스터(CT1)의 프로그램 시에 제 3 서브 절연막(119)을 통해 방출되는 전하들의 량은 제 2 셀 트랜지스터들(CT2)의 프로그램 시에 제 3 서브 절연막(119)을 통해 방출되는 전하들의 량보다 클 것이다.
한편, 한 번의 프로그램 동작 시에 단계적으로 증가하는 프로그램 전압들이 인가될 것이다. 제 1 셀 트랜지스터(CT1)가 프로그램될 때, 더 높은 프로그램 전압이 인가될수록 제 1 셀 트랜지스터(CT1)의 채널막(114)에 포획되는 전하들의 수는 증가할 것이다. 예시적으로, 각 프로그램 전압이 인가될 때마다, 각 프로그램 전압의 증가량에 비례하는 량만큼 제 1 셀 트랜지스터(CT1)의 문턱 전압이 상승할 것이다. 예를 들면, 제 1 셀 트랜지스터(CT1)의 문턱 전압 및 프로그램 전압의 증가량의 관계는 수학식 1과 같이 나타난다.
Figure pat00001
수학식 1을 참조하면, ΔVth1은 제 1 셀 트랜지스터(CT1)의 문턱 전압의 변화량을 나타낸다. ΔV는 프로그램 전압의 증가량을 나타낸다. 그리고, a는 비례 상수이다. 비례 상수(a)는 제 1 셀 트랜지스터(CT1)의 프로그램 시에 제 3 서브 절연막(119)을 통해 방출되는 전하들의 량에 반비례할 것이다.
제 2 셀 트랜지스터(CT2)가 프로그램될 때, 더 높은 프로그램 전압이 인가될수록 제 2 셀 트랜지스터(CT2)의 채널막(114)에 포획되는 전하들의 수는 증가할 것이다. 각 프로그램 전압이 인가될 때마다, 각 프로그램 전압의 증가량에 비례하는 량만큼 제 2 셀 트랜지스터(CT2)의 문턱 전압이 상승할 것이다. 예를 들면, 제 2 셀 트랜지스터(CT2)의 문턱 전압 및 프로그램 전압의 증가량의 관계는 수학식 2와 같이 나타난다.
Figure pat00002
수학식 2를 참조하면, ΔVth2는 제 2 셀 트랜지스터(CT2)의 문턱 전압의 변화량을 나타낸다. ΔV은 프로그램 전압의 증가량을 나타낸다. b는 비례 상수이다. ΔV은 프로그램 전압의 증가량을 나타낸다. b는 비례 상수이다. 비례 상수(b)는 제 2 셀 트랜지스터들(CT2)의 프로그램 시에 제 3 서브 절연막(119)을 통해 방출되는 전하들의 량에 반비례할 것이다.
비례 상수(b)는 비례 상수(a)보다 클 것이다. 비례 상수들(a, b)은 프로그램 전압의 증가량에 따른 셀 트랜지스터의 문턱 전압 변화율을 나타내는 것으로 이해될 것이다. 즉, 제 2 셀 트랜지스터(CT2)의 문턱 전압 변화율은 제 1 셀 트랜지스터(CT1)보다 클 것이다. 따라서, 프로그램 전압이 동일하게 증가하더라도, 제 1 및 제 2 셀 트랜지스터들(CT1, CT2) 각각의 문턱 전압의 변화량(ΔVth1, ΔVth2)이 다를 것이다. 결과적으로, 상이한 워드 라인들에 연결된 셀 트랜지스터들 각각은 상이한 문턱 전압 변화량을 가질 수 있다.
도 8은 프로그램 동작 시에 선택된 워드 라인에 인가되는 프로그램 전압들을 보여주는 그래프이다. 도 8을 참조하면, 가로 축은 프로그램 루프들의 수를 나타낸다. 세로 축은 선택된 워드 라인에 인가되는 프로그램 전압들을 나타낸다.
워드 라인 별로 한 번의 프로그램 동작 시에 수행되는 프로그램 루프들의 수는 다를 수 있다. 각 프로그램 루프가 수행될 때, 불휘발성 메모리(100, 도 1 참조)는 프로그램 전압을 선택된 워드 라인에 인가하는 서브 프로그램 동작, 그리고 프로그램된 메모리 셀들의 문턱 전압이 요구되는 문턱 전압에 도달하였는지 확인하는 검증 동작을 수행할 것이다. 각 프로그램 루프가 수행될 때, 선택된 워드 라인에 인가되는 프로그램 전압들은 단계적으로 상승할 것이다. 상이한 워드 라인들에 연결된 메모리 셀들 각각은 상이한 문턱 전압 변화량을 가질 것이다(수학식 1 및 2 참조). 예를 들면, 기판에 인접한 워드 라인에 연결된 메모리 셀의 문턱 전압 변화량은 기판과 멀리 떨어진 워드 라인에 연결된 메모리 셀의 문턱 전압 변화량보다 클 것이다. 이때, 기판에 멀리 떨어진 워드 라인에 대한 프로그램 동작 시에 기판과 인접한 워드 라인에 대한 프로그램 동작보다 더 많은 프로그램 루프들이 수행될 것이다. 따라서, 기판과 멀리 떨어진 워드 라인에 대한 프로그램 동작은 기판에 인접한 워드 라인에 대한 프로그램 동작보다 더 긴 시간 동안 수행될 것이다. 즉, 어떤 워드 라인이 선택되는지에 따라 프로그램 동작에 소요되는 시간이 다를 수 있다.
도 9는 최하위 비트 프로그램 및 최상위 비트 프로그램 시의 문턱 전압 산포를 보여주는 다이어그램이다. 도 9에 하나의 메모리 셀에 2 비트 데이터가 저장되는 경우의 문턱 전압 산포가 예시적으로 도시된다. 그러나, 본 발명의 기술적 사상은 2 비트 데이터가 저장되는 메모리 셀들로 한정되지 않는다. 메모리 셀들은 셀 당 적어도 하나의 비트를 저장하도록 구성된다.
먼저, 최하위 비트(Least Significant Bit, LSB) 프로그램 시에 제 6 워드 라인(WL6)이 선택된다고 가정한다. 제 6 워드 라인(WL6)의 메모리 셀들은 2개의 상태를 가질 것이다. 소거 상태(E)에 대응되는 문턱 전압을 갖는 메모리 셀들은 소거 상태(E)를 그대로 유지하거나, 제 1 하위 프로그램 상태(LP1)로 프로그램될 수 있다. 프로그램되는 메모리 셀들의 문턱 전압이 검증 전압(Vr1)보다 클 때까지 제 6 워드 라인(WL6)에 단계적으로 증가하는 프로그램 전압들이 인가될 것이다.
최하위 비트 프로그램 시에 제 1 워드 라인(WL1)이 선택된다고 가정한다. 제 1 워드 라인(WL1)의 메모리 셀들은 소거 상태(E) 또는 제 2 하위 프로그램 상태(LP2)를 가질 것이다. 프로그램되는 메모리 셀들의 문턱 전압이 검증 전압(Vr1)보다 클 때까지 제 1 워드 라인(WL1)에 단계적으로 증가하는 프로그램 전압들이 인가될 것이다.
제 1 및 제 2 하위 프로그램 상태들(LP1, LP2)의 문턱 전압 산포 폭(width)들은 서로 다를 것이다. 예를 들면, 제 2 하위 프로그램 상태(LP2)의 메모리 셀들 중 일부는 제 1 하위 프로그램 상태(LP1)의 최대 전압보다 높은 문턱 전압을 가질 것이다. 이는, 제 6 워드 라인(WL6)에 연결된 메모리 셀이 제 1 워드 라인(WL1)에 연결된 메모리 셀보다 높은 문턱 전압 변화량을 가지는 것으로부터 기인될 것이다. 메모리 셀들이 워드 라인 별로 다른 문턱 전압 산포 폭을 갖는 것은 메모리 셀들에 저장된 신뢰성이 저하되는 것을 의미할 것이다.
최하위 비트(LSB) 데이터가 프로그램된 후, 최상위 비트(Most Significant Bit, MSB) 데이터가 프로그램된다.
제 6 워드 라인(WL6)이 선택된다고 가정한다. 최하위 비트(LSB)의 소거 상태(E)에 대응하는 메모리 셀들은 소거 상태(E)를 유지하거나, 제 1 상위 프로그램 상태(P11)로 프로그램될 것이다. 프로그램되는 메모리 셀들의 문턱 전압이 검증 전압(Vr11)보다 클 때까지 선택된 워드 라인에 단계적으로 증가하는 프로그램 전압들이 인가될 것이다. 제 1 하위 프로그램 상태(LP1)에 대응하는 메모리 셀들은, 검증 전압(Vr12)보다 높은 문턱 전압을 가질 때 까지 프로그램되어 제 2 상위 프로그램 상태(P21)를 갖거나, 또는 검증 전압(Vr13)보다 높은 문턱 전압을 가질 때 까지 프로그램되어 제 3 상위 프로그램 상태(P31)로 프로그램될 것이다.
제 1 워드 라인(WL1)이 선택된다고 가정한다. 최하위 비트(LSB)의 소거 상태(E)에 대응하는 메모리 셀들은 소거 상태(E)를 유지하거나, 검증 전압(Vr11)보다 높은 문턱 전압을 가질 때까지 프로그램되어 제 1 상위 프로그램 상태(P12)를 가질 것이다. 제 2 하위 프로그램 상태(LP2)에 대응하는 메모리 셀들은 제 2 상위 프로그램 상태(P22) 또는 제 3 상위 프로그램 상태(P32)로 프로그램될 것이다.
제 1 상위 프로그램 상태들(P11, P12)의 문턱 전압 산포 폭들은 서로 다를 것이다. 제 1 상위 프로그램 상태(P12)는 제 1 상위 프로그램 상태(P11)보다 넓은 문턱 전압 산포 폭을 가질 것이다. 예를 들면, 제 1 상위 프로그램 상태(P12)의 메모리 셀들 중 일부는 제 1 상위 프로그램 상태(P11)의 최대 전압보다 높은 문턱 전압을 가질 것이다. 마찬가지로, 제 2 상위 프로그램 상태들(P21, P22)의 문턱 전압 산포 폭들은 서로 다를 것이다. 제 3 상위 프로그램 상태들(P31, P32)의 문턱 전압 산포 폭들은 서로 다를 것이다.
제 1 내지 제 3 상위 프로그램 상태들(P12, P22, P32)의 읽기 마진은 상대적으로 작을 것이다. 결과적으로 메모리 셀들은 워드 라인 별로 서로 다른 읽기 마진을 가질 수 있다. 이는 메모리 셀들에 저장된 데이터의 신뢰성이 저하되는 것을 의미할 것이다.
도 10은 도 1의 제어 로직(140)을 좀 더 구체적으로 보여주는 블록도이다. 도 1 및 도 10을 참조하면, 제어 로직(140)은 제어 유닛(141), 루프 카운터(142) 및 카운트 레지스터(143)를 포함한다.
제어 유닛(141)은 제어 로직(140)의 제반 동작을 제어한다. 제어 유닛(141)은 입출력 버퍼(160)로부터 수신된 제어 신호(CTRL)에 응답하여 불휘발성 메모리(100)의 프로그램 동작을 제어할 것이다. 예시적으로, 제어 유닛(141)은 프로그램 동작 시에 수행되는 서브 프로그램 동작들 및 검증 동작들을 제어할 것이다. 예시적으로, 제어 유닛(141)은 전압 발생기(130)에서 발생되는 프로그램 전압들의 시작 전압(첫 번째 프로그램 루프 시에 사용되는 프로그램 전압)을 세팅할 것이다. 예를 들면, 제어 유닛(141)은 퓨즈 커팅(fuse cutting) 방식 또는 E-Fuse(Electrical Fuse) 방식에 따라 획득된 초기 설정 정보를 이용하여 시작 전압을 세팅할 것이다.
제어 유닛(141)은 루프 카운터(142) 및 카운트 레지스터(145)에 연결된다. 제어 유닛은 읽기 및 쓰기 회로(150)로부터 패스/페일 신호(P/F)를 수신한다. 패스/페일 신호(P/F)가 프로그램 페일을 가리킬 때, 제어 유닛(141)은 프로그램 전압을 발생하도록 전압 발생기(130)를 제어할 것이다. 그리고, 어드레스 디코더(120)는 발생된 프로그램 전압을 선택된 워드 라인에 인가할 것이다.
패스/페일 신호(P/F)는 루프 카운터(142)에도 수신된다. 루프 카운터(142)는 초기 카운트 값으로부터 프로그램 페일을 가리키는 패스/페일 신호(P/F)가 수신될 때마다 카운트 값을 증가시킬 것이다.
패스/페일 신호(P/F)가 프로그램 패스를 가리킬 때, 제어 유닛(141)은 루프 카운터(142)로부터 카운트 값을 수신할 것이다. 수신된 카운트 값은 프로그램 전압들의 인가 횟수(즉, 프로그램 루프들이 수행된 횟수)를 의미할 것이다. 제어 유닛(141)은 디코딩된 행 어드레스(DA)에 따라 선택된 워드 라인과 프로그램 전압들의 인가 횟수를 대응시킬 것이다. 제어 유닛(141)은 인가 횟수를 카운트 레지스터(145)에 저장할 것이다. 저장된 인가 횟수는 선택된 워드 라인에 대응할 것이다. 예시적으로, 제어 유닛(141)은 각 워드 라인에 대응하는 인가 횟수를 테이블 형태로 저장할 것이다. 예시적으로, 각 워드 라인에 대한 프로그램 동작이 완료될 때마다 각 워드 라인에 대응하는 인가 횟수가 카운트 레지스터(145)에 저장될 것이다.
예시적으로, 인가 횟수와 워드 라인은 다양한 방법으로 대응할 수 있음이 이해될 것이다. 예를 들면, 메모리 셀 어레이(110)의 각 메모리 블록의 각 워드 라인에 대응하는 인가 횟수가 저장될 수 있다. 다른 예로서, 워드 라인에 대응하는 인가 횟수가 저장될 수 있다. 제 1 내지 제 6 워드 라인들(WL1~WL6)이 제공되는 경우, 그것들에 각각 대응하는 6개의 인가 횟수들이 카운트 레지스터(145)에 저장될 것이다.
제어 유닛(141)은 프로그램 동작을 요청하는 제어 신호(CTRL)가 수신되면, 디코딩된 행 어드레스(DA)에 따라 선택된 워드 라인을 인식하고, 선택된 워드 라인에 대응하는 인가 횟수가 카운트 레지스터(145)에 저장되어 있는지 판별한다. 선택된 워드 라인에 대응하는 인가 횟수가 저장되어 있는 경우, 제어 유닛(141)은 카운트 레지스터(145)에 저장된 인가 횟수에 기반하여 전압 증가량 정보(VIA)를 발생할 것이다. 전압 증가량 정보(VIA)는 전압 발생기(130)에 수신될 것이다. 전압 발생기(130)는 전압 증가량 정보(VIA)에 따라 프로그램 동작 시에 발생할 프로그램 전압들의 증가량을 조절할 것이다. 예를 들면, 인가 횟수가 클수록 전압 증가량 정보(VIA)가 가리키는 증가량은 클 것이다. 인가 횟수가 작을수록 전압 증가량 정보(VIA)가 가리키는 증가량은 작을 것이다.
예시적으로, 제 1 워드 라인(WL1)의 메모리 셀들의 문턱 전압의 변화량(수학식 1의 ΔVth1)과 제 6 워드 라인(WL6)의 메모리 셀들의 문턱 전압의 변화량(수학식 2의 ΔVth2)이 같아지도록, 프로그램 전압들의 증가량이 조절될 것이다. 따라서, 제 1 워드 라인(WL1)에 대한 프로그램 동작 및 제 6 워드 라인(WL)에 대한 프로그램 동작은 각각 동일한 프로그램 루프들을 포함할 수 있다.
예시적으로, 제어 유닛(141)은 카운트 레지스터(145)에 저장된 인가 횟수에 따라 프로그램 전압들의 증가량을 조절할지 여부를 결정하고, 선택적으로 프로그램 전압들의 증가량을 조절할 수 있다.
도 11은 본 발명의 실시 예에 따른 불휘발성 메모리(100)의 프로그램 방법을 보여주는 순서도이다. 도 1 및 도 11을 참조하면, S110단계에서, 불휘발성 메모리(100)에 프로그램 동작을 요청하는 제어 신호(CTRL) 및 어드레스(ADDR)가 수신된다. S120단계에서, 제어 로직(140)은 선택된 워드 라인에 대응하는 인가 횟수가 카운트 레지스터(145)에 저장되어 있는지 판별할 것이다. 판별 결과에 따라, S130단계 또는 S150단계가 수행될 것이다.
선택된 워드 라인에 대응하는 인가 횟수가 카운트 레지스터(145)에 저장된 경우에 S130단계가 수행될 것이다. S130단계에서, 제어 로직(140)은 인가 횟수에 따라 선택된 워드 라인에 인가될 프로그램 전압들의 증가량을 조절할 것이다. 예를 들면, 제어 로직(140)은 인가 횟수가 많을수록 프로그램 전압들의 증가량이 크도록 전압 발생기(130)를 세팅할 것이다. 제어 로직(140)은 인가 횟수가 적을수록 프로그램 전압들의 증가량이 작도록 전압 발생기(130)를 세팅할 것이다. 예시적으로, 인가 횟수가 특정한 값보다 작을 때 프로그램 전압들 사이의 증가량은 디폴트 값보다 낮은 전압으로 조절될 것이다. 인가 횟수가 특정한 값보다 클 때 프로그램 전압들 사이의 증가량은 디폴트 값보다 높은 전압으로 조절될 것이다.
S140단계에서, 조절된 증가량만큼 단계적으로 증가하는 프로그램 전압들이 선택된 워드 라인에 인가되어, 프로그램 동작이 수행될 것이다. 전압 발생기(130)는 조절된 증가량만큼 단계적으로 증가하는 프로그램 전압들을 발생할 것이다. 그리고, 어드레스 디코더(120)는 프로그램 동작의 프로그램 루프들마다 발생된 프로그램 전압들을 선택된 워드 라인에 인가할 것이다.
선택된 워드 라인에 대응하는 인가 횟수가 카운트 레지스터(145)에 저장되지 않은 경우에, S150단계가 수행될 것이다. S150단계에서, 디폴트 값만큼 단계적으로 증가하는 프로그램 전압들이 선택된 워드 라인에 인가될 것이다. 이때, 디폴트 값은 특정한 값을 의미할 것이다. 예를 들면, 디폴트 값은 미리 설정된 값을 의미할 것이다.
예시적으로, 프로그램 동작 전(예를 들면, 파워 업 시)에, 제어 유닛(141)은 전압 발생기(130)에서 발생되는 프로그램 전압들의 증가량을 디폴트 값으로서 세팅할 것이다. 예를 들면, 제어 유닛(141)은 퓨즈 커팅(fuse cutting) 방식 또는 E-Fuse(Electrical Fuse) 방식에 따라 획득된 초기 설정 정보를 이용하여 프로그램 전압들의 증가량을 디폴트 값으로서 세팅할 것이다.
S160단계에서, 프로그램 전압들의 인가 횟수가 카운트 레지스터(145)에 저장될 것이다. 제어 로직(140)은 읽기 및 쓰기 회로(150)로부터의 패스/페일 신호(P/F)가 프로그램 페일을 가리키는 것에 응답하여 프로그램 전압들의 인가 횟수를 카운트 할 것이다. 제어 로직(140)은 읽기 및 쓰기 회로(150)로부터의 패스/페일 신호(P/F)가 프로그램 패스를 가리키는 것에 응답하여, 카운트된 인가 횟수를 카운트 레지스터(145)에 저장할 것이다.
도 12는 제 1 및 제 6 워드 라인들(WL1, WL6, 도 6 참조)에 대한 프로그램 동작들이 수행될 때 제 1 및 제 6 워드 라인들(WL1, WL6)에 인가되는 프로그램 전압들을 보여주는 그래프이다. 도 12를 참조하면, 가로 축은 프로그램 루프들의 수를 나타낸다. 세로 축은 선택된 워드 라인에 인가되는 프로그램 전압들을 나타낸다.
제 1 및 제 6 워드 라인들(WL1, WL6)에 대한 프로그램 동작들이 수행될 때 디폴트 값만큼 단계적으로 증가하는 프로그램 전압들이 이용된다고 가정한다. 제 1 워드 라인(WL1)에 대한 프로그램 동작 시에 프로그램 전압들이 인가된 횟수는 제 6 워드 라인(WL6)에 대한 프로그램 동작 시에 프로그램 전압들이 인가된 횟수보다 크다고 가정한다. 이때, 그러한 프로그램 동작들 각각이 수행될 때 프로그램 전압들의 인가 횟수는 카운트 레지스터(145, 도 1 참조)에 저장될 것이다.
제 1 및 제 6 워드 라인들(WL1, WL6) 각각에 대한 프로그램 동작 시에, 제어 로직(140)은 카운트 레지스터(145)에 저장된 인가 횟수에 따라 프로그램 전압들의 증가량을 조절할 것이다. 제 1 워드 라인(WL1)에 대한 프로그램 동작 시에, 제 1 워드 라인(WL1)에 제 1 증가량(ΔV1)만큼 단계적으로 증가하는 프로그램 전압들이 인가될 것이다. 제 6 워드 라인(WL6)에 대한 프로그램 동작 시에, 제 6 워드 라인(WL6)에 제 2 증가량(ΔV2)만큼 단계적으로 증가하는 프로그램 전압들이 인가될 것이다. 제 1 증가량(ΔV1)은 제 2 증가량(ΔV2)보다 작을 것이다. 제 1 및 제 6 워드 라인들(WL1, WL6)에 인가되는 프로그램 전압들의 증가량이 조절됨에 따라, 프로그램되는 메모리 셀들은 바람직한 문턱 전압 산포를 가질 것이다. 예를 들면, 도 9에 도시된 바와 같이, 제 1 및 제 6 워드 라인들(WL1, WL6)의 메모리 셀들은 모두 각각의 프로그램 동작들 후에 소거 상태 및 제 1 하위 프로그램 상태(LP1)를 가질 것이다. 또는 제 1 및 제 6 워드 라인들(WL1, WL6)의 메모리 셀들은 모두 각각의 프로그램 동작들 후에 소거 상태 및 제 1 내지 제 3 상위 프로그램 상태들(P11, P21, P31)을 가질 것이다.
도 13은 본 발명의 실시 예에 따른 불휘발성 메모리(100)의 제어 방법을 보여주는 순서도이다. 도 1 및 도 13을 참조하면, S210단계에서, 제 1 프로그램 동작 시에, 선택된 워드 라인에 인가된 프로그램 전압들의 인가 횟수를 카운트한다. 카운트된 인가 횟수는 카운트 레지스터(145)에 저장될 것이다. 예시적으로, 카운트 레지스터(145)의 저장 용량이 상대적으로 작기 때문에, 카운트 레지스터(145)에 저장된 인가 횟수는 메모리 셀 어레이(110)에 저장될 수 있다. 이때, S220단계가 수행되기 전에 메모리 셀 어레이(110)에 저장된 인가 횟수는 카운트 레지스터(145)에 로드될 것이다.
S220단계에서, 동일한 워드 라인에 대한 제 2 프로그램 동작 전에, 카운트된 인가 횟수에 따라 프로그램 전압들의 증가량이 조절될 것이다. 이때, 제 2 프로그램 동작은 제 1 프로그램 동작 시에 선택된 워드 라인과 동일한 워드 라인에 대한 프로그램 동작이다. 예시적으로, 제 2 프로그램 동작을 요청하는 제어 신호(CTRL)와 함께 어드레스(ADDR)가 수신될 것이다. 어드레스(ADDR)가 가리키는 워드 라인에 대응하는 인가 횟수가 카운트 레지스터(145)에 저장되어 있음이 판별되면, S220단계가 수행될 것이다.
예시적으로, 카운트된 인가 횟수가 클수록 프로그램 전압들의 증가량은 클 것이다. 인가 횟수가 작을수록 프로그램 전압들의 증가량은 작을 것이다.
S230단계에서, 조절된 증가량만큼 단계적으로 증가하는 프로그램 전압들이 선택된 워드 라인에 인가되어 제 2 프로그램 동작이 수행될 것이다.
도 14는 도 13의 제어 방법의 제 1 실시 예를 보여주는 순서도이다. 도 14를 참조한 설명에서, 메모리 셀 어레이(110, 도 1 참조)의 메모리 셀들 각각은 2 비트들을 저장한다고 가정한다. 다만, 본 발명의 기술적 사상은 이에 한정되지 않음이 이해될 것이다. 메모리 셀 어레이(110)의 메모리 셀들은 2 비트들 이상의 비트들을 저장하도록 구성될 수 있음이 이해될 것이다.
도 1 및 도 14를 참조하면, 도 14의 실시 예는 S310, S320 및 S330단계들을 포함한다. S310, S320 및 S330단계들은 각각 S210, S220, S230단계들에 대응할 것이다.
S310단계에서, 최하위 비트 프로그램 시에 선택된 워드 라인에 인가된 프로그램 전압들의 인가 횟수가 카운트된다. S320단계에서, 동일한 워드 라인에 대한 최상위 비트 프로그램 요청에 응답하여, 카운트된 인가 횟수에 따라 프로그램 전압들의 증가량이 조절될 것이다. 예시적으로, 프로그램 전압들의 증가량은 수학식 3 및 4에 따라 결정될 것이다.
Figure pat00003
Figure pat00004
먼저, 수학식 3을 참조하면, LNLSB는 최하위 비트 프로그램 시에 수행되는 프로그램 루프들의 수를 나타낸다. 즉, LNLSB는 최하위 비트 프로그램 시에 프로그램 전압들이 인가된 횟수를 나타낸다. TN은 목표 프로그램 루프들의 수를 나타낸다. CR은 최상위 비트 프로그램 시에 프로그램 전압들의 증가량을 조절하기 위한 보상 비율을 나타낸다. 최하위 비트 프로그램 시에 수행된 프로그램 루프들의 수(LNLSB)가 목표 프로그램 루프들의 수(TN)로 나뉘어 보상 비율(CR)이 계산된다. 예를 들면, 목표 프로그램 루프들의 수(TN)보다 최하위 비트 프로그램 시에 수행된 프로그램 루프들의 수(LNLSB)가 큰 것은 해당 메모리 셀들이 느린 속도로 프로그램되는 메모리 셀들임을 의미할 것이다. 보상 비율(CR)은 1보다 클 것이다. 목표 프로그램 루프들의 수(TN)보다 최하위 비트 프로그램 시에 수행된 프로그램 루프들의 수(LNLSB)가 작은 것은 해당 메모리 셀들이 빠른 속도로 프로그램되는 메모리 셀들임을 의미할 것이다. 보상 비율(CR)은 1보다 작을 것이다.
수학식 4를 참조하면, ΔVLSB는 최하위 비트 프로그램 시에 사용되는 프로그램 전압들의 증가량을 의미한다. ΔVMSB는 최상위 비트 프로그램 시에 사용될 프로그램 전압들의 증가량을 의미한다. ΔVMSB는 ΔVLSB와 보상 비율(CR)을 곱함으로써 계산된다. 보상 비율(CR)이 클수록 최상위 비트 프로그램 시에 사용될 프로그램 전압들의 증가량은 높을 것이다. 보상 비율(CR)이 작을수록 최상위 비트 프로그램 시에 사용될 프로그램 전압들의 증가량은 작을 것이다.
수학식 3 및 4에 따르면, 최하위 비트 프로그램 시에 프로그램 전압들이 인가된 횟수가 클수록, 최상위 비트 프로그램 시에 선택된 워드 라인에 인가되는 프로그램 전압들의 증가량은 클 것이다. 최하위 비트 프로그램 시에 프로그램 전압들이 인가된 횟수가 작을수록, 최상위 비트 프로그램 시에 선택된 워드 라인에 인가되는 프로그램 전압들의 증가량은 작을 것이다.
다시 도 14를 참조하면, S330단계에서, 조절된 증가량만큼 단계적으로 증가하는 프로그램 전압들이 선택된 워드 라인에 인가되어 최상위 비트 프로그램이 수행될 것이다.
도 14를를 참조한 실시 예에 따르면, 최하위 비트 프로그램 시에 카운트된 프로그램 전압들의 인가 횟수에 따라, 동일한 워드 라인의 메모리 셀들의 최상위 비트 프로그램 전에 프로그램 전압들의 증가량이 조절된다. 즉, 하위 비트 프로그램 시에 카운트된 프로그램 전압들의 인가 횟수에 따라, 동일한 워드 라인의 메모리 셀들의 상위 비트 프로그램 전에 프로그램 전압들의 증가량이 조절될 것이다.
도 15는 도 13의 제어 방법의 제 2 실시 예를 보여주는 순서도이다. 도 1 및 도 15를 참조하면, 도 15의 실시 예는 S410 내지 S440단계들을 포함한다. S410, S430 및 S440단계는 각각 S210, S220 및 S230단계들에 대응할 것이다.
S410단계에서, 제 1 프로그램 동작 시에, 선택된 워드 라인에 인가된 프로그램 전압들의 인가 횟수를 카운트한다.
S420단계에서, 제 1 프로그램 동작 시에 프로그램된 데이터가 소거될 것이다. 불휘발성 메모리(100)는 외부로부터 제 2 프로그램 동작 요청을 수신하기 전에 제 1 프로그램 동작 시에 프로그램된 데이터의 소거 요청을 수신할 것이다. 예시적으로, 메모리 셀 어레이(110)의 메모리 셀들 각각이 하나의 비트를 저장하는 경우에, 제 2 프로그램 동작 전에 제 1 프로그램 동작에 의해 저장된 데이터의 소거 동작이 요구될 것이다.
S430단계에서, 동일한 워드 라인에 대한 프로그램을 요청하는 제어 신호에 응답하여, 카운트된 인가 횟수에 따라 프로그램 전압들의 증가량이 조절될 것이다. S440단계에서, 조절된 증가량만큼 단계적으로 증가하는 프로그램 전압들이 선택된 워드 라인에 인가되어 제 2 프로그램 동작이 수행될 것이다.
도 16은 본 발명의 다른 실시 예에 따른 불휘발성 메모리(100)의 프로그램 방법을 보여주는 순서도이다. 도 17은 최하위 비트 프로그램 시에 프로그램되는 메모리 셀들의 문턱 전압 산포를 보여준다.
도 1 및 도 16을 참조하면, S510단계에서, 불휘발성 메모리(100)는 외부로부터 프로그램 동작 요청을 수신한다. 불휘발성 메모리(100)는 프로그램 동작을 요청하는 제어 신호(CTRL), 어드레스(ADDR) 및 데이터(DATA)를 수신할 것이다.
S520단계에서, 프로그램 전압이 선택된 워드 라인에 인가된다. S530단계에서, 검증 동작이 수행된다. 검증 결과가 프로그램 패스인 경우, 프로그램 동작은 종료된다. 검증 결과가 프로그램 페일인 경우, S540단계가 수행된다. S520단계 및 S530단계는 하나의 프로그램 루프에 포함되는 것이 이해될 것이다.
S540단계에서, 제어 로직(140)은 프로그램 페일된 메모리 셀들의 개수를 체크한다. 예시적으로, 읽기 및 쓰기 회로(150)는 프로그램 페일된 메모리 셀들의 개수를 판별할 것이다. 읽기 및 쓰기 회로(150)는 제어 로직(140)에 판별된 개수 정보를 전송할 것이다.
도 17을 참조하면, 프로그램 전압이 한번 선택된 워드 라인에 인가될 때 선택된 워드 라인에 연결된 메모리 셀들의 문턱 전압 산포가 예시적으로 도시된다. 프로그램 전압이 선택된 워드 라인에 인가되면, 선택된 워드 라인에 연결된 메모리 셀들은 소거 상태(E) 또는 제 3 하위 프로그램 상태(LP3)를 가질 것이다. 검증 전압(Vr1)보다 낮은 문턱 전압을 갖는 메모리 셀들이 존재할 것이다. 읽기 및 쓰기 회로(150)가 프로그램 페일을 가리키는 패스/페일 신호(P/F)를 제어 로직(140)에 전송하면, 제어 로직(140)은 패스/페일 신호(P/F)에 따라 프로그램 페일된 메모리 셀들의 개수를 판별할 것이다. 이는, 읽기 및 쓰기 회로(150)가 검증 전압(Vr1)보다 낮은 문턱 전압을 갖는 메모리 셀들의 개수를 판별하고, 판별된 개수 정보를 제어 로직(140)에 전송함으로써 수행될 것이다.
다시 도 16을 참조하면, S550단계에서, 제어 로직(140)은 프로그램 페일된 메모리 셀들의 개수에 따라 다음 프로그램 전압을 조절한다. 예시적으로, 제어 로직(140)은 전압 발생기(130)에 전압 증가량 정보를 전송함으로써 다음 프로그램 루프가 수행될 때 전압 발생기(130)에서 발생되는 프로그램 전압을 조절할 것이다.
도 16 및 도 17을 참조하여 설명된 실시 예에 따르면, 제어 로직(140)은 프로그램 루프가 수행될 때마다 프로그램 페일된 메모리 셀들의 개수를 판별하고, 판별된 개수에 따라 전압 발생기(130)에서 발생되는 프로그램 전압을 조절한다. 이에 따라, 프로그램 동작 시에 인가되는 프로그램 전압들이 조절되고, 그러므로 프로그램 동작 시에 수행되는 프로그램 루프들의 수가 조절될 것이다. 또한, 프로그램된 메모리 셀들은 바람직한 문턱 전압 산포를 가질 수 있다.
도 18은 본 발명의 실시 예에 따른 메모리 시스템(1000)을 보여주는 블록도이다.
도 18을 참조하면, 메모리 시스템(1000)은 불휘발성 메모리(1100) 및 컨트롤러(1200)를 포함한다. 불휘발성 메모리(1100)는 메모리 셀 어레이(1110), 어드레스 디코더(1120), 전압 발생기(1130), 제어 로직(1140), 읽기 및 쓰기 회로(1150) 및 입출력 버퍼(1160)를 포함한다. 메모리 셀 어레이(1110), 어드레스 디코더(1120), 전압 발생기(1130), 읽기 및 쓰기 회로(1150) 및 입출력 버퍼(1160)는 도 1을 참조하여 설명된 메모리 셀 어레이(110), 어드레스 디코더(120), 전압 발생기(130), 읽기 및 쓰기 회로(150) 및 입출력 버퍼(160)과 마찬가지로 구성된다. 이하, 중복되는 설명은 생략된다.
제어 로직(1140)은 컨트롤러(1200)의 제어에 따라 불휘발성 메모리(1000)의 제반 동작을 제어한다. 프로그램 동작을 가리키는 제어 신호(CTRL)가 수신되면, 제어 로직(1140)은 프로그램 동작을 수행하도록 불휘발성 메모리(1000)를 제어할 것이다.
제어 로직(1140)은 프로그램 동작 시에 프로그램 전압들이 선택된 워드 라인에 인가된 횟수를 카운트할 것이다. 그리고, 제어 로직(1140)은 카운트된 인가 횟수를 컨트롤러(1200)에 제공할 것이다.
컨트롤러(1200)는 외부의 호스트 및 불휘발성 메모리(1000)에 연결된다. 호스트로부터의 요청에 응답하여, 컨트롤러(1200)는 불휘발성 메모리(1000)를 액세스하도록 구성된다. 예시적으로, 컨트롤러(1200)는 불휘발성 메모리(1000)의 읽기, 쓰기, 소거, 그리고 배경(background) 동작을 제어하도록 구성된다.
컨트롤러(1200)는 불휘발성 메모리(1000) 및 호스트 사이에 인터페이스를 제공하도록 구성된다. 예를 들면, 컨트롤러(1200)는 호스트로부터 프로그램 요청을 수신함과 함께 논리 어드레스(Logical Address)를 수신할 것이다. 컨트롤러(1200)는 논리 어드레스를 물리 어드레스(Physical Address)로 변환하고, 변환된 물리 어드레스를 도 17의 어드레스(ADDR)로서 불휘발성 메모리에 전송할 것이다.
컨트롤러(1200)는 제어 로직(1140)으로부터 제공된 인가 횟수를 카운트 레지스터(1210)에 저장할 것이다. 저장된 인가 횟수는 선택된 워드 라인에 대응할 것이다. 예시적으로, 컨트롤러(1200)은 각 워드 라인에 대응하는 인가 횟수를 테이블 형태로 저장할 것이다.
컨트롤러(1200)는 카운트 레지스터(1210)에 저장된 인가 횟수에 대응하는 워드 라인에 대한 프로그램 동작이 호스트로부터 요청되면, 저장된 인가 횟수에 따라 프로그램 동작 시에 사용될 프로그램 전압들 사이의 증가량을 조절하도록 불휘발성 메모리(1000)를 제어할 것이다. 컨트롤러(1200)는 저장된 인가 횟수에 따라 프로그램 전압들 사이의 증가량을 결정하고, 결정된 증가량에 따라 전압 증가량 정보를 불휘발성 메모리(1000)에 전송할 것이다. 불휘발성 메모리(1000)의 제어 로직(1140)은 전압 증가량 정보에 따라 결정된 증가량을 가지는 프로그램 전압들을 발생하도록 전압 발생기를 설정할 것이다.
도 19는 도 1의 컨트롤러(1200)가 불휘발성 메모리(1100)를 제어하는 방법을 보여주는 순서도이다. 도 18 및 도 19를 참조하면, S610단계에서, 제 1 프로그램 동작 시에 선택된 워드 라인에 인가된 프로그램 전압들의 인가 횟수를 불휘발성 메모리(1100)로부터 수신하고, 수신된 인가 횟수를 저장할 것이다. 불휘발성 메모리(1100)는 제 1 프로그램 동작 시에 프로그램 전압들의 인가 횟수(즉, 제 1 프로그램 동작 시에 수행된 프로그램 루프들의 수)를 카운트할 것이다. 그리고, 불휘발성 메모리(1100)는 카운트된 인가 횟수를 컨트롤러(1200)에 전송할 것이다.
S620단계에서, 동일한 워드 라인에 대한 제 2 프로그램 동작 전에, 컨트롤러(1200)는 카운트된 인가 횟수를 참조하여 불휘발성 메모리(1100)에서 제 2 프로그램 동작 시에 사용될 프로그램 전압들의 증가량을 조절할 것이다. 예시적으로, 컨트롤러(1200)는 호스트로부터 요청된 프로그램 동작이 저장된 인가 횟수에 대응하는 워드 라인에 대한 프로그램 동작 요청인지 여부에 따라 S630단계를 수행할 것이다.
S630단계에서, 제 2 프로그램 동작이 수행될 것이다. 예를 들면, 컨트롤러(1200)는 동일한 워드 라인에 대한 제 2 프로그램 동작을 수행하도록 불휘발성 메모리(1100)에 프로그램 동작을 가리키는 제어 신호, 동일한 워드 라인에 대응하는 어드레스(ADDR) 및 프로그램될 데이터를 전송할 것이다. 불휘발성 메모리(1100)는 어드레스(ADDR)가 가리키는 워드 라인의 메모리 셀들에 프로그램될 데이터를 프로그램할 것이다.
도 18 및 도 19를 참조한 실시 예는 컨트롤러(1200)에 의해 프로그램 전압들의 증가량이 조절되며, 컨트롤러(1200)에 카운트 레지스터(1210)가 포함되어 있다. 그러나, 본 발명은 이에 한정되지 않음이 이해될 것이다. 예시적으로, 컨트롤러(1200)에 의해 프로그램 전압들의 증가량이 조절되고, 불휘발성 메모리(1100, 예를 들면 제어 로직)에 카운트 레지스터가 포함될 수 있다. 이 경우, 불휘발성 메모리(1100)의 카운트 레지스터는 제 1 프로그램 동작 시에 선택된 워드 라인에 프로그램 전압들이 인가된 횟수를 저장할 것이다. 그리고, 도 19의 S610단계는 컨트롤러(1200)가 불휘발성 메모리(1100)의 카운트 레지스터에 저장된 인가 횟수를 요청 및 수신하는 단계로 대체될 것이다.
예시적으로, 컨트롤러(1200)는 램(RAM, Random Access Memory), 프로세싱 유닛(processing unit), 호스트 인터페이스(host interface), 그리고 메모리 인터페이스(memory interface)와 같은 잘 알려진 구성 요소들을 더 포함한다. 램은 프로세싱 유닛의 동작 메모리, 불휘발성 메모리(1100) 및 호스트 사이의 캐시 메모리, 그리고 불휘발성 메모리(1100) 및 호스트 사이의 버퍼 메모리 중 적어도 하나로서 이용된다. 또한, 램은 카운트 레지스터(1210)의 기능을 수행할 것이다. 프로세싱 유닛은 컨트롤러(1200)의 제반 동작을 제어한다.
호스트 인터페이스는 호스트 및 컨트롤러(1200) 사이의 데이터 교환을 수행하기 위한 프로토콜을 포함한다. 예시적으로, 컨트롤러(1200)는 USB (Universal Serial Bus) 프로토콜, MMC (multimedia card) 프로토콜, PCI (peripheral component interconnection) 프로토콜, PCI-E (PCI-express) 프로토콜, ATA (Advanced Technology Attachment) 프로토콜, Serial-ATA 프로토콜, Parallel-ATA 프로토콜, SCSI (small computer small interface) 프로토콜, ESDI (enhanced small disk interface) 프로토콜, 그리고 IDE (Integrated Drive Electronics) 프로토콜 등과 같은 다양한 인터페이스 프로토콜들 중 적어도 하나를 통해 호스트와 통신하도록 구성된다. 메모리 인터페이스는 불휘발성 메모리(1100)와 인터페이싱한다. 예를 들면, 메모리 인터페이스는 낸드 인터페이스 또는 노어 인터페이스를 포함한다.
메모리 시스템(1000)은 오류 정정 블록을 추가적으로 포함하도록 구성될 수 있다. 오류 정정 블록은 오류 정정 코드(ECC)를 이용하여 불휘발성 메모리(1100)로부터 읽어진 데이터의 오류를 검출하고, 정정하도록 구성된다. 예시적으로, 오류 정정 블록은 컨트롤러(1200)의 구성 요소로서 제공된다. 다른 예로서, 오류 정정 블록은 불휘발성 메모리(1100)의 구성 요소로서 제공될 수 있다.
컨트롤러(1200) 및 불휘발성 메모리(1100)는 하나의 반도체 장치로 집적될 수 있다. 예시적으로, 컨트롤러(1200) 및 불휘발성 메모리(1100)는 하나의 반도체 장치로 집적되어, 메모리 카드를 구성할 수 있다. 예를 들면, 컨트롤러(1200) 및 불휘발성 메모리(1100)는 하나의 반도체 장치로 집적되어 PC 카드(PCMCIA, personal computer memory card international association), 컴팩트 플래시 카드(CF), 스마트 미디어 카드(SM, SMC), 메모리 스틱, 멀티미디어 카드(MMC, RS-MMC, MMCmicro), SD 카드(SD, miniSD, microSD, SDHC), 유니버설 플래시 기억장치(UFS) 등과 같은 메모리 카드를 구성할 것이다.
컨트롤러(1200) 및 불휘발성 메모리(1100)는 하나의 반도체 장치로 집적되어 반도체 드라이브(SSD, Solid State Drive)를 구성할 수 있다. 반도체 드라이브(SSD)는 반도체 메모리에 데이터를 저장하도록 구성되는 저장 장치를 포함한다. 메모리 시스템(1000)이 반도체 드라이브(SSD)로 이용되는 경우, 메모리 시스템(1000)에 연결된 호스트(Host)의 동작 속도는 획기적으로 개선된다.
다른 예로서, 메모리 시스템(1000)은 컴퓨터, UMPC (Ultra Mobile PC), 워크스테이션, 넷북(net-book), PDA (Personal Digital Assistants), 포터블(portable) 컴퓨터, 웹 타블렛(web tablet), 무선 전화기(wireless phone), 모바일 폰(mobile phone), 스마트폰(smart phone), e-북(e-book), PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 블랙박스(black box), 디지털 카메라(digital camera), 3차원 수상기(3-dimensional television), 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 영상 녹화기(digital picture recorder), 디지털 영상 재생기(digital picture player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), 정보를 무선 환경에서 송수신할 수 있는 장치, 홈 네트워크를 구성하는 다양한 전자 장치들 중 하나, 컴퓨터 네트워크를 구성하는 다양한 전자 장치들 중 하나, 텔레매틱스 네트워크를 구성하는 다양한 전자 장치들 중 하나, RFID 장치, 또는 컴퓨팅 시스템을 구성하는 다양한 구성 요소들 중 하나 등과 같은 전자 장치의 다양한 구성 요소들 중 하나로 제공된다.
예시적으로, 불휘발성 메모리(1100) 또는 메모리 시스템(1000)은 다양한 형태들의 패키지로 실장될 수 있다. 예를 들면, 불휘발성 메모리(1100) 또는 메모리 시스템(1000)은 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) 등과 같은 방식으로 패키지화되어 실장될 수 있다.
도 20은 도 18의 메모리 시스템(1000)의 응용 예(2000)를 보여주는 블록도이다. 도 20을 참조하면, 메모리 시스템(2000)은 불휘발성 메모리(2100) 및 컨트롤러(2200)를 포함한다. 불휘발성 메모리(2100)는 복수의 불휘발성 메모리 칩들을 포함한다. 복수의 불휘발성 메모리 칩들은 복수의 그룹들로 분할된다. 복수의 불휘발성 메모리 칩들의 각 그룹은 하나의 공통 채널을 통해 컨트롤러(2200)와 통신하도록 구성된다. 도 20에서, 복수의 불휘발성 메모리 칩들은 제 1 내지 제 k 채널들(CH1~CHk)을 통해 컨트롤러(2200)와 통신하는 것으로 도시되어 있다. 각 불휘발성 메모리 칩은 도 18을 참조하여 설명된 불휘발성 메모리들(1100)와 마찬가지로 동작할 것이다.
컨트롤러(2200)는 카운트 레지스터(2210)를 포함한다. 각 불휘발성 메모리 칩에서 프로그램 동작이 수행될 때 프로그램 전압들이 인가된 횟수는 카운트 레지스터(2210)에 저장될 것이다. 컨트롤러(2200)는 카운트 레지스터(2210)에 저장된 인가 횟수에 기반하여 각 불휘발성 메모리 칩에서 발생되는 프로그램 전압들 사이의 증가량을 조절할 것이다.
도 20에서, 하나의 채널에 복수의 불휘발성 메모리 칩들이 연결되는 것으로 설명되었다. 그러나, 하나의 채널에 하나의 불휘발성 메모리 칩이 연결되도록 메모리 시스템(2000)이 변형될 수 있음이 이해될 것이다.
도 20에서, 컨트롤러(2200)는 카운트 레지스터(2210)를 포함하는 것으로 도시된다. 그러나, 이는 예시적인 것으로서, 카운트 레지스터(2210)는 불휘발성 메모리 칩들 각각에 포함될 수 있다(도 1 참조). 이때, 컨트롤러(2200)는 카운트 레지스터(2210)를 포함하지 않을 수 있다.
도 21은 도 20을 참조하여 설명된 메모리 시스템(2000)을 포함하는 컴퓨팅 시스템(3000)을 보여주는 블록도이다. 도 21을 참조하면, 컴퓨팅 시스템(3000)은 중앙 처리 장치(3100), 램(3200, RAM, Random Access Memory), 사용자 인터페이스(3300), 전원(3400), 그리고 메모리 시스템(2000)을 포함한다.
메모리 시스템(2000)은 시스템 버스(3500)를 통해, 중앙처리장치(3100), 램(3200), 사용자 인터페이스(3300), 그리고 전원(3400)에 전기적으로 연결된다. 사용자 인터페이스(3300)를 통해 제공되거나, 중앙 처리 장치(3100)에 의해서 처리된 데이터는 메모리 시스템(2000)에 저장된다.
도 21에서, 불휘발성 메모리(2100)는 컨트롤러(2200)를 통해 시스템 버스(3500)에 연결되는 것으로 도시되어 있다. 그러나, 불휘발성 메모리(2100)는 시스템 버스(3500)에 직접 연결되도록 구성될 수 있다. 이때, 컨트롤러(2200)의 기능은 중앙 처리 장치(3100)에 의해 수행될 것이다.
도 21에서, 도 20을 참조하여 설명된 메모리 시스템(2000)이 제공되는 것으로 도시되어 있다. 그러나, 메모리 시스템(2000)은 도 18을 참조하여 설명된 메모리 시스템(1000)으로 대체될 수 있다. 예시적으로, 컴퓨팅 시스템(3000)은 도 18 및 도 20을 참조하여 설명된 메모리 시스템들(1000, 2000)을 모두 포함하도록 구성될 수 있다.
본 발명의 실시 예에 따르면, 프로그램 동작 시에 인가된 프로그램 전압들의 인가 횟수가 카운트된다. 그리고, 카운트된 인가 횟수에 따라 다음 프로그램 동작 시에 선택된 워드 라인에 인가될 프로그램 전압들 사이의 증가량이 조절될 것이다. 프로그램 전압들의 증가량이 조절됨에 따라, 불휘발성 메모리에서 수행되는 프로그램 동작의 신뢰성은 향상될 것이다.
본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위와 기술적 사상에서 벗어나지 않는 한도 내에서 다양한 변경이 가능하다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100, 1100: 불휘발성 메모리
110, 1110: 메모리 셀 어레이
120, 1120: 어드레스 디코더
130, 1130: 전압 발생기
140, 1140: 제어 로직
145: 카운트 레지스터
150, 1150: 읽기 및 쓰기 회로
160, 1160: 입출력 버퍼

Claims (10)

  1. 기판 위에 적층되는 메모리 셀들을 포함하는 불휘발성 메모리의 제어 방법에 있어서,
    제 1 프로그램 동작 시에 선택된 워드 라인에 인가된 프로그램 전압들의 인가 횟수를 카운트하고;
    상기 선택된 워드 라인에 대한 제 2 프로그램 동작이 수행되기 전에, 상기 카운트된 인가 횟수에 따라 상기 제 2 프로그램 동작에 사용될 프로그램 전압들 사이의 증가량을 조절하고;
    상기 조절된 증가량만큼 단계적으로 증가하는 프로그램 전압들을 상기 선택된 워드 라인에 인가하여 상기 제 2 프로그램 동작을 수행하는 것을 포함하는 제어 방법.
  2. 제 1 항에 있어서,
    상기 프로그램 전압들 사이의 증가량을 조절하는 것은 상기 선택된 워드 라인에 대한 상기 제 2 프로그램 동작 요청에 응답하여 수행되는 제어 방법.
  3. 제 1 항에 있어서,
    상기 제 1 프로그램 동작 시에, 상기 선택된 워드 라인에 연결된 메모리 셀들에 하위 비트 데이터가 프로그램되고,
    상기 제 2 프로그램 동작 시에, 상기 선택된 워드 라인에 연결된 메모리 셀들에 상위 비트 데이터가 프로그램되는 제어 방법.
  4. 제 1 항에 있어서,
    상기 제 1 프로그램 동작 후에, 상기 선택된 워드 라인에 연결된 메모리 셀들의 데이터를 소거하는 것을 더 포함하고,
    상기 제 2 프로그램 동작은 상기 소거 동작 후에 수행되는 제어 방법.
  5. 제 1 항에 있어서,
    상기 프로그램 전압들 사이의 증가량을 조절하는 것은 상기 카운트된 인가 횟수가 특정한 값보다 작을 때 상기 제 2 프로그램 동작 시에 인가될 프로그램 전압들 사이의 증가량을 디폴트 값보다 낮은 전압으로 조절하는 것을 포함하는 제어 방법.
  6. 제 1 항에 있어서,
    상기 프로그램 전압들 사이의 증가량을 조절하는 것은 상기 카운트된 인가 횟수가 상기 특정한 값보다 클 때 상기 제 2 프로그램 동작 시에 인가될 프로그램 전압들 사이의 증가량을 디폴트 값보다 높은 전압으로 조절하는 것을 포함하는 제어 방법.
  7. 기판 위에 적층되는 복수의 메모리 셀들을 포함하고, 복수의 워드 라인들에 연결되는 메모리 셀 어레이;
    프로그램 동작들이 수행될 때마다, 단계적으로 증가하는 프로그램 전압들을 발생하도록 구성되는 전압 발생기;
    상기 발생된 프로그램 전압들을 상기 복수의 워드 라인들 중 선택된 워드 라인에 인가하는 어드레스 디코더; 및
    제 1 프로그램 동작이 수행될 때 선택된 워드 라인에 인가된 프로그램 전압들의 인가 횟수를 카운트하도록 구성되는 루프 카운터, 그리고 상기 카운트된 인가 횟수를 저장하도록 구성되는 카운트 레지스터를 가지는 제어 로직을 포함하되,
    상기 제어 로직은 상기 선택된 워드 라인에 대한 제 2 프로그램 동작이 수행되기 전에, 상기 저장된 인가 횟수에 따라 상기 제 2 프로그램 동작 시에 사용될 프로그램 전압들 사이의 증가량을 조절하도록 구성되는 불휘발성 메모리.
  8. 제 7 항에 있어서,
    상기 제어 로직은 상기 선택된 워드 라인에 대한 상기 제 2 프로그램 동작 요청에 응답하여, 상기 제 2 프로그램 동작 시에 사용될 상기 프로그램 전압들 사이의 증가량을 조절하도록 구성되는 불휘발성 메모리.
  9. 제 7 항에 있어서,
    상기 카운트 레지스터에 저장된 상기 인가 횟수는 상기 선택된 워드 라인에 대응하는 불휘발성 메모리.
  10. 제 9 항에 있어서,
    상기 제 2 프로그램 동작 시에, 상기 선택된 워드 라인을 가리키는 어드레스가 수신되고,
    상기 제어 로직은 상기 카운트 레지스터에 저장된 상기 인가 횟수가 상기 어드레스에 대응하는지에 따라 상기 프로그램 전압들 사이의 증가량을 조절하도록 구성되는 불휘발성 메모리.
KR1020110112401A 2011-10-31 2011-10-31 불휘발성 메모리 및 그것의 제어 방법 KR20130047400A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110112401A KR20130047400A (ko) 2011-10-31 2011-10-31 불휘발성 메모리 및 그것의 제어 방법
US13/600,327 US8934302B2 (en) 2011-10-31 2012-08-31 Nonvolatile memory having stacked structure and related method of operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110112401A KR20130047400A (ko) 2011-10-31 2011-10-31 불휘발성 메모리 및 그것의 제어 방법

Publications (1)

Publication Number Publication Date
KR20130047400A true KR20130047400A (ko) 2013-05-08

Family

ID=48172308

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110112401A KR20130047400A (ko) 2011-10-31 2011-10-31 불휘발성 메모리 및 그것의 제어 방법

Country Status (2)

Country Link
US (1) US8934302B2 (ko)
KR (1) KR20130047400A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160037349A (ko) * 2014-09-26 2016-04-06 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140006460A (ko) * 2012-07-05 2014-01-16 에스케이하이닉스 주식회사 불휘발성 메모리 장치, 그것의 동작 방법 및 그것을 포함하는 데이터 저장 장치
KR102200493B1 (ko) * 2014-05-13 2021-01-11 삼성전자주식회사 3차원 메모리 장치 및 그것을 포함하는 저장 장치
US9324419B2 (en) * 2014-07-15 2016-04-26 Sandisk Technologies Inc. Multiple pass programming for memory with different program pulse widths
US9343141B2 (en) 2014-07-15 2016-05-17 Sandisk Technologies Inc. Reprogramming memory with single program pulse per data state
US10096065B2 (en) * 2015-01-16 2018-10-09 Red Hat, Inc. Distributed transactions with extended locks
KR102348092B1 (ko) * 2015-09-14 2022-01-10 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
US10050051B1 (en) 2017-03-22 2018-08-14 Macronix International Co., Ltd. Memory device and method for fabricating the same
KR102267046B1 (ko) * 2017-03-29 2021-06-22 삼성전자주식회사 스토리지 장치 및 배드 블록 지정 방법
US10170493B1 (en) * 2017-12-20 2019-01-01 Micron Technology, Inc. Assemblies having vertically-stacked conductive structures
JP7278753B2 (ja) * 2018-11-19 2023-05-22 キヤノン株式会社 ソフトウェアの改ざんを検知することが可能な情報処理装置
JP7258697B2 (ja) * 2019-09-02 2023-04-17 キオクシア株式会社 半導体記憶装置
KR20210067677A (ko) * 2019-11-29 2021-06-08 에스케이하이닉스 주식회사 메모리 장치 및 그 동작 방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3866627B2 (ja) * 2002-07-12 2007-01-10 株式会社東芝 不揮発性半導体メモリ
JP4909670B2 (ja) 2006-01-24 2012-04-04 株式会社東芝 不揮発性半導体記憶装置及びそれを用いた不揮発性メモリシステム
US7616500B2 (en) 2007-02-20 2009-11-10 Sandisk Corporation Non-volatile storage apparatus with multiple pass write sequence
JP4435200B2 (ja) 2007-04-03 2010-03-17 株式会社東芝 半導体記憶装置のデータ書き込み方法
KR100953045B1 (ko) 2008-05-23 2010-04-14 주식회사 하이닉스반도체 불휘발성 메모리 장치의 프로그램 방법
KR101616099B1 (ko) 2009-12-03 2016-04-27 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 방법
JP2011164994A (ja) * 2010-02-10 2011-08-25 Toshiba Corp メモリシステム
JP5542737B2 (ja) * 2011-05-12 2014-07-09 株式会社東芝 不揮発性半導体記憶装置
KR101868377B1 (ko) * 2012-03-06 2018-06-19 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160037349A (ko) * 2014-09-26 2016-04-06 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법

Also Published As

Publication number Publication date
US20130107653A1 (en) 2013-05-02
US8934302B2 (en) 2015-01-13

Similar Documents

Publication Publication Date Title
US9851912B2 (en) Memory device, memory system and method of operating memory device
KR20130047400A (ko) 불휘발성 메모리 및 그것의 제어 방법
KR101842507B1 (ko) 불휘발성 메모리의 동작 방법 및 불휘발성 메모리를 제어하는 방법
US8923053B2 (en) Nonvolatile memory device, operating method thereof, and memory system including the same
JP6120520B2 (ja) 不揮発性メモリ装置、不揮発性メモリ装置のプログラム方法、不揮発性メモリ装置を含むメモリシステム
US8908431B2 (en) Control method of nonvolatile memory device
KR101916718B1 (ko) 불휘발성 메모리 장치 및 그것의 메모리 관리 방법
KR101742790B1 (ko) 비휘발성 메모리 장치, 그것의 소거 방법, 그리고 그것을 포함하는 메모리 시스템
US9053794B2 (en) Nonvolatile memory device and related method of operation
KR101903440B1 (ko) 비휘발성 메모리 장치 및 그것의 접지 선택 트랜지스터의 문턱전압 조절 방법
KR101751506B1 (ko) 불휘발성 메모리 장치 및 그것의 배드 영역 관리 방법
KR20120078959A (ko) 불휘발성 메모리 장치, 그것의 소거 방법, 그리고 그것을 포함하는 메모리 시스템
US11222697B2 (en) Three-dimensional nonvolatile memory and method of performing read operation in the nonvolatile memory
KR20160073868A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
KR20120130588A (ko) 플래시 메모리 장치 및 그것의 프로그램 방법
US9558834B2 (en) Nonvolatile memory device and an erasing method thereof
KR20130104032A (ko) 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 읽기 방법
KR20170050953A (ko) 메모리 시스템 및 그의 동작방법
US20110205802A1 (en) Nonvolatile memory device and method of reading the same
KR102127296B1 (ko) 메모리 시스템 및 그것의 동작 방법
KR102090677B1 (ko) 비휘발성 메모리 장치 및 그것의 동작 방법
KR20190122366A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
KR20140135402A (ko) 반도체 메모리 장치 및 그것의 동작 방법
KR20130059007A (ko) 불휘발성 메모리 및 그것을 포함하는 메모리 장치
KR20170059714A (ko) 반도체 메모리 장치 및 이의 동작 방법

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid