KR101202537B1 - 메모리 디바이스를 위한 결합된 왜곡 추정 및 에러 보정 코딩 - Google Patents
메모리 디바이스를 위한 결합된 왜곡 추정 및 에러 보정 코딩 Download PDFInfo
- Publication number
- KR101202537B1 KR101202537B1 KR1020087028793A KR20087028793A KR101202537B1 KR 101202537 B1 KR101202537 B1 KR 101202537B1 KR 1020087028793 A KR1020087028793 A KR 1020087028793A KR 20087028793 A KR20087028793 A KR 20087028793A KR 101202537 B1 KR101202537 B1 KR 101202537B1
- Authority
- KR
- South Korea
- Prior art keywords
- delete delete
- analog value
- memory cell
- cell
- distortion
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4099—Dummy cell treatment; Reference voltage generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1072—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
- G11C16/28—Sensing or reading circuits; Data output circuits using differential sensing or reference cells, e.g. dummy cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
Abstract
본 메모리 디바이스를 오퍼레이팅하는 방법은 에러 보정 코드(ECC)를 사용하여 데이터를 인코딩하고, 인코딩된 데이터를 제1아날로그 값으로서 메모리 디바이스의 각각의 아날로그 메모리 셀에 저장하는 단계를 포함한다. 인코딩된 데이터를 저장한 후, 제2아날로그 값은 인코딩된 데이터가 저장된 메모리 디바이스의 각각의 메모리 셀로부터 판독된다. 제2아날로그 값의 적어도 일부는 각각의 제1아날로그 값과 상이하다. 제2아날로그 값에 존재하는 왜곡이 추정된다. 추정된 왜곡에 응답하여 제2아날로그 값에 관한 에러 보정 메트릭스가 계산된다. 제2아날로그 값은 데이터를 복구하기 위해 ECC 디코딩 프로세스에서 에러 보정 메트릭스를 사용하여 프로세싱된다.
메모리 디바이스, 아날로그 메모리 셀, 왜곡 추정, ECC 인코딩/디코딩, 에러 보정 메트릭스, 피드백.
Description
본 출원은 2006년 5월 12일에 출원된 미국가특허출원 제60/747,106호, 2006년 10월 30일에 출원된 미국가특허출원 제60/863,480호, 2006년 11월 1일에 출원된 미국가특허출원 제60/863,810호, 2006년 11월 28일에 출원된 미국가특허출원 제60/867,399호, 2007년 1월 16일에 출원된 미국가특허출원 제60/885,024호, 2007년 1월 23일에 출원된 미국가특허출원 제60/886,102호, 2007년 2월 11일에 출원된 미국가특허출원 제60/889,277호, 2007년 3월 4일에 출원된 미국가특허출원 제60/892,869호, 2007년 3월 12일에 출원된 미국가특허출원 제60/894,290호, 2007년 3월 13일에 출원된, 미국가특허출원 제60/894,456호, 2007년 4월 16일에 출원된 미국가특허출원 제60/912,056호, 및 2007년 4월 22일에 출원된 미국가특허출원 제60/913,281호에 대한 우선권을 주장한다.
본 발명은 일반적으로 메모리 디바이스에 관한 것이고, 더욱 상세하게는 에러 보정 코딩 및 왜곡 추정을 사용하여 메모리 디바이스의 성능을 향상시키는 방법 및 시스템에 관한 것이다.
플래시 메모리 및 디램(DRAM)과 같은, 몇몇 타입의 메모리 디바이스는 데이 터를 저장하기 위해 아날로그 메모리 셀 어레이를 사용한다. 플래시 메모리 디바이스는, 예컨대, 'Bez et al.'의, 2003년 4월, "Introduction to Flash Memory", 'Proceedings of the IEEE', 볼륨 91, 넘버 4, 페이지 489-502에 서술되어 있다.
이러한 메모리 디바이스에서, 각각의 아날로그 메모리 셀은 셀에 저장된 정보를 나타내는 임의의 전하량을 보유하는 트랜지스터를 포함하는 것이 전형적이다. 특정 셀에 기록된 전하는 그 셀의 "임계전압", 즉, 셀이 전류를 통전하기 위해 셀에 인가되어야 하는 전압에 영향을 준다.
일반적으로 단일레벨 셀(SLC) 디바이스라 하는, 몇몇 메모리 디바이스는 각각의 메모리 셀에 단일 비트의 정보를 저장한다. 전형적으로, 그 셀의 가능한 임계전압 범위는 두 영역으로 나눠진다. 제1영역에 속하는 전압값은 "0"비트 값을 나타내고, 제2영역에 속하는 전압은 "1"비트를 나타낸다. 멀티레벨 셀(MLC)이라 하는, 고밀도 디바이스는 메모리 셀마다 둘 이상의 비트를 저장한다. 멀티-레벨 셀에서, 임계전압의 범위는 두 개 이상의 영역으로 나누어지고, 각각의 영역은 하나의 비트 이상을 나타낸다.
멀티레벨 플래시 셀 및 디바이스는, 예컨대, 'Eitan et al.'의, "Multilevel Flash Cells and their Trade-Offs", 'Proceedings of the 1996 IEEE International Electron Devices Meeting(IEDM)', 뉴욕, 페이지 169-172에 서술되어 있다. 이 문서는 커먼 그라운드, DINOR, AND, NOR, 및 NAND 셀과 같은, 몇가지 종류의 멀티레벨 플래시 셀을 비교한다.
다른 예시적인 타입의 아날로그 메모리 셀은 니트라이드 롬(NROM) 셀, 강자 성체 RAM(FRAM) 셀, 자성 RAM(MRAM) 셀, 및 상변화 RAM(PRAM, 상변화 메모리, PCM이라고도 함) 셀이다. NROM 셀은, 예컨대, 'Maayan et al.'의, "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), 캘리포니아주 샌프란시스코, 2002년 2월 3-7일, 페이지 100-101에 서술되어 있다.
FRAM, MRAM, 및 PRAM 셀은, 예컨대, 'Kim an Koh'의, "Future Memory Technology including Emeging New Memories", 'Proceedings of the 24th International Conference on Microelectronics(MIEL), 세르비아 몬테네그로, 니스, 2004년 5월 16-19일, 볼륨 1, 페이지 377-384에 서술되어 있다.
몇몇 어플리케이션에서, 메모리 디바이스에 저장된 데이터는 에러 보정 코드(ECC)를 사용하여 인코딩된다. 예를 들어, 'Rodney' 및 'Sayano'는 "On-Chip ECC for Multi-Level Ramdom Access Memories", 'Proceedings of the 1989 IEEE/CAM Information Theory Workshop', 1989년 6월 25-29일, Ithaca, New yock에서, 멀티레벨 저장 셀을 사용하는 램 디바이스의 보호를 위한 다양한 온-칩 코딩 기술을 설명한다. 다른 예로서, 미국특허 제6,212,654호는 코딩 변조기술을 사용하여 아날로그 메모리 디바이스에 데이터를 저장하는 방법을 설명한다. 멀티레벨 메모리 디바이스에 대한 다른 ECC 스킴은 미국특허 제6,469,931호, 및 제7,023,735호에 서술되어 있다.
아날로그 메모리 셀로부터 판독된 임계전압값은 때때로 왜곡된다. 이러한 왜곡은 이웃한 메모리 셀로부터의 전기장 커플링, 어레이의 동일한 칼럼의 다른 셀 에 의해 발생되는 백 패턴 의존(BPD), 어레이 내의 다른 셀의 오퍼레이션에 의해 발생되는 교란 노이즈, 및 디바이스 에이징에 의해 발생되는 임계전압 드리프트와 같은, 다양한 이유로 인한 것이다. 몇몇 일반적인 왜곡 메카니즘은 상기 언급된 'Bez et al.'의 아티클에 서술되어 있다. 메모리 셀 내의 간섭은 또한 'Lee et al.'의, "Effects of Floating Gate Interference on NAND Flash Memory Cell Operation", 'IEEE Electron Device Letters', (23:5), 2002년 5월, 페이지 264-266에 서술되어 있다.
미국특허 제5,867,429호는 고밀도 플래시 이이피롬 셀 어레이의 플로팅 게이트 간의 전기장 커플링을 보상하는 방법을 설명한다. 본 방법에 따라, 셀의 판독은 판독되는 셀과 필드-커플링된 모든 셀의 상태는 먼저 판독함으로써 보상된다. 그 다음, 플로팅 게이트 전압 또는 각각의 커플링된 셀의 상태에 관한 숫자는 셀 간의 커플링 비율에 의해 곱해진다. 각각의 셀에 대한 상태 사이의 브레이크포인트는 인접한 셀로부터 커플링된 전압을 보상하는 크기만큼 조절된다.
본 발명의 실시예는 메모리 디바이스를 오퍼레이팅하는 방법으로서,
에러 보정 코드(ECC)를 사용하여 데이터를 인코딩하고, 인코딩된 데이터를 제1아날로그 값으로 메모리 디바이스의 각각의 아날로그 메모리 셀에 저장하는 단계;
인코딩된 데이터를 저장하는 단계 후, 인코딩된 데이터가 저장되어 있는 메모리 디바이스의 메모리 셀로부터, 각각의 제1아날로그 값과 적어도 일부분 상이한 각각의 제2아날로그 값을 판독하는 단계;
상기 제2아날로그 값에 존재하는 왜곡을 추정하는 단계;
추정된 왜곡에 응답하여 제2아날로그 값에 관한 에러 보정 메트릭스를 계산하는 단계; 및
데이터를 복구하기 위해, ECC 디코딩 프로세스에서 상기 에러 보정 메트릭스를 사용하여 제2아날로그 값을 프로세싱하는 단계를 포함하는 방법을 제공한다.
몇몇 실시예에서, 상기 에러 보정 메트릭스는, 각각의 셀에 대하여, 왜곡을 나타내는 하나 이상의 셀 파라미터를 평가하는 단계; 및 셀 파라미터에 응답하여 에러 보정 메트릭스를 계산하는 단계를 포함한다. 셀 파라미터는 다른 메모리 셀로부터 판독된 아날로그 값, 다른 메모리 셀의 추정된 크로스 커플링 계수, 판독된 제2아날로그 값의 통계적 분포 파라미터, 메모리 셀이 겪은 이전 프로그래밍 및 삭제의 횟수, 이전 프로그래밍 및 삭제 사이클 이후 경과된 시간 기간, 메모리 셀에서 검출된 이전 에러, 메모리 셀이 연결된 워드 라인의 식별정보, 메모리 셀이 연결된 비트 라인의 식별정보, 메모리 셀이 연결된 비트 라인에 연결된 센스 증폭기의 추정된 파라미터, 및 환경 파라미터로 구성된 한 그룹의 파라미터로부터 선택된 적어도 하나의 파라미터를 포함할 수 있다.
다른 실시예에서, 상기 제2아날로그 값을 프로세싱하는 단계는 제2아날로그 값의 일 범위의 가능한 값을 복수의 디시전 구간으로 분할하는 단계, 및 제2아날로그 값이 속하는 각각의 디시전 구간을 판정하는 단계를 포함하고, 상기 에러 보정 메트릭스를 계산하는 단계는 ECC 디코딩 프로세스의 성능을 향상시키기 위해, 상기 디시전 구간에 대하여 제2아날로그 값을 조절하는 함수를 정의하는 단계를 포함한다.
또 다른 실시예에서, 상기 제2아날로그 값을 프로세싱하는 단계는 ECC 디코딩 프로세스의 성능에 관한 피드백을 수신하는 단계; 및 피드백에 응답하여 ECC 디코딩 프로세스를 조절하는 단계를 포함한다. 또 다른 실시예에서, 상기 제2아날로그 값을 프로세싱하는 단계는 제2아날로그 값을 디시전 임계값과 비교하는 단계를 포함하고, 상기 ECC 디코딩 프로세스를 조절하는 단계는 디시전 임계값을 조절하는 단계를 포함한다. 상기 디시전 임계값을 조절하는 단계는 조절된 디시전 임계값을 사용하여 메모리 셀로부터 제2아날로그 값을 재판독하는 단계를 포함할 수 있다. 한 실시예에서, 상기 제2아날로그 값을 디시전 임계값과 비교하는 단계는 디시전 임계값을 사용하여 메모리 디바이스에서 제2아날로그 값을 판독하는 단계를 포함하고, 상기 디시전 임계값을 조절하는 단계는 임계값을 조절할 것을 요청하는 커멘드를 메모리로 전송하는 단계를 포함한다.
본 실시예에서, 상기 제2아날로그 값을 프로세싱하는 단계는 상이한 세트의 디시전 임계값을 사용하여 ECC 디코딩 프로세스의 각각의 복수의 반복을 실행함으로써, 각각의 메모리 셀에 저장된 데이터의 복수의 추정치를 산출하는 단계, 및 상기 데이터의 복수의 추정치에 응답하여 데이터를 복구하는 단계를 포함한다. 상기 데이터를 복구하는 단계는 각각의 메모리 셀에 대하여 독립적으로 복수의 추정치 중 하나를 선택하는 단계를 포함할 수 있다.
몇몇 실시예에서, 상기 제2아날로그 값을 프로세싱하는 단계는 제1에러 성능을 가진 제1ECC 디코딩 프로세스를 적용하는 단계를 포함하고, 상기 피드백을 수신하는 단계는 제1프로세스를 사용하여 디코딩된 데이터 내 디코딩 에러의 지시를 수신하는 단계를 포함하고, 그리고 상기 ECC 디코딩 프로세스를 조절하는 단계는 제1에러 성능보다 우수한 제2에러 성능을 가진 제2ECC 디코딩 프로세스를 사용하여 제2아날로그 값을 프로세싱하는 단계를 포함한다. 다른 실시예에서, 상기 ECC 디코딩 프로세스를 조절하는 단계는 상기 제2아날로그 값을 판독하는 단계에서 사용되는 샘플링 레졸루션을 조절하는 단계를 포함한다.
몇몇 실시예에서, 상기 제2아날로그 값을 판독하는 단계는 제2아날로그 값의 복수의 인스탠스를 각각의 상이한 세트의 디시전 임계값을 사용하여 판독하는 단계를 포함하고, 상기 에러 보정 메트릭스를 계산하는 단계는 각각의 메모리 셀에 독립적으로 상기 복수의 인스탠스를 결합하는 단계, 및 상기 결합된 복수의 인스탠스를 기초로 상기 에러 보정 메트릭스를 계산하는 단계를 포함한다. 다른 실시예에서, 상기 제2아날로그 값의 상기 복수의 인스탠스를 판독하는 단계, 및 결합하는 단계는 제2아날로그 값의 추가 인스탠스를 반복적으로 획득하는 단계, 및 ECC를 성공적으로 디코딩할 때까지 추가 인스탠스를 사용하여 에러 보정 메트릭스를 갱신하는 단계를 포함할 수 있다.
몇몇 실시예에서, 각각의 메모리 셀에 대하여, 상기 왜곡을 추정하는 단계는 메모리 셀로부터 판독된 제2아날로그 값 내의 왜곡에 잠재적으로 영향을 미치는 한 서브셋의 잠재적 간섭 메모리 셀로부터 제2아날로그 값을 판독하는 단계를 포함하고, 상기 에러 보정 메트릭스를 계산하는 단계는 잠재적 간섭 메모리 셀에 의한 왜곡을 평가하는 단계를 포함한다. 한 실시예에서, 상기 잠재적 간섭 메모리 셀에 의한 왜곡을 평가하는 단계는 잠재적 간섭 메모리 셀로부터 판독된 제2아날로그 값, 및 메모리 셀로부터 판독된 제2아날로그 값을 모두 기초로 하여 각각의 잠재적 간섭 메모리 셀에 의한 왜곡의 근사치를 구하는 단계를 포함한다. 다른 실시예에서, 상기 제2아날로그 값을 프로세싱하는 단계는 제1양자화 레벨로 메모리 셀의 제2아날로그 값을 프로세싱하는 단계, 및 제1양자화 레벨 보다 더 거친(coarser) 제2양자화 레벨로 잠재적 간섭 메모리 셀로부터 판독된 제2아날로그 값을 프로세싱하는 단계를 포함한다. 상기 제2아날로그 값을 프로세싱하는 단계는 제2아날로그 값을 판독하기 위해 사용된 회로의 임계값을 반복적으로 조절함으로써 제1 및 제2양자화 레벨로 제2아날로그 값을 판독하는 단계를 포함할 수 있다.
본 실시예에서, 상기 인코딩된 데이터를 저장하는 단계는 프로그램 및 검증(P&V) 프로세스를 사용하여 제1아날로그 값을 메모리 셀에 기록하는 단계를 포함하고, 상기 왜곡을 추정하는 단계는 잠재적 간섭 메모리 셀을 메모리 셀보다 먼저 완전히 프로그래밍된 메모리 셀, 메모리 셀보다 늦게 완전히 프로그래밍된 메모리 셀, 및 P&V 프로세스에 의해 메모리 셀과 동시에 완전히 프로그래밍된 메모리 셀로 구성된 한 그룹의 클래스로부터 선택된 적어도 두 개의 클래스로 분류하는 단계, 및 상기 클래스 각각에서 개별적으로 전체 왜곡을 계산하는 단계를 포함한다.
몇몇 실시예에서, 메모리 셀은 플래시 메모리 셀, 디램(DRAM) 셀, 상변화 메모리(PCM) 셀, 니트라이드 롬(NROM) 셀, 자성 램(MRAM) 셀, 강자성체 램(FRAM) 셀을 포함할 수 있다.
본 실시예에서, ECC는 블록 코드를 포함한다. 블록 코드는 BCH(Bose-Chaudhuri-Hochquenghem) 코드 및 RS(Reed-Solomon) 코드 중 하나를 포함할 수 있다. 한 실시예에서, 블록 코드는 저밀도 패리티 검사(LDPC) 코드, 터보 코드, 및 터보 프로덕트 코드(TPC) 코드 중 하나를 포함할 수 있다. ECC 디코딩 프로세스는 반복적 디코딩 프로세스를 포함할 수 있다. 부가적으로 또는 대안으로서, ECC 디코딩 프로세스는 제2아날로그 값을 판독함으로써 생성된 피드백을 사용할 수 있다. ECC 디코딩 프로세스는 최대가능성 제곱 추정(MLSE) 프로세스를 포함할 수 있다. ECC는 컨벌루션 코드, 트렐리스 코드변조(TCM) 코드, 비트삽입식 코드변조(BICM) 코드, 및 사슬식 코드(concatenated code) 중 하나를 포함할 수 있다. 에러 보정 메트릭스는 확률비(LRs:Likelihood Ratios) 또는 로그 확률비(LLRs:Log-Likelihood Ratios)를 포함할 수 있다.
몇몇 실시예에서, 상기 왜곡을 추정하는 단계는 다른 메모리 셀에 존재하는 왜곡을 기초로 상기 메모리 셀 중 하나에 존재하는 왜곡을 예측하는 단계를 포함한다.
한 실시예에서, 메모리 셀은 격리된 그룹의 잠재적 간섭 셀 내에 배열되어 있고, 각각의 그룹에서 상기 왜곡을 추정하는 단계는 그룹 내 메모리 셀쌍 사이의 상호 간섭을 나타내는 크로스 커플링 메트릭스의 역함수를 평가하는 단계를 포함하고, 상기 에러 보정 메트릭스를 계산하는 단계는 제1아날로그 값에 적용된, 그리고 상기 그룹 내 각각의 메모리 셀 내의 평균 왜곡 레벨과 합산된 크로스 커플링 메트릭스의 역함수와, 제2아날로그 값에 적용된 크로스 커플링 메트릭스의 역함수 사이의 거리를 계산하는 단계를 포함한다. 다른 실시예에서, 격리된 그룹은 각각의 NROM 셀을 포함하고, 각각의 그룹 내의 잠재적 간섭 셀은 각각의 NROM 셀의 제1 및 제2전하 저장 영역을 포함한다. 또 다른 실시예에서, 메모리 셀은 격리된 그룹의 잠재적 간섭 셀에 배열되어 있고, 각각의 그룹에서 상기 왜곡을 추정하는 단계는 상기 그룹 내의 각각의 메모리 셀 내의 평균 왜곡 레벨과 상기 그룹 내 메모리 셀 쌍 사이의 상호 간섭을 나타내는 크로스 커플링 메트릭스의 백터를 평가하는 단계를 포함하고, 상기 에러 보정 메트릭스를 계산하는 단계는 상기 그룹 내의 메모리 셀로부터 판독된 제2아날로그 값과 크로스 커플링 메트릭스의 프로덕트의 백터와 상기 평균 왜곡 레벨의 백터 사이의 거리에 응답하여 메트릭스를 계산하는 단계를 포함한다. 다른 실시예에서, 격리된 그룹은 각각의 니트라이드 롬(NROM) 셀을 포함하고, 각각의 그룹 내 잠재적 간섭 셀은 각각의 NROM 셀의 제1 및 제2전하 저장 영역을 포함한다.
또 다른 실시예에서, 상기 인코딩된 데이터를 저장하는 단계는 인코딩된 데이터를 스크램블링하는 단계, 및 스크램블된 데이터를 저장하는 단계를 포함하고, 상기 제2아날로그 값을 프로세싱하는 단계는 메모리 셀로부터 판독된 제2아날로그 값을 디스크램블링하는 단계를 포함한다. 또 다른 실시예에서, 상기 데이터를 저장하는 단계는 메모리 셀 중 적어도 일부를 삭제된 레벨로 유지하는 단계를 포함하고, 상기 제2아날로그 값을 판독하는 단계, 상기 왜곡을 추정하는 단계, 상기 에러 보정 메트릭스를 계산하는 단계, 및 상기 제2아날로그 값을 프로세싱하는 단계는 삭제된 레벨로 유지되는 메모리로부터 제2아날로그 값 내의 왜곡을 보상하는 단계를 포함한다.
또한, 본 발명의 한 실시예에 따른, 메모리 디바이스를 오퍼레이팅하는 방법으로서,
메모리 디바이스의 각각의 아날로그 메모리 셀에 제1아날로그 값으로 데이터를 저장하는 단계;
데이터를 저장한 후, 각각의 메모리 셀로부터, 그 각각이 제2아날로그 값을 각각의 디시전 임계값과 비교함으로써 판독되는 제2아날로그 값의 복수의 인스탠스를 판독하는 단계;
제2아날로그 값에 존재하는 왜곡을 추정하는 단계; 및
데이터를 복구하기 위해, 추정된 왜곡에 응답하여 제2아날로그 값의 복수의 인스탠스를 프로세싱하는 단계를 포함하는 방법이 제공된다.
몇몇 실시예에서, 상기 복수의 인스탠스를 판독하는 단계 및 프로세싱하는 단계는 제2아날로그 값의 추가 인스탠스를 반복적으로 획득하는 단계를 포함한다.
또한, 본 발명의 한 실시예에 따라, 에러 보정 코드(ECC)를 사용하여 인코딩되고, 메모리 디바이스의 각각의 아날로그 메모리 셀에 제1아날로그 값으로 저장된 데이터를 추출하는 장치로서,
인코딩된 데이터가 저장된 메모리 디바이스의 아날로그 메모리 셀로부터 각각의 제1아날로그 값과 적어도 일부분 상이한 각각의 제2아날로그 값을 판독하도록 배열된 판독 유닛;
제2아날로그 값 내에 존재하는 왜곡을 추정하도록, 그리고 추정된 왜곡에 응답하여 제2아날로그 값에 관한 에러 보정 메트릭스를 계산하도록 배열된 신호처리 유닛; 및
ECC를 디코딩하고, 데이터를 복구하기 위해, 에러 보정 메트릭스를 사용하여 제2아날로그 값을 프로세싱하도록 배열된 디코더를 포함하는 장치가 제공된다.
한 실시예에서, 판독 유닛은 제1집적회로(IC)에 설치되고, 신호처리 유닛, 및 디코더는 제1IC와 상이한 제2IC에 설치된다. 한 대안의 실시예에서, 판독 유닛, 신호처리 유닛, 및 디코더는 단일 디바이스에 통합된다.
또한, 본 발명의 한 실시예에 따라, 메모리 디바이스의 각각의 아날로그 메모리 셀에 제1아날로그 값으로 저장된 데이터를 추출하는 장치로서,
각각의 메모리 셀로부터, 각각이 제2아날로그 값과 각각의 디시전 임계값을 비교함으로써 판독되는 제2아날로그 값의 복수의 인스텐스를 판독하도록 배열되어 있는 판독 유닛; 및
제2아날로그 값에 존재하는 왜곡을 추정하고, 데이터를 복구하기 위해 추정된 왜곡에 응답하여 제2아날로그 값의 복수의 인스탠스를 프로세싱하도록 배열되어 있는 신호처리 유닛을 포함하는 장치가 제공된다.
본 발명은 도면을 참조하여, 아래의 실시예의 상세한 설명으로부터 더욱 완전히 이해될 것이다.
도 1은 본 발명의 한 실시예에 따른, 메모리 신호 프로세싱 시스템을 개략적으로 도시하는 블록 다이어그램이고;
도 2는 본 발명의 한 실시예에 따른, 메모리 셀 어레이를 개략적으로 도시하 는 다이어그램이고;
도 3는 본 발명의 한 실시예에 따른, 메모리 셀 어레이 내의 전압 분포를 도시하는 그래프이고;
도 4는 본 발명의 한 실시예에 따른, 메모리 셀 어레이로부터 데이터를 추출하는 프로세스를 개략적으로 도시하는 기능 블록 다이어그램이고;
도 5는 본 발명의 다른 실시예에 따른, 메모리 셀 어레이로부터 데이터를 추출하는 방법을 개략적으로 도시하는 플로우 차트이고; 그리고
도 6은 본 발명의 한 실시예에 따른, 메모리 셀 어레이 내의 왜곡을 추정하는 방법을 개략적으로 도시하는 플로우 차트이다.
개요
본 발명의 실시예는 메모리 디바이스에 저장된 정보를 추출하는 개선된 방법 및 시스템을 제공한다. 아래 서술된 실시예에서, 데이터는 한 어레이의 아날로그 메모리 셀에 기록된 전하의 레벨로 저장된다. 전하 레벨은 그 셀의 각각의 임계전압을 결정한다. 다양한 왜곡 메카니즘의 영향을 줄이기 위해, 데이터는 메모리 셀에 저장되기 전에 에러 보정 코드(ECC)를 사용하여 인코딩된다.
데이터는 메모리 셀의 임계전압을 판독하고, ECC 디코더를 사용하여 ECC를 디코딩함으로써 복구된다. ECC 디코더는 판독된 전압에 대하여 정의된 LLRs와 같은, ECC 메트릭스를 오퍼레이팅한다.
신호처리 유닛은 판독된 전압 내에 존재하는 왜곡을 추정한다. 왜곡은 이러 한 셀 상에 수행되는 오퍼레이션, 및/또는 에이징과 같은 효과에 의해 어레이 내의 다른 셀에 의해 영향을 받을 수 있다. 왜곡 메카니즘에 따라, 셀에 저장된 전하, 및/또는 센싱되고 샘플링된 전압의 실제 레벨이 영향을 받을 수 있다. 신호처리 유닛은 추정된 왜곡을 기초로 ECC 메트릭스를 계산하고, 그 ECC 메트릭스를 ECC 디코더에 제공한다. ECC 디코더는 타겟 메모리 셀에 저장된 데이터를 복구하기 위해 그 메트릭스를 사용하여 ECC를 디코딩한다. ECC 메트릭스는 또한 기대 왜곡 레벨을 나타내는 추가적인 임의의 셀 파라미터를 고려할 수 있다. 몇몇 실시예에서, ECC 디코딩 프로세스의 성공, 실패, 또는 품질과 같은 피드백이 디코딩 프로세스의 오퍼레이션을 조절하기 위해 사용된다.
추정된 왜곡을 기초로 하는 ECC 메트릭스를 사용하는 것은 ECC 디코딩 프로세스의 성능을 상당히 향상시킨다. ECC 디코딩 프로세스의 향상된 성능은 몇가지 방법으로 더 높은 정보 저장밀도를 달성하기 위해 사용될 수 있다. 예를 들어, 각각의 메모리 셀에 저장되는 전압 레벨의 개수(또한, 그러므로 정보 비트의 개수)가 증가될 수 있다. 다른 실시예에서, 셀 사이에 증가된 크로스 커플링, 및/또는 더 높은 에이징 속도를 가질 수 있는 더 작고 더 밀집된 메모리 셀 어레이가,향상된 ECC 성능으로 인해, 우수한 성능으로 사용될 수 있다. 부가적으로 또는 대안으로서, 사용되는 코드 레이트가 주어진 에러율 요구사항에 대하여 감소될 수 있고, 그 결과 코딩 오버헤드가 감소한다. 대안의 실시예에서, 주어진 메모리 어레이 및 ECC의 에러 성능이 향상될 수 있다. 향상된 성능은 또한 메모리 디바이스에 의해 사용되는 임계전압의 범위를 줄이기 위해 사용될 수 있고, 그로 인해 디바이스의 전력소비가 감소하고, 신뢰도 및 내구력이 향상된다.
본 방법 및 시스템은 다양한 플래시 메모리 셀, DRAM 셀, NROM 셀, MRAM 셀, 및 PCM 셀과 같은, 셀 타입, 및 매우 다양한 메모리 디바이스에서 사용될 수 있다. 본 발명의 원리는 또한 하드디스크 드라이브(HDD)와 같은, 다양한 저장 매체 및 디바이스에 데이터를 저장하고 추출하기 위해 사용될 수 있다.
임의의 적합한 추정 방법이 메모리 셀 어레이로부터 판독된 전압 내의 왜곡을 추정하기 위해 사용될 수 있다. 몇 가지 예시적인 방법은 본 명세서에서 설명된다.
시스템 설명
도 1은 본 발명의 한 실시예에 따른, 메모리 신호 프로세싱 시스템(20)을 개략적으로 도시하는 블록 다이어그램이다. 시스템(20)은 메모리 셀 어레이(28)에 데이터를 저장하는 메모리 디바이스(24)를 포함한다. 메모리 어레이는 복수의 아날로그 메모리 셀(32)을 포함한다. 본 명세서 및 청구항에서, 용어 "아날로그 메모리 셀"은 전압 또는 전하와 같은 연속적인, 아날로그 값의 물리적 파라미터를 보유함으로써 정보를 저장하는 임의의 메모리 셀을 설명하기 위해 사용된다. 어레이(28)는, 예컨대, NAND 및 NOR 플래시 셀, PCM, NROM, FRAM, MRAM, 및 DRAM 셀과 같은, 임의의 종류의 아날로그 메모리 셀을 포함할 수 있다.
디바이스(24)에 저장할 데이터가 디바이스에 제공되고 데이터 버퍼(36)에 캐싱된다. 그 다음, 데이터는 아날로그 값으로 변환되고, 그 기능이 아래에 더욱 상세하게 설명되어 있는 판독/기록(R/W) 유닛(40)을 사용하여 메모리 셀(32)에 기록 된다. 어레이(28)에서 데이터를 판독할 때, 유닛(40)은 전하, 및 그러므로 메모리 셀(32)의 아날로그 전압을 디지털 샘플로 변환한다. 각각의 디지털 샘플은 하나 이상의 비트를 사용하여 표현된다. 샘플은 버퍼(36)에 캐싱된다. 유닛(40)에 의해 산출된 샘플을 소프트 샘플이라고도 한다. 메모리 디바이스(24)의 오퍼레이션 및 타이밍은 컨트롤 로직(48)에 의해 관리된다.
메모리 디바이스(24)에 데이터를 저장하고 데이터를 추출하는 것은 메모리 신호 프로세서(MSP, 52)에 의해 수행된다. MSP(52)는 메모리 디바이스(24)와 호스트 또는 데이터를 저장하고 추출하는 어플리케이션 사이을 중재한다. 아래에 상세하게 설명된 바와 같이, MSP(52)는 데이터의 신뢰도 및 저장 밀도를 향상시키기 위해 에러 보정 코딩 및 왜곡 추정을 결합하는 독창적인 방법을 사용한다.
MSP(52)는 디바이스(24)에 기록될 데이터를 인코딩하고, 디바이스(24)에서 데이터를 판독할 때 ECC를 디코딩하는 인코더/디코더(64)를 포함한다. 신호처리 유닛(60)은 디바이스(24)에 기록되고 추출되는 데이터를 프로세싱한다. 더욱 상세하게는, 유닛(60)은 셀(32)에서 판독된 전압에 영향을 미치는 왜곡을 추정한다. 추정된 왜곡은 아래에 더욱 상세하게 설명된 바와 같이, ECC의 성능을 향상시키기 위해 사용된다.
MSP(52)는 데이터를 저장하고 메모리 디바이스(24)와 인터페이싱하기 위해 유닛(60)에 의해 사용되는 데이터 버퍼(72)를 포함한다. MSP(52)는 또한 MSP와 호스트 사이의 인터페이스를 형성하는 입/출력(I/O) 버퍼(56)를 포함한다. 컨트롤러(76)는 MSP(52)의 오퍼레이션 및 타이밍을 관리한다. 아래에 설명된 기능을 수 행함은 물론, 컨트롤러(76)는 마모 레벨링 및 배드 블록 관리와 같은 부가적인 메모리 관리 기능을 수행할 수 있다. 신호처리 유닛(60) 및 컨트롤러(76)는 하드뤠어로 구현될 수 있다. 대안으로서, 유닛(60) 및/또는 컨트롤러(76)는 적합한 소프트웨어를 구동하는 마이크로프로세서, 또는 하드웨어와 소프트웨어 엘리먼트의 조합을 포함할 수 있다.
도 1의 구성은 명료함을 위해 간단하게 도시된 한 예시적인 시스템 구성이다. 임의의 다른 구성이 또한 사용될 수 있다. 각종 인터페이스, 어드레싱 회로, 타이밍 및 시퀀싱 회로, 데이터 스크램블링 회로, 및 디버깅 회로와 같은, 본 발명의 원리를 이해하는데 필수적이지 않은 엘리먼트는 명료함을 위해 생략되었다.
도 1에 도시된 예시적인 시스템 구성에서, 메모리 디바이스(24) 및 MSP(52)는 두 개의 개별 집적회로(IC)로 구현된다. 그러나, 대안의 실시예에서, 메모리 디바이스와 MSP는 단일 IC, 또는 시스템온칩(SoC)에 통합될 수 있다. 몇몇 실시예에서, 하나의 MSP(52)는 복수의 메모리 디바이스(24)에 연결될 수 있다. 시스템(20) 구현의 임의의 실시예의 추가적인 아키텍처 형태는 미국 가특허출원 제60/867,399호에 더욱 상세히 설명되어 있다.
전형적인 기록 오퍼레이션에서, 디바이스(24)에 기록될 데이터는 호스트로부터 수신되고 I/O 버퍼(56)에 캐싱된다. 인코더/디코더(64)는 데이터를 인코딩하고, 인코딩된 데이터는 데이터 버퍼(72)를 통해 메모리 디바이스(24)로 전송된다. 디바이스(24)에서, 데이터는 임시적으로 버퍼(36)에 저장된다. R/W 유닛(60)은 데이터를 아날로그 전압값으로 변환하고, 그 데이터를 어레이(28)의 적합한 셀(32)에 기록한다.
전형적인 판독 오퍼레이션에서, R/W 유닛(40)은 적합한 메모리 셀(32)로부터 아날로그 전압값을 판독하고, 그 전압을 디지털 샘플로 변환한다. 이 샘플은 버퍼(36)에 캐싱되고, MSP(52)의 버퍼(72)로 전송된다. 신호처리 유닛(60)은 아래에 서술된 방법을 사용하여, 데이터 샘플 내에 존재하는 왜곡을 추정한다.
데이터 블록은 버퍼(72)로부터 유닛(60)으로 전송되고, 인코더/디코더(64)는 이 블록의 ECC를 디코딩한다. 인코더/디코더(64)는 ECC 디코딩 프로세스의 성능 향상을 위해 유닛(60)에 의해 제공된 왜곡 추정을 사용한다. 디코딩된 데이터는 I/O 버퍼(56)를 통해 호스트로 전송된다.
몇몇 실시예에서, MSP(52)는 왜곡 추정 성능을 향상시키기 위해, 메모리 셀에 데이터가 저장되기 전에 데이터를 스크램블링하고, 메모리 셀로부터 판독된 데이터를 디스크램블링한다.
메모리 어레이 구조 및 왜곡 메카니즘
도 2는 본 발명의 한 실시예에 따른, 메모리 셀 어레이(28)를 개략적으로 도시하는 다이어그램이다. 도 2는 특정 어레이 구성로 연결된 플래시 메모리 셀을 다루고 있으나, 본 발명의 원리는 다른 타입의 메모리 셀, 및 다른 어레이 구성에도 적용가능하다. 몇몇 예시적인 셀 타입 및 어레이 구성은 배경기술에 언급된 참조문헌에 서술되어 있다.
어레이(28)의 메모리 셀(32)은 복수의 로우 및 칼럼을 가진 그리드로 배열되어 있다. 각각의 셀(32)은 플로팅게이트 모스(MOS) 트랜지스터를 포함한다. 특정 전하량(전자 또는 홀)이 트랜지스터의 게이트, 소스, 및 드레인에 적절한 전압 레벨을 인가함으로써 특정 셀에 저장될 수 있다. 셀에 저장된 값은 트랜지스터를 통전시키기 위해 트랜지스터의 게이트에 인가되어야 하는 최소 전압으로 정의된, 그 세의 임계전압을 측정함으로서 판독될 수 있다.
도 2의 예시적인 구성에서, 각각의 로우의 트랜지스터 게이트는 워드 라인(80)에 의해 연결되어 있다. 각각의 칼럽의 트랜지스터의 소스는 비트 라인(84)에 의해 연결된다. 몇몇 NOR 셀 디바이스와 같은, 몇몇 실시예에서, 소스는 비트 라인에 직접 연결된다. 몇몇 NAND 셀 디바이스와 같은, 대안의 실시예에서, 비트 라인은 플로팅게이트 셀의 스트링에 연결된다.
전형적으로, R/W 유닛(40)은 그 셀의 게이트(즉, 셀이 연결된 워드 라인에)에 가변전압 레벨을 인가하고, 셀의 드레인 전류가 특정 임계전압을 초과하는지(즉, 트랜지스터가 통전하였는지)를 체크함으로써 특정 셀(32)의 임계전압을 판독한다. 유닛(40)은 일반적으로 셀이 연결된 워드라인에 한 시퀀스의 상이한 전압값을 적용하고, 드레인 전류가 임계값을 초과하는 최소 게이트 전압 값을 판정한다. 전형적으로, 유닛(40)은 페이지라고도 불리는 셀의 전체 로우를 동시에 판독한다.
몇몇 실시예에서, 유닛(40)은 셀의 비트 라인을 특정 전압 레벨로 미리충전함으로써 드레인 전류를 측정한다. 게이트 전압이 원하는 값으로 설정된 후, 드레인 전류는 비트 라인 전압을 그 셀을 통해 방전시킨다. 유닛(40)은 게이트 전압이 인가된 수초 후 비트 라인 전압을 특정하고, 그 비트 라인 전압을 임계값과 비교한다. 몇몇 실시예에서, 각각의 비트 라인(84)은 비트 라인 전류를 증폭하고, 그것 은 전압으로 변환하는 각각의 센스 증폭기에 연결된다. 증폭된 전압은 비교기를 사용하여 임계값과 비교된다.
본 명세서에 서술된 몇몇 방법은 판독된 레벨이 비교되는 임계값의 조절을 포함한다. 이러한 임계값 조절은 몇몇 경우에, 각각의 판독 오퍼레이션 이전에, 고속으로 수행될 수 있다. 몇몇 실시예에서, 메모리 디바이스(24), 및 특히 R/W 유닛(40)은 고속이고, 효율적으로 유연한 임계값 조절을 가능하게 하도록 설계된다. 예를 들어, MSP(52)와 메모리 디바이스(24) 사이의 인터페이스는 R/W 유닛(40)에 의해 고속의 효율적인 임계값 조절을 가능하게 하는 커맨드를 포함할 수 있다. 이러한 커맨드는 각각의 개별 임계값마다 요청된 조절을 특정하거나, 전체 임계값 세트의 일정한 조절을 요청할 수 있다. 이러한 목적으로 사용될 수 있는 예시적인 커맨드 인터페이스는 미국 가특허출원 제60/889,277호, 제60/912,056호, 및 제60/913,281호에 설명되어 있다.
상술된 전압 판독 방법은 한 예시적인 방법이다. 대안으로서, R/W 유닛(40)은 셀(32)의 임계전압을 판독하는 임의의 다른 적합한 방법을 사용할 수 있다. 예를 들어, 유닛(40)은 비트 라인 전압을 디지털 샘플로 변환하는 하나 이상의 아날로그 투 디지털 컨버터(ADCs)를 포함할 수 있다. 다른 대안으로서, 본 방법 및 시스템은 아날로그 메모리 셀에 아날로그 값을 기록하고 판독하는 임의의 적합한 방법 및 수단과 함께 사용될 수 있다.
몇몇 실시예에서, 전체 페이지(로우)는 병렬로 기록되고 판독된다. 셀의 삭제는 통상적으로 복수의 페이지를 포함하는 블록으로 수행된다. 전형적인 메모리 디바이스는 수십만 페이지를 포함할 수 있고, 각각의 페이지는 수천 셀(예컨대, 16K, 또는 32K 셀)을 포함한다. 전형적인 삭제 블록은 128 페이지 단위이나, 다른 블록 크기가 사용될 수 있다.
R/W 유닛(40)에 의해 디지털화된 전압은 어레이(28) 내의 다양한 왜곡 메카니즘에 의해 발생된 다양한 타입의 왜곡을 포함할 수 있다. 몇몇 왜곡 메카니즘은 셀에 저장된 실제 전하에 영향을 주고, 다른 메카니즘은 센싱된 전압을 왜곡시킨다. 예를 들어, 어레이 내에 인접한 셀 간의 전기적 커플링은 특정 셀 내의 임계전압을 변경시킬 수 있다. 이러한 영향을 간섭 노이즈라 한다. 다른 예로서, 전하는 시간이 흐름에 따라 셀에서 누수될 수 있다. 이러한 에이징 효과로 인해, 셀의 임계전압은 시간이 흐름에 따라 처음 기록된 값에서 드리프트될 수 있다.
다른 셀의 의도되지 않은 프로그래밍 또는 삭제를 일으키는, 통상적으로 교란 노이즈라 하는, 다른 타입의 왜곡은 어레의 내의 특정 셀상의 판독, 기록, 또는 삭제 오퍼레이션에 의해 발생된다. 또 다른 예로서, 특정 셀의 소스-드레인 전류는 백 패턴 의존이라 불리는 효과로 인해, 인접한 셀, 예컨대, 동일한 NAND 셀 스트링 내의 다른 셀 내의 전하에 의해 영향을 받을 수 있다.
도 3은 본 발명의 한 실시예에 따른, 메모리 셀 어레이(28) 내의 전압 분포를 도시하는 그래프이다. 도 3은 메모리 셀 어레이로부터의 판독값의 정밀도에 대한 왜곡 효과를 설명하기 위해 사용되었다. 도 3의 예에서, 각각의 셀(32)는 4개의 노미널 전압 레벨을 사용하여 2비트의 정보를 저장한다. 도 92A,...92D는 각각의 셀이 프로그래밍된 시간에, 전체 어레이에 대한 전압 분포를 도시한다. 도 92A는 "11" 비트값을 저장하는 셀 내의 전압 분포를 도시한다. 도 92B, 92C 및 92D는 각각 "01", "00", 및 "10" 비트값을 저장하는 셀 내의 전압 분포를 도시한다.
본 실시예에서, 셀(32)의 임계전압은 3비트 변환을 사용하여 판독된다. 그러므로, 임계전압의 범위는 8개의 디시전 존(96A,...96H)으로 분할된다. 각각의 셀의 데이터 컨텐트는 셀로부터 판독된 임계 레벨이 속하는 디시전 존을 기초로 판정된다. 예를 들어, 특정 셀로부터 판독된, 디시전 존(96F)에 속하는 전압레벨(98)은 그 셀의 데이터 컨텐트가 "00"임을 나타낸다. 디시전 존(96E)에 속하는 전압 레벨은 "11"의 데이터 컨텐트를 나타내는 것으로 해석됨을 이해해야 한다. 4개의 디시전 존은 일반적으로 4개의 가능한 비트 조합을 디코딩하기에 충분하지만, 8개의 디시전 존을 사용하는 것은 더 우수한 레졸루션을 제공하고, 왜곡 추정 및 디코딩 성능을 향상시킨다.
다양한 왜곡 메카니즘의 결과, 임계전압의 분포는 변할 수 있다. 예를 들어, 임계전압은 에이징에 의해 시간이 흐름에 따라 드리프트될 수 있다. 플롯(100A,...100D)은 각각 전압이 시간이 흐름에 따라 시프팅된 후, "11", "01", "00", 및 "10" 데이터 컨텐트를 가진 셀의 분포를 나타낸다.
더욱 상세하게는, 전압레벨(98)은 왜곡으로 인해 시프팅된 레벨(104)로 변한다. 도면에서 알수 있듯이, 전압 레벨(104)은 원래 의도되었던 존(96F)이 아니라, 디시전 존(96E)에 속한다. 본 예에서는, 8개의 디시전 존에 의해 제공된 증가된 레졸루션으로 인해, 편차가 필연적으로 디시전 에러를 발생시키지는 않을 것이다. 그러나, 일반적으로는, 왜곡은 셀의 데이터 컨텐트의 잘못된 판독을 발생시킬 수 있다.
ECC 디코딩 보조 왜곡 추정
시스템(20)은 ECC를 사용하여 저장된 데이터를 인코딩함으로써 셀(32)의 데이터 컨텐트에 대하여 잘못된 디시전을 내릴 확률을 감소시킨다. 본 예에서, 인코더/디코더(64)는 각각의 페이지 내의 데이터를 개별적으로 인코딩한다. 대안의 실시예에서, 데이터는 임의의 다른 적합한 크기를 가진 블록으로 인코딩될 수 있다. 예를 들어, 각각의 페이지는 수개의 섹터로 분할되고, 인코더/디코더(64)는 각각의 섹터 내의 데이터를 개별적으로 인코딩할 수 있다. 대안으로서, 데이터는 복수의 페이지에 대하여 인코딩될 수 있다.
공지된 다양한 타입의 에러 보정 코드가 데이터를 인코딩하기 위해 사용될 수 있다. ECC는, 예컨대, 고정크기 블록의 데이터를 개별적으로 인코딩하는 블록 코드를 포함할 수 있다. 예시적인 블록 코드는 BCH(Bose-Chaudhuri-Hochquenghem) 코드, 또는 리드-솔로몬(RS, Reed-Solomon) 코드를 포함할 수 있다. 특정 클래스의 블록 코드는 반복적인 디코딩 프로세스에 적합한 한 클래스의 코드이다. 반복적 프로세스를 사용하여 전형적으로 디코딩된 코드는, 예컨대, 저밀도 패리티 검사(LDPC) 코드, 터보 코드, 및 터보 프로덕트 코드(TPC) 코드를 포함한다. 다른 타입의 코드는 컨벌루션 코드, 트렐리스 코드변조(TCM) 코드를 포함할 수 있다. 다른 대안으로서, 코드는 전형적으로 컨벌루션 코드, 비트 삽입자(bit interleaver), 및 그레이 맵퍼(Gray mapper)를 포함하는 공지된 비트삽입식 코드변 조(BICM) 코드를 포함할 수 있다.
ECC 프로세스는, 대안으로서, 미국 가특허출원 제60/863,810호에 설명된 바와 같은, 피드백-코드 프로그래밍 프로세스를 포함할 수 있다. 몇몇 경우에, 두 개의 코드가 사슬식 코드를 형성하기 위해, 내부 코드, 및 외부 코드로서, 순차적으로 사용될 수 있다.
인코더/디코더(64)에 의해 사용되는 ECC는 판독된 데이터에 대하여 정의된 메트릭스를 오퍼레이팅한다. ECC 메트릭스는 특정 전압레벨로 판독될 때, 특정 정보 비트(또는 리드-솔로몬 코드, 및 트렐리스 코드의 경우에, 심볼)가 인코딩되는 통계적 확률에 관한 정보를 제공할 수 있다. ECC 메트릭스는 전압 분포(92A...92D)의 중심, 및 분산과 같은 파라미터를 기초로 할 수 있다.
전형적으로, MSP(52)는 전압 분포의 파라미터를 추정하고, 비트 또는 심볼 확률을 계산하기 위해 추정된 파라미터를 사용한다. 또한, MSP는 셀의 조건에 관한 정보를 유지하거나 수신할 수 있고, 그 셀 내의 전압 분포의 특성을 검사하기 위해 그 정보를 사용하고, 그에 따라 ECC를 조절할 수 있다. 예를 들어, MSP는 그 셀의 겪은 프로그램 및 삭제 사이클의 횟수, 및 그 셀이 얼마나 오래전에 프로그래밍되었는지를 트래킹할 수 있다. 이러한 파라미터는 그 셀이 프로그래밍된 후 셀이 겪은 누설 노이즈의 레벨을 나타낸다.
몇몇 실시예에서, ECC 메트릭스는 다음과 같은 LRs, 또는 LLRs를 포함할 수 있다:
여기서, Xi는 특정 메모리 셀에 저장된 하나 이상의 비트 중 특정 데이터 비트를 나타내고, r은 그 셀로부터 판독된 전압 레벨을 나타낸다. 대안으로서, ECC 메트릭스는 ECC 디코딩 프로세스를 보조하는, 메모리 셀로부터 판독된 전압 레벨에 대하여 정의된, 임의의 다른 메트릭스를 포함할 수 있다.
다른 타입의 ECC 메트릭스는 종종 AWGN(Additive White Gaussian Noise) 시나리오에서 사용되는 제곱오차 LLRs, 및 종종 비터비(viterbi) 디코더, TCM, 및 BICM 코드에서 사용되는 평균제곱오차 추정을 포함할 수 있다.
몇몇 실시예에서, ECC 메트릭스는 디코딩된 데이터의 상대적 신뢰도를 나타낼 수 있다. 예를 들어, 비트는 그 분포의 중심으로부터 판독된 임계 레벨의 거리를 기초로, "에러 의심", "정상", 또는 "안전"으로 분류될 수 있다. 판독된 전압이 디시전 존의 에지에 근접한 때, 대응 비트는 "에러 의심"으로 분류된다. 전압이 디시전 존 내에 알맞게 존재할 때, 대응 비트는 "안전"으로 분류된다. 그렇지 않다면, 그 비트는 "정상"으로 분류된다. 이러한 ECC 메트릭스는, 예컨대, 블록 코드 소프트 디코더에 의해 사용될 수 있다.
신호처리 유닛(60)은 메모리 셀(32)로부터 판독된 전압 내에 존재하는 왜곡을 추정하고, 추정된 왜곡을 기초로 ECC 메트릭스를 계산한다. 추정된 왜곡을 기 초로 하는 ECC 메트릭스를 사용하는 것은 그들이 낮은 왜곡을 가진 값에 많은 가중치를 주고, 큰 왜곡을 가진 값에 낮은 가중치를 주기 때문에, 인코더/디코더(64)에 의해 수행되는 ECC 디코딩 프로세스의 성능을 상당히 향상시킨다.
도 3의 예를 참조하고, p(Xi=0)=p(Xi=1)=0.5이면, 식[2]는 다음과 같이 쓸수 있다:
여기서, S는 디시전 존(96A,...96H)을 나타내고, S|Xi=0는 비트, Xi가 "0"인 셀에 프로그래밍된 서브셋 값이고, S|Xi=1는 비트, Xi가 "1"인 셀에 프로그래밍된 서브셋 값이다.
T0는, Xi=0일 때, 판독된 전압, r에 가장 근접한 값을 나타내고, T1은, Xi=1일 때, 판독된 전압, r에 가장 근접한 값을 나타낸다고 하자. 대부분의 실제 경우에, 식[3]의 합은 전형적으로 T0, 및 T1을 포함하는 항인, 각각의 합 내의 최대 항으로 근사될 수 있다. 또한, r의 전압 분포가 분산, σ2을 가진 가우시안인 것으로 가정하면, 식[3]은 다음과 같이 근사화된다:
r은 [Va, Vb]로 표현되는, 특정 디시전 존에 속하는 값을 나타내므로, 식[4]는 다음과 같이 더욱 상세하게 쓸 수 있다:
여기서, Q()는 가우시안 누적분포함수(CDF, cumulative distribution function)를 나타낸다.
본 예에서, 유닛(60)은 Va, Vb, T0, T1, 및 σ의 값을 기초로, LLR 값을 계산한다.
몇몇 실시예에서, MSP에 의해 계산된 ECC 메트릭스는 ECC 메트릭스의 정밀도 및 성능을 향상시키기 위해, MSP에 사용가능한 부가적인 셀 파라미터를 고려할 수 있다. 이러한 추가 정보는 이웃 셀에 기록된 값, 이웃 셀의 추정된 크로스 커플링 계수, 셀이 겪은 이전 프로그래밍 및 삭제 사이클의 횟수, 이전 프로그래밍 및 삭제 사이클 후 경과된 기간, 셀에서 검출된 이전 디코딩 에러, 셀이 연결된 워드 라인 및/또는 비트 라인의 식별정보, 인가 전압(VCC), 및 온도와 같은 환경 파라미터, 및/또는 임의의 다른 적합한 파라미터와 같은, 셀의 기대 왜곡 레벨을 나타내는 임의의 파라미터를 포함할 수 있다. 예를 들어, 식[3]의 조건부 확률은 부가 셀 파라미터를 고려한 조건부 확률로 치환될 수 있다.
몇몇 실제 경우에, 이웃 셀로부터의 크로스 커플링 간섭의 레벨은 이웃 셀에 저장된 전압(또는 전하)은 물론, 피간섭 셀의 전압 레벨(또는 전하 레벨)에도 의존한다. 그러므로, 몇몇 실시예에서, MSP는 간섭 셀과 피간섭 셀의 전압(또는 전하) 레벨에 대하여 정의하는 함수를 평가함으로써, ECC 메트릭스를 계산한다.
크로스 커플링 계수의 값을 추정하는 몇몇 형태는 2007년 5월 10일에 출원된 PCT 출원, "Distortion Estimation and Cancellation in Memory Devices"에 설명되어 있다.
몇몇 경우에, 메모리 셀 어레이는 셀 그룹으로 분할되어, 크로스 커플링 간섭이 각각의 그룹으로 한정되고, 상이한 그룹은 서로에 대하여 격리될 수 있다. 각각의 셀이 셀의 두 개의 전하 영역에 두 개의 값을 저장하는 극단전인 예는 NROM 디바이스에서 발생한다. 셀 사이의 격리가 충분히 높을 때, 크로스 커플링은 각각의 셀의 두 값 사이에서만 발생하는 것으로 가정될 수 있다.
이러한 경우에, 셀 간의, 더욱 상세하게는 셀 그룹간의 크로스 커플링 계수는 크로스 커플링 메트릭스로 배열될 수 있고, ECC 메트릭스는 크로스 커플링 메트릭스를 사용하여 계산될 수 있다.
은 그 셀로부터 판독된 k개의 값을 나타낸다. 셀이 그룹 내의 모든 셀에 동시에 적용된 프로그래밍 및 검증(P&V) 프로세스를 사용하여 기록된 때와 같은 몇몇 경우에, 셀이 프로그래밍된 시점에서, 이다. 백터 는 에이징과 같은 상이한 왜곡 메카니즘으로 인해 시간에 따라 변한다. 이후 시점에서의 백터 의 값은 다음과 같다:
여기서, 은 에이징으로 인한 k개의 전압의 각각의 전압 시프트 백터이고, 은 랜덤 에이징 노이즈 컴포넌트 백터이다. k개의 랜덤 컴포넌트는 분산, σ2을 가진 가우시안 분포를 가지는 것으로 가정된다. H는 다음과 같이 정의된 크로스 커플링 매트릭스이다:
예를 들어, 하드-디시전 ECC 디코드를 사용한 때, MSP는 식[9]를 최소화하는 세트 값을 결정하기 위해, 의 상이한 가능한 데이터 값 조합을 스캔 또는 검색할 수 있다. 임의의 적합한 검색 프로세스가 이러한 목적으로 사용될 수 있다. 예를 들어, MSP는 'Agrell et al.'의, "Closest Point Search in Lattices", 'IEEE Transactions on Information Theory', 볼륨 48, 200년 8월, 페이지 2201-2214에 서술되어 있는 방법과 같은, 스피어(sphere) 디코딩 방법을 사용할 수 있다. 대안으로서, 공지된 V-BLAST 근사 디코딩 방법이 사용될 수 있다.
BICM과 같은, 소프트-디시전 ECC 디코더가 사용된 때, MSP는 전형적으로 검색 프로세스 동안 각각의 데이터 비트의 LLR을 계산한다. 예를 들어, MSP는 데이터 비트가 "1"로 설정된 모든 값에 대하여 식[9]의 최소값을 계산하고, 그 결과값에서 데이터 비트가 "0"로 설정된 모든 값에 대하여 식[9]의 최소값을 뺄 수 있 다. 그 다음, 결과적인 LLR 값은 소프트 ECC 디코더에 의해 메트릭스로 사용될 수 있다. 대안으로서, 은 에 대한 하드 디시전을 기초로, 시프트의 노미널 평균값을 사용함으로써 근사화될 수 있다. 그 다음, 식, 은 식[4] 또는 [5]에서 LLR 계산을 위한 입력으로 사용될 수 있다.
일반적으로, 식[9]은 ECC 디코더에 의해 ECC 메트릭스로 사용될 수 있다. 예를 들어, ECC가 TCM 스킴을 포함하고, ECC 디코더가 비터비 디코더를 포함할 때, 디코더는 그룹 내의 k개의 셀에 대응하는 값의 그룹에 대한 메트릭스로서 식[9]를 사용할 수 있다.
도 4는 본 발명의 한 실시예에 따른, 메모리 셀 어레이(28)로부터 데이터를 추출하는 프로세스를 개략적으로 도시하는 기능 블록 다이어그램이다. 메모리 디바이스(24)로부터 데이터를 판독할 때, R/W 유닛(40)은 어레이(28)의 메 셀(32)로부터 판독된 전압 레벨을 기초로 디지털화된 샘플을 산출한다. 이 샘플은 데이터 버퍼(72)에 저장된다.
본 명세서 및 청구항에서, "데이터를 판독하는 것", "전압을 샘플링하는 것", 및 "전압을 판독하는 것"과 같은 용어는 메모리 셀에 저장된 아날로그 전압을 디지털 샘플로 명백하게 변환하는 것, 또는 인터페이스를 통해 이러한 샘플을 수신하는 것 중 하나를 의미한다. 예를 들어, 도 1에 도시된 것과 같은 투-칩 구성을 사용할 때, 이러한 용어는 MSP에 의해, 오프-칩 비교기 또는 A/D 컨버터에 의해 산출된 샘플을 수신하는 것을 의미한다.
타겟 샘플(즉, 그것의 데이터가 호스트에 의해 요청된 메모리 셀의 샘플)은 신호처리 유닛(60) 내의 메트릭스 계산 모듈(108)에 제공된다. 메트릭스 계산 모듈은 타겟 샘플의 ECC 메트릭스를 계산한다.
타겟 샘플은 물론, 잠재적으로 타겟 셀에 왜곡을 일으킬 수 있는 다른 셀의 샘플이 신호처리 유닛(60) 내의 왜곡 추정 모듈(112)에 제공된다. 모듈(112)은 타겟 셀, 및 잠재적 간섭 셀의 샘플을 기초로, 타겟 셀에 영향을 주는 왜곡을 추정한다. 모듈(112)은 왜곡을 추정하기 위한 다양한 방법을 수행할 수 있다. 예시적인 추정 방법은 아래에 더 설명된다.
모듈(112)은 요청된 왜곡 메카니즘의 타입, 및 사용된 추정 방법에 따라, 상이한 개수 및 타입의 잠재적 간섭 셀을 고려할 수 있다. 예를 들어, 몇몇 실시예에서, 모듈(112)은 어레이 내의 8개의 이웃 셀로부터 각각의 셀에 대한 크로스 커플링 간섭을 추정한다. 이러한 실시예에서, 모듈(112)은 전형적으로 디코딩될 페이지(로우)를 프로세싱함은 물론, 이전, 및 후속 페이지도 프로세싱한다. 이러한 경우 데이터 버퍼는 수 페이지 크기일 수 있다.
대안의 실시예에서, 모듈(112)은 셀의 왼쪽방향의 이웃 셀과 오른쪽 방향의 이웃 셀로부터의 왜곡만 고려할 수 있다. 이러한 실시예에서, 데이터 버퍼는 한 페이지 정도로 더 작아질 수 있다.
몇몇 실시예에서, 모듈(112)은 타겟 셀로부터의 떨어진 페이지 내의 셀에 의해 발생되는 왜곡을 추정한다. 예를 들어, 백 패턴 노이즈는 멀리 떨어진 페이지이지만, 타겟 셀과 동일한 칼럼의 셀에 의해 영향을 받을 수 있다. 이러한 실시예 에서, 이러한 멀리 떨어진 셀의 컨텐트, 또는 이러한 셀에 대한 다른 정보가 모듈(112)에 제공될 수 있다.
몇몇 경우에, 잠재적 간섭 셀로부터 판독된 샘플은 더 거친 양자화로, 즉 타겟 셀의 샘플의 양자화와 비교하여 더 적은 비트수로 저장되고 프로세싱될 수 있다. 감소된 양자화는 데이터 버퍼의 크기, 및 모듈(112)의 복잡도를 줄일 수 있다.
왜곡 추정 모듈(112)은 메트릭스 계산 모듈(108)에 추정된 왜곡을 제공한다. 메트릭스 계산 모듈은 추정된 왜곡을 기초로 ECC 메트릭스를 계산하고, 그 메트릭스를 인코더/디코더(64)에 제공한다. ECC 인코더/디코더는 타겟 메모리 셀에 저장된 데이터를 복구하기 위해, 그 메트릭스를 사용하여 ECC를 디코딩한다.
몇몇 실시예에서, 메트릭스 계산 모듈(108)은 타겟 셀로부터 판독된 샘플 값, 및 디시전 임계값에 대한 함수를 정의한다. 이 함수는 모듈(112)에 의해 제공된 왜곡 추정이 주어진 때, ECC 디코딩 프로세스의 에러 확률을 감소시키기 위해, 디시전 임계값에 관한 샘플 값을 조절한다. 예를 들어, 도 3을 참조하면, 모듈(108)에 의해 계산된 함수는 각각 곡선(92A,...92D)에 곡선(100A,...100D)을 맵팽시키기 위해, 본질적으로 전압 축을 둘러싼다. 이 함수가 순차적인 타겟 샘플에서 오퍼레이팅할 때, 비트 디시전은 시프팅된 분포(100A,...100D)를 기초로 이루어진다.
몇몇 경우에, ECC 디코딩 프로세스로부터의 피드백(예컨대, 디코딩 성공 또는 실패)은 왜곡 추정 및 메트릭스 계산 프로세스를 더 향상시키기 위해 사용될 수 있다. 이러한 피드백을 사용하는 데이터 추출 방법이 도 5에서 설명된다.
ECC 디코더는 셀의 시퀀스에 대한 디시전을 공동으로 결정할 수 있다. 예를 들어, 디코더는 이러한 목적으로 공지된 바와 같은, 다양한 최대확률 시퀀스 추정(MLSE) 기술을 적용할 수 있다.
ECC 디코더 피드백을 사용한 반복적 왜곡 추정
도 5는 본 발명의 다른 실시예에 따른, 메모리 셀 어레이(28)로부터 데이터를 추출하는 방법을 개략적으로 도시하는 플로우 차트이다. 본 방법의 단계(128-140)는 도 4의 프로세스와 유사한 프로세스를 설명한다. 단계(144-156)는 ECC 디코딩 프로세스로부터의 피드백을 기초로 디코딩 프로세스의 반복적인 조절을 수행하는 프로세스를 설명한다.
본 방법은 판독 단계(128)에서, R/W 유닛(40)이 어레이(28) 내의 잠재적 간섭 셀로부터, 원하는 타겟 셀의 전압을 판독하는 단계와 함께 개시한다. 신호처리 유닛(60)은 왜곡 추정 단계(132)에서, 판독된 전압 내에 존재하는 왜곡을 추정한다. 유닛(60)은 메트릭스 계산 단계(136)에서 ECC 메트릭스를 계산한다. 유닛(60)은 본 명세서에 서술된 방법과 같은, 임의의 ECC 메트릭스 및 임의의 왜곡 추정 방법을 사용할 수 있다. ECC 인코더/디코더(64)는 디코딩 단계(140)에서 ECC를 디코딩하고, 저장된 데이터를 복구한다.
ECC 인코더/디코더(64)는 그 페이지가 성공적으로 디코딩되었는지 여부, 즉 디코딩된 페이지가 에러를 포함하는지 여부를 유닛(60)(또는 컨트롤러(76))에게 보고한다. 성공 확인 단계(144)에서 디코딩이 성공되었다고 확인되면, 본 방법은 성 공 종료 단계(148)에서, 성공적으로 종료한다. 유닛(60)은 디코딩된 페이지가 에러를 포함하는지를 검사하기 위해 다양한 방법을 사용할 수 있다. 예를 들어, 유닛(60)은 디코더 출력이 유효한 코드워드인지를 검사할 수 있다. 대안으로서, CRC(Cuclic Redundancy Check)와 같은, 하나 이상의 체크섬 비트가 데이터와 함께 저장될 수 있다. 유닛(60)은 디코딩된 데이터에 대한 CRC를 계산하고, 그 값을 저장된 CRC 값과 비교할 수 있다. 다른 대안으로서, 유닛(60)은 디코딩된 데이터의 신뢰도 메트릭스를 계산하고, 그값은 소정의 임계값과 비교할 수 있다.
본 예에서, 무한 루프 및 데드록 상황을 피하기 위해, 임의의 최대 피드백 반복 횟수만이 허용된다. 그러므로, ECC 디코더로부터의 피드백이 디코딩된 페이지가 에러를 포함함을 나타낼 때, 유닛(60)(또는 컨트롤러(76))은 반복 확인 단계(152)에서, 최대 반복 횟수가 이미 실행되었는지를 확인한다. 최대 반복 횟수가 이미 소모되었다면, 본 방법은 데이터를 성공적으로 디코딩하지 않고, 에러 종료 단계(160)에서 종료한다.
또는, ECC 디코더는 피드백 조절 단계(156)에서, 디코딩 프로세스를 조절한다. 예를 들어, ECC 디코더는 최저 에러 확률을 산출했던 LLR 값을 표시할 수 있다. 그 다음, 유닛(60)은 최저 에러 확률을 가진 타겟 샘플을 표시하기 위해 이 정보를 사용한다. 대안으로서, 디코더는 은 신뢰도 레벨를 가진 비트를 "삭제"로 표시하고, 디코딩 프로세스 결과에 따라 삭제 표시를 갱신할 수 있다. 다른 대안으로서, 디바이스 디코더 피드백을 사용하여 디코딩 프로세스를 조절하거나 갱신하는 임의의 다른 기술이 사용될 수 있다. 그 다음, 본 방법은 왜곡 추정 단계(132) 로 되돌아가고, 유닛(60)은 제공된 피드백을 기초로 왜곡을 재추정한다.
MSP(52)는 디코딩 단계(140)에서, 데이터를 디코딩할 때 임의의 세트의 전압 임계값을 사용한다. 몇몇 실시예에서, 성공 확인 단계(144)에서 에러가 검출된 때, 유닛(60)은 디코딩 프로세스를 향상시키기 위해, 임계값을 조절함으로써 디코딩 프로세스르를 조절한다. 유닛(60)은 임계값을 조절하는 임의의 적합한 방법을 사용할 수 있다. 예를 들어, 유닛(60)은 에러 성능이 향상되는지 저하되는지에 따라, 임계값이 증가되거나 감소되는 그래디언트 검색을 수행할 수 있다. 대안으로서, 임계 값은 요구되는 판독 오퍼레이션의 횟수를 최소화하도록 조절될 수 있다. 디시전 임계값을 조절하기 위해 사용될 수 있는, 부가적인 임계값 조절 방법은 미국 가특허출원 제60/894,290호에 서술되어 있다.
몇몇 경우에서, 디시전 임계값을 조절하는 것은 셀 전압을 재판독하는 것을 포함함을 이해해야 한다. 예를 들어, 셀 임계전압이 상술된 바와 같이, 그 워드 라인에 상이한 전압을 인가함으로써 판독된 때, 그 셀은 조절된 디시전 임계값을 사용하여 재판독된다. 셀이 높은 레졸루션의 ADCs를 사용하여 판독된 때, 그 셀의 재판독은 일반적으로 필요하지 않다.
몇몇 실시예에서, 유닛(60)은 각각의 개별 셀의 왜곡 특성을 매칭시키기 위해, 셀-바이-셀 기준으로 임계값을 선택할 수 있다. 가능한 임계값은 적합한 방식으로 미리 결정되거나 조절될 수 있다. 예를 들어, 임의의 그룹의 셀이 3개의 소정의 세트의 임계값, TH1,...TH3를 사용하여, 3개의 디코딩 반복에서 판독된다고 가정하자. 본 예에서, 다음 테이블은 3개의 디코딩 반복에 의해 산출된 비트 시퀀 스를 나열한다:
이 시퀀스 내의 각각의 비트에 대하여, 3개의 임계값 세트 중 하나는 최소 왜곡 레벨을 산출한다. 각각의 비트에 대한 최적의 실행 임계값은 다음과 같이 주어진다:
이 시퀀스 내의 각각의 비트에 대하여, 유닛(60)은 최적의 실행 임계값 세트가 사용된 디코딩 결과를 선택한다. 그러므로, 디시전 결과는 다음 표로 주어진다:
대안의 실시예에서, 유닛(60)은 ECC 디코딩 전에 셀-바이-셀 기준으로 임계값을 선택한다. 이러한 실시예에서, 셀은 ECC 디코딩 전에 복수의 소정의 임계값 세트를 사용하여 판독된다. 그 다음, 각각의 셀에 대하여, 그 셀에 대하여 추정된 왜곡에 따라 최적의 실행 임계값 세트가 사용된다. 최적의 실행 임계값 세트는 ECC 디코더로의 입력을 산출하기 위해 각각에 셀에 대하여 적용된다.
최적의 실행 임계값을 사용하여 디코딩된 값을 선택하는 것의 대안으로서, 유닛(60)은 상이한 임계값을 사용한 상이한 반복에서 판독된 데이터 값을 결합한다. 예를 들어, 유닛(60)은 상이한 반복에서 디코딩된 비트 값에 대한 과반수 표결(majority voting)을 수행할 수 있다.
또한 대안으로서, 유닛(60)은 상이한 임계값을 사용하여 셀로부터 전압을 판독하고, ECC를 디코딩하기 전에 상이한 반복으로 부터 판독된 값을 결합할 수 있다. 즉, 각각의 셀에 대하여, 유닛(60)은 상이한 임계값을 사용하여 셀 전압을 판독하고, 복수의 판독 전압을 기초로 ECC 디코딩 메트릭스(예컨대, LLR)를 생성할 수 있다. 그 다음, ECC는 이 메트릭스를 사용하여 디코딩된다. 몇몇 실시예에서, 셀은 ECC 디코딩이 성공할 때까지, 반복적 방법으로 상이한 임계값을 사용하여 판독된다. 각각의 반복에서, 셀은 상이한 임계값을 사용하여 판독된다. 디코딩 메트릭스는 상이한 반복에서 셀로부터 판독된 전압을 기초로 계산되거나 갱신된다. 본 프로세스는 ECC가 성공적으로 디코딩될 때까지 계속된다.
상기 설명은 셀-바이-셀 기준으로 상이한 임계값으로 셀을 재판독하는 것을 다루고 있으나, 전체 페이지에 대하여 단일 세트의 임계값이 사용될 수 있다.
몇몇 실시예에서, MSP(52)는 향상된 성능을 가진 둘 이상의 상이한 디코더를 포함한다. 더 높은 성능의 디코더는 전형적으로 단순한 디코더에 비해, 더 높은 복잡도를 가지고, 더 많은 전력을 소비하고, 더 높은 처리 지연을 일으킨다. 먼저, MSP는 낮은 복잡도의 디코더를 사용하여 페이지를 디코딩하고, 디코딩 에러가 검출된 때만 더 높은 성능의 디코더로 복귀한다. 이러한 방법을 사용하여, 높은 성능 및 복잡도의 디코더가 필요할 때만 호출되므로, 평균 소비 전력 및 처리 지연이 감소된다.
예를 들어, MSP는 먼저 임의의 ECC 디코딩 없이 데이터를 디코딩하려 시도하고, 에러가 검출된 때 ECC 디코더를 사용하는 단계로 복귀할 수 있다. 이러한 기술은, 예컨대, MSP에 의해 사용되는 ECC 스킴이 계통적(systematic) 코드, 즉 언코딩된 정보 비트를 변경하지 않고 개별 리둔던시 비트를 추가한 코드를 포함할 때, 사용될 수 있다. 다른 예로서, 더 단순한 디코더는 하드웨어로 구현된, 그 입력이 메모리없는 셀-바이-셀 디시전을 포함하는, 하드-디시전 리드-솔로몬(RS) 디코더를 포함할 수 있다. 더 높은 성능의 디코더는 소프트웨어로 구현되고, 높은 레졸루션의 셀 전압 샘플링을 사용하는 소프트-디시전 RS 디코더를 포함할 수 있다.
ECC 디코더에 의해 제공되는 피드백을 기초로 디코딩 프로세스를 조절하는 다는 가능성은 전압 레벨이 판독되는 레졸루션을 조절하는 것이다. 레졸루션은, 예컨대, 성공적 디코딩이 달성될 때까지, 메모리 셀로부터 판독된 전압을 디지털화하기 위해 사용된 임계전압을 반복적으로 조절함으로써, 조절될 수 있다. 몇몇 실시예에서, 잠재적 간섭 셀의 전압, 및 피간섭 셀의 전압은 상이한 레졸루션으로 판독된다. 이러한 경우에, 잠재적 간섭 셀의 판독 레졸루션, 또는 피간섭 셀의 판독 레졸루션, 또는 두 레졸루션 모두가 조절될 수 있다.
예시적인 왜곡 추정 방법
MSP(52)의 신호처리 유닛(60)은 메모리 셀(32)로부터 판독된 전압 내에 존재하는 왜곡을 추정하는 임의의 적합한 방법을 사용할 수 있다. 몇몇 예시적인 방법 은 미국 가특허출원 제60/747,106호, 제60/885,024호에 서술되어 있다.
도 6은 본 발명의 한 실시예에 따른, 메모리 셀 어레이(28) 내의 왜곡을 추정하는 방법을 개략적으로 도시하는 플로우 차트이다. 본 방법은 도 5의 방법의 왜곡 추정 단계(132)와 같이, 왜곡 추정 모듈(112)에 의해 사용될 수 있다. 본 방법은 타겟 셀보다 이전에 프로그래밍된 셀에 의해 발생된 왜곡이 타겟보다 나중에 프로그래밍된 셀에 의해 발생된 왜곡과 상이할 수 있다는 점을 사용한다.
다른 가정은 어레이가 공지된 프로그램 및 검증(P&V) 프로세스를 사용하여 프로그래밍되었다는 것이다. P&V 프로세스는, 에컨대, 'Jung et al.'의, "A 117㎟ 3.3V Only 128Mb Multilevel NAND Flash Memory for Mass Storage Applications", 'IEEE Journal of Solid State Circuit', (11:31), 1996년 11월, 페이지 1575-1583, 및 'Takeuchi et al.'의, "A Multipage Cell architecture for High-Speed Programming Multilevel NAND Flash Memories", 'IEEE Journal of Solid-State Circuits', (33:8), 1998년 8월, 페이지 1228-1238에 서술되어 있다.
몇몇 공지된 P&V 프로세스에서, 임의의 페이지 내의 각각의 셀은 M개의 전압 레벨, 0...M-1로 프로그래밍되고, 여기서 레벨, 0은 삭제된 레벨이다. P&V 프로세스는 그 페이지를 M개의 상(phase)으로 프로그래밍한다. 상, i에서, 한 시퀀스의 전압 펄스는 셀의 프로그래밍된 레벨이 i 보다 크거나 같도록, 셀에 인가된다. 각각의 펄스 후, 본 프로세서는 상이한 셀의 전압을 판독하고, 원하는 레벨에 도달한 셀에 펄스 인가를 중단한다.
본 방법은 전압 판독 단계(170)에서, MSP(52)가 셀(32)의 어레이(28)로부터 판독된 샘플링된 전압을 수신하는 단계와 함께 개시한다. 전압은 타겟 셀의 전압 및, 그 타겟 셀에 잠재적으로 간섭을 일으키는 셀의 전압을 모두 포함한다. 다른 판독 컨피규레이션도 사용될 수 있으나, 본 예에서는, 어레이(28)의 페이지는 순차적 순서, 즉 로우-바이-로우로 판독된다.
주어진 타겟 셀에 대하여, 잠재적 간섭 셀은 분류 단계(174)에서, 프로그래밍 시간에 따라 분류된다. 셀(32)의 서브셋, D1은 타겟 셀이 프로그래밍된 시점에, P&V 프로세스에 의해 아직 완전히 프로그래밍되지 않은 잠재적 간섭 셀을 포함한다. 클래스, D1 내의 셀은 타겟 셀이 프로그래밍될 때 삭제된 레벨이지만, 그 이후 프로그래밍되었을 수도 있다.
몇몇 프로그래밍 스킴에서, 셀은 몇가지 단계로 프로그래밍된다. 예를 들어, 4레벨 셀의 몇몇 프로그래밍 방법에서, 최소유효비트(LSB) 및 최대유효비트(MSB)는 두 개의 개별 단계로 기록된다. 한 예시적인 방법은, 앞서 언급한, 'Takeuchi et al.'의 아티클에 서술되어 있다. 이러한 방법에서, 셀은 임의의 시점에 중간 레벨로 프로그래밍될 수 있고, 미래의 프로그래밍 단계가 그 셀을 그 최종적인 프로그래밍된 값으로 가져간다. 이러한 프로그래밍 방법이 사용된 때, 클래스, D1은 타겟 셀이 프로그래밍된 때 삭제된 레벨이거나, 중간 프로그래밍 레벨이지만 그 이후에 최종값으로 프로그래밍될 수도 있는 셀을 포함하는 것으로 확장된다.
셀(32)의 다른 서브셋, D2은 타겟 셀이 프로그래밍되는 시점에 이미 프로그래밍된 잠재적 간섭 셀을 포함한다. 이러한 셀로부터의 타겟 셀에 대한 간섭은 타 겟 셀이 프로그래밍될 때 이미 존재하기 때문에, P&V 프로세스는 타겟 셀이 삭제되지 않는다면, P&V 알고리즘이 그 셀에 적용되지 않는 경우에, 적어도 부분적으로, 이러한 간섭에 대하여 이미 보상하였다. 셀의 제3클래스, D3는 타겟 셀과 동시에 프로그래밍되는 잠재적 간섭 셀, 예컨대, 타겟 셀과 동일한 페이지 상의 셀을 포함한다.
신호처리 유닛(60)은 클래스 기반 왜곡 추정 단계(178)에서, 잠재적 간섭 셀의 상이한 클래스에 따라 타겟 셀에 대한 왜곡을 추정한다. n 및 m을 각각 어레이(28) 내의 타겟 셀의 로우 및 칼럼의 개수라 하자. xn,m은 P&V 프로세스를 사용하여 기록된 후 타겟 셀의 전압을 나타낸다. xi,j는 타겟 셀이 프로그래밍된 시점에 로우, i 및 칼럼, j에 위치한 셀의 전압을 나타낸다. yn,m은 왜곡으로 인해, xn,m과 상이한, 타겟 셀로부터 판독된 셀 전압을 나타낸다. 이와 유사하게, yj,i는 왜곡으로 인해 xj,i와 상이한, 타겟 셀로부터 판독된 셀 전압을 나타낸다.
yn,m에 존재하는 전체 왜곡은 다음과 같이 추정될 수 있다:
여기서, hn,m,i,j는 로우, n 및 칼럼 m에서의 타겟 셀에 대한 로우, i 및 칼 럼, j에서의 간섭 셀로부터의 크로스 커플링 간섭 계수를 나타낸다. b는 상수항이다.
클래스, D1에 속하는 셀은 타겟 셀이 프로그래밍된 후 프로그래밍되는 셀을 포함한다. 그러므로, 이러한 셀에 의해 발생되는 간섭은 그 시점에 존재하지 않고, P&V 프로세스는 이러한 왜곡에 대하여 보상할 수 없다.
클래스, D2에 속하는 셀은 타겟 셀이 프로그래밍된 때 이미 프로그래밍되었고, 이러한 셀에 의해 발생된 왜곡은 P&V 프로세스가 타겟 셀을 프로그래밍한 때 임미 존재하였다. 그러므로, P&V는 타겟 셀이 프로그래밍될 때 이러한 왜곡에 대하여 (적어도 부분적으로) 이미 보상하였다. 클래스, D2는 타겟 셀이 삭제된 경우에, 이러한 경우에는 P&V 알고리즘에 의해 프로세싱되지 않고, 이미 프로그래밍된 셀로부터의 왜곡이 보상되지 않으므로, 비워짐을 이해해야 한다. 이러한 보상은 타겟 셀이 프로그래밍된 때 수정되지만, 타겟 셀이 판독되는 시점과 시점 사이에 발생된 에이징 또는 다른 효과는 고려하지 않는다. 식[10]의 제2항의 은 타겟 셀이 프로그래밍된 시점에 간섭 셀 내에 존재하는 전압의 추정치이다.
식 [10]의 제1 및 제2항은 프로그래밍 시점과 판독 시점 사이의 간섭 셀 전압의 변화로 인해 서로 상이하다: 클래스, D1 내의 셀에 대하여 이러한 전압 변화는 추가적인 프로그래밍에 의해 발생되고, 클래스, D2 내의 셀에 대하여 이러한 전압 변화는 왜곡에 의해 발생된다.
몇몇 실시예에서, 은 이러한 셀의 출력에 ECC 디코딩을 적용함으로써 추 정될 수 있다. ECC는 셀에 기록된 비트 세트를 복구함으로써, 몇몇 누수에 의해 발생되는 에러와 같은, 심각한 에러를 보정하는데 도움을 줄 수 있다. 대안으로서, 식[10]의 제2항 내의 yi,j-xi,j는 그 전압 레벨이 yi,j인 셀에 대한 누설 에러를 추정하는, α?yi,j와 같은, yi,j의 메모리없는 함수를 사용하여 추정될 수 있다. 대안으로서, yi,j-xi,j는 셀로부터의 평균 기대 누설에 의해 근사화될 수 있다.
클래스, D3에 속하는 셀을 나타내는, 식[10] 내의 제3항은 타겟 셀과 동일하거나 낮은 레벨로 프로그래밍된 D3 셀에 의해 발생되는 왜곡을 본질적으로 보상하는 P&V 프로세스의 사용을 가정한다. 타겟 셀과 동일한 페이지 상의 잠재적 간섭 셀이 이 더 높은 레벨로 프로그래밍될 때, 이러한 프로그래밍은 P&V 프로세스의 이후 경로에서, 타겟 셀이 이미 완전 프로그래밍된 후, 수행된다. 그러므로, 타겟 셀보다 더 높은 레벨을 가진 D3 셀에 의해 발생되는 왜곡의 상당 부분은 타겟 셀이 프로그래밍된 시점에 존재하지 않을 것이고, P&V 프로세스는 이러한 부분의 왜곡에 대하여 보상할 수 없을 것이다.
몇몇 경우에, 임의의 셀을 프로그래밍하기 위해 사용된 P&V 펄스의 개수는 P&V 프로세스의 셀-투-셀 허용치, 및 다양한 판독 및 기록 부정확도로 인해 변할 수 있다. 그 결과, 임의의 셀은 동일한 전압에 대해서도, 다른 셀보다 더 빠르게 기록될 수 있다. 타겟 셀이 임의의 간섭 셀보다 프로그래밍이 빠른 때, 이 셀로부터의 간섭은 P&V 프로세스에 의해 정확하게 보상되지 않을 것이다.
몇몇 실시예에서, 식[10]은 이러한 차이를 보상하도록 수정될 수 있다. 식[10]의 제3항은 다음과 같이 쓸수 있다:
여기서,
식[12]에서, 은, 예컨대, 상술된 바와 같은, ECC 디코딩 프로세스를 사용하여, xn,m의 추출된 값을 나타낸다. △는 타겟 셀이 간섭 셀보다 프로그래밍이 빠른 점을 보상하는 팩터를 나타낸다.
식[10]은 왜곡이 간섭 셀의 전압 변화에만 의존하고, 피간섭 셀의 전압은 의존하지 않는 것으로 가정한다. 식[10]은 또한 왜곡이 선형임을 가정한다, 즉 간섭 셀의 전압 변화에 일정한 상수를 곱함으로써 모델링될 수 있다. 그러나, 몇몇 실제 시나리오에서, 이러한 두 가정은 유지되지 않는다. 더욱 상세하게, 몇몇 경우에, 임의의 간섭 셀로부터 특정 피간섭 셀에 대한 간섭은 간섭 셀의 전압과 피간섭 셀의 전압에 모두 의존한다. 이러한 경우에, 식[10]은 다음과 같이 더 일반적으로 쓸 수 있다:
여기서 f(ti, tf, r)은 그 전압 변화가 ti에서 tf까지인 간섭 셀에 의해 전압 레벨이 r인 피간섭 셀에 발생되는 왜곡을 나타낸다.
셀 전압이 백 패턴 의존(BPD)에 의해 영향을 받을 때와 같은, 몇몇 경우에, 간섭 셀은 피간섭 셀과 동일한 셀 스트링 또는 비트 라인을 따라 위치하고, 특정 셀에 대한 왜곡은 비트 라인을 따라 위치된 셀의 전압에 의존한다.
몇몇 경우에, 유닛(60)은 알고 있거나, 다른 셀의 이전에 추정된 왜곡 값으로부터 특정 셀 내의 왜곡을 예측할 수 있다. 예를 들어, 어레이 내에 서로 인접하게 위치된 셀은 유사하거나 연관된 왜곡 레벨을 가질 수 있다. 다른 예로서, 몇몇 왜곡이 인가 전압에 의해 발생되거나 그를 통해 전파될 때, 동일한 파워 서플라이(Vcc)를 공유하는 셀은 유사한 왜곡을 가질 수 있다.
몇몇 경우에, 유닛(60)은 센스 증폭기 내의 이득 및 바이어스 에러에 의해 발생된 왜곡에 응답하여 ECC 메트릭스를 보정할 수 있다. 특정 메모리 셀이 판독될 때, 센스 증폭기는 셀을 통해 흐르는 전류를 전압으로 변환한다. 그러므로, 센스 증폭기 출력에서의 전압은 v=KSA를 만족해야 하고, 여기서 v는 출력 전압, i는 셀 전류, KSA는 모든 셀에 대하여 상수인 것으로 가정된, 증폭 이득을 타나낸다. 그러나, 많은 실제적인 경우에, 센스 증폭기의 이득은 일정하지 않다. 증폭기는 또한 바이어스 에러를 도입시킬 수 있다. 그러므로, 신스 증폭기 출력 전압은 v(v=KSA+△SA)i+BSA로 쓸 수 있고, 여기서, KSA는 상수이고, △SA는 이득 에러이고, 그리고 BSA는 바이어스 에러를 나타낸다. △SA, 및 BSA는 센스 증폭기에 따라(즉, 비트 라인에 따라) 다를 수 있다.
몇몇 실시예에서, 유닛(60)은 △SA, 및 BSA의 값을 추정하고, 추정된 센스 증폭 파라미터를 기초로 ECC 메트릭스를 조절한다. 예를 들어, [4] 또는 [5]의 LLR 계산은 식[4] 내의 판독된 전압, r, 또는 식[5] 내의 구간 경계 Va, 및 Vb을 시프팅 및 스캐일링함으로써, 상이한 △SA, 및 BSA값에 대하여 고려하도록 수정될 수 있다.
도 6의 예시적인 방법은 특정 P&V 프로세스 구현에 대하여 다루고 있으나, 본 방법은, 임의의 다른 적합한 P&V 프로세스와 함께, 필요한 변경을 가하여, 사용될 수 있다. 개시된 실시예를 기초로 다른 타입의 P&V 프로세스와 함께 사용하기 위한 본 방법의 변형은 당업자들에게 명백할 것이다.
많은 공지된 디바이스에서, 노미널 전압 레벨 중 하나는 "삭제된" 레벨로 정의된다. 몇몇 공지된 데이터 저장 방법 및 디바이스에서, 삭제된 레벨로 남은 셀 은 P&V 프로세스에 참가하지 않는다. 그러므로, 이러한 셀은 P&V 프로세스에 의해 보정되지 않는 이웃 셀로부터의 크로스 커플링 간섭을 받을 수 있다. 이러한 간섭은 삭제된 레벨 전압 분포를 다음-더 높은 레벨로 넓히고, 필요한 마진을 증가키신다. 많은 NAND 플래시 셀에서, 삭제된 레벨은 음(negative)의 전압을 가지고, 다른 레벨은 양(positive)의 전압을 가진다. 이러한 공지된 디바이스에서, 음의 전압을 판독하는 것이 종종 불가능하고, 그러므로, 간섭을 보정하기 위해 삭제된 셀의 정확한 전압을 판독하는 것이 불가능하다. 몇몇 경우에, MSP(52)가 특정 메모리 셀이 약간의 양의 전압 레벨을 가지고, 그 셀에 대한 왜곡 레벨이 높다고 판단한 때, MSP는 그 셀을 그 전압이 왜곡으로 인해 잘못 양의 값이 된 삭제된 값으로 판단한다. MSP는 필수 마진을 감소시키기 위해, 이러한 셀 내의 왜곡을 보상할 수 있다.
NROM 플래시 셀에서, 삭제된 셀의 전압 레벨은 일반적으로 양의 값이므로, 판독될 수 있다. NROM 셀의 양측 사의의 크로스 커플링은 전형적으로 P&V 프로세스에 의해 보상되지만, 그 셀의 양측 중 하나 또는 모두가 삭제된 때, 그 왜곡은 보상되지 않는다. 이러한 경우에, MSP(52)는 그 셀의 양측 중 하나 또는 모두가 삭제된 때에도, 왜곡을 보상할 수 있고, 필수 마진을 줄일 수 있다.
본 명세서에 서술된 실시예들은 주로 멀티레벨 셀(MLC)로부터 데이터를 추출하는 것을 다루었으나, 본 발명의 원리는 단일레벨 셀(SLC)과 함께 사용될 수 있다. 본 명세서에 서술된 실시예들은 주로 솔리드 스테이트 디바이스로부터 데이터를 추출하는 것을 다루었으나, 본 발명의 원리는 하드디스크 드라이브(HDD), 및 다 른 데이터 저장 매체 및 디바이스에 데이터를 저장하고 추출하기 위해 사용될 수도 있다.
상술된 실시예는 예시의 방법으로 인용된 것이고, 본 발명은 특정하게 도시되고 서술된 것으로 제한되지 않음을 이해해야 한다. 그보다는, 본 발명의 범위는 상술된 다양한 피처의 조합 및 하부-조합은 물론, 본 명세서를 읽은 당업자들에게 가능하고 종래기술에 개시되지 않은, 그 변형 및 수정을 모두 포함한다.
Claims (88)
- 메모리 디바이스를 오퍼레이팅하는 방법으로서,에러 보정 코드(ECC)를 사용하여 데이터를 인코딩하고, 상기 인코딩된 데이터를 제1아날로그 값으로서 상기 메모리 디바이스의 각각의 아날로그 메모리 셀에 저장하는 단계;상기 인코딩된 데이터를 저장하는 단계 후, 상기 인코딩된 데이터가 저장되어 있는 상기 메모리 디바이스의 상기 메모리 셀로부터, 상기 각각의 제1아날로그 값과 적어도 일부분 상이한 각각의 제2아날로그 값을 판독하는 단계;상기 제2아날로그 값에 존재하는 왜곡을 추정하는 단계;상기 추정된 왜곡에 응답하여 상기 제2아날로그 값에 관한 에러 보정 메트릭스를 계산하는 단계; 및상기 데이터를 복구하기 위해, ECC 디코딩 프로세스에서 상기 에러 보정 메트릭스를 사용하여 상기 제2아날로그 값을 프로세싱하는 단계를 포함하는 것을 특징으로 하는 메모리 디바이스를 오퍼레이팅하는 방법.
- 제 1 항에 있어서, 상기 에러 보정 메트릭스를 계산하는 단계는, 각각의 셀에 대하여, 상기 왜곡을 나타내는 하나 이상의 셀 파라미터를 평가하는 단계; 및 상기 셀 파라미터에 응답하여 상기 에러 보정 메트릭스를 계산하는 단계를 포함하는 것을 특징으로 하는 메모리 디바이스를 오퍼레이팅하는 방법.
- 제 2 항에 있어서, 상기 셀 파라미터는 다른 메모리 셀로부터 판독된 아날로그 값, 상기 다른 메모리 셀의 추정된 크로스 커플링 계수, 상기 판독된 제2아날로그 값의 통계적 분포 파라미터, 상기 메모리 셀이 겪은 이전 프로그래밍 및 삭제의 횟수, 이전 프로그래밍 및 삭제 사이클 이후 경과된 시간 기간, 상기 메모리 셀에서 검출된 이전 에러, 상기 메모리 셀이 연결된 워드 라인의 식별정보, 상기 메모리 셀이 연결된 비트 라인의 식별정보, 상기 메모리 셀이 연결된 상기 비트 라인에 연결된 센스 증폭기의 추정된 파라미터, 및 환경 파라미터로 구성된 한 그룹의 파라미터로부터 선택된 적어도 하나의 파라미터를 포함하는 것을 특징으로 하는 메모리 디바이스를 오퍼레이팅하는 방법.
- 제 1 항에 있어서, 상기 제2아날로그 값을 프로세싱하는 단계는 상기 제2아날로그 값의 일 범위의 가능한 값을 복수의 디시전 구간으로 분할하는 단계, 및 상기 제2아날로그 값이 속하는 상기 각각의 디시전 구간을 판정하는 단계를 포함하고, 상기 에러 보정 메트릭스를 계산하는 단계는 상기 ECC 디코딩 프로세스의 성능을 향상시키기 위해, 상기 디시전 구간에 대하여 상기 제2아날로그 값을 조절하는 함수를 정의하는 단계를 포함하는 것을 특징으로 하는 메모리 디바이스를 오퍼레이팅하는 방법.
- 제 1 항에 있어서, 상기 제2아날로그 값을 프로세싱하는 단계는 상기 ECC 디 코딩 프로세스의 성능에 관한 피드백을 수신하는 단계; 및 상기 피드백에 응답하여 상기 ECC 디코딩 프로세스를 조절하는 단계를 포함하는 것을 특징으로 하는 메모리 디바이스를 오퍼레이팅하는 방법.
- 제 1 항 내지 제 5 항 중 어느 한 항에 있어서, 상기 제2아날로그 값을 프로세싱하는 단계는 상기 제2아날로그 값을 디시전 임계값과 비교하는 단계를 포함하고, 상기 ECC 디코딩 프로세스를 조절하는 단계는 상기 디시전 임계값을 조절하는 단계를 포함하는 것을 특징으로 하는 메모리 디바이스를 오퍼레이팅하는 방법.
- 삭제
- 삭제
- 제 6 항에 있어서, 상기 제2아날로그 값을 프로세싱하는 단계는 상이한 세트 의 상기 디시전 임계값을 사용하여 상기 ECC 디코딩 프로세스의 각각의 복수의 반복을 실행함으로써, 상기 각각의 메모리 셀에 저장된 데이터의 복수의 추정치를 산출하는 단계, 및 상기 데이터의 상기 복수의 추정치에 응답하여 상기 데이터를 복구하는 단계를 포함하는 것을 특징으로 하는 메모리 디바이스를 오퍼레이팅하는 방법.
- 제 9 항에 있어서, 상기 데이터를 복구하는 단계는 각각의 메모리 셀에 대하여 독립적으로 상기 복수의 추정치 중 하나를 선택하는 단계를 포함하는 것을 특징으로 하는 메모리 디바이스를 오퍼레이팅하는 방법.
- 제 5 항에 있어서, 상기 제2아날로그 값을 프로세싱하는 단계는 제1에러 성능을 가진 제1ECC 디코딩 프로세스를 적용하는 단계를 포함하고, 상기 피드백을 수신하는 단계는 상기 제1ECC 디코딩 프로세스를 사용하여 디코딩된 상기 데이터 내 디코딩 에러의 지시를 수신하는 단계를 포함하고, 그리고 상기 ECC 디코딩 프로세스를 조절하는 단계는 상기 제1에러 성능보다 우수한 제2에러 성능을 가진 제2ECC 디코딩 프로세스를 사용하여 상기 제2아날로그 값을 프로세싱하는 단계를 포함하는 것을 특징으로 하는 메모리 디바이스를 오퍼레이팅하는 방법.
- 제 5 항에 있어서, 상기 ECC 디코딩 프로세스를 조절하는 단계는 상기 제2아날로그 값을 판독하는 단계에서 사용되는 샘플링 레졸루션을 조절하는 단계를 포함 하는 것을 특징으로 하는 메모리 디바이스를 오퍼레이팅하는 방법.
- 제 1 항 내지 제 5 항 중 어느 한 항에 있어서, 상기 제2아날로그 값을 판독하는 단계는 상기 제2아날로그 값의 복수의 인스탠스를 각각의 상이한 세트의 디시전 임계값을 사용하여 판독하는 단계를 포함하고, 상기 에러 보정 메트릭스를 계산하는 단계는 각각의 메모리 셀에 독립적으로 상기 복수의 인스탠스를 결합하는 단계, 및 상기 결합된 복수의 인스탠스를 기초로 상기 에러 보정 메트릭스를 계산하는 단계를 포함하는 것을 특징으로 하는 메모리 디바이스를 오퍼레이팅하는 방법.
- 삭제
- 제 1 항 내지 제 5 항 중 어느 한 항에 있어서, 각각의 메모리 셀에 대하여, 상기 왜곡을 추정하는 단계는 상기 메모리 셀로부터 판독된 상기 제2아날로그 값 내의 상기 왜곡에 잠재적으로 영향을 미치는 한 서브셋의 잠재적 간섭 메모리 셀로부터 상기 제2아날로그 값을 판독하는 단계를 포함하고, 상기 에러 보정 메트릭스를 계산하는 단계는 상기 잠재적 간섭 메모리 셀에 의한 상기 왜곡을 평가하는 단 계를 포함하는 것을 특징으로 하는 메모리 디바이스를 오퍼레이팅하는 방법.
- 제 15 항에 있어서, 상기 메모리 셀에 대한 상기 잠재적 간섭 메모리 셀에 의한 상기 왜곡을 평가하는 단계는 상기 잠재적 간섭 메모리 셀로부터 판독된 상기 제2아날로그 값, 및 상기 메모리 셀로부터 판독된 상기 제2아날로그 값을 모두 기초로 하여 각각의 상기 잠재적 간섭 메모리 셀에 의한 상기 왜곡의 근사치를 구하는 단계를 포함하는 것을 특징으로 하는 메모리 디바이스를 오퍼레이팅하는 방법.
- 제 15 항에 있어서, 상기 제2아날로그 값을 프로세싱하는 단계는 제1양자화 레벨로 상기 메모리 셀의 상기 제2아날로그 값을 프로세싱하는 단계, 및 상기 제1양자화 레벨 보다 더 거친 제2양자화 레벨로 상기 잠재적 간섭 메모리 셀로부터 판독된 상기 제2아날로그 값을 프로세싱하는 단계를 포함하는 것을 특징으로 하는 메모리 디바이스를 오퍼레이팅하는 방법.
- 삭제
- 제 15 항에 있어서, 상기 인코딩된 데이터를 저장하는 단계는 프로그램 및 검증(P&V) 프로세스를 사용하여 상기 제1아날로그 값을 상기 메모리 셀에 기록하는 단계를 포함하고, 상기 왜곡을 추정하는 단계는 상기 잠재적 간섭 메모리 셀을 상기 메모리 셀보다 이전에 완전히 프로그래밍된 메모리 셀, 상기 메모리 셀보다 나중에 완전히 프로그래밍된 메모리 셀, 및 상기 P&V 프로세스에 의해 상기 메모리 셀과 동시에 완전히 프로그래밍된 메모리 셀로 구성된 한 그룹의 클래스로부터 선택된 적어도 두 개의 클래스로 분류하는 단계, 및 상기 클래스 각각에서 개별적으로 전체 왜곡을 계산하는 단계를 포함하는 것을 특징으로 하는 메모리 디바이스를 오퍼레이팅하는 방법.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 제 1 항 내지 제 5 항 중 어느 한 항에 있어서, 상기 왜곡을 추정하는 단계는 다른 메모리 셀에 존재하는 왜곡을 기초로 상기 메모리 셀 중 하나에 존재하는 상기 왜곡을 예측하는 단계를 포함하는 것을 특징으로 하는 메모리 디바이스를 오퍼레이팅하는 방법.
- 제 1 항 내지 제 5 항 중 어느 한 항에 있어서, 상기 메모리 셀은 격리된 그룹의 잠재적 간섭 셀 내에 배열되어 있고, 각각의 그룹에서 상기 왜곡을 추정하는 단계는 상기 그룹 내 상기 메모리 셀쌍 사이의 상호 간섭을 나타내는 크로스 커플링 메트릭스의 역함수를 평가하는 단계를 포함하고, 상기 에러 보정 메트릭스를 계산하는 단계는 상기 제1아날로그 값에 적용된, 그리고 상기 그룹 내 상기 각각의 메모리 셀 내의 평균 왜곡 레벨과 합산된 상기 크로스 커플링 메트릭스의 역함수와, 상기 제2아날로그 값에 적용된 상기 크로스 커플링 메트릭스의 역함수 사이의 거리를 계산하는 단계를 포함하는 것을 특징으로 하는 메모리 디바이스를 오퍼레이팅하는 방법.
- 제 36 항에 있어서, 상기 격리된 그룹은 니트라이드 롬(NROM) 셀을 포함하고, 각각의 그룹 내의 상기 잠재적 간섭 셀은 상기 각각의 NROM 셀의 제1 및 제2전하 저장 영역을 포함하는 것을 특징으로 하는 메모리 디바이스를 오퍼레이팅하는 방법.
- 제 1 항 내지 제 5 항 중 어느 한 항에 있어서, 상기 메모리 셀은 격리된 그룹의 잠재적 간섭 셀에 배열되어 있고, 각각의 그룹에서 상기 왜곡을 추정하는 단계는 상기 그룹 내의 상기 각각의 메모리 셀 내의 평균 왜곡 레벨과 상기 그룹 내 상기 메모리 셀 쌍 사이의 상호 간섭을 나타내는 크로스 커플링 메트릭스의 백터를 평가하는 단계를 포함하고, 상기 에러 보정 메트릭스를 계산하는 단계는 상기 그룹 내의 상기 메모리 셀로부터 판독된 상기 제2아날로그 값과 상기 크로스 커플링 메트릭스의 프로덕트의 백터와 상기 평균 왜곡 레벨의 상기 백터 사이의 거리에 응답하여 상기 메트릭스를 계산하는 단계를 포함하는 것을 특징으로 하는 메모리 디바이스를 오퍼레이팅하는 방법.
- 제 38 항에 있어서, 상기 격리된 그룹은 각각의 니트라이드 롬(NROM) 셀을 포함하고, 각각의 그룹 내 상기 잠재적 간섭 셀은 상기 각각의 NROM 셀의 제1 및 제2전하 저장 영역을 포함하는 것을 특징으로 하는 메모리 디바이스를 오퍼레이팅하는 방법.
- 제 1 항 내지 제 5 항 중 어느 한 항에 있어서, 상기 인코딩된 데이터를 저장하는 단계는 상기 인코딩된 데이터를 스크램블링하는 단계, 및 상기 스크램블된 데이터를 저장하는 단계를 포함하고, 상기 제2아날로그 값을 프로세싱하는 단계는 상기 메모리 셀로부터 판독된 상기 제2아날로그 값을 디스크램블링하는 단계를 포함하는 것을 특징으로 하는 메모리 디바이스를 오퍼레이팅하는 방법.
- 제 1 항 내지 제 5 항 중 어느 한 항에 있어서, 상기 데이터를 저장하는 단계는 상기 메모리 셀 중 적어도 일부를 삭제된 레벨로 유지하는 단계를 포함하고, 상기 제2아날로그 값을 판독하는 단계, 상기 왜곡을 추정하는 단계, 상기 에러 보정 메트릭스를 계산하는 단계, 및 상기 제2아날로그 값을 프로세싱하는 단계는 상기 삭제된 레벨로 유지된 상기 메모리로부터 상기 제2아날로그 값 내의 상기 왜곡에 대해 보상하는 단계를 포함하는 것을 특징으로 하는 메모리 디바이스를 오퍼레이팅하는 방법.
- 메모리 디바이스를 오퍼레이팅하는 방법으로서,상기 메모리 디바이스의 각각의 아날로그 메모리 셀 내의 제1 아날로그 값으로 데이터를 저장하는 단계;상기 데이터를 저장하는 단계 후, 상기 각각의 메모리 셀로부터, 그 각각이 제2아날로그 값을 각각의 디시전 임계값과 비교함으로써 판독되는 제2아날로그 값 의 복수의 인스탠스를 판독하는 단계;상기 제2아날로그 값에 존재하는 왜곡을 추정하는 단계; 및상기 데이터를 복구하기 위해, 상기 추정된 왜곡에 응답하여 상기 제2아날로그 값의 상기 복수의 인스탠스를 프로세싱하는 단계를 포함하는 것을 특징으로 하는 메모리 디바이스를 오퍼레이팅하는 방법.
- 삭제
- 에러 보정 코드(ECC)를 사용하여 인코딩되고, 메모리 디바이스의 각각의 아날로그 메모리 셀에 제1아날로그 값으로 저장된 데이터를 추출하는 장치로서,상기 인코딩된 데이터가 저장된 상기 메모리 디바이스의 상기 아날로그 메모리 셀로부터 상기 각각의 제1아날로그 값과 적어도 일부분 상이한 각각의 제2아날로그 값을 판독하도록 배열된 판독 유닛;상기 제2아날로그 값 내에 존재하는 왜곡을 추정하도록, 그리고 상기 추정된 왜곡에 응답하여 상기 제2아날로그 값에 관한 에러 보정 메트릭스를 계산하도록 배열된 신호처리 유닛; 및상기 ECC를 디코딩하고, 상기 데이터를 복구하기 위해, 상기 에러 보정 메트릭스를 사용하여 상기 제2아날로그 값을 프로세싱하도록 배열된 디코더를 포함하는 것을 특징으로 하는 에러 보정 코드를 사용하여 인코딩되고, 메모리 디바이스의 각각의 아날로그 메모리 셀에 제1아날로그 값으로 저장된 데이터를 추출하는 장치.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 메모리 디바이스의 각각의 아날로그 메모리 셀에 제1아날로그 값으로 저장된 데이터를 추출하는 장치로서,상기 각각의 메모리 셀로부터, 각각이 제2아날로그 값과 각각의 디시전 임계값을 비교함으로써 판독되는, 제2아날로그 값의 복수의 인스탠스를 판독하도록 배열된 판독 유닛; 및상기 제2아날로그 값에 존재하는 왜곡을 추정하고, 상기 데이터를 복구하기 위해, 상기 추정된 왜곡에 응답하여 상기 제2아날로그 값의 상기 복수의 인스탠스를 프로세싱하도록 배열되어 있는 신호 프로세싱 유닛을 포함하는 것을 특징으로 하는 메모리 디바이스의 각각의 아날로그 메모리 셀에 제1아날로그 값으로 저장된 데이터를 추출하는 장치.
- 삭제
Applications Claiming Priority (25)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US74710606P | 2006-05-12 | 2006-05-12 | |
US60/747,106 | 2006-05-12 | ||
US86348006P | 2006-10-30 | 2006-10-30 | |
US60/863,480 | 2006-10-30 | ||
US86381006P | 2006-11-01 | 2006-11-01 | |
US60/863,810 | 2006-11-01 | ||
US86739906P | 2006-11-28 | 2006-11-28 | |
US60/867,399 | 2006-11-28 | ||
US88502407P | 2007-01-16 | 2007-01-16 | |
US60/885,024 | 2007-01-16 | ||
US88610207P | 2007-01-23 | 2007-01-23 | |
US60/886,102 | 2007-01-23 | ||
US88927707P | 2007-02-11 | 2007-02-11 | |
US60/889,277 | 2007-02-11 | ||
US89286907P | 2007-03-04 | 2007-03-04 | |
US60/892,869 | 2007-03-04 | ||
US89429007P | 2007-03-12 | 2007-03-12 | |
US60/894,290 | 2007-03-12 | ||
US89445607P | 2007-03-13 | 2007-03-13 | |
US60/894,456 | 2007-03-13 | ||
US91205607P | 2007-04-16 | 2007-04-16 | |
US60/912,056 | 2007-04-16 | ||
US91328107P | 2007-04-22 | 2007-04-22 | |
US60/913,281 | 2007-04-22 | ||
PCT/IL2007/000580 WO2007132457A2 (en) | 2006-05-12 | 2007-05-10 | Combined distortion estimation and error correction coding for memory devices |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090061608A KR20090061608A (ko) | 2009-06-16 |
KR101202537B1 true KR101202537B1 (ko) | 2012-11-19 |
Family
ID=38694301
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020087028793A KR101202537B1 (ko) | 2006-05-12 | 2007-05-10 | 메모리 디바이스를 위한 결합된 왜곡 추정 및 에러 보정 코딩 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8156403B2 (ko) |
KR (1) | KR101202537B1 (ko) |
WO (1) | WO2007132457A2 (ko) |
Families Citing this family (250)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7697326B2 (en) | 2006-05-12 | 2010-04-13 | Anobit Technologies Ltd. | Reducing programming error in memory devices |
US8239735B2 (en) | 2006-05-12 | 2012-08-07 | Apple Inc. | Memory Device with adaptive capacity |
US8156403B2 (en) | 2006-05-12 | 2012-04-10 | Anobit Technologies Ltd. | Combined distortion estimation and error correction coding for memory devices |
CN103258572B (zh) | 2006-05-12 | 2016-12-07 | 苹果公司 | 存储设备中的失真估计和消除 |
JP4896605B2 (ja) * | 2006-07-04 | 2012-03-14 | 株式会社東芝 | 不揮発性半導体記憶システム |
WO2008026203A2 (en) | 2006-08-27 | 2008-03-06 | Anobit Technologies | Estimation of non-linear distortion in memory devices |
JP5177991B2 (ja) | 2006-10-25 | 2013-04-10 | 株式会社東芝 | 不揮発性半導体記憶装置 |
WO2008053473A2 (en) | 2006-10-30 | 2008-05-08 | Anobit Technologies Ltd. | Memory cell readout using successive approximation |
WO2008053472A2 (en) * | 2006-10-30 | 2008-05-08 | Anobit Technologies Ltd. | Reading memory cells using multiple thresholds |
US7924648B2 (en) | 2006-11-28 | 2011-04-12 | Anobit Technologies Ltd. | Memory power and performance management |
US7706182B2 (en) | 2006-12-03 | 2010-04-27 | Anobit Technologies Ltd. | Adaptive programming of analog memory cells using statistical characteristics |
US8151163B2 (en) * | 2006-12-03 | 2012-04-03 | Anobit Technologies Ltd. | Automatic defect management in memory devices |
WO2008070173A1 (en) | 2006-12-06 | 2008-06-12 | Fusion Multisystems, Inc. (Dba Fusion-Io) | Apparatus, system, and method for solid-state storage as cache for high-capacity, non-volatile storage |
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 |
US8151166B2 (en) * | 2007-01-24 | 2012-04-03 | Anobit Technologies Ltd. | Reduction of back pattern dependency effects in memory devices |
US7751240B2 (en) * | 2007-01-24 | 2010-07-06 | Anobit Technologies Ltd. | Memory device with negative thresholds |
WO2008111058A2 (en) | 2007-03-12 | 2008-09-18 | Anobit Technologies Ltd. | Adaptive estimation of memory cell read thresholds |
US8001320B2 (en) * | 2007-04-22 | 2011-08-16 | Anobit Technologies Ltd. | Command interface for memory devices |
US20080288712A1 (en) * | 2007-04-25 | 2008-11-20 | Cornwell Michael J | Accessing metadata with an external host |
US8234545B2 (en) * | 2007-05-12 | 2012-07-31 | Apple Inc. | Data storage with incremental redundancy |
WO2008139441A2 (en) | 2007-05-12 | 2008-11-20 | Anobit Technologies Ltd. | Memory device with internal signal processing unit |
US7925936B1 (en) | 2007-07-13 | 2011-04-12 | Anobit Technologies Ltd. | Memory device with non-uniform programming levels |
US8259497B2 (en) | 2007-08-06 | 2012-09-04 | Apple Inc. | Programming schemes for multi-level analog memory cells |
US8174905B2 (en) * | 2007-09-19 | 2012-05-08 | Anobit Technologies Ltd. | Programming orders for reducing distortion in arrays of multi-level analog memory cells |
WO2009037697A2 (en) * | 2007-09-20 | 2009-03-26 | Densbits Technologies Ltd. | Improved systems and methods for determining logical values of coupled flash memory cells |
WO2009095902A2 (en) | 2008-01-31 | 2009-08-06 | Densbits Technologies Ltd. | Systems and methods for handling immediate data errors in flash memory |
US7773413B2 (en) | 2007-10-08 | 2010-08-10 | Anobit Technologies Ltd. | Reliable data storage in analog memory cells in the presence of temperature variations |
US8000141B1 (en) | 2007-10-19 | 2011-08-16 | Anobit Technologies Ltd. | Compensation for voltage drifts in analog memory cells |
WO2009050703A2 (en) | 2007-10-19 | 2009-04-23 | Anobit Technologies | Data storage in analog memory cell arrays having erase failures |
US8068360B2 (en) * | 2007-10-19 | 2011-11-29 | Anobit Technologies Ltd. | Reading analog memory cells using built-in multi-threshold commands |
WO2009053962A2 (en) * | 2007-10-22 | 2009-04-30 | Densbits Technologies Ltd. | Systems and methods for averaging error rates in non-volatile devices and storage systems |
US8694715B2 (en) | 2007-10-22 | 2014-04-08 | Densbits Technologies Ltd. | Methods for adaptively programming flash memory devices and flash memory systems incorporating same |
US8443242B2 (en) * | 2007-10-25 | 2013-05-14 | Densbits Technologies Ltd. | Systems and methods for multiple coding rates in flash devices |
KR101509836B1 (ko) | 2007-11-13 | 2015-04-06 | 애플 인크. | 멀티 유닛 메모리 디바이스에서의 메모리 유닛의 최적화된 선택 |
US8225181B2 (en) | 2007-11-30 | 2012-07-17 | Apple Inc. | Efficient re-read operations from memory devices |
US8607128B2 (en) * | 2007-12-05 | 2013-12-10 | Densbits Technologies Ltd. | Low power chien-search based BCH/RS decoding system for flash memory, mobile communications devices and other applications |
US8341335B2 (en) * | 2007-12-05 | 2012-12-25 | Densbits Technologies Ltd. | Flash memory apparatus with a heating system for temporarily retired memory portions |
WO2009072103A2 (en) | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated bch codes and/or designation of 'first below' cells |
US8359516B2 (en) * | 2007-12-12 | 2013-01-22 | Densbits Technologies Ltd. | Systems and methods for error correction and decoding on multi-level physical media |
US8209588B2 (en) | 2007-12-12 | 2012-06-26 | Anobit Technologies Ltd. | Efficient interference cancellation in analog memory cell arrays |
US8276051B2 (en) * | 2007-12-12 | 2012-09-25 | Densbits Technologies Ltd. | Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications |
US8456905B2 (en) | 2007-12-16 | 2013-06-04 | Apple Inc. | Efficient data storage in multi-plane memory devices |
WO2009078006A2 (en) * | 2007-12-18 | 2009-06-25 | Densbits Technologies Ltd. | Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith |
US8085586B2 (en) | 2007-12-27 | 2011-12-27 | Anobit Technologies Ltd. | Wear level estimation in analog memory cells |
US8255758B2 (en) * | 2008-01-21 | 2012-08-28 | Apple Inc. | Decoding of error correction code using partial bit inversion |
US8156398B2 (en) | 2008-02-05 | 2012-04-10 | Anobit Technologies Ltd. | Parameter estimation based on error correction code parity check equations |
KR101466698B1 (ko) * | 2008-02-19 | 2014-11-28 | 삼성전자주식회사 | 메모리 장치 및 메모리 데이터 읽기 방법 |
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 |
US8493783B2 (en) | 2008-03-18 | 2013-07-23 | Apple Inc. | Memory device readout using multiple sense times |
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 |
WO2009118720A2 (en) * | 2008-03-25 | 2009-10-01 | Densbits Technologies Ltd. | Apparatus and methods for hardware-efficient unbiased rounding |
US8327242B1 (en) | 2008-04-10 | 2012-12-04 | Apple Inc. | High-performance ECC decoder |
US8386868B2 (en) | 2008-04-16 | 2013-02-26 | Sandisk Il, Ltd. | Using programming-time information to support error correction |
KR20090126829A (ko) * | 2008-06-05 | 2009-12-09 | 삼성전자주식회사 | 반복 복호 방법과 반복 복호 장치 |
US8321757B2 (en) | 2008-06-22 | 2012-11-27 | Sandisk Il Ltd. | Method and apparatus for error correction |
US8458563B2 (en) * | 2008-06-23 | 2013-06-04 | Ramot At Tel Aviv University Ltd. | Reading a flash memory by joint decoding and cell voltage distribution tracking |
US8464131B2 (en) | 2008-06-23 | 2013-06-11 | Ramot At Tel Aviv University Ltd. | Reading a flash memory by constrained decoding |
US8464134B2 (en) | 2008-06-24 | 2013-06-11 | Sandisk Il Ltd | Method and apparatus for error correction according to erase counts of a solid-state memory |
US7808831B2 (en) * | 2008-06-30 | 2010-10-05 | Sandisk Corporation | Read disturb mitigation in non-volatile memory |
JP5496191B2 (ja) * | 2008-07-01 | 2014-05-21 | エルエスアイ コーポレーション | フラッシュ・メモリにおける書き込み側セル間干渉軽減のための方法および装置 |
US8458536B2 (en) | 2008-07-17 | 2013-06-04 | Marvell World Trade Ltd. | Data recovery in solid state memory devices |
US7995388B1 (en) | 2008-08-05 | 2011-08-09 | Anobit Technologies Ltd. | Data storage using modified voltages |
US7924613B1 (en) | 2008-08-05 | 2011-04-12 | Anobit Technologies Ltd. | Data storage in analog memory cells with protection against programming interruption |
US8332725B2 (en) * | 2008-08-20 | 2012-12-11 | Densbits Technologies Ltd. | Reprogramming non volatile memory portions |
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 |
CN102150406A (zh) * | 2008-09-12 | 2011-08-10 | 夏普株式会社 | 无线通信***、无线通信方法以及通信装置 |
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 |
TWI517162B (zh) * | 2008-09-30 | 2016-01-11 | Lsi公司 | 用於記憶體裝置之軟性資料產生的設備及方法 |
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 |
US8583986B2 (en) * | 2008-12-17 | 2013-11-12 | Seagate Technology Llc | Solid-state memory with error correction coding |
US9449719B2 (en) * | 2008-12-19 | 2016-09-20 | Seagate Technology Llc | Solid-state storage device including a high resolution analog-to-digital converter |
US8271855B2 (en) * | 2008-12-22 | 2012-09-18 | Unity Semiconductor Corporation | Memory scrubbing in third dimension memory |
US8174857B1 (en) | 2008-12-31 | 2012-05-08 | Anobit Technologies Ltd. | Efficient readout schemes for analog memory cell devices using multiple read threshold sets |
US8248831B2 (en) * | 2008-12-31 | 2012-08-21 | Apple Inc. | Rejuvenation of analog memory cells |
US8924661B1 (en) | 2009-01-18 | 2014-12-30 | Apple Inc. | Memory system including a controller and processors associated with memory devices |
US8228701B2 (en) | 2009-03-01 | 2012-07-24 | Apple Inc. | Selective activation of programming schemes in analog memory cell arrays |
US8266503B2 (en) | 2009-03-13 | 2012-09-11 | Fusion-Io | Apparatus, system, and method for using multi-level cell storage in a single-level cell mode |
US8261158B2 (en) | 2009-03-13 | 2012-09-04 | Fusion-Io, Inc. | Apparatus, system, and method for using multi-level cell solid-state storage as single level cell solid-state storage |
KR101543245B1 (ko) | 2009-03-18 | 2015-08-11 | 삼성전자주식회사 | 에러 교정 장치와 이를 포함하는 메모리 장치와 데이터 처리 시스템 |
US8259506B1 (en) | 2009-03-25 | 2012-09-04 | Apple Inc. | Database of memory read thresholds |
US8832354B2 (en) * | 2009-03-25 | 2014-09-09 | Apple Inc. | Use of host system resources by memory controller |
US8429498B1 (en) | 2009-03-25 | 2013-04-23 | Apple Inc. | Dual ECC decoder |
US8458574B2 (en) * | 2009-04-06 | 2013-06-04 | Densbits Technologies Ltd. | Compact chien-search based decoding apparatus and method |
US8819385B2 (en) | 2009-04-06 | 2014-08-26 | Densbits Technologies Ltd. | Device and method for managing a flash memory |
US8238157B1 (en) | 2009-04-12 | 2012-08-07 | Apple Inc. | Selective re-programming of analog memory cells |
US8566510B2 (en) * | 2009-05-12 | 2013-10-22 | Densbits Technologies Ltd. | Systems and method for flash memory management |
JP5359570B2 (ja) * | 2009-06-03 | 2013-12-04 | 富士通株式会社 | メモリ試験制御装置およびメモリ試験制御方法 |
US8453038B2 (en) * | 2009-06-30 | 2013-05-28 | Apple Inc. | Chien search using multiple basis representation |
US8479080B1 (en) | 2009-07-12 | 2013-07-02 | Apple Inc. | Adaptive over-provisioning in memory systems |
US8601352B1 (en) | 2009-07-30 | 2013-12-03 | Apple Inc. | Efficient LDPC codes |
US8130544B2 (en) | 2009-08-17 | 2012-03-06 | Skymedi Corporation | Method of reducing bit error rate for a flash memory |
US8868821B2 (en) * | 2009-08-26 | 2014-10-21 | Densbits Technologies Ltd. | Systems and methods for pre-equalization and code design for a flash memory |
US9330767B1 (en) | 2009-08-26 | 2016-05-03 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Flash memory module and method for programming a page of flash memory cells |
US8305812B2 (en) * | 2009-08-26 | 2012-11-06 | Densbits Technologies Ltd. | Flash memory module and method for programming a page of flash memory cells |
US8995197B1 (en) | 2009-08-26 | 2015-03-31 | Densbits Technologies Ltd. | System and methods for dynamic erase and program control for flash memory device memories |
US8730729B2 (en) | 2009-10-15 | 2014-05-20 | Densbits Technologies Ltd. | Systems and methods for averaging error rates in non-volatile devices and storage systems |
US8495465B1 (en) | 2009-10-15 | 2013-07-23 | Apple Inc. | Error correction coding over multiple memory pages |
US8724387B2 (en) * | 2009-10-22 | 2014-05-13 | Densbits Technologies Ltd. | Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages |
US8626988B2 (en) * | 2009-11-19 | 2014-01-07 | Densbits Technologies Ltd. | System and method for uncoded bit error rate equalization via interleaving |
US8495281B2 (en) * | 2009-12-04 | 2013-07-23 | International Business Machines Corporation | Intra-block memory wear leveling |
TWI446350B (zh) * | 2009-12-08 | 2014-07-21 | Silicon Motion Inc | 用來減少無法更正的錯誤之方法以及記憶裝置及其控制器 |
US8677054B1 (en) | 2009-12-16 | 2014-03-18 | Apple Inc. | Memory management schemes for non-volatile memory devices |
US9037777B2 (en) * | 2009-12-22 | 2015-05-19 | Densbits Technologies Ltd. | Device, system, and method for reducing program/read disturb in flash arrays |
US8607124B2 (en) * | 2009-12-24 | 2013-12-10 | Densbits Technologies Ltd. | System and method for setting a flash memory cell read threshold |
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 |
US8380915B2 (en) | 2010-01-27 | 2013-02-19 | Fusion-Io, Inc. | Apparatus, system, and method for managing solid-state storage media |
US8854882B2 (en) | 2010-01-27 | 2014-10-07 | Intelligent Intellectual Property Holdings 2 Llc | Configuring storage cells |
US8661184B2 (en) | 2010-01-27 | 2014-02-25 | Fusion-Io, Inc. | Managing non-volatile media |
US8315092B2 (en) * | 2010-01-27 | 2012-11-20 | Fusion-Io, Inc. | Apparatus, system, and method for determining a read voltage threshold for solid-state storage media |
WO2011092532A1 (en) | 2010-01-28 | 2011-08-04 | Sandisk Il Ltd. | Sliding-window error correction |
US8341502B2 (en) * | 2010-02-28 | 2012-12-25 | Densbits Technologies Ltd. | System and method for multi-dimensional decoding |
US8935595B2 (en) | 2010-03-12 | 2015-01-13 | Lsi Corporation | LDPC erasure decoding for flash memories |
US9245653B2 (en) | 2010-03-15 | 2016-01-26 | Intelligent Intellectual Property Holdings 2 Llc | Reduced level cell mode for non-volatile memory |
US8332728B2 (en) * | 2010-04-02 | 2012-12-11 | Skymedi Corporation | Method and apparatus of generating a soft value for a memory device |
US8527840B2 (en) | 2010-04-06 | 2013-09-03 | Densbits Technologies Ltd. | System and method for restoring damaged data programmed on a flash device |
US9104610B2 (en) | 2010-04-06 | 2015-08-11 | Densbits Technologies Ltd. | Method, system and medium for analog encryption in a flash memory |
US8745317B2 (en) | 2010-04-07 | 2014-06-03 | Densbits Technologies Ltd. | System and method for storing information in a multi-level cell memory |
US8576625B1 (en) * | 2010-04-20 | 2013-11-05 | Marvell International Ltd. | Decoder parameter estimation using multiple memory reads |
US9099169B1 (en) | 2010-04-27 | 2015-08-04 | Tagmatech, Llc | Memory device and method thereof |
US8339873B1 (en) | 2010-04-27 | 2012-12-25 | Bruce Lee Morton | Memory device and method thereof |
US9021177B2 (en) | 2010-04-29 | 2015-04-28 | Densbits Technologies Ltd. | System and method for allocating and using spare blocks in a flash memory |
US8694853B1 (en) | 2010-05-04 | 2014-04-08 | Apple Inc. | Read commands for reading interfering memory cells |
US8386895B2 (en) * | 2010-05-19 | 2013-02-26 | Micron Technology, Inc. | Enhanced multilevel memory |
US8578246B2 (en) * | 2010-05-31 | 2013-11-05 | International Business Machines Corporation | Data encoding in solid-state storage devices |
WO2011159805A2 (en) | 2010-06-15 | 2011-12-22 | Fusion-Io, Inc. | Apparatus, system, and method for providing error correction |
US8572423B1 (en) | 2010-06-22 | 2013-10-29 | Apple Inc. | Reducing peak current in memory systems |
US8621321B2 (en) | 2010-07-01 | 2013-12-31 | Densbits Technologies Ltd. | System and method for multi-dimensional encoding and decoding |
US8539311B2 (en) | 2010-07-01 | 2013-09-17 | Densbits Technologies Ltd. | System and method for data recovery in multi-level cell memories |
US20120008414A1 (en) | 2010-07-06 | 2012-01-12 | Michael Katz | Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system |
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 |
US8732543B1 (en) * | 2010-08-05 | 2014-05-20 | Marvell International Ltd. | Tensor product codes for flash |
US8493781B1 (en) | 2010-08-12 | 2013-07-23 | Apple Inc. | Interference mitigation using individual word line erasure operations |
US8694854B1 (en) | 2010-08-17 | 2014-04-08 | Apple Inc. | Read threshold setting based on soft readout statistics |
US8964464B2 (en) | 2010-08-24 | 2015-02-24 | Densbits Technologies Ltd. | System and method for accelerated sampling |
US8508995B2 (en) | 2010-09-15 | 2013-08-13 | Densbits Technologies Ltd. | System and method for adjusting read voltage thresholds in memories |
US8243511B2 (en) | 2010-09-27 | 2012-08-14 | Seagate Technology Llc | Reuse of information from memory read operations |
US8627175B2 (en) | 2010-09-27 | 2014-01-07 | Seagate Technology Llc | Opportunistic decoding in memory systems |
US9021181B1 (en) | 2010-09-27 | 2015-04-28 | Apple Inc. | Memory management for unifying memory cell conditions by using maximum time intervals |
JP5846589B2 (ja) | 2010-09-29 | 2016-01-20 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | ソリッド・ステート・メモリ・デバイスにおける復号 |
US9063878B2 (en) | 2010-11-03 | 2015-06-23 | Densbits Technologies Ltd. | Method, system and computer readable medium for copy back |
US8464137B2 (en) | 2010-12-03 | 2013-06-11 | International Business Machines Corporation | Probabilistic multi-tier error correction in not-and (NAND) flash memory |
US8850100B2 (en) | 2010-12-07 | 2014-09-30 | Densbits Technologies Ltd. | Interleaving codeword portions between multiple planes and/or dies of a flash memory device |
US8719663B2 (en) | 2010-12-12 | 2014-05-06 | Lsi Corporation | Cross-decoding for non-volatile storage |
US9292377B2 (en) | 2011-01-04 | 2016-03-22 | Seagate Technology Llc | Detection and decoding in flash memories using correlation of neighboring bits and probability based reliability values |
US9898361B2 (en) | 2011-01-04 | 2018-02-20 | Seagate Technology Llc | Multi-tier detection and decoding in flash memories |
US8665650B2 (en) | 2011-02-18 | 2014-03-04 | Marvell World Trade Ltd. | Reliability metrics management for soft decoding |
US10079068B2 (en) | 2011-02-23 | 2018-09-18 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Devices and method for wear estimation based memory management |
US9142323B1 (en) * | 2011-03-01 | 2015-09-22 | Sk Hynix Memory Solutions Inc. | Hardware acceleration of DSP error recovery for flash memory |
US9502117B2 (en) * | 2011-03-14 | 2016-11-22 | Seagate Technology Llc | Cell-level statistics collection for detection and decoding in flash memories |
US8693258B2 (en) | 2011-03-17 | 2014-04-08 | Densbits Technologies Ltd. | Obtaining soft information using a hard interface |
US8839076B2 (en) | 2011-03-31 | 2014-09-16 | International Business Machines Corporation | Encoding a data word for writing the encoded data word in a multi-level solid state memory |
US8990665B1 (en) | 2011-04-06 | 2015-03-24 | Densbits Technologies Ltd. | System, method and computer program product for joint search of a read threshold and soft decoding |
US9372792B1 (en) | 2011-05-12 | 2016-06-21 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Advanced management of a non-volatile memory |
US9396106B2 (en) | 2011-05-12 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Advanced management of a non-volatile memory |
US8996790B1 (en) | 2011-05-12 | 2015-03-31 | Densbits Technologies Ltd. | System and method for flash memory management |
US9501392B1 (en) | 2011-05-12 | 2016-11-22 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Management of a non-volatile memory module |
US9110785B1 (en) | 2011-05-12 | 2015-08-18 | Densbits Technologies Ltd. | Ordered merge of data sectors that belong to memory space portions |
US9195592B1 (en) | 2011-05-12 | 2015-11-24 | Densbits Technologies Ltd. | Advanced management of a non-volatile memory |
US20120297116A1 (en) | 2011-05-16 | 2012-11-22 | Anobit Technologies | Sparse programming of analog memory cells |
US8667211B2 (en) | 2011-06-01 | 2014-03-04 | Densbits Technologies Ltd. | System and method for managing a non-volatile memory |
TWI479495B (zh) * | 2011-06-02 | 2015-04-01 | Phison Electronics Corp | 資料讀取方法、記憶體控制器及記憶體儲存裝置 |
US20130024735A1 (en) * | 2011-07-19 | 2013-01-24 | Ocz Technology Group Inc. | Solid-state memory-based storage method and device with low error rate |
US9032269B2 (en) | 2011-07-22 | 2015-05-12 | Sandisk Technologies Inc. | Systems and methods of storing data |
US8588003B1 (en) | 2011-08-01 | 2013-11-19 | Densbits Technologies Ltd. | System, method and computer program product for programming and for recovering from a power failure |
US8527849B2 (en) * | 2011-08-19 | 2013-09-03 | Stec, Inc. | High speed hard LDPC decoder |
US8553468B2 (en) | 2011-09-21 | 2013-10-08 | Densbits Technologies Ltd. | System and method for managing erase operations in a non-volatile memory |
US9036415B2 (en) | 2011-12-21 | 2015-05-19 | Sandisk Technologies Inc. | Mitigating variations arising from simultaneous multi-state sensing |
US8996788B2 (en) | 2012-02-09 | 2015-03-31 | Densbits Technologies Ltd. | Configurable flash interface |
US8947941B2 (en) | 2012-02-09 | 2015-02-03 | Densbits Technologies Ltd. | State responsive operations relating to flash memory cells |
US9286972B2 (en) * | 2012-02-22 | 2016-03-15 | Silicon Motion, Inc. | Method, memory controller and system for reading data stored in flash memory |
TWI571885B (zh) * | 2012-02-24 | 2017-02-21 | 慧榮科技股份有限公司 | 讀取快閃記憶體中所儲存之資料的方法、記憶體控制器與系統 |
US8954824B2 (en) | 2012-02-28 | 2015-02-10 | Micron Technology, Inc. | Error detection or correction of stored signals after one or more heat events in one or more memory devices |
CN104185952B (zh) | 2012-03-28 | 2018-11-13 | 英特尔公司 | 初级检验节点处理的方法和*** |
US8996793B1 (en) | 2012-04-24 | 2015-03-31 | Densbits Technologies Ltd. | System, method and computer readable medium for generating soft information |
US8838937B1 (en) | 2012-05-23 | 2014-09-16 | Densbits Technologies Ltd. | Methods, systems and computer readable medium for writing and reading data |
US8879325B1 (en) | 2012-05-30 | 2014-11-04 | Densbits Technologies Ltd. | System, method and computer program product for processing read threshold information and for reading a flash memory module |
US8804415B2 (en) | 2012-06-19 | 2014-08-12 | Fusion-Io, Inc. | Adaptive voltage range management in non-volatile memory |
US8640002B1 (en) * | 2012-07-10 | 2014-01-28 | Micron Technology, Inc. | Resolving trapping sets |
US8856431B2 (en) | 2012-08-02 | 2014-10-07 | Lsi Corporation | Mixed granularity higher-level redundancy for non-volatile memory |
US8732537B2 (en) * | 2012-08-06 | 2014-05-20 | Lsi Corporation | Method and system for symbol error rate estimation and sector quality measurement |
KR102012310B1 (ko) | 2012-08-07 | 2019-10-21 | 삼성전자 주식회사 | 데이터 저장 장치의 동작 방법, 데이터 저장 장치 및 이를 이용한 시스템 |
US9921954B1 (en) | 2012-08-27 | 2018-03-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method and system for split flash memory management between host and storage controller |
US9053047B2 (en) | 2012-08-27 | 2015-06-09 | Apple Inc. | Parameter estimation using partial ECC decoding |
US10468096B2 (en) * | 2012-10-15 | 2019-11-05 | Seagate Technology Llc | Accelerated soft read for multi-level cell nonvolatile memories |
US9577673B2 (en) * | 2012-11-08 | 2017-02-21 | Micron Technology, Inc. | Error correction methods and apparatuses using first and second decoders |
US9368225B1 (en) | 2012-11-21 | 2016-06-14 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Determining read thresholds based upon read error direction statistics |
KR102049076B1 (ko) | 2012-12-06 | 2020-01-09 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 그것의 동작 방법 |
TWI456393B (zh) | 2012-12-24 | 2014-10-11 | Phison Electronics Corp | 資料讀取方法、記憶體控制器與記憶體儲存裝置 |
US9069659B1 (en) | 2013-01-03 | 2015-06-30 | Densbits Technologies Ltd. | Read threshold determination using reference read threshold |
CN103914391B (zh) * | 2013-01-07 | 2016-12-28 | 群联电子股份有限公司 | 数据读取方法、存储器控制器与存储器存储装置 |
US9058869B2 (en) * | 2013-02-07 | 2015-06-16 | Seagate Technology Llc | Applying a bias signal to memory cells to reverse a resistance shift of the memory cells |
US9135972B2 (en) | 2013-02-20 | 2015-09-15 | Apple Inc. | Readout of interfering memory cells using estimated interference to other memory cells |
US10061640B1 (en) | 2013-03-12 | 2018-08-28 | Western Digital Technologies, Inc. | Soft-decision input generation for data storage systems |
US8924824B1 (en) | 2013-03-12 | 2014-12-30 | Western Digital Technologies, Inc. | Soft-decision input generation for data storage systems |
US9542258B1 (en) | 2013-03-15 | 2017-01-10 | Western Digital Technologies, Inc. | System and method for error-minimizing voltage threshold selection |
US9047211B2 (en) | 2013-03-15 | 2015-06-02 | SanDisk Technologies, Inc. | Managing data reliability |
KR102081415B1 (ko) | 2013-03-15 | 2020-02-25 | 삼성전자주식회사 | 비휘발성 메모리 장치의 llr 최적화 방법 및 비휘발성 메모리 장치의 에러 정정 방법 |
US9136876B1 (en) | 2013-06-13 | 2015-09-15 | Densbits Technologies Ltd. | Size limited multi-dimensional decoding |
US9413491B1 (en) | 2013-10-08 | 2016-08-09 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for multiple dimension decoding and encoding a message |
US9397706B1 (en) | 2013-10-09 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for irregular multiple dimension decoding and encoding |
US9348694B1 (en) | 2013-10-09 | 2016-05-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
US9786388B1 (en) | 2013-10-09 | 2017-10-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
US9270296B1 (en) | 2013-11-13 | 2016-02-23 | Western Digital Technologies, Inc. | Method and system for soft decoding through single read |
GB2520708A (en) | 2013-11-28 | 2015-06-03 | Ibm | Multi-stage codeword detector |
GB201320983D0 (en) | 2013-11-28 | 2014-01-15 | Ibm | Data encoding in solid-state storage apparatus |
US9007854B1 (en) | 2013-12-09 | 2015-04-14 | Western Digital Technologies, Inc. | Method and system for optimized soft decoding in a data storage device |
US9306600B2 (en) | 2014-01-06 | 2016-04-05 | Micron Technology, Inc. | Read threshold calibration for LDPC |
US9536612B1 (en) | 2014-01-23 | 2017-01-03 | Avago Technologies General Ip (Singapore) Pte. Ltd | Digital signaling processing for three dimensional flash memory arrays |
US10120792B1 (en) | 2014-01-29 | 2018-11-06 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Programming an embedded flash storage device |
KR20150091693A (ko) | 2014-02-03 | 2015-08-12 | 삼성전자주식회사 | 플래쉬 메모리 읽기 방법 |
KR102149668B1 (ko) | 2014-04-22 | 2020-08-31 | 삼성전자주식회사 | 비휘발성 메모리 장치의 데이터 디코딩 방법 |
US9646699B2 (en) | 2014-04-30 | 2017-05-09 | Empire Technology Development Llc | Differential writing for life extension of portions of a memory device |
US9542262B1 (en) | 2014-05-29 | 2017-01-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Error correction |
US9892033B1 (en) | 2014-06-24 | 2018-02-13 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Management of memory units |
US9972393B1 (en) | 2014-07-03 | 2018-05-15 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Accelerating programming of a flash memory module |
US9584159B1 (en) | 2014-07-03 | 2017-02-28 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Interleaved encoding |
US9449702B1 (en) | 2014-07-08 | 2016-09-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Power management |
TWI550615B (zh) * | 2014-08-28 | 2016-09-21 | 群聯電子股份有限公司 | 資料存取方法、記憶體儲存裝置及記憶體控制電路單元 |
US9524211B1 (en) | 2014-11-18 | 2016-12-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Codeword management |
KR102128330B1 (ko) | 2014-11-24 | 2020-06-30 | 삼성전자주식회사 | 신호 처리 장치, 신호 복원 장치, 신호 처리 방법, 및 신호 복원 방법 |
US9406377B2 (en) * | 2014-12-08 | 2016-08-02 | Sandisk Technologies Llc | Rewritable multibit non-volatile memory with soft decode optimization |
US10084481B2 (en) | 2014-12-18 | 2018-09-25 | Apple Inc. | GLDPC soft decoding with hard decision inputs |
US10305515B1 (en) | 2015-02-02 | 2019-05-28 | Avago Technologies International Sales Pte. Limited | System and method for encoding using multiple linear feedback shift registers |
KR20160102738A (ko) * | 2015-02-23 | 2016-08-31 | 에스케이하이닉스 주식회사 | 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법 |
TWI562152B (en) * | 2015-05-29 | 2016-12-11 | Phison Electronics Corp | Decoding method, memory storage device and memory control circuit unit |
US10628255B1 (en) | 2015-06-11 | 2020-04-21 | Avago Technologies International Sales Pte. Limited | Multi-dimensional decoding |
US9851921B1 (en) | 2015-07-05 | 2017-12-26 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Flash memory chip processing |
US9954558B1 (en) | 2016-03-03 | 2018-04-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Fast decoding of data stored in a flash memory |
US10146460B1 (en) | 2017-06-01 | 2018-12-04 | Apple Inc. | Programming schemes for avoidance or recovery from cross-temperature read failures |
KR102661931B1 (ko) * | 2017-09-21 | 2024-05-02 | 삼성전자주식회사 | 오류 정정 코드를 지원하는 장치 및 그것의 테스트 방법 |
US10848182B2 (en) | 2018-09-13 | 2020-11-24 | Apple Inc. | Iterative decoding with early termination criterion that permits errors in redundancy part |
KR102615012B1 (ko) | 2018-11-12 | 2023-12-19 | 삼성전자주식회사 | 메모리 장치 및 그것의 동작 방법 |
US11321619B2 (en) | 2019-08-14 | 2022-05-03 | International Business Machines Corporation | State dependent calibration of qubit measurements |
US11360840B2 (en) * | 2020-01-20 | 2022-06-14 | Samsung Electronics Co., Ltd. | Method and apparatus for performing redundancy analysis of a semiconductor device |
KR102391802B1 (ko) * | 2020-11-04 | 2022-04-29 | 성균관대학교산학협력단 | 유전 알고리즘 기반의 토폴로지 합성 방법 |
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 |
US11513887B1 (en) * | 2021-08-23 | 2022-11-29 | Apple Inc. | Cancelation of cross-coupling interference among memory cells |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6751766B2 (en) | 2002-05-20 | 2004-06-15 | Sandisk Corporation | Increasing the effectiveness of error correction codes and operating multi-level memory systems by using information about the quality of the stored data |
US6829167B2 (en) | 2002-12-12 | 2004-12-07 | Sandisk Corporation | Error recovery for nonvolatile memory |
US7023735B2 (en) | 2003-06-17 | 2006-04-04 | Ramot At Tel-Aviv University Ltd. | Methods of increasing the reliability of a flash memory |
Family Cites Families (483)
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 |
US4910706A (en) | 1972-09-11 | 1990-03-20 | Hyatt Gilbert P | Analog memory for storing digital information |
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 | 富士通株式会社 | エラ−訂正方式 |
US4556961A (en) | 1981-05-26 | 1985-12-03 | Tokyo Shibaura Denki Kabushiki Kaisha | Semiconductor memory with delay means to reduce peak currents |
US4413339A (en) | 1981-06-24 | 1983-11-01 | Digital Equipment Corporation | Multiple error detecting and correcting system employing Reed-Solomon codes |
JPS59106152A (ja) | 1982-12-10 | 1984-06-19 | Nec Corp | 半導体装置 |
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 |
EP0148488B1 (en) | 1983-12-23 | 1992-03-18 | Hitachi, Ltd. | Semiconductor memory having multiple level storage structure |
DE3587082T2 (de) | 1984-04-02 | 1993-06-03 | Univ Leland Stanford Junior | Speichersystem fuer analoge daten. |
JPS618796A (ja) | 1984-06-20 | 1986-01-16 | Nec Corp | ダイナミツクメモリ |
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 |
US4899342A (en) | 1988-02-01 | 1990-02-06 | Thinking Machines Corporation | Method and apparatus for operating multi-unit array of memories |
JPH01201736A (ja) | 1988-02-08 | 1989-08-14 | Mitsubishi Electric Corp | マイクロコンピュータ |
DE68913695T2 (de) | 1988-12-27 | 1994-10-20 | Nec Corp | Mikrorechner mit einem elektrisch löschbaren und programmierbaren nichtflüchtigen Speicher. |
US5077722A (en) | 1989-01-06 | 1991-12-31 | Convex Computer Corporation | Disk drive insertion and removal interlock |
US4993029A (en) | 1989-03-13 | 1991-02-12 | International Business Machines Corporation | Method and apparatus for randomizing data in a direct access storage device |
US5276649A (en) | 1989-03-16 | 1994-01-04 | Mitsubishi Denki Kabushiki Kaisha | Dynamic-type semiconductor memory device having staggered activation of column groups |
US5172338B1 (en) | 1989-04-13 | 1997-07-08 | Sandisk Corp | Multi-state eeprom read and write circuits and techniques |
US5163021A (en) | 1989-04-13 | 1992-11-10 | Sundisk Corporation | Multi-state EEprom read and write circuits and techniques |
DE69024086T2 (de) | 1989-04-13 | 1996-06-20 | Sundisk Corp | EEprom-System mit Blocklöschung |
US5200959A (en) | 1989-10-17 | 1993-04-06 | Sundisk Corporation | Device and method for defect handling in semi-conductor memory |
US5126808A (en) | 1989-10-23 | 1992-06-30 | Advanced Micro Devices, Inc. | Flash EEPROM array with paged erase architecture |
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 |
US5218569A (en) | 1991-02-08 | 1993-06-08 | Banks Gerald J | Electrically alterable non-volatile memory with n-bits per memory cell |
US5272669A (en) | 1991-02-20 | 1993-12-21 | Sundisk Corporation | Method and structure for programming floating gate memory cells |
US5191584A (en) | 1991-02-20 | 1993-03-02 | Micropolis Corporation | Mass storage array with efficient parity calculation |
KR960002006B1 (ko) | 1991-03-12 | 1996-02-09 | 가부시끼가이샤 도시바 | 2개의 기준 레벨을 사용하는 기록 검증 제어기를 갖는 전기적으로 소거 가능하고 프로그램 가능한 불휘발성 메모리 장치 |
GB2256735B (en) | 1991-06-12 | 1995-06-21 | Intel Corp | Non-volatile disk cache |
US6230233B1 (en) | 1991-09-13 | 2001-05-08 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
US5237535A (en) | 1991-10-09 | 1993-08-17 | Intel Corporation | Method of repairing overerased cells in a flash memory |
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 |
US5388064A (en) | 1991-11-26 | 1995-02-07 | Information Storage Devices, Inc. | Programmable non-volatile analog voltage source devices and methods |
US6222762B1 (en) | 1992-01-14 | 2001-04-24 | Sandisk Corporation | Multi-state memory |
US5657332A (en) | 1992-05-20 | 1997-08-12 | Sandisk Corporation | Soft errors handling in EEPROM devices |
US5532962A (en) | 1992-05-20 | 1996-07-02 | Sandisk Corporation | Soft errors handling in EEPROM devices |
JP2816512B2 (ja) | 1992-07-27 | 1998-10-27 | 三菱電機株式会社 | 半導体記憶装置 |
US5479170A (en) | 1992-10-16 | 1995-12-26 | California Institute Of Technology | Method and apparatus for long-term multi-valued storage in dynamic analog memory |
US5473753A (en) | 1992-10-30 | 1995-12-05 | Intel Corporation | Method of managing defects in flash disk memories |
US5416782A (en) | 1992-10-30 | 1995-05-16 | Intel Corporation | Method and apparatus for improving data failure rate testing for memory arrays |
US5416646A (en) | 1992-11-12 | 1995-05-16 | Kabushiki Kaisha Toshiba | Data recording and reproducing apparatus having read/write circuit with programmable parameter means |
US5761402A (en) | 1993-03-08 | 1998-06-02 | Hitachi, Ltd. | Array type disk system updating redundant data asynchronously with data access |
US5784377A (en) | 1993-03-09 | 1998-07-21 | Hubbell Incorporated | Integrated digital loop carrier system with virtual tributary mapper circuit |
US5365484A (en) | 1993-08-23 | 1994-11-15 | Advanced Micro Devices, Inc. | Independent array grounds for flash EEPROM array with paged erase architechture |
US6091639A (en) | 1993-08-27 | 2000-07-18 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory device and data programming method |
US5446854A (en) | 1993-10-20 | 1995-08-29 | Sun Microsystems, Inc. | Virtual memory computer apparatus and address translation mechanism employing hashing scheme and page frame descriptor that support multiple page sizes |
GB2289779B (en) | 1994-05-24 | 1999-04-28 | Intel Corp | Method and apparatus for automatically scrubbing ECC errors in memory via hardware |
US5583889A (en) | 1994-07-08 | 1996-12-10 | Zenith Electronics Corporation | Trellis coded modulation system for HDTV |
JPH0877694A (ja) | 1994-09-05 | 1996-03-22 | Yamaha Corp | 操作子装置 |
US5508958A (en) | 1994-09-29 | 1996-04-16 | Intel Corporation | Method and apparatus for sensing the state of floating gate memory cells by applying a variable gate voltage |
EP0709776B1 (en) | 1994-10-31 | 2000-02-23 | STMicroelectronics S.r.l. | Method for detecting and correcting an error in a multilevel memory and memory device implementing the method |
US5694356A (en) | 1994-11-02 | 1997-12-02 | Invoice Technology, Inc. | High resolution analog storage EPROM and flash EPROM |
US5541886A (en) | 1994-12-27 | 1996-07-30 | Intel Corporation | Method and apparatus for storing control information in multi-bit non-volatile memory arrays |
US5838832A (en) | 1995-04-03 | 1998-11-17 | Iterated Systems, Inc. | Method and system for representing a data set with a data transforming function and data mask |
WO1996041346A1 (en) | 1995-06-07 | 1996-12-19 | Macronix International Co., Ltd. | Automatic programming algorithm for page mode flash memory with variable programming pulse height and pulse width |
US5860106A (en) | 1995-07-13 | 1999-01-12 | Intel Corporation | Method and apparatus for dynamically adjusting power/performance characteristics of a memory subsystem |
US5801985A (en) | 1995-07-28 | 1998-09-01 | Micron Technology, Inc. | Memory system having programmable control parameters |
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 |
US5687114A (en) | 1995-10-06 | 1997-11-11 | Agate Semiconductor, Inc. | Integrated circuit for storage and retrieval of multiple digital bits per nonvolatile memory cell |
KR0169412B1 (ko) | 1995-10-16 | 1999-02-01 | 김광호 | 불휘발성 반도체 메모리 장치 |
US5742752A (en) | 1995-12-29 | 1998-04-21 | Symbios Logic Inc. | Method for performing a RAID stripe write operation using a drive XOR command set |
US5675540A (en) | 1996-01-22 | 1997-10-07 | Micron Quantum Devices, Inc. | Non-volatile memory system having internal data verification test mode |
US5682352A (en) | 1996-02-08 | 1997-10-28 | Invoice Technology, Inc. | Digital testing of analog memory devices |
US5867114A (en) | 1996-02-29 | 1999-02-02 | Mitel Corporation | Method and apparatus for performing data compression |
US5748533A (en) | 1996-03-26 | 1998-05-05 | Invoice Technology, Inc. | Read circuit which uses a coarse-to-fine search when reading the threshold voltage of a memory cell |
US5748534A (en) | 1996-03-26 | 1998-05-05 | Invox Technology | Feedback loop for reading threshold voltage |
US5726934A (en) | 1996-04-09 | 1998-03-10 | Information Storage Devices, Inc. | Method and apparatus for analog reading values stored in floating gate structures |
US6073204A (en) | 1997-04-23 | 2000-06-06 | Micron Technology, Inc. | Memory system having flexible architecture and method |
US5815439A (en) | 1996-04-30 | 1998-09-29 | Agate Semiconductor, Inc. | Stabilization circuits and techniques for storage and retrieval of single or multiple digital bits per memory cell |
US5946716A (en) | 1996-05-30 | 1999-08-31 | Hewlett-Packard Company | Sectored virtual memory management system and translation look-aside buffer (TLB) for the same |
JP3202600B2 (ja) | 1996-06-27 | 2001-08-27 | 日本電気株式会社 | 磁気ディスク装置 |
US6009016A (en) | 1996-07-09 | 1999-12-28 | Hitachi, Ltd. | Nonvolatile memory system semiconductor memory and writing method |
JP3976839B2 (ja) | 1996-07-09 | 2007-09-19 | 株式会社ルネサステクノロジ | 不揮発性メモリシステムおよび不揮発性半導体メモリ |
US6134631A (en) | 1996-08-19 | 2000-10-17 | Hyundai Electronics America, Inc. | Non-volatile memory with embedded programmable controller |
US6148360A (en) | 1996-09-20 | 2000-11-14 | Intel Corporation | Nonvolatile writeable memory with program suspend command |
US5864569A (en) | 1996-10-18 | 1999-01-26 | Micron Technology, Inc. | Method and apparatus for performing error correction on data read from a multistate memory |
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 |
AU4996697A (en) | 1996-12-20 | 1998-07-17 | Intel Corporation | Nonvolatile writeable memory with fast programming capability |
US6279069B1 (en) | 1996-12-26 | 2001-08-21 | Intel Corporation | Interface for flash EEPROM memory arrays |
KR100213094B1 (ko) | 1997-02-21 | 1999-08-02 | 윤종용 | 영상 개선장치를 위한 히스토그램 및 cdf 추출방법 및 그 회로 |
US5798966A (en) | 1997-03-31 | 1998-08-25 | Intel Corporation | Flash memory VDS compensation techiques to reduce programming variability |
US6134140A (en) | 1997-05-14 | 2000-10-17 | Kabushiki Kaisha Toshiba | Nonvolatile semiconductor memory device with soft-programming to adjust erased state of memory cells |
US5912906A (en) | 1997-06-23 | 1999-06-15 | Sun Microsystems, Inc. | Method and apparatus for recovering from correctable ECC errors |
US6212654B1 (en) | 1997-07-22 | 2001-04-03 | Lucent Technologies Inc. | Coded modulation for digital storage in analog memory devices |
US5930167A (en) | 1997-07-30 | 1999-07-27 | Sandisk Corporation | Multi-state non-volatile flash memory capable of being its own two state write cache |
US6360346B1 (en) | 1997-08-27 | 2002-03-19 | Sony Corporation | Storage unit, method of checking storage unit, reading and writing method |
US5909449A (en) | 1997-09-08 | 1999-06-01 | Invox Technology | Multibit-per-cell non-volatile memory with error detection and correction |
US6041430A (en) | 1997-11-03 | 2000-03-21 | Sun Microsystems, Inc. | Error detection and correction code for data and check code fields |
US5867429A (en) | 1997-11-19 | 1999-02-02 | Sandisk Corporation | High density non-volatile flash memory without adverse effects of electric field coupling between adjacent floating gates |
US6442585B1 (en) | 1997-11-26 | 2002-08-27 | Compaq Computer Corporation | Method for scheduling contexts based on statistics of memory system interactions in a computer system |
US6034891A (en) | 1997-12-01 | 2000-03-07 | Micron Technology, Inc. | Multi-state flash memory defect management |
US6467062B1 (en) | 1997-12-10 | 2002-10-15 | Mordecai Barkan | Digital data (multi-bit) storage with discrete analog memory cells |
US5969986A (en) | 1998-06-23 | 1999-10-19 | Invox Technology | High-bandwidth read and write architectures for non-volatile memories |
US6040993A (en) | 1998-02-23 | 2000-03-21 | Macronix International Co., Ltd. | Method for programming an analog/multi-level flash EEPROM |
US6026042A (en) | 1998-04-10 | 2000-02-15 | Micron Technology, Inc. | Method and apparatus for enhancing the performance of semiconductor memory devices |
US6397364B1 (en) | 1998-04-20 | 2002-05-28 | Mordecai Barkan | Digital data representation for multi-bit data storage and transmission |
US6009014A (en) | 1998-06-03 | 1999-12-28 | Advanced Micro Devices, Inc. | Erase verify scheme for NAND flash |
US6178466B1 (en) | 1998-06-12 | 2001-01-23 | Unisys Corporation | System for maximizing bandpass on an interface directly coupling two units where the interface has independently operative data and address interconnections, and computer sysem employing same. |
US6208542B1 (en) | 1998-06-30 | 2001-03-27 | Sandisk Corporation | Techniques for storing digital data in an analog or multilevel memory |
DE69828966D1 (de) | 1998-09-15 | 2005-03-17 | St Microelectronics Srl | Verfahren zum Schutz des Inhalts nichtflüchtiger Speicherzellen |
US5995417A (en) | 1998-10-20 | 1999-11-30 | Advanced Micro Devices, Inc. | Scheme for page erase and erase verify in a non-volatile memory array |
US6490200B2 (en) | 2000-03-27 | 2002-12-03 | Sandisk Corporation | Non-volatile memory with improved sensing and method therefor |
JP2000132987A (ja) * | 1998-10-28 | 2000-05-12 | Neucore Technol Inc | 不揮発性半導体メモリ装置 |
JP2000173289A (ja) | 1998-12-10 | 2000-06-23 | Toshiba Corp | エラー訂正可能なフラッシュメモリシステム |
US6240458B1 (en) | 1998-12-22 | 2001-05-29 | Unisys Corporation | System and method for programmably controlling data transfer request rates between data sources and destinations in a data processing system |
US7031214B2 (en) | 1999-01-14 | 2006-04-18 | Silicon Storage Technology, Inc. | Digital multilevel memory system having multistage autozero sensing |
US6956779B2 (en) | 1999-01-14 | 2005-10-18 | Silicon Storage Technology, Inc. | Multistage autozero sensing for a multilevel non-volatile memory integrated circuit system |
US6975539B2 (en) | 1999-01-14 | 2005-12-13 | Silicon Storage Technology, Inc. | Digital multilevel non-volatile memory system |
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 |
US6405323B1 (en) | 1999-03-30 | 2002-06-11 | Silicon Storage Technology, Inc. | Defect management for interface to electrically-erasable programmable read-only memory |
JP3620992B2 (ja) | 1999-04-23 | 2005-02-16 | 株式会社 沖マイクロデザイン | 半導体記憶装置 |
US6166962A (en) | 1999-06-24 | 2000-12-26 | Amic Technology, Inc. | Circuit and method for conditioning flash memory array |
EP1067547A1 (en) | 1999-06-28 | 2001-01-10 | Hewlett-Packard Company | Data set recovery by codeword overlay |
US6708257B2 (en) | 1999-07-12 | 2004-03-16 | Koninklijke Philips Electronics N.V. | Buffering system bus for external-memory access |
KR100618298B1 (ko) | 1999-07-28 | 2006-09-01 | 소니 가부시끼 가이샤 | 기록 시스템, 데이터 기록 장치, 메모리 장치 및 데이터기록 방법 |
EP1074995B1 (en) | 1999-08-03 | 2005-10-26 | STMicroelectronics S.r.l. | Method for programming multi-level non-volatile memories by controlling the gate voltage |
US7457897B1 (en) | 2004-03-17 | 2008-11-25 | Suoer Talent Electronics, Inc. | PCI express-compatible controller and interface for flash memory |
JP3888808B2 (ja) | 1999-08-16 | 2007-03-07 | 富士通株式会社 | Nand型不揮発性メモリ |
US6553510B1 (en) | 1999-09-02 | 2003-04-22 | Micron Technology, Inc. | Memory device including redundancy routine for correcting random errors |
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 |
US6141261A (en) | 1999-12-31 | 2000-10-31 | Patti; Robert | DRAM that stores multiple bits per storage cell |
US6304486B1 (en) | 1999-12-20 | 2001-10-16 | Fujitsu Limited | Sensing time control device and method |
JP2001184881A (ja) | 1999-12-28 | 2001-07-06 | Toshiba Corp | 不揮発性半導体メモリの読み出し回路 |
US7847833B2 (en) | 2001-02-07 | 2010-12-07 | Verisign, Inc. | Digital camera device providing improved methodology for rapidly taking successive pictures |
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 |
US6532556B1 (en) | 2000-01-27 | 2003-03-11 | Multi Level Memory Technology | Data management for multi-bit-per-cell memories |
US6363008B1 (en) | 2000-02-17 | 2002-03-26 | Multi Level Memory Technology | Multi-bit-cell non-volatile memory with maximized data capacity |
US6219276B1 (en) | 2000-02-25 | 2001-04-17 | Advanced Micro Devices, Inc. | Multilevel cell programming |
US6615307B1 (en) | 2000-05-10 | 2003-09-02 | Micron Technology, Inc. | Flash with consistent latency for read operations |
JP2001291344A (ja) | 2000-04-04 | 2001-10-19 | Hitachi Ltd | 光ディスク装置およびそのデータ再生方法 |
CA2404984A1 (en) | 2000-04-04 | 2001-10-11 | Comtech Telecommunications Corp. | Enhanced turbo product code decoder system |
US6774808B1 (en) | 2000-05-17 | 2004-08-10 | Dell Products L.P. | Electromechanical lock for components |
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 |
US6804805B2 (en) | 2000-06-27 | 2004-10-12 | Seagate Technology Llc | Method and apparatus for encoding with unequal protection in magnetic recording channels having concatenated error correction codes |
US6292394B1 (en) | 2000-06-29 | 2001-09-18 | Saifun Semiconductors Ltd. | Method for programming of a semiconductor memory cell |
US7065147B2 (en) | 2000-07-12 | 2006-06-20 | Texas Instruments Incorporated | System and method of data communication using turbo trellis coded modulation combined with constellation shaping with or without precoding |
JP2002042495A (ja) | 2000-07-21 | 2002-02-08 | Mitsubishi Electric Corp | 冗長救済回路、方法および半導体装置 |
JP3595495B2 (ja) | 2000-07-27 | 2004-12-02 | Necマイクロシステム株式会社 | 半導体記憶装置 |
US6396742B1 (en) | 2000-07-28 | 2002-05-28 | Silicon Storage Technology, Inc. | Testing of multilevel semiconductor memory |
US6301151B1 (en) | 2000-08-09 | 2001-10-09 | Information Storage Devices, Inc. | Adaptive programming method and apparatus for flash memory analog storage |
US7113432B2 (en) | 2000-09-14 | 2006-09-26 | Sandisk Corporation | Compressed event counting technique and application to a flash memory system |
US6538922B1 (en) | 2000-09-27 | 2003-03-25 | Sandisk Corporation | Writable tracking cells |
DE60045073D1 (de) | 2000-10-13 | 2010-11-18 | St Microelectronics Srl | Verfahren zum Speichern und Lesen von Daten eines nichtflüchtigen Multibitspeichers mit einer nichtbinären Anzahl von Bits pro Zelle |
US7107480B1 (en) | 2000-12-22 | 2006-09-12 | Simpletech, Inc. | System and method for preventing data corruption in solid-state memory devices after a power failure |
US6349056B1 (en) | 2000-12-28 | 2002-02-19 | Sandisk Corporation | Method and structure for efficient data verification operation for non-volatile memories |
US6469931B1 (en) | 2001-01-04 | 2002-10-22 | M-Systems Flash Disk Pioneers Ltd. | Method for increasing information content in a computer memory |
US6687155B2 (en) | 2001-01-11 | 2004-02-03 | Oki Electric Industry Co., Ltd. | Analog storage semiconductor memory that uses plural write voltages and plural read voltages having different voltage levels |
US6765812B2 (en) | 2001-01-17 | 2004-07-20 | Honeywell International Inc. | Enhanced memory module architecture |
US6466476B1 (en) | 2001-01-18 | 2002-10-15 | Multi Level Memory Technology | Data coding for multi-bit-per-cell memories having variable numbers of bits per memory cell |
US20020174295A1 (en) | 2001-01-29 | 2002-11-21 | Ulrich Thomas R. | Enhanced file system failure tolerance |
JP3875570B2 (ja) | 2001-02-20 | 2007-01-31 | 株式会社東芝 | 半導体記憶装置のデータ書き込み方法及び半導体記憶装置 |
US6738289B2 (en) | 2001-02-26 | 2004-05-18 | Sandisk Corporation | Non-volatile memory with improved programming and method therefor |
JP3829088B2 (ja) | 2001-03-29 | 2006-10-04 | 株式会社東芝 | 半導体記憶装置 |
DE60238602D1 (de) | 2001-04-04 | 2011-01-27 | Quellan Inc | Verfahren und system zum decodieren von mehrpegelsignalen |
US6757193B2 (en) | 2001-05-31 | 2004-06-29 | Macronix International Co., Ltd. | Coding method of multi-level memory cell |
WO2002100112A1 (en) | 2001-06-03 | 2002-12-12 | Seelive Ltd. | System and method for rapid video compression |
US6731557B2 (en) | 2001-06-21 | 2004-05-04 | Stmicroelectronics S.R.L. | Method of refreshing an electrically erasable and programmable non-volatile memory |
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 |
US6522580B2 (en) | 2001-06-27 | 2003-02-18 | Sandisk Corporation | Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states |
US6809964B2 (en) | 2001-08-30 | 2004-10-26 | Micron Technology, Inc. | Nonvolatile semiconductor memory device capable of transferring data internally without using an external bus |
US6717847B2 (en) | 2001-09-17 | 2004-04-06 | Sandisk Corporation | Selective operation of a multi-state non-volatile memory system in a binary mode |
US7170802B2 (en) | 2003-12-31 | 2007-01-30 | Sandisk Corporation | Flexible and area efficient column redundancy for non-volatile memories |
US6456528B1 (en) | 2001-09-17 | 2002-09-24 | Sandisk Corporation | Selective operation of a multi-state non-volatile memory system in a binary mode |
US6643169B2 (en) | 2001-09-18 | 2003-11-04 | Intel Corporation | Variable level memory |
US6678192B2 (en) * | 2001-11-02 | 2004-01-13 | Sandisk Corporation | Error management for writable tracking storage units |
US6560152B1 (en) | 2001-11-02 | 2003-05-06 | Sandisk Corporation | Non-volatile memory with temperature-compensated data read |
US7139325B1 (en) | 2001-12-07 | 2006-11-21 | Applied Micro Circuits Corporation | System and method for five-level non-causal channel equalization |
US6870770B2 (en) | 2001-12-12 | 2005-03-22 | Micron Technology, Inc. | Method and architecture to calibrate read operations in synchronous flash memory |
US6907497B2 (en) | 2001-12-20 | 2005-06-14 | Kabushiki Kaisha Toshiba | Non-volatile semiconductor memory device |
US6418060B1 (en) | 2002-01-03 | 2002-07-09 | Ememory Technology Inc. | Method of programming and erasing non-volatile memory cells |
US6621739B2 (en) * | 2002-01-18 | 2003-09-16 | Sandisk Corporation | Reducing the effects of noise in non-volatile memories through multiple reads |
US6542407B1 (en) | 2002-01-18 | 2003-04-01 | Sandisk Corporation | Techniques of recovering data from memory cells affected by field coupling with adjacent memory cells |
JP2003257192A (ja) | 2002-03-06 | 2003-09-12 | Mitsubishi Electric Corp | 半導体記憶装置および不揮発性半導体記憶装置 |
US6851018B2 (en) | 2002-03-27 | 2005-02-01 | Hewlett-Packard Development Company, L.P. | Exchanging operation parameters between a data storage device and a controller |
KR100476888B1 (ko) | 2002-04-04 | 2005-03-17 | 삼성전자주식회사 | 온도보상기능을 가진 멀티비트 플래쉬메모리 |
US6707748B2 (en) | 2002-05-07 | 2004-03-16 | Ritek Corporation | Back up power embodied non-volatile memory device |
FR2842344A1 (fr) | 2002-07-11 | 2004-01-16 | St Microelectronics Sa | Procede de commande d'une memoire electronique non volatile et dispositif associe |
US6781880B2 (en) | 2002-07-19 | 2004-08-24 | Micron Technology, Inc. | Non-volatile memory erase circuitry |
US6941412B2 (en) | 2002-08-29 | 2005-09-06 | Sandisk Corporation | Symbol frequency leveling in a storage system |
US6781877B2 (en) | 2002-09-06 | 2004-08-24 | Sandisk Corporation | Techniques for reducing effects of coupling between storage elements of adjacent rows of memory cells |
US6987693B2 (en) | 2002-09-24 | 2006-01-17 | Sandisk Corporation | Non-volatile memory and method with reduced neighboring field errors |
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 |
US20040083334A1 (en) | 2002-10-28 | 2004-04-29 | Sandisk Corporation | Method and apparatus for managing the integrity of data in non-volatile memory system |
US8412879B2 (en) | 2002-10-28 | 2013-04-02 | Sandisk Technologies Inc. | Hybrid implementation for error correction codes within a non-volatile memory system |
US6963505B2 (en) | 2002-10-29 | 2005-11-08 | Aifun Semiconductors Ltd. | Method circuit and system for determining a reference voltage |
US7136304B2 (en) | 2002-10-29 | 2006-11-14 | Saifun Semiconductor Ltd | Method, system and circuit for programming a non-volatile memory array |
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 |
US7073103B2 (en) | 2002-12-05 | 2006-07-04 | Sandisk Corporation | Smart verify for multi-state memories |
US6882567B1 (en) | 2002-12-06 | 2005-04-19 | Multi Level Memory Technology | Parallel programming of multiple-bit-per-cell memory cells on a continuous word line |
US6836435B2 (en) | 2002-12-13 | 2004-12-28 | Freescale Semiconductor, Inc. | Compaction scheme in NVM |
DE10300781B4 (de) | 2003-01-11 | 2014-02-06 | Qimonda Ag | Speicherbaustein, Testsystem und Verfahren zum Testen eines oder mehrerer Speicherbausteine |
JP2004253038A (ja) | 2003-02-19 | 2004-09-09 | Renesas Technology Corp | 半導体記憶装置 |
US7619269B2 (en) | 2003-03-19 | 2009-11-17 | Fujitsu Microelectronics Limited | Semiconductor device, manufacturing process thereof and imaging device |
US7002821B2 (en) | 2003-04-11 | 2006-02-21 | Gerpheide George E | Zero drift analog memory cell, array and method of operation |
JP3913704B2 (ja) | 2003-04-22 | 2007-05-09 | 株式会社東芝 | 不揮発性半導体記憶装置及びこれを用いた電子装置 |
US6975542B2 (en) | 2003-05-08 | 2005-12-13 | Micron Technology, Inc. | NAND flash memory with improved read and verification threshold uniformity |
WO2004105120A1 (ja) | 2003-05-20 | 2004-12-02 | Fujitsu Limited | Lsiパッケージ及びlsi素子の試験方法及び半導体装置の製造方法 |
JP2004348817A (ja) | 2003-05-20 | 2004-12-09 | Sharp Corp | 半導体記憶装置、そのページバッファリソース割当方法及び回路、コンピュータシステム並びに携帯電子機器 |
US6845052B1 (en) | 2003-05-30 | 2005-01-18 | Macronix International Co., Ltd. | Dual reference cell sensing scheme for non-volatile memory |
US7254690B2 (en) | 2003-06-02 | 2007-08-07 | S. Aqua Semiconductor Llc | Pipelined semiconductor memories and systems |
US7372731B2 (en) | 2003-06-17 | 2008-05-13 | Sandisk Il Ltd. | Flash memories with adaptive reference voltages |
US6988175B2 (en) | 2003-06-30 | 2006-01-17 | M-Systems Flash Disk Pioneers Ltd. | Flash memory management method that is resistant to data corruption by power loss |
WO2005010638A2 (en) | 2003-07-30 | 2005-02-03 | M-Systems Flash Disk Pioneers Ltd. | Method and system for optimizing reliability and performance of programming data in non-volatile memory devices |
US6903972B2 (en) | 2003-07-30 | 2005-06-07 | M-Systems Flash Disk Pioneers Ltd. | Different methods applied for archiving data according to their desired lifetime |
US7471552B2 (en) | 2003-08-04 | 2008-12-30 | Ovonyx, Inc. | Analog phase change memory |
JP2005092923A (ja) | 2003-09-12 | 2005-04-07 | Renesas Technology Corp | 半導体記憶装置 |
US7064980B2 (en) | 2003-09-17 | 2006-06-20 | Sandisk Corporation | Non-volatile memory and method with bit line coupled compensation |
US7197594B2 (en) | 2003-09-23 | 2007-03-27 | Infineon Technologies Flash Gmbh & Co. Kg | Circuit, system and method for encoding data to be stored on a non-volatile memory array |
US7057958B2 (en) | 2003-09-30 | 2006-06-06 | Sandisk Corporation | Method and system for temperature compensation for memory cells with temperature-dependent behavior |
US7012835B2 (en) | 2003-10-03 | 2006-03-14 | Sandisk Corporation | Flash memory data correction and scrub techniques |
US6930925B2 (en) | 2003-10-14 | 2005-08-16 | Atmel Corporation | Suspend-resume programming method for flash memory |
US7356755B2 (en) | 2003-10-16 | 2008-04-08 | Intel Corporation | Error correction for multi-level cell memory with overwrite capability |
US7177199B2 (en) | 2003-10-20 | 2007-02-13 | Sandisk Corporation | Behavior based programming of non-volatile memory |
US7301807B2 (en) | 2003-10-23 | 2007-11-27 | Sandisk Corporation | Writable tracking cells |
US7433697B2 (en) | 2003-10-24 | 2008-10-07 | Broadcom Corporation | Synchronized UWB piconets for Simultaneously Operating Piconet performance |
KR100542701B1 (ko) | 2003-11-18 | 2006-01-11 | 주식회사 하이닉스반도체 | 낸드 플래시 메모리 소자의 문턱전압 측정 방법 |
US20090204872A1 (en) | 2003-12-02 | 2009-08-13 | Super Talent Electronics Inc. | Command Queuing Smart Storage Transfer Manager for Striping Data to Raw-NAND Flash Modules |
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 |
JP4319532B2 (ja) | 2003-12-03 | 2009-08-26 | 富士フイルム株式会社 | 帯状体の加熱方法および帯状体加熱装置 |
KR100646940B1 (ko) | 2003-12-15 | 2006-11-17 | 주식회사 하이닉스반도체 | 낮은 첨두 전류치를 가지는 리프레시 제어기 |
US7363420B2 (en) | 2003-12-15 | 2008-04-22 | Nortel Networks Limited | Method and file structures for managing data on a flash disk |
US7657706B2 (en) | 2003-12-18 | 2010-02-02 | Cisco Technology, Inc. | High speed memory and input/output processor subsystem for efficiently allocating and using high-speed memory and slower-speed memory |
US6937520B2 (en) | 2004-01-21 | 2005-08-30 | Tsuyoshi Ono | Nonvolatile semiconductor memory device |
US7372730B2 (en) | 2004-01-26 | 2008-05-13 | Sandisk Corporation | Method of reading NAND memory to compensate for coupling between storage elements |
US7139198B2 (en) | 2004-01-27 | 2006-11-21 | Sandisk Corporation | Efficient verification for coarse/fine programming of non-volatile memory |
US6937511B2 (en) | 2004-01-27 | 2005-08-30 | Macronix International Co., Ltd. | Circuit and method for programming charge storage memory cells |
US7151692B2 (en) | 2004-01-27 | 2006-12-19 | Macronix International Co., Ltd. | Operation scheme for programming charge trapping non-volatile memory |
US7002843B2 (en) | 2004-01-27 | 2006-02-21 | Sandisk Corporation | Variable current sinking for coarse/fine programming of non-volatile memory |
US7068539B2 (en) | 2004-01-27 | 2006-06-27 | Sandisk Corporation | Charge packet metering for coarse/fine programming of non-volatile memory |
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 |
US7177200B2 (en) | 2004-02-10 | 2007-02-13 | Msystems Ltd. | Two-phase programming of a flash memory |
US7716413B2 (en) | 2004-02-15 | 2010-05-11 | Sandisk Il Ltd. | Method of making a multi-bit-cell flash memory |
KR100525004B1 (ko) | 2004-02-26 | 2005-10-31 | 삼성전자주식회사 | 멀티레벨 셀(Multi-level cell)플래쉬메모리장치 및 이의 프로그램 방법 |
US7310347B2 (en) | 2004-03-14 | 2007-12-18 | Sandisk, Il Ltd. | States encoding in multi-bit flash cells |
US20050213393A1 (en) | 2004-03-14 | 2005-09-29 | M-Systems Flash Disk Pioneers, Ltd. | States encoding in multi-bit flash cells for optimizing error rate |
US7071849B2 (en) | 2004-04-04 | 2006-07-04 | Guobiao Zhang | Fractional-Bit Systems |
US7020017B2 (en) | 2004-04-06 | 2006-03-28 | Sandisk Corporation | Variable programming of non-volatile memory |
US7325090B2 (en) | 2004-04-29 | 2008-01-29 | Sandisk Il Ltd. | Refreshing data stored in a flash memory |
DE102004021267B4 (de) | 2004-04-30 | 2008-04-17 | Infineon Technologies Ag | Verfahren zum Testen eines Speicherbausteins und Prüfanordnung |
CN100407178C (zh) | 2004-05-19 | 2008-07-30 | 松下电器产业株式会社 | 存储器控制电路、非易失性存储装置及存储器控制方法 |
US7231474B1 (en) | 2004-06-01 | 2007-06-12 | Advanced Micro Devices, Inc. | Serial interface having a read temperature command |
US7447970B2 (en) | 2004-06-16 | 2008-11-04 | Seagate Technology, Inc. | Soft-decision decoding using selective bit flipping |
US7190614B2 (en) | 2004-06-17 | 2007-03-13 | Macronix International Co., Ltd. | Operation scheme for programming charge trapping non-volatile memory |
KR100546415B1 (ko) | 2004-06-25 | 2006-01-26 | 삼성전자주식회사 | 메모리 장치의 파워 노이즈를 방지하는 직렬 웨이크 업 회로 |
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 |
US7042766B1 (en) | 2004-07-22 | 2006-05-09 | Spansion, Llc | Method of programming a flash memory device using multilevel charge storage |
US7817469B2 (en) | 2004-07-26 | 2010-10-19 | Sandisk Il Ltd. | Drift compensation in a flash memory |
US7180775B2 (en) | 2004-08-05 | 2007-02-20 | Msystems Ltd. | Different numbers of bits per cell in non-volatile memory devices |
EP1785998A1 (en) | 2004-08-30 | 2007-05-16 | Spansion LLC | Semiconductor device, semiconductor device testing method, and data writing method |
US7200062B2 (en) | 2004-08-31 | 2007-04-03 | Micron Technology, Inc. | Method and system for reducing the peak current in refreshing dynamic random access memory devices |
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 | 株式会社東芝 | 不揮発性メモリシステム |
US7493457B2 (en) | 2004-11-08 | 2009-02-17 | Sandisk Il. Ltd | States encoding in multi-bit flash cells for optimizing error rate |
JP4410188B2 (ja) | 2004-11-12 | 2010-02-03 | 株式会社東芝 | 半導体記憶装置のデータ書き込み方法 |
KR100694418B1 (ko) | 2004-11-15 | 2007-03-12 | 주식회사 하이닉스반도체 | 메모리 장치의 병렬 압축 테스트 회로 |
US7441067B2 (en) | 2004-11-15 | 2008-10-21 | Sandisk Corporation | Cyclic flash memory wear leveling |
US7173859B2 (en) | 2004-11-16 | 2007-02-06 | Sandisk Corporation | Faster programming of higher level states in multi-level cell flash memory |
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 |
US7120051B2 (en) | 2004-12-14 | 2006-10-10 | Sandisk Corporation | Pipelined programming of non-volatile memories using early data |
US7420847B2 (en) | 2004-12-14 | 2008-09-02 | Sandisk Corporation | Multi-state memory having data recovery after program fail |
KR100664933B1 (ko) | 2004-12-15 | 2007-01-04 | 삼성전자주식회사 | 비휘발성 저장장치에 멀티미디어 데이터를 블록 단위로저장하는 방법 및 장치 |
US7409473B2 (en) | 2004-12-21 | 2008-08-05 | Sandisk Corporation | Off-chip data relocation |
US7849381B2 (en) | 2004-12-21 | 2010-12-07 | Sandisk Corporation | Method for copying data in reprogrammable non-volatile memory |
US7437653B2 (en) | 2004-12-22 | 2008-10-14 | Sandisk Corporation | Erased sector detection mechanisms |
US7230851B2 (en) | 2004-12-23 | 2007-06-12 | Sandisk Corporation | Reducing floating gate to floating gate coupling effect |
US7308525B2 (en) | 2005-01-10 | 2007-12-11 | Sandisk Il Ltd. | Method of managing a multi-bit cell flash memory with improved reliablility and performance |
US7130210B2 (en) | 2005-01-13 | 2006-10-31 | Spansion Llc | Multi-level ONO flash program algorithm for threshold width control |
KR100604930B1 (ko) | 2005-01-19 | 2006-07-28 | 삼성전자주식회사 | 디스크 드라이브의 어드레스 변환 방법 및 그 방법을사용하는 디스크 드라이브 |
US7421598B2 (en) | 2005-02-09 | 2008-09-02 | International Business Machines Corporation | Dynamic power management via DIMM read operation limiter |
US7221592B2 (en) | 2005-02-25 | 2007-05-22 | Micron Technology, Inc. | Multiple level programming in a non-volatile memory device |
US7379368B2 (en) | 2005-02-25 | 2008-05-27 | Frankfurt Gmbh, Llc | Method and system for reducing volatile DRAM power budget |
US7224604B2 (en) | 2005-03-14 | 2007-05-29 | Sandisk Il Ltd. | Method of achieving wear leveling in flash memory using relative grades |
US7627712B2 (en) | 2005-03-22 | 2009-12-01 | Sigmatel, Inc. | Method and system for managing multi-plane memory devices |
US7430138B2 (en) | 2005-03-31 | 2008-09-30 | Sandisk Corporation | Erasing non-volatile memory utilizing changing word line conditions to compensate for slower erasing memory cells |
JP2006286118A (ja) | 2005-04-01 | 2006-10-19 | Matsushita Electric Ind Co Ltd | 閾値電圧制御機能を有する不揮発性記憶装置 |
US7196928B2 (en) | 2005-04-05 | 2007-03-27 | Sandisk Corporation | Compensating for coupling during read operations of non-volatile memory |
US7187585B2 (en) | 2005-04-05 | 2007-03-06 | Sandisk Corporation | Read operation for non-volatile storage that includes compensation for coupling |
US7196946B2 (en) | 2005-04-05 | 2007-03-27 | Sandisk Corporation | Compensating for coupling in non-volatile storage |
KR100680479B1 (ko) | 2005-04-11 | 2007-02-08 | 주식회사 하이닉스반도체 | 비휘발성 메모리 장치의 프로그램 검증 방법 |
KR100754894B1 (ko) | 2005-04-20 | 2007-09-04 | 삼성전자주식회사 | 더미 메모리 셀을 가지는 낸드 플래시 메모리 장치 |
US7596707B1 (en) | 2005-05-06 | 2009-09-29 | Sun Microsystems, Inc. | System and method for efficient power throttling in multiprocessor chip |
US7370261B2 (en) | 2005-05-09 | 2008-05-06 | International Business Machines Corporation | Convolution-encoded raid with trellis-decode-rebuild |
US7269066B2 (en) | 2005-05-11 | 2007-09-11 | Micron Technology, Inc. | Programming memory devices |
US7793037B2 (en) | 2005-05-31 | 2010-09-07 | Intel Corporation | Partial page scheme for memory technologies |
US7353361B2 (en) | 2005-06-06 | 2008-04-01 | International Business Machines Corporation | Page replacement policy for systems having multiple page sizes |
ITRM20050310A1 (it) | 2005-06-15 | 2006-12-16 | Micron Technology Inc | Convergenza a programmazione selettiva lenta in un dispositivo di memoria flash. |
US7239557B2 (en) | 2005-06-17 | 2007-07-03 | Micron Technology, Inc. | Program method with optimized voltage level for flash memory |
US7193898B2 (en) | 2005-06-20 | 2007-03-20 | Sandisk Corporation | Compensation currents in non-volatile memory read operations |
JP4282636B2 (ja) | 2005-06-22 | 2009-06-24 | 株式会社東芝 | 不揮発性半導体記憶装置とそのデータ書き込み方法 |
KR100719368B1 (ko) | 2005-06-27 | 2007-05-17 | 삼성전자주식회사 | 플래시 메모리 장치의 적응적 프로그램 방법 및 장치 |
KR100694968B1 (ko) | 2005-06-30 | 2007-03-14 | 주식회사 하이닉스반도체 | 비휘발성 메모리 장치와 그것의 멀티-페이지 프로그램,독출 및 카피백 프로그램 방법 |
KR100609621B1 (ko) | 2005-07-19 | 2006-08-08 | 삼성전자주식회사 | 메모리 블락별로 레이턴시 제어가 가능한 동기식 반도체메모리 장치 |
KR100712596B1 (ko) | 2005-07-25 | 2007-04-30 | 삼성전자주식회사 | 플래시 메모리 장치의 리페어 및 트리밍 방법 및 장치 |
JP4728726B2 (ja) | 2005-07-25 | 2011-07-20 | 株式会社東芝 | 半導体記憶装置 |
US7660183B2 (en) | 2005-08-01 | 2010-02-09 | Rambus Inc. | Low power memory device |
US7502921B2 (en) | 2005-08-02 | 2009-03-10 | Sandisk Corporation | Situation sensitive memory performance |
JP2007059024A (ja) | 2005-08-26 | 2007-03-08 | Micron Technol Inc | 温度補償された読み出し・検証動作をフラッシュ・メモリにおいて生成するための方法及び装置 |
US7292476B2 (en) | 2005-08-31 | 2007-11-06 | Micron Technology, Inc. | Programming method for NAND EEPROM |
JP2007066459A (ja) | 2005-09-01 | 2007-03-15 | Matsushita Electric Ind Co Ltd | 不揮発性半導体記憶装置及びその書き換え方法 |
US7853749B2 (en) | 2005-09-01 | 2010-12-14 | Cypress Semiconductor Corporation | Flash drive fast wear leveling |
US7752382B2 (en) | 2005-09-09 | 2010-07-06 | Sandisk Il Ltd | Flash memory storage system and method |
KR100705220B1 (ko) | 2005-09-15 | 2007-04-06 | 주식회사 하이닉스반도체 | 프로그램 속도를 증가시키기 위한 플래시 메모리 장치의소거 및 프로그램 방법 |
JP4410178B2 (ja) | 2005-09-22 | 2010-02-03 | 富士通株式会社 | Raid装置におけるライトバック方法 |
US7631245B2 (en) | 2005-09-26 | 2009-12-08 | Sandisk Il Ltd. | NAND flash memory controller exporting a NAND interface |
US7328384B1 (en) | 2005-09-29 | 2008-02-05 | Xilinx, Inc. | Method and apparatus using device defects as an identifier |
US7644347B2 (en) | 2005-09-30 | 2010-01-05 | Intel Corporation | Silent data corruption mitigation using error correction code with embedded signaling fault detection |
US7661054B2 (en) | 2005-09-30 | 2010-02-09 | Intel Corporation | Methods and arrangements to remap degraded storage blocks |
US7681109B2 (en) | 2005-10-13 | 2010-03-16 | Ramot At Tel Aviv University Ltd. | Method of error correction in MBC flash memory |
US7529905B2 (en) | 2005-10-13 | 2009-05-05 | Sandisk Corporation | Method of storing transformed units of data in a memory system having fixed sized storage blocks |
US7526715B2 (en) | 2005-10-17 | 2009-04-28 | Ramot At Tel Aviv University Ltd. | Probabilistic error correction in multi-bit-per-cell flash memory |
EP1952290B1 (en) | 2005-10-17 | 2011-11-23 | Ramot at Tel-Aviv University Ltd. | Probabilistic error correction in multi-bit-per-cell flash memory |
US7954037B2 (en) | 2005-10-25 | 2011-05-31 | Sandisk Il Ltd | Method for recovering from errors in flash memory |
KR100660544B1 (ko) | 2005-10-25 | 2006-12-22 | 삼성전자주식회사 | 신뢰성을 향상시킬 수 있는 플래시 메모리 장치 |
US7301817B2 (en) | 2005-10-27 | 2007-11-27 | Sandisk Corporation | Method for programming of multi-state non-volatile memory using smart verify |
US7447066B2 (en) | 2005-11-08 | 2008-11-04 | Sandisk Corporation | Memory with retargetable memory cell redundancy |
US7289344B2 (en) | 2005-11-10 | 2007-10-30 | Sandisk Corporation | Reverse coupling effect with timing information for non-volatile memory |
US7739472B2 (en) | 2005-11-22 | 2010-06-15 | Sandisk Corporation | Memory system for legacy hosts |
US7497181B2 (en) | 2005-11-30 | 2009-03-03 | Autotether, Inc | Sailboat safety system for a person falling overboard |
US20070143531A1 (en) | 2005-12-15 | 2007-06-21 | Atri Sunil R | Power loss recovery for bit alterable memory |
US20070143378A1 (en) | 2005-12-21 | 2007-06-21 | Gorobets Sergey A | Non-volatile memories with adaptive file handling in a directly mapped file storage system |
US7310255B2 (en) | 2005-12-29 | 2007-12-18 | Sandisk Corporation | Non-volatile memory with improved program-verify operations |
US7349260B2 (en) | 2005-12-29 | 2008-03-25 | Sandisk Corporation | Alternate row-based reading and writing for non-volatile memory |
KR100684907B1 (ko) | 2006-01-09 | 2007-02-22 | 삼성전자주식회사 | 파워 업 시에 피크 전류를 줄이는 멀티 칩 패키지 |
KR100683858B1 (ko) | 2006-01-12 | 2007-02-15 | 삼성전자주식회사 | 고온 스트레스로 인한 읽기 마진의 감소를 보상할 수 있는플래시 메모리의 프로그램 방법 |
KR100683856B1 (ko) | 2006-01-12 | 2007-02-15 | 삼성전자주식회사 | 고온 스트레스로 인한 읽기 마진의 감소를 보상할 수 있는플래시 메모리의 프로그램 방법 |
US7783955B2 (en) | 2006-01-18 | 2010-08-24 | Sandisk Il Ltd. | Method for implementing error-correction codes in flash memory |
US8055979B2 (en) | 2006-01-20 | 2011-11-08 | Marvell World Trade Ltd. | Flash memory with coding and signal processing |
KR100732631B1 (ko) | 2006-02-01 | 2007-06-27 | 삼성전자주식회사 | 전하 손실로 인해 감소된 읽기 마진을 보상할 수 있는플래시 메모리 장치의 프로그램 방법 |
US7400532B2 (en) | 2006-02-16 | 2008-07-15 | Micron Technology, Inc. | Programming method to reduce gate coupling interference for non-volatile memory |
US7408810B2 (en) | 2006-02-22 | 2008-08-05 | Micron Technology, Inc. | Minimizing effects of program disturb in a memory device |
US20070208904A1 (en) | 2006-03-03 | 2007-09-06 | Wu-Han Hsieh | Wear leveling method and apparatus for nonvolatile memory |
US7436733B2 (en) | 2006-03-03 | 2008-10-14 | Sandisk Corporation | System for performing read operation on non-volatile storage with compensation for coupling |
US7388781B2 (en) | 2006-03-06 | 2008-06-17 | Sandisk Il Ltd. | Multi-bit-per-cell flash memory device with non-bijective mapping |
US7810017B2 (en) | 2006-03-20 | 2010-10-05 | Micron Technology, Inc. | Variable sector-count ECC |
US8091009B2 (en) | 2006-03-23 | 2012-01-03 | Broadcom Corporation | Symbol by symbol map detection for signals corrupted by colored and/or signal dependent noise |
US7561469B2 (en) | 2006-03-28 | 2009-07-14 | Micron Technology, Inc. | Programming method to reduce word line to word line breakdown for NAND flash |
US7680987B1 (en) | 2006-03-29 | 2010-03-16 | Emc Corporation | Sub-page-granular cache coherency using shared virtual memory mechanism |
US7551492B2 (en) | 2006-03-29 | 2009-06-23 | Mosaid Technologies, Inc. | Non-volatile semiconductor memory with page erase |
US7433231B2 (en) | 2006-04-26 | 2008-10-07 | Micron Technology, Inc. | Multiple select gates with non-volatile memory cells |
KR100763353B1 (ko) | 2006-04-26 | 2007-10-04 | 삼성전자주식회사 | 인접하는 메모리셀과의 커플링 노이즈를 저감시키는불휘발성 반도체 메모리 장치 |
US8560829B2 (en) | 2006-05-09 | 2013-10-15 | Broadcom Corporation | Method and system for command interface protection to achieve a secure interface |
DE102006021731B4 (de) | 2006-05-10 | 2015-07-30 | Peri Gmbh | Verfahren zur Herstellung eines Gitterträgers aus Holz für den Baubereich |
KR100766241B1 (ko) | 2006-05-10 | 2007-10-10 | 주식회사 하이닉스반도체 | 플래쉬 메모리 소자의 프로그램 방법 |
US7466575B2 (en) | 2006-05-12 | 2008-12-16 | Anobit Technologies Ltd. | Memory device programming using combined shaping and linear spreading |
US7697326B2 (en) | 2006-05-12 | 2010-04-13 | Anobit Technologies Ltd. | Reducing programming error in memory devices |
US8156403B2 (en) | 2006-05-12 | 2012-04-10 | Anobit Technologies Ltd. | Combined distortion estimation and error correction coding for memory devices |
US8239735B2 (en) | 2006-05-12 | 2012-08-07 | Apple Inc. | Memory Device with adaptive capacity |
CN103258572B (zh) | 2006-05-12 | 2016-12-07 | 苹果公司 | 存储设备中的失真估计和消除 |
US7613043B2 (en) | 2006-05-15 | 2009-11-03 | Apple Inc. | Shifting reference values to account for voltage sag |
US7551486B2 (en) | 2006-05-15 | 2009-06-23 | Apple Inc. | Iterative memory cell charging based on reference cell value |
US7568135B2 (en) | 2006-05-15 | 2009-07-28 | Apple Inc. | Use of alternative value in cell detection |
US8185711B2 (en) | 2006-05-16 | 2012-05-22 | Samsung Electronics Co., Ltd. | Memory module, a memory system including a memory controller and a memory module and methods thereof |
US7882320B2 (en) | 2006-05-23 | 2011-02-01 | Dataram, Inc. | Multi-processor flash memory storage device and management system |
US7440331B2 (en) | 2006-06-01 | 2008-10-21 | Sandisk Corporation | Verify operation for non-volatile storage using different voltages |
US7457163B2 (en) | 2006-06-01 | 2008-11-25 | Sandisk Corporation | System for verifying non-volatile storage using different voltages |
US7310272B1 (en) | 2006-06-02 | 2007-12-18 | Sandisk Corporation | System for performing data pattern sensitivity compensation using different voltage |
US7450421B2 (en) | 2006-06-02 | 2008-11-11 | Sandisk Corporation | Data pattern sensitivity compensation using different voltage |
US7952922B2 (en) | 2006-06-06 | 2011-05-31 | Micron Technology, Inc. | Method for programming a non-volatile memory device to reduce floating-gate-to-floating-gate coupling effect |
US20070291571A1 (en) | 2006-06-08 | 2007-12-20 | Intel Corporation | Increasing the battery life of a mobile computing system in a reduced power state through memory compression |
US7342831B2 (en) | 2006-06-16 | 2008-03-11 | Sandisk Corporation | System for operating non-volatile memory using temperature compensation of voltages of unselected word lines and select gates |
US7486561B2 (en) | 2006-06-22 | 2009-02-03 | Sandisk Corporation | Method for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages |
US7742351B2 (en) | 2006-06-30 | 2010-06-22 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device and electronic device |
US7721059B2 (en) | 2006-07-06 | 2010-05-18 | Nokia Corporation | Performance optimization in solid-state media |
US7894269B2 (en) | 2006-07-20 | 2011-02-22 | Sandisk Corporation | Nonvolatile memory and method for compensating during programming for perturbing charges of neighboring cells |
US7885119B2 (en) | 2006-07-20 | 2011-02-08 | Sandisk Corporation | Compensating for coupling during programming |
KR100744013B1 (ko) | 2006-07-31 | 2007-07-30 | 삼성전자주식회사 | 플래시 메모리 장치 및 그것의 소거 방법 |
US7567461B2 (en) | 2006-08-18 | 2009-07-28 | Micron Technology, Inc. | Method and system for minimizing number of programming pulses used to program rows of non-volatile memory cells |
WO2008026203A2 (en) | 2006-08-27 | 2008-03-06 | Anobit Technologies | Estimation of non-linear distortion in memory devices |
US20080052446A1 (en) | 2006-08-28 | 2008-02-28 | Sandisk Il Ltd. | Logical super block mapping for NAND flash memory |
US7280398B1 (en) | 2006-08-31 | 2007-10-09 | Micron Technology, Inc. | System and memory for sequential multi-plane page memory operations |
KR100771883B1 (ko) | 2006-09-06 | 2007-11-01 | 삼성전자주식회사 | 멀티-레벨 불휘발성 메모리 장치 및 프로그램 방법 |
US7593259B2 (en) | 2006-09-13 | 2009-09-22 | Mosaid Technologies Incorporated | Flash multi-level threshold distribution scheme |
JP4331189B2 (ja) | 2006-09-20 | 2009-09-16 | 株式会社東芝 | 不揮発性半導体メモリ |
US7761624B2 (en) | 2006-09-28 | 2010-07-20 | Virident Systems, Inc. | Systems and apparatus for main memory with non-volatile type memory modules, and related technologies |
US7573744B2 (en) | 2006-09-29 | 2009-08-11 | Kabushiki Kaisha Toshiba | Semiconductor memory device having different capacity areas |
KR100764749B1 (ko) | 2006-10-03 | 2007-10-08 | 삼성전자주식회사 | 멀티-칩 패키지 플래시 메모리 장치 및 그것의 카피 백방법 |
US7365671B1 (en) | 2006-10-10 | 2008-04-29 | Seagate Technology Llc | Communication channel with undersampled interpolative timing recovery |
US7594093B1 (en) | 2006-10-12 | 2009-09-22 | Foundry Networks, Inc. | Virtual memory mapping for efficient memory usage |
WO2008053473A2 (en) | 2006-10-30 | 2008-05-08 | Anobit Technologies Ltd. | Memory cell readout using successive approximation |
KR100771521B1 (ko) | 2006-10-30 | 2007-10-30 | 삼성전자주식회사 | 멀티 레벨 셀을 포함하는 플래시 메모리 장치 및 그것의데이터 쓰기 방법 |
WO2008053472A2 (en) | 2006-10-30 | 2008-05-08 | Anobit Technologies Ltd. | Reading memory cells using multiple thresholds |
US8145941B2 (en) | 2006-10-31 | 2012-03-27 | Hewlett-Packard Development Company, L.P. | Detection and correction of block-level data corruption in fault-tolerant data-storage systems |
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 |
KR100789406B1 (ko) | 2006-11-03 | 2007-12-28 | 삼성전자주식회사 | 플래시 메모리 시스템 및 그것의 가비지 컬렉션 방법 |
US7508710B2 (en) | 2006-11-13 | 2009-03-24 | Sandisk Corporation | Operating non-volatile memory with boost structures |
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 |
US7706182B2 (en) | 2006-12-03 | 2010-04-27 | Anobit Technologies Ltd. | Adaptive programming of analog memory cells using statistical characteristics |
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 |
US7539062B2 (en) | 2006-12-20 | 2009-05-26 | Micron Technology, Inc. | Interleaved memory program and verify method, device and system |
CN100576357C (zh) | 2006-12-21 | 2009-12-30 | 中芯国际集成电路制造(上海)有限公司 | 减小存储单元写入扰乱的方法 |
US8127200B2 (en) | 2006-12-24 | 2012-02-28 | Sandisk Il Ltd. | Flash memory device and system with randomizing for suppressing errors |
US8370561B2 (en) | 2006-12-24 | 2013-02-05 | Sandisk Il Ltd. | Randomizing for suppressing errors in a flash memory |
WO2008083131A2 (en) | 2006-12-27 | 2008-07-10 | Sandisk Corporation | Method for programming with initial programming voltage based on trial |
JP5006940B2 (ja) | 2006-12-27 | 2012-08-22 | インテル・コーポレーション | 不揮発性メモリのイニシアチブウェアレベリング |
US7570520B2 (en) | 2006-12-27 | 2009-08-04 | Sandisk Corporation | Non-volatile storage system with initial programming voltage based on trial |
US7440324B2 (en) | 2006-12-29 | 2008-10-21 | Sandisk Corporation | Apparatus with alternating read mode |
US7619918B2 (en) | 2006-12-29 | 2009-11-17 | Intel Corporation | Apparatus, method, and system for flash memory |
US7590002B2 (en) | 2006-12-29 | 2009-09-15 | Sandisk Corporation | Resistance sensing and compensation for non-volatile storage |
US7616498B2 (en) | 2006-12-29 | 2009-11-10 | Sandisk Corporation | Non-volatile storage system with resistance sensing and compensation |
US7564722B2 (en) | 2007-01-22 | 2009-07-21 | Micron Technology, Inc. | Memory system and method having volatile and non-volatile memory devices at same hierarchical level |
US8151166B2 (en) | 2007-01-24 | 2012-04-03 | Anobit Technologies Ltd. | Reduction of back pattern dependency effects in memory devices |
US7751240B2 (en) | 2007-01-24 | 2010-07-06 | Anobit Technologies Ltd. | Memory device with negative thresholds |
JP4498370B2 (ja) | 2007-02-14 | 2010-07-07 | 株式会社東芝 | データ書き込み方法 |
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 | 不揮発性半導体メモリ、不揮発性半導体メモリの制御方法、不揮発性半導体メモリシステム、及びメモリカード |
JP2010524147A (ja) | 2007-04-10 | 2010-07-15 | サンディスク コーポレイション | 不揮発性メモリと予測プログラミングの方法 |
US8904552B2 (en) | 2007-04-17 | 2014-12-02 | Samsung Electronics Co., Ltd. | System and method for protecting data information stored in storage |
US8001320B2 (en) | 2007-04-22 | 2011-08-16 | Anobit Technologies Ltd. | Command interface for memory devices |
US8332574B2 (en) | 2007-04-30 | 2012-12-11 | Sandisk Il Ltd. | Method for efficient storage of metadata in flash memory |
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 |
US7899987B2 (en) | 2007-05-15 | 2011-03-01 | Sandisk Il Ltd. | File storage in a computer system with diverse storage media |
US7656734B2 (en) | 2007-06-29 | 2010-02-02 | Sandisk 3D Llc | Methods and apparatus for extending the effective thermal operating range of a memory |
US8051358B2 (en) | 2007-07-06 | 2011-11-01 | Micron Technology, Inc. | Error recovery storage along a nand-flash string |
US7898863B2 (en) | 2007-08-01 | 2011-03-01 | Micron Technology, Inc. | Method, apparatus, and system for improved read operation in memory |
US8259497B2 (en) | 2007-08-06 | 2012-09-04 | Apple Inc. | Programming schemes for multi-level analog memory cells |
US20090043831A1 (en) | 2007-08-11 | 2009-02-12 | Mcm Portfolio Llc | Smart Solid State Drive And Method For Handling Critical Files |
KR101498673B1 (ko) | 2007-08-14 | 2015-03-09 | 삼성전자주식회사 | 반도체 드라이브, 그것의 데이터 저장 방법, 그리고 그것을포함한 컴퓨팅 시스템 |
KR101393622B1 (ko) | 2007-08-30 | 2014-05-13 | 삼성전자주식회사 | 멀티 비트 플래시 메모리 장치를 포함하는 시스템 및그것의 데이터 처리 방법 |
US7869273B2 (en) | 2007-09-04 | 2011-01-11 | Sandisk Corporation | Reducing the impact of interference during programming |
WO2009037691A2 (en) | 2007-09-19 | 2009-03-26 | Anobit Technologies | Programming orders for reducing distortion in arrays of multi-level analog memory cells |
WO2009095902A2 (en) | 2008-01-31 | 2009-08-06 | Densbits Technologies Ltd. | Systems and methods for handling immediate data errors in flash memory |
WO2009037697A2 (en) | 2007-09-20 | 2009-03-26 | Densbits Technologies Ltd. | Improved systems and methods for determining logical values of coupled flash memory cells |
US7894263B2 (en) | 2007-09-28 | 2011-02-22 | Sandisk Corporation | High voltage generation and control in source-side injection programming of non-volatile memory |
TWI372396B (en) | 2007-09-28 | 2012-09-11 | Phison Electronics Corp | Method of protecting data for power failure and controller using the same |
US7773413B2 (en) | 2007-10-08 | 2010-08-10 | Anobit Technologies Ltd. | Reliable data storage in analog memory cells in the presence of temperature variations |
US7639532B2 (en) | 2007-10-10 | 2009-12-29 | Micron Technology, Inc. | Non-equal threshold voltage ranges in MLC NAND |
US8068360B2 (en) | 2007-10-19 | 2011-11-29 | Anobit Technologies Ltd. | Reading analog memory cells using built-in multi-threshold commands |
WO2009050703A2 (en) | 2007-10-19 | 2009-04-23 | Anobit Technologies | Data storage in analog memory cell arrays having erase failures |
WO2009053963A2 (en) | 2007-10-22 | 2009-04-30 | Densbits Technologies Ltd. | Methods for adaptively programming flash memory devices and flash memory systems incorporating same |
WO2009053962A2 (en) | 2007-10-22 | 2009-04-30 | Densbits Technologies Ltd. | Systems and methods for averaging error rates in non-volatile devices and storage systems |
US8443242B2 (en) | 2007-10-25 | 2013-05-14 | Densbits Technologies Ltd. | Systems and methods for multiple coding rates in flash devices |
US7895242B2 (en) | 2007-10-31 | 2011-02-22 | Microsoft Corporation | Compressed storage management |
US7633798B2 (en) | 2007-11-21 | 2009-12-15 | Micron Technology, Inc. | M+N bit programming and M+L bit read for M bit memory cells |
US8046542B2 (en) | 2007-11-21 | 2011-10-25 | Micron Technology, Inc. | Fault-tolerant non-volatile integrated circuit memory |
US7945825B2 (en) | 2007-11-25 | 2011-05-17 | Spansion Isreal, Ltd | Recovery while programming non-volatile memory (NVM) |
US8225181B2 (en) | 2007-11-30 | 2012-07-17 | Apple Inc. | Efficient re-read operations from memory devices |
WO2009072103A2 (en) | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated bch codes and/or designation of 'first below' cells |
US8607128B2 (en) | 2007-12-05 | 2013-12-10 | Densbits Technologies Ltd. | Low power chien-search based BCH/RS decoding system for flash memory, mobile communications devices and other applications |
US8341335B2 (en) | 2007-12-05 | 2012-12-25 | Densbits Technologies Ltd. | Flash memory apparatus with a heating system for temporarily retired memory portions |
US20090150894A1 (en) | 2007-12-10 | 2009-06-11 | Ming Huang | Nonvolatile memory (NVM) based solid-state disk (SSD) system for scaling and quality of service (QoS) by parallelizing command execution |
US8359516B2 (en) | 2007-12-12 | 2013-01-22 | Densbits Technologies Ltd. | Systems and methods for error correction and decoding on multi-level physical media |
US8276051B2 (en) | 2007-12-12 | 2012-09-25 | Densbits Technologies Ltd. | Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications |
US8185685B2 (en) | 2007-12-14 | 2012-05-22 | Hitachi Global Storage Technologies Netherlands B.V. | NAND flash module replacement for DRAM module |
WO2009078006A2 (en) | 2007-12-18 | 2009-06-25 | Densbits Technologies Ltd. | Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith |
US8738841B2 (en) | 2007-12-27 | 2014-05-27 | Sandisk Enterprise IP LLC. | Flash memory controller and system including data pipelines incorporating multiple buffers |
US8301912B2 (en) | 2007-12-31 | 2012-10-30 | Sandisk Technologies Inc. | System, method and memory device providing data scrambling compatible with on-chip copy operation |
US7733712B1 (en) | 2008-05-20 | 2010-06-08 | Siliconsystems, Inc. | Storage subsystem with embedded circuit for protecting against anomalies in power signal from host |
US7877522B2 (en) | 2008-05-27 | 2011-01-25 | Sandisk Il Ltd. | Method of monitoring host activity |
US8621144B2 (en) | 2008-06-26 | 2013-12-31 | Intel Corporation | Accelerated resume from hibernation in a cached disk system |
US7808831B2 (en) | 2008-06-30 | 2010-10-05 | Sandisk Corporation | Read disturb mitigation in non-volatile memory |
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 |
US20100017650A1 (en) | 2008-07-19 | 2010-01-21 | Nanostar Corporation, U.S.A | Non-volatile memory data storage system with reliability management |
US7930515B2 (en) | 2008-07-29 | 2011-04-19 | International Business Machines Corporation | Virtual memory management |
US7876611B2 (en) | 2008-08-08 | 2011-01-25 | Sandisk Corporation | Compensating for coupling during read operations in non-volatile storage |
US20100057976A1 (en) | 2008-08-26 | 2010-03-04 | Menahem Lasser | Multiple performance mode memory system |
US8130552B2 (en) | 2008-09-11 | 2012-03-06 | Sandisk Technologies Inc. | Multi-pass programming for memory with reduced data storage requirement |
US20100083247A1 (en) | 2008-09-26 | 2010-04-01 | Netapp, Inc. | System And Method Of Providing Multiple Virtual Machines With Shared Access To Non-Volatile Solid-State Memory Using RDMA |
TWI467369B (zh) | 2008-10-01 | 2015-01-01 | A Data Technology Co Ltd | 混合密度記憶體系統及其控制方法 |
JP2010108568A (ja) | 2008-10-31 | 2010-05-13 | Toshiba Corp | 磁気ディスク装置 |
US9141475B2 (en) | 2008-11-23 | 2015-09-22 | Sandisk Technologies | Methods for tag-grouping of blocks in storage devices |
KR101066746B1 (ko) | 2008-12-08 | 2011-09-22 | 주식회사 하이닉스반도체 | 페이지 버퍼 회로 및 이를 구비한 불휘발성 메모리 소자와 그 동작 방법 |
TWI387023B (zh) | 2008-12-25 | 2013-02-21 | Silicon Motion Inc | 防止迴焊過程中資料遺失之方法及使用該方法之記憶體裝置 |
US8438455B2 (en) | 2008-12-31 | 2013-05-07 | Intel Corporation | Error correction in a solid state disk |
US8244960B2 (en) | 2009-01-05 | 2012-08-14 | Sandisk Technologies Inc. | Non-volatile memory and method with write cache partition management methods |
US8040744B2 (en) | 2009-01-05 | 2011-10-18 | Sandisk Technologies Inc. | Spare block management of non-volatile memories |
US8254170B2 (en) | 2009-08-25 | 2012-08-28 | Sandisk Il Ltd. | Preloading data into a flash storage device |
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 |
EP2473999A1 (en) | 2009-08-31 | 2012-07-11 | SanDisk IL Ltd. | Preloading data into a flash storage device |
US8402217B2 (en) | 2009-09-15 | 2013-03-19 | Marvell International Ltd. | Implementing RAID in solid state memory |
US8179717B2 (en) | 2009-09-29 | 2012-05-15 | Sandisk Technologies Inc. | Maintaining integrity of preloaded content in non-volatile memory during surface mounting |
KR20110048304A (ko) | 2009-11-02 | 2011-05-11 | 삼성전자주식회사 | 솔더 리플로우에서 코드 데이터의 손실을 방지할 수 있는 방법과 그 장치들 |
US8301828B2 (en) | 2010-06-02 | 2012-10-30 | Conexant Systems, Inc. | Systems and methods for reliable multi-level cell flash storage |
-
2007
- 2007-05-10 US US11/996,054 patent/US8156403B2/en active Active
- 2007-05-10 KR KR1020087028793A patent/KR101202537B1/ko active IP Right Grant
- 2007-05-10 WO PCT/IL2007/000580 patent/WO2007132457A2/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6751766B2 (en) | 2002-05-20 | 2004-06-15 | Sandisk Corporation | Increasing the effectiveness of error correction codes and operating multi-level memory systems by using information about the quality of the stored data |
US6829167B2 (en) | 2002-12-12 | 2004-12-07 | Sandisk Corporation | Error recovery for nonvolatile memory |
US7023735B2 (en) | 2003-06-17 | 2006-04-04 | Ramot At Tel-Aviv University Ltd. | Methods of increasing the reliability of a flash memory |
Also Published As
Publication number | Publication date |
---|---|
KR20090061608A (ko) | 2009-06-16 |
US8156403B2 (en) | 2012-04-10 |
WO2007132457A3 (en) | 2009-04-16 |
WO2007132457A2 (en) | 2007-11-22 |
US20090024905A1 (en) | 2009-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101202537B1 (ko) | 메모리 디바이스를 위한 결합된 왜곡 추정 및 에러 보정 코딩 | |
KR101375955B1 (ko) | 메모리 디바이스 내의 왜곡 추정 및 상쇄 | |
JP4999921B2 (ja) | メモリ素子用の歪み推定と誤り訂正符号化の組み合せ | |
CN101512661B (zh) | 用于存储设备的失真估计与纠错编码的组合 | |
JP5535220B2 (ja) | デコーダ性能フィードバックを使用するメモリ・デバイス用の軟データ生成の方法および装置 | |
USRE46346E1 (en) | Reading memory cells using multiple thresholds | |
US7697326B2 (en) | Reducing programming error in memory devices | |
US9898361B2 (en) | Multi-tier detection and decoding in flash memories | |
US8547740B2 (en) | Adaptive estimation of memory cell read thresholds | |
US7814401B2 (en) | Soft decoding of hard and soft bits read from a flash memory | |
US20230052685A1 (en) | Calculating soft metrics depending on threshold voltages of memory cells in multiple neighbor word lines |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
N231 | Notification of change of applicant | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20151016 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20161019 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20171018 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20181018 Year of fee payment: 7 |