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

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

Info

Publication number
KR20130142417A
KR20130142417A KR1020120065620A KR20120065620A KR20130142417A KR 20130142417 A KR20130142417 A KR 20130142417A KR 1020120065620 A KR1020120065620 A KR 1020120065620A KR 20120065620 A KR20120065620 A KR 20120065620A KR 20130142417 A KR20130142417 A KR 20130142417A
Authority
KR
South Korea
Prior art keywords
memory cells
program
voltage
verify
target state
Prior art date
Application number
KR1020120065620A
Other languages
English (en)
Other versions
KR101942863B1 (ko
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 KR1020120065620A priority Critical patent/KR101942863B1/ko
Priority to US13/767,166 priority patent/US8804422B2/en
Publication of KR20130142417A publication Critical patent/KR20130142417A/ko
Application granted granted Critical
Publication of KR101942863B1 publication Critical patent/KR101942863B1/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
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • 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
    • 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
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5621Multilevel programming verification
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/71Three dimensional array

Landscapes

  • Read Only Memory (AREA)

Abstract

본 발명의 실시 예에 따른 선택된 메모리 셀들을 복수의 타깃 상태들로 프로그램하는 방법은, 상기 선택된 메모리 셀들에 제 1 검증 전압을 제공하여 적어도 하나의 타깃 상태로 프로그램되는 메모리 셀들에 대한 검증 읽기를 수행하는 단계, 상기 선택된 메모리 셀들에 프로그램 전압을 인가하는 단계, 그리고 특정 프로그램 루프 이상에서 상기 제 1 검증 전압보다 낮은 제 2 검증 전압을 상기 선택된 메모리 셀들에 제공하여 상기 적어도 하나의 타깃 상태로 프로그램되는 메모리 셀들에 대한 검증 읽기를 수행하는 단계를 포함하되, 상기 제 2 검증 전압은, 상기 복수의 타깃 상태들 중에서 상기 적어도 하나의 타깃 상태에 대한 허용 슬로우 비트의 수가 나머지 타깃 상태에 대한 허용 슬로우 비트의 수와 다르게 설정된다.

Description

불휘발성 메모리 장치 및 그것의 프로그램 방법{NON-VOLATILE MEMORY DEVICE AND PROGRAM METHOD THEREOF}
본 발명은 반도체 메모리 장치에 관한 것으로, 좀 더 구체적으로는 불휘발성 메모리 장치 및 그것의 프로그램 방법에 관한 것이다.
반도체 메모리 장치는 크게 휘발성 반도체 메모리 장치(Volatile semiconductor memory device)와 불휘발성 반도체 메모리 장치(Non-volatile semiconductor memory device)로 구분될 수 있다. 휘발성 반도체 메모리 장치는 읽고 쓰는 속도가 빠르지만 전원 공급이 끊기면 저장된 내용이 사라져 버리는 단점이 있다. 반면에 불휘발성 반도체 메모리 장치는 전원 공급이 중단되더라도 그 내용을 보존한다. 그러므로, 불휘발성 반도체 메모리 장치는 전원이 공급되었는지의 여부에 관계없이 보존되어야 할 내용을 기억시키는 데 쓰인다.
불휘발성 반도체 메모리 장치로는 마스크 롬(Mask read-only memory, MROM), 프로그램 가능한 롬(Programmable read-only memory, PROM), 소거 및 프로그램 가능한 롬(Erasable programmable read-only memory, EPROM), 전기적으로 소거 및 프로그램 가능한 롬(Electrically erasable programmable read-only memory, EEPROM) 등이 있다.
불휘발성 메모리 장치의 대표적인 예로 플래시 메모리 장치가 있다. 플래시 메모리 장치는 컴퓨터, 휴대폰, PDA, 디지털카메라, 캠코더, 보이스 리코더, MP3 플레이어, 개인용 휴대 단말기(PDA), 휴대용 컴퓨터(Handheld PC), 게임기, 팩스, 스캐너, 프린터 등(이하, '호스트'라 함)과 같은 정보기기들의 음성 및 영상 데이터 저장 매체로서 널리 사용되고 있다.
최근 들어 메모리 장치에 대한 고집적 요구가 증가함에 따라, 하나의 메모리 셀에 멀티 비트를 저장하는 멀티-비트 메모리 장치(또는, 멀티 레벨 셀 메모리 장치)들이 보편화되고 있다. 또한, 고집적화 요구와 더불어 모바일 트랜드를 충족시킬 수 있는 저전력 및 고성능의 불휘발성 메모리 장치에 대한 요구가 증가하고 있다.
본 발명의 목적은 프로그램 속도의 증가 및 데이터 신뢰성을 높일 수 있는 불휘발성 메모리 장치 및 그것의 프로그램 방법을 제공하는 데 있다.
상기의 과제를 이루기 위한 본 발명의 실시 예에 따른 선택된 메모리 셀들을 복수의 타깃 상태들로 프로그램하는 방법은, 상기 선택된 메모리 셀들에 제 1 검증 전압을 제공하여 적어도 하나의 타깃 상태로 프로그램되는 메모리 셀들에 대한 검증 읽기를 수행하는 단계, 상기 선택된 메모리 셀들에 프로그램 전압을 인가하는 단계, 그리고 특정 프로그램 루프 이상에서 상기 제 1 검증 전압보다 낮은 제 2 검증 전압을 상기 선택된 메모리 셀들에 제공하여 상기 적어도 하나의 타깃 상태로 프로그램되는 메모리 셀들에 대한 검증 읽기를 수행하는 단계를 포함하되, 상기 제 2 검증 전압은, 상기 복수의 타깃 상태들 중에서 상기 적어도 하나의 타깃 상태에 대한 허용 슬로우 비트의 수가 나머지 타깃 상태에 대한 허용 슬로우 비트의 수와 다르게 설정된다.
상기 과제를 이루기 위한 본 발명의 실시 예에 따른 불휘발성 메모리 장치는, 복수의 타깃 상태들로 프로그램되는 메모리 셀들을 포함하는 셀 어레이, 비트 라인들을 통해서 상기 메모리 셀들 중 선택된 메모리 셀들에 대한 센싱을 수행하는 페이지 버퍼, 상기 선택된 메모리 셀들의 워드 라인에 프로그램 전압 또는 검증 전압을 제공하기 위한 전압 발생기, 그리고 상기 선택된 메모리 셀들을 상기 복수의 타깃 상태들 중 적어도 하나의 타깃 상태로 프로그램할 때, 상기 복수의 타깃 상태들에 대한 허용 슬로우 비트를 차별적으로 적용하도록 상기 페이지 버퍼 및 전압 발생기를 제어하는 제어 로직을 포함한다.
본 발명의 실시 예에 따르면, 프로그램에 소요되는 루프 수를 최소화할 수 있고, 데이터의 신뢰성을 높일 수 있는 불휘발성 메모리 장치를 구현할 수 있다.
도 1은 본 발명의 실시 예에 따른 불휘발성 메모리 장치를 보여주는 블록도이다.
도 2 및 도 3은 본 발명의 실시 예에 따른 검증 전압의 레벨을 보여주는 도면이다.
도 4는 본 발명의 실시 예에 따른 프로그램 방법을 보여주는 순서도이다.
도 5는 본 발명의 다른 실시 예에 따른 프로그램 방법을 보여주는 순서도이다.
도 6은 본 발명의 실시 예에 따른 검증 전압의 레벨을 보여주는 도면이다.
도 7은 본 발명의 실시 예에 따른 프로그램 방법을 보여주는 순서도이다.
도 8은 본 발명의 다른 실시 예에 따른 불휘발성 메모리 장치를 보여주는 블록도이다.
도 9는 도 8의 불휘발성 메모리 장치에 의한 허용 슬로우 비트의 할당 방법을 간략히 보여주는 도면이다.
도 10은 도 8의 불휘발성 메모리 장치에서 수행되는 프로그램 방법을 예시적으로 보여주는 순서도이다.
도 11은 본 발명의 실시 예에 따른 메모리 시스템을 보여주는 블록도이다.
도 12는 본 발명의 효과를 보여주는 도면이다.
도 13은 본 발명의 또 다른 실시 예에 따른 프로그램 방법을 보여주는 순서도이다.
도 14는 도 1 또는 도 8의 메모리 블록을 예시적으로 보여주는 도면이다.
도 15는 본 발명의 실시 예에 따른 솔리드 스테이트 드라이브를 보여주는 블록도이다.
도 16은 본 발명의 실시 예에 따른 데이터 저장 장치를 예시적으로 보여주는 블록도이다.
도 17은 본 발명의 실시 예에 따른 메모리 카드를 예시적으로 보여주는 블록도이다.
도 18은 본 발명의 실시 예에 따른 불휘발성 메모리 장치 및 그것을 포함하는 컴퓨팅 시스템의 개략적인 구성을 보여주는 도면이다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시 예를 첨부된 도면을 참조하여 설명하기로 한다. 동일한 구성 요소들은 동일한 참조번호를 이용하여 인용될 것이다. 유사한 구성 요소들은 유사한 참조번호들을 이용하여 인용될 것이다. 아래에서 설명될 본 발명에 따른 불휘발성 메모리 장치의 회로 구성과, 그것에 의해 수행되는 동작은 예를 들어 설명한 것에 불과하며, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양한 변화 및 변경이 가능하다.
더불어, 본 발명의 기술을 설명하기 위하여 '슬로우 비트(Slow bit)'와 '페일 비트(Fail bit)'라는 용어가 사용될 것이다. '슬로우 비트'는 프로그램 동작시 충분히 문턱 전압이 상승하지 못해 검증 전압에 의해서 실질적으로 프로그램 실패된 메모리 셀로부터 감지된 데이터에 대응한다. 그리고 '페일 비트'는 의도하지 않은 문턱 전압의 상승으로 읽기 동작시에 잘못 읽혀지는 메모리 셀들의 감지 데이터에 대응한다.
도 1은 본 발명의 실시 예에 따른 불휘발성 메모리 장치(100)를 보여주는 블록도이다. 도 1을 참조하면, 불휘발성 메모리 장치(100)는 셀 어레이(110), 행 디코더(120), 페이지 버퍼(130), 패스/페일 검출기(140), 제어 로직(150) 그리고 전압 발생기(160)를 포함한다. 이러한 구성들을 포함하는 불휘발성 메모리 장치(100)는 특정 타깃 상태에 대응하는 허용 슬로우 비트(Slow Bit Tolerance)의 수를 증가시키거나 감소시킬 수 있다.
셀 어레이(110)는 워드 라인들(WLs) 또는 선택 라인들(SSL, GSL)을 통해 행 디코더(120)에 연결된다. 셀 어레이(110)는 비트 라인들(BL0~BLn-1)을 통해서 페이지 버퍼(130)에 연결된다. 셀 어레이(110)는 복수의 낸드형 셀 스트링들(NAND Cell Strings)을 포함한다. 각각의 셀 스트링들은 수직 또는 수평 방향으로 채널을 형성할 수 있다. 셀 어레이(110)에는 복수의 워드 라인들이 수직 방향으로 적층될 수 있다.
행 디코더(120)는 어드레스(ADD)에 응답하여 셀 어레이(110)의 메모리 블록들 중 어느 하나를 선택할 수 있다. 행 디코더(120)는 선택된 메모리 블록의 워드 라인들 중 어느 하나를 선택할 수 있다. 행 디코더(120)는 선택된 메모리 블록의 워드 라인에 전압 발생기(160)로부터 제공되는 전압을 전달한다. 프로그램 동작시 행 디코더(120)는 선택 워드 라인(Selected WL)에 프로그램 전압(Vpgm)과 검증 전압(Vfy)을, 비선택 워드 라인(Unselected WL)에는 패스 전압(Vpass)을 전달할 것이다.
페이지 버퍼(130)는 동작 모드에 따라 기입 드라이버로서 또는 감지 증폭기로서 동작한다. 프로그램 동작시, 페이지 버퍼(130)는 셀 어레이(110)의 비트 라인으로 프로그램될 데이터에 대응하는 비트 라인 전압을 전달한다. 그리고 프로그램된 데이터를 비트 라인들(BL0~BLn-1)을 통해서 감지 및 래치할 것이다. 검증 동작에 의해서 페이지 버퍼(130)에 래치된 데이터는 패스/페일 검출기(140)에 전달될 것이다. 반면, 페이지 버퍼(130)는 읽기 동작시에는 비트 라인들(BL0~BLn-1)을 통해서 감지 및 래치된 데이터(Data)가 외부로 전달될 수 있도록 입출력 버퍼(미도시됨)로 전달할 것이다.
패스/페일 검출기(140)는 프로그램 동작시에 수행되는 검증 읽기의 결과를 참조하여 프로그램 성공 여부를 판단한다. 검증 읽기 동작은 선택된 메모리 셀들의 워드 라인에 검증 전압(Vfy)이 제공되는 일종의 읽기 동작이다. 하지만, 검증 읽기 동작에 의해서 페이지 버퍼(130)에 래치된 데이터는 외부로 출력되지 않고 패스/페일 검출기(140)로 제공된다. 패스/페일 검출기(140)는 페이지 버퍼(130)로부터 전달되는 검증 읽기 데이터에 기초하여 프로그램 성공 여부(P/F)를 판단하여 제어 로직(150)에 전달한다.
제어 로직(150)은 패스/페일 검출기(140)로부터 전달되는 프로그램 성공 여부(P/F)를 참조하여 프로그램 동작의 종료 또는 계속 진행 여부를 결정한다. 만일, 패스/페일 검출기(140)로부터 프로그램 패일(Fail)의 결과를 제공받으면, 제어 로직(150)은 후속 프로그램 루프(Loop)를 진행하도록 전압 발생기(160) 및 페이지 버퍼(130)를 제어할 것이다. 이처럼, 증가하는 프로그램 루프 수에따라 프로그램을 진행하기 위하여 제어 로직(150)은 루프 카운트(Loop_cnt)를 제공받을 수 있다. 반면, 제어 로직(150)은 프로그램 패스(Pass)의 결과를 제공받으면, 선택된 메모리 셀들에 대한 프로그램 동작을 종료하게 될 것이다.
전압 발생기(160)는 제어 로직(150)의 제어에 따라 각각의 워드 라인들로 공급될 다양한 종류의 워드 라인 전압들과, 메모리 셀들이 형성된 벌크(예를 들면, 웰 영역)로 공급될 전압을 발생한다. 각각의 워드 라인들로 공급될 워드 라인 전압들로는 프로그램 전압(Vpgm), 검증 전압(Vfy), 패스 전압(Vpass), 선택 및 비선택 읽기 전압들(Vrd, Vread) 등이 있다. 전압 발생기(160)는 읽기 동작 및 프로그램 동작시에 선택 라인들(SSL, GSL)에 제공되는 선택 라인 전압(VSSL, VGSL)을 생성할 수 있다.
특히, 전압 발생기(160)는 프로그램 동작시에 특정 상태에 대한 검증 전압을 프로그램 루프 수나 프로그램 전압의 레벨에 따라 가변할 수 있다. 예를 들면, 전압 발생기(160)는 선택된 메모리 셀들에 대하여 최초 프로그램 루프에서부터 특정 프로그램 루프까지는 제 1 검증 전압(Vfy)을 제공하지만, 특정 프로그램 루프를 초과하는 프로그램 루프(Loop_cnt)에서는 제 2 검증 전압(Vfy′)을 제공할 수 있다. 여기서, 제 2 검증 전압(Vfy′)은 제 1 검증 전압(Vfy) 전압보다 낮다. 이러한 검증 전압에 대한 가변은 특정 타깃 상태로 프로그램되는 메모리 셀들에 대해서만 적용될 수도 있다. 또는, 프로그램 루프 수에 따른 검증 전압의 가변은 타깃 상태들 각각에 대한 감소 폭을 차별화하여 모든 타깃 상태들에 적용할 수도 있다.
프로그램 동작시, 상대적으로 높은 문턱 전압에 대응하는 타깃 상태(예를 들면, 2-bit MLC에서 P3)로 선택된 메모리 셀들을 프로그램하기 위해서는 나머지 타깃 상태들(P1, P2)에 비해서 상대적으로 많은 프로그램 루프가 적용된다. 이러한 프로그램 루프 수가 증가하는 것은 타깃 상태(P3)로 프로그램될 때 발생하는 슬로우 비트들(Slow bits)의 수가 상대적으로 크게 관찰되기 때문이다. 만일, 에러 정정 연산을 통해서 커버될 수 있는 수의 슬로우 비트가 존재한다면, 이들 슬로우 비트들이 존재하더라도 프로그램 패스(Pass)로 판정하기 위하여 전압 발생기(160)가 제어될 것이다.
이상에서 설명된 불휘발성 메모리 장치(100)는 타깃 상태, 루프 수, 프로그램 전압의 레벨 등에 따라 검증 전압의 레벨을 가변할 수 있다. 따라서, 본 발명의 불휘발성 메모리 장치(100)에 따르면, 슬로우 비트들에 의해서 과도하게 증가되는 프로그램 루프 수를 감소시킬 수 있다.
도 2 및 도 3은 본 발명의 실시 예에 따른 검증 전압의 레벨을 보여주는 도면이다. 도 2는 타깃 상태(P3)에 대한 슬로우 비트를 바이패스(Bypass)하기 위한 검증 전압의 레벨들(Vfy3, Vfy3′)을 보여주는 도면이다. 도 3은 프로그램 동작시 선택된 워드 라인에 제공되는 프로그램 전압과 검증 전압을 프로그램 루프 수에 따라 보여주는 파형도이다.
먼저 도 2를 참조하면, 2-비트 멀티 레벨 셀의 문턱 전압 분포가 예시적으로 도시되어 있다. 그리고 특정 타깃 상태(P3)로 프로그램되는 메모리 셀들에 대해서만 슬로우 비트들을 바이패스하기 위한 검증 전압들(Vfy3, Vfy3′)의 레벨이 도시되어 있다. 2-비트 멀티 레벨 셀의 문턱 전압 분포에 따르면, 메모리 셀들의 문턱 전압은 4개의 상태들 중 어느 하나에 포함될 것이다. 프로그램 동작에 의해서 메모리 셀들의 문턱 전압은 소거 상태(E0)에 머물러 있거나, 3개의 프로그램 상태들(P1, P2, P3) 중 어느 하나로 이동한다.
본 발명의 실시 예에 따르면, 프로그램 동작시 메모리 셀들의 워드 라인으로는 프로그램 전압(Vpgm)이 인가된다. 프로그램 전압(Vpgm)의 인가에 뒤따라 프로그램의 완료 여부를 검출하기 위한 3개의 상태들 각각에 대한 검증 동작이 실시된다. 즉, 3개의 프로그램 상태들(P1, P2, P3) 각각에 대응하는 검증 전압들(Vfy1, Vfy2, Vfy3와 Vfy3′중 하나)이 인가된다. 특히, 허용 슬로우 비트(Slow Bit Tolerance: 이하, SBT)의 수를 고려하여 프로그램 상태(P3)로 프로그램되는 메모리 셀들에 대한 검증 전압은 Vfy3와 Vfy3′중 어느 하나가 인가될 수 있다. 예를 들면, 기준 루프 수(LoopK) 미만의 프로그램 루프에서는 검증 전압(Vfy3)이 인가될 수 있다. 반면, 기준 루프 수(LoopK) 이상의 프로그램 루프에서는 검증 전압(Vfy3´)이 제공될 수 있다. 또는, 기준 레벨(VpgmK) 미만의 프로그램 전압의 인가시, 검증 전압으로는 검증 전압(Vfy3)이 제공될 수 있다. 반면, 기준 레벨(VpgmK) 이상의 프로그램 전압에 대한 검증 전압으로는 검증 전압(Vfy3´)이 인가될 수 있다.
여기서, 검증 전압(Vfy3)과 검증 전압(Vfy3´)의 전압 차이(ΔV)는 허용 슬로우 비트(SBT)의 수에 따라서 결정될 수 있다. 예를 들면, 프로그램 상태(P3)에 대한 허용 슬로우 비트(SBT)와 프로그램 루프 수의 감소에 의하여 억제되는 페일 비트의 수의 트레이드 오프(Trade-off)를 고려하여 검증 전압(Vfy3´)의 레벨을 결정할 수 있다. 그리고 하나의 프로그램 상태(P3)에 대해서 본 발명의 이점이 설명되었으나 본 발명은 여기에 국한되지 않는다. 즉, 프로그램 상태들(P1, P2)에 대해서도 허용 슬로우 비트의 수를 고려한 검증 전압들의 가변을 프로그램 전압의 레벨이나 프로그램 루프 수에 따라 적용할 수 있을 것이다.
도 3은 본 발명의 프로그램 동작을 간략히 보여주는 파형도이다. 도 3을 참조하면, 프로그램 동작시 선택된 워드 라인으로는 프로그램 전압(Vpgmi)이 인가되고, 각각의 타깃 상태들(P1, P2, P3)에 대한 검증 전압들이 제공될 것이다.
먼저, 제 1 루프(Loop1)에서 선택된 메모리 셀들의 워드 라인으로는 시작 전압에 해당하는 프로그램 전압(Vpgm1)이 인가된다. 이어서, 3개의 타깃 상태들(P1, P2, P3) 각각에 대한 검증 전압들(Vfy1, Vfy2, Vfy3)이 선택된 메모리 셀들의 워드 라인에 인가된다. 검증 전압들(Vfy1, Vfy2, Vfy3)이 선택된 메모리 셀들의 워드 라인에 인가될 때, 페이지 버퍼(130)는 선택된 메모리 셀들의 비트 라인을 통해서 메모리 셀들의 온-오프(On-Off) 여부를 감지한다. 그리고 감지된 데이터를 패스/페일 검출기(140)에 제공하게 될 것이다. 검증 전압들(Vfy1, Vfy2, Vfy3) 각각에 의해서 프로그램 패스(Pass)로 검출되지 못하면, 증가된 프로그램 전압(Vpgm2)을 통해서 선택된 메모리 셀들에 인가하기 위한 제 2 루프(Loop2)가 이어진다. 이러한 방식으로 선택된 메모리 셀들의 워드 라인으로 프로그램 전압과 검증 전압이 지속적으로 제공될 것이다.
그러나, 특정 루프(LoopK)에 도달하거나 또는 프로그램 전압이 특정 레벨(VpgmK)에 도달하는 경우, 타깃 상태(P3)에 대한 검증 전압의 레벨은 변화된다. 즉, 타깃 상태(P3)에 대한 검증 전압(Vfy3)이 허용 슬로우 비트(SBT)를 고려한 검증 전압(Vfy3´)으로 변경된다. 따라서, 타깃 상태(P3)로 프로그램되는 메모리 셀들 중에서 문턱 전압이 검증 전압(Vfy3)에 도달하지 못했지만, 검증 전압(Vfy3´) 보다 높다면, 패스/패일 검출기(140)는 프로그램 패스(Pass)로 판정할 것이다. 검증 전압(Vfy3´)을 적용하는 이러한 프로그램 루프는 이후로도 계속 이어지게 될 것이다.
이상에서는 타깃 상태(P3)에 대해서만 허용 슬로우 비트(SBT)를 적용하는 것으로 설명되었으나, 타깃 상태들(P1, P2)에 대해서도 유사한 방식의 허용 슬로우 비트(SBT)를 적용할 수 있을 것이다.
도 4는 본 발명의 실시 예에 따른 프로그램 방법을 보여주는 순서도이다. 도 3 내지 도 4를 참조하면, 프로그램 동작시 타깃 상태들(P1, P2, P3) 각각에 대해서 서로 다른 레벨의 허용 슬로우 비트(SBT)를 적용할 수 있다.
단계 S110에서, 선택된 메모리 셀들의 워드 라인으로는 프로그램 전압(예를 들면, Vpgm1)이 인가된다. 여기서, 선택된 메모리 셀들은 동일한 워드 라인에 연결되며, 멀티 레벨 셀들로 구성될 수 있다.
단계 S120에서, 타깃 상태(P1)에 대한 검증 읽기 동작이 실시된다. 타깃 상태(P1)에 대한 검증 읽기 동작을 위해서 선택된 메모리 셀들의 워드 라인으로는 검증 전압(Vfy1)이 제공될 것이다. 그리고 타깃 상태(P1)로 프로그램되는 메모리 셀들은 페이지 버퍼에 의해서 온 셀인지 오프 셀인지 감지될 것이다.
단계 S130에서, 타깃 상태(P2)에 대한 검증 읽기 동작이 실시된다. 타깃 상태(P2)에 대한 검증 읽기 동작을 위해서 선택된 메모리 셀들의 워드 라인으로는 검증 전압(Vfy2)이 제공될 것이다. 그리고 타깃 상태(P2)로 프로그램되는 메모리 셀들은 페이지 버퍼(130)에 온 셀인지 오프 셀인지 감지될 것이다.
단계 S140에서, 프로그램 루프 수(Loop_cnt)가 기준치(LoopK)에 도달했는지 검출된다. 프로그램 루프 수(Loop_cnt)가 기준치(LoopK)보다 작은 경우(No 방향), 절차는 단계 S150으로 이동한다. 단계 S150에서 타깃 상태(P3)로 프로그램되는 메모리 셀들에 대한 허용 슬로우 비트(SBT)의 고려없는 검증 읽기 동작이 실시될 것이다. 반면, 프로그램 루프 수(Loop_cnt)가 기준치(LoopK) 이상인 경우(Yes 방향), 절차는 단계 S160으로 이동한다. 단계 S160에서, 허용 슬로우 비트(SBT)를 고려하여 타깃 상태(P3)로 프로그램되는 메모리 셀들에 대한 검증 읽기 동작이 실시될 것이다.
단계 S150에서, 선택된 메모리 셀들의 워드 라인으로는 검증 전압(Vfy3)이 제공된다. 그리고 타깃 상태(P3)로 프로그램되는 메모리 셀들은 페이지 버퍼(130)에 의해서 검증 전압(Vfy3)에 대해 온 셀인지 오프 셀인지 감지될 것이다.
단계 S160에서, 선택된 메모리 셀들의 워드 라인으로는 검증 전압(Vfy3´)이 인가된다. 그리고 타깃 상태(P3)로 프로그램되는 메모리 셀들의 비트 라인을 통해서 페이지 버퍼(130)는 온 셀인지 오프 셀인지를 감지할 것이다.
단계 S170에서, 검증 전압들(Vfy1, Vfy2, Vfy3 또는 Vfy3´)에 의한 선택된 메모리 셀들에 대한 검증 읽기 결과는 페이지 버퍼(130)로부터 패스/페일 검출기(140)에 전달된다. 패스/페일 검출기(140)는 제공된 검증 읽기 결과를 참조하여 어느 하나의 비트라도 온 셀이 존재하는 경우, 프로그램 페일(Fail)로 판정한다. 반면, 패스/페일 검출기(140)는 선택된 메모리 셀들 모두가 오프 셀로 식별되면 프로그램 패스(Pass)로 판정한다. 프로그램 패스(Pass)로 판정되는 경우(Yes 방향), 선택된 메모리 셀들에 대한 제반 프로그램 동작은 종료된다. 반면, 프로그램 페일(Fail)로 판정되면(No 방향), 절차는 단계 S180으로 이동한다.
단계 S180에서, 제어 로직(150)은 프로그램 루프 수(Loop_cnt)가 최대값(Max Loop_cnt)에 도달되었는지를 체크한다. 만일, 프로그램 루프 수(Loop_cnt) 최대값(Max Loop_cnt)에 도달한 것으로 판단되면 프로그램 절차는 무조건 종료된다. 반면, 프로그램 루프 수(Loop_cnt) 최대값(Max Loop_cnt)에 도달하지 않은 것으로 판단되면, 절차는 단계 S190으로 이동한다.
단계 S190에서, 프로그램 루프 수(Loop_cnt)를 카운트 업(Count up)한다. 그리고 증가된 프로그램 루프 수에 대응하는 프로그램 동작을 실시하기 위한 단계 S110으로 복귀한다.
이상에서, 타깃 상태들에 대해 서로 다른 허용 슬로우 비트를 적용하는 방법이 설명되었다. 특정 타깃 상태(예를 들면, P3)로 프로그램되는 메모리 셀들에 대해서는 프로그램 루프 수(Loop_cnt)가 기준값 이상에 도달하면, 검증 전압의 레벨을 이전의 레벨보다 낮게 제공한다. 이러한 검증 전압의 제어를 통해서 복수의 타깃 상태들에 대해 서로 다른 허용 슬로우 비트를 적용할 수 있다.
도 5는 본 발명의 실시 예에 따른 프로그램 방법을 보여주는 순서도이다. 도 3 및 도 5를 참조하면, 프로그램 동작시 프로그램 전압의 레벨을 참조하여 타깃 상태들(P1, P2, P3)에 대해서 차별적인 허용 슬로우 비트(SBT)를 적용할 수 있다.
단계 S210에서, 선택된 메모리 셀들의 워드 라인으로는 프로그램 전압(예를 들면, Vpgm1)이 인가된다. 여기서, 선택된 메모리 셀들은 동일한 워드 라인에 연결되며, 멀티 레벨 셀(MLC)들로 구성될 수 있다.
단계 S220에서, 타깃 상태(P1)로 프로그램되는 메모리 셀들에 대한 검증 읽기 동작이 실시된다. 타깃 상태(P1)로 프로그램되는 메모리 셀들에 대한 검증 읽기 동작을 위해서 메모리 셀들의 워드 라인으로는 검증 전압(Vfy1)이 제공될 것이다. 그리고 타깃 상태(P1)로 프로그램되는 메모리 셀들은 페이지 버퍼(130, 도 1 참조)에 의해서 온 셀인지 오프 셀인지 감지될 것이다.
단계 S230에서, 타깃 상태(P2)로 프로그램되는 메모리 셀들에 대한 검증 읽기 동작이 실시된다. 타깃 상태(P2)로 프로그램되는 메모리 셀들에 대한 검증 읽기 동작을 위해서 선택된 메모리 셀들의 워드 라인으로는 검증 전압(Vfy2)이 제공될 것이다. 그리고 타깃 상태(P2)로 프로그램되는 메모리 셀들은 페이지 버퍼(130)에 의해서 검증 전압(Vfy2)에 대해 온 셀인지 오프 셀인지 감지될 것이다.
단계 S240에서, 단계 S210에서 제공된 프로그램 전압(Vpgm)의 레벨이 특정 레벨(VpgmK)에 도달되었는지가 검출된다. 프로그램 전압(Vpgm)의 레벨이 특정 레벨(VpgmK)보다 낮은 경우(No 방향), 절차는 단계 S250으로 이동한다. 단계 S250에서 타깃 상태(P3)로 프로그램되는 메모리 셀들에 대한 허용 슬로우 비트(SBT)의 고려없는 검증 읽기 동작이 실시될 것이다. 반면, 프로그램 전압(Vpgm)의 레벨이 특정 레벨(VpgmK) 이상인 경우(Yes 방향), 절차는 단계 S260으로 이동한다. 단계 S260에서, 허용 슬로우 비트(SBT)를 고려하여 타깃 상태(P3)로 프로그램되는 메모리 셀들에 대한 검증 읽기 동작이 실시될 것이다.
단계 S250에서, 선택된 메모리 셀들의 워드 라인으로는 검증 전압(Vfy3)이 제공된다. 그리고 타깃 상태(P3)로 프로그램되는 메모리 셀들은 페이지 버퍼(130)에 의해서 검증 전압(Vfy3)에 대해 온 셀인지 오프 셀인지 감지될 것이다.
단계 S260에서, 선택된 메모리 셀들의 워드 라인으로는 검증 전압(Vfy3´)이 인가된다. 그리고 타깃 상태(P3)로 프로그램되는 메모리 셀들은 페이지 버퍼(130)에 의해서 검증 전압(Vfy3´)에 대해 온 셀인지 오프 셀인지를 감지될 것이다.
단계 S270에서, 검증 전압들(Vfy1, Vfy2, Vfy3 또는 Vfy3´)에 의한 선택된 메모리 셀들에 대한 검증 읽기 결과는 페이지 버퍼(130)로부터 패스/페일 검출기(140)에 전달된다. 패스/페일 검출기(140)는 제공된 검증 읽기 결과를 참조하여 어느 하나의 비트라도 온 셀이 존재하는 경우, 프로그램 페일(Program fail)로 판정한다. 반면, 패스/페일 검출기(140)는 선택된 메모리 셀들 모두가 오프 셀로 식별되면 프로그램 패스(Program Pass)로 판정한다. 프로그램 패스(Pass)로 판정되는 경우(Yes 방향), 선택된 메모리 셀들에 대한 제반 프로그램 동작은 종료된다. 반면, 프로그램 페일(Fail)로 판정되면(No 방향), 절차는 단계 S280으로 이동한다.
단계 S280에서, 제어 로직(150)은 프로그램 루프 수(Loop_cnt)가 최대값에 도달되었는지를 체크한다. 만일, 프로그램 루프 수(Loop_cnt) 최대값(Max Loop_cnt)에 도달한 것으로 판단되면 절차는 무조건 종료된다. 반면, 프로그램 루프 수(Loop_cnt) 최대값(Max Loop_cnt)에 도달하지 않은 것으로 판단되면, 절차는 단계 S290으로 이동한다.
단계 S290에서, 프로그램 루프 수(Loop_cnt)는 카운트 업(Count up)된다. 그리고 절차는 증가된 프로그램 루프 수에 대응하는 프로그램 동작을 실시하기 위한 단계 S210으로 복귀된다.
이상에서, 본 발명의 실시 예에 따르면, 타깃 상태들에 대해 서로 다른 허용 슬로우 비트(SBT)를 적용하는 방법이 설명되었다. 특정 타깃 상태(예를 들면, P3)로 프로그램되는 메모리 셀들에 대해서는 인가된 프로그램 전압의 레벨이 기준값 이상에 도달하면, 검증 전압의 레벨을 이전의 레벨보다 낮게 제공한다. 따라서, 타깃 상태들에 대해 서로 다른 허용 슬로우 비트(SBT)를 적용할 수 있다.
도 6은 본 발명의 다른 실시 예를 보여주는 도면이다. 도 6을 참조하면, 멀티 레벨 셀에 프로그램되는 페이지(MSB 또는 LSB 페이지)에 따라서 서로 다른 허용 슬로우 비트(SBT)를 적용할 수 있다. 설명의 편의를 위해서 본 실시 예에서는 2-비트 멀티 레벨 셀에 대한 프로그램 동작이 예시적으로 설명될 것이다. 하지만, 3-비트 이상의 멀티 레벨 셀에서 페이지들 각각에 대한 서로 다른 허용 슬로우 비트를 적용할 수 있음도 잘 이해될 것이다.
선택된 메모리 셀들에 LSB 페이지를 프로그램하는 경우에 타깃 상태(P0)에 대한 허용 슬로우 비트(SBT0)가 상부의 문턱 전압 분포도에 빗금친 부분으로 도시되어 있다. LSB 페이지의 프로그램에서 타깃 상태(P0)에 대한 슬로우 비트들을 바이패스(Bypass)하기 위한 검증 전압의 레벨들(Vfy0, Vfy0′)이 도시되어 있다. 여기서, 타깃 상태(P0)에 대한 허용 슬로우 비트(SBT0)를 바이패스(Bypass) 시키기 위해서 검증 전압(Vfy0′)이 선택될 수 있다. LSB 페이지의 프로그램 동작시에 프로그램 루프 수 또는 프로그램 전압의 레벨이 기준치 미만일 때에는, 타깃 상태(P0)에 대한 검증 동작시 검증 전압(Vfy0)이 인가될 것이다. 하지만, LSB 페이지의 프로그램 동작시에 프로그램 루프 수 또는 프로그램 전압의 레벨이 기준치 이상이 되면, 타깃 상태(P0)에 대한 검증 동작시 검증 전압(Vfy0′)이 인가될 것이다. 여기서, 검증 전압(Vfy0′)과 검증 전압(Vfy0)의 전압 차이(ΔV0)는 허용 슬로우 비트(SBT0)의 수에 따라서 결정될 수 있다.
선택된 메모리 셀들에 MSB 페이지를 프로그램하는 경우의 검증 전압들 및 허용 슬로우 비트(SBT1, SBT2, SBT3)가 도면의 하부에 도시되어 있다. 여기서, MSB 페이지의 프로그램시 타깃 상태들(P1, P2, P3) 각각에 허용 슬로우 비트를 제공하는 실시 예로 설명되었다. 그러나 앞서 설명된 도 2와 같이 MSB 페이지의 프로그램시 어느 하나의 타깃 상태(예를 들면, P3)에 대해서만 허용 슬로우 비트를 적용할 수 있음은 잘 이해될 것이다.
타깃 상태(P1)에 대해서는 허용 슬로우 비트(SBT1)를 적용하기 위한 검증 전압(Vfy1′)이 할당될 수 있다. 여기서, 검증 전압(Vfy1′)과 검증 전압(Vfy1)의 전압 차이(ΔV1)는 허용 슬로우 비트(SBT1)의 수에 따라서 결정될 수 있다. 이러한 검증 전압(Vfy1′)의 레벨은 테스트 또는 시뮬레이션을 이용하여 결정될 수 있을 것이다. 타깃 상태(P2)에 대해서는 허용 슬로우 비트(SBT2)를 적용하기 위한 검증 전압(Vfy2′)이 할당될 수 있다. 여기서, 검증 전압(Vfy2′)과 검증 전압(Vfy2)의 전압 차이(ΔV2)는 허용 슬로우 비트(SBT2)의 수에 따라서 결정될 수 있다. 여기서 전압 차이(ΔV2)는 전압 차이(ΔV1)보다 크거나 같은 값으로 제공될 수 있다. 타깃 상태(P3)에 대해서는 허용 슬로우 비트(SBT3)를 적용하기 위한 검증 전압(Vfy3′)이 할당될 수 있다. 여기서, 검증 전압(Vfy3′)과 검증 전압(Vfy3)의 전압 차이(ΔV3)는 허용 슬로우 비트(SBT3)의 수에 따라서 결정될 수 있다. 여기서 전압 차이(ΔV3)는 전압 차이(ΔV2)보다 크거나 같은 값으로 제공될 수 있다.
이상에서는 LSB 페이지의 프로그램시에 적용되는 허용 슬로우 비트(SBT0)와 MSB 페이지의 프로그램시에 적용되는 허용 슬로우 비트들(SBT1 + SBT2 + SBT3)을 간략히 설명하였다. 특히, LSB 페이지의 프로그램시 슬로우 비트에 의한 읽기 에러의 발생 확률은 MSB 페이지에서 발생하는 슬로우 비트들에 의한 읽기 에러의 발생 확률보다 낮다. 왜냐하면, LSB 페이지의 프로그램시 타깃 상태들(E0, P0) 사이의 읽기 마진이 MSB 페이지의 프로그램시의 타깃 상태들(E0, P1, P2, P3) 사이의 읽기 마진보다 크기 때문이다. 따라서, LSB 페이지의 프로그램시 적용되는 허용 슬로우 비트(SBT0)들을 MSB 페이지의 프로그램시에 적용되는 허용 슬로우 비트들(SBT1 + SBT2 + SBT3)과 같거나 그 이상으로 설정할 수도 있을 것이다. 이 경우, LSB 페이지의 프로그램 속도가 획기적으로 증가하게 될 것이다.
여기서, 각각의 타깃 상태들(P0, P1, P2, P3)에 적용되는 허용 슬로우 비트들(SBT0, SBT1, SBT2, SBT3) 각각의 크기는 예시적인 값들이다. 따라서, 타깃 상태들 각각에 대해서 허용 슬로우 비트를 적용하기 위한 검증 전압(Vfyi´, i는 자연수)과 검증 전압(Vfyi)의 차이는 도시된 조건에(ΔV1≤ΔV2≤ΔV3≤ΔV0)에 한정되지 않음은 잘 이해될 것이다.
도 7은 도 6에 도시된 허용 슬로우 비트를 적용하기 위한 프로그램 방법을 보여주는 순서도이다. 도 6 및 도 7을 참조하면, 프로그램 동작시 페이지 어드레스(Page address)에 따라 서로 다른 허용 슬로우 비트(SBT)를 적용하기 위한 검출 및 판정 동작이 수행될 수 있다. 좀더 자세히 설명하면 다음과 같다.
단계 S310에서, 불휘발성 메모리 장치(100, 도 1 참조)는 프로그램을 위해서 제공되는 어드레스를 수신한다. 그리고 쓰기 데이터에 대응하는 어드레스의 디코딩을 통해서 페이지 어드레스를 검출한다.
단계 S320에서, 제어 로직(150, 도 1 참조)은 페이지 어드레스가 LSB 페이지에 대응하는지 또는 MSB 페이지에 대응하는지를 판단한다. 만일, 페이지 어드레스가 LSB 페이지에 대응하는 경우, 절차는 타깃 상태(P0)에 대한 상대적으로 큰 허용 슬로우 비트(SBT)를 제공하기 위한 단계 S330으로 이동한다. 반면, 페이지 어드레스가 MSB 페이지에 대응하는 경우, 복수의 타깃 상태들(P1, P2, P3) 각각에 대해서 서로 다른 허용 슬로우 비트(SBT)를 적용하여 프로그램하는 단계 S390으로 이동한다.
LSB 페이지를 프로그램하기 위한 단계 S330에서, 우선 선택된 메모리 셀들의 워드 라인으로는 프로그램 전압(Vpgm)이 인가된다. 여기서, 선택된 메모리 셀들은 동일한 워드 라인에 연결되는 메모리 셀들일 수 있다.
단계 S340에서, 먼저 현재의 진행중인 프로그램 동작의 프로그램 루프 수(Loop_cnt)가 검출된다. 만일, 현재 프로그램 루프 수(Loop_cnt)가 기준치(i)보다 작다면, 절차는 단계 S360으로 이동한다. 반면, 현재 프로그램 루프 수가 기준치(i) 이상으로 판단되면, 절차는 단계 S350으로 이동한다.
단계 S350에서, 타깃 상태(P0)에 대한 검증 읽기 동작이 실시된다. 타깃 상태(P1)에 대한 검증 읽기 동작을 위해서 선택된 메모리 셀들의 워드 라인으로는 검증 전압(Vfy0)이 제공될 것이다. 그리고 타깃 상태(P0)로 프로그램되는 메모리 셀들은 페이지 버퍼(130, 도 1 참조)에 의해서 검증 전압(Vfy0)에 대해 온 셀인지 오프 셀인지 감지될 것이다.
단계 S360에서, 선택된 메모리 셀들의 워드 라인으로는 검증 전압(Vfy0´)이 인가된다. 그리고 타깃 상태(P0)로 프로그램되는 메모리 셀들의 비트 라인을 통해서 페이지 버퍼(130)는 온 셀인지 오프 셀인지를 감지할 것이다.
단계 S370에서, 검증 전압(Vfy0 또는 Vfy0´)에 의한 선택된 메모리 셀들에 대한 검증 읽기 결과는 페이지 버퍼(130)로부터 패스/페일 검출기(140, 도 1 참조)에 전달된다. 패스/페일 검출기(140)는 제공된 검증 읽기 결과를 참조하여 어느 하나의 비트라도 온 셀(On cell)이 존재하는 경우, 프로그램 페일(Program fail)로 판정한다. 반면, 패스/페일 검출기(140)는 선택된 메모리 셀들 모두가 오프 셀(Off cell)로 식별되면 프로그램 패스(Program Pass)로 판정한다. 프로그램 패스(Pass)로 판정되는 경우(Yes 방향), 선택된 메모리 셀들에 대한 LSB 페이지 프로그램 동작은 종료된다. 반면, 프로그램 페일(Fail)로 판정되면(No 방향), 절차는 단계 S380으로 이동한다.
단계 S380에서, 제어 로직(150)은 프로그램 루프 수(Loop_cnt)를 카운트 업(Count up)한다. 그리고 증가된 프로그램 루프 수에 대응하는 프로그램 동작을 실시하기 위한 단계 S330으로 복귀한다. 여기서, 도시되지는 않았지만, 제어 로직(150)은 프로그램 루프 수(Loop_cnt)가 최대값에 도달되었는지를 체크하는 단계가 더 포함될 수 있음은 잘 이해될 것이다.
단계 S390에서, MSB 페이지에 대한 프로그램 동작이 실시된다. 여기서, 검증 전압들(Vfy1 또는 Vfy1´, Vfy2 또는 Vfy2´, Vfy3 또는 Vfy3´)에 의한 선택된 메모리 셀들에 대한 검증 읽기 동작이 실시될 것이다. 따라서, 선택된 메모리 셀들의 타깃 상태들(P1, P2, P3)에 대한 차별적 허용 슬로우 비트(SBT)를 적용하기 위한 검증 읽기 동작이 실시될 것이다. 이러한 동작은 도 4의 순서도에서 기술된 내용과 동일하므로 여기에서는 생략하기로 한다.
이상에서, 본 발명의 실시 예에 따르면, 페이지 어드레스에 따라 메모리 셀들은 서로 다른 허용 슬로우 비트를 적용하는 방법이 설명되었다. 상대적으로 에러 발생 확률이 낮은 LSB 페이지에 더 큰 허용 슬로우 비트를 적용하여, LSB 페이지의 프로그램 속도를 획기적으로 증가시킬 수 있다.
도 8은 본 발명의 다른 실시 예에 따른 불휘발성 메모리 장치(200)를 보여주는 블록도이다. 도 8을 참조하면, 불휘발성 메모리 장치(200)는 셀 어레이(210), 행 디코더(220), 페이지 버퍼(230), 슬로우 비트 카운터(240), 제어 로직(250) 그리고 전압 발생기(260)를 포함한다.
여기서, 셀 어레이(210), 행 디코더(220), 페이지 버퍼(230)의 구성이나 동작은 앞서 설명한 도 1의 그것들과 동일하므로 자세한 설명은 생략하기로 한다. 그러나 슬로우 비트 카운터(240), 제어 로직(250) 그리고 전압 발생기(260)는 검증 전압(Vfy)의 가변이 아닌 슬로우 비트 수를 직접 카운트하여 타깃 영역들에 대한 차별적 허용 슬로우 비트(SBT)를 적용할 수 있다. 좀더 자세히 설명하면 다음과 같다.
슬로우 비트 카운터(240)는 검증 읽기 동작시에 페이지 버퍼(230)를 통해서 제공되는 읽기 결과를 참조하여, 슬로우 비트의 수를 카운트한다. 그리고 슬로우 비트 카운터(240)는 카운트된 슬로우 비트의 수(SB)를 제어 로직(250)에 제공한다. 여기서, 슬로우 비트 카운터(240)는 검증 읽기 동작시에 타깃 상태들(P0, P1, P2, P3, 도 6 참조) 각각에 대한 슬로우 비트 수(SB)를 카운트할 수 있다. 즉, LSB 페이지가 프로그램되는 경우, 슬로우 비트 카운터(240)는 타깃 상태(P0)에 대한 슬로우 비트의 수(SB)를 카운트하여 제어 로직(250)에 전달한다. MSB 페이지의 프로그램시, 슬로우 비트 카운터(240)는 타깃 상태들(P1, P2, P3) 중 적어도 하나에 대한 슬로우 비트를 카운트하여 제어 로직(250)에 전달한다.
제어 로직(250)은 슬로우 비트 카운터(240)로부터 제공되는 슬로우 비트 수(SB)를 참조하여, 프로그램 동작의 지속 또는 종료 여부를 판단한다. 제어 로직(250)은 슬로우 비트 카운터(240)로부터 제공되는 타깃 상태들 각각에 대한 슬로우 비트 수(SB)를 참조하여, 프로그램 동작을 수행하도록 페이지 버퍼(230) 및 전압 발생기(260)를 제어한다. 예를 들면, 제어 로직(250)은 타깃 상태들 각각에 대해 서로 다른 허용 슬로우 비트(SBT)를 적용하는 프로그램 동작을 수행할 수 있다.
만일, 허용 슬로우 비트(SBT)보다 많은 수의 슬로우 비트가 검출되면, 제어 로직(250)은 증가된 프로그램 전압(Vpgm)으로 후속되는 프로그램 루프(Loop)를 진행하도록 전압 발생기(260) 및 페이지 버퍼(230)를 제어할 것이다. 이처럼, 증가하는 프로그램 루프 수에 따라 프로그램을 진행하기 위하여 제어 로직(250)은 루프 카운트(Loop_cnt)를 제공받을 수 있다. 반면, 타깃 상태들 각각의 허용 슬로우 비트보다 같거나 적은 수의 슬로우 비트를 검출하면, 제어 로직(250)은 선택된 메모리 셀들에 대한 프로그램 동작을 종료하게 될 것이다.
전압 발생기(260)는 프로그램 동작시에 어느 하나의 타깃 상태에 대한 검증 전압을 고정적인 레벨로 생성한다. 전압 발생기(260)는 최초 프로그램 루프에서 각각의 타깃 상태들(예를 들면, P0, P1, P2, P3)에 대응하는 검증 전압을 프로그램 루프 수나 프로그램 전압의 레벨에 관계없이 고정된 레벨로 제공한다. 검증 전압의 가변없이도, 타깃 상태에 대응하는 슬로우 비트의 수(SB)가 슬로우 비트 카운터(240)에 의해서 측정될 수 있다. 따라서, 측정된 슬로우 비트 수(SB)를 참조하여, 타깃 상태들 각각에 바람직한 허용 슬로우 비트값을 적용할 수 있다.
이상에서 설명된 불휘발성 메모리 장치(200)는 타깃 상태들 각각에 대한 슬로우 비트 수(SB)를 카운트하여 타깃 상태들 각각에 대한 차별적 허용 슬로우 비트(SBT)를 적용할 수 있다. 따라서, 본 발명의 불휘발성 메모리 장치(200)에 따르면, 슬로우 비트들에 의해서 과도하게 증가되는 프로그램 루프 수를 감소시킬 수 있다.
도 9는 도 8의 불휘발성 메모리 장치(200)에 의한 허용 슬로우 비트의 차별적 적용 예를 보여주는 도면이다. 도 9를 참조하면, 불휘발성 메모리 장치(200)는 메모리 셀들의 타깃 상태들(P0, P1, P2, P3)에 대해 검증 전압의 조정없이 허용 슬로우 비트(SBT)를 차별적으로 적용할 수 있다. 예시적으로, 허용 슬로우 비트(SBT)의 수를 페이지 어드레스 및 타깃 상태들에 따라서 차별적으로 적용하는 경우를 설명하기로 한다.
선택된 메모리 셀들에 LSB 페이지를 프로그램하는 경우에 타깃 상태(P0)에 대한 허용 슬로우 비트(SBT0)는 6 비트라 가정한다. 그리고 타깃 상태(P0)에 대한 검증 전압의 레벨은 프로그램 루프 수의 증가에 관계없이 고정적인 검증 전압(Vfy0)으로 제공된다. 이러한 설정하에, LSB 페이지의 프로그램 동작시에 제어 로직(250)은 선택된 메모리 셀들에 대한 슬로우 비트 수(SB0)가 6 비트 이하로 검출되면 프로그램이 완료된 것으로 간주한다. 따라서, 선택된 메모리 셀들에 대한 프로그램을 종료하게 될 것이다.
선택된 메모리 셀들에 MSB 페이지를 프로그램하는 경우의 검증 전압들 및 허용 슬로우 비트(SBT1, SBT2, SBT3)가 하부에 도시되어 있다. 여기서, MSB 페이지의 프로그램시 타깃 상태들(P1, P2, P3) 각각에 서로 다른 값의 허용 슬로우 비트를 제공하는 실시 예로 설명되었다. 그러나, 앞서 설명된 도 2와 같이 MSB 페이지의 프로그램시 어느 하나의 타깃 상태(예를 들면, P3)에 대해서만 허용 슬로우 비트를 적용할 수 있음은 잘 이해될 것이다.
다시 도면을 참조하면, 타깃 상태(P1)에 대해서는 허용 슬로우 비트(SBT1)를 0 비트로, 타깃 상태(P2)에 대해서는 허용 슬로우 비트(SBT2)를 2 비트로, 그리고 타깃 상태(P3)에 대해서는 4 비트의 허용 슬로우 비트(SBT3)를 적용할 수 있다. 여기서, 각 타깃 상태들에 대응하는 검증 전압들(Vfy1, Vfy2, Vfy3)은 프로그램 루프 수의 증가와 관계없이 일정한 레벨로 제공될 것이다.
이상에서는 LSB 페이지의 프로그램시에 적용되는 허용 슬로우 비트(SBT0)와 MSB 페이지의 프로그램시에 적용되는 허용 슬로우 비트들(SBT1 + SBT2 + SBT3)을 동일한 비트로 설정하는 것이 예시적으로 설명되었다. 하지만, 허용 슬로우 비트의 할당 방법은 불휘발성 메모리 장치(200)의 특성이나 동작 환경 및 열화 정도에 따라 다양하게 설정될 수 있을 것이다.
도 10은 도 8의 불휘발성 메모리 장치(200)에서 수행되는 프로그램 방법을 예시적으로 보여주는 순서도이다. 도 8 내지 도 10을 참조하면, MSB 페이지의 프로그램 동작시 타깃 상태들(P1, P2, P3) 각각에 대해서 서로 다른 레벨의 허용 슬로우 비트(SBT)를 적용할 수 있다. 여기서, LSB 페이지의 프로그램 동작에 대해서는 설명을 생략하기로 한다.
단계 S410에서, 선택된 메모리 셀들의 워드 라인으로는 프로그램 전압(예를 들면, Vpgm)이 인가된다. 여기서, 선택된 메모리 셀들은 동일한 워드 라인에 연결되며, 멀티 레벨 셀들로 구성될 수 있다.
단계 S420에서, 타깃 상태(P1)에 대한 검증 읽기 동작이 실시된다. 타깃 상태(P1)에 대한 검증 읽기 동작을 위해서 선택된 메모리 셀들의 워드 라인으로는 검증 전압(Vfy1)이 제공될 것이다. 그리고 타깃 상태(P1)로 프로그램되는 메모리 셀들은 페이지 버퍼(230)에 의해서 검증 전압(Vfy1)에 대해 온 셀인지 오프 셀인지 감지될 것이다.
단계 S430에서, 타깃 상태(P2)에 대한 검증 읽기 동작이 실시된다. 타깃 상태(P2)에 대한 검증 읽기 동작을 위해서 선택된 메모리 셀들의 워드 라인으로는 검증 전압(Vfy2)이 제공될 것이다. 그리고 타깃 상태(P2)로 프로그램되는 메모리 셀들은 페이지 버퍼(230)에 의해서 검증 전압(Vfy2)에 대해 온 셀인지 오프 셀인지 감지될 것이다.
단계 S440에서, 타깃 상태(P3)에 대한 검증 읽기 동작이 실시된다. 타깃 상태(P3)에 대한 검증 읽기 동작을 위해서 선택된 메모리 셀들의 워드 라인으로는 검증 전압(Vfy3)이 제공될 것이다. 그리고 타깃 상태(P3)로 프로그램되는 메모리 셀들은 페이지 버퍼(230)에 의해서 검증 전압(Vfy3)에 대해 온 셀인지 오프 셀인지 감지될 것이다.
단계 S450에서는 제어 로직(250)은 타깃 상태들(P1, P2, P3) 각각에 대한 허용 슬로우 비트(SBT1, SBT2, SBT3)를 적용한 프로그램 완료 여부를 판단한다. 즉, 타깃 상태들(P1, P2, P3) 중에서 적어도 하나라도 허용 슬로우 비트보다 많은 슬로우 비트 수를 가지는 것으로 검출되면, 절차는 단계 S460으로 이동한다. 단계 S460은 프로그램 루프의 추가 진행 여부를 판정하기 위한 절차이다. 그리고, 타깃 상태들(P1, P2, P3) 각각에 대해 카운트된 슬로우 비트 수(SB1, SB2, SB3)가 할당된 허용 슬로우 비트 수보다 같거나 적은 경우, 제어 로직(250)은 프로그램 동작을 종료시킨다.
단계 S450은 예시적으로 복수의 단계들(S452, S454, S456)로 세분화될 수 있다. 즉, 단계 S452에서, 제어 로직(250)은 타깃 상태(P1)에 대한 슬로우 비트 수(SB1)가 허용 슬로우 비트 수(SBT1)보다 같거나 적은지 체크한다. 만일, 타깃 상태(P1)에 대한 슬로우 비트 수(SB1)가 허용 슬로우 비트 수(SBT1)보다 같거나 적으면(Yes 방향), 절차는 단계 S454로 이동한다. 하지만, 타깃 상태(P1)에 대한 슬로우 비트 수(SB1)가 허용 슬로우 비트 수(SBT1)를 초과하면(No 방향), 절차는 단계 S460으로 이동한다.
단계 S454에서, 제어 로직(250)은 타깃 상태(P2)에 대한 슬로우 비트 수(SB2)가 허용 슬로우 비트 수(SBT2)보다 같거나 적은지 체크한다. 만일, 타깃 상태(P2)에 대한 슬로우 비트 수(SB2)가 허용 슬로우 비트 수(SBT2)보다 같거나 적으면(Yes 방향), 절차는 단계 S456로 이동한다. 하지만, 타깃 상태(P2)에 대한 슬로우 비트 수(SB2)가 허용 슬로우 비트 수(SBT2)를 초과하면(No 방향), 절차는 단계 S460으로 이동한다.
단계 S456에서, 제어 로직(250)은 타깃 상태(P3)에 대한 슬로우 비트 수(SB3)가 허용 슬로우 비트 수(SBT3)보다 같거나 적은지 체크한다. 만일, 타깃 상태(P3)에 대한 슬로우 비트 수(SB3)가 허용 슬로우 비트 수(SBT3)보다 같거나 적으면(Yes 방향), 절차는 프로그램 동작을 종료하게 될 것이다. 하지만, 타깃 상태(P3)에 대한 슬로우 비트 수(SB3)가 허용 슬로우 비트 수(SBT3)를 초과하면(No 방향), 절차는 단계 S460으로 이동한다.
단계 S460에서, 제어 로직(250)은 현재 진행중인 프로그램 루프 수(Loop_cnt)가 프로그램 동작에 허용되는 최대 루프 수(Max Loop_cnt)에 대응하는지 체크한다. 만일, 현지 진행중인 프로그램 동작의 루프 수가 최대 루프 수(Max Loop_cnt)에 대응하는 경우, 절차는 제반 프로그램 동작을 종료한다. 반면, 프로그램 루프 수(Loop_cnt) 최대 루프 수(Max Loop_cnt)에 도달하지 않은 것으로 판단되면, 절차는 단계 S470으로 이동한다.
단계 S470에서, 프로그램 루프 수(Loop_cnt)를 카운트 업(Count up) 한다. 그리고 절차는 증가된 프로그램 루프 수에 대응하는 프로그램 동작을 실시하기 위한 단계 S410으로 복귀된다.
이상에서는 각 타깃 상태들에 대한 슬로우 비트의 수를 카운트하여 허용 슬로우 비트와 비교하는 프로그램 방법이 설명되었다. 이러한 프로그램 방법을 통해서 타깃 상태들에 대해서 차별적인 허용 슬로우 비트(SBT)를 적용할 수 있다.
도 11은 본 발명의 실시 예에 따른 메모리 시스템을 보여주는 블록도이다. 도 11을 참조하면, 메모리 시스템(500)은 메모리 컨트롤러(510)와 불휘발성 메모리 장치(520)를 포함한다. 메모리 컨트롤러(510)는 불휘발성 메모리 장치(520)의 허용 슬로우 비트(SBT)에 대해 충분한 에러 정정 능력을 구비할 것이다.
메모리 컨트롤러(510)는 외부로부터의 명령어와 어드레스를 참조하여 불휘발성 메모리 장치(520)를 제어한다. 호스트로부터 쓰기 요청을 제공받으면, 메모리 컨트롤러(510)는 쓰기 요청된 데이터에 대한 에러 정정 인코딩을 수행한다. 그리고 인코딩된 데이터를 제공된 어드레스에 대응하는 메모리 영역에 프로그램하도록 불휘발성 메모리 장치(520)를 제어할 것이다. 또한, 메모리 컨트롤러(510)는 읽기 동작시 불휘발성 메모리 장치(520)로부터 출력된 데이터에 대한 에러 정정 디코딩을 수행한다. 에러 정정 디코딩에 의해서 출력 데이터에 포함되는 에러는 정정될 수 있다. 이러한 에러의 검출 및 정정을 수행하기 위하여 메모리 컨트롤러(510)는 에러 정정 블록(515)을 포함할 수 있다.
불휘발성 메모리 장치(520)는 셀 어레이(521)와 페이지 버퍼(523)를 포함할 수 있다. 그리고 불휘발성 메모리 장치(520)는 타깃 상태들 각각에 대한 허용 슬로우 비트 수를 차별적으로 적용할 수 있다. 예를 들면, 불휘발성 메모리 장치(520)는 프로그램 루프 수 또는 프로그램 전압의 레벨을 참조하여 타깃 상태에 대한 검증 전압을 가변할 수 있다. 또는, 불휘발성 메모리 장치(520)는 프로그램 루프 수 또는 프로그램 전압의 레벨에 관계없이 일정한 검증 전압을 제공하지만, 각 타깃 상태들에 대한 슬로우 비트 수를 카운트하여 허용 슬로우 비트의 차별적 적용을 구현할 수 있다. 여기서, 허용 슬로우 비트(SBT)의 할당 및 결정은 에러 정정 블록(515)의 에러 정정 능력의 범위 이내에서 결정되어야 할 것이다.
도 12는 본 발명의 효과를 간략히 보여주는 도면이다. 도 12를 참조하면, 프로그램 루프의 증가에 따라 발생하는 페일 비트(Fail bit)와 프로그램 루프의 감소에 기인한 슬로우 비트(Slow bit)가 간략히 도시되어 있다.
프로그램 루프가 증가할수록 프로그램 교란(Disturbance)이나 간섭에 의하여 낮은 문턱 전압에 대응하는 타깃 상태(예를 들면, E0)의 메모리 셀들의 문턱 전압은 증가한다. 극단적인 경우에는, 문턱 전압의 레벨이 읽기 전압(Vrd1)보다 높아지게 될 수도 있다. 소거 상태(E0)로 읽혀져야 할 이러한 메모리 셀들이 독출될 때, 프로그램 상태(P1)로 읽혀지게 될 것이다. 이러한 메모리 셀들에 의해서 읽혀진 데이터를 페일 비트(Fail bit)라 한다. 반대로 프로그램 루프 수가 충분치 못하거나, 메모리 셀의 특성에 의해서 검증 전압(Vfy3)보다 낮은 문턱 전압을 가지는 메모리 셀들에 기인한 것이 슬로우 비트(Slow bit)이다. 허용 슬로우 비트(Slow Bit Tolerance)는 에러 정정 능력 범위 이내의 슬로우 비트는 용인(Tolerant)하기 위한 기술이다.
본 발명의 실시 예에 따르면, 허용 슬로우 비트(SBT)의 크기를 페일 비트(Fail bit)의 수를 고려하여 결정할 수 있다. 그러면, 감소된 프로그램 루프 수에 의해서 발생하는 슬로우 비트의 수는 페일 비트(Fail bit)의 감소에 의해서 보상될 수 있다. 따라서, 전체적으로는 에러 정정 블록(515, 도 11 참조)의 추가적인 부담없이 프로그램 속도를 높일 수 있다. 또한, 증가한 슬로우 비트의 수에 따른 에러 비트는 에러 정정 블록(515)의 에러 정정 능력 이내에서 다양하게 조정될 수 있을 것이다.
도 13은 본 발명의 또 다른 실시 예에 따른 프로그램 방법을 보여주는 순서도이다. 도 13을 참조하면, 본 발명의 불휘발성 메모리 장치는 동작 파라미터의 조건을 고려하여 허용 슬로우 비트(SBT)를 적용 또는 조정할 수 있다. 여기서, 동작 파라미터(OPP)에는 동작 온도, 공정 변화, 메모리 셀들의 열화 정도 등이 포함될 수 있다.
단계 S510에서, 메모리 컨트롤러(510)는 동작 파라미터(OPP)의 상태를 체크한다. 여기서, 동작 파라미터(OPP)가 동작 온도에 해당하는 경우, 메모리 시스템(500)에 구비되는 온도 센서(Temperature sensor)로부터 제공되는 현재 온도가 검출될 것이다. 만일, 동작 파라미터(OPP)가 메모리 셀들의 열화 정도에 대응하는 경우, 웨어 레벨링(Wear leveling) 정보가 검출될 수 있다.
단계 S520에서, 메모리 컨트롤러(510)는 동작 파라미터(OPP)가 기준치보다 높은지에 따라 동작 분기가 발생한다. 동작 파라미터(OPP)가 기준치보다 낮거나 같은 경우(No 방향), 절차는 타깃 상태들 각각에 대해서 동일한 허용 슬로우 비트를 적용하기 위한 단계 S530으로 이동한다. 반면, 동작 파라미터(OPP)가 기준치보다 높은 경우(Yes 방향), 절차는 타깃 상태들에 대해서 차별화된 허용 슬로우 비트를 적용하기 위한 단계 S540으로 이동한다.
단계 S530에서, 불휘발성 메모리 장치(520)는 타깃 상태들 각각에 대한 동일한 허용 슬로우 비트(SBT)를 적용하기 위한 프로그램 동작을 수행한다. 또는, 불휘발성 메모리 장치(520)는 타깃 상태들 각각에 대해 프로그램 루프 수의 증가에 관계없이 일정한 검증 전압을 제공하는 프로그램 동작을 수행할 수 있다.
단계 S540에서, 불휘발성 메모리 장치(520)는 타깃 상태들에 대한 차별화되는 허용 슬로우 비트(SBT)를 적용하기 위한 프로그램 동작을 수행한다. 또는, 불휘발성 메모리 장치(520)는 타깃 상태들 각각에 대해 프로그램 루프 수의 증가나 프로그램 전압의 증가에 따라 레벨이 변하는 검증 전압을 제공하는 프로그램 동작을 수행할 수 있다.
도 14는 도 1 또는 도 8에 도시된 메모리 셀 어레이의 구조를 예시적으로 보여주는 사시도이다. 도 14를 참조하면, 메모리 셀 어레이(110 또는 210)를 구성하는 메모리 블록(BLKi)은 3차원 구조 또는 수직 구조로 형성되는 셀 스트링들을 포함한다. 메모리 블록(BLKi)은 복수의 방향들(x, y, z)을 따라 신장된 구조물들을 포함한다.
메모리 블록을 구성하기 위해 기판(111) 상에 x 방향을 따라 복수의 도핑 영역들(311~314)이 형성된다. 예를 들면, 복수의 도핑 영역들(311~314)은 기판(111)과 상이한 n 타입의 도전체로 형성될 수 있을 것이다. 이하에서, 제 1 내지 제 4 도핑 영역들(311~314)은 n 타입을 갖는 것으로 가정한다. 그러나, 제 1 내지 제 4 도핑 영역들(311~314)은 n 타입을 갖는 것으로 한정되지 않는다.
제 1 및 제 2 도핑 영역들(311, 312) 사이의 기판(111)의 영역 상에, y 방향을 따라 신장되는 복수의 절연 물질들(112)이 z 방향을 따라 순차적으로 제공된다. 예를 들면, 복수의 절연 물질들(112)은 z 방향을 따라 특정 거리만큼 이격되어 형성될 것이다. 예시적으로, 절연 물질들(112)은 실리콘 산화물(Silicon Oxide)과 같은 절연 물질을 포함할 것이다.
제 1 및 제 2 도핑 영역들(311, 312) 사이의 기판(111) 상부에, y 방향을 따라 순차적으로 배치되며 z 방향을 따라 절연 물질들(112)을 관통하는 필라(113)가 형성된다. 예시적으로, 필라(113)는 절연 물질들(112)을 관통하여 기판(111)과 연결될 것이다. 여기서, 필라(113)는 제 2 및 제 3 도핑 영역들(312, 313) 사이의 기판 상부와, 제 3 및 제 4 도핑 영역들(313, 314) 사이의 기판 상부에도 형성된다.
예시적으로, 각 필라(113)는 복수의 물질들로 구성될 것이다. 예를 들면, 각 필라(113)의 표면층(114)은 제 1 타입을 갖는 실리콘 물질을 포함할 것이다. 예를 들면, 각 필라(113)의 표면층(114)은 기판(111)과 동일한 타입을 갖는 실리콘 물질을 포함할 것이다. 이하에서, 각 필라(113)의 표면층(114)은 p 타입 실리콘을 포함하는 것으로 가정한다. 그러나, 각 필라(113)의 표면층(114)은 p 타입 실리콘을 포함하는 것으로 한정되지 않는다.
각 필라(113)의 내부층(115)은 절연 물질로 구성된다. 예를 들면, 각 필라(113)의 내부층(115)은 실리콘 산화물(Silicon Oxide)과 같은 절연 물질을 포함할 것이다. 예를 들면, 각 필라(113)의 내부층(115)은 에어 갭(Air gap)을 포함할 수 있다.
제 1 및 제 2 도핑 영역들(311, 312) 사이의 영역에서, 절연 물질들(112), 필라들(113), 그리고 기판(111)의 노출된 표면을 따라 절연막(116)이 제공된다. 예시적으로, z 방향을 따라 제공되는 마지막 절연 물질(112)의 z 방향 쪽의 노출면에 제공되는 절연막(116)은 제거될 수 있다.
제 1 및 제 2 도핑 영역들(311, 312) 사이의 영역에서, 절연막(116)의 노출된 표면상에 제 1 도전 물질들(211~291)이 제공된다. 예를 들면, 기판(111)에 인접한 절연 물질(112) 및 기판(111) 사이에 y 방향을 따라 신장되는 제 1 도전 물질(211)이 제공된다. 더 상세하게는, 기판(111)에 인접한 절연 물질(112)의 하부면의 절연막(116) 및 기판(111) 사이에, x 방향으로 신장되는 제 1 도전 물질(211)이 제공된다.
절연 물질들(112) 중 특정 절연 물질 상부면의 절연막(116) 및 특정 절연 물질 상부에 배치된 절연 물질의 하부면의 절연막(116) 사이에, y 방향을 따라 신장되는 제 1 도전 물질이 제공된다. 예시적으로, 절연 물질들(112) 사이에, y 방향으로 신장되는 복수의 제 1 도전 물질들(221~281)이 제공된다. 예시적으로, 제 1 도전 물질들(211~291)은 금속 물질일 것이다. 예시적으로, 제 1 도전 물질들(211~291)은 폴리 실리콘 등과 같은 도전 물질들일 것이다.
제 2 및 제 3 도핑 영역들(312, 313) 사이의 영역에서, 제 1 및 제 2 도핑 영역들(311, 312) 상의 구조물과 동일한 구조물이 제공될 것이다. 예시적으로, 제 2 및 제 3 도핑 영역들(312, 313) 사이의 영역에서, y 방향으로 신장되는 복수의 절연 물질들(112), y 방향을 따라 순차적으로 배치되며 x 방향을 따라 복수의 절연 물질들(112)을 관통하는 복수의 필라들(113), 복수의 절연 물질들(112) 및 복수의 필라들(113)의 노출된 표면에 제공되는 절연막(116), 그리고 y 방향을 따라 신장되는 복수의 제 1 도전 물질들(212~292)이 제공된다.
제 3 및 제 4 도핑 영역들(313, 314) 사이의 영역에서, 제 1 및 제 2 도핑 영역들(311, 312) 상의 구조물과 동일한 구조물이 제공될 것이다. 예시적으로, 제 3 및 제 4 도핑 영역들(312, 313) 사이의 영역에서, y 방향으로 신장되는 복수의 절연 물질들(112), y 방향을 따라 순차적으로 배치되며 z 방향을 따라 복수의 절연 물질들(112)을 관통하는 복수의 필라들(113), 복수의 절연 물질들(112) 및 복수의 필라들(113)의 노출된 표면에 제공되는 절연막(116), 그리고 y 방향을 따라 신장되는 복수의 제 1 도전 물질들(213~293)이 제공된다.
복수의 필라들(113) 상에 드레인들(320)이 각각 제공된다. 예시적으로, 드레인들(320)은 제 2 타입으로 도핑된 실리콘 물질들일 것이다. 예를 들면, 드레인들(320)은 n 타입으로 도핑된 실리콘 물질들일 것이다. 이하에서, 드레인들(320)은 n 타입 실리콘을 포함하는 것으로 가정한다. 그러나 드레인들(320)은 n 타입 실리콘을 포함하는 것으로 한정되지 않는다. 예시적으로, 각 드레인(320)의 폭은 대응하는 필라(113)의 폭 보다 클 수 있다. 예를 들면, 각 드레인(320)은 대응하는 필라(113)의 상부면에 패드 형태로 제공될 수 있다.
드레인들(320) 상에, x 방향으로 신장된 제 2 도전 물질들(331~333)이 제공된다. 제 2 도전 물질들(331~333)은 y 방향을 따라 순차적으로 배치된다. 제 2 도전 물질들(331~333) 각각은 대응하는 영역의 드레인들(320)과 연결된다. 예시적으로, 드레인들(320) 및 x 방향으로 신장된 제 2 도전 물질(333)은 각각 콘택 플러그들(Contact plug)을 통해 연결될 수 있다. 예시적으로, 제 2 도전 물질들(331~333)은 금속 물질들일 것이다. 예시적으로, 제 2 도전 물질들(331~333)은 폴리 실리콘 등과 같은 도전 물질들일 것이다.
도 15는 본 발명의 실시 예에 따른 솔리드 스테이트 디스크(이하, SSD)를 포함하는 사용자 장치를 보여주는 블록도이다. 도 15를 참조하면, 사용자 장치(1000)는 호스트(1100)와 SSD(1200)를 포함한다. SSD(1200)는 SSD 컨트롤러(1210), 버퍼 메모리(1220), 그리고 불휘발성 메모리 장치(1230)를 포함한다.
SSD 컨트롤러(1210)는 호스트(1100)와 SSD(1200)와의 물리적 연결을 제공한다. 즉, SSD 컨트롤러(1210)는 호스트(1100)의 버스 포맷(Bus format)에 대응하여 SSD(1200)와의 인터페이싱을 제공한다. 특히, SSD 컨트롤러(1210)는 호스트(1100)로부터 제공되는 명령어를 디코딩한다. 디코딩된 결과에 따라, SSD 컨트롤러(1210)는 불휘발성 메모리 장치(1230)를 액세스한다. 호스트(1100)의 버스 포맷(Bus format)으로 USB(Universal Serial Bus), SCSI(Small Computer System Interface), PCI express, ATA, PATA(Parallel ATA), SATA(Serial ATA), SAS(Serial Attached SCSI) 등이 포함될 수 있다.
버퍼 메모리(1220)에는 호스트(1100)로부터 제공되는 쓰기 데이터 또는 불휘발성 메모리 장치(1230)로부터 읽혀진 데이터가 일시 저장된다. 호스트(1100)의 읽기 요청시에 불휘발성 메모리 장치(1230)에 존재하는 데이터가 캐시되어 있는 경우에는, 버퍼 메모리(1220)는 캐시된 데이터를 직접 호스트(1100)로 제공하는 캐시 기능을 지원한다. 일반적으로, 호스트(1100)의 버스 포맷(예를 들면, SATA 또는 SAS)에 의한 데이터 전송 속도는 SSD(1200)의 메모리 채널의 전송 속도보다 월등히 빠르다. 즉, 호스트(1100)의 인터페이스 속도가 월등히 높은 경우, 대용량의 버퍼 메모리(1220)를 제공함으로써 속도 차이로 발생하는 퍼포먼스 저하를 최소화할 수 있다.
버퍼 메모리(1220)는 대용량의 보조 기억 장치로 사용되는 SSD(1200)에서 충분한 버퍼링을 제공하기 위해 동기식 DRAM(Synchronous DRAM)으로 제공될 수 있다. 하지만, 버퍼 메모리(1220)가 여기의 개시에 국한되지 않음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
불휘발성 메모리 장치(1230)는 SSD(1200)의 저장 매체로서 제공된다. 예를 들면, 불휘발성 메모리 장치(1230)는 대용량의 저장 능력을 가지는 낸드 플래시 메모리(NAND-type Flash memory)로 제공될 수 있다. 불휘발성 메모리 장치(1230)는 앞서 설명한 도 1 또는 도 8의 불휘발성 메모리 장치로 제공될 수 있다. 따라서, 타깃 상태들에 대해 차별적인 허용 슬로우 비트(SBT)를 제공하여 고속의 프로그램 특성을 가질 수 있다.
불휘발성 메모리 장치(1230)는 복수의 메모리 장치로 구성될 수 있다. 이 경우, 각각의 메모리 장치들은 채널 단위로 SSD 컨트롤러(1210)와 연결된다. 저장 매체로서 불휘발성 메모리 장치(1230)가 낸드 플래시 메모리를 예로 들어 설명되었으나, 또 다른 불휘발성 메모리 장치들로 구성될 수 있다. 예를 들면, 저장 매체로서 PRAM, MRAM, ReRAM, FRAM, NOR 플래시 메모리 등이 사용될 수 있으며, 이종의 메모리 장치들이 혼용되는 메모리 시스템도 적용될 수 있다.
도 16은 본 발명의 다른 실시 예에 따른 메모리 시스템(2000)을 예시적으로 보여주는 블록도이다. 도 13을 참조하면, 본 발명에 따른 메모리 시스템(2000)은 메모리 컨트롤러(2200)와 플래시 메모리(2100)를 포함할 수 있다.
플래시 메모리(2100)는 도 1 또는 도 8의 불휘발성 메모리 장치(100, 200)와 실질적으로 동일하게 구성될 수 있다. 플래시 메모리(2100)는 타깃 상태들에 대해 차별적인 허용 슬로우 비트(SBT)를 제공하여 고속의 프로그램 특성을 가질 수 있다. 플래시 메모리(2100)에 대한 구체적인 설명은 생략하기로 한다.
메모리 컨트롤러(2200)는 플래시 메모리(2100)를 제어하도록 구성될 수 있다. SRAM(2230)은 CPU(2210)의 워킹 메모리로 사용될 수 있다. 호스트 인터페이스(2220)는 메모리 시스템(2000)과 접속되는 호스트의 데이터 교환 프로토콜을 구비할 수 있다. 메모리 컨트롤러(2200)에 구비된 에러 정정 회로(2240)는 플래시 메모리(2100)로부터 읽어 온 읽기 데이터에 포함되어 있는 에러를 검출 및 정정할 수 있다. 메모리 인터페이스(2260)는 본 발명의 플래시 메모리(2100)와 인터페이싱 할 수 있다. CPU(2210)는 메모리 컨트롤러(2200)의 데이터 교환을 위한 제반 제어 동작을 수행할 수 있다. 비록 도면에는 도시되지 않았지만, 본 발명에 따른 메모리 시스템(2000)는 호스트(Host)와의 인터페이싱을 위한 코드 데이터를 저장하는 ROM(미도시됨) 등이 더 제공될 수 있다.
메모리 컨트롤러(2100)는 USB, MMC, PCI-E, SAS, SATA, PATA, SCSI, ESDI, 그리고 IDE 등과 같은 다양한 인터페이스 프로토콜들 중 하나를 통해 외부(예를 들면, 호스트)와 통신하도록 구성될 것이다.
본 발명에 따른 메모리 시스템(2000)은, 컴퓨터, 휴대용 컴퓨터, UMPC (Ultra Mobile PC), 워크스테이션, 넷북(net-book), PDA, 포터블(portable) 컴퓨터, 웹 타블렛(web tablet), 무선 전화기(wireless phone), 모바일 폰(mobile phone), 스마트폰(smart phone), 디지털 카메라(digital camera), 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 영상 녹화기(digital picture recorder), 디지털 영상 재생기(digital picture player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), 정보를 무선 환경에서 송수신할 수 있는 장치, 홈 네트워크를 구성하는 다양한 사용자 장치들 중 하나에 적용될 수 있다.
도 17은 본 발명의 다른 실시 예에 따른 데이터 저장 장치(3000)를 예시적으로 보여주는 블록도이다. 도 17을 참조하면, 본 발명에 따른 데이터 저장 장치(3000)는 플래시 메모리(3100)와 플래시 컨트롤러(3200)를 포함할 수 있다. 플래시 컨트롤러(3200)는 데이터 저장 장치(3000) 외부로부터 수신된 제어 신호들에 기초하여 플래시 메모리(3100)를 제어할 수 있다.
또한, 플래시 메모리(3100)의 구성은 도 1 또는 도 8에 도시된 불휘발성 메모리 장치(100, 200)와 실질적으로 동일하며, 발명의 플래시 메모리는 어레이들이 다층으로 적층된 스택 플래시 구조, 소스-드레인이 없는 플래시 구조, 핀-타입 플래시 구조, 및 3차원 플래시 구조 중 어느 하나로 구성될 수 있다. 플래시 메모리(3100)는 타깃 상태들에 대해 차별적인 허용 슬로우 비트(SBT)를 제공하여 고속의 프로그램 특성을 가질 수 있다.
본 발명의 데이터 저장 장치(3000)는 메모리 카드 장치, SSD 장치, 멀티미디어 카드 장치, SD 카드, 메모리 스틱 장치, 하드 디스크 드라이브 장치, 하이브리드 드라이브 장치, 또는 범용 직렬 버스 플래시 장치를 구성할 수 있다. 예를 들면, 본 발명의 데이터 저장 장치(3000)는 디지털, 카메라, 개인 컴퓨터 등과 같은 사용자 장치를 사용하기 위한 산업 표준을 만족하는 카드를 구성할 수 있다.
도 18은 본 발명에 따른 플래시 메모리 장치(4100) 및 그것을 포함하는 컴퓨팅 시스템(4000)의 개략적인 구성을 보여주는 도면이다. 도 15를 참조하면, 본 발명에 따른 컴퓨팅 시스템(4000)은 버스(4400)에 전기적으로 연결된 플래시 메모리 장치(4100), 메모리 컨트롤러(4200), 베이스밴드 칩셋(baseband chipset)과 같은 모뎀(4300), 마이크로프로세서(4500), 그리고 사용자 인터페이스(4600)를 포함할 수 있다.
도 18에 도시된 플래시 메모리 장치(4100)는 구성은 도 1 또는 8에 도시된 불휘발성 메모리 장치(100)와 실질적으로 동일하며, 본 발명의 플래시 메모리는 어레이들이 다층으로 적층된 스택 플래시 구조, 소스-드레인이 없는 플래시 구조, 핀-타입 플래시 구조, 및 3차원 플래시 구조 중 어느 하나로 구성될 수 있다. 플래시 메모리 장치(4100)는 타깃 상태들에 대해 차별적인 허용 슬로우 비트(SBT)를 제공하여 고속의 프로그램 특성을 가질 수 있다.
본 발명에 따른 컴퓨팅 시스템이 모바일 장치인 경우, 컴퓨팅 시스템의 동작 전압을 공급하기 위한 배터리(4700)가 추가적으로 제공될 수 있다. 비록 도면에는 도시되지 않았지만, 본 발명에 따른 컴퓨팅 시스템에는 응용 칩셋(application chipset), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램, 등이 더 제공될 수 있다. 메모리 컨트롤러(4200)와 플래시 메모리 장치(4100)는, 예를 들면, 데이터를 저장하는 데 불 휘발성 메모리를 사용하는 SSD(Solid State Drive/Disk)를 구성할 수 있다.
본 발명에 따른 불휘발성 메모리 장치 그리고/또는 메모리 컨트롤러는 다양한 형태들의 패키지를 이용하여 실장될 수 있다. 예를 들면, 본 발명에 따른 플래시 메모리 장치 그리고/또는 메모리 컨트롤러는 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP), 등과 같은 패키지들을 이용하여 실장 될 수 있다.
이상에서와 같이 도면과 명세서에서 실시 예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허 청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허 청구범위의 기술적 사상에 의해 정해져야 할 것이다.
110, 210 : 셀 어레이 120, 220 : 행 디코더
130, 230 : 페이지 버퍼 140 : 패스/페일 검출기
150, 250 : 제어 로직 160, 260 : 전압 발생기
240 : 슬로우 비트 카운터 111 : 기판
112 : 절연 물질 113 : 필라
114 : 표면층 115 : 내부층
116 : 절연막
211, 221, 231, 241, 251, 261, 271, 281, 291 : 제 1 도전 물질
213, 223, 233, 243, 253, 263, 273, 283, 293 : 제 1 도전 물질
311, 312, 313, 314 : 도핑 영역
320 : 드레인 331, 332, 333 : 비트 라인
510 : 메모리 컨트롤러 515 : 에러 정정 블록
520 : 불휘발성 메모리 장치 521 : 셀 어레이
523 : 페이지 버퍼
1100 : 호스트 1200 : SSD
1210 : SSD 컨트롤러 1220 : 버퍼 메모리
1230 : 불휘발성 메모리 장치 2100 : 플래시 메모리
2200 : 메모리 컨트롤러 2210 : CPU
2220 : 호스트 인터페이스 2230 : SRAM
2240 : ECC 2260 : 메모리 인터페이스
3100 : 플래시 메모리 3200 : 플래시 인터페이스
4100 : 플래시 메모리 4200 : 메모리 컨트롤러
4300 : 모뎀 4400 : 시스템 버스
4500 : 마이크로 프로세서 4600 : 유저 인터페이스
4700 : 배터리

