KR101743974B1 - Nand 사전 판독 에러 복구 - Google Patents

Nand 사전 판독 에러 복구 Download PDF

Info

Publication number
KR101743974B1
KR101743974B1 KR1020150072037A KR20150072037A KR101743974B1 KR 101743974 B1 KR101743974 B1 KR 101743974B1 KR 1020150072037 A KR1020150072037 A KR 1020150072037A KR 20150072037 A KR20150072037 A KR 20150072037A KR 101743974 B1 KR101743974 B1 KR 101743974B1
Authority
KR
South Korea
Prior art keywords
data
programming
page
error recovery
sub
Prior art date
Application number
KR1020150072037A
Other languages
English (en)
Other versions
KR20160000842A (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 KR20160000842A publication Critical patent/KR20160000842A/ko
Application granted granted Critical
Publication of KR101743974B1 publication Critical patent/KR101743974B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1072Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)

Abstract

NAND 메모리 장치에서의 메모리의 페이지를 프로그래밍하는 기술이 개시되고 설명된다. 한 예에서, 방법은 상기 페이지의 하부 페이지 프로그래밍을 위한 초기 프로그래밍 펄스를 인가하고 상기 하부 페이지의 데이터를 사전 판독하는 것을 포함할 수 있다. 방법은 하부 페이지의 데이터에 에러 복구 동작을 적용할지를 결정하는 단계를 더 포함한다. 상부 페이지 데이터를 프로그래밍하기 위해 사용될 2차 프로그래밍 펄스를 나타내는 데이터가 저장되고 상기 2차 프로그래밍 펄스 및 상기 하부 페이지의 상기 데이터에 기초하여 상기 상부 페이지 데이터가 프로그램된다.

Description

