KR20230015967A - Nand 플래시 메모리 디바이스의 비파괴 모드 캐시 프로그래밍 - Google Patents

Nand 플래시 메모리 디바이스의 비파괴 모드 캐시 프로그래밍 Download PDF

Info

Publication number
KR20230015967A
KR20230015967A KR1020227045090A KR20227045090A KR20230015967A KR 20230015967 A KR20230015967 A KR 20230015967A KR 1020227045090 A KR1020227045090 A KR 1020227045090A KR 20227045090 A KR20227045090 A KR 20227045090A KR 20230015967 A KR20230015967 A KR 20230015967A
Authority
KR
South Korea
Prior art keywords
page
programming
data
memory cells
states
Prior art date
Application number
KR1020227045090A
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 KR20230015967A publication Critical patent/KR20230015967A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1084Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1018Serial bit line access mode, e.g. using bit line address shift registers, bit line address counters, bit line burst counters
    • G11C7/1021Page serial bit line access mode, i.e. using an enabled row address stroke pulse with its associated word line address and a sequence of enabled column address stroke pulses each with its associated bit line address
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1057Data output buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/106Data output latches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1087Data input latches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/14Dummy cell management; Sense reference voltage generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2245Memory devices with an internal cache buffer
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5621Multilevel programming verification
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

트리플-레벨-셀(TLC: triple-level-cell) 모드에서 NAND 플래시 메모리의 캐시 프로그래밍 방법이 제공된다. 방법은 논리 상태의 제1 그룹이 프로그래밍되고 검증될 때 복수의 페이지 버퍼의 데이터 래치의 제1 세트로부터 제1 프로그래밍 데이터의 상부 페이지를 폐기하는 단계를 포함한다. 복수의 페이지 버퍼는 프로그래밍 데이터의 상부 페이지, 중간 페이지 및 하부 페이지를 각각 저장하도록 구성된 제1, 제2 및 제3 데이터 래치 세트를 포함한다. 방법은 또한 제2 프로그래밍 데이터의 하부 페이지를 캐시 래치 세트에 업로드하는 단계, 제1 프로그래밍 데이터의 하부 페이지를 폐기한 후 캐시 래치 세트에서 데이터 래치의 제3 세트로 제2 프로그래밍 데이터의 하부 페이지를 전송하는 단계, 및 제2 프로그래밍 데이터의 중간 페이지를 캐시 래치 세트에 업로드하는 단계를 포함한다.

Description

NAND 플래시 메모리 디바이스의 비파괴 모드 캐시 프로그래밍
본 개시내용은 일반적으로 반도체 기술 분야에 관한 것이고, 보다 상세하게는 NAND 플래시 메모리의 캐시 프로그래밍(cache programming) 방법에 관한 것이다.
많은 서버 및 모바일 디바이스에서, NAND 플래시 메모리는 높은 저장 밀도와 상대적으로 낮은 액세스 레이턴시로 인해 주 비휘발성 저장 디바이스로 널리 사용된다. 비용을 줄이고 프로그래밍 속도를 향상시키기 위해, 일반적으로 프로그래밍 데이터는 NAND 플래시 메모리로 송신된 후 호스트 컴퓨터에 저장되지 않는다. 프로그래밍 실패 시 데이터 손실을 방지하기 위해, NAND 플래시 메모리는 일반적으로 전체 기록 동작 동안 원래 프로그래밍 데이터를 페이지 버퍼에 저장하고, 여기서 프로그래밍 실패 시 원래 프로그래밍 데이터는 복구될 수 있다.
저장 용량을 증가시키기 위해, 최첨단 NAND 플래시 메모리에서, 각 메모리 셀은 다중 비트를 저장할 수 있다. 그러므로 각 메모리 셀을 프로그래밍하고 검증하는 것은 연장된다. 현재, 새로운 프로그래밍 데이터는 이전 프로그래밍 동작이 완료된 후 페이지 버퍼로 송신되고 메모리 셀에 저장된 프로그래밍 데이터는 검증된다. 고속 저장 시스템에서, 페이지 버퍼의 데이터 입력 시간은 전체 시스템 기록 성능을 제한할 수 있다. 그러므로, 캐시 프로그래밍을 최적화할 필요가 있다.
본 개시내용의 목적은 페이지 버퍼의 캐시 프로그래밍을 개선하는 것, 즉 비파괴 모드에서 원래 프로그래밍 데이터를 손실하지 않고 데이터 입력 시간을 감소시키는 것이다.
NAND 플래시 메모리 디바이스에서 캐시 프로그래밍을 위한 방법의 실시예가 본 개시내용에서 설명된다.
본 개시내용의 일 양태는 NAND 플래시 메모리의 캐시 프로그래밍 방법을 제공한다. 이 방법은 논리 상태의 제1 그룹이 NAND 플래시 메모리의 메모리 페이지의 복수의 메모리 셀에 대해 프로그래밍 및 검증될 때 NAND 플래시 메모리의 복수의 페이지 버퍼의 데이터 래치의 제1 세트로부터 제1 프로그래밍 데이터의 제1 논리 페이지를 폐기하는 단계를 포함한다. 복수의 메모리 셀 각각은 2n개의 논리 상태를 포함한다. 복수의 메모리 셀 각각은 복수의 페이지 버퍼 중 적어도 하나에 결합된다. 복수의 페이지 버퍼는 프로그래밍 데이터의 n개의 논리 페이지를 저장하도록 구성된 데이터 래치의 n개의 세트를 포함한다. 방법은 또한 제2 프로그래밍 데이터의 제2 논리 페이지를 복수의 페이지 버퍼의 캐시 래치 세트에 업로드하는 단계를 포함한다.
일부 실시예에서, 방법은 또한 제1 논리 페이지를 폐기한 후에 캐시 래치 세트로부터 데이터 래치의 제1 세트로 금지 정보를 전송하는 단계를 포함한다. 방법은 금지 정보가 논리 "1"을 포함할 때 복수의 메모리 셀이 추가 프로그래밍되는 것을 금지하는 단계를 더 포함한다.
일부 실시예에서, 방법은 또한 제1 논리 페이지를 폐기하기 전에, 복수의 메모리 셀에 대한 논리 상태의 제1 그룹을 프로그래밍하는 단계를 포함하고, 논리 상태의 제1 그룹은 복수의 메모리 셀의 논리 상태의 제2 그룹의 임계 전압의 제2 그룹보다 낮은 임계 전압의 제1 그룹을 포함한다. 방법은 제1 프로그래밍 데이터의 나머지 논리 페이지에 따라 복수의 메모리 셀을 논리 상태의 제2 그룹으로 프로그래밍하는 단계를 더 포함한다.
일부 실시예에서, 방법은 또한 복수의 판독 기준 전압을 사용함으로써 복수의 메모리 셀의 2n개의 논리 상태 각각을 검증하는 단계를 포함하고, 각각의 판독 기준 전압은 2개의 인접한 논리 상태의 임계 전압 사이의 크기를 포함한다.
일부 실시예에서, 방법은 또한 최저 임계 전압을 갖는 제1 논리 상태로부터 최고 임계 전압을 갖는 n번째 논리 상태로 복수의 메모리 셀을 프로그래밍하는 단계를 포함한다.
일부 실시예에서, 방법은 또한 프로그래밍 실패가 발생할 때 제1 프로그래밍 데이터의 제1 논리 페이지를 복구하는 단계를 포함한다. 방법은 제1 판독 기준 전압을 사용함으로써 복수의 메모리 셀을 판독하는 단계를 더 포함하고, 제1 판독 기준 전압은 2n개의 논리 상태를 2개의 구별가능 그룹으로 분리한다. 방법은 또한 나머지 논리 페이지와 2개의 구별가능 그룹에 기반하여 제1 논리 페이지에 대한 이진 코드를 구성하는 단계를 포함한다.
본 개시내용의 다른 양태는 트리플-레벨-셀(TLC: triple-level-cell) 모드에서 NAND 플래시 메모리의 캐시 프로그래밍 방법을 제공한다. 방법은 논리 상태의 제1 그룹이 NAND 플래시 메모리의 메모리 페이지의 복수의 메모리 셀에 대해 프로그래밍 및 검증될 때 NAND 플래시 메모리의 복수의 페이지 버퍼의 데이터 래치의 제1 세트로부터 제1 프로그래밍 데이터의 상부 페이지를 폐기하는 단계를 포함한다. 복수의 메모리 셀 각각은 8개의 논리 상태를 갖는다. 8개의 논리 상태는 소거 상태 및 i번째 논리 상태일 수 있고, i=1 내지 7 및 8개의 논리 상태의 임계 전압은 오름차순이다. 복수의 메모리 셀 각각은 복수의 페이지 버퍼 중 적어도 하나에 결합된다. 복수의 페이지 버퍼는 프로그래밍 데이터의 상부 페이지, 중간 페이지 및 하부 페이지를 각각 저장하도록 구성된 데이터 래치의 제1 세트, 데이터 래치의 제2 세트 및 데이터 래치의 제3 세트를 포함한다. 방법은 제2 프로그래밍 데이터의 하부 페이지를 복수의 페이지 버퍼의 캐시 래치 세트에 업로드하는 단계를 더 포함한다.
일부 실시예에서, 방법은 또한 상부 페이지를 폐기한 후 금지 정보를 캐시 래치의 제1 세트로부터 데이터 래치의 제1 세트로 전송하는 단계, 및 금지 정보가 논리 "1"을 포함할 때 복수의 메모리 셀이 추가 프로그래밍되는 것을 금지하는 단계를 포함한다.
일부 실시예에서, 방법은 또한 상부 페이지를 폐기하기 전에, 복수의 메모리 셀에 대한 논리 상태의 제1 그룹을 프로그래밍하는 단계를 포함하고, 논리 상태의 제1 그룹은 제1, 제2, 제3 및 제4 논리 상태를 포함한다. 방법은 제1 프로그래밍 데이터의 중간 페이지 및 하부 페이지에 따라 복수의 메모리 셀을 제5, 제6 및 제7 논리 상태로 프로그래밍하는 단계를 더 포함한다.
일부 실시예에서, 방법은 또한 프로그래밍 실패가 발생하는 경우 제1 프로그래밍 데이터의 상부 페이지를 복구하는 단계를 포함한다. 방법은 제1 판독 기준 전압을 사용함으로써 복수의 메모리 셀을 판독하는 단계를 더 포함하고, 제1 판독 기준 전압은 8개의 논리 상태를 2개의 구별가능 그룹으로 분리한다. 방법은 또한 중간 페이지, 하부 페이지 및 2개의 구별가능 그룹에 기반하여 상부 페이지에 대한 이진 코드를 구성하는 단계를 포함한다.
일부 실시예에서, 방법은 또한 논리 상태의 제3 그룹이 복수의 메모리 셀에 대해 프로그래밍되고 검증될 때 복수의 페이지 버퍼의 데이터 래치의 제3 세트로부터 제1 프로그래밍 데이터의 하부 페이지를 폐기하는 단계를 포함한다. 방법은 제1 프로그래밍 데이터의 하부 페이지를 폐기한 후에 제2 프로그래밍 데이터의 하부 페이지를 캐시 래치 세트에서 데이터 래치의 제3 세트로 전송하는 단계, 및 제2 프로그래밍 데이터의 중간 페이지를 캐시 래치의 세트로 업로드하는 단계를 더 포함한다. 방법은 또한 제6 논리 상태가 복수의 메모리 셀에 대해 프로그래밍되고 검증될 때 복수의 페이지 버퍼의 제어 래치 세트로부터 3번째 비트 라인 정보를 폐기하는 단계, 및 제2 프로그래밍 데이터의 상부 페이지를 제어 래치의 세트로 업로드하는 단계를 포함한다.
본 개시내용의 다른 양태는 본 개시내용의 설명, 청구범위 및 도면에 비추어 통상의 기술자에 의해 이해될 수 있다.
본원에 포함되고 명세서의 일부를 형성하는 첨부 도면은 본 개시내용의 를 예시하고, 설명과 함께, 추가로 본 개시내용의 원리를 설명하고 통상의 기술자가 본 개시내용을 만들고 사용할 수 있게 한다.
도 1은 본 개시내용의 일부 실시예에 따른 NAND 플래시 메모리를 갖는 저장 시스템을 예시한다.
도 2는 본 개시내용의 일부 실시예에 따른 메모리 어레이의 개략 회로도를 도시한다.
도 3은 본 개시내용의 일부 실시예에 따라 NAND 플래시 메모리의 임계 전압(Vth) 분포를 예시한다.
도 4는 본 개시내용의 일부 실시예에 따라 NAND 플래시 메모리의 논리 페이지 및 상태의 매핑 방식을 예시한다.
도 5는 본 개시내용의 일부 실시예에 따른 페이지 버퍼의 블록도를 예시한다.
도 6은 본 개시내용의 일부 실시예에 따른 페이지 버퍼의 예시적인 캐시 사용을 예시한다.
도 7은 본 개시내용의 일부 실시예에 따른 NAND 플래시 메모리에 대한 캐시 프로그래밍 방법의 흐름도를 예시한다.
도 8는 본 개시 내용의 일부 실시예에 따른 논리 페이지의 매핑 및 복구 방식을 예시한다.
도 9는 본 개시내용의 일부 실시예에 따른 페이지 버퍼의 예시적인 캐시 사용을 예시한다.
도 10은 본 개시내용의 일부 실시예에 따른 페이지 버퍼의 래치에 대한 복구 방법을 예시한다.
도 11은 본 개시내용의 일부 실시예에 따른 NAND 플래시 메모리에 대한 캐시 프로그래밍 방법의 흐름도를 예시한다.
도 12는 본 개시 내용의 일부 실시예에 따른 논리 페이지의 매핑 및 복구 방식을 예시한다.
도 13은 본 개시내용의 일부 실시예에 따른 페이지 버퍼의 예시적인 캐시 사용을 예시한다.
도 14는 본 개시내용의 일부 실시예에 따른 페이지 버퍼의 래치에 대한 복구 방법을 예시한다.
도 15는 본 개시내용의 일부 실시예에 따른 페이지 버퍼의 예시적인 캐시 사용을 예시한다.
본 발명의 특징 및 장점은 동일한 참조 번호가 전체에 걸쳐 대응하는 요소를 식별하는 도면과 함께 취해질 때 아래에 설명된 상세한 설명으로부터 더욱 명백해질 것이다. 도면에서, 동일한 참조 번호는 일반적으로 동일하고, 기능적으로 유사하고, 및/또는 구조적으로 유사한 요소를 나타낸다.
본 개시내용의 실시예는 첨부 도면을 참조하여 설명될 것이다.
특정 구성 및 배열이 논의되지만, 이는 단지 예시 목적을 위해 행해짐이 이해되어야 한다. 통상의 기술자는 본 개시내용의 사상 및 범위를 벗어나지 않고 다른 구성 및 배열이 사용될 수 있음을 인식할 것이다. 본 개시내용이 또한 다양한 다른 애플리케이션에서 이용될 수 있다는 것이 통상의 기술자에게 명백할 것이다.
"하나의 실시예", "일 실시예", "예시적인 실시예", "일부 실시예" 등에 대한 명세서의 언급들이, 설명된 실시예가 특정 특징, 구조, 또는 특성을 포함할 수 있지만, 모든 실시예가 반드시 특정 특징, 구조, 또는 특성을 포함하지 않을 수 있다는 것이 유의된다. 또한, 그런 어구들은 반드시 동일한 실시예를 지칭하지 않는다. 또한, 특정 특징, 구조, 또는 특성이 실시예와 관련되어 설명될 때, 명시적으로 설명되든 아니든 다른 실시예와 관련되어 그런 특징, 구조 또는 특성에 영향을 미치는 것은 통상의 기술자의 지식 내에 있을 것이다.
일반적으로, 용어는 문맥에서의 사용으로부터 적어도 부분적으로 이해될 수 있다. 예를 들어, 본원에 사용된 바와 같은 "하나 이상"이라는 용어는 문맥에 따라 적어도 부분적으로 단수 의미로 임의의 특징, 구조 또는 특성을 설명하는 데 사용될 수 있거나 복수의 의미로 특징, 구조 또는 특성의 조합을 설명하는 데 사용될 수 있다. 유사하게, 다시 단수형("a", "an" 또는 "the")과 같은 용어는 문맥에 따라 적어도 부분적으로 단수 용법을 전달하거나 복수 용법을 전달하는 것으로 이해될 수 있다. 또한, "~에 기반한"이라는 용어는 반드시 배타적 요인 세트를 전달하도록 의도된 것은 아닌 것으로 이해될 수 있으며 대신에 적어도 부분적으로 문맥에 따라 다시 반드시 명시적으로 설명되지 않은 추가 요인의 존재를 허용할 수 있다.
본원에서 사용된 바와 같이, "공칭/공칭적으로"라는 용어는 원하는 값 초과 및/또는 미만의 값의 범위와 함께, 제품 또는 프로세스의 설계 단계 동안 설정되는 구성요소 또는 프로세스 단계에 대한 특성 또는 파라미터의 원하는 또는 타깃 값을 지칭한다. 값의 범위는 제조 프로세스 또는 공차의 약간의 변동으로 인할 수 있다. 본원에 사용된 바와 같이, "약"이라는 용어는 대상 반도체 디바이스와 연관된 특정 기술 노드에 기반하여 변할 수 있는 주어진 양의 값을 나타낸다. 특정 기술 노드에 기반하여, "약"이라는 용어는 예를 들어 값의 10-30%(±10%, ±20%, or ±30%) 내에서 변하는 주어진 양의 값을 나타낼 수 있다.
도 1은 본 개시내용의 일부 실시예에 따른 저장 시스템(10)을 예시한다. 저장 시스템(10)은 NAND 플래시 메모리(100) 및 호스트 제어기(20)를 포함하는 솔리드 스테이트 드라이브(SSD)를 포함할 수 있다. SSD(10)는 호스트 제어기(20)를 통해 호스트 컴퓨터(15)와 통신할 수 있고, 호스트 제어기(20)는 메모리 채널(30)을 통해 NAND 플래시 메모리(100)에 연결될 수 있다. 일부 실시예에서, SSD(10)는 하나보다 많은 NAND 플래시 메모리(100)를 가질 수 있는 반면, 각각의 NAND 플래시 메모리(100)는 호스트 제어기(20)에 의해 관리될 수 있다.
호스트 컴퓨터(15)는 SSD(10)에 저장될 데이터를 송신하거나 SSD(10)를 판독함으로써 데이터를 검색한다. 호스트 제어기(20)는 호스트 컴퓨터(15)로부터 수신된 I/O 요청을 처리하고, 데이터 무결성 및 효율적인 저장을 보장하고, NAND 플래시 메모리(100)를 관리할 수 있다. 메모리 채널(30)은 데이터를 제공하고 데이터 버스를 통해 호스트 제어기(20)와 NAND 플래시 메모리(100) 사이의 통신을 제어할 수 있다.
NAND 플래시 메모리(100)(즉, "플래시", "NAND 플래시" 또는 "NAND")는 메모리 칩(패키지), 메모리 다이 또는 메모리 다이의 임의의 부분일 수 있고, 하나 이상의 메모리 평면(101)을 포함할 수 있고, 상기 메모리 평면(120) 각각은 복수의 메모리 블록(103)을 포함할 수 있다. 동일하고 동시적인 동작은 각각의 메모리 평면(101)에서 일어날 수 있다. 크기가 메가바이트(MB)일 수 있는 메모리 블록(103)은 소거 동작을 수행하기 위한 가장 작은 크기이다. 도 1에 도시된 바와 같이, 예시적인 NAND 플래시 메모리(100)는 4개의 메모리 평면(101)을 포함하고 각각의 메모리 평면(101)은 6개의 메모리 블록(103)을 포함한다. 각 메모리 블록(103)은 복수의 메모리 셀을 포함할 수 있고, 각 메모리 셀은 비트 라인 및 워드 라인과 같은 상호 연결을 통해 어드레싱될 수 있다. 비트 라인과 워드 라인은 수직으로(예를 들어, 각각 행과 열로) 배치되어, 금속 라인 어레이를 형성할 수 있다. 비트 라인과 워드 라인의 방향은 도 1에서 "BL"과 "WL"로 표시된다. 본 개시내용에서, 메모리 블록(103)은 또한 "메모리 어레이" 또는 "어레이"로 지칭된다. 메모리 어레이는 저장 기능을 수행하는 메모리 디바이스의 핵심 영역이다.
NAND 플래시 메모리(100)는 또한 메모리 평면(101)을 둘러싸는 영역인 주변 영역(105)을 포함한다. 주변 영역(105)은 메모리 어레이의 기능을 지원하는 많은 디지털, 아날로그 및/또는 혼합 신호 회로, 예를 들어 페이지 버퍼(50), 행 디코더(40), 열 디코더(60), 주변 회로(70) 및 감지 증폭기(80)를 포함한다. 주변 회로(70)는 통상의 기술자에게 명백한 바와 같이 트랜지스터, 다이오드, 커패시터, 저항기 등과 같은 능동 및/또는 수동 반도체 디바이스를 포함한다.
도 1의 SSD(10) 및 NAND 플래시 메모리(100)의 전자 구성요소의 레이아웃이 예로서 도시되어 있음이 유의된다. SSD(10) 및 NAND 플래시 메모리(100)는 다른 레이아웃을 가질 수 있고 추가 구성요소를 포함할 수 있다. 예를 들어, NAND 플래시 메모리(100)는 또한 고전압 충전 펌프, I/O 회로 등을 가질 수 있다. SSD(10)는 또한 펌웨어, 데이터 스크램블러 등을 포함할 수 있다.
도 2는 본 개시내용의 일부 실시예에 따른 메모리 어레이(103)의 개략 회로도를 도시한다. 메모리 어레이(103)는 복수의 메모리 스트링(212)을 포함하고, 각각의 메모리 스트링(212)은 복수의 메모리 셀(340)을 갖는다. 메모리 스트링(212)은 또한 각 단부에 적어도 하나의 전계 효과 트랜지스터(예를 들어, MOSFET)를 포함하고, 이는 각각 하부 선택 게이트(LSG)(332) 및 상단 선택 게이트(TSG)(334)에 의해 제어된다. 그리고 2개의 각각의 트랜지스터는 하부 및 상단 선택 트랜지스터(332-T 및 334-T)로 지칭된다. 메모리 셀(340)은 제어 게이트(333)에 의해 제어될 수 있고, 여기서 제어 게이트(333)는 메모리 어레이(103)의 워드 라인에 연결될 수 있다. 상단 선택 트랜지스터(334-T)의 드레인 단자는 비트 라인(341)에 연결될 수 있고, 하부 선택 트랜지스터(332-T)의 소스 단자는 어레이 공통 소스(ACS)(446)에 연결될 수 있다. 어레이 공통 소스(446)는 전체 메모리 블록에서 메모리 스트링(212)에 의해 공유될 수 있고, 또한 공통 소스 라인으로 지칭된다.
일부 실시예에서, 메모리 어레이(103)는 플로팅 게이트 기술에 기반하여 형성될 수 있다. 일부 양태에서, 메모리 어레이(103)는 전하 트래핑 기술에 기반하여 형성될 수 있다. 충전 트래핑에 기반한 NAND 플래시 메모리는 높은 저장 밀도와 높은 고유 신뢰성을 제공할 수 있다. 저장 데이터 또는 논리 상태(예를 들어, 메모리 셀(340)의 임계 전압(Vth))는 저장 층에 트랩된 전하의 양에 의존한다. 일부 양태에서, NAND 플래시 메모리(100)는 3차원(3D) 메모리 디바이스일 수 있고, 메모리 어레이(103)는 3D 메모리 어레이일 수 있고, 여기서 메모리 셀(340)은 서로의 위에 수직으로 적층될 수 있다. 3D 플래시 메모리의 구조 및 동작은 미국 특허 출원 공개 번호 US 16/729,838에 개시되고, 그 전체 개시내용은 참조로 본원에 포함된다.
NAND 플래시 메모리에서, 판독 및 기록 동작은 동일한 워드 라인을 공유하는 모든 메모리 셀(340)을 포함하는 메모리 페이지(448)에서 수행될 수 있다. NAND 메모리에서, 메모리 셀(340)은 소거 상태(ER) 또는 프로그래밍된 상태(P1)에 있을 수 있다. 처음에, 메모리 어레이(103)의 모든 메모리 셀(340)은 메모리 어레이 메모리 셀(340)의 저장 층에 트랩된 모든 전자 전하가 제거될 수 있도록, 메모리 셀의 제어 게이트(333)와 소스 단자(예를 들어, 어레이 공통 소스(446)) 사이에서 음의 전압 차이를 구현함으로써 논리 "1"로서 소거 상태(ER)로 리셋될 수 있다. 예를 들어, 음의 전압 차이는 메모리 셀(340)의 제어 게이트(333)를 접지로 세팅하고 높은 양의 전압을 어레이 공통 소스(446)에 인가함으로써 유도될 수 있다. 소거 상태(ER)("상태(ER)")에서, 메모리 셀(340)의 임계 전압(Vth)은 가장 낮은 값으로 리셋될 수 있고, 비트 라인(341)에서 측정 또는 감지될 수 있다.
프로그래밍(즉, 기록) 동안, 프로그래밍 전압(Vpgm)(예를 들어, 10V와 20 V 사이의 양의 전압 펄스)은 제어 게이트(333)에 인가되어 전자 전하(예를 들어, 전자)는 메모리 셀(340)의 저장 층으로 주입될 수 있고, 이에 의해 메모리 셀(340)의 임계 전압(Vth)을 증가시킨다. 따라서 메모리 셀(340)은 상태(P1)로 프로그래밍된다.
NAND 플래시 메모리는 단일-레벨 셀(SLC) 모드에서 동작하도록 구성될 수 있다. 저장 용량을 증가시키기 위해, NAND 플래시 메모리는 또한 다중-레벨 셀(MLC: Multi-Level Cell) 모드, 삼중-레벨 셀(TLC: Triple-Level Cell) 모드, 쿼드-레벨 셀(QLC: Quad-Level Cell) 모드 또는 이 모드의 임의의 조합에서 동작하도록 구성될 수 있다. SLC 모드에서, 메모리 셀은 1 비트를 저장하고 2개의 논리 상태("상태"), 즉 상태(ER 및 P1)를 갖는다. MLC 모드에서, 메모리 셀은 2비트를 저장하고, 4개의 상태, 즉 상태(ER, P1, P2, P3)를 갖는다. TLC 모드에서, 메모리 셀은 3비트를 저장하고 8개의 상태, 즉 상태(ER), 및 상태(P1-P7)를 갖는다. QLC 모드에서, 메모리 셀은 4비트를 저장하고 16개의 상태를 가진다.
도 3은 본 개시내용의 일부 양태에 따라 삼중-레벨 셀(TLC) 모드에서 프로그래밍된 NAND 플래시 메모리의 임계 전압(Vth) 분포를 예시한다. 다양한 변동으로 인해, 메모리 셀의 각 상태는 임계 전압(Vth)의 범위를 포함하고, 각 상태의 임계 전압(Vth) 분포는 확률 밀도로 나타낼 수 있다. 일부 실시예에서, 8개의 TLC 상태는 프로그래밍 전압(Vpgm)이 계단 펄스(Vstep)를 추가함으로써 증분적으로 증가될 수 있는 ISPP(incremental step pulse programming) 방식을 사용하여 프로그래밍될 수 있다. 따라서, 8개의 TLC 상태는 임계 전압이 낮은 상태(P1)부터 임계 전압이 가장 높은 상태(P7)까지 프로그래밍될 수 있다.
일부 실시예에서, 프로그래밍 속도를 증가시키기 위해, 동일한 워드 라인(예를 들어, 동일한 제어 게이트(333))과 공유되는 동일한 메모리 페이지(448)(도 2)의 메모리 셀은 동시에 프로그래밍될 수 있다. 각 ISPP 펄스 후에, 검증 판독이 수행될 수 있다. 일부 실시예에서, 타깃 상태(즉, 타깃 임계 전압)에 도달한 메모리 셀은 TSG(334) 및/또는 LSG(332)를 제어함으로써 추가 프로그래밍이 금지될 수 있다. 일부 실시예에서, 메모리 셀은 또한 대응하는 비트 라인 상의 전압을 상승시킴으로써 추가 프로그래밍이 금지될 수 있다.
프로그래밍 후, 8개의 TLC 상태(ER 및 P1-P7)는 하나 이상의 판독 기준 전압(VR1-VR7)을 사용하여 검증될 수 있다. 타깃 메모리 셀의 제어 게이트에 판독 기준 전압(VR1-VR7) 중 하나 이상을 인가함으로써, 메모리 셀의 임계 전압(Vth)의 범위가 결정될 수 있다. 예를 들어, 타깃 메모리 셀(340)이 상태(ER)인지 검증하기 위해, 판독 기준 전압(VR1)이 사용될 수 있다. 타깃 메모리 셀이 상태(ER)이면, 타깃 메모리 셀의 임계 전압(Vth)은 판독 기준 전압(VR1)보다 낮다. 타깃 메모리 셀은 스위치 온되어 채널에서 전도성 경로를 형성할 수 있다. 타깃 메모리 셀이 상태(P1-P7) 중 어느 하나에 대응하는 경우, 타깃 메모리 셀의 임계 전압(Vth)은 판독 기준 전압(VR1)보다 높다. 이에 따라 타깃 메모리 셀이 스위치 오프된다. 대응 비트 라인에서 타깃 메모리 셀을 통과하는 전류를 측정하거나 감지함으로써, 임계 전압(Vth) 또는 타깃 메모리 셀의 상태가 검증될 수 있다.
위에서 설명된 바와 같이, SLC 모드에서 저장된 2개의 상태(ER 및 P1)를 결정하기 위해서, 판독 기준 전압(VR1)만이 필요하다. MLC 모드에서 4개의 상태(ER 및 P1-P3)를 결정하기 위해, 판독 기준 전압(VR1, VR2, 및 VR3)이 사용될 수 있다. TLC 모드에 대한 8개의 상태(ER 및 P1-P7)를 결정하기 위해, 판독 기준 전압(VR1-VR7)이 사용될 수 있다. 예를 들어, TLC 모드에서, 상태(ER)의 임계 전압은 VR1 미만이고, 상태(P7)의 임계 전압은 VR7보다 높고, 여기서 상태(P1)의 임계 전압은 VR1과 VR2 사이에 있다. 상태(P2-P6)는 유사하게 결정될 수 있다.
일부 실시예에서, 판독 및 프로그래밍 속도를 향상시키기 위해, 다중 메모리 페이지("물리적 페이지")는 동시에 판독되거나 프로그래밍될 수 있다. MLC, TLC 또는 QLC 모드에서, 각 메모리 페이지는 하나 이상의 논리 페이지에 기반하여 판독되거나 프로그래밍될 수 있다. 예를 들어, 메모리 셀당 3비트의 TLC 모드에서, 메모리 페이지는 3개의 논리 페이지, 예를 들어 하부 페이지, 중간 페이지 및 상부 페이지에 기반하여 프로그래밍될 수 있다.
도 4는 본 개시내용의 일부 실시예에 따라 NAND 플래시 메모리의 논리 페이지 및 상태의 매핑 방식을 예시한다. 이 예에서, TLC 모드의 8개 상태(ER 및 P1-P7)는 각각 이진 코드 (111), (000), (001), (010), (100), (011), (101) 및 (110)에 매핑될 수 있다. 이진 코드의 3비트는 좌측에서 우측으로 판독하여 최상위 비트(MSB), 중위 비트(CSB: Center Significant Bit), 최하위 비트(LSB)로 명명될 수 있다. 예를 들어, 상태(P5)는 MSB, CSB 및 LSB가 각각 "0", "1" 및 "1"인 이진 코드(011)에 매핑될 수 있다. 일부 실시예에서, 동일한 메모리 페이지의 메모리 셀은 동시에 판독되거나 프로그래밍될 수 있다. 그러므로, TLC 모드의 각 메모리 페이지는 각각 이진 코드의 LSB, CSB 및 MSB에 대응하는 3개의 논리 페이지, 즉 하부 페이지, 중간 페이지 및 상부 페이지로부터의 프로그래밍 데이터를 사용함으로써 프로그래밍될 수 있다. 메모리 페이지의 각 메모리 셀은 논리 페이지에서 수신된 이진 코드에 따라 타깃 논리 상태("상태")로 프로그래밍될 수 있다. 프로그래밍 동안, 프로그래밍 데이터의 논리 페이지는 NAND 플래시 메모리(100)의 메모리 페이지로 송신되기 전에 페이지 버퍼(50)(도 1)에 저장될 수 있다.
도 4의 매핑 방식이 상태가 최소 단계로 검증될 수 있는 논리 페이지의 기존 매핑 방식이 아닐 수 있다는 것이 유의된다. 도 4에 도시된 매핑 방식은 데이터 전처리 후에 생성될 수 있어 페이지 버퍼 연산의 전체 횟수는 감소되고 이에 의해 NAND 플래시 메모리의 전반적인 프로그래밍 성능은 향상될 수 있다. 본 개시내용의 범위가 도 4에 예시된 매핑 방식으로 제한되지 않는다는 것이 유의된다. 본원에 개시된 방법은 상태(ER 및 P1-P7)와 연관된 이진 코드의 상이한 세트에 적용될 수 있다. 방법은 예를 들어 SLC, MLC 및/또는 QLC와 같은 다른 프로그래밍 모드에 또한 적용될 수 있다.
도 5는 본 개시내용의 일부 실시예에 따른 도 1의 NAND 플래시 메모리(100)에 대한 페이지 버퍼(50)의 블록도를 예시한다. 이 예에서, 각각의 페이지 버퍼(50)는 메모리 어레이(103)의 하나의 비트 라인(341)에 결합될 수 있다. 일부 실시예에서, 각각의 페이지 버퍼(50)는 2개의 비트 라인에 결합될 수 있다. 도 2를 참조하면, 각각의 메모리 스트링(212)은 비트 라인(341)과 결합된다. 따라서, 메모리 스트링(212) 상의 메모리 셀(340)은 적어도 하나의 페이지 버퍼(50)와 결합될 수 있다. 메모리 페이지(448)의 메모리 셀(240)은 대응하는 비트 라인(341)을 통해 복수의 페이지 버퍼(50)와 결합될 수 있다. 페이지 버퍼(50)는 메모리 어레이(103)의 메모리 셀에 대한 데이터를 일시적으로 저장하고, 이어서 저장된 데이터를 예를 들어 열 디코더(60)로 출력할 수 있다. 페이지 버퍼(50)는 또한 데이터를 수신하고 수신된 데이터를 메모리 셀에 제공할 수 있다.
일부 실시예에서, 각각의 페이지 버퍼(50)는 하나 이상의 래치를 포함할 수 있다. 일 예에서, 페이지 버퍼(50)는 6개의 래치: 즉 래치(D1-D3), 래치(SA), 래치(SL) 및 캐시 래치(CA)를 포함할 수 있다. 6개의 래치 각각은 예를 들어 상보형 MOSFET(즉, CMOS) 디바이스로 만들어진 2개의 인버터를 포함할 수 있다. 각 래치는 1비트를 저장할 수 있다.
도 6은 본 개시내용의 일부 실시예에 따른 페이지 버퍼(50)의 예시적인 캐시 사용을 예시한다. 이 예에서, 래치(D1-D3)는 메모리 셀의 상태를 나타내는 이진 코드 또는 프로그래밍 데이터를 저장하는 데 사용될 수 있으므로, 또한 데이터 래치로 지칭된다. 예를 들어, 도 4의 TLC 모드에 대한 하부 페이지, 중간 페이지 및 상부 페이지는 각각 래치(D1-D3)에 저장될 수 있다. 일부 실시예에서, 캐시 래치(CA)는 메모리 셀이 프로그래밍을 위해 금지되는지 여부를 제어하기 위해 금지 정보를 저장한다. 일부 실시예에서, 래치(SA)는 감지 증폭기로부터의 비트 라인에서 측정(또는 감지)된 데이터를 저장할 수 있고, 또한 감지 래치로 지칭된다. 래치(SL)(또한 제어 래치라 지칭됨)은 프로그래밍 동작을 용이하게 하기 위해 3번째 비트 라인 정보, 예를 들어 금지된 비트 라인에 인가되는 고전압, 프로그래밍 동작을 겪는 비트 라인 상의 저전압 및 제3 비트 라인 상의 중간 전압을 저장할 수 있다.
도 3 내지 도 5를 참조하면, 일부 실시예에서, 페이지 버퍼(50)는 더 많은 데이터 래치 또는 제어 래치를 포함할 수 있다. 예를 들어, QLC 모드를 프로그래밍하기 위해, 페이지 버퍼는 총 4개의 데이터 래치에 대한 래치(D1-D3)에 추가로 래치(DX)를 포함할 수 있다.
일부 실시예에서, 각각의 메모리 셀은 2n개의 논리 상태를 가질 수 있고 n개의 비트를 저장할 수 있다. 프로그래밍 데이터는 동일한 메모리 페이지에 복수의 메모리 셀을 프로그래밍하기 위한 n개의 논리 페이지를 포함할 수 있다. 이 예에서, 각 페이지 버퍼는 n비트를 저장하기 위해 n개의 데이터 래치를 포함할 수 있다.
일부 실시예에서, 프로그래밍 데이터의 n개의 논리 페이지는 프로그래밍 동작을 위해 동일한 메모리 페이지의 복수의 메모리 셀에 동시에 송신된다. 프로그래밍 동작 동안, 프로그래밍 데이터의 n개의 논리 페이지는 페이지 버퍼의 대응하는 n개의 데이터 래치에 저장될 수 있다.
도 1을 참조하면, 프로그래밍(기록) 동작 동안, 호스트 컴퓨터(15)는 일반적으로 프로그래밍 데이터를 NAND 플래시 메모리(100)에 송신한 후 저장하지 않는다. 프로그램 상태 실패 시 데이터 손실을 방지하기 위해, NAND 플래시 메모리(100)는 일반적으로 전체 프로그래밍(즉, 기록) 동작 동안 원래의 프로그래밍 데이터를 페이지 버퍼(50)에 저장한다. 예를 들어, 동일한 메모리 페이지의 복수의 메모리 셀이 프로그래밍될 때, 프로그래밍 데이터의 n개의 논리 페이지는 모든 타겟 상태가 동일한 메모리 페이지의 복수의 메모리 셀에 대해 성공적으로 프로그래밍되고 검증될 때까지 페이지 버퍼의 대응하는 n개의 데이터 래치에 저장될 수 있다. 프로그래밍 실패의 경우, 프로그래밍 데이터의 n개의 논리 페이지는 동일한 메모리 페이지의 복수의 메모리 셀에 재송신될 수 있다. 즉, 프로그래밍 실패 시, 원래의 프로그래밍 데이터는 복구될 수 있다. 새로운 프로그래밍 데이터는 이전 프로그래밍 동작이이 완료되고 메모리 셀의 프로그래밍된 데이터가 검증된 후 페이지 버퍼로 송신될 수 있다.
그러나, MLC, TLC 또는 QLC 모드에서 프로그래밍된 NAND 플래시 메모리의 경우 전체 프로그래밍 및 검증 동작의 지속기간은 크게 증가할 수 있다. SSD(10)의 프로그래밍 속도를 향상시키기 위해서, 페이지 버퍼의 캐시 프로그래밍을 향상시킬 필요가 있다.
예를 들어, 원래 프로그래밍 데이터는 전체 기록 동작 동안 페이지 버퍼의 래치에 저장될 필요가 없고 점진적으로 폐기될 수 있다. 일부 실시예에서, 일부 하부 상태가 성공적으로 프로그래밍된 후, 하나 이상의 논리 페이지가 비워질 수 있다. 기록 동작이 실패하는 경우에도, 하나 이상의 논리 페이지에 저장된 원래 프로그래밍 데이터는 복구될 수 있다.
일 예에서, TLC 모드에서, 상태(P1-P4)가 성공적으로 프로그래밍되면, 래치(D3)에 저장된 상부 페이지 데이터는 하기에 상세히 설명되는 바와 같이 폐기될 수 있다.
도 7은 본 개시내용의 일부 실시예에 따른 NAND 플래시 메모리에 대한 캐시 프로그래밍을 위한 방법(700)의 흐름도를 예시한다. 방법(700)이 완전하지 않으며 다른 동작 단계가 예시된 동작 단계의 이전, 이후 또는 사이에 수행될 수 있음이 이해되어야 한다. 일부 실시예에서, 방법(700)의 일부 동작 단계는 생략될 수 있거나 다른 동작 단계는 포함될 수 있고, 이는 단순함을 위해 여기서 설명되지 않는다. 일부 실시예에서, 방법(700)의 동작 단계는 다른 순서로 수행될 수 있고/있거나 변화할 수 있다.
방법(700)은 동작 단계(S710)에서 시작하고, 여기서 메모리 어레이의 모든 메모리 셀은 가장 낮은 임계 전압(Vth)을 갖는 소거 상태(ER)에 있다.
다음으로, 동작 단계(S715)에서, 예를 들어 프로그래밍 동작은 TLC 모드에서 동일한 메모리 페이지의 메모리 셀을 프로그래밍하기 위해 시작된다. 일부 실시예에서, 8개의 TLC 상태는 로우 상태(예를 들어, 상태(P1))에서 하이 상태(예를 들어, 상태(P7))까지 순차적으로 프로그래밍되고 검증될 수 있고, 여기서 TLC 모드에 대한 이진 코드의 MSB, CSB 및 LSB는 상부 페이지, 중간 페이지 및 하부 페이지의 논리 페이지에 매핑되고, 페이지 버퍼(50)의 D3, D2 및 D1 래치에 저장된다(도 2-4 참조).
동작 단계(S720)에서, 하부 상태(P1-P4)는 메모리 셀에 순차적으로 프로그래밍되고 그에 따른 상태(또는 임계 전압(Vth))는 동작 단계(S725)에서 검증된다.
동작 단계(S730)에서, 모든 상태(P1-P4)가 성공적으로 프로그래밍되었는지(즉, 통과)가 체크된다. 그렇지 않은 경우, 방법(700)은 타깃 상태 프로그래밍을 계속하기 위해 동작 단계(S720)로 다시 라우팅될 수 있다.
모든 상태(P1-P4)가 성공적으로 프로그래밍되었으면, 동작 단계(S735)가 수행될 수 있고, 여기서 프로그래밍 데이터의 상부 페이지는 폐기될 수 있고 래치(D3)는 비워질 수 있다. 도 4 및 도 8을 참조하면, 모든 상태(P1-P4)가 성공적으로 프로그래밍되면, 나머지 상태(P5-P7)는 구분된 이진 코드를 가지며 하부 페이지 및 중간 페이지로부터 기반하여 결정될 수 있다. 예를 들어, 상태(P5)는 중간 페이지와 하부 페이지 비트 둘 모두가 "1"인 이진 코드(11)에 대응한다. 상태(P6)는 이진 코드(01)에 대응하고, 여기서 중간 페이지 및 하부 페이지 비트는 각각 "0" 및 "1"이다. 상태(P7)는 중간 페이지 및 하부 페이지 비트가 각각 "0" 및 "1"인 이진 코드(10)에 대응한다. 그러므로, 이들 3개의 상태(P5, P6 및 P7)는 상부 페이지 데이터에 의존하지 않고 결정될 수 있다. 따라서, 상부 페이지는 래치(D3)로부터 제거될 수 있다. 따라서, 비워진 래치(D3)는 더 높은 상태(P5-P7)의 프로그래밍이 계속되는 동안 다른 저장 목적으로 사용될 수 있다.
동작 단계(S740)에서, 예를 들어, 캐시 래치(CA)에 있는 원래의 데이터(예를 들어, 도 6의 금지 정보)는 비워진 래치(D3)에 전송될 수 있다. 한편, 새로운 프로그래밍 데이터의 하부 페이지("새로운 하부 페이지")는 캐시 래치(CA)에 로드될 수 있다. 페이지 버퍼의 새로운 캐시 사용은 도 9에 예시된다.
동작 단계(S745)에서, 각각의 래치(D1 및 D2)에 저장된 프로그래밍 데이터의 하부 페이지와 중간 페이지 둘 모두가 "1"이면 상태(P5)는 프로그래밍될 수 있다. 이어서 프로그래밍된 상태(P5)는 동작 단계(S750)에서 검증될 수 있다.
하부 페이지와 중간 페이지가 각각 "1"과 "0"이면, 상태(P6)는 동작 단계(S755)에서 프로그래밍될 수 있다. 프로그래밍된 상태(P6)는 동작 단계(S760)에서 검증될 수 있다.
하부 페이지와 중간 페이지가 각각 "0"과 "1"이면, 상태(P7)는 동작 단계(S765)에서 프로그래밍될 수 있다. 프로그래밍된 상태(P7)는 동작 단계(S770)에서 검증될 수 있다.
예를 들어 동작 단계(S750, S760, 또는 S770)에서 프로그래밍 오류가 검출되면, 래치(D3)에 저장된 원래의 프로그래밍 데이터(즉, 상부 페이지)는 복구될 수 있다.
도 10은 본 개시내용의 일부 실시예에 따른 래치(D3)에 대한 복구 방법(1000)을 예시한다. 복구 방법(1000)이 완전하지 않고 다른 동작 단계가 예시된 동작 단계의 이전, 이후 또는 사이에 수행될 수 있음이 이해되어야 한다. 일부 실시예에서, 복구 방법(1000)의 일부 동작 단계는 생략될 수 있거나 다른 동작 단계가 포함될 수 있고, 이는 간략화를 위해 여기에서 설명되지 않는다. 일부 실시예에서, 복구 방법(1000)의 동작 단계는 다른 순서로 수행될 수 있고/있거나 변화할 수 있다.
복구 방법(1000)은 동작 단계(S1010)에서 시작하고, 여기서 프로그래밍 실패는 상태(P5-P7)의 프로그래밍 동안 검출되고, 실패 플래그는 도 7의 동작 단계(S750, S760 또는 S770)로부터 수신될 수 있다.
동작(S1020)에서, 판독 기준 전압(VR4)은 메모리 셀에 대한 판독 동작을 수행하기 위해 사용될 수 있다. 도 3을 참조하면, 상태(ER 및 P1-P3)는 판독 기준 전압(VR4)보다 낮은 임계 전압(Vth)을 갖고, 상태(P4-P7)는 판독 기준 전압(VR4)보다 높은 임계 전압(Vth)을 갖는다. 그러므로, 상태(ER 및 P1-P3)는 예를 들어 대응 비트 라인에서 전류를 감지함으로써 상태(P4-P7)로부터 분리될 수 있다.
동작 단계(1030)에서, "1"의 비트는 상태(ER 및 P1-P3)에 대해 구성될 수 있고, "0"의 비트는 상태(P4-P5)에 대해 구성될 수 있다. 일부 실시예에서, 구성된 단일 비트("SLC 판독"으로 지칭됨)는 대응하는 상태의 메모리 셀에 결합된 래치(SA)에 저장될 수 있다. SLC 판독은 또한 도 8에 예시된다.
동작 단계(1040)에서, 래치(D3)에 저장된 원래의 상부 페이지는 8개의 TLC 상태(ER 및 P1-P7) 모두에 대해 복구될 수 있다. 이전에 논의된 바와 같이, 상태(ER 및 P1-P3)는 SLC 판독에 기반하여 상태(P4-P7)로부터 분리될 수 있다. 2개의 그룹 내의 각 상태는 하단 페이지와 중간 페이지의 데이터만을 기반하여 결정 및 구분될 수 있다. 예를 들어, 상태(P4-P7) 그룹에서, 상태(P4)의 하부 페이지와 중간 페이지 둘 모두는 "0"이고, 상태(P5)의 경우 둘 모두 "1"이다. 상태(P6)의 하부 페이지와 중간 페이지는 각각 "1"과 "0"이다. 상태(P6)의 하부 페이지와 중간 페이지는 각각 "0"과 "1"이다. 그러므로, 상태(P4-P7)에 대한 상부 페이지는 도 4의 미리결정된 매핑 방식에 따라 결정 및 복구될 수 있다. 유사하게, 상태(ER 및 P1-P3)에 대한 상부 페이지 데이터는 또한 도 4의 미리결정된 매핑 방식에 따라 복구될 수 있다. 예를 들어, 상태(ER)의 하부 페이지와 중간 페이지 둘 모두는 "1"이고 상태(P1)의 경우 둘 모두 "0"이다. 상태(P2)의 하부 페이지와 중간 페이지는 각각 "1"과 "0"이다. 상태(P3)의 하부 페이지와 중간 페이지는 각각 "0"과 "1"이다. 구성된 상부 페이지는 도 8에 도시된다. 그러므로, 도 4와 비교하여, 상부 페이지의 원래 프로그래밍 데이터는 복구된다.
다른 예에서, 상태(P1-P6)가 성공적으로 프로그래밍되면, 래치(D1)에 저장된 하부 페이지 데이터는 또한 아래에서 상세히 설명된 바와 같이 폐기될 수 있다.
도 11은 본 개시내용의 일부 실시예에 따른 NAND 플래시 메모리에 대한 캐시 프로그래밍을 위한 방법(1100)의 흐름도를 예시한다. 방법(1100)이 완전하지 않으며 다른 동작 단계가 예시된 동작 단계의 이전, 이후 또는 사이에 수행될 수 있음이 이해되어야 한다. 일부 실시예에서, 방법(1100)의 일부 동작 단계는 생략될 수 있거나 다른 동작 단계는 포함될 수 있고, 이는 단순함을 위해 여기서 설명되지 않는다. 일부 실시예에서, 방법(1100)의 동작 단계는 다른 순서로 수행될 수 있고/있거나 변화할 수 있다.
방법(1100)은 동작 단계(S1115)에서 시작하고, 여기서 상태(P1-P4)는 성공적으로 프로그래밍되었고 캐시 프로그래밍은 이전에 논의된 방법(700)에 따라 최적화된다.
동작 단계(S1120)에서, 상태(P5-P6)는 메모리 셀에 순차적으로 프로그래밍되고 그에 따른 상태(또는 임계 전압(Vth))는 동작 단계(S1125)에서 검증된다.
동작 단계(S1130)에서, 상태(P5-P6)가 성공적으로 프로그래밍되었는지(즉, 통과)가 체크된다. 그렇지 않은 경우, 방법(1100)은 타깃 상태 프로그래밍을 계속하기 위해 동작 단계(S1120)로 다시 라우팅될 수 있다.
상태(P5-P6)가 성공적으로 프로그래밍되었으면, 즉 모든 상태(P1-P6)가 검증을 통과하였으면, 동작 단계(S1135)가 수행될 수 있고, 여기서 프로그래밍 데이터의 하부 페이지는 폐기될 수 있고 래치(D1)는 비워질 수 있다. 도 4 및 도 12를 참조하면, 모든 상태(P1-P6)가 성공적으로 프로그래밍되면, 나머지 상태(P7)는 중간 페이지에서만 결정될 수 있고, 즉, 상태(P7)의 중간 페이지는 논리 "1"에 대응한다. 따라서, 프로그래밍 데이터의 하부 페이지는 래치(D1)로부터 제거될 수 있다. 따라서, 비워진 래치(D1)는 상태(P7)를 프로그래밍하는 동안 다른 저장 목적으로 사용될 수 있다.
동작 단계(S1140)에서, 예를 들어, 도 7의 동작 단계(S740)에서 캐시 래치(CA)에 저장된 새로운 하부 페이지는 비워진 래치(D1)으로 전송될 수 있다. 한편, 새로운 프로그래밍 데이터의 중간 페이지("새로운 중간 페이지")는 캐시 래치(CA)에 업로드될 수 있다. 페이지 버퍼의 새로운 캐시 사용은 도 13에 예시된다.
동작 단계(S1145)에서, 래치(D2)에 저장된 중간 페이지가 "1"이면, 상태(P7)는 프로그래밍될 수 있다.
다음으로, 동작 단계(S1150)에서, 상태(P7)는 메모리 셀에서 검증된다. 타깃 상태에 도달하지 못한 경우, 동작 단계(S1145)가 반복될 수 있다. 타깃 상태에 도달하면, 프로그래밍 동작이 완료된다.
복구 방법(1000)과 유사하게, 예를 들어 동작 단계(S1150)에서 검출된 프로그래밍 실패가 있는 경우, 원래의 프로그래밍 데이터, 즉 각각의 래치(D1) 및 래치(D3)에 저장된 하부 페이지 및 상부 페이지는 복구될 수 있다.
도 14는 본 개시내용의 일부 실시예에 따른 래치(D1) 및 래치(D3)에 대한 복구 방법(1400)을 예시한다. 복구 방법(1400)이 완전하지 않고 다른 동작 단계가 예시된 동작 단계의 이전, 이후 또는 사이에 수행될 수 있음이 이해되어야 한다. 일부 실시예에서, 복구 방법(1400)의 일부 동작 단계는 생략될 수 있거나 다른 동작 단계가 포함될 수 있고, 이는 간략화를 위해 여기에서 설명되지 않는다. 일부 실시예에서, 복구 방법(1400)의 동작 단계는 다른 순서로 수행될 수 있고/있거나 변화할 수 있다.
복구 방법(1400)은 동작 단계(S1410)에서 시작하고, 상태(P7)에 대한 프로그래밍 실패는 도 11의 동작 단계(S1150)에서 검출되고, 여기서 실패 플래그가 수신될 수 있다.
동작(S1415)에서, 판독 기준 전압(VR2)은 메모리 셀에 대한 판독 동작을 수행하기 위해 사용될 수 있다. 도 3을 참조하면, 상태(ER 및 P1)는 판독 기준 전압(VR2)보다 낮은 임계 전압(Vth)을 갖고, 상태(P2-P7)는 판독 기준 전압(VR2)보다 높은 임계 전압(Vth)을 갖는다. 그러므로, 상태(ER 및 P1)는 상태(P2-P7)로부터 분리될 수 있다.
도 4 및 도 12를 참조하여, 상태(ER 및 P1)는 프로그래밍 데이터의 중간 페이지에 기반하여 결정될 수 있고, 즉 래치(D2)에 저장된 중간 페이지는 각각 상태(ER 및 P1)에 대해 "1" 및 "0"이다. 도 4의 미리결정된 매핑 방식에 따라, 동작 단계(1420)에서, 비트 "1"은 상태(ER)의 하부 페이지 및 상부 페이지 둘 모두에 대해 생성될 수 있다. 그리고 비트 "0"은 상태(P1)의 하부 페이지 및 상부 페이지 둘 모두에 대해 생성될 수 있다.
동작(S1425)에서, 판독 기준 전압(VR4)은 메모리 셀에 대한 판독 동작을 수행하기 위해 사용될 수 있다. 도 3을 참조하면, 상태(ER 및 P1-P3)는 판독 기준 전압(VR4)보다 낮은 임계 전압(Vth)을 갖고, 상태(P4-P7)는 판독 기준 전압(VR4)보다 높은 임계 전압(Vth)을 갖는다. 그러므로, 상태(ER 및 P1-P3)는 상태(P4-P7)로부터 분리될 수 있다. 상태(ER 및 P1)의 하부 페이지 및 상부 페이지가 이전 단계에서 재구성되었기 때문에, 상태(P2 및 P3)의 하부 페이지 및 상부 페이지는 복구될 수 있다.
도 4 및 도 12를 참조하여, 상태(P2 및 P1)는 중간 페이지에 기반하여 결정될 수 있고, 즉 래치(D2)에 저장된 중간 페이지는 각각 상태(P2 및 P3)에 대해 "0" 및 "1"이다. 도 4의 미리결정된 매핑 방식에 따라, 동작 단계(1430)에서, 비트 "1" 및 "0"은 각각 상태(P2)의 하부 페이지 및 상부 페이지에 대해 생성될 수 있다. 유사하게, 비트 "0"은 상태(P3)의 하부 페이지 및 상부 페이지 둘 모두에 대해 생성될 수 있다.
동작(S1435)에서, 판독 기준 전압(VR6)은 메모리 셀에 대한 판독 동작을 수행하기 위해 사용될 수 있다. 도 3을 참조하면, 상태(ER 및 P1-P5)는 판독 기준 전압(VR6)보다 낮은 임계 전압(Vth)을 갖고, 상태(P6-P7)는 판독 기준 전압(VR6)보다 높은 임계 전압(Vth)을 갖는다. 그러므로, 상태(ER 및 P1-P5)는 상태(P6-P7)로부터 분리될 수 있다. 상태(ER 및 P1-P3)의 하부 페이지 및 상부 페이지가 이전 단계에서 재구성되었기 때문에, 상태(P4 및 P5)의 하부 페이지 및 상부 페이지는 복구될 수 있다.
도 4 및 도 12를 참조하여, 상태(P4) 및 상태(P5)는 중간 페이지에 기반하여 결정될 수 있고, 즉 래치(D2)에 저장된 중간 페이지는 각각 상태(P4 및 P5)에 대해 "0" 및 "1"이다. 도 4의 미리결정된 매핑 방식에 따라, 동작 단계(1440)에서, 비트 "0" 및 "1"은 각각 상태(P4)의 하부 페이지 및 상부 페이지에 대해 생성될 수 있다. 유사하게, 비트 "1" 및 "0"은 각각 상태(P5)의 하부 페이지 및 상부 페이지에 대해 생성될 수 있다.
한편, 동작 단계(S1445)에서, 상태(P6 및 P7)의 하부 페이지 및 상부 페이지는 복구될 수 있다. 도 4 및 도 12를 참조하여, 상태(P6 및 P7)는 중간 페이지에 기반하여 결정될 수 있고, 즉 래치(D2)에 저장된 중간 페이지는 각각 상태(P6 및 P7)에 대해 "0" 및 "1"이다. 도 4의 미리결정된 매핑 방식에 따라, 동작 단계(1445)에서, 비트 "1"은 상태(P6)의 하부 페이지 및 상부 페이지 둘 모두에 대해 생성될 수 있다. 유사하게, 비트 "0" 및 "1"은 각각 상태(P7)의 하부 페이지 및 상부 페이지에 대해 생성될 수 있다.
동작 단계(1450)에서, 래치(D1) 및 래치(D3)에 저장된 원래의 하부 페이지 및 상부 페이지는 8개의 TLC 상태(ER 및 P1-P7)에 대해 완전히 복구될 수 있다.
도 15는 본 개시내용의 일부 실시예에 따른 상태(P1-P6)가 성공적으로 프로그래밍된 후 페이지 버퍼의 예시적인 캐시 사용을 예시한다. 이 예에서, 래치(SL)에 저장된 3번째 비트 라인 정보는 또한 폐기될 수 있다. 따라서, 래치(SL)는 다른 목적을 위해 데이터를 로딩하기 위해 비워지고 준비될 수 있다. 일부 실시예에서, 이전에(도 11 및 도 13)에서 논의된 동작 단계(S1140)에서 캐시 래치(CA)에 저장된 새로운 중간 페이지는 래치(SL)로 전송될 수 있다. 새로운 프로그래밍 데이터의 상부 페이지("새로운 상부 페이지")는 캐시 래치(CA)에 로드될 수 있다.
일부 실시예에서, 래치(D2)에 저장된 원래 프로그래밍 데이터의 중간 페이지는 모든 상태(P1-P7)가 성공적으로 프로그래밍된 후 폐기될 수 있다. 새로운 상부 페이지는 이에 따라 페이지 버퍼에 로드될 수 있다. 예를 들어, 새로운 상부 페이지는 래치(D2)에 업로드될 수 있다. 다른 예에서, 새로운 상부 페이지는 새로운 중간 페이지가 래치(D2)에 전송된 후 캐시 래치(CA)에 업로드될 수 있다.
요약하여, 본 개시내용은 NAND 플래시 메모리의 캐시 프로그래밍 방법을 제공한다. 이 방법은 논리 상태의 제1 그룹이 NAND 플래시 메모리의 메모리 페이지의 복수의 메모리 셀에 대해 프로그래밍 및 검증될 때 NAND 플래시 메모리의 복수의 페이지 버퍼의 데이터 래치의 제1 세트로부터 제1 프로그래밍 데이터의 제1 논리 페이지를 폐기하는 단계를 포함한다. 복수의 메모리 셀 각각은 2n개의 논리 상태를 포함한다. 복수의 메모리 셀 각각은 복수의 페이지 버퍼 중 적어도 하나에 결합된다. 복수의 페이지 버퍼는 프로그래밍 데이터의 n개의 논리 페이지를 저장하도록 구성된 데이터 래치의 n개의 세트를 포함한다. 방법은 또한 제2 프로그래밍 데이터의 제2 논리 페이지를 복수의 페이지 버퍼의 캐시 래치 세트에 업로드하는 단계를 포함한다.
본 개시내용은 또한 트리플-레벨-셀(TLC: triple-level-cell) 모드에서 NAND 플래시 메모리의 캐시 프로그래밍 방법을 제공한다. 방법은 논리 상태의 제1 그룹이 NAND 플래시 메모리의 메모리 페이지의 복수의 메모리 셀에 대해 프로그래밍 및 검증될 때 NAND 플래시 메모리의 복수의 페이지 버퍼의 데이터 래치의 제1 세트로부터 제1 프로그래밍 데이터의 상부 페이지를 폐기하는 단계를 포함한다. 복수의 메모리 셀 각각은 8개의 논리 상태를 갖는다. 8개의 논리 상태는 소거 상태 및 i번째 논리 상태일 수 있고, i=1 내지 7 및 8개의 논리 상태의 임계 전압은 오름차순이다. 복수의 메모리 셀 각각은 복수의 페이지 버퍼 중 적어도 하나에 결합된다. 복수의 페이지 버퍼는 프로그래밍 데이터의 상부 페이지, 중간 페이지 및 하부 페이지를 각각 저장하도록 구성된 데이터 래치의 제1 세트, 데이터 래치의 제2 세트 및 데이터 래치의 제3 세트를 포함한다. 방법은 제2 프로그래밍 데이터의 하부 페이지를 복수의 페이지 버퍼의 캐시 래치 세트에 업로드하는 단계를 더 포함한다.
특정 실시예의 전술한 설명은 본 개시내용의 일반적인 개념으로부터 벗어나지 않고, 과도한 실험 없이, 관련 기술의 지식을 적용함으로써, 다양한 애플리케이션에 대해, 이러한 특정 실시예를 쉽게 수정 및/또는 채택할 수 있는 본 개시내용의 일반적인 특성을 완전히 드러낼 것이다. 그러므로, 이러한 적응 및 수정은 본원에 제시된 지침 및 안내에 기반하여, 개시된 실시예의 균등물의 의미 및 범위 내에 있는 것으로 의도된다. 본원의 어구 또는 용어가 제한이 아닌 설명의 목적을 위한 것이므로, 본 명세서의 용어 또는 어구가 본 개시내용 및 지침에 비추어 통상의 기술자에 의해 해석되는 것이 이해되어야 한다.
본 개시내용의 실시예는 특정 기능의 구현 및 이의 관계를 예시하는 기능적 구축 블록의 도움으로 위에서 설명되었다. 이러한 기능적 구축 블록의 경계는 설명의 편의를 위해 본원에서 임의로 정의되었다. 대안적인 경계는 지정된 기능과 그 관계가 적절하게 수행되는 한 정의될 수 있다.
요약 및 요약 섹션은 본 발명자(들)에 의해 고려된 바와 같이 본 개시내용의 모든 예시적인 실시예가 아닌 하나 이상을 설명할 수 있고, 따라서 본 개시내용 및 첨부된 청구범위를 어떤 식으로든 제한하도록 의도되지 않는다.
본 개시내용의 폭 및 범위는 위에서-설명된 예시적인 실시예 중 임의의 것에 의해 제한되어서는 안되며, 다음의 청구범위 및 그 등가물들에 따라서만 정의되어야 한다.

Claims (20)

  1. NAND 플래시 메모리의 캐시 프로그래밍 방법으로서,
    상기 NAND 플래시 메모리는 복수의 페이지 버퍼의 데이터 래치의 제1 세트 및 메모리 페이지의 복수의 메모리 셀을 포함하고, 상기 방법은:
    논리 상태의 제1 그룹이 상기 복수의 메모리 셀에 대해 프로그래밍되고 검증될 때 상기 데이터 래치의 제1 세트로부터 제1 프로그래밍 데이터의 제1 논리 페이지를 폐기하는 단계로서,
    상기 복수의 메모리 셀 각각은 2n개의 논리 상태를 포함하고, n은 1보다 큰 정수이고;
    상기 복수의 메모리 셀 각각은 상기 복수의 페이지 버퍼 중 적어도 하나에 결합되고;
    상기 복수의 페이지 버퍼는 프로그래밍 데이터의 n개의 논리 페이지를 저장하도록 구성된 데이터 래치의 n개의 세트를 포함하는, 상기 폐기하는 단계; 및
    제2 프로그래밍 데이터의 제2 논리 페이지를 상기 복수의 페이지 버퍼의 캐시 래치 세트에 업로드하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 제1 논리 페이지를 폐기한 후에 상기 캐시 래치 세트로부터 상기 데이터 래치의 제1 세트로 금지 정보를 전송하는 단계를 더 포함하는 방법.
  3. 제2항에 있어서,
    상기 금지 정보가 논리 "1"을 포함할 때 상기 복수의 메모리 셀이 추가 프로그래밍되는 것을 금지하는 단계를 더 포함하는 방법.
  4. 제1항에 있어서,
    상기 방법은, 상기 제1 논리 페이지를 폐기하기 전에, 상기 복수의 메모리 셀에 대한 상기 논리 상태의 제1 그룹을 프로그래밍하는 단계를 더 포함하고,
    상기 논리 상태의 제1 그룹은 상기 복수의 메모리 셀의 논리 상태의 제2 그룹의 임계 전압의 제2 그룹보다 낮은 임계 전압의 제1 그룹을 포함하는, 방법.
  5. 제3항에 있어서,
    상기 제1 프로그래밍 데이터의 나머지 논리 페이지에 따라 상기 복수의 메모리 셀을 상기 논리 상태의 제2 그룹으로 프로그래밍하는 단계를 더 포함하는 방법.
  6. 제1항에 있어서,
    상기 방법은, 복수의 판독 기준 전압을 사용함으로써 상기 복수의 메모리 셀의 2n개의 논리 상태 각각을 검증하는 단계를 더 포함하고,
    각각의 판독 기준 전압은 2개의 인접한 논리 상태의 임계 전압 사이의 크기를 포함하는, 방법.
  7. 제1항에 있어서,
    오름차순으로 임계 전압을 사용하여 제1 논리 상태로부터 n번째 논리 상태까지 상기 복수의 메모리 셀을 프로그래밍하는 단계를 더 포함하는 방법.
  8. 제1항에 있어서,
    프로그래밍 실패가 발생할 때 상기 제1 프로그래밍 데이터의 상기 제1 논리 페이지를 복구하는 단계를 더 포함하는 방법.
  9. 제8항에 있어서,
    상기 방법은, 제1 판독 기준 전압을 사용함으로써 상기 복수의 메모리 셀을 판독하는 단계를 더 포함하고,
    상기 제1 판독 기준 전압은 2n개의 논리 상태를 2개의 구별가능 그룹으로 분리하는, 방법.
  10. 제9항에 있어서,
    나머지 논리 페이지와 상기 2개의 구별가능 그룹에 기반하여 상기 제1 논리 페이지에 대한 이진 코드를 구성하는 단계를 더 포함하는 방법.
  11. 트리플-레벨-셀(TLC: triple-level-cell) 모드에서 NAND 플래시 메모리의 캐시 프로그래밍 방법으로서,
    상기 NAND 플래시 메모리는 복수의 페이지 버퍼의 데이터 래치의 제1 세트 및 메모리 페이지의 복수의 메모리 셀을 포함하고, 상기 방법은:
    논리 상태의 제1 그룹이 상기 복수의 메모리 셀에 대해 프로그래밍되고 검증될 때 상기 데이터 래치의 제1 세트로부터 제1 프로그래밍 데이터의 제1 논리 페이지를 폐기하는 단계 - 상기 복수의 메모리 셀 각각은 8개의 논리 상태를 포함하고, 상기 8개의 논리 상태는 소거 상태 및 i번째 논리 상태를 포함하고, i=1 내지 7이고; 상기 8개의 논리 상태의 임계 전압은 오름차순이고; 상기 복수의 메모리 셀 각각은 상기 복수의 페이지 버퍼 중 적어도 하나에 결합되고; 상기 복수의 페이지 버퍼는 프로그래밍 데이터의 상부 페이지, 중간 페이지 및 하부 페이지를 각각 저장하도록 구성된 상기 데이터 래치의 제1 세트, 데이터 래치의 제2 세트 및 데이터 래치의 제3 세트를 포함함 -; 및
    제2 프로그래밍 데이터의 하부 페이지를 상기 복수의 페이지 버퍼의 캐시 래치 세트에 업로드하는 단계
    를 포함하는 방법.
  12. 제11항에 있어서,
    상기 상부 페이지를 폐기한 후에 상기 캐시 래치 세트로부터 상기 데이터 래치의 제1 세트로 금지 정보를 전송하는 단계; 및
    상기 금지 정보가 논리 "1"을 포함할 때 상기 복수의 메모리 셀이 추가 프로그래밍되는 것을 금지하는 단계
    를 더 포함하는 방법.
  13. 제11항에 있어서,
    상기 방법은, 상기 상부 페이지를 폐기하기 전에, 상기 복수의 메모리 셀에 대한 상기 논리 상태의 제1 그룹을 프로그래밍하는 단계를 더 포함하고,
    상기 논리 상태의 제1 그룹은 제1, 제2, 제3 및 제4 논리 상태를 포함하는, 방법.
  14. 제13항에 있어서,
    상기 제1 프로그래밍 데이터의 중간 페이지 및 하부 페이지에 따라 상기 복수의 메모리 셀을 제5, 제6 및 제7 논리 상태로 프로그래밍하는 단계를 더 포함하는 방법.
  15. 제11항에 있어서,
    프로그래밍 실패가 발생할 때 상기 제1 프로그래밍 데이터의 상기 상부 페이지를 복구하는 단계를 더 포함하는 방법.
  16. 제15항에 있어서,
    상기 방법은, 제1 판독 기준 전압을 사용함으로써 상기 복수의 메모리 셀을 판독하는 단계를 더 포함하고,
    상기 제1 판독 기준 전압은 8개의 논리 상태를 2개의 구별가능 그룹으로 분리하는, 방법.
  17. 제16항에 있어서,
    상기 중간 페이지, 상기 하부 페이지 및 상기 2개의 구별가능 그룹에 기반하여 상기 상부 페이지에 대한 이진 코드를 구성하는 단계를 더 포함하는 방법.
  18. 제11항에 있어서,
    상기 복수의 메모리 셀을 상기 제5 및 상기 제6 논리 상태로 프로그래밍하는 단계;
    상기 복수의 메모리 셀의 상기 제5 및 상기 제6 논리 상태를 검증하는 단계; 및
    상기 복수의 페이지 버퍼의 상기 데이터 래치의 제3 세트로부터 상기 제1 프로그래밍 데이터의 상기 하부 페이지를 폐기하는 단계
    를 더 포함하는 방법.
  19. 제18항에 있어서,
    상기 제1 프로그래밍 데이터의 하부 페이지를 폐기한 후에 상기 제2 프로그래밍 데이터의 하부 페이지를 상기 캐시 래치 세트에서 상기 데이터 래치의 제3 세트로 전송하는 단계; 및
    상기 제2 프로그래밍 데이터의 중간 페이지를 상기 캐시 래치의 세트로 업로딩하는 단계
    를 더 포함하는 방법.
  20. 제19항에 있어서,
    상기 하부 페이지를 폐기한 후 상기 복수의 페이지 버퍼의 제어 래치 세트에서 3번째 비트 라인 정보를 폐기하는 단계; 및
    제2 프로그래밍 데이터의 상부 페이지를 상기 제어 래치 세트에 업로드하는 단계
    를 더 포함하는 방법.
