KR20220043365A - 메모리 장치 및 이의 동작 방법 - Google Patents

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

Info

Publication number
KR20220043365A
KR20220043365A KR1020200126702A KR20200126702A KR20220043365A KR 20220043365 A KR20220043365 A KR 20220043365A KR 1020200126702 A KR1020200126702 A KR 1020200126702A KR 20200126702 A KR20200126702 A KR 20200126702A KR 20220043365 A KR20220043365 A KR 20220043365A
Authority
KR
South Korea
Prior art keywords
check
verification
program
memory cells
bits
Prior art date
Application number
KR1020200126702A
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 KR1020200126702A priority Critical patent/KR20220043365A/ko
Priority to US17/217,374 priority patent/US11532369B2/en
Priority to CN202110446977.6A priority patent/CN114333929A/zh
Publication of KR20220043365A publication Critical patent/KR20220043365A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • 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/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/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/30Power supply 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/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

Landscapes

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

Abstract

본 발명은 복수의 메모리 셀들을 포함하는 복수의 페이지들; 복수의 프로그램 루프들을 수행하여 상기 복수의 페이지들 중 선택된 페이지를 프로그램하되, 상기 선택된 페이지에 포함된 일부 메모리 셀들 중 제1 목표전압까지 문턱전압이 높아진 메모리 셀들의 개수를 카운트하고, 이전 프로그램 루프에서 수행된 검증 동작의 패스 또는 페일 여부를 판단하는 전류 센싱 체크 동작을 수행하도록 구성된 주변 회로; 및 상기 제1 목표전압까지 문턱전압이 높아진 메모리 셀들의 개수가 기준 개수 이상이면 상기 전류 센싱 체크 동작이 수행되도록 상기 주변 회로를 제어하는 로직 회로를 포함하는 메모리 장치 및 이의 동작 방법을 포함한다.

Description

메모리 장치 및 이의 동작 방법{Memory device and operating method thereof}
본 발명은 메모리 장치 및 이의 동작 방법 에 관한 것으로, 보다 구체적으로는 프로그램 동작을 수행할 수 있는 메모리 장치 및 이의 동작 방법에 관한 것이다.
메모리 장치는 전원 공급이 차단되면 저장된 데이터가 소멸되는 휘발성 메모리 장치 및 전원 공급이 차단되더라도 저장된 데이터가 유지되는 비휘발성 메모리 장치를 포함할 수 있다.
휘발성 메모리 장치는 DRAM(dynamic random-access memory) 및 SRAM(static random-access memory)를 포함할 수 있다. 비휘발성 메모리 장치는 ROM(read only memory), PROM(programmable read only memory), EPROM(erasable PROM), EEPROM(Electrically EPROM), NAND FLASH 등을 포함할 수 있다.
메모리 장치는 메모리 셀 어레이, 주변 회로들 및 로직 회로를 포함할 수 있다.
메모리 셀 어레이는 복수의 메모리 셀들을 포함하며, 복수의 메모리 셀들은 데이터를 저장할 수 있다. 하나의 메모리 셀에 1 비트의 데이터가 저장되는 방식을 SLC(single level cell) 방식이라 하고, 2 비트 이상의 데이터가 저장되는 방식을 MLC(multi level cell) 방식이라 한다. MLC 방식은 메모리 셀에 저장되는 비트의 수에 따라 TLC(triple level cell) 또는 QLC(quadruple level cell) 방식으로 구분될 수 있다. TLC 방식에서는 하나의 메모리 셀에 3 비트의 데이터가 저장될 수 있고, QLC 방식에서는 하나의 메모리 셀에 4 비트의 데이터가 저장될 수 있다.
본 발명의 실시예는 선택된 페이지의 프로그램 동작 시, 목표전압이 가장 낮은 메모리 셀들 중 검증 동작을 패스한 메모리 셀들의 개수가 기준 개수에 도달한 후부터 전류 센싱 체크(current sensing check) 동작을 수행함으로써 동작 시간을 단축할 수 있는 메모리 장치 및 이의 동작 방법을 제공한다.
본 발명의 실시예에 따른 메모리 장치는, 복수의 메모리 셀들을 포함하는 복수의 페이지들; 복수의 프로그램 루프들을 수행하여 상기 복수의 페이지들 중 선택된 페이지를 프로그램하되, 상기 선택된 페이지에 포함된 일부 메모리 셀들 중 제1 목표전압까지 문턱전압이 높아진 메모리 셀들의 개수를 카운트하고, 이전 프로그램 루프에서 수행된 검증 동작의 패스 또는 페일 여부를 판단하는 전류 센싱 체크 동작을 수행하도록 구성된 주변 회로; 및 상기 제1 목표전압까지 문턱전압이 높아진 메모리 셀들의 개수가 기준 개수 이상이면 상기 전류 센싱 체크 동작이 수행되도록 상기 주변 회로를 제어하는 로직 회로를 포함한다.
본 발명의 실시예에 따른 메모리 장치의 동작 방법은, 선택된 페이지에 포함된 메모리 셀들에 프로그램 전압을 인가하는 서브 프로그램 동작을 수행하는 단계; 상기 메모리 셀들 중에서, 목표전압이 가장 낮은 선택된 메모리 셀들의 문턱전압을 검증하기 위한 검증 동작을 수행하는 단계; 상기 검증 동작에서 검출된 패스된 비트의 개수와 기준 개수를 비교하는 단계; 상기 패스된 비트의 개수가 상기 기준 개수 미만이면, 다음 프로그램 루프에서 상기 검증 동작에 대한 패스 또는 페일 여부를 판단하는 전류 센싱 체크 동작을 생략하는 단계; 및 상기 패스된 비트의 개수가 상기 기준 개수 이상이면, 상기 다음 프로그램 루프부터 상기 전류 센싱 체크 동작을 수행하는 단계를 포함한다.
본 기술은 메모리 장치의 프로그램 동작 시간을 단축할 수 있다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템을 설명하기 위한 도면이다.
도 2는 본 발명의 실시 예에 따른 메모리 장치를 설명하기 위한 도면이다.
도 3은 본 발명의 실시 예에 따른 메모리 블록을 설명하기 위한 도면이다.
도 4는 메모리 블록에 포함된 복수의 페이지들을 설명하기 위한 도면이다.
도 5는 메모리 셀들의 문턱전압 분포를 설명하기 위한 도면이다.
도 6은 본 발명의 실시 예에 따른 검증 판단기를 설명하기 위한 도면이다.
도 7a 및 7b는 검증 판단기가 검증 데이터의 패스된 비트를 판단하는 제1 실시 예를 설명하기 위한 도면들이다.
도 8은 검증 판단기가 검증 데이터의 패스된 비트를 판단하는 제2 실시 예를 설명하기 위한 도면이다.
도 9a 및 9b는 검증 판단기가 검증 데이터의 패스된 비트를 판단하는 제3 실시 예를 설명하기 위한 도면들이다.
도 10은 본 발명의 실시 예에 따른 전류 센싱 체크 판단기를 설명하기 위한 도면이다.
도 11a 및 11b는 전류 센싱 체크 판단기가 체크 데이터에 따라 검증 동작의 패스 또는 페일을 판단하는 방법을 설명하기 위한 도면들이다.
도 12는 본 발명의 실시 예에 따른 검증 컨트롤러를 설명하기 위한 도면이다.
도 13은 본 발명의 실시 예에 따른 프로그램 동작을 설명하기 위한 순서도이다.
도 14a 및 14b는 본 발명의 제1 실시 예에 따른 프로그램 동작을 설명하기 위한 도면이다.
도 15는 본 발명의 제2 실시 예에 따른 프로그램 동작을 설명하기 위한 도면이다.
도 16은 본 발명의 제3 실시 예에 따른 프로그램 동작을 설명하기 위한 도면이다.
도 17은 본 발명의 제4 실시 예에 따른 프로그램 동작을 설명하기 위한 도면이다.
도 18은 본 발명의 다른 실시 예에 따른 메모리 장치를 설명하기 위한 도면이다.
도 19는 본 발명의 다른 실시 예에 따른 프로그램 동작을 설명하기 위한 순서도이다.
도 20은 본 발명의 또 다른 실시 예에 따른 프로그램 동작을 설명하기 위한 순서도이다.
도 21은 본 발명의 제5 실시 예에 따른 프로그램 동작을 설명하기 위한 도면이다.
도 22는 본 발명의 제6 실시 예에 따른 프로그램 동작을 설명하기 위한 도면이다.
도 23은 본 발명의 메모리 장치가 적용된 메모리 카드 시스템을 설명하기 위한 도면이다.
도 24는 본 발명의 메모리 장치가 적용된 SSD(Solid State Drive) 시스템을 설명하기 위한 도면이다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 메모리 시스템(memory system; 1000)은 저장 장치(storage device; 1100) 및 메모리 컨트롤러(memory controller; 1200)를 포함할 수 있다. 저장 장치(1100)는 복수의 메모리 장치들(MD)을 포함할 수 있으며, 메모리 장치들(MD)은 입출력 라인들을 통해 메모리 컨트롤러(1200)에 연결될 수 있다.
메모리 컨트롤러(1200)는 호스트(host; 1500)와 메모리 장치(MD) 사이에서 통신할 수 있다. 메모리 컨트롤러(1200)는 호스트(1500)의 요청(request; RQ)에 따라 메모리 장치들(MD)을 제어하기 위한 커맨드(CMD)를 생성할 수 있고, 호스트(1500)의 요청(RQ)이 없더라도 메모리 시스템(1000)의 성능 개선을 위한 백그라운드 동작을 수행할 수 있다.
호스트(1500)는 다양한 동작을 위한 요청들(RQ)을 생성하고, 생성된 요청들(RQ)을 메모리 시스템(1000)에게 출력할 수 있다. 예를 들면, 요청들(RQ)은 프로그램 동작(program operation)을 제어할 수 있는 프로그램 요청(program request), 리드 동작(read operation)을 제어할 수 있는 리드 요청(read request), 소거 동작(erase operation)을 제어할 수 있는 소거 요청(erase request) 등을 포함할 수 있다.
호스트(1500)는 PCIe(Peripheral Component Interconnect Express), ATA(Advanced Technology Attachment), SATA(Serial ATA), PATA(Parallel ATA), SAS(serial attached SCSI), NVMe(Non-Volatile Memory Express), USB(Universal Serial Bus), MMC(Multi-Media Card), ESDI(Enhanced Small Disk Interface), 또는 IDE(Integrated Drive Electronics) 등과 같은 다양한 인터페이스들을 통해 메모리 시스템(1000)과 통신할 수 있다.
도 2는 본 발명의 실시 예에 따른 메모리 장치를 설명하기 위한 도면이다.
도 2를 참조하면, 메모리 장치(MD)는 데이터가 저장되는 메모리 셀 어레이(memory cell array; 110)와, 프로그램, 리드 또는 소거 동작을 수행하는 주변 회로(peripheral circuit; 200)와, 주변 회로(200)를 제어하는 로직 회로(logic circuit; 180)를 포함할 수 있다.
메모리 셀 어레이(110)는 복수의 플래인들(PL1~PLk; k는 양의 정수)을 포함할 수 있으며, 복수의 플래인들(PL1~PLk) 각각은 복수의 메모리 블록들(BLK1~BLKi)을 포함할 수 있다. 메모리 블록들(BLK1~BLKi) 각각은 복수의 메모리 셀들을 포함하며, 메모리 셀들은 기판에 평행하게 배열되는 2차원 구조 또는 기판에 수직 방향으로 적층되는 3차원 구조로 구현될 수 있다.
주변 회로(200)는 전압 생성기(voltage generator; 120), 로우 디코더(row decoder; 130), 페이지 버퍼 그룹(page buffer group; 140), 입출력 회로(input/output circuit; 150), 검증 판단기(verify detector; 160) 및 전류 센싱 체크 판단기(CSC detector; 170)를 포함할 수 있다.
전압 생성기(120)는 전압 코드(VCD)에 응답하여, 다양한 동작들에 필요한 동작 전압들(Vop)을 생성 및 출력할 수 있다. 예를 들면, 전압 생성기(120)는 다양한 레벨들을 가지는 프로그램 전압, 검증 전압, 리드 전압, 패스 전압 및 소거 전압 등을 생성하고 출력할 수 있다.
로우 디코더(130)는 로우 어드레스(RADD)에 따라 메모리 셀 어레이(110)에 포함된 메모리 블록들(BLK1~BLKi) 중에서 하나의 메모리 블록을 선택하고, 선택된 메모리 블록에 동작 전압들(Vop)을 전송할 수 있다.
페이지 버퍼 그룹(140)은 비트 라인들(bit lines)을 통해 메모리 셀 어레이(110)에 연결될 수 있다. 예를 들면, 페이지 버퍼 그룹(140)은 비트 라인들 각각에 연결된 복수의 페이지 버퍼들을 포함할 수 있다. 복수의 페이지 버퍼들은 페이지 버퍼 제어 신호들(PBSIG)에 응답하여 동시에 동작할 수 있으며, 프로그램 또는 리드 동작 시 데이터를 임시로 저장할 수 있다. 프로그램 동작 시 수행되는 검증 동작과 소거 동작 시 수행되는 검증 동작은 리드 동작과 유사한 방식으로 수행될 수 있다. 예를 들면, 페이지 버퍼들은 프로그램 동작 시 메모리 셀들로부터 센싱된 검증 데이터(V_DATA) 또는 체크 데이터(C_DATA)를 출력할 수 있다. 검증 데이터(V_DATA)는 선택된 페이지에 포함된 청크 단위의 데이터일 수 있으며, 체크 데이터(C_DATA)는 선택된 플래인들의 선택된 메모리 블록들에 포함된 선택된 페이지의 데이터일 수 있다. 따라서, 체크 데이터(C_DATA)는 검증 데이터(V_DATA)를 포함할 수 있다.
입출력 회로(150)는 입출력 라인들을 통해 메모리 컨트롤러(도 1의 1200)에 연결될 수 있다. 입출력 회로(150)는 입출력 라인들을 통해 커맨드(CMD), 어드레스(ADD) 및 데이터(DATA)를 입출력할 수 있다. 예를 들면, 입출력 회로(150)는 입출력 라인들을 통해 수신된 커맨드(CMD) 및 어드레스(ADD)를 로직 회로(180)에 전송할 수 있고, 프로그램 동작 시 메모리 컨트롤러(1200)로부터 입출력 라인들을 통해 수신된 데이터(DATA)를 페이지 버퍼 그룹(140)으로 전송할 수 있다. 또한, 리드 동작 시 입출력 회로(150)는 페이지 버퍼 그룹(140)으로부터 수신된 리드된 데이터(DATA)를 입출력 라인들을 통해 메모리 컨트롤러(1200)로 출력할 수 있다.
검증 판단기(160)는 프로그램 동작 시 선택된 목표전압에 도달한 메모리 셀들의 개수에 따라 체크 시작 신호(CSS) 또는 체크 지연 신호(CDS)를 출력하도록 구성될 수 있다. 예를 들면, 검증 판단기(160)는 검증 신호(VFS)에 응답하여 페이지 버퍼 그룹(140)으로부터 검증 데이터(V_DATA)를 수신받고, 검증 데이터(V_DATA)의 패스된 비트의 개수와 기준 개수를 비교하여, 비교 결과에 따라 체크 시작 신호(CSS) 또는 체크 지연 신호(CDS)를 출력할 수 있다. 예를 들면, 검증 판단기(160)는 선택된 플래인에 포함된 선택된 메모리 블록으로부터 검증 데이터(V_DATA)를 수신받고, 수신된 검증 데이터(V_DATA)에 포함된 패스된 비트의 개수를 카운트 할 수 있다. 즉, 검증 판단기(160)는 프로그램 동작 초기에, 선택된 메모리 셀들의 프로그램 상태를 빠르게 판단하기 위하여, 복수의 플래인들(PL1~PLk) 중에서 선택된 어느 하나의 플래인으로부터 검증 데이터(V_DATA)를 수신받고, 검증 데이터(V_DATA)에 포함된 패스된 비트의 개수를 카운트할 수 있다. 검증 데이터(V_DATA)는 선택된 플래인에 포함된 선택된 메모리 블록의 선택된 페이지로부터 센싱된 데이터의 일부일 수 있다. 예를 들면, 검증 데이터(V_DATA)는 선택된 페이지의 데이터 중에서 청크(chunk) 단위로 구분된 데이터일 수 있다. 여기서, 청크는 페이지보다 작은 단위이다. 예를 들면, 하나의 페이지의 용량을 10KB(kilo-byte)라고 가정하면, 하나의 청크는 1KB로 설정될 수 있다. 이러한 경우, 검증 판단기(160)는 1KB의 검증 데이터(V_DATA)를 페이지 버퍼 그룹(140)으로부터 수신받고, 수신된 검증 데이터(V_DATA)에 포함된 패스된 청크 비트를 카운트 할 수 있다. 패스된 청크 비트의 개수가 카운트되면, 검증 판단기(160)는 패스된 청크 비트의 개수와 기준 개수를 비교하고, 비교 결과에 따라 체크 시작 신호(CSS) 또는 체크 지연 신호(CDS)를 출력하도록 구성될 수 있다. 예를 들면, 검증 판단기(160)는 패스된 청크 비트의 개수가 기준 개수 이상이면 체크 시작 신호(CSS)를 출력할 수 있고, 패스된 청크 비트의 개수가 기준 개수 미만이면 체크 지연 신호(CDS)를 출력할 수 있다.
전류 센싱 체크 판단기(170)는 검증 동작의 패스 또는 페일 여부를 판단할 수 있다. 예를 들면, 전류 센싱 체크 판단기(170)는 체크 인에이블 신호(CHS)에 응답하여 페이지 버퍼 그룹(140)으로부터 체크 데이터(C_DATA)를 수신받고, 체크 데이터(C_DATA)에 포함된 페일된 페이지 비트의 개수와 허용 개수를 비교하여, 비교 결과에 따라 체크 패스 신호(CPS) 또는 체크 페일 신호(CFA)를 출력할 수 있다. 예를 들면, 전류 센싱 체크 판단기(170)는 페일된 페이지 비트의 개수가 허용 개수 미만이면 체크 패스 신호(CPS)를 출력할 수 있고, 페일된 페이지 비트의 개수가 허용 개수 이상이면 체크 페일 신호(CFA)를 출력할 수 있다. 전류 센싱 체크 판단기(170)는 복수의 플래인들(PL1~PLk) 중에서 적어도 하나의 플래인에서 검증 동작이 패스되면 나머지 플래인들의 검증 동작이 페일되더라도 프로그램 동작을 패스로 판단하여 체크 패스 신호(CPS)를 출력할 수 있다. 예를 들면, 전류 센싱 체크 판단기(170)는 모든 복수의 플래인들(PL1~PLk)에서 검증 동작이 패스되면 체크 패스 신호(CPS)를 출력할 수 있으며, 복수의 플래인들(PL1~PLk) 중에서 하나의 플래인에서 검증 동작이 패스되더라도 체크 패스 신호(CPS)를 출력할 수 있다.
로직 회로(180)는 커맨드(CMD) 및 어드레스(ADD)에 응답하여, 전압 코드(VCD), 로우 어드레스(RADD), 페이지 버퍼 제어 신호들(PBSIG), 검증 신호(VFS) 및 체크 인에이블 신호(CHS)를 출력할 수 있다. 예를 들면, 로직 회로(180)는 커맨드(CMD)에 응답하여 알고리즘을 수행하는 소프트웨어와, 어드레스(ADD) 및 알고리즘에 따라 다양한 신호들을 출력하도록 구성된 하드웨어를 포함할 수 있다. 또한, 로직 회로(180)는 프로그램 동작 시 메모리 셀들의 프로그램 상태에 따라 전류 센싱 체크 동작을 제어할 수 있는 전류 센싱 체크 컨트롤러(CSC controller; 190)를 포함할 수 있다.
전류 센싱 체크 컨트롤러(190)는 프로그램 동작 시 검증 판단기(160)를 활성화시키기 위한 검증 신호(VFS)를 출력할 수 있고, 체크 시작 신호(CSS) 또는 체크 지연 신호(CDS)에 따라 전류 센싱 체크 판단기(170)를 활성화시키기 위한 체크 인에이블 신호(CHS)를 출력할 수 있다. 또한, 전류 센싱 체크 컨트롤러(190)는 체크 패스 신호(CPS) 또는 체크 페일 신호(CFA)에 따라 선택된 페이지들의 프로그램 동작의 완료 여부를 판단할 수 있다.
도 3은 본 발명의 실시 예에 따른 메모리 블록을 설명하기 위한 도면으로써, 도 2에 도시된 복수의 메모리 블록들(BLK1~BLKi) 중에서 제i 메모리 블록(BLKi)이 예로써 도시된다.
도 3을 참조하면, 제i 메모리 블록(BLKi)은 복수의 스트링들(ST1~STj; j는 양의 정수)을 포함할 수 있다. 제1 내지 제j 스트링들(ST1~STj)은 비트 라인들(BL1~BLj)과 소스 라인(SL) 사이에 연결될 수 있다. 예를 들면, 제1 스트링(ST1)은 제1 비트 라인(BL1)과 소스 라인(SL) 사이에 연결될 수 있고, 제2 스트링(ST2)은 제2 비트 라인(BL2)과 소스 라인(SL) 사이에 연결될 수 있으며, 제j 스트링(STj)은 제j 비트 라인(BLj)과 소스 라인(SL) 사이에 연결될 수 있다.
제1 내지 제j 스트링들(ST1~STj) 각각은 소스 셀렉트 트랜지스터(SST), 복수의 메모리 셀들(C1~Cn) 및 드레인 셀렉트 트랜지스터(DST)를 포함할 수 있으며, 도면에 도시되지는 않았으나 메모리 셀들(C1~Cn)과 소스 또는 드레인 셀렉트 트랜지스터들(SST 또는 DST) 사이에 더미 셀들(dummy cells)이 더 포함될 수도 있다. 제j 스트링(STj)을 예를 들어 스트링의 구성을 구체적으로 설명하면 다음과 같다.
제j 스트링(STj)에 포함된 소스 셀렉트 트랜지스터(SST)는 소스 셀렉트 라인(SSL)에 인가되는 전압에 따라 소스 라인(SL)과 제1 메모리 셀(C1)을 전기적으로 서로 연결하거나 차단할 수 있다. 제1 내지 제n 메모리 셀들(C1~Cn)의 게이트들은 제1 내지 제n 워드 라인들(WL1~WLn)에 각각 연결될 수 있다. 드레인 셀렉트 트랜지스터(DST)는 드레인 셀렉트 라인(DSL)에 인가되는 전압에 따라 제j 비트 라인(BLj)과 제n 메모리 셀(Cn)을 전기적으로 서로 연결하거나 차단할 수 있다. 서로 다른 스트링들(ST1~STj)에 포함된 소스 셀렉트 트랜지스터들(SST)의 게이트들은 소스 셀렉트 라인(SSL)에 공통으로 연결될 수 있고, 제1 내지 제n 메모리 셀들(C1~Cn)의 게이트들은 제1 내지 제n 워드 라인들(WL1~WLn)에 연결될 수 있으며, 드레인 셀렉트 트랜지스터들(DST)의 게이트들은 드레인 셀렉트 라인(DSL)에 공통으로 연결될 수 있다. 동일한 워드 라인에 연결된 메모리 셀들의 그룹을 페이지(page; PG)라 하며, 프로그램 및 리드 동작은 페이지(PG) 단위로 수행될 수 있다.
본 실시 예에 따른 프로그램 동작은 프로그램 전압이 단계적으로 높아지는 ISPP(incremental step pulse program) 방식으로 수행될 수 있다. ISPP 방식의 프로그램 동작에서는 선택된 메모리 셀들의 문턱전압이 목표전압까지 높아질 때까지 복수의 프로그램 루프들(program loops)이 수행될 수 있으며, 프로그램 루프가 수행될 때마다 프로그램 전압은 단계적으로 높아질 수 있다. 각각의 프로그램 루프들에서는 선택된 메모리 셀들의 문턱전압을 높이기 위한 서브 프로그램 동작과, 선택된 메모리 셀들의 문턱전압이 목표전압까지 높아졌는지를 판단하기 위한 검증 동작이 수행될 수 있다. 서브 프로그램 동작에서는 선택된 워드 라인에 프로그램 전압이 인가될 수 있고, 검증 동작에서는 선택된 워드 라인에 검증 전압이 인가될 수 있다. 검증 동작에서 센싱된 메모리 셀들의 데이터에 따라 검증 동작의 패스 또는 페일 여부는 다음 프로그램 루프의 서브 프로그램 동작에서 수행될 수 있다. 서브 프로그램 동작 시 검증 동작의 패스 또는 페일 여부를 판단하는 동작은 전류 센싱 체크 동작 동작일 수 있다.
본 실시 예에서는, 목표전압이 가장 낮은 메모리 셀들 중에서 문턱전압이 목표전압까지 높아진 메모리 셀들의 개수가 특정 개수 이상이 되면 전류 센싱 체크 동작이 수행되도록 한다. 즉, 전류 센싱 체크 동작은 선택된 모든 플래인들에 포함된 선택된 메모리 블록의 선택된 페이지들에 대하여 수행되므로 시간이 오래 걸릴 수 있다. 따라서, 본 실시 예에서는 일부 프로그램 루프들에서 전류 센싱 체크 동작을 생략함으로써 프로그램 동작에 걸리는 시간을 단축할 수 있다.
도 4는 메모리 블록에 포함된 복수의 페이지들을 설명하기 위한 도면이다.
도 4를 참조하면, 메모리 블록에는 복수의 페이지들(PG1~PGn; n은 양의 정수)이 포함될 수 있다. 복수의 페이지들(PG1~PGn) 각각에는 데이터를 저장할 수 있는 복수의 메모리 셀들이 포함되므로, 복수의 페이지들(PG1~PGn) 각각의 페이지 저장 용량(CAPpg)은 메모리 셀들의 개수에 따라 결정될 수 있다. 최근에는 복수의 페이지들(PG1~PGn) 각각에 포함된 메모리 셀들의 개수가 증가하면서 페이지 저장 용량(CAPpg)이 증가하고 있다.
상술한 바와 같이, 프로그램 동작은 페이지 단위로 수행되는데, 페이지 저장 용량(CAPpg)이 증가함에 따라, 데이터를 용이하게 처리하기 위하여 청크(chunk) 단위가 사용될 수 있다. 예를 들면, 각각의 페이지는 제1 내지 제m 청크들(CHK1~CHKm)로 구분될 수 있다. 제1 내지 제m 청크들(CHK1~CHKm)은 일정한 용량으로 구분되거나, 다양한 용량으로 구분될 수도 있다. 페이지 버퍼 그룹(도 1의 140)은 청크 단위로 데이터를 입출력할 수 있고, 청크의 구분없이 데이터를 입출력할 수도 있다. 제1 페이지(PG1)가 선택된 페이지인 경우, 프로그램 동작 시 수행되는 검증 동작에서는 제1 페이지(PG1)에 포함된 모든 메모리 셀들의 데이터가 페이지 버퍼들에 저장될 수 있고, 페이지 버퍼들은 청크 단위로 데이터를 출력할 수 있다.
도 5는 메모리 셀들의 문턱전압 분포를 설명하기 위한 도면이다.
도 5를 참조하면, 프로그램 동작은 메모리 셀에 저장되는 비트들의 개수에 따라 다양한 방식들로 구분될 수 있다. 예를 들면, 하나의 메모리 셀에 3 비트의 데이터가 저장되는 방식을 트리플 레벨 셀(triple level cell; TLC) 방식이라 하고, 하나의 메모리 셀에 4 비트의 데이터가 저장되는 방식을 쿼드러플 레벨 셀(quadruple level cell; QLC) 방식이라 한다.
TLC 방식에서, 메모리 셀들의 상태는 한 개의 소거 상태(ER) 또는 일곱 개의 프로그램 상태들(P1~P7) 중 어느 하나로 구분될 수 있다. QLC 방식에서, 메모리 셀들의 상태는 한 개의 소거 상태(ER) 또는 열 다섯 개의 프로그램 상태들(P1~P15) 중 어느 하나로 구분될 수 있다.
하나의 메모리 셀에 저장될 수 있는 비트들의 개수가 5 비트 이상일 수도 있으며, 본 실시 예는 메모리 셀에 저장되는 비트들의 개수에 제한되지 않는다.
도 6은 본 발명의 실시 예에 따른 검증 판단기를 설명하기 위한 도면이다.
도 6을 참조하면, 검증 판단기(160)는 패스 비트 카운터(pass bit counter; 160a) 및 제1 비교기(first comparator; 160b)를 포함할 수 있다. 패스 비트 카운터(160a)는 검증 신호(VFS)가 입력되면 페이지 버퍼 그룹(도 2의 140)으로부터 검증 데이터(V_DATA)를 수신받고, 수신된 검증 데이터(V_DATA)에 포함된 패스된 청크 비트의 개수(P_BIT)를 카운트할 수 있다. 예를 들면, 검증 데이터(V_DATA)는 선택된 플래인의 선택된 메모리 블록에 포함된 선택된 페이지의 선택된 청크의 데이터일 수 있다. 패스된 청크 비트의 개수(P_BIT)가 모두 카운트되면, 패스 비트 카운터(160a)는 패스된 청크 비트의 개수(P_BIT)를 제1 비교기(160b)에게 전송할 수 있다.
제1 비교기(160b)는 미리 설정된 기준 개수(NBref)를 저장할 수 있으며, 패스된 청크 비트의 개수(P_BIT)와 기준 개수(NBref)를 서로 비교하고, 비교 결과에 따라 체크 시작 신호(CSS) 또는 체크 지연 신호(CDS)를 출력할 수 있다. 예를 들면, 패스된 청크 비트의 개수(P_BIT)가 기준 개수(NBref) 이상이면, 제1 비교기(160b)는 체크 시작 신호(CSS)를 출력할 수 있다. 패스된 청크 비트의 개수(P_BIT)가 기준 개수(NBref) 미만이면, 제1 비교기(160b)는 체크 지연 신호(CDS)를 출력할 수 있다. 또한, 제1 비교기(160b)는 선택된 페이지의 모든 청크들의 청크 비트의 개수(P_BIT)가 기준 개수(NBref) 이상일 때에도 체크 시작 신호(CSS)를 출력할 수 있다.
패스된 청크 비트의 개수(P_BIT)에 따른 검증 판단기(160)의 동작을 설명하면 다음과 같다.
도 7a 및 7b는 검증 판단기가 검증 데이터의 패스된 비트를 판단하는 제1 실시 예를 설명하기 위한 도면들이다.
도 6, 7a 및 7b를 참조하면, 제1 실시 예에서 검증 판단기(160)는 선택된 하나의 청크의 검증 데이터(V_DATA)만 수신하고, 수신된 검증 데이터(V_DATA)에 포함된 패스된 청크 비트의 개수(P_BIT)와 기준 개수(NBref)의 비교 결과에 따라 체크 시작 신호(CSS) 또는 체크 지연 신호(VFS)를 출력할 수 있다.
도 6 및 7a를 참조하면, 본 실시 예의 이해를 돕기 위하여 기준 개수(NBref)를 63이라고 가정하며, 기준 개수(NBref)는 메모리 장치에 따라 다르게 설정될 수 있다. 패스된 청크 비트의 개수(P_BIT)가 40개 인 경우, 패스된 청크 비트의 개수(P_BIT)가 기준 개수(NBref) 미만이므로, 제1 비교기(160b)는 체크 지연 신호(CDS)를 출력할 수 있다.
도 6 및 7b를 참조하면, 패스된 청크 비트의 개수(P_BIT)가 65개 인 경우, 패스된 청크 비트의 개수(P_BIT)가 기준 개수(NBref) 이상이므로, 제1 비교기(160b)는 체크 시작 신호(CSS)를 출력할 수 있다.
도 8은 검증 판단기가 검증 데이터의 패스된 비트를 판단하는 제2 실시 예를 설명하기 위한 도면이다.
도 6 및 도 8을 참조하면, 제2 실시 예에서 검증 판단기(160)는 청크 단위로 검증 데이터(V_DATA)를 순차적으로 수신하며, 수신된 각 청크의 검증 데이터(V_DATA)에 포함된 패스된 청크 비트의 개수(P_BIT)와 기준 개수(NBref)를 비교할 수 있다. 즉, 검증 판단기(160)는 선택된 페이지에 포함된 복수의 청크들 중에서 패스된 청크 비트의 개수(P_BIT)가 기준 개수(NBref) 이상인 청크가 검출되는지를 판단할 수 있으며, 패스된 청크 비트의 개수(P_BIT)가 기준 개수(NBref) 이상인 청크가 검출되면, 검증 판단기(160)는 검증 데이터(V_DATA)의 수신을 중단할 수 있다.
예를 들면, 검증 판단기(160)는 제1 청크(CHK1)로부터 검증 데이터(V_DATA)를 수신하고, 검증 데이터(V_DATA)에 포함된 패스된 청크 비트의 개수(P_BIT)를 카운트 할 수 있다. 제1 청크(CHK1)에서 패스된 청크 비트의 개수(P_BIT)가 50 개 또는 50 비트로 검출되면, 패스된 청크 비트의 개수(P_BIT)가 기준 개수(NBref)보다 작으므로, 검증 판단기(160)는 제2 청크(CHK2)로부터 검증 데이터(V_DATA)를 수신받을 수 있다. 제2 청크(CHK2)에서 패스된 청크 비트의 개수(P_BIT)가 45 개 또는 45 비트로 검출되면, 패스된 청크 비트의 개수(P_BIT)가 기준 개수(NBref)보다 작으므로, 검증 판단기(160)는 제3 청크(CHK3)로부터 검증 데이터(V_DATA)를 수신받을 수 있다. 제3 청크(CHK3)에서 패스된 청크 비트의 개수(P_BIT)가 63 개 또는 63 비트로 검출되면, 패스된 청크 비트의 개수(P_BIT)가 기준 개수(NBref)와 동일하므로, 검증 판단기(160)는 제4 내지 제m 청크들(CHK4~CHKm)로부터 검증 데이터(V_DATA)를 수신받지 아니하고 체크 시작 신호(CSS)를 출력할 수 있다. 즉, 패스된 청크 비트의 개수(P_BIT)가 기준 개수(NBref) 이상인 경우, 검증 판단기(160)는 체크 시작 신호(CSS)를 출력한 후, 패스된 청크 비트의 개수(P_BIT)와 기준 개수(NBref)를 서로 비교하는 동작을 중단할 수 있다.
도 9a 및 9b는 검증 판단기가 검증 데이터의 패스된 비트를 판단하는 제3 실시 예를 설명하기 위한 도면들이다.
도 6, 9a 및 9b를 참조하면, 제3 실시 예에서 검증 판단기(160)는 제1 내지 제m 청크들(CHK1~CHKm)로부터 검증 데이터(V_DATA)를 순차적으로 수신하고, 수신된 검증 데이터(V_DATA)에 포함된 패스된 청크 비트의 개수(P_BIT)와 기준 개수(NBref)의 비교 결과를 누적하고, 누적된 값에 따라 체크 시작 신호(CSS) 또는 체크 지연 신호(VFS)를 출력할 수 있다.
도 6 및 9a를 참조하면, 검증 판단기(160)는 제1 청크(CHK1)로부터 검증 데이터(V_DATA)를 수신받고, 수신된 검증 데이터(V_DATA)에 포함된 패스된 청크 비트의 개수(P_BIT)를 카운트 할 수 있다. 제1 청크(CHK1)에서 패스된 청크 비트의 개수(P_BIT)가 1이면, 1은 기준 개수(NBref)보다 작으므로, 검증 판단기(160)는 제2 청크(CHK2)로부터 검증 데이터(V_DATA)를 수신받을 수 있다. 제2 청크(CHK2)의 패스된 청크 비트의 개수(P_BIT)가 2이면, 검증 판단기(160)는 제1 청크(CHK1)의 패스된 청크 비트의 개수(P_BIT) 1과 제2 청크(CHK2) 의 패스된 청크 비트의 개수(P_BIT) 2를 합한 값을 산출할 수 있다. 산출된 값이 3이면. 3은 기준 개수(NBref)보다 작으므로 검증 판단기(160)는 제3 청크(CHK3)로부터 검증 데이터(V_DATA)를 수신받을 수 있다. 제3 청크(CHK3)의 패스된 청크 비트의 개수(P_BIT)가 1이면, 검증 판단기(160)는 이전 산출 값인 3과 제3 청크(CHK2)의 패스된 청크 비트의 개수(P_BIT)인 1을 합한 값을 새로이 산출할 수 있다. 이러한 방식으로, 제1 내지 제m 청크들(CHK1~CHKm)에서 패스된 청크 비트의 개수(P_BIT)를 모두 합한 산출 값이 61이라 가정하면, 61은 기준 개수(NBref)보다 작으므로 검증 판단기(160)는 체크 지연 신호(CDS)를 출력할 수 있다.
도 6 및 도 9b를 참조하면, 제1 내지 제4 청크들(CHK1~CHK4)에서 카운트된 패스된 청크 비트의 개수(P_BIT)가 각각 20, 5, 30, 10인 경우, 패스된 청크 비트의 개수(P_BIT)를 모두 합하여 산출된 값이 65가 된다. 이러한 경우, 산출된 값이 기준 개수(NBref)보다 크므로 검증 판단기(160)는 제5 내지 제m 청크들(CHK5~CHKm)로부터 검증 데이터(V_DATA)를 수신받지 아니하고, 체크 시작 신호(CSS)를 출력할 수 있다.
도 10은 본 발명의 실시 예에 따른 전류 센싱 체크 판단기를 설명하기 위한 도면이다.
도 10을 참조하면, 전류 센싱 체크 판단기(170)는 페일 비트 카운터(fail bit counter; 170a) 및 제2 비교기(second comparator; 170b)를 포함할 수 있다.
페일 비트 카운터(170a)는 체크 인에이블 신호(CHS)에 응답하여 선택된 플래인으로부터 체크 데이터(C_DATA)를 수신받고, 체크 데이터(C_DATA)에 포함된 페일된 비트를 카운트하여 페일된 페이지 비트의 개수(Pa_BIT)를 출력할 수 있다. 예를 들면, 제1 페일 비트 카운터(170a)는 프로그램 동작이 수행되는 플래인들로부터 체크 데이터(C_DATA)를 순차적으로 수신받고, 수신된 체크 데이터(C_DATA) 각각에 대한 페일된 페이지 비트의 개수(Pa_BIT)를 출력할 수 있다. 예를 들면, 체크 데이터(C_DATA)는 선택된 페이지에 포함된 청크들로부터 수신되는 검증 데이터를 포함할 수 있다. 페일 비트 카운터(170a)는 플래인들 각각의 선택된 페이지로부터 수신된 체크 데이터(C_DATA)에서 페일된 페이지 비트의 개수(Pa_BIT)를 출력할 수 있다.
제2 비교기(170b)는 페일된 페이지 비트의 개수(Pa_BIT)와 미리 설정된 허용 개수(Nall)를 서로 비교하고, 비교 결과에 따라 체크 패스 신호(CPS) 또는 체크 페일 신호(CFA)를 출력할 수 있다. 허용 개수는 페이지에 포함된 에러를 정정할 수 있는 최대 에러 개수를 의미한다. 제2 비교기(170b)는 페일된 페이지 비트의 개수(Pa_BIT)가 허용 개수(Nall) 이하이면 체크 패스 신호(CPS)를 출력할 수 있고, 페일된 페이지 비트의 개수(Pa_BIT)가 허용 개수(Nall) 초과면 체크 페일 신호(CFA)를 출력할 수 있다.
전류 센싱 체크 판단기(170)의 동작을 구체적으로 설명하면 다음과 같다.
도 11a 및 11b는 전류 센싱 체크 판단기가 체크 데이터에 따라 검증 동작의 패스 또는 페일을 판단하는 방법을 설명하기 위한 도면들이다.
도 10 및 도 11a를 참조하면, 전류 센싱 체크 판단기(170)는 프로그램 동작이 수행되는 모든 플래인들로부터 체크 데이터(C_DATA)를 수신받고, 체크 데이터(C_DATA)에 포함된 페일된 페이지 비트의 개수(Pa_BIT)와 허용 개수(Nall)를 비교할 수 있다. 예를 들면, 전류 센싱 체크 판단기(170)는 제1 플래인(PL1)의 선택된 메모리 블록에 포함된 선택된 페이지의 검증 데이터(V_DATA)를 순차적으로 수신받을 수 있고, 수신된 검증 데이터(V_DATA) 전체에서 페일된 페이지 비트의 개수(Pa_BIT)를 카운트할 수 있다. 여기서, 선택된 플래인의 선택된 페이지로부터 수신된 모든 검증 데이터(V_DATA)가 체크 데이터(C_DATA)이다. 제1 플래인(PL1)으로부터 수신된 체크 데이터(C_DATA)에 포함된 페일된 페이지 비트의 개수(Pa_BIT)가 허용 개수(Nall) 이하이면, 전류 센싱 체크 판단기(170)는 제1 플래인(PL1)에 대한 전류 센싱 체크 동작을 패스(PASS)로 판단할 수 있다. 이러한 방식으로 전류 센싱 체크 판단기(170)는 제1 내지 제k 플래인들(PL1~PLk)로부터 체크 데이터(C_DATA)를 각각 수신하고, 각 플래인의 전류 센싱 체크 동작의 패스 또는 페일 여부를 판단할 수 있다. 도 11a에 도시된 바와 같이, 제1 내지 제k 플래인들(PL1~PLk) 중에서 적어도 하나 이상의 플래인의 전류 센싱 체크 동작이 페일(FAIL)로 판단되면, 전류 센싱 체크 판단기(170)는 체크 페일 신호(CFA)를 출력할 수 있다.
도 10 및 도 11b를 참조하면, 제1 내지 제k 플래인들(PL1~PLk)의 전류 센싱 체크 동작들이 모두 패스(PASS)로 판단되면, 전류 센싱 체크 판단기(170)는 체크 패스 신호(CPS)를 출력할 수 있다.
도 12는 본 발명의 실시 예에 따른 검증 컨트롤러를 설명하기 위한 도면이다.
도 12를 참조하면, 검증 컨트롤러(190)는 프로그램 루프 컨트롤러(program loop controller; 190a) 및 판단기(detector; 190b)를 포함할 수 있다.
프로그램 루프 컨트롤러(190a)는 선택된 페이지에서 수행되는 프로그램 루프의 검증 동작 또는 전류 센싱 체크 동작의 결과에 따라 검증 신호(VFS) 또는 체크 인에이블 신호(CHS)를 출력할 수 있다. 예를 들면, 프로그램 루프 컨트롤러(190a)는 검증 동작 또는 전류 센싱 동작 시 입력되는 패스 신호(PS) 또는 페일 신호(FA)에 응답하여 검증 신호(VFS) 또는 체크 인에이블 신호(CHS)를 출력할 수 있다.
판단기(190b)는 제1 프로그램 상태인 메모리 셀들의 개수를 판단하는 동작 시 입력될 수 있는 체크 시작 신호(CSS) 또는 체크 지연 신호(CDS)에 응답하여 패스 신호(PA) 또는 페일 신호(FA)를 출력할 수 있고, 각 프로그램 상태에 대한 검증 동작 시 입력될 수 있는 체크 패스 신호(CPS) 또는 체크 페일 신호(CFA)에 응답하여 패스 신호(PA) 또는 페일 신호(FA)를 출력할 수 있다.
도 13은 본 발명의 실시 예에 따른 프로그램 동작을 설명하기 위한 순서도이다.
도 13을 참조하면, 본 실시 예에 프로그램 동작에서는, 목표전압이 가장 낮은 선택된 메모리 셀들 중에서 문턱전압이 목표전압까지 높아진 메모리 셀들의 개수가 설정된 개수에 도달할 때까지 검증 동작의 패스 또는 페일 여부를 판단하는 전류 센싱 체크 동작이 생략될 수 있다. 전류 센싱 체크 동작은 목표전압이 가장 낮은 메모리 셀들 중에서 문턱전압이 목표전압까지 높아진 메모리 셀들의 개수가 설정된 개수에 도달한 이후부터 수행될 수 있다. 본 실시 예에 따른 프로그램 동작을 구체적으로 설명하면 다음과 같다.
목표전압의 순서를 나타내는 n이 1로 설정될 수 있다(S131). 예를 들면, 하나의 메모리 셀에 3 비트의 데이터가 저장되는 트리플 레벨 셀(TLC) 방식에서 프로그램 상태들을 구분하는 서로 다른 목표전압들은 7개가 존재할 수 있고, 하나의 메모리 셀에 4 비트의 데이터가 저장되는 쿼드러플 레벨 셀(QLC) 방식에서 서로 다른 목표전압들은 15개가 존재할 수 있다(도 5의 TLC, QLC 참조). TLC 또는 QLC 방식에서 가장 낮은 목표전압은 제1 목표전압일 수 있으며, 프로그램 동작은 제1 목표전압부터 시작될 수 있다. 따라서, S131 단계에서 n의 초기 값으로 1이 설정될 수 있다. 프로그램 동작이 수행되는 동안 TLC 방식에서 n은 1~7까지 변경될 수 있고, QLC 방식에서 n은 1~15까지 변경될 수 있다.
선택된 메모리 셀들의 서브 프로그램 동작이 수행될 수 있다(S132). 서브 프로그램 동작은 선택된 메모리 셀들의 문턱전압을 높이기 위하여 선택된 워드 라인에 프로그램 전압을 인가하는 동작이다. 서브 프로그램 동작이 처음 수행될 때에는 선택된 워드 라인에 시작 프로그램 전압이 인가될 수 있다. 시작 프로그램 전압은 선택된 워드 라인에 인가되는 프로그램 전압들 중에서 가장 낮은 전압일 수 있다.
프로그램 전압이 일정 시간 동안 인가된 후, 제n 목표전압(PVn)에 대한 검증 동작이 수행될 수 있다(S133). 검증 동작은 선택된 워드 라인에 제n 검증 전압을 인가하여 수행될 수 있다.
검증 동작(S133)이 일정 시간 동안 수행된 후, 문턱전압이 제n 목표전압까지 높아진 메모리 셀들의 비트가 검출되는지 판단하는 동작이 수행될 수 있다(S134). n은 1 이므로, S134 단계에서는 복수의 목표전압들 중에서 레벨이 가장 낮은 제1 목표전압까지 문턱전압이 높아진 메모리 셀들의 개수가 카운트될 수 있고, 카운트된 개수와 기준 개수를 비교하여 패스(Pass) 또는 페일(Fail)이 결정될 수 있다. 예를 들면, 도 6에 도시된 검증 판단기(160)는 검증 데이터(V_DATA)에 포함된 패스된 청크 비트의 개수(P_BIT)와 기준 개수(NBref)를 서로 비교하여 패스 또는 페일을 판단할 수 있다. 패스된 청크 비트의 개수(P_BIT)가 기준 개수(NBref) 미만이면 프로그램 전압이 높아지고, 높아진 프로그램 전압을 사용하여 서브 프로그램 동작(S132)이 수행될 수 있다. 즉, S134 단계가 페일(Fail)되면, 다음 프로그램 루프가 수행될 수 있다. S134 단계가 패스(Pass)될 때까지 프로그램 전압이 단계적으로 높아지면서 S132 내지 S134 단계가 반복될 수 있다. S134 단계는 패스된 청크 비트의 개수(P_BIT)가 기준 개수(NBref) 이상이면 패스(Pass)될 수 있다.
S134 단계가 패스되면, 다음 프로그램 루프가 수행될 수 있으며, 이때부터 전류 센싱 체크(current sensing check; CSC) 동작이 수행될 수 있다(S136). 예를 들면, 전류 센싱 체크 동작(S136)은 서브 프로그램 동작이 수행될 때(S135) 수행될 수 있다. 서브 프로그램 동작과 전류 센싱 체크 동작(S136)을 구체적으로 설명하면 다음과 같다.
S134 단계가 패스되면(Pass), 서브 프로그램 동작이 수행될 수 있다(S135). 서브 프로그램 동작은 선택된 메모리 셀들의 문턱전압을 높이기 위하여 선택된 워드 라인에 프로그램 전압을 인가하는 동작으로써, S132 단계와 유사하게 수행될 수 있다. S135 단계에서는 S132 단계보다 높은 프로그램 전압이 사용될 수 있다.
서브 프로그램 동작(S135)이 수행되는 동안 이전 프로그램 루프의 검증 동작에 대한 전류 센싱 체크 동작(S136)이 수행될 수 있다. 예를 들면, 이전 프로그램 루프의 검증 동작에서 검출된 에러 비트의 개수가 허용 개수 초과면 전류 센싱 체크 동작(S136)은 페일(Fail)될 수 있고, 에러 비트의 개수가 허용 개수 이하면 전류 센싱 체크 동작(S136)은 패스(Pass)될 수 있다.
전류 센싱 체크 동작(CSC)이 페일되면(Fail), 제n 목표전압(PVn)에 대한 검증 동작이 수행될 수 있다(S137). 검증 동작은 선택된 워드 라인에 제n 검증 전압을 인가하여 수행될 수 있다.
검증 동작이 수행된 후(S137), 다음 프로그램 루프에 해당하는 서브 프로그램 동작(S135) 및 전류 센싱 체크 동작(S136)이 수행될 수 있다. 서브 프로그램 동작(S135)은 이전 프로그램 루프보다 높은 프로그램 전압을 사용하여 수행될 수 있으며, 전류 센싱 체크 동작(S136)은 S137 단계에서 수행된 검증 동작에 대하여 패스 또는 페일 여부를 판단할 수 있다.
전류 센싱 체크 동작(S136)에서 검증 동작이 패스로 판단되면(Pass), 제n 목표전압(PVn)이 프로그램 동작의 마지막 목표전압인지 판단될 수 있다(S138). 마지막 목표전압은 프로그램 동작에서 가장 높은 목표전압일 수 있다. 예를 들면, TLC 방식의 프로그램 동작의 경우, 선택된 메모리 셀들은 제1 내지 제7 목표전압들로 각각 프로그램될 수 있다. 제1 목표전압(PV1)이 가장 낮고 제7 목표전압(PV7)이 가장 높은 전압이면, 제7 목표전압(PV7)이 마지막 목표전압이 될 수 있다.
제n 목표전압(PVn)이 마지막 목표전압이면(Yes), 선택된 페이지의 프로그램 동작은 종료될 수 있다.
제n 목표전압(PVn)이 마지막 목표전압이 아니면(No), 제n 목표전압(PVn)의 검증 동작을 생략하고(S139), 다음 목표전압이 선택될 수 있다(S140). 예를 들면, n이 n+1로 변경되고(S140), 변경된 제n 목표전압(PVn)에 대한 검증 동작(S137)이 수행될 수 있다.
S138 단계에서 마지막 목표전압까지 전류 센싱 체크 동작이 모두 패스될 때까지 S135 내지 S140 단계들이 반복될 수 있다.
도 14a 및 14b는 본 발명의 제1 실시 예에 따른 프로그램 동작을 설명하기 위한 도면으로써, 도 13에 도시된 순서도를 기초로 하는 실시 예이다.
도 14a를 참조하면, 제1 프로그램 루프(LP1)에서는 제1 프로그램 전압(1Vpgm)을 사용하는 서브 프로그램 동작과 제1 검증 전압(V1)을 사용하는 제1 검증 동작이 수행될 수 있다. 제1 검증 전압(V1)을 사용하는 제1 검증 동작에서 문턱전압이 제1 검증 전압(V1)까지 높아진 메모리 셀들의 개수가 기준 개수 이상으로 검출되는지 판단될 수 있다. 제1 프로그램 루프(LP1)에서 제1 검증 전압(V1)까지 높아진 메모리 셀들의 개수가 기준 개수 미만으로 판단되면(X), 전류 센싱 체크(CSC) 동작 없이 제2 프로그램 루프(LP2)가 수행될 수 있다.
제2 프로그램 루프(LP2)에서는 제1 프로그램 전압(1Vpgm)보다 스텝 전압만큼 높은 제2 프로그램 전압(2Vpgm)을 사용하여 서브 프로그램 동작과 제1 검증 전압(V1)을 사용하는 제1 검증 동작이 수행될 수 있다. 제2 프로그램 루프(LP2)에서 제1 검증 전압(V1)까지 높아진 메모리 셀들의 개수가 기준 개수 이상으로 판단되면(O), 제3 프로그램 루프(LP3)부터 전류 센싱 체크(CSC) 동작이 수행될 수 있다.
제3 프로그램 루프(LP3)에서는 제2 프로그램 전압(2Vpgm)보다 스텝 전압만큼 높은 제3 프로그램 전압(3Vpgm)을 사용하여 서브 프로그램 동작과 제1 및 제2 검증 전압들(V1, V2)을 사용하는 제1 및 제2 검증 동작들이 수행될 수 있다. 제2 프로그램 루프(LP2)의 제1 검증 동작에 대한 전류 센싱 체크(CSC) 동작은 제3 프로그램 루프(LP3)의 서브 프로그램 동작 시 수행될 수 있다. 전류 센싱 체크(CSC) 동작에서 제2 프로그램 루프(LP2)의 제1 검증 동작이 패스된 것으로 판단되면, 제4 프로그램 루프(LP4)부터 제1 검증 동작은 생략될 수 있다. 상술한 방식으로 나머지 제4 내지 제n 프로그램 루프들(LP4~LPn)이 수행될 수 있으며, 제n 프로그램 루프에서 수행된 제7 검증 동작이 패스되면 선택된 페이지의 프로그램 동작은 종료될 수 있다.
도 14b는 도 14a보다 제1 검증 동작을 패스한 메모리 셀들의 개수가 천천히 늘어나는 실시 예를 설명하기 위한 도면이다.
도 14b를 참조하면, 제1 내지 제3 프로그램 루프들(LP1~LP3)의 제1 검증 동작을 패스한 메모리 셀들의 개수가 기준 개수 미만으로 검출되고(X), 제4 프로그램 루프(LP4)의 제1 검증 동작을 패스한 메모리 셀들의 개수가 기준 개수 이상으로 검출되면(O), 전류 센싱 체크(CSC) 동작은 제5 프로그램 루프(LP5)부터 수행될 수 있다.
즉, 도 14a 및 도 14b에 도시된 도면들을 참조하여 설명된 제1 실시 예에서는, 제1 검증 전압(V1)을 사용한 제1 검증 동작에서 패스된 메모리 셀들의 개수가 기준 개수 이상 검출될 때까지 전류 센싱 체크(CSC) 동작은 생략될 수 있으며, 제1 검증 전압(V1)보다 높은 검증 전압을 사용하는 검증 동작도 생략될 수 있다.
도 15는 본 발명의 제2 실시 예에 따른 프로그램 동작을 설명하기 위한 도면이다.
도 15를 참조하면, 제2 실시 예에서는 제1 검증 전압(V1)을 사용하는 제1 검증 동작을 패스한 메모리 셀들의 개수가 기준 개수 이상 검출될 때까지 전류 센싱 체크(CSC) 동작 및 다음 검증 전압을 사용한 검증 동작들이 생략될 수 있다. 예를 들면, 제1 및 제2 프로그램 루프들(LP1, LP2)에서는 제1 검증 동작을 패스한 메모리 셀들의 개수가 기준 개수 미만으로 검출되고, 제3 프로그램 루프(LP3)에서 제1 검증 동작을 패스한 메모리 셀들의 개수가 기준 개수 이상으로 검출되면, 제4 프로그램 루프(LP4)부터 전류 센싱 체크(CSC) 동작과 제2 검증 전압(V2)을 사용한 제2 검증 동작이 수행될 수 있다. 예를 들면, 제4 프로그램 루프(LP4)에서, 제4 프로그램 전압(4Vpgm)을 사용하는 서브 프로그램 동작 시 제1 검증 동작에 대한 전류 센싱 체크(CSC) 동작이 수행될 수 있고, 서브 프로그램 동작이 수행된 후에는 제1 내지 제3 검증 전압들(V1~V3)을 사용하는 제1 내지 제3 검증 동작들이 수행될 수 있다.
제4 프로그램 루프(LP4)에서 수행되는 전류 센싱 체크(CSC) 동작에서 제3 프로그램 루프(LP3)의 제1 검증 동작이 패스로 판단되면, 제5 프로그램 루프(LP5)부터 제1 검증 동작은 생략될 수 있다
도 16은 본 발명의 제3 실시 예에 따른 프로그램 동작을 설명하기 위한 도면이다.
도 16을 참조하면, 제3 실시 예에서는, 제1 검증 전압(V1)보다 높은 검증 전압을 사용하는 검증 동작들은 제1 검증 동작에 대한 전류 센싱 체크(CSC) 동작이 패스된 후부터 수행될 수 있다. 예를 들면, 제3 프로그램 루프(LP3)에서 제1 검증 동작을 패스한 메모리 셀들의 개수가 기준 개수 이상으로 검출되면, 제4 프로그램 루프(LP4)부터 전류 센싱 체크(CSC) 동작이 수행될 수 있다. 제4 프로그램 루프(LP4)에서 수행되는 제1 검증 동작에 대한 전류 센싱 체크(CSC) 동작이 페일(fail)되면, 제4 프로그램 루프(LP4)에서는 서브 프로그램 동작과 제1 검증 동작이 수행될 수 있다. 제5 프로그램 루프(LP5)에서 수행되는 제1 검증 동작에 대한 전류 센싱 체크(CSC) 동작이 패스(pass)되면, 제5 프로그램 루프(LP5)에서는 제1 검증 동작은 생략되고, 제2 검증 전압(V2)을 사용하는 제2 검증 동작이 수행될 수 있다. 따라서, 제6 프로그램 루프(LP6)의 전류 센싱 체크(CSC) 동작에서는 제2 검증 동작에 대한 패스 또는 페일 여부가 판단될 수 있다.
도 17은 본 발명의 제4 실시 예에 따른 프로그램 동작을 설명하기 위한 도면이다.
도 17을 참조하면, 프로그램 동작 초기에는 메모리 셀들의 문턱전압이 목표전압까지 충분히 높아지기 어려울 수 있으므로, 프로그램 초기에 수행되는 일부 프로그램 루프들에서는 검증 동작이 생략될 수 있다. 예를 들면, 제1 및 제2 프로그램 루프들(LP1, LP2)에서는 검증 동작 없이 서브 프로그램 동작들만 수행될 수 있다. 이처럼 검증 동작을 생략하고, 선택된 워드 라인에 프로그램 전압만 인가하는 구간을 블라인드(blond) 구간(BLD)이라 한다. 블라인드 구간(BLD)은 메모리 셀들의 프로그램 속도에 따라 다르게 설정될 수 있다. 도 17에 도시된 바와 같이, 제1 및 제2 프로그램 루프들(LP1, LP2)이 블라인드 구간(BLD)에 포함되는 경우, 제3 프로그램 루프(LP3)부터 제1 검증 전압(V1)을 사용하는 제1 검증 동작이 수행될 수 있다. 제3 프로그램 루프(LP3)에서 제1 검증 동작을 패스한 메모리 셀들의 개수가 기준 개수 미만으로 검출되면(X), 제4 프로그램 루프(LP4)에서도 전류 센싱 체크(CSC) 동작은 생략될 수 있다.
제4 프로그램 루프(LP4)에서 제1 검증 동작을 패스한 메모리 셀들의 개수가 기준 개수 이상으로 검출되면(O), 제5 프로그램 루프(LP5)부터 전류 센싱 체크(CSC) 동작이 수행될 수 있다. 예를 들면, 제5 프로그램 루프(LP5)에서는 제5 프로그램 전압(5Vpgm)을 사용하는 서브 프로그램 동작과 제1 및 제2 검증 전압들(V1, V2)을 사용하는 제1 및 제2 검증 동작들이 수행될 수 있으며, 서브 프로그램 동작 시 제4 프로그램 루프(LP4)에서 수행된 제1 검증 동작에 대한 전류 센싱 체크(CSC) 동작이 수행될 수 있다.
도 18은 본 발명의 다른 실시 예에 따른 메모리 장치를 설명하기 위한 도면이다.
도 18을 참조하면, 본 발명의 다른 실시 예에 따른 메모리 장치(MD)에서, 전류 센싱 체크 판단기(170)를 제외한 나머지 구성들이 도 2에 도시된 메모리 장치(MD)와 동일하게 구성될 수 있다. 따라서, 도 18에 도시된 메모리 장치(MD)의 설명에서는 도 2에 도시된 메모리 장치(MD)와 중복되는 장치들에 대한 설명은 생략한다.
도 18에 도시된 전류 센싱 체크 판단기(170)는 검증 동작의 패스 또는 페일 여부를 판단하는 전류 센싱 체크 동작 외에도, 도 2에 도시된 검증 판단기(160)의 기능을 더 수행하도록 구성될 수 있다. 예를 들면, 전류 센싱 체크 판단기(170)는 프로그램 동작 시 페일된 메모리 셀들의 개수를 카운트하고, 카운트 결과에 따라 전류 센싱 체크 동작을 수행할 수 있다.
전류 센싱 체크 판단기(170)의 기능을 구체적으로 설명하면, 전류 센싱 체크 판단기(170)는 체크 인에이블 신호(CHS)에 응답하여 페이지 버퍼 그룹(140)으로부터 체크 데이터(C_DATA)를 수신받고, 체크 데이터(C_DATA)에 포함된 페일된 비트의 개수와 기준 개수를 비교하고, 비교 결과에 따라 전류 센싱 체크 동작의 수행 여부를 판단할 수 있다. 여기서 체크 데이터(C_DATA)는 청크 데이터일 수 있다.
전류 센싱 체크 판단기(170)는 페일된 청크 비트의 개수가 기준 개수 이하면 전류 센싱 체크 동작을 수행할 수 있다. 전류 센싱 체크 판단기(170)는 페일된 청크 비트의 개수가 기준 개수를 초과하면 현재 프로그램 루프에서는 전류 센싱 체크 동작을 생략할 수 있다.
전류 센싱 체크 동작을 수행하는 것으로 결정되면, 전류 센싱 체크 판단기(170)는 검증 동작의 패스 또는 페일 여부를 판단하는 전류 센싱 체크 동작을 수행할 수 있다. 예를 들면, 전류 센싱 체크 판단기(170)는 체크 인에이블 신호(CHS)에 응답하여 페이지 버퍼 그룹(140)으로부터 체크 데이터(C_DATA)를 수신받고, 체크 데이터(C_DATA)에 포함된 페일된 페이지 비트의 개수와 허용 개수를 비교하여, 비교 결과에 따라 체크 패스 신호(CPS) 또는 체크 페일 신호(CFA)를 출력할 수 있다. 예를 들면, 전류 센싱 체크 판단기(170)는 페일된 페이지 비트의 개수가 허용 개수 이하면 체크 패스 신호(CPS)를 출력할 수 있고, 페일된 페이지 비트의 개수가 허용 개수를 초과하면 체크 페일 신호(CFA)를 출력할 수 있다. 전류 센싱 체크 판단기(170)는 복수의 플래인들(PL1~PLk) 중에서 적어도 하나의 플래인에서 검증 동작이 패스되면 나머지 플래인들의 검증 동작이 페일되더라도 프로그램 동작을 패스로 판단하여 체크 패스 신호(CPS)를 출력할 수 있다. 예를 들면, 전류 센싱 체크 판단기(170)는 모든 복수의 플래인들(PL1~PLk)에서 검증 동작이 패스되면 체크 패스 신호(CPS)를 출력할 수 있으며, 복수의 플래인들(PL1~PLk) 중에서 하나의 플래인에서 검증 동작이 패스되더라도 체크 패스 신호(CPS)를 출력할 수 있다.
도 18에 도시된 메모리 장치(MD)를 사용한 프로그램 동작의 다양한 실시 예들을 설명하면 다음과 같다.
도 19는 본 발명의 다른 실시 예에 따른 프로그램 동작을 설명하기 위한 순서도이다.
도 19를 참조하면, 목표전압이 가장 낮은 선택된 메모리 셀들 중에서 문턱전압이 목표전압보다 낮은 메모리 셀들의 개수가 설정된 개수의 이하가 될 때까지 검증 동작의 패스 또는 페일 여부를 판단하는 전류 센싱 체크 동작이 생략될 수 있다. 전류 센싱 체크 동작은 목표전압이 가장 낮은 메모리 셀들 중에서 문턱전압이 목표전압까지 높아진 메모리 셀들의 개수가 설정된 개수에 도달한 이후부터 수행될 수 있다. 본 실시 예에 따른 프로그램 동작을 구체적으로 설명하면 다음과 같다.
목표전압의 순서를 나타내는 n이 1로 설정될 수 있다(S191). 예를 들면, 하나의 메모리 셀에 3 비트의 데이터가 저장되는 트리플 레벨 셀(TLC) 방식에서 프로그램 상태들을 구분하는 서로 다른 목표전압들은 7개가 존재할 수 있고, 하나의 메모리 셀에 4 비트의 데이터가 저장되는 쿼드러플 레벨 셀(QLC) 방식에서 서로 다른 목표전압들은 15개가 존재할 수 있다(도 5의 TLC, QLC 참조). TLC 또는 QLC 방식에서 가장 낮은 목표전압은 제1 목표전압일 수 있으며, 프로그램 동작은 제1 목표전압부터 시작될 수 있다. 따라서, S131 단계에서 n의 초기 값으로 1이 설정될 수 있다. 프로그램 동작이 수행되는 동안 TLC 방식에서 n은 1~7까지 변경될 수 있고, QLC 방식에서 n은 1~15까지 변경될 수 있다.
선택된 메모리 셀들의 서브 프로그램 동작이 수행될 수 있다(S192). 서브 프로그램 동작은 선택된 메모리 셀들의 문턱전압을 높이기 위하여 선택된 워드 라인에 프로그램 전압을 인가하는 동작이다. 서브 프로그램 동작이 처음 수행될 때에는 선택된 워드 라인에 시작 프로그램 전압이 인가될 수 있다. 시작 프로그램 전압은 선택된 워드 라인에 인가되는 프로그램 전압들 중에서 가장 낮은 전압일 수 있다.
프로그램 전압이 일정 시간 동안 인가된 후, 제n 목표전압(PVn)에 대한 검증 동작이 수행될 수 있다(S193). 검증 동작은 선택된 워드 라인에 제n 검증 전압을 인가하여 수행될 수 있다.
검증 동작(S193)이 일정 시간 동안 수행된 후, 문턱전압이 제n 목표전압까지 높아진 메모리 셀들의 비트가 검출되는지 판단하는 동작이 수행될 수 있다(S194). 예를 들면, 전류 센싱 체크 판단기(도 18의 170)는 문턱전압이 제n 목표전압보다 낮은 메모리 셀들의 비트를 카운트할 수 있다. n은 1 이므로, S194 단계에서는 복수의 목표전압들 중에서 레벨이 가장 낮은 제1 목표전압까지 문턱전압이 높아진 메모리 셀들이 검출될 수 있고, 검출된 메모리 셀들의 개수와 기준 개수를 비교하여 패스(Pass) 또는 페일(Fail)이 결정될 수 있다. 예를 들면, 전류 센싱 체크 판단기(170)는 체크 데이터(C_DATA)에 포함된 페일된 청크 비트의 개수와 기준 개수를 서로 비교하여 패스 또는 페일을 판단할 수 있다. 페일된 청크 비트의 개수가 기준 개수를 초과하면 프로그램 전압이 높아지고, 높아진 프로그램 전압을 사용하여 서브 프로그램 동작(S192)이 수행될 수 있다. 즉, S194 단계가 페일(Fail)되면, 다음 프로그램 루프가 수행될 수 있다. S194 단계가 패스(Pass)될 때까지 프로그램 전압이 단계적으로 높아지면서 S192 내지 S194 단계들이 반복될 수 있다. S194 단계는 페일된 청크 비트의 개수가 기준 개수 이하가 되면 패스(Pass)될 수 있다.
S194 단계가 패스되면, 다음 프로그램 루프가 수행될 수 있으며, 이때부터 전류 센싱 체크 판단기(170)는 전류 센싱 체크(current sensing check; CSC) 동작을 수행할 수 있다(S196). 예를 들면, 전류 센싱 체크 동작(S196)은 서브 프로그램 동작이 수행될 때(S195) 수행될 수 있다. 서브 프로그램 동작(S195)과 전류 센싱 체크 동작(S196)을 구체적으로 설명하면 다음과 같다.
S194 단계가 패스되면(Pass), 서브 프로그램 동작이 수행될 수 있다(S195). 서브 프로그램 동작은 선택된 메모리 셀들의 문턱전압을 높이기 위하여 선택된 워드 라인에 프로그램 전압을 인가하는 동작으로써, S192 단계와 유사하게 수행될 수 있다. S195 단계에서는 S192 단계보다 높은 프로그램 전압이 사용될 수 있다.
서브 프로그램 동작(S195)이 수행되는 동안 이전 프로그램 루프의 검증 동작에 대한 전류 센싱 체크 동작(S196)이 수행될 수 있다. 예를 들면, 이전 프로그램 루프의 검증 동작에서 검출된 에러 비트의 개수가 허용 개수를 초과하면 전류 센싱 체크 동작(S196)은 페일(Fail)될 수 있고, 에러 비트의 개수가 허용 개수 이하면 전류 센싱 체크 동작(S196)은 패스(Pass)될 수 있다.
전류 센싱 체크 동작(CSC)이 페일되면(Fail), 제n 목표전압(PVn)에 대한 검증 동작이 수행될 수 있다(S197). 검증 동작은 선택된 워드 라인에 제n 검증 전압을 인가하여 수행될 수 있다.
검증 동작이 수행된 후(S197), 다음 프로그램 루프에 해당하는 서브 프로그램 동작(S195) 및 전류 센싱 체크 동작(S196)이 수행될 수 있다. 서브 프로그램 동작(S195)은 이전 프로그램 루프보다 높은 프로그램 전압을 사용하여 수행될 수 있으며, 전류 센싱 체크 동작(S196)은 S197 단계에서 수행된 검증 동작에 대하여 패스 또는 페일 여부를 판단할 수 있다.
전류 센싱 체크 동작(S196)에서 검증 동작이 패스로 판단되면(Pass), 제n 목표전압(PVn)이 프로그램 동작의 마지막 목표전압인지 판단될 수 있다(S198). 마지막 목표전압은 프로그램 동작에서 가장 높은 목표전압일 수 있다. 예를 들면, TLC 방식의 프로그램 동작의 경우, 선택된 메모리 셀들은 제1 내지 제7 목표전압들로 각각 프로그램될 수 있다. 제1 목표전압(PV1)이 가장 낮고 제7 목표전압(PV7)이 가장 높은 전압이면, 제7 목표전압(PV7)이 마지막 목표전압이 될 수 있다.
제n 목표전압(PVn)이 마지막 목표전압이면(Yes), 선택된 페이지의 프로그램 동작은 종료될 수 있다.
제n 목표전압(PVn)이 마지막 목표전압이 아니면(No), 제n 목표전압(PVn)의 검증 동작을 생략하고(S199), 다음 목표전압이 선택될 수 있다(S200). 예를 들면, n이 n+1로 변경되고(S200), 변경된 제n 목표전압(PVn)에 대한 검증 동작(S197)이 수행될 수 있다.
S198 단계에서 마지막 목표전압까지 전류 센싱 체크 동작이 모두 패스될 때까지 S195 내지 S200 단계들이 반복될 수 있다.
도 20은 본 발명의 또 다른 실시 예에 따른 프로그램 동작을 설명하기 위한 순서도이다.
도 20을 참조하면, 본 실시 예에 프로그램 동작에서는, 전류 센싱 동작의 시작 시점을 결정하기 위한 패스된 비트의 개수를 판단하는 동작은 서브 프로그램 동작이 수행되는 동안 수행될 수 있다. 본 실시 예에 따른 프로그램 동작을 구체적으로 설명하면 다음과 같다.
목표전압의 순서를 나타내는 n이 1로 설정될 수 있다(S201). 예를 들면, 하나의 메모리 셀에 3 비트의 데이터가 저장되는 트리플 레벨 셀(TLC) 방식에서 프로그램 상태들을 구분하는 서로 다른 목표전압들은 7개가 존재할 수 있고, 하나의 메모리 셀에 4 비트의 데이터가 저장되는 쿼드러플 레벨 셀(QLC) 방식에서 서로 다른 목표전압들은 15개가 존재할 수 있다(도 5의 TLC, QLC 참조). TLC 또는 QLC 방식에서 가장 낮은 목표전압은 제1 목표전압일 수 있으며, 프로그램 동작은 제1 목표전압부터 시작될 수 있다. 따라서, S191 단계에서 n의 초기 값으로 1이 설정될 수 있다. 프로그램 동작이 수행되는 동안 TLC 방식에서 n은 1~7까지 변경될 수 있고, QLC 방식에서 n은 1~15까지 변경될 수 있다.
선택된 메모리 셀들의 서브 프로그램 동작이 수행될 수 있다(S202). 서브 프로그램 동작은 선택된 메모리 셀들의 문턱전압을 높이기 위하여 선택된 워드 라인에 프로그램 전압을 인가하는 동작이다. 서브 프로그램 동작이 처음 수행될 때에는 선택된 워드 라인에 시작 프로그램 전압이 인가될 수 있다. 시작 프로그램 전압은 선택된 워드 라인에 인가되는 프로그램 전압들 중에서 가장 낮은 전압일 수 있다.
프로그램 전압이 일정 시간 동안 인가된 후(S202), 제n 목표전압(PVn)에 대한 검증 동작이 수행될 수 있다(S203). 검증 동작은 선택된 워드 라인에 제n 검증 전압을 인가하여 수행될 수 있다.
검증 동작(S203)이 수행된 후, 다음 프로그램 루프가 수행될 수 있으며, 이때부터 패스된 비트의 개수를 판단하는 동작(S205)이 서브 프로그램 동작(S204)과 함께 수행될 수 있으며, 전류 센싱 체크(current sensing check; CSC) 동작(S207)은 S205의 판단 결과에 따라 선택적으로 수행될 수 있다. 예를 들면, 페일된 비트의 개수를 판단하는 동작(S205) 및 전류 센싱 체크 동작(S207)은 서브 프로그램 동작이 수행될 때(S204) 수행될 수 있다. 서브 프로그램 동작(S204), 페일된 비트의 개수를 판단하는 동작(S205) 및 전류 센싱 체크 동작(S207)을 구체적으로 설명하면 다음과 같다.
서브 프로그램 동작(S204)은 선택된 메모리 셀들의 문턱전압을 높이기 위하여 선택된 워드 라인에 프로그램 전압을 인가하는 동작으로써, S202 단계와 유사하게 수행될 수 있다. S204 단계에서는 S202 단계보다 높은 프로그램 전압이 사용될 수 있다.
서브 프로그램 동작(S204)이 수행되는 동안 이전 프로그램 루프의 검증 동작에서 검출된 페일된 비트의 개수와 기준 개수를 비교하는 동작(S205)이 수행될 수 있다. 예를 들면, 페일된 비트의 개수와 기준 개수를 비교하는 동작(S205)에서는 문턱전압이 제n 목표전압보다 낮은 메모리 셀들의 비트가 검출되는지를 판단하는 동작이 수행될 수 있다(S205). n은 1 이므로, S205 단계에서는 복수의 목표전압들 중에서 레벨이 가장 낮은 제1 목표전압보다 낮은 문턱전압을 가지는 메모리 셀들의 개수가 카운트될 수 있고, 카운트된 개수와 기준 개수를 비교하여 패스(Pass) 또는 페일(Fail)이 결정될 수 있다. 예를 들면, 도 18에 도시된 전류 센싱 체크 판단기(170)는 청크 데이터에 포함된 페일된 청크 비트의 개수와 기준 개수를 서로 비교하여 패스 또는 페일을 판단할 수 있다. 페일된 청크 비트의 개수가 기준 개수를 초고하면 프로그램 전압이 높아지고, 높아진 프로그램 전압을 사용하여 서브 프로그램 동작(S204)이 다시 수행될 수 있다. 즉, S205 단계가 페일(Fail)되면, 전류 센싱 체크 동작(S207)은 생략되고 다음 프로그램 루프가 수행될 수 있다. S205 단계가 페일(Fail)되더라도 S204 단계에서 서브 프로그램 동작이 수행되므로, 서브 프로그램 동작에 대한 검증 동작(S206)은 수행될 수 있다. 즉, S205 단계가 페일(Fail)되면, S206 단계에서 검증 동작이 수행된 후 서브 프로그램 동작(S204)이 다시 수행될 수 있다.
S205 단계가 패스(Pass)될 때까지 프로그램 전압이 단계적으로 높아지면서 S204 내지 S206 단계들이 반복될 수 있다.
S205 단계에서 페일된 청크 비트의 개수가 기준 개수 이하로 판단되면(Pass), 전류 센싱 체크 동작(S207)이 수행될 수 있다. 예를 들면, 이전 프로그램 루프의 검증 동작에서 검출된 에러 비트의 개수가 허용 개수를 초과하면 전류 센싱 체크 동작(S207)은 페일(Fail)될 수 있고, 에러 비트의 개수가 허용 개수 미만이면 전류 센싱 체크 동작(S207)은 패스(Pass)될 수 있다.
전류 센싱 체크 동작(CSC)이 페일되면(Fail), 제n 목표전압(PVn)에 대한 검증 동작이 수행될 수 있다(S206). 검증 동작은 선택된 워드 라인에 제n 검증 전압을 인가하여 수행될 수 있다.
검증 동작이 수행된 후(S206), 다음 프로그램 루프에 해당하는 서브 프로그램 동작(S204), 페일된 비트의 개수를 판단하는 동작(S205) 및 전류 센싱 체크 동작(S207)이 수행될 수 있다. 서브 프로그램 동작(S204)은 이전 프로그램 루프보다 높은 프로그램 전압을 사용하여 수행될 수 있으며,
패스된 비트의 개수를 판단하는 동작(S205)은 이전 단계에서 이미 패스된 상태이므로, 후속 동작들이 수행되는 동안에는 계속 패스된 상태가 될 수 있다.
전류 센싱 체크 동작(S207)은 이전 루프의 S206 단계에서 수행된 검증 동작에 대한 패스 또는 페일 여부를 판단할 수 있다.
전류 센싱 체크 동작(S207)에서 검증 동작이 패스로 판단되면(Pass), 제n 목표전압(PVn)이 프로그램 동작의 마지막 목표전압인지 판단될 수 있다(S208). 마지막 목표전압은 프로그램 동작에서 가장 높은 목표전압일 수 있다. 예를 들면, TLC 방식의 프로그램 동작의 경우, 선택된 메모리 셀들은 제1 내지 제7 목표전압들로 각각 프로그램될 수 있다. 제1 목표전압(PV1)이 가장 낮고 제7 목표전압(PV7)이 가장 높은 전압이면, 제7 목표전압(PV7)이 마지막 목표전압이 될 수 있다.
제n 목표전압(PVn)이 마지막 목표전압이면(Yes), 선택된 페이지의 프로그램 동작은 종료될 수 있다. 제n 목표전압(PVn)이 마지막 목표전압이 아니면(No), 제n 목표전압(PVn)의 검증 동작을 생략하고(S209), 다음 목표전압이 선택될 수 있다(S210). 예를 들면, n이 n+1로 변경되고(S210), 변경된 제n 목표전압(PVn)에 대한 검증 동작(S206)이 수행될 수 있다.
S208 단계에서 마지막 목표전압까지 전류 센싱 체크 동작이 모두 패스될 때까지 S204 내지 S210 단계들이 반복될 수 있다.
도 21은 본 발명의 제5 실시 예에 따른 프로그램 동작을 설명하기 위한 도면이다.
도 21을 참조하면, 제1 프로그램 루프(LP1)에서는 제1 프로그램 전압(1Vpgm)을 사용하는 서브 프로그램 동작과 제1 검증 전압(V1)을 사용하는 제1 검증 동작이 수행될 수 있다. 제1 검증 동작에서는 선택된 메모리 셀들의 문턱전압을 제1 검증 전압(V1)을 사용하여 센싱하는 동작이 포함될 수 있다.
제2 프로그램 루프(LP2)에서는 제1 프로그램 전압(1Vpgm)보다 스텝 전압만큼 높은 제2 프로그램 전압(2Vpgm)을 사용하는 서브 프로그램 동작과 제1 검증 전압(V1)을 사용하는 제1 검증 동작이 수행될 수 있다.
제2 프로그램 루프(LP2)부터 문턱전압이 제1 검증 전압(V1)까지 높아진 메모리 셀들의 개수가 기준 개수 이상으로 검출되는지를 판단하는 동작(PV1)이 수행될 수 있다. 예를 들면, 제2 프로그램 루프(LP2)의 서브 프로그램 동작이 수행되는 동안, 제1 검증 전압(V1)보다 낮은 메모리 셀들의 개수가 기준 개수 이하로 검출되는지를 판단하는 동작(PV1)이 수행될 수 있다. 제1 검증 전압(V1)보다 낮은 문턱전압을 가지는 메모리 셀들의 개수가 기준 개수를 초과하는 것으로 판단되면(X), 전류 센싱 체크(CSC) 동작 없이 제2 프로그램 루프(LP2)의 나머지 동작들이 수행될 수 있다. 예를 들면, 서브 프로그램 동작이 수행된 후, 제1 검증 전압(V1)을 사용하는 제1 검증 동작이 수행될 수 있다.
제3 프로그램 루프(LP3)에서는 제2 프로그램 전압(2Vpgm)보다 스텝 전압만큼 높은 제3 프로그램 전압(3Vpgm)을 사용하여 서브 프로그램 동작과 제1 및 제2 검증 전압들(V1, V2)을 사용하는 제1 및 제2 검증 동작들이 수행될 수 있다. 제3 프로그램 루프(LP3)의 서브 프로그램 동작이 수행되는 동안, 문턱전압이 제1 검증 전압(V1)보다 낮은 메모리 셀들의 개수가 기준 개수 이하로 검출되는지를 판단하는 동작(PV1)이 수행될 수 있다. 문턱전압이 제1 검증 전압(V1)보다 낮은 메모리 셀들의 개수가 기준 개수를 초과하는 것으로 판단되면(O), 제3 프로그램 루프(LP3)부터 전류 센싱 체크(CSC) 동작이 수행될 수 있다. 예를 들면, 문턱전압이 제1 검증 전압(V1)보다 낮은 메모리 셀들의 개수가 기준 개수 이하로 검출되는지를 판단하는 동작(PV1)에서는 청크에서 페일된 비트의 개수가 카운트되고, 전류 센싱 체크(CSC) 동작에서는 플래인들 단위로 검증 동작의 패스 또는 페일 여부가 판단될 수 있다.
즉, 제3 프로그램 루프(LP3)에서 수행되는 전류 센싱 체크(CSC) 동작은 제2 프로그램 루프(LP2)의 제1 검증 동작에 대한 패스 또는 페일 여부를 판단하는 동작일 수 있다. 전류 센싱 체크(CSC) 동작에서 제2 프로그램 루프(LP2)의 제1 검증 동작이 패스된 것으로 판단되면, 제4 프로그램 루프(LP4)부터 제1 검증 동작은 생략될 수 있다.
상술한 방식으로 나머지 제4 내지 제n 프로그램 루프들(LP4~LPn)이 수행될 수 있으며, 제n 프로그램 루프에서 수행된 제7 검증 동작이 패스되면 선택된 페이지의 프로그램 동작은 종료될 수 있다.
도 22는 본 발명의 제6 실시 예에 따른 프로그램 동작을 설명하기 위한 도면이다.
도 22를 참조하면, 제1 프로그램 루프(LP1)에서는 제1 프로그램 전압(1Vpgm)을 사용하는 서브 프로그램 동작과 제1 검증 전압(V1)을 사용하는 제1 검증 동작이 수행될 수 있다. 제1 검증 동작에서는 선택된 메모리 셀들의 문턱전압을 제1 검증 전압(V1)을 사용하여 센싱하는 동작이 포함될 수 있다.
제2 프로그램 루프(LP2)에서는 제1 프로그램 전압(1Vpgm)보다 스텝 전압만큼 높은 제2 프로그램 전압(2Vpgm)을 사용하는 서브 프로그램 동작과 제1 검증 전압(V1)을 사용하는 제1 검증 동작이 수행될 수 있다.
제2 프로그램 루프(LP2)부터 문턱전압이 제1 검증 전압(V1)까지 높아진 메모리 셀들의 개수가 기준 개수 이상으로 검출되는지를 판단하는 동작(PV1)이 수행될 수 있다. 예를 들면, 제2 프로그램 루프(LP2)의 서브 프로그램 동작이 수행되는 동안, 제1 검증 전압(V1)보다 낮은 문턱전압을 가지는 메모리 셀들의 개수가 기준 개수 이하로 검출되는지를 판단하는 동작(PV1)이 수행될 수 있다. 제1 검증 전압(V1)보다 문턱전압이 낮은 메모리 셀들의 개수가 기준 개수를 초과하는 것으로 판단되면(X), 전류 센싱 체크(CSC) 동작 없이 제2 프로그램 루프(LP2)의 나머지 동작들이 수행될 수 있다. 예를 들면, 서브 프로그램 동작이 수행된 후, 제1 검증 전압(V1)을 사용하는 제1 검증 동작이 수행될 수 있다.
제3 프로그램 루프(LP3)에서는 제2 프로그램 전압(2Vpgm)보다 스텝 전압만큼 높은 제3 프로그램 전압(3Vpgm)을 사용하여 서브 프로그램 동작과 제1 및 제2 검증 전압들(V1, V2)을 사용하는 제1 및 제2 검증 동작들이 수행될 수 있다. 제3 프로그램 루프(LP3)의 서브 프로그램 동작이 수행되는 동안, 문턱전압이 제1 검증 전압(V1)보다 낮은 메모리 셀들의 개수가 기준 개수를 초과하는지를 판단하는 동작(PV1)이 수행될 수 있다. 문턱전압이 제1 검증 전압(V1)보다 낮은 메모리 셀들의 개수가 기준 개수 이하로 판단되면(O), 제3 프로그램 루프(LP3)까지만 제1 검증 동작이 수행되고, 제4 프로그램 루프(LP4)부터는 제1 검증 전압(V1)을 사용하는 제1 검증 동작이 생략될 수 있다.
제3 프로그램 루프(LP3)에서 문턱전압이 제1 검증 전압(V1)보다 낮은 메모리 셀들의 개수가 기준 개수 이하로 판단되면(O), 전류 센싱 체크(CSC) 동작은 제4 프로그램 루프(LP4)부터 수행될 수 있다.
상술한 방식으로 나머지 제4 내지 제n 프로그램 루프들(LP4~LPn)이 수행될 수 있으며, 제n 프로그램 루프에서 수행된 제7 검증 동작이 패스되면 선택된 페이지의 프로그램 동작은 종료될 수 있다.
도 23은 본 발명의 메모리 장치가 적용된 메모리 카드 시스템을 설명하기 위한 도면이다.
도 23을 참조하면, 메모리 카드 시스템(2000)은 메모리 컨트롤러(2100), 메모리 장치(2200), 및 커넥터(2300)를 포함한다.
메모리 컨트롤러(2100)는 메모리 장치(2200)와 연결된다. 메모리 컨트롤러(2100)는 메모리 장치(2200)를 접속(access)하도록 구성된다. 예를 들어, 메모리 컨트롤러(2100)는 메모리 장치(2200)의 프로그램, 리드 또는 소거 동작을 제어하거나, 배경(background) 동작을 제어하도록 구성될 수 있다. 메모리 컨트롤러(2100)는 메모리 장치(2200) 및 호스트(Host) 사이에 인터페이스를 제공하도록 구성된다. 메모리 컨트롤러(2100)는 메모리 장치(2200)를 제어하기 위한 펌웨어(firmware)를 구동하도록 구성된다. 메모리 장치(2200)는 도 2 또는 도 18을 참조하여 설명된 메모리 장치(MD)와 동일하게 구성될 수 있다.
메모리 컨트롤러(2100)는 커넥터(2300)를 통해 외부 장치와 통신할 수 있다. 메모리 컨트롤러(2100)는 특정한 통신 규격에 따라 외부 장치(예를 들어, 호스트)와 통신할 수 있다. 예시적으로, 메모리 컨트롤러(2100)는 USB (Universal Serial Bus), MMC (multimedia card), eMMC(embedded MMC), PCI (peripheral component interconnection), PCI-E (PCI-express), ATA (Advanced Technology Attachment), Serial-ATA, Parallel-ATA, SCSI (small computer system interface), ESDI (enhanced small disk interface), IDE (Integrated Drive Electronics), 파이어와이어(Firewire), UFS(Universal Flash Storage), WIFI, Bluetooth, NVMe 등과 같은 다양한 통신 규격들 중 적어도 하나를 통해 외부 장치와 통신하도록 구성된다. 예시적으로, 커넥터(2300)는 상술된 다양한 통신 규격들 중 적어도 하나에 의해 정의될 수 있다.
예시적으로, 메모리 장치(2200)는 EEPROM (Electrically Erasable and Programmable ROM), 낸드 플래시 메모리, 노어 플래시 메모리, PRAM (Phase-change RAM), ReRAM (Resistive RAM), FRAM (Ferroelectric RAM), STT-MRAM(Spin Transfer Torque - Magnetic RAM) 등과 같은 다양한 비휘발성 메모리 소자들로 구성될 수 있다.
메모리 컨트롤러(2100) 및 메모리 장치(2200)는 하나의 반도체 장치로 집적되어, 메모리 카드를 구성할 수 있다. 예를 들면, 메모리 컨트롤러(2100) 및 메모리 장치(2200)는 하나의 반도체 장치로 집적되어 PC 카드(PCMCIA, personal computer memory card international association), 컴팩트 플래시 카드(CF), 스마트 미디어 카드(SM, SMC), 메모리 스틱, 멀티미디어 카드(MMC, RS-MMC, MMCmicro, eMMC), SD 카드(SD, miniSD, microSD, SDHC), 범용 플래시 기억장치(UFS) 등과 같은 메모리 카드를 구성할 수 있다.
도 24는 본 발명의 메모리 장치가 적용된 SSD(Solid State Drive) 시스템을 설명하기 위한 도면이다.
도 24를 참조하면, SSD 시스템(3000)은 호스트(3100) 및 SSD(3200)를 포함한다. SSD(3200)는 신호 커넥터(3001)를 통해 호스트(3100)와 신호를 주고 받고, 전원 커넥터(3002)를 통해 전원 전압을 입력 받는다. SSD(3200)는 SSD 컨트롤러(3210), 복수의 플래시 메모리들(3221~322n), 보조 전원 장치(3230), 및 버퍼 메모리(3240)를 포함한다.
본 발명의 실시 예에 따르면, 플래시 메모리들(3221~322n)은 도 2 또는 도 18을 참조하여 설명된 메모리 장치(MD)와 동일하게 구성될 수 있다.
SSD 컨트롤러(3210)는 호스트(3100)로부터 수신된 신호에 응답하여 복수의 플래시 메모리들(3221~322n)을 제어할 수 있다. 예시적으로, 신호는 호스트(3100) 및 SSD(3200)의 인터페이스에 기반된 신호들일 수 있다. 예를 들어, 신호는 USB (Universal Serial Bus), MMC (multimedia card), eMMC(embedded MMC), PCI (peripheral component interconnection), PCI-E (PCI-express), ATA (Advanced Technology Attachment), Serial-ATA, Parallel-ATA, SCSI (small computer system interface), ESDI (enhanced small disk interface), IDE (Integrated Drive Electronics), 파이어와이어(Firewire), UFS(Universal Flash Storage), WIFI, Bluetooth, NVMe 등과 같은 인터페이스들 중 적어도 하나에 의해 정의된 신호일 수 있다.
보조 전원 장치(3230)는 전원 커넥터(3002)를 통해 호스트(3100)와 연결된다. 보조 전원 장치(3230)는 호스트(3100)로부터 전원을 입력 받고, 충전할 수 있다. 보조 전원 장치(3230)는 호스트(3100)로부터의 전원 공급이 원활하지 않을 경우, SSD(3200)의 전원을 제공할 수 있다. 예시적으로, 보조 전원 장치(3230)는 SSD(3200) 내에 위치할 수도 있고, SSD(3200) 외부에 위치할 수도 있다. 예를 들면, 보조 전원 장치(3230)는 메인 보드에 위치하며, SSD(3200)에 보조 전원을 제공할 수도 있다.
버퍼 메모리(3240)는 SSD(3200)의 버퍼 메모리로 동작한다. 예를 들어, 버퍼 메모리(3240)는 호스트(3100)로부터 수신된 데이터 또는 복수의 플래시 메모리들(3221~322n)로부터 수신된 데이터를 임시 저장하거나, 플래시 메모리들(3221~322n)의 메타 데이터(예를 들어, 매핑 테이블)를 임시 저장할 수 있다. 버퍼 메모리(3240)는 DRAM, SDRAM, DDR SDRAM, LPDDR SDRAM 등과 같은 휘발성 메모리 또는 FRAM, ReRAM, STT-MRAM, PRAM 등과 같은 비휘발성 메모리들을 포함할 수 있다.
1000: 메모리 시스템 1100: 저장 장치
1200: 컨트롤러 1500: 호스트
MD: 메모리 장치 110: 메모리 셀 어레이
200: 주변 회로 120: 전압 생성기
130: 로우 디코더 140: 페이지 버퍼 그룹
150: 입출력 회로 160: 검증 판단기
170; 전류 센싱 체크 판단기 180: 로직 회로
190: 전류 센싱 체크 컨트롤러 160a: 패스 비트 카운터
160b: 제1 비교기 170a: 페일 비트 카운터
170b: 제2 비교기

