KR20210020697A - 메모리 장치 및 그 동작 방법 - Google Patents

메모리 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR20210020697A
KR20210020697A KR1020190100570A KR20190100570A KR20210020697A KR 20210020697 A KR20210020697 A KR 20210020697A KR 1020190100570 A KR1020190100570 A KR 1020190100570A KR 20190100570 A KR20190100570 A KR 20190100570A KR 20210020697 A KR20210020697 A KR 20210020697A
Authority
KR
South Korea
Prior art keywords
program
bit line
page buffer
memory device
line precharge
Prior art date
Application number
KR1020190100570A
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 KR1020190100570A priority Critical patent/KR20210020697A/ko
Priority to US16/856,695 priority patent/US11270760B2/en
Priority to CN202010486460.5A priority patent/CN112397126B/zh
Priority to SG10202005368UA priority patent/SG10202005368UA/en
Publication of KR20210020697A publication Critical patent/KR20210020697A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4094Bit-line management or 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/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4074Power supply or voltage generation circuits, e.g. bias voltage generators, substrate voltage generators, back-up power, power control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4091Sense or sense/refresh amplifiers, or associated sense circuitry, e.g. for coupled bit-line precharging, equalising or isolating
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4093Input/output [I/O] data interface arrangements, e.g. data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/24Bit-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/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/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/12Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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/5642Multilevel memory with buffers, latches, registers at input or output
    • 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

Landscapes

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

Abstract

본 기술은 전자 장치에 관한 것으로, 본 기술에 따른 향상된 비트라인 프리차지 성능을 갖는 메모리 장치는 메모리 셀 어레이, 복수의 페이지 버퍼 그룹들 및 프로그램 동작 제어부를 포함한다. 메모리 셀 어레이는 복수의 메모리 셀들을 포함한다. 복수의 페이지 버퍼 그룹들은 상기 복수의 메모리 셀들과 복수의 비트라인 그룹들을 통해 연결되고, 상기 복수의 비트라인 그룹들을 프리차지하는 비트라인 프리차지 동작들을 수행한다. 프로그램 동작 제어부는 상기 복수의 메모리 셀들에 대한 프로그램 동작 동안, 서로 다른 시점에 비트라인 프리차지 동작을 개시하도록 상기 복수의 페이지 버퍼 그룹들 각각을 제어하고, 상기 프로그램 동작의 진행도에 따라 상기 비트라인 프리차지 동작들의 개시 시점들 간의 간격을 조절한다.

Description

