KR101755072B1 - 비균일한 수법들로 소프트 비트들을 판독하는 비휘발성 메모리 및 방법들 - Google Patents

비균일한 수법들로 소프트 비트들을 판독하는 비휘발성 메모리 및 방법들 Download PDF

Info

Publication number
KR101755072B1
KR101755072B1 KR1020137019344A KR20137019344A KR101755072B1 KR 101755072 B1 KR101755072 B1 KR 101755072B1 KR 1020137019344 A KR1020137019344 A KR 1020137019344A KR 20137019344 A KR20137019344 A KR 20137019344A KR 101755072 B1 KR101755072 B1 KR 101755072B1
Authority
KR
South Korea
Prior art keywords
cell
thresholds
read
bits
bit
Prior art date
Application number
KR1020137019344A
Other languages
English (en)
Other versions
KR20140012632A (ko
Inventor
이단 알로드
에란 샤론
토루 미와
게리트 장 헤민크
이 리 코
Original Assignee
샌디스크 테크놀로지스 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 샌디스크 테크놀로지스 엘엘씨 filed Critical 샌디스크 테크놀로지스 엘엘씨
Publication of KR20140012632A publication Critical patent/KR20140012632A/ko
Application granted granted Critical
Publication of KR101755072B1 publication Critical patent/KR101755072B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1072Adding 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation

Abstract

비휘발성 메모리는 임계 윈도우에 걸쳐 있는 제 1 세트의 대조 임계들에 의해 분할된 제 1 세트의 전압 대역들 중 어느 하나 내에 프로그램된 셀들의 임계들을 갖는다. 셀들은 오류 정정을 위한 추가의 소프트 비트들을 제공하기 위해서 제 2 세트의 대조 임계들에 관하여 더 많은 분해로 판독된다. 지정된 영역들에서 더 많은 분해를 제공하기 위해서 제 2 세트의 대조 임계들은 임계 윈도우 상에 비균일하게 분포되게 마련된다. 동시에 이들은 간단한 알고리즘 및 판독 회로와 최소의 데이터 래치들을 사용하여 계통적으로 비트별로 소프트 비트들이 판독되게 그룹들로 판독되게 도통된다. 이것은 제 1 세트의 대조 임계가 제 2 세트의 서브세트이어야 하고 결과적인 소프트 비트들이 하드 비트들에 관하여 대칭으로 분포되어야 하는 요건을 완화시킴으로써 달성된다.

Description

비균일한 수법들로 소프트 비트들을 판독하는 비휘발성 메모리 및 방법들{NON-VOLATILE MEMORY AND METHODS WITH READING SOFT BITS IN NON UNIFORM SCHEMES}
본 발명은 플래시 메모리들과 같은 비휘발성 메모리들에 데이터의 저장에 관한 것으로, 특히 하드 및 소프트 비트들을 판독하기 위한 임계 레벨들의 최적화된 배치를 사용하여 판독하는 메모리 및 방법들에 관한 것이다.
전하를 비휘발성으로 저장할 수 있는, 특히 소형 폼 팩터 카드로서 패키지되는 EEPROM 및 플래시 EEPROM 형태의 고체상태 메모리는 최근에 다양한 모바일 및 휴대 장치들, 특히 정보기기 및 소비자 전자제품들에서 선택되는 저장장치가 되었다. 고체상태 메모리이기도 한 RAM(random access memory)과는 달리, 플래시 메모리는 비휘발성이고 전원이 턴 오프 된 뒤에도 자신의 저장된 데이터를 보존한다. 더 높은 비용에도 불구하고, 플래시 메모리는 점점 더 대량 저장응용들에서 사용되고 있다. 하드드라이브들 및 플로피 디스크들과 같은 회전하는 자기 매체에 기초한 종래의 대량 저장장치는 모바일 및 휴대 환경엔 적합하지 않다. 이것은 디스크 드라이브들이 부피가 커지기 쉽고, 기계적 고장이 나기 쉬우며 큰 레이턴시 및 큰 전력요건을 갖기 때문이다. 이들 바람직하지 못한 속성들로 인해서 디스크 기반의 저장장치는 대부분의 모바일 및 휴대 응용들에서 실현되지 못한다. 반면, 내장형이면서도 착탈가능한 카드 형태인 플래시 메모리는 이의 소형 크기, 저 전력 소비, 고속 및 고 신뢰도 특징으로 인해 모바일 및 휴대 환경에서 이상적으로 적합하다.
플래시 메모리는 전형적으로 EEPROM(Electrically Erasable and Programmable Read-Only Memory)으로 구성된다. 소거되어 새로운 데이터를 이들의 메모리 셀들에 기입 또는 "프로그램"시킬 수 있는 것은 비휘발성 메모리이다. 각 메모리 셀은, 전계효과 트랜지스터 구조에서, 소스영역과 드레인 영역 사이에 있는 반도체 기판 내 채널영역 위에 배치된 플로팅(연결되지 않은) 도전성 게이트에 의해 형성된다. 이때 제어 게이트는 플로팅 게이트 위에 설치된다. 트랜지스터의 임계전압 특징은 플로팅 게이트 상에 보존되는 전하량에 의해 제어된다. 즉, 플로팅 게이트 상에 주어진 레벨의 전하에 대해서, 소스영역과 드레인 영역 간에 도통이 되게 트랜지스터가 턴 "온"이 되기 전에 제어 게이트에 인가되어야 하는 대응하는 전압(임계)이 존재한다.
플로팅 게이트는 일 범위의 전하들을 보존할 수 있고 따라서 임계 전압 윈도우 내의 임의의 임계 전압 레벨까지 프로그램될 수 있다. 임계 전압 윈도우의 크기는 장치의 최소 및 최대 임계 레벨들에 의해 그 범위가 정해지고, 이는 플로팅 게이트에 프로그램될 수 있는 일 범위의 전하들에 대응한다. 임계 윈도우는 일반적으로 메모리 장치의 특징들, 동작조건들 및 이력에 따른다. 윈도우 내의 각각의 서로 구별되고 분해가능한(resolvable) 임계전압 레벨의 범위 또는 전압 대역들은 원리적으로는 셀의 명확한 메모리 상태를 지정하기 위해 사용될 수 있다. 일반적으로, 임계 윈도우가 2m -1 구분의 대조 임계 전압들에 의해 2m 전압 대역들로 분할될 때, 셀은 m 비트들까지의 데이터를 저장할 수 있다. 예를 들면, 임계전압이 2개의 서로 구별되는 전압 대역들로 분할될 때, 각 메모리 셀은 한 비트의 데이터를 저장할 수 있을 것이다. 유사하게, 임계 전압 윈도우가 2 이상의 서로 구별되는 전압 대역들로 분할될 때, 각 메모리 셀은 1 비트 이상의 데이터를 저장할 수 있을 것이다.
메모리 장치는 많은 메커니즘들에 의해 소거될 수 있다. EEPROM에 있어서, 메모리 셀은 플로팅 게이트 내 전자들을 얇은 산화막을 통과하여 기판 채널 영역으로 터널링되게 하기 위해서(즉, 파울러-노다임 터널링) 제어 게이트에 관하여 기판에 하이 전압을 인가함으로써 전기적으로 소거될 수 있다. 전형적으로, EEPROM은 바이트씩 소거될 수 있다. 플래시 EEPROM에 있어서, 메모리는 한번에 전부 혹은 한번에 하나 이상의 블록들이 전기적으로 소거될 수 있는데, 여기서 한 블록은 512 바이트 또는 그 이상의 메모리로 구성될 수 있다.
메모리 용량을 증가시키기 위해서, 플래시 메모리 장치들은 반도체 기술 상태가 진보함에 따라 점점 더 고 밀도로 제조되고 있다. 저장용량을 증가시키는 또 다른 방법은 각 메모리 셀에 2 이상의 상태들을 저장하는 것이다.
원래, 플래시 메모리들은 셀당 단지 한 비트만을 저장하였다. 셀당 2 비트들을 저장하는 플래시 메모리들이 이제 상업적으로 가용하고, 셀당 2 이상의 비트들을 저장하는 플래시 메모리들이 개발되고 있다. 셀당 1 비트를 저장하는 플래시 메모리들을 "단일 레벨 셀"(SLC) 메모리들이라고 한다. 셀당 1 이상의 비트를 저장하는 플래시 메모리들을 "복수-상태" 또는 "복수 레벨 셀"(MLC) 메모리들이라고 한다.
메모리 셀로서 작용하는 트랜지스터는 전형적으로 두 가지 메커니즘들 중 한 메커니즘에 의해 "프로그램된" 상태로 프로그램된다. "핫 전자 주입"에서, 드레인에 인가되는 하이(high) 전압은 기판 채널 영역을 지나는 전자들을 가속시킨다. 이와 동시에, 제어 게이트에 인가되는 하이 전압은 핫 전자들을 얇은 게이트 유전체를 거쳐 플로팅 게이트로 가게 한다. "터널링 주입"에서는 하이 전압이 기판에 관하여 제어 게이트에 인가된다. 이렇게 하여, 기판으로부터 전자들이 개재된 플로팅 게이트로 가게 된다.
메모리 장치는 전형적으로, 카드 상에 실장될 수 있는 하나 혹은 그 이상의 메모리 칩들을 포함한다. 각 메모리 칩은 디코더들 및 소거, 기입 판독 회로들과 같은 주변회로들에 의해 지원되는 메모리 셀들의 어레이를 포함한다. 보다 정교한 메모리 장치들은 지능형의 고 레벨의 메모리 동작들 및 인터페이싱을 수행하는 외부 메모리 제어기로 동작한다.
최근에 사용되는 많은 상업적으로 성공한 비휘발성 고체상태 메모리 장치들이 있다. 이들 메모리 장치들은 플래시 EEPROM일 수도 있으며 혹은 다른 유형들의 비휘발성 메모리 셀들을 채용할 수도 있다. 플래시 메모리와 시스템들 및 이들을 제조하는 방법들의 예들은 미국특허 5,070,032, 5,095,344, 5,315,541, 5,343,063, 및 5,661,053, 5,313,421 및 6,222,762에 주어져 있다. 특히, NAND 스트링 구조들을 가진 플래시 메모리 장치들은 미국특허 5,570,315, 5,903,495, 6,046,935에 기술되어 있다. 또한, 플래시 메모리 장치들은 전하를 저장하기 위한 유전층을 구비한 메모리 셀들로부터도 제조된다. 앞서 기술된 도전성 플로팅 게이트 요소들 대신에, 유전층이 사용된다. 유전성 저장요소를 이용하는 이러한 메모리 장치들은 Eitan 등의 "NROM: A Novel Localized Trapping, 2-bit Nonvolatile Memory Cell" IEEE Electron Device Letters, vol. 21, no. 11, November 2000, pp. 543 ~ 545에 기술되어 있다. ONO 유전층은 소스 확산영역과 드레인 확산영역 사이의 채널을 가로질러 확장하여 있다. 한 데이터 비트용의 전하는 드레인에 인접한 유전층에 모이고 다른 데이터 비트용의 전하는 소스에 인접한 유전층에 모인다. 예를 들면, 미국특허 5,768,192 및 6,011,725는 두 개의 이산화실리콘층들 사이에 개재된 트랩 유전층을 구비한 비휘발성 메모리 셀을 개시하고 있다. 복수-상태 데이터 저장장치는 유전층 내 공간적으로 분리된 전하 저장 영역들의 바이너리 상태들을 개별적으로 판독함으로써 구현된다.
프로그래밍 대조들을 위해 임계 윈도우의 전압 대역들을 구분하는 대조 전압들은 "하드" 대조 전압들(또한 등가적으로 "정수 대조 전압들" 또는 정수 대조 임계들"이라고도 함)으로서 간주될 수 있다. 메모리 셀을 프로그램하는 것은 이의 임계를 전압 대역들 중 하나의 중앙에 혹은 전압 대역의 적어도 경계들 안에 놓여지게 하는 것을 목표로 한다. 이들 하드 대조 임계들에 관하여 판독하는 것은 대응하는 하드 비트들(HB)을 갖게 할 것이다. 메모리가 여러 전압 대역들 간에 충분한 마진을 가지고 프로그램될 때, 각 전압 대역 내 프로그램된 임계 레벨들의 분포는 명확히 정의된다. 이에 따라, 하드 대조 임계들에 관하여 판독하는 것은 셀들의 각 프로그램된 임계의 위치를 정확하게 파악하기에 충분하다.
실제로, 각 전압 대역에 관한 분포는 퍼져나갈 수 있어 분포의 일부분이 이웃 전압 대역까지 벗어나 있을 유한한 확률이 존재한다. 이 경우에, 하드 판독 레벨들은 오류 판독 결과들을 야기할 것이다. 일반적인 관행은 일어날 수 있는 오류들을 정정하기 위해 하드 비트들에 관해 계산된 오류 정정 코드("ECC")를 탐재하는 것이다.
고 밀도를 가진 메모리를 제조하려는 요망에 따라, 메모리 장치의 각 세대는 더 집적도를 갖고 제조되어 메모리 셀들은 서로 더 밀접해지게 되었다. 이것은 셀들 간에 상호작용들 및 교란들이 증가되는 문제들을 야기하여, 각 전압 대역 내 프로그램된 임계 레벨들의 분포가 더욱 퍼져나가게 하였다. 또한, 문제는 점점 더 많은 비트들이 각 셀에 밀어넣어지게 되는 MLC 저장장치의 구현에 의해 악화된다. 이에 따라 고정된 임계 윈도우들을 점점 더 많은 전압 대역들로 분할해야 하고 그럼으로써 각 대역 내 프로그램된 임계 레벨들의 분포 및 대역들 간에 마진들이 더 협소해질 것을 요구하게 되었다.
셀들의 임계 전압들은 통계적으로 이들의 각각의 전압 대역들의 중앙 주위에 분포된다. 이들 분포들의 폭들이 유한한 몇가지 이유들이 있다. 프로그램하는 프로세스는 양자역학적 터널링 및 핫 주입과 같은 본질적으로 확률적인 프로세스들에 의존하는 확률적인 프로세스이다. 판독/프로그램 회로의 정밀성은 유한하며 랜덤 노이즈에 의해서도 제한된다. 일부 플래시 기술들에서, 판독되는 셀의 임계 전압은 이웃 셀들의 임계 전압들에 의해 영향을 받는다. 칩마다 차이와 제조 프로세스에 차이들은 판독/프로그램될 때 일부 셀들이 다른 셀들과는 다르게 거동하게 한다. 또한, 셀 임계 전압 분포들은 시간이 지남에 따라 변하는 경향이 있다. 플래시 메모리가 프로그램되고 소거될 때, 전압 윈도우 및 전압 대역들의 크기들은 변하는 경향이 있다. 이들 현상들은 MLC 플래시 메모리가 소거되고 재-프로그램될 수 있는 횟수를 제한한다. 또한, 장시간 프로그램되지 않은 플래시 셀의 임계 전압은 더 낮은 임계 전압으로 이동하는 경향이 있다. 이 현상은 데이터가 플래시 메모리에 신뢰도 있게 보존될 수 있는 시간을 제한한다.
플래시 셀의 전압 대역들은 모든 이들 현상들을 수용하기에 충분히 넓지만 너무 넓지 않도록 설계되어야 한다. 연관된 임계 전압 분포 곡선에 비교하여 그리고 시간에 따른 이 곡선의 이동에 비교하여 너무 좁은 전압 대역은 수락불가하게 높은 비트 오류율에 이르게 한다. 전압 대역들을 연관된 임계 전압 분포에 비교하여 매우 넓게 만드는 것은 플래시 셀에 신뢰도 있게 저장될 수 있는 비트 패턴들에 비트들의 수를 제한한다. 실제로, 플래시 메모리들은 1014 ~ 1016 비트들 판독당 하나의 오류를 갖게 설계된다. 일부 플래시 기술들은 셀당 요망되는 수의 비트들을 저장하면서 이러한 오류율을 달성할 수 없다. 이러한 기술에 기초한 일부 플래시 메모리들은 이들의 높은 본연의 오류율들을 보상하기 위해 오류 정정 회로들을 사용한다.
정수 대조 임계들에 더하여, 전압 대역들 내에 놓인 다른 대조 임계들의 사용은 셀의 프로그램된 임계가 더 큰 분해로 임계 윈도우 내에서 위치될 수 있게 한다. 이러한 대조 임계들을 본원에서는 "분수(fractional) 대조 임계들" 또는 "분수 대조 전압들"이라 칭한다. 추가된 분수 대조 임계들의 사용으로, 임계 윈도우는 "소프트 비트들"로서 알려진 추가의 비트들에 의해 코딩될 수 있는 더 많은 전압 대역들로 분해될 수 있다. 이들 소프트 비트들은 ECC 동작의 수행을 개선하는데 도움을 줄 것이다.
플래시 메모리 장치들에서 소프트 비트(SB) 판독들('분해(resolution) 비트들'이라고도 알려진)은 신뢰도가 덜한 비트들에 대해 비트 반전들을 수행할 수 있게 함으로써 대수(algebraic) ECC 디코더의 신뢰도 및 동작을 개선하는 것에 관련하여 종래에 도입되었다. 예를 들면, 미국특허 6,751,766 및 미국특허 7,023,735는 ECC 디코더의 정정 능력을 개선하기 위해 소프트 비트들을 사용하는 것을 개시한다. 소프트 입력 디코더의 동작을 개선하기 위해 분해 비트들이 채용되는 또 다른 예는 WO2008/042593 A1에 상술되어 있다.
그러므로, 오류들을 정정하는데 효율적이고 취급하기에 효율적인 추가의 소프트 비트들을 갖게 하기 위해 최적의 방식으로 메모리 셀의 임계 윈도우를 분할하는 것이 바람직하다.
발명은 소프트 비트들(SB)이 플래시 장치로부터 판독되는 최적화된 방법들을 위한 특정한 방법들을 제시한다. 판독 감지의 수는 반드시 2L-1 형태는 아니며, L은 각 메모리 셀에 의해 저장되는 비트들의 수이고, 임계 윈도우에 걸쳐 소프트 비트들에 연관된 임계 레벨들은 비균일하게 되도록 배치된다.
하드 비트들이 소프트 비트들 내에 내포(nest)되지 않는 한 세트의 판독 임계들을 채용하는 비균일한 수법들에서 소프트 비트들을 판독하는 비휘발성 메모리 및 방법들
발명의 제 1 측면에 따라, 임계 윈도우를 가지며 임계 윈도우를 제 1 세트의 임계 전압 대역들로 분할하기 위한 제 1 세트의 대조 임계들에 관하여 프로그램가능한 메모리에서, 메모리를 판독하는 수법은 임계 윈도우를 제 2 세트의 임계 전압 대역들로 분할하기 위해 임계 윈도우에 걸쳐 비균일하게 분포되는 제 2 세트의 대조 임계들을 제공하는 단계를 포함하고, 따라서 더 많은 수의 오류들이 일어나는 임계 윈도우의 영역은 더 높은 밀도의 대조 임계들을 가지며, 제 1 세트의 대조 임계들은 제 2 세트의 대조 임계들의 서브세트가 아니다. 메모리를 판독하는 수법은 제 2 세트의 임계 전압 대역들 중 하나에 관하여 메모리의 프로그램된 임계를 판정하는 단계를 더 포함한다.
이 수법은 프로그램하는 동안 임계 윈도우의 분할을 정의하는 것에 논리적으로 연관된 하드 비트들이 판독 동안 임계 윈도우의 더 정제되고 비균일한 분할에 연관된 소프트 비트들 내에 내포되지 않는 것과 같다. 프로그램하는 동안 임계 윈도우의 제 1 분할을 정의하는 제 1 세트의 대조 임계들은 판독 동안 임계 윈도우의 제 2 분할을 정의하는 제 2 세트의 대조 임계들의 서브세트가 아니다. 제 2 세트는 제 1 세트의 대조 임계들의 어느 것도 포함지 않거나 단지 일부만을 포함할 수 있다.
이것은 다수의 특징들을 포함하기 위해서 판독을 위해 제 2 세트의 대조 임계들을 설정하는 특정한 방법에 의해 달성된다. 제 1 특징은 대조 임계들이 비균일하게 분포되는 비균일한 SB(소프트 비트) 판독이다. 이것은 임계 윈도우 중에서 셀 오류율(CER)이 서로 다른 적어도 2개의 영역들에 맞게 할 수 있다. 각 영역에서, 소프트 비트들(SB)의 상이한 분해가 요구되는데, 예를 들면, 높은 CER 영역에서 워드라인들(WL들)에 귀속되는 셀들에 저장된 비트들을 성공적으로 디코딩하기 위해서 요구되는 판독 감지의 수는 낮은 CER 영역에서 WL들에 귀속되는 셀들에 저장된 비트들을 성공적으로 디코딩하기 위해서 요구되는 판독 감지의 수 미만이다.
이에 따라, 제 2 세트로부터 선택된 다수의 판독점들(Vth) 각각에 대한 SB(소프트 비트들)의 비균일한 판독들을 사용할 때, 실제 판독 임계들은 독립적으로 최적화될 수 있다. 또한, 발명적 수법은 메모리의 임계 윈도우에 걸쳐 모든 판독 임계들의 최적의 배치를 최대화하기 위해서 하드 비트들이 내포되어야 할 요건을 완화시킨다.
하드 판독점들 주위에 비대칭 소프트 판독점들을 가진 비휘발성 메모리 및 방법들
발명의 또 다른 측면에 따라, 임계 윈도우를 가진 메모리는 L-1 판독점들 (대조 임계들)에 관하여 판독되고, 'L'은 장치에 프로그램되는 서로 다른 상태들의 총 수이며, 2X >= L(예를 들면, 셀당 2 비트들에 대해선 L=4 셀 장치당 3 비트들에 대해선 L=8)에 의해 각 셀에 프로그램되는 비트들 x의 수에 관계된다. 하드 비트들 'x' 및 소프트 비트들 'y'에 연관된 한 세트의 판독 임계들은 임계 윈도우에 걸쳐 정의되고 2(x+y) >= L+M이 되게 한 세트의 대조 임계들 L+M-1에 연관된다. 한 세트의 대조 임계들 L+M-1은 정수 오프셋에 의해 각각의 다른 서브세트에 관계되는 판독 임계들의 유사한 서브세트들로 배열된다.
비트들 (HB+SB) 또는 'x+y' 비트들에 연관된 한 세트의 판독 대조 임계들은 일반적으로 총 'L+M-1' 감지 동작들이 생기게 한다. 하드 비트와 소프트 비트 간에 명확한 분리는 더 이상 존재하지 않는다. 유사한 서브세트들로 그룹화하기 위해 한 세트의 대조 임계들이 설계되고, 따라서 서브세트에 관하여 판독하는 판독 사이클은 x+y 비트들의 한 비트를 갖게 한다. 이것은 하드 비트들의 세트 주위에 대칭으로 위치되지 않은 소프트 비트들에 연관된 세트 내 대조 임계들로서 나타난다.
바람직한 실시예에서, 한 세트의 L-1 임계들 내에 상이한 판독점 또는 임계들(Vth) 간에 거리는 바람직하게 각 한 세트의 L-l 감지 사이클들에 대해 동일하게 유지되며 서로 다른 감지 사이클들 간에 임계들의 이동 또는 오프셋은 ΔR로서 정의되는 기본 단위 이동의 정수배이다.
다른 실시예들에서, 감지 사이클에서 후속되는 각 판독 임계 레벨 간에 거리는 동일해야 할 필요가 없다.
잇점은 각 판독 사이클에서 x+y 비트들이 비트별로 얻어져 셀당 한 래치를 사용할 수 있다는 것이다. 또한, 서브세트의 각 판독 사이클은 유사한 포맷 및 알고리즘에 따르며, 그럼으로써 간단하고 표준화된 판독 회로를 사용할 수 있게 한다.
커플링에 대한 DLA 보상과 함께 하드 비트들을 판독함과 아울러 소프트-비트 판독들
발명의 또 다른 측면에 따라, 소프트 비트들은 현재의 워드라인(WLn) 상에 전압의 제 1 조절과 이웃 워드라인(WLn+1) 상에 전압의 제 2 조절과의 조합에 의해 발생된다. 예를 들면, 하드 비트들을 위한 제 1 세트의 판독점들(V1, V2,..., Vi)은 WLn+1이 Vread와 같은 제 1 소정의 전압에 설정된 동안 WLn을 조절함으로써 마련된다. 소프트 비트들을 위한 제 2 세트의 판독점들은 서로 다른 Vread 값들에 WLn+1을 또한 조절함으로써 제 1 세트에 대한 오프셋들로서 마련된다.
발명의 이 측면은 DLA("Direct Look-ahead") 판독이라 지칭되는 공지의 판독 기술과 더불어 특히 상승작용한다. 수법은 현재의 워드라인(WLn) 상에 메모리 셀들의 하드 비트들을 판독하기 위해서 WLn+1 상에 Vread을 조절한다. 판독 동작이 DLA을 채용할 때 셀(예를 들면 D2)당 4 상태들 및 2 비트들의 경우에 있어서, WLn 상에 각 감지 동작은 4번 수행된다. WLn 상에 3 판독 대조 점들(Vth1, Vth2, Vth3) 각각에서 판독은 매번 WLn+1 상에 상이한 Vread을 갖고 4번 반복된다. 이들 감지 동작들 중 단지 하나는 WLn 내 셀의 상태를 판정하기 위해서 WLn+1에 프로그램된 상태에 따라 WLn 내 각 셀에 대해 개별적으로 선택된다.
발명의 잇점은 제어기의 요구되는 정정 능력이 플래시 장치 내 위치된 데이터에 더 잘 맞을 때 판독 속도의 증가 및 감소된 에너지 소비이다. 또 다른 긍정적 결과는 W/O가 증가하고 리소그래피 세대에서 진보에 따라 디지털 기술이 축소하였을 때 비용이 감소되는 제어기 내 디지털 회로들과는 달리 더 높은 비용으로 플래시 장치에서 요구되는 디지털 회로들이 제공된다는 것이다.
본 발명의 추가의 특징들 및 잇점들은 동반된 도면들에 관련하여 취해지는 바람직한 실시예들의 다음 설명으로부터 이해될 것이다.
도 1은 본 발명을 구현하는데 적합한 메모리 시스템의 주 하드웨어 성분들을 개요적으로 도시한 것이다.
도 2(A)~ 도 2(d)는 셀당 2 비트들을 저장할 수 있는 MLC 메모리 예의 임계 전압 분포들을 도시한 것이다.
도 3은 도 2(A)에서와 같은 임계 전압 분포들을 가진 2-비트 메모리에 대한 정수 대조 전압들에 더하여 비-정수 대조 전압들의 사용을 도시한 것이다.
도 4(A) ~ 도 4(d)은 "내포된 SB 판독 수법"에서 15개 판독점들을 사용하여 도 2(A)에서와 같은 임계 전압 분포들을 가진 2-비트 MLC 메모리를 판독하는 예를 도시한 것이다.
도 5는 CER = 3%인 모든 4 상태들의 CVD에 대한 가우시안 모델에 대해 최적화된 7 판독점들을 사용하는 예를 도시한 것이다.
도 6은 판독 비트들이 다른 처리를 위해 ECC에 공급하기에 앞서 교차 커플링 상쇄기에 공급되는 또 다른 실시예를 도시한 것이다.
도 7(a) ~ 도 7(e)는 소프트 비트들의 판독 레벨들이 하드 비트들에 관하여 대칭으로 위치되지 않은 2-비트 메모리에 있어서의 판독 레벨들 및 임계 전압 분포들의 제 1 실시예를 도시한 것이다.
도 8(a) ~ 도 8(d)은 2 HB 및 "1.5 SB"을 생성하기 위해 단지 9개의 판독점들만을 채용하는 2-비트 메모리의 판독 레벨들 및 임계 전압 분포들의 또 다른 예를 도시한 것이다.
도 9(a) ~ 도 9(d)는 15개의 판독점들을 가진 2-비트 메모리의 판독 레벨들 및 임계 전압 분포들의 예를 도시한 것이다.
도 10(a) ~ 도 10(d)는 판독점들이 WLn 및 WLn+1 둘 다의 전압 조절들의 조합에 의해 설정되고, WLn+1 상에 이웃 상태가 상태 'E'에 있는 12 판독점들을 사용하는 2-비트 메모리의 판독 레벨들 및 임계 전압 분포들의 예를 도시한 것이다.
도 11(a) ~ 도 11(d)는 판독점들이 WLn 및 WLn+1 둘 다의 전압 조절들의 조합에 의해 설정되고, WLn+1 상에 이웃 상태가 상태 'A'에 있는 12 판독점들을 사용하는 2-비트 메모리의 판독 레벨들 및 임계 전압 분포들의 예를 도시한 것이다.
도 12(a) ~ 도 12(d)는 판독점들이 WLn 및 WLn+1 둘 다의 전압 조절들의 조합에 의해 설정되고, WLn+1 상에 이웃 상태가 상태 'B'에 있는 12 판독점들을 사용하는 2-비트 메모리의 판독 레벨들 및 임계 전압 분포들의 예를 도시한 것이다.
도 13(a) ~ 도 13(d)는 판독점들이 WLn 및 WLn+1 둘 다의 전압 조절들의 조합에 의해 설정되고, WLn+1 상에 이웃 상태가 상태 'C'에 있는 12 판독점들을 사용하는 2-비트 메모리의 판독 레벨들 및 임계 전압 분포들의 예를 도시한 것이다.
도 14(a) ~ 도 14(f)는 판독점들이 WLn 및 WLn+1 둘 다의 전압 조절들의 조합에 의해 설정되고, WLn+1 상에 이웃 상태가 상태 'E'에 있는 12 판독점들을 사용하는 2-비트 메모리의 판독 레벨들 및 임계 전압 분포들의 대안적 예를 도시한 것이다.
도 15(a) ~ 도 15(f)는 판독점들이 WLn 및 WLn+1 둘 다의 전압 조절들의 조합에 의해 설정되고, WLn+1 상에 이웃 상태가 상태 'A'에 있는 12 판독점들을 사용하는 2-비트 메모리의 판독 레벨들 및 임계 전압 분포들의 대안적 예를 도시한 것이다.
도 16(a) ~ 도 16(f)는 판독점들이 WLn 및 WLn+1 둘 다의 전압 조절들의 조합에 의해 설정되고, WLn+1 상에 이웃 상태가 상태 'B'에 있는 12 판독점들을 사용하는 2-비트 메모리의 판독 레벨들 및 임계 전압 분포들의 대안적 예를 도시한 것이다.
도 17(a) ~ 도 17(f)는 판독점들이 WLn 및 WLn+1 둘 다의 전압 조절들의 조합에 의해 설정되고, WLn+1 상에 이웃 상태가 상태 'C'에 있는 12 판독점들을 사용하는 2-비트 메모리의 판독 레벨들 및 임계 전압 분포들의 대안적 예를 도시한 것이다.
메모리 시스템
도 1은 본 발명을 구현하는데 적합한 메모리 시스템의 주 하드웨어 성분들을 개요적으로 도시한 것이다. 메모리 시스템(90)은 전형적으로 호스트 인터페이스를 통해 호스트(80)와 동작한다. 메모리 시스템은 전형적으로 메모리 카드 또는 내장된 메모리 시스템 형태이다. 메모리 시스템(90)은 메모리 제어기(100)와 공조하는 메모리(200)를 포함한다. 메모리(200)는 하나 이상의 집적회로 칩에 걸쳐 분포된 비휘발성 메모리 셀들의 하나 이상의 어레이(210)로 구성된다. 각 메모리 어레이(210)는 각각 행 디코더(220) 및 컬럼 디코더(230)를 통해 워드라인들 및 비트라인들에 의해 액세스될 수 있는 행들 및 컬럼들로 배열된 메모리 셀들(201)을 갖는다. 일군의 감지 증폭기들(240)은 대응하는 일 그룹의 메모리 셀들이 이들의 비트라인들을 통해 병렬로 감지될 수 있게 한다. 대응하는 일 그룹의 데이터 래치들(250)은 메모리로부터 판독된 데이터를 일시적으로 저장하거나 메모리에 기입될 데이터를 스테이지하기 위해 일군의 감지 증폭기들(240)과 공조한다. 병렬 동작에서, 한 페이지의 데이터가 한번에 래치된다. I/O 회로는 전형적으로 직렬 데이터가 일군의 데이터 래치들(250) 내로 옮겨지거나 이로부터 밖으로 옮겨질 수 있게 한다.
전형적으로 상태머신을 채용하는 온-칩 제어기(270)는 메모리 어레이 및 주변 회로들의 기본 동작들을 제어하게 작용한다. 기본 프로그래밍 및 판독 및 소거 동작은 상태머신에 의해 제어된다.
메모리 제어기(100)는 인터페이스(110), 프로세서(120), 선택적인 코프로세서(121), ROM(122)(read-only-memory), RAM(130)(random access memory) 및 선택적으로 프로그램가능 비휘발성 메모리(124)를 포함한다. 인터페이스(110)는 제어기를 호스트에 인터페이스하는 한 성분(112) 및 메모리(200)에 인터페이스하는 또 다른 성분(114)을 갖는다. 펌웨어(123)는 ROM(122) 및 선택적으로 프로그램가능 비휘발성 메모리(124)에 의해 제공되는 메모리에 저장된다. 펌웨어는 제어기(100)의 기능들을 구현하기 위해 프로세서(120)를 위한 코드들을 제공한다. 또한, 발명의 여러 특징들은 바람직하게 펌웨어(123)에 구현되거나 온-칩 제어기(270)의 상태머신과 조합하여 구현된다. 오류 정정 코드들은 프로세서(120) 또는 ECC 엔코더 및 디코더로서 작용하는 선택적인 코프로세서(121)에 의해 처리될 수도 있다. 대안적 실시예에서, 제어기(100)의 더 간단한 실시예는 호스트 내에 구현된다.
MLC 메모리의 예
도 2(a) ~ 도 2(d)는 셀당 2 비트들을 저장할 수 있는 MLC 메모리 예를 도시한 것이다. 메모리 내 메모리 셀은 VMIN 내지 VMAX에 걸쳐 있는 임계 전압 윈도우 내 일 범위의 임계 전압들 중 어느 하나에 프로그램될 수 있다. 셀의 임계 전압은 증가하는 프로그래밍에 따라 증가한다. 이 2-비트 예에서, 임계 윈도우는 3개의 대조 또는 구분 전압들(V1, V2, V3)에 의해 4개의 전압 대역들로 분할된다. 4개의 대역들은 VMIN부터 V1까지, V1부터 V2까지, V2부터 V3까지, 및 V3부터 VMAX까지이다.
도 2(a)는 일군의 플래시 셀들에 대한 판독 임계 전압들의 분포인 셀 전압 분포(CVD)의 히스토그램을 개요적으로 도시한 것이다. 셀들의 판독 임계 전압들은 통계적으로 이들의 각각의 전압 대역들의 중앙 주위에 분포된다.
데이터가 이러한 분할 수법에 따라 메모리에 실제로 저장(프로그램)될 때, 3개의 구분 전압들(V1, V2, V3)이 소위 "하드" 대조 임계들 또는 "정수" 대조 임계들이다. 이들 대조 임계들은 임계 윈도우들을 2개의 하드 비트들인 "상위 비트, 하위 비트" 또는 "HB2, HB1"에 의해 코딩되는 4개의 전압 대역들로 분할한다.
관례적 이유로, 데이터를 플래시 셀에 기입하는 것을 플래시 셀을 "프로그램한다"라고 한다. 이것은 셀의 임계 전압이 요망되는 비트 패턴의 표현에 연관된 "검증" 전압 레벨보다 높게 될 때까지 셀의 실리콘 기판으로부터 전자들을 셀의 산화층을 통해 셀의 플로팅 게이트 내에 주입하기 위해 셀에 전압 펄스들을 인가함으로써 행해진다. (검증 전압 레벨은 셀을 프로그램하는 것이 셀의 임계 전압이 이 레벨을 초과함을 검증하는 것을 포함하기 때문에 "검증" 전압 레벨이라고 한다). 대다수 구현들에서, 프로그램 후에 셀의 판독 임계 전압이 감소되게 하는 셀 이완(relaxation) 현상들에 대한 여지를 만들기 위해서 판독 임계 전압을 프로그램된 검증 전압에 비해 낮은 전압에 놓이게 하기 위해 검증 전압 레벨은 정수 대조 임계로부터 양의 오프셋(positive offset)에 있다.
VMIN과 V1 사이의 임계 전압은 "소거된" 또는 "E" 상태로 간주되고 비트 패턴 "11"에 의해 표현된다. V1과 V2 사이의 임계 전압은 제 1 프로그램된 상태 "A"로 간주되고 비트 패턴 "01"에 의해 표현된다. V2과 V3 사이의 임계 전압은 제 2 프로그램된 상태 "B"로 간주되고 비트 패턴 "00"에 의해 표현된다. V3과 VMAX 사이의 임계 전압은 제 3 프로그램된 상태 "C"로 간주되고 비트 패턴 "10"에 의해 표현된다. 일반적으로, 셀당 m비트 메모리의 전압 윈도우는 2m-1 구분들에 의해 2m 전압 대역들로 분할된다. 이외 다른 코딩 수법들도 가능하다. 예를 들면, 도 2(a)에서와 같은 임계 전압 분포들을 가진 2-비트 메모리의 m = 2 예에서, 비트 패턴 "01" 및 "10"이 교환된다면, 또 다른 수법이 도출될 수 있다.
각 메모리 셀들이 m 비트들의 데이터를 저장하고 일군의 메모리 셀들 이 p 감지 증폭기들을 사용하여 병렬로 판독되는 MLC 메모리들에서, 셀을 판독한다는 것은 2m - 1 전압 대역들의 어느 것에 관하여 셀의 프로그램된 임계를 판정하는 것이다. 일군의 메모리 셀들을 판독하는 두 가지 방법들이 있다.
제 1 방법은 "풀-시퀀스(full-sequence) 판독"이다. 임계 윈도우 내 모든 2m-1 대조 전압들까지를 비교함으로써, 셀의 임계를 내포하는 전압 대역이 판정된다. 일단 셀의 프로그램된 임계를 내포하는 대역이 위치되고, 비트 코딩 수법이 주어지면, 셀에 대한 모든 m 비트들이 얻어질 수 있다.
도 2(b)는 도 2(a)에서와 같은 임계 전압 분포들을 가진 2-비트 메모리의 풀-시퀀스 판독을 도시한 것이다. 판독되는 셀의 프로그램된 임계는 이것이 어느 전압 대역 내에 있는지 위치를 파악하기 위해 모든 판독 전압 레벨들(V1, V2 및 V3)까지 비교된다. 일군의 메모리 셀들이 병렬로 판독될 때, 2 논리 페이지들이 얻어진다. 하위 논리 페이지는 페이지의 각 셀의 HB1으로부터 구성될 것이며, 상위 논리 페이지는 페이지의 각 셀의 HB2로부터 구성될 것이다.
일반적으로 m-비트 메모리에 있어서, 일군의 셀들이 병렬로 판독될 때, 풀-시퀀스 판독 동작에서 m 바이너리 페이지들이 얻어진다. 그러나, 풀-시퀀스 판독은 데이터 래치들이 모든 m 비트들을 버퍼하기에 충분한 용량을 가져야 하기 때문에 이들에 대해 요구한다.
제 2 방법은 "점진적(progressive)" 판독이다. 흔히, 플래시 메모리가 한번에 비트 패턴의 한 비트로 프로그램되는 프로그래밍 및 코딩 수법을 갖는 것이 바람직하다. 예를 들면, HB1의 하위 페이지가 먼저 프로그램된다. 이에 이어 HB2의 상위 페이지가 나중에 이어진다.
판독하기 위해서, 비트 패턴은 "점진적 비트 판독" 방법에 의해 판독된다. 비트 패턴은 복수 판독 패스들에 걸쳐 비트별로 판독되는데, 각 패스는 2m-1 대조 전압들 중 일부와만 비교한다. m 비트들의 비트 패턴을 저장하는 셀을 판독하는 것은 m번의 이러한 패스들을 요구한다. 각 판독 패스에서, 한 비트가 그룹의 셀들 각각으로부터 판독된다.
근본적으로, 대조 임계들 형태의 판독 임계들은 계층적 바이너리 트리로서 배열되며 임계 윈도우를 구간으로 자른 복수 스테이지들로 분할한다. 각 판독 패스에서, 셀의 프로그램된 임계는 계층적 바이너리 트리의 한 스테이지 동안 판독 임계들의 서브세트에 관하여 판정된다. 각 판독 패스에서, 그룹의 각 셀의 m 비트들 중 하나만이 판독된다. m 판독 패스들에서, 계층적 바이너리 트리의 모든 m 스테이지들이 방문되고 그룹의 각 셀의 m 비트들이 판독된다. 이에 따라, m 바이너리 페이지들이 페이지별로 판독된다. 이것은 데이터 래치들이 m 비트들 대신 한 비트를 저장하기만 하면 되기 때문에 바람직하다. 페이지별로 모드는 한 페이지 상당의 데이터가 호스트로부터 메모리에 의해 수신되는 즉시 메모리에 즉각적으로 기입될 수 있기 때문에 프로그램하는 관점에서 또한 바람직하다. 그러나, 셀 저장당 몇몇의 'm' 비트들에 대해 한번에 단지 한 페이지를 프로그램하기 위해서는 이러한 동작을 할 수 있게 하기 위해 대응하는 매핑이 설계되어야 함에 유의한다. 자명하게 모든 매핑 수법들이 이러한 페이지별로 프로그램하는 방법을 가능하게 하는 것은 아니다.
도 2(c)는 HB1을 가진 하위 논리 페이지가 판독되는 도 2(a)에서와 같은 임계 전압 분포들을 갖는 2-비트 메모리의 제 1 판독 패스를 도시한 것이다. 근본적으로, 대조 임계(V2)는 임계 윈도우를 반분의 대역들으로 분할하는 데 이용된다. 각 셀의 프로그램된 임계 전압은 V2에 비교된다. 이것이 대역 내에 이의 좌측에 속한다면, HB1 = 1이고, 대역 내에 이의 우측에 속한다면 HB1 = 0이다.
도 2(d)는 HB2을 가진 상위 논리 페이지가 판독되는 도 2(a)에서와 같은 임계 전압 분포들을 갖는 2-비트 메모리의 제 2 판독 패스를 도시한 것이다. 근본적으로, 제 1 패스에서 반분의 대역들 각각은 2개의 다른 대역들로 더욱 분할된다. HB1의 값에 따라, 각 셀의 프로그램된 임계 전압은 V1이나 V3에 비교된다. HB1 = 1이고, 프로그램된 임계가 V1 미만이면, HB2 = 1이고, 그렇지 않다면 HB2 = 0이다. 한편, HB1 = 0이고 프로그램된 임계가 V3 미만이면, HB2 = 0이고, 그렇지 않다면 HB2=1이다. 이 경우에 점진적 판독을 위한 또 다른 선택은 HB2이 판독될 때, V2에서 제 1 판독을 무시하는 것이다. 이 방법으로, 각 셀은 V1 및 V3에서 직접 판독된다. 셀들 판독 임계이 V1 미만에 놓여져 있다면 HB2 = 1이고, V3 미만이지만 V1 이상이면 HB2 = 0이고 판독 임계가 V3 이상이면 이 또한 HB2 = 1이다. 제 2 방법의 잇점은 HB2이 판독될 때 HB1을 유지하는 래치가 요구되지 않고 또한 HB2을 판독하기 위해 어레이를 V2에서 감지하는 것이 전혀 요구되지 않는다는 것이다.
비-정수 대조 임계들 및 소프트 비트들에 대한 고찰
앞서 기술된 바와 같이, 메모리는 임계 윈도우를 분할하는 여러 전압 대역들을 구분하는 정수 대조 임계들에 관하여 프로그램된다. 메모리가 각각이 m 비트들의 데이터를 저장하는 메모리 셀들을 갖게 구성된다면, 임계 윈도우는 2X-1 정수 대조 전압들에 의해 구분된 2X 대역들로 분할된다. 원리적으로, x 비트들(하드 비트들)은 프로그램된 임계가 2X-1 정수 대조 임계들과 비교된다면 판정될 수 있다.
이전의 수법은 판독 레벨들의 배치가 비균일한 방식으로 수행되는 반면 판독 감지의 수가 반드시 2X-1 형태는 아닌 것일 때의 경우를 기술하였다.
도 3은 도 2(a)에서와 같은 임계 전압 분포들을 가진 2-비트 메모리에 대해 정수 대조 전압들에 더하여 비-정수 대조 전압들의 사용을 도시한 것이다. 예를 들면 도 2(a)에서, x=2에 대해, 임계 윈도우에 걸쳐 3개의 균일하게 배치된 판독 레벨들(V1, V2, V3)은 MLC형 플래시 장치에 대해 2개의 HB들을 갖게 하기에 충분하다. 도 3에서, 판독 임계들로서 사용되는 3개의 정수 대조 전압들(V1 ~ V3)에 더하여, 총 한 세트의 21개의 판독 임계들에 기여하는 판독 임계들(V4 ~ V21)을 위한 18개의 비-정수 대조 전압들이 있다.
3개의 정수 대조 전압들이 2개의 하드 비트들(HB)을 갖게 하는 반면, 추가의 19개의 비-정수 판독 임계들은 전압 윈도우 상에 균일하게 위치되지 않으며 적어도 2개의 소프트 비트들("SB")을 갖게 한다. 특히 임계 전압들은 이웃 상태들을 나타내는 CVD(셀 전압 분포)의 중첩 영역들 주위에 집중된다. 이 집중을 적용함으로써, 플래시 채널의 용량 메트릭이 최대화되고 따라서 플래시 장치로부터 판독되는 신뢰도 측정치들은 이들 신뢰도 측정치들을 이용할 수 있는 소프트 입력 디코더의 오류 정정 능력을 개선함을 알 수 있다. 쉽게 말하여, 21개의 구분점들 및 이에 따라 22개의 전압 대역들을 가질 때, 이들을 총 5 비트들로 표현하는 것이 요구될 것이며, 따라서 이들 5 비트들 중에서 2개를 취하는 것은 하드 정보(HB1, HB2)을 제공하고 3 소프트 비트들이 남게되므로 모두 함께 이들은 대응하는 전압 대역을 표현한다. 이 출원이 제시하고 있는 새로운 방법으로 3대신 비트들이 단지 2개 더 추출될 수 있음을 나중에 보여질 것이다. 잇점은 플래시 메모리(200)에서 메모리 제어기(100)로 정보가 덜 전달되므로 판독 동작을 가속한다는 것이다.
판독 임계들(V4 -V21)이 셀의 전압 윈도우 내에서 균일하게 정렬되지 않을 때의 상황은 비균일한 SB 판독으로서 표기된다. 다수의 판독점들(Vth) 각각에 대해 SB(소프트 비트들)의 비균일한 판독들을 사용할 때 실제 판독 임계들은 독립적으로 최적화될 수 있다.
본 수법들은 특정한 다수 세트들의 판독 임계들이 구성되고 플래시 장치로부터 판독되는 특정한 최적화 방법들을 제시한다.
하드 비트들이 소프트 비트들 내에 내포되지 않는 한 세트의 판독 임계들을 채용하는 메모리
발명의 제 1 측면에 따라, 임계 윈도우를 가지며 임계 윈도우를 제 1 세트의 임계 전압 대역들로 분할하기 위해 제 1 세트의 대조 임계들에 관하여 프로그램될 수 있는 메모리에서, 메모리를 판독하는 수법은 임계 윈도우를 제 2 세트의 임계 전압 대역들로 분할하기 위해 임계 윈도우에 걸쳐 비균일하게 분포되는 제 2 세트의 대조 임계들을 제공하는 단계를 포함하며, 이에 따라 더 많은 수의 오류들이 일어나는 임계 윈도우의 영역이 더 높은 밀도의 대조 임계들을 가지며 제 1 세트의 대조 임계들은 제 2 세트의 대조 임계들의 서브세트가 아니다. 메모리를 판독하는 수법은 제 2 세트의 임계 전압 대역들 중 하나에 관하여 메모리의 프로그램된 임계를 판정하는 단계를 더 포함한다.
이 수법은 프로그램하는 동안 임계 윈도우의 분할을 정의하는 것에 논리적으로 연관된 하드 비트들이 판독 동안 임계 윈도우의 더 정제되고 비균일한 분할에 연관된 소프트 비트들 내에 내포되지 않는 것과 같다. 프로그램하는 동안 임계 윈도우의 제 1 분할을 정의하는 제 1 세트의 대조 임계들은 판독 동안 임계 윈도우의 제 2 분할을 정의하는 제 2 세트의 대조 임계들의 서브세트가 아니다. 제 2 세트는 제 1 세트의 대조 임계들의 어느 것도 포함지 않거나 단지 일부만을 포함할 수 있다.
이를 위하여, 수법은 다수의 특징들을 포함하기 위해서 판독 임계들을 설정하기 위한 특정한 방식을 제시한다. 제 1 특징은 비균일한 SB(소프트 비트) 판독이다. 이것은 임계 윈도우 중에 셀 오류율(CER)의 적어도 3개의 서로 다른 영역들이 있을 수 있게 한다. 각 영역에서, 소프트 비트들(SB)의 상이한 분해가 요구되는데, 예를 들면 높은 CER 영역 내 워드라인들(WL들)에 귀속된 셀들 내에 저장된 비트들을 성공적으로 디코딩하기 위해서 요구되는 판독 감지의 수는 낮은 CER 영역에서 WL들에 귀속된 셀들 내에 저장된 비트들을 성공적으로 디코딩하기 위해서 요구되는 판독 감지의 수보다 많다.
이것은 더 많은 CER 영역에서 대조 임계들의 더 큰 집중으로서 나타난다. 예를 들면, 도 3에서, 판독 임계들(V4 ~ V21)은 셀의 전압 윈도우 내에 균일하게 정렬되지 않는다. 이들은 CER이 더 큰 대역들 사이에 각 천이 주위에 모인다.
이에 따라, 다수의 판독점들(Vth) 각각에 대해 SB(소프트 비트들)의 비균일한 판독들을 사용할 때, 실제 판독 임계들은 독립적으로 최적화될 수 있다.
예를 들면, 도 2(a)에 도시된 것과 같은 MLC 장치(셀당 2 비트들)의 정규 판독에서, 한 세트의 3개의 최적의 임계들(V1, V2, V3)이 이에 따라 선택된다. 이들 3개의 임계 전압들은 4개의 상태들 간을 구별하며 이에 따라 각 셀에 어느 상태로 프로그램되었는지를 판단하는데 도움을 준다. 일단 정확한 구별이 되면, 프로그램된 상태에 의해 표현된 두 비트들은 정확하게 재구성되고 이들 두 비트들은 하드 비트들(HB)이라 언급된다. 앞에서 주어진 이유들에 기인하여 틀린 상태가 선택된 경우엔, 오류의 한 세트의 두 비트들이 재구성되어 오류를 가진 판독 동작이 되게 한다.
공통적으로, ECC 디코더는 이러한 오류들을 정정하기 위해 설정된 판독 비트들의 스트림에 적용된다. ECC 디코더는 각 HB에 대한 LLR(Log-Likelihood Ratio)을 HB가 저장된 셀로부터 판독된 이의 대응하는 HB + SB 정보로부터 계산하는 ECC 변환 층을 포함하고, 이어 이들 LLR들은 HB들을 디코딩하기 위해 ECC 코어 디코더에 의해 처리된다. 상기 ECC에 의해 채용되는 용장 비트들/셀들의 수를 감소시키기 위해서, 오류 비트들/셀들의 수를 최소화하는 것이 바람직하고 디코더는 동작을 위해 플래시에 할당된 유한한 용장 비트들/셀들이 주어져 있을 때 ECC 디코더를 취급하게 그리고 이의 정정 능력이 최대가 되게 하는 최적의 판독 임계들을 ECC 디코더에 제공하게 설계된다.
플래시 장치의 용량을 최대화하기 위한 한 이러한 공지된 메트릭은 프로그램된 상태 (X)와 판독 임계 전압들 (Y) 간에 상호 정보 I(X;Y)이다. 상호 정보를 측정하고 계산하기 위한 공통의 방법은 각 상태에 대한 CVD를 개별적으로 측정하고(상태별 CVD이라고도 알려져 있다) 이어서 X가 프로그램된 상태들의 벡터를 나타내고 Y가 한 세트의 비트들에 의해 표현된 판독 전압 영역들의 벡터를 나타내게 상태 천이 행렬 P(Y|X)를 계산함에 의한다. P(Y|X)를 사용하면 상호 정보는 식(1.1)에 의해 주어진다.
I(X;Y) = D[P(X, Y), P(X)ㆍP(Y)] (1.1)
D(z)는 C.E. Shannon, "A mathematical theory of communications", Bell Syst. Tech. J., vol. 2, pp.379-423,623-656, 1948에 상세히 되어 있는 바와 같이, Kullback-Leibler 거리이다.
위에 예에서, 하드 비트들(HB)만이 플래시로부터 판독될 때, 3번의 감지 동작들이 수행되고 2 비트들이 제어기에 의해 수신된다. 위에 예에서 3개의 판독 임계들이 BER/CER이 최소화되게 선택될 때, 예를 들면 CER을 최소화하기 위해, 즉 'ER' 상태로 프로그램되고 'A' 상태로서 판독되는 셀의 수와 이에 더하여 상태 'A'로 프로그램되고 'ER' 상태로서 판독되는 셀들의 수를 최소화하기 위해 임계들(V1)이 상태 'ER'와 상태 'A' 사이에 놓여질 때, 식(1.1)은 이의 최소화된 값에 가깝게 되는 결과로 된다. 유사한 방식으로, V2는 상태 'A'와 상태 'B' 사이에 놓여지고 V3는 상태 'B'와 상태 'C 사이에 놓여진다.
점진적 판독 및 내포된 비트들
이러한 수법의 한 유용한 특성은 감지 동작이 스테이지들에서 행해질 수 있다는 것이다. 이 특성은 플래시 셀들에 의해 나타나는 CER이, 영역(저/중/고) 조차도 알려지지 않을 정도로 디코딩시에 디코더에 알려지지 않을 때 편리하다. 그러므로, 불필요한 판독 감지 및 플래시 장치에서 제어기로 정보의 불필요한 전달을 피하기 위해서, 어떤 감지 동작들 및 어느 데이터가 제어기에 보내져야 할 것인지의 판단은 ECC로부터 증간 피드백을 갖고 스테이지들에서 행해진다. 이 전략은 "Error Correction decoding by trial and error", Simon Litsyn, Eran S. & Idan A.에 이미 개시되어 있다.
도 4(a)-4(d)는 "내포된 SB 판독 수법"에서 15개 판독점들 사용하는 도 2(a)에서와 같이 임계 전압 분포들을 가진 2-비트 MLC 메모리를 판독하는 예를 도시한 것이다. 도 4(a)는 도 2(a)와 유사하게 일단의 메모리 셀들에 대하여 프로그램된 2-비트 분포를 도시한 것이다. 2개의 연이은 판독점들 사이에 거리를 일정하게 유지하는 것은 균일한 SB 판독이라 표기된다. 15개 판독점들은 4 비트들에 의해 표현될 수 있는 총 16개의 전압 영역들을 제공한다. 15개 판독점들은 3번의 감지 사이클들로 수행된다.
도 4(b)는 하드 비트들(HB1, HB2)을 갖게 하기 위해 판독점들(AR, BR, CR)(도 2(a)에서 정수 대조 점들(V1, V2, V3)에 대응하는)을 채용하는 제 1 감지 사이클을 도시한 것이다.
도 4(c)는 소프트 비트(SB1)을 갖게 하기 위해 판독점들(ER1, AR1, BR1, CR1)을 채용하는 제 2 감지 사이클을 도시한 것이다.
도 4(d)는 소프트 비트(SB2)을 갖게 하기 위해 판독점들(ER21, ER22, AR21, AR22, BR21, BR22, CR21, CR22)을 채용하는 제 3 감지 사이클을 도시한 것이다.
이에 따라, 2 HB(AR, BR 및 CR로서 표기된)을 얻기 위해 초기에는 단지 3개의 감지 점들만이 수행된다. 도 2(c) 및 도 2(d)에 관련하여 기술된 바와 같이, 바람직하게, 이들 2 HB은 2번의 점진적 판독 패스들에서 얻어지고 각 비트가 판독된 후에 메모리 제어기에 전달된다. 이어서, 이들 2 비트들(각 셀로부터)은 디코딩을 시작하기 위해 메모리 제어기 내 ECC 디코더에 공급된다. 디코딩이 오류들의 발생을 나타내는 경우에(즉, 디코더는 수렴 없이 기설정된 시간 프레임 내에 실패 또는 종료한다), 다음 소프트 비트(SB1)가 얻어진다. 이것은 4 판독점들(ER1, AR1, BR1, CR1)을 사용한 제 2 판독 패스에 의해 달성된다. 이어, ECC는 원래의 2개의 HB + 가외의 SB1로 활성화될 수 있다.
유사한 방식으로 디코딩이 W/O 수렴을 실패 또는 종료한다면, 다음 소프트 비트(SB2)가 얻어진다. 이것은 또 다른 8 판독점들(ER12, ER22, AR12, AR22, BR12, BR22, CR12, CR22)을 사용한 제 3 판독 패스에 의해 달성된다. 이제, ECC 디코더는 다시 이전의 HB+SB1 및 새로운 가외의 SB2로 활성화된다.
이러한 수법은 "내포된 SB 판독 수법"이라 표기되며, 어떠한 HB 및 SB 판독이든 점진적이며 더 많은 HB 또는 SB이 나중에 판독될 때 채용되는 한 세트의 HB+SB 내에 내포됨을 의미한다. 이 수법은 심지어 HB 내에 내포됨에 유의한다. 앞서 언급된 바와 같이, 이 수법은 감지 동작들이 비트별로 수준으로 분할될 수 있고, 그럼으로써 데이터 래치들을 덜 사용하고 더 최적의 파이프라인 동작들을 사용할 수 있게 하기 때문에 바람직하다.
그러나, 본 발명은 SB가 HB에 대해 요구되고(디코더가 더 큰 CER에 대처할 수 있게 하기 위해서) 동시에 식 (1.1)을 최대화하기 위해 판독점들 또는 임계들(Vth)이 최적화될 때, 몇몇 경우들에 있어서 내포 특성은 더 이상 유지될 수 없음을 안다. 이들 경우들은 이어지는 ECC 디코더에 충분한 정보를 추출하기 위해 요구되는 감지 임계들의 수에 따른다.
도 5는 CER = 3%인 모든 4 상태들의 CVD에 대한 가우시안 모델에 대해 최적화된 7 판독점들을 사용하는 예를 도시한 것이다. 7 판독점들은 임계 윈도우를 3 비트들에 의해 코딩될 수 있는 8개의 비균일한 전압 대역들로 분할한다. 이 수법에서 3 비트들을 내보낼 때 HB는 각 영역에 대해 제공된 이들 3 비트들에 더 이상 내포되지 않음을 알 수 있다.
특정 셀에 대해 이 설계 수법의 회로로부터 나오는 3 비트들이 '100'('상위, 중간, 하위', 도 5에서 세트-2를 참조)이라고 가정하면, 2-비트 셀(도 4에서 HB1 및 HB2 참조)에 있어서는 상위 페이지 비트가 0인지 1인지가 분명하지 않다. 도 4의 상위 페이지는 어떤 면에서는 도 5의 중간 비트에 대응한다. 판독 수법은 '0'을 리턴하는데, 그러나 어떤 상태가 프로그램되었는가하는 면에서 상태 'ER' 및 상태 'A'에 대한 확률은 동일하다.
또한 도 5에서, BR에 일치하는 판독점(V4)를 제외하고, 다른 6 판독점들 중 어느 것도 도 4(b)에 도시된 AR 또는 CR과 겹치지 않는다. 이것은 하드 비트들에 대응하는 정수 판독점들이 비(non)-내포 판독 수법에서 판독점들 중 어느 것과도 일치할 필요가 없음을 의미한다.
일실시예에서, 메모리 시스템은 장치에서 블록들의 신뢰도를 추적하는 백그라운드 프로세스를 갖는다. 일예는 블록이 카운트한 수의 소거 사이클링으로 받은 마모량의 측정치인 핫 카운트(hot count)에 의해 블록의 신뢰도를 추적한다. 핫 카운트는 블록에 대한 CER의 측정치를 제공한다. 이러한 프로세스를 포함하는 플래시 장치들에서, 블록들의 신뢰도는 판독시에 알려지는 것으로 간주된다. 이러한 프로세스는 블록들의 신뢰도를 CER이 상이한 몇개의 그룹들로 분류할 수 있다. 블록을 판독할 때, 요구되는 정정 능력은 선험적으로 알려지고, 이것은 판독을 위해 요구되는 수의 SB로 전환된다. 결과는 판독시에 적어도 어느 정도 오류 정정량을 알게 된다는 것이다. 이 지식은 제어기가 적합한 SB 수법을 선택할 수 있게 한다.
또 다른 실시예에서, 이러한 백그라운드 프로세스가 존재하지 않을지라도 셀 신뢰도가 알려지는 것은 순차적 판독이 수행되고 제 1 WL에 대해 시도 및 오류 수법이 활성화되고 동일 블록 내 그외 다른 모든 WL들에 대해서 제 1 WL에 대한 시도 및 오류 프로세스로부터 획득된 판단이 채용될 때이다. 이 특별한 경우에서, 후속 WL들(제 1 판독 WL 후에)에 대해 제어기는 사용할 SB의 필요한 수가 얼마인지를 안다.
이에 따라, 요구되는 SB의 량이 판독시에 알려질 때, 더 이상 내포 SB 수법에 대한 필요성은 없다. 비-내포 SB (혹은 플래시 신뢰도에 따른 서로 다른 다수 세트들의 판독 감지)의 사용은 오류 정정 수행을 최대화하는 비균일 SB 판독들의 경우를 고려한다.
비균일한 SB 판독에서, 그리고 각각의 CER 상황에 대해서, 적합한 한 세트의 판독점들 또는 임계들이 적용된다. 이에 따라, SB 판독량에 따라 몇몇 특정 수의 감지 동작들로의 구속은 더 이상 없다. 예를 들면 2-비트 셀에 있어서, SB1에 대해 장치에 CER에 따라 5 내지 7 사이의 임의의 수의 판독점들이 선택될 수 있다. 명백히, 이러한 다수의 판독 감지 동작들 각각마다 이들의 위치들에 대해 개별적 최적화가 수행된다고 하면, 판독 감지 동작의 수가 증가함에 따라 디코더의 정정 능력도 증가한다.
다시, 2-비트 셀 및 2 SB의 경우에, 8과 15 사이에 임의의 수의 판독 임계들이 선택될 수 있다. 이에 따라, CER 평가의 정확도가 증가하고, 또한 요구되는 감지 동작들 량의 평가의 정확도가 증가함에 따라, 사용될 적합한 판독 수법이 더욱 정확하게 평가될 수 있다. 잇점은 플래시 장치의 수명 내내 판독되는 데이터의 조건에 따라 판독 속도 및 소비되는 에너지가 더 잘 적응된다는 것이다.
더 구체적으로, 1 소프트 비트의 경우에 대해서 4 (5개의 전압 영역들을 정의한다) 내지 7 판독점들(8개의 전압 영역들을 표현한다)까지의 임의의 수의 판독 임계들이 채용될 수 있다. 이들 임계들을 예를 들면 3<j<8인 이러한 V1, V2,..., Vj로서 표기한다. 셀 용량을 최대화하기 위해(대안적으로 정정 능력을 최대화한다) 이들 임계들을 최적화할 때, Vk≠Vth1, Vk≠Vth2 및 Vk≠Vth3인 j의 임의의 값에 대해 k ∈ {l,2,..,j}이게 하는 적어도 하나의 Vk가 존재하는 경우(도 5에 보인 바와 같이)가 확실히 있을 수 있다. 여기에서 Vth1, Vth2 및 Vth3는 하드 비트들 정보만을 얻기 위한 최적의 판독 임계들을 나타낸다. 이 경우를 '비-내포 임계들'로서 정의한다. 이제 SB-1이 계산될 때, 총 판독 수는 적어도 'j-2'(2-비트 메모리의 경우에 있어서)이고 일반적으로 이것은 'j'인데, 즉, 모든 판독 감지 동작들은 SB가 얻어질 때 반복되어야 한다. j=7에 대한 내포된 임계들(도 4에 도시된)의 경우에, 첫번째 3번의 판독 동작들이 2개의 HB(하드 비트들)을 생성한 후엔 가외의 SB1을 생성하기 위해 4번의 추가의 판독들만이 요구된다. 따라서 j=7에 대해 하한을 사용할 때 3 감지 위치들을 카운트한 후에 통틀어 적어도 5가 필요하고 따라서 최소는 2(7-2-3)이지만 도 4(c)의 경우의 예에선 4를 사용한다.
비-내포 경우에, 3 비트 벡터의 모든 값들에 대해 HB와 SB 간에 더 이상 명확한 구별이 없는 새로운 7 판독들(또는 일반적으로 'j' 판독들)로부터 새로운 한 세트의 3 비트들이 발생된다. 각 한 세트의 3 비트들은, 플래시 장치에 저장된 원래의 정보를 디코딩하게 설정된 소프트 입력 ECC 디코더(3 비트들은 예에서 각 셀을 나타낸다)에 공급되는 한 세트의 신뢰도 측정치들로 전환될 전압 대역을 정의한다.
도 6은 판독 비트들이 다른 처리를 위해 ECC에 공급하기에 앞서 교차 커플링 상쇄기에 공급되는 또 다른 실시예를 도시한 것이다. 예를 들면, 3 비트들(2-비트 MLC 및 SB1에서)가 CCC(교차 커플링 상쇄기)(310)에 공급된다. 이어 CCC의 출력은 정정된 프로그램된 비트들을 얻기 위해 다른 처리를 위해서 ECC 디코더(320)에 공급된다. CCC는 전체 개시된 바를 참조로서 본원에 포함시키는 미국특허 7,551,237 "Post-facto correction for cross coupling in a flash memory"에 기술되어 있다.
하드 판독점들 주위에 비대칭 소프트 판독점들을 가진 비휘발성 메모리 및 방법들
발명의 또 다른 측면에 따라, 임계 윈도우를 가진 메모리는 L-1 판독점들(대조 임계들)에 관하여 판독되는데, 'L'은 장치에 프로그램되는 서로 다른 상태들의 총 수이며, 2X>= L(예를 들면, 셀당 2 비트들에 대해선 L=4, 셀 장치당 3 비트들에 대해선 L=8)에 의해 각 셀에 프로그램되는 비트들 'x'의 수에 관계된다. 하드 비트들 'x' 및 소프트 비트들 'y'에 연관된 한 세트의 판독 임계들은 임계 윈도우에 걸쳐 정의되고 2(x+y) >= L+M이게 하는 한 세트의 대조 임계들 L+M-1에 연관된다. 한 세트의 대조 임계들 L+M-1은 정수 오프셋에 의해 각각의 다른 서브세트에 관계되는 판독 임계들의 유사한 서브세트들로 배열된다.
비트들 (HB+SB) 또는 'x+y' 비트들에 연관된 한 세트의 판독 대조 임계들은 일반적으로 총 'L+M-1' 감지 동작들이 생기게 한다. 하드 비트와 소프트 비트 간에 더 이상 명확한 분리는 존재하지 않는다. 유사한 서브세트들로 그룹화하기 위해 한 세트의 대조 임계들이 설계되며, 따라서 서브세트에 관하여 판독하는 판독 사이클은 x+y 비트들 중 한 비트를 갖게 한다. 이것은 하드 비트들의 세트 주위에 대칭으로 위치되지 않은 소프트 비트들에 연관된 세트 내 대조 임계들로서 나타난다.
바람직한 실시예에서, 한 세트의 L-1 대조 임계들 내에 서로 다른 판독점 임계들(Vth) 간에 거리는 바람직하게 각 한 세트의 L-1 감지 사이클들에 대해 동일하게 유지되며, 서로 다른 감지 사이클들 간에 임계들의 이동 또는 오프셋은 ΔR로서 정의된 기본 단위 이동의 정수배이다.
다른 실시예들에서, 감지 사이클 내에 각 후속 판독 임계 레벨 간에 거리는 동일할 필요가 없다.
잇점은 'x+y' 비트들이 각 판독 사이클에서 비트별로 얻어질 수 있고 그럼으로써 셀당 하나의 래치를 사용한다는 것이다. 또한, 서브세트의 각 판독 사이클은 유사한 포맷 및 알고리즘에 순응하며, 그럼으로써 간단한 표준화된 판독 회로를 사용할 수 있게 한다. 2X=L 및 2x+y= L+M인, 일반적으로 총 L+M-1 감지 동작들에 대응하는 각각 하드 및 소프트 비트들(HB+SB) 또는 'x+y' 비트들에 연관된 한 세트의 판독 임계들의 발생을 구현하는 방법.
과제는 설계의 단순성과 최소수의 데이터 래치들을 유지하는 것이다. 이에 따라, 상이한 수의 요구되는 판독 감지 동작들을 취급하기 위해 특정한 한 부류의 회로 설계 방법들이 개시된다. 이 회로는 최소수의 래치들을 요구하여 구현하기에 매우 효율적이며 간단하다.
도 1에 관련하여 앞서 언급된 바와 같이, 플래시 내 래치는 각 감지 증폭기에 대해 할당된 메모리 요소이다. 이에 따라 예를 들면 100,000 감지 증폭기들이 있을 때, 한 래치는 100,000 메모리 요소들에 상응한다. 이들 래치들은 플래시 메모리 장치 내에 존재하여 자신의 동작(데이터를 판독하고 이를 플래시에 기입)을 위해 요구되는 때문에, 메모리 칩 크기에의 영향을 감소시키기 위해 래치들의 수를 최소로 유지하는 것이 바람직하다.
래치를 사용하는 주 잇점은 짧은 기간 내에 동작이 병렬로 전체 래치 상에 정의될 수 있다는 것이다. 대안적으로, 한 WL(워드라인) 상에 모든 셀들을 처리함에 있어 병행도 팩터가 최대화된다. 위에 예에서, 100,000 메모리 요소들은 병렬로 값을 고정(locking)하고 있다.
기본 생각은 동시에 한 페이지의 비트들을 제공하여 이에 따라 가용한 래치들을 모두 채용하는 것이다. 일단 'x'의 벡터(셀당 비트들) 내 비트가 동일 WL 상에 모든 셀들에 대해 알려지면, 래치에 저장된 데이터(WL 상에 모든 셀들의)는 제어기에 보내지고 래치를 비운다.
도 7(a) ~ 도 7(e)는 소프트 비트들의 판독 레벨들이 하드 비트들에 관하여 대칭으로 위치되지 않은 2-비트 메모리에 있어서의 판독 레벨들 및 임계 전압 분포들의 제 1 실시예를 도시한 것이다. 4 비트들 (2HB + 2SB)을 얻기 위한 동작들은 3 판독점들을 판독하는 4번의 반복된 동작들과 이에 더하여 반전된 XOR을 수반함을 알 것이다.
도 7(a)는 도 4(a)와 유사한 일군의 메모리 셀들에 대한 프로그램된 임계들의 2-비트 분포를 도시한 것이다. HB에 대한 대조 임계들은 도 4(a)에 것과 일치하지 않음을 알 것이다. 이 경우에, 3 판독점들을 가진 2개의 준 HB와, 하나는 3 판독점들을 가지며 다른 하나는 2 세트들의 3 판독점들을 가진 2개의 비균일 SB 판독이 있다. 이 예에서는 단지 하나의 래치만으로 충분하다. 이 특징은 래치 및 이에 더하여 감지된 데이터에 대해 행해지고 결과가 동일 래치에 놓여지는 반전된 XOR 동작을 판독 회로가 지원할 때 달성된다.
도 7(b)는 첫 번째 2개의 준 하드 비트들을 판정하기 위해 첫 번째 3 판독들이 수행(판독점들(AR',BR',CR)을 사용한)되는 것을 도시한 것이다. 이들 첫 번째 2개의 비트들은 이들이 도 4(a)에 도시된 AR, BR 및 CR과 동일한 레벨들에 위치되지 않기 때문에 실제로는 준 HB이다.
제 1 준 비트(HB1로서 표기된)는 BR'에서 제 1 판독에 의해 제공된다. 셀이 도통하고 있다면 비트는 '1'에 설정되고(셀의 임계 전압은 BR'보다 낮다) 그렇지 않다면 비트는 '0'에 설정된다(셀의 임계 전압은 BR'보다 높다). 이 감지된 비트는 래치에 저장된다. WL 내 모든 셀들에 대해 이 비트를 유지하는 래치의 내용들은 래치를 비우기 위해 제어기에 보내진다.
제 2 준 비트(HB2로서 표기된)는 제 2 판독에 의해 제공되고 HB1의 값에 따라 판독점 AR 또는 판독점 CR'에서 수행된다(도 2(2.2) 참조). 예를 들면, HB1 = 1은 셀의 임계가 임계 윈도우들의 좌측 반에 위치되고 따라서 이의 추가의 분해가 AR'에 관련하여 존재할 것임을 의미한다. 유사하게, HB1 = 0이라면, CR'이 관련될 것이다. 일군의 메모리 셀들이 병렬로 판독되기 때문에, 아마도 몇몇 셀들은 AR'에서 판독을 요구하고 다른 것들은 CR'에서 판독을 요구하는 HB1 값을 가질 것이다. 동작 관점에서, AR' 및 CR' 둘 다가 방문되어야 할 것이다. 이에 따라, 마찬가지로 판독점 AR'에 관하여 전체 한 그룹의 셀들에 관하여 제 2 판독을 수행하고 이어 판독점 CR'에 관하여 제 3 판독을 수행할 수 있다. 이어, 임계가 임계 윈도우의 좌/우 반분 상에 있는 이들 셀들에 대한 AR'/CR' 각각에 관하여 판독을 분석하기 위해 제 2 및 제 3 판독들로부터의 결과들에 대한 한 세트의 논리 동작들이 채용된다.
제 1 준 비트로부터 독립적으로 제 2 준 비트를 준비하는 또 다른 방법은 AR'을 판독하고 이어 CR'에서 판독하고 이들 2개의 결과들을 NXOR함에 의한다. 이것은 CR'에서 판독으로부터의 결과가 부정(negate)(또는 반전)되고 이어 AR'에서 판독으로부터의 결과와 XOR되는 한 세트의 논리 동작들에 의해 달성된다. CR' 감지 동작의 출력이 AR'에서 감지 동작의 결과를 유지하는 단일 래치와 XOR될 수 있고 XOR 동작에 대한 결과가 동일 래치에 놓여지기 때문에 이러한 동작을 구현하기 위해 단지 한 래치만을 사용하는 것만으로 충분한 것에 유의한다. NXOR 동작은 이의 입력들에 대해 교환가능할 수 있기 때문에 대안적으로 CR'로부터의 결과는 AR'에서 감지를 유지하는 래치 내에 놓여진 반전된 데이터와 XOR될 수 있는데 예를 들면 NOT(AR') XOR CR' = AR' XOR NOT(CR') = NOT(AR' XOR CR')이다.
예를 들면, AR'에서 판독점에 있어서, 셀의 임계 전압이 AR' 미만이면, 셀은 도통하고 있고 그러면 비트는 '1'에 설정되고, 그렇지 않다면 AR'보다 높고 비트는 '0'에 설정된다. AR'에 대해 감지로부터의 이 비트는 판독점 CR'에서 제 3 판독이 일어나고 있는 동안 일시적으로 래치에 저장된다. 다시 셀의 임계가 CR' 미만이면, 셀은 도통하고 있고 그러면 비트는 '1'에 설정되고, 그렇지 않다면 비트는 '0'(셀의 임계 전압은 CR보다 높다)에 설정된다. 그러나 이 때 CR'에 대한 감지로부터의 비트는 곧바로 래치에 전송되지 않고 대신 부정되고 이어 래치에 이미 저장된 AR'로부터 비트와 XOR된다. XOR 동작 후에, 결과는 각 셀에 대해 동일 래치에 저장되고, AR'에 대한 비트를 덮어쓰기한다. 이 결과는 HB2 혹은 실제로 준 HB2를 나타낸다.
어레이에서 래치로 비트의 이 마지막 '인-플래시(in-flash)' 처리 동작은 NOT/XOR(또는 도 7(e)에 도시된 바와 같이 반전된 XOR)로서 표기된다. 근본적으로, CR' 임계 전압보다 낮은 전하를 갖는 이들 셀들에 대한 비트는 '1'이 될 것이며 부정 후에 이것은 '0'이 될 것이다. 이에 따라 이것은 제자리(in place) XOR이 0 XOR 0 = 0로서 수행될 때 래치(이 한 그루브이 셀들에 대해) 내 이미 나타나 있는 '0'들을 변경하지 않는다. CR보다 높은 임계 전압을 가진 셀들에 대해서, 부정(negation) 동작은 플래시 어레이로부터 수신된 비트를 '0'에서 '1'로 반전하며 따라서 임계 전압이 CR 이상인 모든 셀들에 대해서, 부정 후에 얻어진 '1'는 래치 내에 이미 놓여진 '0'과 XOR'되어 정확한 준 상위 페이지 비트(또는 HB2)가 제공된다.
이에 따라, 병렬로 판독되는 일군의 셀들에 대해서, 셀들 각각으로부터 HB1은 "준 하위 페이지"를 형성할 것이며, HB2는 "준 상위 페이지"를 형성할 것이다. 유사하게, 이하 기술되는 바와 같이, SB1은 준 SB1 페이지를 형성할 것이며, SB2는 준 SB2 페이지를 형성할 것이다. 판독점들의 최적화는 전체로서 소정 수의 비트들에 대해 행해진다. 이 예에서, 모든 4 비트들을 제어기에 제공한 후에만, 제어기는 이들을 사용할 수 있다. 한 서브세트의 이들 4 비트들은 서브세트에 관하여 최적의 샘플링을 제공하지 않으며, 단지 그룹으로서만 이들은 2-비트 메모리로부터 데이터 판독을 위해 필요한 신뢰도를 제공한다.
도 7(c)는 제 1 소프트 비트(SB1)를 얻기 위한 판독을 도시한 것이다. 이 단계는 준 SB1을 제공하는 것이다. 여기에서, 판독점들이 AR', BR' 및 CR'로부터 2ΔR 옮겨진 또 다른 한 세트의 L-1 판독 감지가 행해진다. 이에 따라, 제 1 판독 임계는 AR+2ΔR 상에 위치하게 되어 후속되는 판독들은 각각 BR+2ΔR 및 CR'+2ΔR에서 수행된다. 이들 3 판독 동작들에 있어서, 준 상위 페이지(또는 HB2)에 대해 행해진 바와 동일한 절차가 반복되는데, 이번에는 2번이 아니라 3번의 감지 동작들이다. 이것은 먼저 래치에 AR'+2ΔR에서 감지로부터 나온 비트가 저장됨을 의미한다. 이어 BR'+2ΔR 감지 후에, 감지 증폭기로부터 수신된 비트는 래치 내 AR'로부터의 비트와 '제자리(in place)' NOT/XOR된다. 이어 다시 CR'+2ΔR 감지 동작 후에, 감지 증폭기로부터 수신된 비트는 래치 내에 이미 놓여진 비트와 '제자리' NOT/XOR된다. 이러한 식으로, 다시, 준 SB1을 저장하기 위해 한 래치만이 요구된다.
마지막 감지 동작 전에, BR'+2ΔR와 CR+2ΔR 사이에 임계 전압을 가진 셀은 값 '1'을 유지함에 유의한다. 이 영역에 셀들에 대한 플래시 어레이로부터 수신된 비트는 '1'이고, 부정 후에, '0'으로 설정되고 XOR는 이 그룹의 셀들에 대해 비트를 변화시키지 않는다. 제 2 감지 동작 후에 CR'+2ΔR 이상의 임계 전압을 셀에 대해서, 래치는 역시 '1'을 유지한다. 그러나, 마지막 감지 동작에서(CR'+2ΔR에서), 플래시 어레이로부터 수신된 비트는 '0'으로 반전되고 부정 후에 이것은 '1'이 되고 XOR 동작은 래치 내에 '1'을 '0'(1 XOR 1 = 0)으로 변환한다.
도 7(c)는 임계 윈도우의 여러 전압 대역들에 걸친 준 SB1의 코딩을 도시한 것이다. 일단 준 SB1가 준비되면, 이것은 HB1 및 HB2을 얻기 위한 판독 동작들과 유사하게, 래치를 비우기 위해서 메모리 제어기에 전송될 수 있다.
도 7(d)는 제 2 소프트 비트(SB2)를 얻기 위한 판독들을 도시한 것이다. 이것은 2 세트들의 3 판독들에서 준 SB2을 제공하기 위한 것이다. 이 방법에서 한번은 AR'-ΔR, BR'-ΔR, CR'-ΔR에서 임계를 설정하고, 이어 AR'+ΔR, BR'+ΔR, CR'+ΔR에서 임계들을 설정하여, 준 SB1이 생성되는 동일한 방식으로 2개의 연이은 판독들이 반복된다. 이들 2 세트들로부터 결과적인 페이지들을 각각 SB21 및 SB22로서 표기한다. 추가의 래치가 요구됨을 알게 될 것이다. SB21은 한 래치에 저장될 수 있고 반면 SB22은 또 다른 래치에 저장된다. 도 7(e)는 SB2 = SB21 XOR NOT(SB22)과 같이 하여 SB2이 생성됨을 도시한 것으로, 2개의 현존하는 래치들 사이에 NOT/XOR을 위한 동일한 인터페이스 회로를 활성화함을 의미한다.
이에 따라, 4 비트들이 생기게 하는 12개의 판독점들을 사용하는 2-비트 메모리 예의 위의 예에서, 수법은 효율적인 오류 정정을 위한 12개의 판독점들의 최적의 배치를 제공할 수 있음을 알 수 있다. 동시에, NOT/XOR 인터페이스를 포함하는 복수의 감지 사이클들을 위해 설계된 단지 한 단순 회로/알고리즘만을 채용하는 잇점을 갖는다. 회로는 요구될 때 조정될 수 있는 단지 한 파라미터인 ΔR만에 의해 파라미터화된다. 수법은 프로그램하는 동안 임계 윈도우의 분할을 정의하기 위해 사용되는 통상의 것들로부터 약간 벗어난 판독 대조 임계들에 기초하여, 하드 비트들은 이제 준 하드 비트들인 점에서 통상적이지 않다. 소프트 비트들이 준 하드 비트들 주위에 비대칭으로 모여진 판독점들(대조 임계들)을 갖는다는 것은 훨씬 더 통상적이지 않다. SB2가 AR'-ΔR, AR'+ΔR, BR'-ΔR, BR'+ΔR, CR'-ΔR 및 CR'+ΔR의 순서로 연이은 6 감지 동작들을 사용하여 생성된다면 2개가 아니라 단지 한개의 래치만으로 동일 수법이 동작할 수 있다. 여기에서 이전의 경우에서와 같이 각 감지에서 결과는 단일 래치에 제자리(in place) NOT/XOR 게이트된다. 그러나, 이 경우에 ΔR의 부호는 각 연이은 감지마다 변경되고 이에 따라 이러한 구현을 위해 요구되는 회로는 더 복잡해지나, 반면 전체 래치가 제거되어 플래시 제어 회로의 비용을 감소시키는데 도움을 준다.
도 8(a) ~ 도 8(d)은 2 HB 및 "1.5 SB"을 생성하기 위해 단지 9개의 판독점들만을 채용하는 2-비트 메모리의 판독 레벨들 및 임계 전압 분포들의 또 다른 예를 도시한 것이다. 4 비트들이 실제로 얻어져 메모리 제어기에 전송되고 있긴 하나, 감지는 9개의 판독점들에 의해 구분된 10개의 전압 대역들의 분할에 대해 수행되는 점에서 1.5 SB이라 지칭된다. 이 예에서, HB가 SB와 내포되지만, 그러나 SB1은 SB2 내에 내포되지 않는다. 프로그램가능 파라미터 AR 및 각 세트(3 판독점들의) 내 판독 임계 레벨들 간에 고정된 거리(혹은 대안적으로 고정된 AR, 및 양(positive) 및 음(negative)의 오프셋을 갖고 사용되거나 전혀 사용되지 않는 일정한 ΔR 파라미터)를 사용한 한 세트의 3 감지 동작들은 전처럼 유지된다.
이 예에서, 이동을 위한 교번하는(-ΔR , +ΔR) 값들이 채용되는데, 즉, 감지 임계들은 AR'-ΔR, AR'+ΔR, BR'-ΔR, BR'+ΔR, CR'-ΔR, CR'+ΔR이 되게 설정되는데, 그러나 NOT/XOR 시퀀스는 변경되지 않은 채로 둔다. 이에 따라, 6개의 순차적인 판독들과 NOT/XOR '제자리' 저장에 한 래치만으로 충분할 것이다.
도 8(a)는 도 4(a)와 유사한 일군의 메모리 셀들에 대한 프로그램된 임계들의 2-비트 분포를 도시한 것이다.
도 8(b)는 도 4(a)의 것과 일치하는 하드 비트들을 위한 판독점들을 도시한 것이다. 이 예에서, 판독점들(AR, BR, CR)은 프로그램하는 동안 임계 윈도우의 분할을 정의하는 것들과 동일하다. 준 하드 비트들과는 달리, 이들은 원래의 하드 비트들이다. 도 4(b)에서와 같이, HB1 및 HB2은 AR, BR 및 CR에 관하여 3번의 판독들에 의해 얻어진다. HB 판독 레벨들은 소프트 비트들이 없이 판독하기 위한 것과 동일하기 때문에, 이들은 메모리 제어기에 아직 저장되어 있을 때 재사용될 수 있다.
도 8(c) 및 도 8(d)는 각각 소프트 비트(SB1, SB2)를 위한 판독점들을 도시한 것이다. SB1을 위한 판독점들은 HB를 위한 것들과 유사하나 -ΔR만큼 옮겨지는데, 즉, AR-ΔR, BR-ΔR, 및 CR-ΔR이다. SB1은 이들 3개의 판독점들에서 판독 후에 얻어질 수 있다. SB1을 위해 셀당 한 래치가 요구된다. SB1을 가진 페이지가 준비되었을 때, 메모리 제어기로 옮겨될 수 있고 그럼으로써 래치를 비운다. 유사하게, SB2을 위한 판독점들은 HB을 위한 것들과 유사하나 +ΔR만큼 옮겨지는데, 즉, AR+ΔR, BR+ΔR, 및 CR+ΔR이다. 결과적인 SB2는 한 래치에 저장될 수 있다. SB2를 가진 페이지가 준비되었을 때, 메모리 제어기로 옮겨질 수 있고 그럼으로써 래치를 비운다.
도 7(d) ~ 도 7(e)에 도시된 예와 비교하여, 감지 증폭기당 2개의 래치들 대신 단지 하나의 래치만이 요구된다. 도 8에 도시된 예에서, SB를 처리함에 있어서, SB22를 저장하게 설계된, 도 7(d) ~ 도 7(e)에 예의 제 2 래치는 생략되고 6개의 순차적 판독들로 대체될 수 있음에 유의한다. 이 실시예에서, 이동을 위한 교번하는 (-ΔR, +ΔR) 값들이 채용되는데, 즉, 감지 임계들은 AR'-ΔR, AR'+ΔR, BR'-ΔR, BR'+ΔR, CR'-ΔR, CR'+ΔR이 되게 설정되지만, 그러나 NOT/XOR 시퀀스는 변경되지 않은채로 둔다. 그럼에도불구하고, 도 7에 제시된 SB 수법을 가진 ECC(동일 디코더 및 코드) 정정 능력은 이것과 도 8에 제시된 것 둘 다, 상호 정보를 최대화하기 위해 이들 두 경우들에서 ΔR이 개별적으로 최적화된다고 할 때, 각 판독 셀당 ECC가 4비트들을 수신하는 결과이긴 해도, 도 8에 제시된 것에 비해 더 높다. 이유는 도 8에 제시된 수법에서는 단지 10개가 있지만 도 7에서는 총 13개의 전압 대역들 간에 구별이 있기 때문에 도 7의 수법에서는 도 8에 비해 제어기에 더 많은 정보가 보내지기 때문이다.
판독 회로들을 단순화하기 위한 더미 판독점들
도 9(a) ~ 도 9(d)는 15개의 판독점들을 가진 2-비트 메모리의 판독 레벨들 및 임계 전압 분포들의 예를 도시한 것이다. 이 경우에 2개의 준 HB 및 2개의 비대칭 SB가 있다. 4 판독 사이클들이 있음을 알게 될 것이다. 제 1은 3 판독점들을 가지며, 제 2, 제 3 및 제 4 각각은 4 판독점들을 갖는다. 제 1 판독 사이클에서 더미 판독을 추가함으로써, 모든 4개의 판독 사이클들은 4 판독점들을 가질 것이며, 한 공통의 판독 회로/알고리즘에 의해 균일하게 사용될 수도 있을 것이다.
도 9(a)는 도 4(a)와 유사한 일군의 메모리 셀들에 대한 프로그램된 임계들의 2-비트 분포를 도시한 것이다.
도 9(b)는 이전과 유사하게 AR', BR', CR'에서 판독점들에 의해 정의되는 2개의 준 HB을 도시한 것이다. 준 SB1는 임계 전압들 AR'-2ΔR, BR'-2ΔR, BR'+2ΔR, CR'+2ΔR을 사용한 4 감지 동작들을 요구하며 준 SB2는 8개의 순차적 감지 동작들 AR'-3ΔR, AR'-ΔR, AR'+ΔR, BR'-ΔR, BR'+ΔR, CR'-ΔR, CR'+ΔR, CR'+3ΔR을 사용하여 발생된다. 이에 따라, 이 수법은 HB1 및 HB2을 얻기 위해 3 판독점들에서 판독과, SB1을 얻기 위해 또 다른 4 판독점들에서 판독과, SB2을 얻기 위해 또 다른 4+4 판독점들에서 추가의 판독을 규정한다.
앞서 언급된 바와 같이, NOT/XOR 동작을 더 계통적이 되게 하여, 그럼으로써 플래시 메모리 내에 더 간단한 설계의 회로를 사용할 수 있게 하기 위해서, HB에 대해서도 4 판독점들에서 판독을 구현하는 것이 바람직하다. 이것은 NOT/XOR 동작을 포함하는 4 판독점들의 판독의 동일한 동작을 반복함으로써 모든 비트들이 얻어질 수 있게 할 것이다. 바람직한 실시예에서, HB를 위한 추가의 판독은 HB를 위한 더미 판독에 의해 구현된다(도 9(b)에 점선 화살표로서 표시되었다). 이 추가의 판독점은 임계 윈도우의 낮은 끝에 있고 따라서 전체 래치 상에 항시 '1'을 생성할 것이다. 이에 따라, NOT/XOR은 HB 감지 동작들을 위한 모든 3개의 비(non)-더미 판독점에 대해 활성화될 수 있다.
"더미 판독"의 또 다른 적용은 균일한 SB 판독들의 경우에 있다. 소거 상태(예를 들면 도 4(d)에서 ER1 및 ER21)에 대한 SB 판독들을 제공하기 위해서 음의(negative) 감지가 요구됨은 잘 알려져 있다. 불행히도, 음의 감지는 임계 윈도우에서 플래시 어레이 감지 메커니즘이 얼마나 오래 갈 수 있는지로 제한되며 따라서 이 경우에 일련의 감지 동작들은 단순히 이들을 무시할 수 있는데, 즉 감지 시간을 절약하기 위해서 이들 감지 동작들을 피할 수 있다. 이 수법은 제어기 내 ECC 디코더가 이 감지 수법을 알고 있는 한 채용될 수 있고 이에 따라 이를, 신뢰도 측정치들이 생성되어 이에 따라 소프트 입력 ECC 디코더에 공급될 때 고려할 수 있다. 더 높은 상태에서 가장자리 감지 동작들(예를 들면 CR1 및 CR22)을 무시할 뿐만 아니라 소거 상태(이를테면 위에 도 4(d)에서 ER1 및 ER21와 같은)에서 가장자리 감지를 무시하는 것은 소프트 입력 EEC 디코더 정정 능력들에 거의 영향을 미치지 않음이 이미 발견되었다. 다행히도, 최적화된 비균일한 SB가 고려될 때, 일반적으로 모든 감지가 상태들 사이에(예를 들면 도 9(a)에서 'ER' 상태와 'A' 상태 사이) 중첩 영역 주위에 집중되고 따라서 더 먼 음의 감지가 함께 요구되지 않는다는 사실에 기인하여 어떠한 감지 동작이든 무시할 필요성이 없다.
결론으로, 모든 이들 수법들에 공통인 기본 구성요소들은 몇몇 대조 판독 임계들에 관한 +/-αΔR 이동들(정수 값 α을 사용한)이다. 예를 들면, 2-비트 메모리에 있어서, 대조 판독 임계들은 HB 또는 준 HB을 정의하는 AR, BR, CR, 또는 AR', BR', CR'이다. 그러면, 소프트 비트들을 위한 판독 임계들은 이들 대조 판독 전압 임계들 주위에 정수 이동들에 의해 정의된다. 최적의 한 세트의 판독점들을 얻기 위해서, HB를 위한 한 세트의 대조 판독 임계들은 프로그램하는 것에 관하여 메모리 분할을 정의하는 세트와 반드시 일치하는 것은 아니다. 또한, 소프트 비트들을 위한 판독점들은 전형적으로 하드 비트들을 위한 판독점들 주위에 비대칭으로 위치된다.
커플링에 대한 DLA 보상과 함께 하드 비트들을 판독함과 아울러 소프트-비트 판독들
전형적으로, 현재의 워드라인(WLn) 상에 일군의 메모리 셀들은 병렬로 판독된다. 한 주어진 판독점(판독 임계 레벨)에서 판독하기 위해서, 임계 전압 레벨은 워드라인(WLn)에 적용된다. NAND 아키텍처를 가진 메모리에 있어서, 이웃 워드라인(WLn+1)은 이웃한 데이지-체인 연결의 메모리 셀을 패스-스루(pass-through) 상태로 전환하기 위해 Vread에 설정된다. 이에 따라, WLn+1은 WLn이 서로 다른 판독점들을 거쳐가는 동안 일정한 Vread에 유지된다.
앞서 기술된 실시예들에서, 하드 및 소프트 비트들은 WLn+1의 Vread이 변경되지 않은 채로 있는 동안 WLn 상에 Vth의 조절에 의해 발생된다.
발명의 또 다른 측면에 따라서, 소프트 비트들은 현재의 워드라인(WLn) 상에 전압의 제 1 조절과 이웃 워드라인(WLn+1) 상에 전압의 제 2 조절과의 조합에 의해 발생된다. 예를 들면, 하드 비트들을 위한 제 1 세트의 판독점들(V1, V2,..., Vi)은 WLn+1이 Vread와 같은 제 1 소정의 전압에 설정된 동안 WLn을 조절함으로써 마련된다. 소프트 비트들을 위한 제 2 세트의 판독점들은 서로 다른 Vread 값들에 WLn+1을 또한 조절함으로써 제 1 세트에 대한 오프셋들로서 마련된다.
발명의 이 측면은 DLA("Direct Look-ahead") 판독이라 지칭되는 공지의 판독 기술로 특히 상승작용한다. 수법은 현재의 워드라인(WLn) 상에 메모리 셀들의 하드 비트들을 판독하기 위해서 WLn+1 상에 Vread을 조절한다. 판독 동작이 DLA을 채용할 때 셀(예를 들면 D2)당 4 상태들 및 2 비트들의 경우에 있어서, WLn 상에 각 감지 동작은 4번 수행된다. 예를 들면, WLn 상에 3 판독 대조 점들(Vth1, Vth2, Vth3) 각각에서 판독은 매번 WLn+1 상에 상이한 Vread을 갖고 4번 반복된다. 이들 감지 동작들 중 단지 하나는 WLn 내 셀의 상태를 판정하기 위해서 WLn+1에 프로그램된 상태에 따라 WLn 내 각 셀에 대해 개별적으로 선택된다.
예를 들면, 이웃 워드라인(WLn+1) 상에 메모리 셀들이 상태들('E', 'A', 'B', 'C') 중 어느 하나로 개별적으로 프로그램된다면, 셀들은 WLn 상에 대응하는 이웃 셀들에 대한 가변하는 정도의 교란을 갖는다. 'E' 상태는 셀의 플로팅 게이트 상에 어떠한 전하도 갖지 않으며, 'A' 상태는 더 많은 전하를 가지며, 'C' 상태는 가장 많은 전하를 가져, 현재 워드라인(WLn) 상에 대응하는 이웃 셀들의 플로팅 게이트들에의 커플링 레벨이 증가한다. 커플링 레벨이 높을수록 WLn 내 셀의 명목 임계가 감지되고 있을 때 더 크게 이동될 것이다. DLA 기술은 WLn+1 상에 위치된 이웃 셀들의 커플링 레벨의 영향를 상쇄시키기 위한 반대되는 커플링을 생성하기 위해 WLn 상에 셀들의 감지 동안 WLn+1 상에 Vread에 오프셋 바이어스를 인가한다. 이에 따라, WLn을 감지하는 동안, WLn+1 상에 바이어스 전압들(VreadE, VreadA, VreadB, VreadC)을 인가하는 것은 각각 이웃 WLn+1 상에 상태들('E', 'A', 'B', 'C')로부터 대응하는 커플링 레벨들을 상쇄시킬 것이다.
미국특허 7,436,733는 이웃 워드라인들에 셀들의 플로팅 게이트들 상에 전하들로부터의 교란들에 기인하여 판독 오류들을 보상하기 위한 DLA 기술들을 개시한다. 기술들은 현재의 셀이 프로그램되고 검증되고 이어 더 많은 전하로 프로그램될 때 어떤 전하도 갖지 않는 이웃 셀에 기인한 교란으로부터 비롯되는 판독 오류들을 해결한다. 추가의 이웃 전하는 현재 셀이 이것이 프로그램되고 검증되었을 때보다 더 높은 임계를 갖게 하는 효과를 갖는다. 이것은 현재 셀이 프로그램되고 검증되었을 때보다 이의 임계 레벨이 더 높은 것으로서 판독되는 결과를 초래한다. DLA 판독은 먼저 WLn 상에 이웃 셀들의 프로그램된 상태들을 판독하고 WLn 상에 셀들을 판독할 때 판독 임계들을 효과적으로 조절한다. 이것은 이웃 워드라인(WLn+1)을 판독하고 따라서 현재 워드라인(WLn) 상에 판독을 보상하기 위해 Vread, 즉 WLn+1 상에 전압을 바이어스함으로써 달성된다. 근본적으로, 높게 프로그램된 이웃 상태는 현재 셀의 명목 임계를 위쪽으로 이동시킬 것이다. 현재 셀을 판독할 때, WLn+1 상에 Vread의 더 높은 바이어스는 명목 임계를 이것이 있어야 하는 곳으로 옮기는데 도움을 줄 것이다.
WLn의 판독 동작에 앞서 판독되는 WLn+1으로 프로그램되는 상태에 따라, 선택된 감지가 행해진다. WLn와 WLn+1 간에 CC(교차 커플링)에 대한 큰 변동들에 기인하여, 이 수법은 이웃 WL들 간에 커플링을 완화시키는 것으로 드러난다. 근본적으로, 이것은 셀의 프로그램 동안 셀의 제어 게이트에 의해 보여지는 필드 상태를 재구성하기 위해서 판독시에 이웃 셀에 기인한 교란을 고려함으로써 동작한다. 그러나, 프로그램하는 동안 WLn+1에 인가되는 Vread에 대응하지 않는 모든 이들 감지 동작들은 DLA 판독 동작 동안 폐기된다.
발명의 현재의 측면은 이들 감지 동작이 이들과 함께 수반하는 정보를 폐기하는 대신에 대안적 SB를 발생하기 위해서 이들 다른 낭비되는 감지 동작들을 이용한다. SB를 발생하는 이 방식을 "소프트 비트들로서 DLA 출력들을 사용한다"라고 한다.
이 발명적 측면은 WLn 판독에서 그룹의 각 셀에 대해 4 비트들을 병렬로 발생하기 위해 12 판독점들을 사용하는 2-비트 메모리를 사용하여 보여질 것이다. 그러나, 이 기술은 임의의 수의 BPC(Bits per Cell) 및 BPC 이하의 임의의 수의 SB에 똑같이 적용될 수 있다. 이것은 2-비트 메모리에 있어서 2 준 하드 비트들 외에 또 다른 2 소프트 비트들을 얻을 수 있음을 의미한다. 3 -비트 메모리에 있어서, 셀당 3 준 하드 비트들 외에 또 다른 3 SB, 등을 발생할 수 있다.
도 10(a) ~ 도 10(d)는 판독점들이 WLn 및 WLn+1 둘 다의 전압 조절들의 조합에 의해 설정되는 12 판독점들을 사용하는 2-비트 메모리의 판독 레벨들 및 임계 전압 분포들의 예를 도시한 것이다. 도 10(a)는 WLn+1 내 동일한 BL 내 이웃 셀이 'E'(소거) 상태로 프로그램되는 WLn 내 셀들의 CVD들을 도시한 것이다. 이것은 WLn+1 교란이 없는 경우이다. HB 및 SB는 한 세트의 12 판독점들, 즉 순차적으로 수행되는 가능한 한 세트의 판독들에 따라 S1, S2,...,S12에 의해 발생된다. 한 세트의 12 판독점들은 WLn에 적용될 일군의 3 대조 점들(Vth1, Vth2, Vth3)로부터 발생될 수 있다. 이들 값들은 WLn+1 상에 Vread의 값에 따라 더욱 이동된다.
도 10(b)는 WLn+1 상에 전압(Vread)이 WLn+1 상에 프로그램된 상태 'A'에 대응하는 소정의 값에 설정되어 있을 때 각각 WLn 상에 Vth1, Vth2 및 Vth3으로 S1, S2 및 S3에서 첫번째 3 판독들이 수행되는 것을 도시한 것이다. 이 Vread 값은 Vread[A]로서 표기될 것이다. 제 3 판독의 완료시, "정규 판독" 절차와 유사한 방식으로 2개의 준 HB(하드 비트들)이 발생된다. 이들 두 비트들은 준 HB로서 표기된다. 이들은 WLn+1에 인가되는 Vread에의 어떠한 변화없이 WLn상에 조절만을 사용한다.
또한, WLn에서 4 상태들의 CVD들은 WLn+1 상에 조절에 따른다. 이 마지막 의존성은 다음 도 11 내지 도 13에서 관찰될 수 있다. 동일 BL 상에 이웃 셀이 상태 'A', 'B' 및 'C'로 프로그램되는 셀들에 대한 동일한 3 감지 동작에 관하여 CVD의 위치는 각각 도 11(b), 도 12(b) 및 도 13(b)에 도시되었다. 명목 임계 분포는 WLn+1 상에 점점 더 프로그램된 상태들에 따라 더 낮은 임계값으로 점진적으로 이동됨을 알 것이다. 예를 들면, WLn+1에 상태가 더 높아짐에 따라 마치 WLn의 임계가 동일 CVD 분포 상에서 더 낮아지게 나타나는 것처럼 보인다.
도 10(c) 내지 도 13(c)은 각각 'ER', 'A', 'B' 및 'C인 WLn+1 상에 이웃 상태에 대해 S4 ~ S6에서 판독을 도시한 것이다. WLn+1 상에 Vread가 WLn+1 상에 프로그램된 상태 'C'에 대응하는 소정의 값에 설정된 동안 S4, S5 및 S6에서 판독은 WLn 상에 Vth1, Vth2 및 Vth3으로 각각 행해진다. 이 마지막 Vread 값을 Vread[C]로서 표기한다. 래치(L1)에는 이 4번째 감지 동작에서 도통하는 모든 셀들에 대해 '1'이 공급된다. S5에서 판독은 WLn+1 상에 Vread가 Vread[C]에 설정된 동안 WLn상의 S5로 행해진다. 래치 L2에는 이 5번째 감지 동작에서 도통하는 모든 셀들에 대해 '1'이 공급된다. 래치에는 이 마지막 결과가 두 값들 'L1'과 'L2' 간에 NOT/XOR과 더불어 공급된다. 'L1' 및 'L2'를 사용하는 것에 대한 대안으로 단일 래치가 사용될 수 있는데 이때 L1에 공급되는 것과 동일한 방식으로 먼저 단일 래치에 공급되고 이어 S5를 감지한 후에 감지 증폭기로부터 결과는 이미 설정된 단일 래치 상에서 NOT과 함께 직접 XOR되는 것에 유의한다.
S6에서 판독은 WLn+1 상에 Vread가 Vread[C]에 설정된 동안 WLn 상에 S6으로 행해진다. 래치는 S5 감지 동작 후에 예를 들면 NOT/XOR 동작을 사용하는 것과 동일한 방식으로 업데이트된다. 이때, 플래시 메모리에는 단지 한 래치 및 위에 언급된 NOT/XOR 로직을 사용하여 'B3'으로서 표기된 제 1 준 SB가 제공될 수 있다. B3 데이터는 제어기 (메모리 프로세서/디코더)에 보내질 수 있고, 이어서 래치는 클리어된다.
도 10(d) 내지 도 13(d)는 'ER', 'A', 'B' 및 'C'인 WLn+1 상에 이웃 상태에 대해 각각 S7 ~ S12에서 판독을 도시한 것이다. WLn+1 상에 Vread가 WLn+1 상에 프로그램된 상태 'ER'에 대응하는 소정의 값에 설정된 동안 S7, S9 및 S11에서 판독은 각각 WLn 상에 Vth1, Vth2 및 Vth3로 행해진다. WLn+1 상에 Vread가 WLn+1 상에 프로그램된 상태 'B'에 대응하는 소정의 값에 설정된 동안 S8, S10 및 S12에서 판독은 각각 WLn 상에 Vth1, Vth2 및 Vth3로 행해진다.
이에 따라, S7에서 7번째 감지 동작은 WLn+1 상에 Vread가 WLn+1 상에 프로그램된 상태 'ER'에 대응하는 소정의 값에 설정된 동안 WLn 상에 Vth1로 행해진다. 이 마지막 Vread 값을 Vread[E]로서 표기한다. 전처럼, 래치에는 이 감지 후에 도통하는 모든 셀들에 대해 '1'이 공급된다. S8에서 8번째 감지 동작은 WLn+1 상에 Vread가 WLn+1 상에 프로그램된 상태 'B'에 대응하는 소정의 값에 설정된 동안 WLn 상에 Vth1로 행해진다. 이 마지막 Vread 값을 Vread[B]로서 표기한다. 래치는 5번째 감지 동작 후에 예를 들면 NOT/XOR 루틴을 사용하는 것과 동일한 방식으로 업데이트된다.
S9에서 9번째 감지 동작은 WLn+1 상에 Vread가 Vread[E]에 설정된 동안 Vth2로 행해진다. 래치는 5번째 감지 후에 예를 들면 NOT/XOR 루틴을 사용하는 것과 동일한 방식으로 업데이트된다. S10에서 10번째 감지 동작은 WLn+1 상에 Vread가 Vread[B]에 설정된 동안 WLn상의 Vth2로 행해진된다. 래치는 5번째 감지 후에 예를 들면 NOT/XOR 루틴을 사용하는 것과 동일한 방식으로 업데이트된다.
S11에서 11번째 감지 동작은 WLn+1 상에 Vread가 Vread[E]에 설정된 동안 ㅉWLn상의 Vh3로 행해진다. 래치는 5번째 감지 후에 예를 들면 NOT/XOR 루틴을 사용하는 것과 동일한 방식으로 업데이트된다. S12에서 12번째 감지 동작은 WLn+1 상에 Vread가 Vread[B]에 설정된 동안 WLn 상의 Vth3로 행해진다. 래치는 5번째 감지 후에 예를 들면 NOT/XOR 루틴을 사용하는 것과 동일한 방식으로 업데이트된다. 이때, B4로서 표기된 4 비트들의 마지막이 디코딩을 위해 프래시 밖에 제어기에 보내질 수 있다. 플래시 장치들을 위한 감지 회로들의 일부 구현에서, WLn+1 상에 그리고 WLn 상에 두 Vread를 변경하지 않는 잇점이 있다. 이들 경우에, 먼저 WLn+1 상에 Vread를 Vread[E]에 설정하고 이어 S7, S9 및 S11에서 단일 래치를 업데이트할 때 동일한 결과가 달성될 수 있다. 이후에 WLn+1 상에 Vread를 Vread[B]로 변경하고 S8, S10 및 S12에 따라 제 2 래치를 채운다. 이어서, 한 쌍의 래치들 예를 들면 제 1 및 제 2 래치들 상에 NOT XOR 동작을 적용하여 결과를 이들 중에 하나에(혹은 제 3 래치 상에) 두고 결과만이 제어기에 전송된다. 이 경우에, 또 다른 래치가 요구되나 감지 회로는 더 간단해진다. 이 수법에 대한 더 상세한 것이 도 14 내지 도 17에 관련하여 이하 제공된다.
위에 감지 동작의 순서는 그레이 코딩에서 한 세트의 4 비트들을 발생하는 유일한 방법이 아님에 유의한다. 그레이 코딩을 위한 위에 선택은 표 1에 도시되었다.
B1 1 1 1 1 1 1 0 0 0 0 0 0 0
B2 1 1 0 0 0 0 0 0 0 0 1 1 1
B3 1 1 1 1 0 0 0 0 1 1 1 1 0
B4 1 0 0 1 1 0 0 1 1 0 0 1 1
표 1: DLA 출력 코딩으로서 SB
위에 기술된 실시예의 잇점들은 이의 단순성 및 플래시 장치에서 단지 한개의 래치에 대한 요건이다. 또한, 그레이 코딩이 채용된다는 사실은 판독 동안에 한 상태에서 다른 상태로 천이들의 경우들에 있어 신뢰도(비트 오류들의 수를 최소화한다)를 증가시킨다. 이 실시예에 있어 또 다른 잇점들은 WLn+1에 대한 Vread가 Vread[A]에 변경되지 않고 유지되는 동안 첫번째 3 감지 동작들이 WLn 상에 Vth1, Vth2, Vth3에 대해 조절되기 때문에 조절이 쉽게 행해진다는 것이다. 이어서, 또 다른 3 감지 동작들이 WLn 상에 동일 Vth1, Vth2, Vth3을 사용하여 행해지고 있고 이때 WLn+1는 Vread[C]에 유지되고 있다. 마지막 한 세트의 6 감지 동작들은 WLn+1 상에서 Vread[E]와 Vread[B] 간에 Vread을 교번하면서 각 Vth에 두번 반복, 즉 WLn 상에서 Vth1, Vth1, Vth2, Vth2, Vth3, Vth3 을 사용하여 행해진다.
이 수법이 훨씬 더 단순해지게 하기 위해서, 클리어되고 다른 디지털 처리를 위해 보내질 때까지 한 래치를 채우게 지정된 각 한 세트의 감지 동작에 대해, 중간에 WLn+1 상에 조절을 변경할 필요없이 단지 WLn 상에 Vth를 조절하는 것이 바람직할 것이다.
도 14 내지 도 17은 WLn에서 Vth1, Vth2 및 Vth3 각각에서 판독하는 동안 WLn+1 상에 변하는 조절을 피하기 위해서 소프트 비트들을 처리함에 있어 추가의 래치를 사용하는 또 다른 실시예를 도시한 것이다. 방법은 도 7에 관련하여 기술된 것과 유사하나, 예를 들면 DLA 출력을 사용하는데, 이것은 WLn Vth 값들만을 조절하는 대신에 WLn+1 상에 Vread을 조절한다.
도 14(a) ~ 도 14(c) 내지 도 17(a) ~ 도 (c)는 도 10(a) ~ 도 10(c) 내지 도 13(a) ~ 도 13(c)와 동일하다. 차이는 도 10(d) 내지 도 13(d)와 비교했을 때 도 14(d) ~ 도 14(e) 내지 도 17(d) ~ 도 17(e)에 있다. 도 10(d) 내지 도 13(d)에서 6 감지 동작들의 마지막 사이클은 도 14(d) ~ 도 14(f) 내지 도 17(d) ~ 도 17(f)에서 2개의 서브-사이클들로 분할된다.
도 14(d) ~ 도 17(d)은 준 SB2에 대한 제 1 서브-사이클의 판독을 도시한 것이다. WLn이 Vth1, Vth2 및 Vth3에서 조절하고 있는 동안, WLn+1의 Vread는 Vread[E]에 유지된다.
도 14(e) ~ 도 17(e)은 준 SB2에 대한 제 2 서브-사이클의 판독을 도시한 것이다. WLn이 Vth1, Vth2 및 Vth3에서 조절하고 있는 동안, WLn+1 상에 Vread는 Vread[B]에 유지된다.
도 14(f) ~ 도 17(f)는 준 SB2가 다음과 같이 생성되는 것을 도시한 것이다: 준 SB2 = (준 SB2 부분-1) XOR NOT (준 SB2 부분-2).
이렇게 하여, 4 사이클들 각각의 동안에, WLn+1에 상이한 Vread가 인가되는 동안에 Vth1, Vth2 및 Vth3에서 사이클당 3 감지 동작들로 모든 사이클들에 대해, 통일된 감지 수법이 반복된다. 이들 4 Vread 값들은 Vread[A], Vread[C], Vread[E], Vread[B]의 순서로 인가된다. 이 수법은 래치들의 총 수를 증가시킴이 없이 구현을 더욱 단순화시키며 따라서 2-비트 플래시 메모리의 예에 대해 바람직한 실시예이다.
SB 을 발생하기 위해 DLA 출력들을 사용하는 이 방법은 한 부류의 비-내포 SB 생성에 속함이 명백하다. 자명한 이유는 4 비트들 중에서 첫번째 2 비트들 또는 첫번째 3 비트들만을 취하는 것이 DLA 경우에서처럼 최상의 판독 HB을 제공하지 않기 때문이다. 전체 한 세트의 4 비트들(위에 예에서)만이 동일한 수의 감지 동작들(이 경우에 12)을 유지하면서 소프트 입력 디코더에 대해 동작하는 정규 DLA 판독 동작보다 더 나은 평가를 제공한다.
이들 판독들(플래시 장치의 정규 DLA 판독 동작에선 폐기되는)은 소프트 입력 ECC 디코더의 정정 능력들을 증가시키기 위해 잇점이 있게 사용되며 따라서 시스템에 관련해서 결과는 판독 동작들의 신뢰도를 증가시킨다. 다음은 이 정보를 이용하는 많은 방법들 중 한 단순한 예이다.
위에 수법의 예에 의해 제공되는 4 비트들 외에, 디코더는 WLn+1 상에 각 셀에 대한 평가된 프로그램된 상태에 관한 정보도 수신한다. 디코더는 이때 WLn 내 각 셀에 대해 6 비트들을 사용할 수 있다. 방법은 설계 동안 혹은 제작 동안 행해지는 플래시 장치의 실험적 측정들에 의존한다. 또한, 측정들 및 LLR 설정들은 백그라운드 프로세스로서 장치의 수명 동안에 업데이트될 수 있다.
WLn+1 내 각 이웃 상태에 대해 별도로, WLn 내 모든 셀들이 취해진다. 예를 동일 BL 내에 이웃 셀과 함께 WLn 내에 그리고 'ER'로 프로그램된 WLn+1 내에 모든 셀들은 함께 그룹화된다. 이것은 Eg, Ag, Bg, Cg로서 표기된, 4 그룹들의 셀들을 발생한다.
예를 들면 WL 내에 64K 셀들이 있다면, 각 그룹은 근사적으로 16K 셀들을 유지한다. 'Eg'는 상태 'ER'로 프로그램된 WLn+1 내에 이웃 셀과 함께 WLn 내에 일군의 셀들을 지칭한다. 'Ag'는 상태 'A'로 프로그램된 WLn+1 내에 이웃 셀과 함께 WLn 내에 일군의 셀들을 지칭한다. 'Bg'는 상태 'B'로 프로그램된 WLn+1 내에 이웃 셀과 함께 WLn 내에 일군의 셀들을 지칭한다. 'Cg'는 상태 'C'로 프로그램된 WLn+1 내에 이웃 셀과 함께 WLn 내에 일군의 셀들을 지칭한다.
이제 이러한 각 그룹에 대해서 셀들은 WLn에 프로그램된 상태에 따라 4 그룹들로 더욱 분할된다. 예를 들면, Eg 그룹은 Ege, Ega, Egb, 및 Egc로 분할된다. 이때, 각 그룹 내 각 셀의 4 비트값은 컬럼 'k'(0 내지 12)에서 판독될 행 'j'(0 내지 3)으로 표현되는 상태로 프로그램된 각 셀의 확률을 보유하는 4 행들 및 13 컬럼들의 상태 천이 행렬을 형성하기 위해 사용된다.
예를 들면, '1011'(위에 표 1에서 4번째 컬럼 참조)로서 판독되는 'm1' 셀들에 대응하는 위치 j=1(상태 A로 프로그램된 WLn에 대응하는) 및 컬럼 k=3에 'Ega' 그룹 내에 4K 셀들(4,000 셀들)이 있다고 가정하면, 행 1 및 컬럼 3에 천이 행렬 내 엔트리는 m1/4K로 설정된다.
이 천이 행렬 내 또 다른 엔트리의 생성을 명확하게 하는 또 다른 예는 WLn(예를 들면 j=3)에 대해 'C' 상태로서 프로그램되고 위에 판독 동작을 사용하는 그룹 'Egc' 내 셀들의 수를 카운트하는 것이 될 것이다. 수신된 4 비트들은 위에 표 1에서 컬럼 k=8(0에서 시작한다)에 대응하는 '0011'이다. 이 카운트가 m2이고 그룹 'Egc' 내 셀들의 수 또한 4K이라면, 행 3 및 컬럼 8에서 천이 행렬 내 엔트리는 m2/4K로 설정된다.
크기 4 x 13의 별도의 천이 행렬이 4 그룹들 Eg, Ag, Bg, 및 Cg 각각에 대해 생성됨에 유의한다. 이 상태 천이 행렬은 이제 13 컬럼들 각각에 대한 2 신뢰도 값들을 생성하기 위해 채용된다. 이 신뢰도 값을 나타내는 한 선택은 LLR(Log Likelihood Ratio) 형태이다.
이것은 값 LLR = log2(Pr0/Pr1)을 계산하는 것을 의미한다. 위에 "SB로서 DLA 출력들을 사용" 절차에 따라 셀로부터 4 비트들의 판독이 주어졌다고 할 때, 여기에서 Pr0은 WLn의 셀 내 대응하는 비트가 '0'이 될 확률들의 합을 지칭하며 Pr1는 동일 비트가 '1'가 될 확률들의 합을 지칭한다.
예를 들면, 4 x 13 천이 행렬에서 컬럼 'j'이 확률들 Q0, Q1, Q2, Q3을 유지하고 WLn 내 타겟 셀을 비트들로의 매핑이 표 2에서 처럼 표준 그레이 매핑이라면,
[MSBit LSBit] 상태 천이 행렬의 컬럼 'k'에서 확률들
11 Q0
10 Q1
00 Q2
01 Q3
표 2: 컬럼 예
MSBit 및 LSBit의 LLR은 각각 log2([Q2+Q3]/[Q1+Q0]) 및 log2([Q2+Q1]/[Q3+Q0])이다. Q0, Q1, Q2, Q3은 마지막 3개의 단락들(j = 1에 대한 예에서, 예를 들면, 컬럼 3에서 Q1 = m0/4K, j=3, 예를 들면, 컬럼 8에서 Q3 = m1/4K,...)에서 논의된 방법을 사용하여 실험적으로 측정됨에 유의한다. 이 오프-라인 계산을 완료하였을 때, 표에는 13개의 엔트리들, 및 각 엔트리에 2개의 LLR들이 제공된다. 이러한 표는 위에 4 x 13 천이 행렬들 각각에 대해 개별적으로 생성되어, 총 13 x 2 값들의 총 4개의 표들이 된다.
13 컬럼들에 값들은 그레이 코딩에 있기 때문에, 16 엔트리들의 표가 요구되고 이 중에서 13개의 엔트리들만이 채용된다. 위에 표 2의 예를 사용하고 B1을 MSBit인 것으로 정의하고 B4를 LSBit인 것으로 정의하면 이들 엔트리들은 15, 14, 10, 11, 9, 8, 0, 1, 3, 2, 6, 7, 5이다.
각각 16 x 2 값들의 상기 4개의 표들을 사용하면, 디코딩 프로세스는 다음과 같이 행해진다.
먼저 WLn+1이 판독되어 WLn+1의 제어 게이트에 Vth1, Vth2 및 Vth3을 인가하는 일반적인 통상적인 방식으로 각 셀에 대해 2 비트들을 생성한다. 이들 비트들을 'D1D0'로서 표기한다. 이들 2 비트들이 나타내는 0 내지 3의 정수를 'D'로서 표기한다.
이제 4 비트들이 위에 설명된 바와 같이 WLn 상의 각 셀로부터 판독되는데, 즉, WLn의 Vth 및 WLn+1의 Vread 둘 다를 조절한다. 이들 비트들을 WLn 내 각 셀에 대해 'B3B2B1B0'으로서 표기한다. 이들 4 비트들이 나타내는(표 1에 따라)하는 0 내지 15(단지 13개의 유효한 선택들을 가진)의 정수를 'B'로서 표기한다.
4 LLR 표들 중 하나를 지칭하기 위해 'D'를 사용한다. 어드레스 'B'에서 표 'D' 내에 위치된 2개의 LLR들을 고르기 위해 'B'를 사용한다. WLn의 셀 내 비트들의 신뢰도를 나타내는 이들 2개의 LLR들을 추출하고 이들을 WLn 내 이들 셀들에 프로그램된 비트들을 재구성하기 위해 WLn 내 상당수의 셀들에 대해 정의되는 소프트 입력 디코더에 공급한다. 코드는 상위 및 하위 페이지들 각각에 대해 개별적으로 구성될 수도 있을 것이므로, 다른 실시예에서 이들 두 LLR 값들 중 하나만이 특정 페이지 디코딩 동작에 채용되고 다른 LLR은 제 2 페이지가 디코딩될 때 사용된다. 자명하게 이것은 두 LLR들의 각각의 계산에서 하나는 폐기됨을 의미할 것이다.
발명의 잇점은 제어기의 요구되는 정정 능력이 플래시 장치 내 위치된 데이터에 더 잘 맞을 때 판독 속도의 증가 및 감소된 에너지 소비이다. 또 다른 긍정적 결과는 W/O가 증가하고 리소그래피 세대에서 진보에 따라 디지털 기술이 축소하였을 때 비용이 감소되는 제어기 내 디지털 회로들과는 달리 더 높은 비용으로 플래시 장치에서 요구되는 디지털 회로들이 제공된다는 것이다.
발명의 앞에 상세한 설명은 예시 및 설명의 목적을 위해 제시되었다. 원리를 예시하기 위해 2-비트 메모리가 사용되었을지라도, 발명은 3, 4 또는 이외 다른 비트들의 데이터를 저장할 수 있는 메모리에 똑같이 적용될 수 있다. 발명을 철저히 하거나 개시된 정밀한 형태로 제한하려는 것이 아니다. 많은 수정들 및 변형들이 위에 교시된 바에 비추어 가능하다. 기술된 실시예들은 발명의 원리 및 이의 실제 응용을 최상으로 설명하고 그럼으로써 당업자들이 여러 실시예에서 그리고 고찰된 특별한 용도에 적합한 다양한 수정들로 발명을 최상을 이용할 수 있게 하기 위해 선택되었다. 발명의 범위는 본원에 첨부된 청구항들에 의해 정의되게 하였다.

Claims (20)

  1. 비휘발성 메모리의 셀을 판독하는 방법으로서 - 상기 셀은 제 1 세트의 (L-1) 대조(reference) 임계(threshold)들에 의해 제 1 세트의 L 대역들로 구분된 임계 윈도우를 가지며, L은 정수 > 1이며, 상기 셀은 상기 L 대역들 중 하나 중에 임계로 프로그램된 것임 - ,
    상기 임계 윈도우를 제 2 세트의 (L+M) 대역들로 구분하기 위해 제 2 세트의 (L+M-1) 대조 임계들을 설정하는 단계 - M은 정수 > 0이며, 상기 제 2 세트의 대조 임계들은 상기 제 1 세트의 대조 임계들과 일치하는 위치들 주위에 더 높은 밀도를 갖고 상기 임계 윈도우 내에 비균일하게 분포되고, 상기 제 1 세트의 대조 임계들은 상기 제 2 세트의 서브세트가 아님 - ; 및
    상기 프로그램된 임계를 내포하는 상기 제 2 세트 내에서 상기 대역의 위치를 파악함으로써 상기 셀을 판독하는 단계를 포함하고,
    상기 셀은 제 1 워드라인에 연결되고 이웃 워드라인 상의 전압에 의해 영향을 받으며,
    상기 제 2 세트의 대조 임계들을 설정하는 단계는 상기 제 1 워드라인 상의 제 1 세트의 전압들 및 상기 이웃 워드라인 상의 제 2 세트의 전압들을 조절(modulating)하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서,
    2**x >= L인, 상기 제 1 세트의 L 대역들 각각에 대해 상이한 x-비트 코드 워드를 지정하는 단계;
    2**(x+y) >= L+M인, 상기 제 2 세트의 (L+M) 대역들 각각에 대해 다른 (x+y)-비트 코드 워드를 지정하는 단계; 및
    상기 프로그램된 임계를 내포하는 상기 제 2 세트의 대역을 지정하는 (x+y)-비트 코드 워드를 판독하는 단계
    를 더 포함하는, 방법.
  3. 제 2 항에 있어서, 상기 셀에 대한 오류-정정된 x-비트 코드 워드를 얻기 위해서 상기 판독한 (x+y)-비트 코드 워드를 오류 정정 코드(ECC) 디코더로 처리하는 단계를 더 포함하는, 방법.
  4. 제 3 항에 있어서, 상기 제 2 세트의 대조 임계들을 설정하는 단계는 비균일하게 상기 임계 윈도우에 걸쳐 분포시켜서 상기 (x+y)-비트 코드 워드의 상기 ECC 디코더 처리를 최적화하는, 방법.
  5. 제 3 항에 있어서, 상기 셀에 대한 예상 셀 오류율(CER)을 사전에 결정하는 단계; 및
    상기 ECC 디코더가 상기 사전에 결정된 CER을 정정하기 위해 M 및 y의 값들을 채용하는 단계
    를 더 포함하는, 방법.
  6. 제 3 항에 있어서,
    상기 ECC 디코더가 상기 셀에 대한 상기 오류-정정된 x-비트 코드 워드를 얻을 수 있을 때까지 M 및 y를 점진적으로 증가시킴으로써, M 및 y에 대한 값들을 결정하는 단계; 및
    상기 셀의 후속되는 판독을 위해 M 및 y의 상기 결정된 값들을 채용하는 단계
    를 더 포함하는, 방법.
  7. 삭제
  8. 제 1 항에 있어서, 상기 제 2 세트의 대조 임계들은 복수의 그룹들로 분할되고, 상기 복수의 그룹 각각은 미리 정해진 개수의 대조 임계들을 가지며,
    대조 임계들의 상기 복수의 그룹들 각각에 관하여 상기 셀을 감지함으로써 상기 셀을 비트별로 판독하는 단계를 포함하는, 방법.
  9. 제 8 항에 있어서, 그룹 내 상기 대조 임계들의 개수를 다른 그룹들과 같아지게 하기 위해서 무의미한 더미 대조 임계로 추가의 더미 판독을 제공하는 단계를 더 포함하는, 방법.
  10. 제 1 항에 있어서, 상기 셀은 병렬로 동작되는 상기 비휘발성 메모리의 일군의 메모리 셀들 중 하나인, 방법.
  11. 비휘발성 메모리로서,
    제 1 세트의 (L-1) 대조 임계들에 의해 제 1 세트의 L 대역들로 구분된 임계 윈도우를 가진 셀 - L은 정수 > 1이며, 상기 셀은 상기 L 대역들 중 하나 중에 임계로 프로그램된 것임 - ;
    상기 임계 윈도우를 제 2 세트의 (L+M) 대역들로 구분하기 위한 제 2 세트의 (L+M-1) 대조 임계들 - M은 정수 > 0이며, 상기 제 2 세트의 대조 임계들은 상기 제 1 세트의 대조 임계들과 일치하는 위치들 주위에 더 높은 밀도를 갖고 상기 임계 윈도우 내에 비균일하게 분포되고, 상기 제 1 세트의 대조 임계들은 상기 제 2 세트의 서브세트가 아님 - ;
    상기 프로그램된 임계를 내포하는 상기 제 2 세트 내에서 상기 대역의 위치를 파악함으로써 상기 셀을 판독하는 판독 회로;
    상기 셀에 연결된 제 1 워드라인; 및
    상기 셀에 영향을 미치는 전압을 갖는 이웃 워드라인
    을 포함하고,
    상기 제 2 세트의 대조 임계들은 상기 제 1 워드라인 상의 제 1 세트의 전압들 및 상기 이웃 워드라인 상의 제 2 세트의 전압들을 조절(modulate)해서 설정되는, 비휘발성 메모리.
  12. 제 11 항에 있어서,
    2**x >= L인 상기 제 1 세트의 상기 L 대역들 각각에 대해 다른 x-비트 코드 워드;
    2**(x+y) >= L+M인 상기 제 2 세트의 상기 (L+M) 대역들 각각에 대해 다른 (x+y)-비트 코드 워드
    를 더 포함하고,
    상기 판독 회로는 상기 프로그램된 임계를 내포하는 상기 제 2 세트의 대역을 지정하는 (x+y)-비트 코드 워드를 판독하는 것인, 비휘발성 메모리.
  13. 제 12 항에 있어서, 오류 정정 코드(ECC) 디코더를 더 포함하고,
    상기 ECC 디코더는 상기 셀에 대한 오류-정정된 x-비트 코드 워드를 얻기 위해서 상기 판독한 (x+y)-비트 코드 워드를 상기 오류 정정 코드(ECC) 디코더로 처리하는, 비휘발성 메모리.
  14. 제 13 항에 있어서, 상기 제 2 세트의 대조 임계들은 비균일하게 상기 임계 윈도우에 걸쳐 분포되어 상기 (x+y)-비트 코드 워드의 ECC 디코더 처리를 최적화하는, 비휘발성 메모리.
  15. 제 13 항에 있어서, 상기 셀에 대한 사전에 결정된 예상 셀 오류율(CER)을 더 포함하고,
    상기 제 2 세트의 (L+M) 대역들 각각에 대한 상이한 (x+y)-비트 코드 워드는 상기 ECC 디코더가 상기 사전에 결정된 CER을 정정하기 위해 M 및 y에 대한 값들을 갖는, 비휘발성 메모리.
  16. 제 13 항에 있어서, 상기 ECC 디코더가 상기 셀에 대한 상기 오류-정정된 x-비트 코드 워드를 얻을 수 있을 때까지 각 시도에서 M 및 y를 증가시켜 점진적으로 결정되는 M 및 y에 대한 값들을 상기 제 2 세트의 (L+M) 대역들 각각에 대한 상이한 (x+y)-비트 코드 워드는 가지고;
    상기 판독 회로는 상기 셀의 후속되는 판독을 위해 M 및 y의 상기 결정된 값들에 응답하는 것인, 비휘발성 메모리.
  17. 삭제
  18. 제 11 항에 있어서, 상기 제 2 세트의 대조 임계들은 복수의 그룹들로 구성되고, 상기 복수의 그룹들 각각은 미리 정해진 개수의 대조 임계들을 가지며,
    상기 판독 회로는 대조 임계들의 상기 복수의 그룹들 각각에 관하여 상기 셀을 감지함으로써 상기 셀을 비트별로 판독하는, 비휘발성 메모리.
  19. 제 18 항에 있어서, 상기 제 2 세트 내 그룹에 포함되어 각 그룹 내 대조 임계들의 개수를 같아지게 하기 위한 추가의 더미 대조 임계를 더 포함하고,
    상기 판독 회로가 상기 더미 대조 임계를 포함하거나 포함하지 않는 그룹에 관하여 판독하는 것은 동일 결과를 갖게 하는, 비휘발성 메모리.
  20. 제 11 항에 있어서, 상기 셀은 병렬로 동작되는 상기 비휘발성 메모리의 일군의 메모리 셀들 중 하나인, 비휘발성 메모리.
KR1020137019344A 2010-12-23 2011-12-16 비균일한 수법들로 소프트 비트들을 판독하는 비휘발성 메모리 및 방법들 KR101755072B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/978,322 2010-12-23
US12/978,322 US8099652B1 (en) 2010-12-23 2010-12-23 Non-volatile memory and methods with reading soft bits in non uniform schemes
PCT/US2011/065429 WO2012087803A2 (en) 2010-12-23 2011-12-16 Non-volatile memory and methods with reading soft bits in non uniform schemes

Publications (2)

Publication Number Publication Date
KR20140012632A KR20140012632A (ko) 2014-02-03
KR101755072B1 true KR101755072B1 (ko) 2017-07-06

Family

ID=45443164

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137019344A KR101755072B1 (ko) 2010-12-23 2011-12-16 비균일한 수법들로 소프트 비트들을 판독하는 비휘발성 메모리 및 방법들

Country Status (4)

Country Link
US (1) US8099652B1 (ko)
KR (1) KR101755072B1 (ko)
CN (1) CN103392206B (ko)
WO (1) WO2012087803A2 (ko)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8527840B2 (en) * 2010-04-06 2013-09-03 Densbits Technologies Ltd. System and method for restoring damaged data programmed on a flash device
KR101792868B1 (ko) * 2010-11-25 2017-11-02 삼성전자주식회사 플래시 메모리 장치 및 그것의 읽기 방법
US8880977B2 (en) 2011-07-22 2014-11-04 Sandisk Technologies Inc. Systems and methods of storing data
US8762626B2 (en) * 2011-09-12 2014-06-24 Sandisk Technologies Inc. Data modification based on matching bit patterns
US8787079B2 (en) * 2012-05-07 2014-07-22 Sandisk Technologies Inc. Reading data from multi-level cell memory
US9128710B2 (en) * 2012-06-05 2015-09-08 Sk Hynix Memory Solutions Inc. Power saving techniques that use a lower bound on bit errors
US20140071761A1 (en) 2012-09-10 2014-03-13 Sandisk Technologies Inc. Non-volatile storage with joint hard bit and soft bit reading
US8839074B2 (en) 2012-09-13 2014-09-16 Sandisk Technologies Inc. On chip data recovery for non-volatile storage
US9047974B2 (en) 2012-10-04 2015-06-02 Sandisk Technologies Inc. Erased state reading
KR102083491B1 (ko) 2012-12-05 2020-03-02 삼성전자 주식회사 메모리 장치, 메모리 시스템 및 이의 동작 방법
US9015554B2 (en) 2012-12-20 2015-04-21 Seagate Technology Llc Management of non-valid decision patterns of a soft read retry operation
US9431125B2 (en) * 2013-03-15 2016-08-30 Sandisk Technologies Llc Method and system for adaptive setting of verify levels in flash memory
US8656255B1 (en) * 2013-03-15 2014-02-18 Avalanche Technology, Inc. Method for reducing effective raw bit error rate in multi-level cell NAND flash memory
US10475523B2 (en) 2013-05-31 2019-11-12 Western Digital Technologies, Inc. Updating read voltages triggered by the rate of temperature change
US9697905B2 (en) 2013-05-31 2017-07-04 Sandisk Technologies Llc Updating read voltages using syndrome weight comparisons
US9728263B2 (en) 2013-05-31 2017-08-08 Sandisk Technologies Llc Method and device for iteratively updating read voltages
US9645763B2 (en) 2014-01-13 2017-05-09 Seagate Technology Llc Framework for balancing robustness and latency during collection of statistics from soft reads
KR102174030B1 (ko) * 2014-05-13 2020-11-05 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 읽기 방법
US9460783B2 (en) 2014-06-03 2016-10-04 Micron Technology, Inc. Determining soft data
US9406377B2 (en) 2014-12-08 2016-08-02 Sandisk Technologies Llc Rewritable multibit non-volatile memory with soft decode optimization
US10474525B2 (en) * 2015-08-11 2019-11-12 Sandisk Technologies Llc Soft bit techniques for a data storage device
US10043575B2 (en) * 2016-08-10 2018-08-07 SK Hynix Inc. Memory system with read threshold estimation and operating method thereof
KR101955408B1 (ko) 2017-06-29 2019-03-08 순천향대학교 산학협력단 레져용 카트의 경사로 슬라이드 시트
US10636504B2 (en) 2017-10-31 2020-04-28 Sandisk Technologies Llc Read verify for improved soft bit information for non-volatile memories with residual resistance
US10418097B2 (en) 2017-11-27 2019-09-17 Western Digital Technologies, Inc. Non-volatile storage system with read calibration
US10552259B2 (en) 2018-03-15 2020-02-04 Western Digital Technologies, Inc. Recovery combining hard decoding, soft decoding and artificial codeword generation
US10658066B2 (en) * 2018-09-05 2020-05-19 Micron Technology, Inc. First-pass continuous read level calibration
US10629278B2 (en) 2018-09-05 2020-04-21 Micron Technology, Inc. First-pass dynamic program targeting (DPT)
KR102658792B1 (ko) 2018-09-21 2024-04-18 삼성전자주식회사 비휘발성 메모리 장치 및 비휘발성 메모리 장치의 동작 방법
US11238942B2 (en) 2018-09-21 2022-02-01 Samsung Electronics Co., Ltd. Nonvolatile memory devices
US11244732B2 (en) * 2018-09-28 2022-02-08 Western Digital Technologies, Inc. Single page read level tracking by bit error rate analysis
US10811091B2 (en) 2018-10-12 2020-10-20 Western Digital Technologies, Inc. Adaptive processing for read threshold voltage calibration
CN109859792B (zh) * 2018-12-25 2021-05-04 北京大学 一种阈值电压分布预测方法及装置
US11119848B2 (en) 2019-07-10 2021-09-14 Micron Technology, Inc. Logic based read sample offset in a memory sub system
US11562793B2 (en) * 2020-05-07 2023-01-24 Micron Technology, Inc. Read soft bits through boosted modulation following reading hard bits
US11289172B2 (en) 2020-08-13 2022-03-29 Western Digital Technologies, Inc. Soft bit reference level calibration
US11456754B2 (en) 2020-10-13 2022-09-27 Western Digital Technologies, Inc. Fixed size soft bit lossy compression in flash memory
US11456758B1 (en) 2021-04-23 2022-09-27 Western Digital Technologies, Inc. Adaptive soft-bit compression in flash memory
TW202244732A (zh) * 2021-05-12 2022-11-16 群聯電子股份有限公司 資料存取方法、記憶體控制電路單元以及記憶體儲存裝置
US11538534B1 (en) * 2021-06-08 2022-12-27 Western Digital Technologies, Inc. Soft bit reference level calibration using decoded data
CN113553213B (zh) * 2021-07-14 2022-11-04 长江存储科技有限责任公司 存储单元的数据读取方法、存储器、存储系统及存储介质
US11874736B2 (en) 2021-08-11 2024-01-16 Apple Inc. Calculating soft metrics depending on threshold voltages of memory cells in multiple neighbor word lines

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5095344A (en) 1988-06-08 1992-03-10 Eliyahou Harari Highly compact eprom and flash eeprom devices
US5070032A (en) 1989-03-15 1991-12-03 Sundisk Corporation Method of making dense flash eeprom semiconductor memory structures
US5343063A (en) 1990-12-18 1994-08-30 Sundisk Corporation Dense vertical programmable read only memory cell structure and processes for making them
US6222762B1 (en) 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
US5313421A (en) 1992-01-14 1994-05-17 Sundisk Corporation EEPROM with split gate source side injection
US5315541A (en) 1992-07-24 1994-05-24 Sundisk Corporation Segmented column memory array
KR0169267B1 (ko) 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
US5661053A (en) 1994-05-25 1997-08-26 Sandisk Corporation Method of making dense flash EEPROM cell array and peripheral supporting circuits formed in deposited field oxide with the use of spacers
US5903495A (en) 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
US5768192A (en) 1996-07-23 1998-06-16 Saifun Semiconductors, Ltd. Non-volatile semiconductor memory cell utilizing asymmetrical charge trapping
KR100272037B1 (ko) 1997-02-27 2000-12-01 니시무로 타이죠 불휘발성 반도체 기억 장치
US6768165B1 (en) 1997-08-01 2004-07-27 Saifun Semiconductors Ltd. Two bit non-volatile electrically erasable and programmable semiconductor memory cell utilizing asymmetrical charge trapping
US6538922B1 (en) * 2000-09-27 2003-03-25 Sandisk Corporation Writable tracking cells
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
US7023735B2 (en) 2003-06-17 2006-04-04 Ramot At Tel-Aviv University Ltd. Methods of increasing the reliability of a flash memory
US7301807B2 (en) * 2003-10-23 2007-11-27 Sandisk Corporation Writable tracking cells
US7372730B2 (en) * 2004-01-26 2008-05-13 Sandisk Corporation Method of reading NAND memory to compensate for coupling between storage elements
JP4737965B2 (ja) 2004-09-30 2011-08-03 株式会社東芝 テレビジョン受像機
US7187585B2 (en) * 2005-04-05 2007-03-06 Sandisk Corporation Read operation for non-volatile storage that includes compensation for coupling
US7681109B2 (en) * 2005-10-13 2010-03-16 Ramot At Tel Aviv University Ltd. Method of error correction in MBC flash memory
US7310255B2 (en) * 2005-12-29 2007-12-18 Sandisk Corporation Non-volatile memory with improved program-verify operations
US7436733B2 (en) 2006-03-03 2008-10-14 Sandisk Corporation System for performing read operation on non-volatile storage with compensation for coupling
US7639531B2 (en) * 2006-05-15 2009-12-29 Apple Inc. Dynamic cell bit resolution
US8042029B2 (en) 2006-05-21 2011-10-18 Ramot At Tel Aviv University Ltd. Error correction decoding by trial and error
TWI353521B (en) * 2006-09-28 2011-12-01 Sandisk Corp Soft-input soft-output decoder for nonvolatile mem
TWI380311B (en) * 2006-12-29 2012-12-21 Sandisk Technologies Inc Systems and methods for margined neighbor reading for non-volatile memory read operations including coupling compensation
US7729165B2 (en) * 2007-03-29 2010-06-01 Flashsilicon, Incorporation Self-adaptive and self-calibrated multiple-level non-volatile memories

Also Published As

Publication number Publication date
US8099652B1 (en) 2012-01-17
CN103392206B (zh) 2016-07-13
CN103392206A (zh) 2013-11-13
KR20140012632A (ko) 2014-02-03
WO2012087803A2 (en) 2012-06-28
WO2012087803A3 (en) 2012-08-23

Similar Documents

Publication Publication Date Title
KR101755072B1 (ko) 비균일한 수법들로 소프트 비트들을 판독하는 비휘발성 메모리 및 방법들
US9070472B2 (en) Non-volatile memory and methods with soft-bit reads while reading hard bits with compensation for coupling
US8782495B2 (en) Non-volatile memory and methods with asymmetric soft read points around hard read points
US10872013B2 (en) Non volatile memory controller device and method for adjustment
US7697326B2 (en) Reducing programming error in memory devices
US9928126B1 (en) Recovery from cross-temperature read failures by programming neighbor word lines
US8775901B2 (en) Data recovery for defective word lines during programming of non-volatile memory arrays
US8797795B2 (en) Methods and apparatus for intercell interference mitigation using modulation coding
US8386861B2 (en) Non-volatile memory and method with post-write read and adaptive re-write to manage errors
US9224457B2 (en) Non-volatile storage with temperature compensation based on neighbor state information
US8365040B2 (en) Systems and methods for handling immediate data errors in flash memory
US9454414B2 (en) System and method for accumulating soft information in LDPC decoding
US9106264B2 (en) Encoding and decoding in flash memories using convolutional-type low-density parity check codes
US9269444B2 (en) Adaptive initial program voltage for non-volatile memory
WO2009053963A2 (en) Methods for adaptively programming flash memory devices and flash memory systems incorporating same
JP2009537055A (ja) 適応能力を有するメモリ素子
US10014050B2 (en) High sum-rate write-once memory
CN112562772B (zh) 自适应低密度奇偶校验硬解码器

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
A302 Request for accelerated examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)