KR101053711B1 - 인터리빙 방식의 메모리를 프로그래밍하고 검증하는 방법, 디바이스 및 시스템 - Google Patents
인터리빙 방식의 메모리를 프로그래밍하고 검증하는 방법, 디바이스 및 시스템 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1042—Read-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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3468—Prevention of overerasure or overprogramming, e.g. by verifying whilst erasing or writing
- G11C16/3481—Circuits 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2216/00—Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
- G11C2216/12—Reading and writing aspects of erasable programmable read-only memories
- G11C2216/22—Nonvolatile 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 메모리 뱅크에서의 프로그래밍 동작 및 검증 동작으로부터 오프셋된다.
메모리 뱅크, 메모리 어레이, 프로그래밍 동작, 검증 동작, 제어기
Description
우선권 주장
본 출원은, 발명의 명칭이 "인터리빙 방식의 메모리를 프로그래밍하고 검증하는 방법, 디바이스 및 시스템(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 메모리 뱅크 및 제2 메모리 뱅크를 포함하는 메모리 어레이; 및제1 데이터를 상기 제1 메모리 뱅크 및 상기 제2 메모리 뱅크 중 하나에 프로그래밍하고, 제2 데이터를 상기 제1 메모리 뱅크 및 상기 제2 메모리 뱅크 중 다른 하나에서 검증하는 것을 동시에 행함으로써, 제1 데이터 및 제2 데이터를 상기 메모리 어레이에 프로그래밍하도록 구성된 제어기를 포함하는 메모리 디바이스.
- 제1항에 있어서,각각의 상기 제1 메모리 뱅크 및 제2 메모리 뱅크에 프로그래밍하기 위해 상기 제1 데이터 및 제2 데이터를 수신하도록 구성된 I/O 버퍼를 더 포함하는 메모리 디바이스.
- 제2항에 있어서,상기 제1 메모리 뱅크가 그 안에 상기 제1 데이터를 프로그래밍할 준비가 될때까지 상기 제1 데이터를 상기 I/O 버퍼로부터 캐싱하도록 구성되고, 그 후에, 상기 제2 메모리 뱅크가 그 안에 상기 제2 데이터를 프로그래밍할 준비가 될 때까지 상기 제2 데이터를 상기 I/O 버퍼로부터 캐싱하도록 더 구성된 공유 데이터 캐 시(shared data cache)를 더 포함하는 메모리 디바이스.
- 제2항에 있어서,상기 제1 메모리 뱅크가 그 안에 상기 제1 데이터를 프로그래밍할 준비가 될 때까지 상기 제1 데이터를 상기 I/O 버퍼로부터 캐싱하도록 구성된 제1 데이터 캐시; 및상기 제2 메모리 뱅크가 그 안에 상기 제2 데이터를 프로그래밍할 준비가 될 때까지 상기 제2 데이터를 상기 I/O 버퍼로부터 캐싱하도록 구성된 제2 데이터 캐시를 더 포함하는 메모리 디바이스.
- 제1항에 있어서,상기 제1 메모리 뱅크 및 상기 제2 메모리 뱅크와 각각 동작적으로 결합된 제1 감지 증폭기 및 제2 감지 증폭기를 더 포함하며, 상기 제1 감지 증폭기 및 상기 제2 감지 증폭기 각각은, 상기 제1 메모리 뱅크 및 상기 제2 메모리 뱅크에서의 반복적인 프로그래밍 및 검증 동작들 동안 상기 제1 데이터 및 상기 제2 데이터를 각각 저장하기 위한 래치(latch)를 포함하는 메모리 디바이스.
- 제5항에 있어서,상기 검증 동작 동안, 상기 제1 감지 증폭기 및 상기 제2 감지 증폭기에 의해 감지된 제1 감지 데이터 및 제2 감지 데이터로 상기 제1 데이터 및 상기 제2 데 이터를 각각 검증하도록 구성된 제1 비교기 및 제2 비교기를 더 포함하는 메모리 디바이스.
- 제6항에 있어서,상기 제어기는, 각각의 상기 제1 데이터 및 상기 제2 데이터가 상기 제1 감지 데이터 및 상기 제2 감지 데이터와 일치하지 않을 경우, 후속 프로그래밍 동작 및 검증 동작을 상기 제1 메모리 뱅크 및 상기 제2 메모리 뱅크 중 적어도 하나에서 반복적으로 수행하도록 더 구성된 메모리 디바이스.
- 제5항에 있어서,상기 제1 감지 증폭기 및 상기 제2 감지 증폭기는, 상기 제1 데이터 및 상기 제2 데이터를 상기 메모리 디바이스의 외부 인터페이스로부터 직접적으로 래칭하도록 더 구성된 메모리 디바이스.
- 제5항에 있어서,공유 데이터 캐시를 더 포함하고, 상기 제1 감지 증폭기 및 상기 제2 감지 증폭기는 상기 제1 데이터 및 상기 제2 데이터를 상기 공유 데이터 캐시로부터 래칭하도록 더 구성된 메모리 디바이스.
- 제5항에 있어서,제1 데이터 캐시 및 제2 데이터 캐시를 더 포함하고, 상기 제1 감지 증폭기 및 상기 제2 감지 증폭기는 상기 제1 데이터 및 상기 제2 데이터를 상기 제1 데이터 캐시 및 상기 제2 데이터 캐시로부터 각각 래칭하도록 더 구성된 메모리 디바이스.
- 제1 메모리 뱅크 및 제2 메모리 뱅크; 및상기 제1 메모리 뱅크 및 상기 제2 메모리 뱅크 각각에서의 반복적인 프로그래밍 동작 및 검증 동작을 이용하여, 제1 데이터를 상기 제1 메모리 뱅크에, 그리고 제2 데이터를 상기 제2 메모리 뱅크에 동시에 프로그래밍하도록 구성된 제어기 - 상기 제2 메모리 뱅크에서의 상기 프로그래밍 동작 및 상기 검증 동작은 상기 제1 메모리 뱅크에서의 상기 프로그래밍 동작 및 상기 검증 동작으로부터 오프셋됨 -를 포함하는 비휘발성 메모리 디바이스.
- 제11항에 있어서,상기 제1 메모리 뱅크의 상기 프로그래밍 동작 및 상기 검증 동작의 개시까지 상기 비휘발성 메모리 디바이스의 외부 인터페이스로부터 수신된 상기 제1 데이터를 캐싱하도록 구성되고, 상기 제2 메모리 뱅크의 상기 프로그래밍 동작 및 상기 검증 동작의 개시까지 상기 비휘발성 메모리 디바이스의 외부 인터페이스로부터 수신된 상기 제2 데이터를 캐싱하도록 더 구성된 공유 데이터 캐시를 더 포함하는 비휘발성 메모리 디바이스.
- 제11항에 있어서,상기 제1 메모리 뱅크의 상기 프로그래밍 동작 및 상기 검증 동작의 개시까지 상기 비휘발성 메모리 디바이스의 외부 인터페이스로부터 수신된 상기 제1 데이터를 캐싱하도록 구성된 제1 데이터 캐시, 및 상기 제2 메모리 뱅크의 상기 프로그래밍 동작 및 상기 검증 동작의 개시까지 상기 비휘발성 메모리 디바이스의 외부 인터페이스로부터 수신된 상기 제2 데이터를 캐싱하도록 구성된 제2 데이터 캐시를 더 포함하는 비휘발성 메모리 디바이스.
- 제11항에 있어서,상기 제어기는 감지된 제1 감지 데이터 및 제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 메모리 뱅크에서 제1 데이터를 반복적으로 프로그래밍하고 검증하는 단계; 및동시에, 상기 제1 메모리 뱅크에서 반복적으로 프로그래밍하고 검증하는 단계로부터 오프셋된 상기 비휘발성 메모리 어레이의 제2 메모리 뱅크에서 제2 데이터를 반복적으로 프로그래밍하고 검증하는 단계를 포함하는, 비휘발성 메모리 어레이의 프로그래밍 방법.
- 제17항에 있어서,상기 제1 데이터를 반복적으로 프로그래밍하고 검증하는 단계의 개시까지 상기 제1 데이터를 캐싱하도록 구성되고, 동시에 상기 제2 데이터를 반복적으로 프로그래밍하고 검증하는 단계의 개시까지 상기 제2 데이터를 캐싱하도록 더 구성된 공유 캐시에 상기 제1 데이터 및 상기 제2 데이터를 캐싱하는 단계를 더 포함하는, 비휘발성 메모리 어레이의 프로그래밍 방법.
- 제17항에 있어서,상기 제1 데이터를 반복적으로 프로그래밍하고 검증하는 단계의 개시까지 상기 제1 데이터를 캐싱하도록 구성된 제1 데이터 캐시에 캐싱하는 단계; 및동시에, 상기 제2 데이터를 반복적으로 프로그래밍하고 검증하는 단계의 개시까지 상기 제2 데이터를 캐싱하도록 구성된 제2 데이터 캐시에 캐싱하는 단계를 더 포함하는, 비휘발성 메모리 어레이의 프로그래밍 방법.
- 제17항에 있어서,감지된 제1 감지 데이터 및 제2 감지 데이터 중 각각의 감지 데이터가 상기 제1 데이터 및 상기 제2 데이터 중 각각의 데이터와 각각 일치하는 경우, 상기 제1 데이터 및 상기 제2 데이터 중 하나를 반복적으로 프로그래밍하고 검증하는 단계를 종료하는 단계를 더 포함하는, 비휘발성 메모리 어레이의 프로그래밍 방법.
- 제17항에 있어서,제1 데이터 및 제2 데이터를 검증하는 단계는, 제1 감지 데이터 및 제2 감지 데이터를 감지하는 단계, 및 상기 제1 감지 데이터 및 상기 제2 감지 데이터를 상기 제1 데이터 및 상기 제2 데이터와 일치시키기 위해 각각 비교하는 단계를 포함하는, 비휘발성 메모리 어레이의 프로그래밍 방법.
- 데이터를 메모리 어레이에 기입하는 방법으로서,상기 메모리 어레이의 제1 메모리 뱅크의 제1 감지 증폭기들에 제1 데이터를 저장하는 단계;상기 메모리 어레이의 제2 메모리 뱅크의 제2 감지 증폭기들에 제2 데이터를 저장하는 단계; 및상기 제1 메모리 뱅크에서 상기 제1 데이터를, 그리고 상기 제2 메모리 뱅크에서 상기 제2 데이터를 동시에 교대로 프로그래밍하고 검증하는 단계를 포함하는 데이터 기입 방법.
- 제22항에 있어서,상기 제1 메모리 뱅크에서 상기 제1 데이터를 동시에 교대로 프로그래밍하고 검증하는 단계의 개시까지 상기 제1 데이터를 캐싱하고, 상기 제2 메모리 뱅크에서 상기 제2 데이터를 동시에 교대로 프로그래밍하고 검증하는 단계의 개시까지 상기 제2 데이터를 캐싱하도록 구성된 공유 캐시에 상기 제1 데이터를 캐싱하는 단계를 더 포함하는 데이터 기입 방법.
- 제22항에 있어서,상기 제1 메모리 뱅크에서 상기 제1 데이터를 동시에 교대로 프로그래밍하고 검증하는 단계의 개시까지 상기 제1 데이터를 캐싱하도록 구성된 제1 데이터 캐시에 캐싱하는 단계; 및상기 제2 메모리 뱅크에서 상기 제2 데이터를 동시에 교대로 프로그래밍하고 검증하는 단계의 개시까지 상기 제2 데이터를 캐싱하도록 구성된 제2 데이터 캐시에 캐싱하는 단계를 더 포함하는 데이터 기입 방법.
- 제22항에 있어서,감지된 제1 감지 데이터 및 제2 감지 데이터 중 하나가 상기 제1 데이터 및 제2 데이터 중 각각의 데이터와 각각 일치하는 경우, 상기 제1 데이터 및 상기 제2 데이터 중 하나를 동시에 교대로 프로그래밍하고 검증하는 것을 종료하는 단계를 더 포함하는 데이터 기입 방법.
- 제22항에 있어서,상기 제1 데이터 및 제2 데이터를 검증하는 단계는, 제1 감지 데이터 및 제2 감지 데이터를 각각 감지하는 단계, 및 상기 제1 감지 데이터 및 상기 제2 감지 데이터를 상기 제1 데이터 및 상기 제2 데이터와 일치시키기 위해 각각 비교하는 단계를 포함하는 데이터 기입 방법.
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)
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)
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)
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 |
-
2006
- 2006-12-20 US US11/642,334 patent/US7539062B2/en not_active Expired - Fee Related
-
2007
- 2007-12-20 WO PCT/US2007/088343 patent/WO2008079958A1/en active Application Filing
- 2007-12-20 KR KR1020097014901A patent/KR101053711B1/ko not_active IP Right Cessation
-
2009
- 2009-05-26 US US12/471,774 patent/US7808824B2/en not_active Expired - Fee Related
-
2010
- 2010-08-27 US US12/870,377 patent/US8004897B2/en not_active Expired - Fee Related
-
2011
- 2011-08-09 US US13/206,019 patent/US8194454B2/en not_active Expired - Fee Related
Patent Citations (2)
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 |