KR1020227045090A 2020-08-27 2020-08-27 Nand 플래시 메모리 디바이스의 비파괴 모드 캐시 프로그래밍 KR20230015967A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/111690 WO2022041033A1 (en) 2020-08-27 2020-08-27 Non-destructive mode cache programming in nand flash memory devices

Publications (1)

Publication Number Publication Date
KR20230015967A true KR20230015967A (ko) 2023-01-31

Family

ID=73887384

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227045090A KR20230015967A (ko) 2020-08-27 2020-08-27 Nand 플래시 메모리 디바이스의 비파괴 모드 캐시 프로그래밍

Country Status (5)

Country Link
US (1) US11189326B1 (ko)
KR (1) KR20230015967A (ko)
CN (2) CN115497526A (ko)
TW (2) TWI811091B (ko)
WO (1) WO2022041033A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11894075B2 (en) 2020-08-27 2024-02-06 Yangtze Memory Technologies Co. Ltd. Non-destructive mode cache programming in NAND flash memory devices
US11568937B2 (en) * 2021-03-29 2023-01-31 Micron Technology, Inc. Memory device programming techinique using fewer latches
CN114530181A (zh) * 2022-01-11 2022-05-24 长江存储科技有限责任公司 一种非易失性存储装置、编程方法及存储器系统
WO2023137576A1 (en) 2022-01-18 2023-07-27 Yangtze Memory Technologies Co., Ltd. Double program debug method for nand memory using self-verification by internal firmware

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100630535B1 (ko) * 2004-03-23 2006-09-29 에스티마이크로일렉트로닉스 엔.브이. 멀티 레벨 낸드 플래시 메모리 셀의 독출 방법 및 회로
US7298648B2 (en) * 2004-11-19 2007-11-20 Samsung Electronics Co., Ltd. Page buffer and multi-state nonvolatile memory device including the same
KR100672125B1 (ko) * 2005-03-15 2007-01-19 주식회사 하이닉스반도체 사전 소거 검증을 위한 페이지 버퍼를 갖는 불휘발성 메모리 장치
TWI543185B (zh) * 2005-09-30 2016-07-21 考文森智財管理公司 具有輸出控制之記憶體及其系統
TWI308756B (en) * 2006-06-14 2009-04-11 Elite Semiconductor Esmt Method for programming nand flash memory device and page buffer performing the same
US7817470B2 (en) * 2006-11-27 2010-10-19 Mosaid Technologies Incorporated Non-volatile memory serial core architecture
CN103155044A (zh) * 2010-07-21 2013-06-12 莫塞德技术公司 用于闪速存储器的多页编程方案
KR101710089B1 (ko) * 2010-08-26 2017-02-24 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
KR102197787B1 (ko) * 2014-07-03 2021-01-04 삼성전자주식회사 비휘발성 메모리 장치 및 그 동작 방법
KR102235492B1 (ko) * 2014-08-25 2021-04-05 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 검증 방법
US9530491B1 (en) * 2015-11-16 2016-12-27 Sandisk Technologies Llc System and method for direct write to MLC memory
JP2018163724A (ja) * 2017-03-27 2018-10-18 東芝メモリ株式会社 メモリシステム
JP7051546B2 (ja) * 2018-04-16 2022-04-11 キオクシア株式会社 メモリシステムおよび制御方法
CN109273039B (zh) * 2018-08-23 2020-10-02 长江存储科技有限责任公司 一种闪存器的擦除验证设备和方法
US11056190B2 (en) * 2018-11-18 2021-07-06 NEO Semiconductor, Inc. Methods and apparatus for NAND flash memory
KR20200075184A (ko) * 2018-12-17 2020-06-26 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 동작 방법
US10957384B1 (en) * 2019-09-24 2021-03-23 Macronix International Co., Ltd. Page buffer structure and fast continuous read
WO2022040949A1 (en) * 2020-08-26 2022-03-03 Yangtze Memory Technologies Co., Ltd. Non-destructive mode cache programming in nand flash memory devices

Also Published As

Publication number Publication date
TWI779398B (zh) 2022-10-01
CN115497526A (zh) 2022-12-20
WO2022041033A1 (en) 2022-03-03
CN112154505A (zh) 2020-12-29
TW202209336A (zh) 2022-03-01
CN112154505B (zh) 2022-09-30
US11189326B1 (en) 2021-11-30
TW202301361A (zh) 2023-01-01
TWI811091B (zh) 2023-08-01

Similar Documents

Publication Publication Date Title
WO2022041033A1 (en) Non-destructive mode cache programming in nand flash memory devices
US10942796B2 (en) Identifying asynchronous power loss
US8665643B2 (en) Non-volatile memory device and read method thereof
KR100902008B1 (ko) 메모리 셀에 멀티 비트 데이터를 저장하는 플래시 메모리를 포함한 메모리 시스템
WO2022040949A1 (en) Non-destructive mode cache programming in nand flash memory devices
US11507448B2 (en) Non-volatile memory device, method of operating the device, and memory system including the device
KR20120118764A (ko) 불휘발성 메모리 장치의 프로그램 방법
US20240127899A1 (en) Non-destructive mode cache programming in nand flash memory devices
US20230335205A1 (en) Memory device and multi-pass program operation thereof
US20230352094A1 (en) Memory device and program operation thereof
US20230350601A1 (en) Data preprocessing (dpp) pattern supporting both normal program and early cache release program (ecrp)
US20240143181A1 (en) Memory device and program operation thereof
WO2024087144A1 (en) Memory device and program operation thereof
US20230282285A1 (en) Method for programming memory device, memory device and memory system
US20240006004A1 (en) Method for programming a memory system
US20230073148A1 (en) Storage device
KR20230084100A (ko) 메모리 디바이스, 메모리 시스템, 및 그 판독 동작 방법

Legal Events

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