메모리 장치 및 그 동작 방법{MEMORY DEVICE AND OPERATING METHOD THEREOF}
본 발명은 전자 장치에 관한 것으로, 보다 구체적으로 본 발명은 메모리 장치 및 그 동작 방법에 관한 것이다.
저장 장치는 컴퓨터나 스마트폰 등과 같은 호스트 장치의 제어에 따라 데이터를 저장하는 장치이다. 저장 장치는 데이터가 저장되는 메모리 장치와 메모리 장치를 제어하는 메모리 컨트롤러를 포함할 수 있다. 메모리 장치는 휘발성 메모리 장치(Volatile Memory)와 비휘발성 메모리 장치 (Non Volatile Memory)로 구분된다.
휘발성 메모리 장치는 전원이 공급된 경우에만 데이터를 저장하고, 전원 공급이 차단되면 저장된 데이터가 소멸되는 메모리 장치이다. 휘발성 메모리 장치는 정적 랜덤 액세스 메모리 (Static Random Access Memory; SRAM), 동적 랜덤 액세스 메모리 (Dynamic Random Access Memory; DRAM) 등이 있다.
비휘발성 메모리 장치는 전원이 차단되어도 데이터가 소멸되지 않는 메모리 장치로서, 롬(Read Only Memory; ROM), PROM (Programmable ROM), EPROM (Electrically Programmable ROM), EEPROM (Electrically Erasable and Programmable ROM) 및 플래시 메모리(Flash Memory) 등이 있다.
본 발명의 실시 예는, 향상된 비트라인 프리차지 성능을 갖는 메모리 장치 및 그 동작 방법을 제공한다.
본 발명의 실시 예에 따른 메모리 장치는 메모리 셀 어레이, 복수의 페이지 버퍼 그룹들 및 프로그램 동작 제어부를 포함한다. 메모리 셀 어레이는 복수의 메모리 셀들을 포함한다. 복수의 페이지 버퍼 그룹들은 상기 복수의 메모리 셀들과 복수의 비트라인 그룹들을 통해 연결되고, 상기 복수의 비트라인 그룹들을 프리차지하는 비트라인 프리차지 동작들을 수행한다. 프로그램 동작 제어부는 상기 복수의 메모리 셀들에 대한 프로그램 동작 동안, 서로 다른 시점에 비트라인 프리차지 동작을 개시하도록 상기 복수의 페이지 버퍼 그룹들 각각을 제어하고, 상기 프로그램 동작의 진행도에 따라 상기 비트라인 프리차지 동작들의 개시 시점들 간의 간격을 조절한다.
본 발명의 실시 예에 따른 복수의 메모리 셀들에 대한 프로그램 동작을 수행하는 메모리 장치의 동작 방법에 있어서, 상기 프로그램 동작의 진행도에 따라, 상기 복수의 메모리 셀들과 연결된 복수의 비트라인 그룹들을 프리차지하는 비트라인 프리차지 동작들의 개시 시점들 간의 간격을 결정하는 단계 및 상기 결정된 개시 시점들 간의 간격에 따라, 상기 비트라인 프리차지 동작들을 수행하는 단계를 포함한다.
본 기술에 따르면 향상된 비트라인 프리차지 성능을 갖는 메모리 장치 및 그 동작 방법이 제공된다.
도 1은 본 발명의 실시 예에 따른 저장 장치를 설명하기 위한 도면이다.
도 2는 도 1의 메모리 장치의 구조를 설명하기 위한 도면이다.
도 3은 도 2의 메모리 셀 어레이를 설명하기 위한 도면이다.
도 4는 실시 예에 따른 프로그램 동작을 설명하기 위한 도면이다.
도 5는 실시 예에 따른 프로그램 동작의 진행 순서를 설명하기 위한 도면이다.
도 6은 비트라인 로딩을 설명하기 위한 도면이다.
도 7은 프로그램 동작의 진행도에 따른 비트라인 로딩 변화를 설명하기 위한 도면이다.
도 8은 실시 예에 따른 메모리 장치의 구성 및 동작을 설명하기 위한 도면이다.
도 9는 도 8의 읽기 및 쓰기 회로를 설명하기 위한 도면이다.
도 10은 도 4의 프로그램 전압 인가 단계를 설명하기 위한 도면이다.
도 11은 실시 예에 따른 비트라인 프리차지 동작을 설명하기 위한 도면이다.
도 12는 다른 실시 예에 따른 비트라인 프리차지 동작을 설명하기 위한 도면이다.
도 13은 도 12의 비트라인 프리차지 동작의 개시 시점들 간의 간격을 조절하는 동작을 설명하기 위한 도면이다.
도 14는 실시 예에 따른 프로그램의 동작을 설명하기 위한 순서도이다.
도 15는 실시 예에 따른 도 14의 프로그램의 동작을 상세히 설명하기 위한 순서도이다.
도 16은 다른 실시 예에 따른 도 14의 프로그램의 동작을 상세히 설명하기 위한 순서도이다.
본 명세서 또는 출원에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 개념에 따른 실시 예들은 다양한 형태로 실시될 수 있으며 본 명세서 또는 출원에 설명된 실시 예들에 한정되는 것으로 해석되어서는 아니 된다.
도 1은 본 발명의 실시 예에 따른 저장 장치를 설명하기 위한 도면이다.
도 1을 참조하면, 저장 장치(50)는 메모리 장치(100) 및 메모리 장치의 동작을 제어하는 메모리 컨트롤러(200)를 포함할 수 있다. 저장 장치(50)는 휴대폰, 스마트폰, MP3 플레이어, 랩탑 컴퓨터, 데스크탑 컴퓨터, 게임기, TV, 테블릿 PC 또는 차량용 인포테인먼트(in-vhicle infotainment) 시스템 등과 같은 호스트의 제어에 따라 데이터를 저장하는 장치이다.
저장 장치(50)는 호스트와의 통신 방식인 호스트 인터페이스에 따라서 다양한 종류의 저장 장치들 중 어느 하나로 제조될 수 있다. 예를 들면, 저장 장치(50)는 SSD, MMC, eMMC, RS-MMC, micro-MMC 형태의 멀티 미디어 카드(multimedia card), SD, mini-SD, micro-SD 형태의 시큐어 디지털(secure digital) 카드, USB(universal storage bus) 저장 장치, UFS(universal flash storage) 장치, PCMCIA(personal computer memory card international association) 카드 형태의 저장 장치, PCI(peripheral component interconnection) 카드 형태의 저장 장치, PCI-E(PCI express) 카드 형태의 저장 장치, CF(compact flash) 카드, 스마트 미디어(smart media) 카드, 메모리 스틱(memory stick) 등과 같은 다양한 종류의 저장 장치들 중 어느 하나로 구성될 수 있다.
저장 장치(50)는 다양한 종류의 패키지(package) 형태들 중 어느 하나로 제조될 수 있다. 예를 들면, 저장 장치(50)는 POP(package on package), SIP(system in package), SOC(system on chip), MCP(multi-chip package), COB(chip on board), WFP(wafer-level fabricated package), WSP(wafer-level stack package) 등과 같은 다양한 종류의 패키지 형태들 중 어느 하나로 제조될 수 있다.
메모리 장치(100)는 데이터를 저장할 수 있다. 메모리 장치(100)는 메모리 컨트롤러(200)의 제어에 응답하여 동작한다. 메모리 장치(100)는 데이터를 저장하는 복수의 메모리 셀들을 포함하는 메모리 셀 어레이를 포함할 수 있다.
메모리 셀들은 각각 하나의 데이터 비트를 저장하는 싱글 레벨 셀(Single Level Cell; SLC), 두 개의 데이터 비트들을 저장하는 멀티 레벨 셀(Multi Level Cell; MLC), 세 개의 데이터 비트들을 저장하는 트리플 레벨 셀(Triple Level Cell; TLC) 또는 네 개의 데이터 비트를 저장할 수 있는 쿼드 레벨 셀(Quad Level Cell; QLC)로 구성될 수 있다.
메모리 셀 어레이는 복수의 메모리 블록들을 포함할 수 있다. 각 메모리 블록은 복수의 메모리 셀들을 포함할 수 있다. 하나의 메모리 블록은 복수의 페이지들을 포함할 수 있다. 실시 예에서, 페이지는 메모리 장치(100)에 데이터를 저장하거나, 메모리 장치(100)에 저장된 데이터를 리드하는 단위일 수 있다.
메모리 블록은 데이터를 지우는 단위일 수 있다. 실시 예에서, 메모리 장치(100)는 DDR SDRAM(Double Data Rate Synchronous Dynamic Random Access Memory), LPDDR4(Low Power Double Data Rate4) SDRAM, GDDR(Graphics Double Data Rate) SDRAM, LPDDR(Low Power DDR), RDRAM(Rambus Dynamic Random Access Memory), 낸드 플래시 메모리(NAND flash memory), 수직형 낸드 플래시 메모리(Vertical NAND), 노아 플래시 메모리(NOR flash memory), 저항성 램(resistive random access memory: RRAM), 상변화 메모리(phase-change memory: PRAM), 자기저항 메모리(magnetoresistive random access memory: MRAM), 강유전체 메모리(ferroelectric random access memory: FRAM), 스핀주입 자화반전 메모리(spin transfer torque random access memory: STT-RAM) 등이 될 수 있다. 본 명세서에서는 설명의 편의를 위해, 메모리 장치(100)가 낸드 플래시 메모리인 경우를 가정하여 설명한다.
메모리 장치(100)는 메모리 컨트롤러(200)로부터 커맨드 및 어드레스를 수신하고, 메모리 셀 어레이 중 어드레스에 의해 선택된 영역을 액세스하도록 구성된다. 즉, 메모리 장치(100)는 어드레스에 의해 선택된 영역에 대해 커맨드가 지시하는 동작을 수행할 수 있다. 예를 들면, 메모리 장치(100)는 쓰기 동작 (프로그램 동작), 리드 동작 및 소거 동작을 수행할 수 있다. 프로그램 동작 시에, 메모리 장치(100)는 어드레스에 의해 선택된 영역에 데이터를 프로그램 할 것이다. 리드 동작 시에, 메모리 장치(100)는 어드레스에 의해 선택된 영역으로부터 데이터를 읽을 것이다. 소거 동작 시에, 메모리 장치(100)는 어드레스에 의해 선택된 영역에 저장된 데이터를 소거할 것이다.
실시 예에서, 메모리 장치(100)는 읽기 및 쓰기 회로(123) 및 프로그램 동작 제어부(131)를 포함할 수 있다.
읽기 및 쓰기 회로(123)는 메모리 셀 어레이의 메모리 셀들과 비트라인들을 통해 연결되는 복수의 페이지 버퍼 그룹들을 포함할 수 있다. 비트라인들은 복수의 페이지 버퍼 그룹들 각각에 대응되는 복수의 비트라인 그룹들로 구분될 수 있다. 복수의 페이지 버퍼 그룹들 각각은 메모리 셀들에 대한 프로그램 동작 시 대응되는 복수의 비트라인 그룹들 각각을 프리차지하는 비트라인 프리차지 동작들을 수행할 수 있다.
프로그램 동작 제어부(131)는 각 페이지 버퍼 그룹이 서로 다른 시점에 비트라인 프리차지 동작을 개시하도록 복수의 페이지 버퍼 그룹들을 제어할 수 있다. 프로그램 동작 제어부(131)는 프로그램 동작의 진행도에 따라, 복수의 페이지 버퍼 그룹들 각각이 수행하는 비트라인 프리차지 동작들의 개시 시점들 간의 간격을 조절할 수 있다.
프로그램 동작의 진행도는 프로그램 검증 동작이 패스된 프로그램 상태들 중 가장 높은 프로그램 상태로 판단될 수 있다. 프로그램 검증 동작이 패스된 가장 높은 프로그램 상태는 도 5에서 후술하기로 한다. 또는 프로그램 동작의 진행도는 프로그램 동작 동안 수행되는 적어도 하나 이상의 프로그램 루프들 중 수행된 프로그램 루프들의 개수인 프로그램 루프 카운트로 판단될 수 있다. 프로그램 루프에 관한 상세한 설명은 도 4에서 후술하기로 한다.
메모리 컨트롤러(200)는 저장 장치(50)의 전반적인 동작을 제어한다.
저장 장치(50)에 전원이 인가되면, 메모리 컨트롤러(200)는 펌웨어(firmware, FW)를 실행할 수 있다. 메모리 장치(100)가 플래시 메모리 장치인 경우, 메모리 컨트롤러(200)는 호스트와 메모리 장치(100)간의 통신을 제어하기 위한 플래시 변환 레이어(Flash Translation Layer, FTL)와 같은 펌웨어를 실행할 수 있다.
실시 예에서, 메모리 컨트롤러(200)는 호스트로부터 데이터와 논리 블록 어드레스(Logical Block Address, LBA)를 입력 받고, 논리 블록 어드레스를 메모리 장치(100)에 포함된 데이터가 저장될 메모리 셀들의 주소를 나타내는 물리 블록 어드레스(Physical Block Address, PBA)로 변환할 수 있다.
메모리 컨트롤러(200)는 호스트의 요청(request)에 따라 프로그램 동작, 리드 동작 또는 소거 동작 등을 수행하도록 메모리 장치(100)를 제어할 수 있다. 프로그램 동작 시, 메모리 컨트롤러(200)는 쓰기 커맨드, 물리 블록 어드레스 및 데이터를 메모리 장치(100)에 제공할 수 있다. 리드 동작 시, 메모리 컨트롤러(200)는 리드 커맨드 및 물리 블록 어드레스를 메모리 장치(100)에 제공할 수 있다. 소거 동작 시, 메모리 컨트롤러(200)는 소거 커맨드 및 물리 블록 어드레스를 메모리 장치(100)에 제공할 수 있다.
실시 예에서, 메모리 컨트롤러(200)는 호스트로부터의 요청과 무관하게 자체적으로 커맨드, 어드레스 및 데이터를 생성하고, 메모리 장치(100)에 전송할 수 있다. 예를 들면, 메모리 컨트롤러(200)는 웨어 레벨링(wear leveling)을 위한 프로그램 동작, 가비지 컬렉션(garbage collection)을 위한 프로그램 동작과 같은 배경(background) 동작들을 수행하기 위해 커맨드, 어드레스 및 데이터를 메모리 장치(100)로 제공할 수 있다.
실시 예에서, 메모리 컨트롤러(200)가 적어도 둘 이상의 메모리 장치(100)들을 제어할 수 있다. 이 경우, 메모리 컨트롤러(200)는 동작 성능의 향상을 위해 메모리 장치(100)들을 인터리빙 방식에 따라 제어할 수 있다. 인터리빙 방식은 적어도 둘 이상의 메모리 장치(100)들의 동작 구간을 중첩시키는 동작 방식일 수 있다.
호스트는 USB (Universal Serial Bus), SATA (Serial AT Attachment), SAS (Serial Attached SCSI), HSIC (High Speed Interchip), SCSI (Small Computer System Interface), PCI (Peripheral Component Interconnection), PCIe (PCI express), NVMe (NonVolatile Memory express), UFS (Universal Flash Storage), SD (Secure Digital), MMC (MultiMedia Card), eMMC (embedded MMC), DIMM (Dual In-line Memory Module), RDIMM (Registered DIMM), LRDIMM (Load Reduced DIMM) 등과 같은 다양한 통신 방식들 중 적어도 하나를 이용하여 저장 장치(50)와 통신할 수 있다.
도 2는 도 1의 메모리 장치의 구조를 설명하기 위한 도면이다.
도 2를 참조하면, 메모리 장치(100)는 메모리 셀 어레이(110), 주변 회로(120) 및 제어 로직(130)을 포함할 수 있다.
메모리 셀 어레이(110)는 복수의 메모리 블록들(BLK1~BLKz)을 포함한다. 복수의 메모리 블록들(BLK1~BLKz)은 행 라인들(RL)을 통해 어드레스 디코더(121)에 연결된다. 복수의 메모리 블록들(BLK1~BLKz)은 비트라인들(BL1 내지 BLm)을 통해 읽기 및 쓰기 회로(123)에 연결된다. 복수의 메모리 블록들(BLK1~BLKz) 각각은 복수의 메모리 셀들을 포함한다. 실시 예로서, 복수의 메모리 셀들은 불휘발성 메모리 셀들이다. 복수의 메모리 셀들 중 동일 워드라인에 연결된 메모리 셀들은 하나의 물리 페이지로 정의된다. 즉 메모리 셀 어레이(110)는 다수의 물리 페이지들로 구성된다. 본 발명의 실시 예에 따르면, 메모리 셀 어레이(110)에 포함된 복수의 메모리 블록들(BLK1~BLKz) 각각은 복수의 더미 셀들을 포함할 수 있다. 더미 셀들은 드레인 선택 트랜지스터와 메모리 셀들 사이와 소스 선택 트랜지스터와 메모리 셀들 사이에 적어도 하나 이상 직렬로 연결될 수 있다.
메모리 장치(100)의 메모리 셀들은 각각 하나의 데이터 비트를 저장하는 싱글 레벨 셀(Single Level Cell; SLC), 두 개의 데이터 비트들을 저장하는 멀티 레벨 셀(Multi Level Cell; MLC), 세 개의 데이터 비트들을 저장하는 트리플 레벨 셀(Triple Level Cell; TLC) 또는 네 개의 데이터 비트를 저장할 수 있는 쿼드 레벨 셀(Quad Level Cell; QLC)로 구성될 수 있다.
주변 회로(120)는 어드레스 디코더(121), 전압 생성부(122), 읽기 및 쓰기 회로(123), 데이터 입출력 회로(124) 및 센싱 회로(125)를 포함할 수 있다.
주변 회로(120)는 메모리 셀 어레이(110)를 구동한다. 예를 들어 주변 회로(120)는 프로그램 동작, 리드 동작 및 소거 동작을 수행하도록 메모리 셀 어레이(110)를 구동할 수 있다.
어드레스 디코더(121)는 행 라인들(RL)을 통해 메모리 셀 어레이(110)에 연결된다. 행 라인들(RL)은 드레인 선택 라인들, 워드라인들, 소스 선택 라인들 및 공통 소스 라인을 포함할 수 있다. 본 발명의 실시 예에 따르면, 워드라인들은 노멀 워드라인들과 더미 워드라인들을 포함할 수 있다. 본 발명의 실시 예에 따르면, 행 라인들(RL)은 파이프 선택 라인을 더 포함할 수 있다.
실시 예에서 행 라인들(RL)은 로컬 라인 그룹들에 포함된 로컬 라인들일 수 있다. 로컬 라인 그룹은 하나의 메모리 블록에 대응될 수 있다. 로컬 라인 그룹은 드레인 선택 라인, 로컬 워드라인들 및 소스 선택 라인을 포함할 수 있다.
어드레스 디코더(121)는 제어 로직(130)의 제어에 응답하여 동작하도록 구성된다. 어드레스 디코더(121)는 제어 로직(130)으로부터 어드레스(ADDR)를 수신한다.
어드레스 디코더(121)는 수신된 어드레스(ADDR) 중 블록 어드레스를 디코딩하도록 구성된다. 어드레스 디코더(121)는 디코딩된 블록 어드레스에 따라 메모리 블록들(BLK1~BLKz) 중 적어도 하나의 메모리 블록을 선택한다. 어드레스 디코더(121)는 수신된 어드레스(ADDR) 중 로우 어드레스(RADD)를 디코딩하도록 구성된다. 어드레스 디코더(121)는 디코딩된 로우 어드레스(RADD)에 따라 전압 생성부(122)로부터 제공받은 전압들을 적어도 하나의 워드라인(WL)에 인가하여 선택된 메모리 블록의 적어도 하나의 워드라인을 선택할 수 있다.
프로그램 동작 시에, 어드레스 디코더(121)는 선택된 워드라인에 프로그램 전압을 인가하고 비선택된 워드라인들에 프로그램 전압보다 낮은 레벨의 패스 전압을 인가할 것이다. 프로그램 검증 동작 시에, 어드레스 디코더(121)는 선택된 워드라인에 검증 전압을 인가하고 비선택된 워드라인들에 검증 전압보다 높은 레벨의 검증 패스 전압을 인가할 것이다.
리드 동작 시에, 어드레스 디코더(121)는 선택된 워드라인에 읽기 전압을 인가하고, 비선택된 워드라인들에 읽기 전압보다 높은 레벨의 읽기 패스 전압을 인가할 것이다.
본 발명의 실시 예에 따르면, 메모리 장치(100)의 소거 동작은 메모리 블록 단위로 수행된다. 소거 동작 시에 메모리 장치(100)에 입력되는 어드레스(ADDR)는 블록 어드레스를 포함한다. 어드레스 디코더(121)는 블록 어드레스를 디코딩하고, 디코딩된 블록 어드레스에 따라 하나의 메모리 블록을 선택할 수 있다. 소거 동작 시, 어드레스 디코더(121)는 선택된 메모리 블록에 입력되는 워드라인들에 접지 전압을 인가할 수 있다.
본 발명의 실시 예에 따르면, 어드레스 디코더(121)는 전달된 어드레스(ADDR) 중 컬럼 어드레스를 디코딩하도록 구성될 수 있다. 디코딩된 컬럼 어드레스는 읽기 및 쓰기 회로(123)에 전달될 수 있다. 예시적으로, 어드레스 디코더(121)는 로우 디코더, 컬럼 디코더, 어드레스 버퍼 등과 같은 구성 요소들을 포함할 수 있다.
전압 생성부(122)는 메모리 장치(100)에 공급되는 외부 전원 전압을 이용하여 복수의 동작 전압(Vop)들을 발생하도록 구성된다. 전압 생성부(122)는 제어 로직(130)의 제어에 응답하여 동작한다.
실시 예로서, 전압 생성부(122)는 외부 전원 전압을 레귤레이팅하여 내부 전원 전압을 생성할 수 있다. 전압 생성부(122)에서 생성된 내부 전원 전압은 메모리 장치(100)의 동작전압으로서 사용된다.
실시 예로서, 전압 생성부(122)는 외부 전원 전압 또는 내부 전원 전압을 이용하여 복수의 동작 전압(Vop)들을 생성할 수 있다. 전압 생성부(122)는 메모리 장치(100)에서 요구되는 다양한 전압들을 생성하도록 구성될 수 있다. 예를 들어, 전압 생성부(122)는 복수의 소거 전압들, 복수의 프로그램 전압들, 복수의 패스 전압들, 복수의 선택 읽기 전압들, 복수의 비선택 읽기 전압들을 생성할 수 있다.
전압 생성부(122)는 다양한 전압 레벨들을 갖는 복수의 동작 전압(Vop)들을 생성하기 위해서, 내부 전원 전압을 수신하는 복수의 펌핑 커패시터들을 포함하고, 제어 로직(130)의 제어에 응답하여 복수의 펌핑 커패시터들을 선택적으로 활성화하여 복수의 동작 전압(Vop)들을 생성할 것이다.
생성된 복수의 동작 전압(Vop)들은 어드레스 디코더(121)에 의해 메모리 셀 어레이(110)에 공급될 수 있다.
읽기 및 쓰기 회로(123)는 제1 내지 제 m 페이지 버퍼들(PB1~PBm)을 포함한다. 제1 내지 제 m 페이지 버퍼들(PB1~PBm)은 각각 제1 내지 제 m 비트라인들(BL1~BLm)을 통해 메모리 셀 어레이(110)에 연결된다. 제1 내지 제 m 페이지 버퍼들(PB1~PBm)은 제어 로직(130)의 제어에 응답하여 동작한다.
제1 내지 제 m 페이지 버퍼들(PB1~PBm)은 데이터 입출력 회로(124)와 데이터(DATA)를 통신한다. 프로그램 시에, 제1 내지 제 m 페이지 버퍼들(PB1~PBm)은 데이터 입출력 회로(124) 및 데이터 라인들(DL)을 통해 저장될 데이터(DATA)를 수신한다.
프로그램 동작 시, 제1 내지 제 m 페이지 버퍼들(PB1~PBm)은 선택된 워드라인에 프로그램 전압이 인가될 때, 저장될 데이터(DATA)를 데이터 입출력 회로(124)를 통해 수신한 데이터(DATA)를 비트라인들(BL1~BLm)을 통해 선택된 메모리 셀들에 전달할 것이다. 전달된 데이터(DATA)에 따라 선택된 페이지의 메모리 셀들은 프로그램된다. 프로그램 허용 전압(예를 들면, 접지 전압)이 인가되는 비트라인과 연결된 메모리 셀은 상승된 문턱전압을 가질 것이다. 프로그램 금지 전압(예를 들면, 전원 전압)이 인가되는 비트라인과 연결된 메모리 셀의 문턱전압은 유지될 것이다. 프로그램 검증 동작 시에, 제1 내지 제 m 페이지 버퍼들(PB1~PBm)은 선택된 메모리 셀들로부터 비트라인들(BL1~BLm)을 통해 메모리 셀들에 저장된 데이터(DATA)를 읽는다.
리드 동작 시, 읽기 및 쓰기 회로(123)는 선택된 페이지의 메모리 셀들로부터 비트라인들(BL)을 통해 데이터(DATA)를 읽고, 읽어진 데이터(DATA)를 제1 내지 제m 페이지 버퍼들(PB1~PBm)에 저장할 수 있다.
소거 동작 시에, 읽기 및 쓰기 회로(123)는 비트라인들(BL)을 플로팅(floating) 시킬 수 있다. 실시 예로서, 읽기 및 쓰기 회로(123)는 열 선택 회로를 포함할 수 있다.
실시 예에서, 읽기 및 쓰기 회로(123)는 메모리 셀 어레이(110)의 메모리 셀들과 비트라인들(BL)을 통해 연결되는 복수의 페이지 버퍼들(PB)을 포함할 수 있다.
복수의 페이지 버퍼들(PB)은 복수의 페이지 버퍼 그룹들로 구분될 수 있다. 비트라인들(BL)은 복수의 페이지 버퍼 그룹들 각각에 대응되는 복수의 비트라인 그룹들로 구분될 수 있다. 복수의 페이지 버퍼 그룹들 각각은 메모리 셀들에 대한 프로그램 동작 시 대응되는 복수의 비트라인 그룹들 각각을 프리차지하는 비트라인 프리차지 동작들을 수행할 수 있다.
읽기 및 쓰기 회로 제어신호(PBSIGNALS)는 복수의 페이지 버퍼 그룹들 각각에 대응되는 복수의 페이지 버퍼 제어 신호들을 포함할 수 있다. 복수의 페이지 버퍼 그룹들 각각은 대응되는 복수의 페이지 버퍼 제어 신호들 각각에 응답하여 독립적으로 비트라인 프리차지 동작을 수행할 수 있다. 복수의 페이지 버퍼 그룹들과 메모리 셀들 간의 연결 관계는 도 9에서 상세히 설명하기로 한다.
데이터 입출력 회로(124)는 데이터 라인들(DL)을 통해 제1 내지 제 m 페이지 버퍼들(PB1~PBm)에 연결된다. 데이터 입출력 회로(124)는 제어 로직(130)의 제어에 응답하여 동작한다.
데이터 입출력 회로(124)는 입력되는 데이터(DATA)를 수신하는 복수의 입출력 버퍼들(미도시)을 포함할 수 있다. 프로그램 동작 시, 데이터 입출력 회로(124)는 외부 컨트롤러(미도시)로부터 저장될 데이터(DATA)를 수신한다. 데이터 입출력 회로(124)는 리드 동작 시, 읽기 및 쓰기 회로(123)에 포함된 제1 내지 제 m 페이지 버퍼들(PB1~PBm)로부터 전달된 데이터(DATA)를 외부 컨트롤러로 출력한다.
센싱 회로(125)는 리드 동작 또는 검증 동작 시, 제어 로직(130)이 생성한 허용 비트(VRYBIT) 신호에 응답하여 기준 전류를 생성하고, 읽기 및 쓰기 회로(123)로부터 수신된 센싱 전압(VPB)과 기준 전류에 의해 생성된 기준 전압을 비교하여 패스 신호 또는 페일 신호를 제어 로직(130)으로 출력할 수 있다.
제어 로직(130)은 어드레스 디코더(121), 전압 생성부(122), 읽기 및 쓰기 회로(123), 데이터 입출력 회로(124) 및 센싱 회로(125)에 연결될 수 있다. 제어 로직(130)은 메모리 장치(100)의 제반 동작을 제어하도록 구성될 수 있다. 제어 로직(130)은 외부 장치로부터 전달되는 커맨드(CMD)에 응답하여 동작할 수 있다.
제어 로직(130)은 커맨드(CMD) 및 어드레스(ADDR)에 응답하여 여러 가지 신호를 생성하여 주변 회로(120)를 제어할 수 있다. 예를 들면, 제어 로직(130)은 커맨드(CMD) 및 어드레스(ADDR)에 응답하여 동작 신호(OPSIG), 로우 어드레스(RADD), 읽기 및 쓰기 회로 제어신호(PBSIGNALS) 및 허용 비트(VRYBIT)를 생성할 수 있다. 제어 로직(130)은 동작 신호(OPSIG)는 전압 생성부(122)로 출력하고, 로우 어드레스(RADD)는 어드레스 디코더(121)로 출력하고, 읽기 및 쓰기 제어신호는 읽기 및 쓰기 회로(123)로 출력하고, 허용 비트(VRYBIT)는 센싱 회로(125)로 출력할 수 있다. 또한, 제어 로직(130)은 센싱 회로(125)가 출력한 패스 또는 페일 신호(PASS/FAIL)에 응답하여 검증 동작이 패스 또는 페일 되었는지를 판단할 수 있다.
실시 예에서, 제어 로직(130)은 프로그램 동작 제어부(131)를 포함할 수 있다.
프로그램 동작 제어부(131)는 읽기 및 쓰기 회로(123)에 포함된 각 페이지 버퍼 그룹이 서로 다른 시점에 비트라인 프리차지 동작을 개시하도록 복수의 페이지 버퍼 그룹들을 제어할 수 있다.
구체적으로, 프로그램 동작 제어부(131)는 복수의 페이지 버퍼 그룹들 각각에 대응되는 복수의 페이지 버퍼 제어 신호들을 포함하는 읽기 및 쓰기 회로 제어신호(PBSIGNALS)를 읽기 및 쓰기 회로(123)에 제공할 수 있다. 복수의 페이지 버퍼 그룹들 각각은 대응되는 복수의 페이지 버퍼 제어 신호들 각각에 응답하여 독립적으로 비트라인 프리차지 동작을 수행할 수 있다.
프로그램 동작 제어부(131)는 프로그램 동작의 진행도에 따라, 복수의 페이지 버퍼 그룹들 각각이 수행하는 비트라인 프리차지 동작들의 개시 시점들 간의 간격을 조절할 수 있다.
프로그램 동작의 진행도는 프로그램 검증 동작이 패스된 프로그램 상태들 중 가장 높은 프로그램 상태로 판단될 수 있다. 또는 프로그램 동작의 진행도는 프로그램 동작 동안 수행되는 적어도 하나 이상의 프로그램 루프들 중 수행된 프로그램 루프들의 개수인 프로그램 루프 카운트로 판단될 수 있다.
도 3은 도 2의 메모리 셀 어레이를 설명하기 위한 도면이다.
도 3을 참조하면, 제1 내지 제 z 메모리 블록들(BLK1~BLKz)은 제1 내지 제m 비트 라인들(BL1~BLm)에 공통 연결된다. 도 3에서, 설명의 편의를 위해 복수의 메모리 블록들(BLK1~BLKz) 중 제1 메모리 블록(BLK1)에 포함된 요소들이 도시되고, 나머지 메모리 블록들(BLK2~BLKz) 각각에 포함된 요소들은 생략된다. 나머지 메모리 블록들(BLK2~BLKz) 각각은 제1 메모리 블록(BLK1)과 마찬가지로 구성됨이 이해될 것이다.
메모리 블록(BLK1)은 복수의 셀 스트링들(CS1_1~CS1_m, (m은 양의 정수))을 포함할 수 있다. 제1 내지 제m 셀 스트링들(CS1_1~CS1_m)은 각각 제1 내지 제m 비트 라인들(BL1~BLm)에 연결된다. 제1 내지 제m 셀 스트링들(CS1_1~CS1_m)은 각각 드레인 선택 트랜지스터(DST), 직렬 연결된 복수의 메모리 셀들(MC1~MCn, (n은 양의 정수)) 및 소스 선택 트랜지스터(SST)를 포함한다.
제1 내지 제m 셀 스트링들(CS1_1~CS1_m)에 각각 포함된 드레인 선택 트랜지스터(DST)의 게이트 단자는 드레인 선택 라인(DSL1)에 연결된다. 제1 내지 제m 셀 스트링들(CS1_1~CS1_m)에 각각 포함된 제 1 내지 제 n 메모리 셀들(MC1~MCn)의 게이트 단자 각각은 제 1 내지 제 n 워드 라인들(WL1~WLn)에 연결된다. 제1 내지 제m 셀 스트링들(CS1_1~CS1_m)에 각각 포함된 소스 선택 트랜지스터(SST)의 게이트 단자는 소스 선택 라인(SSL1)에 연결된다.
설명의 편의를 위해 복수의 셀 스트링들(CS1_1~CS1_m) 중 제1 셀 스트링(CS1_1)을 기준으로 셀 스트링의 구조를 설명한다. 하지만 나머지 셀 스트링들(CS1_2~CS1_m) 각각도 제1 셀 스트링(CS1_1)과 마찬가지로 구성됨이 이해될 것이다.
제1 셀 스트링(CS1_1)에 포함된 드레인 선택 트랜지스터(DST)의 드레인 단자는 제1 비트 라인(BL1)에 연결된다. 제1 셀 스트링(CS1_1)에 포함된 드레인 선택 트랜지스터(DST)의 소스 단자는 제1 셀 스트링(CS1_1)에 포함된 제1 메모리 셀(MC1)의 드레인 단자에 연결된다. 제1 내지 제n 메모리 셀들(MC1~MCn)은 서로 직렬로 연결된다. 제1 셀 스트링(CS1_1)에 포함된 소스 선택 트랜지스터(SST)의 드레인 단자는 제1 셀 스트링(CS1_1)에 포함된 제n 메모리 셀(MCn)의 소스 단자에 연결된다. 제1 셀 스트링(CS1_1)에 포함된 소스 선택 트랜지스터(SST)의 소스 단자는 공통 소스 라인(CSL)에 연결된다. 실시 예로서, 공통 소스 라인(CSL)은 제1 내지 제 z 메모리 블록들(BLK1~BLKz)에 공통 연결될 수 있다.
드레인 선택 라인(DSL1), 제1 내지 제n 워드 라인들(WL1~WLn), 및 소스 선택 라인(SSL1)은 도 2의 행 라인들(RL)에 포함된다. 드레인 선택 라인(DSL1), 제1 내지 제n 워드 라인들(WL1~WLn), 및 소스 선택 라인(SSL1)은 어드레스 디코더(121)에 의해 제어된다. 공통 소스 라인(CSL)은 제어 로직(130)에 의해 제어된다. 제1 내지 제m 비트 라인들(BL1~BLm)은 읽기 및 쓰기 회로(123)에 의해 제어된다.
도 4는 실시 예에 따른 프로그램 동작을 설명하기 위한 도면이다.
도 4를 참조하면, 프로그램 동작은 복수의 프로그램 루프들(PL1~PLn)을 포함할 수 있다. 메모리 장치는 복수의 프로그램 루프들(PL1~PLn)을 수행하여 선택된 메모리 셀들이 복수의 프로그램 상태들중 어느 하나의 프로그램 상태를 갖도록 프로그램 할 수 있다.
복수의 프로그램 루프들(PL1~PLn) 각각은 프로그램 전압을 인가하는 프로그램 전압 인가 단계(PGM Step)와 검증 전압들을 인가하여 메모리 셀들이 프로그램 되었는지 여부를 판단하는 검증 단계(Verify Step)를 포함할 수 있다.
프로그램 전압 인가 단계에서, 선택된 메모리 셀들과 연결된 선택된 워드라인에 프로그램 전압을 인가하는 프로그램 전압 인가 동작이 수행될 수 있다. 프로그램 전압 인가 동작에 의해 선택된 메모리 셀들은 제1 내지 제n(n은 자연수) 상태 중 어느 하나의 프로그램 상태로 프로그램 될 수 있다.
실시 예에서, 프로그램 전압은 증가형 스텝 펄스 프로그래밍(incremental step pulse programming: ISPP) 방식에 따라 결정될 수 있다. 즉, 프로그램 전압의 레벨은 프로그램 루프들이 반복됨에 따라 소정의 전압 증가분만큼 단계적으로 증가 또는 감소할 수 있다. 각각의 프로그램 루프에서 사용되는 프로그램 전압들의 인가 횟수, 전압 레벨, 그리고 전압 인가 시간 등은 메모리 컨트롤러의 제어에 따라 다양한 형태로 결정될 수 있다.
선택된 워드라인 이외의 나머지 워드라인들인 비선택된 워드라인들에는 패스 전압이 인가될 수 있다. 실시 예에서, 동일한 레벨을 갖는 패스 전압들이 비선택된 워드라인들에 인가될 수 있다. 실시 예에서, 패스 전압은 워드 라인의 위치에 따라서 상이한 레벨을 가질 수 있다.
프로그램 할 메모리 셀에 연결된 선택된 비트 라인들에는 프로그램 허용 전압으로 접지 전압이 인가될 수 있다. 프로그램 할 메모리 셀들 이외의 메모리 셀들에 연결된 비트 라인들인 비선택된 비트 라인들에는 프로그램 금지 전압이 인가될 수 있다.
메모리 장치는 프로그램 검증 단계에서, 선택된 워드라인에는 검증 전압을 인가하고, 비선택된 워드라인들에는 검증 패스 전압을 인가할 수 있다. 메모리 장치는 선택된 워드 라인에 연결된 메모리 셀들이 각각 연결된 비트 라인들을 통해 출력되는 전압 또는 전류를 감지하고, 감지된 결과를 기초로 검증 단계가 패스인지 페일인지 여부를 결정할 수 있다.
검증 단계에서, 제1 내지 제n 프로그램 상태 중 적어도 하나의 프로그램 상태에 대한 프로그램 검증 동작이 수행될 수 있다. 예를 들어, 제k(k는 1이상 n이하인 자연수)상태로 프로그램 될 메모리 셀들이 제k 상태에 대응되는 검증 전압에 의해 오프 셀로 판독되면, 제k 상태에 대한 프로그램 검증 동작은 패스될 수 있다.
도 4에서, 선택된 메모리 셀들이 두 개의 데이터 비트를 저장하는 멀티 레벨 셀(Multi Level Cell, MLC)이면, 선택된 메모리 셀들은 소거 상태 및 제1 내지 제3 프로그램 상태 중 어느 하나의 프로그램 상태로 프로그램될 수 있다. 메모리 셀이 저장하는 데이터 비트의 개수는 본 실시 예에 제한되지 않는다.
제1 프로그램 루프(PL1)가 수행될 때, 제1 프로그램 전압(Vpgm1)이 인가된 후에 복수의 메모리 셀들의 프로그램 상태를 검증하기 위하여 제1 내지 제3 검증 전압들(V_vfy1~V_vfy3)이 순차적으로 인가된다. 이 때, 목표 상태가 제1 프로그램 상태인 메모리 셀들은 제1 검증 전압(V_vfy1)에 의해 검증이 수행되고, 목표 상태가 제2 프로그램 상태인 메모리 셀들은 제2 검증 전압(V_vfy2)에 의해 검증이 수행되고, 목표 상태가 제3 프로그램 상태인 메모리 셀들은 제3 검증 전압(V_vfy3)에 의해 검증이 수행될 수 있다. 검증 전압의 개수는 본 실시 예에 제한되지 않는다.
각 검증 전압들(V_vfy1~V_vfy3)에 의해 검증 패스된 메모리 셀들은 목표 상태를 갖는 것으로 판별되며, 이후 제2 프로그램 루프(PL2)에서 프로그램 금지(program inhibit)될 것이다. 프로그램 금지된 메모리 셀들과 연결된 비트라인에는 프로그램 금지 전압이 인가될 수 있다. 제2 프로그램 루프(PL2)에서 선택된 워드라인에 제1 프로그램 전압(Vpgm1)보다 단위 전압(△Vpgm)만큼 높은 제2 프로그램 전압(Vpgm2)이 인가된다.
이 후, 제1 프로그램 루프(PL1)의 검증 동작과 동일하게 검증 동작이 수행된다. 예시적으로, 검증 패스는 대응하는 검증 전압에 의해 메모리 셀이 오프-셀(off-cell)로 판독된 것을 가리킨다.
상술된 바와 같이, 메모리 장치가 멀티 레벨 셀(MLC)을 프로그램할 때, 메모리 장치는 제1 내지 제3 검증 전압들(V_vfy1~V_vfy3)을 사용하여 각각의 프로그램 상태를 목표 상태로 하는 메모리 셀들을 각각 검증하게 된다.
다양한 실시 예에서, 미리 설정된 횟수의 프로그램 루프 이내에 프로그램 동작이 완료되지 않으면, 프로그램 동작은 페일일 수 있다. 미리 설정된 횟수의 프로그램 루프 이내에 프로그램 동작이 완료되면, 프로그램 동작은 패스일 수 있다. 프로그램 동작의 완료 여부는 선택된 메모리 셀들에 대한 모든 프로그램 검증 동작이 패스되었는지 여부로 결정될 수 있다.
실시 예에서, 프로그램 동작 동안 적어도 하나 이상의 프로그램 루프들이 수행될 수 있다. 프로그램 동작 진행도는 프로그램 동작 동안, 전체 프로그램 루프들 중 어느 프로그램 루프까지 완료됐는지 나타낼 수 있다. 즉 프로그램 동작의 진행도는 적어도 하나 이상의 프로그램 루프들 중 수행된 프로그램 루프들의 개수인 프로그램 루프 카운트일 수 있다.
도 5는 실시 예에 따른 프로그램 동작의 진행 순서를 설명하기 위한 도면이다.
도 5를 참조하면, 메모리 셀은 4개의 데이터 비트를 저장하는 쿼드 레벨 셀(QLC)로 가정하여 설명한다. 메모리 셀은 소거 상태(E) 및 1 내지 제15 프로그램 상태(P1~P15) 중 어느 하나의 프로그램 상태로 프로그램 될 수 있다.
메모리 셀은 소거 상태(E) 및 복수의 프로그램 상태들(P1~P15) 중 어느 하나의 프로그램 상태에 대응되는 논리 데이터를 저장할 수 있다. 논리 데이터는 USB(Upper Significant Bit) 페이지 데이터, MSB(Most Significant Bit) 페이지 데이터, CSB(Central Significant Bit) 페이지 데이터 및 LSB(Least Significant Bit) 페이지 데이터를 포함할 수 있다.
도 5에서, 소거 상태(E) 또는 제1 내지 제15 프로그램 상태(P1~P15) 각각은 논리 데이터 '1111', '1110', '1100', '1000', '0000', 0100', '0101', '0111', '0110', '0010', '1010', '1011', '0011', '0001', '1001' 및 '1101'에 대응될 수 있다. 각 상태에 대응되는 논리 데이터는 본 실시 예에 제한되지 않는다.
프로그램 동작은 제1 프로그램 상태(P1)부터 시작해서 제15 프로그램 상태(P15)까지 순차적으로 수행될 수 있다. 프로그램 검증 동작도 제1 프로그램 상태(P1)에 대한 프로그램 검증 동작부터 시작해서 제15 프로그램 상태(P15)에 대한 프로그램 검증 동작까지 순차적으로 수행될 수 있다.
프로그램 동작 진행도는 프로그램 동작이 시작 지점부터 종료 지점까지 중 어느 지점까지 완료됐는지 나타낼 수 있다. 실시 예에서, 프로그램 동작 진행도는 프로그램 검증 동작이 패스된 상태들 중 가장 높은 프로그램 상태일 수 있다.
예를 들어, 제1 내지 제5 프로그램 상태(P1~P5)에 대한 프로그램 검증 동작이 패스되고, 나머지 프로그램 상태들(P6~P15)에 대한 프로그램 검증 동작이 페일이면, 프로그램 동작 진행도는 제5 프로그램 상태(P5)일 수 있다. 프로그램 동작 진행도를 통해 전체 프로그램 상태들(P1~P15) 중 제1 내지 제5 프로그램 상태(P1~P5)까지 프로그램 동작이 완료됨을 알 수 있다.
도 6은 비트라인 로딩을 설명하기 위한 도면이다.
도 6을 참조하면, 프로그램될 셀과 연결된 비트라인은 프로그램 허용 전압이 인가될 수 있다. 실시 예에서, 프로그램 허용 전압은 접지 전압(Vgnd)일 수 있다.
프로그램이 완료된 셀과 연결된 비트라인은 프로그램 금지 전압(Vinh)이 인가될 수 있다. 실시 예에서, 프로그램 금지 전압은 전원 전압일 수 있다.
프로그램 동작의 시작 지점(PGM Start)에서, 제1 내지 제8 비트라인(BL1~BL8)은 프로그램될 셀들과 연결된 비트라인일 수 있다.
프로그램 동작이 수행되는 동안(Programming), 제1, 제3, 제5, 제8 비트라인(BL1, BL3, BL5, BL8)은 프로그램될 셀과 연결된 비트라인일 수 있다. 제2, 제4, 제6, 제7 비트라인(BL2, BL4, BL6, BL7)은 프로그램될 셀과 연결된 비트라인일 수 있다.
프로그램 동작의 종료 지점(PGM End)에서, 제1 내지 제8 비트라인(BL1~BL8)은 프로그램이 완료된 셀들과 연결된 비트라인일 수 있다.
비트라인 로딩은 인접한 비트라인들 간의 커패시턴스에 의해 발생할 수 있다. 커패시턴스의 크기는 인접한 비트라인들에 인가되는 전압 차에 비례할 수 있다. 따라서, 비트라인 로딩은 인접한 비트라인들 간의 전압 차가 크면 큰 값을 가지고, 인접한 비트라인들 간의 전압 차가 작으면 작은 값을 가질 수 있다.
비트라인 로딩이 클수록, 비트라인의 전위를 일정한 레벨로 상승시키는 비트라인 프리차지 동작시 더 많은 시간이 필요할 수 있다. 비트라인 로딩이 작을수록 비트라인 프리차지 동작시 더 적은 시간이 필요할 수 있다.
도 8에서, 프로그램 동작의 시작 지점(PGM Start)에서 인접한 비트라인들 간의 전압이 프로그램 허용 전압인 접지 전압(Vgnd)으로 동일하기 때문에 비트라인 로딩이 작을 수 있다. 따라서 비트라인 프리차지 동작시 시간이 더 적은 시간이 필요할 수 있다.
프로그램 동작이 수행되는 동안(Programming), 프로그램될 셀과 연결된 비트라인과 프로그램이 완료된 셀과 연결된 비트라인은 인접할 수 있다. 따라서 인접한 비트라인들 간의 전압이 다르기 때문에 전압 차가 발생하고 비트라인 로딩이 클 수 있다. 따라서 비트라인 프리차지 동작시 더 많은 시간이 필요할 수 있다.
프로그램 동작의 종료 지점(PGM End)에서 인접한 비트라인들 간의 전압이 프로그램 금지 전압(Vinh)으로 동일하기 때문에 비트라인 로딩이 작을 수 있다. 따라서 비트라인 프리차지 동작시 더 적은 시간이 필요할 수 있다.
도 7은 프로그램 동작의 진행도에 따른 비트라인 로딩 변화를 설명하기 위한 도면이다.
도 7을 참조하면, 그래프의 가로축은 시간이고 세로 축은 비트라인 로딩일 수 있다.
프로그램 동작의 시작지점(PGM Start)에서, 비트라인들은 프로그램될 셀들과 연결된 비트라인들일 수 있다. 따라서, 프로그램 동작의 시작지점(PGM Start)에서 인접한 비트라인들 간의 전압이 프로그램 허용 전압으로 동일한 경우가 많으므로 비트라인 로딩이 작을 수 있다.
프로그램 동작의 중간지점(PGM Mid)에서 프로그램될 셀들과 연결된 비트라인들의 개수와 프로그램이 완료된 셀들과 연결된 비트라인들의 개수는 비슷할 수 있다. 따라서, 인접한 비트라인들 간의 전압이 프로그램 허용 전압과 프로그램 금지 전압으로 서로 다른 경우가 제일 많으므로 비트라인 로딩이 가장 클 수 있다.
프로그램 동작의 종료지점(PGM End)에서, 비트라인들은 프로그램이 완료된 셀들과 연결된 비트라인들일 수 있다. 따라서, 프로그램 동작의 종료지점(PGM End)에서 인접한 비트라인들 간의 전압이 프로그램 금지 전압으로 동일한 경우가 많으므로 비트라인 로딩이 작을 수 있다.
프로그램 동작이 수행되는 동안, 전체 비트라인들 중 프로그램될 셀들과 연결된 비트라인들의 개수는 감소하고 프로그램이 완료된 셀들과 연결된 비트라인들의 개수는 증가할 수 있다.
따라서, 프로그램 동작의 시작지점(PGM Start)부터 프로그램 동작의 중간지점(PGM Mid)까지 인접한 비트라인들 간의 전압이 프로그램 허용 전압과 프로그램 금지 전압으로 서로 다른 경우가 증가하므로 비트라인 로딩이 증가할 수 있다. 프로그램 동작의 중간지점(PGM Mid)부터 프로그램 동작의 종료지점(PGM End)지점까지 인접한 비트라인들 간의 전압이 서로 다른 경우가 감소하므로 비트라인 로딩이 감소할 수 있다.
실시 예에서, 메모리 장치는 프로그램 동작의 진행도를 기초로 비트라인 로딩의 변화를 예측할 수 있다. 메모리 장치는 비트라인 로딩의 변화에 따라 필요한 비트라인 프리차지 동작의 시간을 판단할 수 있다. 따라서, 메모리 장치는 프로그램 동작의 진행도에 따라 비트라인 프리차지 동작의 시간을 다르게 설정할 수 있다.
예를 들어, 메모리 장치는 프로그램 동작 진행도가 프로그램 동작의 시작지점(PGM Start)과 ta지점 사이에 있는 경우보다, ta지점과 tb지점 사이에 있는 경우 비트라인 프리차지 동작의 시간을 상대적으로 길게 설정할 수 있다. 메모리 장치는 프로그램 동작 진행도가 프로그램 동작의 종료지점(PGM End)과 tb지점 사이에 있는 경우보다, ta지점과 tb지점 사이에 있는 경우 비트라인 프리차지 동작의 시간을 상대적으로 길게 설정할 수 있다.
및 도 13에서 후술하는 바와 같이, 메모리 장치는 비트라인 프리차지 동작의 시간을 다르게 설정하기 위해, 페이지 버퍼 그룹들 각각의 비트라인 프리차지 동작들의 개시 시점들 간의 간격을 조절할 수 있다. 구체적으로, 메모리 장치는 비트라인 프리차지 동작의 시간을 길게 설정하기 위해 페이지 버퍼 그룹들 각각의 비트라인 프리차지 동작들의 개시 시점들 간의 간격을 증가시킬 수 있다. 메모리 장치는 비트라인 프리차지 동작의 시간을 짧게 설정하기 위해 페이지 버퍼 그룹들 각각의 비트라인 프리차지 동작들의 개시 시점들 간의 간격을 감소시킬 수 있다.
메모리 장치는 프로그램 동작 진행도와 적어도 하나 이상의 기준지점들의 비교 결과를 기초로 복수의 페이지 버퍼 그룹들 각각의 비트라인 프리차지 동작들의 개시 시점들 간의 간격을 조절할 수 있다.
도 7에서, ta지점 및 tb지점은 비트라인 프리차지 동작의 시간을 다르게 설정하는 기준지점일 수 있다.
실시 예에서, 프로그램 동작 진행도가 도 4를 참조하여 설명된 프로그램 루프 카운트 인 경우, 기준지점은 기준 값에 대응될 수 있다. 예를 들어, 프로그램 동작 동안 100회의 프로그램 루프가 수행된다고 가정하면, ta지점의 기준 값은 25회이고, 프로그램 동작의 중간지점(PGM Mid)의 기준 값은 50회이고, tb지점의 기준 값이 75회일 수 있다.
메모리 장치는 프로그램 루프 카운트가 ta지점의 기준 값인 25회 이상인 경우, 비트라인 프리차지 동작의 시간을 길게 설정하기 위해 페이지 버퍼 그룹들 각각의 비트라인 프리차지 동작들의 개시 시점들 간의 간격을 증가시킬 수 있다. 메모리 장치는 프로그램 루프 카운트가 tb지점의 기준 값인 75회 이상인 경우, 비트라인 프리차지 동작의 시간을 ?F게 설정하기 위해 페이지 버퍼 그룹들 각각의 비트라인 프리차지 동작들의 개시 시점들 간의 간격을 감소시킬 수 있다.
다른 실시 예에서, 프로그램 동작 진행도가 도 5를 참조하여 설명된 프로그램 검증 동작이 패스된 가장 높은 프로그램 상태인 경우, 기준지점은 기준 상태에 대응될 수 있다. 예를 들어, 프로그램 동작이 소거 상태(E)부터 시작해서 제15 프로그램 상태(P15)까지 수행될 때, ta지점의 기준 상태는 제3 프로그램 상태(P3)이고, 프로그램 동작의 중간지점(PGM Mid)의 기준 상태는 제7 프로그램 상태(P7)이고, tb지점의 기준 상태는 제11 프로그램 상태(P11)일 수 있다.
메모리 장치는 프로그램 검증 동작이 패스된 가장 높은 프로그램 상태가 ta지점의 기준 상태인 제3 프로그램 상태(P3)보다 높거나 같은 경우, 비트라인 프리차지 동작의 시간을 길게 설정하기 위해 페이지 버퍼 그룹들 각각의 비트라인 프리차지 동작들의 개시 시점들 간의 간격을 증가시킬 수 있다. 메모리 장치는 프로그램 검증 동작이 패스된 가장 높은 프로그램 상태가 tb지점의 기준 상태인 제11 프로그램 상태(P11)보다 높거나 같은 경우, 비트라인 프리차지 동작의 시간을 ?F게 설정하기 위해 페이지 버퍼 그룹들 각각의 비트라인 프리차지 동작들의 개시 시점들 간의 간격을 감소시킬 수 있다.
다양한 실시 예에서, 프로그램 동작은 복수의지점들에 따라 복수의 구간들로 구분될 수 있다. 메모리 장치는 각 구간의 비트라인 로딩에 기초하여 각 구간의 비트라인 프리차지 동작 시간을 다르게 설정할 수 있다. 메모리 장치는 각 구간의 비트라인 로딩에 기초하여 각 구간의 비트라인 프리차지 동작들의 개시 시점들 간의 간격을 조절할 수 있다.
본 발명의 실시 예에 따르면, 프로그램 동작의 진행도에 따른 비트라인 로딩을 고려하여 비트라인 프리차지 동작 시간이 설정될 수 있다. 구체적으로, 비트라인 프리차지 동작 시간을 설정하기 위해, 복수의 페이지 버퍼 그룹들 각각이 수행하는 비트라인 프리차지 동작들의 개시 시점들 간의 간격이 조절될 수 있다.
이로써, 비트라인 로딩 구간이 적은 구간에서의 비트라인 프리차지 동작 시간이 단축될 수 있고, 전체 프로그램 동작 속도가 개선될 수 있다.
도 8은 실시 예에 따른 메모리 장치의 구성 및 동작을 설명하기 위한 도면이다.
도 8을 참조하면, 메모리 셀 어레이(110)는 복수의 메모리 셀들을 포함할 수 있다. 읽기 및 쓰기 회로(123)는 복수의 페이지 버퍼 그룹들(PBG1~PBG4)을 포함할 수 있다.
복수의 메모리 셀들은 읽기 및 쓰기 회로(123)의 복수의 페이지 버퍼 그룹들(PBG1~PBG4)과 복수의 비트라인 그룹들(BLGs)을 통해 연결될 수 있다.
복수의 페이지 버퍼 그룹들(PBG1~PBG4) 각각은 대응되는 비트라인 그룹들(BLGs)을 프리차지하는 비트라인 프리차지 동작을 개별적으로 수행할 수 있다. 복수의 페이지 버퍼 그룹들(PBG1~PBG4) 각각은 읽기 및 쓰기 제어 신호(PBSIGNALS)에 포함된 복수의 페이지 버퍼 제어 신호들 각각에 응답하여 비트라인 프리차지 동작을 수행할 수 있다. 구체적으로, 페이지 버퍼 그룹은 페이지 버퍼 제어 신호가 활성화된 구간 동안 비트라인 프리차지 동작을 수행할 수 있다.
복수의 페이지 버퍼 그룹들(PBG1~PBG4) 각각은 서로 다른 시점에 비트라인 프리차지 동작을 개시할 수 있다. 복수의 페이지 버퍼 그룹들(PBG1~PBG4) 각각이 수행하는 비트라인 프리차지 동작들의 구간의 길이는 서로 다를 수 있다. 또는 복수의 페이지 버퍼 그룹들(PBG1~PBG4) 각각이 수행하는 비트라인 프리차지 동작들의 구간의 길이는 동일할 수 있다.
프로그램 동작 제어부(131)는 프로그램 루프 카운터(131a), 프로그램 상태 판단부(131b) 및 페이지 버퍼 제어부(131c)를 포함할 수 있다.
프로그램 루프 카운터(131a)는 프로그램 동작 동안 수행될 적어도 하나 이상의 프로그램 루프들 중 수행된 프로그램 루프의 개수를 카운트할 수 있다. 프로그램 루프 카운터(131a)는 수행된 프로그램 루프의 개수인 프로그램 루프 카운트를 나타내는 프로그램 루프 카운트 정보(PL_INF)를 생성할 수 있다. 프로그램 루프 카운터(131a)는 생성된 프로그램 루프 카운트 정보(PL_INF)를 페이지 버퍼 제어부(131c)에 제공할 수 있다.
프로그램 상태 판단부(131b)는 프로그램 동작 동안, 프로그램 검증 동작이 패스된 상태들 중 가장 높은 프로그램 상태를 판단할 수 있다. 프로그램 상태 판단부(131b)는 프로그램 검증 동작이 패스된 상태들 중 가장 높은 프로그램 상태를 나타내는 프로그램 상태 정보(PV_INF)를 생성할 수 있다. 프로그램 상태 판단부(131b)는 생성된 프로그램 상태 정보(PV_INF)를 페이지 버퍼 제어부(131c)에 제공할 수 있다.
페이지 버퍼 제어부(131c)는 읽기 및 쓰기 회로 제어 신호(PBSIGNALS)를 읽기 및 쓰기 회로(123)에 제공할 수 있다. 읽기 및 쓰기 회로 제어 신호(PBSIGNALS)는 복수의 페이지 버퍼 그룹들(PBG1~PBG4) 각각에 대응되는 복수의 페이지 버퍼 제어 신호들을 포함할 수 있다.
페이지 버퍼 제어부(131c)는 페이지 버퍼 제어 신호를 통해 페이지 버퍼 그룹의 비트라인 프리차지 동작 구간의 길이를 조절할 수 있다. 페이지 버퍼 제어부(131c)는 페이지 버퍼 제어 신호를 통해 페이지 버퍼 그룹의 비트라인 프리차지 동작 시간의 개시 시점을 조절할 수 있다. 예를 들어, 페이지 버퍼 제어부(131c)는 페이지 버퍼 그룹이 비트라인 프리차지 동작을 개시하도록 활성화된 페이지 버퍼 제어 신호를 페이지 버퍼 그룹에 인가할 수 있다. 페이지 버퍼 제어부(131c)는 페이지 버퍼 그룹이 비트라인 프리차지 동작을 종료하도록 비활성화된 페이지 버퍼 제어 신호를 페이지 버퍼 그룹에 인가할 수 있다.
페이지 버퍼 제어부(131c)는 복수의 페이지 버퍼 제어 신호들을 통해 복수의 페이지 버퍼 그룹들(PBG1~PBG4) 각각이 비트라인 프리차지 동작을 개별적으로 수행하도록 제어할 수 있다. 페이지 버퍼 제어부(131c)는 복수의 페이지 버퍼 그룹들(PBG1~PBG4) 각각이 서로 다른 시점에 비트라인 프리차지 동작을 개시하도록 제어할 수 있다.
실시 예에서, 페이지 버퍼 제어부(131c)는 프로그램 동작의 진행도에 따라 복수의 페이지 버퍼 그룹들(PBG1~PBG4) 각각이 수행하는 비트라인 프리차지 동작들의 개시 시점들 간의 간격을 조절할 수 있다. 구체적으로, 페이지 버퍼 제어부(131c)는 프로그램 동작의 진행도에 따라 복수의 페이지 버퍼 그룹들(PBG1~PBG4) 각각에 인가되는 복수의 페이지 버퍼 제어 신호들 각각이 활성화되는 시점들 간의 간격을 조절할 수 있다.
실시 예에서, 페이지 버퍼 제어부(131c)는 프로그램 루프 카운트 정보(PL_INF)에 포함된 프로그램 루프 카운트를 기초로 프로그램 동작의 진행도를 판단할 수 있다.
페이지 버퍼 제어부(131c)는 프로그램 루프 카운트와 적어도 하나 이상의 기준 값들과의 비교 결과에 따라, 비트라인 동작들의 개시 시점들 간의 간격을 조절할 수 있다. 페이지 버퍼 제어부(131c)는 프로그램 루프 카운트가 제1 기준 값보다 크거나 같으면, 비트라인 동작들의 개시 시점들 간의 간격을 증가시킬 수 있다. 페이지 버퍼 제어부(131c)는 프로그램 루프 카운트가 제2 기준 값보다 크거나 같으면, 비트라인 동작들의 개시 시점들 간의 간격을 감소시킬 수 있다. 제2 기준 값은 제1 기준 값과 다를 수 있다. 제2 기준 값은 제1 기준 값보다 클 수 있다.
다른 실시 예에서, 페이지 버퍼 제어부(131c)는 프로그램 상태 정보(PV_INF)에 포함된 프로그램 검증 동작이 패스된 가장 높은 프로그램 상태를 기초로 프로그램 동작의 진행도를 판단할 수 있다.
페이지 버퍼 제어부(131c)는 가장 높은 프로그램 상태와 적어도 하나 이상의 기준 상태들과의 비교 결과에 따라, 비트라인 동작들의 개시 시점들 간의 간격을 조절할 수 있다. 페이지 버퍼 제어부(131c)는 가장 높은 프로그램 상태가 제1 기준 상태보다 높거나 같으면, 비트라인 동작들의 개시 시점들 간의 간격을 증가시킬 수 있다. 페이지 버퍼 제어부(131c)는 가장 높은 프로그램 상태가 제2 기준 상태보다 높거나 같으면, 비트라인 동작들의 개시 시점들 간의 간격을 감소시킬 수 있다. 제2 기준 상태는 제1 기준 상태와 다를 수 있다. 제2 기준 상태는 제1 기준 상태보다 높은 상태일 수 있다.
도 9는 도 8의 읽기 및 쓰기 회로를 설명하기 위한 도면이다.
도 9를 참조하면, 읽기 및 쓰기 회로는 제1 내지 제4 페이지 버퍼 그룹(PBG1~PBG4)을 포함할 수 있다. 읽기 및 쓰기 회로에 포함되는 페이지 버퍼 그룹의 개수는 본 실시 예에 제한되지 않는다.
하나의 워드라인(WL)과 연결된 메모리 셀들이 저장하는 데이터의 단위는 페이지(Page)일 수 있다. 페이지(Page)는 제1 내지 제4 서브 페이지(S1~S4)를 포함할 수 있다. 페이지(Page)에 포함되는 서브 페이지의 개수는 본 실시 예에 제한되지 않는다.
각 서브 페이지를 구성하는 메모리 셀들은 대응되는 비트라인 그룹을 통해 페이지 버퍼 그룹과 연결될 수 있다. 예를 들어, 제1 서브 페이지(S1)를 구성하는 메모리 셀들은 제1 비트라인 그룹(BLG1)을 통해 제1 페이지 버퍼 그룹(PBG1)과 연결될 수 있다. 제2 서브 페이지(S2)를 구성하는 메모리 셀들은 제2 비트라인 그룹(BLG2)을 통해 제2 페이지 버퍼 그룹(PBG2)과 연결될 수 있다. 제3 서브 페이지(S3)를 구성하는 메모리 셀들은 제3 비트라인 그룹(BLG3)을 통해 제3 페이지 버퍼 그룹(PBG3)과 연결될 수 있다. 제4 서브 페이지(S4)를 구성하는 메모리 셀들은 제4 비트라인 그룹(BLG4)을 통해 제4 페이지 버퍼 그룹(PBG4)과 연결될 수 있다.
각 페이지 버퍼 그룹은 인가되는 페이지 버퍼 제어 신호에 응답하여 연결된 비트라인 그룹을 프리차지하는 비트라인 프리차지 동작을 수행할 수 있다. 각 페이지 버퍼 그룹은 활성화된 페이지 버퍼 제어 신호가 인가되면 비트라인 프리차지 동작을 개시하고, 비활성화된 페이지 버퍼 제어 신호가 인가되면 비트라인 프리차지 동작을 종료할 수 있다.
예를 들어, 제1 페이지 버퍼 그룹(PBG1)은 제1 페이지 버퍼 제어 신호(PBSENSE1)에 응답하여, 제1 비트라인 그룹(BLG1)을 프리차지하는 비트라인 프리차지 동작을 수행할 수 있다. 마찬가지 방식으로 제2 내지 제4 페이지 버퍼 그룹(PBG2~PBG4)도 대응되는 제2 내지 제4 페이지 버퍼 제어 신호(PBSENSE2~PBSENSE4)에 응답하여, 대응되는 제2 내지 제4 비트라인 그룹(BLG2~BLG4)을 프리차지하는 비트라인 프리차지 동작을 개별적으로 수행할 수 있다.
도 10은 도 4의 프로그램 전압 인가 단계를 설명하기 위한 도면이다.
도 10을 참조하면, 프로그램 전압 인가 단계는 비트라인 프리차지 동작, 비트라인 플로팅 동작 및 프로그램 전압 인가 동작을 포함할 수 있다.
t1시점부터 t3시점까지 프로그램 동작 수행을 위해 비트라인의 전위를 일정한 레벨로 프리차지하는 비트라인 프리차지 동작이 수행될 수 있다.
t1시점부터 t3시점까지 페이지 버퍼 제어 신호(PBSENSE)는 활성화될 수 있다. 구체적으로, 페이지 버퍼 제어 신호(PBSENSE)는 t1시점에서 로우 레벨에서 제어 전압(VPB) 레벨로 천이되고 활성화될 수 있다. 페이지 버퍼 제어 신호(PBSENSE)는 t3시점에서 제어 전압(VPB) 레벨에서 로우 레벨로 천이되고 비활성화될 수 있다.
실시 예에서, 페이지 버퍼 그룹은 활성화된 페이지 버퍼 제어 신호(PBSENSE)가 인가되면, 비트라인 프리차지 동작을 개시할 수 있다. 페이지 버퍼 그룹은 비활성화된 페이지 버퍼 제어 신호(PBSENSE)가 인가되면, 비트라인 프리차지 동작을 종료할 수 있다.
페이지 버퍼 제어 신호(PBSENSE)가 활성화되는 동안, 비트라인에 프로그램 허용 전압(Vgnd) 또는 프로그램 금지 전압(Vinh)이 인가되면서 비트라인 프리차지 동작이 수행될 수 있다.
구체적으로, 페이지 버퍼 제어 신호(PBSENSE)가 활성화되는 동안, 프로그램될 셀과 연결된 비트라인(PGM BL)에 프로그램 허용 전압(Vgnd)이 인가될 수 있다. 실시 예에서, 프로그램 허용 전압(Vgnd)은 접지 전압일 수 있다. 프로그램 금지 셀과 연결된 비트라인(Inhibit BL)에 프로그램 금지 전압(Vinh)이 인가될 수 있다. 실시 예에서, 프로그램 금지 전압(Vinh)은 전원 전압일 수 있다.
t3시점에서, 비트라인(PGM BL)의 전위는 접지 전압으로 설정되고, 비트라인(Inhibit BL)의 전위는 프로그램 금지 전압(Vinh)으로 설정될 수 있다.
t3시점부터 t6시점까지 프리차지된 비트라인의 전위를 유지시키는 비트라인 플로팅 동작이 수행될 수 있다.
t3시점부터 t6시점까지 페이지 버퍼 제어 신호(PBSENSE)는 비활성화될 수 있다. 구체적으로, 페이지 버퍼 제어 신호(PBSENSE)는 t3시점에서 제어 전압(VPB) 레벨에서 로우 레벨로 천이되고 비활성화될 수 있다.
페이지 버퍼 제어 신호(PBSENSE)가 비활성화되면 비트라인은 플로팅되고 비트라인의 전위는 프리차지된 전압 레벨을 유지할 수 있다.
t3시점부터 t6시점까지, 비트라인(PGM BL)의 전위는 접지 전압을 유지하고, 비트라인(Inhibit BL)의 전위는 프로그램 금지 전압(Vinh)을 유지할 수 있다.
t4시점부터 t6시점까지 선택된 워드라인(Sel. WL)에 프로그램 전압(Vpgm)을 인가하는 프로그램 전압(Vpgm) 인가 동작이 수행될 수 있다. 구체적으로, 선택된 워드라인(Sel. WL)과 비선택된 워드라인(미도시)에 패스 전압(Vpass)이 먼저 인가될 수 있다. 이후 선택된 워드라인(Sel. WL)에 프로그램 전압(Vpgm)이 인가될 수 있다.
t4시점부터 t6시점까지, 선택된 워드라인(Sel. WL)의 전위는 패스 전압(Vpass)까지 상승한 이후에 프로그램 전압(Vpgm)까지 상승할 수 있다. 비선택된 워드라인의 전위는 패스 전압(Vpass)까지 상승한 이후에 패스 전압(Vpass)을 유지할 수 있다.
도 10에서, 선택된 워드라인에 인가된 프로그램 전압(Vpgm)과 비트라인에 인가된 비트라인 전압의 차이에 따라 메모리 셀에 대한 프로그램 동작의 수행 여부가 결정될 수 있다.
프로그램 허용 전압(Vgnd)과 프로그램 전압(Vpgm)의 전위 차는 프로그램 동작이 수행되기에 충분할 수 있다. 따라서, 프로그램 허용 전압(Vgnd)으로 프리차지된 비트라인(PGM BL)과 연결된 메모리 셀은 프로그램될 수 있다.
프로그램 금지 전압(Vinh)과 프로그램 전압(Vpgm)의 전위 차는 프로그램 동작이 수행되기에 부족할 수 있다. 따라서, 프로그램 금지 전압(Vinh)으로 프리차지된 비트라인(Inhibit BL)과 연결된 메모리 셀은 프로그램되지 않을 수 있다.
도 11은 실시 예에 따른 비트라인 프리차지 동작을 설명하기 위한 도면이다.
도 9 및 도 11을 참조하면, 복수의 페이지 버퍼 그룹들(PBG1~PBG4) 각각에 대응되는 복수의 페이지 버퍼 제어 신호들(PBSENSE1~PBSENSE4)이 인가될 수 있다.
도 11에서, 복수의 페이지 버퍼 제어 신호들(PBSENSE1~PBSENSE4) 각각은 페이지 버퍼 제어 신호(PBSENSE)로 동일할 수 있다. 즉, 복수의 페이지 버퍼 그룹들 전체(All PBG)에 동일한 페이지 버퍼 제어 신호(PBSENSE)가 인가될 수 잇다.
ta1시점부터 ta2시점까지, 복수의 페이지 버퍼 그룹들 전체(All PBG)에 일정한 기울기를 갖는 페이지 버퍼 제어 신호(PBSENSE)가 인가될 수 있다.
구체적으로, 페이지 버퍼 제어 신호(PBSENSE)는 ta1시점부터 ta2시점까지 일정한 기울기를 갖고 로우 레벨에서 제어 전압(VPB) 레벨로 상승할 수 있다.
ta2시점부터 ta3시점까지 복수의 페이지 버퍼 그룹들 전체(All PBG)에 제어 전압(VPB1) 레벨을 갖는 페이지 버퍼 제어 신호(PBSENSE)가 인가될 수 있다.
페이지 버퍼 제어 신호(PBSENSE)의 레벨에 따라 비트라인에 전달되는 전압의 크기가 조절될 수 있다. 페이지 버퍼 제어 신호(PBSENSE)의 레벨이 높을수록, 비트라인에 전달되는 전압의 크기는 증가하므로 비트라인의 프리차지 속도는 빨라질 수 있다. 하지만, 비트라인의 프리차지 속도가 빨라질수록 같은 시간 동안 충전되는 전하량이 증가하므로, 페이지 버퍼 그룹에서 발생되는 피크 전류량도 증가할 수 있다.
비트라인의 전위가 급격히 상승하는 비트라인 프리차지 동작의 초반 구간은 전력 소모가 크고 비트라인의 전위가 완만하게 상승하는 비트라인 프리차지 동작의 후반 구간은 전력 소모가 적을 수 있다.
도 10의 비트라인 프리차지 동작의 경우, t1시점에서 페이지 버퍼 제어 신호(PBSENSE)는 로우 레벨에서 제어 전압(VPB) 레벨로 급격히 천이되고, t1시점부터 t3시점까지 제어 전압(VPB) 레벨로 유지된다.
도 10과 같이 비트라인 프리차지 동작의 초반 구간(t1~t2)에 복수의 페이지 버퍼 그룹들 전체(All PBG)에 제어 전압(VPB) 레벨을 갖는 페이지 버퍼 신호(PBSENSE)가 인가되면, 복수의 페이지 버퍼 그룹들 전체(All PBG)의 전력 소모가 급격히 증가하므로 임계 치를 초과하는 피크 전류가 발생할 수 있다.
도 11의 비트라인 프리차지 동작의 경우, ta1시점부터 ta2시점까지 페이지 버퍼 제어 신호(PBSENSE)는 일정한 기울기를 가지고 로우 레벨에서 제어 전압(VPB) 레벨로 천천히 천이될 수 있다. 페이지 버퍼 제어 신호(PBSENSE)는 ta2시점부터 ta3시점까지 제어 전압(VPB) 레벨로 유지된다.
도 11과 같이 비트라인 프리차지 동작의 초반 구간(ta1~ta2)에 복수의 페이지 버퍼 그룹들 전체(All PBG)에 일정한 기울기를 갖는 페이지 버퍼 신호(PBSENSE)가 인가되면, 복수의 페이지 버퍼 그룹들 전체(All PBG)의 전력 소모가 완만하게 증가하므로 임계 치를 초과하는 피크 전류의 발생을 예방할 수 있다.
다양한 실시 예에서, 피크 전류의 발생을 예방하기 위해 기울기의 값은 조절될 수 있다.
기울기의 값이 작을수록 피크 전류 발생을 예방하는데 효과적일 수 있다. 다만, 기울기의 값은 비트라인 프리차지 동작 시간과 반비례할 수 있다. 다시 말해서, 비트라인 프리차지 동작시간이 길어질수록 피크 전류의 크기는 감소하지만, 전체 프로그램 시간이 길어질 수 있다. 비트라인 프리차지 동작시간이 짧아질수록 전체 프로그램 시간의 길이는 짧아지지만, 피크 전류의 크기는 증가할 수 있다.
도 12는 다른 실시 예에 따른 비트라인 프리차지 동작을 설명하기 위한 도면이다.
도 9 및 도 12를 참조하면, 비트라인 프리차지 동작 동안, 복수의 페이지 버퍼 그룹들(PBG1~PBG4) 각각에 대응되는 복수의 페이지 버퍼 제어 신호들(PBSENSE1~PBSENSE4)이 인가될 수 있다.
제1 페이지 버퍼 그룹(PBG1)에는 tb1시점부터 tb5시점까지 제어 전압(VPB) 레벨로 활성화되는 제1 페이지 버퍼 제어 신호(PBSENSE1)가 인가될 수 있다. 제1 페이지 버퍼 제어 신호(PBSENSE1)가 활성화되는시점은 tb1시점일 수 있다. 제1 페이지 버퍼 그룹(PBG1)은 tp1 구간 동안 제1 비트라인 프리차지 동작을 수행할 수 있다. 제1 비트라인 프리차지 동작의 개시시점은 tb1시점일 수 있다.
제2 페이지 버퍼 그룹(PBG2)에는 tb2시점부터 tb5시점까지 제어 전압(VPB) 레벨로 활성화되는 제2 페이지 버퍼 제어 신호(PBSENSE2)가 인가될 수 있다. 제2 페이지 버퍼 제어 신호(PBSENSE2)가 활성화되는시점은 tb2시점일 수 있다. 제2 페이지 버퍼 그룹(PBG2)은 tp2 구간 동안 제2 비트라인 프리차지 동작을 수행할 수 있다. 제2 비트라인 프리차지 동작의 개시시점은 tb2시점일 수 있다.
제3 페이지 버퍼 그룹(PBG3)에는 tb3시점부터 tb5시점까지 제어 전압(VPB) 레벨로 활성화되는 제3 페이지 버퍼 제어 신호(PBSENSE3)가 인가될 수 있다. 제3 페이지 버퍼 제어 신호(PBSENSE3)가 활성화되는시점은 tb3시점일 수 있다. 제3 페이지 버퍼 그룹(PBG3)은 tp3 구간 동안 제3 비트라인 프리차지 동작을 수행할 수 있다. 제3 비트라인 프리차지 동작의 개시시점은 tb3시점일 수 있다.
제4 페이지 버퍼 그룹(PBG4)에는 tb4시점부터 tb5시점까지 제어 전압(VPB) 레벨로 활성화되는 제4 페이지 버퍼 제어 신호(PBSENSE4)가 인가될 수 있다. 제4 페이지 버퍼 제어 신호(PBSENSE4)가 활성화되는시점은 tb4시점일 수 있다. 제4 페이지 버퍼 그룹(PBG4)은 tp4 구간 동안 제4 비트라인 프리차지 동작을 수행할 수 있다. 제4 비트라인 프리차지 동작의 개시시점은 tb4시점일 수 있다.
복수의 구간들(tp1~tp4)들 중 최단 구간(tp4)의 길이는 디폴트 값(tref)로 고정될 수 있다. 디폴트 값(tref)은 비트라인의 전위를 설정된 레벨로 프리차지하는데 필요한 최소한의 시간일 수 있다. 복수의 구간들(tp1~tp4)은 최단 구간(tp4)을 기준으로 tgap만큼 순차적으로 증가할 수 있다.
tgap은 각 비트라인 프리차지 동작들의 개시시점들 간의 간격일 수 있다. 또는 tgap은 각 페이지 버퍼 제어 신호가 활성화 되는시점들 간의 간격일 수 있다.
실시 예에서, 비트라인의 전위가 급격히 상승하는 비트라인 프리차지 동작의 초반 구간은 전력 소모가 크고 비트라인의 전위가 완만하게 상승하는 비트라인 프리차지 동작의 후반 구간은 전력 소모가 적을 수 있다.
도 10의 경우 복수의 페이지 버퍼 그룹들 전체(All PBG)에 t1시점부터 t3시점까지 제어 전압(VPB) 레벨로 활성화되는 페이지 버퍼 제어 신호(PBSENSE)가 인가될 수 있다. 복수의 페이지 버퍼 그룹들 전체(All PBG)는 동시에 비트라인 프리차지 동작을 개시할 수 있다. 이 경우, 복수의 페이지 버퍼 그룹들 전체(All PBG)가 전력 소모가 큰 비트라인 프리차지 동작의 초반 구간이 중첩되므로, 전력 소모가 급격히 증가하여 임계 치를 초과하는 피크 전류가 발생할 수 있다.
도 10과 달리 도 12의 경우 복수의 페이지 버퍼 그룹들(PBG1~PBG4) 각각은 비트라인 프리차지 동작들을 서로 다른시점에 개시할 수 있다. 각 비트라인 프리차지 동작 간에 전력 소모가 큰 비트라인 프리차지 동작의 초반 구간이 중첩되지 않게 함으로써, 피크 전류의 발생이 예방될 수 있다.
도 12에서, tb1시점부터 tb4시점까지의 구간은 도 10의 t1시점부터 t2시점까지의 구간에 대응될 수 있다. tb4시점부터 tb5시점까지의 구간은 도 10의 t2시점부터 t3시점까지의 구간에 대응될 수 있다. 따라서, 도 10과 비교하여 비트라인 프리차지 동작 시간이 동일함에도 피크 전류의 발생을 예방할 수 있는 이점이 있다.
도 11의 경우, 복수의 페이지 버퍼 그룹들 전체(All PBG)에 ta1시점부터 ta2시점까지 일정한 기울기를 갖는 램프(ramp) 신호 형태의 페이지 버퍼 제어 신호(PBSENSE)가 인가될 수 있다. 도 11의 경우 램프(ramp) 신호 형태의 페이지 버퍼 제어 신호(PBSENSE)를 생성하기 위해 메모리 장치에 별도의 램프 회로가 필요할 수 있다.
도 12의 경우, 구형파(square wave) 형태의 페이지 버퍼 제어 신호들(PBSENSE1~PBSENSE4)이 복수의 페이지 버퍼들(PBG1~PBG4)에 인가됨으로써, 동일한 시간 대비 도 11보다 비트라인의 전위가 빠르게 상승할 수 있다. 따라서, 도 11과 비교하여 피크 전류의 발생을 예방하면서 비트라인 프리차지 동작 시간이 짧은 이점이 있다.
도 12의 경우, 램프 회로보다 단순하고 작은 트랜지스터 스위치만으로 구형파(square wave) 형태의 페이지 버퍼 제어 신호를 생성할 수 있기 때문에, 메모리 장치의 레이아웃 면적을 개선할 수 있다.
도 13은 도 12의 비트라인 프리차지 동작의 개시시점들 간의 간격을 조절하는 동작을 설명하기 위한 도면이다.
도 13을 참조하면, 비트라인 프리차지 동작의 개시시점들 간의 간격은 tgap에서 tgap+Δ로 조절될 수 있다. Δ는 양의 값 또는 음의 값을 가질 수 있다. 도 13에서, Δ는 양의 값을 갖는 것으로 가정하여 설명한다.
제1 페이지 버퍼 그룹(PBG1)에는 tc1시점부터 tc5시점까지 제어 전압(VPB) 레벨로 활성화되는 제1 페이지 버퍼 제어 신호(PBSENSE1)가 인가될 수 있다. 제1 페이지 버퍼 제어 신호(PBSENSE1)가 활성화되는시점은 tc1시점일 수 있다. 제1 페이지 버퍼 그룹(PBG1)은 tp1' 구간 동안 제1 비트라인 프리차지 동작을 수행할 수 있다. 제1 비트라인 프리차지 동작의 개시시점은 tc1시점일 수 있다.
제2 페이지 버퍼 그룹(PBG2)에는 tc2시점부터 tc5시점까지 제어 전압(VPB) 레벨로 활성화되는 제2 페이지 버퍼 제어 신호(PBSENSE2)가 인가될 수 있다. 제2 페이지 버퍼 제어 신호(PBSENSE2)가 활성화되는시점은 tc2시점일 수 있다. 제2 페이지 버퍼 그룹(PBG2)은 tp2' 구간 동안 제2 비트라인 프리차지 동작을 수행할 수 있다. 제2 비트라인 프리차지 동작의 개시시점은 tc2시점일 수 있다.
제3 페이지 버퍼 그룹(PBG3)에는 tc3시점부터 tc5시점까지 제어 전압(VPB) 레벨로 활성화되는 제3 페이지 버퍼 제어 신호(PBSENSE3)가 인가될 수 있다. 제3 페이지 버퍼 제어 신호(PBSENSE3)가 활성화되는시점은 tc3시점일 수 있다. 제3 페이지 버퍼 그룹(PBG3)은 tp3' 구간 동안 제3 비트라인 프리차지 동작을 수행할 수 있다. 제3 비트라인 프리차지 동작의 개시시점은 tc3시점일 수 있다.
제4 페이지 버퍼 그룹(PBG4)에는 tc4시점부터 tc5시점까지 제어 전압(VPB) 레벨로 활성화되는 제4 페이지 버퍼 제어 신호(PBSENSE4)가 인가될 수 있다. 제4 페이지 버퍼 제어 신호(PBSENSE4)가 활성화되는시점은 tc4시점일 수 있다. 제4 페이지 버퍼 그룹(PBG4)은 tp4' 구간 동안 제4 비트라인 프리차지 동작을 수행할 수 있다. 제4 비트라인 프리차지 동작의 개시시점은 tc4시점일 수 있다.
복수의 구간들(tp1'~tp4')들 중 최단 구간(tp4')의 길이는 디폴트 값(tref)로 고정될 수 있다. 디폴트 값(tref)은 비트라인의 전위를 설정된 레벨로 프리차지하는데 필요한 최소한의 시간일 수 있다. 복수의 구간들(tp1'~tp4')은 최단 구간(tp4')을 기준으로 tgap+Δ만큼 순차적으로 증가할 수 있다.
도 7을 참조하면, 비트라인 로딩이 클수록 비트라인 프리차지 동작의 시간이 많이 필요하고, 비트라인 로딩이 적을수록 비트라인 프리차지 동작의 시간이 적게 필요할 수 있다.
따라서 프로그램 동작 전체 구간 동안 비트라인 프리차지 동작의 시간을 일률적으로 설정하는 것이 아니라, 비트라인 로딩을 고려하여 비트라인 프리차지 동작의 시간을 가변적으로 설정하는 것이 효율적일 수 있다. 비트라인 로딩이 적은 구간은 비트라인 로딩이 큰 구간보다 비트라인 프리차지 동작의 시간을 상대적으로 짧게 설정함으로써, 전체 프로그램 동작 시간이 단축될 수 있다.
실시 예에서, 비트라인 로딩에 따라 비트라인 프리차지 동작들의 개시시점들 간의 간격이 조절될 수 있다. 구체적으로, 프로그램 동작의 진행도에 따라 비트라인 프리차지 동작들의 개시시점들 간의 간격이 조절될 수 있다. 비트라인 로딩은 프로그램 동작의 진행도를 기초로 예측될 수 있다.
비트라인 프리차지 동작들의 개시시점들 간의 간격이 조절되면, 비트라인 프리차지 동작들의 구간의 길이도 조절될 수 있다.
예를 들어, 비트라인 프리차지 동작들의 개시시점들 간의 간격이 tgap에서 tgap+Δ으로 조절되면, 비트라인 프리차지 동작들의 구간의 길이도 tp1내지 tp4에서 tp1' 내지 tp4'으로 각각 조절될 수 있다.
프로그램 동작의 진행도가 도 7을 참조하여 설명된 ta지점에 도달하면, 비트라인 프리차지 동작들의 개시시점들 간의 간격은 증가할 수 있다. 즉, Δ의 값은 증가할 수 있다. Δ의 값이 증가하면, 복수의 페이지 버퍼 그룹들 각각이 수행하는 비트라인 프리차지 동작들의 구간의 길이도 증가할 수 있다.
프로그램 동작의 진행도가 도 7을 참조하여 설명된 tb지점에 도달하면, 비트라인 프리차지 동작들의 개시시점들 간의 간격은 감소할 수 있다. 즉, Δ의 값은 감소할 수 있다. Δ의 값이 감소하면, 복수의 페이지 버퍼 그룹들 각각이 수행하는 비트라인 프리차지 동작들의 구간의 길이도 감소할 수 있다.
도 14는 실시 예에 따른 프로그램의 동작을 설명하기 위한 순서도이다.
도 14를 참조하면, S1401 단계에서 프로그램 동작의 진행도를 기초로 비트라인 프리차지 동작 개시 시점들 간의 간격이 결정될 수 있다.
프로그램 동작의 진행도는 프로그램 동작이 전체 구간 중 어느 지점까지 수행되었는지를 나타낼 수 있다. 프로그램 진행도는 도 4를 참조하여 설명된 프로그램 루프 카운트나 도 5를 참조하여 설명된 프로그램 검증 동작이 패스된 상태들 중 가장 높은 프로그램 상태일 수 있다.
도 9를 참조하여 설명된 복수의 페이지 버퍼 그룹들 각각이 수행하는 비트라인 프리차지 동작들의 개시 시점들 간의 간격은 도 13에서 설명된 바와 같이 프로그램 동작의 진행도에 따라 조절될 수 있다.
S1403단계에서, 프로그램 전압 인가 동작 및 프로그램 검증 동작을 포함하는 프로그램 동작이 복수의 메모리 셀들에 대해 수행될 수 있다. 프로그램 전압 인가 동작시 복수의 메모리 셀들과 연결된 복수의 비트라인 그룹들을 프리차지하는 비트라인 프리차지 동작이 수행될 수 있다. 복수의 페이지 버퍼 그룹들 각각이 수행하는 비트라인 프리차지 동작들은 결정된 개시 시점들 간의 간격을 기초로 수행될 수 있다.
S1405단계에서, 프로그램 동작이 완료되었는지 판단될 수 있다. 판단 결과 프로그램 동작이 완료되면 동작을 종료하고, 프로그램 동작이 완료되지 않으면 S1401단계로 진행한다.
구체적으로, 복수의 메모리 셀들이 프로그램될 상태들에 대한 프로그램 검증 동작이 모두 패스되면, 프로그램 동작은 완료된 것으로 판단될 수 있다. 복수의 메모리 셀들이 프로그램될 상태들 중 적어도 하나의 프로그램 상태에 대한 프로그램 검증 동작이 페일되면, 프로그램 동작은 완료되지 않은 것으로 판단될 수 있다.
도 15는 실시 예에 따른 도 14의 프로그램의 동작을 상세히 설명하기 위한 순서도이다.
도 15를 참조하면, S1501단계에서, 프로그램 루프 카운트는 0으로 설정될 수 있다.
S1503단계에서 프로그램 루프 카운트는 기준 값과 동일한지 판단될 수 있다. 기준 값의 개수는 적어도 하나 이상일 수 있다. 프로그램 루프 카운트가 기준 값과 동일하면 S1505단계로 진행하고, 프로그램 루프 카운트가 기준 값과 다르면 S1507단계로 진행한다. S1505단계로 진행할 때, 이전 기준 값은 적어도 하나 이상의 기준 값들 중 다음 기준 값으로 변경될 수 있다.
S1505단계에서, 비트라인 프리차지 동작들의 개시 시점들 간의 간격이 조절될 수 있다. S1503단계에서의 프로그램 루프 카운트와 기준 값의 비교 결과를 기초로 프로그램 동작의 진행도가 판단될 수 있다. 도 13에서 설명된 바와 같이, 프로그램 동작의 진행도에 따라 복수의 페이지 버퍼 그룹들 각각이 수행하는 비트라인 프리차지 동작들의 개시 시점들 간의 간격이 조절될 수 있다.
S1507단계에서, 프로그램 루프가 진행되고 프로그램 루프 카운트가 증가할 수 있다. 프로그램 루프는 프로그램 전압 인가 동작 및 프로그램 검증 동작을 포함할 수 있다. 프로그램 전압 인가 동작 동안 비트라인 프리차지 동작이 수행될 수 있다. 복수의 페이지 버퍼 그룹들 각각이 수행하는 비트라인 프리차지 동작들은 조절된 개시 시점들 간의 간격을 기초로 수행될 수 있다.
S1509단계에서, 프로그램 동작이 완료되었는지 판단될 수 있다. 판단 결과 프로그램 동작이 완료되면 동작을 종료하고, 프로그램 동작이 완료되지 않으면 S1503단계로 진행한다. 프로그램 동작의 완료 여부 판단은 S1403 단계와 마찬가지로 수행될 수 있다. 다만 프로그램 루프 카운트가 미리 설정된 최대 횟수를 초과하면, 프로그램 동작은 페일로 처리되고 동작은 종료될 수 있다.
도 16은 다른 실시 예에 따른 도 14의 프로그램의 동작을 상세히 설명하기 위한 순서도이다.
도 16을 참조하면 S1601단계에서, n은 1로 설정될 수 있다.
S1603단계에서, 검증 패스된 프로그램 상태는 기준 상태와 동일한지 판단될 수 있다. 기준 상태의 개수는 적어도 하나 이상일 수 있다. 검증 패스된 프로그램 상태가 기준 상태와 동일하면 S1605단계로 진행하고, 검증 패스된 프로그램 상태가 기준 상태와 다르면 S1607단계로 진행한다. S1605단계로 진행할 때, 이전 기준 상태는 적어도 하나 이상의 기준 상태들 중 다음 기준 상태로 변경될 수 있다.
S1605단계에서, 비트라인 프리차지 동작들의 개시 시점들 간의 간격이 조절될 수 있다. S1503단계에서의 검증 패스된 프로그램 상태와 기준 상태의 비교 결과를 기초로 프로그램 동작의 진행도가 판단될 수 있다. 도 13에서 설명된 바와 같이, 프로그램 동작의 진행도에 따라 복수의 페이지 버퍼 그룹들 각각이 수행하는 비트라인 프리차지 동작들의 개시 시점들 간의 간격이 조절될 수 있다.
S1607단계에서, 제1 내지 제k(k는 1이상의 자연수) 상태 중 어느 하나의 프로그램 상태로 프로그램되는 복수의 메모리 셀들에 대한 프로그램 펄스 인가 동작이 수행될 수 있다. 프로그램 펄스 인가 동작 동안 비트라인 프리차지 동작이 수행될 수 있다. 복수의 페이지 버퍼 그룹들 각각이 수행하는 비트라인 프리차지 동작들은 조절된 개시 시점들 간의 간격을 기초로 수행될 수 있다.
S1609단계에서, 제n 상태에 대한 프로그램 검증 동작이 수행될 수 있다.
구체적으로, 제1 내지 제k 상태 중 제n 상태로 프로그램될 메모리 셀들에 대한 프로그램 검증 동작이 수행될 수 있다. 제n 상태로 프로그램될 메모리 셀들이 제n 상태에 대응되는 검증 전압에 의해 모두 오프 셀(Off-Cell)로 판독되면, 제n 상태에 대한 프로그램 검증 동작은 패스일 수 있다. 제n 상태로 프로그램될 메모리 셀들 중 적어도 하나의 메모리 셀이 제n 상태에 대응되는 검증 전압에 의해 온 셀(On-Cell)로 판독되면, 제n 상태에 대한 프로그램 검증 동작은 페일일 수 있다.
S1611단계에서, S1609단계에서 수행된 프로그램 검증 동작이 패스되었는지 판단될 수 있다. 판단 결과 프로그램 검증 동작이 패스되면 S1613단계로 진행하고, 프로그램 검증 동작이 페일되면 S1611단계로 진행한다.
S1613단계에서, 프로그램 동작이 완료되었는지 판단될 수 있다. 판단 결과 프로그램 동작이 완료되면 동작을 종료하고, 프로그램 동작이 완료되지 않으면 S1615단계로 진행한다.
제1 내지 제k 상태에 대한 프로그램 검증 동작이 모두 패스되면 프로그램 동작은 완료된 것으로 판단될 수 있다. 제1 내지 제k 상태 중 적어도 하나의 프로그램 상태에 대한 프로그램 검증 동작이 페일되면 프로그램 동작은 완료되지 않은 것으로 판단될 수 있다.
S1615단계에서, n은 1만큼 증가할 수 있다.
50: 저장 장치
100: 메모리 장치
110: 메모리 셀 어레이
123: 읽기 및 쓰기 회로
131: 프로그램 동작 제어부
200: 메모리 컨트롤러
300: 호스트

