KR101053711B1 - 인터리빙 방식의 메모리를 프로그래밍하고 검증하는 방법, 디바이스 및 시스템 - Google Patents

인터리빙 방식의 메모리를 프로그래밍하고 검증하는 방법, 디바이스 및 시스템 Download PDF

Info

Publication number
KR101053711B1
KR101053711B1 KR1020097014901A KR20097014901A KR101053711B1 KR 101053711 B1 KR101053711 B1 KR 101053711B1 KR 1020097014901 A KR1020097014901 A KR 1020097014901A KR 20097014901 A KR20097014901 A KR 20097014901A KR 101053711 B1 KR101053711 B1 KR 101053711B1
Authority
KR
South Korea
Prior art keywords
data
memory
programming
memory bank
cache
Prior art date
Application number
KR1020097014901A
Other languages
English (en)
Other versions
KR20090111818A (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 KR20090111818A publication Critical patent/KR20090111818A/ko
Application granted granted Critical
Publication of KR101053711B1 publication Critical patent/KR101053711B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1042Read-write modes for single port memories, i.e. having either a random port or a serial port using interleaving techniques, i.e. read-write of one part of the memory while preparing another part
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/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
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3468Prevention of overerasure or overprogramming, e.g. by verifying whilst erasing or writing
    • G11C16/3481Circuits or methods to verify correct programming of nonvolatile memory cells whilst programming is in progress, e.g. by detecting onset or cessation of current flow in cells and using the detector output to terminate programming
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/22Nonvolatile memory in which reading can be carried out from one memory bank or array whilst a word or sector in another bank or array is being erased or programmed simultaneously

Abstract

인터리빙 방식의 메모리 프로그래밍 및 검증 방법, 디바이스 및 시스템이 메모리 셀들의 제1 메모리 뱅크 및 제2 메모리 뱅크를 포함하는 메모리 어레이를 포함한다. 메모리 디바이스는, 상기 제1 메모리 뱅크 및 상기 제2 메모리 뱅크 각각에서의 반복적인 프로그래밍 동작 및 검증 동작을 이용하여, 제1 데이터를 상기 제1 메모리 뱅크에, 그리고 제2 데이터를 상기 제2 메모리 뱅크에 동시에 프로그래밍하도록 구성된 제어기를 더 포함하고, 상기 제2 메모리 뱅크에서의 프로그래밍 동작 및 검증 동작은 상기 제1 메모리 뱅크에서의 프로그래밍 동작 및 검증 동작으로부터 오프셋된다.
Figure R1020097014901
메모리 뱅크, 메모리 어레이, 프로그래밍 동작, 검증 동작, 제어기

Description

인터리빙 방식의 메모리를 프로그래밍하고 검증하는 방법, 디바이스 및 시스템{INTERLEAVED MEMORY PROGRAM AND VERIFY METHOD, DEVICE AND SYSTEM}
우선권 주장
본 출원은, 발명의 명칭이 "인터리빙 방식의 메모리를 프로그래밍하고 검증하는 방법, 디바이스 및 시스템(INTERLEAVED MEMORY PROGRAM AND VERIFY METHOD, DEVICE AND SYSTEM)"이고, 출원일이 2006년 12월 20일인 미국특허출원번호 제11/642,334호의 이익을 주장한다.
기술분야
본 발명은, 다양한 실시예들에서, 일반적으로는, 반도체 디바이스들의 분야에 관한 것이며, 보다 구체적으로는, 비휘발성 메모리들의 프로그래밍에 관한 것이다.
비휘발성 또는 플래시 메모리가 EEPROM(electrically erasable programmable read-only memory) 타입이며, 데이터의 비휘발성 저장용으로 이용된다. 플래시 메모리는, 컴퓨터 시스템들, 카메라들, 셀룰러 전화들 및 비휘발성 메모리를 필요로 하는 그 밖의 디바이스들 등의 휴대용 전자 제품들에서 실행 코드들 및 데이터를 저장하는데에 점점 더 많이 사용되고 있다.
종래의 플래시 메모리는 메모리 셀들의 행들 및 열들을 갖는 메모리 어레이를 포함한다. 각각의 메모리 셀들은 제어 게이트 및 부동 게이트를 갖는 전계 효과 트랜지스터(field-effect transistor)로서 제조된다. 부동 게이트는 전하를 보유할 수 있으며, 기판에 포함된 소스 및 드레인 영역들로부터 박형 산화물 층(thin oxide layer)에 의해 분리된다. 각각의 메모리 셀들은 산화물 층을 통해 드레인 영역으로부터 전자들을 부동 게이트 상에 주입함으로써 전기적으로 프로그래밍(충전)될 수 있다. 전하는 삭제 동작 동안에 산화물 층을 통해 소스에 전자들을 터널링함으로써 부동 게이트로부터 제거될 수 있다. 따라서, 메모리 셀 내의 데이터는 부동 게이트 상의 전자의 존재 유무에 의해 결정된다.
종래에는, 어레이의 행의 각각의 메모리 셀의 제어 게이트는 공통 전압(워드 라인 전압)을 갖는 라인(워드 라인이라고 함)에 접속되며, 어레이의 열의 각각의 메모리 셀의 드레인 영역은 공통 전압(비트 라인 전압)을 갖는 라인(비트 라인이라고 함)에 접속된다. 플래시 메모리들은 현재 1.3 내지 5 볼트의 범위의 통상의 동작 전압(Vcc)를 갖고 있다. 그러나, 플래시 메모리의 프로그래밍 및 삭제 동작들에는 보통 고전압(또는 프로그래밍 전압)이 요구된다. 이러한 고전압은 종종 8볼트 이상이다. 프로그래밍 동작 중에, 예를 들어, 워드 라인을 통해 제어 게이트에 고전압을 인가함으로써 부동 게이트 상에 전자들이 주입될 수 있으며, 비트 라인은 논리 "0"로 프로그래밍될 메모리 셀들에 대해서는 약 Vcc- 임계 전압(Vt)로 설정되고, 비트 라인은 논리 "1"로 프로그래밍될 메모리 셀들에 대해서는 접지로 설정된다.
어레이의 행의 프로그램 동안에, 모든 메모리 셀들이 초기의 프로그래밍을 수락하거나 유지하는 것은 아니라는 것이 공지되어 있다. 행 내의 메모리 셀들이 적절하게 프로그래밍되었는지를 판정하기 위해, 검증 프로세스가 셀들을 판독하고, 그 메모리 셀들로부터의 판독 값들을 예상된 값들 또는 최초에 프로그래밍된 값들과 비교한다. 하나 이상의 메모리 셀들이 적절하게 프로그래밍되지 않았다면, 그 프로그래밍 단계 및 검증 단계는 증분적으로 증가된 프로그래밍 값들로 반복적으로 수행된다.
플래시 메모리들이 그 밖의 메모리 기술들에 비해 다양한 이점들을 제공하지만, 연속적인 프로그램 및 검증 사이클들은 데이터를 저장하는 프로그래밍 프로세스가 길어진다는 바람직하지 못한 결과를 초래한다. 따라서, 플래시 메모리 어레이들과 연관된 전체 프로그래밍 레이턴시를 감소시키는 방법 및 시스템이 필요하게 된다.
본 발명의 특징 뿐만 아니라 본 발명의 다양한 실시예들도 이하의 본 발명의 상세한 설명, 첨부 청구범위 및 수개의 도면들을 참조함으로써 보다 명확하게 이해될 수 있다.
도 1은, 본 발명의 일 실시예에 따른 비휘발성 메모리 디바이스를 포함하는 메모리 시스템의 블록도이다.
도 2는, 본 발명의 일 실시예에 따른 메모리 디바이스의 일부의 블록도이다.
도 3은, 복수의 메모리 뱅크에서의 프로그래밍 및 검증 동작들에 대한 타이밍차트를 도시한다.
도 4는, 본 발명의 또 다른 실시예에 따른 메모리 디바이스의 일부의 블록도이다.
도 5는, 본 발명의 다른 실시예에 따른 메모리 디바이스의 일부의 블록도이다.
도 6은, 본 발명의 일 실시예에 따른 메모리 시스템을 포함하는 전자 시스템의 시스템 도면이다.
이하의 상세한 설명에서, 본 명세서의 일부를 형성하며, 본 발명이 실시될 수 있는 특정 실시예들을 실례로서 도시하는 첨부 도면들을 참조한다. 이러한 실시예들은, 당업자들이 본 발명을 실시할 수 있도록 충분히 상세히 기술되며, 다른 실시예들이 이용될 수도 있고, 본 발명의 사상 및 범주를 벗어나지 않고 구조적, 논리적 및 전기적인 변경들이 가능하다는 것이 이해될 수 있을 것이다.
비휘발성 메모리 디바이스들은 그에 저장될 데이터를 수신한다. 데이터의 저장 또는 기입은 복수의 프로그램 및 검증 사이클을 필요로 할 수 있다. 본 발명의 다양한 실시예들에 따라서, 메모리 셀들의 어레이가 동작가능한 메모리의 뱅크들로 분할된다. 다양한 메모리 뱅크들은 다양한 메모리 셀들의 뱅크들에서 동시에 실행중인 프로그램 및 검증 사이클들을 수용하는 인터리빙 방식으로 프로그래밍되고 검증된다.
인터리빙 방식의 메모리 프로그래밍 및 검증 방법, 디바이스들 및 시스템이 본 명세서에 개시된다. 본 발명의 일 실시에에서, 메모리 디바이스가 적어도 메모리 셀들의 제1 메모리 뱅크 및 제2 메모리 뱅크를 포함하는 메모리 어레이를 포함한다. 제1 데이터를 제1 및 제2 메모리 뱅크들 중 하나에 프로그래밍하고, 제2 데이터를 상기 제1 및 제2 메모리 뱅크들 중 나머지 하나에서 검증하는 것을 동시에 행함으로써, 제1 및 제2 데이터를 메모리 어레이에 프로그래밍하도록 제어기가 구성된다.
본 발명의 다른 실시예에서, 비휘발성 메모리가 개시되며, 제1 메모리 뱅크 및 제2 메모리 뱅크와 제어기를 포함한다. 제어기는, 상기 제1 메모리 뱅크 및 상기 제2 메모리 뱅크 각각에서의 프로그래밍 동작 및 검증 동작을 이용하여, 제1 데이터를 상기 제1 메모리 뱅크에, 그리고 제2 데이터를 상기 제2 메모리 뱅크에 동시에 프로그래밍하도록 구성된다. 상기 제2 메모리 뱅크에서의 프로그래밍 동작 및 검증 동작은, 상기 제1 메모리 뱅크에서의 프로그래밍 동작 및 검증 동작으로부터 오프셋된다.
본 발명의 다른 실시예가 메모리 디바이스에 결합된 메모리 제어기를 포함하는 메모리 시스템을 제공한다. 메모리 디바이스는 제1 메모리 뱅크 및 제2 메모리 뱅크를 포함하고, 상기 제어기는 상기 제1 메모리 뱅크 및 상기 제2 메모리 뱅크 각각에서의 반복적인 프로그래밍 동작 및 검증 동작을 이용하여, 제1 데이터를 상기 제1 메모리 뱅크에, 그리고 제2 데이터를 상기 제2 메모리 뱅크에 동시에 프로그래밍한다. 상기 제2 메모리 뱅크에서의 프로그래밍 동작 및 검증 동작은, 상기 제1 메모리 뱅크에서의 프로그래밍 동작 및 검증 동작으로부터 오프셋된다.
본 발명의 다른 실시예에서, 전자 시스템이 적어도 하나의 입력/출력 디바이스 및 메모리 디바이스를 포함한다. 메모리 디바이스는, 제1 메모리 뱅크와 제2 메모리 뱅크, 및 상기 제1 메모리 뱅크와 상기 제2 메모리 뱅크 각각에서의 반복적인 프로그래밍 동작 및 검증 동작을 이용하여, 제1 데이터를 상기 제1 메모리 뱅크에, 그리고 제2 데이터를 상기 제2 메모리 뱅크에 동시에 프로그래밍하도록 구성된 제어기를 포함한다. 상기 제2 메모리 뱅크에서의 프로그래밍 동작 및 검증 동작은, 상기 제1 메모리 뱅크에서의 프로그래밍 동작 및 검증 동작으로부터 오프셋된다.
본 발명의 다른 실시예에서, 비휘발성 메모리 어레이를 프로그래밍하는 방법이 개시되며, 비휘발성 메모리 어레이의 제1 메모리 뱅크에서 제1 데이터를 반복적으로 프로그래밍하고 검증하는 단계를 포함한다. 본 방법은, 상기 제1 메모리 뱅크에서 반복적으로 프로그래밍하고 검증하는 단계로부터 오프셋된 비휘발성 메모리 어레이의 제2 메모리 뱅크에서 제2 데이터를 동시에 반복적으로 프로그래밍하고 검증하는 단계를 더 포함한다.
본 발명의 또 다른 실시예에서, 데이터를 메모리 어레이에 기입하는 방법이 제공되며, 제1 데이터를 상기 메모리 어레이의 제1 메모리 뱅크의 제1 감지 증폭기에 저장하는 단계, 및 제2 데이터를 상기 메모리 어레이의 제2 메모리 뱅크의 제2 감지 증폭기에 저장하는 단계를 포함한다. 본 방법은, 상기 제1 데이터를 상기 제1 메모리 뱅크에, 그리고 상기 제2 데이터를 상기 제2 메모리 뱅크에 동시에 교대 로 프로그래밍하고 검증하는 단계를 더 포함한다.
휘발성 메모리들, 플래시 메모리들 및 그 밖의 비휘발성 메모리 타입들의 많은 내부 동작들은, 그 메모리가 데이터 비교를 수행해야 함을 요구한다. 연속하는 프로그래밍 단계를 필요로 하는 임의의 에러들을 찾아내기 위하여, 메모리 어레이로부터 판독된 데이터를 메모리 어레이 내에 기입될 것으로 예상되었던 데이터와 비교하는 상황에서, 통상적으로, "검증"이라고도 알려져 있는 이러한 데이터 비교가 수행된다.
현대의 메모리 디바이스들의 높은 데이터 저장 밀도에 의해, 구체적으로는 비휘발성 메모리 디바이스들에서, 메모리 어레이의 각각의 행/페이지가 16 킬로비트의 개별 데이터 값들을 각각 가지며, 각각의 메모리 어레이가 복수 기가비트의 데이터 저장용량을 포함하는 것은 드문 것이 아니다. 이러한 점점 커지는 데이터 사이즈는 일반적인 메모리 동작에서 데이터의 연속 판독 및 비교를 못하게 한다.
설명한 바와 같이, 메모리 어레이의 페이지/행의 프로그래밍 동작에 있어서, 데이터가 어레이에 프로그래밍된 후에, 데이터가 검증될 수 있도록 통상적으로는 메모리 어레이로부터 즉시 다시 판독한다. 이러한 검증 동작시에, 메모리 어레이에 프로그래밍된 데이터는, 통상적으로 임의의 에러들을 발견하고 적절하게 프로그래밍되었음을 보장하기 위해 래치에 여전히 유지되어 있는, 원본 데이터와 비교된다. 에러가 발견되면, 증가된 프로그래밍 전압으로 프로그래밍 동작을 다시 수행한 다음, 그 후에 검증 프로세스를 수행한다. 이러한 반복적인 프로세스는, 페이지 또는 블록 중 어느 하나가 결함이 있는 것으로 태그되어 데이터가 다른 위치로 이동하기 전에, 고정 횟수의 사이클 동안 계속될 것이다. 몇몇 경우에서, 프로그래밍 동작에서의 검증은 실패하지만 ECC 코드를 이용하여 정정될 수 있는 에러들을 갖는 데이터라면, 위치가 액세스되는 경우에 에러를 정정하도록 의존된 비휘발성 메모리 및 ECC 코드의 원래 위치에 유지하도록 허용됨을 유의한다.
도 1은, 본 발명의 일 실시예에 따른, 제어기(102) 및 비휘발성 메모리 디바이스(100)를 포함하는 메모리 시스템(128)의 간소화된 도면을 도시한다. 제어기(102)는 메모리 콘트롤러 등의 종래의 프로세싱 디바이스로서 구성될 수 있다. 비휘발성 메모리 디바이스(100)는 NOR 아키텍처 플래시 메모리 디바이스 또는 NAND 아키텍처 플래시 메모리 디바이스로서 구성될 수 있다. 비휘발성 메모리 디바이스(100)는, 또한 폴리머 메모리, FeRAM, OUM, MRAM, 분자 메모리, 및 탄소 나노튜브 메모리 뿐만 아니라 당업자들에게 공지되어 있는 다른 것들을 포함하는 다른 기술 및 아키텍처 타입의 다른 비휘발성 메모리 어레이들(112)로 구성될 수도 있지만, 이에 제한되는 것은 아니다.
비휘발성 메모리 디바이스(100)는, 메모리 판독 및 기입 액세스들을 허용하기 위해 제어기(102)에 각각 결합된 어드레스 인터페이스(104), 제어 인터페이스(106) 및 데이터 인터페이스(108)를 포함하는 인터페이스(130)를 더 포함한다. 결합된 어드레스/데이터 버스 구성들 뿐만 아니라 당업자들에게 공지되어 있는 그 밖의 구성들 등의 다른 메모리 인터페이스들(130)이 마찬가지로 구성될 수 있음을 유의해야 한다. 본 발명의 일 실시예에서, 인터페이스(130)는 SDRAM 또는 DDR-SDRAM 인터페이스 등의 동기식 메모리 인터페이스이다. 비휘발성 메모리 디바이 스(100)는, 내부 동작을 지시하도록 구성되고, 구체적으로는 메모리 어레이(112)의 다양한 뱅크들의 인터리빙 방식의 프로그래밍 및 검증 프로세스를 관리하도록 구성된 내부 메모리 콘트롤러(110)를 더 포함한다. 비휘발성 메모리 어레이(112)는 메모리 뱅크들(116)의 시퀀스를 포함한다. 메모리 액세스 어드레스들은 비휘발성 메모리 디바이스(100)의 어드레스 인터페이스(104) 상으로 수신되어 행 및 열 어드레스 부분들로 분할된다. 본 명세서에 기술된 다양한 실시예들은 메모리 셀들의 2개의 개별 뱅크들을 설명하고 있지만, 그 밖의 복수의 메모리 뱅크들이 또한 본 발명의 범주 내에서 고려된다.
제어기(110)에 의해 제어된 프로그래밍 및 검증 프로세스 동안에, 행 디코드 회로(120)는 행 페이지를 선택하고, 열 디코드 회로(124)는 기입 감지 증폭기들(122)을 선택한다. 기입될 데이터 값들은 내부 데이터 버스를 통해 I/O 버퍼(126)로부터 열 디코드 회로(124)에 의해 선택된 데이터 캐시(134) 및 기입 감지 증폭기(122)에 결합된다. 이어서, 데이터는 메모리 어레이(112)의 선택된 비휘발성 메모리 셀들(도시되지 않음)에 기입된다. 이어서, 기입된 셀들은, 선택된 메모리 셀들에 정확한 값들이 프로그래밍되었음을 검증하기 위해 그 셀들이 판독될 수 있도록, 행 및 열 디코드 회로들(120, 124) 및 감지 증폭기(122)에 의해 재선택된다.
보다 구체적으로는, 메모리 어레이에서, 각각의 메모리 셀들은 제어 게이트 및 부동 게이트를 갖는 전계 효과 트랜지스터(field-effect transistor)로서 제조된다. 부동 게이트는 전하를 유지할 수 있으며, 얇은 산화물 층에 의해 기판에 포 함된 소스 및 드레인 영역들로부터 분리된다. 각각의 메모리 셀들은 그 산화물 층을 통해 드레인 영역으로부터 부동 게이트 상에 전자들을 주입함으로써 전기적으로 프로그래밍(충전)될 수 있다. 전하는 삭제 동작 동안 산화물 층을 통해 소스에 전자들을 터널링함으로써 부동 게이트로부터 제거될 수 있다. 따라서, 메모리 셀 내의 데이터는 부동 게이트 상의 전하의 존재 또는 부재에 의해 결정된다.
프로그래밍 동작 동안, 어레이의 행의 각각의 메모리 셀의 제어 게이트는 공통 전압(워드 라인 전압)을 갖는 라인(워드 라인이라고 함)에 접속되고, 어레이의 행의 각각의 메모리 셀의 드레인 영역은 공통 전압(비트 라인 전압)을 갖는 라인(비트 라인이라고 함)에 접속된다. 플래시 메모리들은 약 1.3 내지 5 볼트 범위 내의 통상의 동작 전압(Vcc)을 가질 수 있다. 그러나, 고전압 전하 펌프(114)로부터의 고전압(또는 프로그래밍 전압)은 보통 플래시 메모리에서의 프로그래밍 및 삭제 동작에 요구된다. 고전압은 대개는 8 볼트 이상이다. 프로그래밍 동작 동안, 전자들은, 예컨대, 워드 라인을 통해 제어 게이트에 고전압을 인가함으로써 부동 게이트 상에 주입될 수 있으며, 비트 라인은, 논리 "0"으로 프로그래밍될 메모리 셀들에 대해서는 약 Vcc- 임계 전압(Vt)으로 설정되고, 논리 "1"로 프로그래밍될 메모리 셀들에 대해서는 접지로 설정된다. 부동 게이트로부터 전하를 부가하거나 제거하는 그 밖의 메카니즘들이 또한 공지되어 있다.
검증 동작 동안, 행 어드레스는 선택된 메모리 뱅크에 걸쳐서 메모리 셀들의 행/페이지(도시되지 않음)를 선택하고 활성화하는 행 디코드 회로(120)에 의해 래칭되고 디코딩된다. 플래시 메모리 셀의 제어 게이트(워드 라인 전압)에서의 전압 은, 예컨대, 고전압 전하 펌프(114)를 사용하여, 삭제된 셀의 임계 전압(Vt) 또는 그보다 약간 높은 전압의, 프로그램-검증 또는 판독 전압으로 펌핑업된다(pumped-up). 워드 라인 전압이 프로그램-검증 전압에 도달하면, 프로그램-검증이 수행되어, 메모리 셀이 프로그래밍되는지를 판정한다. 이는 통상 셀의 전류를 감지하는 것을 수반한다.
메모리 셀들의 선택된 행의 출력에서 인코딩된 비트 값들은, 로컬 비트라인(도시되지 않음) 및 글로벌 비트라인(도시되지 않음)에 결합되고, 메모리 뱅크와 연관된 감지 증폭기들(122)에 의해 검출된다. 예를 들어, 셀 전류가 기준값 이상이면, 셀의 Vt는 프로그래밍된 셀의 Vt 이하임을 나타내고, 그 셀은 프로그래밍되지 않는다. 셀 전류가 기준값 이하이면, 셀의 Vt는 삭제된 셀의 Vt 이상임을 나타내고, 그 셀은 프로그래밍된다.
셀이 프로그래밍되지 않으면, 그 프로세스는 반복적인 프로그래밍 사이클 또는 또 한번의 프로그래밍 사이클에 들어가며, 전하 펌프는 워드 라인 전압을 프로그램-검증 전압으로부터 프로그래밍 전압으로 펌핑하고, 또 다른 전하 펌프는 드레인 영역에서의 전압(비트 라인 전압)을 대략 0으로부터 셀의 프로그래밍을 개시하는 워드 라인 전압의 대략 절반까지 펌핑한다.
본 발명의 일 실시예에서, 비휘발성 메모리 디바이스(100)는 래치(118)와 감지 증폭기들(122) 사이에 결합된 데이터 비교기(132)를 포함하여, 검증 프로세스 동안 래치(118)에 유지된 메모리의 페이지에 프로그래밍될 데이터와 감지 증폭기(122)에 의해 판정된 감지 데이터 또는 판독 데이터 간의 데이터 비교를 허용한 다. 본 발명의 다양한 실시예들에서, 데이터 비교기(132)는 감지 증폭기들(122)에 집적된다.
데이터 비교기(132)는 도 1의 메모리 디바이스(100)의 메모리 어레이(112)의 페이지/행의 프로그래밍 동작 동안 이용된다. 상술된 바와 같이, 데이터가 메모리 어레이(112)에 프로그래밍된 후에, 데이터는 그 후에 감지 증폭기(122)에 의해 어레이(112)로부터 판독되므로 데이터가 검증될 수 있다. 이러한 검증 동작에서, 어레이(112)에 프로그래밍된 데이터는, 임의의 에러들을 발견하고 데이터가 적절하게 프로그래밍되었음을 보장하기 위해 래치(118)에 여전히 유지되어 있는 원본 데이터와 비교된다.
비휘발성 메모리 디바이스들의 그 밖의 아키텍처들, 시스템들, 외부 인터페이스들, 및/또는 글로벌/로컬 제어 버스들 및 신호 라인들을 갖는 복수의 메모리 디바이스들 등의 비휘발성 메모리 디바이스(들)에 메모리 콘트롤러/호스트를 결합하는 구성들이 가능하며, 당업자들에 의해 명백해질 것임을 이해해야 한다.
도 2는, 본 발명의 일 실시예에 따른, 메모리 디바이스의 일부의 블록도이다. 본 실시예는 2개의 메모리 뱅크들, 즉 메모리 뱅크 A(116A) 및 메모리 뱅크 B(116B)로 분할된 메모리 어레이(112)를 도시한다. 본 실시예의 프로그래밍 동작 및 검증 동작 동안, 메모리 뱅크 A(116A)로 프로그래밍하기 위해 I/O 버퍼(126)에서 데이터(예를 들어, 데이터 A1)가 수신된다. 데이터 A1은, 이전에 개시된 임의의 프로그래밍 동작 및 검증 동작이 종결할 때, 메모리 뱅크 A(116A)로 프로그래밍하는 이용성을 용이하게 하기 위해 데이터 캐시 A(134A)로 버퍼링된다. 또한, 데 이터 A1을 데이터 캐시 A(134A)에 버퍼링하는 것은 후속 데이터(예를 들어, 데이터 B1)를 수신하기 위해 I/O 버퍼(126)를 방출하는 것이다.
전술한 바와 같이, 메모리 셀들을 프로그래밍하는 것은 프로그래밍 동작과 검증 동작을 복수회 반복하는 것을 수반한다. 메모리 뱅크 A(116A)에서의 초기 프로그래밍 동작 전에, 데이터 캐시 A(134A)로부터의 데이터 A1이 감지 증폭기(122A)의 래치 A(118A)로 전달된다. 래치(118A)로부터 메모리 뱅크 A(116A)로 데이터 A1을 프로그래밍하기 위한 초기 프로그래밍 동작은 도 1을 참조하여 상술한 프로그래밍 조건들에 따라 발생한다. 그 후에, 초기 검증 동작은 메모리 뱅크 A(116A)로부터 감지 증폭기 A(122A)에 의해 감지 데이터 A1'을 판독하고, 데이터 비교기 A(132A)에서, 감지 데이터 A1'을 래치 A(118A)에 저장된 데이터 A1과 비교한다. 데이터 A1이 메모리 어레이 A(116A)에 성공적으로 프로그래밍되었다면, 추가의 프로그래밍 동작 및 검증 동작의 반복은 불필요하다. 그 결과로서, 타이밍 위치지정자(timing placeholder)들로서 NOP(no-operation) 커맨드들을 수행하여 메모리 뱅크 B(116B)의 프로그래밍 동작 및 검증 동작과의 오프셋 동기화를 유지할 수 있다.
메모리 뱅크 A(116A)에서의 초기 검증 동작과 동시에, 래치 B(118B)로부터 메모리 뱅크 B(116B)로 데이터 B1을 프로그래밍하기 위한 초기 프로그래밍 동작이 발생한다. 메모리 뱅크 B(116B)에서의 초기 프로그래밍 동작 전에, 데이터 캐시 B(134B)로부터 데이터 B1이 감지 증폭기(122B)의 래치 B(118B)로 전달된다. 그 다음에 래치(118B)로부터 메모리 뱅크 B(116B)로 데이터 B1을 프로그래밍하기 위한 초기 프로그래밍 동작이 도 1을 참조하여 상술된 프로그래밍 조건들에 따라 발생한 다. 그 후에, 초기 검증 동작은 메모리 뱅크 B(116B)로부터 감지 증폭기 B(122B)에 의해 감지 데이터 B1'를 판독하고, 데이터 비교기 B(132B)에서, 감지 데이터 B1'를 래치 B(118B)에 저장된 데이터 B1과 비교한다. 데이터 B1이 메모리 어레이 B(116B)에 성공적으로 프로그래밍되었다면, 추가의 프로그래밍 동작 및 검증 동작의 반복은 불필요하다. 그 결과로서, 타이밍 위치지정자들로서 NOP(no-operation) 커맨드들을 수행하여 메모리 뱅크 A(116A)의 프로그래밍 동작 및 검증 동작과의 오프셋 동기화를 유지할 수 있다.
메모리 뱅크 A(116A) 및 메모리 뱅크 B(116B)에서의 프로그래밍 동작 및 검증 동작은 메모리 뱅크 A(116A)와 메모리 뱅크 B(116B) 사이에서 동시에 교대하는 프로그래밍 동작과 검증 동작을 계속한다. 뱅크들 사이에서 프로그래밍 동작을 교대로 하는 것은, 다수의 메모리 뱅크들에서 동시에 반복적인 프로그래밍 동작 및 검증 동작을 가능하게 함으로써, 복수의 데이터로 메모리 어레이를 프로그래밍하는데 필요한 프로그래밍 및 검증 사이클들의 전체 횟수를 감소시킨다. 또한, 메모리 뱅크들 사이에서 프로그래밍 동작을 교대로 하는 것은 프로그래밍 동작 동안 고전압 전하 펌프(114)가 요구하는 전력 수요를 분배시킨다.
도 3은 복수의 메모리 뱅크에서의 프로그래밍 동작 및 검증 동작의 타이밍도를 도시한다. 도 3에서, 타이밍 시퀀스(200)는, 개별적인 메모리 뱅크(예를 들어, 메모리 뱅크 X)가, 다른 메모리 뱅크(예를 들어, 메모리 뱅크 Y)가 그 후에 반복적으로 프로그래밍되고 검증되기(사이클 7-12) 전에 반복적으로 프로그래밍되고 검증되는(사이클 1-6), 넌-인터리빙 방식의(non-interleaved) 종래의 순차적인 프로그 래밍 및 검증 동작을 도시한다.
본 발명의 실시예에 따르면, 도 3의 타이밍 시퀀스(210)는 본 발명의 실시예에 따른 인터리빙 방식의 프로그래밍 동작 및 검증 동작의 타이밍도를 도시한다. 타이밍 시퀀스(210)는 복수의 메모리 뱅크(예를 들어, 메모리 뱅크 A 및 메모리 뱅크 B)에 대한 인터리빙 방식의 프로그래밍 동작 및 검증 동작을 도시한다. 도시된 바와 같이, 데이터 A1은 사이클 1-6 동안 메모리 뱅크 A에서 반복적으로 프로그래밍되고 검증되는 한편, 데이터 B1은 메모리 뱅크 A에서의 프로그래밍 동작 및 검증 동작으로부터 오프셋된 사이클 2-7 동안 메모리 뱅크 B에서 반복적으로 프로그래밍되고 검증된다. 그 후에, 데이터 A2는 사이클 7-12 동안 메모리 뱅크 A에서 반복적으로 프로그래밍되고 검증되는 한편, 데이터 B2는 메모리 뱅크 A에서의 프로그래밍 동작 및 검증 동작으로부터 오프셋된 사이클 8-13 동안 메모리 뱅크 B에서 반복적으로 프로그래밍되고 검증된다. 이와 같이 동시에 프로그래밍 동작 및 검증 동작을 교대하는 것은 원하는 양의 데이터가 메모리 어레이(112)(도 1)에 프로그래밍될 때까지 계속될 수 있다. 각각의 데이터에 대한 초기 프로그래밍 동작은 데이터를 각각의 감지 증폭기 래치(118)로 초기에 래치하기 위한 래치 단계(예를 들어, 데이터 A1에 대해서는 사이클 1, 데이터 B1에 대해서는 사이클 2, 데이터 A2에 대해서는 사이클 7, 데이터 B2에 대해서는 사이클 8 등)를 포함한다는 점을 유의해야 한다.
종래의 타이밍 시퀀스(200)와 본 발명의 하나 이상의 실시예들에 따른 타이밍 시퀀스(210)를 비교하여 보면, 예를 들어 타이밍 시퀀스(200)에 따른 종래의 순 차적인 프로그래밍 동작 및 검증 동작을 사용하여 10페이지의 데이터를 프로그래밍하는 것은 60회의 대표적 사이클을 요구하는 반면, 본 발명의 다양한 실시예들의 타이밍 시퀀스(210)에 따른 교대하는 동시적인 프로그래밍 동작 및 검증 동작은 단지 31회의 대표적 사이클만을 이용하여 동일한 10페이지의 프로그래밍을 달성한다. 이러한 개선은 본질적으로 프로그래밍 및 검증 대역폭의 더블링(doubling)을 예시한다. 프로그래밍 시간(PGM)이 대략적으로 검증 시간(VER)과 동일한 것으로 가정하면, 프로그래밍 및 검증 대역폭은 본질적으로 2배가 된다. 프로그래밍 시간(PGM)이 검증 시간의 2배 구간이라고 가정하더라도, 프로그래밍 및 검증 대역폭 이득은 종래의 프로그래밍 및 검증 대역폭의 (PGM+VER)/PGM=3/2 배이다.
도 4는, 본 발명의 다른 실시예에 따른, 메모리 디바이스의 일부의 블록도이다. 본 실시예는 2개의 메모리 뱅크들, 즉 초기 프로그래밍 동작 동안 감지 증폭기들(122A, 122B)의 각각의 래치들(118A, 118B)의 각각을 로딩하기 위해 공유 데이터 캐시(134C)를 이용하는 메모리 뱅크 A(116A) 및 메모리 뱅크 B(116B)로 분할된 메모리 어레이(112)를 예시한다. 데이터 캐시는 구현을 위하여 집적 회로 상에 상당한 양의 영역을 요구한다는 것이 알려져 있다. 공유 데이터 캐시(134C)를 포함하는 아키텍처를 이용하는 것이 전체적인 프로그래밍 및 검증 대역폭을 감소시키는 결과를 가져오는 한편, 오프셋 사이클들(offsetting cycles)에서 I/O 버퍼(126)로부터 상이한 메모리 뱅크에 대한 데이터(예를 들어, 데이터 A1, 데이터 B1 등)의 래칭은 전체적인 영향을 부분적으로 감춘다.
본 실시예의 프로그래밍 동작 및 검증 동작 중에, 메모리 뱅크 A(116A)로 프 로그래밍하기 위해 I/O 버퍼(126)에서 데이터(예를 들어, 데이터 A1)가 수신된다. 데이터 A1은 이전에 개시된 임의의 프로그래밍 동작 및 검증 동작이 종결할 때 메모리 뱅크 A(116A)로 프로그래밍하는 이용성을 용이하게 하기 위해 공유 데이터 캐시(134C)로 버퍼링된다. 공유 데이터 캐시(134C)의 데이터 A1을 버퍼링하는 것은 후속 데이터(예를 들어, 데이터 B1)를 수신하기 위하여 I/O 버퍼(126)에 방출하는 것이지만, 후속 데이터를 저장하기 위한 그 밖의 데이터 캐시가 없기 때문에 병목이 발생한다. 따라서, 공유 데이터 캐시(134C)는 데이터(예를 들어, 데이터 B1)가 I/O 버퍼(126)로부터 전달되기 전에 감지 증폭기 래치(118A)로 비워내야 한다.
전술한 바와 같이, 메모리 셀들의 프로그래밍은 프로그래밍 동작 및 검증 동작의 반복을 수반한다. 메모리 뱅크 A(116A)에서의 초기 프로그래밍 동작 전에, 공유 데이터 캐시(134C)로부터의 데이터 A1은 감지 증폭기(122A)의 래치 A(118A)로 전달된다. 초기 프로그래밍 동작은 도 1을 참조하여 상술한 프로그래밍 조건들에 따라 래치(118A)로부터 메모리 뱅크 A(116A)로 데이터 A1을 프로그램하기 위해 발생한다. 그 후에, 초기 검증 동작은 메모리 뱅크 A(116A)로부터 감지 증폭기 A(122A)에 의해 감지 데이터 A1'를 판독하고, 데이터 비교기 A(132A)에서 데이터 A1'를 래치 A(118A)에 저장된 데이터 A1과 비교한다. 데이터 A1이 메모리 어레이 A(116A)에 성공적으로 프로그래밍되었다면, 추가의 프로그래밍 동작 및 검증 동작의 반복은 불필요하다. 그 결과로서, 타이밍 위치지정자들로서 NOP(no-operation) 커맨드들을 수행하여 메모리 뱅크 B(116B)의 프로그래밍 동작 및 검증 동작과의 오프셋 동기화를 유지할 수 있다.
메모리 뱅크 A(116A)에서의 초기 검증 동작과 동시에, 래치 B(118B)로부터 메모리 뱅크 B(116B)로 데이터 B1을 프로그램하기 위한 초기 프로그래밍 동작이 발생한다. 메모리 뱅크 B(116B)에서의 초기 프로그래밍 동작 전에, 공유 데이터 캐시(134C)로부터의 데이터 B1이 감지 증폭기(122B)의 래치 B(118B)로 전달된다. 그 다음에 래치(118B)로부터 메모리 뱅크 B(116B)로 데이터 B1을 프로그래밍하기 위한 초기 프로그래밍 동작이 도 1을 참조하여 상술된 프로그래밍 조건들에 따라 발생한다. 그 후에, 초기 검증 동작은 메모리 뱅크 B(116B)로부터 감지 증폭기 B(122B)에 의해 감지 데이터 B1'를 판독하고, 데이터 비교기 B(132B)에서, 감지 데이터 B1'를 래치 B(118B)에 저장된 데이터 B1과 비교한다. 데이터 B1이 메모리 어레이 B(116B)에 성공적으로 프로그래밍되었다면, 추가의 프로그래밍 및 검증의 반복은 불필요하다. 그 결과로서, 타이밍 위치지정자들로서 NOP(no-operation) 커맨드들을 수행하여 메모리 뱅크 A(116A)의 프로그래밍 동작 및 검증 동작과의 오프셋 동기화를 유지할 수 있다. 메모리 뱅크 A(116A) 및 메모리 뱅크 B(116B)에서의 프로그래밍 동작 및 검증 동작은 메모리 뱅크 A(116A)와 메모리 뱅크 B(116B) 사이에서 동시에 교대로 프로그래밍 동작 및 검증 동작을 계속한다.
도 5는, 본 발명의 추가의 실시예에 따른, 메모리 디바이스의 일부의 블록도이다. 본 실시예는 2개의 메모리 뱅크들, 즉 메모리 뱅크 A(116A) 및 메모리 뱅크 B(116B)로 분할된 메모리 어레이(112)를 도시한다. 본 실시예에 있어서, 메모리 디바이스는 초기 프로그래밍 동작 동안, 데이터 캐시를 이용하지 않고 데이터를 I/O 버퍼(126)로부터 직접적으로 감지 증폭기(122A, 122B)의 각각의 래치들(118A, 118B) 각각에 직접 로드한다. 데이터 캐시가 구현을 위해서 집적 회로 상에 상당한 양의 영역을 요구한다는 것은 알려져 있다. 따라서, 데이터 캐시를 포함하지 않는 아키텍처는 다수의 뱅크의 프로그래밍 및 검증 아키텍처가 집적 회로의 구현을 위해 보다 적은 영역을 요구하게 하는 결과를 가져온다. 그러한 아키텍처는 전체적인 프로그래밍 및 검증 대역폭을 감소시킬 수 있지만, 사이클들을 오프셋할 시에 I/O 버퍼(126)로부터의 상이한 메모리 뱅크들에 대한 데이터(예를 들어, 데이터 A1, 데이터 B1 등)의 래칭은 전체적인 영향을 부분적으로 감춘다.
본 실시예의 프로그래밍 동작 및 검증 동작 동안, 메모리 뱅크 A(116A)에의 프로그래밍을 위해 I/O 버퍼(126)에 데이터(예를 들어, 데이터 A1)가 수신된다. 메모리 뱅크 A(116A)의 반복적인 프로그래밍 동작 및 검증 동작의 개시를 위해 데이터 A1이 감지 증폭기(122A)의 래치(118A)로 직접적으로 전달된다. 전술한 바와 같이, 메모리 셀들의 프로그래밍은 반복적인 프로그래밍 동작 및 검증 동작을 수반한다. 초기 프로그래밍 동작은 도 1을 참조하여 상술한 프로그래밍 조건들에 따라 래치(118A)로부터 메모리 뱅크 A(116A)로 데이터 A1을 프로그램하도록 발생한다. 그 후에, 초기 검증 동작은 감지 증폭기 A(122A)에 의해 감지 데이터 A1'를 메모리 뱅크 A(116A)로부터 판독하고, 데이터 비교기 A(132A)에서 감지 데이터 A1'를 래치 A(118A)에 저장된 데이터 A1과 비교한다. 데이터 A1이 메모리 어레이 A(116A)에 성공적으로 프로그래밍되었다면, 추가의 프로그래밍 동작 및 검증 동작의 반복은 불필요하다. 그 결과로서, 타이밍 위치지정자들로서 NOP(no-operation) 커맨드들을 수행하여 메모리 뱅크 B(116B)의 프로그래밍 동작 및 검증 동작과의 오프셋 동 기화를 유지할 수 있다.
메모리 뱅크 A(116A)에서의 초기 검증 동작과 동시에, 래치 B(118B)로부터 메모리 뱅크 B(116B)로 데이터 B1을 프로그램하기 위한 초기 프로그래밍 동작이 발생한다. 메모리 뱅크 B(116B)에서의 초기 프로그래밍 동작 전에, I/O 버퍼(126)로부터의 데이터 B1이 감지 증폭기(122B)의 래치 B(118B)로 전달된다. 그 다음에 래치(118B)로부터 메모리 뱅크 B(116B)로 데이터 B1을 프로그래밍하기 위한 초기 프로그래밍 동작이 도 1을 참조하여 상술된 프로그래밍 조건들에 따라 발생한다. 그 후에, 초기 검증 동작은 감지 증폭기 B(122B)에 의해 감지 데이터 B1'를 메모리 뱅크 B(116B)로부터 판독하고, 데이터 비교기 B(132B)에서, 감지 데이터 B1'를 래치 B(118B)에 저장된 데이터 B1과 비교한다. 데이터 B1이 메모리 어레이 B(116B)에 성공적으로 프로그래밍되었다면, 추가의 프로그래밍 동작 및 검증 동작의 반복은 불필요하다. 그 결과로서, 타이밍 위치지정자들로서 NOP(no-operation) 커맨드들을 수행하여 메모리 뱅크 A(116A)의 프로그래밍 동작 및 검증 동작과의 오프셋 동기화를 유지할 수 있다. 메모리 뱅크 A(116A) 및 메모리 뱅크 B(116B)에서의 프로그래밍 동작 및 검증 동작은 메모리 뱅크 A(116A)와 메모리 뱅크 B(116B) 사이에서 교대로 동시에 프로그래밍 동작 및 검증 동작을 계속한다.
도 6은, 본 발명의 일 실시예에 따른, 메모리 시스템을 포함하는 전자 시스템의 시스템도이다. 전자 시스템(300)은, 제어기(102) 및 메모리 디바이스(100)와 마찬가지인, 도 1에 도시된 메모리 시스템(128)을 포함한다. 메모리 디바이스(100)를 이용할 수 있는 전자 시스템들의 예들로는, 컴퓨터 시스템들과, 셀룰러 전화기, 개인용 디지탈 정보 단말기(personal digital assistant), MP3 플레이어, 디지털 카메라 등과 같은 오디오 및 비디오 시스템들을 포함하지만, 이에 제한되는 것은 아니다. 전자 시스템(300)은 버스(304)를 통해 다양한 디바이스들과 통신하는 CPU(central processing unit)(302)를 포함한다. 버스(304)에 접속된 디바이스들의 일부는 입력/출력(I/O) 디바이스(306) 및 메모리 시스템(128)을 예시적으로 포함하는 전자 시스템(300)으로의 및 전자 시스템(300)으로부터의 통신을 제공한다.
전술한 프로세스들 및 디바이스들은 본 발명에 따라 이용되고 제조될 수 있는 다수의 방법들 및 디바이스들 중에서 예시적인 방법 및 디바이스를 설명한다. 전술한 기재 및 도면들은 본 발명의 중요한 특징 및 이점들을 제공하는 실시예들을 예시한다. 그러나, 본 발명이 전술하여 예시한 실시예들에 엄밀히 제한되는 것을 의도하는 것은 아니다.
본 발명은 특정 실시예들을 참조하여 도시되고 기술되었지만, 본 발명이 속하는 기술 분야의 당업자들에게는, 본 명세서에는 구체적으로 기술되고 도시되지 않은 명백한 다양한 추가들, 삭제들 및 변경들은 첨부하는 특허청구범위에 의해 포함되는 발명의 범주 내에 있는 것으로 간주된다.

Claims (26)

  1. 메모리 셀들의 제1 메모리 뱅크 및 제2 메모리 뱅크를 포함하는 메모리 어레이; 및
    제1 데이터를 상기 제1 메모리 뱅크 및 상기 제2 메모리 뱅크 중 하나에 프로그래밍하고, 제2 데이터를 상기 제1 메모리 뱅크 및 상기 제2 메모리 뱅크 중 다른 하나에서 검증하는 것을 동시에 행함으로써, 제1 데이터 및 제2 데이터를 상기 메모리 어레이에 프로그래밍하도록 구성된 제어기
    를 포함하는 메모리 디바이스.
  2. 제1항에 있어서,
    각각의 상기 제1 메모리 뱅크 및 제2 메모리 뱅크에 프로그래밍하기 위해 상기 제1 데이터 및 제2 데이터를 수신하도록 구성된 I/O 버퍼를 더 포함하는 메모리 디바이스.
  3. 제2항에 있어서,
    상기 제1 메모리 뱅크가 그 안에 상기 제1 데이터를 프로그래밍할 준비가 될때까지 상기 제1 데이터를 상기 I/O 버퍼로부터 캐싱하도록 구성되고, 그 후에, 상기 제2 메모리 뱅크가 그 안에 상기 제2 데이터를 프로그래밍할 준비가 될 때까지 상기 제2 데이터를 상기 I/O 버퍼로부터 캐싱하도록 더 구성된 공유 데이터 캐 시(shared data cache)를 더 포함하는 메모리 디바이스.
  4. 제2항에 있어서,
    상기 제1 메모리 뱅크가 그 안에 상기 제1 데이터를 프로그래밍할 준비가 될 때까지 상기 제1 데이터를 상기 I/O 버퍼로부터 캐싱하도록 구성된 제1 데이터 캐시; 및
    상기 제2 메모리 뱅크가 그 안에 상기 제2 데이터를 프로그래밍할 준비가 될 때까지 상기 제2 데이터를 상기 I/O 버퍼로부터 캐싱하도록 구성된 제2 데이터 캐시를 더 포함하는 메모리 디바이스.
  5. 제1항에 있어서,
    상기 제1 메모리 뱅크 및 상기 제2 메모리 뱅크와 각각 동작적으로 결합된 제1 감지 증폭기 및 제2 감지 증폭기를 더 포함하며, 상기 제1 감지 증폭기 및 상기 제2 감지 증폭기 각각은, 상기 제1 메모리 뱅크 및 상기 제2 메모리 뱅크에서의 반복적인 프로그래밍 및 검증 동작들 동안 상기 제1 데이터 및 상기 제2 데이터를 각각 저장하기 위한 래치(latch)를 포함하는 메모리 디바이스.
  6. 제5항에 있어서,
    상기 검증 동작 동안, 상기 제1 감지 증폭기 및 상기 제2 감지 증폭기에 의해 감지된 제1 감지 데이터 및 제2 감지 데이터로 상기 제1 데이터 및 상기 제2 데 이터를 각각 검증하도록 구성된 제1 비교기 및 제2 비교기를 더 포함하는 메모리 디바이스.
  7. 제6항에 있어서,
    상기 제어기는, 각각의 상기 제1 데이터 및 상기 제2 데이터가 상기 제1 감지 데이터 및 상기 제2 감지 데이터와 일치하지 않을 경우, 후속 프로그래밍 동작 및 검증 동작을 상기 제1 메모리 뱅크 및 상기 제2 메모리 뱅크 중 적어도 하나에서 반복적으로 수행하도록 더 구성된 메모리 디바이스.
  8. 제5항에 있어서,
    상기 제1 감지 증폭기 및 상기 제2 감지 증폭기는, 상기 제1 데이터 및 상기 제2 데이터를 상기 메모리 디바이스의 외부 인터페이스로부터 직접적으로 래칭하도록 더 구성된 메모리 디바이스.
  9. 제5항에 있어서,
    공유 데이터 캐시를 더 포함하고, 상기 제1 감지 증폭기 및 상기 제2 감지 증폭기는 상기 제1 데이터 및 상기 제2 데이터를 상기 공유 데이터 캐시로부터 래칭하도록 더 구성된 메모리 디바이스.
  10. 제5항에 있어서,
    제1 데이터 캐시 및 제2 데이터 캐시를 더 포함하고, 상기 제1 감지 증폭기 및 상기 제2 감지 증폭기는 상기 제1 데이터 및 상기 제2 데이터를 상기 제1 데이터 캐시 및 상기 제2 데이터 캐시로부터 각각 래칭하도록 더 구성된 메모리 디바이스.
  11. 제1 메모리 뱅크 및 제2 메모리 뱅크; 및
    상기 제1 메모리 뱅크 및 상기 제2 메모리 뱅크 각각에서의 반복적인 프로그래밍 동작 및 검증 동작을 이용하여, 제1 데이터를 상기 제1 메모리 뱅크에, 그리고 제2 데이터를 상기 제2 메모리 뱅크에 동시에 프로그래밍하도록 구성된 제어기 - 상기 제2 메모리 뱅크에서의 상기 프로그래밍 동작 및 상기 검증 동작은 상기 제1 메모리 뱅크에서의 상기 프로그래밍 동작 및 상기 검증 동작으로부터 오프셋됨 -
    를 포함하는 비휘발성 메모리 디바이스.
  12. 제11항에 있어서,
    상기 제1 메모리 뱅크의 상기 프로그래밍 동작 및 상기 검증 동작의 개시까지 상기 비휘발성 메모리 디바이스의 외부 인터페이스로부터 수신된 상기 제1 데이터를 캐싱하도록 구성되고, 상기 제2 메모리 뱅크의 상기 프로그래밍 동작 및 상기 검증 동작의 개시까지 상기 비휘발성 메모리 디바이스의 외부 인터페이스로부터 수신된 상기 제2 데이터를 캐싱하도록 더 구성된 공유 데이터 캐시를 더 포함하는 비휘발성 메모리 디바이스.
  13. 제11항에 있어서,
    상기 제1 메모리 뱅크의 상기 프로그래밍 동작 및 상기 검증 동작의 개시까지 상기 비휘발성 메모리 디바이스의 외부 인터페이스로부터 수신된 상기 제1 데이터를 캐싱하도록 구성된 제1 데이터 캐시, 및 상기 제2 메모리 뱅크의 상기 프로그래밍 동작 및 상기 검증 동작의 개시까지 상기 비휘발성 메모리 디바이스의 외부 인터페이스로부터 수신된 상기 제2 데이터를 캐싱하도록 구성된 제2 데이터 캐시를 더 포함하는 비휘발성 메모리 디바이스.
  14. 제11항에 있어서,
    상기 제어기는 감지된 제1 감지 데이터 및 제2 감지 데이터 중 각각의 감지 데이터가 상기 제1 데이터 및 상기 제2 데이터 중 각각의 데이터와 각각 일치하는 경우, 상기 제1 메모리 뱅크 및 상기 제2 메모리 뱅크 중 하나의 상기 반복적인 프로그래밍 동작 및 검증 동작을 종료하도록 더 구성되는 비휘발성 메모리 디바이스.
  15. 메모리 제어기; 및
    상기 메모리 제어기에 결합된 메모리 디바이스 - 상기 메모리 디바이스는, 제1 메모리 뱅크와 제2 메모리 뱅크, 및 상기 제1 메모리 뱅크와 상기 제2 메모리 뱅크 각각에서의 반복적인 프로그래밍 동작 및 검증 동작을 이용하여, 제1 데이터를 상기 제1 메모리 뱅크에, 그리고 제2 데이터를 상기 제2 메모리 뱅크에 동시에 프로그래밍하도록 구성된 제어기를 포함하고, 상기 제2 메모리 뱅크에서의 상기 프로그래밍 동작 및 상기 검증 동작은 상기 제1 메모리 뱅크에서의 상기 프로그래밍 동작 및 상기 검증 동작으로부터 오프셋됨 -
    를 포함하는 메모리 시스템.
  16. 적어도 하나의 입력/출력 디바이스; 및
    제1 메모리 뱅크와 제2 메모리 뱅크, 및 상기 제1 메모리 뱅크와 상기 제2 메모리 뱅크 각각에서의 반복적인 프로그래밍 동작 및 검증 동작을 이용하여, 제1 데이터를 상기 제1 메모리 뱅크에, 그리고 제2 데이터를 상기 제2 메모리 뱅크에 동시에 프로그래밍하도록 구성된 제어기를 포함하는 메모리 디바이스 - 상기 제2 메모리 뱅크에서의 상기 프로그래밍 동작 및 상기 검증 동작은 상기 제1 메모리 뱅크에서의 상기 프로그래밍 동작 및 상기 검증 동작으로부터 오프셋됨 -
    를 포함하는 전자 시스템.
  17. 비휘발성 메모리 어레이를 프로그래밍하는 방법으로서,
    상기 비휘발성 메모리 어레이의 제1 메모리 뱅크에서 제1 데이터를 반복적으로 프로그래밍하고 검증하는 단계; 및
    동시에, 상기 제1 메모리 뱅크에서 반복적으로 프로그래밍하고 검증하는 단계로부터 오프셋된 상기 비휘발성 메모리 어레이의 제2 메모리 뱅크에서 제2 데이터를 반복적으로 프로그래밍하고 검증하는 단계
    를 포함하는, 비휘발성 메모리 어레이의 프로그래밍 방법.
  18. 제17항에 있어서,
    상기 제1 데이터를 반복적으로 프로그래밍하고 검증하는 단계의 개시까지 상기 제1 데이터를 캐싱하도록 구성되고, 동시에 상기 제2 데이터를 반복적으로 프로그래밍하고 검증하는 단계의 개시까지 상기 제2 데이터를 캐싱하도록 더 구성된 공유 캐시에 상기 제1 데이터 및 상기 제2 데이터를 캐싱하는 단계를 더 포함하는, 비휘발성 메모리 어레이의 프로그래밍 방법.
  19. 제17항에 있어서,
    상기 제1 데이터를 반복적으로 프로그래밍하고 검증하는 단계의 개시까지 상기 제1 데이터를 캐싱하도록 구성된 제1 데이터 캐시에 캐싱하는 단계; 및
    동시에, 상기 제2 데이터를 반복적으로 프로그래밍하고 검증하는 단계의 개시까지 상기 제2 데이터를 캐싱하도록 구성된 제2 데이터 캐시에 캐싱하는 단계를 더 포함하는, 비휘발성 메모리 어레이의 프로그래밍 방법.
  20. 제17항에 있어서,
    감지된 제1 감지 데이터 및 제2 감지 데이터 중 각각의 감지 데이터가 상기 제1 데이터 및 상기 제2 데이터 중 각각의 데이터와 각각 일치하는 경우, 상기 제1 데이터 및 상기 제2 데이터 중 하나를 반복적으로 프로그래밍하고 검증하는 단계를 종료하는 단계를 더 포함하는, 비휘발성 메모리 어레이의 프로그래밍 방법.
  21. 제17항에 있어서,
    제1 데이터 및 제2 데이터를 검증하는 단계는, 제1 감지 데이터 및 제2 감지 데이터를 감지하는 단계, 및 상기 제1 감지 데이터 및 상기 제2 감지 데이터를 상기 제1 데이터 및 상기 제2 데이터와 일치시키기 위해 각각 비교하는 단계를 포함하는, 비휘발성 메모리 어레이의 프로그래밍 방법.
  22. 데이터를 메모리 어레이에 기입하는 방법으로서,
    상기 메모리 어레이의 제1 메모리 뱅크의 제1 감지 증폭기들에 제1 데이터를 저장하는 단계;
    상기 메모리 어레이의 제2 메모리 뱅크의 제2 감지 증폭기들에 제2 데이터를 저장하는 단계; 및
    상기 제1 메모리 뱅크에서 상기 제1 데이터를, 그리고 상기 제2 메모리 뱅크에서 상기 제2 데이터를 동시에 교대로 프로그래밍하고 검증하는 단계
    를 포함하는 데이터 기입 방법.
  23. 제22항에 있어서,
    상기 제1 메모리 뱅크에서 상기 제1 데이터를 동시에 교대로 프로그래밍하고 검증하는 단계의 개시까지 상기 제1 데이터를 캐싱하고, 상기 제2 메모리 뱅크에서 상기 제2 데이터를 동시에 교대로 프로그래밍하고 검증하는 단계의 개시까지 상기 제2 데이터를 캐싱하도록 구성된 공유 캐시에 상기 제1 데이터를 캐싱하는 단계를 더 포함하는 데이터 기입 방법.
  24. 제22항에 있어서,
    상기 제1 메모리 뱅크에서 상기 제1 데이터를 동시에 교대로 프로그래밍하고 검증하는 단계의 개시까지 상기 제1 데이터를 캐싱하도록 구성된 제1 데이터 캐시에 캐싱하는 단계; 및
    상기 제2 메모리 뱅크에서 상기 제2 데이터를 동시에 교대로 프로그래밍하고 검증하는 단계의 개시까지 상기 제2 데이터를 캐싱하도록 구성된 제2 데이터 캐시에 캐싱하는 단계를 더 포함하는 데이터 기입 방법.
  25. 제22항에 있어서,
    감지된 제1 감지 데이터 및 제2 감지 데이터 중 하나가 상기 제1 데이터 및 제2 데이터 중 각각의 데이터와 각각 일치하는 경우, 상기 제1 데이터 및 상기 제2 데이터 중 하나를 동시에 교대로 프로그래밍하고 검증하는 것을 종료하는 단계를 더 포함하는 데이터 기입 방법.
  26. 제22항에 있어서,
    상기 제1 데이터 및 제2 데이터를 검증하는 단계는, 제1 감지 데이터 및 제2 감지 데이터를 각각 감지하는 단계, 및 상기 제1 감지 데이터 및 상기 제2 감지 데이터를 상기 제1 데이터 및 상기 제2 데이터와 일치시키기 위해 각각 비교하는 단계를 포함하는 데이터 기입 방법.
KR1020097014901A 2006-12-20 2007-12-20 인터리빙 방식의 메모리를 프로그래밍하고 검증하는 방법, 디바이스 및 시스템 KR101053711B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/642,334 US7539062B2 (en) 2006-12-20 2006-12-20 Interleaved memory program and verify method, device and system
US11/642,334 2006-12-20
PCT/US2007/088343 WO2008079958A1 (en) 2006-12-20 2007-12-20 Interleaved memory program and verify method, device and system

Publications (2)

Publication Number Publication Date
KR20090111818A KR20090111818A (ko) 2009-10-27
KR101053711B1 true KR101053711B1 (ko) 2011-08-02

Family

ID=39243695

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097014901A KR101053711B1 (ko) 2006-12-20 2007-12-20 인터리빙 방식의 메모리를 프로그래밍하고 검증하는 방법, 디바이스 및 시스템

Country Status (3)

Country Link
US (4) US7539062B2 (ko)
KR (1) KR101053711B1 (ko)
WO (1) WO2008079958A1 (ko)

Families Citing this family (90)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103258572B (zh) 2006-05-12 2016-12-07 苹果公司 存储设备中的失真估计和消除
US8156403B2 (en) 2006-05-12 2012-04-10 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
WO2007132456A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Memory device with adaptive capacity
US8060806B2 (en) 2006-08-27 2011-11-15 Anobit Technologies Ltd. Estimation of non-linear distortion in memory devices
CN101601094B (zh) * 2006-10-30 2013-03-27 苹果公司 使用多个门限读取存储单元的方法
US7975192B2 (en) 2006-10-30 2011-07-05 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US7924648B2 (en) * 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
WO2008068747A2 (en) 2006-12-03 2008-06-12 Anobit Technologies Ltd. Automatic defect management in memory devices
US7900102B2 (en) 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
US7539062B2 (en) * 2006-12-20 2009-05-26 Micron Technology, Inc. Interleaved memory program and verify method, device and system
US7751240B2 (en) 2007-01-24 2010-07-06 Anobit Technologies Ltd. Memory device with negative thresholds
US8151166B2 (en) 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
WO2008111058A2 (en) 2007-03-12 2008-09-18 Anobit Technologies Ltd. Adaptive estimation of memory cell read thresholds
US8001320B2 (en) 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
WO2008139441A2 (en) 2007-05-12 2008-11-20 Anobit Technologies Ltd. Memory device with internal signal processing unit
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8174905B2 (en) 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US7773413B2 (en) * 2007-10-08 2010-08-10 Anobit Technologies Ltd. Reliable data storage in analog memory cells in the presence of temperature variations
US8068360B2 (en) 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
US8527819B2 (en) 2007-10-19 2013-09-03 Apple Inc. Data storage in analog memory cell arrays having erase failures
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
WO2009063450A2 (en) 2007-11-13 2009-05-22 Anobit Technologies Optimized selection of memory units in multi-unit memory devices
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US8209588B2 (en) 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8456905B2 (en) 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
US8085586B2 (en) 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
US8156398B2 (en) 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US7924587B2 (en) 2008-02-21 2011-04-12 Anobit Technologies Ltd. Programming of analog memory cells using a single programming pulse per state transition
US7864573B2 (en) * 2008-02-24 2011-01-04 Anobit Technologies Ltd. Programming analog memory cells for reduced variance after retention
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US8059457B2 (en) 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
US8130528B2 (en) 2008-08-25 2012-03-06 Sandisk 3D Llc Memory system with sectional data lines
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8027209B2 (en) 2008-10-06 2011-09-27 Sandisk 3D, Llc Continuous programming of non-volatile memory
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8397024B2 (en) * 2008-10-25 2013-03-12 Sandisk 3D Llc Page buffer program command and methods to reprogram pages without re-inputting data to a memory device
US8713330B1 (en) 2008-10-30 2014-04-29 Apple Inc. Data scrambling in memory devices
US8208304B2 (en) 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
US8174857B1 (en) 2008-12-31 2012-05-08 Anobit Technologies Ltd. Efficient readout schemes for analog memory cell devices using multiple read threshold sets
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8285917B2 (en) * 2009-03-26 2012-10-09 Scaleo Chip Apparatus for enhancing flash memory access
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US8279650B2 (en) 2009-04-20 2012-10-02 Sandisk 3D Llc Memory system with data line switching scheme
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
KR101139187B1 (ko) * 2009-12-28 2012-04-26 (주)인디링스 버퍼 없이 에러를 검출하고 정정하는 컨트롤러 및 그 컨트롤러의 동작 방법
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8677203B1 (en) 2010-01-11 2014-03-18 Apple Inc. Redundant data storage schemes for multi-die memory systems
KR101655306B1 (ko) * 2010-02-24 2016-09-07 삼성전자주식회사 메모리 시스템 및 그것의 액세스 방법
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8767459B1 (en) 2010-07-31 2014-07-01 Apple Inc. Data storage in analog memory cells across word lines using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
WO2012083211A1 (en) * 2010-12-17 2012-06-21 Everspin Technologies, Inc. Memory controller and method for interleaving dram and mram accesses
US8699293B2 (en) 2011-04-27 2014-04-15 Sandisk 3D Llc Non-volatile storage system with dual block programming
US9007843B2 (en) * 2011-12-02 2015-04-14 Cypress Semiconductor Corporation Internal data compare for memory verification
US20130290657A1 (en) * 2012-04-26 2013-10-31 Nick Baciu Storing data in containers
US20140060620A1 (en) * 2012-08-31 2014-03-06 Tennessee Valley Authority Solar photovoltaic panel cooling system and method
KR20140076128A (ko) * 2012-12-12 2014-06-20 에스케이하이닉스 주식회사 비휘발성 메모리 장치 및 동작 방법과, 이를 포함하는 데이터 처리 시스템
US8947972B2 (en) 2013-03-15 2015-02-03 Sandisk 3D Llc Dynamic address grouping for parallel programming in non-volatile memory
US8947944B2 (en) 2013-03-15 2015-02-03 Sandisk 3D Llc Program cycle skip evaluation before write operations in non-volatile memory
TWI514394B (zh) * 2013-08-27 2015-12-21 Toshiba Kk Semiconductor memory device and its control method
US9711225B2 (en) 2013-10-16 2017-07-18 Sandisk Technologies Llc Regrouping and skipping cycles in non-volatile memory
KR102128466B1 (ko) 2014-04-14 2020-06-30 삼성전자주식회사 메모리 시스템, 상기 메모리 시스템의 프로그램 방법 및 상기 메모리 시스템의 테스트 방법
US9564215B2 (en) 2015-02-11 2017-02-07 Sandisk Technologies Llc Independent sense amplifier addressing and quota sharing in non-volatile memory
JP6468234B2 (ja) * 2016-04-01 2019-02-13 トヨタ自動車株式会社 ガスタンクを搭載した車両
US9965211B2 (en) * 2016-09-08 2018-05-08 Cisco Technology, Inc. Dynamic packet buffers with consolidation of low utilized memory banks
US10157661B1 (en) 2017-08-25 2018-12-18 Micron Technology, Inc. Mitigating line-to-line capacitive coupling in a memory die
US10635515B2 (en) 2017-12-06 2020-04-28 Sandisk Technologies Llc Recovery of partial memory die
US10643721B2 (en) * 2018-06-21 2020-05-05 Sandisk Technologies Llc Interleaved program and verify in non-volatile memory
US11741020B2 (en) * 2019-05-24 2023-08-29 Texas Instruments Incorporated Methods and apparatus to facilitate fully pipelined read-modify-write support in level 1 data cache using store queue and data forwarding
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6215705B1 (en) 2000-02-10 2001-04-10 Advanced Micro Devices, Inc. Simultaneous program, program-verify scheme
US7130222B1 (en) 2005-09-26 2006-10-31 Macronix International Co., Ltd. Nonvolatile memory with program while program verify

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5422842A (en) * 1993-07-08 1995-06-06 Sundisk Corporation Method and circuit for simultaneously programming and verifying the programming of selected EEPROM cells
US5513148A (en) * 1994-12-01 1996-04-30 Micron Technology Inc. Synchronous NAND DRAM architecture
JPH08190796A (ja) * 1995-01-09 1996-07-23 Mitsubishi Denki Semiconductor Software Kk データリフレッシュ機能を有するフラッシュメモリ及びフラッシュメモリのデータリフレッシュ方法
US6335878B1 (en) * 1998-07-28 2002-01-01 Hitachi, Ltd. Non-volatile multi-level semiconductor flash memory device and method of driving same
US5901100A (en) * 1997-04-01 1999-05-04 Ramtron International Corporation First-in, first-out integrated circuit memory device utilizing a dynamic random access memory array for data storage implemented in conjunction with an associated static random access memory cache
US6178129B1 (en) * 1999-10-19 2001-01-23 Advanced Micro Devices, Inc. Separate output power supply to reduce output noise for a simultaneous operation
JP4090165B2 (ja) * 1999-11-22 2008-05-28 富士通株式会社 半導体記憶装置
US6259646B1 (en) * 2000-01-28 2001-07-10 Micron Technology, Inc. Fast accessing of a memory device
US6304497B1 (en) * 2000-06-30 2001-10-16 Micron Technology, Inc. Synchronous memory status register
US6883044B1 (en) * 2000-07-28 2005-04-19 Micron Technology, Inc. Synchronous flash memory with simultaneous access to one or more banks
ITRM20010516A1 (it) * 2001-08-29 2003-02-28 Micron Technology Inc Architettura a schiera di memorie flash.
JP2003233996A (ja) * 2002-02-08 2003-08-22 Mitsubishi Electric Corp 半導体記憶装置
US6850438B2 (en) * 2002-07-05 2005-02-01 Aplus Flash Technology, Inc. Combination nonvolatile memory using unified technology with byte, page and block write and simultaneous read and write operations
JP4063615B2 (ja) * 2002-08-30 2008-03-19 Necエレクトロニクス株式会社 不揮発性メモリおよびその書き込み処理方法
ITTO20021035A1 (it) * 2002-11-29 2004-05-30 St Microelectronics Srl Dispositivo di memoria non volatile a lettura e scrittura simulante.
US6925011B2 (en) * 2002-12-26 2005-08-02 Micron Technology, Inc. Programming flash memories
US7073016B2 (en) * 2003-10-09 2006-07-04 Micron Technology, Inc. Random access interface in a serial memory device
US7038945B2 (en) * 2004-05-07 2006-05-02 Micron Technology, Inc. Flash memory device with improved programming performance
KR100594280B1 (ko) * 2004-06-23 2006-06-30 삼성전자주식회사 프로그램 동작시 비트라인의 전압을 조절하는 비트라인전압 클램프 회로를 구비하는 플래쉬 메모리장치 및 이의비트라인 전압 제어방법
US7274596B2 (en) * 2004-06-30 2007-09-25 Micron Technology, Inc. Reduction of adjacent floating gate data pattern sensitivity
JP4329658B2 (ja) * 2004-09-17 2009-09-09 株式会社デンソー センスアンプ回路
ITMI20041988A1 (it) * 2004-10-20 2005-01-20 Atmel Corp "metodo e sistema per la fornitura di rilevazione in un dispositivo di memoria a banchi multipli."
US7251160B2 (en) * 2005-03-16 2007-07-31 Sandisk Corporation Non-volatile memory and method with power-saving read and program-verify operations
KR100680479B1 (ko) * 2005-04-11 2007-02-08 주식회사 하이닉스반도체 비휘발성 메모리 장치의 프로그램 검증 방법
US7123521B1 (en) * 2005-04-27 2006-10-17 Micron Technology, Inc. Random cache read
US7486530B2 (en) * 2005-04-28 2009-02-03 Micron Technology, Inc. Method of comparison between cache and data register for non-volatile memory
JP4842563B2 (ja) * 2005-05-16 2011-12-21 パナソニック株式会社 メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法
US7539062B2 (en) 2006-12-20 2009-05-26 Micron Technology, Inc. Interleaved memory program and verify method, device and system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6215705B1 (en) 2000-02-10 2001-04-10 Advanced Micro Devices, Inc. Simultaneous program, program-verify scheme
US7130222B1 (en) 2005-09-26 2006-10-31 Macronix International Co., Ltd. Nonvolatile memory with program while program verify

Also Published As

Publication number Publication date
WO2008079958A1 (en) 2008-07-03
US20100322003A1 (en) 2010-12-23
US7539062B2 (en) 2009-05-26
US20090231918A1 (en) 2009-09-17
US20080151637A1 (en) 2008-06-26
US8004897B2 (en) 2011-08-23
US8194454B2 (en) 2012-06-05
US20120002474A1 (en) 2012-01-05
US7808824B2 (en) 2010-10-05
KR20090111818A (ko) 2009-10-27

Similar Documents

Publication Publication Date Title
KR101053711B1 (ko) 인터리빙 방식의 메모리를 프로그래밍하고 검증하는 방법, 디바이스 및 시스템
US7813186B2 (en) Flash memory device and programming method thereof
KR101400999B1 (ko) 판독 동작들 동안 백그라운드 데이터 래치 캐싱을 사용하는비휘발성 메모리 및 캐싱 방법
US6349056B1 (en) Method and structure for efficient data verification operation for non-volatile memories
US8363468B2 (en) Semiconductor memory device
US7577037B2 (en) Use of data latches in cache operations of non-volatile memories
US7420847B2 (en) Multi-state memory having data recovery after program fail
US8218365B2 (en) Flash memory device having dummy cells and method of operating the same
US8046525B2 (en) Nonvolatile semiconductor memory device with advanced multi-page program operation
US20100309719A1 (en) Folding Data Stored in Binary Format Into Multi-State Format Within Non-Volatile Memory Devices
US20080065812A1 (en) Pseudo random and command driven bit compensation for the cycling effects in flash memory
US20080065813A1 (en) Methods in a pseudo random and command driven bit compensation for the cycling effects in flash memory
US9378823B2 (en) Programming a memory cell to a voltage to indicate a data value and after a relaxation time programming the memory cell to a second voltage to indicate the data value
US20200227128A1 (en) Memory devices configured to test data path integrity
JP4791580B2 (ja) 不揮発性メモリおよびキャッシュページコピー方法
US9343168B2 (en) Multiple step programming in a memory device
US10446258B2 (en) Methods and apparatus for providing redundancy in memory

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140703

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee