KR20130038391A - 플래시 메모리용 멀티페이지 프로그램 스킴 - Google Patents

플래시 메모리용 멀티페이지 프로그램 스킴 Download PDF

Info

Publication number
KR20130038391A
KR20130038391A KR1020137004142A KR20137004142A KR20130038391A KR 20130038391 A KR20130038391 A KR 20130038391A KR 1020137004142 A KR1020137004142 A KR 1020137004142A KR 20137004142 A KR20137004142 A KR 20137004142A KR 20130038391 A KR20130038391 A KR 20130038391A
Authority
KR
South Korea
Prior art keywords
data
programming
state
flash memory
page
Prior art date
Application number
KR1020137004142A
Other languages
English (en)
Inventor
진기 김
Original Assignee
모사이드 테크놀로지스 인코퍼레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 모사이드 테크놀로지스 인코퍼레이티드 filed Critical 모사이드 테크놀로지스 인코퍼레이티드
Publication of KR20130038391A publication Critical patent/KR20130038391A/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
    • 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/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/24Bit-line control circuits

Landscapes

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

Abstract

단일 동작 사이클로 다중 비트의 데이터를 플래시 메모리 셀에 프로그래밍하기 위한 회로 및 방법이 제시된다. 플래시 메모리 어레이의 하나의 물리적 페이지로 프로그램될 다중 페이지의 데이터가 메모리 장치 상의 페이지 버퍼 또는 다른 기억 수단에 기억된다. 프로그램될 셀에 연결된 선택된 워드라인이 상이한 시간 간격에서 선정된 프로그램 프로파일로 구동되며, 여기서 각 선정된 프로그램 프로파일은 특정 로직 상태에 대응하는 특정 임계 전압으로 소거 임계 전압을 시프트하도록 구성된다. 멀티-페이지 비트라인 제어기는 각 비트라인과 관련된 각 데이터의 페이지에 속하는 비트의 특정 로직 상태의 조합에 응답하여, 각각의 시간 간격 동안 프로그래밍을 인에이블하거나 방지하도록 각 비트라인을 바이어스한다.

Description

플래시 메모리용 멀티페이지 프로그램 스킴{MULTIPAGE PROGRAM SCHEME FOR FLASH MEMORY}
본 발명은 일반적으로는 반도체 장치에 관한 것으로, 특히 단일 플래시 메모리 셀에 다중 비트의 데이터를 프로그래밍하는 것에 관한 것이다.
플래시 메모리는 예를 들면 디지털 카메라 및 휴대용 디지털 뮤직 플레이어와 같은 가전 제품용의 대용량 기억 장치로서 널리 이용되는 비휘발성 메모리에서 공통적으로 이용되는 유형이다. 현재 상용 플래시 메모리 칩의 밀도는 크기가 수 기가 바이트(GB)로서, 하나의 플래시 칩의 크기가 소형이므로 대중적인 USB 플래시 드라이브에 이용되기에 적합하다. 플래시 메모리의 다른 부상하는 응용은 랩탑 및 데스크탑 컴퓨터에서 이용되는 전통적인 하드 디스크 드라이브를 대체하는 SSD(Solid-State Drive)이다.
도 1은 당업계에서는 공지된 전형적인 플래시 메모리 장치의 일반적인 블록도이다. 플래시 메모리 장치(10)는 입력/출력 인터페이스 회로, 제어 회로, 메모리 회로 및 플래시 어레이를 포함한다. 플래시 메모리 장치(10)의 입력/출력 인터페이스 회로는 Ready/Busy 신호 버퍼(12), 제어 신호 버퍼(14) 및 글로벌 데이터 버퍼(16)를 포함한다. Ready/Busy 신호 버퍼(12)는 각각의 핀 또는 포트를 통해 Ready/Busy 신호 (R/B#)를 구동하는 출력 버퍼이다. 본 예에서, 제어 신호 버퍼(14)는 대응하는 핀 또는 포트로부터 플래시 메모리 제어 신호(CE#, CLE, ALE, WE#, RE# 및 WP#)를 수신하는 입력 버퍼이다. "#"로 끝나는 신호명은 이하부터는 액티브 로우 레벨 신호로서 이해되어야 하며, 액티브 로우 신호는 예를 들면 "0" 로직 레벨 또는 VSS 전압 레벨에 대응한다. 대조적으로, 액티브 하이 로직 레벨 신호는 예를 들면 "1" 로직 레벨 또는 VDD 또는 VCC 전압 레벨에 대응한다. 이하는 전술한 제어 신호들의 간략한 설명이다.
·CLE(Command Latch Enable): CLE 입력 신호는 내부 커맨드 레지스터로의 동작 모드 커맨드의 로딩을 제어하는데 이용된다. 커맨드는 CLE가 하이인 동안 WE# 신호의 상승 에지시에 I/O 포트로부터 커맨드 레지스터로 래칭된다.
·ALE(Address Latch Enable): ALE 신호는 내부 어드레스 레지스터로의 어드레스 정보의 로딩을 제어하는데 이용된다. 어드레스 정보는 ALE가 하이인 동안 WE# 신호의 상승 에지시에 I/O 포트로부터 래칭된다.
·CE#(Chip Enable): Ready 상태인 동안 CE#가 하이로 가는 경우 장치는 저전력 대기 모드로 간다. CE# 신호는 장치가 프로그램 또는 소거 또는 판독 동작 동안과 같은 Busy 상태(R/B#=L)일 때 무시되고, CE# 입력이 하이로 가더라도 대기 모드로 들어가지 않을 것이다.
·WE#(Write Enable): WE# 신호는 I/O 포트로부터 데이터의 획득을 제어하는데 이용된다.
·RE#(Read Enable): RE 신호는 직렬 데이터 출력을 제어한다. 데이터는 RE#의 하강 에지 이후에 유용하다. 내부 컬럼 어드레스 카운터는 또한 이 하강 에지시에 증가된다(Address = Address + 1).
· I/O 포트(I/O 0 내지 7): I/O 0 내지 7 핀은 어드레스, 커맨드 및 입력/출력 데이터를 장치로 및 장치로부터 전송하기 위한 포트로서 이용된다.
·WP#(Write Protect): WP# 신호는 우연한 프로그래밍 또는 소거로부터 장치를 보호하는데 이용된다. 내부 전압 레귤레이터(고전압 제너레이터)는 WP#가 로우인 경우 리셋된다. 이 신호는 일반적으로 입력 신호가 무효인 경우 전력-온/오프 순서 동안 데이터를 보호하는데 이용된다.
·R/B#(Ready/Busy): R/B#는 개방된 드레인 핀이며, 출력 신호는 장치의 동작 조건을 표시하는데 이용된다. R/B# 신호는 프로그램, 소거 및 판독 동작 동안 Busy 상태(R/B# = L)이며, 동작의 완료 이후에 Ready 상태(R/B# = H)로 복귀할 것이다.
도 1의 본 실시예에서 글로벌 데이터 버퍼(16)는 기록 데이터를 수신하고 각 입력/출력(I/O) 핀 또는 포트에 대해 판독 데이터를 제공하는 양방향 버퍼이다. 플래시 메모리 장치(10)는 그러한 8개의 포트 I/O(I/O 0 내지 I/O 7)를 갖는 것으로 도시되나, 다른 데이터 폭 구조에서는 8 이상 또는 미만을 가질 수 있다. 이들 I/O 포트는 또한 각 어드레스 및 커맨드 정보를 수신하는데 이용된다.
플래시 메모리 장치(10)의 제어 회로는 제어기(18), 커맨드 레지스터(20), 어드레스 레지스터(22) 및 상태 레지스터(24)를 포함한다. 제어기(18)는 플래시 메모리 장치(10)내의 다른 회로의 각종 기능을 제어하는데, 여기서 그러한 기능은 판독, 프로그램 및 프로그램 인증을 포함한다. 도시되지 않았지만, 제어기(18)는 수신된 커맨드에 응답하여 기능들을 수행하기 위한 커맨드 디코더를 포함할 수 있다. 레지스터는 플래시 메모리 장치(10)에 의해 수신되는 또는, 예를 들면 메모리 제어기를 포함하는, 내부 호스트 시스템에 제공될 정보의 유형을 기억한다. 설명된 레지스터들은 총망라된 것은 아니고, 예를 들면 데이터 레지스터와 같은 다른 레지스터도 포함될 수 있다.
제어기에 의해 1차적으로 제어되는 회로는 메모리 회로로서, 행 및 열 프리디코더(26 및 28), 행 및 열 디코더(30 및 32), 센스 증폭기 및 페이지 버퍼 블록(34), 및 고전압 제너레이터(36)를 포함한다. 플래시 메모리 장치(10)의 메모리 어레이(38)는 비트라인에 연결된 NAND 셀 스트링으로 구성되며, NAND 셀 스트링의 각 메모리 셀은 워드라인에 연결된다. NAND 셀 스트링의 추가 상세는 후에 도 3에 도시된다. 행 프리디코더(26), 행 디코더(30) 및 고전압 제너레이터(36)가 프로그래밍 동작에서 제어되어, 선택된 워드라인을 연결된 메모리 셀의 임계 전압을 디폴트인 소거 임계 전압에서 소망된 전압 레벨로 시프트하기에 유효한 고전압으로 구동한다. 그들의 임계 전압을 디폴트 값으로 시프트함에 의해 메모리 셀을 소거하기 위하여 메모리 어레이(38)내에 고전압이 이용될 수 있음에 주목한다. 고전압과 고전압의 인가 시간의 상이한 조합이 플래시 메모리 셀에 대한 특정 임계 전압을 설정하는데 이용될 수 있다. 특정 임계 전압을 프로그래밍하기 위한 조합이 프로그래밍 프로파일로서 칭할 수 있다. 페이지 버퍼(34)는 선택된 워드라인에 연결된 셀에 프로그램될 한 페이지의 데이터를 기억한다. 일반적으로, 비트라인에 연결된 메모리 셀은 비트라인이 바이어스되거나 또는 세팅되는 로직 레벨에 의존하여, 프로그램되는 것이 방지되거나 또는 선택된 워드라인을 통해 프로그래밍되는 것이 인에이블된다. 페이지 버퍼내에 기억된 데이터 비트는 비트라인을 바이어스하는데 이용된다.
도 2는 단일 비트 플래시 메모리 셀에 대한 임계 전압 분포 그래프로서, 두개의 가능한 레벨 또는 상태, 상태 0 또는 상태 1 중 하나를 기억한다. 이는 또한 단일 레벨 셀(SLC) 메모리로 칭한다. 도 2에서, 상태 0은 메모리 어레이(38)의 전체 플래시 메모리 셀의 디폴트 소거 상태로서, 이 예에서는 네가티브 임계 전압이다. 대조적으로, 상태 1은 포지티브 임계 전압에 대응한다. 그러므로, 소거되는 경우, 플래시 메모리 셀은 단일 비트의 기억된 데이터에 대해 "1" 로직 상태를 기억한다. 선택된 셀내에 기억된 데이터가 "0"에 대응하는 경우에 소거된 임계 전압을 포지티브 전압으로 시프트하도록 프로그래밍이 실행되며, 이는 이전에 설명한 것처럼 특정 프로그래밍 프로파일로 셀에 연결된 선택된 워드라인을 구동함에 의해 수행된다.
도 3은 도 1의 메모리 어레이(38)의 일부를 도시하는 개략적 회로도이며, 특히 두 비트라인(BL1 및 BLj) 에 연결된 NAND 셀 스트링을 도시한다. 각각의 NAND 셀 스트링은 직렬로 결합되어 배치되고 서로에 대해 전기적으로 결합된 플래시 메모리 셀(50)을 갖는다. 따라서, 워드라인(WL0 내지 WLi)는 메모리 셀 스트링내의 각각의 플래시 메모리 셀(50)의 게이트에 결합된다. 플레이스 홀더 "i" 및 "j"는 정수값으로, 각각 최근 워드라인 및 비트라인을 지정한다. 신호 SSL(String select line)에 결합된 스트링 선택 장치(52)는 메모리 셀 스트링을 비트라인(BL1 또는 BLj)에 선택적으로 연결시키고, 신호 GSL(ground select line)에 결합된 접지 선택 장치(54)는 메모리 셀 스트링을 VSS와 같은 소스 라인에 선택적으로 연결시킨다. 스트링 선택 장치(52) 및 접지 선택 장치(54)는 n-채널 트랜지스터이다. 동일 워드 라인에 연결된 도 3에 도시된 2개의 NAND 셀 스트링(SSL 및 GSL)은 하나의 메모리 블록(56)의 일부이다. 따라서, 도 1에 도시된 메모리 블록에 병렬로 동일 비트라인(BL2 내지 BLj)에 연결된 복수개의 메모리 블록이 있을 수 있다.
플래시 메모리 셀(50)이 단일 비트의 데이터를 기억하는 경우, 동일 워드라인에 연결된 전체 셀(50)은 한 페이지의 데이터를 기억한다. 예로서 도 3에서, WL0에 연결된 셀은 총괄적으로 물리적 페이지 0을 칭하고, WLj에 연결된 셀은 총괄적으로 물리적 페이지 i를 칭하며, 여기서 각각은 한 페이지의 데이터를 기억한다.
프로그램될 데이터의 한 페이지를 플래시 메모리 셀의 한 페이지에 기억하기 위한 페이지 버퍼(58)가 각각의 비트라인(BL1 내지 BLj)에 결합된다. 페이지 버퍼(58)는 또한 플래시 메모리 셀의 한 페이지로부터 판독된 데이터를 감지하기 위한 감지 회로를 포함한다. 프로그래밍 동작 동안, 데이터 레지스터는 데이터가 선택된 워드라인에 결합된 플래시 메모리 셀에 적절히 프로그램된 것을 보장하도록 프로그램 검증 동작을 수행한다. 그러므로, 셀의 각각의 행은 한 페이지의 데이터를 기억한다. 개선된 밀도를 달성하기 위하여, 각각의 플래시 메모리 셀은 적어도 2 비트의 데이터를 기억할 수 있고, 이는 일반적으로 MBC(multi-bit-cell)라 칭한다. 셀 당 적어도 2 비트의 데이터를 기억하는데 있어서, 메모리 어레이의 기억 밀도는 일 비트의 데이터만을 기억하는 셀을 갖는 동일 메모리 어레이에 대해 적어도 2배가 된다.
도 4는 2-비트 플래시 메모리 셀에 대한 임계 전압 분포 그래프이다. 이는 또한 MLC(multiple level per cell) 메모리로 칭한다. 도 4는 4개의 가능한 상태, 상태 0, 상태 1, 상태 2, 상태 3을 도시하며, 이는 2-비트 플래시 메모리 셀에 의해 기억될 수 있다. 도 4의 예에 도시된 것처럼, 각각의 상태는 2비트의 데이터의 조합에 대응한다. 상태 0은 이진수값 "11"을 나타낼 수 있고, 상태 1은 이진수값 "10"을 나타낼 수 있고, 상태 2는 이진수값 "00"을 나타낼 수 있고, 상태 3은 이진수값 "01"을 나타낼 수 있다. 도 4에 도시된 이진수값은 예의 조합이며, 각 상태에 대한 이진수값 조합의 할당은 도 4에 도시된 것과는 다를 수 있다. 따라서, 동일 워드 라인에 연결된 플래시 메모리 셀의 행은 단일 비트 플래시 메모리 셀에 대한 단일 페이지의 데이터 대신에 2 페이지의 데이터를 기억할 수 있다. 물리적 페이지로 칭하는 공통 워드라인에 연결된 셀과 관련된 논리적 페이지로 칭하는 이들 2 페이지의 데이터의 논리적 조직이 이제 설명된다.
도 5는 2-비트 플래시 메모리 셀의 행내에 기억된 데이터의 하위 및 상위 페이지의 기억 장치를 도시한다. 도 5에서, 플래시 메모리 셀(70 및 72)은 제1 NAND 셀 스트링의 일부이며, 플래시 메모리 셀(74 및 76)은 제2 NAND 셀 스트링의 일부이며, 플래시 메모리 셀(78 및 80)은 메모리 블록내의 최후 NAND 셀 스트링을 나타내는 최후 NAND 셀 스트링의 일부이다. 블록의 구조에 의존하여, 제2 NAND 셀 스트링과 최후 NAND 셀 스트링 사이에 복수개의 중간 NAND 셀 스트링이 있을 수 있다. 각각의 플래시 메모리 셀은 대응하는 2-비트 이진수값 할당을 갖는 도 4에 도시된 4개의 가능한 로직 상태 중 하나를 갖는다. 도 5의 예에서, 셀(70)은 상태 3을 기억하고, 셀(72)은 상태 1을 기억하며, 셀(74)은 상태 1을 기억하고, 셀(76)은 상태 3을 기억하고, 셀(78)은 상태 2를 기억하고, 셀(80)은 상태 0을 기억한다. 이진수값은 각각의 셀에서 도시되고, 여기서 상위 비트는 도 4의 대응하는 상태에서의 최고 좌측 비트에 대응하며, 하위 비트는 최고 우측 비트에 대응한다. 워드라인(WL0)에 연결된 플래시 메모리 셀(72, 76 및 80)은 논리적 페이지 0에 대응하는 플래시 메모리 셀(72, 76 및 80)의 하위 비트를 갖는 물리적 페이지에 대응하며, 상위 비트는 논리적 페이지 1에 대응한다. 유사하게, 워드라인(WLi)에 연결된 플래시 메모리 셀(70, 74 및 78)은 논리적 페이지 k-1에 대응하는 하위 비트를 갖는 다른 물리적 페이지에 대응하고, 상위 비트는 최후 논리적 페이지 k에 대응한다. 그러므로, 어떻게 물리적 페이지가 2 페이지의 데이터를 기억하는지를 알 수 있다.
나아가, 각 플래시 메모리 셀이 3 비트의 데이터를 기억할 수 있다면, 각 셀은 23 = 8 상태를 기억할 수 있으며, 이는 각각의 물리적 페이지가 8 페이지까지의 데이터를 기억할 수 있다는 것을 의미한다. 전체 상이한 상태가 판독 동작 동안 프로그램될 수 있고 감지될 수 있다고 가정하면, 물리적 메모리 어레이 크기를 증가할 필요없이 기억 밀도를 증가시키는 것은 대용량 기억 어플리케이션에 대해 중요한 이점을 제공할 수 있다. 불행하게도, 물리적 페이지 당 2 페이지의 데이터(셀 당 2 비트)를 프로그래밍하기 위해 필요한 시간은 물리적 페이지 당 단일 페이지의 데이터를 프로그래밍하는 것에 비해 현저히 증가된다. 이 증가된 프로그래밍 시간은 셀 기억 장치 당 3 또는 그 이상의 비트가 이용되는 경우에 더욱 악화될 수 있다.
셀 당 다중 비트를 기억할 수 있는 USB 드라이브에 수개의 작은 데이터 파일을 수시로 복사하는데 필요한 시간은 사용자에 대해서 불편하지 않게 보일 수 있지만, 많은 수의 작은 데이터 파일의 수시로 기록하는 것은 현저하게 긴 시간이 소요될 것이다. 더 작은 데이터 파일의 빈번한 기록은 고체 하드 디스크 드라이브에서는 일반적이며, 이는 그 내부에 이용되는 컴퓨터 시스템 상의 성능 제한을 부과할 수 있다. 음악 및 비디오 파일과 같은 큰 데이터 파일을 셀 당 다중 비트를 기억하는 플래시 메모리에 기억시키는 것은 프로그램하기 위한 매우 현저한 지속 시간이 소요될 것이다.
플래시 메모리가 Sod 및 플래시 캐시와 같은 컴퓨터 어플리케이션에 널리 이용되므로, 고성능 플래시 메모리가 요구된다. 높은 I/O 대역, 높은 판독 및 기록 처리량 및 동작의 높은 유연성 중 하나 이상으로 고성능 동작이 얻어질 수 있음에 주목한다. 더욱이, 컴퓨팅 어플리케이션을 위한 플래시 기억 시스템은 성능을 약화시키지 않고 높은 메모리 용량을 필요로 한다.
그러므로, 2 또는 비트의 데이터를 기억하는 셀을 프로그래밍하는데 필요한 시간을 줄여서, 그 내부에서 이용되는 시스템의 전체 성능을 개선하는 것이 바람직하다.
제1 측면에 따르면, NAND 플래시 메모리 장치용의 멀티-페이지 프로그래밍 방법이 제공된다. 방법은 NAND 플래시 메모리 장치에서의 M 페이지의 데이터를 기억하는 단계를 포함하며, 여기서 M은 1 보다 큰 정수값이며, NAND 플래시 메모리 장치의 메모리 셀내에 2M 까지의 상태를 기억하기 위한 NAND 플래시 메모리 장치내의 멀티-페이지 프로그래밍 동작을 시작한다. 본 측면의 일 실시예에 따르면, 방법은 멀티-페이지 프로그래밍 동작의 완료 상태를 검사하는 단계 및 완료 상태가 완료된 멀티페이지 프로그래밍 동작에 대응하는 경우 멀티-페이지 프로그래밍 동작이 성공적인지를 결정하는 단계를 더 포함한다. 본 측면의 아래의 실시예에 따르면, 상기 기억하는 단계는 상기 NAND 플래시 메모리 장치의 각 M 페이지 버퍼에 각각의 M 페이지의 데이터를 반복적으로 로딩하는 단계를 포함할 수 있으며, 여기서 각각의 M 페이지의 데이터를 로딩하는 단계는 상기 NAND 플래시 메모리 장치에서 입력 데이터가 뒤따르는 데이터 로드 커맨드(data load command)를 수신하는 단계를 포함할 수 있다. 본 실시예에서, 입력 데이터는 데이터 및 어드레스 정보를 포함한다. 또한, 본 실시예에서, 데이터 로드 커맨드는 제1 데이터 로드 커맨드이고, 제2 데이터 로드 커맨드는 상기 제1 데이터 로드 커맨드에 대응하는 상기 입력 데이터가 수신된 이후에 수신된다. 이 실시예에서, 데이터 종료 커맨드는 상기 제1 데이터 로드 커맨드에 대응하는 입력 데이터가 수신된 이후 및 상기 제2 데이터 로드 커맨드가 수신되기 이전에 수신된다. 다르게는, M 페이지의 데이터 중 최후 페이지에 대한 데이터 종료 커맨드는, 상기 M 페이지의 데이터 중 최후 페이지에 대응하는 입력 데이터가 수신된 이후에 수신되며, 여기서 상기 데이터 종료 커맨드는 멀티-페이지 프로그램 커맨드를 포함한다.
다른 실시예에서, 상기 멀티-페이지 프로그래밍 동작은 2M-1까지의 상태를 프로그램하기 위한 2M-1 프로그래밍 반복 실행을 포함하며, 2M 상태 중 하나는 소거된 상태이다, 각각의 프로그래밍 반복은 각각의 비트라인에 대응하는 M 페이지의 데이터의 비트의 조합에 응답하여 프로그래밍을 인에이블 또는 방지하도록 상기 비트라인 각각을 바이어싱하는 것을 포함한다. 더욱이, 상기 비트라인이 프로그래밍을 인에이블 또는 방지하도록 바이어스되는 동안, 각각의 프로그래밍 반복은 각 프로그래밍 반복에 특정한 프로그래밍 프로파일로 선택된 워드라인을 구동하는 것을 포함한다.
제2 측면에서, 플래시 메모리 장치가 제공된다. 플래시 메모리 장치는 메모리 어레이, 비트라인 억세스 회로 및 행 회로를 포함한다. 상기 메모리 어레이는 워드라인에 연결되고 비트라인에 결합된 플래시 메모리 셀을 갖는다. 상기 비트라인 억세스 회로는 M 페이지의 데이터로부터 각각의 비트라인에 대응하는 비트의 조합에 응답하여 2M-1 프로그래밍 반복 각각에 대한 프로그래밍을 인에이블 또는 방지하도록 M 페이지의 데이터를 기억하고 비트라인을 바이어스한다. 상기 행 회로는 상기 비트라인이 프로그래밍을 인에이블 또는 방지하도록 바이어스되는 동안 2M-1 프로그래밍 반복 각각에 대한 프로그래밍 프로파일로 선택된 워드라인을 구동한다. 제2 측면의 실시예에 따르면, 상기 비트라인 억세스 회로는 각각이 M 페이지의 데이터 중 하나를 기억하기 위한 M개의 데이터 버퍼 및 각각의 비트라인에 대응하는 M개의 데이터 버퍼내에 기억된 M 페이지의 데이터의 비트의 조합에 응답하여 프로그래밍을 인에이블 또는 방지하도록 각각의 상기 비트라인을 바이어싱하기 위한 비트라인 바이어싱 회로를 포함한다. 이 실시예에서, 상기 M개의 데이터 버퍼 각각은 한 페이지의 데이터의 하나의 비트를 기억하기 위한 데이터 기억 회로를 포함하고, 상기 M개의 데이터 버퍼의 각각의 비트 위치는 데이터 검증 디코더 및 반전 회로를 포함한다. 상기 데이터 검증 디코더는 각각의 비트라인에 대응하는 상기 M개의 데이터 버퍼내에 기억된 M 페이지의 데이터의 비트를 수신한다. 상기 반전 회로는 데이터 디코더의 선택된 출력에 응답하여 비트를 반전시킨다.
제3 측면에서, 플래시 메모리 장치가 제공된다. 플래시 메모리 장치는 메모리 어레이, 비트라인 억세스 회로 및 행 회로를 포함한다. 메모리 어레이는 워드라인에 연결되고, 비트라인에 결합된 플래시 메모리 셀을 가지며, 각각의 플래시 메모리 셀은 소거 상태, 제1 상태, 제2 상태 및 제3 상태 중 하나에 대응하는 임계 전압을 갖도록 프로그램 가능하다. 비트라인 억세스 회로는 상기 제1 상태, 상기 제2 상태 및 상기 제3 상태를 소정의 순서로 프로그램하기 위하여 상기 비트라인을 바이어스한다. 상기 비트라인 억세스 회로는 2 페이지의 데이터로부터의 비트의 특정 조합에 응답하여 제1 상태, 제2 상태 및 제3 상태 각각에 대한 프로그래밍을 인에이블 또는 방지하기 위하여 상기 비트라인을 바이어스한다. 상기 행 회로는 상기 비트라인이 상기 제1 상태, 상기 제2 상태 및 상기 제3 상태 각각을 프로그래밍하기 위하여 바이어스되는 동안 상기 제1 상태, 상기 제2 상태 및 상기 제3 상태에 대응하는 프로그래밍 프로파일로 선택된 워드라인을 구동한다.
제4 측면에서, 플래시 메모리 장치를 프로그래밍하기 위한 방법이 제공된다. 상기 방법은 상기 플래시 메모리 장치의 페이지 버퍼로 적어도 2 페이지의 데이터를 로딩하는 단계; 상기 플래시 메모리 장치의 비트라인을 바이어싱하는 단계; 및 상기 플래시 메모리 장치의 워드라인을 구동하는 단계를 포함한다. 상기 플래시 메모리 장치의 비트라인은 적어도 2 페이지의 데이터의 데이터 비트의 로직 상태에 응답하여 상기 비트라인에 결합된 플래시 메모리 셀에 상이한 임계 전압의 프로그래밍 방지 및 프로그래밍 가능 중 하나에 대해 유효한 전압 레벨로 바이어스된다. 상기 워드라인은 상기 워드라인에 병렬로 연결된 상기 플래시 메모리 셀에 상이한 임계 전압을 프로그래밍하기 위하여 소정 시간 동안 구동된다.
제5 측면에서, 병렬의 복수개의 플래시 메모리 셀에 상이한 상태를 프로그래밍하기 위한 방법이 제공된다. 상기 방법은 각각의 플래시 메모리 셀에 대한 M 비트 데이터를 수신하는 단계 - 여기서, M은 적어도 2인 정수 - ; M 비트의 데이터에 응답하여 복수의 플래시 메모리 셀 각각에 기억하기 위한 2M의 가능한 상태 중 하나의 상태를 결정하는 단계; 임의의 전압 레벨로 복수개의 플래시 메모리 셀에 연결된 비트라인을 바이어스하는 단계 - 각각의 임의의 전압 레벨은 2M 의 가능한 상태 각각에 대응함 - ; 및 병렬의 복수개의 플래시 메모리 셀에서의 2M 까지의 상이한 상태를 프로그래밍하기 위하여 선택된 워드라인을 구동하는 단계를 포함한다.
제6 측면에서, 플래시 메모리 셀의 물리적 페이지로의 데이터의 페이지의 다중-상태 프로그래밍을 위한 비트라인 변조기 회로가 제공된다. 비트라인 변조기 회로는 프로그램 데이터 디코더 및 비트라인 바이어싱 회로를 포함한다. 상기 프로그램 데이터 디코더는 M 비트의 데이터의 로직 조합에 응답하여 M 비트의 데이터를 수신하고 디코드된 선택 신호를 제공하는데, 여기서 M은 적어도 2인 정수이고, M 비트의 데이터 각각은 페이지의 데이터 중 하나와 관련된다. 비트라인 바이어싱 회로는 상기 디코드된 선택 신호에 응답하여 2M 전압 레벨 중 하나에 비트라인을 바이어싱한다.
제7 측면에서, 플래시 메모리 장치가 제공된다. 상기 플래시 메모리 장치는 메모리 어레이, M 페이지 버퍼, 비트라인 변조기 및 행 회로를 포함한다. 상기 메모리 어레이는 워드라인에 연결되고 비트라인에 결합된 플래시 메모리 셀을 갖는다. 상기 M 페이지 버퍼는 M 페이지의 데이터를 기억하며, 여기서, M은 적어도 2인 정수이다. 상기 비트라인 변조기는 비트라인 각각에 및 M 페이지 버퍼에 결합되며, 비트라인 변조기 각각은 M 페이지의 데이터 각각으로부터의 데이터 비트의 조합에 응답하여 대응하는 비트라인에 2M 전압 레벨 중 하나를 인가한다. 상기 행 회로는 선택된 워드라인을 상기 M 페이지의 데이터를 플래시 메모리 셀의 행에 프로그램하기 위한 프로그래밍 프로파일로 구동한다.
본 발명의 다른 측면 및 특징은 첨부된 도면과 결부한 본 발명의 특정 실시예에 대한 이하 설명의 관점에서 당해 기술 분야의 당업자에게는 명백할 것이다.
본 발명의 실시는 첨부된 도면을 참조로 단지 예로서 설명될 것이다.
도 1은 NAND 플래시 메모리 장치의 기능적 블록도이다.
도 2는 단일 비트 플래시 메모리 셀에 대한 임계 전압 분포도이다.
도 3은 NAND 플래시 메모리 어레이의 NAND 셀 스트링을 도시하는 개략적 회로도.
도 4는 2-비트 플래시 메모리 셀에 대한 임계 전압 분포도이다.
도 5는 2-비트 플래시 메모리 셀내에 기억된 하부 및 상부 페이지의 데이터의 기억을 나타내는 도면이다.
도 6a 및 도 6b는 NAND 플래시에서의 2개의 프로그래밍 동작을 이용하여 셀 데이터 당 2-비트를 프로그래밍하기 위한 순서를 도시하는 도면이다.
도 7은 NAND 플래시에서의 2개의 프로그래밍 동작을 이용하여 셀 데이터 당 2 비트를 프로그래밍하기 위한 다른 순서를 도시하는 도면이다.
도 8은 본 실시예에 따른 멀티-페이지 프로그램가능 NAND 플래시 메모리의 블록도이다.
도 9는 본 실시예에 따른 멀티-페이지 프로그램 동작을 위한 플래시 메모리 장치의 동작의 방법에 대한 흐름도이다.
도 10은 본 실시예에 따른 2-페이지 멀티-페이지 프로그램 동작을 위한 플래시 메모리 장치의 동작의 방법에 대한 흐름도이다.
도 11은 본 실시예에 따른 플래시 메모리 장치의 2-페이지 멀티-페이지 프로그램 동작의 예를 도시하는 순서도이다.
도 12a는 본 실시예에 따른 플래시 메모리 장치에 대한 커맨드 및 데이터 입력 순서의 예를 도시하는 순서도이다.
도 12b는 본 실시예에 따른 플래시 메모리 장치에 대한 커맨드 및 데이터 입력 순서의 다른 예를 도시하는 순서도이다.
도 13은 본 실시예에 따른 단일 프로그래밍 동작 사이클에서 MLC 플래시 셀에 모든 로직 상태를 프로그래밍하기 위한 방법의 흐름도이다.
도 14a는 본 실시예에 따라 4개의 상이한 비트라인에 연결된 플래시 셀에 로직 상태를 프로그래밍하기 위한 멀티-페이지 프로그램 동작을 도시하는 순서도이다.
도 14b는 도 14a에서 프로그램되는 4개의 플래시 셀의 임계 전압을 도시하는 임계 전압 분포 그래프이다.
도 15a는 본 실시예에 따라 4개의 상이한 비트라인에 연결된 플래시 셀에 로직 상태를 프로그래밍하기 위한 다른 멀티-페이지 프로그램 동작을 도시하는 순서도이다.
도 15b는 도 15a에서 프로그램되는 4개의 플래시 셀의 임계 전압을 도시하는 임계 전압 분포 그래프이다.
도 16은 본 실시예에 따른 도 8에 도시된 비트라인 억세스 회로의 블록도이다.
도 17은 본 실시예에 따른 도 16의 데이터 디코더의 상세를 도시하는 개략도이다.
도 18a는 본 실시예에 따른 플래시 메모리 장치의 2-페이지 병렬 멀티-페이지 프로그램 동작을 도시하는 순서도이다.
도 18b는 도 18a에서 프로그램된 플래시 셀의 예시된 임계 전압을 도시하는 임계 전압 분포 그래프이다.
도 19a는 본 실시예에 따라 플래시 메모리 장치의 다른 2-페이지 병렬 멀티-페이지 프로그램 동작을 도시하는 순서도이다.
도 19b는 도 19a에서 프로그램된 플래시 셀의 예시된 임계 전압을 도시하는 임계 전압 분포 그래프이다.
도 20a는 본 실시예에 따른 플래시 메모리 장치의 다른 2-페이지 병렬 멀티-페이지 프로그램 동작을 도시하는 순서도이다.
도 20b는 도 20a에서 프로그램된 플래시 셀의 예시된 임계 전압을 도시하는 임계 전압 분포 그래프이다.
도 21은 플래시 메모리 셀에 대한 프로그램 방지 방법을 도시하는 흐름도이다.
도 22a는 NAND 셀 스트링의 횡단면도이다.
도 22b는 도 21의 프로그램 방지 방법의 예를 도시하는 순서도이다.
도 23은 본 실시예에 따른 병렬 다중-상태 프로그래밍을 위한 비트라인의 예시된 전압 바이어싱을 개략적으로 도시하는 회로도이다.
도 24는 본 실시예에 따른 병렬 다중-상태 프로그래밍을 위한 비트라인 억세스 회로의 블록도이다.
도 25는 본 실시예에 따른 도 24에 도시된 비트라인 변조기의 기능 블록을 개략적으로 도시하는 도면이다.
도 26은 본 실시예에 따른 도 25에 도시된 프로그램 데이터 디코더의 회로 개략적 실시예이다.
도 27은 도 25에 도시된 비트라인 바이어싱 회로의 회로 개략적 실시예이다.
도 28은 도 18a의 다중-상태 프로그래밍 실시예를 위한 제어 회로의 회로 개략적 실시예이다.
도 29는 본 실시예에 따른 병렬 다중-상태 프로그래밍을 위한 방법을 개략적으로 서술하는 흐름도이다.
본 발명은 일반적으로 플래시 메모리의 단일 프로그래밍 사이클에서 다중 논리적 페이지의 데이터를 하나의 물리적 페이지의 셀에 프로그램하는 방법에 관한 것이다. 특히, 단일 프로그램 동작 사이클에서 다중 비트의 데이터를 플래시 메모리 셀에 프로그래밍하기 위한 회로 및 방법이 설명된다. 플래시 메모리 어레이의 하나의 물리적 페이지에 프로그램될 다중 페이지의 데이터가 페이지 버퍼내에 또는 메모리 장치 상의 다른 기억 수단내에 기억된다. 프로그램될 셀에 연결된 선택된 워드라인이 상이한 시간 간격으로 소정의 프로그램 프로파일로 구동되고, 여기서 각 소정의 프로그램 프로파일은 특정 로직 상태에 대응하는 특정 임계 전압으로 소거 임계 전압을 시프트하도록 구성된다. 각 비트라인과 관련된 데이터의 각각의 페이지에 속하는 비트의 특정 로직 상태들의 조합에 응답하여, 비트라인은 각 시간 간격 동안 특정 상태들로 바이어스된다.
본 발명이 예를 들면 NOR 플래시 메모리와 같은 다른 유형의 플래시 메모리에 적용될 수 있지만, 양호한 실시예는 NAND 플래시 메모리로 수행된다.
실시예의 논의 이전에, 현재의 MLC 프로그래밍 스킴이 설명될 것이다. 통상의 MLC 플래시 메모리 아키텍쳐는 셀 당 2 비트 플래시 메모리이다. 셀 당 2 비트의 스킴에서, NAND 셀 스트링내의 각 워드라인은 제1 페이지(하위 페이지) 및 제2 페이지(상위 페이지)와 같은 2개의 논리적 페이지로 디코드된다. 도 5를 참조로, 논리적 페이지 0은 하위 페이지가 될 수 있고, 논리적 페이지 1은 상위 페이지가 될 수 있다. 이 예에서, 하위 페이지가 먼저 프로그램되고, 상위 페이지의 프로그래밍이 잇따른다. 이 순서는 도 6a 및 도 6b에 개략적으로 도시된다.
도 6a는 2 비트 플래시 메모리 셀내에 기억될 제1 비트의 데이터(1 또는 0)에 대응하는 로직 상태를 도시하는 임계 전압 분포 그래프이다. 프로그래밍 이전에, 메모리 블록의 전체 셀이 소거된다. 도 6a는 상태 0이 될 소거된 상태를 도시하는데, 본 실시예에서는 네가티브 임계 전압이다. 제1 프로그램 동작 사이클에서, 대응하는 비트는 기억될 비트의 로직 상태에 의존하여 상태 1로 프로그램되거나 또는 상태 0을 유지한다. 도 6b는 제2 비트의 데이트(1 또는 0)을 프로그래밍하기 위한 가능한 순서를 도시하는 다른 임계 전압 분포 그래프로서, 또한, 도 6a에서 프로그램된 셀에 대한 상위 페이지의 비트로 칭한다. 그 다음의 프로그래밍 사이클에서, 상위 페이지에 대응하는 이 제2 비트가 프로그램된다. 이 제2 비트의 로직 상태는 상태 2 및 상태 3이 프로그램되는지 및 어떻게 프로그램되는지를 결정한다. 예를 들면 상태 0 및 상태 1이 도 4에 도시된 이진수 할당을 갖고, 프로그램될 제2 비트(최좌측 비트)가 로직 1인 경우, 상태 0 및 상태 1 모두가 로직 1에 할당된 상위 비트를 가지므로, 상태 2 또는 상태 3을 프로그램할 필요가 없다. 반면에, 프로그램될 제2 비트가 로직 0인 경우, 상태 2 또는 상태 3의 프로그래밍이 필요하다.
본 실시예의 상태 2 또는 상태 3의 프로그래밍에서, 최초에 하위 비트로 프로그램된 로직 상태가 유지된다. 그러므로, 도 6b에 도시된 것처럼, 상태 0에 대응하는 임계 전압은 상태 3에 대응하는 임계 전압으로 시프트되거나 또는 상태 1에 대응하는 임계 전압은 상태 2에 대응하는 임계 전압으로 시프트된다. 그러므로, 도시된 로직 상태(상태 0 내지 상태 3)는 상위 및 하위 비트의 상이한 로직 조합을 인코드한다. 도 6a 및 도 6b는 셀 당 2비트의 데이터를 프로그래밍하기 위한 2 사이클 프로그래밍 스킴을 도시한다. 도 7은 각 로직 상태에 대한 비트 할당에 의존하여 임계 전아바이 상이한 레벨로 시프트될 수 있음을 도시하는 다른 2 사이클 프로그래밍 스킴을 개략적으로 나타내는 임계 전압 분포 그래프를 도시한다. 두 도시된 예에서, 셀 당 2 비트를 프로그래밍하기 위하여, 2개의 개별 프로그래밍 사이클이 필요하다. 각각의 프로그래밍 사이클은 어드레스 정보를 갖는 커맨드 및 데이터의 페이지를 수신하는 것을 포함하며, 데이터 비트가 적절히 프로그램된 것을 보장하기 위하여 메모리 장치가 프로그램 검증 동작이 잇따르는 제1 데이터 페이지를 프로그램하도록 하는 것을 포함한다.
물리적 페이지 당 2개의 비트 데이터 기억을 위해 구성된 종래 기술의 MLC NAND 플래시 메모리에서, 하위 페이지 및 상위 페이지에 대한 페이지 프로그램 시간은 상이함에 유의해야 한다. 일반적으로, 하위 페이지에 대한 페이지 프로그램 시간은 이하의 이유로 인하여 상위 페이지에 대한 페이지 프로그램 시간 보다 거의 30% 더 빠르다. 하위 페이지 프로그래밍 사이클은 상태 0에서 상태 1까지의 셀 프로그래밍만을 필요로 하나, 상위 페이지 프로그래밍 사이클은 상태 2 또는 상태 3 프로그래밍 중 어떤 것이 필요한지를 결정하기 위하여 하위 페이지 데이터의 판독 동작을 더 포함한다. 더욱이, 상태 2 또는 상태 3에 대한 프로그래밍 프로파일은 보다 정교하고 상태 1의 프로그래밍 보다 더 시간이 소요된다. 그러므로, MLC 메모리에서 다중 페이지를 하나의 물리적 페이지에 프로그래밍하는 것은 SLC 메모리에서 동일한 수의 다중 페이지를 그 자신의 물리적 페이지에 프로그래밍하는 것에 비해 현저하게 더 긴 양의 시간이 소요될 것이다.
당업자에게는 더 긴 프로그래밍 시간을 거쳐야 하는 플래시 메모리 셀이 셀의 게이트 산화물을 훼손시킬 수 있어서, 그 신뢰성을 떨어트린다는 점이 공지되어 있다. 이 문제점은 프로세스 기술의 연속적인 스케일 줄임에 의해 복합적이 된다. 피쳐 사이즈가 작아지고 게이트 산화물이 얇아짐에 따라, 긴 프로그래밍 시간으로 인한 프로그램 처리량 저하는 심각한 문제가 된다. 또한, 프로그램 스트레스는 현저한 문제가 되어 장치 신뢰성에 영향을 미치고 장치 수명을 단축시킨다.
현재의 다중 페이지 프로그래밍 스킴의 단점을 처리하기 위하여, 단일 프로그램 동작 사이클에 플래시 메모리 셀에 다중 비트의 데이터를 프로그래밍하기 위한 회로 및 방법이 설명된다. 플래시 메모리 어레이의 하나의 물리적 페이지로 프로그램될 다중 페이지의 데이터가 페이지 버퍼내에 기억되거나 또는 메모리 장치 상의 다른 기억 수단에 기억된다. 프로그램될 셀에 연결된 선택된 워드라인이 상이한 시간 간격에서 선정된 프로그램 프로파일로 구동되며, 여기서 각각의 소정의 프로그램 프로파일은 특정 로직 상태에 대응하는 특정 임계 전압으로 소거 임계 전압을 시프트하도록 구성된다. 비트라인은 각 시간 간격 동안 구동되는 선택된 워드라인에 연결되는 메모리 셀의 프로그래밍을 인에이블 또는 방지하는데 유효한 전압 레벨로 바이어스된다. 비트라인에 인가할 특정 전압 레벨은 각 비트라인과 관련되는 데이터의 각 페이지에 속하는 비트의 특정 로직 상태의 조합에 의존한다. 실시예는 셀 당 m 비트의 MLC 메모리에 적용될 수 있는데, 여기서 m은 정수이다. 셀 당 m 비트의 MLC 메모리를 참조하는 것을 셀의 각각의 물리적 페이지가 m 논리적 페이지를 기억할 수 있음을 의미함이 주목된다.
도 8은 본 실시예에 따른 플래시 메모리 장치의 블록도이다. 도 8은 현재 설명되는 다중-페이지 프로그래밍 실시예에 이용되는 회로 블록을 도시하는데 국한된다. 당업자라면 생략된 회로 블록은 도 1에 도시된 것을 포함할 수 있음을 이해할 것이다. 도 8의 메모리 장치는 다중 페이지의 데이터를 기억하며, 단일 프로그램 사이클에서 페이지를 선택된 물리적 페이지로 프로그램한다.
메모리 장치(100)는 메모리 어레이(102), 행 회로(104), 고전압 제너레이터(106), 제어 회로(108) 및 비트라인 억세스 회로(110)를 포함한다. 메모리 어레이(102)는 NAND 셀 스트링 구조 또는 NOR 구조와 함께 배치되고, 비트라인 및 워드라인에 결합된 플래시 메모리 셀을 포함한다. 메모리 어레이(102)는 비트라인 BL[1] 내지 BL[j]을 가지며, BL[j]는 메모리 어레이내의 최후 비트라인이고, j는 정수이다. 메모리 어레이(100)는 뱅크 또는 서브-어레이로 조직화될 수 있다. 행 회로(104)는 뱅크, 블록 및 워드라인을 선택하기 위한 행 어드레스 디코더와 같은 어드레스 디코딩 회로 및 판독, 프로그램 및 소거 동작 동안 워드라인에 다양한 전압을 인가하기 위한 드라이버를 포함한다. 고전압 제너레이터(106)는 행 회로에 외부에서 제공되는 공급 전압 보다 큰 하나 이상의 포지티브 및/또는 네가티브 전압을 제공한다. 제어 회로(108)는 플래시 메모리 장치(100)의 각종 알고리즘을 실행하고, 플래시 메모리 장치(100)의 회로를 제어하기 위한 적절한 타이밍으로 제어 신호를 어서팅(asserting)하는 역할을 한다. 특히, 제어 회로(108)는 본 실시예에 따라 행 회로(104) 및 멀티-페이지 프로그래밍을 위한 비트라인 억세스 회로(110)의 제어를 조절하도록 구성된 로직을 포함한다.
본 실시예에 따르면, 비트라인 억세스 회로(110)는 소정 순서로 상이한 시간에 및 특정 프로그래밍 프로파일로 구동되는 워드라인과 함께 자신에 연결된 메모리 셀의 모든 가능한 상태를 프로그래밍하기 위하여 각각의 비트라인을 바이어스한다. 각 비트라인은 메모리 장치(100)내에 기억된 데이터의 페이지의 대응하는 비트 위치로부터 비트의 특정 조합에 응답하여 특정 시간에서의 프로그래밍을 인에이블 또는 방지하기 위하여 바이어스된다. 이러한 데이터의 페이지는 비트라인 억세스 회로(110)에 기억된다. 비트라인 억세스 회로(110)는 페이지 버퍼(112) 및 적어도 하나의 멀티-페이지 프로그램 버퍼(114)를 포함한다. 페이지 버퍼(112)는 감지 증폭기, 열 디코딩 회로 및 프로그램 검증 로직과 같은 회로를 갖는 기존의 페이지 버퍼일 수 있다. 다르게는, 프로그램될 데이터의 페이지를 기억하기 위하여 데이터 레지스터가 이용될 수 있다. 페이지 버퍼(112)는 프로그램될 제1 페이지 데이터를 기억하는데 이용될 수 있다. 비트라인 억세스 회로(110)는 각 비트라인에 연결된 메모리 셀이 특정 로직 상태에 대응하는 최종 임계 전압으로 프로그램되었음을 보장하기 위한 멀티페이지 프로그래밍 로직 회로를 포함한다.
본 실시예에서, 메모리 장치(100)는 셀 당 2 비트 데이터 기억을 위하여 구성되므로, 프로그램될 제2 페이지 데이터를 기억하기 위한 하나의 멀티-페이지 프로그램 버퍼(114)가 있다. 추가 멀티페이지 프로그램 버퍼(114)가 다른 실시예에 포함될 수 있는데, 여기서 2 페이지의 데이터 이상이 메모리 장치(100)의 물리적 페이지내에 기억된다. 버퍼(114)는 또한 제2 페이지의 데이터의 제1 비트가 기억될 시작 열 어드레스를 수신하기 위한 열 디코딩 로직을 포함한다. 두 페이지 버퍼(112 및 114)는 동일한 사이즈로, 페이지 버퍼(112)는 제1 페이지의 데이터의 데이터 비트 DATA1_[1] 내지 DATA1_[j]를 기억하며, 각각은 각각의 비트라인 BL[1] 내지 BL[j]에 대응하며, 여기서 j는 버퍼(112)의 최후 비트 위치를 나타내는 정수이다. 페이지 버퍼(114)는 제2 페이지의 데이터의 데이터 비트 DATA2_[1] 내지 DATA2_[j]을 기억하며, 각각은 각각의 비트라인 BL[1] 내지 BL[j]에 대응한다.
아래는 본 실시예에 따른 멀티페이지 프로그래밍을 위해 구성된 플래시 메모리 장치의 제어 방법에 대해 논의한다. 도 9는 전술한 멀티-페이지 프로그래밍을 위해 구성된 플래시 메모리 장치를 동작시키는 방법의 흐름도로서, 메모리 제어기 기능을 갖는 메모리 제어기 또는 컴퓨터 시스템을 포함하나 이에 제한되지는 않는 호스트 시스템에 의해 실행될 수 있다. 현재 설명되는 방법에 따라 제어될 수 있는 예시된 플래시 메모리 장치는 도 8에 도시된 구성을 가질 수 있다.
도 9의 방법은 300에서 시작하며, m 까지의 페이지의 데이터는 플래시 메모리 장치에 의해 인식되는 적절한 커맨드를 통해 플래시 메모리 장치의 페이지 버퍼에 반복적으로 로딩된다. 예를 들면 도 8의 회로 실시예를 참조하면, 제1 페이지의 데이터는 페이지 버퍼(112)내에 기억되고, 제2 페이지 버퍼는 페이지 버퍼(114)내에 기억된다. 단계 302에서, 멀티-페이지 프로그래밍 동작은, 하나의 물리적 페이지에 프로그램될 전체 데이터의 페이지가 플래시 메모리 장치에 로딩된 이후에, 플래시 메모리 장치에서 시작된다. 멀티-페이지 프로그래밍 동작의 시작은 플래시 메모리 장치에 의해 인식되는 커맨드를 통해 수행될 수 있다. 플래시 메모리 장치는 논리적 페이지를 단일 물리적 페이지로 프로그램하기 위한 내부 동작을 실행한다. 본 실시예의 메모리 장치의 내부 멀티페이지 프로그래밍 동작은 후에 상세히 설명될 것이다. 호스트 시스템은 플래시 메모리 장치의 프로그래밍 상태를 검사하기 위하여 상태 요청 커맨드를 거쳐 단계 304에서 플래시 메모리 장치를 폴링(poll)할 것이다. 상태 요청 커맨드에 응답하여, 플래시 메모리 장치는 그 데이터 출력 포트로부터 프로그래밍 동작이 완료된지 여부를 나타내는 상태 비트를 출력할 것이다. 단계 306에서, 호스트 시스템은 복귀하는 상태 신호에 의존하여 플래시 메모리 장치에 의한 프로그래밍이 완료되었는지 여부를 결정할 것이다. 프로그래밍이 완료된 경우, 방법은 단계 308로 진행하고, 그게 아니면 호스트 시스템은 그 상태 요청을 차후에 다시 재발행하고, 방법은 단계 304로 복귀한다.
플래시 메모리 장치의 멀티-페이지 프로그래밍 동작의 성공 또는 실패의 결정이 단계 308에서 이뤄지고, 이는 호스트 시스템에 의한 다른 요청을 통해 수행될 수 있다. 이러한 요청에 응답하여, 플래시 메모리 장치는 멀티-페이지 프로그래밍의 성공 또는 실패를 나타내는 다른 신호를 출력할 수 있다. 프로그래밍이 성공적인 경우, 방법은 단계 310으로 진행하고, 호스트 시스템은 예를 들면 다른 멀티-페이지 프로그램 동작과 같은 플래시 메모리 장치와의 다른 동작을 시작할 수 있다. 반면에, 멀티-페이지 프로그래밍이 실패하는 경우, 방법은 단계 312로 진행한다. 이 점에서, 데이터는 상이한 행 어드레스로 또는 상이한 플래시 메모리 장치로 재프로그램될 수 있거거나 또는 호스트 시스템은 간단히 에러가 발생했고 데이터가 플래시 메모리 장치에 기록되지 않았음의 통지를 제공한다. 플래시 메모리 장치에 의해 제공된 상태 신호는 플래시 메모리 장치의 레지스터에 기록되고, 이는 특정 커맨드에 응답하여 출력될 수 있음이 주목된다.
도 9의 방법은 메모리 장치의 단일 물리적 페이지에 m개의 논리적 페이지를 프로그램하기 위하여 메모리 장치를 제어하는 일반적인 방법이다. 많은 현재의 가능한 플래시 메모리 장치는 메모리 장치의 단일 물리적 페이지에 2개의 논리적 페이지의 데이터를 기억할 수 있다. 도 10은 본 실시예에 따른 2-페이지 프로그램 동작을 위하여 플래시 메모리 장치를 동작시키는 방법을 도시한다. 도 10에 도시된 방법은 도 11을 참조로 설명되며, 이는 본 실시예의 메모리 장치의 동작의 일반적 순서도를 도시한다. 도 11은 메모리 장치에 대한 입력 출력 포트(I/O), 메모리 장치의 선택된 워드라인(WL), 비트라인(BL[1:j])의 신호 궤적을 도시한다. 도 10의 방법은 단계 350에서 시작하여, 제1 페이지의 데이터가 메모리 장치에 제공되며, 메모리 장치의 제1 페이지 버퍼내에 기억된다. 도 11에 도시된 것처럼, 데이터 페이지 1이 단계 360에서 I/O 포트에서 수신된다. 그 직후에, 제2 페이지의 데이터가 단계 352에서 메모리 장치에 제공되며, 이는 메모리 장치의 제2 페이지 버퍼내에 기억된다. 도 11에 도시된 것처럼, 데이터 페이지 2는 단계 362에서 I/O 포트에서 수신된다. 이 점부터, 단계 302 내지 312는 도 9에 대해 도시되고 설명된 것과 동일하다. 멀티페이지 프로그래밍이 도 11의 멀티페이지 프로그램 시작 커맨드(364)를 통해 단계 302에서 시작된다.
일단 멀티페이지 프로그래밍이 메모리 장치내에서 시작되면, 선택된 워드라인(WL)은 3개의 상이한 시간 구간에서 각각이 소정의 프로그래밍 프로파일로 구동된다. 상태 중 하나가 디폴트 소거 상태이므로, 셀 당 4개의 가능한 상태 중 3개만이 프로그램됨에 주목해야 한다. 도 11에서, 단계 366, 368 및 370에서 하이 로직 레벨로 구동되는 3개의 시간 구간이 워드라인(WL)에서 도시된다. 메모리 장치에서, 워드라인(WL)은 각 시간 구간 동안 특정 시간량에 대해 상이한 전압 레벨로 구동될 수 있다. 일 실시예에서, 셀에 방금 프로그램된 임계 전압을 유효화하기 위한 각각의 시간 구간 이후에 프로그램 검증 동작이 실행될 수 있다. 본 예의 실시예에서, 시간 구간 366의 종료 지점에서, 특정 메모리 셀이 상태 1(ST1)에 대응하는 최종 임계 전압을 가질 것이고, 시간 구간 368의 종료 시점에서, 특정 메모리 셀이 상태 2(ST2)에 대응하는 최종 임계 전압을 가질 것이며, 시간 구간 370의 종료 시점에서, 특정 메모리 셀이 상태 3(ST3)에 대응하는 최종 임계 전압을 가질 것이다 시간 구간 370가 경과한 이후에, 단계 304 내지 312가 실행되고, 프로그램 사이클은 도 11의 단계 372에서 종료하고, 메모리 장치는 멀티페이지 프로그래밍 동작이 성공적인지 여부를 그 상태 레지스터를 통해 메모리 제어기에 보고한다.
도 12a는 본 실시예에 따른 플래시 메모리 장치에 대한 커맨드 및 데이터 입력 순서 예를 도시하는 순서도이다. 새로운 도 11a는 메모리 장치에 의해 제공된 메모리 장치 입력/출력 포트(I/O) 및 레디/비지 신호(R/B#)에 대한 신호 궤적을 도시한다. 본 예의 커맨드 및 데이터 입력 순서는 2-페이지 멀티페이지 프로그램 동작에 대해 도시된다. 도 12a에 도시된 커맨드는 메모리 장치에 의해 현재 설명된 것과 동일한 기능을 가지는 것으로 이해되는 임의의 포맷으로 제공될 수 있다. 새로운 도 11a의 좌측부터 시작하여, 수신될 제1 커맨드는 데이터 로드 커맨드(380)이고, 다음으로 어드레스 정보(382) 및 데이터 기록(384)을 포함하는 입력 데이터가 잇따른다. 어드레스 정보(382)는 뱅크, 행 및 열 어드레스 정보를 포함할 수 있고, 데이터 기록(384)은 메모리 장치에 프로그램될 데이터의 페이지이다. 입력 데이터의 종료를 나타내는 데이터 종료 커맨드(386)가 수신된다. 이 시점까지, R/B# 신호가, 메모리 장치가 레디(ready) 사태에 있고 I/O 포트 상에 나타나는 정보를 수신하는 것이 유효함을 나타내는, 하이 로직 레벨에 있다. 데이터 종료 커맨드(386)가 수신된 이후에, 메모리 장치는 R/B#가 매우 짧은 시간 구간 동안 로우 로직 레벨로 떨어지는 비지(busy) 상태로 진입할 수 있다.
R/B#가 하이 로직 레벨로 상승한 이후에, 메모리 제어기는 다른 데이터 로드 커맨드(388)를 발행함에 의해 멀티페이지 프로그래밍 동작을 재개할 수 있다. 다음으로 어드레스 정보(390) 및 기록 데이터(392)를 포함하는 입력 데이터의 제2 셋이 잇따른다. 어드레스 정보는 어드레스 정보(382)에서와 동일한 열 어드레스를 포함할 수 있지만, 제2 논리적 페이지와 같은 기록 데이터를 지정하는 상이한 행 어드레스를 가질 수 있다. 최종 데이터 종료 및 멀티-페이지 프로그램 커맨드(394)가 수신되어 기록 데이터의 종료를 나타내고, 메모리 장치의 내부 멀티페이지 프로그래밍 동작을 시작한다. 커맨드(394)는 개별 데이터 종료 커맨드 및 개별 멀티페이지 프로그램 커맨드로서 제공될 수 있다. 그후, R/B# 은 논리적 페이지를 메모리 장치의 물리적 페이지로 프로그램하는데 필요한 시간 구간 동안 로우 로직 레벨로 떨어진다.
도 12b는 도 12a의 커맨드 및 입력 데이터 순서의 변형을 도시한다. 이 실시예에서, 메모리 장치는 커맨드(386과 388) 사이의 짧은 비지 기간을 가질 수 있고, 데이터 종료 커맨드(386)의 수신은 필요하지 않다. 그러므로, 제2 데이터 로드 커맨드(388)는 기록 데이터(384)에 대한 데이터 종료 커맨드의 역할을 할 수도 있다. 도 12a 및 도 12b는 멀티페이지 프로그래밍을 할 수 있는 메모리 장치를 제어하기 위한 커맨드 및 데이터 입력 순서의 예이나, 내부 멀티페이지 프로그래밍이 잇따르는 메모리 장치의 페이지 버퍼의 로딩을 초래하는 임의의 커맨드 및 데이터 입력 순서가 이용될 수 있다.
전술한 것처럼, 전체 비트라인에 연결된 메모리 셀은 일 프로그래밍 사이클에서 그들 각각의 로직 상태로 프로그램되어, 두 데이터의 페이지 모두를 동일한 물리적 페이지로 프로그래밍하기 위한 그 다음의 프로그래밍 사이클을 시작하기 이전에, 이전 프로그래밍 사이클에서 이전에 프로그램된 데이터의 페이지를 판독할 필요성을 방지한다. 다음은 메모리 셀의 메모리 셀에 전체 가능한 로직 상태를 프로그래밍하기 위한 상이한 기술에 대해 논의한다.
도 13은 본 실시예에 따른 다중 페이지 데이터를 메모리의 하나의 물리적 페이지로 프로그래밍하기 위한 방법의 흐름도이다. 멀티페이지 프로그래밍 동작에서 프로그램될 전체 페이지가 메모리 장치의 페이지 버퍼로 로딩되었음을 가정한다. 더욱이, 전체 메모리 셀이 현재 소거된 상태이고, 예를 들면 네가티브 임계 전압을 가질 수 있다고 가정한다. 이 소거된 상태는 도 14b에 도시된 것처럼, ST0로 칭한다. 상이한 상태가 대응하는 임계 전압을 증가시키는 순서로 프로그램된다. 본 실시예에서, 제1 프로그램 상태(ST1)가 프로그램되고, 다음으로 제2 프로그램 상태(ST2), 다음으로 제3 프로그램 상태(ST3)가 프로그램된다. 도 13의 멀티-페이지 프로그래밍 방법이 예로든 셀 당 2 비트 프로그래밍 시나리오를 참조로 설명된다. 선택된 워드라인(WL) 및 4개의 비트라인(BL1, BL2, BL3 및 BL4)에 대한 신호 궤적을 도시하는 타이밍도인 도 14a 및 선택된 워드라인 및 비트라인(BL1, BL2, BL3 및 BL4)각각에 연결된 셀에 대한 임계 전압의 프로그래밍을 도시하는 도 14b가 참조된다. 이 시나리오에서, BL1, BL2, BL3 및 BL4에 연결된 메모리 셀은 각각이 ST1, ST2, ST3 및 ST4에 대응하는 임계 전압을 기억하기 위한 것이다.
방법은 단계 400에서 시작해서, 프로그램될 제1 상태(ST1)(여기서 n=1)를 위한 비트라인 바이어싱은 전체 비트라인에 대해 결정된다. 보다 구체적으로, 비트라인은 로우 로직 레벨(VSS)과 같은 프로그래밍을 가능하게 하는데 충분한 제1 전압으로 또는 하이 로직 레벨(VDD)과 같은 메모리 셀의 프로그래밍을 방지하기에 충분한 제2 전압으로 바이어스된다. 도 14a에서 t1 이전 시간에서, 선택된 워드라인(WL)은 VSS의 인엑티브 레벨에 유지된다. 단계 402로 진행하여, 비트라인은 제1 프로그램 상태(ST1) n=1의 프로그래밍 또는 프로그래밍 방지를 위해 바이어스된다. 상태 ST2 및 ST3가 상태 ST1에 대응하는 임계 전압 보다 큰 최종 임계 전압을 가지므로, 비트라인(BL1, BL3 및 BL4)은 BL2를 따라 VSS로 바이어스된다. 단계 404 이후에, 선택된 워드라인은 로우 로직 레벨로 바이어스되는 비트라인에 연결된 임의의 플래시 메모리 셀을 프로그램하도록 구동된다. 도 14a에서, 선택된 워드라인(WL)은 시간(t1)에서 대표 하이 로직 레벨로 구동된다. 이 대표 하이 로직 레벨은 n=1 프로그램 상태에 대응하는 임계 전압을 프로그래밍하기에 유효한 프로그래밍 프로파일의 적용을 도시하는데 이용된다. 실제 사용에서, 워드라인은 하이 전압 레벨로 구동될 수 있거나 또는 공지의 워드라인 프로그래밍 제어 스킴에 따라 스탭(stepped)될 수 있다. 상태 n=1에 대한 프로그래밍이 상태 n=1에 대한 특정 프로그래밍 프로파일에 의해 결정되는 시간에서 종료할 것이며, 이 시간에서 선택된 워드라인은 단계 406에서 리셋된다.
도 14a에서, WL을 VSS로 리셋하는 것은 시간(t2)에서 발생한다. t1과 t2에 의해 경계지워지는 시간 구간은 프로그램 사이클의 제1 반복이다. 도 13에 도시되지 않았지만, 시간(t2) 이후에 메모리 셀내에 기억된 ST1의 임계 전압을 유효화하기 위하여 프로그램 검증 동작이 실행된다. 이 예를 목적으로, 전체 메모리 셀이 적절한 임계 전압으로 성공적으로 프로그램된다고 가정한다. 이상적으로는, 도 14b에 도시된 것처럼, BL2에 연결된 플래시 메모리 셀은 ST1에 대응하는 최종 임계 전압을 가질 것이다. 그러나, BL1, BL3 및 BL4에 연결된 메모리 셀은 도 14b에서 대시된 임계 전압 분포 곡선으로 도시된 것처럼 ST1에 대응하는 중간 임계 전압을 가져야 하며, 이들은 이들 비트라인에 연결된 셀에 대한 최종 임계 전압이 아니다. 도 13으로 돌아가서, 프로그램된 상태가 프로그램될 최후 상태인지가 단계 408에서 결정된다. 아니면, 프로그램될 추가 상태가 있고, 방법은 단계 412로 진행되며, 여기서 n은 증가(n=2)되어, 그 다음의 반복시에 프로그램될 다음 상태를 나타낸다. 방법은 다음으로 단계 400로 복귀하여, 스텝 ST2에 대한 비트라인 바이어싱이 결정된다. BL2에 연결된 메모리 셀이 ST1의 최종 상태를 가지는 것이 의도되므로, 프로그램 검증 회로는 BL2가 본 프로그램 사이클에서 전체 차후의 프로그래밍 반복을 위한 프로그래밍을 가능하게 하는 VSS 전압을 수신하는 것을 방지할 것이다.
단계 402, 404 및 406은 ST2에 대응하는 제2 프로그램 상태 n=2를 프로그램하도록 제2 반복에서 반복된다. 도 14a의 예에서, 이 제2 반복은 시간 t3와 t4 사이에 발생하고, 여기서 BL1, BL3 및 BL4는 프로그래밍을 위해 바이어스된다. 도 14b에 도시된 것처럼, BL1 및 BL4에 연결된 플래시 메모리 셀은 ST2에 대응하는 최종 임계 전압을 가지며, BL3에 연결된 메모리 셀은 ST2에 대응하는 중간 임계 전압을 가진다. 워드라인이 단계 406에서 리셋된 이후에, BL1 및 BL4는, 이들 2개의 비트라인에 연결된 메모리 셀이 ST2의 최종 상태를 가지는 것이 의도되므로, 임의의 차후의 프로그래밍 반복에서 임의의 추가 VSS 전압을 수신하는 것이 방지된다.
ST3에 대응하는 프로그램 상태가 아직 프로그램되어야 하므로, 단계 400, 402, 404 및 406의 제3 반복이 ST3에 대응하는 제3 프로그램 상태 n=3을 프로그램하도록 제3 반복에서 반복된다. 도 14a의 예에서, 이 제3 반복은 시간 t5와 t6 사이에서 발생하며, BL3는 프로그래밍을 위하여 VSS로 바이어스된다. 도 14b에 도시된 것처럼, BL3에 연결된 플래시 메모리 셀은 ST3에 대응하는 최종 임계 전압을 가진다. 프로그램 상태 n=3이 프로그램될 최후 상태이므로, 프로그래밍 사이클은 단계 410에서 종료할 것이다.
그러므로, 상술한 멀티페이지 프로그래밍 방법에서, 프로그램되는 현재 임계 전압 보다 큰 최종 임계 전압을 갖는 임의의 메모리 셀이 동일한 시간에서 증가되는 그 임계 전압을 가질 것이다. 그러므로, 제조 공정, 장치 기하학 및 각 상태에 대한 소망된 임계 전압을 기초로, 특정 프로그램 반복을 위한 각각의 워드라인 프로그래밍 프로파일이 메모리 셀의 임계 전압을 소망된 임계 전압으로 변경하기 위한 누적 효과를 가지도록 연구된다. 도 14a의 실시예에서, BL1에 대한 시간 t3와 t4 사이의 프로그램 반복이 중간 상태 ST1으로부터 메모리 셀의 임계 전압을 최종 상태 ST2에 대응하는 임계 전압으로 시프트한다.
다른 실시예에 따르면, 각 워드라인 프로그래밍 프로파일은 소거 임계 전압을 최종 상태에 대응하는 임계 전압으로 직접 시프트하거나 변경하도록 연구될 수 있다. 이 실시예는 도 15a 및 도 15b에 도시된다. 동일한 상태가 도 14a 및 도 14b에 도시된 예에서 BL1, BL2, BL3 및 BL4에 연결된 메모리 셀에 프로그램되는 것으로 가정한다. 도 15a 및 도 15b의 본 실시예에서, 비트라인은 일 프로그램 반복의 지속 기간 동안 프로그래밍을 가능하게 하기 위한 전압 레벨로 바이어스만 되고, 여기서 워드라인은 특정 프로그래밍 프로파일로 구동된다. 도 15a에 도시된 것처럼, BL1은 워드라인이 시간 t3에서 구동되기 직전에 VSS의 로우 로직 레벨로 구동되고, 다음으로 워드라인이 시간 t4에서 디어서트된 직후에 VDD의 하이 로직 레벨로 다시 구동된다. 도 15b에 도시된 것처럼, 비트라인 BL1에 연결된 메모리 셀의 소거 임계 전압이 상태 ST2에 대응하는 임계 전압으로 직접 시프트된다. 비트라인 BL2, BL3 및 BL4에 대한 유사한 바이어싱 순서가 상태 ST1, ST2 및 ST3을 각각 프로그래밍하기 위하여 도 15a에 도시된다. 따라서, 각각이 소거 임계 전압을 ST1, ST2 및 ST3에 대응하는 각각의 임계 전압으로 시프트하기에 효과적인 3개의 특정 워드라인 프로그래밍 프로파일이 존재하며, 비트라인은 그 특정 상태에 대한 프로그래밍을 가능하게 하도록 바이어스되며, 전체 다른 상태에 대해서는 프로그래밍을 방지하도록 바이어스된다.
도 14a 및 도 15a의 멀티페이지 프로그래밍 실시예에 대한 각종 프로그래밍 프로파일에 대한 선택된 워드라인의 타이밍 및 전압 레벨 제어가 고전압 제너레이터(106) 및 행 회로(104)를 통해 도 8의 제어 회로(108)에 의해 제공된다. 양 실시예에서, 비트라인을 바이어싱하기 위한 타이밍은 제어 회로(108)에 의해 페이지 버퍼내에 기억된 데이터의 페이지에 응답하여 제어된다.
도 14a 및 도 15a에 도시된 멀티페이지 프로그래밍 스킴에서의 데이터의 프로그래밍 또는 데이터의 프로그래밍의 방지를 위한 비트라인 각각의 바이어싱이 도 8의 페이지 버퍼(112 및 114)내에 기억된 비트의 로직 상태에 응답하여 수행될 수 있다. 예를 들면, 비트라인에 대응하는 페이지 버퍼(112 및 114)내에 기억된 한 쌍의 비트의 특정 로직 상태가 선택된 메모리 셀의 프로그래밍을 가능하게 하기에 유효한 전압 레벨로 바이어스된다. 예를 들면 도 4를 참조하면, 상태 1, 상태 2 및 상태 3 각각은 적어도 하나의 비트가 로직 0인 한 쌍의 비트를 가진다. 그러므로, 이 예에서, 하나의 비트라인에 대응하는 한 쌍의 비트의 적어도 하나의 로직 0 비트의 존재가 프로그래밍을 가능하게 하기에 유효한 전압 레벨로 비트라인을 바이어싱하기 위하여 검출될 수 있다. 그렇지 않다면, 한 쌍의 비트 모두가 로직 1인 경우, 비트라인은 그 비트라인에 연결된 선택된 메모리 셀의 프로그래밍을 방지하기 위하여 효과적인 전압 레벨로 바이어스된다. 도 4의 상태 0가 로직 1에서 두 비트를 갖는다는 점이 주목된다. 상태 0가 디폴트 소거 상태이므로, 이와 관련된 이진수값 "11"을 갖는 임의의 비트라인이 프로그래밍을 방지하기 위하여 바이어스된다.
그러므로, 도 4의 상태 0, 상태 1, 상태 2 및 상태 3에 할당된 이진수의 예가 도 14a에 도시된 멀티페이지 프로그래밍 스킴에서의 비트라인을 제어하기 위하여 유리하게 이용된다. 보다 구체적으로, 그 비트라인을 위한 최종의 소망된 프로그램 상태가 특정 프로그래밍 반복 이후에 검층된 경우에는, 차후의 프로그래밍 반복에서의 추가 프로그래밍을 방지하기 위하여 각 프로그래밍 반복 이후에 특정 비트라인이 하이 로직 레벨로 바이어스된다. 반면에, 이 특정 프로그래밍 반복이 중간 상태의 성공적인 프로그래밍을 초래하는 경우, 비트라인은 차후의 프로그래밍 반복에서의 추가 프로그래밍을 위하여 바이어스가 유지되어야 한다. 이는 각 비트라인에 대응하는 비트 쌍의 로직 상태를 상이한 값으로 토글링함에 의해 달성될 수 있다.
일 예에서, 한 쌍의 비트의 로직 상태는 최종 상태가 프로그램되었음을 나타내는 이진수값 "11"로 토글되거나 또는 중간 상태가 프로그램되었음을 나타내는 적어도 하나의 로직 0를 포함하는 이진수값으로 토글될 수 있다. 데이터 상태 천이 법칙은 하나의 최초 데이터 상태에서 하나 이상의 중간 상태로의 및 최종적으로는 최종 상태로의 데이터 천이를 보장하도록 수행될 수 있다.
도 4에 도시된 이진수값 할당의 예 및 프로그래밍을 인에이블하기 위한 한 쌍의 비트에서 적어도 하나의 로직 0의 존재를 이용하여, 이하의 데이터 천이 규칙의 예가 개발될 수 있다:
(1) "10"에서 "11"
(2) "00"에서 "10"
(3) "01"에서 "00"
표 1은 도 14a에 도시된 비트라인 BL1, BL2 및 BL3에 대한 이들 데이터 천이 규칙의 적용 예를 도시한다. 표 1에서, 3개의 프로그램 반복이 "PGM1", "PGM2" 및 "PGM3"로 도시된다. 각 프로그램 반복은 각 비트라인에 대응하는 데이터 버퍼내에 기억된 초기 이진수값 "Initial"로 시작하고, 이는 성공적인 프로그램 검증 이후에 새로운 이진수값 "New"로 토글된다.
표 1
Figure pct00001
도 16은 본 실시예에 따른 도 8에 도시된 비트라인 억세스 회로(110)의 기능적 블록도이다. 도 16은 특정 비트라인과 관련되거나 또는 대응하는 페이지 버퍼내에 기억된 데이터에 응답하여 선택된 메모리 셀의 프로그래밍을 가능하게 하거나 방지하기 위하여 비트라인을 바이어싱하기 위한 일반적인 원칙을 도시하고자 하며, 비트라인 감지 증폭기 및 프로그램 검증 회로와 같은 다른 회로가 적절한 동작을 가능하게 하기 위하여 존재한다고 가정한다. 제1 비트라인 BL[1] 및 최후 비트라인 BL[j]과 관련된 회로만이 도 16에 도시된다. 비트라인은 상이한 시간 간격에서 구동되는 워드라인과 협력하는 비트라인 억세스 회로(110)에 의해 바이어스된다. 페이지 버퍼(112)는 복수개의 데이터 기억 회로(500)를 포함하며, 각각은 제1 페이지의 데이터의 1 비트를 기억하기 위한 것이다. 페이지 버퍼(114)는 각각이 제2 페이지의 데이터의 1 비트를 기억하기 위한 복수개의 데이터 기억 회로(502)를 포함한다. AND 로직 게이트(504)에 연결된 데이터 기억 회로(500 및 502) 쌍의 각각이 각 비트라인과 관련된다.
제1 페이지의 데이터와 제2 페이지의 데이터의 비트를 기억하는 것에 추가하여, 비트라인 억세스 회로(110)는 비트라인에 대응하는 양 페이지의 데이터로부터의 비트의 특정 로직 상태에 응답하여 프로그램 방지 전압 또는 프로그램 인에이블 전압으로 각 비트라인을 바이어싱하기 위한 데이터 디코딩 회로를 포함한다. 각 비트라인을 위한 데이터 디코딩 회로는 AND 로직 게이트(504) 및 데이터 검증 디코더(506)를 포함한다. 프로그램 반복의 시작 이전에, AND 로직 게이트(504)는 데이터 기억 회로(500 및 502)내에 기억된 로직 상태를 수신하고, 로직 AND 동작에 응답하여 비트라인을 바이어스한다. 현재 설명된 예에서, 비트라인은 적어도 하나의 데이터 기억 회로(500 및 502)가 로직 0을 기억하는 경우 VSS로 바이어스된다.
데이터 검증 디코더(506)는 데이터 기억 회로(500 및 502)내에 기억된 로직 상태를 디코딩하고 데이터 기억 회로(500, 502)가 성공적인 프로그래밍을 나타내는 비트라인의 검출된 조건에 응답하여 새로운 이진수값을 기억하도록 기억된 로직 상태를 선택적으로 반전시키기 위한 로직 회로를 포함한다. 이는 프로그램 검증 회로로 간주될 수 있다. 데이터 기억 회로(500 및 502)내에 기억된 로직 상태 중 하나의 이러한 선택적 반전은 선정의 데이터 천이 규칙에 따라 수행된다. 본 실시예에서, 데이터 기억 회로(500 및 502)의 반전은 완료된 프로그램 반복의 성공적인 프로그램 검증에 응답하여 수행된다. 메모리 셀이 소망된 임계 전압을 가지기에 충분히 프로그램되지 않은 경우, 프로그래밍은 반복된다. 본 예에서, 임의의 프로그램 상태에 대한 성공적으로 프로그램된 메모리 셀은 VSS로의 현재 경로를 형성하고, 이에 의해 프로그램 검증 동작 동안 VDD로 프리차지된 비트라인을 VSS로 방전한다. 그렇지 않다면, 비트라인은 프리-차지된 VDD 레벨에서 실질적으로 유지하여, 반복된 프로그래밍 반복이 그 비트라인에 연결된 메모리 셀에 대해 필요함을 나타낸다. 그러므로, 본 실시예에서, 데이터 천이 규칙에 따른 선택적 데이터 반전은 비트라인이 VSS에서 프로그램 검증 동작인 경우에 실행된다. 그렇지 않다면, 선택적 데이터 반전이 실행되지 않는다.
도 17은 본 실시예에 따른 데이터 검증 디코더(506) 및 데이터 기억 회로(500 및 502)로의 상호 결선을 도시한다. 데이터 기억 회로(500)는 로직 0 반전 회로(600) 및 로직 1 반전 회로(602)를 포함한다. 데이터 기억 회로(502)는 로직 0 반전 회로(604) 및 로직 1 반전 회로(606)를 포함하며, 이 양측은 각각 회로(600 및 602)와 동일하다. 로직 0 반전 회로(600)는, 데이터 검증 디코더(506)로부터 수신된 디코드된 데이터 신호에 응답하여, 데이터 기억 회로(500)내에 기억된 임의의 로직 0 상태를 로직 1 상태로 반전할 것이다. 로직 1 반전 회로(602)는 데이터 검증 디코더(506)로부터 수신된 디코드된 데이터 신호에 응답하여 데이터 기억 회로(500)내에 기억된 임의의 로직 1 상태를 로직 0 상태로 반전할 것이다. 반전 회로(604 및 606)는 반전 회로(600 및 602)에 대해 상술한 것처럼 동일한 기능을 수행한다. 도 17에 도시된 것처럼, 반전 회로(600, 602, 604 및 606)는 상이한 디코드된 데이터 신호를 수신한다.
데이터 검증 디코더(506)는 AND 로직 게이트(604, 606 및 608)를 포함한다. 각각의 AND 로직 게이트는 데이터 기억 회로(500)로부터 기억된 로직 상태를 수신하는 제1 입력 및 데이터 기억 회로(502)로부터 기억된 로직 상태를 수신하는 제2 입력을 갖는다. 각각의 AND 로직 게이트는 반전 및 비반전된 제1 및 제2 입력의 상이한 조합을 가지며, 각 AND 로직 게이트의 출력은 특정 반전 회로(600, 602, 604 및 606)에 제공된다. 반전 및 비반전된 제1 및 제2 입력의 상이한 조합의 이러한 구성은 전술한 데이터 천이 규칙의 실행의 특정 예이다. 도시되지는 않았지만, 각 비트라인은 프로그램 검증 동안 비트라인의 로우 전압 레벨을 검출하고 데이터 검증 디코더(506)를 인에이블링하기 위한 검출 회로를 포함한다. 그렇지 않다면, 비트라인의 고전압 레벨이 검출되는 경우, 프로그래밍은 성공적이지 않고, 데이터 검증 디코더(506)는 반전 회로(600, 602, 604 및 606)가 동작하는 것을 방지하도록 디스에이블된다.
도 17의 회로의 동작의 예가 표 1의 BL3의 시나리오 예의 전술한 설명을 이용하여 아래에 설명되며, 여기서 "01"의 초기 이진수값이 데이터 기억 회로(500 및 502)내에 기억된다. 따라서, 데이터 기억 회로(500)는 로직 0을 기억하고, 데이터 기억 회로(502)는 로직 1을 기억한다. 제1 프로그램 반복 PGM 1 이후에 프로그램 검증이 성공적이라고 가정하면, 초기 이진수 값 "01"은 AND 게이트(612)가 로직 1을 로직 1 반전 회로(606)에 출력하도록 한다. 이에 응답하여, 로직 1 반전 회로(606)는 데이터 기억 회로(502)를 토글하고, 최초에 기억된 로직 1은 로직 0으로 변경된다. 로직 0 반전 회로(600)는 AND 게이트(608)로부터 로직 0를 수신하고, 그러므로 데이터 기억 회로(500)를 토글하지 않는다. 따라서, 새로운 이진수값 "00"이 데이터 기억 회로(500)내에 기억되고, 대응하는 비트라인이 차후의 프로그램 반복 PGM 2에 대한 프로그래밍을 가능하게 하기 위하여 바이어스된 것을 유지한다. PGM 2의 성공적인 프로그램 검증 이후에, 데이터 검증 디코더(506)는 데이터 기억 회로(500 및 502)로부터 "00" 이진수 값을 디코드할 수 있다. 이제, AND 로직 게이트(608)는 로직 1을 로직 0 반전 회로(600)에 출력하고, 이는 기억된 로직 0을 로직 1로 변경하기 위하여 데이터 기억 회로를 토글한다. AND 로직 게이트(610 및 612)의 출력은 인엑티브 로직 0 상태에 있고, 그러므로 데이터 기억 회로(502)에 어떠한 변화도 없다.
새로운 이진수값 "10"이 데이터 기억 회로(500 및 502)에 기억되고, 대응하는 비트라인은 차후의 프로그램 반복 PGM3에 대한 프로그래밍을 가능하게 하기 위하여 바이어스되는 것을 유지한다. PGM3의 성공적인 프로그램 검증 이후에, 데이터 검증 디코더(506)는 데이터 기억 회로(500 및 502)로부터 "10" 이진수값을 디코드할 수 있다. AND 로직 게이트(604)는 로직 1을 로직 0 반전 회로(604)에 출력하고, 이는 기억된 로직 0을 로직 1로 변경하기 위하여 데이터 기억 회로(502)를 토글한다. 이제, 데이터 기억 회로(500 및 502) 모두는 로직 1을 기억하고, 비트라인은 프로그래밍을 방지하기 위하여 VDD로 바이어스된다. 현재 도시된 예의 데이터 검증 디코더(506) 및 반전 회로로의 연결은 데이터 기억 회로(500 및 502)에 기억된 도 4의 임의의 초기 프로그램 가능 상태가 데이터 천이 규칙에 따라 다음 중간 또는 최종 상태로 천이될 것이다.
현재 설명된 데이터 천이 규칙 및 도 16 및 도 17에 도시된 회로 예는 도 4에 도시된 이진수 값 할당과 같은 가능한 기억 상태에 대한 특정 이진수값 할당을 기초로 비트라인의 바이어싱을 넘어서는 원칙을 설명하는 것이 제시된다. 이들 4개의 상태에 대한 상이한 이진수값의 할당이 이용될 수 있으며, 상이한 셋의 데이터 천이 규칙이 개발될 수 있다. 따라서, 데이터 검증 디코더(506) 및 반전 회로로의 그의 연결의 구성이 다른 이진수값 할당 및 데이터 천이 규칙을 수용하도록 적응될 수 있다. 현재 설명된 실시예는 셀 당 2 비트의 구성에 대한 것이지만, 현재 설명된 원칙에 근거하여 셀 당 3 비트 또는 그 이상의 구성으로 용이하게 스케일 될 수 있다. 더욱이, 본 예는 프로그래밍을 인에이블링하기 위한 비트라인의 추가 바이어싱을 나타내는데 로직 "0"이 이용되는 방법을 설명하나, 다른 실시예는 대신에 로직 "1"을 이용할 수 있다.
그러므로, 이전 실시예에서 설명된 멀티페이지 프로그래밍 회로 및 방법은 각 데이터의 논리적 페이지를 물리적 페이지로 프로그래밍하는데 다중 프로그램 사이클이 필요한 종래 기술에 비해 총 프로그램 시간을 줄인다. 이는 상이한 프로그래밍 사이클에서 상이한 논리적 페이지를 프로그래밍하는데 일반적으로 필요한 타이밍 오버헤드가 본 실시예의 멀티페이지 프로그래밍에서는 전체 논리적 페이지가 일 프로그래밍 사이클내에서 프로그램되므로 제거된다는 사실로 인한 것이다. 더욱이, 각 논리적 페이지를 프로그래밍하기 위하여 개별 프로그래밍 사이클을 이용하는 경우와 비교할 때 플래시 메모리 셀의 프로그래밍 스트레스가 감소된다. 추가적으로, 종래의 프로그래밍 기술에 비해 현재 설명된 멀티페이지 프로그래밍 실시예를 이용하는 경우는 프로그래밍을 위해 이러한 파워가 필요하다.
전술한 실시예는 일 프로그래밍 사이클로 전체 상태를 프로그래밍하기 위해 필요한 총 시간을 줄이기 위하여 더 개선될 수 있다. 예로서, 도 11의 전술한 실시예에서, 각 상태를 그 특정 반복을 위한 선택된 셀로 프로그래밍하기 위해 다중 프로그래밍 반복이 연속하여 실행된다. 보다 구체적으로, 다중 상태 또는 페이지를 메모리 셀에 프로그래밍하기 위한 하나의 프로그래밍 사이클은 상이한 비트라인 전압의 순차적인 인가 및 프로그램될 특정 상태/임계 전압에 대한 특정 프로그래밍 프로파일로의 선택된 워드라인의 구동을 포함한다. 그러므로, 프로그래밍 사이클에 대한 총 시간은 각 프로그래밍 반복에 필요한 시간의 합이다. 다른 실시예에 따르면, 프로그래밍 사이클 시간은 단일 프로그래밍 반복에서 셀로 전체 가능한 상태를 프로그래밍함에 의해 현저하게 감소될 수 있다. 그렇지 않다면, 각 상태를 프로그래밍하기 위한 순차적인 프로그래밍 반복 대신에, 선택된 워드라인이 프로그래밍 프로파일로 구동되는 경우에 전체 상태가 병렬로 프로그램된다. 이는 병렬 멀티-상태 프로그래밍이라 칭한다.
도 18a는 본 실시예에 따른 플래시 메모리 장치의 2-페이지 병렬 멀티-상태 프로그램 동작의 예를 도시하는 순서도이다. 이 순서도는 도 11에 도시된 것과 유사하며, 데이터 페이지 1은 360에서의 I/O 포트에서 수신되고, 데이터 페이지 2는 362에서의 I/O 포트에서 수신된다. 멀티페이지 프로그래밍은 도 11과 같이 멀티페이지 프로그램 시작 커맨드(364)를 통해 시작되고, 이는 프로그램 사이클이 372에서 종료했음을 메모리 제어기에 알리고, 메모리 장치는 멀티페이지 프로그래밍 동작이 성공적인지 여부를 그 상태 레지스터를 통해 메모리 제어기에 보고한다. 그러나, 전체 상태를 프로그래밍하기 위한 3 시간 구간(366, 368 및 370) 대신에, 단지 하나의 단일 시간 구간(700)만이 필요하다. 선택된 워드라인이 소정의 프로그래밍 프로파일로 구동되는 이 시간 구간(700) 동안, 비트라인 BL[1:j]은 상이한 상태에 대응하는 임계 전압을 프로그래밍하기 위하여 특정 전압 레벨로 바이어스되며, 여기서 전압 레벨은 특별한 제조 공정에 대해 캘리브레이트된다. 워드라인의 프로그래밍 프로파일은 특별한 제조 공정에 대한 임계 전압의 효과적인 프로그래밍을 위해 최적화됨이 주목된다.
도 18a에 도시된 것처럼, 상태(ST1, ST2 및 ST3)는 특정 비트라인 전압 레벨에 응답하여 동일한 시간에 메모리 셀에 프로그램되고, 워드라인은 시간 구간(700) 동안 구동된다. 도 18b는 비트라인(BL1, BL2, BL3 및 BL4)에 연결된 도 18a에서 프로그램된 4개의 플래시 셀의 임계 전압을 도시하는 임계 전압 분포 그래프이다. 도 18b에 도시된 것처럼, 메모리 셀은 ST0에서 시간 구간(700) 동안 ST1, ST2 및 ST3에 대응하는 각 최종 프로그램된 임계 전압으로 시프트된다.
도 19a 및 도 20a는 플래시 메모리 장치의 2-페이지 연속 및 병렬 멀티-페이지 프로그램 동작의 예를 도시하는 다른 순서도이다. 이 다른 실시예에서, 다중 프로그램 반복이 이용되고, 여기서 프로그램될 가능한 상태의 서브셋이 한 반복내에서 병렬로 프로그램되고, 나머지 상태 또는 상태들은 제2 반복에서 프로그램된다.
도 19a에서, 참조 번호 360, 362, 364 및 372는 도 18a 및 도 11에 대해 전술한 것과 동일하다. 이 다른 실시예에서, 하나의 상태 ST1는 시간 구간(702)에서 프로그램되고, 다음으로 연이어 시간 구간(704)에서 상태(ST2 및 ST3)의 병렬 멀티-상태 프로그래밍이 잇따른다. 시간 구간(702)에서 발생하는 제1 프로그래밍 반복 이후에, 상태(ST2 및 ST3)의 기억이 지정된 메모리 셀은 상태 ST1에 대응하는 동일한 임계 전압을 가질 것이다. 다음 시간 구간(704)에서, ST1에 대응하는 임계 전압을 갖는 셀은 상태(ST2 및 ST3)에 대응하도록 추가 조절된다. 도 19b의 임계 전압 분포 그래프에 도시된 것처럼, ST0의 상태에 대응하는 소거된 임계 전압에서 시작하는 메모리 셀은 시간 구간(702)에서 ST1에 대응하는 프로그램된 임계 전압으로 시프트된다. 시간 구간(704)에서, 비트라인(BL1, BL3 및 BL4)에 연결된 메모리 셀은 ST1에 대응하는 그들의 중간 임계 전압을 ST2 및 ST3에 대응하는 최종 임계 전압으로 시프트되도록 한다.
도 20a의 실시예에서, 상태 ST1 및 ST2의 병렬 멀티-상태 프로그래밍이 시간 구간(706)에서 발생하고, 다음으로 연이어 시간 구간(708)에서 나머지 상태 ST3의 프로그래밍이 잇따른다. 시간 구간(706)에서 발생하는 제1 프로그래밍 반복 이후에, 상태 ST3를 기억하도록 지정된 메모리 셀은 이 예에서는 상태 ST2인 높은 임계 전압을 갖는 상태에 대응하는 동일한 임계 전압을 가질 것이다. 다음의 시간 구간(708)에서, ST2에 대응하는 임계 전압을 갖는 셀은 상태 ST3에 대응하도록 추가 조절된다. 도 20b의 임계 전압 분포 그래프에 도시된 것처럼, BL2에 연결된 메모리 셀은 시간 구간(706)에서 ST1에 대응하는 임계 전압으로 시프트되는 소거된 임계 전압을 갖는다. 시간 구간(706)에서 또한 발생하는 것은, BL1, BL3 및 BL4에 연결된 메모리 셀은 BL3에 연결된 메모리 셀을 포함하는 ST2에 대응하는 임계 전압으로 시프트되는 그들의 소거된 임계 전압을 갖는다. 시간 구간(708)에서, 비트라인(BL3)에 연결된 메모리 셀은 ST3에 대응하는 최종 임계 전압으로 시프트되는 ST2에 대응하는 중간 임계 전압을 갖는다.
도 19a, 19b, 20a 및 20b에 도시된 다른 실시예 모두에서, 적어도 2개의 상태가 병렬로 프로그램된다. 이들 실시예는 제한적이지 않으며, 적어도 2 상태를 병렬로 프로그램하기 위한 제1 프로그램 반복을 가질 수 있으며, 다음으로 적어도 다른 2 상태를 병렬로 프로그램하기 위한 제2 프로그램 반복이 잇따른다. 더욱이, 병렬 멀티-상태 프로그래밍 반복 및 단일 상태 프로그래밍 반복의 조합이 이용될 수 있다.
도 18a, 도 19a 및 도 20a에 도시된 실시예에 대해, 도 12a 및 도 12b에 도시된 커맨드 및 데이터 입력 순서는 데이터의 페이지로 메모리 장치를 로딩하고, 멀티-상태 병렬 프로그래밍 동작 또는 2개의 혼합된 순차적인 병렬 멀티-상태 프로그램 동작 중 하나를 시작하는데 이용될 수 있다.
병렬 멀티-상태 프로그래밍의 현재 개시된 실시예들은 특정 전압으로 비트라인을 바이어싱함에 의해 달성되며, 비트라인 전압 변조라 칭한다. 전술한 것처럼, 비트라인에 연결되는 메모리 셀은, 비트라인이 바이어스되는 또는 설정되는 로직 레벨에 의존하여, 선택된 워드라인을 통해 프로그램되는 것을 방지하거나 또는 프로그래밍을 인에이블한다. 본 명세서에 참조되는 공유인 미국 특허 제7,511,996은 메모리 셀의 프로그래밍 방지를 위한 실시예를 설명하는데, 프로그래밍을 위해 선택된 메모리 셀은 예를 들면 0V와 같은 프로그램 전압으로 바이어스되는 비트라인을 가지며, 프로그램되지 않는 메모리 셀은 예를 들면 VCC와 같은 프로그램 방지 전압으로 바이어스되는 비트라인을 갖는다. 미국 특허 제7,511,996에 설명된 그러한 실시예 중 하나의 설명이 어떻게 비트라인에 인가된 프로그램 방지 전압이 선택된 메모리 셀의 프로그래밍을 방지할 수 있는지의 이해를 용이하게 하기 위하여 먼저 제공된다.
도 21은 미국 특허 제7,511,996의 프로그램 방지 방법의 실시예를 설명하는 흐름도이다. 본 설명에서, 상위 워드라인은 이들 워드라인 및 선택된 메모리 셀과 비트라인 사이의 메모리 셀을 칭하며, 하위 워드라인은 이들 워드라인과 선택된 메모리 셀과 소스라인 사이의 메모리 셀을 칭한다. 도 21의 프로그램 방지 방법은 단계 800에서 시작하며, 비트라인은 방지 전압 또는 프로그램 전압으로 바이어스된다. 현재 설명된 예에서, 비트라인은 VCC의 방지 전압으로 구동되는 것이 가정된다. 단계 802에서, 선택된 워드라인 및 상위 워드라인은 제1 패스 전압으로 구동된다. 이 제1 패스 전압은, 그 프로그램된 또는 비프로그램된 상태와는 무관하게, 상위 워드라인에 대응하는 각각의 메모리 셀을 턴 온하기에 충분히 높다. 단계 802와 동시에, 단계 804에서 하위 워드라인은 제2 패스 전압으로 구동된다. 본 방법의 실시예에 따르면, 제1 패스 전압 및 제2 패스 전압은 서로 동일할 수 있거나 또는 제2 패스 전압이 제1 패스 전압보다 낮을 수 있다. 선택된 워드라인은 단계 806에서 프로그래밍 전압으로 구동되고, 다음으로 단계 808에서 NAND 스트링의 비선택 메모리 셀로부터 선택된 메모리 셀을 디커플링(decoupling)하기 위한 격리(isolation) 동작이 잇따른다.
도 22a는 NAND 스트링(900)의 간략화된 횡단면도이며, 이는 당업자에게는 공지되어 있다. NAND 스트링(900)은 워드라인(WL0 내지 WL31)에 연결된 게이트를 가지는 메모리 셀(902), NAND 스트링(900)을 비트라인(906)에 결합시키기 위한 스트링 선택 트랜지스터(904), 및 NAND 스트링(900)을 소스라인(910)에 결합시키기 위한 접지 선택 트랜지스터(908)를 포함한다. NAND 스트링(900)은 PP-웰내에서 형성되며, 이는 자체가 P-기판의 N-웰 내에 형성된다. NAND 스트링 메모리 셀 트랜지스터의 소스/드레인 영역은 n+ 확산 영역이다.
도 22는 본 발명의 실시예에 따라, 특정 워드라인에 인가되는 상대적 전압 레벨을 도시하기 위한 주석을 포함한다. 물리적 NAND 스트링은 종래 기술이 비해 변하지 않고 유지된다는 점이 주목된다. 도 22a에 도시된 예에서, WL29에 연결된 메모리 셀이 프로그래밍을 위해 선택되고, 프로그램될 데이터는 로직 "1" 상태이다. 소거된 상태가 로직 "1" 이므로, 프로그래밍은 방지된다. 도 22b는 도 22a에 인가되는 전압의 순서를 더 설명하는 순서도이다.
시간 구간(T1)은 초기 상태로서, 여기서 전체 메모리 셀(902)의 게이트, 신호 SSL, 및 신호 GSL은 0V로 바이어스되며, 메모리 셀을 프로그래밍하기 위한 및 메모리 셀의 프로그래밍을 방지하기 위한 비트라인 전압이 인가된다. CSL은 0V 또는 VCC로 바이어스될 수 있지만, 바람직하게는 누설을 최소화하기 위하여 본 예에서는 VCC로 바이어스된다. 본 예에서, 비트라인(906)은 프로그램을 방지하기 위하여 VCC로 바이어스된다. 시간 구간(T2)에서, 신호 SSL은 비트라인 전압을 NAND 스트링(900)에 결합시키기 위하여 VCC로 바이어스된다. 도 22a에 도시된 NAND 스트링(900)에서, 스트링 선택 트랜지스터(904)는 비트라인(906)에 연결된 드레인 단자 및 그 게이트가 모두 VCC로 바이어스되므로, 전기적으로 턴 오프한다. 보다 구체적으로는, 스트링 선택 트랜지스터(904)는 일단 그 소스가 약 VCC - 트랜지스터의 임계 전압까지 상승하는 경우 턴 오프할 것이다. 시간 구간(T3) 동안, 전체 워드라인(상위, 하위 및 선택된 워드라인)은 패스 전압(V2)로 구동되며, 여기서 V2는 VCC 보다 크도록 선택된다. 이는 NAND 스트링(900)의 전체 채널을 1차 부스트된 전압으로 부스팅하는 효과를 갖는다. 시간 구간(T4)의 시작에서, 선택된 워드라인(WL29)은 프로그래밍 전압(V1)으로 상승하고, 인접 워드라인(WL28 및 WL30)은 디커플링 전압(V3)으로 감소된다. 이는 도 5에서의 단계(104 및 106)에 각각 대응한다. V1의 전압 레벨은 V2 보다 크도록 설정되고, V3의 전압 레벨은 V1 및 V2 보다 낮도록 설정된다.
WL28 및 WL30의 워드라인 전압을 V3로 감소시키는 것의 다른 이점은 WL29에 연결된 제어 게이트와 WL28 및 WL30에 결합된 플로팅 게이트 사이의 용량성 커플링을 보상하는 것이다. WL29가 V1으로 구동되므로, 용량성 커플링 효과는 플로팅 게이트 전압을 증가시킬 수 있어서, 선택된 메모리 셀에 바로 인접한 메모리 셀에서의 패스 장애의 가능성을 증가시킨다. 그러므로, 워드라인 전압을 V3로 감소시키는 것은 플로팅 게이트 전압을 감소시킬 것이다.
도 22a에 도시된 실시예에서, V1, V2 및 V3의 전압 레벨은 아래의 기준에 따라 선택될 수 있다. V1은 0V로 바이어스된 비트라인에 결합된 메모리 셀내의 F-N 터넬링을 촉진하기에 충분히 높은 전압 레벨이어야 한다. V2의 전압 레벨은 아래의 3개의 기준을 충족하도록 선택되어야 한다. 먼저, V2는 비선택된 셀의 채널이 도전성이 되는 것을 보장하기에 충분히 높아야 한다. 둘째로, 시간 구간(T4) 동안 WL28 및 WL30에 대해 전압 V2가 V3로 떨어지는 경우, WL28 및 WL30에 연결된 메모리 셀은 턴 오프되고, 시간 구간(T4) 동안 턴 오프를 유지한다. 이는 로컬 디커플링 효과로서 달성된다. 셋째로, 선택된 워드라인(WL29)가 전압(V2)에서 프로그램 전압(V1)으로 상승하는 경우, 선택된 셀의 채널은 소망된 전압 즉, 이차 부스트된 전압 레벨로 부스트될 수 있다. V3는 비선택된 셀을 통해 0V 비트라인 전압을 선택된 셀의 드레인으로 통과시키기에 충분히 높은 전압 레벨이어야 하며, 선택된 셀(WL29에 연결됨)에 바로 인접한 메모리 셀(WL28 및 WL30에 연결됨)의 채널을 실질적으로 턴 오프하기에 충분히 낮다.
현재 설명된 프로그램 방지 스킴은 프로그램 반복 동안 워드라인을 구동하기 이전에 비트라인에 안가된 전압을 가변함에 의해 현재 설명된 병렬 멀티-상태 프로그래밍 실시예에 대해 개조될 수 있다. 이전에 설명된 프로그램 방지 실시예에서, VCC의 프로그램 방지 전압의 인가는 V1으로 구동되는 선택된 워드라인과 비트라인이 VCC로 바이어스된 경우의 선택된 셀의 채널 사이의 전계 강도를 최소화한다. 본 실시예에 따르면, 비트라인을 VCC와 VSS 사이의 전압으로 바이어싱함에 의해, 이 전계 강도는 완전 VCC 방지 상황에 비해 증가되어, 셀의 임계 전압이 양으로 시프트되도록 한다. 그러나, 임계 전압이 시프트한 양은 비트라인이 VSS에 바이어스되는 것에 비해 적을 것이다.
그러므로, 셀은 완전 프로그램되는 것이 부분적으로 방지된다.
도 23은 셀 당 2-비트 기억 스킴에 대한 병렬 멀티-상태 프로그래밍 실시예에 대한 비트라인의 예시적 전압 바이어싱을 도시하는 4개의 메모리 NAND 셀 스트링의 회로 개략도이다. 도 23에 도시된 NAND 셀 스트링의 요소들은 도 22a에 이전에 도시된 NAND 셀 스트링에 대해 전술하였으므로, 동일한 요소를 지정하기 위해 동일한 참조 번호를 이용한다. NAND 셀 스트링 각각은 각각의 비트라인(BL0, BL1 , BL2 및 BL3)에 연결된다. 본 도시된 예에서, BL0는 VCC에 바이어스되고, BL1은 VBL1에 바이어스되고, BL2는 VBL3에 바이어스되고, BL3는 VSS로 바이어스된다. 본 실시예에 따르면, 전체 비트라인은 워드라인이 구동되기 전인 동일한 시간 구간에서 4개의 전압 중 하나로 바이어스된다. 다음으로, 워드라인은 설명된 프로그램 방지 스킴을 위하여 도 22b에서 개요된 전압 및 순서로 프로그래밍을 유효화하기 위하여 구동된다. 하나의 전압이 프로그래밍 방지를 위해 이용되고, 다른 것이 프로그래밍을 인에이블하는데 이용된다는 원칙하에서 작동하는 다른 프로그램 방지 스킴이 본 실시예에서 알려지는 것처럼 병렬 멀티-상태 프로그래밍을 위해 채용될 수 있다.
셀 당 2-비트 셀 기억 스킴의 일 예에서, 비트라인은 VCC의 프로그램 방지 전압 및 프로그램 전압(VSS, VBL1 및 VBL2) 중 하나로 바이어스될 수 있으며, 여기서 VBL1 및 VBL2는 둘다 VSS 보다 크고 VCC 보다 작다. 예를 들면, VBL1은 1V일 수 있고, VBL2는 2V일 수 있다. VBL1 및 VBL2에 대한 구체적 전압 레벨은 제조 공정, 소망된 임계 전압 및 선택된 워드라인에 대한 프로그래밍 프로파일과 같은 요인을 기초로 결정될 수 있다. 전술한 동일한 원칙이 2 비트 이상이 메모리 셀내에 기억되는 실시예에 적용될 수 있다.
비트라인을 특정 전압 레벨로 바이어스하는 것은 특정 비트라인에 대응하는 데이터의 페이지의 비트의 로직 상태에 의존한다. 도 24는 본 실시예에 따른 병렬 멀티-상태 프로그래밍을 위한 비트라인 전압 레벨을 변조하기 위한 비트라인 억세스 회로의 블록도이다. 비트라인 억세스 회로(1000)는 페이지 버퍼(1002) 및 적어도 하나의 멀티-페이지 프로그램 버퍼(1004)를 포함한다. 페이지 버퍼(1002)는 복수개의 데이터 기억 회로(1006)를 포함하며, 각각은 데이터의 제1 페이지의 1 비트를 기억하기 위한 것이다. 페이지 버퍼(1004)는 복수개의 데이터 기억 회로(1008)를 포함하며, 각각은 데이터의 제2 페이지의 1 비트를 기억하기 위한 것이다. BL 변조기(1010)에 연결된 데이터 기억 회로(1006 및 1008)의 각 쌍은 각 비트라인과 관련된다. 각 비트라인을 위한 데이터 디코딩 회로는 BL 변조기(1010) 및 데이터 검증 디코더(1012)를 포함한다. 구성 요소들(1002, 1006, 1008 및 1012)은 도 16에 도시된 구성 요소(112, 114, 504, 502 및 506)과 실질적으로 동일하다. 도 24 및 도 16의 실시예의 주요 차이는 BL 변조기(1010)로서, 이는 특정 비트라인과 관련된 2 페이지 데이터의 데이터 비트를 디코딩하고, 선정 전압으로 비트라인을 바이어싱하며, 데이터 검증 디코더(1012)의 로직을 디코딩하는 책임을 진다. 메모리 어레이내의 모든 BL 변조기(1010)는 프로그램 반복이 시작되기 이전에 동일한 시간에 각 비트라인을 바이어스한다.
도 25는 BL 변조기(1010)의 기능 블록을 개략적으로 도시한다. BL 변조기(1010)는 프로그램 데이터 디코더(1100) 및 비트라인 바이어싱 회로(1102)를 포함한다. 프로그램 데이터 디코더(1100)는 제1 페이지 버퍼로부터 DATA1_[1]로 칭하는 데이터의 일 비트를 제2 페이지 버퍼로부터 DATA2_[1]로 칭하는 데이터의 일 비트를 수신한다. "DATA1"은 이 비트가 제1 페이지 버퍼로부터 온 것을 나타내고, "DATA2"는 이 비트가 제2 페이지 버퍼로부터 온 것을 나타낸다. "[1]"는 데이터의 페이지내의 비트 위치를 나타낸다. 프로그램 데이터 디코더(1100)는 선택 신호(S0, S1, S2 및 S3)를 제공하기 위한 2 비트의 데이터를 디코드하는데, 하나 만이 DATA1_[1] 및 DATA2_[1]의 임의의 조합에 대해 액티브 로직 레벨에 있다. 이러한 선택 신호는 선정 전압(VCC,VSS, VBL1 또는 VBL2) 중 하나를 비트라인 BL[1]로 통과시키기 위한 비트라인 바이어싱 회로(1102)에 의해 이용되는데, 여기서 VCC>VBL2>VBL1>VSS 이다. 본 실시예에서, 각각의 선택 신호는 대응하는 선정 전압으로 매핑된다. 현재 도시된 실시예는 셀 당 2-비트 기억 스킴에 대해 구성되며, 이는 셀 당 3비트 또는 그 이상의 기억 스킴으로 스케일 될 수 있다. 그러므로, DATA1_[1] 및 DATA2_[1]의 각각의 가능한 조합에 대해, BL 변조기(1010)는 비트라인을 선택하고, 그 비트라인을 소정 전압(VCC,VSS, VBL1 또는 VBL2) 중 하나로 바이어스한다. 전압은 전압 제너레이터에 의해 생성될 수 있다.
도 26은 도 25에 도시된 프로그램 데이터 디코더(1100)의 실시예를 개략적으로 도시하는 회로의 예이다. 프로그램 데이터 디코더(1100)는 AND 로직 게이트(1200, 1202, 1204 및 1206)를 포함하고, 각각은 페이지 버퍼 데이터 비트DATA1_[1] 및 DATA2_[1]를 수신하는 제1 입력 및 제2 입력을 갖는다. 각각의 AND 로직 게이트는 선택 신호(S0, S1, S2 및 S3) 중 하나를 제공한다. AND 로직 게이트의 제1 및 제2 입력은 선택 신호 중 단 하나만이 DATA1_[1] 및 DATA2_[1]의 임의의 조합에 대해 액티브 하이 로직 레벨로 구동되는 것을 보장하도록 상이하게 구성된다. 도 26에 도시된 로직 게이트 구성의 예는 이용될 수 있는 하나의 가능한 구성이다. 상이한 유형의 로직 게이트 및 입력 구성이 비트라인에 인가하기 위한 특정 전압을 선택하기 위한 도 26에 도시된 AND 로직 게이트 구성에 의해 도시된 동일한 결과를 수용하도록 이용될 수 있다.
도 27은 도 25에 도시된 비트라인 바이어싱 회로(1102)의 실시예를 개략적으로도시하는 회로예이다. 비트라인 바이어싱 회로(1102)는 p-채널 트랜지스터(1300) 및 n-채널 트랜지스터(1302, 1304 및 1306)를 포함한다. P-채널 트랜지스터(1300)는 인버터(1308)를 통한 하이 로직 레벨인 S0에 응답하여 비트라인 BL을 VCC로 연결한다. N-채널 트랜지스터(1302)는 하이 로직 레벨인 S1에 응답하여 비트라인 BL을 VBL1로 연결한다. N-채널 트랜지스터(1304)는 하이 로직 레벨인 S2에 응답하여 비트라인 BL을 VBL2로 연결한다. N-채널 트랜지스터(1306)는 하이 로직 레벨인 S3에 응답하여 비트라인 BL을 VSS로 연결한다. 따라서, 프로그램 데이터 디코더(1100)에 의해 제공되는 선택 신호(S0, S1, S2 및 S3)를 통해, 소정 전압 중 하나가 비트라인 BL에 인가될 수 있다. 선택 신호에 응답하여 비트라인에 상이한 전압을 제공하기 위하여 상이한 회로 구성이 이용될 수 있다.
도 26에 도시된 회로 실시예는 도 18a의 병렬 멀티-상태 프로그래밍 실시예에 대해 이용될 수 있으나, 회로의 개조된 것이 다른 실시예에 따라 도 19a의 혼합된 순차적 및 병렬 멀티-페이지 프로그램 실시예에 대해 이용될 수 있다. 그러한 다른 실시예에서, 프로그램 데이터 디코더(1100)의 로직은 프로그래밍 상태(ST1)에 대한 제1 프로그래밍 반복에서, 상태(ST2 또는 ST3)를 기억하기 위해 지정된 임의의 메모리 셀은 각 비트라인이 본 실시예에서는 VBL1인 ST1에 대응하는 동일한 비트라인 전압으로 바이어스되도록 할 것이다. 이는 로직 회로를 이 소망된 결과를 얻도록 지정함에 의해 또는 다르게는 비트라인 바이어싱 회로(1102)의 트랜지스터(1304 및 1306)가 각각 제1 프로그래밍 반복에서 VBL2 및 VSS 대신에 VBL1을 수신하도록 구성될 수 있다. 병렬인 프로그래밍 상태(ST2 및 ST3)에 대한 다음 반복에서, 도 26의 회로는 전술한 방식으로 이용될 수 있다.
도 20a의 혼합된 순차적 및 병렬 멀티-페이지 프로그램 실시예는 프로그램 데이터 디코더(1100)의 로직에 대한 유사한 개조를 필요로 할 것이다. 이 경우, 상태 ST1 및 ST2는 제1 프로그램 반복에서 프로그램된다. 그러나, 상태 ST3를 기억하기 위해 지정된 메모리 셀은 제1 프로그램 반복에서의 중간 상태(ST2)로 프로그램되어야 한다. 그러므로, 프로그램 데이터 디코더(1100)의 로직은 프로그래밍 ST1 및 ST2에 대한 제1 프로그래밍 반복에서 상태 ST3를 기억하도록 지정된 임의의 메모리 셀이 각 비트라인을 본 예에서는 VBL2인 ST2에 대응하는 동일한 비트라인 전압으로 바이어스되도록 할 것이다. 다시 로직 디코딩 회로가 이 소망된 결과를 달성하도록 지정될 수 있고, 또는 다르게는, 비트라인 바이어싱 회로(1102)를 위한 전압 레벨 스위칭이 이용될 수 있다.
비트라인 억세스 회로(1000)의 현재 설명된 실시예는 도 18a에 도시된 온전 병렬 멀티-상태 프로그래밍 실시예를 수행하기 위해 이용될 수 있는데, 여기서 전체 가능한 상태는 동시에 프로그램된다. 병렬 멀티-상태 프로그래밍이 차례대로 상태가 프로그램되는 다른 프로그래밍 반복 이전 또는 이후의 일부 상태에 대해 수행되는 도 19a 및 도 20a의 실시예에 대해, 비트라인 억세스 회로(1000)의 전술한 실시예가 도 16 및 도 17의 실시예의 가르침에 따라 개조될 수 있다. 그러한 개조는 도 18a에 도시된 완전 병렬 멀티-상태 프로그래밍 실시예 및 도 19a 및 도 20a의 혼합된 순차적 및 병렬 멀티-페이지 프로그램 실시예에 대해 고유한 프로그램 검증 동작을 위한 회로를 채택한다. 아래는 현재 설명된 멀티-상태 프로그래밍 실시예에 대한 프로그램 검증에 대해 설명한다.
하나의 상태가 각 프로그램 반복에서 프로그램되는 이전 실시예에서, 소망된 임계 전압이 메모리 셀에 적절히 프로그램되었다는 것을 보장하기 위하여 프로그램 검증 동작이 각 반복 이후에 수행된다. 현재 설명된 멀티-상태 프로그래밍 실시예에 대해, 적어도 2 상태가 하나의 프로그래밍 반복에서 동시에 프로그램된다. 그러므로, 적어도 2 상태에 대응하는 임계 전압이 그들 각각의 셀에 대해 프로그램되었음을 검증하기 위해 새로운 프로그램 검증 스킴이 이용된다.
도 18a의 실시예에 대해, 전체 상태가 병렬로 프로그램되지만, 프로그램 검증이 각 상태에 대해 연속하여 수행된다. 본 실시예에서, 비트라인에 연결된 메모리 셀이 성공적으로 프로그램된 것으로 검증된 경우, 그 비트라인에 대응하는 2 데이터 버퍼 비트는 추가 프로그래밍을 방지하기 위한 소거 상태에 대응하는 이진수값 "11"로 변경된다. 그러나, 검증되는 프로그램된 상태에 대한 데이터 버퍼 비트만이 소거된 상태로 토글되게 되어야 한다. 다르게 말하면, 검증되지 않은 상태에 대한 데이터 버퍼 비트는 다른 프로그램 상태에 대한 프로그램 검증 동작 동안 소거 상태로 토글되어서는 안된다. 도 16의 실시예에 대해 전술한 것처럼, 데이터 검증 디코더(506)는 프로그램 검증 동작에서 데이터 버퍼 레지스터 비트를 토글한다. 그러므로, 프로그램 검증 동작이 현재 수행되는 상태로 프로그래밍하는 동안 바이어스되는 이들 비트라인에 대하여 이 회로는 인에이블되어야 한다.
도 28은 도 24의 실시예의 데이터 검증 디코더(1012)를 선택적으로 인에이블링 또는 디스에이블링하기 위한 제어 회로의 회로 개략적 실시예를 도시한다. 프로그램 검증 제어 회로(1400)는 AND 로직 게이트(1402, 1404 및 1406) 및 OR 로직 게이트(1408)를 포함한다. 각각의 AND 로직 게이트는 도 26에 도시된 프로그램 데이터 디코더(1100)에 의해 제공되는 선택 신호(S1, S2 또는 S3) 중 하나를 수신하기 위한 제1 입력을 가진다. 각각의 AND 로직 게이트는 선택 신호(S1, S2 및 S3)에 각각 대응하는 검증 제어 신호(Verify S1, Verify S2 및 Verify S3)를 수신하기 위한 제2 입력을 갖는다. AND 로직 게이트(1402, 1404 및 1406)의 출력은 그 대응하는 데이터 금증 디코더(1012)를 인에이블링하기 위한 출력을 제공하기 위하여 게이트(1408)에 의해 함께 논리적으로 OR 된다. 상태(S0)가 프로그램 검증될 필요가 없는 소거 상태이므로, 상태 S0에 대해 AND 로직 게이트가 필요하지 않음이 주목된다. 데이터 검증 디코더(1012)는 프로그램 검증 제어 회로(1400)로부터의 인에이블 신호에 응답하도록 구성된다고 가정한다.
동작에서, 프로그램 검증 제어 회로(1400)는 상이한 구간에서 액티브 하이 로직 레벨에서 검증 제어 신호(Verify S1, Verify S2 및 Verify S3)를 수신하는데, 여기서 각 구간은 특정 상태에 대한 프로그램 검증 동작에 대응한다. 예를 들면, Verify S1은 상태 S1을 검증하는 것으로, 다음으로 Verify S2는 상태 S2를 검증하는 것으로 어서트될 수 있다. 전술한 것처럼, 프로그램 데이터 디코더(1100)는 DATA1_[1] 및 DATA2_[1]의 임의의 주어진 로직 상태 조합에 대해 선택된 신호(S0, S1, S2 및 S3) 중 하나만을 어서트한다. 그러므로, 각 검증 제어 신호(Verify S1, Verify S2 및 Verify S3)가 특정 상태를 검증하는 것으로 어서트되므로, 그러한 특정 상태를 위해 바이어스되는 비트라인과 관련된 데이터 검증 디코더(1012)만이 인에이블되며, 전체 다른 데이터 검증 디코더(10112)는 디스에이블된다. 도 29에 도시된 특정 로직 게이트 구성은 하나의 가능한 구성의 예이다. 다른 로직 게이트 구성은 동일한 결과를 달성하기 위하여 다른 제어 신호와 조합의 선택 신호를 이용하여 데이터 디코더(1012)를 인에이블링하기 위해 이용될 수 있다.
일단 인에이블되면, 데이터 검증 디코더(1012)는 특정 상태의 프로그래밍이 성공적인 것으로 간주된 경우 비트라인에 대응하는 페이지 버퍼의 데이터 비트 쌍을 소거된 상태로 토글링하기 위하여 구성된다. 그렇지 않다면, 데이터 비트 쌍은 변하지 않는다. 그러므로, 성공적이지 않은 프로그램된 메모리 셀은 그들의 대응하는 비트라인이 재프로그래밍을 위한 선택 신호(S1, S2 및 S3)에 의해 선택된 특정 전압 레벨로 바이어스되도록 할 것이다. 본 실시예에서, 데이터 검증 디코더(1012)는 상태(ST1, ST2 및 ST3)에 대응하는 데이터 비트 쌍을 예를 들면 "11"과 같은 소건된 상태에 대응하는 로직 레벨로 토글하도록 구성되는 로직 회로를 포함한다.
병렬 멀티-상태 프로그래밍 실시예의 프로그램 검증을 위한 기술이 설명되었고, 도 19a 및 도 20a의 혼합된 순차적 및 병렬 멀티-페이지 프로그래밍 실시예를 위한 프로그램 검증 기술은 도16의 순차적 프로그래밍 실시예에서 이용되는 프로그램 검증 실시예와 도 22의 병렬 멀티-상태 프로그래밍 실시예를 위한 프로그램 검증 실시예를 결합한다는 점이 주목된다.
도 19a의 실시예로 시작하여, 프로그램될 제1 상태는 상태 ST1이고, 다음으로 상태 ST2 및 ST3의 병렬 프로그래밍이 잇따른다. 그러나, 상태(ST2 및 ST3)를 기억기 위하여 지정된 메모리 셀은 제1 프로그래밍 반복에서 프로그램되고, 그러므로 중간 상태로서 상태(ST1)를 기억한다. 이 제1 프로그래밍 반복은 도 14b에 도시된 하나와 유사하며, 여기서 전체 셀은 최종 상태로서 또는 중간 상태로서 상태(ST1)를 기억하도록 프로그램된다. 그러므로, 도 14b에 대해 전술한 프로그램 검증 기술이 이용될 수 있다. 다음 프로그래밍 반복에서, 중간 상태가 최종 상태로 시프트된다. 그러므로, 제1 프로그래밍 반복을 위한 성공적 프로그램 검증 동작의 일부로서, 데이터 디코더(1012)의 로직 회로는 i) 상태(ST1)에 대응하는 데이터 비트를 소거된 상태로 토글하거나, 또는 ii) 상태(ST2)에 대응하는 데이터 비트를 비트라인 전압(VBL2)를 선택하기 위한 조합으로 토글하거나, 또는 iii) 상태(ST3)에 대응하는 데이터 비트를 비트라인 전압(VSS)를 선택하기 위한 조합으로 토글하도록 구성된다. 그러므로, 비트라인은 상태(ST2 및 ST3)를 병렬로 프로그램하기 위하여 제2 프로그래밍 반복을 위한 새로운 전압 레벨로 바이어스된다. 도 18a의 실시예를 위해 채용되는 프로그램 검증 기술은 제2 프로그래밍 반복을 위해 이용될 수 있다.
도 20a의 실시예에 대하여, 상태(ST1 및 ST2)는 제1 프로그래밍 반복에서 병렬로 프로그램되고, 다음으로 제2 프로그래밍 반복에서 상태(ST3)의 프로그래밍이 잇따른다. 제1 프로그램 반복에 대하여, 도 18a의 실시예에 대해 설명된 프로그램 검증 기술이 이용될 수 있다. 제1 프로그래밍 반복을 위한 성공적 프로그램 검증 동작의 일부로서, 데이터 검증 디코더(1012)의 로직 회로가 i) 상태(ST1 또는 ST2)에 대응하는 데이터 비트를 소거된 상태로 토글하거나; 또는 ii) 상태(ST3)에 대응하는 데이터 비트를 비트라인 전압(VSS)를 선택하기 위한 조합으로 토글하도록 구성된다. 그러므로, 비트라인은 상태(ST3)를 프로그램하기 위한 제2 프로그래밍 반복에 대하여 새로운 전압 레벨로 바이어스된다. 도 14b의 실시예에 대해 채용된 프로그램 검증 기술은 제2 프로그래밍 반복에 대해 이용될 수 있다.
전술한 회로 및 로직 구성이 상이한 멀티-상태 프로그래밍 실시예 및 대응하는 프로그램 검증 실시예를 이행하기 위해 이용될 수 있는 실시예로서 제공된다. 다른 회로 및 로직 구성이 동일한 소망된 결과를 얻도록 이용될 수 있다.
도 29는 본 실시예에 따른 병렬 다중-상태 프로그래밍을 위한 방법을 개략적으로 서술하는 흐름도이다. 이 방법은 도 9의 방법의 블록(302)에서 이용될 수 있다. 도 28의 방법은 프로그램할 상태를 결정하기 위하여 전술한 회로 실시예에서 설명한 것처럼 각 비트라인에 대응하는 데이터의 페이지의 비트를 디코딩함에 의해 1500에서 시작한다. 1502에서, 비트라인은 프로그램하기 위한 상이한 상태 각각에 대응하는 전압 레벨로 바이어스된다. 비트라인이 각 전압 레벨로 바이어스되는 경우, 선택된 워드라인은, 각 상이한 상태가 대응하는 임계 전압을 갖는, 상이한 상태의 메모리 셀로의 동시 프로그래밍을 위한 프로그래밍 프로파일로 1504에서 구동된다. 프로그램이 완료된 경우, 전술한 실시예에 따른 프로그램 검증 동작이 1506에서 수행될 수 있다. 구성 요소(1500, 1502, 1504 및 1506)이 전체 가능한 상태의 완전 병렬 멀티-상태 프로그래밍을 위해 또는 전체 가능한 상태의 서브셋의 병렬 멀티-상태 프로그래밍을 위해 이용될 수 있다.
예를 들면, 1500에서 데이터 디코딩 이전에, 제1 프로그래밍 반복이 1510에서 대응하는 프로그램 검증 동작을 가지며, 1508에서 하나의 상태의 프로그래밍에 대해 수행될 수 있어서, 나머지 가능한 상태를 1500, 1502 및 1504(제2 프로그래밍 반복)에서 병렬로 프로그램되도록 남긴다. 1500, 1502, 1504 및 1506에서 수행된 프로그래밍 동작은 제1 프로그래밍 반복으로서 하나의 상태를 제외한 전체 가능한 상태를 프로그래밍하기 위하여 이용될 수 있다. 나머지 상태는 1514에서 대응하는 프로그램 검증 동작을 가지며, 제2 프로그래밍 반복(1512)에서 프로그램될 수 있다. 현재 설명되는 실시예는 일 상태를 제1 프로그래밍 반복에서 프로그래밍하고 다음으로 나머지 상태를 제2 프로그래밍 반복에서 병렬로 프로그래밍하는 것 또는 그 반대에 국한되지 않는다. 프로그램될 많은 상태가 존재하는 상황에서, 적어도 2 상태가 각 프로그래밍 반복에서 프로그램되는 다중 프로그래밍 반복이 이용될 수 있다.
상술한 실시예에서, 장치 구성 요소 및 회로는 도면에서 도시된 것처럼 간략호를 위해서 서로 연결된다. 본 발명의 실제 적용에서, 구성 요소, 회로 등은 서로에 대해 직접 연결될 수 있다. 또한, 구성 요소, 회로 등은 기기 및 장치의 동작을 위해 필요한 다른 구성 요소, 회로 등을 통해 서로에 대해 간접적으로 연결될 수 있다. 그러므로, 실제 구성에서, 회로 구성 요소 및 회로는 서로에 대해 직접 또는 간접으로 결합되거나 연결된다.
본 발명의 상술한 실시예는 예를 들기 위한 것이다. 당업자라면, 첨부된 청구범위에 의해서만 한정되는, 본 발명의 범위로부터 벋어나지 않고 특정 실시예에 대해 대안, 개조 및 변형이 가능할 것이다.

