KR101249820B1 - 상황 민감 메모리 성능 - Google Patents

상황 민감 메모리 성능 Download PDF

Info

Publication number
KR101249820B1
KR101249820B1 KR1020087004738A KR20087004738A KR101249820B1 KR 101249820 B1 KR101249820 B1 KR 101249820B1 KR 1020087004738 A KR1020087004738 A KR 1020087004738A KR 20087004738 A KR20087004738 A KR 20087004738A KR 101249820 B1 KR101249820 B1 KR 101249820B1
Authority
KR
South Korea
Prior art keywords
mode
memory
memory system
programming
controller
Prior art date
Application number
KR1020087004738A
Other languages
English (en)
Other versions
KR20080038370A (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 KR20080038370A publication Critical patent/KR20080038370A/ko
Application granted granted Critical
Publication of KR101249820B1 publication Critical patent/KR101249820B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 발명은 하나 이상의 시스템 관련 상황에 비휘발성 메모리 시스템의 성능을 적응시키는 비휘발성 메모리 시스템을 제공한다. 만일 메모리가 작동을 완료하기 위하여 할당된 시간 이상을 필요로 하는 상황이 발생하면, 메모리는 작동을 충분히 빠르게 완료하기 위하여 정상 작동 모드로부터 고성능 모드로 전환할 수 있다. 역으로, 만일 신뢰성이 문제가 될 수 있는 상황(예를 들어 부분 페이지 프로그래밍)이 발생하면, 제어기는 고신뢰성 모드로 전환될 수 있다. 어느 한 경우에, 일단 트리거링 시스템의 작동 상황이 정상 모드로 리턴되면, 메모리는 정상 작동으로 복귀한다. 이러한 상황의 검출은 프로그래밍 및 데이터 재배치 작동들 동안 사용될 수 있다. 전형적인 실시예는 펌웨어 프로그램가능 성능에 기초한다.

Description

상황 민감 메모리 성능{SITUATION SENSITIVE MEMORY PERFORMANCE}
본 발명은 일반적으로 재프로그램 가능 비휘발성 메모리 시스템 및 이의 작동, 특히 프로그래밍 성능을 최적화하는 기술들에 관한 것이다.
재프로그램가능 비휘발성 메모리 제품들은 특히 컴팩트플래시 카드(CF), 보안 디지털 카드(SD), 멀티미디어 카드(MMC), 및 샌디스크 코포레이션을 포함하여 다양한 벤더들에 의하여 제조된 메모리 스틱 카드와 같은 소형 팩터 카드의 형태로 오늘날 상업적으로 성공하여 오늘날 폭넓게 사용가능하게 되었다. 이러한 카드들은 전형적으로 플래시 전기적 소거가능 및 프로그램가능 판독전용 메모리(EEPROM) 메모리 셀의 어레이를 사용한다. 플래시 EEPROM 메모리 셀 어레이들은 전형적으로 NOR 어레이들 또는 NAND 어레이들로서 제조된다.
NOR 어레이
전형적인 NOR 어레이에서, 메모리 셀들은 셀들의 행들을 따라 연장하는 워드 라인들에 접속된 제어 게이트들과 함께 열 방향으로 연장하는 인접 비트 라인 소스 및 드레인 확산부들 사이에 접속된다. 하나의 전형적인 메모리 셀은 소스 및 드레인 확산부들 사이의 "스플릿-채널(split-channel)을 가진다. 셀의 전하 저장 엘리먼트는 채널의 한 부분 위에 배치되며, 워드 라인(또한, 제어 게이트로서 언급됨) 은 다른 채널 부분뿐만 아니라 전하 저장 엘리먼트 위에 배치된다. 이는 두 개의 트랜지스터를 직렬로 가진 셀을 효율적으로 형성하며, 두 개의 트랜지스터들 중 하나의 트랜지스터(메모리 트랜지스터)는 전하 저장 엘리먼트 상의 전하량 및 채널의 일부분을 통해 흐를 수 있는 전류량을 제어하는 워드 라인 상의 전압의 조합을 지닌 것이며, 다른 트랜지스터(선택 트랜지스터)는 그것의 게이트로서 단독으로 역할을 하는 워드라인을 가진다. 워드 라인은 전하 저장 엘리먼트들의 행 위에서 연장된다. 이러한 셀들의 예들, 메모리 시스템들의 용도 및 메모리 시스템을 제조하기 위한 방법들은 미국특허 제5,070,032호, 제5,095,344호, 제5,315,541호, 제5,343,063호 및 제5,661,053호, 및 1999년 1월 27일에 출원된 공동 계류중인 미국특허 출원번호 제09/239,073호에 개시되어 있다.
이러한 스플릿-채널 플래시 EEPROM 셀의 수정은 전하 저장 엘리먼트 및 워드 라인 사이에 배치된 스티어링 게이트를 추가한다. 어레이의 각각의 스티어링 게이트는 워드라인에 수직하게 전하 저장 엘리먼트들의 하나의 열 위에서 연장된다. 이에 대한 효과는 선택된 셀을 판독 또는 프로그래밍할 때 워드 라인이 두 가지 기능을 동시에 수행하는 것을 제거하는 것이다. 이들 두 가지 기능은 (1) 선택 트랜지스터의 게이트로서 사용하여 선택된 트랜지스터를 턴-온(turn-on) 또는 턴-오프(turn-off)하는데 적절한 전압을 요구하며 (2) 워드라인 및 전하 저장 엘리먼트사이의 전계 (용량성의) 결합을 통해 전하 저장 엘리먼트의 전압을 적정 레벨로 유도하는 것이다. 단일 전압을 사용하여 최적 방식으로 이들 기능들의 둘 다를 수행하는 것은 종종 곤란하다. 스티어링 게이트의 추가로 인하여, 워드라인은 단지 기 능(1)만을 수행할 필요가 있는 반면에, 추가된 스티어링 게이트는 기능(2)을 수행한다. 플래시 EEPROM 어레이에서 스티어링 게이트들의 사용은 예컨대 미국특허 제5,313,421호 및 제6,222,762호에 개시되어 있다.
전자들을 기판으로부터 게이트 유전체를 통해 플로팅 게이트 저장 엘리먼트상에 주입하기 위한 다양한 프로그래밍 기술들이 존재한다. 가장 공통적인 프로그래밍 메커니즘들은 book edited by Brown and Brewer, Nonvolatile Semiconductor Memory Technology, IEEE Press, section 1.2, pages 9-25(1998)에 개시되어 있다. 채널 "열-전자 주입"(섹션 1.2.3)이라 지칭된 하나의 기술은 셀의 채널로부터 셀의 드레인에 인접한 플로팅 게이트의 영역 내로 전자들을 주입한다. "소스측 주입"(섹션 1.2.4)이라 지칭된 다른 기술은 드레인으로부터 이격된 채널의 영역에 전자를 주입하기 위한 조건들을 생성하는 방식으로 메모리 셀 채널의 길이를 따라 기판 표면 전위를 제어한다. 소스측 주입은 또한 문헌 Kamiya et al., "EPROM Cell with high Gate Injection Efficiency," IEDM Technical Digest, 1982, pages 741-744 및 미국특허 제4,622,656호 및 제5,313,421호에 개시되어 있다.
메모리 셀들을 소거하기 위하여 전하 저장 엘리먼트들로부터 전하를 제거하는 두 가지 기술들은 앞서 기술된 2가지 타입의 NOR 메모리 셀 어레이들 모두에 사용된다. 두 가지 타입 중 한 타입은 저장 엘리먼트 및 기판 사이의 유전체층의 일부분을 통해 전자들이 터널링하도록 하는 적정 전압을 소스, 드레인 및 다른 게이트(들)에 공급함으로써 기판에서 전하를 소거한다. 다른 소거 기술은 저장 엘리먼트 및 다른 게이트 사이에 배치된 터널 유전체층을 통해 저장 엘리먼트로부터 다른 게이트로 전자들을 전달한다. 앞서 기술된 제 1 타입의 셀에서, 제 3 소거 게이트는 이러한 목적을 위하여 제공된다. 스티어링 게이트를 사용하기 때문에 3개의 게이트들을 이미 가진 앞서 기술된 제 2 타입의 셀에서, 전자 저장 엘리먼트는 제 4 게이트를 추가할 필요성 없이 워드라인에서 소거된다. 비록 이러한 제 2타입의 셀과 관련된 기술이 워드 라인에 의하여 수행될 제 2 기능을 다시 추가할지라도, 이들 기능들은 다른 시간에 수행되며, 따라서 두 가지 기능들 때문에 충돌하는 필연성을 방지한다. 다른 소거 기술이 사용될 때, 다수의 메모리 셀들은 "플래시"에서 동시 소거를 위하여 함께 그룹핑된다. 한 방식에서, 그룹은 디스크 섹터에 저장된 사용자 데이터량, 즉 512 바이트 + 임의의 오버헤드 데이터를 저장하기에 충분한 메모리 셀들을 포함한다. 다른 방식에서, 각각의 그룹은 데이터의 많은 디스크 섹터들의 값과 동일한 사용자 데이터의 수천 바이트를 유지하기에 충분한 셀들을 포함한다. 멀티-블록 소거, 결함 관리 및 다른 플래시 EEPROM 시스템 특징들은 미국특허 제5,297,148호에 개시되어 있다.
대부분의 모든 집적회로 응용들에서처럼, 임의의 집적회로 기능을 구현하는데 필요한 실리콘 기판 영역을 수축시키는 압력은 플래시 EEPROM 시스템들에 존재한다. 주어진 크기의 메모리 카드 및 다른 타입의 패키지들의 저장 용량을 증가시키거나, 또는 용량을 증가시키면서 크기를 감소시키기 위하여 실리콘 기판의 주어진 영역에 저장될 수 있는 디지털 데이터량을 증가시키는 것이 계속적으로 요구된다. 데이터의 저장 밀도를 증가시키는 한 방식은 메모리 셀당 데이터의 1비트 이상을 저장하는 것이다. 이는 저장 엘리먼트 전하 레벨 전압 범위의 윈도우를 2 이 상의 상태로 분할함으로서 달성된다. 이러한 상태들 중 4가지 상태의 사용은 각각의 셀이 데이터의 2 비트를 저장하도록 하고, 8가지 상태들은 셀당 데이터의 3 비트를 저장한다. 다중 상태 플래시 EEPROM 구조 및 작동은 미국특허 제5,043,940호 및 제5,172,338호에 개시되어 있다.
다른 타입의 메모리 셀은 각각의 저장 엘리먼트 상에서 다중 상태들로 작동될 수 있는 2가지 저장 엘리먼트를 포함한다. 이러한 타입의 셀에서, 2개의 저장 엘리먼트들은 이들 사이에 배치된 선택 트랜지스터의 소스 및 드레인 확산부들 사이의 채널 위에 포함된다. 스티어링 게이트는 저장 엘리먼트들의 각각의 열을 따라 포함되며, 워드라인은 저장 엘리먼트들의 각각의 행을 따라 제공된다. 판독 또는 프로그래밍하는 주어진 저장 엘리먼트를 액세스할 때, 관심 있는 저장 엘리먼트를 포함하는 셀의 다른 저장 엘리먼트 상의 스티어링 게이트는 전하 레벨이 존재하던지간에 다른 저장 엘리먼트 아래의 채널을 턴온시키기에 충분히 높게 상승된다. 이는 동일한 메모리 셀의 관심 있는 저장 엘리먼트를 판독 또는 프로그래밍할 때 팩터로서 다른 저장 엘리먼트를 효율적으로 제거한다. 예컨대, 셀의 상태를 판독하기 위하여 사용될 수 있는, 셀을 통해 흐르는 전류량은 동일한 셀의 다른 저장 엘리먼트가 아니라 관심 있는 저장 엘리먼트 상의 전하량의 함수이다. 이러한 셀 어레이 아키텍처 및 작동 기술들의 예들은 미국특허 제5,712,180호, 제6,103,573호 및 제6,151,248호에 개시되어 있다.
NAND 어레이
다른 플래시 EEPROM 아키텍처는 NAND 어레이를 사용하며, 여기서 16개 또는 32개와 같은 2개 이상의 메모리 셀들의 일련의 스트링들은 셀들의 열들을 형성하기 위하여 개별 비트 라인들 및 기준 전위 사이의 하나 이상의 선택 트랜지스터들을 따라 접속된다. 워드 라인들은 다수의 이들 열들 내의 셀들을 가로질러 연장된다. 열 내의 개별 셀은 스트링을 통해 흐르는 전류가 어드레싱된 셀 내에 저장된 전하 레벨에 종속되도록 스트링의 나머지 셀들이 턴온되기 어렵게 함으로서 프로그래밍동안 판독 및 검증된다. 메모리 시스템의 일부분으로서 NAND 아키텍처 어레이 및 이의 작동의 예는 미국특허 제5,570,315호, 제5,774,397호 및 제6,046,935호에 개시되어 있다.
전술한 참조 특허들 및 문헌들에 개시된 현재의 플래시 EEPROM 어레이들의 전하 저장 엘리먼트들은 대부분 도핑된 폴리실리콘 재료로 형성된 전기 도전성 플로팅 게이트들이다. 플래시 EEPROM 시스템들에서 유용한 다른 타입의 메모리 셀은 비휘발성 방식으로 전하를 저장하기 위하여 도전성 플로팅 게이트 대신에 비도전성 유전체 재료를 사용한다. 이러한 셀은 문헌 Chan et al., "A True Single-Transistor Oxide-Nitride-Oxide EEPROM Device," IEEE Electron Device Letters, Vol. EDL-8, No. 3, March 1987, pp. 93-95에 개시되어 있다. 실리콘 산화물, 실리콘 질화물 및 실리콘 산화물("ONO")로 형성된 3 유전체층은 메모리 셀 채널 위에서 도전성 제어 게이트 및 반도체 기판의 표면 사이에 삽입된다. 셀은 전자들을 셀 채널로부터 질화물 내로 주입함으로써 프로그래밍되며, 여기에서 전자들은 트랩되어 제한된 영역에 저장된다. 그 다음에, 이와 같이 저장된 전하는 검출가능한 방식으로 셀의 채널의 일부분의 임계전압을 변화시킨다. 셀은 열 홀(hot hole)들 을 질화물로 주입함으로써 소거된다. 문헌 Nozaki et al., "A 1-Mb EEPROM with MONOS Memory Cell for Semiconductor Disk Application," IEEE journal of Solid-State Circuits, Vol. 26, No. 4, April 1991, pp. 497-501는 도핑된 폴리실리콘 게이트가 개별 선택 트랜지스터를 형성하기 위하여 메모리 셀 채널의 일부분 위에서 연장되는 스플릿-게이트 구성의 유사한 셀을 개시하고 있다.
미국특허 제5,851,881호는 메모리 셀의 채널 위에서 서로에 인접하게 배치된 2개의 저장 엘리먼트들의 사용을 개시하고 있으며, 2개의 저장 엘리먼트들 중 하나의 저장 엘리먼트는 유전체 엘리먼트이며, 다른 저장 엘리먼트는 도전성 플로팅 게이트이다. 데이터의 2 비트가 저장되며, 2비트중 1비트는 유전체 엘리먼트에 저장되며, 다른 비트는 플로팅 게이트에 저장된다. 메모리 셀은 2개의 게이트들의 각각을 2개의 다른 전하 레벨 범위들 중 한 범위에 프로그래밍함으로써 4개의 저장 상태들중 한 상태를 나타내는, 4개의 다른 임계레벨 조합들 중 하나로 프로그래밍된다.
유전체 저장 엘리먼트를 사용하여 각각의 셀에 2 비트를 저장하기 위한 다른 방식은 Eitan et al., "NROM: A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell," IEEE Electron Device Letters, vol. 21, no. 11, November 2000, pp. 543-545에 개시되어 있다. ONO 유전체층은 소스 및 드레인 확산부들 사이의 채널을 통해 연장된다. 1 데이터 비트에 대한 전하는 드레인에 인접한 유전체층에 국부화되며, 다른 데이터 비트에 대한 전하는 소스에 인접한 유전체층에 국부화된다. 다중-상태 데이터 저장은 유전체 내의 공간적으로 분리된 전하 저장 영역들의 2진 상태들을 개별적으로 판독함으로써 획득된다.
큰 소거 블록들
전형적인 비휘발성 플래시 어레이의 메모리 셀들은 함께 소거되는 셀들의 개별 블록들로 분할된다. 즉, 블록은 소거 단위이다. 각각의 블록은 전형적으로 데이터의 하나 이상의 페이지들을 저장하며, 페이지는 비록 1 이상의 페이지가 단일 방향으로 프로그래밍되거나 또는 판독될 수 있을지라도 프로그래밍 및 판독의 단위이다. 각각의 페이지는 전형적으로 데이터의 하나 이상의 섹터들을 저장하며, 섹터의 크기는 호스트 시스템에 의하여 한정된다. 예는 자기 디스크 드라이브들로 설정된 표준 이후 사용자 데이터의 512 바이트와 사용자 데이터 및/또는 사용자 데이터가 저장된 블록에 대한 오버헤드 정보의 임의의 바이트 수로 구성된 섹터이다.
기록 작동 동안 블록을 자유롭게 하기 위하여 블록들을 소거하는 것이 종종 필요하다. 이러한 경우에, 소거될 블록(원시 블록) 내의 데이터의 유효 페이지들은 통합되어 원시 블록을 소거하기 전에 다른 블록(업데이트 블록)에 복사된다. 이러한 프로세스는 "가비지 컬렉션(garbage collection)"이라 지칭된다. 가비지 컬렉션 동안, 원시 블록으로부터의 데이터의 나머지 유효 페이지들은 원시 블록으로부터 업데이트 블록으로 복사된다. 일단 복사 작동이 완료되면, 원시 블록은 소거되며 그 다음에 업데이트 블록은 원시 블록이 된다.
이러한 메모리 시스템들의 작동은 한편으로 성능과 다른 한편으로 신뢰성 및 전력 소비 사이에서 상충된다. 메모리의 작동 파라미터들은 모든 예측 작동들 동안 충분한 시간이 허용되도록 선택된다. 만일 시간 허용이 너무 높고 메모리가 저 속으로 실행되면 타임아웃 또는 저성능 상황들이 발생할 수 있는 반면에, 만일 시간 허용이 너무 짧고 메모리가 고속으로 실행되면, 신뢰성 및 전력 소비가 유발될 것이다. 일단 호스트측 상에서 선택된 타임아웃에 도달되면, 카드의 성능은 모든 예측된 작동들이 할당된 시간에 실행될 수 있도록 충분한 레벨로 지정된다. 고레벨의 성능으로 설계하기 위한 희생으로 신뢰성이 저하되고 고전력이 소비되거나 또는, 전형적으로, 이들 둘 다가 희생된다.
대규모 블록 구조들로 이동할 경우에 타임아웃을 유발하는 시스템 상황이 드물게 발생할 가능성이 증가된다. 예들은 특히 수반되는 가비지 컬렉션 또는 프로그래밍 에러를 포함한다. 이는 특히 프로그래밍 시간이 보다 긴 다중-상태 메모리들의 경우이다. 이러한 문제점은 프로그래밍 시간들을 개선하여 비통상적인 상황들을 수용함으로써 해결될 수 있으나 대다수의 정상적인 작동 상황들 동안 신뢰성이 저하되거나 또는 고전력 소모되는 희생을 유발한다. 역으로, 다른 작동들은 할당된 시간보다 훨씬 짧을 필요가 있거나 또는 신뢰성 문제들을 가진 상황들을 유발한다. 이들의 경우에, 시스템은 필요한 것 이상으로 높은 전력 소비 또는 저신뢰성 모드에서 작동한다.
일반적으로, 본 발명은 하나 이상의 시스템 관련 상황에 비휘발성 메모리 시스템의 성능을 적응시키는 비휘발성 메모리 시스템을 제공한다. 만일 메모리가 작동을 완료하기 위하여 할당된 시간 이상을 필요로 하는 상황이 발생하면, 메모리는 작동을 충분히 빠르게 완료하기 위하여 정상 작동 모드로부터 고성능 모드로 전환할 수 있다. 이는 카드로 하여금 프로그래밍 시간을 감소시키는 신뢰성 문제를 최소로 하면서 타임아웃의 문제를 방지하도록 한다. 높은 대기시간 작동들의 검출은 프로그래밍 및 데이터 재배치 작동들을 위하여 사용될 수 있다. 예컨대, 가비지 컬렉션 작동 동안, 만일 에러가 발생하거나 또는 대용량 데이터를 재배치하기 위한 필요성이 존재하면, 데이터에 대하여 수행되는 에러 검출 및 보정 작동들의 횟수는 감소될 수 있다. 다른 예로서, 이러한 상황에서 프로그래밍 속도를 증가시키기 위하여, 시스템의 클럭율은 증가될 수 있거나 또는 프로그래밍 펄스들의 특징들(예컨대, 크기 또는 기간)은 변경될 수 있다.
역으로, 만일 신뢰성이 문제가 될 수 있는 상황(예를 들어 부분 페이지 프로그래밍)이 발생하면, 제어기는 고신뢰성 모드로 전환될 수 있다. 특별한 고신뢰성 시퀀스들의 예들은 고레벨의 ECC, 저속 클럭율들, 또는 낮은 와해성 프로그래밍 시퀀스들을 사용하는 단계를 포함한다. 어느 한 경우에, 일단 트리거링 시스템의 작동 상황이 정상으로 리턴되면, 메모리는 정상 작동으로 복귀한다. 전형적인 실시예는 펌웨어 프로그램가능 성능에 기초한다.
본 발명의 부가적인 양상들, 특징들 및 장점들은 이하의 도면들을 참조하여 설명되는 특정 대표 실시예들의 이하의 설명에 포함된다.
도 1은 본 발명이 구현될 수 있는 제 1 비휘발성 메모리 시스템의 블록도.
도 2는 본 발명이 구현될 수 있는 제 1 비휘발성 메모리 시스템의 블록도.
도 3은 온-칩 복사 최적화의 예를 도시한 도면.
도 4는 프로그래밍 최적화의 예를 도시한 도면.
도 1은 본 발명이 구현될 수 있는 제 1 비휘발성 메모리 시스템의 블록도이다. 다수의 개별적으로 어드레싱가능한 메모리 셀들(11)은 비록 셀들의 다른 물리적 배열들이 분명히 가능할지라도 행들 및 열들의 정규 어레이로 배열된다. 이러한 시스템은 전술한 배경기술 및 본원에 통합된 참조문헌에 기술된 바와 같이 어레이(11)가 NOR 타입인 것이 특히 적당하다. 셀들의 어레이(11)의 열들을 따라 연장하는 것으로 여기에서 지정된 비트 라인들은 라인들(15)을 통해 비트라인 디코더 및 드라이버 회로(13)와 전기적으로 접속된다. 셀들의 어레이(11)의 행들을 따라 연장하는 것으로 여기에서 지정된 워드라인들은 라인들(17)을 통해 워드라인 디코더 및 드라이버 회로(19)에 전기적으로 접속된다. 어레이(11)의 메모리 셀들의 열들을 따라 연장하는 스티어링 게이트들은 라인들(23)을 통해 스티어링 게이트 디코더 및 드라이버 회로(21)에 전기적으로 접속된다. 디코더들(13, 19, 21)의 각각은 메모리 제어기(27)로부터 버스(25)를 통해 메모리 셀 어드레스들을 수신한다. 디코더 및 드라이빙 회로들은 각각의 제어 및 상태 신호 라인들(29, 31, 33)을 통해 제어기(27)에 접속된다. 스티어링 게이트들 및 비트 라인들에 인가된 전압들은 디코더 및 드라이버 회로들(13, 21)을 상호 접속시키는 버스(22)를 통해 조정된다. 제어기는 여러 가지 타입의 레지스터들 및 휘발성 랜덤-액세스 메모리(RAM)(28)를 포함하는 다른 메모리를 포함한다.
제어기(27)는 라인들(35)을 통해 호스트 장치(도시안됨)에 접속가능하다. 호스트는 퍼스널 컴퓨터, 노트북 컴퓨터, 디지털 카메라, 오디오 플레이어, 다양한 다른 핸드헬드 전자장치들 등일 수 있다. 도 1의 메모리 시스템은 통상적으로 PCMCIA, CompactFlashTM 협회, MMCTM 협회 등의 표준과 같은, 다수의 기존 물리 및 전기 표준들 중 하나에 따라 카드에서 구현될 것이다. 카드 포맷으로 구현될 때, 라인들(35)은 호스트 장치의 상보 커넥터와 인터페이싱하는 카드상의 커넥터에서 종료된다. 많은 카드들의 전기 인터페이스는 ATA 표준에 따르며, 메모리 시스템은 마치 자기 디스크 드라이브인 경우에서처럼 호스트에서 보인다. 다른 메모리 카드 인터페이스 표준이 또한 존재한다. 카드 포맷에 대한 대안으로서, 도 1에 도시된 타입의 메모리 시스템은 호스트 장치에 영구적으로 내장될 수 있다.
디코더 및 드라이버 회로들(13, 19, 21)은 프로그래밍, 판독 및 소거 기능들을 실행하기 위하여 각각의 제어 및 상태 라인들(29, 31, 33)의 제어 신호들에 따라 버스(25)를 통해 어드레싱되는 어레이(11)의 각각의 라인들에서 적정 전압을 발생시킨다. 전압 레벨들 및 다른 어레이 파라미터들을 포함하는 임의의 상태 신호들은 어레이(11)에 의하여 동일한 제어 및 상태 라인들(29, 31, 33)을 통해 제어기(27)에 제공된다. 회로(13) 내의 다수의 감지 증폭기들은 어레이(11) 내의 어드레싱된 메모리 셀들의 상태들을 나타내는 전류 또는 전압 레벨들을 수신하며, 판독작동 동안 상태들에 대한 정보를 라인들(41)을 통해 제어기(27)에 제공한다. 다수의 감지 증폭기들은 다수의 메모리 셀들의 상태들을 병렬로 판독할 수 있도록 하기 위하여 보통 사용된다. 판독 및 프로그램 작동들 동안, 셀들의 한 행은 전형적으 로 회로들(13, 21)에 의하여 선택되는 어드레싱된 행들의 다수의 셀들을 액세스하는 회로들(19)을 통해 동시에 어드레싱된다. 소거 작동 동안, 많은 행들의 각각의 행의 모든 셀들은 전형적으로 동시 소거를 위한 블록으로서 함께 어드레싱된다.
도 1에 기술된 것과 같은 메모리 시스템의 작동은 전술한 배경기술의 NOR 어레이 단락에 기재된 특허들 및 문헌들과 본 출원의 양수인인 샌디스크 코포레이션에게 양도된 다른 특허들에 더 개시되어 있다. 더욱이, 2001년 2월 26일에 출원된 미국 특허 출원번호 제09/793,370호는 데이터 프로그래밍 방법을 개시하고 있으며 여기에 참조로 통합된다.
도 2는 본 발명이 구현될 수 있는 또 다른 비휘발성 메모리 시스템의 블록도이다. 메모리 셀 어레이(1)는 열 제어 회로(2), 행 제어 회로(3), c-소스 제어 회로(4) 및 c-p-웰 제어 회로(5)에 의하여 제어되는 매트릭스로 배열된 다수의 메모리 셀들(M)을 포함한다. 메모리 셀 어레이(1)는 배경기술 및 여기에 참조로 통합되는 참조문헌들에 기술된 NAND 타입일 수 있다. 제어 회로(2)는 메모리 셀들(M)에 저장된 데이터를 판독하고, 프로그램 작동 동안 메모리 셀들(M)의 상태를 결정하며, 비트라인들(BL)의 전위 레벨들을 제어하여 프로그래밍을 촉진하거나 또는 프로그래밍을 억제시키기 위하여 메모리 셀 어레이(1)의 비트 라인들(BL)에 접속된다. 행 제어 회로(3)는 워드 라인들(WL)에 접속되어 워드 라인들(WL) 중 하나를 선택하고 판독 전압들을 공급하며 열 제어 회로(2)에 의하여 제어되는 비트라인 전위 레벨들과 결합된 프로그램 전압들을 공급하며, 메모리 셀들(M)이 형성되는 p-타입 영역의 전압과 결합된 소거 전압을 공급한다. c-소스 제어 회로(4)는 메모리 셀들(M)에 접속된 공통 소스 라인(도 2에서 "c-소스"로 표시됨)을 제어한다. c-p-웰 제어 회로(5)는 c-p-웰 전압을 제어한다.
메모리 셀들(M)에 저장된 데이터는 열 제어 회로(2)에 의하여 판독되며, I/O 라인 및 데이터 입력/출력 버퍼(6)를 통해 외부 I/O 라인들에 출력된다. 메모리 셀들에 저장될 프로그램 데이터는 외부 I/O 라인들을 통해 데이터 입력/출력 버퍼(6)에 입력되며 열 제어 회로(2)에 전송된다. 외부 I/O 라인들은 제어기(43)에 접속된다. 제어기(43)는 전형적으로 휘발성 랜덤 액세스 메모리(RAM)(50)에서 다양한 타입의 레지스터들 및 다른 메모리를 포함한다.
플래시 메모리 장치를 제어하는 명령 데이터는 제어기(43)와 접속되는 외부 제어 라인들에 접속된 명령 회로들(7)에 입력된다. 명령 데이터는 어느 작동이 요청되는지를 플래시 메모리에 알린다. 입력 명령은 열 제어 회로(2), 행 제어 회로(3), c-소스 제어 회로(4), c-p-웰 제어 회로(5) 및 데이터 입력/출력 버퍼(6)를 제어하는 상태 머신(8)에 전송된다. 상태 머신(8)은 준비(READY)/비지(BUSY) 또는 패스(PASS)/실패(FAIL)와 같은 플래시 메모리의 상태 데이터를 출력할 수 있다. 상태 머신(8)은 다수의 레지스터들 및 다른 휘발성 랜덤-액세스 메모리(45)를 포함한다.
제어기(43)는 퍼스널 컴퓨터, 디지털 카메라, 또는 PDA(personal digital assistant)와 같은 호스트 시스템에 접속되거나 또는 접속될 수 있다. 제어기는 메모리 어레이(1)에 데이터를 저장하거나 또는 메모리 어레이(1)로부터 데이터를 판독하는 것과 같은 명령들을 개시하고 이러한 데이터를 각각 제공하거나 또는 수 신하는 호스트이다. 제어기는 명령 회로들(7)에 의하여 해석 및 실행될 수 있는 명령 신호들로 상기 명령들을 변환한다. 또한, 제어기는 전형적으로 메모리 어레이에 기록되거나 또는 메모리 어레이로부터 판독되는 사용자 데이터에 대한 버퍼 메모리를 포함한다. 전형적인 메모리 시스템은 제어기(43)를 포함하는 하나의 집적회로 칩(47)과, 메모리 어레이 및 연관된 제어, 입력/출력 및 상태 머신 회로들을 각각 포함하는 하나 이상의 집적회로 칩들(49)을 포함한다. 물론, 추세는 하나 이상의 집적회로 칩들 상에 시스템의 제어기 회로들 및 메모리 어레이를 함께 통합하는 것이다.
도 1 및 도 2의 메모리 시스템들 중 어느 하나는 호스트 시스템의 부분으로서 내장될 수 있거나 또는 호스트 시스템의 접합 소켓(mating socket)에 제거가능하게 삽입할 수 있는 메모리 카드에 포함될 수 있다. 이러한 카드는 전체 메모리 시스템을 포함할 수 있거나 또는 제어기 및 메모리 어레이는 연관된 주변 회로들과 함께 개별 카드들에 제공될 수 있다. 다수의 카드 구현들은 예컨대 여기에 온전히 그대로 참조로 명백히 통합되는 미국특허 제5,887,145호에 개시되어 있다.
본 발명의 주요 양상에 따르면, 메모리는 하나 이상의 시스템 관련 상황들에 그것의 성능을 적응시킨다. 예컨대, 만일 메모리가 작동을 완료하기 위한 할당된 시간 이상을 필요로 하는 상황이 발생하면, 메모리는 작동을 충분히 빠르게 완료하기 위하여 정상 작동 모드로부터 고성능 모드로 전환될 수 있다. 이는 프로그래밍 시간을 감소시키는 신뢰성 문제들을 최소화하면서 카드로 하여금 타임아웃의 문제를 방지하도록 한다. 역으로, 만일 신뢰성이 문제일 수 있는 상황이 발생하여 고 신뢰성 모드로 전환될 수 있으면, 예컨대 이는 부분 프로그래밍에 의하여 유발된 프로그램 디스터브(disturb) 문제를 감소시킬 수 있다. 어느 한 경우에, 일단 트리거링 시스템 상황이 정상으로 리턴되면, 메모리는 정상 작동으로 복귀한다. 예시적인 실시예는 펌웨어 프로그램가능 성능에 기초한다.
펌웨어는 중요한 타임아웃 상황 동안 고속 프로그래밍/저내구성 모드로 진행하도록 특별한 명령 시퀀스를 송출한다. 다른 시간에, 이러한 모드는 사용되지 않으며 저속/고내구성 모드가 사용된다. 이는 프로그래밍 시간과 내구성 사이의 상충(tradeoff)에 의하여 유발된 장치 설계와 관련한 엔지니어링 노력을 현저하게 감소시킨다. 바람직한 양상은 디스터브 효과를 감소시킬 때 신뢰성 문제점들을 유발할 수 있는 부분 페이지 프로그래밍 및 다른 상황들 동안 저속 방법을 사용하는 것이다.
특히, 본 발명은 큰 블록 크기(기술에 의하여 구동된)에 의하여 유발된 것들과 같은 문제들, 가비지 컬렉션 동안의 프로그래밍 시간, 및 호스트 인터페이스 대기시간 문제들을 처리한다. 예컨대, SD 카드에 대한 내역은 250ms의 타임아웃을 특정한다. 가비지 컬렉션을 수행하는 시간은 전형적으로 다음과 같다.
T가비지=(데이터 전송 시간*수집된 섹터 가비지)
+ (프로그램 시간 + 판독 시간) * (수집된 섹터 가비지)/병렬계산
+ 소거 시간
이들 3개의 성분들 중 제 2성분은 전형적으로 가장 큰 부분이다. 데이터 재 배치 및 가비지 컬렉션의 다양한 양상들은 미국특허 제6,266,273호, 2004년 5월 13일에 출원된 미국 출원번호 제10/846,289호, 2004년 8월 9일에 출원된 미국 출원번호 제10/915,039호, 및 2004년 12월 21일에 출원된 제11/022,350호에 개시되어 있다(비록 데이터 재배치 작동이 통상적으로 온-칩 복사로서 언급될지라도, 더 일반적으로 재배치는 동일한 칩상의 다른 칩 또는 서브-어레이(플레인)에서 이루어질 수 있다. 이는 2004년 12월 21일에 출원된 공동 계류중인 미국특허 출원번호 제11/022,462호에 더 개시되어 있다).
이러한 시간을 감소시키기 위하여 다양한 방법들이 사용될 수 있으며, 이는 높은 대기시간 문제들을 방지하는데 중요하다. 전형적으로, 이들은 여러 카테고리들로 구분된다.
1. 감소된 데이터 전송 또는 데이터 전송 시간,
2. 프로그래밍 시간 감소,
3. 병렬계산 증가.
이들 기술들 모두는 동시 가비지 컬렉션이 수행되는 섹터들의 수를 증가시키려는 추세를 상쇄시키려고 노력하고 있다. 전형적으로, 처음 두 개는 종종 속도와 신뢰성 사이의 상충을 포함하기 때문에 신뢰성에 대하여 영향을 미친다. 예컨대 온-칩 복사 및 연관된 데이터 샘플링을 사용하여 데이터 전송량을 감소시키는 방법들은 2004년 7월 28일에 출원된 미국 특허 출원번호 제10/901,849호 및 2004년 12월 21일에 출원된 미국 출원번호 제11/022,350호에 개시되어 있다. 프로그래밍 시간은 전형적으로 병렬계산을 증가시키는 방법들을 개시한, 배경기술에서 언급된 다 양한 참조문헌들에 개시된 바와 같이 장치 설계 및 최적화를 통해 감소된다.
그러나, 시스템 관점에서 볼 때, 불량한 가비지 컬렉션은 통상적인 가비지 컬렉션에 비하여 빈도수가 적다. 본 발명은 이러한 사실의 장점을 취하며, 필요한 경우에 신뢰성 영향작용 최적화들(reliability-affecting optimizations) 중 일부만을 수행한다. 시스템은 높은 대기시간 상황에 있을 때를 항상 검출할 수 있으며, 요구된 이들 방법들을 트리거링할 수 있다. 이들 시간에 신뢰성 영향작용 최적화들만을 수행함으로써, 전체 신뢰성은 타임아웃들을 방지하면서 개선된다.
메모리 시스템의 작동 동안 트리거링하는 것으로 작용할 수 있는 시스템 관련 상황들의 예들은 다음과 같은 것들을 포함한다.
1. 명령은 임계수의 섹터들을 초과하는 가비지 컬렉션을 필요로 한다.
2. 프로그래밍 에러는 에러 가비지 컬렉션을 유발한다.
3. 프로그래밍 에러는 다음 부가 가비지 컬렉션을 필요로 하는 가비지 컬렉션 작동 동안 발생한다.
데이터 재배치는 특히 데이터가 검사되고 보정되는 경우에 비교적 시간을 많이 소비할 수 있다. 이러한 대부분의 가비지 컬렉션에 대해서는 충분한 시간이 할당되나, 만일 일반적으로 큰 데이터량이 제거될 필요가 있으면, 타임아웃이 발생할 수 있다. 재배치된 섹터들의 수는 임계치 이하일지라도, 만일 가비지 컬렉션이 프로그래밍 에러의 결과이거나 또는 재배치 동안 프로그래밍이 수행되면, 모든 결합된 작동들에 대한 초과 시간은 임계치를 초과할 수 있다. 특히 전형적으로 긴 프로그래밍 시간을 필요로 하는 다중-상태 메모리들에서는 이러한 상황들이 타임아웃 상황의 징후(threat)를 유발할 수 있다. 만일 제어기가 곧 발생할 수 있거나 또는 발생된 상황들 중 일부를 검출하면, 메모리는 고성능 모드로 전환될 수 있다.
본 발명의 다양한 실시예들에 따라 다수의 최적화들이 개별적으로 또는 조합하여 이루어질 수 있다. 이들 가능성들은 다음과 같다.
1. 온-칩 복사에 대한 ECC 데이터 샘플링을 감소시키며, 가능한 완전하게 감소시킨다.
2. 예컨대 고속 프로그래밍 시퀀스를 사용하거나 또는 전력 소비를 감소시키기 위하여 특별 모드에서 메모리에 대하여 다른 명령 시퀀스를 사용한다. 예컨대, 시스템은 저전력 모드인 경우에 전력 소비를 감소시키기 위하여 비기록 캐시 프로그래밍 시퀀스를 사용할 수 있다.
3. 정상 프로그래밍 파라미터들에 비하여 프로그래밍 시간을 가속화하기 위하여 메모리 파라미터들을 수정한다.
4. 고속 작동들 동안 2진 기록을 연장시킨다.
2004년 12월 21일에 출원된 미국특허 출원번호 제11/022,350호는 샘플링 또는 다른 방법들에 기초하여 모든 전송 동안이 아니라 단지 일부 전송동안만 ECC 데이터가 검사되는 기술들을 개시하고 있다. 시간-임계 상황들에서 성능을 향상시키기 위하여, 이러한 메커니즘이 사용될 수 있으며 ECC 검사는 감소되거나 또는 생략될 수 있다. 메모리 파라미터들(배경기술에서 인용된 NAND 메모리 어레이들에 대한 참조문헌들에 기재된 것과 같은)을 수정하는 것과 관련하여, 예들은 프로그래밍 펄스 크기 또는 기간을 변경하는 단계, 또는 검증 기술들을 포함할 수 있다. 2진 모드(속도 또는 신뢰성 향상을 위하여) 또는 다중-상태 모드(높은 저장밀도를 위하여)에서 작동될 수 있는 메모리들의 세부사항들은 2004년 7월 6일에 출원된 미국특허 출원번호 제10/886,302호 및 미국 특허번호 제5,930,167호에 개시되어 있으며, 비록 약간 다른 목적을 위하여 사용될지라도 이들 방법들은 본 발명에 적용될 수 있다. 성능을 개선하기 위한 이들 및 다른 방식들은 더 바람직한 기술들이 응용에 따라 변화할 수 있는 경우에 개별적으로 또는 조합하여 사용될 수 있다. 부가적으로, 이들 방식들은 더 드라마닉한 기술들이 단지 가장 극단적인 경우들에만 야기되도록 향상된 성능의 여러 레벨들을 제공하기 위하여 점진적 (Graduated) 방식으로 결합될 수 있다.
도 3은 온-칩 복사 최적화의 예를 도시한다. 전형적인 온-칩 복사 프로세스는 단계(301)에서 시작하며, 단계(303)는 높은 대기시간 작동과 연관된 시스템 관련 상황이 존재하는지의 여부를 결정한다. 전형적인 높은 대기시간 이벤트들의 예들은 최대(full) 가비지 컬렉션, 프로그래밍 동안의 에러, 가비지 컬렉션 동안의 에러 또는 기술된 다른 다양한 트리거링 이벤트들을 포함한다. 만일 이러한 상황이 발견되면, 단계(305)에서, 메모리는 온-칩 복사(OCC) 작동들에서 ECC 검사가 속도를 증가시키기 위하여 감소되거나 또는 생략되는 모드로 전환된다. 예컨대, ECC 에러들(예컨대, 복사 또는 후-기록 판독들 동안)을 보정할 때의 임계치는 상승될 수 있다.
전송들 간의 여러 비지 주기들에 걸쳐 데이터 전송들(또는 다른 긴-대기시간 작동들)을 확산하는 것이 또한 가능할 수 있다. 여러 사이클들에서 작동을 재스케 줄링하거나 또는 확산하는 이러한 정렬은 높은 대기시간 작동들, 즉 도 4와 관련하여 이하에 기술된 단계(305)의 작동들 또는 단계(405)의 작동들을 개선하는데 도움을 줄 수 있다.
도 3을 다시 참조하면, 만일 임박한 높은 대기시간 작동의 지시가 존재하지 않으면, 단계(307)는 가능한 신뢰성 문제들을 검사할 수 있다. 높은 신뢰성 문제들의 예들은 부분 페이지 프로그래밍 또는 저전압 조건을 포함한다. 만일 신뢰성 문제들과 연관된 시스템 관련 상황들이 존재하지 않으면, 정상 프로그래밍 시퀀스는 단계(309)에서 사용된다. 만일 신뢰성 상황이 결정되면, 특별한 시퀀스는 단계(311)에서 사용될 수 있다. 신뢰성을 개선하기 위한 방법들의 예들은 ECC 에러들을 보정할 때의 임계치를 낮추는 단계 또는 다수의 짧은 프로그래밍 단계들을 통해 프로그래밍 시간을 증가시키는 단계를 포함한다.
도 3의 전형적인 실시예는 높은 대기시간 작동들 및 높은 신뢰성 상황들에 대하여 최적화된 온-칩 복사를 포함한다. 이들은 독립적 양상들이며, 프로세스는 단계들(303, 307) 둘 다를 가질 필요가 없다. 예컨대, 높은 신뢰성 문제 결정단계는 제거되며, 단계(307)(및 단계(311))를 제거하고, 단계(303)로부터 단계(309)로 직접 진행하는 "아니오" 경로를 가질 수 있다. 대안적으로, 단계(303)(및 단계(305))는 제거될 수 있으며, 단계(301)로부터 단계(307)로 흐름이 직접 진행된다. 실제 구현들에서, 최적화된 데이터 재배치의 연속적인, 또는 적어도 확장 사용을 야기하는 체계적 사용의 경우들이 발생할 수 있다. 이러한 경우에, 데이터의 ECC가 임의의 간격에서 검사되도록 하는 메커니즘이 바람직하게 포함된다.
메모리는 구현에 따라 다수의 다른 방식으로 정상 작동 모드로 리턴될 수 있다. 예컨대, 각각의 사이클동안 특별 모드가 특정될 필요가 있으며, 특별 모드는 특정 명령 시퀀스의 기간에 제한되며, 명령은 정상 모드 또는 이들의 임의의 조합으로 리턴하기 위하여 사용된다.
도 4는 다양한 브랜치들이 도 3의 브랜치들과 유사하며, 시스템 작동과 관련된 관련 상황들에 기초하여 프로그래밍을 최적화하는 실시예의 예를 도시한다. 단계들(403, 407)은 각각 높은 대기시간 작동 또는 신뢰성 문제들이 존재하는지의 여부를 결정하며, 여기서 이들 상황들의 예들은 온-칩 복사 경우와 유사하다. 만일 타임아웃의 위험성을 가진 높은 대기시간 상황이 존재하면, 고속 프로그래밍 시퀀스는 신뢰성, 전력 소비 또는 이들 둘 다를 희생할 경우에 사용될 수 있다(단계(405)). 만일 대기시간이 문제가 되지 않으나 신뢰성이 문제가 될 수 있다는 것을 시스템의 상황이 지시하면, 고신뢰성의 프로그램 시퀀스가 사용될 수 있다(단계(411))(비록 신뢰성과 관련하여 제시될지라도, 고신뢰성 시퀀스와 동일하거나 또는 동일하지 않은, 저전력 모드를 사용하는 경우는 사용가능한 충분한 시간이 존재하는 경우에 유사하게 구현될 수 있다). 정상 프로그래밍 시퀀스(단계(409))는 신뢰성 문제들 또는 타임아웃 위험성들이 존재하지 않을 때 사용될 수 있다.
시스템의 하나의 특정 예는 부분 프로그래밍 동안 불량한 신뢰성 시퀀스들이 보상될 필요가 있을 때의 상황과 관련된다. 부분 프로그래밍은 디스터브 메커니즘들로 인하여 최적화하는데 더 곤란한 NAND 파라미터들 중 하나이다. 그러나, 시스템 관점에서 볼 때, 시스템은 부분 프로그래밍 시퀀스가 요구될 때를 안다. 특별 한 저속 또는 낮은 디스터브 메커니즘들은 이러한 경우에 사용될 수 있다. 임의의 경우에, NAND 메모리 그 자체는 이러한 시퀀스를 검출할 수 있으며, 개별 명령 시퀀스를 필요로 하는 대신에 그 자체를 최적화할 수 있다.
단계(405)에서 메모리의 속도를 증가시키며 개별적으로 또는 조합하여 사용될 수 있는 다수의 가능한 실시예들이 존재한다. 하나의 구현은 메모리에 대한 클럭 스피드를 변화시키는 것이며, 예컨대 30MHz에서 작동하는 저전력 시스템들은 60MHz로 전환되며, 표준 60MHz 시스템은 고속 클럭으로 진행할 수 있다. 다른 구현들에서, 프로그래밍 펄스들의 특징들(기간, 스텝 크기 등)이 전환될 수 있다(역으로, 이들 변화들의 모든 정렬들은 단계(411)의 특별한 신뢰성 시퀀스들에서 다른 방향으로 전환될 수 있다).
데이터가 정확하게 기록되도록 후-기록 판독을 통합한 시스템들에서, 이러한 단계는 고속 모드에서 생략될 수 있다. 스크루브(scrub) 작동들(예컨대, 미국특허 제5,532,962호에 개시된 작동들) 및 메모리 신뢰성을 개선하기 위하여 사용된 웨어-레벨링(Wear-leveling) 작동들은 중요한 상황들에서 생략될 수 있다. 게다가, 전압 조절기 또는 다른 전력 소스는 전력을 소비하는 경우에, 예컨대 고전류 또는 저전류 모드 사이에서 전환하는 경우에 개선된 속도/신뢰성을 위하여 수정될 수 있다.
특별한 고신뢰성 프로그래밍 시퀀스들에 대한 많은 구현들은 단계(405)와 관련하여 앞서 기술된 것들의 역이다. 이들은 후-기록 판독 또는 다른 시스템 특징들을 추가하는 단계, 신뢰성 대 전력 소비를 개선하기 위하여 전압 조절기 또는 다 른 전력 소스를 수정하는 단계, 프로그래밍 펄스들의 특징들을 변경하는 단계 등을 포함한다.
사용된 메모리의 특정 특징들에 따르면, 다양한 구현 문제들은 어드레싱될 필요가 있을 수 있다. 예컨대, 기록 특징들(보다 빠르거나 또는 보다 느리게 될)의 변경은 데이터 상태들의 분포를 변경시킬 수 있으며 데이터의 역 판독에 영향을 미친다. 이러한 문제들이 발생할 수 있을 때, 시스템은 필요에 따라 판독 프로세스 동안 다른 기록 조건들을 추적하거나 또는 검출하는 메커니즘을 가진다. 이는 데이터 역 판독 동안 판독 마진들의 변경(또는 "히로익(heroic)" 판독 시퀀스의 사용)을 포함할 수 있다.
비록 여기에서 개별적으로 기술되었을지라도, 도 3 및 도 4의 실시예들은 그들의 변형예들과 함께 조합될 수 있으며, 예컨대 높은 대기시간 상황이 발생하는 온-칩 복사 작동시에 단계(305)의 온-칩 복사와 연관된 프로그래밍은 단계(405)의 고속 프로그래밍 시퀀스를 사용할 수 있다. 부가적으로, 도 3에서와 같이, 도 4는 높은 대기시간 작동들 및 높은 신뢰성 상황들에 대한 최적화를 포함한다. 이전에 언급한 바와 같이, 이들은 독립적 양상들이다.
부가적으로, 비록 단계(305) 및 단계(405)가 단일 고성능 모드를 언급할지라도, 더 일반적으로 다수의 점진적 고성능 모드들이 사용될 수 있다. 상황의 엄격성에 따라 적절한 성능 모드가 선택될 수 있다. 유사하게, 신뢰성을 증가시키는 다수의 점진적 레벨들은 단계들(311, 411)에서 사용될 수 있다. 앞서 기술된 다른 양상들과 마찬가지로, 이들 다양한 양상들은 프로그램가능 펌웨어를 통해 하드웨 어, 소프트웨어 또는 바람직한 실시예로 구현될 수 있다.
전술한 설명은 메모리 시스템들의 성능을 개선하기 위한 다양한 기술들을 제시한다. 성능을 개선하기 위한 다수의 다른 기술들은 2004년 7월 28일에 출원된 미국 특허출원 제10/901,849호 및 2004년 7월 6일에 출원된 미국 특허출원 제10/886,302호에 개시되어 있으며, 이들 특허 출원들은 앞서 인용되었다. 이들 출원들의 다양한 양상들은 상호 보완적이며 조합될 수 있다.
비록 본 발명의 다양한 양상들이 예시적인 특정 실시예들과 관련하여 기술되었을지라도, 본 발명은 첨부된 청구항들의 전체 범위 내에서 보호되어야 한다는 것이 이해되어야 한다.
앞서 언급된 특허들, 특허출원들 및 문헌들은 모두 여기에 명백히 온전히 그대로 참조로 통합된다.

Claims (40)

  1. 메모리 시스템에 있어서,
    재기록 가능한 데이터 저장부를 갖는 메모리와,
    상기 메모리에 저장된 데이터를 관리하고 상기 메모리 시스템과 상기 메모리 시스템이 접속된 호스트 사이에 데이터 전송을 제어하는 제어기로서, 상기 제어기는 복수의 모드에 따라 상기 메모리 시스템을 작동시킬 수 있고, 상기 모드는 각각 데이터 기록을 수반하는 작업을 위해 서로 다른 레벨의 성능을 갖고, 제 1 모드보다 성능이 더 좋은 제 2 모드를 포함하며, 상기 제어기는 상기 제 1 모드에 따라 상기 메모리를 정상적으로 작동시키고, 시스템 관련 높은 대기시간 상황(system related high latency situation)을 결정하는 제어기에 응답하여, 상기 제어기는 대신 상기 제 2 모드에 따라 상기 메모리를 작동시키는, 상기 제어기를
    포함하는, 메모리 시스템.
  2. 제 1항에 있어서, 상기 높은 대기시간 상황은 프로그래밍 동안의 에러인, 메모리 시스템.
  3. 제 1항에 있어서, 상기 높은 대기시간 상황은 데이터 재배치 작동 동안의 에러인, 메모리 시스템.
  4. 제 1항에 있어서, 상기 높은 대기시간 상황은 가비지 컬렉션(garbage collection) 작동인, 메모리 시스템.
  5. 제 1항에 있어서, 상기 제 2 모드는 상기 제 1 모드보다 낮은 레벨의 에러 검출 및 정정을 사용하는, 메모리 시스템.
  6. 제 1항에 있어서, 상기 제 2 모드는 상기 제 1 모드보다 빠른 프로그래밍 시퀀스를 사용하는, 메모리 시스템.
  7. 제 6항에 있어서, 상기 제 2 모드는 상기 제 1 모드보다 빠른 클럭 스피드를 사용하는, 메모리 시스템.
  8. 제 7항에 있어서, 상기 제 2 모드는 상기 제 1 모드보다 긴 기간의 프로그래밍 펄스를 사용하는, 메모리 시스템.
  9. 제 7항에 있어서, 상기 제 2 모드는 상기 제 1 모드보다 큰 진폭의 프로그래밍 펄스를 사용하는, 메모리 시스템.
  10. 제 1항에 있어서, 상기 제어기는 추가 시스템 관련 상황에 응답하여 제 3 모드에 따라 상기 메모리를 추가 작동시키고, 상기 제 3 모드는 상기 제 1 모드보다 높은 신뢰성을 갖는, 메모리 시스템.
  11. 제 10항에 있어서, 상기 추가 시스템 관련 상황은 부분 페이지 프로그래밍인, 메모리 시스템.
  12. 제 10항에 있어서, 상기 추가 시스템 관련 상황은 저전압 조건인, 메모리 시스템.
  13. 제 10항에 있어서, 상기 제 3 모드는 상기 제 1 모드보다 높은 정도의 에러 검출 및 정정을 사용하는, 메모리 시스템.
  14. 제 10항에 있어서, 상기 제 3 모드는 상기 제 1 모드보다 느린 프로그래밍 시퀀스를 사용하는, 메모리 시스템.
  15. 제 14항에 있어서, 상기 제 3 모드는 상기 제 1 모드보다 느린 클럭율(clock rate)을 사용하는, 메모리 시스템.
  16. 제 14항에 있어서, 상기 제 3 모드는 상기 제 1 모드보다 짧은 기간의 프로그래밍 펄스를 사용하는, 메모리 시스템.
  17. 제 14항에 있어서, 상기 제 3 모드는 보다 낮은 진폭의 프로그래밍 펄스를 사용하는, 메모리 시스템.
  18. 메모리 시스템을 작동시키는 방법으로서,
    재기록 가능한 데이터 저장부를 갖는 메모리와,
    상기 메모리에 저장된 데이터를 관리하고 상기 메모리 시스템과 상기 메모리 시스템이 접속된 호스트 사이에 데이터 전송을 제어하는 제어기로서, 상기 제어기는 복수의 모드에 따라 상기 메모리 시스템을 작동시킬 수 있고, 상기 모드는 각각 데이터 기록을 수반하는 작업을 위해 서로 다른 레벨의 성능을 갖고, 제 1 모드보다 성능이 더 좋은 제 2 모드를 포함하는, 상기 제어기를
    포함하는, 메모리 시스템을 작동시키는 방법에 있어서,
    상기 제 1 모드에 따라 상기 메모리를 작동시키는 단계와,
    이어서, 시스템 관련 높은 대기시간 상황(system related high latency situation)을 상기 제어기에 의해 결정하는 단계와,
    시스템 관련 높은 대기시간 상황의 상기 결정에 응답하여, 상기 제어기는 상기 메모리 시스템의 작동을 위해 제 2 모드를 선택하는 단계와,
    이어서, 상기 제 1 모드대신 상기 제 2 모드에 따라 상기 메모리를 작동시키는 단계를
    포함하는, 메모리 시스템을 작동시키는 방법.
  19. 제 18항에 있어서, 상기 높은 대기시간 상황은 프로그래밍 동안의 에러인, 메모리 시스템을 작동시키는 방법.
  20. 제 18항에 있어서, 상기 높은 대기시간 상황은 데이터 재배치 작동 동안의 에러인, 메모리 시스템을 작동시키는 방법.
  21. 제 18항에 있어서, 상기 높은 대기시간 상황은 가비지 컬렉션 작동인, 메모리 시스템을 작동시키는 방법.
  22. 제 18항에 있어서, 상기 제 2 모드는 상기 제 1 모드보다 낮은 레벨의 에러 검출 및 정정을 사용하는, 메모리 시스템을 작동시키는 방법.
  23. 제 18항에 있어서, 상기 제 2 모드는 상기 제 1 모드보다 빠른 프로그래밍 시퀀스를 사용하는, 메모리 시스템을 작동시키는 방법.
  24. 제 23항에 있어서, 상기 제 2 모드는 상기 제 1 모드보다 빠른 클럭 스피드를 사용하는, 메모리 시스템을 작동시키는 방법.
  25. 제 24항에 있어서, 상기 제 2 모드는 상기 제 1 모드보다 긴 기간의 프로그래밍 펄스를 사용하는, 메모리 시스템을 작동시키는 방법.
  26. 제 24항에 있어서, 상기 제 2 모드는 상기 제 1 모드보다 큰 진폭의 프로그래밍 펄스를 사용하는, 메모리 시스템을 작동시키는 방법.
  27. 제 18항에 있어서,
    추가 시스템 관련 상황을 상기 제어기에 의해 결정하는 단계와,
    추가 시스템 관련 상황에 대한 상기 결정에 응답하여, 제 3 모드에 따라 추가 시스템 관련 상황에 응답하여 상기 메모리를 작동시키는 단계로서, 상기 제 3 모드는 상기 제 1 모드보다 높은 신뢰성을 갖는, 상기 단계를
    더 포함하는, 메모리 시스템을 작동시키는 방법.
  28. 제 27항에 있어서, 상기 추가 시스템 관련 상황은 부분 페이지 프로그래밍인, 메모리 시스템을 작동시키는 방법.
  29. 제 27항에 있어서, 상기 추가 시스템 관련 상황은 저전압 조건인, 메모리 시스템을 작동시키는 방법.
  30. 제 27항에 있어서, 상기 제 3 모드는 상기 제 1 모드보다 높은 정도의 에러 검출 및 정정을 사용하는, 메모리 시스템을 작동시키는 방법.
  31. 제 27항에 있어서, 상기 제 3 모드는 상기 제 1 모드보다 느린 프로그래밍 시퀀스를 사용하는, 메모리 시스템을 작동시키는 방법.
  32. 제 31항에 있어서, 상기 제 3 모드는 상기 제 1 모드보다 느린 클럭율을 사용하는, 메모리 시스템을 작동시키는 방법.
  33. 제 31항에 있어서, 상기 제 3 모드는 상기 제 1 모드보다 짧은 기간의 프로그래밍 펄스를 사용하는, 메모리 시스템을 작동시키는 방법.
  34. 제 31항에 있어서, 상기 제 3 모드는 보다 낮은 진폭의 프로그래밍 펄스를 사용하는, 메모리 시스템을 작동시키는 방법.
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
KR1020087004738A 2005-08-02 2006-07-18 상황 민감 메모리 성능 KR101249820B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/196,161 2005-08-02
US11/196,161 US7502921B2 (en) 2005-08-02 2005-08-02 Situation sensitive memory performance
PCT/US2006/027883 WO2007018983A1 (en) 2005-08-02 2006-07-18 Situation sensitive memory performance

Publications (2)

Publication Number Publication Date
KR20080038370A KR20080038370A (ko) 2008-05-06
KR101249820B1 true KR101249820B1 (ko) 2013-04-03

Family

ID=37492355

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087004738A KR101249820B1 (ko) 2005-08-02 2006-07-18 상황 민감 메모리 성능

Country Status (7)

Country Link
US (2) US7502921B2 (ko)
EP (1) EP1913483A1 (ko)
JP (1) JP4643711B2 (ko)
KR (1) KR101249820B1 (ko)
CN (1) CN101268453A (ko)
TW (1) TW200731079A (ko)
WO (1) WO2007018983A1 (ko)

Families Citing this family (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8234378B2 (en) * 2005-10-20 2012-07-31 Microsoft Corporation Load balancing in a managed execution environment
JP4997798B2 (ja) * 2006-03-15 2012-08-08 ソニー株式会社 不揮発性半導体記憶装置およびメモリシステム
US8239735B2 (en) * 2006-05-12 2012-08-07 Apple Inc. Memory Device with adaptive capacity
CN103258572B (zh) 2006-05-12 2016-12-07 苹果公司 存储设备中的失真估计和消除
US7697326B2 (en) * 2006-05-12 2010-04-13 Anobit Technologies Ltd. Reducing programming error in memory devices
US8156403B2 (en) * 2006-05-12 2012-04-10 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
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
US7593263B2 (en) * 2006-12-17 2009-09-22 Anobit Technologies Ltd. Memory device with reduced reading latency
US7900102B2 (en) * 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
US8151166B2 (en) * 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
US7751240B2 (en) * 2007-01-24 2010-07-06 Anobit Technologies Ltd. Memory device with negative thresholds
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
US8234545B2 (en) * 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
WO2008139441A2 (en) 2007-05-12 2008-11-20 Anobit Technologies Ltd. Memory device with internal signal processing unit
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
US8060798B2 (en) 2007-07-19 2011-11-15 Micron Technology, Inc. Refresh of non-volatile memory cells based on fatigue conditions
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
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
WO2009050703A2 (en) * 2007-10-19 2009-04-23 Anobit Technologies Data storage in analog memory cell arrays having erase failures
US8068360B2 (en) * 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
US8270246B2 (en) * 2007-11-13 2012-09-18 Apple Inc. Optimized selection of memory chips in multi-chips 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
US8059457B2 (en) * 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
KR100903340B1 (ko) 2008-04-24 2009-06-16 현대자동차주식회사 차량용 자동 변속기의 기어 트레인
US8880775B2 (en) * 2008-06-20 2014-11-04 Seagate Technology Llc System and method of garbage collection in a memory device
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
US8498151B1 (en) 2008-08-05 2013-07-30 Apple Inc. Data storage in analog memory cells using modified pass voltages
JP2010040144A (ja) 2008-08-07 2010-02-18 Toshiba Corp 不揮発性半導体記憶システム
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
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
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8261159B1 (en) 2008-10-30 2012-09-04 Apple, Inc. Data scrambling schemes for 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
US8397131B1 (en) 2008-12-31 2013-03-12 Apple Inc. Efficient readout schemes for analog memory cell devices
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
JP5303325B2 (ja) * 2009-03-18 2013-10-02 ルネサスエレクトロニクス株式会社 データ処理装置
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
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US9207921B2 (en) * 2009-06-22 2015-12-08 Oracle America, Inc. Fault tolerant compilation with automatic optimization adjustment
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
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
US8819332B2 (en) 2010-03-26 2014-08-26 Panasonic Corporation Nonvolatile storage device performing periodic error correction during successive page copy operations
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
US8645794B1 (en) 2010-07-31 2014-02-04 Apple Inc. Data storage in analog memory cells 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
US8595597B2 (en) * 2011-03-03 2013-11-26 Intel Corporation Adjustable programming speed for NAND memory devices
KR101818176B1 (ko) 2011-12-12 2018-01-15 삼성전자주식회사 메모리 시스템 및 그것의 동작 방법
KR101990971B1 (ko) 2012-01-30 2019-06-19 삼성전자 주식회사 메모리, 메모리 시스템, 및 메모리에 대한 에러 검출/정정 방법
US9606783B2 (en) * 2013-10-14 2017-03-28 International Business Machines Corporation Dynamic code selection based on data policies
US9798493B2 (en) 2013-12-16 2017-10-24 International Business Machines Corporation Firmware bypass for medium-access commands
KR102192242B1 (ko) 2014-02-24 2020-12-17 삼성전자주식회사 메모리로 커맨드를 이슈하는 커맨드 이슈 방법 및 메모리의 커맨드 처리 방법
TWI514251B (zh) * 2014-10-09 2015-12-21 Realtek Semiconductor Corp 資料配置方法與裝置
CN105512048B (zh) * 2014-10-16 2018-11-09 瑞昱半导体股份有限公司 数据配置方法与装置
KR102291803B1 (ko) 2015-04-07 2021-08-24 삼성전자주식회사 불휘발성 메모리 시스템의 동작 방법, 및 그것을 포함하는 사용자 시스템의 동작 방법
US10198206B2 (en) 2015-04-17 2019-02-05 Hewlett-Packard Development Company, L.P. Memory mode categorizations
JP6493062B2 (ja) * 2015-07-24 2019-04-03 ソニー株式会社 メモリコントローラ、メモリシステムおよび情報処理システム
KR102288546B1 (ko) * 2015-08-31 2021-08-10 삼성전자주식회사 스토리지 장치 및 그 제어 방법
TWI702497B (zh) * 2018-12-26 2020-08-21 群聯電子股份有限公司 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
US11462249B2 (en) 2020-06-30 2022-10-04 Micron Technology, Inc. System and method for reading and writing memory management data using a non-volatile cell based register
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
US11763910B2 (en) * 2021-10-20 2023-09-19 Micron Technology, Inc. Multi-command memory accesses
EP4443300A1 (en) 2022-02-21 2024-10-09 Samsung Electronics Co., Ltd. Electronic device and control method thereof
WO2023158185A1 (ko) * 2022-02-21 2023-08-24 삼성전자 주식회사 전자 장치 및 이의 제어 방법
US11894060B2 (en) 2022-03-25 2024-02-06 Western Digital Technologies, Inc. Dual performance trim for optimization of non-volatile memory performance, endurance, and reliability

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020066001A1 (en) 2000-11-30 2002-05-30 Olarig Sompong P. Adaptive calibration technique for high speed memory devices
US6400624B1 (en) 2001-02-26 2002-06-04 Advanced Micro Devices, Inc. Configure registers and loads to tailor a multi-level cell flash design
US20030189856A1 (en) 2002-04-04 2003-10-09 Samsung Electronics Co., Ltd. Multi-level flash memory with temperature compensation

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63237189A (ja) * 1987-03-25 1988-10-03 Toshiba Corp デ−タ書込み方式
JP2623687B2 (ja) * 1988-05-16 1997-06-25 日本電気株式会社 自己訂正機能付きlsiメモリ
JPH04237351A (ja) * 1991-01-22 1992-08-25 Nec Corp メモリ再書込み方式
US5418751A (en) 1993-09-29 1995-05-23 Texas Instruments Incorporated Variable frequency oscillator controlled EEPROM charge pump
JP2003100095A (ja) * 2001-09-21 2003-04-04 Hitachi Ltd 半導体集積回路装置
JP3761544B2 (ja) 2003-06-25 2006-03-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 設定装置、情報処理装置、設定方法、プログラム、及び記録媒体
US20050251617A1 (en) * 2004-05-07 2005-11-10 Sinclair Alan W Hybrid non-volatile memory system
US7447078B2 (en) * 2005-04-01 2008-11-04 Sandisk Corporation Method for non-volatile memory with background data latch caching during read operations
US7283395B2 (en) * 2005-06-24 2007-10-16 Infineon Technologies Flash Gmbh & Co. Kg Memory device and method for operating the memory device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020066001A1 (en) 2000-11-30 2002-05-30 Olarig Sompong P. Adaptive calibration technique for high speed memory devices
US6400624B1 (en) 2001-02-26 2002-06-04 Advanced Micro Devices, Inc. Configure registers and loads to tailor a multi-level cell flash design
US20030189856A1 (en) 2002-04-04 2003-10-09 Samsung Electronics Co., Ltd. Multi-level flash memory with temperature compensation

Also Published As

Publication number Publication date
US20090172386A1 (en) 2009-07-02
CN101268453A (zh) 2008-09-17
US20070033581A1 (en) 2007-02-08
TW200731079A (en) 2007-08-16
JP4643711B2 (ja) 2011-03-02
EP1913483A1 (en) 2008-04-23
US7502921B2 (en) 2009-03-10
WO2007018983A1 (en) 2007-02-15
US7877593B2 (en) 2011-01-25
KR20080038370A (ko) 2008-05-06
JP2009503726A (ja) 2009-01-29

Similar Documents

Publication Publication Date Title
KR101249820B1 (ko) 상황 민감 메모리 성능
US7849381B2 (en) Method for copying data in reprogrammable non-volatile memory
US7085161B2 (en) Non-volatile semiconductor memory with large erase blocks storing cycle counts
TWI413125B (zh) 使用初期資料之非揮發性記憶體之管線式程式化
US8472280B2 (en) Alternate page by page programming scheme
KR20120106800A (ko) 데이터의 온-칩 폴딩을 사용한 복수-기어 제어를 가진 비휘발성 메모리
KR20120106801A (ko) 온-칩 폴딩을 위한 데이터 전송
US20220392536A1 (en) Memory device and program operation thereof
US20240272801A1 (en) Memory device and program operation thereof
CN115620790A (zh) 存储器及其操作方法、存储器系统
US20230367480A1 (en) Memory device configured to reduce verification time and operating method thereof
KR101046743B1 (ko) 비휘발성 메모리 소자 및 비휘발성 메모리 소자의 프로그램동작 구동 횟수 기록 방법

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: 20160303

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170302

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190227

Year of fee payment: 7