KR20240112940A - 메모리 디바이스, 메모리 시스템 및 그 프로그램 동작 방법 - Google Patents

메모리 디바이스, 메모리 시스템 및 그 프로그램 동작 방법 Download PDF

Info

Publication number
KR20240112940A
KR20240112940A KR1020247022070A KR20247022070A KR20240112940A KR 20240112940 A KR20240112940 A KR 20240112940A KR 1020247022070 A KR1020247022070 A KR 1020247022070A KR 20247022070 A KR20247022070 A KR 20247022070A KR 20240112940 A KR20240112940 A KR 20240112940A
Authority
KR
South Korea
Prior art keywords
program operation
memory cells
memory
memory cell
programming
Prior art date
Application number
KR1020247022070A
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
Priority claimed from CN202111461490.1A external-priority patent/CN114400035A/zh
Application filed by 양쯔 메모리 테크놀로지스 씨오., 엘티디. filed Critical 양쯔 메모리 테크놀로지스 씨오., 엘티디.
Publication of KR20240112940A publication Critical patent/KR20240112940A/ko

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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
    • 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/5671Digital 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 trapping in an insulator
    • 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/0408Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors
    • 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/0466Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells with charge storage in an insulating layer, e.g. metal-nitride-oxide-silicon [MNOS], silicon-oxide-nitride-oxide-silicon [SONOS]
    • 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/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/32Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
    • 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
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • 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)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Read Only Memory (AREA)

Abstract

메모리 디바이스는 메모리 셀 어레이와 주변 회로를 포함한다. 상기 메모리 셀 어레이는 제1 유형 데이터를 저장하도록 구성된 하나 이상의 제1 메모리 셀과, 제2 유형 데이터를 저장하도록 구성된 하나 이상의 제2 메모리 셀을 포함할 수 있다. 상기 주변 회로는 상기 메모리 셀 어레이에 결합되고, 상기 하나 이상의 제1 메모리 셀에 대해 제1 프로그램 동작을 수행하고, 상기 하나 이상의 제2 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하며, 상기 하나 이상의 제1 메모리 셀에 대해 제2 프로그램 동작을 수행하도록 구성될 수 있다. 상기 제1 유형 데이터에 대응하는 제1 저장 시간은 상기 제2 유형 데이터에 대응하는 제2 저장 시간보다 길다.

Description

