KR20150106956A - 비휘발성 메모리 프로그램 알고리즘 디바이스 및 방법 - Google Patents

비휘발성 메모리 프로그램 알고리즘 디바이스 및 방법 Download PDF

Info

Publication number
KR20150106956A
KR20150106956A KR1020157021973A KR20157021973A KR20150106956A KR 20150106956 A KR20150106956 A KR 20150106956A KR 1020157021973 A KR1020157021973 A KR 1020157021973A KR 20157021973 A KR20157021973 A KR 20157021973A KR 20150106956 A KR20150106956 A KR 20150106956A
Authority
KR
South Korea
Prior art keywords
threshold
memory cell
programming voltages
memory cells
applying
Prior art date
Application number
KR1020157021973A
Other languages
English (en)
Other versions
KR101716998B1 (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 KR20150106956A publication Critical patent/KR20150106956A/ko
Application granted granted Critical
Publication of KR101716998B1 publication Critical patent/KR101716998B1/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/3468Prevention of overerasure or overprogramming, e.g. by verifying whilst erasing or writing
    • G11C16/3486Circuits or methods to prevent overprogramming of nonvolatile memory cells, e.g. by detecting onset or cessation of current flow in cells and using the detector output to terminate programming
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/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/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0408Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors
    • G11C16/0441Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors comprising cells containing multiple floating gate devices, e.g. separate read-and-write FAMOS transistors with connected floating gates
    • 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
    • G11C16/12Programming voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • Semiconductor Memories (AREA)
  • Non-Volatile Memory (AREA)

Abstract

원하는 프로그래밍 상태가 달성될 때까지, 판독 전류의 레벨을 판정하도록 인터리빙된(interleaved) 판독 동작들로 프로그램 전압들의 반복 펄스들을 이용하여 셀들을 프로그래밍하기 위한 비휘발성 메모리 디바이스 및 방법. 각각의 연속적인 프로그램 펄스는 이전의 펄스에 대해 소정 스텝 값만큼 증가되는 하나 이상의 프로그램 전압들을 갖는다. 단일 레벨 셀 타입의 경우, 각각의 셀은 제1 판독 전류 임계치에 도달한 후에 프로그래밍 펄스들로부터 개별적으로 제거되고, 스텝 값은 그 후에 하나 이상의 키커 펄스들에 대해 증가된다. 다중 레벨 셀 타입의 경우, 스텝 값은 셀들 중 하나가 제1 판독 전류 임계치에 도달한 후에 강하하고, 일부 셀들은 제2 판독 전류 임계치에 도달한 후에 프로그래밍 펄스들로부터 개별적으로 제거되는 한편, 다른 셀들은 제3 판독 전류 임계치에 도달한 후에 프로그래밍 펄스들로부터 개별적으로 제거된다.

Description

비휘발성 메모리 프로그램 알고리즘 디바이스 및 방법{NON-VOLATILE MEMORY PROGRAM ALGORITHM DEVICE AND METHOD}
관련 출원
본 출원은 2013년 3월 14일자로 출원되었고 본 명세서에 참고로 포함되는 미국 가출원 제61/785,485호의 이익을 주장한다.
본 발명은 비휘발성 메모리 셀들의 프로그래밍에 관한 것이다.
통상적으로, 비휘발성 메모리 셀은 기판 위에 배치되면서 그로부터 절연되는 플로팅 게이트를 포함한다. 프로그래밍 동안, 선택된 메모리 셀은 효율적인 열 전자 주입을 통해 프로그래밍되는데, 여기서 기판을 따라서 이동하는 전자들은 플로팅 게이트 상으로 주입되어 플로팅 게이트에 네거티브 전하를 부여한다. 이는 프로그래밍 상태로 간주된다. 소거 동안, 선택된 셀은 파울러 노드하임(Fowler-Nordheim) 메커니즘을 통해 전자들이 플로팅 게이트를 터널링하여 빠져나오게 함으로써 소거된다. 이는 소거 상태로 간주된다. 판독 동안, 전류가 플로팅 게이트 아래의 기판 표면을 따라서 흐르도록 하는 컨디션(condition)들이 생성된다. 플로팅 게이트가 전자들로 프로그래밍된 경우, 그것은 그러한 전류 흐름을 감소시키거나 방지할 것이며, 이는 프로그래밍 상태로서 감지된다. 플로팅 게이트가 전자들로 프로그래밍되지 않는 경우, 그것은 그러한 전류 흐름을 허용할 것이며, 이는 소거 상태로서 감지된다.
비휘발성 메모리(NVM) 셀 동작에서, 모든 주변 컨디션들 하에서 모든 셀들에 대해 고정 프로그램 컨디션들이 이용되는데, 그 이유는 그들이 설계 간소성(simplicity)을 제공하기 때문이다. 그러나 그러한 프로그램 컨디션들은 셀-투-셀 편차(cell-to-cell variation), 프로세스 편차, 온도 편차, 전력 공급 범위, 메모리 디바이스 수명 동안의 셀 특성 변화 등을 수용하도록 내장된 넓은 동작 마진을 포함한다. 그 결과, 대부분의 동작 컨디션들 하의 대부분의 메모리 셀들은 프로그램 동작 동안에 과부하(overstress)를 받는다. 그러한 과부하는 내구성 및 데이터 잔존율(data retention)과 관련하여 디바이스 수명을 단축시킨다.
오버프로그래밍 없이 그리고 그에 따른 불필요한 메모리 셀 부하 없이 메모리 셀들을 신뢰성있게 프로그래밍하고, 셀-투-셀 편차 및 다른 프로그래밍 편차를 고려하는 프로그래밍 기술이 필요하다.
메모리 셀들을 갖는 메모리 디바이스를 프로그래밍하는 방법으로서, 메모리 셀들 각각은 반도체 기판에서 채널 영역을 사이에 두는 소스 및 드레인 영역들, 채널 영역의 적어도 일부분 위에 배치되고 그의 전도성에 영향을 주는 플로팅 게이트, 및 플로팅 게이트 및 기판으로부터 절연되는 하나 이상의 추가적인 전도성 게이트들을 포함하고, 각각의 메모리 셀은 프로그래밍 전압들을 소스 영역 및 하나 이상의 추가적인 전도성 게이트들에 인가하여 드레인 영역으로부터 기인하는 전자들이 플로팅 게이트 상으로 주입되게 함으로써 프로그래밍가능하고, 각각의 메모리 셀의 프로그램 상태는 소스 영역과 드레인 영역 사이에 전압 차를 인가하여 채널 영역 내의 판독 전류를 측정함으로써 판독가능하다. 상기 방법은,
1) 프로그래밍 전압들의 펄스를 복수의 메모리 셀들에 대한 소스 영역들 및 하나 이상의 전도성 게이트들에 인가하는 단계,
2) 복수의 메모리 셀들의 프로그램 상태들을 판독하는 단계, 및
3) 복수의 메모리 셀들 중 적어도 하나가 제1 임계 값에 도달하는 판독 전류를 단계 2)에서 나타낼 때까지 단계 1) 및 단계 2)를 반복하는 단계 - 단계 1) 및 단계 2)를 반복하는 단계는 단계 1)이 반복될 때마다 단계 1)의 프로그래밍 전압들 중 적어도 하나를 제1 스텝 값만큼 증가시키는 단계를 포함함 -;
제1 임계 값에 도달한 후, 복수의 메모리 셀들의 제1 서브세트 각각에 대해:
4) 프로그래밍 전압들의 펄스를 메모리 셀의 소스 영역 및 하나 이상의 전도성 게이트들에 인가하는 단계,
5) 메모리 셀의 프로그램 상태를 판독하는 단계, 및
6) 메모리 셀이 제1 임계 값과는 상이한 제2 임계 값에 도달하는 판독 전류를 단계 5)에서 나타낼 때까지 단계 4) 및 단계 5)를 반복하는 단계 - 단계 4) 및 단계 5)를 반복하는 단계는 단계 4)가 반복될 때마다 단계 4)의 프로그래밍 전압들 중 적어도 하나를 제1 스텝 값보다 적은 제2 스텝 값만큼 증가시키는 단계를 포함함 -; 및
제1 임계 값에 도달한 후, 복수의 메모리 셀들의 제2 서브세트 각각에 대해:
7) 프로그래밍 전압들의 펄스를 메모리 셀의 소스 영역 및 하나 이상의 전도성 게이트들에 인가하는 단계,
8) 메모리 셀의 프로그램 상태를 판독하는 단계, 및
9) 메모리 셀이 제1 및 제2 임계 값과는 상이한 제3 임계 값에 도달하는 판독 전류를 단계 8)에서 나타낼 때까지 단계 7) 및 단계 8)을 반복하는 단계 - 단계 7) 및 단계 8)을 반복하는 단계는 단계 7)이 반복될 때마다 단계 7)의 프로그래밍 전압들 중 적어도 하나를 제1 스텝 값보다 적은 제3 스텝 값만큼 증가시키는 단계를 포함함 - 를 포함한다.
메모리 셀들을 갖는 메모리 디바이스를 프로그래밍하는 방법으로서, 메모리 셀들 각각은 반도체 기판에서 채널 영역을 사이에 두는 소스 및 드레인 영역들, 채널 영역의 적어도 일부분 위에 배치되고 그의 전도성에 영향을 주는 플로팅 게이트, 및 플로팅 게이트 및 기판으로부터 절연되는 하나 이상의 추가적인 전도성 게이트들을 포함하고, 각각의 메모리 셀은 프로그래밍 전압들을 소스 영역 및 하나 이상의 추가적인 전도성 게이트들에 인가하여 드레인 영역으로부터 기인하는 전자들이 플로팅 게이트 상으로 주입되게 함으로써 프로그래밍가능하고, 각각의 메모리 셀의 프로그램 상태는 소스 영역과 드레인 영역 사이에 전압 차를 인가하여 채널 영역 내의 판독 전류를 측정함으로써 판독가능하다. 상기 방법은,
복수의 메모리 셀들의 제1 서브세트 각각에 대해:
1) 프로그래밍 전압들의 펄스를 메모리 셀의 소스 영역 및 하나 이상의 전도성 게이트들에 인가하는 단계,
2) 메모리 셀의 프로그램 상태를 판독하는 단계, 및
3) 메모리 셀이 제1 임계 값에 도달하는 판독 전류를 단계 2)에서 나타낼 때까지 단계 1) 및 단계 2)를 반복하는 단계 - 단계 1) 및 단계 2)를 반복하는 단계는 단계 1)이 반복될 때마다 단계 1)의 프로그래밍 전압들 중 적어도 하나를 제1 스텝 값만큼 증가시키는 단계를 포함함 -; 및
복수의 메모리 셀들의 제2 서브세트 각각에 대해:
4) 프로그래밍 전압들의 펄스를 메모리 셀의 소스 영역 및 하나 이상의 전도성 게이트들에 인가하는 단계,
5) 메모리 셀의 프로그램 상태를 판독하는 단계, 및
6) 메모리 셀이 제1 임계 값과는 상이한 제2 임계 값에 도달하는 판독 전류를 단계 5)에서 나타낼 때까지 단계 4) 및 단계 5)를 반복하는 단계 - 단계 4) 및 단계 5)를 반복하는 단계는 단계 4)가 반복될 때마다 단계 4)의 프로그래밍 전압들 중 적어도 하나를 제2 스텝 값만큼 증가시키는 단계를 포함함 - 를 포함한다.
메모리 셀들을 갖는 메모리 디바이스를 프로그래밍하는 방법으로서, 메모리 셀들 각각은 반도체 기판에서 채널 영역을 사이에 두는 소스 및 드레인 영역들, 채널 영역의 적어도 일부분 위에 배치되고 그의 전도성에 영향을 주는 플로팅 게이트, 및 플로팅 게이트 및 기판으로부터 절연되는 하나 이상의 추가적인 전도성 게이트들을 포함하고, 각각의 메모리 셀은 프로그래밍 전압들을 소스 영역 및 하나 이상의 추가적인 전도성 게이트들에 인가하여 드레인 영역으로부터 기인하는 전자들이 플로팅 게이트 상으로 주입되게 함으로써 프로그래밍가능하고, 각각의 메모리 셀의 프로그램 상태는 소스 영역과 드레인 영역 사이에 전압 차를 인가하여 채널 영역 내의 판독 전류를 측정함으로써 판독가능하다. 상기 방법은,
복수의 메모리 셀들 각각에 대해:
1) 프로그래밍 전압들의 펄스를 메모리 셀의 소스 영역 및 하나 이상의 전도성 게이트들에 인가하는 단계,
2) 메모리 셀의 프로그램 상태를 판독하는 단계, 및
3) 메모리 셀이 제1 임계 값에 도달하는 판독 전류를 단계 2)에서 나타낼 때까지 단계 1) 및 단계 2)를 반복하는 단계 - 단계 1) 및 단계 2)를 반복하는 단계는 단계 1)이 반복될 때마다 단계 1)의 프로그래밍 전압들 중 적어도 하나를 제1 스텝 값만큼 증가시키는 단계를 포함함 -; 및
복수의 메모리 셀들 전체에 대해 제1 임계 값에 도달한 후, 프로그래밍 전압들의 키커 펄스(kicker pulse)를 복수의 메모리 셀들 전체에 대한 소스 영역들 및 하나 이상의 전도성 게이트들에 인가하는 단계 - 키커 펄스를 인가하는 단계는 프로그래밍 전압들 중 적어도 하나를 단계 1) 내지 단계 3)에서 인가되는 프로그래밍 전압들에 대해 제2 스텝 값만큼 증가시키는 단계를 포함함 - 를 포함한다.
메모리 디바이스는 메모리 셀들(메모리 셀들 각각은 반도체 기판에서 채널 영역을 사이에 두는 소스 및 드레인 영역들, 채널 영역의 적어도 일부분 위에 배치되고 그의 전도성에 영향을 주는 플로팅 게이트, 및 플로팅 게이트 및 기판으로부터 절연되는 하나 이상의 추가적인 전도성 게이트들을 포함하고, 각각의 메모리 셀은 프로그래밍 전압들을 소스 영역 및 하나 이상의 추가적인 전도성 게이트들에 인가하여 드레인 영역으로부터 기인하는 전자들이 플로팅 게이트 상으로 주입되게 함으로써 프로그래밍가능하도록 구성되고, 각각의 메모리 셀의 프로그램 상태는 소스 영역과 드레인 영역 사이에 전압 차를 인가하여 채널 영역 내의 판독 전류를 측정함으로써 판독가능함), 및 제어 회로를 가지며:
1) 프로그래밍 전압들의 펄스를 복수의 메모리 셀들에 대한 소스 영역들 및 하나 이상의 전도성 게이트들에 인가하고,
2) 복수의 메모리 셀들의 프로그램 상태들을 판독하고, 그리고
3) 복수의 메모리 셀들 중 적어도 하나가 제1 임계 값에 도달하는 판독 전류를 단계 2)에서 나타낼 때까지 단계 1) 및 단계 2)를 반복하고 - 단계 1) 및 단계 2)의 반복은 단계 1)이 반복될 때마다 단계 1)의 프로그래밍 전압들 중 적어도 하나를 제1 스텝 값만큼 증가시키는 것을 포함함 -;
제1 임계 값에 도달한 후, 복수의 메모리 셀들의 제1 서브세트 각각에 대해:
4) 프로그래밍 전압들의 펄스를 메모리 셀의 소스 영역 및 하나 이상의 전도성 게이트들에 인가하고,
5) 메모리 셀의 프로그램 상태를 판독하고, 그리고
6) 메모리 셀이 제1 임계 값과는 상이한 제2 임계 값에 도달하는 판독 전류를 단계 5)에서 나타낼 때까지 단계 4) 및 단계 5)를 반복하고 - 단계 4) 및 단계 5)의 반복은 단계 4)가 반복될 때마다 단계 4)의 프로그래밍 전압들 중 적어도 하나를 제1 스텝 값보다 적은 제2 스텝 값만큼 증가시키는 것을 포함함 -; 그리고
제1 임계 값에 도달한 후, 복수의 메모리 셀들의 제2 서브세트 각각에 대해:
7) 프로그래밍 전압들의 펄스를 메모리 셀의 소스 영역 및 하나 이상의 전도성 게이트들에 인가하고,
8) 메모리 셀의 프로그램 상태를 판독하고, 그리고
9) 메모리 셀이 제1 및 제2 임계 값과는 상이한 제3 임계 값에 도달하는 판독 전류를 단계 8)에서 나타낼 때까지 단계 7) 및 단계 8)을 반복하도록 - 단계 7) 및 단계 8)의 반복은 단계 7)이 반복될 때마다 단계 7)의 프로그래밍 전압들 중 적어도 하나를 제1 스텝 값보다 적은 제3 스텝 값만큼 증가시키는 것을 포함함 - 구성된다.
메모리 디바이스는 메모리 셀들(메모리 셀들 각각은 반도체 기판에서 채널 영역을 사이에 두는 소스 및 드레인 영역들, 채널 영역의 적어도 일부분 위에 배치되고 그의 전도성에 영향을 주는 플로팅 게이트, 및 플로팅 게이트 및 기판으로부터 절연되는 하나 이상의 추가적인 전도성 게이트들을 포함하고, 각각의 메모리 셀은 프로그래밍 전압들을 소스 영역 및 하나 이상의 추가적인 전도성 게이트들에 인가하여 드레인 영역으로부터 기인하는 전자들이 플로팅 게이트 상으로 주입되게 함으로써 프로그래밍가능하도록 구성되고, 각각의 메모리 셀의 프로그램 상태는 소스 영역과 드레인 영역 사이에 전압 차를 인가하여 채널 영역 내의 판독 전류를 측정함으로써 판독가능함), 및 제어 회로를 가지며:
복수의 메모리 셀들의 제1 서브세트 각각에 대해:
1) 프로그래밍 전압들의 펄스를 메모리 셀의 소스 영역 및 하나 이상의 전도성 게이트들에 인가하고,
2) 메모리 셀의 프로그램 상태를 판독하고, 그리고
3) 메모리 셀이 제1 임계 값에 도달하는 판독 전류를 단계 2)에서 나타낼 때까지 단계 1) 및 단계 2)를 반복하고 - 단계 1) 및 단계 2)의 반복은 단계 1)이 반복될 때마다 단계 1)의 프로그래밍 전압들 중 적어도 하나를 제1 스텝 값만큼 증가시키는 것을 포함함 -; 그리고
복수의 메모리 셀들의 제2 서브세트 각각에 대해:
4) 프로그래밍 전압들의 펄스를 메모리 셀의 소스 영역 및 하나 이상의 전도성 게이트들에 인가하고,
5) 메모리 셀의 프로그램 상태를 판독하고, 그리고
6) 메모리 셀이 제1 임계 값과는 상이한 제2 임계 값에 도달하는 판독 전류를 단계 5)에서 나타낼 때까지 단계 4) 및 단계 5)를 반복하도록 - 단계 4) 및 단계 5)의 반복은 단계 4)가 반복될 때마다 단계 4)의 프로그래밍 전압들 중 적어도 하나를 제2 스텝 값만큼 증가시키는 것을 포함함 - 구성된다.
메모리 디바이스는 메모리 셀들(메모리 셀들 각각은 반도체 기판에서 채널 영역을 사이에 두는 소스 및 드레인 영역들, 채널 영역의 적어도 일부분 위에 배치되고 그의 전도성에 영향을 주는 플로팅 게이트, 및 플로팅 게이트 및 기판으로부터 절연되는 하나 이상의 추가적인 전도성 게이트들을 포함하고, 각각의 메모리 셀은 프로그래밍 전압들을 소스 영역 및 하나 이상의 추가적인 전도성 게이트들에 인가하여 드레인 영역으로부터 기인하는 전자들이 플로팅 게이트 상으로 주입되게 함으로써 프로그래밍가능하도록 구성되고, 각각의 메모리 셀의 프로그램 상태는 소스 영역과 드레인 영역 사이에 전압 차를 인가하여 채널 영역 내의 판독 전류를 측정함으로써 판독가능함), 및 제어 회로를 가지며:
복수의 메모리 셀들 각각에 대해:
1) 프로그래밍 전압들의 펄스를 메모리 셀의 소스 영역 및 하나 이상의 전도성 게이트들에 인가하고,
2) 메모리 셀의 프로그램 상태를 판독하고, 그리고
3) 메모리 셀이 제1 임계 값에 도달하는 판독 전류를 단계 2)에서 나타낼 때까지 단계 1) 및 단계 2)를 반복하고 - 단계 1) 및 단계 2)의 반복은 단계 1)이 반복될 때마다 단계 1)의 프로그래밍 전압들 중 적어도 하나를 제1 스텝 값만큼 증가시키는 것을 포함함 -; 그리고
복수의 메모리 셀들 전체에 대해 제1 임계 값에 도달한 후, 프로그래밍 전압들의 키커 펄스를 복수의 메모리 셀들 전체에 대한 소스 영역들 및 하나 이상의 전도성 게이트들에 인가하도록 - 키커 펄스의 인가는 프로그래밍 전압들 중 적어도 하나를 단계 1) 내지 단계 3)에서 인가되는 프로그래밍 전압들에 대해 제2 스텝 값만큼 증가시키는 것을 포함함 - 구성된다.
본 발명의 다른 목적들 및 특징들은 명세서, 특허청구범위, 및 첨부된 도면의 검토에 의해 명백해질 것이다.
도 1은 한 쌍의 메모리 셀들의 단면도이다.
도 2는 도 1에 도시된 메모리 셀들의 어레이의 개략도이다.
도 3은 MLC 메모리 셀의 프로그램 및 소거 상태들을 판독 전류의 함수로서 나타내는 그래프이다.
도 4는 MLC 메모리 셀들에 대한 반복적인(iterative) 프로그래밍 방법에서의 단계들의 순서를 보여주는 흐름도이다.
도 5는 SLC 메모리 셀의 프로그램 및 소거 상태들을 판독 전류의 함수로서 나타내는 그래프이다.
도 6은 SLC 메모리 셀들에 대한 반복적인 프로그래밍 방법에서의 단계들의 순서를 보여주는 흐름도이다.
본 발명은, 셀 열화를 최소화하고 동시에 디바이스 수명 전체에 걸쳐서 환경 변화 및 셀 거동 변화를 수용할 정도로 충분한 기록(write) 마진을 보장하는 프로그램 알고리즘을 제공함으로써, 메모리 셀들 상의 프로그램 과부하를 감소시키거나 해결한다. 이러한 기술은 개선된 내구성 및 데이터 잔존율(retention)을 가져온다. 프로그램 알고리즘은 다중 레벨 셀(MLC) 비휘발성 메모리 디바이스들뿐만 아니라 단일 레벨 셀(SLC) 비휘발성 메모리 디바이스들의 설계 및 동작에 이용될 수 있다. 프로그램 알고리즘은 임베디드 비휘발성 메모리 디바이스들(즉, 로직 디바이스들과 동일한 칩 상에 비휘발성 메모리 셀들을 갖는 디바이스들)뿐만 아니라 독립형 비휘발성 메모리 디바이스들에서의 신뢰성 개선에 이용될 수 있다. 마지막으로, 프로그램 알고리즘은 가변 개수의 전도성 게이트들로 이루어진 메모리 셀 구성들에 적용될 수 있다.
예를 들어, 프로그램 알고리즘은, 모든 목적을 위해 본 명세서에 참고로 포함되는 미국 특허 제7,927,994호에 기재된 타입의 스플리트 게이트 비휘발성 메모리 셀에 특히 적용가능하다. 도 1은 반도체 기판(12) 상에 형성된 한 쌍의 그러한 메모리 셀들(10)을 도시한다. 소스 및 드레인 확산 영역들(16/14)이 기판(12)에 형성되어, 그들 사이에서 채널 영역(18)을 정의한다. 각각의 메모리 셀들은 다음과 같은 네 개의 전도성 게이트들을 갖는다: 채널 영역(18)의 제1 부분 위에 배치되면서 그로부터 절연되는 선택 게이트(20), 채널 영역(18)의 제2 부분 및 소스 영역(16)의 일부분 위에 배치되면서 그들로부터 절연되는 플로팅 게이트(22), 소스 영역(16) 위에 배치되면서 그로부터 절연되는 소거 게이트(24), 및 플로팅 게이트(22) 위에 배치되면서 그로부터 절연되는 제어 게이트(26). 바람직하게는, 소거 게이트(24)는 플로팅 게이트(22) 위에 수직으로 배치되는 상측 부분(예컨대, 수직 돌출부)을 가질 수 있다.
메모리 셀들은 어레이로 배열되는데, 그러한 메모리 셀들의 열들은 분리 영역들의 열들에 의해 인터레이싱 방식으로 분리된다. 메모리 셀들의 각각의 열은 단 대 단(end to end)으로 배열되는 도 1의 메모리 셀들의 쌍들을 포함하며, 이에 의해 각각의 쌍의 메모리 셀들은 동일한 소스 영역(16)을 공유하고, 인접 메모리 셀들의 쌍은 동일한 드레인 영역(14)을 공유한다. 도 2에 도시된 바와 같이, 전체 행의 메모리 셀들에 대한 선택 게이트들(20)은 단일 전도성 라인(보통, 워드 라인(WL)으로 지칭됨)으로서 함께 접속되어, 각각의 워드 라인이 각각의 메모리 셀 열의 메모리 셀들 중 하나에 대한 선택 게이트(20)에 접속되거나 또는 선택 게이트(20)를 형성한다(즉, 각각의 워드 라인이 하나의 행의 선택 게이트들(20)을 전기적으로 함께 접속시킨다). 유사하게, 제어 게이트들(26)은 함께 접속되거나 또는 메모리 셀들의 행들을 따라서 연장되는 연속적인 제어 게이트 라인으로서 형성된다(즉, 각각의 제어 게이트 라인이 하나의 행의 제어 게이트들(26)을 전기적으로 함께 접속시킨다). 유사하게, 소거 게이트들(24)도 또한 함께 접속되거나 또는 메모리 셀들의 행들을 따라서 연장되는 연속적인 소거 게이트 라인으로서 형성된다(즉, 각각의 소거 게이트 라인이 하나의 행의 소거 게이트들(24)을 함께 전기적으로 접속시킨다). 소스 영역들(16)은, 행 방향으로 연장되고 소스 영역들(16)에서 전체 행의 메모리 셀 쌍들을 위해 작용하는 소스 라인(SL)으로서 연속적으로 형성된다(즉, 각각의 소스 라인이 하나의 행의 소스 영역들(16)을 함께 전기적으로 접속시킨다). 전도성 비트 라인 접촉부들(72)은 드레인들(14)을 비트 라인들(70)에 전기적으로 접속시키고, 그에 의해 각각의 비트 라인 접촉부(70)는 하나의 열의 드레인 영역들(14)을 함께 전기적으로 접속시킨다. 사전 결정된 개수의 행들 및 열들의 메모리 셀들이 하나의 페이지로서 함께 연관된다.
종래의 프로그래밍 동안, 선택된 셀은 효율적인 열 전자 주입을 통해 프로그래밍되는데, 플로팅 게이트 아래의 채널의 일부분이 역전된다. 선택된 메모리 셀의 경우, 중간 전압(예컨대, 3 내지 6 볼트)이 소스 영역(16)에 인가되어 열 전자들을 생성한다. 작은 전류(예컨대, 0.1 내지 5㎂)가 드레인(14)에 인가된다. 작은 전압(예컨대, 1 내지 2 볼트)이 또한 선택 게이트에 인가된다. 제어 게이트(26)는 높은 커플링 비(coupling ratio)를 이용하도록 그리고 플로팅 게이트(22)에 대한 전압 커플링을 최대화하도록 고전압(예컨대, 6 내지 9 볼트)으로 바이어싱된다. 소거 게이트(24)도 또한 플로팅 게이트(22)에 대한 전압 커플링을 최대화하도록 중간 전압 또는 고전압(예컨대, 3 내지 9 볼트)으로 바이어싱된다. 플로팅 게이트에 커플링된 고전압은 플로팅 게이트 아래에서 채널 역전을 유도하며, 열 전자들을 더 효과적으로 생성하도록 (선택 게이트(20)와 플로팅 게이트(22) 사이의) 분리 영역에 횡방향 전계를 집중시킨다. 추가로, 전압들은 플로팅 게이트 상으로 열 전자들을 유인하고 그리고 주입 에너지 장벽을 감소시키도록 높은 수직 전계를 제공한다. 프로그래밍 동안, 드레인 영역(14)에 의해 생성된 전자들은 선택 게이트(20) 아래의 채널 영역의 약하게 역전된 부분을 통해 드레인 영역(14)으로부터 소스 영역(16)을 향해 흐를 것이다. 전자들이 플로팅 게이트(22) 아래의 채널 영역(18)의 부분에 도달함에 따라, 그들은 높은 횡방향 전계를 경험할 것이다. 전자들은 가속화할 것이고 가열되게 될 것이며, 열 전자들의 상당한 부분이 절연 층을 통해 플로팅 게이트(22) 상으로 주입된다. 플로팅 게이트(22) 상으로의 전자들의 주입은, 플로팅 게이트(22) 상의 전하의 감소가 열 전자들을 생성하도록 채널 영역을 따라서 고전위 표면 역전 층을 더 이상 지속시키지 않을 때까지 계속될 것이다. 그 지점에서, 플로팅 게이트(22) 내의 전자들 또는 네거티브 전하들은 드레인 영역(14)으로부터 플로팅 게이트(22) 상으로의 전자 흐름을 감소시킬 것이다.
따라서, 통상적인 프로그래밍은 전술한 전압들을 사전결정된 기간 동안 인가하는데, 여기서 전압들 및 기간은 프로그래밍되는 모든 메모리 셀들에 대한 플로팅 게이트의 적절한 프로그래밍을 보장할 정도로 충분히 높게 설정된다(즉, 추가적인 마진들을 포함한다). 그러나 메모리 셀들이 모두 프로그래밍되는 것을 보장하도록 고정 전압 및 시간 마진들을 이용하는 것에 의해, 메모리 셀들은 흔히 프로그래밍 동안에 과부하를 받는다(즉, 일부 메모리 셀들은 다른 메모리 셀들이 적절히 프로그래밍되는 것을 보장하기 위해 오버프로그래밍된다). 따라서 본 발명의 프로그래밍 방법은 프로그램 전압들의 펄스들을 이용하며, 여기서 전압들 중 적어도 하나는 중간의 판독 검증의 결과들에 기초하여 각각의 후속 펄스에 대한 값이 증가(step up)되고, 전압 스텝 크기는 메모리 셀들이 원하는 전하 상태들에 도달함에 따라 조정된다. 상기 방법은 또한 플로팅 게이트가 메모리 셀에 과도하게 부하를 주게 되는 오버프로그래밍 없이 신뢰성있게 프로그래밍되었던 지점에서 셀 프로그래밍을 개별적으로 중지시킨다.
본 발명의 프로그래밍 방법은 1개의 프로그래밍 상태를 갖는 단일 레벨 셀(SLC)들뿐만 아니라 2개 이상의 프로그래밍 상태들을 갖는 다중 레벨 셀(MLC)들에서도 이용될 수 있다. 도 3은 3개의 프로그래밍 상태들을 갖는 다중 레벨 셀(MLC)들에 대해, 전하 상태들을 검출된 판독 전류의 함수로서 도시한다. 이러한 예에서, 플로팅 게이트는 상이한 프로그래밍 상태들에 대응하는 가변 레벨들의 전자들로 프로그래밍될 수 있는데, 각각의 프로그래밍 상태는 고유 범위의 검출가능 판독 전류들을 갖는다. 레벨 L3은 소거 상태를 나타낸다(플로팅 게이트는 포지티브로 대전되고, 이에 따라 판독 전압들이 인가될 때 강한 검출된 판독 전류를 허용한다). 레벨들 L2 및 L1은 완만한 프로그래밍 상태들을 나타낸다(플로팅 게이트는 판독 전압들이 인가될 때 판독 전류를 감소시키도록 적정 개수의 전자들로 프로그래밍된다). 레벨 L0은 강한 프로그래밍 상태를 나타낸다(플로팅 게이트는 판독 전압들이 인가될 때 판독 전류를 최소 레벨로 감소시킬 정도로 충분한 전자들로 프로그래밍된다). 3개의 프로그래밍 상태들(L2, L1, L0)은, 소거 상태(L3)와 함께, 각각의 셀에 2 비트의 데이터를 저장하는 데 이용되어, 칩 상의 메모리 어레이 면적을 증가시키지 않으면서 저장 밀도를 두 배로 만든다.
판독 동안, 셀 판독 전류는 셀의 전하 상태를 판단하도록 세 개의 별개의(seperate) 정상 판독 기준 레벨들(normal read reference levels)(NRL0, NRL1, NRL2)과 비교된다. NRL0보다 더 적은 판독 전류를 갖는 셀들은 L0 상태에 있는 것으로 판단된다. NRL0보다 더 높지만 NRL1보다 더 낮은 판독 전류를 갖는 셀들은 L1 상태에 있는 것으로 판단된다. NRL1보다 더 높지만 NRL2보다 더 낮은 판독 전류를 갖는 셀들은 L2 상태에 있는 것으로 판단된다. NRL2보다 더 높은 판독 전류를 갖는 셀들은 L3 상태에 있는 것으로 판단된다.
프로그래밍 알고리즘 동안, 셀들은 별개의 검증 기준 레벨들(verification reference level)에 대해 검증되는데, 별개의 검증 기준 레벨들은 NR 레벨들로부터의 마진 보호 대역(margin guard-band)을 제공하며, NR 기준 레벨들에 대한 후속 판독이 셀 전하 상태들을 신뢰성있게 검출할 것을 보장한다. V0L0, V0L1, 및 V0L2는 각자의 NR 레벨들에 대해 더 낮은 마진들을 제공하는 검증 판독 기준 레벨들이다. 이러한 마진들은 트랩핑 전하 이완(trapped charge relaxation), 판독 교란(read disturb), 판독 잡음, 온도/전압 감도, 및 기생 저항 효과를 고려한다. V1L0, V1L1, 및 V1L2는 각자의 NR 레벨들에 대해 더 높은 마진들을 제공하는 검증 판독 기준 레벨들이다. 이러한 마진들은 판독 잡음, 온도/전압 감도, 프로그램 교란, 기생 저항 효과, 및 이웃 셀들로부터의 전하 커플링을 고려한다. 프로그램 알고리즘은, L2 및 L1 상태들의 경우, 각각의 셀이 대응하는 V0 레벨 아래에 있지만 여전히 아래에 있는 V1 레벨 위에 있도록 프로그래밍되는 것을 보장한다. L0의 경우, 각각의 셀은 신뢰성 있는 후속 판독을 보장하도록 V0L0 보다 충분히 낮지만 그리 극도로 낮지는 않도록 프로그래밍된다.
V1L2보다 약간 위에 위치되는 별개의 검증 기준 레벨 PREF가 존재한다. PREF는 프로그램 펄스열(pulse train)에서 사용되는 전압 스텝 크기를 조정하기 위한 트리거로서 작용한다. 이러한 조정은 정확도를 희생시키지 않으면서 프로그램 처리율을 최대화하는 것을 돕는다.
프로그램 알고리즘의 세부사항들이 다음에 기술된다. 프로그램 알고리즘은 일련의 프로그램 펄스들로 셀들의 그룹을 프로그래밍하는 것을 수반하는데, 각각의 프로그램 펄스는 선행 펄스에 비해 증분적(incrementally)으로 더 큰 강도를 갖는다. 제1 프로그래밍 펄스 컨디션의 일례는 하기의 전압들/전류를 인가하는 것이다: 사전결정된 시간량(예컨대, ~ 1㎲) 동안, 소스 라인 = 3V, 제어 게이트 = 4V, 소거 게이트 3V, 선택 게이트 = 1 내지 2V, 및 비트 라인 = 1㎂. 강도의 증분은 전압 바이어스들 중 하나를 각각의 연속 펄스에 대한 소정 스텝 크기만큼 증분시킴으로써 달성될 수 있다(예컨대, 제어 게이트 전압 VCG, 소스 라인 전압 VSL, 또는 소거 게이트 전압 VEG). 하기의 예에서는, VCG 및 VSL 둘 다가 증분된다. 그러나 VCG, VSL, 및/또는 VEG에 대한 프로그램 전압 증분들의 임의의 조합이 채용될 수 있다.
바람직하게는, 복수의 메모리 셀들이 동일한 프로그램 동작에서 프로그래밍된다. 예를 들어, 데이터 페이지가, 동일한 동작에서, 동일한 워드 라인 WL을 공유하는 복수의 메모리 셀들에 프로그래밍될 수 있다. 대안적으로, 데이터 페이지가 또한 여러 개의 그룹들로 분리될 수 있는데, 각각의 셀들의 그룹은 병렬적으로 프로그래밍되고, 각각의 그룹이 프로그래밍을 완료한 후에 추가적인 그룹들이 프로그래밍된다. 프로그래밍 상태들 중 하나로 프로그래밍될 선택된 WL 상의 그들 메모리 셀들("선택된 셀들")을 선택하기 위해, 그들 BL들이 프로그램 컨디션, 예컨대 1uA로 바이어싱된다. 소거 상태에서 유지될 선택된 WL 상의 그들 메모리 셀들("비선택 셀들")을 선택하지 않기 위해, 비선택 BL들이 프로그래밍을 억제하는 컨디션, 예컨대 2V로 바이어싱된다.
프로그래밍 단계들이 도 4에 도시된다. 프로그래밍은, 초기 프로그램 컨디션들을 설정함으로써 그리고 프로그램 프로세스를 추적하는 내부 레지스터들을 클리어링(clearing)함으로써 시작된다. 이어서, 프로그래밍될 셀들의 그룹은 세 개의 더 낮은 마진 기준 레벨들 V0L0, V0L1, 및 V0L2를 이용하여 다시 판독된다. 이러한 판독으로부터의 데이터는 프로그램 버퍼 내의 데이터(알고리즘의 말미에서 이 그룹의 셀들 내로 프로그래밍될 필요가 있는 외부 데이터)와 비교되고, 그러한 비교로부터 프로그래밍될 데이터(data-to-be-programmed, DTP)가 생성되어 제2 버퍼에 저장된다. L0, L1, 또는 L2의 DTP를 갖는 셀들만이 후속 프로그래밍을 위해 선택된다. 셀이 프로그램 버퍼 내의 그의 각각의 레벨보다 더 낮은 전류 전하 상태에 있는 것으로 검증되는 경우, 에러 신호가, 프로그램 에러가 발생했음을 시스템에 통지하도록 설정된다.
초기 DTP가 (L0 데이터의 어떠한 존재와도 무관하게) 임의의 L1 또는 L2 데이터를 포함하는 경우, 프로그래밍될 셀들의 그룹은 초기 전압 스텝 크기를 판단하도록 PREF에 대해 검증된다. L1 또는 L2의 DTP를 갖는 임의의 셀이 PREF에 도달한 경우(즉, PREF 이하의 판독 셀 전류를 갖는 경우), 이는 이들 셀들이 그들의 최종 목적(destination)에 가까운 전하 상태에 있다는 것을 나타내며, 프로그래밍은 그들을 목적 레벨들로 정밀하게 프로그래밍하기 위해 완만할 필요가 있다. 이는 초기 VCG 및 VSL 스텝 크기들을 작은 값들 Ss, 예컨대 50㎷로 설정함으로써 달성된다. L1 또는 L2 데이터가 될 셀들 중 어느 것도 PREF에 도달하지 않은 경우(즉, 그들 모두가 PREF보다 더 큰 판독 셀 전류들을 갖는 경우), VCG 및 VSL 스텝 크기들은 중간 값들 SI, 예컨대 200㎷로 초기 설정되어 이러한 초기 프로그래밍 스테이지를 가속시킨다. 초기 DTP가 L0 데이터를 포함하지만 L1 또는 L2 데이터를 포함하지 않는 경우, 데이터를 중간 레벨들로 정밀하게 프로그래밍할 필요가 없고, 프로그램 전압 스텝들은 더 큰 값들 SL, 예컨대 500㎷로 초기 설정된다.
이어서, 프로그램 펄스들이 인가되는데, 각각의 연속 펄스는 VCG 및 VSL 전압들이 초기 설정된 스텝 크기 SS, SI 또는 SL만큼 값이 증가되게 한다. 각각의 펄스 뒤에, 프로그래밍되는 각각의 셀들이 세 개의 더 낮은 마진 기준 레벨들 V0L0, V0L1, 및 V0L2를 이용하여 다시 검증 판독 처리된다. 이러한 검증 판독의 결과로부터 새로운 DTP가 생성되고, 프로세스는 전술한 바와 같이 계속된다. 초기 스텝 크기가 SI로 설정된 경우, 프로그래밍 펄스들은 L1 또는 L2의 DTP를 갖는 셀들 중 하나가 PREF에 도달할 때까지 계속되는데, 이때 스텝 크기는 SI로부터 SS로 강하된다. 어느 때든 L1의 DTP를 갖는 셀이 V0L1에 도달하는 경우, 그것은 DTP로부터 제거되고, 그 셀에 대한 프로그래밍은 중지된다. 마찬가지로, 어느 때든 L2의 DTP를 갖는 셀이 V0L2에 도달하는 경우, 그것은 DTP로부터 제거되고, 그 셀에 대한 프로그래밍은 중지된다. DTP로부터 L1 및 L2 셀들의 제거는 바람직하게는 비가역적이다. 셀이 그의 각자의 V0에 도달하고 DTP로부터 제거된 후, 후속 검증이, 그것이 V0을 초과할 것임(이는 판독 잡음으로 인해 보편적임)을 나타내는 경우라도, 이러한 셀은 DTP로부터 제거된 상태를 유지한다. 이러한 측정은 L1 및 L2 셀들이 잘 제어된 스텝 크기를 갖는 펄스들의 정상 트레이닝(steady training)으로 항상 정밀하게 프로그래밍된다는 것을 보장하기 위해 취해진다. 셀이 검증을 통과한 후에 여러 개의 펄스들이 스킵(skip)되고, 셀이 검증에 실패할 때 후속 펄스가 다시 인가되는 경우, 프로그램 전압의 갑작스러운 점프는 오버프로그램을 야기할 것이다.
마지막으로, 어느 때든 L0의 DTP를 갖는 셀이 V0L0에 도달하는 경우, 그것은 DTP로부터 제거되고, 그 셀에 대한 프로그래밍은 중지된다. 초기 스텝 크기가 SS로 설정된 경우에, 프로그래밍 펄스들은 L1 및 L2의 DTP를 갖는 모든 셀들이 그들의 V0 임계치들에 도달하고 DTP로부터 강하될 때(즉, 그러한 셀들이 그들의 최종 목적에 도달했을 때)까지 계속된다. 그때, L0의 DTP를 갖는 임의의 셀들이 존재하는 경우, 스텝 크기는 SS로부터 SL로 변화되는데, 이는 더 이상 완만한 프로그래밍이 필요하지 않기 때문이다. 마찬가지로, 스텝 크기 SI를 이용하는 프로그래밍 동안, L1 및 L2의 DTP를 갖는 모든 셀들이 그들의 최종 목적에 도달하고 DTP로부터 강하되며, L0의 DTP를 갖는 셀들이 여전히 존재하는 경우, 스텝 크기는 SI로부터 SL로 변화된다. 마지막으로, 초기 스텝 크기가 SL로 설정된 경우, 프로그래밍은 LO의 DTP를 갖는 모든 셀들이 V0L0에 도달할 때까지 그 스텝 크기를 이용하여 계속될 것이다. 셀들이 그들의 목적에 도달하고 DTP 및 프로그래밍으로부터 강하됨에 따라, 프로그래밍 프로세스는 DTP가 더 이상 어떠한 L0, L1, 또는 L2 데이터도 포함하지 않을 때까지 또는 최대 사전결정된 개수의 프로그램 펄스들에 도달될 때까지 나머지 셀들에 대해 계속된다. 후자의 경우, 에러 신호가 프로그램 결함을 시스템에 보고하기 위해 설정된다.
L0 셀들의 경우, 그들의 최종 목적을 판독 전류에 의해 감지될 수 있는 것보다 더 깊은 프로그래밍 상태에 두는 것이 때때로 유리하다. 예를 들어, 판독 바이어스들에 대한 기존의 저전압 전원의 사용은 판독 속도 및 전력 소비에서 상당한 이점들을 갖는다. 그러나 판독 전압에 대한 이러한 한계는 또한 플로팅 게이트에 대한 전압 커플링을 제한하고, 이어서 셀 판독 전류를 감소시킨다. V0L0 레벨을 넘어서는 깊은 프로그래밍 상태에 대한 프로그램 마진을 감지하는 것은 어려울 수 있다. NRL0-V0L0 보호 대역 마진은 불필요하게도 전체 동작 윈도우(operating window)의 일부분을 점유하고, 깊은 프로그래밍 전하 상태들은 활용되지 않는다. 따라서, 주의깊게 설계된 전압 스텝핑을 갖는 하나 이상의 여분의 프로그램 펄스들은 여분의 신뢰성 보호 대역을 제공하도록, 그리고 더 깊은 프로그래밍 상태로의 셀 동작 윈도우의 확장을 가능하게 하기 위해 인가될 수 있다. DTP가 L3 데이터만을 포함한 후, 프로그램 버퍼는 임의의 L0 데이터를 확인받는다. 확인된 경우, 이는 L0으로 프로그래밍된 셀들이 있었고 그들이 L0V0 검증을 통과했음을 나타낸다. 전압 스텝 크기는 큰 값들, 예컨대 500㎷로 설정되고, 사전결정된 개수의 여분의 프로그램 펄스들이 인가되는데(즉, V0L0에 도달하도록 최종 L0 셀을 프로그래밍하는 데 사용되는 최종 펄스를 끝으로 제1 펄스가 500㎷에서 시작함), 전압 바이어스를 갖는 각각의 펄스는 선택된 스텝 크기(즉, SL)만큼 증분된다. 여분의 펄스들의 개수 및 스텝 크기의 선택은 마진 요건에 의존한다.
하나의 그룹의 셀들이 프로그래밍을 완료한 후, 동일 페이지 내의 추가 그룹들의 셀들이 동일 방식으로 프로그래밍된다. 전체 페이지가 프로그래밍을 완료한 후, 그것은 기준 레벨들 V1L0, V1L1, 및 V1L2를 이용하여 검증 판독 처리되고, 생성된 데이터가 프로그램 버퍼 내의 오리지널 데이터와 비교된다. 이러한 최종 검증은 페이지 프로그램 프로세스 동안에 가능성 있는 오버프로그래밍 및 프로그램 교란을 확인한다. 임의의 검증이 예상치 못한 데이터를 반환하면, 에러들이 보고되어 프로그램 결함을 시스템에 경고한다.
신뢰성을 보장하기 위해, 값이 증가되고 있는 프로그램 전압들에 대해 최대 프로그램 전압 값들이 주어진다. 설명을 위해, 전술한 비제한적 예의 경우, 4 내지 8V의 소스에 대한 최대 전압, 예컨대 5V가 부과된다. 마찬가지로, 8 내지 11V의 제어 게이트에 대한 최대 전압, 예컨대 10V가 부과된다. 최대 전압에 도달한 경우, 프로그램은 이러한 특정 전압을 추가로 증분시키지 않은 채 계속될 것이다. 1 내지 256개의 최대 개수, 예컨대 64개의 프로그램 펄스들이 또한 부과된다. 최대 펄스 개수에 도달하면, 프로그램은 정지되고, 에러 신호가 프로그램 에러를 나타내도록 설정된다.
전술한 프로그램 알고리즘은 SLC에 동일하게 적용가능하다. SLC 셀들의 경우, L1 또는 L2 셀들이 없다. 도 5는 SLC 메모리 셀에 대한 프로그램 및 소거 상태들을 판독 전류의 함수로서 도시한다. 알고리즘은 도 6에 도시된 것으로 간소화된다. 여기서, L1 또는 L2 데이터를 포함하는 DTP에 대한 시나리오는 존재하지 않는다. 초기 프로그램 펄스는 더 강한 컨디션으로 설정될 수 있고, 프로그램 전압 스텝 크기는 높은 값 SL(예컨대, 500㎷)로 곧장 설정되어 셀들을 V0L0 미만으로 신속하게 프로그래밍하게 한다. 그 후, 여분의 프로그램 펄스들이 MLC에서와 동일한 방식으로 인가되어, 판독 신뢰성을 위한 여분의 마진을 제공하게 한다.
전술한 프로그래밍 기술은 많은 이점들을 갖는다. 프로그램 교란 면역(immunity)은 높은 전압 부하를 최소화함으로써 개선된다. 내구성 수명은 프로그램 부하를 최소화함으로써 그리고 각각의 프로그램/소거 사이클 동안에 전하 이송을 최소화함으로써 개선된다. 데이터 잔존 수명은 프로그램 부하를 최소화함으로써, 그리고 사이클링 이후 트래핑 전하 이완을 수용하기에 충분한 보호 대역을 구축함으로써 개선된다. 프로그램 효율은 프로그래밍의 세 가지 상이한 상태들에서의 전압 스텝 크기들 및 기준 레벨들을 최적화함으로써 최대화된다.
전술한 바와 같이, 전압에서의 스텝 증가는 프로그램 전압들 중 하나 이상에 대한 것일 수 있다. 도 1의 메모리 셀의 경우, 전술한 비제한적 예는 소스 및 제어 게이트에 대한 전압을 증가시켰지만, 소스, 제어 게이트, 및 소거 게이트에 대한 임의의 또는 모든 프로그램 전압들은 반복적인 프로그램-판독 동작 동안에 값이 증가될 수 있다. 비제한적인 예에서는 스텝들 SS, SI 및 SL이 소스 및 제어 게이트 둘 다에 대해 동일했지만, 그럴 필요는 없다. 소스는 제어 게이트에 대한 것과는 상이한 양만큼 값이 증가될 수 있다.
메모리 어레이들에 대해 프로그램 동작들을 제어 및 수행하기 위한 제어 회로는 주지되어 있다. 도 21에 도시된 제어 회로(30)가 그러한 회로이다. 그러나 제어 회로는 메모리 어레이에 대해 전술한 프로그래밍 알고리즘들을 제어 및 수행하도록 추가로 구성되고, 바람직하게는 메모리 셀들의 어레이와 동일한 칩 상에 포함된다.
본 발명은 본 명세서에 전술되고 예시된 실시예(들)로 제한되는 것이 아니라, 첨부된 청구범위의 범주 내에 있는 임의의 그리고 모든 변형들을 포괄한다는 것이 이해될 것이다. 예를 들어, 본 명세서에서 본 발명에 대한 언급은 임의의 청구항 또는 청구항 용어의 범주를 제한하도록 의도되는 것이 아니라, 대신에, 청구항들 중 하나 이상에 의해 커버될 수 있는 하나 이상의 특징들에 대해 언급하는 것일 뿐이다. 전술한 물질들, 프로세스들, 및 수치 예들은 단지 예시적일 뿐이며, 청구범위를 제한하는 것으로 간주되어서는 안 된다. 물질의 단일 층이 그러한 또는 유사한 물질들의 다수의 층들로서 형성될 수 있고, 그 역도 가능하다. 상기의 MLC 예가 세 개의 프로그램 상태들 및 소거 상태를 포함하지만, 전술한 프로그래밍 기술은 두 개 이상의 프로그램 상태들을 갖는 임의의 MLC들에도 동일하게 적용가능하다. 마지막으로, 반복적인 프로그래밍 기술이 네 개의 전도성 게이트들을 갖는 메모리 셀의 상황에서 기술되지만, 그것은 더 많은 또는 더 적은 전도성 게이트들을 갖는 다른 비휘발성 메모리 셀 구성들에도 동일하게 적용가능하다.