NAND 사전 판독 에러 복구{NAND PRE-READ ERROR RECOVERY}
본 명세서에 기술된 실시예들은 일반적으로 NAND 메모리에 관한 것이다.
메모리 장치는 전형적으로 컴퓨터 또는 다른 전자 장치의 내부에, 반도체, 집적 회로로서 제공된다. 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 다이내믹 랜덤 액세스 메모리(DRAM), 동기 다이내믹 랜덤 액세스 메모리(SDRAM), 및 플래시 메모리를 포함하는 많은 상이한 유형들의 메모리가 존재한다.
플래시 메모리 장치는 광범위한 전자 응용들을 위한 비휘발성 메모리의 인기 있는 소스로 개발되어 왔다. 플래시 메모리 장치는 전형적으로 높은 메모리 밀도, 높은 신뢰성, 및 낮은 전력 소비를 가능하게 하는 1-트랜지스터 메모리 셀을 사용한다. 전하 스토리지 노드(예를 들어, 부유 게이트 또는 전하 트랩)의 프로그래밍, 또는 다른 물리적 현상들(예를 들어, 위상 변화 또는 분극)을 통하여, 셀들의 임계 전압의 변화는 각각의 셀의 데이터 상태를 결정한다. 플래시 메모리를 위한 일반적인 용도는 퍼스널 컴퓨터, 개인 휴대 단말기(PDA), 디지털 카메라, 디지털 미디어 플레이어, 디지털 레코더, 게임, 가전 제품, 차량, 무선 디바이스, 휴대 전화, 및 이동식 메모리 모듈을 포함하고, 플래시 메모리를 위한 용도는 계속 확장한다.
본 개시의 특징 및 이점은 본 개시의 특징을 예로서 함께 나타내는 첨부된 도면과 함께 이루어진 다음의 상세한 설명으로부터 분명해질 것이다.
도 1은 발명의 예에 따라 하부 페이지 전압 분포와 하부 페이지 전압의 에러 정정에 기초한 올바른 상부 페이지 전압의 도면과 함께 상부 페이지 프로그래밍 과정을 도시하고;
도 2는 발명의 예에 따라 서브 블록의 프로그래밍 순서에 기초한 상부 페이지 프로그래밍 과정을 도시하고;
도 3은 발명의 예에 따라 하부 페이지 및/또는 중간 페이지 데이터에 에러 정정이 적용되는 셀 메모리당 3개 비트의 상부 페이지 프로그래밍의 도면을 도시하고;
도 4-6은 다양한 발명의 예들에 따라 NAND 메모리 장치에서의 메모리의 페이지를 프로그래밍하는 방법들의 흐름도들을 도시하고;
도 7은 발명의 예에 따른 메모리 시스템 다이어그램을 도시한다.
이하, 예시적인 실시예들에 대한 참조가 이루어지고, 이들을 설명하기 위해 여기서 특정의 용어가 사용된다. 그렇지만 본 발명의 범위를 이렇게 제한하려는 의도는 아니라는 것을 이해할 것이다.
본 발명이 개시되고 설명되기 전에, 본 발명은 본 명세서에 개시된 특정한 구조, 프로세스 단계 또는 물질에 한정되지는 않고, 통상의 기술자에 의해 인식되는 바와 같이 그것들의 등가물에까지 확장된다는 것을 이해할 것이다. 여기서 채용하는 용어는 단지 특정한 예를 설명하기 위해 이용되는 것으로 제한하기 위한 것이 아니라는 것도 이해하여야 한다. 상이한 도면의 동일한 참조 번호는 동일한 요소를 나타낸다. 플로우차트와 프로세스에서 제공되는 번호는 단계 및 동작을 설명할 때 명료화를 위해 제공되며 반드시 특정한 순서 또는 시퀀스를 지시하는 것은 아니다.
나아가, 기술된 특징, 구조 또는 특성은 하나 이상의 실시예에서 임의의 적합한 방식으로 조합될 수 있다. 다음의 설명에서, 레이아웃, 거리, 네트워크 예 등의 수많은 특정한 상세 사항이 제공되어 본 발명의 실시예의 완전한 이해를 제공한다. 그러나, 관련 기술의 통상의 기술자는 그와 같은 상세한 실시예들이 본 명세서에서 명료하게 표현된 전체적 독창적 개념들을 제한하지 않고, 단지 대표하는 것이라는 것을 인식할 것이다.
예시의 실시예
기술적 실시예의 기초 개요가 이하에서 제공되며, 그 후 특정의 기술적 실시예가 더 상세하게 기술된다. 이러한 초기 요약은 독자가 기술을 더 빨리 이해하는 것을 돕기 위한 것이지만, 기술의 핵심 특징이나 본질적 특징을 식별하거나, 청구된 청구 대상의 범주를 한정하기 위한 것은 아니다. 달리 정의되지 않는 한, 본 명세서에서 사용되는 모든 기술 및 과학 용어는 본 개시 내용과 연관되는 기술 분야의 통상의 기술자에 의해 통상적으로 이해되는 것과 동일한 의미를 갖는다.
본 명세서 전체에 걸쳐 "예"라는 말은, 그 예와 관련하여 설명되는 특정한 피쳐, 구조, 또는 특성이 본 발명의 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 명세서 전체에 걸쳐 다양한 곳에서 나타나는 문구 "예에서"는, 반드시 모두가 동일한 실시예를 언급하는 것은 아니다.
본 명세서 및 첨부 청구항에서 사용된 바와 같이, 단수 형태 "하나(a,an 및 the)"는 문맥상 명백하게 달리 쓰여있지 않으면 복수의 대상을 포함한다. 그러므로, 예를 들어 "층"에 대한 참조는 복수의 그와 같은 층들을 포함한다.
본 발명에서, "포함하고", "포함하는" 및 "갖는다" 및 그와 유사한 것은 U.S. 특허법에서 그들에 부여되는 의미를 가질 수 있고, 일반적으로 "포함하고", "포함하는"과 그와 유사한 것을 의미할 수 있고, 개방적 용어들로 해석된다. 용어들 "구성되는" 또는 "구성되고"는 폐쇄적 용어이고, 특히 U.S. 특허법에 따라서 정의되는 것뿐만 아니라, 그와 같은 용어와 관련하여 목록화된 성분들, 구조들, 단계들 또는 그와 유사한 것만을 포함한다. "본질적으로 구성되는" 또는 "본질적으로 구성된다"는 U.S. 특허법에 의해 그들에게 일반적으로 부여된 의미를 가진다. 특히, 그와 같은 용어는 일반적으로 폐쇄적 용어이고, 추가적 항목들, 물질들, 성분들, 단계들 또는 성분들의 포함시키는 것을 허용하는 것을 제외하고는, 이것은 그것과 연관되어 사용된 항목(들)의 기초적이고 신규한 특징 또는 기능에 실질적으로 영향을 미치지 않는다. 예를 들어, 구성에 존재하지만, 구성 성질 또는 특성에 영향을 주지 않는 미량의 요소들은, 이러한 용어 다음에 나오는 항목의 리스트에 명시적으로 나열되지 않을지라도, "본질적으로 구성되는"이라는 표현 하에서 존재하는 경우에 허용될 것이다. "구성하는" 또는 "포함하는" 등과 같은 개방적 용어를 사용할 때, 명시적으로 진술된 것처럼 "구성되는"이라는 표현뿐만 아니라 "본질적으로 구성되는"이라는 표현에도 직접 지지가 제공된다고 이해한다.
명세서 및 청구항에서의 용어들 "제1", "제2", "제3", "제4" 등은, 만약 존재한다면, 유사한 요소들끼리 서로 구별하기 위해 사용되며 반드시 특정한 순차적 또는 연대순의 순서를 설명하기 위한 것은 아니다. 그렇게 사용된 용어들은, 예컨대 본원에 설명된 본 명세서의 실시예들이 본원에 예시된 또는 다른 방법으로 설명된 시퀀스들과는 다른 시퀀스들로 동작할 수 있도록, 적합한 상황 하에서 상호 교환 가능하다는 것을 이해할 것이다. 유사하게, 본원에 방법이 일련의 단계들을 포함하는 것으로 설명된다면, 본원에 제시된 그러한 단계들의 순서는 반드시 그러한 단계들이 수행될 수 있는 유일한 순서는 아니며, 진술된 단계들 중 특정 단계는 생략될 수 있으며 및/또는 본원에 설명되지 않은 특정한 다른 단계들이 방법에 추가될 수 있다.
본 명세서에서 사용되는 "실질적으로(substantially)"라는 용어는 동작, 특성, 속성, 상태, 구조, 품목, 또는 결과의 완전한 또는 거의 완전한 범위 또는 정도를 나타낸다. 예를 들면, "실질적으로" 둘러싸인 물체란 물체가 완전히 둘러싸였거나 거의 완전히 둘러싸인 것을 의미할 것이다. 어떤 경우에는, 절대적 완전성으로부터 정확히 허용되는 편차의 범위는 특정한 문맥에 따라 다를 것이다. 그러나, 일반적으로 말해서 완전함에 대한 근접성은, 마치 절대적이고 완벽한 완전성이 획득된 것과 전반적으로 동일한 결과를 가지는 것일 것이다. "실질적으로"라는 용어의 사용은 동작, 특징, 특성, 상태, 구조, 항목 또는 결과의 완전하거나 거의 완전한 결핍을 의미하는 부정적인 의미로 사용된 경우에도 동등하게 적용 가능하다. 예를 들어, 입자가 "실질적으로 없다는" 구성은 입자가 완전히 없거나, 입자가 거의 완전히 없어서 입자가 완전히 없는 것처럼 효과가 동일할 것이다. 다시 말하면, 구성 요소 또는 요소가 "실질적으로 없다"는 구성은 그에 대한 어떤 측정할 수 있는 효과가 없는 한 그와 같은 항목을 여전히 실제로 포함할 수 있다.
본 명세서에서 사용되는 "약(about)"이라는 용어는 소정의 값이 수치 범위 종점보다 "약간 높은" 또는 "약간 낮은" 것일 수 있다는 것을 규정함으로써, 그 수치 범위 종점에 융통성을 제공하기 위해 사용된다. 달리 표명하지 않는다면, 특정 수 또는 수치 범위에 따른 용어 "약"의 사용은 또한 용어 "약"이 없는 그러한 수치 용어 또는 범위에 대한 지지를 제공한다고 해석하여야 한다. 예를 들어, 편의성과 간결성을 위하여, "약 50옹스트롬 내지 약 80옹스트롬"의 수치상 범위는 또한 "50옹스트롬 내지 80옹스트롬"의 범위에 대한 지지를 제공한다고 해석하여야 한다. 게다가 본 명세서에서, 용어 "약"과 관련한 수치의 기재는 "약"이라는 용어와는 별도로 그 자체로 실제 수치 값에 대한 지지를 제공하는 것도 의도한다. 그러므로, 예를 들어, "약 30"이라는 기재는 또한 "30"이라는 단순한 수치 기재에 대한 명백한 지지를 포함한다.
본 명세서에서 사용된 바와 같이, 복수의 항목, 구조적 요소, 구성적 요소 및/또는 물질은 편의를 위해 공통 목록으로 제시될 수 있다. 그러나 이러한 목록은 마치 목록의 구성원 각각이 분리되고 고유한 구성원으로서 개별적으로 식별되는 것처럼 해석되어야 한다. 따라서, 그러한 목록의 어떤 개별적 구성원도, 반대의 표시 없이 그들이 공통 그룹에 제시되었다는 것에만 기초하여, 동일한 목록의 임의의 다른 구성원과 실질적으로 동등하다고 해석되어서는 안된다. 게다가, 상이한 실시예들과 발명의 예들은 그것의 다양한 성분들에 대한 대안들과 함께 본 명세서에서 참조될 수 있다. 그러한 실시예, 예시 및 대안들은 실질적으로 서로 동등하다고 해석되어서는 안 되며, 다양한 본 발명의 실시예들의 별개의 독립적인 표현으로 고려되어야 한다고 이해된다.
농도, 양, 및 다른 수치 데이터가 범위 포맷으로 본 명세서에 표현되거나 제시될 수 있다. 이러한 범위 포맷은 단지 편의성과 간결성을 위해 사용되는 것이며 범위의 한계로서 명시적으로 기재된 수치값들을 포함할 뿐만 아니라 그 범위 내에 포함된 모든 개개의 수치 또는 하위 범위들을, 마치 각 수치값과 하위 범위가 명시적으로 기재된 것처럼, 포함하는 것으로 유연하게 해석되어야 한다. 예시로서, "약 1 내지 약 5"의 수치상 범위는 약 1에서 약 5의 단지 명확하게 기재된 값들을 포함하는 것뿐만 아니라, 표시된 범위 내에 개별 값들과 하위 범위들을 포함하는 것으로 해석되어야 한다. 그러므로, 이 수치상 범위에는 2, 3 및 4와 같은 개별 값들과 1 내지 3, 2 내지 4, 및 3 내지 5, 등과 같은 하위 범위들뿐만 아니라, 개별적으로 1, 2, 3, 4 및 5도 포함된다.
이 동일한 원칙은 최소 또는 최대로서 단지 하나 수치 값을 기재한 범위들에도 적용된다. 게다가, 그러한 해석은 기술된 범위 또는 특징들의 폭에 상관없이 적용되어야 한다.
플래시 메모리는 전형적으로 NOR 플래시와 NAND 플래시로 알려진 2개의 기본적인 아키텍처들 중 하나를 이용한다. 이 지정은 장치를 판독하기 위해 사용된 로직으로부터 나오는 것이다. NOR 플래시 아키텍처에서, 메모리 셀의 논리적 열은, 전형적으로 비트 라인이라고 하는 것과 같은, 데이터 라인에 결합된 각각의 메모리 셀과 병렬로 결합된다. NAND 플래시 아키텍처에서, 메모리 셀의 열은 비트 라인에 결합된 열의 제1 메모리 셀에만 직렬로 결합된다.
전자 시스템의 성능과 복잡도가 증가함에 따라, 시스템에서의 추가적 메모리에 대한 요구도 또한 증가한다. 그러나, 부품 수는 시스템의 비용을 계속 줄이기 위해 최소화되는 것이 바람직하다. 이것은 멀티레벨 셀(MLC)과 같은 기술을 이용하여 집적 회로의 메모리 밀도를 증가시킴으로써 달성될 수 있다. 예를 들어, MLC NAND 플래시 메모리는 매우 비용 절감적인 비휘발성 메모리이다.
멀티레벨 셀은 셀의 특정한 임계 전압(Vt) 범위에, 데이터 상태, 예를 들어 비트 패턴을 할당함으로써 종래의 플래시 셀의 아날로그 성질을 이용할 수 있다. 이 기술은 셀에 할당된 전압 범위의 양 및 메모리 셀의 라이프타임 동작 동안 할당된 전압 범위의 안정성에 따라, 셀 당 2개 이상의 비트의 정보의 저장을 허가한다.
셀을 프로그래밍(또는 소거)하는데 필요한 전압은 특정한 셀이 이전에 프로그래밍 및/또는 소거된(순환(cycle)된) 횟수와 같은, 셀의 사용에 상당히 의존한다. 프로그램/소거 순환이 없거나 매우 적은 셀은 전형적으로 더 많은 수의 순환을 겪은 셀과 비교하여 특정한 양만큼 그것의 임계 전압을 상승시키도록 그것의 게이트에서의 더 높은 전압의 인가를 필요로 한다.
예를 들어, 이전에 전혀 프로그래밍되지 않았던 셀은 다수(수천 정도) 회 순환되었던 셀에 비교하여 상대적으로 높은 초기 프로그램 전압으로 프로그램될 수 있다. 다수 회 순환되었던 셀은 이전에 순환되지 않았던 또는 단지 몇 회만 순환되었던 셀보다 동일한 프로그램 펄스에 의해 그 임계 전압이 더 많이 이동하게 될 것이다. 높은 초기 프로그램 전압이 다수 회 순환되었던 셀에 사용되는 경우에, 셀의 임계 전압은 셀이 초기 프로그램 펄스에 대해서도 그의 원하는 임계 전압을 오버슈트할 정도로 변화할 수 있다. 그러므로, 높은 초기 프로그램 전압 펄스를 사용하면 많이 순환된 셀을 오버 프로그램할 수 있다. 비교적 낮은 초기 프로그램 전압은 순환되지 않은 또는 적게 순환된 셀의 임계 전압을 동일한 펄스가 많이 순환된 셀을 이동시키는 양에 비해 적은 양만큼 이동시킬 것이다. 그러므로, 낮은 초기 프로그램 전압 펄스를 사용하면 순환되지 않거나 거의 순환되지 않은 셀에 대해 보다 긴 프로그램 시간을 야기하는데, 왜냐하면 보다 많은 프로그램 펄스가 셀을 그것의 목표 임계 전압에 도달하게 하는데 필요하게 되기 때문이다.
본 기술은 상부 페이지 프로그래밍에서 하부 페이지 사전 판독 동안에 간섭 보상 또는 ECC(에러 정정 코드)를 포함하는 것과 같은, 에러 복구 방식을 이용할 수 있다. 에러 복구 방식(들)은 예를 들어, 성능 오버헤드를 최소화하면서 에러 복구 방식(들)에 의해 얻어진 이익을 최대화하기 위해 서브 블럭 및 WL(워드 라인)에 기초하여 선택적으로 이루어질 수 있다.
메모리 셀의 제어 게이트에 프로그램 전압을 인가하는 것은 셀이 보다 많이 순환될수록 더 큰 정도로 셀의 임계 전압을 변경시킬 것이다. 또한 다수 회 순환되었던 셀에 비해 상대적으로 순환되지 않은 셀의 프로그래밍의 속도에는 상당한 차이가 있다. 그러므로, 메모리 페이지의 프로그래밍 시간은 그것이 보다 적은 수의 프로그래밍 펄스를 사용하여 그것의 목표 임계 전압에 도달하도록 셀에 인가된 초기 프로그램 전압을 조정함으로써 감소될 수 있다. 예를 들어, 다수 회 순환되었던 셀의 상부 페이지 프로그래밍에는, 그것의 원하는 임계 전압을 오버슈트하지 않도록, 비교적 낮은 초기 펄스 프로그램 전압이 사용될 수 있다. 그런데, 비교적 높은 초기 펄스 프로그램 전압이 순환되지 않거나 낮은 수의 순환을 갖는 셀의 상부 페이지 프로그래밍에 사용될 수 있다.
NAND 메모리는 페이지마다 프로그램되기 때문에, 페이지의 각 셀은 동일 횟수 순환되었다. 페이지가 순환되는 횟수는 또한 페이지의 각 셀이 순환된 횟수를 제공한다. 메모리의 각 페이지 상의 순환 계수기(cycle counter)는 다이 공간, 추가적인 처리 시간, 및 저장 공간을 차지한다. 또한, 페이지 순환 계수기는 페이지가 거친 순환의 수 이외의 팩터, 예를 들어 제조 팩터 등에 기초한 셀 성능의 차이를 해명할 수 없다.
페이지를 위한 하부 페이지 프로그래밍의 개시에 비교적 낮은 프로그램 전압으로 단일 프로그램 펄스를 인가한 후에, 페이지 상의 셀에 대한 결과적인 셀 임계 전압 분포의 상한선이 결정될 수 있다. 페이지가 순환되지 않거나 매우 적게 순환되면, 낮은 전압 펄스는 분포에서의 많은 시프트를 야기하지 않을 것이다. 페이지가 많이 순환되면, 낮은 전압 펄스가 임계 전압 분포에서의 보다 많은 시프트를 야기할 것이다. 초기 프로그램 펄스 전압은 메모리 장치의 퓨즈에 의해 정해진 값으로서 결정될 수 있다.
소정의 발명 실시예들은 UP 데이터 프로그래밍의 정확성을 개선하기 위해 LP의 사전 판독 중에 에러 복구를 제공한다. 다양한 에러 복구 방식들 중 어느 것이나 적용될 수 있다. 에러 복구 방식의 적용은 선택적일 수 있다. 바꾸어 말하면, 에러 복구 방식을 적용할지의 결정이 이루어질 수 있다. 또한, 에러 복구 방식이 적용될 때, 어떤 하나 이상의 에러 복구 방식을 적용할지에 대한 결정이 이루어질 수 있다.
도 1은 발명 실시예에 따라 LP 데이터의 사전 판독 중에 에러 복구하는 상부 페이지 프로그래밍의 예를 도시한다. UP 데이터의 프로그래밍이 시작될 때(210), LP 데이터는 사전 판독될 수 있다(215). 그러나, Vt의 시프트 또는 다른 이유로 인해, LP 데이터는 "1" 대신에 "0"으로 오판독된다. 이것은 그렇지 않으면 UP 데이터의 프로그래밍에서 에러를 야기하지만, 이 예에서 LP 데이터는 에러 복구방식으로 사전 판독될 수 있다.
에러 복구 방식은 워드 라인(WL), 서브 블럭, 순환 총수(cycle count) 또는 다른 적합한 것에 기초하여 적용될 수 있다. 어떤 예의 에러 복구 방식은 프로그래밍되는 셀의 하나 이상의 측 상의 셀로부터의 간섭 보상, 제어기 ECC, 판독 전압 서치 또는 기타 적합한 에러 복구 방식을 포함한다. LP 데이터를 사전 판독할 때, 에러 복구 방식을 적용할지와 어떤 하나 이상의 에러 복구 방식을 적용할지에 대한 결정이 이루어질 수 있다.
도 1을 계속 참조하면, LP '1' 비트가 '0'으로 오판독되더라도, 비트는 에러 복구 방식을 통해 복구된다. 결과적으로, 정교화(220) 과정은 추가 비트 '0'으로, 상부 페이지 페이지가 '01'로서 프로그램되어야 한다고 결정하고 UP 데이터는 올바르게 프로그램된다(225).
LP 사전 판독에의 에러 복구 방식의 적용은 성능에 부정적으로 영향을 줄 수 있다. 예를 들어, UP 프로그래밍을 완료하는데 요구되는 시간의 양은 에러 복구 방식이 사전 판독 중에 사용되지 않을 때와 비교하여 에러 복구 방식이 적용될 때 증가된다. 상이한 에러 복구 방식들은 리소스 사용, 시간 소비 등에 있어서 상이한 오버헤드 비용들을 갖는다. 에러 복구 방식의 적용은 각 셀을 프로그래밍하기 위해 필요하지 않을 수 있다. 에러 복구 방식의 적용이 불필요할 때, 에러 복구 방식을 적용할지의 결정은 에러 복구 방식의 적용이 불필요하고 그 적용을 생략하는 것을 결정할 수 있다. 에러 복구 방식의 적용의 유용하다고 간주될 때, 에러 복구 방식을 적용할지의 결정은 에러 복구 방식을 적용하기를 결정할 수 있다. 또한, 에러 복구 방식을 적용하는데 있어서 고려되는 변수에 따라, UP 프로그래밍의 효율성을 또한 유지하면서 LP 사전 판독 데이터의 정확성을 보장하기 위해 어떤 에러 복구 방식을 적용할지에 대한 결정이 이루어질 수 있다.
이제 도 2를 참조한다. 3차원 메모리 장치는 단일 다이 상에 스택된 메모리 어레이를 사용한다. 이러한 아키텍처는 실질적으로 동일한 다이 풋프린트에서 보다 높은 메모리 밀도를 가능하게 한다. 도 2는 에러 복구 옵션을 갖는 LP 데이터의 사전 판독을 포함하는 상부 페이지 프로그래밍을 위한 방법의 흐름도에 인접하여 전형적인 스택 NAND 플래시 메모리 어레이의 아키텍처의 한 예를 도시한다. 스택된 NAND 아키텍처의 층들은 동일한 액세스 라인(예를 들어, 워드 라인(WL)), 및 선택 게이트 소스 라인(SGS)을 공유한다. 각 층은 데이터 라인(예를 들어, 비트 라인(BL)) 바이어스에 의해 선택된다.
프로그래밍 동작이 시작되고(310) 프로그래밍되는 선택된 워드 라인에 프로그래밍 전압(예를 들어, 20V)을 인가하는 것을 포함한다. 워드 라인은 모든 층에 의해 공유되기 때문에, 비트 라인 바이어싱(예를 들어, 비트 라인 전압을 인가하는 것)은 프로그래밍을 위해 선택되지 않은 층을 금지하는데 사용된다. 예를 들어, 제1 및 제3 층은 인에이블 전압(예를 들어, 0V)에 각각의 비트 라인을 바이어싱함으로써 프로그램되도록 선택될 수 있고 선택되지 않은 비트 라인은 금지 전압(예를 들어, 2V)에 바이어스된다. 따라서, 제1 및 제3 층은 선택될 수 있고 다른 층은 선택되지 않는다.
소거 및 감지 동작을 위해, 층의 모두는 실질적으로 동시에 선택될 수 있다. 감지 동작에서, 각 층의 단일 행이 선택된다. 예를 들어, 감지 동작 중에, 비트 라인의 모두가 보다 낮은 전압(예를 들어, 0.5V)에 바이어스될 수 있고 판독 전압(Vr)이 공통 워드 라인에 인가된다. 선택되지 않은 워드 라인은 패스 전압 Vpass(예를 들어, 6V)에 바이어스될 수 있고 선택 게이트 소스(SGS) 라인이 턴 온될 수 있다(예를 들어, 5V).
소거 동작 중에, 비트 라인의 모두는 비교적 큰 소거 전압(예를 들어, 20V)에 바이어스될 수 있고 워드 라인의 모두는 기준 전압(예를 들어, 0V)에 바이어스될 수 있다. 선택 게이트 드레인 라인 및 공통 선택 게이트 소스 라인은 비교적 큰 전압(예를 들어, 20V)으로 바이어스될 수 있다.
스택된 메모리 어레이 아키텍처에서의 프로그래밍에 문제가 되는 것은 층들 사이의 프로그래밍 레이트 오프셋으로 인해 일어날 수 있는 프로그래밍 방해이다. 예를 들어, 제1 층이 제4 층보다 느린 레이트로 프로그램하면, 보다 빠른 제4 층보다 긴 시간 동안 제1 층을 계속 프로그래밍하기 위해 보다 느린 제1 층에 인가된 비교적 큰 전압은 제4 층에 프로그래밍 스트레스를 발생시킬 수 있다. 이러한 방해는 방해받는 층 상의 메모리 셀 임계 전압이 소거된 레벨 또는 원래 프로그램된 전압 레벨로부터 증가될 수 있기 때문에 감지 동작 중에 에러를 발생시킬 수 있다.
도 1에 도시한 것과 유사하게, 발명의 한 방법은 프로그래밍을 시작하고(310), 서브 블럭(SB) 기반 에러 복구 방식과 같은, 에러 복구 방식으로 LP 데이터를 사전 판독하는(315) 것을 포함할 수 있다. 결과적으로, 정교화(320)는 UP 데이터로서 프로그램할 올바른 데이터를 결정할 수 있고 UP 데이터는 올바르게 프로그램될 수 있다(325). 에러 복구를 적용할지와, 어떤 에러 복구를 적용할지의 결정은 예를 들어, 서브 블럭, 워드 라인, 비트 라인, 순환 총수 등 중 하나 이상에 기초할 수 있다.
도 2는 서브 블럭 0(SB 0) 및 서브 블럭 15(SB 15)에서의 UP 프로그래밍의 시작 시의 LP Vt 분포를 도시한다. SB 0을 위한 LP 데이터는 '1' 비트로서 분명히 판독될 수 있다. 그러나, 상위 서브 블럭은 LP 사전 판독 전에 보다 많은 스트레스를 갖는다. SB 15에 더 보인 바와 같이, LP Vt 분포는 시프트되고 LP 데이터는 '1'이 아니라 '0'으로 오판독될 수 있다.
상위 서브 블럭에서 에러 복구를 수행하는 것은 상위 서브 블럭에 대한 LP 사전 판독의 정확성을 보장할 수 있다. 스트레스가 적거나 오판독의 가능성이 낮은 하위 서브 블럭에는 복구가 덜 적용되거나 적용되지 않을 수 있다. 하위 서브 블럭에 복구를 덜 사용하거나 사용하지 않으면 메모리 장치의 성능 및 신뢰성이 개선될 수 있다. 상이한 복구 방식들은 상이한 코스트들을 가질 수 있다. 상위 서브 블럭에 대한 스트레스가 전형적으로 하위 서브 블럭에 대한 것보다 높기 때문에, 서브 블럭의 모두에 대한 LP 사전 판독의 정확성을 보장하기 위해, 점점 더 상위 블럭으로 프로그래밍이 진행함에 따라 점점 더 코스트가 증가하는 에러 복구 방식이 적용될 수 있다. LP Vt가 100mV와 같이, 소량 시프트될 때에도, LP Vt의 오판독은 예를 들어, 1V의 UP Vt에서의 차이를 야기할 수 있다. 따라서, 작은 에러가 큰 차이를 야기할 수 있다. 본 기술의 실시예들은 이러한 오판독을 감소하거나 경감하는데 도움을 줄 수 있다.
한 예의 에러 복구 방식은 셀-투-셀 간섭 보상(보통 셀간 간섭 보상이라고 함)이다. 셀-투-셀 간섭은 로-메모리-저장(raw-memory-storage) 신뢰성 저하의 원인이 되는 잡음원으로서 잘 인식되었다. 셀-투-셀 간섭은 인접한 공격자 셀 상태를 변경시킴으로써 Vt 분포 시프트를 야기한다. 간섭은 결합 비율로 인한 부유 게이트 주위의 기생 커패시터를 통한 용량성 결합에 기인한다. 셀-투-셀 간섭 보상은 인접한 보다 높거나 낮은 셀 전압에 의해 발생된 Vt 시프트를 보상하기 위해 인접한 셀의 전압이 보다 높은지 낮은지에 따라 일정량만큼 LP 사전 판독 전압 Vt을 조정할 수 있다. 셀-투-셀 간섭은 예를 들어, 하나의 인접한 셀 상태 또는 다중(예를 들어, 2)의 인접한 셀 상태에 기초할 수 있다.
다른 예의 에러 복구 방식은 제어기에 의한 에러 복구이다. 바꾸어 말하면, ECC 엔진의 사용이다. NAND 메모리는 ECC를 사용하여 정상 장치 동작 중에 자연적으로 실패하는 비트를 보상할 수 있다. ECC가 사전 판독 중에 에러를 정정할 수 없더라도, 이것은 여전히 에러를 검출할 수 있다. UP 프로그래밍과 같은, 소거 또는 프로그램 동작을 수행할 때, 메모리 장치는 프로그램 또는 소거에 실패한 블럭 또는 서브 블럭을 검출하여 이들 블럭을 불량한 것으로 표시할 수 있다. 데이터는 다음에 다른 양호한 블럭에 기입될 수 있고, 불량한 블럭 맵이 갱신된다. ECC의 적용은 다음과 같이 진행될 수 있다. LP 사전 판독 데이터가 출력될 수 있다. 메모리 제어기는 ECC 엔진을 사용하여 올바른 LP 데이터를 복구하고 올바른 데이터를 NAND 장치에 다시 보낼 수 있다. 정정된 LP 데이터는 정교화를 위해 사용될 수 있고, 올바른 값이 다음에 UP 프로그래밍을 위해 프로그램될 수 있다.
다른 예의 에러 복구 방식은 판독 전압 서치(또한 보통 판독 전압 조정이라고 함)를 수행하는 것이다. 이 예에서, 고정된 또는 사전 결정된 LP 전압 값을 참조하기보다, 제어기는 전압을 동적으로 판독하고 최소 비트 에러율을 결정한다.
각각의 에러 복구 방식은 예를 들어 시간 소비의 점에서, 그와 관련된 코스트를 갖고, 상이한 방식들이 상이한 정도로 성공적일 수 있다. 다중 방식의 조합이 누적 결과를 제공할 수 있다. 바꾸어 말하면, 판독 전압 서치와의 셀-투-셀 간섭 보상의 조합은 보다 강력한 효과를 가질 수 있고, 또는 셀-투-셀 간섭 보상 또는 판독 전압 서치 개별적으로보다 LP 데이터 비트의 복구를 달성하는데 보다 확실할 수 있다.
워드 라인 간 변화, 블럭 간 변화, 및 또한 공정 변화를 포함하는, 페이지 상의 셀의 변화는 여기에 개시된 방법을 사용하여 모두 고려될 수 있다. 그러므로, 페이지의 순환을 계수하고 순환의 양의 효과를 평가하는 것 대신에 또는 그에 추가하여, 특정한 WL 또는 SB와 같은 측정이 상부 페이지 프로그래밍을 조정하는데 사용될 수 있다.
예들
발명 실시예들의 일반 예의 구현에 의해, 아래 표 1은 적용될 에러 복구 방식 및 각각의 에러 복구 방식과 관련된 타임 페널티 또는 타임 코스트와 함께, UP 프로그래밍에 대한 서브 블럭의 리스트를 제공한다.
서브
블럭
LP
사전 판독
타임 오버헤드
0 표준 0 us
1 표준 0 us
2 표준 0 us
3 표준 0 us
4 에러 복구 1 타임 1
5 에러 복구 1 타임 1
6 에러 복구 1 타임 1
7 에러 복구 1 타임 1
8 에러 복구 2 타임 2
9 에러 복구 2 타임 2
10 에러 복구 2 타임 2
11 에러 복구 2 타임 2
12 에러 복구 3 타임 3
13 에러 복구 3 타임 3
14 에러 복구 3 타임 3
15 에러 복구 3 타임 3
이 예에서, 16개의 서브 블럭은 각각 복구 방식의 상이한 적용을 갖는, 4개의 그룹으로 나누어졌다. 서브 블럭 0-3은 복구가 없는 표준 절차를 따른다. 이것은 표준 UP 프로그래밍에 추가 시간을 부가하지 않기 때문에 이것에 대한 타임 오버헤드 또는 코스트는 0이다. 서브 블럭 4-7은 타임 코스트 "타임 1"과 관련된 "에러 복구 1을 적용"한다. 서브 블럭 8-11은 타임 코스트 "타임 2"와 관련된 "에러 복구 2를 적용"한다. 서브 블럭 12-15는 타임 코스트 "타임 3"과 관련된 "에러 복구 3을 적용"한다. LP 사전 판독 데이터에서의 에러의 발생 가능성은 서브 블럭 수가 증가함에 따라 증가하기 때문에, 에러 복구 3이 전형적으로 에러 복구 2보다 보다 강력하고 효과적이지만, 효율은 덜하고 타임 패널티는 커진다. 유사하게, 에러 복구 2는 에러 복구 1보다 전형적으로 강력하고 효과적인지만, 효율은 덜하고 타임 패널티는 커진다.
UP 프로그래밍 중에 점점 더 상위 수의 서브 블럭을 위해 적용될 에러 복구 방식의 보다 특정한 예의 시리즈가 아래 표 2에 제공된다.
서브
블럭
LP
사전 판독
타임
오버헤드
0 표준 0 us
1 표준 0 us
2 표준 0 us
3 표준 0 us
4 표준 0 us
5 간섭 보상 1 측 60 us
6 간섭 보상 1 측 60 us
7 간섭 보상 2 측들 120 us
8 간섭 보상 2 측들 120 us
9 제어기 ECC 320 us
10 제어기 ECC 320 us
11 제어기 ECC 320 us
12 제어기 ECC 320 us
13 제어기 ECC 320 us
14 제어기 ECC 320 us
15 제어기 ECC 320 us
표 1과 표 2 간의 차이에 의해 알 수 있는 바와 같이, 에러 복구 방식은 상이한 방식들 간에 고르게 나누어지지 않은 서브 블럭의 그룹 내의 서브 블럭에 적용될 수 있다. 예를 들어, 표 1의 방식의 각각은 방식 당 4개의 서브 블럭의 고른 그룹에 적용되었지만, 표 2는 2개, 5개, 및 7개의 서브 블럭이 그에 관련된 방식들을 포함한다. 어떤 서브 블럭에 어떤 에러 복구 방식을 적용할지의 결정은 표 1 및 2에서의 특정한 적용 및 예에 맞도록 변화할 수 있거나 제한하는 것으로 의도되지 않는다.
표 2는 서브 블럭 0-4에 대해, LP 사전 판독 중의 에러 복구 없이, 표준 공정에 따라 UP 프로그래밍이 진행하는 것을 도시한다. 서브 블럭 5-6은 현재의 셀 또는 블럭 또는 서브 블럭의 단일 측에 있는 셀들 또는 블럭들 또는 서브 블럭들을 고려하여 에러 복구 방식으로서 간섭 보상을 이용한다. 서브 블럭 7-8은 현재의 셀 또는 블럭 또는 서브 블럭의 양측에 있는 셀들 또는 블럭들 또는 서브 블럭들을 고려하여 에러 복구 방식으로서 간섭 보상을 이용한다. 제어기 ECC는 서브 블럭 9-15를 위해 적용된다. 타임 코스트가 한 에러 복구 방식으로부터 다른 에러 복구 방식으로 얼마나 많이 증가하는지를 예시하는 어떤 예의 타임 코스트가 표 2에 포함된다.
상기 설명 중 적어도 일부가 서브 블럭 수에 기초한 LP 사전 판독 에러를 복구하기 위한 에러 복구 방식의 선택 및 적용을 설명하였지만, 발명의 실시예들은 서브 블럭 수에 기초한 에러 복구의 선택 및 적용에 제한되지 않는다. 표 3은 서브 블럭 보다는 UP 프로그래밍 WL 위치에 기초한 사전 판독 에러 복구 방식 선택의 일반적인 예이다.
WL LP
사전 판독
타임 오버헤드
0-3 에러 복구 3 타임3
4-16 표준 0 us
17-20 에러 복구 1 타임1
21-28 에러 복구 2 타임2
29-32 에러 복구 3 타임3
표 3으로부터 알 수 있는 바와 같이, WL에 기초한 에러 복구 방식의 적용은 서브 블럭에 기초한 에러 복구 방식의 적용의 이전의 예와 다를 수 있다. WL 에러 복구 적용은 예를 들어, WL의 그룹에 적용될 수 있지만, WL 수가 증가함에 따라 강도/코스트가 증가하는 것과 다른 순서일 수 있다. 어떤 WL에 어떤 에러 복구 방식을 적용할지의 결정은 특정한 WL에 대한 에러의 가능성에 기초할 수 있다. 보다 많은 에러가 나는 WL은 보다 에러가 덜 나는 WL보다 더 효과적이지만, 코스트가 더 큰 에러 복구를 적용한다.
아래 표 4는 WL에 의한 에러 복구의 보다 특정한 예의 구현을 제공한다.
WL LP
사전 판독
타임
오버헤드
0-3 제어기 ECC 320 us
4-16 표준 0 us
17-20 간섭 보상 1 측 60 us
21-28 간섭 보상 1 측 60 us
29-32 제어기 ECC 320 us
표 1-4에서 참조된 이전의 예가 주로 서브 블럭 또는 WL에 기초한 LP 에러 복구 방식을 적용하였지만, 에러 복구 방식의 선택은 임의의 다른 적합한 것에 기초할 수 있다. 예를 들어, 메모리 장치는 프로그램/소거 순환 총수에 기초하여 사전 판독 에러 복구 방식을 전환할 수 있다. 다른 예로서, 사전 판독 에러 복구 방식은 서브 블럭, WL 위치 및 순환 총수 중 2개 이상의 조합에 기초하는 것과 같이, 2개 이상의 기준의 조합에 기초하여 선택될 수 있다.
지금까지 설명이 셀 메모리 장치 당 2 비트의 UP 프로그래밍에 주로 참조되었지만, 셀 메모리 장치 당 3개 이상의 비트에 이 개념이 적용될 수 있다. 도 3은 셀 구현 당 3개 비트의 예를 나타낸다. 셀 당 비트의 수가 2개, 3개 또는 그 이상인지에 따라, UP 프로그래밍은 적어도 LP 데이터에 간접적으로 기초한다.
도 3에서, UP 데이터를 프로그래밍하는 과정은 LP 데이터를 사전 판독하고 LP 데이터 및 추가 비트에 기초한 정교화를 수행하여 중간 페이지(MP) 데이터를 결정하고 프로그램할 수 있다. MP 데이터는 사전 판독될 수 있고 MP 데이터 및 추가 비트는 UP 데이터의 정교화 및 프로그래밍에 사용될 수 있다. 각각의 복구는 UP 데이터 프로그래밍의 정확성을 보장하기 위해 LP 데이터 및/또는 MP 데이터를 사전 판독할 때 적용될 수 있다.
도 4를 참조하면, NAND 메모리 장치에서의 메모리의 페이지를 프로그래밍하는 컴퓨터 구현 방법의 흐름도가 발명 실시예의 예에 따라 예시된다. 방법은 페이지의 하부 페이지 프로그래밍을 위한 초기 프로그래밍 펄스를 인가하는 것(510)과 하부 페이지의 데이터를 사전 판독하는 것(520)을 포함한다. 방법은 하부 페이지의 데이터에 에러 복구 동작을 적용할지를 결정하는 것(530)을 더 포함한다. 상부 페이지 데이터를 프로그래밍하기 위해 사용될 2차 프로그래밍 펄스를 나타내는 데이터가 저장되고(540) 상부 페이지 데이터가 2차 프로그래밍 펄스 및 하부 페이지의 데이터에 기초하여 프로그램된다(550).
메모리 장치가 셀 장치 당 3개의 비트일 때, 방법은 중간 페이지 데이터를 프로그램하기 위해 사용될 3차 프로그래밍 펄스를 나타내는 데이터를 저장하는 것과 3차 프로그래밍 펄스 및 하부 페이지의 데이터에 기초하여 중간 페이지 데이터를 프로그램하는 것을 포함할 수 있다. 상부 페이지 데이터를 프로그램하기 위해, 방법은 중간 페이지 데이터를 사전 판독하는 것을 더 포함하고 2차 프로그래밍 펄스 및 하부 페이지의 데이터에 기초하여 상부 페이지 데이터를 프로그래밍하는 것은 2차 펄스 및 중간 페이지의 데이터에 기초하여 상부 페이지 데이터를 프로그래밍하는 것을 포함한다. 이 예에서 상부 페이지 데이터를 프로그래밍하는 것은 여전히 하부 페이지 데이터의 프로그래밍에 적어도 간접적으로 기초하는데, 왜냐하면 중간 페이지 데이터가 하부 페이지의 데이터에 기초하여 프로그램되기 때문이다.
방법은 상부 페이지 데이터를 프로그래밍하는 것이 하위 서브 블럭을 프로그래밍하는 것을 포함하는지 또는 상위 서브 블럭을 프로그래밍하는 것을 포함하는지를 결정하는 것을 포함할 수 있다. 방법은 하위 서브 블럭에 대한 에러 복구를 그만두고 상위 서브 블럭에 대한 에러 복구를 적용하는 것을 포함할 수 있다.
방법은 복수의 상이한 에러 복구 동작 중 1개 이상의 사용을 포함할 수 있다. 위에 기술된 바와 같이, 이들 동작은 서브 블럭에 의해 변화할 수 있다. 이들 동작은 상부 페이지 프로그래밍을 위한 워드 라인 위치에 기초하여 변화할 수 있다. 이들 동작은 프로그램/소거 순환 총수에 의해 변화할 수 있다. 이들 동작은 서브 블럭, 워드 라인 위치 또는 프로그램/소거 순환 총수 중 2개 이상의 조합에 기초하여 변화할 수 있다. 순환 총수에 의한 에러 복구 동작의 변화를 용이하게 하기 위해, 방법은 하부 페이지에 대한 프로그래밍 순환의 수를 결정하는 것과 프로그래밍 순환의 수가 미리 결정된 임계값을 초과할 때 에러 복구 동작을 적용하는 것을 포함할 수 있다.
한 예의 에러 복구 동작은 인접한 워드라인의 판독 전압에 기초하여 하부 페이지의 데이터의 서브 블럭의 판독 전압을 수정함으로써 간섭 보상을 포함한다. 예를 들어, 하부 페이지의 데이터의 서브 블럭의 판독 전압은 단일의 인접한 워드라인의 판독 전압에 기초하여 수정될 수 있다. 다른 예로서, 하부 페이지의 데이터의 서브 블럭의 판독 전압은 다중의 인접한 워드라인의 판독 전압에 기초하여 수정될 수 있다.
다른 예의 에러 복구 동작은 하부 페이지의 사전 판독된 데이터를 ECC 제어기와 같은 제어기에 출력하는 것을 포함한다. 이 동작은 다음에 제어기로 데이터를 정정하는 것과, 데이터를 메모리 장치에 다시 보내는 것과, 상부 페이지 데이터를 프로그래밍하기 위해 메모리 장치에서 정정된 데이터를 사용하는 것을 포함할 수 있다.
다른 예의 에러 정정 동작은 판독 전압 서치를 수행하는 것을 포함한다. 판독 전압 서치는 최소 비트 에러율을 위한 판독 전압을 결정하고 최소 비트 에러율을 위한 판독 전압에 기초하여 하부 페이지의 데이터의 판독 전압을 조정하는 제어기를 사용하여 수행될 수 있다. 이 예에서, 하부 페이지의 데이터의 판독 전압은 가변일 수 있고 고정되거나 미리 결정되지 않는다.
이제 도 5를 참조하면, NAND 메모리 장치에서의 메모리의 페이지를 프로그래밍하는 컴퓨터 구현 방법의 흐름도가 발명 실시예의 다른 예에 따라 예시된다. 방법은 페이지의 하부 페이지 프로그래밍을 위한 초기 프로그래밍 펄스를 인가하는 것(610); 하부 데이터의 데이터를 사전 판독하는 것(620); 및 하부 페이지의 데이터에 에러 복구를 적용하는 것(630)을 포함한다. 방법은 상부 페이지 데이터를 프로그래밍하기 위해 사용될 2차 프로그래밍 펄스를 나타내는 데이터를 저장하는 것(640), 및 2차 프로그래밍 펄스 및 하부 페이지의 데이터에 기초하여 상부 페이지 데이터를 프로그래밍하는 것(650)을 더 포함할 수 있다.
상부 페이지의 하위 서브 블럭을 프로그래밍할 때, 제1 에러 복구 동작이 적용될 수 있다. 상부 페이지의 중간 서브 블럭을 프로그래밍할 때, 제2 에러 복구 동작이 적용될 수 있다. 상부 페이지의 상위 서브 블럭을 프로그래밍할 때, 제3 에러 복구 동작이 적용될 수 있다. 제1, 제2 및 제3 에러 복구 동작 각각은 상이하다. 제1, 제2 및 제3 에러 복구 동작 각각은 상이한 타임 코스트를 갖는다. 에러 복구 동작 당 서브 블럭의 수는 에러 복구 옵션 중에 고르게 분포될 수 있거나 고르지 않게 분포될 수 있다. 바꾸어 말하면, 그리고 한 예로서, 하위 서브 블럭, 중간 서브 블럭, 및 상위 서브 블럭은 동일한 수의 서브 블럭을 각각 포함하는 서브 블럭의 그룹일 수 있다. 다른 예로서, 하위 서브 블럭, 중간 서브 블럭, 및 상위 서브 블럭은 그 중 적어도 2개가 상이한 수의 서브 블럭을 포함하는, 서브 블럭의 그룹이다.
에러 복구 동작은 상부 페이지 프로그래밍을 위한 워드 라인에 기초하여 변화하는 복수의 상이한 에러 복구 동작을 포함할 수 있다. 에러 복구 동작은 또한 앞서 설명된 바와 같이, 순환 총수에 기초하여 변화할 수 있다.
방법은 상부 페이지를 프로그래밍할 때, 예를 들어 상부 페이지의 서브 블럭 또는 워드라인을 프로그래밍할 때, 하부 페이지의 데이터에 점점 더 타임 코스트가 증가하는 에러 복구를 점차적으로 적용하는 것을 포함할 수 있다.
이제 도 6을 참조하면, NAND 메모리 장치에서의 메모리의 페이지를 프로그래밍하는 컴퓨터 구현 방법의 흐름도가 발명 실시예의 다른 예에 따라 예시된다. 방법은 페이지의 하부 페이지 프로그래밍을 위한 초기 프로그래밍 펄스를 인가하는 것(710) 및 하부 페이지의 데이터를 사전 판독하는 것(720)을 포함한다. 방법은 하부 페이지의 데이터에 에러 복구를 적용하는 것을 포함할 수 있다. 상부 페이지 데이터를 프로그래밍하기 위해 사용될 2차 펄스를 나타내는 데이터가 저장되고(730) 상부 페이지 데이터가 2차 프로그래밍 펄스(또는 오히려, 2차 프로그래밍 펄스를 나타내는 데이터) 및 하부 페이지의 데이터에 기초하여 프로그래밍될 수 있다(740). 방법은 상부 페이지의 서브 블럭을 프로그래밍할 때 하부 페이지의 데이터에 점점 더 타임 코스트가 증가하는 에러 복구를 점차적으로 적용하는 것을 포함할 수 있다.
한 예에서, 발명 실시예는 데이터 저장 시스템을 제공한다. 시스템은 프로세서, 전원, 및 프로세서에 결합되고 셀의 어레이를 포함하고(그리고 전원에 의해 가동되는) NAND 메모리를 포함할 수 있다. 데이터 저장 시스템은 프로그래밍 및 판독 방법을 수행하도록 구성된 회로를 포함한다. 예를 들어, 방법은 페이지의 하부 페이지 프로그래밍을 위한 초기 프로그래밍 펄스를 인가하는 것; 하부 페이지의 데이터를 사전 판독하는 것; 하부 페이지의 데이터에 에러 복구를 적용하는 것; 상부 페이지 데이터를 프로그래밍하기 위해 사용될 2차 프로그래밍 펄스를 나타내는 데이터를 저장하는 것; 및 2차 프로그래밍 펄스 및 하부 페이지의 데이터에 기초하여 상부 페이지 데이터를 프로그래밍하는 것을 포함할 수 있다.
한 예에서, 발명 실시예는 NAND 메모리 또는 NAND 메모리 장치를 제공한다. NAND 메모리는 NAND 메모리 셀의 어레이; 및 방법을 수행하도록 구성된 회로를 포함할 수 있다. 예를 들어, 방법은 페이지의 하부 페이지 프로그래밍을 위한 초기 프로그래밍 펄스를 인가하는 것; 하부 페이지의 데이터를 사전 판독하는 것; 하부 페이지의 데이터에 에러 복구 동작을 적용할지를 결정하는 것; 상부 페이지 데이터를 프로그래밍하기 위해 사용될 2차 프로그래밍 펄스를 나타내는 데이터를 저장하는 것; 및 2차 프로그래밍 펄스 및 하부 페이지의 데이터에 기초하여 상부 페이지 데이터를 프로그래밍하는 것을 포함할 수 있다.
앞서 또는 나중에 설명되는 시스템 또는 장치의 특징은 또한 여기에 설명된 방법 또는 어떤 과정에 대해 구현될 수 있고 그 반대도 가능하다. 또한, 예들에서의 특정적인 것들이 하나 이상의 실시예의 어디에나 사용될 수 있다.
이제 도 7을 참조한다. 도 7은 발명 실시예에 따른, 그리고 다양한 방법이 실시될 수 있는 메모리 장치(801)의 간단한 블럭도이다. 메모리 장치(801)는 행 및 열로 배열된 메모리 셀의 어레이(804)를 포함한다. 다양한 실시예가 NAND 메모리 어레이를 참조하여 주로 설명되지만, 다양한 실시예는 메모리 어레이(804)의 특정한 아키텍처에 제한되지 않는다. 본 실시예들에 적합한 다른 어레이 아키텍처의 어떤 예는 NOR 어레이, AND 어레이, 및 가상 접지 어레이를 포함한다. 그러나, 일반적으로, 여기에 설명된 실시예들은 각각의 메모리 셀의 임계 전압을 나타내는 데이터 신호의 발생을 허용하는 임의의 어레이 아키텍처에 적응 가능하다.
행 디코드 회로(808) 및 열 디코드 회로(810)가 메모리 장치(801)에 제공된 어드레스 신호를 디코드하기 위해 제공된다. 어드레스 신호는 메모리 어레이(804)에 액세스하기 위해 수신되어 디코드된다. 메모리 장치(801)는 또한 메모리 장치(801)로부터의 데이터 및 상태 정보의 출력뿐만 아니라, 메모리 장치(801)로의 명령, 어드레스 및 데이터의 입력을 관리하기 위한 입/출력(I/O) 제어 회로(812)를 포함한다. 어드레스 레지스터(814)는 I/O 제어 회로(812)와 행 디코드 회로(808) 및 열 디코드 회로(810) 사이에 결합되어 디코딩하기 전에 어드레스 신호를 래치한다. 명령 레지스터(824)는 I/O 제어 회로(812)와 제어 로직(816) 사이에 결합되어 들어오는 명령를 래치한다. 제어 로직(816)은 명령에 응답하여 메모리 어레이(804)에의 액세스를 제어하고 외부 프로세서(830)를 위한 상태 정보를 발생한다. 제어 로직(816)은 행 디코드 회로(808) 및 열 디코드 회로(810)에 결합되어 어드레스에 응답하여 행 디코드 회로(808) 및 열 디코드 회로(810)를 제어한다.
제어 로직(816)은 샘플 앤드 홀드 회로(818)에 결합될 수 있다. 샘플 앤드 홀드 회로(818)는 아날로그 데이터 신호의 형태로 들어오거나 나가는 데이터를 래치한다. 예를 들어, 샘플 앤드 홀드 회로는 메모리 셀에 기입될 데이터를 나타내는 들어오는 데이터 신호 또는 메모리 셀로부터 감지된 임계 전압을 나타내는 나가는 데이터 신호를 샘플링하기 위해 커패시터 또는 다른 아날로그 저장 장치를 포함할 수 있다. 샘플 앤드 홀드 회로(818)는 외부 장치에 더 강한 데이터 신호를 제공하기 위해 샘플링된 신호의 증폭 및/또는 버퍼링을 더 제공할 수 있다.
아날로그 데이터 신호의 처리는 CMOS 이미저 기술의 분야에 공지된 방법과 유사한 방식을 취할 수 있는데, 여기서 입사 조명에 응답하여 이미저의 픽셀에 발생된 전하 레벨이 커패시터에 저장된다. 이들 전하 레벨은 다음에 차동 증폭기에의 제2 입력으로서 기준 커패시터를 갖는 차동 증폭기를 사용하는 신호로 변환된다. 차동 증폭기의 출력은 다음에 아날로그-디지털 변환(ADC) 장치에 보내져 조명의 세기를 나타내는 디지털 값을 얻는다. 본 실시예들에서, 전하가 메모리 셀을 각각 판독 또는 프로그래밍하기 위해 메모리 셀의 실제 또는 목표 임계 전압을 나타내는 데이터 신호에 그것을 가한 것에 응답하여 커패시터에 저장될 수 있다. 이 전하는 다음에 접지 입력 또는 제2 입력으로서 다른 기준 신호를 갖는 차동 증폭기를 사용하여 아날로그 데이터 신호로 변환될 수 있다. 차동 증폭기의 출력은 다음에 판독 동작의 경우에, 메모리 장치로부터의 출력을 위해 I/O 제어 회로(812)에 보내지거나, 또는 메모리 장치를 프로그래밍하는데 있어서 하나 이상의 검증 동작 동안에 비교를 위해 사용될 수 있다. I/O 제어 회로(812)는 메모리 장치(801)가 아날로그 또는 디지털 데이터 인터페이스와 통신하기에 적합하도록 판독된 데이터를 아날로그 데이터 신호로부터 디지털 비트 패턴으로 변환하고 기입 데이터를 디지털 비트 패턴으로부터 아날로그 신호로 변환하기 위한 아날로그-디지털 변환 기능 및 디지털-아날로그 변환(DAC) 기능을 선택적으로 포함할 수 있다.
프로그래밍 동작 동안에, 메모리 어레이(804)의 목표 메모리 셀은 그들의 Vt 레벨을 표시하는 전압이 샘플 앤드 홀드 회로(818)에 유지된 레벨과 일치할 때까지 프로그램된다. 이것은 한 예로서, 유지된 전압 레벨을 목표 메모리 셀의 임계 전압과 비교하기 위해 차동 감지 장치를 사용하여 달성될 수 있다. 종래의 메모리 프로그래밍과 많이 유사하게, 프로그래밍 펄스는 그 임계 전압을 원하는 값에 도달하거나 초과할 때까지 증가시키도록 목표 메모리 셀에 인가될 수 있다. 판독 동작에서, 목표 메모리 셀의 Vt 레벨은 샘플 앤드 홀드 메모리(818)에 보내져 ADC/DAC 기능이 메모리 장치 외부에 제공되는지 또는 그 안에 있는지에 따라 아날로그 신호로서 직접 또는 아날로그 신호의 디지털화된 표현으로서 외부 프로세서(도 7에 도시 생략)에 전달된다.
셀의 임계 전압은 다양한 방식으로 결정될 수 있다. 예를 들어, 전형적으로 워드 라인이라고 하는 것과 같은, 액세스 라인, 전압은 목표 메모리 셀이 활성화되는 시점에 샘플링될 수 있다. 다르게는, 상승된 전압이 목표 메모리 셀의 제1 소스/드렌인 측에 인가될 수 있고, 임계 전압이 그것의 제어 게이트 전압과 그것의 다른 소스/드레인 측의 전압 간의 차이로서 취해질 수 있다. 전압을 커패시터에 결합함으로써, 전하는 샘플링된 전압을 저장하기 위해 커패시터와 공유될 것이다. 샘플링된 전압은 임계 전압과 동일할 필요는 없지만, 단지 그 전압을 표시하지만 하면 된다는 점에 주목한다. 예를 들어, 상승된 전압을 메모리 셀의 제1 소스/드레인 측에 인가하고 기지의 전압을 그것의 제어 게이트에 인가하는 경우에, 메모리 셀의 제2 소스/드레인 측에 발생된 전압은 발생된 전압이 메모리 셀의 임계 전압을 표시함에 따라 데이터 신호로서 취해질 수 있다.
샘플 앤드 홀드 회로(818)는 캐싱, 즉 각 데이터 값에 대한 다중 저장 위치를 포함하여, 메모리 장치(801)는 제1 데이터 값이 외부 프로세서로 보내지는 동안 다음 데이터 값을 판독할 수 있고, 또는 제1 데이터 값이 메모리 어레이(804)로 기입되는 동안 다음 데이터 값을 수신할 수 있다. 상태 레지스터(822)는 I/O 제어 회로(812)와 제어 로직(816) 사이에 결합되어 외부 프로세서로의 출력을 위한 상태 정보를 래치한다.
메모리 장치(801)는 제어 링크(832)를 통해 제어 로직(816)에서 제어 신호를 수신한다. 제어 신호는 칩 인에이블 CE#, 명령 래치 인에이블 CLE, 어드레스 래치 인에이블 ALE, 및 기입 인에이블 WE#을 포함할 수 있다. 메모리 장치(801)는 명령(명령 신호의 형태), 어드레스(어드레스 신호의 형태), 및 데이터(데이터 신호의 형태)를 멀티플렉스된 입/출력(I/O) 버스(834)를 통해 외부 메모리로부터 수신하고 데이터를 I/O 버스(834)를 통해 외부 프로세서에 출력할 수 있다.
특정한 예에서, 명령은 I/O 제어 회로(812)에서 I/O 버스(834)의 입/출력(I/O) 핀[7:0]을 통해 수신되고 명령 레지스터(824) 내로 기입된다. 어드레스는 I/O 제어 회로(812)에서 버스(834)의 입/출력(I/O) 핀[7:0]을 통해 수신되고 어드레스 레지스터(814) 내로 기입된다. 데이터는 8개의 병렬 신호를 수신할 수 있는 장치를 위한 입/출력(I/O) 핀[7:0], 또는 I/O 제어 회로(812)에서, 16개의 병렬 신호를 수신할 수 있는 장치를 위한 입/출력(I/O) 핀[15:0]을 통해 수신될 수 있고 샘플 앤드 홀드 회로(818)에 전달된다. 데이터는 또한 8개의 병렬 신호를 송신할 수 있는 입/출력(I/O) 핀[7:0], 또는 16개의 병렬 신호를 송신할 수 있는 장치를 위한 입/출력(I/O) 핀[15:0]을 통해 출력될 수 있다. 추가적인 회로 및 신호가 제공될 수 있고, 도 7의 메모리 장치는 본 개시의 실시예들에 집중하는데 도움을 주기 위해 간단화되었는다는 것을 본 기술 분야의 통상 기술자는 알 것이다.
메모리의 상부 페이지 프로그래밍을 위한 하부 페이지 데이터 사전 판독 동안에 에러 복구를 적용하는 방법은 메모리(801)와 같은 메모리 상에서 다양한 실시예들에서 수행될 수 있다. 이러한 방법은 도 1-6에 도시되고 여기에 설명된다.
도 7이 샘플 앤드 홀드 회로(818)에 대해 설명되었지만, 제어 로직(816)은 본 개시의 범위에서 벗어나지 않고서 샘플 앤드 홀드 회로(818) 대신에 데이터 래치에 결합될 수 있다는 것을 이해하여야 한다. 데이터 래치는 들어오거나 나가는 데이터를 래치한다. 기입 동작 동안에, 메모리 어레이(804)의 목표 메모리 셀은 예를 들어, 그들의 Vt 레벨을 표시하는 전압이 데이터 래치에 유지된 데이터와 일치할 때까지, 상술한 것과 같은 2개 세트의 프로그래밍 펄스를 사용하여 프로그램될 수 있다. 이것은 한 예로서, 유지된 데이터를 목표 메모리 셀의 임계 전압과 비교하기 위해 차동 감지 장치를 사용하여 달성될 수 있다.
부가적으로, 도 7의 메모리 장치는 다양한 신호의 수신과 출력을 위한 대중적인 관례에 따라 설명되었지만, 다양한 실시예들이 설명된 특정한 신호 및 I/O 구성에 의해 제한되지 않는다는 점에 주목한다. 예를 들어, 명령 및 어드레스 신호는 데이터 신호를 수신하는 것과 별도인 입력에서 수신될 수 있고, 또는 데이터 신호는 I/O 버스(834)의 단일 I/O 라인을 통해 직렬로 전송될 수 있다. 데이터 신호는 개별 비트 대신에 비트 패턴을 나타내기 때문에, 8 비트 데이터 신호의 직렬 통신이 개개의 비트를 나타내는 8개의 신호의 병렬 통신 만큼 효율적일 수 있다.
다양한 기술 또는 소정의 양태 또는 그것의 일부들이 플로피 디스켓, CD-ROM, 하드 드라이브, 또는 임의의 다른 머신 판독가능 저장 매체와 같은 유형의 매체(tangible media)에서 실시되는 프로그램 코드(예를 들면, 명령어)의 형태를 취할 수 있고, 프로그램 코드는 컴퓨터와 같은 머신에 의해 로딩 및 실행될 때, 머신은 다양한 기술을 실시하기 위한 장치가 된다. 회로는 하드웨어, 펌웨어, 프로그램 코드, 실행가능한 코드, 컴퓨터 명령어, 및/또는 소프트웨어를 포함할 수 있다. 비일시적 컴퓨터 판독가능한 저장 매체는, 신호를 포함하지 않는 컴퓨터 판독가능한 저장 매체일 수 있다. 프로그램 가능한 컴퓨터 상에서 프로그램 코드를 실행하는 경우에, 컴퓨팅 장치는 프로세서, 프로세서에 의해 판독 가능한 저장 매체(휘발성, 비휘발성 메모리 및/또는 저장 구성 요소를 포함함), 적어도 하나의 입력 장치 및 적어도 하나의 출력 장치를 포함할 수 있다. 휘발성 및 비휘발성 메모리 및/또는 저장 소자는, RAM, EPROM, 플래시 드라이브, 광 드라이브, 자기 하드 드라이브, 고상 드라이브, 또는 전자 데이터를 저장하기 위한 기타의 매체일 수 있다. 노드와 무선 장치는 또한, 트랜시버 모듈, 카운터 모듈, 처리 모듈, 및/또는 클록 모듈 또는 타이머 모듈을 포함할 수 있다. 본 명세서에서 기술된 다양한 기술들을 구현하거나 이용할 수 있는 하나 이상의 프로그램은 API(애플리케이션 프로그래밍 인터페이스), 재사용 가능 제어(reusable controls) 등을 사용할 수 있다. 이러한 프로그램은 컴퓨터 시스템과 통신하기 위하여 고급 절차적 프로그래밍 언어 또는 객체 지향적 프로그래밍 언어로 구현될 수 있다. 그러나, 프로그램(들)은 요구되는 경우에 어셈블리어 또는 기계어로 구현될 수 있다. 어느 경우에나, 이 언어는 컴파일되거나 인터프리트되는 언어일 수 있고, 하드웨어 구현과 결합될 수 있다.
한 예에서, 발명의 실시예는 NAND 메모리 장치를 제공하고, 상기 장치는 NAND 메모리 셀의 어레이; 및 페이지의 하부 페이지 프로그래밍을 위한 초기 프로그래밍 펄스를 인가하고, 상기 하부 페이지의 데이터를 사전 판독하고, 상기 하부 페이지의 상기 데이터에 에러 복구 동작을 적용할지를 결정하고, 상부 페이지 데이터를 프로그래밍하기 위해 사용될 2차 프로그래밍 펄스를 나타내는 데이터를 저장하고, 상기 2차 프로그래밍 펄스 및 상기 하부 페이지의 상기 데이터에 기초하여 상기 상부 페이지 데이터를 프로그램하도록 구성된 제어기를 갖는다.
한 예에서, 상기 에러 복구 동작은 상기 상부 페이지 프로그래밍을 위한 워드 라인 위치에 기초하여 변화하는 복수의 상이한 에러 복구 동작을 포함한다.
한 예에서, 상기 상부 페이지의 하위 서브 블럭을 프로그래밍할 때 제1 에러 복구 동작이 적용되고, 상기 상부 페이지의 중간 서브 블럭을 프로그래밍할 때 제2 에러 복구 동작이 적용되고, 상기 상부 페이지의 상위 서브 블럭을 프로그래밍할 때 제3 에러 복구 동작이 적용된다.
한 예에서, 상기 하부 페이지의 상기 데이터에 상기 에러 복구 동작을 적용할지를 결정하는 것은 상기 상부 페이지 데이터를 프로그래밍하는 것이 하위 서브 블럭을 프로그래밍하는 것을 포함하는지 상위 서브 블럭을 프로그래밍하는 것을 포함하는지를 결정하는 것을 포함하고, 상기 방법은 상기 하위 서브 블럭에 대한 에러 복구를 그만두고 상기 상위 서브 블럭에 상기 에러 복구를 적용하는 것을 포함한다.
한 예에서, 상기 하부 페이지의 상기 데이터에 상기 에러 복구 동작을 적용할지를 결정하는 것은 상기 하부 페이지에 대한 프로그래밍 순환의 수를 결정하고 상기 프로그래밍 순환의 수가 미리 결정된 임계값을 초과할 때 상기 에러 복구 동작을 적용하는 것을 포함한다.
한 예에서, 상기 상부 페이지의 하위 서브 블럭을 프로그래밍할 때 제1 에러 복구 동작이 적용되고, 상기 상부 페이지의 중간 서브 블럭을 프로그래밍할 때 제2 에러 복구 동작이 적용되고, 상기 상부 페이지의 상위 서브 블럭을 프로그래밍할 때 제3 에러 복구 동작이 적용된다.
한 예에서, 상기 제1, 제2 및 제3 에러 복구 동작 각각은 서로 다르다.
한 예에서, 상기 하위 서브 블럭, 중간 서브 블럭, 및 상위 서브 블럭은 동일한 수의 서브 블럭을 각각 포함하는 서브 블럭의 그룹이다.
한 예에서, 상기 하위 서브 블럭, 중간 서브 블럭, 및 상위 서브 블럭은 그 중 적어도 2개가 상이한 수의 서브 블럭을 포함하는 서브 블럭의 그룹이다.
한 예에서, 상기 제1, 제2 및 제3 에러 복구 동작 각각은 상이한 타임 코스트를 갖는다.
한 예에서, 상기 에러 복구 동작은 상기 상부 페이지 프로그래밍을 위한 워드 라인 위치에 기초하여 변화하는 복수의 상이한 에러 복구 동작을 포함한다.
한 예에서, 상기 에러 복구 동작은 상기 상부 페이지 프로그래밍을 위한 워드 라인 위치, 상기 상부 페이지 프로그래밍을 위한 서브 블럭 또는 상기 하부 페이지의 상기 데이터의 상기 사전 판독을 위한 순환 총수의 조합에 기초하여 변화하는 복수의 상이한 에러 복구 동작을 포함한다.
한 예에서, 상기 상부 페이지의 상기 서브 블럭을 프로그래밍할 때 상기 하부 페이지의 상기 데이터에 점점 더 타임 코스트가 증가하는 에러 복구를 점차적으로 적용하는 것을 더 포함한다.
한 예시적인 발명 실시예에서, 데이터 저장 시스템이 제공되고, 상기 시스템은 프로세서; 전원; 상기 프로세서에 결합되고 메모리 셀의 어레이를 포함하는 NAND 메모리; 및 페이지의 하부 페이지 프로그래밍을 위한 초기 프로그래밍 펄스를 인가하고, 상기 하부 페이지의 데이터를 사전 판독하고, 상기 하부 페이지의 데이터에 에러 복구를 적용하고, 상부 페이지 데이터를 프로그래밍하기 위해 사용될 2차 프로그래밍 펄스를 나타내는 데이터를 저장하고, 상기 2차 프로그래밍 펄스 및 상기 하부 페이지의 상기 데이터에 기초하여 상기 상부 페이지 데이터를 프로그램하도록 구성된 제어기를 포함하고, 상기 하부 페이지의 상기 데이터에 상기 에러 복구를 적용할 때, 상기 제어기는 상기 상부 페이지 데이터의 프로그래밍 동안에 상기 하부 페이지의 상기 데이터에 상이한 에러 복구 방식들을 점차적으로 적용한다.
한 예에서, 상기 에러 복구 동작은 상기 상부 페이지 프로그래밍을 위한 워드 라인 위치에 기초하여 변화하는 복수의 상이한 에러 복구 동작을 포함한다.
한 예에서, 상기 상부 페이지의 하위 서브 블럭을 프로그래밍할 때 제1 에러 복구 동작이 적용되고, 상기 상부 페이지의 중간 서브 블럭을 프로그래밍할 때 제2 에러 복구 동작이 적용되고, 상기 상부 페이지의 상위 서브 블럭을 프로그래밍할 때 제3 에러 복구 동작이 적용된다.
한 예에서, 상기 에러 복구는 인접한 워드라인의 판독 전압에 기초하여 상기 하부 페이지의 상기 데이터의 서브 블럭의 판독 전압을 수정함으로써 간섭 보상을 포함한다.
한 예에서, 상기 하부 페이지의 상기 데이터의 상기 서브 블럭의 상기 판독 전압은 단일의 인접한 워드라인의 상기 판독 전압에 기초하여 수정된다.
한 예에서, 상기 하부 페이지의 상기 데이터의 상기 서브 블럭의 상기 판독 전압은 다중의 인접한 워드라인의 상기 판독 전압에 기초하여 수정된다.
한 예에서, 상기 에러 복구 동작은 상기 하부 페이지의 상기 사전 판독된 데이터를 제어기에 출력하고, 상기 제어기로 상기 데이터를 정정하고, 상기 상부 페이지 데이터를 프로그래밍하기 위해 상기 정정된 데이터를 사용하는 것을 포함한다.
한 예에서, 상기 에러 복구 동작은 최소 비트 에러율을 위한 판독 전압을 결정하고 상기 최소 비트 에러율을 위한 상기 판독 전압에 기초하여 상기 하부 페이지의 상기 데이터의 판독 전압을 조정하는 제어기를 사용하는, 판독 전압 서치를 포함한다.
한 예에서, 상기 하부 페이지의 상기 데이터의 상기 판독 전압은 가변이다.
한 예에서, 상기 에러 복구 동작은 상기 상부 페이지 프로그래밍을 위한 워드 라인 위치에 기초하여 변화하는 복수의 상이한 에러 복구 동작을 포함한다.
예시적인 발명 실시예에서, NAND 메모리 장치에서의 메모리의 페이지를 프로그래밍하는 컴퓨터 구현 방법으로서, 상기 페이지의 하부 페이지 프로그래밍을 위한 초기 프로그래밍 펄스를 인가하는 단계; 상기 하부 페이지의 데이터를 사전 판독하는 단계; 상부 페이지 데이터를 프로그래밍하기 위해 사용될 2차 프로그래밍 펄스를 나타내는 데이터를 저장하는 단계; 상기 2차 프로그래밍 펄스 및 상기 하부 페이지의 상기 데이터에 기초하여 상기 상부 페이지 데이터를 프로그래밍하는 단계; 및 상기 상부 페이지의 상기 서브 블럭을 프로그래밍할 때 상기 하부 페이지의 상기 데이터에 점점 더 타임 코스트가 증가하는 에러 복구를 점차적으로 적용하는 단계를 포함하는 방법이 제공된다.
한 예에서, 상기 에러 복구 동작은 상기 상부 페이지 프로그래밍을 위한 워드 라인 위치에 기초하여 변화하는 복수의 상이한 에러 복구 동작을 포함한다.
한 예에서, 상기 상부 페이지의 하위 서브 블럭을 프로그래밍할 때 제1 에러 복구 동작이 적용되고, 상기 상부 페이지의 중간 서브 블럭을 프로그래밍할 때 제2 에러 복구 동작이 적용되고, 상기 상부 페이지의 상위 서브 블럭을 프로그래밍할 때 제3 에러 복구 동작이 적용된다.
한 예의 발명 실시예는 NAND 메모리 장치에서의 메모리의 페이지를 프로그래밍하는 컴퓨터 구현 방법으로서, 상기 페이지의 하부 페이지 프로그래밍을 위한 초기 프로그래밍 펄스를 인가하는 단계; 상기 하부 페이지의 데이터를 사전 판독하는 단계; 상기 하부 페이지의 상기 데이터에 에러 복구 동작을 적용할지를 결정하는 단계; 상부 페이지 데이터를 프로그래밍하기 위해 사용될 2차 프로그래밍 펄스를 나타내는 데이터를 저장하는 단계; 및 상기 2차 프로그래밍 펄스 및 상기 하부 페이지의 상기 데이터에 기초하여 상기 상부 페이지 데이터를 프로그래밍하는 단계를 포함하는 방법을 제공한다.
한 예에서, 방법은 중간 페이지 데이터를 프로그래밍하기 위해 사용될 3차 프로그래밍 펄스를 나타내는 데이터를 저장하는 단계; 상기 3차 프로그래밍 펄스 및 상기 하부 페이지의 상기 데이터에 기초하여 상기 중간 페이지 데이터를 프로그래밍하는 단계; 및 상기 중간 페이지 데이터를 사전 판독하는 단계를 더 포함하고, 상기 2차 프로그래밍 펄스 및 상기 하부 페이지의 상기 데이터에 기초하여 상기 상부 페이지 데이터를 프로그래밍하는 단계는 상기 2차 펄스 및 상기 중간 페이지의 상기 데이터에 기초하여 상기 상부 페이지 데이터를 프로그래밍하는 단계를 포함하고, 상기 중간 페이지 데이터는 상기 하부 페이지의 상기 데이터에 기초하여 프로그램된다.
한 예의 실시예에서, 상기 하부 페이지의 상기 데이터에 상기 에러 복구 동작을 적용할지를 결정하는 단계는 상기 상부 페이지 데이터를 프로그래밍하는 것이 하위 서브 블럭을 프로그래밍하는 것을 포함하는지 상위 서브 블럭을 프로그래밍하는 것을 포함하는지를 결정하는 단계를 포함하고, 상기 방법은 상기 하위 서브 블럭에 대한 에러 복구를 그만두고 상기 상위 서브 블럭에 에러 복구를 적용하는 단계를 더 포함한다.
한 예의 실시예에서, 상기 에러 복구는 인접한 워드라인의 판독 전압에 기초하여 상기 하부 페이지의 상기 데이터의 서브 블럭의 판독 전압을 수정함으로써 간섭 보상을 포함한다.
한 예의 실시예에서, 상기 하부 페이지의 상기 데이터의 상기 서브 블럭의 상기 판독 전압은 단일의 인접한 워드라인의 상기 판독 전압에 기초하여 수정된다.
한 예의 실시예에서, 상기 하부 페이지의 상기 데이터의 상기 서브 블럭의 상기 판독 전압은 다중의 인접한 워드라인의 상기 판독 전압에 기초하여 수정된다.
한 예의 실시예에서, 상기 에러 복구 동작은 상기 하부 페이지의 상기 사전 판독된 데이터를 제어기에 출력하고, 상기 제어기로 상기 데이터를 정정하고, 상기 상부 페이지 데이터를 프로그래밍하기 위해 상기 정정된 데이터를 사용하는 것을 포함한다.
한 예의 실시예에서, 상기 에러 복구 동작은 최소 비트 에러율을 위한 판독 전압을 결정하고 상기 최소 비트 에러율을 위한 상기 판독 전압에 기초하여 상기 하부 페이지의 상기 데이터의 판독 전압을 조정하는 제어기를 사용하는, 판독 전압 서치를 포함한다.
한 예의 실시예에서, 상기 하부 페이지의 상기 데이터의 상기 판독 전압은 가변이다.
한 예의 실시예에서, 상기 하부 페이지의 상기 데이터에 상기 에러 복구 동작을 적용할지를 결정하는 것은 상기 하부 페이지에 대한 프로그래밍 순환의 수를 결정하고 상기 프로그래밍 순환의 수가 미리 결정된 임계값을 초과할 때 상기 에러 복구 동작을 적용하는 것을 포함한다.
한 예의 실시예에서, 상기 에러 복구 동작은 상기 상부 페이지 프로그래밍을 위한 워드 라인 위치에 기초하여 변화하는 복수의 상이한 에러 복구 동작을 포함한다.
한 예의 실시예는 NAND 메모리 장치에서의 메모리의 페이지를 프로그래밍하는 컴퓨터 구현 방법으로서, 상기 페이지의 하부 페이지 프로그래밍을 위한 초기 프로그래밍 펄스를 인가하는 단계; 상기 하부 페이지의 데이터를 사전 판독하는 단계; 상기 하부 페이지의 상기 데이터에 에러 복구를 점차적으로 적용하는 단계; 상부 페이지 데이터를 프로그래밍하기 위해 사용될 2차 프로그래밍 펄스를 나타내는 데이터를 저장하는 단계; 및 상기 2차 프로그래밍 펄스 및 상기 하부 페이지의 상기 데이터에 기초하여 상기 상부 페이지 데이터를 프로그래밍하는 단계를 포함하는 방법을 제공한다.
한 예에서, 상기 상부 페이지의 하위 서브 블럭을 프로그래밍할 때 제1 에러 복구 동작이 적용되고, 상기 상부 페이지의 중간 서브 블럭을 프로그래밍할 때 제2 에러 복구 동작이 적용되고, 상기 상부 페이지의 상위 서브 블럭을 프로그래밍할 때 제3 에러 복구 동작이 적용된다.
한 예에서, 상기 제1, 제2 및 제3 에러 복구 동작 각각은 서로 다르다.
한 예에서, 상기 하위 서브 블럭, 중간 서브 블럭, 및 상위 서브 블럭은 동일한 수의 서브 블럭을 각각 포함하는 서브 블럭의 그룹이다.
한 예에서, 상기 하위 서브 블럭, 중간 서브 블럭, 및 상위 서브 블럭은 그 중 적어도 2개가 상이한 수의 서브 블럭을 포함하는 서브 블럭의 그룹이다.
한 예에서, 상기 제1, 제2 및 제3 에러 복구 동작 각각은 상이한 타임 코스트를 갖는다.
한 예에서, 상기 에러 복구 동작은 상기 상부 페이지 프로그래밍을 위한 워드 라인 위치에 기초하여 변화하는 복수의 상이한 에러 복구 동작을 포함한다.
한 예에서, 상기 에러 복구 동작은 상기 상부 페이지 프로그래밍을 위한 워드 라인 위치, 상기 상부 페이지 프로그래밍을 위한 서브 블럭 또는 상기 하부 페이지의 상기 데이터의 상기 사전 판독을 위한 순환 총수의 조합에 기초하여 변화하는 복수의 상이한 에러 복구 동작을 포함한다.
한 예에서, 방법은 상기 상부 페이지의 상기 서브 블럭을 프로그래밍할 때 상기 하부 페이지의 상기 데이터에 점점 더 타임 코스트가 증가하는 에러 복구를 점차적으로 적용하는 단계를 더 포함한다.
한 예시적인 발명 실시예에서 NAND 메모리 장치에서의 메모리의 페이지를 프로그래밍하는 컴퓨터 구현 방법으로서, 상기 페이지의 하부 페이지 프로그래밍을 위한 초기 프로그래밍 펄스를 인가하는 단계; 상기 하부 페이지의 데이터를 사전 판독하는 단계; 상부 페이지 데이터를 프로그래밍하기 위해 사용될 2차 프로그래밍 펄스를 나타내는 데이터를 저장하는 단계; 상기 2차 프로그래밍 펄스 및 상기 하부 페이지의 상기 데이터에 기초하여 상기 상부 페이지 데이터를 프로그래밍하는 단계; 및 상기 상부 페이지의 상기 서브 블럭을 프로그래밍할 때 상기 하부 페이지의 상기 데이터에 점점 더 타임 코스트가 증가하는 에러 복구를 점차적으로 적용하는 단계를 포함하는 방법이 제공된다.
한 예에서, 상기 에러 복구 동작은 상기 상부 페이지 프로그래밍을 위한 워드 라인 위치에 기초하여 변화하는 복수의 상이한 에러 복구 동작을 포함한다.
한 예에서, 상기 상부 페이지의 하위 서브 블럭을 프로그래밍할 때 제1 에러 복구 동작이 적용되고, 상기 상부 페이지의 중간 서브 블럭을 프로그래밍할 때 제2 에러 복구 동작이 적용되고, 상기 상부 페이지의 상위 서브 블럭을 프로그래밍할 때 제3 에러 복구 동작이 적용된다.
전술된 예들은 하나 이상의 특정 응용에서의 본 발명의 원리를 예시하지만, 창의적 능력에 대한 훈련 없이도, 그리고 본 발명의 원리 및 개념을 벗어나지 않고서, 형태, 사용 및 세부적 구현 방법에서의 다양한 변경이 가능함이 통상의 기술자에게 명백할 것이다. 따라서, 이하에서 제시된 청구 범위에 의한 바를 제외하고, 본 발명을 한정하려는 의도는 아니다.

Claims (25)

  1. NAND 메모리 장치로서,
    NAND 메모리 셀의 어레이; 및
    페이지의 하부 페이지 프로그래밍을 위한 초기 프로그래밍 펄스들을 인가하고,
    하부 페이지의 데이터를 사전 판독하고,
    상기 하부 페이지의 상기 데이터에 에러 복구 동작을 적용할지를 결정하고,
    상부 페이지 데이터를 프로그래밍하기 위해 사용될 2차 프로그래밍 펄스들을 나타내는 데이터를 저장하고,
    상기 2차 프로그래밍 펄스들 및 상기 하부 페이지의 상기 데이터에 기초하여 상기 상부 페이지 데이터를 프로그램하도록 구성된
    제어기
    를 포함하고,
    상기 상부 페이지의 하위 서브 블럭들을 프로그래밍할 때 제1 에러 복구 동작이 적용되고, 상기 상부 페이지의 중간 서브 블럭들을 프로그래밍할 때 제2 에러 복구 동작이 적용되고, 상기 상부 페이지의 상위 서브 블럭들을 프로그래밍할 때 제3 에러 복구 동작이 적용되고,
    상기 제1, 제2, 및 제3 에러 복구 동작들 각각이 상이하거나; 또는 상기 하위 서브 블럭들, 중간 서브 블럭들, 및 상위 서브 블럭들이, 각각이 동일한 수의 서브 블럭들을 포함하는 서브 블럭들의 그룹들이거나; 또는 상기 하위 서브 블럭들, 중간 서브 블럭들, 및 상위 서브 블럭들이, 그룹들 중 적어도 2개가 상이한 수의 서브 블럭들을 포함하는 서브 블럭들의 그룹들이거나; 또는 상기 제1, 제2, 및 제3 에러 복구 동작들 각각이 상이한 타임 코스트들을 갖는 것 중 어느 하나인 NAND 메모리 장치.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서, 상기 하부 페이지의 상기 데이터에 상기 에러 복구 동작을 적용할지를 결정하는 것은, 상기 상부 페이지 데이터를 프로그래밍하는 것이 하위 서브 블럭을 프로그래밍하는 것을 포함하는지 상위 서브 블럭을 프로그래밍하는 것을 포함하는지를 결정하는 것, 및 상기 하위 서브 블럭에 대한 에러 복구를 그만두고 상기 상위 서브 블럭에 상기 에러 복구를 적용하는 것을 포함하는 메모리 장치.
  5. 제1항에 있어서, 상기 하부 페이지의 상기 데이터에 상기 에러 복구 동작을 적용할지를 결정하는 것은 상기 하부 페이지에 대한 프로그래밍 순환들의 수를 결정하고 상기 프로그래밍 순환들의 수가 미리 결정된 임계값을 초과할 때 상기 에러 복구 동작을 적용하는 것을 포함하는 메모리 장치.
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 제1항에 있어서, 상기 에러 복구 동작은 상기 상부 페이지 프로그래밍을 위한 워드 라인 위치에 기초하여 변화하는 복수의 상이한 에러 복구 동작을 포함하는 메모리 장치.
  12. 제1항에 있어서, 상기 에러 복구 동작은 상부 페이지 프로그래밍을 위한 워드 라인 위치, 상기 상부 페이지 프로그래밍을 위한 서브 블럭 또는 상기 하부 페이지의 상기 데이터의 상기 사전 판독을 위한 순환 총수의 조합에 기초하여 변화하는 복수의 상이한 에러 복구 동작을 포함하는 메모리 장치.
  13. 제1항에 있어서, 상기 상부 페이지의 서브 블럭들을 프로그래밍할 때 상기 하부 페이지의 상기 데이터에 점점 더 타임 코스트가 증가하는 에러 복구를 점차적으로 적용하는 것을 더 포함하는 메모리 장치.
  14. 데이터 저장 시스템으로서,
    프로세서;
    전원; 및
    상기 프로세서에 결합되는 제1항의 NAND 메모리 장치
    를 포함하는, 시스템.
  15. 제14항에 있어서, 상기 에러 복구 동작은 상기 상부 페이지 프로그래밍을 위한 워드 라인 위치에 기초하여 변화하는 복수의 상이한 에러 복구 동작을 포함하는 시스템.
  16. 삭제
  17. 제14항에 있어서, 상기 에러 복구는 인접한 워드라인의 판독 전압에 기초하여 상기 하부 페이지의 상기 데이터의 서브 블럭의 판독 전압을 수정하는 것에 의한 간섭 보상을 포함하는 시스템.
  18. 제17항에 있어서, 상기 하부 페이지의 상기 데이터의 상기 서브 블럭의 상기 판독 전압은 단일의 인접한 워드라인의 상기 판독 전압에 기초하여 수정되는 시스템.
  19. 제17항에 있어서, 상기 하부 페이지의 상기 데이터의 상기 서브 블럭의 상기 판독 전압은 다중의 인접한 워드라인의 상기 판독 전압에 기초하여 수정되는 시스템.
  20. 제14항에 있어서, 상기 에러 복구 동작은 상기 하부 페이지의 상기 사전 판독된 데이터를 상기 제어기에 출력하고, 상기 제어기로 상기 하부 페이지 데이터를 정정하고, 상기 상부 페이지 데이터를 프로그래밍하기 위해 상기 정정된 데이터를 사용하는 것을 포함하는 시스템.
  21. 제14항에 있어서, 상기 에러 복구 동작은 최소 비트 에러율을 위한 판독 전압을 결정하고 상기 최소 비트 에러율을 위한 상기 판독 전압에 기초하여 상기 하부 페이지의 상기 데이터의 판독 전압을 조정하는 상기 제어기를 사용하는, 판독 전압 서치를 포함하는 시스템.
  22. 삭제
  23. 삭제
  24. NAND 메모리 장치에서의 메모리의 페이지를 프로그래밍하는 컴퓨터에 의해 구현되는 방법으로서,
    페이지의 하부 페이지 프로그래밍을 위한 초기 프로그래밍 펄스들을 인가하는 단계;
    하부 페이지의 데이터를 사전 판독하는 단계;
    상기 하부 페이지의 상기 데이터에 에러 복구 동작을 적용할지를 결정하는 단계;
    상부 페이지 데이터를 프로그래밍하기 위해 사용될 2차 프로그래밍 펄스들을 나타내는 데이터를 저장하는 단계;
    상기 2차 프로그래밍 펄스들 및 상기 하부 페이지의 상기 데이터에 기초하여 상기 상부 페이지 데이터를 프로그래밍하는 단계;
    중간 페이지 데이터를 프로그래밍하기 위해 사용될 3차 프로그래밍 펄스들을 나타내는 데이터를 저장하는 단계;
    상기 3차 프로그래밍 펄스들 및 상기 하부 페이지의 상기 데이터에 기초하여 상기 중간 페이지 데이터를 프로그래밍하는 단계; 및
    상기 중간 페이지 데이터를 사전 판독하는 단계
    를 포함하고,
    상기 2차 프로그래밍 펄스들 및 상기 하부 페이지의 상기 데이터에 기초하여 상기 상부 페이지 데이터를 프로그래밍하는 단계는 상기 2차 프로그래밍 펄스들 및 상기 중간 페이지의 상기 데이터에 기초하여 상기 상부 페이지 데이터를 프로그래밍하는 단계를 포함하고, 상기 중간 페이지 데이터는 상기 하부 페이지의 상기 데이터에 기초하여 프로그램되는 방법.
  25. 삭제
KR1020150072037A 2014-06-25 2015-05-22 Nand 사전 판독 에러 복구 KR101743974B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/314,663 US9672102B2 (en) 2014-06-25 2014-06-25 NAND memory devices systems, and methods using pre-read error recovery protocols of upper and lower pages
US14/314,663 2014-06-25

Publications (2)

Publication Number Publication Date
KR20160000842A KR20160000842A (ko) 2016-01-05
KR101743974B1 true KR101743974B1 (ko) 2017-06-20

Family

ID=54839882

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150072037A KR101743974B1 (ko) 2014-06-25 2015-05-22 Nand 사전 판독 에러 복구

Country Status (4)

Country Link
US (1) US9672102B2 (ko)
JP (1) JP6133929B2 (ko)
KR (1) KR101743974B1 (ko)
DE (1) DE102015108143A1 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9640270B2 (en) * 2014-08-12 2017-05-02 Sandisk Technologies Llc System and method of using multiple read operations
US9576671B2 (en) * 2014-11-20 2017-02-21 Western Digital Technologies, Inc. Calibrating optimal read levels
US9905302B2 (en) 2014-11-20 2018-02-27 Western Digital Technologies, Inc. Read level grouping algorithms for increased flash performance
US9720754B2 (en) 2014-11-20 2017-08-01 Western Digital Technologies, Inc. Read level grouping for increased flash performance
US9558064B2 (en) * 2015-01-28 2017-01-31 Micron Technology, Inc. Estimating an error rate associated with memory
US9823880B1 (en) * 2016-09-30 2017-11-21 Intel Corporation Method and apparatus for initiating pre-read operation before completion of data load operation
US9793912B1 (en) * 2016-12-27 2017-10-17 Western Digital Technologies, Inc. Analog-to-digital conversion circuitry with real-time adjusted gain and resolution
US10236067B2 (en) * 2017-08-02 2019-03-19 International Business Machines Corporation State-dependent read voltage threshold adaptation for nonvolatile memory
WO2020167283A1 (en) 2019-02-11 2020-08-20 Hewlett-Packard Development Company, L.P. Recovery from corruption
TWI688953B (zh) * 2019-04-10 2020-03-21 群聯電子股份有限公司 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
CN111831210B (zh) * 2019-04-18 2023-12-15 群联电子股份有限公司 存储器管理方法、存储器控制电路单元及存储器存储装置
US10964390B1 (en) * 2019-12-10 2021-03-30 Western Digital Technologies, Inc. Skip coding for fractional bit-per-cell NAND memories
US10950315B1 (en) * 2019-12-16 2021-03-16 Micron Technology, Inc. Preread and read threshold voltage optimization
US11348643B2 (en) * 2020-02-25 2022-05-31 Apple Inc. Identifying failure type in NVM programmed in SLC mode using a single programming pulse with no verification
WO2021207224A1 (en) * 2020-04-06 2021-10-14 Crossbar, Inc. Distinct chip identifier utilizing unclonable characteristics of on-chip resistive memory array
US12087397B1 (en) 2020-04-06 2024-09-10 Crossbar, Inc. Dynamic host allocation of physical unclonable feature operation for resistive switching memory
US11823739B2 (en) 2020-04-06 2023-11-21 Crossbar, Inc. Physically unclonable function (PUF) generation involving high side programming of bits
US11437119B2 (en) 2020-08-19 2022-09-06 Micron Technology, Inc. Error read flow component
US11734094B2 (en) 2020-08-19 2023-08-22 Micron Technology, Inc. Memory component quality statistics
CN113626381B (zh) * 2021-06-30 2023-12-22 济南浪潮数据技术有限公司 一种基于分布式文件系统交织读预读的优化方法、装置
CN113805815B (zh) * 2021-09-18 2024-03-01 中国科学院微电子研究所 一种用于闪存的数据恢复方法、装置及系统
US20230359388A1 (en) * 2022-05-03 2023-11-09 Micron Technology, Inc. Memory read calibration based on memory device-originated metadata characterizing voltage distributions

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080273385A1 (en) * 2007-05-03 2008-11-06 Micron Technology, Inc. NAND step up voltage switching method
US20120030506A1 (en) * 2010-07-30 2012-02-02 Apple Inc. Read disturb scorecard
WO2013074528A1 (en) 2011-11-18 2013-05-23 SanDisk Technologies, Inc. Non-volatile storage with broken word line screen and data recovery
WO2014089312A1 (en) 2012-12-06 2014-06-12 Micron Technology, Inc. Setting a default read signal based on error correction

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7443729B2 (en) * 2006-07-20 2008-10-28 Sandisk Corporation System that compensates for coupling based on sensing a neighbor using coupling
US7885119B2 (en) * 2006-07-20 2011-02-08 Sandisk Corporation Compensating for coupling during programming
ATE522905T1 (de) * 2006-07-20 2011-09-15 Sandisk Corp Kompensation für die kopplung zwischen benachbarten speicherelementen in einem nichtflüchtigen speicher auf der basis der abtastung eines nachbarn mit kopplung
DE602007007480D1 (de) * 2006-07-20 2010-08-12 Sandisk Corp Floating-gate-speicher mit kopplungskompensation während der programmierung
US7508711B2 (en) * 2007-04-30 2009-03-24 Intel Corporation Arrangements for operating a memory circuit
KR101411976B1 (ko) * 2007-07-09 2014-06-27 삼성전자주식회사 플래시 메모리 시스템 및 그것의 에러 정정 방법
KR101425958B1 (ko) * 2007-09-06 2014-08-04 삼성전자주식회사 멀티-비트 데이터를 저장하는 메모리 시스템 및 그것의읽기 방법
US8144516B2 (en) * 2009-12-03 2012-03-27 Micron Technology, Inc. Dynamic pass voltage for sense operation in a memory device
KR101636248B1 (ko) 2009-12-10 2016-07-06 삼성전자주식회사 플래시 메모리 장치, 이를 포함하는 플래시 메모리 시스템 및 이의 프로그램 방법
US9135998B2 (en) * 2010-11-09 2015-09-15 Micron Technology, Inc. Sense operation flags in a memory device
JP2012123880A (ja) * 2010-12-10 2012-06-28 Toshiba Corp 半導体記憶装置
KR101772951B1 (ko) 2011-03-10 2017-09-13 삼성전자주식회사 불 휘발성 메모리 장치 및 그것의 읽기 방법
JP5404685B2 (ja) * 2011-04-06 2014-02-05 株式会社東芝 不揮発性半導体記憶装置
US8732557B2 (en) * 2011-05-31 2014-05-20 Micron Technology, Inc. Data protection across multiple memory blocks
JP6088751B2 (ja) * 2012-06-07 2017-03-01 株式会社東芝 半導体メモリ
US9135989B2 (en) * 2012-09-06 2015-09-15 Sandisk Technologies Inc. Write data preservation for non-volatile storage
US8887011B2 (en) * 2012-09-13 2014-11-11 Sandisk Technologies Inc. Erased page confirmation in multilevel memory
US8984369B2 (en) * 2012-11-21 2015-03-17 Micron Technology, Inc. Shaping codes for memory
US9543019B2 (en) * 2012-12-11 2017-01-10 Intel Corporation Error corrected pre-read for upper page write in a multi-level cell memory
US8982617B1 (en) * 2013-11-14 2015-03-17 Sandisk Technologies Inc. Block closure techniques for a data storage device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080273385A1 (en) * 2007-05-03 2008-11-06 Micron Technology, Inc. NAND step up voltage switching method
US20120030506A1 (en) * 2010-07-30 2012-02-02 Apple Inc. Read disturb scorecard
WO2013074528A1 (en) 2011-11-18 2013-05-23 SanDisk Technologies, Inc. Non-volatile storage with broken word line screen and data recovery
WO2014089312A1 (en) 2012-12-06 2014-06-12 Micron Technology, Inc. Setting a default read signal based on error correction