Claims (19)

  1. 복수의 메모리 셀들을 포함하는 메모리 셀 어레이;
    상기 복수의 메모리 셀들과 복수의 비트라인 그룹들을 통해 연결되고, 상기 복수의 비트라인 그룹들을 프리차지하는 비트라인 프리차지 동작들을 수행하는 복수의 페이지 버퍼 그룹들; 및
    상기 복수의 메모리 셀들에 대한 프로그램 동작 동안, 서로 다른 시점에 비트라인 프리차지 동작을 개시하도록 상기 복수의 페이지 버퍼 그룹들 각각을 제어하고, 상기 프로그램 동작의 진행도에 따라 상기 비트라인 프리차지 동작들의 개시 시점들 간의 간격을 조절하는 프로그램 동작 제어부;를 포함하는 메모리 장치.
  2. 제 1항에 있어서, 상기 프로그램 동작 제어부는,
    서로 다른 시점에 활성화되는 복수의 페이지 버퍼 제어 신호들 각각을 대응되는 상기 복수의 페이지 버퍼 그룹들 각각에 인가하고,
    상기 복수의 페이지 버퍼 그룹들 각각은,
    상기 복수의 페이지 버퍼 제어 신호들 각각에 따라 상기 비트라인 프리차지 동작들을 수행하는 메모리 장치.
  3. 제 2항에 있어서,
    상기 프로그램 동작을 수행하는 주변 회로를 더 포함하고,
    상기 주변 회로는,
    상기 복수의 페이지 버퍼 그룹들을 포함하고, 제1 내지 제n(n은 자연수) 프로그램 상태 중 어느 하나의 프로그램 상태로 프로그램되는 상기 복수의 메모리 셀들에 대한 프로그램 전압 인가 동작과 상기 제1 내지 제n 프로그램 상태 중 적어도 하나의 프로그램 상태에 대한 프로그램 검증 동작을 수행하는 메모리 장치.
  4. 제 3항에 있어서, 상기 프로그램 동작의 진행도는,
    상기 제1 내지 제n 프로그램 상태 중 프로그램 검증 동작이 패스된 가장 높은 프로그램 상태인 메모리 장치.
  5. 제 4항에 있어서, 상기 프로그램 동작 제어부는,
    상기 가장 높은 프로그램 상태와 적어도 하나 이상의 기준 상태들의 비교 결과에 따라 상기 복수의 페이지 버퍼 제어 신호들이 활성화되는 시점들 간의 간격을 조절하는 메모리 장치.
  6. 제 5항에 있어서, 상기 프로그램 동작 제어부는,
    상기 가장 높은 프로그램 상태가 상기 적어도 하나 이상의 기준 상태들 중 제1 기준 상태보다 높거나 같으면, 상기 복수의 페이지 버퍼 제어 신호들이 활성화되는 시점들 간의 간격을 증가시키는 메모리 장치.
  7. 제 6항에 있어서, 상기 프로그램 동작 제어부는,
    상기 가장 높은 프로그램 상태가 상기 적어도 하나 이상의 기준 상태들 중 상기 제1 기준 상태와 상이한 제2 기준 상태보다 높거나 같으면, 상기 복수의 페이지 버퍼 제어 신호들이 활성화되는 시점들 간의 간격을 감소시키는 메모리 장치.
  8. 제 3항에 있어서, 상기 주변 회로는,
    상기 프로그램 전압 인가 동작과 상기 프로그램 검증 동작을 각각 포함하는 적어도 하나 이상의 프로그램 루프들을 수행하고,
    상기 프로그램 동작의 진행도는,
    상기 프로그램 동작 동안 수행된 프로그램 루프의 개수인 프로그램 루프 카운트를 기초로 결정되는 메모리 장치.
  9. 제 8항에 있어서, 상기 프로그램 동작 제어부는,
    상기 프로그램 루프 카운트와 적어도 하나 이상의 기준 값들의 비교 결과에 따라 상기 복수의 페이지 버퍼 제어 신호들이 활성화되는 시점들 간의 간격을 조절하는 메모리 장치.
  10. 제 9항에 있어서, 상기 프로그램 동작 제어부는,
    상기 프로그램 루프 카운트가 상기 적어도 하나 이상의 기준 값들 중 제1 기준 값보다 크거나 같으면 상기 복수의 페이지 버퍼 제어 신호들이 활성화되는 시점들 간의 간격을 증가시키는 메모리 장치.
  11. 제 10항에 있어서, 상기 프로그램 동작 제어부는,
    상기 프로그램 루프 카운트가 상기 적어도 하나 이상의 기준 값들 중 상기 제1 기준 값과 상이한 제2 기준 값보다 크거나 같으면 상기 복수의 페이지 버퍼 제어 신호들이 활성화되는 시점들 간의 간격을 감소시키는 메모리 장치.
  12. 제 1항에 있어서,
    상기 비트라인 프리차지 동작들이 수행되는 구간들 중 최단 구간의 길이는 디폴트 값으로 고정되는 메모리 장치.
  13. 복수의 메모리 셀들에 대한 프로그램 동작을 수행하는 메모리 장치의 동작 방법에 있어서,
    상기 프로그램 동작의 진행도에 따라, 상기 복수의 메모리 셀들과 연결된 복수의 비트라인 그룹들을 프리차지하는 비트라인 프리차지 동작들의 개시 시점들 간의 간격을 결정하는 단계; 및
    상기 결정된 개시 시점들 간의 간격에 따라, 상기 비트라인 프리차지 동작들을 수행하는 단계;를 포함하는 메모리 장치의 동작 방법.
  14. 제 13항에 있어서, 상기 프로그램 동작은
    적어도 하나 이상의 프로그램 루프들을 포함하고,
    상기 적어도 하나 이상의 프로그램 루프들 각각은,
    제1 내지 제n(n은 자연수) 프로그램 상태 중 어느 하나의 프로그램 상태로 프로그램되는 상기 복수의 메모리 셀들에 대한 프로그램 전압 인가 동작과 상기 제1 내지 제n 프로그램 상태 중 적어도 하나의 프로그램 상태에 대한 프로그램 검증 동작을 포함하는 메모리 장치의 동작 방법.
  15. 제 14항에 있어서, 상기 프로그램 동작의 진행도는,
    상기 제1 내지 제n(n은 자연수) 프로그램 상태 중 프로그램 검증 동작이 패스된 가장 높은 프로그램 상태를 나타내는 메모리 장치의 동작 방법.
  16. 제 15항에 있어서, 상기 간격을 결정하는 단계는,
    상기 가장 높은 프로그램 상태와 적어도 하나 이상의 기준 상태들과의 비교 결과에 따라, 상기 비트라인 프리차지 동작들의 개시 시점들 간의 간격이 증가되거나 감소되도록 결정하는 단계를 포함하는 메모리 장치의 동작 방법.
  17. 제 14항에 있어서, 상기 프로그램 동작의 진행도는,
    상기 프로그램 동작 동안 수행된 프로그램 루프들의 개수인 프로그램 루프 카운트를 기초로 결정되는 메모리 장치의 동작 방법.
  18. 제 17항에 있어서, 상기 간격을 결정하는 단계는,
    상기 프로그램 루프 카운트와 적어도 하나 이상의 기준 값들의 비교 결과에 따라 상기 비트라인 프리차지 동작들의 개시 시점들 간의 간격이 증가되거나 감소되도록 결정하는 단계를 포함하는 메모리 장치의 동작 방법.
  19. 제 13항에 있어서,
    상기 비트라인 프리차지 동작들이 수행되는 구간들 중 최단 구간의 길이는 디폴트 값으로 고정되는 메모리 장치의 동작 방법.