Claims (10)

  1. 선택된 메모리 셀들을 복수의 타깃 상태들로 프로그램하는 방법에 있어서:
    상기 선택된 메모리 셀들에 제 1 검증 전압을 제공하여 적어도 하나의 타깃 상태로 프로그램되는 메모리 셀들에 대한 검증 읽기를 수행하는 단계;
    상기 선택된 메모리 셀들에 프로그램 전압을 인가하는 단계; 그리고
    특정 프로그램 루프 이상에서 상기 제 1 검증 전압보다 낮은 제 2 검증 전압을 상기 선택된 메모리 셀들에 제공하여 상기 적어도 하나의 타깃 상태로 프로그램되는 메모리 셀들에 대한 검증 읽기를 수행하는 단계를 포함하되,
    상기 제 2 검증 전압은, 상기 복수의 타깃 상태들 중에서 상기 적어도 하나의 타깃 상태에 대한 허용 슬로우 비트의 수가 나머지 타깃 상태에 대한 허용 슬로우 비트의 수와 다르게 설정되는 프로그램 방법.
  2. 제 1 항에 있어서,
    상기 적어도 하나의 타깃 상태는 상기 복수의 타깃 상태들 중에서 가장 높은 문턱 전압에 대응하는 프로그램 상태인 것을 특징으로 하는 프로그램 방법.
  3. 제 1 항에 있어서,
    상기 제 2 검증 전압은 상기 적어도 하나의 타깃 상태에 대응하는 문턱 전압보다 낮은 것을 특징으로 하는 프로그램 방법.
  4. 제 1 항에 있어서,
    상기 복수의 타깃 상태 중 제 1 타깃 상태의 허용 슬로우 비트의 수는 문턱 전압의 레벨이 상기 제 1 타깃 상태보다 낮은 제 2 타깃 상태의 허용 슬로우 비트의 수보다 같거나 크게 설정되는 프로그램 방법.
  5. 제 1 항에 있어서,
    상기 제 1 검증 전압과 상기 제 2 검증 전압 간의 레벨 차이는 상기 선택된 메모리 셀들에 대한 페이지 어드레스에 따라 달라지는 프로그램 방법.
  6. 복수의 타깃 상태들로 프로그램되는 메모리 셀들을 포함하는 셀 어레이;
    비트 라인들을 통해서 상기 메모리 셀들 중 선택된 메모리 셀들에 대한 센싱을 수행하는 페이지 버퍼;
    상기 선택된 메모리 셀들의 워드 라인에 프로그램 전압 또는 검증 전압을 제공하기 위한 전압 발생기; 그리고
    상기 선택된 메모리 셀들을 상기 복수의 타깃 상태들 중 적어도 하나의 타깃 상태로 프로그램할 때, 상기 복수의 타깃 상태들에 대한 허용 슬로우 비트의 수를 차별적으로 적용하도록 상기 페이지 버퍼 및 전압 발생기를 제어하는 제어 로직을 포함하는 불휘발성 메모리 장치.
  7. 제 6 항에 있어서,
    상기 제어 로직은 특정 프로그램 루프를 초과하는 프로그램 동작시 제공되는 제 1 검증 전압을 상기 특정 프로그램 루프 이전의 프로그램 동작에서 제공되던 제 2 검증 전압보다 낮게 생성하도록 상기 전압 발생기를 제어하는 불휘발성 메모리 장치.
  8. 제 7 항에 있어서,
    상기 제어 로직은 상기 제 1 검증 전압과 상기 제 2 검증 전압 간의 강하 폭을 상기 복수의 타깃 상태들에 대하여 차별적으로 적용하도록 상기 전압 발생기를 제어하는 불휘발성 메모리 장치.
  9. 제 7 항에 있어서,
    상기 제어 로직은 상기 선택된 메모리 셀들에 대한 페이지 어드레스에 따라 상기 제 1 검증 전압과 상기 제 2 검증 전압 간의 강하 폭을 차별적으로 적용하도록 상기 전압 발생기를 제어하는 불휘발성 메모리 장치.
  10. 제 6 항에 있어서,
    상기 페이지 버퍼로부터 검증 읽기 결과를 제공받아, 상기 적어도 하나의 타깃 상태로 프로그램되는 메모리 셀들 중에서 상기 적어도 하나의 타깃 상태로 프로그램되지 못한 메모리 셀들의 수에 대응하는 슬로우 비트를 카운트하는 슬로우 비트 카운터를 더 포함하는 불휘발성 메모리 장치.