메모리 디바이스, 메모리 시스템 및 그 프로그램 동작 방법
관련 출원에 대한 상호 참조
본 출원은 2021년 12월 2일에 출원된 중국 출원 제202111461490.1호에 대한 우선권의 이익을 주장하며, 그 내용 전체가 참조로 본 출원에 포함된다.
본 개시는 메모리 디바이스, 메모리 시스템 및 그 프로그램 동작 방법에 관한 것이다.
5G NR(New Radio)의 개발과 빅 데이터로 인해, 메모리 용량에 대한 수요가 증가하고 있다. 예를 들어, 비트 비용을 줄이면서 비트 밀도를 향상시키는 3차원(3D) NAND 플래시 메모리 디바이스가 개발되어 시장에 도입되었다. 더 높은 메모리 저장 밀도를 추구하기 위해, 메모리 스택의 수와 단일 메모리 셀 내의 저장 비트 수도 그에 따라 더 커지고 있으며, 이는 메모리 디바이스의 신뢰성에 큰 도전이 되고 심지어 어떤 상황에서는 데이터 손실로 이어지기도 한다.
이러한 3D NAND 메모리 디바이스에 데이터를 프로그래밍하는 과정에서, 전하의 일부가 얕은 에너지 레벨을 갖는 몇몇 트랩에 묶일 수 있다. 프로그래밍 종료 시에, 이러한 전하가 트랩에서 빠져나와 전도성 채널로 이동할 수 있다. 그 결과, 프로그래밍 후의 임계 전압이 더 낮은 값으로 드리프트하여, 임계 전압 분포가 더 넓어져 메모리 디바이스의 신뢰성이 훼손될 수 있다.
본 개시의 한 측면에서, 메모리 디바이스가 개시된다. 상기 메모리 디바이스는 메모리 셀 어레이 및 주변 회로를 포함한다. 상기 메모리 셀 어레이는 제1 유형 데이터를 저장하도록 구성된 하나 이상의 제1 메모리 셀과, 제2 유형 데이터를 저장하도록 구성된 하나 이상의 제2 메모리 셀을 포함할 수 있다. 상기 주변 회로는 상기 메모리 셀 어레이에 결합되고, 상기 하나 이상의 제1 메모리 셀에 대해 제1 프로그램 동작을 수행하고, 상기 하나 이상의 제2 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하며, 상기 하나 이상의 제1 메모리 셀에 대해 제2 프로그램 동작을 수행하도록 구성될 수 있다. 상기 제1 유형 데이터에 대응하는 제1 저장 시간은 상기 제2 유형 데이터에 대응하는 제2 저장 시간보다 길다.
몇몇 구현에서, 상기 제2 프로그램 동작은 상기 하나 이상의 제1 메모리 셀에 대응하는 임계 전압 범위를 상기 제1 프로그램 동작에서 보다 좁게 조정하도록 구성될 수 있다.
몇몇 구현에서, 상기 하나 이상의 제1 메모리 셀에 대해 상기 제1 프로그램 동작에 의해 달성되는 제1 타깃 프로그래밍 상태는 상기 하나 이상의 제1 메모리 셀에 대해 상기 제2 프로그램 동작에 의해 달성되는 제2 타깃 프로그래밍 상태와 실질적으로 동일할 수 있다.
몇몇 구현에서, 상기 제1 프로그램 동작은 제1 펄스 전압과 제1 펄스 지속기간을 가질 수 있는 제1 프로그래밍 펄스를 포함할 수 있고, 상기 제2 프로그램 동작은 제2 펄스 전압과 제2 펄스 지속기간을 가질 수 있는 제2 프로그래밍 펄스를 포함할 수 있다. 상기 제1 펄스 전압이 상기 제2 펄스 전압과 실질적으로 동일한 것 또는 상기 제1 펄스 지속기간이 상기 제2 펄스 지속기간과 실질적으로 동일한 것 중 적어도 하나가 충족될 수 있다.
몇몇 구현에서, 상기 제1 펄스 전압은 제1 초기 펄스 전압과 하나 이상의 제1 증분 전압을 포함할 수 있고, 상기 제2 펄스 전압은 제2 초기 펄스 전압과 하나 이상의 제2 증분 전압을 포함할 수 있다. 상기 제1 초기 펄스 전압과 상기 하나 이상의 제1 증분 전압은 각각 상기 제2 초기 펄스 전압과 상기 하나 이상의 제2 증분 전압의 대응하는 것과 실질적으로 동일할 수 있다.
몇몇 구현에서, 상기 주변 회로는, 상기 하나 이상의 제1 메모리 셀에 상기 제1 초기 펄스 전압과 상기 하나 이상의 제1 증분 전압을 각각 인가한 후, 상기 하나 이상의 제1 메모리 셀에 대응하는 워드 라인에 검증 전압을 인가하여 상기 하나 이상의 제1 메모리 셀에 대해 상기 제1 프로그램 동작이 성공하여 상기 하나 이상의 제1 메모리 셀이 상기 제1 타깃 프로그래밍 상태에 도달할 수 있는지 여부를 검증하도록 구성될 수 있다.
몇몇 구현에서 상기 주변 회로는, 프로그래밍될 데이터의 저장 시간이 미리 설정된 지속기간보다 긴 것에 응답하여, 상기 데이터를 상기 제1 유형 데이터로 결정하고; 상기 데이터의 저장 시간이 미리 설정된 지속기간보다 짧거나 같은 것에 응답하여, 상기 데이터를 상기 제2 유형 데이터로 결정하도록 구성될 수 있다.
몇몇 구현에서, 상기 주변 회로는, 상기 하나 이상의 제1 메모리 셀에 대응하는 워드 라인에 프로그래밍 전압을 인가하고, 상기 하나 이상의 제2 메모리 셀에 대응하는 다른 워드 라인에 패스 전압을 인가하여 상기 하나 이상의 제1 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하도록 구성될 수 있다.
몇몇 구현에서, 상기 주변 회로는, 상기 하나 이상의 제1 메모리 셀에 대한 상기 제1 프로그램 동작과 상기 하나 이상의 제2 메모리 셀에 대한 상기 제1 프로그램 동작을 순차적으로 수행하도록 구성될 수 있다.
몇몇 구현에서, 상기 주변 회로는, 상기 하나 이상의 제2 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하기 전에 상기 하나 이상의 제1 메모리 셀에 대해 상기 제2 프로그램 동작을 수행하도록 구성될 수 있다.
몇몇 구현에서, 상기 주변 회로는, 상기 하나 이상의 제2 메모리 셀에 대해 상기 제1 프로그램 동작을 수행한 후에 상기 하나 이상의 제1 메모리 셀에 대해 상기 제2 프로그램 동작을 수행하도록 구성될 수 있다.
몇몇 구현에서, 상기 주변 회로는, 상기 하나 이상의 제1 메모리 셀에 대한 상기 제1 프로그램 동작과 상기 하나 이상의 제2 메모리 셀에 대한 상기 제1 프로그램 동작을 병렬로 수행하도록 구성될 수 있다.
몇몇 구현에서, 상기 하나 이상의 제1 메모리 셀은 복수의 제1 메모리 셀을 포함할 수 있다. 상기 주변 회로는, 상기 복수의 제1 메모리 셀 중 적어도 하나의 제1 메모리 셀에 대한 상기 제1 프로그램 동작의 성공 여부를 상기 적어도 하나의 제1 메모리 셀에 대응하는 워드 라인에 검증 전압을 인가하는 것에 기초하여 검증하고; 상기 적어도 하나의 제1 메모리 셀에 대한 제1 프로그램 동작이 성공한 것으로 결정한 후, 상기 적어도 하나의 제1 메모리 셀에 대해 상기 제2 프로그램 동작을 수행하도록 구성될 수 있다.
몇몇 구현에서, 상기 하나 이상의 제1 메모리 셀은 하나의 메모리 스트링 내의 복수의 제1 메모리 셀을 포함할 수 있다. 상기 주변 회로는, 상기 메모리 스트링 내의 상기 복수의 제1 메모리 셀에 대한 상기 제1 프로그램 동작이 성공한 후, 상기 메모리 스트링 내의 상기 복수의 제1 메모리 셀에 대해 상기 제2 프로그램 동작을 수행하도록 구성될 수 있다.
몇몇 구현에서, 상기 주변 회로는, 상기 메모리 스트링 내의, 기판에 더 가까운 하나의 제1 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하고 나서, 동일한 메모리 스트링 내의, 상기 기판에서 더 먼 다른 제1 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하도록 구성될 수 있다.
몇몇 구현에서, 상기 하나 이상의 제1 메모리 셀은 하나의 메모리 페이지 내의 복수의 제1 메모리 셀을 포함할 수 있다. 상기 주변 회로는, 상기 메모리 페이지 내의 복수의 제1 메모리 셀에 대한 상기 제1 프로그램 동작이 성공한 후, 상기 메모리 페이지 내의 복수의 제1 메모리 셀에 대해 상기 제2 프로그램 동작을 수행하도록 구성될 수 있다.
몇몇 구현에서, 상기 주변 회로는, 상기 메모리 페이지 내의 복수의 제1 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하고나서, 기판에서 더 먼 다른 메모리 페이지 내의 다른 제1 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하도록 구성될 수 있다.
몇몇 구현에서, 상기 하나 이상의 제1 메모리 셀은 하나의 블록 내에 복수의 제1 메모리 셀을 포함할 수 있다. 상기 주변 회로는, 상기 블록 내의 복수의 제1 메모리 셀에 대한 상기 제1 프로그램 동작이 성공한 후, 상기 블록 내의 복수의 제1 메모리 셀에 대해 상기 제2 프로그램 동작을 수행하도록 구성될 수 있다.
몇몇 구현에서, 상기 주변 회로는, 기판에 더 가까운 상기 블록 내의 상기 제1 메모리 셀의 제1 부분에 대해 상기 제1 프로그램 동작을 수행하고나서, 상기 기판에서 더 먼 상기 블록 내의 상기 제1 메모리 셀의 제2 부분에 대해 상기 제1 프로그램 동작을 수행하도록 구성될 수 있다.
본 개시의 다른 측면에서, 메모리 시스템이 개시된다. 상기 메모리 시스템은 하나 이상의 메모리 디바이스를 포함할 수 있다. 상기 하나 이상의 메모리 디바이스 각각은 메모리 셀 어레이, 상기 메모리 셀 어레이에 결합된 주변 회로, 및 메모리 제어기를 포함할 수 있다. 상기 메모리 셀 어레이는 제1 유형 데이터를 저장하도록 구성된 하나 이상의 제1 메모리 셀과 제2 유형 데이터를 저장하도록 구성된 하나 이상의 제2 메모리 셀을 포함할 수 있다. 상기 메모리 제어기는 상기 하나 이상의 메모리 디바이스에 결합되고 상기 하나 이상의 메모리 디바이스 중 하나에 프로그래밍 명령 신호를 전송하도록 구성될 수 있다. 상기 프로그래밍 명령 신호에 응답하여, 대응하는 메모리 디바이스의 상기 주변 회로는, 상기 하나 이상의 제1 메모리 셀에 대해 제1 프로그램 동작을 수행하고; 상기 하나 이상의 제2 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하고; 상기 하나 이상의 제1 메모리 셀에 대해 제2 프로그램 동작을 수행하도록 구성될 수 있다. 상기 제1 유형 데이터에 대응하는 제1 저장 시간은 상기 제2 유형 데이터에 대응하는 제2 저장 시간보다 길다.
본 개시의 또 다른 측면에서, 데이터를 프로그래밍하는 방법이는 개시된다. 상기 방법은, 하나 이상의 제1 메모리 셀에 대해 제1 프로그램 동작을 수행하고, 하나 이상의 제2 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하는 단계 - 상기 하나 이상의 제1 메모리 셀은 제1 유형 데이터를 저장하도록 구성되고, 상기 하나 이상의 제2 메모리 셀은 제2 유형 데이터를 저장하도록 구성됨 -; 및 상기 하나 이상의 제1 메모리 셀에 대해 제2 프로그램 동작을 수행하는 단계를 포함할 수 있다. 상기 제1 유형 데이터에 대응하는 제1 저장 시간은 상기 제2 유형 데이터에 대응하는 제2 저장 시간보다 길다.
몇몇 구현에서, 상기 제2 프로그램 동작은 상기 하나 이상의 제1 메모리 셀에 대응하는 임계 전압 범위를 상기 제1 프로그램 동작에서 보다 좁게 조정하도록 구성될 수 있다.
몇몇 구현에서, 상기 하나 이상의 제1 메모리 셀에 대한 상기 제1 프로그램 동작에 의해 달성되는 제1 타깃 프로그래밍 상태는 상기 하나 이상의 제1 메모리 셀에 대한 상기 제2 프로그램 동작에 의해 달성되는 제2 타깃 프로그래밍 상태와 실질적으로 동일할 수 있다.
몇몇 구현에서, 상기 제1 프로그램 동작은 제1 펄스 전압과 제1 펄스 지속기간을 갖는 제1 프로그래밍 펄스를 포함할 수 있고, 상기 제2 프로그램 동작은 제2 펄스 전압과 제2 펄스 지속기간을 갖는 제2 프로그래밍 펄스를 포함할 수 있다. 상기 제1 펄스 전압이 상기 제2 펄스 전압과 실질적으로 동일한 것 또는 상기 제1 펄스 지속기간이 상기 제2 펄스 지속기간과 실질적으로 동일할 수 있는 것 중 적어도 하나가 충족될 수 있다.
몇몇 구현에서, 상기 제1 펄스 전압은 제1 초기 펄스 전압과 하나 이상의 제1 증분 전압을 포함할 수 있고, 상기 제2 펄스 전압은 제2 초기 펄스 전압과 하나 이상의 제2 증분 전압을 포함할 수 있다. 상기 제1 초기 펄스 전압과 상기 하나 이상의 제1 증분 전압은 각각 상기 제2 초기 펄스 전압과 상기 하나 이상의 제2 증분 전압의 대응하는 것과 실질적으로 동일할 수 있다.
몇몇 구현에서, 상기 방법은 상기 하나 이상의 제1 메모리 셀에 상기 제1 초기 펄스 전압과 상기 하나 이상의 제1 증분 전압을 각각 인가한 후, 상기 하나 이상의 제1 메모리 셀에 대응하는 워드 라인에 검증 전압을 인가하여 상기 하나 이상의 제1 메모리 셀에 대한 상기 제1 프로그램 동작이 성공하여 상기 하나 이상의 제1 메모리 셀이 상기 제1 타깃 프로그래밍 상태에 도달할 수 있는지 여부를 검증하는 단계를 더 포함할 수 있다.
몇몇 구현에서, 상기 방법은, 프로그래밍될 데이터의 저장 시간이 미리 설정된 지속기간보다 긴 것에 응답하여, 상기 데이터를 상기 제1 유형 데이터로 결정하는 단계; 및 상기 데이터의 저장 시간이 미리 설정된 지속기간보다 짧거나 같은 것에 응답하여, 상기 데이터를 상기 제2 유형 데이터로 결정하는 단계를 더 포함할 수 있다.
몇몇 구현에서, 상기 방법은, 상기 하나 이상의 제1 메모리 셀에 대응하는 워드 라인에 프로그래밍 전압을 인가하고, 상기 하나 이상의 제2 메모리 셀에 대응하는 다른 워드 라인에 패스 전압을 인가하여 상기 하나 이상의 제1 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하는 단계를 더 포함할 수 있다.
몇몇 구현에서, 상기 하나 이상의 제1 메모리 셀과 상기 하나 이상의 제2 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하는 것은, 상기 하나 이상의 제1 메모리 셀에 대한 상기 제1 프로그램 동작과 상기 하나 이상의 제2 메모리 셀에 대한 상기 제1 프로그램 동작을 순차적으로 수행하는 것을 포함할 수 있다.
몇몇 구현에서, 상기 하나 이상의 제1 메모리 셀과 상기 하나 이상의 제2 메모리 셀에 대해 상기 제1 프로그램 동작을 순차적으로 수행하는 것은, 상기 하나 이상의 제2 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하기 전에 상기 하나 이상의 제1 메모리 셀에 대해 상기 제2 프로그램 동작을 수행하는 것을 포함할 수 있다.
몇몇 구현에서, 상기 하나 이상의 제1 메모리 셀과 상기 하나 이상의 제2 메모리 셀에 대해 상기 제1 프로그램 동작을 순차적으로 수행하는 것은, 상기 하나 이상의 제2 메모리 셀에 대해 상기 제1 프로그램 동작을 수행한 후에 상기 하나 이상의 제1 메모리 셀에 대해 상기 제2 프로그램 동작을 수행하는 것을 포함할 수 있다.
몇몇 구현에서, 상기 하나 이상의 제1 메모리 셀과 상기 하나 이상의 제2 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하는 것은, 상기 하나 이상의 제1 메모리 셀에 대한 상기 제1 프로그램 동작과 상기 하나 이상의 제2 메모리 셀에 대한 상기 제1 프로그램 동작을 병렬로 수행하는 것을 포함할 수 있다.
몇몇 구현에서, 상기 하나 이상의 제1 메모리 셀은 복수의 제1 메모리 셀을 포함할 수 있다. 상기 방법은, 상기 복수의 제1 메모리 셀 중 적어도 하나의 제1 메모리 셀에 대한 상기 제1 프로그램 동작의 성공 여부를 상기 적어도 하나의 제1 메모리 셀에 대응하는 워드 라인에 검증 전압을 인가하는 것에 기초하여 검증하는 단계; 및 상기 적어도 하나의 제1 메모리 셀에 대한 상기 제1 프로그램 동작이 성공한 것으로 결정한 후, 상기 적어도 하나의 제1 메모리 셀에 대해 상기 제2 프로그램 동작을 수행하는 단계를 더 포함할 수 있다.
몇몇 구현에서, 상기 하나 이상의 제1 메모리 셀은 하나의 메모리 스트링 내의 복수의 제1 메모리 셀을 포함할 수 있다. 상기 방법은, 상기 메모리 스트링 내의 상기 복수의 제1 메모리 셀에 대한 상기 제1 프로그램 동작이 성공한 후, 상기 메모리 스트링 내의 상기 복수의 제1 메모리 셀에 대해 상기 제2 프로그램 동작을 수행하는 단계를 더 포함할 수 있다.
몇몇 구현에서, 상기 복수의 제1 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하는 것은, 기판에 더 가까운, 상기 메모리 스트링 내의 하나의 제1 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하고 나서, 동일한 메모리 스트링 내의, 상기 기판에서 더 먼 다른 제1 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하는 것을 포함할 수 있다.
몇몇 구현에서, 상기 하나 이상의 제1 메모리 셀은 하나의 메모리 페이지 내의 복수의 제1 메모리 셀을 포함할 수 있다. 상기 방법은, 하나의 메모리 페이지 내의 복수의 제1 메모리 셀에 대한 상기 제1 프로그램 동작이 성공한 후, 상기 메모리 페이지 내의 복수의 제1 메모리 셀에 대해 상기 제2 프로그램 동작을 수행하는 단계를 더 포함할 수 있다.
몇몇 구현에서, 상기 복수의 제1 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하는 것은, 기판에서 더 먼 다른 메모리 페이지 내의 다른 제1 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하기 전에 상기 메모리 페이지 내의 복수의 제1 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하는 것을 포함할 수 있다.
몇몇 구현에서, 상기 하나 이상의 제1 메모리 셀은 하나의 블록 내에 복수의 제1 메모리 셀을 포함할 수 있다. 상기 방법은, 상기 블록 내의 복수의 제1 메모리 셀에 대한 상기 제1 프로그램 동작이 성공한 후, 상기 블록 내의 복수의 제1 메모리 셀에 대해 상기 제2 프로그램 동작을 수행하는 단계를 더 포함할 수 있다.
여기에 통합되어 본 명세서의 일부를 구성하는 첨부 도면은 본 개시의 몇몇 측면을 나타내고, 설명과 함께 본 개시의 원리를 추가로 설명하고 당업자가 본 개시를 실시 및 사용할 수 있도록 한다.
도 1은 다양한 저장 유형의 메모리 셀을 보여주는 개략도를 나타낸다.
도 2는 전하 트랩형(charge-trap type) 메모리 셀을 보여주는 개략도를 나타낸다.
도 3은 터널링 층에 포획된 전하의 영향으로 인한 임계 전압 분포의 변화에 대한 개략도를 나타낸다.
도 4는 본 개시의 몇몇 구현에 따른 저장 시스템을 갖는 예시적인 메모리 시스템의 블록도를 나타낸다.
도 5a는 본 개시의 몇몇 구현에 따른 메모리 디바이스를 갖는 예시적인 메모리 카드의 도면을 나타낸다.
도 5b 본 개시의 몇몇 구현에 따른 복수의 메모리 디바이스를 갖는 예시적인 솔리드 스테이트 드라이브(SSD)의 도면을 나타낸다.
도 6은 본 개시의 몇몇 구현에 따른 주변 회로 및 메모리 셀 어레이를 포함하는 예시적인 메모리 디바이스의 개략도를 나타낸다.
도 7은 본 개시의 몇몇 구현에 따른 메모리 셀 어레이 및 주변 회로를 포함하는 예시적인 메모리 디바이스의 블록도를 나타낸다.
도 8a는 본 개시의 몇몇 구현에 따른, 메모리 디바이스에 대한 제1 예시적인 프로그램 동작 방법을 보여주는 흐름도를 나타낸다.
도 8b는 본 개시의 몇몇 구현에 따른 메모리 디바이스에 대한 제2 예시적인 프로그램 동작 방법을 보여주는 흐름도를 나타낸다.
도 9는 본 개시의 몇몇 구현에 따른 예시적인 증분-스텝-펄스 프로그래밍을 보여주는 개략도를 나타낸다.
도 10은 본 개시의 몇몇 구현에 따른 메모리 디바이스에 대한 제3 예시적인 프로그램 동작 방법을 보여주는 흐름도를 나타낸다.
도 11은 본 개시의 몇몇 구현에 따른 프로그램 동작 방법의 채용을 통해 집중된 임계 전압 분포를 보여주는 개략도를 나타낸다.
도 12a는 본 개시의 몇몇 구현에 따른 제1 예시적인 프로그램 동작 방식을 보여주는 개략도를 나타낸다.
도 12b는 본 개시의 몇몇 구현에 따른 제2 예시적인 프로그램 동작 방식을 보여주는 개략도를 나타낸다.
도 12c는 본 개시의 몇몇 구현에 따른 제3 예시적인 프로그램 동작 방식을 보여주는 개략도를 나타낸다.
도 12d는 본 개시의 몇몇 구현에 따른 제4 예시적인 프로그램 동작 방식을 보여주는 개략도를 나타낸다.
본 개시는 첨부된 도면을 참조하여 설명될 것이다.
특정 구성 및 배치가 논의되지만, 이는 단지 예시 목적만 이루어진다는 것을 이해해야 한다. 따라서 본 개시의 범위를 벗어나지 않고 다른 구성 및 배치가 사용될 수 있다. 또한, 본 개시는 다양한 다른 애플리케이션에 채용될 수 있다. 본 개시에 설명된 기능적 및 구조적 특징은, 도면에 구체적으로 묘사되지 않은 방식으로, 서로 결합, 조정 및 수정될 수 있으며, 이러한 조합, 조정 및 수정이 본 개시의 범위 내에 있다.
일반적으로 용어는 적어도 부분적으로 맥락에서의 사용을 통해 이해될 수 있다. 예를 들어, 여기에서 사용되는 "하나 이상"이라는 용어는 적어도 부분적으로 맥락에 따라 단수의 의미로 모든 특징, 구조 또는 특성을 설명하는 데 사용될 수 있거나 복수의 의미로 특징, 구조 또는 특성의 조합을 설명하는 데 사용될 수 있다. 마찬가지로, 또 "일"(영어의 관사 "a", "an"에 대응) 또는 "그(영어의 관사 the에 대응)"와 같은 용어는 문맥에 따라 적어도 부분적으로 단수 용법을 전달하거나 복수 용법을 전달하는 것으로 이해될 수 있다. 또한, "~에 기초한/를 기반으로 한(based on)" 및 "에 따라(according to)"라는 용어는 반드시 배타적인 인자의 세트를 전달하려는 의도는 아니며, 대신 반드시 명시적으로 설명되어 있지 않은 추가 인자의 존재를 허용할 수 있으며, 다시 말해 문맥에 따라 적어도 부분적으로 의존할 수 있다. 또한, "결합한다(couple)", "~에 결합된(coupled to)" 또는 "~ 사이에 결합된(coupled between)"이라는 용어는 반드시 "물리적으로 합쳐지거나 부착되도록", 즉 직접 부착하려는 의도가 아니지만 중간 컴포넌트를 통한 간접 연결로 해석될 수도 있다.
또한, "수직" 및 "수평"이라는 용어는 설명의 편의성을 위해서만 사용될 수 있다. 이러한 방향은 미리 정의된 좌표계 또는 특정 방향(예컨대, 도면의 레이아웃)에 상대적일 수 있다. 이러한 방향은 절대적이지 않으며 참조용으로만 제공된다는 것을 이해할 수 있다.
3차원(3D) NAND 메모리 디바이스와 같은, 전력 소모가 적고 가벼우며 신뢰할 수 있는 성능을 제공하는 비휘발성 메모리 디바이스는 관련 기술 분야에서 널리 채용되고 있다. 도 1은 예컨대, NAND 메모리 디바이스를 기반으로 하는 다양한 저장형의 메모리 셀을 보여주는 개략도를 나타낸다. 도 1에 도시된 바와 같이, 몇몇 예에서, 메모리 셀은 하나의 메모리 셀에 프로그래밍된 데이터의 비트 수에 따라 1비트 데이터를 저장하는 단일 레벨 셀(single-level cell, SLC), 2비트 데이터를 저장하는 다중 레벨 셀(multi-level cell, MLC), 3비트 데이터를 저장하는 트리플 레벨 셀(triple-level cell, TLC), 4비트 데이터를 저장하는 쿼드 레벨 셀(quad-level cell, QLC)로 분류될 수 있다. 이들 중에서 SLC는 가장 긴 쓰기/지우기(P/E) 사이클을 가질 수 있으므로 신뢰성과 내구성이 가장 좋을 수 있지만 비용이 많이 든다. 반면에 TLC 또는 QLC는 PE 사이클이 짧고 신뢰성과 내구성이 평균적이지만 비용이 더 낮을 수 있다.
다른 예에서, 전하를 저장하는 유형에 따라, 예컨대 NAND 메모리 디바이스는 플로팅 게이트형(floating-gate type) 메모리 셀을 갖는 메모리 디바이스와 전하 트랩형 메모리 셀을 갖는 메모리 디바이스로 구분될 수도 있다. 도 2는 전도성 채널(conductive channel)(202) 터널링 층(tunneling layer)(204), 저장 층(storage layer)(206) 및 장벽 층(barrier layer)(208)을 포함할 수 있는 전하 트랩형 메모리 셀을 보여주는 개략도를 나타낸다. 메모리 셀에 프로그래밍된 데이터는 전기장의 영향 하에 터널링 층(204)를 통해 전도성 채널(202)에서 저장 층(206)으로 전하를 주입하는 프로세스로 볼 수 있다. 저장 층(206)에는 주입된 전하를 저장 층(206)으로 포착할 수 있는 엄청난 수의 트랩이 존재할 수 있다. 트랩의 에너지 레벨이 깊을수록 트랩이 더 나은 전하 유지 특성을 가질 수 있다는 점에 유의한다. 즉, 외부 전기장이 변하더라도 더 깊은 에너지 레벨 트랩에 있는 전하는 분리될 가능성이 더 낮다.
실제 상황에서 각 메모리 셀의 특성은 정확히 동일하지 않을 수 있다. 예를 들어, 메모리 셀의 트랩은 다양한 에너지 레벨과 연관될 수 있다. 일부 메모리 셀은 얕은 에너지 레벨 트랩을 갖는 저장 층을 포함할 수 있으며, 이로 인해 전하 유지 특성이 좋지 않다. 일부 트랩은 심지어 터널링 층에 존재할 수도 있으며, 프로그래밍 프로세스 중에 이동하는 전하가 터널링 층에 포획될 수 있다. 프로그래밍의 끝에서, 이러한 전하가 전기장의 변화로 인해 짧은 기간 동안 터널링 층으로부터 포획에서 빠져나와(de-trap), 도 2에 나타낸 바와 같이 전도성 채널(202)로 돌아갈 수 있다. 결과적으로, 하나의 메모리 셀의 임계 전압은 더 낮은 수준으로 표류할 수 있으며, 이로 인해 임계 전압 분포가 더 넓어지고, 도 3에 도시된 바와 같이, 실선 곡선에서 점선 곡선으로 추세를 보인다. 더 넓은 임계 전압 분포는 메모리 디바이스의 신뢰성에 상당한 영향을 미칠 수 있다.
상기한 문제 및 기타 문제를 해결하기 위해, 본 개시는 메모리 셀에 프로그래밍될 데이터의 유형에 따라 메모리 셀이 프로그래밍될 수 있는 프로그램 동작 방식(program operation scheme)을 제공한다. 보다 구체적으로, 데이터에 대한 액세스 빈도에 따라, 메모리 셀에 프로그래밍된 데이터는 콜드 데이터(cold data)와 핫 데이터(hot data)로 분류될 수 있다. 여기에서 "콜드 데이터"라는 용어는 액세스 빈도가 임계 빈도를 나타내는 미리 설정된 값보다 작은 데이터를 지칭하는 데 사용될 수 있다. 다른 해석에서, "제1 유형 데이터"라는 용어는 미리 설정된 지속기간(preset duration)보다 긴 저장 시간을 가질 수 있는 데이터를 지칭하는 데 사용될 수 있는 반면, "제2 유형 데이터"라는 용어는 미리 설정된 지속기간보다 짧거나 같은 저장 시간을 갖는 데이터를 지칭하는 데 사용될 수 있다. 미리 설정된 지속기간은 실제 적용에서 메모리 디바이스에 데이터를 저장해야 하는 가장 짧은 기간을 포함할 수 있다. 즉, 여기에서의 "저장 시간"이라는 용어는 데이터를 유지하기 위한 지속 시간(time duration)을 설명하는 데 사용될 수 있다.
콜드 데이터와 관련하여, 저장 시간이 비교적 길 것으로 예상할 수 있다. 이와 대조적으로, 여기에서 "핫 데이터"라는 용어는 미리 설정된 값보다 더 자주 액세스되는 일부 데이터를 지칭할 수 있으며, 따라서 비교적 짧은 저장 시간을 가질 수 있다. 따라서, 메모리 셀은 실제 적용에서 메모리 셀이 프로그래밍하도록 구성된 데이터에 따라 분류될 수 있다. 몇몇 예에서, 메모리 셀은 제1 유형의 데이터(또는 "제1 유형 데이터"로 지칭됨)를 저장하도록 구성된 제1 메모리 셀 또는 제2 유형의 데이터(또는 "제2 유형 데이터"로 지칭됨)를 저장하도록 구성된 제2 메모리 셀일 수 있으며, 여기서 제1 유형의 데이터는 콜드 데이터를 포함할 수 있고 제2 유형의 데이터는 핫 데이터를 포함할 수 있다. 다시 말해, 제1 메모리 셀은 더 긴 저장 시간과 연관된 데이터를 저장하도록 구성될 수 있는 반면, 제2 메모리 셀은 더 짧은 저장 시간과 연관된 데이터를 저장하도록 구성될 수 있다. 또한, 제1 메모리 셀과 제2 메모리 셀은 데이터를 저장하도록 구성되므로, 더미 메모리 셀 대신 메인 메모리 셀을 포함할 수 있다는 것을 이해할 수 있다.
상기한 것에 비추어, 본 개시는 프로그램 동작 방법을 제공하며, 여기서, 제1 유형 데이터를 저장하는 제1 메모리 셀에 대해, 제1 메모리 셀에 대한 프로그램 동작 후에 추가 프로그램 동작이 수행될 수 있다. 여기에서 "제1 유형 데이터"라는 용어는 전술한 콜드 데이터를 지칭하는 데 사용될 수 있으며, 이는 더 긴 저장 시간을 필요로 할 수 있고 따라서 전하 유지 능력에 대한 더 높은 요구사항이 필요할 수 있다.
추가 프로그램 동작(또는 제2 프로그램 동작)에서, 하나 이상의 프로그래밍 펄스가 제1 메모리 셀에 대응하는 선택된 워드 라인에 인가될 수 있고, 패스 전압이 제2 메모리 셀에 대응하는 워드 라인에 적용될 수 있다. 이와 같이, 게이트 층과 제1 메모리 셀의 전도성 채널 사이에 전기장이 생성될 수 있다. 결과적으로, 제1 메모리 셀에서, 전도성 채널의 전하가 저장 층에 포착될 수 있다. 제1 프로그램 동작 시, 제1 메모리 셀은 타깃 프로그래밍 상태에 도달하고 대응하는 임계 전압 범위를 보일 수 있다. 제2 프로그램 동작 시, 제1 메모리 셀의 타깃 프로그래밍 상태는 변경되지 않을 수 있지만 대응 임계 전압 범위는 더 좁아질 수 있으므로, 데이터를 저장하는 결과가 향상된다.
즉, 더 긴 저장 시간이 필요한 제1 메모리 셀에 대한 두 가지 프로그램 동작을 통해, 얕은 에너지 레벨 트랩에 전하가 구속될 가능성이 줄어들고 전하가 전도성 채널로 돌아가도록 동기를 부여할 수 있다. 따라서 제1 유형 데이터는 제1 메모리 셀에서 더 잘 유지될 수 있으므로, 비트 오류율이 감소하고 메모리 디바이스의 신뢰성이 향상된다.
도 4는 본 개시의 몇몇 구현에 따른 저장 시스템(401)을 갖는 예시적인 메모리 시스템(400)의 블록도를 나타낸다. 메모리 시스템(400)은 모바일 폰, 데스크톱 컴퓨터, 랩톱 컴퓨터, 태블릿, 차량용 컴퓨터, 게이밍 콘솔, 프린터, 포지셔닝(positioning) 디바이스, 웨어러블 전자 디바이스, 스마트 센서, 가상 현실(virtual reality, VR) 디바이스, 증강 현실(argument reality, AR) 디바이스 또는 내부에 저장장치를 갖는 다른 적합한 전자 디바이스일 수 있다. 도 4에 도시된 바와 같이, 메모리 시스템(400)은 호스트(402)와, 하나 이상의 메모리 디바이스(404) 및 메모리 제어기(406)를 갖는 저장 시스템(401)을 포함할 수 있다. 호스트(402)는 전자 디바이스의 프로세서(예컨대, 중앙 처리 장치(central processing unit, CPU) 등) 또는 시스템온칩(system-on-chip, SoC)(예컨대, 애플리케이션 프로세서(application processor, AP) 등)일 수 있다. 몇몇 구현에서, 호스트(402)는 메모리 디바이스(404)로 데이터를 전송하거나 메모리 디바이스(404)로부터 데이터를 수신하도록 구성될 수 있다. 몇몇 구현에서, 호스트(402)는 사용자 논리부(user logic), 또는 사용자가 호스트(402)에 명령을 제공하고 그 명령을 메모리 디바이스 또는 메모리 어레이에 송신할 수 있도록 하는 사용자 인터페이스일 수 있다.
메모리 디바이스(404)는 본 개시에 개시된 임의의 메모리 디바이스일 수 있다. 아래에서 자세히 개시된 바와 같이, NAND 플래시 메모리 디바이스, 동적 랜덤 액세스 메모리(dynamic random access memory, DRAM) 또는 상 변화 랜덤 액세스 메모리(phase-change random access memory, PCRAM)와 같은 메모리 디바이스(404)는 몇몇 구현에 따르면, 클록 입력, 커맨드 버스, 데이터 버스, 제어 논리부, 주소 레지스터, 행 디코더/워드 라인 드라이버, 메모리 셀을 갖는 메모리 셀 어레이, 전압 생성기, 페이지 버퍼/감지 증폭기, 열 디코더/비트 라인 드라이버, 데이터 입출력(I/O)을 포함할 수 있다.
메모리 제어기(406)는 메모리 디바이스(404) 및 호스트(402)에 결합될 수 있으며, 몇몇 구현에 따라 메모리 디바이스(404)를 제어하도록 구성될 수 있다. 메모리 제어기(406)는 메모리 디바이스(404)에 저장된 데이터를 관리하고 호스트(402)와 통신할 수 있다. 몇몇 구현에서, 메모리 제어기(406)는 보안 디지털(secure digital, SD) 카드, 컴팩트 플래시(compact Flash, CF) 카드, 범용 직렬 버스(universal serial bus, USB) 플래시 드라이브, 또는 개인용 컴퓨터, 디지털 카메라, 모바일 폰 등과 같은, 전자 디바이스에 사용하기 위한 다른 미디어와 같은, 낮은 듀티 사이클 환경에서 작동하도록 설계될 수 있다. 몇몇 구현에서, 메모리 제어기(406)는 스마트폰, 태블릿, 노트북 컴퓨터 등과 같은, 모바일 디바이스용의 데이터 저장장치, 및 엔터프라이즈 저장장치 어레이로서 사용되는 높은 듀티 사이클 환경의 솔리드 스테이트 드라이브(environment solid-state drive, SSD) 또는 내장형 멀티미디어 카드(embedded multi-media-card, eMMC)에서 작동하도록 설계될 수 있다. 메모리 제어기(406)는 읽기, 지우기 및 쓰기 동작과 같은 메모리 디바이스(404)의 동작을 제어하도록 구성될 수 있다. 메모리 제어기(406)는 또한 메모리 디바이스(404)에 저장된 데이터 또는 저장될 데이터와 관련하여 불량 블록 관리(bad-block management), 가비지 수집(garbage collection), 논리-물리 주소 변환(logical-to-physical address conversion), 마모 평준화(wear leveling) 등을 포함하지만 이에 한정되지 않는 다양한 기능을 관리하도록 구성될 수 있다. 몇몇 구현에서, 메모리 제어기(406)는 메모리 디바이스(404)에서 읽거나 메모리 디바이스(404)에 쓰여진 데이터와 관련하여 오류 정정 코드(error correction code, ECC)를 처리하도록 추가로 구성될 수 있다. 메모리 제어기(406)는 예를 들어 메모리 디바이스(404)를 포맷하는 것과 같은, 임의의 다른 적합한 기능도 수행할 수 있다. 메모리 제어기(406)는 특정 통신 프로토콜에 따라 외부 디바이스(예컨대, 호스트(402))와 통신할 수 있다. 예를 들어, 메모리 제어기(406)는 USB 프로토콜, MMC 프로토콜, PCI(Peripheral Component Interconnection) 프로토콜, PCI-E(PCI-Express) 프로토콜, ATA(Advanced Technology Attachment) 프로토콜, 직렬 ATA(serial-ATA) 프로토콜, 병렬 ATA(parallel-ATA) 프로토콜, SCSI(Small Computer Small Interface) 프로토콜, ESDI(Enhanced Small Disk Interface) 프로토콜, IDE(Integrated Drive Electronics) 프로토콜, 파이어와이어(Firewire) 프로토콜 등과 같은, 다양한 인터페이스 프로토콜 중 하나 이상을 통해 외부 디바이스와 통신할 수 있다. 나아가, 메모리 제어기(406)는 또한 본 개시의 몇몇 구현에 따라 호스트(402)로부터 커맨드를 수신하고, 호스트(402)로 데이터를 송신하고, 여러 기능을 수행하도록 구성될 수 있다.
메모리 제어기(406)와 하나 이상의 메모리 디바이스(404)는 다양한 유형의 저장 디바이스에 통합될 수 있으며, 예를 들어 UFS(Universal Flash Storage) 패키지 또는 eMMC 패키지와 같은, 동일한 패키지에 포함될 수 있다. 즉, 메모리 시스템(400)은 다양한 유형의 최종 전자 제품에 구현되고 패키징될 수 있다. 도 5a에 도시된 바와 같은 한 예에서, 메모리 제어기(406)와 단일 메모리 디바이스(404)는 메모리 카드(500)에 통합될 수 있다. 메모리 카드(500)는 PC 카드(personal computer memory card international association, PCMCIA), CF 카드, 스마트 미디어(smart media SM) 카드, 메모리 스틱, 멀티미디어 카드(MMC, RS-MMC, MMCmicro), SD 카드(SD, miniSD, microSD, SDHC), UFS 등을 포함할 수 있다. 메모리 카드(500)는 또한 메모리 카드(500)를 호스트(예컨대, 도 4의 호스트(402))와 결합하는 메모리 카드 커넥터(502)를 포함할 수 있다. 도 5b에 도시된 바와 같은 다른 예에서, 메모리 제어기(406)와 다수의 메모리 디바이스(404)는 SSD(501)에 통합될 수 있다. SSD(501)는 또한 SSD(501)를 호스트(예컨대, 도 4의 호스트(402))와 결합하는 SSD 커넥터(503)를 포함할 수 있다. 몇몇 구현에서, SSD(501)의 저장 용량 및/또는 동작 속도는 메모리 카드(500)의 저장 용량 및/또는 동작 속도보다 클 수 있다.
도 6은 본 개시의 몇몇 구현에 따른, 주변 회로(601) 및 메모리 셀 어레이(602)를 포함하는 예시적인 메모리 디바이스 600의 개략도를 나타낸다. 메모리 디바이스(600)은 3차원(3D) NAND 메모리 디바이스를 포함할 수 있고, 메모리 셀 어레이(602)는 3D NAND 메모리 셀 어레이를 포함할 수 있다. 메모리 셀 어레이(602)는 메모리 블록 0, 메모리 블록 1, 메모리 블록 2, 메모리 블록 3, ... 등과 같은 하나 이상의 메모리 블록(603)을 포함할 수 있다. 각각의 메모리 블록은 도 6에 도시된 바와 같이, 스트링 선택 라인(string selection line) SSL, 접지 선택 라인(ground selection line) GSL, 소스 라인(source line) SL, 복수의 워드 라인(word line) WL, 비트 라인(bit line) BL, 그리고 워드 라인 WL과 비트 라인 BL 사이에 형성된 메모리 셀(604)을 포함할 수 있다. 어떤 경우에, 워드 라인 WL은 하나 이상의 메인 워드 라인 WL과 하나 이상의 더미 워드 라인 DWL을 포함할 수 있다. 몇몇 예에서, 하나 이상의 더미 워드 라인 DWL은 스트링 선택 라인 SSL과 하나 이상의 메인 워드 라인 WL 사이에 하나 이상의 상단 더미 워드 라인, 하나 이상의 메인 워드 라인 WL과 접지 선택 라인 GSL 사이에 하나 이상의 하단 더미 워드 라인, 그리고 제1 그룹의 메인 워드 라인과 제2 그룹의 메인 워드 라인 사이에 하나 이상의 중간 더미 워드 라인을 포함할 수 있다.
3D NAND 메모리 셀 어레이는 반도체 기판, 반도체 기판 위에 인터리빙된((interleaved) 게이트 층과 유전체 층을 포함할 수 있는 메모리 스택, 그리고 각각 메모리 스택을 수직으로 관통하는 복수의 채널 구멍(channel hole, CH)을 포함할 수 있다. 메모리 필름은 채널 구멍의 측벽을 따라 형성될 수 있다. 메모리 필름은 도 2에 도시된 바와 같이, 장벽 층(208), 저장 층(206), 터널링 층(204), 전도성 채널(202) 등을 포함할 수 있다. 각각의 메모리 셀(604)은 메모리 필름과 각 게이트 층 사이의 교차점에 형성될 수 있다.
도 6에 도시된 바와 같이, 몇몇 구현에서, 하나의 메모리 블록(603) 내의 메모리 셀 어레이(602)는 NAND 메모리 스트링과 같은, 메모리 스트링(606)의 어레이 형태로 제공될 수 있다. 몇몇 구현에서, 각각의 메모리 스트링(606)은 반도체 기판 위로 수직으로 확장될 수 있으며, 각각은 직렬로 결합되고 수직으로 적층된 복수의 메모리 셀(604)을 포함할 수 있다. 각각의 메모리 셀(604)는 메모리 셀(604)의 영역 내에 포획된 전자의 수에 따라 달라지는 전기 전압 또는 전자 전하와 같은, 연속적인 아날로그 값을 유지할 수 있다. 각각의 메모리 셀(604)는 플로팅 게이트 트랜지스터를 갖는 플로팅형의 메모리 셀이거나 전하 트랩 트랜지스터를 갖는 전하 트랩형의 메모리 셀일 수 있다.
몇몇 구현에서, 각각의 메모리 셀(604)는 두 가지 가능한 메모리 상태를 가질 수 있는 단일 레벨 셀(single-level cell, SLC)일 수 있으며, 따라서 한 비트의 데이터를 저장할 수 있다. 예를 들어, 제1 메모리 상태 "0"은 제1 전압 범위에 대응할 수 있고, 제2 메모리 상태 "1"은 제2 전압 범위에 대응할 수 있다. 몇몇 구현에서, 각각의 메모리 셀(604)는 네 개 이상의 메모리 상태에서 단일 비트 이상의 데이터를 저장할 수 있는 다중 레벨 셀(multi-level cell, MLC)일 수 있다. 예를 들어, MLC는 셀당 2비트, 셀당 3비트(3중 레벨 셀(triple-level cell, TLC)로도 알려짐) 또는 셀당 4비트(4중 레벨 셀(quad-level cell, QLC)로도 알려짐)를 저장할 수 있다. 각각의 MLC는 가능한 명목(nominal) 저장 값의 범위를 가정하도록 프로그래밍될 수 있다. 한 예에서, 각각의 MLC가 2비트의 데이터를 저장하면, MLC는 3개의 가능한 명목 저장 값 중 하나를 메모리 셀에 기록함으로써 지워진 상태로부터 3개의 가능한 프로그래밍 레벨 중 하나를 가정하도록 프로그래밍될 수 있다. 네 번째 명목 저장 값은 지워진 상태에 사용될 수 있다.
하나의 메모리 블록(603)에 있는 인접한 메모리 스트링(606)의 메모리 셀(604)는 예컨대, 읽기 및 프로그램 동작에서 영향을 받을 메모리 셀(604)의 행을 선택하는 워드 라인 WL을 통해 결합될 수 있다. 몇몇 구현에서, 각 워드 라인 WL은 프로그램 및 읽기 동작의 기본 데이터 단위일 수 있는 한 페이지(608)의 메모리 셀(604)와 연결될 수 있다. 비트 단위의 한 페이지(608)의 크기는 한 워드 라인 WL에 의해 결합된 메모리 스트링(606)의 수에 대응할 수 있다. 각각의 워드 라인 WL은 개개의 페이지(608) 내의 각각의 메모리 셀(604)의 복수의 제어 게이트(게이트 전극)를 결합하도록 구성된 게이트 라인을 포함할 수 있다.
본 개시의 범위에 따라, 주변 회로(601)는 제1 메모리 셀에 대해 제1 프로그램 동작을 수행하도록 구성될 수 있다. 제1 메모리 셀은 제1 유형 데이터를 저장하도록 구성될 수 있다. 제1 유형 데이터는 제2 메모리 셀에 저장된 제2 유형 데이터보다 긴 예상 저장 시간을 포함할 수 있다. 몇몇 예에서, 저장 시간은 미리 결정되거나 미리 검출될 수 있으므로, 메모리 시스템은 메모리 셀이 제1 메모리 셀인지 제2 메모리 셀인지 인식할 수 있다. 또한, 주변 회로(601)는 제1 메모리 셀에 대해 제2 프로그램 동작을 수행하도록 추가로 구성될 수 있다. 몇몇 구현에서, 제2 프로그램 동작에서의 프로그래밍 펄스는 제1 프로그램 동작에서의 프로그래밍 펄스와 동일할 수 있다.
도 7은 본 개시의 몇몇 구현에 따른 메모리 셀 어레이(702) 및 주변 회로를 포함하는 예시적인 메모리 디바이스(700)의 블록도를 나타낸다. 도 6에서의 메모리 셀 어레이(602)는 도 7에서의 메모리 셀 어레이(702)의 예일 수 있는 반면, 도 7은 도 6에서의 주변 회로(601)의 몇몇 예를 나타낼 수 있다.
도 6으로 돌아가서, 주변 회로(601)는 비트 라인 BL, 워드 라인 WL, 소스 라인 SL, 스트링 선택 라인 SSL, 및 접지 선택 라인 GSL 등을 통해 메모리 셀 어레이(602)와 결합될 수 있다. 주변 회로(601)는 비트 라인 BL, 워드 라인 WL, 소스 라인 SL, 스트링 선택 라인 SSL, 및 접지 선택 라인 GSL을 통해 각각의 타깃 메모리 셀(604)에 대해 전압 신호 및/또는 전류 신호를 인가하고 감지하여 메모리 셀 어레이(602)의 동작을 용이하게 하는 데 적합한 회로를 포함할 수 있다. 주변 회로(601)는 상보적 금속 산화물 반도체(complementary metal-oxide-semiconductor, CMOS) 기술을 사용하여 형성된 다양한 유형의 주변 회로를 포함할 수 있다. 예를 들어, 도 7은 페이지 버퍼(704), 열(column) 디코더/비트 라인 드라이버(706), 행(row) 디코더/워드 라인 드라이버(708), 전압 생성기(710), 제어 논리부(712), 캐시/레지스터(714), 인터페이스(I/F)(716), 및 데이터 버스(718)을 포함할 수 있는 일부 예시적인 주변 회로(601)을 나타낸다. 몇몇 예에서, 감지 증폭기와 같은 추가 회로도 포함될 수 있음을 이해할 수 있다.
페이지 버퍼(704)는 제어 논리부(712)에 의해 발행된 제어 신호에 따라 메모리 셀 어레이(702)에서 읽거나 메모리 셀 어레이(702)에 프로그래밍된 데이터를 버퍼링하도록 구성될 수 있다. 한 예에서, 페이지 버퍼(704)는 메모리 셀 어레이(702)의 한 페이지(608)(도 6에 도시됨)에 프로그래밍될 한 페이지의 프로그램 데이터(쓰기 데이터)를 저장할 수 있다. 다른 예에서, 페이지 버퍼(704)는 선택된 워드 라인에 결합된 메모리 셀(604)에 데이터가 적절하게 프로그래밍되었는지 확인하기 위해 프로그램 검증 동작도 수행할 수 있다.
행 디코더/워드 라인 드라이버(708)는 제어 논리부(712)에 의해 제어되어 메모리 셀 어레이(702)의 메모리 블록(603)과 선택된 메모리 블록(603)의 워드 라인 WL을 선택하도록 구성될 수 있다. 행 디코더/워드 라인 드라이버(708)는 메모리 셀 어레이(702)를 구동하도록 추가로 구성될 수 있다. 예를 들어, 행 디코더/워드 라인 드라이버(708)는 전압 생성기(710)에서 생성된 전압을 사용하여 선택된 워드 라인에 결합된 메모리 셀(604)를 구동할 수 있다.
열 디코더/비트 라인 드라이버(706)는 제어 논리부(712)에 의해 제어되어 전압 생성기(710)에서 생성된 비트 라인 전압을 적용하여 하나 이상의 메모리 스트링(606)(도 6에 도시됨)을 선택할 수 있다. 예를 들어, 열 디코더/비트 라인 드라이버(706)는 읽기 동작에서 출력될 페이지 버퍼(704)에서 N비트의 데이터 세트를 선택하기 위한 열 신호를 인가할 수 있다.
제어 논리부(712)는 각각의 주변 회로(601)(도 6에 도시됨)에 결합되어 주변 회로(601)의 동작을 제어하도록 구성될 수 있다. 캐시/레지스터 714는 제어 논리부(712)에 결합될 수 있으며 상태 레지스터, 커맨드 레지스터 및 주소 레지스터를 포함하여 상태 정보, 커맨드 동작 코드(OP 코드) 및 각각의 주변 회로(601)의 동작을 제어하기 위한 커맨드 주소를 저장할 수 있다.
인터페이스(716)는 제어 논리부(712)에 결합되어 메모리 셀 어레이(702)를 메모리 제어기(도 4에 도시됨)와 인터페이싱하도록 구성될 수 있다. 몇몇 구현에서, 인터페이스(716)는 메모리 제어기 및/또는 호스트(도 4에 도시됨)로부터 수신된 제어 명령을 버퍼링하고 제어 논리부(712)에 중계하고 제어 논리부(712)로부터 수신된 상태 정보를 메모리 제어기 및/또는 호스트에 중계하는 제어 버퍼로 기능할 수 있다. 인터페이스(716)는 또한 데이터 버스(718)를 통해 페이지 버퍼(704) 및 열 디코더/비트 라인 드라이버(706)에 결합될 수 있으며, 메모리 제어기 및/또는 호스트로부터 수신된 프로그램 데이터를 페이지 버퍼(704)에, 페이지 버퍼(704)로부터 메모리 제어기 및/또는 호스트로 읽은 데이터를 버퍼링하고 중계하기 위한 I/O 인터페이스 및 데이터 버퍼로 기능할 수 있다. 몇몇 구현에서, 인터페이스(716)와 데이터 버스(718)는 주변 회로(601)의 I/O 회로의 일부가 될 수 있다.
전압 생성기(710)는 제어 논리부(712)에 의해 제어되어 메모리 셀 어레이(702)에 공급될 워드 라인 전압(예컨대, 읽기 전압, 프로그래밍 전압, 패스 전압, 로컬 전압 및 검증 전압) 및 비트 라인 전압을 생성할 수 있다. 몇몇 구현에서, 전압 생성기(710)는 아래에서 상세히 설명하는 바와 같이 상이한 주변 회로(601)의 다양한 레벨에서 전압을 제공하는 전압원의 일부가 될 수 있다. 본 개시의 범위와 일치하도록, 몇몇 구현에서, 전압 생성기(710)에 의해, 예를 들어 행 디코더/워드 라인 드라이버(708), 열 디코더/비트 라인 드라이버(706) 및 페이지 버퍼(704)에 제공되는 전압은 메모리 동작을 수행하기에 충분할 수 있는 특정 레벨 이상일 수 있다. 예를 들어, 페이지 버퍼(704)의 페이지 버퍼 회로 및/또는 제어 논리부(712)의 논리 회로에 제공되는 전압은 예컨대, 1.3V와 5V 사이(예컨대, 3.3V)일 수 있고, 행 디코더/워드 라인 드라이버(708) 및/또는 열 디코더/비트 라인 드라이버(706)의 구동 회로에 제공되는 전압은 예컨대, 5V와 30V 사이일 수 있다. 몇몇 구현에서, 전압 생성기(710)는 제1 메모리 셀과 제2 메모리 셀의 제어 단자에 공급되는 프로그래밍 전압 및 패스 전압을 생성하도록 추가로 구성되어 본 개시의 범위와 일치하는 원하는 목적과 기능을 달성하도록 구성될 수 있다.
도 8a는 본 개시의 몇몇 구현에 따라, 메모리 디바이스에서 수행되는 제1 예시적인 프로그램 동작 방법(800)을 보여주는 흐름도를 나타낸다. 방법(800)은 먼저 S802로 진행될 수 있으며, 여기서 제1 프로그램 동작이 제1 메모리 셀과 제2 메모리 셀에 대해 수행될 수 있다. 제1 메모리 셀과 제2 메모리 셀은 제1 프로그램 동작으로 병렬 또는 순차적으로 프로그래밍될 수 있다.
제1 메모리 셀은 제1 유형 데이터를 저장하도록 구성될 수 있고, 제2 메모리 셀은 제2 유형 데이터를 저장하도록 구성될 수 있다. 제1 유형 데이터에 대응하는 제1 저장 시간은 제2 유형 데이터에 대응하는 제2 저장 시간보다 길 수 있다. 몇몇 예에서, 이러한 저장 시간은 미리 결정되거나 미리 검출될 수 있으므로, 메모리 시스템은 메모리 셀이 제1 메모리 셀인지 제2 메모리 셀인지 인식할 수 있다.
방법(800)은 S8pre4로 더 진행될 수 있다. 제2 프로그램 동작이 제1 메모리 셀에 대해 수행될 수 있다. 몇몇 구현에서, 제1 프로그램 동작의 제1 타깃 프로그래밍 상태와 제2 프로그램 동작의 제2 타깃 프로그래밍 상태는 실질적으로 동일할 수 있다.
몇몇 구현에서, 본 개시에서의 "메모리 디바이스"라는 용어는 NAND 플래시 메모리, NOR 플래시 메모리, DRAM(Dynamic Random Access Memory), FRAM(Ferroelectric Random Access Memory), MRAM(Magneto resistive Random Access Memory), PCRAM(Phase Change Random Access Memory ), RRAM(Resistive Random Access Memory) 등과 같은, 데이터를 프로그래밍, 읽기 및 지우기 하도록 구성된 메모리 디바이스를 지칭할 수 있다. 메모리 디바이스는 위에서 설명한 바와 같이, 메모리 셀 어레이와 제어 논리부를 포함할 수 있다. 메모리 셀 어레이의 읽기, 쓰기, 검증 및 기타 동작은 도 6에 도시된 바와 같이, 복수의 워드 라인 WL과 복수의 비트 라인 BL에 의해 제어될 수 있다. 메모리 셀 어레이(602)는 복수의 메모리 스트링(606)을 포함할 수 있으며, 각각의 메모리 스트링(606)은 추가로 복수의 메모리 셀(604)을 포함할 수 있다. 위에서 설명한 바와 같이, 각각의 메모리 셀(604)는 대응하는 워드 라인 WL과 대응하는 비트 라인 BL의 교차점에 형성될 수 잇다. 비트 라인 신호는 메모리 셀의 소스에 인가될 수 있으며, 워드 라인 신호는 메모리 셀의 게이트(또는 제어 단자)에 적용될 수 있다. 일부 예에서, 여기에서 "메모리 셀"이라는 용어는 메모리 디바이스 내의 비휘발성 저장 유닛을 지칭할 수 있다.
도 8a로 돌아가서, S802에서, 제1 프로그램 동작이 제1 메모리 셀과 제2 메모리 셀에 대해 수행될 수 있다. 제1 프로그램 동작을 수행하는 과정에서, 제1 메모리 셀과 제2 메모리 셀은 그 대응하는 타깃 프로그래밍 상태에 도달하여 대응하는 검증 동작으로 통과할 때까지 각각 프로그래밍될 수 있다. 몇몇 구현에서, 제1 메모리 셀이 먼저 프로그래밍될 수 있고, 이어서 제1 프로그램 동작이 제2 메모리 셀에 대해 수행될 수 있다. 다른 구현에서, 제1 프로그램 동작이 먼저 제2 메모리 셀에 대해 수행된 다음 제1 메모리 셀에 대해 수행될 수 있다. 본 개시가 제1 메모리 셀과 제2 메모리 셀에 대한 제1 프로그램 동작의 프로그래밍 시퀀스 및 타이밍을 한정하지 않는다는 것을 이해할 수 있다. 또 다른 구현에서, 동일한 결과를 달성할 수 있는 다른 방식이 존재할 수 있으며, 그러한 방법도 여전히 본 개시의 범위에 속할 수 있다.
도 8b는 본 개시의 몇몇 구현에 따른 메모리 디바이스에서의 제2 예시적인 프로그램 동작 방법(801)을 보여주는 흐름도를 나타낸다. 도 8b에 도시된 바와 같이, 제1 메모리 셀과 제2 메모리 셀에서 제1 프로그램 동작을 수행하기 위해, 806에서, 제1 프로그래밍 펄스가 제1 메모리 셀에 대응하는 제1 워드 라인과 제2 메모리 셀에 대응하는 제2 워드 라인에 인가될 수 있다. 제1 워드 라인은 제1 메모리 셀의 제어 단자에 연결될 수 있고, 제2 워드 라인은 제2 메모리 셀의 제어 단자에 연결될 수 있다. 제1 메모리 셀과 제2 메모리 셀에 대한 제1 프로그래밍 펄스의 인가 시퀀스 및 타이밍이 본 개시의 주요 주안점이 아닐 수 있음을 이해할 수 있다. 다시 말해, 제1 프로그래밍 펄스는 제2 워드 라인에 인가하기 전에 제1 워드 라인에 인가되거나, 제1 워드 라인에 인가하기 전에 제2 워드 라인에 먼저 인가될 수 있으며, 본 개시는 이에 한정되지 않는다.
이어서, 808에서, 제1 메모리 셀에 대해 제2 프로그램 동작을 수행하기 위해, 제2 프로그래밍 펄스가 제1 메모리 셀에 대응하는 제1 워드 라인에 인가될 수 있다. 몇몇 구현에서, 제1 메모리 셀과 제2 메모리 셀을 프로그래밍하는 방법은 도 8에 도시된 바와 같이, 증분 스텝 펄스 프로그래밍(incremental-step-pulse programming, ISPP)을 포함할 수 있다. 메모리 셀에 데이터를 프로그래밍해야 하는 경우, 미리 설정된 초기 프로그래밍 펄스를 갖는 초기 전압 Vpo로 먼저 프로그래밍될 수 있다. 프로그래밍 펄스를 인가하는 마지막에, 프로그래밍된 메모리 셀은 메모리 셀이 올바른 프로그래밍 상태에 도달했는지 여부를 판정하기 위해 검증 전압 Vv로 검증될 수 있다. 메모리 셀이 올바른 프로그래밍 상태로 프로그래밍되지 않은 것에 응답하여, 증분 스텝 펄스에 기초한 조정 값 ΔV가 새로운 펄스 전압 Vp1로서 초기 펄스 전압 Vpo에 추가될 수 있다. 다른 펄스 지속기간 동안 새로운 펄스 전압 Vp1에 기초하여, 메모리 셀이 올바른 프로그래밍 상태로 프로그래밍되어, 제2 프로그램 동작이 "성공적"으로 인식될 수 있을 때까지, 프로그래밍 및 검증의 새로운 사이클(또는 새로운 라운드)이 동일한 메모리 셀에 대해 수행될 수 있다. 몇몇 구현에서, 검증 전압 Vv는 초기 프로그래밍 전압 Vpo와 새로운 펄스 전압 Vp1 각각보다 낮을 수 있다.
도 9에 따르면, 메모리 셀은 원하는 프로그래밍 상태에 도달하기 위해 여러 프로그래밍 펄스를 통해 프로그래밍될 수 있다. 메모리 셀의 올바른 프로그래밍 상태는 실제 요구사항에 따라 결정될 수 있으며, 프로그래밍 반복 횟수는 원하는 프로그래밍 상태에 따라 결정될 수 있다. 도 9에 의해 제공된 기술적 스킬을 고려할 때, 여기에서 사용되는 "프로그래밍 펄스"라는 용어는 단 하나의 프로그래밍 펄스로 제한되지 않으며, 따라서 하나 이상의 프로그래밍 펄스를 지칭할 수 있다.
몇몇 구현에서, 메모리 셀의 적어도 하나의 상태는 각각의 프로그래밍 펄스 후에 검증될 수 있다. 예를 들어, MLC 메모리 셀의 경우, 4개의 대응하는 상태, 즉 지우기 상태 "11", 제1 상태 "10", 제2 상태 "01", 제3 상태 "00"이 있다. 메모리 셀을 하나 이상의 프로그래밍 펄스를 통해 제1 상태 "10"으로 프로그래밍하는 과정에서, 제1 상태 "10", 제2 상태 "01", 제3 상태 "00"은 각 프로그래밍 펄스로 검증될 수 있다.
몇몇 구현에서, 제1 프로그램 동작은 적어도 하나의 제1 프로그래밍 펄스를 포함할 수 있고, 제2 프로그램 동작은 적어도 하나의 제1 프로그래밍 펄스에 대응하는 적어도 하나의 제2 프로그래밍 펄스를 포함할 수 있다. 한 예에서, 적어도 하나의 제2 프로그래밍 펄스는 적어도 하나의 제1 프로그래밍 펄스와 실질적으로 동일할 수 있고, 제1 메모리 셀에 대한 제2 프로그램 동작에 의해 달성되는 제2 타깃 프로그래밍 상태는 제1 메모리 셀에 대한 제1 프로그램 동작에 의해 달성되는 제1 타깃 프로그래밍 상태와 실질적으로 동일할 수 있다. 여기에서 사용되는 "동일(identical)"이라는 용어는 제1 펄스 전압이 제2 펄스 전압과 실질적으로 동일한 것 또는 제1 펄스 지속기간이 제2 펄스 지속기간과 실질적으로 동일한 것 중 적어도 하나가 충족되는 것으로 설명할 수 있다.
제1 프로그램 동작을 수행하는 과정에서, 적어도 하나의 제1 프로그래밍 펄스가 제1 메모리 셀에 인가될 수 있어, 제1 메모리 셀은 타겟 프로그래밍 상태에 도달할 수 있다. 제1 프로그래밍 펄스는 제1 펄스 전압 V1과 제1 펄스 지속기간 T1을 포함할 수 있다. 반면에, 제2 프로그램 동작을 수행하는 과정에서, 제1 프로그래밍 펄스에 대응하는 제2 프로그래밍 펄스가 사용될 수 있다. 제2 프로그래밍 펄스는 제2 펄스 전압 V2와 제2 펄스 지속기간 T2를 포함할 수 있다. 몇몇 구현에서, 제1 프로그래밍 펄스의 적어도 일부는 제2 프로그래밍 펄스와 동일할 수 있다. 여기에서 사용된 "제1 프로그래밍 펄스의 적어도 일부가 제2 프로그래밍 펄스와 동일하다"는 용어는 제1 펄스 전압 V1이 제2 펄스 전압 V2와 실질적으로 동일하고, 제1 펄스 지속기간 T1이 또한 제2 펄스 지속기간 T2와 실질적으로 동일한 제1 경우를 지칭할 수 있다. 용어 "동일(the same)"은 또한 제1 펄스 전압 V1이 제2 펄스 전압 V2와 실질적으로 동일하지만 제1 펄스 지속기간 T1이 제2 펄스 지속기간 T2와 다를 수 있는 제2 경우를 지칭할 수 있다. 제3 경우에, 제1 펄스 지속기간 T1이 제2 펄스 지속기간 T2와 실질적으로 동일하지만, 제1 펄스 전압 V1이 제2 펄스 전압 V2와 다를 수 있는 시나리오를 지칭할 수 있다. 제1 프로그램 동작에 다수의 제1 프로그래밍 펄스가 포함되는 경우, 여기에서 사용되는 용어 "동일"은 제2 프로그램 동작이 제1 프로그램 동작에서 동일한 수의 다수의 프로그래밍 펄스를 포함할 수 있음을 설명할 수 있다. 또한, 몇몇 예에서, 제1 펄스 전압은 제1 초기 펄스 전압과 하나 이상의 제1 증분 전압을 포함할 수 있고, 제2 펄스 전압은 제2 초기 펄스 전압 및 하나 이상의 제2 증분 전압을 포함할 수 있다. 제1 초기 펄스 전압과 하나 이상의 제1 증분 전압 각각은 제2 초기 펄스 전압과 하나 이상의 제2 증분 전압 중 대응하는 것과 실질적으로 동일할 수 있다.
몇몇 구현에서, 제1 메모리 셀에 대한 제2 프로그램 동작에 의해 달성되는 제2 타깃 프로그래밍 상태는 제1 메모리 셀에 대한 제1 프로그램 동작에 의해 달성되는 제1 타깃 프로그래밍 상태와 동일할 수 있다. 따라서, 제1 프로그램 동작을 기반으로, 동일한 단계가 제2 프로그램 동작에 대해 진행될 수 있으며, 이는 프로그래밍 펄스를 조정함으로써 발생하는 중복 단계를 피할 수 있다. 그 결과, 임계 전압을 좁히는 효과를 효율적으로 얻을 수 있으며, 따라서 메모리 디바이스의 신뢰성을 향상시킬 수 있다.
상기한 내용에도 불구하고, 다른 구현에서, 제2 프로그램 동작의 제2 프로그래밍 펄스는 제1 프로그램 동작의 제1 프로그래밍 펄스와 다를 수 있다는 것도 이해할 수 있다. 보다 구체적으로, 프로그래밍에 사용되는 펄스 수, 각각의 프로그래밍 펄스의 펄스 전압 또는 각각의 프로그래밍 펄스의 펄스 지속기간 중 적어도 하나는 다를 수 있다. 따라서, 임계 전압의 범위를 좁히면서 제2 프로그램 동작과 실질적으로 동일한 제1 프로그램 동작의 타깃 프로그래밍 상태를 얻는 것도 가능하다.
다시 도 2를 참조하면, 위에 설명한 바와 같이, 프로그래밍이 끝나면, 터널링 층(204)에 포획된 전하가 짧은 기간 동안 트랩에서 빠져나와 전도성 채널(202)로 돌아갈 수 있다. 그 결과, 임계 전압 분포가 더 넓어져 메모리 디바이스의 신뢰성에 더욱 영향을 미칠 수 있다. 일반적으로, 이 기간은 대략 수 마이크로초(μs) 내지 수 초이다. 따라서 몇몇 구현에서, 본 개시는 또 다른 프로그램 동작 방법을 제공하며, 여기서 제1 메모리 셀에 대한 제1 프로그램 동작이 끝나고 제2 메모리 셀에 대한 제1 프로그램 동작을 수행하기 전에, 제1 프로그램 동작이 제1 메모리 셀에 대해 순차적으로 수행될 수 있다.
도 10은 본 개시의 몇몇 구현에 따른 메모리 디바이스에 대한 제3 예시적인 프로그램 동작 방법(1000)을 보여주는 흐름도를 나타낸다. 도 10에 도시된 바와 같이, 방법(1000)은 먼저 S1002로 진행할 수 있다. S1002에서 제1 프로그램 동작이 제1 메모리 셀에 대해 수행될 수 있다. 이어서, S1004에서 제2 프로그램 동작이 동일한 제1 메모리 셀에 대해 수행될 수 있다. 제1 프로그램 동작은 제1 메모리 셀과 제2 메모리 셀 모두에서 수행되는 프로그램 동작을 포함할 수 있다. 제1 메모리 셀에 저장된 데이터의 저장 시간은 제2 메모리 셀에 저장된 데이터의 저장 시간보다 길 수 있다. 몇몇 예에서, 저장 시간은 미리 결정되거나 미리 검출될 수 있으므로, 메모리 시스템은 제2 프로그램 동작을 수행하기 전에 메모리 셀이 제1 메모리 셀인지 제2 메모리 셀인지 인식할 수 있다.
몇몇 구현에서, 제1 프로그램 동작은 하나 이상의 프로그래밍 및 검증 사이클을 포함할 수 있으며, 각 사이클은 프로그래밍 펄스와 적어도 하나의 검증 동작을 포함할 수 있다. 몇몇 예에서, 제1 프로그램 동작은 단일 제1 메모리 셀에 대해 수행될 수 있다. 예를 들어, MLC 메모리 셀의 경우, 제1 상태 "10"을 프로그래밍하기 위한 프로그래밍 펄스를 인가하는 것이 끝나면 제1 메모리 셀에 대응하는 워드 라인에 검증 전압을 인가할 수 있다. 검증을 통과하면, 제1 유형 데이터가 제1 메모리 셀에 프로그래밍되었다. 즉, 제1 메모리 셀에 대한 제1 프로그램 동작이 종료될 수 있다. 메모리 제어기가 제1 메모리 셀에 대한 제1 프로그램 동작이 종료되었음을 지시하는 명령을 수신한 것에 응답하여, 메모리 제어기는 제1 메모리 셀에 제2 프로그램 동작을 시작하도록 지시할 수 있다. 반면에 검증이 실패한 것에 응답하여, 현재 프로그래밍 펄스는 예컨대, 제1 메모리 셀이 제1 상태 "10"으로 프로그래밍될 때까지 다음 검증 주기에 대한 새로운 펄스 전압이 되도록 증분 스텝 펄스에 조정 값 ΔV를 추가해야 할 수 있다. 제2 프로그램 동작은 제1 메모리 셀에 대한 제1 프로그램 동작 후, 제2 메모리 셀에 대해 제1 프로그램이 수행되기 전에 수행될 수 있다.
도 11은 본 개시의 몇몇 구현에 따른 프로그램 동작 방법의 채용을 통한 집중된 임계 전압 분포를 보여주는 개략도를 나타낸다. 본 개시의 범위에 따라, 제1 메모리 셀에 대한 제1 프로그램 동작이 종료되고 다른 메모리 셀에 대한 제1 프로그램 동작을 수행하기 전에, 제2 프로그램 동작이 제1 메모리 셀에 대해 수행될 수 있다. 제1 프로그램 동작은 제1 유형 데이터(예컨대, 콜드 데이터)를 저장하도록 구성된 제1 메모리 셀에 대해 여러 번 수행될 수 있다. 도 11에 도시된 바와 같이, 실선 곡선에서 점선 곡선까지의 대응하는 임계 전압 범위는 제공된 프로그램 동작 방법을 채용함으로써 더 좁아질 수 있다. 제1 유형 데이터는 제1 메모리 셀에서 더 잘 유지될 수 있으며, 비트 오류율을 더욱 줄이고 메모리 디바이스의 신뢰성을 향상시킬 수 있다.
도 10에 계속하여, 방법(1000)은 S1006으로 진행될 수 있으며, 여기서 제1 프로그램 동작이 제2 메모리 셀에 대해 수행될 수 있다. 제1 메모리 셀은 제1 유형 데이터(예컨대, 콜드 데이터)를 저장하도록 구성될 수 있고, 제2 메모리 셀은 제2 유형 데이터(예컨대, 핫 데이터)를 저장하도록 구성될 수 있다. 제1 유형 데이터의 제1 저장 시간은 제2 유형 데이터의 제2 저장 시간보다 길 수 있다. 몇몇 예에서, 저장 시간은 미리 결정되거나 미리 검출될 수 있으므로, 메모리 시스템은 메모리 셀이 제1 메모리 셀인지 제2 메모리 셀인지 인식할 수 있다.
또한, S1008에서, 제2 메모리 셀에 대한 제1 프로그램 동작이 완료된 후(또는 보다 구체적으로 성공한 후), 제1 프로그램 동작은 다음 메모리 셀에 대해 수행될 수 있다. 다음 메모리 셀은 제1 유형 데이터 또는 제2 유형 데이터를 저장하도록 구성될 수 있다. 제1 프로그램 동작은 제1 메모리 셀과 제2 메모리 셀에 대해 수행되는 프로그램 동작을 포함할 수 있다. 제1 메모리 셀에 대해 제1 프로그램 동작이 완료된 후(또는 더 구체적으로 성공한 후), 제2 프로그램 동작이 제1 메모리 셀에 대해 순차적으로 수행될 수 있다. 이어서, 제1 프로그램 동작이 제2 메모리 셀에 대해 수행될 수 있다. 제2 메모리 셀에 대해 제1 프로그램 동작이 완료된 후(또는 더 구체적으로 성공한 후), 제1 프로그램 동작이 다음 메모리 셀에 대해 수행될 수 있다.
몇몇 구현에서, 프로그래밍 펄스가 제2 메모리 셀에 대응하는 워드 라인에 인가되면, 메모리 셀이 올바른 프로그래밍 상태에 있는지 여부를 판정하기 위해 제2 메모리 셀에 대해 검증 동작이 수행될 수 있다. 제2 메모리 셀이 올바른 프로그래밍 상태로 프로그래밍된 것에 응답하여, 제1 프로그램 동작이 프로그래밍될 다음 메모리 셀에 대해 수행될 수 있다. 다음 메모리 셀에 대한 제1 프로그램 동작은 제2 메모리 셀에 대해 수행된 동작과 실질적으로 동일할 수 있다. 제2 메모리 셀이 올바른 프로그래밍 상태로 프로그래밍되지 않은 것에 응답하여, 증분 스텝 펄스에 기초한 조정 값 ΔV가 초기 펄스 전압에 추가되어 새로운 펄스 전압이 될 수 있다. 새로운 펄스 전압 및 펄스 지속기간에 기초하여, 제2 메모리 셀이 올바른 프로그래밍 상태로 프로그래밍될 때까지 제2 메모리 셀에 대해 새로운 프로그래밍 및 검증의 사이클이 수행될 수 있으며, 제2 메모리 셀에 대한 제1 프로그램 동작이 종료될 수 있다.
본 개시의 범위에 따라, 단일 메모리 셀이 개별적으로 프로그래밍될 수 있다. 프로그래밍될 메모리 셀이 제1 메모리 셀인 경우, 제1 메모리 셀의 유지 특성을 개선하기 위해 제2 프로그램 동작이 필요할 수 있다. 반면에, 프로그래밍될 메모리 셀이 제2 메모리 셀인 경우, 제2 프로그램 동작이 필요하지 않을 수 있으며, 상기한 방법은 제1 프로그램 동작으로 다음 메모리 셀로 진행할 수 있다. 프로그램 동작은 메모리 셀 어레이 내의 메모리 셀 각각이 대응하는 올바른 프로그래밍 상태로 프로그래밍될 때까지 반복될 수 있다.
도 12a는 본 개시의 몇몇 구현에 따른 제1 예시적인 프로그램 동작 방식을 보여주는 개략도를 나타낸다. 메모리 셀 어레이는 복수의 메인 메모리 셀을 포함할 수 있다. 각 메인 메모리 셀은 비트 라인 BL과 워드 라인 WL의 교차점에 형성될 수 있다. 몇몇 구현에서, 복수의 메인 메모리 셀은 적어도 하나의 제1 메모리 셀과 적어도 하나의 제2 메모리 셀을 포함할 수 있다. 도 12a에 도시된 바와 같이, 제1 프로그램 동작은 단일 또는 개별 메모리 셀을 기반으로 수행될 수 있다. 제1 메모리 셀에 대한 제1 프로그램 동작이 완료된 후(또는 보다 구체적으로, 성공한 후), 이어서 동일한 제1 메모리 셀에 대해 제2 프로그램 동작이 수행될 수 있다.
제1 프로그램 동작은 하나 이상의 프로그래밍 및 검증 사이클을 포함할 수 있다. 몇몇 구현에서, 제1 프로그램 동작은 제2 프로그램 동작과 동일할 수 있다. 즉, 제1 펄스 전압이 제2 펄스 전압과 실질적으로 동일한 것 또는 제1 펄스 지속기간이 제2 펄스 지속기간과 실질적으로 동일한 것 중 적어도 하나가 충족된다. 제1 메모리 셀에 대응하는 제1 워드 라인에 제2 프로그래밍 펄스를 제2 펄스 지속기간 동안 인가함으로써, 제2 프로그램 동작이 제1 메모리 셀에 대해 수행될 수 있다. 한편, 패스 전압이 제2 메모리 셀에 대응하는 제2 워드 라인에 인가되어 제1 메모리 셀을 프로그래밍하는 동안 제2 메모리 셀의 프로그래밍 기능을 디스에이블할 수 있다.
도 12a는 단지 제1 프로그램 동작과 제2 프로그램 동작이 동일한 제1 메모리 셀에 대해 순차적으로 수행될 수 있음을 보여주기 위한 예시를 제공한다는 것을 알 수 있다. 도 12a에 도시된 바와 같이, 제1 메모리 셀에 대한 제1 프로그램 동작이 완료된 후, 제2 프로그램 동작이 동일한 제1 메모리 셀에 대해 수행될 수 있다. 제1 프로그램 동작은 예컨대, 동일한 워드 라인의 다른 제1 메모리 셀로 진행될 수 있고, 제2 프로그램 동작이 다른 제1 메모리 셀에 대해 수행될 수 있으며, 이런 식으로 계속될 수 있다. 한 워드 라인의 제1 메모리 셀 각각이 제1 프로그램 동작 및 제2 프로그램 동작으로 프로그래밍된 후, 프로세스는 도 12a에 도시된 바와 같이 다른 워드 라인의 제1 메모리 셀로 진행될 수 있지만, 본 개시는 이에 한정되지 않는다. 다른 구현에서, 제1 메모리 셀에 대한 제1 프로그램 동작이 완료된 후, 제2 프로그램 동작이 동일한 제1 메모리 셀에 대해 수행될 수 있다. 제1 프로그램 동작은 예컨대, 동일한 비트 라인의 다른 제1 메모리 셀로 진행될 수 있으며, 그런 다음 제2 프로그램 동작이 다른 제1 메모리 셀에 대해 수행될 수 있으며, 이런 식으로 계속될 수 있다.
도 12a는 도 8a 또는 도 10에서 채용될 수 있음을 이해할 수 있다. 도 8a를 적용한 경우, 동일한 제1 메모리 셀에 대해 제2 프로그램 동작을 수행하기 전에, 예컨대, 동일한 비트 라인에서, 제2 메모리 셀에 대해 제1 프로그램 동작을 먼저 수행할 수 있다. 반면, 도 10을 적용한 경우, 제1 메모리 셀에 대해 제2 프로그램 동작을, 제2 메모리 셀에 대한 제1 프로그램 동작 전에 수행할 수 있다. 다시 말해, 도 12a에서 연속된 번호로 표시되어 있지만, 제1 메모리 셀에 대해 제1 프로그램 동작과 제2 프로그램 동작을 수행하는 순서는 시간 영역에서 직접 인접하지 않을 수 있다. 예를 들어, 몇몇 구현에서, 하나 이상의 동작(예컨대, 제2 메모리 셀에 대한 제1 프로그램 동작)은 두 개의 연속된 번호의 프로그램 동작 사이에 배열될 수 있다.
도 12a는 소스 라인 SL(예컨대, 공통 소스 라인)에 대해 상향식(upwards manner)으로("순방향 프로그래밍"이라고도 함) 단일 메모리 셀을 기반으로, 하위 선택된(lower selected) 워드 라인에서 상위 선택된(upper selected) 워드 라인으로, 순차적으로 수행될 수 있는 몇몇 구현을 보여준다. 그러나 본 개시는 이에 한정되지 않는다. 다른 구현에서, 제1 프로그램 동작과 제2 프로그램 동작은 하향식(downwards manner)으로("역방향 프로그래밍"이라고도 함) 단일 메모리 셀을 기반으로, 상위 선택된 워드 라인에서 아래쪽 선택된 워드 라인으로, 순차적으로 수행될 수 있다.
몇몇 예에서, 메모리 디바이스는 3D NAND 메모리 디바이스를 포함할 수 있다. 3D NAND 메모리 디바이스의 메모리 셀은 복수의 인터리빙된 게이트 층과 유전체 층을 적층하여 형성될 수 있다. 순방향 프로그래밍에서, 프로그래밍 전압은 메모리 디바이스 하단의 선택된 워드 라인에서 메모리 디바이스 상단의 선택된 워드 라인까지 순차적으로 인가될 수 있다. 예를 들어, 기판에 가장 가까운 선택된 워드 라인에 프로그래밍 펄스가 인가되고, 패스 전압은 다른 선택되지 않은 워드 라인에 인가될 수 있다. 이어서, 다른 프로그래밍 펄스가 다음 선택된 워드 라인에 순차적으로 인가되고, 다른 패스 전압이 다른 선택되지 않은 워드 라인에 인가될 수 있으며, 모든 프로그래밍이 완료될 때까지 이를 반복한다. 마찬가지로, 역방향 프로그래밍을 수행하기 위해, 다른 프로그래밍 전압이 메모리 디바이스 상단의 선택된 워드 라인에서 메모리 디바이스 하단의 선택된 워드 라인까지 순차적으로 인가될 수 있다.
도 12b는 본 개시의 몇몇 구현에 따른 제2 예시적인 프로그램 동작 방식을 보여주는 개략도를 나타낸다. 메모리 셀 어레이는 도 12b의 점선 박스로 표시된 바와 같이 복수의 메모리 스트링으로 분할될 수 있다. 각 메모리 스트링은 상단 선택 게이트 TSG, 하단 선택 게이트 BSG, 적어도 하나의 더미 메모리 셀, 복수의 메인 메모리 셀을 포함할 수 있다. 상단 선택 게이트 TSG, 하단 선택 게이트 BSG 및 적어도 하나의 더미 메모리 셀은 데이터를 저장하도록 구성되지 않을 수 있지만, 이러한 셀을 사용하면 메인 메모리 셀을 프로그래밍하는 과정에서 더 나은 제어가 달성될 수 있다. 따라서 데이터는 대응하는 메인 메모리 셀에서 더 잘 유지될 수 있다.
각각의 메모리 셀, 적어도 하나의 더미 메모리 셀 중 하나와 메인 메모리 셀은 전도성 채널과 대응 워드 라인 사이의 교차점에 형성될 수 있다. 하나의 메모리 스트링에 있는 복수의 메인 메모리 셀은 추가로 적어도 하나의 제1 메모리 셀 또는 제2 메모리 셀을 포함할 수 있다. 여기에서 "하나의 메모리 스트링"이라는 용어는 비트 라인 평면 또는 전도성 채널을 설명하는 데 사용될 수 있다.
몇몇 구현에서, 제1 프로그램 동작과 제2 프로그램 동작은 하나의 메모리 스트링을 기반으로 수행될 수 있다. 도 12b에 도시된 바와 같이, 하나의 메모리 스트링의 제1 메모리 셀에 대한 제1 프로그램 동작이 완료되면, 동일한 메모리 스트링의 제1 메모리 셀에 대한 제2 프로그램이 시작될 수 있다. 제1 메모리 셀에 대한 제1 프로그램 동작은 현재 메모리 스트링에 대해 제1 프로그램 동작과 제2 프로그램 동작이 완료된 후에 다음 메모리 스트링으로 진행될 수 있다. 몇몇 예에서, 하나의 메모리 스트링에서 제1 프로그램 동작을 수행하는 시퀀스는 동일한 메모리 스트링에서 제2 프로그램 동작을 수행하는 시퀀스와 동일할 수 있다.
또한, 도 12b는 단지 소스 라인 SL(예컨대, 공통 소스 라인) 또는 기판에 대해 상향식("순방향 프로그래밍"이라고도 함)으로, 하위 선택된 워드 라인에서 상위 선택된 워드 라인까지 하나의 단일 메모리 스트링을 기반으로 제1 프로그램 동작과 제2 프로그램 동작이 순차적으로 수행될 수 있는 예시적인 예를 제공한다는 것을 알 수 있다. 그러나 본 개시는 이에 한정되지 않는다. 다른 구현에서, 제1 프로그램 동작과 제2 프로그램 동작은 단일 메모리 스트링을 기반으로, 상위 선택된 워드 라인에서 하위 선택된 워드 라인까지, 하향식("역방향 프로그래밍"이라고도 함)으로 순차적으로 수행될 수 있다.
도 12b에 따른 몇몇 구현에서, 제1 프로그램 동작과 제2 프로그램 동작은 하나의 단일 메모리 스트링을 기반으로 수행될 수 있는 반면, 다른 구현에서, 제1 프로그램 동작과 제2 프로그램 동작은 복수의 메모리 스트링을 기반으로 수행될 수 있다. 예를 들어, 두 메모리 스트링 내의 제1 메모리 셀에 대한 제1 프로그램 동작이 완료된 후, 제1 메모리 셀에 대한 제2 프로그램 동작이 동일한 두 메모리 스트링으로 진행될 수 있다.
또한 도 12b는 도 8a 또는 도 10에서 채용될 수 있음을 이해할 수 있다. 도 8a를 적용한 경우, 동일한 메모리 스트링의 제1 메모리 셀에 대해 제2 프로그램 동작을 수행하기 전에, 동일한 메모리 스트링의 제2 메모리 셀에 대해 제1 프로그램 동작이 먼저 수행될 수 있다. 한편, 도 10을 적용한 경우, 제1 메모리 셀에 대한 제2 프로그램 동작은 동일한 메모리 스트링의 제2 메모리 셀에 대한 제1 프로그램 동작보다 먼저 수행될 수 있다. 다시 말해, 도 12b에서 하나의 메모리 스트링에 대해 연속적인 번호로 표시되어 있지만, 제1 메모리 셀에 대한 제1 프로그램 동작과 제2 프로그램 동작을 수행하는 순서는 시간 영역에서 직접적으로 인접하지 않을 수 있다.
도 12c는 본 개시의 몇몇 구현에 따른 제3 예시적인 프로그램 동작 방식을 보여주는 개략도를 나타낸다. 몇몇 구현에서, 메모리 셀 어레이는 도 12c에서 점선 박스로 표시된 바와 같이, 복수의 메모리 페이지로 분할될 수 있다. 각각의 메모리 페이지는 복수의 메인 메모리 셀을 포함할 수 있다. 한 페이지에 있는 복수의 메인 메모리 셀은 또한 제1 메모리 셀 또는 제2 메모리 셀 중 적어도 하나를 포함할 수 있다. 여기에서 "한 페이지"라는 용어는 워드 라인 평면을 지칭하는 데 사용될 수 있으며, 각각의 메인 메모리 셀은 워드 라인 평면과 전도성 채널 사이에 형성될 수 있다.
몇몇 구현에서, 제1 프로그램 동작과 제2 프로그램 동작은 하나의 메모리 페이지를 기반으로 수행될 수 있다. 도 12c에 도시된 바와 같이, 한 페이지의 제1 메모리 셀에 대한 제1 프로그램 동작이 완료된 후, 동일한 제1 메모리 셀에 대한 제2 프로그램이 동일한 페이지에서 시작될 수 있다. 다른 제1 메모리 셀에 대한 제1 프로그램 동작은 현재 메모리 페이지에 대한 제1 프로그램 동작과 제2 프로그램 동작이 완료된 후 다음 페이지로 진행될 수 있다. 몇몇 예에서, 한 페이지에 대해 제1 프로그램 동작을 수행하는 시퀀스는 동일한 페이지에 대해 제2 프로그램 동작을 수행하는 시퀀스와 동일할 수 있다. 도 12c는 순방향 프로그래밍을 도시하지만, 몇몇 구현에서 역방향 프로그래밍이 채용될 있으며, 본 개시는 이에 한정되지 않는다. 또한, 도 12c가 제1 프로그램 동작과 제2 프로그램 동작이 단일 페이지를 기반으로 수행되는 몇몇 구현을 보여주지만, 다른 구현에서 제1 프로그램 동작과 제2 프로그램 동작은 복수의 페이지를 기반으로 수행될 수 있다. 예를 들어, 두 페이지의 제1 메모리 셀에 대한 제1 프로그램 동작이 완료될 때까지 제2 프로그램 동작은 동일한 두 페이지로 진행되지 않을 수 있다.
또한 도 12c는 도 8a 또는 도 10에서 채용될 수 있음을 이해할 수 있다. 도 8a를 적용한 경우, 동일한 메모리 페이지의 제1 메모리 셀에 대해 제2 프로그램 동작을 수행하기 전에 동일한 메모리 페이지의 제2 메모리 셀에 대해 제1 프로그램 동작이 먼저 수행될 수 있다. 반면, 도 10을 적용한 경우, 제1 메모리 셀에 대한 제2 프로그램 동작이 동일한 메모리 페이지의 제2 메모리 셀에 대한 제1 프로그램 동작 전에 수행될 수 있다. 다시 말해, 도 12c에서 하나의 메모리 스트링에 대해 연속된 번호로 표시되어 있지만 제1 메모리 셀에 대해 제1 프로그램 동작과 제2 프로그램 동작을 수행하는 순서는 시간 영역에서 직접 인접하지 않을 수 있다.
도 12d는 본 개시의 몇몇 구현에 따른 제4 예시적인 프로그램 동작 방식을 보여주는 개략도를 나타낸다. 메모리 셀 어레이는 도 12d의 점선 박스로 표시된 바와 같이 복수의 블록으로 분할될 수 있다. 각각의 블록은 복수의 메인 메모리 셀을 포함할 수 있다. 한 블록 내의 복수의 메인 메모리 셀은 또한 제1 메모리 셀 또는 제2 메모리 셀 중 적어도 하나를 포함할 수 있다. 여기에서 "한 블록"이라는 용어는 도 6에서 정의된 메모리 블록(603)과 동일하거나 유사할 수 있다.
몇몇 구현에서, 제1 프로그램 동작과 제2 프로그램 동작은 하나의 블록을 기반으로 수행될 수 있다. 도 12d에 도시된 바와 같이, 블록의 제1 메모리 셀에 대한 제1 프로그램 동작이 완료된 후, 동일한 제1 메모리 셀에 대한 제2 프로그램이 동일한 블록에 대해 시작될 수 있다. 다른 제1 메모리 셀에 대한 제1 프로그램 동작은 현재 블록에 대한 제1 프로그램 동작과 제2 프로그램 동작이 완료된 후 다음 블록으로 진행될 수 있다. 몇몇 예에서, 한 블록에 대해 제1 프로그램 동작을 수행하는 시퀀스는 동일한 블록에 대해 제2 프로그램 동작을 수행하는 시퀀스와 동일할 수 있다. 다시 말해, 도 12d는 순방향 프로그래밍을 보여주지만, 몇몇 구현에서 역방향 프로그래밍이 적용될 수 있으며, 본 개시는 이에 한정되지 않는다.
또한 도 12d는 도 8a 또는 도 10에서 채용될 수 있음을 이해할 수 있다. 도 8a를 적용한 경우, 동일한 블록의 제1 메모리 셀에 대해 제2 프로그램 동작을 수행하기 전에, 동일한 블록의 제2 메모리 셀에 대해 제1 프로그램 동작을 먼저 수행할 수 있다. 반면에, 도 10을 적용한 경우, 동일한 블록의 제2 메모리 셀에 대한 제1 프로그램 동작 전에 제1 메모리 셀에 대해 제2 프로그램 동작을 수행할 수 있다. 다시 말해, 도 12d에서 하나의 메모리 스트링에 대해 연속적인 번호로 표시되어 있지만, 제1 메모리 셀에 대해 제1 프로그램 동작과 제2 프로그램 동작을 수행하는 시퀀스는 시간 영역에서 직접 인접하지 않을 수 있다.
도 12b∼도 12d에 도시된 바와 같이, 몇몇 구현에서, 하나의 메모리 스트링, 하나의 메모리 페이지 또는 하나의 블록을 기반으로 다수의 제1 메모리 셀에 대한 제1 프로그램 동작이 완료되면, 이러한 제1 메모리 셀에 대해 제2 프로그램 동작이 수행될 수 있다. 이와 같이, 프로그래밍 및 검증은 다수의 제1 메모리 셀에 대해 동시에 수행될 수 있다. 결과적으로, 프로그래밍 시간은 만족스러운 메모리 저장을 제공하는 동시에 프로그래밍 효율을 보장하기 위해 효과적으로 감소될 수 있다.
제1 프로그램 동작은 하나 이상의 프로그래밍 및 검증 사이클을 포함할 수 있다. 몇몇 구현에서, 제1 프로그램 동작은 제2 프로그램 동작과 동일할 수 있다. 즉, 제1 펄스 전압이 제2 펄스 전압과 실질적으로 동일하 것 또는 제1 펄스 지속기간이 제2 펄스 지속기간과 실질적으로 동일한 것 중 적어도 하나가 충족된다. 제1 메모리 셀에 대응하는 제1 워드 라인에 제2 펄스 지속기간 동안 제2 프로그래밍 펄스를 인가함으로써, 제2 프로그램 동작이 제1 메모리 셀에 대해 수행될 수 있다. 한편, 패스 전압이 제2 메모리 셀에 대응하는 제2 워드 라인에 인가되어 제2 메모리 셀의 프로그래밍 기능을 디스에이블할 수 있다.
몇몇 구현에서, 프로그래밍 펄스가 제1 메모리 셀에 대응하는 제1 워드 라인에 인가되어 제1 메모리 셀에 대한 제2 프로그램 동작을 획득할 수 있다. 제1 메모리 셀에 프로그래밍 펄스를 인가하는 것이 끝나면, 검증 전압이 검증 동작을 위해 동일한 워드 라인에 대해 수행될 수 있다. 검증 동작은 제1 메모리 셀이 올바른 프로그래밍 상태에 들어갔는지 여부를 판정하도록 구성될 수 있다. 마찬가지로, 다른 프로그래밍 펄스가 제2 메모리 셀에 대응하는 제2 워드 라인에 인가되어 제2 메모리 셀에 대해 제1 프로그램 동작을 수행할 수 있다. 프로그래밍 펄스를 제2 메모리 셀에 인가하는 것이 끝나면, 다른 검증 전압이 제2 메모리 셀에 대한 검증 동작을 위해 제2 워드 라인에서 수행될 수 있다. 검증 동작은 제2 메모리 셀이 올바른 프로그래밍 상태에 들어갔는지 여부를 판정하도록 구성될 수 있다.
검증 동작으로는 사전 충전(precharging) 단계, 현상(development) 단계 및 판독(readout_)단계를 포함될 수 있다. 사전 충전 단계는 예컨대 전압 생성기(710) 또는 감지 증폭기를 통해 비트 라인에 전압을 인가하여 비트 라인과 기판 사이의 전압 차이를 생성함으로써 획득될 수 있다. 메모리 셀의 임계 전압은 전압 변화에 따라 검출되므로 올바른 프로그래밍 상태에 도달했는지 여부를 판정할 수 있다. 현상 단계는 전압을 방전하거나 유지하는 프로세스에 대응할 수 있으며, 검증이 통과했는지 여부를 판정하는 데 사용되는 단계이다. 판독 단계는 검증 상태를 판독하고, 예컨대 비트 라인에 연결된 센서를 통해 레지스터에 검증 상태를 저장하여, 메모리 제어기와 후속 데이터 교환을 수행하는 데 사용된다.
몇몇 구현에서, 메모리 셀에 대응하는 임계 전압이 검증 전압보다 큰 경우, 메모리 셀이 올바른 프로그래밍 상태에 도달했다고 결정할 수 있다. 한편, 임계 전압이 검증 전압보다 낮은 경우, 메모리 셀이 올바른 프로그래밍 상태에 도달하지 못한 것으로 결정될 수 있으며, 다음 프로그래밍의 사이클과 검증 사이클이 필요할 수 있다.
본 개시의 범위에 따라, 제1 메모리 셀은 제1 프로그램 동작과 제2 프로그램 동작을 경험할 것이다. 검증 동작은 실제 애플리케이션 및 요구사항에 따라 수행될 수 있다. 몇몇 구현에서, 제1 프로그램 동작이 끝나면, 사전 충전 단계, 현상 단계 및 판독 단계를 거치는 제1 메모리 셀의 대응하는 워드 라인에 검증 전압이 인가되어. 프로그래밍 상태를 검증할 수 있다. 몇몇 구현에서, 제1 프로그램 동작과 제2 프로그램 동작이 제1 메모리 셀에서 완료되면, 프로그래밍 상태를 검증하기 위해 제1 메모리 셀의 대응하는 워드 라인에 검증 전압이 인가될 수 있다. 몇몇 구현에서, 제1 프로그램 동작의 끝과 제2 프로그램 동작의 끝에서, 각각 검증 동작을 수행할 수 있다. 제1 검증 전압은 제1 검증 동작에서 인가될 수 있고, 제2 검증 전압은 제2 검증 동작에서 인가될 수 있다. 몇몇 예에서, 제1 검증 전압은 제2 검증과 동일할 수 있다.
이상에 비추어, 메모리 셀에 대한 순차적 프로그램 동작을 기반으로, 프로그래밍 정확도가 향상될 수 있다. 즉, 단일 메모리 셀의 임계 전압 분포가 효과적으로 향상될 수 있고, 따라서 메모리 디바이스의 신뢰성이 향상된다.
특정 구현에 대한 이상의 설명은 다양한 애플리케이션에 대해 쉽게 수정 및/또는 적응될 수 있다. 따라서, 이러한 적응 및 수정은 여기에 제시된 교시 및 지침에 기초하여, 개시된 구현의 등가물의 의미 및 범위 내에 있도록 의도된다.
본 개시의 폭과 범위는 위에 설명된 어떠한 예시적 구현에 의해서도 제한되어서는 안 되며, 다음의 청구항 및 그 등가물에 따라서만 정의되어야 한다.

Claims (38)

  1. 메모리 디바이스로서,
    제1 유형 데이터를 저장하도록 구성된 하나 이상의 제1 메모리 셀과, 제2 유형 데이터를 저장하도록 구성된 하나 이상의 제2 메모리 셀을 포함하는 메모리 셀 어레이; 및
    상기 메모리 셀 어레이에 결합되고, 상기 하나 이상의 제1 메모리 셀에 대해 제1 프로그램 동작을 수행하고, 상기 하나 이상의 제2 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하며, 상기 하나 이상의 제1 메모리 셀에 대해 제2 프로그램 동작을 수행하도록 구성된 주변 회로
    를 포함하고,
    상기 제1 유형 데이터에 대응하는 제1 저장 시간은 상기 제2 유형 데이터에 대응하는 제2 저장 시간보다 긴,
    메모리 디바이스.
  2. 제1항에 있어서,
    상기 제2 프로그램 동작은 상기 하나 이상의 제1 메모리 셀에 대응하는 임계 전압 범위를 상기 제1 프로그램 동작에서 보다 좁게 조정하도록 구성되는, 메모리 디바이스.
  3. 제1항에 있어서,
    상기 하나 이상의 제1 메모리 셀에 대해 상기 제1 프로그램 동작에 의해 달성되는 제1 타깃 프로그래밍 상태는 상기 하나 이상의 제1 메모리 셀에 대해 상기 제2 프로그램 동작에 의해 달성되는 제2 타깃 프로그래밍 상태와 실질적으로 동일한, 메모리 디바이스.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 제1 프로그램 동작은 제1 펄스 전압과 제1 펄스 지속기간을 포함하는 제1 프로그래밍 펄스를 포함하고, 상기 제2 프로그램 동작은 제2 펄스 전압과 제2 펄스 지속기간을 포함하는 제2 프로그래밍 펄스를 포함하며;
    상기 제1 펄스 전압이 상기 제2 펄스 전압과 실질적으로 동일한 것 또는 상기 제1 펄스 지속기간이 상기 제2 펄스 지속기간과 실질적으로 동일한 것 중 적어도 하나가 충족되는, 메모리 디바이스.
  5. 제4항에 있어서,
    상기 제1 펄스 전압은 제1 초기 펄스 전압과 하나 이상의 제1 증분 전압을 포함하고, 상기 제2 펄스 전압은 제2 초기 펄스 전압과 하나 이상의 제2 증분 전압을 포함하며;
    상기 제1 초기 펄스 전압과 상기 하나 이상의 제1 증분 전압은 각각 상기 제2 초기 펄스 전압과 상기 하나 이상의 제2 증분 전압의 대응하는 것과 실질적으로 동일한, 메모리 디바이스.
  6. 제5항에 있어서,
    상기 주변 회로는,
    상기 하나 이상의 제1 메모리 셀에 상기 제1 초기 펄스 전압과 상기 하나 이상의 제1 증분 전압을 각각 인가한 후, 상기 하나 이상의 제1 메모리 셀에 대응하는 워드 라인에 검증 전압을 인가하여 상기 하나 이상의 제1 메모리 셀에 대해 상기 제1 프로그램 동작이 성공하여 상기 하나 이상의 제1 메모리 셀이 상기 제1 타깃 프로그래밍 상태에 도달할 수 있는지 여부를 검증하도록 구성되는, 메모리 디바이스.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 주변 회로는,
    프로그래밍될 데이터의 저장 시간이 미리 설정된 지속기간보다 긴 것에 응답하여, 상기 데이터를 상기 제1 유형 데이터로 결정하고;
    상기 데이터의 저장 시간이 미리 설정된 지속기간보다 짧거나 같은 것에 응답하여, 상기 데이터를 상기 제2 유형 데이터로 결정하도록 구성되는, 메모리 디바이스.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 주변 회로는,
    상기 하나 이상의 제1 메모리 셀에 대응하는 워드 라인에 프로그래밍 전압을 인가하고, 상기 하나 이상의 제2 메모리 셀에 대응하는 다른 워드 라인에 패스 전압을 인가하여 상기 하나 이상의 제1 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하도록 구성되는, 메모리 디바이스.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 주변 회로는,
    상기 하나 이상의 제1 메모리 셀에 대한 상기 제1 프로그램 동작과 상기 하나 이상의 제2 메모리 셀에 대한 상기 제1 프로그램 동작을 순차적으로 수행하도록 구성되는, 메모리 디바이스.
  10. 제9항에 있어서,
    상기 주변 회로는,
    상기 하나 이상의 제2 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하기 전에 상기 하나 이상의 제1 메모리 셀에 대해 상기 제2 프로그램 동작을 수행하도록 구성되는, 메모리 디바이스.
  11. 제9항에 있어서,
    상기 주변 회로는,
    상기 하나 이상의 제2 메모리 셀에 대해 상기 제1 프로그램 동작을 수행한 후에 상기 하나 이상의 제1 메모리 셀에 대해 상기 제2 프로그램 동작을 수행하도록 구성되는, 메모리 디바이스.
  12. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 주변 회로는,
    상기 하나 이상의 제1 메모리 셀에 대한 상기 제1 프로그램 동작과 상기 하나 이상의 제2 메모리 셀에 대한 상기 제1 프로그램 동작을 병렬로 수행하도록 구성되는, 메모리 디바이스.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서,
    상기 하나 이상의 제1 메모리 셀은 복수의 제1 메모리 셀을 포함하고;
    상기 주변 회로는,
    상기 복수의 제1 메모리 셀 중 적어도 하나의 제1 메모리 셀에 대한 상기 제1 프로그램 동작의 성공 여부를 상기 적어도 하나의 제1 메모리 셀에 대응하는 워드 라인에 검증 전압을 인가하는 것에 기초하여 검증하고;
    상기 적어도 하나의 제1 메모리 셀에 대한 제1 프로그램 동작이 성공한 것으로 결정한 후, 상기 적어도 하나의 제1 메모리 셀에 대해 상기 제2 프로그램 동작을 수행하도록 구성되는, 메모리 디바이스.
  14. 제1항 내지 제13항 중 어느 한 항에 있어서,
    상기 하나 이상의 제1 메모리 셀은 하나의 메모리 스트링 내의 복수의 제1 메모리 셀을 포함하고;
    상기 주변 회로는,
    상기 메모리 스트링 내의 상기 복수의 제1 메모리 셀에 대한 상기 제1 프로그램 동작이 성공한 후, 상기 메모리 스트링 내의 상기 복수의 제1 메모리 셀에 대해 상기 제2 프로그램 동작을 수행하도록 구성되는, 메모리 디바이스.
  15. 제14항에 있어서,
    상기 주변 회로는,
    상기 메모리 스트링 내의, 기판에 더 가까운 하나의 제1 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하고 나서, 동일한 메모리 스트링 내의, 상기 기판에서 더 먼 다른 제1 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하도록 구성되는, 메모리 디바이스.
  16. 제1항 내지 제13항 중 어느 한 항에 있어서,
    상기 하나 이상의 제1 메모리 셀은 하나의 메모리 페이지 내의 복수의 제1 메모리 셀을 포함하고;
    상기 주변 회로는,
    상기 메모리 페이지 내의 복수의 제1 메모리 셀에 대한 상기 제1 프로그램 동작이 성공한 후, 상기 메모리 페이지 내의 복수의 제1 메모리 셀에 대해 상기 제2 프로그램 동작을 수행하도록 구성되는, 메모리 디바이스.
  17. 제16항에 있어서,
    상기 주변 회로는,
    상기 메모리 페이지 내의 복수의 제1 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하고나서, 기판에서 더 먼 다른 메모리 페이지 내의 다른 제1 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하도록 구성되는, 메모리 디바이스.
  18. 제1항 내지 제13항 중 어느 한 항에 있어서,
    상기 하나 이상의 제1 메모리 셀은 하나의 블록 내에 복수의 제1 메모리 셀을 포함하고;
    상기 주변 회로는,
    상기 블록 내의 복수의 제1 메모리 셀에 대한 상기 제1 프로그램 동작이 성공한 후, 상기 블록 내의 복수의 제1 메모리 셀에 대해 상기 제2 프로그램 동작을 수행하도록 구성되는, 메모리 디바이스.
  19. 제18항에 있어서,
    상기 주변 회로는,
    기판에 더 가까운 상기 블록 내의 상기 제1 메모리 셀의 제1 부분에 대해 상기 제1 프로그램 동작을 수행하고나서, 상기 기판에서 더 먼 상기 블록 내의 상기 제1 메모리 셀의 제2 부분에 대해 상기 제1 프로그램 동작을 수행하도록 구성되는, 메모리 디바이스.
  20. 메모리 시스템으로서,
    하나 이상의 메모리 디바이스; 및
    상기 하나 이상의 메모리 디바이스에 결합되고 상기 하나 이상의 메모리 디바이스 중 하나에 프로그래밍 명령 신호를 전송하도록 구성된 메모리 제어기
    를 포함하고,
    각각의 메모리 디바이스는,
    제1 유형 데이터를 저장하도록 구성된 하나 이상의 제1 메모리 셀과 제2 유형 데이터를 저장하도록 구성된 하나 이상의 제2 메모리 셀을 포함하는 메모리 셀 어레이; 및
    상기 메모리 셀 어레이에 결합된 주변 회로
    를 포함하며,
    상기 프로그래밍 명령 신호에 응답하여, 대응하는 메모리 디바이스의 상기 주변 회로는,
    상기 하나 이상의 제1 메모리 셀에 대해 제1 프로그램 동작을 수행하고;
    상기 하나 이상의 제2 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하고;
    상기 하나 이상의 제1 메모리 셀에 대해 제2 프로그램 동작을 수행하도록 구성되며,
    상기 제1 유형 데이터에 대응하는 제1 저장 시간은 상기 제2 유형 데이터에 대응하는 제2 저장 시간보다 긴,
    메모리 시스템.
  21. 데이터를 프로그래밍하는 방법으로서,
    하나 이상의 제1 메모리 셀에 대해 제1 프로그램 동작을 수행하고, 하나 이상의 제2 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하는 단계 - 상기 하나 이상의 제1 메모리 셀은 제1 유형 데이터를 저장하도록 구성되고, 상기 하나 이상의 제2 메모리 셀은 제2 유형 데이터를 저장하도록 구성됨 -; 및
    상기 하나 이상의 제1 메모리 셀에 대해 제2 프로그램 동작을 수행하는 단계
    를 포함하고,
    상기 제1 유형 데이터에 대응하는 제1 저장 시간은 상기 제2 유형 데이터에 대응하는 제2 저장 시간보다 긴,
    방법.
  22. 제21항에 있어서,
    상기 제2 프로그램 동작은 상기 하나 이상의 제1 메모리 셀에 대응하는 임계 전압 범위를 상기 제1 프로그램 동작에서 보다 좁게 조정하도록 구성되는, 방법.
  23. 제21항에 있어서,
    상기 하나 이상의 제1 메모리 셀에 대한 상기 제1 프로그램 동작에 의해 달성되는 제1 타깃 프로그래밍 상태는 상기 하나 이상의 제1 메모리 셀에 대한 상기 제2 프로그램 동작에 의해 달성되는 제2 타깃 프로그래밍 상태와 실질적으로 동일한, 방법.
  24. 제21항 내지 제23항 중 어느 한 항에 있어서,
    상기 제1 프로그램 동작은 제1 펄스 전압과 제1 펄스 지속기간을 포함하는 제1 프로그래밍 펄스를 포함하고, 상기 제2 프로그램 동작은 제2 펄스 전압과 제2 펄스 지속기간을 포함하는 제2 프로그래밍 펄스를 포함하며;
    상기 제1 펄스 전압이 상기 제2 펄스 전압과 실질적으로 동일한 것 또는 상기 제1 펄스 지속기간이 상기 제2 펄스 지속기간과 실질적으로 동일한 것 중 적어도 하나가 충족되는, 방법.
  25. 제24항에 있어서,
    상기 제1 펄스 전압은 제1 초기 펄스 전압과 하나 이상의 제1 증분 전압을 포함하고, 상기 제2 펄스 전압은 제2 초기 펄스 전압과 하나 이상의 제2 증분 전압을 포함하며;
    상기 제1 초기 펄스 전압과 상기 하나 이상의 제1 증분 전압은 각각 상기 제2 초기 펄스 전압과 상기 하나 이상의 제2 증분 전압의 대응하는 것과 실질적으로 동일한, 방법.
  26. 제25항에 있어서,
    상기 하나 이상의 제1 메모리 셀에 상기 제1 초기 펄스 전압과 상기 하나 이상의 제1 증분 전압을 각각 인가한 후, 상기 하나 이상의 제1 메모리 셀에 대응하는 워드 라인에 검증 전압을 인가하여 상기 하나 이상의 제1 메모리 셀에 대한 상기 제1 프로그램 동작이 성공하여 상기 하나 이상의 제1 메모리 셀이 상기 제1 타깃 프로그래밍 상태에 도달할 수 있는지 여부를 검증하는 단계를 더 포함하는 방법.
  27. 제21항 내지 제26항 중 어느 한 항에 있어서,
    프로그래밍될 데이터의 저장 시간이 미리 설정된 지속기간보다 긴 것에 응답하여, 상기 데이터를 상기 제1 유형 데이터로 결정하는 단계; 및
    상기 데이터의 저장 시간이 미리 설정된 지속기간보다 짧거나 같은 것에 응답하여, 상기 데이터를 상기 제2 유형 데이터로 결정하는 단계를 더 포함하는 방법.
  28. 제21항 내지 제27항 중 어느 한 항에 있어서,
    상기 하나 이상의 제1 메모리 셀에 대응하는 워드 라인에 프로그래밍 전압을 인가하고, 상기 하나 이상의 제2 메모리 셀에 대응하는 다른 워드 라인에 패스 전압을 인가하여 상기 하나 이상의 제1 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하는 단계를 더 포함하는 방법.
  29. 제21항 내지 제28항 중 어느 한 항에 있어서,
    상기 하나 이상의 제1 메모리 셀과 상기 하나 이상의 제2 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하는 것은, 상기 하나 이상의 제1 메모리 셀에 대한 상기 제1 프로그램 동작과 상기 하나 이상의 제2 메모리 셀에 대한 상기 제1 프로그램 동작을 순차적으로 수행하는 것을 포함하는, 방법.
  30. 제29항에 있어서,
    상기 하나 이상의 제1 메모리 셀과 상기 하나 이상의 제2 메모리 셀에 대해 상기 제1 프로그램 동작을 순차적으로 수행하는 것은,
    상기 하나 이상의 제2 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하기 전에 상기 하나 이상의 제1 메모리 셀에 대해 상기 제2 프로그램 동작을 수행하는 것을 포함하는, 방법.
  31. 제29항에 있어서,
    상기 하나 이상의 제1 메모리 셀과 상기 하나 이상의 제2 메모리 셀에 대해 상기 제1 프로그램 동작을 순차적으로 수행하는 것은,
    상기 하나 이상의 제2 메모리 셀에 대해 상기 제1 프로그램 동작을 수행한 후에 상기 하나 이상의 제1 메모리 셀에 대해 상기 제2 프로그램 동작을 수행하는 것을 포함하는, 방법.
  32. 제21항 내지 제28항 중 어느 한 항에 있어서,
    상기 하나 이상의 제1 메모리 셀과 상기 하나 이상의 제2 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하는 것은,
    상기 하나 이상의 제1 메모리 셀에 대한 상기 제1 프로그램 동작과 상기 하나 이상의 제2 메모리 셀에 대한 상기 제1 프로그램 동작을 병렬로 수행하는 것을 포함하는, 방법.
  33. 제21항 내지 제22항 중 어느 한 항에 있어서,
    상기 하나 이상의 제1 메모리 셀은 복수의 제1 메모리 셀을 포함하고;
    상기 방법은,
    상기 복수의 제1 메모리 셀 중 적어도 하나의 제1 메모리 셀에 대한 상기 제1 프로그램 동작의 성공 여부를 상기 적어도 하나의 제1 메모리 셀에 대응하는 워드 라인에 검증 전압을 인가하는 것에 기초하여 검증하는 단계; 및
    상기 적어도 하나의 제1 메모리 셀에 대한 상기 제1 프로그램 동작이 성공한 것으로 결정한 후, 상기 적어도 하나의 제1 메모리 셀에 대해 상기 제2 프로그램 동작을 수행하는 단계를 더 포함하는 방법.
  34. 제21항 내지 제33항 중 어느 한 항에 있어서,
    상기 하나 이상의 제1 메모리 셀은 하나의 메모리 스트링 내의 복수의 제1 메모리 셀을 포함하고;
    상기 방법은,
    상기 메모리 스트링 내의 상기 복수의 제1 메모리 셀에 대한 상기 제1 프로그램 동작이 성공한 후, 상기 메모리 스트링 내의 상기 복수의 제1 메모리 셀에 대해 상기 제2 프로그램 동작을 수행하는 단계를 더 포함하는 방법.
  35. 제34항에 있어서,
    상기 복수의 제1 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하는 것은,
    기판에 더 가까운, 상기 메모리 스트링 내의 하나의 제1 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하고 나서, 동일한 메모리 스트링 내의, 상기 기판에서 더 먼 다른 제1 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하는 것을 포함하는, 방법.
  36. 제21항 내지 제33항 중 어느 한 항에 있어서,
    상기 하나 이상의 제1 메모리 셀은 하나의 메모리 페이지 내의 복수의 제1 메모리 셀을 포함하고;
    상기 방법은,
    하나의 메모리 페이지 내의 복수의 제1 메모리 셀에 대한 상기 제1 프로그램 동작이 성공한 후, 상기 메모리 페이지 내의 복수의 제1 메모리 셀에 대해 상기 제2 프로그램 동작을 수행하는 단계를 더 포함하는 방법.
  37. 제36항에 있어서,
    상기 복수의 제1 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하는 것은,
    기판에서 더 먼 다른 메모리 페이지 내의 다른 제1 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하기 전에 상기 메모리 페이지 내의 복수의 제1 메모리 셀에 대해 상기 제1 프로그램 동작을 수행하는 것을 포함하는, 방법.
  38. 제21항 내지 제33항 중 어느 한 항에 있어서,
    상기 하나 이상의 제1 메모리 셀은 하나의 블록 내에 복수의 제1 메모리 셀을 포함하고;
    상기 방법은,
    상기 블록 내의 복수의 제1 메모리 셀에 대한 상기 제1 프로그램 동작이 성공한 후, 상기 블록 내의 복수의 제1 메모리 셀에 대해 상기 제2 프로그램 동작을 수행하는 단계를 더 포함하는 방법.
KR1020247022070A 2021-12-02 2022-08-17 메모리 디바이스, 메모리 시스템 및 그 프로그램 동작 방법 KR20240112940A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202111461490.1A CN114400035A (zh) 2021-12-02 2021-12-02 存储器的编程方法、存储器及存储系统
CN202111461490.1 2021-12-02
PCT/CN2022/112987 WO2023098145A1 (en) 2021-12-02 2022-08-17 Memory device, memory system, and program operation method thereof

Publications (1)

Publication Number Publication Date
KR20240112940A true KR20240112940A (ko) 2024-07-19

Family

ID=86607390

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020247022070A KR20240112940A (ko) 2021-12-02 2022-08-17 메모리 디바이스, 메모리 시스템 및 그 프로그램 동작 방법

Country Status (4)

Country Link
US (1) US12093535B2 (ko)
EP (1) EP4441740A1 (ko)
KR (1) KR20240112940A (ko)
CN (1) CN116547759A (ko)

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006024342A (ja) * 2004-06-08 2006-01-26 Toshiba Corp 不揮発性半導体記憶装置、不揮発性半導体記憶装置の書き込み方法、メモリカード及びicカード
US8130552B2 (en) 2008-09-11 2012-03-06 Sandisk Technologies Inc. Multi-pass programming for memory with reduced data storage requirement
US9378830B2 (en) 2013-07-16 2016-06-28 Seagate Technology Llc Partial reprogramming of solid-state non-volatile memory cells
CN105242871B (zh) 2014-06-06 2018-06-05 华为技术有限公司 一种数据写入方法及装置
KR102234592B1 (ko) * 2014-07-29 2021-04-05 삼성전자주식회사 불휘발성 메모리, 데이터 저장 장치, 및 데이터 저장 장치의 동작 방법
US9799401B2 (en) 2014-09-16 2017-10-24 Seagate Technology Llc Incremental step pulse programming
US10157681B2 (en) 2015-09-14 2018-12-18 Sandisk Technologies Llc Programming of nonvolatile memory with verify level dependent on memory state and programming loop count
CN106649406B (zh) 2015-11-04 2020-04-28 华为技术有限公司 一种自适应存储文件的方法和装置
WO2017152392A1 (zh) 2016-03-09 2017-09-14 华为技术有限公司 一种闪存设备的刷新方法和装置
US20220261164A1 (en) * 2016-10-20 2022-08-18 Pure Storage, Inc. Configuring Storage Systems Based On Storage Utilization Patterns
US10157670B2 (en) * 2016-10-28 2018-12-18 Micron Technology, Inc. Apparatuses including memory cells and methods of operation of same
US10991440B2 (en) * 2018-03-07 2021-04-27 Micron Technology, Inc. Performing read operation prior to two-pass programming of storage system
KR20190135746A (ko) * 2018-05-29 2019-12-09 삼성전자주식회사 쓰기 버퍼 메모리를 포함하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법
US10541031B2 (en) * 2018-06-15 2020-01-21 Sandisk Technologies Llc Single pulse SLC programming scheme
US10969965B2 (en) * 2018-12-24 2021-04-06 Western Digital Technologies, Inc. Dynamic performance density tuning for data storage device
KR20210066899A (ko) 2019-02-20 2021-06-07 양쯔 메모리 테크놀로지스 씨오., 엘티디. 메모리 시스템을 프로그래밍하기 위한 방법
US11249791B2 (en) * 2019-04-30 2022-02-15 Acronis International Gmbh System and method of selectively restoring a computer system to an operational state
CN110870015B (zh) 2019-10-18 2021-03-12 长江存储科技有限责任公司 对存储器件进行编程和验证的方法以及相关的存储器件
KR20230069642A (ko) * 2021-11-12 2023-05-19 에스케이하이닉스 주식회사 저장 장치 공유 시스템 및 그 방법
CN114400035A (zh) 2021-12-02 2022-04-26 长江存储科技有限责任公司 存储器的编程方法、存储器及存储系统

Also Published As

Publication number Publication date
EP4441740A1 (en) 2024-10-09
CN116547759A (zh) 2023-08-04
US12093535B2 (en) 2024-09-17
US20230176748A1 (en) 2023-06-08

Similar Documents

Publication Publication Date Title
US10090046B2 (en) Nonvolatile memory device and read method thereof
CN107393590B (zh) 非易失性存储设备及其编程方法
US8976592B2 (en) Nonvolatile memory device with flag cells and user device including the same
WO2023098145A1 (en) Memory device, memory system, and program operation method thereof
US9312020B2 (en) Methods of operating memory devices
US9607700B2 (en) Non-volatile memory device, memory system, and methods of operating the device and system
WO2023098082A1 (en) Memory device, memory system, and read operation method thereof
WO2023226417A1 (en) Memory device, memory system, and program operation method thereof
CN111798903B (zh) 存储器系统、存储器装置和存储器控制器
US12093535B2 (en) Memory device, memory system, and program operation method thereof
TW202431266A (zh) 記憶體設備、記憶體系統及其程式化操作方法
US20230260560A1 (en) Method of reducing program disturbance in memory device and memory device utilizing same
US20230386587A1 (en) Memory device, memory system, and program operation method thereof
US20240005992A1 (en) Operation method of memory device including memory block connected to wordlines
US20230178160A1 (en) Memory device, memory system, and read operation method thereof
US20240069746A1 (en) Memory device and method of operating the same
US20240170070A1 (en) Operation method of memory, memory, memory system, and electronic device
CN114974382A (zh) 存储器、系统以及存储器的操作方法
KR20240137661A (ko) 메모리 장치, 메모리 시스템 및 그 작동 방법
KR20230098341A (ko) 메모리 장치 및 그 프로그램 동작
CN114863963A (zh) 一种对存储器件的操作方法、存储器件及存储器系统
CN118262765A (zh) 一种存储器的操作方法、存储器、系统及电子设备
CN118629463A (zh) 存储器的编程方法、存储器、存储系统及电子设备
CN117079682A (zh) 被配置为减少验证时间的存储器装置及其操作方法
CN114999554A (zh) 存储器及其操作方法、存储器系统

Legal Events

Date Code Title Description
A201 Request for examination