KR20040074979A - 쓰기 가능 추적 저장 장치 유닛의 에러 관리 - Google Patents

쓰기 가능 추적 저장 장치 유닛의 에러 관리 Download PDF

Info

Publication number
KR20040074979A
KR20040074979A KR10-2004-7006361A KR20047006361A KR20040074979A KR 20040074979 A KR20040074979 A KR 20040074979A KR 20047006361 A KR20047006361 A KR 20047006361A KR 20040074979 A KR20040074979 A KR 20040074979A
Authority
KR
South Korea
Prior art keywords
levels
storage units
relevant
level
data storage
Prior art date
Application number
KR10-2004-7006361A
Other languages
English (en)
Other versions
KR101009545B1 (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 KR20040074979A publication Critical patent/KR20040074979A/ko
Application granted granted Critical
Publication of KR101009545B1 publication Critical patent/KR101009545B1/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • 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
    • 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
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • G11C16/28Sensing or reading circuits; Data output circuits using differential sensing or reference cells, e.g. dummy cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/14Dummy cell management; Sense reference voltage generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Measurement Of Current Or Voltage (AREA)
  • Electrotherapy Devices (AREA)

Abstract

데이터 저장장치를 제공하는 데이터 저장장치 유닛들을 위한 로직 레벨의 구별에 있어 사용되는 저장된 레벨들(예를 들어, 관련 레벨들)을 위한 에러 관리를 지닌 메모리 시스템(예를 들어, 메모리 카드)에 관한 설명이다. 상기 저장된 레벨들은 메모리 시스템에서 미리 지정된 저장장치 유닛들(예를 들어, 쓰기 가능 추적 저장장치 유닛들)내에 저장될 수 있다. 상기 메모리 시스템은 특히 이진 또는 다중-상태 데이터 저장장치를 제공하는 비-휘발성 메모리 상품이다.

Description

쓰기 가능 추적 저장 장치 유닛의 에러 관리{ERROR MANAGEMENT FOR WRITABLE TRACKING STORAGE UNITS}
메모리 카드들은 일반적으로 다양한 상품들(예를 들어, 전기 제품들)과 함께 사용을 위한 디지털 데이터를 저장하기 위해 이용된다. 메모리 카드들의 예들은 상기 데이터를 저장하기 위한 플래쉬 타입 또는 EEPROM 타입 메모리를 이용하는 플래쉬 카드들이다. 플래쉬 카드들은 상대적으로 작은 형식 요소를 지니고 그리고 카메라, 핸드-헬드 컴퓨터, 셋-탑 박스, 핸드-헬드 또는 다른 작은 오디오 플레이어들/레코더들(예를 들어, MP3 장치) 그리고 의학 모니터들과 같은 상품들을 위한 디지털 데이터를 저장하기 위해 사용되어 왔다. 플래쉬 카드의 주된 공급자는 SanDisk Corporation of Sunnyvale, CA 이다.
이러한 메모리 카드들은 더 큰 데이터의 양을 저장하기 위해 계속적으로 요구되고 있다. 결과적으로, 이러한 메모리 카드들 이내의 개별적인 저장 장치 요소들은 효율적으로 다수의 데이터 비트들을 저장하기 위해 멀티 레벨들을 지원하기위해 개발되어 왔다. 기존의 저장장치 요소들은, 다수의 레벨 또는 고 밀도 저장장치 요소들이 두 상태 이상(예를 들어, 4 상태)을 저장하는 동안, 단지 두 가지 상태만을 저장했다. 예를 들어, 오늘 나의 다중-레벨 메모리 카드 내의 개별적 저장장치 요소들은 4개의 레벨들을 저장할 수 있고 따라서 효율적으로 단일 저장장치 요소가 데이터의 두 비트들과 같이 역할 하는 것을 가능하게 한다. 이러한 다중 레벨들이 메모리 배열이 크기나 가격 면에서 대응하는 증가 없이 더 많은 데이터의 양을 실질적으로 저장하는 것을 허용하는 동안, 상기 메모리 배열로부터 저장된 데이터를 읽어 내는 것은 더 어려운 일이다.
비-휘발성 메모리들이 매우 인기가 있고 이용하기 좋다. 왜냐하면, 그들은 파워가 오프 되고 있는 후에도 심지어 데이터를 보유하기 때문이다. 그러나 비-휘발성 메모리들의 충전 보유는 완전하지 않다. 결과적으로, 메모리 셀을 프로그래밍 한 후에, 상기 메모리 셀들의 전압은 가해진 바이어스 전압, 메모리 장치 내에서 발생한 전자기장 필드, 그리고 메모리 장치의 절연체 내에 갇힌 충전과 같은 다양한 영향에 기초하여 올라가거나 또는 떨어질 수 있다.
비-휘발성 메모리들이 각 저장장치 요소에서 다중-상태들을 지원 할 때, 다중-상태 메모리라 불린다. 관련 레벨들은 메모리 셀들로부터 데이터를 읽을 때 상기 상태들 간을 구별하는 것을 돕기 위해 필요하다. 관습적으로, 관련 셀들은 공장에서 프로그램 될 수 있는 글로벌 관련 전압을 저장하기 위해 메모리 장치 이내에서 사용되거나 또는 사용자 셀과 함께 또는 그 전에 쓰여 졌다. 그러나 정확한 방법내의 이러한 관련 전압들을 보상하기 위한 능력은 쓰인 추적 저장장치 유닛들간의 스레쉬홀드 전압/전류 분배들 때문에 어렵다. 상기 분배들은 초기에 쓰인 스레쉬홀드 전압/전류, 전압 방해, 환경적 민감도에 의한 변화에 의해 초래하는 물리적 변화들, 그리고 빌드-인(built-in) 전기적 또는 자기적 필드로부터 손실된 전하 내의 변화에 기인할 수 있다. 어떠한 경우이던지, 상기 결과는 읽기 작동들 동안 에러의 증가된 확률이다.
따라서 관련 레벨들을 확실히 저장하고 획득하기 위한 개선된 접근들을 위한 필요가 있으며, 그 결과 다중-상태 메모리 셀들의 상태들(로직 레벨들)은 상기 메모리 장치의 수명에 대해 확실히 회복할 수 있다.
당해 발명은 비-휘발성 데이터 저장장치, 보다 바람직하게는, 멀티-상태 포맷 내에 저장된 데이터를 읽기 위한 관련 레벨을 이용하는 메모리 시스템에 관한 것이다.
도 1 은 당해 발명의 한 실시예에 일치하는 메모리 시스템의 기능적 블락 다이어그램이다.
도 1B 는 당해 발명의 한 실시예에 일치하는 구별 레벨 프로세싱의 플로우 다이어그램이다.
도 2A 는 당해 발명의 한 실시예에 따른 읽기 요청 프로세싱의 플로우 다이어그램이다.
도 2B 는 당해 발명의 또 다른 실시예에 따른 읽기 요청 프로세싱의 플로우 다이어그램이다.
도 2C 는 당해 발명의 여전히 또 다른 실시예에 따른 읽기 요청 프로세싱 270의 플로우 다이어그램이다.
도 3 은 당해 발명의 또 다른 실시예에 따른 읽기 요청 프로세싱의 플로우 다이어그램이다.
넓게 말하자면, 당해 발명은 데이터 저장장치를 제공하는 데이터 저장장치 유닛들을 위한 논리 레벨들의 구별에서 사용되는 저장된 레벨들(예를 들어, 관련 레벨들)을 위한 에러 관리를 지닌 메모리 시스템(예를 들어, 메모리 카드)에 관한 것이다. 상기 저장된 레벨들은 상기 메모리 시스템 이내의 미리 지정된 저장장치 유닛들(예를 들어, 쓰기 가능 추적 유닛들) 내에 저장될 수 있다. 상기 메모리 시스템은 특히 이진의 또는 다중-상태 데이터 저장장치를 제공하는 비-휘발성 메모리 상품 또는 장치이다.
당해 발명은 다양한 방법들에서 구현될 수 있다. 예를 들어, 당해 발명은 시스템, 장치 또는 방법의 형태로 구현될 수 있다. 다양한 실시예들이 아래에 설명된다.
메모리 상품의 저장장치 유닛의 상태를 위한 구별 레벨들을 결정하기 위한방법으로서, 당해 발명의 한 실시예는, 다수의 미리 지정된 저장장치 유닛들로부터 저장된 레벨들을 읽는 단계, 상기 저장된 레벨들이 이탈되는지를 결정하는 단계, 상기 결정 단계가 이탈이 되는지를 결정하는 저장된 레벨 중의 하나 이상을 교정하는 단계, 그리고 상기 저장된 레벨들에 기초한 하나 이상의 구별 레벨들을 결정하는 단계들 이상을 포함한다.
메모리 장치에서 데이터 저장장치 유닛들과 사용되는 추적 저장장치 유닛들과 관련된 에러들을 관리하기 위한 방법으로서, 상기 방법의 한 실시예는, 다수의 추적 저장장치 유닛들로부터 관련 레벨들을 읽는 단계, 상기 관련 레벨들의 각각을 위한 퀄리티를 계산 하는 단계, 관련 레벨들 중의 어느 것을 위한 퀄리티가 허용가능한지를 결정하는 단계, 상기 결정 단계가 허용할 수 없도록 되는지를 결정하는 상기 관련 레벨들 중의 하나 이상을 교정하는 단계, 그리고 상기 관련 레벨들에 기초한 추적 저장장치 유닛들과 관련된 데이터 저장장치 유닛들을 위한 구별 레벨들을 결정하는 단계들 이상을 포함한다.
데이터 저장장치 유닛들과 관련된 추적 저장장치 유닛들을 지니는 메모리 장치로부터 데이터를 읽기 위한 방법으로서, 당해 발명의 한 실시예는, 특정 데이터 저장장치 유닛들과 특정 데이터 저장장치 유닛들과 관련된 추적 저장장치 유닛들로부터 관련 레벨들로부터 데이터 레벨들을 실질적으로 동시에 읽는 단계, 상기 관련 레벨들로부터 처리된 관련 레벨을 컴퓨팅 하는 단계, 상기 처리된 관련 레벨에 기초한 상태 구별 레벨들을 결정하는 단계, 리퀘스터(requestor)를 위한 읽기 데이터를 요구하기 위해 상태 구별 레벨에 기초한 특정 데이터 저장장치 유닛들로부터 상기 데이터 레벨들의 상태들을 구별하는 단계, 상기 구별 단계와 실질적으로 동시에 발생하는 상기 관련 레벨들의 퀄리티 평가 단계, 상기 관련 레벨들의 퀄리티가 허용 가능한지를 결정하는 단계, 상기 읽기 데이터를 상기 결정 단계가 상기 관련 레벨의 퀄리티가 허용 가능하다고 결정하는 때에 리퀘스터로 향하는 단계, 그리고 상기 결정 단계가 상기 관련 레벨들의 퀄리티가 허용가능하지 않다고 결정할 때 관련 레벨들 중의 하나 이상을 교정하는 단계들 이상의 단계를 포함한다.
데이터 저장장치 유닛들과 관련된 추적 저장장치 유닛들로부터 데이터를 읽기 위한 방법으로서, 당해 발명의 또 다른 실시예는, 특정 데이터 저장장치 유닛들과 상기 특정 데이터 저장장치 유닛들과 관련된 추적 저장장치 유닛들로부터 데이터 레벨들을 실질적으로 동시에 읽는 단계, 상기 관련 레벨로부터 처리된 관련 레벨을 컴퓨팅 하는 단계, 상기 처리된 관련 레벨에 기초한 상태 결정 레벨들을 결정하는 단계, 리퀘스터를 위한 읽기 데이터를 획득하기 위한 상기 상태 구별 레벨들에 기초한 특정 데이터 저장장치 유닛들로부터 상기 데이터 레벨의 상태들을 구별하는 단계, 상기 관련 레벨들의 퀄리티를 계산하는 단계, 상기 관련 레벨들의 퀄리티가 허용가능한지를 결정하는 단계, 상기 결정 단계가 상기 관련 레벨들의 퀄리티가 허용 가능한지를 결정할 때 보내는 것을 멈추는 단계, 그리고 상기 결정 단계가 상기 관련 레벨의 퀄리티가 허용가능하지 않은 것을 결정할 때 상기 관련 레벨들 중의 하나 이상을 교정하는 단계들 이상을 포함한다.
데이터 저장장치 유닛들과 관련된 추적 저장장치 유닛들을 지니는 메모리 장치로부터 데이터를 읽기 위한 방법으로, 당해 발명의 또 다른 실시예는, 특정 데이터 저장장치 유닛들과 상기 특정 데이터 저장장치 유닛들과 관련된 추적 저장장치 유닛들로부터 관련 레벨들로부터 데이터 레벨들을 실질적으로 동시에 읽는 단계, 상기 관련 레벨로부터 처리된 관련 레벨을 컴퓨팅 하는 단계, 상기 처리된 관련 레벨에 기초한 상태 구별 레벨들을 결정하는 단계, 리퀘스터를 위한 읽기 데이터를 획득하기 위한 상태 구별 레벨들에 기초한 특정 데이터 저장장치 유닛들로부터 데이터 레벨의 상태들을 구별하는 단계, 상기 관련 레벨들의 퀄리티를 평가하는 단계, 상기 관련 레벨들의 퀄리티가 허용가능한지를 결정하는 단계, 상기 읽기 데이터를 상기 결정 단계가 상기 관련 레벨의 퀄리티가 허용가능하다고 결정할 때 상기 리퀘스터에 의해 수신되어온 읽기 데이터를 취소하는 단계, 그리고 상기 결정 단계가 상기 관련 레벨의 퀄리티가 허용가능하지 않다고 결정할 때 상기 관련 레벨들 중의 하나 이상을 교정하는 단계 들 이상을 포함한다.
데이터 저장장치 유닛들 그리고 관련된 추적 저장장치 유닛들을 지니는 메모리 장치로부터 데이터를 읽기 위한 방법으로, 당해 발명의 또 다른 실시예는, 카운트를 초기화 하는 단계, 상기 특정 데이터 저장장치 유닛들과 관련된 추적 저장장치 유닛들로부터 관련 레벨들과 특정 데이터 저장장치 유닛들로부터 데이터 레벨들을 읽는 단계, 상기 관련 레벨들로부터 처리된 관련 레벨을 컴퓨팅 하는 단계, 상기 처리된 관련 레벨에 기초한 상태 구별 레벨들을 결정하는 단계, 리퀘스터를 위한 읽기 데이터를 획득하기 위해 상태 구별 레벨들에 기초한 특정 데이터 저장장치 유닛들로부터 데이터 레벨들의 상태들을 구별하는 단계, 상기 관련 레벨들의 퀄리티를 평가하는 단계, 상기 관련 레벨들의 퀄리티가 허용가능한지를 결정하는 단계,카운트 제한과 함께 카운트를 비교하는 단계, 상기 관련 레벨들의 퀄리티가 허용가능하지 않고, 상기 카운트가 상기 카운트 제한을 초과하지 않음이 결정될 때 상기 관련 레벨들 중의 하나 이상을 교정하는 단계, 사기 카운트를 업데이트 하는 단계, 상기 관련 레벨들의 퀄리티가 허용가능하지 않고 그리고 상기 카운트가 상기 카운트 제한을 초과하지 않음이 결정 될 때 한 번 이상의 횟수들의 활동들의 비교를 통해 컴퓨팅 하는 것을 반복하는 단계, 그리고 상기 관련 레벨의 퀄리티가 허용가능하거나 또는 상기 카운트가 상기 카운트 제한을 초과하지 않음이 결정 될 때 상기 리퀘스터로 읽기 데이터를 향하는 단계들 이상을 포함 한다.
메모리 시스템으로서, 당해 발명의 한 실시예는, 비-휘발성 방법 내의 다중-상태 데이터 저장장치를 제공하는 다수의 데이터 저장장치 유닛들, 비-휘발성 방법 내의 관련 레벨들을 위한 저장장치를 제공하는 다수의 추적 저장장치 유닛들, 상기 관련 레벨들의 퀄리티를 평가하는 관련 레벨 에러 관리자, 그리고 상기 데이터 저장장치 유닛들과 상기 추적 저장장치 유닛들과 관련된 읽기, 쓰기 그리고 지우기 작동들을 제어하는 메모리 제어기 이상을 포함한다. 상기 메모리 제어기는 상태 구별 레벨들을 상기 데이터 저장장치 요소들이 읽히고 있는지를 결정하기 위해 이용한다. 상기 메모리 시스템은 또한 다수의 상기 관련 레벨들에 기초한 상기 메모리 제어기에 의해 이용을 위해 상태 구별 레벨들을 결정하기 위해 상태 구별 레벨 회로를 포함한다.
당해 발명의 다른 측면들과 이점들은 당해 발명의 원리들을, 실시예를 통해 설명하는 첨부하는 도면과 일치하는 상세한 설명을 통해 명백해질 것이다.
당해 발명은 데이터 저장장치를 제공하는 데이터 저장장치를 위한 논리 레벨의 구별에서 사용되는 저장된 레벨들(예를 들어, 관련 레벨들)을 위한 에러 관리를 지닌 메모리 시스템(예를 들어, 메모리 카드)에 관한 것이다. 상기 저장된 레벨들은 메모리 시스템 내의 미리 지정된 저장장치 유닛들(예를 들어, 쓰기 가능 추적 저장장치 유닛들) 내에 저장될 수 있다. 상기 메모리 시스템은 특히 비-휘발성 메모리 상품이거나 또는 이진 다중-상태 데이터 저장장치를 제공하는 장치이다.
상기 메모리 시스템은, 예를 들어, 메모리 카드(플러그-인 카드와 같은), 메모리 스틱, 또는 일부 다른 반도체 메모리 상품과 관련될 수 있다. 메모리 카드들의 실시예들은 PC 카드(이전의 PCMCIA 장치), 플래쉬 카드, 플래쉬 디스크, 멀티미디어 카드, 그리고 ATA 카드를 포함한다.
당해 발명의 이 측면의 실시예들이 도 1A에서 3과 관련하여 아래에 설명되었다. 그러나 당업자들은 이러한 도면들과 관련된 여기서 주어진 상세한 설명을 이미 이해하고 있을 것이다.
도 1A 는 당해 발명의 한 실시예에 따른 메모리 시스템(10)의 기능적 블락 다이어그램이다. 상기 메모리 시스템910)은 다중-상태 저장장치를 이용하는 고 밀도 데이터 저장장치를 제공한다. 상기 메모리 시스템(10)은 메모리 시스템(10)을 위한 작동들(예를 들어, 읽기, 지우기, 프로그램)을 제어하는 메모리 제어기(12)를 포함하고, 데이터 버스(13)를 통해 호스트와 통신한다. 상기 메모리 시스템(10)은 또한 비-휘발성 형태 내의 메모리 시스템(10)을 위한 데이터를 저장하는 다중-상태 데이터 저장장치 유닛들(14)(예를 들어, 메모리 셀들)을 포함한다. 상기 다중-상태 데이터 저장장치 유닛들(14)은 데이터를 위한 고 밀도 저장장치를 제공한다. 왜냐하면 각 데이터 저장장치 유닛(데이터 저장장치 요소)은 두 상태들 이상을 저장할 수 있다. 다른 말로, 각 데이터 저장장치 유닛(예를 들어, 메모리 셀)은 한 비트 이상의 데이터를 저장할 수 있는 능력이 있다. 상기 다중-상태 데이터 저장장치 유닛들(14)은 특히 블락들 내에 배열되고, 이는 한 실시예 내의 가장 작은 쓰기 유닛을 표현한다.
상기 메모리 시스템(10)은 또한 비-휘발성 형태 내의 관련 레벨을 저장하는 추적 저장장치 유닛들(16), 관련 레벨 에러 관리자(18) 그리고 상태 구별 레벨 회로(20)를 포함한다. 상기 추적 저장장치 유닛들(16)은 다중-상태 데이터 저장장치 유닛들(14)과 관련된다. 보다 바람직하게, 다수의 추적 저장장치 유닛들(16)은 다중-상태 데이터 저장장치 유닛들(14) 내의 각 메모리 블락과 관련된다. 쓰이고 있는 데이터 블락들과 관련된 상기 추적 저장장치 유닛들(16)은 관련 레벨들과 함께 재-프로그램 된다. 각 시간에서 블락과 관련된 상기 다중-상태 데이터 저장장치 유닛들(14)이 쓰인다. 특히, 상기 추적 저장장치 유닛들(16)은 고정된, 다중-상태 데이터 저장장치 유닛들(14)이 관련 레벨들과 재-프로그램 됨과 동시에 글로벌 관련 레벨들과 함께 재-프로그램 된다. 추적 저장장치 유닛들(16) 내의 상기 저장된 관련 레벨들은 상기 데이터 저장장치 유닛들(14) 그리고 상기 추적 저장장치 유닛들(16) 양자 간에 의해 상태(로직 레벨) 구별 내에서 사용되는 스레쉬홀드 레벨들(예를 들어, 전압 스레쉬홀드)을 세트하기 위해 사용된다. 추적 저장장치 유닛들로 저장된 상기 관련 레벨들은 매번 읽기이며, 상기 데이터 저장장치 유닛들(14)은 읽기이다. 그리고 이러한 관련 레벨들(예를 들어, 스레쉬홀드 전압들)은 상기 데이터 저장장치 유닛들(14)의 저장된 논리 레벨을 결정하기 위해 이용된다.
비-휘발성 메모리 셀들이 수행된 다수의 프로그램/지우기 사이클들의 함수로서 변하는 전하 보존 특징들을 지닌다. 데이터 저장장치 유닛들과 관련된 매번의 추적 저장장치 유닛들(16)을 재-프로그래밍 함으로써 유닛들(14)은 프로그램 되고, 상기 추적 저장장치 유닛들(16)은 동일한 히스토리와 데이터 유닛들(14)과 관련되는 것과 같은 그것의 동일한 전하 보유 특징들을 개발한다. 다른 말로, 지워진 추적 저장장치 유닛들(16)을 지님으로써 그리고 대응하는 데이터 저장장치 유닛과 같은 동일한 횟수만큼 재-프로그램 함으로써, 전하 보유에 대한 상기 사이클링 의존성은 상기 데이터 저장장치 유닛들(14) 내에 저장된 논리 레벨들을 구별하기 위한 효율적인 스레쉬홀드 마진이 유지되도록 허용되는 것이 설명된다. 결과적으로, 전하 손실에 따른 상기 데이터 저장장치 유닛들(14)의 효율적 스레쉬홀드 마진의 강하는 감소된다. 따라서 상기 데이터 저장장치 유닛들(14)을 위한 저장된 논리 레벨들의 결정은 메모리 장치의 수명에 대해 실질적으로 수행될 수 있다.
당해 발명의 한 실시예에 따라, 다수의 상기 추적 저장장치 유닛들(16)은 모든 시간에서 미리 지정된 상태로 쓰이고, 상기 관련된 데이터 저장장치 유닛들(14)이 쓰인다. 상기 관련된 데이터 저장장치 유닛들(14)이 읽혀질 때, 상기 관련 레벨들은 그곳에서 함께 관련된 다수의 추적 저장장치 유닛들(16)로부터의 읽혀지며 그리고 구별 포인트들(상태 구별 레벨들)을 결정하기 위해 상태 구별 레벨 회로에 의해 사용된다. 일단 상기 구별 포인트들이 결정되면, 상기 메모리 제어기(12)(또는 상기 데이터 저장장치 유닛들 그 자체)는 상기 데이터 저장장치 유닛들(14) 이내의 저장된 논리 레벨들을 결정할 수 있다. 상기 결정이 결정되고 있음에 따라 또는 상기 데이터 저장장치 유닛들 내에 저장된 상기 로직 레벨들이 구별 포인트들을 이용하여 결정되고 있음에 따라, 상기 관련 레벨들의 퀄리티는 상기 관련 레벨 에러 관리자(18)에 의해 실행될 수 있다. 허용할 수 없는 퀄리티를 지닌 관련 레벨을 지니기 위해 결정되는 상기 추적 저장장치 레벨로부터의 상기 관련 레벨들 중의 어느것이든 수정될 수 있다.(예를 들어, 버려지거나 또는 대체된다.). 그 이후, 새로운 구별 포인트들은 허용할 수 있는 퀄리티를 지닌 추적 저장장치 유닛들(14)로부터 상기 관련 레벨들을 이용하는 상기 상태 구별 레벨 회로(20)에 의해 결정된다. 상기 새로운 구별 포인트들은 그 후 상기 데이터 저장장치 유닛들(16)로부터 상기 저장장치 로직 레벨들을 추출하기 위해 사용된다.
상기 관련 레벨 에러 관리자(18)와 상기 상태 구별 레벨 회로(20)가 분리된 성분들로 보임에도 불구하고, 이러한 성분들을 위한 회로는 함께 결합될 수 있거나 또는 메모리 제어기(12)로 결합될 수 있다. 일반적으로, 상기 메모리 시스템(10)은 고 밀도와 비-휘발성 데이터 저장장치를 제공하고 다양한 방법에서 구현될 수 있다. 예를 들어, 상기 메모리 시스템(10)은 메모리 카드(예를 들어, 플러그-인 카드), 메모리 스틱, 또는 일부의 다른 반도체 메모리 상품으로서 구성될 수 있다.
도 1B는 당해 발명의 한 실시예에 따른 분배 레벨 프로세싱(100)의 플로우 다이어그램이다. 상기 구별 레벨 프로세싱(100)은, 예를 들어, 다중-상태 저장장치(예를 들어, 메모리 시스템(10))를 제공하는 메모리 시스템에 의해 수행된다. 다중-상태 저장장치와 함께, 더 높은 밀도 저장장치 용량은 각 데이터 저장장치 유닛(데이터 저장장치 요소)은 두 상태들보다 더 많은 저장의 능력이 있기 때문에 데이터를 위해 이용 가능하다. 다른 말로, 각 데이터 저장장치 유닛(예를 들어, 메모리 셀)은 하나 이상의 데이터 비트를 저장하는 능력이 있다. 그러므로 상기 데이터 저장장치 유닛들은 다중-상태 데이터 저장장치 유닛들로서 언급될 수 있다.
상기 구별 레벨 프로세싱(100)은 추적 저장장치 유닛들로부터 관련 레벨들을처음으로 읽는다. 상기 추적 저장장치 유닛들은 다중-상태 저장장치에 의해 지원되는 다양한 상태들 간을 구별하기 위해, 차례로, 사용되는 구별 레벨들을 결정함에 있어 사용되는 관련 레벨들을 지원하기 위해 상기 메모리 시스템 내에서 제공된다. 관련 레벨들을 상기 추적 저장장치 유닛들로부터 읽은(102) 후에, 상기 관련 레벨들의 퀄리티는 평가된다(104). 여기서, 상기 관련 레벨의 퀄리티는 이러한 관련 레벨들이 강등할 수 있거나 또는 다양한 영향들에 의해 붕괴될 수 있는 이래로 얼마나 관련 레벨들이 신뢰할 수 있는지의 측정이다.
다음으로, 결정(106)은 관련 레벨의 퀄리티가 허용가능한지를 결정하기 위해 만들어진다. 상기 결정(106)이 상기 관련 레벨들의 퀄리티가 허용가능하지 않다고 결정 할 때, 상기 결정 레벨 프로세싱(100)은 허용 가능하지 않는 관련 레벨의 퀄리티를 위해 수정하도록(110) 작동한다. 한 실시예에서, 상기 수정(110)은 허용가능하지 않는 퀄리티를 지닌 하나 이상의 관련 레벨들을 변경하거나 또는 제거하기 위해 작동할 수 있다.
또 다른 방법으로, 상기 결정(106)이 관련 레벨들의 퀄리티가 허용가능하다고 결정할 때(또는 허용가능하지 않는 퀄리티를 지닌 관련 레벨로 수정(110)한 다음에), 상기 관련 레벨들은 그의 작동 내의 메모리 시스템에 의해 이용될 수 있다. 즉, 상기 결정(106)이 상기 관련 레벨의 퀄리티가 허용가능하다고 결정한 후에(또는 상기 관련 레벨의 퀄리티가 허용가능하지 않을 때 수정(110)한 후에), 상태 구별 레벨들이 결정된다(108). 여기서, 상기 추적 저장장치로부터 획득된 상기 관련 레벨들은 상태 구별 레벨들을 결정하기 위해 사용된다. 이러한 상태 구별 레벨들은그 후 다중-상태 데이터 저장장치 유닛들에 저장될 수 있는 다른 상태 들 간을 구별하기 위해 메모리 시스템에 의해 이용된다. 상기 메모리 시스템의 각 데이터 저장장치 유닛(예를 들어, 메모리 셀)은 하나 이상의 두 개의 상태들에 대응하는 전하 양을 저장할 수 있다. 그러므로 상기 상태 구별 레벨들은 상기 메모리 시스템 또는 다른 회로가 주어진 데이터 저장장치 유닛이 존재하는 특정 상태를 결정하는 것을 허용하는 전류 또는 전압 레벨들을 제공할 수 있다. 작동(108)에 이어, 상기 구별 레벨 프로세싱(100)은 완전해지고 끝난다.
도 2A 는 당해 발명의 한 실시예에 따른 읽기 요청 프로세싱(200)의 플로우 다이어그램이다. 상기 읽기 요청 프로세싱(200)은, 예를 들어, 리퀘스터가 상기 메모리 시스템 이내의 저장장치 위치들로부터 데이터를 읽기위해 요청해올 때 다중-상태 데이터 저장장치 유닛들을 지닌 메모리 시스템에 의해 수행된다.
상기 읽기 요청 프로세싱(200)은 데이터 저장장치 유닛들로부터 데이터 레벨들과 마찬가지로 추적 저장장치 유닛들로부터 관련 레벨들을 처음으로 읽는다. 여기서, 상기 관련 레벨들은 읽혀지고 있는 상기 데이터 레벨들을 붙잡는 데이터 저장장치 유닛들과 관련된 추적 저장장치 유닛들로부터 읽혀진다. 게다가, 상기 관련 레벨들은 상기 데이터 레벨들이 읽히는 것과 실질적으로 같은 시간에 읽혀진다. 상기 관련 레벨들은 하나 이상의 레벨들에 속할 수 있다. 한 실시예에서, 다수의 추적 저장장치 유닛들은 개선된 신뢰도를 위해 동일한 관련 레벨을 저장한다. 한 실시예에서, 예를 들어, 두 개 이상(예를 들어, 16)의 추적 저장장치 유닛들은 동일한 관련 레벨을 저장하기 위해 사용된다. 상기 추적 저장장치 유닛들이 그들과 관련된 데이터 저장장치 유닛들이 쓰이고, 지워지고 또는 읽히고 그리고 따라서 상기 관련 데이터 저장장치 유닛들의 사용을 "추적" 할 때 상기 추적 저장장치 유닛들은 쓰이고, 지워지고 그리고 읽힌다. 결과적으로, 상기 추적 저장장치 유닛들은 동일한 히스토리와 그것의 상기 데이터 저장장치 유닛들과 마찬가지로 동일한 전하 보유 특징들을 발전시킨다. 게다가, 상기 추적 저장장치 유닛들은 상태 감지에 영향을 미칠 수 있는 전압 그리고 온도와 같은 동일한 조작상의 조건을 겪는다. 결과적으로, 상기 데이터 저장장치 유닛들 내에 저장된 상기 데이터 레벨들의 구별이 더욱 신뢰할 수 있도록 만들어진다.
다음으로, 평균 관련 레벨이 계산된다(204). 여기서, 읽혀지는(202) 상기 관련 레벨들은 평균 관련 레벨을 생성하기 위해 평균될 수 있다. 상기 평균 관련 레벨이 계산된 후(204), 상태 구별 레벨들이 상기 평균 관련 레벨에 기초하여 결정된다(206). 위에서 살펴본 바와 같이, 상태 구별 레벨들은 다중-상태 데이터 저장장치 유닛들에 의해 지원되는 다양한 상태들 간을 구별하기 위해 메모리 시스템에 의해 이용된다.
일단 상기 상태 구별 레벨들이 결정되면(206), 데이터 저장장치 유닛들의 상태는 읽기 데이터를 얻기 위해 상기 추적 저장장치로부터 상기 상태 구별 레벨들과 상기 데이터 저장장치 유닛들로부터 상기 데이터 레벨들을 이용하도록 구별 될 수 있다. 여기서, 이전의 읽기 데이터 레벨들(작동 202)은 상기 상태 구별 레벨들의 이용에 의해 데이터 저장장치 유닛들을 위해 상태를 구별하기 위해 검사될 수 있다. 상기 상태들의 구별(208)은, 효율적으로, 메모리 시스템이 읽기 요청프로세싱(200)에 의해 읽혀지는 상기 읽기 데이터를 획득하는 것을 허용한다. 실질적으로, 상기 구별 (208)과 동시에, 상기 읽기 요청 프로세싱(200)은 또한 상기 관련 레벨들의 퀄리티를 평가한다. 한 실시예에서, 관련 레벨들의 퀄리티의 평가는 특히 상기 관련 레벨들의 각각에서 수행된다. 그러나 다른 실시예에서, 상기 관련 레벨들의 퀄리티는 그룹과 같이 두 개 이상의 관련 레벨에 기초하여 대신 수행될 수 있었다.
작동 (208과 210)에 뒤이어, 상기 결정(212)은 상기 관련 레벨의 퀄리티가 허용 가능한지를 결정한다. 상기 결정(212)이 상기 퀄리티가 허용가능하지 않다고 결정하면, 상기 읽기 요청 프로세싱(200)은 낮은 퀄리티를 지닌 관련 레벨을 수정하기(214) 위해 작동한다. 여기서, 상기 수정(214)은 낮은 퀄리티를 지닌 하나 이상의 관련 레벨들을 다른 방법으로 제거, 대체 또는 변경하기 위해 작동할 수 있다. 상기 작동(214)이후, 읽기 요청 프로세싱(200)은 상기 작동(204)과 연속하는 작동들을 반복하기 위해 되돌아가고, 그 결과 상기 상태 구별 레벨들은 수정(214)이후의 상기 관련 레벨들에 기초하여 재-결정되거나 이용될 수 있다. 대안적으로, 상기 결정(212)이 상기 퀄리티가 허용가능하다고 결정하면, 그 때는 상기 읽기 데이터는 읽기 작동을 위해 리퀘스터로 보내질 수 있다. 특히, 상기 리퀘스터는 메모리 시스템을 이용하는 호스트 장치이다. 상기 작동(216)이후에, 상기 읽기 요청 프로세싱(200)은 완전해지고 끝난다.
실질적으로 동시에 평가(210)와 구별(208)을 수행함으로써, 상기 관련 레벨의 퀄리티의 평가(210)는 상기 읽기 추적 셀 퀄리티가 허용가능하다고 간주될 때마다 상기 읽기 요청 프로세싱(200)에 대한 수행 페널티 없이 수행될 수 있다. 최적으로 디자인 되고 그리고 제조된 메모리 시스템과 함께, 상기 관련 레벨들은, 대부분의 경우, 처음의 읽기와 같이 허용 가능한 퀄리티를 지닌다. 따라서 상기 관련 레벨의 퀄리티의 평가가 메모리 시스템의 수행(즉, 읽기 수행)에 상당한 영향을 끼치지 못할 것이다. 드문 경우에서, 하나 이상의 관련 레벨들이 허용 가능하지 않는 퀄리티를 지닐 때, 수행 영향은 상기 관련 레벨들이 수정되어야만 하고(214) 그리고 그 후 작동들(204~208)은 다시 수행되어야만하기 때문에 부가될 것이다. 그러나 그것의 희소성 때문에, 상기 수행 영향은 최소화 된다.
도 2B는 당해 발명의 또 다른 실시예에 따른 읽기 요청 프로세싱(250)의 플로우 다이어그램이다. 상기 읽기 요청 프로세싱(250)은 일반적으로 작동들(202-210)의 다양한 작동에 대해 도 2A에서 표시된 읽기 요청 프로세싱(200)과 유사하다. 그러나 상기 읽기 요청 프로세싱(250)은 평가(210)가 끝나기 전에 상기 구별(208)을 끝내는 때에 또 다른 실시예에 속한다. 그러므로 이 실시예에서, 상기 읽기 데이터는 상기 평가가 진행하는 것으로 유지되는 동안 상기 리퀘스터로 송신되어지고 있는 것을 시작할 수 있다. 여기서, 필요하다면, 상기 평가(210)는 또한 상기 리퀘스터로 읽기 데이터의 보내짐의 일부 부분과 동시에 수행될 수 있다. 보다 바람직하게는, 상기 데이터 저장장치 유닛들의 상태의 구별(208)에 뒤따라, 결정(252)은 상기 관련 레벨들의 퀄리티가 허용 가능한지를 결정한다. 상기 결정(252)이 상기 관련 레벨들의 퀄리티가 허용 할 수 없다고 결정할 때, 리퀘스터로 이미 보내진 읽기 데이터 중의 어느 것이던지 취소된다(254). 여기서, 상기 평가(210)가 상기 구별(210)이 다 수행될 때 수행되지 않기 때문에, 상기 읽기 데이터는 리퀘스터로 그의 전송을 시작할 수 있다. 만일 상기 구별(208) 상태들을 결정함에 있어 사용되는 상기 관련 레벨들의 퀄리티가 허용가능하지 않다고 판명되면, 이런 관점에서 보내어진 상기 읽기 데이터는 취소된다(254). 다음으로, 상기 읽기 요청 프로세싱(250)은 낮은 퀄리티와 함께 상기 관련 레벨을 위해 수정을 한다(256). 다시, 상기 수정(256)은 낮은 퀄리티를 지닌 상기 하나 이상의 관련 레벨들을 조정하거나 또는 제거하는 것에 속할 수 있다. 상기 작동(256)이후에, 상기 읽기 요청 프로세싱(250)은 상기 결정 그리고 연속되는 작동들을 반복하기 위해 되돌아오고 그 결과 상기 관련 레벨들은, 수정된 것과 마찬가지로, 상기 상태 구별과 그리고 상기 다중-상태 데이터 저장장치 유닛들로부터 읽기 데이터를 재-결정함에 있어 이용될 수 있다.
반면, 상기 결정(252)이 관련 레벨의 퀄리티가 허용 가능하다고(처음부터 그렇다고 가정하면) 결정할 때, 상기 읽기 데이터는 상기 리퀘스터 쪽으로 보내는 것을 시작할 수 있다. 이 지점에서, 상기 다중-데이터 저장장치 유닛들의 상태는 작동(208)에서 설립되어왔고, 따라서 상기 읽기 데이터의 보냄은 진행 될 수 있다. 일반적으로, 상기 결정(252)은 상기 데이터의 전송(258)과 함께 비동기적으로 수행된다. 상기 작동(258) 이후에, 결정(260)은 상기 읽기 데이터의 전송이 완성되었는지를 결정한다. 상기 결정(260)이 상기 읽기 데이터가 상기 리퀘스터로 완전히 보내지지 않았다고 결정할 때에, 상기 읽기 요청 프로세싱(250)은 상기 결정(252)과 연속하는 작동들을 반복하기 위해 되돌아오고 그 결과 상기 읽기 데이터의전송(258)은 작동(254)에서 취소되든지 또는 상기 결정(260)에서 완성될 때까지 계속 될 수 있다. 일단 상기 읽기 데이터의 전송이 완성된 후에는(취소됨 없이), 상기 읽기 요청 프로세싱(250)은 상기 읽기 요청이 완전히 진행된 것과 같이 완전해 지고 끝난다.
도 2C는 당해 발명의 또 다른 실시예에 따른 읽기 요청 프로세싱(270)의 플로우 다이어그램이다. 상기 읽기 요청 프로세싱(270)은 일반적으로 다양한 작동들과, 즉 작동들(202-216), 관련된 도 2A에 표시된 읽기 요청 프로세싱(200)과 유사하다. 그러나 상기 읽기 요청 프로세싱(270)은 또한 루프 제어 특징을 포함한다. 상기 루프 제어 특징은 작동들(204-212)이 반복될 수 있는 횟수를 제어한다. 다른 말로, 수행 이유를 위해, 충분한 퀄리티를 획득하기 위한 시도에서 소비 될 수 있는 시간을 제한하는 것이 바람직하다. 읽기 요청 프로세싱(270)에 따라, 상기 프로세싱의 시작에 기초하여, 카운트는 미리 지정된 값(예를 들어, "0")까지 초기화 된다(272). 그 후, 작동들(208 그리고 210) 그 후에, 결정(274)은 카운트(예를 들어, 루프 카운트)가 루프 제한(예를 들어, "1")보다 더 큰가를 결정한다. 상기 카운트가 상기 루프 제한보다 크지 않으면, 작동(212)은 수행될 수 있다. 상기 결정(212)이 상기 퀄리티가 허용 가능하지 않다고 결정할 때, 상기 작동(214)은 수행될 수 있다. 작동(214)에 뒤이어, 작동(204)로 루프가 되돌아가기 전에, 상기 카운트는 증가된다(276). 따라서 상기 루프 제한은 읽기 요청 프로세싱(270)을 상기 퀄리티가 허용가능하다고 여겨지지 않는 경우까지도 리퀘스터(또는 읽기 요청 프로세싱(270)을 끝낸다)로 읽기 데이터를 보내기 위해 읽기 요청 프로세싱(270)을 일으킬 수 있다. 상기 루프 제어 특징은 또한 도 2B의 읽기 요청 프로세싱(250)과 함께 사용될 수 있다.
여전히, 도 2A, 2B, 그리고 2C에서 상기 읽기 요청 프로세싱(200,250 그리고 270)이 작동(204)에서 평균 관련의 계산을 표시한다. 그러한 계산은 평균을 제한하지 않는다. 보다 일반적으로, 상기 관련 레벨들은, 예를 들어, 최소, 최대, 평균 제곱근, 피크, 평균, 메디안, 모듈로스 그리고/또는 선형 회귀와 같은 다양한 방법의 형태로 수학적으로 처리될 수 있다(예를 들어, 통계적으로 처리된다). 관련 레벨들에서 수행되는 수학적 프로세싱과 관계없이, 상기 상태 구별 레벨들은 그 후 상기 처리된 관련 레벨에 기초하여 결정된다. 위에서 살펴본 바와 같이, 상기 상태 구별 레벨들은 상기 다중-상태 데이터 저장장치 유닛들에 의해 지원되는 다양한 상태들 간을 구별하기 위해 메모리 시스템에 의해 이용될 수 있다.
도 2A, 2B 그리고 2C에 표시된 상기 읽기 요청 프로세싱(200, 250 그리고 270)은 각각, 일반적으로 동일한 레벨을 효율적으로 저장하는 다수의 관련 레벨들로부터 획득된 단일 관련 레벨의 이용을 언급한다. 그러나 반드시 명심할 것은 상기 읽기 요청 프로세싱은 상기 다중-상태 메모리에 의해 이용되는 다수의 상태 구별 레벨들을 결정하기 위해 두 개 이상의 관련 레벨들을 이용한다. 이런 관점에서, 설립된 상기 관련 레벨들을 각각을 위한, 동일한 관련 레벨을 저장하는 다수의 추적 저장장치 유닛들이 사용된다. 예를 들어, 상기 추적 저장장치 유닛들로부터 상기 관련 레벨을 읽을 때, 제 1 다수의 추적 저장장치 유닛들은 제 1 다수의 관련 레벨에 대응하고 그리고 만일 둘 이상의 평균 관련 레벨들이 이용된다면 제 2 다수의 추적 저장장치 유닛들은 제 2 관련 레벨에 속하게 되는 등이다. 상기 상태 구별 레벨들의 구별은 그 이후 하나 이상의 관련 레벨들을 이용할 수 있다. 대안적으로, 관련 레벨들의 범위를 확장하기 위한 상기 추적 저장장치 유닛들 세트의 전체 모집단은, 예를 들어, 선형 회귀 방법론을 이용하여, 앙상블로서 통계적으로 처리될 수 있다.
당해 발명의 또 다른 실시예에 따르면, 메모리 시스템은 데이터를 읽을 때 또한 에러 수집 코드(ECC)들을 이용할 수 있다. ECC는 잘 알려져 있고 그리고 종종 증가된 신뢰성과 함께 데이터를 읽는 것을 가능하게 하도록 사용된다. ECC는 얼마나 자주 상기 퀄리티 평가 그리고/또는 관련 레벨들이 수정될 필요가 있는지를 최소화 하도록 사용된다. 상기 퀄리티 평가 그리고/또는 수정 프로세싱이 계산적 자원들과 시간을 요구하기 때문에, 그들의 이용을 최소화 하는 것은 상기 프로세싱에 의해 일어나는 수행 강하하는 것을 줄인다.
도 3은 당해 발명의 또 다른 실시예에 따른 읽기 요청 프로세싱(300)의 플로우 다이어그램이다. 상기 읽기 요청 프로세싱(300)은, 예를 들어, 상기 리퀘스터(예를 들어, 호스트)가 상기 메모리 시스템 이내의 저장장치 위치들로부터 데이터를 읽기 위해 요청되는 때에 다중-상태 데이터 저장장치 유닛들을 지니는 메모리 시스템에 의해 수행된다.
상기 읽기 요청 프로세싱(300)은 데이터 저장장치 유닛들로부터 데이터 레벨들과 마찬가지로 추적 저장장치 유닛들로부터 관련 레벨들을 처음으로 읽는다(202). 여기서, 상기 관련 레벨들은 읽혀지고 있는 상기 데이터 레벨들을 붙잡는 상기 데이터 저장장치 유닛들과 관련된 상기 추적 저장장치 유닛들로부터 읽혀진다. 게다가, 상기 관련 레벨들은 상기 데이터 레벨들이 읽혀지는 것과 실질적으로 동일한 시간에 읽혀진다. 상기 관련 레벨들은 하나 이상의 레벨들에 속할 수 있다. 한 실시예에서, 다수의 추적 저장장치 유닛들은 개선된 신뢰도를 위해 동일한 관련 레벨을 저장한다. 상기 추적 저장장치 유닛들이 그들과 관련된 데이터 저장장치가 쓰이고, 삭제되거나 또는 읽혀질 때 쓰이고, 삭제되며 읽혀지며, 따라서, 상기 관련된 데이터 저장장치 유닛들의 이용이 "추적"된다. 결과적으로, 상기 추적 저장장치 유닛들은 동일한 작동 조건들, 예를 들어, 상태 감지에 영향을 미칠 수 있는 전압과 온도 같은, 을 경험한다. 결과적으로, 상기 데이터 저장장치 유닛들 내에 저장된 상기 데이터 레벨들 구별의 신뢰도가 증가한다.
다음으로, 처리된 관련 레벨이 계산된다(304). 여기서, 읽혀지는(302) 상기 관련 레벨들이 처리된 관련 레벨을 생성하기 위해 처리된다. 처리된 관련 레벨을 생성하기 위한 관련 레벨에 대한 상기 계산(204)이, 예를 들어, 최소, 최대, 평균 제곱근, 피크, 평균, 메디안, 모듈로스 그리고/또는 선형 회귀와 같은 계산을 통해 다양한 방법으로 획득될 수 있다. 처리된 관련 레벨이 계산된(304) 이후에, 상태 구별 레벨들이 상기 처리된 관련 레벨에 기초하여 결정된다(306). 위에서 설명한 바와 같이, 상기 상태 구별 레벨들은 다중-상태 데이터 저장장치 유닛에 의해 지원되는 다양한 상태들 간을 구별하기 위해 메모리 시스템에 의해 이용된다.
일단 상기 상태 구별 레벨들이 결정되면(306), 상기 읽기 데이터는 상기 구별 레벨들과 에러 조건 코드들을 이용하여 상기 데이터 레벨들로부터 결정될 수 있다(308). 여기서, 이전의 읽기 데이터 레벨들(작동 302)은 상태 구별 레벨의 이용에 의해 상기 데이터 저장장치 유닛들을 위한 상태를 결정하기 위해 검사된다. 부가적으로, 메모리 시스템에 의해 또한 지원되는 ECC는 더 많은 신뢰도가 상기 읽기 데이터를 결정하도록(308) 사용된다.
다음으로, 상기 ECC를 이용하여, 결정(310)은 데이터 에러가 상기 읽기 데이터를 결정함(308)에 있어 식별되는지를 결정한다. 특히, 상기 ECC가 상기 읽기 데이터를 실질적으로 설립하지 못할 때, 상기 ECC는 데이터 에로가 존재하는지를 표시한다. 상기 결정(310)이 데이터 에러가 존재하지 않는다고 결정하면, 상기 읽기 데이터는 리퀘스터로 보내진다(312). 반면, 상기 결정(310)이 데이터 에러가 존재한다고 결정하면, 상기 관련 레벨에 대한 퀄리티 평가 그리고/또는 수정은 상기 데이터 에러를 극복하기 위한 노력 내에서 수행될 수 있다. 보다 바람직하게, 상기 결정(310)이 데이터 에러가 존재한다고 결정할 때, 상기 관련 레벨들의 퀄리티가 평가된다(314). 한 실시예에서, 상기 관련 레벨들의 퀄리티의 평가는 특히 개별적으로 상기 관련 레벨들 각각에 대해 수행된다. 그러나 다른 실시예에서, 상기 관련 레벨들의 퀄리티는 대신 그룹으로서 두 개 이상의 상기 관련 레벨에 기초하여 수행될 수 있다. 결정(316)은 그 때 상기 관련 레벨의 퀄리티가 허용할 수 있는지를 결정한다. 상기 결정(316)이 퀄리티가 허용할 수 없다고 결정하면, 상기 읽기 요청 프로세싱(300)은 낮은 퀄리티를 지닌 상기 관련 레벨을 수정하기(318)위해 작동한다. 여기서, 상기 수정(318)은 낮은 퀄리티를 지닌 하나 이상의 관련 레벨들을 변경하거나 또는 제거하기 위해 작동할 수 있다. 상기 작동(318)에 뒤이어, 상기 읽기 요청 프로세싱(300)은 작동(304)과 연속하는 작동들을 반복하기 위해 되돌아가고 그 결과 상기 상태 구별 레벨들은 상기 수정(318)에 뒤따르는 관련 레벨들에 기초한 상기 읽기 데이터를 재-결정하고 이용할 수 있다. 대안적으로, 상기 결정이 상기 퀄리티가 허용 가능하다고 결정할 때, 상기 읽기 데이터는 잘못된 것이며 따라서 데이터 읽기 에러는 상기 리퀘스터로 전송된다(320). 특히, 상기 리퀘스터는 메모리 시스템을 이용하는 호스트 장치이다. 작동들(312 또는 320)에 뒤이어, 상기 읽기 요청 프로세싱(300)은 완전하고 끝이 난다. 도 2C에 보이는 루프 제어 특징은 또한 읽기 요청 프로세싱(300)과 함께 사용될 수 있다.
상기 읽기 요청 프로세싱(300)의 작동들(314-318)은 상기 ECC 신호들이 데이터를 읽음에 있어 실패할 때에만 수행된다. 결과적으로, 최적으로 디자인 된 시스템과 함께, 상기 작동들(314-318)은 드문 환경에서만 수행된다. 그 때 단지 드문 환경에서만 상기 읽기 프로세싱 수행은 퀄리티 평가의 수행 그리고/또는 작동들(314-318)의 수정 프로세싱에 따라 느려지거나 또는 강하된다.
위에서 제공된 당해 발명의 상당한 부분이 다중-상태 장치들에 속함에도 불구하고, 명심할 것은 당해 발명은 또한 이진의 저장장치들에도 적용할 수 있다. 다중-상태 장치들은 이를 행하나, 이진 저장 장치들보다 더 큰 저장 밀도를 제공한다.
당해 발명은 또한 위에서 설명한 메모리 시스템을 포함하는 전자 시스템에 속할 수 있다. 메모리 시스템들(예를 들어, 메모리 카드들)은 다양한 전자 상품들에서 사용을 위한 디지털 데이터의 저장을 위해 일반적으로 사용된다. 종종, 상기메모리 시스템은 상기 전자 시스템으로부터 제거할 수 있고, 그 결과 상기 저장된 데이터는 운반 가능하다. 당해 발명에 따른 메모리 시스템들은 상대적으로 작은 형태 요소를 지닐 수 있고 그리고 카메라, 핸드-헬드 또는 다른 작은 오디오 플레이어들/레코더들(예를 들어, MP3 장치들), 그리고 의료 모니터들과 같은 전자 상품들을 위한 디지털 데이터를 저장하기 위해 사용된다.
당해 발명의 이점들은 다양하다. 다른 실시예들 또는 구현들은 하나 이상의 이점들을 산출한다. 당해 발명의 한 이점은 관련 레벨들을 위한 에러 관리가 제공된다는 점이다. 당해 발명의 또 다른 이점은 관련 레벨들을 위한 에러 관리가 상당한 수행 페널티 없이 수행될 수 있는 점이다. 당해 발명의 또 다른 이점은, 신뢰할 수 있고 높은 수행 메모리 시스템들이 획득될 수 있다는 점이다.

Claims (40)

  1. 메모리 상품의 저장장치 유닛들의 상태를 위한 구별 레벨들을 결정하기 위한 방법으로서,
    - 다수의 미리 지정된 저장장치 유닛들로부터 저장된 레벨들을 읽고,
    - 저장된 레벨들이 일탈되었는지를 결정하며,
    - 상기 결정 단계가 일탈 되었다고 결정하면 상기 저장된 레벨들 중의 하나 이상을 수정하고, 그리고,
    - 상기 수정에 뒤따른 상기 저장된 레벨에 기초한 하나 이상의 구별 레벨들을 결정하는
    단계를 포함하는 것을 특징으로 하는 메모리 상품의 저장장치 유닛들의 상태를 위한 구별 레벨들을 결정하기 위한 방법.
  2. 제 1 항에 있어서, 이 때 상기 수정 단계는 상기 결정 단계가 일탈되었다고 결정하는 상기 저장된 레벨들 중 하나 이상을 버리는 단계를 포함하는 것을 특징으로 하는 메모리 상품의 저장장치 유닛들의 상태를 위한 구별 레벨들을 결정하기 위한 방법.
  3. 제 1 항에 있어서, 이 때 상기 저장된 레벨들이 일탈되는지를 결정하는 단계는,
    - 다수의 저장된 레벨들로부터 처리된 저장된 레벨을 결정하고, 그리고,
    - 상기 처리된 저장된 레벨과 상기 저장된 레벨들 각각을 비교하는
    단계를 포함하는 것을 특징으로 하는 메모리 상품의 저장장치 유닛들의 상태를 위한 구별 레벨들을 결정하기 위한 방법.
  4. 제 3 항에 있어서, 이 때 상기 수정단계는 미리 지정된 양까지 상기 처리된 저장된 레벨로부터 벗어난 상기 저장된 레벨들의 처리된 저장된 레벨을 버리는 단계를 포함하는 것을 특징으로 하는 메모리 상품의 저장장치 유닛들의 상태를 위한 구별 레벨들을 결정하기 위한 방법.
  5. 제 1 항에 있어서, 이 때 상기 저장된 레벨들이 일탈되었는지를 결정하는 단계는,
    - 상기 저장된 레벨로부터 평균 저장된 레벨을 획득하고, 그리고,
    - 상기 평균 저장된 레벨과 상기 저장된 레벨들 각각을 비교 하는
    단계를 포함하는 것을 특징으로 하는 메모리 상품의 저장장치 유닛들의 상태를 위한 구별 레벨들을 결정하기 위한 방법.
  6. 제 1 항에 있어서, 이 때 상기 저장된 레벨들은 관련 레벨들인 것을 특징으로 하는 메모리 상품의 저장장치 유닛들의 상태를 위한 구별 레벨들을 결정하기 위한 방법.
  7. 제 1 항부터 6항까지 중 어느 한 항에 있어서, 이 때 상기 미리 지정된 저장장치 유닛들은 추적 저장장치 유닛들인 것을 특징으로 하는 메모리 상품의 저장장치 유닛들의 상태를 위한 구별 레벨들을 결정하기 위한 방법.
  8. 제 1 항부터 7항까지 중 어느 한 항에 있어서, 이 때 상기 방법은,
    - 그 후 상기 구별 레벨들과 일치하는 상기 메모리 상품의 상기 저장장치 유닛들 내에 저장된 데이터의 특정 상태를 결정하는 단계를
    포함하는 것을 특징으로 하는 메모리 상품의 저장장치 유닛들의 상태를 위한 구별 레벨들을 결정하기 위한 방법.
  9. 제 1 항부터 8항까지 중 어느 한 항에 있어서, 이 때 상기 메모리 상품은 비-휘발성 데이터 저장장치를 제공하는 메모리 카드인 것을 특징으로 하는 메모리 상품의 저장장치 유닛들의 상태를 위한 구별 레벨들을 결정하기 위한 방법.
  10. 메모리 장치에서, 데이터 저장장치 유닛과 함께 사용되는 추적 저장장치 유닛들과 관련된 에러 관리를 위한 방법은,
    - 다수의 추적 저장장치 유닛들로부터 관련 레벨들을 읽고,
    - 상기 관련 레벨들의 각각을 위한 퀄리티를 평가하며,
    - 상기 관련 레벨들이 허용가능하지 않은 경우를 위한 퀄리티인지를 결정하고,
    - 상기 결정 단계가 허용 가능할 수 없다고 결정하는 상기 관련 레벨들 중의 하나 이상을 수정하며, 그리고,
    - 상기 수정 단계 이후에, 상기 관련 레벨들에 기초한 상기 추적 저장장치 유닛들과 관련된 데이터 저장장치 유닛들을 위한 구별 레벨들을 결정하는
    단계를 포함하는 것을 특징으로 하는 데이터 저장장치 유닛과 함께 사용되는 추적 저장장치 유닛들과 관련된 에러 관리를 위한 방법.
  11. 제 10 항에 있어서, 이 때 상기 방법은,
    상기 데이터 저장장치 유닛들 내에 저장된 데이터의 상태들을 결정하기 위한 구별 레벨들을 연속적으로 이용하는
    단계를 포함하는 것을 특징으로 하는 데이터 저장장치 유닛과 함께 사용되는 추적 저장장치 유닛들과 관련된 에러 관리를 위한 방법.
  12. 제 10 항 또는 제 11 항에 있어서, 이 때 상기 관련 레벨들이 허용 가능하지 않은 것을 위한 퀄리티인지를 결정하는 단계는,
    - 다수의 관련 레벨들로부터 처리된 관련 레벨을 결정하고, 그리고,
    - 상기 처리된 관련 레벨과 상기 관련 레벨들 각각을 비교하는
    단계를 포함하는 것을 특징으로 하는 데이터 저장장치 유닛과 함께 사용되는 추적 저장장치 유닛들과 관련된 에러 관리를 위한 방법.
  13. 제 10 항 내지 12 항 중 어느 한 항에 있어서, 이 때 상기 결정단계가 허용가능하지 않은지를 결정하는 상기 관련 레벨들의 하나 이상을 위한 수정단계는,
    - 미리 지정된 양 이상까지 상기 처리된 관련 레벨로부터 벗어나는 상기 관련 레벨들의 처리된 기준 레벨을 제거하는
    단계를 포함하는 것을 특징으로 하는 데이터 저장장치 유닛과 함께 사용되는 추적 저장장치 유닛들과 관련된 에러 관리를 위한 방법.
  14. 제 10 항에서 13항 중 어느 한 항에 있어서, 이 때 상기 메모리 장치는 비휘발성, 다중-상태 데이터 저장장치를 제공하는 메모리 카드인 것을 특징으로 하는 데이터 저장장치 유닛과 함께 사용되는 추적 저장장치 유닛들과 관련된 에러 관리를 위한 방법.
  15. 데이터 저장장치 유닛들 그리고 관련된 추적 저장장치 유닛들을 지니는 메모리 장치로부터 데이터를 읽기 위한 방법으로, 상기 방법은,
    -(a) 특정 데이터 저장장치 유닛들로부터 데이터 레벨들과 특정 데이터 저장장치 유닛들과 관련된 추적 저장장치 유닛들로부터 관련 레벨들을 사실상 동시에 읽고,
    -(b) 상기 관련 레벨들로부터 처리된 관련 레벨을 계산하며,
    -(c) 상기 처리된 관련 레벨에 기초한 상태 구별 레벨들을 결정하고,
    -(d) 리퀘스터를 위한 읽기 데이터를 획득하기 위해 상기 상태 구별 레벨들에 기초한 상기 특정 데이터 저장장치 유닛들로부터 상기 데이터 레벨들의 상태를 구별하며,
    -(e) 상기 관련 레벨들의 퀄리티를 평가하고, 그리고,
    -(f) 상기 관련 레벨들의 퀄리티가 허용 가능한지를 결정하는
    단계를 포함하는 것을 특징으로 하는 데이터 저장장치 유닛과 함께 사용되는 추적 저장장치 유닛들과 관련된 에러 관리를 위한 방법.
  16. 제 15 항에 있어서, 이 때 상기 방법은,
    - (g) 상기 관련 레벨들의 퀄리티가 허용 가능하다고 상기 결정 단계(f)가 결정할 때, 상기 리퀘스터로 읽기 데이터를 조정하고, 그리고,
    -(f) 상기 결정 단계(f)가 상기 관련 레벨의 퀄리티가 허용가능하지 않은지를 결정할 때 상기 관련 레벨들 중의 하나 이상을 수정하는
    단계를 포함하는 것을 특징으로 하는 데이터 저장장치 유닛과 함께 사용되는 추적 저장장치 유닛들과 관련된 에러 관리를 위한 방법.
  17. 제 16 항에 있어서, 이 때 상기 방법은,
    -(i) 상기 수정단계(h)에 뒤이어, 상기 결정 단계(f)가 상기 관련 레벨의 퀄리티가 허용 가능하지 않다고 결정할 때, 상기 구별 단계(d)를 통해 상기 계산 단계(b)를 한 번 이상 횟수를 반복하는
    단계를 포함하는 것을 특징으로 하는 데이터 저장장치 유닛과 함께 사용되는 추적 저장장치 유닛들과 관련된 에러 관리를 위한 방법.
  18. 제 15 항에 있어서, 이 때 상기 방법은,
    -(g) 상기 결정 단계(f)가 상기 관련 레벨의 퀄리티가 허용 가능하다고 결정 할 때 상기 리퀘스터로 읽기 데이터를 전송하고,
    -(h) 상기 결정 단계(f)가 상기 관련 레벨의 퀄리티가 허용 가능하지 않다고 결정할 때, 상기 전송 단계(g)를 멈추며, 그리고,
    -(i) 상기 결정 단계(f)가 상기 관련 레벨의 퀄리티가 허용 가능하지 않다고 결정할 때, 상기 관련 레벨들의 하나 이상을 수정하는
    단계를 포함하는 것을 특징으로 하는 데이터 저장장치 유닛과 함께 사용되는 추적 저장장치 유닛들과 관련된 에러 관리를 위한 방법.
  19. 제 18 항에 있어서, 이 때 상기 방법은,
    -(j) 상기 수정 단계(i) 이후에, 상기 결정 단계(f)가 상기 관련 레벨의 퀄리티가 허용 가능하지 않다는 것을 결정할 때, 상기 수정 단계(i)를 통해 상기 계산 단계(b)를 한 번 이상 횟수만큼 반복하는
    단계를 포함하는 것을 특징으로 하는 데이터 저장장치 유닛과 함께 사용되는 추적 저장장치 유닛들과 관련된 에러 관리를 위한 방법.
  20. 제 18 항 또는 19항에 있어서, 이 때 상기 멈춤 단계(h)는 상기 멈춤 단계(h)에 앞서 상기 리퀘스터에 의해 수신되어온 읽기 데이터를 취소하는 단계를 포함하는 것을 특징으로 하는 데이터 저장장치 유닛과 함께 사용되는 추적 저장장치 유닛들과 관련된 에러 관리를 위한 방법.
  21. 제 18 항 내지 제 20 항 중 어느 한 항에 있어서, 이 때 상기 멈춤 단계(h)는 상기 멈춤 단계(h)에 앞서 상기 리퀘스터에 의해 수신되어온 읽기 데이터를 취소하는 단계를 포함하는 것을 특징으로 하는 데이터 저장장치 유닛과 함께 사용되는 추적 저장장치 유닛들과 관련된 에러 관리를 위한 방법.
  22. 제 15 항에 있어서, 이 때 상기 방법은,
    -(g) 상기 결정 단계(f)가 상기 관련 레벨들의 퀄리티가 허용 가능한지를 결정할 때 상기 리퀘스터로 상기 읽기 데이터를 전송하고,
    -(h) 상기 결정 단계(f)가 상기 관련 레벨들의 퀄리티가 허용 가능하지 않다고 결정할 때 상기 리퀘스터에 의해 수신 되어온 읽기 데이터를 취소하며,
    -(i) 상기 결정 단계(f)가 상기 관련 레벨의 퀄리티가 허용 가능하지 않다고 결정할 때 상기 관련 레벨들의 하나 이상을 수정하는
    단계를 포함하는 것을 특징으로 하는 데이터 저장장치 유닛과 함께 사용되는 추적 저장장치 유닛들과 관련된 에러 관리를 위한 방법.
  23. 제 15 항에서 22 항에 있어서, 이 때 상기 관련 레벨들의 퀄리티가 허용 가능한지에 대한 상기 결정 단계(f)는
    - 상기 처리된 관련 레벨과 상기 관련 레벨들의 각각을 비교하는
    단계를 포함하는 것을 특징으로 하는 데이터 저장장치 유닛과 함께 사용되는 추적 저장장치 유닛들과 관련된 에러 관리를 위한 방법.
  24. 제 15 항에서 제 23 항 중 어느 한 항에 있어서,
    이 때 상기 관련 레벨은 제 1 그리고 제 2 관련 레벨들에 속하는 상기 읽기 단계(a)에 의해 읽히고 있으며,
    이 때 상기 계산 단계(b)는 상기 제 1 관련 레벨에 속하고 있는 상기 관련 레벨들로부터 처리된 제 1 관련 레벨을 계산하고, 그리고 상기 제 2 관련 레벨에 속하고 있는 상기 관련 레벨로부터 처리된 제 2 관련 레벨을 계산하며, 그리고,
    이 때 상기 결정 단계(c)는 상기 처리된 제 1 그리고 제 2 관련 레벨에 기초한 상태 구별 레벨들을 결정하는
    단계를 포함하는 것을 특징으로 하는 데이터 저장장치 유닛과 함께 사용되는 추적 저장장치 유닛들과 관련된 에러 관리를 위한 방법.
  25. 제 24 항에 있어서, 이 때 상기 관련 레벨의 퀄리티는 허용가능한지를 결정하는 상기 단계(f)는,
    - 상기 처리된 제 1 관련 레벨과 제 1 관련 레벨에 속하고 있는 상기 관련레벨들의 각각을 비교하고, 그리고,
    - 상기 처리된 제 2 관련 레벨과 제 2 관련 레벨에 속하고 있는 상기 관련 레벨들의 각각을 비교하는
    단계를 포함하는 것을 특징으로 하는 데이터 저장장치 유닛과 함께 사용되는 추적 저장장치 유닛들과 관련된 에러 관리를 위한 방법.
  26. 제 15 항 내지 제 25 항 중 어느 한 항에 있어서, 이 때 상기 메모리 장치는 비-휘발성, 다중-상태 데이터 저장장치를 제공하는 메모리 카드인 것을 특징으로 하는 특징으로 하는 데이터 저장장치 유닛과 함께 사용되는 추적 저장장치 유닛들과 관련된 에러 관리를 위한 방법.
  27. 제 15 항 내지 제 26항 중 어느 한 항에 있어서, 이 때 상기 계산 단계(b)는 상기 처리된 관련 레벨을 계산하기 위해 상기 관련 레벨을 평균하기 위해 작동하는 것을 특징으로 하는 데이터 저장장치 유닛과 함께 사용되는 추적 저장장치 유닛들과 관련된 에러 관리를 위한 방법.
  28. 제 15 항 내지 제 26 항 중 어느 한 항에 있어서, 이 때 상기 계산 단계(b)는 상기 처리된 관련 레벨을 계산함에 있어 관련 신호와 관련된 최소, 최대, 평균 제곱근(RMS), 피크, 평균, 미디안, 모듈로스, 그리고 선형 회귀중 하나 이상을 수행하는 것을 특징으로 하는 데이터 저장장치 유닛과 함께 사용되는 추적 저장장치유닛들과 관련된 에러 관리를 위한 방법.
  29. 데이터 저장장치 유닛들 그리고 관련된 추적 저장장치 유닛들을 지니는 메모리 장치로부터 데이터를 읽는 방법으로서,
    -(a) 상기 특정 데이터 저장장치 유닛들과 관련된 추적 저장장치 유닛들로부터 관련 레벨들과 특정 데이터 저장장치 유닛들로부터 데이터 레벨들을 사실상 동시에 읽고,
    -(b) 상기 관련 레벨들로부터 처리된 관련 레벨을 계산하며,
    -(c) 상기 처리된 관련 레벨에 기초한 상태 구별 레벨들을 결정하고,
    -(d) 상기 상태 구별 레벨들과 에러 수정 코드 프로세싱을 이용하는 상기 데이터 레벨로부터 읽기 데이터를 결정하며,
    -(e) 데이터 에러가 상기 에러 코드 프로세싱에 의해 표시되는지를 결정하고, 그리고,
    -(f) 상기 결정 단계(e)가 상기 데이터 에러를 감지 할 때 낮은 퀄리티를 지닌 상기 관련 레벨들 중의 하나 이상을 수정하고 상기 관련 레벨의 퀄리티를 평가하는
    단계를 포함하는 것을 특징으로 하는 데이터 저장장치 유닛과 함께 사용되는 추적 저장장치 유닛들과 관련된 에러 관리를 위한 방법.
  30. 제 29 항에 있어서, 이 때 상기 방법은,
    -(g) 상기 관련 레벨들 중의 하나 이상을 수정하는 단계 이후의 상기 계산 단계(b), 상기 결정 단계(c) 그리고 상기 결정 단계(d)를 반복하는
    단계를 포함하는 것을 특징으로 하는 데이터 저장장치 유닛과 함께 사용되는 추적 저장장치 유닛들과 관련된 에러 관리를 위한 방법.
  31. 데이터 저장장치 유닛들 그리고 관련된 추적 저장장치 유닛들을 지니는 메모리 장치로부터 데이터를 읽기 위한 방법으로,
    -(a) 카운트를 초기화하고,
    -(b) 상기 특정 데이터 저장장치 유닛들과 관련된 추적 저장장치 유닛들로부터 관련 레벨들과 특정 데이터 저장장치로부터 데이터 레벨을 읽으며,
    -(c) 상기 관련 레벨들로부터 처리된 관련 레벨을 계산하고,
    -(d) 상기 처리된 관련 레벨에 기초한 상태 구별 레벨들을 결정하며,
    -(e) 리퀘스터를 위한 읽기 데이터를 얻기 위해 상기 상태 구별 레벨들에 기초한 상기 특정 데이터 저장장치 유닛들로부터 상기 데이터 레벨들의 상태를 구별하고,
    -(f) 상기 관련 레벨들의 퀄리티를 평가하며,
    -(g) 상기 관련 레벨의 퀄리티가 허용 가능한지를 결정하고,
    -(h) 카운트 제한과 함께 상기 카운트를 비교하며,
    -(i) 상기 결정 단계(g)가 상기 관련 레벨들의 퀄리티가 허용가능하지 않음을 결정할 때 그리고 상기 비교 단계(h)가 상기 카운트가 상기 카운트 제한을 초과하지 않는 것을 결정할 때, 상기 관련 레벨들의 하나 이상을 수정하고,
    -(j) 상기 카운트를 업데이트 하며,
    -(k) 상기 결정 단계(g)가 상기 관련 레벨의 상기 퀄리티가 허용 가능하지 않음을 결정하고, 그리고 상기 비교 단계(h)가 상기 카운트가 상기 카운트 제한을 초과하지 않음을 결정할 때, 상기 비교 단계(h)를 통해 상기 계산 단계(b)를 한 번 이상 횟수만큼 반복하고, 그리고,
    -(l) 상기 결정 단계(g)가 상기 관련 레벨의 퀄리티가 허용가능하다고 결정 할 때, 또는 상기 비교 단계(h)가 상기 카운트가 상기 카운트 제한을 넘지 않는다고 결정할 때 상기 리퀘스터로 상기 읽기 데이터를 조정하는
    단계를 포함하는 것을 특징으로 하는 데이터 저장장치 유닛들 그리고 관련된 추적 저장장치 유닛들을 지니는 메모리 장치로부터 데이터를 읽기 위한 방법.
  32. 메모리 시스템으로서,
    - 비-휘발성 방법에서 다중-상태 데이터 저장장치를 제공하는 상기 데이터 저장장치 유닛들, 다수의 데이터 저장장치 유닛들,
    - 비-휘발성 방법에서 관련 레벨들을 위한 저장장치를 제공하는 상기 추적 저장장치 유닛들, 다수의 추적 저장장치 유닛들,
    - 상기 추적 저장장치 유닛들로부터 상기 관련 레벨들을 수신하기 위해 효과적으로 연결된 관련 레벨 에러 관리자로서, 이 때 상기 관련 레벨 에러 관리자는 상기 관련 레벨들의 퀄리티를 평가하는, 상기 관련 레벨 에러 관리자, 그리고,
    - 상기 데이터 저장장치 유닛들과 상기 저장장치 유닛들에 효과적으로 연결된 메모리 제어기로서, 상기 메모리 제어기는 상기 데이터 저장장치 유닛들과 상기 추적 저장장치 유닛들과 관련된 읽기, 쓰기 그리고 지우기 작동들을 제어하기 위해 작동하며, 이 때 상기 메모리 제어기는 읽히고 있는 상기 데이터 저장장치 요소들의 상태를 결정하기 위해 상태 구별 레벨들을 이용하는, 상기 메모리 제어기
    을 포함하는 것을 특징으로 하는 메모리 시스템.
  33. 제 32 항에 있어서, 이 때 상기 메모리 시스템은,
    - 상기 추적 저장장치 유닛들, 상기 관련 레벨 에러 관리자 그리고 상기 메모리 제어기에 효과적으로 연결된 상태 구별 레벨 회로, 상기 상태 구별 레벨 회로는 다수의 상기 관련 레벨에 기초한 상기 메모리 제어기에 의한 사용을 위해 상태 구별 레벨들을 결정하기 위해 작동하는, 상기 상태 구별 레벨 회로
    은 포함하는 것을 특징으로 하는 메모리 시스템.
  34. 제 32 항 또는 33항에 있어서, 이 때 상기 관련 레벨 에러 관리자는 허용 가능하지 않는 퀄리티를 지닌 하나 이상의 상기 관련 레벨들을 위해 수정을 하는 것을 특징으로 하는 메모리 시스템.
  35. 제 32 항 내지 제 34 항 중 어느 한 항에 있어서, 이 때 상기 메모리 시스템은 메모리 카드인 것을 특징으로 하는 메모리 시스템.
  36. 제 35 항에 있어서, 이 때 상기 관련 레벨 에러 관리자 그리고 상태 구별 레벨 회로는 상기 메모리 제어기 이내에서 제공되는 것을 특징으로 하는 메모리 시스템.
  37. 제 32항 내지 제 36 항 중 어느 한 항에 있어서, 이 때 상기 관련 레벨 에러 관리자는 허용할 수 없는 퀄리티를 지닌 하나 이상의 상기 관련 레벨들을 수정하는 것을 특징으로 하는 메모리 시스템.
  38. 제 32 항 내지 제 37항 중 한 항에 있어서,
    이 때 상기 메모리 제어기는 데이터가 상기 데이터 저장장치 유닛들의 블락에 쓰이도록 일으키고, 그리고,
    이 때 상기 데이터 저장장치 유닛들의 상기 블락과 관련된 상기 추적 저장장치 유닛들의 세트는 상기 데이터 저장장치 유닛들의 상기 블락이 쓰일 때마다 미리 지정된 관련 레벨들과 함께 쓰이는
    것을 특징으로 하는 메모리 시스템.
  39. 제 38 항에 있어서, 이 때 상기 추적 저장장치 유닛들의 상기 세트는 상기 데이터 저장장치 유닛들의 블락이 읽힐 때마다 읽히는 것을 특징으로 하는 메모리 시스템.
  40. 제 32항 내지 39항 중 어느 한 항에 있어서, 이 때 상기 메모리 시스템은,
    - 읽히고 있는 상기 데이터 저장장치 요소의 상기 상태의 결정에 있어 돕는 에러 수정 유닛
    을 포함하는 것을 특징으로 하는 메모리 시스템.
KR1020047006361A 2001-11-02 2002-10-30 쓰기 가능 추적 저장 장치 유닛의 에러 관리 KR101009545B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/053,339 US6678192B2 (en) 2001-11-02 2001-11-02 Error management for writable tracking storage units
US10/053,339 2001-11-02
PCT/US2002/034942 WO2003041083A1 (en) 2001-11-02 2002-10-30 Error management for writable tracking storage units storing reference values

Publications (2)

Publication Number Publication Date
KR20040074979A true KR20040074979A (ko) 2004-08-26
KR101009545B1 KR101009545B1 (ko) 2011-01-18

Family

ID=21983519

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047006361A KR101009545B1 (ko) 2001-11-02 2002-10-30 쓰기 가능 추적 저장 장치 유닛의 에러 관리

Country Status (9)

Country Link
US (1) US6678192B2 (ko)
EP (1) EP1440447B1 (ko)
JP (1) JP4398249B2 (ko)
KR (1) KR101009545B1 (ko)
CN (1) CN1578988B (ko)
AT (1) ATE383648T1 (ko)
DE (1) DE60224552T2 (ko)
TW (1) TWI285807B (ko)
WO (1) WO2003041083A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7889563B2 (en) 2008-06-12 2011-02-15 Samsung Electronics Co., Ltd. Memory device and method of controlling read level
KR20180085107A (ko) * 2017-01-17 2018-07-26 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법

Families Citing this family (133)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5657332A (en) * 1992-05-20 1997-08-12 Sandisk Corporation Soft errors handling in EEPROM devices
US6992932B2 (en) * 2002-10-29 2006-01-31 Saifun Semiconductors Ltd Method circuit and system for read error detection in a non-volatile memory array
US6963505B2 (en) * 2002-10-29 2005-11-08 Aifun Semiconductors Ltd. Method circuit and system for determining a reference voltage
US7237074B2 (en) * 2003-06-13 2007-06-26 Sandisk Corporation Tracking cells for a memory system
US7012835B2 (en) * 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
US7257025B2 (en) * 2004-12-09 2007-08-14 Saifun Semiconductors Ltd Method for reading non-volatile memory cells
KR100707200B1 (ko) * 2005-07-22 2007-04-13 삼성전자주식회사 핀-타입 채널 영역을 갖는 비휘발성 메모리 소자 및 그제조 방법
US7536627B2 (en) * 2005-12-27 2009-05-19 Sandisk Corporation Storing downloadable firmware on bulk media
US7546515B2 (en) * 2005-12-27 2009-06-09 Sandisk Corporation Method of storing downloadable firmware on bulk media
US8645793B2 (en) 2008-06-03 2014-02-04 Marvell International Ltd. Statistical tracking for flash memory
US8725929B1 (en) 2006-11-06 2014-05-13 Marvell World Trade Ltd. Adaptive read and write systems and methods for memory cells
WO2007132452A2 (en) * 2006-05-12 2007-11-22 Anobit Technologies Reducing programming error in memory devices
WO2007132457A2 (en) * 2006-05-12 2007-11-22 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
US8239735B2 (en) * 2006-05-12 2012-08-07 Apple Inc. Memory Device with adaptive capacity
CN103280239B (zh) 2006-05-12 2016-04-06 苹果公司 存储设备中的失真估计和消除
US7568135B2 (en) * 2006-05-15 2009-07-28 Apple Inc. Use of alternative value in cell detection
US8000134B2 (en) 2006-05-15 2011-08-16 Apple Inc. Off-die charge pump that supplies multiple flash devices
US7613043B2 (en) * 2006-05-15 2009-11-03 Apple Inc. Shifting reference values to account for voltage sag
US7852690B2 (en) * 2006-05-15 2010-12-14 Apple Inc. Multi-chip package for a flash memory
US7639531B2 (en) * 2006-05-15 2009-12-29 Apple Inc. Dynamic cell bit resolution
US7511646B2 (en) * 2006-05-15 2009-03-31 Apple Inc. Use of 8-bit or higher A/D for NAND cell value
US7551486B2 (en) 2006-05-15 2009-06-23 Apple Inc. Iterative memory cell charging based on reference cell value
US7701797B2 (en) * 2006-05-15 2010-04-20 Apple Inc. Two levels of voltage regulation supplied for logic and data programming voltage of a memory device
US7639542B2 (en) * 2006-05-15 2009-12-29 Apple Inc. Maintenance operations for multi-level data storage cells
US7911834B2 (en) * 2006-05-15 2011-03-22 Apple Inc. Analog interface for a flash memory die
WO2008026203A2 (en) 2006-08-27 2008-03-06 Anobit Technologies Estimation of non-linear distortion in memory devices
EP2067143B1 (en) * 2006-09-27 2014-01-08 SanDisk Technologies Inc. Memory with cell population distribution assisted read margining
US7716538B2 (en) 2006-09-27 2010-05-11 Sandisk Corporation Memory with cell population distribution assisted read margining
US7886204B2 (en) 2006-09-27 2011-02-08 Sandisk Corporation Methods of cell population distribution assisted read margining
KR100826500B1 (ko) * 2006-10-23 2008-05-02 삼성전자주식회사 비휘발성 반도체 메모리 장치 및 상기 비휘발성 반도체메모리 장치의 데이터 복구 방법
US7821826B2 (en) 2006-10-30 2010-10-26 Anobit Technologies, Ltd. Memory cell readout using successive approximation
US7975192B2 (en) 2006-10-30 2011-07-05 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US7941590B2 (en) * 2006-11-06 2011-05-10 Marvell World Trade Ltd. Adaptive read and write systems and methods for memory cells
US7865797B2 (en) * 2006-11-16 2011-01-04 Freescale Semiconductor, Inc. Memory device with adjustable read reference based on ECC and method thereof
US7564716B2 (en) * 2006-11-16 2009-07-21 Freescale Semiconductor, Inc. Memory device with retained indicator of read reference level
US7545681B2 (en) * 2006-11-27 2009-06-09 Sandisk Corporation Segmented bitscan for verification of programming
US7440319B2 (en) * 2006-11-27 2008-10-21 Sandisk Corporation Apparatus with segmented bitscan for verification of programming
US7924648B2 (en) 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
US8151163B2 (en) * 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
US7900102B2 (en) * 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
US7593263B2 (en) * 2006-12-17 2009-09-22 Anobit Technologies Ltd. Memory device with reduced reading latency
US7751240B2 (en) * 2007-01-24 2010-07-06 Anobit Technologies Ltd. Memory device with negative thresholds
US8151166B2 (en) * 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
WO2008111058A2 (en) * 2007-03-12 2008-09-18 Anobit Technologies Ltd. Adaptive estimation of memory cell read thresholds
US7808834B1 (en) 2007-04-13 2010-10-05 Marvell International Ltd. Incremental memory refresh
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
KR100882841B1 (ko) * 2007-06-19 2009-02-10 삼성전자주식회사 읽기 디스터번스로 인한 비트 에러를 검출할 수 있는메모리 시스템 및 그것의 읽기 방법
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8031526B1 (en) 2007-08-23 2011-10-04 Marvell International Ltd. Write pre-compensation for nonvolatile memory
US8189381B1 (en) 2007-08-28 2012-05-29 Marvell International Ltd. System and method for reading flash memory cells
US8085605B2 (en) 2007-08-29 2011-12-27 Marvell World Trade Ltd. Sequence detection for flash memory with inter-cell interference
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
US8527819B2 (en) * 2007-10-19 2013-09-03 Apple Inc. Data storage in analog memory cell arrays having erase failures
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
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
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. 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
US8248831B2 (en) * 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8397131B1 (en) 2008-12-31 2013-03-12 Apple Inc. Efficient readout schemes for analog memory cell devices
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8832354B2 (en) * 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8199576B2 (en) * 2009-04-08 2012-06-12 Sandisk 3D Llc Three-dimensional array of re-programmable non-volatile memory elements having vertical bit lines and a double-global-bit-line architecture
KR101717798B1 (ko) 2009-04-08 2017-03-17 샌디스크 테크놀로지스 엘엘씨 수직의 비트 라인들 및 이중 전역 비트 라인 아키텍처를 가지는 재프로그래밍 가능한 메모리 요소들의 3차원 어레이
US8351236B2 (en) 2009-04-08 2013-01-08 Sandisk 3D Llc Three-dimensional array of re-programmable non-volatile memory elements having vertical bit lines and a single-sided word line architecture
US7983065B2 (en) * 2009-04-08 2011-07-19 Sandisk 3D Llc Three-dimensional array of re-programmable non-volatile memory elements having vertical bit lines
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
TWI412036B (zh) * 2009-07-22 2013-10-11 Silicon Motion Inc 資料讀取的方法及資料儲存裝置
KR101603099B1 (ko) * 2009-10-01 2016-03-28 삼성전자주식회사 불안정 메모리 셀 산포를 검출하는 메모리 시스템 및 상기 불안정 메모리 셀 산포 검출방법
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
US8572311B1 (en) 2010-01-11 2013-10-29 Apple Inc. Redundant data storage in multi-die memory systems
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8526237B2 (en) 2010-06-08 2013-09-03 Sandisk 3D Llc Non-volatile memory having 3D array of read/write elements and read/write circuits and method thereof
US20110297912A1 (en) 2010-06-08 2011-12-08 George Samachisa Non-Volatile Memory Having 3d Array of Read/Write Elements with Vertical Bit Lines and Laterally Aligned Active Elements and Methods Thereof
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8767459B1 (en) 2010-07-31 2014-07-01 Apple Inc. Data storage in analog memory cells across word lines using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
EP2731110B1 (en) 2010-12-14 2016-09-07 SanDisk Technologies LLC Architecture for three dimensional non-volatile storage with vertical bit lines
CN103794620B (zh) 2010-12-14 2016-08-24 桑迪士克科技有限责任公司 具有三个用于行选择的器件驱动器的三维非易失性存储器
US9227456B2 (en) 2010-12-14 2016-01-05 Sandisk 3D Llc Memories with cylindrical read/write stacks
US8687421B2 (en) 2011-11-21 2014-04-01 Sandisk Technologies Inc. Scrub techniques for use with dynamic read
US9269425B2 (en) 2011-12-30 2016-02-23 Sandisk 3D Llc Low forming voltage non-volatile storage device
US9171584B2 (en) 2012-05-15 2015-10-27 Sandisk 3D Llc Three dimensional non-volatile storage with interleaved vertical select devices above and below vertical bit lines
US9281029B2 (en) 2012-06-15 2016-03-08 Sandisk 3D Llc Non-volatile memory having 3D array architecture with bit line voltage control and methods thereof
US8895437B2 (en) 2012-06-15 2014-11-25 Sandisk 3D Llc Method for forming staircase word lines in a 3D non-volatile memory having vertical bit lines
CN103578532B (zh) * 2012-08-01 2016-08-10 旺宏电子股份有限公司 存储装置的操作方法与存储器阵列及其操作方法
WO2014138124A1 (en) 2013-03-04 2014-09-12 Sandisk 3D Llc Vertical bit line non-volatile memory systems and methods of fabrication
US9064547B2 (en) 2013-03-05 2015-06-23 Sandisk 3D Llc 3D non-volatile memory having low-current cells and methods
US9165933B2 (en) 2013-03-07 2015-10-20 Sandisk 3D Llc Vertical bit line TFT decoder for high voltage operation
US9105468B2 (en) 2013-09-06 2015-08-11 Sandisk 3D Llc Vertical bit line wide band gap TFT decoder
US9362338B2 (en) 2014-03-03 2016-06-07 Sandisk Technologies Inc. Vertical thin film transistors in non-volatile storage systems
US9379246B2 (en) 2014-03-05 2016-06-28 Sandisk Technologies Inc. Vertical thin film transistor selection devices and methods of fabrication
US9230689B2 (en) 2014-03-17 2016-01-05 Sandisk Technologies Inc. Finding read disturbs on non-volatile memories
US9123392B1 (en) 2014-03-28 2015-09-01 Sandisk 3D Llc Non-volatile 3D memory with cell-selectable word line decoding
US9627009B2 (en) 2014-07-25 2017-04-18 Sandisk Technologies Llc Interleaved grouped word lines for three dimensional non-volatile storage
US9552171B2 (en) 2014-10-29 2017-01-24 Sandisk Technologies Llc Read scrub with adaptive counter management
US9978456B2 (en) 2014-11-17 2018-05-22 Sandisk Technologies Llc Techniques for reducing read disturb in partially written blocks of non-volatile memory
US9349479B1 (en) 2014-11-18 2016-05-24 Sandisk Technologies Inc. Boundary word line operation in nonvolatile memory
US9449700B2 (en) 2015-02-13 2016-09-20 Sandisk Technologies Llc Boundary word line search and open block read methods with reduced read disturb
US9450023B1 (en) 2015-04-08 2016-09-20 Sandisk Technologies Llc Vertical bit line non-volatile memory with recessed word lines
US9653154B2 (en) 2015-09-21 2017-05-16 Sandisk Technologies Llc Write abort detection for multi-state memories
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 (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69033262T2 (de) 1989-04-13 2000-02-24 Sandisk Corp., Santa Clara EEPROM-Karte mit Austauch von fehlerhaften Speicherzellen und Zwischenspeicher
US5172338B1 (en) 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
US5272669A (en) 1991-02-20 1993-12-21 Sundisk Corporation Method and structure for programming floating gate memory cells
US6222762B1 (en) 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
JP2856621B2 (ja) 1993-02-24 1999-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置
US5828601A (en) 1993-12-01 1998-10-27 Advanced Micro Devices, Inc. Programmed reference
US5712179A (en) 1995-10-31 1998-01-27 Sandisk Corporation Method of making triple polysilicon flash EEPROM arrays having a separate erase gate for each row of floating gates
US5717632A (en) 1996-11-27 1998-02-10 Advanced Micro Devices, Inc. Apparatus and method for multiple-level storage in non-volatile memories
US6282145B1 (en) 1999-01-14 2001-08-28 Silicon Storage Technology, Inc. Array architecture and operating methods for digital multilevel nonvolatile memory integrated circuit system
US6103573A (en) 1999-06-30 2000-08-15 Sandisk Corporation Processing techniques for making a dual floating gate EEPROM cell array
US6538922B1 (en) 2000-09-27 2003-03-25 Sandisk Corporation Writable tracking cells

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7889563B2 (en) 2008-06-12 2011-02-15 Samsung Electronics Co., Ltd. Memory device and method of controlling read level
KR20180085107A (ko) * 2017-01-17 2018-07-26 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법

Also Published As

Publication number Publication date
US6678192B2 (en) 2004-01-13
JP2005509226A (ja) 2005-04-07
JP4398249B2 (ja) 2010-01-13
DE60224552T2 (de) 2009-01-08
CN1578988B (zh) 2010-04-28
DE60224552D1 (de) 2008-02-21
CN1578988A (zh) 2005-02-09
TW200300227A (en) 2003-05-16
ATE383648T1 (de) 2008-01-15
EP1440447A1 (en) 2004-07-28
US20030086293A1 (en) 2003-05-08
EP1440447B1 (en) 2008-01-09
TWI285807B (en) 2007-08-21
WO2003041083A1 (en) 2003-05-15
KR101009545B1 (ko) 2011-01-18

Similar Documents

Publication Publication Date Title
KR20040074979A (ko) 쓰기 가능 추적 저장 장치 유닛의 에러 관리
US6643187B2 (en) Compressed event counting technique and application to a flash memory system
US8125833B2 (en) Adaptive dynamic reading of flash memories
US7397707B2 (en) Compressed event counting technique and application to a flash memory system
US8799563B2 (en) Methods for adaptively programming flash memory devices and flash memory systems incorporating same
JP5798737B2 (ja) 半導体記録装置、半導体記録装置の制御方法及び半導体記録システム
CN110473581B (zh) 固态储存装置及其相关控制方法
JP2007507804A (ja) フラッシュメモリのデータ修正およびスクラブ技術
CN110246533B (zh) 固态储存装置的失败模式检测方法及错误更正方法
US10204693B2 (en) Retiring computer memory blocks
US11500582B2 (en) Trigger margin based dynamic program step characteristic adjustment
TW202113850A (zh) 記憶體系統以及記憶體操作方法
CN112506809A (zh) 存储器系统以及存储器操作方法

Legal Events

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

Payment date: 20131218

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141230

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151217

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20161220

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20171219

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 9