Claims (38)

  1. 메모리 셀들을 갖는 메모리 디바이스 - 상기 메모리 셀들 각각은 반도체 기판에서 채널 영역을 사이에 두는 소스 및 드레인 영역들, 상기 채널 영역의 적어도 일부분 위에 배치되고 그의 전도성에 영향을 주는 플로팅 게이트, 및 상기 플로팅 게이트 및 상기 기판으로부터 절연되는 하나 이상의 추가적인 전도성 게이트들을 포함하고, 각각의 메모리 셀은 프로그래밍 전압들을 상기 소스 영역 및 상기 하나 이상의 추가적인 전도성 게이트들에 인가하여 상기 드레인 영역으로부터 기인하는 전자들이 상기 플로팅 게이트 상으로 주입되게 함으로써 프로그래밍가능하고, 각각의 메모리 셀의 프로그램 상태는 상기 소스 영역과 상기 드레인 영역 사이에 전압 차를 인가하여 상기 채널 영역 내의 판독 전류를 측정함으로써 판독가능함 - 를 프로그래밍하는 방법으로서,
    1) 프로그래밍 전압들의 펄스를 복수의 상기 메모리 셀들에 대한 상기 소스 영역들 및 상기 하나 이상의 전도성 게이트들에 인가하는 단계,
    2) 상기 복수의 메모리 셀들의 프로그램 상태들을 판독하는 단계, 및
    3) 상기 복수의 메모리 셀들 중 적어도 하나가 제1 임계 값에 도달하는 판독 전류를 단계 2)에서 나타낼 때까지 단계 1) 및 단계 2)를 반복하는 단계 - 상기 단계 1) 및 단계 2)를 반복하는 단계는 단계 1)이 반복될 때마다 상기 단계 1)의 프로그래밍 전압들 중 적어도 하나를 제1 스텝 값만큼 증가시키는 단계를 포함함 -;
    상기 제1 임계 값에 도달한 후, 상기 복수의 메모리 셀들의 제1 서브세트 각각에 대해:
    4) 프로그래밍 전압들의 펄스를 상기 메모리 셀의 상기 소스 영역 및 상기 하나 이상의 전도성 게이트들에 인가하는 단계,
    5) 상기 메모리 셀의 프로그램 상태를 판독하는 단계, 및
    6) 상기 메모리 셀이 상기 제1 임계 값과는 상이한 제2 임계 값에 도달하는 판독 전류를 단계 5)에서 나타낼 때까지 단계 4) 및 단계 5)를 반복하는 단계 - 상기 단계 4) 및 단계 5)를 반복하는 단계는 단계 4)가 반복될 때마다 상기 단계 4)의 프로그래밍 전압들 중 적어도 하나를 상기 제1 스텝 값보다 적은 제2 스텝 값만큼 증가시키는 단계를 포함함 -; 및
    상기 제1 임계 값에 도달한 후, 상기 복수의 메모리 셀들의 제2 서브세트 각각에 대해:
    7) 프로그래밍 전압들의 펄스를 상기 메모리 셀의 상기 소스 영역 및 상기 하나 이상의 전도성 게이트들에 인가하는 단계,
    8) 상기 메모리 셀의 프로그램 상태를 판독하는 단계, 및
    9) 상기 메모리 셀이 상기 제1 및 제2 임계 값과는 상이한 제3 임계 값에 도달하는 판독 전류를 단계 8)에서 나타낼 때까지 단계 7) 및 단계 8)을 반복하는 단계 - 상기 단계 7) 및 단계 8)을 반복하는 단계는 단계 7)이 반복될 때마다 상기 단계 7)의 프로그래밍 전압들 중 적어도 하나를 상기 제1 스텝 값보다 적은 제3 스텝 값만큼 증가시키는 단계를 포함함 - 를 포함하는, 방법.
  2. 청구항 1에 있어서,
    상기 제2 및 제3 스텝 값들은 서로 동일한, 방법.
  3. 청구항 1에 있어서,
    상기 제1 및 제3 스텝 값들은 상기 제2 스텝 값보다 큰, 방법.
  4. 청구항 1에 있어서,
    상기 제1 임계 값은 상기 제2 임계 값보다 크고, 상기 제2 임계 값은 상기 제3 임계값보다 큰, 방법.
  5. 청구항 1에 있어서,
    각각의 메모리 셀에 대한 상기 하나 이상의 추가적인 전도성 게이트들은 상기 채널 영역의 제2 부분 위에 배치되고 그의 전도성에 영향을 주는 제어 게이트를 포함하는, 방법.
  6. 청구항 1에 있어서,
    상기 복수의 메모리 셀들의 제1 서브세트에 대해 상기 제2 임계 값에 도달한 후, 그리고 상기 복수의 메모리 셀들의 제2 서브세트에 대해 상기 제3 임계 값에 도달한 후, 상기 복수의 메모리 셀들의 제3 서브세트 각각에 대해,
    10) 프로그래밍 전압들의 펄스를 상기 메모리 셀의 상기 소스 영역 및 상기 하나 이상의 전도성 게이트들에 인가하는 단계,
    11) 상기 메모리 셀의 프로그램 상태를 판독하는 단계, 및
    12) 상기 메모리 셀이 상기 제1, 제2 및 제3 임계 값들과는 상이한 제4 임계 값에 도달하는 판독 전류를 단계 11)에서 나타낼 때까지 단계 10) 및 단계 11)을 반복하는 단계 - 상기 단계 10) 및 단계 11)을 반복하는 단계는 단계 10)이 반복될 때마다 상기 단계 10)의 프로그래밍 전압들 중 적어도 하나를 상기 제2 및 제3 스텝 값보다 큰 제4 스텝 값만큼 증가시키는 단계를 포함함- 를 추가로 포함하는, 방법.
  7. 청구항 6에 있어서,
    상기 제4 스텝 값은 상기 제1 스텝 값과 동일한, 방법.
  8. 청구항 6에 있어서,
    상기 복수의 메모리 셀들의 제3 서브세트 전체에 대해 상기 제4 임계 값에 도달한 후, 프로그래밍 전압들의 키커 펄스(kicker pulse)를 상기 복수의 메모리 셀들의 제3 서브세트 전체에 대한 상기 소스 영역들 및 상기 하나 이상의 전도성 게이트들에 인가하는 단계 - 상기 키커 펄스를 인가하는 단계는 상기 프로그래밍 전압들 중 적어도 하나를 상기 단계 10) 내지 단계 12)에서 인가되는 프로그래밍 전압들에 대해 제5 스텝 값만큼 증가시키는 단계를 포함함 - 를 추가로 포함하는, 방법.
  9. 청구항 8에 있어서,
    상기 제5 스텝 값은 상기 제4 스텝 값보다 큰, 방법.
  10. 메모리 셀들을 갖는 메모리 디바이스 - 상기 메모리 셀들 각각은 반도체 기판에서 채널 영역을 사이에 두는 소스 및 드레인 영역들, 상기 채널 영역의 적어도 일부분 위에 배치되고 그의 전도성에 영향을 주는 플로팅 게이트, 및 상기 플로팅 게이트 및 상기 기판으로부터 절연되는 하나 이상의 추가적인 전도성 게이트들을 포함하고, 각각의 메모리 셀은 프로그래밍 전압들을 상기 소스 영역 및 상기 하나 이상의 추가적인 전도성 게이트들에 인가하여 상기 드레인 영역으로부터 기인하는 전자들이 상기 플로팅 게이트 상으로 주입되게 함으로써 프로그래밍가능하고, 각각의 메모리 셀의 프로그램 상태는 상기 소스 영역과 상기 드레인 영역 사이에 전압 차를 인가하여 상기 채널 영역 내의 판독 전류를 측정함으로써 판독가능함 - 를 프로그래밍하는 방법으로서,
    복수의 상기 메모리 셀들의 제1 서브세트 각각에 대해:
    1) 프로그래밍 전압들의 펄스를 상기 메모리 셀의 상기 소스 영역 및 상기 하나 이상의 전도성 게이트들에 인가하는 단계,
    2) 상기 메모리 셀의 프로그램 상태를 판독하는 단계, 및
    3) 상기 메모리 셀이 제1 임계 값에 도달하는 판독 전류를 단계 2)에서 나타낼 때까지 단계 1) 및 단계 2)를 반복하는 단계 - 상기 단계 1) 및 단계 2)를 반복하는 단계는 단계 1)이 반복될 때마다 상기 단계 1)의 프로그래밍 전압들 중 적어도 하나를 제1 스텝 값만큼 증가시키는 단계를 포함함 -; 및
    상기 복수의 메모리 셀들의 제2 서브세트 각각에 대해:
    4) 프로그래밍 전압들의 펄스를 상기 메모리 셀의 상기 소스 영역 및 상기 하나 이상의 전도성 게이트들에 인가하는 단계,
    5) 상기 메모리 셀의 프로그램 상태를 판독하는 단계, 및
    6) 상기 메모리 셀이 상기 제1 임계 값과는 상이한 제2 임계 값에 도달하는 판독 전류를 단계 5)에서 나타낼 때까지 단계 4) 및 단계 5)를 반복하는 단계 - 상기 단계 4) 및 단계 5)를 반복하는 단계는 단계 4)가 반복될 때마다 상기 단계 4)의 프로그래밍 전압들 중 적어도 하나를 제2 스텝 값만큼 증가시키는 단계를 포함함 - 를 포함하는, 방법.
  11. 청구항 10에 있어서,
    상기 제1 및 제2 스텝 값들은 서로 동일한, 방법.
  12. 청구항 10에 있어서,
    상기 제2 스텝 값은 상기 제1 스텝 값보다 큰, 방법.
  13. 청구항 10에 있어서,
    상기 제1 임계 값은 상기 제2 임계 값보다 큰, 방법.
  14. 청구항 10에 있어서,
    각각의 메모리 셀에 대한 상기 하나 이상의 추가적인 전도성 게이트들은 상기 채널 영역의 제2 부분 위에 배치되고 그의 전도성에 영향을 주는 제어 게이트를 포함하는, 방법.
  15. 청구항 10에 있어서,
    상기 복수의 메모리 셀들의 제1 서브세트에 대해 상기 제1 임계 값에 도달한 후, 그리고 상기 복수의 메모리 셀들의 제2 서브세트에 대해 상기 제2 임계 값에 도달한 후, 상기 복수의 메모리 셀들의 제3 서브세트 각각에 대해,
    7) 프로그래밍 전압들의 펄스를 상기 메모리 셀의 상기 소스 영역 및 상기 하나 이상의 전도성 게이트들에 인가하는 단계,
    8) 상기 메모리 셀의 프로그램 상태를 판독하는 단계, 및
    9) 상기 메모리 셀이 상기 제1 및 제2 임계 값과는 상이한 제3 임계 값에 도달하는 판독 전류를 단계 8)에서 나타낼 때까지 단계 7) 및 단계 8)을 반복하는 단계 - 상기 단계 7) 및 단계 8)을 반복하는 단계는 단계 7)이 반복될 때마다 상기 단계 7)의 프로그래밍 전압들 중 적어도 하나를 상기 제1 및 제2 스텝 값들보다 큰 제3 스텝 값만큼 증가시키는 단계를 포함함 - 를 추가로 포함하는, 방법.
  16. 청구항 16에 있어서,
    상기 복수의 메모리 셀들의 제3 서브세트 전체에 대해 상기 제3 임계 값에 도달한 후, 프로그래밍 전압들의 키커 펄스를 상기 복수의 메모리 셀들의 제3 서브세트 전체에 대한 상기 소스 영역들 및 상기 하나 이상의 전도성 게이트들에 인가하는 단계 - 상기 키커 펄스를 인가하는 단계는 프로그래밍 전압들 중 적어도 하나를 상기 단계 7) 내지 단계 9)에서 인가되는 프로그래밍 전압들에 대해 제4 스텝 값만큼 증가시키는 단계를 포함함 - 를 추가로 포함하는, 방법.
  17. 청구항 16에 있어서,
    상기 제4 스텝 값은 상기 제3 스텝 값보다 큰, 방법.
  18. 메모리 셀들을 갖는 메모리 디바이스 - 상기 메모리 셀들 각각은 반도체 기판에서 채널 영역을 사이에 두는 소스 및 드레인 영역들, 상기 채널 영역의 적어도 일부분 위에 배치되고 그의 전도성에 영향을 주는 플로팅 게이트, 및 상기 플로팅 게이트 및 상기 기판으로부터 절연되는 하나 이상의 추가적인 전도성 게이트들을 포함하고, 각각의 메모리 셀은 프로그래밍 전압들을 상기 소스 영역 및 상기 하나 이상의 추가적인 전도성 게이트들에 인가하여 상기 드레인 영역으로부터 기인하는 전자들이 상기 플로팅 게이트 상으로 주입되게 함으로써 프로그래밍가능하고, 각각의 메모리 셀의 프로그램 상태는 상기 소스 영역과 상기 드레인 영역 사이에 전압 차를 인가하여 상기 채널 영역 내의 판독 전류를 측정함으로써 판독가능함 - 를 프로그래밍하는 방법으로서,
    복수의 상기 메모리 셀들 각각에 대해:
    1) 프로그래밍 전압들의 펄스를 상기 메모리 셀의 상기 소스 영역 및 상기 하나 이상의 전도성 게이트들에 인가하는 단계,
    2) 상기 메모리 셀의 프로그램 상태를 판독하는 단계, 및
    3) 상기 메모리 셀이 제1 임계 값에 도달하는 판독 전류를 단계 2)에서 나타낼 때까지 단계 1) 및 단계 2)를 반복하는 단계 - 상기 단계 1) 및 단계 2)를 반복하는 단계는 단계 1)이 반복될 때마다 상기 단계 1)의 프로그래밍 전압들 중 적어도 하나를 제1 스텝 값만큼 증가시키는 단계를 포함함 -; 및
    상기 복수의 메모리 셀들 전체에 대해 상기 제1 임계 값에 도달한 후, 프로그래밍 전압들의 키커 펄스를 상기 복수의 메모리 셀들 전체에 대한 상기 소스 영역들 및 상기 하나 이상의 전도성 게이트들에 인가하는 단계 - 상기 키커 펄스를 인가하는 단계는 상기 프로그래밍 전압들 중 적어도 하나를 상기 단계 1) 내지 단계 3)에서 인가되는 프로그래밍 전압들에 대해 제2 스텝 값만큼 증가시키는 단계를 포함함 - 를 포함하는, 방법.
  19. 청구항 18에 있어서,
    상기 제2 스텝 값은 상기 제1 스텝 값보다 큰, 방법.
  20. 메모리 디바이스로서,
    메모리 셀들 - 상기 메모리 셀들 각각은:
    반도체 기판에서 채널 영역을 사이에 두는 소스 및 드레인 영역들,
    상기 채널 영역의 적어도 일부분 위에 배치되고 그의 전도성에 영향을 주는 플로팅 게이트, 및
    상기 플로팅 게이트 및 상기 기판으로부터 절연되는 하나 이상의 추가적인 전도성 게이트들을 포함하고,
    각각의 메모리 셀은 프로그래밍 전압들을 상기 소스 영역 및 상기 하나 이상의 추가적인 전도성 게이트들에 인가하여 상기 드레인 영역으로부터 기인하는 전자들이 상기 플로팅 게이트 상으로 주입되게 함으로써 프로그래밍가능하도록 구성되고, 각각의 메모리 셀의 프로그램 상태는 상기 소스 영역과 상기 드레인 영역 사이에 전압 차를 인가하여 상기 채널 영역 내의 판독 전류를 측정함으로써 판독가능함 -; 및
    제어 회로를 포함하며,
    상기 제어 회로는:
    1) 프로그래밍 전압들의 펄스를 복수의 상기 메모리 셀들에 대한 상기 소스 영역들 및 상기 하나 이상의 전도성 게이트들에 인가하고,
    2) 상기 복수의 메모리 셀들의 프로그램 상태들을 판독하고, 그리고
    3) 상기 복수의 메모리 셀들 중 적어도 하나가 제1 임계 값에 도달하는 판독 전류를 단계 2)에서 나타낼 때까지 단계 1) 및 단계 2)를 반복하고 - 단계 1) 및 단계 2)의 반복은 단계 1)이 반복될 때마다 상기 단계 1)의 프로그래밍 전압들 중 적어도 하나를 제1 스텝 값만큼 증가시키는 것을 포함함 -;
    상기 제1 임계 값에 도달한 후, 상기 복수의 메모리 셀들의 제1 서브세트 각각에 대해:
    4) 프로그래밍 전압들의 펄스를 상기 메모리 셀의 상기 소스 영역 및 상기 하나 이상의 전도성 게이트들에 인가하고,
    5) 상기 메모리 셀의 프로그램 상태를 판독하고, 그리고
    6) 상기 메모리 셀이 상기 제1 임계 값과는 상이한 제2 임계 값에 도달하는 판독 전류를 단계 5)에서 나타낼 때까지 단계 4) 및 단계 5)를 반복하고 - 상기 단계 4) 및 단계 5)의 반복은 단계 4)가 반복될 때마다 상기 단계 4)의 프로그래밍 전압들 중 적어도 하나를 상기 제1 스텝 값보다 적은 제2 스텝 값만큼 증가시키는 것을 포함함 -; 그리고
    상기 제1 임계 값에 도달한 후, 상기 복수의 메모리 셀들의 제2 서브세트 각각에 대해:
    7) 프로그래밍 전압들의 펄스를 상기 메모리 셀의 상기 소스 영역 및 상기 하나 이상의 전도성 게이트들에 인가하고,
    8) 상기 메모리 셀의 프로그램 상태를 판독하고, 그리고
    9) 상기 메모리 셀이 상기 제1 및 제2 임계 값과는 상이한 제3 임계 값에 도달하는 판독 전류를 단계 8)에서 나타낼 때까지 단계 7) 및 단계 8)을 반복하도록 - 상기 단계 7) 및 단계 8)의 반복은 단계 7)이 반복될 때마다 상기 단계 7)의 프로그래밍 전압들 중 적어도 하나를 상기 제1 스텝 값보다 적은 제3 스텝 값만큼 증가시키는 것을 포함함 - 구성되는, 메모리 디바이스.
  21. 청구항 20에 있어서,
    상기 제2 및 제3 스텝 값들은 서로 동일한, 메모리 디바이스.
  22. 청구항 20에 있어서,
    상기 제1 및 제3 스텝 값들은 상기 제2 스텝 값보다 큰, 메모리 디바이스.
  23. 청구항 20에 있어서,
    상기 제1 임계 값은 상기 제2 임계 값보다 크고, 상기 제2 임계 값은 상기 제3 임계값보다 큰, 메모리 디바이스.
  24. 청구항 20에 있어서,
    각각의 메모리 셀에 대한 상기 하나 이상의 추가적인 전도성 게이트들은 상기 채널 영역의 제2 부분 위에 배치되고 그의 전도성에 영향을 주는 제어 게이트를 포함하는, 메모리 디바이스.
  25. 청구항 20에 있어서,
    상기 복수의 메모리 셀들의 제1 서브세트에 대해 상기 제2 임계 값에 도달한 후, 그리고 상기 복수의 메모리 셀들의 제2 서브세트에 대해 상기 제3 임계 값에 도달한 후, 상기 복수의 메모리 셀들의 제3 서브세트 각각에 대해, 상기 제어기는:
    10) 프로그래밍 전압들의 펄스를 상기 메모리 셀의 상기 소스 영역 및 상기 하나 이상의 전도성 게이트들에 인가하고,
    11) 상기 메모리 셀의 프로그램 상태를 판독하고, 그리고
    12) 상기 메모리 셀이 상기 제1, 제2 및 제3 임계 값들과는 상이한 제4 임계 값에 도달하는 판독 전류를 단계 11)에서 나타낼 때까지 단계 10) 및 단계 11)을 반복하도록 - 상기 단계 10) 및 단계 11)의 반복은 단계 10)이 반복될 때마다 상기 단계 10)의 프로그래밍 전압들 중 적어도 하나를 상기 제2 및 제3 스텝 값보다 큰 제4 스텝 값만큼 증가시키는 것을 포함함 - 구성되는, 메모리 디바이스.
  26. 청구항 25에 있어서,
    상기 제4 스텝 값은 상기 제1 스텝 값과 동일한, 메모리 디바이스.
  27. 청구항 25에 있어서,
    상기 복수의 메모리 셀들의 제3 서브세트 전체에 대해 상기 제4 임계 값에 도달한 후, 상기 제어기가, 프로그래밍 전압들의 키커 펄스를 상기 복수의 메모리 셀들의 제3 서브세트 전체에 대한 상기 소스 영역들 및 상기 하나 이상의 전도성 게이트들에 인가하도록 - 상기 키커 펄스의 인가는 상기 프로그래밍 전압들 중 적어도 하나를 상기 단계 10) 내지 단계 12)에서 인가되는 프로그래밍 전압들에 대해 제5 스텝 값만큼 증가시키는 것을 포함함 - 구성되는 것을 추가로 포함하는, 메모리 디바이스.
  28. 청구항 27에 있어서,
    상기 제5 스텝 값은 상기 제4 스텝 값보다 큰, 메모리 디바이스.
  29. 메모리 디바이스로서,
    메모리 셀들 - 상기 메모리 셀들 각각은:
    반도체 기판에서 채널 영역을 사이에 두는 소스 및 드레인 영역들,
    상기 채널 영역의 적어도 일부분 위에 배치되고 그의 전도성에 영향을 주는 플로팅 게이트, 및
    상기 플로팅 게이트 및 상기 기판으로부터 절연되는 하나 이상의 추가적인 전도성 게이트들을 포함하고,
    각각의 메모리 셀은 프로그래밍 전압들을 상기 소스 영역 및 상기 하나 이상의 추가적인 전도성 게이트들에 인가하여 상기 드레인 영역으로부터 기인하는 전자들이 상기 플로팅 게이트 상으로 주입되게 함으로써 프로그래밍가능하도록 구성되고, 각각의 메모리 셀의 프로그램 상태는 상기 소스 영역과 상기 드레인 영역 사이에 전압 차를 인가하여 상기 채널 영역 내의 판독 전류를 측정함으로써 판독가능함 -; 및
    제어 회로를 포함하며,
    상기 제어 회로는:
    복수의 상기 메모리 셀들의 제1 서브세트 각각에 대해:
    1) 프로그래밍 전압들의 펄스를 상기 메모리 셀의 상기 소스 영역 및 상기 하나 이상의 전도성 게이트들에 인가하고,
    2) 상기 메모리 셀의 프로그램 상태를 판독하고, 그리고
    3) 상기 메모리 셀이 제1 임계 값에 도달하는 판독 전류를 단계 2)에서 나타낼 때까지 단계 1) 및 단계 2)를 반복하고 - 상기 단계 1) 및 단계 2)의 반복은 단계 1)이 반복될 때마다 상기 단계 1)의 프로그래밍 전압들 중 적어도 하나를 제1 스텝 값만큼 증가시키는 것을 포함함 -; 그리고
    상기 복수의 메모리 셀들의 제2 서브세트 각각에 대해:
    4) 프로그래밍 전압들의 펄스를 상기 메모리 셀의 상기 소스 영역 및 상기 하나 이상의 전도성 게이트들에 인가하고,
    5) 상기 메모리 셀의 프로그램 상태를 판독하고, 그리고
    6) 상기 메모리 셀이 상기 제1 임계 값과는 상이한 제2 임계 값에 도달하는 판독 전류를 단계 5)에서 나타낼 때까지 단계 4) 및 단계 5)를 반복하도록 - 상기 단계 4) 및 단계 5)의 반복은 단계 4)가 반복될 때마다 상기 단계 4)의 프로그래밍 전압들 중 적어도 하나를 제2 스텝 값만큼 증가시키는 것을 포함함 - 구성되는, 메모리 디바이스.
  30. 청구항 29에 있어서,
    상기 제1 및 제2 스텝 값들은 서로 동일한, 메모리 디바이스.
  31. 청구항 29에 있어서,
    상기 제2 스텝 값은 상기 제1 스텝 값보다 큰, 메모리 디바이스.
  32. 청구항 29에 있어서,
    상기 제1 임계 값은 상기 제2 임계 값보다 큰, 메모리 디바이스.
  33. 청구항 29에 있어서,
    각각의 메모리 셀에 대한 상기 하나 이상의 추가적인 전도성 게이트들은 상기 채널 영역의 제2 부분 위에 배치되고 그의 전도성에 영향을 주는 제어 게이트를 포함하는, 메모리 디바이스.
  34. 청구항 29에 있어서,
    상기 복수의 메모리 셀들의 제1 서브세트에 대해 상기 제1 임계 값에 도달한 후, 그리고 상기 복수의 메모리 셀들의 제2 서브세트에 대해 상기 제2 임계 값에 도달한 후, 상기 복수의 메모리 셀들의 제3 서브세트 각각에 대해, 상기 제어 회로는:
    7) 프로그래밍 전압들의 펄스를 상기 메모리 셀의 상기 소스 영역 및 상기 하나 이상의 전도성 게이트들에 인가하고,
    8) 상기 메모리 셀의 프로그램 상태를 판독하고, 그리고
    9) 상기 메모리 셀이 상기 제1 및 제2 임계 값과는 상이한 제3 임계 값에 도달하는 판독 전류를 단계 8)에서 나타낼 때까지 단계 7) 및 단계 8)을 반복하도록 - 상기 단계 7) 및 단계 8)의 반복은 단계 7)이 반복될 때마다 상기 단계 7)의 프로그래밍 전압들 중 적어도 하나를 상기 제1 및 제2 스텝 값들보다 큰 제3 스텝 값만큼 증가시키는 것을 포함함 - 구성되는, 메모리 디바이스.
  35. 청구항 34에 있어서,
    상기 복수의 메모리 셀들의 제3 서브세트 전체에 대해 상기 제3 임계 값에 도달한 후, 상기 제어 회로가, 프로그래밍 전압들의 키커 펄스를 상기 복수의 메모리 셀들의 제3 서브세트 전체에 대한 상기 소스 영역들 및 상기 하나 이상의 전도성 게이트들에 인가하도록 - 상기 키커 펄스의 인가는 프로그래밍 전압들 중 적어도 하나를 상기 단계 7) 내지 단계 9)에서 인가되는 프로그래밍 전압들에 대해 제4 스텝 값만큼 증가시키는 것을 포함함 - 구성되는 것을 추가로 포함하는, 메모리 디바이스.
  36. 청구항 35에 있어서,
    상기 제4 스텝 값은 상기 제3 스텝 값보다 큰, 메모리 디바이스.
  37. 메모리 디바이스로서,
    메모리 셀들 - 상기 메모리 셀들 각각은:
    반도체 기판에서 채널 영역을 사이에 두는 소스 및 드레인 영역들,
    상기 채널 영역의 적어도 일부분 위에 배치되고 그의 전도성에 영향을 주는 플로팅 게이트, 및
    상기 플로팅 게이트 및 상기 기판으로부터 절연되는 하나 이상의 추가적인 전도성 게이트들을 포함하고,
    각각의 메모리 셀은 프로그래밍 전압들을 상기 소스 영역 및 상기 하나 이상의 추가적인 전도성 게이트들에 인가하여 상기 드레인 영역으로부터 기인하는 전자들이 상기 플로팅 게이트 상으로 주입되게 함으로써 프로그래밍가능하도록 구성되고, 각각의 메모리 셀의 프로그램 상태는 상기 소스 영역과 상기 드레인 영역 사이에 전압 차를 인가하여 상기 채널 영역 내의 판독 전류를 측정함으로써 판독가능함 -; 및
    제어 회로를 포함하며,
    상기 제어 회로는:
    복수의 상기 메모리 셀들 각각에 대해:
    1) 프로그래밍 전압들의 펄스를 상기 메모리 셀의 상기 소스 영역 및 상기 하나 이상의 전도성 게이트들에 인가하고,
    2) 상기 메모리 셀의 프로그램 상태를 판독하고, 그리고
    3) 상기 메모리 셀이 제1 임계 값에 도달하는 판독 전류를 단계 2)에서 나타낼 때까지 단계 1) 및 단계 2)를 반복하도록 - 상기 단계 1) 및 단계 2)의 반복은 단계 1)이 반복될 때마다 상기 단계 1)의 프로그래밍 전압들 중 적어도 하나를 제1 스텝 값만큼 증가시키는 것을 포함함 -; 그리고
    상기 복수의 메모리 셀들 전체에 대해 상기 제1 임계 값에 도달한 후, 프로그래밍 전압들의 키커 펄스를 상기 복수의 메모리 셀들 전체에 대한 상기 소스 영역들 및 상기 하나 이상의 전도성 게이트들에 인가하도록 - 상기 키커 펄스의 인가는 상기 프로그래밍 전압들 중 적어도 하나를 상기 단계 1) 내지 단계 3)에서 인가되는 프로그래밍 전압들에 대해 제2 스텝 값만큼 증가시키는 것을 포함함 - 구성되는, 메모리 디바이스.
  38. 청구항 37에 있어서,
    상기 제2 스텝 값은 상기 제1 스텝 값보다 큰, 메모리 디바이스.