Claims (23)

  1. NAND 플래시 메모리 장치용 멀티-페이지 프로그래밍 방법으로서,
    상기 NAND 플래시 메모리 장치내에 M 페이지의 데이터를 기억하는 단계 - M은 1 보다 큰 정수 - ; 및
    상기 NAND 플래시 메모리 장치의 메모리 셀내에 2M 까지의 상태를 기억하기 위하여 상기 NAND 플래시 메모리 장치에서 멀티-페이지 프로그래밍 동작을 개시하는 단계
    를 포함하는, 방법.
  2. 청구항 1에 있어서, 상기 멀티페이지 프로그래밍 동작의 완료 상태를 검사하는 단계를 더 포함하는, 방법.
  3. 청구항 2에 있어서, 상기 완료 상태가 완료된 멀티페이지 프로그래밍 동작에 대응하는 경우 상기 멀티페이지 프로그래밍 동작이 성공적인지를 결정하는 단계를 더 포함하는, 방법.
  4. 청구항 1에 있어서, 상기 기억하는 단계는 상기 NAND 플래시 메모리 장치의 각 M 페이지 버퍼에 각각의 M 페이지의 데이터를 반복적으로 로딩하는 단계를 포함하는, 방법.
  5. 청구항 4에 있어서, 각각의 M 페이지의 데이터를 로딩하는 단계는 상기 NAND 플래시 메모리 장치에서 입력 데이터가 뒤따르는 데이터 로드 커맨드(data load command)를 수신하는 단계를 포함하는, 방법.
  6. 청구항 5에 있어서, 상기 입력 데이터는 데이터 및 어드레스 정보를 포함하는, 방법.
  7. 청구항 5에 있어서, 상기 데이터 로드 커맨드는 제1 데이터 로드 커맨드이고, 제2 데이터 로드 커맨드는 상기 제1 데이터 로드 커맨드에 대응하는 상기 입력 데이터가 수신된 이후에 수신되는, 방법.
  8. 청구항 7에 있어서, 데이터 종료 커맨드는 상기 제1 데이터 로드 커맨드에 대응하는 입력 데이터가 수신된 이후 및 상기 제2 데이터 로드 커맨드가 수신되기 이전에 수신되는, 방법.
  9. 청구항 7에 있어서, M 페이지의 데이터 중 최후 페이지에 대한 데이터 종료 커맨드는, 상기 M 페이지의 데이터 중 상기 최후 페이지에 대응하는 입력 데이터가 수신된 이후에 수신되는, 방법.
  10. 청구항 9에 있어서, 상기 데이터 종료 커맨드는 멀티-페이지 프로그램 커맨드를 포함하는, 방법.
  11. 청구항 1에 있어서, 상기 멀티-페이지 프로그래밍 동작은 2M-1 까지의 상태를 프로그램하기 위한 2M-1 프로그래밍 반복 실행을 포함하며, 2M 상태 중 하나는 소거된 상태인, 방법.
  12. 청구항 11에 있어서, 각각의 프로그래밍 반복은 각각의 비트라인에 대응하는 M 페이지의 데이터의 비트의 조합에 응답하여 프로그래밍을 인에이블 또는 방지하도록 상기 비트라인 각각을 바이어싱하는 것을 포함하는, 방법.
  13. 청구항 12에 있어서, 상기 비트라인이 프로그래밍을 인에이블 또는 방지하도록 바이어스되는 동안, 각각의 프로그래밍 반복은 각 프로그래밍 반복에 특정한 프로그래밍 프로파일로 선택된 워드라인을 구동하는 것을 포함하는, 방법.
  14. 워드라인에 연결되고 비트라인에 결합된 플래시 메모리 셀을 갖는 메모리 어레이;
    M 페이지의 데이터로부터 각각의 비트라인에 대응하는 비트의 조합에 응답하여 2M-1 프로그래밍 반복 각각에 대한 프로그래밍을 인에이블 또는 방지하도록 M 페이지의 데이터를 기억하고 비트라인을 바이어싱하기 위한 비트라인 억세스 회로; 및
    상기 비트라인이 프로그래밍을 인에이블 또는 방지하도록 바이어스되는 동안 2M-1 프로그래밍 반복 각각에 대한 프로그래밍 프로파일로 선택된 워드라인을 구동하기 위한 행 회로
    를 포함하는, 플래시 메모리 장치.
  15. 청구항 14에 있어서, 상기 비트라인 억세스 회로는 각각이 M 페이지의 데이터 중 하나를 기억하기 위한 M개의 데이터 버퍼를 포함하는, 플래시 메모리 장치.
  16. 청구항 15에 있어서, 상기 비트라인 억세스 회로는 각각의 비트라인에 대응하는 M개의 데이터 버퍼내에 기억된 M 페이지의 데이터의 비트의 조합에 응답하여 프로그래밍을 인에이블 또는 방지하도록 각각의 상기 비트라인을 바이어싱하기 위한 비트라인 바이어싱 회로를 포함하는, 플래시 메모리 장치.
  17. 청구항 16에 있어서, 상기 M개의 데이터 버퍼 각각은 한 페이지의 데이터의 하나의 비트를 기억하기 위한 데이터 기억 회로를 포함하는, 플래시 메모리 장치.
  18. 청구항 17에 있어서, 상기 M개의 데이터 버퍼의 각각의 비트 위치는
    각각의 비트라인에 대응하는 상기 M개의 데이터 버퍼내에 기억된 M 페이지의 데이터의 비트를 수신하기 위한 데이터 검증 디코더, 및
    데이터 디코더의 선택된 출력에 응답하여 비트를 반전시키기 위한 반전 회로
    를 포함하는, 플래시 메모리 장치.
  19. 워드라인에 연결되고, 비트라인에 결합된 플래시 메모리 셀을 갖는 메모리 어레이 - 각각의 플래시 메모리 셀은 소거 상태, 제1 상태, 제2 상태 및 제3 상태 중 하나에 대응하는 임계 전압을 갖도록 프로그램 가능함 - ;
    상기 제1 상태, 상기 제2 상태 및 상기 제3 상태를 조정의 순서로 프로그램하기 위하여 상기 비트라인을 바이어싱하기 위한 비트라인 억세스 회로 - 상기 비트라인 억세스 회로는 2 페이지의 데이터로부터의 비트의 특정 조합에 응답하여 제1 상태, 제2 상태 및 제3 상태 각각에 대한 프로그래밍을 인에이블 또는 방지하기 위하여 상기 비트라인을 바이어스함 - ; 및
    상기 비트라인이 상기 제1 상태, 상기 제2 상태 및 상기 제3 상태 각각을 프로그래밍하기 위하여 바이어스되는 동안 상기 제1 상태, 상기 제2 상태 및 상기 제3 상태에 대응하는 프로그래밍 프로파일로 선택된 워드라인을 구동하기 위한 행 회로
    를 포함하는, 플래시 메모리 장치.
  20. 플래시 메모리 장치를 프로그래밍하기 위한 방법으로서,
    상기 플래시 메모리 장치의 페이지 버퍼로 적어도 2 페이지의 데이터를 로딩하는 단계;
    적어도 2 페이지의 데이터의 데이터 비트의 로직 상태에 응답하여 상기 비트라인에 결합된 플래시 메모리 셀에 상이한 임계 전압의 프로그래밍 방지 및 프로그래밍 인에이블링 중 하나에 대해 유효한 전압 레벨로 상기 플래시 메모리 장치의 비트라인을 바이어싱하는 단계; 및
    상기 워드라인에 병렬로 연결된 상기 플래시 메모리 셀에 상이한 임계 전압을 프로그래밍하기 위하여 임의의 시간 동안 상기 플래시 메모리 장치의 워드라인을 구동하는 단계
    를 포함하는, 플래시 메모리 장치를 프로그래밍하기 위한 방법.
  21. 병렬의 복수개의 플래시 메모리 셀에 상이한 상태를 프로그래밍하기 위한 방법으로서,
    각각의 플래시 메모리 셀에 대한 M 비트 데이터를 수신하는 단계 - 여기서, M은 적어도 2인 정수값 - ;
    M 비트의 데이터에 응답하여 복수의 플래시 메모리 셀 각각에 기억하기 위한 2M의 가능한 상태 중 하나의 상태를 결정하는 단계;
    소정의 전압 레벨로 복수개의 플래시 메모리 셀에 연결된 비트라인을 바이어스하는 단계 - 각각의 소정의 전압 레벨은 2M 의 가능한 상태 각각에 대응함 - ; 및
    병렬의 복수개의 플래시 메모리 셀에서의 2M 까지의 상이한 상태를 프로그래밍하기 위하여 선택된 워드라인을 구동하는 단계
    를 포함하는, 병렬의 복수개의 플래시 메모리 셀에 상이한 상태를 프로그래밍하기 위한 방법.
  22. 플래시 메모리 셀의 물리적 페이지로의 데이터의 페이지의 다중-상태 프로그래밍을 위한 비트라인 변조기 회로로서,
    M 비트의 데이터의 로직 조합에 응답하여 M 비트의 데이터를 수신하고 디코드된 선택 신호를 제공하기 위한 프로그램 데이터 디코더 - 여기서 M은 적어도 2인 정수이고, M 비트의 데이터 각각은 페이지의 데이터 중 하나와 관련됨 - ; 및
    상기 디코드된 선택 신호에 응답하여 2M 전압 레벨 중 하나에 비트라인을 바이어싱하기 위한 비트라인 바이어싱 회로
    를 포함하는, 플래시 메모리 셀의 물리적 페이지로의 데이터의 페이지의 다중-상태 프로그래밍을 위한 비트라인 변조기 회로.
  23. 워드라인에 연결되고 비트라인에 결합된 플래시 메모리 셀을 갖는 메모리 어레이;
    M 페이지의 데이터를 기억하기 위한 M 페이지 버퍼 - 여기서, M은 적어도 2인 정수 - ;
    비트라인 각각에 및 M 페이지 버퍼에 결합된 비트라인 변조기 - 비트라인 변조기 각각은 M 페이지의 데이터 각각으로부터의 데이터 비트의 조합에 응답하여 대응하는 비트라인에 2M 전압 레벨 중 하나를 인가함 - ; 및
    선택된 워드라인을 상기 M 페이지의 데이터를 플래시 메모리 셀의 행에 프로그램하기 위한 프로그래밍 프로파일로 구동하기 위한 행 회로
    를 포함하는, 플래시 메모리 장치.
KR1020137004142A 2010-07-21 2011-07-20 플래시 메모리용 멀티페이지 프로그램 스킴 KR20130038391A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US36637510P 2010-07-21 2010-07-21
US61/366,375 2010-07-21
PCT/CA2011/050442 WO2012009812A1 (en) 2010-07-21 2011-07-20 Multipage program scheme for flash memory

Publications (1)

Publication Number Publication Date
KR20130038391A true KR20130038391A (ko) 2013-04-17

Family

ID=45493513

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137004142A KR20130038391A (ko) 2010-07-21 2011-07-20 플래시 메모리용 멀티페이지 프로그램 스킴

Country Status (8)

Country Link
US (2) US9484097B2 (ko)
EP (1) EP2596501A1 (ko)
JP (1) JP2013534685A (ko)
KR (1) KR20130038391A (ko)
CN (1) CN103155044A (ko)
CA (1) CA2802219A1 (ko)
TW (1) TW201225088A (ko)
WO (1) WO2012009812A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170059643A (ko) * 2015-11-23 2017-05-31 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
KR20170062351A (ko) * 2015-11-26 2017-06-07 삼성전자주식회사 불휘발성 메모리 장치, 불휘발성 메모리 장치를 포함하는 스토리지 장치 및 불휘발성 메모리 장치에 데이터를 프로그램 하는 프로그램 방법
KR20170061739A (ko) * 2015-11-26 2017-06-07 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치를 포함하는 스토리지 장치
KR20190122061A (ko) * 2018-04-19 2019-10-29 에스케이하이닉스 주식회사 메모리 장치 및 그 동작 방법

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8261158B2 (en) 2009-03-13 2012-09-04 Fusion-Io, Inc. Apparatus, system, and method for using multi-level cell solid-state storage as single level cell solid-state storage
US8266503B2 (en) 2009-03-13 2012-09-11 Fusion-Io Apparatus, system, and method for using multi-level cell storage in a single-level cell mode
US8458635B2 (en) * 2009-12-04 2013-06-04 Synopsys, Inc. Convolution computation for many-core processor architectures
US8661184B2 (en) 2010-01-27 2014-02-25 Fusion-Io, Inc. Managing non-volatile media
US8854882B2 (en) 2010-01-27 2014-10-07 Intelligent Intellectual Property Holdings 2 Llc Configuring storage cells
US9245653B2 (en) 2010-03-15 2016-01-26 Intelligent Intellectual Property Holdings 2 Llc Reduced level cell mode for non-volatile memory
US9588883B2 (en) * 2011-09-23 2017-03-07 Conversant Intellectual Property Management Inc. Flash memory system
WO2013048385A1 (en) * 2011-09-28 2013-04-04 Intel Corporation Maximum-likelihood decoder in a memory controller for synchronization
KR101845509B1 (ko) 2011-10-05 2018-04-05 삼성전자주식회사 비휘발성 메모리 장치 및 이의 프로그램 방법
US9430735B1 (en) * 2012-02-23 2016-08-30 Micron Technology, Inc. Neural network in a memory device
US9606730B2 (en) * 2012-05-04 2017-03-28 Samsung Electronics Co., Ltd. System and method including three dimensional nonvolatile memory device and random access memory
KR102025088B1 (ko) 2012-09-03 2019-09-25 삼성전자 주식회사 메모리 컨트롤러 및 상기 메모리 컨트롤러를 포함하는 전자장치
TWI560549B (en) * 2013-02-07 2016-12-01 Winbond Electronics Corp Access system
KR102160290B1 (ko) 2013-02-28 2020-09-25 삼성전자주식회사 불휘발성 메모리 및 불휘발성 메모리의 읽기 방법
US11222697B2 (en) 2013-02-28 2022-01-11 Samsung Electronics Co., Ltd. Three-dimensional nonvolatile memory and method of performing read operation in the nonvolatile memory
US20140281842A1 (en) * 2013-03-14 2014-09-18 Fusion-Io, Inc. Non-Volatile Cells Having a Non-Power-of-Two Number of States
KR102127105B1 (ko) 2013-11-11 2020-06-29 삼성전자 주식회사 비휘발성 메모리 장치의 구동 방법
JP2015097245A (ja) * 2013-11-15 2015-05-21 株式会社東芝 不揮発性半導体記憶装置、及びメモリシステム
US9123414B2 (en) * 2013-11-22 2015-09-01 Micron Technology, Inc. Memory systems and memory programming methods
US9336875B2 (en) 2013-12-16 2016-05-10 Micron Technology, Inc. Memory systems and memory programming methods
US9613704B2 (en) * 2013-12-25 2017-04-04 Aplus Flash Technology, Inc 2D/3D NAND memory array with bit-line hierarchical structure for multi-page concurrent SLC/MLC program and program-verify
US9269432B2 (en) * 2014-01-09 2016-02-23 Micron Technology, Inc. Memory systems and memory programming methods
WO2015121868A1 (en) * 2014-02-17 2015-08-20 Technion Research And Development Foundation Ltd. Multistate register having a flip flop and multiple memristive devices
CN104952475B (zh) * 2014-03-28 2017-11-03 华邦电子股份有限公司 快闪存储器及其编程方法
US10042565B2 (en) * 2014-10-16 2018-08-07 Futurewei Technologies, Inc. All-flash-array primary storage and caching appliances implementing triple-level cell (TLC)-NAND semiconductor microchips
KR102292183B1 (ko) * 2014-11-07 2021-08-25 삼성전자주식회사 불휘발성 메모리의 동작 방법 및 불휘발성 메모리를 포함하는 스토리지 장치의 동작 방법
KR102282947B1 (ko) 2014-12-15 2021-07-30 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
KR102333743B1 (ko) * 2015-01-21 2021-12-01 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 동작 방법
US9852795B2 (en) * 2015-09-24 2017-12-26 Samsung Electronics Co., Ltd. Methods of operating nonvolatile memory devices, and memory systems including nonvolatile memory devices
KR102320861B1 (ko) * 2015-10-06 2021-11-03 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
US9715924B2 (en) * 2015-10-22 2017-07-25 Sandisk Technologies Llc Three dimensional non-volatile memory with current sensing programming status
US10346097B2 (en) 2015-11-26 2019-07-09 Samsung Electronics Co., Ltd. Nonvolatile memory device and storage device including nonvolatile memory device
KR20170073980A (ko) * 2015-12-21 2017-06-29 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
US9823880B1 (en) * 2016-09-30 2017-11-21 Intel Corporation Method and apparatus for initiating pre-read operation before completion of data load operation
US10713276B2 (en) * 2016-10-03 2020-07-14 Ocient, Inc. Data transition in highly parallel database management system
US9977622B1 (en) 2016-11-22 2018-05-22 Micron Technology, Inc. Buffer operations in memory
KR102336659B1 (ko) 2017-09-05 2021-12-07 삼성전자 주식회사 데이터 신뢰성을 향상시키기 위한 메모리 동작을 수행하는 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 장치의 동작 방법
US11232841B2 (en) 2017-09-05 2022-01-25 Samsung Electronics Co., Ltd. Methods of operating memory devices based on sub-block positions and related memory system
US10824376B2 (en) 2017-12-08 2020-11-03 Sandisk Technologies Llc Microcontroller architecture for non-volatile memory
US10622075B2 (en) 2017-12-12 2020-04-14 Sandisk Technologies Llc Hybrid microcontroller architecture for non-volatile memory
KR102401061B1 (ko) * 2017-12-26 2022-05-24 에스케이하이닉스 주식회사 반도체 장치 및 그 동작 방법
CN110047545A (zh) * 2018-01-13 2019-07-23 许富菖 使用多页编程来写入非易失性存储器的方法与装置
US10256244B1 (en) * 2018-01-15 2019-04-09 Gigadevice Semiconductor (Beijing) Inc. NAND flash memory with fast programming function
US10910061B2 (en) 2018-03-14 2021-02-02 Silicon Storage Technology, Inc. Method and apparatus for programming analog neural memory in a deep learning artificial neural network
JP2019164873A (ja) * 2018-03-20 2019-09-26 東芝メモリ株式会社 半導体記憶装置およびその制御方法
TWI682396B (zh) * 2018-08-07 2020-01-11 旺宏電子股份有限公司 記憶體陣列的操作方法
JP2022510720A (ja) * 2018-12-10 2022-01-27 長江存儲科技有限責任公司 フラッシュメモリのマルチパスプログラミングのための先読み技法
US10777286B2 (en) 2018-12-28 2020-09-15 Micron Technology, Inc. Apparatus and methods for determining data states of memory cells
US10777240B1 (en) 2019-03-07 2020-09-15 Sandisk Technologies Llc Efficient control of memory core circuits
US11315649B2 (en) 2019-04-16 2022-04-26 Samsung Electronics Co., Ltd. Memory controller, memory device and memory system having improved threshold voltage distribution characteristics and related operating methods
KR102671402B1 (ko) 2019-04-16 2024-05-31 삼성전자주식회사 문턱전압 산포 특성을 향상한 메모리 컨트롤러, 메모리 시스템 및 그 동작방법
TWI727327B (zh) * 2019-05-29 2021-05-11 群聯電子股份有限公司 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置
CN112051963B (zh) * 2019-06-06 2023-06-13 群联电子股份有限公司 数据写入方法、存储器控制电路单元以及存储器存储装置
US10971199B2 (en) 2019-06-20 2021-04-06 Sandisk Technologies Llc Microcontroller for non-volatile memory with combinational logic
KR20210011209A (ko) * 2019-07-22 2021-02-01 삼성전자주식회사 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 프로그램 방법
US10949126B2 (en) * 2019-07-25 2021-03-16 ScaleFlux, Inc. Solid-state storage device speed performance and endurance through host-side data classification and embedded write caching
KR20210033713A (ko) * 2019-09-19 2021-03-29 에스케이하이닉스 주식회사 메모리 장치 및 그 동작 방법
US11507498B2 (en) 2020-03-05 2022-11-22 Sandisk Technologies Llc Pre-computation of memory core control signals
CN112154505B (zh) * 2020-08-27 2022-09-30 长江存储科技有限责任公司 Nand闪存设备中的非破坏性模式高速缓存编程
US11894075B2 (en) 2020-08-27 2024-02-06 Yangtze Memory Technologies Co. Ltd. Non-destructive mode cache programming in NAND flash memory devices
US11688474B2 (en) * 2021-04-19 2023-06-27 Micron Technology, Inc. Dual verify for quick charge loss reduction in memory cells
WO2022252135A1 (en) * 2021-06-02 2022-12-08 Yangtze Memory Technologies Co., Ltd. Memory device and program operation thereof
WO2024087144A1 (en) * 2022-10-28 2024-05-02 Yangtze Memory Technologies Co., Ltd. Memory device and program operation thereof

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5268870A (en) 1988-06-08 1993-12-07 Eliyahou Harari Flash EEPROM system and intelligent programming and erasing methods therefor
US5268319A (en) * 1988-06-08 1993-12-07 Eliyahou Harari Highly compact EPROM and flash EEPROM devices
US5218569A (en) * 1991-02-08 1993-06-08 Banks Gerald J Electrically alterable non-volatile memory with n-bits per memory cell
KR0172408B1 (ko) * 1995-12-11 1999-03-30 김광호 다수상태 불휘발성 반도체 메모리 및 그의 구동방법
JPH1055688A (ja) * 1996-08-12 1998-02-24 Sony Corp 不揮発性半導体記憶装置
US6178118B1 (en) * 1997-08-26 2001-01-23 Macronix International Co., Ltd. Electrically programmable semiconductor device with multi-level wordline voltages for programming multi-level threshold voltages
US6058042A (en) 1997-12-26 2000-05-02 Sony Corporation Semiconductor nonvolatile memory device and method of data programming the same
JP3883687B2 (ja) 1998-02-16 2007-02-21 株式会社ルネサステクノロジ 半導体装置、メモリカード及びデータ処理システム
JP2000040382A (ja) * 1998-07-23 2000-02-08 Sony Corp 不揮発性半導体記憶装置およびそのデータ書き込み方法
JP2000163977A (ja) * 1998-11-20 2000-06-16 Sony Corp 不揮発性半導体記憶装置及びそのデータ書き込み方法
KR100319559B1 (ko) * 1999-11-01 2002-01-05 윤종용 문턱 전압 분포들 사이의 마진을 일정하게 유지할 수 있는멀티-스테이트 불휘발성 반도체 메모리 장치
US6714457B1 (en) * 2001-09-19 2004-03-30 Aplus Flash Technology, Inc. Parallel channel programming scheme for MLC flash memory
KR100630535B1 (ko) * 2004-03-23 2006-09-29 에스티마이크로일렉트로닉스 엔.브이. 멀티 레벨 낸드 플래시 메모리 셀의 독출 방법 및 회로
US7307884B2 (en) 2004-06-15 2007-12-11 Sandisk Corporation Concurrent programming of non-volatile memory
KR100590388B1 (ko) 2005-03-10 2006-06-19 주식회사 하이닉스반도체 멀티-플레인 타입 플래쉬 메모리 장치와, 그 프로그램 동작및 리드 동작 제어 방법
US7366014B2 (en) 2005-07-28 2008-04-29 Stmicroelectronics S.R.L. Double page programming system and method
EP1870905B1 (en) 2006-06-21 2009-12-30 STMicroelectronics S.r.l. Method and circuit for electrically programming semiconductor memory cells
KR100919156B1 (ko) * 2006-08-24 2009-09-28 삼성전자주식회사 멀티-비트 플래시 메모리 장치 및 그것의 프로그램 방법
US7609548B2 (en) 2006-09-29 2009-10-27 Hynix Semiconductor Inc. Method of programming a multi level cell
KR100819102B1 (ko) * 2007-02-06 2008-04-03 삼성전자주식회사 개선된 멀티 페이지 프로그램 동작을 갖는 불휘발성 반도체메모리 장치
US7489543B1 (en) * 2007-07-25 2009-02-10 Micron Technology, Inc. Programming multilevel cell memory arrays
TWI375962B (en) 2008-06-09 2012-11-01 Phison Electronics Corp Data writing method for flash memory and storage system and controller using the same
KR101427896B1 (ko) * 2008-08-06 2014-08-11 삼성전자주식회사 공통 소스 라인의 노이즈를 줄이는 플래시 메모리 장치 및그것을 포함하는 메모리 시스템
JP2010218623A (ja) * 2009-03-17 2010-09-30 Toshiba Corp 不揮発性半導体記憶装置
KR101024134B1 (ko) * 2009-06-12 2011-03-22 주식회사 하이닉스반도체 불휘발성 메모리 소자 및 이의 프로그램 방법
KR20120005826A (ko) * 2010-07-09 2012-01-17 주식회사 하이닉스반도체 반도체 메모리 장치 및 이의 동작 방법
US20160041760A1 (en) * 2014-08-08 2016-02-11 International Business Machines Corporation Multi-Level Cell Flash Memory Control Mechanisms

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170059643A (ko) * 2015-11-23 2017-05-31 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
KR20170062351A (ko) * 2015-11-26 2017-06-07 삼성전자주식회사 불휘발성 메모리 장치, 불휘발성 메모리 장치를 포함하는 스토리지 장치 및 불휘발성 메모리 장치에 데이터를 프로그램 하는 프로그램 방법
KR20170061739A (ko) * 2015-11-26 2017-06-07 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치를 포함하는 스토리지 장치
KR20190122061A (ko) * 2018-04-19 2019-10-29 에스케이하이닉스 주식회사 메모리 장치 및 그 동작 방법