KR1020120065620A 2012-06-19 2012-06-19 불휘발성 메모리 장치 및 그것의 프로그램 방법 KR101942863B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120065620A KR101942863B1 (ko) 2012-06-19 2012-06-19 불휘발성 메모리 장치 및 그것의 프로그램 방법
US13/767,166 US8804422B2 (en) 2012-06-19 2013-02-14 Nonvolatile memory device and related method of operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120065620A KR101942863B1 (ko) 2012-06-19 2012-06-19 불휘발성 메모리 장치 및 그것의 프로그램 방법

Publications (2)

Publication Number Publication Date
KR20130142417A true KR20130142417A (ko) 2013-12-30
KR101942863B1 KR101942863B1 (ko) 2019-01-28

Family

ID=49755767

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120065620A KR101942863B1 (ko) 2012-06-19 2012-06-19 불휘발성 메모리 장치 및 그것의 프로그램 방법

Country Status (2)

Country Link
US (1) US8804422B2 (ko)
KR (1) KR101942863B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170073800A (ko) * 2015-12-18 2017-06-29 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
KR20170085774A (ko) * 2016-01-15 2017-07-25 삼성전자주식회사 프로그램 전압을 보정하는 플래시 메모리 장치, 3차원 메모리 장치, 메모리 시스템 및 그의 프로그램 방법
KR20170099647A (ko) * 2016-02-24 2017-09-01 삼성전자주식회사 메모리 장치 및 메모리 시스템
US11574691B2 (en) 2016-02-24 2023-02-07 Samsung Electronics Co., Ltd. Memory device and memory system

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9582357B2 (en) * 2012-03-29 2017-02-28 Intel Corporation Method and apparatus for treatment of state confidence data retrieved from a non-volatile memory array
US9342401B2 (en) * 2013-09-16 2016-05-17 Sandisk Technologies Inc. Selective in-situ retouching of data in nonvolatile memory
KR101503822B1 (ko) * 2013-10-14 2015-03-18 주식회사 디에이아이오 비휘발성 메모리 장치
KR102238579B1 (ko) 2014-08-06 2021-04-09 삼성전자주식회사 메모리 장치의 프로그램 방법
US20160077913A1 (en) * 2014-09-11 2016-03-17 Kabushiki Kaisha Toshiba Method of controlling nonvolatile memory
US10665302B2 (en) 2016-01-15 2020-05-26 Samsung Electroncis Co., Ltd. Non-volatile memory device and operating method thereof
KR102505852B1 (ko) * 2016-01-15 2023-03-03 삼성전자 주식회사 비휘발성 메모리 장치의 동작 방법
KR102634421B1 (ko) * 2016-11-21 2024-02-06 에스케이하이닉스 주식회사 페일 비트 카운터 및 이를 포함하는 반도체 메모리 장치
KR102295521B1 (ko) * 2017-03-16 2021-08-30 삼성전자 주식회사 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 프로그램 방법
US10354738B2 (en) * 2017-09-27 2019-07-16 Micron Technology, Inc. One check fail byte (CFBYTE) scheme
KR102370278B1 (ko) * 2017-11-30 2022-03-07 에스케이하이닉스 주식회사 메모리 컨트롤러, 이를 포함하는 메모리 시스템, 및 그의 동작방법
JP7148727B2 (ja) * 2019-02-20 2022-10-05 長江存儲科技有限責任公司 メモリシステムをプログラムする方法
JP6832375B2 (ja) * 2019-02-25 2021-02-24 ウィンボンド エレクトロニクス コーポレーション 半導体集積回路をリバースエンジニアリングから保護する方法
CN111863100A (zh) * 2019-04-29 2020-10-30 北京兆易创新科技股份有限公司 一种非易失性存储器的编程方法和装置
CN110136766A (zh) * 2019-05-21 2019-08-16 长江存储科技有限责任公司 一种非易失性存储器及其编程方法
KR20220075571A (ko) 2020-11-30 2022-06-08 삼성전자주식회사 비휘발성 메모리 장치의 데이터 기입 방법, 이를 수행하는 비휘발성 메모리 장치 및 이를 이용한 메모리 시스템의 구동 방법
KR20220139685A (ko) * 2021-04-08 2022-10-17 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
KR20230036351A (ko) 2021-09-07 2023-03-14 에스케이하이닉스 주식회사 비휘발성 메모리 장치에 데이터를 프로그램하는 장치 및 방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7177199B2 (en) * 2003-10-20 2007-02-13 Sandisk Corporation Behavior based programming of non-volatile memory
JP2006012367A (ja) 2004-06-29 2006-01-12 Toshiba Corp 不揮発性半導体記憶装置
US7355892B2 (en) 2006-06-30 2008-04-08 Sandisk Corporation Partial page fail bit detection in flash memory devices
JP4945187B2 (ja) 2006-07-31 2012-06-06 株式会社東芝 半導体記憶装置
ITRM20070167A1 (it) 2007-03-27 2008-09-29 Micron Technology Inc Non-volatile multilevel memory cell programming
US7848158B2 (en) * 2008-05-05 2010-12-07 Micron Technologies, Inc. Methods and apparatuses for programming flash memory using modulated pulses
US20100031096A1 (en) 2008-07-31 2010-02-04 Ercole Rosario Di Iorio Internal fail bit or byte counter
US7768836B2 (en) 2008-10-10 2010-08-03 Sandisk Corporation Nonvolatile memory and method with reduced program verify by ignoring fastest and/or slowest programming bits
KR100965076B1 (ko) 2008-11-14 2010-06-21 주식회사 하이닉스반도체 불휘발성 메모리 장치의 프로그램 방법
JP2010176761A (ja) 2009-01-30 2010-08-12 Toshiba Corp 半導体記憶装置
KR101090328B1 (ko) 2009-08-11 2011-12-07 주식회사 하이닉스반도체 비휘발성 메모리장치 및 이의 동작방법
US8223556B2 (en) 2009-11-25 2012-07-17 Sandisk Technologies Inc. Programming non-volatile memory with a reduced number of verify operations
US20120170363A1 (en) * 2010-12-30 2012-07-05 Macronix International Co., Ltd. Method for increasing program speed and control read windows for multi-level cell non-volatile memory

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170073800A (ko) * 2015-12-18 2017-06-29 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
KR20170085774A (ko) * 2016-01-15 2017-07-25 삼성전자주식회사 프로그램 전압을 보정하는 플래시 메모리 장치, 3차원 메모리 장치, 메모리 시스템 및 그의 프로그램 방법
KR20170099647A (ko) * 2016-02-24 2017-09-01 삼성전자주식회사 메모리 장치 및 메모리 시스템
US11574691B2 (en) 2016-02-24 2023-02-07 Samsung Electronics Co., Ltd. Memory device and memory system
US11798641B2 (en) 2016-02-24 2023-10-24 Samsung Electronics Co., Ltd. Memory device and memory system

Also Published As

Publication number Publication date
US20130336057A1 (en) 2013-12-19
KR101942863B1 (ko) 2019-01-28
US8804422B2 (en) 2014-08-12

Similar Documents

Publication Publication Date Title
KR101942863B1 (ko) 불휘발성 메모리 장치 및 그것의 프로그램 방법
US10332607B2 (en) Methods of operating a nonvolatile memory device and the nonvolatile memory device thereof
KR102038408B1 (ko) 회귀 분석법을 사용하는 메모리 시스템 및 그것의 읽기 방법
KR101915719B1 (ko) 불휘발성 메모리 장치 및 그것의 프로그램 동작 방법
KR101809202B1 (ko) 불휘발성 메모리 장치 및 그것의 읽기 방법
KR101988434B1 (ko) 불휘발성 메모리 장치 및 그것의 서브-블록 관리 방법
KR101792870B1 (ko) 불휘발성 메모리 장치 및 그것의 읽기 방법
US8705279B2 (en) Nonvolatile memory device and reading method thereof
KR101891164B1 (ko) 프로그램 스케줄러를 포함하는 플래시 메모리 장치
JP5773367B2 (ja) メモリ装置およびメモリプログラミング方法
KR102245822B1 (ko) 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 프로그램 방법
KR20130016619A (ko) 불휘발성 메모리 장치의 프로그램 방법
KR20100054566A (ko) 불휘발성 메모리 장치 및 그것의 읽기 방법
US10304552B2 (en) Memory device and operating method thereof
US9496013B1 (en) Semiconductor device and operating method thereof
KR20130112257A (ko) 불휘발성 메모리 장치, 메모리 시스템 및 그것의 프로그램 방법
KR20160058521A (ko) 반도체 장치 및 이의 동작 방법
US20160104540A1 (en) Non-volatile memory device and operating method thereof
US20150332783A1 (en) Method of operating semiconductor device
KR20110096414A (ko) 불휘발성 메모리 장치 및 그것의 읽기 방법
TW201804473A (zh) 半導體記憶體裝置和其之操作方法
KR20160052277A (ko) 반도체 장치 및 이의 동작 방법
KR20150072517A (ko) 불휘발성 메모리 장치 및 그것을 포함한 메모리 시스템
CN105575428B (zh) 半导体器件及其操作方法
KR101400691B1 (ko) 메모리 장치 및 메모리 프로그래밍 방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant