KR101180529B1 - 고체 상태 메모리에서의 개략적 및 미세한 프로그래밍 - Google Patents

고체 상태 메모리에서의 개략적 및 미세한 프로그래밍 Download PDF

Info

Publication number
KR101180529B1
KR101180529B1 KR1020107000866A KR20107000866A KR101180529B1 KR 101180529 B1 KR101180529 B1 KR 101180529B1 KR 1020107000866 A KR1020107000866 A KR 1020107000866A KR 20107000866 A KR20107000866 A KR 20107000866A KR 101180529 B1 KR101180529 B1 KR 101180529B1
Authority
KR
South Korea
Prior art keywords
memory
programming
programmed
cell
voltage
Prior art date
Application number
KR1020107000866A
Other languages
English (en)
Other versions
KR20100012059A (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 KR20100012059A publication Critical patent/KR20100012059A/ko
Application granted granted Critical
Publication of KR101180529B1 publication Critical patent/KR101180529B1/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/10Programming or 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/5628Programming or writing circuits; 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data

Abstract

2 이상의 비트의 비트 패턴을 나타내는 아날로그 데이터 신호를 수신 및 송신하도록 적응된 메모리 장치는 개별 비트를 나타내는 데이터 신호를 통신하는 장치에 비해 데이터 전송 속도의 증가를 용이하게 한다. 이러한 메모리 장치의 프로그래밍은 프로그램된 상태에 가까운 큰 단계로 임계 전압을 이동시키기 위해, 처음에 개략적 프로그래밍 펄스로 셀을 프로그램하는 것을 포함한다. 그 다음, 이웃하는 셀들은 개략적 프로그래밍을 사용하여 프로그램된다. 그 다음, 알고리즘은 처음에 프로그램된 셀로 되돌아가고, 이때, 처음에 프로그램된 셀은 최종 프로그램 상태 임계 전압으로 더 작은 단계로 임계 전압을 느리게 이동시키는 하나 이상의 미세한 펄스로 프로그램된다.

Description

고체 상태 메모리에서의 개략적 및 미세한 프로그래밍{COARSE AND FINE PROGRAMMING IN A SOLID STATE MEMORY}
본 발명은 일반적으로 반도체 메모리에 관한 것으로, 특히 본 발명은 고체 상태(solid state) 비휘발성 메모리 장치에 관한 것이다.
전자 장치들은 일반적으로 그 전자 장치들에 사용 가능한 소정 유형의 대량 저장 장치를 갖는다. 일반적인 예로는 하드 디스크 드라이브(HDD)가 있다. HDD는 비교적 저렴한 비용으로 대량의 저장을 할 수 있는데, 사용 가능한 현재의 소비자 HDD는 1 테라바이트를 넘는 용량을 갖는다.
HDD는 일반적으로 회전 자기 매체 또는 플래터(platter) 상에 데이터를 저장한다. 데이터는 전형적으로 플래터 상에 자속 반전의 패턴으로서 저장된다. 전형적인 HDD에 데이터를 기입하기 위해, 플래터 위에 떠 있는 기입 헤드가 데이터를 표현하기 위해 플래터 상에 자기 입자를 정렬하도록 일련의 자기 펄스를 생성하는 동안에 플래터는 고속으로 회전된다. 전형적인 HDD로부터 데이터를 판독하기 위해, 판독 헤드가 고속으로 회전된 플래터 위에 떠 있을 때 자기 저항 판독 헤드 내에서 저항 변화가 야기된다. 실제로, 결과적인 데이터 신호는 아날로그 신호의 피크(peak) 및 밸리(valley)가 데이터 패턴의 자속 반전의 결과인 아날로그 신호이다. 이때, PRML(partial response maximum likelihood)이라고 하는 디지털 신호 처리 기술은 데이터 신호의 생성을 책임지는 가능성 있는 데이터 패턴을 판정하기 위해 아날로그 데이터 신호를 샘플링하는데 사용된다.
HDD는 기계적 특성으로 인해 소정의 단점을 갖는다. HDD는 충격, 진동 또는 강한 자계로 인한 손상 또는 과도한 판독/기입 에러에 민감하다. 게다가, HDD는 휴대용 전자 장치 내에서 비교적 큰 전력 소비자이다.
대량 저장 장치의 다른 예는 SSD(solid state drive)이다. 회전하는 매체 상에 데이터를 저장하는 대신에, SSD는 데이터를 저장하기 위해 반도체 메모리 장치를 이용하고, 그렇지만 SSD가 호스트 시스템에 마치 그것이 전형적인 HDD인 것처럼 보이게 하는 인터페이스 및 폼 팩터를 포함한다. SSD의 메모리 장치는 전형적으로 비휘발성 플래시 메모리 장치이다.
플래시 메모리 장치는 광범위한 전자 애플리케이션을 위한 비휘발성 메모리의 인기있는 소스로 발전했다. 플래시 메모리 장치는 전형적으로, 고 메모리 밀도, 고 신뢰성 및 저 전력 소비를 고려한 1-트랜지스터 메모리 셀을 사용한다. 전하 저장이나 층들의 트래핑 또는 기타 물리적 현상의 프로그래밍을 통해, 셀의 임계 전압(threshold voltage)의 변화는 각 셀의 데이터 값을 판정한다. 플래시 메모리 및 기타 비휘발성 메모리에 대한 일반적인 사용은 퍼스널 컴퓨터, 개인용 정보 단말기(PDA), 디지털 카메라, 디지털 미디어 플레이어, 디지털 레코더, 게임, 가전 제품, 수송수단, 무선 장치, 휴대폰 및 착탈식 메모리 모듈을 포함하고, 비휘발성 메모리에 대한 사용은 계속 확대된다.
HDD와 달리, SSD의 동작은 일반적으로 그들의 고체 상태 특성으로 인해 진동, 충격 또는 자계의 영향을 받지 않는다. 마찬가지로, 부품의 움직임이 없어서, SSD는 HDD보다 낮은 전력 요구사항을 갖는다. 그러나, SSD는 현재, 동일한 폼 팩터의 HDD에 비해 훨씬 낮은 저장 용량을 갖고, 비트 당 비용이 상당히 비싸다.
상기 설명된 이유로, 그리고 본 명세서를 읽고 이해할 때 본 분야에 숙련된 기술자들에게 명백해질 아래에 설명되는 다른 이유로, 본 분야에 대안적인 대량 저장 장치 옵션이 필요하다.
도 1은 본 발명의 실시예에 따른 메모리 장치의 단순화된 블록도.
도 2는 도 1의 메모리 장치 내에 있을 수 있는 예시적인 NAND 메모리 어레이의 일부를 도시한 개략도.
도 3은 본 발명의 일 실시예에 따른 고체 상태 대량 저장 장치 시스템의 블록 개략도.
도 4는 본 발명의 실시예에 따라 판독/기입 채널에 의해 메모리 장치로부터 수신될 수 있는 데이터 신호를 개념적으로 도시한 파형도.
도 5는 본 발명의 실시예에 따른 전자 시스템의 블록 개략도.
도 6은 본 발명의 메모리 장치를 프로그램하는 방법의 일 실시예의 흐름도.
도 7은 본 발명의 메모리 장치를 프로그램하는 방법의 대안적인 실시예의 흐름도.
도 8은 도 6 및 도 7의 프로그래밍 방법에 따른 NAND 메모리 어레이의 일부의 일 실시예를 도시한 개략도.
도 9는 플로팅 게이트-플로팅 게이트 결합을 도시한 NAND 메모리 어레이의 일 실시예의 개략도.
도 10은 도 9의 개략도에 따라 본 발명의 메모리 장치를 프로그램하는 방법의 일 실시예의 흐름도.
도 11은 개략적 프로그래밍 펄스 증분 및 미세한 프로그래밍 펄스 증분의 일 실시예의 도면.
본 실시예의 다음의 상세한 설명에서, 본 명세서의 일부를 이루는 첨부 도면이 참조되는데, 첨부 도면은 실시예들이 구현될 수 있는 특정 실시예를 예시적으로 도시한 것이다. 이들 실시예들은 본 분야에 숙련된 기술자들이 본 발명을 실시할 수 있게 충분히 상세하게 설명되고, 그외 다른 실시예가 이용될 수 있고 본 발명의 범위를 벗어나지 않고서 프로세스, 전기적 또는 기계적 변경이 행해질 수 있다는 것을 이해할 것이다. 그러므로, 다음의 상세한 설명은 제한적인 의미로 해석되어서는 안 된다.
종래의 고체 상태 메모리 장치는 이진 신호의 형태로 데이터를 전달한다. 전형적으로, 접지 전위는 데이터의 1 비트의 제1 논리 레벨, 예를 들어 '0' 데이터 값을 나타내는 한편, 공급 전위는 데이터의 1 비트의 제2 논리 레벨, 예를 들어 '1' 데이터 값을 나타낸다. 다중 레벨 셀(MLC)에는 예를 들어, 각 범위에 대해 200 mV인 4가지 상이한 임계 전압(Vt) 범위가 할당될 수 있는데, 각 범위는 별개의 데이터 상태에 대응하고, 이로 인해 4개의 데이터 값 또는 비트 패턴을 나타낸다. 전형적으로, Vt 분포가 겹치지 않게 하기 위해 0.2 V 내지 0.4 V의 데드 스페이스 또는 마진이 각 범위 사이에 있다. 셀의 Vt가 제1 범위 내에 있는 경우에, 셀은 논리 11 상태를 저장하는 것으로 간주될 수 있고, 전형적으로 셀의 소거 상태로 생각된다. 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인 MSB를 나타내는지 또는 0인 MSB를 나타내는지를 판정할 수 있는 한편, 제2 판독 동작은 타깃 메모리 셀의 Vt가 1인 LSB를 나타내는지 또는 0인 LSB를 나타내는지를 판정할 수 있다. 그러나, 각 경우에, 각 셀에 얼마나 많은 비트가 저장되는지에 상관없이, 타깃 메모리 셀의 판독 동작으로부터 단일 비트가 반환된다. 다수의 프로그램 및 판독 동작의 이러한 문제는 각 MLC 상에 더 많은 비트가 저장됨에 따라 점점 더 다루기 힘들어진다. 각각의 이러한 프로그램 또는 판독 동작이 이진 동작이기 때문에, 즉 각각이 셀 당 정보의 단일 비트를 프로그램하거나 반환하기 때문에, 각 MLC 상에 더 많은 비트를 저장하는 것은 더 긴 동작 시간을 초래한다.
예시적인 실시예의 메모리 장치는 메모리 셀 상에 Vt 범위로서 데이터를 저장한다. 그러나, 종래의 메모리 장치와 달리, 프로그램 및 판독 동작은 MLC 데이터 값의 별개의 비트로서가 아니라, MLC 데이터 값의 전체 표현으로서, 이를테면 그들의 완전한 비트 패턴으로서, 데이터 신호를 이용할 수 있다. 예를 들어, 2비트 MLC 장치에서, 셀의 LSB를 프로그램하고 그 다음에 그 셀의 MSB를 프로그램하는 대신에, 이들 2비트의 비트 패턴을 나타내는 타깃 임계 전압이 프로그램될 수 있다. 즉, 일련의 프로그램 및 검증 동작은, 제1 비트에 대한 제1 임계 전압으로 프로그램하고, 제2 비트에 대한 제2 임계 전압으로 시프트하는 등으로 하기보다는 오히려, 메모리 셀이 그 메모리 셀의 타깃 임계 전압을 얻을 때까지 메모리 셀에 적용될 수 있다. 마찬가지로, 셀에 저장된 각 비트를 판정하기 위해 다수의 판독 동작을 이용하는 대신에, 셀의 임계 전압은 셀의 완전한 데이터 값 또는 비트 패턴을 나타내는 단일 신호로서 판정되고 전달될 수 있다. 다양한 실시예들의 메모리 장치는, 메모리 셀이 종래의 메모리 장치에서 규정된 소정의 공칭 임계 전압보다 높거나 또는 낮은 임계 전압을 가졌는지의 여부만 살펴보는 것이 아니다. 그 대신에, 가능한 임계 전압의 연속체에 걸쳐 그 메모리의 실제 임계 전압을 나타내는 전압 신호가 생성된다. 이 방법의 장점은 셀 카운트 당 비트가 증가됨에 따라 더욱 중요해진다. 예를 들어, 메모리 셀이 8비트의 정보를 저장하게 되어 있으면, 단일 판독 동작은 8비트의 정보를 나타내는 단일 아날로그 데이터 신호를 반환할 것이다.
도 1은 본 발명의 실시예에 따른 메모리 장치(101)의 단순화된 블록도이다. 메모리 장치(101)는 행 및 열로 배열된 메모리 셀 어레이(104)를 포함한다. 주로 NAND 메모리 어레이와 관련하여 다양한 실시예들이 설명되지만, 다양한 실시예들은 메모리 어레이(104)의 특정 아키텍처에 제한되지 않는다. 본 실시예에 적합한 그외 다른 어레이 아키텍처의 몇 가지 예는 NOR 어레이, AND 어레이 및 가상 접지 어레이를 포함한다. 그러나, 일반적으로, 여기에서 설명된 실시예들은 각 메모리 셀의 임계 전압을 나타내는 데이터 신호를 생성할 수 있게 하는 임의의 어레이 아키텍처에 적응 가능하다.
행 디코드 회로(108) 및 열 디코드 회로(110)는 메모리 장치(101)에 제공된 주소 신호를 디코딩하기 위해 제공된다. 주소 신호는 메모리 어레이(104)를 액세스하기 위해 수신되고 디코딩된다. 메모리 장치(101)는 또한 메모리 장치(101)로부터의 데이터 및 상태 정보의 출력뿐만 아니라 메모리 장치(101)로의 명령, 주소 및 데이터의 입력을 관리하기 위한 입력/출력(I/O) 제어 회로(112)를 포함한다. 주소 레지스터(114)는 디코딩 전에 주소 신호를 래치하기 위해 I/O 제어 회로(112)와 행 디코드 회로(108) 및 열 디코드 회로(110) 사이에 결합된다. 명령 레지스터(124)는 들어오는 명령들을 래치하기 위해 I/O 제어 회로(112)와 제어 로직(116) 사이에 결합된다. 제어 로직(116)은 명령들에 응답하여 메모리 어레이(104)로의 액세스를 제어하고, 외부 프로세서(130)에 대한 상태 정보를 생성한다. 제어 로직(116)은 주소에 응답하여 행 디코드 회로(108) 및 열 디코드 회로(110)를 제어하기 위해 행 디코드 회로(108) 및 열 디코드 회로(110)에 결합된다.
제어 로직(116)은 또한 샘플 및 홀드 회로(118)에 결합된다. 샘플 및 홀드 회로(118)는 아날로그 전압 레벨의 형태의 들어오거나 나가는 데이터를 래치한다. 예를 들어, 샘플 및 홀드 회로는 메모리 셀에 기입될 데이터를 나타내는 들어오는 전압 신호 또는 메모리 셀로부터 감지된 임계 전압을 나타내는 나가는 전압 신호 중 어느 하나를 샘플링하기 위해 캐패시터 또는 그외 다른 아날로그 저장 장치를 포함할 수 있다. 샘플 및 홀드 회로(118)는 더 강한 데이터 신호를 외부 장치에 제공하기 위해 샘플링된 전압의 증폭 및/또는 버퍼링을 더욱 제공할 수 있다.
아날로그 전압 신호의 처리는 CMOS 이미저(imager) 기술 분야에서 잘 알려져 있는 방법과 유사한 방법을 이용할 수 있는데, 입사 조명에 응답하여 이미저의 픽셀에서 생성된 전하 레벨이 캐패시터 상에 저장된다. 그 다음, 이들 전하 레벨들은 차동 증폭기로의 제2 입력으로서 참조 캐패시터를 갖는 차동 증폭기를 사용하여 전압 신호로 변환된다. 그 다음, 차동 증폭기의 출력은 조명의 강도를 나타내는 디지털 값을 얻기 위해 아날로그-디지털 변환(ADC) 장치로 보내진다. 본 실시예에서, 전하는 메모리 셀을 각각 판독 또는 프로그래밍하기 위해 메모리 셀의 실제 또는 타깃 임계 전압을 나타내는 전압 레벨로 되게 하는 것에 응답하여 캐패시터에 저장될 수 있다. 그 다음, 이 전하는 제2 입력으로서 접지 입력 또는 그외의 참조 신호를 갖는 차동 증폭기를 사용하여 아날로그 전압으로 변환될 수 있다. 그 다음, 차동 증폭기의 출력은 판독 동작의 경우에 메모리 장치로부터의 출력을 위해 I/O 제어 회로(112)에 보내지거나, 또는 메모리 장치를 프로그램할 때 하나 이상의 검증 동작 동안에 비교를 위해 사용될 수 있다. 주의할 점은 메모리 장치(101)가 아날로그 또는 디지털 데이터 인터페이스와의 통신을 위해 적응될 수 있도록, I/O 제어 회로(112)가 아날로그-디지털 변환 기능 및 디지털-아날로그 변환(DAC) 기능을 선택적으로 포함하여, 판독 데이터를 아날로그 신호에서 디지털 비트 패턴으로 변환하고, 기입 데이터를 디지털 비트 패턴에서 아날로그 신호로 변환할 수 있다는 것이다.
기입 동작 동안에, 메모리 어레이(104)의 타깃 메모리 셀은 Vt 레벨을 나타내는 전압이 샘플 및 홀드 회로(118) 내에 보유된 레벨에 일치할 때까지 프로그램된다. 이것은 보유 전압 레벨을 타깃 메모리 셀의 임계 전압과 비교하기 위해, 한 예로서, 차동 감지 장치를 사용하여 달성될 수 있다. 종래의 메모리 프로그래밍과 아주 유사하게, 프로그래밍 펄스는 그것의 임계 전압을 원하는 값에 도달하거나 또는 그 값을 초과할 때까지 증가시키기 위해 타깃 메모리 셀에 인가될 수 있다. 판독 동작 시에, 타깃 메모리 셀의 Vt 레벨은 ADC/DAC 기능이 메모리 장치의 외부에서 또는 내부에서 제공되는지에 의존하여 아날로그 신호로서 직접적으로 또는 이 아날로그 신호들의 디지털화된 표현으로서 직접 외부 프로세서(도 1에 도시되지 않음)로의 전송을 위해 샘플 및 홀드 회로(118)에 보내진다.
셀의 임계 전압은 여러 방식으로 판정될 수 있다. 예를 들어, 워드 라인 전압은 타깃 메모리 셀이 활성화되는 시점에 샘플링될 수 있다. 대안적으로, 승압된(boosted) 전압은 타깃 메모리 셀의 제1 소스/드레인 측에 인가될 수 있고, 임계 전압은 그것의 제어 게이트 전압과 다른 소스/드레인 측에서의 전압 사이의 차로서 취해질 수 있다. 전압을 캐패시터에 결합함으로써, 전하는 샘플링된 전압을 저장하기 위해 캐패시터와 공유될 수 있다. 주의할 점은 샘플링된 전압이 임계 전압과 동일해야 할 필요는 없으며, 단지 그 전압을 나타내면 된다는 것이다. 예를 들어, 승압된 전압을 메모리 셀의 제1 소스/드레인 측에 인가하고, 공지된 전압을 그것의 제어 게이트에 인가하는 경우에, 메모리 셀의 제2 소스/드레인 측에서 발생된 전압은 이 발생된 전압이 메모리 셀의 임계 전압을 나타낼 때에 데이터 신호로서 취해질 수 있다.
샘플 및 홀드 회로(118)는 메모리 장치(101)가 제1 데이터 값을 외부 프로세서에 전달하는 동안에 다음 데이터 값을 판독하고 있거나, 또는 제1 데이터 값을 메모리 어레이(104)에 기입하는 동안에 다음 데이터 값을 수신하고 있을 수 있도록, 각 데이터 값에 대한 캐싱, 즉 다수의 저장 위치를 포함할 수 있다. 상태 레지스터(122)는 외부 프로세서에 출력하기 위한 상태 정보를 래치하기 위해 I/O 제어 회로(112)와 제어 로직(116) 사이에 결합된다.
메모리 장치(101)는 제어 링크(132)를 통해 제어 로직(116)에서 제어 신호들을 수신한다. 제어 신호들은 칩 인에이블 CE#, 명령 래치 인에이블 CLE, 주소 래치 인에이블 ALE 및 기입 인에이블 WE#을 포함할 수 있다. 메모리 장치(101)는 다중화된 입력/출력(I/O) 버스(134)를 통해 외부 프로세서로부터 명령(명령 신호의 형태), 주소(주소 신호의 형태) 및 데이터(데이터 신호의 형태)를 수신할 수 있고, I/O 버스(134)를 통해 외부 프로세서에 데이터를 출력할 수 있다.
특정 예에서, 명령은 I/O 제어 회로(112)에서 I/O 버스(134)의 입력/출력(I/O) 핀[7:0]을 통해 수신되고, 명령 레지스터(124) 내로 기입된다. 주소는 I/O 제어 회로(112)에서 버스(134)의 입력/출력(I/O) 핀[7:0]을 통해 수신되고, 주소 레지스터(114) 내로 기입된다. 데이터는 I/O 제어 회로(112)에서, 8개의 병렬 신호를 수신할 수 있는 장치의 경우에 입력/출력(I/O) 핀[7:0]을 통해 수신되거나, 또는 16개의 병렬 신호를 수신할 수 있는 장치의 경우에 입력/출력(I/O) 핀[15:0]을 통해 수신될 수 있고, 샘플 및 홀드 회로(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에 플로팅 게이트 트랜지스터로서 도시된 트랜지스터(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)에 접속된다. 주어진 NAND 스트링(206)에 대해 다수의 소스 선택 게이트(210)가 이용되면, 이들 다수의 소스 선택 게이트(210)는 그 NAND 스트링(206)의 제1 플로팅 게이트 트랜지스터(208)와 공통 소스 라인(216) 사이에서 직렬로 결합될 것이다.
각 드레인 선택 게이트(212)의 드레인은 드레인 접점에서 대응하는 NAND 스트링에 대한 로컬 비트 라인(204)에 접속된다. 예를 들어, 드레인 선택 게이트(2121)의 드레인은 드레인 접점에서 대응하는 NAND 스트링(2061)에 대한 로컬 비트 라인(2041)에 접속된다. 각 드레인 선택 게이트(212)의 소스는 대응하는 NAND 스트링(206)의 최종 플로팅 게이트 트랜지스터(208)의 드레인에 접속된다. 예를 들어, 드레인 선택 게이트(2121)의 소스는 대응하는 NAND 스트링(2061)의 플로팅 게이트 트랜지스터(208N)의 드레인에 접속된다. 주어진 NAND 스트링(206)에 대해 다수의 드레인 선택 게이트(212)가 이용되면, 그 다수의 드레인 선택 게이트(212)는 그 NAND 스트링(206)의 최종 플로팅 게이트 트랜지스터(208N)와 대응 비트 라인(204) 사이에서 직렬로 결합될 수 있다.
플로팅 게이트 트랜지스터(208)의 전형적인 구성은 도 2에 도시된 바와 같이, 소스(230) 및 드레인(232), 플로팅 게이트(234) 및 제어 게이트(236)를 포함한다. 플로팅 게이트 트랜지스터(208)는 워드 라인(202)에 결합된 제어 게이트(236)를 갖는다. 플로팅 게이트 트랜지스터(208)의 열은 주어진 로컬 비트 라인(204)에 결합된 그러한 NAND 스트링(206)이다. 플로팅 게이트 트랜지스터(208)의 행은 주어진 워드 라인(202)에 공통으로 결합된 그러한 트랜지스터들이다. 2개 이상의 임계 전압 범위들 중에서 하나를 취하도록 프로그램될 수 있는 NROM, 자기 또는 강유전성 트랜지스터들 및 기타 트랜지스터들과 같은 그외 다른 형태의 트랜지스터(208)가 또한 본 발명의 실시예에서 이용될 수 있다.
다양한 실시예의 메모리 장치는 대량 저장 장치에서 유리하게 사용될 수 있다. 다양한 실시예의 경우에, 이들 대량 저장 장치들은 종래의 HDD의 동일한 폼 팩터 및 통신 버스 인터페이스를 지닐 수 있으므로, 이들이 각종 애플리케이션에서 이러한 드라이브를 대신할 수 있게 한다. HDD에 대한 몇 가지 공통 폼 팩터는 이동 전화, 개인 정보 단말기(PDA) 및 디지털 미디어 플레이어와 같은 소형의 개인용 전자제품에서 일반적으로 사용된 1.8" 및 1" 폼 팩터뿐만 아니라, 현재의 퍼스널 컴퓨터 및 보다 대형의 디지털 미디어 레코더에서 일반적으로 사용된 3.5", 2.5" 및 PCMCIA(Personal Computer Memory Card International Association) 폼 팩터를 포함한다. 몇 가지 공통 버스 인터페이스는 USB(universal serial bus), ATA(AT attachment) 인터페이스[IDE(integrated drive electronics)로도 알려져 있음], SATA(serial ATA), SCSI(small computer systems interface) 및 IEEE(Institute of Electrical and Electronics Engineers) 1394 표준을 포함한다. 각종 폼 팩터 및 통신 인터페이스가 열거되었지만, 실시예들은 특정 폼 팩터 또는 통신 표준에 제한되지 않는다. 더욱이, 실시예들은 HDD 폼 팩터 또는 통신 인터페이스에 따르지 않아도 된다. 도 3은 본 발명의 일 실시예에 따른 고체 상태 대량 저장 장치(300)의 블록 개략도이다.
대량 저장 장치(300)는 본 발명의 실시예에 따른 메모리 장치(301), 판독/기입 채널(305) 및 제어기(310)를 포함한다. 판독/기입 채널(305)은 제어기(310)로부터 수신된 데이터 신호의 디지털-아날로그 변환뿐만 아니라 메모리 장치(301)로부터 수신된 데이터 신호의 아날로그-디지털 변환을 제공한다. 제어기(310)는 버스 인터페이스(315)를 통해 대량 저장 장치(300)와 외부 프로세서(도 3에 도시되지 않음) 사이에서의 통신을 제공한다. 판독/기입 채널(305)은 점선으로 메모리 장치(301')로 도시된 것과 같은 하나 이상의 추가 메모리 장치를 위해 사용될 수 있다는 것을 유의한다. 통신을 위한 단일 메모리 장치(301)의 선택은 다중 비트 칩 인에이블 신호 또는 기타 멀티플렉싱 방식을 통해 처리될 수 있다.
메모리 장치(301)는 아날로그 인터페이스(320) 및 디지털 인터페이스(325)를 통해 판독/기입 채널(305)에 결합된다. 아날로그 인터페이스(320)는 메모리 장치(301)와 판독/기입 채널(305) 사이에서의 아날로그 데이터 신호의 통로를 제공하는 한편, 디지털 인터페이스(325)는 판독/기입 채널(305)로부터 메모리 장치(301)로의 제어 신호, 명령 신호 및 주소 신호의 통로를 제공한다. 디지털 인터페이스(325)는 또한 메모리 장치(301)로부터 판독/기입 채널(305)로의 상태 신호의 통로를 제공할 수 있다. 아날로그 인터페이스(320) 및 디지털 인터페이스(325)는 도 1의 메모리 장치(101)와 관련하여 설명된 바와 같이 신호 라인을 공유할 수 있다. 도 3의 실시예가 메모리 장치에 대한 이중 아날로그/디지털 인터페이스를 도시하지만, 판독/기입 채널(305)의 기능은 도 1과 관련하여 설명된 바와 같이 선택적으로 메모리 장치(301) 내로 통합되어, 메모리 장치(301)가 제어 신호, 명령 신호, 상태 신호, 주소 신호 및 데이터 신호의 통로를 위해 디지털 인터페이스만을 사용하여 제어기(310)와 직접 통신하도록 할 수 있다.
판독/기입 채널(305)은 데이터 인터페이스(330) 및 제어 인터페이스(335)와 같은 하나 이상의 인터페이스를 통해 제어기(310)에 결합된다. 데이터 인터페이스(330)는 판독/기입 채널(305)과 제어기(310) 사이에서의 디지털 데이터 신호의 통로를 제공한다. 제어 인터페이스(335)는 제어기(310)로부터 판독/기입 채널(305)로의 제어 신호, 명령 신호 및 주소 신호의 통로를 제공한다. 제어 인터페이스(335)는 또한 판독/기입 채널(305)로부터 제어기(310)로의 상태 신호의 통로를 제공할 수 있다. 상태 및 명령/제어 신호들은 또한 제어 인터페이스(335)를 디지털 인터페이스(325)에 접속하는 점선으로 나타낸 바와 같이 제어기(310)와 메모리 장치(301) 사이에서 직접 전달될 수 있다.
도 3에 2개의 별개의 장치로서 도시되었지만, 판독/기입 채널(305) 및 제어기(310)의 기능은 대안적으로 단일 집적 회로 장치에 의해 실행될 수 있다. 그리고, 메모리 장치(301)를 분리된 장치로서 유지하는 것은 상이한 폼 팩터 및 통신 인터페이스에 이 실시예들을 적용함에 있어서 더 많은 융통성을 제공할 수 있으며, 이것이 또한 집적 회로 장치이기 때문에, 전체의 대량 저장 장치(300)는 단일 집적 회로 장치로서 제조될 수 있다.
판독/기입 채널(305)은 디지털 데이터 스트림에서 아날로그 데이터 스트림으로의 변환 및 이와 반대로의 변환을 적어도 제공하도록 구성된 신호 프로세서이다. 디지털 데이터 스트림은 이진 전압 레벨의 형태로, 즉, 예를 들어 0인 제1 이진 데이터 값을 갖는 비트를 나타내는 제1 전압 레벨 및 예를 들어 1인 제2 이진 데이터 값을 갖는 비트를 나타내는 제2 전압 레벨의 형태로 데이터 신호들을 제공한다. 아날로그 데이터 스트림은 2개보다 많은 레벨을 갖는 아날로그 전압의 형태로 데이터 신호를 제공하는데, 상이한 전압 레벨 또는 범위는 2 이상의 비트의 상이한 비트 패턴에 대응한다. 예를 들어, 메모리 셀 당 2 비트를 저장하도록 구성된 시스템에서, 아날로그 데이터 스트림의 제1 전압 레벨 또는 전압 레벨들의 범위는 비트 패턴 11에 대응할 수 있고, 아날로그 데이터 스트림의 제2 전압 레벨 또는 전압 레벨들의 범위는 비트 패턴 10에 대응할 수 있으며, 아날로그 데이터 스트림의 제3 전압 레벨 또는 전압 레벨들의 범위는 비트 패턴 00에 대응할 수 있고, 아날로그 데이터 스트림의 제4 전압 레벨 또는 전압 레벨들의 범위는 비트 패턴 01에 대응할 수 있다. 그러므로, 다양한 실시예들에 따른 하나의 아날로그 데이터 신호는 2개 이상의 디지털 데이터 신호로 변환될 수 있고, 그 역으로도 될 수 있다.
실제로, 제어 및 명령 신호는 제어기(310)를 통한 메모리 장치(301)의 액세스를 위해 버스 인터페이스(315)에서 수신된다. 주소 및 데이터 값은 또한 어떤 유형의 액세스가 소망되는지에 따라, 예를 들어 기입, 판독, 포맷 등등에 따라 버스 인터페이스(315)에서 수신될 수 있다. 공유 버스 시스템에서, 버스 인터페이스(315)는 다양한 그외의 장치들과 함께 버스에 결합될 수 있다. 특정 장치로 통신을 향하게 하기 위해, 버스 상의 어느 장치가 후속 명령에 따라 동작할 것인지를 나타내는 식별 값이 버스에 배치될 수 있다. 식별 값이 대량 저장 장치(300)에 의해 취해진 값에 일치하면, 제어기(310)는 버스 인터페이스(315)에서 후속 명령을 받아들인다. 식별 값이 일치하지 않으면, 제어기(310)는 후속 통신을 무시한다. 마찬가지로, 버스 상에서의 충돌을 피하기 위해, 공유 버스 상의 다양한 장치들은 그들이 개별적으로 버스의 제어를 행하는 동안에 다른 장치에게 아웃바운드 통신을 멈추도록 지시할 수 있다. 버스 공유 및 충돌 회피를 위한 프로토콜은 잘 알려져 있어서 여기에서 상세하게 설명되지 않는다. 그 다음, 제어기(310)는 명령, 주소 및 데이터 신호들을 처리를 위해 판독/기입 채널(315)에 전달한다. 제어기(310)로부터 판독/기입 채널(315)로 전달된 명령, 주소 및 데이터 신호들은 버스 인터페이스(315)에서 수신된 신호들과 동일할 필요는 없다는 것을 유의한다. 예를 들어, 버스 인터페이스(315)에 대한 통신 표준은 판독/기입 채널(305) 또는 메모리 장치(301)의 통신 표준과 다를 수 있다. 이 상황에서, 제어기(310)는 메모리 장치(301)를 액세스하기 전에 명령 및/또는 주소지정 방식을 전환할 수 있다. 게다가, 제어기(310)는 메모리 장치(301)의 물리적 주소가 주어진 논리적 주소에 대해 시간에 따라 변할 수 있도록, 하나 이상의 메모리 장치(301) 내의 부하 레벨링을 제공할 수 있다. 그러므로, 제어기(310)는 외부 장치로부터의 논리적 주소를 타깃 메모리 장치(301)의 물리적 주소에 매핑한다.
기입 요청에 대해, 명령 및 주소 신호 이외에, 제어기(310)는 디지털 데이터 신호를 판독/기입 채널(305)에 전달할 수 있다. 예를 들어, 16비트 데이터 워드의 경우에, 제어기(310)는 제1 또는 제2 이진 논리 레벨을 갖는 16개의 개별 신호를 보낼 수 있다. 그 다음, 판독/기입 채널(305)은 디지털 데이터 신호를, 디지털 데이터 신호의 비트 패턴을 나타내는 아날로그 데이터 신호로 변환한다. 상기 예에서 계속하여, 판독/기입 채널(305)은 16개의 개별 디지털 데이터 신호를, 원하는 16비트 데이터 패턴을 나타내는 전위 레벨을 갖는 단일 아날로그 신호로 변환하기 위해 디지털-아날로그 변환을 사용한다. 일 실시예의 경우에, 디지털 데이터 신호의 비트 패턴을 나타내는 아날로그 데이터 신호는 타깃 메모리 셀의 원하는 임계 전압을 나타낸다. 그러나, 1-트랜지스터 메모리 셀의 프로그래밍에서, 종종, 이웃하는 메모리 셀들의 프로그래밍이 이전에 프로그램된 메모리 셀의 임계 전압을 증가시키는 것이 사실이다. 그러므로, 다른 실시예의 경우에, 판독/기입 채널(305)은 임계 전압에서의 이들 유형의 예상된 변경을 고려하여, 최종의 원하는 임계 전압보다 낮은 임계 전압을 나타내도록 아날로그 데이터 신호를 조정할 수 있다. 제어기(310)로부터의 디지털 데이터 신호의 변환 후, 판독/기입 채널(305)은 이번에는, 메모리 장치(301)에 개별 메모리 셀의 프로그래밍시에 사용하기 위한 아날로그 데이터 신호와 함께 기입 명령 및 주소 신호를 전달한다. 프로그래밍은 각 셀마다 발생할 수 있지만, 일반적으로 작업 당 데이터의 페이지에 대해 실행된다. 전형적인 메모리 어레이 아키텍처에서, 데이터의 페이지는 워드 라인에 결합된 모든 그외의 메모리 셀을 포함한다.
판독 요청의 경우에, 제어기는 명령 및 주소 신호를 판독/기입 채널(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에서 점선으로 표시된 바와 같은 샘플링에 의해 도시된다. 그러나, 동기화 샘플링이 어긋나게 되면, 데이터 샘플들의 값은 안정 상태(steady-state) 값과 상당히 다를 수 있다. 대안적인 실시예에서, 샘플링 속도는 이를테면 데이터 샘플들에 의해 표시된 경사 변화를 관찰함으로써, 안정 상태 값이 발생했을 것 같은 곳을 판정할 수 있게 하기 위해 증가될 수 있다. 이러한 실시예는 시간 t5, t6, t7 및 t8에서 점선으로 표시된 바와 같은 샘플링에 의해 도시되는데, 시간 t6과 t7에서의 데이터 샘플들 사이의 경사는 안정 상태 조건을 나타낼 수 있다. 이러한 실시예에서, 샘플링 속도와 표현의 정확도 사이에 상반관계가 이루어진다. 더 높은 샘플링 속도는 더 정확한 표현을 초래하지만, 처리 시간도 증가시킨다. 샘플링이 데이터 출력에 동기화되는지, 또는 더욱 빈번한 샘플링이 사용되는 지에 관계없이, 디지털 표현은 이때, 어느 들어오는 전압 레벨이 아날로그 신호 패턴의 생성을 책임질 수 있을 것 같은지를 예측하기 위해 사용될 수 있다. 그 다음에, 판독되는 개별 메모리 셀의 가능성 있는 데이터 값은 들어오는 전압 레벨의 이 예측된 패턴으로부터 예측될 수 있다.
메모리 장치(301)로부터 데이터 값을 판독할 때 에러가 발생할 것이라는 것을 인식하여, 판독/기입 채널(305)은 에러 보정을 포함할 수 있다. 에러 보정은 일반적으로, 예측된 에러로부터 회복시키기 위해 HDD뿐만 아니라 메모리 장치에서도 사용된다. 전형적으로, 메모리 장치는 제1 위치 집합 내에 사용자 데이터를 저장하고, 제2 위치 집합 내에 에러 보정 코드(ECC)를 저장할 것이다. 판독 동작 동안에, 사용자 데이터 및 ECC는 둘다 사용자 데이터의 판독 요청에 응답하여 판독된다. 공지된 알고리즘을 사용하여, 판독 동작으로부터 반환된 사용자 데이터는 ECC와 비교된다. 에러가 ECC의 범위 내에 있으면, 에러는 보정될 것이다.
도 5는 본 발명의 실시예에 따른 전자 시스템의 블록 개략도이다. 예시적인 전자 시스템은 퍼스널 컴퓨터, PDA, 디지털 카메라, 디지털 미디어 플레이어, 디지털 레코더, 전자 게임, 가전제품, 수송수단, 무선 장치, 이동 전화 등을 포함할 수 있다.
전자 시스템은 프로세서(500)의 효율성을 증가시키기 위해 캐시 메모리(502)를 포함할 수 있는 호스트 프로세서(500)를 포함한다. 프로세서(500)는 통신 버스(504)에 결합된다. 다양한 그외의 장치들이 프로세서(500)의 제어 하에 통신 버스(504)에 결합될 수 있다. 예를 들어, 전자 시스템은 랜덤 액세스 메모리(RAM)(506); 키보드, 터치 패드, 포인팅 장치 등과 같은 하나 이상의 입력 장치(508); 오디오 제어기(510); 비디오 제어기(512); 및 하나 이상의 대량 저장 장치(514)를 포함할 수 있다. 적어도 하나의 대량 저장 장치(514)는 버스(504)와의 통신을 위한 디지털 버스 인터페이스(515), 데이터의 2 이상의 비트의 데이터 패턴을 나타내는 데이터 신호의 전송을 위한 아날로그 인터페이스를 갖는 본 발명의 실시예에 따른 하나 이상의 메모리 장치, 및 버스 인터페이스(515)로부터 수신된 디지털 데이터 신호의 디지털-아날로그 변환 및 그 메모리 장치(들)로부터 수신된 아날로그 데이터 신호의 아날로그-디지털 변환을 수행하도록 구성된 신호 처리기를 포함한다.
상기 설명된 메모리 어레이의 프로그래밍은 타깃 셀 또는 셀들 뿐만 아니라 타깃 셀(들)의 이웃 셀들에까지 영향을 미친다. 이 영향은 전형적으로 본 분야에서 프로그램 교란(program disturb)으로 지칭된다. 더 큰 프로그래밍 전압이 사용될수록, 이웃 셀들에 미치는 영향이 더 커진다. 예를 들어, 하나의 소거 셀이 -3V의 소거 임계 전압(Vt)을 갖고, 3V의 Vt를 갖는 프로그램 상태로 프로그램되며, 제2 소거 셀이 -1V의 소거 임계 전압(Vt)을 갖고, 1V 상태로 프로그램된다고 가정한다. 제1 셀의 Vt는 6V 이동해야 하지만, 제2 셀은 단지 2V만 이동하면 된다. 제1 셀의 훨씬 더 큰 전압 변동(swing)으로 인해, 제1 셀의 프로그래밍은 워드 라인 상에서 더 큰 프로그램 전압을 필요로 하므로, 제2 셀의 프로그래밍보다 이웃 셀에 미치는 영향이 더 클 것이다.
플로팅 게이트-플로팅 게이트 결합은 다른 메커니즘인데, 이 메커니즘에 의해, 이웃하는 셀들의 프로그래밍은 이전의 셀 또는 셀들에서 프로그램된 데이터에 영향을 미친다. 데이터는 셀의 플로팅 게이트에 저장된 전하를 변경함으로써 셀 내로 프로그램된다. 그러나, 이웃 셀의 플로팅 게이트 상의 전하가 변경됨에 따라, 그 전하는 이전에 프로그램된 플로팅 게이트(들) 상에 저장된 전하를 교란시킨다. 이것은 이웃 셀들의 플로팅 게이트들 사이의 용량성 결합의 결과이다. 이웃 셀들은 비트 라인 상의 수직으로 위와 아래의 셀, 워드 라인 상의 수평으로 좌우의 셀, 및 비트 라인들 사이에서 대각선의 셀을 포함한다.
본 발명의 실시예는 전체 프로그래밍 속도를 개선하기 위해 개략적(coarse) 및 미세한(fine) 프로그래밍을 통해 플로팅 게이트-플로팅 게이트 결합의 영향을 완화시키는 프로그래밍 알고리즘을 제공한다. 본 발명은 프로그램 접근 속도를 감소시키고, 프로그램 교란을 감소시키며, 프로그램되는 셀에 의해 경험된 플로팅 게이트-플로팅 게이트 결합 관련 교란을 감소시키기 위해, 개략적 프로그래밍 단계 및 미세한 프로그래밍 단계를 제공한다.
도 6은 개략적 및 미세한 프로그래밍 펄스들을 사용하여 메모리 셀 프로그래밍을 위한 방법의 일 실시예의 흐름도를 도시한 것이다. 방법은 프로그램되는 셀 또는 셀들에 대한 원하는 프로그램된 상태를 포함하는 프로그램/기입 명령의 수신(601)에서 시작된다. 메모리 장치는 외부 프로세서 또는 그외 다른 유형의 외부 제어기 회로로부터 프로그램 명령을 수신한다. 도 3과 관련하여 앞에서 설명된 판독/기입 채널은 프로그램될 상태의 임계 전압의 디지털 표현을 수신하고, 디지털 신호를 임계 전압의 아날로그 표현으로 변환한다. 대안적인 실시예에서, 아날로그 전압은 메모리 장치에 의해 수신되어, 메모리 장치상에서 아날로그-디지털 변환에 의해 디지털 표현으로 변환된다.
그 다음, 메모리 장치 제어 로직은 프로그램되는 각 메모리 셀에 인가되는 개략적 프로그래밍 펄스의 크기를 판정한다(603). 개략적 프로그래밍 펄스는 워드 라인 상에서 최대 전압을 필요로 하는 초기 프로그래밍 단계이다. 그러므로, 이웃 셀들에 미치는 영향이 더 작고 덜 교란시키는 프로그래밍 펄스로 고정될 수 있기 때문에, 최대 프로그램 교란은 제1 프로그래밍 펄스 상에서 경험된다.
일 실시예에서, 개략적 프로그래밍 펄스의 크기는 이웃하는 메모리 셀들 내에 프로그램되는 데이터뿐만 아니라 타깃 메모리 셀 내로 프로그램될 데이터에 응답하여 설정된다. 프로그래밍 펄스 생성 알고리즘은 타깃 메모리 셀의 원하는 상태(즉, 임계 전압)를 사용하여, 그 임계 전압의 일정 퍼센트에 도달하도록 요구된 프로그래밍 전압을 판정한다. 그 다음, 이 프로그래밍 펄스는 타깃 메모리 셀을 바이어스하는데 사용된다. 그 다음, 개략적 프로그래밍 펄스의 영향을 판정하기 위해 인접한 메모리 셀들의 임계 전압들이 판독된다(605). 예를 들어, 프로그래밍 펄스는 타깃 셀의 임계 전압을 -3V에서 0V로 이동시키기 위해 16V로 될 수 있다. 이 프로그래밍 펄스 후, 프로그램 교란 영향이 타깃 셀의 개략적 프로그래밍에 의해 야기된 후에 현재의 임계 전압을 판정하기 위해 인접한 메모리 셀들이 판독된다. 인접한 메모리 셀들의 개략적 프로그래밍은 인접한 셀들의 프로그래밍을 위한 시작점으로서 새로운 임계 전압을 사용함으로써 새로운 임계 전압을 고려한다. 그 다음, 인접한 셀들은 그들 자신의 각각의 개략적 프로그래밍 전압에 의해 프로그램된다.
거친 프로그래밍이 달성된 후, 프로그램되는 메모리 셀의 각각은 그 프로그램된 상태의 일정 퍼센트 내에 있다. 그 다음, 메모리 셀은 미세한 프로그래밍 펄스에 의해 그들 각자의 최종 상태로 프로그램된다(607). 더 작고 미세한 펄스는 각 셀의 각자의 임계 전압을 더 작은 증분으로 최종 상태로 이동시킨다. 더 작은 프로그래밍 전압은 이웃 셀들에 별로 영향을 미치지 않게 한다. 예를 들어, 임계 전압은 개략적 프로그래밍의 볼트 또는 다수의 볼트 증분 대신에 미세한 프로그래밍 동안에 10분의 1 볼트 이하의 증분으로 이동된다.
도 7은 본 발명의 개략적 및 미세한 프로그래밍 방법의 다른 실시예의 흐름도를 도시한 것이다. 본 방법은 프로그램되는 셀 또는 셀들에 대한 원하는 프로그램 상태를 포함하는 프로그램/기입 명령의 수신(701)에서 시작된다. 메모리 장치는 외부 프로세서 또는 그외 다른 유형의 외부 제어기 회로로부터 프로그램 명령을 수신한다. 도 3에서 이전에 설명된 판독/기입 채널은 프로그램될 상태의 임계 전압의 디지털 표현을 수신하고, 디지털 신호를 임계 전압의 아날로그 표현으로 변환한다.
그 다음, 제어 로직은 메모리 내에 저장되는 셀 특성 데이터를 액세스한다(705). 셀 특성 데이터는 이웃 셀 변화에 응답한 메모리 블록의 평균 동작을 나타낸다. 대안적인 실시예들은 메모리 페이지의 평균 동작 또는 전체 메모리 어레이의 평균 동작을 사용한다.
셀 특성 데이터는 개략적 프로그래밍 펄스의 전압 레벨을 판정시에 프로그래밍 펄스 생성 알고리즘에 의해 사용된다. 예를 들어, 특성 데이터가, 평균적으로, 셀들의 임계 전압들이 프로그램 교란 조건에 응답하여 쉽게 이동하지 않는다는 것을 나타내면, 프로그래밍 전압은 정상보다 더 커질 수 있다. 특성 데이터가, 평균적으로, 셀들의 임계 전압들이 프로그램 교란 조건에 응답하여 쉽게 이동한다는 것을 나타내면, 프로그래밍 펄스는 더 작아진다. 그러므로, 이웃 셀에서의 프로그램 교란 조건을 감소시킨다.
그 다음, 프로그래밍 펄스 생성 알고리즘은 타깃 셀의 임계 전압이 프로그램 상태의 미리 결정된 퍼센트에 도달하기 위해 이동해야 하는 거리를 판정한다. 타깃 셀의 임계 전압을 이 거리만큼 이동하는데 필요한 프로그래밍 펄스 전압이 판정되고 그 다음에 특성 데이터에 응답하여 조정된다(705). 그 다음, 이 펄스는 타깃 셀에 결합된 워드 라인을 바이어스하는데 사용된다. 이것은 프로그램될 모든 셀에 대해 반복된다.
일단 프로그램될 셀들이 개략적 프로그래밍 단계를 거쳤으면, 각 셀은 미세한 프로그래밍 펄스로 더 작은 단계로 프로그램된다(707). 이전의 실시예에서처럼, 이들 펄스들은 워드 라인 상의 프로그램 교란 조건을 감소시키기 위해 개략적 프로그래밍 펄스보다 실질적으로 작다. 일 실시예에서, 미세한 프로그래밍 펄스들은 여러 개의 10분의 1 볼트 또는 밀리볼트 단계로 임계 전압을 이동시키는 반면, 개략적 프로그래밍 펄스들은 1 볼트 이상의 단일 단계로 임계 전압을 이동시킨다.
미세한 프로그래밍 펄스들은 모두, 임계 전압을 프로그램 상태로 이동시키기 위해 판정된 바로 그 전압일 수 있다. 미세한 프로그래밍 펄스들은 또한 임계 전압을 프로그램 상태로 이동시키기 위해 필요한 복수의 상이한 전압일 수 있다.
도 8은 본 발명의 프로그래밍 방법을 사용하여 프로그램될 NAND 메모리 어레이의 일부의 일 실시예의 개략도를 도시한 것이다. NAND 아키텍처는 메모리 셀(800-804)의 행에 결합되는 워드 라인 WL을 사용한다. 메모리 셀들의 각각은 선택 게이트 트랜지스터를 통해 비트 라인 BL0-BL4에 결합된 메모리 셀들의 직렬 스트링의 일부이다.
이 개략도는 개랴적 및 미세한 프로그래밍 실시예들이 워드 라인을 따라 프로그램 교란의 영향을 감소시키면서 다수의 인접한 메모리 셀을 프로그램하기 위해 사용될 수 있는 방법의 예를 도시한 것이다. 이 예는 모든 셀이 음의 소거 상태에서 시작되어, 제1 메모리 셀(800)이 2.3V의 임계 전압을 요구하는 상태로 프로그램되고 있고, 제2 메모리 셀(801)이 1.6V의 임계 전압을 요구하는 상태로 프로그램되고 있으며, 제3 메모리 셀(802)이 3.7V의 임계 전압을 요구하는 상태로 프로그램되고 있다고 가정한다.
초기의 개략적 프로그래밍 단계는 제1 셀(800)을 2.0 V로, 제2 셀(801)을 1.0 V로, 제3 셀(802)을 3.0 V로 프로그램할 수 있다. 프로그래밍을 달성하기 위해, 비트 라인들은 인에이블 전압 또는 억제 전압(inhibit voltage) 중 어느 하나로 바이어스되고, 일 실시예에서, BL1 및 BL3이 억제되는 동안 BL0, BL2 및 BL4가 먼저 인에이블될 수 있도록, 셀들(800-804)은 교대로 워드 라인을 따라 프로그램된다. 일 실시예에서, 인에이블 전압은 0V인 반면, 억제 전압은 VCC이다. 대안적인 실시예는 억제 대신에 단지 프로그래밍을 느리게 할 뿐이다. 이러한 실시예에서, 0V와 VCC 사이의 비트 라인 바이어스 전압이 사용된다. 개략적 프로그래밍 펄스는 도 6 및 도 7의 실시예와 관련하여 앞에서 설명된 바와 같이 생성된다.
거친 프로그래밍 단계 후, 메모리 장치 제어기는 프로그램되는 메모리 셀들(800-802)을 판독하여 메모리 셀의 현재의 각자의 임계 전압을 판정한다. 이것은 큰 프로그래밍 펄스의 영향이 워드 라인 WL 상에서의 셀들에 대한 임계 전압을 변화시켰기 때문에, 미세한 프로그래밍 단계를 위한 시작점을 제어기에 제공한다. 이제 미세한 프로그래밍 펄스는 프로그램되는 셀들(800-802)을 그들 각자의 최종 임계 전압으로 느리게 이동시키기 위해 사용될 수 있다.
미세한 프로그래밍 펄스들은 모두, 임계 전압을 프로그램 상태로 이동시키기 위해 판정된 바로 그 전압일 수 있다. 미세한 프로그래밍 펄스들은 또한 임계 전압을 프로그램 상태로 이동시키기 위해 필요한 복수의 상이한 전압일 수 있다.
도 9는 프로그래밍 동안에 플로팅 게이트-플로팅 게이트 용량성 결합을 경험하는 본 발명의 NAND 메모리 장치의 일 실시예의 개략도를 도시한 것이다. 이 도면은 워드 라인 WL1 상의 중앙 셀(930)이 프로그램되고 있다고 가정한다. 이 도면은 동일한 워드 라인 상의 인접한 셀들 사이의 용량성 결합(900, 901), 동일한 비트 라인을 따라 인접한 셀들 사이의 용량성 결합(905, 906), 및 대각선으로 인접한 셀들 사이의 용량성 결합(910-913)을 보여준다.
도 10은 본 발명의 개략적 및 미세한 프로그래밍을 사용하여 플로팅 게이트-플로팅 게이트 용량성 결합을 완화시키는 방법의 일 실시예의 흐름도를 도시한 것이다. 개략적 프로그래밍은 큰 고전압 단계로 워드 라인을 따르는 셀들을 초기 임계 전압으로 프로그램한다. 미세한 프로그래밍은 더 작은 고전압 단계로 워드 라인을 따르는 셀들을 최종 임계 전압으로 프로그램한다.
초기 임계 전압 레벨은 최종 프로그램 임계 전압 레벨보다 고정된 델타 전압만큼 작은 전압이다(즉, 초기 전압 Vt = 최종 Vt - ΔVt). 초기 임계 전압은 개략적 프로그래밍으로 인한 플로팅 게이트-플로팅 게이트 결합(수직, 수평 및 대각선) 및 (동일한 워드 라인을 따른) 프로그램 교란에 대해 충분한 여유를 제공하도록 선택된다. 최종 임계 전압은 프로그래밍이 완료된 후의 셀 상의 원하는 전압이다.
도 10에 도시된 방법은 먼저, 개략적 프로그래밍을 사용하여 제1 워드 라인(즉, 도 9에서의 WL1) 상의 셀을 초기 Vt로 프로그램한다(1001). 제1 워드 라인 상의 하나보다 많은 페이지가 프로그램될 경우, 프로그램될 모든 페이지는 다음 워드 라인으로 진행하기 전에 프로그램된다.
그 다음, 프로그램될 제2 워드 라인(즉, 도 9에서의 WL2) 상의 셀은 개략적 프로그래밍을 사용하여 초기 Vt로 프로그램된다(1003). 이 워드 라인 상의 프로그램될 모든 페이지는 이때 초기 Vt로 프로그램된다.
제1 워드 라인 상의 프로그램될 메모리 셀들의 임계 전압들은 이제 미세한 프로그래밍에 의해 최종 Vt로 상승된다(1005). 이 워드 라인 상의 프로그램될 모든 페이지는 이때 최종 Vt로 상승된다.
그 다음, 제3 워드 라인(즉, 도 9에서의 WL3) 상의 프로그램될 메모리 셀들의 임계 전압은 개략적 프로그래밍을 사용하여 초기 Vt로 프로그램된다(1007). 이 워드 라인 상의 프로그램될 모든 페이지는 이때 초기 Vt로 프로그램된다.
그 다음, 제2 워드 라인 상의 프로그램될 메모리 셀들의 임계 전압은 미세한 프로그래밍에 의해 최종 Vt로 상승된다(1009). 이 워드 라인 상의 프로그램될 모든 페이지는 이때 최종 Vt로 상승된다.
본 분야에 숙련된 기술자들은 반드시 개략적 프로그래밍을 사용하여 초기 Vt로 프로그램할 필요는 없다는 것을 깨달을 수 있다. 이것은 또한 미세한 프로그래밍을 사용하여 행해질 수 있다. 개략적 프로그래밍은 프로그램 시간을 줄이기 위한 양호한 실시예이다.
그 다음, 제3 워드 라인 상의 프로그램될 메모리 셀의 임계 전압은 미세한 프로그래밍에 의해 최종 Vt로 상승된다(1011). 이 워드 라인 상의 프로그램될 모든 페이지는 이때 최종 Vt로 상승된다. 이 프로세스는 프로그램될 전체 메모리 블록에 대해 반복된다.
도 11은 개략적 프로그래밍 펄스 증분과 미세한 프로그래밍 펄스 증분 사이의 비교를 도시한 것이다. 좌측 펄스(1101)는 개략적 프로그래밍에 사용된 증분 전압들 세트의 일 실시예를 도시한다. 이들 펄스들은 전형적으로 미세한 프로그래밍 초기 펄스보다 큰 초기 펄스를 갖고, 또한 미세한 ΔVpgm보다 큰 ΔVpgm을 갖는다. 비교를 위해, 우측 펄스들 세트(1103)는 미세한 프로그래밍에 사용된 전압들 세트의 일 실시예를 도시한다.
결론
다양한 실시예들은 2비트 이상의 비트 패턴을 나타내는 아날로그 데이터 신호들을 수신 및 송신하도록 구성된 메모리 장치를 포함한다. 메모리 장치는 개략적 및 미세한 프로그래밍을 사용하여 프로그램될 수 있다. 셀들은 초기에 그들 각자의 프로그램 상태에 가까운 큰 단계로 그들 각자의 임계 전압을 이동시키기 위해 개략적 프로그래밍으로 각각 프로그램된다. 그 다음, 셀들은 임계 전압을 최종 프로그램 상태 임계 전압으로 더 작은 단계들로 느리게 이동시키는 하나 이상의 미세한 펄스로 각각 프로그램된다.
특정 실시예가 여기에 도시되고 설명되었지만, 본 분야에 숙련된 기술자들은 동일한 목적을 달성하도록 계산된 임의의 배열이 도시된 특정 실시예들 대신에 사용될 수 있다는 것을 이해할 것이다. 본 발명의 다수의 구성은 본 분야에 숙련된 기술자들에게 명백할 것이다. 따라서, 이 출원은 본 발명의 임의의 개조 또는 변형을 포함하고자 의도된다.

Claims (20)

  1. 메모리 셀들의 어레이를 포함하는 고체 상태 메모리 내의 제1 메모리 셀을 프로그램하는 방법으로서,
    상기 제1 메모리 셀을 초기 프로그래밍 전압으로 바이어스하는 단계 - 상기 초기 프로그래밍 전압은 상기 제1 메모리 셀 내에서 프로그램될 상태 및 상기 메모리 셀들의 어레이의 워드 라인을 따라 상기 제1 메모리 셀에 인접한 메모리 셀들 내에서 프로그램될 각자의 상태들에 응답하여 판정됨-; 및
    상기 제1 메모리 셀이 상기 프로그램될 상태에 도달할 때까지 상기 제1 메모리 셀을 적어도 하나의 후속 프로그래밍 전압으로 바이어스하는 단계
    를 포함하는 프로그래밍 방법.
  2. 제1항에 있어서, 상기 초기 프로그래밍 전압은 제1 세트의 증분 전압들 중 하나이고, 상기 적어도 하나의 후속 프로그래밍 전압은 제2 세트의 증분 전압들 중 하나인 프로그래밍 방법.
  3. 제1항에 있어서, 상기 제1 메모리 셀은 제1 프로그래밍 전압 전에 음의 임계 전압(threshold voltage)에서 시작되는 프로그래밍 방법.
  4. 제1항에 있어서, 상기 제1 메모리 셀은 제1 프로그래밍 전압 후에 양의 임계 전압을 갖는 프로그래밍 방법.
  5. 제1항에 있어서, 상기 후속 프로그래밍 전압들 각각은 실질적으로 동일한 프로그래밍 방법.
  6. 제1항에 있어서,
    워드 라인을 따르는 복수의 메모리 셀에 대한 셀 특성 데이터를 판정하는 단계;
    상기 초기 프로그래밍 전압이 상기 복수의 메모리 셀 각각을 각자의 임시(interim) 상태로 프로그램하도록, 상기 셀 특성 데이터 및 각각의 메모리 셀 내로 프로그램될 각자의 상태에 응답하여 상기 복수의 메모리 셀 각각에 대한 초기 프로그래밍 전압을 생성하는 단계; 및
    각각의 후속 프로그래밍 전압이 각각의 메모리 셀의 프로그램된 상태 및 각자의 임시 상태에 응답하여 생성되도록, 상기 복수의 메모리 셀 각각에 대한 적어도 하나의 후속 프로그래밍 전압을 생성하는 단계 - 상기 각각의 후속 프로그래밍 전압은 그 각자의 초기 프로그래밍 전압보다 작음 -
    를 더 포함하는 프로그래밍 방법.
  7. 제6항에 있어서, 상기 셀 특성 데이터를 판정하는 단계는 메모리로부터의 셀 특성을 판독하는 단계를 포함하는 프로그래밍 방법.
  8. 제6항에 있어서, 상기 복수의 메모리 셀 중의 하나의 메모리 셀에 각각 결합된 교호(alternating) 비트 라인들을 인에이블(enable) 전압으로 바이어스하고, 나머지 비트 라인들을 억제(inhibit) 전압으로 바이어스하는 단계를 더 포함하는 프로그래밍 방법.
  9. 제6항에 있어서, 상기 셀 특성 데이터는 인접한 셀 임계 전압 변화에 대한 메모리 블록의 평균 응답을 나타내는 프로그래밍 방법.
  10. 제6항에 있어서, 상기 초기 프로그래밍 전압 후 및 상기 후속 프로그래밍 전압 전에 상기 각자의 임시 상태를 판독하는 단계를 더 포함하는 프로그래밍 방법.
  11. 제6항에 있어서, 상기 초기 프로그래밍 전압들 각각 및 상기 후속 프로그래밍 전압들 각각은 아날로그 전압을 나타내는 디지털 데이터 신호들로부터 생성된 아날로그 전압들인 프로그래밍 방법.
  12. 제6항에 있어서,
    프로그래밍 전압을 나타내는 디지털 데이터 신호를 수신하는 단계; 및
    상기 초기 프로그래밍 전압을 나타내는 아날로그 신호를 생성하기 위해 상기 디지털 데이터 신호에 디지털-아날로그 변환을 실행하는 단계
    를 더 포함하는 프로그래밍 방법.
  13. 제6항에 있어서,
    상기 초기 프로그래밍 전압 후 및 각각의 후속 프로그래밍 전압 후에 상기 복수의 메모리 셀 각각의 임시 상태를 판독하는 단계; 및
    상기 임시 상태에 응답하여 각각의 후속 프로그래밍 전압을 조정하는 단계
    를 더 포함하는 프로그래밍 방법.
  14. 고체 상태 메모리 장치로서,
    비트 라인들에 결합된 메모리 셀들의 열들 및 워드 라인들에 결합된 메모리 셀들의 행들을 갖는 비휘발성 메모리 셀들의 어레이; 및
    상기 비휘발성 메모리 셀들의 어레이의 제어 및 액세스를 위한 회로 - 상기 제어 및 액세스를 위한 회로는 프로그램될 메모리 셀에 결합된 각 워드 라인을, 상기 메모리 셀 내에서 프로그램될 상태 및 상기 메모리 셀에 인접한 메모리 셀들 내에서 프로그램될 각자의 상태들에 응답하여 판정되는 초기 프로그래밍 전압으로 바이어스함으로써 상기 메모리 셀들의 어레이의 프로그래밍을 제어하도록 구성되고, 상기 제어 및 액세스를 위한 회로는 또한 상기 메모리 셀이 상기 프로그램될 상태에 도달할 때까지 상기 메모리 셀을 적어도 하나의 후속 프로그래밍 전압으로 바이어스 하도록 구성되고, 각각의 후속 프로그래밍 전압은 상기 초기 프로그래밍 전압보다 작음 -
    를 포함하는 고체 상태 메모리 장치.
  15. 제14항에 있어서, 상기 제어 및 액세스를 위한 회로는, 프로그램되고 있는 메모리 셀들로부터의 아날로그 데이터 신호들을 판독하고, 상기 판독된 아날로그 데이터 신호들을 나타내는 디지털 임계 전압 신호들을 생성하도록 더 구성되는 고체 상태 메모리 장치.
  16. 제14항에 있어서, 상기 비휘발성 메모리 셀들의 어레이의 제어 및 액세스를 위한 회로는, 프로그램된 메모리 상태를 나타내는 디지털 데이터 신호를 수신하고 상기 디지털 데이터 신호를 상기 프로그램된 메모리 상태의 임계 전압을 나타내는 아날로그 데이터 신호로 변환하는 회로를 포함하는 고체 상태 메모리 장치.
  17. 제14항에 있어서, 상기 비휘발성 메모리 셀들의 어레이는 NAND 아키텍처로 구성되는 고체 상태 메모리 장치.
  18. 삭제
  19. 삭제
  20. 삭제
KR1020107000866A 2007-06-15 2008-06-04 고체 상태 메모리에서의 개략적 및 미세한 프로그래밍 KR101180529B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/818,683 2007-06-15
US11/818,683 US7936599B2 (en) 2007-06-15 2007-06-15 Coarse and fine programming in a solid state memory
PCT/US2008/065751 WO2008157037A2 (en) 2007-06-15 2008-06-04 Coarse and fine programming in a solid state memory

Publications (2)

Publication Number Publication Date
KR20100012059A KR20100012059A (ko) 2010-02-04
KR101180529B1 true KR101180529B1 (ko) 2012-09-06

Family

ID=40132152

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107000866A KR101180529B1 (ko) 2007-06-15 2008-06-04 고체 상태 메모리에서의 개략적 및 미세한 프로그래밍

Country Status (6)

Country Link
US (4) US7936599B2 (ko)
EP (1) EP2176765B1 (ko)
JP (1) JP2010530112A (ko)
KR (1) KR101180529B1 (ko)
CN (1) CN101681295B (ko)
WO (1) WO2008157037A2 (ko)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8645793B2 (en) * 2008-06-03 2014-02-04 Marvell International Ltd. Statistical tracking for flash memory
US7808834B1 (en) 2007-04-13 2010-10-05 Marvell International Ltd. Incremental memory refresh
US7936599B2 (en) * 2007-06-15 2011-05-03 Micron Technology, Inc. Coarse and fine programming in a solid state memory
US8031526B1 (en) * 2007-08-23 2011-10-04 Marvell International Ltd. Write pre-compensation for nonvolatile memory
US8189381B1 (en) 2007-08-28 2012-05-29 Marvell International Ltd. System and method for reading flash memory cells
US8085605B2 (en) 2007-08-29 2011-12-27 Marvell World Trade Ltd. Sequence detection for flash memory with inter-cell interference
US7830718B2 (en) * 2007-11-21 2010-11-09 Micron Technology, Inc. Mitigation of data corruption from back pattern and program disturb in a non-volatile memory device
KR101497548B1 (ko) * 2009-02-02 2015-03-03 삼성전자주식회사 플래시 메모리 장치, 및 이의 프로그램 및 독출 방법
US8223551B2 (en) * 2009-02-19 2012-07-17 Micron Technology, Inc. Soft landing for desired program threshold voltage
US20110002169A1 (en) 2009-07-06 2011-01-06 Yan Li Bad Column Management with Bit Information in Non-Volatile Memory Systems
US20110153912A1 (en) * 2009-12-18 2011-06-23 Sergey Anatolievich Gorobets Maintaining Updates of Multi-Level Non-Volatile Memory in Binary Non-Volatile Memory
US8725935B2 (en) 2009-12-18 2014-05-13 Sandisk Technologies Inc. Balanced performance for on-chip folding of non-volatile memories
US8468294B2 (en) * 2009-12-18 2013-06-18 Sandisk Technologies Inc. Non-volatile memory with multi-gear control using on-chip folding of data
KR101620025B1 (ko) * 2010-02-19 2016-05-24 삼성전자주식회사 데이터 저장 시스템 및 그것의 오픈 블록 관리 방법
KR101772577B1 (ko) * 2010-11-09 2017-08-29 삼성전자주식회사 멀티-비트 메모리 장치를 포함한 데이터 저장 시스템 및 그것의 동작 방법
US8385123B2 (en) 2010-08-18 2013-02-26 Micron Technology, Inc. Programming to mitigate memory cell performance differences
US9342446B2 (en) 2011-03-29 2016-05-17 SanDisk Technologies, Inc. Non-volatile memory system allowing reverse eviction of data updates to non-volatile binary cache
KR101785007B1 (ko) 2011-06-14 2017-11-07 삼성전자주식회사 멀티-비트 메모리 장치를 포함한 데이터 저장 시스템 및 그것의 온-칩 버퍼 프로그램 방법
US8902648B2 (en) * 2011-07-26 2014-12-02 Micron Technology, Inc. Dynamic program window determination in a memory device
US9030870B2 (en) 2011-08-26 2015-05-12 Micron Technology, Inc. Threshold voltage compensation in a multilevel memory
US9076547B2 (en) * 2012-04-05 2015-07-07 Micron Technology, Inc. Level compensation in multilevel memory
KR101893145B1 (ko) 2011-12-06 2018-10-05 삼성전자주식회사 메모리 시스템들 및 그것들의 블록 복사 방법들
KR20130071686A (ko) * 2011-12-21 2013-07-01 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
US8743622B2 (en) 2012-01-13 2014-06-03 Micron Technology, Inc. Memory devices and programming methods that program a memory cell with a data value, read the data value from the memory cell and reprogram the memory cell with the read data value
US8681548B2 (en) 2012-05-03 2014-03-25 Sandisk Technologies Inc. Column redundancy circuitry for non-volatile memory
US9076506B2 (en) 2012-09-28 2015-07-07 Sandisk Technologies Inc. Variable rate parallel to serial shift register
US8897080B2 (en) 2012-09-28 2014-11-25 Sandisk Technologies Inc. Variable rate serial to parallel shift register
US9490035B2 (en) 2012-09-28 2016-11-08 SanDisk Technologies, Inc. Centralized variable rate serializer and deserializer for bad column management
KR102025251B1 (ko) * 2012-10-31 2019-09-25 삼성전자주식회사 메모리 시스템 및 그것의 프로그램 방법
US8995195B2 (en) 2013-02-12 2015-03-31 Sandisk Technologies Inc. Fast-reading NAND flash memory
US9183940B2 (en) 2013-05-21 2015-11-10 Aplus Flash Technology, Inc. Low disturbance, power-consumption, and latency in NAND read and program-verify operations
KR102053958B1 (ko) * 2013-05-27 2019-12-10 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 재프로그램 방법
US9263137B2 (en) 2013-06-27 2016-02-16 Aplus Flash Technology, Inc. NAND array architecture for multiple simutaneous program and read
WO2015013689A2 (en) 2013-07-25 2015-01-29 Aplus Flash Technology, Inc. Nand array hiarchical bl structures for multiple-wl and all -bl simultaneous erase, erase-verify, program, program-verify, and read operations
KR20150025782A (ko) * 2013-08-30 2015-03-11 에스케이하이닉스 주식회사 메모리 장치 및 이를 포함하는 컴퓨터 시스템
US9293205B2 (en) 2013-09-14 2016-03-22 Aplus Flash Technology, Inc Multi-task concurrent/pipeline NAND operations on all planes
WO2015100434A2 (en) 2013-12-25 2015-07-02 Aplus Flash Technology, Inc A HYBRID NAND WITH ALL-BL m-PAGE OPERATION SCHEME
US9767894B2 (en) 2014-06-09 2017-09-19 Micron Technology, Inc. Programming memories with stepped programming pulses
JP6282535B2 (ja) * 2014-06-16 2018-02-21 東芝メモリ株式会社 メモリシステムおよび制御方法
WO2016014731A1 (en) 2014-07-22 2016-01-28 Aplus Flash Technology, Inc. Yukai vsl-based vt-compensation for nand memory
US9934872B2 (en) 2014-10-30 2018-04-03 Sandisk Technologies Llc Erase stress and delta erase loop count methods for various fail modes in non-volatile memory
US9224502B1 (en) 2015-01-14 2015-12-29 Sandisk Technologies Inc. Techniques for detection and treating memory hole to local interconnect marginality defects
US10032524B2 (en) 2015-02-09 2018-07-24 Sandisk Technologies Llc Techniques for determining local interconnect defects
US9269446B1 (en) 2015-04-08 2016-02-23 Sandisk Technologies Inc. Methods to improve programming of slow cells
US9564219B2 (en) 2015-04-08 2017-02-07 Sandisk Technologies Llc Current based detection and recording of memory hole-interconnect spacing defects
US10400585B2 (en) * 2016-12-30 2019-09-03 Phoenix Technology Services Inc. Downhole reception and transmission of electromagnetic data telemetry signals
CN110718253A (zh) * 2018-07-13 2020-01-21 合肥格易集成电路有限公司 一种非易失存储器处理方法及装置
JP2021044044A (ja) 2019-09-13 2021-03-18 キオクシア株式会社 メモリシステム
KR102627168B1 (ko) * 2019-10-12 2024-01-18 양쯔 메모리 테크놀로지스 씨오., 엘티디. 메모리 디바이스를 프로그래밍하는 방법 및 관련 메모리 디바이스
CN110870015B (zh) * 2019-10-18 2021-03-12 长江存储科技有限责任公司 对存储器件进行编程和验证的方法以及相关的存储器件
US11393535B2 (en) * 2020-02-26 2022-07-19 Silicon Storage Technology, Inc. Ultra-precise tuning of analog neural memory cells in a deep learning artificial neural network
US11139034B1 (en) * 2020-07-15 2021-10-05 Micron Technology, Inc. Data-based polarity write operations

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5295255A (en) 1991-02-22 1994-03-15 Electronic Professional Services, Inc. Method and apparatus for programming a solid state processor with overleaved array memory modules
US7158421B2 (en) 2005-04-01 2007-01-02 Sandisk Corporation Use of data latches in multi-phase programming of non-volatile memories

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3930074B2 (ja) * 1996-09-30 2007-06-13 株式会社ルネサステクノロジ 半導体集積回路及びデータ処理システム
JPH10312694A (ja) * 1997-05-08 1998-11-24 Oki Electric Ind Co Ltd 半導体不揮発性メモリおよびそのための電源回路
US6038166A (en) * 1998-04-01 2000-03-14 Invox Technology High resolution multi-bit-per-cell memory
US6343033B1 (en) * 2000-02-25 2002-01-29 Advanced Micro Devices, Inc. Variable pulse width memory programming
US6738289B2 (en) * 2001-02-26 2004-05-18 Sandisk Corporation Non-volatile memory with improved programming and method therefor
US6522580B2 (en) * 2001-06-27 2003-02-18 Sandisk Corporation Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states
US6542407B1 (en) * 2002-01-18 2003-04-01 Sandisk Corporation Techniques of recovering data from memory cells affected by field coupling with adjacent memory cells
US6781877B2 (en) 2002-09-06 2004-08-24 Sandisk Corporation Techniques for reducing effects of coupling between storage elements of adjacent rows of memory cells
US7139198B2 (en) * 2004-01-27 2006-11-21 Sandisk Corporation Efficient verification for coarse/fine programming of non-volatile memory
JP4410188B2 (ja) * 2004-11-12 2010-02-03 株式会社東芝 半導体記憶装置のデータ書き込み方法
DE102005004107A1 (de) 2005-01-28 2006-08-17 Infineon Technologies Ag Integrierter Halbleiterspeicher mit einer Anordnung nichtflüchtiger Speicherzellen und Verfahren
US7564713B2 (en) * 2005-04-28 2009-07-21 Kabushiki Kaisha Toshiba Semiconductor integrated circuit device wherein during data write a potential transferred to each bit line is changed in accordance with program order of program data
JP4891580B2 (ja) * 2005-08-31 2012-03-07 株式会社東芝 不揮発性半導体記憶装置
WO2007058846A1 (en) * 2005-11-10 2007-05-24 Sandisk Corporation Reverse coupling effect with timing information
JP2007149291A (ja) * 2005-11-30 2007-06-14 Sharp Corp 不揮発性半導体記憶装置及び書き込み方法
KR100841980B1 (ko) * 2006-12-19 2008-06-27 삼성전자주식회사 소거된 셀의 산포를 개선할 수 있는 플래시 메모리 장치의소거 방법
US7936599B2 (en) * 2007-06-15 2011-05-03 Micron Technology, Inc. Coarse and fine programming in a solid state memory
US7830718B2 (en) * 2007-11-21 2010-11-09 Micron Technology, Inc. Mitigation of data corruption from back pattern and program disturb in a non-volatile memory device
US8223551B2 (en) 2009-02-19 2012-07-17 Micron Technology, Inc. Soft landing for desired program threshold voltage

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5295255A (en) 1991-02-22 1994-03-15 Electronic Professional Services, Inc. Method and apparatus for programming a solid state processor with overleaved array memory modules
US7158421B2 (en) 2005-04-01 2007-01-02 Sandisk Corporation Use of data latches in multi-phase programming of non-volatile memories

Also Published As

Publication number Publication date
US7936599B2 (en) 2011-05-03
EP2176765A2 (en) 2010-04-21
US8400826B2 (en) 2013-03-19
US8995182B2 (en) 2015-03-31
US8259491B2 (en) 2012-09-04
CN101681295B (zh) 2013-03-20
EP2176765B1 (en) 2012-11-28
KR20100012059A (ko) 2010-02-04
US20130201759A1 (en) 2013-08-08
WO2008157037A3 (en) 2009-03-05
JP2010530112A (ja) 2010-09-02
CN101681295A (zh) 2010-03-24
EP2176765A4 (en) 2010-07-28
WO2008157037A2 (en) 2008-12-24
US20080310224A1 (en) 2008-12-18
US20120314503A1 (en) 2012-12-13
US20110199831A1 (en) 2011-08-18

Similar Documents

Publication Publication Date Title
KR101180529B1 (ko) 고체 상태 메모리에서의 개략적 및 미세한 프로그래밍
KR101097510B1 (ko) 고체 상태 메모리에서의 프로그래밍 레이트의 식별 및 제어
KR101154624B1 (ko) Mlc nand에서 비-동일 임계 전압 범위들
US8687430B2 (en) Analog sensing of memory cells with a source follower driver in a semiconductor memory device
US7898885B2 (en) Analog sensing of memory cells in a solid state memory device
KR101138512B1 (ko) 제어기 성능 요구들에 기초하는 프로그래밍
KR101120248B1 (ko) 데이터 값들의 아날로그 통신을 이용하는 고체 상태 메모리
US7986553B2 (en) Programming of a solid state memory utilizing analog communication of bit patterns
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
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150730

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160727

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170804

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190823

Year of fee payment: 8