KR20100006344A - 불휘발성 메모리 장치 및 메모리 시스템 및 그것의 관리방법 - Google Patents

불휘발성 메모리 장치 및 메모리 시스템 및 그것의 관리방법 Download PDF

Info

Publication number
KR20100006344A
KR20100006344A KR1020080066541A KR20080066541A KR20100006344A KR 20100006344 A KR20100006344 A KR 20100006344A KR 1020080066541 A KR1020080066541 A KR 1020080066541A KR 20080066541 A KR20080066541 A KR 20080066541A KR 20100006344 A KR20100006344 A KR 20100006344A
Authority
KR
South Korea
Prior art keywords
voltage
read
sample
threshold voltage
shift
Prior art date
Application number
KR1020080066541A
Other languages
English (en)
Other versions
KR101434400B1 (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 삼성전자주식회사
Priority to KR1020080066541A priority Critical patent/KR101434400B1/ko
Priority to US12/495,546 priority patent/US8116160B2/en
Priority to CN200910205712.6A priority patent/CN101673580B/zh
Publication of KR20100006344A publication Critical patent/KR20100006344A/ko
Application granted granted Critical
Publication of KR101434400B1 publication Critical patent/KR101434400B1/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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • 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/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/04Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
    • 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/562Multilevel memory programming aspects
    • G11C2211/5621Multilevel programming verification

Abstract

본 발명의 불휘발성 메모리 장치는, 복수의 메모리 셀들을 포함하고, 복수의 검증 전압들에 의해 프로그램되는 샘플 영역을 포함하는 셀 어레이; 그리고 상기 샘플 영역으로부터 독출된 샘플 데이터를 참조하여 상기 복수의 메모리 셀들의 문턱 전압의 시프트 크기를 검출하는 시프트 검출기를 포함한다.
상술한 구성들을 통해서 본 발명의 불휘발성 메모리 장치는 문턱 전압의 시프트 크기를 신속히 검출하여 직류 전압의 레벨을 조정할 수 있어 저장되는 데이터에 대한 신뢰성을 제공할 수 있다.

Description

불휘발성 메모리 장치 및 메모리 시스템 및 그것의 관리 방법{NON-VOLATILE MEMORY DEVICE AND MEMORY SYSTEM AND MANAGEMENT METHOD THEREOF}
본 발명은 불휘발성 반도체 메모리에 관한 것으로, 더욱 상세하게는 불가피하게 발생하는 문턱 전압의 시프트를 보상할 수 있는 불휘발성 메모리 장치/시스템과 그것의 관리 방법에 관한 것이다.
반도체 메모리 장치는 크게 휘발성 반도체 메모리 장치(Volatile semiconductor memory device)와 불휘발성 반도체 메모리 장치(Non-volatile semiconductor memory device)로 구분된다. 휘발성 반도체 메모리 장치는 읽고 쓰는 속도가 빠르지만 외부 전원 공급이 끊기면 저장된 내용이 사라져 버리는 단점이 있다. 반면에 불휘발성 반도체 메모리 장치는 외부 전원 공급이 중단되더라도 그 내용을 보존한다. 그러므로, 불휘발성 반도체 메모리 장치는 전원이 공급되었는지의 여부에 관계없이 보존되어야 할 내용을 기억시키는 데 쓰인다. 불휘발성 반도체 메모리 장치로는 마스크 롬(Mask read-only memory, MROM), 프로그램 가능한 롬(Programmable read-only memory, PROM), 소거 및 프로그램 가능한 롬(Erasable programmable read-only memory, EPROM), 전기적으로 소거 및 프로그램 가능한 롬(Electrically erasable programmable read-only memory, EEPROM) 등이 있다.
일반적으로, MROM, PROM 및 EPROM은 시스템 자체적으로 소거 및 쓰기가 자유롭지 못해 일반 사용자들이 기억 내용을 갱신하기가 용이하지 않다. 이에 반해 EEPROM은 전기적으로 소거 및 쓰기가 가능하기 때문에, 계속적인 갱신이 필요한 시스템 프로그래밍(System programming)이나 보조 기억 장치로의 응용이 확대되고 있다. 특히 플래시(Flash) 메모리는 기존의 EEPROM에 비해 집적도가 높아, 대용량 보조 기억 장치로의 응용에 매우 유리하다. 플래시 메모리 중에서도 낸드형(NAND-type) 플래시 메모리는 집적도가 매우 높은 장점을 가진다.
플래시 메모리 장치는 원하는 시점에 정보를 저장 또는 독출할 수 있는 집적 회로이다. 플래시 메모리 장치는 재기입이 가능한 복수의 메모리 셀들을 포함한다. 메모리 셀들 각각은 1-비트 데이터 또는 멀티-비트 데이터를 저장한다. 하나의 메모리 셀에 1-비트 데이터를 저장하는 경우, 메모리 셀은 2개의 문턱 전압 분포들에 대응하는 프로그램 상태들을 갖는다. 즉, 메모리 셀은 데이터 "1"과 데이터 "0" 중 어느 하나에 대응되는 문턱 전압을 갖도록 프로그램된다. 하나의 메모리 셀에 멀티-비트 데이터를 저장하는 멀티 레벨 셀(MLC)은 더 많은 프로그램 상태를 갖는다. 즉, 하나의 메모리 셀에 2-비트 데이터를 저장하는 경우, 메모리 셀은 4개의 문턱 전압 분포들 중 어느 하나에 속하는 문턱 전압으로 프로그램된다. 하나의 메모리 셀에 3-비트 데이터를 저장하는 경우, 메모리 셀은 8개의 문턱 전압 분포들 중 어느 하나에 포함되는 문턱 전압으로 프로그램된다. 최근에는, 하나의 메모리 셀에 4-비트 데이터를 저장하기 위한 다양한 기술들이 활발히 연구되고 있는 실정이다.
상술한 방식에 따라 저장된 데이터는 메모리 셀들의 문턱 전압의 크기를 감지하여 독출된다. 그러나, 프로그램된 메모리 셀들의 문턱 전압은 다양한 요인들로 인하여 이동(Shift)할 수 있다. 메모리 셀의 문턱 전압은 온도와 공정에 따라서 변화할 수 있다. 또한, 메모리 셀의 문턱 전압은 프로그램 디스터브(Program disturb), 읽기 디스터브(Read disturb), 소거 디스터브(Erase disturb) 등에 의하여 이동할 수 있다. 이뿐 아니라, 메모리 셀의 플로팅 게이트에 주입된 전하의 손실(Charge loss)에 의해서 문턱 전압이 이동될 수 있다. 이러한 문턱 전압의 이동은 하나의 메모리 셀에 점점 더 많은 비트 수를 저장하기 위한 멀티 레벨 셀을 구현하는데 장애가 되고 있다. 문턱 전압의 이동에 대한 다양한 해결 방법들이 제시되고 있다. 그러나, 이러한 방법들은 많은 신호 지연을 초래하고, 대용량화 및 고속화를 지향하는 현재의 모바일 트랜드를 따라가지 못하고 있다. 따라서, 메모리의 퍼포먼스를 저해하지 않으면서 상술한 문턱 전압의 이동의 문제를 고속으로 해결할 수 있는 기술이 절실한 실정이다.
본 발명은 불휘발성 메모리 셀의 문턱 전압 이동의 양을 고속으로 감지하여 보상할 수 있는 불휘발성 메모리 장치 및 불휘발성 메모리 시스템 또는 불휘발성 메모리 시스템을 장착하는 정보 처리 장치 그리고 그것의 프로그램 및 읽기 방법을 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 불휘발성 메모리 장치는, 복수의 메모리 셀들을 포함하고, 복수의 검증 전압들에 의해 프로그램되는 샘플 영역을 포함하는 셀 어레이; 그리고 상기 샘플 영역으로부터 독출된 샘플 데이터를 참조하여 상기 복수의 메모리 셀들의 문턱 전압 시프트 크기를 검출하는 시프트 검출기를 포함한다.
상기 목적을 달성하기 위한 본 발명의 메모리 시스템은, 읽기 또는 프로그램 명령어를 제공하는 호스트; 및 상기 호스트의 제어에 응답하여 복수의 검증 전압들에 의해 프로그램되는 샘플 영역으로부터 독출되는 샘플 데이터를 상기 호스트로 제공하는 플래시 메모리 장치를 포함하되, 상기 호스트는 상기 샘플 데이터를 참조하여 상기 플래시 메모리 장치의 메모리 셀들의 문턱 전압 시프트를 보상하기 위한 직류 전압 레벨 정보를 계산한다.
상기 목적을 달성하기 위한 본 발명의 플래시 메모리 장치의 직류 전압 조정 방법은, 복수의 검증 전압들에 따라 샘플 페이지를 프로그램하는 단계; 상기 샘플 페이지를 샘플 읽기 전압에 따라 독출하는 단계; 그리고 상기 샘플 영역으로부터 독출된 샘플 데이터를 참조하여 메모리 셀들의 문턱 전압의 시프트 크기를 검출하는 단계를 포함한다.
이상과 같은 본 발명에 따른 장치 및 방법에 따르면, 1회의 읽기 동작만으로 메모리 셀들의 문턱 전압의 시프트 크기를 감지하여 직류 전압의 조정이 가능하다. 따라서, 고속 및 고신뢰성의 플래시 메모리 장치 및 시스템을 제공할 수 있다.
앞의 일반적인 설명 및 다음의 상세한 설명 모두 예시적이라는 것이 이해되어야 하며, 청구된 발명의 부가적인 설명이 제공되는 것으로 여겨져야 한다. 참조 부호들이 본 발명의 바람직한 실시 예들에 상세히 표시되어 있으며, 그것의 예들이 참조 도면들에 표시되어 있다. 가능한 어떤 경우에도, 동일한 참조 번호들이 동일한 또는 유사한 부분을 참조하기 위해서 설명 및 도면들에 사용된다.
이하에서는, 본 발명의 특징 및 기능을 설명하기 위하여 낸드 플래시 메모리 장치를 한 예로서 사용할 것이다. 하지만, 이 기술 분야에 정통한 사람은 여기에 기재된 내용에 따라 본 발명의 다른 이점들 및 성능을 쉽게 이해할 수 있을 것이다. 본 발명은 다른 실시 예들을 통해 구현되거나 적용될 수 있을 것이다. 게다가, 상세한 설명은 본 발명의 범위, 기술적 사상 그리고 다른 목적으로부터 상당히 벗어나지 않고 관점 및 응용에 따라 수정되거나 변경될 수 있다. 이하, 본 발명에 따른 실시예를 첨부된 도면을 참조하여 상세히 설명한다.
도 1은 본 발명에 따른 문턱 전압 이동의 감지와 보상을 위한 플래시 메모리 장치(100)를 보여주는 블록도이다. 도 1을 참조하면, 샘플 페이지(115)에 대한 1회의 독출을 통하여 메모리 셀들의 문턱 전압이 기준 레벨로부터 이동한 크기를 빠르게 검출할 수 있다. 검출된 문턱 전압의 시프트 크기를 참조하여 플래시 메모리 장치(100)는 메모리 셀들의 워드 라인에 제공되는 직류 전압의 레벨을 조정한다. 좀더 자세히 설명하면 다음과 같다.
셀 어레이(110)는 비트 라인 및 워드 라인에 연결되는 메모리 셀들을 포함한 다. 특히, 멀티 레벨 셀(MLC)은 하나의 셀에 복수 비트들을 저장하기 위하여 다수의 문턱 전압 분포들 중 어느 하나의 분포에 대응하는 문턱 전압을 갖도록 프로그램된다. 멀티 레벨 셀은, 제한된 문턱 전압 윈도우 내에서 저장되는 비트 수(k)에 대응하는 문턱 전압 상태 수(2k)를 포함하기 위하여 조밀하게 프로그램되어야 한다따라서, 문턱 전압 분포들 간의 마진이 줄어들 수밖에 없다. 만일, 문턱 전압의 이동을 고려한다면, 읽기 마진은 더욱 감소할 수밖에 없다.
샘플 페이지(115)는 셀 어레이(110)의 지정된 위치에 할당되는 페이지 단위의 셀 영역이다. 샘플 페이지(115)는 하나의 문턱 전압 분포로 프로그램된다. 샘플 페이지(115)는 복수의 셀 영역들(예를 들면, 섹터 단위)로 다시 분할된다. 샘플 페이지(115)의 분할된 셀 영역들은 특정 조건(예를 들면, 온도 90°C) 하에서 서로 다른 검증 전압으로 프로그램된다. 따라서, 복수의 셀 영역들 각각은 동일한 문턱 전압 상태를 가리키지만, 실질적 문턱 전압 분포에는 약간씩의 차이를 갖는다. 샘플 페이지의 프로그램은 플래시 메모리 장치의 테스트 공정에서 실시될 수 있다.
행 디코더(120)는 일반적으로 행 어드레스(X-Add)에 응답하여 워드 라인을 선택한다. 행 디코더(120)는 전압 발생기(170)로부터 제공되는 각종 워드 라인 전압을 선택된 워드 라인들로 전달한다. 프로그램 동작시, 선택 워드 라인(Selected WL)으로는 프로그램 전압(Vpgm; 약 15~20V)과 검증 전압(Vfy)을, 비선택 워드 라인(Unselected WL)으로는 패스 전압(Vpass)을 전달한다. 독출 동작 시, 행 디코더(120)는 전압 발생기(190)로부터 제공되는 읽기 전압(Vrd)을 선택된 워드 라인으 로 제공한다.
페이지 버퍼(130)는 동작 모드에 따라 기입 드라이버로써 또는 감지 증폭기로써 동작한다. 예를 들면, 페이지 버퍼(130)는 읽기 동작 모드에서 감지 증폭기로써 그리고 프로그램 동작 모드에서 기입 드라이버로써 동작한다.
Y-게이트(140)는 열 어드레스(Y-Add)에 응답하여 선택되는 열들을 일정 단위(예를 들면, I/O 단위)로 선택한다. Y-게이트(140)는 열 어드레스(Y-Add)에 응답하여, 페이지 버퍼(130)의 레지스터들(미도시됨)을 선택한다. 프로그램 동작시, 선택된 레지스터들에는 입출력 버퍼(190)를 통해서 제공되는 프로그램 데이터 비트들이 저장된다. 읽기 동작시, 선택된 레지스터들의 데이터 비트들이 Y-게이트(140)를 통해 외부로 출력된다. 특히, 본 발명의 샘플 페이지(115)에 대한 읽기 모드에서, Y-게이트(140)는 페이지 버퍼(130)에 의해서 감지된 샘플 페이지(115)의 샘플링 데이터(Sample data)를 시프트 검출기(150)로 전달한다.
시프트 검출기(150)는 샘플 페이지(115)로부터 감지된 샘플 데이터(Sample data)를 분석하여 기준 레벨로부터 현재의 문턱 전압의 이동된 변동량을 계산한다. 시프트 검출기(150)는 기준 레벨과 현재의 문턱 전압 간의 차이를 감지한다. 시프트 검출기(150)는 기준 레벨과 현재의 문턱 전압 간의 차이 값을 이용하여 보상 계수(Nc)를 계산한다. 보상 계수(Nc)는 기준 레벨로부터 변동된 크기 만큼의 문턱 전압을 감안하여 메모리 셀들의 구동 환경을 조정해 주기 위한 데이터이다. 시프트 검출기(150)는 문턱 전압의 변동을 보상하기 위한 보상 계수(Nc)를 구하기 위한 알고리즘 또는 장치로 구현될 수 있다.
전압 보상기(160)는 시프트 검출기(150)로부터 제공되는 보상 계수(Nc)를 참조하여 현재 설정된 직류 전압(예를 들면, 읽기 전압)을 조정하기 위한 제어 동작을 실시한다.
전압 발생기(170)는 전압 보상기(160)의 제어에 따라 직류 전압을 발생한다. 프로그램 동작시에, 전압 발생기(170)는 온도와 기타 환경에 따라 이동된 메모리 셀의 문턱 전압을 보상하기 위한 조정된 직류 전압을 제공한다. 예를 들면, 전압 발생기(170)는 전압 보상기(160)에 의해서 조정된 레벨의 검증 전압(Verify voltage)를 생성하여 워드 라인(Word line)으로 제공한다. 읽기 동작시, 전압 발생기(170)는 조정된 레벨의 읽기 전압(Read voltage)를 워드 라인들로 제공할 것이다.
제어 로직(180)은 명령어(CMD)에 응답하여, 샘플 페이지(115)에 대한 읽기 동작과 읽혀진 샘플 데이터(Sample data)를 이용한 직류 전압의 조정 동작을 컨트롤한다. 제어 로직(180)은 프로그램 또는 읽기 명령어(Program or read command)에 응답하여 직류 전압의 조정을 우선적으로 실시할 수 있다. 제어 로직(180)은 조정된 직류 전압(검증 전압 또는 읽기 전압)을 이용하여 입력되는 데이터를 프로그램 또는 독출하도록 할 수 있다. 또는, 제어 로직(180)은 직류 전압의 조정을 수행하도록 제공되는 명령어에 응답하여 직류 전압의 조정 동작을 수행할 수 있다.
입출력 버퍼(190)는 입출력 핀(I/Oi)을 통해서 입력되는 어드레스 또는 프로그램 데이터 등을 일시 저장한다. 입출력 버퍼(190)는 저장된 어드레스를 어드레스 버퍼(미도시됨)로, 프로그램 데이터는 Y-게이트(140)로, 그리고 명령어는 명령어 레지스터(미도시됨)로 전달한다. 읽기 동작시, 조정된 읽기 전압에 의해서 독출된 데이터가 입출력 버퍼(190)를 통해서 외부로 출력될 것이다.
이상의 도 1에서 설명된 본 발명의 제 1 실시예에 따르면, 본 발명의 플래시 메모리 장치(100)는 샘플 페이지(115)로부터 제공되는 샘플 데이터(Sample data)를 참조하여 직류 전압을 조정한다. 조정된 직류 전압에 따라 현재 온도나 조건에서 최적의 읽기 전압과 검증 전압을 제공하여 문턱 전압의 시프트를 보상할 수 있다. 여기서, 직류 전압을 셀 어레이(110)에 제공되는 워드 라인 전압들 중 읽기 전압이나 검증 전압으로 설명되었으나, 직류 전압은 여기에 국한되지 않는다. 직류 전압은 다양한 목적을 가지고 메모리 장치의 내부에서 소요되는 다양한 종류의 전압들을 포괄하는 개념으로 사용될 수 있음은 당업자에게 자명하다.
도 2는 도 1의 샘플 페이지(115)의 프로그램 방법을 간략히 보여주는 도면이다. 도 2를 참조하면, 샘플 페이지(115)는 복수의 섹터들(Sector0~Sector7)로 구성되며, 각각의 섹터들은 동일한 조건(예를 들면, 온도 90°C)에서 서로 다른 검증 전압들(Vv, Vv-Vd, Vv-2Vd,…, Vv-7Vd)에 따라서 프로그램된다. 섹터 0(210)은 가장 낮은 검증 전압(Vv-7Vd)에 대응한다. 섹터 0(210)에 포함되는 메모리 셀들은 검증 전압(Vv-7Vd) 이상으로 프로그램될 것이다. 섹터 0(210)에 포함되는 메모리 셀들의 프로그램 이후에 갖게 되는 문턱 전압은 문턱 전압 분포(215)에 대응한다. 섹터 1(220)은 검증 전압(Vv-6Vd)에 따라서 프로그램된다. 섹터 1(220)에 포함되는 메모리 셀들은 검증 전압(Vv-6Vd) 이상으로 프로그램될 것이다. 섹터 1(220)에 포함되는 메모리 셀들의 프로그램 이후에 갖게 되는 문턱 전압은 문턱 전압 분 포(225)에 대응한다. 섹터 2(230)에 포함되는 메모리 셀들은 검증 전압(Vv-5Vd) 이상으로 프로그램될 것이다. 섹터 2(230)에 포함되는 메모리 셀들의 프로그램 이후에 갖게 되는 문턱 전압은 문턱 전압 분포(235)에 대응한다. 섹터 3(240)에 포함되는 메모리 셀들은 검증 전압(Vv-4Vd) 이상으로 프로그램될 것이다. 섹터 3(240)에 포함되는 메모리 셀들의 프로그램 이후에 갖게 되는 문턱 전압은 문턱 전압 분포(245)에 대응한다. 이러한 방식으로 샘플 페이지를 구성하는 나머지 섹터들(250, 260, 270, 280)도 동일한 조건에서 각각 검증 전압의 레벨 차이(Vd)를 갖도록 프로그램된다. 따라서, 섹터 7(280)에 포함되는 메모리 셀들은 가장 높은 검증 전압(Vv)으로 프로그램되며, 프로그램 이후에는 가장 상측의 문턱 전압 분포(280)를 가지게 될 것이다.
여기서, 문턱 전압들 간의 전압 차이(Vd)는 다양한 기준에 따라서 선택될 수 있다. 그러나, 설명의 편의를 위하여 온도를 가장 큰 문턱 전압 이동의 원인으로 가정하는 경우에는 20°C의 온도 변화에 따라 선형적으로 변화하는 문턱 전압의 크기(예를 들면, 50mV)로 선택할 수 있다. 샘플 페이지의 용량을 더 크게 제공하는 경우, 문턱 전압들 간의 전압 차이(Vd)는 더 작은 크기로 설정될 수 있다. 여기서, 샘플 페이지의 프로그램 조건으로 온도 90°C를 예로 들어 설명하였으나, 프로그램 조건은 비단 온도에만 국한되지 않는다.
도 3은 샘플 페이지(115)에 포함되는 각 섹터들의 문턱 전압 변동을 간략히 보여주는 도면이다. 여기서, 문턱 전압의 시프트 인자로서 온도의 변화를 예시적으로 설명하기로 한다. 하지만, 문턱 전압의 변화 인자는 온도의 변화에만 국한되지 않는다. 문턱 전압의 시프트 원인으로 앞서 설명된 온도와 공정의 변화 그리고 메모리 셀의 프로그램 디스터브(Program disturb), 읽기 디스터브(Read disturb), 소거 디스터브(Erase disturb) 등을 예로 들 수 있다. 이뿐 아니라, 메모리 셀의 플로팅 게이트에 주입된 전하의 손실(Charge loss)에 의해서 문턱 전압이 이동될 수 있다. 그리고, 실질적으로 메모리 셀의 문턱 전압이 변하지 않더라도, 주변의 전압 발생기(미도시됨)나 워드 라인으로 고전압을 제공하는 고전압 스위치와 같은 회로들의 특성의 변화에 따라 센싱되는 메모리 셀의 문턱 전압이 변동된 것으로 보여질 수 있다. 메모리 셀의 문턱 전압의 시프트는 메모리 셀의 문턱 전압의 실질적인 시프트 이외에 주변 회로들의 특성 변화에 따른 측정치의 변동에 대해서도 해당된다.
도 3을 참조하면, 샘플 페이지의 메모리 셀들이 온도 90°C에서 프로그램된 것으로 간주한다. 그러나 온도의 변화에 따라 5°C인 환경에서 샘플 페이지에 포함되는 메모리 셀들의 문턱 전압들이 시프트 되었다. 도면에서는 온도의 감소에 따라 메모리 셀의 문턱 전압이 상승하는 것으로 도시되었으나, 이는 예시적일 뿐 본 발명은 이에 국한되지 않는다. 즉, 온도의 감소에 따라서 문턱 전압이 하강하는 경우에도 본 발명의 특징이 적용될 수 있다.
샘플 페이지의 섹터 0(210)에 포함되는 메모리 셀들의 문턱 전압은 프로그램 당시의 문턱 전압 분포(215)로부터 문턱 전압 분포(215′)로 이동한다. 즉, 온도의 하강에 따라 메모리 셀의 문턱 전압은 상승하였다. 섹터 1(220)에 포함되는 메모리 셀들의 문턱 전압은 문턱 전압 분포(225)로부터 문턱 전압 분포(225′)로 이동한다. 섹터 2(230)에 포함되는 메모리 셀들의 문턱 전압은 문턱 전압 분포(235)로부 터 문턱 전압 분포(235′)로 이동한다. 섹터 3(240) 내지 섹터 7(280) 각각에 포함되는 메모리 셀들은 각각 문턱 전압 분포(245, 255, 265, 275, 285)로부터 문턱 전압 분포(245′, 255′, 265′, 275′, 285′)로 각각 이동한다. 따라서, 문턱 전압이 이동된 샘플 페이지의 각 섹터들을 하나의 샘플 읽기 전압(Vsrd)에 의해서 독출하면, 현재의 온도에 따른 독특한 패스/페일의 패턴이 발생하게 될 것이다. 만일, 샘플 페이지를 읽기 전압(Vsrd1)으로 독출하는 경우, 섹터 0 내지 섹터 2(문턱 전압 분포 215′, 225′, 235′)는 페일(Fail)로 나머지 섹터들(섹터 3 내지 섹터 7)은 패스(Pass)로 검출될 것이다. 이러한 각 섹터들의 패스/페일의 검출 결과를 참조하여 최초 프로그램된 당시로부터 온도의 변화를 감지할 수 있다. 만일, 샘플 페이지를 읽기 전압(Vsrd2)으로 독출하면, 모든 섹터들이 패스(Pass)로 검출될 것이다. 이 경우에도 페일(Fail)로 검출되는 섹터들의 수를 이용하여 온도 변화를 감지할 수 있으며, 이러한 온도 변동을 보상하기 위한 파라미터를 도출할 수 있다. 일반적으로, 플래시 메모리 셀에서 온도와 문턱 전압의 변화는 선형적인 관계를 갖는다. 따라서, 온도 변화의 정도를 검출하면 문턱 전압의 시프트 크기를 도출해 낼 수 있음을 의미한다. 그리고 샘플 페이지의 문턱 전압의 시프트 크기를 셀 어레이(110)에 포함된 메모리 셀들의 문턱 전압 시프트로 간주할 수 있다.
도 4a 및 도 4b는 시프트 검출기(150)에 의한 보상 계수(Nc)의 도출 방법을 간략히 보여주는 테이블들이다. 전압 보상기(160)에 의해서 조정된 직류 전압(Vadj)과 조정 이전의 직류 전압(Vorg)과의 관계는 아래 수학식 1로 표현될 수 있다.
Figure 112008049480287-PAT00001
(단, Nc는 보상 계수, Vd는 섹터들 간의 검증 전압 차이 또는 시프트 검출 단위)
상술한 수학식 1의 보상 계수(Nc)를 제공하기 위한 시프트 검출기(150)의 연산 예를 도 4a 및 도 4b를 통해서 간략히 설명할 것이다.
도 4a는 샘플 페이지(115)에 대한 프로그램 온도가 상용 메모리의 동작 온도 중 최고 온도인 경우에 대응하는 테이블(Table)이다. 즉, 샘플 페이지가 실장 온도 중 가장 높은 온도(예시적으로 90°C) 하에서 프로그램된 경우, 샘플 페이지의 읽기 결과에 매치되는 보상 계수(Nc)의 크기를 보여준다. 여기서, 샘플 페이지에 대한 샘플 읽기 전압(Vsrd)은 섹터 6(270)의 검증 전압(Vv-Vd)보다 크고 최상위 문턱 전압 분포(285)에 대응하는 검증 전압(Vv)보다 작거나 같다.
상술한 조건에서, 샘플 페이지에 대한 읽기 동작 결과, 섹터 0 내지 섹터 3까지는 페일(Fail)로, 그리고 섹터 4 내지 섹터 7까지는 패스(Pass)로 검출되었다고 가정하자. 이 경우, 대응하는 현재의 온도 조건은 (10°C 내지 30°C) 범위이다. 따라서, 대응하는 보상 계수(Nc)는 3이 되며, 데이터의 독출 또는 검증 읽기에 사용되는 직류 전압은 상술한 보상 계수를 참조하여 아래의 수학식 2와 같이 조정될 것이다.
Figure 112008049480287-PAT00002
(단, Vd = 50㎷라 가정)
즉, 온도가 프로그램 당시보다 60°C 정도 하강하여, 메모리 셀들의 문턱 전압이 전체적으로 약 3×50㎷ 상승한 것으로 해석될 수 있다. 따라서, 읽기 전압 또는 검증 전압을 약 150㎷ 정도 높여서 동작시키면, 메모리 셀들의 문턱 전압의 이동을 보상하여 데이터를 프로그램하거나 읽을 수 있다.
도 4b는 도 4a와는 달리 샘플 페이지가 30°C에서 프로그램된 실시예를 간략히 보여준다. 또한, 샘플 페이지에 대한 읽기 전압(Vsrd)이 검증 전압 (Vv-4Vd)보다 크고 검증 전압 (Vv-3Vd) 이하인 경우, 읽기 결과에 매치되는 보상 계수(Nc)의 크기를 보여준다. 결국, 도 4b는 도 4a의 샘플 페이지에 대한 프로그램 조건, 읽기 조건의 변경된 실시예을 보여주는 테이블이다.
이 조건에서, 샘플 페이지에 대한 읽기 동작 결과, 섹터 0 내지 섹터 5까지는 페일(Fail), 섹터 6 내지 섹터 7까지는 패스(Pass)로 검출되었다고 가정하자. 이 경우, 대응하는 현재의 온도 조건은 (70°C 내지 90°C) 범위이다. 따라서, 대응하는 보상 계수는 -2가 되며, 읽기나 검증 읽기에 사용되는 직류 전압은 상술한 보상 계수를 참조하여 조정될 것이다.
만일, 샘플 페이지에 대한 읽기 동작 결과, 섹터 0만 페일(Fail)로, 섹터 1 내지 섹터 7까지는 패스(Pass)로 검출된 경우, 대응하는 현재의 온도 조건은 (-50°C 내지 -30°C) 범위이다. 따라서, 대응하는 보상 계수(Nc)는 3이 되며, 읽기나 검증 읽기에 사용되는 직류 전압은 상술한 보상 계수(Nc)를 참조하여 조정될 것이 다.
이상의 도 4a 및 도 4b를 통하여 설명된 샘플 페이지의 읽기 결과에 따른 보상 계수(Nc)의 설정은 예시적인 실시예에 불과하다. 즉, 샘플 페이지에 포함되는 섹터 수를 증가시키고 더 다양한 검증 전압들로 샘플 페이지를 프로그램하면 더 정확한 문턱 전압 시프트의 크기 검출이 가능하다.
도 5는 앞서 설명된 실시예들의 신뢰성을 좀더 높일 수 있는 샘플 페이지의 읽기 방법을 설명하는 도면이다. 도 5를 참조하면, 샘플 페이지에 포함되는 섹터들은 독출 시 비정상적인 소수의 비트들에 의해서 페일(Fail)이 지속적으로 발생할 수 있다. 따라서, 더 낮은 검증 전압으로 프로그램된 섹터가 패스(Pass)로 검출되더라도 더 높은 검증 전압으로 프로그램된 섹터는 페일(Fail)로 검출될 수 있다. 이러한, 비정상적인 소수의 페일 비트(Fail bit)에 대해서 본 발명의 시프트 검출기(150)는 필터링 할 수 있는 기능을 추가적으로 구비한다. 따라서, 독출된 하나의 섹터에 대응하는 샘플 데이터 중에서 규정된 특정 수의 비트들(n-bits)보다 적은 수의 페일 비트들이 검출되는 경우, 시프트 검출기(150)는 패스(Pass)로 판정한다. 예를 들면, 독출된 256 바이트의 섹터 데이터들 중 5-비트 이하의 페일 비트들에 대해서는 용인(Tolerate)하도록 시프트 검출기(150)가 설정될 수 있다. 이러한 기능을 통해서, 샘플 페이지에서 발생하는 소수의 에러(예를 들면, 결함 셀)에 대해서 필터링 할 수 있다.
예를 들어 설명하면, 읽기 전압(Vsrd1)에 의한 샘플 페이지에 대한 독출 동작시, 섹터 3의 메모리 셀들은 정상적인 경우 패스(Pass)로 판정되어야 하나, 소수 비트(n-bits)에 의해서 페일(Fail)로 검출될 수 있다. 이 경우에는 문턱 전압 분포(215′)에 대응하는 섹터 0으로부터 문턱 전압 분포(235′)에 대응하는 섹터 2까지 페일로 판정되어야 하지만, 문턱 전압 분포(245′)에 대응하는 섹터 3까지 페일로 검출된다. 따라서, 소수의 비정상적인 페일 비트(n-bits)에 의해서 보상 계수(Nc)는 잘못 선택될 수 있다. 비정상적인 페일 비트(n-bits)가 단 1-비트가 발생하더라도 이러한 문제는 발생할 수밖에 없다.
반면에, 소수의 비정상적인 페일 비트들(n-bits)에 대해 용인하도록 설정된 실시예의 경우, 소수의 비정상 페일 비트들은 필터링될 수 있다. 따라서, 문턱 전압 분포(215′)에 대응하는 섹터 0으로부터 문턱 전압 분포(235′)에 대응하는 섹터 2까지만 페일로 판정될 수 있다.
도 6은 도 5의 비정상적인 페일 비트들(n-bits) 들에 대해서 용인하도록 구성되는 결함 허용(Defect tolerant) 기능을 보여주는 테이블이다. 도 6을 참조하면, 결함 허용 기능을 구비하는 시프트 검출기(150)는 소수의 비정상적인 페일 비트에 대해서는 허용하여 조건부 패스(T-Pass)로 결정한다. 허용되는 페일 비트의 수는 사용자에 의해서 임의로 선택될 수 있으며, 이러한 결함 허용 기능을 수행하기 위하여 시프트 검출기(150)는 추가적인 알고리즘을 제공받아야 할 것이다.
도 5를 참조하여, 본 발명의 결함 허용 기능을 설명하기로 한다. 우선 읽기 전압(Vsrd1)에 의해서 샘플 페이지가 독출되면, 문턱 전압 분포(215′) 내지 문턱 전압 분포(235′)에 각각 대응하는 섹터 0 내지 섹터 2는 패스(T-Pass)로 판정된다. 그러나, 비정상적인 페일 비트들이 존재하는 섹터 3은 규정된 비트 수 이하의 페일 비트들이 카운트되면 패스(T-Pass)로, 규정된 비트 수보다 많은 페일 비트들이 카운트되면 페일(Fail)로 판정될 것이다. 이 경우, 소수의 결함(1-비트의 결함 비트도 포함)에 의해서 발생하는 페일 비트들을 용인하여 테이블 상에서 보상 계수의 선택을 가능하게 한다. 만일, 결함 허용 기능이 없는 경우라면, 섹터 3는 페일로 판정될 것이다. 이 경우, 검출되는 현재 온도가 -10°C 내지 10°C의 범위에 해당되는지 또는 10°C 내지 30°C의 범위에 해당하는지 판정할 수 없다. 따라서, 보상 계수를 0으로 선택해야 할지 또는 1로 선택해야 할지 결정할 수 없다.
그러나, 본 발명의 결함 허용 기능이 구비되는 시프트 검출기(150)에 따르면, 샘플 페이지의 일부 영역의 결함에 의해서 발생하는 소수의 페일 비트들은 필터링 될 수 있어 판정의 모호성을 제거할 수 있다. 불휘발성 메모리의 멀티 레벨화 및 대용량화 트랜드에 따라서 샘플 페이지의 일부 메모리 셀의 결함에 의한 보상 계수(Nc)의 도출이 어려운 상황에 직면할 수 있다. 그러나, 상술한 결함 허용(Defect tolerant) 기능의 추가를 통해서 보다 유연하고 신뢰성 있는 직류 전압의 보상이 가능하다.
도 7은 본 발명의 샘플 페이지를 이용한 문턱 전압의 이동 또는 온도의 변화를 검출하기 위한 또 다른 실시예를 보여주는 도면이다. 도 7을 참조하면, 본 발명의 또 다른 실시예는 전체 문턱 전압 분포의 이동을 페일 비트(Fail bit)의 수를 카운트하여 검출할 수 있다. 도 7의 검출 방법에 따르면, 패스 섹터(Pass sector)와 페일 섹터(Fail sector)의 수 또는 패턴을 통해서 문턱 전압의 이동의 크기를 측정하는 것이 아니라, 문턱 전압 분포의 전체 이동을 가늠할 수 있다. 예를 들면, 문턱 전압 분포의 중앙값(정규 분포의 경우 평균값)의 위치 이동을 1회의 독출 동작을 통해서 검출할 수 있다. 여기서, 샘플 페이지의 섹터들 각각의 문턱 전압 분포의 위치를 나타내는 값을 대표값이라 칭하기로 한다. 대표값에는 정규 분포의 경우 가장 많은 메모리 셀들의 문턱 전압을 대표하는 평균값(또는 중앙값)으로 정의될 수 있다. 그러나, 문턱 전압의 분포가 비정규 분포를 나타내는 경우, 대표값은 임의로 선택될 수 있다. 예를 들면, 독출 시에 페일 비트(Fail bit)와 패스 비트(Pass bit)의 수가 동일(또는, 근사)한 한 문턱 전압의 위치를 각 섹터들의 대표값으로 정의할 수 있다. 샘플 페이지의 읽기 전압(Vsrd)에 의한 일 회의 읽기 동작을 통해서, 본 발명의 시프트 검출기(150)는 읽기 전압(Vsrd)과 가장 근접한 대표값을 갖는 섹터를 검출한다. 검출된 섹터의 종류에 의해서 문턱 전압의 이동 정도가 결정된다. 좀더 자세히 설명하면 다음과 같다.
만일, 샘플 페이지의 섹터들 각각에 포함되는 메모리 셀들의 문턱 전압 분포가 정규 분포를 이루고 있다고 가정하자. 그러면, 샘플 페이지의 프로그램에 의하여 로그 스케일(Log scale)로 표시되는 각 섹터들의 문턱 전압 분포는 도시된 문턱 전압 분포들(215, 225, 235,…, 285)로 형성될 것이다. 그리고 샘플 페이지의 읽기 동작시, 프로그램된 샘플 페이지의 각 섹터들의 문턱 전압 분포는 도시된 문턱 전압 분포들(215′, 225′,235′,…, 285′)로 이동된다고 볼 수 있다. 정규 분포에서 평균값이 각 섹터들의 대표값으로 정의될 수 있다. 따라서, 읽기 전압 (Vsrd)을 통해서 독출된 섹터들의 데이터에서 페일 비트의 수와 패스 비트의 수가 가장 근사한 섹터를 찾는다. 여기서, 읽기 전압(Vsrd)은 샘플 페이지의 프로그램 당시에 섹 터 3의 문턱 전압 평균값으로 선택하는 경우를 예로 설명하기로 한다. 그리고, 문턱 전압의 이동에 따라 형성되는 섹터 1의 문턱 전압 분포(225′)가 읽기 전압(Vsrd)에 가장 근접한 것으로 가정하기로 한다. 도면에서 도시한 문턱 전압 분포를 갖는 샘플 페이지의 경우, 페일 비트 수와 패스 비트의 수 차이가 가장 적은 섹터는 섹터 1로 검출될 것이다. 만일, 하나의 섹터에 포함되는 비트 수가 256 바이트라면, 섹터 1에서는 페일 비트는 약 128 바이트로 카운트될 것이다. 그러나, 문턱 전압 분포(215′)에 대응하는 섹터 0은 페일 비트의 수가 128 바이트를 훨씬 초과할 것이다. 또한, 문턱 전압 분포들(235′, 245′, 255′, 265′, 275′, 285′) 각각에 대응하는 섹터들의 페일 비트 수는 128 바이트보다 훨씬 적게 검출될 것이다. 대표값이 읽기 전압(Vsrd)에 가장 근접한 섹터의 검출을 통해서, 프로그램 당시에 비하여 이동한 문턱 전압의 크기를 가늠할 수 있다. 그리고 이동한 문턱 전압의 크기를 보상할 수 있는 보상 계수(Nc)의 선택이 가능하다. 검출된 섹터에 대응하는 보상 계수(Nc)의 선택은 이후의 도 8의 테이블에서 설명될 것이다.
도 8은 상술한 도 7에서 설명된 검출 방식에 따라 선택된 섹터에 따라 결정되는 보상 계수(Nc)의 크기를 보여주는 테이블이다. 도 8을 참조하면, 읽기 전압(Vsrd)을 섹터 3의 대표값으로 설정한 경우에 검출되는 섹터의 종류에 따라 결정되는 보상 계수(Nc)를 보여준다. 테이블에서 기준 페일 비트 수 K는 문턱 전압 분포가 정규 분포를 이루는 경우에 대응하는 예시적인 값이다. 즉, K는 섹터에 포함되는 비트 수의 1/2에 해당하는 정수이다. 따라서, 페일 비트 수가 기준 페일 비트 수 K에 가장 근접한 섹터가 선택될 것이다.
만일, 검출되는 섹터가 섹터 1이라면, 시프트 검출기(150)는 보상 계수(Nc)를 -2로 결정하여 전압 보상기(160)로 출력하게 될 것이다. 만일, 프로그램 당시의 문턱 전압 분포가 이동하지 않았다면, 섹터 3가 검출될 것이다. 이 경우, 시프트 검출기(150)는 보상 계수(Nc)를 0으로 출력한다. 만일, 섹터 6이 검출되었다면, 시프트 검출기(150)는 보상 계수(Nc)를 3으로 결정하여 전압 보상기(160)로 출력하게 될 것이다. 여기서, 허용 전압(Vα)은 프로그램 당시에 문턱 전압 분포로부터 이동되는 문턱 전압의 최소 허용값을 말한다. 즉, 보상 계수(Nc)의 설정을 바꿀 정도의 문턱 전압 이동 크기보다 작은 값을 의미한다.
이상의 도 7 및 도 8을 통해서 페일 비트의 수를 카운트하여 문턱 전압의 시프트 크기를 측정하고, 시프트 크기 만큼의 직류 전압을 보상하기 위한 보상 계수(Nc)의 선택 방법이 설명되었다. 여기서, 기준 페일 비트 수 K의 값은 메모리 셀들이 구성하는 문턱 전압 분포의 특성에 따라서 임의로 선택될 수 있다. 이러한 기준 페일 비트 수 K를 결정하기 위한 샘플 페이지의 읽기 전압(Vsrd) 설정의 다양한 예들이 도 9에서 설명될 것이다.
도 9는 도 7의 읽기 전압(Vsrd)의 선택 방법을 보여주는 예들이다. 도 9를 참조하면, 샘플 페이지의 각 섹터들에 포함되는 메모리 셀들의 문턱 전압에 대한 분포도를 로그 스케일(Log scale)로 간략히 보여준다.
분포도 (a)는 각 섹터들에 포함되는 메모리 셀들의 문턱 전압이 정규 분포를 이루는 경우를 보여준다. 정규 분포를 이루는 경우, 읽기 전압(Vsrd)은 평균값(Mean) 또는 중앙값(Median)을 이용할 수 있다. 분포도 (b) 내지 분포도 (d)는 각 섹터들에 포함되는 메모리 셀들의 문턱 전압이 비정규 분포를 이루는 경우들을 보여준다. 분포도 (b)의 경우, 검증 전압 이상으로 프로그램하는 ISPP 방식에서 일반적으로 형성될 수 있는 문턱 전압의 분포도를 보여준다. 이 경우, 읽기 전압(Vsrd)은 분포도에서 최빈값(Mode, 가장 셀들의 수가 많은 문턱 전압값)으로 선택할 수 있다. 분포도 (c)의 경우, 읽기 전압(Vsrd)은 최빈값이 아닌 페일 비트와 패스 비트가 대등한 문턱 전압의 크기로 선택될 수 있다. 분포도 (d)의 경우, 문턱 전압에 대한 메모리 셀들의 분포가 2개의 극대점을 가지는 경우를 보여준다. 이 경우에도 읽기 전압(Vsrd)은 임의로 최빈값, 중앙값 등으로 선택할 수 있을 것이다.
그러나, 프로그램된 섹터들에 포함되는 메모리 셀들의 문턱 전압에 대한 분포도를 이용하여 읽기 전압(Vsrd)을 선택하기 위하여, 반드시 페일 비트(또는 패스 비트)의 수가 결정되어야 한다. 이러한 페일 비트의 수에 따라서, 읽기 전압에 대한 문턱 전압의 시프트가 검출되기 때문이다.
도 10a 및 도 10b는 도 1의 플래시 메모리 장치(100)에서 수행되는 프로그램 및 읽기 동작을 보여주는 흐름도들이다. 프로그램 명령어 또는 읽기 명령어가 입력되면, 플래시 메모리 장치(100)는 우선적으로 샘플 페이지에 대한 읽기를 통해서 메모리 셀들의 문턱 전압 시프트 크기를 검출한다. 플래시 메모리 장치(100)는 검출된 시프트 크기에 대응하는 보상 계수(Nc)를 선택하고, 보상 계수(Nc)에 따라 직류 전압의 레벨을 조정한다. 이후, 플래시 메모리 장치(100)는 조정된 직류 전압을 적용하여 프로그램 또는 읽기 동작을 수행한다.
도 10a를 참조하면, 프로그램 명령어가 입력되면 제어 로직(180)은 본 발명 의 직류 전압의 조정을 수반하는 프로그램 동작을 시작한다. 먼저, 제어 로직(180)은 샘플 페이지(115)에 대한 읽기 동작을 수행한다. 샘플 페이지(115)에 대한 읽기 동작시, 샘플 페이지(115)에 대한 읽기 전압(Vsrd)은 앞서 설명된 다양한 실시예들 중 어느 하나에서 설명된 읽기 전압들과 실질적으로 동일하다(S10). 샘플 페이지(115)로부터 읽기 전압(Vsrd)에 의해서 읽혀진 샘플 데이터는 이후 시프트 검출기(150)로 전달된다. 시프트 검출기(150)는 도 3 내지 도 9에서 설명된 다양한 실시예들 중 어느 하나의 방식에 따라 문턱 전압의 시프트 크기를 검출한다. 시프트 크기를 검출한 이후, 시프트 검출기(150)는 시프트 크기에 대응하는 보상 계수(Nc)를 선택하여 전압 보상기(160)로 제공한다(S20). 전압 보상기(160)는 입력받은 보상 계수(Nc)를 참조하여, 수학식 1의 조건에 부합하는 검증 전압(Verify voltage)의 레벨을 결정한다. 전압 보상기(160)는 결정된 검증 전압(Verify voltage)을 생성하도록 전압 발생기(170)로 레벨 제어 신호(Level_CNTL)를 전달한다. 전압 발생기(170)는 레벨 제어 신호(Level_CNTL)에 따라, 이전에 설정된 검증 전압의 레벨을 시프트된 문턱 전압에 대응하는 검증 전압으로 변경한다. 이러한 레벨의 변경은, 초기화 데이터가 저장되는 퓨즈나 레지스터와 같은 구성의 설정을 통해서 구현될 수 있다. 또는, 셀 어레이 영역의 초기화 데이터 중 직류 전압의 레벨 정보를 업데이트 하는 것으로도 구현될 수 있다(S30). 검증 전압의 변경이 완료되면, 제어 로직(180)은 입력되는 데이터를 선택된 셀 영역으로 프로그램한다. 입력 데이터의 프로그램 동작은 조정된 검증 읽기 전압에 따라서 수행된다(S40).
도 10b를 참조하면, 읽기 명령어가 입력되면 제어 로직(180)은 본 발명의 읽 기 전압의 조정을 수반하는 읽기 동작을 시작한다. 먼저, 제어 로직(180)은 샘플 페이지(115)에 대한 읽기 동작을 수행한다. 샘플 페이지(115)에 대한 읽기 동작시, 샘플 페이지(115)에 대한 읽기 전압(Vsrd)은 앞서 설명된 다양한 실시예들 중 어느 하나에서 설명된 일기 전압과 실질적으로 동일하다(S110). 샘플 페이지(115)로부터 읽기 전압(Vsrd)에 의해서 읽혀진 샘플 데이터는 이후 시프트 검출기(150)로 전달된다. 시프트 검출기(150)는 도 3 내지 도 9에서 설명된 다양한 실시예들 중 어느 하나의 방식에 따라 문턱 전압의 시프트 크기를 검출한다. 시프트 크기를 검출한 이후, 시프트 검출기(150)는 시프트 크기에 대응하는 보상 계수(Nc)를 선택하여 전압 보상기(160)로 제공한다(S120). 전압 보상기(160)는 입력받은 보상 계수(Nc)를 참조하여, 수학식 1의 조건에 부합하는 읽기 전압(Read voltage)의 레벨을 결정한다. 전압 보상기(160)는 결정된 읽기 전압(Read voltage)을 생성하도록 전압 발생기(170)로 레벨 제어 신호(Level_CNTL)를 전달한다. 전압 발생기(170)는 레벨 제어 신호(Level_CNTL)에 따라, 이전에 설정된 검증 전압의 레벨을 시프트된 문턱 전압에 대응하는 읽기 전압(Read voltage)으로 변경한다. 이러한 레벨의 변경은 퓨즈나 레지스터 또는 셀 어레이의 초기화 데이터에 대한 업데이트를 통해서 구현될 수 있다(S130). 읽기 전압의 변경이 완료되면, 제어 로직(180)은 읽기 명령어와 함께 제공되는 어드레스에 대응하는 셀 영역의 데이터를 독출한다. 독출 동작은 조정된 읽기 전압을 워드 라인으로 제공하여 선택된 셀 영역을 센싱함으로써 이루어진다(S140).
이상에서 프로그램 및 읽기 동작에 대해서만 검증 전압과 읽기 전압의 조정 을 수행하는 것으로 순서도 상에서 설명되었으나, 본 발명은 이에 국한되지만은 않는다. 즉, 플래시 메모리 장치(100)의 외부로부터 직류 전압의 조정 명령어에 응답하여 읽기 전압이나 검증 전압의 레벨을 조정할 수 있다. 또는, 제어 로직(180)에 의해서 외부의 명령없이 직류 전압(읽기 전압, 검증 전압)의 조정이 주기적으로 이루어질 수 있다. 또는, 플래시 메모리 장치(100)의 퍼포먼스를 저해하지 않도록, 플래시 메모리 장치(100)의 유휴 동작 시간(Idle time)에 상술한 직류 전압의 조정을 수행하도록 제어 로직(180)이 구성될 수 있을 것이다.
도 11은 본 발명의 제 2 실시예에 따른 플래시 메모리 장치(300)를 보여주는 블록도이다. 도 11을 참조하면, 플래시 메모리 장치(300)는 에러 정정 블록(390)을 포함하여 읽기 동작 모드에서 읽기 전압의 조정에 소요되는 시간을 대폭 감소시킬 수 있다. 에러 정정 블록(390)을 통하여, 플래시 메모리 장치(300)는 정정 불가한 에러가 발생하는 시점에만, 직류 전압의 레벨 조정이 실시된다. 따라서, 정상적인 독출 동작이 가능한 시점에서는 직류 전압의 레벨은 조정되지 않기 때문에 레벨 조정에 소요되는 시간을 생략할 수 있다. 좀더 자세히 설명하면 다음과 같다.
셀 어레이(310)는 비트 라인 및 워드 라인에 연결되는 메모리 셀들을 포함한다. 독출 동작시, 셀 어레이(310)의 워드 라인에는 일차적으로는 조정되지 않은 레벨의 전압으로 제공된다. 그러나, 에러 정정 블록(390)으로부터 정정 불가한 에러 비트들이 검출되면, 셀 어레이(310)의 선택된 워드 라인으로는 조정된 읽기 전압이 다시 공급되고, 재독출 동작이 수행될 것이다.
샘플 페이지(315)는 셀 어레이(310)의 지정된 위치에 할당되는 페이지 단위 의 셀 영역이다. 샘플 페이지(315)는 문턱 전압의 시프트의 크기를 검출할 수 있을 정도로 다양한 시프트 정보를 포함하고 있다. 샘플 페이지(315)는 복수의 셀 영역들(예를 들면, 섹터 단위)로 다시 분할된다. 샘플 페이지(315)의 분할된 셀 영역들은 특정 조건 하에서 서로 다른 검증 전압에 따라 프로그램된다. 따라서, 복수의 셀 영역들 각각은 동일한 문턱 전압 상태를 가리키지만, 실질적 문턱 전압 분포에는 약간씩의 차이를 갖는다. 샘플 페이지의 프로그램은 플래시 메모리 장치의 테스트 공정에서 실시될 수 있다.
행 디코더(320)는 일반적으로 행 어드레스(X-Add)에 응답하여 워드 라인을 선택한다. 행 디코더(320)는 전압 발생기(370)로부터 제공되는 각종 워드 라인 전압을 선택된 워드 라인들로 전달한다. 프로그램 동작시, 선택 워드 라인(Selected WL)으로는 프로그램 전압(Vpgm; 약 15~20V)과 검증 전압(Vfy)을, 비선택 워드 라인(Unselected WL)으로는 패스 전압(Vpass;약 10V)을 전달한다. 독출 동작 시, 행 디코더(320)는 전압 발생기(370)로부터 제공되는 읽기 전압(Vrd)을 선택된 워드 라인으로 제공한다.
페이지 버퍼(330)는 동작 모드에 따라 기입 드라이버로써 또는 감지 증폭기로써 동작한다. 예를 들면, 페이지 버퍼(330)는 읽기 동작 모드에서 감지 증폭기로써 그리고 프로그램 동작 모드에서 기입 드라이버로써 동작한다.
Y-게이트(340)는 열 어드레스(Y-Add)에 응답하여 선택되는 열들을 일정 단위(예를 들면, I/O 단위)로 선택한다. Y-게이트(340)는 열 어드레스(Y-Add)에 응답하여, 페이지 버퍼(330)의 레지스터들(미도시됨)을 선택한다. 프로그램 동작시, 선 택된 레지스터들에는 입출력 버퍼(미도시됨)를 통해서 제공되는 프로그램 데이터 비트들이 저장된다. 독출 동작시, 선택된 레지스터들의 데이터 비트들이 Y-게이트(340)를 통해 에러 정정 블록(390)으로 전달될 것이다. 특히, 본 발명의 샘플 페이지(315)에 대한 읽기 모드에서, Y-게이트(340)는 페이지 버퍼(330)에 의해서 감지된 샘플 페이지(315)의 샘플링 데이터(Sample data)를 시프트 검출기(350)로 전달한다.
시프트 검출기(350)는 샘플 페이지(315)로부터 감지된 샘플 데이터(Sample data)를 분석하여 현재 문턱 전압의 이동된 크기를 계산한다. 시프트 검출기(350)는 문턱 전압의 이동(Shift)된 크기를 계산하여, 이동된 문턱 전압만큼 보상된 읽기 전압을 제공하기 위하여 보상 계수(Nc)를 제공되는 알고리즘에 따라서 구한다.
전압 보상기(360)는 시프트 검출기(350)로부터 제공되는 보상 계수(Nc)를 참조하여 현재 설정된 직류 전압(예를 들면, 읽기 전압)을 조정하기 위한 제어 동작을 실시한다.
전압 발생기(370)는 전압 보상기(360)의 제어에 따라 직류 전압을 발생한다. 프로그램 동작시에, 전압 발생기(370)는 온도와 기타 환경에 따라 이동된 메모리 셀의 문턱 전압 이동을 보상하기 위한 조정된 직류 전압을 제공한다. 예를 들면, 전압 발생기(370)는 전압 보상기(360)에 의해서 조정된 레벨의 검증 전압(Verify voltage)를 생성하여 워드 라인(Word line)으로 제공한다. 읽기 동작시, 전압 발생기(370)는 조정된 레벨의 읽기 전압(Read voltage)를 워드 라인들로 제공할 것이다.
제어 로직(380)은 명령어(CMD) 및 어드레스(ADD)에 응답하여 프로그램이나 독출 동작을 실행한다. 제어 로직(380)은 에러 정정 블록(390)으로부터의 정정 불가를 나타내는 검출 신호(UNCORR)에 응답하여 직류 전압(또는, 읽기 전압)의 조정을 수행한다. 에러 정정 블록(390)으로부터 검출 신호(UNCORR)가 전달되면, 제어 로직(380)은 샘플 페이지(315)에 대한 읽기 동작과 읽혀진 샘플 데이터(Sample data)를 이용한 직류 전압의 조정 동작을 컨트롤한다. 제어 로직(380)은 조정된 직류 전압을 이용하여 에러 정정이 불가한 것으로 검출된 셀 영역을 재독출하도록 할 수 있다.
에러 정정 블록(390)은 페이지 버퍼(330)로부터 제공되는 감지 증폭된 독출 데이터를 제공받는다. 선택된 셀 영역의 데이터로부터 독출된 데이터는 에러 정정 블록(390)에 의해서 에러의 존재 유무, 에러의 위치, 에러의 정정 가능 여부가 검출된다. 독출된 데이터에 에러가 포함되지 않은 경우, 에러 정정 블록(390)은 독출 데이터에 대한 에러 정정 연산 없이 출력한다. 독출된 데이터에 에러가 포함되어 있으되 정정 가능한 비트 수의 에러인 경우, 에러 정정 블록(390)은 독출 데이터에 대한 에러 정정 연산을 수행한다. 에러 정정된 독출 데이터는 플래시 메모리 장치(300)의 외부로 출력될 것이다. 그러나, 에러 검출 결과, 정정이 불가한 비트 수의 에러가 검출되면, 에러 정정 블록(390)은 검출 신호(UNCORR)를 제어 로직(380)으로 전달한다. 검출 신호(UNCORR)에 응답하여, 제어 로직(380)은 샘플 페이지(315)에 대한 독출과 독출된 샘플 데이터를 이용한 직류 전압의 조정을 수행하도록 Y-게이트(340), 시프트 검출기(350) 및 전압 보상기(360) 등을 제어할 것이다. 이후, 조정된 직류 전압에 의해서 에러가 발생한 셀 영역에 대한 재독출 동작이 수행될 것이다.
이상의 도 11에서 설명된 본 발명의 제 2 실시예에 따르면, 본 발명의 플래시 메모리 장치(300)는 독출 동작시 정정 불가한 에러가 검출되는 경우에 직류 전압의 조정을 수행한다. 따라서, 제 2 실시예는 매 읽기 동작시마다 에러의 유무에 상관없이 직류 전압의 조정이 이루어지는 제 1 실시예보다 더 향상된 퍼포먼스를 제공할 수 있다. 도 11에 설명된 플래시 메모리 장치(300)는 에러 정정 블록(390)을 포함하는 디바이스를 기술하고 있다. 이러한 플래시 메모리 장치에는 원낸드(OneNAND™) 플래시 메모리가 해당된다. 원낸드(OneNAND™) 플래시 메모리의 경우 버퍼램(Buffer RAM)을 더 포함하고 있다. 뿐만 아니라, 이러한 실시예는 다양한 퓨전 메모리들에 적용될 수 있을 것이다.
도 12는 도 11의 플래시 메모리 장치(300)에서 수행되는 읽기 동작을 보여주는 흐름도들이다. 도 12를 참조하면, 에러 정정 블록(390)에 의한 에러 검출과, 에러 검출 결과에 따라 직류 전압의 레벨이 조정되거나 또는 현재의 직류 전압의 레벨이 유지되는 독출 방법이 설명되어 있다. 읽기 명령어와 어드레스가 제공되면, 본 발명에 따른 읽기 동작이 시작된다.
읽기 명령어에 응답하여, 플래시 메모리 장치(300)는 선택된 셀 영역을 센싱한다. 센싱을 위해, 플래시 메모리 장치(300)는 조정되지 않은 직류 전압을 셀 어레이 영역에 제공하게 될 것이다. 조정되지 않은 직류 전압에 의해서 센싱된 데이터는 페이지 버퍼(330)에 래치된다. 그리고, 페이지 버퍼(330)에 래치된 데이터는 에러 정정 블록(390)으로 전달될 것이다(S210). 에러 정정 블록(390)은 전달된 독출 데이터의 에러를 검출한다(S220). 에러 정정 블록(390)은 검출된 에러가 정정 가능한 비트 수인지 또는 정정 불가한 에러인지를 판단한다(S230). 만일, 독출 데이터에 에러가 존재하지 않으면 독출 데이터를 출력한다. 또한, 독출 데이터로부터 검출된 에러가 정정 가능한 에러인 경우, 에러 정정 블록(390)은 에러 정정 연산을 실시하여 에러가 정정된 독출 데이터를 출력하게 될 것이다(S240).
반면, 독출 데이터에 포함되는 에러가 정정 불가능한 경우 에러 정정 블록(390)은 읽기 페일을 의미하는 검출 신호(UNCORR)를 제어 로직(380)으로 출력한다. 검출 신호(UNCORR)에 응답하여, 제어 로직(380)은 샘플 페이지(315)의 독출과 그에 따르는 직류 전압의 조정 동작을 실시하게 될 것이다. 먼저, 제어 로직(380)의 제어 하에서 읽기 전압(Vsrd)에 의한 샘플 페이지(315)의 읽기가 실시된다. 샘플 페이지(315)에 대한 읽기 동작시, 샘플 페이지(315)에 대한 읽기 전압(Vsrd)은 앞서 설명된 다양한 실시예들 중 어느 하나에서 설명된 읽기 전압과 실질적으로 동일하다(S250). 샘플 페이지(315)로부터 읽기 전압(Vsrd)에 의해서 읽혀진 샘플 데이터는 이후 시프트 검출기(350)로 전달된다. 시프트 검출기(350)는 이전의 도 3 내지 도 9에서 설명된 다양한 방법들 중 어느 하나에 따라 문턱 전압의 시프트 크기를 검출한다. 시프트 크기를 검출한 이후, 시프트 검출기(350)는 시프트 크기에 대응하는 보상 계수(Nc)를 선택하여 전압 보상기(360)로 제공한다(S26). 전압 보상기(160)는 입력받은 보상 계수(Nc)를 참조하여, 수학식 1의 조건에 부합하는 읽기 전압(Read voltage)의 레벨을 결정한다. 전압 보상기(360)는 결정된 읽기 전 압(Read voltage)을 생성하도록 전압 발생기(370)로 레벨 제어 신호(Level_CNTL)를 전달한다. 전압 발생기(370)는 레벨 제어 신호(Level_CNTL)에 따라, 이전에 설정된 검증 전압의 레벨을 시프트된 문턱 전압에 대응하는 읽기 전압(Read voltage)으로 변경한다. 이러한 레벨의 변경은 퓨즈나 레지스터와 같은 구성을 통해서 구현될 수 있다(S270). 읽기 전압의 변경이 완료되면, 제어 로직(380)은 읽기 명령어와 함께 제공되는 어드레스에 대응하는 셀 영역의 데이터를 조정된 읽기 전압에 의거하여 재독출한다(S280).
이상에서는, 읽기 동작시 에러 정정 블록(390)에 의한 에러 검출과 에러 검출시 에러 정정 블록(390)의 정정 능력을 초과하는 에러가 검출되면, 본 발명의 직류 전압의 조정이 이루어지는 실시예가 설명되었다. 이러한 에러 정정 블록(390)에 의한 에러 검출과 연관된 직류 전압의 조정을 통해서 신뢰성과 퍼포먼스를 모두 제공할 수 있는 메모리 장치를 제공할 수 있다.
도 13은 본 발명의 제 3 실시예를 보여주는 블록도이다. 도 13은 에러 정정 블록(414)을 포함하는 메모리 컨트롤러(410)와 직류 전압의 조정을 수행할 수 있는 플래시 메모리 장치(420)로 구성되는 메모리 카드(400)의 구성을 간략히 보여준다. 메모리 카드(400)는 호스트에 장착되어 호스트와 데이터를 교환하게 될 것이다. 도 13을 참조하면, 고용량의 데이터 저장 능력을 지원하기 위한 메모리 카드(400)는 본 발명의 플래시 메모리 장치(420)를 장착한다. 본 발명에 따른 메모리 카드(400)는 호스트(Host)와 플래시 메모리 장치(420) 간의 제반 데이터 교환을 제어하는 메모리 컨트롤러(410)를 포함한다. 본 발명의 메모리 카드(300)는 각 워드 라인 및 각 워드 라인의 페이지들에 대응하는 최적의 읽기 전압을 생성하여 독출 동작을 수행하는 플래시 메모리 장치(420)를 포함한다. 따라서, 플래시 메모리 장치(420)로부터 읽기 전압의 조정에 따른 감소된 에러 확률을 갖는 독출 데이터가 출력된다. 따라서, 높은 신뢰도를 갖는 메모리 시스템을 제공할 수 있다.
SRAM(411)은 프로세싱 유닛(412)의 동작 메모리로써 사용된다. 호스트 인터페이스(413)는 메모리 카드(400)와 접속되는 호스트의 데이터 교환 프로토콜을 구비한다. 에러 정정 블록(414)은 플래시 메모리 장치(420)로부터 독출된 데이터에 포함되는 에러를 검출 및 정정한다. 메모리 인터페이스(415)는 본 발명의 플래시 메모리 장치(420)와 인터페이싱 한다. 프로세싱 유닛(412)은 메모리 컨트롤러(410)의 데이터 교환을 위한 제반 제어 동작을 수행한다. 비록 도면에는 도시되지 않았지만, 본 발명에 따른 메모리 카드(400)는 호스트(Host)와의 인터페이싱을 위한 코드 데이터를 저장하는 ROM(미도시됨) 등이 더 제공될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
상술한 본 발명의 메모리 카드(400)에 따르면, 메모리 컨트롤러(410)에 포함되는 에러 정정 블록(414)에 의해서 독출 데이터의 에러가 검출된다. 만일, 독출 데이터에 에러가 없거나, 에러 비트 수가 정정 가능한 크기라면 독출 데이터는 호스트로 직접 출력되거나 에러 정정 연산을 거쳐 출력될 것이다. 반면에, 독출 데이터에 포함되는 에러 비트의 수가 에러 정정 연산을 통해서 정정할 수 없는 크기라면, 메모리 컨트롤러(410)는 플래시 메모리 장치(420)에 직류 전압의 조정을 위한 명령어를 제공하게 될 것이다. 직류 전압 조정 명령어를 제공받은 플래시 메모리 장치(420)는 샘플 페이지의 독출을 통해서 문턱 전압의 시프트 크기를 검출한다. 검출된 문턱 전압의 시프트 크기를 참조하여, 플래시 메모리 장치(420)는 직류 전압의 레벨을 조정한다. 플래시 메모리 장치(420)는 실질적으로 도 1에 기술된 플래시 메모리 장치와 동일하게 구성될 수 있다.
도 14는 본 발명의 제 4 실시예에 따른 메모리 시스템(500)을 보여주는 블록도이다. 도 14를 참조하면, 호스트(510)는 샘플 페이지의 독출 데이터를 제공받아 보상 계수(Nc)를 계산하여 플래시 메모리(520)로 제공한다.
호스트(510)는 플래시 메모리(520)로 데이터를 프로그램하거나, 또는 플래시 메모리(520)에 저장된 데이터를 독출한다. 이러한 프로그램 또는 독출 동작에 앞서, 호스트(510)는 메모리 셀들의 문턱 전압 시프트를 검출하기 위한 명령어(CMD)를 플래시 메모리(520)로 입력한다. 이러한 특정 기능을 수행하는 명령어는 사용자에 의해서 정의될 수 있는 벤더 커맨드(Vendor command)에 의해서 구현될 수 있다. 호스트(510)는 명령어(CMD)에 응답하여 플래시 메모리(520)로부터 출력되는 샘플 데이터(Sample data)를 전달받아 보상 계수(Nc)를 계산한다. 보상 계수(Nc)는 호스트 내에 구비되는 보상 계수 계산 모듈(515)에 의해서 구해진다. 보상 계수 계산 모듈(515)은 소트프웨어 모듈로도 제공될 수 있다. 보상 계수 계산 모듈(515)은 앞서 설명된 도 1의 시프트 검출기(150)와 실질적으로 동일한 구성 또는 기능을 수행한다. 호스트(510)는 보상 계수 계산 모듈(515)에 의해서 도출된 보상 계수(Nc)를 플래시 메모리(520)로 전달한다.
플래시 메모리(520)는 호스트(510)의 명령어(CMD)에 응답하여 샘플 데이터를 출력한다. 그리고, 호스트(510)로부터 제공되는 보상 계수(Nc)를 이용하여 직류 전압의 레벨을 조정한다. 플래시 메모리(520)는 호스트(510)로부터 명령어(CMD)가 제공되면 읽기 전압(Vrd)에 따라 샘플 페이지(521)를 읽는다. 샘플 페이지(521)로부터 센싱된 샘플 데이터(Sample data)는 다시 호스트(510)로 출력된다. 이후 호스트(510)로부터 보상 계수(Nc)의 값이 입력되면, 전압 보상기(522)는 직류 전압의 레벨을 보상 계수(Nc)에 따라 조정한다. 이후, 호스트(510)의 제어에 따라 프로그램이나 읽기 동작을 조정된 직류 전압을 사용하여 실시한다. 여기서, 플래시 메모리(520)는 에러 정정 블록(523)을 이용하여 샘플 페이지의 읽기 및 직류 전압의 조정 횟수를 감소시킬 수 있다. 즉, 독출 데이터로부터 정정 불가한 에러가 검출될 때에만, 상술한 샘플 페이지(521)의 독출과 직류 전압의 조정이 수행되도록 구성될 수 있다. 즉, 에러 정정 블록(523)에 의해서 읽기 실패(Read fail)가 발생하면, 호스트(510)는 직류 전압 조정을 위한 명령어와 그에 따르는 보상 계수(Nc)를 생성하여 플래시 메모리(520)에 전달한다.
여기서, 호스트(510)는 모바일 기기나 정보 처리 시스템의 호스트일 수 있다. 또는, 호스트(510)는 반도체 디스크 장치(SSD)나 메모리 카드와 같은 메모리 시스템에서 메모리 컨트롤러에 해당될 수 있다. 플래시 메모리(520)는 메모리 컨트롤러를 포함하는 메모리 카드로 구성될 수도 있고, 칩 레벨의 플래시 메모리 장치 또는 원낸드(OneNAND™) 플래시 메모리 장치와 같은 퓨전 플래시 메모리 장치로도 구성될 수 있다. 즉, 호스트(510)와 플래시 메모리(520)의 구성은 특정 장치들에 한정되지 않으며, 설명된 기능들이 적용되는 다양한 변경이 가능하다.
도 15는 도 14의 메모리 시스템(500)에서 데이터의 프로그램 동작을 보여주는 흐름도이다. 도 15를 참조하면, 프로그램 동작에 앞서 호스트(510)는 샘플 페이지(521)에 대한 읽기 명령어(CMD)를 전달한다(S310). 호스트(510)로부터의 샘플 페이지(521)에 대한 읽기 명령어(CMD)에 응답하여 플래시 메모리(520)는 읽기 전압(Vrd)를 이용하여 샘플 페이지(521)를 센싱한다. 센싱된 샘플 데이터(Sample data)는 플래시 메모리(520)로부터 호스트(510)로 전달된다. 호스트(510)는 플래시 메모리(520)로부터의 샘플 데이터(Sample data)를 수신한다(S320). 수신된 샘플 데이터(Sample data)는 보상 계수 계산 모듈(515)에 제공되며, 보상 계수 계산 모듈(515)은 도 3 내지 도 9에서 설명된 다양한 실시예들 중 어느 하나의 방식에 따라 문턱 전압의 시프트 크기를 검출한다. 시프트 크기를 검출한 이후, 보상 계수 계산 모듈(515)은 시프트 크기에 대응하는 보상 계수(Nc)를 테이블 상에서 선택하여 출력한다(S330). 호스트(510)는 보상 계수 계산 모듈(515)로부터 출력되는 보상 계수(Nc)를 플래시 메모리(520)로 전송한다(S340). 플래시 메모리(520)의 전압 보상기(522)는 입력받은 보상 계수(Nc)를 참조하여, 수학식 1의 조건에 부합하는 검증 전압(Verify voltage)의 레벨을 결정한다. 전압 보상기(522)는 결정된 검증 전압(Verify voltage)을 생성하도록 전압 발생기(미도시됨)를 설정하게 될 것이다(S350). 검증 전압(Verify voltage)의 레벨 조정이 완료된 이후, 플래시 메모리 장치(520)는 입력되는 데이터를 지정된 셀 영역에 프로그램한다. 프로그램 동작시, 검증 전압(Verify voltage)은 조정된 레벨로 제공될 것이다(S360).
도 16a, 16b, 16c는 도 14의 메모리 시스템(500)에서의 읽기 동작의 예들을 보여주는 흐름도들이다.
도 16a에 의해서 설명되는 읽기 방법은, 도 14의 메모리 시스템(500)에 에러 정정 블록(523)의 에러 검출 기능과 연관되지 않은 직류 전압의 조정 동작을 보여준다. 읽기 동작이 시작되면, 호스트(510)는 샘플 페이지(521)에 대한 읽기 명령어를 플래시 메모리(520)에 전달한다(S410). 호스트(510)로부터의 샘플 페이지(521)에 대한 읽기 명령어(CMD)에 응답하여 플래시 메모리(520)는 읽기 전압(Vsrd)을 이용하여 샘플 페이지(521)를 센싱한다. 센싱된 샘플 데이터(Sample data)는 플래시 메모리(520)로부터 호스트(510)로 전달된다. 호스트(510)는 플래시 메모리(520)로부터의 샘플 데이터(Sample data)를 수신한다(S420). 수신된 샘플 데이터(Sample data)는 보상 계수 계산 모듈(515)에 제공되며, 보상 계수 계산 모듈(515)은 도 3 내지 도 9에서 설명된 다양한 실시예들 중 어느 하나의 방식에 따라 문턱 전압의 시프트 크기를 검출한다. 시프트 크기를 검출한 이후, 보상 계수 계산 모듈(515)은 시프트 크기에 대응하는 보상 계수(Nc)를 테이블에서 선택하여 출력한다(S430). 호스트(510)는 보상 계수 계산 모듈(515)로부터 출력되는 보상 계수(Nc)를 플래시 메모리(520)로 전송한다(S440). 플래시 메모리(520)의 전압 보상기(522)는 입력받은 보상 계수(Nc)를 참조하여, 수학식 1의 조건에 부합하는 읽기 전압(Read voltage)의 레벨을 결정한다. 전압 보상기(522)는 결정된 읽기 전압(Read voltage)을 생성하도록 전압 발생기(미도시됨)를 설정하게 될 것이다(S450). 읽기 전압(Read voltage)의 레벨 조정이 완료된 이후, 플래시 메모리 장치(520)는 선택된 셀 영역에 대한 읽기 동작을 실시한다(S470).
도 16b를 참조하면, 플래시 메모리(520)에 포함되는 에러 정정 블록(523)에 의한 에러 검출 결과에 따라 호스트(510)의 보상 계수(Nc)의 계산 횟수를 줄일 수 있다. 이러한 읽기 방법에 따라 메모리 시스템(500)의 퍼포먼스 향상이 가능하다. 이하, 읽기 동작의 절차들이 도 14를 참조하여 설명될 것이다.
호스트(510)로부터 읽기 명령어와 어드레스가 전달되면, 플래시 메모리(520)는 선택된 셀 영역에 대한 센싱과 래치 동작을 수행한다(S510). 독출된 데이터는 플래시 메모리(520)의 에러 정정 블록(523)으로 전달된다. 에러 정정 블록(523)은 독출된 데이터에 대한 에러 검출을 실시한다(S520). 에러 정정 블록(523)은 독출된 데이터에 포함되는 에러가 정정 불가능한 크기인지, 아니면 에러가 없거나 정정 가능한 수의 에러인지를 판단한다(S530). 에러가 검출되지 않았을 경우, 에러 정정 블록(523)은 독출 데이터를 호스트(510)로 출력한다. 만일 정정 가능한 비트 수의 에러가 검출되면, 에러 정정 블록(523)은 독출 데이터에 대한 에러 정정 연산을 수행하여 복구된 독출 데이터를 호스트(510)로 출력한다. 호스트(510)는 출력되는 독출 데이터를 수신한다(S540). 정상적인 독출 데이터의 수신이 이루어지면, 제반 읽기 동작은 완료된다.
그러나, 에러 정정 블록(523)에 의해 검출된 에러가 정정 불가능한 경우, 에러 정정 블록(523)은 읽기 실패(Read fail) 메시지를 출력하게 된다. 그러면, 절차는 호스트(510)에 의한 샘플 페이지(521)를 이용한 직류 전압을 조정하여 읽기 동작을 다시 시도하는 단계(S550)로 이동한다. 직류 전압(예를 들면, 읽기 전압)을 조정하여 재독출을 시도하는 단계(S550)는 실질적으로 도 16a에서 설명된 읽기 단 계들(S410~S470)과 동일하다. 따라서, 샘플 페이지(512)를 독출하여 직류 전압을 조정하고 재독출을 시도하는 단계(S550)에 대한 설명은 생략하기로 한다.
도 16c는 본 발명의 읽기 방법의 다른 실시예를 보여주는 흐름도이다. 도 16c에 의해서 설명되는 실시예는, 플래시 메모리(520)의 직류 전압의 레벨 조정 이후에도 정정 불가한 에러가 발생하는 경우에 대해서 해결책을 제시한다.
호스트(510)로부터 읽기 명령어와 어드레스가 전달되면, 플래시 메모리(520)는 선택된 셀 영역에 대한 센싱과 래치 동작을 수행한다(S610). 독출된 데이터는 플래시 메모리(520)의 에러 정정 블록(523)으로 전달된다. 에러 정정 블록(523)은 독출된 데이터에 대한 에러 검출을 실시한다(S620). 에러 정정 블록(523)은 독출된 데이터에 포함되는 에러가 정정 불가능한 크기인지, 아니면 에러가 없거나 정정 가능한 수의 에러인지를 판단한다(S630). 에러가 검출되지 않았을 경우, 에러 정정 블록(523)은 독출 데이터를 호스트(510)로 출력한다. 만일 정정 가능한 비트 수의 에러가 검출되면, 에러 정정 블록(523)은 독출 데이터에 대한 에러 정정 연산을 수행하여 복구된 독출 데이터를 호스트(510)로 출력한다. 호스트(510)는 출력되는 독출 데이터를 수신한다(S640). 정상적인 독출 데이터의 수신이 이루어지면, 제반 읽기 동작은 완료된다.
그러나, 에러 정정 블록(523)에 의해 검출된 에러가 정정 불가능한 경우, 에러 정정 블록(523)은 읽기 실패(Read fail) 메시지를 출력하게 된다. 그러면, 호스트(510)는 샘플 페이지(521)를 독출하여 플래시 메모리(520)의 직류 전압(예를 들면, 읽기 전압)의 레벨을 조정한다(S650). 이어서, 조정된 직류 전압에 따라 선택 된 셀 영역에 대한 독출 동작이 재실시된다(S660). 에러 정정 블록(523)은 재독출 동작에 의해서 출력되는 데이터의 에러를 검출한다(S670). 재독출 데이터에 대한 에러 검출 결과, 에러가 없거나, 정정 가능한 에러가 검출되면 플래시 메모리(520)는 재독출 데이터 또는 에러를 정정한 재독출 데이터를 호스트(510)로 출력한다(S640).
반면에, 샘플 데이터를 이용한 직류 전압의 조정 이후에도 정정 불가한 에러가 독출 데이터에 포함되는 경우, 플래시 메모리(520)는 강제적으로 읽기 전압을 가변하면서 재독출 동작을 복수 회 실시한다. 즉, 서로 다른 레벨의 가변 가능한 읽기 전압들로 선택된 셀 영역을 반복적으로 재독출하여 에러가 포함되지 않거나, 또는 정정 가능한 에러를 포함하는 독출 데이터의 출력 시점까지 반복 루프를 구성한다. 반복 루프는 가변 가능한 읽기 전압(Vrd_i)의 수(n)만큼 반복될 것이다. 도 16c에서 설명된 읽기 방법은, 메모리 시스템(500)의 퍼포먼스보다는 데이터의 신뢰성이 더 중요시되는 시스템에서 채용될 수 있을 것이다. 또한, 메모리 셀의 플로팅 게이트에 저장된 전하의 손실(Charge loss)에 의한 문턱 전압의 시프트의 경우, 이러한 방법에 의해서 해결 가능하다.
도 17은 본 발명의 제 5 실시예에 따른 메모리 시스템(600)을 보여준다. 도 14의 메모리 시스템(500)에 비해 도 17의 메모리 시스템(600)은 호스트에 에러 정정 블록(611)이 포함된다. 여기서, 에러 정정 블록(611) 또는 보상 계수 계산 모듈(612)은 하드웨어 모듈로 구성될 수 있다. 또한, 에러 정정 블록(611) 또는 보상 계수 계산 모듈(612)은 소프트웨어 모듈로 구현될 수 있다.
도 18은 메모리 시스템의 변경된 제 6 실시예를 예시적으로 보여주는 블록도이다. 도 18을 참조하면, 본 발명의 메모리 시스템(700)은 직류 전압의 레벨을 초기화하기 위한 직류 레벨 정보(DC level inform)를 셀 어레이나 퓨즈 로직과 같은 구성에 저장하는 플래시 메모리(720)를 포함한다. 따라서, 직류 전압의 조정은 이러한 직류 레벨 정보(DC level inform)의 업데이트를 통해서 구현될 수 있다.
호스트(710)는 직류 레벨 정보를 업데이트하기 위해 보상 계수(Nc)를 플래시 메모리(720)에 제공할 수 있다. 또는, 직류 레벨 정보가 직류 전압의 레벨을 직접적으로 지시하는 경우, 호스트(710)는 조정된 직류 전압(Vadj)의 레벨을 직접 직류 레벨 정보로써 플래시 메모리(720)에 제공할 수 있다. 플래시 메모리(720)는 호스트로부터의 직류 레벨 정보를 제공받아, 직류 레벨 정보 스토리지(722)에 업데이트할 수 있다. 업데이트된 직류 레벨 정보(DC level inform)에 의해서 플래시 메모리(720)는 조정된 읽기 전압 또는 검증 전압을 출력하도록 설정된다.
이상의 도 14, 17, 18에서 설명된 본 발명의 메모리 시스템(500, 600, 700)은 MMC 카드(Multimedia Card), SD 카드(Secure Digital Card), 마이크로 SD 카드, 메모리 스틱(Memory Stick), ID 카드, PCMCIA 카드, 칩 카드(Chip Card), USB 카드, 스마트 카드(Smart Card), CF 카드(Compact Flash Card) 등으로 더 구성될 수 있다. 본 발명의 메모리 시스템은 임베디드 시스템에 적용가능하다. 임베디드(Embedded) 시스템은 다른 기기의 일부로 내장된 컴퓨팅 시스템으로써, 일반적인 컴퓨터와 달리 자신을 포함하고 있는 기기에 부과된 특정 목적의 컴퓨팅 작업만을 수행한다. 이를 위해, 임베디드 시스템은 중앙처리장치를 갖고 운영 체제를 필요로 하며, 운영체제로 애플리케이션을 실행하여 특정 작업을 수행한다. 일반적으로, 임베디드 시스템은 군사용기기, 산업용 기기, 통신 기기, 셋탑 박스, DTV, 디지털 카메라와 같은 가전기기 등을 제어하기 위해 내장된다.
도 19는 본 발명에 따른 메모리 시스템(810)을 포함하는 전자 장치(800)를 개략적으로 보여주는 블록도이다. 본 발명에 따른 전자 장치(800)는 시스템 버스에 전기적으로 연결된 마이크로프로세서(820), 램(830), 사용자 인터페이스(840), 베이스밴드 칩셋(Baseband chipset)과 같은 모뎀(850) 및 메모리 시스템(810)을 포함한다. 메모리 시스템(810)은 메모리 컨트롤러(811), 그리고 플래시 메모리 장치(812)를 포함한다. 플래시 메모리 장치(812)는 도 1 또는 도 11에 도시된 것들 중 어느 하나와 실질적으로 동일하게 구성될 것이다. 플래시 메모리 장치(812)에는 마이크로프로세서(820)에 의해서 처리된/처리될 N-비트 데이터(N은 1 또는 그보다 큰 정수)가 메모리 컨트롤러(811)를 통해 저장될 것이다. 본 발명에 따른 컴퓨팅 시스템이 모바일 장치인 경우, 컴퓨팅 시스템의 동작 전압을 공급하기 위한 배터리(미도시됨)가 추가적으로 제공될 것이다. 비록 도면에는 도시되지 않았지만, 본 발명에 따른 컴퓨팅 시스템에는 응용 칩셋(Application chipset), 카메라 이미지 프로세서(Camera Image Processor: CIS), 모바일 디램, 등이 더 제공될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다. 메모리 컨트롤러(811)와 플래시 메모리 장치(812)는, 예를 들면, 데이터를 저장하는 데 불휘발성 메모리를 사용하는 SSD(Solid State Drive/Disk)를 구성할 수 있다.
이상의 본 발명의 메모리 시스템(800)에 따르면, 플래시 메모리 장치(812)의 실장 환경이나 공정에 따라 문턱 전압의 시프트가 발생하더라도, 프로그램과 읽기 동작시에는 문턱 전압의 시프트가 보상되어 에러를 차단할 수 있다. 그리고, 샘플 페이지에 대한 1회의 읽기 동작으로 플래시 메모리 장치(812)의 직류 전압의 레벨 조정이 가능하므로, 퍼포먼스의 저하를 방지할 수 있다.
특히, 최근 활발히 연구되고 있는 반도체 디스크 장치(Solid State Disk: 이하 SSD)와 같은 메모리 시스템에서 본 발명의 플래시 메모리 장치가 구비될 수 있다. 이 경우, 메모리 컨트롤러(710)는 USB, MMC, PCI-E, SATA, PATA, SCSI, ESDI, 그리고 IDE 등과 같은 다양한 인터페이스 프로토콜들 중 하나를 통해 외부(예를 들면, 호스트)와 통신하도록 구성될 것이다.
본 발명에 따른 플래시 메모리 장치 그리고/또는 메모리 컨트롤러는 다양한 형태들의 패키지를 이용하여 실장될 수 있다. 예를 들면, 본 발명에 따른 플래시 메모리 장치 그리고/또는 메모리 컨트롤러는 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic Metric Quad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP), 등과 같은 패키지들을 이용하여 실장될 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
도 1은 본 발명의 제 1 실시예에 따른 플래시 메모리 장치를 보여주는 블록도;
도 2는 도 1의 샘플 페이지의 프로그램 방법을 보여주는 도면;
도 3은 도 1의 샘플 페이지의 문턱 전압 시프트를 보여주는 도면;
도 4a는 문턱 전압 시프트의 크기를 측정하여 보상 계수를 구하기 위한 테이블의 일 실시예;
도 4b는 문턱 전압 시프트의 크기를 측정하여 보상 계수를 구하기 위한 테이블의 다른 실시예;
도 5는 본 발명의 문턱 전압 시프트의 크기를 측정하기 위한 톨러런트 읽기 방법을 보여주는 도면;
도 6은 도 5의 읽기 결과에 따른 보상 계수 선택 방법을 보여주는 테이블;
도 7은 페일 비트의 카운트를 통해서 문턱 전압 시프트의 크기를 구하는 실시예를 설명하는 도면;
도 8은 도 7의 읽기 결과에 따라 보상 계수의 선택 방법을 보여주는 테이블;
도 9는 다양한 문턱 전압 분포에서의 읽기 전압 선택 방법을 보여주는 도면;
도 10a는 본 발명의 프로그램 방법을 보여주는 흐름도;
도 10b는 본 발명의 읽기 방법을 보여주는 흐름도;
도 11은 본 발명의 제 2 실시예에 따른 플래시 메모리 장치를 보여주는 블록도;
도 12는 도 11의 플래시 메모리 장치의 읽기 동작을 보여주는 순서도;
도 13은 본 발명의 제 3 실시예에 따른 메모리 카드를 보여주는 블록도;
도 14는 본 발명의 제 4 실시예에 따른 메모리 시스템을 보여주는 블록도;
도 15는 도 14의 메모리 시스템에서의 프로그램 동작을 보여주는 흐름도;
도 16a, 16b, 16c는 도 14의 메모리 시스템의 읽기 동작들의 실시예들을 보여주는 순서도들;
도 17은 본 발명의 제 5 실시예에 따른 메모리 시스템을 보여주는 블록도;
도 18은 본 발명의 제 6 실시예에 따른 메모리 시스템을 보여주는 보여주는 블록도; 및
도 19는 본 발명의 전자 장치를 보여주는 블록도.
*도면의 주요 부분에 대한 부호의 설명*
110, 310 : 셀 어레이 115, 315 : 샘플 페이지
120, 320 : 행 디코더 130, 330 : 페이지 버퍼
140, 340 : Y-게이트 150, 350 : 시프트 검출기
160, 360 : 전압 보상기 170, 370 : 전압 발생기
180, 380 : 제어 로직 190 : 입출력 버퍼
390 : 에러 정정 블록 410 : 메모리 컨트롤러
411 : 에스램 412 : 마이크로프로세서
413 : 호스트 인터페이스 414 : 에러 정정 블록
415 : 메모리 인터페이스 420 : 플래시 메모리 장치
510, 610, 710 : 호스트 515, 612 : 보상 계수 계산 모듈
520, 620, 720 : 플래시 메모리 521, 621, 721 : 샘플 페이지
522, 622 : 전압 보상기 523, 611 : 에러 정정 블록
722 : 직류 레벨 정보 스토리지 800 : 전자 장치
810 : 메모리 카드 811 : 플래시 컨트롤러
812 : 플래시 메모리 820 : 마이크로프로세서
830 : 램 840 : 유저 인터페이스
850 : 모뎀

