KR101125876B1 - M 비트 메모리 셀을 위한 m+n 프로그래밍 및 m+l 비트 읽기 - Google Patents

M 비트 메모리 셀을 위한 m+n 프로그래밍 및 m+l 비트 읽기 Download PDF

Info

Publication number
KR101125876B1
KR101125876B1 KR1020107013374A KR20107013374A KR101125876B1 KR 101125876 B1 KR101125876 B1 KR 101125876B1 KR 1020107013374 A KR1020107013374 A KR 1020107013374A KR 20107013374 A KR20107013374 A KR 20107013374A KR 101125876 B1 KR101125876 B1 KR 101125876B1
Authority
KR
South Korea
Prior art keywords
threshold voltage
memory
programming
data
memory cell
Prior art date
Application number
KR1020107013374A
Other languages
English (en)
Other versions
KR20100093089A (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 KR20100093089A publication Critical patent/KR20100093089A/ko
Application granted granted Critical
Publication of KR101125876B1 publication Critical patent/KR101125876B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3427Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C27/00Electric analogue stores, e.g. for storing instantaneous values
    • G11C27/005Electric analogue stores, e.g. for storing instantaneous values with non-volatile charge storage, e.g. on floating gate or MNOS
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/16Storage of analogue signals in digital stores using an arrangement comprising analogue/digital [A/D] converters, digital memories and digital/analogue [D/A] converters 

Abstract

요구되는 것보다 더 높은 임계 전압 분해능을 이용하여 메모리 어레이의 셀을 프로그래밍 및/또는 읽기 위한 메모리 장치와, 프로그래밍 및/또는 읽기 프로세스가 제시된다. 비-휘발성 메모리 셀을 프로그래밍하는 경우, 이는, 프로그래밍 동안 좀 더 정확한 임계 전압 배치가 가능하도록 하고, 프로그래밍 장애에 대하여 사전-보상이 가능하도록 하며, 이로 인해, 셀에서의 임의의 후속 읽기 또는 검증 동작의 정확성을 증가시킨다. 읽기/감지 메모리 셀에서, 증가된 임계 전압 분해능은, 메모리 셀의 프로그래밍된 상태를 더 정확히 해석할 수 있도록 하고, 또한, 길쌈 코드, 부분 응답 최대 유사도(PRML), 저-밀도 패리티 체크(LDPC), 터보, 및 격자 변조 인코딩 및/또는 디코딩과 같은 확률적 데이터 인코딩 기법을 좀 더 효과적으로 이용할 수 있도록 하며, 이로 인해, 메모리의 전체 에러율이 감소된다.

Description

M 비트 메모리 셀을 위한 M+N 프로그래밍 및 M+L 비트 읽기{M+N PROGRAMMING AND M+L BIT READ FOR M BIT MEMORY CELLS}
본 발명은 일반적으로 반도체 메모리에 관한 것으로, 더욱 상세하게는, 정보의 2 이상의 비트의 데이터 값을 전달하기 위하여 아날로그 신호를 이용하는 고체 상태 비-휘발성 메모리 장치 및 시스템에 관한 것이다.
전자 장치는 일반적으로, 그에 이용될 수 있는 일부 유형의 대량 저장 장치를 갖는다. 일반적인 예로는 하드 디스크 드라이브(HDD)가 있다. HDD는 비교적 저비용으로 많은 양을 저장할 수 있는데, 즉 현재 소비되고 있는 HDD는 1 테라바이트 이상의 용량을 갖는다.
HDD는 일반적으로, 회전하는 자기 매체 또는 플래터(platter)에 데이터를 저장한다. 데이터는 일반적으로 자속 반전(magnetic flux reversal)의 패턴으로 플래터에 저장된다. 일반적인 HDD에 데이터를 기록하기 위하여, 데이터를 나타내기 위한, 플래터 위의 자기 입자를 정렬하기 위해 플래터 위를 부유(floating)하는 쓰기 헤드(write head)가 일련의 자기 펄스를 생성하면서, 플래터가 고속으로 회전한다. 일반적인 HDD로부터 데이터를 읽기 위하여, 자기 저항성 읽기 헤드가 고속으로 회전하는 플래터 위를 부유할 때, 상기 자기 저항성 읽기 헤드에 저항성 변화가 유도된다. 실제에서, 최종 데이터 신호는 아날로그 신호이며, 이러한 아날로그 신호의 마루(peak)와 골(valley)이 데이터 패턴의 자속 반전의 결과이다. 그 후, 아날로그 데이터 신호를 샘플링하기 위해 부분 응답 최대 유사도(partial response maximum likelihood, PRML)라 불리는 디지털 신호 처리 기법이 이용되어, 데이터 신호 생성의 원인이 되는 가능한 데이터 패턴을 결정할 수 있다.
HDD는 기계적 특성으로 인하여 특정한 결점을 가진다. HDD는 충격, 진동 또는 강한 자기장으로 인해, 손상이나 과도한 읽기/쓰기 에러가 발생하기 쉽다. 이에 더하여, HDD는 휴대용 전자 장치에서 비교적 전력 소비가 크다.
대량 저장 장치의 또 다른 예로는 고체 상태 드라이브(SSD)가 있다. SDD는 회전 매체에 데이터를 저장하는 대신 반도체 메모리 장치를 이용하여 데이터를 저장하나, 자신의 호스트 시스템에게 SDD가 일반적인 HDD인 것처럼 보이게 만드는 폼 팩터와 인터페이스를 포함한다. SDD의 메모리 장치는 통상적으로 비-휘발성 플래시 메모리 장치이다.
플래시 메모리 장치는 넓은 범위의 전자 애플리케이션을 위한 비-휘발성 메모리의 인기 소스로 발전되어 왔다. 플래시 메모리 장치는 통상적으로, 높은 메모리 밀도, 높은 신뢰성, 및 낮은 전력 소비를 가능하도록 하는 1-트랜지스터 메모리 셀을 이용한다. 전하 저장 노드의 프로그래밍(가령, 부동 게이트, 또는 트래핑층, 또는 그 밖의 다른 물리적 현상)을 통한 셀의 임계 전압의 변화가 각각의 셀의 데이터 값 상태를 판단할 수 있다. 플래시 메모리 및 그 밖의 다른 비-휘발성 메모리에 대한 일반적 이용으로는, PDA(personal digital assistant), 디지털 카메라, 디지털 미디어 플레이어, 디지털 레코더, 게임, 기기(appliance), 운반 수단(vehicle), 무선 장치, 모바일 폰, 및 이동식 메모리 모듈이 있으며, 비-휘발성 메모리에 대한 이러한 이용예가 계속 확장되고 있다.
HDD와 달리, SDD의 동작은 고체 상태 성질로 인해 진동, 충격, 또는 자기장 관계에 일반적으로 영향을 받지 않는다. 이와 유사하게, 부품을 이동시키지 않고도 SDD는 HDD보다 더 낮은 전력 요구치를 가진다. 그러나, SDD는, 동일한 폼 팩터의 HDD에 비해 훨씬 작은 저장 용량을 가지며, 비트 당 상당한 고비용이 든다.
전술한 이유들, 그리고 본 명세서를 읽고 이해하는데 있어서 해당업계 종사자에게 명백한 그 밖의 다른 이유들로 인해, 해당업계에서는 대안적인 대량 저장 선택사양을 필요로 한다.
도 1은 본 발명의 일 실시예에 따른 메모리 장치에 대한 간략화된 블록도이다.
도 2는 도 1의 메모리 장치에서 발견될 수도 있는 예시적 NAND 메모리의 일부에 대한 개념도이다.
도 3은 본 발명의 일 실시예에 따른 고체 상태 대량 저장 장치의 블록 개념도이다.
도 4는 본 발명의 일 실시예에 따라, 읽기/쓰기 채널에 의해 메모리 장치로부터 수신될 수도 있는 데이터 신호를 개념적으로 보여주는 파형을 도시한다.
도 5는 본 발명의 일 실시예에 따른 전자 시스템의 블록 개념도이다.
도 6a-6b는 본 발명의 실시예에 따른 비-휘발성 메모리 셀의 임계 전압 논리 윈도우 상태를 상세히 나타내는 세부적 다이어그램이다.
도 7은 아날로그 데이터 통신을 이용하는, 본 발명의 일 실시예에 따른 전자 시스템의 블록 개념도이다.
도 8 및 9는 디지털 데이터 통신을 이용하는, 본 발명의 실시예에 따른 전자 시스템의 블록 개념도이다.
본 발명에 대한 이하의 상세 설명에서, 본 명세서의 일부를 이루는 첨부 도면이 참조되고, 이들 도면에서 예시적 특정 실시예가 예로써 나타나며, 이들 도면에서 실시예가 실행된다. 이들 실시예는 해당업계 종사자가 본 발명을 실시할 수 있도록 충분한 세부 사항을 설명하며, 그 밖의 다른 실시예가 이용될 수도 있고, 본 발명의 범위를 벗어나지 않는 한 전기적 또는 기계적 변경이 이루어질 수도 있다. 따라서, 이하의 상세 설명이 제한적으로 이해되어서는 안된다.
종래의 고체-상태 메모리 장치는 2진 신호의 형태로 데이터를 전송한다. 통상적으로, 접지 전위가 데이터 비트의 제 1 논리 레벨(가령, '0' 데이터 값)을 나타내고, 공급 전위가 데이터 비트의 제 2 논리 레벨(가령, '1' 데이터 값)을 나타낸다. 다중-레벨 셀(MLC)에, 가령, 각각의 범위에 대하여 200 mV의 서로 다른 네 개의 임계 전압(Vt) 범위가 할당될 수 있고(각각의 범위는 별개의 데이터 상태에 대응함), 이로써, 네 개의 데이터 값 또는 비트 패턴을 나타낼 수 있다. 통상적으로, Vt 분포가 겹치는 것을 저지하기 위해, 0.2V 에서 0.4V 의 마진(margin) 또는 데드 스페이스(dead space)가 각각의 범위 사이에 있다. 셀의 Vt가 제 1 범위 내에 있는 경우, 상기 셀은 11 논리 상태를 저장하는 것으로 간주될 수 있고, 일반적으로 셀의 소거 상태(erased state)로 간주된다. Vt가 제 2 범위 내에 있는 경우, 상기 셀은 10 논리 상태를 저장하는 것으로 간주될 수 있다. Vt가 제 3 범위 내에 있는 경우, 상기 셀은 00 논리 상태를 저장하는 것으로 간주될 수 있다. Vt가 제 4 범위 내에 있는 경우, 상기 셀은 01 논리 상태를 저장하는 것으로 간주될 수 있다.
전술된 종래의 MLC를 프로그래밍하는 경우, 셀이, 소거 상태에 대응하도록, 블록으로서, 일반적으로 먼저 소거된다. 셀의 블록 소거에 뒤이어, 필요한 경우, 각각의 셀의 최하위 비트(LSB)가 먼저 프로그래밍된다. 예를 들어, LSB가 1인 경우, 프로그래밍이 필요하지 않지만, LSB가 0인 경우, 목표 메모리 셀의 Vt가 11 논리 상태에 대응하는 Vt 범위로부터 10 논리 상태에 대응하는 Vt 범위로 이동된다. LSB의 프로그래밍에 뒤이어, 각각의 셀의 최상위 비트(MSB)가 유사한 방식으로 프로그래밍되어, 필요한 경우 Vt를 이동시킨다. 종래의 메모리 장치의 MLC를 읽을 때, 하나 이상의 읽기 동작에서, 어느 범위에 셀 전압의 Vt가 해당하는지를 일반적으로 판단한다. 예를 들어, 제 1 읽기 동작에서, 목표 메모리 셀의 Vt가, 1 또는 0이 되는 MSB를 나타내는지 여부를 판단하고, 제 2 읽기 동작에서, 목표 메모리 셀의 Vt가, 1 또는 0이 되는 LSB를 나타내는지 여부를 판단한다. 그러나, 각각의 경우에서, 얼마나 많은 비트가 각각의 셀에 저장되어 있는지 여부와 관계 없이, 단일 비트가 목표 메모리 셀의 읽기 동작으로부터 리턴된다. 더 많은 비트가 각각의 MLC에 저장될수록, 다수의 프로그래밍 및 읽기 동작의 이러한 문제점은 더욱 더 큰 문제가 된다. 이러한 각각의 프로그래밍 또는 읽기 동작이 2진 동작이기 때문에(즉, 셀 당 단일 비트의 정보를 각각 프로그래밍하거나 리턴하기 때문에), 각각의 MLC에 더 많은 비트가 저장됨에 따라 동작 시간은 더욱 더 길어지게 된다.
예시적 실시예의 메모리 장치가, 메모리 셀에 Vt 범위로서 데이터를 저장한다. 그러나, 종래의 메모리 장치와는 반대로, 프로그래밍 및 읽기 동작은, MLC 데이터 값의 이산 비트로서가 아니라 MLC 데이터 값을 완전하게 나타내는 데이터 신호(가령, MLC 데이터 값의 완전한 비트 패턴)를 이용할 수 있다. 예를 들어, 2-비트 MLC 장치에서, 셀의 LSB 프로그래밍, 그리고, 뒤이은 상기 셀의 MLB 프로그래밍 대신에, 이들 두 비트의 비트 패턴을 나타내도록 목표 임계 전압이 프로그래밍될 수 있다. 즉, 메모리 셀이 자신의 목표 임계 전압을 획득할 때까지, 제 1 비트에 대한 제 1 임계 전압에 대하여 프로그래밍하고 제 2 비트에 대한 제 2 임계전압으로 이동하기 보다는, 일련의 프로그래밍 및 검증 동작이 상기 메모리 셀에 적용될 수 있다. 이와 유사하게, 셀에 저장된 각각의 비트를 판단하기 위하여 다수의 읽기 동작을 이용하는 대신, 셀의 임계 전압이 판단될 수도 있고, 셀의 완전한 데이터 값 또는 비트 패턴을 나타내는 단일 신호로서 셀의 임계 전압이 전송될 수도 있다. 다양한 실시예의 메모리 장치는, 종래의 메모리 장치에서와 같이 메모리 셀이 일부 공칭(nominal) 임계 전압 이상 또는 이하의 임계 전압을 가지는지 여부만을 단지 조사하는 것은 아니다. 대신에, 가능한 임계 전압의 연속체(continuum)에 걸쳐 상기 메모리 셀의 실제 임계 전압을 나타내는 전압 신호가 생성된다. 셀 카운트 당 비트가 증가함에 따라, 이러한 접근의 이점이 좀 더 유의해진다. 예를 들어, 메모리 셀이 8비트의 정보를 저장하기 위한 것이었던 경우, 단일 읽기 동작이 8비트의 정보를 나타내는 단일 아날로그 신호를 리턴할 것이다.
도 1은 본 발명의 일 실시예에 따른 메모리 장치(101)에 대한 간략화된 블록도이다. 메모리 장치(101)는 행과 열로 배열된 메모리 셀의 어레이(104)를 포함한다. 다양한 실시예가 NAND 메모리 어레이와 관련해 주로 설명될 것이지만, 이들 다양한 실시예가 메모리 어레이(104)의 특정 아키텍처에 한정되지는 않는다. 본 발명에 적합한 그 밖의 다른 아키텍처의 일부 예시로는, NOR 어레이, AND 어레이, 및 가상 접지 어레이를 포함한다. 그러나, 일반적으로, 본 명세서에 기술된 실시예들은, 각각의 메모리 셀의 임계 전압을 나타내는 데이터 신호의 생성을 가능하게 하는 임의의 어레이 아키텍쳐에 적응 가능하다.
메모리 장치(101)로 제공되는 주소 신호를 디코딩하기 위하여, 행(row)-디코딩 회로(108)와 열(column)-디코딩 회로(110)가 제공된다. 메모리 어레이(104)를 액세스하기 위해 주소 신호가 수신 및 디코딩된다. 메모리 장치(101)는 또한, 메모리 장치(101)로의 명령(command), 주소 및 데이터의 입력뿐만 아니라, 메모리 장치(101)로부터의 데이터 및 상태 정보의 출력을 관리하기 위한 입/출력(I/O) 제어 회로(112)를 포함한다. 주소 신호를 디코딩 이전에 래치(latch)하기 위하여, 주소 레지스터(114)가 I/O 제어 회로(112)와 행-디코딩 회로(108)와 열-디코딩 회로(110) 사이에 연결된다. 명령 레지스터(124)가 I/O 제어 회로(112)와 제어 논리(116) 사이에 연결되어, 입력되는 명령을 래치한다. 제어 논리(116)가 명령에 대한 응답으로 메모리 어레이(104)에 대한 액세스를 제어하고, 외부 프로세서(130)에 대한 상태 정보를 생성한다. 제어 논리(116)가 행-디코딩 회로(108)와 열-디코딩 회로(110)에 연결되어, 주소에 대한 응답으로 행-디코딩 회로(108)와 열-디코딩 회로(110)를 제어한다.
제어 논리(116)는 또한 샘플 및 홀드 회로(sample and hold circuitry)(118)에도 연결된다. 샘플 및 홀드 회로(118)는 아날로그 전압 레벨의 형태로 입력 또는 출력되는 데이터를 래치한다. 예를 들어, 샘플 및 홀드 회로는, 메모리 셀에 기록될 데이터를 나타내는 입력 전압 신호 또는 메모리 셀로부터 감지되는 임계 전압을 나타내는 출력 전압 신호를 샘플링하기 위하여 커패시터 또는 그 밖의 아날로그 저장 장치를 포함할 수 있다. 샘플 및 홀드 회로(118)는 외부 장치로 더 강한 데이터 신호를 제공하기 위하여, 샘플링된 전압의 증폭 및/또는 버퍼링을 추가로 제공할 수도 있다.
아날로그 전압 신호의 핸들링이 CMOS 이미저 기술의 영역에서 잘 알려져 있는 접근법과 유사한 접근법을 취할 수 있고, 이러한 접근법에서, 입사 조명에 대한 응답으로 이미저의 픽셀에 생성되는 전하 레벨이 커패시터에 저장된다. 그 후 이러한 전하 레벨은, 기준 커패시터를 갖는 차동 증폭기를 이용하여 차동 증폭기에 대한 제 2 입력으로서의 전압 신호로 변환된다. 그 후 차동 증폭기의 출력이 아날로그-디지털 변환(ADC) 장치로 전달되어 조명의 강도를 나타내는 디지털 값을 획득할 수 있다. 본 발명의 실시예에서, 메모리 셀을 각각 읽거나 프로그래밍하기 위하여, 전하를, 메모리 셀의 실제 또는 목표 임계 전압을 나타내는 전압 레벨 하에 두는 것에 대한 응답으로, 상기 전하가 커패시터에 저장될 수 있다. 그 후 이러한 전하는, 접지 입력 또는 그 밖의 기준 신호를 갖는 차동 증폭기를 이용하여 제 2 입력으로서의 아날로그 전압으로 변환될 수 있다. 그 후 차동 증폭기의 출력은, 읽기 동작의 경우에 메모리 장치로부터의 출력을 위해 I/O 제어 회로(112)에 전달될 수 있고, 또는, 메모리 장치 프로그래밍에 있어서 하나 이상의 검증 동작 동안 비교를 위해 이용될 수도 있다. 메모리 장치(101)가 아날로그 또는 디지털 데이터 인터페이스와 통신하도록 적응될 수 있도록, 읽기 데이터를 아날로그 신호로부터 디지털 비트 패턴으로 변환하고, 쓰기 데이터를 디지털 비트 패턴으로부터 아날로그 신호로 변환하기 위하여, I/O 제어 회로(112)는 아날로그-디지털 변환 기능성, 및 디지털-아날로그 변환(DAC) 기능성을 선택적으로 포함할 수 있다.
쓰기 동작 동안, 메모리 어레이(104)의 목표 메모리 셀은, 목표 메모리 셀의 Vt 레벨을 나타내는 전압이 샘플 및 홀드 회로(118)에서 유지되는 레벨과 정합될 때까지 프로그래밍된다. 이는, 한 예로서, 유지되는 전압 레벨을 목표 메모리 셀의 임계 전압에 비교하기 위한 차동 감지 장치를 이용하여 이루어질 수 있다. 종래의 메모리 프로그래밍과 유사하게, 목표 메모리 셀의 임계 전압을 증가시키기 위하여 요구되는 값에 도달하거나 이를 초과할 때까지 프로그래밍 펄스가 목표 메모리 셀에 적용될 수 있다. 읽기 동작에서, 목표 메모리 셀의 Vt 레벨은, ADC/DAC 기능이 메모리 장치의 외부에 또는 메모리 장치 내에 제공되는지에 따라서, 아날로그 신호로서 직접 또는 아날로그 신호의 디지털 표현으로서 외부 프로세서(도 1에 도시되지 않음)에 전송되기 위하여 샘플 및 홀드 회로(118)로 전달된다.
셀의 임계 전압이 다양한 방식으로 결정될 수도 있다. 예를 들어, 워드 라인 전압이 목표 메모리 셀이 활성화되는 지점에서 샘플링 될 수 있다. 대안적으로, 승압 전압(boosted voltage)이 목표 메모리 셀의 제 1 소스/드레인 측에 인가될 수 있고, 상기 제 1 소스/드레인 측의 제어 게이트 전압과 그 밖의 다른 소스/드레인 측에서의 전압의 차이로서 임계 전압이 획득될 수 있다. 샘플링된 전압을 저장하기 위하여, 전압을 커패시터에 연결함으로써 전하가 커패시터와 공유될 것이다. 샘플링된 전압은, 임계 전압과 동일할 필요는 없으며 상기 임계 전압을 나타낼 필요만 있다. 예를 들어, 승압 전압을 메모리 셀의 제 1 소스/드레인 측에, 그리고 알려져 있는 전압을 상기 제 1 소스/드레인 측의 제어 게이트에 인가하는 경우, 메모리 셀의 제 2 소스/드레인 측에서 발생하는 전압이 메모리 셀의 임계 전압을 나타내기 때문에, 상기 발생된 전압이 데이터 신호로서 취해질 수 있다.샘플 및 홀드 회로(118)가 캐시(cache)(가령, 각각의 데이터 값을 위한 다수의 저장 장소)를 포함하여, 메모리 장치(101)가 제 1 데이터 값을 외부 프로세서로 전달하면서 그 다음 데이터 값을 읽고 있거나, 또는 제 1 데이터 값을 메모리 어레이(104)에 기록하면서 그 다음 데이터 값을 수신하고 있을 수도 있다. 상태 레지스터(122)가 I/O 제어 회로(112)와 제어 논리(116) 사이에 연결되어, 외부 프로세서로의 출력에 대한 상태 정보를 래치한다.
메모리 장치(101)는 제어 링크(132)를 통해 제어 논리(116)에서 제어 신호를 수신한다. 제어 신호는 칩 활성화(chip enable, CE # ), 명령 래치 활성화(command latch enable, CLE ), 주소 래치 활성화(address latch enable, ALE ), 및 쓰기 활성화(write enable, WE # )를 포함할 수 있다. 메모리 장치(101)는 다중화된 입/출력(I/O) 버스(134)를 통해 외부 프로세서로부터 명령(명령 신호의 형태), 주소(주소 신호의 형태), 및 데이터(데이터 신호의 형태)를 수신하고, 상기 I/O 버스(134)를 통해 상기 외부 프로세서로 데이터를 출력할 수 있다.
특정 예시에서, 명령은, 입/출력(I/O) 버스(134)의 I/O 핀[7:0]을 통해 I/O 제어 회로(112)에서 수신되고, 명령 레지스터(124)에 기록된다. 주소는, 입/출력(I/O) 버스(134)의 I/O 핀[7:0]을 통해 I/O 제어 회로(112)에서 수신되고, 주소 레지스터(114)에 기록된다. 데이터는, 8개의 병렬 신호를 수신할 수 있는 장치에 대한 입/출력(I/O) 핀[7:0]을 통해, 또는, 16 개의 병렬 신호를 수신할 수 있는 장치에 대한 입/출력(I/O) 핀[15:0]을 통해 I/O 제어 회로(112)에서 수신될 수 있고, 샘플 및 홀드 회로(118)로 전송된다. 데이터는 또한, 8 개의 병렬 신호를 송신할 수 있는 장치에 대한 입/출력(I/O) 핀[7:0]을 통해, 또는, 16 개의 병렬 신호를 송신할 수 있는 장치에 대한 입/출력(I/O) 핀[15:0]을 통해 출력될 수도 있다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면, 추가적인 회로 및 신호가 제공될 수 있고, 도 1의 메모리 장치는 본 발명의 실시예에 집중할 수 있도록 간소화되었다는 것을 이해할 것이다. 추가적으로, 도 1의 메모리 장치가 다양한 신호의 수령 및 출력에 대한 보편적 관례에 따라 기술되었으나, 본 명세서에서 명백히 기술되어있지 않는 한, 다양한 실시예들이, 설명된 특정 신호 및 I/O 구성에 의해 제한되지 않음을 주의해야 한다. 예를 들어, 명령 및 주소 신호가, 데이터 신호를 수신하는 것과는 별개로 입력에서 수신될 수 있고, 또는, 데이터 신호가 I/O 버스(134)의 단일 I/O 라인을 통해 연속적으로 송신될 수도 있다. 데이터 신호가 개개의 비트 대신에 비트 패턴을 나타내기 때문에, 8-비트 데이터 신호의 직렬 통신이 개개의 비트를 나타내는 8 개 신호의 병렬 통신만큼 효율적일 수 있다.
도 2는 도 1의 메모리 어레이(104)에서 발견될 수도 있는 예시적 NAND 메모리 어레이(200)의 일부에 대한 개념도이다. 도 2에서 볼 수 있는 바와 같이, 메모리 어레이(200)는 워드 라인(2021 에서 202N) 및, 교차하는 비트 라인(2041에서 204M)을 포함한다. 디지털 환경에서의 주소지정을 용이하게 하기 위하여, 워드 라인(202)의 개수와 비트 라인(204)의 개수는 일반적으로 2의 임의의 승 값이다.
메모리 어레이(200)는 NAND 스트링(2061에서206M)을 포함한다. 각각의 NAND 스트링은, 워드 라인(202)과 비트 라인(204)의 교차점에 각각 위치되는 트랜지스터(2081에서 208N)를 포함한다. 도 2의 부동-게이트(floating-gate) 트랜지스터와 같이 표현된 트랜지스터(208)는 데이터의 저장을 위한 비-휘발성 메모리를 나타낸다. 각각의 NAND 스트링(206)의 부동-게이트 트랜지스터(208)는 하나 이상의 소스 선택 게이트(210)(가령, 전계-효과 트랜지스터(FET))와 하나 이상의 드레인 선택 게이트(212)(가령, FET) 사이에서, 소스에서 드레인으로 직렬로 연결된다. 각각의 소스 선택 게이트(210)가 로컬 비트 라인(204)과 소스 선택 라인(214)의 교차점에 위치되고, 각각의 드레인 선택 게이트(212)가 로컬 비트 라인(204)과 드레인 선택 라인(215)의 교차점에 위치된다.
각각의 소스 선택 게이트(210)의 소스가 공통 소스 라인(216)에 연결된다. 각각의 소스 선택 게이트(210)의 드레인이 대응하는 NAND 스트링(206)의 제 1 부동-게이트 트랜지스터(208)의 소스에 연결된다. 예를 들어, 소스 선택 게이트(2101)의 드레인은 대응하는 NAND 스트링(2061)의 부동-게이트 트랜지스터(2081)의 소스에 연결된다. 각각의 소스 선택 게이트(210)의 제어 게이트가 소스 선택 라인(214)에 연결된다. 다수의 소스 선택 게이트(210)가 지정 NAND 스트링(206)을 위해 이용되는 경우, 이들 소스 선택 게이트(210)는 상기 NAND 스트링(206)의 제 1 부동-게이트 트랜지스터(208)와, 공통 소스 라인(216) 사이에 직렬로 연결될 것이다.
각각의 드레인 선택 게이트(212)의 드레인이, 드레인 접촉부에서, 대응하는 NAND 스트링에 대한 로컬 비트 라인(204)에 연결된다. 예를 들어, 드레인 선택 게이트(2121)의 드레인은, 드레인 접촉부에서, 대응하는 NAND 스트링(2061)에 대한 로컬 비트 라인(2041)에 연결된다. 각각의 드레인 선택 게이트(212)의 소스가, 대응하는 NAND 스트링(206)의 최종 부동-게이트 트랜지스터(208)의 드레인에 연결된다. 예를 들어, 드레인 선택 게이트(2121)의 소스는, 대응하는 NAND 스트링(2061)의 부동-게이트 트랜지스터(208N)의 드레인에 연결된다. 다수의 드레인 선택 게이트(212)가 지정 NAND 스트링(206)을 위해 이용되는 경우, 이들 드레인 선택 게이트(212)는 상기 NAND 스트링(206)의 최종 부동-게이트 트랜지스터(208N)와, 대응하는 비트 라인(204) 사이에 직렬로 연결될 것이다.
부동-게이트 트랜지스터(208)의 일반적 구조는, 도 2에 도시된 바와 같이, 소스(230)와 드레인(232), 부동 게이트(234), 및 제어 게이트(236)를 포함한다. 부동-게이트 트랜지스터(208)는 워드 라인(202)에 연결되는 자신의 제어 게이트(236)를 갖는다. 부동-게이트 트랜지스터(208)의 열(column)이, 지정 로컬 비트 라인(204)에 연결되는 NAND 스트링(206)이다. 부동-게이트 트랜지스터(208)의 행(row)이 지정 워드 라인(202)에 공통적으로 연결되는 트랜지스터이다. 트랜지스터(208)의 그 밖의 다른 형태 즉, NROM, 자기/강유전체 트랜지스터, 및 둘 이상의 임계 전압 범위 중 하나를 가정하도록 프로그래밍될 수 있는 그 밖의 다른 트랜지스터가 본 발명의 실시예와 함께 이용될 수 있다.
다양한 실시예의 메모리 장치가 대량 저장 장치에서 유리하게 이용될 수 있다. 다양한 실시예에서, 이러한 대량 저장 장치가 종래의 HDD와 동일한 폼 팩터 및 통신 버스 인터페이스를 취할 수 있고, 따라서, 다양한 응용예에서 이들 대량 저장 장치가 HDD를 대체할 수 있다. HDD에 대한 일부 공통 폼 팩터는, 비교적 작은 개인 기기(가령, 모바일 폰, PDA(personal digital assistant), 및 디지털 미디어 플레이어)에 일반적으로 이용되는 1.8" 및 1" 폼 팩터 뿐만 아니라, 오늘날의 개인용 컴퓨터 및 비교적 큰 디지털 미디어 레코더와 함께 일반적으로 이용되는 3.5", 2.5" 및 PCMCIA(Personal Computer Memory Card International Association) 폼 팩터도 포함한다. 일부 공통 버스 인터페이스는, USB(universal serial bus), ATA(AT attachment interface)[또한, IDE(integrated drive electronic)로도 알려져 있음], 직렬 ATA(SATA), SCSI(small computer systems interface), 및 IEEE(Institute of Electrical and Electronics Engineers) 1394 표준을 포함한다. 다양한 폼 팩터와 통신 인터페이스가 나열되어 있으나, 본 발명의 실시예가 특정 폼 팩터 또는 통신 표준에 제한되는 것은 아니다. 더욱이, 본 발명의 실시예가 HDD 폼 팩터 또는 통신 인터페이스를 따를 필요는 없다. 도 3은 본 발명의 일 실시예에 따른 고체 상태 대량 저장 장치(300)의 블록 개념도이다.
대량 저장 장치(300)가, 본 발명의 실시예에 따른 메모리 장치(301), 읽기/쓰기 채널(305), 및 제어기(310)를 포함한다. 읽기/쓰기 채널(305)은, 메모리 장치(301)로부터 수신되는 데이터 신호의 아날로그-디지털 변환뿐만 아니라, 제어기(310)로부터 수신되는 데이터 신호의 디지털-아날로그 변환도 제공한다. 제어기(310)는 버스 인터페이스(315)를 통해 대량 저장 장치(300)와 외부 프로세서(도 3에 도시되지 않음) 사이의 통신을 제공한다. 읽기/쓰기 채널(305)은, 점선으로 도시된 메모리 장치(301')와 같이, 하나 이상의 추가적인 메모리 장치를 제공할 수 있다. 통신을 위한 단일 메모리 장치(301)의 선택이, 다중-비트 칩 활성화 신호 또는 그 밖의 다른 다중화 방식(multiplexing scheme)을 통해 이루어질 수 있다.
메모리 장치(301)는 아날로그 인터페이스(320)와 디지털 인터페이스(325)를 통해 읽기/쓰기 채널(305)에 연결된다. 아날로그 인터페이스(320)는 메모리 장치(301)와 읽기/쓰기 채널(305) 사이에서 아날로그 데이터 신호가 통과할 수 있도록 하고, 디지털 인터페이스(325)는 읽기/쓰기 채널(305)로부터 메모리 장치(301)로 제어 신호, 명령 신호, 및 주소 신호가 통과할 수 있도록 한다. 디지털 인터페이스(325)는 추가적으로, 메모리 장치(301)로부터 읽기/쓰기 채널(305)로 상태 신호를 통과시킬 수도 있다. 아날로그 인터페이스(320)와 디지털 인터페이스(325)는 도 1의 메모리 장치(101)에 관하여 기술된 바와 같이 신호 라인을 공유할 수도 있다. 도 3의 실시예가 메모리 장치로의 듀얼 아날로그/디지털 인터페이스를 도시하고 있지만, 도 1과 관련해 논의된 바와 같이 읽기/쓰기 채널(305)의 기능성이 메모리 장치(301)에 선택적으로 포함하여 메모리 장치가 제어 신호, 명령 신호, 상태 신호, 주소 신호, 및 데이터 신호의 통과를 위해 오직 디지털 인터페이스만을 이용하여 제어기(310)와 직접 통신하도록 할 수 있다.
데이터 인터페이스(330) 및 제어 인터페이스(335)와 같은 하나 이상의 인터페이스를 통해 읽기/쓰기 채널(305)이 제어기(310)에 연결된다. 데이터 인터페이스(330)는 읽기/쓰기 채널(305)과 제어기(310) 사이에서 디지털 데이터 신호가 통과할 수 있도록 한다. 제어 인터페이스(335)는 제어기(310)로부터 읽기/쓰기 채널(305)로 제어 신호, 명령 신호, 및 주소 신호가 통과할 수 있도록 한다. 제어 인터페이스(335)는 추가적으로, 읽기/쓰기 채널(305)로부터 제어기(310)로 상태 신호를 통과시킬 수도 있다. 상태 신호 및 명령/제어 신호는 또한, 제어 인터페이스(335)를 디지털 인터페이스(325)로 연결하는 점선에 의해 도시된 바와 같이 제어기(310)와 메모리 장치(301) 사이에서 직접 전송될 수도 있다.
도 3에서 두 개의 개별 장치로 도시되었으나, 읽기/쓰기 채널(305)과 제어기(310)의 기능성이 대안적으로 단일 집적 회로 장치에 의해 수행될 수 있다. 메모리 장치(301)를 개별 장치로 유지하고 있는 경우 실시예를 서로 다른 폼 팩터와 통신 인터페이스에 적응시키는데 있어서 좀 더 유연함을 제공할 수 있는데, 이는 메모리 장치 또한 집적 회로 장치이므로 대량 저장 장치(300) 전체가 단일의 집적 회로 장치로서 제작될 수 있기 때문이다.
읽기/쓰기 채널(305)은 최소한, 디지털 데이터 스트림에서 아날로그 스트림으로의 변환(또는 그 반대의 경우)을 제공하도록 적응된 신호 프로세서이다. 디지털 데이터 스트림은 2진 전압 레벨의 형태로 데이터 신호를 제공하는데, 예를 들어, 제 1의 2진 데이터 값을 갖는 비트(가령, 0)를 나타내는 제 1 전압 레벨과, 제 2의 2진 데이터 값을 갖는 비트(가령, 1)를 나타내는 제 2 전압 레벨의 형태로 데이터 신호를 제공한다. 아날로그 데이터 스트림은 셋 이상의 레벨을 갖는 아날로그 전압의 형태로 데이터 신호를 제공하며 상기 셋 이상의 레벨은 둘 이상의 비트의 서로 다른 비트 패턴에 대응하는 서로 다른 전압 레벨 또는 범위이다. 예를 들어, 메모리 셀 당 2 비트를 저장하도록 적응된 시스템에서, 아날로그 데이터 스트림의 전압 레벨의 제 1 전압 레벨 또는 범위가 11의 비트 패턴에 대응할 수 있고, 아날로그 데이터 스트림의 전압 레벨의 제 2 전압 레벨 또는 범위가 10의 비트 패턴에 대응할 수 있으며, 아날로그 데이터 스트림의 전압 레벨의 제 3 전압 레벨 또는 범위가 00의 비트 패턴에 대응할 수 있고, 아날로그 데이터 스트림의 전압 레벨의 제 4 전압 레벨 또는 범위가 01의 비트 패턴에 대응할 수 있다. 따라서, 다양한 실시예에 따른 하나의 아날로그 데이터 신호가 둘 이상의 디지털 데이터 신호로 변환될 수 있다(또는 그 반대의 경우도 가능).
실제에서, 제어기(310)를 통한 메모리 장치(301)로의 액세스를 위해 제어 및 명령 신호가 버스 인터페이스(315)에서 수신된다. 또한, 어느 유형의 액세스(가령, 쓰기, 읽기, 포맷 등)가 요구되는가에 따라 주소 및 데이터 값이 버스 인터페이스(315)에서 수신될 수 있다. 공유 버스 시스템에서, 버스 인터페이스(315)는 그 밖의 다른 다양한 장치와 함께 버스에 연결될 것이다. 특정 장치에 직접 통신하기 위하여, 버스 상의 어느 장치가 후속 명령에 따라 행동하는지를 나타내는 식별값이 버스에 놓일 수 있다. 식별값이 대량 저장 장치(300)에 의해 취해진 값과 정합되는 경우, 제어기(310)가 버스 인터페이스(315)에서 후속 명령을 수용한다. 식별값이 정합되지 않는 경우, 제어기(310)는 후속 명령을 무시할 것이다. 이와 유사하게, 버스에서의 충돌을 피하기 위하여, 공유 버스 상의 다양한 장치는, 이들이 개별적으로 버스를 제어하면서 그 밖의 다른 장치로 하여금 외부 통신을 중지하도록 지시할 수 있다. 버스 공유 및 충돌 회피를 위한 프로토콜이 해당업계에 잘 알려져 있으므로 본 명세서에서 자세히 기술되지는 않을 것이다. 제어기(310)는 그 후, 처리를 위하여 명령, 주소, 및 데이터 신호를 읽기/쓰기 채널(305)을 향해 전송한다. 제어기(310)로부터 읽기/쓰기 채널(305)로 전송되는 명령, 주소, 및 데이터 신호가 버스 인터페이스(315)에서 수신되는 신호와 동일할 필요는 없다. 예를 들어, 버스 인터페이스(315)에 대한 통신 표준이 읽기/쓰기 채널(305) 또는 메모리 장치(301)의 통신 표준과 다를 수 있다. 이러한 경우에서, 제어기(310)는, 메모리 장치(301)에 액세스하기 전에 명령 및/또는 주소화 방식을 해석할 수 있다. 이에 더하여, 제어기(310)는, 메모리 장치(301)의 물리적 주소가 지정 논리 주소에 대한 시간에 결쳐 변화할 수 있도록, 하나 이상의 메모리 장치(301) 내에서 로드 레벨 측정(load leveling)을 제공할 수 있다. 따라서, 제어기(310)는 외부 장치로부터의 논리 주소를 목표 메모리 장치(31)의 물리적 주소에 매핑할 수 있다.
쓰기 요청에 대해, 제어기(310)는 명령 및 주소 신호에 더하여 디지털 데이터 신호를 읽기/쓰기 채널(305)로 전송할 수 있다. 예를 들어, 16-비트 데이터 워드에 있어서, 제어기(310)는 제 1 및 제 2 의 2진 논리 레벨을 갖는 16 개의 개별 신호를 전송할 것이다. 읽기/쓰기 채널(305)은 그 후, 디지털 데이터 신호를, 상기 디지털 데이터 신호의 비트 패턴을 나타내는 아날로그 데이터 신호로 변환할 수 있다. 전술한 예시의 연장선상에서, 읽기/쓰기 채널(305)이 디지털-아날로그 변환을 이용하여 16 개의 개별 신호를, 요구되는 16-비트 데이터 패턴을 나타내는 전위 레벨을 갖는 단일 아날로그 신호로 변환할 것이다. 일 실시예에서, 디지털 데이터 신호의 비트 패턴을 나타내는 아날로그 데이터 신호가, 목표 메모리 셀의 요구되는 임계 전압을 나타낸다. 그러나, 1-트랜지스터 메모리 셀을 프로그래밍하는 경우, 이웃 메모리 셀의 프로그래밍이, 이전에 프로그래밍된 메모리 셀의 임계 전압을 증가시키는 경우가 흔히 있다. 따라서, 또 다른 실시예에서, 읽기/쓰기 채널(305)은 임계 전압에서의 이러한 예측된 변화를 고려할 수 있고, 아날로그 데이터 신호가, 요구되는 최종 임계 전압보다 낮은 임계 전압을 나타내도록 조정할 수 있다. 제어기(310)로부터의 디지털 데이터 신호를 변환한 이후에, 읽기/쓰기 채널(305)은, 개개의 메모리 셀을 프로그래밍하는데 이용하기 위하여 아날로그 데이터 신호와 함께, 쓰기 명령 및 주소 신호를 메모리 장치로 전송할 것이다. 프로그래밍이 셀 별로 발생할 수 있으나, 일반적으로 동작 당 데이터의 페이지에 대해 수행된다. 통상적인 메모리 어레이 아키텍처에 있어서, 데이터의 페이지가 워드 라인에 연결되는 그 밖의 다른 모든 메모리 셀을 포함한다.
읽기 요청에 대하여, 제어기는, 명령 및 주소 신호를 읽기/쓰기 채널(305)로 전송할 것이다. 읽기/쓰기 채널(305)은 읽기 명령 및 주소 신호를 메모리 장치(301)로 전송할 것이다. 이에 대한 응답으로, 읽기 동작을 수행한 이후에, 메모리 장치(301)는, 주소 신호 및 읽기 명령에 의해 정의되는 메모리 셀의 임계 전압을 나타내는 아날로그 데이터 신호를 리턴할 것이다. 메모리 장치(301)는 자신의 아날로그 데이터 신호를 병렬 또는 직렬 방식으로 전송할 수도 있다.
아날로그 데이터 신호는 또한, 이산 전압 펄스로서뿐만 아니라 사실상 연속적인 아날로그 신호의 스트림으로서 전송될 수도 있다. 이러한 경우, 읽기/쓰기 채널(305)은, PRML(partial response, maximum likelihood)이라 불리는 HDD 액세스에 이용되는 것과 유사한 신호 처리 방식을 이용할 수 있다. 종래의 HDD의 PRML 처리에서, HDD의 읽기 헤드가, HDD 플래터의 읽기 동작 동안 마주치는 자속 반전을 나타내는 아날로그 신호의 스트림을 출력한다. 읽기 헤드에 의해 마주치는 자속 반전에 대한 응답으로 생성되는 이러한 아날로그 신호의 진정한 마루와 골을 획득하려는 시도 대신에, 상기 아날로그 신호가 주기적으로 샘플링되어 신호 패턴의 디지털 표현을 형성할 수 있다. 그 후 이러한 디지털 표현이 분석되어, 아날로그 신호 패턴의 생성의 원인이 되는 가능성 있는 자속 반전의 패턴을 결정할 수 있다. 이러한 동일 유형의 처리가 본 발명의 실시예와 함께 이용될 수 있다. 메모리 장치(301)로부터의 아날로그 신호를 샘플링함으로써, 아날로그 신호의 생성의 원인이 되는 가능성 있는 임계 전압의 패턴을 결정하기 위하여 PRML 처리가 이용될 수 있다.
도 4는 본 발명의 실시예에 따라 읽기/쓰기 채널(305)에 의해 메모리 장치(301)로부터 수신될 수도 있는 데이터 신호(450)를 개념적으로 보여주는 파형을 도시한다. 데이터 신호(450)는 주기적으로 샘플링될 수 있고, 데이터 신호(450)의 디지털 표현이 샘플링된 전압 신호의 진폭으로부터 형성될 수 있다. 일 실시예에서, 샘플링이, 데이터 신호(450)의 안정-상태 부분 동안 발생하도록, 데이터 출력에 대해 동기화될 수 있다. 이러한 실시예가, 시간(t1, t2, t3 및t4)에서의 점선에 의해 나타나는 바와 같이 샘플링에 의해 표현된다. 그러나, 동기화된 샘플링이 정렬 불량이 되는 경우, 데이터 샘플의 값이 안정-상태 값과 상당히 다를 수 있다. 대안적 실시예에서, 가령, 데이터 샘플에 의해 나타나는 구배(slope) 변화를 관찰함으로써, 안정-상태 값이 어디에서 발생될 가능성이 있는지 결정할 수 있도록 하기 위하여 샘플링률이 증가될 수 있다. 이러한 실시예가, 시간(t5, t6, t7 및 t8)에서의 점선에 의해 나타나는 바와 같이 샘플링에 의해 표현되며, 여기서, 시간(t6 및 t7)에서의 데이터 샘플 간의 구배가 안정-상태 양상을 나타낼 수 있다. 이러한 실시예에서, 샘플링률과, 표현의 정확성 사이에서 트레이드-오프(trade-off)가 이루어진다. 더 높은 샘플링률은 더욱 정확한 표현을 이끌어내지만, 처리 시간 또한 증가시킨다. 샘플링이 데이터 출력에 대해 동기화되거나, 더욱 잦은 샘플링이 이용되는지 여부와 관계 없이, 디지털 표현은 그 후, 어떤 입력 전압 레벨이 아날로그 신호 패턴 생성의 원인이 될 가능성이 있었는지를 예측하기 위해 이용될 수 있다. 그 다음으로, 읽혀질 가능성 있는, 개개의 메모리 셀의 데이터 값이 이러한 예측된 패턴의 입력 전압 레벨로부터 예측될 수 있다.
메모리 장치(301)로부터 데이터 값을 읽을 때 에러가 발생할 것임을 인식함으로써, 읽기/쓰기 채널(305)이 에러 정정을 포함할 수도 있다. 에러 정정은, 예측된 에러로부터 복구하기 위하여 HDD 뿐만 아니라 메모리 장치에서 일반적으로 이용된다. 통상적으로, 메모리 장치가, 제 1 장소 세트에 사용자 데이터를, 그리고 제 2 장소 세트에 에러 정정 코드(ECC)를 저장할 것이다. 읽기 동작 동안, 사용자 데이터의 읽기 요청에 대한 응답으로 사용자 데이터 및 ECC 모두가 읽힌다. 해당업계에 알려진 알고리즘을 이용하여, 읽기 동작으로부터 귀환된 사용자 데이터가 ECC와 비교된다. 에러가 ECC의 한도 내에 있는 경우, 이들 에러는 정정될 것이다.
도 5는 본 발명의 실시예에 따른 전자 시스템의 블록 개념도이다. 예시적 전자 시스템으로는, 개인용 컴퓨터, PDA, 디지털 카메라, 디지털 미디어 플레이어, 디지털 레코더, 전자 게임, 기기(appliance), 운반 수단, 무선 장치, 모바일 폰 등이 포함될 수 있다.
전자 시스템은, 프로세서(500)의 효율성을 증가시키기 위하여 캐시 메모리(502)를 포함할 수도 있는 호스트 프로세서(500)를 포함한다. 프로세서(500)는 통신 버스(504)에 연결된다. 다양한 그 밖의 다른 장치가 프로세서(500)의 제어 하에서 통신 버스(504)에 연결될 수 있다. 예를 들어, 전자 시스템은, RAM(random access memory)(506)과, 하나 이상의 입력 장치(508)(가령, 키보드, 터치 패드, 포인팅 장치 등)와, 오디오 제어기(510)와, 비디오 제어기(512)와, 하나 이상의 대량 저장 장치(514)를 포함할 수 있다. 하나 이상의 대량 저장 장치(514)는, 통신 버스(504)와의 통신을 위한 디지털 버스 인터페이스(515)와, 본 발명의 실시예에 따라, 2 이상의 데이터 비트의 데이터 패턴을 나타내는 데이터 신호를 전송하기 위한 아날로그 인터페이스를 갖는 하나 이상의 메모리 장치와, 버스 인터페이스(515)로부터 수신되는 디지털 데이터 신호의 디지털-아날로그 변환과 대량 저장 장치의 메모리 장치로부터 수신되는 아날로그 데이터 신호의 아날로그-디지털 변환을 수행하도록 적응된 신호 프로세서를 포함한다.
M 비트 메모리 셀을 위한 M+N 비트 프로그래밍 및 M+L 비트 읽기
전술된 바와 같은 다중-레벨 셀 및 시스템의 임계 전압을 포함하는, 메모리의 비휘발성 메모리 셀의 임계 전압은, 저장된 값을 나타내기 위하여 범위("논리 윈도우", 윈도우, Vt 분포, 임계 전압 레벨, 또는 임계 상태로서 또한 알려짐)로 통상적으로 할당된다. 전술된 바와 같이, 통상적으로, 데드 스페이스(dead space) 또는 마진의 버퍼(또한, 본 명세서에서 마진, 데드 스페이스, 버퍼, 버퍼 마진, 버퍼 영역, 또는 버퍼 존으로서도 나타남)가 각각의 범위 사이에 위치되어, 논리 윈도우의 Vt 분포가 겹치는 것을 저지할 수 있다. 이들 범위/논리 윈도우는, 메모리의 동작에서 자신이 나타내는 데이터 값 및/또는 범위/Vt 분포에 할당된 공칭(nominal) 임계 전압 레벨로 일반적으로 언급된다. 예를 들어, 도 6a에서 도시된 바와 같이, 예시적인 셀 당 2비트 MLC 메모리가, 상태들 사이에 200mV 에서 400mV의 버퍼 영역을 갖는 11, 01, 10 및 00 상태를 나타내기 위하여 각각의 셀에서 정의된 네 개의 200mV의 논리 윈도우를 갖는다. 이러한 예시적 메모리에서, 10 논리 상태에 대응하는 Vt 범위가 0.8V에서 1.0V 범위로 할당되고, 0.9V의 공칭 임계 전압 레벨을 갖는다. 지정 Vt 논리 윈도우에 대한 공칭 임계 전압은, 메모리 셀을 상기 논리 상태(셀 변동 및 프로그래밍 오버/언더슈트로 인해 일반적으로 아직 정확하게 획득되지 않음)로 프로그래밍하는데 있어서 획득되어야 할 목표 전압 레벨로서 통상적으로 이용된다. 비-휘발성 메모리 셀을 읽거나 감지하는 경우(가령, 읽기 또는 검증 동작의 부분으로서), 메모리 셀의 감지된 임계 전압이 논리 윈도우(및 대응하는 공칭 임계 전압/논리 상태)에 의해 정의되는 임계 전압 범위 중 하나로 정합되어, 메모리 셀의 상태가 디지털 데이터로서 해석되고 그 후 조작 또는 메모리 장치로부터 전송될 수 있도록 한다.
오늘날의 비휘발성 메모리가 신뢰할 수 있는 수준으로 저장하고 불러올 수 있는 상태/논리 윈도우의 유효 개수를 제한하는 많은 요인들이 있으며, 예를 들어, 비-휘발성 메모리 장치 및 비-휘발성 메모리 셀 프로세스에서 획득 가능한 제한된 임계 전압 범위, 프로그래밍된 임계 전압의 부정확성 및 메모리 셀에 대한 프로그래밍/읽기 장애(disturb)의 가능성(일반적으로 특징부 크기 및 프로세스를 포함하는 메모리 셀 특성과 관련됨), 및 논리 윈도우들 사이에 분리 버퍼를 위치시킬 필요성(또한 분리 버퍼의 크기는 메모리 셀 프로그래밍 부정확성, Vt 장애 및 셀 특성으로 인해 변화할 수 있음)이 있다.이 때문에, 메모리 및 관련 회로가 더 높은 전압 분해능에서 프로그래밍 및 읽기를 할 수 있는지 여부와 관계 없이, 오로지 제한된 개수의 임계 전압 범위/논리 윈도우만이 지정 셀에서 물리적으로 정의될 수 있고, 여전히 신뢰성 있게 프로그래밍되고 읽혀질 수 있다. 지정 메모리 장치, 셀, 및 프로세스 기술에 대한 제한된 개수의 논리 윈도우는 통상적으로 각각의 셀에 2진 값을 저장하는 행위에 의해 추가로 제한되고, 그로 인해, 이용 가능한 논리 윈도우의 개수가 물리적 윈도우 한계보다 낮은 가장 가까운 2의 몇 승 값(각각의 셀에서, 1, 2, 4, 5, 또는 6 비트를 각각 표현하기 위한 2, 4, 8, 16, 32, 또는 64 논리 윈도우)이도록 더 제한된된다.
예를 들어, 도 6a에서, -1.0V 에서 1.8V의 이용 가능한 임계 전압 범위를 갖는 메모리 셀에서, 네 개의 상태가 정의되며(22상태, 각각의 셀에 2비트를 저장), 각각의 상태는 인접한 상태 범위 사이에 400mV 버퍼를 갖는 200mV의 논리 윈도우/범위를 갖는다. 상태(11)(소거 상태)가 -1V 에서 -0.8V까지로 정의되고, 상태(01)가 -0.4V 에서 -0.2V까지로 정의되며, 상태(00)가 0.2V에서 0.4V까지로 정의되고, 상태(10)가 0.8V 에서 1.0V까지로 지정이다. 그러나, 어레이의 메모리 셀이 200mV의 이용 가능한 최소 논리 윈도우/범위와 200mV의 범위 사이에 최소 버퍼를 갖는 -1.0V 에서 1.8V의 이용 가능한 임계 전압 범위를 가지므로, 도 6b에 도시되는 바와 같이, 최대 7개의 상태(상태 0에서 6, 상태 0은 -1V 에서 -0.8V, 상태 1은 -0.6V 에서 -0.4V, 상태 2는 -0.2V 에서 0V, 상태 3은 0.2V 에서 0.4V, 상태 4는 0.6V 에서 0.8V, 상태 5는 1.0V 에서 1.2V, 그리고, 상태 6은 1.4V에서 1.6V, 이용되지 않은 임계 전압 범위로서 200mV(1.6V 에서 1.8V)가 남겨짐)가 가능하다.
본 발명의 실시예들이, 프로그래밍된 셀의 상태(가령, 할당된 개수의 데이터 비트에 대응하는 데이터 상태)를 저장하는데 이용되는 셀의 지정 개수의 Vt 범위/논리 윈도우보다 더 많은 개수의 프로그램 및/또는 감지 범위를 이용하여, 더 높은 정확성 레벨(또한, 본 명세서에서, 증가된 전압 레벨 분해능 또는 윈도우 전압 레벨 입도(granularity)로서도 언급됨)로 프로그래밍하거나 읽는다. 이는, 셀의 프로그래밍 또는 읽기 동안 추가적인 입도 및 관련 정보(소위, 소프트 비트 또는 비트라 불림)를 제공하여, 지정 프로세스 기술에 대하여 가능한 한 셀 당 많은 수의 비트가 신뢰성 있게 저장될 수 있도록, 디지털 신호 처리(DSP) 유닛과 같은 프로세서 또는 제어기가 다양한 데이터 코드 및 데이터 인코딩/디코딩 기법(가령, 저밀도 패리티 체크(low-density parity check, LDPC), 터보, 격자 코드 변조(Trellis Code Modulation), PRML, 등)을 이용할 수 있도록 하는 것이다. 디지털 및 아날로그 통신을 이용하는 NAND 아키텍처 비-휘발성 메모리 어레이 및 장치와 관련하여 실시예가 기술되었으나, 해당업계 종사자라면 본 명세서에 기술된 개념을 그 밖의 다른 비-휘발성 메모리 어레이 아키텍쳐 및 대응하는 메모리 장치(가령, NOR 어레이, AND 어레이, OR 어레이, 및 가상 접지 어레이를 포함하나 이에 한정되지 않음)에 적용할 수 있음이 명백할 것이다.
비-휘발성 메모리 셀을 프로그래밍 및 감지(또한, 읽기로서도 알려져 있음)하는 경우, 본 발명의 실시예에서, 비-휘발성 메모리 셀의 이용 가능한 임계 전압 범위를 증가된 개수의 범위로 분할하여, 메모리 장치에 대하여 셀의 정의된 논리 윈도우에 의해 요구되는 것보다 더 높은 프로그래밍 및/또는 읽기/감지 전압 분해능(또한, 프로그래밍 또는 감지 입도로서도 알려져 있음)을 산출할 수 있다. 본 발명의 실시예에서, 이러한 증가된 프로그래밍 및/또는 감지 전압 분해능이, 메모리 셀이 신뢰성 있게 저장할 수 있는 논리 윈도우/임계 전압 범위의 최대 개수보다 더 높을 수 있다. 또한, 프로그래밍 동작 분해능은 읽기/감지 동작 분해능과 다를 수 있다. 일 실시예에서, 프로그래밍 동작 전압 분해능이 읽기 동작 전압 분해능보다 더 낮고, 이로 인해 읽기 정확성과 데이터 되읽기(read back)/인코딩이 증가될 수 있다. 본 발명의 또 다른 실시예에서, 프로그래밍 동작 전압 분해능이 읽기 동작 전압 분해능보다 더 높고, 이로 인해, 프로그래밍 정확성과 데이터 장애 보상이 증가될 수 있고, 그로 인해, 데이터 저장 안정성과 그 이후의 되읽기(read back) 정확성을 증가시킨다.
전술된 바와 같이, 프로그래밍 동작 동안, 본 발명의 실시예에서, 프로그래밍되는 비-휘발성 메모리 셀의 이용 가능한 전압 범위를 논리 윈도우/임계 전압 상태의 지정 개수보다 더 많은 개수의 전압 범위(또한, 공칭 전압 레벨 또는 전압 폭(step)으로서도 알려짐)로 분할함으로써, 요구되는 것보다 더 높은 전압 분해능으로 프로그래밍 할 수 있다. 이는, 선택된 데이터 상태를 셀의 정의된 논리 윈도우로 프로그래밍하는데 요구되는 것보다 더 높은 프로그래밍 전압 폭(step) 분해능/입도를 산출함으로써, 더욱 더 정확한 프로그래밍이 가능하도록 한다. 이러한 증가된 프로그래밍 정확성은, 프로그래밍된 임계 전압이 목표 임계 전압 범위에 좀 더 정확하게 놓일 수 있도록 함으로써, 후속 읽기 및 검증 동작이 좀 더 신뢰성 있게 이루어질 수 있도록 한다. 이에 더하여, 증가된 프로그래밍 정확성은 또한, 셀의 프로그래밍된 임계 전압이 예측된 프로그램 장애 및 인접 메모리 셀의 결합 효과에 대하여 선-바이어스되도록 한다. 특히, 데이터가 메모리 어레이의 다수의 행으로 쓰여지고 있고, 따라서, 인접 메모리 셀의 최종 프로그래밍된 상태가 알려진다. 이러한 경우에서, 지정 셀로 프로그래밍된 임계 전압이, 증가된 프로그래밍 전압 분해능에서 프로그래밍되어, 인접 셀들의 예측된 결합 및 장애 효과를 고려할 수 있다. 이러한 방식으로, 어레이 섹션의 프로그래밍 이후에, 결과적인 셀의 프로그래밍된 최종 임계 전압이 셀의 의도된 논리 윈도우/상태/임계 전압 범위 내에 있을 것이다.
전술된 바와 같은 다중-레벨 셀 및 시스템의 임계 전압을 포함하는, 메모리의 메모리 셀의 프로그래밍된 임계 전압이, 다양한 방법으로, 그리고 다양한 이유로 저하될 수 있다. 프로그램 장애가 임계 전압 저하의 다양한 원인 중 하나이다. 프로그램 장애는, 뒤이은 메모리 셀의 프로그래밍이 이전에 프로그래밍된 메모리 셀의 프로그래밍된 임계 전압에 영향을 미칠 때 발생한다. 일부 경우에서, 특히, 축소된 특징부 크기와 더 좁은 논리 윈도우/임계 전압 범위와 버퍼 마진을 갖는 현대식 메모리 셀에서, 프로그램 장애는, 읽을 때(가령, 셀 임계 전압이 논리 윈도우들 사이의 버퍼 마진 내로 이동될 때) 에러를 야기하거나, 또는 셀이, 본래 프로그래밍된 것과는 전혀 다른 상태에서 읽도록 야기하는 한도로 셀의 프로그래밍된 임계 전압을 이동시킬 수 있다.
NAND 아키텍쳐 비-휘발성 메모리 장치 및 어레이의 메모리 셀의 프로그래밍 장애를 예측 및 보상하기 위한 방법 중 하나가, 2008년 6월 10일에 출원된 미국 특허 출원 제12/136,546호(발명의 제목: METHODS AND APPARATUS UTILIZING PREDICTED COUPLING EFFECT IN THE PROGRAMMING OF NON-VOLATILE MEMORY)에 자세히 나와 있으며, 이는 공동 양도되었다.
프로그램 장애는, 선택된 메모리 셀과 같이, 공통 워드 라인, 소스 라인, 비트 라인, 및 기판 연결부에 연결되는 인접한(그리고, 억제된) 비-휘발성 메모리 셀에 인가되는 큰 프로그래밍 전압에 의해, 그리고 인접 셀 간의 용량성 결합에 의해 일반적으로 야기된다. 일반적으로 말하면, 프로그램 장애의 경우에서, 뒤이어 프로그래밍된 메모리 셀이 이전에 프로그래밍된 이웃 메모리 셀의 임계 전압을 저지(pull up)하는 경향이 있다. 예를 들어, 비-휘발성 메모리 셀은, 통상적으로, 요구되는 자신의 임계 전압에 대하여 프로그래밍하기 이전에, 소거되거나 또는 일부 최초 임계 전압에 이르게 한다. 이러한 최초 임계 전압은 일반적으로 음의 전압(가령, -1V)이다. 그 후 메모리 셀은, 요구되는 자신의 임계 전압(가령, 목표 임계 전압)에 대하여 차례로 프로그래밍된다. 프로그래밍은 일반적으로, 부동 게이트에 저장되는 전하를 증가시키기 위하여 증가하는 전압의 일련의 프로그래밍 펄스를 인가하는 단계를 수반하며, 각각의 펄스는, 메모리 셀이, 요구되는 자신의 임계 전압에 도달했는지 여부를 결정하기 위하여 일반적으로 검증 동작이 뒤따른다. 이는 일반적으로, 워드 라인의 논리 페이지(가령, 상기 워드 라인의 짝수 또는 홀수 열)에 대해 발생한다. 개개의 메모리 셀이 요구되는 자신의 임계 전압에 도달할 때, 이들 메모리 셀은 추가적 프로그래밍이 금지된다. 워드 라인의 지정 페이지를 따르는 모든 메모리 셀에 대해 요구되는 임계 전압에 도달하면, 프로그래밍이 중지되고, 그 후, 워드 라인의 그 다음 페이지의 메모리 셀(또는, 인접한 그 다음 워드 라인의 페이지를 따르는 셀)이 프로그래밍된다. 메모리 셀의 열의 각각의 워드 라인을 따라 메모리 셀이 프로그래밍될 때까지, 이러한 프로세스가 반복된다.
메모리 셀이 뒤이은 워드 라인을 따라 또는 인접한 열에서 프로그래밍될 때, 메모리 셀의 증가하는 임계 전압은, 부동 게이트와 부동 게이트의 결합 효과로 인하여, 이전 워드 라인 뿐만 아니라 인접 열의 미리 프로그래밍된 메모리 셀의 임계 전압을 증가시킬 것이다. 이는, 이러한 미리 프로그래밍된 메모리 셀 인계 전압의 증가를 초래할 것이다. 이러한 임계 전압 증가가 작기는 하지만, 메모리 셀 당 증가하는 데이터 비트의 개수를 저장할 수 있는 능력을 방해할 수 있다. 메모리 셀이 셀 당 더욱 더 많은 데이터를 저장하는데 이용되기 때문에, 각각의 비트 패턴과 관련되는 Vt 범위가 더욱 좁아지고 Vt 범위 사이의 마진 또한 일반적으로 감소되므로 메모리 셀에 이러한 Vt 표류(drift)를 위한 공간이 더욱 적어짐에 따라, 이러한 결합 효과가 더욱 더 문제가 되고 있다. 따라서, 뒤이어 프로그래밍된 메모리 셀의 결합 효과를 예측함으로써, 예기치 않은 Vt 표류를 감소시키는 것에 의해 지정 비트 패턴에 대한 임계 전압의 분포가 조밀하도록 하기 위하여 이러한 결합 효과가 유리하게 이용될 수 있고, 이는 좀 더 식별 가능한 Vt 범위, 따라서, 메모리 셀 당 더 많은 개수의 데이터 비트 및/또는 Vt 범위 사이의 더 넓은 마진을 용이하게 함으로써, 메모리 셀의 정확한 데이터 값을 읽는데 있어서 신뢰성을 증가시킬 수 있다.
본 발명의 다양한 실시예에서 프로그램이 동작하는 동안, 프로그래밍되는 비-휘발성 메모리 셀의 이용 가능한 임계 전압 범위가, 메모리 셀의 지정 개수의 논리 윈도우/상태에 의해 요구되는 것보다 더 많은 개수 전압 범위(가령, 증가된 분해능)로 분할된다. 이는, 프로그래밍된 임계 전압이 더욱 더 정확하게 목표 임계 전압 범위에 놓일 수 있도록 함으로써, 후속 읽기 및 검증 동작이 좀 더 신뢰성 있게 이루어질 수 있도록 한다. 예를 들어, 도 6b의 전술된 셀에서, 비-휘발성 메모리 셀은, -1V에서 1.8V의 이용 가능한 임계 전압 범위를 가지며, 논리 윈도우 사이에 200mV 마진을 갖는 각각 200mV의 정의된 7 개의 상태/범위/논리 윈도우를 저장한다(상태 0: -1V 에서 -0.8V, 상태 1: -0.6V 에서 -0.4V, 상태 2: -0.2V 에서 0V, 상태 3: 0.2V 에서 0.4V, 상태 4: 0.6V 에서 0.8V, 상태 5: 1.0V 에서 1.2V, and 상태 6: 1.4V 에서 1.6V). 프로그램 장애 사건은 셀의 프로그래밍된 임계 전압(Vt)(50mV)을 이동시키도록 예측된다. 따라서, 프로그래밍 분해능은 임계 전압(Vt)을 50mV 또는 더 작은 폭으로 프로그래밍하도록 선택되어 프로그램 장애를 보상할 수 있다. 예를 들어, 셀의 프로그래밍된 최종 임계 전압이, 상태 4에 대한 0.6V 에서 0.8V 의 중앙에 놓이도록 하기 위하여(0.7V의 공칭 임계 전압을 가짐), 50mV 프로그래밍 장애가 후속 메모리 셀의 프로그래밍에서 예측될 때, 0.65V의 임계전압을 프로그래밍할 수 있도록 한다.
본 발명의 한 예시적 실시예에서, 정의된 논리 윈도우/상태의 개수는 2진수(2M, 여기서 M은 메모리 셀에 저장되는 사용자 데이터의 비트 개수)이다. 메모리 셀의 프로그래밍 분해능 임계 전압 범위/상태의 개수 또한 2진수가 되도록 선택된다(2M+N 임계 전압 범위/상태 이용, 여기서 N은 데이터 프로그래밍에 이용되는 여분 비트의 개수). 그러나, 후술되는 바와 같이, 여분의 프로그래밍 상태 및 프로그래밍된 정의된 임계 전압 논리 윈도우의 개수가, 2진수로 되거나 전체 비트 개수를 나타낼 필요는 없다. 또한, 프로그래밍 분해능은, 프로그래밍된 M+N 데이터의 최하위/하위 비트(가령, M+N-1 비트, M+N-2 비트, 등)에 의해 나타나는 분해능을 마스킹 오프(masking off)함으로써, 동작 중에 그때 그때 변화될 수 있다. 추가적으로, 일반적으로, 요구되는 목표치까지 임계 전압을 스테핑(step)하기 위해 이용되는 각각의 프로그래밍 사이클에서의 점점 더 미세해지는 임계 전압 (step)으로 인해, 증가된 프로그래밍 분해능 및/또는 정확성은, 더 느린 프로그래밍 동작을 희생하여 이루어질 것이다.
읽기, 검증 또는 감지 동작에서, 본 발명의 다양한 실시예에서, 셀의 논리 윈도우/임계 전압 범위/상태의 지정 개수보다 더 높은, 메모리 장치를 위한 임계 전압 분해능(공칭 임계 전압 범위)을 산출하면서, 지정 개수의 논리 윈도우/임계 전압 범위에 의해 요구되는 것보다 더 높은 분해능으로, 선택된 메모리 셀의 임계 전압을 감지한다. 감지된 임계 전압 범위는 또한, 논리 윈도우들 사이의 버퍼 영역을 일반적으로 가로지를 것이다. 이는, 임계 전압이 논리 윈도우 밖에서 표류하는 경우에, 읽기/감지 정확성 및 근접성 기반 에러 정정이 증가될 수 있도록 한다. 이로 인해, 메모리 장치가 "근접" 또는 "추측" 읽기에서의 Vt 표류 및 장애를 보상할 수 있다(예를 들어, 오직 읽기 에러가 보고되고, 에러 정정 시도를 위해 계산 집약적 ECC 에러 정정 알고리즘이 시작되기 이전이기 때문에, 빠른 ECC 코드 체크로 확인될 수 있는 정확히 프로그래밍된 셀의 논리 상태에 관하여 추측을 할 수 있다). 이에 더하여, 일 실시예에서, 증가된 읽기/감지 분해능은, 본 발명의 실시예의 증가된 데이터 읽기 분해능과 함께 이용될 때, 데이터 되읽기를 향상(신뢰성 및 에러 보상을 증가시킴)시키는, 데이터의 프로그래밍에서의 데이터 인코딩 기법을 이용할 수 있도록 한다. 이러한 데이터 인코딩 기법은, 최적으로 디코딩되도록 정보의 추가적 입도가 이용되어 연판정(soft decision)이 이루어지고 확률적 디코딩 기법을 이용함으로써 메모리의 전체 에러율을 감소시키는 길쌈 코드, 부분 응답 최대 유사도(PRML), 저-밀도 패리티 체크(LDPC), 터보(Turbo), 및 격자 변조 인코딩을 포함할 수 있으나 이에 한정되지는 않는다.
본 발명의 다양한 실시예에서 읽기/감지 동작 동안, 감지되는 비-휘발성 메모리 셀의 이용 가능한 임계 전압 범위가 메모리 셀의 지정 개수의 논리 윈도우/상태에 의해 요구되는 것보다 더 많은 개수의 임계 전압 범위로 분할된다. 이러한 증가된 감지 분해능으로 인해, 감지된 임계 전압이 정확하게 읽혀지고 지정 임계 전압 범위에 놓임으로써, 읽기 및/또는 검증 동작이 좀 더 신뢰성 있게 이루어질 수 있다. 프로그래밍으로부터 전술된 예시를 이용함으로써, 비-휘발성 메모리는, -1V 에서 1.8V 의 이용 가능한 임계 전압 범위를 가지며, 논리 위도우 사이에 200mV 마진을 갖는 각각 400mV 의 정의된 5 개 상태/논리 윈도우를 저장한다(상태 0: -1V 에서 -0.6V, 상태 1: -0.4V 에서 0V, 상태 2: 0.2V 에서 0.6V, 상태 3: 0.8V 에서 1.2V, 상태 4: 1.4V 에서 1.8V). 장애 사건이, 셀의 프로그래밍된 임계 전압(Vt)(+/- 50mV)을 논리 윈도우/범위 내에서 이동시키도록 예측된다. 따라서, 25mV 또는 더 작은 분해능을 이용하여 임계 전압을 감지하도록 프로그래밍 분해능이 선택되며, 이로 인해, 정확한 임계 전압 읽기가 가능하고 임의의 임계 전압 표류로 인한 에러 보상/수정이 가능하다.
본 발명의 일 실시예에서, 읽히는 논리 윈도우/상태의 개수는 2진수(2M, 여기서 M은 메모리 셀에 저장되는 사용자 데이터 비트의 개수)이며, 메모리 셀의 읽기 분해능 레벨의 개수 또한 2진수가 되도록 선택된다(2M+L 디지털화 레벨/전압 범위를 이용, 여기서 L은 레벨 데이터 또는 읽기 데이터 감지에 이용되는 여분 비트의 개수). 그러나, 전술된 바와 같이, 여분의 감지 레벨의 개수 및 임계 전압 논리 윈도우의 지정 개수 역시 2진수일 필요는 없다. 증가된 읽기 분해능 및/또는 정확성은, 읽히는 더 미세한 임계 전압 폭 및 증가된 신호 침강 시간(signal settling time)으로 인해 더 느린 읽기/감지 동작의 희생으로 일반적으로 이루어지며, 상기 읽기 분해능은, 감지된 임계 전압 데이터의 여분의 L 비트를 선택적으로 마스킹 오프함으로써 그때 그때 변화될 수 있다.
본 발명의 일 실시예에서, 읽기 동작이 대응하는 프로그래밍 동작보다 더 높은 분해능을 이용함으로써, 읽을 때 증가된 양의 데이터가 처리될 수 있도록 한다. 따라서, 2M+N 프로그래밍 범위/상태와 2M+L 읽기 디지털화 범위/상태를 이용하는 2진 구현예에서, L이 N보다 더 클 것이다.
도 7은, 메모리 제어기(704)에 연결되는 본 발명의 실시예의 아날로그 NAND 아키텍처 비-휘발성 메모리 장치(702)를 갖는 시스템(700)에 대한 간략화된 다이어그램을 도시한다. 도 7에서, 비-휘발성 메모리 장치(702)에 쓰여질 데이터가, 메모리 제어기(704)의 내부 디지털 신호 프로세서(DSP)(706)에 의해 처리되며, 상기 디지털 신호 프로세서(706)는, 비-휘발성 메모리 장치(702)에 쓰여질, 선택된 각각의 메모리 셀에 대한 N 비트(710)의 추가적인 프로그래밍 분해능과 함께 M 비트(7080)의 디지털 데이터를 출력한다. 그 후, 선택된 각각의 메모리 셀에 대한 이러한 M+N 비트(780, 710)의 프로그램 데이터는, M+N 비트 디지털-아날로그 컨버터(DAC)(712)에 의해 변환되어, 아날로그 데이터 신호(714)로서 비-휘발성 메모리 장치(702)로 출력된다. 비-휘발성 메모리 장치(702)의 내부에서, M+N 비트 아날로그 데이터 신호(714)는, 프로그램 동작의 읽기/쓰기 회로(718)에 의해 NAND 아키텍처 메모리 어레이(716)의 선택된 셀을 프로그래밍하는데 이용된다.
액세스할 때, 비-휘발성 메모리 장치 어레이(716)로부터 선택된 하나 이상의 메모리 셀이 읽기/쓰기 회로(718)에 의해 감지된다. 감지된 데이터(726)는 그 후 버퍼링되고(720), 아날로그 신호로서 비-휘발성 메모리 장치(702)로부터, 연결된 메모리 제어기(704)로 전송된다. 메모리 제어기(704) 내에서, 아날로그-디지털 컨버터(722)를 이용하여 아날로그 데이터 값 신호가 아날로그에서 디지털 값으로 변환되어, 상승된 M+L 비트의 읽기 분해능으로 출력한다(724). 각각의 셀에 대하여 이러한 M+L 비트의 감지된 임계 전압 읽기 분해능은 그 후, 각각의 메모리 셀로부터, 저장된 M 비트의 처리 및 복구를 위하여 DSP(706)에 연결된다.
아날로그 데이터 신호를 제어기(704)로부터 메모리 장치(702)로 전송하는 아날로그 신호 버스(714)가 다수의 가능 형태(가령, 병렬 신호 버스, 직렬 신호 버스, 양방향성 신호 버스, 및 단방향성 송신 및 수신 신호 버스를 포함하나 이에 한정되지는 않음)를 가질 수 있다.
또한, 본 발명의 다양한 실시예의 프로그래밍 및 읽기 속도가, 정확성/분해능 및 그로부터 유래되는 이점(프로그램 보상, 읽기 인코딩 알고리즘)을 트레이드 오프함으로써 선택될 수 있다. 예를 들어, 프로그래밍 속도는, 임계 전압 윈도우의 개수를 감소시키거나, 프로그램 동작 전압 분해능을 조악한 레벨로 변경하여, 그로 인해, 가능한 공칭 임계 전압 프로그램 범위의 총 개수(지정 개수의 상태/논리 윈도우를 저장하기 위해 필요한 개수 이상으로 증가된 개수의 전압 범위)를 줄이고 프로그래밍 동작의 요구되는 정확성을 감소시킴으로써(그로써, 프로그래밍되는 공칭 목표 전압 레벨에 의해 정의된 전압 범위 내에서 실패하는 프로그래밍 사이클의 잠재적 개수를 감소시킴으로써) 증가될 수 있다. 이는 프로그래밍 정확성과 프로그램 장애를 보상하는 능력을 감소시키지만(그로 인해, 임의의 후속 읽기 동작의 정확성과 신뢰성을 감소시킴), 요구되는 정확성을 감소시킴으로써 프로그래밍 사이클의 속도 증가 효과를 가져올 것이다. 이는 또한, 대응하는 요구되는 읽기 정확성을 감소시키는 효과 역시 뒤따라 가져올 것이다.
이와 마찬가지로, 읽기 속도는, 임계 전압 윈도우의 개수를 줄이고, 및/또는, 읽기 동작 전압 분해능을 더 거친 레벨(coarser level)로 변경하여, 그로 인해, 가능한 공칭 임계 전압 읽기 레벨의 총 개수(지정 개수의 상태에 저장된 데이터 값을 읽기 위해 필요한 전압 이상에서 읽힌 증가된 개수의 전압 폭)를 줄이고 읽기 동작의 요구되는 정확성을 줄임으로써, 증가될 수 있다. 이러한 여분 개수의 가능한 읽기 임계 전압 범위/상태(읽기 임계 전압 분해능)의 감소가, 요구되는 정확성을 감소시키는데 있어서, 감지 시간과, 최종 전압을 설정하기 위하여 비트 라인에 대해 요구되는 시간을 감소시킨다. 그러나, 이는, 정확한 상태를 추측함으로써 임계 윈도우 표류를 보상하는 능력을 감소시키고, 앞에서 나열된 인코딩 알고리즘의 유효성을 감소시킬 뿐만 아니라, 대응하는 프로그래밍 동작의 요구되는 정확성 또한 감소시킨다.
도 7에서 전술된 바와 같이, 본 발명의 다양한 실시예는, 각각의 셀에 M 비트의 데이터를 저장하기 위하여, 프로그래밍된 M+N 데이터 값의 데이터 값을 나타내는 아날로그 데이터 신호를 처리 및 생성하도록 적응된 메모리 장치를 포함한다. 이는, 비-휘발성 메모리 셀에 임계 전압 범위로서 데이터 값을 저장함으로써 용이하게 된다. 종래의 다중-레벨 셀 기술의 비트 별 프로그래밍 동작과는 다르게, 본 발명의 다양한 실시예에서는, 요구되는 비트 패턴 또는 데이터를 위한 목표 임계 전압에 대해 직접 프로그래밍할 수 있다. 이와 유사하게, 개개의 비트를 읽는 대신에, 본 발명의 다양한 실시예에서는, 목표 메모리 셀의 임계 전압을 나타내는, 그로 인해, 각각의 셀로부터 읽힌 M+L 비트를 나타내는 데이터 신호를 생성하며, 여기서, M 비트의 데이터가 각각의 셀에 저장된다.
본 발명의 다양한 실시예가 2 이상의 비트의 비트 패턴을 나타내는 아날로그 신호로서 데이터 신호를 수신 및 송신할 수 있지만, 이들 실시예는 또한, 개개의 비트를 나타내는 디지털 신호를 수신 및 송신하도록 하기 위하여, 메모리 장치의 내부에서 이뤄지는 아날로그 신호 또는 선택된 임계 전압 범위/상태로의 변환을 제공할 수 있다. 또한, 아날로그 데이터 신호를 이용하는데 있어서, 단일 아날로그 데이터 신호가 둘, 넷, 또는 그 이상의 비트의 정보를 나타낼 수 있기 때문에, 메모리 셀 당 다수의 비트를 동시에 처리함에 따라 데이터 전송률이 메모리 밀도와 함께 증가될 수 있다.
도 8 및 9에 자세히 도시된 바와 같이, 본 발명의 그 밖의 다른 실시예는 또한, 각각의 셀에 M 비트의 정보를 저장하기 위하여, 프로그래밍된 M+N데이터 값을 나타내는 디지털 데이터 신호를 수신 및 처리하도록 적응된 메모리 장치를 포함한다. 그 후 이들 디지털 데이터 신호는, 임계 전압 범위에 의해 정의된 메모리 셀 상태의 직접 선택을 통해, 또는 아날로그 임계 전압 표현으로의 변환에 의해, 선택된 메모리 셀에서의 임계 전압을 프로그래밍하기 위하여 메모리 장치의 내부에서 이용될 수 있다. 이에 더하여, 본 발명의 다양한 실시예에서, 메모리 장치는 각각의 셀로부터 읽힌 M+L 비트를 나타내는 디지털 데이터 신호를 생성 및 송신하도록 적응되며, 여기서 M 비트의 데이터는 각각의 셀에 저장된다.
도 8에서, 디지털 통신과 디지털 데이터의 내부 아날로그 변환을 이용하는 메모리 제어기(804)에 연결되는, 본 발명의 실시예의 NAND 아키텍처 비-휘발성 메모리 장치(802)를 갖는 시스템(800)의 간략화된 다이어그램이 도시된다. 비-휘발성 메모리 장치(804)에 쓰여질 데이터가 제어기(804)의 디지털 신호 프로세서(DSP)(804)에 의해 처리되며, 상기 제어기(804)는 비-휘발성 메모리 장치(802)에 쓰여질, 각각의 선택된 메모리 셀에 대한 N 비트(810)의 추가적 프로그래밍 분해능(806)과 함께 M 비트의 데이터(808)를 출력한다. 프로그래밍되도록 선택된 각각의 메모리 셀에 대한 이러한 M+N 비트(808, 810)의 프로그램 데이터는 그 후, 디지털 표현으로서 메모리 장치(802)로 전송되고, 비-휘발성 메모리 장치(802)의 내부적으로 M+N 비트 디지털-아날로그 컨버터(DAC)(812)에 의해 아날로그 데이터 신호(828)로 변환된다. 이러한 M+N 비트 아날로그 데이터 신호(828)는 프로그램 동작의 읽기/쓰기 회로(818)에 의해 메모리 어레이(816)의 선택된 하나 이상의 셀을 프로그래밍하기 위해 이용된다.
액세스할 때, 비-휘발성 메모리 장치 어레이(816)의 선택된 하나 이상의 메모리 셀이 읽기/쓰기 회로(818)에 의해 감지된다. 감지된 임계 전압(826)은 그 후, 필요한 경우 버퍼링되고(820), 상승된 M+L 비트의 읽기 분해능에서 비-휘발성 메모리 장치(802)의 아날로그-디지털 컨버터(DSP)(806)를 이용하여 아날로그에서 디지털 값으로 변환된다. 그 후, 각각의 셀에 대한 이러한 M+L 비트(824)의 감지된 임계 전압 읽기 분해능은, 비-휘발성 메모리 장치(802)로부터, 연결된 메모리 제어기(804)로 전송되고, 각각의 메모리 셀에 저장된 M 비트의 데이터의 처리 및 복구를 위하여 DSP(806)로 연결된다.
도 9에서, 디지털 통신을 이용하는 메모리 제어기(904)에 연결되는, 본 발명의 실시예의 비-휘발성 장치(902)를 갖는 시스템(900)의 간략화된 다이어그램이 도시된다. 비-휘발성 메모리 장치(902)에 쓰여질 데이터가 제어기(904)의 내부 디지털 신호 프로세서(DSP)(906)에 의해 처리되며, 상기 제어기(904)는, 비-휘발성 메모리 장치(902)에 쓰여질, 선택된 각각의 메모리 셀에 대한 N 비트(910)의 추가적인 프로그래밍 분해능과 함께 M 비트의 데이터(908)를 출력한다. 그 후, 프로그래밍되도록 선택된 각각의 메모리 셀에 대한 이러한 M+N 비트(908, 910)의 프로그램 데이터가, 디지털 표현으로서 버스(914)를 통해 메모리 장치(902)로 전송된다. 메모리 장치(902) 내부에서, M+N 비트(908, 910)의 프로그램 데이터는, 프로그램 동작의 감지 증폭기 및 읽기/쓰기 회로(918)에 의해, 임계 논리 윈도우 상태를 이용하고 입력 M+N 비트 디지털 데이터에 의해 직접 선택된 임계 전압 레벨을 프로그래밍하는 메모리 어레이(916)의 선택된 비-휘발성 메모리 셀로 프로그래밍된다.
액세스할 때, 비-휘발성 메모리 장치 어레이(916)로부터 선택된 하나 이상의 메모리 셀이 읽기/쓰기 회로(918)에 의해 감지되고, 감지된 임계 전압이 상승된 읽기 분해능의 디지털 표현에 정합된다. 이러한 감지 및 디지털 표현으로의 임계 전압의 정합이 전술된 방법 중 임의의 한 방법에 의해 성취될 수 있으며, 상기 방법이란, 종래의 다중-통과(pass) 읽기, 경사진 워드 라인 전압 읽기, 또는 소스-폴로워 읽기를 포함하나 이에 한정되지는 않는다. 그 후, 감지된 임계 전압의 이러한 디지털 표현이, I/O 버퍼(920)에 의해 버퍼링되고, 비-휘발성 메모리 장치(902)로부터 상승된 M+L 비트의 읽기 분해능에서 출력된다(926). 비-휘발성 메모리 장치(902)로부터, 연결된 메모리 제어기(904)로의 전송 이후, 각각의 셀에 대한 이러한 M+L 비트(924)의 감지된 임계 전압 읽기 분해능이 각각의 메모리 셀에 저장되는 M 비트의 데이터의 처리 및 복구를 위하여 DSP(906)에 연결된다.
도 8 및 9의 제어기(804, 904)로부터 메모리 장치(802, 902)로 디지털 데이터를 전송하는 디지털 버스(814, 914)가, 다수의 가능 형태(가령, 병렬 데이터 버스, 직렬 데이터 버스, 양방향성 데이터 버스, 및 단방향성 데이터 버스를 포함하나 이에 한정되지는 않음)를 가질 수 있다.
전술한 바와 같이, 메모리 셀이 많은 개수의 개별 (비-2진)범위/윈도우를 신뢰성 있게 저장할 수 있다 하더라도, 이들 메모리 셀은 통상적으로 2진 개수의 Vt 범위/논리 윈도우로 분할됨으로써, 이들 셀이 2진수의 범위 또는 비트 패턴의 부분을 나타내는 하나 이상의 비트를 저장할 수 있다. 본 발명의 다양한 실시예가, 비-2진 개수의 정의된 Vt 전압 범위/논리 윈도우를 최대, 신뢰성 있게 이용 가능한 셀의 전압 범위의 전체 개수까지 이용한다. 그렇게 하는 동안, 이들 실시예들은 또한, 어레이의 메모리 셀 프로그래밍 및 읽기에 있어서 선택된 개수의 정의된 상태를 저장하기 위해 요구되는 것 이상의 전술된 증가된 프로그래밍 분해능 및/또는 증가된 읽기/감지 분해능을 이용할 수도 있다.
각각의 메모리 셀에 비-2진 개수의 정의된 상태를 저장함에 있어서, 본 발명의 다양한 실시예는, 각각의 셀의 비-2진 개수의 정의된 Vt 범위/논리 윈도우를 이용하여 각각의 셀에서의 "분수(fractional)" 개의 2진 상태가 실제로 무엇인지를 저장할 수 있다. 앞서, 비-휘발성 메모리 셀에 하나 이상의 비트를 저장할 때, 메모리 셀이 신뢰성 있게 더 많은 상태를 저장할 수 있는 경우라도, 비트가 나타내는 비트 패턴 또는 2진수가 각각의 셀의 2진 개수의 상태로 매핑된다. 예를 들어, 6-비트 2진수 또는 패턴을 저장하는데 있어 64 개의 가능한 상태를 필요로 한다. 이를 셀 당 2-비트의 MLC로 매핑함으로써, 3개의 셀이 요구되고, 각각의 셀은 4개의 가능한 상태 중 하나로 프로그래밍된다{2^6 = (2^2)^3 = 4^3 = 64 상태}. 분수 개의 비트를 저장함에 있어서, 각각의 비-휘발성 메모리 셀에서 이용 가능한 비-2진 개수의 신뢰성 있는 상태가 다수의 셀에 걸쳐 데이터를 저장하기 위해 이용되고, 이는 메모리 장치의 저장 밀도를 증가시킨다(가령, 각각의 셀에서 여분 개수의 이용 가능한 상태가 추가적 데이터를 저장하기 위해 이용될 수 있다). 그렇게 하는 중에, 선택된 개수의 데이터 비트가 선택된 개수의 관련 비-휘발성 메모리 셀(또한, 최소 기본 개수의 셀 또는 메모리 셀 유닛으로서도 알려져 있음)의 이용 가능한 상태로 인코딩된다. 예를 들어, 3 개의 MLC 셀이 6 개의 상태(Vt 범위/논리 윈도우)를 각각 신뢰성 있게 저장할 수 있는 경우, 그룹(가령, 셀의 관련 유닛)으로서 이들 셀은 6^3 = 216 개의 가능한 독특한 상태를 저장할 수 있다. 216 개의 상태는 7비트의 2진 데이터가 이러한 216 개의 상태로 쉽게 매핑될 수 있도록 할 것이다{7 비트의 데이터 평균 2^7=128 상태가 요구됨}. 단일 메모리 셀 MLC 인코딩과 함께로서, 2진수(가령, 비트)의 매핑이, 메모리 셀 그룹의 이용 가능한 모든 상태를 완전히 이용해야 하는 것은 아니다. 이는, 관련 메모리 셀의 그룹핑에서, 선택된 개수의 비트가, 이용 가능한 개수의 셀 상태로 좀 더 편리하게 매핑/인코딩될 수 있도록 한다. 일 실시예에서, 데이터 저장에 이용되지 않는 임의의 메모리 셀 상태가, 이용된 유효 상태, 장애 효과에 대한 사전-조정 또는 데이터 인코딩(PRML/Trellis/LDPC/Turbo 등) 사이의 마진을 증가시키기 위하여 이용될 수 있고, 또는 에러 정정 데이터 및/또는 메모리 장치 오버헤드 데이터의 저장을 위해 이용될 수도 있다.
이러한 접근법의 트레이드-오프가, 선택된 기준 개수 메모리 셀의 이용 가능한 상태로 인코딩된 데이터로서, 정수 개의 비트가 각각의 개별 셀에 저장되는 대신에, 비-정수 개의 비트가 각각의 셀에 저장될 수 있고, 이는, 저장된 데이터를 디코딩하기 위하여 다수의 셀이 읽혀야 한다는 것을 의미한다. 이에 더하여, 저장된 데이터는, 데이터 상태의 더욱 더 가까운 마진 및 적은 중복성으로 인해 장애 및 에러에 대한 취약성이 증가된다.
본 명세서에서 특정 실시예가 도시되고 기술되었으나, 해당업계 종사자라면, 동일한 목적을 달성하기 위하여 본 명세서에 나타난 특정 실시예를 대신하여 임의의 조정이 가능함을 이해할 것이다. 본 발명의 다양한 적응예가 해당업계 종사자에게 명백할 것이다. 따라서, 본 명세서는 본 발명의 임의의 적응예 또는 변형 형태를 커버하도록 의도되었다.
결론
요구되는 것보다 더 높은 임계 전압 분해능을 이용해 메모리 어레이의 셀을 프로그래밍 및/또는 읽기 위한 메모리 장치, 프로그래밍 및/또는 읽기 프로세스가 기술되었다. 비-휘발성 메모리 셀을 프로그래밍하는 경우, 이는, 프로그래밍 동안 더욱 더 정확한 임계 전압 배치를 가능하게 하고, 임계 전압이, 선택된 상태/논리 윈도우/임계 전압 범위 내의 양호한 단계로 프로그래밍되도록 함으로써 인접한 메모리 셀의 후속 프로그래밍으로부터 프로그램 장애를 사전-보상할 수 있도록 하며, 이로 인해, 뒤이은 메모리 셀의 프로그래밍에 의해 유도된 프로그램 장애가 셀을 선택된 최종 임계 전압 값에 또는 그 근처에 배치하도록 함으로써, 셀에 대한 임의의 후속 읽기 또는 검증 동작의 정확성을 증가시킨다. 메모리 셀 읽기/감지에 있어서, 증가된 임계 전압 분해능/입도가, 메모리 셀의 실제 프로그래밍된 상태를 더욱 더 정확히 해석할 수 있도록 하고, 또한, 메모리의 전체 에러율을 감소시키는 연판정을 하기 위해 정보의 추가적 입도가 이용되는 길쌈 코드와 같은 데이터 인코딩 및 디코딩 기법을 좀 더 효과적으로 이용할 수 있도록 한다. 이러한 아키텍쳐는 PRML, 격자 코드 변조, 및 확률적 디코딩 기법을 이용하는 LDPC 및 터보 코드와 같은 그 밖의 다른 고급 코드를 이용하여 최적 디코딩을 이용하여, 메모리의 전체 에러율을 줄일 수 있다.
특정 실시예가 본 명세서에 도시되고 기술되었으나, 해당업계 종사자라면, 동일한 목적을 달성하기 위하여 본 명세서에 나타난 특정 실시예를 대신하여 임의의 조정이 가능함을 이해할 것이다. 본 발명의 다양한 적응예가 해당업계 종사자에게 명백할 것이다. 따라서, 본 명세서는 본 발명의 임의의 적응예 또는 변형 형태를 커버하도록 의도되었다. 본 발명이 이하의 청구항 및 그 등가물에 의해서만 제한됨을 분명히 의도하였다.

Claims (21)

  1. 메모리 동작 방법에 있어서, 상기 방법은,
    다수의 프로그래밍 임계 전압 레벨 중에서 선택된 프로그래밍 임계 전압 레벨을 이용하는 다수의 논리 윈도우 상태 중에서 선택된 상태에 대응하도록, 메모리의 선택된 메모리 셀을 프로그래밍하는 단계를 포함하며,
    여기서, 논리 윈도우 상태의 개수는, 메모리 셀의 이용 가능한 임계 전압 범위를 다수의 임계 전압 범위로 분할함으로써 결정되고,
    프로그래밍 임계 전압 레벨의 개수는, 메모리 셀의 이용 가능한 임계 전압 범위를 다수의 프로그래밍 임계 전압 범위로 분할함으로써 결정되며, 프로그래밍 임계 전압 레벨 각각은 대응하는 공칭(nominal) 임계 전압 레벨을 갖고, 여기서, 프로그래밍 임계 전압 레벨의 개수는 메모리 셀의 논리 윈도우 상태의 개수 이상인 것을 특징으로 하는 메모리 동작 방법.
  2. 제 1 항에 있어서,
    선택된 프로그래밍 임계 전압 레벨을 이용하는 논리 윈도우 상태의 개수 중에서 선택된 상태에 대응하도록, 선택된 메모리 셀을 프로그래밍하는 단계는, M+N 비트의 데이터를 이용하여, 선택된 메모리 셀을 프로그래밍하는 단계를 추가로 포함하며, 여기서, M은, 사용자 데이터이고, 지정 개수의 논리 윈도우 상태의 개수와 동일하며, N은, 프로그래밍되어야 할 프로그래밍 임계 전압 레벨을 선택하는 추가 개수의 프로그램 데이터 비트인 것을 특징으로 하는 메모리 동작 방법.
  3. 제 1 항에 있어서,
    다수의 논리 윈도우 상태 중에서 선택된 상태를 예측된 프로그램 장애 효과에 대해 보상하기 위하여, 프로그래밍되어야 할 프로그래밍 임계 전압 레벨을 선택하는 단계를 추가로 포함하는 것을 특징으로 하는 메모리 동작 방법.
  4. 제 1 항에 있어서,
    확률적 인코딩 및 디코딩 기법 중 적어도 하나에 따라, 프로그래밍되어야 할 프로그래밍 임계 전압 레벨을 선택하는 단계를 추가로 포함하는 것을 특징으로 하는 메모리 동작 방법.
  5. 제 4 항에 있어서,
    확률적 인코딩 및 디코딩 기법 중 적어도 하나에 따라, 프로그래밍되어야 할 프로그래밍 임계 전압 레벨을 선택하는 단계는, 길쌈 코드, 부분 응답 최대 유사도(PRML), 저-밀도 패리티 체크(LDPC), 터보, 격자 변조 인코딩, 격자 변조 디코딩, 격자 변조 인코딩 및 디코딩 중 하나를 따라, 프로그래밍되어야 할 프로그래밍 임계 전압 레벨을 선택하는 단계를 추가로 포함하는 것을 특징으로 하는 메모리 동작 방법.
  6. 제 1 항에 있어서,
    메모리의 선택된 메모리에 액세스하고, 메모리 셀의 임계 전압과 관련되는 공칭(nominal) 감지 임계 전압 레벨을 결정하는 단계를 추가로 포함하며,
    여기서, 다수의 공칭 감지 임계 전압 레벨은, 선택된 메모리 셀의 이용 가능한 임계 전압 범위를 다수의 감지 임계 전압 범위로 분할함으로써 결정되고, 감지 임계 전압 범위 각각은 대응하는 감지된 임계 전압 레벨을 가지며,
    감지 임계 전압 레벨의 개수는, 선택된 메모리 셀의 논리 윈도우 상태의 개수 이상인 것을 특징으로 하는 메모리 동작 방법.
  7. 제 1 항에 있어서,
    상기 메모리 동작 방법은, NAND 아키텍처 비-휘발성 메모리 동작 방법인 것을 특징으로 하는 메모리 동작 방법.
  8. 제 1 항에 있어서,
    아날로그 데이터 신호와 디지털 데이터 신호 중 하나의 프로그램 데이터를 메모리로 전달하는 단계를 추가로 포함하는 것을 특징으로 하는 메모리 동작 방법.
  9. 제 6 항에 있어서,
    둘 이상의 선택된 메모리 셀에 액세스하고, 선택된 각각의 메모리 셀의 프로그래밍된 임계 전압과 관련되는 공칭 감지 임계 전압 레벨을 결정하는 단계를 추가로 포함하는 것을 특징으로 하는 메모리 동작 방법.
  10. 제 9 항에 있어서,
    선택된 메모리 셀의 이용 가능한 임계 전압 범위를 다수의 감지 임계 전압 범위로 분할하는 단계는, 각각의 메모리 셀의 이용 가능한 임계 전압 범위를 2M+L 개의 감지 범위로 분할하는 단계를 포함하며, 여기서, M은, 다수 비트의 사용자 데이터이고 논리 윈도우 상태의 개수와 동일하며, L은, 공칭 감지 임계 전압 레벨의 개수에 대응하는 추가 개수의 감지 데이터 비트인 것을 특징으로 하는 메모리 동작 방법.
  11. 제 9 항에 있어서,
    둘 이상의 선택된 메모리 셀에 액세스하고, 각각의 메모리 셀의 프로그래밍된 임계 전압과 관련되는 공칭 감지 임계 전압 레벨을 결정하는 단계는, 길쌈 코드, 부분 응답 최대 유사도(PRML), 저-밀도 패리티 체크(LDPC), 터보, 및 격자 변조 디코딩 중 하나를 이용하여, 결정된 공칭 감지 임계 전압 레벨을 디코딩하는 단계를 추가로 포함하는 것을 특징으로 하는 메모리 동작 방법.
  12. 제 9 항에 있어서,
    프로그래밍 임계 전압 레벨의 개수는, 공칭 감지 임계 전압 레벨의 개수 미만인 것을 특징으로 하는 메모리 동작 방법.
  13. 제 1 항에 있어서,
    둘 이상의 메모리 셀을, 메모리 셀의 관련 유닛으로 그룹핑하는 단계와,
    데이터를, 메모리 셀의 관련 유닛의 둘 이상의 메모리 셀 중 하나 이상에 대하여 다수의 논리 윈도우 상태 중에서 선택된 상태로 프로그래밍하는 단계
    를 포함하며,
    여기서, 메모리 셀의 관련 유닛의 하나 이상의 메모리 셀의 이용 가능한 임계 전압 범위가, 비-2진 개수의 논리 윈도우 상태로 분할되고,
    프로그래밍된 데이터는, 메모리 셀의 관련 유닛에서 총 개수의 이용 가능한 논리 윈도우 상태로 인코딩됨으로써, 메모리 셀의 관련 유닛에 걸쳐 저장되는 것을 특징으로 하는 메모리 동작 방법.
  14. 제 13 항에 있어서,
    메모리 셀의 관련 유닛의 둘 이상의 메모리 셀의 프로그래밍된 논리 윈도우 상태를 감지하고, 프로그래밍된 논리 윈도우 상태로부터 저장된 데이터를 디코딩함으로써, 메모리 셀의 관련 유닛으로부터 데이터를 읽는 단계를 추가로 포함하는 것을 특징으로 하는 메모리 동작 방법.
  15. 제 13 항에 있어서,
    비-2진 개수의 논리 윈도우 상태는, 메모리 장치로부터 신뢰성 있게 저장되고 복구될 수 있는 최대 개수의 임계 전압 범위인 것을 특징으로 하는 메모리 동작 방법.
  16. 제 13 항에 있어서,
    메모리 셀의 관련 유닛으로의 사용자 데이터 저장을 위해 이용되지 않은 논리 윈도우 상태는, 오버헤드 데이터를 저장하기 위해 이용되는 것을 특징으로 하는 메모리 동작 방법.
  17. 비-휘발성 메모리에 있어서, 상기 메모리는,
    복수 개의 비-휘발성 메모리 셀을 갖는 비-휘발성 메모리 어레이와,
    제어 회로
    를 포함하며,
    여기서, 비-휘발성 메모리는, 프로그래밍 동작에서 제 1 개수의 비-휘발성 메모리 셀의 각각의 메모리 셀에서의 M+N 비트의 프로그램 데이터를 프로그래밍하도록 적응되며, 여기서, M은 메모리 셀의 지정 개수의 논리 윈도우 범위에 저장되는 다수의 사용자 데이터 비트이고, N은 추가적 프로그래밍 범위의 개수이며,
    비-휘발성 메모리는, 읽기 동작에서 제 2 개수의 비-휘발성 메모리 셀의 각각의 메모리 셀로부터 M+L 비트의 읽기 데이터를 감지하도록 적응되고, 여기서, M은 메모리 셀의 지정 개수의 논리 윈도우 상태로부터 읽히는 사용자 데이터 비트의 개수를 나타내며, L은 읽기 동작에서 감지되는 추가적 공칭 감지 전압 범위의 개수인 것을 특징으로 하는 비-휘발성 메모리.
  18. 제 17 항에 있어서,
    상기 비-휘발성 메모리는, 메모리 셀로부터 읽히거나 메모리 셀에 대해 프로그래밍되는 임계 전압(Vt)을 나타내는 아날로그 전압 레벨 데이터와, 메모리 셀로부터 읽히거나 메모리 셀에 대해 프로그래밍되는 임계 전압(Vt)을 나타내는 디지털 데이터 신호 중 하나를 전달하도록 추가로 적응되는 것을 특징으로 하는 비-휘발성 메모리.
  19. 제 17 항에 있어서,
    상기 비-휘발성 메모리는, M 비트의 사용자 데이터에 의해 선택되는 논리 윈도우 상태를 예측된 프로그램 장애 효과에 대해 보상하기 위하여, 제 1 개수의 선택된 셀 중 각각의 셀에서 프로그래밍되는 M+N 비트 중 N 비트에 의해 정의되는 프로그래밍 범위를 선택하도록 추가로 적응되는 것을 특징으로 하는 비-휘발성 메모리.
  20. 제 17 항에 있어서,
    상기 비-휘발성 메모리는, 길쌈 코드, 부분 응답 최대 유사도(PRML), 저-밀도 패리티 체크(LDPC), 터보, 및 격자 변조 디코딩 중 하나를 이용하여, 제 2 개수의 비-휘발성 메모리 셀 중 각각의 메모리 셀로부터의 M+L 비트의 읽기 데이터를 디코딩하도록 추가로 적응되는 것을 특징으로 하는 비-휘발성 메모리.
  21. 제 17 항에 있어서, 상기 비-휘발성 메모리는,
    메모리 셀의 복수 개의 관련 그룹을 관련짓는 단계로서, 메모리 셀의 관련 그룹 각각은 둘 이상의 비-휘발성 메모리 셀을 가지며, 여기서, 메모리 셀의 관련 그룹 각각의 이용 가능한 임계 전압 범위가, 비-2진 개수의 정의된 논리 윈도우 상태로 분할되는 특징의 상기 관련 그룹 관련짓는 단계와,
    데이터를, 메모리 셀의 선택된 관련 그룹의 둘 이상의 메모리 셀의 비-2진 개수의 지정 논리 윈도우 상태로 프로그래밍하는 단계로서, 여기서, 프로그래밍된 데이터는, 메모리 셀의 관련 그룹에서 총 개수의 이용 가능한 논리 윈도우 상태로 인코딩됨으로써, 메모리 셀의 관련 그룹에 걸쳐 저장되는 특징의 상기 데이터 프로그래밍 단계
    를 포함하는 것을 특징으로 하는 비-휘발성 메모리.
KR1020107013374A 2007-11-21 2008-11-18 M 비트 메모리 셀을 위한 m+n 프로그래밍 및 m+l 비트 읽기 KR101125876B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/943,916 2007-11-21
US11/943,916 US7633798B2 (en) 2007-11-21 2007-11-21 M+N bit programming and M+L bit read for M bit memory cells
PCT/US2008/083915 WO2009067448A1 (en) 2007-11-21 2008-11-18 M+n bit programming and m+l bit read for m bit memory cells

Publications (2)

Publication Number Publication Date
KR20100093089A KR20100093089A (ko) 2010-08-24
KR101125876B1 true KR101125876B1 (ko) 2012-03-22

Family

ID=40641787

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107013374A KR101125876B1 (ko) 2007-11-21 2008-11-18 M 비트 메모리 셀을 위한 m+n 프로그래밍 및 m+l 비트 읽기

Country Status (7)

Country Link
US (3) US7633798B2 (ko)
EP (2) EP3273443B1 (ko)
JP (2) JP2011504277A (ko)
KR (1) KR101125876B1 (ko)
CN (2) CN103680605B (ko)
TW (2) TWI518702B (ko)
WO (1) WO2009067448A1 (ko)

Families Citing this family (97)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8077516B2 (en) * 2006-05-08 2011-12-13 Macronix International Co., Ltd. Method and apparatus for accessing memory with read error by changing comparison
WO2007132453A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Distortion estimation and cancellation in memory devices
WO2007132456A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Memory device with adaptive capacity
WO2007132457A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
US8060806B2 (en) 2006-08-27 2011-11-15 Anobit Technologies Ltd. Estimation of non-linear distortion in memory devices
WO2008053472A2 (en) 2006-10-30 2008-05-08 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US8151163B2 (en) 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
US8151166B2 (en) 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
US8369141B2 (en) 2007-03-12 2013-02-05 Apple Inc. Adaptive estimation of memory cell read thresholds
US8001320B2 (en) 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
US8429493B2 (en) 2007-05-12 2013-04-23 Apple Inc. Memory device with internal signap processing unit
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8174905B2 (en) 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US8527819B2 (en) 2007-10-19 2013-09-03 Apple Inc. Data storage in analog memory cell arrays having erase failures
US8068360B2 (en) 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
KR101509836B1 (ko) 2007-11-13 2015-04-06 애플 인크. 멀티 유닛 메모리 디바이스에서의 메모리 유닛의 최적화된 선택
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US8209588B2 (en) 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8085586B2 (en) 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
US8156398B2 (en) 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8059457B2 (en) * 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US8533563B2 (en) * 2008-03-31 2013-09-10 Qimonda Ag Memory read-out
US7843725B2 (en) * 2008-06-11 2010-11-30 Micron Technology, Inc. M+L bit read column architecture for M bit memory cells
WO2010002948A1 (en) * 2008-07-01 2010-01-07 Lsi Corporation Methods and apparatus for soft demapping and intercell interference mitigation in flash memories
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8000135B1 (en) * 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US7852671B2 (en) 2008-10-30 2010-12-14 Micron Technology, Inc. Data path for multi-level cell memory, methods for storing and methods for utilizing a memory array
US8127091B2 (en) * 2008-10-30 2012-02-28 Micron Technology, Inc. Programming memory cells with additional data for increased threshold voltage resolution
US8713330B1 (en) 2008-10-30 2014-04-29 Apple Inc. Data scrambling in memory devices
US8023334B2 (en) 2008-10-31 2011-09-20 Micron Technology, Inc. Program window adjust for memory cell signal line delay
US8208304B2 (en) * 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8397131B1 (en) 2008-12-31 2013-03-12 Apple Inc. Efficient readout schemes for analog memory cell devices
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US7978511B2 (en) * 2009-05-28 2011-07-12 Micron Technology, Inc. Data line management in a memory device
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8677203B1 (en) 2010-01-11 2014-03-18 Apple Inc. Redundant data storage schemes for multi-die memory systems
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8386895B2 (en) * 2010-05-19 2013-02-26 Micron Technology, Inc. Enhanced multilevel memory
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8767459B1 (en) 2010-07-31 2014-07-01 Apple Inc. Data storage in analog memory cells across word lines using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US8638602B1 (en) 2010-09-10 2014-01-28 Western Digital Technologies, Inc. Background selection of voltage reference values for performing memory read operations
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
US8780659B2 (en) * 2011-05-12 2014-07-15 Micron Technology, Inc. Programming memory cells
US8503237B1 (en) 2011-05-18 2013-08-06 Western Digital Technologies, Inc. System and method for data recovery in a solid state storage device
US8681564B2 (en) * 2011-05-23 2014-03-25 Marvell World Trade Ltd. Systems and methods for generating soft information in NAND flash
CN102298971B (zh) * 2011-08-29 2014-05-21 南京大学 一种非挥发性快闪存储器高密度多值存储的操作方法
US8788889B2 (en) 2011-11-23 2014-07-22 Sandisk Technologies Inc. Bit stream aliasing in memory system with probabilistic decoding
US8988942B2 (en) * 2012-07-02 2015-03-24 Sandisk Technologies Inc. Methods for extending the effective voltage window of a memory cell
US8804452B2 (en) 2012-07-31 2014-08-12 Micron Technology, Inc. Data interleaving module
US9098403B2 (en) 2012-11-09 2015-08-04 Sandisk Technologies Inc. NAND flash based content addressable memory
WO2014102800A1 (en) * 2012-12-30 2014-07-03 Ramot At Tel-Aviv University Ltd. Method and device for reliable storage in nor flash memory
KR101742462B1 (ko) * 2013-02-27 2017-06-01 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 메모리 디바이스들을 위한 선형 프로그래밍 기반 디코딩
US9075424B2 (en) 2013-03-06 2015-07-07 Sandisk Technologies Inc. Compensation scheme to improve the stability of the operational amplifiers
US9053810B2 (en) 2013-03-08 2015-06-09 Sandisk Technologies Inc. Defect or program disturb detection with full data recovery capability
US9367391B2 (en) * 2013-03-15 2016-06-14 Micron Technology, Inc. Error correction operations in a memory device
WO2015005636A1 (ko) * 2013-07-08 2015-01-15 주식회사 윌러스표준기술연구소 메모리 시스템 및 메모리의 데이터 처리 방법
US9859925B2 (en) 2013-12-13 2018-01-02 Empire Technology Development Llc Low-complexity flash memory data-encoding techniques using simplified belief propagation
JP6399749B2 (ja) * 2013-12-19 2018-10-03 キヤノン株式会社 撮像装置および撮像システム
KR20150134473A (ko) * 2014-05-21 2015-12-02 에스케이하이닉스 주식회사 반도체 장치 및 그 동작 방법
US9704540B2 (en) 2014-06-05 2017-07-11 Micron Technology, Inc. Apparatuses and methods for parity determination using sensing circuitry
US9343156B1 (en) * 2015-06-25 2016-05-17 Sandisk Technologies Inc. Balancing programming speeds of memory cells in a 3D stacked memory
WO2018057766A1 (en) * 2016-09-21 2018-03-29 Rambus Inc. Adaptive memory cell write conditions
FR3065826B1 (fr) * 2017-04-28 2024-03-15 Patrick Pirim Procede et dispositif associe automatises aptes a memoriser, rappeler et, de maniere non volatile des associations de messages versus labels et vice versa, avec un maximum de vraisemblance
US10360947B2 (en) * 2017-08-31 2019-07-23 Micron Technology, Inc. NAND cell encoding to improve data integrity
US10192626B1 (en) * 2017-08-31 2019-01-29 Micro Technology, Inc. Responding to power loss
US10354738B2 (en) 2017-09-27 2019-07-16 Micron Technology, Inc. One check fail byte (CFBYTE) scheme
US10878920B2 (en) * 2018-03-21 2020-12-29 SK Hynix Inc. Memory controller and memory system having the same
US10629288B2 (en) 2018-06-25 2020-04-21 Micron Technology, Inc. Adjustable voltage drop detection threshold in a memory device
US10838652B2 (en) * 2018-08-24 2020-11-17 Silicon Storage Technology, Inc. Programming of memory cell having gate capacitively coupled to floating gate
US10622065B2 (en) * 2018-09-12 2020-04-14 Micron Technology, Inc. Dedicated commands for memory operations
US10573390B1 (en) * 2018-11-30 2020-02-25 Samsung Electronics Co., Ltd. High-density storage system
US11557345B2 (en) * 2018-12-20 2023-01-17 Micron Technology, Inc. Dynamic memory programming voltage step for strenuous device conditions
CN109935265B (zh) * 2019-02-15 2021-02-26 长江存储科技有限责任公司 数据读取方法及装置、存储器及存储介质
US10783978B1 (en) * 2019-08-27 2020-09-22 Micron Technology, Inc. Read voltage-assisted manufacturing tests of memory sub-system
CN111600614B (zh) * 2020-06-04 2023-09-05 北京润科通用技术有限公司 基于连续帧的3/4码率的编、译码方法、装置及系统
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060004952A1 (en) 2004-02-15 2006-01-05 M-Systems Flash Disk Pioneers, Ltd. Method of managing a multi-bit-cell flash memory
US20060285392A1 (en) 2005-06-15 2006-12-21 Micron Technology, Inc. Selective slow programming convergence in a flash memory device
US7221592B2 (en) 2005-02-25 2007-05-22 Micron Technology, Inc. Multiple level programming in a non-volatile memory device

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04238196A (ja) * 1991-01-22 1992-08-26 Nec Ic Microcomput Syst Ltd Eprom回路
US5737265A (en) * 1995-12-14 1998-04-07 Intel Corporation Programming flash memory using data stream analysis
US5859858A (en) * 1996-10-25 1999-01-12 Intel Corporation Method and apparatus for correcting a multilevel cell memory by using error locating codes
JPH11283396A (ja) * 1998-03-27 1999-10-15 Sony Corp メモリ装置
JP3308915B2 (ja) * 1998-11-11 2002-07-29 エヌイーシーマイクロシステム株式会社 不良救済用メモリセル及びそれを用いた記憶装置
US6094368A (en) * 1999-03-04 2000-07-25 Invox Technology Auto-tracking write and read processes for multi-bit-per-cell non-volatile memories
DE60045073D1 (de) * 2000-10-13 2010-11-18 St Microelectronics Srl Verfahren zum Speichern und Lesen von Daten eines nichtflüchtigen Multibitspeichers mit einer nichtbinären Anzahl von Bits pro Zelle
US6469931B1 (en) * 2001-01-04 2002-10-22 M-Systems Flash Disk Pioneers Ltd. Method for increasing information content in a computer memory
DE60127125D1 (de) * 2001-09-28 2007-04-19 St Microelectronics Srl Verfahren zum Speichern und Lesen von Daten in einem nichtflüchtigen Mehrpegelspeicher mit einer nichtbinären Anzahl von Pegeln und dazugehörige Schaltungsarchitektur
US6987693B2 (en) * 2002-09-24 2006-01-17 Sandisk Corporation Non-volatile memory and method with reduced neighboring field errors
US6847550B2 (en) * 2002-10-25 2005-01-25 Nexflash Technologies, Inc. Nonvolatile semiconductor memory having three-level memory cells and program and read mapping circuits therefor
US7023735B2 (en) * 2003-06-17 2006-04-04 Ramot At Tel-Aviv University Ltd. Methods of increasing the reliability of a flash memory
JP4005000B2 (ja) * 2003-07-04 2007-11-07 株式会社東芝 半導体記憶装置及びデータ書き込み方法。
US6956770B2 (en) 2003-09-17 2005-10-18 Sandisk Corporation Non-volatile memory and method with bit line compensation dependent on neighboring operating modes
US7355237B2 (en) * 2004-02-13 2008-04-08 Sandisk Corporation Shield plate for limiting cross coupling between floating gates
JP4357331B2 (ja) * 2004-03-24 2009-11-04 東芝メモリシステムズ株式会社 マイクロプロセッサブートアップ制御装置、及び情報処理システム
US7020017B2 (en) * 2004-04-06 2006-03-28 Sandisk Corporation Variable programming of non-volatile memory
JP2008020937A (ja) * 2004-10-29 2008-01-31 Matsushita Electric Ind Co Ltd 不揮発性記憶装置
US7200043B2 (en) * 2005-05-31 2007-04-03 Elite Semiconductor Memory Technology, Inc. Nonvolatile memory using a two-step cell verification process
JP2007042222A (ja) * 2005-08-04 2007-02-15 Renesas Technology Corp 半導体装置
US7443732B2 (en) * 2005-09-20 2008-10-28 Spansion Llc High performance flash memory device capable of high density data storage
ATE534999T1 (de) * 2005-10-17 2011-12-15 Univ Ramot Probabilistische fehlerkorrektur in einem mehrbit-pro-zelle-flash-speicher
US7526715B2 (en) * 2005-10-17 2009-04-28 Ramot At Tel Aviv University Ltd. Probabilistic error correction in multi-bit-per-cell flash memory
JP4938020B2 (ja) * 2005-11-10 2012-05-23 サンディスク コーポレイション タイミング情報による逆結合効果
US8055979B2 (en) * 2006-01-20 2011-11-08 Marvell World Trade Ltd. Flash memory with coding and signal processing
US7400532B2 (en) * 2006-02-16 2008-07-15 Micron Technology, Inc. Programming method to reduce gate coupling interference for non-volatile memory
US7388781B2 (en) * 2006-03-06 2008-06-17 Sandisk Il Ltd. Multi-bit-per-cell flash memory device with non-bijective mapping
JP5142478B2 (ja) * 2006-04-13 2013-02-13 株式会社東芝 半導体記憶装置
US7593259B2 (en) * 2006-09-13 2009-09-22 Mosaid Technologies Incorporated Flash multi-level threshold distribution scheme

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060004952A1 (en) 2004-02-15 2006-01-05 M-Systems Flash Disk Pioneers, Ltd. Method of managing a multi-bit-cell flash memory
US7221592B2 (en) 2005-02-25 2007-05-22 Micron Technology, Inc. Multiple level programming in a non-volatile memory device
US20060285392A1 (en) 2005-06-15 2006-12-21 Micron Technology, Inc. Selective slow programming convergence in a flash memory device

Also Published As

Publication number Publication date
CN103680605B (zh) 2016-08-17
US20090129153A1 (en) 2009-05-21
EP3273443A1 (en) 2018-01-24
TWI518702B (zh) 2016-01-21
US20110103145A1 (en) 2011-05-05
EP2218074A4 (en) 2011-01-05
TW201337944A (zh) 2013-09-16
EP2218074A1 (en) 2010-08-18
US8111550B2 (en) 2012-02-07
EP3273443B1 (en) 2019-11-13
CN103680605A (zh) 2014-03-26
US20100091565A1 (en) 2010-04-15
KR20100093089A (ko) 2010-08-24
JP2011504277A (ja) 2011-02-03
WO2009067448A1 (en) 2009-05-28
CN101868829A (zh) 2010-10-20
TW200931432A (en) 2009-07-16
JP2015043253A (ja) 2015-03-05
US7872912B2 (en) 2011-01-18
TWI402854B (zh) 2013-07-21
EP2218074B1 (en) 2017-10-04
CN101868829B (zh) 2014-01-29
US7633798B2 (en) 2009-12-15
JP5914613B2 (ja) 2016-05-11

Similar Documents

Publication Publication Date Title
KR101125876B1 (ko) M 비트 메모리 셀을 위한 m+n 프로그래밍 및 m+l 비트 읽기
US8737127B2 (en) Memory controllers to output data signals of a number of bits and to receive data signals of a different number of bits
US8159874B2 (en) Cell operation monitoring
KR101154624B1 (ko) Mlc nand에서 비-동일 임계 전압 범위들
EP2156304B1 (en) Solid state memory utilizing analog communication of data values
WO2008154134A1 (en) Programming error correction code into a solid state memory device with varying bits per cell
US8787103B2 (en) Analog-to-digital and digital-to-analog conversion window adjustment based on reference cells in a memory device

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: 20150130

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160127

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170202

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180219

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190218

Year of fee payment: 8