KR101426063B1 - 플래시 메모리에서의 크로스 커플링에 대한 사후 정정 - Google Patents
플래시 메모리에서의 크로스 커플링에 대한 사후 정정 Download PDFInfo
- Publication number
- KR101426063B1 KR101426063B1 KR1020107009032A KR20107009032A KR101426063B1 KR 101426063 B1 KR101426063 B1 KR 101426063B1 KR 1020107009032 A KR1020107009032 A KR 1020107009032A KR 20107009032 A KR20107009032 A KR 20107009032A KR 101426063 B1 KR101426063 B1 KR 101426063B1
- Authority
- KR
- South Korea
- Prior art keywords
- cell
- cells
- reading
- data
- memory
- 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/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/563—Multilevel memory reading aspects
- G11C2211/5634—Reference cells
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
Abstract
복수의 셀들(예를 들어, 플래시 셀들)을 포함하는 메모리를 사용하여 데이터를 저장 및 판독하는 방법이 제공되며, 이러한 방법에서, 데이터가 셀들에 저장되고, 이러한 저장은 데이터를 나타내도록 셀들의 물리적 파라미터(예를 들어, 임계 전압)의 각각의 값들을 설정함으로써 수행되고, 이러한 값들을 측정함으로써 데이터가 셀들로부터 판독된다. 셀들 중 하나와 그 이웃들이 판독된다. 측정치들에 근거하여, 그리고 이웃들이 판독을 교란시키는 각각의 정도에 근거하여, 셀에 저장된 데이터가 추정된다. 바람직하게는, 본 방법은 또한, 예를 들어 측정치들 자체에 근거하여, 이웃들이 판독을 교란시키는 이러한 각각의 정도를 결정하는 것을 포함한다.
Description
본 발명은 비휘발성 메모리들에 관한 것으로, 특히 플래시 메모리들에 관한 것이며, 더 구체적으로는 셀당 수 개의 비트들을 저장하는 플래시 메모리들에 관한 것이다.
플래시 메모리 디바이스들이 수년 동안 알려져 왔다. 전형적으로, 플래시 메모리 내의 각각의 셀은 일 비트의 정보를 저장한다. 전통적으로, 임의의 비트를 저장하는 방법은 두 가지 셀 상태(하나의 상태는 로직 "0"을 나타내고, 다른 상태는 로직 "1"을 나타냄)를 지원함으로써 이루어진다. 플래시 메모리 셀에서, 이 두 가지 상태는, 셀의 채널(이 영역은 셀의 트랜지스터의 소스 및 드레인 요소들에 연결됨) 위에 플로팅 게이트를 구비하고 이러한 플로팅 게이트 내에 저장된 전하의 양에 대해 두 가지 유효 상태를 가짐으로써 구현된다. 전형적으로, 하나의 상태는 플로팅 게이트 내에 제로 전하를 가지며, 이는, 소거된 이후 셀의 초기 비기입 상태이고(일반적으로 "1" 상태를 나타내도록 정의됨), 또 다른 상태는 플로팅 게이트 내에 일정 양의 음의 전하를 갖는다(일반적으로 "0" 상태를 나타내도록 정의됨). 게이트 내에 음의 전하를 가짐으로써, 셀의 트랜지스터의 임계 전압(즉, 트랜지스터가 전도되도록 하기 위해 트랜지스터의 제어 게이트에 인가돼야만 하는 전압)은 증가하게 된다. 이제, 셀의 임계 전압을 점검함으로써, 저장된 비트를 판독하는 것이 가능한데, 즉 만약 임계 전압이 더 높은 상태에 있다면 비트 값은 "0"이고, 만약 임계 전압이 더 낮은 상태에 있다면 비트 값은 "1"이다. 실제로, 셀의 임계 전압을 정확히 판독할 필요는 없고, 필요한 것은 셀이 현재 두 가지 상태 중 어떤 상태에 있는 지를 정확하게 식별하는 것이다. 이것을 위해, 두 가지 상태 사이의 중간에 있는 기준 전압 값과의 비교를 수행하여 만약 셀의 임계 전압이 이 기준 값 아래에 있는지 혹은 위에 있는지를 결정하면 충분하다.
도 1a는 이러한 것이 어떻게 동작하는 지를 도식적으로 나타낸다. 구체적으로 말하면, 도 1a는 셀들로 구성된 커다란 모임의 임계 전압들의 분포를 나타낸다. 플래시 디바이스 내의 셀들이 그 특성 및 동작에 있어 정확히 동일하지 않기 때문에(그 원인은, 예를 들어, 불순물 농도에 있어 작은 편차 혹은 실리콘 구조에서 결함으로 인한 것임), 모든 셀들에 동일한 프로그래밍 동작을 적용해도 셀들 모두가 정확히 동일한 임계 전압을 갖게 되지 않는다. (역사적인 이유로, 플래시 메모리에 데이터를 기입하는 것이 일반적으로 플래시 메모리를 "프로그래밍"하는 것으로 언급됨에 유의해야 한다. 용어 "기입"과 "프로그래밍"이 본 명세서에서 서로 교환되어 사용될 수 있다.) 반면, 임계 전압은 도 1a 제시된 바와 유사하게 분포된다. 전형적으로 "1"의 값을 저장하는 셀들은 음의 임계 전압을 가지고, 그래서 대부분의 셀들은 도 1a의 왼쪽 피크가 나타내는 값에 가까이 있는 임계 전압을 가지며, 이 경우 상대적으로 적은 개수의 셀들이 더 낮거나 혹은 더 높은 임계 전압을 갖는다. 유사하게, "0"의 값을 저장하는 셀들은 전형적으로 양의 임계 전압을 가지고, 그래서 대부분의 셀들은 도 1a의 오른쪽 피크가 나타내는 값에 가까이 있는 임계 전압을 가지며, 이 경우 상대적으로 적은 개수의 셀들이 더 낮거나 혹은 더 높은 임계 전압을 갖는다.
최근에, "멀티 레벨 셀(Multi Level Cells)" 혹은 줄여서 "MLC"로 일반적으로 불리는 기술을 사용하는 새로운 종류의 플래시 디바이스가 시장에 출현하고 있다. (이러한 명명법은 잘못된 명명법인데, 왜냐하면 플래시 셀들의 이전 타입도 또한 하나 이상의 레벨을 가지고 있기 때문이며, 이들은 앞서 설명된 바와 같이 두 개의 레벨을 갖는다. 따라서, 본 명세서에서는 플래시 셀들의 두 가지 종류가 "단일 비트 셀(Single Bit Cells, SBC)" 및 "멀티-비트 셀(Multi-Bit Cells, MBC)"로 언급된다.) MBC 플래시에 의해 개선된 것은 각각의 셀에 두 비트를 저장한다는 것이다. (원리상, MBC는 또한 셀당 둘 이상의 비트들을 저장하는 것을 포함한다. 설명을 간단하게 하기 위해, 본 명세서에서는 두 비트의 경우가 강조되어 설명된다. 그러나, 본 발명이 셀 당 둘 이상의 비트들을 지원하는 플래시 메모리 디바이스들에도 동일하게 적용될 수 있음을 이해해야 한다.) 단일 셀이 두 비트의 정보를 저장하기 위해, 셀은 서로 다른 네 개의 상태에 있을 수 있어야만 한다. 셀의 "상태"는 그 임계 전압으로 나타내지므로, MBC 셀이 그 임계 전압을 위해 서로 다른 네 개의 유효 범위를 지원해야 함이 분명해 진다. 도 1b는 전형적인 MBC 셀에 대한 임계 전압 분포를 나타낸다. 예측되는 바와 같이, 도 1b는 네 개의 피크를 가지며, 각각은 이러한 상태들 중 하나의 상태에 대응한다. SBC 경우에, 각각의 상태는 실제로 임계 전압들의 범위이고, 단일 임계 전압이 아니다. 셀의 콘텐츠를 판독할 때, 보장돼야만 하는 것은, 셀의 임계 전압이 위치하는 범위가 정확히 식별돼야 한다는 것이다. 종래 기술에 있어, MBC 플래시 디바이스의 예는 미국 특허 번호 제5,434,825호(발명자: 하라이(Harari))에서 알 수 있다.
MBC 셀에서의 두 비트를 네 개의 상태 중 하나로서 인코딩할 때, 일반적으로, 도 1b에서 가장 왼쪽에 있는 상태(일반적으로, 음의 임계 전압을 가짐)는, 두 비트 양쪽 모두가 "1"의 값을 갖는 경우를 나타낸다. (아래의 설명에서, 다음과 같은 표기법이 사용되는데, 셀의 두 비트는 "하위 비트(lower bit)"와 "상위 비트(upper bit)"로 언급된다. 비트들의 명확한 값은 ["상위 비트" "하위 비트"]의 형태로 표기되며, 이 경우 하위 비트 값이 오른쪽에 있다. 그래서 하위 비트가 "0"이고 상위 비트가 "1"인 경우, "10"으로 표기되다. 이러한 명명법 및 표기법은 임의적으로 선택되고 다른 명칭 및 인코딩도 가능하다는 것을 이해해야만 한다.) 이러한 표기법을 사용하여, 가장 왼쪽에 있는 상태는 "11"인 경우를 나타낸다. 다른 세 개의 상태가 다음과 같은 순서로 왼쪽으로부터 오른쪽으로, "10", "00", "01"로 할당되도록 예시되어 있다. 앞서 설명된 바와 같은 그러한 인코딩을 사용하는 MBC NAND 플래시 디바이스의 실시예는 미국 특허 번호 제6,522,580호(발명자: 첸(Chen))에서 찾을 수 있으며, 이 특허 문헌은 마치 본 명세서에서 완전히 설명되는 것처럼 사실상 참조로 본 명세서에 통합된다. 특히 이 특허 문헌의 도 8를 참조하기 바란다. 본 발명이 이와 같은 상태 할당 방식만이 아닌 다른 순서를 갖는 할당 방식을 사용할 수 있음에 유의해야 한다. MBC 셀의 콘텐츠를 판독할 때, 셀의 임계 전압이 존재하는 범위는 정확하게 식별돼야만 하고, 단지 이러한 경우에, 하나의 기준 전압과의 비교를 통해 언제나 이러한 것이 달성될 수 있는 것은 아니며, 수 번의 비교가 필요할 수 있다. 예를 들어, 도 1b에 도시된 예에서, 하위 비트를 판독하는 한 가지 방법은 먼저 셀의 임계 전압을 기준 비교 전압 V1과 비교하고, 그 다음에, 그 비교 결과에 따라, 셀의 임계 전압을 제로(0)인 기준 비교 전압과 비교하든지 혹은 기준 비교 전압 V2와 비교하는 것이다. 하위 비트를 판독하는 다른 방법은 셀의 임계 전압을 비조건부로 제로인 기준 전압과 V2 양쪽 모두와 비교하는 것이다. 어느 경우에나, 두 번의 비교가 필요하다.
MBC 디바이스는 비용면에서 큰 장점을 가지고 있다(유사한 크기의 셀을 사용하여, 하나가 아닌 두 비트를 저장함). 그러나, MBC 플래시를 사용함에 있어 일부 단점도 있다(MBC 메모리들의 평균 판독 및 기입 시간이 SBS 메모리에서보다 더 길고, 이는 성능 저하를 초래함). 또한, MBC의 신뢰도가 SBS보다 더 낮다. 이것은 쉽게 이해될 수 있다(MBC에서의 임계 전압 범위들 간의 차이가 SBS에서보다 훨씬 더 작음). 따라서, 두 개의 상태들 간의 큰 간격으로 인해 SBS에서는 드러나지 않았던 임계 전압에서의 교란(예를 들어, 임계 전압 드리프트를 일어키는 저장된 전하의 누설, 이웃하는 셀들 상에서의 동작으로 인한 간섭, 등)이 MBC 셀에서 일어나, MBC 셀이 하나의 상태에서 또 다른 상태로 이동하도록 할 수 있고, 이는 오류 비트를 발생시킨다. 그 최종 결과는 데이터 보유 시간 혹은 많은 기입/소거 싸이클에 대한 디바이스의 내구성 면에서 MBC 셀이 낮은 품질의 사양을 갖게 한다. 따라서, MBC 셀과 SBC 셀 양쪽 모두를 사용하는 것이 이로우며, 애플리케이션의 요건에 따라 그 선택은 달라질 수 있다.
앞서의 설명이 플로팅 게이트 플래시 메모리 셀들을 다루고 있지만, 다른 타입의 플래시 메모리 기술들도 있다. 예를 들어, NROM 플래시 메모리 기술에서, 전도성 플로팅 게이트는 없고, 대신에 전하를 트래핑하는 절연층이 있다. 본 발명은, 비록 본 명세서에서의 설명이 플로팅 게이트 기술에 관해서 제공되지만, 모든 플래시 메모리 타입에 동등하게 적용될 수 있다.
도 2a(상기 첸의 특허 문헌(미국 특허 번호 제6,522,580호)의 도 1과 동일함)는 전형적인 종래 플래시 메모리 디바이스의 블럭도이다. 매트릭스 형태로 정렬된 복수의 메모리 셀들(M)을 포함하는 메모리 셀 어레이(1)가 컬럼 제어 회로(column control circuit)(2), 로우 제어 회로(row control circuit)(3), c-소스 제어 회로(4), 및 c-p-웰 제어 회로(5)에 의해 제어된다. 컬럼 제어 회로(2)가 메모리 셀 어레이(1)의 비트 라인들(BL)에 연결되어, 메모리 셀들(M)에 저장된 데이터를 판독하고, 프로그래밍 동작 동안 메모리 셀들(M)의 상태를 결정하고, 그리고 프로그래밍을 일으키거나 혹은 프로그래밍을 금지시키기 위해 비트 라인들(BL)의 전압 레벨을 제어한다. 로우 제어 회로(3)가 워드 라인들(WL)에 연결되어, 워드 라인들(WL) 중 하나를 선택하고, 판독 전압을 인가하고, 컬럼 제어 회로(2)에 의해 제어되는 비트 라인 전압 레벨과 결합된 프로그래밍 전압을 인가하고, 그리고 메모리 셀들(M)이 형성된 p-타입 영역의 전압과 결합된 소거 전압을 인가한다. c-소스 제어 회로(4)는 메모리 셀들(M)에 연결된 공통 소스 라인을 제어한다. c-p-웰 제어 회로(5)는 c-p-웰 전압을 제어한다. 전형적으로, NAND 플래시 디바이스에서, 하나의 워드 라인에 의해 제어되는 셀들은 디바이스의 한 페이지 혹은 두 페이지에 대응하고, 그리고, 워드 라인들은 블럭들로 조직화되며, 여기서 각각의 블럭은 전형적으로 다수의 워드 라인들(이는 알맞은 2의 거듭제곱, 예를 들어, 25=32)을 포함한다. NAND 플래시 디바이스의 셀들이 함께 프로그래밍될 수 있는 NAND 플래시 디바이스의 최소 단위가 페이지다. NAND 플래시 디바이스의 셀들이 함께 소거될 수 있는 NAND 플래시 디바이스의 최소 단위가 블럭이다.
메모리 셀들(M)에 저장된 데이터는 컬럼 제어 회로(2)에 의해 판독되고, I/O 라인 및 데이터 입력/출력 회로(6) 내의 버퍼를 통해 외부 I/O 라인들에 출력된다. 메모리 셀들에 저장될 프로그램 데이터가 외부 I/O 라인들을 통해 데이터 입력/출력 회로(6) 내의 버퍼에 입력되고, 컬럼 제어 회로(2)에 전달된다. 외부 I/O 라인들이 제어기(20)에 연결된다.
플래시 메모리 디바이스를 제어하는 커맨드 데이터가 공통 인터페이스에 입력되며, 공통 인터페이스는 제어기(20)와 연결된 외부 제어 라인들에 연결된다. 커맨드 데이터는 플래시 메모리에게 어떤 동작이 요청되는지 알려준다. 입력 커맨드는 상태 머신(8)에 전달되며, 상태 머신(8)은 컬럼 제어 회로(2), 로우 제어 회로(3), c-소스 제어 회로(4), c-p-웰 제어 회로(5), 및 데이터 입력/출력 회로(6)를 제어한다. 상태 머신(8)은 준비/작업중(READY/BUSY) 혹은 통과/실패(PASS/FAIL)와 같은 플래시 메모리의 상태 데이터를 출력할 수 있다.
제어기(20)는 개인용 컴퓨터, 디지털 카메라, PDA와 같은 호스트 시스템과 접속되거나 혹은 접속될 수 있다. 데이터를 메모리 어레이(1)에 저장하거나 메모리 어레이(1)로부터 판독하는 것과 같은 커맨드들을 개시시키고, 이러한 데이터를 각각 제공하거나 수신하는 것이 호스트이다. 제어기(20)는 이러한 커맨드들을, 커맨드 회로들(7)이 해석 및 실행할 수 있는 커맨드 신호들로 변환한다. 제어기(20)는 또한, 전형적으로 메모리 어레이(1)에 기입되거나 메모리 어레이(1)로부터 판독되는 사용자 데이터를 위한 버퍼 메모리를 포함한다. 전형적인 메모리 시스템은 제어기(20)를 포함하는 하나의 집적 회로 칩(21)과, 그리고 하나 이상의 집적 회로 칩들(22)(이들 각각은 메모리 어레이 및 관련 회로, 입력/출력 그리고 상태 머신 회로들을 포함함)을 포함한다. 물론, 시스템의 메모리 어레이와 제어기 회로를 함께 하나 이상의 집적 회로 칩들에 통합하는 것이 업계의 추세이다. 메모리 시스템은 호스트 시스템의 일부로서 내장될 수 있거나, 호스트 시스템의 메이팅 소켓(mating socket) 안으로 탈착가능하게 삽입될 수 있는 메모리 카드에 포함될 수 있다. 이러한 카드는 전체 메모리 시스템을 포함할 수 있고, 그리고 제어기 및 메모리 어레이가 관련 주변 회로와 함께 개별 카드들에 제공될 수 있다.
도 2b(미국 특허 번호 제6,751,766호(발명자: 구테르만(Guterman) 등)의 도 1과 동일)는 또 다른 전형적인 종래 기술의 플래시 메모리 디바이스의 블럭도이다. 개별적으로 어드레스 지정이 가능한 매우 많은 수의 메모리 셀들이 행과 열의 규칙적인 어레이(11)로 정렬된다. 개개의 메모리 셀들은 비트 라인들, 선택 게이트들(이들은 워드 라인들로 정렬됨), 및 조종 게이트(steering gate)들에 의해 제어될 수 있다. 본 명세서에서, 비트 라인들은 어레이(11)의 컬럼들을 따라 연장하는 것으로 지정되었고, 그리고 워드 라인들은 어레이(11)의 로우들을 따라 연장하는 것으로 지정되었다. 비트 라인 유닛(13)은 비트 라인 디코더, 저장 요소들, 드라이버 회로들, 및 감지 증폭기들을 포함할 수 있다. 비트 라인 유닛(13)은 라인(15)에 의해 셀 어레이(11)에 연결될 수 있고, 비트-제어 라인(29)에 의해 그리고 판독 라인(41)에 의해 제어기(27)에 연결될 수 있다. 워드 라인 유닛(19)은 선택 게이트 디코더 및 드라이버 회로들을 포함할 수 있다. 워드 라인 유닛(19)은 라인(17)에 의해 셀 어레이(11)에 연결될 수 있고, 그리고 워드-제어 라인(31)에 의해 제어기(27)에 연결될 수 있다. 조정 라인 유닛(steering line unit)(43)은 조종 게이트 디코더 및 드라이버 회로들을 포함할 수 있다. 조정 유닛(43)은 라인(23)에 의해 셀 어레이(11)에 연결될 수 있고, 조종-제어 라인(33)에 의해 제어기(27)에 연결될 수 있으며 라인(44)에 의해 비트 라인 유닛(13)에 연결될 수 있다. 비트 라인 유닛(13), 워드 라인 유닛(19), 및 조종 유닛(43)은, 제어기(27)에 연결된 버스(25)에 연결될 수 있다. 제어기(27)는 라인(35)에 의해 호스트에 연결될 수 있다.
사전에 선택된 메모리 셀이 프로그래밍 돼야 할 때, 상기 사전에 선택된 셀을 프로그래밍하기에 충분한 소정 레벨의 전압이, 상기 사전에 선택된 메모리 셀에 대응하는, 비트 라인, 워드 라인, 및 조종 게이트에 인가될 수 있다. 제어기(27)는 사전에 선택된 메모리 셀의 어드레스를 버스(25)를 통해, 비트 라인 유닛(13), 워드 라인 유닛(19), 및 조종 게이트 유닛(43) 내의 각각의 디코더들로, 라인(26a), 라인(26b), 및 라인(26c)을 통해, 각각 전송한다. 비트 라인 유닛(13), 워드 라인 유닛(19), 조종 게이트 유닛(43) 및 제어기(27) 간의 상태 및 제어 커맨드들은 비트-제어 라인(29), 워드-제어 라인(31) 및 조종 제어 라인(33)을 통해 전달된다.
사전에 선택된 메모리 셀이 판독돼야 할 때, 상기 사전에 선택된 메모리 셀을 판독하기에 충분한 소정 레벨의 전압이, 상기 사전에 선택된 메모리 셀에 대응하는, 대응하는 비트 라인, 워드 라인, 및 조종 게이트에 인가될 수 있다. 제어기(27)는 비트-제어 라인(29)을 통해 비트 라인들의 전압을 인가할 수 있고, 워드-제어 라인(31)을 통해 워드 라인들의 전압을 인가할 수 있으며, 그리고 조정 제어 라인(33)을 통해 조종 게이트들의 전압을 인가할 수 있다. 이러한 전압에 의해 상기 사전에 선택된 메모리 셀을 통해 전류가 발생될 수 있다. 이 전류가 상기 사전에 선택된 메모리 셀이 프로그래밍 되었는지 혹은 되지 않았는지 여부를 나타낸다. 전류의 값은 증폭될 수 있고, 비트 라인 유닛(13) 내의 감지 증폭기들에 의해 기준값과 비교될 수 있으며, 그 결과가 일시적으로 래치 혹은 레지스터에 저장될 수 있다. 결과적으로, 상기 사전에 선택된 메모리 셀로부터 판독된 데이터는 판독 라인(41)을 통해 제어기(27)에 전송될 수 있다.
인접 플로팅 게이트들에 저장된 전하에 근거하는 전기장의 커플링으로 인해, 플로팅 게이트 상에 저장된 겉보기 전하에서의 시프트가 일어날 수 있다. 이러한 플로팅 게이트 대 플로팅 게이트 커플링 현상(이것은 또한 본 명세서에서 "셀 간 크로스 커플링(inter-cell cross coupling)"으로 언급됨)은 미국 특허 번호 제5,867,429호(발명자: 첸(Chen) 및 퐁(Fong))에 설명되어 있고, 이 특허 문헌은 마치 본 명세서에서 완전히 설명되는 것처럼 사실상 참조로 본 명세서에 통합된다. 타겟 게이트에 인접한 플로팅 게이트는, 동일한 비트 라인 상의 이웃하는 플로팅 게이트, 또는 동일한 워드 라인 상의 이웃하는 플로팅 게이트, 또는 타겟 플로팅 게이트로부터 대각선 방향에 있는 플로팅 게이트일 수 있는 데, 왜냐하면 이것은 이웃하는 비트 라인 및 이웃하는 워드 라인 양쪽 모두에 있기 때문이다.
플로팅 게이트 대 플로팅 게이트 커플링 현상은 서로 다른 시간에 프로그래밍돼었던 인접 메모리 셀들의 세트들 간에 가장 현저하게 일어난다. 예를 들어, 제 1 메모리 셀이, 데이터의 한 세트에 대응하는 플로팅 게이트에 임의 레벨의 전하가 더해지도록 프로그래밍된다고 가정한다. 후속적으로, 하나 이상의 인접 메모리 셀들이 데이터의 두 번째 세트에 대응하는 플로팅 게이트들에 임의 레벨의 전하가 더해지도록 프로그래밍된다고 가정한다. 인접 메모리 셀들 중 하나 이상이 프로그래밍된 이후, 제 1 메모리 셀로부터 판독되는 전하 레벨은 프로그래밍된 전하 레벨과는 다른 것으로 나타나는데, 왜냐하면 인접하는 메모리 셀들 상의 전하의 영향이 제 1 메모리 셀에 커플링 되기 때문이다. 인접 메모리 셀들로부터의 커플링은, 저장된 데이터의 판독 오류를 일으키기에 충분한 양만큼, 판독되는 겉보기 전하 레벨을 시프트시킬 수 있다.
플로팅 게이트 대 플로팅 게이트 커플링의 영향은 SBC 디바이스에서보다 MBC 디바이스에서 더 중요한데, 왜냐하면 MBC 디바이스에서 셀들의 상태를 정의하는 임계 전압 범위는 SBC 디바이스에서보다 더 폭이 좁기 때문이다.
플로팅 게이트 대 플로팅 게이트 커플링을 보상하는 몇 가지 방법이 알려져 있다. 첸 및 퐁은, 플로팅 게이트들이 커플링될 수 있는 셀들이 물리적으로 서로 분리되도록 하는 플래시 메모리 구조를 제시한다. 대안적으로, 첸 및 퐁은 플로팅 게이트 대 플로팅 게이트 커플링을 보상하는 방식으로 기준 비교 전압(예를 들어, 도 1b에서의 V1 및 V2)을 조정한다. 첸, 세르니아(Cernea) 및 헴니크(Hemnik)는 미국 특허 번호 제7,196,946호에서 유사한 방법을 설명한다. 이러한 첸, 세르니아, 헴니크의 특허 문헌도 마치 본 명세서에서 완전히 설명되는 것처럼 사실상 참조로 본 명세서에 통합된다. 플래시 메모리들로부터 데이터를 판독할 때 일반적으로 부정확성을 보상하기 위해 반복적으로 사용되는, 저장될 데이터의 에러 정정 인코딩 단계 및 후속의 판독되는 데이터의 에러 정정 디코딩 단계가 또한 플로팅 게이트 대 플로팅 게이트 커플링을 보상한다.
도 3(앞서의 첸 및 퐁의 특허 문헌에서의 도 8A와 동일함)은 플래시 메모리 셀들의 어레이를 도식적으로 보여주며, 여기에는 참조번호 151 내지 159로 표기된 9개의 이러한 셀들이 포함된다. 도 3에서의 점선 화살표를 따르는 번호들은 화살표에 의해 연결되는 셀들 간의 커플링 비율이다. 예를 들어, 셀(151)의 판독을 위해 적절한 기준 비교 전압을 결정하기 위해, 첸 및 퐁은 이웃 셀들(152 내지 159)(또는 적어도 셀(152)과 셀(156), 이 셀들(152, 156)이 셀(151)에 가장 강하게 커플링되어 있음)을 판독하고, 그리고 이러한 판독 결과를 셀(151)에 대한 각각의 커플링 비율과 결합하여, 셀(151)의 기준 비교 전압들을 이러한 기준 비교 전압의 디폴트 값들로부터 얼마나 많이 시프트시켜야 할지를 결정한다.
앞서의 설명은 임계 전압이, 셀들의 상태를 정의하는 임계 전압의 폭과 대략 동일한 분해능으로 판독되는 것을 가정한다. 예를 들어, 미국 특허 출원 번호 제2005/0013165호(발명자: 밴(Ban))에서 설명된 바와 같이, 더 정밀한 분해능으로 임계 전압을 판독하는 것이 종종 이롭다. 도 4(이 도면은 앞서의 밴의 특허 문헌에서의 도 2로부터 수정된 도면임)는 3비트 각각을 저장하는 MBC 셀들의 임계 전압 분포를 나타낸다. 임계 전압이 Vmin과 V1 사이에 있는 임계 전압 분포(110) 내의 셀은 비트 패턴 "111"에 대응하는 상태에 있는 것으로 해석된다. 임계 전압이 V1과 V2 사이에 있는 임계 전압 분포(112) 내의 셀은 비트 패턴 "110"에 대응하는 상태에 있는 것으로 해석된다. 임계 전압이 V2와 V3 사이에 있는 임계 전압 분포(114) 내의 셀은 비트 패턴 "101"에 대응하는 상태에 있는 것으로 해석된다. 임계 전압이 V3과 V4 사이에 있는 임계 전압 분포(116) 내의 셀은 비트 패턴 "100"에 대응하는 상태에 있는 것으로 해석된다. 임계 전압이 V4와 V5 사이에 있는 임계 전압 분포(118) 내의 셀은 비트 패턴 "011"에 대응하는 상태에 있는 것으로 해석된다. 임계 전압이 V5와 V6 사이에 있는 임계 전압 분포(120) 내의 셀은 비트 패턴 "010"에 대응하는 상태에 있는 것으로 해석된다. 임계 전압이 V6과 V7 사이에 있는 임계 전압 분포(122) 내의 셀은 비트 패턴 "001"에 대응하는 상태에 있는 것으로 해석된다. 임계 전압이 V7과 Vmax 사이에 있는 임계 전압 분포(124) 내의 셀은 비트 패턴 "000"에 대응하는 상태에 있는 것으로 해석된다. 앞서의 밴의 특허 문헌에서는, 셀의 임계 전압을, 셀의 상태를 정의하는 임계 전압 범위의 경계인 기준 비교 전압(V1, V2, V3, V4, V5, V6 및 V7)(밴의 특허 문헌에서는 이를 "정수(integral)" 기준 비교 전압으로 언급)과 비교할 뿐만 아니라, V0 .5, V1 .5, V2 .5, V3 .5, V4 .5, V6 .5 및 V7.5(밴의 특허 문헌에서는 이를 "분수(fractional)" 기준 비교 전압으로 언급)와도 비교함으로써, 이러한 MBC 셀들을 판독한다고 설명하고 있다. 셀의 상태를 정의하는 임계 전압 범위의 폭과 대략 동일한 분해능으로 플래시 셀들을 판독한 결과는 종종 "하드 비트(hard bits)"로 언급되고, 더 정밀한 분해능으로 플래시 셀들을 판독한 결과는 종종 "소프트 비트(soft bits)"로 언급된다.
본 발명은, 기준 비교 전압을 변경시킴 없이, 셀 간 크로스 커플링에 대해, 디폴트 기준 비교 전압을 사용하여 판독하는 바와 같이, 임계 전압을 정정하기 위해, 도 3에 도시된 바와 같은 커플링 비율이 사용될 수 있다는 원리에 근거하고 있다. 이러한 원리는 셀 간 크로스 커플링과 통신 공학에서 일어나는 유사한 문제, 즉 심볼 간 간섭(Inter-Symbol Interference, ISI) 간의 형식적 유사성에 근거를 두고 있다.
디지털 통신에서, 송신기는 임의 신호로 인코딩된 심볼들 의 시퀀스를 전송한다. 이 신호를 수신하는 수신기는 수신된 신호를 샘플링하여 전송된 심볼들을 복원한다. 만약 송신기와 수신기 간의 통신 채널이 완전하다면, 수신된 심볼들 은 전송된 심볼들 과 동일할 것이다. 그러나, 종종 수신된 신볼들은 채널 노이즈 및 전송된 다른 심볼들로부터의 간섭에 의해 훼손된다. 부가적 노이즈를 갖는 선형 채널에서, 채널 출력 는 다음과 같다.
여기서, 는 부가적 채널 노이즈이다. "채널 추정(channel estimation)"으로 언급되는 절차가, 수신된 심볼들에 근거하여, 필터의 계수 를 구성하기 사용되고, 이 계수는 "등화(equalization)"로 언급되는 후속 절차에서, 수신된 심볼들에 적용될 때, 전송된 심볼들의 추정치를 산출한다. 선형 등화기가, 전송된 심볼의 추정치를, 수신된 심볼의 선형 결합(아래의 식으로 표현됨)으로서 산출한다.
이러한 등화는 심볼 간 간섭을 완화시키지만, 일반적으로 ISI를 완전히 없애지는 못하는데, 왜냐하면 비록 등화기가 최적화되어 있을지라도(즉, 유한 개수의 등화기 탭들과 같은 실질적 한정요인에 의해 제한받지 않을지라도), 부가적 채널 노이즈가 채널에 의해 수행되는 역변환을 허용하지 않기 때문이다.
본 발명은 셀 간 크로스 커플링이 형식적으로 ISI와 동일하다는 원리에 근거를 두고 있어, 셀 간 크로스 커플링을 측정하기 위해 채널 추정 기술이 사용될 수 있고, 셀 간 크로스 커플링에 대한 정정을 위해 등화 기술이 사용될 수 있다. 다음의 표는, ISI와 셀 간 크로스 커플링의 선형 모델의 경우, ISI 파라미터와 플래시 메모리 파라미터 간의 대응관계를 나타내고 있다.
ISI와 셀 간 크로스 커플링 간의 이러한 대응관계는 ISI와 셀 간 크로스 커플링의 선형 모델에 근거하고 있다. ISI와 셀 간 크로스 커플링 양쪽 모두는 등가의 비선형 모델로 모델링될 수 있고, 그리고 비선형 채널 추정과 등화의 파라미터들과 셀 간 크로스 커플링의 비선형 추정 및 정정의 파라미터들 간에 유사한 대응관계가 만들어 질 수 있다. 본 발명의 범위가 셀 간 크로스 커플링의 비선형 추정 및 정정을 포함하지만, 본 명세서에서 강조되는 것은 셀 간 크로스 커플링의 선형 추정 및 정정인데, 왜냐하면 선형 정정이 본 발명의 바람직한 실시예이기 때문이다.
따라서, 본 발명에 따르면, 데이터를 저장 및 판독하는 방법이 제공되고, 상기 방법은, (a) 복수의 셀들을 포함하는 메모리를 제공하는 단계와, 여기서 상기 셀들에는 데이터가 저장되고, 상기 저장은 상기 데이터를 나타내도록 상기 셀들의 물리적 성질의 각각의 값들을 설정함으로써 수행되고, 그리고 상기 각각의 값들의 각각의 측정치를 획득하기 위해 상기 각각의 값들을 측정함으로써 상기 셀들이 후속적으로 판독되며; (b) 상기 셀들 중 하나의 셀과, 그리고 상기 하나의 셀의 적어도 하나의 이웃 셀을 판독하여, 상기 하나의 셀 및 각각의 이웃 셀에 대한 상기 각각의 측정치들을 획득하는 단계와; 그리고 (c) 각각의 이웃 셀이 상기 하나의 셀의 판독을 교란시키는 각각의 정도 및 상기 각각의 측정치들에 근거하여, 상기 하나의 셀에 저장되었던 각각의 데이터를 추정하는 단계를 포함한다.
더욱이, 본 발명에 따르면, 메모리 디바이스가 제공되며, 상기 메모리 디바이스는 (a) 복수의 셀들을 포함하는 메모리와; (b) 상기 셀들에 데이터를 저장하고, 그리고 후속적으로 상기 셀들을 판독하는 회로와, 여기서, (i) 상기 저장은 상기 데이터를 나타내도록 상기 셀들의 물리적 성질의 각각의 값들을 설정함으로써 수행되고, (ii) 상기 판독은 상기 각각의 값들의 각각의 측정치들을 획득하기 위해 상기 각각의 값들을 측정함으로써 수행되며; 그리고 (c) 상기 셀들 중 하나의 셀에 저장되었던 각각의 데이터를 추정하는 매커니즘을 포함하여 구성되며, 상기 추정은 상기 하나의 셀 및 상기 하나의 셀의 적어도 하나의 이웃 셀의 상기 각각의 측정치들에 근거하여, 그리고 또한 각각의 이웃 셀이 상기 하나의 셀의 판독을 교란시키는 각각의 정도에 근거하여, 수행된다.
더욱이 본 발명에 따르면 시스템이 제공되고, 상기 시스템은, (a) 메모리 디바이스와; (b) 비휘발성 메모리와; 그리고 (c) 프로세서를 포함하여 구성되며, 여기서, 상기 메모리 디바이스는, (i) 복수의 셀들 및 (ii) 상기 셀들에 데이터를 저장하고, 그리고 후속적으로 상기 셀들을 판독하는 회로를 포함하고, (A) 상기 저장은 상기 데이터를 나타내도록 상기 셀들의 물리적 성질의 각각의 값들을 설정함으로써 수행되고, (B) 상기 판독은 상기 각각의 값들의 각각의 측정치들을 획득하기 위해 상기 각각의 값들을 측정함으로써 수행되며, 상기 비휘발성 메모리에는 상기 메모리 디바이스를 위한 드라이버 코드가 저장되고, 상기 드라이버 코드는, 상기 셀들 중 하나의 셀에 저장되었던 각각의 데이터를 추정하며, 상기 추정은 상기 하나의 셀 및 상기 하나의 셀의 적어도 하나의 이웃 셀의 상기 각각의 측정치들에 근거하여, 그리고 또한 각각의 이웃 셀이 상기 하나의 셀의 판독을 교란시키는 각각의 정도에 근거하여, 수행되며, 그리고 상기 프로세서는 상기 코드를 실행한다.
더욱이, 본 발명에 따르면, 컴퓨터 판독가능 저장 매체가 제공되고, 상기 컴퓨터 판독가능 저장 매체 상에는 컴퓨터 판독가능 코드가 내장되고, 상기 컴퓨터 판독가능 코드는 메모리 디바이스를 위한 드라이버 코드이고, 상기 메모리 디바이스는 복수의 셀들을 포함하며, 상기 셀들에 데이터가 저장되고, 그리고 후속적으로 상기 셀들이 판독되며, 여기서 상기 저장은 상기 데이터를 나타내도록 상기 셀들의 물리적 성질의 각각의 값들을 설정함으로써 수행되고, 상기 판독은 상기 각각의 값들의 각각의 측정치들을 획득하기 위해 상기 각각의 값들을 측정함으로써 수행되며, 상기 컴퓨터 판독가능 코드는 상기 셀들 중 하나의 셀에 저장되었던 각각의 데이터를 추정하는 프로그램 코드를 포함하고, 여기서 상기 추정은 상기 하나의 셀 및 상기 하나의 셀의 적어도 하나의 이웃 셀의 상기 각각의 측정치들에 근거하여, 그리고 또한 각각의 이웃 셀이 상기 하나의 셀의 상기 판독을 교란시키는 각각의 정도에 근거하여, 수행된다.
본 발명의 기본적인 방법은 복수의 셀들을 포함하는 메모리를 사용하여 데이터를 저장 및 판독하는 방법이다. 데이터가 셀들에 저장되는데, 이러한 저장은, 셀들에 저장될 데이터를 나타내도록 셀들의 물리적 성질의 각각의 값들을 설정함으로써 수행된다. 예를 들어, 만약 셀들이 플래시 셀들이라면, 바람직한 물리적 성질은 플래시 셀들의 임계 전압이다. 셀들에 데이터를 저장한 이후, 이러한 물리적 성질의 각각의 값들을 측정하여 이러한 각각의 값들의 각각의 측정치들을 획득함으로써 셀들이 판독된다. 셀들 중 하나의 셀("타겟 셀") 및 그 이웃들 중 하나 이상이 판독되어, 타겟 셀 및 이웃 셀(들)의 각각의 측정치가 획득된다. 도 2a 및 도 2b의 디바이스와 같은 플래시 메모리 디바이스의 경우에, 이러한 측정치는 하드 비트(예를 들어, 도 1b에서 "0 < 임계 전압 < V1)이거나 소프트 비트(예를 들어, 도 4에서 "V1.5 < 임계 전압 < V2) 중 어느 하나일 수 있다. 주목할 사항으로서, 이러한 측정치는, 데이터가 저장될 때 설정된 물리적 성질의 각각의 값과 일치하지 않을 수 있다. 예를 들어, 도 4의 상태 "110"로 프로그래밍된 플래시 셀은 V2보다 큰 임계 전압을 가진 것으로서 판독될 수 있고 그래서 도 4의 상태 "101"에 있는 것으로서 판독될 수 있다. 본 발명의 핵심은, 이러한 오류가 셀 간 크로스 커플링으로 인해 야기되는 경우에 있어서, 이러한 오류를 정정하는 것이다. 마지막으로, 타겟 셀에 실제로 저장된 데이터는, 각각의 이웃 셀이 타겟 셀의 판독을 교란시키는 각각의 정도 및 각각의 측정치에 근거하여, 추정된다. "추정(estimating)"은 본 명세서에서 단지 컴퓨터 계산으로 이해해야 하며, 예를 들어, 앞서의 첸 및 퐁의 특허 문헌에서와 같이, 셀을 판독하는데 사용되는 기준 비교 전압을 재설정하고, 그 다음에 셀을 재판독하는 것을 포함하지는 않는다. 아래에서 설명되는 바람직한 실시예들은 통신 공학 분야로부터 개조된 ISI 등화 알고리즘을 사용하여 이러한 추정을 수행하기 때문에, 이러한 추정은 본 명세서에서 "등화(equalizing)"로 언급되기도 한다.
바람직하게는, 본 방법은 또한 타겟 셀의 각각의 이웃 셀이 타겟 셀의 판독을 교란시키는 각각의 정도를 결정하는 것을 포함한다. 전형적으로, 이러한 결정은 통신 공학 분야로부터 개조된 적절한 ISI 채널 추정 알고리즘을 사용하여 수행된다. 따라서, 이러한 결정은 본 명세서에서 "크로스 커플링 추정"으로 언급되기도 한다. 이러한 결정은 셀 간 크로스 커플링의 비선형 모델에 근거하거나 혹은 셀 간 크로스 커플링의 선형 모델에 근거할 수 있다. 이러한 결정은, 아래에서 설명되는 일괄 크로스 커플링 추정에서와 같이, 등화와 별개로(즉, 등화 전에) 수행될 수 있거나, 아래에서 설명되는 적응성 크로스 커플링 추정 및 등화에서와 같이, 등화와 함께 반복적으로 수행될 수 있다. 이러한 결정은 최소 평균 제곱 오차(Minimal Mean Square Error, MMSE), 최대 사후 확률(Maximal A-postiori probability, MAP), 최대 우도(Maximum Likelihood, ML)와 같은 기준에 근거할 수 있다.
더 바람직하게는, 각각의 이웃 셀이 타겟 셀의 판독을 교란시키는 각각의 정도를 결정하는 것은, 타겟 셀 및 그 이웃 셀(들)을 판독함으로써 획득되는 각각의 측정치들에 근거한다. 가장 바람직하게는, 본 방법은 또한 타겟 셀 및 그 이웃 셀(들)과는 다른 하나 이상의 추가적인 셀들을 판독하여 하나 이상의 추가적인 측정치들을 획득하는 것을 포함한다. 그 다음에, 각각의 이웃 셀이 타겟 셀을 교란시키는 각각의 정도를 결정하는 것은 또한 이러한 하나 이상의 추가적인 측정치들에 근거한다. 예를 들어, 아래에서 설명되는 LMMSE 알고리즘에서, 그 통계치 중 하나가 이며, 이것은 M 개의 셀들(이들 모두는 타겟 셀과 동일한 상태 에 있는 것으로 가정됨)에 관한 측정치들로부터 획득된다. 예를 들어, 타겟 셀 및 추가적인 셀(들)은 플래시 메모리의 공통 소거 블럭 혹은 플래시 메모리의 공통 워드 라인을 공유할 수 있다.
또한 더 바람직하게는, 본 방법은 또한 타겟 셀 및 그 이웃 셀(들)에 데이터를 저장하는 것을 포함한다. 본 발명의 더 바람직한 일 모드에서, 각각의 이웃 셀이 타겟 셀의 판독을 교란시키는 각각의 정도를 결정하는 것은 타겟 셀 및 그 이웃 셀(들)에 데이터가 저장되기 전에 실행된다. 예를 들어, 각각의 이웃 셀이 타겟 셀의 판독을 교란시키는 각각의 정도는, 메모리의 사용자가 데이터를 저장 및 판독하기 전, 메모리가 설계될 때 혹은 메모리가 제조될 때, 결정될 수 있다. 본 발명의 또 다른 더 바람직한 모드에서, 각각의 이웃 셀이 타겟 셀의 판독을 교란시키는 각각의 정도를 결정하는 것은 타겟 셀 및 그 이웃 셀(들)에 데이터가 저장된 이후 수행된다. 예를 들어, 아래에서 설명되는 배후 결정 옵션(background determination option)에서, 데이터가 타겟 셀 및 그 이웃 셀(들)에 기입되고, 타겟 셀 및 그 이웃 셀(들)이 단지 결정을 위해서만 배후에서 판독되며, 각각의 이웃 셀이 타겟 셀의 판독을 교란시키는 각각의 정도가 이러한 판독의 결과로부터 결정되고, 그리고 그 각각의 정도(들)이, 동일한 데이터가 메모리의 사용자에 의해 타겟 셀로부터 후속적으로 판독될 때, 데이터의 추정에서 사용된다. 이러한 모드의 중요한 특별 경우는, 아래에서 설명되는 동작중 결정 및 등화 옵션(on-the-fly determination and equalization option)이고, 이것은 가장 최근에 타겟 셀에 저장된 데이터를 추정하기 위해, 타겟 셀이 판독될 때마다 이러한 결정을 수행한다.
또 다른 더 바람직한 대안적인 것은 타겟 셀 및 그 이웃 셀(들)에 다른 데이터를 저장하고, 그 다음에 타겟 셀 및 그 이웃 셀(들)을 판독하여, 타겟 셀 및 그 이웃 셀(들)에 대한 각각의 다른 측정치들을 획득하는 것이다. 그 다음에, 각각의 이웃 셀이 타겟 셀의 판독을 교란시키는 각각의 정도가 그 다른 측정치들에 근거하여 결정된다. 예를 들어, 아래에서 설명되는 배후 결정 옵션에서, 데이터가 타겟 셀 및 그 이웃 셀(들)에 기입되고, 타겟 셀 및 그 이웃 셀(들)이 단지 결정을 위해서 배후에서 판독되고, 각각의 이웃 셀이 타겟 셀의 판독을 교란시키는 각각의 정도가 이러한 판독의 결과로부터 결정되고, 그리고 결정을 위해 사용된 데이터를 다른 데이터로 교체한 이후, 메모리의 사용자에 의해 타겟 셀로부터 새로운 데이터가 판독될 때 그 각각의 정도(들)가 새로운 데이터의 추정에서 사용된다. 또 다른 예로서, 메모리가 제조될 때, 각각의 이웃 셀이 타겟 셀을 교란시키는 각각의 정도를 결정하는 한 가지 방법은 알려진 데이터(즉, 다른 곳에 또한 저장된 데이터)를 저장하기 위해 타겟 셀 및 그 이웃 셀(들)을 프로그래밍하는 것이고, 이 경우, 결정은, 이렇게 프로그래밍된 타겟 셀 및 그 이웃 셀(들)의 측정치들에 근거하고 아울러 메모리와는 별도로 저장된 데이터에 근거한다.
바람직하게는, 추정은, 이웃 셀(들)에 의한 교란에 대해 타겟 셀의 각각의 측정치를 정정하는 것을 포함한다. 대안적으로, 타겟 셀의 각각의 측정치는 정정되지 않는다. 대신에, 셀의 각각의 값의 교란의 파라미터들의 하나 이상의 기대값이 추정되고 후속 프로세싱에서 사용된다. 아래의 LMMSE에서의 이러한 기대값의 예는 및 이다.
결정과 마찬가지로, 추정은 MMSE, MAP, 혹은 ML과 같은 기준에 근거할 수 있다.
본 발명의 메모리 디바이스는 메모리 및 등화 매커니즘을 포함한다. 메모리는 복수의 셀들을 포함한다. 데이터를 나타내도록 셀들의 물리적 성질의 각각의 값을 설정함으로써, 데이터가 셀들에 저장된다. 후속적으로, 셀들이 이러한 각각의 값들을 측정하여 각각의 값들의 측정치들이 획득되도록 판독된다. 이렇게 획득된 측정치들은 데이터가 저장될 때 설정된 물리적 성질의 각각의 값과 일치하지 않을 수 있기 때문에, 등화 매커니즘이 본 발명의 방법들 중 하나 이상을 사용하여 데이터를 추정한다. 등화 매커니즘은 (예를 들어, 셀들을 판독하는 회로에서) 하드웨어로 구현될 수 있거나 또는 (예를 들어, 메모리의 제어기에서) 펌웨어 혹은 소프트웨어로 구현될 수 있다.
본 발명의 시스템은 메모리 디바이스, 비휘발성 메모리, 및 프로세서를 포함한다. 메모리 디바이스는 복수의 셀들을 갖는 메모리를 포함한다. 데이터를 나타내도록 셀들의 물리적 성질의 각각의 값을 설정함으로써, 데이터가 셀들에 저장된다. 후속적으로, 이러한 각각의 값들을 측정하여 각각의 값들의 측정치들이 획득되도록 셀들이 판독된다. 비휘발성 메모리에는 메모리 디바이스를 위한 드라이버 코드가 저장된다. 드라이버 코드는, 프로세서에 의해 실행될 때 본 발명의 하나 이상의 방법들을 사용하여 메모리 디바이스에 저장된 데이터를 추정하는 코드를 포함한다. 본 발명의 범위는 컴퓨터 판독가능 저장 매체를 포함하고, 컴퓨터 판독가능 저장 매체에는 이러한 드라이버 코드가 내장된다.
단지 예시적 방법으로 첨부되는 도면을 참조하여 본 발명이 본 명세서에서 설명된다.
도 1a는 1-비트 모드에서 프로그래밍된 플래시 셀들의 임계 전압 분포를 나타낸다.
도 1b는 2-비트 모드에서 프로그래밍된 플래시 셀들의 임계 전압 분포를 나타낸다.
도 2a 및 도 2b는 플래시 메모리 디바이스들의 블럭도이다.
도 3은 크로스 커플링된 플래시 메모리 셀들의 어레이를 나타낸다.
도 4는 3 비트 모드에서 프로그래밍되고 소프트 비트로서 판독되는 플래시 셀들의 임계 전압 분포를 나타낸다.
도 5는 본 발명의 시스템을 나타낸 고레벨 블럭도이다.
도 1b는 2-비트 모드에서 프로그래밍된 플래시 셀들의 임계 전압 분포를 나타낸다.
도 2a 및 도 2b는 플래시 메모리 디바이스들의 블럭도이다.
도 3은 크로스 커플링된 플래시 메모리 셀들의 어레이를 나타낸다.
도 4는 3 비트 모드에서 프로그래밍되고 소프트 비트로서 판독되는 플래시 셀들의 임계 전압 분포를 나타낸다.
도 5는 본 발명의 시스템을 나타낸 고레벨 블럭도이다.
본 발명에 따른 셀 간 크로스 커플링에 대한 정정의 원리 및 동작은 첨부되는 도면 및 그 설명을 참조하여 더 잘 이해될 수 있다.
앞서 언급된 바와 같이, 셀 간 크로스 커플링 정정의 선형 모델은 다음과 같다.
여기서, 는 판독되는 타겟 셀의 임계 전압이고, 는 타겟 셀의 프로그래밍 이후 타겟 셀을 교란시키는 이웃 셀들의 판독되는 임계 전압이며, 그리고 는 셀이 프로그래밍됨에 될 때의 타겟 셀의 임계 전압의 추정치이다. 보다 일반적으로는, 셀 간 크로스 커플링 정정의 선형 모델은 다음과 같다.
크로스 커플링 추정 및 등화를 위해 사용되는 한가지 바람직한 기술은 선형 최소 평균 제곱 오차(Linear Minimal Mean Square Error, LMMSE) 크로스 커플링 추정 및 등화이다. 이 기술은 타겟 셀들 및 그 이웃들의 2차 통계치(second order statistics)에 근거하고 있으며, 구체적으로, 이웃들의 판독 임계 전압의 공분산 행렬(covariance matrix)에 근거하고 있으며, 그리고 타겟 셀들 및 그 이웃들의 교차 상관 벡터(cross-correlation vector)에 근거하고 있다.
다음의 예는 한번에 하나의 워드 라인이 프로그래밍되는 플래시 메모리에 대한 것으로, 짝수 비트 라인들 상의 셀들이 홀수 비트 라인들 상의 셀들에 앞서 프로그래밍된다. 셀 간 커플링은 주로 짝수 비트 라인들 상의 셀들에 영향을 미치고, 그리고 이러한 셀 각각에 영향을 미치는 두 개의 이웃들은 동일한 워드 라인 및 다음 비트 라인 상에 있는 셀이고, 그리고 동일한 비트 라인 및 다음 워드 라인 상에 있는 셀이다. 본 예는, 타겟 셀들 중 M개 타겟 셀들(이들은 특정 상태 에 프로그래밍되었고 각각의 타겟 셀에 대해 임계 전압 이 주어졌다고 가정)의 판독되는 임계 전압 및 타겟 셀의 두 개의 중요 이웃 셀들의 판독된 임계 전압 및 의 셀 간 크로스 커플링의 추정 및 셀 간 크로스 커플링의 정정에 관한 것이다. 는 동일 워드 라인 및 다음 비트 라인 상의 셀의 판독되는 임계 전압이다. 는 동일 비트 라인 및 다음 워드 라인 상의 셀의 판독되는 임계 전압이다.
다음의 이차 통계치(second order statistics)가 사용된다. 여기서,
본 발명의 한 모드에서, 이러한 이차 통계치는 타겟 셀들의 판독 임계 전압을 정정하는데 사용된다. 일 예에서, 이러한 통계치는, 상태 =8에 대해, 셀 당 4비트의 블럭을 갖는 플래시 메모리에 대해 계산된다. 통계치 결과는 다음과 같다.
M개의 타겟 셀들 중 어느 하나에 대해, 수정된 임계 전압은 다음과 같다.
본 발명의 두 가지 단계, 즉 크로스 커플링 추정 및 등화 단계에 있어서, 방정식 (3) 내지 (7)의 이차 통계치의 계산은 LMMSE 크로스 커플링 추정이고, 이후 방정식 (8)에서의 의 계산은 LMMSE 등화이다.
본 발명의 또 다른 모드에서, 이차 통계치는, 셀의 측정된 임계 전압을 정정함이 없이, 각각의 타겟 셀에 저장된 데이터를 직접적으로 추정하는데 사용된다. 각각의 타겟 셀에 대해, 다음의 추가적인 이차 통계치가 계산된다.
1. 각각의 가능한 상태 에 대해, 상태 에서의 셀들의 임계 전압의 기대값, 여기서, 이 셀들의 이웃들은 타겟 셀의 이웃들과 (인덱스 으로 명명된) 동일한 상태들의 세트에 있고, 그리고 가정사항으로서, 타겟 셀이 또한 이러한 상태 에 프로그래밍되는 것(측정된 에 대응하는 상태 에 반드시 프로그래밍되는 것은 아님)으로 가정한다.
2. 이러한 셀들의 임계 전압들의 분산의 기대값.
이러한 이차 통계치는, 타겟 셀 내에 저장된 각각의 비트 에 대해, 다음과 같은 로그 우도 비율(log likelihood ratio)(비트가 "일(1)"로 프로그래밍된 확률에 대한 비트가 "제로(0)"로 프로그래밍된 확률의 비율의 로그)을 계산하는데 사용된다.
에 대한 총합은 그 상태에 대한 비트 가 "제로(0)" 비트인 모든 상태 에 대한 총합이다. 에 대한 총합은, 잔존하는 상태, 즉, 그 상태에 대한 비트 가 "일(1)" 비트인 모든 상태 에 대한 총합이다. 예를 들어, 셀당 3 비트의 플래시 메모리에서, 도 4에 도시된 임계 전압들에 맵핑된 상태의 경우, 가장 왼쪽에 있는 비트에 대해서, 분자의 총합은 가장 오른쪽에 있는 네 개의 상태들을 대한 것이고, 분모의 총합은 가장 왼쪽에 있는 네 개의 상태들에 대한 것이며; 가운데에 있는 비트에 대해서, 분자의 총합은 왼쪽에서 세 번째와 네 번째 상태 그리고 오른쪽에서 첫 번째와 두 번째 상태에 대한 것이고, 분모의 총합은 왼쪽에서 첫 번째와 두 번째 상태 그리고 오른쪽에서 세 번째와 네 번째 상태에 대한 것이며; 그리고 가장 오른쪽에 있는 비트에 대해서, 분자의 총합은 왼쪽에서 두 번째와 네 번째 상태 그리고 오른쪽에서 첫 번째와 세 번째 상태에 대한 것이고, 분모의 총합은 왼쪽에서 첫 번째와 세 번째 상태 그리고 오른쪽에서 두 번째와 네 번째 상태에 대한 것이다.
만약 이러한 총합이 단지, 에 가장 가까이 있고 그 번째 비트가 "제로(0)"인 상태 및 에 가장 가까이 있고 그 번째 비트가 "일(1)"인 상태 으로 한정된다면, 에 대한 상기 수식은 다음과 같이 더 간단하게 될 수 있다.
본 발명의 이러한 모드에서, 방정식 (3) 내지 (7), (9) 및 (10)의 이차 통계치의 계산이 LMMSE 크로스 커플링 추정이고, 그리고 방정식 (11) 혹은 방정식 (12)에서의 의 계산이 LMMSE 등화이다.
앞서 설명된 LMMSE 크로스 커플링 추정은 일괄 크로스 커플링 추정의 예이다. 일괄 크로스 커플링 추정에 대한 입력은 관련 데이터 모두(예를 들어, 앞서의 예에서 개의 , , 및 의 전체 세트)의 추정치들을 포함한다. 대안적으로, 각각의 타겟 셀에 대해 크로스 커플링 추정 및 등화를 별개로 결합한 적응성 절차가 사용된다. 이러한 적응성 절차의 한 가지는, 다음과 같이 셀 간 크로스 커플링의 선형 모델의 개의 정정 계수 를 결정하려는 최대 경사 알고리즘(steepest descent algorithm)이다.
추정 에러를 다음과 같이 정의한다.
여기서, 은, 모든 상태 의 중에서, 가 최소인 의 값(상태 에서의 모든 셀들의 평균 임계 전압)이다. 의 초기 추정으로서 으로 시작하여 다음과 같은 식으로 번째 반복에서 가 반복적으로 구해진다.
여기서, 스텝 크기 는 유사한 ISI 문제에서와 같이 결정된다. 예를 들어, 문헌(저자: John G. Proakis, 제목: Digital Communications, (McGraw-Hill, 2000), Chapter 11)을 참조하기 바란다.
비록 계산이 더 집약적으로 수행되기는 하지만, 또 다른 보다 더 정확한 형태의 적응성 크로스 커플링 추정 및 등화는 칼만 필터(Kalman filter)를 사용하여 정정 계수 를 추정하며, 이는 미국 특허 번호 제6,295,326호(발명자: Tonissen 외.)의 통신 공학에서의 채널 추정 및 등화를 위한 칼만 필터의 사용과 유사하다. 또한, IEEE 문헌(저자: Dai Qingyuan 및 E. Shwedyk, 제목: "Detection of bandlimited signals over frequency selective Rayleigh fading channels", IEEE Transactions on Communication vol. 42 no. 2 (1994) pp. 941-950)도 참조하기 바란다.
ISI에 관해 알려진 다른 적응성 채널 추정 및 등화 알고리즘들(이들은 본 발명의 기술 분야에서 숙련된 기술을 가진 자에 의해 셀 간 크로스 커플링 추정 및 정정을 위해 쉽게 개조될 수 있는 알고리즘들임)에는 다음과 같은 것이 있다.
유부호 LMS(Simon Haykin, Adaptive Filter Theory, Third Edition, Prentice Hall, 1996; R. D. Gitlin 외., An algorithm for the stable operation of a digitally implemented fractionally spaced adaptive equalizer, Proc . IEEE Int. Conf . Acoust . Speech Signal Process., May 1982, pp. 1379-1382).
CMA 알고리즘(R. Johnson, Jr., 외., Blind equalization using the constant modulus criterion: a review, Proc. IEEE vol. 86 no. 10 (1998) pp. 1927-1950).
SATO 알고리즘(Y. Sato, A method for self-recovering equalization for multilevel amplitude modulation system, IEEE Trans. Commun. vol. COM-23 (June 1975) pp. 679-682).
Godard 알고리즘(D. N. Godard, Self-recovering equalization and carrier tracking in two-dimensional data communication system, IEEE Trans. Commun. vol. COM-28 (Nov. 1980) pp. 1867-1875).
SUNUA 알고리즘(Ching-Hsiang Tseng 및 Cheng-bin Lin, A stop-and-go dual-mode algorithm for blind equalization, GLOBECOM '96 (18-22 November 1996) vol. 2 pp. 1427-1431).
DMGSA 알고리즘(V. Weerackody 및 S. A. Kassam, Dual-mode tyoe algorithms for blind equalization, IEEE Trans. Commun. vol. 42 no. 1 (1994) pp. 22-28).
일괄 크로스 커플링 추정 또는 결합된 적응성 크로스 커플링 추정 및 등화 하에서는, 데이터를 등화하기 위해 데이터를 다시 판독할 필요가 없다. 임계 전압들이 판독되고, 버퍼에 저장되고, 그리고 필요에 따라 버퍼로부터 검색된다. 예를 들어, 앞서의 처음 LMMSE 예에서(여기서, 셀 간 크로스 커플링의 선형 모델의 계수들은 크로스 커플링 추정 단계에서 결정됨), 버퍼 내의 데이터는 두 번 사용되는데, 먼저 계수들을 추정하기 위한 크로스 커플링 추정 단계에서 사용되고, 그 다음에, 추정된 계수들을 데이터에 적용하기 위한 등화 단계에서 사용된다.
크로스 커플링 추정 및 등화 방법들의 또 다른 분류는 추정 기준을 따른다. 하나의 바람직한 기준은 MMSE이고, 여기서는 추정의 평균 제곱 오차(MMSE)가 최소로 된다. 또 다른 바람직한 기준이 MAP이고, 여기서는 관측이 부여된 알려지지 않은 파라미터의 사후 확률이 최대로 된다. 또 다른 바람직한 기준은 ML이고, 여기서는 알려지지 않은 파라미터가 부여된 관측의 조건부 확률이 최대로 된다. MAP 추정기는 알려지지 않은 파라미터 및 관측의 결합 확률 분포(joint probability distribution)의 정보를 요구한다. ML 추정기는 관측이 부여된 알려지지 않은 것의 조건부 확률 분포의 정보를 요구한다. 일정 상황 하에서는 서로 다른 추정 기준이 동시에 발생할 수 있다. 예를 들어, 가우시안 노이즈 모델 하에서, MMSE와 MAP 기준이 동시에 발생한다. 다양한 추정 알고리즘들을 구분할 수 있는 또 다른 쟁점은 추정이 최적의 심볼 추정을 구하려는 것인지 아니면 심볼들의 전체 시퀀스의 최적의 추정을 구하려고 하는 것인지 이다. 통신 공학에서 MAP 채널 추정 및 등화의 사용에 대해서는 문헌(저자: M. J. Lopez 외., 제목: Reduced-complexity MAP equalizer for dispersive channels, IEEE Vehicular Technology Conference 2000 vol. 3 pp. 1371-1375)을 참조하기 바란다. ISI에 관해 알려진 ML 알고리즘들(이들은 본 발명의 기술 분야에서 숙련된 기술을 가진 자에 의해 셀 간 크로스 커플링 추정 및 정정을 위해 쉽게 개조될 수 있는 알고리즘들임)에는 다음과 같은 것이 있다.
RSSE 알고리즘(Nigel C. McGinty 및 Rodney A. Kennedy, Reduced-state sequence estimator with reverse-time structure, IEEE Trans . Commun . vol. 45 no. 3 (1997) pp. 265-268).
DDFSE 알고리즘(Alexanra Duel-Hallen 및 Chris Heegard, Delayed decision-feedback sequence estimation, IEEE Trans. Commun. vol. 37 no. 5 (1989) pp. 428-436).
DFE 알고리즘(Mikael Sternad 외, Robust decision feedbacl equalizers, IEEE Int . Conf . Acoustics , Speech and Signal Processing (April 27-30, 1993) vol. 3 pp. 555-558).
이러한 ML 알고리즘들은 비선형 알고리즘들임에 유의하라.
이러한 방법들 중 어느 하나가, 플래시 메모리 디바이스의 라이프싸이클에 있는 다음의 단계들 중 어느 하나에서, 디바이스들의 크로스 커플링 계수가 디바이스들 사이에서 시간에 따라 그리고 디바이스들의 사용에 따라 변하는지 여부 혹은 얼마나 빨리 변하는지에 따라, 크로스 커플링 추정을 위해 사용될 수 있다.
1. 설계(Design)
2. 제조(Fabrication)
3. 배후(Background)
4. 동작중(On-the-fly)
만약 크로스 커플링 계수(혹은 더 일반적으로는, 비선형 셀간 크로스 커플링 모델의 파라미터)가 공통 설계의 모든 디바이스들에 대해 동일한 것으로 가정될 수 있다면, 설계 동안, 임의의 실험적 디바이스가 임의의 데이터로 프로그래밍되고, 앞서의 방법들 중 하나가 그 실험적 디바이스의 크로스 커플링 계수들을 결정하기 위해 사용된다. 이러한 크로스 커플링 계수들은 모든 생산 디바이스들에 저장되고, 모든 생산 디바이스들 위해 사용된다.
만약 크로스 커플링 계수들이 공통 설계의 모든 디바이스들에 대해 동일한 것으로 가정될 수는 없지만, 각각의 디바이스의 라이프싸이클 동안 그 변화가 무시가능한 것으로 가정될 수 있다면, 제조 동안, 각각의 디바이스는 임의의 데이터로 프로그래밍되고, 앞서의 방법들 중 하나가 디바이스의 크로스 커플링 계수들을 결정하기 위해 사용된다. 이러한 크로스 커플링 계수들이 디바이스에 저장되고, 디바이스의 라이크싸이클 전체에 걸쳐 사용된다.
디바이스의 전체 라이프싸이클에 대한 크로스 커플링 계수 결정(제조에서 수행됨) 혹은 디바이스 모델에 대한 크로스 커플링 계수 결정(설계에서 수행됨)은 셀들에 저장된 데이터 대한 가정을 하지 않는다는 것에 유의해야 하며, 예를 들어 임계 전압 을 가지는 것으로 결정된 셀은 대응하는 임계 전압 범위의 데이터를 저장하는 것으로 프로그래밍 된 것임에 유의해야 한다. 전체 라이프싸이클 결정에 대해 사용된 임의 데이터는 선험적으로 알려져 있다.
만약 크로스 커플링 계수들이 디바이스의 라이프싸이클 동안 느리게 변한다면, 그리고 디바이스가 견뎌내는 프로그래밍-소거 싸이클의 횟수에 비해 느리게 변한다면, 앞서의 방법들 중 어느 하나가 일괄 모드에서 사용되어, 디바이스의 각각의 블럭에 대해 배후에서 디바이스의 크로스 커플링 계수들을 결정한다.
만약 크로스 커플링 계수들이 배후 크로스 커플링 추정에 대해 너무 빠르게 변하여 신뢰가능하지 않다면, 워드 라인이 판독될 때마다 동화와 함께 크로스 커플링 추정이 수행된다. 타겟 워드 라인이 판독될 때, 이웃 셀들을 포함하는 워드 라인들 모두(전형적으로는 단지 하나의 다른 워드 라인)가 또한 판독돼야만 함에 유의해야 한다.
종래 기술의 플래시 메모리 디바이스를 제시하는 것에 추가하여, 도 2a는 하드웨어로 등화가 수행되는 본 발명의 플래시 메모리 디바이스를 또한 제시한다. 크로스 커플링 추정이 언제 수행될지에 대한 처음 세 가지 옵션(설계, 제조, 배후) 하에서, 제어기(20)는 크로스 커플링 계수들(이것은 데이터 입력/출력 회로들(6)이 컬럼 제어 회로들(2)에 의해 판독된 임계 전압들에 적용하는 것임)의 테이블을 포함한다. 크로스 커플링 추정이 언제 수행될지에 대한 네 번째 옵션(동작중) 하에서, 데이터 입력/출력 회로들(6)은 또한 선택된 임계 전압들을 판독되는 대로 제어기(20)에 전송하도록 구성된다. 제어기(20)는 그 다음에, 앞서 설명된 방법들 중 하나를 사용하여 관련 크로스 커플링 계수들을 계산하고, 계산된 크로스 커플링 계수들을 다시 데이터 입력/출력 회로들(6)에 전송하여, 판독되는 임계 전압에 적용되도록 한다. 크로스 커플링 계수들의 데이블을 더 컴팩트하게 만들기 위해, 동일한 크로스 커플링 계수들이, 워드 라인의 타겟 셀들 모두에 대해, 또는 블럭의 타겟 셀들 모두에 대해, 또는 블록의 짝수 번호 워드 라인들 모두의 타겟 셀들 모두 대 블럭의 홀수 번호 워드 라인들 모두의 타겟 셀들 모두에 대해(왜냐하면, 짝수 번호 워드 라인들의 계수들이 홀수 번호 워드 라인들의 계수들과 다를 수 있기 때문), 또는 블럭의 짝수 번호 비트 라인들 모두의 타겟 셀들 모두 대 블럭의 홀수 번호 비트 라인들 모두의 타겟 셀들 모두에 대해(왜냐하면, 짝수 번호 비트 라인들의 계수들이 홀수 번호 비트 라인들의 계수들과 다를 수 있기 때문), 또는 타겟 셀들의 각각의 이웃 셀들에 대한 수 개의 워드 라인들 혹은 수 개의 블럭들 내에서의 대응하는 위치들에서의 타겟 셀들 모두에 대해 사용될 수 있음에 유의해야 한다.
종래 기술의 플래시 메모리 디바이스를 제시하는 것에 추가하여, 도 2b는 제어기(27)에서 펌웨어 혹은 소프트웨어로 등화가 수행되는 본 발명의 플래시 메모리 디바이스를 또한 제시한다. 제어기(27)는 크로스 커플링 계수들(이것은 제어기(27)가 비트 라인 유닛(13)으로부터 수신된 임계 전압 측정치들에 적용하는 것임)의 테이블을 포함한다. 크로스 커플링 추정이 언제 수행될지에 대한 처음 두 가지 옵션(설계, 제조) 하에서, 테이블은 디바이스의 라이프싸이클 동안 고정된다. 크로스 커플링 추정이 언제 수행될지에 대한 그 다음 두 가지 옵션(배후, 동작중) 하에서, 제어기(27)는, 비트 라인 유닛(13)으로부터 수신된 임계 전압 측정치들로부터 크로스 커플링 계수들을 계산하기 위해, 앞서 설명된 방법들 중 하나를 사용한다. 도 2a의 디바이스의 경우에서와 같이, 크로스 커플링 계수들의 테이블을 더 컴팩트하게 만들기 위해, 동일한 크로스 커플링 계수들이, 워드 라인의 타겟 셀들 모두에 대해, 또는 블럭의 타겟 셀들 모두에 대해, 또는 블록의 짝수 번호 워드 라인들 모두의 타겟 셀들 모두 대 블럭의 홀수 번호 워드 라인들 모두의 타겟 셀들 모두에 대해(왜냐하면, 짝수 번호 워드 라인들의 계수들이 홀수 번호 워드 라인들의 계수들과 다를 수 있기 때문), 또는 블럭의 짝수 번호 비트 라인들 모두의 타겟 셀들 모두 대 블럭의 홀수 번호 비트 라인들 모두의 타겟 셀들 모두에 대해(왜냐하면, 짝수 번호 비트 라인들의 계수들이 홀수 번호 비트 라인들의 계수들과 다를 수 있기 때문), 또는 타겟 셀들의 각각의 이웃 셀들에 대한 수 개의 워드 라인들 혹은 수 개의 블럭들 내에서의 대응하는 위치들에서의 타겟 셀들 모두에 대해 사용될 수 있다.
도 5는 본 발명의 시스템(50)의 고레벨 블럭도이다. 시스템(50)은 프로세서(52)와, 4개의 메모리 디바이스, 즉 RAM(54), 부트 ROM(boot ROM)(56), 대용량 저장 디바이스(하드 디스크)(58), 및 플래시 메모리 디바이스(62)로서 도 2b의 플래시 메모리 디아비스를 포함하고, 이들 모두는 공통 버스(64)를 통해 통신한다. 시스템(50)에서, 플래시 메모리 디바이스(62)의 제어기(27)는 단지 버스(64)에 대한 인터페이스로서 그 기능을 수행하고, 앞서 설명된 바와 같이 도 2b의 플래시 제어기(27)의 기능의 나머지는 대용량 저장 디바이스(58)에 저장된 플래시 메모리 드라이버 코드(60)에 의해 에뮬레이트(emulate)되며, 상기 드라이버 코드(60)는 프로세서(520)에 의해 실행되어 프로세서(52)에 의해 실행된 사용자 애플리케이션들과 플래시 메모리 디바이스(62) 간의 인터페이스를 수행하며 플래시 메모리 디바이스(62)의 플래시 메모리를 관리한다. 이러한 플래시 관리 드리이버 코드의 종래 기능에 추가하여, 드라이버 코드(60)는, 본 발명의 방법들을 구현함에 있어 도 2b의 제어기(27)의 기능을 에뮬레이트한다. 구체적으로, 크로스 커플링 추정이 언제 수행될지에 대한 처음 세 가지 옵션(설계, 제조, 배후) 하에서, 대용량 저장 디바이스(58)에는 또한 플래시 메모리 디바이스(62)에 대한 크로스 커플링 계수들의 테이블(66)이 저장된다. 크로스 커플링 추정이 언제 수행될지에 대한 처음 두 가지 옵션(설계, 제조) 하에서, 이 테이블은 플래시 메모리 디바이스(62)와 함께 제공되고, 드라이버 코드(60) 실행시 프로세서(52)에 의해 사용되어, 셀 간 크로스 커플링에 대해, 플래시 메모리 디바이스(62)로부터 수신된 임계 전압 측정치들을 정정한다. 크로스 커플링 추정이 언제 수행될지에 대한 세 번째 옵션 하에서, 프로세서(52)는 적절한 드라이버 코드(60)를 실행하여, 플래시 메모리 디바이스(62)로부터 수신된 임계 전압 측정치들에 근거하여, 배후에서 크로스 커플링 계수들을 계산하고, 테이블(66)에 이러한 크로스 커플링 계수들을 저장하고, 그리고 이러한 크로스 커플링 계수들을 사용하여 셀 간 크로스 커플링에 대해 플래시 메모리 디바이스(62)로부터 판독된 임계 전압 측정치들을 정정한다. 크로스 커플링 추정이 언제 수행될지에 대한 네 번째 옵션 하에서, 프로세서(52)가 플래시 메모리(62)로부터 임계 전압 측정치들을 수신할 때마다, 프로세서(52)는 적절한 드라이버 코드(60)를 실행하여 크로스 커플링 계수들을 계산하고, RAM(54) 내의 테이블(68)에 이러한 크로스 커플링 계수들을 저장하고, 그리고 이러한 크로스 커플링 계수들을 사용하여 셀 간 크로스 커플링에 대해 임계 전압 측정치들을 정정한다. 드라이버 코드(60)는 전형적으로 시스템(50)을 위한 운영 체제 코드에 포함되지만, 독립 코드(freestanding code)일 수도 있다.
플래시 메모리 디바이스(62) 외의 시스템(50)의 컴포넌트들이 플래시 메모리 디바이스(62)의 호스트(70)를 구성한다. 대용량 저장 디바이스(58)는 본 발명을 구현하기 위한 컴퓨터 판독가능 드라이버 코드가 수록된 컴퓨터 판독가능 저장 매체의 일 예이다. 이러한 컴퓨터 판독가능 저장 매체의 다른 예로는 이러한 코드가 수록된 CD와 같은 판독 전용 메모리가 있다.
본 발명이 비록 제한된 개수의 실시예들을 참조하여 설명되었지만, 본 발명의 다양한 변경, 수정 및 다른 응용이 가능함을 이해해야 한다.
Claims (22)
- 데이터를 저장 및 판독하는 방법으로서,
(a) 복수의 셀들(151-159)을 포함하는 메모리(1; 11; 62)를 제공하는 단계와, 여기서 상기 셀들(151-159)에는 데이터가 저장되고, 상기 저장은 상기 데이터를 나타내도록 상기 셀들(151-159)의 물리적 성질의 각각의 값들을 설정함으로써 수행되고, 그리고 상기 각각의 값들의 각각의 측정치들을 획득하기 위해 상기 각각의 값들을 측정함으로써 상기 셀들(151-159)이 후속적으로 판독되며;
(b) 상기 셀들 중 하나의 셀(151)과 그리고 상기 하나의 셀(151)의 적어도 하나의 이웃 셀(152-159)을 판독하여, 상기 하나의 셀(151) 및 각각의 상기 이웃 셀(152-159)에 대한 상기 각각의 측정치들을 획득하는 단계와;
(c) 각각의 상기 이웃 셀(152-159)이 상기 하나의 셀(151)의 판독을 교란시키는 각각의 정도를 결정하는 단계와, 여기서 상기 결정하는 단계는 상기 교란의 선형 모델(linear model) 또는 비선형 모델(nonlinear model)에 근거하며; 그리고
(d) 각각의 상기 이웃 셀(152-159)이 상기 하나의 셀(151)의 판독을 교란시키는 상기 결정된 각각의 정도 및 상기 각각의 측정치들에 근거하여, 상기 하나의 셀(151)에 저장되었던 각각의 상기 데이터를 추정하는 단계를 포함하여 구성되며,
상기 추정하는 단계는 상기 각각의 측정치들의 재설정(re-setting)을 포함하지 않는 계산(computation)인 것을 특징으로 하는 데이터 저장 및 판독 방법. - 제1항에 있어서,
상기 셀들(151-159)은 플래시 셀들(flash cells)(151-159)이고, 그리고
상기 물리적 성질은 상기 플래시 셀들(151-159)의 임계 전압인 것을 특징으로 하는 데이터 저장 및 판독 방법. - 제1항에 있어서,
상기 결정하는 단계는,
상기 추정하는 단계와 별개로 수행되거나;
상기 추정하는 단계와 함께 반복적으로 수행되거나; 또는
상기 하나의 셀(151)의 판독 및 각각의 상기 이웃 셀(152-159)의 판독에 의해 획득된 상기 각각의 측정치들에 근거하는 것을 특징으로 하는 데이터 저장 및 판독 방법. - 제1항에 있어서,
(e) 상기 하나의 셀 및 상기 적어도 하나의 이웃 셀과는 다른 적어도 하나의 추가적인 셀(152-159)을 판독하여, 적어도 하나의 추가적인 측정치를 획득하는 단계를 더 포함하며,
상기 결정하는 단계는 또한 상기 적어도 하나의 추가적인 측정치에 근거하는 것을 특징으로 하는 데이터 저장 및 판독 방법. - 제4항에 있어서,
상기 메모리(1; 11; 62)는 플래시 메모리이고,
상기 하나의 셀(151) 및 상기 적어도 하나의 추가적인 셀(152-159)은 상기 메모리(1; 11; 62)의 동일 소거 블럭에 있는 것을 특징으로 하는 데이터 저장 및 판독 방법. - 제5항에 있어서,
상기 하나의 셀(151) 및 상기 적어도 하나의 추가적인 셀(152-159)은 상기 메모리(1; 11; 62)의 동일 워드 라인에 있는 것을 특징으로 하는 데이터 저장 및 판독 방법. - 제1항에 있어서,
(e) 상기 하나의 셀(151) 및 각각의 상기 적어도 하나의 이웃 셀(152-159)에 상기 데이터를 저장하는 단계를 더 포함하는 것을 특징으로 하는 데이터 저장 및 판독 방법. - 제7항에 있어서,
상기 결정하는 단계는,
상기 저장하는 단계 이전에 수행되거나;
상기 저장하는 단계 이후에 수행되거나; 또는
상기 하나의 셀(151)이 판독되는 때마다 수행되는 것을 특징으로 하는 데이터 저장 및 판독 방법. - 제1항에 있어서,
상기 추정하는 단계는,
상기 적어도 하나의 이웃 셀(152-159)에 의한 교란에 대해 상기 하나의 셀(151)의 상기 각각의 측정치를 정정하거나; 또는
상기 하나의 셀(151)의 상기 각각의 값의 분포의 파라미터의 적어도 하나의 기대값을 추정하는 것을 포함하는 것을 특징으로 하는 데이터 저장 및 판독 방법. - 메모리 디바이스로서,
(a) 복수의 셀들(151-159)을 포함하는 메모리(1; 11; 62)와;
(b) 상기 셀들(151-159)에 데이터 저장하고 후속적으로 상기 셀들(151-159)을 판독하는 회로(2-8, 20-22; 13, 15, 17, 19, 23, 25, 26a-c, 27, 29, 31, 33, 35, 41, 43, 44)와, 여기서,
(i) 상기 저장은 상기 데이터를 나타내도록 상기 셀들(151-159)의 물리적 성질의 각각의 값들을 설정함으로써 수행되고,
(ii) 상기 판독은 상기 각각의 값들의 각각의 측정치들을 획득하기 위해 상기 각각의 값들을 측정함으로써 수행되며; 그리고
(c) 상기 셀들 중 하나의 셀(151)에 저장되었던 각각의 데이터를, 상기 각각의 측정치들의 재설정 없이, 추정하는 매커니즘(mechanism)을 포함하여 구성되며,
상기 추정은 상기 하나의 셀(151) 및 상기 하나의 셀(151)의 적어도 하나의 이웃 셀(152-159)의 상기 각각의 측정치들에 근거하여, 그리고 또한 각각의 이웃 셀(152-159)이 상기 하나의 셀(151)의 판독을 교란시키는 각각의 정도에 근거하여, 수행되며,
상기 매커니즘은, 각각의 상기 이웃 셀(152-159)이 상기 하나의 셀(151)의 판독을 교란시키는 상기 각각의 정도를, 상기 교란의 선형 모델 또는 비선형 모델에 근거하여, 결정하도록 되어 있는 것을 특징으로 하는 메모리 디바이스. - 제10항에 있어서,
상기 추정하는 매커니즘은 비휘발성 메모리 및 프로세서를 포함하며,
상기 비휘발성 메모리에는 상기 메모리 디바이스를 위한 드라이버 코드(driver code)가 저장되고, 상기 드라이버 코드는, 상기 셀들 중 하나의 셀(151)에 저장되었던 각각의 데이터의 추정을 위한 코드를 포함하며, 상기 추정은 상기 하나의 셀(151) 및 상기 하나의 셀(151)의 적어도 하나의 이웃 셀(152-159)의 상기 각각의 측정치들에 근거하여, 그리고 또한 각각의 이웃 셀(152-159)이 상기 하나의 셀(151)의 판독을 교란시키는 각각의 정도에 근거하여, 수행되며, 그리고
상기 프로세서는 상기 코드를 실행시키는 것을 특징으로 하는 메모리 디바이스. - 제1항 내지 제9항 중 어느 하나의 항에 기재된 방법에 의해 정의된 프로그램 명령들이 수록된 컴퓨터 판독가능 저장 매체.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/860,553 US7751237B2 (en) | 2007-09-25 | 2007-09-25 | Post-facto correction for cross coupling in a flash memory |
US11/860,553 | 2007-09-25 | ||
PCT/IL2008/000855 WO2009040784A1 (en) | 2007-09-25 | 2008-06-23 | Post-facto correction for cross coupling in a flash memory |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100075958A KR20100075958A (ko) | 2010-07-05 |
KR101426063B1 true KR101426063B1 (ko) | 2014-08-01 |
Family
ID=39828999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020107009032A KR101426063B1 (ko) | 2007-09-25 | 2008-06-23 | 플래시 메모리에서의 크로스 커플링에 대한 사후 정정 |
Country Status (6)
Country | Link |
---|---|
US (3) | US7751237B2 (ko) |
EP (1) | EP2201572B1 (ko) |
JP (1) | JP5475665B2 (ko) |
KR (1) | KR101426063B1 (ko) |
TW (1) | TWI463499B (ko) |
WO (1) | WO2009040784A1 (ko) |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090097673A (ko) * | 2008-03-12 | 2009-09-16 | 삼성전자주식회사 | 연판정 값에 기반하여 메모리에 저장된 데이터를 검출하는장치 |
US8185787B1 (en) * | 2008-04-09 | 2012-05-22 | Link—A—Media Devices Corporation | Blind and decision directed multi-level channel estimation |
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 |
US8406048B2 (en) | 2008-08-08 | 2013-03-26 | Marvell World Trade Ltd. | Accessing memory using fractional reference voltages |
TW201019327A (en) * | 2008-09-30 | 2010-05-16 | Lsi Corp | Methods and apparatus for soft data generation for memory devices using reference cells |
KR101484556B1 (ko) * | 2008-10-28 | 2015-01-20 | 삼성전자주식회사 | 독출 보상 회로 |
US7995387B2 (en) * | 2009-01-30 | 2011-08-09 | Sandisk Il Ltd. | System and method to read data subject to a disturb condition |
US8374026B2 (en) * | 2009-01-30 | 2013-02-12 | Sandisk Il Ltd. | System and method of reading data using a reliability measure |
TWI412036B (zh) * | 2009-07-22 | 2013-10-11 | Silicon Motion Inc | 資料讀取的方法及資料儲存裝置 |
KR101678909B1 (ko) * | 2009-09-17 | 2016-11-23 | 삼성전자주식회사 | 플래시 메모리 시스템 및 그것의 소거 리프레쉬 방법 |
US7990767B2 (en) * | 2009-12-30 | 2011-08-02 | Sandisk Il Ltd. | Flash memory system having cross-coupling compensation during read operation |
US8213255B2 (en) | 2010-02-19 | 2012-07-03 | Sandisk Technologies Inc. | Non-volatile storage with temperature compensation based on neighbor state information |
KR101658619B1 (ko) * | 2010-04-27 | 2016-09-23 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치의 소거 방법 |
TWI455132B (zh) * | 2010-06-23 | 2014-10-01 | Phison Electronics Corp | 資料讀取方法、控制電路與記憶體控制器 |
US8531888B2 (en) | 2010-07-07 | 2013-09-10 | Marvell World Trade Ltd. | Determining optimal reference voltages for progressive reads in flash memory systems |
US8627175B2 (en) | 2010-09-27 | 2014-01-07 | Seagate Technology Llc | Opportunistic decoding in memory systems |
US8243511B2 (en) | 2010-09-27 | 2012-08-14 | Seagate Technology Llc | Reuse of information from memory read operations |
US8879317B2 (en) | 2011-03-01 | 2014-11-04 | Sandisk Technologies Inc. | System and method of decoding data from memory based on sensing information and decoded data of neighboring storage elements |
US9076547B2 (en) | 2012-04-05 | 2015-07-07 | Micron Technology, Inc. | Level compensation in multilevel memory |
US9030870B2 (en) | 2011-08-26 | 2015-05-12 | Micron Technology, Inc. | Threshold voltage compensation in a multilevel memory |
KR101919902B1 (ko) | 2011-10-18 | 2018-11-20 | 삼성전자 주식회사 | 메모리 장치의 데이터 독출 방법 |
US8760932B2 (en) | 2011-10-18 | 2014-06-24 | Seagate Technology Llc | Determination of memory read reference and programming voltages |
US8711619B2 (en) | 2011-10-18 | 2014-04-29 | Seagate Technology Llc | Categorizing bit errors of solid-state, non-volatile memory |
US8737133B2 (en) | 2011-10-18 | 2014-05-27 | Seagate Technology Llc | Shifting cell voltage based on grouping of solid-state, non-volatile memory cells |
US8693257B2 (en) | 2011-10-18 | 2014-04-08 | Seagate Technology Llc | Determining optimal read reference and programming voltages for non-volatile memory using mutual information |
US8913437B2 (en) * | 2011-12-15 | 2014-12-16 | Marvell World Trade Ltd. | Inter-cell interference cancellation |
US8811076B2 (en) | 2012-07-30 | 2014-08-19 | Sandisk Technologies Inc. | Systems and methods of updating read voltages |
US8874992B2 (en) * | 2012-08-31 | 2014-10-28 | Sandisk Technologies Inc. | Systems and methods to initiate updating of reference voltages |
WO2014113726A1 (en) * | 2013-01-17 | 2014-07-24 | University Of Hawaii | Estimation of memory data |
KR102089532B1 (ko) | 2013-02-06 | 2020-03-16 | 삼성전자주식회사 | 메모리 컨트롤러, 메모리 시스템 및 메모리 시스템의 동작 방법 |
US9129711B2 (en) | 2013-02-28 | 2015-09-08 | Kabushiki Kaisha Toshiba | Semiconductor memory device |
US9135109B2 (en) | 2013-03-11 | 2015-09-15 | Seagate Technology Llc | Determination of optimum threshold voltage to read data values in memory cells |
US9147490B2 (en) | 2013-03-15 | 2015-09-29 | Sandisk Technologies Inc. | System and method of determining reading voltages of a data storage device |
KR102114230B1 (ko) * | 2013-10-07 | 2020-05-25 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이의 동작 방법 |
US9859925B2 (en) | 2013-12-13 | 2018-01-02 | Empire Technology Development Llc | Low-complexity flash memory data-encoding techniques using simplified belief propagation |
US9934867B2 (en) | 2014-01-06 | 2018-04-03 | Seagate Technology Llc | Capacitance coupling parameter estimation in flash memories |
KR102190241B1 (ko) | 2014-07-31 | 2020-12-14 | 삼성전자주식회사 | 메모리 컨트롤러의 동작 방법 및 불휘발성 메모리 시스템 |
KR102318561B1 (ko) | 2014-08-19 | 2021-11-01 | 삼성전자주식회사 | 스토리지 장치, 스토리지 장치의 동작 방법 |
US9406377B2 (en) | 2014-12-08 | 2016-08-02 | Sandisk Technologies Llc | Rewritable multibit non-volatile memory with soft decode optimization |
US10204043B2 (en) | 2016-03-08 | 2019-02-12 | Toshiba Memory Corporation | Memory controller, method of controlling nonvolatile memory and memory system |
US9761308B1 (en) | 2016-03-11 | 2017-09-12 | Western Digital Technologies, Inc. | Systems and methods for adaptive read level adjustment |
WO2020170041A1 (en) * | 2019-02-20 | 2020-08-27 | Marvell Asia Pte, Ltd. | Decoding of high-density memory cells in a solid-state drive |
US11557350B2 (en) * | 2020-10-16 | 2023-01-17 | Western Digital Technologies, Inc. | Dynamic read threshold calibration |
US11393540B2 (en) | 2020-10-26 | 2022-07-19 | Western Digital Technologies, Inc. | Adjacent memory cell interference mitigation |
US11342033B1 (en) | 2020-12-28 | 2022-05-24 | Sandisk Technologies Llc | Look neighbor ahead for data recovery |
US11854631B2 (en) | 2021-08-19 | 2023-12-26 | Kioxia Corporation | System and method for dynamic compensation for multiple interference sources in non-volatile memory storage devices |
US11513887B1 (en) | 2021-08-23 | 2022-11-29 | Apple Inc. | Cancelation of cross-coupling interference among memory cells |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
WO2004112040A2 (en) * | 2003-06-17 | 2004-12-23 | M-Systems Flash Disk Pioneers Ltd. | Methods of increasing the reliability of a flash memory |
US20060028875A1 (en) | 2004-07-26 | 2006-02-09 | M-Systems Flash Disk Pioneers, Ltd. | Drift compensation in a flash memory |
WO2007049272A2 (en) * | 2005-10-25 | 2007-05-03 | Sandisk Il Ltd. | A method for recovering from errors in flash memory |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5268870A (en) | 1988-06-08 | 1993-12-07 | Eliyahou Harari | Flash EEPROM system and intelligent programming and erasing methods therefor |
US6295326B1 (en) | 1999-03-08 | 2001-09-25 | Bandspeed, Inc. | Kalman filter based equalization for digital multicarrier communications systems |
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 |
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 |
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 |
US6829167B2 (en) | 2002-12-12 | 2004-12-07 | Sandisk Corporation | Error recovery for nonvolatile memory |
US7012835B2 (en) | 2003-10-03 | 2006-03-14 | Sandisk Corporation | Flash memory data correction and scrub techniques |
US7221008B2 (en) | 2003-10-06 | 2007-05-22 | Sandisk Corporation | Bitline direction shielding to avoid cross coupling between adjacent cells for NAND flash memory |
US7348618B2 (en) | 2005-03-30 | 2008-03-25 | Intel Corporation | Flash memory cell having reduced floating gate to floating gate coupling |
US7196946B2 (en) | 2005-04-05 | 2007-03-27 | Sandisk Corporation | Compensating for coupling in non-volatile storage |
US7349258B2 (en) * | 2005-12-06 | 2008-03-25 | Sandisk Corporation | Reducing read disturb for non-volatile storage |
US7262994B2 (en) * | 2005-12-06 | 2007-08-28 | Sandisk Corporation | System for reducing read disturb for non-volatile storage |
CN103258572B (zh) | 2006-05-12 | 2016-12-07 | 苹果公司 | 存储设备中的失真估计和消除 |
WO2008026203A2 (en) | 2006-08-27 | 2008-03-06 | Anobit Technologies | Estimation of non-linear distortion in memory devices |
US7423912B2 (en) * | 2006-09-19 | 2008-09-09 | Atmel Corporation | SONOS memory array with improved read disturb characteristic |
ITRM20070273A1 (it) * | 2007-05-16 | 2008-11-17 | Micron Technology Inc | Lettura di celle di memoria non volatile a livello mutiplo. |
KR100877103B1 (ko) * | 2007-06-01 | 2009-01-07 | 주식회사 하이닉스반도체 | 리드 디스터브가 억제되도록 하는 플래시 메모리소자의리드 방법 |
US8374026B2 (en) * | 2009-01-30 | 2013-02-12 | Sandisk Il Ltd. | System and method of reading data using a reliability measure |
US8213255B2 (en) * | 2010-02-19 | 2012-07-03 | Sandisk Technologies Inc. | Non-volatile storage with temperature compensation based on neighbor state information |
-
2007
- 2007-09-25 US US11/860,553 patent/US7751237B2/en active Active
-
2008
- 2008-06-23 EP EP08763613.0A patent/EP2201572B1/en not_active Not-in-force
- 2008-06-23 KR KR1020107009032A patent/KR101426063B1/ko active IP Right Grant
- 2008-06-23 JP JP2010526419A patent/JP5475665B2/ja active Active
- 2008-06-23 WO PCT/IL2008/000855 patent/WO2009040784A1/en active Application Filing
- 2008-06-26 TW TW097123968A patent/TWI463499B/zh not_active IP Right Cessation
-
2010
- 2010-02-03 US US12/699,747 patent/US7990764B2/en active Active
-
2011
- 2011-07-14 US US13/183,341 patent/US8508989B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
WO2004112040A2 (en) * | 2003-06-17 | 2004-12-23 | M-Systems Flash Disk Pioneers Ltd. | Methods of increasing the reliability of a flash memory |
US20060028875A1 (en) | 2004-07-26 | 2006-02-09 | M-Systems Flash Disk Pioneers, Ltd. | Drift compensation in a flash memory |
WO2007049272A2 (en) * | 2005-10-25 | 2007-05-03 | Sandisk Il Ltd. | A method for recovering from errors in flash memory |
Also Published As
Publication number | Publication date |
---|---|
WO2009040784A1 (en) | 2009-04-02 |
TWI463499B (zh) | 2014-12-01 |
US8508989B2 (en) | 2013-08-13 |
US20090080259A1 (en) | 2009-03-26 |
US7990764B2 (en) | 2011-08-02 |
EP2201572B1 (en) | 2017-01-25 |
EP2201572A1 (en) | 2010-06-30 |
US20100135074A1 (en) | 2010-06-03 |
JP2010541119A (ja) | 2010-12-24 |
KR20100075958A (ko) | 2010-07-05 |
JP5475665B2 (ja) | 2014-04-16 |
TW200921684A (en) | 2009-05-16 |
US20110305080A1 (en) | 2011-12-15 |
US7751237B2 (en) | 2010-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101426063B1 (ko) | 플래시 메모리에서의 크로스 커플링에 대한 사후 정정 | |
KR101058568B1 (ko) | 메모리 셀에 대한 적응적 판독 및 기입 시스템과 방법 | |
US7814401B2 (en) | Soft decoding of hard and soft bits read from a flash memory | |
US9318223B2 (en) | Programming nonvolatile memory based on statistical analysis of charge level distributions of memory cells | |
US8363501B1 (en) | Method and apparatus for calibrating a read/write channel in a memory arrangement | |
US20150262660A1 (en) | Asymmetric log-likelihood ratio for flash channel | |
US20130227200A1 (en) | Determining bias information for offsetting operating variations in memory cells based on wordline address | |
KR20100021999A (ko) | 플래시 메모리의 적응형 동적 판독 | |
KR20110061649A (ko) | 소프트 데이터 값 생성 방법 | |
TW201203273A (en) | Non-volatile storage with temperature compensation based on neighbor state information | |
US8391076B2 (en) | Nonvolatile memory device using interleaving technology and programming method thereof | |
TW200905692A (en) | Non-volatile memory system with soft bit data transmission for error correction control and method of reading the same | |
KR20140096796A (ko) | 멀티레벨 불휘발성 메모리 장치 및 프로그램 방법 | |
US9053804B2 (en) | Reduced complexity reliability computations for flash memories | |
US20210073061A1 (en) | Data-structure based dynamic program targeting control | |
US11295819B2 (en) | Dual sense bin balancing in NAND flash | |
KR101437103B1 (ko) | 메모리 장치 및 메모리 데이터 읽기 방법 | |
Papandreou et al. | Enhancing the reliability of MLC NAND flash memory systems by read channel optimization | |
US11309020B2 (en) | Dragging first pass read level thresholds based on changes in second pass read level thresholds | |
Motwani | Estimation of flash memory level distributions using interpolation techniques for optimizing the read reference | |
TWI451418B (zh) | 程式化一多階記憶體的裝置與方法 | |
KR101492857B1 (ko) | 메모리 장치 및 메모리 프로그래밍 방법 | |
KR20110082016A (ko) | 소프트 데이터 값 생성 방법 및 소프트 데이터 값 생성 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20170704 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180628 Year of fee payment: 5 |