Claims (22)

  1. 복수의 메모리 셀들을 포함하는 복수의 페이지들;
    복수의 프로그램 루프들을 수행하여 상기 복수의 페이지들 중 선택된 페이지를 프로그램하되, 상기 선택된 페이지에 포함된 일부 메모리 셀들 중 제1 목표전압까지 문턱전압이 높아진 메모리 셀들의 개수를 카운트하고, 이전 프로그램 루프에서 수행된 검증 동작의 패스 또는 페일 여부를 판단하는 전류 센싱 체크 동작을 수행하도록 구성된 주변 회로; 및
    상기 제1 목표전압까지 문턱전압이 높아진 메모리 셀들의 개수가 기준 개수 이상이면 상기 전류 센싱 체크 동작이 수행되도록 상기 주변 회로를 제어하는 로직 회로를 포함하는 메모리 장치.
  2. 제1항에 있어서, 상기 주변 회로는,
    상기 제1 목표전압까지 상기 문턱전압이 높아진 상기 메모리 셀들의 개수와 기준 개수를 비교하고, 비교 결과에 따라 체크 시작 신호 또는 체크 지연 신호를 출력하도록 구성된 검증 판단기; 및
    상기 로직 회로에서 체크 인에이블 신호가 출력되기 이전까지는 이전 프로그램 루프에서 수행된 검증 동작의 패스 또는 페일 여부를 판단하기 위한 전류 센싱 체크 동작을 지연시키고, 상기 체크 인에이블 신호가 출력되면 상기 전류 센싱 체크 동작을 수행하도록 구성된 전류 센싱 체크 판단기를 포함하는 메모리 장치.
  3. 제2항에 있어서, 상기 검증 판단기는,
    상기 선택된 페이지에 상기 메모리 셀들을 청크(chunk) 단위로 검증하여 상기 제1 목표전압까지 문턱전압이 높아진 메모리 셀들의 개수를 카운트하고, 카운트된 패스된 청크 비트의 개수를 출력하도록 구성된 제1 비트 카운터; 및
    상기 패스된 청크 비트의 개수와 상기 기준 개수를 비교하여, 상기 패스된 청크 비트의 개수가 상기 기준 개수 이상이면 상기 체크 시작 신호를 출력하고, 상기 패스된 청크 비트의 개수가 상기 기준 개수 미만이면 상기 체크 지연 신호를 출력하도록 구성된 제1 비교기를 포함하는 메모리 장치.
  4. 제3항에 있어서,
    상기 제1 비트 카운터는 상기 선택된 페이지에 포함된 복수의 청크들 중 선택된 하나의 청크로부터 검증 데이터를 수신받고, 상기 검증 데이터에 포함된 상기 패스된 청크 비트의 개수를 출력하도록 구성되고,
    상기 제1 비교기는 상기 패스된 청크 비트의 개수가 상기 기준 개수 이상이면 상기 체크 시작 신호를 출력하고, 상기 패스된 청크 비트의 개수가 상기 기준 개수 미만이면 상기 체크 지연 신호를 출력하도록 구성되는 메모리 장치.
  5. 제3항에 있어서,
    상기 제1 비트 카운터는 상기 선택된 페이지에 포함된 복수의 청크들로부터 검증 데이터를 순차적으로 수신받고, 상기 검증 데이터에 포함된 상기 패스된 청크 비트의 개수를 순차적으로 출력하도록 구성되고,
    상기 제1 비교기는 순차적으로 수신되는 상기 패스된 청크 비트의 개수와 상기 기준 개수를 서로 비교하고, 비교 결과에 따라 상기 체크 시작 신호 또는 상기 체크 지연 신호를 출력하도록 구성되는 메모리 장치.
  6. 제5항에 있어서, 상기 제1 비교기는,
    상기 복수의 청크들 각각에 대응되는 상기 패스된 청크 비트의 개수와 상기 기준 개수를 서로 비교하여 상기 체크 시작 신호 또는 상기 체크 지연 신호를 출력하고,
    상기 패스된 청크 비트의 개수가 상기 기준 개수 이상이면 상기 체크 시작 신호를 출력한 후, 상기 패스된 청크 비트의 개수와 상기 기준 개수를 서로 비교하는 동작을 중단하도록 구성되는 메모리 장치.
  7. 제5항에 있어서, 상기 제1 비교기는,
    상기 복수의 청크들의 상기 패스된 청크 비트의 개수를 합한 개수와 상기 기준 개수를 서로 비교하여 상기 체크 시작 신호 또는 상기 체크 지연 신호를 출력하도록 구성되는 메모리 장치.
  8. 제2항에 있어서, 상기 전류 센싱 체크 판단기는,
    상기 체크 인에이블 신호에 응답하여 상기 선택된 페이지로부터 센싱된 데이터를 수신받고, 상기 센싱된 데이터에 포함된 페일된 비트를 카운트 하여 페일된 페이지 비트의 개수를 출력하도록 구성되는 제2 비트 카운터; 및
    상기 페일된 페이지 비트의 개수와 허용 개수를 서로 비교하고, 비교 결과에 따라 체크 패스 신호 또는 체크 페일 신호를 출력하도록 구성된 제2 비교기를 포함하는 메모리 장치.
  9. 제8항에 있어서, 상기 제2 비교기는,
    상기 페일된 페이지 비트의 개수가 상기 허용 개수 이하면 상기 체크 패스 신호를 출력하고,
    상기 페일된 페이지 비트의 개수가 상기 허용 개수를 초과하면 상기 체크 페일 신호를 출력하도록 구성되는 메모리 장치.
  10. 제8항에 있어서,
    상기 선택된 페이지가 복수의 플래인들에 각각 포함된 경우,
    상기 제2 비교기는,
    모든 상기 플래인들에서 상기 선택된 페이지의 상기 페일된 페이지 비트의 개수가 상기 허용 개수 이하면 상기 체크 패스 신호를 출력하고,
    상기 플래인들 중 적어도 하나의 플래인에서 상기 선택된 페이지의 상기 페일된 페이지 비트의 개수가 상기 허용 개수를 초과하면 상기 체크 페일 신호를 출력하도록 구성되는 메모리 장치.
  11. 제1항에 있어서, 상기 제어 로직은,
    상기 제1 목표전압보다 낮은 문턱전압을 가지는 메모리 셀들의 개수에 따라 상기 전류 센싱 체크 동작을 수행시키기 위한 체크 인에이블 신호를 선택적으로 출력하고, 상기 선택된 페이지의 상기 검증 동작 또는 상기 전류 센싱 체크 동작의 결과에 따라 상기 선택된 페이지의 프로그램 루프를 제어하는 전류 센싱 체크 컨트롤러를 포함하는 메모리 장치.
  12. 제11항에 있어서, 상기 전류 센싱 체크 컨트롤러는,
    상기 선택된 페이지에서 수행되는 각 프로그램 루프의 상기 검증 동작 또는 상기 전류 센싱 체크 동작의 결과에 따라 검증 신호 또는 상기 체크 인에이블 신호를 출력하도록 구성된 프로그램 루프 컨트롤러; 및
    상기 문턱전압이 상기 제1 목표전압보다 낮은 상기 메모리 셀들의 개수가 상기 기준 개수 이하거나 상기 검증 동작이 패스되면 패스 신호를 출력하고, 상기 문턱전압이 상기 제1 목표전압보다 낮은 상기 메모리 셀들의 개수가 상기 기준 개수를 초과하거나 상기 검증 동작이 페일되면 페일 신호를 출력하도록 구성된 메모리 장치.
  13. 제1항에 있어서, 상기 주변 회로는,
    상기 제1 목표전압까지 상기 문턱전압이 높아진 상기 메모리 셀들의 개수와 기준 개수를 비교하고, 비교 결과에 따라 체크 시작 신호 또는 체크 지연 신호를 출력하거나,
    상기 로직 회로에서 체크 인에이블 신호가 출력되기 이전까지는 이전 프로그램 루프에서 수행된 검증 동작의 패스 또는 페일 여부를 판단하기 위한 전류 센싱 체크 동작을 지연시키고, 상기 체크 인에이블 신호가 출력되면 상기 전류 센싱 체크 동작을 수행하도록 구성된 전류 센싱 체크 판단기를 포함하는 메모리 장치.
  14. 선택된 페이지에 포함된 메모리 셀들에 프로그램 전압을 인가하는 서브 프로그램 동작을 수행하는 단계;
    상기 메모리 셀들 중에서, 목표전압이 가장 낮은 선택된 메모리 셀들의 문턱전압을 검증하기 위한 검증 동작을 수행하는 단계;
    상기 검증 동작에서 검출된 패스된 비트의 개수와 기준 개수를 비교하는 단계;
    상기 패스된 비트의 개수가 상기 기준 개수 미만이면, 다음 프로그램 루프에서 상기 검증 동작에 대한 패스 또는 페일 여부를 판단하는 전류 센싱 체크 동작을 생략하는 단계; 및
    상기 패스된 비트의 개수가 상기 기준 개수 이상이면, 상기 다음 프로그램 루프부터 상기 전류 센싱 체크 동작을 수행하는 단계를 포함하는 메모리 장치의 동작 방법.
  15. 제14항에 있어서,
    상기 패스된 비트의 개수는,
    상기 목표전압이 가장 낮은 선택된 메모리 셀들 중, 문턱전압이 상기 목표전압까지 높아진 메모리 셀들의 개수인 메모리 장치의 동작 방법.
  16. 제14항에 있어서,
    상기 패스된 비트의 개수가 상기 기준 개수 미만이면,
    상기 다음 프로그램 루프는 상기 프로그램 전압보다 높은 프로그램 전압을 사용하여 수행되는 메모리 장치의 동작 방법.
  17. 제14항에 있어서,
    상기 검증 동작에서 검출된 패스된 비트의 개수와 기준 개수를 비교하는 단계는,
    다음 프로그램 루프가 수행되기 이전에 수행되거나,
    상기 다음 프로그램 루프의 상기 서브 프로그램 동작 시 수행되는 메모리 장치의 동작 방법.
  18. 제14항에 있어서,
    상기 전류 센싱 동작이 수행되는 경우,
    상기 전류 센싱 동작은 상기 서브 프로그램 동작 시 수행되는 메모리 장치의 동작 방법.
  19. 제14항에 있어서,
    상기 전류 센싱 동작이 수행되는 경우,
    상기 검증 동작에서 검출된 패스된 비트의 개수와 기준 개수를 비교하는 단계는 생략되는 메모리 장치의 동작 방법.
  20. 선택된 페이지의 메모리 셀들의 문턱전압을 높이기 위한 복수의 프로그램 루프들을 수행하는 단계를 포함하며,
    상기 복수의 프로그램 루프들에서,
    상기 문턱전압이 목표전압까지 높아진 메모리 셀들의 개수가 기준 개수 미만이면, 이전 프로그램 루프의 검증 동작의 결과를 판단하기 위한 전류 센싱 체크 동작이 생략되고
    상기 문턱전압이 상기 목표전압까지 높아진 메모리 셀들의 개수가 상기 기준 개수 이상이면, 상기 전류 센싱 체크 동작이 수행되는 것을 특징으로 하는 메모리 장치의 동작 방법.
  21. 제20항에 있어서, 상기 프로그램 루프는,
    상기 문턱전압이 상기 목표전압까지 높아진 메모리 셀들의 개수가 상기 기준 개수 미만이면,
    상기 메모리 셀들의 문턱전압을 높이기 위하여 상기 선택된 페이지에 연결된 워드 라인에 프로그램 전압을 인가하는 단계; 및
    상기 문턱전압이 상기 목표전압까지 높아진 메모리 셀들의 개수와 상기 기준 개수를 비교하는 단계를 포함하는 메모리 장치의 동작 방법.
  22. 제20항에 있어서,
    상기 문턱전압이 상기 목표전압까지 높아진 메모리 셀들의 개수가 상기 기준 개수 이상이면, 상기 프로그램 루프는,
    상기 메모리 셀들의 문턱전압을 높이기 위하여 상기 선택된 페이지에 연결된 워드 라인에 프로그램 전압을 인가하고 상기 전류 센싱 체크 동작을 수행하는 단계;
    상기 메모리 셀드의 문턱전압이 상기 목표전압까지 모두 높아졌는지를 센싱하기 위한 검증 동작을 수행하는 단계를 포함하는 메모리 장치의 동작 방법.
KR1020200126702A 2020-09-29 2020-09-29 메모리 장치 및 이의 동작 방법 KR20220043365A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020200126702A KR20220043365A (ko) 2020-09-29 2020-09-29 메모리 장치 및 이의 동작 방법
US17/217,374 US11532369B2 (en) 2020-09-29 2021-03-30 Memory device and method of operating the same
CN202110446977.6A CN114333929A (zh) 2020-09-29 2021-04-25 存储器设备和操作存储器设备的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200126702A KR20220043365A (ko) 2020-09-29 2020-09-29 메모리 장치 및 이의 동작 방법

Publications (1)

Publication Number Publication Date
KR20220043365A true KR20220043365A (ko) 2022-04-05

Family

ID=80821451

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200126702A KR20220043365A (ko) 2020-09-29 2020-09-29 메모리 장치 및 이의 동작 방법

Country Status (3)

Country Link
US (1) US11532369B2 (ko)
KR (1) KR20220043365A (ko)
CN (1) CN114333929A (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220064096A (ko) * 2020-11-11 2022-05-18 에스케이하이닉스 주식회사 메모리 시스템
EP4099327A1 (en) * 2021-06-04 2022-12-07 Commissariat à l'Energie Atomique et aux Energies Alternatives Method for programming an array of resistive memory cells
KR20230114529A (ko) * 2022-01-25 2023-08-01 에스케이하이닉스 주식회사 메모리 장치 및 그것의 동작 방법

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130072668A (ko) 2011-12-22 2013-07-02 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그의 동작 방법
KR102491133B1 (ko) * 2016-03-21 2023-01-25 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법
US10074440B2 (en) * 2016-10-28 2018-09-11 Sandisk Technologies Llc Erase for partially programmed blocks in non-volatile memory
KR20180131023A (ko) * 2017-05-31 2018-12-10 에스케이하이닉스 주식회사 반도체 메모리 시스템 및 그것의 동작 방법
KR102468751B1 (ko) 2018-05-09 2022-11-21 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR102461099B1 (ko) * 2018-08-07 2022-11-01 에스케이하이닉스 주식회사 메모리 장치 및 이를 포함하는 저장 장치 및 그 동작 방법
US11094386B1 (en) * 2020-02-13 2021-08-17 Intel Corporation Device, system, and method to verify data programming of a multi-level cell memory based on one of temperature, pressure, wear condition or relative position of the memory cell

Also Published As

Publication number Publication date
US20220101933A1 (en) 2022-03-31
CN114333929A (zh) 2022-04-12
US11532369B2 (en) 2022-12-20

Similar Documents

Publication Publication Date Title
CN112447244B (zh) 存储装置及其操作方法
KR20220043365A (ko) 메모리 장치 및 이의 동작 방법
US11482290B2 (en) Controller and memory system including the controller
CN112885394B (zh) 存储器装置和操作该存储器装置的方法
CN114627943A (zh) 存储器设备和操作该存储器设备的方法
US10991432B2 (en) Storage device and method of operating the same
US20240212769A1 (en) Memory device and method of operating the same
CN115938444A (zh) 存储器装置及其操作方法
CN112908370A (zh) 存储器装置和操作该存储器装置的方法
US11842779B2 (en) Memory device and operating method for performing verify operation
US11853570B2 (en) Controller and memory system having the controller
US11586387B2 (en) Memory system
US11688465B2 (en) Memory system having memory controller
US11550497B2 (en) Memory system and operating method of the memory system
US11646089B2 (en) Memory device for performing verify operation and operating method thereof
US11782644B2 (en) Memory system and method of operating the same
KR20230153181A (ko) 메모리 장치 및 그 프로그래밍 속도 조절 방법
KR20220030092A (ko) 메모리 장치 및 이의 동작 방법
KR20220162599A (ko) 메모리 셀들의 프로그램 동작을 수행하는 메모리 장치
KR20240077026A (ko) 메모리 장치 및 이의 동작 방법
CN117253522A (zh) 存储器装置及其操作方法、以及储存装置
CN115440281A (zh) 与对存储器单元执行编程操作有关的存储器设备
CN116524979A (zh) 存储器装置和该存储器装置的操作方法
KR20220045769A (ko) 메모리 장치 및 이의 동작 방법
CN117953926A (zh) 存储器设备和存储器设备的操作方法