Also Published As

Publication number Publication date
US20170004877A1 (en) 2017-01-05
CN103155044A (zh) 2013-06-12
EP2596501A1 (en) 2013-05-29
TW201225088A (en) 2012-06-16
JP2013534685A (ja) 2013-09-05
CA2802219A1 (en) 2012-01-26
US9852788B2 (en) 2017-12-26
US20120020155A1 (en) 2012-01-26
WO2012009812A1 (en) 2012-01-26
US9484097B2 (en) 2016-11-01

Similar Documents

Publication Publication Date Title
US9852788B2 (en) Multipage program scheme for flash memory
US10748633B2 (en) Semiconductor memory device
US8462548B2 (en) Non-volatile memory device capable of reducing floating gate-to-floating gate coupling effect during programming
US7606079B2 (en) Reducing power consumption during read operations in non-volatile storage
US10332603B2 (en) Access line management in a memory device
US8144519B2 (en) Programming a flash memory device
US7440327B1 (en) Non-volatile storage with reduced power consumption during read operations
US9910607B2 (en) Method of managing a memory, and a memory system
KR20150131449A (ko) 불휘발성 메모리 장치 및 그것을 포함하는 스토리지 장치의 동작 방법
US11227658B2 (en) Flash memory and method for controlling the same
US12014778B2 (en) In-line programming adjustment of a memory cell in a memory sub-system
KR101678888B1 (ko) 비휘발성 메모리 장치의 데이터 판독 방법

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid