KR102250456B1 - 고성능 3d nand를 위한 동적 1-티어 스캔 - Google Patents

고성능 3d nand를 위한 동적 1-티어 스캔 Download PDF

Info

Publication number
KR102250456B1
KR102250456B1 KR1020200034233A KR20200034233A KR102250456B1 KR 102250456 B1 KR102250456 B1 KR 102250456B1 KR 1020200034233 A KR1020200034233 A KR 1020200034233A KR 20200034233 A KR20200034233 A KR 20200034233A KR 102250456 B1 KR102250456 B1 KR 102250456B1
Authority
KR
South Korea
Prior art keywords
sub
memory cells
group
program loop
word line
Prior art date
Application number
KR1020200034233A
Other languages
English (en)
Other versions
KR20200139622A (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 샌디스크 테크놀로지스 엘엘씨
Publication of KR20200139622A publication Critical patent/KR20200139622A/ko
Application granted granted Critical
Publication of KR102250456B1 publication Critical patent/KR102250456B1/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/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/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/3463Circuits or methods to detect overprogrammed nonvolatile memory cells, usually during program verification
    • 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/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
    • G11C16/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells

Landscapes

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

Abstract

메모리 어레이 상에 동적 1-티어 스캔을 실행하기 위한 방법 및 시스템이 제공된다. 메모리 어레이는 복수의 하위-그룹들로 조직되는 복수의 메모리 셀들을 포함한다. 동적 1-티어 스캔은 프로그램 루프를 실행하는 단계를 포함하고, 그 프로그램 루프에서 수적 임계치가 충족되는지 결정하기 위하여 제1 하위-그룹의 셀들이 카운팅되고, 수적 임계치가 제1 하위 그룹에 관련하여 충족되는 경우, 적어도 하나의 추가적인 프로그램 루프가 실행되며, 추가적인 프로그램 루프에서 수적 임계치가 제2 하위-그룹에 관련하여 충족되는지 결정하기 위하여 제2 하위-그룹의 셀들이 카운팅된다.

Description

고성능 3D NAND를 위한 동적 1-티어 스캔{DYNAMIC 1-TIER SCAN FOR HIGH PERFORMANCE 3D NAND}
배경기술
기술분야
예시적인 실시예들에 부합하는 시스템들, 장치들, 및 방법들은 3차원(3D) NAND 플래시 메모리들의 프로그래밍에 관한 것으로, 더 구체적으로는 3D NAND 플래시 메모리 디바이스들에 대한 1-티어 프로그램 검증 동작에 관한 것이다.
3D NAND 플래시 메모리는 메모리 셀들이 수직으로 다수의 층들로 적층되는 비휘발성 플래시 메모리의 한 종류이다. 3D NAND는 비트 당 더 낮은 가격에서 더 높은 밀도를 달성하기 위하여 2차원(2D) NAND 기술을 스케일링하면서 맞게 된 어려움들을 처리하고자 개발되었다.
메모리 셀은 전자 정보를 저장할 수 있는 전자 디바이스 또는 컴포넌트이다. 비휘발성 메모리는 플로팅 게이트 트랜지스터들, 전하 포획 트랜지스터들, 또는 메모리 셀들과 같은 기타 트랜지스터들을 활용할 수 있다. 플로팅 게이트 트랜지스터 또는 전하 포획 트랜지스터의 임계 전압을 조정할 수 있다면, 트랜지스터가 1 비트의 데이터를 저장하는 싱글-레벨 셀(SLC)과 같은, 비휘발성 저장 소자(즉 메모리 셀)의 역할을 하게 할 수 있다. 일부 경우들에서 메모리 셀 당 둘 이상의 데이터 비트가 (예컨대, 멀티-레벨 셀에서) 다수의 임계 전압들 또는 임계 전압 범위를 프로그래밍 및 판독함으로써 제공될 수 있다. 이러한 셀들은 셀 당 2 비트를 저장하는 멀티-레벨 셀(MLC); 셀 당 3 비트를 저장하는 트리플-레벨 셀(TLC); 및 셀 당 4 비트를 저장하는 쿼드-레벨 셀(QLC)을 포함하지만, 이에 한정되지 않는다.
도 1은 3D NAND 워드 라인(WL)을 프로그래밍하는 종래 기술 방법을 도시한다. 프로그램 명령이 수신되면(101), 프로그램 루프(120)가 개시되고, 프로그램 루프의 다수의 반복들 1, 2, … n이 수행된다. "프로그램 루프"는 프로그래밍 펄스를 포함하고 다른 프로그래밍 펄스가 발행될 때까지 또는 특정 프로그램 절차가 종료될 때까지 연장되는 기간이다.
모든 셀들의 초기 임계 전압(Vt) 분포가 도 2a에 도시된다. 제1 루프에서, 제1 프로그래밍 전압(VPGM1)이 워드 라인(102)을 통해 셀들의 각각에 인가된다. 이어서 검증 전압의 검증 펄스가 워드 라인에 인가되고, 검증 레벨보다 높은 Vt를 갖는 셀들은 결정되고 카운팅될 수 있다(103). 이는 또한 검증 프로세스 및 검증 스캔으로 불린다. 검증 레벨은 프로그래밍 동안 셀에 의해 도달되는 Vt인 것으로 본 명세서에 기술되어 있다. 그러나, 검증 레벨은 메모리 셀의 프로그래밍 또는 소거 동안 도달될 수 있는 특정 상태와 연관된 임의의 레벨일 수 있다. 이어서 검증 레벨에 도달하지 못한 셀들의 수(또는 백분율)가 수적 임계치 미만인지 여부가 결정된다(104). 수적 임계치는, 예를 들어, 셀들의 사전결정된 수 또는 셀들의 사전결정된 백분율일 수 있다. 예를 들어, 16 kB 당 64개 미만의 셀들이 검증 레벨에 아직 도달하지 않았다면 수적 임계치에 도달될 수 있다.
검증 레벨을 달성하지 않은 셀들의 수(또는 백분율)가 수적 임계치 미만인 경우(104: 예), 프로세스들은 종료된다(106). 검증 레벨을 달성하지 않은 셀들의 수(또는 백분율)가 수적 임계치 이상인 경우(104: 아니오), 프로세스는 계속되고 다른 프로그램 루프(120)가 수행된다. 각각의 후속 프로그램 루프(1, 2, 3, … n)에서, VPGM은 증가되어, VPGMi+1 = VPGMi + ΔVPGM이 되고(105), 워드 라인은 증가된 VPGMi+1로 다시 프로그래밍된다(102).
도 2b에 도시된 바와 같이, 프로그램 루프들이 수행됨에 따라, 셀들의 Vt 분포는 더 높은 전압들로(우측으로, 도 2b에 도시된 바와 같음) 이동한다. 하나 이상의 제1 프로그램 루프들 후에, 상태 A에 도달하며, 이는 도시된 바와 같다. 하나 이상의 추가적인 프로그램 루프들 후에, 상태 B에 도달하며, 이는 도시된 바와 같다. 따라서, Vt 분포는 충분한 수(또는 백분율)의 셀들이 검증 레벨에, 도시된 바와 같이, 예를 들어, 상태 E에 도달할 때까지(즉 수적 임계치가 달성될 때까지) 더 높은 전압들(A 내지 E)로 이동한다. 이러한 방식으로, 프로그래밍의 후속 단계들은 충분한 수(또는 백분율)의 셀들이 검증 레벨에 도달하고 수적 임계치가 달성될 때까지 지연되거나 또는 회피될 수 있다.
일 유형의 검증 프로세스 또는 검증 스캔은 모든 셀이 카운팅되어 그것의 Vt가 검증 레벨보다 높은지 결정하는 "전체 티어 스캔"이다. 이러한 전체 티어 스캔은 매우 시간 소모적인이며, 통상적으로 약 15μs 걸릴 수 있다.
그러나, 더 나은 성능을 가능하게 하는 소정의 장점들이 전체 셀들 중 일부만이 카운팅되는 "1-티어 스캔"을 이용하여 달성될 수 있다고 확인되었다.
"1-티어 스캔"에 따르면, 워드 라인의 셀들은 하위-그룹들, 소위 "티어들"로 나뉘고, 하나의 티어에 있는 셀들만이 카운팅된다. 통상적으로, 워드 라인은 16개의 티어들로 나뉠 수 있다. 워드 라인 내의 전체 셀들 중 일부만이 카운팅되기 때문에, 1-티어 스캔의 사용은 프로그래밍 시간을 크게 감소시키며, - 1-티어 스캔은 통상적으로 약 2μs만을 필요로 할 수 있다. 그러나, 1-티어 스캔이 효과적이 되기 위해서, 스캐닝되는 티어에 속하는 셀들이 적절히 대표적이어야 한다. 이 이슈는 스캐닝되는 티어 내의 셀들이 "빠른지" 또는 "느린지"에 관련된다. 소정 메모리 홀들(MH), 및 그에 따른 소정 셀들은 더 빠른 프로그래밍 속도를 가질 수 있다. 이는 더 얇은 터널링 산화물을 갖는 소정 셀들에 기인한다.
1-티어 스캔이 성공적이고 충분히 예측하려면, 수적 임계치에 도달하였는지 결정하기 위하여 단일 티어만을 카운팅하여 스캐닝되도록 선택되는 티어 내의 셀들은 적절히 대표적어야 한다. 도 3a는 워드 라인의 모든 셀들의 Vt 분포를 대표적인 두 티어들: 티어 #0 및 티어 #1의 Vt 분포로 나누는 예시적인 분할을 도시한다. 이 예에 따르면, 티어 #0 및 티어 #1의 Vt 분포는 전체적으로 티어 #1의 셀들이 티어 #0의 셀들보다 빠르다는 것을 보여준다. 도 3b에 도시된 바와 같이, 더 느린 티어 #0이 카운팅에 선택되는 경우, 검증 레벨에 도달하지 않은 티어 #0의 카운팅된 셀들의 수(또는 백분율)(도 3b의 음영 영역에 도시됨)가 수적 임계치 미만이면, 더 빠른 티어 #1의 셀들은 또한 검증 레벨에 도달하고 수적 임계치를 충족할 것임을 알 수 있다. 따라서, 1-티어 스캔에서, 모든 셀들의 대표로서 느린 티어만을 카운팅하는 것이 통계적으로 안전하다.
그러나, 어떤 셀들 및 티어들이 빠르고 느린지에 대한 예측이 항상 옳은 것은 아니다. 이러한 경우들에서, 티어 #0이 1-티어 스캔에 선택되지만, 실제로 빠른 티어인 경우, 카운트는 충분히 대표적이지 않다. 도 4a 및 도 4b는 이 문제를 도시한다. 도 4a는 워드 라인 내의 모든 셀들의 Vt 분포를 티어 #0 및 티어 #1의 Vt 분포로 나누는 예시적인 분할을 도시한다. 이 예에서, 티어 #0의 셀들은 실제로 티어 #1의 셀들보다 빠르다. 도 4b에 도시된 바와 같이, 더 빠른 셀들을 포함하는 티어 #0이 1-티어 스캔에 선택되는 경우, 아직 검증 레벨에 도달하지 못한 셀들의 낮은 꼬리(lower tail)가 생성되더라도, 선택된 티어 #0의 카운팅된 셀들은 수적 임계치를 충족시킬 수 있음을 볼 수 있으며, 이는 도 4b의 음영 영역에 도시된 바와 같다. 다시 말해서, 선택된 티어가 실제로 더 빠른 경우에는, 모든 셀들에 대하여 도달하지 않았더라도 1-티어 스캔은 수적 임계치가 선택된 티어에 대하여 도달했음을 나타낸다. 이는 종종 언더 프로그래밍 또는 오버 프로그래밍과 같은 데이터 에러들을 야기한다. 오버 프로그래밍은, 예를 들어, 티어가 가장 빠른 하위그룹으로서 선택되었지만, 가장 빠른 하위그룹이 아닌 경우 발생할 수 있다. 대안적으로, 티어가 가장 느린 하위그룹으로서 선택되었지만 가장 느린 하위그룹이 아닌 경우, 언더 프로그래밍이 발생할 수 있다.
예시적인 실시예들은 적어도 상기 문제들 및/또는 약점들 및 위에 기재되지 않은 기타 약점들에 대처할 수 있다. 또한, 예시적인 실시예들은 위에 기재된 약점들을 극복할 필요는 없고, 위에서 기재된 문제들 중 임의의 것을 극복하지 않을 수 있다.
예시적인 실시예의 양태에 따라, 비휘발성 메모리 저장 시스템은: 워드 라인에 결합된 메모리 셀 어레이, 프로그래밍 회로 및 결정/카운팅 회로를 포함하는 동적 1-티어 회로를 포함한다. 메모리 셀 어레이는 복수의 별개의 하위-그룹들로 조직되는 복수의 메모리 셀들을 포함한다. 동적 1-티어 회로는 프로그램 루프 및 추가적인 프로그램 루프를 실행하도록 구성된다. 프로그램 루프는: 프로그래밍 회로가 하나 이상의 프로그래밍 펄스들을 워드 라인에 인가하는 것 및 검증 전압을 워드 라인에 인가하는 단계; 결정/카운팅 회로가 검증 레벨을 달성한 제1 메모리 셀들의 수를 카운팅하는 단계 - 제1 메모리 셀들은 복수의 하위-그룹들 중 제1 하위-그룹 내에 있음 -; 및 검증 레벨을 달성한 제1 메모리 셀들의 수에 기초하여, 제1 하위-그룹이 수적 임계치를 충족하는지 결정하는 단계를 포함한다. 제1 하위-그룹이 수적 임계치를 충족하지 않는 경우, 프로그래밍 회로는 프로그래밍 펄스들의 전압을 증가시키고, 프로그램 루프를 반복하며, 제1 하위-그룹이 수적 임계치를 충족하는 경우, 동적 1-티어 회로는 추가적인 프로그램 루프를 실행한다. 추가적인 프로그램 루프는: 결정/카운팅 회로가 검증 레벨을 달성한 제2 메모리 셀들의 수를 카운팅하는 단계 - 제2 메모리 셀들은 복수의 하위-그룹들 중 제2 하위-그룹 내에 있음 -, 및 검증 레벨을 달성한 제2 메모리 셀들의 수에 기초하여, 제2 하위-그룹이 수적 임계치를 충족하는지 결정하는 단계를 포함한다. 제2 하위-그룹이 수적 임계치를 충족하지 않는 경우, 프로그래밍 회로는 프로그래밍 펄스들의 전압을 증가시키고, 프로그래밍 펄스들 중 하나 이상을 워드 라인에 인가하고, 검증 전압을 워드 라인에 인가하고, 동적 1-티어 회로는 추가적인 프로그램 루프를 반복한다. 제2 하위-그룹이 수적 임계치를 충족하는 경우, 프로그래밍 프로세스는 종료된다.
제1 하위-그룹의 메모리 셀들은 트렌치에 인접할 수 있고, 제2 하위-그룹의 제2 메모리 셀들은 트렌치로부터 이격될 수 있어서, 제1 메모리 셀들은 제2 메모리 셀들과 트렌치 사이에 배치된다.
추가적인 프로그램 루프는 1차 추가적인 프로그램 루프일 수 있고, 동적 1-티어 회로는 2차 추가적인 프로그램 루프 및 3차 추가적인 프로그램 루프를 실행하도록 추가로 구성될 수 있다. 제2 하위-그룹이 수적 임계치를 충족하는 경우, 동적 1-티어 회로는 2차 추가적인 프로그램 루프를 실행할 수 있다. 2차 추가적인 프로그램 루프는: 결정/카운팅 회로가 검증 레벨을 달성한 제3 메모리 셀들의 수를 카운팅하는 단계 - 제3 메모리 셀들은 복수의 하위-그룹들 중 제3 하위-그룹 내에 있음 -, 및 검증 레벨을 달성한 제3 메모리 셀들의 수에 기초하여, 제3 하위-그룹이 수적 임계치를 충족하는지 결정하는 단계를 포함한다. 제3 하위-그룹이 수적 임계치를 충족하지 않는 경우, 프로그래밍 회로는 프로그래밍 펄스들의 전압을 증가시키고, 하나 이상의 프로그래밍 펄스들을 워드 라인에 인가하고, 검증 전압을 워드 라인에 인가하고, 동적 1-티어 회로는 2차 추가적인 프로그램 루프를 반복한다. 제3 하위-그룹이 수적 임계치를 충족하는 경우, 동적 1-티어 회로는 3차 추가적인 프로그램 루프를 실행한다. 3차 추가적인 프로그램 루프는: 프로그래밍 회로가 검증 전압을 워드 라인에 인가하는 단계; 결정/카운팅 회로가 검증 레벨을 달성한 제4 메모리 셀들의 수를 카운팅하는 단계 - 제4 메모리 셀들은 복수의 하위-그룹들 중 제4 하위-그룹 내에 있음 -, 및 검증 레벨을 달성한 제4 메모리 셀들의 수에 기초하여, 제4 하위-그룹이 수적 임계치를 충족하는지 결정하는 단계를 포함한다. 제4 하위-그룹이 수적 임계치를 충족하지 않는 경우, 프로그래밍 회로는 프로그래밍 펄스들의 전압을 증가시키고, 하나 이상의 프로그래밍 펄스들을 워드 라인에 인가하고, 검증 전압을 워드 라인에 인가하고, 동적 1-티어 회로는 3차 추가적인 프로그램 루프를 반복한다. 제4 하위-그룹이 수적 임계치를 충족하는 경우, 프로그래밍 프로세스는 종료된다.
제3 하위-그룹들의 제3 메모리 셀들은 제1 메모리 셀들에 인접할 수 있고 제1 메모리 셀들과 제2 메모리 셀들 사이에 배치될 수 있다. 제4 하위-그룹의 제4 메모리 셀들은 제2 메모리 셀들에 인접할 수 있고, 제3 메모리 셀들과 제2 메모리 셀들 사이에 배치될 수 있다.
다른 예시적인 실시예의 양태에 따르면, 메모리 프로그래밍 방법은: 프로그램 루프를 실행하는 단계를 포함하고, 프로그램 루프를 실행하는 단계는: 별개의 하위-그룹들로 조직되는 복수의 메모리 셀들을 포함하는 메모리 셀 어레이에 결합되는 워드 라인에 하나 이상의 프로그래밍 펄스들을 인가하는 단계, 검증 전압을 워드 라인에 인가하는 단계, 검증 레벨을 달성한 제1 메모리 셀들의 수를 카운팅하는 단계 - 제1 메모리 셀들은 복수의 하위-그룹들 중 제1 하위-그룹 내에 있음 -, 검증 레벨을 달성한 제1 메모리 셀들의 수에 기초하여, 제1 하위-그룹이 수적 임계치를 충족하는지 결정하는 단계를 포함함다. 제1 하위-그룹이 수적 임계치를 충족하지 않는 경우, 방법은 프로그래밍 펄스의 전압을 증가시키고, 프로그램 루프를 반복하는 단계를 추가로 포함한다. 수적 임계치가 충족되는 경우, 방법은 추가적인 프로그램 루프를 실행하는 단계를 추가로 포함한다. 추가적인 프로그램 루프는: 검증 레벨을 달성한 제2 메모리 셀들의 수를 카운팅하는 단계 - 제2 메모리 셀들은 복수의 하위-그룹들 중 제2 하위-그룹 내에 있음 -, 및 검증 레벨을 달성한 제2 메모리 셀들의 수에 기초하여, 제2 하위-그룹이 수적 임계치를 충족하는지 결정하는 단계를 포함한다. 제2 하위-그룹이 수적 임계치를 충족하지 않는 경우, 방법은 프로그래밍 펄스들의 전압을 증가시키고, 프로그래밍 펄스들 중 하나 이상을 워드 라인에 인가하고, 검증 전압을 워드 라인에 인가하고, 추가적인 프로그램 루프를 반복하는 단계를 포함한다.
추가적인 프로그램 루프는 1차 추가적인 프로그램 루프일 수 있고, 방법은: 제2 하위-그룹이 수적 임계치를 충족하는 경우, 2차 추가적인 프로그램 루프를 실행하는 단계를 추가로 포함할 수 있다. 2차 추가적인 프로그램 루프는: 검증 레벨을 달성한 제3 메모리 셀들의 수를 카운팅하는 단계 - 제3 메모리 셀들은 복수의 하위-그룹들 중 제3 하위-그룹 내에 있음 -, 및 검증 레벨을 달성한 제3 메모리 셀들의 수에 기초하여, 제3 하위-그룹이 수적 임계치를 충족하는지 결정하는 단계를 포함한다. 제3 하위-그룹이 수적 임계치를 충족하지 않는 경우, 방법은 프로그래밍 펄스들의 전압을 증가시키고, 프로그래밍 펄스들 중 하나 이상을 워드 라인에 인가하고, 검증 전압을 워드 라인에 인가하고, 2차 추가적인 프로그램 루프를 반복하는 단계를 포함한다. 제2 하위-그룹이 수적 임계치를 충족하는 경우, 방법은 3차 추가적인 프로그램 루프를 실행하는 것을 추가로 포함한다. 3차 추가적인 프로그램 루프는: 검증 레벨을 달성한 제4 메모리 셀들의 수를 카운팅하는 단계 - 제4 메모리 셀들은 복수의 하위-그룹들 중 제4 하위-그룹 내에 있음 -, 및 검증 레벨을 달성한 제4 메모리 셀들의 수에 기초하여, 제4 하위-그룹이 수적 임계치를 충족하는지 결정하는 단계를 포함한다. 제4 하위-그룹이 수적 임계치를 충족하지 않는 경우, 방법은 프로그래밍 펄스들의 전압을 증가시키고, 프로그래밍 펄스들 중 하나 이상을 워드 라인에 인가하고, 검증 전압을 워드 라인에 인가하고, 3차 추가적인 프로그램 루프를 반복하는 단계를 포함한다.
예시적인 실시예의 양태에 따라, 프로세서에 의해 실행 시, 프로세서로 하여금 상기 방법의 하나 이상의 양태들을 실행하게 하는 프로그램이 기록되어 있는 비휘발성 컴퓨터-판독가능 매체.
다음의 첨부 도면들과 함께 보면, 상기 및/또는 기타 양태들은 아래 나올 예시적인 실시예들의 설명으로부터 명백하고 더 용이하게 이해될 것이다.
도 1은 종래 기술 프로그래밍 방법을 도시한다.
도 2a는 예시적인 초기 Vt 분포를 도시한다. 도 2b는 임의의 횟수가 반복된 프로그램 루프들 후에 도달한 상태들 A 내지 E에서의 예시적인 Vt 분포들을 도시한다.
도 3a는 느린 셀들을 포함하는 티어 #0과 빠른 셀들을 포함하는 티어 #1로 나뉘는, 워드 라인의 셀들의 예시적인 초기 Vt 분포를 도시한다. 도 3b는 임의의 수의 프로그램 루프들 이후의 도 3a의 워드 라인의 셀들을 도시한다.
도 4a는 빠른 셀들을 포함하는 티어 #0과 느린 셀들을 포함하는 티어 #1로 나뉘는, 워드 라인의 셀들의 예시적인 초기 Vt 분포를 도시한다. 도 4b는 임의의 수의 프로그램 루프들 이후의 도 4a의 워드 라인의 셀들을 도시한다.
도 5는 예시적인 3D NAND 메모리의 다이어그램을 도시한다.
도 6은 예시적인 실시예에 따라 티어들 #0, #1, #2, 및 #3으로 나뉘는 하나의 워드 라인의 단면도를 도시한다.
도 7은 하나의 워드 라인의 단면도를 도시한다.
도 8은 예시적인 실시예에 따라 동적 1-티어 스캐닝 방법을 포함하는 프로그래밍 방법을 도시한다.
도 9a는 느린 티어인 티어 #0 상에서 1-티어 스캔이 수행될 때의 예시적인 결과들을 도시한다. 도 9b는 빠른 티어인 티어 #0 상에서 1-티어 스캔이 수행될 때의 예시적인 결과들을 도시한다.
도 10a는 예시적인 실시예에 따라 느린 티어인 티어 #0의 스캔 및 빠른 티어인 티어 #1의 스캔을 포함하는 동적 1-티어 스캔이 수행될 때의 예시적인 결과들을 도시한다. 도 10b는 예시적인 실시예에 따라 빠른 티어인 티어 #0의 스캔 및 느린 티어인 티어 #1의 스캔을 포함하는 동적 1-티어 스캔이 수행될 때의 예시적인 결과들을 도시한다.
도 11은 다른 예시적인 실시예에 따라 동적 1-티어 스캐닝 방법을 포함하는 프로그래밍 방법을 도시한다.
도 12는 예시적인 실시예에 따른, 도 8 및/또는 도 11의 방법(들)을 구현하도록 구성된 시스템 및 디바이스를 도시하는 개략적 블록도이다.
도 13은 예시적인 실시예에 따른, 동적 1-티어 회로를 도시하는 블록도이다.
첨부 도면들에서 도시되는 예시적인 실시예들에 대한 참조가 상세하게 이루어질 것이며, 전체적으로 유사 도면 번호는 유사 구성요소들을 참조한다. 이와 관련하여, 예시적인 실시예들은 상이한 형태들을 가질 수 있고 본 명세서에 기재된 설명들로 제한되는 것으로 이해되지 않을 수 있다.
본 명세서에서 사용될 때 용어 "포함", "포함하고", "포함하다" 및/또는 "포함하는"은 언급된 특징들, 정수들, 단계들, 동작들, 요소들, 및/또는 컴포넌트들의 존재를 명시하지만, 하나 이상의 다른 특징들, 정수들, 단계들, 동작들, 요소들, 컴포넌트들, 및/또는 이들의 그룹들의 존재 또는 부가를 배제하지는 않는다는 것이 이해될 것이다.
용어들 "제1", "제2", "제3" 등, 및 "1차", "2차", 3차" 등이 다양한 동작들, 요소들, 컴포넌트들, 영역들, 층들 및/또는 섹션들을 설명하는 데 사용될 수 있지만, 이러한 동작들, 요소들, 컴포넌트들, 영역들, 층들 및/또는 섹션들은 이러한 용어들에 의해 한정되지 않을 수 있음이 추가로 이해될 것이다. 이 용어들은 단지 하나의 요소, 컴포넌트, 영역, 층 또는 섹션을 다른 요소, 컴포넌트, 영역, 층 또는 섹션과 구분하기 위하여 사용된다.
본 명세서에 사용되는 바와 같이, 용어 "및/또는"은 연관련 열거된 항목들 중 하나 이상의 임의의 및 모든 조합들을 포함한다. "적어도 하나"와 같은 표현들이, 요소들의 목록 앞에 있으면, 요소들의 전체 목록을 수정하고 목록의 개별적인 요소들을 수정하지 않는다. 또한, 명세서에 기재된 "유닛", "-기", "-자", "모듈", 및 "유닛"과 같은 용어들은 적어도 하나의 기능 또는 동작을 수행하기 위한 요소를 지칭하며, 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다.
다양한 용어들이 특정 시스템 컴포넌트를 지칭하는 데 사용된다. 상이한 회사들이 컴포넌트를 상이한 이름으로 지칭하는데 - 이 문서는 이름만 상이하고 기능은 상이하지 않은 컴포넌트들을 구분하려고 의도하지 않는다.
이 예시적인 실시예들이 존재하는 기술분야에서 통상의 기술자들에게 명백한 이 예시적인 실시예들의 주제에 대한 상세한 설명은 본 명세서에서 생략될 수 있다.
본 설명은 3D NAND 메모리 디바이스들을 참조한다. 그러나, 본 명세서의 설명은 다른 메모리 디바이스들에 유사하게 적용될 수 있음을 이해해야 한다.
본 명세서에 사용되는 바와 같이, 용어 "메모리"는 반도체 메모리를 나타낸다. 반도체 메모리의 유형들은 휘발성 메모리 및 비휘발성 메모리를 포함한다. 비휘발성 메모리는, 비휘발성 메모리가 전원(예를 들어, 배터리)에 접속되어 있지 않을 때에도 정보가 저장 및 보유되게 한다. 비휘발성 메모리의 예들은 플래시 메모리(예컨대, NAND-형 및 NOR-형 플래시 메모리), 전기 소거가능 프로그램가능 판독전용 메모리(EEPROM), 강유전체 메모리(예컨대, FeRAM), 자기저항성 메모리(예컨대, MRAM), STT-RAM 또는 STT-MRAM(spin-transfer torque magnetic random access memory), 저항성 랜덤 액세스 메모리(예컨대, ReRAM 또는 RRAM) 및 위상 변화 메모리(예컨대, PRAM 또는 PCM)를 포함하지만, 이에 한정되지 않는다.
위에 언급된 바와 같이, 더 빠른 프로그래밍을 제공하기 위하여, 1-티어 스캔이 수행될 수 있다. 16개의 티어들로 나뉘는 워드 라인이 기재되어 있지만, 워드 라인은 16개의 티어들보다 더 많거나 또는 더 적게 나뉠 수 있다. 그러나, 전체적으로 워드 라인의 셀들을 적절히 대표하지 않는 빠른 티어의 스캔을 야기하는 종래 기술 1-티어 스캔의 문제는 해결될 필요가 있다. 종래 기술에 관현하여 위에 기술된, 생성된 낮은 꼬리는 프로그래밍된 워드 라인의 판독 실패를 초래할 수 있다. 다시 말해서, 셀들 사이의 변동이 수반되면 종래 기술 1-티어 스캔은 실패한다.
도 5는 예시적인 3D NAND 메모리(100)의 다이어그램을 도시한다. 메모리(100)는 규소 기판과 같은 기판(34) 상에 모놀리식으로 형성되는 다수의 물리 층들을 포함한다.
저장 소자들, 예를 들어 메모리 셀들(301)은 물리 층에서 어레이로 배열된다. 메모리 셀(301)은 워드 라인(300)과 전도성 채널(42) 사이의 전하 포획 구조물(44)을 포함한다. 전하는 워드 라인(300)에 대한 전도성 채널(42)의 바이어싱에 의해 전하 포획 구조물(44)에 주입되거나 또는 그로부터 배출될 수 있다. 예를 들어, 전하 포획 구조물(44)은 규소 질화물을 포함할 수 있고 규소 산화물과 같은 게이트 유전체에 의해 워드 라인(300) 및 전도성 채널(42)로부터 격리될 수 있다. 전하 포획 구조물(44) 내의 전하의 양은 메모리 셀(301)의 판독 동작 동안 전도성 채널(42)을 통하는 전류의 양에 영향을 줘서, 메모리 셀(301)에 저장되는 하나 이상의 비트 값들을 나타낸다.
3D 메모리(100)는 다수의 소거 블록들(80)을 포함한다. 각각의 블록(80)은 워드 라인들(300)의 스택을 포함하는 물리 층들의 "수직 슬라이스"를 포함한다. 다수의 전도성 채널들(42)(실질적으로 수직 배향을 가짐, 도 5에 도시된 바와 같음)이 워드 라인들(300)의 스택을 통해 연장된다. 각각의 전도성 채널(42)은 각각의 워드 라인(300) 내의 저장 소자에 결합되어, 전도성 채널(42)을 따라 연장되는 저장 소자들의 NAND 스트링을 형성한다. 도 5는 예시의 명료성을 위해 3개의 블록들(80), 각각의 블록(80) 내의 5개의 워드 라인들(300), 및 각각의 블록(80) 내의 3개의 전도성 채널들(42)을 도시한다. 그러나, 3D 메모리(100)는 3개 초과의 블록들, 블록 당 5개 초과의 워드 라인들, 및 블록 당 3개 초과의 전도성 채널들을 가질 수 있다.
판독/기록 회로부(68)는 다수의 전도성 라인들, 즉, 전도성 채널들의 제1 단부(예컨대, 기판(34)으로부터 가장 멀리 있는 단부)에 있는 제1 비트 라인 BL0, 제2 비트 라인 BL1, 및 제3 비트 라인 BL2로 도시된 비트 라인들 및 전도성 채널들의 제2 단부(예컨대, 기판(234)에 더 가깝거나 또는 기판 내에 있는 단부)에 있는 제1 소스 라인 SL0, 제2 소스 라인 SL1, 및 제3 소스 라인 SL2로 도시된 소스 라인들을 통해 전도성 채널들(420)에 결합된다. 판독/기록 회로부(68)는 "P" 제어 라인들을 통해 비트 라인들 BL0 내지 BL2에 결합되고, "M" 제어 라인들을 통해 소스 라인들 SL0 내지 SL2에 결합되고, "N" 제어 라인들을 통해 워드 라인들(300)에 결합된 것으로 도시된다. P, M, 및 N의 각각은 3D 메모리(100)의 구체적인 구성에 기초하여 양의 정수값을 가질 수 있다.
전도성 채널들(42)의 각각은 제1 단부에서 비트 라인 BL에 결합되고, 제2 단부에서 소스 라인 SL에 결합된다. 따라서, 전도성 채널들(42)의 그룹은 특정 비트 라인 BL 및 상이한 소스 라인들 SL에 직렬로 결합될 수 있다.
각각의 전도성 채널(42)은 단일 전도성 채널로 도시되어 있지만, 전도성 채널들(42)의 각각은 적층 구성인 다수의 전도성 채널들을 포함할 수 있음에 유의한다. 적층된 구성의 다수의 전도성 채널들은 하나 이상의 커넥터들에 의해 결합될 수 있다. 또한, 추가적인 층들 및/또는 트랜지스터들(미도시)이 포함될 수 있고, 이는 통상의 기술자에 의해 이해될 것이다.
판독/기록 회로부(68)는 3D 메모리(100) 상에 수행되는 판독 및 기록 동작들을 용이하게 하고/하거나 효력을 발생시킨다. 예를 들어, 데이터는 워드 라인(300)에 결합된 저장 소자들에 저장될 수 있고, 판독/기록 회로부(68)는 하나 이상의 감지 블록들(36)을 이용하여 메모리 셀들(301)로부터 비트 값들을 읽어낼 수 있다. 다른 예를 들어, 판독/기록 회로부(68)는 워드 라인들(300), 비트 라인들 BL, 및 소스 라인들 SL에 결합된 제어 라인들에 선택 신호들을 인가하여 프로그래밍 전압(예컨대, 전압 펄스 또는 일련의 전압 펄스들)으로 하여금 선택된 워드 라인(300)의 선택된 저장 소자(들)(44)에 걸쳐 인가되게 할 수 있다.
판독/기록 회로부(68)는 하나 이상의 감지 블록들(36)을 포함한다. 감지 블록들(36)은 메모리 셀(301)에 저장된 하나 이상의 값들을 읽거나 감지하는 데 사용된다. 일 접근법에서, 하나의 감지 블록(36)은 NAND 스트링들의 그룹에 제공되며, 이들의 각각은 특정 비트 라인 BL에 결합된다. 각각의 감지 블록(36)은 메모리 제어기(도 5에 도시되지 않음)를 포함할 수 있다. 각각의 감지 블록(36)은 각각의 NAND 스트링에 대한 감지 모듈을 또한 포함한다. 대안적으로, 감지 블록(36)은 짝수 또는 홀수 번째 비트 라인들과 같이 일정 간격의 비트 라인들에 결합될 수 있다.
판독 동작 동안, 제어기는 컴퓨터, 스마트폰, 또는 랩톱 컴퓨터와 같은 호스트 디바이스로부터 요청을 수신할 수 있다. 제어기는 적절한 신호들을 제어 라인들에 인가하여 선택된 워드 라인의 저장 소자들로 하여금 감지되게 함으로써, 판독/기록 회로부(68)로 하여금 3D 메모리(100)의 특정 저장 소자들로부터 비트들을 읽어내게 할 수 있다. 따라서, 적층된 구성의 다수의 전도성 채널들을 갖는 3D 메모리(100)는 하나 이상의 저장 소자들에서 데이터를 읽고 쓰도록 구성될 수 있다.
도 7은 셀들(301)의 예시적인 워드 라인(300)의 단면도를 도시한다. 셀들(301)은 스트링들 #0, #1, #2, 및 #3으로 나뉠 수 있고, 이는 도시된 바와 같다. 위에 논의된 바와 같이, 셀들의 각각은 전도성 채널의 단면을 포함한다. 이상적인 상황에서, 각각의 셀은 각각의 다른 셀과 물리적으로 동일할 것이다. 그러나, 실제로, 일부 제조 시 변동으로 인해, 셀의 물리적 구조가 셀들마다 약간씩 달라서 소정 셀들은 다른 셀들보다 빨리 프로그래밍될 수 있다.
도 7에 도시된 바와 같이, 소정 스트링들(스트링 #1 및 스트링 #2)은 산화물 및 질화물의 교번하는 층들을 통해 형성된 트렌치들(303)에 의해 격리되고, 외측 스트링들(스트링 #0 및 스트링 #3)의 외측에 추가적인 트렌치들(303)이 존재한다. 트렌치들에 인접한 셀들(또는 메모리 홀들)은 "외측" 메모리 홀들로 지칭되는 반면, 트렌치들로부터 멀리 있는 것들은 "내측" 메모리 홀들로 지칭된다.
3D 메모리에 대한 일부 제조 공정들은 제조 시 수행되는 에칭 공정들에 비해 지배적인 경향이 있는 필름 침착 공정들을 포함할 수 있다. 이러한 유형의 제조 공정들의 경우, 외측 메모리 홀들은 일반적으로 내측 메모리 홀들보다 느리게 프로그래밍될 것이다. 그러나, 3D 메모리에 대한 다른 제조 공정들은 제조 시 필름 침착 공정들에 비해 지배적인 경향이 있는 에칭 공정들을 포함할 수 있다. 이러한 유형의 제조 공정들의 경우, 내측 메모리 홀들은 일반적으로 외측 메모리 홀들보다 느리게 프로그래밍될 것이다. 그러나, 유의할 점은 3D 메모리 구조물 내의 메모리 셀들의 하위-그룹의 물리적 위치가, 제조 공정 중 도입된 변동으로 인해 또는 디바이스의 사용에 의해 야기된 마모의 결과로서 그것의 상대적인 프로그래밍 속도에 항상 결정적인 것은 아니라는 것이다. 또한, 사이클링 열화는 또한 상이한 메모리 셀들, 또는 메모리 셀들의 하위-그룹들의 상대적인 프로그래밍 속도가 시간이 경과함에 따라 변하게 할 수 있다.
위에 논의된 바와 같이, 워드 라인의 셀들은 "티어들"로 불리는 하위-그룹들로 나뉠 수 있다. 각각의 티어는 특정 감지 증폭기 그룹과 전기 통신하는 셀들의 별개의 그룹을 포함한다. 각각의 비트 라인은 감지 증폭기 그룹에 결합된다. 따라서, 각각의 티어는 비트 라인을 통해 특정 감지 증폭기 그룹과 전기 통신하는 메모리 셀들의 그룹을 포함한다.
도 6은 프로그래밍 및 스캐닝될 셀들의 예시적인 워드 라인(300)을 도시한다. 도시된 바와 같이, 셀들은 티어들 #0, #1, #2, 및 #3을 포함하는 티어들로 나뉠 수 있다. 이 경우에, 티어 #0은 최내측 셀들을 포함하고, 티어 #1은 최외측 셀들을 포함하고, 티어 #2은 최내측 셀들에 인접한 셀들을 포함하고, 티어 #3은 최외측 셀들에 인접한 셀들을 포함한다. 그러나, 이는 단지 예시일 뿐이며, 워드 라인(300)은 도 6에 도시된 것과 상이한 방식으로 티어들로 나뉠 수 있음에 유의한다.
종래 기술 1-티어 스캔 방법을 다시 참조하면, 내측 셀들을 포함하는 티어(티어 #0)는 통상적으로 1-티어 스캔에 선택되는데, 그 이유는 특정 제조 공정에 부분적으로 기초하여, 이 티어가 느린 티어로 추정되기 때문이며, 이는 위에 언급된 바와 같다. 그러나, 논의된 바와 같이, 내측 셀들을 포함하는 티어 #0이 빠른 티어가 되게 하는 제조 작동 또는 기타 변동도 또한 있다. 그러한 상황에서, 종래 기술 1-티어 스캔은 수적 임계치에 도달했음을 나타내지만, 실제로, 이것은 도 4a 및 도 4b에 대하여 위에 논의된 바와 같이 워드 라인의 셀들을 대표하지 않는다.
도 8은 예시적인 실시예에 따라 동적 1-티어 스캔 방법을 도시한다. 본 명세서에 기술된 방법들은 본 명세서에 기재된 것들 및 구체화될 수 있는 임의의 기타 적절한 메모리 디바이스들 및 시스템들을 포함하는 임의의 다양한 상이한 메모리 디바이스들 및 시스템들에 사용될 수 있다.
본 예시적인 실시예에 따라, 프로그램 명령이 수신되고(701), 프로그램 루프(720)가 개시되고 횟수 i(1 ≤ i ≤ n) 만큼 수행된다. 제1 프로그램 루프에서, 제1 프로그래밍 전압 VPGM1이 워드 라인에 의해 셀들의 각각에 인가된다(702). 검증 전압이 이어서 워드 라인에 인가되고, 티어 #0의 셀들을 카운팅하여 티어 #0의 셀들 중 어떤 것들이 검증 레벨(703)보다 높은 Vt를 갖는지 결정한다. 티어 #0이 선택되는데, 그 이유는 느린 셀들로 추정되는 최내측 셀들을 포함하기 때문이다. 티어 #0의 셀들의 카운트에 기초하여, 검증 레벨에 도달하지 않은 카운팅된 셀들의 수 #(또는 백분율)가 수적 임계치 미만인지 결정된다(704). 검증 레벨을 달성하지 않은 카운팅된 셀들의 수 #(또는 백분율)가 수적 임계치 이상인 경우(704: 아니오), 프로세스는 계속되고 다른 프로그램 루프(720)가 수행된다. 각각의 후속 프로그램 루프 1-n에서, VPGM은 VPGMi+1 = VPGMi + ΔVPGM으로 증가되고(705), 증가된 VPGMi+1은 워드 라인에 인가된다(702). 그러나, 검증 레벨을 달성하지 않은 카운팅된 셀들의 수(또는 백분율)가 수적 임계치 미만이면(704: 예), 추가 루프(730)가 개시된다.
추가적인 프로그램 루프(730)의 제1 루프에서, 검증 전압이 워드 라인에 인가되고, 추가적인 선택된 티어 #1의 어떤 셀들이 검증 레벨보다 큰 Vt를 갖는지 결정하기 위하여 추가적인 선택된 티어 #1의 셀들이 카운팅된다(706). 티어 #1이 추가적인 티어로서 선택되는데, 그 이유는 빠른 셀들로 추정되는 최외측 셀들을 포함하기 때문이다. 티어 #1의 셀들의 카운트에 기초하여, 검증 레벨에 도달하지 않은 카운팅된 셀들의 수(또는 백분율)가 수적 임계치 미만인지 결정된다(707). 검증 레벨을 달성하지 않은 카운팅된 셀들의 수(또는 백분율)가 수적 임계치보다 큰 경우(707: 아니오), 프로세스는 계속해서 다른 추가 루프(730)를 진행한다. VPGM은 VPGMi+1 = VPGMi + ΔVPGM로 증가되고(709); 워드 라인은 증가된 VPGMi+1으로 다시 프로그래밍되고(710); 검증 전압이 다시 워드 라인에 인가되고, 티어 #1의 셀들이 다시 카운팅된다(706). 검증 레벨을 달성하지 않은 셀들의 수(또는 백분율)가 수적 임계치 미만인 경우(707: 예), 프로세스가 종료된다(708).
도 9a 및 도 9b는 종래 기술 1-티어 스캔이 느린 티어인 티어 #0 상에 수행될 때(도 9a), 및 종래 기술 1-티어 스캔이 빠른 티어인 티어 #0 상에 수행될 때(도 9b)의 예시적인 결과들을 도시한다. 도 1에 관하여 논의된 바와 같이, 프로그래밍이 종래 기술 1-티어 스캐닝 방법을 이용하여 수행되면, 각각의 프로그램 루프(120)에서, 검증 레벨보다 높은 Vt를 갖는 단일 티어(최내측 셀들을 포함하는 티어 #0)의 셀들이 카운팅된다. 도 9a의 예에서 Vt 분포 차트에 도시된 바와 같이, 카운팅된 티어 #0이 느린 티어이고, 티어 #1이 빠른 티어이다. 위에 논의된 바와 같이, 내측 셀들을 갖는 티어가 카운팅을 위해 선택되는데, 이 티어가 느릴 것이라고 예측되기 때문이다. 이 예에 따르면, 다수의 프로그램 루프들이 수행되었을 때(도 9a의 상태들 A 내지 G), 마지막 프로그램 루프에서, 티어 #0의 셀들의 카운트는 검증 레벨을 달성한 티어 #0의 셀들의 수(또는 백분율)는 수적 임계치 미만이고(810), 프로그램 루프들은 종료된다. 도 9a의 이 예에서, 티어 #0의 셀들은 실제로 느린 셀들이고, 티어 #1의 셀들은 실제로 빠른 셀들이기 때문에, 검증 스캔이 티어 #0의 카운팅된 셀들이 수적 임계치를 충족한다고 나타내면, 티어 #1의 셀들도 또한 수적 임계치를 충족할 것이며, 이는 최종 Vt 분포 G가 도시하는 바와 같다(820). 따라서, 추가적인 프로그램 루프들이 필요 없이, 최종 Vt 분포가 받아들여진다.
도 9a의 예와 반대로, 도 9b의 예에서 Vt 분포 차트에 도시된 바와 같이, 카운팅된 티어 #0은, 최내측 셀들을 포함함으로 인해 느린 티어로 예측되지만, 실제로 빠른 티어이고, 티어 #1이 느린 티어이다. 이 예에 따르면, 동일한 수의 프로그램 루프들이 수행되었을 때(도 8g의 상태들 A 내지 G를 생성함), 마지막 프로그램 루프에서, 검증 레벨보다 높은 Vt를 갖는 티어 #0의 셀들의 카운트는, 검증 레벨을 달성한 티어 #0의 셀들의 수(또는 백분율)가 수적 임계치 미만임을 나타내고(830), 프로그램 루프들은 종료된다. 그러나, 실제로, 카운팅된 티어 #0이 가장 빠른 티어이기 때문에, 이 마지막 루프 이후의 진정한 Vt 분포는 아직 검증 레벨에 도달하지 못한 많은 셀들이 있음을 나타내는 낮은 꼬리를 포함하며, 이는 도 9b의 음영 영역에 도시되는 바와 같다. 따라서, 추가로 프로그램 루프들이 수행되지 않지만, 최종 Vt 분포(840)는 받아들여지지 않는다. 이는 도 1의 종래 기술 방법에 내재하는 문제를 도시한다.
도 9a 및 도 9b에 대조적으로, 도 10a 및 도 10b는 예시적인 실시예에 따라 동적 1-티어 스캔이 수행될 때, 1-티어 스캔이 느린 티어(도 10a)인 티어 #0에 먼저 수행될 때 및 1-티어 스캔이 빠른 티어(도 10b)인 티어 #0 상에 먼저 수행될 때의 예시적인 결과들을 도시한다.
도 9a 및 도 9b의 종래 기술 예들에 관련한 바와 같이, 도 10a 및 도 10b의 예시적인 실시예들에 관하여, 프로그램 루프(720)가 수행되고 검증 레벨보다 높은 Vt를 갖는 티어 #0의 셀들이 카운팅되는 티어 #0의 1-티어 스캔을 포함한다. 티어 #0이 선택되는데, 그 이유는 그것이 느릴 것으로 추정되는 최내측 셀들을 포함하기 때문이다.
Vt 분포 차트에 도시된 바와 같이, 도 10a의 예에서, 도 9a의 종래 기술 예에서와 같이, 티어 #0은 느린 티어이고, 티어 #1은 빠른 티어이다. 도 9a의 종래 기술 예에서와 같이, 도 10a의 이 예시적인 실시예에 따라, 다수의 프로그램 루프들(720)이 수행되었을 때(도 10a의 상태들 A 내지 G를 생성함), 마지막 프로그램 루프에서, 티어 #0의 셀들의 카운트는 검증 레벨을 달성한 티어 #0의 셀들의 수(또는 백분율)는 수적 임계치 미만임을 나타내고(910), 프로그램 루프(720)는 종료된다. 도 8의 동적 1-티어 스캔에 따라, 추가적인 프로그램 루프(730)가 이어서 개시되고, 티어 #1이 검증 스캔에 선택되는데, 그 이유는 그것이 최외측 셀들을 포함하고, 따라서 빠른 티어로 예측되기 때문이다. 제1 추가적인 프로그램 루프에서, 임의의 VPGM을 적용하기 이전에, 티어 #1의 셀들의 카운트는 검증 레벨을 달성한 티어 #1의 셀들의 수(또는 백분율)가 수적 임계치 미만임을 나타내고(920), 추가적인 프로그램 루프는 종료된다. 도 10a의 이 예에서, 티어 #0의 셀들은 실제로 느린 셀들이고, 티어 #1의 셀들은 실제로 빠른 셀들이기 때문에, 초기 프로그램 루프에서 티어 #0 셀들 상에 수행되는 검증 스캔이 티어 #0의 카운팅된 셀들이 수적 임계치를 충족함을 나타낼 때, 추가적인 프로그램 루프에서 티어 #1 셀들 상에 수행된 검증 스캔도 또한 티어 #1의 카운팅된 셀들이 수적 임계치를 충족함을 나타내며, 이는 최종 Vt 분포(930)가 보여주는 바와 같다. 따라서, 추가적인 프로그램 루프들이 필요 없이, 최종 Vt 분포가 받아들여진다.
도 10a의 예에 대조적으로, 도 10b의 Vt 분포 차트에 도시된 바와 같이, 초기 프로그램 루프에 선택된 티어 #0은 최내측 셀들을 포함함으로 인해 느린 티어로 예측되지만, 실제로 빠른 티어이고, 티어 #1이 느린 티어이다. 이 예시적인 실시예에 따라, 다수의 프로그램 루프들(720)이 수행되었을 때(도 10b의 상태들 A 내지 G를 생성함, 940), 마지막 루프에서, 검증 레벨보다 높은 Vt 를 갖는 티어 #0의 셀들의 카운트는 검증 레벨을 달성한 티어 #0의 셀들의 수(또는 백분율)가 수적 임계치 미만임을 나타내고, 프로그램 루프가 종료된다. 그러나, 실제로, 스캐닝되는 티어 #0은 빠른 티어이기 때문에, 모든 셀들의 진정한 Vt 분포는, 상태 G에서, 마지막 프로그램 루프 후에, 검증 레벨에 아직 도달하지 못한 많은 셀들이 많이 있음을 나타내는 낮은 꼬리를 포함하며, 이는 950의 음영 영역으로서 도시된다.
도 1의 종래 기술에 대조적으로, 동적 1-티어 스캔의 이 예시적인 실시예에 따라, 프로세스는 완료되지 않고, 다른, 추가 루프(730)가 수행된다. 이 경우에, 도 8에 도시된 바와 같이, 추가적인 프로그램 루프(730)는 추가 루프(706)에 선택된 티어 #1을 스캐닝함으로써 개시된다. 티어 #1의 스캔은, 이 예에서, 티어 #1의 느린 셀들의 카운트를 포함하기 때문에, 이 스캔은 수적 임계치가 충족되지 않았음을 나타낸다. 따라서, 제1 추가 루프에서, VPGM은 증가되고(709) 다시 워드 라인에 인가된다. 검증 레벨보다 높은 Vt를 갖는 티어 #1의 셀들의 후속 카운트는 검증 레벨을 달성한 티어 #1의 셀들의 수(또는 백분율)가 수적 임계치 미만임을 나타내고(960), 추가적인 프로그램 루프는 종료된다. 따라서, 도 9b 및 도 10b의 비교로부터 명백한 바와 같이, 추가적인 프로그램 루프는 낮은 꼬리의 이슈를 바로잡을 수 있고, 최종 Vt 분포는 받아들여진다(970). 따라서, 예시적인 추가적인 프로그램 루프의 사용은, 도 8 및 도 10b에 대하여 기재된 바와 같이, 종래 기술 1-티어 스캔과 연관된 문제를 해결할 수 있다.
본 출원인은 도 10b의 예시적인 실시예에 따라, 수적 임계치가 하나의 추가 루프 후에 달성됨을 언급한다. 그러나, 통상의 기술자에 의해 이해될 바와 같이, 각각 연속적으로 더 높은 VPGM을 인가하는 둘 이상의 추가 루프들이 필요할 수 있다.
도 11은 다른 예시적인 실시예에 따라 동적 1-티어 스캔 방법을 도시한다. 도 8의 동적 1-티어 방법에 대조적으로, 본 실시예에 따라, 하나의 추가적인 프로그램 루프(730)보다는, 3개의 추가적인 프로그램 루프들(1030, 1040, 1050)이 있어서,둘 이상의 추가적인 티어가 스캐닝되도록 한다. 이 예시적인 실시예에 따라, 프로그램 명령이 수신되고(1001), 프로그램 루프(1020) 및 1차 추가적인 프로그램 루프(1030)는 수 차례 수행된다. 프로그램 루프(1020) 및 1차 추가적인 프로그램 루프(1030)는 도 8에 관하여 논의된 바와 같이 프로그램 루프(720) 및 추가적인 프로그램 루프(730)와 각각 비교가능하고, 그것들의 상세사항들은 반복되지 않을 것이다.
여기서, 도 8에 관하여 논의된 예시적인 실시예와는 다르게, 1차 추가 루프(1030)에서, 검증 레벨을 달성하지 않은 티어 #1의 셀들의 수(또는 백분율)는 수적 임계치 미만인 경우(1007: 예), 프로세스는 종료된다. 오히려, 프로세스는 2차 추가적인 프로그램 루프(1040)로 진행한다.
도 11의 이 예시적인 실시예에서, 워드 라인은 4개의 티어들 #0, #1, #2, 및 #3으로 나뉘었고, 이는 도 6에 도시된 바와 같다. 티어 #0은 최내측 셀들을 포함하고, 가장 느린 티어로 추정되고; 티어 #1은 최외측 셀들을 포함하고, 가장 빠른 티어로 추정되고; 티어 #2는 최내측 셀들에 인접한 셀들을 포함하고, 제2 가장 느린 티어로 추정되고; 셀 #3은 최외측 셀들에 인접한 셀들을 포함하고, 제2 가장 빠른 티어로 추정된다.
여기서, 1차 추가 루프(1030)에서, 검증 레벨을 달성하지 않은 스캐닝된 셀들의 수가 수적 임계치 미만인 경우(1007: 예), 프로세스는 2차 추가 루프(1040)로 진행한다. 2차 추가 루프에서, 검증 전압은 워드 라인에 인가되고, 검증 레벨보다 높은 Vt를 갖는 티어 #2의 셀들이 카운팅되고(1011), 검증 레벨을 달성하지 않은 티어 #1의 셀들의 수가 수적 임계치보다 큰 경우(1012: 아니오), VPGM은 증가되고(1013) 워드 라인에 인가된다(1014). 검증 전압이 워드 라인에 인가되고, 검증 레벨보다 높은 Vt를 갖는 티어 #2의 셀들이 카운팅된다(1011). 검증 레벨을 달성하지 않은 티어 #2의 셀들의 수가 수적 임계치 미만인 경우(1012: 예), 프로세스는 3차 추가 루프로 진행한다(1050).
3차 추가 루프에서, 검증 전압은 워드 라인에 인가되고, 검증 레벨보다 높은 Vt를 갖는 티어 #2의 셀들이 카운팅되고(1015), 검증 레벨을 달성하지 않은 티어 #3의 셀들의 수가 수적 임계치보다 큰 경우(1016: 아니오), VPGM은 증가되고(1017) 워드 라인에 인가된다(1018). 이어서 검증 전압이 워드 라인에 인가되고, 검증 레벨보다 높은 Vt를 갖는 티어 #3의 셀들이 카운팅된다. 검증 레벨을 달성하지 않은 카운팅된 셀들의 수가 수적 임계치 미만인 경우(1016: 예), 프로세스 종료된다(1020).
이 예시적인 실시예에 따라, 방법은 티어들 #1, #2, 및 #3의 셀들이 카운팅되는 3개의 추가 루프들을 포함한다. 그러나, 통상의 기술자에 의해 이해될 바와 같이, 3개보다 더 많거나 또는 더 적은 추가 루프들이 있을 수 있고, 스캐닝되는 구체적인 티어들은 달라질 수 있다.
도 12는 예시적인 실시예에 따른, 도 8 및 도 11의 방법들을 구현하도록 구성된 시스템(200) 및 디바이스(250)를 도시하는 개략적 블록도이다. 컴퓨팅 디바이스(250)는 메모리 디바이스(220)의 메모리 매체(222)를 위한 하나 이상의 동적 1-티어 회로들(240)을 포함한다.
메모리 디바이스(220)는 적어도 부분적으로 컴퓨팅 디바이스(250)의 메모리 시스템(200)을 동작시키고/시키거나 이와 통신할 수 있는데, 이는 프로세서(211), 휘발성 메모리(212), 및 통신 인터페이스(213)를 포함할 수 있다. 프로세서(211)는 하나 이상의 중앙 처리 유닛들(CPU), 하나 이상의 범용 프로세서들, 하나 이상의 주문형 프로세서들, 하나 이상의 프로세서 코어들 등을 포함할 수 있다.
동적 1-티어 회로(240)는 메모리 매체(222)의 어레이 근처 및/또는 그 옆에, 메모리 요소(223)의 에지 및/또는 주연부에 또는 그것을 향해 배치될 수 있다. 대안으로, 동적 1-티어 회로는 메모리 매체(222)의 어레이와는 상이한 집적 회로 디바이스의 레벨, 층, 및/또는 평면 상에 배치될 수 있다(예컨대 어레이 아래의 CMOS 또는 기타 회로, 어레이와 평행하거나 그로부터 오프셋됨 등). 동적 1-티어 회로는, 예를 들어, 특정 티어의 셀들이 검증 레벨에 도달하였는지 자동으로 결정하는 단계, 검증 레벨에 도달하지 않은 셀들의 수가 수적 임계치 미만인지 자동으로 결정하는 단계를 포함하지만, 이에 한정되지 않는 본 명세서에 기술된 방법들의 동작들을 자동으로 수행할 수 있다.
도 13은 예시적인 실시예에 따른, 동적 1-티어 회로를 도시하는 블록도이다. 동적 1-티어 회로는 상태 변경/프로그래밍 회로(251), 식별 회로(252), 및 결정/카운팅 회로(253)를 포함한다. 상태 변경/프로그래밍 회로는 기재된 바와 같이 하나 이상의 프로그램 루프들 및/또는 하나 이상의 추가적인 프로그램 루프들을 실행 또는 전달하도록 구성된 임의의 회로일 수 있다. 예를 들어, 프로그래밍 회로(251)는 루프들(720, 730, 1020, 1030, 1040, 1050)에 포함되는 임의의 하나 이상의 동작들을 수행할 수 있고, 이는 도 8 및 도 11에 관련하여 본 명세서에 기재된 바와 같다.
결정/카운팅 회로(253)는 검증 레벨에 도달한 임의의 하나 이상의 티어들의 메모리 셀들의 총 개수를 카운트하고, 수적 임계치가 충족되었는지 결정하도록 구성된 임의의 회로일 수 있다. 예를 들어, 결정/카운팅 회로(253)는 동작들(704, 707, 1004, 1007, 1012, 1016) 중 임의의 하나 이상을 수행할 수 있으며, 이는 도 8 및 도 11에 관련하여 본 명세서에 기재된 바와 같다.
메모리 디바이스(220)는 컴퓨팅 디바이스(210)에 관련하여 임의의 하나 이상의 다양한 위치들에 배치될 수 있고, 하나 이상의 인쇄 회로 기판들, 저장 하우징들, 및/또는 기타 기계적 및/또는 전기 지지 구조물들 상에 배치되는 반도체 칩들 또는 패키지들 또는 기타 집적 회로 디바이스들과 같은, 하나 이상의 메모리 요소들(223)을 포함할 수 있다. 예를 들어, 메모리 디바이스(1120)는 하나 이상의 DIMM(direct inline memory module) 카드, 하나 이상의 확장 카드 및/또는 도터 카드, 메모리 카드, USB(universal serial bus) 드라이브, SSD(solid-state-drive) 또는 다른 하드 드라이브 디바이스를 포함할 수 있고/있거나, 다른 메모리 및/또는 저장소 폼 팩터를 가질 수 있다. 메모리 디바이스(220)는 컴퓨팅 디바이스(210)와 통합될 수 있고/있거나 컴퓨팅 디바이스(210)의 마더보드 상에 실장될 수 있거나, 컴퓨팅 디바이스(210)의 포트 및/또는 슬롯 내에 설치될 수 있거나, 상이한 컴퓨팅 디바이스(210) 및/또는 네트워크(215) 상의 전용 저장 어플라이언스 상에 설치될 수 있거나, 외부 버스(예컨대, 외부 하드 드라이브)를 통해 컴퓨팅 디바이스(110)와 통신할 수 있거나, 등등일 수 있다.
메모리 매체(222)의 요소(223)는 RAM(random - access memory), DRAM(dynamic RAM), SDRAM(synchronous DRAM), DDR(double data rate) SDRAM, SRAM(static RAM), T-RAM(thyristor RAM), Z-RAM(zero-capacitor RAM) 등과 같은 휘발성 메모리 매체(222)를 포함할 수 있다. 대안으로, 메모리 매체(222)의 요소(223)는 ReRAM, 멤리스터(Memristor) 메모리, 프로그램가능 금속화 셀 메모리, 상변화 메모리(PCM, PCME, PRAM, PCRAM, 오보닉(ovonic) 통합 메모리, 칼코겐화물 RAM, 또는 C-RAM), NAND 플래시 메모리(예컨대, 2D NAND 플래시 메모리, 3D NAND 플래시 메모리), NOR 플래시 메모리, 나노 RAM 또는 NRAM(nano random access memory), 나노결정 유선 기반 메모리, 실리콘 산화물 기반 10 나노미터 미만 프로세스 메모리, 그래핀(graphene) 메모리, 실리콘-산화물-질화물-산화물-실리콘(SONOS) 메모리, 프로그램가능 금속화 셀(PMC) 메모리, CBRAM(conductive-bridging RAM), MRAM(magneto-resistive RAM), 자기 저장 매체(예컨대, 하드 디스크, 테이프), 광학 저장 매체 등과 같은 비휘발성 메모리 매체(222)를 포함할 수 있다. 따라서, 메모리 디바이스(220)는, 예를 들어, 저장된 전압 레벨 또는 저장된 저항 레벨에 의존할 수 있다. 메모리 매체(222)의 하나 이상의 요소(223)는, 소정 실시예에서, SCM(storage class memory)을 포함한다.
메모리 디바이스(220)는 프로세서(211)의 메모리 버스 상에(예컨대, 휘발성 메모리(212)와 동일한 메모리 버스 상에, 휘발성 메모리(212)와는 상이한 메모리 버스 상에, 휘발성 메모리(212) 대신에, 등등으로) 배치될 수 있다. 대안으로, 메모리 디바이스(220)는 PCI Express 또는 PCIe(peripheral component interconnect express) 버스, SATA(serial Advanced Technology Attachment) 버스, PATA(parallel Advanced Technology Attachment) 버스, SCSI(small computer system interface) 버스, 파이어와이어 버스, 파이버 채널 접속부, USB(Universal Serial Bus), PCIe-AS(PCIe Advanced Switching) 버스 등과 같은 컴퓨팅 디바이스(210)의 주변기기용 버스 상에 배치될 수 있다. 대안으로, 메모리 디바이스(1120)는 이더넷 네트워크, 인피니밴드(Infiniband) 네트워크, 네트워크(215)를 통한 SCSI(Small Computer System Interface) RDMA(remote direct memory access), SAN(storage area network), LAN(local area network), WAN(wide area network), 예컨대 인터넷, 다른 유선 및/또는 무선 네트워크(215) 등과 같은 데이터 네트워크(215) 상에 배치될 수 있다.
컴퓨팅 디바이스(210)는 추가적으로 비일시적, 컴퓨터 판독가능 저장 매체(214)를 포함할 수 있다. 컴퓨터 판독가능 저장 매체(214)에는 실행가능한 명령어들이 저장될 수 있고, 이는 컴퓨팅 디바이스(210)(예컨대, 프로세서(211))로 하여금 본 명세서에 기술된 방법들의 하나 이상의 단계들을 수행하게 하도록 구성된다. 예를 들어, 동적 1-티어 회로(240)는 메모리 요소(223)의 하드웨어, 디바이스 드라이버의 컴퓨터 실행가능 프로그램 코드, 메모리 제어기(226)의 펌웨어 및/또는 메모리 요소(223)의 메모리 매체 제어기, 다른 전기 컴포넌트 등을 포함할 수 있다. 동적 1-티어 회로(240)는 메모리 요소(223)(예컨대, 온-다이 하위그룹 선택 회로(240) 및/또는 기타 집적 하드웨어) 상에 집적될 수 있다. 비휘발성 메모리 제어기(226)는 버스(227)를 통해 비휘발성 메모리 매체(222)에 통신가능하게 커플링될 수 있다.
메모리 디바이스(220)는 하나 이상의 메모리 디바이스들(220) 및/또는 메모리 요소들(223)을 관리하는 메모리 제어기(226)를 포함할 수 있고, 이 중 하나 이상은 온-다이 동적 1-티어 회로(240)를 포함할 수 있다. 메모리 디바이스(들)(220)는 복수의 어드레싱가능 매체 저장 위치에 배열되고/되거나 격납되는 솔리드 스테이트 저장 디바이스(들) 및/또는 반도체 저장 디바이스(들)와 같은 기록, 메모리 및/또는 저장 디바이스들을 포함할 수 있다. 본 명세서에서 사용되는 바와 같이, 매체 저장 위치는 메모리의 임의의 물리적 유닛(예컨대, 메모리 디바이스(220) 상의 임의의 수량의 물리적 저장 매체)을 지칭한다. 메모리 유닛 및/또는 영역은 하기를 포함할 수 있지만, 이들로 제한되지 않는다: 페이지, 메모리 분할, 블록, 섹터, 물리적 저장 위치들의 모음 또는 세트(예컨대, 로직 페이지, 로직 블록) 등.
본 명세서에 기재된 예시적인 실시예들은 설명적 감각에서만 고려될 수 있고, 제한의 목적이 아님을 이해할 수 있다. 각각의 예시적인 실시예 내의 특징부들 또는 양태들은 다른 예시적인 실시예들에서 다른 유사한 특징부들 또는 양태들에 이용가능한 것으로 고려될 수 있다.
예시적인 실시예들이 도면을 참조하여 기재되었지만, 하기 청구범위에 의해 정의되는 바와 같이 사상 및 범주를 벗어남이 없이 형태 및 상세 사항들에서의 다양한 변화들이 그 안에서 이루어질 수 있음이 통상의 기술자들에 의해 이해될 것이다.

Claims (12)

  1. 비휘발성 메모리 저장 시스템으로서,
    워드 라인에 결합된 메모리 셀 어레이 - 상기 메모리 셀 어레이는 복수의 별개의 하위-그룹들로 조직되는 복수의 메모리 셀들을 포함함 -; 및
    프로그래밍 회로 및 결정/카운팅 회로를 포함하는 동적 1-티어 회로 - 상기 동적 1-티어 회로는 프로그램 루프 및 추가적인 프로그램 루프를 실행하도록 구성됨 -를 포함하고,
    상기 프로그램 루프는:
    상기 프로그래밍 회로가 하나 이상의 프로그래밍 펄스들을 상기 워드 라인에 인가하고, 검증 전압을 상기 워드 라인에 인가하는 단계,
    상기 결정/카운팅 회로가 검증 레벨을 달성한 제1 메모리 셀들의 수를 카운팅하는 단계 - 상기 제1 메모리 셀들은 상기 복수의 하위-그룹들의 제1 하위-그룹 내에 있음 -, 및 상기 검증 레벨을 달성한 상기 제1 메모리 셀들의 수에 기초하여, 상기 제1 하위-그룹이 수적 임계치를 충족하는지 결정하는 단계,
    상기 제1 하위-그룹이 상기 수적 임계치를 충족하지 않는 경우, 상기 프로그래밍 회로가 상기 프로그래밍 펄스들의 전압을 증가시키고 상기 프로그램 루프를 반복하는 단계, 및
    상기 제1 하위-그룹이 수적 임계치를 충족하는 경우, 상기 동적 1-티어 회로가 상기 추가적인 프로그램 루프를 실행하는 단계를 포함하고,
    상기 추가적인 프로그램 루프는:
    상기 결정/카운팅 회로가 상기 검증 레벨을 달성한 제2 메모리 셀들의 수를 카운팅하는 단계 - 상기 제2 메모리 셀들은 상기 복수의 하위-그룹들의 제2 하위-그룹 내에 있음 -, 상기 검증 레벨을 달성한 상기 제2 메모리 셀들의 수에 기초하여, 상기 제2 하위-그룹이 상기 수적 임계치를 충족하는지 결정하는 단계, 및
    상기 제2 하위-그룹이 상기 수적 임계치를 충족하지 않는 경우, 상기 프로그래밍 회로가 상기 프로그래밍 펄스들의 상기 전압을 증가시키고, 상기 프로그래밍 펄스들 중 하나 이상을 상기 워드 라인에 인가하고, 상기 검증 전압을 상기 워드 라인에 인가하고, 상기 동적 1-티어 회로가 상기 추가적인 프로그램 루프르 반복하는 단계를 포함하는, 비휘발성 메모리 저장 시스템.
  2. 제1항에 있어서,
    상기 제1 하위-그룹의 상기 제1 메모리 셀들은 각각 트렌치에 인접하고,
    상기 제2 하위-그룹의 상기 제2 메모리 셀들은 상기 트렌치로부터 멀리 이격되어, 상기 제1 메모리 셀들이 상기 제2 메모리 셀들과 상기 트렌치 사이에 배치되도록 하는, 비휘발성 메모리 저장 시스템.
  3. 제1항에 있어서,
    상기 추가적인 프로그램 루프는 1차 추가적인 프로그램 루프이고, 상기 동적 1-티어 회로는 2차 추가적인 프로그램 루프 및 3차 추가적인 프로그램 루프를 실행하도록 추가로 구성되고;
    상기 제2 하위-그룹이 상기 수적 임계치를 충족하는 경우, 상기 동적 1-티어 회로는 상기 2차 추가적인 프로그램 루프를 실행하고;
    상기 2차 추가적인 프로그램 루프는:
    상기 결정/카운팅 회로가 상기 검증 레벨을 달성한 제3 메모리 셀들의 수를 카운팅하는 단계 - 상기 제3 메모리 셀들은 상기 복수의 하위-그룹들 중 제3 하위-그룹 내에 있음 -, 및 상기 검증 레벨을 달성한 상기 제3 메모리 셀들의 수에 기초하여, 상기 제3 하위-그룹이 상기 수적 임계치를 충족하는지 결정하는 단계; 및
    상기 제3 하위-그룹이 상기 수적 임계치를 충족하지 않는 경우, 상기 프로그래밍 회로가 상기 프로그래밍 펄스들의 상기 전압을 증가시키는 단계, 하나 이상의 프로그래밍 펄스들을 상기 워드 라인에 인가하는 단계, 및 상기 검증 전압을 상기 워드 라인에 인가하는 단계, 및 상기 동적 1-티어 회로가 상기 2차 추가적인 프로그램 루프를 반복하는 단계를 포함하고,
    상기 제3 하위-그룹이 상기 수적 임계치를 충족하는 경우, 상기 동적 1-티어 회로가 상기 3차 추가적인 프로그램 루프를 실행하는 단계;
    상기 3차 추가적인 프로그램 루프는:
    상기 프로그래밍 회로가 상기 검증 전압을 상기 워드 라인에 인가하는 단계;
    상기 결정/카운팅 회로가 상기 검증 레벨을 달성한 제4 메모리 셀들의 수를 카운팅하는 단계 - 상기 제4 메모리 셀들은 상기 복수의 하위-그룹들 중 제4 하위-그룹 내에 있음 -, 및 상기 검증 레벨을 달성한 상기 제4 메모리 셀들의 수에 기초하여, 상기 제4 하위-그룹이 상기 수적 임계치를 충족하는지 결정하는 단계; 및
    상기 제4 하위-그룹이 상기 수적 임계치를 충족하지 않는 경우, 상기 프로그래밍 회로가 상기 프로그래밍 펄스들의 상기 전압을 증가시키는 단계, 하나 이상의 프로그래밍 펄스들을 상기 워드 라인에 인가하는 단계, 및 상기 검증 전압을 상기 워드 라인에 인가하는 단계, 및 상기 동적 1-티어 회로가 상기 3차 추가적인 프로그램 루프를 반복하는 단계를 포함하는, 비휘발성 메모리 저장 시스템.
  4. 제3항에 있어서,
    상기 제1 하위-그룹의 상기 제1 메모리 셀들은 각각 트렌치에 인접하고,
    상기 제2 하위-그룹의 상기 제2 메모리 셀들은 상기 트렌치로부터 멀리 이격되어, 상기 제1 메모리 셀들이 상기 제2 메모리 셀들과 상기 트렌치 사이에 배치되고,
    상기 제3 하위-그룹들의 상기 제3 메모리 셀들은 상기 제1 메모리 셀들에 인접하고, 상기 제1 메모리 셀들과 상기 제2 메모리 셀들 사이에 배치되고,
    상기 제4 하위-그룹의 상기 제4 메모리 셀들은 상기 제2 메모리 셀들에 인접하고 상기 제3 메모리 셀들과 상기 제2 메모리 셀들 사이에 배치되는, 비휘발성 메모리 저장 시스템.
  5. 메모리 프로그래밍 방법으로서,
    프로그램 루프를 실행하는 단계를 포함하고, 상기 프로그램 루프를 실행하는 단계는:
    복수의 별개의 하위-그룹들로 조직된 복수의 메모리 셀들을 포함하는 메모리 셀 어레이에 결합된 워드 라인에 하나 이상의 프로그래밍 펄스들을 인가하는 단계,
    상기 워드 라인에 검증 전압을 인가하는 단계,
    검증 레벨을 달성한 제1 메모리 셀들의 수를 카운팅하는 단계 - 상기 제1 메모리 셀들은 상기 복수의 하위-그룹들 중 제1 하위-그룹 내에 있음 -,
    상기 검증 레벨을 달성한 상기 제1 메모리 셀들의 수에 기초하여, 상기 제1 하위-그룹이 수적 임계치를 충족하는지 결정하는 단계,
    상기 제1 하위-그룹이 상기 수적 임계치를 충족하지 않는 경우, 상기 프로그래밍 펄스의 전압을 증가시키고, 상기 프로그램 루프를 반복하는 단계, 및
    상기 수적 임계치가 충족되는 경우, 추가적인 프로그램 루프를 실행하는 단계를 포함하고,
    상기 추가적인 프로그램 루프는:
    상기 검증 레벨을 달성한 제2 메모리 셀들의 수를 카운팅하는 단계 - 상기 제2 메모리 셀들은 상기 복수의 하위-그룹들 중 제2 하위-그룹 내에 있음 -,
    상기 검증 레벨을 달성한 상기 제2 메모리 셀들의 수에 기초하여, 상기 제2 하위-그룹이 상기 수적 임계치를 충족하는지 결정하는 단계; 및
    상기 제2 하위-그룹이 상기 수적 임계치를 충족하지 않는 경우, 상기 프로그래밍 펄스들의 상기 전압을 증가시키고, 상기 프로그래밍 펄스들 중 하나 이상을 상기 워드 라인에 인가하고, 상기 검증 전압을 상기 워드 라인에 인가하고, 상기 추가적인 프로그램 루프를 반복하는 단계를 포함하는, 방법.
  6. 제5항에 있어서,
    상기 제1 하위-그룹의 상기 제1 메모리 셀들은 각각 트렌치에 인접하고,
    상기 제2 하위-그룹의 상기 제2 메모리 셀들은 상기 트렌치로부터 멀리 이격되어, 상기 제1 메모리 셀들이 상기 제2 메모리 셀들과 상기 트렌치 사이에 배치되도록 하는, 방법.
  7. 제5항에 있어서, 상기 추가적인 프로그램 루프는 1차 추가적인 프로그램 루프이고, 상기 방법은:
    상기 제2 하위-그룹이 상기 수적 임계치를 충족하는 경우, 2차 추가적인 프로그램 루프를 실행하는 단계를 추가로 포함하고,
    상기 2차 추가적인 프로그램 루프는:
    상기 검증 레벨을 달성한 제3 메모리 셀들의 수를 카운팅하는 단계 - 상기 제3 메모리 셀들은 상기 복수의 하위-그룹들 중 제3 하위-그룹 내에 있음 -,
    상기 검증 레벨을 달성한 상기 제3 메모리 셀들의 수에 기초하여, 상기 제3 하위-그룹이 상기 수적 임계치를 충족하는지 결정하는 단계,
    상기 제3 하위-그룹이 상기 수적 임계치를 충족하지 않는 경우, 상기 프로그래밍 펄스들의 상기 전압을 증가시키고, 상기 프로그래밍 펄스들 중 하나 이상을 상기 워드 라인에 인가하고, 상기 검증 전압을 상기 워드 라인에 인가하고, 상기 2차 추가적인 프로그램 루프를 반복하는 단계, 및
    상기 제2 하위-그룹이 상기 수적 임계치를 충족하는 경우, 3차 추가적인 프로그램 루프를 실행하는 단계를 추가로 포함하고,
    상기 3차 추가적인 프로그램 루프는:
    상기 검증 레벨을 달성한 제4 메모리 셀들의 수를 카운팅하는 단계 - 상기 제4 메모리 셀들은 상기 복수의 하위-그룹들 중 제4 하위-그룹 내에 있음 -,
    상기 검증 레벨을 달성한 상기 제4 메모리 셀들의 수에 기초하여, 상기 제4 하위-그룹이 상기 수적 임계치를 충족하는지 결정하는 단계, 및
    상기 제4 하위-그룹이 상기 수적 임계치를 충족하지 않는 경우, 상기 프로그래밍 펄스들의 상기 전압을 증가시키고, 상기 프로그래밍 펄스들 중 하나 이상을 상기 워드 라인에 인가하고, 상기 검증 전압을 상기 워드 라인에 인가하고, 상기 3차 추가적인 프로그램 루프를 반복하는 단계를 포함하는, 방법.
  8. 제7항에 있어서,
    상기 제1 하위-그룹의 상기 제1 메모리 셀들은 각각 트렌치에 인접하고,
    상기 제2 하위-그룹의 상기 제2 메모리 셀들은 상기 트렌치로부터 멀리 이격되어, 상기 제1 메모리 셀들이 상기 제2 메모리 셀들과 상기 트렌치 사이에 배치되고,
    상기 제3 하위-그룹들의 상기 제3 메모리 셀들은 상기 제1 메모리 셀들에 인접하고, 상기 제1 메모리 셀들과 상기 제2 메모리 셀들 사이에 배치되고,
    상기 제4 하위-그룹의 상기 제4 메모리 셀들은 상기 제2 메모리 셀들에 인접하고 상기 제3 메모리 셀들과 상기 제2 메모리 셀들 사이에 배치되는, 방법.
  9. 프로세서에 의해 실행 시, 상기 프로세서로 하여금 방법을 실행하게 하는 프로그램이 기록된 비휘발성 컴퓨터-판독가능 매체로서, 상기 방법은:
    프로그램 루프를 실행하는 단계를 포함하고, 상기 프로그램 루프를 실행하는 단계는:
    복수의 별개의 하위-그룹들로 조직된 복수의 메모리 셀들을 포함하는 메모리 셀 어레이에 결합된 워드 라인에 하나 이상의 프로그래밍 펄스들을 인가하는 단계,
    상기 워드 라인에 검증 전압을 인가하는 단계,
    검증 레벨을 달성한 제1 메모리 셀들의 수를 카운팅하는 단계 - 상기 제1 메모리 셀들은 상기 복수의 하위-그룹들 중 제1 하위-그룹 내에 있음 -,
    상기 검증 레벨을 달성한 상기 제1 메모리 셀들의 수에 기초하여, 상기 제1 하위-그룹이 수적 임계치를 충족하는지 결정하는 단계,
    상기 제1 하위-그룹이 상기 수적 임계치를 충족하지 않는 경우, 상기 프로그래밍 펄스의 전압을 증가시키고, 상기 프로그램 루프를 반복하는 단계, 및
    상기 수적 임계치가 충족되는 경우, 추가적인 프로그램 루프를 실행하는 단계를 포함하고,
    상기 추가적인 프로그램 루프는:
    상기 검증 전압을 상기 워드 라인에 인가하는 단계,
    상기 검증 레벨을 달성한 제2 메모리 셀들의 수를 카운팅하는 단계 - 상기 제2 메모리 셀들은 상기 복수의 하위-그룹들 중 제2 하위-그룹 내에 있음 -,
    상기 검증 레벨을 달성한 상기 제2 메모리 셀들의 수에 기초하여, 상기 제2 하위-그룹이 상기 수적 임계치를 충족하는지 결정하는 단계, 및
    상기 제2 하위-그룹이 상기 수적 임계치를 충족하지 않는 경우, 상기 프로그래밍 펄스들의 상기 전압을 증가시키고, 상기 프로그래밍 펄스들 중 하나 이상을 상기 워드 라인에 인가하고, 상기 검증 전압을 상기 워드 라인에 인가하고, 상기 추가적인 프로그램 루프를 반복하는 단계를 포함하는, 비휘발성 컴퓨터-판독가능 매체.
  10. 제9항에 있어서,
    상기 제1 하위-그룹의 상기 제1 메모리 셀들은 각각 트렌치에 인접하고,
    상기 제2 하위-그룹의 상기 제2 메모리 셀들은 상기 트렌치로부터 멀리 이격되어, 상기 제1 메모리 셀들이 상기 제2 메모리 셀들과 상기 트렌치 사이에 배치되도록 하는, 비휘발성 컴퓨터-판독가능 매체.
  11. 제9항에 있어서, 상기 추가적인 프로그램 루프는 1차 추가적인 프로그램 루프이고, 상기 방법은:
    상기 제2 하위-그룹이 상기 수적 임계치를 충족하는 경우, 2차 추가적인 프로그램 루프를 실행하는 단계를 추가로 포함하고,
    상기 2차 추가적인 프로그램 루프는:
    상기 검증 전압을 상기 워드 라인에 인가하는 단계,
    상기 검증 레벨을 달성한 제3 메모리 셀들의 수를 카운팅하는 단계 - 상기 제3 메모리 셀들은 상기 복수의 하위-그룹들 중 제3 하위-그룹 내에 있음 -,
    상기 검증 레벨을 달성한 상기 제3 메모리 셀들의 수에 기초하여, 상기 제3 하위-그룹이 상기 수적 임계치를 충족하는지 결정하는 단계,
    상기 제3 하위-그룹이 상기 수적 임계치를 충족하지 않는 경우, 상기 프로그래밍 펄스들의 상기 전압을 증가시키고, 상기 프로그래밍 펄스들 중 하나 이상을 상기 워드 라인에 인가하고, 상기 검증 전압을 상기 워드 라인에 인가하고, 상기 2차 추가적인 프로그램 루프를 반복하는 단계, 및
    상기 제2 하위-그룹이 상기 수적 임계치를 충족하는 경우, 3차 추가적인 프로그램 루프를 실행하는 단계를 추가로 포함하고,
    상기 3차 추가적인 프로그램 루프는:
    상기 검증 전압을 상기 워드 라인에 인가하는 단계,
    상기 검증 레벨을 달성한 제4 메모리 셀들의 수를 카운팅하는 단계 - 상기 제4 메모리 셀들은 상기 복수의 하위-그룹들 중 제4 하위-그룹 내에 있음 -,
    상기 검증 레벨을 달성한 상기 제4 메모리 셀들의 수에 기초하여, 상기 제4 하위-그룹이 상기 수적 임계치를 충족하는지 결정하는 단계, 및
    상기 제4 하위-그룹이 상기 수적 임계치를 충족하지 않는 경우, 상기 프로그래밍 펄스들의 상기 전압을 증가시키고, 상기 프로그래밍 펄스들 중 하나 이상을 상기 워드 라인에 인가하고, 상기 검증 전압을 상기 워드 라인에 인가하고, 상기 3차 추가적인 프로그램 루프를 반복하는 단계를 포함하는, 비휘발성 컴퓨터-판독가능 매체.
  12. 제11항에 있어서,
    상기 제1 하위-그룹의 상기 제1 메모리 셀들은 각각 트렌치에 인접하고,
    상기 제2 하위-그룹의 상기 제2 메모리 셀들은 상기 트렌치로부터 멀리 이격되어, 상기 제1 메모리 셀들이 상기 제2 메모리 셀들과 상기 트렌치 사이에 배치되고,
    상기 제3 하위-그룹들의 상기 제3 메모리 셀들은 상기 제1 메모리 셀들에 인접하고, 상기 제1 메모리 셀들과 상기 제2 메모리 셀들 사이에 배치되고,
    상기 제4 하위-그룹의 상기 제4 메모리 셀들은 상기 제2 메모리 셀들에 인접하고 상기 제3 메모리 셀들과 상기 제2 메모리 셀들 사이에 배치되는, 비휘발성 컴퓨터-판독가능 매체.
KR1020200034233A 2019-06-04 2020-03-20 고성능 3d nand를 위한 동적 1-티어 스캔 KR102250456B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/430,851 2019-06-04
US16/430,851 US10714198B1 (en) 2019-06-04 2019-06-04 Dynamic 1-tier scan for high performance 3D NAND

Publications (2)

Publication Number Publication Date
KR20200139622A KR20200139622A (ko) 2020-12-14
KR102250456B1 true KR102250456B1 (ko) 2021-05-11

Family

ID=71519964

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200034233A KR102250456B1 (ko) 2019-06-04 2020-03-20 고성능 3d nand를 위한 동적 1-티어 스캔

Country Status (5)

Country Link
US (2) US10714198B1 (ko)
JP (1) JP6784860B1 (ko)
KR (1) KR102250456B1 (ko)
CN (1) CN112037840A (ko)
DE (1) DE102020107164A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022050059A (ja) * 2020-09-17 2022-03-30 キオクシア株式会社 磁気記憶装置及びメモリシステム
KR20230098664A (ko) * 2021-06-30 2023-07-04 양쯔 메모리 테크놀로지스 씨오., 엘티디. 3차원 nand 메모리를 위한 데이터 보호
CN114882928A (zh) * 2022-04-12 2022-08-09 长江存储科技有限责任公司 一种存储器装置、存储器系统及编程操作方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7342830B1 (en) * 2006-01-17 2008-03-11 Spansion Llc Program and program verify operations for flash memory
US8885407B1 (en) * 2010-01-19 2014-11-11 Perumal Ratnam Vertical memory cells and methods, architectures and devices for the same
KR101691088B1 (ko) * 2010-02-17 2016-12-29 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
US8982626B2 (en) * 2013-06-05 2015-03-17 Sandisk Technologies Inc. Program and read operations for 3D non-volatile memory based on memory hole diameter
US9218874B1 (en) * 2014-08-11 2015-12-22 Sandisk Technologies Inc. Multi-pulse programming cycle of non-volatile memory for enhanced de-trapping
KR102397394B1 (ko) * 2015-11-05 2022-05-12 삼성전자주식회사 비휘발성 메모리 장치의 동작 방법
KR102473167B1 (ko) * 2015-12-18 2022-12-02 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
JP2017168156A (ja) * 2016-03-14 2017-09-21 東芝メモリ株式会社 半導体記憶装置
US9721672B1 (en) * 2016-04-15 2017-08-01 Sandisk Technologies Llc Multi-die programming with die-jumping induced periodic delays
KR102497212B1 (ko) * 2018-02-26 2023-02-07 삼성전자 주식회사 비휘발성 메모리 장치 및 이의 동작 방법

Also Published As

Publication number Publication date
JP2020198144A (ja) 2020-12-10
CN112037840A (zh) 2020-12-04
KR20200139622A (ko) 2020-12-14
JP6784860B1 (ja) 2020-11-11
DE102020107164A1 (de) 2020-12-10
US10714198B1 (en) 2020-07-14
US20200388343A1 (en) 2020-12-10

Similar Documents

Publication Publication Date Title
CN111386571B (zh) 具有多平面混合子块编程的非易失性存储器
CN107492391B (zh) 基于单元电流的位线电压
US10553298B1 (en) Non-volatile memory with countermeasure for select gate disturb
KR102250456B1 (ko) 고성능 3d nand를 위한 동적 1-티어 스캔
CN109872761B (zh) 用于提高数据可靠性的非易失性存储器件及其操作方法
CN111406290B (zh) 用于校验的子组选择
CN113196400B (zh) 用于3d nand的源极侧编程、方法和装置
KR102580527B1 (ko) 3d nand를 위한 부분 페이지 감지 모드, 방법 및 장치
US11250917B2 (en) Dynamic bit line voltage and sensing time enhanced read for data recovery
US20220375524A1 (en) Periodic write to improve data retention
US20220383963A1 (en) Sequential wordline erase verify schemes
US11972817B2 (en) State look ahead quick pass write algorithm to tighten ongoing natural threshold voltage of upcoming states for program time reduction
US11854611B2 (en) Aggressive quick-pass multiphase programming for voltage distribution state separation in non-volatile memory
US11315648B2 (en) Dynamic tier selection for program verify in nonvolatile memory
US20230197164A1 (en) Bias voltage schemes during pre-programming and programming phases
US20230307055A1 (en) Concurrent slow-fast memory cell programming
US20240071430A1 (en) Creating dynamic latches above a three-dimensional non-volatile memory array
US20230112381A1 (en) Using non-segregated cells as drain-side select gates for sub-blocks in a memory device
US20240177788A1 (en) Adaptive erase voltages for non-volatile memory
CN115732001A (zh) 存储器子系统中的使用提前高速缓存寄存器释放的快速编程
CN115775581A (zh) 存储器装置中的联合单层级单元验证

Legal Events

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