KR1020157021973A 2013-03-14 2014-03-14 비휘발성 메모리 프로그램 알고리즘 디바이스 및 방법 KR101716998B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361785485P 2013-03-14 2013-03-14
US61/785,485 2013-03-14
PCT/US2014/029414 WO2014153174A2 (en) 2013-03-14 2014-03-14 Non-volatile memory program algorithm device and method

Publications (2)

Publication Number Publication Date
KR20150106956A true KR20150106956A (ko) 2015-09-22
KR101716998B1 KR101716998B1 (ko) 2017-03-15

Family

ID=50625173

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157021973A KR101716998B1 (ko) 2013-03-14 2014-03-14 비휘발성 메모리 프로그램 알고리즘 디바이스 및 방법

Country Status (7)

Country Link
US (1) US9431126B2 (ko)
EP (1) EP2973583B1 (ko)
JP (1) JP5964522B2 (ko)
KR (1) KR101716998B1 (ko)
CN (1) CN105027216B (ko)
TW (1) TWI536389B (ko)
WO (1) WO2014153174A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190107966A (ko) * 2018-03-13 2019-09-23 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3021806B1 (fr) * 2014-05-28 2017-09-01 St Microelectronics Sa Procede de programmation d'une cellule memoire non volatile comprenant une grille de transistor de selection partagee
KR102262909B1 (ko) * 2014-12-18 2021-06-10 에스케이하이닉스 주식회사 메모리 시스템 동작 방법
US10074438B2 (en) * 2016-06-10 2018-09-11 Cypress Semiconductor Corporation Methods and devices for reducing program disturb in non-volatile memory cell arrays
US9997253B1 (en) 2016-12-08 2018-06-12 Cypress Semiconductor Corporation Non-volatile memory array with memory gate line and source line scrambling
US10381088B2 (en) * 2017-03-30 2019-08-13 Silicon Storage Technology, Inc. System and method for generating random numbers based on non-volatile memory cell array entropy
US10607715B2 (en) 2017-06-13 2020-03-31 International Business Machines Corporation Self-evaluating array of memory
US10515694B2 (en) * 2017-11-03 2019-12-24 Silicon Storage Technology, Inc. System and method for storing multibit data in non-volatile memory
US10838652B2 (en) * 2018-08-24 2020-11-17 Silicon Storage Technology, Inc. Programming of memory cell having gate capacitively coupled to floating gate
US11755899B2 (en) * 2019-11-11 2023-09-12 Silicon Storage Technology, Inc. Precise programming method and apparatus for analog neural memory in an artificial neural network
US11289164B2 (en) 2020-06-03 2022-03-29 Silicon Storage Technology, Inc. Word line and control gate line tandem decoder for analog neural memory in deep learning artificial neural network
US11309042B2 (en) 2020-06-29 2022-04-19 Silicon Storage Technology, Inc. Method of improving read current stability in analog non-volatile memory by program adjustment for memory cells exhibiting random telegraph noise
JP2023032445A (ja) * 2021-08-27 2023-03-09 キオクシア株式会社 記憶装置
TWI813345B (zh) * 2022-06-20 2023-08-21 世界先進積體電路股份有限公司 非揮發性記憶體裝置及其控制方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020191444A1 (en) * 2001-04-10 2002-12-19 Stmicroelectronics S.R.I. Method for programming nonvolatile memory cells with program and verify algorithm using a staircase voltage with varying step amplitude
US20100103733A1 (en) * 2008-10-24 2010-04-29 Gerrit Jan Hemink Programming non-volatile memory with variable initial programming pulse
US20110161571A1 (en) * 2009-12-28 2011-06-30 Samsung Electronics Co., Ltd. Flash memory device and method of programming flash memory device
US20130028018A1 (en) * 2011-07-25 2013-01-31 Samsung Electronics Co., Ltd. Method of programming a nonvolatile memory device

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002056316A1 (fr) 2001-01-12 2002-07-18 Hitachi, Ltd. Memoire remanente a semi-conducteur
US6490203B1 (en) * 2001-05-24 2002-12-03 Edn Silicon Devices, Inc. Sensing scheme of flash EEPROM
DE102005009700B4 (de) 2004-02-26 2009-02-05 Samsung Electronics Co., Ltd., Suwon Programmierverfahren und nichtflüchtiger Speicher
KR100525004B1 (ko) 2004-02-26 2005-10-31 삼성전자주식회사 멀티레벨 셀(Multi-level cell)플래쉬메모리장치 및 이의 프로그램 방법
JP2008191630A (ja) 2007-01-09 2008-08-21 Nippon Oil Corp 楕円偏光板、その製造方法、輝度向上フィルムおよび画像表示装置
KR100816161B1 (ko) 2007-01-23 2008-03-21 주식회사 하이닉스반도체 플래시 메모리 소자의 프로그램 방법
US20090039410A1 (en) * 2007-08-06 2009-02-12 Xian Liu Split Gate Non-Volatile Flash Memory Cell Having A Floating Gate, Control Gate, Select Gate And An Erase Gate With An Overhang Over The Floating Gate, Array And Method Of Manufacturing
US8223556B2 (en) * 2009-11-25 2012-07-17 Sandisk Technologies Inc. Programming non-volatile memory with a reduced number of verify operations
US8369143B2 (en) * 2010-12-22 2013-02-05 HGST Netherlands B.V. Early detection of degradation in NOR flash memory
KR101772578B1 (ko) * 2011-04-19 2017-08-30 삼성전자주식회사 불휘발성 메모리 장치의 프로그램 방법
CN102969346B (zh) * 2011-08-31 2016-08-10 硅存储技术公司 具有带改进耦合比的浮栅和耦合栅的非易失性存储器单元

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020191444A1 (en) * 2001-04-10 2002-12-19 Stmicroelectronics S.R.I. Method for programming nonvolatile memory cells with program and verify algorithm using a staircase voltage with varying step amplitude
US20100103733A1 (en) * 2008-10-24 2010-04-29 Gerrit Jan Hemink Programming non-volatile memory with variable initial programming pulse
US20110161571A1 (en) * 2009-12-28 2011-06-30 Samsung Electronics Co., Ltd. Flash memory device and method of programming flash memory device
US20130028018A1 (en) * 2011-07-25 2013-01-31 Samsung Electronics Co., Ltd. Method of programming a nonvolatile memory device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190107966A (ko) * 2018-03-13 2019-09-23 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법