Claims (25)

  1. 복수의 메모리 셀들을 포함하고, 복수의 검증 전압들에 의해 프로그램되는 샘플 영역을 포함하는 셀 어레이; 그리고
    상기 샘플 영역으로부터 독출된 샘플 데이터를 참조하여 상기 복수의 메모리 셀들의 문턱 전압 시프트 크기를 검출하는 시프트 검출기를 포함하는 불휘발성 메모리 장치.
  2. 제 1 항에 있어서,
    상기 샘플 영역은 하나의 프로그램 상태가 상기 복수의 검증 전압들 각각에 따라 프로그램되는 복수의 샘플 섹터들을 포함하는 불휘발성 메모리 장치.
  3. 제 2 항에 있어서,
    상기 샘플 데이터는 하나의 샘플 읽기 전압에 의해서 상기 샘플 영역으로부터 독출된 데이터인 것을 특징으로 하는 불휘발성 메모리 장치.
  4. 제 3 항에 있어서,
    상기 샘플 읽기 전압은 상기 복수의 검증 전압들 중 최하위 레벨과 최상위 레벨 사이의 전압 레벨들 중 어느 하나로 공급되는 불휘발성 메모리 장치.
  5. 제 4 항에 있어서,
    상기 시프트 검출기는 상기 샘플 읽기 전압에 의해서 독출된 샘플 섹터들 각각의 패스 또는 페일 여부를 검출하여 상기 문턱 전압의 시프트 크기를 계산하는 불휘발성 메모리 장치.
  6. 제 5 항에 있어서,
    상기 시프트 검출기는 상기 샘플 섹터들 각각에 대해 특정 비트 수 이하의 페일 비트가 존재하는 경우 패스로 판정하는 것을 특징으로 하는 불휘발성 메모리 장치.
  7. 제 3 항에 있어서,
    상기 샘플 읽기 전압은 상기 복수의 검증 전압들보다 높은 레벨로 제공되는 불휘발성 메모리 장치.
  8. 제 7 항에 있어서,
    상기 시프트 검출기는 상기 샘플 읽기 전압에 의해서 독출된 샘플 데이터에서 섹터들 각각의 페일 비트의 수를 카운트하여 상기 문턱 전압의 변화 크기를 계산하는 불휘발성 메모리 장치.
  9. 제 8 항에 있어서,
    상기 시프트 검출기는 상기 복수의 섹터들 중 페일 비트의 수와 패스 비트의 차이값이 최소가 되는 섹터를 검출하여 상기 문턱 전압의 변화 크기를 계산하는 불휘발성 메모리 장치.
  10. 제 8 항에 있어서,
    상기 시프트 검출기는 페일 비트의 수가 기준값에 가장 근접한 섹터를 검출하여 상기 문턱 전압의 변동량을 계산하는 불휘발성 메모리 장치.
  11. 제 1 항에 있어서,
    상기 시프트 검출기로부터 계산된 문턱 전압의 시프트 크기를 참조하여 상기 셀 어레이에 제공되는 직류 전압의 레벨을 조정하는 전압 조정기;
    상기 셀 어레이의 일부 영역으로부터의 독출 데이터에 포함되는 에러를 검출 및 정정하는 에러 정정 블록; 그리고
    상기 에러 정정 블록으로부터 읽기 실패 메시지에 응답하여 상기 샘플 영역을 독출하도록, 독출된 상기 샘플 데이터에 근거하여 상기 문턱 전압의 시프트 크기를 계산하도록, 그리고 상기 문턱 전압 시프트 크기를 참조하여 상기 직류 전압의 레벨을 조정하도록 상기 시프트 검출기와 상기 전압 조정기를 제어하는 제어 로직을 더 포함하는 불휘발성 메모리 장치.
  12. 제 11 항에 있어서,
    상기 메모리 셀 어레이의 중 일부 영역은 상기 조정된 직류 전압에 따라 재독출되는 불휘발성 메모리 장치.
  13. 제 12 항에 있어서,
    상기 재독출 데이터에 대해서 정정 불가한 에러가 포함되는 경우, 상기 제어 로직은 복수의 서로 다른 레벨의 읽기 전압들에 따라 상기 일부 영역을 반복적으로 재독출하도록 설정되는 불휘발성 메모리 장치.
  14. 제 11 항에 있어서,
    상기 직류 전압은 상기 셀 어레이에 대한 프로그램 동작시에 제공되는 검증 전압 또는 상기 셀 어레이에 대한 독출 동작에 제공되는 읽기 전압인 것을 특징으로 하는 불휘발성 메모리 장치.
  15. 제 11 항에 있어서,
    상기 에러 정정 블록으로부터 출력되는 에러 정정된 상기 독출 데이터를 일시 저장하는 버퍼램을 더 포함하는 원낸드 플래시 메모리 장치인 것을 특징으로 하는 불휘발성 메모리 장치.
  16. 읽기 또는 프로그램 명령어를 제공하는 호스트; 및
    상기 호스트의 제어에 응답하여 복수의 검증 전압들에 의해 프로그램되는 샘 플 영역으로부터 독출되는 샘플 데이터를 상기 호스트로 제공하는 플래시 메모리 장치를 포함하되,
    상기 호스트는 상기 샘플 데이터를 참조하여 상기 플래시 메모리 장치의 메모리 셀들의 문턱 전압 시프트를 보상하기 위한 직류 전압 레벨 정보를 계산하는 는 메모리 시스템.
  17. 제 16 항에 있어서,
    상기 플래시 메모리 장치는 상기 호스트로부터 제공되는 직류 전압 레벨 정보를 참조하여 읽기 전압 또는 검증 전압의 레벨을 조정하는 메모리 시스템.
  18. 제 16 항에 있어서,
    상기 호스트는 상기 플래시 메모리 장치로부터 제공되는 독출 데이터의 에러를 검출하고 정정하는 에러 정정 블록을 더 포함하는 메모리 시스템.
  19. 제 18 항에 있어서,
    상기 호스트는 상기 에러 정정 블록으로부터 읽기 실패 메시지가 출력되면, 상기 샘플 데이터를 독출하여 상기 직류 전압의 레벨 정보를 생성하는 메모리 시스템.
  20. 제 19 항에 있어서,
    상기 플래시 메모리 장치는 상기 직류 전압 레벨 정보를 참조하여 상기 읽기 전압 또는 상기 검증 전압의 레벨을 조정하는 전압 보상기를 더 포함하는 메모리 시스템.
  21. 제 19 항에 있어서,
    상기 플래시 메모리 장치는 상기 직류 전압 레벨 정보를 참조하여, 상기 읽기 전압 또는 상기 검증 전압의 레벨을 업데이트하는 것을 특징으로 하는 메모리 시스템.
  22. 플래시 메모리 장치의 직류 전압 조정 방법에 있어서:
    복수의 검증 전압들에 따라 샘플 페이지를 프로그램하는 단계;
    상기 샘플 페이지를 샘플 읽기 전압에 따라 독출하는 단계; 그리고
    상기 샘플 영역으로부터 독출된 샘플 데이터를 참조하여 메모리 셀들의 문턱 전압의 시프트 크기를 검출하는 단계를 포함하는 방법.
  23. 제 22 항에 있어서,
    상기 샘플 페이지는 상기 복수의 검증 전압들 각각에 대응하는 복수의 섹터들을 포함하며, 복수의 섹터들 각각은 동일한 조건에서 프로그램되는 방법.
  24. 제 23 항에 있어서,
    상기 검출하는 단계에서, 상기 샘플 데이터 중 상기 복수의 섹터들 각각의 패스 또는 페일 여부를 검출하여 상기 문턱 전압의 시프트 크기를 검출하는 방법.
  25. 제 23 항에 있어서,
    상기 검출하는 단계에서, 상기 샘플 데이터 중 상기 복수의 섹터들 각각의 페일 비트의 수를 카운트하여 상기 문턱 전압의 시프트 크기를 검출하는 방법.
KR1020080066541A 2008-07-09 2008-07-09 불휘발성 메모리 장치 및 메모리 시스템 및 그것의 관리방법 KR101434400B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020080066541A KR101434400B1 (ko) 2008-07-09 2008-07-09 불휘발성 메모리 장치 및 메모리 시스템 및 그것의 관리방법
US12/495,546 US8116160B2 (en) 2008-07-09 2009-06-30 Methods of detecting a shift in the threshold voltage for a nonvolatile memory cell
CN200910205712.6A CN101673580B (zh) 2008-07-09 2009-07-09 检测非易失性存储单元的阈值电压位移的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080066541A KR101434400B1 (ko) 2008-07-09 2008-07-09 불휘발성 메모리 장치 및 메모리 시스템 및 그것의 관리방법

Publications (2)

Publication Number Publication Date
KR20100006344A true KR20100006344A (ko) 2010-01-19
KR101434400B1 KR101434400B1 (ko) 2014-08-27

Family

ID=41505027

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080066541A KR101434400B1 (ko) 2008-07-09 2008-07-09 불휘발성 메모리 장치 및 메모리 시스템 및 그것의 관리방법

Country Status (3)

Country Link
US (1) US8116160B2 (ko)
KR (1) KR101434400B1 (ko)
CN (1) CN101673580B (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014004184A1 (en) * 2012-06-26 2014-01-03 Lsi Corporation Fast tracking for flash channels
KR20140028559A (ko) * 2012-08-29 2014-03-10 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
US9239754B2 (en) 2012-08-04 2016-01-19 Seagate Technology Llc Single read based soft-decision decoding of non-volatile memory
US9430154B2 (en) 2012-05-04 2016-08-30 Seagate Technology Llc Zero-one balance management in a solid-state disk controller
US9741402B2 (en) 2015-11-18 2017-08-22 SK Hynix Inc. Data storage device and operating method thereof
CN109509490A (zh) * 2016-01-12 2019-03-22 三星电子株式会社 使用非线性滤波方案的存储器系统及其读取方法

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8355280B2 (en) 2010-03-09 2013-01-15 Samsung Electronics Co., Ltd. Data storage system having multi-bit memory device and operating method thereof
KR101875142B1 (ko) * 2011-02-17 2018-07-06 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 읽기 방법
KR101785007B1 (ko) 2011-06-14 2017-11-07 삼성전자주식회사 멀티-비트 메모리 장치를 포함한 데이터 저장 시스템 및 그것의 온-칩 버퍼 프로그램 방법
KR101845510B1 (ko) * 2011-10-25 2018-04-05 삼성전자주식회사 반도체 저장 장치 및 시스템
US8582381B2 (en) 2012-02-23 2013-11-12 SanDisk Technologies, Inc. Temperature based compensation during verify operations for non-volatile storage
US8885416B2 (en) 2013-01-30 2014-11-11 Sandisk Technologies Inc. Bit line current trip point modulation for reading nonvolatile storage elements
US9053810B2 (en) 2013-03-08 2015-06-09 Sandisk Technologies Inc. Defect or program disturb detection with full data recovery capability
CN104346236B (zh) * 2013-08-06 2018-03-23 慧荣科技股份有限公司 数据储存装置及其数据维护方法
CN103617809A (zh) * 2013-12-06 2014-03-05 上海新储集成电路有限公司 一种可就地执行的非挥发存储器
KR102244618B1 (ko) 2014-02-21 2021-04-26 삼성전자 주식회사 플래시 메모리 시스템 및 플래시 메모리 시스템의 제어 방법
KR102211126B1 (ko) 2014-04-17 2021-02-02 삼성전자주식회사 동작 성능을 조절하는 메모리 시스템 및 메모리 시스템의 동작방법
US20160203877A1 (en) 2015-01-08 2016-07-14 Delphi Technologies, Inc. Memory device with data validity check
KR20160095468A (ko) * 2015-02-03 2016-08-11 에스케이하이닉스 주식회사 반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
US10192614B2 (en) 2015-10-30 2019-01-29 Seagate Technology Llc Adaptive read threshold voltage tracking with gap estimation between default read threshold voltages
US10347343B2 (en) 2015-10-30 2019-07-09 Seagate Technology Llc Adaptive read threshold voltage tracking with separate characterization on each side of voltage distribution about distribution mean
KR102513505B1 (ko) * 2016-01-29 2023-03-24 에스케이하이닉스 주식회사 비휘발성 메모리 장치, 그것을 포함하는 데이터 저장 장치의 동작 방법
KR102456118B1 (ko) * 2016-02-24 2022-10-19 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US11574691B2 (en) 2016-02-24 2023-02-07 Samsung Electronics Co., Ltd. Memory device and memory system
KR102458918B1 (ko) 2016-02-24 2022-10-25 삼성전자주식회사 메모리 장치 및 메모리 시스템
US9715937B1 (en) * 2016-06-15 2017-07-25 Sandisk Technologies Llc Dynamic tuning of first read countermeasures
DE102017113967A1 (de) * 2016-09-26 2018-03-29 Sandisk Technologies Llc Adaptiver betrieb von 3-d-speicher
US10373656B2 (en) * 2016-09-26 2019-08-06 Toshiba Memory Corporation Memory system that carries out temperature-based access to a memory chip
KR102489551B1 (ko) 2018-03-23 2023-01-17 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
US10446237B1 (en) * 2018-06-29 2019-10-15 Micron Technology, Inc. Temperature sensitive NAND programming
US11137808B2 (en) 2018-08-31 2021-10-05 Micron Technology, Inc. Temperature compensation in a memory system
US10852953B2 (en) 2018-10-25 2020-12-01 Micron Technology, Inc. Dynamic temperature compensation in a memory component

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3648304B2 (ja) * 1995-11-17 2005-05-18 株式会社東芝 不揮発性半導体記憶装置
JPH10275492A (ja) * 1997-03-31 1998-10-13 Sanyo Electric Co Ltd 不揮発性メモリを用いた温度検出装置
JPH11297084A (ja) * 1998-04-08 1999-10-29 Hitachi Ltd 半導体装置
US6400638B1 (en) * 2000-02-25 2002-06-04 Advanced Micro Devices, Inc. Wordline driver for flash memory read mode
US6205074B1 (en) * 2000-02-29 2001-03-20 Advanced Micro Devices, Inc. Temperature-compensated bias generator
US6791865B2 (en) * 2002-09-03 2004-09-14 Hewlett-Packard Development Company, L.P. Memory device capable of calibration and calibration methods therefor
US6839281B2 (en) * 2003-04-14 2005-01-04 Jian Chen Read and erase verify methods and circuits suitable for low voltage non-volatile memories
JP2005285197A (ja) * 2004-03-29 2005-10-13 Renesas Technology Corp 半導体記憶装置
JP2006065945A (ja) * 2004-08-26 2006-03-09 Renesas Technology Corp 不揮発性半導体記憶装置および半導体集積回路装置
ITMI20042292A1 (it) * 2004-11-26 2005-02-26 Atmel Corp Metodo e sistema per la regolazione di un valore della tensione di programma durante la programmazione di un dispositivo di memoria a livelli multipli
EP1729302B1 (en) * 2005-05-31 2019-01-02 Micron Technology, Inc. A circuit for retrieving data stored in semiconductor memory cells
US7342831B2 (en) * 2006-06-16 2008-03-11 Sandisk Corporation System for operating non-volatile memory using temperature compensation of voltages of unselected word lines and select gates
US7751253B2 (en) * 2008-03-17 2010-07-06 Micron Technology, Inc. Analog sensing of memory cells with a source follower driver in a semiconductor memory device
KR101108906B1 (ko) * 2008-03-17 2012-02-06 엘피다 메모리 가부시키가이샤 단일-종단 감지 증폭기를 갖는 반도체 디바이스
KR101050699B1 (ko) * 2008-04-04 2011-07-20 엘피다 메모리 가부시키가이샤 반도체 메모리 디바이스
US7889575B2 (en) * 2008-09-22 2011-02-15 Sandisk Corporation On-chip bias voltage temperature coefficient self-calibration mechanism
US7974146B2 (en) * 2008-12-19 2011-07-05 Micron Technology, Inc. Wordline temperature compensation

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9430154B2 (en) 2012-05-04 2016-08-30 Seagate Technology Llc Zero-one balance management in a solid-state disk controller
US10002046B2 (en) 2012-05-04 2018-06-19 Seagate Technology Llc Zero-one balance management in a solid-state disk controller
WO2014004184A1 (en) * 2012-06-26 2014-01-03 Lsi Corporation Fast tracking for flash channels
US9239754B2 (en) 2012-08-04 2016-01-19 Seagate Technology Llc Single read based soft-decision decoding of non-volatile memory
KR20140028559A (ko) * 2012-08-29 2014-03-10 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
US9741402B2 (en) 2015-11-18 2017-08-22 SK Hynix Inc. Data storage device and operating method thereof
CN109509490A (zh) * 2016-01-12 2019-03-22 三星电子株式会社 使用非线性滤波方案的存储器系统及其读取方法
CN109509490B (zh) * 2016-01-12 2023-04-07 三星电子株式会社 使用非线性滤波方案的存储器系统及其读取方法

Also Published As

Publication number Publication date
CN101673580A (zh) 2010-03-17
KR101434400B1 (ko) 2014-08-27
US8116160B2 (en) 2012-02-14
US20100008151A1 (en) 2010-01-14
CN101673580B (zh) 2015-06-24

Similar Documents

Publication Publication Date Title
KR101434400B1 (ko) 불휘발성 메모리 장치 및 메모리 시스템 및 그것의 관리방법
US8238185B2 (en) Non-volatile memory device having temperature compensator and memory system thereof
KR100891005B1 (ko) 고온 스트레스로 인한 읽기 마진의 감소를 보상하기 위한플래시 메모리 장치 및 그것의 읽기 전압 조정 방법
KR100837282B1 (ko) 비휘발성 메모리 장치, 그것을 포함하는 메모리 시스템,그것의 프로그램 방법 및 읽기 방법
JP5280757B2 (ja) フラッシュメモリシステム及びそのエラー訂正方法
US8499217B2 (en) Memory device and error control codes decoding method
KR101633048B1 (ko) 메모리 시스템 및 그것의 데이터 처리 방법
KR101578511B1 (ko) 리드 전압 설정 방법
US8321765B2 (en) Method of reading data in non-volatile memory device
US7672162B2 (en) Non-volatile memory device, memory system, and LSB read method
US8332726B2 (en) Non-volatile semiconductor memory device
US7898853B2 (en) Multi-bit data memory system and read operation
US20090164710A1 (en) Semiconductor memory system and access method thereof
US10395754B2 (en) Method for decoding bits in a solid state drive, and related solid state drive
US8391076B2 (en) Nonvolatile memory device using interleaving technology and programming method thereof
US20100128532A1 (en) Nonvolatile memory device and programming method
JP2013033591A (ja) 不揮発性メモリ素子とその自己補償方法
WO2014194141A1 (en) Reading voltage calculation in solid-state storage devices
US7864574B2 (en) Memory device and memory programming method
KR20120030281A (ko) 플래시 메모리 장치, 및 그의 프로그램 검증 방법
KR20100127406A (ko) 저장 장치 및 그것의 읽기 방법
KR20110015279A (ko) 아날로그 신호를 출력하는 불휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템
US20150286527A1 (en) Solid state drive and associated error check and correction method
KR102635348B1 (ko) 불휘발성 메모리 장치의 동작 방법 및 스토리지 장치
US9224479B1 (en) Threshold voltage adjustment in solid state memory

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180731

Year of fee payment: 5