KR20130023102A - 감소된 감지 시간 판독을 하는 메모리 장치 - Google Patents

감소된 감지 시간 판독을 하는 메모리 장치 Download PDF

Info

Publication number
KR20130023102A
KR20130023102A KR1020120091871A KR20120091871A KR20130023102A KR 20130023102 A KR20130023102 A KR 20130023102A KR 1020120091871 A KR1020120091871 A KR 1020120091871A KR 20120091871 A KR20120091871 A KR 20120091871A KR 20130023102 A KR20130023102 A KR 20130023102A
Authority
KR
South Korea
Prior art keywords
read
memory cells
stored values
configuration
read configuration
Prior art date
Application number
KR1020120091871A
Other languages
English (en)
Other versions
KR101379543B1 (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
Priority claimed from US13/214,257 external-priority patent/US8400858B2/en
Application filed by 애플 인크. filed Critical 애플 인크.
Publication of KR20130023102A publication Critical patent/KR20130023102A/ko
Application granted granted Critical
Publication of KR101379543B1 publication Critical patent/KR101379543B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C27/00Electric analogue stores, e.g. for storing instantaneous values
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4091Sense or sense/refresh amplifiers, or associated sense circuitry, e.g. for coupled bit-line precharging, equalising or isolating
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0061Timing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/08Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C27/00Electric analogue stores, e.g. for storing instantaneous values
    • G11C27/005Electric analogue stores, e.g. for storing instantaneous values with non-volatile charge storage, e.g. on floating gate or MNOS
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/021Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/06Sense amplifiers; Associated circuits, e.g. timing or triggering circuits

Landscapes

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

Abstract

데이터 저장을 위한 방법은, 아날로그 메모리 셀들로부터 저장 값들을 판독하기 위해 적어도 제1 판독 구성 및 제2 판독 구성을 제공하여, 제1 판독 구성이 제1 감지 시간에 저장 값들을 판독하며, 제2 판독 구성이 제1 감지 시간보다 짧은 제2 감지 시간에 저장 값들을 판독하게 하는 단계를 포함한다. 메모리 셀들의 그룹에 걸쳐 수행되어야 하는 판독 동작에 대하여 조건이 평가된다. 이러한 평가된 조건에 응답하여 제1 판독 구성 및 제2 판독 구성 중 하나의 판독 구성이 선택된다. 선택된 판독 구성을 이용하여 메모리 셀들의 그룹으로부터 저장 값들이 판독된다.

Description

감소된 감지 시간 판독을 하는 메모리 장치{MEMORY DEVICE WITH REDUCED SENSE TIME READOUT}
본 발명은 일반적으로 메모리 장치들에 관한 것이며, 특히 아날로그 메모리 셀들로부터 데이터를 판독하는 방법들 및 시스템들에 관한 것이다.
플래시 메모리들과 같은 다양한 타입의 메모리 장치들은 데이터를 저장하기 위하여 아날로그 메모리 셀들의 어레이들을 사용한다. 각각의 아날로그 메모리 셀은 전하 또는 전압과 같은 일정 레벨의 주어진 물리량을 보유하는데, 이는 셀에 저장된 데이터를 나타낸다. 이 물리량의 레벨은 또한 저장값들 또는 아날로그 값들로 지칭된다. 플래시 메모리에서, 예를 들면, 각각의 아날로그 메모리 셀은 일정량의 전하를 보유한다. 가능한 아날로그 값들의 범위는 통상적으로 각각의 영역이 하나 이상의 데이터 비트 값들을 나타내는 프로그래밍 상태에 대응하는 영역들로 나누어진다. 데이터는 원하는 비트 또는 비트들에 대응하는 명목상의 아날로그 값을 기입함에 의해 아날로그 메모리 셀에 기입된다.
통상 단일-레벨 셀(SLC) 장치들로 지칭되는 일부 메모리 장치들은 각각의 메모리 셀에 단일 비트의 정보를 저장하는데, 즉 각각의 메모리 셀은 두 개의 가능한 메모리 상태들을 가지도록 프로그래밍 될 수 있다. 종종 멀티-레벨 셀(MLC) 장치들로 지칭되는 더 높은 밀도의 장치들은 메모리 셀 당 둘 이상의 비트들을 저장하는데, 즉 둘보다 많은 가능한 메모리 상태들을 가지도록 프로그래밍 될 수 있다.
플래시 메모리 장치들은, 예를 들면, 참조에 의해 본 명세서에 포함되는, Bez 외 저, "플래시 메모리에의 소개(Introduction to Flash Memory)" Proceedings of the IEEE, 볼륨 91, 넘버 4, 2003년 4월, 489-502 페이지에 기술된다. 멀티-레벨 플래시 셀들 및 장치들은, 예를 들면, 참조에 의해 본 명세서에 포함되는 Eitan 외 저, "멀티레벨 플래시 셀들 및 그들의 트레이드오프(Multilevel Flash Cells and their Trade-Offs)" Proceedings of the 1996 IEEE International Electron Devices Meeting (IEDM), New York, New York, 169-172 페이지에 기술된다. 상기 논문은 공통 접지, DINOR, AND, NOR 및 NAND 셀들과 같은 여러 종류의 멀티레벨 셀들을 비교한다.
참조에 의해 본 명세서에 포함되는 Eitan 외 저 "2 비트 트래핑 저장 NVM 셀인 NROM은 플로팅 게이트 셀들에 진정한 도전이 될 수 있는가?(Can NROM, a 2-bit, Trapping Storage NVM Cell, Give a Real Challenge to Floating Gate Cells?)" Proceedings of the 1999 International Conference on Solid State Devices and Materials (SSDM), Tokyo, Japan, 1999년 9월 21-24일, 522-524 페이지는 질화물 판독 전용 메모리(NROM)라 불리는 다른 타입의 아날로그 메모리 셀을 기술한다. NROM 셀들은 또한 참조에 의해 본 명세서에 포함되는 Maayan 외 저"8MB/s 데이터 레이트를 가지는 512 Mb NROM 플래시 데이터 저장 메모리(A 512 Mb NROM Flash Data Storage Memory with 8 MB/s Data Rate)", Proceedings of the 2002 IEEE International Solid-State Circuits Conference (ISSCC 2002), San Francisco, California, 2002년 2월 3-7일, 100-101 페이지에 기술된다. 다른 타입의 예시적인 아날로그 메모리 셀들은 플로팅 게이트(FG) 셀들, 페로일렉트릭 RAM(FRAM) 셀들, 마그네틱 RAM(MRAM) 셀들, 전하 트랩 플래시(CTF) 및 상 변화 RAM(PRAM, 또한 상 변화 메모리(PCM)으로도 지칭됨) 셀들이 있다. FRAM, MRAM 및 PRAM 셀은, 예를 들면, 참조에 의해 본 명세서에 포함되는 Kim 및 Koh 저 "떠오르는 신종 메모리들을 포함하는 미래의 메모리 기술(Future Memory Technology including Emerging New Memories)" Proceedings of the 24th International Conference on Microelectronics (MIEL), Nis, Serbia and Montenegro, 2004년 5월 16-19일, 볼륨 1, 377-384 페이지에 기술된다.
본 명세서에 기술된 실시예는 데이터 저장을 위한 방법을 제공한다. 방법은 아날로그 메모리 셀들로부터 저장 값들을 판독하기 위해 적어도 제1 및 제2 판독 구성들을 제공하여, 제1 판독 구성이 제1 감지 시간을 갖는 저장 값들을 판독하고 제2 판독 구성이 제1 감지 시간보다 짧은 제2 감지 시간을 갖는 저장 값들을 판독하는 단계를 포함한다. 메모리 셀들의 그룹에 대하여 수행될 판독 동작에 관한 조건이 평가된다. 평가된 조건에 응답하여 제1 및 제2 판독 구성들 중 하나의 판독 구성이 선택된다. 저장 값들은 선택된 판독 구성을 사용하는 메모리 셀들의 그룹으로부터 판독된다.
일부의 실시예들에서, 그룹 내의 메모리 셀들은 각각의 비트 라인들에 속하고, 제1 판독 구성은 제1 도전성을 갖도록 비트 라인들 중 적어도 하나의 비트 라인을 설정하고, 제2 판독 구성은 제1 도전성보다 큰 제2 도전성을 갖도록 비트 라인들 중 적어도 하나의 비트 라인을 설정한다.
실시예에서, 그룹 내의 메모리셀들은 복수의 워드 라인으로부터 선택된 워드 라인에 속하고, 제1 판독 구성은 선택된 워드 라인들 이외의 워드 라인들에 제1 패스 전압들을 인가하는 한편 메모리 셀들의 그룹을 판독하고, 제2 판독 구성은 선택된 워드 라인들 이외의 워드 라인들에 제2 패스 전압들을 인가하여 제2 패스 전압들 중 적어도 하나의 패스 전압이 제1 패스 전압들 중 대응하는 패스 전압보다 크게 한다.
개시된 실시예에서, 제1 판독 구성은 제1 세트의 판독 임계치들을 사용하여 저장 값들을 판독하고, 제2 판독 구성은 제2 세트의 판독 임계치들을 사용하여 저장 값들을 판독하여, 제2 판독 임계치들 중 적어도 하나의 판독 임계치가 제1 판독 임계치들 중 대응하는 판독 임계치보다 크게 한다.
다른 실시예에서, 그룹 내의 메모리 셀들은 복수의 워드 라인을 포함하는 메모리 블록의 워드 라인에 속하고, 조건을 평가하는 단계는 데이터를 이용하여 프로그램된 메모리 블록의 다수의 워드 라인들을 평가하는 단계를 포함한다. 또 다른 실시예에서, 제1 판독 구성은 제1 정확도를 갖는 저장 값들을 판독하고, 제2 판독 구성은 제1 정확도보다 성긴(coarse) 제2 정확도를 갖는 저장 값들을 판독한다.
일부의 실시예에서, 조건을 평가하는 단계는 메모리 셀들의 그룹의 마모 레벨(wear level)을 평가하는 단계를 포함한다. 다른 실시예에서 조건을 평가하고 판독 구성들 중 하나의 판독 구성을 선택하는 단계는, 판독 동작이 간섭 캔슬 프로세스에서 잠재적으로 간섭하는 메모리 셀들로부터 저장 값들을 판독한다고 판정하는 것에 응답하여 제2 판독 구성을 선택하는 단계를 포함한다. 또 다른 실시예에서, 조건을 평가하고 판독 구성들 중 하나의 판독 구성을 선택하는 단계는, 판독 동작이 메모리 셀들의 주어진 그룹에 기입되었던 저장 값들을 검증한다고 판정하는 것에 응답하여 제2 판독 구성을 선택하는 단계를 포함한다.
예시적인 실시예에서, 그룹 내의 메모리 셀들 각각은 적어도 제1 및 제2 비트들을 저장하고, 조건을 평가하고 판독 구성들 중 하나의 판독 구성을 선택하는 단계는, 판독 동작이 메모리 셀들로부터 제1 비트들을 판독하다고 판정하는 것에 응답하여 제2 판독 구성을 선택하는 단계, 및 판독 동작이 메모리 셀들로부터 제2 비트들을 판독하다고 판정하는 것에 응답하여 제1 판독 구성을 선택하는 단계를 포함한다. 다른 실시예에서, 조건을 평가하고 판독 구성들 중 하나의 판독 구성을 선택하는 단계는, 판독 동작이 메모리 셀들의 주어진 그룹에 기입되었던 저장 값들의 통계적인 분포를 평가하는데 사용된다고 판정하는 것에 응답하여 제2 판독 구성을 선택하는 단계를 포함한다.
일부의 실시예들에서, 저장 값들은 저장된 데이터를 나타내고, 조건을 평가하고 판독 구성들 중 하나의 판독 구성을 선택하는 단계는, 제2 판독 구성을 이용하여 그룹 내의 메모리 셀들로부터 저장 값들을 판독하고 판독된 저장 값들로부터 저장된 데이터를 재구축하는 것을 시도하는 단계, 및 시도가 실패한 경우 제1 판독 구성을 선택하는 단계를 포함한다. 실시예에서, 저장된 데이터는 ECC(Error Correction Code)를 이용하여 인코딩되고, 시도하는 단계는 ECC를 디코딩하는 단계를 포함한다. 개시된 실시예에서, 방법은 제1 판독 구성에 의해 판독된 저장 값들 및 제2 판독 구성을 사용하여 판독된 저장 값들 모두를 사용하여 저장된 데이터를 재구축하도록 재시도하는 단계를 포함한다.
본 발명의 실시예에 따라 복수의 아날로그 메모리 셀 및 회로를 포함하는 데이터 저장소를 위한 장치가 추가적으로 제공된다. 회로는, 아날로그 메모리 셀들로부터 저장 값들을 판독하기 위하여, 제1 판독 구성은 제1 감지 시간으로 저장 값들을 판독하고, 제2 판독 구성은 제1 감지 시간보다 짧은 제2 감지 시간에서 저장 값들을 판독하도록, 적어도 제1 및 제2 판독 구성들 사이에서 평가된 조건에 응답하여 선택하기 위해 메모리 셀들의 그룹에 대해 수행되는 판독 동작에 관한 조건을 평가하고, 선택된 판독 구성을 이용하여 메모리 셀들의 그룹으로부터 저장 값들을 판독하도록 구성된다.
본 발명의 실시예에 따라 인터페이스 및 회로를 포함하는 데이터 저장소가 또한 제공된다. 인터페이스는, 복수의 아날로그 메모리 셀을 포함하는 메모리와 통신하도록 구성된다. 회로는, 아날로그 메모리 셀들로부터 저장 값들을 판독하기 위하여, 제1 판독 구성은 제1 감지 시간으로 저장 값들을 판독하고, 제2 판독 구성은 제1 감지 시간보다 짧은 제2 감지 시간에서 저장 값들을 판독하도록, 적어도 제1 및 제2 판독 구성들 사이에서 평가된 조건에 응답하여 선택하기 위해 메모리 셀들의 그룹에 대해 수행되는 판독 동작에 관한 조건을 평가하고, 선택된 판독 구성을 이용하여 메모리 셀들의 그룹으로부터 저장 값들을 판독하도록 구성된다.
본 발명은 실시예들에 관한 이하의 상세한 설명과 함께 도면들로부터 완전하게 이해될 것이다.
도 1은 본 발명의 실시예에 따른 메모리 시스템을 개략적으로 예시하는 블록도이다.
도 2 및 도 3은 본 발명의 실시예들에 따른, 상이한 정확도 레벨을 갖는 판독 명령들을 이용하여 아날로그 메모리 셀들로부터 데이터를 검색하는 방법들을 개략적으로 예시하는 흐름도들이다.
도 4는 본 발명의 실시예에 따른, 감소된 감지 시간으로 아날로그 메모리 셀들로부터 데이터를 검색하는 방법을 개략적으로 예시하는 흐름도이다.
도 5는 본 발명에 따른, 아날로그 메모리 셀들의 그룹에서의 프로그래밍 레벨 및 연관된 표준 및 감소된 감지 시간 판독 임계치들을 도시하는 그래프이다.
개요
데이터는, 데이터를 나타내는 특정 저장 값들(예를 들어, 임계치 전압들)을 이용하여 셀들을 프로그래밍함으로써 통상적으로 아날로그 메모리 셀들 내에 저장된다. 데이터는 셀들로부터 저장 값들을 판독함으로써 검색된다. 일반적으로, 저장 값들이 판독되는 정확도와 그들을 판독하는데 요구되는 시간 사이에는 트레이드 오프가 존재한다. 높은 정확도의 판독 동작들은 상대적으로 오래 걸리는 경향이 있으며, 전반적인 데이터 검색 속도를 제한할 수 있다.
그러나, 실제로, 높은 정확도의 판독이 항상 요구되는 것은 아니다. 일부 판독 태스크들은 감소된 정확도로, 따라서, 더 높은 스피드로 성공적으로 수행될 수 있다. 감소된 정확도는, 예를 들어, 메모리 셀들이 그들의 수명 사이클의 초기시점에 있고 따라서 단지 몇번의 프로그래밍 및 소거 사이클들을 겪었을 경우에, 충분할 수 있다. 다른 예로서, 이웃하는 셀들의 저장 값들에 기초하여 주어진 메모리 셀들에서의 간섭을 캔슬하는 경우에, 주어진 셀들은 통상적으로 높은 정확도로 판독된다. 그러나, 이웃하는 셀들은 종종 거의 또는 전혀 캔슬 성능에 있어서의 열화 없이 낮은 정확도로 판독될 수 있다.
또 다른 예로서, 프로그램 및 검증(P&V) 프로세스를 이용하여 셀들을 프로그래밍할 때, 프로그램된 저장 값들은 데이터 검색을 위해 이용되는 정확도보다 더 낮은 정확도로 검증될 수 있다. (예를 들면, 판독 임계치들을 조절하기 위해) 저장 값들의 통계적 분산을 추정하기 위한 판독 동작들은 종종 더 낮은 정확도로도 수행될 수 있다.
후술되는 본 발명의 실시예들은 아날로그 메모리 셀들로부터 데이터를 판독하기 위한 개선된 방법들 및 시스템들을 제공한다. 이들 방법들 및 시스템들은 상이한 감지 시간들을 갖는 다수의 판독 구성들을 이용한다. 특정 비트 라인에 속한 메모리 셀에 대해, 메모리 셀을 판독하기 위해 이용되는 감지 시간은, 비트 라인 전압 또는 전류가 통합되는 시간 기간으로서 정의된다.
일반적으로, 아날로그 메모리 셀들의 그룹으로부터 저장 값들을 판독하기 위한 준비 시에, 판독 동작에 관한 조건이 평가된다. 적합한 판독 구성은 평가된 조건에 기초하여 이용가능한 판독 구성들 중에서 선택된다. 저장 값들은 선택된 판독 구성을 이용하여 판독된다. 조건은, 예를 들면, 판독될 메모리 셀들의 나이 또는 마모 레벨에, 또는 판독 동작의 목적이 데이터를 검색하기 위한 것인지, 간섭을 추정하기 위한 것인지, 이전 프로그래밍 동작을 검증하기 위한 것인지 또는 저장 값 통계들을 추정하기 위한 것인지에 의존할 수 있다.
상이한 감지 시간들을 갖는 판독 구성들을 구현하는 몇몇 예시적인 기법들이 본원에 개시된다. 이들 기법들 중 일부는 판독 메모리 셀들이 속한 비트 라인들의 전기 전도성을 수정한다. 비트 라인 전도성이 개선될 때(즉, 증가됨 - 비트 라인 저항 감소됨), 비트 라인 전류는 증가하고, 판독은 더 짧은 감지 시간으로 수행될 수 있다. 그러나, 실제로는, 비트 라인 전도성을 개선하는 것은 그외의 시스템 성능 측정치들을 열화시킬 수 있고, 따라서 개선은 선택적으로만 수행된다.
일반적으로, 주어진 판독 구성으로 판독될 그룹 내의 메모리 셀들은 다수의 워드 라인들을 포함하는 메모리 블록 내의 특정한 선택된 워드 라인에 속한다. 일부 실시예들에서, 메모리 셀들의 그룹은, 판독 전압을 선택된 워드 라인에 인가하고, 특정 패스 전압들을 그외의 워드 라인들에 인가하면서 비트 라인들을 감지함으로써 판독된다. 일부 실시예들에서, 판독 구성들은 선택되지 않은 워드 라인들에 인가되는 패스 전압들 중 적어도 하나에서 서로 상이하다. 패스 전압을 증가시킴으로써, 비트 라인 전도성은 개선될 수 있고 감지 시간이 짧아진다.
또 다른 실시예에서, 감지 시간은 이미 데이터로 프로그램된 메모리 블록 내의 워드 라인들의 수에 기초하여 설정된다. 메모리 블록이 적은 수의 프로그램된 워드 라인들만을 갖는 경우, 비트 라인을 따라 많은 수의 메모리 셀들이 소거되기 때문에, 비트 라인 전도성은 통상적으로 더 좋아진다. 이 경우에, 더 짧은 감지 시간이 통상적으로 이용될 수 있다. 많은 수의 워드 라인들이 프로그램된 경우, 비트 라인 전도성은 통상적으로 더 안 좋으며, 신뢰성 있는 판독을 달성하기 위해 더 긴 감지 시간이 필요할 수 있다.
통상적으로, 메모리 셀들은 하나 이상의 판독 임계치들에 그들의 저장 값들을 비교함으로써 판독된다. 일부 실시예들에서, 판독 구성들은 판독 임계 위치들 중 적어도 하나가 서로 상이하다. 주어진 판독 임계치를 증가시킴으로써, 아마도 더 높은 판독 에러 확률을 희생하여, 비트 라인 전도성이 개선될 수 있고 감지 시간이 더 짧아진다.
본원에 개시된 방법들 및 시스템들을 이용할 때, 일부 판독 태스크들(예를 들면, 높은 정확도를 요구하는 태스크들)이 더 긴 감지 시간으로 수행된다. 또는 조건들이 허용될 때, 그외의 판독 태스크들이 더 짧은 감지 시간으로 수행된다. 따라서, 개시된 방법들은, 그외의 성능 측정치들에서 열화가 거의 없거나 전혀 없이, 아날로그 메모리 셀들로부터의 평균 판독 속도의 현저한 증가를 제공한다.
시스템 기술
도 1은 본 발명의 실시예에 따른, 메모리 시스템(20)을 개략적으로 예시하는 블록도이다. 시스템(20)은 컴퓨팅 장치, 셀룰러 전화 또는 다른 통신 터미널, 탈착식 메모리 모듈("디스크-온-키" 장치), 솔리드 스테이트 디스크(SSD), 디지털 카메라, 뮤직 및 다른 매체 플레이어, 및/또는 데이터가 저장되고 검색되는 임의의 다른 시스템 또는 장치와 같은 다양한 호스트 시스템들 및 장치들에서 사용될 수 있다.
시스템(20)은 데이터를 메모리 셀 어레이(28)에 저장하는 메모리 장치(24)를 포함한다. 메모리 셀 어레이는 복수의 아날로그 메모리 셀(32)을 포함한다. 메모리 장치(24) 및 메모리 제어기(52)는, 상이한 정확도 레벨들에서 메모리 셀들(32)을 판독하고 상이한 실행 시간들을 갖는 복수의 판독 명령을 지원할 수 있다. 이 복수의 판독 명령의 사용은 아래에 상세하게 언급된다. 추가적으로 또는 대안적으로, 메모리 장치(24) 및 메모리 제어기(52)는 상이한 감지 시간들을 갖는 복수의 판독(readout) 구성을 지원할 수 있다. 일부 실시예들에서, 메모리 장치 및 메모리 제어기는 본원에 정의된 복수의 판독 명령들 또는 구성들을 구현하기 위해 전용 명령 인터페이스를 사용하여 서로와 통신한다.
본 특허 출원의 맥락 및 청구항들에서, 용어 "아날로그 메모리 셀"은 전압 또는 전하와 같은 물리량의 연속적인, 아날로그 레벨을 갖는 임의의 메모리 셀을 설명하도록 사용된다. 어레이(28)는, 예를 들어, NAND, NOR 및 CTF 플래시 셀, PCM, NROM, FRAM, MRAM 및 DRAM 셀과 같은 임의의 종류의 아날로그 메모리 셀들을 포함할 수 있다. 메모리 셀들(32)은 싱글-레벨 셀(SLC) 또는 멀티-레벨 셀(MLC, 멀티-비트 셀로도 명명됨)을 포함할 수 있다.
전형적으로, 어레이(28)의 메모리 셀들(32)은 각각 일반적으로 워드 라인 및 비트 라인으로 명명되는 복수의 행 및 열을 갖는 그리드로 배열된다. 전형적으로, 셀들은 소거 블록으로 명명되는, 워드 라인들의 그룹으로 소거된다. 일부 실시예들에서, 주어진 메모리 장치는 개별적인 다이들 상에서 제조될 수 있는 복수의 메모리 셀 어레이를 포함한다.
셀들에 저장되는 전하 레벨들 및/또는 셀들에 기입되고 셀들로부터 판독되는 아날로그 전압들 또는 전류들은 본원에서 집합적으로 아날로그 값들 또는 저장 값들로 명명된다. 본원에 설명된 실시예들은 주로 임계 전압들을 지칭하지만, 본원에 설명된 방법들 및 시스템들은 임의의 다른 적합한 종류의 저장 값들과 함께 사용될 수 있다.
시스템(20)은, 프로그래밍 레벨들로도 명명되는 각각의 메모리 상태들을 취하도록 셀들을 프로그래밍함으로써 아날로그 메모리 셀들에 데이터를 저장한다. 프로그래밍 상태들은 가능한 상태들의 유한한 세트로부터 선택되며, 각각의 상태는 특정 공칭 저장 값에 대응한다. 예를 들어, 셀에 네 개의 가능한 공칭 저장 값들 중 하나를 기입함으로써, 셀당 2비트 MLC가 네 개의 가능한 프로그래밍 상태들 중 하나를 취하도록 프로그래밍될 수 있다.
메모리 장치(24)는 메모리 장치에의 저장을 위한 데이터를 저장 값들로 변환하고 저장 값들을 메모리 셀들(32)에 기입하는 판독/기입 (R/W) 회로를 포함한다. 대안적인 실시예들에서, R/W 회로는 변환을 수행하지 않지만, 전압 샘플, 즉, 셀들 내에 저장하기 위한 저장 값들을 제공받는다. 어레이(28)로부터 데이터를 판독하는 경우, R/W 회로는 메모리 셀들(32)의 저장 값들을 하나 이상의 비트들의 해상도를 갖는 디지털 샘플들로 변환한다. 전형적으로, R/W 회로는 셀들의 저장 값들을 하나 이상의 판독 임계치들과 비교함으로써 셀들(32)로부터 데이터를 판독한다. 전형적으로, 데이터는 페이지들이라 명명되는 그룹으로 메모리 셀들에 기입되고 메모리 셀들로부터 판독된다. 일부 실시예들에서, R/W 회로는 하나 이상의 음의 소거 펄스들을 셀들에 가함으로써 셀들(32)의 그룹을 소거할 수 있다.
본 예에서, R/W 회로는 워드 라인(WL) 회로(36) 및 감지 회로(40)를 포함한다. WL 회로는 어레이(28)의 워드 라인들에 연결되고, 센스 회로는 어레이의 비트 라인들에 연결된다. WL 회로(36)는, 특히, 판독 동작들 동안 상이한 워드 라인들에 적합한 바이어스 전압들을 가하고, 프로그래밍 동작들 동안 워드 라인들에 적합한 프로그래밍 펄스들을 가한다. 감지 회로(40)는, 특히, 판독 동작들 동안 비트 라인들의 전압들 또는 전류들을 감지한다.
R/W 회로는 통상적으로 특정 워드 라인과 동시에 메모리 셀(32)의 그룹을 판독한다. 통상적인 판독 동작에서, WL 회로(36)는 판독 워드 라인에 그리고 동일한 소거 블록의 다른 워드 라인들에 적절한 바이어스 전압을 인가한다. 감지 회로(40)는 각각의 비트 라인의 전압 또는 전류를 감지한다. 소정의 비트 라인의 감지된 전압 또는 전류는 이 비트 라인 및 판독 워드 라인에 속하는 메모리 셀의 저장 값을 나타낸다. 감지 회로는 통상적으로 감지된 비트 라인 전압 또는 전류를 하나 이상의 판독 임계치들과 비교하고, 비교 결과를 출력한다.
일부 실시예들에서, 메모리 장치(24)는 신호 처리 유닛(44)을 포함하고, 이는 다양한 신호 처리 메커니즘을 판독 및/또는 프로그램 데이터 또는 저장 값에 적용한다. 특별히, 유닛(44)은 간섭 캔슬 또는 판독 임계치 적응과 같은 메모리 셀(32)로부터의 저장 값을 판독하는 것의 정확도를 향상시키는 신호 처리 메커니즘을 적용할 수 있다. 이들 메커니즘의 사용은 하기에 더 자세히 후술된다. 신호 처리 유닛(44)은 WL 회로(36) 및 감지 회로(40)와 통신한다. 또한, 신호 처리 회로는 인터페이스(48)를 통해 장치(24) 외부의 구성요소들과 통신한다.
메모리 장치(24)로 들어오고 나가는 데이터의 저장 및 검색은 메모리 제어기(52)에 의해 수행된다. 제어기(52)는 장치(24)와 통신하기 위한 인터페이스(60) 및 본원에 기재되는 메모리 제어 기능을 수행하는 프로세서(64)를 포함한다. 일부 실시예들에서, 메모리 제어기(52)는 에러 정정 코드(ECC) 유닛(68)을 포함하고, 이는 적절한 ECC를 사용하여 저장을 위한 데이터를 인코딩하고, 메모리 장치로부터 판독된 데이터의 ECC를 디코딩한다. 일부 실시예들에서, 제어기(52)는 메모리 셀에 저장하기 위한 저장 값들을 생성하고 이 값들을 장치(24)에 제공한다. 대안적으로, 제어기(52)는 저장을 위한 데이터를 제공할 수 있고, 저장 값들로의 변환은 메모리 장치에서 수행된다.
메모리 제어기(52)는 메모리 장치로부터 검색되는 데이터를 출력하기 위해 그리고 메모리 장치에 저장하기 위한 데이터를 수용하기 위해, 호스트(56)와 통신한다. 일부 실시예들에서, 제어기(52)의 기능들의 일부 또는 전부가 하드웨어로 구현될 수 있다. 대안적으로, 제어기(52)는 적절한 소프트웨어를 실행하는 마이크로프로세서, 또는 하드웨어와 소프트웨어 구성요소의 결합을 포함할 수 있다.
도 1의 구성은 오로지 개념적 명확함을 위해 도시된 예시적인 시스템 구성도이다. 임의의 다른 적합한 메모리 시스템 구성이 또한 사용될 수 있다. 예를 들면, 일부 실시예들에서 신호 처리 유닛(44) 및 메모리 제어기에 의해 수행되는 그것의 기능이 생략될 수 있다. 다양한 인터페이스, 어드레싱 회로, 타이밍 및 시퀀싱 회로 및 디버깅 회로와 같은 본 발명의 원리들을 이해하기 위해 필요하지 않은 구성요소들은 명확성을 위해 도면에서 생략되었다.
도 1에 도시된 예시적인 시스템 구성에서, 메모리 장치(24) 및 메모리 제어기(52)는 2개의 개별적인 집적 회로(IC)로 구현된다. 그러나 대안적인 실시예들에서, 메모리 장치 및 메모리 제어기는 단일 멀티-칩 패키지(MCP) 또는 시스템 온 칩(SoC)의 개별 반도체 다이 상에 집적될 수 있다. 또한 대안적으로, 메모리 제어기의 일부 또는 모든 회로는 메모리 어레이가 배치되는 동일한 다이 상에 존재할 수 있다. 또한 대안적으로, 제어기(52)의 일부 또는 모든 기능은 소프트웨어로 구현되고 프로세서에 의해 또는 호스트 시스템의 다른 구성요소에 의해 수행될 수 있다. 일부 구현들에서, 단일 메모리 제어기는 다수의 메모리 장치(24)에 연결될 수 있다. 다른 실시예에서, 메모리 제어기 기능의 일부 또는 전부는 메모리 확장으로 지칭되는 개별 유닛으로 수행될 수 있고, 이는 메모리 장치(24)의 슬레이브로 동작한다. 통상적으로, 제어기(52)의 프로세서(64)는 범용 프로세서를 포함하고, 이는 본원에 기재되는 기능들을 수행하기 위한 소프트웨어로 프로그래밍된다. 소프트웨어는 예를 들면, 네트워크를 통해, 전자적인 형태로 프로세서에 다운로드될 수 있고, 또는 대안적으로 또는 추가적으로, 자기, 광학, 또는 전자 메모리와 같은 비-일시적인 유형의 매체에 제공 및/또는 저장될 수 있다.
판독 정확도와 속도 간의 트레이드오프
통상적으로, 메모리 장치(24)가 메모리 셀(32)로부터 저장 값들을 판독하는 정확도와 저장 값들이 판독되는 속도 사이에는 트레이드오프(tradeoff)가 존재한다. 정확도가 높은 판독(readout)은 상대적으로 느린 경향을 띄는 반면, 빠른 판독은 종종 정확도가 떨어진다. 본원의 문맥에서, "정확도"라는 용어는 메모리 장치(24)의 회로에 의해 판독되는 저장 값들이 메모리 셀들에 저장되는 실제 저장 값들을 나타내는지에 대한 확실성 또는 충실도의 임의의 척도(measure)를 의미한다. 정확한 판독 동작에서는, 판독된 저장 값들과 메모리 셀들의 각자의 실제 저장 값들 간의 차이가 작으며, 정확하지 않은 판독 동작은 이러한 차이가 클 것이다. 어떠한 판독 동작이라도 어느 정도 고유의 불확실성을 지니기 때문에, 서로 다른 판독 동작들은 이들의 판독 정확도에 의해 특징지어질 수 있다. 서로 다른 정확도를 가지는 판독 명령의 몇 가지 예가 이하 더 기술된다. 본 명세서에서는 "높은 정확도"와 "좋은 정확도"라는 용어가 서로 번갈아가며 사용되어진다.
다수의 실제 상황에서는, 항상 정확도가 높은 판독이 필요하지는 않는다. 일부 판독 태스크는 감소된 판독 정확도, 즉, 빨라진 속도로 성공적으로 수행될 수 있다. 일부 실시예에서, 메모리 장치(24) 및 메모리 제어기(52)는 메모리 셀(32)로부터 저장 값들을 판독하기 위한 판독 명령들의 복수의 미리 정해진 타입들을 지원한다. 서로 다른 명령들이 서로 다른 정확도로 저장 값들을 판독한다. 각 명령은 각자의 실행 시간을 가지는데, 이 실행 시간은 통상적으로 높은-정확도 명령에서는 길어지고 낮은-정확도 명령에서는 짧아진다.
통상적으로, 메모리 제어기(52)가 특정 그룹의 메모리 셀(예를 들면, 메모리 페이지)로부터 저장 값들을 판독할 준비를 한다면, 이 제어기는 수행될 판독 동작에 관련된 조건을 평가한다. 이 평가된 조건에 기초하여, 메모리 제어기는 미리 정해진 판독 명령들 중 하나를 선택하고, 선택된 명령을 이용하여 메모리 장치에게 대상(in question) 저장 값들을 판독하라고 지시한다. 서로 다른 정확도 레벨에서 수행될 수 있는 판독 태스크, 적절한 판독 명령을 선택하기 위하여 평가될 수 있는 조건, 및 서로 다른 정확도 및 실행 시간을 가지는 판독 명령들의 몇 가지 예가 이하 기술된다.
도 2는 본 발명의 실시예에 따른 서로 다른 정확도 레벨을 가지는 판독 명령들을 이용하여 아날로그 메모리 셀(32)로부터 데이터를 검색하기 위한 방법을 개략적으로 도시하는 흐름도이다. 이 방법은, 개시 단계(70)에서, 메모리 제어기(52)가 메모리 셀 그룹(32)에 저장된 특정 메모리 페이지의 판독을 개시하는 것으로부터 시작한다. 정확도 평가 단계(74)에서, 메모리 제어기는 수행될 판독 동작에 관련된 조건을 평가함으로써 원하는 판독 정확도를 평가한다. 판독 단계(78)에서, 메모리 제어기는 원하는 정확도를 가지는 미리 정해진 판독 명령들 중 하나를 선택하고, 선택된 명령을 이용하여 페이지에 대응하는 저장 값들을 판독한다. 메모리 제어기는 통상적으로 판독된 저장 값들로부터 저장된 데이터를 재구성(reconstruct)하고 이 재구성된 데이터를 호스트(56)에 출력한다.
예시적인 판독 태스크, 선택 기준 및 판독 명령
서로 다른 정확도/속도 트레이드오프를 제공하기 위하여, 메모리 장치(24) 및 제어기(52)에 의해 지원되는 서로 다른 판독 명령들이 여러 면에서 서로 다를 수 있다. 예를 들면, 서로 다른 판독 명령들은 서로 다른 감지 시간을 가질 수 있다. 감지 시간이란 감지 회로(40)가 판독 동작 동안 비트 라인 전압 또는 전류들을 측정하는 동안의 시간적 기간이라고 정의된다. 인식될 수 있는 바와 같이, 보다 장시간의 기간 동안의 비트 라인 전류 또는 전압을 통합하면, 판독 노이즈를 평균화하고(averages) 판독 정확도를 향상시킨다. 반면에, 감지 시간이 길어지면 판독 명령의 실행 시간도 늘어난다. 따라서, 장치(24)와 제어기(52)는 높은 정확도이지만, 긴 감지 시간을 가지는 상대적으로 느린 판독 명령, 및 낮은 정확도이지만, 짧은 감지 시간을 가지는 상대적으로 빠른 판독 명령을 지원할 수 있다. 특정 NAND 플래시 장치에서는, 예를 들어, 긴 감지 시간은 25μS 정도가 될 수 있고, 짧은 감지 시간은 10μS 정도가 될 수 있지만, 임의의 다른 적절한 값들도 이용될 수 있다. 일부 실시예에서, 긴 감지 시간은 짧은 감지 시간 길이의 대략 2배일 수 있지만, 임의의 다른 적절한 비율도 이용될 수 있다.
다른 예로서, 서로 다른 판독 명령들이 서로 다른 개수의 판독 임계치를 이용하여 저장 값들을 판독할 수 있다. 앞서 언급한 바와 같이, R/W 회로는 통상적으로 저장 값들을 하나 이상의 판독 임계치와 비교함으로써 메모리 셀들(32)로부터 이 저장 값들을 판독한다. 일부 실시예에서, 신호 처리 유닛(44)은 서로 다른 판독 임계치들을 이용하여, 특정 저장 값 세트를 여러번 재판독함으로써 판독 정확도를 향상시킬 수 있다. 예를 들면, 복수의 판독 결과가 결합되어 판독된 저장 값들의 소프트 메트릭들(soft metrics)을 형성할 수 있고, 이들 메트릭은 메모리 제어기의 ECC 유닛(68)에 의해 ECC를 디코딩하는 데에 이용될 수 있다. 복수의 판독 임계치를 이용한 데이터 판독의 일부 양태는 PCT 국제 출원 공개 번호 WO 2007/132457, WO 2008/053472, WO 2008/111058 및 WO 2008/139441에서 다루고 있으며, 이들 출원의 개시물들은 본원에 참조로서 포함된다.
통상적으로, 판독 정확도는 판독 임계치 개수가 증가할수록 향상된다. 반면에, 많은 수의 판독 임계치를 이용하여 메모리 셀 그룹을 재판독하는 것은 실행 시간을 증가시킨다. 따라서, 서로 다른 수의 판독 임계치를 이용하는 판독 명령은 통상적으로 서로 다른 판독 정확도 및 실행 시간을 가질 것이다. 일 실시예에서, 메모리 장치 및 메모리 제어기는 적은 개수의 판독 임계치(예를 들어, 단일 판독 임계치)를 이용하여 저장 값들을 판독하는 판독 명령, 및 더 많은 개수의 판독 임계치(예를 들어, 2-5개의 판독 임계치)를 이용하여 저장 값들을 판독하는 다른 판독 명령을 지원할 수 있다.
주어진 판독 명령들이 단일 판독 임계치를 이용하면, 그 판독 결과는 저장 값들의 하드 메트릭들로 볼 수 있다. 주어진 판독 명령이 복수의 판독 임계치를 이용하면, 그 판독 결과는 결합될 수 있거나 아니면 저장 값들의 소프트 메트릭들을 생성하도록 처리될 수 있다. ECC 유닛(68)은 이들 하드 또는 소프트 메트릭들에 기초하여 ECC를 디코딩할 수 있다. 따라서, 상대적으로 빠른 명령은 하드 메트릭들을 생성하는 것으로 지정될 수 있다. 느린 명령은 소프트 메트릭들을 생성하는 것으로 지정될 수 있는데, 이는 일반적으로 보다 높은 정확도로 ECC를 디코딩하게 해준다. 대안으로, 서로 다른 개수의 판독 임계치를 이용하는 서로 다른 명령은 서로 다른 정확도를 가지는 소프트 메트릭들을 생성하는 것으로 볼 수 있다.
통상적으로, 다중 임계치 판독은 유닛(44)에 의해 메모리 장치에 내부적으로 수행된다. 통상의 프로세스에서, 메모리 제어기는 메모리 장치에 대한 적절한 판독 명령을 선택하고 전송하며, 메모리 장치는 적절한 개수의 판독 임계치를 이용하여 저장 값들을 판독함으로써 이 명령을 실행한다.
일부 실시예에서, 신호 처리 유닛(44)이 판독된 저장 값들의 정확도를 향상시키기 위하여, 이들 값들에 특정 신호 처리 메커니즘들을 적용한다. 예를 들어, 유닛(44)은 판독된 저장 값들을 왜곡시키는 간섭(interference)을 캔슬(canceling)하기 위한 간섭 캔슬 프로세스를 적용할 수 있다. 메모리 셀들에서의 왜곡을 추정하고 캔슬하기 위한 기술들은, 예를 들어, PCT 국제 출원 공개 번호 WO 2007/132452, WO 2007/132453 및 WO 2008/026203(이들 출원의 개시물들은 본원에 참조로서 포함됨)과, 앞서 인용한 PCT 국제 출원 공개 번호 WO 2007/132457에서 기술되어 있다. 다른 예로서, 신호 처리 유닛(44)이 저장 값들을 판독하는 데에 이용되는 판독 임계치의 위치들을 적절히 조정하는 메커니즘을 적용할 수 있다. 판독 임계값들을 적절히 조정하는 기술들은, 예를 들어, 앞서 인용한 PCT 국제 출원 공개 번호 WO 2008/053472 및 WO 2008/111058에 기술된다.
간섭 캔슬 또는 적응적 임계치 조정과 같은 신호 처리 메커니즘은 판독 정확도를 향상시킨다. 반면에 이들 메커니즘은 통상적으로 계산적 강도가 높아서 실행 시간 및 판독 속도를 증가시킨다. 따라서, 일부 실시예에서, 서로 다른 판독 명령들은 서로 다른 실행시간을 가지는 신호 처리 메커니즘을 적용하거나, 이러한 메커니즘 적용을 억제할 수 있어, 그 결과 서로 다른 정확도/속도 트레이드오프를 제공할 수 있다.
예를 들어, 주어진 판독 명령은 판독된 저장 값들에 간섭 캔슬을 적용할 수 있고, 다른 판독 명령은 간섭 캔슬을 적용하지 않고 저장 값들을 판독할 수 있다. 다른 예로서, 주어진 판독 명령은 저장 값들을 판독하기 전에 판독 임계치를 조정할 수 있고, 다른 판독 명령은 판독 임계치를 조정하지 않고 저장 값들을 판독할 수 있다.
일부 실시예에서, 유닛(44)과 메모리 제어기(52)는 모두 신호 처리 능력들을 가지고 있다. 예를 들면, 간섭 캔슬 프로세스 또는 임계치 조정 프로세스는, 유닛(44) 및 프로세서(52) 중 각 엔티티가 신호 처리 태스크의 서브셋을 수행하도록 유닛(44)과 프로세서(52) 간에 쪼개질 수 있다. 메모리 제어기(52)는 종종 유닛(44)보다 높은 프로세싱 전력을 가지기 때문에 대개는 복잡한 신호 처리 태스크들을 수행할 수 있다. 따라서, 유닛(44)에서 제어기(52)로 신호 처리 기능들을 옮긴다면 판독 정확도를 향상시킬 수 있다. 반면에, 메모리 제어기에 의해 신호 처리 태스크들을 수행하는 것은 메모리 장치로부터 메모리 제어기로 보다 많은 양의 데이터를 전송하는 것이 수반되어, 실행 시간이 늘어난다. 메모리 제어기와 메모리 장치 간의 신호 처리 태스크들의 분할은 서로 다른 정확도/속도 트레이드오프를 제공할 수 있다. 따라서, 서로 다른 판독 명령들이 서로 다르게 신호 처리 태스크들을 메모리 제어기와 메모리 장치 간에서 쪼갤 수 있다.
예를 들어, 특정 판독 명령은 빠르지만 제한된-정확도 임계치 적응 프로세스를 메모리 장치에 내부적으로 적용할 수 있다. 다른 판독 명령은 메모리 제어기에 의해 더 복잡하고 높은 정확도 임계치 적응 프로세스를 적용시킬 수 있다. 후자의 명령은 메모리 장치에서 메모리 제어기로 더 많은 양의 데이터(재판독 동작들의 결과들)의 전송을 수반하기 때문에 통상적으로 느려진다.
다른 예로서, 메모리 장치 내의 유닛(44)은 메모리 셀들로부터 판독된 데이터에 대하여 제한된 성능 간섭 캔슬 프로세스를 수행하도록 구성될 수 있다. 메모리 제어기(52)는 고성능 간섭 캔슬 프로세스를 수행하도록 구성될 수 있는데, 이러한 프로세스는 메모리 장치에 내부적으로 적용되는 프로세스보다 느려질 수 있다. 특정 판독 명령들은 메모리 장치에 적용된 간섭 캔슬 프로세스만 사용할 수 있다. 다른 판독 명령은 제어기의 간접 캔슬 프로세스만을 사용할 수 있다. 또 다른 판독 명령은 판독된 데이터에 두 가지 프로세스 모두를 적용할 수 있다.
상술한 판독 명령은 순전히 예로서 선택된 것이다. 대안적인 실시예에서, 메모리 장치(24)와 메모리 제어기(52)는 서로 다른 판독 정확도와 실행 시간을 가지는 임의의 다른 적절한 2개 이상의 미리 정해진 판독 명령 세트를 이용할 수 있다. 구체적으로, 상술한 예시적인 기술들은 다양한 정확도/트레이드오프들을 가지는 명령을 생성하도록 결합될 수 있다. 예를 들어, 높은 정확도의 판독 명령은 긴 감지 시간을 사용하고, 간섭 캔슬을 적용하고 적응적으로 조정되는 복수의 임계치를 이용하여 저장 값들을 판독할 수 있다. 낮은 정확도이지만 빠른 속도의 판독 명령은 짧은 감지 시간을 이용하고 단일의, 고정된 판독 임계치를 사용하여 저장 값들을 판독할 수 있다.
메모리 제어기(52)는 주어진 판독 태스크를 수행하기 위한 미리 정해진 판독 명령들 중 하나를 선택하기 위하여 서로 다른 조건을 평가할 수 있다. 예를 들어, 많은 양의 마모(wear)를 겪은(예를 들어, 많은 횟수의 프로그래밍 및 소거 싸이클 및/또는 긴 보유 주기들) 메모리 셀 그룹은 높은 왜곡 레벨로 인한 어려움을 겪을 것이며, 따라서 높은 정확도로 판독되어야 한다. 적은 양의 마모를 겪은 메모리 셀 그룹은 더 낮은 정확도와 더 빠른 속도로 성공적으로 판독할 수 있다. 따라서, 일부 실시예에서, 메모리 제어기는 판독될 메모리 셀들의 마모 레벨에 기초하여 판독 명령을 선택한다. 최근의 프로그래밍 동작 이후에 경과한 시간 및/또는 셀들에 적용된 프로그래밍 및 소거 싸이클의 실제 또는 추정된 횟수와 같이, 어떠한 적절한 마모 레벨의 측정 또는 추정이라도 이용될 수 있다.
마모 레벨 정보가 각 셀 그룹에 이용가능하다고 가정하면 이러한 종류의 조건은 각 개개의 셀 그룹에 적용될 수 있다. 대안으로, 메모리 제어기는 전체 블록에 대하여 또는 심지어 전체 메모리 장치에 대하여 공동으로 선택을 적용할 수 있다. 예를 들어, 메모리 제어기는 메모리 장치의 수명이 시작할 때에는 빠르지만 낮은 정확도의 판독 명령을 사용할 수 있지만, 메모리 장치의 수명에 따른 말기의 시점에서는 더 높은 정확도이지만 더 느린 판독 명령으로 전환할 수 있다.
다른 예로서, 메모리 제어기는 초기에 디폴트로 빠른 판독 명령을 선택할 수 있다. 만약 데이터가 이 판독 명령을 이용하여 성공적으로 재구성될 수 없다면, (예를 들어, ECC 디코딩이 실패하였다면), 메모리 제어기는 더 느리지만 더 높은 정확도의 명령을 이용하여 저장 값들을 판독하도록 다시 시도할 수 있다.
일부 실시예에서, 판독 명령은 신호 처리 유닛(44)에 의해서 또는 R/W 회로에 의해서와 같이 메모리 장치에서 내부적으로 선택된다. 예를 들어, 특정 메모리 셀 그룹에 간섭 캔슬을 적용하는 것은 통상적으로 간섭을 잠재적으로 발생시키는 간섭되는 메모리 셀들 및 다른 메모리 셀들(통상적으로 이웃 셀들) 모두로부터 저장 값들을 판독하는 것을 수반한다. 많은 실제 상황에서, 낮은 정확도로 간섭 메모리 셀들의 저장 값이 알려진 경우라도 간섭은 성공적으로 캔슬될 수 있다. 따라서, 간섭 캔슬을 적용하는 경우, 메모리 장치는 빠르지만 낮은 정확도의 명령을 이용하여 잠재적인 간섭 셀들의 저장 값들을 판독할 수 있다.
일부 실시예에서, 메모리 셀들(32)은 각각이 복수의 데이터 비트들을 저장하는 다중-레벨 셀들을 포함한다. 많은 데이터 저장 방식에서, 메모리 셀 그룹 내의 서로 다른 비트가 서로 다른 메모리 페이지를 저장하는 데에 이용된다. 예를 들어, 3 비트/셀 메모리 셀 그룹을 고려해보자. 각각의 메모리 셀은 최소 중요 비트(LSB), 중간 중요 비트(CSB), 및 최고 중요 비트(MSB)로 지칭되는 3개의 비트를 저장한다. 그룹 내의 LSB의 셀들은 특정 페이지를 저장하는 데 사용되며, CSB는 상이한 페이지를 저장하고, 또 다른 페이지는 MSB에 저장된다. 이들 실시예들에서, 상이한 중요 비트들 내에 저장된 페이지들은 종종 상이한 에러 가능성을 갖는다. 따라서, 상이한 중요 비트들은 상이한 판독 명령들을 이용하여 판독될 수 있다. 이러한 선택은 메모리 제어기에 의해 또는 메모리 장치에 의해 적절한 것으로 수행될 수 있다.
또 다른 예시로서, R/W 회로는 반복 프로그램 및 확인(P&V) 프로세스를 이용하여 메모리 셀들을 프로그램할 수 있다. 전형적인 P&V 프로세스에서, 전체 메모리 페이지는 일련의 프로그래밍 펄스들을 이 페이지에 맵핑된 메모리 셀들의 그룹에 적용시킴으로써 기입될 수 있다. 프로그래밍 펄스들의 크기는 펄스마다 점점 증가한다. 셀들 내로 프로그램된 저장 값들은 각 펄스 후에 판독되고("검증됨"), 원하는 레벨에 도달할 때까지 계속 반복된다. 전형적으로, 프로그래밍 검증은 저장 값들이 낮은 정확도로 판독될 경우에도 성공적으로 수행된다. 따라서, R/W 회로는 검증 판독 태스크 중에 빠르지만 낮은 정확도의 명령을 이용하여 저장 값들을 판독할 수 있다.
다른 예시로서, 일부 실시예들에서, 메모리 장치 또는 메모리 제어기는 메모리 셀들 내에 저장된 저장 값들의 통계 분포에 기초하여 판독 동작들에서 사용되는 판독 임계치들을 조절한다. 예를 들어, 장치(24) 또는 제어기(52)는 셀 저장 값들의 축적 분포 기능(CDF)을 추정하기 위해 하나 이상의 판독 동작들을 수행할 수 있고, 그 후에 추정된 CDF에 기초하여 판독 임계값들을 조절할 수 있다. 위에서 언급된 이러한 종류의 기술들은, 예를 들어, PCT 국제 출원 번호 WO 2008/111058에 설명된다. 전형적으로 저장 값 분포를 추정하기 위해 수행되는 판독 동작들은 낮은 정확도로 수행될 수 있다.
더 대안적으로, 특정 판독 태스크를 수행하기 위한 적절한 미리 정의된 판독 명령은 임의의 다른 적절한 조건에 기초하여 선택될 수 있다. 예를 들어, 위에서 언급된 조건들 중 둘 이상이 결합될 수 있다. 특정 조건들이 메모리 제어기에 의해 평가되는 것으로 위에서 언급되었지만, 조건 평가 및/또는 명령 선택은 메모리 제어기 또는 메모리 장치 내부의 회로에 의해 원하는데로 수행될 수 있다.
일부 실시예들에서, 메모리 제어기는 판독 명령들의 다양한 속성들을 설정하기 위해 메모리 장치를 구성한다. 메모리 제어기는, 예를 들어, 판독 임계치들, 감지 시간 및/또는 인터페이스 캔슬 파라미터들의 수 및 값들과 같은 임의의 판독 명령 속성을 구성할 수 있다. 제어기는 단일 판독 명령, 전체 명령들 또는 명령들의 서브셋의 속성들을 구성할 수 있다. 일부 실시예들에서는, 메모리 제어기는 메모리 장치의 라이프 사이클을 따라 메모리 셀들 내의 손상들을 추정할 수 있고, 따라서, 판독 명령 속성들을 적응시킬 수 있다.
판독 명령들의 진행 선택(PROGRESSIVE SELECTION OF READ COMMAND)
일부 실시예들에서, 메모리 제어기(52)는 처음에 빠르고 제한적인 정확도의 판독 명령들을 이용하여 메모리 장치(24)로부터 데이터를 판독한다. 메모리 제어기는 데이터 판독이 실패할 경우에만 높은 정확도이지만 더 느린 판독 명령들로 복귀한다.
도 3은 본 발명의 실시예에 따른 상이한 정확도 레벨들을 갖는 판독 명령들을 이용하여 아날로그 메모리 셀들(32)로부터 데이터를 검색하기 위한 방법을 개략적으로 도시하는 흐름도이다. 규정(definition) 단계(80)에서 별개의 상이한 정확도 레벨들을 갖는 다수의 판독 명령들을 정의하는 것에 의해 방법이 시작된다. 이들 명령들은 메모리 장치(24) 및 메모리 제어기(52) 모두에 의해 지원된다.
메모리 셀들의 특정 그룹으로부터 저장 값들을 판독하는 것을 준비할 때(예를 들어, 특정 메모리 페이지를 판독하는 것), 메모리 제어기는 처음에 초기 선택 단계(84)에서 가장 낮은 정확도를 갖는 판독 명령을 선택한다. 이 명령은 전형적으로 가장 짧은 실행 시간을 갖는다.
메모리 제어기는 판독 단계(88)에서 현재 선택된 판독 명령을 이용하여 특정 페이지를 판독하도록 메모리 장치에 지시한다. 메모리 장치는 이 명령을 이용하여 요청된 페이지를 판독하고 메모리 제어기에 판독 결과들을 제공한다.
메모리 제어기는 ECC 디코딩 단계(92)에서 데이터를 재구성하기 위해 메모리 장치에 의해 제공된 판독 결과들에 기초하여 ECC를 디코딩하는 것을 시도한다. 메모리 제어기는 디코딩 단계(96)에서 ECC 디코딩이 성공적인지를 체크한다. 성공할 경우, 메모리 제어기는 출력 단계(100)에서 재구성된 데이터를 호스트(56)에 출력하고, 방법은 종료한다.
반면, ECC 디코딩이 실패할 경우, 메모리 제어기는 정확도 체크 단계(104)에서 현재 선택된 판독 명령이 가장 높은 정확도를 가지는지 체크한다. 현재 선택된 판독 명령이 가장 높은 정확도의 명령이라면, 메모리 제어기는 실패 단계(108)에서 페이지 판독 동작이 실패했다고 선언하고, 방법은 종료한다.
한편, 메모리 제어기는 선택 업데이트 단계(112)에서, 현재 선택된 명령보다 정확도가 더 높은 상이한 판독 명령을 선택한다. 이 후에, 방법은 위의 단계(88)로 되돌아 가며, 메모리 제어기는 새로 선택된 판독 명령을 이용하여 요청된 페이지를 판독한다. 메모리 제어기는 ECC 디코딩이 성공할 때까지 또는 모든 미리 정의된 명령들이 소진될 때까지, 정확도에서 점진적으로 증가하는 판독 명령들을 이용하여 요청된 페이지를 계속 판독한다.
도 3의 점진적 방법을 이용하여, 판독 정확도는 문제되는 페이지의 실제 특성에 매칭된다. 메모리 제어기는 처음에 빠른 판독 명령들을 이용하여 데이터를 판독하는 것을 시도하고, 더 높은 정확도가 요구될 때에만 더 느린 명령들로 되돌아 간다.
메모리 제어기가 낮은 정확도 명령의 실패 후에 높은 정확도 명령을 이용하여 특정 페이지를 재판독할 때, 메모리 제어기는 실패한 낮은 정확도의 명령의 결과를 여전히 이용할 수도 있다. 예를 들어, 낮은 정확도의 명령의 결과는 높은 정확도의 명령의 판독 결과와 결합될 수 있다(그렇지 않은 경우, 개선하는데 사용될 수 있다). 예를 들어, 제어기 및 메모리 장치 모두가 인터페이스 캔슬을 수행할 수 있는 위에서 언급된 구성을 고려해 보라. 그러한 구성에서, 제어기는 초기에 어떠한 인터페이스 캔슬도 수행하지 않는 빠른 판독 명령을 이용하여 페이지를 판독할 수 있다. ECC가 실패한다면, 제어기는 메모리 장치의 인터페이스 캔슬 메커니즘을 활성화하는 명령을 이용하여 페이지를 재판독한다. ECC가 또다시 실패한다면, 메모리 제어기는 메모리 장치 및 메모리 제어기의 인터페이스 캔슬 메커니즘을 모두 적용할 수 있다.
일부 실시예들에서, 메모리 장치 및 메모리 제어기는 메모리 제어기가 적절한 판독 명령들을 실행하도록 메모리 장치에 지시하는 것을 이용하여 명령 인터페이스를 지원한다. 그러한 명령들은 메모리 장치 내부에 구현된 특정 신호 프로세싱 메커니즘을 활성화시키거나 비활성화시키기 위해, 판독 임계치들 또는 인터페이스 캔슬 파라미터들과 같은 속성값들을 설정하기 위해 및/또는 본 명세서에 설명된 판독 명령들을 수행하도록 임의의 적절한 동작을 수행하거나 임의의 적절한 속성을 구성하도록 메모리 장치에 지시하기 위해 특정한 미리 정의된 판독 명령(예를 들어, 특정의 감지 시간을 갖는 명령)을 적용할 것을 메모리 제어기에 지시할 수 있다.
감소된 감지 시간을 갖는 판독 구성
일부 실시예들에서, 시스템(20)은 상이한 감지 시간들, 즉, 판독 동작 중에 감지 회로(40)가 비트 라인 전압 또는 전류를 측정하는 상이한 시간 구간들을 갖는 다중 판독 구성을 채택한다. 특정 그룹의 메모리 셀들로부터 데이터를 검색하는 것을 준비할 때, 시스템은 특정 조건을 평가하고, 이 조건에 기초하여 적절한 판독 구성을 선택한다. 그러한 판독 구성들의 몇몇 예시들이 아래에 설명된다.
아래에 설명된 실시예들이 두 개의 판독 구성 - 표준 구성 및 감소된 감지 시간 구성 - 을 가리키지만, 개시된 기술들은 다른 감시 시간을 갖는 임의의 다른 적절한 수의 판독 구성들과 함께 사용될 수 있다. 일부 실시예들에서, 메모리 제어기(52) 및 메모리 장치(24)는 메모리 제어기가 특정 데이터를 검색하는데 사용될 판독 구성을 특정하는 것을 이용하여 하나 이상의 판독 명령들을 지원한다. 대안적인 실시예들에서, 메모리 장치는 조건을 평가하고, 메모리 제어기에 관계없이 적절한 판독 구성을 선택한다.
도 4는 본 발명의 실시예에 따른 감소된 감지 시간을 갖는 아날로그 메모리 셀들(32)로부터 데이터를 검색하기 위한 방법을 개략적으로 도시하는 흐름도이다. 요청 단계(120)에서 특정 데이터를 검색하기 위해 호스트(56)로부터 요청을 받아들이는 메모리 제어기(52)에서부터 시작된다. 문제되는 데이터는 특정 그룹의 메모리 셀들(32), 예를 들어, 특정 워드 라인에 속한 특정 페이지에 저장된다.
메모리 제어기는 감지 시간에서 서로 다른 둘 이상의 판독 구성들의 정의를 유지한다. 본 예시는 두 개의 판독 구성 - 표준 구성 및 감소된 감지 시간 구성 - 을 가리킨다. 메모리 제어기는 조건 평가 단계(124)에서 표준의 또는 감소된 감지 시간 판독 구성을 이용하여 문제되는 메모리 셀 그룹이 판독되는지를 표시하는 조건을 평가한다. 이러한 목적을 위해 임의의 적절한 조건이 사용될 수 있다. 에를 들어, 메모리 제어기는 판독 명령들을 선택하기 위해 사용되는 위에서 설명된 임의의 조건들을 사용할 수 있다.
만약, 메모리 셀 그룹이 표준의 감지 시간을 이용하여 판독된다면, 메모리 제어기는 표준의 설정 단계(128)에서 메모리 장치(24)를 표준의 판독 구성으로 설정한다. 반면에, 만약, 메모리 셀 그룹이 감소된 감지 시간을 이용하여 판독된다면, 메모리 제어기는 감소된 시간 설정 단계(132)에서 메모리 장치를 감소된 감지 시간 판독 구성으로 설정한다. 이 후에, 메모리 장치는 판독 단계(136)에서 선택된 판독 구성을 이용하여 그룹 내의 메모리 셀들을 판독한다. 메모리 제어기는 출력 단계(140)에서 판독 데이터를 출력한다.
본 명세서에 설명된 실시예들은 메모리 장치와 메모리 제어기 사이의 태스크들의 특정 분할을 가리킨다. 그러나, 이 선택은 순수하게 예시의 방식으로 이루어진다. 대안적인 실시예들에서, 조건을 평가하는 것, 적절한 판독 구성을 선택하고 설정하는 것 및 메모리 셀들을 판독하는 것의 태스크들은 메모리 장치와 메모리 제어기제어기 임의의 원하는 방식으로 분리될 수 있고, 또는 심지어 그것들 중 단지 하나에 의해 배타적으로 수행될 수 있다.
전형적으로, 각각의 메모리 셀들은 별개의 비트 라인에 속해 있다. 판독은, 비트 라인을 미리 충전하는 것, 그것들이 방전되는 것을 허용하는 것, 및 특정 방전 기간 후에 비트 라인 전류 또는 전압을 감지하는 것에 의해 수행된다. 따라서, 감지된 저장 값은 비트 라인 도전성에 달려있다. 일부 개시된 기술들에서, 판독 구성의 선택은 그룹 내의 메모리 셀들이 속해 있는 비트 라인들의 전기적 도전성에 영향을 준다. 결과적으로, 더 길거나 더 짧은 감지 시간들이 설정될 수 있다.
비트 라인 도전성이 더 좋을 때(즉, 더 높음 - 더 작은 비트 라인 저항을 의미함), 비트 라인은 더 빠른 속도로 방전하고, 따라서 더 짧은 감지 시간으로 감지될 수 있다. 비트 라인 도전성이 더 나쁠 때, 비트 라인은 더 늦은 속도로 방전하고, 따라서 더 긴 감지 시간이 필요할 수 있다. 비트 라인 도전성을 개선시키는 것은 다른 시스템 성능 측정을 악화시킬 수 있기 때문에, 더 낮은 비트 라인 도전성은 전형적으로, 가능한 경우 또는 필요로 할 때, 선택적으로만 설정된다.
다양한 기술들이 판독 중에 비트 라인 도전성을 선택적으로 증가시키는 데 사용될 수 있다. 일부 실시예들에서, 판독 구성들은 판독중에 메모리 블럭 내의 선택되지 않은 워드 라인들, 즉, 판독되는 워드 라인들 이외의 워드 라인들에 적용되는 패스 전압(VPASS)에서 서로 다르다. 일 실시예에서, 표준 판독 구성은 패스 전압들의 특정 디폴트 설정을 설정한다. 감소된 감지 시간 판독 구성은 적어도 하나가 표준 판독 구성 내의 대응하는 패스 전압보다 더 높은 패스 전압들의 다른 세트를 설정한다.
더 높은 패스 전압을 설정하는 것은 비트 라인 도전성을 개선하는 것을 도와주고, 따라서 더 짧은 감지 시간을 가능하게 한다. 반면, 패스 전압을 증가시키는 것은 오버-프로그래밍, 판독 방해 또는 다른 장애들의 가능성을 증가시킬 수 있다. 따라서, 이러한 기술은 전형적으로 선택적으로만, 예를 들어, 조건들이 허용할 때, 다른 장애들이 견딜만할 때, 또는 짧은 감지 시간이 특히 중요할 때 사용될 수 있다.
대안적인 실시예들에서, 판독 구성들은 메모리 셀들의 그룹을 판독하는 데 사용되는 판독 임계치들에서 서로 다르다. 일 실시예에서, 표준 판독 구성은 (하나 이상의) 판독 임계치들의 특정 디폴트 세트를 설정한다. 감소된 감지 시간 판독 구성은 적어도 하나가 표준 판독 구성 내의 대응하는 판독 임계치보다 높은 판독 임계치들의 다른 세트를 설정한다.
도 5는 본 발명의 실시예에 따른 아날로그 메모리 셀들과, 연관된 표준의 및 감소된 감지 시간 판독 임계치의 그룹 내의 프로그래밍 레벨들을 보여주는 그래프이다. 도 5의 예시는 4-레벨의 그룹, 2 비트/셀 메모리 셀들을 가리킨다. 프로그래밍 후에, 메모리 셀들의 (본 예시의 임계 전압들 내의) 저장 값들은 네 개의 가능한 2 비트 조합에 대응하는 네 개의 프로그래밍 레벨 분포들(150A...150D) 내에 분포된다. 전형적으로 장치(24)는 프로그래밍 레벨 분포들 간의 세 개의 판독 임계치들을 위치시키고, 셀 저장 값들을 판독 임계치들과 비교함으로써 이들 메모리 셀들 내에 저장된 데이터를 검색한다.
일부 실시예들에서, 표준 판독 임계값들(154)은 도면에서 실선으로 표시된다. 감소된 감지 시간 판독 임계치(158)는 도면에서 점선으로 표시된다. 도면에서 보여지는 바와 같이, 감소된 감지 시간 판독 임계치들은 각각의 표준 판독 임계치보다 높다.
주어진 판독 임계칠,ㄹ 증가시키는 것은 비트 라인 도전성을 개선 시키는 것을 돕고, 따라서, 더 짧은 감지 시간의 사용을 가능하게 한다. 반면에, 감소된 감지 시간 판독 임계치들은 판독 에러의 가능성을 증가시킬 수 있는데, 이는 전형적으로 그것들이 대응하는 표준 판독 임계치들에 비해 프로그래밍 레벨 분포들에 더 가깝기 때문이다.
도 5의 예에서, 표준 판독 임계치들은 인접한 프로그래밍 레벨 분포들(programming level distributions) 사이의 대략 중간 지점들에 위치한다. 이러한 설정은 통상적으로 낮은 에러 확률을 산출한다. 한편, 감소된 감지 시간 판독 임계치들은 인접한 프로그래밍 레벨 분포들을 분리시키는 경계 영역들의 상부 에지들에 위치한다. 이러한 설정은 통상적으로 에러 확률에 관하여 차선이지만, 비트 라인 도전율을 향상시키며 짧은 감지 시간을 가능하게 하기 위해서 몇몇 경우에는 바람직할 수 있다. 몇몇 실시예들에 있어서, 감소된 감지 시간 판독 임계치들은 프로그래밍 레벨 분포들 내에서 약간 더 높게 위치할 수도 있다. 이러한 설정은 (예를 들어, 에러 정정 코드를 이용하여 정정될 수 있는) 판독 에러들을 희생하여 감지 시간을 더 단축시킨다.
몇몇 실시예들에 있어서, 메모리 제어기(52)는 데이터로 프로그램되는 동일한 블록 내의 다른 워드 라인들의 수에 따라 특정 워드 라인을 판독하기 위한 감지 시간을 설정한다. 이러한 기술 이면의 원리는, 소거된(프로그램되지 않은) 메모리 셀들은 비트 라인 도전율을 향상시키는 한편, 프로그램된 메모리 셀들은 비트 라인 도전율을 열화시킨다는 것이다. 메모리 블록이 단지 작은 수의 프로그램된 워드 라인들만을 갖는 경우, 블록 내의 비트 라인들의 도전율은 통상적으로 양호하며, 통상적으로 짧은 감지 시간에 원하는 워드 라인을 판독하는 것이 가능하다. 한편, 블록이 다수의 프로그램된 워드 라인들(즉, 비트 라인당 소수의 소거된 셀들)을 갖는 경우, 비트 라인 도전율은 보다 열등할 수 있으며, 보다 긴 감지 시간이 필요할 수 있다.
전술한 실시예들은 예로서 언급되며, 본 발명은 특히 상기에 예시되며 기술된 것에 제한되지는 않는다는 것이 인식될 것이다. 오히려, 본 발명의 범위는 전술한 다양한 특징들의 조합들 및 서브조합들뿐만 아니라, 전술한 설명을 읽으면 당업자에게 떠오를 것이며 종래 기술에 개시되어 있지 않은 그 변형들 및 변경들도 포함한다. 본 특허 출원에 참고로 포함되어 있는 문헌들은, 임의의 용어들이 본 명세서에서 명시적으로 또는 암시적으로 이루어진 정의들과 충돌하는 방식으로 이러한 포함된 문헌들에서 정의되는 한, 본 명세서에서의 정의들만이 고려되어야 한다는 것을 제외하고는, 본원의 필수적인 부분으로 고려되어야 한다.

Claims (20)

  1. 데이터 저장을 위한 방법으로서,
    아날로그 메모리 셀들로부터 저장 값들을 판독하기 위해 적어도 제1 판독 구성 및 제2 판독 구성을 제공하여, 상기 제1 판독 구성이 제1 감지 시간에 상기 저장 값들을 판독하며, 상기 제2 판독 구성이 상기 제1 감지 시간보다 짧은 제2 감지 시간에 상기 저장 값들을 판독하게 하는 단계;
    상기 메모리 셀들의 그룹에 걸쳐 수행되어야 하는 판독 동작에 대하여 조건을 평가하는 단계;
    상기 평가된 조건에 응답하여 상기 제1 판독 구성 및 제2 판독 구성 중 하나의 판독 구성을 선택하는 단계; 및
    상기 선택된 판독 구성을 이용하여 상기 메모리 셀들의 그룹으로부터 상기 저장 값들을 판독하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 그룹 내의 메모리 셀들은 각자의 비트 라인들에 속하고, 상기 제1 판독 구성은 상기 비트 라인들 중 적어도 하나의 비트 라인을 제1 도전율(conductivity)을 갖도록 설정하며, 상기 제2 판독 구성은 상기 비트 라인들 중 상기 적어도 하나의 비트 라인을 상기 제1 도전율보다 큰 제2 도전율을 갖도록 설정하는 방법.
  3. 제1항에 있어서,
    상기 그룹 내의 메모리 셀들은 다수의 워드 라인들로부터 선택된 워드 라인에 속하고, 상기 제1 판독 구성은 상기 메모리 셀들의 그룹을 판독하는 동안에 선택된 워드 라인들 이외의 워드 라인들에 제1 패스 전압들을 인가하며, 상기 제2 판독 구성은 선택된 워드 라인들 이외의 워드 라인들에 제2 패스 전압들을 인가하여, 상기 제2 패스 전압들 중 적어도 하나의 패스 전압이 상기 제1 패스 전압들 중 대응하는 패스 전압보다 높게 되게 하는 방법.
  4. 제1항에 있어서,
    상기 제1 판독 구성은 제1 판독 임계치들의 세트를 이용하여 상기 저장 값들을 판독하며, 상기 제2 판독 구성은 제2 판독 임계치들의 세트를 이용하여 상기 저장 값들을 판독하여, 상기 제2 판독 임계치들 중 적어도 하나의 판독 임계치가 상기 제1 판독 임계치들 중 대응하는 판독 임계치보다 높게 되게 하는 방법.
  5. 제1항에 있어서,
    상기 그룹 내의 메모리 셀들은 다수의 워드 라인들을 포함하는 메모리 블록 내의 워드 라인에 속하고, 상기 조건을 평가하는 단계는, 데이터로 프로그램되는 상기 메모리 블록 내의 워드 라인들의 수를 평가(assessing)하는 단계를 포함하는 방법.
  6. 제1항에 있어서,
    상기 제1 판독 구성은 제1 정확도로 상기 저장 값들을 판독하며, 상기 제2 판독 구성은 상기 제1 정확도보다 성긴(coarser) 제2 정확도로 상기 저장 값들을 판독하는 방법.
  7. 제1항에 있어서,
    상기 조건을 평가하는 단계는 상기 메모리 셀들의 그룹의 마모 레벨(wear level)을 평가하는 단계를 포함하는 방법.
  8. 제1항에 있어서,
    상기 조건을 평가하는 단계 및 상기 판독 구성들 중 하나의 판독 구성을 선택하는 단계는, 상기 판독 동작이 간섭 캔슬 프로세스에서 잠재적으로 간섭하는 메모리 셀들로부터 상기 저장 값들을 판독한다고 결정하는 것에 응답하여 상기 제2 판독 구성을 선택하는 단계를 포함하는 방법.
  9. 제1항에 있어서,
    상기 조건을 평가하는 단계 및 상기 판독 구성들 중 하나의 판독 구성을 선택하는 단계는, 상기 판독 동작이 상기 메모리 셀들의 주어진 그룹에 기입되었던 저장 값들을 검증한다고 결정하는 것에 응답하여 상기 제2 판독 구성을 선택하는 단계를 포함하는 방법.
  10. 데이터 저장을 위한 장치로서,
    복수의 아날로그 메모리 셀들; 및
    상기 메모리 셀들의 그룹에 걸쳐 수행되어야 하는 판독 동작에 대하여 조건을 평가하고, 상기 평가된 조건에 응답하여 상기 아날로그 메모리 셀들로부터 저장 값들을 판독하기 위해 적어도 제1 판독 구성과 제2 판독 구성 사이에서 선택하여, 상기 제1 판독 구성이 제1 감지 시간에 상기 저장 값들을 판독하며 상기 제2 판독 구성이 상기 제1 감지 시간보다 짧은 제2 감지 시간에 상기 저장 값들을 판독하게 하고, 상기 선택된 판독 구성을 이용하여 상기 메모리 셀들의 그룹으로부터 상기 저장 값들을 판독하도록 구성되는 회로
    를 포함하는 장치.
  11. 제10항에 있어서,
    상기 그룹 내의 메모리 셀들은 각자의 비트 라인들에 속하고, 상기 제1 판독 구성은 상기 비트 라인들 중 적어도 하나의 비트 라인을 제1 도전율을 갖도록 설정하며, 상기 제2 판독 구성은 상기 비트 라인들 중 상기 적어도 하나의 비트 라인을 상기 제1 도전율보다 큰 제2 도전율을 갖도록 설정하는 장치.
  12. 제10항에 있어서,
    상기 그룹 내의 메모리 셀들은 다수의 워드 라인들로부터 선택된 워드 라인에 속하고, 상기 제1 판독 구성은 상기 메모리 셀들의 그룹을 판독하는 동안에 선택된 워드 라인들 이외의 워드 라인들에 제1 패스 전압들을 인가하며, 상기 제2 판독 구성은 선택된 워드 라인들 이외의 워드 라인들에 제2 패스 전압들을 인가하여, 상기 제2 패스 전압들 중 적어도 하나의 패스 전압이 상기 제1 패스 전압들 중 대응하는 패스 전압보다 높게 되게 하는 장치.
  13. 제10항에 있어서,
    상기 제1 판독 구성은 제1 판독 임계치들의 세트를 이용하여 상기 저장 값들을 판독하며, 상기 제2 판독 구성은 제2 판독 임계치들의 세트를 이용하여 상기 저장 값들을 판독하여, 상기 제2 판독 임계치들 중 적어도 하나의 판독 임계치가 상기 제1 판독 임계치들 중 대응하는 판독 임계치보다 높게 되게 하는 장치.
  14. 제10항에 있어서,
    상기 그룹 내의 메모리 셀들은 다수의 워드 라인들을 포함하는 메모리 블록 내의 워드 라인에 속하고, 상기 회로는, 데이터로 프로그램되는 상기 메모리 블록 내의 워드 라인들의 수를 평가함으로써 상기 조건을 평가하도록 구성되는 장치.
  15. 제10항에 있어서,
    상기 제1 판독 구성은 제1 정확도로 상기 저장 값들을 판독하며, 상기 제2 판독 구성은 상기 제1 정확도보다 성긴 제2 정확도로 상기 저장 값들을 판독하는 장치.
  16. 제10항에 있어서,
    상기 회로는, 상기 메모리 셀들의 그룹의 마모 레벨을 평가함으로써 상기 조건을 평가하도록 구성되는 장치.
  17. 제10항에 있어서,
    상기 회로는, 상기 판독 동작이 간섭 캔슬 프로세스에서 잠재적으로 간섭하는 메모리 셀들로부터 상기 저장 값들을 판독한다고 결정하는 것에 응답하여 상기 제2 판독 구성을 선택하도록 구성되는 장치.
  18. 제10항에 있어서,
    상기 회로는, 상기 판독 동작이 상기 메모리 셀들의 주어진 그룹에 기입되었던 저장 값들을 검증한다고 결정하는 것에 응답하여 상기 제2 판독 구성을 선택하도록 구성되는 장치.
  19. 제10항에 있어서,
    상기 그룹 내의 메모리 셀들 각각은 적어도 제1 비트들 및 제2 비트들을 저장하고, 상기 회로는, 상기 판독 동작이 상기 메모리 셀들로부터 상기 제1 비트들을 판독한다고 결정하는 것에 응답하여 상기 제2 판독 구성을 선택하며, 상기 판독 동작이 상기 메모리 셀들로부터 상기 제2 비트들을 판독한다고 결정하는 것에 응답하여 상기 제1 판독 구성을 선택하도록 구성되는 장치.
  20. 데이터 저장을 위한 장치로서,
    복수의 아날로그 메모리 셀들을 포함하는 메모리와 통신하기 위한 인터페이스; 및
    상기 메모리 셀들의 그룹에 걸쳐 수행되어야 하는 판독 동작에 대하여 조건을 평가하고, 상기 평가된 조건에 응답하여 상기 아날로그 메모리 셀들로부터 저장 값들을 판독하기 위해 적어도 제1 판독 구성과 제2 판독 구성 사이에서 선택하여, 상기 제1 판독 구성이 제1 감지 시간에 상기 저장 값들을 판독하며 상기 제2 판독 구성이 상기 제1 감지 시간보다 짧은 제2 감지 시간에 상기 저장 값들을 판독하게 하고, 상기 선택된 판독 구성을 이용하여 상기 메모리 셀들의 그룹으로부터 상기 저장 값들을 판독하도록 구성되는 회로
    를 포함하는 장치.
KR1020120091871A 2011-08-22 2012-08-22 감소된 감지 시간 판독을 하는 메모리 장치 KR101379543B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US13/214,257 US8400858B2 (en) 2008-03-18 2011-08-22 Memory device with reduced sense time readout
US13/214,257 2011-08-22
US13/284,909 US8493783B2 (en) 2008-03-18 2011-10-30 Memory device readout using multiple sense times
US13/284,909 2011-10-30

Publications (2)

Publication Number Publication Date
KR20130023102A true KR20130023102A (ko) 2013-03-07
KR101379543B1 KR101379543B1 (ko) 2014-03-28

Family

ID=46717778

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020120092004A KR101381005B1 (ko) 2011-08-22 2012-08-22 다중 감지 시간을 이용하는 메모리 디바이스 판독
KR1020120091871A KR101379543B1 (ko) 2011-08-22 2012-08-22 감소된 감지 시간 판독을 하는 메모리 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020120092004A KR101381005B1 (ko) 2011-08-22 2012-08-22 다중 감지 시간을 이용하는 메모리 디바이스 판독

Country Status (5)

Country Link
US (2) US8493783B2 (ko)
EP (2) EP2562759B1 (ko)
KR (2) KR101381005B1 (ko)
TW (2) TWI505274B (ko)
WO (2) WO2013028430A2 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8848438B2 (en) * 2010-10-05 2014-09-30 Stec, Inc. Asymmetric log-likelihood ratio for MLC flash channel
US8947941B2 (en) * 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
US8954825B2 (en) 2012-03-06 2015-02-10 Micron Technology, Inc. Apparatuses and methods including error correction code organization
US9754683B2 (en) * 2012-03-29 2017-09-05 Intel Corporation Method and system to obtain state confidence data using multistrobe read of a non-volatile memory
US8787057B2 (en) 2012-08-15 2014-07-22 Apple Inc. Fast analog memory cell readout using modified bit-line charging configurations
US8792281B2 (en) * 2012-08-21 2014-07-29 Apple Inc. Read threshold estimation in analog memory cells using simultaneous multi-voltage sense
US8869009B2 (en) * 2013-02-11 2014-10-21 Apple Inc. Read commands specifying error performance
US9575829B2 (en) * 2013-03-13 2017-02-21 Sandisk Technologies Llc Probability-based remedial action for read disturb effects
JP2015056198A (ja) * 2013-09-13 2015-03-23 株式会社東芝 メモリチップ、記憶装置および読み出し方法
GB2520708A (en) * 2013-11-28 2015-06-03 Ibm Multi-stage codeword detector
KR102296738B1 (ko) 2015-06-01 2021-09-01 삼성전자 주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 에러 정정 방법
US9524790B1 (en) * 2015-08-02 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory cells wear reduction
JP2017045388A (ja) * 2015-08-28 2017-03-02 株式会社東芝 メモリシステム
US10014063B2 (en) 2015-10-30 2018-07-03 Sandisk Technologies Llc Smart skip verify mode for programming a memory device
US10048877B2 (en) * 2015-12-21 2018-08-14 Intel Corporation Predictive memory maintenance
US10497447B2 (en) * 2017-06-29 2019-12-03 SK Hynix Inc. Memory device capable of supporting multiple read operations
KR102409791B1 (ko) 2017-12-27 2022-06-16 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
US10636459B2 (en) 2018-05-30 2020-04-28 Micron Technology, Inc. Wear leveling
US11438012B2 (en) * 2018-11-29 2022-09-06 Micron Technology, Inc. Failure-tolerant error correction layout for memory sub-systems
US11645009B2 (en) * 2021-03-03 2023-05-09 Western Digital Technologies, Inc. Data storage with improved read parallelism
US11531499B2 (en) 2021-03-04 2022-12-20 Western Digital Technologies, Inc. Data storage that controls decode performance by changing program PLC
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

Family Cites Families (123)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3668631A (en) 1969-02-13 1972-06-06 Ibm Error detection and correction system with statistically optimized data recovery
US3668632A (en) 1969-02-13 1972-06-06 Ibm Fast decode character error detection and correction system
US4058851A (en) 1976-10-18 1977-11-15 Sperry Rand Corporation Conditional bypass of error correction for dual memory access time selection
JPS6051749B2 (ja) 1979-08-31 1985-11-15 富士通株式会社 エラ−訂正方式
US4413339A (en) 1981-06-24 1983-11-01 Digital Equipment Corporation Multiple error detecting and correcting system employing Reed-Solomon codes
US4608687A (en) 1983-09-13 1986-08-26 International Business Machines Corporation Bit steering apparatus and method for correcting errors in stored data, storing the address of the corrected data and using the address to maintain a correct data condition
JPS6130826A (ja) * 1984-07-23 1986-02-13 Canon Inc デ−タ伝送方式
US4654847A (en) 1984-12-28 1987-03-31 International Business Machines Apparatus for automatically correcting erroneous data and for storing the corrected data in a common pool alternate memory array
US5182752A (en) 1990-06-29 1993-01-26 Digital Equipment Corporation Method and apparatus for transferring data between a data bus and a data storage device
KR960002006B1 (ko) 1991-03-12 1996-02-09 가부시끼가이샤 도시바 2개의 기준 레벨을 사용하는 기록 검증 제어기를 갖는 전기적으로 소거 가능하고 프로그램 가능한 불휘발성 메모리 장치
US5182558A (en) 1991-10-25 1993-01-26 Halliburton Geophysical Services, Inc. System for generating correction signals for use in forming low distortion analog signals
JP2816512B2 (ja) 1992-07-27 1998-10-27 三菱電機株式会社 半導体記憶装置
US5533190A (en) 1994-12-21 1996-07-02 At&T Global Information Solutions Company Method for maintaining parity-data consistency in a disk array
US5799200A (en) 1995-09-28 1998-08-25 Emc Corporation Power failure responsive apparatus and method having a shadow dram, a flash ROM, an auxiliary battery, and a controller
US5668766A (en) 1996-05-16 1997-09-16 Intel Corporation Method and apparatus for increasing memory read access speed using double-sensing
US5764568A (en) 1996-10-24 1998-06-09 Micron Quantum Devices, Inc. Method for performing analog over-program and under-program detection for a multistate memory cell
US6768165B1 (en) * 1997-08-01 2004-07-27 Saifun Semiconductors Ltd. Two bit non-volatile electrically erasable and programmable semiconductor memory cell utilizing asymmetrical charge trapping
KR100257708B1 (ko) * 1997-09-03 2000-06-01 김영환 반도체 메모리 소자의 센싱타임 조절장치
JP4039532B2 (ja) 1997-10-02 2008-01-30 株式会社ルネサステクノロジ 半導体集積回路装置
JP2000132987A (ja) 1998-10-28 2000-05-12 Neucore Technol Inc 不揮発性半導体メモリ装置
US6480948B1 (en) 1999-06-24 2002-11-12 Cirrus Logic, Inc. Configurable system memory map
KR20010003954A (ko) 1999-06-26 2001-01-15 윤종용 반도체 메모리 장치의 캐패시터 제조 방법
EP1067547A1 (en) 1999-06-28 2001-01-10 Hewlett-Packard Company Data set recovery by codeword overlay
US7457897B1 (en) 2004-03-17 2008-11-25 Suoer Talent Electronics, Inc. PCI express-compatible controller and interface for flash memory
US6405342B1 (en) 1999-09-10 2002-06-11 Western Digital Technologies, Inc. Disk drive employing a multiple-input sequence detector responsive to reliability metrics to improve a retry operation
US6259627B1 (en) 2000-01-27 2001-07-10 Multi Level Memory Technology Read and write operations using constant row line voltage and variable column line load
JP2001291344A (ja) 2000-04-04 2001-10-19 Hitachi Ltd 光ディスク装置およびそのデータ再生方法
US7032154B2 (en) 2000-06-05 2006-04-18 Tyco Telecommunications (Us) Inc. Concatenated forward error correction decoder
US6622277B1 (en) 2000-06-05 2003-09-16 Tyco Telecommunications(Us)Inc. Concatenated forward error correction decoder
GB2371960A (en) 2000-06-27 2002-08-07 Seagate Technology Llc Method and apparatus for encoding with unequal protection in magnetic recording channels having concatenated error correction codes
JP3595495B2 (ja) 2000-07-27 2004-12-02 Necマイクロシステム株式会社 半導体記憶装置
JP3829088B2 (ja) 2001-03-29 2006-10-04 株式会社東芝 半導体記憶装置
US7343330B1 (en) 2001-06-26 2008-03-11 Boesjes Eimar M Systems and methods for acquisition, evaluation, inventory, distribution, and/or re-sale of pre-owned recorded data products
GB2378277B (en) 2001-07-31 2003-06-25 Sun Microsystems Inc Multiple address translations
FR2845227B1 (fr) 2002-10-01 2005-01-14 Telediffusion De France Tdf Procede de reception d'un signal module selon une technique de codage multi-niveaux, procede de decodage, dispositif de reception, systeme de codage-decodage et applications correspondant
US7218255B1 (en) 2002-12-04 2007-05-15 Marvell International Ltd. Methods and apparatus for improving minimum Hamming weights of a sequence
US7158058B1 (en) 2002-12-09 2007-01-02 Marvell International Ltd. Method and apparatus for generating a seed set in a data dependent seed selector
US6870774B2 (en) * 2002-12-10 2005-03-22 Micron, Technology, Inc. Flash memory architecture for optimizing performance of memory having multi-level memory cells
US7469049B1 (en) 2003-03-04 2008-12-23 Marvell International Ltd. Data dependent scrambler with reduced overhead
JP2004348817A (ja) 2003-05-20 2004-12-09 Sharp Corp 半導体記憶装置、そのページバッファリソース割当方法及び回路、コンピュータシステム並びに携帯電子機器
US7471552B2 (en) 2003-08-04 2008-12-30 Ovonyx, Inc. Analog phase change memory
US7433697B2 (en) 2003-10-24 2008-10-07 Broadcom Corporation Synchronized UWB piconets for Simultaneously Operating Piconet performance
US20090193184A1 (en) 2003-12-02 2009-07-30 Super Talent Electronics Inc. Hybrid 2-Level Mapping Tables for Hybrid Block- and Page-Mode Flash-Memory System
US7631138B2 (en) 2003-12-30 2009-12-08 Sandisk Corporation Adaptive mode switching of flash memory address mapping based on host usage characteristics
US7210077B2 (en) 2004-01-29 2007-04-24 Hewlett-Packard Development Company, L.P. System and method for configuring a solid-state storage device with error correction coding
US7266069B2 (en) 2004-02-06 2007-09-04 Via Technologies, Inc., Method and apparatus for retry calculation in an optical disk device
KR100626371B1 (ko) * 2004-03-30 2006-09-20 삼성전자주식회사 캐쉬 읽기 동작을 수행하는 비휘발성 메모리 장치, 그것을포함한 메모리 시스템, 그리고 캐쉬 읽기 방법
DE102004021267B4 (de) 2004-04-30 2008-04-17 Infineon Technologies Ag Verfahren zum Testen eines Speicherbausteins und Prüfanordnung
US7447970B2 (en) 2004-06-16 2008-11-04 Seagate Technology, Inc. Soft-decision decoding using selective bit flipping
US7665007B2 (en) 2004-06-30 2010-02-16 Seagate Technology, Llc Retrial and reread methods and apparatus for recording channels
US7196644B1 (en) 2004-07-01 2007-03-27 Seagate Technology Llc Decoupling of analog input and digital output
US7797609B2 (en) 2004-08-19 2010-09-14 Unisys Corporation Apparatus and method for merging data blocks with error correction code protection
US7254763B2 (en) 2004-09-01 2007-08-07 Agere Systems Inc. Built-in self test for memory arrays using error correction coding
JP2006115145A (ja) 2004-10-14 2006-04-27 Nec Electronics Corp 復号装置及び復号方法
US7409623B2 (en) 2004-11-04 2008-08-05 Sigmatel, Inc. System and method of reading non-volatile computer memory
JP4261462B2 (ja) 2004-11-05 2009-04-30 株式会社東芝 不揮発性メモリシステム
US7441067B2 (en) 2004-11-15 2008-10-21 Sandisk Corporation Cyclic flash memory wear leveling
US7392428B2 (en) 2004-11-19 2008-06-24 International Business Machines Corporation Method and system for recovering from abnormal interruption of a parity update operation in a disk array system
JP4734906B2 (ja) 2004-12-07 2011-07-27 ソニー株式会社 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
JP4786171B2 (ja) 2004-12-10 2011-10-05 株式会社東芝 半導体記憶装置
US7558839B1 (en) 2004-12-14 2009-07-07 Netapp, Inc. Read-after-write verification for improved write-once-read-many data storage
US7725779B2 (en) 2005-01-25 2010-05-25 Ternarylogic Llc Multi-valued scrambling and descrambling of digital data on optical disks and other storage media
US7379368B2 (en) 2005-02-25 2008-05-27 Frankfurt Gmbh, Llc Method and system for reducing volatile DRAM power budget
US7574555B2 (en) 2005-03-18 2009-08-11 Emc Corporation Memory system having daisy chained memory controllers
KR100712596B1 (ko) 2005-07-25 2007-04-30 삼성전자주식회사 플래시 메모리 장치의 리페어 및 트리밍 방법 및 장치
US7328384B1 (en) 2005-09-29 2008-02-05 Xilinx, Inc. Method and apparatus using device defects as an identifier
US7661054B2 (en) 2005-09-30 2010-02-09 Intel Corporation Methods and arrangements to remap degraded storage blocks
US7644347B2 (en) 2005-09-30 2010-01-05 Intel Corporation Silent data corruption mitigation using error correction code with embedded signaling fault detection
US8218546B2 (en) 2005-11-10 2012-07-10 Broadcom Corporation Interleaved processing of dropped packets in a network device
US7844879B2 (en) 2006-01-20 2010-11-30 Marvell World Trade Ltd. Method and system for error correction in flash memory
US7929549B1 (en) 2006-03-06 2011-04-19 Advanced Micro Devices, Inc. Method and apparatus for scrambling data for control of high-speed bidirectional signaling
WO2007132452A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Reducing programming error in memory devices
CN103280239B (zh) * 2006-05-12 2016-04-06 苹果公司 存储设备中的失真估计和消除
WO2007132457A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
US7613043B2 (en) 2006-05-15 2009-11-03 Apple Inc. Shifting reference values to account for voltage sag
US7457163B2 (en) 2006-06-01 2008-11-25 Sandisk Corporation System for verifying non-volatile storage using different voltages
US7440331B2 (en) 2006-06-01 2008-10-21 Sandisk Corporation Verify operation for non-volatile storage using different voltages
US7450421B2 (en) 2006-06-02 2008-11-11 Sandisk Corporation Data pattern sensitivity compensation using different voltage
US7310272B1 (en) 2006-06-02 2007-12-18 Sandisk Corporation System for performing data pattern sensitivity compensation using different voltage
WO2008026203A2 (en) 2006-08-27 2008-03-06 Anobit Technologies Estimation of non-linear distortion in memory devices
US7904783B2 (en) 2006-09-28 2011-03-08 Sandisk Corporation Soft-input soft-output decoder for nonvolatile memory
US7365671B1 (en) 2006-10-10 2008-04-29 Seagate Technology Llc Communication channel with undersampled interpolative timing recovery
US7975192B2 (en) 2006-10-30 2011-07-05 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US7468911B2 (en) 2006-11-02 2008-12-23 Sandisk Corporation Non-volatile memory using multiple boosting modes for reduced program disturb
US7558109B2 (en) 2006-11-03 2009-07-07 Sandisk Corporation Nonvolatile memory with variable read threshold
KR100850290B1 (ko) 2007-01-11 2008-08-04 삼성전자주식회사 멀티레벨 바이어스 전압 발생기 및 이를 구비하는 반도체메모리 장치
US7616498B2 (en) 2006-12-29 2009-11-10 Sandisk Corporation Non-volatile storage system with resistance sensing and compensation
US7590002B2 (en) 2006-12-29 2009-09-15 Sandisk Corporation Resistance sensing and compensation for non-volatile storage
WO2008111058A2 (en) 2007-03-12 2008-09-18 Anobit Technologies Ltd. Adaptive estimation of memory cell read thresholds
JP2008251138A (ja) * 2007-03-30 2008-10-16 Toshiba Corp 不揮発性半導体メモリ、不揮発性半導体メモリの制御方法、不揮発性半導体メモリシステム、及びメモリカード
US8429493B2 (en) 2007-05-12 2013-04-23 Apple Inc. Memory device with internal signap processing unit
US8065583B2 (en) 2007-07-06 2011-11-22 Micron Technology, Inc. Data storage with an outer block code and a stream-based inner code
KR101397549B1 (ko) * 2007-08-16 2014-05-26 삼성전자주식회사 고속 프로그램이 가능한 불휘발성 반도체 메모리 시스템 및그것의 독출 방법
US7639532B2 (en) 2007-10-10 2009-12-29 Micron Technology, Inc. Non-equal threshold voltage ranges in MLC NAND
US8209588B2 (en) * 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8085586B2 (en) * 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
US8775717B2 (en) 2007-12-27 2014-07-08 Sandisk Enterprise Ip Llc Storage controller for flash memory including a crossbar switch connecting a plurality of processors with a plurality of internal memories
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
US8051240B2 (en) 2008-05-09 2011-11-01 Sandisk Technologies Inc. Compensating non-volatile storage using different pass voltages during program-verify and read
US7733712B1 (en) 2008-05-20 2010-06-08 Siliconsystems, Inc. Storage subsystem with embedded circuit for protecting against anomalies in power signal from host
EP2308056A1 (en) 2008-07-01 2011-04-13 LSI Corporation Methods and apparatus for soft demapping and intercell interference mitigation in flash memories
US8037380B2 (en) 2008-07-08 2011-10-11 International Business Machines Corporation Verifying data integrity of a non-volatile memory system during data caching process
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
TWI467369B (zh) 2008-10-01 2015-01-01 A Data Technology Co Ltd 混合密度記憶體系統及其控制方法
KR101638764B1 (ko) * 2008-12-19 2016-07-22 휴렛 팩커드 엔터프라이즈 디벨롭먼트 엘피 균일한 판독 대기시간을 위한 중복 데이터 저장
US8040744B2 (en) 2009-01-05 2011-10-18 Sandisk Technologies Inc. Spare block management of non-volatile memories
US8244960B2 (en) 2009-01-05 2012-08-14 Sandisk Technologies Inc. Non-volatile memory and method with write cache partition management methods
US7974133B2 (en) * 2009-01-06 2011-07-05 Sandisk Technologies Inc. Robust sensing circuit and method
KR101082650B1 (ko) 2009-01-21 2011-11-14 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 그 동작 방법
US7894270B2 (en) * 2009-02-11 2011-02-22 Mosys, Inc. Data restoration method for a non-volatile memory
US8259506B1 (en) * 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US20100287217A1 (en) 2009-04-08 2010-11-11 Google Inc. Host control of background garbage collection in a data storage device
US8238157B1 (en) * 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
TWI400707B (zh) 2009-07-09 2013-07-01 Phison Electronics Corp 快閃記憶體邏輯區塊管理方法及其控制電路與儲存系統
US8014094B1 (en) 2009-08-31 2011-09-06 Western Digital Technologies, Inc. Disk drive expediting defect scan when quality metric exceeds a more stringent threshold
US8402217B2 (en) 2009-09-15 2013-03-19 Marvell International Ltd. Implementing RAID in solid state memory
US8074013B2 (en) 2009-09-21 2011-12-06 Skymedi Corporation Uniform coding system for a flash memory
US8094494B2 (en) 2009-10-09 2012-01-10 Macronix International Co., Ltd. Memory and operation method therefor
US8694853B1 (en) * 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8301828B2 (en) 2010-06-02 2012-10-30 Conexant Systems, Inc. Systems and methods for reliable multi-level cell flash storage
US8787057B2 (en) * 2012-08-15 2014-07-22 Apple Inc. Fast analog memory cell readout using modified bit-line charging configurations

Also Published As

Publication number Publication date
TW201320081A (zh) 2013-05-16
WO2013028434A3 (en) 2013-04-18
TW201320088A (zh) 2013-05-16
US8953372B2 (en) 2015-02-10
EP2562760A2 (en) 2013-02-27
WO2013028430A3 (en) 2013-04-18
WO2013028434A2 (en) 2013-02-28
TWI505274B (zh) 2015-10-21
EP2562760A3 (en) 2013-05-22
KR20130023107A (ko) 2013-03-07
KR101381005B1 (ko) 2014-04-04
US20120320672A1 (en) 2012-12-20
EP2562760B1 (en) 2016-04-06
WO2013028430A2 (en) 2013-02-28
US8493783B2 (en) 2013-07-23
EP2562759A2 (en) 2013-02-27
TWI498909B (zh) 2015-09-01
EP2562759A3 (en) 2013-05-22
US20130297989A1 (en) 2013-11-07
EP2562759B1 (en) 2019-01-02
KR101379543B1 (ko) 2014-03-28

Similar Documents

Publication Publication Date Title
KR101379543B1 (ko) 감소된 감지 시간 판독을 하는 메모리 장치
US8059457B2 (en) Memory device with multiple-accuracy read commands
US8068360B2 (en) Reading analog memory cells using built-in multi-threshold commands
US10056135B2 (en) Programming schemes for multi-level analog memory cells
US7924587B2 (en) Programming of analog memory cells using a single programming pulse per state transition
US9007797B2 (en) Selective activation of programming schemes in analog memory cell arrays
US8209588B2 (en) Efficient interference cancellation in analog memory cell arrays
US7773413B2 (en) Reliable data storage in analog memory cells in the presence of temperature variations
JP5536245B2 (ja) アナログメモリセルのための改良型プログラミング及び消去機構
US8400858B2 (en) Memory device with reduced sense time readout
US8000135B1 (en) Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US9595343B1 (en) Early prediction of failure in programming a nonvolatile memory
US8482978B1 (en) Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8787057B2 (en) Fast analog memory cell readout using modified bit-line charging configurations
US9779818B2 (en) Adaptation of high-order read thresholds

Legal Events

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

Payment date: 20170220

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180219

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20200227

Year of fee payment: 7