Also Published As

Publication number Publication date
US20140269058A1 (en) 2014-09-18
EP2973583B1 (en) 2019-05-01
TW201535388A (zh) 2015-09-16
JP2016510476A (ja) 2016-04-07
JP5964522B2 (ja) 2016-08-03
US9431126B2 (en) 2016-08-30
WO2014153174A2 (en) 2014-09-25
CN105027216B (zh) 2017-09-22
KR101716998B1 (ko) 2017-03-15
WO2014153174A3 (en) 2014-11-06
TWI536389B (zh) 2016-06-01
EP2973583A2 (en) 2016-01-20
CN105027216A (zh) 2015-11-04

Similar Documents

Publication Publication Date Title
KR101716998B1 (ko) 비휘발성 메모리 프로그램 알고리즘 디바이스 및 방법
US9548129B2 (en) Word line look ahead read for word line to word line short detection
US8472257B2 (en) Nonvolatile memory and method for improved programming with reduced verify
US10032524B2 (en) Techniques for determining local interconnect defects
US11404125B2 (en) Memory cell programming applying a programming pulse having different voltage levels
US8842471B2 (en) Charge cycling by equalizing and regulating the source, well, and bit line levels during write operations for NAND flash memory: program to verify transition
US9552251B2 (en) Neighboring word line program disturb countermeasure for charge-trapping memory
US20080037330A1 (en) Ramp gate erase for dual bit flash memory
KR20110074977A (ko) 가장 빠른 및/또는 가장 느린 프로그래밍 비트를 무시하여 프로그램 검증이 감소된 비휘발성 메모리와 방법
US8942035B2 (en) Non-sequential encoding scheme for multi-level cell (MLC) memory cells
US9183070B2 (en) Resting blocks of memory cells in response to the blocks being deemed to fail
KR101026385B1 (ko) 전하트랩형 플래시 메모리소자의 동작 방법
US10134481B2 (en) Pre-compensation of memory threshold voltage
JP2010027162A (ja) 不揮発性半導体メモリおよび不揮発性半導体メモリのデータ書込み方法
KR20070057716A (ko) 멀티 레벨 셀을 갖는 플래시 메모리 장치의 프로그램 방법
US8861281B2 (en) Method of programming memory and memory apparatus utilizing the method
TWI556246B (zh) 高可靠性非揮發性半導體儲存裝置及其資料抹除方法

Legal Events

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