Also Published As

Publication number Publication date
US20150378815A1 (en) 2015-12-31
JP2016009517A (ja) 2016-01-18
JP6133929B2 (ja) 2017-05-24
DE102015108143A1 (de) 2015-12-31
US9672102B2 (en) 2017-06-06
KR20160000842A (ko) 2016-01-05

Similar Documents

Publication Publication Date Title
KR101743974B1 (ko) Nand 사전 판독 에러 복구
EP2176765B1 (en) Coarse and fine programming in a solid state memory
CN104126205B (zh) 用于减轻同时多状态感测引起的变化的存储器及其方法
EP2263154B1 (en) Analog read and write paths in a solid state memory device
US7746691B2 (en) Methods and apparatus utilizing predicted coupling effect in the programming of non-volatile memory
US8358542B2 (en) Methods, devices, and systems for adjusting sensing voltages in devices
KR102192910B1 (ko) 반도체 장치, 메모리 시스템 및 이의 동작 방법
EP2631915B1 (en) Programming a memory with varying bits per cell
US9147486B2 (en) Continuous adjusting of sensing voltages
US10049759B2 (en) Reducing verification checks when programming a memory device
US11170848B2 (en) Determining soft data
WO2008154134A1 (en) Programming error correction code into a solid state memory device with varying bits per cell
US9007841B1 (en) Programming scheme for improved voltage distribution in solid-state memory
KR20090094350A (ko) 비휘발성 다중레벨 메모리 셀 프로그래밍
US8089805B2 (en) Two-part programming methods and memories
US9490024B1 (en) Solid state storage device and reading control method thereof
US8125831B2 (en) Sensing against a reference cell
JP5545552B2 (ja) メモリ・デバイスにおけるデータ転送およびプログラミング
US8873315B2 (en) Semiconductor memory device and method of operating the same

Legal Events

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