KR20220095087A - 비휘발성 메모리 구조물들에 대한 3-값 프로그래밍 메커니즘 - Google Patents

비휘발성 메모리 구조물들에 대한 3-값 프로그래밍 메커니즘 Download PDF

Info

Publication number
KR20220095087A
KR20220095087A KR1020210082731A KR20210082731A KR20220095087A KR 20220095087 A KR20220095087 A KR 20220095087A KR 1020210082731 A KR1020210082731 A KR 1020210082731A KR 20210082731 A KR20210082731 A KR 20210082731A KR 20220095087 A KR20220095087 A KR 20220095087A
Authority
KR
South Korea
Prior art keywords
memory
state
memory cells
representative
strings
Prior art date
Application number
KR1020210082731A
Other languages
English (en)
Other versions
KR102609127B1 (ko
Inventor
노세 케이지
야베 히로키
카노 마사히로
후지타 유키
Original Assignee
샌디스크 테크놀로지스 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 샌디스크 테크놀로지스 엘엘씨 filed Critical 샌디스크 테크놀로지스 엘엘씨
Publication of KR20220095087A publication Critical patent/KR20220095087A/ko
Application granted granted Critical
Publication of KR102609127B1 publication Critical patent/KR102609127B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/24Bit-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/30Power supply 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/32Timing circuits
    • 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/564Miscellaneous aspects
    • G11C2211/5642Multilevel memory with buffers, latches, registers at input or output
    • 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/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor

Landscapes

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

Abstract

비휘발성 메모리 시스템의 메모리 어레이에서 3 페이지 사용자 데이터를 프로그래밍하기 위한 방법으로서, 그 방법은, 사용자 데이터의 각각의 3-비트 값 데이터 패턴을 2-비트 데이터 값들의 대표적인 쌍으로 변환하는 단계, 대표적인 2-비트 데이터 값들의 쌍 중 제1 대표적인 2-비트 데이터 값을 이용하여 2개의 단일-상태 메모리 셀들을 동시에 프로그래밍하는 단계 - 2개의 단일-상태 메모리 셀들은 2개의 메모리 셀 스트링들의 제1 공통 워드 라인을 따라 위치됨 -, 및 대표적인 2-비트 데이터 값들의 쌍 중 제2 대표적인 2-비트 데이터 값을 이용하여 2개의 단일-상태 메모리 셀들을 동시에 프로그래밍하는 단계 - 2개의 단일-상태 메모리 셀들은 2개의 메모리 셀 스트링들의 제2 공통 워드 라인을 따라 위치됨 - 를 포함한다.

Description

비휘발성 메모리 구조물들에 대한 3-값 프로그래밍 메커니즘{THREE-VALUED PROGRAMMING MECHANISM FOR NON-VOLATILE MEMORY STRUCTURES}
본 개시내용은 플래시 드라이브들 또는 임베디드/착탈식 플래시 패키지들을 포함하지만 이들에 제한되지 않는, 솔리드 스테이트 드라이브들 또는 다른 디바이스들 내의 비휘발성 메모리 저장 시스템들에 관한 것이다. 더 구체적으로, 본 개시내용은 비휘발성 메모리 구조물들을 프로그래밍하기 위한 시스템들 및 방법들에 관한 것이다.
신흥 기술 및 시장의 힘들로 인해, 솔리드 스테이트 드라이브(SSD)는 데이터를 판독하고 기입하기 위한 자기 매체들의 회전에 의존하는 이전의 종래 데이터 저장 시스템들(예를 들어, 하드 디스크 드라이브들)을 꾸준히 대체하고 있다. 임의의 기계적 또는 이동 부분들을 포함하기보다는, 솔리드 스테이트 메모리는, 저장된 데이터가 전력의 계획된 또는 계획되지 않은 중단 동안에도 지속적으로 유지될 수 있는 비휘발성 저장소를 제공하기 위한 집적 회로 조립체들 또는 상호연결된 플래시 컴포넌트들을 포함한다. 그 결과, 솔리드 스테이트 드라이브는 디스크 기반 저장소와 비교하여 본질적으로 더 빠르고 더 견고할 뿐만 아니라(즉, 데이터 손실 및 손상에 덜 민감함), 더 적은 전력을 소비하며 더 콤팩트하다. 따라서, 비휘발성 메모리는 많은 유형들의 컴퓨팅, 소비자 가전, 및 독립형 외부 저장소(예를 들어, USB 드라이브들) 디바이스들에 대한 강력한 저장 솔루션이다.
일부 플래시 메모리 유형들에 관해, 각각의 개별 메모리 셀은 반도체 기판의 채널 구역 위에 위치되고 그로부터 격리된 플로팅 게이트를 포함하며, 여기서 플로팅 게이트는 소스 구역과 드레인 구역 사이에 위치된다. 또한, 제어 게이트가 플로팅 게이트 위에 제공되고 그로부터 격리된다. 따라서, 결과적인 트랜지스터의 임계 전압(Vth)은 플로팅 게이트 상에 보유된 전하의 양에 의해 제어되고 그에 의존한다. 구체적으로, 스위치형 방식으로, 트랜지스터가 그의 소스와 드레인 사이에서 전도를 허용하도록 활성화되기 전에 제어 게이트에 인가되어야 하는 최소량의 전압은 플로팅 게이트 상에 보유된 전하의 레벨에 의해 결정된다. 그 결과, 비트-값 데이터는 트랜지스터의 임계 전압 특성을 변경시키기 위해 플로팅 게이트 상의 전하의 레벨을 변경시킴으로써 메모리 셀 상에 프로그래밍되고 그로부터 소거될 수 있다.
아래에서 상세히 설명되는 바와 같이, 개별 메모리 셀에 저장될 수 있는 비트들의 수는 그 메모리 셀의 임계 전압 윈도우 내에 분할될 수 있는 별개의 전압 범위들의 수에 의존한다. 예를 들어, 하나의 비트의 데이터(이진 데이터로 지칭됨)를 저장하기 위해, 메모리 셀의 가능한 임계 전압들(Vth)은 2개의 범위들로 분할되며, 여기서 범위들은 각각 논리 데이터 "1" 및 "0"으로서 할당된다. 이러한 유형의 저장 밀도의 메모리 셀은 "단일-레벨 셀" 또는 SLC로 지칭될 수 있다.
메모리 셀의 임계 전압 윈도우를 부가적인 별개의 전압 범위들로 추가로 분할함으로써, 다수의 레벨들의 정보가 저장될 수 있다. 그러한 메모리 셀은 "다중-상태 셀"로 지칭될 수 있다. 예를 들어, 2개의 비트들의 데이터를 저장하기 위해, 셀의 임계 전압 윈도우는 4개의 별개의 전압 범위들(또는 상태들)로 분할될 수 있으며, 여기서 각각의 범위는, 예를 들어 "11", "10", "01", 및 "00"과 동일한 비트 값을 할당받는다. 따라서, 소거 동작 이후, 임계 전압은 네거티브이며, 로직 "11"로서 정의될 수 있다. 그러므로, 포지티브 임계 전압들이 "10", "01", "00"의 상태들에 대해 사용된다. 이러한 저장 밀도의 메모리 셀은 "다중-레벨 셀" 또는 MLC로 지칭될 수 있다. 추가적인 예에서, 3개의 비트들의 데이터를 저장하기 위해, 셀의 전압 임계 윈도우는 8개의 별개의 전압 범위들(또는 상태들)로 분할될 수 있으며, 이때 각각의 범위는, 예를 들어 "111", "110", "100", "010", "011", "000", "001", 및 "101"과 동일한 비트 값을 할당받는다. 이러한 저장 밀도의 메모리 셀은 "삼중-레벨(tri-level)" 또는 "삼중-레벨 셀"(TLC)로 지칭될 수 있다. 메모리 셀 내에 프로그래밍된 데이터와 메모리 셀의 임계 전압 레벨들 사이의 특정 관계는 메모리 셀들에 대해 채택된 데이터 인코딩 스킴(scheme)에 의존한다.
따라서, (MLC 및/또는 TLC-유형 셀들을 통합함으로써) 다중-상태 데이터를 포함하는 메모리 디바이스는 SLC-유형 셀과 동일한 MOSFET 구조물 및 웨이퍼 크기를 사용하여 증가된 저장 용량을 가지며, 그 결과, 상당한 비트당 비용 절약들을 제공한다. 그러나, 다중-상태 메모리 셀들의 분할된 전압 범위들 사이의 증가된 밀도 및 강화된 허용오차들의 결과로서, 데이터가 다수의 타겟 임계 전압 범위들로 프로그래밍되고 프로그래밍 동안 더 높은 레벨의 정밀도를 요구하기 때문에, 프로그래밍은 단일-상태 메모리 셀에 비해 더 느린 속도로 발생한다. 다중-상태 메모리 셀의 증가된 밀도는 상태 변화들 사이의 에러의 마진을 감소시키며, 연속적인 프로그래밍/소거 사이클들에 걸쳐 실리콘 산화물 층 상의 응력을 견디는 데 필요한 이용가능한 전압 범위 용량을 감소시킨다. 그 결과, 단일-상태 메모리 셀에 비해, 다중-상태 저장 요소의 내구성은 상당히 더 낮다. 따라서, 일부 애플리케이션들에 관해, 단일-상태 메모리 셀들을 배타적으로 포함하는 메모리 시스템이 가장 적합하다. 그러나, 다른 애플리케이션들에서, 다중-상태 데이터를 저장하는 메모리 셀들에 주로 데이터를 저장하는 메모리 다이를 이용하는 기술들이 존재한다. 부가적으로, 일부 메모리 시스템들에서, 데이터는 먼저, 이진 데이터를 저장하는 단일-상태 메모리 셀들의 캐시(하나 이상의 데이터 래치들을 사용함)에 프로그래밍되어, 이들 메모리 셀들을 프로그래밍하는 더 빠른 속도를 이용한다. 후속하여, 메모리 시스템이 다른 데이터 동작들에 대해 유휴 또는 비지(busy)인 동안, 이어서, 이진 데이터를 저장하고 있는 단일-상태 메모리 셀들의 캐시는 다중-상태 데이터를 저장하는 다중-상태 메모리 셀들에, 저장된 데이터를 전달하며, 따라서 다중-상태 메모리 셀들에 의해 제공되는 더 큰 저장 용량을 이용한다. 단일-상태 메모리 셀들로부터 다중-상태 메모리 셀들로 데이터를 전달하기 위한 이러한 유익한 메커니즘은 산업계에서 "폴딩(folding)" 동작으로 알려져 있으며, 아래에서 상세히 설명된다. 따라서, 데이터를 단일-상태 메모리 셀들에 그리고 일부 경우들에서는 다중-상태 메모리 셀들에 프로그래밍하는 플래시 메모리 시스템에서 복수의 데이터 래치들이 이용될 수 있다.
그러나, 더 높은 밀도의 메모리 저장 디바이스들을 프로그래밍하기 위한 내부 "폴딩" 동작들의 사용이 메모리 디바이스의 프로그래밍 속도(및 그에 따른 전체 성능)를 개선시키지만, "폴딩" 동작이 여전히 적어도 2개의 스테이지들(즉, 단일-상태 메모리 셀들로의 초기 프로그래밍 및 다중-상태 메모리 셀들로의 후속 재기입)을 요구한다는 사실은 메모리 디바이스 동작들에 복잡성 및 프로세싱 시간을 추가한다. 따라서, 그들의 효율을 추가로 개선시키기 위해 스테이지들 중 하나 또는 둘 모두를 최적화할 수 있는 것이 유익할 것이다.
다양한 실시예들은 비휘발성 메모리 시스템의 메모리 어레이에서 3 페이지 사용자 데이터를 프로그래밍하기 위한 방법을 포함하며, 여기서 그 방법은, 사용자 데이터의 각각의 3-비트 값 데이터 패턴을 2-비트 데이터 값들의 대표적인 쌍으로 변환하는 단계, 대표적인 2-비트 데이터 값들의 쌍 중 제1 대표적인 2-비트 데이터 값을 이용하여 2개의 단일-상태 메모리 셀들을 동시에 프로그래밍하는 단계 - 2개의 단일-상태 메모리 셀들은 2개의 메모리 셀 스트링들의 제1 공통 워드 라인을 따라 위치됨 -, 및 대표적인 2-비트 데이터 값들의 쌍 중 제2 대표적인 2-비트 데이터 값을 이용하여 2개의 단일-상태 메모리 셀들을 동시에 프로그래밍하는 단계 - 2개의 단일-상태 메모리 셀들은 2개의 메모리 셀 스트링들의 제2 공통 워드 라인을 따라 위치됨 - 를 포함한다. 추가로, 2개의 메모리 셀 스트링들은 서로에 대해 인접하거나 또는 비교적 가까운 물리적 근접도로 위치될 수 있다.
다른 실시예들은 비휘발성 메모리 구조물에 커플링하도록 구성된 제1 포트를 포함하는 메모리 제어기를 포함하며, 여기서 메모리 구조물은 메모리 어레이를 포함한다. 메모리 제어기는, 사용자 데이터의 3 페이지 세트의 각각의 3-비트 값 데이터 패턴을 2-비트 데이터 값들의 대표적인 쌍으로 변환하고, 대표적인 2-비트 데이터 값들의 쌍 중 제1 대표적인 2-비트 데이터 값을 이용하여 2개의 단일-상태 메모리 셀들을 동시에 프로그래밍하며 - 2개의 단일-상태 메모리 셀들은 메모리 어레이의 2개의 메모리 셀 스트링들의 제1 공통 워드 라인을 따라 위치됨 -, 대표적인 2-비트 데이터 값들의 쌍 중 제2 대표적인 2-비트 데이터 값을 이용하여 2개의 단일-상태 메모리 셀들을 동시에 프로그래밍하도록 - 2개의 단일-상태 메모리 셀들은 2개의 메모리 셀 스트링들의 제2 공통 워드 라인을 따라 위치됨 - 구성된다. 추가로, 2개의 메모리 셀 스트링들은 서로에 대해 인접하거나 또는 비교적 가까운 물리적 근접도로 위치될 수 있다.
추가적인 실시예들은 메모리 어레이, 및 메모리 어레이에 커플링된 메모리 제어기로 구성되는 비휘발성 메모리 시스템을 포함하며, 그 메모리 제어기는, 사용자 데이터의 3 페이지 세트의 각각의 3-비트 값 데이터 패턴을 2-비트 데이터 값들의 대표적인 쌍으로 변환하고, 대표적인 2-비트 데이터 값들의 쌍 중 제1 대표적인 2-비트 데이터 값을 이용하여 2개의 단일-상태 메모리 셀들을 동시에 프로그래밍하며 - 2개의 단일-상태 메모리 셀들은 메모리 어레이의 2개의 메모리 셀 스트링들의 제1 공통 워드 라인을 따라 위치됨 -, 대표적인 2-비트 데이터 값들의 쌍 중 제2 대표적인 2-비트 데이터 값을 이용하여 2개의 단일-상태 메모리 셀들을 동시에 프로그래밍 - 2개의 단일-상태 메모리 셀들은 2개의 메모리 셀 스트링들의 제2 공통 워드 라인을 따라 위치됨 - 한다. 추가로, 2개의 메모리 셀 스트링들은 서로에 대해 인접하거나 또는 비교적 가까운 물리적 근접도로 위치될 수 있다.
더 상세한 설명이 첨부 도면들에 도시된 예시적인 실시예들을 참조하여 아래에 기재된다. 이러한 도면들이 본 개시내용의 예시적인 실시예들만을 도시하고 그에 따라 본 개시내용의 범위의 제한인 것으로 고려되지 않아야 한다는 것을 이해하면서, 본 개시내용은 첨부 도면들의 사용을 통해, 추가된 특이성 및 세부사항으로 기술되고 설명된다.
도 1은 예시적인 실시예들에 따른 메모리 시스템의 블록도이다.
도 2는 예시적인 실시예들에 따른 비휘발성 메모리 셀의 개략도이다.
도 3은 예시적인 실시예들에 따른, 비휘발성 메모리 셀의 플로팅 게이트가 임의의 하나의 시간에 그리고 고정된 드레인 전압으로 선택적으로 저장하고 있을 수 있는 4개의 상이한 전하들(Q1 내지 Q4)에 대한 소스-드레인 전류(ID)와 제어 게이트 전압(VCG) 사이의 관계를 도시한다.
도 4a는 예시적인 실시예들에 따른, 스트링으로 조직화된 일련의 NAND-유형 메모리 셀들을 개략적으로 도시한다.
도 4b는 예시적인 실시예들에 따른, 도 4a에 도시된 유형과 같은 복수의 NAND-유형 스트링들을 포함하는 메모리 셀들의 어레이를 개략적으로 도시한다.
도 5는 예시적인 실시예들에 따른, 병렬로 감지 또는 프로그래밍되는 메모리 셀들의, 그리고 NAND-유형 구성으로 조직화된 메모리 어레이에 관련된 페이지를 도시한다.
도 6a는 예시적인 실시예들에 따른, 메모리 블록 구조물에 배열된 NAND-유형 스트링들의 대안적인 구성을 개략적으로 도시한다.
도 6b는 예시적인 실시예들에 따른, 도 6a에 도시된 유형과 같은 복수의 NAND-유형 메모리 블록 구조물들을 포함하는 메모리 셀들의 어레이를 개략적으로 도시한다.
도 7a 내지 도 7c는 예시적인 실시예들에 따른, MLC-유형 메모리 셀들의 집단의 4개의 상태들을 프로그래밍하는 스테이지들을 도시한다.
도 8a 내지 도 8c는 예시적인 실시예들에 따른, TLC-유형 메모리 셀들의 집단의 8개의 상태들을 프로그래밍하는 스테이지들을 도시한다.
도 9는 예시적인 실시예에 따른 수직 NAND-유형 스트링을 도시한다.
도 10은 예시적인 실시예들에 따른, 행(row) 및 열(column) 디코더들을 통해 판독/기입 회로들에 의해 액세스가능한 비휘발성 메모리 어레이의 구성을 개략적으로 도시한다.
도 11은 예시적인 실시예에 따른 개별 판독/기입 모듈의 블록도이다.
도 12a는 예시적인 실시예들에 따른, 분할된 판독/기입 스택들의 뱅크(bank)를 갖는 메모리 디바이스를 개략적으로 도시한다.
도 12b는 예시적인 실시예들에 따른, 약간 상이한 구성의 도 12a의 메모리 디바이스를 개략적으로 도시한다.
도 13은 예시적인 실시예들에 따른, 도 12a에 도시된 판독/기입 스택들과 같은 판독/기입 스택의 다양한 컴포넌트들을 개략적으로 도시한다.
도 14a는 예시적인 실시예들에 따른, 도 12a에 도시된 메모리 디바이스와 같은 메모리 디바이스의 판독/기입 회로들 사이에 배열된 복수의 판독/기입 스택들을 개략적으로 도시한다.
도 14b는 예시적인 실시예들에 따른, 도 12a에 도시된 판독/기입 스택들과 같은 판독/기입 스택의 감지 블록을 도시한 블록도이다.
도 15는 예시적인 실시예들에 따른, 행 및 열 디코더들을 통해 판독/기입 회로들에 의해 액세스가능한 비휘발성 메모리 어레이의 대안적인 구성을 개략적으로 도시한다.
도 16a는 예시적인 실시예들에 따른, 도 15에 도시된 판독/기입 회로들과 같은 판독/기입 회로의 다양한 컴포넌트들을 개략적으로 도시한다.
도 16b는 예시적인 실시예들에 따른, 도 16a의 판독/기입 회로의 일부를 더 상세하게 개략적으로 도시한다.
도 17은 예시적인 실시예들에 따른 TLC 프로그래밍 동작을 예시한다.
도 18은 예시적인 실시예들에 따른, 프로그래밍 동작 동안의 내부 폴딩 프로세스를 예시한다.
도 19는 예시적인 실시예들에 따른, 이진 포맷의 다수의 워드 라인들로부터의 데이터가 다중-상태 포맷으로 재기입되는 온-메모리(on-memory) 폴딩 프로세스를 예시한다.
도 20은 예시적인 실시예들에 따른, 도 19의 폴딩 프로세스의 태양들을 더 상세하게 예시한다.
도 21a 내지 도 21d는 예시적인 실시예들에 따른, 2개의 메모리 스트링들이 공통 워드 라인을 따라 동시에 기입되는 3-페이지 데이터 세트 SLC 프로그래밍 동작에 대한 예시적인 프로세스를 예시한다.
도 22는 예시적인 실시예들에 따른, 도 21a 내지 도 21d의 프로세스에 따라 프로그래밍되기 위해 3-페이지 데이터 세트를 대표적인 2-비트 데이터 값들의 세트로 변환하기 위한 프로세스를 예시한다.
도 23은 예시적인 실시예들에 따른, 3개의 메모리 스트링들이 2개의 공통 워드 라인들을 따라 동시에 기입되는 4-페이지 데이터 세트 SLC 프로그래밍 동작에 대한 예시적인 프로세스를 예시한다.
다음의 설명은 본 개시내용의 다양한 예시적인 실시예들에 관한 것이다. 이들 실시예들 중 하나 이상이 바람직할 수 있지만, 개시된 실시예들은 청구범위를 포함한 본 개시내용의 범위를 제한하는 것으로 해석되거나 달리 사용되어서는 안된다. 부가적으로, 당업자는 다음의 설명이 광범위한 응용을 가지며, 임의의 특정 실시예의 상세한 설명이 단지 그 실시예를 예시하는 것으로만 의도되고, 청구범위를 포함한 본 개시내용의 범위가 그 특정 실시예로 제한된다고 제안하도록 의도되지 않는다는 것을 이해할 것이다.
본 개시내용의 여러가지 태양들은 장치, 시스템, 방법, 또는 컴퓨터 프로그램 프로세스의 형태로 구체화될 수 있다. 따라서, 본 개시내용의 태양들은 전적으로 하드웨어 실시예 또는 소프트웨어 실시예(펌웨어, 상주 소프트웨어, 마이크로-코드 등을 포함하지만 이에 제한되지 않음)의 형태로 이루어질 수 있거나, 또는 집합적으로 "회로", "모듈", "장치", 또는 "시스템"으로 일반적으로 지칭될 수 있는 하드웨어 및 소프트웨어 컴포넌트들 둘 모두의 조합일 수 있다. 추가로, 본 개시내용의 다양한 태양들은, 예를 들어 컴퓨터 판독가능 및/또는 실행가능 프로그램 코드를 저장하는 하나 이상의 비일시적 컴퓨터 판독가능 저장 매체들로 구체화되는 컴퓨터 프로그램 프로세스의 형태로 이루어질 수 있다.
부가적으로, 다양한 용어들이 특정 시스템 컴포넌트들을 지칭하기 위해 본 명세서에서 사용된다. 상이한 회사들이 상이한 이름들로 동일하거나 유사한 컴포넌트를 지칭할 수 있으며, 이러한 설명은 이름만 상이하고 기능은 상이하지 않은 컴포넌트들을 구별하도록 의도하지 않는다. 다음의 개시내용에 설명되는 다양한 기능 단위들이 "모듈들"로 지칭되는 경우, 그러한 특성화는 잠재적인 구현 메커니즘들의 범위를 과도하게 제한하지 않도록 의도된다. 예를 들어, "모듈"은 맞춤형 VLSI(very-large-scale integration) 회로들 또는 게이트 어레이들, 또는 로직 칩들, 트랜지스터들, 또는 다른 별개의 컴포넌트들을 포함하는 기성(off-the-shelf) 반도체들을 포함하는 하드웨어 회로로서 구현될 수 있다. 추가적인 예에서, 모듈은 또한, 프로그래밍가능 하드웨어 디바이스, 예컨대 필드 프로그래밍가능 게이트 어레이(FPGA), 프로그래밍가능 어레이 로직, 프로그래밍가능 로직 디바이스 등으로 구현될 수 있다. 더욱이, 모듈은 또한, 적어도 부분적으로, 다양한 유형들의 프로세서들에 의해 실행되는 소프트웨어에 의해 구현될 수 있다. 예를 들어, 모듈은 객체, 프로세스, 또는 기능으로 변환되는 컴퓨터 명령어들의 하나 이상의 물리적 또는 논리적 블록들을 구성하는 실행가능 코드의 세그먼트를 포함할 수 있다. 또한, 그러한 모듈의 실행가능 부분들이 물리적으로 함께 위치되는 것이 요구되는 것이 아니라, 오히려 상이한 위치들에 저장되며, 함께 실행될 때, 식별된 모듈을 포함하고 그 모듈의 언급된 목적을 달성하는 별개의 명령어들을 포함할 수 있는 것이 요구된다. 실행가능 코드는 단지 단일 명령어 또는 다수의 명령어들의 세트를 포함할 수 있을 뿐만 아니라, 상이한 코드 세그먼트들에 걸쳐, 또는 상이한 프로그램들 사이에, 또는 여러 개의 메모리 디바이스들에 걸쳐 등의 방식으로 분산될 수 있다. 소프트웨어 또는 부분 소프트웨어 모듈 구현에서, 소프트웨어 부분들은, 전자, 자기, 광학, 전자기, 적외선, 또는 반도체-기반 시스템, 장치, 또는 디바이스, 또는 이들의 임의의 적합한 조합을 포함하지만 이에 제한되지 않는 하나 이상의 컴퓨터 판독가능 및/또는 실행가능 저장 매체들 상에 저장될 수 있다. 일반적으로, 본 개시내용의 목적들을 위해, 컴퓨터 판독가능 및/또는 실행가능 저장 매체는 명령어 실행 시스템, 장치, 프로세서, 또는 디바이스에 의한 또는 그들과 관련된 사용을 위한 프로그램을 포함 및/또는 저장할 수 있는 임의의 유형적(tangible) 및/또는 비일시적 매체로 구성될 수 있다.
유사하게, 본 개시내용의 목적들을 위해, 용어 "컴포넌트"는 임의의 유형적, 물리적, 및 비일시적 디바이스로 구성될 수 있다. 예를 들어, 컴포넌트는, 맞춤형 VLSI 회로들, 게이트 어레이들, 또는 다른 집적 회로들로 구성되거나 또는 로직 칩들, 트랜지스터들, 또는 다른 별개의 컴포넌트들, 또는 임의의 다른 적합한 기계적 및/또는 전기 디바이스들을 포함하는 기성 반도체들로 구성된 하드웨어 로직 회로의 형태로 이루어질 수 있다. 부가적으로, 컴포넌트는 또한, 필드 프로그래밍가능 게이트 어레이(FPGA), 프로그래밍가능 어레이 로직, 프로그래밍가능 로직 디바이스들 등과 같은 프로그래밍가능 하드웨어 디바이스들에서 구현될 수 있다. 더욱이, 컴포넌트는, 예를 들어 인쇄 회로 보드(PCB) 등의 전기 전도체들을 통한 하나 이상의 다른 컴포넌트들과의 전기 통신 구성에 있는 칩들, 다이, 다이 평면들, 및 패키지들, 또는 다른 별개의 전기 디바이스들과 같은 하나 이상의 실리콘-기반 집적 회로 디바이스들로 구성될 수 있다. 따라서, 위에서 정의된 바와 같은 모듈은, 소정의 실시예들에서, 컴포넌트에 의해 구체화되거나 컴포넌트로서 구현될 수 있으며, 일부 예시들에서, 용어들 모듈 및 컴포넌트는 상호교환가능하게 사용될 수 있다.
용어 "회로"가 본 명세서에서 사용되는 경우, 그것은 전류가 흐르게 허용하는 하나 이상의 전도성 경로들을 구성하는 하나 이상의 전기 및/또는 전자 컴포넌트들을 포함한다. 회로는 폐쇄-루프 구성 또는 개방-루프 구성의 형태로 이루어질 수 있다. 폐쇄-루프 구성에서, 회로 컴포넌트들은 전류에 대한 복귀 경로를 제공할 수 있다. 대조적으로, 개방-루프형 구성에서, 본 명세서의 회로 컴포넌트들은 전류에 대한 복귀 경로를 포함하지 않음에도 불구하고 회로를 형성하는 것으로 여전히 간주될 수 있다. 예를 들어, 집적 회로는 집적 회로가 (전류에 대한 복귀 경로로서) 접지에 커플링되는지 여부에 관계없이 회로로 지칭된다. 소정의 예시적인 실시예들에서, 회로는 집적 회로들의 세트, 단독의 집적 회로, 또는 집적 회로의 일부를 포함할 수 있다. 예를 들어, 회로는 맞춤형 VLSI 회로들, 게이트 어레이들, 로직 회로들, 및/또는 다른 형태들의 집적 회로들을 포함할 수 있을 뿐만 아니라, 논리 칩들, 트랜지스터들, 또는 다른 별개의 디바이스들과 같은 기성 반도체를 포함할 수 있다. 추가적인 예에서, 회로는, 예를 들어 인쇄 회로 보드(PCB)의 전기 전도체들을 통한 하나 이상의 다른 컴포넌트들과의 전기 통신 구성에 있는 칩들, 다이, 다이 평면들, 및 패키지들, 또는 다른 별개의 전기 디바이스들과 같은 하나 이상의 실리콘-기반 집적 회로 디바이스들을 포함할 수 있다. 회로는 또한, 필드 프로그래밍가능 게이트 어레이(FPGA), 프로그래밍가능 어레이 로직, 및/또는 프로그래밍가능 로직 디바이스들 등과 같은 프로그래밍가능 하드웨어 디바이스에 대한 합성된 회로로서 구현될 수 있다. 다른 예시적인 실시예들에서, 회로는 (집적 회로 디바이스들을 갖거나 갖지 않는) 집적되지 않은 전기 및/또는 전자 컴포넌트들의 네트워크를 포함할 수 있다. 따라서, 위에서 정의된 바와 같은 모듈은, 소정의 실시예들에서, 회로에 의해 구체화되거나 또는 회로로서 구현될 수 있다.
본 명세서에 개시된 예시적인 실시예들이 하나 이상의 마이크로프로세서들, 및 본 명세서에 개시된 기능들 중 일부, 대부분, 또는 전부를 소정의 비-프로세서 회로들 및 다른 요소들과 함께 구현하도록 하나 이상의 마이크로프로세서들을 제어하는 특정 저장된 컴퓨터 프로그램 명령어들로 구성될 수 있다는 것이 인식될 것이다. 대안적으로, 일부 또는 모든 기능들은 저장된 프로그램 명령어들을 갖지 않는 상태 머신에 의해, 또는 하나 이상의 주문형 집적 회로(ASIC)들 또는 필드 프로그래밍가능 게이트 어레이(FPGA)들로 구현될 수 있으며, 여기서 각각의 기능 또는 기능들 중 소정의 기능들의 일부 조합들은 맞춤형 로직으로서 구현된다. 이들 접근법들의 조합이 또한 사용될 수 있다. 따라서, 이들 기능들에 대한 방법들 및 수단이 본 명세서에 설명된다. 추가로, "제어기"에 대한 아래의 참조들은 개별 회로 컴포넌트들, 주문형 집적 회로(ASIC), 제어 소프트웨어를 갖는 마이크로제어기, 디지털 신호 프로세서(DSP), 필드 프로그래밍가능 게이트 어레이(FPGA), 및/또는 제어 소프트웨어를 갖는 프로세서, 또는 이들의 조합을 포함하는 것으로 정의되어야 한다.
추가로, 본 명세서에 사용되는 바와 같은 용어들 "프로그램", "소프트웨어", "소프트웨어 애플리케이션" 등은 컴퓨터 구현된 시스템 상에서의 실행을 위해 설계된 명령어들의 시퀀스를 지칭한다. 따라서, "프로그램", "소프트웨어", "애플리케이션", "컴퓨터 프로그램", 또는 "소프트웨어 애플리케이션"은 서브루틴, 기능, 절차, 객체 방법, 객체 구현, 실행가능 애플리케이션, 애플릿, 서블릿(servlet), 소스 코드, 객체 코드, 공유 라이브러리/동적 부하 라이브러리 및/또는 컴퓨터 시스템 상에서의 실행을 위해 설계된 특정 명령어들의 다른 시퀀스를 포함할 수 있다.
부가적으로, 용어들 "커플링", "커플링된", 또는 "커플링한"은 본 명세서에서 사용되는 경우, 직접 또는 간접 연결 중 어느 하나를 의미하도록 의도된다. 따라서, 제1 디바이스가 제2 디바이스와 커플링하거나 그에 커플링되면, 그 연결은 직접 연결에 의해 또는 다른 디바이스들(또는 컴포넌트들) 및 연결부들을 통한 간접 연결을 통해 이루어질 수 있다.
"일 실시예", "하나의 실시예", "예시적인 실시예", "특정 실시예", 또는 다른 유사한 용어와 같은 용어들의 본 명세서에서의 사용에 관해, 이들 용어들은 실시예와 관련하여 설명되는 특정 특징, 구조, 기능, 동작, 또는 특성이 본 개시내용의 적어도 하나의 실시예에서 발견된다는 것을 표시하도록 의도된다. 따라서, "하나의 실시예에서", "일 실시예에서", "예시적인 실시예에서" 등과 같은 문구들의 등장들은 모두 동일한 실시예를 지칭할 수 있지만 반드시 그러한 것은 아니며, 오히려, 명시적으로 달리 특정되지 않는 한 "모든 실시예들이 아니라 하나 이상의 실시예들"을 의미할 수 있다. 추가로, 용어들 "포함하는(comprising)", "갖는(having)", "포함하는(including)" 및 이들의 변형들은 개방형 방식으로 사용되며, 따라서 명시적으로 달리 특정되지 않는 한, "포함하지만 이에 제한되지 않는"을 의미하는 것으로 해석되어야 한다. 또한, "포함하는"에 선행되는 요소는, 더 많은 제약들 없이, 대상 프로세스, 방법, 시스템, 물품, 또는 요소를 포함하는 장치에서 부가적인 동일한 요소들의 존재를 배제하지 않는다.
단수형("a", "an", 및 "the")의 용어들은 또한, 명시적으로 달리 특정되지 않는 한, "하나 이상"을 지칭한다. 부가적으로, 본 명세서에서 그리고/또는 다음의 청구범위에서 사용될 수 있는 바와 같은 문구 "A 및 B 중 적어도 하나"(그에 의해, A 및 B는 특정 객체 또는 속성을 표시하는 변수들임)는 문구 "및/또는"과 유사하게 A 또는 B, 또는 A 및 B 둘 모두의 선택을 표시한다. 2개 초과의 변수들이 그러한 문구에 존재하는 경우, 이러한 문구는 이에 의해, 변수들 중 오직 하나, 변수들 중 임의의 하나, 변수들 중 임의의 변수들의 임의의 조합(또는 하위-조합), 및 변수들 모두를 포함하는 것으로 정의된다.
추가로, 본 명세서에서 사용되는 경우, 용어 "약" 또는 "대략"은 명시적으로 표시되든지 표시되지 않든지 간에 모든 수치 값들에 적용된다. 이들 용어들은 일반적으로, 당업자가 언급된 값들(예를 들어, 동일한 기능 또는 결과를 가짐)과 등가인 것으로 고려할 수치 값들의 범위를 지칭한다. 소정의 예시들에서, 이들 용어들은 가장 가까운 유효 숫자로 반올림된 수치 값들을 포함할 수 있다.
부가적으로, 본 명세서에 기재된 아이템들의 임의의 열거된 목록은 명시적으로 달리 특정되지 않는 한, 아이템들 중 임의의 것 또는 전부가 서로 상호 배타적이고 그리고/또는 서로 상호 포괄적이라는 것을 암시하지 않는다. 추가로, 본 명세서에 사용되는 바와 같은 용어 "세트"는 "하나 이상"을 의미하는 것으로 해석되어야 하며, "세트들"의 경우에는, 명시적으로 달리 특정되지 않는 한, 집합론에 따라 하나 이상들("one or mores," "ones or more," 및/또는 "ones or mores")의 배수들(또는 복수의 하나 이상들)을 의미하는 것으로 해석되어야 한다.
본 개시내용의 다양한 요소들은 본 개시내용의 예시적인 실시예들에 따른 방법들, 장치들, 시스템들, 및 컴퓨터 프로그램 프로세스들을 도시하는 개략적인 흐름도들 및/또는 개략적인 블록도들을 참조하여 아래에서 설명되며, 여기서 개략적인 흐름도 및/또는 개략적인 블록도들의 각각의 블록 또는 블록들의 조합들은 구체적으로 기입된 컴퓨터 프로그램 명령어들에 의해 구현될 수 있다. 당업계에서 이해되는 바와 같이, 컴퓨터 프로그램 명령어들은 컴퓨터 또는 다른 프로그래밍가능 데이터 프로세싱 장치의 지정된 프로세서에 의해 실행되며, 그에 의해, 개략적인 흐름도 및/또는 개략적인 블록도들의 하나 이상의 블록들에서 구체적으로 기재된 기능들, 작동들, 및/또는 동작들을 구현하기 위한 메커니즘을 생성한다. 추가로, 소정의 대안적인 프로세스 구현예들에서, 블록에서 특정된 기능들이 개략적인 흐름도 및/또는 블록도들에 도시된 정확한 순서를 벗어나 발생할 수 있다는 것을 유의한다. 예를 들어, 연속하여 발생하는 것으로 도면에 도시된 2개의 블록들은 실제로, 관련된 기능에 의존하여, 실질적으로 동시에(즉, 동시적으로) 실행되거나 심지어 역순으로 실행될 수 있다. 부가적으로, 도면들의 하나 이상의 블록들 또는 이들의 부분들에 대해 기능, 로직, 또는 효과에 있어서 등가인 다른 프로세스 단계들 및 방법들은 본 개시내용의 범주 내에 있는 것으로 생각 및 고려될 수 있다. 더욱이, 개략도들이 예시로서 다양한 화살표 유형들 및 방향들 및 라인 유형들을 도시할 수 있지만, 그들은 대응하는 실시예들의 범주를 제한하도록 의도되지 않는다. 예를 들어, 화살표는 도시된 예시적인 실시예의 열거된 단계들 사이의 특정되지 않은 지속기간의 대기 또는 모니터링 기간을 표현하거나 나타낼 수 있다.
후속하는 상세한 설명에서, 그의 일부를 형성하는 첨부 도면들을 참조한다. 전술한 발명의 내용이 단지 예시적인 것이며, 어떠한 방식으로든 제한하는 것으로 의도되지 않는다는 것이 인식된다. 위에서 설명된 예시적인 태양들, 예시적인 실시예들, 및 특징들에 부가하여, 부가적인 태양들, 예시적인 실시예들, 및 특징들이 도면들 및 아래의 상세한 설명을 참조하여 명백해질 것이다. 각각의 도면에서의 요소들의 설명은 선행 도면들의 요소들을 지칭할 수 있다. 유사한 도면 부호들은 유사한 요소들의 대안적인 예시적인 실시예들을 포함하여, 도면들 내의 유사한 요소들을 지칭할 수 있다.
이제 도면들을 상세히 참조하고 도 1로 시작하면, 메모리 시스템(90)의 예시적인 실시예 및 그의 주요 하드웨어 컴포넌트들의 예시가 도시되어 있다. 이러한 특정 실시예에서, 메모리 시스템(90)은 호스트 인터페이스를 통해 호스트 디바이스(80)를 동작시키고 그와 통신한다. 추가로, 메모리 시스템(90)은 메모리 디바이스(102)를 포함하며, 그의 동작들은 제어기(100)에 의해 제어된다. 호스트 디바이스(80)는 메모리 시스템(90)(예를 들어, 컴퓨팅 디바이스)을 이용하는 임의의 디바이스 또는 시스템을 포함할 수 있다. 따라서, 메모리 시스템(90)은 착탈식 메모리 카드 또는 임베디드 메모리 시스템의 형태로 이루어질 수 있다. 예를 들어, 메모리 시스템(90)은 랩톱 컴퓨터에 설치되는 솔리드 스테이트 드라이브에 임베딩(embed)될 수 있다. 다른 예에서, 메모리 시스템(90)은, 호스트(80) 및 메모리 시스템(90)(제어기(100)를 포함함)이 단일 집적 회로 칩 상에 형성되도록 호스트 디바이스(80) 내에 임베딩될 수 있다. 메모리 시스템(90)이 메모리 카드 내에 구현된 실시예들에서, 호스트 디바이스(80)는 메모리 카드들 또는 플래시 드라이브들(예를 들어, 범용 직렬 버스(USB) 포트, 또는 메모리 카드 슬롯)의 하나 이상의 유형들에 대한 내장형 리셉터클을 포함할 수 있다. 추가로, 호스트(80)는 메모리 카드가 플러그인되는 어댑터들을 사용할 수 있다.
여전히 도 1을 참조하면, 아래에서 상세히 설명되는 바와 같이, 메모리 디바이스(102)는 하나 이상의 집적 회로 칩들 위에 분산되는 복수의 비휘발성 메모리 셀들의 하나 이상의 메모리 어레이들을 포함할 수 있다. 그리고, 이러한 특정 실시예에 따르면, 제어기(100)는 인터페이스 회로들(110), 프로세서(120), ROM(판독 전용 메모리)(122), RAM(랜덤 액세스 메모리)(130), 프로그래밍가능 비휘발성 메모리(124), 및 부가적인 컴포넌트들을 포함할 수 있지만 이들로 제한되지 않는 여러가지 컴포넌트들을 포함할 수 있다. 제어기(100)는, 예를 들어 하나 이상의 주문형 집적 회로들(ASIC)의 형태로 이루어질 수 있으며, 여기서 그러한 ASIC에 포함된 컴포넌트들은 일반적으로 특정 애플리케이션에 의존한다.
메모리 디바이스(102) 자체에 관해, 도 2는 예시적인 실시예에 따른 개별 비휘발성 메모리 셀(10)의 개략도이다. 위에서 언급된 바와 같이, 메모리 셀(10)은 플로팅 게이트 또는 유전체 층과 같은 전하 저장 유닛(20)을 갖는 전계 효과 트랜지스터에 의해 구현될 수 있다. 부가적으로, 메모리 셀(10)은 소스 구역(14) 및 드레인 구역(16)을 포함한다. 추가로, 제어 게이트(30)가 플로팅 게이트(20) 위에 위치된다. 이러한 일반적인 구조를 갖는 비휘발성 메모리 셀들의 예시적인 유형들은 전기적으로 소거가능한 프로그래밍가능 판독 전용 메모리(EEPROM) 및 플래시 EEPROM, NAND(NOT-AND)-유형 셀들, 및 유전체 저장 요소들(예를 들어, NROM™)을 이용하는 메모리 디바이스들을 포함하지만 이들로 제한되지 않는다. 동작 시에, 셀의 메모리 상태(예를 들어, 프로그래밍됨 또는 소거됨)는 소정의 실시예들에 따르면, 기준 전압이 제어 게이트(30)에 인가될 때 메모리 셀의 소스 및 드레인 전극들에 걸친 전도 전류를 감지함으로써 판독될 수 있다. 더 구체적으로, 메모리 셀의 플로팅 게이트(20) 상의 각각의 주어진 전하에 대해, 고정된 기준 제어 게이트 전압에 대한 대응하는 전도 전류가 검출될 수 있다. 따라서, 위에서 설명된 바와 같이, 플로팅 게이트 상으로 프로그래밍가능한 전하들의 범위는 메모리 셀(10)의 대응하는 임계 전압 윈도우 또는 대응하는 전도 전류 윈도우를 정의한다. 대안적으로, 분할된 전류 윈도우 중에서 전도 전류를 검출하기보다는, 제어 게이트(30)에서의 테스트 하에서 주어진 메모리 상태에 대한 임계 전압을 설정하고, 결과적인 전도 전류가 임계 전류(즉, 셀 판독 기준 전류)보다 높은지 또는 낮은지를 검출하는 것이 가능하다. 하나의 그러한 예시적인 구현예에서, 임계 전류에 대한 전도 전류의 검출은 비트 라인의 커패시턴스를 통한 전도 전류의 방전 속도를 조사함으로써 달성된다.
도 3은, 예를 들어 플로팅 게이트가 임의의 주어진 시간에 선택적으로 저장하고 있을 수 있는 4개의 상이한 전하 상태들(Q1 내지 Q4)을 갖는 비휘발성 메모리 셀(10)에 대한 소스-드레인 전류(ID)와 제어 게이트 전압(VCG) 사이의 상관관계의 그래픽 예시를 제공한다. 도시된 바와 같이, 고정된 드레인 전압 바이어스들을 이용하여, 메모리 셀의 플로팅 게이트 상에 프로그래밍될 수 있는 4개의 전하 레벨들을 표현하는 4개의 실선 ID 대 VCG 곡선들이 존재하며, 여기서 4개의 전하 레벨들은 각각 8개의 가능한 메모리 상태들 중 4개에 대응한다. 따라서, 일 예로서, 메모리 셀들의 집단의 임계 전압 윈도우는 0.5 V 내지 3.5 V의 범위일 수 있다. 그러한 예에서, "0", "1", "2", "3", "4", "5", "6"으로 각각 할당된 7개의 프로그래밍된 메모리 상태들, 및 하나의 소거된 상태(도 3에 도시되지 않음)는 임계 윈도우를 각각 0.5 V의 간격들의 구역들로 분할함으로써 구분될 수 있다. 따라서, 2 ㎂의 기준 전류(IREF)가 도시된 바와 같이 사용되면, Q1 전압으로 프로그래밍된 셀은, 그 전압의 곡선이 전압 범위 VCG = 0.5 V 및 1.0 V 만큼 구분되는 임계 윈도우의 구역에서 IREF와 교차하므로, 메모리 상태 "1"에 있는 것으로 고려될 수 있다. 유사하게, Q4는 메모리 상태 "5"에 있다.
따라서, 위에서 언급된 바와 같이, 메모리 셀(10)이 저장하게 되는 상태들이 더 많을수록, 그의 임계 전압 윈도우가 더 미세하게 분할된다. 예를 들어, -1.5 V 내지 5 V의 범위의 임계 전압 윈도우를 갖고, 그에 의해 6.5 V의 가능한 최대 폭을 제공하고, 16개의 메모리 상태들을 저장할 메모리 셀(10)에서, 각각의 상태는 200 ㎷ 내지 300 ㎷의 전압 범위만을 점유할 수 있다. 그러한 좁은 전압 범위는 요구되는 해상도를 달성하기 위해 프로그래밍 및 판독 동작들에서 더 높은 정밀도를 요구할 것이다.
개별 메모리 셀들(10)은 메모리 셀들이 직렬로 배치되는 스트링들로 조직화된다. 예를 들어, NAND-유형 메모리 셀들을 포함하는 스트링(50)의 예시적인 실시예가 도 4a에 도시되며, 여기서 일련의 셀들의 개개의 트랜지스터 요소들(M1, M2, …, Mn)(여기서, "n"은 4, 8, 16 또는 그 이상과 동일할 수 있음)은 그들의 소스들 및 드레인들에 대해 데이지 체인화(daisy-chain)된다. 추가로, 도 3에 관해 논의된 바와 같이, 스트링(50) 내의 각각의 메모리 트랜지스터(10)는 그 셀의 의도된 메모리 상태를 표현하기 위해 소정량의 전하를 저장하기 위한 전하 저장 요소(20)(예를 들어, 플로팅 게이트)를 갖는다. 그리고, 아래에서 더 상세히 설명되는 바와 같이, 각각의 메모리 트랜지스터(10)는 판독 및 기입 동작에 대한 제어를 허용하는 제어 게이트(30)를 포함한다. 멀리 떨어진(outlying) 메모리 어레이에 대한 트랜지스터 요소들의 연결을 제어하는 선택 트랜지스터들(S1, S2)이 스트링(50)의 소스 단자(54) 및 드레인 단자(56)에 존재한다. 구체적으로, 소스 선택 트랜지스터(S1)가 턴 온(turn on)될 때, 소스 단자(54)는 소스 라인에 커플링된다. 유사하게, 드레인 선택 트랜지스터(S2)가 턴 온될 때, 드레인 단자(56)는 메모리 어레이의 비트 라인에 커플링된다.
계층적 레벨을 바깥쪽으로 확장시키면, 도 4b는 도 4a에 예시된 유형의 복수의 NAND 스트링들(50)로 구성된 메모리 어레이(210)의 예시적인 실시예를 도시한 개략도이다. NAND 스트링들(50)의 각각의 열을 따라, 비트 라인(36)은 각각의 NAND 스트링의 드레인 단자(56)에 커플링된다. 부가적으로, NAND 스트링들(50)의 각각의 뱅크를 따라, 소스 라인(34)은 각각의 NAND 스트링의 소스 단자들(54)에 커플링된다. 추가로, NAND 스트링들(50)의 뱅크 내의 메모리 셀들의 행 내의 메모리 트랜지스터들(10)의 제어 게이트들(30)은 동일한 워드 라인(42)에 연결된다. 따라서, NAND 스트링(50) 내의 어드레싱된 메모리 트랜지스터(10)가 프로그래밍 동작 동안 판독 또는 검증될 때, 적절한 전압이 그의 제어 게이트(30)에 인가된다. 동시에, NAND 스트링(50) 내의 나머지 어드레싱되지 않은 메모리 트랜지스터들(10)은 그들 개개의 제어 게이트들(30)에 충분한 전압을 인가함으로써 완전히 턴 온된다. 그 결과, 어드레싱된 메모리 트랜지스터(10)의 소스로부터 NAND 스트링(50)의 소스 단자(54)로, 그리고 어드레싱된 메모리 트랜지스터(10)의 드레인으로부터 셀의 드레인 단자(56)로 전도성 경로가 생성된다.
추가로, 메모리 어레이(210) 내의 각각의 NAND 스트링(50)의 선택 트랜지스터들(S1, S2)의 제어 게이트들(32)은 NAND 스트링에 대한 제어 액세스를 그의 소스 단자(54) 및 드레인 단자(56)에서 제공한다. NAND 스트링들(50)의 뱅크 내의 행을 따른 선택 트랜지스터들(S1, S2)의 제어 게이트들(32)은 동일한 선택 라인(44)에 연결된다. 따라서, NAND 스트링들(50)의 뱅크 내의 메모리 셀들(10)의 전체 행은 NAND 스트링들(50)의 뱅크의 워드 라인들(42) 및 선택 라인들(44) 상에 적절한 전압들을 인가함으로써 어드레싱될 수 있다.
이제 도 5를 참조하면, 메모리 어레이(210)의 NAND 스트링들(50)의 하나의 뱅크의 상세한 예시가 그의 예시적인 실시예에 따라 도시되어 있다. 이러한 도면은 메모리 어레이(210)의 행-단위 구성을 시각화하는 데 특히 유용하며, 여기서 어레이(210)의 각각의 행은 "페이지"로 지칭될 수 있다. 따라서, 물리적 페이지(예컨대, 도 5에 표기된 페이지(60))는 병렬로 감지 또는 프로그래밍되도록 인에이블되는 메모리 셀들(10)의 그룹이다. 실제로, 페이지는 프로그래밍되거나 기입될 수 있는 메모리 디바이스의 최소 유닛이다. 페이지의 프로그래밍은 감지 증폭기들(212)의 대응하는 페이지에 의해 달성되며, 여기서 각각의 감지 증폭기는 비트 라인(예를 들어, 도 5에 예시된 개개의 비트 라인들(BL0, BL1, BL2, BL3, BL4, BL5, …, BLm-1, 및 BLm) 참조)을 통해 개개의 NAND 스트링(50)에 커플링될 수 있다. 따라서, 페이지(60)는, 공통 워드 라인(42)에 연결되는 페이지(60) 내의 복수의 메모리 셀들(10)의 제어 게이트들에 의해 인에이블되고, 페이지(60)의 각각의 메모리 셀(10)은 비트 라인(36)을 통해 감지 증폭기에 의해 액세스가능하다. 따라서, 메모리 셀들(10)의 페이지(60)를 프로그래밍 또는 감지할 때, 프로그래밍 또는 감지 전압은 비트 라인들 상의 적절한 전압들과 함께 공통 워드 라인(예를 들어, 페이지(60)에 대한 워드 라인(WL3))에 각각 인가된다.
데이터가 프로그래밍 및 소거되는 방식에 관하여, 플래시 메모리에 관해, 메모리 셀이 소거된 상태로부터 프로그래밍되어야 한다는 것을 유의하는 것이 중요하다. 다시 말하면, 프로그래밍 동작이 후속하여 플로팅 게이트(20)에 원하는 양의 전하를 다시 추가할 수 있기 전에, 플로팅 게이트(20)는 먼저 전하가 비워져야 하고, 그에 의해 메모리 셀을 소거된 상태로 배치해야 한다. 따라서, 플로팅 게이트(20) 상의 전하 레벨은 그의 이전의 프로그래밍된 레벨로부터 증분적으로 증가되거나 감소될 수 없다. 따라서, 업데이트 데이터가 메모리 셀(10)의 기존의 데이터를 겹쳐쓰는 것이 가능하지 않다. 오히려, 업데이트 데이터는 이전의 기입되지 않은 위치로 프로그래밍되어야 한다.
소거 동작들에서의 성능을 촉진하려는 목적들을 위해, 메모리 셀들(10)의 어레이(210)는, 예를 들어 메모리 셀들의 많은 수의 블록들로 분할되며, 여기서 블록은, 포함된 메모리 셀들이 함께 소거될 수 있는 메모리 디바이스의 최소 유닛이다. 더욱이, 메모리 셀들(10)의 각각의 블록은 다수의 물리적 페이지들(60)로 분할될 수 있으며, 여기서, 위에서 언급된 바와 같이, 프로그래밍 동작은 페이지 단위로 수행된다. 따라서, 논리 페이지는 주어진 물리적 페이지 내의 메모리 셀들(10)의 수와 동일한 비트들의 수를 포함하는 프로그래밍 또는 판독의 유닛이다. 예를 들어, 하나의 비트의 데이터가 각각의 메모리 셀(10)에 저장되는 SLC-유형의 메모리 디바이스에서, 하나의 물리적 페이지(60)가 데이터의 하나의 논리 페이지를 저장한다. 따라서, 2개의 비트들의 데이터가 각각의 메모리 셀(10)에 저장되는 MLC-유형의 메모리 디바이스에서, 하나의 물리적 페이지(60)는 데이터의 2개의 논리 페이지들을 저장할 수 있다. 그러므로, 데이터의 하나 이상의 논리 페이지들은 전형적으로 메모리 셀들의 하나의 행(즉, 페이지(60))에 저장된다. 페이지(60)는 하나 이상의 섹터들을 저장할 수 있으며, 여기서 섹터는 사용자 데이터 및 오버헤드 데이터 둘 모두로 구성된다. 예시적인 실시예에서, 개별 페이지들(60)은 세그먼트들로 분할될 수 있으며, 여기서 각각의 세그먼트는 기본 프로그래밍 동작에서 한번에 기입될 수 있는 가장 적은 수의 메모리 셀들(10)을 포함한다.
이제 도 6a 및 도 6b를 참조하면, 메모리 어레이(210)의 메모리 블록 또는 뱅크 구조물(220)의 예시적인 실시예의 대안적인 구성이 도시되어 있다. 이러한 실시예에 따르면, 메모리 블록 구조물(220)은, 예를 들어 4개의 NAND-유형 스트링들(50)로 구성될 수 있으며, 그 스트링들은 그들이 동일한 워드 라인(WL) 연결부들(42)을 공유하도록 병렬로 연결된다. 그러나, 도 4a 및 도 4b 그리고 도 5에 도시된 실시예와 달리, 드레인 선택 게이트(SGD) 단자에서의 4개의 선택 트랜지스터들(32) 각각은 별개의 선택 라인(44)에 전기적으로 커플링된다. 그 결과, 각각의 스트링(50)은 필요한 바이어싱 전압을 원하는 드레인 선택 게이트(SGD)의 개개의 선택 라인(44)에 인가함으로써 메모리 동작들 동안 독립적으로 선택될 수 있다. 따라서, 각각의 스트링(50)은 상이한 프로그래밍 페이지에 속한다.
4-상태 메모리 셀들의 집단을 포함하는 MLC-유형 메모리 디바이스의 프로그래밍 스테이지들의 예시적인 실시예를 예시하기 위해, 도 7a 내지 도 7c를 참조한다. 도 7a에는, 특성 임계 전압 윈도우가 4개의 별개의 전압 분포들로 분할되는 메모리 셀들의 집단이 도시되어 있으며, 여기서 각각의 분포는 프로그래밍가능 메모리 상태(즉, 메모리 상태들 "0", "1", "2", 및 "3")에 대응한다. 도 7b는 소거된 메모리에 대한 "소거된" 임계 전압들의 초기 분포를 예시한다. 도 7c에서, 주어진 메모리 셀(10)의 초기 "소거된" 임계 전압이 검증 레벨들(vV1, vV2, vV3)에 의해 구분되는 3개의 분할된 전압 구역들 중 하나 내로 더 높은 값으로 이동되도록 메모리 셀 집단의 많은 부분이 프로그래밍된다. 따라서, 각각의 메모리 셀은 3개의 프로그래밍가능 상태들 "1", "2", 및 "3" 중 하나로 프로그래밍되거나 "소거된" 상태로 유지될 수 있다. 비트 레벨 상에서, 하부 비트 및 상부 비트를 갖는 2-비트 코드가 4개의 메모리 상태들 각각을 표현하는 데 사용될 수 있다. 예를 들어, 도 7c에 도시된 바와 같이, 메모리 상태들 "0", "1", "2", 및 "3"은 비트 값들 "11", "01", "00", 및 "10"을 각각 할당받을 수 있다. 그러한 예에서, 2-비트 데이터는, 3개의 서브-패스(sub-pass)들에서 대응하는 판독 구분 임계 전압들 rV1, rV2, 및 rV3에 대해 각각 감지함으로써 2개의 비트들이 함께 감지되는 "풀-시퀀스(full-sequence)" 모드에서 감지함으로써 메모리로부터 판독될 수 있다.
유사하게, 도 8a 내지 도 8c는 8-상태 메모리 셀들의 집단을 포함하는 TLC-유형 메모리 디바이스의 프로그래밍 스테이지들을 예시하며, 각각의 셀은, 이러한 특정 실시예에 따르면, 메모리 상태들 "0", "1", "2", "3", "4", "5", "6", 및 "7"(도 8a에 도시된 바와 같음)을 각각 표현하는 임계 전압들의 8개의 별개의 분포들로 프로그래밍가능하다. 따라서, 도 8b는 소거된 메모리에 대한 "소거된" 임계 전압들의 초기 분포를 도시한다. 추가로, 도 8c는 메모리 셀들 중 많은 것이 프로그래밍된 이후의 메모리의 일 예를 도시한다. 그 결과, 셀의 임계 전압은 레벨들 V1, V2, V3, V4, V5, V6, 및 V7에 의해 구분되는 별개의 전압 범위들 중 하나 내로 더 높게 이동된다. 따라서, 각각의 메모리 셀은 7개의 프로그래밍된 상태들 "1" 내지 "7" 중 하나로 프로그래밍될 수 있거나, 또는 "소거된" 상태에서 프로그래밍되지 않게 유지될 수 있다. 프로그래밍의 결과로서, 도 8b에 도시된 바와 같은 "소거된" 상태의 초기 분포는 도 8c에서 "0" 상태에 의해 표시된 바와 같이 더 좁아지게 된다. 이러한 경우, 하부, 중간, 및 상부 비트들을 갖는 3-비트 코드는 메모리 상태들(즉, "111", "011", "001", "101", "100", "000", "010", 및 "110") 각각을 표현하는 데 사용될 수 있으며, 3-비트 데이터는 또한, 7개의 서브-패스들에서 구분 임계치 값들 V1 내지 V7에 대해 각각 감지함으로써 3개의 비트들이 함께 감지되는 "풀-시퀀스" 모드에서 감지함으로써 메모리로부터 판독될 수 있다.
도 4a 및 도 4b, 도 5 및 도 6a 및 도 6b 그리고 전술한 대응하는 논의에서, NAND-유형 메모리 셀들을 포함할 수 있는 (예를 들어, x-y 평면에 놓여있는) 2차원(또는 평면) 메모리 어레이(210)가 일반적으로 설명되어 있다. 그러나, 대안적인 구성에서, 메모리 어레이는, 반도체 기판 또는 웨이퍼의 평면 표면 상에 형성되는 것과 달리, 어레이가 웨이퍼 표면으로부터 상향으로 연장되고, 상향 방향으로(예를 들어, x-y 평면에 수직인 z 방향으로) 수직으로 연장되는 메모리 셀들의 스택들 또는 열들을 포함하는 3차원 메모리 어레이의 형태로 이루어질 수 있다. 예를 들어, (위에서 설명된 NAND-유형 스트링(50)과 같은) 평면 2차원 NAND-유형 스트링과 유사한 방식으로 동작되는 NAND-유형 스트링(701)의 예시적인 실시예가 도 9에 예시되어 있다. 이러한 구성에 따르면, 메모리 셀은 수직 비트 라인(예를 들어, 로컬 비트 라인(703) 참조) 및 워드 라인(예를 들어, 워드 라인들(WL0, WL1 등) 참조)의 접합부에 형성되며, 여기서 로컬 비트 라인(703)과 교차 워드 라인 사이에 위치된 전하 트랩핑 층은 전하를 저장한다(이는, 그것이 둘러싸는 수직 비트 라인(채널)에 커플링된 워드 라인(게이트)에 의해 형성된 트랜지스터의 임계 전압을 나타냄). 수직 스트링(701)을 형성하기 위해, 워드 라인들의 스택들이 형성되고, 셀들이 형성될 적절한 위치들에서 메모리 홀들이 에칭되며, 여기서 각각의 메모리 홀은 전하 트랩핑 층으로 라이닝되고 적합한 로컬 비트 라인/채널 재료로 충전된다. 유전체 층들이 필요한 격리를 위해 포함된다. 추가로, 예를 들어 어레이의 많은 수들의 스트링들(701)을 제공하는 공통 소스 라인들 또는 비트 라인들과 같은 전도성 라인들을 포함하는 외부 요소들(709, 711)에 대한 선택적 연결 또는 그들로부터의 격리를 허용하는 선택 게이트들(705, 707)이 NAND-유형 스트링(701)의 어느 하나의 단부에 위치된다. 도 9에 예시된 특정 실시예에서, 수직 NAND-유형 스트링(701)은 (즉, 로컬 비트 라인(703)과 워드 라인들(0 내지 31) 사이의 접합부들에서) 직렬로 연결된 32개의 메모리 셀들을 갖는다. 그러나, NAND-유형 스트링(701)은 임의의 적합한 수의 메모리 셀들을 포함할 수 있다.
예를 들어, 도 1에 도시된 메모리 시스템의 전체 아키텍처를 다시 참조하면, 그러한 시스템의 메모리 어레이의 전형적인 배열의 개략도가 도 10에 예시되어 있다. 이러한 예시적인 실시예에서, 행 디코더(140) 및 열 디코더(160)에 의해 판독/기입 회로들(170)에 의해 액세스가능한 비휘발성 메모리 어레이(200)가 도시되어 있다. 이전에 위에서 설명된 바와 같이, 메모리 어레이(200)의 개별 메모리 셀들은 선택된 워드 라인(들) 및 비트 라인(들)의 세트를 통해 어드레싱가능하다. 따라서, 어드레싱된 메모리 셀들의 개개의 게이트들에 적절한 전압들을 인가하기 위해, 행 디코더(140)는 하나 이상의 워드 라인들을 선택하고 열 디코더(160)는 하나 이상의 비트 라인들을 선택한다. 추가로, 판독/기입 회로들(170)은 어드레싱된 메모리 셀들의 메모리 상태들을 판독 또는 기입하기 위해 제공되며, 여기서 판독/기입 회로들(170)은 비트 라인들을 통해 어레이(200)의 메모리 요소들에 연결가능한 다수의 판독/기입 모듈들을 포함한다. 그러한 판독/기입 모듈(190)의 개략적인 블록도가 그의 예시적인 실시예에 따라 도 11에 제공된다. 동작 시에, 판독 또는 검증 단계 동안, 감지 증폭기(150)는 선택된 비트 라인을 통해 연결되는 어드레싱된 메모리 셀의 드레인을 통해 흐르고 있는 전류를 결정한다. 감지 증폭기(150)에 의해 검출된 레벨은 데이터 래치(155)에 저장될 데이터 비트들의 세트로 레벨-비트 변환 로직에 의해 변환된다. 이제 도 10을 다시 참조하면, 판독/기입 회로들(170)은 판독/기입 스택들(180)의 뱅크들로 조직화되며, 여기서 각각의 판독/기입 스택(180)은 판독/기입 모듈들(190)의 스택이다.
이제 도 12a를 참조하면, 비휘발성 메모리 어레이(300)(2차원 또는 3차원 구성으로 이루어진 NAND-유형 SLC, MLC, TLC, 및/또는 QLC 메모리 셀들을 포함할 수 있음), 제어 회로부(310), 및 판독/기입 회로들(370)로 구성된 (예를 들어, 도 1의 메모리 디바이스(102)와 같은) 메모리 디바이스의 예시적인 실시예가 도시되어 있다. 추가로, 도시된 바와 같이, 판독/기입 회로들(370)은 분할된 판독/기입 스택들(400)의 하나 이상의 뱅크들로 구성되고, 그에 의해 메모리 셀들의 블록(또는 "페이지")이 병렬로 판독 또는 프로그래밍되게 허용하며, 여기서 예시적인 실시예에 따르면, 메모리 셀들의 "페이지"는 메모리 셀들의 인접 행을 구성한다. 메모리 어레이(300)는 행 디코더(330)를 통해 워드 라인들에 의해 그리고 열 디코더(360)를 통해 비트 라인들에 의해 어드레싱가능하다. 대안적으로, 메모리 어레이(300)는 다수의 블록들 또는 페이지들로 분할되는 메모리 셀들의 행들을 포함할 수 있다. 따라서, 그러한 예시적인 실시예에서, 판독/기입 회로들(370)을 개별 블록들에 멀티플렉싱하기 위해 블록 멀티플렉서(350)가 제공된다.
제어 회로부(310)에 관해, 그것은 메모리 어레이(300) 상에서 메모리 동작들을 수행하기 위해 판독/기입 회로들(370)과 함께 동작한다. 이러한 특정 실시예에서, 제어 회로부(310)는 상태 머신(312), 온-칩 어드레스 디코더(314), 및 전력 제어기(316)를 포함한다. 상태 머신(312)는 메모리 동작들의 칩 레벨 제어를 제공한다. 온-칩 디코더(314)는 호스트 또는 메모리 제어기에 의해 사용되는 어드레스와 디코더들(330, 360)에 의해 사용되는 하드웨어 어드레스 사이에 어드레스 인터페이스를 제공한다. 마지막으로, 전력 제어기(316)는 메모리 동작들 동안 워드 라인들 및 비트 라인들에 공급되는 전력 및 전압들을 제어한다.
도 12b는 도 12a의 메모리 디바이스의 약간 상이한 예시적인 실시예를 도시한다. 이러한 특정 실시예에서, 다양한 주변 회로들에 의한 메모리 어레이(300)에 대한 액세스는 메모리 어레이(300)의 대향 측들 상에 대칭적인 방식으로 구현된다. 그 결과, 메모리 어레이(300)의 각각의 측 상의 액세스 라인들 및 회로부는 도 12a의 구성과 비교할 때 절반으로 감소된다. 구체적으로, 행 디코더(330)는 다수의 행 디코더들(330A, 330B)로 분할되고, 열 디코더(360)는 다수의 열 디코더들(360A, 360B)로 분할된다. 더욱이, 메모리 셀들의 행이 다수의 블록들로 분할되는 그러한 실시예에서, 블록 멀티플렉서(350)는 다수의 블록 멀티플렉서들(350A, 350B)로 분할된다. 마찬가지로, 판독/기입 회로들(370)은 판독/기입 회로들(370A)(메모리 어레이(300)의 하단으로부터의 비트 라인들에 연결됨) 및 판독/기입 회로들(370B)(메모리 어레이(300)의 상단으로부터의 비트 라인들에 연결됨)로 분할된다. 따라서, 판독/기입 모듈들(뿐만 아니라 분할된 판독/기입 스택들(400))의 밀도는 본질적으로 절반만큼 감소된다.
이제 도 13을 참조하면, 도 12a의 판독/기입 스택들(400)과 같은 판독/기입 스택 내의 소정의 컴포넌트들의 예시적인 실시예가 예시되어 있다. 이러한 특정 아키텍처에 따르면, 판독/기입 스택(400)은 "k"개의 비트 라인들을 감지하기 위한 감지 증폭기들(212)의 스택, I/O 버스(231)를 통한 데이터의 입력 또는 출력을 위한 I/O 모듈(440), 입력 및/또는 출력 데이터를 저장하기 위한 데이터 래치들(430)의 스택, 데이터를 프로세싱하여 판독/기입 스택(400) 사이에 저장하기 위한 공통 프로세서(500), 및 판독/기입 스택(400) 컴포넌트들 사이의 통신을 위한 스택 버스(421)를 포함한다. 부가적으로, 스택 버스 제어기는 판독/기입 스택(400)의 다양한 컴포넌트들을 제어하기 위해 라인들(411)을 통해 제어 및 타이밍 신호들을 제공한다. 도 14a는 도 12a 및 도 12b에 도시된 메모리 디바이스들의 판독/기입 회로들(370) 사이에 도 13의 실시예의 판독/기입 스택(400)을 통합하기 위한 예시적인 실시예를 도시한다. 위에서 표시된 바와 같이, 판독/기입 스택들(400) 각각은 "k"개의 비트 라인들의 그룹 상에서 병렬로 동작한다. 따라서, 메모리 어레이(300) 내의 페이지가 p=r*k개의 비트 라인들을 가지면, "r"개의 판독/기입 스택들, 즉 판독/기입 스택들(400-1, …, 400-r)이 있을 것이다. 따라서, 병렬로 동작하는 분할된 판독/기입 스택들(400-1, …, 400-r)의 전체 뱅크는 행을 따르는 p개의 셀들의 블록(또는 페이지)이 병렬로 판독 또는 프로그래밍되게 허용하며, 셀들의 전체 행에 대한 p개의 판독/기입 모듈들이 있다. 각각의 판독/기입 스택(400-1, …, 400-r)이 "k"개의 메모리 셀을 제공함에 따라, 뱅크 내의 판독/기입 스택들의 총 수는 r=p/k로서 표현될 수 있다. 추가로, 이러한 예에 따르면, 각각의 판독/기입 스택은 대응하여, "k"개의 메모리 셀들의 세그먼트를 병렬로 제공하는 감지 증폭기들(212-1, …, 212-k)의 스택을 갖는다. 부가적으로, 각각의 판독/기입 스택은 대응하여, 데이터 래치들(430-1, …, 430-k)의 스택을 가지며, 여기서 각각의 데이터 래치는 메모리 셀과 연관된다. 그러므로, 데이터 래치들(430-1, …, 430-k)이 I/O 버스(231)를 통해 외부적으로 데이터를 교환할 수 있게 하는 I/O 모듈(440)이 있다.
여전히 도 14a를 참조하면, (라인들(311)을 통해) 메모리 제어기(310)로부터 신호들을 수신하고, 차례로 라인들(411)을 통해 판독/기입 회로들(370)에 제어 및 타이밍 신호들을 제공하는 스택 버스 제어기(410)가 또한 도시되어 있다. 판독/기입 스택들(400) 사이의 통신은 스택 버스 제어기(410)에 의해 제어되는 상호연결 스택 버스에 의해 구현된다. 따라서, 제어 라인들(411)은 스택 버스 제어기(410)로부터 판독/기입 스택들(400-1, …, 400-r)의 컴포넌트들에 제어 및 클록 신호들을 제공한다. 이러한 특정 예에서, 상호 연결 스택 버스는 LBus(또는 로컬 데이터 버스)(422) 및 DBus(또는 데이터 버스)(423)로 분할되며, 여기서 LBus(422)는 공통 프로세서(500)(소정의 실시예들에 따르면, 하나 이상의 데이터 래치 트랜지스터들을 포함하는 검출 회로의 형태로 이루어질 수 있음)와 스택 감지 증폭기들(212-1, …, 212-k) 사이의 통신을 제공하고, DBus(423)는 공통 프로세서(500)와 데이터 래치들(430-1, …, 430-k)의 스택 사이의 통신 경로를 제공한다. 공통 프로세서(500)에 관해, 그것은 에러 조건과 같은 메모리 동작의 상태 신호의 출력을 위한 출력(507)을 더 포함한다. 도 14a에 도시된 바와 같이, 이러한 상태 신호는, 예를 들어 Wired-Or 구성에서 플래그 버스(509)에 결부된 n-트랜지스터(550)의 게이트를 구동시키는 데 사용될 수 있으며, 여기서 플래그 버스(509)는 제어기(310)에 의해 사전충전될 수 있고, 상태 신호가 판독/기입 스택들(400-1, …, 400-r) 중 임의의 것에 의해 어서팅(assert)될 때 풀링 다운(pull down)된다.
추가로, (판독/기입 스택(400)에 의해 둘러싸인 바와 같은) 개별 감지 블록의 예시적인 실시예가 도 14b에 도시된다. 감지 블록(400)은 감지 모듈들(480) 또는 감지 증폭기들을 포함하는 하나 이상의 코어 부분들, 및 관리 회로(490)로 지칭되는 공통 부분으로 분할된다. 일 실시예에서, 각각의 비트 라인에 대한 별개의 감지 모듈(480) 및 다수의, 예를 들어 4개의 또는 8개의 감지 모듈들(480)의 세트에 대한 하나의 공통 관리 회로(490)가 있다. 그룹 내의 감지 모듈들 각각은 데이터 버스(472)를 통해 연관된 관리 회로와 통신한다. 따라서, 저장 요소들(10)의 세트의 감지 모듈들과 통신하는 하나 이상의 관리 회로들이 있다.
감지 모듈(480)은 연결된 비트 라인 내의 전도 전류가 미리 결정된 임계 레벨 초과인지 또는 미만인지를 결정함으로써 감지를 수행하는 감지 회로부(470)를 포함한다. 감지 모듈(480)은 또한 연결된 비트 라인 상의 전압 조건을 설정하는 데 사용되는 비트 라인 래치(482)를 포함한다. 예를 들어, 비트 라인 래치(482)에 래칭된 미리 결정된 상태는 연결된 비트 라인이 프로그램 억제를 나타내는 상태(예를 들어, 1.5 내지 3 V)로 풀링되는 것을 초래할 것이다. 예로서, 플래그(flag)=0은 프로그래밍을 억제할 수 있는 반면, 플래그=1은 프로그래밍을 억제하지 않는다.
도 14b의 예시적인 실시예에서, 관리 회로(490)는 프로세서(492), 데이터 래치들(494, 495, 496, 497)의 4개의 예시적인 세트들, 및 데이터 래치들(494 내지 497)의 세트들과 데이터 버스(231) 사이에 커플링된 I/O 인터페이스(496)를 포함한다. 데이터 래치들의 하나의 세트는 각각의 감지 모듈(480)에 대해 제공될 수 있으며, XDL, DDL, ADL, BDL, 및 CDL에 의해 식별되는 데이터 래치들은 각각의 세트에 대해 제공될 수 있다. 일부 경우들에서, 부가적인 데이터 래치들이 사용될 수 있다. 하나의 예시적인 접근법에서, 8개의 데이터 상태들을 사용하는 메모리 디바이스에서, XDL은 사용자 데이터를 저장하고, DDL은 신속 패스 기입 프로그래밍이 사용되는지 여부의 표시를 저장하고, ADL은 데이터의 하부 페이지를 저장하고, BDL은 데이터의 중간 페이지를 저장하며, CDL은 데이터의 상부 페이지를 저장한다.
프로세서(492)는, 예컨대 감지된 저장 요소에 저장된 데이터를 결정하고 결정된 데이터를 데이터 래치들의 세트에 저장하기 위해 계산들을 수행한다. 데이터 래치들(494 내지 497)의 각각의 세트는 판독 동작 동안 프로세서(492)에 의해 결정된 데이터 비트들을 저장하는 데, 그리고 기입 데이터가 메모리 내에 프로그래밍되려는 것으로 표현하는 프로그래밍 동작 동안 데이터 버스(231)로부터 임포트(import)된 데이터 비트들을 저장하는 데 사용된다. I/O 인터페이스(496)는 데이터 래치들(494 내지 497)과 데이터 버스(231) 사이에 인터페이스를 제공한다.
판독 동안, 시스템의 동작은 어드레싱된 저장 요소(10)에 대한 상이한 제어 게이트 전압들의 공급을 제어하는 상태 머신(312)의 제어 하에 있다. 그것이 메모리에 의해 지원되는 다양한 메모리 상태들에 대응하는 다양한 미리 정의된 제어 게이트 전압들을 통해 스텝형으로 진행됨에 따라, 감지 모듈(480)은 이러한 전압들 중 하나에서 트립핑(tripping)할 수 있고, 대응하는 출력이 감지 모듈(480)로부터 버스(472)를 통해 프로세서(492)로 제공될 것이다. 그 지점에서, 프로세서(492)는 감지 모듈의 트립핑 이벤트(들) 및 상태 머신으로부터 입력 라인들(493)을 통한 인가된 제어 게이트 전압에 대한 정보를 고려하여 결과적인 메모리 상태를 결정한다. 이어서, 그것은 메모리 상태에 대한 이진 인코딩을 계산하고, 결과적인 데이터 비트들을 데이터 래치들(494 내지 497)에 저장한다. 관리 회로(490)의 다른 실시예에서, 비트 라인 래치(482)는, 감지 모듈(480)의 출력을 래칭하기 위한 래치, 및 또한 위에서 설명된 바와 같은 비트 라인 래치 둘 모두로서 이중 듀티 용량(double duty capacity)에서 동작한다.
프로그램 또는 검증 동작들 동안, 프로그래밍될 데이터(기입 데이터)는 데이터 버스(231)로부터 데이터 래치들(494 내지 497)의 세트에 저장된다. 프로그래밍 동작은, 상태 머신(312)의 제어 하에서, 일련의 프로그래밍 전압 펄스들이 어드레싱된 저장 요소들의 제어 게이트들에 인가되는 것을 포함한다. 저장 요소가 원하는 메모리 상태로 프로그래밍되었는지를 결정하기 위해 각각의 프로그램 펄스에 이어서 재판독(검증)이 행해진다. 일부 경우들에서, 프로세서(492)는 원하는 메모리 상태에 대한 재판독된 메모리 상태를 모니터링한다. 2개의 상태들이 일치할 때, 프로세서(492)는 비트 라인 래치(482)를 설정하여 비트 라인이 프로그램 억제를 나타내는 상태로 풀링되게 하도록 진행한다. 이것은, 비트 라인에 커플링된 저장 요소가 추가로 프로그래밍하는 것을, 프로그램 펄스들이 그의 제어 게이트에 나타나더라도, 억제한다. 다른 실시예들에서, 프로세서는 초기에 비트 라인 래치(482)를 로딩하고, 감지 회로부는 검증 프로세스 동안 비트 라인 래치를 억제 값으로 설정한다.
언급된 바와 같이, 데이터 래치들(494 내지 497)의 각각의 세트는 각각의 감지 모듈에 대한 데이터 래치들의 스택으로서 구현될 수 있다. 하나의 예시적인 실시예에서, 감지 모듈(480)당 3개의 데이터 래치들이 있다. 일부 구현예들에서, 데이터 래치들은 그 내부에 저장된 병렬 데이터가 데이터 버스(231)에 대한 직렬 데이터로 변환되도록, 그리고 그 반대로 되도록 시프트 레지스터에 따라 구현된다. 예를 들어, M개의 저장 요소들의 판독/기입 블록에 대응하는 데이터 래치들 모두는, 데이터의 블록이 직렬 전달에 의해 입력 또는 출력될 수 있도록, 블록 시프트 레지스터를 형성하기 위해 함께 링크될 수 있다. 특히, 판독/기입 모듈들의 뱅크는 그의 데이터 래치들의 세트 각각이, 이들이 마치 전체 판독/기입 블록에 대한 시프트 레지스터의 일부인 것처럼, 순차적으로 데이터 버스 내로 또는 데이터 버스 외부로 데이터를 시프트하도록 구성될 수 있다.
데이터 래치들은 연관된 저장 요소(10)가 프로그래밍 동작에서 소정의 이정표(milepost)들에 언제 도달했는지를 식별한다. 예를 들어, 래치들은 저장 요소의 Vth가 특정 검증 레벨 미만인지를 식별할 수 있다. 데이터 래치들은 저장 요소가 데이터의 페이지로부터 하나 이상의 비트들을 현재 저장하는지 여부를 표시한다. 예를 들어, 하나의 예시적인 실시예에 관해, ADL 래치는 하부 페이지 비트가 연관된 저장 요소에 저장될 때 (예를 들어, 0으로부터 1로) 플립(flip)된다. 추가로, BDL 래치는 중간 페이지 비트가 연관된 저장 요소에 저장될 때 플립된다. 그리고, CDL 래치는 상부 페이지 비트가 연관된 저장 요소에 저장될 때 플립된다. Vth가 연관된 검증 레벨을 초과할 때, 비트가 저장 요소에 저장된다.
이제 도 15를 참조하면, 판독/기입 회로들(870)에 의해 액세스가능한 비휘발성 메모리 어레이(800)의 추가적인 예시적인 실시예가 도시되어 있다. 도 10의 실시예의 메모리 어레이(200)와 유사하게, 메모리 어레이(800)의 개별 메모리 셀들은 행 디코더(840) 및 열 디코더(860)에 의해, 선택된 워드 라인(들) 및 비트 라인(들)의 세트를 통해 어드레싱가능하다. 따라서, 어드레싱된 메모리 셀들의 개개의 게이트들에 적절한 전압들을 인가하기 위해, 행 디코더(840)는 하나 이상의 워드 라인들을 선택하고 열 디코더(860)는 하나 이상의 비트 라인들을 선택한다. 추가로, 판독/기입 회로들(870)은 어드레싱된 메모리 셀들의 메모리 상태들을 판독 또는 기입하기 위해 제공되며, 여기서 판독/기입 회로들(870)은 비트 라인들을 통해 어레이(800)의 메모리 요소들에 연결가능한 다수의 판독/기입 모듈들을 포함한다. 이러한 특정 구성은 도 6a 및 도 6b에 도시된 실시예에 따른 메모리 블록 구조물(210)을 구현하기 위한 일 예이다.
이제 도 16a 및 도 16b를 참조하면, 메모리 어레이(800)의 비트 라인들(BL)의 세그먼트에 대해 예시된, 도 15의 판독/기입 회로들(870)과 같은 판독/기입 회로의 소정의 컴포넌트들의 예시적인 실시예가 도시되어 있다. 이러한 특정 아키텍처에 따르면, 판독/기입 회로(900)는 하나 이상의 판독/기입 모듈들을 포함할 수 있으며, 이때 각각의 모듈은 (예를 들어, "모든 비트 라인 방식"에 따라) "p"개의 비트 라인들 중 하나를 감지하기 위한 감지 증폭기(912), 입력 및/또는 출력 데이터를 저장하기 위한 데이터 래치들(930)의 스택, 및 데이터 래치들(930)을 감지 증폭기(912)에 연결시키는 로컬 버스(902)를 포함한다. 추가로, 판독/기입 회로(900)는 판독/기입 모듈들 사이의 통신들을 위한 데이터 버스(921)를 포함할 수 있으며, 여기서 데이터 버스(921)는 공통 프로세서(950) 및 데이터 래치들(940)의 외부 세트에 연결될 수 있다. 구체적으로, 공통 프로세서(950) 및 외부 데이터 래치들(940)은 데이터를 프로세싱하여 판독/기입 모듈들 사이에 저장할 뿐만 아니라, 판독/기입 회로(900)의 다양한 컴포넌트들에 제어 및 타이밍 신호들을 제공할 수 있다. 부가적으로, 도 16b는, 예를 들어 도 15의 메모리 어레이(800)의 판독/기입 회로들(870) 및 열 디코더(860)를 포함하는 회로부 부분(960)의 일 실시예의 개략도이다. 따라서, 도 16a 및 도 16b에 도시된 특정 실시예에서, 로직 동작들은 데이터 버스(921) 및 데이터 래치들(940)의 외부 세트의 트랜지스터들을 사용하여, 그리고 공통 프로세서(950)에 의해 구현되는 바와 같이 수행된다. 추가로, 검출 회로(950)는 메모리 어레이(800)의 각각의 평면과 연관될 수 있어서, 검출 회로(950)로부터의 피드백이 상태 머신으로 (예를 들어, 도 14a의 상태 머신(312)에 대한, 예를 들어 플래그 버스(509)를 통해) 중계되게 한다.
위의 논의는 비휘발성 메모리 시스템들 및 디바이스들의 단지 수 개의 비제한된 실시예들을 설명한다. 이들 시스템들 및 디바이스들 중 임의의 것 뿐만 아니라 다른 예시적인 실시예들은 이전에 언급된 바와 같이, 이진 형태들(SLC) 및 다중-상태 또는 다중-레벨(MLC 또는 TLC) 형태들 둘 모두로 동작할 수 있다. 예를 들어, 데이터가 다중-상태 형태와 비교하여 이진 형태로 더 빠르게 그리고 더 적은 임계 허용오차들로(즉, 더 큰 신뢰도로) 기입되거나 프로그래밍될 수 있으므로, 메모리 디바이스는, 데이터가 호스트로부터 수신될 때 데이터를 이진 형태로 초기에 프로그래밍하고, 이어서 후속 시간에 데이터를 다중-상태 포맷으로 재기입하여, 더 큰 저장 밀도를 이용하도록 구성될 수 있다. 따라서, 이들 유형들의 메모리 디바이스들에서, 일부 메모리 셀들은 단일-상태 형태로 사용될 수 있고, 다른 메모리 셀들은 다중-상태 형태로 사용될 수 있거나, 또는 동일한 셀들은 상이한 수들의 비트들을 저장하도록 동작될 수 있다. 이진 포맷으로부터 다중-상태 포맷으로 데이터를 재기입하기 위한 프로세스는 "폴딩"으로 지칭된다. 폴딩 프로세스의 예시적인 실시예에 따르면, 데이터는 초기에 메모리 제어기(예를 들어, 제어기(310))로부터 메모리로 전달되며, 메모리 어레이(예를 들어, 어레이(300))의 워드 라인들을 따라 이진 포맷으로 기입된다. 예를 들어, 셀당 3개의 비트들의 다중-상태 형태에서, 3개의 워드 라인들의 콘텐츠는 각각, 대응하는 레지스터들 내로 판독되고, 각각의 셀에 저장될 3개의 비트들에 대응하도록 재배열되며, 셀 포맷당 3-비트로 메모리 어레이의 단일 워드 라인에 다시 재기입될 것이다. 이러한 시나리오는, 도 17 및 도 18에 도시된 별개의 프로그래밍 프로세스들 사이의 비교를 사용하여 예시되어 있다. 도 17은, 8개의 프로그래밍 상태들(1 내지 8)로 구성되는 데이터의 3-페이지 세트(1000)가 단일 워드 라인(예를 들어, "WLn", 여기서 "n"은 0 또는 그 이상의 임의의 정수임)으로 프로그래밍되는 간단한 TLC 프로그래밍 프로세스의 예시적인 실시예를 도시한다. 따라서, 각각의 프로그래밍 상태의 3개의 비트들(즉, 하부 페이지, 중간 페이지, 및 상부 페이지 비트들)은, 각각의 메모리 셀이 8개의 프로그래밍 상태들(1, 2, 3, 4, …, 8) 중 하나에 따라 프로그래밍되도록, 선택된 워드 라인의 단일 메모리 셀 내에 프로그래밍된다. 따라서, 이러한 TLC 프로그래밍 스킴을 사용하면, 유효 저장 밀도는, 각각의 메모리 셀이 단지 하나의 비트만을 저장하는 이진 SLC 프로그래밍 스킴에 비해 3배 증가된다. 그러나, 위에서 언급된 바와 같이, 다중-상태 프로그래밍 프로세스에서의 증가된 복잡성의 결과는 SLC 프로그래밍 프로세스와 비교할 때 더 느린 프로그래밍 시간이다. 사실상, 소정의 조건들 하에서, TLC 프로그래밍 프로세스는 SLC 또는 MLC 프로그래밍 스킴에 따라 동일한 양의 데이터를 달리 프로그래밍하는 데 필요한 시간의 양의 대략 3배를 요구할 수 있다. 따라서, 위에서 설명된 바와 같이, 이러한 네거티브 성능 효과를 극복하기 위한 하나의 예시적인 접근법은, 예를 들어 단일-상태 및 다중-상태 프로그래밍 스킴들 둘 모두를 이용하는 하이브리드 2-스테이지 솔루션인 "폴딩" 스킴을 이용하는 것이다. 제1 스테이지(1002a)에서, 각각의 페이지(도 18에서 제1 데이터, 제2 데이터, 및 제3 데이터로 지칭됨)가 셀당 하나의 비트로 그 개개의 워드 라인(예를 들어, WLn+1, WLn, 및 WLn-1 참조)을 따라 프로그래밍되도록, 이진 SLC 프로그래밍 스킴에 따라 3-페이지 데이터 세트(1000)가 프로그래밍되는 폴딩 스킴의 하나의 예시적인 실시예가 도 18에 도시되어 있다. 후속하여, 제2 스테이지(1002b)에서, 제1 스테이지로부터의 이진 프로그래밍된 데이터는 메모리 시스템의 내부 동작에 따라 TLC 프로그래밍 프로세스에서 단일 선택된 워드 라인(예를 들어, WLx 참조)의 셀당 3개의 비트들에 따라 패킹된다.
이제 도 19를 참조하면, 예를 들어 도 18에 관해 위에서 설명된 프로그래밍 메모리 동작에서 이용될 수 있는 온-메모리 폴딩 프로세스의 예시적인 실시예가 도시되어 있다. 표시된 바와 같이, 데이터는 제어기 또는 호스트로부터 수신되며, 대표적인 메모리 블록(611)의 "N"개의 워드 라인들을 따라 이진 포맷(SLC)으로 초기에 프로그래밍된다. 그 후, "N"개의 워드 라인들의 콘텐츠는 다른 대표적인 메모리 블록(621)의 단일 워드 라인을 따라 셀 포맷당 다중-상태(MLC) "N"-비트로 재기입되며, 여기서 이러한 "폴딩" 프로세스는 메모리 자체 상에서 달성된다. 이러한 특정 예에서, 이진 포맷팅된 블록(611)의 3개의 워드 라인들(613, 615, 617)은 폴딩 프로세스를 겪고, 셀 포맷팅된 블록(621)당 다중-상태 3-비트의 단일 워드 라인(623)을 따라 재기입된다(즉, N=3). 블록(611)은 단지 이진 모드로 동작하도록 특정하게 할당될 수 있거나, 또는 예를 들어, 다수의 논리 페이지들 중 단지 최저의 페이지가 물리적 페이지 상에 저장가능하게 함으로써 MLC 모드로 동작가능한 블록일 수 있다. 유사하게, 블록(621)은 다중-상태 동작만을 위해 할당될 수 있거나, 또는 이진 모드로 또한 동작가능할 수 있다. 도 20은 도 19에 도시된 예시적인 폴딩 프로세스에서의 데이터의 재배열 및 재기입의 예시적인 실시예를 도시하며, 여기서 이진 포맷의 3개의 이진 워드 라인들이 후속하여 단일의 다중-상태 워드 라인으로 폴딩된다. 따라서, 도 20의 상단에는 3개의 이진 상태 워드 라인들(613, 615, 617)이 있으며, 여기서 각각의 워드 라인은, 예를 들어 3개의 부분 a, b 및 c로 분할되고, 각각의 세그먼트는 비트 라인들의 대응하는 1/3을 따라 메모리 셀들의 1/3을 포함한다(여기서, 연속된 것으로 취해짐). 추가로, 도 20의 하단에는 다중-상태 워드 라인(623)이 있으며, 여기서 제1 워드 라인(613)의 3개의 부분들(613a 내지 613c)이 후속하여 폴딩되고 워드 라인(623)의 처음 1/3 내에 기입되고, 그 후, 제2 워드 라인(615)의 3개의 부분들(615a 내지 615c)이 폴딩되고 워드 라인(623)의 두번째 1/3 내에 기입되며, 마지막으로, 제3 워드 라인(617)의 3개의 부분들(617a 내지 617c)이 폴딩되고 워드 라인(623)의 최종 1/3 내에 기입된다. 중요하게는, 3개의 물리적 페이지들로부터 단일 물리적 페이지 상의 다중-상태 포맷으로 재기입되는 데이터의 3개의 페이지들이 있는 경우를 도 19 및 도 20의 예시적인 실시예들이 도시하지만, 다른 수들의 저장 밀도들이 사용될 수 있다. 부가적으로, 전체 워드 라인들(여기서 각각은 페이지에 대응함)이 도시되어 있지만, 부분 페이지 동작을 허용하는 메모리 시스템에서, 부분 페이지들이 사용될 수 있다. 마지막으로, 워드 라인을 따르는 메모리 셀들이 인접 비트 라인들을 따라 세그먼트들로 분할되는 경우를 도 20이 강조하지만, 다른 배열들이 사용될 수 있다.
위에서 표시된 바와 같이, 폴딩 프로세스는, 호스트로부터의 수신된 데이터가 그것이 다중-상태 포맷으로 메모리 어레이 내에 재기입될 수 있기 전에 먼저 메모리 외부로 전달될 필요가 없도록 메모리 자체 상에서 수행된다. 이러한 능력은, 예를 들어 다수의 이진 상태 워드 라인들(예를 들어, 613, 615, 617)의 데이터를 메모리 어레이와 연관된 대응하는 레지스터들(또는 래치들) 내로 판독함으로써 구현되고, 다중-상태 프로그래밍을 위해 필요한 형태로 이들 레지스터 내에 재배열되며, 이어서 다중-상태 메모리 블록의 단일 워드 라인(예를 들어, 623) 내에 재기입될 수 있다. 따라서, 도 19 및 도 20에 도시된 실시예에서, 동일한 워드 라인 상에 있지만 상이한 비트 라인들을 따르는 여러 개의 메모리 셀들(구체적으로는 3개)의 이진 콘텐츠는 연관된 데이터 레지스터들 또는 래치들로 판독되고, 이어서, 그 콘텐츠가 기입될 수 있는 대응하는 단일 비트 라인 상의 단일 셀의 다중-비트들에 대응하도록 재배열된다.
"폴딩" 프로세스가 초기 이진(SLC) 프로그래밍 스테이지와 제2 다중-상태(MLC, TLC, 또는 QLC) 재기입 스테이지의 결합을 통해, 비교적 더 빠른 프로그래밍 속도 및 더 큰 저장 용량 또는 밀도의 이중 이득들을 제공하지만, 단점은, 프로세스가 단지 단일 스테이지보다는 적어도 2개의 스테이지들을 요구하고, 그에 의해 복잡성 및 결과적인 시간의 양을 프로세싱 속도에 추가한다는 사실에 있다. 따라서, 폴딩 프로세스의 프로그래밍 및 재기입 스테이지들 중 어느 하나 또는 둘 모두를 추가로 최적화할 수 있는 것이 유리할 것이다. 도 21a 내지 도 21d는 폴딩 프로세스의 초기 이진(SLC) 프로그래밍 스테이지의 속도 및 효율을 개선시키기 위한 메커니즘의 예시적인 실시예를 도시한다. 이러한 특정 실시예에 따르면, 폴딩 동작의 초기 프로그래밍 스테이지는, 예를 들어 2개의 SLC 프로그래밍 동작들을 사용하는 메모리 블록의 2개의 메모리 셀 스트링들의 2개의 워드 라인들(WL)을 따른 3-페이지 데이터 세트(예를 들어, 도 17 및 도 18의 데이터 세트(1000))의 기입을 포함할 수 있으며, 여기서 2개의 스트링들의 공통 워드 라인(WL)에 속하는 메모리 셀들은 동시에 프로그래밍된다. 도 6a 및 도 6b의 메모리 구조 실시예의 경우, 2개의 메모리 셀 스트링들이 인접할 수 있다. 그러나, 2개의 셀 스트링들은, 예를 들어 도 4a 및 도 4b 및 도 5의 메모리 구조 실시예에 대해 인접하지 않을 수 있다. 도 21a 내지 도 21d에 예시된 바와 같이, 도시된 2개의 인접 셀 스트링들(1010, 1012) 각각의 선택 트랜지스터들(SGD1, SGD2)에서 비트 라인 전압(VBL) 및 제어 게이트 전압을 변경함으로써, 결과적인 조합들 또는 반복들의 수는 3개의 별개의 비트 값들을 표현하도록 메모리 구조를 프로그래밍하는 것을 가능하게 한다.
도 21a는, 각각 제1 셀 스트링(1010) 및 제2 셀 스트링(1012)의 개개의 제어 게이트 전압들, 즉 SGD1 및 SGD2가 미리 결정된 전압 레벨(예를 들어, SGD1 = 1.5 V; SGD2 = 1.0 V)로 설정되고, 비트 라인 전압(VBL)이 제1 및 제2 스트링들 둘 모두에서 "A" 볼트로 동시에 인가되어, 스트링들 둘 모두에 공통인 선택된 워드 라인(WLn)의 메모리 셀들에 대해 "억제" 조건이 발생되게 하는 제1 프로그래밍 패턴을 예시한다. 다시 말하면, "A" 볼트의 인가는, 제어 게이트 전압들(SGD1, SGD2)과 비트 라인 전압(VBL)(즉, "A" 볼트) 사이의 전압 차이가 충분히 낮아서, 2개의 선택 트랜지스터들이 오프 상태에 있게 되고, 그 결과, 메모리 셀 스트링들(1010, 1012) 둘 모두가 "억제" 상태에 있게 되도록 이루어진다. 이러한 특정 예의 목적들을 위해, 비트 라인 전압(VBL) "A"는 2.0 V와 동일할 수 있다. 그러므로, (1, 1) 비트 데이터 값은 이러한 특정 프로그래밍 스킴에 의해 표현될 수 있다.
도 21b에는, 선택 트랜지스터들에서 미리 결정된 전압들(SGD1, SGD2)이 주어지면, 비트 라인 전압(VBL)이 전압 레벨("B")로 제1 및 제2 스트링들(1010, 1012) 둘 모두에 동시에 인가되는 제2 프로그래밍 패턴이 도시되어 있으며, 여기서 제어 게이트 전압들(SGD1, SGD2)과 비트 라인 전압(VBL) 사이의 전압 차이는, 제1 스트링(1010)의 선택 트랜지스터(SGD1)가 (공통 워드 라인(WLn)에 위치된 메모리 셀(1020)에서 "프로그램" 조건을 생성하는) 온 상태로 효과적으로 스위칭되고 선택 트랜지스터(SGD2)가 오프 상태로 유지되어, (공통 워드 라인(WLn)에 위치된 메모리 셀(1022)에서) "억제" 조건을 유지하도록 이루어진다. 이러한 특정 예가 주어지면, 전압들("A", "C") 사이의 중간 전압인 비트 라인 전압(VBL) "B"(아래의 도 21c의 논의를 참조)는, 예를 들어 0.7 V와 동일할 수 있다. 그 결과, (0, 1) 비트 데이터 값은 이러한 특정 프로그래밍 스킴에 의해 표현될 수 있다.
도 21c에 관해, 제1 및 제2 스트링 선택 트랜지스터들에서 미리 결정된 게이트 전압들(SGD1, SGD2)이 다시 주어지면, 비트 라인 전압(VBL)이 제1 및 제2 스트링들(1010, 1012) 둘 모두에 "C" 볼트로 동시에 인가되어, 스트링들 둘 모두가 온 상태로 전환되는 제3 프로그래밍 패턴이 도시되어 있다. 그 결과, 제1 및 제2 스트링들의 메모리 셀들(1030, 1032)(공통 선택된 워드 라인(WLn)에 위치됨)은 각각, "프로그램" 조건을 경험한다. 이러한 특정 예의 목적들을 위해, 비트 라인 전압(VBL) "C"는, 예를 들어 0 볼트(VSS)와 동일할 수 있다. 따라서, (0, 0) 비트 데이터 값은 이러한 특정 프로그래밍 스킴에 의해 표현될 수 있다.
비트 데이터 값들의 최종 반복은 생각컨대 (1, 0) 패턴이다. 이러한 패턴은 도 21d에 예시되어 있다. 그러나, 게이트 전압들(SGD1, SGD2)이 미리 결정되고, 프로그래밍 동작 동안 변경될 수 없기 때문에, 제1 스트링(1010)에서 "억제" 조건을 그리고 제2 스트링(1012)에서 "프로그램" 조건을 생성하여 (1, 0) 비트 데이터 값을 달성하기 위한 가능한 선택가능 비트 라인 전압(VBL) 레벨이 없다. 따라서, 본 명세서에 설명된 SLC 프로그래밍 메커니즘은 "3-값" 프로그래밍 스킴으로 지칭될 수 있다.
이제 도 22를 참조하면, 도 21a 내지 도 21d에 관해 위에서 설명된 2-스트링 동시 SLC 프로그래밍 메커니즘을 사용하여 예시적인 3-페이지 데이터 세트(1050)를 프로그래밍하기 위한 프로세스의 예시적인 실시예가 예시되어 있다. 예시의 목적들을 위해, 도 22는 패턴(0, 0, 0)을 갖는 호스트 또는 사용자 데이터 값의 예시적인 경우에 구체적으로 포커싱된다(1060 참조). 초기 단계에서, 3-페이지 데이터 세트(1050)는, 3-페이지 데이터 세트의 각각의 데이터 패턴이 단지 바로 위에서 설명된 프로그래밍 메커니즘에 따라 2-스트링 스킴에 기입될 수 있는 2개의 비트 데이터 값들의 세트(1055)에 의해 표현되도록, 메모리 시스템 내에서 알고리즘적으로 변환되어야 한다. 구체적으로, 3-페이지 데이터 세트(1050)의 각각의 패턴은 대응하여, (0, 0), (0, 1), 및 (1, 1)의 3개의 가능한 비트 데이터 값들만을 사용하여 대표적인 2-비트 데이터 값 또는 값들을 할당받아야 한다. 따라서, 3-페이지 데이터 패턴 (0, 0, 0)의 예시적인 경우에 관해, 그것은, 예를 들어 (도 22에 도시된 바와 같이) (0, 0) 및 (0, 1)의 2-비트 데이터 값들의 조합으로 변환될 수 있으며, 여기서 "1" 비트 데이터 값은 그에 의해, 낮은 임계 전압(Vth) 조건에 대응하고, 그러므로 "0" 비트 데이터 값은 높은 임계 전압(Vth) 조건에 대응한다. 후속하여, 변환된 데이터 패턴들 (0, 0) 및 (0, 1)은 선택된 공통 워드 라인들(즉, WLi 및 WLi+1)에서 2개의 인접 메모리 셀 스트링들(1040, 1042)에 동시에 기입될 수 있다. 따라서, 이러한 2-스트링 프로그래밍 접근법을 사용하고 2개의 워드 라인들(WLi, WLi+1)을 조합하면, 3-페이지 데이터 세트(예를 들어, 세트(1050))는 도 22에 기재된 9개의 변환 조합들(1055)에 따라, 적절히 표현되고 후속하여 프로그래밍될 수 있다.
소정의 예시적인 실시예들에 따르면, 그러한 변환은 데이터 래치 스킴을 사용하여 구현될 수 있다. 예를 들어, 먼저 3-페이지 사용자 데이터(1050)를 저장하기 위해, 제1, 제2, 및 제3 데이터가 각각 데이터 래치들(ADL, BDL, CDL)에 저장될 수 있다. 제2 단계에서, 데이터 버스에 부착된 그리고/또는 데이터 래치들의 외부 세트로 구성된 트랜지스터들과 관련된 공통 프로세서(예를 들어, 500)는 사용자 데이터(1050)를 변환된 2-비트 데이터 값 표현들(1055)로 변환하기 위해 필요한 논리 동작들을 수행할 수 있으며, 그 변환된 데이터(1055)는, 예를 들어 필요에 따라 데이터 래치들(ADL, BDL, CDL, DDL)을 사용하여 저장될 수 있다. 마지막으로, 저장된 변환된 데이터는 이어서, 도 21a 내지 도 21d에 관해 위에서 설명된 바와 같이 비트 라인 레벨들을 결정하는 데 사용된다.
다시 도 21a 내지 도 21d에 도시된 예시적인 실시예를 참조하면, 기존의 구성들이 동시에 동일한 워드 라인을 따라 다수의 메모리 스트링들을 동시에 검증할 수 없기 때문에, 프로그래밍 동작 동안 필요한 검증 단계를 수행하기 위한 능력에 관해 명백한 문제가 발생한다. 그러나, 신중한 검사 시에, 이러한 프로그래밍 스킴은 실제로, 단지 제1 스트링만의 전압 분포의 검증 결과에 기초하여, 위에서 논의된 2-스트링 프로그래밍 스킴에서 제2 스트링의 전압 분포를 요약적으로 이어서 결정하는 것이 가능한 예측 메커니즘을 제공한다. 구체적으로, 도 21a에서 나타낸 프로그래밍 조건에서, 여기에서는 제1 스트링(1010)이 오프 상태에 있으며, 따라서 2개의 셀들이 비교적 가까운 물리적 근접도로 위치되고 유사한 물리적 형상 및 특성들을 갖는다는 사실에 기초하여 제2 스트링(1012)이 또한 오프 상태에 있다고 자명하게 결정될 수 있다. 추가로, 도 21b에서 나타낸 프로그래밍 조건에 관해, 종래의 검증 동작은, 제2 스트링(1012)이 오프 상태에(즉, "억제" 조건에) 있고, 따라서 검증 동작을 필요로 하지 않는다는 사실로 인해 충분할 것이다. 부가적으로, 도 21c에서 나타낸 프로그래밍 조건에 관해, 검증 동작은 제1 스트링(1010)이 온 상태에(즉, "프로그램" 조건에) 있다는 것을 나타낸다. 그러므로, 도 21a 내지 도 21d 및 도 22에 관해 위에서 서술된 바와 같이 이용가능한 가능성들에 기초하여, 제2 스트링(1012)에 걸친 전압 분포가 또한 온 상태에 유사하게 있다고 가정될 수 있다.
위에서 설명된 멀티-스트링 동시 SLC 프로그래밍 메커니즘은 3-페이지 호스트 또는 사용자 데이터의 프로그래밍으로 제한되지 않는다. 오히려, 하나 초과의 메모리 셀 스트링의 2개의 공통 워드 라인들(WL)에 걸쳐 다수의 SLC 프로그래밍 동작들을 동시에 수행하는 이러한 기본적인 근본 메커니즘은 더 높은 저장 밀도의 데이터 세트들에 대해 적응될 수 있다. 예를 들어, 도 23은, 결과적인 변환된 데이터가 QLC 포맷으로 저장되는 내부 폴딩 프로세스에서 4-페이지 호스트 또는 사용자 데이터를 프로그래밍하도록 적응된 바와 같은 SLC 프로그래밍 메커니즘의 예시적인 실시예를 도시한다. 따라서, 변환된 비트 데이터 값들의 충분한 수의 가능한 반복들 또는 조합들을 제공하여, 발생한 4-페이지 호스트 또는 사용자 데이터 비트 값들을 완전히 커버하기 위해, 도 23에 도시된 바와 같이, 3개의 인접 메모리 스트링들(SGD1, SGD2, SGD3)의 2개의 공통 워드 라인들에 걸쳐 SLC 프로그래밍 프로토콜을 동시에 적용하는 것이 필요하다.
위의 논의는 본 발명의 원리들 및 다양한 실시예들의 예시임을 의미한다. 일단 위의 개시내용이 완전히 이해되면 다수의 변형들 및 수정들이 당업자들에게 명백해질 것이다. 예를 들어, 온-메모리 제어기들이 위에서 설명된 방법들을 수행 또는 제어하는 것으로 설명되었지만, 호스트 시스템 내에서 소프트웨어를 실행하는 임의의 프로세서는 본 개시내용의 범주로부터 벗어나지 않으면서 위에서 설명된 방법들을 수행할 수 있다. 특히, 온-메모리 제어기(들)에서 수행되는 것으로 본 명세서에 설명된 방법들 및 기법들은 또한 호스트에서 수행될 수 있다. 더욱이, 본 명세서에 개시된 방법들 및 개념들은 플래시 이외의 다른 유형들의 영구 메모리들에 적용될 수 있다. 다음의 청구범위는 모든 그러한 변형들 및 수정들을 망라하는 것으로 해석되도록 의도된다.

Claims (20)

  1. 비휘발성 메모리 시스템의 메모리 어레이에서 데이터의 3 페이지 세트를 프로그래밍하기 위한 방법으로서,
    사용자 데이터의 3 페이지 세트의 각각의 3-비트 값 데이터 패턴을 2-비트 데이터 값들의 대표적인 쌍으로 변환하는 단계;
    상기 대표적인 2-비트 데이터 값들의 쌍 중 제1 대표적인 2-비트 데이터 값을 이용하여 2개의 단일-상태 메모리 셀들을 동시에 프로그래밍하는 단계 - 상기 2개의 단일-상태 메모리 셀들은 2개의 메모리 셀 스트링들의 제1 공통 워드 라인을 따라 위치됨 -; 및
    상기 대표적인 2-비트 데이터 값들의 쌍 중 제2 대표적인 2-비트 데이터 값을 이용하여 2개의 단일-상태 메모리 셀들을 동시에 프로그래밍하는 단계 - 상기 2개의 단일-상태 메모리 셀들은 상기 2개의 메모리 셀 스트링들의 제2 공통 워드 라인을 따라 위치됨 - 를 포함하는, 데이터의 3 페이지 세트를 프로그래밍하기 위한 방법.
  2. 제1항에 있어서,
    상기 대표적인 2-비트 데이터 값들의 쌍 중 상기 제1 대표적인 2-비트 데이터 값 및 상기 제2 대표적인 2-비트 데이터 값의 상기 프로그래밍은 동시에 발생하는, 데이터의 3 페이지 세트를 프로그래밍하기 위한 방법.
  3. 제1항에 있어서,
    상기 2개의 메모리 셀 스트링들은 서로 인접하게 위치되고;
    상기 단일-상태 메모리 셀들의 상기 프로그래밍은 상기 2개의 인접 메모리 셀 스트링들에 인가되는 비트 라인 전압을 변경하는 단계를 포함하는, 데이터의 3 페이지 세트를 프로그래밍하기 위한 방법.
  4. 제1항에 있어서,
    상기 단일-상태 메모리 셀들의 상기 프로그래밍은 상기 2개의 메모리 셀 스트링들에 비트 라인 전압을 인가하여,
    상기 2개의 메모리 셀 스트링들 중 제1 메모리 셀 스트링이 오프 상태에 있게 하고;
    상기 2개의 메모리 셀 스트링들 중 제2 메모리 셀 스트링이 오프 상태에 있게 하는 단계를 포함하는, 데이터의 3 페이지 세트를 프로그래밍하기 위한 방법.
  5. 제1항에 있어서,
    상기 단일-상태 메모리 셀들의 상기 프로그래밍은 상기 2개의 메모리 셀 스트링들에 비트 라인 전압을 인가하여,
    상기 2개의 메모리 셀 스트링들 중 제1 메모리 셀 스트링이 온 상태에 있게 하고;
    상기 2개의 메모리 셀 스트링들 중 제2 메모리 셀 스트링이 오프 상태에 있게 하는 단계를 포함하는, 데이터의 3 페이지 세트를 프로그래밍하기 위한 방법.
  6. 제1항에 있어서,
    상기 단일-상태 메모리 셀들의 상기 프로그래밍은 상기 2개의 메모리 셀 스트링들에 비트 라인 전압을 인가하여,
    상기 2개의 메모리 셀 스트링들 중 제1 메모리 셀 스트링이 온 상태에 있게 하고;
    상기 2개의 메모리 셀 스트링들 중 제2 메모리 셀 스트링이 온 상태에 있게 하는 단계를 포함하는, 데이터의 3 페이지 세트를 프로그래밍하기 위한 방법.
  7. 제1항에 있어서,
    상기 2-비트 데이터 값들은,
    1, 1;
    0, 1; 및
    0, 0
    중 하나인, 데이터의 3 페이지 세트를 프로그래밍하기 위한 방법.
  8. 제1항에 있어서,
    상기 단일-상태 메모리 셀들은 NAND-유형 메모리 셀들인, 데이터의 3 페이지 세트를 프로그래밍하기 위한 방법.
  9. 메모리 제어기로서,
    비휘발성 메모리 구조물에 커플링하도록 구성된 제1 포트를 포함하며,
    상기 메모리 구조물은 메모리 어레이를 포함하고,
    상기 메모리 제어기는,
    사용자 데이터의 3 페이지 세트의 각각의 3-비트 값 데이터 패턴을 2-비트 데이터 값들의 대표적인 쌍으로 변환하고;
    상기 대표적인 2-비트 데이터 값들의 쌍 중 제1 대표적인 2-비트 데이터 값을 이용하여 2개의 단일-상태 메모리 셀들을 동시에 프로그래밍하며 - 상기 2개의 단일-상태 메모리 셀들은 상기 메모리 어레이의 2개의 메모리 셀 스트링들의 제1 공통 워드 라인을 따라 위치됨 -;
    상기 대표적인 2-비트 데이터 값들의 쌍 중 제2 대표적인 2-비트 데이터 값을 이용하여 2개의 단일-상태 메모리 셀들을 동시에 프로그래밍하도록 - 상기 2개의 단일-상태 메모리 셀들은 상기 2개의 메모리 셀 스트링들의 제2 공통 워드 라인을 따라 위치됨 - 구성되는, 메모리 제어기.
  10. 제9항에 있어서,
    상기 대표적인 2-비트 데이터 값들의 쌍 중 상기 제1 대표적인 2-비트 데이터 값 및 상기 제2 대표적인 2-비트 데이터 값은 동시에 프로그래밍되는, 메모리 제어기.
  11. 제9항에 있어서,
    상기 2개의 메모리 셀 스트링들은 서로 인접하게 위치되고;
    상기 단일-상태 메모리 셀들은 상기 2개의 인접 메모리 셀 스트링들에 인가되는 비트 라인 전압을 변경함으로써 프로그래밍되는, 메모리 제어기.
  12. 제9항에 있어서,
    상기 단일-상태 메모리 셀들은 상기 2개의 메모리 셀 스트링들에 비트 라인 전압을 인가함으로써 프로그래밍되어,
    상기 2개의 메모리 셀 스트링들 중 제1 메모리 셀 스트링이 오프 상태에 있게 하고;
    상기 2개의 메모리 셀 스트링들 중 제2 메모리 셀 스트링이 오프 상태에 있게 하는, 메모리 제어기.
  13. 제9항에 있어서,
    상기 단일-상태 메모리 셀들은 상기 2개의 메모리 셀 스트링들에 비트 라인 전압을 인가함으로써 프로그래밍되어,
    상기 2개의 메모리 셀 스트링들 중 제1 메모리 셀 스트링이 온 상태에 있게 하고;
    상기 2개의 메모리 셀 스트링들 중 제2 메모리 셀 스트링이 오프 상태에 있게 하는, 메모리 제어기.
  14. 제9항에 있어서,
    상기 단일-상태 메모리 셀들은 상기 2개의 메모리 셀 스트링들에 비트 라인 전압을 인가함으로써 프로그래밍되어,
    상기 2개의 메모리 셀 스트링들 중 제1 메모리 셀 스트링이 온 상태에 있게 하고;
    상기 2개의 메모리 셀 스트링들 중 제2 메모리 셀 스트링이 온 상태에 있게 하는, 메모리 제어기.
  15. 비휘발성 메모리 시스템으로서,
    메모리 어레이;
    메모리 구조물에 커플링된 메모리 제어기를 포함하며,
    상기 메모리 제어기는,
    사용자 데이터의 3 페이지 세트의 각각의 3-비트 값 데이터 패턴을 2-비트 데이터 값들의 대표적인 쌍으로 변환하고;
    상기 대표적인 2-비트 데이터 값들의 쌍 중 제1 대표적인 2-비트 데이터 값을 이용하여 2개의 단일-상태 메모리 셀들을 동시에 프로그래밍하며 - 상기 2개의 단일-상태 메모리 셀들은 상기 메모리 어레이의 2개의 메모리 셀 스트링들의 제1 공통 워드 라인을 따라 위치됨 -;
    상기 대표적인 2-비트 데이터 값들의 쌍 중 제2 대표적인 2-비트 데이터 값을 이용하여 2개의 단일-상태 메모리 셀들을 동시에 프로그래밍 - 상기 2개의 단일-상태 메모리 셀들은 상기 2개의 메모리 셀 스트링들의 제2 공통 워드 라인을 따라 위치됨 - 하는, 비휘발성 메모리 시스템.
  16. 제15항에 있어서,
    상기 대표적인 2-비트 데이터 값들의 쌍 중 상기 제1 대표적인 2-비트 데이터 값 및 상기 제2 대표적인 2-비트 데이터 값은 동시에 프로그래밍되는, 비휘발성 메모리 시스템.
  17. 제15항에 있어서,
    상기 2개의 메모리 셀 스트링들은 서로 인접하게 위치되고;
    상기 단일-상태 메모리 셀들은 상기 2개의 인접 메모리 셀 스트링들에 인가되는 비트 라인 전압을 변경함으로써 프로그래밍되는, 비휘발성 메모리 시스템.
  18. 제15항에 있어서,
    상기 단일-상태 메모리 셀들은 상기 2개의 메모리 셀 스트링들에 비트 라인 전압을 인가함으로써 프로그래밍되어,
    상기 2개의 메모리 셀 스트링들 중 제1 메모리 셀 스트링이 오프 상태에 있게 하고;
    상기 2개의 메모리 셀 스트링들 중 제2 메모리 셀 스트링이 오프 상태에 있게 하는, 비휘발성 메모리 시스템.
  19. 제15항에 있어서,
    상기 단일-상태 메모리 셀들은 상기 2개의 메모리 셀 스트링들에 비트 라인 전압을 인가함으로써 프로그래밍되어,
    상기 2개의 메모리 셀 스트링들 중 제1 메모리 셀 스트링이 온 상태에 있게 하고;
    상기 2개의 메모리 셀 스트링들 중 제2 메모리 셀 스트링이 오프 상태에 있게 하는, 비휘발성 메모리 시스템.
  20. 제15항에 있어서,
    상기 단일-상태 메모리 셀들은 상기 2개의 메모리 셀 스트링들에 비트 라인 전압을 인가함으로써 프로그래밍되어,
    상기 2개의 메모리 셀 스트링들 중 제1 메모리 셀 스트링이 온 상태에 있게 하고;
    상기 2개의 메모리 셀 스트링들 중 제2 메모리 셀 스트링이 온 상태에 있게 하는, 비휘발성 메모리 시스템.
KR1020210082731A 2020-12-29 2021-06-24 비휘발성 메모리 구조물들에 대한 3-값 프로그래밍 메커니즘 KR102609127B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/136,828 2020-12-29
US17/136,828 US11488669B2 (en) 2020-12-29 2020-12-29 Three-valued programming mechanism for non-volatile memory structures

Publications (2)

Publication Number Publication Date
KR20220095087A true KR20220095087A (ko) 2022-07-06
KR102609127B1 KR102609127B1 (ko) 2023-12-04

Family

ID=82118977

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210082731A KR102609127B1 (ko) 2020-12-29 2021-06-24 비휘발성 메모리 구조물들에 대한 3-값 프로그래밍 메커니즘

Country Status (3)

Country Link
US (1) US11488669B2 (ko)
KR (1) KR102609127B1 (ko)
CN (1) CN114694719A (ko)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120089426A (ko) * 2009-06-05 2012-08-10 샌디스크 테크놀로지스, 인코포레이티드 비휘발성 메모리 장치 내에서 바이너리 포맷으로 저장된 데이터를 복수-상태 포맷으로 폴딩
KR20120106800A (ko) * 2009-12-18 2012-09-26 샌디스크 테크놀로지스, 인코포레이티드 데이터의 온-칩 폴딩을 사용한 복수-기어 제어를 가진 비휘발성 메모리
KR20120106801A (ko) * 2009-12-18 2012-09-26 샌디스크 테크놀로지스, 인코포레이티드 온-칩 폴딩을 위한 데이터 전송
KR20140053207A (ko) * 2011-07-28 2014-05-07 샌디스크 테크놀로지스, 인코포레이티드 복수 페이지들의 조합된 검증을 사용한 가속화된 기입후 판독을 가진 비휘발성 메모리 및 방법
KR20140064785A (ko) * 2011-07-28 2014-05-28 샌디스크 테크놀로지스, 인코포레이티드 2진 포맷 및 복수-상태 포맷으로 기입된 데이터의 비교를 사용한 비휘발성 메모리들에서 기입후 판독
KR20140138239A (ko) * 2012-03-27 2014-12-03 샌디스크 테크놀로지스, 인코포레이티드 고속의 짧은 비트라인 부분을 가진 메모리 어레이를 가진 비휘발성 메모리 및 방법
KR20160024547A (ko) * 2014-08-26 2016-03-07 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR20190126939A (ko) * 2017-04-05 2019-11-12 마이크론 테크놀로지, 인크. 혼합 모드 블록들의 동작

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006011223A1 (ja) * 2004-07-30 2006-02-02 Spansion Llc 半導体装置およびセンス信号の生成方法
US9721662B1 (en) * 2016-01-13 2017-08-01 Sandisk Technologies Llc Non-volatile memory with efficient programming

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120089426A (ko) * 2009-06-05 2012-08-10 샌디스크 테크놀로지스, 인코포레이티드 비휘발성 메모리 장치 내에서 바이너리 포맷으로 저장된 데이터를 복수-상태 포맷으로 폴딩
KR20120106800A (ko) * 2009-12-18 2012-09-26 샌디스크 테크놀로지스, 인코포레이티드 데이터의 온-칩 폴딩을 사용한 복수-기어 제어를 가진 비휘발성 메모리
KR20120106801A (ko) * 2009-12-18 2012-09-26 샌디스크 테크놀로지스, 인코포레이티드 온-칩 폴딩을 위한 데이터 전송
KR20140053207A (ko) * 2011-07-28 2014-05-07 샌디스크 테크놀로지스, 인코포레이티드 복수 페이지들의 조합된 검증을 사용한 가속화된 기입후 판독을 가진 비휘발성 메모리 및 방법
KR20140064785A (ko) * 2011-07-28 2014-05-28 샌디스크 테크놀로지스, 인코포레이티드 2진 포맷 및 복수-상태 포맷으로 기입된 데이터의 비교를 사용한 비휘발성 메모리들에서 기입후 판독
KR20140138239A (ko) * 2012-03-27 2014-12-03 샌디스크 테크놀로지스, 인코포레이티드 고속의 짧은 비트라인 부분을 가진 메모리 어레이를 가진 비휘발성 메모리 및 방법
KR20160024547A (ko) * 2014-08-26 2016-03-07 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR20190126939A (ko) * 2017-04-05 2019-11-12 마이크론 테크놀로지, 인크. 혼합 모드 블록들의 동작

Also Published As

Publication number Publication date
CN114694719A (zh) 2022-07-01
KR102609127B1 (ko) 2023-12-04
US20220208270A1 (en) 2022-06-30
US11488669B2 (en) 2022-11-01

Similar Documents

Publication Publication Date Title
US7606079B2 (en) Reducing power consumption during read operations in non-volatile storage
US8773917B2 (en) Word line kicking when sensing non-volatile storage
US7440327B1 (en) Non-volatile storage with reduced power consumption during read operations
US20100008165A1 (en) Memory cell sensing using negative voltage
WO2010044993A1 (en) Multi-pass programming for memory using word line coupling
EP2067142B1 (en) Faster programming of highest multi-level state for non-volatile memory
KR20100085037A (ko) 제어 게이트 라인 아키텍쳐
US11776640B2 (en) Data conversion with data path circuits for use in double sense amp architecture with fractional bit assignment in non-volatile memory structures
US7606071B2 (en) Compensating source voltage drop in non-volatile storage
US20190043565A1 (en) Method and system for compensating for floating gate-to-floating gate (fg-fg) interference in flash memory cell read operations
US11699494B2 (en) Peak and average ICC reduction by tier-based sensing during program verify operations of non-volatile memory structures
CN112084051B (zh) Tlc程序暂停期间针对读取操作的系统对策
US7606072B2 (en) Non-volatile storage with compensation for source voltage drop
US11417393B2 (en) Two-stage programming using variable step voltage (DVPGM) for non-volatile memory structures
KR102609127B1 (ko) 비휘발성 메모리 구조물들에 대한 3-값 프로그래밍 메커니즘
US12014795B2 (en) Double sense amp and fractional bit assignment in non-volatile memory structures
US12112800B2 (en) High speed multi-level cell (MLC) programming in non-volatile memory structures
US20230386569A1 (en) Low power multi-level cell (mlc) programming in non-volatile memory structures
US20240185914A1 (en) Bitline timing-based multi-state programming in non-volatile memory structures
US20240185928A1 (en) Reducing time-tag read errors with respect to non-volatile memory structures
US20230420051A1 (en) Reliability improvement through delay between multi-stage programming steps in non-volatile memory structures
US20240296882A1 (en) Independent plane concurrent memory operation in non-volatile memory structures
US20240071484A1 (en) Memory devices with a lower effective program verify level
US20220359023A1 (en) Program tail plane comparator for non-volatile memory structures

Legal Events

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