KR1020190100570A 2019-08-16 2019-08-16 메모리 장치 및 그 동작 방법 KR20210020697A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020190100570A KR20210020697A (ko) 2019-08-16 2019-08-16 메모리 장치 및 그 동작 방법
US16/856,695 US11270760B2 (en) 2019-08-16 2020-04-23 Memory device with improved bit line precharge performance and method of operating the memory device
CN202010486460.5A CN112397126B (zh) 2019-08-16 2020-06-01 存储器设备及操作存储器设备方法
SG10202005368UA SG10202005368UA (en) 2019-08-16 2020-06-08 Memory device and method of operating the memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190100570A KR20210020697A (ko) 2019-08-16 2019-08-16 메모리 장치 및 그 동작 방법

Publications (1)

Publication Number Publication Date
KR20210020697A true KR20210020697A (ko) 2021-02-24

Family

ID=74567435

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190100570A KR20210020697A (ko) 2019-08-16 2019-08-16 메모리 장치 및 그 동작 방법

Country Status (4)

Country Link
US (1) US11270760B2 (ko)
KR (1) KR20210020697A (ko)
CN (1) CN112397126B (ko)
SG (1) SG10202005368UA (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220124600A (ko) * 2021-03-03 2022-09-14 샌디스크 테크놀로지스 엘엘씨 루프 의존 전압 램프 타깃 및 타이밍 제어를 통한 피크 전류 및 프로그래밍 시간의 최적화

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200141304A (ko) * 2019-06-10 2020-12-18 에스케이하이닉스 주식회사 반도체 장치 및 반도체 장치의 동작 방법
KR20210112661A (ko) * 2020-03-05 2021-09-15 에스케이하이닉스 주식회사 메모리 장치 및 그것의 동작 방법
US11972801B2 (en) 2022-02-07 2024-04-30 Sandisk Technologies, Llc Program voltage dependent program source levels

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3836985B2 (ja) * 1998-09-07 2006-10-25 松下電器産業株式会社 半導体装置
KR100635205B1 (ko) 2004-11-15 2006-10-16 에스티마이크로일렉트로닉스 엔.브이. 플래쉬 메모리 소자의 읽기 방법
KR100729351B1 (ko) 2004-12-31 2007-06-15 삼성전자주식회사 낸드 플래시 메모리 장치 및 그것의 프로그램 방법
KR100669349B1 (ko) * 2005-12-02 2007-01-16 삼성전자주식회사 플래시 메모리 장치 및 그것의 읽기 방법
KR100822805B1 (ko) * 2006-10-20 2008-04-18 삼성전자주식회사 다중 배속 동작 모드를 가지는 플래시 메모리 장치
KR101448851B1 (ko) 2008-02-26 2014-10-13 삼성전자주식회사 비휘발성 메모리 장치에서의 프로그래밍 방법
KR101575851B1 (ko) * 2009-03-13 2015-12-10 삼성전자주식회사 불 휘발성 메모리 장치 및 그것의 프로그램 방법
JP2011065708A (ja) * 2009-09-16 2011-03-31 Toshiba Corp 不揮発性半導体記憶装置
KR20120121166A (ko) * 2011-04-26 2012-11-05 에스케이하이닉스 주식회사 반도체 장치 및 이의 동작 방법
KR101184539B1 (ko) * 2011-06-28 2012-09-19 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그의 동작 방법
KR20130072087A (ko) * 2011-12-21 2013-07-01 에스케이하이닉스 주식회사 비휘발성 메모리 장치, 그 제조 방법 및 그 동작 방법
KR101925018B1 (ko) * 2012-06-19 2018-12-05 삼성전자주식회사 불휘발성 메모리 장치
KR101999764B1 (ko) * 2012-08-24 2019-07-12 에스케이하이닉스 주식회사 반도체 메모리 장치
KR20140026115A (ko) * 2012-08-24 2014-03-05 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
KR102081757B1 (ko) 2013-06-26 2020-02-26 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
KR102161737B1 (ko) * 2013-12-02 2020-10-05 삼성전자주식회사 반도체 메모리 장치의 비트라인 센싱 방법
CN103956187B (zh) * 2014-05-12 2017-07-18 北京兆易创新科技股份有限公司 一种动态预充控制电路和闪存存储系统
CN106373615A (zh) * 2015-07-20 2017-02-01 毛冬冬 一种读出速度可通过位线负载调节的otp存储器设计
KR20180086047A (ko) * 2017-01-20 2018-07-30 삼성전자주식회사 리커버리 구간을 가변하는 불휘발성 메모리 장치 및 그 동작방법
US11361819B2 (en) * 2017-12-14 2022-06-14 Advanced Micro Devices, Inc. Staged bitline precharge

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220124600A (ko) * 2021-03-03 2022-09-14 샌디스크 테크놀로지스 엘엘씨 루프 의존 전압 램프 타깃 및 타이밍 제어를 통한 피크 전류 및 프로그래밍 시간의 최적화
US11636897B2 (en) 2021-03-03 2023-04-25 Sandisk Technologies Llc Peak current and program time optimization through loop dependent voltage ramp target and timing control

Also Published As

Publication number Publication date
CN112397126B (zh) 2024-04-23
CN112397126A (zh) 2021-02-23
US11270760B2 (en) 2022-03-08
US20210050051A1 (en) 2021-02-18
SG10202005368UA (en) 2021-03-30

Similar Documents

Publication Publication Date Title
CN112397126B (zh) 存储器设备及操作存储器设备方法
US20220076754A1 (en) Memory device and method of operating the same
CN112885394B (zh) 存储器装置和操作该存储器装置的方法
KR20220082473A (ko) 메모리 장치 및 그 동작 방법
US11335406B2 (en) Memory device for performing program verify operation and method of operating the same
US11646084B2 (en) Memory device performing program operation and method of operating the same
US11152070B2 (en) Memory device including page buffer and method of operating the memory device
US11348641B2 (en) Memory device and method of operating the same
US11894057B2 (en) Memory device performing program operation and method of operating the same
US11335421B2 (en) Memory device and method of operating the same
KR20220023263A (ko) 메모리 장치 및 그 동작 방법
US11367492B2 (en) Page buffer and operating method thereof
US20230290412A1 (en) Memory device and program operation method thereof
US20240028217A1 (en) Memory device and method of operating the memory device
KR20220023264A (ko) 메모리 장치 및 그 동작 방법
KR20230113995A (ko) 메모리 장치 및 그 동작 방법
KR20220156397A (ko) 메모리 장치 및 그 동작 방법
KR20220120033A (ko) 메모리 장치 및 그 동작 방법
KR20230016299A (ko) 메모리 장치 및 그 동작 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal